<?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>51456</bug_id>
          
          <creation_ts>2010-12-22 02:20:21 -0800</creation_ts>
          <short_desc>Introduce FontMetrics abstraction</short_desc>
          <delta_ts>2011-01-25 06:22:02 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Text</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>52812</dependson>
    
    <dependson>52960</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>abarth</cc>
    
    <cc>buildbot</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>hyatt</cc>
    
    <cc>jberlin</cc>
    
    <cc>krit</cc>
    
    <cc>mitz</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ossy</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>325426</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-22 02:20:21 -0800</bug_when>
    <thetext>In order to fix several SVG bugs, regarding very small font sizes, I&apos;d ideally have access to floating-point ascent/descent information. SimpleFontData stores lineGap/lineHeight/ascent/descent as integers at the moment. For CG the ascent/descent is actually a floating-point number that (integerAscent scaled according to emPerUnits, multiplied with pointSize == floatAscent) gets rounded using lroundf and then stored as integer.

Just changing the floats to integers, and storing accurate ascent/descent/.. information is not easily doable, as the int ascent() accessors would need to round the float m_ascent, every time on access.
That means for HTML layout (where we only need integers atm) we&apos;d round much more often than necessary.
Storing both int and float variants of the metrics in Font, seems also redundant and costly.

I&apos;m proposing a new FontMetrics class, that holds floating-point values for lineGap/lineHeight/ascent/descent, plus another IntegerFontMetrics class, that holds rounded integers.
The IntegerFontMetrics class is dynamically created and stored as OwnPtr in FontMetrics. Whenever someone accesses the int versions of ascent/descent/etc.. that datastructure is created
and stored in FontMetrics. Follow-up calls to ascent/descent, just return the cached integer, no need to round again.

Of course that will double the amount of memory to hold font metrics, in the worst-case, but gives us the ability to expose accurate ascent/descent/lineHeight/lineGap values for users that need it -&gt; SVG.
I&apos;ve worked on this the last weeks, and could fix all bugs related to small-font usages &amp; SVG with this approach.

Stripped down my current work, to a patch which just introduces FontMetrics, w/o any functional changes.
I&apos;m open for all ideas, on how to make it better... uploading the patch to discuss soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325504</commentid>
    <comment_count>1</comment_count>
      <attachid>77220</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-22 08:32:58 -0800</bug_when>
    <thetext>Created attachment 77220
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325509</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-22 08:46:44 -0800</bug_when>
    <thetext>Attachment 77220 did not build on chromium:
Build output: http://queues.webkit.org/results/7231100</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325511</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-22 08:48:40 -0800</bug_when>
    <thetext>Attachment 77220 did not build on gtk:
Build output: http://queues.webkit.org/results/7333056</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325512</commentid>
    <comment_count>4</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2010-12-22 08:48:46 -0800</bug_when>
    <thetext>Attachment 77220 did not build on qt:
Build output: http://queues.webkit.org/results/7284072</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325514</commentid>
    <comment_count>5</comment_count>
    <who name="">mitz</who>
    <bug_when>2010-12-22 08:57:37 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; In order to fix several SVG bugs, regarding very small font sizes, I&apos;d ideally have access to floating-point ascent/descent information. SimpleFontData stores lineGap/lineHeight/ascent/descent as integers at the moment. For CG the ascent/descent is actually a floating-point number that (integerAscent scaled according to emPerUnits, multiplied with pointSize == floatAscent) gets rounded using lroundf and then stored as integer.
&gt; 
&gt; Just changing the floats to integers, and storing accurate ascent/descent/.. information is not easily doable, as the int ascent() accessors would need to round the float m_ascent, every time on access.

I am not sure I understand why that would not be easily doable. Can you explain?

&gt; That means for HTML layout (where we only need integers atm) we&apos;d round much more often than necessary.

How much more often?

&gt; Storing both int and float variants of the metrics in Font, seems also redundant and costly.

Okay…

&gt; 
&gt; I&apos;m proposing a new FontMetrics class, that holds floating-point values for lineGap/lineHeight/ascent/descent, plus another IntegerFontMetrics class, that holds rounded integers.
&gt; The IntegerFontMetrics class is dynamically created and stored as OwnPtr in FontMetrics. Whenever someone accesses the int versions of ascent/descent/etc.. that datastructure is created
&gt; and stored in FontMetrics. Follow-up calls to ascent/descent, just return the cached integer, no need to round again.

So, if I understand correctly, with the rare exception of fonts used only in SVG, all fonts will store both the floating point and integer values. That seems to be at least as “redundant and costly” as just adding the floating point data members alongside the integer ones.

&gt; Of course that will double the amount of memory to hold font metrics, in the worst-case, but gives us the ability to expose accurate ascent/descent/lineHeight/lineGap values for users that need it -&gt; SVG.
&gt; I&apos;ve worked on this the last weeks, and could fix all bugs related to small-font usages &amp; SVG with this approach.
&gt; 
&gt; Stripped down my current work, to a patch which just introduces FontMetrics, w/o any functional changes.
&gt; I&apos;m open for all ideas, on how to make it better... uploading the patch to discuss soon.

I am not convinced that this is the best approach to take.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325531</commentid>
    <comment_count>6</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-22 09:53:25 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #0)
&gt; &gt; In order to fix several SVG bugs, regarding very small font sizes, I&apos;d ideally have access to floating-point ascent/descent information. SimpleFontData stores lineGap/lineHeight/ascent/descent as integers at the moment. For CG the ascent/descent is actually a floating-point number that (integerAscent scaled according to emPerUnits, multiplied with pointSize == floatAscent) gets rounded using lroundf and then stored as integer.
&gt; &gt; 
&gt; &gt; Just changing the floats to integers, and storing accurate ascent/descent/.. information is not easily doable, as the int ascent() accessors would need to round the float m_ascent, every time on access.
&gt; 
&gt; I am not sure I understand why that would not be easily doable. Can you explain?
It&apos;s easy doable, sorry, but I think we&apos;d round a lot more than now..

&gt; 
&gt; &gt; That means for HTML layout (where we only need integers atm) we&apos;d round much more often than necessary.
&gt; 
&gt; How much more often?
On every access of any font metrics like ascent/descent. During each layout call..

&gt; 
&gt; &gt; Storing both int and float variants of the metrics in Font, seems also redundant and costly.
&gt; 
&gt; Okay…
&gt; 
&gt; &gt; 
&gt; &gt; I&apos;m proposing a new FontMetrics class, that holds floating-point values for lineGap/lineHeight/ascent/descent, plus another IntegerFontMetrics class, that holds rounded integers.
&gt; &gt; The IntegerFontMetrics class is dynamically created and stored as OwnPtr in FontMetrics. Whenever someone accesses the int versions of ascent/descent/etc.. that datastructure is created
&gt; &gt; and stored in FontMetrics. Follow-up calls to ascent/descent, just return the cached integer, no need to round again.
&gt; 
&gt; So, if I understand correctly, with the rare exception of fonts used only in SVG, all fonts will store both the floating point and integer values. That seems to be at least as “redundant and costly” as just adding the floating point data members alongside the integer ones.
Yeah it&apos;s not a good approach, it only avoids the cost of storing both integer &amp; float for SVG... for HTML it doubles the cost, so it&apos;s not good.
 
&gt; I am not convinced that this is the best approach to take.
I agree, I mostly uploaded it to discuss the issue.
Another option would be to use a union { float f; int i; } and to decide upon creation of the FontMetrics object, wheter floating point or integer accurancy is desired. That would only require rounding the incoming float values once, if integers are wanted, but it makes it impossible to reconstruct floating-point ascent/descent values, for the Font object, once constructed with IntegerMetrics.

The most easy approach would be to use int ascent() const { return lroundf(m_ascent); } of course, but I was worried that it would be a performance decrease, so I thought that maybe it&apos;s a better trade-off to use more memory for the Font object, rather than decreasing performance.
Note, I did not benchmark this at all, it&apos;s just a feeling.

If I upload another, simpler version, which just does the rounding on every invocation, would you be able to run it through Apples PLT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325575</commentid>
    <comment_count>7</comment_count>
      <attachid>77235</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-22 10:55:10 -0800</bug_when>
    <thetext>Created attachment 77235
Patch v2

The easier way: always round, don&apos;t cache an IntegerFontMetrics object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325589</commentid>
    <comment_count>8</comment_count>
      <attachid>77235</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-12-22 11:16:09 -0800</bug_when>
    <thetext>Comment on attachment 77235
Patch v2

There should be no need to add a new class and touch dozens of files for this. Why not just start by rounding in the accessors, and measuring performance?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325591</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-22 11:19:20 -0800</bug_when>
    <thetext>Attachment 77235 did not build on chromium:
Build output: http://queues.webkit.org/results/7252110</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325601</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-22 11:29:50 -0800</bug_when>
    <thetext>Attachment 77235 did not build on gtk:
Build output: http://queues.webkit.org/results/7306109</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325602</commentid>
    <comment_count>11</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-22 11:30:47 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 77235 [details])
&gt; There should be no need to add a new class and touch dozens of files for this. Why not just start by rounding in the accessors, and measuring performance?
Well, I still think introducing a FontMetrics class is cleaner, than duplicating each accessor in Font and SimpleFontData. Especially if I want to introduce floatAscent/floatDescent/floatLineGap/floatLineSpacing methods, I&apos;d need to add them to both Font and SimpleFontData, which is a bad design. The metrics should go into their own class.

Of course, to just measure performance it&apos;s not needed, but I have already written it, so why not?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325643</commentid>
    <comment_count>12</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2010-12-22 12:47:37 -0800</bug_when>
    <thetext>Attachment 77235 did not build on win:
Build output: http://queues.webkit.org/results/7272105</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325987</commentid>
    <comment_count>13</comment_count>
      <attachid>77315</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-23 01:39:33 -0800</bug_when>
    <thetext>Created attachment 77315
Patch v3

Patch v3: Attempt to make it build on more platform.
Is it really unacceptable to just apply this patch and try a PLT run with it?? It at least works fine on Mac, at the moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325992</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-23 02:01:04 -0800</bug_when>
    <thetext>Attachment 77315 did not build on chromium:
Build output: http://queues.webkit.org/results/7214141</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>325995</commentid>
    <comment_count>15</comment_count>
      <attachid>77317</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-23 02:14:57 -0800</bug_when>
    <thetext>Created attachment 77317
Patch v4

Uploading Patch v4, hopefully chromium build works now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326020</commentid>
    <comment_count>16</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2010-12-23 04:09:34 -0800</bug_when>
    <thetext>Attachment 77317 did not build on win:
Build output: http://queues.webkit.org/results/7211127</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326877</commentid>
    <comment_count>17</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-26 04:44:19 -0800</bug_when>
    <thetext>I performance tested this for a while (without PLT, of course) and didn&apos;t notice any measurable slowdown.

I created an artifical testcase, compiled w/o optimizations:
#include &lt;math.h&gt;

class FooInt {
public:
    FooInt(float bar)
        : m_bar(lroundf(bar))
    {
    }

    int bar() const { return m_bar; }

private:
    int m_bar;
};


class FooFloat {
public:
    FooFloat(float bar)
        : m_bar(bar)
    {
    }

    int bar() const { return lroundf(m_bar); }

private:
    float m_bar;
};

int main()
{
    int result = 0;
    FooInt foo(1.7f);
    for (long i = 0; i &lt; 1e8; ++i) {
        result = foo.bar();
    }
}

Results:
using FooFloat(1.7f) and 1e8 calls: 1.531s (1e8 lroundf calls)
using FooInt(1.7f) and 1e8 calls: 0.6754s (1 lroundf call)

This is artifical of course, but it gives a rough estimation of the slowdown, but of course 1e8 calls is _a lot_. The usual count is several orders of magnitudes lower. I suspect that&apos;s why I didn&apos;t notice any slowdown when runing DRT.

I tested 10 DRT runs w/o the patch and 10 with the patch, and there was no difference, except the usual deviations betweens runs.

I&apos;ll upload a new patch soon, fixing the win build, hopefully the approach is sane enough now to get it reviewed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326878</commentid>
    <comment_count>18</comment_count>
      <attachid>77452</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-26 04:47:45 -0800</bug_when>
    <thetext>Created attachment 77452
Patch v5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326880</commentid>
    <comment_count>19</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2010-12-26 05:44:34 -0800</bug_when>
    <thetext>Attachment 77452 did not build on win:
Build output: http://queues.webkit.org/results/7292189</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326881</commentid>
    <comment_count>20</comment_count>
      <attachid>77453</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-26 06:47:01 -0800</bug_when>
    <thetext>Created attachment 77453
Patch v6

Forgot to alter files in WebKit/win, uploading patch v6, let&apos;s see if win build is fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326887</commentid>
    <comment_count>21</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2010-12-26 08:14:07 -0800</bug_when>
    <thetext>Attachment 77453 did not build on win:
Build output: http://queues.webkit.org/results/7274174</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327012</commentid>
    <comment_count>22</comment_count>
      <attachid>77491</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-27 04:44:55 -0800</bug_when>
    <thetext>Created attachment 77491
Patch v7

Fixed another win problem. void FontMetrics(..) clashes with FontMetrics class, use WebCore:: prefix, hopefully it builds now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327016</commentid>
    <comment_count>23</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2010-12-27 05:44:11 -0800</bug_when>
    <thetext>Attachment 77491 did not build on win:
Build output: http://queues.webkit.org/results/7295199</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327030</commentid>
    <comment_count>24</comment_count>
      <attachid>77501</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-27 06:50:50 -0800</bug_when>
    <thetext>Created attachment 77501
Patch v8

Fix WebKit2/win build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327031</commentid>
    <comment_count>25</comment_count>
      <attachid>77501</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-27 06:53:01 -0800</bug_when>
    <thetext>Comment on attachment 77501
Patch v8

Going to rebase to trunk first, the patch doesn&apos;t seem to apply on cr-mac-ews otherhwise, obsoleting the patch in the meanwhile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327032</commentid>
    <comment_count>26</comment_count>
      <attachid>77502</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-27 06:57:47 -0800</bug_when>
    <thetext>Created attachment 77502
Patch v9

Rebased against trunk, hopefully patch v9 now builds everywhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327044</commentid>
    <comment_count>27</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-27 08:32:05 -0800</bug_when>
    <thetext>I don&apos;t understand why mac-ews and cr-mac-ews reject this patch. It tells me:

patching file WebCore/WebCore.vcproj/WebCore.vcproj
Hunk #1 FAILED at 26381.
1 out of 1 hunk FAILED -- saving rejects to file WebCore/WebCore.vcproj/WebCore.vcproj.rej

I&apos;m on trunk, and the patch just works fine on the other ews bots:

nikolaszimmermann ~/Coding/WebKit &gt; svn diff WebCore/WebCore.vcproj
Index: WebCore/WebCore.vcproj/WebCore.vcproj
===================================================================
--- WebCore/WebCore.vcproj/WebCore.vcproj	(revision 74683)
+++ WebCore/WebCore.vcproj/WebCore.vcproj	(working copy)
@@ -26381,6 +26381,10 @@
 					&gt;
 				&lt;/File&gt;
 				&lt;File
+					RelativePath=&quot;..\platform\graphics\FontMetrics.h&quot;
+					&gt;
+				&lt;/File&gt;
+				&lt;File
 					RelativePath=&quot;..\platform\graphics\FontRenderingMode.h&quot;
 					&gt;
 				&lt;/File&gt;
nikolaszimmermann ~/Coding/WebKit &gt; svn up WebCore/WebCore.vcproj
At revision 74683.

Any idea?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327052</commentid>
    <comment_count>28</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-12-27 09:02:56 -0800</bug_when>
    <thetext>(In reply to comment #27)
&gt; I don&apos;t understand why mac-ews and cr-mac-ews reject this patch. It tells me:
&gt; 
&gt; patching file WebCore/WebCore.vcproj/WebCore.vcproj
&gt; Hunk #1 FAILED at 26381.
&gt; 1 out of 1 hunk FAILED -- saving rejects to file WebCore/WebCore.vcproj/WebCore.vcproj.rej
&gt; 
&gt; I&apos;m on trunk, and the patch just works fine on the other ews bots:
&gt; 
&gt; nikolaszimmermann ~/Coding/WebKit &gt; svn diff WebCore/WebCore.vcproj
&gt; Index: WebCore/WebCore.vcproj/WebCore.vcproj
&gt; ===================================================================
&gt; --- WebCore/WebCore.vcproj/WebCore.vcproj    (revision 74683)
&gt; +++ WebCore/WebCore.vcproj/WebCore.vcproj    (working copy)
&gt; @@ -26381,6 +26381,10 @@
&gt;                      &gt;
&gt;                  &lt;/File&gt;
&gt;                  &lt;File
&gt; +                    RelativePath=&quot;..\platform\graphics\FontMetrics.h&quot;
&gt; +                    &gt;
&gt; +                &lt;/File&gt;
&gt; +                &lt;File
&gt;                      RelativePath=&quot;..\platform\graphics\FontRenderingMode.h&quot;
&gt;                      &gt;
&gt;                  &lt;/File&gt;
&gt; nikolaszimmermann ~/Coding/WebKit &gt; svn up WebCore/WebCore.vcproj
&gt; At revision 74683.
&gt; 
&gt; Any idea?

Not sure if you hit the same problem like me, but I had this with some editors (and not always, just sometimes). It helped to use another editor. I think I took vi.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327068</commentid>
    <comment_count>29</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-27 09:55:23 -0800</bug_when>
    <thetext>(In reply to comment #28)
&gt; &gt; 
&gt; &gt; Any idea?
&gt; 
&gt; Not sure if you hit the same problem like me, but I had this with some editors (and not always, just sometimes). It helped to use another editor. I think I took vi.

It bothers me, that only the mac bots can&apos;t process it. Anyway, I&apos;m going to revert the file and reedit, then resubmit. Let&apos;s see..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327069</commentid>
    <comment_count>30</comment_count>
      <attachid>77512</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-27 09:55:48 -0800</bug_when>
    <thetext>Created attachment 77512
Patch v10</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327082</commentid>
    <comment_count>31</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-12-27 11:06:48 -0800</bug_when>
    <thetext>(In reply to comment #30)
&gt; Created an attachment (id=77512) [details]
&gt; Patch v10

You&apos;re right, just the two bots can&apos;t apply the patch. Are they not up to trunk?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327535</commentid>
    <comment_count>32</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-12-29 04:22:54 -0800</bug_when>
    <thetext>Is anyone available for a real review? Simon? David? Dan?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328179</commentid>
    <comment_count>33</comment_count>
      <attachid>77512</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-12-31 09:04:43 -0800</bug_when>
    <thetext>Comment on attachment 77512
Patch v10

I don&apos;t think FontMetrics warrants its own class and header. I think it should just be a struct in Font.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328633</commentid>
    <comment_count>34</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-01-03 10:41:16 -0800</bug_when>
    <thetext>(In reply to comment #33)
&gt; (From update of attachment 77512 [details])
&gt; I don&apos;t think FontMetrics warrants its own class and header. I think it should just be a struct in Font.h.
I&apos;m a huge fan of our one-class-one-file policy. So even though a struct in Font.h might sound convienent, it&apos;s violating our style guidelines.


nikolaszimmermann ~/Coding/WebKit/WebCore/platform/graphics &gt; ls Font*.h
Font.h              FontCache.h         FontDescription.h   FontFamily.h        FontOrientation.h   FontSelector.h      FontTraitsMask.h
FontBaseline.h      FontData.h          FontFallbackList.h       FontRenderingMode.h FontSmoothingMode.h

Why should adding FontMetrics.h be any problem?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329498</commentid>
    <comment_count>35</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-01-05 03:31:18 -0800</bug_when>
    <thetext>Simon, did I convince you?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335924</commentid>
    <comment_count>36</comment_count>
      <attachid>77512</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-01-18 10:37:09 -0800</bug_when>
    <thetext>Comment on attachment 77512
Patch v10

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

I&apos;m not sure why a struct is violating the style guidelines. Sometime a struct is the better choice. But in this case I agree to Niko, because this code makes use of various functions (with more than one line) and this should really be in a header.

I&apos;d like to see another run r-, but not because of the header itself.

&gt; WebCore/platform/graphics/FontMetrics.h:19
&gt; +/*
&gt; +    Copyright (C) Research In Motion Limited 2010. All rights reserved.
&gt; +
&gt; +    This library is free software; you can redistribute it and/or
&gt; +    modify it under the terms of the GNU Library General Public
&gt; +    License as published by the Free Software Foundation; either
&gt; +    version 2 of the License, or (at your option) any later version.
&gt; +
&gt; +    This library is distributed in the hope that it will be useful,
&gt; +    but WITHOUT ANY WARRANTY; without even the implied warranty of
&gt; +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
&gt; +    Library General Public License for more details.
&gt; +
&gt; +    You should have received a copy of the GNU Library General Public License
&gt; +    aint with this library; see the file COPYING.LIB.  If not, write to
&gt; +    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
&gt; +    Boston, MA 02110-1301, USA.
&gt; +*/
&gt; +

Can you start every line with a space and a star? Also why do you copy&amp;paste wrong licenses? aint? What is aint? Do you want to save memory? ;-)

&gt; WebCore/platform/graphics/FontMetrics.h:112
&gt; +private:

Do you think this &apos;private:&apos; is helpful? I don&apos;t.

&gt; WebCore/platform/graphics/SimpleFontData.cpp:85
&gt; +    int xHeight = static_cast&lt;int&gt;(svgFontFaceElement-&gt;xHeight() * scale);
&gt; +    int ascent = static_cast&lt;int&gt;(svgFontFaceElement-&gt;ascent() * scale);
&gt; +    int descent = static_cast&lt;int&gt;(svgFontFaceElement-&gt;descent() * scale);

why not floorf?

&gt; WebCore/platform/graphics/SimpleFontData.cpp:86
&gt; +    int lineGap = 0.1f * size;

This doesn&apos;t cause a compiler warning?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>337964</commentid>
    <comment_count>37</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-01-21 02:48:05 -0800</bug_when>
    <thetext>(In reply to comment #36)
&gt; (From update of attachment 77512 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=77512&amp;action=review
&gt; 
&gt; I&apos;m not sure why a struct is violating the style guidelines. Sometime a struct is the better choice. But in this case I agree to Niko, because this code makes use of various functions (with more than one line) and this should really be in a header.
Okay.
 
&gt; I&apos;d like to see another run r-, but not because of the header itself.
&gt; 
&gt; Can you start every line with a space and a star? Also why do you copy&amp;paste wrong licenses? aint? What is aint? Do you want to save memory? ;-)
Fixed.

&gt; 
&gt; &gt; WebCore/platform/graphics/FontMetrics.h:112
&gt; &gt; +private:
&gt; 
&gt; Do you think this &apos;private:&apos; is helpful? I don&apos;t.
Removed.

&gt; &gt; WebCore/platform/graphics/SimpleFontData.cpp:85
&gt; &gt; +    int xHeight = static_cast&lt;int&gt;(svgFontFaceElement-&gt;xHeight() * scale);
&gt; &gt; +    int ascent = static_cast&lt;int&gt;(svgFontFaceElement-&gt;ascent() * scale);
&gt; &gt; +    int descent = static_cast&lt;int&gt;(svgFontFaceElement-&gt;descent() * scale);
&gt; why not floorf?
There&apos;s a FIXME just before the lines to use floating-point FontMetrics, in a follow-up patch
Note the static_cast&lt;int&gt;(..) is existing code - changing this causes multiple SVGFonts DRT differences (progressions, but I want to land them seperated).

&gt; 
&gt; &gt; WebCore/platform/graphics/SimpleFontData.cpp:86
&gt; &gt; +    int lineGap = 0.1f * size;
&gt; 
&gt; This doesn&apos;t cause a compiler warning?
Wrapped in the same static_cast&lt;int&gt;, with the same warning, that this is gonne change soon to use floating-point metrics, fixing bugs with small font sizes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338033</commentid>
    <comment_count>38</comment_count>
      <attachid>79730</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-01-21 06:45:02 -0800</bug_when>
    <thetext>Created attachment 79730
Patch v11

Updated patch v11 to trunk. Save memory in FontMetrics by not storing but computing the lineSpacing() from the lineGap / ascent / descent, remaining compatibility with existing DRT expectations.
Current assumption across most ports (mac/win/chromium/gtk...) is &quot;lineSpacing = lroundf(ascent) + lroundf(descent) + lroundf(lineGap)&quot;. In my previous patch I stored m_lineSpacing as &quot;lineSpacing = lroundf(floatAscent + floatDescent + floatLineGap)&quot; which lead to several changes in layout tests, which might be correct, but I don&apos;t want to cause any layout test changes with this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338035</commentid>
    <comment_count>39</comment_count>
      <attachid>79730</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-01-21 06:56:37 -0800</bug_when>
    <thetext>Comment on attachment 79730
Patch v11

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338561</commentid>
    <comment_count>40</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-01-22 03:48:04 -0800</bug_when>
    <thetext>Committed r76442: &lt;http://trac.webkit.org/changeset/76442&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338575</commentid>
    <comment_count>41</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-01-22 04:52:23 -0800</bug_when>
    <thetext>Reopening bug.
Landed cr-win build fix in r76443.

I broke several tests on the bot, due the last-minute changes regarding lineSpacing rounding.
I&apos;m going to rechek and post a follow-up patch, if that doesn&apos;t work out I&apos;m going to roll it out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338578</commentid>
    <comment_count>42</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-22 04:54:48 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/76442 might have broken Qt Linux Release
The following tests are not passing:
animations/missing-values-first-keyframe.html
animations/missing-values-last-keyframe.html
animations/state-at-end-event.html
css1/basic/class_as_selector.html
css1/basic/comments.html
css1/basic/containment.html
css1/basic/contextual_selectors.html
css1/basic/grouping.html
css1/basic/id_as_selector.html
css1/basic/inheritance.html
css1/box_properties/border.html
css1/box_properties/border_bottom.html
css1/box_properties/border_bottom_inline.html
css1/box_properties/border_bottom_width.html
css1/box_properties/border_bottom_width_inline.html
css1/box_properties/border_color.html
css1/box_properties/border_color_inline.html
css1/box_properties/border_inline.html
css1/box_properties/border_left.html
css1/box_properties/border_left_inline.html
css1/box_properties/border_left_width.html
css1/box_properties/border_left_width_inline.html
css1/box_properties/border_right.html
css1/box_properties/border_right_inline.html
css1/box_properties/border_right_width.html
css1/box_properties/border_right_width_inline.html
css1/box_properties/border_style.html
css1/box_properties/border_style_inline.html
css1/box_properties/border_top.html
css1/box_properties/border_top_inline.html
css1/box_properties/border_top_width.html
css1/box_properties/border_top_width_inline.html
css1/box_properties/border_width.html
css1/box_properties/border_width_inline.html
css1/box_properties/clear.html
css1/box_properties/clear_float.html
css1/box_properties/float.html
css1/box_properties/float_elements_in_series.html
css1/box_properties/float_margin.html
css1/box_properties/float_on_text_elements.html
css1/box_properties/height.html
css1/box_properties/margin.html
css1/box_properties/margin_bottom.html
css1/box_properties/margin_bottom_inline.html
css1/box_properties/margin_inline.html
css1/box_properties/margin_left.html
css1/box_properties/margin_left_inline.html
css1/box_properties/margin_right.html
css1/box_properties/margin_right_inline.html
css1/box_properties/margin_top.html
css1/box_properties/margin_top_inline.html
css1/box_properties/padding.html
css1/box_properties/padding_bottom.html
css1/box_properties/padding_bottom_inline.html
css1/box_properties/padding_inline.html
css1/box_properties/padding_left.html
css1/box_properties/padding_left_inline.html
css1/box_properties/padding_right.html
css1/box_properties/padding_right_inline.html
css1/box_properties/padding_top.html
css1/box_properties/padding_top_inline.html
css1/box_properties/width.html
css1/cascade/cascade_order.html
css1/cascade/important.html
css1/classification/display.html
css1/classification/list_style.html
css1/classification/list_style_image.html
css1/classification/list_style_position.html
css1/classification/list_style_type.html
css1/classification/white_space.html
css1/color_and_background/background.html
css1/color_and_background/background_attachment.html
css1/color_and_background/background_color.html
css1/color_and_background/background_image.html
css1/color_and_background/background_position.html
css1/color_and_background/background_repeat.html
css1/color_and_background/color.html
css1/conformance/forward_compatible_parsing.html
css1/font_properties/font.html
css1/font_properties/font_family.html
css1/font_properties/font_size.html
css1/font_properties/font_style.html
css1/font_properties/font_variant.html
css1/font_properties/font_weight.html
css1/formatting_model/canvas.html
css1/formatting_model/floating_elements.html
css1/formatting_model/height_of_lines.html
css1/formatting_model/horizontal_formatting.html
css1/formatting_model/inline_elements.html
css1/formatting_model/replaced_elements.html
css1/formatting_model/vertical_formatting.html
css1/pseudo/anchor.html
css1/pseudo/firstletter.html
css1/pseudo/firstline.html
css1/pseudo/multiple_pseudo_elements.html
css1/pseudo/pseudo_elements_in_selectors.html
css1/text_properties/letter_spacing.html
css1/text_properties/line_height.html
css1/text_properties/text_align.html
css1/text_properties/text_decoration.html
css1/text_properties/text_indent.html
css1/text_properties/text_transform.html
css1/text_properties/vertical_align.html
css1/text_properties/word_spacing.html
css1/units/color_units.html
css1/units/length_units.html
css1/units/percentage_units.html
css1/units/urls.html
css2.1/t010403-shand-border-00-c.html
css2.1/t010403-shand-font-00-b.html
css2.1/t010403-shand-font-01-b.html
css2.1/t040102-keywords-00-b.html
css2.1/t040102-keywords-01-b.html
css2.1/t040103-case-00-b.html
css2.1/t040103-case-01-c.html
css2.1/t040103-escapes-00-b.html
css2.1/t040103-escapes-01-b.html
css2.1/t040103-escapes-02-d.html
css2.1/t040103-escapes-03-b.html
css2.1/t040103-escapes-04-b.html
css2.1/t040103-escapes-05-c.html
css2.1/t040103-escapes-06-b.html
css2.1/t040103-escapes-07-b.html
css2.1/t040103-escapes-08-b.html
css2.1/t040103-ident-00-c.html
css2.1/t040103-ident-01-c.html
css2.1/t040103-ident-02-c.html
css2.1/t040103-ident-03-c.html
css2.1/t040103-ident-04-c.html
css2.1/t040103-ident-05-c.html
css2.1/t040103-ident-06-c.html
css2.1/t040103-ident-07-c.html
css2.1/t040103-ident-08-c.html
css2.1/t040103-ident-09-c.html
css2.1/t040103-ident-10-c.html
css2.1/t040103-ident-11-c.html
css2.1/t040103-ident-12-c.html
css2.1/t040103-ident-13-c.html
css2.1/t040105-atkeyw-00-b.html
css2.1/t040105-atkeyw-01-b.html
css2.1/t040105-atkeyw-02-b.html
css2.1/t040105-atrule-00-b.html
css2.1/t040105-atrule-01-b.html
css2.1/t040105-atrule-02-b.html
css2.1/t040105-atrule-03-b.html
css2.1/t040105-atrule-04-b.html
css2.1/t040105-import-00-b.html
css2.1/t040105-import-01-b.html
css2.1/t040105-import-10-b.html
css2.1/t040109-c17-comments-00-b.html
css2.1/t040109-c17-comments-01-b.html
css2.1/t0402-c71-fwd-parsing-00-f.html
css2.1/t0402-c71-fwd-parsing-01-f.html
css2.1/t0402-c71-fwd-parsing-02-f.html
css2.1/t0402-c71-fwd-parsing-03-f.html
css2.1/t0402-c71-fwd-parsing-04-f.html
css2.1/t0402-syntax-01-f.html
css2.1/t0402-syntax-02-f.html
css2.1/t0402-syntax-03-f.html
css2.1/t0402-syntax-04-f.html
css2.1/t0402-syntax-05-f.html
css2.1/t0402-syntax-06-f.html
css2.1/t040302-c61-ex-len-00-b-a.html
css2.1/t040302-c61-phys-len-00-b.html
css2.1/t040302-c61-rel-len-00-b-ag.html
css2.1/t040303-c62-percent-00-b-ag.html
css2.1/t040304-c64-uri-00-a-g.html
css2.1/t040306-c63-color-00-b-ag.html
css2.1/t040306-syntax-01-f.html
css2.1/t040307-syntax-01-b.html
css2.1/t050201-c12-grouping-00-b.html
css2.1/t0505-c16-descendant-00-e.html
css2.1/t0505-c16-descendant-01-e.html
css2.1/t0505-c16-descendant-02-e.html
css2.1/t050803-c14-classes-00-e.html
css2.1/t0509-c15-ids-00-a.html
css2.1/t0509-c15-ids-01-e.html
css2.1/t0509-id-sel-syntax-01-f.html
css2.1/t0509-id-sel-syntax-02-b.html
css2.1/t0510-c25-pseudo-elmnt-00-c.html
css2.1/t0511-c21-pseud-anch-00-e-i.html
css2.1/t0511-c21-pseud-link-00-e.html
css2.1/t0511-c21-pseud-link-01-e.html
css2.1/t051103-c21-activ-ln-00-e-i.html
css2.1/t051103-c21-focus-ln-00-e-i.html
css2.1/t051103-c21-hover-ln-00-e-i.html
css2.1/t051103-dom-hover-01-c-io.html
css2.1/t051103-dom-hover-02-c-io.html
css2.1/t0602-c13-inheritance-00-e.html
css2.1/t0602-inherit-bdr-pad-b-00.html
css2.1/t0603-c11-import-00-b.html
css2.1/t060401-c32-cascading-00-b.html
css2.1/t060402-c31-important-00-b.html
css2.1/t060403-c21-pseu-cls-00-e-i.html
css2.1/t060403-c21-pseu-id-00-e-i.html
css2.1/t0801-c412-hz-box-00-b-a.html
css2.1/t0803-c5501-imrgn-t-00-b-ag.html
css2.1/t0803-c5501-mrgn-t-00-b-a.html
css2.1/t0803-c5502-imrgn-r-00-b-ag.html
css2.1/t0803-c5502-imrgn-r-01-b-ag.html
css2.1/t0803-c5502-imrgn-r-02-b-a.html
css2.1/t0803-c5502-imrgn-r-03-b-a.html
css2.1/t0803-c5502-imrgn-r-04-b-ag.html
css2.1/t0803-c5502-imrgn-r-05-b-ag.html
css2.1/t0803-c5502-imrgn-r-06-b-ag.html
css2.1/t0803-c5502-mrgn-r-00-c-ag.html
css2.1/t0803-c5502-mrgn-r-01-c-a.html
css2.1/t0803-c5502-mrgn-r-02-c.html
css2.1/t0803-c5502-mrgn-r-03-c.html
css2.1/t0803-c5503-imrgn-b-00-b-a.html
css2.1/t0803-c5503-mrgn-b-00-b-a.html
css2.1/t0803-c5504-imrgn-l-00-b-ag.html
css2.1/t0803-c5504-imrgn-l-01-b-ag.html
css2.1/t0803-c5504-imrgn-l-02-b-ag.html
css2.1/t0803-c5504-imrgn-l-03-b-a.html
css2.1/t0803-c5504-imrgn-l-04-b-ag.html
css2.1/t0803-c5504-imrgn-l-05-b-ag.html
css2.1/t0803-c5504-imrgn-l-06-b-ag.html
css2.1/t0803-c5504-mrgn-l-00-c-ag.html
css2.1/t0803-c5504-mrgn-l-01-c-a.html
css2.1/t0803-c5504-mrgn-l-02-c.html
css2.1/t0803-c5504-mrgn-l-03-c.html
css2.1/t0803-c5505-imrgn-00-a-ag.html
css2.1/t0803-c5505-mrgn-00-b-ag.html
css2.1/t0803-c5505-mrgn-01-e-a.html
css2.1/t0803-c5505-mrgn-02-c.html
css2.1/t0803-c5505-mrgn-03-c-ag.html
css2.1/t080301-c411-vt-mrgn-00-b.html
css2.1/t0804-c5506-ipadn-t-00-b-a.html
css2.1/t0804-c5506-ipadn-t-01-b-a.html
css2.1/t0804-c5506-ipadn-t-02-b-a.html
css2.1/t0804-c5506-padn-t-00-b-a.html
css2.1/t0804-c5507-ipadn-r-00-b-ag.html
css2.1/t0804-c5507-ipadn-r-01-b-ag.html
css2.1/t0804-c5507-ipadn-r-03-b-a.html
css2.1/t0804-c5507-ipadn-r-04-b-ag.html
css2.1/t0804-c5507-padn-r-00-c-ag.html
css2.1/t0804-c5507-padn-r-01-c-a.html
css2.1/t0804-c5507-padn-r-02-f.html
css2.1/t0804-c5507-padn-r-03-f.html
css2.1/t0804-c5508-ipadn-b-00-b-a.html
css2.1/t0804-c5508-ipadn-b-01-f-a.html
css2.1/t0804-c5508-ipadn-b-02-b-a.html
css2.1/t0804-c5508-ipadn-b-03-b-a.html
css2.1/t0804-c5509-ipadn-l-00-b-ag.html
css2.1/t0804-c5509-ipadn-l-01-b-ag.html
css2.1/t0804-c5509-ipadn-l-02-b-ag.html
css2.1/t0804-c5509-ipadn-l-03-b-a.html
css2.1/t0804-c5509-ipadn-l-04-f-ag.html
css2.1/t0804-c5509-padn-l-00-b-ag.html
css2.1/t0804-c5509-padn-l-01-b-a.html
css2.1/t0804-c5509-padn-l-02-f.html
css2.1/t0804-c5509-padn-l-03-f-g.html
css2.1/t0804-c5510-ipadn-00-b-ag.html
css2.1/t0804-c5510-padn-00-b-ag.html
css2.1/t0804-c5510-padn-01-e-a.html
css2.1/t0804-c5510-padn-02-f.html
css2.1/t0805-c5511-brdr-tw-00-b.html
css2.1/t0805-c5511-brdr-tw-01-b-g.html
css2.1/t0805-c5511-brdr-tw-02-b.html
css2.1/t0805-c5511-brdr-tw-03-b.html
css2.1/t0805-c5511-ibrdr-tw-00-a.html
css2.1/t0805-c5512-brdr-rw-00-b.html
css2.1/t0805-c5512-brdr-rw-01-b-g.html
css2.1/t0805-c5512-brdr-rw-02-b.html
css2.1/t0805-c5512-brdr-rw-03-b.html
css2.1/t0805-c5512-ibrdr-rw-00-a.html
css2.1/t0805-c5513-brdr-bw-00-b.html
css2.1/t0805-c5513-brdr-bw-01-b-g.html
css2.1/t0805-c5513-brdr-bw-02-b.html
css2.1/t0805-c5513-brdr-bw-03-b.html
css2.1/t0805-c5513-ibrdr-bw-00-a.html
css2.1/t0805-c5514-brdr-lw-00-b.html
css2.1/t0805-c5514-brdr-lw-01-b-g.html
css2.1/t0805-c5514-brdr-lw-02-b.html
css2.1/t0805-c5514-brdr-lw-03-b.html
css2.1/t0805-c5514-ibrdr-lw-00-a.html
css2.1/t0805-c5515-brdr-w-00-a.html
css2.1/t0805-c5515-brdr-w-01-b-g.html
css2.1/t0805-c5515-brdr-w-02-b.html
css2.1/t0805-c5515-ibrdr-00-b.html
css2.1/t0805-c5516-brdr-c-00-a.html
css2.1/t0805-c5516-ibrdr-c-00-a.html
css2.1/t0805-c5517-brdr-s-00-c.html
css2.1/t0805-c5517-ibrdr-s-00-a.html
css2.1/t0805-c5518-brdr-t-00-a.html
css2.1/t0805-c5518-brdr-t-01-e.html
css2.1/t0805-c5518-ibrdr-t-00-a.html
css2.1/t0805-c5519-brdr-r-00-a.html
css2.1/t0805-c5519-brdr-r-01-e.html
css2.1/t0805-c5519-brdr-r-02-e.html
css2.1/t0805-c5519-ibrdr-r-00-a.html
css2.1/t0805-c5520-brdr-b-00-a.html
css2.1/t0805-c5520-brdr-b-01-e.html
css2.1/t0805-c5520-ibrdr-b-00-a.html
css2.1/t0805-c5521-brdr-l-00-a.html
css2.1/t0805-c5521-brdr-l-01-e.html
css2.1/t0805-c5521-brdr-l-02-e.html
css2.1/t0805-c5521-ibrdr-l-00-a.html
css2.1/t0805-c5522-brdr-00-b.html
css2.1/t0805-c5522-brdr-01-b-g.html
css2.1/t0805-c5522-ibrdr-00-a.html
css2.1/t090204-display-change-01-b-ao.html
css2.1/t090402-c42-ibx-pad-00-d-ag.html
css2.1/t0905-c414-flt-00-d.html
css2.1/t0905-c414-flt-01-d-g.html
css2.1/t0905-c414-flt-02-c.html
css2.1/t0905-c414-flt-03-c.html
css2.1/t0905-c414-flt-04-c.html
css2.1/t0905-c414-flt-fit-00-d.html
css2.1/t0905-c414-flt-wrap-00-e.html
css2.1/t0905-c414-flt-wrap-01-d-g.html
css2.1/t0905-c5525-fltblck-00-d-ag.html
css2.1/t0905-c5525-fltblck-01-d.html
css2.1/t0905-c5525-fltclr-00-c-ag.html
css2.1/t0905-c5525-fltcont-00-d-g.html
css2.1/t0905-c5525-fltinln-00-c-ag.html
css2.1/t0905-c5525-fltmrgn-00-c-ag.html
css2.1/t0905-c5525-fltmult-00-d-g.html
css2.1/t0905-c5525-fltwidth-00-c-g.html
css2.1/t0905-c5525-fltwidth-01-c-g.html
css2.1/t0905-c5525-fltwidth-02-c-g.html
css2.1/t0905-c5525-fltwidth-03-c-g.html
css2.1/t0905-c5525-fltwrap-00-b.html
css2.1/t0905-c5526-fltclr-00-c-ag.html
css2.1/t090501-c414-flt-00-d.html
css2.1/t090501-c414-flt-01-b.html
css2.1/t090501-c414-flt-02-d-g.html
css2.1/t090501-c414-flt-03-b-g.html
css2.1/t090501-c414-flt-ln-00-d.html
css2.1/t090501-c414-flt-ln-01-d-g.html
css2.1/t090501-c414-flt-ln-02-d.html
css2.1/t090501-c414-flt-ln-03-d.html
css2.1/t090501-c5525-flt-l-00-b-g.html
css2.1/t090501-c5525-flt-r-00-b-g.html
css2.1/t1002-c5523-width-00-b-g.html
css2.1/t1002-c5523-width-01-b-g.html
css2.1/t1002-c5523-width-02-b-g.html
css2.1/t100303-c412-blockw-00-d-ag.html
css2.1/t100304-c43-rpl-bbx-00-d-g.html
css2.1/t100304-c43-rpl-bbx-01-d-g.html
css2.1/t1004-c43-rpl-bbx-00-d-ag.html
css2.1/t1004-c5524-width-00-b-g.html
css2.1/t1005-c5524-width-00-b-g.html
css2.1/t1005-c5524-width-01-b-g.html
css2.1/t1008-c44-ln-box-03-d-ag.html
css2.1/t100801-c544-valgn-00-a-ag.html
css2.1/t100801-c544-valgn-02-d-agi.html
css2.1/t100801-c544-valgn-03-d-agi.html
css2.1/t100801-c544-valgn-04-d-agi.html
css2.1/t100801-c548-leadin-00-d-a.html
css2.1/t100801-c548-ln-ht-00-c-a.html
css2.1/t100801-c548-ln-ht-01-b-ag.html
css2.1/t100801-c548-ln-ht-03-d-ag.html
css2.1/t100801-c548-ln-ht-04-d-ag.html
css2.1/t1202-counter-00-b.html
css2.1/t1202-counter-01-b.html
css2.1/t1202-counter-02-b.html
css2.1/t1202-counter-03-b.html
css2.1/t1202-counter-04-b.html
css2.1/t1202-counter-05-b.html
css2.1/t1202-counter-06-b.html
css2.1/t1202-counter-07-b.html
css2.1/t1202-counter-08-b.html
css2.1/t1202-counter-11-b.html
css2.1/t1202-counter-12-b.html
css2.1/t1202-counter-13-b.html
css2.1/t1202-counter-14-b.html
css2.1/t1202-counter-16-f.html
css2.1/t1202-counters-00-b.html
css2.1/t1202-counters-01-b.html
css2.1/t1202-counters-02-b.html
css2.1/t1202-counters-03-b.html
css2.1/t1202-counters-05-b.html
css2.1/t1202-counters-06-b.html
css2.1/t1202-counters-07-b.html
css2.1/t1202-counters-08-b.html
css2.1/t1202-counters-11-b.html
css2.1/t1202-counters-12-b.html
css2.1/t1202-counters-13-b.html
css2.1/t1202-counters-14-b.html
css2.1/t1202-counters-16-c.html
css2.1/t1202-counters-17-d.html
css2.1/t1202-counters-18-f.html
css2.1/t1204-implied-00-b.html
css2.1/t1204-implied-01-c.html
css2.1/t1204-implied-02-d.html
css2.1/t1204-multiple-00-c.html
css2.1/t1204-multiple-01-c.html
css2.1/t1204-order-00-c.html
css2.1/t1204-order-01-d.html
css2.1/t1204-root-e.html
css2.1/t120401-scope-00-b.html
css2.1/t120401-scope-01-c.html
css2.1/t120401-scope-02-c.html
css2.1/t120401-scope-03-c.html
css2.1/t120401-scope-04-d.html
css2.1/t120403-content-none-00-c.html
css2.1/t120403-display-none-00-c.html
css2.1/t120403-visibility-00-c.html
css2.1/t1205-c561-list-displ-00-b.html
css2.1/t1205-c563-list-type-00-b.html
css2.1/t1205-c563-list-type-01-b.html
css2.1/t1205-c564-list-img-00-b-g.html
css2.1/t1205-c565-list-pos-00-b.html
css2.1/t1205-c566-list-stl-00-e-ag.html
css2.1/t1401-c531-color-00-a.html
css2.1/t1402-c45-bg-canvas-00-b.html
css2.1/t140201-c532-bgcolor-00-a.html
css2.1/t140201-c532-bgcolor-01-b.html
css2.1/t140201-c533-bgimage-00-a.html
css2.1/t140201-c533-bgimage-01-b-g.html
css2.1/t140201-c534-bgre-00-b-ag.html
css2.1/t140201-c534-bgre-01-b-ag.html
css2.1/t140201-c535-bg-fixd-00-b-g.html
css2.1/t140201-c536-bgpos-00-b-ag.html
css2.1/t140201-c536-bgpos-01-b-ag.html
css2.1/t1503-c522-font-family-00-b.html
css2.1/t1504-c523-font-style-00-b.html
css2.1/t1504-c543-txt-decor-00-d-g.html
css2.1/t1505-c524-font-var-00-b.html
css2.1/t1506-c525-font-wt-00-b.html
css2.1/t1507-c526-font-sz-00-b.html
css2.1/t1507-c526-font-sz-01-b-a.html
css2.1/t1507-c526-font-sz-02-b-a.html
css2.1/t1507-c526-font-sz-03-f-a.html
css2.1/t1508-c527-font-00-b.html
css2.1/t1601-c547-indent-01-d.html
css2.1/t1602-c546-txt-align-00-b.html
css2.1/t1606-c562-white-sp-00-b-ag.html
css2.1/t170602-bdr-conflct-w-00-d.html
css2.1/t170602-bdr-conflct-w-01-d.html
css2.1/t170602-bdr-conflct-w-02-d.html
css2.1/t170602-bdr-conflct-w-03-d.html
css2.1/t170602-bdr-conflct-w-04-d.html
css2.1/t170602-bdr-conflct-w-05-d.html
css2.1/t170602-bdr-conflct-w-06-d.html
css2.1/t170602-bdr-conflct-w-07-d.html
css2.1/t170602-bdr-conflct-w-08-d.html
css2.1/t170602-bdr-conflct-w-09-d.html
css2.1/t170602-bdr-conflct-w-10-d.html
css2.1/t170602-bdr-conflct-w-11-d.html
css2.1/t170602-bdr-conflct-w-12-d.html
css2.1/t170602-bdr-conflct-w-13-d.html
css2.1/t170602-bdr-conflct-w-14-d.html
css2.1/t170602-bdr-conflct-w-15-d.html
css2.1/t170602-bdr-conflct-w-16-d.html
css2.1/t170602-bdr-conflct-w-17-d.html
css2.1/t170602-bdr-conflct-w-18-d.html
css2.1/t170602-bdr-conflct-w-19-d.html
css2.1/t170602-bdr-conflct-w-20-d.html
css2.1/t170602-bdr-conflct-w-21-d.html
css2.1/t170602-bdr-conflct-w-22-d.html
css2.1/t170602-bdr-conflct-w-23-d.html
css2.1/t170602-bdr-conflct-w-24-d.html
css2.1/t170602-bdr-conflct-w-25-d.html
css2.1/t170602-bdr-conflct-w-26-d.html
css2.1/t170602-bdr-conflct-w-27-d.html
css2.1/t170602-bdr-conflct-w-28-d.html
css2.1/t170602-bdr-conflct-w-29-d.html
css2.1/t170602-bdr-conflct-w-30-d.html
css2.1/t170602-bdr-conflct-w-31-d.html
css2.1/t170602-bdr-conflct-w-32-d.html
css2.1/t170602-bdr-conflct-w-33-d.html
css2.1/t170602-bdr-conflct-w-34-d.html
css2.1/t170602-bdr-conflct-w-35-d.html
css2.1/t170602-bdr-conflct-w-36-d.html
css2.1/t170602-bdr-conflct-w-37-d.html
css2.1/t170602-bdr-conflct-w-38-d.html
css2.1/t170602-bdr-conflct-w-39-d.html
css2.1/t170602-bdr-conflct-w-40-d.html
css2.1/t170602-bdr-conflct-w-41-d.html
css2.1/t170602-bdr-conflct-w-42-d.html
css2.1/t170602-bdr-conflct-w-43-d.html
css2.1/t170602-bdr-conflct-w-44-d.html
css2.1/t170602-bdr-conflct-w-45-d.html
css2.1/t170602-bdr-conflct-w-46-d.html
css2.1/t170602-bdr-conflct-w-47-d.html
css2.1/t170602-bdr-conflct-w-48-d.html
css2.1/t170602-bdr-conflct-w-49-d.html
css2.1/t170602-bdr-conflct-w-50-d.html
css2.1/t170602-bdr-conflct-w-51-d.html
css2.1/t170602-bdr-conflct-w-52-d.html
css2.1/t170602-bdr-conflct-w-53-d.html
css2.1/t170602-bdr-conflct-w-54-d.html
css2.1/t170602-bdr-conflct-w-55-d.html
css2.1/t170602-bdr-conflct-w-56-d.html
css2.1/t170602-bdr-conflct-w-57-d.html
css2.1/t170602-bdr-conflct-w-58-d.html
css2.1/t170602-bdr-conflct-w-59-d.html
css2.1/t170602-bdr-conflct-w-60-d.html
css2.1/t170602-bdr-conflct-w-61-d.html
css2.1/t170602-bdr-conflct-w-62-d.html
css2.1/t170602-bdr-conflct-w-63-d.html
css2.1/t170602-bdr-conflct-w-64-d.html
css2.1/t170602-bdr-conflct-w-65-d.html
css2.1/t170602-bdr-conflct-w-66-d.html
css2.1/t170602-bdr-conflct-w-67-d.html
css2.1/t170602-bdr-conflct-w-68-d.html
css2.1/t170602-bdr-conflct-w-69-d.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338583</commentid>
    <comment_count>43</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-01-22 05:38:58 -0800</bug_when>
    <thetext>Bug 52960 covers fixing the regression. Closing this bug, continuing the work there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338596</commentid>
    <comment_count>44</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-01-22 09:37:59 -0800</bug_when>
    <thetext>This patch seems to have introduced some rounding error between 64-bit and 32-bit platforms. You can see that both 64-bit GTK+ bots now fail this set of tests, even after your rebaselines:

svg/W3C-SVG-1.1-SE/filters-image-03-f.svg
svg/W3C-SVG-1.1-SE/pservers-pattern-03-f.svg
svg/text/text-hkern-on-vertical-text.svg
svg/text/text-hkern.svg	expecte
svg/text/text-vkern-on-horizontal-text.svg
svg/text/text-vkern.svg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338862</commentid>
    <comment_count>45</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-01-23 23:43:07 -0800</bug_when>
    <thetext>(In reply to comment #44)
&gt; This patch seems to have introduced some rounding error between 64-bit and 32-bit platforms. You can see that both 64-bit GTK+ bots now fail this set of tests, even after your rebaselines:
&gt; 
&gt; svg/W3C-SVG-1.1-SE/filters-image-03-f.svg
&gt; svg/W3C-SVG-1.1-SE/pservers-pattern-03-f.svg
&gt; svg/text/text-hkern-on-vertical-text.svg
&gt; svg/text/text-hkern.svg    expecte
&gt; svg/text/text-vkern-on-horizontal-text.svg
&gt; svg/text/text-vkern.svg

Similar problem on Qt: https://bugs.webkit.org/show_bug.cgi?id=52812</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338895</commentid>
    <comment_count>46</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-01-24 01:30:50 -0800</bug_when>
    <thetext>(In reply to comment #45)
&gt; (In reply to comment #44)
&gt; &gt; This patch seems to have introduced some rounding error between 64-bit and 32-bit platforms. You can see that both 64-bit GTK+ bots now fail this set of tests, even after your rebaselines:
&gt; &gt; 
&gt; &gt; svg/W3C-SVG-1.1-SE/filters-image-03-f.svg
&gt; &gt; svg/W3C-SVG-1.1-SE/pservers-pattern-03-f.svg
&gt; &gt; svg/text/text-hkern-on-vertical-text.svg
&gt; &gt; svg/text/text-hkern.svg    expecte
&gt; &gt; svg/text/text-vkern-on-horizontal-text.svg
&gt; &gt; svg/text/text-vkern.svg
&gt; 
&gt; Similar problem on Qt: https://bugs.webkit.org/show_bug.cgi?id=52812

Ok, I&apos;m not sure whether I can manage to investigate today.
Does anyone have an idea? Maybe the lroundf usage causes differences across 32/64 bit boundaries?

If we can&apos;t find a solution in the next few hours, it should probably be rolled out.
Sorry for the trouble, but that was really unexpected to me...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339058</commentid>
    <comment_count>47</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2011-01-24 09:23:06 -0800</bug_when>
    <thetext>(In reply to comment #46)
&gt; (In reply to comment #45)
&gt; &gt; (In reply to comment #44)
&gt; &gt; &gt; This patch seems to have introduced some rounding error between 64-bit and 32-bit platforms. You can see that both 64-bit GTK+ bots now fail this set of tests, even after your rebaselines:
&gt; &gt; &gt; 
&gt; &gt; &gt; svg/W3C-SVG-1.1-SE/filters-image-03-f.svg
&gt; &gt; &gt; svg/W3C-SVG-1.1-SE/pservers-pattern-03-f.svg
&gt; &gt; &gt; svg/text/text-hkern-on-vertical-text.svg
&gt; &gt; &gt; svg/text/text-hkern.svg    expecte
&gt; &gt; &gt; svg/text/text-vkern-on-horizontal-text.svg
&gt; &gt; &gt; svg/text/text-vkern.svg
&gt; &gt; 
&gt; &gt; Similar problem on Qt: https://bugs.webkit.org/show_bug.cgi?id=52812
&gt; 
&gt; Ok, I&apos;m not sure whether I can manage to investigate today.
&gt; Does anyone have an idea? Maybe the lroundf usage causes differences across 32/64 bit boundaries?
&gt; 
&gt; If we can&apos;t find a solution in the next few hours, it should probably be rolled out.
&gt; Sorry for the trouble, but that was really unexpected to me...

This patch is causing ~25 tests to fail on the Windows 7 Release Tests bots:

http://build.webkit.org/builders/Windows%207%20Release%20%28Tests%29/builds/8525
http://build.webkit.org/builders/Windows%207%20Release%20%28Tests%29/builds/8526
http://build.webkit.org/results/Windows%207%20Release%20(Tests)/r76442%20(8526)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339537</commentid>
    <comment_count>48</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-01-25 00:51:45 -0800</bug_when>
    <thetext>I&apos;m aware of the breakage, and working on a fix...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339570</commentid>
    <comment_count>49</comment_count>
      <attachid>80041</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-01-25 03:22:12 -0800</bug_when>
    <thetext>Created attachment 80041
Fixup patch (after patch v11 landed)

Potential fix, let&apos;s see whether it builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339573</commentid>
    <comment_count>50</comment_count>
      <attachid>80041</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-01-25 03:32:58 -0800</bug_when>
    <thetext>Comment on attachment 80041
Fixup patch (after patch v11 landed)

r=me. It may had been better to fix this all at once :-/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339574</commentid>
    <comment_count>51</comment_count>
      <attachid>80043</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-01-25 03:35:53 -0800</bug_when>
    <thetext>Created attachment 80043
Fixup patch v2 (new approach, only SVGFonts changes)

Another attempt, which does not involve changing the lroundf() rounding for lineSpacing, I&apos;m worried about the number of rebaselines, that would need discussion first, as it changes the visual appearance of lots of tests.
I&apos;ll try again with just fixing SVGFonts alone, let ossy try on Qt/64 and see if it helps :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339577</commentid>
    <comment_count>52</comment_count>
      <attachid>80044</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-01-25 03:48:56 -0800</bug_when>
    <thetext>Created attachment 80044
Fixup patch v3

Fix ChangeLog, included mac layout test changes, for a full review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339585</commentid>
    <comment_count>53</comment_count>
      <attachid>80044</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-01-25 04:17:39 -0800</bug_when>
    <thetext>Comment on attachment 80044
Fixup patch v3

LGTM. r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339614</commentid>
    <comment_count>54</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-25 05:48:24 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/76586 might have broken Qt Linux Release
The following tests are not passing:
svg/W3C-SVG-1.1-SE/filters-image-03-f.svg
svg/W3C-SVG-1.1-SE/pservers-grad-17-b.svg
svg/W3C-SVG-1.1-SE/pservers-grad-20-b.svg
svg/W3C-SVG-1.1-SE/pservers-pattern-03-f.svg
svg/W3C-SVG-1.1/fonts-glyph-02-t.svg
svg/custom/svg-fonts-with-no-element-reference.html
svg/custom/svg-fonts-without-missing-glyph.xhtml
svg/text/text-hkern-on-vertical-text.svg
svg/text/text-hkern.svg
svg/text/text-vkern-on-horizontal-text.svg
svg/text/text-vkern.svg
svg/transforms/text-with-mask-with-svg-transform.svg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339620</commentid>
    <comment_count>55</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-01-25 06:19:34 -0800</bug_when>
    <thetext>(In reply to comment #54)
&gt; http://trac.webkit.org/changeset/76586 might have broken Qt Linux Release
&gt; The following tests are not passing:
&gt; svg/W3C-SVG-1.1-SE/filters-image-03-f.svg
&gt; svg/W3C-SVG-1.1-SE/pservers-grad-17-b.svg
&gt; svg/W3C-SVG-1.1-SE/pservers-grad-20-b.svg
&gt; svg/W3C-SVG-1.1-SE/pservers-pattern-03-f.svg
&gt; svg/W3C-SVG-1.1/fonts-glyph-02-t.svg
&gt; svg/custom/svg-fonts-with-no-element-reference.html
&gt; svg/custom/svg-fonts-without-missing-glyph.xhtml
&gt; svg/text/text-hkern-on-vertical-text.svg
&gt; svg/text/text-hkern.svg
&gt; svg/text/text-vkern-on-horizontal-text.svg
&gt; svg/text/text-vkern.svg
&gt; svg/transforms/text-with-mask-with-svg-transform.svg

Fixed by http://trac.webkit.org/changeset/76588. Thx.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339622</commentid>
    <comment_count>56</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-01-25 06:22:02 -0800</bug_when>
    <thetext>Everything is fine again after r76588, no diffs between 32/64 bit bots anymore, closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77220</attachid>
            <date>2010-12-22 08:32:58 -0800</date>
            <delta_ts>2010-12-22 10:55:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>NewTextPath3.diff</filename>
            <type>text/plain</type>
            <size>114675</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTg2IEBACisyMDEwLTEyLTIyICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEludHJvZHVjZSBGb250TWV0cmljcyBhYnN0cmFjdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE0NTYKKworICAgICAgICBFbmNhcHN1
bGF0ZSBhc2NlbnQvZGVzY2VudC9saW5lSGVpZ2h0L2xpbmVHYXAgbWV0aG9kcyBpbiBhIHNpbmds
ZSBGb250TWV0cmljcyBjbGFzcywgaW5zdGVhZCBvZgorICAgICAgICBoYXZpbmcgdG8gZGVmaW5l
IHRoZW0gaW4gYm90aCBGb250ICYgU2ltcGxlRm9udERhdGEuIENoYW5nZWQgdG8gc3RvcmUgZmxv
YXRpbmcgcG9pbnQgdmFsdWVzCisgICAgICAgIGFzIGRlZmF1bHQsIGluIG9yZGVyIHRvIGdldCBh
Y2N1cmF0ZSBpbmZvcm1hdGlvbiBmb3Igc21hbGwgc2l6ZWQgZm9udHMuIEFsbCB0aGVzZSBtZXRo
b2RzCisgICAgICAgIG5vdyBoYXZlIGZsb2F0aW5nLXBvaW50IGFuZCBpbnRlZ2VyIHZlcnNpb25z
LiBXaGVuZXZlciBhbiBpbnRlZ2VyIHZhcmlhbnQgb2YgdGhlc2UgZnVuY3Rpb25zCisgICAgICAg
IGlzIGNhbGxlZCwgYW4gSW50ZWdlckZvbnRNZXRyaWNzIG9iamVjdCBpcyBjcmVhdGVkICYgY2Fj
aGVkIGluIEZvbnRNZXRyaWNzLCB3aGljaCBjb250YWlucworICAgICAgICByb3VuZGVkIHZhbHVl
cyBvZiBhc2NlbnQvZGVzY2VudC9saW5lSGVpZ2h0L2xpbmVHYXAsIHRvIGF2b2lkIGhhdmluZyB0
byBjYWxsIGxyb3VuZGYgYWxsCisgICAgICAgIHRoZSB0aW1lLCB3aGVudmVyIGFuIGludGVnZXIg
dmFyaWFudCBvZiB0aGVzZSBtZXRob2RzIGlzIGNhbGxlZC4KKworICAgICAgICBUaGlzIG1ha2Vz
IGl0IHBvc3NpYmxlIHRvIHN1cHBvcnQgc21hbGwgZm9udC1zaXplcyBmb3IgU1ZHIGluIGEgZm9s
bG93LXVwIHBhdGNoLCBhcyB3ZWxsCisgICAgICAgIGFzIGZpeGluZyByb3VuZGluZyBpc3N1ZXMg
d2hlbiB1c2luZyBTVkcgRm9udHMuCisgICAgICAgIAorICAgICAgICBTaG91bGRuJ3QgYWZmZWN0
IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06IEFkZCBGb250TWV0
cmljcy5oIHRvIGJ1aWxkLiAKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IERpdHRvLgorICAgICAg
ICAqIFdlYkNvcmUucHJvOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvajogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOiBEaXR0by4KKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwOiBVc2Ugc3R5
bGUtPmZvbnRNZXRyaWNzKCkgaW5zdGVhZCBvZiBzdHlsZS0+Zm9udCgpIHRvIGFjY2VzcyB0aGUg
bWV0cmljcy4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVu
Z3RoRG91YmxlKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RDo6ZHJhd1RleHRJbnRlcm5hbCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6
OmRyYXdFbGVtZW50VGl0bGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaDog
UmVtb3ZlIGFzY2VudC9kZXNjZW50L2hlaWdodC9saW5lR2FwL2xpbmVTcGFjaW5nL3hIZWlnaHQv
dW5pdHNQZXJFbSBhY2Nlc3Nvci4uLgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6Zm9udE1ldHJp
Y3MpOiAuLi4gYW5kIG9ubHkgZXhwb3NlIGEgc2luZ2xlIEZvbnRNZXRyaWNzIG9iamVjdCBoZXJl
LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYXN0UGF0aC5jcHA6IFVzZSBmb250
TWV0cmljcygpIHRvIHF1ZXJ5IG1ldHJpY3MgaW5mb3JtYXRpb24uCisgICAgICAgIChXZWJDb3Jl
OjpGb250OjplbXBoYXNpc01hcmtBc2NlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZW1w
aGFzaXNNYXJrRGVzY2VudCk6CisgICAgICAgIChXZWJDb3JlOjpGb250OjplbXBoYXNpc01hcmtI
ZWlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZmxvYXRXaWR0aEZvclNpbXBsZVRleHQp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmg6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6SW50ZWdlckZvbnRNZXRyaWNzOjpjcmVhdGUpOiBDcmVhdGVzIGFuIElu
dGVnZXJGb250TWV0cmljcyBvYmplY3QsIG9ubHkgdXNlZCBieSBGb250TWV0cmljcyBpdHNlbGYu
CisgICAgICAgIChXZWJDb3JlOjpJbnRlZ2VyRm9udE1ldHJpY3M6OmFzY2VudCk6IEludGVnZXIg
dmVyc2lvbi4KKyAgICAgICAgKFdlYkNvcmU6OkludGVnZXJGb250TWV0cmljczo6ZGVzY2VudCk6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW50ZWdlckZvbnRNZXRyaWNzOjpsaW5lR2FwKTog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpJbnRlZ2VyRm9udE1ldHJpY3M6OmxpbmVTcGFjaW5n
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpJbnRlZ2VyRm9udE1ldHJpY3M6OkludGVnZXJG
b250TWV0cmljcyk6CisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6Rm9udE1ldHJpY3Mp
OiBDcmVhdGVzIGEgRm9udE1ldHJpY3Mgb2JqZWN0LCBzdG9yZWQgaW4gU2ltcGxlRm9udERhdGEu
CisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6dW5pdHNQZXJFbSk6IFJldHVybnMgYW4g
dW5zaWduZWQgZGVzY3JpYmluZyB0aGUgdW5pdHNQZXJFbS4KKyAgICAgICAgKFdlYkNvcmU6OkZv
bnRNZXRyaWNzOjpzZXRVbml0c1BlckVtKTogU2V0cyB0aGUgdW5pdHNQZXJFbSB2YWx1ZS4KKyAg
ICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpmbG9hdEFzY2VudCk6IFJldHVybnMgdGhlIHN0
b3JlZCBtX2FzY2VudCBmbG9hdC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpzZXRB
c2NlbnQpOiBTZXRzIHRoZSBzdG9yZWQgbV9hc2NlbnQgZmxvYXQuCisgICAgICAgIChXZWJDb3Jl
OjpGb250TWV0cmljczo6ZmxvYXREZXNjZW50KTogUmV0dXJucyB0aGUgc3RvcmVkIG1fZGVzY2Vu
dCBmbG9hdC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpzZXREZXNjZW50KTogU2V0
cyB0aGUgc3RvcmVkIG1fZGVzY2VudCBmbG9hdC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRy
aWNzOjpmbG9hdEhlaWdodCk6IFJldHVybnMgZmxvYXRBc2NlbnQoKSArIGZsb2F0RGVzY2VudCgp
LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmZsb2F0TGluZUdhcCk6IFJldHVybnMg
dGhlIHN0b3JlZCBtX2xpbmVHYXAgZmxvYXQuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmlj
czo6c2V0TGluZUdhcCk6IFNldHMgdGhlIHN0b3JlZCBtX2xpbmVHYXAgZmxvYXQuCisgICAgICAg
IChXZWJDb3JlOjpGb250TWV0cmljczo6ZmxvYXRMaW5lU3BhY2luZyk6IFJldHVybnMgdGhlIHN0
b3JlZCBtX2xpbmVTcGFjaW5nIGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6
OnNldExpbmVTcGFjaW5nKTogU2V0cyB0aGUgc3RvcmVkIG1fbGluZVNwYWNpbmcgZmxvYXQuCisg
ICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6eEhlaWdodCk6IFJldHVybnMgdGhlIHN0b3Jl
ZCBtX3hIZWlnaHQgZmxvYXQgKG5vIGludGVnZXIgdmVyc2lvbiBhdmFpbGFibGUsIGhlbmNlIG5v
ICdmbG9hdCcgcHJlZml4KS4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpzZXRYSGVp
Z2h0KTogU2V0cyB0aGUgc3RvcmVkIG1feEhlaWdodCBmbG9hdC4KKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRNZXRyaWNzOjphc2NlbnQpOiBDYWxscyBlbnN1cmVJbnRlZ2VyTWV0cmljcygpLCB0aGVu
IHJldHVybnMgbV9pbnRlZ2VyTWV0cmljcy0+YXNjZW50KCkuCisgICAgICAgIChXZWJDb3JlOjpG
b250TWV0cmljczo6ZGVzY2VudCk6IERpdHRvIChmb3IgZGVzY2VudCkuCisgICAgICAgIChXZWJD
b3JlOjpGb250TWV0cmljczo6aGVpZ2h0KTogUmV0dXJucyBhc2NlbnQoKSArIGRlc2NlbnQoKS4K
KyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpsaW5lR2FwKTogQ2FsbHMgZW5zdXJlSW50
ZWdlck1ldHJpY3MoKSwgdGhlbiByZXR1cm5zIG1faW50ZWdlck1ldHJpY3MtPmxpbmVHYXAoKS4K
KyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpsaW5lU3BhY2luZyk6IERpdHRvIChmb3Ig
bGluZVNwYWNpbmcpLgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnJlc2V0KTogTnVs
bHMgYWxsIG1lbWJlcnMsIHVzZWQgb25seSBieSB0aGUgcGxhdGZvcm0gdmFyaWFudHMgb2YgU2lt
cGxlRm9udERhdGEuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6ZW5zdXJlSW50ZWdl
ck1ldHJpY3MpOiBVdGlsaXppZXMgbHJvdW5kZiB0byByb3VuZCB0aGUgc3RvcmVkIGZsb2F0cywg
YW5kIHBhc3NlcyB0aGVtIHRvIHRoZSBJbnRlZ2VyRm9udE1ldHJpY3Mgb2JqZWN0LCB3aGljaCBn
ZXRzIGNhY2hlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5j
cHA6IEFkYXB0IFNWRyBGb250cyBjb2RlLCB0byBpbml0aWFsaXplIHRoZSBGb250TWV0cmljcyBv
YmplY3QsIGFzIHRoZSBtX2FzY2VudC9ldGMuLiBtZW1iZXJzIGFyZSBnb25lLgorICAgICAgICAo
V2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnREYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OlNpbXBsZUZvbnREYXRhOjppbml0Q2hhcldpZHRocyk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaDogUmVtb3ZlIGFzY2VudC9kZXNjZW50L2hlaWdodC9s
aW5lU3BhY2luZy9saW5lR2FwL3hIZWlnaHQvdW5pdHNQZXJFbSBhY2Nlc3NvcnMsIGFuZCBtZW1i
ZXJzLCBqdXN0IHN0b3JlIGEgRm9udE1ldHJpY3Mgb2JqZWN0IGFuZCBleHBvc2UgaXQuCisgICAg
ICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6Zm9udE1ldHJpY3MpOgorICAgICAgICAoV2Vi
Q29yZTo6U2ltcGxlRm9udERhdGE6OmF2Z0NoYXJXaWR0aCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vRm9udENocm9taXVtV2luLmNwcDogVXNlIGZvbnRNZXRyaWNzKCkg
dG8gcXVlcnkgZm9udCBtZXRyaWNzLgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNwYXJlbmN5QXdh
cmVGb250UGFpbnRlcjo6VHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50ZXI6OmVzdGltYXRlVGV4
dEJvdW5kcyk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc3BhcmVuY3lBd2FyZUZvbnRQYWludGVy
OjpUcmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRlcjo6ZHJhd0dseXBocyk6CisgICAgICAgIChX
ZWJDb3JlOjpUcmFuc3BhcmVuY3lBd2FyZUZvbnRQYWludGVyOjpUcmFuc3BhcmVuY3lBd2FyZVVu
aXNjcmliZVBhaW50ZXI6OmVzdGltYXRlVGV4dEJvdW5kcyk6CisgICAgICAgIChXZWJDb3JlOjpG
b250OjpkcmF3Q29tcGxleFRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL1NpbXBsZUZvbnREYXRhQ2hyb21pdW1XaW4uY3BwOiBBZGFwdCBwbGF0Zm9ybSBjb2RlLCB0
byBpbml0aWFsaXplIHRoZSBGb250TWV0cmljcyBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpT
aW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUxpbnV4LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJD
b3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9VbmlzY3JpYmVIZWxwZXJUZXh0UnVuLmNwcDogVXNlIGZvbnRNZXRy
aWNzKCkgdG8gcXVlcnkgZm9udCBtZXRyaWNzLgorICAgICAgICAoV2ViQ29yZTo6VW5pc2NyaWJl
SGVscGVyVGV4dFJ1bjo6VW5pc2NyaWJlSGVscGVyVGV4dFJ1bik6CisgICAgICAgIChXZWJDb3Jl
OjpVbmlzY3JpYmVIZWxwZXJUZXh0UnVuOjpuZXh0V2luRm9udERhdGEpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUuY3BwOiBBZGFw
dCBwbGF0Zm9ybSBjb2RlLCB0byBpbml0aWFsaXplIHRoZSBGb250TWV0cmljcyBvYmplY3QuCisg
ICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9TaW1wbGVGb250RGF0YUhhaWt1LmNwcDogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENvbXBsZXhUZXh0TWFjLmNwcDogVXNlIGZv
bnRNZXRyaWNzKCkgdG8gcXVlcnkgZm9udCBtZXRyaWNzLgorICAgICAgICAoV2ViQ29yZTo6Rm9u
dDo6ZmxvYXRXaWR0aEZvckNvbXBsZXhUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvRm9udE1hYy5tbTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpzaG93R2x5cGhzV2l0
aEFkdmFuY2VzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERh
dGFNYWMubW06IEFkYXB0IHBsYXRmb3JtIGNvZGUsIHRvIGluaXRpYWxpemUgdGhlIEZvbnRNZXRy
aWNzIG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUlu
aXQpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQ2hhcldpZHRo
SW5pdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcGFuZ28vU2ltcGxlRm9udERhdGFQ
YW5nby5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRm
b3JtSW5pdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9udERhdGFR
dC5jcHA6IERpdHRvLiAoKyBTd2l0Y2ggdG8gUUZvbnRNZXRyaWNzRiB0byBnZXQgZmxvYXRpbmct
cG9pbnQgYWNjdXJhbmN5LikKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0
Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q0dXaW4uY3Bw
OiBVc2UgZm9udE1ldHJpY3MoKSB0byBxdWVyeSBmb250IG1ldHJpY3MuCisgICAgICAgIChXZWJD
b3JlOjpkcmF3R0RJR2x5cGhzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9u
dFdpbi5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZmxvYXRXaWR0aEZvckNv
bXBsZXhUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERh
dGFDR1dpbi5jcHA6IEFkYXB0IHBsYXRmb3JtIGNvZGUsIHRvIGluaXRpYWxpemUgdGhlIEZvbnRN
ZXRyaWNzIG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9y
bUluaXQpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQm91bmRz
Rm9yR2x5cGgpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0
YUNhaXJvV2luLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6
cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9u
dERhdGFXaW4uY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpp
bml0R0RJRm9udCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3ND
b250ZXh0V2luQ0UuY3BwOiBVc2UgZm9udE1ldHJpY3MoKSB0byBxdWVyeSBmb250IG1ldHJpY3Mu
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdUZXh0KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9TaW1wbGVGb250RGF0YVdpbkNFLmNwcDogQWRhcHQg
cGxhdGZvcm0gY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUgRm9udE1ldHJpY3Mgb2JqZWN0LgorICAg
ICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3Mvd3gvU2ltcGxlRm9udERhdGFXeC5jcHA6IERpdHRvLgorICAgICAg
ICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAgICogcmVu
ZGVyaW5nL0VsbGlwc2lzQm94LmNwcDogVXNlIHN0eWxlLT5mb250TWV0cmljcygpIGluc3RlYWQg
b2Ygc3R5bGUtPmZvbnQoKSB0byBhY2Nlc3MgdGhlIG1ldHJpY3MuCisgICAgICAgIChXZWJDb3Jl
OjpFbGxpcHNpc0JveDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6RWxsaXBzaXNCb3g6Om5v
ZGVBdFBvaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lQm94LmNwcDogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpJbmxpbmVCb3g6OmxvZ2ljYWxIZWlnaHQpOgorICAgICAgICAqIHJl
bmRlcmluZy9JbmxpbmVGbG93Qm94LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjp2ZXJ0
aWNhbFBvc2l0aW9uRm9yQm94KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OmNv
bXB1dGVMb2dpY2FsQm94SGVpZ2h0cyk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVGbG93Qm94
OjpwbGFjZUJveGVzSW5CbG9ja0RpcmVjdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL0lubGlu
ZVRleHRCb3guY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OklubGluZVRleHRCb3g6OnBh
aW50KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxsaW5nT3JHcmFtbWFy
TWFya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRp
b25VbmRlcmxpbmUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmJhc2VsaW5lUG9zaXRpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmZpcnN0TGluZUJveEJhc2VsaW5lKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsYXN0TGluZUJveEJhc2VsaW5lKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCb3g6OmxvY2FsQ2FyZXRSZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRW1iZWRk
ZWRPYmplY3QuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVtYmVkZGVkT2Jq
ZWN0OjpwYWludFJlcGxhY2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3Bw
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpzZXRJbWFnZVNpemVGb3JB
bHRUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpwYWludFJlcGxhY2VkKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcDogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJJbmxpbmU6OmJhc2VsaW5lUG9zaXRpb24pOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJMaXN0Qm94LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
aXN0Qm94OjpwYWludEl0ZW1Gb3JlZ3JvdW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxp
c3RCb3g6Oml0ZW1IZWlnaHQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0TWFya2Vy
LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjpwYWludCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjpsYXlvdXQpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6dXBkYXRlTWFyZ2lucyk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjpnZXRSZWxhdGl2ZU1hcmtlclJlY3Qp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHA6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2w6OnBhaW50UGxhY2Vob2xkZXIpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwOiBEaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6Y3JlYXRlSW5u
ZXJUZXh0U3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOiBB
ZGQgImNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcygpIGNvbnN0IiBhY2Nlc3Nvci4KKyAg
ICAgICAgKFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjpmb250TWV0cmljcyk6CisgICAgICAgIChX
ZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6Y29tcHV0ZWRMaW5lSGVpZ2h0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZVRleHQuY3BwOiBVc2Ugc3R5bGUtPmZvbnRNZXRy
aWNzKCkgaW5zdGVhZCBvZiBzdHlsZS0+Zm9udCgpIHRvIGFjY2VzcyB0aGUgbWV0cmljcy4KKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR0lubGluZVRleHQ6OnBvc2l0aW9uRm9yUG9pbnQpOgor
ICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHA6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHSW5saW5lVGV4dEJveDo6c2VsZWN0aW9uUmVjdEZvclRleHRGcmFn
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjpwb3NpdGlvbk9mZnNldEZvckRlY29yYXRpb24pOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uV2l0aFN0
eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OnBhaW50VGV4dFdpdGhT
aGFkb3dzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OmNhbGN1bGF0ZUJv
dW5kYXJpZXMpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJh
c2VsaW5lLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmU6OmNhbGN1bGF0ZUJhc2VsaW5lU2hpZnQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
VGV4dExheW91dEVuZ2luZUJhc2VsaW5lOjpjYWxjdWxhdGVBbGlnbm1lbnRCYXNlbGluZVNoaWZ0
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2FsY3Vs
YXRlR2x5cGhBZHZhbmNlQW5kT3JpZW50YXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcv
U1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6
OlNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nOjpjYWxjdWxhdGVTVkdLZXJuaW5nKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzLmNwcDogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpTVkdUZXh0TWV0cmljczo6U1ZHVGV4dE1ldHJpY3MpOgorICAgICAgICAqIHJlbmRl
cmluZy9zdmcvU1ZHVGV4dFF1ZXJ5LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpjYWxj
dWxhdGVHbHlwaEJvdW5kYXJpZXMpOgorICAgICAgICAqIHN2Zy9TVkdGb250RmFjZUVsZW1lbnQu
Y3BwOiAKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZvbnRGYWNlRWxlbWVudDo6dW5pdHNQZXJFbSk6
IFJlbmFtZSBkZWZhdWx0VW5pdHNQZXJFbSBnbG9iYWwgdG8gZ0RlZmF1bHRVbml0c1BlckVtLgor
ICAgICAgICAqIHN2Zy9TVkdMZW5ndGguY3BwOiBVc2Ugc3R5bGUtPmZvbnRNZXRyaWNzKCkgaW5z
dGVhZCBvZiBzdHlsZS0+Zm9udCgpIHRvIGFjY2VzcyB0aGUgbWV0cmljcy4KKyAgICAgICAgKFdl
YkNvcmU6OlNWR0xlbmd0aDo6Y29udmVydFZhbHVlRnJvbVVzZXJVbml0c1RvRVhTKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0xlbmd0aDo6Y29udmVydFZhbHVlRnJvbUVYU1RvVXNlclVuaXRzKToK
KwogMjAxMC0xMi0yMiAgRGFpIE1pa3VydWJlICA8ZG1pa3VydWJlQGdvb2dsZS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCkluZGV4OiBXZWJDb3JlL0dOVW1ha2VmaWxl
LmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDc0NDY3
KQorKysgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAtMjQwMiw2ICsy
NDAyLDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRGYW1pbHkuaCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGgu
Y3BwIFwKIAlXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaCBcCisJV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oIFwKIAlXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRPcmllbnRhdGlvbi5oIFwKIAlXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRSZW5k
ZXJpbmdNb2RlLmggXAogCVdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNlbGVjdG9yLmgg
XApJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJD
b3JlLmd5cGkJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtp
bmcgY29weSkKQEAgLTI5MTAsNiArMjkxMCw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udEZhbWlseS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRGYW1pbHkuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhc3RQYXRo
LmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udE1ldHJpY3MuaCcsCiAg
ICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udFJlbmRlcmluZ01vZGUuaCcsCiAgICAg
ICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNlbGVjdG9yLmgnLAogICAgICAgICAgICAg
J3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRTbW9vdGhpbmdNb2RlLmgnLApJbmRleDogV2ViQ29yZS9X
ZWJDb3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUucHJvCShyZXZpc2lvbiA3
NDQ2NykKKysrIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTIxMTMsNiAr
MjExMyw3IEBAIEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnREYXRhLmgg
XAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5oIFwKICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9Gb250RmFtaWx5LmggXAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRy
aWNzLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaCBcCiAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvR2VuZXJhdGVkSW1hZ2UuaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvR3JhZGllbnQu
aCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDc0
NDY3KQorKysgV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBj
b3B5KQpAQCAtMjYzODEsNiArMjYzODEsMTAgQEAKIAkJCQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8
RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEZvbnRNZXRyaWNz
LmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIu
LlxwbGF0Zm9ybVxncmFwaGljc1xGb250UmVuZGVyaW5nTW9kZS5oIgogCQkJCQk+CiAJCQkJPC9G
aWxlPgpJbmRleDogV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJl
dmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHdvcmtpbmcgY29weSkKQEAgLTEwNyw2ICsxMDcsNyBAQAogCQkwODNEQUVBNzBGMDFBN0ZC
MDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4M0RBRUEzMEYwMUE3RkIwMDM0Mjc1NCAv
KiBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5oICovOyB9OwogCQkwODNEQUVBODBGMDFBN0ZC
MDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4M0RBRUE0MEYwMUE3RkIwMDM0Mjc1
NCAvKiBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwICovOyB9OwogCQkwODNEQUVBOTBG
MDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODNEQUVBNTBGMDFBN0ZCMDAz
NDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmggKi87IH07CisJCTA4NDU2ODA4
MTJCOTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0NTY4MDcxMkI5MERBNjAwOTYwQTlGIC8qIEZvbnRN
ZXRyaWNzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJMDg0QTA4MjkxMjhENzg2NzAwMkRCMUYxIC8qIFNWR1BhdGhTZWdMaXN0UHJvcGVydHlUZWFy
T2ZmLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODRB
MDgyODEyOEQ3ODY3MDAyREIxRjEgLyogU1ZHUGF0aFNlZ0xpc3RQcm9wZXJ0eVRlYXJPZmYuaCAq
LzsgfTsKIAkJMDg0QUVCRTQwRkI1MDVGQTAwMzg0ODNFIC8qIFNlbGVjdEVsZW1lbnQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0QUVCRTIwRkI1
MDVGQTAwMzg0ODNFIC8qIFNlbGVjdEVsZW1lbnQuY3BwICovOyB9OwogCQkwODRBRUJFNTBGQjUw
NUZBMDAzODQ4M0UgLyogU2VsZWN0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0QUVCRTMwRkI1MDVGQTAwMzg0ODNFIC8qIFNlbGVjdEVs
ZW1lbnQuaCAqLzsgfTsKQEAgLTYzNjgsNiArNjM2OSw3IEBACiAJCTA4M0RBRUEzMEYwMUE3RkIw
MDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkwODNEQUVBNDBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4
dENvbnRyb2xTaW5nbGVMaW5lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTA4M0RBRUE1MEYwMUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbFNp
bmdsZUxpbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyVGV4dENv
bnRyb2xTaW5nbGVMaW5lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA4NDU2ODA3
MTJCOTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBGb250TWV0cmljcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
ODRBMDgyODEyOEQ3ODY3MDAyREIxRjEgLyogU1ZHUGF0aFNlZ0xpc3RQcm9wZXJ0eVRlYXJPZmYu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGF0aFNlZ0xpc3RQcm9wZXJ0
eVRlYXJPZmYuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg0QUVCRTIwRkI1MDVG
QTAwMzg0ODNFIC8qIFNlbGVjdEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gU2VsZWN0RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTA4NEFFQkUzMEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxlY3RFbGVtZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNlbGVjdEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTE3MjI5LDYgKzE3MjMxLDcgQEAKIAkJCQlCMkMzREE1ODBEMDA2Q0Q2
MDBFRjZGMjYgLyogRm9udEZhbWlseS5jcHAgKi8sCiAJCQkJQjJDM0RBNTkwRDAwNkNENjAwRUY2
RjI2IC8qIEZvbnRGYW1pbHkuaCAqLywKIAkJCQk3MjYyNkUwMTBFRjAyMkZFMDBBMDdFMjAgLyog
Rm9udEZhc3RQYXRoLmNwcCAqLywKKwkJCQkwODQ1NjgwNzEyQjkwREE2MDA5NjBBOUYgLyogRm9u
dE1ldHJpY3MuaCAqLywKIAkJCQlGN0EwMzRDMzEyNkJGNkJFMDA3REMxOUUgLyogRm9udE9yaWVu
dGF0aW9uLmggKi8sCiAJCQkJMzdBQ0NFNDEwREEyOTgwRjAwODlFNjAyIC8qIEZvbnRSZW5kZXJp
bmdNb2RlLmggKi8sCiAJCQkJQjJDM0RBNUEwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnRTZWxlY3Rv
ci5oICovLApAQCAtMjIxMzAsNiArMjIxMzMsNyBAQAogCQkJCTkzRjE5OUVEMDgyNDVFNTkwMDFF
OUFCQyAvKiBYU0xUUHJvY2Vzc29yLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUJFNTEyRTBDRjZD
NTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0RE
NEQ4NzBGREY0RDZFMDBFQ0Y5QTQgLyogWFNTQXVkaXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MDg0NTY4MDgxMkI5MERBNjAwOTYwQTlGIC8qIEZvbnRNZXRyaWNzLmggaW4gSGVhZGVycyAqLywK
IAkJCQk0OTlCM0VDNTEyOENDQzQ3MDBFNzI2QzIgLyogUGxhdGZvcm1DQUxheWVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0OTlCM0VENzEyOENEMzE0MDBFNzI2QzIgLyogR3JhcGhpY3NMYXllckNB
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTlCM0VERDEyOERCNTAyMDBFNzI2QzIgLyogUGxhdGZv
cm1DQUFuaW1hdGlvbi5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFs
dWUuY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAwLDcgKzQwMCw3IEBAIGRvdWJsZSBDU1NQcmltaXRp
dmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aEQKICAgICAgICAgICAgIC8vIFdlIHJlYWxseSBuZWVkIHRv
IGNvbXB1dGUgRVggdXNpbmcgZm9udE1ldHJpY3MgZm9yIHRoZSBvcmlnaW5hbCBzcGVjaWZpZWRT
aXplIGFuZCBub3QgdXNlCiAgICAgICAgICAgICAvLyBvdXIgYWN0dWFsIGNvbnN0cnVjdGVkIHJl
bmRlcmluZyBmb250LgogICAgICAgICAgICAgYXBwbHlab29tTXVsdGlwbGllciA9IGZhbHNlOwot
ICAgICAgICAgICAgZmFjdG9yID0gc3R5bGUtPmZvbnQoKS54SGVpZ2h0KCk7CisgICAgICAgICAg
ICBmYWN0b3IgPSBzdHlsZS0+Zm9udE1ldHJpY3MoKS54SGVpZ2h0KCk7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgY2FzZSBDU1NfUkVNUzoKICAgICAgICAgICAgIGFwcGx5Wm9vbU11bHRp
cGxpZXIgPSBmYWxzZTsKSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzYw
LDYgKzE3NjAsNyBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJCiAg
ICAgICAgIHJldHVybjsKIAogICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBhY2Nlc3NGb250KCk7Cisg
ICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZm9udC5mb250TWV0cmljcygpOwog
CiAgICAgLy8gRklYTUU6IEhhbmRsZSBtYXhXaWR0aC4KICAgICAvLyBGSVhNRTogTmVlZCB0byB0
dXJuIG9mZiBmb250IHNtb290aGluZy4KQEAgLTE3NzcsMTQgKzE3NzgsMTQgQEAgdm9pZCBDYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmRyYXdUZXh0SQogICAgIHN3aXRjaCAoc3RhdGUoKS5tX3Rl
eHRCYXNlbGluZSkgewogICAgIGNhc2UgVG9wVGV4dEJhc2VsaW5lOgogICAgIGNhc2UgSGFuZ2lu
Z1RleHRCYXNlbGluZToKLSAgICAgICAgbG9jYXRpb24uc2V0WSh5ICsgZm9udC5hc2NlbnQoKSk7
CisgICAgICAgIGxvY2F0aW9uLnNldFkoeSArIGZvbnRNZXRyaWNzLmFzY2VudCgpKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBCb3R0b21UZXh0QmFzZWxpbmU6CiAgICAgY2FzZSBJZGVvZ3Jh
cGhpY1RleHRCYXNlbGluZToKLSAgICAgICAgbG9jYXRpb24uc2V0WSh5IC0gZm9udC5kZXNjZW50
KCkpOworICAgICAgICBsb2NhdGlvbi5zZXRZKHkgLSBmb250TWV0cmljcy5kZXNjZW50KCkpOwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIE1pZGRsZVRleHRCYXNlbGluZToKLSAgICAgICAgbG9j
YXRpb24uc2V0WSh5IC0gZm9udC5kZXNjZW50KCkgKyBmb250LmhlaWdodCgpIC8gMik7CisgICAg
ICAgIGxvY2F0aW9uLnNldFkoeSAtIGZvbnRNZXRyaWNzLmRlc2NlbnQoKSArIGZvbnRNZXRyaWNz
LmhlaWdodCgpIC8gMik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQWxwaGFiZXRpY1RleHRC
YXNlbGluZToKICAgICBkZWZhdWx0OgpAQCAtMTgxMiw4ICsxODEzLDggQEAgdm9pZCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ6OmRyYXdUZXh0SQogICAgIH0KIAogICAgIC8vIFRoZSBzbG9wIGJ1
aWx0IGluIHRvIHRoaXMgbWFzayByZWN0IG1hdGNoZXMgdGhlIGhldXJpc3RpYyB1c2VkIGluIEZv
bnRDR1dpbi5jcHAgZm9yIEdESSB0ZXh0LgotICAgIEZsb2F0UmVjdCB0ZXh0UmVjdCA9IEZsb2F0
UmVjdChsb2NhdGlvbi54KCkgLSBmb250LmhlaWdodCgpIC8gMiwgbG9jYXRpb24ueSgpIC0gZm9u
dC5hc2NlbnQoKSAtIGZvbnQubGluZUdhcCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB3aWR0aCArIGZvbnQuaGVpZ2h0KCksIGZvbnQubGluZVNwYWNpbmcoKSk7CisgICAg
RmxvYXRSZWN0IHRleHRSZWN0ID0gRmxvYXRSZWN0KGxvY2F0aW9uLngoKSAtIGZvbnRNZXRyaWNz
LmhlaWdodCgpIC8gMiwgbG9jYXRpb24ueSgpIC0gZm9udE1ldHJpY3MuYXNjZW50KCkgLSBmb250
TWV0cmljcy5saW5lR2FwKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdp
ZHRoICsgZm9udE1ldHJpY3MuaGVpZ2h0KCksIGZvbnRNZXRyaWNzLmxpbmVTcGFjaW5nKCkpOwog
ICAgIGlmICghZmlsbCkKICAgICAgICAgdGV4dFJlY3QuaW5mbGF0ZShjLT5zdHJva2VUaGlja25l
c3MoKSAvIDIpOwogCkluZGV4OiBXZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVy
LmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc3Myw3ICsxNzczLDcgQEAgdm9pZCBJbnNw
ZWN0b3JDb250cm9sbGVyOjpkcmF3RWxlbWVudFRpdAogICAgIGNvbnRleHQuc2V0RmlsbENvbG9y
KHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3IsIENvbG9yU3BhY2VEZXZpY2VSR0IpOwogICAgIGNvbnRl
eHQuZHJhd1JlY3QodGl0bGVSZWN0KTsKICAgICBjb250ZXh0LnNldEZpbGxDb2xvcih0b29sdGlw
Rm9udENvbG9yLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKLSAgICBjb250ZXh0LmRyYXdUZXh0KGZv
bnQsIG5vZGVUaXRsZVJ1biwgSW50UG9pbnQodGl0bGVSZWN0LngoKSArIHJlY3RJbmZsYXRlUHgs
IHRpdGxlUmVjdC55KCkgKyBmb250LmhlaWdodCgpKSk7CisgICAgY29udGV4dC5kcmF3VGV4dChm
b250LCBub2RlVGl0bGVSdW4sIEludFBvaW50KHRpdGxlUmVjdC54KCkgKyByZWN0SW5mbGF0ZVB4
LCB0aXRsZVJlY3QueSgpICsgZm9udC5mb250TWV0cmljcygpLmhlaWdodCgpKSk7CiB9CiAKIHZv
aWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6b3BlbkluSW5zcGVjdGVkV2luZG93KGNvbnN0IFN0cmlu
ZyYgdXJsKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHJldmlzaW9uIDc0NDY3KQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0
LDcgKzQ0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRmxvYXRQb2ludDsKIGNsYXNz
IEZsb2F0UmVjdDsKIGNsYXNzIEZvbnREYXRhOwotY2xhc3MgRm9udEZhbGxiYWNrTGlzdDsKK2Ns
YXNzIEZvbnRNZXRyaWNzOwogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIEZvbnRTZWxl
Y3RvcjsKIGNsYXNzIEdseXBoQnVmZmVyOwpAQCAtNTQsOCArNTQsNiBAQCBjbGFzcyBTVkdGb250
RWxlbWVudDsKIAogc3RydWN0IEdseXBoRGF0YTsKIAotY29uc3QgdW5zaWduZWQgZGVmYXVsdFVu
aXRzUGVyRW0gPSAxMDAwOwotCiBzdHJ1Y3QgR2x5cGhPdmVyZmxvdyB7CiAgICAgR2x5cGhPdmVy
ZmxvdygpCiAgICAgICAgIDogbGVmdCgwKQpAQCAtMTI4LDEzICsxMjYsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBpc1BsYXRmb3JtRm9udCgpIGNvbnN0IHsgcmV0dXJuIG1faXNQbGF0Zm9ybUZvbnQ7
IH0KIAogICAgIC8vIE1ldHJpY3MgdGhhdCB3ZSBxdWVyeSB0aGUgRm9udEZhbGxiYWNrTGlzdCBm
b3IuCi0gICAgaW50IGFzY2VudChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRp
Y0Jhc2VsaW5lKSBjb25zdCB7IHJldHVybiBwcmltYXJ5Rm9udCgpLT5hc2NlbnQoYmFzZWxpbmVU
eXBlKTsgfQotICAgIGludCBkZXNjZW50KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUgPSBBbHBo
YWJldGljQmFzZWxpbmUpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmRlc2NlbnQoYmFz
ZWxpbmVUeXBlKTsgfQotICAgIGludCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBhc2NlbnQoKSAr
IGRlc2NlbnQoKTsgfQotICAgIGludCBsaW5lU3BhY2luZygpIGNvbnN0IHsgcmV0dXJuIHByaW1h
cnlGb250KCktPmxpbmVTcGFjaW5nKCk7IH0KLSAgICBpbnQgbGluZUdhcCgpIGNvbnN0IHsgcmV0
dXJuIHByaW1hcnlGb250KCktPmxpbmVHYXAoKTsgfQotICAgIGZsb2F0IHhIZWlnaHQoKSBjb25z
dCB7IHJldHVybiBwcmltYXJ5Rm9udCgpLT54SGVpZ2h0KCk7IH0KLSAgICB1bnNpZ25lZCB1bml0
c1BlckVtKCkgY29uc3QgeyByZXR1cm4gcHJpbWFyeUZvbnQoKS0+dW5pdHNQZXJFbSgpOyB9Cisg
ICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzKCkgY29uc3QgeyByZXR1cm4gcHJpbWFy
eUZvbnQoKS0+Zm9udE1ldHJpY3MoKTsgfQogICAgIGludCBzcGFjZVdpZHRoKCkgY29uc3QgeyBy
ZXR1cm4gKGludCljZWlsZihwcmltYXJ5Rm9udCgpLT5hZGp1c3RlZFNwYWNlV2lkdGgoKSArIG1f
bGV0dGVyU3BhY2luZyk7IH0KICAgICBmbG9hdCB0YWJXaWR0aChjb25zdCBTaW1wbGVGb250RGF0
YSYgZm9udERhdGEpIGNvbnN0IHsgcmV0dXJuIDggKiBjZWlsZihmb250RGF0YS5hZGp1c3RlZFNw
YWNlV2lkdGgoKSArIGxldHRlclNwYWNpbmcoKSk7IH0KICAgICBpbnQgZW1waGFzaXNNYXJrQXNj
ZW50KGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Gb250RmFzdFBhdGguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udEZhc3RQYXRoLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRGYXN0UGF0aC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0MSw3
ICsyNDEsNyBAQCBpbnQgRm9udDo6ZW1waGFzaXNNYXJrQXNjZW50KGNvbnN0IEF0b21pCiAgICAg
aWYgKCFtYXJrRm9udERhdGEpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIG1hcmtG
b250RGF0YS0+YXNjZW50KCk7CisgICAgcmV0dXJuIG1hcmtGb250RGF0YS0+Zm9udE1ldHJpY3Mo
KS5hc2NlbnQoKTsKIH0KIAogaW50IEZvbnQ6OmVtcGhhc2lzTWFya0Rlc2NlbnQoY29uc3QgQXRv
bWljU3RyaW5nJiBtYXJrKSBjb25zdApAQCAtMjU1LDcgKzI1NSw3IEBAIGludCBGb250OjplbXBo
YXNpc01hcmtEZXNjZW50KGNvbnN0IEF0b20KICAgICBpZiAoIW1hcmtGb250RGF0YSkKICAgICAg
ICAgcmV0dXJuIDA7CiAKLSAgICByZXR1cm4gbWFya0ZvbnREYXRhLT5kZXNjZW50KCk7CisgICAg
cmV0dXJuIG1hcmtGb250RGF0YS0+Zm9udE1ldHJpY3MoKS5kZXNjZW50KCk7CiB9CiAKIGludCBG
b250OjplbXBoYXNpc01hcmtIZWlnaHQoY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrKSBjb25zdApA
QCAtMjY5LDcgKzI2OSw3IEBAIGludCBGb250OjplbXBoYXNpc01hcmtIZWlnaHQoY29uc3QgQXRv
bWkKICAgICBpZiAoIW1hcmtGb250RGF0YSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICByZXR1
cm4gbWFya0ZvbnREYXRhLT5oZWlnaHQoKTsKKyAgICByZXR1cm4gbWFya0ZvbnREYXRhLT5mb250
TWV0cmljcygpLmhlaWdodCgpOwogfQogCiBmbG9hdCBGb250OjpnZXRHbHlwaHNBbmRBZHZhbmNl
c0ZvclNpbXBsZVRleHQoY29uc3QgVGV4dFJ1biYgcnVuLCBpbnQgZnJvbSwgaW50IHRvLCBHbHlw
aEJ1ZmZlciYgZ2x5cGhCdWZmZXIsIEZvclRleHRFbXBoYXNpc09yTm90IGZvclRleHRFbXBoYXNp
cykgY29uc3QKQEAgLTQwMyw4ICs0MDMsOCBAQCBmbG9hdCBGb250OjpmbG9hdFdpZHRoRm9yU2lt
cGxlVGV4dChjb25zCiAgICAgaXQuYWR2YW5jZShydW4ubGVuZ3RoKCksIGdseXBoQnVmZmVyKTsK
IAogICAgIGlmIChnbHlwaE92ZXJmbG93KSB7Ci0gICAgICAgIGdseXBoT3ZlcmZsb3ctPnRvcCA9
IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYoLWl0Lm1pbkdseXBoQm91bmRpbmdC
b3hZKCkpIC0gYXNjZW50KCkpOwotICAgICAgICBnbHlwaE92ZXJmbG93LT5ib3R0b20gPSBtYXg8
aW50PihnbHlwaE92ZXJmbG93LT5ib3R0b20sIGNlaWxmKGl0Lm1heEdseXBoQm91bmRpbmdCb3hZ
KCkpIC0gZGVzY2VudCgpKTsKKyAgICAgICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4PGludD4o
Z2x5cGhPdmVyZmxvdy0+dG9wLCBjZWlsZigtaXQubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSBm
b250TWV0cmljcygpLmFzY2VudCgpKTsKKyAgICAgICAgZ2x5cGhPdmVyZmxvdy0+Ym90dG9tID0g
bWF4PGludD4oZ2x5cGhPdmVyZmxvdy0+Ym90dG9tLCBjZWlsZihpdC5tYXhHbHlwaEJvdW5kaW5n
Qm94WSgpKSAtIGZvbnRNZXRyaWNzKCkuZGVzY2VudCgpKTsKICAgICAgICAgZ2x5cGhPdmVyZmxv
dy0+bGVmdCA9IGNlaWxmKGl0LmZpcnN0R2x5cGhPdmVyZmxvdygpKTsKICAgICAgICAgZ2x5cGhP
dmVyZmxvdy0+cmlnaHQgPSBjZWlsZihpdC5sYXN0R2x5cGhPdmVyZmxvdygpKTsKICAgICB9Cklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oCShyZXZpc2lvbiAwKQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDE4MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9u
IExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBGb250
TWV0cmljc19oCisjZGVmaW5lIEZvbnRNZXRyaWNzX2gKKworI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIEludGVnZXJGb250TWV0cmljcyB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSW50
ZWdlckZvbnRNZXRyaWNzKTsKKworcHVibGljOgorICAgIHN0YXRpYyBQYXNzT3duUHRyPEludGVn
ZXJGb250TWV0cmljcz4gY3JlYXRlKGludCBhc2NlbnQsIGludCBkZXNjZW50LCBpbnQgbGluZUdh
cCwgaW50IGxpbmVTcGFjaW5nKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBJ
bnRlZ2VyRm9udE1ldHJpY3MoYXNjZW50LCBkZXNjZW50LCBsaW5lR2FwLCBsaW5lU3BhY2luZykp
OworICAgIH0KKworICAgIGludCBhc2NlbnQoKSBjb25zdCB7IHJldHVybiBtX2FzY2VudDsgfQor
ICAgIGludCBkZXNjZW50KCkgY29uc3QgeyByZXR1cm4gbV9kZXNjZW50OyB9CisgICAgaW50IGxp
bmVHYXAoKSBjb25zdCB7IHJldHVybiBtX2xpbmVHYXA7IH0KKyAgICBpbnQgbGluZVNwYWNpbmco
KSBjb25zdCB7IHJldHVybiBtX2xpbmVTcGFjaW5nOyB9CisKK3ByaXZhdGU6CisgICAgSW50ZWdl
ckZvbnRNZXRyaWNzKGludCBhc2NlbnQsIGludCBkZXNjZW50LCBpbnQgbGluZUdhcCwgaW50IGxp
bmVTcGFjaW5nKQorICAgICAgICA6IG1fYXNjZW50KGFzY2VudCkKKyAgICAgICAgLCBtX2Rlc2Nl
bnQoZGVzY2VudCkKKyAgICAgICAgLCBtX2xpbmVHYXAobGluZUdhcCkKKyAgICAgICAgLCBtX2xp
bmVTcGFjaW5nKGxpbmVTcGFjaW5nKQorICAgIHsKKyAgICB9CisKKyAgICBpbnQgbV9hc2NlbnQ7
CisgICAgaW50IG1fZGVzY2VudDsKKyAgICBpbnQgbV9saW5lR2FwOworICAgIGludCBtX2xpbmVT
cGFjaW5nOworfTsKKworY29uc3QgdW5zaWduZWQgZ0RlZmF1bHRVbml0c1BlckVtID0gMTAwMDsK
KworY2xhc3MgRm9udE1ldHJpY3MgeworcHVibGljOgorICAgIEZvbnRNZXRyaWNzKCkKKyAgICAg
ICAgOiBtX3VuaXRzUGVyRW0oZ0RlZmF1bHRVbml0c1BlckVtKQorICAgICAgICAsIG1fYXNjZW50
KDApCisgICAgICAgICwgbV9kZXNjZW50KDApCisgICAgICAgICwgbV9saW5lR2FwKDApCisgICAg
ICAgICwgbV9saW5lU3BhY2luZygwKQorICAgICAgICAsIG1feEhlaWdodCgwKQorICAgIHsKKyAg
ICB9CisKKyAgICB1bnNpZ25lZCB1bml0c1BlckVtKCkgY29uc3QgeyByZXR1cm4gbV91bml0c1Bl
ckVtOyB9CisgICAgdm9pZCBzZXRVbml0c1BlckVtKHVuc2lnbmVkIHVuaXRzUGVyRW0pIHsgbV91
bml0c1BlckVtID0gdW5pdHNQZXJFbTsgfQorCisgICAgZmxvYXQgZmxvYXRBc2NlbnQoRm9udEJh
c2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0aWNCYXNlbGluZSkgY29uc3QKKyAgICB7Cisg
ICAgICAgIGlmIChiYXNlbGluZVR5cGUgPT0gQWxwaGFiZXRpY0Jhc2VsaW5lKQorICAgICAgICAg
ICAgcmV0dXJuIG1fYXNjZW50OworICAgICAgICByZXR1cm4gZmxvYXRIZWlnaHQoKSAvIDI7Cisg
ICAgfQorCisgICAgdm9pZCBzZXRBc2NlbnQoZmxvYXQgYXNjZW50KSB7IG1fYXNjZW50ID0gYXNj
ZW50OyB9CisKKyAgICBmbG9hdCBmbG9hdERlc2NlbnQoRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlw
ZSA9IEFscGhhYmV0aWNCYXNlbGluZSkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChiYXNlbGlu
ZVR5cGUgPT0gQWxwaGFiZXRpY0Jhc2VsaW5lKQorICAgICAgICAgICAgcmV0dXJuIG1fZGVzY2Vu
dDsKKyAgICAgICAgcmV0dXJuIGZsb2F0SGVpZ2h0KCkgLyAyOworICAgIH0KKworICAgIHZvaWQg
c2V0RGVzY2VudChmbG9hdCBkZXNjZW50KSB7IG1fZGVzY2VudCA9IGRlc2NlbnQ7IH0KKworICAg
IGZsb2F0IGZsb2F0SGVpZ2h0KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGlj
QmFzZWxpbmUpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gZmxvYXRBc2NlbnQoYmFzZWxp
bmVUeXBlKSArIGZsb2F0RGVzY2VudChiYXNlbGluZVR5cGUpOworICAgIH0KKworICAgIGZsb2F0
IGZsb2F0TGluZUdhcCgpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUdhcDsgfQorICAgIHZvaWQgc2V0
TGluZUdhcChmbG9hdCBsaW5lR2FwKSB7IG1fbGluZUdhcCA9IGxpbmVHYXA7IH0KKworICAgIGZs
b2F0IGZsb2F0TGluZVNwYWNpbmcoKSBjb25zdCB7IHJldHVybiBtX2xpbmVTcGFjaW5nOyB9Cisg
ICAgdm9pZCBzZXRMaW5lU3BhY2luZyhmbG9hdCBsaW5lU3BhY2luZykgeyBtX2xpbmVTcGFjaW5n
ID0gbGluZVNwYWNpbmc7IH0KKworICAgIGZsb2F0IHhIZWlnaHQoKSBjb25zdCB7IHJldHVybiBt
X3hIZWlnaHQ7IH0KKyAgICB2b2lkIHNldFhIZWlnaHQoZmxvYXQgeEhlaWdodCkgeyBtX3hIZWln
aHQgPSB4SGVpZ2h0OyB9CisKKyAgICAvLyBJbnRlZ2VyIHZhcmlhbnRzIG9mIGNlcnRhaW4gbWV0
cmljcywgdXNlZCBmb3IgSFRNTCByZW5kZXJpbmcuCisgICAgaW50IGFzY2VudChGb250QmFzZWxp
bmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBjb25zdAorICAgIHsKKyAgICAg
ICAgZW5zdXJlSW50ZWdlck1ldHJpY3MoKTsKKyAgICAgICAgaWYgKGJhc2VsaW5lVHlwZSA9PSBB
bHBoYWJldGljQmFzZWxpbmUpCisgICAgICAgICAgICByZXR1cm4gbV9pbnRlZ2VyTWV0cmljcy0+
YXNjZW50KCk7CisgICAgICAgIHJldHVybiBoZWlnaHQoKSAtIGhlaWdodCgpIC8gMjsKKyAgICB9
CisKKyAgICBpbnQgZGVzY2VudChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRp
Y0Jhc2VsaW5lKSBjb25zdAorICAgIHsKKyAgICAgICAgZW5zdXJlSW50ZWdlck1ldHJpY3MoKTsK
KyAgICAgICAgaWYgKGJhc2VsaW5lVHlwZSA9PSBBbHBoYWJldGljQmFzZWxpbmUpCisgICAgICAg
ICAgICByZXR1cm4gbV9pbnRlZ2VyTWV0cmljcy0+ZGVzY2VudCgpOworICAgICAgICByZXR1cm4g
aGVpZ2h0KCkgLyAyOworICAgIH0KKworICAgIGludCBoZWlnaHQoRm9udEJhc2VsaW5lIGJhc2Vs
aW5lVHlwZSA9IEFscGhhYmV0aWNCYXNlbGluZSkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVy
biBhc2NlbnQoYmFzZWxpbmVUeXBlKSArIGRlc2NlbnQoYmFzZWxpbmVUeXBlKTsKKyAgICB9CisK
KyAgICBpbnQgbGluZUdhcCgpIGNvbnN0CisgICAgeworICAgICAgICBlbnN1cmVJbnRlZ2VyTWV0
cmljcygpOworICAgICAgICByZXR1cm4gbV9pbnRlZ2VyTWV0cmljcy0+bGluZUdhcCgpOworICAg
IH0KKworICAgIGludCBsaW5lU3BhY2luZygpIGNvbnN0CisgICAgeworICAgICAgICBlbnN1cmVJ
bnRlZ2VyTWV0cmljcygpOworICAgICAgICByZXR1cm4gbV9pbnRlZ2VyTWV0cmljcy0+bGluZVNw
YWNpbmcoKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgZnJpZW5kIGNsYXNzIFNpbXBsZUZvbnRE
YXRhOworCisgICAgdm9pZCByZXNldCgpCisgICAgeworICAgICAgICBtX2ludGVnZXJNZXRyaWNz
LmNsZWFyKCk7CisgICAgICAgIG1fdW5pdHNQZXJFbSA9IGdEZWZhdWx0VW5pdHNQZXJFbTsKKyAg
ICAgICAgbV9hc2NlbnQgPSAwOworICAgICAgICBtX2Rlc2NlbnQgPSAwOworICAgICAgICBtX2xp
bmVHYXAgPSAwOworICAgICAgICBtX2xpbmVTcGFjaW5nID0gMDsKKyAgICAgICAgbV94SGVpZ2h0
ID0gMDsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgdm9pZCBlbnN1cmVJbnRlZ2VyTWV0cmljcygp
IGNvbnN0CisgICAgeworICAgICAgICBpZiAobV9pbnRlZ2VyTWV0cmljcykKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgaW50IGFzY2VudCA9IGxyb3VuZGYobV9hc2NlbnQpOworICAgICAg
ICBpbnQgZGVzY2VudCA9IGxyb3VuZGYobV9kZXNjZW50KTsKKyAgICAgICAgaW50IGxpbmVHYXAg
PSBscm91bmRmKG1fbGluZUdhcCk7CisgICAgICAgIG1faW50ZWdlck1ldHJpY3MgPSBJbnRlZ2Vy
Rm9udE1ldHJpY3M6OmNyZWF0ZShhc2NlbnQsIGRlc2NlbnQsIGxpbmVHYXAsIGFzY2VudCArIGRl
c2NlbnQgKyBsaW5lR2FwKTsKKyAgICB9CisKKyAgICB1bnNpZ25lZCBtX3VuaXRzUGVyRW07Cisg
ICAgZmxvYXQgbV9hc2NlbnQ7CisgICAgZmxvYXQgbV9kZXNjZW50OworICAgIGZsb2F0IG1fbGlu
ZUdhcDsKKyAgICBmbG9hdCBtX2xpbmVTcGFjaW5nOworICAgIGZsb2F0IG1feEhlaWdodDsKKyAg
ICBtdXRhYmxlIE93blB0cjxJbnRlZ2VyRm9udE1ldHJpY3M+IG1faW50ZWdlck1ldHJpY3M7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBGb250TWV0cmljc19oCklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcAkocmV2
aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRh
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNyArNTAsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBTaW1wbGVGb250RGF0YTo6U2ltcGxlRm9udERhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYg
cGxhdGZvcm1EYXRhLCBib29sIGlzQ3VzdG9tRm9udCwgYm9vbCBpc0xvYWRpbmcpCiAgICAgOiBt
X21heENoYXJXaWR0aCgtMSkKICAgICAsIG1fYXZnQ2hhcldpZHRoKC0xKQotICAgICwgbV91bml0
c1BlckVtKGRlZmF1bHRVbml0c1BlckVtKQogICAgICwgbV9vcmllbnRhdGlvbihwbGF0Zm9ybURh
dGEub3JpZW50YXRpb24oKSkKICAgICAsIG1fcGxhdGZvcm1EYXRhKHBsYXRmb3JtRGF0YSkKICAg
ICAsIG1fdHJlYXRBc0ZpeGVkUGl0Y2goZmFsc2UpCkBAIC03NCwyMyArNzMsMjkgQEAgU2ltcGxl
Rm9udERhdGE6OlNpbXBsZUZvbnREYXRhKFBhc3NPd25QdAogICAgICwgbV9pc0Jyb2tlbklkZW9n
cmFwaEZvbnQoZmFsc2UpCiB7CiAgICAgU1ZHRm9udEZhY2VFbGVtZW50KiBzdmdGb250RmFjZUVs
ZW1lbnQgPSBtX3N2Z0ZvbnREYXRhLT5zdmdGb250RmFjZUVsZW1lbnQoKTsKLSAgICBtX3VuaXRz
UGVyRW0gPSBzdmdGb250RmFjZUVsZW1lbnQtPnVuaXRzUGVyRW0oKTsKKyAgICB1bnNpZ25lZCB1
bml0c1BlckVtID0gc3ZnRm9udEZhY2VFbGVtZW50LT51bml0c1BlckVtKCk7CiAKLSAgICBkb3Vi
bGUgc2NhbGUgPSBzaXplOwotICAgIGlmIChtX3VuaXRzUGVyRW0pCi0gICAgICAgIHNjYWxlIC89
IG1fdW5pdHNQZXJFbTsKLQotICAgIG1fYXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50PihzdmdGb250
RmFjZUVsZW1lbnQtPmFzY2VudCgpICogc2NhbGUpOwotICAgIG1fZGVzY2VudCA9IHN0YXRpY19j
YXN0PGludD4oc3ZnRm9udEZhY2VFbGVtZW50LT5kZXNjZW50KCkgKiBzY2FsZSk7Ci0gICAgbV94
SGVpZ2h0ID0gc3RhdGljX2Nhc3Q8aW50PihzdmdGb250RmFjZUVsZW1lbnQtPnhIZWlnaHQoKSAq
IHNjYWxlKTsKLSAgICBtX2xpbmVHYXAgPSAwLjFmICogc2l6ZTsKLSAgICBtX2xpbmVTcGFjaW5n
ID0gbV9hc2NlbnQgKyBtX2Rlc2NlbnQgKyBtX2xpbmVHYXA7CisgICAgZmxvYXQgc2NhbGUgPSBz
aXplOworICAgIGlmICh1bml0c1BlckVtKQorICAgICAgICBzY2FsZSAvPSB1bml0c1BlckVtOwor
CisgICAgLy8gRklYTUU6IFVzZSBmbG9hdGluZy1wb2ludCBtZXRyaWNzLCBub3cgdGhhdCB0aGV5
J3JlIGV4cG9zZWQhCisgICAgaW50IHhIZWlnaHQgPSBzdGF0aWNfY2FzdDxpbnQ+KHN2Z0ZvbnRG
YWNlRWxlbWVudC0+eEhlaWdodCgpICogc2NhbGUpOworICAgIGludCBhc2NlbnQgPSBzdGF0aWNf
Y2FzdDxpbnQ+KHN2Z0ZvbnRGYWNlRWxlbWVudC0+YXNjZW50KCkgKiBzY2FsZSk7CisgICAgaW50
IGRlc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KHN2Z0ZvbnRGYWNlRWxlbWVudC0+ZGVzY2VudCgp
ICogc2NhbGUpOworICAgIGludCBsaW5lR2FwID0gMC4xZiAqIHNpemU7CisgICAgbV9mb250TWV0
cmljcy5zZXRVbml0c1BlckVtKHVuaXRzUGVyRW0pOworICAgIG1fZm9udE1ldHJpY3Muc2V0QXNj
ZW50KGFzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGRlc2NlbnQpOworICAg
IG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChsaW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNl
dExpbmVTcGFjaW5nKGFzY2VudCArIGRlc2NlbnQgKyBsaW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRy
aWNzLnNldFhIZWlnaHQoeEhlaWdodCk7CiAKICAgICBTVkdGb250RWxlbWVudCogYXNzb2NpYXRl
ZEZvbnRFbGVtZW50ID0gc3ZnRm9udEZhY2VFbGVtZW50LT5hc3NvY2lhdGVkRm9udEVsZW1lbnQo
KTsKIAogICAgIFZlY3RvcjxTVkdHbHlwaElkZW50aWZpZXI+IHNwYWNlR2x5cGhzOwogICAgIGFz
c29jaWF0ZWRGb250RWxlbWVudC0+Z2V0R2x5cGhJZGVudGlmaWVyc0ZvclN0cmluZyhTdHJpbmco
IiAiLCAxKSwgc3BhY2VHbHlwaHMpOwotICAgIG1fc3BhY2VXaWR0aCA9IHNwYWNlR2x5cGhzLmlz
RW1wdHkoKSA/IG1feEhlaWdodCA6IHN0YXRpY19jYXN0PGZsb2F0PihzcGFjZUdseXBocy5maXJz
dCgpLmhvcml6b250YWxBZHZhbmNlWCAqIHNjYWxlKTsKKyAgICBtX3NwYWNlV2lkdGggPSBzcGFj
ZUdseXBocy5pc0VtcHR5KCkgPyB4SGVpZ2h0IDogc3RhdGljX2Nhc3Q8ZmxvYXQ+KHNwYWNlR2x5
cGhzLmZpcnN0KCkuaG9yaXpvbnRhbEFkdmFuY2VYICogc2NhbGUpOwogCiAgICAgVmVjdG9yPFNW
R0dseXBoSWRlbnRpZmllcj4gbnVtZXJhbFplcm9HbHlwaHM7CiAgICAgYXNzb2NpYXRlZEZvbnRF
bGVtZW50LT5nZXRHbHlwaElkZW50aWZpZXJzRm9yU3RyaW5nKFN0cmluZygiMCIsIDEpLCBudW1l
cmFsWmVyb0dseXBocyk7CkBAIC05OCw3ICsxMDMsNyBAQCBTaW1wbGVGb250RGF0YTo6U2ltcGxl
Rm9udERhdGEoUGFzc093blB0CiAKICAgICBWZWN0b3I8U1ZHR2x5cGhJZGVudGlmaWVyPiBsZXR0
ZXJXR2x5cGhzOwogICAgIGFzc29jaWF0ZWRGb250RWxlbWVudC0+Z2V0R2x5cGhJZGVudGlmaWVy
c0ZvclN0cmluZyhTdHJpbmcoIlciLCAxKSwgbGV0dGVyV0dseXBocyk7Ci0gICAgbV9tYXhDaGFy
V2lkdGggPSBsZXR0ZXJXR2x5cGhzLmlzRW1wdHkoKSA/IG1fYXNjZW50IDogc3RhdGljX2Nhc3Q8
ZmxvYXQ+KGxldHRlcldHbHlwaHMuZmlyc3QoKS5ob3Jpem9udGFsQWR2YW5jZVggKiBzY2FsZSk7
CisgICAgbV9tYXhDaGFyV2lkdGggPSBsZXR0ZXJXR2x5cGhzLmlzRW1wdHkoKSA/IGFzY2VudCA6
IHN0YXRpY19jYXN0PGZsb2F0PihsZXR0ZXJXR2x5cGhzLmZpcnN0KCkuaG9yaXpvbnRhbEFkdmFu
Y2VYICogc2NhbGUpOwogCiAgICAgLy8gRklYTUU6IGlzIHRoZXJlIGEgd2F5IHdlIGNhbiBnZXQg
dGhlIHNwYWNlIGdseXBoIGZyb20gdGhlIFNWR0dseXBoSWRlbnRpZmllciBhYm92ZT8KICAgICBt
X3NwYWNlR2x5cGggPSAwOwpAQCAtMTI2LDEwICsxMzEsMTEgQEAgdm9pZCBTaW1wbGVGb250RGF0
YTo6aW5pdENoYXJXaWR0aHMoKQogCiAgICAgLy8gSWYgd2UgY2FuJ3QgcmV0cmlldmUgdGhlIHdp
ZHRoIG9mIGEgJzAnLCBmYWxsIGJhY2sgdG8gdGhlIHggaGVpZ2h0LgogICAgIGlmIChtX2F2Z0No
YXJXaWR0aCA8PSAwLmYpCi0gICAgICAgIG1fYXZnQ2hhcldpZHRoID0gbV94SGVpZ2h0OworICAg
ICAgICBtX2F2Z0NoYXJXaWR0aCA9IG1fZm9udE1ldHJpY3MueEhlaWdodCgpOwogCisgICAgLy8g
RklYTUU6IFVzZSBmbG9hdGluZy1wb2ludCBtZXRyaWNzLCBub3cgdGhhdCB0aGV5J3JlIGV4cG9z
ZWQhCiAgICAgaWYgKG1fbWF4Q2hhcldpZHRoIDw9IDAuZikKLSAgICAgICAgbV9tYXhDaGFyV2lk
dGggPSBtYXg8ZmxvYXQ+KG1fYXZnQ2hhcldpZHRoLCBtX2FzY2VudCk7CisgICAgICAgIG1fbWF4
Q2hhcldpZHRoID0gbWF4PGZsb2F0PihtX2F2Z0NoYXJXaWR0aCwgbV9mb250TWV0cmljcy5hc2Nl
bnQoKSk7CiB9CiAKIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtR2x5cGhJbml0KCkKSW5k
ZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgJKHJldmlzaW9u
IDc0NDY3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAKICNpbmNsdWRlICJGb250QmFzZWxpbmUu
aCIKICNpbmNsdWRlICJGb250RGF0YS5oIgorI2luY2x1ZGUgIkZvbnRNZXRyaWNzLmgiCiAjaW5j
bHVkZSAiRm9udFBsYXRmb3JtRGF0YS5oIgogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1
ZGUgIkdseXBoTWV0cmljc01hcC5oIgpAQCAtMTAxLDE1ICsxMDIsOSBAQCBwdWJsaWM6CiAgICAg
Ly8gRklYTUU6IFVzZSB0aGUgYWN0dWFsIG1ldHJpY3MgZm9yIGZvbnRzIHdpdGggdmVydGljYWwg
dGFibGVzIGluc3RlYWQgb2YganVzdCBoYXJkLWNvZGluZy4gIElmIHRoZSBmb250IGlzIGhvcml6
b250YWxseSBvcmllbnRlZCBvcgogICAgIC8vIGEgYnJva2VuIGlkZW9ncmFwaGljIGZvbnQsIHRo
ZW4ganVzdCBoYXJkLWNvZGUgdG8gc3BsaXQgYXNjZW50L2Rlc2NlbnQgZG93biB0aGUgbWlkZGxl
LiAgT3RoZXJ3aXNlIHdlIHNob3VsZCBhY3R1YWxseSB1c2UgdGhlIG1ldHJpY3MKICAgICAvLyBm
cm9tIHRoZSBmb250IGl0c2VsZi4KLSAgICBpbnQgYXNjZW50KEZvbnRCYXNlbGluZSBiYXNlbGlu
ZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0IHsgcmV0dXJuIGJhc2VsaW5lVHlwZSA9
PSBBbHBoYWJldGljQmFzZWxpbmUgPyBtX2FzY2VudCA6IGhlaWdodCgpIC0gaGVpZ2h0KCkgLyAy
OyB9Ci0gICAgaW50IGRlc2NlbnQoRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0
aWNCYXNlbGluZSkgY29uc3QgeyByZXR1cm4gYmFzZWxpbmVUeXBlID09IEFscGhhYmV0aWNCYXNl
bGluZSA/IG1fZGVzY2VudCA6IGhlaWdodCgpIC8gMjsgfQotICAgIGludCBoZWlnaHQoKSBjb25z
dCB7IHJldHVybiBtX2FzY2VudCArIG1fZGVzY2VudDsgfQotICAgIGludCBsaW5lU3BhY2luZygp
IGNvbnN0IHsgcmV0dXJuIG1fbGluZVNwYWNpbmc7IH0KLSAgICBpbnQgbGluZUdhcCgpIGNvbnN0
IHsgcmV0dXJuIG1fbGluZUdhcDsgfQorICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmlj
cygpIGNvbnN0IHsgcmV0dXJuIG1fZm9udE1ldHJpY3M7IH0KICAgICBmbG9hdCBtYXhDaGFyV2lk
dGgoKSBjb25zdCB7IHJldHVybiBtX21heENoYXJXaWR0aDsgfQogICAgIGZsb2F0IGF2Z0NoYXJX
aWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fYXZnQ2hhcldpZHRoOyB9Ci0gICAgZmxvYXQgeEhlaWdo
dCgpIGNvbnN0IHsgcmV0dXJuIG1feEhlaWdodDsgfQotICAgIHVuc2lnbmVkIHVuaXRzUGVyRW0o
KSBjb25zdCB7IHJldHVybiBtX3VuaXRzUGVyRW07IH0KIAogICAgIEZsb2F0UmVjdCBib3VuZHNG
b3JHbHlwaChHbHlwaCkgY29uc3Q7CiAgICAgZmxvYXQgd2lkdGhGb3JHbHlwaChHbHlwaCBnbHlw
aCkgY29uc3Q7CkBAIC0yMTEsMTQgKzIwNiw5IEBAIHByaXZhdGU6CiAgICAgZmxvYXQgd2lkdGhG
b3JHRElHbHlwaChHbHlwaCBnbHlwaCkgY29uc3Q7CiAjZW5kaWYKIAotICAgIGludCBtX2FzY2Vu
dDsKLSAgICBpbnQgbV9kZXNjZW50OwotICAgIGludCBtX2xpbmVTcGFjaW5nOwotICAgIGludCBt
X2xpbmVHYXA7CisgICAgRm9udE1ldHJpY3MgbV9mb250TWV0cmljczsKICAgICBmbG9hdCBtX21h
eENoYXJXaWR0aDsKICAgICBmbG9hdCBtX2F2Z0NoYXJXaWR0aDsKLSAgICBmbG9hdCBtX3hIZWln
aHQ7Ci0gICAgdW5zaWduZWQgbV91bml0c1BlckVtOwogICAgIAogICAgIEZvbnRPcmllbnRhdGlv
biBtX29yaWVudGF0aW9uOyAvLyBUaGlzIGlzIG91ciBzdXBwb3J0ZWQgb3JpZW50YXRpb24gYWNj
b3JkaW5nIHRvIHRoZSB0YWJsZXMgaW4gdGhlIGZvbnQuICBGb250UGxhdGZvcm1EYXRhIHdpbGwg
anVzdCBhbHdheXMgaGF2ZSB0aGUgZGVzaXJlZCBvcmllbnRhdGlvbi4KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyB2YWx1ZSByZXByZXNlbnRzIHdoYXQgd2UgYWN0
dWFsbHkgc3VwcG9ydC4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Rm9udENocm9taXVtV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1bVdpbi5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2hyb21pdW1XaW4uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNDYsMTAgKzI0NiwxMSBAQCBJbnRSZWN0IFRyYW5zcGFyZW5jeUF3YXJl
R2x5cGhQYWludGVyOjplCiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtX251bUdseXBoczsgaSsr
KQogICAgICAgICB0b3RhbFdpZHRoICs9IGxyb3VuZGYobV9nbHlwaEJ1ZmZlci5hZHZhbmNlQXQo
bV9mcm9tICsgaSkpOwogCi0gICAgcmV0dXJuIEludFJlY3QobV9wb2ludC54KCkgLSAobV9mb250
LT5hc2NlbnQoKSArIG1fZm9udC0+ZGVzY2VudCgpKSAvIDIsCi0gICAgICAgICAgICAgICAgICAg
bV9wb2ludC55KCkgLSBtX2ZvbnQtPmFzY2VudCgpIC0gbV9mb250LT5saW5lR2FwKCksCi0gICAg
ICAgICAgICAgICAgICAgdG90YWxXaWR0aCArIG1fZm9udC0+YXNjZW50KCkgKyBtX2ZvbnQtPmRl
c2NlbnQoKSwKLSAgICAgICAgICAgICAgICAgICBtX2ZvbnQtPmxpbmVTcGFjaW5nKCkpOyAKKyAg
ICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBtX2ZvbnQtPmZvbnRNZXRyaWNzKCk7
CisgICAgcmV0dXJuIEludFJlY3QobV9wb2ludC54KCkgLSAoZm9udE1ldHJpY3MuYXNjZW50KCkg
KyBmb250TWV0cmljcy5kZXNjZW50KCkpIC8gMiwKKyAgICAgICAgICAgICAgICAgICBtX3BvaW50
LnkoKSAtIGZvbnRNZXRyaWNzLmFzY2VudCgpIC0gZm9udE1ldHJpY3MubGluZUdhcCgpLAorICAg
ICAgICAgICAgICAgICAgIHRvdGFsV2lkdGggKyBmb250TWV0cmljcy5hc2NlbnQoKSArIGZvbnRN
ZXRyaWNzLmRlc2NlbnQoKSwKKyAgICAgICAgICAgICAgICAgICBmb250TWV0cmljcy5saW5lU3Bh
Y2luZygpKTsgCiB9CiAKIGJvb2wgVHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50ZXI6OmRyYXdH
bHlwaHMoaW50IG51bUdseXBocywKQEAgLTI3MCw3ICsyNzEsNyBAQCBib29sIFRyYW5zcGFyZW5j
eUF3YXJlR2x5cGhQYWludGVyOjpkcmF3CiAgICAgLy8gV2luZG93cycgb3JpZ2luIGlzIHRoZSB0
b3AtbGVmdCBvZiB0aGUgYm91bmRpbmcgYm94LCBzbyB3ZSBoYXZlCiAgICAgLy8gdG8gc3VidHJh
Y3Qgb2ZmIHRoZSBmb250IGFzY2VudCB0byBnZXQgaXQuCiAgICAgaW50IHggPSBscm91bmRmKG1f
cG9pbnQueCgpICsgc3RhcnRBZHZhbmNlKTsKLSAgICBpbnQgeSA9IGxyb3VuZGYobV9wb2ludC55
KCkgLSBtX2ZvbnQtPmFzY2VudCgpKTsKKyAgICBpbnQgeSA9IGxyb3VuZGYobV9wb2ludC55KCkg
LSBtX2ZvbnQtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwogCiAgICAgLy8gSWYgdGhlcmUgaXMg
YSBub24tYmx1ciBzaGFkb3cgYW5kIGJvdGggdGhlIGZpbGwgY29sb3IgYW5kIHNoYWRvdyBjb2xv
ciAKICAgICAvLyBhcmUgb3BhcXVlLCBoYW5kbGUgd2l0aG91dCBza2lhLiAKQEAgLTM1NCwxMCAr
MzU1LDExIEBAIEludFJlY3QgVHJhbnNwYXJlbmN5QXdhcmVVbmlzY3JpYmVQYWludGUKICAgICAv
LyBUaGlzIGFsZ29yaXRobSBmb3IgZXN0aW1hdGluZyBob3cgbXVjaCBleHRyYSBzcGFjZSB3ZSBu
ZWVkICh0aGUgdGV4dCBtYXkKICAgICAvLyBnbyBvdXRzaWRlIHRoZSBzZWxlY3Rpb24gcmVjdCkg
aXMgYmFzZWQgcm91Z2hseSBvbgogICAgIC8vIFRyYW5zcGFyZW5jeUF3YXJlR2x5cGhQYWludGVy
Ojplc3RpbWF0ZVRleHRCb3VuZHMgYWJvdmUuCi0gICAgcmV0dXJuIEludFJlY3QobGVmdCAtICht
X2ZvbnQtPmFzY2VudCgpICsgbV9mb250LT5kZXNjZW50KCkpIC8gMiwKLSAgICAgICAgICAgICAg
ICAgICBtX3BvaW50LnkoKSAtIG1fZm9udC0+YXNjZW50KCkgLSBtX2ZvbnQtPmxpbmVHYXAoKSwK
LSAgICAgICAgICAgICAgICAgICAocmlnaHQgLSBsZWZ0KSArIG1fZm9udC0+YXNjZW50KCkgKyBt
X2ZvbnQtPmRlc2NlbnQoKSwKLSAgICAgICAgICAgICAgICAgICBtX2ZvbnQtPmxpbmVTcGFjaW5n
KCkpOworICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IG1fZm9udC0+Zm9udE1l
dHJpY3MoKTsKKyAgICByZXR1cm4gSW50UmVjdChsZWZ0IC0gKGZvbnRNZXRyaWNzLmFzY2VudCgp
ICsgZm9udE1ldHJpY3MuZGVzY2VudCgpKSAvIDIsCisgICAgICAgICAgICAgICAgICAgbV9wb2lu
dC55KCkgLSBmb250TWV0cmljcy5hc2NlbnQoKSAtIGZvbnRNZXRyaWNzLmxpbmVHYXAoKSwKKyAg
ICAgICAgICAgICAgICAgICAocmlnaHQgLSBsZWZ0KSArIGZvbnRNZXRyaWNzLmFzY2VudCgpICsg
Zm9udE1ldHJpY3MuZGVzY2VudCgpLAorICAgICAgICAgICAgICAgICAgIGZvbnRNZXRyaWNzLmxp
bmVTcGFjaW5nKCkpOwogfQogCiB9ICAvLyBuYW1lc3BhY2UKQEAgLTQ5NiwxNCArNDk4LDE0IEBA
IHZvaWQgRm9udDo6ZHJhd0NvbXBsZXhUZXh0KEdyYXBoaWNzQ29udGUKICAgICAgICAgQ09MT1JS
RUYgc2F2ZWRUZXh0Q29sb3IgPSBHZXRUZXh0Q29sb3IoaGRjKTsKICAgICAgICAgU2V0VGV4dENv
bG9yKGhkYywgdGV4dENvbG9yKTsKICAgICAgICAgc3RhdGUuZHJhdyhncmFwaGljc0NvbnRleHQs
IGhkYywgc3RhdGljX2Nhc3Q8aW50Pihwb2ludC54KCkpICsgc2hhZG93T2Zmc2V0LndpZHRoKCks
Ci0gICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihwb2ludC55KCkgLSBhc2NlbnQo
KSkgKyBzaGFkb3dPZmZzZXQuaGVpZ2h0KCksIGZyb20sIHRvKTsKKyAgICAgICAgICAgICAgICAg
ICBzdGF0aWNfY2FzdDxpbnQ+KHBvaW50LnkoKSAtIGZvbnRNZXRyaWNzKCkuYXNjZW50KCkpICsg
c2hhZG93T2Zmc2V0LmhlaWdodCgpLCBmcm9tLCB0byk7CiAgICAgICAgIFNldFRleHRDb2xvciho
ZGMsIHNhdmVkVGV4dENvbG9yKTsgCiAgICAgfQogCiAgICAgLy8gVW5pc2NyaWJlIGNvdW50cyB0
aGUgY29vcmRpbmF0ZXMgZnJvbSB0aGUgdXBwZXIgbGVmdCwgd2hpbGUgV2ViS2l0IHVzZXMKICAg
ICAvLyB0aGUgYmFzZWxpbmUsIHNvIHdlIGhhdmUgdG8gc3VidHJhY3Qgb2ZmIHRoZSBhc2NlbnQu
CiAgICAgc3RhdGUuZHJhdyhncmFwaGljc0NvbnRleHQsIGhkYywgc3RhdGljX2Nhc3Q8aW50Pihw
b2ludC54KCkpLAotICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihwb2ludC55KCkgLSBh
c2NlbnQoKSksIGZyb20sIHRvKTsKKyAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4ocG9p
bnQueSgpIC0gZm9udE1ldHJpY3MoKS5hc2NlbnQoKSksIGZyb20sIHRvKTsKIAogICAgIGNvbnRl
eHQtPmNhbnZhcygpLT5lbmRQbGF0Zm9ybVBhaW50KCk7CiB9CkluZGV4OiBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhQ2hyb21pdW1XaW4uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERh
dGFDaHJvbWl1bVdpbi5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTQsMTQgKzU0LDkgQEAgc3RhdGljIGlubGluZSBmbG9hdCBzY2FsZUVtVG9Vbml0
cyhmbG9hdAogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKIHsKICAgICBpZiAo
IW1fcGxhdGZvcm1EYXRhLnNpemUoKSkgewotICAgICAgICBtX2FzY2VudCA9IDA7Ci0gICAgICAg
IG1fZGVzY2VudCA9IDA7Ci0gICAgICAgIG1fbGluZUdhcCA9IDA7Ci0gICAgICAgIG1fbGluZVNw
YWNpbmcgPSAwOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnJlc2V0KCk7CiAgICAgICAgIG1fYXZn
Q2hhcldpZHRoID0gMDsKICAgICAgICAgbV9tYXhDaGFyV2lkdGggPSAwOwotICAgICAgICBtX3hI
ZWlnaHQgPSAwOwotICAgICAgICBtX3VuaXRzUGVyRW0gPSAwOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogCkBAIC04MiwxMCArNzcsMTEgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1J
bml0KCkKICAgICBtX2F2Z0NoYXJXaWR0aCA9IHRleHRNZXRyaWMudG1BdmVDaGFyV2lkdGg7CiAg
ICAgbV9tYXhDaGFyV2lkdGggPSB0ZXh0TWV0cmljLnRtTWF4Q2hhcldpZHRoOwogCi0gICAgbV9h
c2NlbnQgPSB0ZXh0TWV0cmljLnRtQXNjZW50OwotICAgIG1fZGVzY2VudCA9IHRleHRNZXRyaWMu
dG1EZXNjZW50OwotICAgIG1fbGluZUdhcCA9IHRleHRNZXRyaWMudG1FeHRlcm5hbExlYWRpbmc7
Ci0gICAgbV94SGVpZ2h0ID0gbV9hc2NlbnQgKiAwLjU2ZjsgIC8vIEJlc3QgZ3Vlc3MgZm9yIHhI
ZWlnaHQgZm9yIG5vbi1UcnVldHlwZSBmb250cy4KKyAgICAvLyBGSVhNRTogQWNjZXNzIGFzY2Vu
dC9kZXNjZW50L2xpbmVHYXAgd2l0aCBmbG9hdGluZyBwb2ludCBwcmVjaXNpb24uCisgICAgZmxv
YXQgYXNjZW50ID0gdGV4dE1ldHJpYy50bUFzY2VudDsKKyAgICBmbG9hdCBkZXNjZW50ID0gdGV4
dE1ldHJpYy50bURlc2NlbnQ7CisgICAgZmxvYXQgbGluZUdhcCA9IHRleHRNZXRyaWMudG1FeHRl
cm5hbExlYWRpbmc7CisgICAgZmxvYXQgeEhlaWdodCA9IGFzY2VudCAqIDAuNTZmOyAvLyBCZXN0
IGd1ZXNzIGZvciB4SGVpZ2h0IGZvciBub24tVHJ1ZXR5cGUgZm9udHMuCiAKICAgICBPVVRMSU5F
VEVYVE1FVFJJQyBvdXRsaW5lVGV4dE1ldHJpYzsKICAgICBpZiAoR2V0T3V0bGluZVRleHRNZXRy
aWNzKGRjLCBzaXplb2Yob3V0bGluZVRleHRNZXRyaWMpLCAmb3V0bGluZVRleHRNZXRyaWMpID4g
MCkgewpAQCAtOTQsMTAgKzkwLDE0IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5p
dCgpCiAgICAgICAgIE1BVDIgaWRlbnRpdHlNYXRyaXggPSB7ezAsIDF9LCB7MCwgMH0sIHswLCAw
fSwgezAsIDF9fTsKICAgICAgICAgRFdPUkQgbGVuID0gR2V0R2x5cGhPdXRsaW5lVyhkYywgJ3gn
LCBHR09fTUVUUklDUywgJmdseXBoTWV0cmljcywgMCwgMCwgJmlkZW50aXR5TWF0cml4KTsKICAg
ICAgICAgaWYgKGxlbiAhPSBHRElfRVJST1IgJiYgZ2x5cGhNZXRyaWNzLmdtQmxhY2tCb3hZID4g
MCkKLSAgICAgICAgICAgIG1feEhlaWdodCA9IHN0YXRpY19jYXN0PGZsb2F0PihnbHlwaE1ldHJp
Y3MuZ21CbGFja0JveFkpOworICAgICAgICAgICAgeEhlaWdodCA9IHN0YXRpY19jYXN0PGZsb2F0
PihnbHlwaE1ldHJpY3MuZ21CbGFja0JveFkpOwogICAgIH0KIAotICAgIG1fbGluZVNwYWNpbmcg
PSBtX2FzY2VudCArIG1fZGVzY2VudCArIG1fbGluZUdhcDsKKyAgICBtX2ZvbnRNZXRyaWNzLnNl
dEFzY2VudChhc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChkZXNjZW50KTsK
KyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZUdhcCk7CisgICAgbV9mb250TWV0cmlj
cy5zZXRMaW5lU3BhY2luZyhhc2NlbnQgKyBkZXNjZW50ICsgbGluZUdhcCk7CisgICAgbV9mb250
TWV0cmljcy5zZXRYSGVpZ2h0KHhIZWlnaHQpOwogCiAgICAgU2VsZWN0T2JqZWN0KGRjLCBvbGRG
b250KTsKICAgICBSZWxlYXNlREMoMCwgZGMpOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUxpbnV4LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhTGludXguY3BwCShy
ZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2lt
cGxlRm9udERhdGFMaW51eC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDE0ICs1NSw5IEBAIHN0
YXRpYyBjb25zdCBzaXplX3QgbWF4VkRNWFRhYmxlU2l6ZSA9IDEKIHZvaWQgU2ltcGxlRm9udERh
dGE6OnBsYXRmb3JtSW5pdCgpCiB7CiAgICAgaWYgKCFtX3BsYXRmb3JtRGF0YS5zaXplKCkpIHsK
LSAgICAgICAgbV9hc2NlbnQgPSAwOwotICAgICAgICBtX2Rlc2NlbnQgPSAwOwotICAgICAgICBt
X2xpbmVHYXAgPSAwOwotICAgICAgICBtX2xpbmVTcGFjaW5nID0gMDsKKyAgICAgICAgbV9mb250
TWV0cmljcy5yZXNldCgpOwogICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9IDA7CiAgICAgICAgIG1f
bWF4Q2hhcldpZHRoID0gMDsKLSAgICAgICAgbV94SGVpZ2h0ID0gMDsKLSAgICAgICAgbV91bml0
c1BlckVtID0gMDsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtODgsMjYgKzgzLDM2IEBA
IHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgICAgIGZhc3RGcmVlKHZk
bXhUYWJsZSk7CiAgICAgfQogCisgICAgZmxvYXQgYXNjZW50OworICAgIGZsb2F0IGRlc2NlbnQ7
CisKICAgICAvLyBCZXdhcmUgdGhvc2Ugd2hvIHN0ZXAgaGVyZTogVGhpcyBjb2RlIGlzIGRlc2ln
bmVkIHRvIG1hdGNoIFdpbjMyIGZvbnQKICAgICAvLyBtZXRyaWNzICpleGFjdGx5Ki4KICAgICBp
ZiAoaXNWRE1YVmFsaWQpIHsKLSAgICAgICAgbV9hc2NlbnQgPSB2ZG14QXNjZW50OwotICAgICAg
ICBtX2Rlc2NlbnQgPSAtdmRteERlc2NlbnQ7CisgICAgICAgIC8vIEZJWE1FOiBBY2Nlc3MgYXNj
ZW50L2Rlc2NlbnQgd2l0aCBmbG9hdGluZyBwb2ludCBwcmVjaXNpb24uCisgICAgICAgIGFzY2Vu
dCA9IHZkbXhBc2NlbnQ7CisgICAgICAgIGRlc2NlbnQgPSAtdmRteERlc2NlbnQ7CiAgICAgfSBl
bHNlIHsKICAgICAgICAgU2tTY2FsYXIgaGVpZ2h0ID0gLW1ldHJpY3MuZkFzY2VudCArIG1ldHJp
Y3MuZkRlc2NlbnQgKyBtZXRyaWNzLmZMZWFkaW5nOwotICAgICAgICBtX2FzY2VudCA9IFNrU2Nh
bGFyUm91bmQoLW1ldHJpY3MuZkFzY2VudCk7Ci0gICAgICAgIG1fZGVzY2VudCA9IFNrU2NhbGFy
Um91bmQoaGVpZ2h0KSAtIG1fYXNjZW50OworICAgICAgICBhc2NlbnQgPSBTa1NjYWxhclRvRmxv
YXQoLW1ldHJpY3MuZkFzY2VudCk7CisgICAgICAgIGRlc2NlbnQgPSBTa1NjYWxhclRvRmxvYXQo
aGVpZ2h0KSAtIGFzY2VudDsKICAgICB9CiAKKyAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChh
c2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChkZXNjZW50KTsKKworICAgIGZs
b2F0IHhIZWlnaHQ7CiAgICAgaWYgKG1ldHJpY3MuZlhIZWlnaHQpCi0gICAgICAgIG1feEhlaWdo
dCA9IG1ldHJpY3MuZlhIZWlnaHQ7CisgICAgICAgIHhIZWlnaHQgPSBtZXRyaWNzLmZYSGVpZ2h0
OwogICAgIGVsc2UgewogICAgICAgICAvLyBoYWNrIHRha2VuIGZyb20gdGhlIFdpbmRvd3MgcG9y
dAotICAgICAgICBtX3hIZWlnaHQgPSBzdGF0aWNfY2FzdDxmbG9hdD4obV9hc2NlbnQpICogMC41
NjsKKyAgICAgICAgeEhlaWdodCA9IGFzY2VudCAqIDAuNTZmOwogICAgIH0KIAotICAgIG1fbGlu
ZUdhcCA9IFNrU2NhbGFyUm91bmQobWV0cmljcy5mTGVhZGluZyk7Ci0gICAgbV9saW5lU3BhY2lu
ZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50ICsgbV9saW5lR2FwOworICAgIGZsb2F0IGxpbmVHYXAg
PSBTa1NjYWxhclRvRmxvYXQobWV0cmljcy5mTGVhZGluZyk7CisgICAgbV9mb250TWV0cmljcy5z
ZXRMaW5lR2FwKGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNj
ZW50ICsgZGVzY2VudCArIGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh4
SGVpZ2h0KTsKIAogICAgIGlmIChtX29yaWVudGF0aW9uID09IFZlcnRpY2FsKSB7CiAgICAgICAg
IHN0YXRpYyBjb25zdCB1aW50MzJfdCB2aGVhVGFnID0gU2tTZXRGb3VyQnl0ZVRhZygndicsICdo
JywgJ2UnLCAnYScpOwpAQCAtMTI4LDcgKzEzMyw3IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBs
YXRmb3JtSW5pdCgpCiAgICAgaWYgKG1ldHJpY3MuZkF2Z0NoYXJXaWR0aCkKICAgICAgICAgbV9h
dmdDaGFyV2lkdGggPSBTa1NjYWxhclJvdW5kKG1ldHJpY3MuZkF2Z0NoYXJXaWR0aCk7CiAgICAg
ZWxzZSB7Ci0gICAgICAgIG1fYXZnQ2hhcldpZHRoID0gbV94SGVpZ2h0OworICAgICAgICBtX2F2
Z0NoYXJXaWR0aCA9IHhIZWlnaHQ7CiAKICAgICAgICAgR2x5cGhQYWdlKiBnbHlwaFBhZ2VaZXJv
ID0gR2x5cGhQYWdlVHJlZU5vZGU6OmdldFJvb3RDaGlsZCh0aGlzLCAwKS0+cGFnZSgpOwogCklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1VuaXNjcmliZUhlbHBlclRl
eHRSdW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vVW5pc2NyaWJlSGVscGVyVGV4dFJ1bi5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9VbmlzY3JpYmVIZWxwZXJUZXh0UnVuLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTAsNyArNTAsNyBAQCBVbmlzY3JpYmVIZWxwZXJUZXh0UnVuOjpV
bmlzY3JpYmVIZWxwZXJUCiAgICAgc2V0TGV0dGVyU3BhY2luZyhmb250LmxldHRlclNwYWNpbmco
KSk7CiAgICAgc2V0U3BhY2VXaWR0aChmb250LnNwYWNlV2lkdGgoKSk7CiAgICAgc2V0V29yZFNw
YWNpbmcoZm9udC53b3JkU3BhY2luZygpKTsKLSAgICBzZXRBc2NlbnQoZm9udC5wcmltYXJ5Rm9u
dCgpLT5hc2NlbnQoKSk7CisgICAgc2V0QXNjZW50KGZvbnQuZm9udE1ldHJpY3MoKS0+YXNjZW50
KCkpOwogCiAgICAgaW5pdCgpOwogCkBAIC0xMjAsNyArMTIwLDcgQEAgYm9vbCBVbmlzY3JpYmVI
ZWxwZXJUZXh0UnVuOjpuZXh0V2luRm9udAogICAgICAgICBtX2hmb250cy5hcHBlbmQoc2ltcGxl
Rm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLmhmb250KCkpOwogICAgICAgICBtX3NjcmlwdENhY2hl
cy5hcHBlbmQoc2ltcGxlRm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLnNjcmlwdENhY2hlKCkpOwog
ICAgICAgICBtX2ZvbnRQcm9wZXJ0aWVzLmFwcGVuZChzaW1wbGVGb250RGF0YS0+cGxhdGZvcm1E
YXRhKCkuc2NyaXB0Rm9udFByb3BlcnRpZXMoKSk7Ci0gICAgICAgIG1fYXNjZW50cy5hcHBlbmQo
c2ltcGxlRm9udERhdGEtPmFzY2VudCgpKTsKKyAgICAgICAgbV9hc2NlbnRzLmFwcGVuZChzaW1w
bGVGb250RGF0YS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAgfQogCiAgICAgKmhmb250
ID0gbV9oZm9udHNbbV9mb250SW5kZXggLSAxXTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFGcmVlVHlwZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1wbGVGb250RGF0YUZyZWVUeXBl
LmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0
eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCwyMSAr
NTAsMjcgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICBjYWlyb19m
b250X2V4dGVudHNfdCBmb250X2V4dGVudHM7CiAgICAgY2Fpcm9fdGV4dF9leHRlbnRzX3QgdGV4
dF9leHRlbnRzOwogICAgIGNhaXJvX3NjYWxlZF9mb250X2V4dGVudHMobV9wbGF0Zm9ybURhdGEu
c2NhbGVkRm9udCgpLCAmZm9udF9leHRlbnRzKTsKLSAgICBtX2FzY2VudCA9IHN0YXRpY19jYXN0
PGludD4obHJvdW5kZihmb250X2V4dGVudHMuYXNjZW50KSk7Ci0gICAgbV9kZXNjZW50ID0gc3Rh
dGljX2Nhc3Q8aW50Pihscm91bmRmKGZvbnRfZXh0ZW50cy5kZXNjZW50KSk7Ci0gICAgbV9saW5l
U3BhY2luZyA9IHN0YXRpY19jYXN0PGludD4obHJvdW5kZihmb250X2V4dGVudHMuaGVpZ2h0KSk7
CisKKyAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChmb250X2V4dGVudHMuYXNjZW50KTsKKyAg
ICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoZm9udF9leHRlbnRzLmRlc2NlbnQpOworCiAgICAg
Ly8gVGhlcmUgc2VlbXMgdG8gYmUgc29tZSByb3VuZGluZyBlcnJvciBpbiBjYWlybyAob3IgaW4g
aG93IHdlCiAgICAgLy8gdXNlIGNhaXJvKSB3aXRoIHNvbWUgZm9udHMsIGxpa2UgRGVqYVZ1IFNh
bnMgTW9ubywgd2hpY2ggbWFrZXMKICAgICAvLyBjYWlybyByZXBvcnQgYSBoZWlnaHQgc21hbGxl
ciB0aGFuIGFzY2VudCArIGRlc2NlbnQsIHdoaWNoIGlzCiAgICAgLy8gd3JvbmcgYW5kIGNvbmZ1
c2VzIFdlYkNvcmUncyBsYXlvdXQgc3lzdGVtLiBXb3JrYXJvdW5kIHRoaXMKICAgICAvLyB3aGls
ZSB3ZSBmaWd1cmUgb3V0IHdoYXQncyBnb2luZyBvbi4KLSAgICBpZiAobV9saW5lU3BhY2luZyA8
IG1fYXNjZW50ICsgbV9kZXNjZW50KQotICAgICAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQg
KyBtX2Rlc2NlbnQ7CisgICAgZmxvYXQgbGluZVNwYWNpbmcgPSBmb250X2V4dGVudHMuaGVpZ2h0
OworICAgIGlmIChsaW5lU3BhY2luZyA8IGZvbnRfZXh0ZW50cy5hc2NlbnQgKyBmb250X2V4dGVu
dHMuZGVzY2VudCkKKyAgICAgICAgbGluZVNwYWNpbmcgPSBmb250X2V4dGVudHMuYXNjZW50ICsg
Zm9udF9leHRlbnRzLmRlc2NlbnQ7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhs
aW5lU3BhY2luZyk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGxpbmVTcGFjaW5nIC0g
Zm9udF9leHRlbnRzLmFzY2VudCAtIGZvbnRfZXh0ZW50cy5kZXNjZW50KTsKKwogICAgIGNhaXJv
X3NjYWxlZF9mb250X3RleHRfZXh0ZW50cyhtX3BsYXRmb3JtRGF0YS5zY2FsZWRGb250KCksICJ4
IiwgJnRleHRfZXh0ZW50cyk7Ci0gICAgbV94SGVpZ2h0ID0gdGV4dF9leHRlbnRzLmhlaWdodDsK
KyAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQodGV4dF9leHRlbnRzLmhlaWdodCk7CisKICAg
ICBjYWlyb19zY2FsZWRfZm9udF90ZXh0X2V4dGVudHMobV9wbGF0Zm9ybURhdGEuc2NhbGVkRm9u
dCgpLCAiICIsICZ0ZXh0X2V4dGVudHMpOwogICAgIG1fc3BhY2VXaWR0aCA9IHN0YXRpY19jYXN0
PGZsb2F0Pih0ZXh0X2V4dGVudHMueF9hZHZhbmNlKTsKLSAgICBtX2xpbmVHYXAgPSBtX2xpbmVT
cGFjaW5nIC0gbV9hc2NlbnQgLSBtX2Rlc2NlbnQ7CisgICAgCiAgICAgbV9zeW50aGV0aWNCb2xk
T2Zmc2V0ID0gbV9wbGF0Zm9ybURhdGEuc3ludGhldGljQm9sZCgpID8gMS4wZiA6IDAuZjsKIH0K
IApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9TaW1wbGVGb250RGF0YUhh
aWt1LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2hhaWt1L1Np
bXBsZUZvbnREYXRhSGFpa3UuY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvaGFpa3UvU2ltcGxlRm9udERhdGFIYWlrdS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ4LDExICs0OCwxMSBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQog
CiAgICAgZm9udF9oZWlnaHQgaGVpZ2h0OwogICAgIGZvbnQtPkdldEhlaWdodCgmaGVpZ2h0KTsK
LSAgICBtX2FzY2VudCA9IHN0YXRpY19jYXN0PGludD4oaGVpZ2h0LmFzY2VudCk7Ci0gICAgbV9k
ZXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50PihoZWlnaHQuZGVzY2VudCk7Ci0gICAgbV9saW5lU3Bh
Y2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50OwotICAgIG1feEhlaWdodCA9IGhlaWdodC5hc2Nl
bnQgKiAwLjU2ZjsgLy8gSGFjayB0YWtlbiBmcm9tIHRoZSB3aW4gcG9ydC4KLSAgICBtX2xpbmVH
YXAgPSBoZWlnaHQubGVhZGluZzsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChoZWlnaHQu
YXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoaGVpZ2h0LmRlc2NlbnQpOwor
ICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoaGVpZ2h0LmFzY2VudCArIGhlaWdodC5k
ZXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQoaGVpZ2h0LmFzY2VudCAqIDAu
NTZmKTsgLy8gSGFjayB0YWtlbiBmcm9tIHRoZSB3aW4gcG9ydC4KKyAgICBtX2ZvbnRNZXRyaWNz
LnNldExpbmVHYXAoaGVpZ2h0LmxlYWRpbmcpOwogfQogCiB2b2lkIFNpbXBsZUZvbnREYXRhOjpw
bGF0Zm9ybUNoYXJXaWR0aEluaXQoKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvRm9udENvbXBsZXhUZXh0TWFjLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9Gb250Q29tcGxleFRleHRNYWMuY3BwCShyZXZpc2lvbiA3NDQ2NykKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21wbGV4VGV4dE1hYy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTExMCw4ICsxMTAsOCBAQCBmbG9hdCBGb250OjpmbG9hdFdpZHRoRm9y
Q29tcGxleFRleHQoY29uCiB7CiAgICAgQ29tcGxleFRleHRDb250cm9sbGVyIGNvbnRyb2xsZXIo
dGhpcywgcnVuLCB0cnVlLCBmYWxsYmFja0ZvbnRzKTsKICAgICBpZiAoZ2x5cGhPdmVyZmxvdykg
ewotICAgICAgICBnbHlwaE92ZXJmbG93LT50b3AgPSBtYXg8aW50PihnbHlwaE92ZXJmbG93LT50
b3AsIGNlaWxmKC1jb250cm9sbGVyLm1pbkdseXBoQm91bmRpbmdCb3hZKCkpIC0gYXNjZW50KCkp
OwotICAgICAgICBnbHlwaE92ZXJmbG93LT5ib3R0b20gPSBtYXg8aW50PihnbHlwaE92ZXJmbG93
LT5ib3R0b20sIGNlaWxmKGNvbnRyb2xsZXIubWF4R2x5cGhCb3VuZGluZ0JveFkoKSkgLSBkZXNj
ZW50KCkpOworICAgICAgICBnbHlwaE92ZXJmbG93LT50b3AgPSBtYXg8aW50PihnbHlwaE92ZXJm
bG93LT50b3AsIGNlaWxmKC1jb250cm9sbGVyLm1pbkdseXBoQm91bmRpbmdCb3hZKCkpIC0gZm9u
dE1ldHJpY3MoKS5hc2NlbnQoKSk7CisgICAgICAgIGdseXBoT3ZlcmZsb3ctPmJvdHRvbSA9IG1h
eDxpbnQ+KGdseXBoT3ZlcmZsb3ctPmJvdHRvbSwgY2VpbGYoY29udHJvbGxlci5tYXhHbHlwaEJv
dW5kaW5nQm94WSgpKSAtIGZvbnRNZXRyaWNzKCkuZGVzY2VudCgpKTsKICAgICAgICAgZ2x5cGhP
dmVyZmxvdy0+bGVmdCA9IG1heDxpbnQ+KDAsIGNlaWxmKC1jb250cm9sbGVyLm1pbkdseXBoQm91
bmRpbmdCb3hYKCkpKTsKICAgICAgICAgZ2x5cGhPdmVyZmxvdy0+cmlnaHQgPSBtYXg8aW50Pigw
LCBjZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91bmRpbmdCb3hYKCkgLSBjb250cm9sbGVyLnRv
dGFsV2lkdGgoKSkpOwogICAgIH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L0ZvbnRNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
Rm9udE1hYy5tbQkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21hYy9Gb250TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02MCw4ICs2MCw4IEBAIHN0YXRpYyB2
b2lkIHNob3dHbHlwaHNXaXRoQWR2YW5jZXMoY29uc3QKICAgICAgICAgICAgIHNhdmVkTWF0cml4
ID0gQ0dDb250ZXh0R2V0VGV4dE1hdHJpeChjb250ZXh0KTsKICAgICAgICAgICAgIENHQWZmaW5l
VHJhbnNmb3JtIHJ1bk1hdHJpeCA9IENHQWZmaW5lVHJhbnNmb3JtQ29uY2F0KHNhdmVkTWF0cml4
LCByb3RhdGVMZWZ0VHJhbnNmb3JtKTsKICAgICAgICAgICAgIC8vIE1vdmUgc3RhcnQgcG9pbnQg
dG8gcHV0IGdseXBocyBpbnRvIG9yaWdpbmFsIHJlZ2lvbi4KLSAgICAgICAgICAgIHJ1bk1hdHJp
eC50eCA9IHNhdmVkTWF0cml4LnR4ICsgZm9udC0+YXNjZW50KCk7Ci0gICAgICAgICAgICBydW5N
YXRyaXgudHkgPSBzYXZlZE1hdHJpeC50eSArIGZvbnQtPmRlc2NlbnQoKTsKKyAgICAgICAgICAg
IHJ1bk1hdHJpeC50eCA9IHNhdmVkTWF0cml4LnR4ICsgZm9udC0+Zm9udE1ldHJpY3MoKS5hc2Nl
bnQoKTsKKyAgICAgICAgICAgIHJ1bk1hdHJpeC50eSA9IHNhdmVkTWF0cml4LnR5ICsgZm9udC0+
Zm9udE1ldHJpY3MoKS5kZXNjZW50KCk7CiAgICAgICAgICAgICBDR0NvbnRleHRTZXRUZXh0TWF0
cml4KGNvbnRleHQsIHJ1bk1hdHJpeCk7CiAgICAgICAgIH0KIApJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW0JKHJldmlzaW9u
IDc0NDY3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFN
YWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTIxOCwxOSArMjE4LDIwIEBAIHZvaWQgU2ltcGxlRm9u
dERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgaW50IGlBc2NlbnQ7CiAgICAgaW50IGlEZXNjZW50
OwogICAgIGludCBpTGluZUdhcDsKKyAgICB1bnNpZ25lZCB1bml0c1BlckVtOwogI2lmZGVmIEJV
SUxESU5HX09OX1RJR0VSCi0gICAgd2tHZXRGb250TWV0cmljcyhtX3BsYXRmb3JtRGF0YS5jZ0Zv
bnQoKSwgJmlBc2NlbnQsICZpRGVzY2VudCwgJmlMaW5lR2FwLCAmbV91bml0c1BlckVtKTsKKyAg
ICB3a0dldEZvbnRNZXRyaWNzKG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpLCAmaUFzY2VudCwgJmlE
ZXNjZW50LCAmaUxpbmVHYXAsICZ1bml0c1BlckVtKTsKICNlbHNlCiAgICAgaUFzY2VudCA9IENH
Rm9udEdldEFzY2VudChtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSk7CiAgICAgaURlc2NlbnQgPSBD
R0ZvbnRHZXREZXNjZW50KG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpKTsKICAgICBpTGluZUdhcCA9
IENHRm9udEdldExlYWRpbmcobV9wbGF0Zm9ybURhdGEuY2dGb250KCkpOwotICAgIG1fdW5pdHNQ
ZXJFbSA9IENHRm9udEdldFVuaXRzUGVyRW0obV9wbGF0Zm9ybURhdGEuY2dGb250KCkpOworICAg
IHVuaXRzUGVyRW0gPSBDR0ZvbnRHZXRVbml0c1BlckVtKG1fcGxhdGZvcm1EYXRhLmNnRm9udCgp
KTsKICNlbmRpZgogCiAgICAgZmxvYXQgcG9pbnRTaXplID0gbV9wbGF0Zm9ybURhdGEubV9zaXpl
OwotICAgIGZsb2F0IGZBc2NlbnQgPSBzY2FsZUVtVG9Vbml0cyhpQXNjZW50LCBtX3VuaXRzUGVy
RW0pICogcG9pbnRTaXplOwotICAgIGZsb2F0IGZEZXNjZW50ID0gLXNjYWxlRW1Ub1VuaXRzKGlE
ZXNjZW50LCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXplOwotICAgIGZsb2F0IGZMaW5lR2FwID0g
c2NhbGVFbVRvVW5pdHMoaUxpbmVHYXAsIG1fdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7CisgICAg
ZmxvYXQgYXNjZW50ID0gc2NhbGVFbVRvVW5pdHMoaUFzY2VudCwgdW5pdHNQZXJFbSkgKiBwb2lu
dFNpemU7CisgICAgZmxvYXQgZGVzY2VudCA9IC1zY2FsZUVtVG9Vbml0cyhpRGVzY2VudCwgdW5p
dHNQZXJFbSkgKiBwb2ludFNpemU7CisgICAgZmxvYXQgbGluZUdhcCA9IHNjYWxlRW1Ub1VuaXRz
KGlMaW5lR2FwLCB1bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKIAogICAgIC8vIFdlIG5lZWQgdG8g
YWRqdXN0IFRpbWVzLCBIZWx2ZXRpY2EsIGFuZCBDb3VyaWVyIHRvIGNsb3NlbHkgbWF0Y2ggdGhl
CiAgICAgLy8gdmVydGljYWwgbWV0cmljcyBvZiB0aGVpciBNaWNyb3NvZnQgY291bnRlcnBhcnRz
IHRoYXQgYXJlIHRoZSBkZSBmYWN0bwpAQCAtMjM5LDI1ICsyNDAsMjAgQEAgdm9pZCBTaW1wbGVG
b250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICAvLyBhbmQgYWRkIGl0IHRvIHRoZSBhc2NlbnQu
CiAgICAgTlNTdHJpbmcgKmZhbWlseU5hbWUgPSBbbV9wbGF0Zm9ybURhdGEuZm9udCgpIGZhbWls
eU5hbWVdOwogICAgIGlmIChbZmFtaWx5TmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJUaW1lcyJdIHx8
IFtmYW1pbHlOYW1lIGlzRXF1YWxUb1N0cmluZzpAIkhlbHZldGljYSJdIHx8IFtmYW1pbHlOYW1l
IGlzRXF1YWxUb1N0cmluZzpAIkNvdXJpZXIiXSkKLSAgICAgICAgZkFzY2VudCArPSBmbG9vcmYo
KChmQXNjZW50ICsgZkRlc2NlbnQpICogMC4xNWYpICsgMC41Zik7CisgICAgICAgIGFzY2VudCAr
PSBmbG9vcmYoKChhc2NlbnQgKyBkZXNjZW50KSAqIDAuMTVmKSArIDAuNWYpOwogICAgIGVsc2Ug
aWYgKFtmYW1pbHlOYW1lIGlzRXF1YWxUb1N0cmluZzpAIkdlZXphIFBybyJdKSB7CiAgICAgICAg
IC8vIEdlZXphIFBybyBoYXMgZ2x5cGhzIHRoYXQgZHJhdyBzbGlnaHRseSBhYm92ZSB0aGUgYXNj
ZW50IG9yIGZhciBiZWxvdyB0aGUgZGVzY2VudC4gQWRqdXN0CiAgICAgICAgIC8vIHRob3NlIHZl
cnRpY2FsIG1ldHJpY3MgdG8gYmV0dGVyIG1hdGNoIHJlYWxpdHksIHNvIHRoYXQgZGlhY3JpdGlj
cyBhdCB0aGUgYm90dG9tIG9mIG9uZSBsaW5lCiAgICAgICAgIC8vIGRvIG5vdCBvdmVybGFwIGRp
YWNyaXRpY3MgYXQgdGhlIHRvcCBvZiB0aGUgbmV4dCBsaW5lLgotICAgICAgICBmQXNjZW50ICo9
IDEuMDhmOwotICAgICAgICBmRGVzY2VudCAqPSAyLmY7CisgICAgICAgIGFzY2VudCAqPSAxLjA4
ZjsKKyAgICAgICAgZGVzY2VudCAqPSAyLmY7CiAgICAgfQogCi0gICAgbV9hc2NlbnQgPSBscm91
bmRmKGZBc2NlbnQpOwotICAgIG1fZGVzY2VudCA9IGxyb3VuZGYoZkRlc2NlbnQpOwotICAgIG1f
bGluZUdhcCA9IGxyb3VuZGYoZkxpbmVHYXApOwotICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2Vu
dCArIG1fZGVzY2VudCArIG1fbGluZUdhcDsKLSAgICAKICAgICAvLyBIYWNrIEhpcmFnaW5vIGxp
bmUgbWV0cmljcyB0byBhbGxvdyByb29tIGZvciBtYXJrZWQgdGV4dCB1bmRlcmxpbmVzLgogICAg
IC8vIDxyZGFyOi8vcHJvYmxlbS81Mzg2MTgzPgotICAgIGlmIChtX2Rlc2NlbnQgPCAzICYmIG1f
bGluZUdhcCA+PSAzICYmIFtmYW1pbHlOYW1lIGhhc1ByZWZpeDpAIkhpcmFnaW5vIl0pIHsKLSAg
ICAgICAgbV9saW5lR2FwIC09IDMgLSBtX2Rlc2NlbnQ7Ci0gICAgICAgIG1fZGVzY2VudCA9IDM7
CisgICAgaWYgKGRlc2NlbnQgPCAzICYmIGxpbmVHYXAgPj0gMyAmJiBbZmFtaWx5TmFtZSBoYXNQ
cmVmaXg6QCJIaXJhZ2lubyJdKSB7CisgICAgICAgIGxpbmVHYXAgLT0gMyAtIGRlc2NlbnQ7Cisg
ICAgICAgIGRlc2NlbnQgPSAzOwogICAgIH0KICAgICAKICAgICBpZiAobV9vcmllbnRhdGlvbiA9
PSBWZXJ0aWNhbCkgewpAQCAtMjc4LDYgKzI3NCw4IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBs
YXRmb3JtSW5pdCgpCiAgICAgICAgICAgICBtX29yaWVudGF0aW9uID0gSG9yaXpvbnRhbDsKICAg
ICB9CiAKKyAgICBmbG9hdCB4SGVpZ2h0OworCiAgICAgLy8gTWVhc3VyZSB0aGUgYWN0dWFsIGNo
YXJhY3RlciAieCIsIGJlY2F1c2UgQXBwS2l0IHN5bnRoZXNpemVzIFggaGVpZ2h0IHJhdGhlciB0
aGFuIGdldHRpbmcgaXQgZnJvbSB0aGUgZm9udC4KICAgICAvLyBVbmZvcnR1bmF0ZWx5LCBOU0Zv
bnQgd2lsbCByb3VuZCB0aGlzIGZvciB1cyBzbyB3ZSBkb24ndCBxdWl0ZSBnZXQgdGhlIHJpZ2h0
IHZhbHVlLgogICAgIEdseXBoUGFnZSogZ2x5cGhQYWdlWmVybyA9IEdseXBoUGFnZVRyZWVOb2Rl
OjpnZXRSb290Q2hpbGQodGhpcywgMCktPnBhZ2UoKTsKQEAgLTI4OCwyMSArMjg2LDI4IEBAIHZv
aWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgICAgIC8vIGFuZCB3ZWIgcGFn
ZXMgdGhhdCBmb29saXNobHkgdXNlIHRoaXMgbWV0cmljIGZvciB3aWR0aCB3aWxsIGJlIGxhaWQg
b3V0CiAgICAgICAgIC8vIHBvb3JseSBpZiB3ZSByZXR1cm4gYW4gYWNjdXJhdGUgaGVpZ2h0LiBD
bGFzc2ljIGNhc2UgaXMgVGltZXMgMTMgcG9pbnQsCiAgICAgICAgIC8vIHdoaWNoIGhhcyBhbiAi
eCIgdGhhdCBpcyA3eDYgcGl4ZWxzLgotICAgICAgICBtX3hIZWlnaHQgPSBzdGF0aWNfY2FzdDxm
bG9hdD4obWF4KENHUmVjdEdldE1heFgoeEJveCksIC1DR1JlY3RHZXRNaW5ZKHhCb3gpKSk7Cisg
ICAgICAgIHhIZWlnaHQgPSBzdGF0aWNfY2FzdDxmbG9hdD4obWF4KENHUmVjdEdldE1heFgoeEJv
eCksIC1DR1JlY3RHZXRNaW5ZKHhCb3gpKSk7CiAgICAgfSBlbHNlIHsKICNpZm5kZWYgQlVJTERJ
TkdfT05fVElHRVIKLSAgICAgICAgbV94SGVpZ2h0ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KENHRm9u
dEdldFhIZWlnaHQobV9wbGF0Zm9ybURhdGEuY2dGb250KCkpKSAvIG1fdW5pdHNQZXJFbTsKKyAg
ICAgICAgeEhlaWdodCA9IHN0YXRpY19jYXN0PGZsb2F0PihDR0ZvbnRHZXRYSGVpZ2h0KG1fcGxh
dGZvcm1EYXRhLmNnRm9udCgpKSkgLyB1bml0c1BlckVtOwogI2Vsc2UKLSAgICAgICAgbV94SGVp
Z2h0ID0gbV9wbGF0Zm9ybURhdGEuZm9udCgpID8gW21fcGxhdGZvcm1EYXRhLmZvbnQoKSB4SGVp
Z2h0XSA6IDA7CisgICAgICAgIHhIZWlnaHQgPSBtX3BsYXRmb3JtRGF0YS5mb250KCkgPyBbbV9w
bGF0Zm9ybURhdGEuZm9udCgpIHhIZWlnaHRdIDogMDsKICNlbmRpZgogICAgICAgICAvLyBDR0Zv
bnRHZXRYSGVpZ2h0KCkgcmV0dXJucyBhIHdyb25nIHZhbHVlIGZvciAiQXBwbGUgU3ltYm9scyIg
Zm9udCAoYSBmbG9hdCBjbG9zZSB0byAwLCBidXQgbm90IHN0cmljdGx5IDApLgotICAgICAgICAv
LyBUaGUgZm9sbG93aW5nIGNvZGUgbWFrZXMgYSBndWVzcyBmb3IgbV94SGVpZ2h0IGluIHRoYXQg
Y2FzZS4KKyAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBjb2RlIG1ha2VzIGEgZ3Vlc3MgZm9yIHhI
ZWlnaHQgaW4gdGhhdCBjYXNlLgogICAgICAgICAvLyBUaGUgaW50IGNhc3QgaXMgYSB3b3JrYXJv
dW5kIGZvciB0aGUgImFsbW9zdCIgemVybyB2YWx1ZSByZXR1cm5lZCBieSBDR0ZvbnRHZXRYSGVp
Z2h0KCkuCi0gICAgICAgIGlmICghc3RhdGljX2Nhc3Q8aW50PihtX3hIZWlnaHQpICYmIGZBc2Nl
bnQpCi0gICAgICAgICAgICBtX3hIZWlnaHQgPSAyICogZkFzY2VudCAvIDM7CisgICAgICAgIGlm
ICghc3RhdGljX2Nhc3Q8aW50Pih4SGVpZ2h0KSAmJiBhc2NlbnQpCisgICAgICAgICAgICB4SGVp
Z2h0ID0gMiAqIGFzY2VudCAvIDM7CiAgICAgfQorCisgICAgbV9mb250TWV0cmljcy5zZXRVbml0
c1BlckVtKHVuaXRzUGVyRW0pOworICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGFzY2VudCk7
CisgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGRlc2NlbnQpOworICAgIG1fZm9udE1ldHJp
Y3Muc2V0TGluZUdhcChsaW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5n
KGFzY2VudCArIGRlc2NlbnQgKyBsaW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWln
aHQoeEhlaWdodCk7CiB9Ci0gICAgCisKIHN0YXRpYyBDRkRhdGFSZWYgY29weUZvbnRUYWJsZUZv
clRhZyhGb250UGxhdGZvcm1EYXRhJiBwbGF0Zm9ybURhdGEsIEZvdXJDaGFyQ29kZSB0YWJsZU5h
bWUpCiB7CiAjaWZkZWYgQlVJTERJTkdfT05fVElHRVIKQEAgLTMzNyw3ICszNDIsNyBAQCB2b2lk
IFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUNoYXJXaWR0aEluCiAgICAgaWYgKG9zMlRhYmxlICYm
IENGRGF0YUdldExlbmd0aChvczJUYWJsZS5nZXQoKSkgPj0gNCkgewogICAgICAgICBjb25zdCBV
SW50OCogb3MyID0gQ0ZEYXRhR2V0Qnl0ZVB0cihvczJUYWJsZS5nZXQoKSk7CiAgICAgICAgIFNJ
bnQxNiBvczJBdmdDaGFyV2lkdGggPSBvczJbMl0gKiAyNTYgKyBvczJbM107Ci0gICAgICAgIG1f
YXZnQ2hhcldpZHRoID0gc2NhbGVFbVRvVW5pdHMob3MyQXZnQ2hhcldpZHRoLCBtX3VuaXRzUGVy
RW0pICogbV9wbGF0Zm9ybURhdGEubV9zaXplOworICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9IHNj
YWxlRW1Ub1VuaXRzKG9zMkF2Z0NoYXJXaWR0aCwgbV9mb250TWV0cmljcy51bml0c1BlckVtKCkp
ICogbV9wbGF0Zm9ybURhdGEubV9zaXplOwogICAgIH0KIAogICAgIFJldGFpblB0cjxDRkRhdGFS
ZWY+IGhlYWRUYWJsZShBZG9wdENGLCBjb3B5Rm9udFRhYmxlRm9yVGFnKG1fcGxhdGZvcm1EYXRh
LCAnaGVhZCcpKTsKQEAgLTM0OCw3ICszNTMsNyBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0
Zm9ybUNoYXJXaWR0aEluCiAgICAgICAgIFNJbnQxNiB4TWluID0gc3RhdGljX2Nhc3Q8U0ludDE2
Pih1eE1pbik7CiAgICAgICAgIFNJbnQxNiB4TWF4ID0gc3RhdGljX2Nhc3Q8U0ludDE2Pih1eE1h
eCk7CiAgICAgICAgIGZsb2F0IGRpZmYgPSBzdGF0aWNfY2FzdDxmbG9hdD4oeE1heCAtIHhNaW4p
OwotICAgICAgICBtX21heENoYXJXaWR0aCA9IHNjYWxlRW1Ub1VuaXRzKGRpZmYsIG1fdW5pdHNQ
ZXJFbSkgKiBtX3BsYXRmb3JtRGF0YS5tX3NpemU7CisgICAgICAgIG1fbWF4Q2hhcldpZHRoID0g
c2NhbGVFbVRvVW5pdHMoZGlmZiwgbV9mb250TWV0cmljcy51bml0c1BlckVtKCkpICogbV9wbGF0
Zm9ybURhdGEubV9zaXplOwogICAgIH0KIAogICAgIC8vIEZhbGxiYWNrIHRvIGEgY3Jvc3MtcGxh
dGZvcm0gZXN0aW1hdGUsIHdoaWNoIHdpbGwgcG9wdWxhdGUgdGhlc2UgdmFsdWVzIGlmIHRoZXkg
YXJlIG5vbi1wb3NpdGl2ZS4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcGFuZ28v
U2ltcGxlRm9udERhdGFQYW5nby5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9wYW5nby9TaW1wbGVGb250RGF0YVBhbmdvLmNwcAkocmV2aXNpb24gNzQ0NjcpCisr
KyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1NpbXBsZUZvbnREYXRhUGFuZ28uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00OSwyMSArNDksMjcgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6
cGxhdGZvcm1Jbml0KCkKICAgICBjYWlyb19mb250X2V4dGVudHNfdCBmb250X2V4dGVudHM7CiAg
ICAgY2Fpcm9fdGV4dF9leHRlbnRzX3QgdGV4dF9leHRlbnRzOwogICAgIGNhaXJvX3NjYWxlZF9m
b250X2V4dGVudHMobV9wbGF0Zm9ybURhdGEubV9zY2FsZWRGb250LCAmZm9udF9leHRlbnRzKTsK
LSAgICBtX2FzY2VudCA9IHN0YXRpY19jYXN0PGludD4obHJvdW5kZihmb250X2V4dGVudHMuYXNj
ZW50KSk7Ci0gICAgbV9kZXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50Pihscm91bmRmKGZvbnRfZXh0
ZW50cy5kZXNjZW50KSk7Ci0gICAgbV9saW5lU3BhY2luZyA9IHN0YXRpY19jYXN0PGludD4obHJv
dW5kZihmb250X2V4dGVudHMuaGVpZ2h0KSk7CisKKyAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2Vu
dChmb250X2V4dGVudHMuYXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoZm9u
dF9leHRlbnRzLmRlc2NlbnQpOworCiAgICAgLy8gVGhlcmUgc2VlbXMgdG8gYmUgc29tZSByb3Vu
ZGluZyBlcnJvciBpbiBjYWlybyAob3IgaW4gaG93IHdlCiAgICAgLy8gdXNlIGNhaXJvKSB3aXRo
IHNvbWUgZm9udHMsIGxpa2UgRGVqYVZ1IFNhbnMgTW9ubywgd2hpY2ggbWFrZXMKICAgICAvLyBj
YWlybyByZXBvcnQgYSBoZWlnaHQgc21hbGxlciB0aGFuIGFzY2VudCArIGRlc2NlbnQsIHdoaWNo
IGlzCiAgICAgLy8gd3JvbmcgYW5kIGNvbmZ1c2VzIFdlYkNvcmUncyBsYXlvdXQgc3lzdGVtLiBX
b3JrYXJvdW5kIHRoaXMKICAgICAvLyB3aGlsZSB3ZSBmaWd1cmUgb3V0IHdoYXQncyBnb2luZyBv
bi4KLSAgICBpZiAobV9saW5lU3BhY2luZyA8IG1fYXNjZW50ICsgbV9kZXNjZW50KQotICAgICAg
ICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rlc2NlbnQ7CisgICAgZmxvYXQgbGluZVNw
YWNpbmcgPSBmb250X2V4dGVudHMuaGVpZ2h0OworICAgIGlmIChsaW5lU3BhY2luZyA8IGZvbnRf
ZXh0ZW50cy5hc2NlbnQgKyBmb250X2V4dGVudHMuZGVzY2VudCkKKyAgICAgICAgbGluZVNwYWNp
bmcgPSBmb250X2V4dGVudHMuYXNjZW50ICsgZm9udF9leHRlbnRzLmRlc2NlbnQ7CisgICAgbV9m
b250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhsaW5lU3BhY2luZyk7CisgICAgbV9mb250TWV0cmlj
cy5zZXRMaW5lR2FwKGxpbmVTcGFjaW5nIC0gZm9udF9leHRlbnRzLmFzY2VudCAtIGZvbnRfZXh0
ZW50cy5kZXNjZW50KTsKKwogICAgIGNhaXJvX3NjYWxlZF9mb250X3RleHRfZXh0ZW50cyhtX3Bs
YXRmb3JtRGF0YS5tX3NjYWxlZEZvbnQsICJ4IiwgJnRleHRfZXh0ZW50cyk7Ci0gICAgbV94SGVp
Z2h0ID0gdGV4dF9leHRlbnRzLmhlaWdodDsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQo
dGV4dF9leHRlbnRzLmhlaWdodCk7CisKICAgICBjYWlyb19zY2FsZWRfZm9udF90ZXh0X2V4dGVu
dHMobV9wbGF0Zm9ybURhdGEubV9zY2FsZWRGb250LCAiICIsICZ0ZXh0X2V4dGVudHMpOwotICAg
IG1fc3BhY2VXaWR0aCA9ICBzdGF0aWNfY2FzdDxmbG9hdD4odGV4dF9leHRlbnRzLnhfYWR2YW5j
ZSk7Ci0gICAgbV9saW5lR2FwID0gbV9saW5lU3BhY2luZyAtIG1fYXNjZW50IC0gbV9kZXNjZW50
OworICAgIG1fc3BhY2VXaWR0aCA9IHN0YXRpY19jYXN0PGZsb2F0Pih0ZXh0X2V4dGVudHMueF9h
ZHZhbmNlKTsKKyAgICAKICAgICBtX3N5bnRoZXRpY0JvbGRPZmZzZXQgPSBtX3BsYXRmb3JtRGF0
YS5zeW50aGV0aWNCb2xkKCkgPyAxLjBmIDogMC5mOwogfQogCkluZGV4OiBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9udERhdGFRdC5jcHAJKHJldmlzaW9uIDc0
NDY3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250RGF0YVF0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIlNpbXBsZUZvbnREYXRhLmgiCiAKLSNpbmNsdWRlIDxRRm9udE1ldHJpY3M+Cisj
aW5jbHVkZSA8UUZvbnRNZXRyaWNzRj4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MSwy
NSArNDEsMjAgQEAgYm9vbCBTaW1wbGVGb250RGF0YTo6Y29udGFpbnNDaGFyYWN0ZXJzKAogdm9p
ZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKIHsKICAgICBpZiAoIW1fcGxhdGZvcm1E
YXRhLnNpemUoKSkgewotICAgICAgICAgbV9hc2NlbnQgPSAwOwotICAgICAgICAgbV9kZXNjZW50
ID0gMDsKLSAgICAgICAgIG1fbGluZUdhcCA9IDA7Ci0gICAgICAgICBtX2xpbmVTcGFjaW5nID0g
MDsKKyAgICAgICAgIG1fZm9udE1ldHJpY3MucmVzZXQoKTsKICAgICAgICAgIG1fYXZnQ2hhcldp
ZHRoID0gMDsKICAgICAgICAgIG1fbWF4Q2hhcldpZHRoID0gMDsKLSAgICAgICAgIG1feEhlaWdo
dCA9IDA7Ci0gICAgICAgICBtX3VuaXRzUGVyRW0gPSAwOwogICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotICAgIFFGb250TWV0cmljcyBmbShtX3BsYXRmb3JtRGF0YS5mb250KCkpOworICAgIFFG
b250TWV0cmljc0YgZm0obV9wbGF0Zm9ybURhdGEuZm9udCgpKTsKIAotICAgIG1fYXNjZW50ID0g
Zm0uYXNjZW50KCk7Ci0gICAgbV9kZXNjZW50ID0gZm0uZGVzY2VudCgpOwotICAgIG1fbGluZVNw
YWNpbmcgPSBmbS5saW5lU3BhY2luZygpOwotICAgIG1feEhlaWdodCA9IGZtLnhIZWlnaHQoKTsK
KyAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChmbS5hc2NlbnQoKSk7CisgICAgbV9mb250TWV0
cmljcy5zZXREZXNjZW50KGZtLmRlc2NlbnQoKSk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5l
U3BhY2luZyhmbS5saW5lU3BhY2luZygpKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQo
Zm0ueEhlaWdodCgpKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAoZm0ubGVhZGluZygp
KTsKICAgICBtX3NwYWNlV2lkdGggPSBmbS53aWR0aChRTGF0aW4xQ2hhcignICcpKTsKLSAgICBt
X2xpbmVHYXAgPSBmbS5sZWFkaW5nKCk7CiB9CiAKIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRm
b3JtR2x5cGhJbml0KCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRD
R1dpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9u
dENHV2luLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9Gb250Q0dXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjcsOCArMTY3LDEyIEBAIHN0
YXRpYyB2b2lkIGRyYXdHRElHbHlwaHMoR3JhcGhpY3NDb250ZXgKICAgICAgICAgZHJhd0ludG9C
aXRtYXAgPSB0cnVlOwogICAgICAgICAvLyBXZSBwdXQgc2xvcCBpbnRvIHRoaXMgcmVjdCwgc2lu
Y2UgZ2x5cGhzIGNhbiBvdmVyZmxvdyB0aGUgYXNjZW50L2Rlc2NlbnQgYm91bmRzIGFuZCB0aGUg
bGVmdC9yaWdodCBlZGdlcy4KICAgICAgICAgLy8gRklYTUU6IENhbiBnZXQgZ2x5cGhzJyBvcHRp
Y2FsIGJvdW5kcyAoZXZlbiBmcm9tIENHKSB0byBnZXQgdGhpcyByaWdodC4KLSAgICAgICAgaW50
IGxpbmVHYXAgPSBmb250LT5saW5lR2FwKCk7Ci0gICAgICAgIHRleHRSZWN0ID0gSW50UmVjdChw
b2ludC54KCkgLSAoZm9udC0+YXNjZW50KCkgKyBmb250LT5kZXNjZW50KCkpIC8gMiwgcG9pbnQu
eSgpIC0gZm9udC0+YXNjZW50KCkgLSBsaW5lR2FwLCB0b3RhbFdpZHRoICsgZm9udC0+YXNjZW50
KCkgKyBmb250LT5kZXNjZW50KCksIGZvbnQtPmxpbmVTcGFjaW5nKCkpOworICAgICAgICBjb25z
dCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBmb250LT5mb250TWV0cmljcygpOworICAgICAg
ICBpbnQgbGluZUdhcCA9IGZvbnRNZXRyaWNzLmxpbmVHYXAoKTsKKyAgICAgICAgdGV4dFJlY3Qg
PSBJbnRSZWN0KHBvaW50LngoKSAtIChmb250TWV0cmljcy5hc2NlbnQoKSArIGZvbnRNZXRyaWNz
LmRlc2NlbnQoKSkgLyAyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnQueSgpIC0g
Zm9udE1ldHJpY3MuYXNjZW50KCkgLSBsaW5lR2FwLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdG90YWxXaWR0aCArIGZvbnRNZXRyaWNzLmFzY2VudCgpICsgZm9udE1ldHJpY3MuZGVzY2Vu
dCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udE1ldHJpY3MubGluZVNwYWNpbmco
KSk7CiAgICAgICAgIGJpdG1hcC5zZXQoZ3JhcGhpY3NDb250ZXh0LT5jcmVhdGVXaW5kb3dzQml0
bWFwKHRleHRSZWN0LnNpemUoKSkpOwogICAgICAgICBtZW1zZXQoYml0bWFwLT5idWZmZXIoKSwg
MjU1LCBiaXRtYXAtPmJ1ZmZlckxlbmd0aCgpKTsKICAgICAgICAgaGRjID0gYml0bWFwLT5oZGMo
KTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRXaW4uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRXaW4uY3BwCShyZXZp
c2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRXaW4uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xMjEsOCArMTIxLDggQEAgZmxvYXQgRm9udDo6ZmxvYXRXaWR0
aEZvckNvbXBsZXhUZXh0KGNvbgogICAgIFVuaXNjcmliZUNvbnRyb2xsZXIgY29udHJvbGxlcih0
aGlzLCBydW4sIGZhbGxiYWNrRm9udHMpOwogICAgIGNvbnRyb2xsZXIuYWR2YW5jZShydW4ubGVu
Z3RoKCkpOwogICAgIGlmIChnbHlwaE92ZXJmbG93KSB7Ci0gICAgICAgIGdseXBoT3ZlcmZsb3ct
PnRvcCA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYoLWNvbnRyb2xsZXIubWlu
R2x5cGhCb3VuZGluZ0JveFkoKSkgLSBhc2NlbnQoKSk7Ci0gICAgICAgIGdseXBoT3ZlcmZsb3ct
PmJvdHRvbSA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPmJvdHRvbSwgY2VpbGYoY29udHJvbGxl
ci5tYXhHbHlwaEJvdW5kaW5nQm94WSgpKSAtIGRlc2NlbnQoKSk7CisgICAgICAgIGdseXBoT3Zl
cmZsb3ctPnRvcCA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYoLWNvbnRyb2xs
ZXIubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSBmb250TWV0cmljcygpLmFzY2VudCgpKTsKKyAg
ICAgICAgZ2x5cGhPdmVyZmxvdy0+Ym90dG9tID0gbWF4PGludD4oZ2x5cGhPdmVyZmxvdy0+Ym90
dG9tLCBjZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91bmRpbmdCb3hZKCkpIC0gZm9udE1ldHJp
Y3MoKS5kZXNjZW50KCkpOwogICAgICAgICBnbHlwaE92ZXJmbG93LT5sZWZ0ID0gbWF4PGludD4o
MCwgY2VpbGYoLWNvbnRyb2xsZXIubWluR2x5cGhCb3VuZGluZ0JveFgoKSkpOwogICAgICAgICBn
bHlwaE92ZXJmbG93LT5yaWdodCA9IG1heDxpbnQ+KDAsIGNlaWxmKGNvbnRyb2xsZXIubWF4R2x5
cGhCb3VuZGluZ0JveFgoKSAtIGNvbnRyb2xsZXIucnVuV2lkdGhTb0ZhcigpKSk7CiAgICAgfQpJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFDR1dpbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9u
dERhdGFDR1dpbi5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vU2ltcGxlRm9udERhdGFDR1dpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDEx
ICs2NCwxMSBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgIGludCBp
QXNjZW50ID0gQ0dGb250R2V0QXNjZW50KGZvbnQpOwogICAgIGludCBpRGVzY2VudCA9IENHRm9u
dEdldERlc2NlbnQoZm9udCk7CiAgICAgaW50IGlMaW5lR2FwID0gQ0dGb250R2V0TGVhZGluZyhm
b250KTsKLSAgICBtX3VuaXRzUGVyRW0gPSBDR0ZvbnRHZXRVbml0c1BlckVtKGZvbnQpOworICAg
IHVuc2lnbmVkIHVuaXRzUGVyRW0gPSBDR0ZvbnRHZXRVbml0c1BlckVtKGZvbnQpOwogICAgIGZs
b2F0IHBvaW50U2l6ZSA9IG1fcGxhdGZvcm1EYXRhLnNpemUoKTsKLSAgICBmbG9hdCBmQXNjZW50
ID0gc2NhbGVFbVRvVW5pdHMoaUFzY2VudCwgbV91bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKLSAg
ICBmbG9hdCBmRGVzY2VudCA9IC1zY2FsZUVtVG9Vbml0cyhpRGVzY2VudCwgbV91bml0c1BlckVt
KSAqIHBvaW50U2l6ZTsKLSAgICBmbG9hdCBmTGluZUdhcCA9IHNjYWxlRW1Ub1VuaXRzKGlMaW5l
R2FwLCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXplOworICAgIGZsb2F0IGZBc2NlbnQgPSBzY2Fs
ZUVtVG9Vbml0cyhpQXNjZW50LCB1bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAgICBmbG9hdCBm
RGVzY2VudCA9IC1zY2FsZUVtVG9Vbml0cyhpRGVzY2VudCwgdW5pdHNQZXJFbSkgKiBwb2ludFNp
emU7CisgICAgZmxvYXQgZkxpbmVHYXAgPSBzY2FsZUVtVG9Vbml0cyhpTGluZUdhcCwgdW5pdHNQ
ZXJFbSkgKiBwb2ludFNpemU7CiAKICAgICBpZiAoIWlzQ3VzdG9tRm9udCgpKSB7CiAgICAgICAg
IEhEQyBkYyA9IEdldERDKDApOwpAQCAtOTMsMTAgKzkzLDEwIEBAIHZvaWQgU2ltcGxlRm9udERh
dGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBtX2FzY2VudCA9IGxy
b3VuZGYoZkFzY2VudCk7Ci0gICAgbV9kZXNjZW50ID0gbHJvdW5kZihmRGVzY2VudCk7Ci0gICAg
bV9saW5lR2FwID0gbHJvdW5kZihmTGluZUdhcCk7Ci0gICAgbV9saW5lU3BhY2luZyA9IG1fYXNj
ZW50ICsgbV9kZXNjZW50ICsgbV9saW5lR2FwOworICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50
KGZBc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChmRGVzY2VudCk7CisgICAg
bV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGZMaW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNl
dExpbmVTcGFjaW5nKGZBc2NlbnQgKyBmRGVzY2VudCArIGZMaW5lR2FwKTsKIAogICAgIC8vIE1l
YXN1cmUgdGhlIGFjdHVhbCBjaGFyYWN0ZXIgIngiLCBiZWNhdXNlIEFwcEtpdCBzeW50aGVzaXpl
cyBYIGhlaWdodCByYXRoZXIgdGhhbiBnZXR0aW5nIGl0IGZyb20gdGhlIGZvbnQuCiAgICAgLy8g
VW5mb3J0dW5hdGVseSwgTlNGb250IHdpbGwgcm91bmQgdGhpcyBmb3IgdXMgc28gd2UgZG9uJ3Qg
cXVpdGUgZ2V0IHRoZSByaWdodCB2YWx1ZS4KQEAgLTEwOSwxMSArMTA5LDEzIEBAIHZvaWQgU2lt
cGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgICAgIC8vIGFuZCB3ZWIgcGFnZXMgdGhh
dCBmb29saXNobHkgdXNlIHRoaXMgbWV0cmljIGZvciB3aWR0aCB3aWxsIGJlIGxhaWQgb3V0CiAg
ICAgICAgIC8vIHBvb3JseSBpZiB3ZSByZXR1cm4gYW4gYWNjdXJhdGUgaGVpZ2h0LiBDbGFzc2lj
IGNhc2UgaXMgVGltZXMgMTMgcG9pbnQsCiAgICAgICAgIC8vIHdoaWNoIGhhcyBhbiAieCIgdGhh
dCBpcyA3eDYgcGl4ZWxzLgotICAgICAgICBtX3hIZWlnaHQgPSBzY2FsZUVtVG9Vbml0cyhtYXgo
Q0dSZWN0R2V0TWF4WCh4Qm94KSwgQ0dSZWN0R2V0TWF4WSh4Qm94KSksIG1fdW5pdHNQZXJFbSkg
KiBwb2ludFNpemU7CisgICAgICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodChzY2FsZUVtVG9V
bml0cyhtYXgoQ0dSZWN0R2V0TWF4WCh4Qm94KSwgQ0dSZWN0R2V0TWF4WSh4Qm94KSksIHVuaXRz
UGVyRW0pICogcG9pbnRTaXplKTsKICAgICB9IGVsc2UgewogICAgICAgICBpbnQgaVhIZWlnaHQg
PSBDR0ZvbnRHZXRYSGVpZ2h0KGZvbnQpOwotICAgICAgICBtX3hIZWlnaHQgPSBzY2FsZUVtVG9V
bml0cyhpWEhlaWdodCwgbV91bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAgICAgICAgbV9mb250
TWV0cmljcy5zZXRYSGVpZ2h0KHNjYWxlRW1Ub1VuaXRzKGlYSGVpZ2h0LCB1bml0c1BlckVtKSAq
IHBvaW50U2l6ZSk7CiAgICAgfQorCisgICAgbV9mb250TWV0cmljcy5zZXRVbml0c1BlckVtKHVu
aXRzUGVyRW0pOwogfQogCiB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUNoYXJXaWR0aElu
aXQoKQpAQCAtMTMzLDcgKzEzNSw3IEBAIEZsb2F0UmVjdCBTaW1wbGVGb250RGF0YTo6cGxhdGZv
cm1Cb3VuZHMKICAgICBDR1JlY3QgYm94OwogICAgIENHRm9udEdldEdseXBoQkJveGVzKG1fcGxh
dGZvcm1EYXRhLmNnRm9udCgpLCAmZ2x5cGgsIDEsICZib3gpOwogICAgIGZsb2F0IHBvaW50U2l6
ZSA9IG1fcGxhdGZvcm1EYXRhLnNpemUoKTsKLSAgICBDR0Zsb2F0IHNjYWxlID0gcG9pbnRTaXpl
IC8gdW5pdHNQZXJFbSgpOworICAgIENHRmxvYXQgc2NhbGUgPSBwb2ludFNpemUgLyBmb250TWV0
cmljcygpLnVuaXRzUGVyRW0oKTsKICAgICBGbG9hdFJlY3QgYm91bmRpbmdCb3ggPSBDR1JlY3RB
cHBseUFmZmluZVRyYW5zZm9ybShib3gsIENHQWZmaW5lVHJhbnNmb3JtTWFrZVNjYWxlKHNjYWxl
LCAtc2NhbGUpKTsKICAgICBpZiAobV9zeW50aGV0aWNCb2xkT2Zmc2V0KQogICAgICAgICBib3Vu
ZGluZ0JveC5zZXRXaWR0aChib3VuZGluZ0JveC53aWR0aCgpICsgbV9zeW50aGV0aWNCb2xkT2Zm
c2V0KTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRh
Q2Fpcm9XaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1NpbXBsZUZvbnREYXRhQ2Fpcm9XaW4uY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ2Fpcm9XaW4uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC02MywxMyArNjMsMTYgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1J
bml0KCkKIAogICAgIFRFWFRNRVRSSUMgdGV4dE1ldHJpY3M7CiAgICAgR2V0VGV4dE1ldHJpY3Mo
aGRjLCAmdGV4dE1ldHJpY3MpOwotICAgIG1fYXNjZW50ID0gbHJvdW5kZih0ZXh0TWV0cmljcy50
bUFzY2VudCAqIG1ldHJpY3NNdWx0aXBsaWVyKTsKLSAgICBtX2Rlc2NlbnQgPSBscm91bmRmKHRl
eHRNZXRyaWNzLnRtRGVzY2VudCAqIG1ldHJpY3NNdWx0aXBsaWVyKTsKLSAgICBtX3hIZWlnaHQg
PSBtX2FzY2VudCAqIDAuNTZmOyAvLyBCZXN0IGd1ZXNzIGZvciB4SGVpZ2h0IGZvciBub24tVHJ1
ZXR5cGUgZm9udHMuCi0gICAgbV9saW5lR2FwID0gbHJvdW5kZih0ZXh0TWV0cmljcy50bUV4dGVy
bmFsTGVhZGluZyAqIG1ldHJpY3NNdWx0aXBsaWVyKTsKLSAgICBtX2xpbmVTcGFjaW5nID0gbV9h
c2NlbnQgKyBtX2Rlc2NlbnQgKyBtX2xpbmVHYXA7Ci0gICAgbV9hdmdDaGFyV2lkdGggPSBscm91
bmRmKHRleHRNZXRyaWNzLnRtQXZlQ2hhcldpZHRoICogbWV0cmljc011bHRpcGxpZXIpOwotICAg
IG1fbWF4Q2hhcldpZHRoID0gbHJvdW5kZih0ZXh0TWV0cmljcy50bU1heENoYXJXaWR0aCAqIG1l
dHJpY3NNdWx0aXBsaWVyKTsKKyAgICBmbG9hdCBhc2NlbnQgPSB0ZXh0TWV0cmljcy50bUFzY2Vu
dCAqIG1ldHJpY3NNdWx0aXBsaWVyOworICAgIGZsb2F0IGRlc2NlbnQgPSB0ZXh0TWV0cmljcy50
bURlc2NlbnQgKiBtZXRyaWNzTXVsdGlwbGllcjsKKyAgICBmbG9hdCB4SGVpZ2h0ID0gYXNjZW50
ICogMC41NmY7IC8vIEJlc3QgZ3Vlc3MgZm9yIHhIZWlnaHQgZm9yIG5vbi1UcnVldHlwZSBmb250
cy4KKyAgICBmbG9hdCBsaW5lR2FwID0gdGV4dE1ldHJpY3MudG1FeHRlcm5hbExlYWRpbmcgKiBt
ZXRyaWNzTXVsdGlwbGllcjsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChhc2NlbnQpOwor
ICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChkZXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNz
LnNldExpbmVHYXAobGluZUdhcCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhh
c2NlbnQgKyBkZXNjZW50ICsgbGluZUdhcCk7CisgICAgbV9hdmdDaGFyV2lkdGggPSB0ZXh0TWV0
cmljcy50bUF2ZUNoYXJXaWR0aCAqIG1ldHJpY3NNdWx0aXBsaWVyOworICAgIG1fbWF4Q2hhcldp
ZHRoID0gdGV4dE1ldHJpY3MudG1NYXhDaGFyV2lkdGggKiBtZXRyaWNzTXVsdGlwbGllcjsKIAog
ICAgIE9VVExJTkVURVhUTUVUUklDIG1ldHJpY3M7CiAgICAgaWYgKEdldE91dGxpbmVUZXh0TWV0
cmljcyhoZGMsIHNpemVvZihtZXRyaWNzKSwgJm1ldHJpY3MpID4gMCkgewpAQCAtNzgsOSArODEs
MTAgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICAgICAgTUFUMiBt
YXQgPSB7IDEsIDAsIDAsIDEgfTsKICAgICAgICAgRFdPUkQgbGVuID0gR2V0R2x5cGhPdXRsaW5l
KGhkYywgJ3gnLCBHR09fTUVUUklDUywgJmdtLCAwLCAwLCAmbWF0KTsKICAgICAgICAgaWYgKGxl
biAhPSBHRElfRVJST1IgJiYgZ20uZ21wdEdseXBoT3JpZ2luLnkgPiAwKQotICAgICAgICAgICAg
bV94SGVpZ2h0ID0gZ20uZ21wdEdseXBoT3JpZ2luLnkgKiBtZXRyaWNzTXVsdGlwbGllcjsKKyAg
ICAgICAgICAgIHhIZWlnaHQgPSBnbS5nbXB0R2x5cGhPcmlnaW4ueSAqIG1ldHJpY3NNdWx0aXBs
aWVyOwogICAgIH0KIAorICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh4SGVpZ2h0KTsKICAg
ICBjYWlyb193aW4zMl9zY2FsZWRfZm9udF9kb25lX2ZvbnQoc2NhbGVkRm9udCk7CiAKICAgICBt
X2lzU3lzdGVtRm9udCA9IGZhbHNlOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vU2ltcGxlRm9udERhdGFXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhV2luLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTY2LDE0ICs2Niw5IEBAIGJvb2wgU2ltcGxlRm9udERhdGE6OnNob3VsZEFw
cGx5TWFjQXNjZW4KIHZvaWQgU2ltcGxlRm9udERhdGE6OmluaXRHRElGb250KCkKIHsKICAgICBp
ZiAoIW1fcGxhdGZvcm1EYXRhLnNpemUoKSkgewotICAgICAgICBtX2FzY2VudCA9IDA7Ci0gICAg
ICAgIG1fZGVzY2VudCA9IDA7Ci0gICAgICAgIG1fbGluZUdhcCA9IDA7Ci0gICAgICAgIG1fbGlu
ZVNwYWNpbmcgPSAwOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnJlc2V0KCk7CiAgICAgICAgIG1f
YXZnQ2hhcldpZHRoID0gMDsKICAgICAgICAgbV9tYXhDaGFyV2lkdGggPSAwOwotICAgICAgICBt
X3hIZWlnaHQgPSAwOwotICAgICAgICBtX3VuaXRzUGVyRW0gPSAwOwogICAgICAgICByZXR1cm47
CiAgICAgfQogCkBAIC04MiwyMSArNzcsMjUgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6aW5pdEdE
SUZvbnQoKQogICAgICBPVVRMSU5FVEVYVE1FVFJJQyBtZXRyaWNzOwogICAgICBHZXRPdXRsaW5l
VGV4dE1ldHJpY3MoaGRjLCBzaXplb2YobWV0cmljcyksICZtZXRyaWNzKTsKICAgICAgVEVYVE1F
VFJJQyYgdGV4dE1ldHJpY3MgPSBtZXRyaWNzLm90bVRleHRNZXRyaWNzOwotICAgICBtX2FzY2Vu
dCA9IHRleHRNZXRyaWNzLnRtQXNjZW50OwotICAgICBtX2Rlc2NlbnQgPSB0ZXh0TWV0cmljcy50
bURlc2NlbnQ7Ci0gICAgIG1fbGluZUdhcCA9IHRleHRNZXRyaWNzLnRtRXh0ZXJuYWxMZWFkaW5n
OwotICAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rlc2NlbnQgKyBtX2xpbmVHYXA7
CisgICAgIGZsb2F0IGFzY2VudCA9IHRleHRNZXRyaWNzLnRtQXNjZW50OworICAgICBmbG9hdCBk
ZXNjZW50ID0gdGV4dE1ldHJpY3MudG1EZXNjZW50OworICAgICBmbG9hdCBsaW5lR2FwID0gdGV4
dE1ldHJpY3MudG1FeHRlcm5hbExlYWRpbmc7CisgICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50
KGFzY2VudCk7CisgICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChkZXNjZW50KTsKKyAgICAg
bV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGxpbmVHYXApOworICAgICBtX2ZvbnRNZXRyaWNzLnNl
dExpbmVTcGFjaW5nKGFzY2VudCArIGRlc2NlbnQgKyBsaW5lR2FwKTsKICAgICAgbV9hdmdDaGFy
V2lkdGggPSB0ZXh0TWV0cmljcy50bUF2ZUNoYXJXaWR0aDsKICAgICAgbV9tYXhDaGFyV2lkdGgg
PSB0ZXh0TWV0cmljcy50bU1heENoYXJXaWR0aDsKLSAgICAgbV94SGVpZ2h0ID0gbV9hc2NlbnQg
KiAwLjU2ZjsgLy8gQmVzdCBndWVzcyBmb3IgeEhlaWdodCBpZiBubyB4IGdseXBoIGlzIHByZXNl
bnQuCisgICAgIGZsb2F0IHhIZWlnaHQgPSBhc2NlbnQgKiAwLjU2ZjsgLy8gQmVzdCBndWVzcyBm
b3IgeEhlaWdodCBpZiBubyB4IGdseXBoIGlzIHByZXNlbnQuCiAKICAgICAgR0xZUEhNRVRSSUNT
IGdtOwogICAgICBNQVQyIG1hdCA9IHsgMSwgMCwgMCwgMSB9OwogICAgICBEV09SRCBsZW4gPSBH
ZXRHbHlwaE91dGxpbmUoaGRjLCAneCcsIEdHT19NRVRSSUNTLCAmZ20sIDAsIDAsICZtYXQpOwog
ICAgICBpZiAobGVuICE9IEdESV9FUlJPUiAmJiBnbS5nbXB0R2x5cGhPcmlnaW4ueSA+IDApCi0g
ICAgICAgICBtX3hIZWlnaHQgPSBnbS5nbXB0R2x5cGhPcmlnaW4ueTsKKyAgICAgICAgIHhIZWln
aHQgPSBnbS5nbXB0R2x5cGhPcmlnaW4ueTsKIAotICAgICBtX3VuaXRzUGVyRW0gPSBtZXRyaWNz
Lm90bUVNU3F1YXJlOworICAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQoeEhlaWdodCk7Cisg
ICAgIG1fZm9udE1ldHJpY3Muc2V0VW5pdHNQZXJFbShtZXRyaWNzLm90bUVNU3F1YXJlKTsKIAog
ICAgICBTZWxlY3RPYmplY3QoaGRjLCBvbGRGb250KTsKICAgICAgUmVsZWFzZURDKDAsIGhkYyk7
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdp
bkNFLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dy
YXBoaWNzQ29udGV4dFdpbkNFLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTUzNSw3ICsxNTM1LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdUZXh0KGNv
bnN0IEZvbgogICAgIG1fZGF0YS0+bV9vcGFjaXR5ICo9IGZpbGxDb2xvcigpLmFscGhhKCkgLyAy
NTUuMDsKIAogICAgIEZsb2F0UmVjdCB0ZXh0UmVjdCA9IGZvbnQuc2VsZWN0aW9uUmVjdEZvclRl
eHQocnVuLCBwb2ludCwgZm9udC5oZWlnaHQoKSwgZnJvbSwgdG8pOwotICAgIHRleHRSZWN0LnNl
dFkodGV4dFJlY3QueSgpIC0gZm9udC5hc2NlbnQoKSk7CisgICAgdGV4dFJlY3Quc2V0WSh0ZXh0
UmVjdC55KCkgLSBmb250LmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwogICAgIEludFJlY3QgdHJS
ZWN0ID0gZW5jbG9zaW5nSW50UmVjdChtX2RhdGEtPm1hcFJlY3QodGV4dFJlY3QpKTsKICAgICBS
RUNUIGJtcFJlY3Q7CiAgICAgQWxwaGFQYWludFR5cGUgYWxwaGFQYWludFR5cGUgPSBtdXN0U3Vw
cG9ydEFscGhhID8gQWxwaGFQYWludE90aGVyIDogQWxwaGFQYWludE5vbmU7CkBAIC0xNTQ0LDcg
KzE1NDQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd1RleHQoY29uc3QgRm9uCiAgICAg
ICAgICAgICBHcmFwaGljc0NvbnRleHQgZ2MoMCk7CiAgICAgICAgICAgICBnYy5zZXRCaXRtYXAo
Ym1wKTsKICAgICAgICAgICAgIGdjLnNjYWxlKEZsb2F0U2l6ZShtX2RhdGEtPm1fdHJhbnNmb3Jt
LmEoKSwgbV9kYXRhLT5tX3RyYW5zZm9ybS5kKCkpKTsKLSAgICAgICAgICAgIGZvbnQuZHJhd1Rl
eHQoJmdjLCBydW4sIEludFBvaW50KDAsIGZvbnQuYXNjZW50KCkpLCBmcm9tLCB0byk7CisgICAg
ICAgICAgICBmb250LmRyYXdUZXh0KCZnYywgcnVuLCBJbnRQb2ludCgwLCBmb250LmZvbnRNZXRy
aWNzKCkuYXNjZW50KCkpLCBmcm9tLCB0byk7CiAgICAgICAgIH0KICAgICAgICAgdW5zaWduZWQg
a2V5MTsKICAgICAgICAgSERDIG1lbURDID0gYm1wLT5nZXREQygma2V5MSk7CkBAIC0xNTg5LDcg
KzE1ODksNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd1RleHQoY29uc3QgU2ltCiAgICAg
ICAgID8gZm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLmdldFNjYWxlZEZvbnRIYW5kbGUoaGVpZ2h0
LCBzY2FsZVggPT0gc2NhbGVZID8gMCA6IHdpZHRoKQogICAgICAgICA6IDA7CiAKLSAgICBGbG9h
dFBvaW50IHN0YXJ0UG9pbnQocG9pbnQueCgpLCBwb2ludC55KCkgLSBmb250RGF0YS0+YXNjZW50
KCkpOworICAgIEZsb2F0UG9pbnQgc3RhcnRQb2ludChwb2ludC54KCksIHBvaW50LnkoKSAtIGZv
bnREYXRhLT5mb250TWV0cmljcygpLmFzY2VudCgpKTsKICAgICBGbG9hdFBvaW50IHRyUG9pbnQg
PSBtX2RhdGEtPm1hcFBvaW50KHN0YXJ0UG9pbnQpOwogICAgIGludCB5ID0gc3RhYmxlUm91bmQo
dHJQb2ludC55KCkpOwogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL1Np
bXBsZUZvbnREYXRhV2luQ0UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luY2UvU2ltcGxlRm9udERhdGFXaW5DRS5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysg
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9TaW1wbGVGb250RGF0YVdpbkNFLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTEsMTEgKzUxLDE0IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBs
YXRmb3JtSW5pdCgpCiAgICAgY29uc3QgVEVYVE1FVFJJQyYgdG0gPSBtX3BsYXRmb3JtRGF0YS5t
ZXRyaWNzKCk7CiAgICAgbV9pc1N5c3RlbUZvbnQgPSBtX3BsYXRmb3JtRGF0YS5pc1N5c3RlbUZv
bnQoKTsKIAotICAgIG1fYXNjZW50ID0gKHRtLnRtQXNjZW50ICogbV9wbGF0Zm9ybURhdGEuc2l6
ZSgpICsgMzYpIC8gNzI7Ci0gICAgbV9kZXNjZW50ID0gKHRtLnRtRGVzY2VudCAqIG1fcGxhdGZv
cm1EYXRhLnNpemUoKSArIDM2KSAvIDcyOwotICAgIG1fbGluZUdhcCA9ICh0bS50bUV4dGVybmFs
TGVhZGluZyAqIG1fcGxhdGZvcm1EYXRhLnNpemUoKSArIDM2KSAvIDcyOwotICAgIG1fbGluZVNw
YWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2VudCArIG1fbGluZUdhcDsKLSAgICBtX3hIZWlnaHQg
PSBtX2FzY2VudCAqIDAuNTZmOworICAgIGZsb2F0IGFzY2VudCA9ICh0bS50bUFzY2VudCAqIG1f
cGxhdGZvcm1EYXRhLnNpemUoKSArIDM2KSAvIDcyLjBmOworICAgIGZsb2F0IGRlc2NlbnQgPSAo
dG0udG1EZXNjZW50ICogbV9wbGF0Zm9ybURhdGEuc2l6ZSgpICsgMzYpIC8gNzIuMGY7CisgICAg
ZmxvYXQgbGluZUdhcCA9ICh0bS50bUV4dGVybmFsTGVhZGluZyAqIG1fcGxhdGZvcm1EYXRhLnNp
emUoKSArIDM2KSAvIDcyLjBmOworICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGFzY2VudCk7
CisgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGRlc2NlbnQpOworICAgIG1fZm9udE1ldHJp
Y3Muc2V0TGluZUdhcChsaW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5n
KGFzY2VudCArIGRlc2NlbnQgKyBsaW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWln
aHQoYXNjZW50ICogMC41NmYpOwogfQogCiB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybURl
c3Ryb3koKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9TaW1wbGVGb250RGF0
YVd4LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L1NpbXBs
ZUZvbnREYXRhV3guY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd3gvU2ltcGxlRm9udERhdGFXeC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUzLDEyICs1
MywxMiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgIHd4Rm9udCAq
Zm9udCA9IG1fcGxhdGZvcm1EYXRhLmZvbnQoKTsKICAgICBpZiAoZm9udCAmJiBmb250LT5Jc09r
KCkpIHsKICAgICAgICAgd3hGb250UHJvcGVydGllcyBwcm9wcyA9IHd4Rm9udFByb3BlcnRpZXMo
Zm9udCk7Ci0gICAgICAgIG1fYXNjZW50ID0gcHJvcHMuR2V0QXNjZW50KCk7Ci0gICAgICAgIG1f
ZGVzY2VudCA9IHByb3BzLkdldERlc2NlbnQoKTsKLSAgICAgICAgbV9saW5lU3BhY2luZyA9IHBy
b3BzLkdldExpbmVTcGFjaW5nKCk7Ci0gICAgICAgIG1feEhlaWdodCA9IHByb3BzLkdldFhIZWln
aHQoKTsKLSAgICAgICAgbV91bml0c1BlckVtID0gMTsgLy8gRklYTUUhCi0gICAgICAgIG1fbGlu
ZUdhcCA9IHByb3BzLkdldExpbmVHYXAoKTsKKyAgICAgICAgbV9mb250TWV0cmljcy5zZXRBc2Nl
bnQocHJvcHMuR2V0QXNjZW50KCkpOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQo
cHJvcHMuR2V0RGVzY2VudCgpKTsKKyAgICAgICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2lu
Zyhwcm9wcy5HZXRMaW5lU3BhY2luZygpKTsKKyAgICAgICAgbV9mb250TWV0cmljcy5zZXRYSGVp
Z2h0KHByb3BzLkdldFhIZWlnaHQoKSk7CisgICAgICAgIG1fZm9udE1ldHJpY3Muc2V0VW5pdHNQ
ZXJFbSgxKTsgLy8gRklYTUUhCisgICAgICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChwcm9w
cy5HZXRMaW5lR2FwKCkpOwogICAgIH0KIAogICAgIG1fc3ludGhldGljQm9sZE9mZnNldCA9IDAu
MGY7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9FbGxpcHNpc0JveC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvRWxsaXBzaXNCb3guY3BwCShyZXZpc2lvbiA3NDQ2NykKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL0VsbGlwc2lzQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTEs
NyArNTEsNyBAQCB2b2lkIEVsbGlwc2lzQm94OjpwYWludChQYWludEluZm8mIHBhaW50CiAgICAg
fQogCiAgICAgY29uc3QgU3RyaW5nJiBzdHIgPSBtX3N0cjsKLSAgICBjb250ZXh0LT5kcmF3VGV4
dChzdHlsZS0+Zm9udCgpLCBUZXh0UnVuKHN0ci5jaGFyYWN0ZXJzKCksIHN0ci5sZW5ndGgoKSwg
ZmFsc2UsIDAsIDAsIGZhbHNlLCBzdHlsZS0+dmlzdWFsbHlPcmRlcmVkKCkpLCBJbnRQb2ludCht
X3ggKyB0eCwgbV95ICsgdHkgKyBzdHlsZS0+Zm9udCgpLmFzY2VudCgpKSk7CisgICAgY29udGV4
dC0+ZHJhd1RleHQoc3R5bGUtPmZvbnQoKSwgVGV4dFJ1bihzdHIuY2hhcmFjdGVycygpLCBzdHIu
bGVuZ3RoKCksIGZhbHNlLCAwLCAwLCBmYWxzZSwgc3R5bGUtPnZpc3VhbGx5T3JkZXJlZCgpKSwg
SW50UG9pbnQobV94ICsgdHgsIG1feSArIHR5ICsgc3R5bGUtPmZvbnRNZXRyaWNzKCkuYXNjZW50
KCkpKTsKIAogICAgIC8vIFJlc3RvcmUgdGhlIHJlZ3VsYXIgZmlsbCBjb2xvci4KICAgICBpZiAo
dGV4dENvbG9yICE9IGNvbnRleHQtPmZpbGxDb2xvcigpKQpAQCAtNjMsNyArNjMsNyBAQCB2b2lk
IEVsbGlwc2lzQm94OjpwYWludChQYWludEluZm8mIHBhaW50CiAgICAgaWYgKG1fbWFya3VwQm94
KSB7CiAgICAgICAgIC8vIFBhaW50IHRoZSBtYXJrdXAgYm94CiAgICAgICAgIHR4ICs9IG1feCAr
IG1fbG9naWNhbFdpZHRoIC0gbV9tYXJrdXBCb3gtPngoKTsKLSAgICAgICAgdHkgKz0gbV95ICsg
c3R5bGUtPmZvbnQoKS5hc2NlbnQoKSAtIChtX21hcmt1cEJveC0+eSgpICsgbV9tYXJrdXBCb3gt
PnJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpLmFzY2VudCgpKTsKKyAgICAg
ICAgdHkgKz0gbV95ICsgc3R5bGUtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkgLSAobV9tYXJrdXBC
b3gtPnkoKSArIG1fbWFya3VwQm94LT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZv
bnRNZXRyaWNzKCkuYXNjZW50KCkpOwogICAgICAgICBtX21hcmt1cEJveC0+cGFpbnQocGFpbnRJ
bmZvLCB0eCwgdHkpOwogICAgIH0KIH0KQEAgLTEwNiw3ICsxMDYsNyBAQCBib29sIEVsbGlwc2lz
Qm94Ojpub2RlQXRQb2ludChjb25zdCBIaXRUCiAgICAgaWYgKG1fbWFya3VwQm94KSB7CiAgICAg
ICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IG1fcmVuZGVyZXItPnN0eWxlKG1fZmlyc3RMaW5lKTsK
ICAgICAgICAgaW50IG10eCA9IHR4ICsgbV9sb2dpY2FsV2lkdGggLSBtX21hcmt1cEJveC0+eCgp
OwotICAgICAgICBpbnQgbXR5ID0gdHkgKyBzdHlsZS0+Zm9udCgpLmFzY2VudCgpIC0gKG1fbWFy
a3VwQm94LT55KCkgKyBtX21hcmt1cEJveC0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUp
LT5mb250KCkuYXNjZW50KCkpOworICAgICAgICBpbnQgbXR5ID0gdHkgKyBzdHlsZS0+Zm9udE1l
dHJpY3MoKS5hc2NlbnQoKSAtIChtX21hcmt1cEJveC0+eSgpICsgbV9tYXJrdXBCb3gtPnJlbmRl
cmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAg
ICAgIGlmIChtX21hcmt1cEJveC0+bm9kZUF0UG9pbnQocmVxdWVzdCwgcmVzdWx0LCB4LCB5LCBt
dHgsIG10eSkpIHsKICAgICAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUhpdFRlc3RSZXN1bHQo
cmVzdWx0LCBJbnRQb2ludCh4IC0gbXR4LCB5IC0gbXR5KSk7CiAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MywxNCAr
OTMsMTQgQEAgaW50IElubGluZUJveDo6bG9naWNhbEhlaWdodCgpIGNvbnN0CiAjZW5kaWYKICAg
ICAKICAgICBpZiAocmVuZGVyZXIoKS0+aXNUZXh0KCkpCi0gICAgICAgIHJldHVybiBtX2lzVGV4
dCA/IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpLmhlaWdodCgpIDogMDsK
KyAgICAgICAgcmV0dXJuIG1faXNUZXh0ID8gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUp
LT5mb250TWV0cmljcygpLmhlaWdodCgpIDogMDsKICAgICBpZiAocmVuZGVyZXIoKS0+aXNCb3go
KSAmJiBwYXJlbnQoKSkKICAgICAgICAgcmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gdG9SZW5kZXJC
b3gobV9yZW5kZXJlciktPmhlaWdodCgpIDogdG9SZW5kZXJCb3gobV9yZW5kZXJlciktPndpZHRo
KCk7CiAKICAgICBBU1NFUlQoaXNJbmxpbmVGbG93Qm94KCkpOwogICAgIFJlbmRlckJveE1vZGVs
T2JqZWN0KiBmbG93T2JqZWN0ID0gYm94TW9kZWxPYmplY3QoKTsKLSAgICBjb25zdCBGb250JiBm
b250ID0gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCk7Ci0gICAgaW50IHJl
c3VsdCA9IGZvbnQuaGVpZ2h0KCk7CisgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNz
ID0gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250TWV0cmljcygpOworICAgIGlu
dCByZXN1bHQgPSBmb250TWV0cmljcy5oZWlnaHQoKTsKICAgICBpZiAocGFyZW50KCkpCiAgICAg
ICAgIHJlc3VsdCArPSBmbG93T2JqZWN0LT5ib3JkZXJBbmRQYWRkaW5nTG9naWNhbEhlaWdodCgp
OwogICAgIHJldHVybiByZXN1bHQ7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93
Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNw
cAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDA4LDYgKzQwOCw3IEBAIHN0YXRpYyBpbnQgdmVydGljYWxQ
b3NpdGlvbkZvckJveChJbmxpbmUKICAgICAgICAgCiAgICAgICAgIGlmICh2ZXJ0aWNhbEFsaWdu
ICE9IEJBU0VMSU5FKSB7CiAgICAgICAgICAgICBjb25zdCBGb250JiBmb250ID0gcGFyZW50LT5z
dHlsZShmaXJzdExpbmUpLT5mb250KCk7CisgICAgICAgICAgICBjb25zdCBGb250TWV0cmljcyYg
Zm9udE1ldHJpY3MgPSBmb250LmZvbnRNZXRyaWNzKCk7CiAgICAgICAgICAgICBpbnQgZm9udFNp
emUgPSBmb250LnBpeGVsU2l6ZSgpOwogCiAgICAgICAgICAgICBMaW5lRGlyZWN0aW9uTW9kZSBs
aW5lRGlyZWN0aW9uID0gcGFyZW50LT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgp
ID8gSG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmU7CkBAIC00MTcsMTEgKzQxOCwxMSBAQCBz
dGF0aWMgaW50IHZlcnRpY2FsUG9zaXRpb25Gb3JCb3goSW5saW5lCiAgICAgICAgICAgICBlbHNl
IGlmICh2ZXJ0aWNhbEFsaWduID09IFNVUEVSKQogICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9z
aXRpb24gLT0gZm9udFNpemUgLyAzICsgMTsKICAgICAgICAgICAgIGVsc2UgaWYgKHZlcnRpY2Fs
QWxpZ24gPT0gVEVYVF9UT1ApCi0gICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiArPSBy
ZW5kZXJlci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURp
cmVjdGlvbikgLSBmb250LmFzY2VudChiYXNlbGluZVR5cGUpOworICAgICAgICAgICAgICAgIHZl
cnRpY2FsUG9zaXRpb24gKz0gcmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBl
LCBmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC0gZm9udE1ldHJpY3MuYXNjZW50KGJhc2VsaW5l
VHlwZSk7CiAgICAgICAgICAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IE1JRERMRSkKLSAg
ICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IC1zdGF0aWNfY2FzdDxpbnQ+KGZvbnQu
eEhlaWdodCgpIC8gMikgLSByZW5kZXJlci0+bGluZUhlaWdodChmaXJzdExpbmUsIGxpbmVEaXJl
Y3Rpb24pIC8gMiArIHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmly
c3RMaW5lLCBsaW5lRGlyZWN0aW9uKTsKKyAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9u
ICs9IC1zdGF0aWNfY2FzdDxpbnQ+KGZvbnRNZXRyaWNzLnhIZWlnaHQoKSAvIDIpIC0gcmVuZGVy
ZXItPmxpbmVIZWlnaHQoZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAvIDIgKyByZW5kZXJlci0+
YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURpcmVjdGlvbik7
CiAgICAgICAgICAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IFRFWFRfQk9UVE9NKSB7Ci0g
ICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiArPSBmb250LmRlc2NlbnQoYmFzZWxpbmVU
eXBlKTsKKyAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IGZvbnRNZXRyaWNzLmRl
c2NlbnQoYmFzZWxpbmVUeXBlKTsKICAgICAgICAgICAgICAgICAvLyBsaW5lSGVpZ2h0IC0gYmFz
ZWxpbmVQb3NpdGlvbiBpcyBhbHdheXMgMCBmb3IgcmVwbGFjZWQgZWxlbWVudHMgKGV4Y2VwdCBp
bmxpbmUgYmxvY2tzKSwgc28gZG9uJ3QgYm90aGVyIHdhc3RpbmcgdGltZSBpbiB0aGF0IGNhc2Uu
CiAgICAgICAgICAgICAgICAgaWYgKCFyZW5kZXJlci0+aXNSZXBsYWNlZCgpIHx8IHJlbmRlcmVy
LT5pc0lubGluZUJsb2NrT3JJbmxpbmVUYWJsZSgpKQogICAgICAgICAgICAgICAgICAgICB2ZXJ0
aWNhbFBvc2l0aW9uIC09IChyZW5kZXJlci0+bGluZUhlaWdodChmaXJzdExpbmUsIGxpbmVEaXJl
Y3Rpb24pIC0gcmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBmaXJzdExp
bmUsIGxpbmVEaXJlY3Rpb24pKTsKQEAgLTUwMyw5ICs1MDQsMTAgQEAgdm9pZCBJbmxpbmVGbG93
Qm94Ojpjb21wdXRlTG9naWNhbEJveEhlaQogICAgICAgICAgICAgYmFzZWxpbmUgPSAwOwogICAg
ICAgICAgICAgaW50IGJhc2VsaW5lVG9Cb3R0b20gPSAwOwogICAgICAgICAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCB1c2VkRm9udHMtPnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICAgICAg
aW50IGhhbGZMZWFkaW5nID0gKHVzZWRGb250cy0+YXQoaSktPmxpbmVTcGFjaW5nKCkgLSB1c2Vk
Rm9udHMtPmF0KGkpLT5oZWlnaHQoKSkgLyAyOwotICAgICAgICAgICAgICAgIGludCB1c2VkRm9u
dEJhc2VsaW5lID0gaGFsZkxlYWRpbmcgKyB1c2VkRm9udHMtPmF0KGkpLT5hc2NlbnQoYmFzZWxp
bmVUeXBlKTsKLSAgICAgICAgICAgICAgICBpbnQgdXNlZEZvbnRCYXNlbGluZVRvQm90dG9tID0g
dXNlZEZvbnRzLT5hdChpKS0+bGluZVNwYWNpbmcoKSAtIHVzZWRGb250QmFzZWxpbmU7CisgICAg
ICAgICAgICAgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gdXNlZEZvbnRzLT5h
dChpKS0+Zm9udE1ldHJpY3MoKTsKKyAgICAgICAgICAgICAgICBpbnQgaGFsZkxlYWRpbmcgPSAo
Zm9udE1ldHJpY3MubGluZVNwYWNpbmcoKSAtIGZvbnRNZXRyaWNzLmhlaWdodCgpKSAvIDI7Cisg
ICAgICAgICAgICAgICAgaW50IHVzZWRGb250QmFzZWxpbmUgPSBoYWxmTGVhZGluZyArIGZvbnRN
ZXRyaWNzLmFzY2VudChiYXNlbGluZVR5cGUpOworICAgICAgICAgICAgICAgIGludCB1c2VkRm9u
dEJhc2VsaW5lVG9Cb3R0b20gPSBmb250TWV0cmljcy5saW5lU3BhY2luZygpIC0gdXNlZEZvbnRC
YXNlbGluZTsKICAgICAgICAgICAgICAgICBpZiAoIWJhc2VsaW5lU2V0KSB7CiAgICAgICAgICAg
ICAgICAgICAgIGJhc2VsaW5lU2V0ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgYmFzZWxp
bmUgPSB1c2VkRm9udEJhc2VsaW5lOwpAQCAtNTE1LDkgKzUxNyw5IEBAIHZvaWQgSW5saW5lRmxv
d0JveDo6Y29tcHV0ZUxvZ2ljYWxCb3hIZWkKICAgICAgICAgICAgICAgICAgICAgYmFzZWxpbmVU
b0JvdHRvbSA9IG1heChiYXNlbGluZVRvQm90dG9tLCB1c2VkRm9udEJhc2VsaW5lVG9Cb3R0b20p
OwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBpZiAoIWFmZmVjdHNBc2NlbnQp
Ci0gICAgICAgICAgICAgICAgICAgIGFmZmVjdHNBc2NlbnQgPSB1c2VkRm9udHMtPmF0KGkpLT5h
c2NlbnQoKSAtIGN1cnItPmxvZ2ljYWxUb3AoKSA+IDA7CisgICAgICAgICAgICAgICAgICAgIGFm
ZmVjdHNBc2NlbnQgPSBmb250TWV0cmljcy5hc2NlbnQoKSAtIGN1cnItPmxvZ2ljYWxUb3AoKSA+
IDA7CiAgICAgICAgICAgICAgICAgaWYgKCFhZmZlY3RzRGVzY2VudCkKLSAgICAgICAgICAgICAg
ICAgICAgYWZmZWN0c0Rlc2NlbnQgPSB1c2VkRm9udHMtPmF0KGkpLT5kZXNjZW50KCkgKyBjdXJy
LT5sb2dpY2FsVG9wKCkgPiAwOworICAgICAgICAgICAgICAgICAgICBhZmZlY3RzRGVzY2VudCA9
IGZvbnRNZXRyaWNzLmRlc2NlbnQoKSArIGN1cnItPmxvZ2ljYWxUb3AoKSA+IDA7CiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICBsaW5lSGVpZ2h0ID0gYmFzZWxpbmUgKyBiYXNlbGluZVRvQm90
dG9tOwogICAgICAgICB9IGVsc2UgewpAQCAtNTI3LDExICs1MjksMTIgQEAgdm9pZCBJbmxpbmVG
bG93Qm94Ojpjb21wdXRlTG9naWNhbEJveEhlaQogICAgICAgICAgICAgICAgIC8vIEV4YW1pbmUg
dGhlIGZvbnQgYm94IGZvciBpbmxpbmUgZmxvd3MgYW5kIHRleHQgYm94ZXMgdG8gc2VlIGlmIGFu
eSBwYXJ0IG9mIGl0IGlzIGFib3ZlIHRoZSBiYXNlbGluZS4KICAgICAgICAgICAgICAgICAvLyBJ
ZiB0aGUgdG9wIG9mIG91ciBmb250IGJveCByZWxhdGl2ZSB0byB0aGUgcm9vdCBib3ggYmFzZWxp
bmUgaXMgYWJvdmUgdGhlIHJvb3QgYm94IGJhc2VsaW5lLCB0aGVuCiAgICAgICAgICAgICAgICAg
Ly8gd2UgYXJlIGNvbnRyaWJ1dGluZyB0byB0aGUgbWF4QXNjZW50IHZhbHVlLgotICAgICAgICAg
ICAgICAgIGFmZmVjdHNBc2NlbnQgPSBjdXJyLT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGlu
ZSktPmZvbnQoKS5hc2NlbnQoYmFzZWxpbmVUeXBlKSAtIGN1cnItPmxvZ2ljYWxUb3AoKSA+IDA7
CisgICAgICAgICAgICAgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gY3Vyci0+
cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250TWV0cmljcygpOworICAgICAgICAg
ICAgICAgIGFmZmVjdHNBc2NlbnQgPSBmb250TWV0cmljcy5hc2NlbnQoYmFzZWxpbmVUeXBlKSAt
IGN1cnItPmxvZ2ljYWxUb3AoKSA+IDA7CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgLy8gRGVzY2VudCBpcyBzaW1pbGFyLiAgSWYgYW55IHBhcnQgb2Ygb3VyIGZvbnQgYm94IGlz
IGJlbG93IHRoZSByb290IGJveCdzIGJhc2VsaW5lLCB0aGVuCiAgICAgICAgICAgICAgICAgLy8g
d2UgY29udHJpYnV0ZSB0byB0aGUgbWF4RGVzY2VudCB2YWx1ZS4KLSAgICAgICAgICAgICAgICBh
ZmZlY3RzRGVzY2VudCA9IGN1cnItPnJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9u
dCgpLmRlc2NlbnQoYmFzZWxpbmVUeXBlKSArIGN1cnItPmxvZ2ljYWxUb3AoKSA+IDA7CisgICAg
ICAgICAgICAgICAgYWZmZWN0c0Rlc2NlbnQgPSBmb250TWV0cmljcy5kZXNjZW50KGJhc2VsaW5l
VHlwZSkgKyBjdXJyLT5sb2dpY2FsVG9wKCkgPiAwOwogICAgICAgICAgICAgfSBlbHNlIHsKICAg
ICAgICAgICAgICAgICAvLyBSZXBsYWNlZCBlbGVtZW50cyBhbHdheXMgYWZmZWN0IGJvdGggdGhl
IGFzY2VudCBhbmQgZGVzY2VudC4KICAgICAgICAgICAgICAgICBhZmZlY3RzQXNjZW50ID0gdHJ1
ZTsKQEAgLTYwNiw4ICs2MDksOCBAQCB2b2lkIElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbkJs
b2NrRGlyCiAgICAgICAgIGludCBib3hIZWlnaHRJbmNsdWRpbmdNYXJnaW5zID0gYm94SGVpZ2h0
OwogICAgICAgICAgICAgCiAgICAgICAgIGlmIChjdXJyLT5pc1RleHQoKSB8fCBjdXJyLT5pc0lu
bGluZUZsb3dCb3goKSkgewotICAgICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IGN1cnItPnJl
bmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpOwotICAgICAgICAgICAgbmV3TG9n
aWNhbFRvcCArPSBjdXJyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSkgLSBmb250LmFz
Y2VudChiYXNlbGluZVR5cGUpOworICAgICAgICAgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRN
ZXRyaWNzID0gY3Vyci0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250TWV0cmlj
cygpOworICAgICAgICAgICAgbmV3TG9naWNhbFRvcCArPSBjdXJyLT5iYXNlbGluZVBvc2l0aW9u
KGJhc2VsaW5lVHlwZSkgLSBmb250TWV0cmljcy5hc2NlbnQoYmFzZWxpbmVUeXBlKTsKICAgICAg
ICAgICAgIGlmIChjdXJyLT5pc0lubGluZUZsb3dCb3goKSkgewogICAgICAgICAgICAgICAgIFJl
bmRlckJveE1vZGVsT2JqZWN0KiBib3hPYmplY3QgPSB0b1JlbmRlckJveE1vZGVsT2JqZWN0KGN1
cnItPnJlbmRlcmVyKCkpOwogICAgICAgICAgICAgICAgIG5ld0xvZ2ljYWxUb3AgLT0gYm94T2Jq
ZWN0LT5zdHlsZShtX2ZpcnN0TGluZSktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBib3hP
YmplY3QtPmJvcmRlclRvcCgpICsgYm94T2JqZWN0LT5wYWRkaW5nVG9wKCkgOiAKQEAgLTY2NSw4
ICs2NjgsOCBAQCB2b2lkIElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbkJsb2NrRGlyCiAgICAg
fQogCiAgICAgaWYgKGlzUm9vdElubGluZUJveCgpKSB7Ci0gICAgICAgIGNvbnN0IEZvbnQmIGZv
bnQgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKTsKLSAgICAgICAgc2V0
TG9naWNhbFRvcChsb2dpY2FsVG9wKCkgKyBiYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSkg
LSBmb250LmFzY2VudChiYXNlbGluZVR5cGUpKTsKKyAgICAgICAgY29uc3QgRm9udE1ldHJpY3Mm
IGZvbnRNZXRyaWNzID0gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250TWV0cmlj
cygpOworICAgICAgICBzZXRMb2dpY2FsVG9wKGxvZ2ljYWxUb3AoKSArIGJhc2VsaW5lUG9zaXRp
b24oYmFzZWxpbmVUeXBlKSAtIGZvbnRNZXRyaWNzLmFzY2VudChiYXNlbGluZVR5cGUpKTsKICAg
ICAgICAgCiAgICAgICAgIGlmIChoYXNUZXh0Q2hpbGRyZW4oKSB8fCBzdHJpY3RNb2RlKSB7CiAg
ICAgICAgICAgICBpZiAoIXNldExpbmVUb3ApIHsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZVRleHRCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRl
eHRCb3guY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRl
eHRCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NTcsNyArNDU3LDcgQEAgdm9pZCBJbmxpbmVU
ZXh0Qm94OjpwYWludChQYWludEluZm8mIHBhaQogICAgIEludFBvaW50IGJveE9yaWdpbiA9IGxv
Y2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKICAgICBib3hPcmlnaW4ubW92ZSh0eCwgdHkpOyAg
ICAKICAgICBJbnRSZWN0IGJveFJlY3QoYm94T3JpZ2luLCBJbnRTaXplKGxvZ2ljYWxXaWR0aCgp
LCBsb2dpY2FsSGVpZ2h0KCkpKTsKLSAgICBJbnRQb2ludCB0ZXh0T3JpZ2luID0gSW50UG9pbnQo
Ym94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSArIHN0eWxlVG9Vc2UtPmZvbnQoKS5hc2NlbnQo
KSk7CisgICAgSW50UG9pbnQgdGV4dE9yaWdpbiA9IEludFBvaW50KGJveE9yaWdpbi54KCksIGJv
eE9yaWdpbi55KCkgKyBzdHlsZVRvVXNlLT5mb250TWV0cmljcygpLmFzY2VudCgpKTsKIAogICAg
IGlmICghaXNIb3Jpem9udGFsKCkpIHsKICAgICAgICAgY29udGV4dC0+c2F2ZSgpOwpAQCAtNTk3
LDkgKzU5Nyw5IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnQoUGFpbnRJbmZvJiBwYWkKICAg
ICBjb25zdCBBdG9taWNTdHJpbmcmIGVtcGhhc2lzTWFyayA9IHN0eWxlVG9Vc2UtPnRleHRFbXBo
YXNpc01hcmtTdHJpbmcoKTsKICAgICBpZiAoIWVtcGhhc2lzTWFyay5pc0VtcHR5KCkpIHsKICAg
ICAgICAgaWYgKHN0eWxlVG9Vc2UtPnRleHRFbXBoYXNpc1Bvc2l0aW9uKCkgPT0gVGV4dEVtcGhh
c2lzUG9zaXRpb25PdmVyKQotICAgICAgICAgICAgZW1waGFzaXNNYXJrT2Zmc2V0ID0gLWZvbnQu
YXNjZW50KCkgLSBmb250LmVtcGhhc2lzTWFya0Rlc2NlbnQoZW1waGFzaXNNYXJrKTsKKyAgICAg
ICAgICAgIGVtcGhhc2lzTWFya09mZnNldCA9IC1mb250LmZvbnRNZXRyaWNzKCkuYXNjZW50KCkg
LSBmb250LmVtcGhhc2lzTWFya0Rlc2NlbnQoZW1waGFzaXNNYXJrKTsKICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgZW1waGFzaXNNYXJrT2Zmc2V0ID0gZm9udC5kZXNjZW50KCkgKyBmb250LmVt
cGhhc2lzTWFya0FzY2VudChlbXBoYXNpc01hcmspOworICAgICAgICAgICAgZW1waGFzaXNNYXJr
T2Zmc2V0ID0gZm9udC5mb250TWV0cmljcygpLmRlc2NlbnQoKSArIGZvbnQuZW1waGFzaXNNYXJr
QXNjZW50KGVtcGhhc2lzTWFyayk7CiAgICAgfQogCiAgICAgaWYgKCFwYWludFNlbGVjdGVkVGV4
dE9ubHkpIHsKQEAgLTgxMSw3ICs4MTEsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50RGVj
b3JhdGlvbihHcmFwCiAgICAgYm9vbCBsaW5lc0FyZU9wYXF1ZSA9ICFpc1ByaW50aW5nICYmICgh
KGRlY28gJiBVTkRFUkxJTkUpIHx8IHVuZGVybGluZS5hbHBoYSgpID09IDI1NSkgJiYgKCEoZGVj
byAmIE9WRVJMSU5FKSB8fCBvdmVybGluZS5hbHBoYSgpID09IDI1NSkgJiYgKCEoZGVjbyAmIExJ
TkVfVEhST1VHSCkgfHwgbGluZXRocm91Z2guYWxwaGEoKSA9PSAyNTUpOwogCiAgICAgUmVuZGVy
U3R5bGUqIHN0eWxlVG9Vc2UgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSk7Ci0gICAg
aW50IGJhc2VsaW5lID0gc3R5bGVUb1VzZS0+Zm9udCgpLmFzY2VudCgpOworICAgIGludCBiYXNl
bGluZSA9IHN0eWxlVG9Vc2UtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCk7CiAKICAgICBib29sIHNl
dENsaXAgPSBmYWxzZTsKICAgICBpbnQgZXh0cmFPZmZzZXQgPSAwOwpAQCAtOTQ0LDcgKzk0NCw3
IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTcGVsbGluZ09yR3JhbW0KICAgICAvLyBTbywg
d2UgZ2VuZXJhbGx5IHBsYWNlIHRoZSB1bmRlcmxpbmUgYXQgdGhlIGJvdHRvbSBvZiB0aGUgdGV4
dCwgYnV0IGluIGxhcmdlciBmb250cyB0aGF0J3Mgbm90IHNvIGdvb2Qgc28KICAgICAvLyB3ZSBw
aW4gdG8gdHdvIHBpeGVscyB1bmRlciB0aGUgYmFzZWxpbmUuCiAgICAgaW50IGxpbmVUaGlja25l
c3MgPSBjTWlzc3BlbGxpbmdMaW5lVGhpY2tuZXNzOwotICAgIGludCBiYXNlbGluZSA9IHJlbmRl
cmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpLmFzY2VudCgpOworICAgIGludCBiYXNl
bGluZSA9IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKS5hc2Nl
bnQoKTsKICAgICBpbnQgZGVzY2VudCA9IGxvZ2ljYWxIZWlnaHQoKSAtIGJhc2VsaW5lOwogICAg
IGludCB1bmRlcmxpbmVPZmZzZXQ7CiAgICAgaWYgKGRlc2NlbnQgPD0gKDIgKyBsaW5lVGhpY2tu
ZXNzKSkgewpAQCAtMTEwMSw3ICsxMTAxLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludENv
bXBvc2l0aW9uVW5kZQogICAgIC8vIEFsbCBvdGhlciBtYXJrZWQgdGV4dCB1bmRlcmxpbmVzIGFy
ZSAxcHggdGhpY2suCiAgICAgLy8gSWYgdGhlcmUncyBub3QgZW5vdWdoIHNwYWNlIHRoZSB1bmRl
cmxpbmUgd2lsbCB0b3VjaCBvciBvdmVybGFwIGNoYXJhY3RlcnMuCiAgICAgaW50IGxpbmVUaGlj
a25lc3MgPSAxOwotICAgIGludCBiYXNlbGluZSA9IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RM
aW5lKS0+Zm9udCgpLmFzY2VudCgpOworICAgIGludCBiYXNlbGluZSA9IHJlbmRlcmVyKCktPnN0
eWxlKG1fZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKTsKICAgICBpZiAodW5kZXJs
aW5lLnRoaWNrICYmIGxvZ2ljYWxIZWlnaHQoKSAtIGJhc2VsaW5lID49IDIpCiAgICAgICAgIGxp
bmVUaGlja25lc3MgPSAyOwogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCShyZXZp
c2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDk2MCw4ICs0OTYwLDggQEAgaW50IFJlbmRlckJsb2NrOjpiYXNlbGluZVBv
c2l0aW9uKEZvbnRCYQogICAgICAgICByZXR1cm4gUmVuZGVyQm94OjpiYXNlbGluZVBvc2l0aW9u
KGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBkaXJlY3Rpb24sIGxpbmVQb3NpdGlvbk1vZGUpOwog
ICAgIH0KIAotICAgIGNvbnN0IEZvbnQmIGYgPSBzdHlsZShmaXJzdExpbmUpLT5mb250KCk7Ci0g
ICAgcmV0dXJuIGYuYXNjZW50KGJhc2VsaW5lVHlwZSkgKyAobGluZUhlaWdodChmaXJzdExpbmUs
IGRpcmVjdGlvbiwgbGluZVBvc2l0aW9uTW9kZSkgLSBmLmhlaWdodCgpKSAvIDI7CisgICAgY29u
c3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gc3R5bGUoZmlyc3RMaW5lKS0+Zm9udE1ldHJp
Y3MoKTsKKyAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlwZSkgKyAobGlu
ZUhlaWdodChmaXJzdExpbmUsIGRpcmVjdGlvbiwgbGluZVBvc2l0aW9uTW9kZSkgLSBmb250TWV0
cmljcy5oZWlnaHQoKSkgLyAyOwogfQogCiBpbnQgUmVuZGVyQmxvY2s6OmZpcnN0TGluZUJveEJh
c2VsaW5lKCkgY29uc3QKQEAgLTQ5NzEsNyArNDk3MSw3IEBAIGludCBSZW5kZXJCbG9jazo6Zmly
c3RMaW5lQm94QmFzZWxpbmUoKSAKIAogICAgIGlmIChjaGlsZHJlbklubGluZSgpKSB7CiAgICAg
ICAgIGlmIChmaXJzdExpbmVCb3goKSkKLSAgICAgICAgICAgIHJldHVybiBmaXJzdExpbmVCb3go
KS0+bG9naWNhbFRvcCgpICsgc3R5bGUodHJ1ZSktPmZvbnQoKS5hc2NlbnQoZmlyc3RSb290Qm94
KCktPmJhc2VsaW5lVHlwZSgpKTsKKyAgICAgICAgICAgIHJldHVybiBmaXJzdExpbmVCb3goKS0+
bG9naWNhbFRvcCgpICsgc3R5bGUodHJ1ZSktPmZvbnRNZXRyaWNzKCkuYXNjZW50KGZpcnN0Um9v
dEJveCgpLT5iYXNlbGluZVR5cGUoKSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJldHVy
biAtMTsKICAgICB9CkBAIC00OTk3LDExICs0OTk3LDEzIEBAIGludCBSZW5kZXJCbG9jazo6bGFz
dExpbmVCb3hCYXNlbGluZSgpIGMKIAogICAgIGlmIChjaGlsZHJlbklubGluZSgpKSB7CiAgICAg
ICAgIGlmICghZmlyc3RMaW5lQm94KCkgJiYgaGFzTGluZUlmRW1wdHkoKSkgewotICAgICAgICAg
ICAgY29uc3QgRm9udCYgZiA9IGZpcnN0TGluZVN0eWxlKCktPmZvbnQoKTsKLSAgICAgICAgICAg
IHJldHVybiBmLmFzY2VudCgpICsgKGxpbmVIZWlnaHQodHJ1ZSwgbGluZURpcmVjdGlvbiwgUG9z
aXRpb25PZkludGVyaW9yTGluZUJveGVzKSAtIGYuaGVpZ2h0KCkpIC8gMiArIChsaW5lRGlyZWN0
aW9uID09IEhvcml6b250YWxMaW5lID8gYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkgOiBib3Jk
ZXJSaWdodCgpICsgcGFkZGluZ1JpZ2h0KCkpOworICAgICAgICAgICAgY29uc3QgRm9udE1ldHJp
Y3MmIGZvbnRNZXRyaWNzID0gZmlyc3RMaW5lU3R5bGUoKS0+Zm9udE1ldHJpY3MoKTsKKyAgICAg
ICAgICAgIHJldHVybiBmb250TWV0cmljcy5hc2NlbnQoKQorICAgICAgICAgICAgICAgICArIChs
aW5lSGVpZ2h0KHRydWUsIGxpbmVEaXJlY3Rpb24sIFBvc2l0aW9uT2ZJbnRlcmlvckxpbmVCb3hl
cykgLSBmb250TWV0cmljcy5oZWlnaHQoKSkgLyAyCisgICAgICAgICAgICAgICAgICsgKGxpbmVE
aXJlY3Rpb24gPT0gSG9yaXpvbnRhbExpbmUgPyBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKSA6
IGJvcmRlclJpZ2h0KCkgKyBwYWRkaW5nUmlnaHQoKSk7CiAgICAgICAgIH0KICAgICAgICAgaWYg
KGxhc3RMaW5lQm94KCkpCi0gICAgICAgICAgICByZXR1cm4gbGFzdExpbmVCb3goKS0+bG9naWNh
bFRvcCgpICsgc3R5bGUobGFzdExpbmVCb3goKSA9PSBmaXJzdExpbmVCb3goKSktPmZvbnQoKS5h
c2NlbnQobGFzdFJvb3RCb3goKS0+YmFzZWxpbmVUeXBlKCkpOworICAgICAgICAgICAgcmV0dXJu
IGxhc3RMaW5lQm94KCktPmxvZ2ljYWxUb3AoKSArIHN0eWxlKGxhc3RMaW5lQm94KCkgPT0gZmly
c3RMaW5lQm94KCkpLT5mb250TWV0cmljcygpLmFzY2VudChsYXN0Um9vdEJveCgpLT5iYXNlbGlu
ZVR5cGUoKSk7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9IGVsc2UgewogICAgICAgICBib29s
IGhhdmVOb3JtYWxGbG93Q2hpbGQgPSBmYWxzZTsKQEAgLTUwMTQsOCArNTAxNiwxMCBAQCBpbnQg
UmVuZGVyQmxvY2s6Omxhc3RMaW5lQm94QmFzZWxpbmUoKSBjCiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICAgICAgaWYgKCFoYXZlTm9ybWFsRmxvd0NoaWxkICYmIGhhc0xpbmVJZkVtcHR5
KCkpIHsKLSAgICAgICAgICAgIGNvbnN0IEZvbnQmIGYgPSBmaXJzdExpbmVTdHlsZSgpLT5mb250
KCk7Ci0gICAgICAgICAgICByZXR1cm4gZi5hc2NlbnQoKSArIChsaW5lSGVpZ2h0KHRydWUsIGxp
bmVEaXJlY3Rpb24sIFBvc2l0aW9uT2ZJbnRlcmlvckxpbmVCb3hlcykgLSBmLmhlaWdodCgpKSAv
IDIgKyAobGluZURpcmVjdGlvbiA9PSBIb3Jpem9udGFsTGluZSA/IGJvcmRlclRvcCgpICsgcGFk
ZGluZ1RvcCgpIDogYm9yZGVyUmlnaHQoKSArIHBhZGRpbmdSaWdodCgpKTsKKyAgICAgICAgICAg
IGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IGZpcnN0TGluZVN0eWxlKCktPmZvbnRN
ZXRyaWNzKCk7CisgICAgICAgICAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KCkKKyAgICAg
ICAgICAgICAgICAgKyAobGluZUhlaWdodCh0cnVlLCBsaW5lRGlyZWN0aW9uLCBQb3NpdGlvbk9m
SW50ZXJpb3JMaW5lQm94ZXMpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpIC8gMgorICAgICAgICAg
ICAgICAgICArIChsaW5lRGlyZWN0aW9uID09IEhvcml6b250YWxMaW5lID8gYm9yZGVyVG9wKCkg
KyBwYWRkaW5nVG9wKCkgOiBib3JkZXJSaWdodCgpICsgcGFkZGluZ1JpZ2h0KCkpOwogICAgICAg
ICB9CiAgICAgfQogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHJldmlzaW9uIDc0NDY3
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
Mjk2NCw3ICsyOTY0LDcgQEAgSW50UmVjdCBSZW5kZXJCb3g6OmxvY2FsQ2FyZXRSZWN0KElubGlu
ZQogICAgIC8vIDxyZGFyOi8vcHJvYmxlbS8zNzc3ODA0PiBEZWxldGluZyBhbGwgY29udGVudCBp
biBhIGRvY3VtZW50IGNhbiByZXN1bHQgaW4gZ2lhbnQgdGFsbC1hcy13aW5kb3cgaW5zZXJ0aW9u
IHBvaW50CiAgICAgLy8KICAgICAvLyBGSVhNRTogaWdub3JpbmcgOmZpcnN0LWxpbmUsIG1pc3Np
bmcgZ29vZCByZWFzb24gdG8gdGFrZSBjYXJlIG9mCi0gICAgaW50IGZvbnRIZWlnaHQgPSBzdHls
ZSgpLT5mb250KCkuaGVpZ2h0KCk7CisgICAgaW50IGZvbnRIZWlnaHQgPSBzdHlsZSgpLT5mb250
TWV0cmljcygpLmhlaWdodCgpOwogICAgIGlmIChmb250SGVpZ2h0ID4gcmVjdC5oZWlnaHQoKSB8
fCAoIWlzUmVwbGFjZWQoKSAmJiAhaXNUYWJsZSgpKSkKICAgICAgICAgcmVjdC5zZXRIZWlnaHQo
Zm9udEhlaWdodCk7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2Jq
ZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9i
amVjdC5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1i
ZWRkZWRPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzAsOCArMTcwLDkgQEAgdm9pZCBS
ZW5kZXJFbWJlZGRlZE9iamVjdDo6cGFpbnRSZXBsYWNlZAogICAgIGNvbnRleHQtPnNldEZpbGxD
b2xvcihtX21pc3NpbmdQbHVnaW5JbmRpY2F0b3JJc1ByZXNzZWQgPyByZXBsYWNlbWVudFRleHRS
b3VuZGVkUmVjdFByZXNzZWRDb2xvcigpIDogQ29sb3I6OndoaXRlLCBzdHlsZSgpLT5jb2xvclNw
YWNlKCkpOwogICAgIGNvbnRleHQtPmZpbGxQYXRoKHBhdGgpOwogCisgICAgY29uc3QgRm9udE1l
dHJpY3MmIGZvbnRNZXRyaWNzID0gZm9udC5mb250TWV0cmljcygpOwogICAgIGZsb2F0IGxhYmVs
WCA9IHJvdW5kZihyZXBsYWNlbWVudFRleHRSZWN0LmxvY2F0aW9uKCkueCgpICsgKHJlcGxhY2Vt
ZW50VGV4dFJlY3Quc2l6ZSgpLndpZHRoKCkgLSB0ZXh0V2lkdGgpIC8gMik7Ci0gICAgZmxvYXQg
bGFiZWxZID0gcm91bmRmKHJlcGxhY2VtZW50VGV4dFJlY3QubG9jYXRpb24oKS55KCkgKyAocmVw
bGFjZW1lbnRUZXh0UmVjdC5zaXplKCkuaGVpZ2h0KCkgLSBmb250LmhlaWdodCgpKSAvIDIgKyBm
b250LmFzY2VudCgpKTsKKyAgICBmbG9hdCBsYWJlbFkgPSByb3VuZGYocmVwbGFjZW1lbnRUZXh0
UmVjdC5sb2NhdGlvbigpLnkoKSArIChyZXBsYWNlbWVudFRleHRSZWN0LnNpemUoKS5oZWlnaHQo
KSAtIGZvbnRNZXRyaWNzLmhlaWdodCgpKSAvIDIgKyBmb250TWV0cmljcy5hc2NlbnQoKSk7CiAg
ICAgY29udGV4dC0+c2V0QWxwaGEobV9taXNzaW5nUGx1Z2luSW5kaWNhdG9ySXNQcmVzc2VkID8g
cmVwbGFjZW1lbnRUZXh0UHJlc3NlZFRleHRPcGFjaXR5IDogcmVwbGFjZW1lbnRUZXh0VGV4dE9w
YWNpdHkpOwogICAgIGNvbnRleHQtPnNldEZpbGxDb2xvcihDb2xvcjo6YmxhY2ssIHN0eWxlKCkt
PmNvbG9yU3BhY2UoKSk7CiAgICAgY29udGV4dC0+ZHJhd0JpZGlUZXh0KGZvbnQsIHJ1biwgRmxv
YXRQb2ludChsYWJlbFgsIGxhYmVsWSkpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNw
cAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTExMSw3ICsxMTEsNyBAQCBib29sIFJlbmRlckltYWdlOjpzZXRJ
bWFnZVNpemVGb3JBbHRUZXh0CiAgICAgLy8gd2UgaGF2ZSBhbiBhbHQgYW5kIHRoZSB1c2VyIG1l
YW50IGl0IChpdHMgbm90IGEgdGV4dCB3ZSBpbnZlbnRlZCkKICAgICBpZiAoIW1fYWx0VGV4dC5p
c0VtcHR5KCkpIHsKICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IHN0eWxlKCktPmZvbnQoKTsK
LSAgICAgICAgSW50U2l6ZSB0ZXh0U2l6ZShtaW4oZm9udC53aWR0aChUZXh0UnVuKG1fYWx0VGV4
dC5jaGFyYWN0ZXJzKCksIG1fYWx0VGV4dC5sZW5ndGgoKSkpLCBtYXhBbHRUZXh0V2lkdGgpLCBt
aW4oZm9udC5oZWlnaHQoKSwgbWF4QWx0VGV4dEhlaWdodCkpOworICAgICAgICBJbnRTaXplIHRl
eHRTaXplKG1pbihmb250LndpZHRoKFRleHRSdW4obV9hbHRUZXh0LmNoYXJhY3RlcnMoKSwgbV9h
bHRUZXh0Lmxlbmd0aCgpKSksIG1heEFsdFRleHRXaWR0aCksIG1pbihmb250LmZvbnRNZXRyaWNz
KCkuaGVpZ2h0KCksIG1heEFsdFRleHRIZWlnaHQpKTsKICAgICAgICAgaW1hZ2VTaXplID0gaW1h
Z2VTaXplLmV4cGFuZGVkVG8odGV4dFNpemUpOwogICAgIH0KIApAQCAtMjg4LDE3ICsyODgsMTgg
QEAgdm9pZCBSZW5kZXJJbWFnZTo6cGFpbnRSZXBsYWNlZChQYWludEluZgogICAgICAgICAgICAg
ICAgIGludCBheCA9IHR4ICsgbGVmdEJvcmRlciArIGxlZnRQYWQ7CiAgICAgICAgICAgICAgICAg
aW50IGF5ID0gdHkgKyB0b3BCb3JkZXIgKyB0b3BQYWQ7CiAgICAgICAgICAgICAgICAgY29uc3Qg
Rm9udCYgZm9udCA9IHN0eWxlKCktPmZvbnQoKTsKLSAgICAgICAgICAgICAgICBpbnQgYXNjZW50
ID0gZm9udC5hc2NlbnQoKTsKKyAgICAgICAgICAgICAgICBjb25zdCBGb250TWV0cmljcyYgZm9u
dE1ldHJpY3MgPSBmb250LmZvbnRNZXRyaWNzKCk7CisgICAgICAgICAgICAgICAgaW50IGFzY2Vu
dCA9IGZvbnRNZXRyaWNzLmFzY2VudCgpOwogCiAgICAgICAgICAgICAgICAgLy8gT25seSBkcmF3
IHRoZSBhbHQgdGV4dCBpZiBpdCdsbCBmaXQgd2l0aGluIHRoZSBjb250ZW50IGJveCwKICAgICAg
ICAgICAgICAgICAvLyBhbmQgb25seSBpZiBpdCBmaXRzIGFib3ZlIHRoZSBlcnJvciBpbWFnZS4K
ICAgICAgICAgICAgICAgICBUZXh0UnVuIHRleHRSdW4odGV4dC5jaGFyYWN0ZXJzKCksIHRleHQu
bGVuZ3RoKCkpOwogICAgICAgICAgICAgICAgIGludCB0ZXh0V2lkdGggPSBmb250LndpZHRoKHRl
eHRSdW4pOwogICAgICAgICAgICAgICAgIGlmIChlcnJvclBpY3R1cmVEcmF3bikgewotICAgICAg
ICAgICAgICAgICAgICBpZiAodXNhYmxlV2lkdGggPj0gdGV4dFdpZHRoICYmIGZvbnQuaGVpZ2h0
KCkgPD0gaW1hZ2VZKQotICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC0+ZHJhd1RleHQo
c3R5bGUoKS0+Zm9udCgpLCB0ZXh0UnVuLCBJbnRQb2ludChheCwgYXkgKyBhc2NlbnQpKTsKLSAg
ICAgICAgICAgICAgICB9IGVsc2UgaWYgKHVzYWJsZVdpZHRoID49IHRleHRXaWR0aCAmJiBjSGVp
Z2h0ID49IGZvbnQuaGVpZ2h0KCkpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPmRyYXdU
ZXh0KHN0eWxlKCktPmZvbnQoKSwgdGV4dFJ1biwgSW50UG9pbnQoYXgsIGF5ICsgYXNjZW50KSk7
CisgICAgICAgICAgICAgICAgICAgIGlmICh1c2FibGVXaWR0aCA+PSB0ZXh0V2lkdGggJiYgZm9u
dE1ldHJpY3MuaGVpZ2h0KCkgPD0gaW1hZ2VZKQorICAgICAgICAgICAgICAgICAgICAgICAgY29u
dGV4dC0+ZHJhd1RleHQoZm9udCwgdGV4dFJ1biwgSW50UG9pbnQoYXgsIGF5ICsgYXNjZW50KSk7
CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh1c2FibGVXaWR0aCA+PSB0ZXh0V2lkdGggJiYg
Y0hlaWdodCA+PSBmb250TWV0cmljcy5oZWlnaHQoKSkKKyAgICAgICAgICAgICAgICAgICAgY29u
dGV4dC0+ZHJhd1RleHQoZm9udCwgdGV4dFJ1biwgSW50UG9pbnQoYXgsIGF5ICsgYXNjZW50KSk7
CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKG1faW1hZ2VSZXNvdXJj
ZS0+aGFzSW1hZ2UoKSAmJiBjV2lkdGggPiAwICYmIGNIZWlnaHQgPiAwKSB7CkluZGV4OiBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlcklubGluZS5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW5saW5lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTA0LDggKzkwNCw4IEBA
IGludCBSZW5kZXJJbmxpbmU6OmxpbmVIZWlnaHQoYm9vbCBmaXJzdEwKIAogaW50IFJlbmRlcklu
bGluZTo6YmFzZWxpbmVQb3NpdGlvbihGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlLCBib29sIGZp
cnN0TGluZSwgTGluZURpcmVjdGlvbk1vZGUgZGlyZWN0aW9uLCBMaW5lUG9zaXRpb25Nb2RlIGxp
bmVQb3NpdGlvbk1vZGUpIGNvbnN0CiB7Ci0gICAgY29uc3QgRm9udCYgZiA9IHN0eWxlKGZpcnN0
TGluZSktPmZvbnQoKTsKLSAgICByZXR1cm4gZi5hc2NlbnQoYmFzZWxpbmVUeXBlKSArIChsaW5l
SGVpZ2h0KGZpcnN0TGluZSwgZGlyZWN0aW9uLCBsaW5lUG9zaXRpb25Nb2RlKSAtIGYuaGVpZ2h0
KCkpIC8gMjsKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBzdHlsZShmaXJz
dExpbmUpLT5mb250TWV0cmljcygpOworICAgIHJldHVybiBmb250TWV0cmljcy5hc2NlbnQoYmFz
ZWxpbmVUeXBlKSArIChsaW5lSGVpZ2h0KGZpcnN0TGluZSwgZGlyZWN0aW9uLCBsaW5lUG9zaXRp
b25Nb2RlKSAtIGZvbnRNZXRyaWNzLmhlaWdodCgpKSAvIDI7CiB9CiAKIEludFNpemUgUmVuZGVy
SW5saW5lOjpyZWxhdGl2ZVBvc2l0aW9uZWRJbmxpbmVPZmZzZXQoY29uc3QgUmVuZGVyQm94KiBj
aGlsZCkgY29uc3QKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCShyZXZpc2lv
biA3NDQ2NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMDYsNyArMzA2LDcgQEAgdm9pZCBSZW5kZXJMaXN0Qm94OjpwYWludEl0ZW1G
b3JlZ3JvdW5kKAogCiAgICAgLy8gRGV0ZXJtaW5lIHdoZXJlIHRoZSBpdGVtIHRleHQgc2hvdWxk
IGJlIHBsYWNlZAogICAgIEludFJlY3QgciA9IGl0ZW1Cb3VuZGluZ0JveFJlY3QodHgsIHR5LCBs
aXN0SW5kZXgpOwotICAgIHIubW92ZShvcHRpb25zU3BhY2luZ0hvcml6b250YWwsIHN0eWxlKCkt
PmZvbnQoKS5hc2NlbnQoKSk7CisgICAgci5tb3ZlKG9wdGlvbnNTcGFjaW5nSG9yaXpvbnRhbCwg
c3R5bGUoKS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAKICAgICBSZW5kZXJTdHlsZSogaXRl
bVN0eWxlID0gZWxlbWVudC0+cmVuZGVyU3R5bGUoKTsKICAgICBpZiAoIWl0ZW1TdHlsZSkKQEAg
LTU1MSw3ICs1NTEsNyBAQCB2b2lkIFJlbmRlckxpc3RCb3g6OnZhbHVlQ2hhbmdlZChTY3JvbGxi
CiAKIGludCBSZW5kZXJMaXN0Qm94OjppdGVtSGVpZ2h0KCkgY29uc3QKIHsKLSAgICByZXR1cm4g
c3R5bGUoKS0+Zm9udCgpLmhlaWdodCgpICsgcm93U3BhY2luZzsKKyAgICByZXR1cm4gc3R5bGUo
KS0+Zm9udE1ldHJpY3MoKS5oZWlnaHQoKSArIHJvd1NwYWNpbmc7CiB9CiAKIGludCBSZW5kZXJM
aXN0Qm94Ojp2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCkgY29uc3QKSW5kZXg6IFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjY0LDcgKzEy
NjQsNyBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnBhaW50KFBhaW50SW5mbyYgCiAgICAgICAg
IGNvbnRleHQtPnRyYW5zbGF0ZSgtbWFya2VyLngoKSwgLW1hcmtlci5ib3R0b20oKSk7CiAgICAg
fQogCi0gICAgSW50UG9pbnQgdGV4dE9yaWdpbiA9IEludFBvaW50KG1hcmtlci54KCksIG1hcmtl
ci55KCkgKyBzdHlsZSgpLT5mb250KCkuYXNjZW50KCkpOworICAgIEludFBvaW50IHRleHRPcmln
aW4gPSBJbnRQb2ludChtYXJrZXIueCgpLCBtYXJrZXIueSgpICsgc3R5bGUoKS0+Zm9udE1ldHJp
Y3MoKS5hc2NlbnQoKSk7CiAKICAgICBpZiAodHlwZSA9PSBBc3Rlcmlza3MgfHwgdHlwZSA9PSBG
b290bm90ZXMpCiAgICAgICAgIGNvbnRleHQtPmRyYXdUZXh0KHN0eWxlKCktPmZvbnQoKSwgdGV4
dFJ1biwgdGV4dE9yaWdpbik7CkBAIC0xMzEwLDcgKzEzMTAsNyBAQCB2b2lkIFJlbmRlckxpc3RN
YXJrZXI6OmxheW91dCgpCiAgICAgICAgIHNldEhlaWdodChtX2ltYWdlLT5pbWFnZVNpemUodGhp
cywgc3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKS5oZWlnaHQoKSk7CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgc2V0TG9naWNhbFdpZHRoKG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCgpKTsKLSAgICAg
ICAgc2V0TG9naWNhbEhlaWdodChzdHlsZSgpLT5mb250KCkuaGVpZ2h0KCkpOworICAgICAgICBz
ZXRMb2dpY2FsSGVpZ2h0KHN0eWxlKCktPmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkpOwogICAgIH0K
IAogICAgIHNldE1hcmdpblN0YXJ0KDApOwpAQCAtMTM0NSwxMSArMTM0NSwxMiBAQCB2b2lkIFJl
bmRlckxpc3RNYXJrZXI6OmNvbXB1dGVQcmVmZXJyZWRMCiAgICAgbV90ZXh0ID0gIiI7CiAKICAg
ICBjb25zdCBGb250JiBmb250ID0gc3R5bGUoKS0+Zm9udCgpOworICAgIGNvbnN0IEZvbnRNZXRy
aWNzJiBmb250TWV0cmljcyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKIAogICAgIGlmIChpc0ltYWdl
KCkpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgaXMgYSBzb21ld2hhdCBhcmJpdHJhcnkgd2lk
dGguICBHZW5lcmF0ZWQgaW1hZ2VzIGZvciBtYXJrZXJzIHJlYWxseSB3b24ndCBiZWNvbWUgcGFy
dGljdWxhcmx5IHVzZWZ1bAogICAgICAgICAvLyB1bnRpbCB3ZSBzdXBwb3J0IHRoZSBDU1MzIG1h
cmtlciBwc2V1ZG9jbGFzcyB0byBhbGxvdyBjb250cm9sIG92ZXIgdGhlIHdpZHRoIGFuZCBoZWln
aHQgb2YgdGhlIG1hcmtlciBib3guCi0gICAgICAgIGludCBidWxsZXRXaWR0aCA9IGZvbnQuYXNj
ZW50KCkgLyAyOworICAgICAgICBpbnQgYnVsbGV0V2lkdGggPSBmb250TWV0cmljcy5hc2NlbnQo
KSAvIDI7CiAgICAgICAgIG1faW1hZ2UtPnNldEltYWdlQ29udGFpbmVyU2l6ZShJbnRTaXplKGJ1
bGxldFdpZHRoLCBidWxsZXRXaWR0aCkpOwogICAgICAgICBJbnRTaXplIGltYWdlU2l6ZSA9IG1f
aW1hZ2UtPmltYWdlU2l6ZSh0aGlzLCBzdHlsZSgpLT5lZmZlY3RpdmVab29tKCkpOwogICAgICAg
ICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1fbWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
ID0gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGltYWdlU2l6ZS53aWR0aCgp
IDogaW1hZ2VTaXplLmhlaWdodCgpOwpAQCAtMTM3Miw3ICsxMzczLDcgQEAgdm9pZCBSZW5kZXJM
aXN0TWFya2VyOjpjb21wdXRlUHJlZmVycmVkTAogICAgICAgICBjYXNlIERpc2M6CiAgICAgICAg
IGNhc2UgU3F1YXJlOgogICAgICAgICAgICAgbV90ZXh0ID0gbGlzdE1hcmtlclRleHQodHlwZSwg
MCk7IC8vIHZhbHVlIGlzIGlnbm9yZWQgZm9yIHRoZXNlIHR5cGVzCi0gICAgICAgICAgICBsb2dp
Y2FsV2lkdGggPSAoZm9udC5hc2NlbnQoKSAqIDIgLyAzICsgMSkgLyAyICsgMjsKKyAgICAgICAg
ICAgIGxvZ2ljYWxXaWR0aCA9IChmb250TWV0cmljcy5hc2NlbnQoKSAqIDIgLyAzICsgMSkgLyAy
ICsgMjsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFmYXI6CiAgICAgICAgIGNh
c2UgQW1oYXJpYzoKQEAgLTE0NzEsNyArMTQ3Miw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6
Y29tcHV0ZVByZWZlcnJlZEwKIAogdm9pZCBSZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVNYXJnaW5z
KCkKIHsKLSAgICBjb25zdCBGb250JiBmb250ID0gc3R5bGUoKS0+Zm9udCgpOworICAgIGNvbnN0
IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IHN0eWxlKCktPmZvbnRNZXRyaWNzKCk7CiAKICAg
ICBpbnQgbWFyZ2luU3RhcnQgPSAwOwogICAgIGludCBtYXJnaW5FbmQgPSAwOwpAQCAtMTQ4NCw3
ICsxNDg1LDcgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVNYXJnaW5zKCkKICAgICAg
ICAgICAgIGNhc2UgQ2lyY2xlOgogICAgICAgICAgICAgY2FzZSBTcXVhcmU6CiAgICAgICAgICAg
ICAgICAgbWFyZ2luU3RhcnQgPSAtMTsKLSAgICAgICAgICAgICAgICBtYXJnaW5FbmQgPSBmb250
LmFzY2VudCgpIC0gbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyAxOworICAgICAgICAgICAg
ICAgIG1hcmdpbkVuZCA9IGZvbnRNZXRyaWNzLmFzY2VudCgpIC0gbWluUHJlZmVycmVkTG9naWNh
bFdpZHRoKCkgKyAxOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgZGVmYXVs
dDoKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTE0OTQsNyArMTQ5NSw3IEBAIHZvaWQgUmVu
ZGVyTGlzdE1hcmtlcjo6dXBkYXRlTWFyZ2lucygpCiAgICAgICAgICAgICBpZiAoaXNJbWFnZSgp
KQogICAgICAgICAgICAgICAgIG1hcmdpblN0YXJ0ID0gLW1pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCgpIC0gY01hcmtlclBhZGRpbmc7CiAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAg
ICBpbnQgb2Zmc2V0ID0gZm9udC5hc2NlbnQoKSAqIDIgLyAzOworICAgICAgICAgICAgICAgIGlu
dCBvZmZzZXQgPSBmb250TWV0cmljcy5hc2NlbnQoKSAqIDIgLyAzOwogICAgICAgICAgICAgICAg
IHN3aXRjaCAoc3R5bGUoKS0+bGlzdFN0eWxlVHlwZSgpKSB7CiAgICAgICAgICAgICAgICAgICAg
IGNhc2UgRGlzYzoKICAgICAgICAgICAgICAgICAgICAgY2FzZSBDaXJjbGU6CkBAIC0xNTEyLDcg
KzE1MTMsNyBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZU1hcmdpbnMoKQogICAgICAg
ICAgICAgaWYgKGlzSW1hZ2UoKSkKICAgICAgICAgICAgICAgICBtYXJnaW5FbmQgPSBjTWFya2Vy
UGFkZGluZzsKICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIGludCBvZmZzZXQg
PSBmb250LmFzY2VudCgpICogMiAvIDM7CisgICAgICAgICAgICAgICAgaW50IG9mZnNldCA9IGZv
bnRNZXRyaWNzLmFzY2VudCgpICogMiAvIDM7CiAgICAgICAgICAgICAgICAgc3dpdGNoIChzdHls
ZSgpLT5saXN0U3R5bGVUeXBlKCkpIHsKICAgICAgICAgICAgICAgICAgICAgY2FzZSBEaXNjOgog
ICAgICAgICAgICAgICAgICAgICBjYXNlIENpcmNsZToKQEAgLTE1ODMsMTUgKzE1ODQsMTUgQEAg
SW50UmVjdCBSZW5kZXJMaXN0TWFya2VyOjpnZXRSZWxhdGl2ZU1hcgogICAgICAgICBjYXNlIEFz
dGVyaXNrczoKICAgICAgICAgY2FzZSBGb290bm90ZXM6IHsKICAgICAgICAgICAgIGNvbnN0IEZv
bnQmIGZvbnQgPSBzdHlsZSgpLT5mb250KCk7Ci0gICAgICAgICAgICByZWxhdGl2ZVJlY3QgPSBJ
bnRSZWN0KDAsIDAsIGZvbnQud2lkdGgobV90ZXh0KSwgZm9udC5oZWlnaHQoKSk7CisgICAgICAg
ICAgICByZWxhdGl2ZVJlY3QgPSBJbnRSZWN0KDAsIDAsIGZvbnQud2lkdGgobV90ZXh0KSwgZm9u
dC5mb250TWV0cmljcygpLmhlaWdodCgpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9
CiAgICAgICAgIGNhc2UgRGlzYzoKICAgICAgICAgY2FzZSBDaXJjbGU6CiAgICAgICAgIGNhc2Ug
U3F1YXJlOiB7CiAgICAgICAgICAgICAvLyBGSVhNRTogQXJlIHRoZXNlIHBhcnRpY3VsYXIgcm91
bmRpbmcgcnVsZXMgbmVjZXNzYXJ5PwotICAgICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IHN0
eWxlKCktPmZvbnQoKTsKLSAgICAgICAgICAgIGludCBhc2NlbnQgPSBmb250LmFzY2VudCgpOwor
ICAgICAgICAgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gc3R5bGUoKS0+Zm9u
dE1ldHJpY3MoKTsKKyAgICAgICAgICAgIGludCBhc2NlbnQgPSBmb250TWV0cmljcy5hc2NlbnQo
KTsKICAgICAgICAgICAgIGludCBidWxsZXRXaWR0aCA9IChhc2NlbnQgKiAyIC8gMyArIDEpIC8g
MjsKICAgICAgICAgICAgIHJlbGF0aXZlUmVjdCA9IEludFJlY3QoMSwgMyAqIChhc2NlbnQgLSBh
c2NlbnQgKiAyIC8gMykgLyAyLCBidWxsZXRXaWR0aCwgYnVsbGV0V2lkdGgpOwogICAgICAgICAg
ICAgYnJlYWs7CkBAIC0xNjc5LDcgKzE2ODAsNyBAQCBJbnRSZWN0IFJlbmRlckxpc3RNYXJrZXI6
OmdldFJlbGF0aXZlTWFyCiAgICAgICAgICAgICBpbnQgaXRlbVdpZHRoID0gZm9udC53aWR0aCht
X3RleHQpOwogICAgICAgICAgICAgVUNoYXIgc3VmZml4U3BhY2VbMl0gPSB7IGxpc3RNYXJrZXJT
dWZmaXgodHlwZSwgbV9saXN0SXRlbS0+dmFsdWUoKSksICcgJyB9OwogICAgICAgICAgICAgaW50
IHN1ZmZpeFNwYWNlV2lkdGggPSBmb250LndpZHRoKFRleHRSdW4oc3VmZml4U3BhY2UsIDIpKTsK
LSAgICAgICAgICAgIHJlbGF0aXZlUmVjdCA9IEludFJlY3QoMCwgMCwgaXRlbVdpZHRoICsgc3Vm
Zml4U3BhY2VXaWR0aCwgZm9udC5oZWlnaHQoKSk7CisgICAgICAgICAgICByZWxhdGl2ZVJlY3Qg
PSBJbnRSZWN0KDAsIDAsIGl0ZW1XaWR0aCArIHN1ZmZpeFNwYWNlV2lkdGgsIGZvbnQuZm9udE1l
dHJpY3MoKS5oZWlnaHQoKSk7CiAgICAgfQogCiAgICAgaWYgKCFzdHlsZSgpLT5pc0hvcml6b250
YWxXcml0aW5nTW9kZSgpKSB7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29u
dHJvbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRy
b2wuY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRD
b250cm9sLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjA3LDcgKzYwNyw3IEBAIHZvaWQgUmVuZGVy
VGV4dENvbnRyb2w6OnBhaW50UGxhY2Vob2xkZXIKICAgICBSZW5kZXJCb3gqIHRleHRSZW5kZXJl
ciA9IGlubmVyVGV4dEVsZW1lbnQoKSA/IGlubmVyVGV4dEVsZW1lbnQoKS0+cmVuZGVyQm94KCkg
OiAwOwogICAgIGlmICh0ZXh0UmVuZGVyZXIpIHsKICAgICAgICAgSW50UG9pbnQgdGV4dFBvaW50
OwotICAgICAgICB0ZXh0UG9pbnQuc2V0WSh0eSArIHRleHRCbG9ja0luc2V0VG9wKCkgKyBwbGFj
ZWhvbGRlclN0eWxlLT5mb250KCkuYXNjZW50KCkpOworICAgICAgICB0ZXh0UG9pbnQuc2V0WSh0
eSArIHRleHRCbG9ja0luc2V0VG9wKCkgKyBwbGFjZWhvbGRlclN0eWxlLT5mb250TWV0cmljcygp
LmFzY2VudCgpKTsKICAgICAgICAgaWYgKHBsYWNlaG9sZGVyU3R5bGUtPmlzTGVmdFRvUmlnaHRE
aXJlY3Rpb24oKSkKICAgICAgICAgICAgIHRleHRQb2ludC5zZXRYKHR4ICsgdGV4dEJsb2NrSW5z
ZXRMZWZ0KCkpOwogICAgICAgICBlbHNlCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
ZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNzIzLDcgKzcyMyw3IEBAIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IFJlbmRlclRl
eHRDb250cm8KICAgICB0ZXh0QmxvY2tTdHlsZS0+c2V0T3ZlcmZsb3dZKE9ISURERU4pOwogCiAg
ICAgLy8gRG8gbm90IGFsbG93IGxpbmUtaGVpZ2h0IHRvIGJlIHNtYWxsZXIgdGhhbiBvdXIgZGVm
YXVsdC4KLSAgICBpZiAodGV4dEJsb2NrU3R5bGUtPmZvbnQoKS5saW5lU3BhY2luZygpID4gbGlu
ZUhlaWdodCh0cnVlLCBIb3Jpem9udGFsTGluZSwgUG9zaXRpb25PZkludGVyaW9yTGluZUJveGVz
KSkKKyAgICBpZiAodGV4dEJsb2NrU3R5bGUtPmZvbnRNZXRyaWNzKCkubGluZVNwYWNpbmcoKSA+
IGxpbmVIZWlnaHQodHJ1ZSwgSG9yaXpvbnRhbExpbmUsIFBvc2l0aW9uT2ZJbnRlcmlvckxpbmVC
b3hlcykpCiAgICAgICAgIHRleHRCbG9ja1N0eWxlLT5zZXRMaW5lSGVpZ2h0KExlbmd0aCgtMTAw
LjBmLCBQZXJjZW50KSk7CiAKICAgICBXZWJDb3JlOjpFRGlzcGxheSBkaXNwbGF5ID0gKG1faW5u
ZXJCbG9jayB8fCBpbnB1dEVsZW1lbnQoKS0+aGFzU3BpbkJ1dHRvbigpID8gSU5MSU5FX0JMT0NL
IDogQkxPQ0spOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCShyZXZp
c2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ2Nyw2ICs0NjcsNyBAQCBwdWJsaWM6CiAgICAgRVRhYmxlTGF5b3V0
IHRhYmxlTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RVRhYmxlTGF5b3V0Pihu
b25pbmhlcml0ZWRfZmxhZ3MuX3RhYmxlX2xheW91dCk7IH0KIAogICAgIGNvbnN0IEZvbnQmIGZv
bnQoKSBjb25zdCB7IHJldHVybiBpbmhlcml0ZWQtPmZvbnQ7IH0KKyAgICBjb25zdCBGb250TWV0
cmljcyYgZm9udE1ldHJpY3MoKSBjb25zdCB7IHJldHVybiBpbmhlcml0ZWQtPmZvbnQuZm9udE1l
dHJpY3MoKTsgfQogICAgIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2NyaXB0aW9uKCkg
Y29uc3QgeyByZXR1cm4gaW5oZXJpdGVkLT5mb250LmZvbnREZXNjcmlwdGlvbigpOyB9CiAgICAg
aW50IGZvbnRTaXplKCkgY29uc3QgeyByZXR1cm4gaW5oZXJpdGVkLT5mb250LnBpeGVsU2l6ZSgp
OyB9CiAKQEAgLTQ5MSw3ICs0OTIsNyBAQCBwdWJsaWM6CiAKICAgICAgICAgLy8gTmVnYXRpdmUg
dmFsdWUgbWVhbnMgdGhlIGxpbmUgaGVpZ2h0IGlzIG5vdCBzZXQuICBVc2UgdGhlIGZvbnQncyBi
dWlsdC1pbiBzcGFjaW5nLgogICAgICAgICBpZiAobGguaXNOZWdhdGl2ZSgpKQotICAgICAgICAg
ICAgcmV0dXJuIGZvbnQoKS5saW5lU3BhY2luZygpOworICAgICAgICAgICAgcmV0dXJuIGZvbnRN
ZXRyaWNzKCkubGluZVNwYWNpbmcoKTsKIAogICAgICAgICBpZiAobGguaXNQZXJjZW50KCkpCiAg
ICAgICAgICAgICByZXR1cm4gbGguY2FsY01pblZhbHVlKGZvbnRTaXplKCkpOwpJbmRleDogV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZVRleHQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNwcAkocmV2aXNpb24g
NzQ0NjcpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lVGV4dC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE0Niw3ICsxNDYsNyBAQCBWaXNpYmxlUG9zaXRpb24gUmVuZGVy
U1ZHSW5saW5lVGV4dDo6cG9zCiAKICAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSB0aGlzLT5zdHls
ZSgpOwogICAgIEFTU0VSVChzdHlsZSk7Ci0gICAgaW50IGJhc2VsaW5lID0gc3R5bGUtPmZvbnQo
KS5hc2NlbnQoKTsKKyAgICBpbnQgYmFzZWxpbmUgPSBzdHlsZS0+Zm9udE1ldHJpY3MoKS5hc2Nl
bnQoKTsKIAogICAgIFJlbmRlckJsb2NrKiBjb250YWluaW5nQmxvY2sgPSB0aGlzLT5jb250YWlu
aW5nQmxvY2soKTsKICAgICBBU1NFUlQoY29udGFpbmluZ0Jsb2NrKTsKSW5kZXg6IFdlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysg
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC04NCw3ICs4NCw3IEBAIEZsb2F0UmVjdCBTVkdJbmxpbmVUZXh0Qm94OjpzZWxlY3Rpb25S
ZWMKICAgICBBU1NFUlQoc3RhcnRQb3NpdGlvbiA8IGVuZFBvc2l0aW9uKTsKIAogICAgIGNvbnN0
IEZvbnQmIGZvbnQgPSBzdHlsZS0+Zm9udCgpOwotICAgIEZsb2F0UG9pbnQgdGV4dE9yaWdpbihm
cmFnbWVudC54LCBmcmFnbWVudC55IC0gZm9udC5hc2NlbnQoKSk7CisgICAgRmxvYXRQb2ludCB0
ZXh0T3JpZ2luKGZyYWdtZW50LngsIGZyYWdtZW50LnkgLSBmb250LmZvbnRNZXRyaWNzKCkuYXNj
ZW50KCkpOwogICAgIHJldHVybiBmb250LnNlbGVjdGlvblJlY3RGb3JUZXh0KGNvbnN0cnVjdFRl
eHRSdW4oc3R5bGUsIGZyYWdtZW50KSwgdGV4dE9yaWdpbiwgZnJhZ21lbnQuaGVpZ2h0LCBzdGFy
dFBvc2l0aW9uLCBlbmRQb3NpdGlvbik7CiB9CiAKQEAgLTQwOSwxNiArNDA5LDE2IEBAIGJvb2wg
U1ZHSW5saW5lVGV4dEJveDo6bWFwU3RhcnRFbmRQb3NpdGkKICAgICByZXR1cm4gdHJ1ZTsKIH0K
IAotc3RhdGljIGlubGluZSBmbG9hdCBwb3NpdGlvbk9mZnNldEZvckRlY29yYXRpb24oRVRleHRE
ZWNvcmF0aW9uIGRlY29yYXRpb24sIGNvbnN0IEZvbnQmIGZvbnQsIGZsb2F0IHRoaWNrbmVzcykK
K3N0YXRpYyBpbmxpbmUgZmxvYXQgcG9zaXRpb25PZmZzZXRGb3JEZWNvcmF0aW9uKEVUZXh0RGVj
b3JhdGlvbiBkZWNvcmF0aW9uLCBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MsIGZsb2F0
IHRoaWNrbmVzcykKIHsKICAgICAvLyBGSVhNRTogRm9yIFNWRyBGb250cyB3ZSBuZWVkIHRvIHVz
ZSB0aGUgYXR0cmlidXRlcyBkZWZpbmVkIGluIHRoZSA8Zm9udC1mYWNlPiBpZiBzcGVjaWZpZWQu
CiAgICAgLy8gQ29tcGF0aWJsZSB3aXRoIEJhdGlrL09wZXJhLgogICAgIGlmIChkZWNvcmF0aW9u
ID09IFVOREVSTElORSkKLSAgICAgICAgcmV0dXJuIGZvbnQuYXNjZW50KCkgKyB0aGlja25lc3Mg
KiAxLjVmOworICAgICAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KCkgKyB0aGlja25lc3Mg
KiAxLjVmOwogICAgIGlmIChkZWNvcmF0aW9uID09IE9WRVJMSU5FKQogICAgICAgICByZXR1cm4g
dGhpY2tuZXNzOwogICAgIGlmIChkZWNvcmF0aW9uID09IExJTkVfVEhST1VHSCkKLSAgICAgICAg
cmV0dXJuIGZvbnQuYXNjZW50KCkgKiA1LjBmIC8gOC4wZjsKKyAgICAgICAgcmV0dXJuIGZvbnRN
ZXRyaWNzLmFzY2VudCgpICogNS4wZiAvIDguMGY7CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKICAgICByZXR1cm4gMC4wZjsKQEAgLTQ4Nyw2ICs0ODcsNyBAQCB2b2lkIFNWR0lubGluZVRl
eHRCb3g6OnBhaW50RGVjb3JhdGlvbldpCiAgICAgQVNTRVJUKGRlY29yYXRpb25TdHlsZSk7CiAK
ICAgICBjb25zdCBGb250JiBmb250ID0gZGVjb3JhdGlvblN0eWxlLT5mb250KCk7CisgICAgY29u
c3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZm9udC5mb250TWV0cmljcygpOwogCiAgICAg
Ly8gVGhlIGluaXRpYWwgeSB2YWx1ZSByZWZlcnMgdG8gb3ZlcmxpbmUgcG9zaXRpb24uCiAgICAg
ZmxvYXQgdGhpY2tuZXNzID0gdGhpY2tuZXNzRm9yRGVjb3JhdGlvbihkZWNvcmF0aW9uLCBmb250
KTsKQEAgLTQ5NCw3ICs0OTUsNyBAQCB2b2lkIFNWR0lubGluZVRleHRCb3g6OnBhaW50RGVjb3Jh
dGlvbldpCiAgICAgaWYgKGZyYWdtZW50LndpZHRoIDw9IDAgJiYgdGhpY2tuZXNzIDw9IDApCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGZsb2F0IHkgPSBmcmFnbWVudC55IC0gZm9udC5hc2NlbnQo
KSArIHBvc2l0aW9uT2Zmc2V0Rm9yRGVjb3JhdGlvbihkZWNvcmF0aW9uLCBmb250LCB0aGlja25l
c3MpOworICAgIGZsb2F0IHkgPSBmcmFnbWVudC55IC0gZm9udE1ldHJpY3MuYXNjZW50KCkgKyBw
b3NpdGlvbk9mZnNldEZvckRlY29yYXRpb24oZGVjb3JhdGlvbiwgZm9udE1ldHJpY3MsIHRoaWNr
bmVzcyk7CiAKICAgICBQYXRoIHBhdGg7CiAgICAgcGF0aC5hZGRSZWN0KEZsb2F0UmVjdChmcmFn
bWVudC54LCB5LCBmcmFnbWVudC53aWR0aCwgdGhpY2tuZXNzKSk7CkBAIC01MTMsNyArNTE0LDcg
QEAgdm9pZCBTVkdJbmxpbmVUZXh0Qm94OjpwYWludFRleHRXaXRoU2hhZAogICAgIGNvbnN0IFNo
YWRvd0RhdGEqIHNoYWRvdyA9IHN0eWxlLT50ZXh0U2hhZG93KCk7CiAKICAgICBGbG9hdFBvaW50
IHRleHRPcmlnaW4oZnJhZ21lbnQueCwgZnJhZ21lbnQueSk7Ci0gICAgRmxvYXRSZWN0IHNoYWRv
d1JlY3QoRmxvYXRQb2ludCh0ZXh0T3JpZ2luLngoKSwgdGV4dE9yaWdpbi55KCkgLSBmb250LmFz
Y2VudCgpKSwgRmxvYXRTaXplKGZyYWdtZW50LndpZHRoLCBmcmFnbWVudC5oZWlnaHQpKTsKKyAg
ICBGbG9hdFJlY3Qgc2hhZG93UmVjdChGbG9hdFBvaW50KHRleHRPcmlnaW4ueCgpLCB0ZXh0T3Jp
Z2luLnkoKSAtIGZvbnQuZm9udE1ldHJpY3MoKS5hc2NlbnQoKSksIEZsb2F0U2l6ZShmcmFnbWVu
dC53aWR0aCwgZnJhZ21lbnQuaGVpZ2h0KSk7CiAKICAgICBkbyB7CiAgICAgICAgIGlmICghcHJl
cGFyZUdyYXBoaWNzQ29udGV4dEZvclRleHRQYWludGluZyhjb250ZXh0LCB0ZXh0UnVuLCBzdHls
ZSkpCkBAIC01ODcsNyArNTg4LDcgQEAgSW50UmVjdCBTVkdJbmxpbmVUZXh0Qm94OjpjYWxjdWxh
dGVCb3VuZAogICAgIEFTU0VSVChzdHlsZSk7CiAKICAgICBpbnQgYmFzZWxpbmUgPSBiYXNlbGlu
ZVBvc2l0aW9uKEFscGhhYmV0aWNCYXNlbGluZSk7Ci0gICAgaW50IGhlaWdodERpZmZlcmVuY2Ug
PSBiYXNlbGluZSAtIHN0eWxlLT5mb250KCkuYXNjZW50KCk7CisgICAgaW50IGhlaWdodERpZmZl
cmVuY2UgPSBiYXNlbGluZSAtIHN0eWxlLT5mb250TWV0cmljcygpLmFzY2VudCgpOwogCiAgICAg
dW5zaWduZWQgdGV4dEZyYWdtZW50c1NpemUgPSBtX3RleHRGcmFnbWVudHMuc2l6ZSgpOwogICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB0ZXh0RnJhZ21lbnRzU2l6ZTsgKytpKSB7CkluZGV4
OiBXZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJh
c2VsaW5lLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
VGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksOSArNDks
OSBAQCBmbG9hdCBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmU6OmNhbGN1CiAgICAgY2FzZSBC
U19CQVNFTElORToKICAgICAgICAgcmV0dXJuIDA7CiAgICAgY2FzZSBCU19TVUI6Ci0gICAgICAg
IHJldHVybiAtbV9mb250LmhlaWdodCgpIC8gMjsKKyAgICAgICAgcmV0dXJuIC1tX2ZvbnQuZm9u
dE1ldHJpY3MoKS5oZWlnaHQoKSAvIDI7CiAgICAgY2FzZSBCU19TVVBFUjoKLSAgICAgICAgcmV0
dXJuIG1fZm9udC5oZWlnaHQoKSAvIDI7CisgICAgICAgIHJldHVybiBtX2ZvbnQuZm9udE1ldHJp
Y3MoKS5oZWlnaHQoKSAvIDI7CiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiAgICAgICAgIHJldHVybiAwOwpAQCAtMTIyLDI3ICsxMjIsMjkgQEAgZmxvYXQgU1ZH
VGV4dExheW91dEVuZ2luZUJhc2VsaW5lOjpjYWxjdQogICAgICAgICBBU1NFUlQoYmFzZWxpbmUg
IT0gQUJfQVVUTyk7CiAgICAgfQogCisgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNz
ID0gbV9mb250LmZvbnRNZXRyaWNzKCk7CisKICAgICAvLyBOb3RlOiBodHRwOi8vd2lraS5hcGFj
aGUub3JnL3htbGdyYXBoaWNzLWZvcC9MaW5lTGF5b3V0L0FsaWdubWVudEhhbmRsaW5nCiAgICAg
c3dpdGNoIChiYXNlbGluZSkgewogICAgIGNhc2UgQUJfQkFTRUxJTkU6CiAgICAgICAgIHJldHVy
biBkb21pbmFudEJhc2VsaW5lVG9BbGlnbm1lbnRCYXNlbGluZShpc1ZlcnRpY2FsVGV4dCwgdGV4
dFJlbmRlcmVyUGFyZW50KTsKICAgICBjYXNlIEFCX0JFRk9SRV9FREdFOgogICAgIGNhc2UgQUJf
VEVYVF9CRUZPUkVfRURHRToKLSAgICAgICAgcmV0dXJuIG1fZm9udC5hc2NlbnQoKTsKKyAgICAg
ICAgcmV0dXJuIGZvbnRNZXRyaWNzLmFzY2VudCgpOwogICAgIGNhc2UgQUJfTUlERExFOgotICAg
ICAgICByZXR1cm4gbV9mb250LnhIZWlnaHQoKSAvIDI7CisgICAgICAgIHJldHVybiBmb250TWV0
cmljcy54SGVpZ2h0KCkgLyAyOwogICAgIGNhc2UgQUJfQ0VOVFJBTDoKLSAgICAgICAgcmV0dXJu
IChtX2ZvbnQuYXNjZW50KCkgLSBtX2ZvbnQuZGVzY2VudCgpKSAvIDI7CisgICAgICAgIHJldHVy
biAoZm9udE1ldHJpY3MuYXNjZW50KCkgLSBmb250TWV0cmljcy5kZXNjZW50KCkpIC8gMjsKICAg
ICBjYXNlIEFCX0FGVEVSX0VER0U6CiAgICAgY2FzZSBBQl9URVhUX0FGVEVSX0VER0U6CiAgICAg
Y2FzZSBBQl9JREVPR1JBUEhJQzoKLSAgICAgICAgcmV0dXJuIG1fZm9udC5kZXNjZW50KCk7Cisg
ICAgICAgIHJldHVybiBmb250TWV0cmljcy5kZXNjZW50KCk7CiAgICAgY2FzZSBBQl9BTFBIQUJF
VElDOgogICAgICAgICByZXR1cm4gMDsKICAgICBjYXNlIEFCX0hBTkdJTkc6Ci0gICAgICAgIHJl
dHVybiBtX2ZvbnQuYXNjZW50KCkgKiA4IC8gMTAuZjsKKyAgICAgICAgcmV0dXJuIGZvbnRNZXRy
aWNzLmFzY2VudCgpICogOCAvIDEwLmY7CiAgICAgY2FzZSBBQl9NQVRIRU1BVElDQUw6Ci0gICAg
ICAgIHJldHVybiBtX2ZvbnQuYXNjZW50KCkgLyAyOworICAgICAgICByZXR1cm4gZm9udE1ldHJp
Y3MuYXNjZW50KCkgLyAyOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogICAgICAgICByZXR1cm4gMDsKQEAgLTE5MywxMiArMTk1LDE0IEBAIGZsb2F0IFNWR1Rl
eHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2FsY3UKICAgICAvLyBTcGVjOiBJZiBpZiB0aGUgJ2ds
eXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsJyByZXN1bHRzIGluIGFuIG9yaWVudGF0aW9uIGFuZ2xl
IHRoYXQgaXMgbm90IGEgbXVsdGlwbGUgb2YKICAgICAvLyAxODAgZGVncmVlcywgdGhlbiB0aGUg
Y3VycmVudCB0ZXh0IHBvc2l0aW9uIGlzIGluY3JlbWVudGVkIGFjY29yZGluZyB0byB0aGUgaG9y
aXpvbnRhbCBtZXRyaWNzIG9mIHRoZSBnbHlwaC4KIAorICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBm
b250TWV0cmljcyA9IG1fZm9udC5mb250TWV0cmljcygpOworCiAgICAgLy8gVmVydGljYWwgb3Jp
ZW50YXRpb24gaGFuZGxpbmcuCiAgICAgaWYgKGlzVmVydGljYWxUZXh0KSB7Ci0gICAgICAgIGZs
b2F0IGFzY2VudE1pbnVzRGVzY2VudCA9IG1fZm9udC5hc2NlbnQoKSAtIG1fZm9udC5kZXNjZW50
KCk7CisgICAgICAgIGZsb2F0IGFzY2VudE1pbnVzRGVzY2VudCA9IGZvbnRNZXRyaWNzLmFzY2Vu
dCgpIC0gZm9udE1ldHJpY3MuZGVzY2VudCgpOwogICAgICAgICBpZiAoIWFuZ2xlKSB7CiAgICAg
ICAgICAgICB4T3JpZW50YXRpb25TaGlmdCA9IChhc2NlbnRNaW51c0Rlc2NlbnQgLSBtZXRyaWNz
LndpZHRoKCkpIC8gMjsKLSAgICAgICAgICAgIHlPcmllbnRhdGlvblNoaWZ0ID0gbV9mb250LmFz
Y2VudCgpOworICAgICAgICAgICAgeU9yaWVudGF0aW9uU2hpZnQgPSBmb250TWV0cmljcy5hc2Nl
bnQoKTsKICAgICAgICAgfSBlbHNlIGlmIChhbmdsZSA9PSAxODApCiAgICAgICAgICAgICB4T3Jp
ZW50YXRpb25TaGlmdCA9IChhc2NlbnRNaW51c0Rlc2NlbnQgKyBtZXRyaWNzLndpZHRoKCkpIC8g
MjsKICAgICAgICAgZWxzZSBpZiAoYW5nbGUgPT0gMjcwKSB7CkBAIC0yMTgsNyArMjIyLDcgQEAg
ZmxvYXQgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lOjpjYWxjdQogICAgICAgICB5T3JpZW50
YXRpb25TaGlmdCA9IC1tZXRyaWNzLndpZHRoKCk7CiAgICAgZWxzZSBpZiAoYW5nbGUgPT0gMTgw
KSB7CiAgICAgICAgIHhPcmllbnRhdGlvblNoaWZ0ID0gbWV0cmljcy53aWR0aCgpOwotICAgICAg
ICB5T3JpZW50YXRpb25TaGlmdCA9IC1tX2ZvbnQuYXNjZW50KCk7CisgICAgICAgIHlPcmllbnRh
dGlvblNoaWZ0ID0gLWZvbnRNZXRyaWNzLmFzY2VudCgpOwogICAgIH0gZWxzZSBpZiAoYW5nbGUg
PT0gMjcwKQogICAgICAgICB4T3JpZW50YXRpb25TaGlmdCA9IG1ldHJpY3Mud2lkdGgoKTsKIApJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2lu
ZVNwYWNpbmcuY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU4LDcgKzU4
LDcgQEAgZmxvYXQgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmc6OmNhbGN1bAogCiAgICAgbV9s
YXN0R2x5cGggPSBjdXJyZW50R2x5cGg7CiAgICAgbV9sYXN0R2x5cGguaXNWYWxpZCA9IHRydWU7
Ci0gICAga2VybmluZyAqPSBtX2ZvbnQuc2l6ZSgpIC8gbV9mb250LnByaW1hcnlGb250KCktPnVu
aXRzUGVyRW0oKTsKKyAgICBrZXJuaW5nICo9IG1fZm9udC5zaXplKCkgLyBtX2ZvbnQuZm9udE1l
dHJpY3MoKS51bml0c1BlckVtKCk7CiAgICAgcmV0dXJuIGtlcm5pbmc7CiAjZWxzZQogICAgIFVO
VVNFRF9QQVJBTShpc1ZlcnRpY2FsVGV4dCk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHVGV4dE1ldHJpY3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdUZXh0TWV0cmljcy5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1RleHRNZXRyaWNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyArNDIsNyBAQCBT
VkdUZXh0TWV0cmljczo6U1ZHVGV4dE1ldHJpY3MoY29uc3QgRm9uCiAgICAgaW50IGxlbmd0aCA9
IDA7CiAKICAgICBtX3dpZHRoID0gZm9udC5mbG9hdFdpZHRoKHJ1biwgZXh0cmFDaGFyc0F2YWls
YWJsZSwgbGVuZ3RoLCBtX2dseXBoLm5hbWUpOwotICAgIG1faGVpZ2h0ID0gZm9udC5oZWlnaHQo
KTsKKyAgICBtX2hlaWdodCA9IGZvbnQuZm9udE1ldHJpY3MoKS5oZWlnaHQoKTsKICAgICBtX2ds
eXBoLnVuaWNvZGVTdHJpbmcgPSBTdHJpbmcocnVuLmNoYXJhY3RlcnMoKSwgbGVuZ3RoKTsKICAg
ICBtX2dseXBoLmlzVmFsaWQgPSB0cnVlOwogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHVGV4dFF1ZXJ5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZH
VGV4dFF1ZXJ5LmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHVGV4dFF1ZXJ5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcyLDcgKzQ3Miw3IEBAIHN0cnVj
dCBFeHRlbnRPZkNoYXJhY3RlckRhdGEgOiBTVkdUZXh0UXUKIAogc3RhdGljIGlubGluZSB2b2lk
IGNhbGN1bGF0ZUdseXBoQm91bmRhcmllcyhTVkdUZXh0UXVlcnk6OkRhdGEqIHF1ZXJ5RGF0YSwg
Y29uc3QgU1ZHVGV4dEZyYWdtZW50JiBmcmFnbWVudCwgaW50IHN0YXJ0UG9zaXRpb24sIEZsb2F0
UmVjdCYgZXh0ZW50KQogewotICAgIGV4dGVudC5zZXRMb2NhdGlvbihGbG9hdFBvaW50KGZyYWdt
ZW50LngsIGZyYWdtZW50LnkgLSBxdWVyeURhdGEtPnRleHRSZW5kZXJlci0+c3R5bGUoKS0+Zm9u
dCgpLmFzY2VudCgpKSk7CisgICAgZXh0ZW50LnNldExvY2F0aW9uKEZsb2F0UG9pbnQoZnJhZ21l
bnQueCwgZnJhZ21lbnQueSAtIHF1ZXJ5RGF0YS0+dGV4dFJlbmRlcmVyLT5zdHlsZSgpLT5mb250
TWV0cmljcygpLmFzY2VudCgpKSk7CiAKICAgICBpZiAoc3RhcnRQb3NpdGlvbikgewogICAgICAg
ICBTVkdUZXh0TWV0cmljcyBtZXRyaWNzID0gU1ZHVGV4dE1ldHJpY3M6Om1lYXN1cmVDaGFyYWN0
ZXJSYW5nZShxdWVyeURhdGEtPnRleHRSZW5kZXJlciwgZnJhZ21lbnQucG9zaXRpb25MaXN0T2Zm
c2V0LCBzdGFydFBvc2l0aW9uKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmNwcAko
cmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMjYsNyArMTI2LDcgQEAgdW5zaWduZWQgU1ZHRm9udEZhY2VFbGVt
ZW50Ojp1bml0c1BlckVtKAogewogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUgPSBnZXRB
dHRyaWJ1dGUodW5pdHNfcGVyX2VtQXR0cik7CiAgICAgaWYgKHZhbHVlLmlzRW1wdHkoKSkKLSAg
ICAgICAgcmV0dXJuIGRlZmF1bHRVbml0c1BlckVtOworICAgICAgICByZXR1cm4gZ0RlZmF1bHRV
bml0c1BlckVtOwogCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkPihjZWlsZih2YWx1
ZS50b0Zsb2F0KCkpKTsKIH0KSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0xlbmd0aC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBX
ZWJDb3JlL3N2Zy9TVkdMZW5ndGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NDQsNyArNDQ0LDcg
QEAgZmxvYXQgU1ZHTGVuZ3RoOjpjb252ZXJ0VmFsdWVGcm9tVXNlclVuaQogCiAgICAgLy8gVXNl
IG9mIGNlaWwgYWxsb3dzIGEgcGl4ZWwgbWF0Y2ggdG8gdGhlIFczQ3MgZXhwZWN0ZWQgb3V0cHV0
IG9mIGNvb3Jkcy11bml0cy0wMy1iLnN2ZwogICAgIC8vIGlmIHRoaXMgY2F1c2VzIHByb2JsZW1z
IGluIHJlYWwgd29ybGQgY2FzZXMgbWF5YmUgaXQgd291bGQgYmUgYmVzdCB0byByZW1vdmUgdGhp
cwotICAgIGZsb2F0IHhIZWlnaHQgPSBjZWlsZihzdHlsZS0+Zm9udCgpLnhIZWlnaHQoKSk7Cisg
ICAgZmxvYXQgeEhlaWdodCA9IGNlaWxmKHN0eWxlLT5mb250TWV0cmljcygpLnhIZWlnaHQoKSk7
CiAgICAgaWYgKCF4SGVpZ2h0KSB7CiAgICAgICAgIGVjID0gTk9UX1NVUFBPUlRFRF9FUlI7CiAg
ICAgICAgIHJldHVybiAwOwpAQCAtNDYzLDcgKzQ2Myw3IEBAIGZsb2F0IFNWR0xlbmd0aDo6Y29u
dmVydFZhbHVlRnJvbUVYU1RvVXMKICAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSBjb250ZXh0LT5y
ZW5kZXJlcigpLT5zdHlsZSgpOwogICAgIC8vIFVzZSBvZiBjZWlsIGFsbG93cyBhIHBpeGVsIG1h
dGNoIHRvIHRoZSBXM0NzIGV4cGVjdGVkIG91dHB1dCBvZiBjb29yZHMtdW5pdHMtMDMtYi5zdmcK
ICAgICAvLyBpZiB0aGlzIGNhdXNlcyBwcm9ibGVtcyBpbiByZWFsIHdvcmxkIGNhc2VzIG1heWJl
IGl0IHdvdWxkIGJlIGJlc3QgdG8gcmVtb3ZlIHRoaXMKLSAgICByZXR1cm4gdmFsdWUgKiBjZWls
ZihzdHlsZS0+Zm9udCgpLnhIZWlnaHQoKSk7CisgICAgcmV0dXJuIHZhbHVlICogY2VpbGYoc3R5
bGUtPmZvbnRNZXRyaWNzKCkueEhlaWdodCgpKTsKIH0KIAogU1ZHTGVuZ3RoIFNWR0xlbmd0aDo6
ZnJvbUNTU1ByaW1pdGl2ZVZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlKiB2YWx1ZSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77235</attachid>
            <date>2010-12-22 10:55:10 -0800</date>
            <delta_ts>2010-12-23 01:39:33 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>IntroduceFontMetrics2.diff</filename>
            <type>text/plain</type>
            <size>113839</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NDQ4MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTg3IEBACisyMDEwLTEyLTIyICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEludHJvZHVjZSBGb250TWV0cmljcyBhYnN0cmFjdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE0NTYKKworICAgICAgICBFbmNhcHN1
bGF0ZSBhc2NlbnQvZGVzY2VudC9saW5lSGVpZ2h0L2xpbmVHYXAgbWV0aG9kcyBpbiBhIHNpbmds
ZSBGb250TWV0cmljcyBjbGFzcywgaW5zdGVhZCBvZgorICAgICAgICBoYXZpbmcgdG8gZGVmaW5l
IHRoZW0gaW4gYm90aCBGb250ICYgU2ltcGxlRm9udERhdGEuIENoYW5nZWQgdG8gc3RvcmUgZmxv
YXRpbmcgcG9pbnQgdmFsdWVzCisgICAgICAgIGFzIGRlZmF1bHQsIGluIG9yZGVyIHRvIGdldCBh
Y2N1cmF0ZSBpbmZvcm1hdGlvbiBmb3Igc21hbGwgc2l6ZWQgZm9udHMuIEFsbCB0aGVzZSBtZXRo
b2RzCisgICAgICAgIG5vdyBoYXZlIGZsb2F0aW5nLXBvaW50IGFuZCBpbnRlZ2VyIHZlcnNpb25z
LiBXaGVuZXZlciBhbiBpbnRlZ2VyIHZhcmlhbnQgb2YgdGhlc2UgZnVuY3Rpb25zCisgICAgICAg
IGlzIGNhbGxlZCwgbHJvdW5kZigpIGlzIHVzZWQgdG8gcm91bmQgdGhlIHZhbHVlLgorCisgICAg
ICAgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gc3VwcG9ydCBzbWFsbCBmb250LXNpemVzIGZv
ciBTVkcgaW4gYSBmb2xsb3ctdXAgcGF0Y2gsIGFzIHdlbGwKKyAgICAgICAgYXMgZml4aW5nIHJv
dW5kaW5nIGlzc3VlcyB3aGVuIHVzaW5nIFNWRyBGb250cy4KKyAgICAgICAgCisgICAgICAgIFNo
b3VsZG4ndCBhZmZlY3QgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5h
bTogQWRkIEZvbnRNZXRyaWNzLmggdG8gYnVpbGQuIAorICAgICAgICAqIFdlYkNvcmUuZ3lwaTog
RGl0dG8uCisgICAgICAgICogV2ViQ29yZS5wcm86IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1
ZS5jcHA6IFVzZSBzdHlsZS0+Zm9udE1ldHJpY3MoKSBpbnN0ZWFkIG9mIHN0eWxlLT5mb250KCkg
dG8gYWNjZXNzIHRoZSBtZXRyaWNzLgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFs
dWU6OmNvbXB1dGVMZW5ndGhEb3VibGUpOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEOjpkcmF3VGV4dEludGVybmFsKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yQ29udHJvbGxlcjo6ZHJhd0VsZW1lbnRUaXRsZSk6CisgICAgICAgICogcGxhdGZvcm0vY2hy
b21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlBv
cHVwTGlzdEJveDo6cGFpbnRSb3cpOgorICAgICAgICAoV2ViQ29yZTo6UG9wdXBMaXN0Qm94Ojpn
ZXRSb3dIZWlnaHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaDogUmVtb3Zl
IGFzY2VudC9kZXNjZW50L2hlaWdodC9saW5lR2FwL2xpbmVTcGFjaW5nL3hIZWlnaHQvdW5pdHNQ
ZXJFbSBhY2Nlc3Nvci4uLgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6Zm9udE1ldHJpY3MpOiAu
Li4gYW5kIG9ubHkgZXhwb3NlIGEgc2luZ2xlIEZvbnRNZXRyaWNzIG9iamVjdCBoZXJlLgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYXN0UGF0aC5jcHA6IFVzZSBmb250TWV0cmlj
cygpIHRvIHF1ZXJ5IG1ldHJpY3MgaW5mb3JtYXRpb24uCisgICAgICAgIChXZWJDb3JlOjpGb250
OjplbXBoYXNpc01hcmtBc2NlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZW1waGFzaXNN
YXJrRGVzY2VudCk6CisgICAgICAgIChXZWJDb3JlOjpGb250OjplbXBoYXNpc01hcmtIZWlnaHQp
OgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZmxvYXRXaWR0aEZvclNpbXBsZVRleHQpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmg6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6SW50ZWdlckZvbnRNZXRyaWNzOjpjcmVhdGUpOiBDcmVhdGVzIGFuIEludGVnZXJG
b250TWV0cmljcyBvYmplY3QsIG9ubHkgdXNlZCBieSBGb250TWV0cmljcyBpdHNlbGYuCisgICAg
ICAgIChXZWJDb3JlOjpJbnRlZ2VyRm9udE1ldHJpY3M6OmFzY2VudCk6IEludGVnZXIgdmVyc2lv
bi4KKyAgICAgICAgKFdlYkNvcmU6OkludGVnZXJGb250TWV0cmljczo6ZGVzY2VudCk6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6SW50ZWdlckZvbnRNZXRyaWNzOjpsaW5lR2FwKTogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjpJbnRlZ2VyRm9udE1ldHJpY3M6OmxpbmVTcGFjaW5nKTogRGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpJbnRlZ2VyRm9udE1ldHJpY3M6OkludGVnZXJGb250TWV0
cmljcyk6CisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6Rm9udE1ldHJpY3MpOiBDcmVh
dGVzIGEgRm9udE1ldHJpY3Mgb2JqZWN0LCBzdG9yZWQgaW4gU2ltcGxlRm9udERhdGEuCisgICAg
ICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6dW5pdHNQZXJFbSk6IFJldHVybnMgYW4gdW5zaWdu
ZWQgZGVzY3JpYmluZyB0aGUgdW5pdHNQZXJFbS4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRy
aWNzOjpzZXRVbml0c1BlckVtKTogU2V0cyB0aGUgdW5pdHNQZXJFbSB2YWx1ZS4KKyAgICAgICAg
KFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpmbG9hdEFzY2VudCk6IFJldHVybnMgdGhlIHN0b3JlZCBt
X2FzY2VudCBmbG9hdC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpzZXRBc2NlbnQp
OiBTZXRzIHRoZSBzdG9yZWQgbV9hc2NlbnQgZmxvYXQuCisgICAgICAgIChXZWJDb3JlOjpGb250
TWV0cmljczo6ZmxvYXREZXNjZW50KTogUmV0dXJucyB0aGUgc3RvcmVkIG1fZGVzY2VudCBmbG9h
dC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpzZXREZXNjZW50KTogU2V0cyB0aGUg
c3RvcmVkIG1fZGVzY2VudCBmbG9hdC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpm
bG9hdEhlaWdodCk6IFJldHVybnMgZmxvYXRBc2NlbnQoKSArIGZsb2F0RGVzY2VudCgpLgorICAg
ICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmZsb2F0TGluZUdhcCk6IFJldHVybnMgdGhlIHN0
b3JlZCBtX2xpbmVHYXAgZmxvYXQuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6c2V0
TGluZUdhcCk6IFNldHMgdGhlIHN0b3JlZCBtX2xpbmVHYXAgZmxvYXQuCisgICAgICAgIChXZWJD
b3JlOjpGb250TWV0cmljczo6ZmxvYXRMaW5lU3BhY2luZyk6IFJldHVybnMgdGhlIHN0b3JlZCBt
X2xpbmVTcGFjaW5nIGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnNldExp
bmVTcGFjaW5nKTogU2V0cyB0aGUgc3RvcmVkIG1fbGluZVNwYWNpbmcgZmxvYXQuCisgICAgICAg
IChXZWJDb3JlOjpGb250TWV0cmljczo6eEhlaWdodCk6IFJldHVybnMgdGhlIHN0b3JlZCBtX3hI
ZWlnaHQgZmxvYXQgKG5vIGludGVnZXIgdmVyc2lvbiBhdmFpbGFibGUsIGhlbmNlIG5vICdmbG9h
dCcgcHJlZml4KS4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpzZXRYSGVpZ2h0KTog
U2V0cyB0aGUgc3RvcmVkIG1feEhlaWdodCBmbG9hdC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRN
ZXRyaWNzOjphc2NlbnQpOiBDYWxscyBlbnN1cmVJbnRlZ2VyTWV0cmljcygpLCB0aGVuIHJldHVy
bnMgbV9pbnRlZ2VyTWV0cmljcy0+YXNjZW50KCkuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0
cmljczo6ZGVzY2VudCk6IERpdHRvIChmb3IgZGVzY2VudCkuCisgICAgICAgIChXZWJDb3JlOjpG
b250TWV0cmljczo6aGVpZ2h0KTogUmV0dXJucyBhc2NlbnQoKSArIGRlc2NlbnQoKS4KKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpsaW5lR2FwKTogQ2FsbHMgZW5zdXJlSW50ZWdlck1l
dHJpY3MoKSwgdGhlbiByZXR1cm5zIG1faW50ZWdlck1ldHJpY3MtPmxpbmVHYXAoKS4KKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpsaW5lU3BhY2luZyk6IERpdHRvIChmb3IgbGluZVNw
YWNpbmcpLgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnJlc2V0KTogTnVsbHMgYWxs
IG1lbWJlcnMsIHVzZWQgb25seSBieSB0aGUgcGxhdGZvcm0gdmFyaWFudHMgb2YgU2ltcGxlRm9u
dERhdGEuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6ZW5zdXJlSW50ZWdlck1ldHJp
Y3MpOiBVdGlsaXppZXMgbHJvdW5kZiB0byByb3VuZCB0aGUgc3RvcmVkIGZsb2F0cywgYW5kIHBh
c3NlcyB0aGVtIHRvIHRoZSBJbnRlZ2VyRm9udE1ldHJpY3Mgb2JqZWN0LCB3aGljaCBnZXRzIGNh
Y2hlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHA6IEFk
YXB0IFNWRyBGb250cyBjb2RlLCB0byBpbml0aWFsaXplIHRoZSBGb250TWV0cmljcyBvYmplY3Qs
IGFzIHRoZSBtX2FzY2VudC9ldGMuLiBtZW1iZXJzIGFyZSBnb25lLgorICAgICAgICAoV2ViQ29y
ZTo6U2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OlNp
bXBsZUZvbnREYXRhOjppbml0Q2hhcldpZHRocyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvU2ltcGxlRm9udERhdGEuaDogUmVtb3ZlIGFzY2VudC9kZXNjZW50L2hlaWdodC9saW5lU3Bh
Y2luZy9saW5lR2FwL3hIZWlnaHQvdW5pdHNQZXJFbSBhY2Nlc3NvcnMsIGFuZCBtZW1iZXJzLCBq
dXN0IHN0b3JlIGEgRm9udE1ldHJpY3Mgb2JqZWN0IGFuZCBleHBvc2UgaXQuCisgICAgICAgIChX
ZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6Zm9udE1ldHJpY3MpOgorICAgICAgICAoV2ViQ29yZTo6
U2ltcGxlRm9udERhdGE6OmF2Z0NoYXJXaWR0aCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vRm9udENocm9taXVtV2luLmNwcDogVXNlIGZvbnRNZXRyaWNzKCkgdG8gcXVl
cnkgZm9udCBtZXRyaWNzLgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNwYXJlbmN5QXdhcmVGb250
UGFpbnRlcjo6VHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50ZXI6OmVzdGltYXRlVGV4dEJvdW5k
cyk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc3BhcmVuY3lBd2FyZUZvbnRQYWludGVyOjpUcmFu
c3BhcmVuY3lBd2FyZUdseXBoUGFpbnRlcjo6ZHJhd0dseXBocyk6CisgICAgICAgIChXZWJDb3Jl
OjpUcmFuc3BhcmVuY3lBd2FyZUZvbnRQYWludGVyOjpUcmFuc3BhcmVuY3lBd2FyZVVuaXNjcmli
ZVBhaW50ZXI6OmVzdGltYXRlVGV4dEJvdW5kcyk6CisgICAgICAgIChXZWJDb3JlOjpGb250Ojpk
cmF3Q29tcGxleFRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Np
bXBsZUZvbnREYXRhQ2hyb21pdW1XaW4uY3BwOiBBZGFwdCBwbGF0Zm9ybSBjb2RlLCB0byBpbml0
aWFsaXplIHRoZSBGb250TWV0cmljcyBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVG
b250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9TaW1wbGVGb250RGF0YUxpbnV4LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpT
aW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9VbmlzY3JpYmVIZWxwZXJUZXh0UnVuLmNwcDogVXNlIGZvbnRNZXRyaWNzKCkg
dG8gcXVlcnkgZm9udCBtZXRyaWNzLgorICAgICAgICAoV2ViQ29yZTo6VW5pc2NyaWJlSGVscGVy
VGV4dFJ1bjo6VW5pc2NyaWJlSGVscGVyVGV4dFJ1bik6CisgICAgICAgIChXZWJDb3JlOjpVbmlz
Y3JpYmVIZWxwZXJUZXh0UnVuOjpuZXh0V2luRm9udERhdGEpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2ZyZWV0eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUuY3BwOiBBZGFwdCBwbGF0
Zm9ybSBjb2RlLCB0byBpbml0aWFsaXplIHRoZSBGb250TWV0cmljcyBvYmplY3QuCisgICAgICAg
IChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9oYWlrdS9TaW1wbGVGb250RGF0YUhhaWt1LmNwcDogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENvbXBsZXhUZXh0TWFjLmNwcDogVXNlIGZvbnRNZXRy
aWNzKCkgdG8gcXVlcnkgZm9udCBtZXRyaWNzLgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6Zmxv
YXRXaWR0aEZvckNvbXBsZXhUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMv
Rm9udE1hYy5tbTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpzaG93R2x5cGhzV2l0aEFkdmFu
Y2VzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMu
bW06IEFkYXB0IHBsYXRmb3JtIGNvZGUsIHRvIGluaXRpYWxpemUgdGhlIEZvbnRNZXRyaWNzIG9i
amVjdC4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgor
ICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQ2hhcldpZHRoSW5pdCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcGFuZ28vU2ltcGxlRm9udERhdGFQYW5nby5j
cHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5p
dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9udERhdGFRdC5jcHA6
IERpdHRvLiAoKyBTd2l0Y2ggdG8gUUZvbnRNZXRyaWNzRiB0byBnZXQgZmxvYXRpbmctcG9pbnQg
YWNjdXJhbmN5LikKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUlu
aXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q0dXaW4uY3BwOiBVc2Ug
Zm9udE1ldHJpY3MoKSB0byBxdWVyeSBmb250IG1ldHJpY3MuCisgICAgICAgIChXZWJDb3JlOjpk
cmF3R0RJR2x5cGhzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFdpbi5j
cHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZmxvYXRXaWR0aEZvckNvbXBsZXhU
ZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFDR1dp
bi5jcHA6IEFkYXB0IHBsYXRmb3JtIGNvZGUsIHRvIGluaXRpYWxpemUgdGhlIEZvbnRNZXRyaWNz
IG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQp
OgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQm91bmRzRm9yR2x5
cGgpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNhaXJv
V2luLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZv
cm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFX
aW4uY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjppbml0R0RJ
Rm9udCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0
V2luQ0UuY3BwOiBVc2UgZm9udE1ldHJpY3MoKSB0byBxdWVyeSBmb250IG1ldHJpY3MuCisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdUZXh0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy93aW5jZS9TaW1wbGVGb250RGF0YVdpbkNFLmNwcDogQWRhcHQgcGxhdGZv
cm0gY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUgRm9udE1ldHJpY3Mgb2JqZWN0LgorICAgICAgICAo
V2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3Mvd3gvU2ltcGxlRm9udERhdGFXeC5jcHA6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAgICogcmVuZGVyaW5n
L0VsbGlwc2lzQm94LmNwcDogVXNlIHN0eWxlLT5mb250TWV0cmljcygpIGluc3RlYWQgb2Ygc3R5
bGUtPmZvbnQoKSB0byBhY2Nlc3MgdGhlIG1ldHJpY3MuCisgICAgICAgIChXZWJDb3JlOjpFbGxp
cHNpc0JveDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6RWxsaXBzaXNCb3g6Om5vZGVBdFBv
aW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lQm94LmNwcDogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpJbmxpbmVCb3g6OmxvZ2ljYWxIZWlnaHQpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9JbmxpbmVGbG93Qm94LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjp2ZXJ0aWNhbFBv
c2l0aW9uRm9yQm94KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OmNvbXB1dGVM
b2dpY2FsQm94SGVpZ2h0cyk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVGbG93Qm94OjpwbGFj
ZUJveGVzSW5CbG9ja0RpcmVjdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL0lubGluZVRleHRC
b3guY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OklubGluZVRleHRCb3g6OnBhaW50KToK
KyAgICAgICAgKFdlYkNvcmU6OklubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxsaW5nT3JHcmFtbWFyTWFya2Vy
KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25VbmRl
cmxpbmUpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmJhc2VsaW5lUG9zaXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQmxvY2s6OmZpcnN0TGluZUJveEJhc2VsaW5lKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJsb2NrOjpsYXN0TGluZUJveEJhc2VsaW5lKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6
OmxvY2FsQ2FyZXRSZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmpl
Y3QuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVtYmVkZGVkT2JqZWN0Ojpw
YWludFJlcGxhY2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpzZXRJbWFnZVNpemVGb3JBbHRUZXh0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpwYWludFJlcGxhY2VkKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJJbmxpbmU6OmJhc2VsaW5lUG9zaXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJMaXN0Qm94LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94
OjpwYWludEl0ZW1Gb3JlZ3JvdW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6
Oml0ZW1IZWlnaHQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcDog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjpwYWludCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjpsYXlvdXQpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGlzdE1hcmtlcjo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6dXBkYXRlTWFyZ2lucyk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjpnZXRSZWxhdGl2ZU1hcmtlclJlY3QpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHA6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2w6OnBhaW50UGxhY2Vob2xkZXIpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6Y3JlYXRlSW5uZXJUZXh0
U3R5bGUpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOiBBZGQgImNv
bnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcygpIGNvbnN0IiBhY2Nlc3Nvci4KKyAgICAgICAg
KFdlYkNvcmU6OkluaGVyaXRlZEZsYWdzOjpmb250TWV0cmljcyk6CisgICAgICAgIChXZWJDb3Jl
OjpJbmhlcml0ZWRGbGFnczo6Y29tcHV0ZWRMaW5lSGVpZ2h0KToKKyAgICAgICAgKiByZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR0lubGluZVRleHQuY3BwOiBVc2Ugc3R5bGUtPmZvbnRNZXRyaWNzKCkg
aW5zdGVhZCBvZiBzdHlsZS0+Zm9udCgpIHRvIGFjY2VzcyB0aGUgbWV0cmljcy4KKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclNWR0lubGluZVRleHQ6OnBvc2l0aW9uRm9yUG9pbnQpOgorICAgICAg
ICAqIHJlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHA6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6U1ZHSW5saW5lVGV4dEJveDo6c2VsZWN0aW9uUmVjdEZvclRleHRGcmFnbWVudCk6
CisgICAgICAgIChXZWJDb3JlOjpwb3NpdGlvbk9mZnNldEZvckRlY29yYXRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uV2l0aFN0eWxlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OnBhaW50VGV4dFdpdGhTaGFkb3dz
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OmNhbGN1bGF0ZUJvdW5kYXJp
ZXMpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5l
LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxp
bmU6OmNhbGN1bGF0ZUJhc2VsaW5lU2hpZnQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dExh
eW91dEVuZ2luZUJhc2VsaW5lOjpjYWxjdWxhdGVBbGlnbm1lbnRCYXNlbGluZVNoaWZ0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2FsY3VsYXRlR2x5
cGhBZHZhbmNlQW5kT3JpZW50YXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvU1ZHVGV4
dExheW91dEVuZ2luZVNwYWNpbmcuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1Rl
eHRMYXlvdXRFbmdpbmVTcGFjaW5nOjpjYWxjdWxhdGVTVkdLZXJuaW5nKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpTVkdUZXh0TWV0cmljczo6U1ZHVGV4dE1ldHJpY3MpOgorICAgICAgICAqIHJlbmRlcmluZy9z
dmcvU1ZHVGV4dFF1ZXJ5LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpjYWxjdWxhdGVH
bHlwaEJvdW5kYXJpZXMpOgorICAgICAgICAqIHN2Zy9TVkdGb250RmFjZUVsZW1lbnQuY3BwOiAK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0ZvbnRGYWNlRWxlbWVudDo6dW5pdHNQZXJFbSk6IFJlbmFt
ZSBkZWZhdWx0VW5pdHNQZXJFbSBnbG9iYWwgdG8gZ0RlZmF1bHRVbml0c1BlckVtLgorICAgICAg
ICAqIHN2Zy9TVkdMZW5ndGguY3BwOiBVc2Ugc3R5bGUtPmZvbnRNZXRyaWNzKCkgaW5zdGVhZCBv
ZiBzdHlsZS0+Zm9udCgpIHRvIGFjY2VzcyB0aGUgbWV0cmljcy4KKyAgICAgICAgKFdlYkNvcmU6
OlNWR0xlbmd0aDo6Y29udmVydFZhbHVlRnJvbVVzZXJVbml0c1RvRVhTKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0xlbmd0aDo6Y29udmVydFZhbHVlRnJvbUVYU1RvVXNlclVuaXRzKToKKwogMjAx
MC0xMi0yMSAgUGF2ZWwgUG9kaXZpbG92ICA8cG9kaXZpbG92QGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5LgpJbmRleDogV2ViQ29yZS9HTlVtYWtl
ZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA3
NDQ2NykKKysrIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTI0MDIs
NiArMjQwMiw3IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250RmFtaWx5LmggXAogCVdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhc3RQ
YXRoLmNwcCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmggXAorCVdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udE1ldHJpY3MuaCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250T3JpZW50YXRpb24uaCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
UmVuZGVyaW5nTW9kZS5oIFwKIAlXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRTZWxlY3Rv
ci5oIFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
V2ViQ29yZS5neXBpCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvV2ViQ29yZS5neXBpCSh3
b3JraW5nIGNvcHkpCkBAIC0yOTEwLDYgKzI5MTAsNyBAQAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRGYW1pbHkuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGlj
cy9Gb250RmFtaWx5LmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYXN0
UGF0aC5jcHAnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmgn
LAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRSZW5kZXJpbmdNb2RlLmgnLAog
ICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRTZWxlY3Rvci5oJywKICAgICAgICAg
ICAgICdwbGF0Zm9ybS9ncmFwaGljcy9Gb250U21vb3RoaW5nTW9kZS5oJywKSW5kZXg6IFdlYkNv
cmUvV2ViQ29yZS5wcm8KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNp
b24gNzQ0NjcpCisrKyBXZWJDb3JlL1dlYkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC0yMTEz
LDYgKzIxMTMsNyBAQCBIRUFERVJTICs9IFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0
YS5oIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RGVzY3JpcHRpb24uaCBcCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseS5oIFwKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250
TWV0cmljcy5oIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250LmggXAogICAgIHBsYXRmb3Jt
L2dyYXBoaWNzL0dlbmVyYXRlZEltYWdlLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dyYWRp
ZW50LmggXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvago9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lv
biA3NDQ2NykKKysrIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtp
bmcgY29weSkKQEAgLTI2MzgxLDYgKzI2MzgxLDEwIEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJ
CQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGb250TWV0
cmljcy5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0
aD0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9udFJlbmRlcmluZ01vZGUuaCIKIAkJCQkJPgogCQkJ
CTwvRmlsZT4KSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMDcsNiArMTA3LDcgQEAKIAkJMDgzREFFQTcwRjAx
QTdGQjAwMzQyNzU0IC8qIFJlbmRlclRleHRDb250cm9sTXVsdGlMaW5lLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODNEQUVBMzBGMDFBN0ZCMDAzNDI3
NTQgLyogUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUuaCAqLzsgfTsKIAkJMDgzREFFQTgwRjAx
QTdGQjAwMzQyNzU0IC8qIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODNEQUVBNDBGMDFBN0ZCMDAz
NDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcCAqLzsgfTsKIAkJMDgzREFF
QTkwRjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgzREFFQTUwRjAxQTdG
QjAwMzQyNzU0IC8qIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oICovOyB9OworCQkwODQ1
NjgwODEyQjkwREE2MDA5NjBBOUYgLyogRm9udE1ldHJpY3MuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NDU2ODA3MTJCOTBEQTYwMDk2MEE5RiAvKiBG
b250TWV0cmljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTA4NEEwODI5MTI4RDc4NjcwMDJEQjFGMSAvKiBTVkdQYXRoU2VnTGlzdFByb3BlcnR5
VGVhck9mZi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MDg0QTA4MjgxMjhENzg2NzAwMkRCMUYxIC8qIFNWR1BhdGhTZWdMaXN0UHJvcGVydHlUZWFyT2Zm
LmggKi87IH07CiAJCTA4NEFFQkU0MEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxlY3RFbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NEFFQkUy
MEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxlY3RFbGVtZW50LmNwcCAqLzsgfTsKIAkJMDg0QUVCRTUw
RkI1MDVGQTAwMzg0ODNFIC8qIFNlbGVjdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NEFFQkUzMEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxl
Y3RFbGVtZW50LmggKi87IH07CkBAIC02MzY4LDYgKzYzNjksNyBAQAogCQkwODNEQUVBMzBGMDFB
N0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDgzREFFQTQwRjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRl
clRleHRDb250cm9sU2luZ2xlTGluZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkwODNEQUVBNTBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRy
b2xTaW5nbGVMaW5lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclRl
eHRDb250cm9sU2luZ2xlTGluZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwODQ1
NjgwNzEyQjkwREE2MDA5NjBBOUYgLyogRm9udE1ldHJpY3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRm9udE1ldHJpY3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMDg0QTA4MjgxMjhENzg2NzAwMkRCMUYxIC8qIFNWR1BhdGhTZWdMaXN0UHJvcGVydHlUZWFy
T2ZmLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1BhdGhTZWdMaXN0UHJv
cGVydHlUZWFyT2ZmLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4NEFFQkUyMEZC
NTA1RkEwMDM4NDgzRSAvKiBTZWxlY3RFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFNlbGVjdEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkwODRBRUJFMzBGQjUwNUZBMDAzODQ4M0UgLyogU2VsZWN0RWxlbWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZWxlY3RFbGVtZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xNzIyOSw2ICsxNzIzMSw3IEBACiAJCQkJQjJDM0RBNTgwRDAw
NkNENjAwRUY2RjI2IC8qIEZvbnRGYW1pbHkuY3BwICovLAogCQkJCUIyQzNEQTU5MEQwMDZDRDYw
MEVGNkYyNiAvKiBGb250RmFtaWx5LmggKi8sCiAJCQkJNzI2MjZFMDEwRUYwMjJGRTAwQTA3RTIw
IC8qIEZvbnRGYXN0UGF0aC5jcHAgKi8sCisJCQkJMDg0NTY4MDcxMkI5MERBNjAwOTYwQTlGIC8q
IEZvbnRNZXRyaWNzLmggKi8sCiAJCQkJRjdBMDM0QzMxMjZCRjZCRTAwN0RDMTlFIC8qIEZvbnRP
cmllbnRhdGlvbi5oICovLAogCQkJCTM3QUNDRTQxMERBMjk4MEYwMDg5RTYwMiAvKiBGb250UmVu
ZGVyaW5nTW9kZS5oICovLAogCQkJCUIyQzNEQTVBMEQwMDZDRDYwMEVGNkYyNiAvKiBGb250U2Vs
ZWN0b3IuaCAqLywKQEAgLTIyMTMwLDYgKzIyMTMzLDcgQEAKIAkJCQk5M0YxOTlFRDA4MjQ1RTU5
MDAxRTlBQkMgLyogWFNMVFByb2Nlc3Nvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFCRTUxMkUw
Q0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTdERDREODcwRkRGNEQ2RTAwRUNGOUE0IC8qIFhTU0F1ZGl0b3IuaCBpbiBIZWFkZXJzICovLAor
CQkJCTA4NDU2ODA4MTJCOTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDk5QjNFQzUxMjhDQ0M0NzAwRTcyNkMyIC8qIFBsYXRmb3JtQ0FMYXllci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDk5QjNFRDcxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5
ZXJDQS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk5QjNFREQxMjhEQjUwMjAwRTcyNkMyIC8qIFBs
YXRmb3JtQ0FBbmltYXRpb24uaCBpbiBIZWFkZXJzICovLApJbmRleDogV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2
ZVZhbHVlLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVW
YWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwMCw3ICs0MDAsNyBAQCBkb3VibGUgQ1NTUHJp
bWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGhECiAgICAgICAgICAgICAvLyBXZSByZWFsbHkgbmVl
ZCB0byBjb21wdXRlIEVYIHVzaW5nIGZvbnRNZXRyaWNzIGZvciB0aGUgb3JpZ2luYWwgc3BlY2lm
aWVkU2l6ZSBhbmQgbm90IHVzZQogICAgICAgICAgICAgLy8gb3VyIGFjdHVhbCBjb25zdHJ1Y3Rl
ZCByZW5kZXJpbmcgZm9udC4KICAgICAgICAgICAgIGFwcGx5Wm9vbU11bHRpcGxpZXIgPSBmYWxz
ZTsKLSAgICAgICAgICAgIGZhY3RvciA9IHN0eWxlLT5mb250KCkueEhlaWdodCgpOworICAgICAg
ICAgICAgZmFjdG9yID0gc3R5bGUtPmZvbnRNZXRyaWNzKCkueEhlaWdodCgpOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ1NTX1JFTVM6CiAgICAgICAgICAgICBhcHBseVpvb21N
dWx0aXBsaWVyID0gZmFsc2U7CkluZGV4OiBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTc2MCw2ICsxNzYwLDcgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmRyYXdUZXh0
SQogICAgICAgICByZXR1cm47CiAKICAgICBjb25zdCBGb250JiBmb250ID0gYWNjZXNzRm9udCgp
OworICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IGZvbnQuZm9udE1ldHJpY3Mo
KTsKIAogICAgIC8vIEZJWE1FOiBIYW5kbGUgbWF4V2lkdGguCiAgICAgLy8gRklYTUU6IE5lZWQg
dG8gdHVybiBvZmYgZm9udCBzbW9vdGhpbmcuCkBAIC0xNzc3LDE0ICsxNzc4LDE0IEBAIHZvaWQg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3VGV4dEkKICAgICBzd2l0Y2ggKHN0YXRlKCku
bV90ZXh0QmFzZWxpbmUpIHsKICAgICBjYXNlIFRvcFRleHRCYXNlbGluZToKICAgICBjYXNlIEhh
bmdpbmdUZXh0QmFzZWxpbmU6Ci0gICAgICAgIGxvY2F0aW9uLnNldFkoeSArIGZvbnQuYXNjZW50
KCkpOworICAgICAgICBsb2NhdGlvbi5zZXRZKHkgKyBmb250TWV0cmljcy5hc2NlbnQoKSk7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgQm90dG9tVGV4dEJhc2VsaW5lOgogICAgIGNhc2UgSWRl
b2dyYXBoaWNUZXh0QmFzZWxpbmU6Ci0gICAgICAgIGxvY2F0aW9uLnNldFkoeSAtIGZvbnQuZGVz
Y2VudCgpKTsKKyAgICAgICAgbG9jYXRpb24uc2V0WSh5IC0gZm9udE1ldHJpY3MuZGVzY2VudCgp
KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBNaWRkbGVUZXh0QmFzZWxpbmU6Ci0gICAgICAg
IGxvY2F0aW9uLnNldFkoeSAtIGZvbnQuZGVzY2VudCgpICsgZm9udC5oZWlnaHQoKSAvIDIpOwor
ICAgICAgICBsb2NhdGlvbi5zZXRZKHkgLSBmb250TWV0cmljcy5kZXNjZW50KCkgKyBmb250TWV0
cmljcy5oZWlnaHQoKSAvIDIpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEFscGhhYmV0aWNU
ZXh0QmFzZWxpbmU6CiAgICAgZGVmYXVsdDoKQEAgLTE4MTIsOCArMTgxMyw4IEBAIHZvaWQgQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3VGV4dEkKICAgICB9CiAKICAgICAvLyBUaGUgc2xv
cCBidWlsdCBpbiB0byB0aGlzIG1hc2sgcmVjdCBtYXRjaGVzIHRoZSBoZXVyaXN0aWMgdXNlZCBp
biBGb250Q0dXaW4uY3BwIGZvciBHREkgdGV4dC4KLSAgICBGbG9hdFJlY3QgdGV4dFJlY3QgPSBG
bG9hdFJlY3QobG9jYXRpb24ueCgpIC0gZm9udC5oZWlnaHQoKSAvIDIsIGxvY2F0aW9uLnkoKSAt
IGZvbnQuYXNjZW50KCkgLSBmb250LmxpbmVHYXAoKSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgd2lkdGggKyBmb250LmhlaWdodCgpLCBmb250LmxpbmVTcGFjaW5nKCkpOwor
ICAgIEZsb2F0UmVjdCB0ZXh0UmVjdCA9IEZsb2F0UmVjdChsb2NhdGlvbi54KCkgLSBmb250TWV0
cmljcy5oZWlnaHQoKSAvIDIsIGxvY2F0aW9uLnkoKSAtIGZvbnRNZXRyaWNzLmFzY2VudCgpIC0g
Zm9udE1ldHJpY3MubGluZUdhcCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB3aWR0aCArIGZvbnRNZXRyaWNzLmhlaWdodCgpLCBmb250TWV0cmljcy5saW5lU3BhY2luZygp
KTsKICAgICBpZiAoIWZpbGwpCiAgICAgICAgIHRleHRSZWN0LmluZmxhdGUoYy0+c3Ryb2tlVGhp
Y2tuZXNzKCkgLyAyKTsKIApJbmRleDogV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3NzMsNyArMTc3Myw3IEBAIHZvaWQg
SW5zcGVjdG9yQ29udHJvbGxlcjo6ZHJhd0VsZW1lbnRUaXQKICAgICBjb250ZXh0LnNldEZpbGxD
b2xvcih0b29sdGlwQmFja2dyb3VuZENvbG9yLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKICAgICBj
b250ZXh0LmRyYXdSZWN0KHRpdGxlUmVjdCk7CiAgICAgY29udGV4dC5zZXRGaWxsQ29sb3IodG9v
bHRpcEZvbnRDb2xvciwgQ29sb3JTcGFjZURldmljZVJHQik7Ci0gICAgY29udGV4dC5kcmF3VGV4
dChmb250LCBub2RlVGl0bGVSdW4sIEludFBvaW50KHRpdGxlUmVjdC54KCkgKyByZWN0SW5mbGF0
ZVB4LCB0aXRsZVJlY3QueSgpICsgZm9udC5oZWlnaHQoKSkpOworICAgIGNvbnRleHQuZHJhd1Rl
eHQoZm9udCwgbm9kZVRpdGxlUnVuLCBJbnRQb2ludCh0aXRsZVJlY3QueCgpICsgcmVjdEluZmxh
dGVQeCwgdGl0bGVSZWN0LnkoKSArIGZvbnQuZm9udE1ldHJpY3MoKS5oZWlnaHQoKSkpOwogfQog
CiB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6Om9wZW5Jbkluc3BlY3RlZFdpbmRvdyhjb25zdCBT
dHJpbmcmIHVybCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hy
b21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBN
ZW51Q2hyb21pdW0uY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vY2hy
b21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NTksNyArOTU5
LDcgQEAgdm9pZCBQb3B1cExpc3RCb3g6OnBhaW50Um93KEdyYXBoaWNzQ29udAogICAgICAgICB0
ZXh0WCArPSBtYXhXaWR0aCAtIGl0ZW1Gb250LndpZHRoKHRleHRSdW4pOwogCiAgICAgLy8gRHJh
dyB0aGUgaXRlbSB0ZXh0LgotICAgIGludCB0ZXh0WSA9IHJvd1JlY3QueSgpICsgaXRlbUZvbnQu
YXNjZW50KCkgKyAocm93UmVjdC5oZWlnaHQoKSAtIGl0ZW1Gb250LmhlaWdodCgpKSAvIDI7Cisg
ICAgaW50IHRleHRZID0gcm93UmVjdC55KCkgKyBpdGVtRm9udC5mb250TWV0cmljcygpLmFzY2Vu
dCgpICsgKHJvd1JlY3QuaGVpZ2h0KCkgLSBpdGVtRm9udC5mb250TWV0cmljcygpLmhlaWdodCgp
KSAvIDI7CiAgICAgZ2MtPmRyYXdCaWRpVGV4dChpdGVtRm9udCwgdGV4dFJ1biwgSW50UG9pbnQo
dGV4dFgsIHRleHRZKSk7CiAKICAgICAvLyBXZSBhcmUgdXNpbmcgdGhlIGxlZnQgcGFkZGluZyBh
cyB0aGUgcmlnaHQgcGFkZGluZyBpbmNsdWRlcyByb29tIGZvciB0aGUgc2Nyb2xsLWJhciB3aGlj
aApAQCAtMTA5OSw3ICsxMDk5LDcgQEAgaW50IFBvcHVwTGlzdEJveDo6Z2V0Um93SGVpZ2h0KGlu
dCBpbmRleAogICAgIFN0cmluZyBpY29uID0gbV9wb3B1cENsaWVudC0+aXRlbUljb24oaW5kZXgp
OwogICAgIFJlZlB0cjxJbWFnZT4gaW1hZ2UoSW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291cmNlKGlj
b24udXRmOCgpLmRhdGEoKSkpOwogCi0gICAgaW50IGZvbnRIZWlnaHQgPSBnZXRSb3dGb250KGlu
ZGV4KS5oZWlnaHQoKTsKKyAgICBpbnQgZm9udEhlaWdodCA9IGdldFJvd0ZvbnQoaW5kZXgpLmZv
bnRNZXRyaWNzKCkuaGVpZ2h0KCk7CiAgICAgaW50IGljb25IZWlnaHQgPSAoaW1hZ2UgJiYgIWlt
YWdlLT5pc051bGwoKSkgPyBpbWFnZS0+cmVjdCgpLmhlaWdodCgpIDogMDsKIAogICAgIHJldHVy
biBtYXgoZm9udEhlaWdodCwgaWNvbkhlaWdodCk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnQuaAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtNDQsNyArNDQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBj
bGFzcyBGbG9hdFBvaW50OwogY2xhc3MgRmxvYXRSZWN0OwogY2xhc3MgRm9udERhdGE7Ci1jbGFz
cyBGb250RmFsbGJhY2tMaXN0OworY2xhc3MgRm9udE1ldHJpY3M7CiBjbGFzcyBGb250UGxhdGZv
cm1EYXRhOwogY2xhc3MgRm9udFNlbGVjdG9yOwogY2xhc3MgR2x5cGhCdWZmZXI7CkBAIC01NCw4
ICs1NCw2IEBAIGNsYXNzIFNWR0ZvbnRFbGVtZW50OwogCiBzdHJ1Y3QgR2x5cGhEYXRhOwogCi1j
b25zdCB1bnNpZ25lZCBkZWZhdWx0VW5pdHNQZXJFbSA9IDEwMDA7Ci0KIHN0cnVjdCBHbHlwaE92
ZXJmbG93IHsKICAgICBHbHlwaE92ZXJmbG93KCkKICAgICAgICAgOiBsZWZ0KDApCkBAIC0xMjgs
MTMgKzEyNiw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzUGxhdGZvcm1Gb250KCkgY29uc3QgeyBy
ZXR1cm4gbV9pc1BsYXRmb3JtRm9udDsgfQogCiAgICAgLy8gTWV0cmljcyB0aGF0IHdlIHF1ZXJ5
IHRoZSBGb250RmFsbGJhY2tMaXN0IGZvci4KLSAgICBpbnQgYXNjZW50KEZvbnRCYXNlbGluZSBi
YXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlG
b250KCktPmFzY2VudChiYXNlbGluZVR5cGUpOyB9Ci0gICAgaW50IGRlc2NlbnQoRm9udEJhc2Vs
aW5lIGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0aWNCYXNlbGluZSkgY29uc3QgeyByZXR1cm4gcHJp
bWFyeUZvbnQoKS0+ZGVzY2VudChiYXNlbGluZVR5cGUpOyB9Ci0gICAgaW50IGhlaWdodCgpIGNv
bnN0IHsgcmV0dXJuIGFzY2VudCgpICsgZGVzY2VudCgpOyB9Ci0gICAgaW50IGxpbmVTcGFjaW5n
KCkgY29uc3QgeyByZXR1cm4gcHJpbWFyeUZvbnQoKS0+bGluZVNwYWNpbmcoKTsgfQotICAgIGlu
dCBsaW5lR2FwKCkgY29uc3QgeyByZXR1cm4gcHJpbWFyeUZvbnQoKS0+bGluZUdhcCgpOyB9Ci0g
ICAgZmxvYXQgeEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPnhIZWlnaHQo
KTsgfQotICAgIHVuc2lnbmVkIHVuaXRzUGVyRW0oKSBjb25zdCB7IHJldHVybiBwcmltYXJ5Rm9u
dCgpLT51bml0c1BlckVtKCk7IH0KKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3Mo
KSBjb25zdCB7IHJldHVybiBwcmltYXJ5Rm9udCgpLT5mb250TWV0cmljcygpOyB9CiAgICAgaW50
IHNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiAoaW50KWNlaWxmKHByaW1hcnlGb250KCktPmFk
anVzdGVkU3BhY2VXaWR0aCgpICsgbV9sZXR0ZXJTcGFjaW5nKTsgfQogICAgIGZsb2F0IHRhYldp
ZHRoKGNvbnN0IFNpbXBsZUZvbnREYXRhJiBmb250RGF0YSkgY29uc3QgeyByZXR1cm4gOCAqIGNl
aWxmKGZvbnREYXRhLmFkanVzdGVkU3BhY2VXaWR0aCgpICsgbGV0dGVyU3BhY2luZygpKTsgfQog
ICAgIGludCBlbXBoYXNpc01hcmtBc2NlbnQoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7Cklu
ZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYXN0UGF0aC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3BwCShyZXZpc2lv
biA3NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhc3RQYXRoLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjQxLDcgKzI0MSw3IEBAIGludCBGb250OjplbXBoYXNpc01hcmtB
c2NlbnQoY29uc3QgQXRvbWkKICAgICBpZiAoIW1hcmtGb250RGF0YSkKICAgICAgICAgcmV0dXJu
IDA7CiAKLSAgICByZXR1cm4gbWFya0ZvbnREYXRhLT5hc2NlbnQoKTsKKyAgICByZXR1cm4gbWFy
a0ZvbnREYXRhLT5mb250TWV0cmljcygpLmFzY2VudCgpOwogfQogCiBpbnQgRm9udDo6ZW1waGFz
aXNNYXJrRGVzY2VudChjb25zdCBBdG9taWNTdHJpbmcmIG1hcmspIGNvbnN0CkBAIC0yNTUsNyAr
MjU1LDcgQEAgaW50IEZvbnQ6OmVtcGhhc2lzTWFya0Rlc2NlbnQoY29uc3QgQXRvbQogICAgIGlm
ICghbWFya0ZvbnREYXRhKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHJldHVybiBtYXJrRm9u
dERhdGEtPmRlc2NlbnQoKTsKKyAgICByZXR1cm4gbWFya0ZvbnREYXRhLT5mb250TWV0cmljcygp
LmRlc2NlbnQoKTsKIH0KIAogaW50IEZvbnQ6OmVtcGhhc2lzTWFya0hlaWdodChjb25zdCBBdG9t
aWNTdHJpbmcmIG1hcmspIGNvbnN0CkBAIC0yNjksNyArMjY5LDcgQEAgaW50IEZvbnQ6OmVtcGhh
c2lzTWFya0hlaWdodChjb25zdCBBdG9taQogICAgIGlmICghbWFya0ZvbnREYXRhKQogICAgICAg
ICByZXR1cm4gMDsKIAotICAgIHJldHVybiBtYXJrRm9udERhdGEtPmhlaWdodCgpOworICAgIHJl
dHVybiBtYXJrRm9udERhdGEtPmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCk7CiB9CiAKIGZsb2F0IEZv
bnQ6OmdldEdseXBoc0FuZEFkdmFuY2VzRm9yU2ltcGxlVGV4dChjb25zdCBUZXh0UnVuJiBydW4s
IGludCBmcm9tLCBpbnQgdG8sIEdseXBoQnVmZmVyJiBnbHlwaEJ1ZmZlciwgRm9yVGV4dEVtcGhh
c2lzT3JOb3QgZm9yVGV4dEVtcGhhc2lzKSBjb25zdApAQCAtNDAzLDggKzQwMyw4IEBAIGZsb2F0
IEZvbnQ6OmZsb2F0V2lkdGhGb3JTaW1wbGVUZXh0KGNvbnMKICAgICBpdC5hZHZhbmNlKHJ1bi5s
ZW5ndGgoKSwgZ2x5cGhCdWZmZXIpOwogCiAgICAgaWYgKGdseXBoT3ZlcmZsb3cpIHsKLSAgICAg
ICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4PGludD4oZ2x5cGhPdmVyZmxvdy0+dG9wLCBjZWls
ZigtaXQubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSBhc2NlbnQoKSk7Ci0gICAgICAgIGdseXBo
T3ZlcmZsb3ctPmJvdHRvbSA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPmJvdHRvbSwgY2VpbGYo
aXQubWF4R2x5cGhCb3VuZGluZ0JveFkoKSkgLSBkZXNjZW50KCkpOworICAgICAgICBnbHlwaE92
ZXJmbG93LT50b3AgPSBtYXg8aW50PihnbHlwaE92ZXJmbG93LT50b3AsIGNlaWxmKC1pdC5taW5H
bHlwaEJvdW5kaW5nQm94WSgpKSAtIGZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOworICAgICAgICBn
bHlwaE92ZXJmbG93LT5ib3R0b20gPSBtYXg8aW50PihnbHlwaE92ZXJmbG93LT5ib3R0b20sIGNl
aWxmKGl0Lm1heEdseXBoQm91bmRpbmdCb3hZKCkpIC0gZm9udE1ldHJpY3MoKS5kZXNjZW50KCkp
OwogICAgICAgICBnbHlwaE92ZXJmbG93LT5sZWZ0ID0gY2VpbGYoaXQuZmlyc3RHbHlwaE92ZXJm
bG93KCkpOwogICAgICAgICBnbHlwaE92ZXJmbG93LT5yaWdodCA9IGNlaWxmKGl0Lmxhc3RHbHlw
aE92ZXJmbG93KCkpOwogICAgIH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dE1ldHJpY3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRN
ZXRyaWNzLmgJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRN
ZXRyaWNzLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTIzIEBACisvKgorICAgIENvcHlyaWdo
dCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhaW50
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCisgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
KyovCisKKyNpZm5kZWYgRm9udE1ldHJpY3NfaAorI2RlZmluZSBGb250TWV0cmljc19oCisKKyNp
bmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NvbnN0
IHVuc2lnbmVkIGdEZWZhdWx0VW5pdHNQZXJFbSA9IDEwMDA7CisKK2NsYXNzIEZvbnRNZXRyaWNz
IHsKK3B1YmxpYzoKKyAgICBGb250TWV0cmljcygpCisgICAgICAgIDogbV91bml0c1BlckVtKGdE
ZWZhdWx0VW5pdHNQZXJFbSkKKyAgICAgICAgLCBtX2FzY2VudCgwKQorICAgICAgICAsIG1fZGVz
Y2VudCgwKQorICAgICAgICAsIG1fbGluZUdhcCgwKQorICAgICAgICAsIG1fbGluZVNwYWNpbmco
MCkKKyAgICAgICAgLCBtX3hIZWlnaHQoMCkKKyAgICB7CisgICAgfQorCisgICAgdW5zaWduZWQg
dW5pdHNQZXJFbSgpIGNvbnN0IHsgcmV0dXJuIG1fdW5pdHNQZXJFbTsgfQorICAgIHZvaWQgc2V0
VW5pdHNQZXJFbSh1bnNpZ25lZCB1bml0c1BlckVtKSB7IG1fdW5pdHNQZXJFbSA9IHVuaXRzUGVy
RW07IH0KKworICAgIGZsb2F0IGZsb2F0QXNjZW50KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUg
PSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0CisgICAgeworICAgICAgICBpZiAoYmFzZWxpbmVU
eXBlID09IEFscGhhYmV0aWNCYXNlbGluZSkKKyAgICAgICAgICAgIHJldHVybiBtX2FzY2VudDsK
KyAgICAgICAgcmV0dXJuIGZsb2F0SGVpZ2h0KCkgLyAyOworICAgIH0KKworICAgIHZvaWQgc2V0
QXNjZW50KGZsb2F0IGFzY2VudCkgeyBtX2FzY2VudCA9IGFzY2VudDsgfQorCisgICAgZmxvYXQg
ZmxvYXREZXNjZW50KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxp
bmUpIGNvbnN0CisgICAgeworICAgICAgICBpZiAoYmFzZWxpbmVUeXBlID09IEFscGhhYmV0aWNC
YXNlbGluZSkKKyAgICAgICAgICAgIHJldHVybiBtX2Rlc2NlbnQ7CisgICAgICAgIHJldHVybiBm
bG9hdEhlaWdodCgpIC8gMjsKKyAgICB9CisKKyAgICB2b2lkIHNldERlc2NlbnQoZmxvYXQgZGVz
Y2VudCkgeyBtX2Rlc2NlbnQgPSBkZXNjZW50OyB9CisKKyAgICBmbG9hdCBmbG9hdEhlaWdodChG
b250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBjb25zdAorICAg
IHsKKyAgICAgICAgcmV0dXJuIGZsb2F0QXNjZW50KGJhc2VsaW5lVHlwZSkgKyBmbG9hdERlc2Nl
bnQoYmFzZWxpbmVUeXBlKTsKKyAgICB9CisKKyAgICBmbG9hdCBmbG9hdExpbmVHYXAoKSBjb25z
dCB7IHJldHVybiBtX2xpbmVHYXA7IH0KKyAgICB2b2lkIHNldExpbmVHYXAoZmxvYXQgbGluZUdh
cCkgeyBtX2xpbmVHYXAgPSBsaW5lR2FwOyB9CisKKyAgICBmbG9hdCBmbG9hdExpbmVTcGFjaW5n
KCkgY29uc3QgeyByZXR1cm4gbV9saW5lU3BhY2luZzsgfQorICAgIHZvaWQgc2V0TGluZVNwYWNp
bmcoZmxvYXQgbGluZVNwYWNpbmcpIHsgbV9saW5lU3BhY2luZyA9IGxpbmVTcGFjaW5nOyB9CisK
KyAgICBmbG9hdCB4SGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV94SGVpZ2h0OyB9CisgICAgdm9p
ZCBzZXRYSGVpZ2h0KGZsb2F0IHhIZWlnaHQpIHsgbV94SGVpZ2h0ID0geEhlaWdodDsgfQorCisg
ICAgLy8gSW50ZWdlciB2YXJpYW50cyBvZiBjZXJ0YWluIG1ldHJpY3MsIHVzZWQgZm9yIEhUTUwg
cmVuZGVyaW5nLgorICAgIGludCBhc2NlbnQoRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFs
cGhhYmV0aWNCYXNlbGluZSkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChiYXNlbGluZVR5cGUg
PT0gQWxwaGFiZXRpY0Jhc2VsaW5lKQorICAgICAgICAgICAgcmV0dXJuIGxyb3VuZGYobV9hc2Nl
bnQpOworICAgICAgICByZXR1cm4gaGVpZ2h0KCkgLSBoZWlnaHQoKSAvIDI7CisgICAgfQorCisg
ICAgaW50IGRlc2NlbnQoRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0aWNCYXNl
bGluZSkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChiYXNlbGluZVR5cGUgPT0gQWxwaGFiZXRp
Y0Jhc2VsaW5lKQorICAgICAgICAgICAgcmV0dXJuIGxyb3VuZGYobV9kZXNjZW50KTsKKyAgICAg
ICAgcmV0dXJuIGhlaWdodCgpIC8gMjsKKyAgICB9CisKKyAgICBpbnQgaGVpZ2h0KEZvbnRCYXNl
bGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0CisgICAgeworICAg
ICAgICByZXR1cm4gYXNjZW50KGJhc2VsaW5lVHlwZSkgKyBkZXNjZW50KGJhc2VsaW5lVHlwZSk7
CisgICAgfQorCisgICAgaW50IGxpbmVHYXAoKSBjb25zdCB7IHJldHVybiBscm91bmRmKG1fbGlu
ZUdhcCk7IH0KKyAgICBpbnQgbGluZVNwYWNpbmcoKSBjb25zdCB7IHJldHVybiBscm91bmRmKG1f
bGluZVNwYWNpbmcpOyB9CisKK3ByaXZhdGU6CisgICAgZnJpZW5kIGNsYXNzIFNpbXBsZUZvbnRE
YXRhOworCisgICAgdm9pZCByZXNldCgpCisgICAgeworICAgICAgICBtX3VuaXRzUGVyRW0gPSBn
RGVmYXVsdFVuaXRzUGVyRW07CisgICAgICAgIG1fYXNjZW50ID0gMDsKKyAgICAgICAgbV9kZXNj
ZW50ID0gMDsKKyAgICAgICAgbV9saW5lR2FwID0gMDsKKyAgICAgICAgbV9saW5lU3BhY2luZyA9
IDA7CisgICAgICAgIG1feEhlaWdodCA9IDA7CisgICAgfQorCitwcml2YXRlOgorICAgIHVuc2ln
bmVkIG1fdW5pdHNQZXJFbTsKKyAgICBmbG9hdCBtX2FzY2VudDsKKyAgICBmbG9hdCBtX2Rlc2Nl
bnQ7CisgICAgZmxvYXQgbV9saW5lR2FwOworICAgIGZsb2F0IG1fbGluZVNwYWNpbmc7CisgICAg
ZmxvYXQgbV94SGVpZ2h0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRm9udE1ldHJpY3NfaApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVG
b250RGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1w
bGVGb250RGF0YS5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9TaW1wbGVGb250RGF0YS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwLDcgKzUwLDYgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogU2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnREYXRhKGNvbnN0
IEZvbnRQbGF0Zm9ybURhdGEmIHBsYXRmb3JtRGF0YSwgYm9vbCBpc0N1c3RvbUZvbnQsIGJvb2wg
aXNMb2FkaW5nKQogICAgIDogbV9tYXhDaGFyV2lkdGgoLTEpCiAgICAgLCBtX2F2Z0NoYXJXaWR0
aCgtMSkKLSAgICAsIG1fdW5pdHNQZXJFbShkZWZhdWx0VW5pdHNQZXJFbSkKICAgICAsIG1fb3Jp
ZW50YXRpb24ocGxhdGZvcm1EYXRhLm9yaWVudGF0aW9uKCkpCiAgICAgLCBtX3BsYXRmb3JtRGF0
YShwbGF0Zm9ybURhdGEpCiAgICAgLCBtX3RyZWF0QXNGaXhlZFBpdGNoKGZhbHNlKQpAQCAtNzQs
MjMgKzczLDI5IEBAIFNpbXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YShQYXNzT3duUHQKICAg
ICAsIG1faXNCcm9rZW5JZGVvZ3JhcGhGb250KGZhbHNlKQogewogICAgIFNWR0ZvbnRGYWNlRWxl
bWVudCogc3ZnRm9udEZhY2VFbGVtZW50ID0gbV9zdmdGb250RGF0YS0+c3ZnRm9udEZhY2VFbGVt
ZW50KCk7Ci0gICAgbV91bml0c1BlckVtID0gc3ZnRm9udEZhY2VFbGVtZW50LT51bml0c1BlckVt
KCk7CisgICAgdW5zaWduZWQgdW5pdHNQZXJFbSA9IHN2Z0ZvbnRGYWNlRWxlbWVudC0+dW5pdHNQ
ZXJFbSgpOwogCi0gICAgZG91YmxlIHNjYWxlID0gc2l6ZTsKLSAgICBpZiAobV91bml0c1BlckVt
KQotICAgICAgICBzY2FsZSAvPSBtX3VuaXRzUGVyRW07Ci0KLSAgICBtX2FzY2VudCA9IHN0YXRp
Y19jYXN0PGludD4oc3ZnRm9udEZhY2VFbGVtZW50LT5hc2NlbnQoKSAqIHNjYWxlKTsKLSAgICBt
X2Rlc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KHN2Z0ZvbnRGYWNlRWxlbWVudC0+ZGVzY2VudCgp
ICogc2NhbGUpOwotICAgIG1feEhlaWdodCA9IHN0YXRpY19jYXN0PGludD4oc3ZnRm9udEZhY2VF
bGVtZW50LT54SGVpZ2h0KCkgKiBzY2FsZSk7Ci0gICAgbV9saW5lR2FwID0gMC4xZiAqIHNpemU7
Ci0gICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50ICsgbV9saW5lR2FwOwor
ICAgIGZsb2F0IHNjYWxlID0gc2l6ZTsKKyAgICBpZiAodW5pdHNQZXJFbSkKKyAgICAgICAgc2Nh
bGUgLz0gdW5pdHNQZXJFbTsKKworICAgIC8vIEZJWE1FOiBVc2UgZmxvYXRpbmctcG9pbnQgbWV0
cmljcywgbm93IHRoYXQgdGhleSdyZSBleHBvc2VkIQorICAgIGludCB4SGVpZ2h0ID0gc3RhdGlj
X2Nhc3Q8aW50PihzdmdGb250RmFjZUVsZW1lbnQtPnhIZWlnaHQoKSAqIHNjYWxlKTsKKyAgICBp
bnQgYXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50PihzdmdGb250RmFjZUVsZW1lbnQtPmFzY2VudCgp
ICogc2NhbGUpOworICAgIGludCBkZXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50PihzdmdGb250RmFj
ZUVsZW1lbnQtPmRlc2NlbnQoKSAqIHNjYWxlKTsKKyAgICBpbnQgbGluZUdhcCA9IDAuMWYgKiBz
aXplOworICAgIG1fZm9udE1ldHJpY3Muc2V0VW5pdHNQZXJFbSh1bml0c1BlckVtKTsKKyAgICBt
X2ZvbnRNZXRyaWNzLnNldEFzY2VudChhc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVz
Y2VudChkZXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZUdhcCk7Cisg
ICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhhc2NlbnQgKyBkZXNjZW50ICsgbGluZUdh
cCk7CisgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHhIZWlnaHQpOwogCiAgICAgU1ZHRm9u
dEVsZW1lbnQqIGFzc29jaWF0ZWRGb250RWxlbWVudCA9IHN2Z0ZvbnRGYWNlRWxlbWVudC0+YXNz
b2NpYXRlZEZvbnRFbGVtZW50KCk7CiAKICAgICBWZWN0b3I8U1ZHR2x5cGhJZGVudGlmaWVyPiBz
cGFjZUdseXBoczsKICAgICBhc3NvY2lhdGVkRm9udEVsZW1lbnQtPmdldEdseXBoSWRlbnRpZmll
cnNGb3JTdHJpbmcoU3RyaW5nKCIgIiwgMSksIHNwYWNlR2x5cGhzKTsKLSAgICBtX3NwYWNlV2lk
dGggPSBzcGFjZUdseXBocy5pc0VtcHR5KCkgPyBtX3hIZWlnaHQgOiBzdGF0aWNfY2FzdDxmbG9h
dD4oc3BhY2VHbHlwaHMuZmlyc3QoKS5ob3Jpem9udGFsQWR2YW5jZVggKiBzY2FsZSk7CisgICAg
bV9zcGFjZVdpZHRoID0gc3BhY2VHbHlwaHMuaXNFbXB0eSgpID8geEhlaWdodCA6IHN0YXRpY19j
YXN0PGZsb2F0PihzcGFjZUdseXBocy5maXJzdCgpLmhvcml6b250YWxBZHZhbmNlWCAqIHNjYWxl
KTsKIAogICAgIFZlY3RvcjxTVkdHbHlwaElkZW50aWZpZXI+IG51bWVyYWxaZXJvR2x5cGhzOwog
ICAgIGFzc29jaWF0ZWRGb250RWxlbWVudC0+Z2V0R2x5cGhJZGVudGlmaWVyc0ZvclN0cmluZyhT
dHJpbmcoIjAiLCAxKSwgbnVtZXJhbFplcm9HbHlwaHMpOwpAQCAtOTgsNyArMTAzLDcgQEAgU2lt
cGxlRm9udERhdGE6OlNpbXBsZUZvbnREYXRhKFBhc3NPd25QdAogCiAgICAgVmVjdG9yPFNWR0ds
eXBoSWRlbnRpZmllcj4gbGV0dGVyV0dseXBoczsKICAgICBhc3NvY2lhdGVkRm9udEVsZW1lbnQt
PmdldEdseXBoSWRlbnRpZmllcnNGb3JTdHJpbmcoU3RyaW5nKCJXIiwgMSksIGxldHRlcldHbHlw
aHMpOwotICAgIG1fbWF4Q2hhcldpZHRoID0gbGV0dGVyV0dseXBocy5pc0VtcHR5KCkgPyBtX2Fz
Y2VudCA6IHN0YXRpY19jYXN0PGZsb2F0PihsZXR0ZXJXR2x5cGhzLmZpcnN0KCkuaG9yaXpvbnRh
bEFkdmFuY2VYICogc2NhbGUpOworICAgIG1fbWF4Q2hhcldpZHRoID0gbGV0dGVyV0dseXBocy5p
c0VtcHR5KCkgPyBhc2NlbnQgOiBzdGF0aWNfY2FzdDxmbG9hdD4obGV0dGVyV0dseXBocy5maXJz
dCgpLmhvcml6b250YWxBZHZhbmNlWCAqIHNjYWxlKTsKIAogICAgIC8vIEZJWE1FOiBpcyB0aGVy
ZSBhIHdheSB3ZSBjYW4gZ2V0IHRoZSBzcGFjZSBnbHlwaCBmcm9tIHRoZSBTVkdHbHlwaElkZW50
aWZpZXIgYWJvdmU/CiAgICAgbV9zcGFjZUdseXBoID0gMDsKQEAgLTEyNiwxMCArMTMxLDExIEBA
IHZvaWQgU2ltcGxlRm9udERhdGE6OmluaXRDaGFyV2lkdGhzKCkKIAogICAgIC8vIElmIHdlIGNh
bid0IHJldHJpZXZlIHRoZSB3aWR0aCBvZiBhICcwJywgZmFsbCBiYWNrIHRvIHRoZSB4IGhlaWdo
dC4KICAgICBpZiAobV9hdmdDaGFyV2lkdGggPD0gMC5mKQotICAgICAgICBtX2F2Z0NoYXJXaWR0
aCA9IG1feEhlaWdodDsKKyAgICAgICAgbV9hdmdDaGFyV2lkdGggPSBtX2ZvbnRNZXRyaWNzLnhI
ZWlnaHQoKTsKIAorICAgIC8vIEZJWE1FOiBVc2UgZmxvYXRpbmctcG9pbnQgbWV0cmljcywgbm93
IHRoYXQgdGhleSdyZSBleHBvc2VkIQogICAgIGlmIChtX21heENoYXJXaWR0aCA8PSAwLmYpCi0g
ICAgICAgIG1fbWF4Q2hhcldpZHRoID0gbWF4PGZsb2F0PihtX2F2Z0NoYXJXaWR0aCwgbV9hc2Nl
bnQpOworICAgICAgICBtX21heENoYXJXaWR0aCA9IG1heDxmbG9hdD4obV9hdmdDaGFyV2lkdGgs
IG1fZm9udE1ldHJpY3MuYXNjZW50KCkpOwogfQogCiB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0
Zm9ybUdseXBoSW5pdCgpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZv
bnREYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVG
b250RGF0YS5oCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
U2ltcGxlRm9udERhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMjYsNiArMjYsNyBAQAogCiAjaW5j
bHVkZSAiRm9udEJhc2VsaW5lLmgiCiAjaW5jbHVkZSAiRm9udERhdGEuaCIKKyNpbmNsdWRlICJG
b250TWV0cmljcy5oIgogI2luY2x1ZGUgIkZvbnRQbGF0Zm9ybURhdGEuaCIKICNpbmNsdWRlICJG
bG9hdFJlY3QuaCIKICNpbmNsdWRlICJHbHlwaE1ldHJpY3NNYXAuaCIKQEAgLTEwMSwxNSArMTAy
LDkgQEAgcHVibGljOgogICAgIC8vIEZJWE1FOiBVc2UgdGhlIGFjdHVhbCBtZXRyaWNzIGZvciBm
b250cyB3aXRoIHZlcnRpY2FsIHRhYmxlcyBpbnN0ZWFkIG9mIGp1c3QgaGFyZC1jb2RpbmcuICBJ
ZiB0aGUgZm9udCBpcyBob3Jpem9udGFsbHkgb3JpZW50ZWQgb3IKICAgICAvLyBhIGJyb2tlbiBp
ZGVvZ3JhcGhpYyBmb250LCB0aGVuIGp1c3QgaGFyZC1jb2RlIHRvIHNwbGl0IGFzY2VudC9kZXNj
ZW50IGRvd24gdGhlIG1pZGRsZS4gIE90aGVyd2lzZSB3ZSBzaG91bGQgYWN0dWFsbHkgdXNlIHRo
ZSBtZXRyaWNzCiAgICAgLy8gZnJvbSB0aGUgZm9udCBpdHNlbGYuCi0gICAgaW50IGFzY2VudChG
b250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBjb25zdCB7IHJl
dHVybiBiYXNlbGluZVR5cGUgPT0gQWxwaGFiZXRpY0Jhc2VsaW5lID8gbV9hc2NlbnQgOiBoZWln
aHQoKSAtIGhlaWdodCgpIC8gMjsgfQotICAgIGludCBkZXNjZW50KEZvbnRCYXNlbGluZSBiYXNl
bGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0IHsgcmV0dXJuIGJhc2VsaW5lVHlw
ZSA9PSBBbHBoYWJldGljQmFzZWxpbmUgPyBtX2Rlc2NlbnQgOiBoZWlnaHQoKSAvIDI7IH0KLSAg
ICBpbnQgaGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV9hc2NlbnQgKyBtX2Rlc2NlbnQ7IH0KLSAg
ICBpbnQgbGluZVNwYWNpbmcoKSBjb25zdCB7IHJldHVybiBtX2xpbmVTcGFjaW5nOyB9Ci0gICAg
aW50IGxpbmVHYXAoKSBjb25zdCB7IHJldHVybiBtX2xpbmVHYXA7IH0KKyAgICBjb25zdCBGb250
TWV0cmljcyYgZm9udE1ldHJpY3MoKSBjb25zdCB7IHJldHVybiBtX2ZvbnRNZXRyaWNzOyB9CiAg
ICAgZmxvYXQgbWF4Q2hhcldpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9tYXhDaGFyV2lkdGg7IH0K
ICAgICBmbG9hdCBhdmdDaGFyV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2F2Z0NoYXJXaWR0aDsg
fQotICAgIGZsb2F0IHhIZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX3hIZWlnaHQ7IH0KLSAgICB1
bnNpZ25lZCB1bml0c1BlckVtKCkgY29uc3QgeyByZXR1cm4gbV91bml0c1BlckVtOyB9CiAKICAg
ICBGbG9hdFJlY3QgYm91bmRzRm9yR2x5cGgoR2x5cGgpIGNvbnN0OwogICAgIGZsb2F0IHdpZHRo
Rm9yR2x5cGgoR2x5cGggZ2x5cGgpIGNvbnN0OwpAQCAtMjExLDE0ICsyMDYsOSBAQCBwcml2YXRl
OgogICAgIGZsb2F0IHdpZHRoRm9yR0RJR2x5cGgoR2x5cGggZ2x5cGgpIGNvbnN0OwogI2VuZGlm
CiAKLSAgICBpbnQgbV9hc2NlbnQ7Ci0gICAgaW50IG1fZGVzY2VudDsKLSAgICBpbnQgbV9saW5l
U3BhY2luZzsKLSAgICBpbnQgbV9saW5lR2FwOworICAgIEZvbnRNZXRyaWNzIG1fZm9udE1ldHJp
Y3M7CiAgICAgZmxvYXQgbV9tYXhDaGFyV2lkdGg7CiAgICAgZmxvYXQgbV9hdmdDaGFyV2lkdGg7
Ci0gICAgZmxvYXQgbV94SGVpZ2h0OwotICAgIHVuc2lnbmVkIG1fdW5pdHNQZXJFbTsKICAgICAK
ICAgICBGb250T3JpZW50YXRpb24gbV9vcmllbnRhdGlvbjsgLy8gVGhpcyBpcyBvdXIgc3VwcG9y
dGVkIG9yaWVudGF0aW9uIGFjY29yZGluZyB0byB0aGUgdGFibGVzIGluIHRoZSBmb250LiAgRm9u
dFBsYXRmb3JtRGF0YSB3aWxsIGp1c3QgYWx3YXlzIGhhdmUgdGhlIGRlc2lyZWQgb3JpZW50YXRp
b24uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgdmFsdWUgcmVw
cmVzZW50cyB3aGF0IHdlIGFjdHVhbGx5IHN1cHBvcnQuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1bVdpbi5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2hyb21pdW1XaW4uY3BwCShyZXZp
c2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udENo
cm9taXVtV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ2LDEwICsyNDYsMTEgQEAgSW50UmVj
dCBUcmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRlcjo6ZQogICAgIGZvciAoaW50IGkgPSAwOyBp
IDwgbV9udW1HbHlwaHM7IGkrKykKICAgICAgICAgdG90YWxXaWR0aCArPSBscm91bmRmKG1fZ2x5
cGhCdWZmZXIuYWR2YW5jZUF0KG1fZnJvbSArIGkpKTsKIAotICAgIHJldHVybiBJbnRSZWN0KG1f
cG9pbnQueCgpIC0gKG1fZm9udC0+YXNjZW50KCkgKyBtX2ZvbnQtPmRlc2NlbnQoKSkgLyAyLAot
ICAgICAgICAgICAgICAgICAgIG1fcG9pbnQueSgpIC0gbV9mb250LT5hc2NlbnQoKSAtIG1fZm9u
dC0+bGluZUdhcCgpLAotICAgICAgICAgICAgICAgICAgIHRvdGFsV2lkdGggKyBtX2ZvbnQtPmFz
Y2VudCgpICsgbV9mb250LT5kZXNjZW50KCksCi0gICAgICAgICAgICAgICAgICAgbV9mb250LT5s
aW5lU3BhY2luZygpKTsgCisgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gbV9m
b250LT5mb250TWV0cmljcygpOworICAgIHJldHVybiBJbnRSZWN0KG1fcG9pbnQueCgpIC0gKGZv
bnRNZXRyaWNzLmFzY2VudCgpICsgZm9udE1ldHJpY3MuZGVzY2VudCgpKSAvIDIsCisgICAgICAg
ICAgICAgICAgICAgbV9wb2ludC55KCkgLSBmb250TWV0cmljcy5hc2NlbnQoKSAtIGZvbnRNZXRy
aWNzLmxpbmVHYXAoKSwKKyAgICAgICAgICAgICAgICAgICB0b3RhbFdpZHRoICsgZm9udE1ldHJp
Y3MuYXNjZW50KCkgKyBmb250TWV0cmljcy5kZXNjZW50KCksCisgICAgICAgICAgICAgICAgICAg
Zm9udE1ldHJpY3MubGluZVNwYWNpbmcoKSk7IAogfQogCiBib29sIFRyYW5zcGFyZW5jeUF3YXJl
R2x5cGhQYWludGVyOjpkcmF3R2x5cGhzKGludCBudW1HbHlwaHMsCkBAIC0yNzAsNyArMjcxLDcg
QEAgYm9vbCBUcmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRlcjo6ZHJhdwogICAgIC8vIFdpbmRv
d3MnIG9yaWdpbiBpcyB0aGUgdG9wLWxlZnQgb2YgdGhlIGJvdW5kaW5nIGJveCwgc28gd2UgaGF2
ZQogICAgIC8vIHRvIHN1YnRyYWN0IG9mZiB0aGUgZm9udCBhc2NlbnQgdG8gZ2V0IGl0LgogICAg
IGludCB4ID0gbHJvdW5kZihtX3BvaW50LngoKSArIHN0YXJ0QWR2YW5jZSk7Ci0gICAgaW50IHkg
PSBscm91bmRmKG1fcG9pbnQueSgpIC0gbV9mb250LT5hc2NlbnQoKSk7CisgICAgaW50IHkgPSBs
cm91bmRmKG1fcG9pbnQueSgpIC0gbV9mb250LT5mb250TWV0cmljcygpLmFzY2VudCgpKTsKIAog
ICAgIC8vIElmIHRoZXJlIGlzIGEgbm9uLWJsdXIgc2hhZG93IGFuZCBib3RoIHRoZSBmaWxsIGNv
bG9yIGFuZCBzaGFkb3cgY29sb3IgCiAgICAgLy8gYXJlIG9wYXF1ZSwgaGFuZGxlIHdpdGhvdXQg
c2tpYS4gCkBAIC0zNTQsMTAgKzM1NSwxMSBAQCBJbnRSZWN0IFRyYW5zcGFyZW5jeUF3YXJlVW5p
c2NyaWJlUGFpbnRlCiAgICAgLy8gVGhpcyBhbGdvcml0aG0gZm9yIGVzdGltYXRpbmcgaG93IG11
Y2ggZXh0cmEgc3BhY2Ugd2UgbmVlZCAodGhlIHRleHQgbWF5CiAgICAgLy8gZ28gb3V0c2lkZSB0
aGUgc2VsZWN0aW9uIHJlY3QpIGlzIGJhc2VkIHJvdWdobHkgb24KICAgICAvLyBUcmFuc3BhcmVu
Y3lBd2FyZUdseXBoUGFpbnRlcjo6ZXN0aW1hdGVUZXh0Qm91bmRzIGFib3ZlLgotICAgIHJldHVy
biBJbnRSZWN0KGxlZnQgLSAobV9mb250LT5hc2NlbnQoKSArIG1fZm9udC0+ZGVzY2VudCgpKSAv
IDIsCi0gICAgICAgICAgICAgICAgICAgbV9wb2ludC55KCkgLSBtX2ZvbnQtPmFzY2VudCgpIC0g
bV9mb250LT5saW5lR2FwKCksCi0gICAgICAgICAgICAgICAgICAgKHJpZ2h0IC0gbGVmdCkgKyBt
X2ZvbnQtPmFzY2VudCgpICsgbV9mb250LT5kZXNjZW50KCksCi0gICAgICAgICAgICAgICAgICAg
bV9mb250LT5saW5lU3BhY2luZygpKTsKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJp
Y3MgPSBtX2ZvbnQtPmZvbnRNZXRyaWNzKCk7CisgICAgcmV0dXJuIEludFJlY3QobGVmdCAtIChm
b250TWV0cmljcy5hc2NlbnQoKSArIGZvbnRNZXRyaWNzLmRlc2NlbnQoKSkgLyAyLAorICAgICAg
ICAgICAgICAgICAgIG1fcG9pbnQueSgpIC0gZm9udE1ldHJpY3MuYXNjZW50KCkgLSBmb250TWV0
cmljcy5saW5lR2FwKCksCisgICAgICAgICAgICAgICAgICAgKHJpZ2h0IC0gbGVmdCkgKyBmb250
TWV0cmljcy5hc2NlbnQoKSArIGZvbnRNZXRyaWNzLmRlc2NlbnQoKSwKKyAgICAgICAgICAgICAg
ICAgICBmb250TWV0cmljcy5saW5lU3BhY2luZygpKTsKIH0KIAogfSAgLy8gbmFtZXNwYWNlCkBA
IC00OTYsMTQgKzQ5OCwxNCBAQCB2b2lkIEZvbnQ6OmRyYXdDb21wbGV4VGV4dChHcmFwaGljc0Nv
bnRlCiAgICAgICAgIENPTE9SUkVGIHNhdmVkVGV4dENvbG9yID0gR2V0VGV4dENvbG9yKGhkYyk7
CiAgICAgICAgIFNldFRleHRDb2xvcihoZGMsIHRleHRDb2xvcik7CiAgICAgICAgIHN0YXRlLmRy
YXcoZ3JhcGhpY3NDb250ZXh0LCBoZGMsIHN0YXRpY19jYXN0PGludD4ocG9pbnQueCgpKSArIHNo
YWRvd09mZnNldC53aWR0aCgpLAotICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4o
cG9pbnQueSgpIC0gYXNjZW50KCkpICsgc2hhZG93T2Zmc2V0LmhlaWdodCgpLCBmcm9tLCB0byk7
CisgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihwb2ludC55KCkgLSBmb250TWV0
cmljcygpLmFzY2VudCgpKSArIHNoYWRvd09mZnNldC5oZWlnaHQoKSwgZnJvbSwgdG8pOwogICAg
ICAgICBTZXRUZXh0Q29sb3IoaGRjLCBzYXZlZFRleHRDb2xvcik7IAogICAgIH0KIAogICAgIC8v
IFVuaXNjcmliZSBjb3VudHMgdGhlIGNvb3JkaW5hdGVzIGZyb20gdGhlIHVwcGVyIGxlZnQsIHdo
aWxlIFdlYktpdCB1c2VzCiAgICAgLy8gdGhlIGJhc2VsaW5lLCBzbyB3ZSBoYXZlIHRvIHN1YnRy
YWN0IG9mZiB0aGUgYXNjZW50LgogICAgIHN0YXRlLmRyYXcoZ3JhcGhpY3NDb250ZXh0LCBoZGMs
IHN0YXRpY19jYXN0PGludD4ocG9pbnQueCgpKSwKLSAgICAgICAgICAgICAgIHN0YXRpY19jYXN0
PGludD4ocG9pbnQueSgpIC0gYXNjZW50KCkpLCBmcm9tLCB0byk7CisgICAgICAgICAgICAgICBz
dGF0aWNfY2FzdDxpbnQ+KHBvaW50LnkoKSAtIGZvbnRNZXRyaWNzKCkuYXNjZW50KCkpLCBmcm9t
LCB0byk7CiAKICAgICBjb250ZXh0LT5jYW52YXMoKS0+ZW5kUGxhdGZvcm1QYWludCgpOwogfQpJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNo
cm9taXVtV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL1NpbXBsZUZvbnREYXRhQ2hyb21pdW1XaW4uY3BwCShyZXZpc2lvbiA3NDQ2NykKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFDaHJvbWl1
bVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDE0ICs1NCw5IEBAIHN0YXRpYyBpbmxpbmUg
ZmxvYXQgc2NhbGVFbVRvVW5pdHMoZmxvYXQKIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3Jt
SW5pdCgpCiB7CiAgICAgaWYgKCFtX3BsYXRmb3JtRGF0YS5zaXplKCkpIHsKLSAgICAgICAgbV9h
c2NlbnQgPSAwOwotICAgICAgICBtX2Rlc2NlbnQgPSAwOwotICAgICAgICBtX2xpbmVHYXAgPSAw
OwotICAgICAgICBtX2xpbmVTcGFjaW5nID0gMDsKKyAgICAgICAgbV9mb250TWV0cmljcy5yZXNl
dCgpOwogICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9IDA7CiAgICAgICAgIG1fbWF4Q2hhcldpZHRo
ID0gMDsKLSAgICAgICAgbV94SGVpZ2h0ID0gMDsKLSAgICAgICAgbV91bml0c1BlckVtID0gMDsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtODIsMTAgKzc3LDExIEBAIHZvaWQgU2ltcGxl
Rm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgbV9hdmdDaGFyV2lkdGggPSB0ZXh0TWV0cmlj
LnRtQXZlQ2hhcldpZHRoOwogICAgIG1fbWF4Q2hhcldpZHRoID0gdGV4dE1ldHJpYy50bU1heENo
YXJXaWR0aDsKIAotICAgIG1fYXNjZW50ID0gdGV4dE1ldHJpYy50bUFzY2VudDsKLSAgICBtX2Rl
c2NlbnQgPSB0ZXh0TWV0cmljLnRtRGVzY2VudDsKLSAgICBtX2xpbmVHYXAgPSB0ZXh0TWV0cmlj
LnRtRXh0ZXJuYWxMZWFkaW5nOwotICAgIG1feEhlaWdodCA9IG1fYXNjZW50ICogMC41NmY7ICAv
LyBCZXN0IGd1ZXNzIGZvciB4SGVpZ2h0IGZvciBub24tVHJ1ZXR5cGUgZm9udHMuCisgICAgLy8g
RklYTUU6IEFjY2VzcyBhc2NlbnQvZGVzY2VudC9saW5lR2FwIHdpdGggZmxvYXRpbmcgcG9pbnQg
cHJlY2lzaW9uLgorICAgIGZsb2F0IGFzY2VudCA9IHRleHRNZXRyaWMudG1Bc2NlbnQ7CisgICAg
ZmxvYXQgZGVzY2VudCA9IHRleHRNZXRyaWMudG1EZXNjZW50OworICAgIGZsb2F0IGxpbmVHYXAg
PSB0ZXh0TWV0cmljLnRtRXh0ZXJuYWxMZWFkaW5nOworICAgIGZsb2F0IHhIZWlnaHQgPSBhc2Nl
bnQgKiAwLjU2ZjsgLy8gQmVzdCBndWVzcyBmb3IgeEhlaWdodCBmb3Igbm9uLVRydWV0eXBlIGZv
bnRzLgogCiAgICAgT1VUTElORVRFWFRNRVRSSUMgb3V0bGluZVRleHRNZXRyaWM7CiAgICAgaWYg
KEdldE91dGxpbmVUZXh0TWV0cmljcyhkYywgc2l6ZW9mKG91dGxpbmVUZXh0TWV0cmljKSwgJm91
dGxpbmVUZXh0TWV0cmljKSA+IDApIHsKQEAgLTk0LDEwICs5MCwxNCBAQCB2b2lkIFNpbXBsZUZv
bnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgICAgICBNQVQyIGlkZW50aXR5TWF0cml4ID0ge3sw
LCAxfSwgezAsIDB9LCB7MCwgMH0sIHswLCAxfX07CiAgICAgICAgIERXT1JEIGxlbiA9IEdldEds
eXBoT3V0bGluZVcoZGMsICd4JywgR0dPX01FVFJJQ1MsICZnbHlwaE1ldHJpY3MsIDAsIDAsICZp
ZGVudGl0eU1hdHJpeCk7CiAgICAgICAgIGlmIChsZW4gIT0gR0RJX0VSUk9SICYmIGdseXBoTWV0
cmljcy5nbUJsYWNrQm94WSA+IDApCi0gICAgICAgICAgICBtX3hIZWlnaHQgPSBzdGF0aWNfY2Fz
dDxmbG9hdD4oZ2x5cGhNZXRyaWNzLmdtQmxhY2tCb3hZKTsKKyAgICAgICAgICAgIHhIZWlnaHQg
PSBzdGF0aWNfY2FzdDxmbG9hdD4oZ2x5cGhNZXRyaWNzLmdtQmxhY2tCb3hZKTsKICAgICB9CiAK
LSAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rlc2NlbnQgKyBtX2xpbmVHYXA7Cisg
ICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNl
dERlc2NlbnQoZGVzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGxpbmVHYXAp
OworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNjZW50ICsgZGVzY2VudCArIGxp
bmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh4SGVpZ2h0KTsKIAogICAgIFNl
bGVjdE9iamVjdChkYywgb2xkRm9udCk7CiAgICAgUmVsZWFzZURDKDAsIGRjKTsKSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFMaW51eC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVG
b250RGF0YUxpbnV4LmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhTGludXguY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01NSwxNCArNTUsOSBAQCBzdGF0aWMgY29uc3Qgc2l6ZV90IG1heFZETVhUYWJsZVNpemUgPSAx
CiB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogewogICAgIGlmICghbV9wbGF0
Zm9ybURhdGEuc2l6ZSgpKSB7Ci0gICAgICAgIG1fYXNjZW50ID0gMDsKLSAgICAgICAgbV9kZXNj
ZW50ID0gMDsKLSAgICAgICAgbV9saW5lR2FwID0gMDsKLSAgICAgICAgbV9saW5lU3BhY2luZyA9
IDA7CisgICAgICAgIG1fZm9udE1ldHJpY3MucmVzZXQoKTsKICAgICAgICAgbV9hdmdDaGFyV2lk
dGggPSAwOwogICAgICAgICBtX21heENoYXJXaWR0aCA9IDA7Ci0gICAgICAgIG1feEhlaWdodCA9
IDA7Ci0gICAgICAgIG1fdW5pdHNQZXJFbSA9IDA7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
QEAgLTg4LDI2ICs4MywzNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQog
ICAgICAgICBmYXN0RnJlZSh2ZG14VGFibGUpOwogICAgIH0KIAorICAgIGZsb2F0IGFzY2VudDsK
KyAgICBmbG9hdCBkZXNjZW50OworCiAgICAgLy8gQmV3YXJlIHRob3NlIHdobyBzdGVwIGhlcmU6
IFRoaXMgY29kZSBpcyBkZXNpZ25lZCB0byBtYXRjaCBXaW4zMiBmb250CiAgICAgLy8gbWV0cmlj
cyAqZXhhY3RseSouCiAgICAgaWYgKGlzVkRNWFZhbGlkKSB7Ci0gICAgICAgIG1fYXNjZW50ID0g
dmRteEFzY2VudDsKLSAgICAgICAgbV9kZXNjZW50ID0gLXZkbXhEZXNjZW50OworICAgICAgICAv
LyBGSVhNRTogQWNjZXNzIGFzY2VudC9kZXNjZW50IHdpdGggZmxvYXRpbmcgcG9pbnQgcHJlY2lz
aW9uLgorICAgICAgICBhc2NlbnQgPSB2ZG14QXNjZW50OworICAgICAgICBkZXNjZW50ID0gLXZk
bXhEZXNjZW50OwogICAgIH0gZWxzZSB7CiAgICAgICAgIFNrU2NhbGFyIGhlaWdodCA9IC1tZXRy
aWNzLmZBc2NlbnQgKyBtZXRyaWNzLmZEZXNjZW50ICsgbWV0cmljcy5mTGVhZGluZzsKLSAgICAg
ICAgbV9hc2NlbnQgPSBTa1NjYWxhclJvdW5kKC1tZXRyaWNzLmZBc2NlbnQpOwotICAgICAgICBt
X2Rlc2NlbnQgPSBTa1NjYWxhclJvdW5kKGhlaWdodCkgLSBtX2FzY2VudDsKKyAgICAgICAgYXNj
ZW50ID0gU2tTY2FsYXJUb0Zsb2F0KC1tZXRyaWNzLmZBc2NlbnQpOworICAgICAgICBkZXNjZW50
ID0gU2tTY2FsYXJUb0Zsb2F0KGhlaWdodCkgLSBhc2NlbnQ7CiAgICAgfQogCisgICAgbV9mb250
TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQo
ZGVzY2VudCk7CisKKyAgICBmbG9hdCB4SGVpZ2h0OwogICAgIGlmIChtZXRyaWNzLmZYSGVpZ2h0
KQotICAgICAgICBtX3hIZWlnaHQgPSBtZXRyaWNzLmZYSGVpZ2h0OworICAgICAgICB4SGVpZ2h0
ID0gbWV0cmljcy5mWEhlaWdodDsKICAgICBlbHNlIHsKICAgICAgICAgLy8gaGFjayB0YWtlbiBm
cm9tIHRoZSBXaW5kb3dzIHBvcnQKLSAgICAgICAgbV94SGVpZ2h0ID0gc3RhdGljX2Nhc3Q8Zmxv
YXQ+KG1fYXNjZW50KSAqIDAuNTY7CisgICAgICAgIHhIZWlnaHQgPSBhc2NlbnQgKiAwLjU2ZjsK
ICAgICB9CiAKLSAgICBtX2xpbmVHYXAgPSBTa1NjYWxhclJvdW5kKG1ldHJpY3MuZkxlYWRpbmcp
OwotICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2VudCArIG1fbGluZUdhcDsK
KyAgICBmbG9hdCBsaW5lR2FwID0gU2tTY2FsYXJUb0Zsb2F0KG1ldHJpY3MuZkxlYWRpbmcpOwor
ICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChsaW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNz
LnNldExpbmVTcGFjaW5nKGFzY2VudCArIGRlc2NlbnQgKyBsaW5lR2FwKTsKKyAgICBtX2ZvbnRN
ZXRyaWNzLnNldFhIZWlnaHQoeEhlaWdodCk7CiAKICAgICBpZiAobV9vcmllbnRhdGlvbiA9PSBW
ZXJ0aWNhbCkgewogICAgICAgICBzdGF0aWMgY29uc3QgdWludDMyX3QgdmhlYVRhZyA9IFNrU2V0
Rm91ckJ5dGVUYWcoJ3YnLCAnaCcsICdlJywgJ2EnKTsKQEAgLTEyOCw3ICsxMzMsNyBAQCB2b2lk
IFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgIGlmIChtZXRyaWNzLmZBdmdDaGFy
V2lkdGgpCiAgICAgICAgIG1fYXZnQ2hhcldpZHRoID0gU2tTY2FsYXJSb3VuZChtZXRyaWNzLmZB
dmdDaGFyV2lkdGgpOwogICAgIGVsc2UgewotICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9IG1feEhl
aWdodDsKKyAgICAgICAgbV9hdmdDaGFyV2lkdGggPSB4SGVpZ2h0OwogCiAgICAgICAgIEdseXBo
UGFnZSogZ2x5cGhQYWdlWmVybyA9IEdseXBoUGFnZVRyZWVOb2RlOjpnZXRSb290Q2hpbGQodGhp
cywgMCktPnBhZ2UoKTsKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9VbmlzY3JpYmVIZWxwZXJUZXh0UnVuLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL1VuaXNjcmliZUhlbHBlclRleHRSdW4uY3BwCShyZXZpc2lv
biA3NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVW5pc2NyaWJl
SGVscGVyVGV4dFJ1bi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwLDcgKzUwLDcgQEAgVW5pc2Ny
aWJlSGVscGVyVGV4dFJ1bjo6VW5pc2NyaWJlSGVscGVyVAogICAgIHNldExldHRlclNwYWNpbmco
Zm9udC5sZXR0ZXJTcGFjaW5nKCkpOwogICAgIHNldFNwYWNlV2lkdGgoZm9udC5zcGFjZVdpZHRo
KCkpOwogICAgIHNldFdvcmRTcGFjaW5nKGZvbnQud29yZFNwYWNpbmcoKSk7Ci0gICAgc2V0QXNj
ZW50KGZvbnQucHJpbWFyeUZvbnQoKS0+YXNjZW50KCkpOworICAgIHNldEFzY2VudChmb250LmZv
bnRNZXRyaWNzKCktPmFzY2VudCgpKTsKIAogICAgIGluaXQoKTsKIApAQCAtMTIwLDcgKzEyMCw3
IEBAIGJvb2wgVW5pc2NyaWJlSGVscGVyVGV4dFJ1bjo6bmV4dFdpbkZvbnQKICAgICAgICAgbV9o
Zm9udHMuYXBwZW5kKHNpbXBsZUZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5oZm9udCgpKTsKICAg
ICAgICAgbV9zY3JpcHRDYWNoZXMuYXBwZW5kKHNpbXBsZUZvbnREYXRhLT5wbGF0Zm9ybURhdGEo
KS5zY3JpcHRDYWNoZSgpKTsKICAgICAgICAgbV9mb250UHJvcGVydGllcy5hcHBlbmQoc2ltcGxl
Rm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLnNjcmlwdEZvbnRQcm9wZXJ0aWVzKCkpOwotICAgICAg
ICBtX2FzY2VudHMuYXBwZW5kKHNpbXBsZUZvbnREYXRhLT5hc2NlbnQoKSk7CisgICAgICAgIG1f
YXNjZW50cy5hcHBlbmQoc2ltcGxlRm9udERhdGEtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwog
ICAgIH0KIAogICAgICpoZm9udCA9IG1faGZvbnRzW21fZm9udEluZGV4IC0gMV07CkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2lt
cGxlRm9udERhdGFGcmVlVHlwZS5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1wbGVGb250RGF0YUZyZWVUeXBlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTAsMjEgKzUwLDI3IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3Jt
SW5pdCgpCiAgICAgY2Fpcm9fZm9udF9leHRlbnRzX3QgZm9udF9leHRlbnRzOwogICAgIGNhaXJv
X3RleHRfZXh0ZW50c190IHRleHRfZXh0ZW50czsKICAgICBjYWlyb19zY2FsZWRfZm9udF9leHRl
bnRzKG1fcGxhdGZvcm1EYXRhLnNjYWxlZEZvbnQoKSwgJmZvbnRfZXh0ZW50cyk7Ci0gICAgbV9h
c2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KGxyb3VuZGYoZm9udF9leHRlbnRzLmFzY2VudCkpOwot
ICAgIG1fZGVzY2VudCA9IHN0YXRpY19jYXN0PGludD4obHJvdW5kZihmb250X2V4dGVudHMuZGVz
Y2VudCkpOwotICAgIG1fbGluZVNwYWNpbmcgPSBzdGF0aWNfY2FzdDxpbnQ+KGxyb3VuZGYoZm9u
dF9leHRlbnRzLmhlaWdodCkpOworCisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoZm9udF9l
eHRlbnRzLmFzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGZvbnRfZXh0ZW50
cy5kZXNjZW50KTsKKwogICAgIC8vIFRoZXJlIHNlZW1zIHRvIGJlIHNvbWUgcm91bmRpbmcgZXJy
b3IgaW4gY2Fpcm8gKG9yIGluIGhvdyB3ZQogICAgIC8vIHVzZSBjYWlybykgd2l0aCBzb21lIGZv
bnRzLCBsaWtlIERlamFWdSBTYW5zIE1vbm8sIHdoaWNoIG1ha2VzCiAgICAgLy8gY2Fpcm8gcmVw
b3J0IGEgaGVpZ2h0IHNtYWxsZXIgdGhhbiBhc2NlbnQgKyBkZXNjZW50LCB3aGljaCBpcwogICAg
IC8vIHdyb25nIGFuZCBjb25mdXNlcyBXZWJDb3JlJ3MgbGF5b3V0IHN5c3RlbS4gV29ya2Fyb3Vu
ZCB0aGlzCiAgICAgLy8gd2hpbGUgd2UgZmlndXJlIG91dCB3aGF0J3MgZ29pbmcgb24uCi0gICAg
aWYgKG1fbGluZVNwYWNpbmcgPCBtX2FzY2VudCArIG1fZGVzY2VudCkKLSAgICAgICAgbV9saW5l
U3BhY2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50OworICAgIGZsb2F0IGxpbmVTcGFjaW5nID0g
Zm9udF9leHRlbnRzLmhlaWdodDsKKyAgICBpZiAobGluZVNwYWNpbmcgPCBmb250X2V4dGVudHMu
YXNjZW50ICsgZm9udF9leHRlbnRzLmRlc2NlbnQpCisgICAgICAgIGxpbmVTcGFjaW5nID0gZm9u
dF9leHRlbnRzLmFzY2VudCArIGZvbnRfZXh0ZW50cy5kZXNjZW50OworICAgIG1fZm9udE1ldHJp
Y3Muc2V0TGluZVNwYWNpbmcobGluZVNwYWNpbmcpOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGlu
ZUdhcChsaW5lU3BhY2luZyAtIGZvbnRfZXh0ZW50cy5hc2NlbnQgLSBmb250X2V4dGVudHMuZGVz
Y2VudCk7CisKICAgICBjYWlyb19zY2FsZWRfZm9udF90ZXh0X2V4dGVudHMobV9wbGF0Zm9ybURh
dGEuc2NhbGVkRm9udCgpLCAieCIsICZ0ZXh0X2V4dGVudHMpOwotICAgIG1feEhlaWdodCA9IHRl
eHRfZXh0ZW50cy5oZWlnaHQ7CisgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHRleHRfZXh0
ZW50cy5oZWlnaHQpOworCiAgICAgY2Fpcm9fc2NhbGVkX2ZvbnRfdGV4dF9leHRlbnRzKG1fcGxh
dGZvcm1EYXRhLnNjYWxlZEZvbnQoKSwgIiAiLCAmdGV4dF9leHRlbnRzKTsKICAgICBtX3NwYWNl
V2lkdGggPSBzdGF0aWNfY2FzdDxmbG9hdD4odGV4dF9leHRlbnRzLnhfYWR2YW5jZSk7Ci0gICAg
bV9saW5lR2FwID0gbV9saW5lU3BhY2luZyAtIG1fYXNjZW50IC0gbV9kZXNjZW50OworICAgIAog
ICAgIG1fc3ludGhldGljQm9sZE9mZnNldCA9IG1fcGxhdGZvcm1EYXRhLnN5bnRoZXRpY0JvbGQo
KSA/IDEuMGYgOiAwLmY7CiB9CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFp
a3UvU2ltcGxlRm9udERhdGFIYWlrdS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9oYWlrdS9TaW1wbGVGb250RGF0YUhhaWt1LmNwcAkocmV2aXNpb24gNzQ0Njcp
CisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2hhaWt1L1NpbXBsZUZvbnREYXRhSGFpa3Uu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCwxMSArNDgsMTEgQEAgdm9pZCBTaW1wbGVGb250RGF0
YTo6cGxhdGZvcm1Jbml0KCkKIAogICAgIGZvbnRfaGVpZ2h0IGhlaWdodDsKICAgICBmb250LT5H
ZXRIZWlnaHQoJmhlaWdodCk7Ci0gICAgbV9hc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KGhlaWdo
dC5hc2NlbnQpOwotICAgIG1fZGVzY2VudCA9IHN0YXRpY19jYXN0PGludD4oaGVpZ2h0LmRlc2Nl
bnQpOwotICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2VudDsKLSAgICBtX3hI
ZWlnaHQgPSBoZWlnaHQuYXNjZW50ICogMC41NmY7IC8vIEhhY2sgdGFrZW4gZnJvbSB0aGUgd2lu
IHBvcnQuCi0gICAgbV9saW5lR2FwID0gaGVpZ2h0LmxlYWRpbmc7CisgICAgbV9mb250TWV0cmlj
cy5zZXRBc2NlbnQoaGVpZ2h0LmFzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50
KGhlaWdodC5kZXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGhlaWdo
dC5hc2NlbnQgKyBoZWlnaHQuZGVzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0
KGhlaWdodC5hc2NlbnQgKiAwLjU2Zik7IC8vIEhhY2sgdGFrZW4gZnJvbSB0aGUgd2luIHBvcnQu
CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGhlaWdodC5sZWFkaW5nKTsKIH0KIAogdm9p
ZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1DaGFyV2lkdGhJbml0KCkKSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21wbGV4VGV4dE1hYy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENvbXBsZXhUZXh0TWFjLmNwcAko
cmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q29t
cGxleFRleHRNYWMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTAsOCArMTEwLDggQEAgZmxvYXQg
Rm9udDo6ZmxvYXRXaWR0aEZvckNvbXBsZXhUZXh0KGNvbgogewogICAgIENvbXBsZXhUZXh0Q29u
dHJvbGxlciBjb250cm9sbGVyKHRoaXMsIHJ1biwgdHJ1ZSwgZmFsbGJhY2tGb250cyk7CiAgICAg
aWYgKGdseXBoT3ZlcmZsb3cpIHsKLSAgICAgICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4PGlu
dD4oZ2x5cGhPdmVyZmxvdy0+dG9wLCBjZWlsZigtY29udHJvbGxlci5taW5HbHlwaEJvdW5kaW5n
Qm94WSgpKSAtIGFzY2VudCgpKTsKLSAgICAgICAgZ2x5cGhPdmVyZmxvdy0+Ym90dG9tID0gbWF4
PGludD4oZ2x5cGhPdmVyZmxvdy0+Ym90dG9tLCBjZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91
bmRpbmdCb3hZKCkpIC0gZGVzY2VudCgpKTsKKyAgICAgICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0g
bWF4PGludD4oZ2x5cGhPdmVyZmxvdy0+dG9wLCBjZWlsZigtY29udHJvbGxlci5taW5HbHlwaEJv
dW5kaW5nQm94WSgpKSAtIGZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOworICAgICAgICBnbHlwaE92
ZXJmbG93LT5ib3R0b20gPSBtYXg8aW50PihnbHlwaE92ZXJmbG93LT5ib3R0b20sIGNlaWxmKGNv
bnRyb2xsZXIubWF4R2x5cGhCb3VuZGluZ0JveFkoKSkgLSBmb250TWV0cmljcygpLmRlc2NlbnQo
KSk7CiAgICAgICAgIGdseXBoT3ZlcmZsb3ctPmxlZnQgPSBtYXg8aW50PigwLCBjZWlsZigtY29u
dHJvbGxlci5taW5HbHlwaEJvdW5kaW5nQm94WCgpKSk7CiAgICAgICAgIGdseXBoT3ZlcmZsb3ct
PnJpZ2h0ID0gbWF4PGludD4oMCwgY2VpbGYoY29udHJvbGxlci5tYXhHbHlwaEJvdW5kaW5nQm94
WCgpIC0gY29udHJvbGxlci50b3RhbFdpZHRoKCkpKTsKICAgICB9CkluZGV4OiBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0JKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udE1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtNjAs
OCArNjAsOCBAQCBzdGF0aWMgdm9pZCBzaG93R2x5cGhzV2l0aEFkdmFuY2VzKGNvbnN0CiAgICAg
ICAgICAgICBzYXZlZE1hdHJpeCA9IENHQ29udGV4dEdldFRleHRNYXRyaXgoY29udGV4dCk7CiAg
ICAgICAgICAgICBDR0FmZmluZVRyYW5zZm9ybSBydW5NYXRyaXggPSBDR0FmZmluZVRyYW5zZm9y
bUNvbmNhdChzYXZlZE1hdHJpeCwgcm90YXRlTGVmdFRyYW5zZm9ybSk7CiAgICAgICAgICAgICAv
LyBNb3ZlIHN0YXJ0IHBvaW50IHRvIHB1dCBnbHlwaHMgaW50byBvcmlnaW5hbCByZWdpb24uCi0g
ICAgICAgICAgICBydW5NYXRyaXgudHggPSBzYXZlZE1hdHJpeC50eCArIGZvbnQtPmFzY2VudCgp
OwotICAgICAgICAgICAgcnVuTWF0cml4LnR5ID0gc2F2ZWRNYXRyaXgudHkgKyBmb250LT5kZXNj
ZW50KCk7CisgICAgICAgICAgICBydW5NYXRyaXgudHggPSBzYXZlZE1hdHJpeC50eCArIGZvbnQt
PmZvbnRNZXRyaWNzKCkuYXNjZW50KCk7CisgICAgICAgICAgICBydW5NYXRyaXgudHkgPSBzYXZl
ZE1hdHJpeC50eSArIGZvbnQtPmZvbnRNZXRyaWNzKCkuZGVzY2VudCgpOwogICAgICAgICAgICAg
Q0dDb250ZXh0U2V0VGV4dE1hdHJpeChjb250ZXh0LCBydW5NYXRyaXgpOwogICAgICAgICB9CiAK
SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnRE
YXRhTWFjLm1tCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yMTgsMTkgKzIxOCwy
MCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgIGludCBpQXNjZW50
OwogICAgIGludCBpRGVzY2VudDsKICAgICBpbnQgaUxpbmVHYXA7CisgICAgdW5zaWduZWQgdW5p
dHNQZXJFbTsKICNpZmRlZiBCVUlMRElOR19PTl9USUdFUgotICAgIHdrR2V0Rm9udE1ldHJpY3Mo
bV9wbGF0Zm9ybURhdGEuY2dGb250KCksICZpQXNjZW50LCAmaURlc2NlbnQsICZpTGluZUdhcCwg
Jm1fdW5pdHNQZXJFbSk7CisgICAgd2tHZXRGb250TWV0cmljcyhtX3BsYXRmb3JtRGF0YS5jZ0Zv
bnQoKSwgJmlBc2NlbnQsICZpRGVzY2VudCwgJmlMaW5lR2FwLCAmdW5pdHNQZXJFbSk7CiAjZWxz
ZQogICAgIGlBc2NlbnQgPSBDR0ZvbnRHZXRBc2NlbnQobV9wbGF0Zm9ybURhdGEuY2dGb250KCkp
OwogICAgIGlEZXNjZW50ID0gQ0dGb250R2V0RGVzY2VudChtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQo
KSk7CiAgICAgaUxpbmVHYXAgPSBDR0ZvbnRHZXRMZWFkaW5nKG1fcGxhdGZvcm1EYXRhLmNnRm9u
dCgpKTsKLSAgICBtX3VuaXRzUGVyRW0gPSBDR0ZvbnRHZXRVbml0c1BlckVtKG1fcGxhdGZvcm1E
YXRhLmNnRm9udCgpKTsKKyAgICB1bml0c1BlckVtID0gQ0dGb250R2V0VW5pdHNQZXJFbShtX3Bs
YXRmb3JtRGF0YS5jZ0ZvbnQoKSk7CiAjZW5kaWYKIAogICAgIGZsb2F0IHBvaW50U2l6ZSA9IG1f
cGxhdGZvcm1EYXRhLm1fc2l6ZTsKLSAgICBmbG9hdCBmQXNjZW50ID0gc2NhbGVFbVRvVW5pdHMo
aUFzY2VudCwgbV91bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKLSAgICBmbG9hdCBmRGVzY2VudCA9
IC1zY2FsZUVtVG9Vbml0cyhpRGVzY2VudCwgbV91bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKLSAg
ICBmbG9hdCBmTGluZUdhcCA9IHNjYWxlRW1Ub1VuaXRzKGlMaW5lR2FwLCBtX3VuaXRzUGVyRW0p
ICogcG9pbnRTaXplOworICAgIGZsb2F0IGFzY2VudCA9IHNjYWxlRW1Ub1VuaXRzKGlBc2NlbnQs
IHVuaXRzUGVyRW0pICogcG9pbnRTaXplOworICAgIGZsb2F0IGRlc2NlbnQgPSAtc2NhbGVFbVRv
VW5pdHMoaURlc2NlbnQsIHVuaXRzUGVyRW0pICogcG9pbnRTaXplOworICAgIGZsb2F0IGxpbmVH
YXAgPSBzY2FsZUVtVG9Vbml0cyhpTGluZUdhcCwgdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7CiAK
ICAgICAvLyBXZSBuZWVkIHRvIGFkanVzdCBUaW1lcywgSGVsdmV0aWNhLCBhbmQgQ291cmllciB0
byBjbG9zZWx5IG1hdGNoIHRoZQogICAgIC8vIHZlcnRpY2FsIG1ldHJpY3Mgb2YgdGhlaXIgTWlj
cm9zb2Z0IGNvdW50ZXJwYXJ0cyB0aGF0IGFyZSB0aGUgZGUgZmFjdG8KQEAgLTIzOSwyNSArMjQw
LDIwIEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgLy8gYW5kIGFk
ZCBpdCB0byB0aGUgYXNjZW50LgogICAgIE5TU3RyaW5nICpmYW1pbHlOYW1lID0gW21fcGxhdGZv
cm1EYXRhLmZvbnQoKSBmYW1pbHlOYW1lXTsKICAgICBpZiAoW2ZhbWlseU5hbWUgaXNFcXVhbFRv
U3RyaW5nOkAiVGltZXMiXSB8fCBbZmFtaWx5TmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJIZWx2ZXRp
Y2EiXSB8fCBbZmFtaWx5TmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJDb3VyaWVyIl0pCi0gICAgICAg
IGZBc2NlbnQgKz0gZmxvb3JmKCgoZkFzY2VudCArIGZEZXNjZW50KSAqIDAuMTVmKSArIDAuNWYp
OworICAgICAgICBhc2NlbnQgKz0gZmxvb3JmKCgoYXNjZW50ICsgZGVzY2VudCkgKiAwLjE1Zikg
KyAwLjVmKTsKICAgICBlbHNlIGlmIChbZmFtaWx5TmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJHZWV6
YSBQcm8iXSkgewogICAgICAgICAvLyBHZWV6YSBQcm8gaGFzIGdseXBocyB0aGF0IGRyYXcgc2xp
Z2h0bHkgYWJvdmUgdGhlIGFzY2VudCBvciBmYXIgYmVsb3cgdGhlIGRlc2NlbnQuIEFkanVzdAog
ICAgICAgICAvLyB0aG9zZSB2ZXJ0aWNhbCBtZXRyaWNzIHRvIGJldHRlciBtYXRjaCByZWFsaXR5
LCBzbyB0aGF0IGRpYWNyaXRpY3MgYXQgdGhlIGJvdHRvbSBvZiBvbmUgbGluZQogICAgICAgICAv
LyBkbyBub3Qgb3ZlcmxhcCBkaWFjcml0aWNzIGF0IHRoZSB0b3Agb2YgdGhlIG5leHQgbGluZS4K
LSAgICAgICAgZkFzY2VudCAqPSAxLjA4ZjsKLSAgICAgICAgZkRlc2NlbnQgKj0gMi5mOworICAg
ICAgICBhc2NlbnQgKj0gMS4wOGY7CisgICAgICAgIGRlc2NlbnQgKj0gMi5mOwogICAgIH0KIAot
ICAgIG1fYXNjZW50ID0gbHJvdW5kZihmQXNjZW50KTsKLSAgICBtX2Rlc2NlbnQgPSBscm91bmRm
KGZEZXNjZW50KTsKLSAgICBtX2xpbmVHYXAgPSBscm91bmRmKGZMaW5lR2FwKTsKLSAgICBtX2xp
bmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rlc2NlbnQgKyBtX2xpbmVHYXA7Ci0gICAgCiAgICAg
Ly8gSGFjayBIaXJhZ2lubyBsaW5lIG1ldHJpY3MgdG8gYWxsb3cgcm9vbSBmb3IgbWFya2VkIHRl
eHQgdW5kZXJsaW5lcy4KICAgICAvLyA8cmRhcjovL3Byb2JsZW0vNTM4NjE4Mz4KLSAgICBpZiAo
bV9kZXNjZW50IDwgMyAmJiBtX2xpbmVHYXAgPj0gMyAmJiBbZmFtaWx5TmFtZSBoYXNQcmVmaXg6
QCJIaXJhZ2lubyJdKSB7Ci0gICAgICAgIG1fbGluZUdhcCAtPSAzIC0gbV9kZXNjZW50OwotICAg
ICAgICBtX2Rlc2NlbnQgPSAzOworICAgIGlmIChkZXNjZW50IDwgMyAmJiBsaW5lR2FwID49IDMg
JiYgW2ZhbWlseU5hbWUgaGFzUHJlZml4OkAiSGlyYWdpbm8iXSkgeworICAgICAgICBsaW5lR2Fw
IC09IDMgLSBkZXNjZW50OworICAgICAgICBkZXNjZW50ID0gMzsKICAgICB9CiAgICAgCiAgICAg
aWYgKG1fb3JpZW50YXRpb24gPT0gVmVydGljYWwpIHsKQEAgLTI3OCw2ICsyNzQsOCBAQCB2b2lk
IFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgICAgICAgICAgbV9vcmllbnRhdGlv
biA9IEhvcml6b250YWw7CiAgICAgfQogCisgICAgZmxvYXQgeEhlaWdodDsKKwogICAgIC8vIE1l
YXN1cmUgdGhlIGFjdHVhbCBjaGFyYWN0ZXIgIngiLCBiZWNhdXNlIEFwcEtpdCBzeW50aGVzaXpl
cyBYIGhlaWdodCByYXRoZXIgdGhhbiBnZXR0aW5nIGl0IGZyb20gdGhlIGZvbnQuCiAgICAgLy8g
VW5mb3J0dW5hdGVseSwgTlNGb250IHdpbGwgcm91bmQgdGhpcyBmb3IgdXMgc28gd2UgZG9uJ3Qg
cXVpdGUgZ2V0IHRoZSByaWdodCB2YWx1ZS4KICAgICBHbHlwaFBhZ2UqIGdseXBoUGFnZVplcm8g
PSBHbHlwaFBhZ2VUcmVlTm9kZTo6Z2V0Um9vdENoaWxkKHRoaXMsIDApLT5wYWdlKCk7CkBAIC0y
ODgsMjEgKzI4NiwyOCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAg
ICAgICAvLyBhbmQgd2ViIHBhZ2VzIHRoYXQgZm9vbGlzaGx5IHVzZSB0aGlzIG1ldHJpYyBmb3Ig
d2lkdGggd2lsbCBiZSBsYWlkIG91dAogICAgICAgICAvLyBwb29ybHkgaWYgd2UgcmV0dXJuIGFu
IGFjY3VyYXRlIGhlaWdodC4gQ2xhc3NpYyBjYXNlIGlzIFRpbWVzIDEzIHBvaW50LAogICAgICAg
ICAvLyB3aGljaCBoYXMgYW4gIngiIHRoYXQgaXMgN3g2IHBpeGVscy4KLSAgICAgICAgbV94SGVp
Z2h0ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1heChDR1JlY3RHZXRNYXhYKHhCb3gpLCAtQ0dSZWN0
R2V0TWluWSh4Qm94KSkpOworICAgICAgICB4SGVpZ2h0ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1h
eChDR1JlY3RHZXRNYXhYKHhCb3gpLCAtQ0dSZWN0R2V0TWluWSh4Qm94KSkpOwogICAgIH0gZWxz
ZSB7CiAjaWZuZGVmIEJVSUxESU5HX09OX1RJR0VSCi0gICAgICAgIG1feEhlaWdodCA9IHN0YXRp
Y19jYXN0PGZsb2F0PihDR0ZvbnRHZXRYSGVpZ2h0KG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpKSkg
LyBtX3VuaXRzUGVyRW07CisgICAgICAgIHhIZWlnaHQgPSBzdGF0aWNfY2FzdDxmbG9hdD4oQ0dG
b250R2V0WEhlaWdodChtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSkpIC8gdW5pdHNQZXJFbTsKICNl
bHNlCi0gICAgICAgIG1feEhlaWdodCA9IG1fcGxhdGZvcm1EYXRhLmZvbnQoKSA/IFttX3BsYXRm
b3JtRGF0YS5mb250KCkgeEhlaWdodF0gOiAwOworICAgICAgICB4SGVpZ2h0ID0gbV9wbGF0Zm9y
bURhdGEuZm9udCgpID8gW21fcGxhdGZvcm1EYXRhLmZvbnQoKSB4SGVpZ2h0XSA6IDA7CiAjZW5k
aWYKICAgICAgICAgLy8gQ0dGb250R2V0WEhlaWdodCgpIHJldHVybnMgYSB3cm9uZyB2YWx1ZSBm
b3IgIkFwcGxlIFN5bWJvbHMiIGZvbnQgKGEgZmxvYXQgY2xvc2UgdG8gMCwgYnV0IG5vdCBzdHJp
Y3RseSAwKS4KLSAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBjb2RlIG1ha2VzIGEgZ3Vlc3MgZm9y
IG1feEhlaWdodCBpbiB0aGF0IGNhc2UuCisgICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgY29kZSBt
YWtlcyBhIGd1ZXNzIGZvciB4SGVpZ2h0IGluIHRoYXQgY2FzZS4KICAgICAgICAgLy8gVGhlIGlu
dCBjYXN0IGlzIGEgd29ya2Fyb3VuZCBmb3IgdGhlICJhbG1vc3QiIHplcm8gdmFsdWUgcmV0dXJu
ZWQgYnkgQ0dGb250R2V0WEhlaWdodCgpLgotICAgICAgICBpZiAoIXN0YXRpY19jYXN0PGludD4o
bV94SGVpZ2h0KSAmJiBmQXNjZW50KQotICAgICAgICAgICAgbV94SGVpZ2h0ID0gMiAqIGZBc2Nl
bnQgLyAzOworICAgICAgICBpZiAoIXN0YXRpY19jYXN0PGludD4oeEhlaWdodCkgJiYgYXNjZW50
KQorICAgICAgICAgICAgeEhlaWdodCA9IDIgKiBhc2NlbnQgLyAzOwogICAgIH0KKworICAgIG1f
Zm9udE1ldHJpY3Muc2V0VW5pdHNQZXJFbSh1bml0c1BlckVtKTsKKyAgICBtX2ZvbnRNZXRyaWNz
LnNldEFzY2VudChhc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChkZXNjZW50
KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZUdhcCk7CisgICAgbV9mb250TWV0
cmljcy5zZXRMaW5lU3BhY2luZyhhc2NlbnQgKyBkZXNjZW50ICsgbGluZUdhcCk7CisgICAgbV9m
b250TWV0cmljcy5zZXRYSGVpZ2h0KHhIZWlnaHQpOwogfQotICAgIAorCiBzdGF0aWMgQ0ZEYXRh
UmVmIGNvcHlGb250VGFibGVGb3JUYWcoRm9udFBsYXRmb3JtRGF0YSYgcGxhdGZvcm1EYXRhLCBG
b3VyQ2hhckNvZGUgdGFibGVOYW1lKQogewogI2lmZGVmIEJVSUxESU5HX09OX1RJR0VSCkBAIC0z
MzcsNyArMzQyLDcgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1DaGFyV2lkdGhJbgog
ICAgIGlmIChvczJUYWJsZSAmJiBDRkRhdGFHZXRMZW5ndGgob3MyVGFibGUuZ2V0KCkpID49IDQp
IHsKICAgICAgICAgY29uc3QgVUludDgqIG9zMiA9IENGRGF0YUdldEJ5dGVQdHIob3MyVGFibGUu
Z2V0KCkpOwogICAgICAgICBTSW50MTYgb3MyQXZnQ2hhcldpZHRoID0gb3MyWzJdICogMjU2ICsg
b3MyWzNdOwotICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9IHNjYWxlRW1Ub1VuaXRzKG9zMkF2Z0No
YXJXaWR0aCwgbV91bml0c1BlckVtKSAqIG1fcGxhdGZvcm1EYXRhLm1fc2l6ZTsKKyAgICAgICAg
bV9hdmdDaGFyV2lkdGggPSBzY2FsZUVtVG9Vbml0cyhvczJBdmdDaGFyV2lkdGgsIG1fZm9udE1l
dHJpY3MudW5pdHNQZXJFbSgpKSAqIG1fcGxhdGZvcm1EYXRhLm1fc2l6ZTsKICAgICB9CiAKICAg
ICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBoZWFkVGFibGUoQWRvcHRDRiwgY29weUZvbnRUYWJsZUZv
clRhZyhtX3BsYXRmb3JtRGF0YSwgJ2hlYWQnKSk7CkBAIC0zNDgsNyArMzUzLDcgQEAgdm9pZCBT
aW1wbGVGb250RGF0YTo6cGxhdGZvcm1DaGFyV2lkdGhJbgogICAgICAgICBTSW50MTYgeE1pbiA9
IHN0YXRpY19jYXN0PFNJbnQxNj4odXhNaW4pOwogICAgICAgICBTSW50MTYgeE1heCA9IHN0YXRp
Y19jYXN0PFNJbnQxNj4odXhNYXgpOwogICAgICAgICBmbG9hdCBkaWZmID0gc3RhdGljX2Nhc3Q8
ZmxvYXQ+KHhNYXggLSB4TWluKTsKLSAgICAgICAgbV9tYXhDaGFyV2lkdGggPSBzY2FsZUVtVG9V
bml0cyhkaWZmLCBtX3VuaXRzUGVyRW0pICogbV9wbGF0Zm9ybURhdGEubV9zaXplOworICAgICAg
ICBtX21heENoYXJXaWR0aCA9IHNjYWxlRW1Ub1VuaXRzKGRpZmYsIG1fZm9udE1ldHJpY3MudW5p
dHNQZXJFbSgpKSAqIG1fcGxhdGZvcm1EYXRhLm1fc2l6ZTsKICAgICB9CiAKICAgICAvLyBGYWxs
YmFjayB0byBhIGNyb3NzLXBsYXRmb3JtIGVzdGltYXRlLCB3aGljaCB3aWxsIHBvcHVsYXRlIHRo
ZXNlIHZhbHVlcyBpZiB0aGV5IGFyZSBub24tcG9zaXRpdmUuCkluZGV4OiBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3BhbmdvL1NpbXBsZUZvbnREYXRhUGFuZ28uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcGFuZ28vU2ltcGxlRm9udERhdGFQYW5nby5jcHAJ
KHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9wYW5nby9TaW1w
bGVGb250RGF0YVBhbmdvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksMjEgKzQ5LDI3IEBAIHZv
aWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgY2Fpcm9fZm9udF9leHRlbnRz
X3QgZm9udF9leHRlbnRzOwogICAgIGNhaXJvX3RleHRfZXh0ZW50c190IHRleHRfZXh0ZW50czsK
ICAgICBjYWlyb19zY2FsZWRfZm9udF9leHRlbnRzKG1fcGxhdGZvcm1EYXRhLm1fc2NhbGVkRm9u
dCwgJmZvbnRfZXh0ZW50cyk7Ci0gICAgbV9hc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KGxyb3Vu
ZGYoZm9udF9leHRlbnRzLmFzY2VudCkpOwotICAgIG1fZGVzY2VudCA9IHN0YXRpY19jYXN0PGlu
dD4obHJvdW5kZihmb250X2V4dGVudHMuZGVzY2VudCkpOwotICAgIG1fbGluZVNwYWNpbmcgPSBz
dGF0aWNfY2FzdDxpbnQ+KGxyb3VuZGYoZm9udF9leHRlbnRzLmhlaWdodCkpOworCisgICAgbV9m
b250TWV0cmljcy5zZXRBc2NlbnQoZm9udF9leHRlbnRzLmFzY2VudCk7CisgICAgbV9mb250TWV0
cmljcy5zZXREZXNjZW50KGZvbnRfZXh0ZW50cy5kZXNjZW50KTsKKwogICAgIC8vIFRoZXJlIHNl
ZW1zIHRvIGJlIHNvbWUgcm91bmRpbmcgZXJyb3IgaW4gY2Fpcm8gKG9yIGluIGhvdyB3ZQogICAg
IC8vIHVzZSBjYWlybykgd2l0aCBzb21lIGZvbnRzLCBsaWtlIERlamFWdSBTYW5zIE1vbm8sIHdo
aWNoIG1ha2VzCiAgICAgLy8gY2Fpcm8gcmVwb3J0IGEgaGVpZ2h0IHNtYWxsZXIgdGhhbiBhc2Nl
bnQgKyBkZXNjZW50LCB3aGljaCBpcwogICAgIC8vIHdyb25nIGFuZCBjb25mdXNlcyBXZWJDb3Jl
J3MgbGF5b3V0IHN5c3RlbS4gV29ya2Fyb3VuZCB0aGlzCiAgICAgLy8gd2hpbGUgd2UgZmlndXJl
IG91dCB3aGF0J3MgZ29pbmcgb24uCi0gICAgaWYgKG1fbGluZVNwYWNpbmcgPCBtX2FzY2VudCAr
IG1fZGVzY2VudCkKLSAgICAgICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50
OworICAgIGZsb2F0IGxpbmVTcGFjaW5nID0gZm9udF9leHRlbnRzLmhlaWdodDsKKyAgICBpZiAo
bGluZVNwYWNpbmcgPCBmb250X2V4dGVudHMuYXNjZW50ICsgZm9udF9leHRlbnRzLmRlc2NlbnQp
CisgICAgICAgIGxpbmVTcGFjaW5nID0gZm9udF9leHRlbnRzLmFzY2VudCArIGZvbnRfZXh0ZW50
cy5kZXNjZW50OworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcobGluZVNwYWNpbmcp
OworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChsaW5lU3BhY2luZyAtIGZvbnRfZXh0ZW50
cy5hc2NlbnQgLSBmb250X2V4dGVudHMuZGVzY2VudCk7CisKICAgICBjYWlyb19zY2FsZWRfZm9u
dF90ZXh0X2V4dGVudHMobV9wbGF0Zm9ybURhdGEubV9zY2FsZWRGb250LCAieCIsICZ0ZXh0X2V4
dGVudHMpOwotICAgIG1feEhlaWdodCA9IHRleHRfZXh0ZW50cy5oZWlnaHQ7CisgICAgbV9mb250
TWV0cmljcy5zZXRYSGVpZ2h0KHRleHRfZXh0ZW50cy5oZWlnaHQpOworCiAgICAgY2Fpcm9fc2Nh
bGVkX2ZvbnRfdGV4dF9leHRlbnRzKG1fcGxhdGZvcm1EYXRhLm1fc2NhbGVkRm9udCwgIiAiLCAm
dGV4dF9leHRlbnRzKTsKLSAgICBtX3NwYWNlV2lkdGggPSAgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHRl
eHRfZXh0ZW50cy54X2FkdmFuY2UpOwotICAgIG1fbGluZUdhcCA9IG1fbGluZVNwYWNpbmcgLSBt
X2FzY2VudCAtIG1fZGVzY2VudDsKKyAgICBtX3NwYWNlV2lkdGggPSBzdGF0aWNfY2FzdDxmbG9h
dD4odGV4dF9leHRlbnRzLnhfYWR2YW5jZSk7CisgICAgCiAgICAgbV9zeW50aGV0aWNCb2xkT2Zm
c2V0ID0gbV9wbGF0Zm9ybURhdGEuc3ludGhldGljQm9sZCgpID8gMS4wZiA6IDAuZjsKIH0KIApJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250RGF0YVF0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRh
UXQuY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQv
U2ltcGxlRm9udERhdGFRdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTaW1wbGVGb250RGF0YS5oIgogCi0jaW5jbHVk
ZSA8UUZvbnRNZXRyaWNzPgorI2luY2x1ZGUgPFFGb250TWV0cmljc0Y+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtNDEsMjUgKzQxLDIwIEBAIGJvb2wgU2ltcGxlRm9udERhdGE6OmNvbnRh
aW5zQ2hhcmFjdGVycygKIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiB7CiAg
ICAgaWYgKCFtX3BsYXRmb3JtRGF0YS5zaXplKCkpIHsKLSAgICAgICAgIG1fYXNjZW50ID0gMDsK
LSAgICAgICAgIG1fZGVzY2VudCA9IDA7Ci0gICAgICAgICBtX2xpbmVHYXAgPSAwOwotICAgICAg
ICAgbV9saW5lU3BhY2luZyA9IDA7CisgICAgICAgICBtX2ZvbnRNZXRyaWNzLnJlc2V0KCk7CiAg
ICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9IDA7CiAgICAgICAgICBtX21heENoYXJXaWR0aCA9IDA7
Ci0gICAgICAgICBtX3hIZWlnaHQgPSAwOwotICAgICAgICAgbV91bml0c1BlckVtID0gMDsKICAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBRRm9udE1ldHJpY3MgZm0obV9wbGF0Zm9ybURh
dGEuZm9udCgpKTsKKyAgICBRRm9udE1ldHJpY3NGIGZtKG1fcGxhdGZvcm1EYXRhLmZvbnQoKSk7
CiAKLSAgICBtX2FzY2VudCA9IGZtLmFzY2VudCgpOwotICAgIG1fZGVzY2VudCA9IGZtLmRlc2Nl
bnQoKTsKLSAgICBtX2xpbmVTcGFjaW5nID0gZm0ubGluZVNwYWNpbmcoKTsKLSAgICBtX3hIZWln
aHQgPSBmbS54SGVpZ2h0KCk7CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoZm0uYXNjZW50
KCkpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChmbS5kZXNjZW50KCkpOworICAgIG1f
Zm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoZm0ubGluZVNwYWNpbmcoKSk7CisgICAgbV9mb250
TWV0cmljcy5zZXRYSGVpZ2h0KGZtLnhIZWlnaHQoKSk7CisgICAgbV9mb250TWV0cmljcy5zZXRM
aW5lR2FwKGZtLmxlYWRpbmcoKSk7CiAgICAgbV9zcGFjZVdpZHRoID0gZm0ud2lkdGgoUUxhdGlu
MUNoYXIoJyAnKSk7Ci0gICAgbV9saW5lR2FwID0gZm0ubGVhZGluZygpOwogfQogCiB2b2lkIFNp
bXBsZUZvbnREYXRhOjpwbGF0Zm9ybUdseXBoSW5pdCgpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbi9Gb250Q0dXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0ZvbnRDR1dpbi5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENHV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTY3LDggKzE2NywxMiBAQCBzdGF0aWMgdm9pZCBkcmF3R0RJR2x5cGhzKEdyYXBoaWNzQ29udGV4
CiAgICAgICAgIGRyYXdJbnRvQml0bWFwID0gdHJ1ZTsKICAgICAgICAgLy8gV2UgcHV0IHNsb3Ag
aW50byB0aGlzIHJlY3QsIHNpbmNlIGdseXBocyBjYW4gb3ZlcmZsb3cgdGhlIGFzY2VudC9kZXNj
ZW50IGJvdW5kcyBhbmQgdGhlIGxlZnQvcmlnaHQgZWRnZXMuCiAgICAgICAgIC8vIEZJWE1FOiBD
YW4gZ2V0IGdseXBocycgb3B0aWNhbCBib3VuZHMgKGV2ZW4gZnJvbSBDRykgdG8gZ2V0IHRoaXMg
cmlnaHQuCi0gICAgICAgIGludCBsaW5lR2FwID0gZm9udC0+bGluZUdhcCgpOwotICAgICAgICB0
ZXh0UmVjdCA9IEludFJlY3QocG9pbnQueCgpIC0gKGZvbnQtPmFzY2VudCgpICsgZm9udC0+ZGVz
Y2VudCgpKSAvIDIsIHBvaW50LnkoKSAtIGZvbnQtPmFzY2VudCgpIC0gbGluZUdhcCwgdG90YWxX
aWR0aCArIGZvbnQtPmFzY2VudCgpICsgZm9udC0+ZGVzY2VudCgpLCBmb250LT5saW5lU3BhY2lu
ZygpKTsKKyAgICAgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZm9udC0+Zm9u
dE1ldHJpY3MoKTsKKyAgICAgICAgaW50IGxpbmVHYXAgPSBmb250TWV0cmljcy5saW5lR2FwKCk7
CisgICAgICAgIHRleHRSZWN0ID0gSW50UmVjdChwb2ludC54KCkgLSAoZm9udE1ldHJpY3MuYXNj
ZW50KCkgKyBmb250TWV0cmljcy5kZXNjZW50KCkpIC8gMiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBvaW50LnkoKSAtIGZvbnRNZXRyaWNzLmFzY2VudCgpIC0gbGluZUdhcCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRvdGFsV2lkdGggKyBmb250TWV0cmljcy5hc2NlbnQoKSAr
IGZvbnRNZXRyaWNzLmRlc2NlbnQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRN
ZXRyaWNzLmxpbmVTcGFjaW5nKCkpOwogICAgICAgICBiaXRtYXAuc2V0KGdyYXBoaWNzQ29udGV4
dC0+Y3JlYXRlV2luZG93c0JpdG1hcCh0ZXh0UmVjdC5zaXplKCkpKTsKICAgICAgICAgbWVtc2V0
KGJpdG1hcC0+YnVmZmVyKCksIDI1NSwgYml0bWFwLT5idWZmZXJMZW5ndGgoKSk7CiAgICAgICAg
IGhkYyA9IGJpdG1hcC0+aGRjKCk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9Gb250V2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9Gb250V2luLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3dpbi9Gb250V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIxLDggKzEyMSw4IEBAIGZs
b2F0IEZvbnQ6OmZsb2F0V2lkdGhGb3JDb21wbGV4VGV4dChjb24KICAgICBVbmlzY3JpYmVDb250
cm9sbGVyIGNvbnRyb2xsZXIodGhpcywgcnVuLCBmYWxsYmFja0ZvbnRzKTsKICAgICBjb250cm9s
bGVyLmFkdmFuY2UocnVuLmxlbmd0aCgpKTsKICAgICBpZiAoZ2x5cGhPdmVyZmxvdykgewotICAg
ICAgICBnbHlwaE92ZXJmbG93LT50b3AgPSBtYXg8aW50PihnbHlwaE92ZXJmbG93LT50b3AsIGNl
aWxmKC1jb250cm9sbGVyLm1pbkdseXBoQm91bmRpbmdCb3hZKCkpIC0gYXNjZW50KCkpOwotICAg
ICAgICBnbHlwaE92ZXJmbG93LT5ib3R0b20gPSBtYXg8aW50PihnbHlwaE92ZXJmbG93LT5ib3R0
b20sIGNlaWxmKGNvbnRyb2xsZXIubWF4R2x5cGhCb3VuZGluZ0JveFkoKSkgLSBkZXNjZW50KCkp
OworICAgICAgICBnbHlwaE92ZXJmbG93LT50b3AgPSBtYXg8aW50PihnbHlwaE92ZXJmbG93LT50
b3AsIGNlaWxmKC1jb250cm9sbGVyLm1pbkdseXBoQm91bmRpbmdCb3hZKCkpIC0gZm9udE1ldHJp
Y3MoKS5hc2NlbnQoKSk7CisgICAgICAgIGdseXBoT3ZlcmZsb3ctPmJvdHRvbSA9IG1heDxpbnQ+
KGdseXBoT3ZlcmZsb3ctPmJvdHRvbSwgY2VpbGYoY29udHJvbGxlci5tYXhHbHlwaEJvdW5kaW5n
Qm94WSgpKSAtIGZvbnRNZXRyaWNzKCkuZGVzY2VudCgpKTsKICAgICAgICAgZ2x5cGhPdmVyZmxv
dy0+bGVmdCA9IG1heDxpbnQ+KDAsIGNlaWxmKC1jb250cm9sbGVyLm1pbkdseXBoQm91bmRpbmdC
b3hYKCkpKTsKICAgICAgICAgZ2x5cGhPdmVyZmxvdy0+cmlnaHQgPSBtYXg8aW50PigwLCBjZWls
Zihjb250cm9sbGVyLm1heEdseXBoQm91bmRpbmdCb3hYKCkgLSBjb250cm9sbGVyLnJ1bldpZHRo
U29GYXIoKSkpOwogICAgIH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1Np
bXBsZUZvbnREYXRhQ0dXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ0dXaW4uY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ0dXaW4uY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02NCwxMSArNjQsMTEgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZv
cm1Jbml0KCkKICAgICBpbnQgaUFzY2VudCA9IENHRm9udEdldEFzY2VudChmb250KTsKICAgICBp
bnQgaURlc2NlbnQgPSBDR0ZvbnRHZXREZXNjZW50KGZvbnQpOwogICAgIGludCBpTGluZUdhcCA9
IENHRm9udEdldExlYWRpbmcoZm9udCk7Ci0gICAgbV91bml0c1BlckVtID0gQ0dGb250R2V0VW5p
dHNQZXJFbShmb250KTsKKyAgICB1bnNpZ25lZCB1bml0c1BlckVtID0gQ0dGb250R2V0VW5pdHNQ
ZXJFbShmb250KTsKICAgICBmbG9hdCBwb2ludFNpemUgPSBtX3BsYXRmb3JtRGF0YS5zaXplKCk7
Ci0gICAgZmxvYXQgZkFzY2VudCA9IHNjYWxlRW1Ub1VuaXRzKGlBc2NlbnQsIG1fdW5pdHNQZXJF
bSkgKiBwb2ludFNpemU7Ci0gICAgZmxvYXQgZkRlc2NlbnQgPSAtc2NhbGVFbVRvVW5pdHMoaURl
c2NlbnQsIG1fdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7Ci0gICAgZmxvYXQgZkxpbmVHYXAgPSBz
Y2FsZUVtVG9Vbml0cyhpTGluZUdhcCwgbV91bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAgICBm
bG9hdCBmQXNjZW50ID0gc2NhbGVFbVRvVW5pdHMoaUFzY2VudCwgdW5pdHNQZXJFbSkgKiBwb2lu
dFNpemU7CisgICAgZmxvYXQgZkRlc2NlbnQgPSAtc2NhbGVFbVRvVW5pdHMoaURlc2NlbnQsIHVu
aXRzUGVyRW0pICogcG9pbnRTaXplOworICAgIGZsb2F0IGZMaW5lR2FwID0gc2NhbGVFbVRvVW5p
dHMoaUxpbmVHYXAsIHVuaXRzUGVyRW0pICogcG9pbnRTaXplOwogCiAgICAgaWYgKCFpc0N1c3Rv
bUZvbnQoKSkgewogICAgICAgICBIREMgZGMgPSBHZXREQygwKTsKQEAgLTkzLDEwICs5MywxMCBA
QCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgICAgICB9CiAgICAgfQog
Ci0gICAgbV9hc2NlbnQgPSBscm91bmRmKGZBc2NlbnQpOwotICAgIG1fZGVzY2VudCA9IGxyb3Vu
ZGYoZkRlc2NlbnQpOwotICAgIG1fbGluZUdhcCA9IGxyb3VuZGYoZkxpbmVHYXApOwotICAgIG1f
bGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2VudCArIG1fbGluZUdhcDsKKyAgICBtX2Zv
bnRNZXRyaWNzLnNldEFzY2VudChmQXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2Nl
bnQoZkRlc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChmTGluZUdhcCk7Cisg
ICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhmQXNjZW50ICsgZkRlc2NlbnQgKyBmTGlu
ZUdhcCk7CiAKICAgICAvLyBNZWFzdXJlIHRoZSBhY3R1YWwgY2hhcmFjdGVyICJ4IiwgYmVjYXVz
ZSBBcHBLaXQgc3ludGhlc2l6ZXMgWCBoZWlnaHQgcmF0aGVyIHRoYW4gZ2V0dGluZyBpdCBmcm9t
IHRoZSBmb250LgogICAgIC8vIFVuZm9ydHVuYXRlbHksIE5TRm9udCB3aWxsIHJvdW5kIHRoaXMg
Zm9yIHVzIHNvIHdlIGRvbid0IHF1aXRlIGdldCB0aGUgcmlnaHQgdmFsdWUuCkBAIC0xMDksMTEg
KzEwOSwxMyBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgICAgICAv
LyBhbmQgd2ViIHBhZ2VzIHRoYXQgZm9vbGlzaGx5IHVzZSB0aGlzIG1ldHJpYyBmb3Igd2lkdGgg
d2lsbCBiZSBsYWlkIG91dAogICAgICAgICAvLyBwb29ybHkgaWYgd2UgcmV0dXJuIGFuIGFjY3Vy
YXRlIGhlaWdodC4gQ2xhc3NpYyBjYXNlIGlzIFRpbWVzIDEzIHBvaW50LAogICAgICAgICAvLyB3
aGljaCBoYXMgYW4gIngiIHRoYXQgaXMgN3g2IHBpeGVscy4KLSAgICAgICAgbV94SGVpZ2h0ID0g
c2NhbGVFbVRvVW5pdHMobWF4KENHUmVjdEdldE1heFgoeEJveCksIENHUmVjdEdldE1heFkoeEJv
eCkpLCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXplOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNl
dFhIZWlnaHQoc2NhbGVFbVRvVW5pdHMobWF4KENHUmVjdEdldE1heFgoeEJveCksIENHUmVjdEdl
dE1heFkoeEJveCkpLCB1bml0c1BlckVtKSAqIHBvaW50U2l6ZSk7CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgaW50IGlYSGVpZ2h0ID0gQ0dGb250R2V0WEhlaWdodChmb250KTsKLSAgICAgICAgbV94
SGVpZ2h0ID0gc2NhbGVFbVRvVW5pdHMoaVhIZWlnaHQsIG1fdW5pdHNQZXJFbSkgKiBwb2ludFNp
emU7CisgICAgICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodChzY2FsZUVtVG9Vbml0cyhpWEhl
aWdodCwgdW5pdHNQZXJFbSkgKiBwb2ludFNpemUpOwogICAgIH0KKworICAgIG1fZm9udE1ldHJp
Y3Muc2V0VW5pdHNQZXJFbSh1bml0c1BlckVtKTsKIH0KIAogdm9pZCBTaW1wbGVGb250RGF0YTo6
cGxhdGZvcm1DaGFyV2lkdGhJbml0KCkKQEAgLTEzMyw3ICsxMzUsNyBAQCBGbG9hdFJlY3QgU2lt
cGxlRm9udERhdGE6OnBsYXRmb3JtQm91bmRzCiAgICAgQ0dSZWN0IGJveDsKICAgICBDR0ZvbnRH
ZXRHbHlwaEJCb3hlcyhtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSwgJmdseXBoLCAxLCAmYm94KTsK
ICAgICBmbG9hdCBwb2ludFNpemUgPSBtX3BsYXRmb3JtRGF0YS5zaXplKCk7Ci0gICAgQ0dGbG9h
dCBzY2FsZSA9IHBvaW50U2l6ZSAvIHVuaXRzUGVyRW0oKTsKKyAgICBDR0Zsb2F0IHNjYWxlID0g
cG9pbnRTaXplIC8gZm9udE1ldHJpY3MoKS51bml0c1BlckVtKCk7CiAgICAgRmxvYXRSZWN0IGJv
dW5kaW5nQm94ID0gQ0dSZWN0QXBwbHlBZmZpbmVUcmFuc2Zvcm0oYm94LCBDR0FmZmluZVRyYW5z
Zm9ybU1ha2VTY2FsZShzY2FsZSwgLXNjYWxlKSk7CiAgICAgaWYgKG1fc3ludGhldGljQm9sZE9m
ZnNldCkKICAgICAgICAgYm91bmRpbmdCb3guc2V0V2lkdGgoYm91bmRpbmdCb3gud2lkdGgoKSAr
IG1fc3ludGhldGljQm9sZE9mZnNldCk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9TaW1wbGVGb250RGF0YUNhaXJvV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNhaXJvV2luLmNwcAkocmV2aXNpb24g
NzQ0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNh
aXJvV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjMsMTMgKzYzLDE2IEBAIHZvaWQgU2ltcGxl
Rm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAKICAgICBURVhUTUVUUklDIHRleHRNZXRyaWNzOwog
ICAgIEdldFRleHRNZXRyaWNzKGhkYywgJnRleHRNZXRyaWNzKTsKLSAgICBtX2FzY2VudCA9IGxy
b3VuZGYodGV4dE1ldHJpY3MudG1Bc2NlbnQgKiBtZXRyaWNzTXVsdGlwbGllcik7Ci0gICAgbV9k
ZXNjZW50ID0gbHJvdW5kZih0ZXh0TWV0cmljcy50bURlc2NlbnQgKiBtZXRyaWNzTXVsdGlwbGll
cik7Ci0gICAgbV94SGVpZ2h0ID0gbV9hc2NlbnQgKiAwLjU2ZjsgLy8gQmVzdCBndWVzcyBmb3Ig
eEhlaWdodCBmb3Igbm9uLVRydWV0eXBlIGZvbnRzLgotICAgIG1fbGluZUdhcCA9IGxyb3VuZGYo
dGV4dE1ldHJpY3MudG1FeHRlcm5hbExlYWRpbmcgKiBtZXRyaWNzTXVsdGlwbGllcik7Ci0gICAg
bV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50ICsgbV9saW5lR2FwOwotICAgIG1f
YXZnQ2hhcldpZHRoID0gbHJvdW5kZih0ZXh0TWV0cmljcy50bUF2ZUNoYXJXaWR0aCAqIG1ldHJp
Y3NNdWx0aXBsaWVyKTsKLSAgICBtX21heENoYXJXaWR0aCA9IGxyb3VuZGYodGV4dE1ldHJpY3Mu
dG1NYXhDaGFyV2lkdGggKiBtZXRyaWNzTXVsdGlwbGllcik7CisgICAgZmxvYXQgYXNjZW50ID0g
dGV4dE1ldHJpY3MudG1Bc2NlbnQgKiBtZXRyaWNzTXVsdGlwbGllcjsKKyAgICBmbG9hdCBkZXNj
ZW50ID0gdGV4dE1ldHJpY3MudG1EZXNjZW50ICogbWV0cmljc011bHRpcGxpZXI7CisgICAgZmxv
YXQgeEhlaWdodCA9IGFzY2VudCAqIDAuNTZmOyAvLyBCZXN0IGd1ZXNzIGZvciB4SGVpZ2h0IGZv
ciBub24tVHJ1ZXR5cGUgZm9udHMuCisgICAgZmxvYXQgbGluZUdhcCA9IHRleHRNZXRyaWNzLnRt
RXh0ZXJuYWxMZWFkaW5nICogbWV0cmljc011bHRpcGxpZXI7CisgICAgbV9mb250TWV0cmljcy5z
ZXRBc2NlbnQoYXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoZGVzY2VudCk7
CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGxpbmVHYXApOworICAgIG1fZm9udE1ldHJp
Y3Muc2V0TGluZVNwYWNpbmcoYXNjZW50ICsgZGVzY2VudCArIGxpbmVHYXApOworICAgIG1fYXZn
Q2hhcldpZHRoID0gdGV4dE1ldHJpY3MudG1BdmVDaGFyV2lkdGggKiBtZXRyaWNzTXVsdGlwbGll
cjsKKyAgICBtX21heENoYXJXaWR0aCA9IHRleHRNZXRyaWNzLnRtTWF4Q2hhcldpZHRoICogbWV0
cmljc011bHRpcGxpZXI7CiAKICAgICBPVVRMSU5FVEVYVE1FVFJJQyBtZXRyaWNzOwogICAgIGlm
IChHZXRPdXRsaW5lVGV4dE1ldHJpY3MoaGRjLCBzaXplb2YobWV0cmljcyksICZtZXRyaWNzKSA+
IDApIHsKQEAgLTc4LDkgKzgxLDEwIEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5p
dCgpCiAgICAgICAgIE1BVDIgbWF0ID0geyAxLCAwLCAwLCAxIH07CiAgICAgICAgIERXT1JEIGxl
biA9IEdldEdseXBoT3V0bGluZShoZGMsICd4JywgR0dPX01FVFJJQ1MsICZnbSwgMCwgMCwgJm1h
dCk7CiAgICAgICAgIGlmIChsZW4gIT0gR0RJX0VSUk9SICYmIGdtLmdtcHRHbHlwaE9yaWdpbi55
ID4gMCkKLSAgICAgICAgICAgIG1feEhlaWdodCA9IGdtLmdtcHRHbHlwaE9yaWdpbi55ICogbWV0
cmljc011bHRpcGxpZXI7CisgICAgICAgICAgICB4SGVpZ2h0ID0gZ20uZ21wdEdseXBoT3JpZ2lu
LnkgKiBtZXRyaWNzTXVsdGlwbGllcjsKICAgICB9CiAKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFhI
ZWlnaHQoeEhlaWdodCk7CiAgICAgY2Fpcm9fd2luMzJfc2NhbGVkX2ZvbnRfZG9uZV9mb250KHNj
YWxlZEZvbnQpOwogCiAgICAgbV9pc1N5c3RlbUZvbnQgPSBmYWxzZTsKSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhV2luLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHAJKHJl
dmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9u
dERhdGFXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NiwxNCArNjYsOSBAQCBib29sIFNpbXBs
ZUZvbnREYXRhOjpzaG91bGRBcHBseU1hY0FzY2VuCiB2b2lkIFNpbXBsZUZvbnREYXRhOjppbml0
R0RJRm9udCgpCiB7CiAgICAgaWYgKCFtX3BsYXRmb3JtRGF0YS5zaXplKCkpIHsKLSAgICAgICAg
bV9hc2NlbnQgPSAwOwotICAgICAgICBtX2Rlc2NlbnQgPSAwOwotICAgICAgICBtX2xpbmVHYXAg
PSAwOwotICAgICAgICBtX2xpbmVTcGFjaW5nID0gMDsKKyAgICAgICAgbV9mb250TWV0cmljcy5y
ZXNldCgpOwogICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9IDA7CiAgICAgICAgIG1fbWF4Q2hhcldp
ZHRoID0gMDsKLSAgICAgICAgbV94SGVpZ2h0ID0gMDsKLSAgICAgICAgbV91bml0c1BlckVtID0g
MDsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtODIsMjEgKzc3LDI1IEBAIHZvaWQgU2lt
cGxlRm9udERhdGE6OmluaXRHRElGb250KCkKICAgICAgT1VUTElORVRFWFRNRVRSSUMgbWV0cmlj
czsKICAgICAgR2V0T3V0bGluZVRleHRNZXRyaWNzKGhkYywgc2l6ZW9mKG1ldHJpY3MpLCAmbWV0
cmljcyk7CiAgICAgIFRFWFRNRVRSSUMmIHRleHRNZXRyaWNzID0gbWV0cmljcy5vdG1UZXh0TWV0
cmljczsKLSAgICAgbV9hc2NlbnQgPSB0ZXh0TWV0cmljcy50bUFzY2VudDsKLSAgICAgbV9kZXNj
ZW50ID0gdGV4dE1ldHJpY3MudG1EZXNjZW50OwotICAgICBtX2xpbmVHYXAgPSB0ZXh0TWV0cmlj
cy50bUV4dGVybmFsTGVhZGluZzsKLSAgICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9k
ZXNjZW50ICsgbV9saW5lR2FwOworICAgICBmbG9hdCBhc2NlbnQgPSB0ZXh0TWV0cmljcy50bUFz
Y2VudDsKKyAgICAgZmxvYXQgZGVzY2VudCA9IHRleHRNZXRyaWNzLnRtRGVzY2VudDsKKyAgICAg
ZmxvYXQgbGluZUdhcCA9IHRleHRNZXRyaWNzLnRtRXh0ZXJuYWxMZWFkaW5nOworICAgICBtX2Zv
bnRNZXRyaWNzLnNldEFzY2VudChhc2NlbnQpOworICAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2Nl
bnQoZGVzY2VudCk7CisgICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChsaW5lR2FwKTsKKyAg
ICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhhc2NlbnQgKyBkZXNjZW50ICsgbGluZUdh
cCk7CiAgICAgIG1fYXZnQ2hhcldpZHRoID0gdGV4dE1ldHJpY3MudG1BdmVDaGFyV2lkdGg7CiAg
ICAgIG1fbWF4Q2hhcldpZHRoID0gdGV4dE1ldHJpY3MudG1NYXhDaGFyV2lkdGg7Ci0gICAgIG1f
eEhlaWdodCA9IG1fYXNjZW50ICogMC41NmY7IC8vIEJlc3QgZ3Vlc3MgZm9yIHhIZWlnaHQgaWYg
bm8geCBnbHlwaCBpcyBwcmVzZW50LgorICAgICBmbG9hdCB4SGVpZ2h0ID0gYXNjZW50ICogMC41
NmY7IC8vIEJlc3QgZ3Vlc3MgZm9yIHhIZWlnaHQgaWYgbm8geCBnbHlwaCBpcyBwcmVzZW50Lgog
CiAgICAgIEdMWVBITUVUUklDUyBnbTsKICAgICAgTUFUMiBtYXQgPSB7IDEsIDAsIDAsIDEgfTsK
ICAgICAgRFdPUkQgbGVuID0gR2V0R2x5cGhPdXRsaW5lKGhkYywgJ3gnLCBHR09fTUVUUklDUywg
JmdtLCAwLCAwLCAmbWF0KTsKICAgICAgaWYgKGxlbiAhPSBHRElfRVJST1IgJiYgZ20uZ21wdEds
eXBoT3JpZ2luLnkgPiAwKQotICAgICAgICAgbV94SGVpZ2h0ID0gZ20uZ21wdEdseXBoT3JpZ2lu
Lnk7CisgICAgICAgICB4SGVpZ2h0ID0gZ20uZ21wdEdseXBoT3JpZ2luLnk7CiAKLSAgICAgbV91
bml0c1BlckVtID0gbWV0cmljcy5vdG1FTVNxdWFyZTsKKyAgICAgbV9mb250TWV0cmljcy5zZXRY
SGVpZ2h0KHhIZWlnaHQpOworICAgICBtX2ZvbnRNZXRyaWNzLnNldFVuaXRzUGVyRW0obWV0cmlj
cy5vdG1FTVNxdWFyZSk7CiAKICAgICAgU2VsZWN0T2JqZWN0KGhkYywgb2xkRm9udCk7CiAgICAg
IFJlbGVhc2VEQygwLCBoZGMpOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5j
ZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAJKHJldmlzaW9uIDc0NDY3
KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5D
RS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1MzUsNyArMTUzNSw3IEBAIHZvaWQgR3JhcGhpY3ND
b250ZXh0OjpkcmF3VGV4dChjb25zdCBGb24KICAgICBtX2RhdGEtPm1fb3BhY2l0eSAqPSBmaWxs
Q29sb3IoKS5hbHBoYSgpIC8gMjU1LjA7CiAKICAgICBGbG9hdFJlY3QgdGV4dFJlY3QgPSBmb250
LnNlbGVjdGlvblJlY3RGb3JUZXh0KHJ1biwgcG9pbnQsIGZvbnQuaGVpZ2h0KCksIGZyb20sIHRv
KTsKLSAgICB0ZXh0UmVjdC5zZXRZKHRleHRSZWN0LnkoKSAtIGZvbnQuYXNjZW50KCkpOworICAg
IHRleHRSZWN0LnNldFkodGV4dFJlY3QueSgpIC0gZm9udC5mb250TWV0cmljcygpLmFzY2VudCgp
KTsKICAgICBJbnRSZWN0IHRyUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QobV9kYXRhLT5tYXBSZWN0
KHRleHRSZWN0KSk7CiAgICAgUkVDVCBibXBSZWN0OwogICAgIEFscGhhUGFpbnRUeXBlIGFscGhh
UGFpbnRUeXBlID0gbXVzdFN1cHBvcnRBbHBoYSA/IEFscGhhUGFpbnRPdGhlciA6IEFscGhhUGFp
bnROb25lOwpAQCAtMTU0NCw3ICsxNTQ0LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdU
ZXh0KGNvbnN0IEZvbgogICAgICAgICAgICAgR3JhcGhpY3NDb250ZXh0IGdjKDApOwogICAgICAg
ICAgICAgZ2Muc2V0Qml0bWFwKGJtcCk7CiAgICAgICAgICAgICBnYy5zY2FsZShGbG9hdFNpemUo
bV9kYXRhLT5tX3RyYW5zZm9ybS5hKCksIG1fZGF0YS0+bV90cmFuc2Zvcm0uZCgpKSk7Ci0gICAg
ICAgICAgICBmb250LmRyYXdUZXh0KCZnYywgcnVuLCBJbnRQb2ludCgwLCBmb250LmFzY2VudCgp
KSwgZnJvbSwgdG8pOworICAgICAgICAgICAgZm9udC5kcmF3VGV4dCgmZ2MsIHJ1biwgSW50UG9p
bnQoMCwgZm9udC5mb250TWV0cmljcygpLmFzY2VudCgpKSwgZnJvbSwgdG8pOwogICAgICAgICB9
CiAgICAgICAgIHVuc2lnbmVkIGtleTE7CiAgICAgICAgIEhEQyBtZW1EQyA9IGJtcC0+Z2V0REMo
JmtleTEpOwpAQCAtMTU4OSw3ICsxNTg5LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdU
ZXh0KGNvbnN0IFNpbQogICAgICAgICA/IGZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5nZXRTY2Fs
ZWRGb250SGFuZGxlKGhlaWdodCwgc2NhbGVYID09IHNjYWxlWSA/IDAgOiB3aWR0aCkKICAgICAg
ICAgOiAwOwogCi0gICAgRmxvYXRQb2ludCBzdGFydFBvaW50KHBvaW50LngoKSwgcG9pbnQueSgp
IC0gZm9udERhdGEtPmFzY2VudCgpKTsKKyAgICBGbG9hdFBvaW50IHN0YXJ0UG9pbnQocG9pbnQu
eCgpLCBwb2ludC55KCkgLSBmb250RGF0YS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAg
RmxvYXRQb2ludCB0clBvaW50ID0gbV9kYXRhLT5tYXBQb2ludChzdGFydFBvaW50KTsKICAgICBp
bnQgeSA9IHN0YWJsZVJvdW5kKHRyUG9pbnQueSgpKTsKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW5jZS9TaW1wbGVGb250RGF0YVdpbkNFLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwCShy
ZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2ltcGxl
Rm9udERhdGFXaW5DRS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDExICs1MSwxNCBAQCB2b2lk
IFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgIGNvbnN0IFRFWFRNRVRSSUMmIHRt
ID0gbV9wbGF0Zm9ybURhdGEubWV0cmljcygpOwogICAgIG1faXNTeXN0ZW1Gb250ID0gbV9wbGF0
Zm9ybURhdGEuaXNTeXN0ZW1Gb250KCk7CiAKLSAgICBtX2FzY2VudCA9ICh0bS50bUFzY2VudCAq
IG1fcGxhdGZvcm1EYXRhLnNpemUoKSArIDM2KSAvIDcyOwotICAgIG1fZGVzY2VudCA9ICh0bS50
bURlc2NlbnQgKiBtX3BsYXRmb3JtRGF0YS5zaXplKCkgKyAzNikgLyA3MjsKLSAgICBtX2xpbmVH
YXAgPSAodG0udG1FeHRlcm5hbExlYWRpbmcgKiBtX3BsYXRmb3JtRGF0YS5zaXplKCkgKyAzNikg
LyA3MjsKLSAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rlc2NlbnQgKyBtX2xpbmVH
YXA7Ci0gICAgbV94SGVpZ2h0ID0gbV9hc2NlbnQgKiAwLjU2ZjsKKyAgICBmbG9hdCBhc2NlbnQg
PSAodG0udG1Bc2NlbnQgKiBtX3BsYXRmb3JtRGF0YS5zaXplKCkgKyAzNikgLyA3Mi4wZjsKKyAg
ICBmbG9hdCBkZXNjZW50ID0gKHRtLnRtRGVzY2VudCAqIG1fcGxhdGZvcm1EYXRhLnNpemUoKSAr
IDM2KSAvIDcyLjBmOworICAgIGZsb2F0IGxpbmVHYXAgPSAodG0udG1FeHRlcm5hbExlYWRpbmcg
KiBtX3BsYXRmb3JtRGF0YS5zaXplKCkgKyAzNikgLyA3Mi4wZjsKKyAgICBtX2ZvbnRNZXRyaWNz
LnNldEFzY2VudChhc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChkZXNjZW50
KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZUdhcCk7CisgICAgbV9mb250TWV0
cmljcy5zZXRMaW5lU3BhY2luZyhhc2NlbnQgKyBkZXNjZW50ICsgbGluZUdhcCk7CisgICAgbV9m
b250TWV0cmljcy5zZXRYSGVpZ2h0KGFzY2VudCAqIDAuNTZmKTsKIH0KIAogdm9pZCBTaW1wbGVG
b250RGF0YTo6cGxhdGZvcm1EZXN0cm95KCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd3gvU2ltcGxlRm9udERhdGFXeC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93eC9TaW1wbGVGb250RGF0YVd4LmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L1NpbXBsZUZvbnREYXRhV3guY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01MywxMiArNTMsMTIgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1J
bml0KCkKICAgICB3eEZvbnQgKmZvbnQgPSBtX3BsYXRmb3JtRGF0YS5mb250KCk7CiAgICAgaWYg
KGZvbnQgJiYgZm9udC0+SXNPaygpKSB7CiAgICAgICAgIHd4Rm9udFByb3BlcnRpZXMgcHJvcHMg
PSB3eEZvbnRQcm9wZXJ0aWVzKGZvbnQpOwotICAgICAgICBtX2FzY2VudCA9IHByb3BzLkdldEFz
Y2VudCgpOwotICAgICAgICBtX2Rlc2NlbnQgPSBwcm9wcy5HZXREZXNjZW50KCk7Ci0gICAgICAg
IG1fbGluZVNwYWNpbmcgPSBwcm9wcy5HZXRMaW5lU3BhY2luZygpOwotICAgICAgICBtX3hIZWln
aHQgPSBwcm9wcy5HZXRYSGVpZ2h0KCk7Ci0gICAgICAgIG1fdW5pdHNQZXJFbSA9IDE7IC8vIEZJ
WE1FIQotICAgICAgICBtX2xpbmVHYXAgPSBwcm9wcy5HZXRMaW5lR2FwKCk7CisgICAgICAgIG1f
Zm9udE1ldHJpY3Muc2V0QXNjZW50KHByb3BzLkdldEFzY2VudCgpKTsKKyAgICAgICAgbV9mb250
TWV0cmljcy5zZXREZXNjZW50KHByb3BzLkdldERlc2NlbnQoKSk7CisgICAgICAgIG1fZm9udE1l
dHJpY3Muc2V0TGluZVNwYWNpbmcocHJvcHMuR2V0TGluZVNwYWNpbmcoKSk7CisgICAgICAgIG1f
Zm9udE1ldHJpY3Muc2V0WEhlaWdodChwcm9wcy5HZXRYSGVpZ2h0KCkpOworICAgICAgICBtX2Zv
bnRNZXRyaWNzLnNldFVuaXRzUGVyRW0oMSk7IC8vIEZJWE1FIQorICAgICAgICBtX2ZvbnRNZXRy
aWNzLnNldExpbmVHYXAocHJvcHMuR2V0TGluZUdhcCgpKTsKICAgICB9CiAKICAgICBtX3N5bnRo
ZXRpY0JvbGRPZmZzZXQgPSAwLjBmOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvRWxsaXBzaXNC
b3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL0VsbGlwc2lzQm94LmNwcAko
cmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9FbGxpcHNpc0JveC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTUxLDcgKzUxLDcgQEAgdm9pZCBFbGxpcHNpc0JveDo6cGFpbnQoUGFp
bnRJbmZvJiBwYWludAogICAgIH0KIAogICAgIGNvbnN0IFN0cmluZyYgc3RyID0gbV9zdHI7Ci0g
ICAgY29udGV4dC0+ZHJhd1RleHQoc3R5bGUtPmZvbnQoKSwgVGV4dFJ1bihzdHIuY2hhcmFjdGVy
cygpLCBzdHIubGVuZ3RoKCksIGZhbHNlLCAwLCAwLCBmYWxzZSwgc3R5bGUtPnZpc3VhbGx5T3Jk
ZXJlZCgpKSwgSW50UG9pbnQobV94ICsgdHgsIG1feSArIHR5ICsgc3R5bGUtPmZvbnQoKS5hc2Nl
bnQoKSkpOworICAgIGNvbnRleHQtPmRyYXdUZXh0KHN0eWxlLT5mb250KCksIFRleHRSdW4oc3Ry
LmNoYXJhY3RlcnMoKSwgc3RyLmxlbmd0aCgpLCBmYWxzZSwgMCwgMCwgZmFsc2UsIHN0eWxlLT52
aXN1YWxseU9yZGVyZWQoKSksIEludFBvaW50KG1feCArIHR4LCBtX3kgKyB0eSArIHN0eWxlLT5m
b250TWV0cmljcygpLmFzY2VudCgpKSk7CiAKICAgICAvLyBSZXN0b3JlIHRoZSByZWd1bGFyIGZp
bGwgY29sb3IuCiAgICAgaWYgKHRleHRDb2xvciAhPSBjb250ZXh0LT5maWxsQ29sb3IoKSkKQEAg
LTYzLDcgKzYzLDcgQEAgdm9pZCBFbGxpcHNpc0JveDo6cGFpbnQoUGFpbnRJbmZvJiBwYWludAog
ICAgIGlmIChtX21hcmt1cEJveCkgewogICAgICAgICAvLyBQYWludCB0aGUgbWFya3VwIGJveAog
ICAgICAgICB0eCArPSBtX3ggKyBtX2xvZ2ljYWxXaWR0aCAtIG1fbWFya3VwQm94LT54KCk7Ci0g
ICAgICAgIHR5ICs9IG1feSArIHN0eWxlLT5mb250KCkuYXNjZW50KCkgLSAobV9tYXJrdXBCb3gt
PnkoKSArIG1fbWFya3VwQm94LT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQo
KS5hc2NlbnQoKSk7CisgICAgICAgIHR5ICs9IG1feSArIHN0eWxlLT5mb250TWV0cmljcygpLmFz
Y2VudCgpIC0gKG1fbWFya3VwQm94LT55KCkgKyBtX21hcmt1cEJveC0+cmVuZGVyZXIoKS0+c3R5
bGUobV9maXJzdExpbmUpLT5mb250TWV0cmljcygpLmFzY2VudCgpKTsKICAgICAgICAgbV9tYXJr
dXBCb3gtPnBhaW50KHBhaW50SW5mbywgdHgsIHR5KTsKICAgICB9CiB9CkBAIC0xMDYsNyArMTA2
LDcgQEAgYm9vbCBFbGxpcHNpc0JveDo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VAogICAgIGlmICht
X21hcmt1cEJveCkgewogICAgICAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSBtX3JlbmRlcmVyLT5z
dHlsZShtX2ZpcnN0TGluZSk7CiAgICAgICAgIGludCBtdHggPSB0eCArIG1fbG9naWNhbFdpZHRo
IC0gbV9tYXJrdXBCb3gtPngoKTsKLSAgICAgICAgaW50IG10eSA9IHR5ICsgc3R5bGUtPmZvbnQo
KS5hc2NlbnQoKSAtIChtX21hcmt1cEJveC0+eSgpICsgbV9tYXJrdXBCb3gtPnJlbmRlcmVyKCkt
PnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpLmFzY2VudCgpKTsKKyAgICAgICAgaW50IG10eSA9
IHR5ICsgc3R5bGUtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkgLSAobV9tYXJrdXBCb3gtPnkoKSAr
IG1fbWFya3VwQm94LT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnRNZXRyaWNz
KCkuYXNjZW50KCkpOwogICAgICAgICBpZiAobV9tYXJrdXBCb3gtPm5vZGVBdFBvaW50KHJlcXVl
c3QsIHJlc3VsdCwgeCwgeSwgbXR4LCBtdHkpKSB7CiAgICAgICAgICAgICByZW5kZXJlcigpLT51
cGRhdGVIaXRUZXN0UmVzdWx0KHJlc3VsdCwgSW50UG9pbnQoeCAtIG10eCwgeSAtIG10eSkpOwog
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVC
b3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAJKHJl
dmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtOTMsMTQgKzkzLDE0IEBAIGludCBJbmxpbmVCb3g6OmxvZ2ljYWxIZWlnaHQo
KSBjb25zdAogI2VuZGlmCiAgICAgCiAgICAgaWYgKHJlbmRlcmVyKCktPmlzVGV4dCgpKQotICAg
ICAgICByZXR1cm4gbV9pc1RleHQgPyByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZv
bnQoKS5oZWlnaHQoKSA6IDA7CisgICAgICAgIHJldHVybiBtX2lzVGV4dCA/IHJlbmRlcmVyKCkt
PnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKS5oZWlnaHQoKSA6IDA7CiAgICAgaWYg
KHJlbmRlcmVyKCktPmlzQm94KCkgJiYgcGFyZW50KCkpCiAgICAgICAgIHJldHVybiBpc0hvcml6
b250YWwoKSA/IHRvUmVuZGVyQm94KG1fcmVuZGVyZXIpLT5oZWlnaHQoKSA6IHRvUmVuZGVyQm94
KG1fcmVuZGVyZXIpLT53aWR0aCgpOwogCiAgICAgQVNTRVJUKGlzSW5saW5lRmxvd0JveCgpKTsK
ICAgICBSZW5kZXJCb3hNb2RlbE9iamVjdCogZmxvd09iamVjdCA9IGJveE1vZGVsT2JqZWN0KCk7
Ci0gICAgY29uc3QgRm9udCYgZm9udCA9IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+
Zm9udCgpOwotICAgIGludCByZXN1bHQgPSBmb250LmhlaWdodCgpOworICAgIGNvbnN0IEZvbnRN
ZXRyaWNzJiBmb250TWV0cmljcyA9IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9u
dE1ldHJpY3MoKTsKKyAgICBpbnQgcmVzdWx0ID0gZm9udE1ldHJpY3MuaGVpZ2h0KCk7CiAgICAg
aWYgKHBhcmVudCgpKQogICAgICAgICByZXN1bHQgKz0gZmxvd09iamVjdC0+Ym9yZGVyQW5kUGFk
ZGluZ0xvZ2ljYWxIZWlnaHQoKTsKICAgICByZXR1cm4gcmVzdWx0OwpJbmRleDogV2ViQ29yZS9y
ZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJp
bmcvSW5saW5lRmxvd0JveC5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvSW5saW5lRmxvd0JveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwOCw2ICs0MDgsNyBAQCBz
dGF0aWMgaW50IHZlcnRpY2FsUG9zaXRpb25Gb3JCb3goSW5saW5lCiAgICAgICAgIAogICAgICAg
ICBpZiAodmVydGljYWxBbGlnbiAhPSBCQVNFTElORSkgewogICAgICAgICAgICAgY29uc3QgRm9u
dCYgZm9udCA9IHBhcmVudC0+c3R5bGUoZmlyc3RMaW5lKS0+Zm9udCgpOworICAgICAgICAgICAg
Y29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZm9udC5mb250TWV0cmljcygpOwogICAg
ICAgICAgICAgaW50IGZvbnRTaXplID0gZm9udC5waXhlbFNpemUoKTsKIAogICAgICAgICAgICAg
TGluZURpcmVjdGlvbk1vZGUgbGluZURpcmVjdGlvbiA9IHBhcmVudC0+c3R5bGUoKS0+aXNIb3Jp
em9udGFsV3JpdGluZ01vZGUoKSA/IEhvcml6b250YWxMaW5lIDogVmVydGljYWxMaW5lOwpAQCAt
NDE3LDExICs0MTgsMTEgQEAgc3RhdGljIGludCB2ZXJ0aWNhbFBvc2l0aW9uRm9yQm94KElubGlu
ZQogICAgICAgICAgICAgZWxzZSBpZiAodmVydGljYWxBbGlnbiA9PSBTVVBFUikKICAgICAgICAg
ICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uIC09IGZvbnRTaXplIC8gMyArIDE7CiAgICAgICAgICAg
ICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IFRFWFRfVE9QKQotICAgICAgICAgICAgICAgIHZl
cnRpY2FsUG9zaXRpb24gKz0gcmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBl
LCBmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC0gZm9udC5hc2NlbnQoYmFzZWxpbmVUeXBlKTsK
KyAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IHJlbmRlcmVyLT5iYXNlbGluZVBv
c2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAtIGZvbnRNZXRy
aWNzLmFzY2VudChiYXNlbGluZVR5cGUpOwogICAgICAgICAgICAgZWxzZSBpZiAodmVydGljYWxB
bGlnbiA9PSBNSURETEUpCi0gICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiArPSAtc3Rh
dGljX2Nhc3Q8aW50Pihmb250LnhIZWlnaHQoKSAvIDIpIC0gcmVuZGVyZXItPmxpbmVIZWlnaHQo
Zmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAvIDIgKyByZW5kZXJlci0+YmFzZWxpbmVQb3NpdGlv
bihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURpcmVjdGlvbik7CisgICAgICAgICAgICAg
ICAgdmVydGljYWxQb3NpdGlvbiArPSAtc3RhdGljX2Nhc3Q8aW50Pihmb250TWV0cmljcy54SGVp
Z2h0KCkgLyAyKSAtIHJlbmRlcmVyLT5saW5lSGVpZ2h0KGZpcnN0TGluZSwgbGluZURpcmVjdGlv
bikgLyAyICsgcmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBmaXJzdExp
bmUsIGxpbmVEaXJlY3Rpb24pOwogICAgICAgICAgICAgZWxzZSBpZiAodmVydGljYWxBbGlnbiA9
PSBURVhUX0JPVFRPTSkgewotICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gZm9u
dC5kZXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlv
biArPSBmb250TWV0cmljcy5kZXNjZW50KGJhc2VsaW5lVHlwZSk7CiAgICAgICAgICAgICAgICAg
Ly8gbGluZUhlaWdodCAtIGJhc2VsaW5lUG9zaXRpb24gaXMgYWx3YXlzIDAgZm9yIHJlcGxhY2Vk
IGVsZW1lbnRzIChleGNlcHQgaW5saW5lIGJsb2NrcyksIHNvIGRvbid0IGJvdGhlciB3YXN0aW5n
IHRpbWUgaW4gdGhhdCBjYXNlLgogICAgICAgICAgICAgICAgIGlmICghcmVuZGVyZXItPmlzUmVw
bGFjZWQoKSB8fCByZW5kZXJlci0+aXNJbmxpbmVCbG9ja09ySW5saW5lVGFibGUoKSkKICAgICAg
ICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiAtPSAocmVuZGVyZXItPmxpbmVIZWlnaHQo
Zmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAtIHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0aW9uKGJh
c2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSk7CkBAIC01MDMsOSArNTA0LDEw
IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6Y29tcHV0ZUxvZ2ljYWxCb3hIZWkKICAgICAgICAgICAg
IGJhc2VsaW5lID0gMDsKICAgICAgICAgICAgIGludCBiYXNlbGluZVRvQm90dG9tID0gMDsKICAg
ICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdXNlZEZvbnRzLT5zaXplKCk7ICsraSkg
ewotICAgICAgICAgICAgICAgIGludCBoYWxmTGVhZGluZyA9ICh1c2VkRm9udHMtPmF0KGkpLT5s
aW5lU3BhY2luZygpIC0gdXNlZEZvbnRzLT5hdChpKS0+aGVpZ2h0KCkpIC8gMjsKLSAgICAgICAg
ICAgICAgICBpbnQgdXNlZEZvbnRCYXNlbGluZSA9IGhhbGZMZWFkaW5nICsgdXNlZEZvbnRzLT5h
dChpKS0+YXNjZW50KGJhc2VsaW5lVHlwZSk7Ci0gICAgICAgICAgICAgICAgaW50IHVzZWRGb250
QmFzZWxpbmVUb0JvdHRvbSA9IHVzZWRGb250cy0+YXQoaSktPmxpbmVTcGFjaW5nKCkgLSB1c2Vk
Rm9udEJhc2VsaW5lOworICAgICAgICAgICAgICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0
cmljcyA9IHVzZWRGb250cy0+YXQoaSktPmZvbnRNZXRyaWNzKCk7CisgICAgICAgICAgICAgICAg
aW50IGhhbGZMZWFkaW5nID0gKGZvbnRNZXRyaWNzLmxpbmVTcGFjaW5nKCkgLSBmb250TWV0cmlj
cy5oZWlnaHQoKSkgLyAyOworICAgICAgICAgICAgICAgIGludCB1c2VkRm9udEJhc2VsaW5lID0g
aGFsZkxlYWRpbmcgKyBmb250TWV0cmljcy5hc2NlbnQoYmFzZWxpbmVUeXBlKTsKKyAgICAgICAg
ICAgICAgICBpbnQgdXNlZEZvbnRCYXNlbGluZVRvQm90dG9tID0gZm9udE1ldHJpY3MubGluZVNw
YWNpbmcoKSAtIHVzZWRGb250QmFzZWxpbmU7CiAgICAgICAgICAgICAgICAgaWYgKCFiYXNlbGlu
ZVNldCkgewogICAgICAgICAgICAgICAgICAgICBiYXNlbGluZVNldCA9IHRydWU7CiAgICAgICAg
ICAgICAgICAgICAgIGJhc2VsaW5lID0gdXNlZEZvbnRCYXNlbGluZTsKQEAgLTUxNSw5ICs1MTcs
OSBAQCB2b2lkIElubGluZUZsb3dCb3g6OmNvbXB1dGVMb2dpY2FsQm94SGVpCiAgICAgICAgICAg
ICAgICAgICAgIGJhc2VsaW5lVG9Cb3R0b20gPSBtYXgoYmFzZWxpbmVUb0JvdHRvbSwgdXNlZEZv
bnRCYXNlbGluZVRvQm90dG9tKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
aWYgKCFhZmZlY3RzQXNjZW50KQotICAgICAgICAgICAgICAgICAgICBhZmZlY3RzQXNjZW50ID0g
dXNlZEZvbnRzLT5hdChpKS0+YXNjZW50KCkgLSBjdXJyLT5sb2dpY2FsVG9wKCkgPiAwOworICAg
ICAgICAgICAgICAgICAgICBhZmZlY3RzQXNjZW50ID0gZm9udE1ldHJpY3MuYXNjZW50KCkgLSBj
dXJyLT5sb2dpY2FsVG9wKCkgPiAwOwogICAgICAgICAgICAgICAgIGlmICghYWZmZWN0c0Rlc2Nl
bnQpCi0gICAgICAgICAgICAgICAgICAgIGFmZmVjdHNEZXNjZW50ID0gdXNlZEZvbnRzLT5hdChp
KS0+ZGVzY2VudCgpICsgY3Vyci0+bG9naWNhbFRvcCgpID4gMDsKKyAgICAgICAgICAgICAgICAg
ICAgYWZmZWN0c0Rlc2NlbnQgPSBmb250TWV0cmljcy5kZXNjZW50KCkgKyBjdXJyLT5sb2dpY2Fs
VG9wKCkgPiAwOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgbGluZUhlaWdodCA9IGJhc2Vs
aW5lICsgYmFzZWxpbmVUb0JvdHRvbTsKICAgICAgICAgfSBlbHNlIHsKQEAgLTUyNywxMSArNTI5
LDEyIEBAIHZvaWQgSW5saW5lRmxvd0JveDo6Y29tcHV0ZUxvZ2ljYWxCb3hIZWkKICAgICAgICAg
ICAgICAgICAvLyBFeGFtaW5lIHRoZSBmb250IGJveCBmb3IgaW5saW5lIGZsb3dzIGFuZCB0ZXh0
IGJveGVzIHRvIHNlZSBpZiBhbnkgcGFydCBvZiBpdCBpcyBhYm92ZSB0aGUgYmFzZWxpbmUuCiAg
ICAgICAgICAgICAgICAgLy8gSWYgdGhlIHRvcCBvZiBvdXIgZm9udCBib3ggcmVsYXRpdmUgdG8g
dGhlIHJvb3QgYm94IGJhc2VsaW5lIGlzIGFib3ZlIHRoZSByb290IGJveCBiYXNlbGluZSwgdGhl
bgogICAgICAgICAgICAgICAgIC8vIHdlIGFyZSBjb250cmlidXRpbmcgdG8gdGhlIG1heEFzY2Vu
dCB2YWx1ZS4KLSAgICAgICAgICAgICAgICBhZmZlY3RzQXNjZW50ID0gY3Vyci0+cmVuZGVyZXIo
KS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCkuYXNjZW50KGJhc2VsaW5lVHlwZSkgLSBjdXJy
LT5sb2dpY2FsVG9wKCkgPiAwOworICAgICAgICAgICAgICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBm
b250TWV0cmljcyA9IGN1cnItPnJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udE1l
dHJpY3MoKTsKKyAgICAgICAgICAgICAgICBhZmZlY3RzQXNjZW50ID0gZm9udE1ldHJpY3MuYXNj
ZW50KGJhc2VsaW5lVHlwZSkgLSBjdXJyLT5sb2dpY2FsVG9wKCkgPiAwOwogICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgIC8vIERlc2NlbnQgaXMgc2ltaWxhci4gIElmIGFueSBwYXJ0
IG9mIG91ciBmb250IGJveCBpcyBiZWxvdyB0aGUgcm9vdCBib3gncyBiYXNlbGluZSwgdGhlbgog
ICAgICAgICAgICAgICAgIC8vIHdlIGNvbnRyaWJ1dGUgdG8gdGhlIG1heERlc2NlbnQgdmFsdWUu
Ci0gICAgICAgICAgICAgICAgYWZmZWN0c0Rlc2NlbnQgPSBjdXJyLT5yZW5kZXJlcigpLT5zdHls
ZShtX2ZpcnN0TGluZSktPmZvbnQoKS5kZXNjZW50KGJhc2VsaW5lVHlwZSkgKyBjdXJyLT5sb2dp
Y2FsVG9wKCkgPiAwOworICAgICAgICAgICAgICAgIGFmZmVjdHNEZXNjZW50ID0gZm9udE1ldHJp
Y3MuZGVzY2VudChiYXNlbGluZVR5cGUpICsgY3Vyci0+bG9naWNhbFRvcCgpID4gMDsKICAgICAg
ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgLy8gUmVwbGFjZWQgZWxlbWVudHMgYWx3
YXlzIGFmZmVjdCBib3RoIHRoZSBhc2NlbnQgYW5kIGRlc2NlbnQuCiAgICAgICAgICAgICAgICAg
YWZmZWN0c0FzY2VudCA9IHRydWU7CkBAIC02MDYsOCArNjA5LDggQEAgdm9pZCBJbmxpbmVGbG93
Qm94OjpwbGFjZUJveGVzSW5CbG9ja0RpcgogICAgICAgICBpbnQgYm94SGVpZ2h0SW5jbHVkaW5n
TWFyZ2lucyA9IGJveEhlaWdodDsKICAgICAgICAgICAgIAogICAgICAgICBpZiAoY3Vyci0+aXNU
ZXh0KCkgfHwgY3Vyci0+aXNJbmxpbmVGbG93Qm94KCkpIHsKLSAgICAgICAgICAgIGNvbnN0IEZv
bnQmIGZvbnQgPSBjdXJyLT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKTsK
LSAgICAgICAgICAgIG5ld0xvZ2ljYWxUb3AgKz0gY3Vyci0+YmFzZWxpbmVQb3NpdGlvbihiYXNl
bGluZVR5cGUpIC0gZm9udC5hc2NlbnQoYmFzZWxpbmVUeXBlKTsKKyAgICAgICAgICAgIGNvbnN0
IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IGN1cnItPnJlbmRlcmVyKCktPnN0eWxlKG1fZmly
c3RMaW5lKS0+Zm9udE1ldHJpY3MoKTsKKyAgICAgICAgICAgIG5ld0xvZ2ljYWxUb3AgKz0gY3Vy
ci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUpIC0gZm9udE1ldHJpY3MuYXNjZW50KGJh
c2VsaW5lVHlwZSk7CiAgICAgICAgICAgICBpZiAoY3Vyci0+aXNJbmxpbmVGbG93Qm94KCkpIHsK
ICAgICAgICAgICAgICAgICBSZW5kZXJCb3hNb2RlbE9iamVjdCogYm94T2JqZWN0ID0gdG9SZW5k
ZXJCb3hNb2RlbE9iamVjdChjdXJyLT5yZW5kZXJlcigpKTsKICAgICAgICAgICAgICAgICBuZXdM
b2dpY2FsVG9wIC09IGJveE9iamVjdC0+c3R5bGUobV9maXJzdExpbmUpLT5pc0hvcml6b250YWxX
cml0aW5nTW9kZSgpID8gYm94T2JqZWN0LT5ib3JkZXJUb3AoKSArIGJveE9iamVjdC0+cGFkZGlu
Z1RvcCgpIDogCkBAIC02NjUsOCArNjY4LDggQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpwbGFjZUJv
eGVzSW5CbG9ja0RpcgogICAgIH0KIAogICAgIGlmIChpc1Jvb3RJbmxpbmVCb3goKSkgewotICAg
ICAgICBjb25zdCBGb250JiBmb250ID0gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5m
b250KCk7Ci0gICAgICAgIHNldExvZ2ljYWxUb3AobG9naWNhbFRvcCgpICsgYmFzZWxpbmVQb3Np
dGlvbihiYXNlbGluZVR5cGUpIC0gZm9udC5hc2NlbnQoYmFzZWxpbmVUeXBlKSk7CisgICAgICAg
IGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IHJlbmRlcmVyKCktPnN0eWxlKG1fZmly
c3RMaW5lKS0+Zm9udE1ldHJpY3MoKTsKKyAgICAgICAgc2V0TG9naWNhbFRvcChsb2dpY2FsVG9w
KCkgKyBiYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSkgLSBmb250TWV0cmljcy5hc2NlbnQo
YmFzZWxpbmVUeXBlKSk7CiAgICAgICAgIAogICAgICAgICBpZiAoaGFzVGV4dENoaWxkcmVuKCkg
fHwgc3RyaWN0TW9kZSkgewogICAgICAgICAgICAgaWYgKCFzZXRMaW5lVG9wKSB7CkluZGV4OiBX
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3Jl
L3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDU3LDcgKzQ1
Nyw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnQoUGFpbnRJbmZvJiBwYWkKICAgICBJbnRQ
b2ludCBib3hPcmlnaW4gPSBsb2NhdGlvbkluY2x1ZGluZ0ZsaXBwaW5nKCk7CiAgICAgYm94T3Jp
Z2luLm1vdmUodHgsIHR5KTsgICAgCiAgICAgSW50UmVjdCBib3hSZWN0KGJveE9yaWdpbiwgSW50
U2l6ZShsb2dpY2FsV2lkdGgoKSwgbG9naWNhbEhlaWdodCgpKSk7Ci0gICAgSW50UG9pbnQgdGV4
dE9yaWdpbiA9IEludFBvaW50KGJveE9yaWdpbi54KCksIGJveE9yaWdpbi55KCkgKyBzdHlsZVRv
VXNlLT5mb250KCkuYXNjZW50KCkpOworICAgIEludFBvaW50IHRleHRPcmlnaW4gPSBJbnRQb2lu
dChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpICsgc3R5bGVUb1VzZS0+Zm9udE1ldHJpY3Mo
KS5hc2NlbnQoKSk7CiAKICAgICBpZiAoIWlzSG9yaXpvbnRhbCgpKSB7CiAgICAgICAgIGNvbnRl
eHQtPnNhdmUoKTsKQEAgLTU5Nyw5ICs1OTcsOSBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50
KFBhaW50SW5mbyYgcGFpCiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBlbXBoYXNpc01hcmsgPSBz
dHlsZVRvVXNlLT50ZXh0RW1waGFzaXNNYXJrU3RyaW5nKCk7CiAgICAgaWYgKCFlbXBoYXNpc01h
cmsuaXNFbXB0eSgpKSB7CiAgICAgICAgIGlmIChzdHlsZVRvVXNlLT50ZXh0RW1waGFzaXNQb3Np
dGlvbigpID09IFRleHRFbXBoYXNpc1Bvc2l0aW9uT3ZlcikKLSAgICAgICAgICAgIGVtcGhhc2lz
TWFya09mZnNldCA9IC1mb250LmFzY2VudCgpIC0gZm9udC5lbXBoYXNpc01hcmtEZXNjZW50KGVt
cGhhc2lzTWFyayk7CisgICAgICAgICAgICBlbXBoYXNpc01hcmtPZmZzZXQgPSAtZm9udC5mb250
TWV0cmljcygpLmFzY2VudCgpIC0gZm9udC5lbXBoYXNpc01hcmtEZXNjZW50KGVtcGhhc2lzTWFy
ayk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGVtcGhhc2lzTWFya09mZnNldCA9IGZvbnQu
ZGVzY2VudCgpICsgZm9udC5lbXBoYXNpc01hcmtBc2NlbnQoZW1waGFzaXNNYXJrKTsKKyAgICAg
ICAgICAgIGVtcGhhc2lzTWFya09mZnNldCA9IGZvbnQuZm9udE1ldHJpY3MoKS5kZXNjZW50KCkg
KyBmb250LmVtcGhhc2lzTWFya0FzY2VudChlbXBoYXNpc01hcmspOwogICAgIH0KIAogICAgIGlm
ICghcGFpbnRTZWxlY3RlZFRleHRPbmx5KSB7CkBAIC04MTEsNyArODExLDcgQEAgdm9pZCBJbmxp
bmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oR3JhcAogICAgIGJvb2wgbGluZXNBcmVPcGFxdWUg
PSAhaXNQcmludGluZyAmJiAoIShkZWNvICYgVU5ERVJMSU5FKSB8fCB1bmRlcmxpbmUuYWxwaGEo
KSA9PSAyNTUpICYmICghKGRlY28gJiBPVkVSTElORSkgfHwgb3ZlcmxpbmUuYWxwaGEoKSA9PSAy
NTUpICYmICghKGRlY28gJiBMSU5FX1RIUk9VR0gpIHx8IGxpbmV0aHJvdWdoLmFscGhhKCkgPT0g
MjU1KTsKIAogICAgIFJlbmRlclN0eWxlKiBzdHlsZVRvVXNlID0gcmVuZGVyZXIoKS0+c3R5bGUo
bV9maXJzdExpbmUpOwotICAgIGludCBiYXNlbGluZSA9IHN0eWxlVG9Vc2UtPmZvbnQoKS5hc2Nl
bnQoKTsKKyAgICBpbnQgYmFzZWxpbmUgPSBzdHlsZVRvVXNlLT5mb250TWV0cmljcygpLmFzY2Vu
dCgpOwogCiAgICAgYm9vbCBzZXRDbGlwID0gZmFsc2U7CiAgICAgaW50IGV4dHJhT2Zmc2V0ID0g
MDsKQEAgLTk0NCw3ICs5NDQsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdP
ckdyYW1tCiAgICAgLy8gU28sIHdlIGdlbmVyYWxseSBwbGFjZSB0aGUgdW5kZXJsaW5lIGF0IHRo
ZSBib3R0b20gb2YgdGhlIHRleHQsIGJ1dCBpbiBsYXJnZXIgZm9udHMgdGhhdCdzIG5vdCBzbyBn
b29kIHNvCiAgICAgLy8gd2UgcGluIHRvIHR3byBwaXhlbHMgdW5kZXIgdGhlIGJhc2VsaW5lLgog
ICAgIGludCBsaW5lVGhpY2tuZXNzID0gY01pc3NwZWxsaW5nTGluZVRoaWNrbmVzczsKLSAgICBp
bnQgYmFzZWxpbmUgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKS5hc2Nl
bnQoKTsKKyAgICBpbnQgYmFzZWxpbmUgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSkt
PmZvbnRNZXRyaWNzKCkuYXNjZW50KCk7CiAgICAgaW50IGRlc2NlbnQgPSBsb2dpY2FsSGVpZ2h0
KCkgLSBiYXNlbGluZTsKICAgICBpbnQgdW5kZXJsaW5lT2Zmc2V0OwogICAgIGlmIChkZXNjZW50
IDw9ICgyICsgbGluZVRoaWNrbmVzcykpIHsKQEAgLTExMDEsNyArMTEwMSw3IEBAIHZvaWQgSW5s
aW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvblVuZGUKICAgICAvLyBBbGwgb3RoZXIgbWFya2Vk
IHRleHQgdW5kZXJsaW5lcyBhcmUgMXB4IHRoaWNrLgogICAgIC8vIElmIHRoZXJlJ3Mgbm90IGVu
b3VnaCBzcGFjZSB0aGUgdW5kZXJsaW5lIHdpbGwgdG91Y2ggb3Igb3ZlcmxhcCBjaGFyYWN0ZXJz
LgogICAgIGludCBsaW5lVGhpY2tuZXNzID0gMTsKLSAgICBpbnQgYmFzZWxpbmUgPSByZW5kZXJl
cigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKS5hc2NlbnQoKTsKKyAgICBpbnQgYmFzZWxp
bmUgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnRNZXRyaWNzKCkuYXNjZW50
KCk7CiAgICAgaWYgKHVuZGVybGluZS50aGljayAmJiBsb2dpY2FsSGVpZ2h0KCkgLSBiYXNlbGlu
ZSA+PSAyKQogICAgICAgICBsaW5lVGhpY2tuZXNzID0gMjsKIApJbmRleDogV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5NjAsOCArNDk2MCw4IEBAIGludCBSZW5k
ZXJCbG9jazo6YmFzZWxpbmVQb3NpdGlvbihGb250QmEKICAgICAgICAgcmV0dXJuIFJlbmRlckJv
eDo6YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwgZGlyZWN0aW9uLCBs
aW5lUG9zaXRpb25Nb2RlKTsKICAgICB9CiAKLSAgICBjb25zdCBGb250JiBmID0gc3R5bGUoZmly
c3RMaW5lKS0+Zm9udCgpOwotICAgIHJldHVybiBmLmFzY2VudChiYXNlbGluZVR5cGUpICsgKGxp
bmVIZWlnaHQoZmlyc3RMaW5lLCBkaXJlY3Rpb24sIGxpbmVQb3NpdGlvbk1vZGUpIC0gZi5oZWln
aHQoKSkgLyAyOworICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IHN0eWxlKGZp
cnN0TGluZSktPmZvbnRNZXRyaWNzKCk7CisgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmFzY2VudChi
YXNlbGluZVR5cGUpICsgKGxpbmVIZWlnaHQoZmlyc3RMaW5lLCBkaXJlY3Rpb24sIGxpbmVQb3Np
dGlvbk1vZGUpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpIC8gMjsKIH0KIAogaW50IFJlbmRlckJs
b2NrOjpmaXJzdExpbmVCb3hCYXNlbGluZSgpIGNvbnN0CkBAIC00OTcxLDcgKzQ5NzEsNyBAQCBp
bnQgUmVuZGVyQmxvY2s6OmZpcnN0TGluZUJveEJhc2VsaW5lKCkgCiAKICAgICBpZiAoY2hpbGRy
ZW5JbmxpbmUoKSkgewogICAgICAgICBpZiAoZmlyc3RMaW5lQm94KCkpCi0gICAgICAgICAgICBy
ZXR1cm4gZmlyc3RMaW5lQm94KCktPmxvZ2ljYWxUb3AoKSArIHN0eWxlKHRydWUpLT5mb250KCku
YXNjZW50KGZpcnN0Um9vdEJveCgpLT5iYXNlbGluZVR5cGUoKSk7CisgICAgICAgICAgICByZXR1
cm4gZmlyc3RMaW5lQm94KCktPmxvZ2ljYWxUb3AoKSArIHN0eWxlKHRydWUpLT5mb250TWV0cmlj
cygpLmFzY2VudChmaXJzdFJvb3RCb3goKS0+YmFzZWxpbmVUeXBlKCkpOwogICAgICAgICBlbHNl
CiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgfQpAQCAtNDk5NywxMSArNDk5NywxMyBAQCBp
bnQgUmVuZGVyQmxvY2s6Omxhc3RMaW5lQm94QmFzZWxpbmUoKSBjCiAKICAgICBpZiAoY2hpbGRy
ZW5JbmxpbmUoKSkgewogICAgICAgICBpZiAoIWZpcnN0TGluZUJveCgpICYmIGhhc0xpbmVJZkVt
cHR5KCkpIHsKLSAgICAgICAgICAgIGNvbnN0IEZvbnQmIGYgPSBmaXJzdExpbmVTdHlsZSgpLT5m
b250KCk7Ci0gICAgICAgICAgICByZXR1cm4gZi5hc2NlbnQoKSArIChsaW5lSGVpZ2h0KHRydWUs
IGxpbmVEaXJlY3Rpb24sIFBvc2l0aW9uT2ZJbnRlcmlvckxpbmVCb3hlcykgLSBmLmhlaWdodCgp
KSAvIDIgKyAobGluZURpcmVjdGlvbiA9PSBIb3Jpem9udGFsTGluZSA/IGJvcmRlclRvcCgpICsg
cGFkZGluZ1RvcCgpIDogYm9yZGVyUmlnaHQoKSArIHBhZGRpbmdSaWdodCgpKTsKKyAgICAgICAg
ICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IGZpcnN0TGluZVN0eWxlKCktPmZv
bnRNZXRyaWNzKCk7CisgICAgICAgICAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KCkKKyAg
ICAgICAgICAgICAgICAgKyAobGluZUhlaWdodCh0cnVlLCBsaW5lRGlyZWN0aW9uLCBQb3NpdGlv
bk9mSW50ZXJpb3JMaW5lQm94ZXMpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpIC8gMgorICAgICAg
ICAgICAgICAgICArIChsaW5lRGlyZWN0aW9uID09IEhvcml6b250YWxMaW5lID8gYm9yZGVyVG9w
KCkgKyBwYWRkaW5nVG9wKCkgOiBib3JkZXJSaWdodCgpICsgcGFkZGluZ1JpZ2h0KCkpOwogICAg
ICAgICB9CiAgICAgICAgIGlmIChsYXN0TGluZUJveCgpKQotICAgICAgICAgICAgcmV0dXJuIGxh
c3RMaW5lQm94KCktPmxvZ2ljYWxUb3AoKSArIHN0eWxlKGxhc3RMaW5lQm94KCkgPT0gZmlyc3RM
aW5lQm94KCkpLT5mb250KCkuYXNjZW50KGxhc3RSb290Qm94KCktPmJhc2VsaW5lVHlwZSgpKTsK
KyAgICAgICAgICAgIHJldHVybiBsYXN0TGluZUJveCgpLT5sb2dpY2FsVG9wKCkgKyBzdHlsZShs
YXN0TGluZUJveCgpID09IGZpcnN0TGluZUJveCgpKS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQobGFz
dFJvb3RCb3goKS0+YmFzZWxpbmVUeXBlKCkpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfSBl
bHNlIHsKICAgICAgICAgYm9vbCBoYXZlTm9ybWFsRmxvd0NoaWxkID0gZmFsc2U7CkBAIC01MDE0
LDggKzUwMTYsMTAgQEAgaW50IFJlbmRlckJsb2NrOjpsYXN0TGluZUJveEJhc2VsaW5lKCkgYwog
ICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGlmICghaGF2ZU5vcm1hbEZsb3dDaGls
ZCAmJiBoYXNMaW5lSWZFbXB0eSgpKSB7Ci0gICAgICAgICAgICBjb25zdCBGb250JiBmID0gZmly
c3RMaW5lU3R5bGUoKS0+Zm9udCgpOwotICAgICAgICAgICAgcmV0dXJuIGYuYXNjZW50KCkgKyAo
bGluZUhlaWdodCh0cnVlLCBsaW5lRGlyZWN0aW9uLCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94
ZXMpIC0gZi5oZWlnaHQoKSkgLyAyICsgKGxpbmVEaXJlY3Rpb24gPT0gSG9yaXpvbnRhbExpbmUg
PyBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKSA6IGJvcmRlclJpZ2h0KCkgKyBwYWRkaW5nUmln
aHQoKSk7CisgICAgICAgICAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBmaXJz
dExpbmVTdHlsZSgpLT5mb250TWV0cmljcygpOworICAgICAgICAgICAgcmV0dXJuIGZvbnRNZXRy
aWNzLmFzY2VudCgpCisgICAgICAgICAgICAgICAgICsgKGxpbmVIZWlnaHQodHJ1ZSwgbGluZURp
cmVjdGlvbiwgUG9zaXRpb25PZkludGVyaW9yTGluZUJveGVzKSAtIGZvbnRNZXRyaWNzLmhlaWdo
dCgpKSAvIDIKKyAgICAgICAgICAgICAgICAgKyAobGluZURpcmVjdGlvbiA9PSBIb3Jpem9udGFs
TGluZSA/IGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgpIDogYm9yZGVyUmlnaHQoKSArIHBhZGRp
bmdSaWdodCgpKTsKICAgICAgICAgfQogICAgIH0KIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3gu
Y3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI5NjQsNyArMjk2NCw3IEBAIEludFJlY3QgUmVuZGVyQm94Ojps
b2NhbENhcmV0UmVjdChJbmxpbmUKICAgICAvLyA8cmRhcjovL3Byb2JsZW0vMzc3NzgwND4gRGVs
ZXRpbmcgYWxsIGNvbnRlbnQgaW4gYSBkb2N1bWVudCBjYW4gcmVzdWx0IGluIGdpYW50IHRhbGwt
YXMtd2luZG93IGluc2VydGlvbiBwb2ludAogICAgIC8vCiAgICAgLy8gRklYTUU6IGlnbm9yaW5n
IDpmaXJzdC1saW5lLCBtaXNzaW5nIGdvb2QgcmVhc29uIHRvIHRha2UgY2FyZSBvZgotICAgIGlu
dCBmb250SGVpZ2h0ID0gc3R5bGUoKS0+Zm9udCgpLmhlaWdodCgpOworICAgIGludCBmb250SGVp
Z2h0ID0gc3R5bGUoKS0+Zm9udE1ldHJpY3MoKS5oZWlnaHQoKTsKICAgICBpZiAoZm9udEhlaWdo
dCA+IHJlY3QuaGVpZ2h0KCkgfHwgKCFpc1JlcGxhY2VkKCkgJiYgIWlzVGFibGUoKSkpCiAgICAg
ICAgIHJlY3Quc2V0SGVpZ2h0KGZvbnRIZWlnaHQpOwogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTcw
LDggKzE3MCw5IEBAIHZvaWQgUmVuZGVyRW1iZWRkZWRPYmplY3Q6OnBhaW50UmVwbGFjZWQKICAg
ICBjb250ZXh0LT5zZXRGaWxsQ29sb3IobV9taXNzaW5nUGx1Z2luSW5kaWNhdG9ySXNQcmVzc2Vk
ID8gcmVwbGFjZW1lbnRUZXh0Um91bmRlZFJlY3RQcmVzc2VkQ29sb3IoKSA6IENvbG9yOjp3aGl0
ZSwgc3R5bGUoKS0+Y29sb3JTcGFjZSgpKTsKICAgICBjb250ZXh0LT5maWxsUGF0aChwYXRoKTsK
IAorICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IGZvbnQuZm9udE1ldHJpY3Mo
KTsKICAgICBmbG9hdCBsYWJlbFggPSByb3VuZGYocmVwbGFjZW1lbnRUZXh0UmVjdC5sb2NhdGlv
bigpLngoKSArIChyZXBsYWNlbWVudFRleHRSZWN0LnNpemUoKS53aWR0aCgpIC0gdGV4dFdpZHRo
KSAvIDIpOwotICAgIGZsb2F0IGxhYmVsWSA9IHJvdW5kZihyZXBsYWNlbWVudFRleHRSZWN0Lmxv
Y2F0aW9uKCkueSgpICsgKHJlcGxhY2VtZW50VGV4dFJlY3Quc2l6ZSgpLmhlaWdodCgpIC0gZm9u
dC5oZWlnaHQoKSkgLyAyICsgZm9udC5hc2NlbnQoKSk7CisgICAgZmxvYXQgbGFiZWxZID0gcm91
bmRmKHJlcGxhY2VtZW50VGV4dFJlY3QubG9jYXRpb24oKS55KCkgKyAocmVwbGFjZW1lbnRUZXh0
UmVjdC5zaXplKCkuaGVpZ2h0KCkgLSBmb250TWV0cmljcy5oZWlnaHQoKSkgLyAyICsgZm9udE1l
dHJpY3MuYXNjZW50KCkpOwogICAgIGNvbnRleHQtPnNldEFscGhhKG1fbWlzc2luZ1BsdWdpbklu
ZGljYXRvcklzUHJlc3NlZCA/IHJlcGxhY2VtZW50VGV4dFByZXNzZWRUZXh0T3BhY2l0eSA6IHJl
cGxhY2VtZW50VGV4dFRleHRPcGFjaXR5KTsKICAgICBjb250ZXh0LT5zZXRGaWxsQ29sb3IoQ29s
b3I6OmJsYWNrLCBzdHlsZSgpLT5jb2xvclNwYWNlKCkpOwogICAgIGNvbnRleHQtPmRyYXdCaWRp
VGV4dChmb250LCBydW4sIEZsb2F0UG9pbnQobGFiZWxYLCBsYWJlbFkpKTsKSW5kZXg6IFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJJbWFnZS5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW1hZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTEsNyArMTExLDcgQEAgYm9v
bCBSZW5kZXJJbWFnZTo6c2V0SW1hZ2VTaXplRm9yQWx0VGV4dAogICAgIC8vIHdlIGhhdmUgYW4g
YWx0IGFuZCB0aGUgdXNlciBtZWFudCBpdCAoaXRzIG5vdCBhIHRleHQgd2UgaW52ZW50ZWQpCiAg
ICAgaWYgKCFtX2FsdFRleHQuaXNFbXB0eSgpKSB7CiAgICAgICAgIGNvbnN0IEZvbnQmIGZvbnQg
PSBzdHlsZSgpLT5mb250KCk7Ci0gICAgICAgIEludFNpemUgdGV4dFNpemUobWluKGZvbnQud2lk
dGgoVGV4dFJ1bihtX2FsdFRleHQuY2hhcmFjdGVycygpLCBtX2FsdFRleHQubGVuZ3RoKCkpKSwg
bWF4QWx0VGV4dFdpZHRoKSwgbWluKGZvbnQuaGVpZ2h0KCksIG1heEFsdFRleHRIZWlnaHQpKTsK
KyAgICAgICAgSW50U2l6ZSB0ZXh0U2l6ZShtaW4oZm9udC53aWR0aChUZXh0UnVuKG1fYWx0VGV4
dC5jaGFyYWN0ZXJzKCksIG1fYWx0VGV4dC5sZW5ndGgoKSkpLCBtYXhBbHRUZXh0V2lkdGgpLCBt
aW4oZm9udC5mb250TWV0cmljcygpLmhlaWdodCgpLCBtYXhBbHRUZXh0SGVpZ2h0KSk7CiAgICAg
ICAgIGltYWdlU2l6ZSA9IGltYWdlU2l6ZS5leHBhbmRlZFRvKHRleHRTaXplKTsKICAgICB9CiAK
QEAgLTI4OCwxNyArMjg4LDE4IEBAIHZvaWQgUmVuZGVySW1hZ2U6OnBhaW50UmVwbGFjZWQoUGFp
bnRJbmYKICAgICAgICAgICAgICAgICBpbnQgYXggPSB0eCArIGxlZnRCb3JkZXIgKyBsZWZ0UGFk
OwogICAgICAgICAgICAgICAgIGludCBheSA9IHR5ICsgdG9wQm9yZGVyICsgdG9wUGFkOwogICAg
ICAgICAgICAgICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHlsZSgpLT5mb250KCk7Ci0gICAgICAg
ICAgICAgICAgaW50IGFzY2VudCA9IGZvbnQuYXNjZW50KCk7CisgICAgICAgICAgICAgICAgY29u
c3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZm9udC5mb250TWV0cmljcygpOworICAgICAg
ICAgICAgICAgIGludCBhc2NlbnQgPSBmb250TWV0cmljcy5hc2NlbnQoKTsKIAogICAgICAgICAg
ICAgICAgIC8vIE9ubHkgZHJhdyB0aGUgYWx0IHRleHQgaWYgaXQnbGwgZml0IHdpdGhpbiB0aGUg
Y29udGVudCBib3gsCiAgICAgICAgICAgICAgICAgLy8gYW5kIG9ubHkgaWYgaXQgZml0cyBhYm92
ZSB0aGUgZXJyb3IgaW1hZ2UuCiAgICAgICAgICAgICAgICAgVGV4dFJ1biB0ZXh0UnVuKHRleHQu
Y2hhcmFjdGVycygpLCB0ZXh0Lmxlbmd0aCgpKTsKICAgICAgICAgICAgICAgICBpbnQgdGV4dFdp
ZHRoID0gZm9udC53aWR0aCh0ZXh0UnVuKTsKICAgICAgICAgICAgICAgICBpZiAoZXJyb3JQaWN0
dXJlRHJhd24pIHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHVzYWJsZVdpZHRoID49IHRleHRX
aWR0aCAmJiBmb250LmhlaWdodCgpIDw9IGltYWdlWSkKLSAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnRleHQtPmRyYXdUZXh0KHN0eWxlKCktPmZvbnQoKSwgdGV4dFJ1biwgSW50UG9pbnQoYXgs
IGF5ICsgYXNjZW50KSk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh1c2FibGVXaWR0aCA+
PSB0ZXh0V2lkdGggJiYgY0hlaWdodCA+PSBmb250LmhlaWdodCgpKQotICAgICAgICAgICAgICAg
ICAgICBjb250ZXh0LT5kcmF3VGV4dChzdHlsZSgpLT5mb250KCksIHRleHRSdW4sIEludFBvaW50
KGF4LCBheSArIGFzY2VudCkpOworICAgICAgICAgICAgICAgICAgICBpZiAodXNhYmxlV2lkdGgg
Pj0gdGV4dFdpZHRoICYmIGZvbnRNZXRyaWNzLmhlaWdodCgpIDw9IGltYWdlWSkKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnRleHQtPmRyYXdUZXh0KGZvbnQsIHRleHRSdW4sIEludFBvaW50
KGF4LCBheSArIGFzY2VudCkpOworICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodXNhYmxlV2lk
dGggPj0gdGV4dFdpZHRoICYmIGNIZWlnaHQgPj0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpCisgICAg
ICAgICAgICAgICAgICAgIGNvbnRleHQtPmRyYXdUZXh0KGZvbnQsIHRleHRSdW4sIEludFBvaW50
KGF4LCBheSArIGFzY2VudCkpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSBlbHNl
IGlmIChtX2ltYWdlUmVzb3VyY2UtPmhhc0ltYWdlKCkgJiYgY1dpZHRoID4gMCAmJiBjSGVpZ2h0
ID4gMCkgewpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCShyZXZpc2lvbiA3NDQ2
NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTkwNCw4ICs5MDQsOCBAQCBpbnQgUmVuZGVySW5saW5lOjpsaW5lSGVpZ2h0KGJvb2wgZmly
c3RMCiAKIGludCBSZW5kZXJJbmxpbmU6OmJhc2VsaW5lUG9zaXRpb24oRm9udEJhc2VsaW5lIGJh
c2VsaW5lVHlwZSwgYm9vbCBmaXJzdExpbmUsIExpbmVEaXJlY3Rpb25Nb2RlIGRpcmVjdGlvbiwg
TGluZVBvc2l0aW9uTW9kZSBsaW5lUG9zaXRpb25Nb2RlKSBjb25zdAogewotICAgIGNvbnN0IEZv
bnQmIGYgPSBzdHlsZShmaXJzdExpbmUpLT5mb250KCk7Ci0gICAgcmV0dXJuIGYuYXNjZW50KGJh
c2VsaW5lVHlwZSkgKyAobGluZUhlaWdodChmaXJzdExpbmUsIGRpcmVjdGlvbiwgbGluZVBvc2l0
aW9uTW9kZSkgLSBmLmhlaWdodCgpKSAvIDI7CisgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRN
ZXRyaWNzID0gc3R5bGUoZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKTsKKyAgICByZXR1cm4gZm9u
dE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlwZSkgKyAobGluZUhlaWdodChmaXJzdExpbmUsIGRp
cmVjdGlvbiwgbGluZVBvc2l0aW9uTW9kZSkgLSBmb250TWV0cmljcy5oZWlnaHQoKSkgLyAyOwog
fQogCiBJbnRTaXplIFJlbmRlcklubGluZTo6cmVsYXRpdmVQb3NpdGlvbmVkSW5saW5lT2Zmc2V0
KGNvbnN0IFJlbmRlckJveCogY2hpbGQpIGNvbnN0CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMaXN0Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
aXN0Qm94LmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
aXN0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzA2LDcgKzMwNiw3IEBAIHZvaWQgUmVuZGVy
TGlzdEJveDo6cGFpbnRJdGVtRm9yZWdyb3VuZCgKIAogICAgIC8vIERldGVybWluZSB3aGVyZSB0
aGUgaXRlbSB0ZXh0IHNob3VsZCBiZSBwbGFjZWQKICAgICBJbnRSZWN0IHIgPSBpdGVtQm91bmRp
bmdCb3hSZWN0KHR4LCB0eSwgbGlzdEluZGV4KTsKLSAgICByLm1vdmUob3B0aW9uc1NwYWNpbmdI
b3Jpem9udGFsLCBzdHlsZSgpLT5mb250KCkuYXNjZW50KCkpOworICAgIHIubW92ZShvcHRpb25z
U3BhY2luZ0hvcml6b250YWwsIHN0eWxlKCktPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwogCiAg
ICAgUmVuZGVyU3R5bGUqIGl0ZW1TdHlsZSA9IGVsZW1lbnQtPnJlbmRlclN0eWxlKCk7CiAgICAg
aWYgKCFpdGVtU3R5bGUpCkBAIC01NTEsNyArNTUxLDcgQEAgdm9pZCBSZW5kZXJMaXN0Qm94Ojp2
YWx1ZUNoYW5nZWQoU2Nyb2xsYgogCiBpbnQgUmVuZGVyTGlzdEJveDo6aXRlbUhlaWdodCgpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIHN0eWxlKCktPmZvbnQoKS5oZWlnaHQoKSArIHJvd1NwYWNpbmc7
CisgICAgcmV0dXJuIHN0eWxlKCktPmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkgKyByb3dTcGFjaW5n
OwogfQogCiBpbnQgUmVuZGVyTGlzdEJveDo6dmVydGljYWxTY3JvbGxiYXJXaWR0aCgpIGNvbnN0
CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcAkocmV2aXNpb24gNzQ0
NjcpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTI2NCw3ICsxMjY0LDcgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjpwYWludChQ
YWludEluZm8mIAogICAgICAgICBjb250ZXh0LT50cmFuc2xhdGUoLW1hcmtlci54KCksIC1tYXJr
ZXIuYm90dG9tKCkpOwogICAgIH0KIAotICAgIEludFBvaW50IHRleHRPcmlnaW4gPSBJbnRQb2lu
dChtYXJrZXIueCgpLCBtYXJrZXIueSgpICsgc3R5bGUoKS0+Zm9udCgpLmFzY2VudCgpKTsKKyAg
ICBJbnRQb2ludCB0ZXh0T3JpZ2luID0gSW50UG9pbnQobWFya2VyLngoKSwgbWFya2VyLnkoKSAr
IHN0eWxlKCktPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwogCiAgICAgaWYgKHR5cGUgPT0gQXN0
ZXJpc2tzIHx8IHR5cGUgPT0gRm9vdG5vdGVzKQogICAgICAgICBjb250ZXh0LT5kcmF3VGV4dChz
dHlsZSgpLT5mb250KCksIHRleHRSdW4sIHRleHRPcmlnaW4pOwpAQCAtMTMxMCw3ICsxMzEwLDcg
QEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjpsYXlvdXQoKQogICAgICAgICBzZXRIZWlnaHQobV9p
bWFnZS0+aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCktPmVmZmVjdGl2ZVpvb20oKSkuaGVpZ2h0KCkp
OwogICAgIH0gZWxzZSB7CiAgICAgICAgIHNldExvZ2ljYWxXaWR0aChtaW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGgoKSk7Ci0gICAgICAgIHNldExvZ2ljYWxIZWlnaHQoc3R5bGUoKS0+Zm9udCgpLmhl
aWdodCgpKTsKKyAgICAgICAgc2V0TG9naWNhbEhlaWdodChzdHlsZSgpLT5mb250TWV0cmljcygp
LmhlaWdodCgpKTsKICAgICB9CiAKICAgICBzZXRNYXJnaW5TdGFydCgwKTsKQEAgLTEzNDUsMTEg
KzEzNDUsMTIgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjpjb21wdXRlUHJlZmVycmVkTAogICAg
IG1fdGV4dCA9ICIiOwogCiAgICAgY29uc3QgRm9udCYgZm9udCA9IHN0eWxlKCktPmZvbnQoKTsK
KyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBmb250LmZvbnRNZXRyaWNzKCk7
CiAKICAgICBpZiAoaXNJbWFnZSgpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGlzIGEgc29t
ZXdoYXQgYXJiaXRyYXJ5IHdpZHRoLiAgR2VuZXJhdGVkIGltYWdlcyBmb3IgbWFya2VycyByZWFs
bHkgd29uJ3QgYmVjb21lIHBhcnRpY3VsYXJseSB1c2VmdWwKICAgICAgICAgLy8gdW50aWwgd2Ug
c3VwcG9ydCB0aGUgQ1NTMyBtYXJrZXIgcHNldWRvY2xhc3MgdG8gYWxsb3cgY29udHJvbCBvdmVy
IHRoZSB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSBtYXJrZXIgYm94LgotICAgICAgICBpbnQgYnVs
bGV0V2lkdGggPSBmb250LmFzY2VudCgpIC8gMjsKKyAgICAgICAgaW50IGJ1bGxldFdpZHRoID0g
Zm9udE1ldHJpY3MuYXNjZW50KCkgLyAyOwogICAgICAgICBtX2ltYWdlLT5zZXRJbWFnZUNvbnRh
aW5lclNpemUoSW50U2l6ZShidWxsZXRXaWR0aCwgYnVsbGV0V2lkdGgpKTsKICAgICAgICAgSW50
U2l6ZSBpbWFnZVNpemUgPSBtX2ltYWdlLT5pbWFnZVNpemUodGhpcywgc3R5bGUoKS0+ZWZmZWN0
aXZlWm9vbSgpKTsKICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtX21heFBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkg
PyBpbWFnZVNpemUud2lkdGgoKSA6IGltYWdlU2l6ZS5oZWlnaHQoKTsKQEAgLTEzNzIsNyArMTM3
Myw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6Y29tcHV0ZVByZWZlcnJlZEwKICAgICAgICAg
Y2FzZSBEaXNjOgogICAgICAgICBjYXNlIFNxdWFyZToKICAgICAgICAgICAgIG1fdGV4dCA9IGxp
c3RNYXJrZXJUZXh0KHR5cGUsIDApOyAvLyB2YWx1ZSBpcyBpZ25vcmVkIGZvciB0aGVzZSB0eXBl
cwotICAgICAgICAgICAgbG9naWNhbFdpZHRoID0gKGZvbnQuYXNjZW50KCkgKiAyIC8gMyArIDEp
IC8gMiArIDI7CisgICAgICAgICAgICBsb2dpY2FsV2lkdGggPSAoZm9udE1ldHJpY3MuYXNjZW50
KCkgKiAyIC8gMyArIDEpIC8gMiArIDI7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2Fz
ZSBBZmFyOgogICAgICAgICBjYXNlIEFtaGFyaWM6CkBAIC0xNDcxLDcgKzE0NzIsNyBAQCB2b2lk
IFJlbmRlckxpc3RNYXJrZXI6OmNvbXB1dGVQcmVmZXJyZWRMCiAKIHZvaWQgUmVuZGVyTGlzdE1h
cmtlcjo6dXBkYXRlTWFyZ2lucygpCiB7Ci0gICAgY29uc3QgRm9udCYgZm9udCA9IHN0eWxlKCkt
PmZvbnQoKTsKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBzdHlsZSgpLT5m
b250TWV0cmljcygpOwogCiAgICAgaW50IG1hcmdpblN0YXJ0ID0gMDsKICAgICBpbnQgbWFyZ2lu
RW5kID0gMDsKQEAgLTE0ODQsNyArMTQ4NSw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6dXBk
YXRlTWFyZ2lucygpCiAgICAgICAgICAgICBjYXNlIENpcmNsZToKICAgICAgICAgICAgIGNhc2Ug
U3F1YXJlOgogICAgICAgICAgICAgICAgIG1hcmdpblN0YXJ0ID0gLTE7Ci0gICAgICAgICAgICAg
ICAgbWFyZ2luRW5kID0gZm9udC5hc2NlbnQoKSAtIG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCgp
ICsgMTsKKyAgICAgICAgICAgICAgICBtYXJnaW5FbmQgPSBmb250TWV0cmljcy5hc2NlbnQoKSAt
IG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCgpICsgMTsKICAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0xNDk0LDcg
KzE0OTUsNyBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZU1hcmdpbnMoKQogICAgICAg
ICAgICAgaWYgKGlzSW1hZ2UoKSkKICAgICAgICAgICAgICAgICBtYXJnaW5TdGFydCA9IC1taW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGgoKSAtIGNNYXJrZXJQYWRkaW5nOwogICAgICAgICAgICAgZWxz
ZSB7Ci0gICAgICAgICAgICAgICAgaW50IG9mZnNldCA9IGZvbnQuYXNjZW50KCkgKiAyIC8gMzsK
KyAgICAgICAgICAgICAgICBpbnQgb2Zmc2V0ID0gZm9udE1ldHJpY3MuYXNjZW50KCkgKiAyIC8g
MzsKICAgICAgICAgICAgICAgICBzd2l0Y2ggKHN0eWxlKCktPmxpc3RTdHlsZVR5cGUoKSkgewog
ICAgICAgICAgICAgICAgICAgICBjYXNlIERpc2M6CiAgICAgICAgICAgICAgICAgICAgIGNhc2Ug
Q2lyY2xlOgpAQCAtMTUxMiw3ICsxNTEzLDcgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjp1cGRh
dGVNYXJnaW5zKCkKICAgICAgICAgICAgIGlmIChpc0ltYWdlKCkpCiAgICAgICAgICAgICAgICAg
bWFyZ2luRW5kID0gY01hcmtlclBhZGRpbmc7CiAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAg
ICAgICAgICBpbnQgb2Zmc2V0ID0gZm9udC5hc2NlbnQoKSAqIDIgLyAzOworICAgICAgICAgICAg
ICAgIGludCBvZmZzZXQgPSBmb250TWV0cmljcy5hc2NlbnQoKSAqIDIgLyAzOwogICAgICAgICAg
ICAgICAgIHN3aXRjaCAoc3R5bGUoKS0+bGlzdFN0eWxlVHlwZSgpKSB7CiAgICAgICAgICAgICAg
ICAgICAgIGNhc2UgRGlzYzoKICAgICAgICAgICAgICAgICAgICAgY2FzZSBDaXJjbGU6CkBAIC0x
NTgzLDE1ICsxNTg0LDE1IEBAIEludFJlY3QgUmVuZGVyTGlzdE1hcmtlcjo6Z2V0UmVsYXRpdmVN
YXIKICAgICAgICAgY2FzZSBBc3Rlcmlza3M6CiAgICAgICAgIGNhc2UgRm9vdG5vdGVzOiB7CiAg
ICAgICAgICAgICBjb25zdCBGb250JiBmb250ID0gc3R5bGUoKS0+Zm9udCgpOwotICAgICAgICAg
ICAgcmVsYXRpdmVSZWN0ID0gSW50UmVjdCgwLCAwLCBmb250LndpZHRoKG1fdGV4dCksIGZvbnQu
aGVpZ2h0KCkpOworICAgICAgICAgICAgcmVsYXRpdmVSZWN0ID0gSW50UmVjdCgwLCAwLCBmb250
LndpZHRoKG1fdGV4dCksIGZvbnQuZm9udE1ldHJpY3MoKS5oZWlnaHQoKSk7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIERpc2M6CiAgICAgICAgIGNhc2UgQ2ly
Y2xlOgogICAgICAgICBjYXNlIFNxdWFyZTogewogICAgICAgICAgICAgLy8gRklYTUU6IEFyZSB0
aGVzZSBwYXJ0aWN1bGFyIHJvdW5kaW5nIHJ1bGVzIG5lY2Vzc2FyeT8KLSAgICAgICAgICAgIGNv
bnN0IEZvbnQmIGZvbnQgPSBzdHlsZSgpLT5mb250KCk7Ci0gICAgICAgICAgICBpbnQgYXNjZW50
ID0gZm9udC5hc2NlbnQoKTsKKyAgICAgICAgICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0
cmljcyA9IHN0eWxlKCktPmZvbnRNZXRyaWNzKCk7CisgICAgICAgICAgICBpbnQgYXNjZW50ID0g
Zm9udE1ldHJpY3MuYXNjZW50KCk7CiAgICAgICAgICAgICBpbnQgYnVsbGV0V2lkdGggPSAoYXNj
ZW50ICogMiAvIDMgKyAxKSAvIDI7CiAgICAgICAgICAgICByZWxhdGl2ZVJlY3QgPSBJbnRSZWN0
KDEsIDMgKiAoYXNjZW50IC0gYXNjZW50ICogMiAvIDMpIC8gMiwgYnVsbGV0V2lkdGgsIGJ1bGxl
dFdpZHRoKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTY3OSw3ICsxNjgwLDcgQEAgSW50UmVj
dCBSZW5kZXJMaXN0TWFya2VyOjpnZXRSZWxhdGl2ZU1hcgogICAgICAgICAgICAgaW50IGl0ZW1X
aWR0aCA9IGZvbnQud2lkdGgobV90ZXh0KTsKICAgICAgICAgICAgIFVDaGFyIHN1ZmZpeFNwYWNl
WzJdID0geyBsaXN0TWFya2VyU3VmZml4KHR5cGUsIG1fbGlzdEl0ZW0tPnZhbHVlKCkpLCAnICcg
fTsKICAgICAgICAgICAgIGludCBzdWZmaXhTcGFjZVdpZHRoID0gZm9udC53aWR0aChUZXh0UnVu
KHN1ZmZpeFNwYWNlLCAyKSk7Ci0gICAgICAgICAgICByZWxhdGl2ZVJlY3QgPSBJbnRSZWN0KDAs
IDAsIGl0ZW1XaWR0aCArIHN1ZmZpeFNwYWNlV2lkdGgsIGZvbnQuaGVpZ2h0KCkpOworICAgICAg
ICAgICAgcmVsYXRpdmVSZWN0ID0gSW50UmVjdCgwLCAwLCBpdGVtV2lkdGggKyBzdWZmaXhTcGFj
ZVdpZHRoLCBmb250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkpOwogICAgIH0KIAogICAgIGlmICgh
c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkgewpJbmRleDogV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHRDb250cm9sLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYwNyw3ICs2
MDcsNyBAQCB2b2lkIFJlbmRlclRleHRDb250cm9sOjpwYWludFBsYWNlaG9sZGVyCiAgICAgUmVu
ZGVyQm94KiB0ZXh0UmVuZGVyZXIgPSBpbm5lclRleHRFbGVtZW50KCkgPyBpbm5lclRleHRFbGVt
ZW50KCktPnJlbmRlckJveCgpIDogMDsKICAgICBpZiAodGV4dFJlbmRlcmVyKSB7CiAgICAgICAg
IEludFBvaW50IHRleHRQb2ludDsKLSAgICAgICAgdGV4dFBvaW50LnNldFkodHkgKyB0ZXh0Qmxv
Y2tJbnNldFRvcCgpICsgcGxhY2Vob2xkZXJTdHlsZS0+Zm9udCgpLmFzY2VudCgpKTsKKyAgICAg
ICAgdGV4dFBvaW50LnNldFkodHkgKyB0ZXh0QmxvY2tJbnNldFRvcCgpICsgcGxhY2Vob2xkZXJT
dHlsZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAgICAgIGlmIChwbGFjZWhvbGRlclN0
eWxlLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCiAgICAgICAgICAgICB0ZXh0UG9pbnQuc2V0
WCh0eCArIHRleHRCbG9ja0luc2V0TGVmdCgpKTsKICAgICAgICAgZWxzZQpJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCShyZXZp
c2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xl
TGluZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcyMyw3ICs3MjMsNyBAQCBQYXNzUmVmUHRyPFJl
bmRlclN0eWxlPiBSZW5kZXJUZXh0Q29udHJvCiAgICAgdGV4dEJsb2NrU3R5bGUtPnNldE92ZXJm
bG93WShPSElEREVOKTsKIAogICAgIC8vIERvIG5vdCBhbGxvdyBsaW5lLWhlaWdodCB0byBiZSBz
bWFsbGVyIHRoYW4gb3VyIGRlZmF1bHQuCi0gICAgaWYgKHRleHRCbG9ja1N0eWxlLT5mb250KCku
bGluZVNwYWNpbmcoKSA+IGxpbmVIZWlnaHQodHJ1ZSwgSG9yaXpvbnRhbExpbmUsIFBvc2l0aW9u
T2ZJbnRlcmlvckxpbmVCb3hlcykpCisgICAgaWYgKHRleHRCbG9ja1N0eWxlLT5mb250TWV0cmlj
cygpLmxpbmVTcGFjaW5nKCkgPiBsaW5lSGVpZ2h0KHRydWUsIEhvcml6b250YWxMaW5lLCBQb3Np
dGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpKQogICAgICAgICB0ZXh0QmxvY2tTdHlsZS0+c2V0TGlu
ZUhlaWdodChMZW5ndGgoLTEwMC4wZiwgUGVyY2VudCkpOwogCiAgICAgV2ViQ29yZTo6RURpc3Bs
YXkgZGlzcGxheSA9IChtX2lubmVyQmxvY2sgfHwgaW5wdXRFbGVtZW50KCktPmhhc1NwaW5CdXR0
b24oKSA/IElOTElORV9CTE9DSyA6IEJMT0NLKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00NjcsNiArNDY3LDcgQEAgcHVibGlj
OgogICAgIEVUYWJsZUxheW91dCB0YWJsZUxheW91dCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19j
YXN0PEVUYWJsZUxheW91dD4obm9uaW5oZXJpdGVkX2ZsYWdzLl90YWJsZV9sYXlvdXQpOyB9CiAK
ICAgICBjb25zdCBGb250JiBmb250KCkgY29uc3QgeyByZXR1cm4gaW5oZXJpdGVkLT5mb250OyB9
CisgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzKCkgY29uc3QgeyByZXR1cm4gaW5o
ZXJpdGVkLT5mb250LmZvbnRNZXRyaWNzKCk7IH0KICAgICBjb25zdCBGb250RGVzY3JpcHRpb24m
IGZvbnREZXNjcmlwdGlvbigpIGNvbnN0IHsgcmV0dXJuIGluaGVyaXRlZC0+Zm9udC5mb250RGVz
Y3JpcHRpb24oKTsgfQogICAgIGludCBmb250U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGluaGVyaXRl
ZC0+Zm9udC5waXhlbFNpemUoKTsgfQogCkBAIC00OTEsNyArNDkyLDcgQEAgcHVibGljOgogCiAg
ICAgICAgIC8vIE5lZ2F0aXZlIHZhbHVlIG1lYW5zIHRoZSBsaW5lIGhlaWdodCBpcyBub3Qgc2V0
LiAgVXNlIHRoZSBmb250J3MgYnVpbHQtaW4gc3BhY2luZy4KICAgICAgICAgaWYgKGxoLmlzTmVn
YXRpdmUoKSkKLSAgICAgICAgICAgIHJldHVybiBmb250KCkubGluZVNwYWNpbmcoKTsKKyAgICAg
ICAgICAgIHJldHVybiBmb250TWV0cmljcygpLmxpbmVTcGFjaW5nKCk7CiAKICAgICAgICAgaWYg
KGxoLmlzUGVyY2VudCgpKQogICAgICAgICAgICAgcmV0dXJuIGxoLmNhbGNNaW5WYWx1ZShmb250
U2l6ZSgpKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5l
VGV4dC5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR0lubGluZVRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDYsNyArMTQ2LDcgQEAgVmlz
aWJsZVBvc2l0aW9uIFJlbmRlclNWR0lubGluZVRleHQ6OnBvcwogCiAgICAgUmVuZGVyU3R5bGUq
IHN0eWxlID0gdGhpcy0+c3R5bGUoKTsKICAgICBBU1NFUlQoc3R5bGUpOwotICAgIGludCBiYXNl
bGluZSA9IHN0eWxlLT5mb250KCkuYXNjZW50KCk7CisgICAgaW50IGJhc2VsaW5lID0gc3R5bGUt
PmZvbnRNZXRyaWNzKCkuYXNjZW50KCk7CiAKICAgICBSZW5kZXJCbG9jayogY29udGFpbmluZ0Js
b2NrID0gdGhpcy0+Y29udGFpbmluZ0Jsb2NrKCk7CiAgICAgQVNTRVJUKGNvbnRhaW5pbmdCbG9j
ayk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwCShy
ZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODQsNyArODQsNyBAQCBGbG9hdFJlY3QgU1ZHSW5saW5l
VGV4dEJveDo6c2VsZWN0aW9uUmVjCiAgICAgQVNTRVJUKHN0YXJ0UG9zaXRpb24gPCBlbmRQb3Np
dGlvbik7CiAKICAgICBjb25zdCBGb250JiBmb250ID0gc3R5bGUtPmZvbnQoKTsKLSAgICBGbG9h
dFBvaW50IHRleHRPcmlnaW4oZnJhZ21lbnQueCwgZnJhZ21lbnQueSAtIGZvbnQuYXNjZW50KCkp
OworICAgIEZsb2F0UG9pbnQgdGV4dE9yaWdpbihmcmFnbWVudC54LCBmcmFnbWVudC55IC0gZm9u
dC5mb250TWV0cmljcygpLmFzY2VudCgpKTsKICAgICByZXR1cm4gZm9udC5zZWxlY3Rpb25SZWN0
Rm9yVGV4dChjb25zdHJ1Y3RUZXh0UnVuKHN0eWxlLCBmcmFnbWVudCksIHRleHRPcmlnaW4sIGZy
YWdtZW50LmhlaWdodCwgc3RhcnRQb3NpdGlvbiwgZW5kUG9zaXRpb24pOwogfQogCkBAIC00MDks
MTYgKzQwOSwxNiBAQCBib29sIFNWR0lubGluZVRleHRCb3g6Om1hcFN0YXJ0RW5kUG9zaXRpCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBpbmxpbmUgZmxvYXQgcG9zaXRpb25PZmZzZXRG
b3JEZWNvcmF0aW9uKEVUZXh0RGVjb3JhdGlvbiBkZWNvcmF0aW9uLCBjb25zdCBGb250JiBmb250
LCBmbG9hdCB0aGlja25lc3MpCitzdGF0aWMgaW5saW5lIGZsb2F0IHBvc2l0aW9uT2Zmc2V0Rm9y
RGVjb3JhdGlvbihFVGV4dERlY29yYXRpb24gZGVjb3JhdGlvbiwgY29uc3QgRm9udE1ldHJpY3Mm
IGZvbnRNZXRyaWNzLCBmbG9hdCB0aGlja25lc3MpCiB7CiAgICAgLy8gRklYTUU6IEZvciBTVkcg
Rm9udHMgd2UgbmVlZCB0byB1c2UgdGhlIGF0dHJpYnV0ZXMgZGVmaW5lZCBpbiB0aGUgPGZvbnQt
ZmFjZT4gaWYgc3BlY2lmaWVkLgogICAgIC8vIENvbXBhdGlibGUgd2l0aCBCYXRpay9PcGVyYS4K
ICAgICBpZiAoZGVjb3JhdGlvbiA9PSBVTkRFUkxJTkUpCi0gICAgICAgIHJldHVybiBmb250LmFz
Y2VudCgpICsgdGhpY2tuZXNzICogMS41ZjsKKyAgICAgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmFz
Y2VudCgpICsgdGhpY2tuZXNzICogMS41ZjsKICAgICBpZiAoZGVjb3JhdGlvbiA9PSBPVkVSTElO
RSkKICAgICAgICAgcmV0dXJuIHRoaWNrbmVzczsKICAgICBpZiAoZGVjb3JhdGlvbiA9PSBMSU5F
X1RIUk9VR0gpCi0gICAgICAgIHJldHVybiBmb250LmFzY2VudCgpICogNS4wZiAvIDguMGY7Cisg
ICAgICAgIHJldHVybiBmb250TWV0cmljcy5hc2NlbnQoKSAqIDUuMGYgLyA4LjBmOwogCiAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIDAuMGY7CkBAIC00ODcsNiArNDg3LDcg
QEAgdm9pZCBTVkdJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb25XaQogICAgIEFTU0VSVChk
ZWNvcmF0aW9uU3R5bGUpOwogCiAgICAgY29uc3QgRm9udCYgZm9udCA9IGRlY29yYXRpb25TdHls
ZS0+Zm9udCgpOworICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IGZvbnQuZm9u
dE1ldHJpY3MoKTsKIAogICAgIC8vIFRoZSBpbml0aWFsIHkgdmFsdWUgcmVmZXJzIHRvIG92ZXJs
aW5lIHBvc2l0aW9uLgogICAgIGZsb2F0IHRoaWNrbmVzcyA9IHRoaWNrbmVzc0ZvckRlY29yYXRp
b24oZGVjb3JhdGlvbiwgZm9udCk7CkBAIC00OTQsNyArNDk1LDcgQEAgdm9pZCBTVkdJbmxpbmVU
ZXh0Qm94OjpwYWludERlY29yYXRpb25XaQogICAgIGlmIChmcmFnbWVudC53aWR0aCA8PSAwICYm
IHRoaWNrbmVzcyA8PSAwKQogICAgICAgICByZXR1cm47CiAKLSAgICBmbG9hdCB5ID0gZnJhZ21l
bnQueSAtIGZvbnQuYXNjZW50KCkgKyBwb3NpdGlvbk9mZnNldEZvckRlY29yYXRpb24oZGVjb3Jh
dGlvbiwgZm9udCwgdGhpY2tuZXNzKTsKKyAgICBmbG9hdCB5ID0gZnJhZ21lbnQueSAtIGZvbnRN
ZXRyaWNzLmFzY2VudCgpICsgcG9zaXRpb25PZmZzZXRGb3JEZWNvcmF0aW9uKGRlY29yYXRpb24s
IGZvbnRNZXRyaWNzLCB0aGlja25lc3MpOwogCiAgICAgUGF0aCBwYXRoOwogICAgIHBhdGguYWRk
UmVjdChGbG9hdFJlY3QoZnJhZ21lbnQueCwgeSwgZnJhZ21lbnQud2lkdGgsIHRoaWNrbmVzcykp
OwpAQCAtNTEzLDcgKzUxNCw3IEBAIHZvaWQgU1ZHSW5saW5lVGV4dEJveDo6cGFpbnRUZXh0V2l0
aFNoYWQKICAgICBjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3cgPSBzdHlsZS0+dGV4dFNoYWRvdygp
OwogCiAgICAgRmxvYXRQb2ludCB0ZXh0T3JpZ2luKGZyYWdtZW50LngsIGZyYWdtZW50LnkpOwot
ICAgIEZsb2F0UmVjdCBzaGFkb3dSZWN0KEZsb2F0UG9pbnQodGV4dE9yaWdpbi54KCksIHRleHRP
cmlnaW4ueSgpIC0gZm9udC5hc2NlbnQoKSksIEZsb2F0U2l6ZShmcmFnbWVudC53aWR0aCwgZnJh
Z21lbnQuaGVpZ2h0KSk7CisgICAgRmxvYXRSZWN0IHNoYWRvd1JlY3QoRmxvYXRQb2ludCh0ZXh0
T3JpZ2luLngoKSwgdGV4dE9yaWdpbi55KCkgLSBmb250LmZvbnRNZXRyaWNzKCkuYXNjZW50KCkp
LCBGbG9hdFNpemUoZnJhZ21lbnQud2lkdGgsIGZyYWdtZW50LmhlaWdodCkpOwogCiAgICAgZG8g
ewogICAgICAgICBpZiAoIXByZXBhcmVHcmFwaGljc0NvbnRleHRGb3JUZXh0UGFpbnRpbmcoY29u
dGV4dCwgdGV4dFJ1biwgc3R5bGUpKQpAQCAtNTg3LDcgKzU4OCw3IEBAIEludFJlY3QgU1ZHSW5s
aW5lVGV4dEJveDo6Y2FsY3VsYXRlQm91bmQKICAgICBBU1NFUlQoc3R5bGUpOwogCiAgICAgaW50
IGJhc2VsaW5lID0gYmFzZWxpbmVQb3NpdGlvbihBbHBoYWJldGljQmFzZWxpbmUpOwotICAgIGlu
dCBoZWlnaHREaWZmZXJlbmNlID0gYmFzZWxpbmUgLSBzdHlsZS0+Zm9udCgpLmFzY2VudCgpOwor
ICAgIGludCBoZWlnaHREaWZmZXJlbmNlID0gYmFzZWxpbmUgLSBzdHlsZS0+Zm9udE1ldHJpY3Mo
KS5hc2NlbnQoKTsKIAogICAgIHVuc2lnbmVkIHRleHRGcmFnbWVudHNTaXplID0gbV90ZXh0RnJh
Z21lbnRzLnNpemUoKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdGV4dEZyYWdtZW50
c1NpemU7ICsraSkgewpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRF
bmdpbmVCYXNlbGluZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ5LDkgKzQ5LDkgQEAgZmxvYXQgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5l
OjpjYWxjdQogICAgIGNhc2UgQlNfQkFTRUxJTkU6CiAgICAgICAgIHJldHVybiAwOwogICAgIGNh
c2UgQlNfU1VCOgotICAgICAgICByZXR1cm4gLW1fZm9udC5oZWlnaHQoKSAvIDI7CisgICAgICAg
IHJldHVybiAtbV9mb250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkgLyAyOwogICAgIGNhc2UgQlNf
U1VQRVI6Ci0gICAgICAgIHJldHVybiBtX2ZvbnQuaGVpZ2h0KCkgLyAyOworICAgICAgICByZXR1
cm4gbV9mb250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkgLyAyOwogICAgIGRlZmF1bHQ6CiAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gMDsKQEAgLTEyMiwyNyAr
MTIyLDI5IEBAIGZsb2F0IFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2FsY3UKICAgICAg
ICAgQVNTRVJUKGJhc2VsaW5lICE9IEFCX0FVVE8pOwogICAgIH0KIAorICAgIGNvbnN0IEZvbnRN
ZXRyaWNzJiBmb250TWV0cmljcyA9IG1fZm9udC5mb250TWV0cmljcygpOworCiAgICAgLy8gTm90
ZTogaHR0cDovL3dpa2kuYXBhY2hlLm9yZy94bWxncmFwaGljcy1mb3AvTGluZUxheW91dC9BbGln
bm1lbnRIYW5kbGluZwogICAgIHN3aXRjaCAoYmFzZWxpbmUpIHsKICAgICBjYXNlIEFCX0JBU0VM
SU5FOgogICAgICAgICByZXR1cm4gZG9taW5hbnRCYXNlbGluZVRvQWxpZ25tZW50QmFzZWxpbmUo
aXNWZXJ0aWNhbFRleHQsIHRleHRSZW5kZXJlclBhcmVudCk7CiAgICAgY2FzZSBBQl9CRUZPUkVf
RURHRToKICAgICBjYXNlIEFCX1RFWFRfQkVGT1JFX0VER0U6Ci0gICAgICAgIHJldHVybiBtX2Zv
bnQuYXNjZW50KCk7CisgICAgICAgIHJldHVybiBmb250TWV0cmljcy5hc2NlbnQoKTsKICAgICBj
YXNlIEFCX01JRERMRToKLSAgICAgICAgcmV0dXJuIG1fZm9udC54SGVpZ2h0KCkgLyAyOworICAg
ICAgICByZXR1cm4gZm9udE1ldHJpY3MueEhlaWdodCgpIC8gMjsKICAgICBjYXNlIEFCX0NFTlRS
QUw6Ci0gICAgICAgIHJldHVybiAobV9mb250LmFzY2VudCgpIC0gbV9mb250LmRlc2NlbnQoKSkg
LyAyOworICAgICAgICByZXR1cm4gKGZvbnRNZXRyaWNzLmFzY2VudCgpIC0gZm9udE1ldHJpY3Mu
ZGVzY2VudCgpKSAvIDI7CiAgICAgY2FzZSBBQl9BRlRFUl9FREdFOgogICAgIGNhc2UgQUJfVEVY
VF9BRlRFUl9FREdFOgogICAgIGNhc2UgQUJfSURFT0dSQVBISUM6Ci0gICAgICAgIHJldHVybiBt
X2ZvbnQuZGVzY2VudCgpOworICAgICAgICByZXR1cm4gZm9udE1ldHJpY3MuZGVzY2VudCgpOwog
ICAgIGNhc2UgQUJfQUxQSEFCRVRJQzoKICAgICAgICAgcmV0dXJuIDA7CiAgICAgY2FzZSBBQl9I
QU5HSU5HOgotICAgICAgICByZXR1cm4gbV9mb250LmFzY2VudCgpICogOCAvIDEwLmY7CisgICAg
ICAgIHJldHVybiBmb250TWV0cmljcy5hc2NlbnQoKSAqIDggLyAxMC5mOwogICAgIGNhc2UgQUJf
TUFUSEVNQVRJQ0FMOgotICAgICAgICByZXR1cm4gbV9mb250LmFzY2VudCgpIC8gMjsKKyAgICAg
ICAgcmV0dXJuIGZvbnRNZXRyaWNzLmFzY2VudCgpIC8gMjsKICAgICBkZWZhdWx0OgogICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuIDA7CkBAIC0xOTMsMTIgKzE5
NSwxNCBAQCBmbG9hdCBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmU6OmNhbGN1CiAgICAgLy8g
U3BlYzogSWYgaWYgdGhlICdnbHlwaC1vcmllbnRhdGlvbi12ZXJ0aWNhbCcgcmVzdWx0cyBpbiBh
biBvcmllbnRhdGlvbiBhbmdsZSB0aGF0IGlzIG5vdCBhIG11bHRpcGxlIG9mCiAgICAgLy8gMTgw
IGRlZ3JlZXMsIHRoZW4gdGhlIGN1cnJlbnQgdGV4dCBwb3NpdGlvbiBpcyBpbmNyZW1lbnRlZCBh
Y2NvcmRpbmcgdG8gdGhlIGhvcml6b250YWwgbWV0cmljcyBvZiB0aGUgZ2x5cGguCiAKKyAgICBj
b25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBtX2ZvbnQuZm9udE1ldHJpY3MoKTsKKwog
ICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIGhhbmRsaW5nLgogICAgIGlmIChpc1ZlcnRpY2Fs
VGV4dCkgewotICAgICAgICBmbG9hdCBhc2NlbnRNaW51c0Rlc2NlbnQgPSBtX2ZvbnQuYXNjZW50
KCkgLSBtX2ZvbnQuZGVzY2VudCgpOworICAgICAgICBmbG9hdCBhc2NlbnRNaW51c0Rlc2NlbnQg
PSBmb250TWV0cmljcy5hc2NlbnQoKSAtIGZvbnRNZXRyaWNzLmRlc2NlbnQoKTsKICAgICAgICAg
aWYgKCFhbmdsZSkgewogICAgICAgICAgICAgeE9yaWVudGF0aW9uU2hpZnQgPSAoYXNjZW50TWlu
dXNEZXNjZW50IC0gbWV0cmljcy53aWR0aCgpKSAvIDI7Ci0gICAgICAgICAgICB5T3JpZW50YXRp
b25TaGlmdCA9IG1fZm9udC5hc2NlbnQoKTsKKyAgICAgICAgICAgIHlPcmllbnRhdGlvblNoaWZ0
ID0gZm9udE1ldHJpY3MuYXNjZW50KCk7CiAgICAgICAgIH0gZWxzZSBpZiAoYW5nbGUgPT0gMTgw
KQogICAgICAgICAgICAgeE9yaWVudGF0aW9uU2hpZnQgPSAoYXNjZW50TWludXNEZXNjZW50ICsg
bWV0cmljcy53aWR0aCgpKSAvIDI7CiAgICAgICAgIGVsc2UgaWYgKGFuZ2xlID09IDI3MCkgewpA
QCAtMjE4LDcgKzIyMiw3IEBAIGZsb2F0IFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2Fs
Y3UKICAgICAgICAgeU9yaWVudGF0aW9uU2hpZnQgPSAtbWV0cmljcy53aWR0aCgpOwogICAgIGVs
c2UgaWYgKGFuZ2xlID09IDE4MCkgewogICAgICAgICB4T3JpZW50YXRpb25TaGlmdCA9IG1ldHJp
Y3Mud2lkdGgoKTsKLSAgICAgICAgeU9yaWVudGF0aW9uU2hpZnQgPSAtbV9mb250LmFzY2VudCgp
OworICAgICAgICB5T3JpZW50YXRpb25TaGlmdCA9IC1mb250TWV0cmljcy5hc2NlbnQoKTsKICAg
ICB9IGVsc2UgaWYgKGFuZ2xlID09IDI3MCkKICAgICAgICAgeE9yaWVudGF0aW9uU2hpZnQgPSBt
ZXRyaWNzLndpZHRoKCk7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5
b3V0RW5naW5lU3BhY2luZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01OCw3ICs1OCw3IEBAIGZsb2F0IFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5n
OjpjYWxjdWwKIAogICAgIG1fbGFzdEdseXBoID0gY3VycmVudEdseXBoOwogICAgIG1fbGFzdEds
eXBoLmlzVmFsaWQgPSB0cnVlOwotICAgIGtlcm5pbmcgKj0gbV9mb250LnNpemUoKSAvIG1fZm9u
dC5wcmltYXJ5Rm9udCgpLT51bml0c1BlckVtKCk7CisgICAga2VybmluZyAqPSBtX2ZvbnQuc2l6
ZSgpIC8gbV9mb250LmZvbnRNZXRyaWNzKCkudW5pdHNQZXJFbSgpOwogICAgIHJldHVybiBrZXJu
aW5nOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oaXNWZXJ0aWNhbFRleHQpOwpJbmRleDogV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJpY3MuY3BwCShyZXZpc2lvbiA3NDQ2NykKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TWV0cmljcy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQyLDcgKzQyLDcgQEAgU1ZHVGV4dE1ldHJpY3M6OlNWR1RleHRNZXRyaWNzKGNvbnN0IEZv
bgogICAgIGludCBsZW5ndGggPSAwOwogCiAgICAgbV93aWR0aCA9IGZvbnQuZmxvYXRXaWR0aChy
dW4sIGV4dHJhQ2hhcnNBdmFpbGFibGUsIGxlbmd0aCwgbV9nbHlwaC5uYW1lKTsKLSAgICBtX2hl
aWdodCA9IGZvbnQuaGVpZ2h0KCk7CisgICAgbV9oZWlnaHQgPSBmb250LmZvbnRNZXRyaWNzKCku
aGVpZ2h0KCk7CiAgICAgbV9nbHlwaC51bmljb2RlU3RyaW5nID0gU3RyaW5nKHJ1bi5jaGFyYWN0
ZXJzKCksIGxlbmd0aCk7CiAgICAgbV9nbHlwaC5pc1ZhbGlkID0gdHJ1ZTsKIApJbmRleDogV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRRdWVyeS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRRdWVyeS5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRRdWVyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3
Miw3ICs0NzIsNyBAQCBzdHJ1Y3QgRXh0ZW50T2ZDaGFyYWN0ZXJEYXRhIDogU1ZHVGV4dFF1CiAK
IHN0YXRpYyBpbmxpbmUgdm9pZCBjYWxjdWxhdGVHbHlwaEJvdW5kYXJpZXMoU1ZHVGV4dFF1ZXJ5
OjpEYXRhKiBxdWVyeURhdGEsIGNvbnN0IFNWR1RleHRGcmFnbWVudCYgZnJhZ21lbnQsIGludCBz
dGFydFBvc2l0aW9uLCBGbG9hdFJlY3QmIGV4dGVudCkKIHsKLSAgICBleHRlbnQuc2V0TG9jYXRp
b24oRmxvYXRQb2ludChmcmFnbWVudC54LCBmcmFnbWVudC55IC0gcXVlcnlEYXRhLT50ZXh0UmVu
ZGVyZXItPnN0eWxlKCktPmZvbnQoKS5hc2NlbnQoKSkpOworICAgIGV4dGVudC5zZXRMb2NhdGlv
bihGbG9hdFBvaW50KGZyYWdtZW50LngsIGZyYWdtZW50LnkgLSBxdWVyeURhdGEtPnRleHRSZW5k
ZXJlci0+c3R5bGUoKS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSkpOwogCiAgICAgaWYgKHN0YXJ0
UG9zaXRpb24pIHsKICAgICAgICAgU1ZHVGV4dE1ldHJpY3MgbWV0cmljcyA9IFNWR1RleHRNZXRy
aWNzOjptZWFzdXJlQ2hhcmFjdGVyUmFuZ2UocXVlcnlEYXRhLT50ZXh0UmVuZGVyZXIsIGZyYWdt
ZW50LnBvc2l0aW9uTGlzdE9mZnNldCwgc3RhcnRQb3NpdGlvbik7CkluZGV4OiBXZWJDb3JlL3N2
Zy9TVkdGb250RmFjZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0Zv
bnRGYWNlRWxlbWVudC5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9zdmcvU1ZHRm9u
dEZhY2VFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI2LDcgKzEyNiw3IEBAIHVuc2ln
bmVkIFNWR0ZvbnRGYWNlRWxlbWVudDo6dW5pdHNQZXJFbSgKIHsKICAgICBjb25zdCBBdG9taWNT
dHJpbmcmIHZhbHVlID0gZ2V0QXR0cmlidXRlKHVuaXRzX3Blcl9lbUF0dHIpOwogICAgIGlmICh2
YWx1ZS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBkZWZhdWx0VW5pdHNQZXJFbTsKKyAgICAg
ICAgcmV0dXJuIGdEZWZhdWx0VW5pdHNQZXJFbTsKIAogICAgIHJldHVybiBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oY2VpbGYodmFsdWUudG9GbG9hdCgpKSk7CiB9CkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdMZW5ndGguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0xlbmd0aC5jcHAJKHJl
dmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDQ0LDcgKzQ0NCw3IEBAIGZsb2F0IFNWR0xlbmd0aDo6Y29udmVydFZhbHVlRnJvbVVz
ZXJVbmkKIAogICAgIC8vIFVzZSBvZiBjZWlsIGFsbG93cyBhIHBpeGVsIG1hdGNoIHRvIHRoZSBX
M0NzIGV4cGVjdGVkIG91dHB1dCBvZiBjb29yZHMtdW5pdHMtMDMtYi5zdmcKICAgICAvLyBpZiB0
aGlzIGNhdXNlcyBwcm9ibGVtcyBpbiByZWFsIHdvcmxkIGNhc2VzIG1heWJlIGl0IHdvdWxkIGJl
IGJlc3QgdG8gcmVtb3ZlIHRoaXMKLSAgICBmbG9hdCB4SGVpZ2h0ID0gY2VpbGYoc3R5bGUtPmZv
bnQoKS54SGVpZ2h0KCkpOworICAgIGZsb2F0IHhIZWlnaHQgPSBjZWlsZihzdHlsZS0+Zm9udE1l
dHJpY3MoKS54SGVpZ2h0KCkpOwogICAgIGlmICgheEhlaWdodCkgewogICAgICAgICBlYyA9IE5P
VF9TVVBQT1JURURfRVJSOwogICAgICAgICByZXR1cm4gMDsKQEAgLTQ2Myw3ICs0NjMsNyBAQCBm
bG9hdCBTVkdMZW5ndGg6OmNvbnZlcnRWYWx1ZUZyb21FWFNUb1VzCiAgICAgUmVuZGVyU3R5bGUq
IHN0eWxlID0gY29udGV4dC0+cmVuZGVyZXIoKS0+c3R5bGUoKTsKICAgICAvLyBVc2Ugb2YgY2Vp
bCBhbGxvd3MgYSBwaXhlbCBtYXRjaCB0byB0aGUgVzNDcyBleHBlY3RlZCBvdXRwdXQgb2YgY29v
cmRzLXVuaXRzLTAzLWIuc3ZnCiAgICAgLy8gaWYgdGhpcyBjYXVzZXMgcHJvYmxlbXMgaW4gcmVh
bCB3b3JsZCBjYXNlcyBtYXliZSBpdCB3b3VsZCBiZSBiZXN0IHRvIHJlbW92ZSB0aGlzCi0gICAg
cmV0dXJuIHZhbHVlICogY2VpbGYoc3R5bGUtPmZvbnQoKS54SGVpZ2h0KCkpOworICAgIHJldHVy
biB2YWx1ZSAqIGNlaWxmKHN0eWxlLT5mb250TWV0cmljcygpLnhIZWlnaHQoKSk7CiB9CiAKIFNW
R0xlbmd0aCBTVkdMZW5ndGg6OmZyb21DU1NQcmltaXRpdmVWYWx1ZShDU1NQcmltaXRpdmVWYWx1
ZSogdmFsdWUpCg==
</data>
<flag name="review"
          id="68298"
          type_id="1"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77315</attachid>
            <date>2010-12-23 01:39:33 -0800</date>
            <delta_ts>2010-12-23 02:14:57 -0800</delta_ts>
            <desc>Patch v3</desc>
            <filename>IntroduceFontMetrics3.diff</filename>
            <type>text/plain</type>
            <size>119072</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NDU0NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTg5IEBACisyMDEwLTEyLTIyICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEludHJvZHVjZSBGb250TWV0cmljcyBhYnN0cmFjdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE0NTYKKworICAgICAgICBFbmNhcHN1
bGF0ZSBhc2NlbnQvZGVzY2VudC9saW5lSGVpZ2h0L2xpbmVHYXAgbWV0aG9kcyBpbiBhIHNpbmds
ZSBGb250TWV0cmljcyBjbGFzcywgaW5zdGVhZCBvZgorICAgICAgICBoYXZpbmcgdG8gZGVmaW5l
IHRoZW0gaW4gYm90aCBGb250ICYgU2ltcGxlRm9udERhdGEuIENoYW5nZWQgdG8gc3RvcmUgZmxv
YXRpbmcgcG9pbnQgdmFsdWVzCisgICAgICAgIGFzIGRlZmF1bHQsIGluIG9yZGVyIHRvIGdldCBh
Y2N1cmF0ZSBpbmZvcm1hdGlvbiBmb3Igc21hbGwgc2l6ZWQgZm9udHMuIEFsbCB0aGVzZSBtZXRo
b2RzCisgICAgICAgIG5vdyBoYXZlIGZsb2F0aW5nLXBvaW50IGFuZCBpbnRlZ2VyIHZlcnNpb25z
LiBXaGVuZXZlciBhbiBpbnRlZ2VyIHZhcmlhbnQgb2YgdGhlc2UgZnVuY3Rpb25zCisgICAgICAg
IGlzIGNhbGxlZCwgbHJvdW5kZigpIGlzIHVzZWQgdG8gcm91bmQgdGhlIHZhbHVlLgorCisgICAg
ICAgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gc3VwcG9ydCBzbWFsbCBmb250LXNpemVzIGZv
ciBTVkcgaW4gYSBmb2xsb3ctdXAgcGF0Y2gsIGFzIHdlbGwKKyAgICAgICAgYXMgZml4aW5nIHJv
dW5kaW5nIGlzc3VlcyB3aGVuIHVzaW5nIFNWRyBGb250cy4KKyAgICAgICAgCisgICAgICAgIFNo
b3VsZG4ndCBhZmZlY3QgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5h
bTogQWRkIEZvbnRNZXRyaWNzLmggdG8gYnVpbGQuIAorICAgICAgICAqIFdlYkNvcmUuZ3lwaTog
RGl0dG8uCisgICAgICAgICogV2ViQ29yZS5wcm86IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0Fj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcDogVXNlIHN0eWxlLT5mb250TWV0cmljcygp
IGluc3RlYWQgb2Ygc3R5bGUtPmZvbnQoKSB0byBhY2Nlc3MgdGhlIG1ldHJpY3MuCisgICAgICAg
IChiYXNlbGluZVBvc2l0aW9uRm9yQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCk6CisgICAgICAg
ICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDogICAgICAgICAKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoRG91YmxlKToKKyAgICAgICAgKiBodG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJbnRlcm5hbCk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRyYXdFbGVtZW50VGl0bGUpOgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcDogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpQb3B1cExpc3RCb3g6OnBhaW50Um93KToKKyAgICAgICAgKFdlYkNvcmU6
OlBvcHVwTGlzdEJveDo6Z2V0Um93SGVpZ2h0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Lmg6IFJlbW92ZSBhc2NlbnQvZGVzY2VudC9oZWlnaHQvbGluZUdhcC9saW5lU3BhY2lu
Zy94SGVpZ2h0L3VuaXRzUGVyRW0gYWNjZXNzb3IuLi4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6
OmZvbnRNZXRyaWNzKTogLi4uIGFuZCBvbmx5IGV4cG9zZSBhIHNpbmdsZSBGb250TWV0cmljcyBv
YmplY3QgaGVyZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3Bw
OiBVc2UgZm9udE1ldHJpY3MoKSB0byBxdWVyeSBtZXRyaWNzIGluZm9ybWF0aW9uLgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udDo6ZW1waGFzaXNNYXJrQXNjZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnQ6OmVtcGhhc2lzTWFya0Rlc2NlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZW1w
aGFzaXNNYXJrSGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmZsb2F0V2lkdGhGb3JT
aW1wbGVUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkludGVnZXJGb250TWV0cmljczo6Y3JlYXRlKTogQ3Jl
YXRlcyBhbiBJbnRlZ2VyRm9udE1ldHJpY3Mgb2JqZWN0LCBvbmx5IHVzZWQgYnkgRm9udE1ldHJp
Y3MgaXRzZWxmLgorICAgICAgICAoV2ViQ29yZTo6SW50ZWdlckZvbnRNZXRyaWNzOjphc2NlbnQp
OiBJbnRlZ2VyIHZlcnNpb24uCisgICAgICAgIChXZWJDb3JlOjpJbnRlZ2VyRm9udE1ldHJpY3M6
OmRlc2NlbnQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkludGVnZXJGb250TWV0cmljczo6
bGluZUdhcCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW50ZWdlckZvbnRNZXRyaWNzOjps
aW5lU3BhY2luZyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW50ZWdlckZvbnRNZXRyaWNz
OjpJbnRlZ2VyRm9udE1ldHJpY3MpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OkZv
bnRNZXRyaWNzKTogQ3JlYXRlcyBhIEZvbnRNZXRyaWNzIG9iamVjdCwgc3RvcmVkIGluIFNpbXBs
ZUZvbnREYXRhLgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnVuaXRzUGVyRW0pOiBS
ZXR1cm5zIGFuIHVuc2lnbmVkIGRlc2NyaWJpbmcgdGhlIHVuaXRzUGVyRW0uCisgICAgICAgIChX
ZWJDb3JlOjpGb250TWV0cmljczo6c2V0VW5pdHNQZXJFbSk6IFNldHMgdGhlIHVuaXRzUGVyRW0g
dmFsdWUuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6ZmxvYXRBc2NlbnQpOiBSZXR1
cm5zIHRoZSBzdG9yZWQgbV9hc2NlbnQgZmxvYXQuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0
cmljczo6c2V0QXNjZW50KTogU2V0cyB0aGUgc3RvcmVkIG1fYXNjZW50IGZsb2F0LgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmZsb2F0RGVzY2VudCk6IFJldHVybnMgdGhlIHN0b3Jl
ZCBtX2Rlc2NlbnQgZmxvYXQuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6c2V0RGVz
Y2VudCk6IFNldHMgdGhlIHN0b3JlZCBtX2Rlc2NlbnQgZmxvYXQuCisgICAgICAgIChXZWJDb3Jl
OjpGb250TWV0cmljczo6ZmxvYXRIZWlnaHQpOiBSZXR1cm5zIGZsb2F0QXNjZW50KCkgKyBmbG9h
dERlc2NlbnQoKS4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpmbG9hdExpbmVHYXAp
OiBSZXR1cm5zIHRoZSBzdG9yZWQgbV9saW5lR2FwIGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6
Rm9udE1ldHJpY3M6OnNldExpbmVHYXApOiBTZXRzIHRoZSBzdG9yZWQgbV9saW5lR2FwIGZsb2F0
LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmZsb2F0TGluZVNwYWNpbmcpOiBSZXR1
cm5zIHRoZSBzdG9yZWQgbV9saW5lU3BhY2luZyBmbG9hdC4KKyAgICAgICAgKFdlYkNvcmU6OkZv
bnRNZXRyaWNzOjpzZXRMaW5lU3BhY2luZyk6IFNldHMgdGhlIHN0b3JlZCBtX2xpbmVTcGFjaW5n
IGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnhIZWlnaHQpOiBSZXR1cm5z
IHRoZSBzdG9yZWQgbV94SGVpZ2h0IGZsb2F0IChubyBpbnRlZ2VyIHZlcnNpb24gYXZhaWxhYmxl
LCBoZW5jZSBubyAnZmxvYXQnIHByZWZpeCkuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmlj
czo6c2V0WEhlaWdodCk6IFNldHMgdGhlIHN0b3JlZCBtX3hIZWlnaHQgZmxvYXQuCisgICAgICAg
IChXZWJDb3JlOjpGb250TWV0cmljczo6YXNjZW50KTogQ2FsbHMgZW5zdXJlSW50ZWdlck1ldHJp
Y3MoKSwgdGhlbiByZXR1cm5zIG1faW50ZWdlck1ldHJpY3MtPmFzY2VudCgpLgorICAgICAgICAo
V2ViQ29yZTo6Rm9udE1ldHJpY3M6OmRlc2NlbnQpOiBEaXR0byAoZm9yIGRlc2NlbnQpLgorICAg
ICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmhlaWdodCk6IFJldHVybnMgYXNjZW50KCkgKyBk
ZXNjZW50KCkuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6bGluZUdhcCk6IENhbGxz
IGVuc3VyZUludGVnZXJNZXRyaWNzKCksIHRoZW4gcmV0dXJucyBtX2ludGVnZXJNZXRyaWNzLT5s
aW5lR2FwKCkuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6bGluZVNwYWNpbmcpOiBE
aXR0byAoZm9yIGxpbmVTcGFjaW5nKS4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpy
ZXNldCk6IE51bGxzIGFsbCBtZW1iZXJzLCB1c2VkIG9ubHkgYnkgdGhlIHBsYXRmb3JtIHZhcmlh
bnRzIG9mIFNpbXBsZUZvbnREYXRhLgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmVu
c3VyZUludGVnZXJNZXRyaWNzKTogVXRpbGl6aWVzIGxyb3VuZGYgdG8gcm91bmQgdGhlIHN0b3Jl
ZCBmbG9hdHMsIGFuZCBwYXNzZXMgdGhlbSB0byB0aGUgSW50ZWdlckZvbnRNZXRyaWNzIG9iamVj
dCwgd2hpY2ggZ2V0cyBjYWNoZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxl
Rm9udERhdGEuY3BwOiBBZGFwdCBTVkcgRm9udHMgY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUgRm9u
dE1ldHJpY3Mgb2JqZWN0LCBhcyB0aGUgbV9hc2NlbnQvZXRjLi4gbWVtYmVycyBhcmUgZ29uZS4K
KyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YSk6CisgICAg
ICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6aW5pdENoYXJXaWR0aHMpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmg6IFJlbW92ZSBhc2NlbnQvZGVzY2Vu
dC9oZWlnaHQvbGluZVNwYWNpbmcvbGluZUdhcC94SGVpZ2h0L3VuaXRzUGVyRW0gYWNjZXNzb3Jz
LCBhbmQgbWVtYmVycywganVzdCBzdG9yZSBhIEZvbnRNZXRyaWNzIG9iamVjdCBhbmQgZXhwb3Nl
IGl0LgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OmZvbnRNZXRyaWNzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjphdmdDaGFyV2lkdGgpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1bVdpbi5jcHA6IFVzZSBmb250
TWV0cmljcygpIHRvIHF1ZXJ5IGZvbnQgbWV0cmljcy4KKyAgICAgICAgKFdlYkNvcmU6OlRyYW5z
cGFyZW5jeUF3YXJlRm9udFBhaW50ZXI6OlRyYW5zcGFyZW5jeUF3YXJlR2x5cGhQYWludGVyOjpl
c3RpbWF0ZVRleHRCb3VuZHMpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNwYXJlbmN5QXdhcmVG
b250UGFpbnRlcjo6VHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50ZXI6OmRyYXdHbHlwaHMpOgor
ICAgICAgICAoV2ViQ29yZTo6VHJhbnNwYXJlbmN5QXdhcmVGb250UGFpbnRlcjo6VHJhbnNwYXJl
bmN5QXdhcmVVbmlzY3JpYmVQYWludGVyOjplc3RpbWF0ZVRleHRCb3VuZHMpOgorICAgICAgICAo
V2ViQ29yZTo6Rm9udDo6ZHJhd0NvbXBsZXhUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNwcDogQWRhcHQgcGxhdGZv
cm0gY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUgRm9udE1ldHJpY3Mgb2JqZWN0LgorICAgICAgICAo
V2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFMaW51eC5jcHA6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVW5pc2NyaWJlSGVscGVyVGV4dFJ1bi5jcHA6IFVz
ZSBmb250TWV0cmljcygpIHRvIHF1ZXJ5IGZvbnQgbWV0cmljcy4KKyAgICAgICAgKFdlYkNvcmU6
OlVuaXNjcmliZUhlbHBlclRleHRSdW46OlVuaXNjcmliZUhlbHBlclRleHRSdW4pOgorICAgICAg
ICAoV2ViQ29yZTo6VW5pc2NyaWJlSGVscGVyVGV4dFJ1bjo6bmV4dFdpbkZvbnREYXRhKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1wbGVGb250RGF0YUZyZWVUeXBl
LmNwcDogQWRhcHQgcGxhdGZvcm0gY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUgRm9udE1ldHJpY3Mg
b2JqZWN0LgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvU2ltcGxlRm9udERhdGFIYWlrdS5j
cHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5p
dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21wbGV4VGV4dE1hYy5j
cHA6IFVzZSBmb250TWV0cmljcygpIHRvIHF1ZXJ5IGZvbnQgbWV0cmljcy4KKyAgICAgICAgKFdl
YkNvcmU6OkZvbnQ6OmZsb2F0V2lkdGhGb3JDb21wbGV4VGV4dCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW06IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6c2hv
d0dseXBoc1dpdGhBZHZhbmNlcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1Np
bXBsZUZvbnREYXRhTWFjLm1tOiBBZGFwdCBwbGF0Zm9ybSBjb2RlLCB0byBpbml0aWFsaXplIHRo
ZSBGb250TWV0cmljcyBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6
cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9y
bUNoYXJXaWR0aEluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1NpbXBs
ZUZvbnREYXRhUGFuZ28uY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnRE
YXRhOjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBs
ZUZvbnREYXRhUXQuY3BwOiBEaXR0by4gKCsgU3dpdGNoIHRvIFFGb250TWV0cmljc0YgdG8gZ2V0
IGZsb2F0aW5nLXBvaW50IGFjY3VyYW5jeS4pCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250
RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9u
dENHV2luLmNwcDogVXNlIGZvbnRNZXRyaWNzKCkgdG8gcXVlcnkgZm9udCBtZXRyaWNzLgorICAg
ICAgICAoV2ViQ29yZTo6ZHJhd0dESUdseXBocyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL0ZvbnRXaW4uY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmZsb2F0
V2lkdGhGb3JDb21wbGV4VGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1Np
bXBsZUZvbnREYXRhQ0dXaW4uY3BwOiBBZGFwdCBwbGF0Zm9ybSBjb2RlLCB0byBpbml0aWFsaXpl
IHRoZSBGb250TWV0cmljcyBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0
YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0
Zm9ybUJvdW5kc0ZvckdseXBoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vU2lt
cGxlRm9udERhdGFDYWlyb1dpbi5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxl
Rm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1NpbXBsZUZvbnREYXRhV2luLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVG
b250RGF0YTo6aW5pdEdESUZvbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbmNl
L0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcDogVXNlIGZvbnRNZXRyaWNzKCkgdG8gcXVlcnkgZm9u
dCBtZXRyaWNzLgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3VGV4dCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2ltcGxlRm9udERhdGFXaW5DRS5j
cHA6IEFkYXB0IHBsYXRmb3JtIGNvZGUsIHRvIGluaXRpYWxpemUgdGhlIEZvbnRNZXRyaWNzIG9i
amVjdC4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3d4L1NpbXBsZUZvbnREYXRhV3guY3BwOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9FbGxpcHNpc0JveC5jcHA6IFVzZSBzdHlsZS0+Zm9udE1ldHJpY3Mo
KSBpbnN0ZWFkIG9mIHN0eWxlLT5mb250KCkgdG8gYWNjZXNzIHRoZSBtZXRyaWNzLgorICAgICAg
ICAoV2ViQ29yZTo6RWxsaXBzaXNCb3g6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OkVsbGlw
c2lzQm94Ojpub2RlQXRQb2ludCk6CisgICAgICAgICogcmVuZGVyaW5nL0lubGluZUJveC5jcHA6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQm94Ojpsb2dpY2FsSGVpZ2h0KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHA6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6dmVydGljYWxQb3NpdGlvbkZvckJveCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVG
bG93Qm94Ojpjb21wdXRlTG9naWNhbEJveEhlaWdodHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5s
aW5lRmxvd0JveDo6cGxhY2VCb3hlc0luQmxvY2tEaXJlY3Rpb24pOgorICAgICAgICAqIHJlbmRl
cmluZy9JbmxpbmVUZXh0Qm94LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVU
ZXh0Qm94OjpwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpwYWludERl
Y29yYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnRTcGVsbGlu
Z09yR3JhbW1hck1hcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpwYWlu
dENvbXBvc2l0aW9uVW5kZXJsaW5lKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpiYXNlbGluZVBvc2l0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpmaXJzdExpbmVCb3hCYXNlbGlu
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bGFzdExpbmVCb3hCYXNlbGluZSk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQm94Ojpsb2NhbENhcmV0UmVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckVtYmVkZGVkT2JqZWN0LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJF
bWJlZGRlZE9iamVjdDo6cGFpbnRSZXBsYWNlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6c2V0SW1h
Z2VTaXplRm9yQWx0VGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6cGFpbnRS
ZXBsYWNlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHA6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjpiYXNlbGluZVBvc2l0aW9uKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGlzdEJveDo6cGFpbnRJdGVtRm9yZWdyb3VuZCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMaXN0Qm94OjppdGVtSGVpZ2h0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGlzdE1hcmtlci5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtl
cjo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6bGF5b3V0KToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RNYXJrZXI6OmNvbXB1dGVQcmVmZXJyZWRMb2dp
Y2FsV2lkdGhzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZU1h
cmdpbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6Z2V0UmVsYXRpdmVN
YXJrZXJSZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwOiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sOjpwYWludFBsYWNlaG9s
ZGVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNw
cDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6
OmNyZWF0ZUlubmVyVGV4dFN0eWxlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuaDogQWRkICJjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MoKSBjb25zdCIgYWNj
ZXNzb3IuCisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6Zm9udE1ldHJpY3MpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OmNvbXB1dGVkTGluZUhlaWdodCk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNwcDogVXNlIHN0eWxl
LT5mb250TWV0cmljcygpIGluc3RlYWQgb2Ygc3R5bGUtPmZvbnQoKSB0byBhY2Nlc3MgdGhlIG1l
dHJpY3MuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdJbmxpbmVUZXh0Ojpwb3NpdGlvbkZv
clBvaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwOiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OnNlbGVjdGlvblJlY3RG
b3JUZXh0RnJhZ21lbnQpOgorICAgICAgICAoV2ViQ29yZTo6cG9zaXRpb25PZmZzZXRGb3JEZWNv
cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OnBhaW50RGVjb3Jh
dGlvbldpdGhTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbmxpbmVUZXh0Qm94OjpwYWlu
dFRleHRXaXRoU2hhZG93cyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbmxpbmVUZXh0Qm94Ojpj
YWxjdWxhdGVCb3VuZGFyaWVzKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlv
dXRFbmdpbmVCYXNlbGluZS5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dExh
eW91dEVuZ2luZUJhc2VsaW5lOjpjYWxjdWxhdGVCYXNlbGluZVNoaWZ0KToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2FsY3VsYXRlQWxpZ25tZW50QmFz
ZWxpbmVTaGlmdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxp
bmU6OmNhbGN1bGF0ZUdseXBoQWR2YW5jZUFuZE9yaWVudGF0aW9uKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmNwcDogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZzo6Y2FsY3VsYXRlU1ZHS2Vybmlu
Zyk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TWV0cmljcy5jcHA6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dE1ldHJpY3M6OlNWR1RleHRNZXRyaWNzKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvc3ZnL1NWR1RleHRRdWVyeS5jcHA6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6Y2FsY3VsYXRlR2x5cGhCb3VuZGFyaWVzKToKKyAgICAgICAgKiBzdmcvU1ZHRm9udEZh
Y2VFbGVtZW50LmNwcDogCisgICAgICAgIChXZWJDb3JlOjpTVkdGb250RmFjZUVsZW1lbnQ6OnVu
aXRzUGVyRW0pOiBSZW5hbWUgZGVmYXVsdFVuaXRzUGVyRW0gZ2xvYmFsIHRvIGdEZWZhdWx0VW5p
dHNQZXJFbS4KKyAgICAgICAgKiBzdmcvU1ZHTGVuZ3RoLmNwcDogVXNlIHN0eWxlLT5mb250TWV0
cmljcygpIGluc3RlYWQgb2Ygc3R5bGUtPmZvbnQoKSB0byBhY2Nlc3MgdGhlIG1ldHJpY3MuCisg
ICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGg6OmNvbnZlcnRWYWx1ZUZyb21Vc2VyVW5pdHNUb0VY
Uyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGg6OmNvbnZlcnRWYWx1ZUZyb21FWFNUb1Vz
ZXJVbml0cyk6CisKIDIwMTAtMTItMjMgIE5vZWwgR29yZG9uICA8bm9lbC5nb3Jkb25AZ21haWwu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCkluZGV4OiBXZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlz
aW9uIDc0NDY3KQorKysgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAt
MjQwMiw2ICsyNDAyLDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRGYW1pbHkuaCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
RmFzdFBhdGguY3BwIFwKIAlXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaCBcCisJV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oIFwKIAlXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRPcmllbnRhdGlvbi5oIFwKIAlXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRSZW5kZXJpbmdNb2RlLmggXAogCVdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNl
bGVjdG9yLmggXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9XZWJDb3JlLmd5
cGkJKHdvcmtpbmcgY29weSkKQEAgLTI5MTAsNiArMjkxMCw3IEBACiAgICAgICAgICAgICAncGxh
dGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRGYW1pbHkuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dEZhc3RQYXRoLmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udE1ldHJp
Y3MuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udFJlbmRlcmluZ01vZGUu
aCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNlbGVjdG9yLmgnLAogICAg
ICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRTbW9vdGhpbmdNb2RlLmgnLApJbmRleDog
V2ViQ29yZS9XZWJDb3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUucHJvCShy
ZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAg
LTIxMTMsNiArMjExMyw3IEBAIEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0Zv
bnREYXRhLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5oIFwKICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5LmggXAorICAgIHBsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRNZXRyaWNzLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaCBcCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvR2VuZXJhdGVkSW1hZ2UuaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhZGllbnQuaCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJl
dmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagko
d29ya2luZyBjb3B5KQpAQCAtMjYzODEsNiArMjYzODEsMTAgQEAKIAkJCQkJPgogCQkJCTwvRmls
ZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEZv
bnRNZXRyaWNzLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRp
dmVQYXRoPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGb250UmVuZGVyaW5nTW9kZS5oIgogCQkJCQk+
CiAJCQkJPC9GaWxlPgpJbmRleDogV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEwNyw2ICsxMDcsNyBAQAogCQkwODNEQUVB
NzBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4M0RBRUEzMEYwMUE3RkIw
MDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5oICovOyB9OwogCQkwODNEQUVB
ODBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4M0RBRUE0MEYwMUE3
RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwICovOyB9OwogCQkw
ODNEQUVBOTBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODNEQUVBNTBG
MDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmggKi87IH07CisJ
CTA4NDU2ODA4MTJCOTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0NTY4MDcxMkI5MERBNjAwOTYwQTlG
IC8qIEZvbnRNZXRyaWNzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMDg0QTA4MjkxMjhENzg2NzAwMkRCMUYxIC8qIFNWR1BhdGhTZWdMaXN0UHJv
cGVydHlUZWFyT2ZmLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwODRBMDgyODEyOEQ3ODY3MDAyREIxRjEgLyogU1ZHUGF0aFNlZ0xpc3RQcm9wZXJ0eVRl
YXJPZmYuaCAqLzsgfTsKIAkJMDg0QUVCRTQwRkI1MDVGQTAwMzg0ODNFIC8qIFNlbGVjdEVsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0
QUVCRTIwRkI1MDVGQTAwMzg0ODNFIC8qIFNlbGVjdEVsZW1lbnQuY3BwICovOyB9OwogCQkwODRB
RUJFNTBGQjUwNUZBMDAzODQ4M0UgLyogU2VsZWN0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0QUVCRTMwRkI1MDVGQTAwMzg0ODNFIC8q
IFNlbGVjdEVsZW1lbnQuaCAqLzsgfTsKQEAgLTYzNjgsNiArNjM2OSw3IEBACiAJCTA4M0RBRUEz
MEYwMUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODNEQUVBNDBGMDFBN0ZCMDAzNDI3NTQgLyog
UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTA4M0RBRUE1MEYwMUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0
Q29udHJvbFNpbmdsZUxpbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVu
ZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTA4NDU2ODA3MTJCOTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBGb250TWV0cmljcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkwODRBMDgyODEyOEQ3ODY3MDAyREIxRjEgLyogU1ZHUGF0aFNlZ0xpc3RQcm9wZXJ0
eVRlYXJPZmYuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGF0aFNlZ0xp
c3RQcm9wZXJ0eVRlYXJPZmYuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg0QUVC
RTIwRkI1MDVGQTAwMzg0ODNFIC8qIFNlbGVjdEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU2VsZWN0RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTA4NEFFQkUzMEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxlY3RFbGVtZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNlbGVjdEVsZW1lbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3MjI5LDYgKzE3MjMxLDcgQEAKIAkJCQlCMkMzREE1
ODBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udEZhbWlseS5jcHAgKi8sCiAJCQkJQjJDM0RBNTkwRDAw
NkNENjAwRUY2RjI2IC8qIEZvbnRGYW1pbHkuaCAqLywKIAkJCQk3MjYyNkUwMTBFRjAyMkZFMDBB
MDdFMjAgLyogRm9udEZhc3RQYXRoLmNwcCAqLywKKwkJCQkwODQ1NjgwNzEyQjkwREE2MDA5NjBB
OUYgLyogRm9udE1ldHJpY3MuaCAqLywKIAkJCQlGN0EwMzRDMzEyNkJGNkJFMDA3REMxOUUgLyog
Rm9udE9yaWVudGF0aW9uLmggKi8sCiAJCQkJMzdBQ0NFNDEwREEyOTgwRjAwODlFNjAyIC8qIEZv
bnRSZW5kZXJpbmdNb2RlLmggKi8sCiAJCQkJQjJDM0RBNUEwRDAwNkNENjAwRUY2RjI2IC8qIEZv
bnRTZWxlY3Rvci5oICovLApAQCAtMjIxMzAsNiArMjIxMzMsNyBAQAogCQkJCTkzRjE5OUVEMDgy
NDVFNTkwMDFFOUFCQyAvKiBYU0xUUHJvY2Vzc29yLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUJF
NTEyRTBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmggaW4gSGVhZGVycyAqLywK
IAkJCQk5N0RENEQ4NzBGREY0RDZFMDBFQ0Y5QTQgLyogWFNTQXVkaXRvci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMDg0NTY4MDgxMkI5MERBNjAwOTYwQTlGIC8qIEZvbnRNZXRyaWNzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0OTlCM0VDNTEyOENDQzQ3MDBFNzI2QzIgLyogUGxhdGZvcm1DQUxheWVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTlCM0VENzEyOENEMzE0MDBFNzI2QzIgLyogR3JhcGhp
Y3NMYXllckNBLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTlCM0VERDEyOERCNTAyMDBFNzI2QzIg
LyogUGxhdGZvcm1DQUFuaW1hdGlvbi5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBXZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyQXRrLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3Rr
L0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIx
MSw4ICsxMjExLDggQEAgc3RhdGljIGludCBiYXNlbGluZVBvc2l0aW9uRm9yQWNjZXNzaWJpbAog
ICAgIC8vIEZJWE1FOiBUaGlzIGltcGxlbWVudGF0aW9uIG9mIGJhc2VsaW5lUG9zaXRpb24gb3Jp
Z2luYXRlcyBmcm9tIFJlbmRlck9iamVjdC5jcHAgYW5kIHdhcwogICAgIC8vIHJlbW92ZWQgaW4g
cjcwMDcyLiBUaGUgaW1wbGVtZW50YXRpb24gbG9va3MgaW5jb3JyZWN0IHRob3VnaCwgYmVjYXVz
ZSB0aGlzIGlzIG5vdCB0aGUKICAgICAvLyBiYXNlbGluZSBvZiB0aGUgdW5kZXJseWluZyBSZW5k
ZXJPYmplY3QsIGJ1dCBvZiB0aGUgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC4KLSAgICBjb25z
dCBGb250JiBmID0gcmVuZGVyT2JqZWN0LT5maXJzdExpbmVTdHlsZSgpLT5mb250KCk7Ci0gICAg
cmV0dXJuIGYuYXNjZW50KCkgKyAocmVuZGVyT2JqZWN0LT5maXJzdExpbmVTdHlsZSgpLT5jb21w
dXRlZExpbmVIZWlnaHQoKSAtIGYuaGVpZ2h0KCkpIC8gMjsKKyAgICBjb25zdCBGb250TWV0cmlj
cyYgZm9udE1ldHJpY3MgPSByZW5kZXJPYmplY3QtPmZpcnN0TGluZVN0eWxlKCktPmZvbnRNZXRy
aWNzKCk7CisgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmFzY2VudCgpICsgKHJlbmRlck9iamVjdC0+
Zmlyc3RMaW5lU3R5bGUoKS0+Y29tcHV0ZWRMaW5lSGVpZ2h0KCkgLSBmb250TWV0cmljcy5oZWln
aHQoKSkgLyAyOwogfQogCiBzdGF0aWMgQXRrQXR0cmlidXRlU2V0KiBnZXRBdHRyaWJ1dGVTZXRG
b3JBY2Nlc3NpYmlsaXR5T2JqZWN0KGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCkK
SW5kZXg6IFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDAsNyAr
NDAwLDcgQEAgZG91YmxlIENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoRAogICAgICAg
ICAgICAgLy8gV2UgcmVhbGx5IG5lZWQgdG8gY29tcHV0ZSBFWCB1c2luZyBmb250TWV0cmljcyBm
b3IgdGhlIG9yaWdpbmFsIHNwZWNpZmllZFNpemUgYW5kIG5vdCB1c2UKICAgICAgICAgICAgIC8v
IG91ciBhY3R1YWwgY29uc3RydWN0ZWQgcmVuZGVyaW5nIGZvbnQuCiAgICAgICAgICAgICBhcHBs
eVpvb21NdWx0aXBsaWVyID0gZmFsc2U7Ci0gICAgICAgICAgICBmYWN0b3IgPSBzdHlsZS0+Zm9u
dCgpLnhIZWlnaHQoKTsKKyAgICAgICAgICAgIGZhY3RvciA9IHN0eWxlLT5mb250TWV0cmljcygp
LnhIZWlnaHQoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENTU19SRU1TOgog
ICAgICAgICAgICAgYXBwbHlab29tTXVsdGlwbGllciA9IGZhbHNlOwpJbmRleDogV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAkocmV2aXNpb24g
NzQ0NjcpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE3NjAsNiArMTc2MCw3IEBAIHZvaWQgQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEOjpkcmF3VGV4dEkKICAgICAgICAgcmV0dXJuOwogCiAgICAgY29uc3QgRm9u
dCYgZm9udCA9IGFjY2Vzc0ZvbnQoKTsKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJp
Y3MgPSBmb250LmZvbnRNZXRyaWNzKCk7CiAKICAgICAvLyBGSVhNRTogSGFuZGxlIG1heFdpZHRo
LgogICAgIC8vIEZJWE1FOiBOZWVkIHRvIHR1cm4gb2ZmIGZvbnQgc21vb3RoaW5nLgpAQCAtMTc3
NywxNCArMTc3OCwxNCBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJ
CiAgICAgc3dpdGNoIChzdGF0ZSgpLm1fdGV4dEJhc2VsaW5lKSB7CiAgICAgY2FzZSBUb3BUZXh0
QmFzZWxpbmU6CiAgICAgY2FzZSBIYW5naW5nVGV4dEJhc2VsaW5lOgotICAgICAgICBsb2NhdGlv
bi5zZXRZKHkgKyBmb250LmFzY2VudCgpKTsKKyAgICAgICAgbG9jYXRpb24uc2V0WSh5ICsgZm9u
dE1ldHJpY3MuYXNjZW50KCkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEJvdHRvbVRleHRC
YXNlbGluZToKICAgICBjYXNlIElkZW9ncmFwaGljVGV4dEJhc2VsaW5lOgotICAgICAgICBsb2Nh
dGlvbi5zZXRZKHkgLSBmb250LmRlc2NlbnQoKSk7CisgICAgICAgIGxvY2F0aW9uLnNldFkoeSAt
IGZvbnRNZXRyaWNzLmRlc2NlbnQoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgTWlkZGxl
VGV4dEJhc2VsaW5lOgotICAgICAgICBsb2NhdGlvbi5zZXRZKHkgLSBmb250LmRlc2NlbnQoKSAr
IGZvbnQuaGVpZ2h0KCkgLyAyKTsKKyAgICAgICAgbG9jYXRpb24uc2V0WSh5IC0gZm9udE1ldHJp
Y3MuZGVzY2VudCgpICsgZm9udE1ldHJpY3MuaGVpZ2h0KCkgLyAyKTsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBBbHBoYWJldGljVGV4dEJhc2VsaW5lOgogICAgIGRlZmF1bHQ6CkBAIC0xODEy
LDggKzE4MTMsOCBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJCiAg
ICAgfQogCiAgICAgLy8gVGhlIHNsb3AgYnVpbHQgaW4gdG8gdGhpcyBtYXNrIHJlY3QgbWF0Y2hl
cyB0aGUgaGV1cmlzdGljIHVzZWQgaW4gRm9udENHV2luLmNwcCBmb3IgR0RJIHRleHQuCi0gICAg
RmxvYXRSZWN0IHRleHRSZWN0ID0gRmxvYXRSZWN0KGxvY2F0aW9uLngoKSAtIGZvbnQuaGVpZ2h0
KCkgLyAyLCBsb2NhdGlvbi55KCkgLSBmb250LmFzY2VudCgpIC0gZm9udC5saW5lR2FwKCksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoICsgZm9udC5oZWlnaHQoKSwg
Zm9udC5saW5lU3BhY2luZygpKTsKKyAgICBGbG9hdFJlY3QgdGV4dFJlY3QgPSBGbG9hdFJlY3Qo
bG9jYXRpb24ueCgpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkgLyAyLCBsb2NhdGlvbi55KCkgLSBm
b250TWV0cmljcy5hc2NlbnQoKSAtIGZvbnRNZXRyaWNzLmxpbmVHYXAoKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggKyBmb250TWV0cmljcy5oZWlnaHQoKSwgZm9u
dE1ldHJpY3MubGluZVNwYWNpbmcoKSk7CiAgICAgaWYgKCFmaWxsKQogICAgICAgICB0ZXh0UmVj
dC5pbmZsYXRlKGMtPnN0cm9rZVRoaWNrbmVzcygpIC8gMik7CiAKSW5kZXg6IFdlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
NzczLDcgKzE3NzMsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRyYXdFbGVtZW50VGl0
CiAgICAgY29udGV4dC5zZXRGaWxsQ29sb3IodG9vbHRpcEJhY2tncm91bmRDb2xvciwgQ29sb3JT
cGFjZURldmljZVJHQik7CiAgICAgY29udGV4dC5kcmF3UmVjdCh0aXRsZVJlY3QpOwogICAgIGNv
bnRleHQuc2V0RmlsbENvbG9yKHRvb2x0aXBGb250Q29sb3IsIENvbG9yU3BhY2VEZXZpY2VSR0Ip
OwotICAgIGNvbnRleHQuZHJhd1RleHQoZm9udCwgbm9kZVRpdGxlUnVuLCBJbnRQb2ludCh0aXRs
ZVJlY3QueCgpICsgcmVjdEluZmxhdGVQeCwgdGl0bGVSZWN0LnkoKSArIGZvbnQuaGVpZ2h0KCkp
KTsKKyAgICBjb250ZXh0LmRyYXdUZXh0KGZvbnQsIG5vZGVUaXRsZVJ1biwgSW50UG9pbnQodGl0
bGVSZWN0LngoKSArIHJlY3RJbmZsYXRlUHgsIHRpdGxlUmVjdC55KCkgKyBmb250LmZvbnRNZXRy
aWNzKCkuaGVpZ2h0KCkpKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpvcGVuSW5J
bnNwZWN0ZWRXaW5kb3coY29uc3QgU3RyaW5nJiB1cmwpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bs
YXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAkocmV2aXNpb24gNzQ0NjcpCisr
KyBXZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtOTU5LDcgKzk1OSw3IEBAIHZvaWQgUG9wdXBMaXN0Qm94OjpwYWludFJvdyhH
cmFwaGljc0NvbnQKICAgICAgICAgdGV4dFggKz0gbWF4V2lkdGggLSBpdGVtRm9udC53aWR0aCh0
ZXh0UnVuKTsKIAogICAgIC8vIERyYXcgdGhlIGl0ZW0gdGV4dC4KLSAgICBpbnQgdGV4dFkgPSBy
b3dSZWN0LnkoKSArIGl0ZW1Gb250LmFzY2VudCgpICsgKHJvd1JlY3QuaGVpZ2h0KCkgLSBpdGVt
Rm9udC5oZWlnaHQoKSkgLyAyOworICAgIGludCB0ZXh0WSA9IHJvd1JlY3QueSgpICsgaXRlbUZv
bnQuZm9udE1ldHJpY3MoKS5hc2NlbnQoKSArIChyb3dSZWN0LmhlaWdodCgpIC0gaXRlbUZvbnQu
Zm9udE1ldHJpY3MoKS5oZWlnaHQoKSkgLyAyOwogICAgIGdjLT5kcmF3QmlkaVRleHQoaXRlbUZv
bnQsIHRleHRSdW4sIEludFBvaW50KHRleHRYLCB0ZXh0WSkpOwogCiAgICAgLy8gV2UgYXJlIHVz
aW5nIHRoZSBsZWZ0IHBhZGRpbmcgYXMgdGhlIHJpZ2h0IHBhZGRpbmcgaW5jbHVkZXMgcm9vbSBm
b3IgdGhlIHNjcm9sbC1iYXIgd2hpY2gKQEAgLTEwOTksNyArMTA5OSw3IEBAIGludCBQb3B1cExp
c3RCb3g6OmdldFJvd0hlaWdodChpbnQgaW5kZXgKICAgICBTdHJpbmcgaWNvbiA9IG1fcG9wdXBD
bGllbnQtPml0ZW1JY29uKGluZGV4KTsKICAgICBSZWZQdHI8SW1hZ2U+IGltYWdlKEltYWdlOjps
b2FkUGxhdGZvcm1SZXNvdXJjZShpY29uLnV0ZjgoKS5kYXRhKCkpKTsKIAotICAgIGludCBmb250
SGVpZ2h0ID0gZ2V0Um93Rm9udChpbmRleCkuaGVpZ2h0KCk7CisgICAgaW50IGZvbnRIZWlnaHQg
PSBnZXRSb3dGb250KGluZGV4KS5mb250TWV0cmljcygpLmhlaWdodCgpOwogICAgIGludCBpY29u
SGVpZ2h0ID0gKGltYWdlICYmICFpbWFnZS0+aXNOdWxsKCkpID8gaW1hZ2UtPnJlY3QoKS5oZWln
aHQoKSA6IDA7CiAKICAgICByZXR1cm4gbWF4KGZvbnRIZWlnaHQsIGljb25IZWlnaHQpOwpJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDcgKzQ0LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRmxvYXRQb2ludDsKIGNsYXNzIEZsb2F0UmVjdDsK
IGNsYXNzIEZvbnREYXRhOwotY2xhc3MgRm9udEZhbGxiYWNrTGlzdDsKK2NsYXNzIEZvbnRNZXRy
aWNzOwogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIEZvbnRTZWxlY3RvcjsKIGNsYXNz
IEdseXBoQnVmZmVyOwpAQCAtNTQsOCArNTQsNiBAQCBjbGFzcyBTVkdGb250RWxlbWVudDsKIAog
c3RydWN0IEdseXBoRGF0YTsKIAotY29uc3QgdW5zaWduZWQgZGVmYXVsdFVuaXRzUGVyRW0gPSAx
MDAwOwotCiBzdHJ1Y3QgR2x5cGhPdmVyZmxvdyB7CiAgICAgR2x5cGhPdmVyZmxvdygpCiAgICAg
ICAgIDogbGVmdCgwKQpAQCAtMTI4LDEzICsxMjYsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1Bs
YXRmb3JtRm9udCgpIGNvbnN0IHsgcmV0dXJuIG1faXNQbGF0Zm9ybUZvbnQ7IH0KIAogICAgIC8v
IE1ldHJpY3MgdGhhdCB3ZSBxdWVyeSB0aGUgRm9udEZhbGxiYWNrTGlzdCBmb3IuCi0gICAgaW50
IGFzY2VudChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBj
b25zdCB7IHJldHVybiBwcmltYXJ5Rm9udCgpLT5hc2NlbnQoYmFzZWxpbmVUeXBlKTsgfQotICAg
IGludCBkZXNjZW50KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxp
bmUpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmRlc2NlbnQoYmFzZWxpbmVUeXBlKTsg
fQotICAgIGludCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBhc2NlbnQoKSArIGRlc2NlbnQoKTsg
fQotICAgIGludCBsaW5lU3BhY2luZygpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmxp
bmVTcGFjaW5nKCk7IH0KLSAgICBpbnQgbGluZUdhcCgpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlG
b250KCktPmxpbmVHYXAoKTsgfQotICAgIGZsb2F0IHhIZWlnaHQoKSBjb25zdCB7IHJldHVybiBw
cmltYXJ5Rm9udCgpLT54SGVpZ2h0KCk7IH0KLSAgICB1bnNpZ25lZCB1bml0c1BlckVtKCkgY29u
c3QgeyByZXR1cm4gcHJpbWFyeUZvbnQoKS0+dW5pdHNQZXJFbSgpOyB9CisgICAgY29uc3QgRm9u
dE1ldHJpY3MmIGZvbnRNZXRyaWNzKCkgY29uc3QgeyByZXR1cm4gcHJpbWFyeUZvbnQoKS0+Zm9u
dE1ldHJpY3MoKTsgfQogICAgIGludCBzcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1cm4gKGludClj
ZWlsZihwcmltYXJ5Rm9udCgpLT5hZGp1c3RlZFNwYWNlV2lkdGgoKSArIG1fbGV0dGVyU3BhY2lu
Zyk7IH0KICAgICBmbG9hdCB0YWJXaWR0aChjb25zdCBTaW1wbGVGb250RGF0YSYgZm9udERhdGEp
IGNvbnN0IHsgcmV0dXJuIDggKiBjZWlsZihmb250RGF0YS5hZGp1c3RlZFNwYWNlV2lkdGgoKSAr
IGxldHRlclNwYWNpbmcoKSk7IH0KICAgICBpbnQgZW1waGFzaXNNYXJrQXNjZW50KGNvbnN0IEF0
b21pY1N0cmluZyYpIGNvbnN0OwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
RmFzdFBhdGguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dEZhc3RQYXRoLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRGYXN0UGF0aC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0MSw3ICsyNDEsNyBAQCBp
bnQgRm9udDo6ZW1waGFzaXNNYXJrQXNjZW50KGNvbnN0IEF0b21pCiAgICAgaWYgKCFtYXJrRm9u
dERhdGEpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIG1hcmtGb250RGF0YS0+YXNj
ZW50KCk7CisgICAgcmV0dXJuIG1hcmtGb250RGF0YS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKTsK
IH0KIAogaW50IEZvbnQ6OmVtcGhhc2lzTWFya0Rlc2NlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBt
YXJrKSBjb25zdApAQCAtMjU1LDcgKzI1NSw3IEBAIGludCBGb250OjplbXBoYXNpc01hcmtEZXNj
ZW50KGNvbnN0IEF0b20KICAgICBpZiAoIW1hcmtGb250RGF0YSkKICAgICAgICAgcmV0dXJuIDA7
CiAKLSAgICByZXR1cm4gbWFya0ZvbnREYXRhLT5kZXNjZW50KCk7CisgICAgcmV0dXJuIG1hcmtG
b250RGF0YS0+Zm9udE1ldHJpY3MoKS5kZXNjZW50KCk7CiB9CiAKIGludCBGb250OjplbXBoYXNp
c01hcmtIZWlnaHQoY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrKSBjb25zdApAQCAtMjY5LDcgKzI2
OSw3IEBAIGludCBGb250OjplbXBoYXNpc01hcmtIZWlnaHQoY29uc3QgQXRvbWkKICAgICBpZiAo
IW1hcmtGb250RGF0YSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICByZXR1cm4gbWFya0ZvbnRE
YXRhLT5oZWlnaHQoKTsKKyAgICByZXR1cm4gbWFya0ZvbnREYXRhLT5mb250TWV0cmljcygpLmhl
aWdodCgpOwogfQogCiBmbG9hdCBGb250OjpnZXRHbHlwaHNBbmRBZHZhbmNlc0ZvclNpbXBsZVRl
eHQoY29uc3QgVGV4dFJ1biYgcnVuLCBpbnQgZnJvbSwgaW50IHRvLCBHbHlwaEJ1ZmZlciYgZ2x5
cGhCdWZmZXIsIEZvclRleHRFbXBoYXNpc09yTm90IGZvclRleHRFbXBoYXNpcykgY29uc3QKQEAg
LTQwMyw4ICs0MDMsOCBAQCBmbG9hdCBGb250OjpmbG9hdFdpZHRoRm9yU2ltcGxlVGV4dChjb25z
CiAgICAgaXQuYWR2YW5jZShydW4ubGVuZ3RoKCksIGdseXBoQnVmZmVyKTsKIAogICAgIGlmIChn
bHlwaE92ZXJmbG93KSB7Ci0gICAgICAgIGdseXBoT3ZlcmZsb3ctPnRvcCA9IG1heDxpbnQ+KGds
eXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYoLWl0Lm1pbkdseXBoQm91bmRpbmdCb3hZKCkpIC0gYXNj
ZW50KCkpOwotICAgICAgICBnbHlwaE92ZXJmbG93LT5ib3R0b20gPSBtYXg8aW50PihnbHlwaE92
ZXJmbG93LT5ib3R0b20sIGNlaWxmKGl0Lm1heEdseXBoQm91bmRpbmdCb3hZKCkpIC0gZGVzY2Vu
dCgpKTsKKyAgICAgICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4PGludD4oZ2x5cGhPdmVyZmxv
dy0+dG9wLCBjZWlsZigtaXQubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSBmb250TWV0cmljcygp
LmFzY2VudCgpKTsKKyAgICAgICAgZ2x5cGhPdmVyZmxvdy0+Ym90dG9tID0gbWF4PGludD4oZ2x5
cGhPdmVyZmxvdy0+Ym90dG9tLCBjZWlsZihpdC5tYXhHbHlwaEJvdW5kaW5nQm94WSgpKSAtIGZv
bnRNZXRyaWNzKCkuZGVzY2VudCgpKTsKICAgICAgICAgZ2x5cGhPdmVyZmxvdy0+bGVmdCA9IGNl
aWxmKGl0LmZpcnN0R2x5cGhPdmVyZmxvdygpKTsKICAgICAgICAgZ2x5cGhPdmVyZmxvdy0+cmln
aHQgPSBjZWlsZihpdC5sYXN0R2x5cGhPdmVyZmxvdygpKTsKICAgICB9CkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEy
MyBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIw
MTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAg
ICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgICAgYWludCB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9u
LCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCisjaWZuZGVmIEZvbnRNZXRyaWNzX2gKKyNkZWZp
bmUgRm9udE1ldHJpY3NfaAorCisjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjb25zdCB1bnNpZ25lZCBnRGVmYXVsdFVuaXRzUGVyRW0gPSAxMDAw
OworCitjbGFzcyBGb250TWV0cmljcyB7CitwdWJsaWM6CisgICAgRm9udE1ldHJpY3MoKQorICAg
ICAgICA6IG1fdW5pdHNQZXJFbShnRGVmYXVsdFVuaXRzUGVyRW0pCisgICAgICAgICwgbV9hc2Nl
bnQoMCkKKyAgICAgICAgLCBtX2Rlc2NlbnQoMCkKKyAgICAgICAgLCBtX2xpbmVHYXAoMCkKKyAg
ICAgICAgLCBtX2xpbmVTcGFjaW5nKDApCisgICAgICAgICwgbV94SGVpZ2h0KDApCisgICAgewor
ICAgIH0KKworICAgIHVuc2lnbmVkIHVuaXRzUGVyRW0oKSBjb25zdCB7IHJldHVybiBtX3VuaXRz
UGVyRW07IH0KKyAgICB2b2lkIHNldFVuaXRzUGVyRW0odW5zaWduZWQgdW5pdHNQZXJFbSkgeyBt
X3VuaXRzUGVyRW0gPSB1bml0c1BlckVtOyB9CisKKyAgICBmbG9hdCBmbG9hdEFzY2VudChGb250
QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBjb25zdAorICAgIHsK
KyAgICAgICAgaWYgKGJhc2VsaW5lVHlwZSA9PSBBbHBoYWJldGljQmFzZWxpbmUpCisgICAgICAg
ICAgICByZXR1cm4gbV9hc2NlbnQ7CisgICAgICAgIHJldHVybiBmbG9hdEhlaWdodCgpIC8gMjsK
KyAgICB9CisKKyAgICB2b2lkIHNldEFzY2VudChmbG9hdCBhc2NlbnQpIHsgbV9hc2NlbnQgPSBh
c2NlbnQ7IH0KKworICAgIGZsb2F0IGZsb2F0RGVzY2VudChGb250QmFzZWxpbmUgYmFzZWxpbmVU
eXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKGJhc2Vs
aW5lVHlwZSA9PSBBbHBoYWJldGljQmFzZWxpbmUpCisgICAgICAgICAgICByZXR1cm4gbV9kZXNj
ZW50OworICAgICAgICByZXR1cm4gZmxvYXRIZWlnaHQoKSAvIDI7CisgICAgfQorCisgICAgdm9p
ZCBzZXREZXNjZW50KGZsb2F0IGRlc2NlbnQpIHsgbV9kZXNjZW50ID0gZGVzY2VudDsgfQorCisg
ICAgZmxvYXQgZmxvYXRIZWlnaHQoRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0
aWNCYXNlbGluZSkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmbG9hdEFzY2VudChiYXNl
bGluZVR5cGUpICsgZmxvYXREZXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgfQorCisgICAgZmxv
YXQgZmxvYXRMaW5lR2FwKCkgY29uc3QgeyByZXR1cm4gbV9saW5lR2FwOyB9CisgICAgdm9pZCBz
ZXRMaW5lR2FwKGZsb2F0IGxpbmVHYXApIHsgbV9saW5lR2FwID0gbGluZUdhcDsgfQorCisgICAg
ZmxvYXQgZmxvYXRMaW5lU3BhY2luZygpIGNvbnN0IHsgcmV0dXJuIG1fbGluZVNwYWNpbmc7IH0K
KyAgICB2b2lkIHNldExpbmVTcGFjaW5nKGZsb2F0IGxpbmVTcGFjaW5nKSB7IG1fbGluZVNwYWNp
bmcgPSBsaW5lU3BhY2luZzsgfQorCisgICAgZmxvYXQgeEhlaWdodCgpIGNvbnN0IHsgcmV0dXJu
IG1feEhlaWdodDsgfQorICAgIHZvaWQgc2V0WEhlaWdodChmbG9hdCB4SGVpZ2h0KSB7IG1feEhl
aWdodCA9IHhIZWlnaHQ7IH0KKworICAgIC8vIEludGVnZXIgdmFyaWFudHMgb2YgY2VydGFpbiBt
ZXRyaWNzLCB1c2VkIGZvciBIVE1MIHJlbmRlcmluZy4KKyAgICBpbnQgYXNjZW50KEZvbnRCYXNl
bGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0CisgICAgeworICAg
ICAgICBpZiAoYmFzZWxpbmVUeXBlID09IEFscGhhYmV0aWNCYXNlbGluZSkKKyAgICAgICAgICAg
IHJldHVybiBscm91bmRmKG1fYXNjZW50KTsKKyAgICAgICAgcmV0dXJuIGhlaWdodCgpIC0gaGVp
Z2h0KCkgLyAyOworICAgIH0KKworICAgIGludCBkZXNjZW50KEZvbnRCYXNlbGluZSBiYXNlbGlu
ZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0CisgICAgeworICAgICAgICBpZiAoYmFz
ZWxpbmVUeXBlID09IEFscGhhYmV0aWNCYXNlbGluZSkKKyAgICAgICAgICAgIHJldHVybiBscm91
bmRmKG1fZGVzY2VudCk7CisgICAgICAgIHJldHVybiBoZWlnaHQoKSAvIDI7CisgICAgfQorCisg
ICAgaW50IGhlaWdodChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2Vs
aW5lKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGFzY2VudChiYXNlbGluZVR5cGUpICsg
ZGVzY2VudChiYXNlbGluZVR5cGUpOworICAgIH0KKworICAgIGludCBsaW5lR2FwKCkgY29uc3Qg
eyByZXR1cm4gbHJvdW5kZihtX2xpbmVHYXApOyB9CisgICAgaW50IGxpbmVTcGFjaW5nKCkgY29u
c3QgeyByZXR1cm4gbHJvdW5kZihtX2xpbmVTcGFjaW5nKTsgfQorCitwcml2YXRlOgorICAgIGZy
aWVuZCBjbGFzcyBTaW1wbGVGb250RGF0YTsKKworICAgIHZvaWQgcmVzZXQoKQorICAgIHsKKyAg
ICAgICAgbV91bml0c1BlckVtID0gZ0RlZmF1bHRVbml0c1BlckVtOworICAgICAgICBtX2FzY2Vu
dCA9IDA7CisgICAgICAgIG1fZGVzY2VudCA9IDA7CisgICAgICAgIG1fbGluZUdhcCA9IDA7Cisg
ICAgICAgIG1fbGluZVNwYWNpbmcgPSAwOworICAgICAgICBtX3hIZWlnaHQgPSAwOworICAgIH0K
KworcHJpdmF0ZToKKyAgICB1bnNpZ25lZCBtX3VuaXRzUGVyRW07CisgICAgZmxvYXQgbV9hc2Nl
bnQ7CisgICAgZmxvYXQgbV9kZXNjZW50OworICAgIGZsb2F0IG1fbGluZUdhcDsKKyAgICBmbG9h
dCBtX2xpbmVTcGFjaW5nOworICAgIGZsb2F0IG1feEhlaWdodDsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEZvbnRNZXRyaWNzX2gKSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwCShyZXZpc2lvbiA3NDQ2NykKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01MCw3ICs1MCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIFNpbXBsZUZvbnREYXRh
OjpTaW1wbGVGb250RGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhJiBwbGF0Zm9ybURhdGEsIGJv
b2wgaXNDdXN0b21Gb250LCBib29sIGlzTG9hZGluZykKICAgICA6IG1fbWF4Q2hhcldpZHRoKC0x
KQogICAgICwgbV9hdmdDaGFyV2lkdGgoLTEpCi0gICAgLCBtX3VuaXRzUGVyRW0oZGVmYXVsdFVu
aXRzUGVyRW0pCiAgICAgLCBtX29yaWVudGF0aW9uKHBsYXRmb3JtRGF0YS5vcmllbnRhdGlvbigp
KQogICAgICwgbV9wbGF0Zm9ybURhdGEocGxhdGZvcm1EYXRhKQogICAgICwgbV90cmVhdEFzRml4
ZWRQaXRjaChmYWxzZSkKQEAgLTc0LDIzICs3MywyOSBAQCBTaW1wbGVGb250RGF0YTo6U2ltcGxl
Rm9udERhdGEoUGFzc093blB0CiAgICAgLCBtX2lzQnJva2VuSWRlb2dyYXBoRm9udChmYWxzZSkK
IHsKICAgICBTVkdGb250RmFjZUVsZW1lbnQqIHN2Z0ZvbnRGYWNlRWxlbWVudCA9IG1fc3ZnRm9u
dERhdGEtPnN2Z0ZvbnRGYWNlRWxlbWVudCgpOwotICAgIG1fdW5pdHNQZXJFbSA9IHN2Z0ZvbnRG
YWNlRWxlbWVudC0+dW5pdHNQZXJFbSgpOworICAgIHVuc2lnbmVkIHVuaXRzUGVyRW0gPSBzdmdG
b250RmFjZUVsZW1lbnQtPnVuaXRzUGVyRW0oKTsKIAotICAgIGRvdWJsZSBzY2FsZSA9IHNpemU7
Ci0gICAgaWYgKG1fdW5pdHNQZXJFbSkKLSAgICAgICAgc2NhbGUgLz0gbV91bml0c1BlckVtOwot
Ci0gICAgbV9hc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KHN2Z0ZvbnRGYWNlRWxlbWVudC0+YXNj
ZW50KCkgKiBzY2FsZSk7Ci0gICAgbV9kZXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50PihzdmdGb250
RmFjZUVsZW1lbnQtPmRlc2NlbnQoKSAqIHNjYWxlKTsKLSAgICBtX3hIZWlnaHQgPSBzdGF0aWNf
Y2FzdDxpbnQ+KHN2Z0ZvbnRGYWNlRWxlbWVudC0+eEhlaWdodCgpICogc2NhbGUpOwotICAgIG1f
bGluZUdhcCA9IDAuMWYgKiBzaXplOwotICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1f
ZGVzY2VudCArIG1fbGluZUdhcDsKKyAgICBmbG9hdCBzY2FsZSA9IHNpemU7CisgICAgaWYgKHVu
aXRzUGVyRW0pCisgICAgICAgIHNjYWxlIC89IHVuaXRzUGVyRW07CisKKyAgICAvLyBGSVhNRTog
VXNlIGZsb2F0aW5nLXBvaW50IG1ldHJpY3MsIG5vdyB0aGF0IHRoZXkncmUgZXhwb3NlZCEKKyAg
ICBpbnQgeEhlaWdodCA9IHN0YXRpY19jYXN0PGludD4oc3ZnRm9udEZhY2VFbGVtZW50LT54SGVp
Z2h0KCkgKiBzY2FsZSk7CisgICAgaW50IGFzY2VudCA9IHN0YXRpY19jYXN0PGludD4oc3ZnRm9u
dEZhY2VFbGVtZW50LT5hc2NlbnQoKSAqIHNjYWxlKTsKKyAgICBpbnQgZGVzY2VudCA9IHN0YXRp
Y19jYXN0PGludD4oc3ZnRm9udEZhY2VFbGVtZW50LT5kZXNjZW50KCkgKiBzY2FsZSk7CisgICAg
aW50IGxpbmVHYXAgPSAwLjFmICogc2l6ZTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFVuaXRzUGVy
RW0odW5pdHNQZXJFbSk7CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAg
ICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoZGVzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5z
ZXRMaW5lR2FwKGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNj
ZW50ICsgZGVzY2VudCArIGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh4
SGVpZ2h0KTsKIAogICAgIFNWR0ZvbnRFbGVtZW50KiBhc3NvY2lhdGVkRm9udEVsZW1lbnQgPSBz
dmdGb250RmFjZUVsZW1lbnQtPmFzc29jaWF0ZWRGb250RWxlbWVudCgpOwogCiAgICAgVmVjdG9y
PFNWR0dseXBoSWRlbnRpZmllcj4gc3BhY2VHbHlwaHM7CiAgICAgYXNzb2NpYXRlZEZvbnRFbGVt
ZW50LT5nZXRHbHlwaElkZW50aWZpZXJzRm9yU3RyaW5nKFN0cmluZygiICIsIDEpLCBzcGFjZUds
eXBocyk7Ci0gICAgbV9zcGFjZVdpZHRoID0gc3BhY2VHbHlwaHMuaXNFbXB0eSgpID8gbV94SGVp
Z2h0IDogc3RhdGljX2Nhc3Q8ZmxvYXQ+KHNwYWNlR2x5cGhzLmZpcnN0KCkuaG9yaXpvbnRhbEFk
dmFuY2VYICogc2NhbGUpOworICAgIG1fc3BhY2VXaWR0aCA9IHNwYWNlR2x5cGhzLmlzRW1wdHko
KSA/IHhIZWlnaHQgOiBzdGF0aWNfY2FzdDxmbG9hdD4oc3BhY2VHbHlwaHMuZmlyc3QoKS5ob3Jp
em9udGFsQWR2YW5jZVggKiBzY2FsZSk7CiAKICAgICBWZWN0b3I8U1ZHR2x5cGhJZGVudGlmaWVy
PiBudW1lcmFsWmVyb0dseXBoczsKICAgICBhc3NvY2lhdGVkRm9udEVsZW1lbnQtPmdldEdseXBo
SWRlbnRpZmllcnNGb3JTdHJpbmcoU3RyaW5nKCIwIiwgMSksIG51bWVyYWxaZXJvR2x5cGhzKTsK
QEAgLTk4LDcgKzEwMyw3IEBAIFNpbXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YShQYXNzT3du
UHQKIAogICAgIFZlY3RvcjxTVkdHbHlwaElkZW50aWZpZXI+IGxldHRlcldHbHlwaHM7CiAgICAg
YXNzb2NpYXRlZEZvbnRFbGVtZW50LT5nZXRHbHlwaElkZW50aWZpZXJzRm9yU3RyaW5nKFN0cmlu
ZygiVyIsIDEpLCBsZXR0ZXJXR2x5cGhzKTsKLSAgICBtX21heENoYXJXaWR0aCA9IGxldHRlcldH
bHlwaHMuaXNFbXB0eSgpID8gbV9hc2NlbnQgOiBzdGF0aWNfY2FzdDxmbG9hdD4obGV0dGVyV0ds
eXBocy5maXJzdCgpLmhvcml6b250YWxBZHZhbmNlWCAqIHNjYWxlKTsKKyAgICBtX21heENoYXJX
aWR0aCA9IGxldHRlcldHbHlwaHMuaXNFbXB0eSgpID8gYXNjZW50IDogc3RhdGljX2Nhc3Q8Zmxv
YXQ+KGxldHRlcldHbHlwaHMuZmlyc3QoKS5ob3Jpem9udGFsQWR2YW5jZVggKiBzY2FsZSk7CiAK
ICAgICAvLyBGSVhNRTogaXMgdGhlcmUgYSB3YXkgd2UgY2FuIGdldCB0aGUgc3BhY2UgZ2x5cGgg
ZnJvbSB0aGUgU1ZHR2x5cGhJZGVudGlmaWVyIGFib3ZlPwogICAgIG1fc3BhY2VHbHlwaCA9IDA7
CkBAIC0xMjYsMTAgKzEzMSwxMSBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjppbml0Q2hhcldpZHRo
cygpCiAKICAgICAvLyBJZiB3ZSBjYW4ndCByZXRyaWV2ZSB0aGUgd2lkdGggb2YgYSAnMCcsIGZh
bGwgYmFjayB0byB0aGUgeCBoZWlnaHQuCiAgICAgaWYgKG1fYXZnQ2hhcldpZHRoIDw9IDAuZikK
LSAgICAgICAgbV9hdmdDaGFyV2lkdGggPSBtX3hIZWlnaHQ7CisgICAgICAgIG1fYXZnQ2hhcldp
ZHRoID0gbV9mb250TWV0cmljcy54SGVpZ2h0KCk7CiAKKyAgICAvLyBGSVhNRTogVXNlIGZsb2F0
aW5nLXBvaW50IG1ldHJpY3MsIG5vdyB0aGF0IHRoZXkncmUgZXhwb3NlZCEKICAgICBpZiAobV9t
YXhDaGFyV2lkdGggPD0gMC5mKQotICAgICAgICBtX21heENoYXJXaWR0aCA9IG1heDxmbG9hdD4o
bV9hdmdDaGFyV2lkdGgsIG1fYXNjZW50KTsKKyAgICAgICAgbV9tYXhDaGFyV2lkdGggPSBtYXg8
ZmxvYXQ+KG1fYXZnQ2hhcldpZHRoLCBtX2ZvbnRNZXRyaWNzLmFzY2VudCgpKTsKIH0KIAogdm9p
ZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1HbHlwaEluaXQoKQpJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgJKHdvcmtpbmcgY29weSkKQEAg
LTI2LDYgKzI2LDcgQEAKIAogI2luY2x1ZGUgIkZvbnRCYXNlbGluZS5oIgogI2luY2x1ZGUgIkZv
bnREYXRhLmgiCisjaW5jbHVkZSAiRm9udE1ldHJpY3MuaCIKICNpbmNsdWRlICJGb250UGxhdGZv
cm1EYXRhLmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiR2x5cGhNZXRyaWNz
TWFwLmgiCkBAIC0xMDEsMTUgKzEwMiw5IEBAIHB1YmxpYzoKICAgICAvLyBGSVhNRTogVXNlIHRo
ZSBhY3R1YWwgbWV0cmljcyBmb3IgZm9udHMgd2l0aCB2ZXJ0aWNhbCB0YWJsZXMgaW5zdGVhZCBv
ZiBqdXN0IGhhcmQtY29kaW5nLiAgSWYgdGhlIGZvbnQgaXMgaG9yaXpvbnRhbGx5IG9yaWVudGVk
IG9yCiAgICAgLy8gYSBicm9rZW4gaWRlb2dyYXBoaWMgZm9udCwgdGhlbiBqdXN0IGhhcmQtY29k
ZSB0byBzcGxpdCBhc2NlbnQvZGVzY2VudCBkb3duIHRoZSBtaWRkbGUuICBPdGhlcndpc2Ugd2Ug
c2hvdWxkIGFjdHVhbGx5IHVzZSB0aGUgbWV0cmljcwogICAgIC8vIGZyb20gdGhlIGZvbnQgaXRz
ZWxmLgotICAgIGludCBhc2NlbnQoRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0
aWNCYXNlbGluZSkgY29uc3QgeyByZXR1cm4gYmFzZWxpbmVUeXBlID09IEFscGhhYmV0aWNCYXNl
bGluZSA/IG1fYXNjZW50IDogaGVpZ2h0KCkgLSBoZWlnaHQoKSAvIDI7IH0KLSAgICBpbnQgZGVz
Y2VudChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBjb25z
dCB7IHJldHVybiBiYXNlbGluZVR5cGUgPT0gQWxwaGFiZXRpY0Jhc2VsaW5lID8gbV9kZXNjZW50
IDogaGVpZ2h0KCkgLyAyOyB9Ci0gICAgaW50IGhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1fYXNj
ZW50ICsgbV9kZXNjZW50OyB9Ci0gICAgaW50IGxpbmVTcGFjaW5nKCkgY29uc3QgeyByZXR1cm4g
bV9saW5lU3BhY2luZzsgfQotICAgIGludCBsaW5lR2FwKCkgY29uc3QgeyByZXR1cm4gbV9saW5l
R2FwOyB9CisgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzKCkgY29uc3QgeyByZXR1
cm4gbV9mb250TWV0cmljczsgfQogICAgIGZsb2F0IG1heENoYXJXaWR0aCgpIGNvbnN0IHsgcmV0
dXJuIG1fbWF4Q2hhcldpZHRoOyB9CiAgICAgZmxvYXQgYXZnQ2hhcldpZHRoKCkgY29uc3QgeyBy
ZXR1cm4gbV9hdmdDaGFyV2lkdGg7IH0KLSAgICBmbG9hdCB4SGVpZ2h0KCkgY29uc3QgeyByZXR1
cm4gbV94SGVpZ2h0OyB9Ci0gICAgdW5zaWduZWQgdW5pdHNQZXJFbSgpIGNvbnN0IHsgcmV0dXJu
IG1fdW5pdHNQZXJFbTsgfQogCiAgICAgRmxvYXRSZWN0IGJvdW5kc0ZvckdseXBoKEdseXBoKSBj
b25zdDsKICAgICBmbG9hdCB3aWR0aEZvckdseXBoKEdseXBoIGdseXBoKSBjb25zdDsKQEAgLTIx
MSwxNCArMjA2LDkgQEAgcHJpdmF0ZToKICAgICBmbG9hdCB3aWR0aEZvckdESUdseXBoKEdseXBo
IGdseXBoKSBjb25zdDsKICNlbmRpZgogCi0gICAgaW50IG1fYXNjZW50OwotICAgIGludCBtX2Rl
c2NlbnQ7Ci0gICAgaW50IG1fbGluZVNwYWNpbmc7Ci0gICAgaW50IG1fbGluZUdhcDsKKyAgICBG
b250TWV0cmljcyBtX2ZvbnRNZXRyaWNzOwogICAgIGZsb2F0IG1fbWF4Q2hhcldpZHRoOwogICAg
IGZsb2F0IG1fYXZnQ2hhcldpZHRoOwotICAgIGZsb2F0IG1feEhlaWdodDsKLSAgICB1bnNpZ25l
ZCBtX3VuaXRzUGVyRW07CiAgICAgCiAgICAgRm9udE9yaWVudGF0aW9uIG1fb3JpZW50YXRpb247
IC8vIFRoaXMgaXMgb3VyIHN1cHBvcnRlZCBvcmllbnRhdGlvbiBhY2NvcmRpbmcgdG8gdGhlIHRh
YmxlcyBpbiB0aGUgZm9udC4gIEZvbnRQbGF0Zm9ybURhdGEgd2lsbCBqdXN0IGFsd2F5cyBoYXZl
IHRoZSBkZXNpcmVkIG9yaWVudGF0aW9uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyBUaGlzIHZhbHVlIHJlcHJlc2VudHMgd2hhdCB3ZSBhY3R1YWxseSBzdXBwb3J0LgpJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2hyb21pdW1XaW4u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9u
dENocm9taXVtV2luLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1bVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0
NiwxMCArMjQ2LDExIEBAIEludFJlY3QgVHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50ZXI6OmUK
ICAgICBmb3IgKGludCBpID0gMDsgaSA8IG1fbnVtR2x5cGhzOyBpKyspCiAgICAgICAgIHRvdGFs
V2lkdGggKz0gbHJvdW5kZihtX2dseXBoQnVmZmVyLmFkdmFuY2VBdChtX2Zyb20gKyBpKSk7CiAK
LSAgICByZXR1cm4gSW50UmVjdChtX3BvaW50LngoKSAtIChtX2ZvbnQtPmFzY2VudCgpICsgbV9m
b250LT5kZXNjZW50KCkpIC8gMiwKLSAgICAgICAgICAgICAgICAgICBtX3BvaW50LnkoKSAtIG1f
Zm9udC0+YXNjZW50KCkgLSBtX2ZvbnQtPmxpbmVHYXAoKSwKLSAgICAgICAgICAgICAgICAgICB0
b3RhbFdpZHRoICsgbV9mb250LT5hc2NlbnQoKSArIG1fZm9udC0+ZGVzY2VudCgpLAotICAgICAg
ICAgICAgICAgICAgIG1fZm9udC0+bGluZVNwYWNpbmcoKSk7IAorICAgIGNvbnN0IEZvbnRNZXRy
aWNzJiBmb250TWV0cmljcyA9IG1fZm9udC0+Zm9udE1ldHJpY3MoKTsKKyAgICByZXR1cm4gSW50
UmVjdChtX3BvaW50LngoKSAtIChmb250TWV0cmljcy5hc2NlbnQoKSArIGZvbnRNZXRyaWNzLmRl
c2NlbnQoKSkgLyAyLAorICAgICAgICAgICAgICAgICAgIG1fcG9pbnQueSgpIC0gZm9udE1ldHJp
Y3MuYXNjZW50KCkgLSBmb250TWV0cmljcy5saW5lR2FwKCksCisgICAgICAgICAgICAgICAgICAg
dG90YWxXaWR0aCArIGZvbnRNZXRyaWNzLmFzY2VudCgpICsgZm9udE1ldHJpY3MuZGVzY2VudCgp
LAorICAgICAgICAgICAgICAgICAgIGZvbnRNZXRyaWNzLmxpbmVTcGFjaW5nKCkpOyAKIH0KIAog
Ym9vbCBUcmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRlcjo6ZHJhd0dseXBocyhpbnQgbnVtR2x5
cGhzLApAQCAtMjcwLDcgKzI3MSw3IEBAIGJvb2wgVHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50
ZXI6OmRyYXcKICAgICAvLyBXaW5kb3dzJyBvcmlnaW4gaXMgdGhlIHRvcC1sZWZ0IG9mIHRoZSBi
b3VuZGluZyBib3gsIHNvIHdlIGhhdmUKICAgICAvLyB0byBzdWJ0cmFjdCBvZmYgdGhlIGZvbnQg
YXNjZW50IHRvIGdldCBpdC4KICAgICBpbnQgeCA9IGxyb3VuZGYobV9wb2ludC54KCkgKyBzdGFy
dEFkdmFuY2UpOwotICAgIGludCB5ID0gbHJvdW5kZihtX3BvaW50LnkoKSAtIG1fZm9udC0+YXNj
ZW50KCkpOworICAgIGludCB5ID0gbHJvdW5kZihtX3BvaW50LnkoKSAtIG1fZm9udC0+Zm9udE1l
dHJpY3MoKS5hc2NlbnQoKSk7CiAKICAgICAvLyBJZiB0aGVyZSBpcyBhIG5vbi1ibHVyIHNoYWRv
dyBhbmQgYm90aCB0aGUgZmlsbCBjb2xvciBhbmQgc2hhZG93IGNvbG9yIAogICAgIC8vIGFyZSBv
cGFxdWUsIGhhbmRsZSB3aXRob3V0IHNraWEuIApAQCAtMzU0LDEwICszNTUsMTEgQEAgSW50UmVj
dCBUcmFuc3BhcmVuY3lBd2FyZVVuaXNjcmliZVBhaW50ZQogICAgIC8vIFRoaXMgYWxnb3JpdGht
IGZvciBlc3RpbWF0aW5nIGhvdyBtdWNoIGV4dHJhIHNwYWNlIHdlIG5lZWQgKHRoZSB0ZXh0IG1h
eQogICAgIC8vIGdvIG91dHNpZGUgdGhlIHNlbGVjdGlvbiByZWN0KSBpcyBiYXNlZCByb3VnaGx5
IG9uCiAgICAgLy8gVHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50ZXI6OmVzdGltYXRlVGV4dEJv
dW5kcyBhYm92ZS4KLSAgICByZXR1cm4gSW50UmVjdChsZWZ0IC0gKG1fZm9udC0+YXNjZW50KCkg
KyBtX2ZvbnQtPmRlc2NlbnQoKSkgLyAyLAotICAgICAgICAgICAgICAgICAgIG1fcG9pbnQueSgp
IC0gbV9mb250LT5hc2NlbnQoKSAtIG1fZm9udC0+bGluZUdhcCgpLAotICAgICAgICAgICAgICAg
ICAgIChyaWdodCAtIGxlZnQpICsgbV9mb250LT5hc2NlbnQoKSArIG1fZm9udC0+ZGVzY2VudCgp
LAotICAgICAgICAgICAgICAgICAgIG1fZm9udC0+bGluZVNwYWNpbmcoKSk7CisgICAgY29uc3Qg
Rm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gbV9mb250LT5mb250TWV0cmljcygpOworICAgIHJl
dHVybiBJbnRSZWN0KGxlZnQgLSAoZm9udE1ldHJpY3MuYXNjZW50KCkgKyBmb250TWV0cmljcy5k
ZXNjZW50KCkpIC8gMiwKKyAgICAgICAgICAgICAgICAgICBtX3BvaW50LnkoKSAtIGZvbnRNZXRy
aWNzLmFzY2VudCgpIC0gZm9udE1ldHJpY3MubGluZUdhcCgpLAorICAgICAgICAgICAgICAgICAg
IChyaWdodCAtIGxlZnQpICsgZm9udE1ldHJpY3MuYXNjZW50KCkgKyBmb250TWV0cmljcy5kZXNj
ZW50KCksCisgICAgICAgICAgICAgICAgICAgZm9udE1ldHJpY3MubGluZVNwYWNpbmcoKSk7CiB9
CiAKIH0gIC8vIG5hbWVzcGFjZQpAQCAtNDk2LDE0ICs0OTgsMTQgQEAgdm9pZCBGb250OjpkcmF3
Q29tcGxleFRleHQoR3JhcGhpY3NDb250ZQogICAgICAgICBDT0xPUlJFRiBzYXZlZFRleHRDb2xv
ciA9IEdldFRleHRDb2xvcihoZGMpOwogICAgICAgICBTZXRUZXh0Q29sb3IoaGRjLCB0ZXh0Q29s
b3IpOwogICAgICAgICBzdGF0ZS5kcmF3KGdyYXBoaWNzQ29udGV4dCwgaGRjLCBzdGF0aWNfY2Fz
dDxpbnQ+KHBvaW50LngoKSkgKyBzaGFkb3dPZmZzZXQud2lkdGgoKSwKLSAgICAgICAgICAgICAg
ICAgICBzdGF0aWNfY2FzdDxpbnQ+KHBvaW50LnkoKSAtIGFzY2VudCgpKSArIHNoYWRvd09mZnNl
dC5oZWlnaHQoKSwgZnJvbSwgdG8pOworICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGlu
dD4ocG9pbnQueSgpIC0gZm9udE1ldHJpY3MoKS5hc2NlbnQoKSkgKyBzaGFkb3dPZmZzZXQuaGVp
Z2h0KCksIGZyb20sIHRvKTsKICAgICAgICAgU2V0VGV4dENvbG9yKGhkYywgc2F2ZWRUZXh0Q29s
b3IpOyAKICAgICB9CiAKICAgICAvLyBVbmlzY3JpYmUgY291bnRzIHRoZSBjb29yZGluYXRlcyBm
cm9tIHRoZSB1cHBlciBsZWZ0LCB3aGlsZSBXZWJLaXQgdXNlcwogICAgIC8vIHRoZSBiYXNlbGlu
ZSwgc28gd2UgaGF2ZSB0byBzdWJ0cmFjdCBvZmYgdGhlIGFzY2VudC4KICAgICBzdGF0ZS5kcmF3
KGdyYXBoaWNzQ29udGV4dCwgaGRjLCBzdGF0aWNfY2FzdDxpbnQ+KHBvaW50LngoKSksCi0gICAg
ICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KHBvaW50LnkoKSAtIGFzY2VudCgpKSwgZnJvbSwg
dG8pOworICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihwb2ludC55KCkgLSBmb250TWV0
cmljcygpLmFzY2VudCgpKSwgZnJvbSwgdG8pOwogCiAgICAgY29udGV4dC0+Y2FudmFzKCktPmVu
ZFBsYXRmb3JtUGFpbnQoKTsKIH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vU2ltcGxlRm9udERhdGFDaHJvbWl1bVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNw
cAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1NpbXBsZUZvbnREYXRhQ2hyb21pdW1XaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCwxNCAr
NTQsOSBAQCBzdGF0aWMgaW5saW5lIGZsb2F0IHNjYWxlRW1Ub1VuaXRzKGZsb2F0CiB2b2lkIFNp
bXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogewogICAgIGlmICghbV9wbGF0Zm9ybURhdGEu
c2l6ZSgpKSB7Ci0gICAgICAgIG1fYXNjZW50ID0gMDsKLSAgICAgICAgbV9kZXNjZW50ID0gMDsK
LSAgICAgICAgbV9saW5lR2FwID0gMDsKLSAgICAgICAgbV9saW5lU3BhY2luZyA9IDA7CisgICAg
ICAgIG1fZm9udE1ldHJpY3MucmVzZXQoKTsKICAgICAgICAgbV9hdmdDaGFyV2lkdGggPSAwOwog
ICAgICAgICBtX21heENoYXJXaWR0aCA9IDA7Ci0gICAgICAgIG1feEhlaWdodCA9IDA7Ci0gICAg
ICAgIG1fdW5pdHNQZXJFbSA9IDA7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTgyLDEw
ICs3NywxMSBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgIG1fYXZn
Q2hhcldpZHRoID0gdGV4dE1ldHJpYy50bUF2ZUNoYXJXaWR0aDsKICAgICBtX21heENoYXJXaWR0
aCA9IHRleHRNZXRyaWMudG1NYXhDaGFyV2lkdGg7CiAKLSAgICBtX2FzY2VudCA9IHRleHRNZXRy
aWMudG1Bc2NlbnQ7Ci0gICAgbV9kZXNjZW50ID0gdGV4dE1ldHJpYy50bURlc2NlbnQ7Ci0gICAg
bV9saW5lR2FwID0gdGV4dE1ldHJpYy50bUV4dGVybmFsTGVhZGluZzsKLSAgICBtX3hIZWlnaHQg
PSBtX2FzY2VudCAqIDAuNTZmOyAgLy8gQmVzdCBndWVzcyBmb3IgeEhlaWdodCBmb3Igbm9uLVRy
dWV0eXBlIGZvbnRzLgorICAgIC8vIEZJWE1FOiBBY2Nlc3MgYXNjZW50L2Rlc2NlbnQvbGluZUdh
cCB3aXRoIGZsb2F0aW5nIHBvaW50IHByZWNpc2lvbi4KKyAgICBmbG9hdCBhc2NlbnQgPSB0ZXh0
TWV0cmljLnRtQXNjZW50OworICAgIGZsb2F0IGRlc2NlbnQgPSB0ZXh0TWV0cmljLnRtRGVzY2Vu
dDsKKyAgICBmbG9hdCBsaW5lR2FwID0gdGV4dE1ldHJpYy50bUV4dGVybmFsTGVhZGluZzsKKyAg
ICBmbG9hdCB4SGVpZ2h0ID0gYXNjZW50ICogMC41NmY7IC8vIEJlc3QgZ3Vlc3MgZm9yIHhIZWln
aHQgZm9yIG5vbi1UcnVldHlwZSBmb250cy4KIAogICAgIE9VVExJTkVURVhUTUVUUklDIG91dGxp
bmVUZXh0TWV0cmljOwogICAgIGlmIChHZXRPdXRsaW5lVGV4dE1ldHJpY3MoZGMsIHNpemVvZihv
dXRsaW5lVGV4dE1ldHJpYyksICZvdXRsaW5lVGV4dE1ldHJpYykgPiAwKSB7CkBAIC05NCwxMCAr
OTAsMTQgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICAgICAgTUFU
MiBpZGVudGl0eU1hdHJpeCA9IHt7MCwgMX0sIHswLCAwfSwgezAsIDB9LCB7MCwgMX19OwogICAg
ICAgICBEV09SRCBsZW4gPSBHZXRHbHlwaE91dGxpbmVXKGRjLCAneCcsIEdHT19NRVRSSUNTLCAm
Z2x5cGhNZXRyaWNzLCAwLCAwLCAmaWRlbnRpdHlNYXRyaXgpOwogICAgICAgICBpZiAobGVuICE9
IEdESV9FUlJPUiAmJiBnbHlwaE1ldHJpY3MuZ21CbGFja0JveFkgPiAwKQotICAgICAgICAgICAg
bV94SGVpZ2h0ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdseXBoTWV0cmljcy5nbUJsYWNrQm94WSk7
CisgICAgICAgICAgICB4SGVpZ2h0ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdseXBoTWV0cmljcy5n
bUJsYWNrQm94WSk7CiAgICAgfQogCi0gICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9k
ZXNjZW50ICsgbV9saW5lR2FwOworICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGFzY2VudCk7
CisgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGRlc2NlbnQpOworICAgIG1fZm9udE1ldHJp
Y3Muc2V0TGluZUdhcChsaW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5n
KGFzY2VudCArIGRlc2NlbnQgKyBsaW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWln
aHQoeEhlaWdodCk7CiAKICAgICBTZWxlY3RPYmplY3QoZGMsIG9sZEZvbnQpOwogICAgIFJlbGVh
c2VEQygwLCBkYyk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Np
bXBsZUZvbnREYXRhTGludXguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFMaW51eC5jcHAJKHJldmlzaW9uIDc0NDY3KQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUxpbnV4
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUsMTQgKzU1LDkgQEAgc3RhdGljIGNvbnN0IHNpemVf
dCBtYXhWRE1YVGFibGVTaXplID0gMQogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0
KCkKIHsKICAgICBpZiAoIW1fcGxhdGZvcm1EYXRhLnNpemUoKSkgewotICAgICAgICBtX2FzY2Vu
dCA9IDA7Ci0gICAgICAgIG1fZGVzY2VudCA9IDA7Ci0gICAgICAgIG1fbGluZUdhcCA9IDA7Ci0g
ICAgICAgIG1fbGluZVNwYWNpbmcgPSAwOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnJlc2V0KCk7
CiAgICAgICAgIG1fYXZnQ2hhcldpZHRoID0gMDsKICAgICAgICAgbV9tYXhDaGFyV2lkdGggPSAw
OwotICAgICAgICBtX3hIZWlnaHQgPSAwOwotICAgICAgICBtX3VuaXRzUGVyRW0gPSAwOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCkBAIC04OCwyNiArODMsMzYgQEAgdm9pZCBTaW1wbGVGb250
RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICAgICAgZmFzdEZyZWUodmRteFRhYmxlKTsKICAgICB9
CiAKKyAgICBmbG9hdCBhc2NlbnQ7CisgICAgZmxvYXQgZGVzY2VudDsKKwogICAgIC8vIEJld2Fy
ZSB0aG9zZSB3aG8gc3RlcCBoZXJlOiBUaGlzIGNvZGUgaXMgZGVzaWduZWQgdG8gbWF0Y2ggV2lu
MzIgZm9udAogICAgIC8vIG1ldHJpY3MgKmV4YWN0bHkqLgogICAgIGlmIChpc1ZETVhWYWxpZCkg
ewotICAgICAgICBtX2FzY2VudCA9IHZkbXhBc2NlbnQ7Ci0gICAgICAgIG1fZGVzY2VudCA9IC12
ZG14RGVzY2VudDsKKyAgICAgICAgLy8gRklYTUU6IEFjY2VzcyBhc2NlbnQvZGVzY2VudCB3aXRo
IGZsb2F0aW5nIHBvaW50IHByZWNpc2lvbi4KKyAgICAgICAgYXNjZW50ID0gdmRteEFzY2VudDsK
KyAgICAgICAgZGVzY2VudCA9IC12ZG14RGVzY2VudDsKICAgICB9IGVsc2UgewogICAgICAgICBT
a1NjYWxhciBoZWlnaHQgPSAtbWV0cmljcy5mQXNjZW50ICsgbWV0cmljcy5mRGVzY2VudCArIG1l
dHJpY3MuZkxlYWRpbmc7Ci0gICAgICAgIG1fYXNjZW50ID0gU2tTY2FsYXJSb3VuZCgtbWV0cmlj
cy5mQXNjZW50KTsKLSAgICAgICAgbV9kZXNjZW50ID0gU2tTY2FsYXJSb3VuZChoZWlnaHQpIC0g
bV9hc2NlbnQ7CisgICAgICAgIGFzY2VudCA9IFNrU2NhbGFyVG9GbG9hdCgtbWV0cmljcy5mQXNj
ZW50KTsKKyAgICAgICAgZGVzY2VudCA9IFNrU2NhbGFyVG9GbG9hdChoZWlnaHQpIC0gYXNjZW50
OwogICAgIH0KIAorICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGFzY2VudCk7CisgICAgbV9m
b250TWV0cmljcy5zZXREZXNjZW50KGRlc2NlbnQpOworCisgICAgZmxvYXQgeEhlaWdodDsKICAg
ICBpZiAobWV0cmljcy5mWEhlaWdodCkKLSAgICAgICAgbV94SGVpZ2h0ID0gbWV0cmljcy5mWEhl
aWdodDsKKyAgICAgICAgeEhlaWdodCA9IG1ldHJpY3MuZlhIZWlnaHQ7CiAgICAgZWxzZSB7CiAg
ICAgICAgIC8vIGhhY2sgdGFrZW4gZnJvbSB0aGUgV2luZG93cyBwb3J0Ci0gICAgICAgIG1feEhl
aWdodCA9IHN0YXRpY19jYXN0PGZsb2F0PihtX2FzY2VudCkgKiAwLjU2OworICAgICAgICB4SGVp
Z2h0ID0gYXNjZW50ICogMC41NmY7CiAgICAgfQogCi0gICAgbV9saW5lR2FwID0gU2tTY2FsYXJS
b3VuZChtZXRyaWNzLmZMZWFkaW5nKTsKLSAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBt
X2Rlc2NlbnQgKyBtX2xpbmVHYXA7CisgICAgZmxvYXQgbGluZUdhcCA9IFNrU2NhbGFyVG9GbG9h
dChtZXRyaWNzLmZMZWFkaW5nKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZUdh
cCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhhc2NlbnQgKyBkZXNjZW50ICsg
bGluZUdhcCk7CisgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHhIZWlnaHQpOwogCiAgICAg
aWYgKG1fb3JpZW50YXRpb24gPT0gVmVydGljYWwpIHsKICAgICAgICAgc3RhdGljIGNvbnN0IHVp
bnQzMl90IHZoZWFUYWcgPSBTa1NldEZvdXJCeXRlVGFnKCd2JywgJ2gnLCAnZScsICdhJyk7CkBA
IC0xMjgsNyArMTMzLDcgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAg
ICBpZiAobWV0cmljcy5mQXZnQ2hhcldpZHRoKQogICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9IFNr
U2NhbGFyUm91bmQobWV0cmljcy5mQXZnQ2hhcldpZHRoKTsKICAgICBlbHNlIHsKLSAgICAgICAg
bV9hdmdDaGFyV2lkdGggPSBtX3hIZWlnaHQ7CisgICAgICAgIG1fYXZnQ2hhcldpZHRoID0geEhl
aWdodDsKIAogICAgICAgICBHbHlwaFBhZ2UqIGdseXBoUGFnZVplcm8gPSBHbHlwaFBhZ2VUcmVl
Tm9kZTo6Z2V0Um9vdENoaWxkKHRoaXMsIDApLT5wYWdlKCk7CiAKSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVW5pc2NyaWJlSGVscGVyVGV4dFJ1bi5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9VbmlzY3JpYmVIZWxw
ZXJUZXh0UnVuLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL1VuaXNjcmliZUhlbHBlclRleHRSdW4uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01MCw3ICs1MCw3IEBAIFVuaXNjcmliZUhlbHBlclRleHRSdW46OlVuaXNjcmliZUhlbHBlclQK
ICAgICBzZXRMZXR0ZXJTcGFjaW5nKGZvbnQubGV0dGVyU3BhY2luZygpKTsKICAgICBzZXRTcGFj
ZVdpZHRoKGZvbnQuc3BhY2VXaWR0aCgpKTsKICAgICBzZXRXb3JkU3BhY2luZyhmb250LndvcmRT
cGFjaW5nKCkpOwotICAgIHNldEFzY2VudChmb250LnByaW1hcnlGb250KCktPmFzY2VudCgpKTsK
KyAgICBzZXRBc2NlbnQoZm9udC5mb250TWV0cmljcygpLT5hc2NlbnQoKSk7CiAKICAgICBpbml0
KCk7CiAKQEAgLTEyMCw3ICsxMjAsNyBAQCBib29sIFVuaXNjcmliZUhlbHBlclRleHRSdW46Om5l
eHRXaW5Gb250CiAgICAgICAgIG1faGZvbnRzLmFwcGVuZChzaW1wbGVGb250RGF0YS0+cGxhdGZv
cm1EYXRhKCkuaGZvbnQoKSk7CiAgICAgICAgIG1fc2NyaXB0Q2FjaGVzLmFwcGVuZChzaW1wbGVG
b250RGF0YS0+cGxhdGZvcm1EYXRhKCkuc2NyaXB0Q2FjaGUoKSk7CiAgICAgICAgIG1fZm9udFBy
b3BlcnRpZXMuYXBwZW5kKHNpbXBsZUZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5zY3JpcHRGb250
UHJvcGVydGllcygpKTsKLSAgICAgICAgbV9hc2NlbnRzLmFwcGVuZChzaW1wbGVGb250RGF0YS0+
YXNjZW50KCkpOworICAgICAgICBtX2FzY2VudHMuYXBwZW5kKHNpbXBsZUZvbnREYXRhLT5mb250
TWV0cmljcygpLmFzY2VudCgpKTsKICAgICB9CiAKICAgICAqaGZvbnQgPSBtX2hmb250c1ttX2Zv
bnRJbmRleCAtIDFdOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9T
aW1wbGVGb250RGF0YUZyZWVUeXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZyZWV0eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUuY3BwCShyZXZpc2lvbiA3
NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERh
dGFGcmVlVHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwLDIxICs1MCwyNyBAQCB2b2lkIFNp
bXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgIGNhaXJvX2ZvbnRfZXh0ZW50c190IGZv
bnRfZXh0ZW50czsKICAgICBjYWlyb190ZXh0X2V4dGVudHNfdCB0ZXh0X2V4dGVudHM7CiAgICAg
Y2Fpcm9fc2NhbGVkX2ZvbnRfZXh0ZW50cyhtX3BsYXRmb3JtRGF0YS5zY2FsZWRGb250KCksICZm
b250X2V4dGVudHMpOwotICAgIG1fYXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50Pihscm91bmRmKGZv
bnRfZXh0ZW50cy5hc2NlbnQpKTsKLSAgICBtX2Rlc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KGxy
b3VuZGYoZm9udF9leHRlbnRzLmRlc2NlbnQpKTsKLSAgICBtX2xpbmVTcGFjaW5nID0gc3RhdGlj
X2Nhc3Q8aW50Pihscm91bmRmKGZvbnRfZXh0ZW50cy5oZWlnaHQpKTsKKworICAgIG1fZm9udE1l
dHJpY3Muc2V0QXNjZW50KGZvbnRfZXh0ZW50cy5hc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Mu
c2V0RGVzY2VudChmb250X2V4dGVudHMuZGVzY2VudCk7CisKICAgICAvLyBUaGVyZSBzZWVtcyB0
byBiZSBzb21lIHJvdW5kaW5nIGVycm9yIGluIGNhaXJvIChvciBpbiBob3cgd2UKICAgICAvLyB1
c2UgY2Fpcm8pIHdpdGggc29tZSBmb250cywgbGlrZSBEZWphVnUgU2FucyBNb25vLCB3aGljaCBt
YWtlcwogICAgIC8vIGNhaXJvIHJlcG9ydCBhIGhlaWdodCBzbWFsbGVyIHRoYW4gYXNjZW50ICsg
ZGVzY2VudCwgd2hpY2ggaXMKICAgICAvLyB3cm9uZyBhbmQgY29uZnVzZXMgV2ViQ29yZSdzIGxh
eW91dCBzeXN0ZW0uIFdvcmthcm91bmQgdGhpcwogICAgIC8vIHdoaWxlIHdlIGZpZ3VyZSBvdXQg
d2hhdCdzIGdvaW5nIG9uLgotICAgIGlmIChtX2xpbmVTcGFjaW5nIDwgbV9hc2NlbnQgKyBtX2Rl
c2NlbnQpCi0gICAgICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2VudDsKKyAg
ICBmbG9hdCBsaW5lU3BhY2luZyA9IGZvbnRfZXh0ZW50cy5oZWlnaHQ7CisgICAgaWYgKGxpbmVT
cGFjaW5nIDwgZm9udF9leHRlbnRzLmFzY2VudCArIGZvbnRfZXh0ZW50cy5kZXNjZW50KQorICAg
ICAgICBsaW5lU3BhY2luZyA9IGZvbnRfZXh0ZW50cy5hc2NlbnQgKyBmb250X2V4dGVudHMuZGVz
Y2VudDsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGxpbmVTcGFjaW5nKTsKKyAg
ICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZVNwYWNpbmcgLSBmb250X2V4dGVudHMuYXNj
ZW50IC0gZm9udF9leHRlbnRzLmRlc2NlbnQpOworCiAgICAgY2Fpcm9fc2NhbGVkX2ZvbnRfdGV4
dF9leHRlbnRzKG1fcGxhdGZvcm1EYXRhLnNjYWxlZEZvbnQoKSwgIngiLCAmdGV4dF9leHRlbnRz
KTsKLSAgICBtX3hIZWlnaHQgPSB0ZXh0X2V4dGVudHMuaGVpZ2h0OworICAgIG1fZm9udE1ldHJp
Y3Muc2V0WEhlaWdodCh0ZXh0X2V4dGVudHMuaGVpZ2h0KTsKKwogICAgIGNhaXJvX3NjYWxlZF9m
b250X3RleHRfZXh0ZW50cyhtX3BsYXRmb3JtRGF0YS5zY2FsZWRGb250KCksICIgIiwgJnRleHRf
ZXh0ZW50cyk7CiAgICAgbV9zcGFjZVdpZHRoID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHRleHRfZXh0
ZW50cy54X2FkdmFuY2UpOwotICAgIG1fbGluZUdhcCA9IG1fbGluZVNwYWNpbmcgLSBtX2FzY2Vu
dCAtIG1fZGVzY2VudDsKKyAgICAKICAgICBtX3N5bnRoZXRpY0JvbGRPZmZzZXQgPSBtX3BsYXRm
b3JtRGF0YS5zeW50aGV0aWNCb2xkKCkgPyAxLjBmIDogMC5mOwogfQogCkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2hhaWt1L1NpbXBsZUZvbnREYXRhSGFpa3UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvU2ltcGxlRm9udERhdGFIYWlr
dS5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlr
dS9TaW1wbGVGb250RGF0YUhhaWt1LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgsMTEgKzQ4LDEx
IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAKICAgICBmb250X2hlaWdo
dCBoZWlnaHQ7CiAgICAgZm9udC0+R2V0SGVpZ2h0KCZoZWlnaHQpOwotICAgIG1fYXNjZW50ID0g
c3RhdGljX2Nhc3Q8aW50PihoZWlnaHQuYXNjZW50KTsKLSAgICBtX2Rlc2NlbnQgPSBzdGF0aWNf
Y2FzdDxpbnQ+KGhlaWdodC5kZXNjZW50KTsKLSAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQg
KyBtX2Rlc2NlbnQ7Ci0gICAgbV94SGVpZ2h0ID0gaGVpZ2h0LmFzY2VudCAqIDAuNTZmOyAvLyBI
YWNrIHRha2VuIGZyb20gdGhlIHdpbiBwb3J0LgotICAgIG1fbGluZUdhcCA9IGhlaWdodC5sZWFk
aW5nOworICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGhlaWdodC5hc2NlbnQpOworICAgIG1f
Zm9udE1ldHJpY3Muc2V0RGVzY2VudChoZWlnaHQuZGVzY2VudCk7CisgICAgbV9mb250TWV0cmlj
cy5zZXRMaW5lU3BhY2luZyhoZWlnaHQuYXNjZW50ICsgaGVpZ2h0LmRlc2NlbnQpOworICAgIG1f
Zm9udE1ldHJpY3Muc2V0WEhlaWdodChoZWlnaHQuYXNjZW50ICogMC41NmYpOyAvLyBIYWNrIHRh
a2VuIGZyb20gdGhlIHdpbiBwb3J0LgorICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChoZWln
aHQubGVhZGluZyk7CiB9CiAKIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQ2hhcldpZHRo
SW5pdCgpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q29tcGxleFRl
eHRNYWMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Zv
bnRDb21wbGV4VGV4dE1hYy5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvRm9udENvbXBsZXhUZXh0TWFjLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTEwLDggKzExMCw4IEBAIGZsb2F0IEZvbnQ6OmZsb2F0V2lkdGhGb3JDb21wbGV4VGV4dChjb24K
IHsKICAgICBDb21wbGV4VGV4dENvbnRyb2xsZXIgY29udHJvbGxlcih0aGlzLCBydW4sIHRydWUs
IGZhbGxiYWNrRm9udHMpOwogICAgIGlmIChnbHlwaE92ZXJmbG93KSB7Ci0gICAgICAgIGdseXBo
T3ZlcmZsb3ctPnRvcCA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYoLWNvbnRy
b2xsZXIubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSBhc2NlbnQoKSk7Ci0gICAgICAgIGdseXBo
T3ZlcmZsb3ctPmJvdHRvbSA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPmJvdHRvbSwgY2VpbGYo
Y29udHJvbGxlci5tYXhHbHlwaEJvdW5kaW5nQm94WSgpKSAtIGRlc2NlbnQoKSk7CisgICAgICAg
IGdseXBoT3ZlcmZsb3ctPnRvcCA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYo
LWNvbnRyb2xsZXIubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSBmb250TWV0cmljcygpLmFzY2Vu
dCgpKTsKKyAgICAgICAgZ2x5cGhPdmVyZmxvdy0+Ym90dG9tID0gbWF4PGludD4oZ2x5cGhPdmVy
Zmxvdy0+Ym90dG9tLCBjZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91bmRpbmdCb3hZKCkpIC0g
Zm9udE1ldHJpY3MoKS5kZXNjZW50KCkpOwogICAgICAgICBnbHlwaE92ZXJmbG93LT5sZWZ0ID0g
bWF4PGludD4oMCwgY2VpbGYoLWNvbnRyb2xsZXIubWluR2x5cGhCb3VuZGluZ0JveFgoKSkpOwog
ICAgICAgICBnbHlwaE92ZXJmbG93LT5yaWdodCA9IG1heDxpbnQ+KDAsIGNlaWxmKGNvbnRyb2xs
ZXIubWF4R2x5cGhCb3VuZGluZ0JveFgoKSAtIGNvbnRyb2xsZXIudG90YWxXaWR0aCgpKSk7CiAg
ICAgfQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udE1hYy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjLm1tCShyZXZp
c2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0J
KHdvcmtpbmcgY29weSkKQEAgLTYwLDggKzYwLDggQEAgc3RhdGljIHZvaWQgc2hvd0dseXBoc1dp
dGhBZHZhbmNlcyhjb25zdAogICAgICAgICAgICAgc2F2ZWRNYXRyaXggPSBDR0NvbnRleHRHZXRU
ZXh0TWF0cml4KGNvbnRleHQpOwogICAgICAgICAgICAgQ0dBZmZpbmVUcmFuc2Zvcm0gcnVuTWF0
cml4ID0gQ0dBZmZpbmVUcmFuc2Zvcm1Db25jYXQoc2F2ZWRNYXRyaXgsIHJvdGF0ZUxlZnRUcmFu
c2Zvcm0pOwogICAgICAgICAgICAgLy8gTW92ZSBzdGFydCBwb2ludCB0byBwdXQgZ2x5cGhzIGlu
dG8gb3JpZ2luYWwgcmVnaW9uLgotICAgICAgICAgICAgcnVuTWF0cml4LnR4ID0gc2F2ZWRNYXRy
aXgudHggKyBmb250LT5hc2NlbnQoKTsKLSAgICAgICAgICAgIHJ1bk1hdHJpeC50eSA9IHNhdmVk
TWF0cml4LnR5ICsgZm9udC0+ZGVzY2VudCgpOworICAgICAgICAgICAgcnVuTWF0cml4LnR4ID0g
c2F2ZWRNYXRyaXgudHggKyBmb250LT5mb250TWV0cmljcygpLmFzY2VudCgpOworICAgICAgICAg
ICAgcnVuTWF0cml4LnR5ID0gc2F2ZWRNYXRyaXgudHkgKyBmb250LT5mb250TWV0cmljcygpLmRl
c2NlbnQoKTsKICAgICAgICAgICAgIENHQ29udGV4dFNldFRleHRNYXRyaXgoY29udGV4dCwgcnVu
TWF0cml4KTsKICAgICAgICAgfQogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21h
Yy9TaW1wbGVGb250RGF0YU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbQkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbQkod29ya2luZyBj
b3B5KQpAQCAtMjE4LDE5ICsyMTgsMjAgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1J
bml0KCkKICAgICBpbnQgaUFzY2VudDsKICAgICBpbnQgaURlc2NlbnQ7CiAgICAgaW50IGlMaW5l
R2FwOworICAgIHVuc2lnbmVkIHVuaXRzUGVyRW07CiAjaWZkZWYgQlVJTERJTkdfT05fVElHRVIK
LSAgICB3a0dldEZvbnRNZXRyaWNzKG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpLCAmaUFzY2VudCwg
JmlEZXNjZW50LCAmaUxpbmVHYXAsICZtX3VuaXRzUGVyRW0pOworICAgIHdrR2V0Rm9udE1ldHJp
Y3MobV9wbGF0Zm9ybURhdGEuY2dGb250KCksICZpQXNjZW50LCAmaURlc2NlbnQsICZpTGluZUdh
cCwgJnVuaXRzUGVyRW0pOwogI2Vsc2UKICAgICBpQXNjZW50ID0gQ0dGb250R2V0QXNjZW50KG1f
cGxhdGZvcm1EYXRhLmNnRm9udCgpKTsKICAgICBpRGVzY2VudCA9IENHRm9udEdldERlc2NlbnQo
bV9wbGF0Zm9ybURhdGEuY2dGb250KCkpOwogICAgIGlMaW5lR2FwID0gQ0dGb250R2V0TGVhZGlu
ZyhtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSk7Ci0gICAgbV91bml0c1BlckVtID0gQ0dGb250R2V0
VW5pdHNQZXJFbShtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSk7CisgICAgdW5pdHNQZXJFbSA9IENH
Rm9udEdldFVuaXRzUGVyRW0obV9wbGF0Zm9ybURhdGEuY2dGb250KCkpOwogI2VuZGlmCiAKICAg
ICBmbG9hdCBwb2ludFNpemUgPSBtX3BsYXRmb3JtRGF0YS5tX3NpemU7Ci0gICAgZmxvYXQgZkFz
Y2VudCA9IHNjYWxlRW1Ub1VuaXRzKGlBc2NlbnQsIG1fdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7
Ci0gICAgZmxvYXQgZkRlc2NlbnQgPSAtc2NhbGVFbVRvVW5pdHMoaURlc2NlbnQsIG1fdW5pdHNQ
ZXJFbSkgKiBwb2ludFNpemU7Ci0gICAgZmxvYXQgZkxpbmVHYXAgPSBzY2FsZUVtVG9Vbml0cyhp
TGluZUdhcCwgbV91bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAgICBmbG9hdCBhc2NlbnQgPSBz
Y2FsZUVtVG9Vbml0cyhpQXNjZW50LCB1bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAgICBmbG9h
dCBkZXNjZW50ID0gLXNjYWxlRW1Ub1VuaXRzKGlEZXNjZW50LCB1bml0c1BlckVtKSAqIHBvaW50
U2l6ZTsKKyAgICBmbG9hdCBsaW5lR2FwID0gc2NhbGVFbVRvVW5pdHMoaUxpbmVHYXAsIHVuaXRz
UGVyRW0pICogcG9pbnRTaXplOwogCiAgICAgLy8gV2UgbmVlZCB0byBhZGp1c3QgVGltZXMsIEhl
bHZldGljYSwgYW5kIENvdXJpZXIgdG8gY2xvc2VseSBtYXRjaCB0aGUKICAgICAvLyB2ZXJ0aWNh
bCBtZXRyaWNzIG9mIHRoZWlyIE1pY3Jvc29mdCBjb3VudGVycGFydHMgdGhhdCBhcmUgdGhlIGRl
IGZhY3RvCkBAIC0yMzksMjUgKzI0MCwyMCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9y
bUluaXQoKQogICAgIC8vIGFuZCBhZGQgaXQgdG8gdGhlIGFzY2VudC4KICAgICBOU1N0cmluZyAq
ZmFtaWx5TmFtZSA9IFttX3BsYXRmb3JtRGF0YS5mb250KCkgZmFtaWx5TmFtZV07CiAgICAgaWYg
KFtmYW1pbHlOYW1lIGlzRXF1YWxUb1N0cmluZzpAIlRpbWVzIl0gfHwgW2ZhbWlseU5hbWUgaXNF
cXVhbFRvU3RyaW5nOkAiSGVsdmV0aWNhIl0gfHwgW2ZhbWlseU5hbWUgaXNFcXVhbFRvU3RyaW5n
OkAiQ291cmllciJdKQotICAgICAgICBmQXNjZW50ICs9IGZsb29yZigoKGZBc2NlbnQgKyBmRGVz
Y2VudCkgKiAwLjE1ZikgKyAwLjVmKTsKKyAgICAgICAgYXNjZW50ICs9IGZsb29yZigoKGFzY2Vu
dCArIGRlc2NlbnQpICogMC4xNWYpICsgMC41Zik7CiAgICAgZWxzZSBpZiAoW2ZhbWlseU5hbWUg
aXNFcXVhbFRvU3RyaW5nOkAiR2VlemEgUHJvIl0pIHsKICAgICAgICAgLy8gR2VlemEgUHJvIGhh
cyBnbHlwaHMgdGhhdCBkcmF3IHNsaWdodGx5IGFib3ZlIHRoZSBhc2NlbnQgb3IgZmFyIGJlbG93
IHRoZSBkZXNjZW50LiBBZGp1c3QKICAgICAgICAgLy8gdGhvc2UgdmVydGljYWwgbWV0cmljcyB0
byBiZXR0ZXIgbWF0Y2ggcmVhbGl0eSwgc28gdGhhdCBkaWFjcml0aWNzIGF0IHRoZSBib3R0b20g
b2Ygb25lIGxpbmUKICAgICAgICAgLy8gZG8gbm90IG92ZXJsYXAgZGlhY3JpdGljcyBhdCB0aGUg
dG9wIG9mIHRoZSBuZXh0IGxpbmUuCi0gICAgICAgIGZBc2NlbnQgKj0gMS4wOGY7Ci0gICAgICAg
IGZEZXNjZW50ICo9IDIuZjsKKyAgICAgICAgYXNjZW50ICo9IDEuMDhmOworICAgICAgICBkZXNj
ZW50ICo9IDIuZjsKICAgICB9CiAKLSAgICBtX2FzY2VudCA9IGxyb3VuZGYoZkFzY2VudCk7Ci0g
ICAgbV9kZXNjZW50ID0gbHJvdW5kZihmRGVzY2VudCk7Ci0gICAgbV9saW5lR2FwID0gbHJvdW5k
ZihmTGluZUdhcCk7Ci0gICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50ICsg
bV9saW5lR2FwOwotICAgIAogICAgIC8vIEhhY2sgSGlyYWdpbm8gbGluZSBtZXRyaWNzIHRvIGFs
bG93IHJvb20gZm9yIG1hcmtlZCB0ZXh0IHVuZGVybGluZXMuCiAgICAgLy8gPHJkYXI6Ly9wcm9i
bGVtLzUzODYxODM+Ci0gICAgaWYgKG1fZGVzY2VudCA8IDMgJiYgbV9saW5lR2FwID49IDMgJiYg
W2ZhbWlseU5hbWUgaGFzUHJlZml4OkAiSGlyYWdpbm8iXSkgewotICAgICAgICBtX2xpbmVHYXAg
LT0gMyAtIG1fZGVzY2VudDsKLSAgICAgICAgbV9kZXNjZW50ID0gMzsKKyAgICBpZiAoZGVzY2Vu
dCA8IDMgJiYgbGluZUdhcCA+PSAzICYmIFtmYW1pbHlOYW1lIGhhc1ByZWZpeDpAIkhpcmFnaW5v
Il0pIHsKKyAgICAgICAgbGluZUdhcCAtPSAzIC0gZGVzY2VudDsKKyAgICAgICAgZGVzY2VudCA9
IDM7CiAgICAgfQogICAgIAogICAgIGlmIChtX29yaWVudGF0aW9uID09IFZlcnRpY2FsKSB7CkBA
IC0yNzgsNiArMjc0LDggQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAg
ICAgICAgICAgIG1fb3JpZW50YXRpb24gPSBIb3Jpem9udGFsOwogICAgIH0KIAorICAgIGZsb2F0
IHhIZWlnaHQ7CisKICAgICAvLyBNZWFzdXJlIHRoZSBhY3R1YWwgY2hhcmFjdGVyICJ4IiwgYmVj
YXVzZSBBcHBLaXQgc3ludGhlc2l6ZXMgWCBoZWlnaHQgcmF0aGVyIHRoYW4gZ2V0dGluZyBpdCBm
cm9tIHRoZSBmb250LgogICAgIC8vIFVuZm9ydHVuYXRlbHksIE5TRm9udCB3aWxsIHJvdW5kIHRo
aXMgZm9yIHVzIHNvIHdlIGRvbid0IHF1aXRlIGdldCB0aGUgcmlnaHQgdmFsdWUuCiAgICAgR2x5
cGhQYWdlKiBnbHlwaFBhZ2VaZXJvID0gR2x5cGhQYWdlVHJlZU5vZGU6OmdldFJvb3RDaGlsZCh0
aGlzLCAwKS0+cGFnZSgpOwpAQCAtMjg4LDIxICsyODYsMjggQEAgdm9pZCBTaW1wbGVGb250RGF0
YTo6cGxhdGZvcm1Jbml0KCkKICAgICAgICAgLy8gYW5kIHdlYiBwYWdlcyB0aGF0IGZvb2xpc2hs
eSB1c2UgdGhpcyBtZXRyaWMgZm9yIHdpZHRoIHdpbGwgYmUgbGFpZCBvdXQKICAgICAgICAgLy8g
cG9vcmx5IGlmIHdlIHJldHVybiBhbiBhY2N1cmF0ZSBoZWlnaHQuIENsYXNzaWMgY2FzZSBpcyBU
aW1lcyAxMyBwb2ludCwKICAgICAgICAgLy8gd2hpY2ggaGFzIGFuICJ4IiB0aGF0IGlzIDd4NiBw
aXhlbHMuCi0gICAgICAgIG1feEhlaWdodCA9IHN0YXRpY19jYXN0PGZsb2F0PihtYXgoQ0dSZWN0
R2V0TWF4WCh4Qm94KSwgLUNHUmVjdEdldE1pblkoeEJveCkpKTsKKyAgICAgICAgeEhlaWdodCA9
IHN0YXRpY19jYXN0PGZsb2F0PihtYXgoQ0dSZWN0R2V0TWF4WCh4Qm94KSwgLUNHUmVjdEdldE1p
blkoeEJveCkpKTsKICAgICB9IGVsc2UgewogI2lmbmRlZiBCVUlMRElOR19PTl9USUdFUgotICAg
ICAgICBtX3hIZWlnaHQgPSBzdGF0aWNfY2FzdDxmbG9hdD4oQ0dGb250R2V0WEhlaWdodChtX3Bs
YXRmb3JtRGF0YS5jZ0ZvbnQoKSkpIC8gbV91bml0c1BlckVtOworICAgICAgICB4SGVpZ2h0ID0g
c3RhdGljX2Nhc3Q8ZmxvYXQ+KENHRm9udEdldFhIZWlnaHQobV9wbGF0Zm9ybURhdGEuY2dGb250
KCkpKSAvIHVuaXRzUGVyRW07CiAjZWxzZQotICAgICAgICBtX3hIZWlnaHQgPSBtX3BsYXRmb3Jt
RGF0YS5mb250KCkgPyBbbV9wbGF0Zm9ybURhdGEuZm9udCgpIHhIZWlnaHRdIDogMDsKKyAgICAg
ICAgeEhlaWdodCA9IG1fcGxhdGZvcm1EYXRhLmZvbnQoKSA/IFttX3BsYXRmb3JtRGF0YS5mb250
KCkgeEhlaWdodF0gOiAwOwogI2VuZGlmCiAgICAgICAgIC8vIENHRm9udEdldFhIZWlnaHQoKSBy
ZXR1cm5zIGEgd3JvbmcgdmFsdWUgZm9yICJBcHBsZSBTeW1ib2xzIiBmb250IChhIGZsb2F0IGNs
b3NlIHRvIDAsIGJ1dCBub3Qgc3RyaWN0bHkgMCkuCi0gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcg
Y29kZSBtYWtlcyBhIGd1ZXNzIGZvciBtX3hIZWlnaHQgaW4gdGhhdCBjYXNlLgorICAgICAgICAv
LyBUaGUgZm9sbG93aW5nIGNvZGUgbWFrZXMgYSBndWVzcyBmb3IgeEhlaWdodCBpbiB0aGF0IGNh
c2UuCiAgICAgICAgIC8vIFRoZSBpbnQgY2FzdCBpcyBhIHdvcmthcm91bmQgZm9yIHRoZSAiYWxt
b3N0IiB6ZXJvIHZhbHVlIHJldHVybmVkIGJ5IENHRm9udEdldFhIZWlnaHQoKS4KLSAgICAgICAg
aWYgKCFzdGF0aWNfY2FzdDxpbnQ+KG1feEhlaWdodCkgJiYgZkFzY2VudCkKLSAgICAgICAgICAg
IG1feEhlaWdodCA9IDIgKiBmQXNjZW50IC8gMzsKKyAgICAgICAgaWYgKCFzdGF0aWNfY2FzdDxp
bnQ+KHhIZWlnaHQpICYmIGFzY2VudCkKKyAgICAgICAgICAgIHhIZWlnaHQgPSAyICogYXNjZW50
IC8gMzsKICAgICB9CisKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFVuaXRzUGVyRW0odW5pdHNQZXJF
bSk7CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAgICBtX2ZvbnRNZXRy
aWNzLnNldERlc2NlbnQoZGVzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGxp
bmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNjZW50ICsgZGVzY2Vu
dCArIGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh4SGVpZ2h0KTsKIH0K
LSAgICAKKwogc3RhdGljIENGRGF0YVJlZiBjb3B5Rm9udFRhYmxlRm9yVGFnKEZvbnRQbGF0Zm9y
bURhdGEmIHBsYXRmb3JtRGF0YSwgRm91ckNoYXJDb2RlIHRhYmxlTmFtZSkKIHsKICNpZmRlZiBC
VUlMRElOR19PTl9USUdFUgpAQCAtMzM3LDcgKzM0Miw3IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6
OnBsYXRmb3JtQ2hhcldpZHRoSW4KICAgICBpZiAob3MyVGFibGUgJiYgQ0ZEYXRhR2V0TGVuZ3Ro
KG9zMlRhYmxlLmdldCgpKSA+PSA0KSB7CiAgICAgICAgIGNvbnN0IFVJbnQ4KiBvczIgPSBDRkRh
dGFHZXRCeXRlUHRyKG9zMlRhYmxlLmdldCgpKTsKICAgICAgICAgU0ludDE2IG9zMkF2Z0NoYXJX
aWR0aCA9IG9zMlsyXSAqIDI1NiArIG9zMlszXTsKLSAgICAgICAgbV9hdmdDaGFyV2lkdGggPSBz
Y2FsZUVtVG9Vbml0cyhvczJBdmdDaGFyV2lkdGgsIG1fdW5pdHNQZXJFbSkgKiBtX3BsYXRmb3Jt
RGF0YS5tX3NpemU7CisgICAgICAgIG1fYXZnQ2hhcldpZHRoID0gc2NhbGVFbVRvVW5pdHMob3My
QXZnQ2hhcldpZHRoLCBtX2ZvbnRNZXRyaWNzLnVuaXRzUGVyRW0oKSkgKiBtX3BsYXRmb3JtRGF0
YS5tX3NpemU7CiAgICAgfQogCiAgICAgUmV0YWluUHRyPENGRGF0YVJlZj4gaGVhZFRhYmxlKEFk
b3B0Q0YsIGNvcHlGb250VGFibGVGb3JUYWcobV9wbGF0Zm9ybURhdGEsICdoZWFkJykpOwpAQCAt
MzQ4LDcgKzM1Myw3IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQ2hhcldpZHRoSW4K
ICAgICAgICAgU0ludDE2IHhNaW4gPSBzdGF0aWNfY2FzdDxTSW50MTY+KHV4TWluKTsKICAgICAg
ICAgU0ludDE2IHhNYXggPSBzdGF0aWNfY2FzdDxTSW50MTY+KHV4TWF4KTsKICAgICAgICAgZmxv
YXQgZGlmZiA9IHN0YXRpY19jYXN0PGZsb2F0Pih4TWF4IC0geE1pbik7Ci0gICAgICAgIG1fbWF4
Q2hhcldpZHRoID0gc2NhbGVFbVRvVW5pdHMoZGlmZiwgbV91bml0c1BlckVtKSAqIG1fcGxhdGZv
cm1EYXRhLm1fc2l6ZTsKKyAgICAgICAgbV9tYXhDaGFyV2lkdGggPSBzY2FsZUVtVG9Vbml0cyhk
aWZmLCBtX2ZvbnRNZXRyaWNzLnVuaXRzUGVyRW0oKSkgKiBtX3BsYXRmb3JtRGF0YS5tX3NpemU7
CiAgICAgfQogCiAgICAgLy8gRmFsbGJhY2sgdG8gYSBjcm9zcy1wbGF0Zm9ybSBlc3RpbWF0ZSwg
d2hpY2ggd2lsbCBwb3B1bGF0ZSB0aGVzZSB2YWx1ZXMgaWYgdGhleSBhcmUgbm9uLXBvc2l0aXZl
LgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9wYW5nby9TaW1wbGVGb250RGF0YVBh
bmdvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1Np
bXBsZUZvbnREYXRhUGFuZ28uY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvcGFuZ28vU2ltcGxlRm9udERhdGFQYW5nby5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ5LDIxICs0OSwyNyBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQog
ICAgIGNhaXJvX2ZvbnRfZXh0ZW50c190IGZvbnRfZXh0ZW50czsKICAgICBjYWlyb190ZXh0X2V4
dGVudHNfdCB0ZXh0X2V4dGVudHM7CiAgICAgY2Fpcm9fc2NhbGVkX2ZvbnRfZXh0ZW50cyhtX3Bs
YXRmb3JtRGF0YS5tX3NjYWxlZEZvbnQsICZmb250X2V4dGVudHMpOwotICAgIG1fYXNjZW50ID0g
c3RhdGljX2Nhc3Q8aW50Pihscm91bmRmKGZvbnRfZXh0ZW50cy5hc2NlbnQpKTsKLSAgICBtX2Rl
c2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KGxyb3VuZGYoZm9udF9leHRlbnRzLmRlc2NlbnQpKTsK
LSAgICBtX2xpbmVTcGFjaW5nID0gc3RhdGljX2Nhc3Q8aW50Pihscm91bmRmKGZvbnRfZXh0ZW50
cy5oZWlnaHQpKTsKKworICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGZvbnRfZXh0ZW50cy5h
c2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChmb250X2V4dGVudHMuZGVzY2Vu
dCk7CisKICAgICAvLyBUaGVyZSBzZWVtcyB0byBiZSBzb21lIHJvdW5kaW5nIGVycm9yIGluIGNh
aXJvIChvciBpbiBob3cgd2UKICAgICAvLyB1c2UgY2Fpcm8pIHdpdGggc29tZSBmb250cywgbGlr
ZSBEZWphVnUgU2FucyBNb25vLCB3aGljaCBtYWtlcwogICAgIC8vIGNhaXJvIHJlcG9ydCBhIGhl
aWdodCBzbWFsbGVyIHRoYW4gYXNjZW50ICsgZGVzY2VudCwgd2hpY2ggaXMKICAgICAvLyB3cm9u
ZyBhbmQgY29uZnVzZXMgV2ViQ29yZSdzIGxheW91dCBzeXN0ZW0uIFdvcmthcm91bmQgdGhpcwog
ICAgIC8vIHdoaWxlIHdlIGZpZ3VyZSBvdXQgd2hhdCdzIGdvaW5nIG9uLgotICAgIGlmIChtX2xp
bmVTcGFjaW5nIDwgbV9hc2NlbnQgKyBtX2Rlc2NlbnQpCi0gICAgICAgIG1fbGluZVNwYWNpbmcg
PSBtX2FzY2VudCArIG1fZGVzY2VudDsKKyAgICBmbG9hdCBsaW5lU3BhY2luZyA9IGZvbnRfZXh0
ZW50cy5oZWlnaHQ7CisgICAgaWYgKGxpbmVTcGFjaW5nIDwgZm9udF9leHRlbnRzLmFzY2VudCAr
IGZvbnRfZXh0ZW50cy5kZXNjZW50KQorICAgICAgICBsaW5lU3BhY2luZyA9IGZvbnRfZXh0ZW50
cy5hc2NlbnQgKyBmb250X2V4dGVudHMuZGVzY2VudDsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExp
bmVTcGFjaW5nKGxpbmVTcGFjaW5nKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGlu
ZVNwYWNpbmcgLSBmb250X2V4dGVudHMuYXNjZW50IC0gZm9udF9leHRlbnRzLmRlc2NlbnQpOwor
CiAgICAgY2Fpcm9fc2NhbGVkX2ZvbnRfdGV4dF9leHRlbnRzKG1fcGxhdGZvcm1EYXRhLm1fc2Nh
bGVkRm9udCwgIngiLCAmdGV4dF9leHRlbnRzKTsKLSAgICBtX3hIZWlnaHQgPSB0ZXh0X2V4dGVu
dHMuaGVpZ2h0OworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh0ZXh0X2V4dGVudHMuaGVp
Z2h0KTsKKwogICAgIGNhaXJvX3NjYWxlZF9mb250X3RleHRfZXh0ZW50cyhtX3BsYXRmb3JtRGF0
YS5tX3NjYWxlZEZvbnQsICIgIiwgJnRleHRfZXh0ZW50cyk7Ci0gICAgbV9zcGFjZVdpZHRoID0g
IHN0YXRpY19jYXN0PGZsb2F0Pih0ZXh0X2V4dGVudHMueF9hZHZhbmNlKTsKLSAgICBtX2xpbmVH
YXAgPSBtX2xpbmVTcGFjaW5nIC0gbV9hc2NlbnQgLSBtX2Rlc2NlbnQ7CisgICAgbV9zcGFjZVdp
ZHRoID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHRleHRfZXh0ZW50cy54X2FkdmFuY2UpOworICAgIAog
ICAgIG1fc3ludGhldGljQm9sZE9mZnNldCA9IG1fcGxhdGZvcm1EYXRhLnN5bnRoZXRpY0JvbGQo
KSA/IDEuMGYgOiAwLmY7CiB9CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQv
U2ltcGxlRm9udERhdGFRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9TaW1wbGVGb250RGF0YVF0LmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNCw3ICsyNCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2ltcGxl
Rm9udERhdGEuaCIKIAotI2luY2x1ZGUgPFFGb250TWV0cmljcz4KKyNpbmNsdWRlIDxRRm9udE1l
dHJpY3NGPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQxLDI1ICs0MSwyMCBAQCBib29s
IFNpbXBsZUZvbnREYXRhOjpjb250YWluc0NoYXJhY3RlcnMoCiB2b2lkIFNpbXBsZUZvbnREYXRh
OjpwbGF0Zm9ybUluaXQoKQogewogICAgIGlmICghbV9wbGF0Zm9ybURhdGEuc2l6ZSgpKSB7Ci0g
ICAgICAgICBtX2FzY2VudCA9IDA7Ci0gICAgICAgICBtX2Rlc2NlbnQgPSAwOwotICAgICAgICAg
bV9saW5lR2FwID0gMDsKLSAgICAgICAgIG1fbGluZVNwYWNpbmcgPSAwOworICAgICAgICAgbV9m
b250TWV0cmljcy5yZXNldCgpOwogICAgICAgICAgbV9hdmdDaGFyV2lkdGggPSAwOwogICAgICAg
ICAgbV9tYXhDaGFyV2lkdGggPSAwOwotICAgICAgICAgbV94SGVpZ2h0ID0gMDsKLSAgICAgICAg
IG1fdW5pdHNQZXJFbSA9IDA7CiAgICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUUZvbnRN
ZXRyaWNzIGZtKG1fcGxhdGZvcm1EYXRhLmZvbnQoKSk7CisgICAgUUZvbnRNZXRyaWNzRiBmbSht
X3BsYXRmb3JtRGF0YS5mb250KCkpOwogCi0gICAgbV9hc2NlbnQgPSBmbS5hc2NlbnQoKTsKLSAg
ICBtX2Rlc2NlbnQgPSBmbS5kZXNjZW50KCk7Ci0gICAgbV9saW5lU3BhY2luZyA9IGZtLmxpbmVT
cGFjaW5nKCk7Ci0gICAgbV94SGVpZ2h0ID0gZm0ueEhlaWdodCgpOworICAgIG1fZm9udE1ldHJp
Y3Muc2V0QXNjZW50KGZtLmFzY2VudCgpKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQo
Zm0uZGVzY2VudCgpKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGZtLmxpbmVT
cGFjaW5nKCkpOworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodChmbS54SGVpZ2h0KCkpOwor
ICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChmbS5sZWFkaW5nKCkpOwogICAgIG1fc3BhY2VX
aWR0aCA9IGZtLndpZHRoKFFMYXRpbjFDaGFyKCcgJykpOwotICAgIG1fbGluZUdhcCA9IGZtLmxl
YWRpbmcoKTsKIH0KIAogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1HbHlwaEluaXQoKQpJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENHV2luLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q0dXaW4uY3BwCShyZXZp
c2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDR1dpbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE2Nyw4ICsxNjcsMTIgQEAgc3RhdGljIHZvaWQgZHJhd0dE
SUdseXBocyhHcmFwaGljc0NvbnRleAogICAgICAgICBkcmF3SW50b0JpdG1hcCA9IHRydWU7CiAg
ICAgICAgIC8vIFdlIHB1dCBzbG9wIGludG8gdGhpcyByZWN0LCBzaW5jZSBnbHlwaHMgY2FuIG92
ZXJmbG93IHRoZSBhc2NlbnQvZGVzY2VudCBib3VuZHMgYW5kIHRoZSBsZWZ0L3JpZ2h0IGVkZ2Vz
LgogICAgICAgICAvLyBGSVhNRTogQ2FuIGdldCBnbHlwaHMnIG9wdGljYWwgYm91bmRzIChldmVu
IGZyb20gQ0cpIHRvIGdldCB0aGlzIHJpZ2h0LgotICAgICAgICBpbnQgbGluZUdhcCA9IGZvbnQt
PmxpbmVHYXAoKTsKLSAgICAgICAgdGV4dFJlY3QgPSBJbnRSZWN0KHBvaW50LngoKSAtIChmb250
LT5hc2NlbnQoKSArIGZvbnQtPmRlc2NlbnQoKSkgLyAyLCBwb2ludC55KCkgLSBmb250LT5hc2Nl
bnQoKSAtIGxpbmVHYXAsIHRvdGFsV2lkdGggKyBmb250LT5hc2NlbnQoKSArIGZvbnQtPmRlc2Nl
bnQoKSwgZm9udC0+bGluZVNwYWNpbmcoKSk7CisgICAgICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBm
b250TWV0cmljcyA9IGZvbnQtPmZvbnRNZXRyaWNzKCk7CisgICAgICAgIGludCBsaW5lR2FwID0g
Zm9udE1ldHJpY3MubGluZUdhcCgpOworICAgICAgICB0ZXh0UmVjdCA9IEludFJlY3QocG9pbnQu
eCgpIC0gKGZvbnRNZXRyaWNzLmFzY2VudCgpICsgZm9udE1ldHJpY3MuZGVzY2VudCgpKSAvIDIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludC55KCkgLSBmb250TWV0cmljcy5hc2Nl
bnQoKSAtIGxpbmVHYXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbFdpZHRoICsg
Zm9udE1ldHJpY3MuYXNjZW50KCkgKyBmb250TWV0cmljcy5kZXNjZW50KCksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICBmb250TWV0cmljcy5saW5lU3BhY2luZygpKTsKICAgICAgICAgYml0
bWFwLnNldChncmFwaGljc0NvbnRleHQtPmNyZWF0ZVdpbmRvd3NCaXRtYXAodGV4dFJlY3Quc2l6
ZSgpKSk7CiAgICAgICAgIG1lbXNldChiaXRtYXAtPmJ1ZmZlcigpLCAyNTUsIGJpdG1hcC0+YnVm
ZmVyTGVuZ3RoKCkpOwogICAgICAgICBoZGMgPSBiaXRtYXAtPmhkYygpOwpJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFdpbi5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysg
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFdpbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEyMSw4ICsxMjEsOCBAQCBmbG9hdCBGb250OjpmbG9hdFdpZHRoRm9yQ29tcGxleFRleHQo
Y29uCiAgICAgVW5pc2NyaWJlQ29udHJvbGxlciBjb250cm9sbGVyKHRoaXMsIHJ1biwgZmFsbGJh
Y2tGb250cyk7CiAgICAgY29udHJvbGxlci5hZHZhbmNlKHJ1bi5sZW5ndGgoKSk7CiAgICAgaWYg
KGdseXBoT3ZlcmZsb3cpIHsKLSAgICAgICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4PGludD4o
Z2x5cGhPdmVyZmxvdy0+dG9wLCBjZWlsZigtY29udHJvbGxlci5taW5HbHlwaEJvdW5kaW5nQm94
WSgpKSAtIGFzY2VudCgpKTsKLSAgICAgICAgZ2x5cGhPdmVyZmxvdy0+Ym90dG9tID0gbWF4PGlu
dD4oZ2x5cGhPdmVyZmxvdy0+Ym90dG9tLCBjZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91bmRp
bmdCb3hZKCkpIC0gZGVzY2VudCgpKTsKKyAgICAgICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4
PGludD4oZ2x5cGhPdmVyZmxvdy0+dG9wLCBjZWlsZigtY29udHJvbGxlci5taW5HbHlwaEJvdW5k
aW5nQm94WSgpKSAtIGZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOworICAgICAgICBnbHlwaE92ZXJm
bG93LT5ib3R0b20gPSBtYXg8aW50PihnbHlwaE92ZXJmbG93LT5ib3R0b20sIGNlaWxmKGNvbnRy
b2xsZXIubWF4R2x5cGhCb3VuZGluZ0JveFkoKSkgLSBmb250TWV0cmljcygpLmRlc2NlbnQoKSk7
CiAgICAgICAgIGdseXBoT3ZlcmZsb3ctPmxlZnQgPSBtYXg8aW50PigwLCBjZWlsZigtY29udHJv
bGxlci5taW5HbHlwaEJvdW5kaW5nQm94WCgpKSk7CiAgICAgICAgIGdseXBoT3ZlcmZsb3ctPnJp
Z2h0ID0gbWF4PGludD4oMCwgY2VpbGYoY29udHJvbGxlci5tYXhHbHlwaEJvdW5kaW5nQm94WCgp
IC0gY29udHJvbGxlci5ydW5XaWR0aFNvRmFyKCkpKTsKICAgICB9CkluZGV4OiBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNHV2luLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNHV2luLmNwcAko
cmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVG
b250RGF0YUNHV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjQsMTEgKzY0LDExIEBAIHZvaWQg
U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgaW50IGlBc2NlbnQgPSBDR0ZvbnRH
ZXRBc2NlbnQoZm9udCk7CiAgICAgaW50IGlEZXNjZW50ID0gQ0dGb250R2V0RGVzY2VudChmb250
KTsKICAgICBpbnQgaUxpbmVHYXAgPSBDR0ZvbnRHZXRMZWFkaW5nKGZvbnQpOwotICAgIG1fdW5p
dHNQZXJFbSA9IENHRm9udEdldFVuaXRzUGVyRW0oZm9udCk7CisgICAgdW5zaWduZWQgdW5pdHNQ
ZXJFbSA9IENHRm9udEdldFVuaXRzUGVyRW0oZm9udCk7CiAgICAgZmxvYXQgcG9pbnRTaXplID0g
bV9wbGF0Zm9ybURhdGEuc2l6ZSgpOwotICAgIGZsb2F0IGZBc2NlbnQgPSBzY2FsZUVtVG9Vbml0
cyhpQXNjZW50LCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXplOwotICAgIGZsb2F0IGZEZXNjZW50
ID0gLXNjYWxlRW1Ub1VuaXRzKGlEZXNjZW50LCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXplOwot
ICAgIGZsb2F0IGZMaW5lR2FwID0gc2NhbGVFbVRvVW5pdHMoaUxpbmVHYXAsIG1fdW5pdHNQZXJF
bSkgKiBwb2ludFNpemU7CisgICAgZmxvYXQgZkFzY2VudCA9IHNjYWxlRW1Ub1VuaXRzKGlBc2Nl
bnQsIHVuaXRzUGVyRW0pICogcG9pbnRTaXplOworICAgIGZsb2F0IGZEZXNjZW50ID0gLXNjYWxl
RW1Ub1VuaXRzKGlEZXNjZW50LCB1bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAgICBmbG9hdCBm
TGluZUdhcCA9IHNjYWxlRW1Ub1VuaXRzKGlMaW5lR2FwLCB1bml0c1BlckVtKSAqIHBvaW50U2l6
ZTsKIAogICAgIGlmICghaXNDdXN0b21Gb250KCkpIHsKICAgICAgICAgSERDIGRjID0gR2V0REMo
MCk7CkBAIC05MywxMCArOTMsMTAgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0
KCkKICAgICAgICAgfQogICAgIH0KIAotICAgIG1fYXNjZW50ID0gbHJvdW5kZihmQXNjZW50KTsK
LSAgICBtX2Rlc2NlbnQgPSBscm91bmRmKGZEZXNjZW50KTsKLSAgICBtX2xpbmVHYXAgPSBscm91
bmRmKGZMaW5lR2FwKTsKLSAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rlc2NlbnQg
KyBtX2xpbmVHYXA7CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoZkFzY2VudCk7CisgICAg
bV9mb250TWV0cmljcy5zZXREZXNjZW50KGZEZXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNl
dExpbmVHYXAoZkxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoZkFz
Y2VudCArIGZEZXNjZW50ICsgZkxpbmVHYXApOwogCiAgICAgLy8gTWVhc3VyZSB0aGUgYWN0dWFs
IGNoYXJhY3RlciAieCIsIGJlY2F1c2UgQXBwS2l0IHN5bnRoZXNpemVzIFggaGVpZ2h0IHJhdGhl
ciB0aGFuIGdldHRpbmcgaXQgZnJvbSB0aGUgZm9udC4KICAgICAvLyBVbmZvcnR1bmF0ZWx5LCBO
U0ZvbnQgd2lsbCByb3VuZCB0aGlzIGZvciB1cyBzbyB3ZSBkb24ndCBxdWl0ZSBnZXQgdGhlIHJp
Z2h0IHZhbHVlLgpAQCAtMTA5LDExICsxMDksMTMgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxh
dGZvcm1Jbml0KCkKICAgICAgICAgLy8gYW5kIHdlYiBwYWdlcyB0aGF0IGZvb2xpc2hseSB1c2Ug
dGhpcyBtZXRyaWMgZm9yIHdpZHRoIHdpbGwgYmUgbGFpZCBvdXQKICAgICAgICAgLy8gcG9vcmx5
IGlmIHdlIHJldHVybiBhbiBhY2N1cmF0ZSBoZWlnaHQuIENsYXNzaWMgY2FzZSBpcyBUaW1lcyAx
MyBwb2ludCwKICAgICAgICAgLy8gd2hpY2ggaGFzIGFuICJ4IiB0aGF0IGlzIDd4NiBwaXhlbHMu
Ci0gICAgICAgIG1feEhlaWdodCA9IHNjYWxlRW1Ub1VuaXRzKG1heChDR1JlY3RHZXRNYXhYKHhC
b3gpLCBDR1JlY3RHZXRNYXhZKHhCb3gpKSwgbV91bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAg
ICAgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHNjYWxlRW1Ub1VuaXRzKG1heChDR1JlY3RH
ZXRNYXhYKHhCb3gpLCBDR1JlY3RHZXRNYXhZKHhCb3gpKSwgdW5pdHNQZXJFbSkgKiBwb2ludFNp
emUpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGludCBpWEhlaWdodCA9IENHRm9udEdldFhIZWln
aHQoZm9udCk7Ci0gICAgICAgIG1feEhlaWdodCA9IHNjYWxlRW1Ub1VuaXRzKGlYSGVpZ2h0LCBt
X3VuaXRzUGVyRW0pICogcG9pbnRTaXplOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWln
aHQoc2NhbGVFbVRvVW5pdHMoaVhIZWlnaHQsIHVuaXRzUGVyRW0pICogcG9pbnRTaXplKTsKICAg
ICB9CisKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFVuaXRzUGVyRW0odW5pdHNQZXJFbSk7CiB9CiAK
IHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQ2hhcldpZHRoSW5pdCgpCkBAIC0xMzMsNyAr
MTM1LDcgQEAgRmxvYXRSZWN0IFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUJvdW5kcwogICAgIENH
UmVjdCBib3g7CiAgICAgQ0dGb250R2V0R2x5cGhCQm94ZXMobV9wbGF0Zm9ybURhdGEuY2dGb250
KCksICZnbHlwaCwgMSwgJmJveCk7CiAgICAgZmxvYXQgcG9pbnRTaXplID0gbV9wbGF0Zm9ybURh
dGEuc2l6ZSgpOwotICAgIENHRmxvYXQgc2NhbGUgPSBwb2ludFNpemUgLyB1bml0c1BlckVtKCk7
CisgICAgQ0dGbG9hdCBzY2FsZSA9IHBvaW50U2l6ZSAvIGZvbnRNZXRyaWNzKCkudW5pdHNQZXJF
bSgpOwogICAgIEZsb2F0UmVjdCBib3VuZGluZ0JveCA9IENHUmVjdEFwcGx5QWZmaW5lVHJhbnNm
b3JtKGJveCwgQ0dBZmZpbmVUcmFuc2Zvcm1NYWtlU2NhbGUoc2NhbGUsIC1zY2FsZSkpOwogICAg
IGlmIChtX3N5bnRoZXRpY0JvbGRPZmZzZXQpCiAgICAgICAgIGJvdW5kaW5nQm94LnNldFdpZHRo
KGJvdW5kaW5nQm94LndpZHRoKCkgKyBtX3N5bnRoZXRpY0JvbGRPZmZzZXQpOwpJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFDYWlyb1dpbi5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFD
YWlyb1dpbi5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vU2ltcGxlRm9udERhdGFDYWlyb1dpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDEz
ICs2MywxNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogCiAgICAgVEVY
VE1FVFJJQyB0ZXh0TWV0cmljczsKICAgICBHZXRUZXh0TWV0cmljcyhoZGMsICZ0ZXh0TWV0cmlj
cyk7Ci0gICAgbV9hc2NlbnQgPSBscm91bmRmKHRleHRNZXRyaWNzLnRtQXNjZW50ICogbWV0cmlj
c011bHRpcGxpZXIpOwotICAgIG1fZGVzY2VudCA9IGxyb3VuZGYodGV4dE1ldHJpY3MudG1EZXNj
ZW50ICogbWV0cmljc011bHRpcGxpZXIpOwotICAgIG1feEhlaWdodCA9IG1fYXNjZW50ICogMC41
NmY7IC8vIEJlc3QgZ3Vlc3MgZm9yIHhIZWlnaHQgZm9yIG5vbi1UcnVldHlwZSBmb250cy4KLSAg
ICBtX2xpbmVHYXAgPSBscm91bmRmKHRleHRNZXRyaWNzLnRtRXh0ZXJuYWxMZWFkaW5nICogbWV0
cmljc011bHRpcGxpZXIpOwotICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2Vu
dCArIG1fbGluZUdhcDsKLSAgICBtX2F2Z0NoYXJXaWR0aCA9IGxyb3VuZGYodGV4dE1ldHJpY3Mu
dG1BdmVDaGFyV2lkdGggKiBtZXRyaWNzTXVsdGlwbGllcik7Ci0gICAgbV9tYXhDaGFyV2lkdGgg
PSBscm91bmRmKHRleHRNZXRyaWNzLnRtTWF4Q2hhcldpZHRoICogbWV0cmljc011bHRpcGxpZXIp
OworICAgIGZsb2F0IGFzY2VudCA9IHRleHRNZXRyaWNzLnRtQXNjZW50ICogbWV0cmljc011bHRp
cGxpZXI7CisgICAgZmxvYXQgZGVzY2VudCA9IHRleHRNZXRyaWNzLnRtRGVzY2VudCAqIG1ldHJp
Y3NNdWx0aXBsaWVyOworICAgIGZsb2F0IHhIZWlnaHQgPSBhc2NlbnQgKiAwLjU2ZjsgLy8gQmVz
dCBndWVzcyBmb3IgeEhlaWdodCBmb3Igbm9uLVRydWV0eXBlIGZvbnRzLgorICAgIGZsb2F0IGxp
bmVHYXAgPSB0ZXh0TWV0cmljcy50bUV4dGVybmFsTGVhZGluZyAqIG1ldHJpY3NNdWx0aXBsaWVy
OworICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGFzY2VudCk7CisgICAgbV9mb250TWV0cmlj
cy5zZXREZXNjZW50KGRlc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChsaW5l
R2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGFzY2VudCArIGRlc2NlbnQg
KyBsaW5lR2FwKTsKKyAgICBtX2F2Z0NoYXJXaWR0aCA9IHRleHRNZXRyaWNzLnRtQXZlQ2hhcldp
ZHRoICogbWV0cmljc011bHRpcGxpZXI7CisgICAgbV9tYXhDaGFyV2lkdGggPSB0ZXh0TWV0cmlj
cy50bU1heENoYXJXaWR0aCAqIG1ldHJpY3NNdWx0aXBsaWVyOwogCiAgICAgT1VUTElORVRFWFRN
RVRSSUMgbWV0cmljczsKICAgICBpZiAoR2V0T3V0bGluZVRleHRNZXRyaWNzKGhkYywgc2l6ZW9m
KG1ldHJpY3MpLCAmbWV0cmljcykgPiAwKSB7CkBAIC03OCw5ICs4MSwxMCBAQCB2b2lkIFNpbXBs
ZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgICAgICBNQVQyIG1hdCA9IHsgMSwgMCwgMCwg
MSB9OwogICAgICAgICBEV09SRCBsZW4gPSBHZXRHbHlwaE91dGxpbmUoaGRjLCAneCcsIEdHT19N
RVRSSUNTLCAmZ20sIDAsIDAsICZtYXQpOwogICAgICAgICBpZiAobGVuICE9IEdESV9FUlJPUiAm
JiBnbS5nbXB0R2x5cGhPcmlnaW4ueSA+IDApCi0gICAgICAgICAgICBtX3hIZWlnaHQgPSBnbS5n
bXB0R2x5cGhPcmlnaW4ueSAqIG1ldHJpY3NNdWx0aXBsaWVyOworICAgICAgICAgICAgeEhlaWdo
dCA9IGdtLmdtcHRHbHlwaE9yaWdpbi55ICogbWV0cmljc011bHRpcGxpZXI7CiAgICAgfQogCisg
ICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHhIZWlnaHQpOwogICAgIGNhaXJvX3dpbjMyX3Nj
YWxlZF9mb250X2RvbmVfZm9udChzY2FsZWRGb250KTsKIAogICAgIG1faXNTeXN0ZW1Gb250ID0g
ZmFsc2U7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0
YVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2lt
cGxlRm9udERhdGFXaW4uY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjYs
MTQgKzY2LDkgQEAgYm9vbCBTaW1wbGVGb250RGF0YTo6c2hvdWxkQXBwbHlNYWNBc2Nlbgogdm9p
ZCBTaW1wbGVGb250RGF0YTo6aW5pdEdESUZvbnQoKQogewogICAgIGlmICghbV9wbGF0Zm9ybURh
dGEuc2l6ZSgpKSB7Ci0gICAgICAgIG1fYXNjZW50ID0gMDsKLSAgICAgICAgbV9kZXNjZW50ID0g
MDsKLSAgICAgICAgbV9saW5lR2FwID0gMDsKLSAgICAgICAgbV9saW5lU3BhY2luZyA9IDA7Cisg
ICAgICAgIG1fZm9udE1ldHJpY3MucmVzZXQoKTsKICAgICAgICAgbV9hdmdDaGFyV2lkdGggPSAw
OwogICAgICAgICBtX21heENoYXJXaWR0aCA9IDA7Ci0gICAgICAgIG1feEhlaWdodCA9IDA7Ci0g
ICAgICAgIG1fdW5pdHNQZXJFbSA9IDA7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTgy
LDIxICs3NywyNSBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjppbml0R0RJRm9udCgpCiAgICAgIE9V
VExJTkVURVhUTUVUUklDIG1ldHJpY3M7CiAgICAgIEdldE91dGxpbmVUZXh0TWV0cmljcyhoZGMs
IHNpemVvZihtZXRyaWNzKSwgJm1ldHJpY3MpOwogICAgICBURVhUTUVUUklDJiB0ZXh0TWV0cmlj
cyA9IG1ldHJpY3Mub3RtVGV4dE1ldHJpY3M7Ci0gICAgIG1fYXNjZW50ID0gdGV4dE1ldHJpY3Mu
dG1Bc2NlbnQ7Ci0gICAgIG1fZGVzY2VudCA9IHRleHRNZXRyaWNzLnRtRGVzY2VudDsKLSAgICAg
bV9saW5lR2FwID0gdGV4dE1ldHJpY3MudG1FeHRlcm5hbExlYWRpbmc7Ci0gICAgIG1fbGluZVNw
YWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2VudCArIG1fbGluZUdhcDsKKyAgICAgZmxvYXQgYXNj
ZW50ID0gdGV4dE1ldHJpY3MudG1Bc2NlbnQ7CisgICAgIGZsb2F0IGRlc2NlbnQgPSB0ZXh0TWV0
cmljcy50bURlc2NlbnQ7CisgICAgIGZsb2F0IGxpbmVHYXAgPSB0ZXh0TWV0cmljcy50bUV4dGVy
bmFsTGVhZGluZzsKKyAgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAgICAg
bV9mb250TWV0cmljcy5zZXREZXNjZW50KGRlc2NlbnQpOworICAgICBtX2ZvbnRNZXRyaWNzLnNl
dExpbmVHYXAobGluZUdhcCk7CisgICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNj
ZW50ICsgZGVzY2VudCArIGxpbmVHYXApOwogICAgICBtX2F2Z0NoYXJXaWR0aCA9IHRleHRNZXRy
aWNzLnRtQXZlQ2hhcldpZHRoOwogICAgICBtX21heENoYXJXaWR0aCA9IHRleHRNZXRyaWNzLnRt
TWF4Q2hhcldpZHRoOwotICAgICBtX3hIZWlnaHQgPSBtX2FzY2VudCAqIDAuNTZmOyAvLyBCZXN0
IGd1ZXNzIGZvciB4SGVpZ2h0IGlmIG5vIHggZ2x5cGggaXMgcHJlc2VudC4KKyAgICAgZmxvYXQg
eEhlaWdodCA9IGFzY2VudCAqIDAuNTZmOyAvLyBCZXN0IGd1ZXNzIGZvciB4SGVpZ2h0IGlmIG5v
IHggZ2x5cGggaXMgcHJlc2VudC4KIAogICAgICBHTFlQSE1FVFJJQ1MgZ207CiAgICAgIE1BVDIg
bWF0ID0geyAxLCAwLCAwLCAxIH07CiAgICAgIERXT1JEIGxlbiA9IEdldEdseXBoT3V0bGluZSho
ZGMsICd4JywgR0dPX01FVFJJQ1MsICZnbSwgMCwgMCwgJm1hdCk7CiAgICAgIGlmIChsZW4gIT0g
R0RJX0VSUk9SICYmIGdtLmdtcHRHbHlwaE9yaWdpbi55ID4gMCkKLSAgICAgICAgIG1feEhlaWdo
dCA9IGdtLmdtcHRHbHlwaE9yaWdpbi55OworICAgICAgICAgeEhlaWdodCA9IGdtLmdtcHRHbHlw
aE9yaWdpbi55OwogCi0gICAgIG1fdW5pdHNQZXJFbSA9IG1ldHJpY3Mub3RtRU1TcXVhcmU7Cisg
ICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh4SGVpZ2h0KTsKKyAgICAgbV9mb250TWV0cmlj
cy5zZXRVbml0c1BlckVtKG1ldHJpY3Mub3RtRU1TcXVhcmUpOwogCiAgICAgIFNlbGVjdE9iamVj
dChoZGMsIG9sZEZvbnQpOwogICAgICBSZWxlYXNlREMoMCwgaGRjKTsKSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2lu
Q0UuY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
Y2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTM1LDcgKzE1
MzUsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd1RleHQoY29uc3QgRm9uCiAgICAgbV9k
YXRhLT5tX29wYWNpdHkgKj0gZmlsbENvbG9yKCkuYWxwaGEoKSAvIDI1NS4wOwogCiAgICAgRmxv
YXRSZWN0IHRleHRSZWN0ID0gZm9udC5zZWxlY3Rpb25SZWN0Rm9yVGV4dChydW4sIHBvaW50LCBm
b250LmhlaWdodCgpLCBmcm9tLCB0byk7Ci0gICAgdGV4dFJlY3Quc2V0WSh0ZXh0UmVjdC55KCkg
LSBmb250LmFzY2VudCgpKTsKKyAgICB0ZXh0UmVjdC5zZXRZKHRleHRSZWN0LnkoKSAtIGZvbnQu
Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAgSW50UmVjdCB0clJlY3QgPSBlbmNsb3NpbmdJ
bnRSZWN0KG1fZGF0YS0+bWFwUmVjdCh0ZXh0UmVjdCkpOwogICAgIFJFQ1QgYm1wUmVjdDsKICAg
ICBBbHBoYVBhaW50VHlwZSBhbHBoYVBhaW50VHlwZSA9IG11c3RTdXBwb3J0QWxwaGEgPyBBbHBo
YVBhaW50T3RoZXIgOiBBbHBoYVBhaW50Tm9uZTsKQEAgLTE1NDQsNyArMTU0NCw3IEBAIHZvaWQg
R3JhcGhpY3NDb250ZXh0OjpkcmF3VGV4dChjb25zdCBGb24KICAgICAgICAgICAgIEdyYXBoaWNz
Q29udGV4dCBnYygwKTsKICAgICAgICAgICAgIGdjLnNldEJpdG1hcChibXApOwogICAgICAgICAg
ICAgZ2Muc2NhbGUoRmxvYXRTaXplKG1fZGF0YS0+bV90cmFuc2Zvcm0uYSgpLCBtX2RhdGEtPm1f
dHJhbnNmb3JtLmQoKSkpOwotICAgICAgICAgICAgZm9udC5kcmF3VGV4dCgmZ2MsIHJ1biwgSW50
UG9pbnQoMCwgZm9udC5hc2NlbnQoKSksIGZyb20sIHRvKTsKKyAgICAgICAgICAgIGZvbnQuZHJh
d1RleHQoJmdjLCBydW4sIEludFBvaW50KDAsIGZvbnQuZm9udE1ldHJpY3MoKS5hc2NlbnQoKSks
IGZyb20sIHRvKTsKICAgICAgICAgfQogICAgICAgICB1bnNpZ25lZCBrZXkxOwogICAgICAgICBI
REMgbWVtREMgPSBibXAtPmdldERDKCZrZXkxKTsKQEAgLTE1ODksNyArMTU4OSw3IEBAIHZvaWQg
R3JhcGhpY3NDb250ZXh0OjpkcmF3VGV4dChjb25zdCBTaW0KICAgICAgICAgPyBmb250RGF0YS0+
cGxhdGZvcm1EYXRhKCkuZ2V0U2NhbGVkRm9udEhhbmRsZShoZWlnaHQsIHNjYWxlWCA9PSBzY2Fs
ZVkgPyAwIDogd2lkdGgpCiAgICAgICAgIDogMDsKIAotICAgIEZsb2F0UG9pbnQgc3RhcnRQb2lu
dChwb2ludC54KCksIHBvaW50LnkoKSAtIGZvbnREYXRhLT5hc2NlbnQoKSk7CisgICAgRmxvYXRQ
b2ludCBzdGFydFBvaW50KHBvaW50LngoKSwgcG9pbnQueSgpIC0gZm9udERhdGEtPmZvbnRNZXRy
aWNzKCkuYXNjZW50KCkpOwogICAgIEZsb2F0UG9pbnQgdHJQb2ludCA9IG1fZGF0YS0+bWFwUG9p
bnQoc3RhcnRQb2ludCk7CiAgICAgaW50IHkgPSBzdGFibGVSb3VuZCh0clBvaW50LnkoKSk7CiAK
SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2ltcGxlRm9udERhdGFXaW5D
RS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9TaW1w
bGVGb250RGF0YVdpbkNFLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbmNlL1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01MSwxMSArNTEsMTQgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAg
ICBjb25zdCBURVhUTUVUUklDJiB0bSA9IG1fcGxhdGZvcm1EYXRhLm1ldHJpY3MoKTsKICAgICBt
X2lzU3lzdGVtRm9udCA9IG1fcGxhdGZvcm1EYXRhLmlzU3lzdGVtRm9udCgpOwogCi0gICAgbV9h
c2NlbnQgPSAodG0udG1Bc2NlbnQgKiBtX3BsYXRmb3JtRGF0YS5zaXplKCkgKyAzNikgLyA3MjsK
LSAgICBtX2Rlc2NlbnQgPSAodG0udG1EZXNjZW50ICogbV9wbGF0Zm9ybURhdGEuc2l6ZSgpICsg
MzYpIC8gNzI7Ci0gICAgbV9saW5lR2FwID0gKHRtLnRtRXh0ZXJuYWxMZWFkaW5nICogbV9wbGF0
Zm9ybURhdGEuc2l6ZSgpICsgMzYpIC8gNzI7Ci0gICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50
ICsgbV9kZXNjZW50ICsgbV9saW5lR2FwOwotICAgIG1feEhlaWdodCA9IG1fYXNjZW50ICogMC41
NmY7CisgICAgZmxvYXQgYXNjZW50ID0gKHRtLnRtQXNjZW50ICogbV9wbGF0Zm9ybURhdGEuc2l6
ZSgpICsgMzYpIC8gNzIuMGY7CisgICAgZmxvYXQgZGVzY2VudCA9ICh0bS50bURlc2NlbnQgKiBt
X3BsYXRmb3JtRGF0YS5zaXplKCkgKyAzNikgLyA3Mi4wZjsKKyAgICBmbG9hdCBsaW5lR2FwID0g
KHRtLnRtRXh0ZXJuYWxMZWFkaW5nICogbV9wbGF0Zm9ybURhdGEuc2l6ZSgpICsgMzYpIC8gNzIu
MGY7CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAgICBtX2ZvbnRNZXRy
aWNzLnNldERlc2NlbnQoZGVzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGxp
bmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNjZW50ICsgZGVzY2Vu
dCArIGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodChhc2NlbnQgKiAwLjU2
Zik7CiB9CiAKIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtRGVzdHJveSgpCkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L1NpbXBsZUZvbnREYXRhV3guY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvU2ltcGxlRm9udERhdGFXeC5jcHAJ
KHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9TaW1wbGVG
b250RGF0YVd4LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMsMTIgKzUzLDEyIEBAIHZvaWQgU2lt
cGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgd3hGb250ICpmb250ID0gbV9wbGF0Zm9y
bURhdGEuZm9udCgpOwogICAgIGlmIChmb250ICYmIGZvbnQtPklzT2soKSkgewogICAgICAgICB3
eEZvbnRQcm9wZXJ0aWVzIHByb3BzID0gd3hGb250UHJvcGVydGllcyhmb250KTsKLSAgICAgICAg
bV9hc2NlbnQgPSBwcm9wcy5HZXRBc2NlbnQoKTsKLSAgICAgICAgbV9kZXNjZW50ID0gcHJvcHMu
R2V0RGVzY2VudCgpOwotICAgICAgICBtX2xpbmVTcGFjaW5nID0gcHJvcHMuR2V0TGluZVNwYWNp
bmcoKTsKLSAgICAgICAgbV94SGVpZ2h0ID0gcHJvcHMuR2V0WEhlaWdodCgpOwotICAgICAgICBt
X3VuaXRzUGVyRW0gPSAxOyAvLyBGSVhNRSEKLSAgICAgICAgbV9saW5lR2FwID0gcHJvcHMuR2V0
TGluZUdhcCgpOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChwcm9wcy5HZXRBc2Nl
bnQoKSk7CisgICAgICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChwcm9wcy5HZXREZXNjZW50
KCkpOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKHByb3BzLkdldExpbmVT
cGFjaW5nKCkpOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQocHJvcHMuR2V0WEhl
aWdodCgpKTsKKyAgICAgICAgbV9mb250TWV0cmljcy5zZXRVbml0c1BlckVtKDEpOyAvLyBGSVhN
RSEKKyAgICAgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKHByb3BzLkdldExpbmVHYXAoKSk7
CiAgICAgfQogCiAgICAgbV9zeW50aGV0aWNCb2xkT2Zmc2V0ID0gMC4wZjsKSW5kZXg6IFdlYkNv
cmUvcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDUsNyAr
MzA1LDcgQEAgdm9pZCBQb3B1cE1lbnVXaW46OmNhbGN1bGF0ZVBvc2l0aW9uQW5kUwogCiAgICAg
Ly8gRmlyc3QsIGRldGVybWluZSB0aGUgcG9wdXAncyBoZWlnaHQKICAgICBpbnQgaXRlbUNvdW50
ID0gY2xpZW50KCktPmxpc3RTaXplKCk7Ci0gICAgbV9pdGVtSGVpZ2h0ID0gY2xpZW50KCktPm1l
bnVTdHlsZSgpLmZvbnQoKS5oZWlnaHQoKSArIG9wdGlvblNwYWNpbmdNaWRkbGU7CisgICAgbV9p
dGVtSGVpZ2h0ID0gY2xpZW50KCktPm1lbnVTdHlsZSgpLmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkg
KyBvcHRpb25TcGFjaW5nTWlkZGxlOwogICAgIGludCBuYXR1cmFsSGVpZ2h0ID0gbV9pdGVtSGVp
Z2h0ICogaXRlbUNvdW50OwogICAgIGludCBwb3B1cEhlaWdodCA9IG1pbihtYXhQb3B1cEhlaWdo
dCwgbmF0dXJhbEhlaWdodCk7CiAgICAgLy8gVGhlIHBvcHVwIHNob3VsZCBzaG93IGFuIGludGVn
cmFsIG51bWJlciBvZiBpdGVtcyAoaS5lLiBubyBwYXJ0aWFsIGl0ZW1zIHNob3VsZCBiZSB2aXNp
YmxlKQpAQCAtNjQ4LDcgKzY0OCw3IEBAIHZvaWQgUG9wdXBNZW51V2luOjpwYWludChjb25zdCBJ
bnRSZWN0JiAKICAgICAgICAgICAgIGludCB0ZXh0WCA9IG1heCgwLCBjbGllbnQoKS0+Y2xpZW50
UGFkZGluZ0xlZnQoKSAtIGNsaWVudCgpLT5jbGllbnRJbnNldExlZnQoKSk7CiAgICAgICAgICAg
ICBpZiAoUmVuZGVyVGhlbWU6OmRlZmF1bHRUaGVtZSgpLT5wb3B1cE9wdGlvblN1cHBvcnRzVGV4
dEluZGVudCgpICYmIGl0ZW1TdHlsZS50ZXh0RGlyZWN0aW9uKCkgPT0gTFRSKQogICAgICAgICAg
ICAgICAgIHRleHRYICs9IGl0ZW1TdHlsZS50ZXh0SW5kZW50KCkuY2FsY01pblZhbHVlKGl0ZW1S
ZWN0LndpZHRoKCkpOwotICAgICAgICAgICAgaW50IHRleHRZID0gaXRlbVJlY3QueSgpICsgaXRl
bUZvbnQuYXNjZW50KCkgKyAoaXRlbVJlY3QuaGVpZ2h0KCkgLSBpdGVtRm9udC5oZWlnaHQoKSkg
LyAyOworICAgICAgICAgICAgaW50IHRleHRZID0gaXRlbVJlY3QueSgpICsgaXRlbUZvbnQuZm9u
dE1ldHJpY3MoKS5hc2NlbnQoKSArIChpdGVtUmVjdC5oZWlnaHQoKSAtIGl0ZW1Gb250LmZvbnRN
ZXRyaWNzKCkuaGVpZ2h0KCkpIC8gMjsKICAgICAgICAgICAgIGNvbnRleHQuZHJhd0JpZGlUZXh0
KGl0ZW1Gb250LCB0ZXh0UnVuLCBJbnRQb2ludCh0ZXh0WCwgdGV4dFkpKTsKICAgICAgICAgfQog
ICAgIH0KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL0VsbGlwc2lzQm94LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9FbGxpcHNpc0JveC5jcHAJKHJldmlzaW9uIDc0NDY3KQor
KysgV2ViQ29yZS9yZW5kZXJpbmcvRWxsaXBzaXNCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
MSw3ICs1MSw3IEBAIHZvaWQgRWxsaXBzaXNCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFpbnQKICAg
ICB9CiAKICAgICBjb25zdCBTdHJpbmcmIHN0ciA9IG1fc3RyOwotICAgIGNvbnRleHQtPmRyYXdU
ZXh0KHN0eWxlLT5mb250KCksIFRleHRSdW4oc3RyLmNoYXJhY3RlcnMoKSwgc3RyLmxlbmd0aCgp
LCBmYWxzZSwgMCwgMCwgZmFsc2UsIHN0eWxlLT52aXN1YWxseU9yZGVyZWQoKSksIEludFBvaW50
KG1feCArIHR4LCBtX3kgKyB0eSArIHN0eWxlLT5mb250KCkuYXNjZW50KCkpKTsKKyAgICBjb250
ZXh0LT5kcmF3VGV4dChzdHlsZS0+Zm9udCgpLCBUZXh0UnVuKHN0ci5jaGFyYWN0ZXJzKCksIHN0
ci5sZW5ndGgoKSwgZmFsc2UsIDAsIDAsIGZhbHNlLCBzdHlsZS0+dmlzdWFsbHlPcmRlcmVkKCkp
LCBJbnRQb2ludChtX3ggKyB0eCwgbV95ICsgdHkgKyBzdHlsZS0+Zm9udE1ldHJpY3MoKS5hc2Nl
bnQoKSkpOwogCiAgICAgLy8gUmVzdG9yZSB0aGUgcmVndWxhciBmaWxsIGNvbG9yLgogICAgIGlm
ICh0ZXh0Q29sb3IgIT0gY29udGV4dC0+ZmlsbENvbG9yKCkpCkBAIC02Myw3ICs2Myw3IEBAIHZv
aWQgRWxsaXBzaXNCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFpbnQKICAgICBpZiAobV9tYXJrdXBC
b3gpIHsKICAgICAgICAgLy8gUGFpbnQgdGhlIG1hcmt1cCBib3gKICAgICAgICAgdHggKz0gbV94
ICsgbV9sb2dpY2FsV2lkdGggLSBtX21hcmt1cEJveC0+eCgpOwotICAgICAgICB0eSArPSBtX3kg
KyBzdHlsZS0+Zm9udCgpLmFzY2VudCgpIC0gKG1fbWFya3VwQm94LT55KCkgKyBtX21hcmt1cEJv
eC0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCkuYXNjZW50KCkpOworICAg
ICAgICB0eSArPSBtX3kgKyBzdHlsZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSAtIChtX21hcmt1
cEJveC0+eSgpICsgbV9tYXJrdXBCb3gtPnJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+
Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAgICAgIG1fbWFya3VwQm94LT5wYWludChwYWlu
dEluZm8sIHR4LCB0eSk7CiAgICAgfQogfQpAQCAtMTA2LDcgKzEwNiw3IEBAIGJvb2wgRWxsaXBz
aXNCb3g6Om5vZGVBdFBvaW50KGNvbnN0IEhpdFQKICAgICBpZiAobV9tYXJrdXBCb3gpIHsKICAg
ICAgICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gbV9yZW5kZXJlci0+c3R5bGUobV9maXJzdExpbmUp
OwogICAgICAgICBpbnQgbXR4ID0gdHggKyBtX2xvZ2ljYWxXaWR0aCAtIG1fbWFya3VwQm94LT54
KCk7Ci0gICAgICAgIGludCBtdHkgPSB0eSArIHN0eWxlLT5mb250KCkuYXNjZW50KCkgLSAobV9t
YXJrdXBCb3gtPnkoKSArIG1fbWFya3VwQm94LT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGlu
ZSktPmZvbnQoKS5hc2NlbnQoKSk7CisgICAgICAgIGludCBtdHkgPSB0eSArIHN0eWxlLT5mb250
TWV0cmljcygpLmFzY2VudCgpIC0gKG1fbWFya3VwQm94LT55KCkgKyBtX21hcmt1cEJveC0+cmVu
ZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250TWV0cmljcygpLmFzY2VudCgpKTsKICAg
ICAgICAgaWYgKG1fbWFya3VwQm94LT5ub2RlQXRQb2ludChyZXF1ZXN0LCByZXN1bHQsIHgsIHks
IG10eCwgbXR5KSkgewogICAgICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlSGl0VGVzdFJlc3Vs
dChyZXN1bHQsIEludFBvaW50KHggLSBtdHgsIHkgLSBtdHkpKTsKICAgICAgICAgICAgIHJldHVy
biB0cnVlOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guY3BwCShyZXZpc2lvbiA3NDQ2NykKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzLDE0
ICs5MywxNCBAQCBpbnQgSW5saW5lQm94Ojpsb2dpY2FsSGVpZ2h0KCkgY29uc3QKICNlbmRpZgog
ICAgIAogICAgIGlmIChyZW5kZXJlcigpLT5pc1RleHQoKSkKLSAgICAgICAgcmV0dXJuIG1faXNU
ZXh0ID8gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCkuaGVpZ2h0KCkgOiAw
OworICAgICAgICByZXR1cm4gbV9pc1RleHQgPyByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGlu
ZSktPmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkgOiAwOwogICAgIGlmIChyZW5kZXJlcigpLT5pc0Jv
eCgpICYmIHBhcmVudCgpKQogICAgICAgICByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyB0b1JlbmRl
ckJveChtX3JlbmRlcmVyKS0+aGVpZ2h0KCkgOiB0b1JlbmRlckJveChtX3JlbmRlcmVyKS0+d2lk
dGgoKTsKIAogICAgIEFTU0VSVChpc0lubGluZUZsb3dCb3goKSk7CiAgICAgUmVuZGVyQm94TW9k
ZWxPYmplY3QqIGZsb3dPYmplY3QgPSBib3hNb2RlbE9iamVjdCgpOwotICAgIGNvbnN0IEZvbnQm
IGZvbnQgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKTsKLSAgICBpbnQg
cmVzdWx0ID0gZm9udC5oZWlnaHQoKTsKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJp
Y3MgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnRNZXRyaWNzKCk7CisgICAg
aW50IHJlc3VsdCA9IGZvbnRNZXRyaWNzLmhlaWdodCgpOwogICAgIGlmIChwYXJlbnQoKSkKICAg
ICAgICAgcmVzdWx0ICs9IGZsb3dPYmplY3QtPmJvcmRlckFuZFBhZGRpbmdMb2dpY2FsSGVpZ2h0
KCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZs
b3dCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3gu
Y3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3gu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDgsNiArNDA4LDcgQEAgc3RhdGljIGludCB2ZXJ0aWNh
bFBvc2l0aW9uRm9yQm94KElubGluZQogICAgICAgICAKICAgICAgICAgaWYgKHZlcnRpY2FsQWxp
Z24gIT0gQkFTRUxJTkUpIHsKICAgICAgICAgICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBwYXJlbnQt
PnN0eWxlKGZpcnN0TGluZSktPmZvbnQoKTsKKyAgICAgICAgICAgIGNvbnN0IEZvbnRNZXRyaWNz
JiBmb250TWV0cmljcyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKICAgICAgICAgICAgIGludCBmb250
U2l6ZSA9IGZvbnQucGl4ZWxTaXplKCk7CiAKICAgICAgICAgICAgIExpbmVEaXJlY3Rpb25Nb2Rl
IGxpbmVEaXJlY3Rpb24gPSBwYXJlbnQtPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2Rl
KCkgPyBIb3Jpem9udGFsTGluZSA6IFZlcnRpY2FsTGluZTsKQEAgLTQxNywxMSArNDE4LDExIEBA
IHN0YXRpYyBpbnQgdmVydGljYWxQb3NpdGlvbkZvckJveChJbmxpbmUKICAgICAgICAgICAgIGVs
c2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gU1VQRVIpCiAgICAgICAgICAgICAgICAgdmVydGljYWxQ
b3NpdGlvbiAtPSBmb250U2l6ZSAvIDMgKyAxOwogICAgICAgICAgICAgZWxzZSBpZiAodmVydGlj
YWxBbGlnbiA9PSBURVhUX1RPUCkKLSAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9
IHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5l
RGlyZWN0aW9uKSAtIGZvbnQuYXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgICAgICAgICAgICAg
dmVydGljYWxQb3NpdGlvbiArPSByZW5kZXJlci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5
cGUsIGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikgLSBmb250TWV0cmljcy5hc2NlbnQoYmFzZWxp
bmVUeXBlKTsKICAgICAgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gTUlERExFKQot
ICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gLXN0YXRpY19jYXN0PGludD4oZm9u
dC54SGVpZ2h0KCkgLyAyKSAtIHJlbmRlcmVyLT5saW5lSGVpZ2h0KGZpcnN0TGluZSwgbGluZURp
cmVjdGlvbikgLyAyICsgcmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBm
aXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pOworICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRp
b24gKz0gLXN0YXRpY19jYXN0PGludD4oZm9udE1ldHJpY3MueEhlaWdodCgpIC8gMikgLSByZW5k
ZXJlci0+bGluZUhlaWdodChmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC8gMiArIHJlbmRlcmVy
LT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9u
KTsKICAgICAgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gVEVYVF9CT1RUT00pIHsK
LSAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IGZvbnQuZGVzY2VudChiYXNlbGlu
ZVR5cGUpOworICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gZm9udE1ldHJpY3Mu
ZGVzY2VudChiYXNlbGluZVR5cGUpOwogICAgICAgICAgICAgICAgIC8vIGxpbmVIZWlnaHQgLSBi
YXNlbGluZVBvc2l0aW9uIGlzIGFsd2F5cyAwIGZvciByZXBsYWNlZCBlbGVtZW50cyAoZXhjZXB0
IGlubGluZSBibG9ja3MpLCBzbyBkb24ndCBib3RoZXIgd2FzdGluZyB0aW1lIGluIHRoYXQgY2Fz
ZS4KICAgICAgICAgICAgICAgICBpZiAoIXJlbmRlcmVyLT5pc1JlcGxhY2VkKCkgfHwgcmVuZGVy
ZXItPmlzSW5saW5lQmxvY2tPcklubGluZVRhYmxlKCkpCiAgICAgICAgICAgICAgICAgICAgIHZl
cnRpY2FsUG9zaXRpb24gLT0gKHJlbmRlcmVyLT5saW5lSGVpZ2h0KGZpcnN0TGluZSwgbGluZURp
cmVjdGlvbikgLSByZW5kZXJlci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0
TGluZSwgbGluZURpcmVjdGlvbikpOwpAQCAtNTAzLDkgKzUwNCwxMCBAQCB2b2lkIElubGluZUZs
b3dCb3g6OmNvbXB1dGVMb2dpY2FsQm94SGVpCiAgICAgICAgICAgICBiYXNlbGluZSA9IDA7CiAg
ICAgICAgICAgICBpbnQgYmFzZWxpbmVUb0JvdHRvbSA9IDA7CiAgICAgICAgICAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IHVzZWRGb250cy0+c2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgICAg
ICBpbnQgaGFsZkxlYWRpbmcgPSAodXNlZEZvbnRzLT5hdChpKS0+bGluZVNwYWNpbmcoKSAtIHVz
ZWRGb250cy0+YXQoaSktPmhlaWdodCgpKSAvIDI7Ci0gICAgICAgICAgICAgICAgaW50IHVzZWRG
b250QmFzZWxpbmUgPSBoYWxmTGVhZGluZyArIHVzZWRGb250cy0+YXQoaSktPmFzY2VudChiYXNl
bGluZVR5cGUpOwotICAgICAgICAgICAgICAgIGludCB1c2VkRm9udEJhc2VsaW5lVG9Cb3R0b20g
PSB1c2VkRm9udHMtPmF0KGkpLT5saW5lU3BhY2luZygpIC0gdXNlZEZvbnRCYXNlbGluZTsKKyAg
ICAgICAgICAgICAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSB1c2VkRm9udHMt
PmF0KGkpLT5mb250TWV0cmljcygpOworICAgICAgICAgICAgICAgIGludCBoYWxmTGVhZGluZyA9
IChmb250TWV0cmljcy5saW5lU3BhY2luZygpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpIC8gMjsK
KyAgICAgICAgICAgICAgICBpbnQgdXNlZEZvbnRCYXNlbGluZSA9IGhhbGZMZWFkaW5nICsgZm9u
dE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgICAgICAgICAgICAgaW50IHVzZWRG
b250QmFzZWxpbmVUb0JvdHRvbSA9IGZvbnRNZXRyaWNzLmxpbmVTcGFjaW5nKCkgLSB1c2VkRm9u
dEJhc2VsaW5lOwogICAgICAgICAgICAgICAgIGlmICghYmFzZWxpbmVTZXQpIHsKICAgICAgICAg
ICAgICAgICAgICAgYmFzZWxpbmVTZXQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICBiYXNl
bGluZSA9IHVzZWRGb250QmFzZWxpbmU7CkBAIC01MTUsOSArNTE3LDkgQEAgdm9pZCBJbmxpbmVG
bG93Qm94Ojpjb21wdXRlTG9naWNhbEJveEhlaQogICAgICAgICAgICAgICAgICAgICBiYXNlbGlu
ZVRvQm90dG9tID0gbWF4KGJhc2VsaW5lVG9Cb3R0b20sIHVzZWRGb250QmFzZWxpbmVUb0JvdHRv
bSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGlmICghYWZmZWN0c0FzY2Vu
dCkKLSAgICAgICAgICAgICAgICAgICAgYWZmZWN0c0FzY2VudCA9IHVzZWRGb250cy0+YXQoaSkt
PmFzY2VudCgpIC0gY3Vyci0+bG9naWNhbFRvcCgpID4gMDsKKyAgICAgICAgICAgICAgICAgICAg
YWZmZWN0c0FzY2VudCA9IGZvbnRNZXRyaWNzLmFzY2VudCgpIC0gY3Vyci0+bG9naWNhbFRvcCgp
ID4gMDsKICAgICAgICAgICAgICAgICBpZiAoIWFmZmVjdHNEZXNjZW50KQotICAgICAgICAgICAg
ICAgICAgICBhZmZlY3RzRGVzY2VudCA9IHVzZWRGb250cy0+YXQoaSktPmRlc2NlbnQoKSArIGN1
cnItPmxvZ2ljYWxUb3AoKSA+IDA7CisgICAgICAgICAgICAgICAgICAgIGFmZmVjdHNEZXNjZW50
ID0gZm9udE1ldHJpY3MuZGVzY2VudCgpICsgY3Vyci0+bG9naWNhbFRvcCgpID4gMDsKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIGxpbmVIZWlnaHQgPSBiYXNlbGluZSArIGJhc2VsaW5lVG9C
b3R0b207CiAgICAgICAgIH0gZWxzZSB7CkBAIC01MjcsMTEgKzUyOSwxMiBAQCB2b2lkIElubGlu
ZUZsb3dCb3g6OmNvbXB1dGVMb2dpY2FsQm94SGVpCiAgICAgICAgICAgICAgICAgLy8gRXhhbWlu
ZSB0aGUgZm9udCBib3ggZm9yIGlubGluZSBmbG93cyBhbmQgdGV4dCBib3hlcyB0byBzZWUgaWYg
YW55IHBhcnQgb2YgaXQgaXMgYWJvdmUgdGhlIGJhc2VsaW5lLgogICAgICAgICAgICAgICAgIC8v
IElmIHRoZSB0b3Agb2Ygb3VyIGZvbnQgYm94IHJlbGF0aXZlIHRvIHRoZSByb290IGJveCBiYXNl
bGluZSBpcyBhYm92ZSB0aGUgcm9vdCBib3ggYmFzZWxpbmUsIHRoZW4KICAgICAgICAgICAgICAg
ICAvLyB3ZSBhcmUgY29udHJpYnV0aW5nIHRvIHRoZSBtYXhBc2NlbnQgdmFsdWUuCi0gICAgICAg
ICAgICAgICAgYWZmZWN0c0FzY2VudCA9IGN1cnItPnJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RM
aW5lKS0+Zm9udCgpLmFzY2VudChiYXNlbGluZVR5cGUpIC0gY3Vyci0+bG9naWNhbFRvcCgpID4g
MDsKKyAgICAgICAgICAgICAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBjdXJy
LT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnRNZXRyaWNzKCk7CisgICAgICAg
ICAgICAgICAgYWZmZWN0c0FzY2VudCA9IGZvbnRNZXRyaWNzLmFzY2VudChiYXNlbGluZVR5cGUp
IC0gY3Vyci0+bG9naWNhbFRvcCgpID4gMDsKICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICAvLyBEZXNjZW50IGlzIHNpbWlsYXIuICBJZiBhbnkgcGFydCBvZiBvdXIgZm9udCBib3gg
aXMgYmVsb3cgdGhlIHJvb3QgYm94J3MgYmFzZWxpbmUsIHRoZW4KICAgICAgICAgICAgICAgICAv
LyB3ZSBjb250cmlidXRlIHRvIHRoZSBtYXhEZXNjZW50IHZhbHVlLgotICAgICAgICAgICAgICAg
IGFmZmVjdHNEZXNjZW50ID0gY3Vyci0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5m
b250KCkuZGVzY2VudChiYXNlbGluZVR5cGUpICsgY3Vyci0+bG9naWNhbFRvcCgpID4gMDsKKyAg
ICAgICAgICAgICAgICBhZmZlY3RzRGVzY2VudCA9IGZvbnRNZXRyaWNzLmRlc2NlbnQoYmFzZWxp
bmVUeXBlKSArIGN1cnItPmxvZ2ljYWxUb3AoKSA+IDA7CiAgICAgICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgICAgIC8vIFJlcGxhY2VkIGVsZW1lbnRzIGFsd2F5cyBhZmZlY3QgYm90aCB0
aGUgYXNjZW50IGFuZCBkZXNjZW50LgogICAgICAgICAgICAgICAgIGFmZmVjdHNBc2NlbnQgPSB0
cnVlOwpAQCAtNjA2LDggKzYwOSw4IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6cGxhY2VCb3hlc0lu
QmxvY2tEaXIKICAgICAgICAgaW50IGJveEhlaWdodEluY2x1ZGluZ01hcmdpbnMgPSBib3hIZWln
aHQ7CiAgICAgICAgICAgICAKICAgICAgICAgaWYgKGN1cnItPmlzVGV4dCgpIHx8IGN1cnItPmlz
SW5saW5lRmxvd0JveCgpKSB7Ci0gICAgICAgICAgICBjb25zdCBGb250JiBmb250ID0gY3Vyci0+
cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCk7Ci0gICAgICAgICAgICBuZXdM
b2dpY2FsVG9wICs9IGN1cnItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlKSAtIGZvbnQu
YXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgICAgICAgICBjb25zdCBGb250TWV0cmljcyYgZm9u
dE1ldHJpY3MgPSBjdXJyLT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnRNZXRy
aWNzKCk7CisgICAgICAgICAgICBuZXdMb2dpY2FsVG9wICs9IGN1cnItPmJhc2VsaW5lUG9zaXRp
b24oYmFzZWxpbmVUeXBlKSAtIGZvbnRNZXRyaWNzLmFzY2VudChiYXNlbGluZVR5cGUpOwogICAg
ICAgICAgICAgaWYgKGN1cnItPmlzSW5saW5lRmxvd0JveCgpKSB7CiAgICAgICAgICAgICAgICAg
UmVuZGVyQm94TW9kZWxPYmplY3QqIGJveE9iamVjdCA9IHRvUmVuZGVyQm94TW9kZWxPYmplY3Qo
Y3Vyci0+cmVuZGVyZXIoKSk7CiAgICAgICAgICAgICAgICAgbmV3TG9naWNhbFRvcCAtPSBib3hP
YmplY3QtPnN0eWxlKG1fZmlyc3RMaW5lKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGJv
eE9iamVjdC0+Ym9yZGVyVG9wKCkgKyBib3hPYmplY3QtPnBhZGRpbmdUb3AoKSA6IApAQCAtNjY1
LDggKzY2OCw4IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6cGxhY2VCb3hlc0luQmxvY2tEaXIKICAg
ICB9CiAKICAgICBpZiAoaXNSb290SW5saW5lQm94KCkpIHsKLSAgICAgICAgY29uc3QgRm9udCYg
Zm9udCA9IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpOwotICAgICAgICBz
ZXRMb2dpY2FsVG9wKGxvZ2ljYWxUb3AoKSArIGJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBl
KSAtIGZvbnQuYXNjZW50KGJhc2VsaW5lVHlwZSkpOworICAgICAgICBjb25zdCBGb250TWV0cmlj
cyYgZm9udE1ldHJpY3MgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnRNZXRy
aWNzKCk7CisgICAgICAgIHNldExvZ2ljYWxUb3AobG9naWNhbFRvcCgpICsgYmFzZWxpbmVQb3Np
dGlvbihiYXNlbGluZVR5cGUpIC0gZm9udE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlwZSkpOwog
ICAgICAgICAKICAgICAgICAgaWYgKGhhc1RleHRDaGlsZHJlbigpIHx8IHN0cmljdE1vZGUpIHsK
ICAgICAgICAgICAgIGlmICghc2V0TGluZVRvcCkgewpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
SW5saW5lVGV4dEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5l
VGV4dEJveC5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5l
VGV4dEJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1Nyw3ICs0NTcsNyBAQCB2b2lkIElubGlu
ZVRleHRCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFpCiAgICAgSW50UG9pbnQgYm94T3JpZ2luID0g
bG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpOwogICAgIGJveE9yaWdpbi5tb3ZlKHR4LCB0eSk7
ICAgIAogICAgIEludFJlY3QgYm94UmVjdChib3hPcmlnaW4sIEludFNpemUobG9naWNhbFdpZHRo
KCksIGxvZ2ljYWxIZWlnaHQoKSkpOwotICAgIEludFBvaW50IHRleHRPcmlnaW4gPSBJbnRQb2lu
dChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpICsgc3R5bGVUb1VzZS0+Zm9udCgpLmFzY2Vu
dCgpKTsKKyAgICBJbnRQb2ludCB0ZXh0T3JpZ2luID0gSW50UG9pbnQoYm94T3JpZ2luLngoKSwg
Ym94T3JpZ2luLnkoKSArIHN0eWxlVG9Vc2UtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwogCiAg
ICAgaWYgKCFpc0hvcml6b250YWwoKSkgewogICAgICAgICBjb250ZXh0LT5zYXZlKCk7CkBAIC01
OTcsOSArNTk3LDkgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludChQYWludEluZm8mIHBhaQog
ICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZW1waGFzaXNNYXJrID0gc3R5bGVUb1VzZS0+dGV4dEVt
cGhhc2lzTWFya1N0cmluZygpOwogICAgIGlmICghZW1waGFzaXNNYXJrLmlzRW1wdHkoKSkgewog
ICAgICAgICBpZiAoc3R5bGVUb1VzZS0+dGV4dEVtcGhhc2lzUG9zaXRpb24oKSA9PSBUZXh0RW1w
aGFzaXNQb3NpdGlvbk92ZXIpCi0gICAgICAgICAgICBlbXBoYXNpc01hcmtPZmZzZXQgPSAtZm9u
dC5hc2NlbnQoKSAtIGZvbnQuZW1waGFzaXNNYXJrRGVzY2VudChlbXBoYXNpc01hcmspOworICAg
ICAgICAgICAgZW1waGFzaXNNYXJrT2Zmc2V0ID0gLWZvbnQuZm9udE1ldHJpY3MoKS5hc2NlbnQo
KSAtIGZvbnQuZW1waGFzaXNNYXJrRGVzY2VudChlbXBoYXNpc01hcmspOwogICAgICAgICBlbHNl
Ci0gICAgICAgICAgICBlbXBoYXNpc01hcmtPZmZzZXQgPSBmb250LmRlc2NlbnQoKSArIGZvbnQu
ZW1waGFzaXNNYXJrQXNjZW50KGVtcGhhc2lzTWFyayk7CisgICAgICAgICAgICBlbXBoYXNpc01h
cmtPZmZzZXQgPSBmb250LmZvbnRNZXRyaWNzKCkuZGVzY2VudCgpICsgZm9udC5lbXBoYXNpc01h
cmtBc2NlbnQoZW1waGFzaXNNYXJrKTsKICAgICB9CiAKICAgICBpZiAoIXBhaW50U2VsZWN0ZWRU
ZXh0T25seSkgewpAQCAtODExLDcgKzgxMSw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRE
ZWNvcmF0aW9uKEdyYXAKICAgICBib29sIGxpbmVzQXJlT3BhcXVlID0gIWlzUHJpbnRpbmcgJiYg
KCEoZGVjbyAmIFVOREVSTElORSkgfHwgdW5kZXJsaW5lLmFscGhhKCkgPT0gMjU1KSAmJiAoIShk
ZWNvICYgT1ZFUkxJTkUpIHx8IG92ZXJsaW5lLmFscGhhKCkgPT0gMjU1KSAmJiAoIShkZWNvICYg
TElORV9USFJPVUdIKSB8fCBsaW5ldGhyb3VnaC5hbHBoYSgpID09IDI1NSk7CiAKICAgICBSZW5k
ZXJTdHlsZSogc3R5bGVUb1VzZSA9IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKTsKLSAg
ICBpbnQgYmFzZWxpbmUgPSBzdHlsZVRvVXNlLT5mb250KCkuYXNjZW50KCk7CisgICAgaW50IGJh
c2VsaW5lID0gc3R5bGVUb1VzZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKTsKIAogICAgIGJvb2wg
c2V0Q2xpcCA9IGZhbHNlOwogICAgIGludCBleHRyYU9mZnNldCA9IDA7CkBAIC05NDQsNyArOTQ0
LDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxsaW5nT3JHcmFtbQogICAgIC8vIFNv
LCB3ZSBnZW5lcmFsbHkgcGxhY2UgdGhlIHVuZGVybGluZSBhdCB0aGUgYm90dG9tIG9mIHRoZSB0
ZXh0LCBidXQgaW4gbGFyZ2VyIGZvbnRzIHRoYXQncyBub3Qgc28gZ29vZCBzbwogICAgIC8vIHdl
IHBpbiB0byB0d28gcGl4ZWxzIHVuZGVyIHRoZSBiYXNlbGluZS4KICAgICBpbnQgbGluZVRoaWNr
bmVzcyA9IGNNaXNzcGVsbGluZ0xpbmVUaGlja25lc3M7Ci0gICAgaW50IGJhc2VsaW5lID0gcmVu
ZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCkuYXNjZW50KCk7CisgICAgaW50IGJh
c2VsaW5lID0gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250TWV0cmljcygpLmFz
Y2VudCgpOwogICAgIGludCBkZXNjZW50ID0gbG9naWNhbEhlaWdodCgpIC0gYmFzZWxpbmU7CiAg
ICAgaW50IHVuZGVybGluZU9mZnNldDsKICAgICBpZiAoZGVzY2VudCA8PSAoMiArIGxpbmVUaGlj
a25lc3MpKSB7CkBAIC0xMTAxLDcgKzExMDEsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50
Q29tcG9zaXRpb25VbmRlCiAgICAgLy8gQWxsIG90aGVyIG1hcmtlZCB0ZXh0IHVuZGVybGluZXMg
YXJlIDFweCB0aGljay4KICAgICAvLyBJZiB0aGVyZSdzIG5vdCBlbm91Z2ggc3BhY2UgdGhlIHVu
ZGVybGluZSB3aWxsIHRvdWNoIG9yIG92ZXJsYXAgY2hhcmFjdGVycy4KICAgICBpbnQgbGluZVRo
aWNrbmVzcyA9IDE7Ci0gICAgaW50IGJhc2VsaW5lID0gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJz
dExpbmUpLT5mb250KCkuYXNjZW50KCk7CisgICAgaW50IGJhc2VsaW5lID0gcmVuZGVyZXIoKS0+
c3R5bGUobV9maXJzdExpbmUpLT5mb250TWV0cmljcygpLmFzY2VudCgpOwogICAgIGlmICh1bmRl
cmxpbmUudGhpY2sgJiYgbG9naWNhbEhlaWdodCgpIC0gYmFzZWxpbmUgPj0gMikKICAgICAgICAg
bGluZVRoaWNrbmVzcyA9IDI7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHJl
dmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00OTYwLDggKzQ5NjAsOCBAQCBpbnQgUmVuZGVyQmxvY2s6OmJhc2VsaW5l
UG9zaXRpb24oRm9udEJhCiAgICAgICAgIHJldHVybiBSZW5kZXJCb3g6OmJhc2VsaW5lUG9zaXRp
b24oYmFzZWxpbmVUeXBlLCBmaXJzdExpbmUsIGRpcmVjdGlvbiwgbGluZVBvc2l0aW9uTW9kZSk7
CiAgICAgfQogCi0gICAgY29uc3QgRm9udCYgZiA9IHN0eWxlKGZpcnN0TGluZSktPmZvbnQoKTsK
LSAgICByZXR1cm4gZi5hc2NlbnQoYmFzZWxpbmVUeXBlKSArIChsaW5lSGVpZ2h0KGZpcnN0TGlu
ZSwgZGlyZWN0aW9uLCBsaW5lUG9zaXRpb25Nb2RlKSAtIGYuaGVpZ2h0KCkpIC8gMjsKKyAgICBj
b25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBzdHlsZShmaXJzdExpbmUpLT5mb250TWV0
cmljcygpOworICAgIHJldHVybiBmb250TWV0cmljcy5hc2NlbnQoYmFzZWxpbmVUeXBlKSArIChs
aW5lSGVpZ2h0KGZpcnN0TGluZSwgZGlyZWN0aW9uLCBsaW5lUG9zaXRpb25Nb2RlKSAtIGZvbnRN
ZXRyaWNzLmhlaWdodCgpKSAvIDI7CiB9CiAKIGludCBSZW5kZXJCbG9jazo6Zmlyc3RMaW5lQm94
QmFzZWxpbmUoKSBjb25zdApAQCAtNDk3MSw3ICs0OTcxLDcgQEAgaW50IFJlbmRlckJsb2NrOjpm
aXJzdExpbmVCb3hCYXNlbGluZSgpIAogCiAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpIHsKICAg
ICAgICAgaWYgKGZpcnN0TGluZUJveCgpKQotICAgICAgICAgICAgcmV0dXJuIGZpcnN0TGluZUJv
eCgpLT5sb2dpY2FsVG9wKCkgKyBzdHlsZSh0cnVlKS0+Zm9udCgpLmFzY2VudChmaXJzdFJvb3RC
b3goKS0+YmFzZWxpbmVUeXBlKCkpOworICAgICAgICAgICAgcmV0dXJuIGZpcnN0TGluZUJveCgp
LT5sb2dpY2FsVG9wKCkgKyBzdHlsZSh0cnVlKS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoZmlyc3RS
b290Qm94KCktPmJhc2VsaW5lVHlwZSgpKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmV0
dXJuIC0xOwogICAgIH0KQEAgLTQ5OTcsMTEgKzQ5OTcsMTMgQEAgaW50IFJlbmRlckJsb2NrOjps
YXN0TGluZUJveEJhc2VsaW5lKCkgYwogCiAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpIHsKICAg
ICAgICAgaWYgKCFmaXJzdExpbmVCb3goKSAmJiBoYXNMaW5lSWZFbXB0eSgpKSB7Ci0gICAgICAg
ICAgICBjb25zdCBGb250JiBmID0gZmlyc3RMaW5lU3R5bGUoKS0+Zm9udCgpOwotICAgICAgICAg
ICAgcmV0dXJuIGYuYXNjZW50KCkgKyAobGluZUhlaWdodCh0cnVlLCBsaW5lRGlyZWN0aW9uLCBQ
b3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpIC0gZi5oZWlnaHQoKSkgLyAyICsgKGxpbmVEaXJl
Y3Rpb24gPT0gSG9yaXpvbnRhbExpbmUgPyBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKSA6IGJv
cmRlclJpZ2h0KCkgKyBwYWRkaW5nUmlnaHQoKSk7CisgICAgICAgICAgICBjb25zdCBGb250TWV0
cmljcyYgZm9udE1ldHJpY3MgPSBmaXJzdExpbmVTdHlsZSgpLT5mb250TWV0cmljcygpOworICAg
ICAgICAgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmFzY2VudCgpCisgICAgICAgICAgICAgICAgICsg
KGxpbmVIZWlnaHQodHJ1ZSwgbGluZURpcmVjdGlvbiwgUG9zaXRpb25PZkludGVyaW9yTGluZUJv
eGVzKSAtIGZvbnRNZXRyaWNzLmhlaWdodCgpKSAvIDIKKyAgICAgICAgICAgICAgICAgKyAobGlu
ZURpcmVjdGlvbiA9PSBIb3Jpem9udGFsTGluZSA/IGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgp
IDogYm9yZGVyUmlnaHQoKSArIHBhZGRpbmdSaWdodCgpKTsKICAgICAgICAgfQogICAgICAgICBp
ZiAobGFzdExpbmVCb3goKSkKLSAgICAgICAgICAgIHJldHVybiBsYXN0TGluZUJveCgpLT5sb2dp
Y2FsVG9wKCkgKyBzdHlsZShsYXN0TGluZUJveCgpID09IGZpcnN0TGluZUJveCgpKS0+Zm9udCgp
LmFzY2VudChsYXN0Um9vdEJveCgpLT5iYXNlbGluZVR5cGUoKSk7CisgICAgICAgICAgICByZXR1
cm4gbGFzdExpbmVCb3goKS0+bG9naWNhbFRvcCgpICsgc3R5bGUobGFzdExpbmVCb3goKSA9PSBm
aXJzdExpbmVCb3goKSktPmZvbnRNZXRyaWNzKCkuYXNjZW50KGxhc3RSb290Qm94KCktPmJhc2Vs
aW5lVHlwZSgpKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGJv
b2wgaGF2ZU5vcm1hbEZsb3dDaGlsZCA9IGZhbHNlOwpAQCAtNTAxNCw4ICs1MDE2LDEwIEBAIGlu
dCBSZW5kZXJCbG9jazo6bGFzdExpbmVCb3hCYXNlbGluZSgpIGMKICAgICAgICAgICAgIH0KICAg
ICAgICAgfQogICAgICAgICBpZiAoIWhhdmVOb3JtYWxGbG93Q2hpbGQgJiYgaGFzTGluZUlmRW1w
dHkoKSkgewotICAgICAgICAgICAgY29uc3QgRm9udCYgZiA9IGZpcnN0TGluZVN0eWxlKCktPmZv
bnQoKTsKLSAgICAgICAgICAgIHJldHVybiBmLmFzY2VudCgpICsgKGxpbmVIZWlnaHQodHJ1ZSwg
bGluZURpcmVjdGlvbiwgUG9zaXRpb25PZkludGVyaW9yTGluZUJveGVzKSAtIGYuaGVpZ2h0KCkp
IC8gMiArIChsaW5lRGlyZWN0aW9uID09IEhvcml6b250YWxMaW5lID8gYm9yZGVyVG9wKCkgKyBw
YWRkaW5nVG9wKCkgOiBib3JkZXJSaWdodCgpICsgcGFkZGluZ1JpZ2h0KCkpOworICAgICAgICAg
ICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZmlyc3RMaW5lU3R5bGUoKS0+Zm9u
dE1ldHJpY3MoKTsKKyAgICAgICAgICAgIHJldHVybiBmb250TWV0cmljcy5hc2NlbnQoKQorICAg
ICAgICAgICAgICAgICArIChsaW5lSGVpZ2h0KHRydWUsIGxpbmVEaXJlY3Rpb24sIFBvc2l0aW9u
T2ZJbnRlcmlvckxpbmVCb3hlcykgLSBmb250TWV0cmljcy5oZWlnaHQoKSkgLyAyCisgICAgICAg
ICAgICAgICAgICsgKGxpbmVEaXJlY3Rpb24gPT0gSG9yaXpvbnRhbExpbmUgPyBib3JkZXJUb3Ao
KSArIHBhZGRpbmdUb3AoKSA6IGJvcmRlclJpZ2h0KCkgKyBwYWRkaW5nUmlnaHQoKSk7CiAgICAg
ICAgIH0KICAgICB9CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkocmV2aXNpb24gNzQ0
NjcpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yOTY0LDcgKzI5NjQsNyBAQCBJbnRSZWN0IFJlbmRlckJveDo6bG9jYWxDYXJldFJlY3QoSW5s
aW5lCiAgICAgLy8gPHJkYXI6Ly9wcm9ibGVtLzM3Nzc4MDQ+IERlbGV0aW5nIGFsbCBjb250ZW50
IGluIGEgZG9jdW1lbnQgY2FuIHJlc3VsdCBpbiBnaWFudCB0YWxsLWFzLXdpbmRvdyBpbnNlcnRp
b24gcG9pbnQKICAgICAvLwogICAgIC8vIEZJWE1FOiBpZ25vcmluZyA6Zmlyc3QtbGluZSwgbWlz
c2luZyBnb29kIHJlYXNvbiB0byB0YWtlIGNhcmUgb2YKLSAgICBpbnQgZm9udEhlaWdodCA9IHN0
eWxlKCktPmZvbnQoKS5oZWlnaHQoKTsKKyAgICBpbnQgZm9udEhlaWdodCA9IHN0eWxlKCktPmZv
bnRNZXRyaWNzKCkuaGVpZ2h0KCk7CiAgICAgaWYgKGZvbnRIZWlnaHQgPiByZWN0LmhlaWdodCgp
IHx8ICghaXNSZXBsYWNlZCgpICYmICFpc1RhYmxlKCkpKQogICAgICAgICByZWN0LnNldEhlaWdo
dChmb250SGVpZ2h0KTsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRP
YmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVk
T2JqZWN0LmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJF
bWJlZGRlZE9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3MCw4ICsxNzAsOSBAQCB2b2lk
IFJlbmRlckVtYmVkZGVkT2JqZWN0OjpwYWludFJlcGxhY2VkCiAgICAgY29udGV4dC0+c2V0Rmls
bENvbG9yKG1fbWlzc2luZ1BsdWdpbkluZGljYXRvcklzUHJlc3NlZCA/IHJlcGxhY2VtZW50VGV4
dFJvdW5kZWRSZWN0UHJlc3NlZENvbG9yKCkgOiBDb2xvcjo6d2hpdGUsIHN0eWxlKCktPmNvbG9y
U3BhY2UoKSk7CiAgICAgY29udGV4dC0+ZmlsbFBhdGgocGF0aCk7CiAKKyAgICBjb25zdCBGb250
TWV0cmljcyYgZm9udE1ldHJpY3MgPSBmb250LmZvbnRNZXRyaWNzKCk7CiAgICAgZmxvYXQgbGFi
ZWxYID0gcm91bmRmKHJlcGxhY2VtZW50VGV4dFJlY3QubG9jYXRpb24oKS54KCkgKyAocmVwbGFj
ZW1lbnRUZXh0UmVjdC5zaXplKCkud2lkdGgoKSAtIHRleHRXaWR0aCkgLyAyKTsKLSAgICBmbG9h
dCBsYWJlbFkgPSByb3VuZGYocmVwbGFjZW1lbnRUZXh0UmVjdC5sb2NhdGlvbigpLnkoKSArIChy
ZXBsYWNlbWVudFRleHRSZWN0LnNpemUoKS5oZWlnaHQoKSAtIGZvbnQuaGVpZ2h0KCkpIC8gMiAr
IGZvbnQuYXNjZW50KCkpOworICAgIGZsb2F0IGxhYmVsWSA9IHJvdW5kZihyZXBsYWNlbWVudFRl
eHRSZWN0LmxvY2F0aW9uKCkueSgpICsgKHJlcGxhY2VtZW50VGV4dFJlY3Quc2l6ZSgpLmhlaWdo
dCgpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpIC8gMiArIGZvbnRNZXRyaWNzLmFzY2VudCgpKTsK
ICAgICBjb250ZXh0LT5zZXRBbHBoYShtX21pc3NpbmdQbHVnaW5JbmRpY2F0b3JJc1ByZXNzZWQg
PyByZXBsYWNlbWVudFRleHRQcmVzc2VkVGV4dE9wYWNpdHkgOiByZXBsYWNlbWVudFRleHRUZXh0
T3BhY2l0eSk7CiAgICAgY29udGV4dC0+c2V0RmlsbENvbG9yKENvbG9yOjpibGFjaywgc3R5bGUo
KS0+Y29sb3JTcGFjZSgpKTsKICAgICBjb250ZXh0LT5kcmF3QmlkaVRleHQoZm9udCwgcnVuLCBG
bG9hdFBvaW50KGxhYmVsWCwgbGFiZWxZKSk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbWFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2Uu
Y3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTExLDcgKzExMSw3IEBAIGJvb2wgUmVuZGVySW1hZ2U6OnNl
dEltYWdlU2l6ZUZvckFsdFRleHQKICAgICAvLyB3ZSBoYXZlIGFuIGFsdCBhbmQgdGhlIHVzZXIg
bWVhbnQgaXQgKGl0cyBub3QgYSB0ZXh0IHdlIGludmVudGVkKQogICAgIGlmICghbV9hbHRUZXh0
LmlzRW1wdHkoKSkgewogICAgICAgICBjb25zdCBGb250JiBmb250ID0gc3R5bGUoKS0+Zm9udCgp
OwotICAgICAgICBJbnRTaXplIHRleHRTaXplKG1pbihmb250LndpZHRoKFRleHRSdW4obV9hbHRU
ZXh0LmNoYXJhY3RlcnMoKSwgbV9hbHRUZXh0Lmxlbmd0aCgpKSksIG1heEFsdFRleHRXaWR0aCks
IG1pbihmb250LmhlaWdodCgpLCBtYXhBbHRUZXh0SGVpZ2h0KSk7CisgICAgICAgIEludFNpemUg
dGV4dFNpemUobWluKGZvbnQud2lkdGgoVGV4dFJ1bihtX2FsdFRleHQuY2hhcmFjdGVycygpLCBt
X2FsdFRleHQubGVuZ3RoKCkpKSwgbWF4QWx0VGV4dFdpZHRoKSwgbWluKGZvbnQuZm9udE1ldHJp
Y3MoKS5oZWlnaHQoKSwgbWF4QWx0VGV4dEhlaWdodCkpOwogICAgICAgICBpbWFnZVNpemUgPSBp
bWFnZVNpemUuZXhwYW5kZWRUbyh0ZXh0U2l6ZSk7CiAgICAgfQogCkBAIC0yODgsMTcgKzI4OCwx
OCBAQCB2b2lkIFJlbmRlckltYWdlOjpwYWludFJlcGxhY2VkKFBhaW50SW5mCiAgICAgICAgICAg
ICAgICAgaW50IGF4ID0gdHggKyBsZWZ0Qm9yZGVyICsgbGVmdFBhZDsKICAgICAgICAgICAgICAg
ICBpbnQgYXkgPSB0eSArIHRvcEJvcmRlciArIHRvcFBhZDsKICAgICAgICAgICAgICAgICBjb25z
dCBGb250JiBmb250ID0gc3R5bGUoKS0+Zm9udCgpOwotICAgICAgICAgICAgICAgIGludCBhc2Nl
bnQgPSBmb250LmFzY2VudCgpOworICAgICAgICAgICAgICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBm
b250TWV0cmljcyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKKyAgICAgICAgICAgICAgICBpbnQgYXNj
ZW50ID0gZm9udE1ldHJpY3MuYXNjZW50KCk7CiAKICAgICAgICAgICAgICAgICAvLyBPbmx5IGRy
YXcgdGhlIGFsdCB0ZXh0IGlmIGl0J2xsIGZpdCB3aXRoaW4gdGhlIGNvbnRlbnQgYm94LAogICAg
ICAgICAgICAgICAgIC8vIGFuZCBvbmx5IGlmIGl0IGZpdHMgYWJvdmUgdGhlIGVycm9yIGltYWdl
LgogICAgICAgICAgICAgICAgIFRleHRSdW4gdGV4dFJ1bih0ZXh0LmNoYXJhY3RlcnMoKSwgdGV4
dC5sZW5ndGgoKSk7CiAgICAgICAgICAgICAgICAgaW50IHRleHRXaWR0aCA9IGZvbnQud2lkdGgo
dGV4dFJ1bik7CiAgICAgICAgICAgICAgICAgaWYgKGVycm9yUGljdHVyZURyYXduKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmICh1c2FibGVXaWR0aCA+PSB0ZXh0V2lkdGggJiYgZm9udC5oZWln
aHQoKSA8PSBpbWFnZVkpCi0gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT5kcmF3VGV4
dChzdHlsZSgpLT5mb250KCksIHRleHRSdW4sIEludFBvaW50KGF4LCBheSArIGFzY2VudCkpOwot
ICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodXNhYmxlV2lkdGggPj0gdGV4dFdpZHRoICYmIGNI
ZWlnaHQgPj0gZm9udC5oZWlnaHQoKSkKLSAgICAgICAgICAgICAgICAgICAgY29udGV4dC0+ZHJh
d1RleHQoc3R5bGUoKS0+Zm9udCgpLCB0ZXh0UnVuLCBJbnRQb2ludChheCwgYXkgKyBhc2NlbnQp
KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHVzYWJsZVdpZHRoID49IHRleHRXaWR0aCAmJiBm
b250TWV0cmljcy5oZWlnaHQoKSA8PSBpbWFnZVkpCisgICAgICAgICAgICAgICAgICAgICAgICBj
b250ZXh0LT5kcmF3VGV4dChmb250LCB0ZXh0UnVuLCBJbnRQb2ludChheCwgYXkgKyBhc2NlbnQp
KTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHVzYWJsZVdpZHRoID49IHRleHRXaWR0aCAm
JiBjSGVpZ2h0ID49IGZvbnRNZXRyaWNzLmhlaWdodCgpKQorICAgICAgICAgICAgICAgICAgICBj
b250ZXh0LT5kcmF3VGV4dChmb250LCB0ZXh0UnVuLCBJbnRQb2ludChheCwgYXkgKyBhc2NlbnQp
KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAobV9pbWFnZVJlc291
cmNlLT5oYXNJbWFnZSgpICYmIGNXaWR0aCA+IDAgJiYgY0hlaWdodCA+IDApIHsKSW5kZXg6IFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MDQsOCArOTA0LDgg
QEAgaW50IFJlbmRlcklubGluZTo6bGluZUhlaWdodChib29sIGZpcnN0TAogCiBpbnQgUmVuZGVy
SW5saW5lOjpiYXNlbGluZVBvc2l0aW9uKEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUsIGJvb2wg
Zmlyc3RMaW5lLCBMaW5lRGlyZWN0aW9uTW9kZSBkaXJlY3Rpb24sIExpbmVQb3NpdGlvbk1vZGUg
bGluZVBvc2l0aW9uTW9kZSkgY29uc3QKIHsKLSAgICBjb25zdCBGb250JiBmID0gc3R5bGUoZmly
c3RMaW5lKS0+Zm9udCgpOwotICAgIHJldHVybiBmLmFzY2VudChiYXNlbGluZVR5cGUpICsgKGxp
bmVIZWlnaHQoZmlyc3RMaW5lLCBkaXJlY3Rpb24sIGxpbmVQb3NpdGlvbk1vZGUpIC0gZi5oZWln
aHQoKSkgLyAyOworICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IHN0eWxlKGZp
cnN0TGluZSktPmZvbnRNZXRyaWNzKCk7CisgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmFzY2VudChi
YXNlbGluZVR5cGUpICsgKGxpbmVIZWlnaHQoZmlyc3RMaW5lLCBkaXJlY3Rpb24sIGxpbmVQb3Np
dGlvbk1vZGUpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpIC8gMjsKIH0KIAogSW50U2l6ZSBSZW5k
ZXJJbmxpbmU6OnJlbGF0aXZlUG9zaXRpb25lZElubGluZU9mZnNldChjb25zdCBSZW5kZXJCb3gq
IGNoaWxkKSBjb25zdApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAJKHJldmlz
aW9uIDc0NDY3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMwNiw3ICszMDYsNyBAQCB2b2lkIFJlbmRlckxpc3RCb3g6OnBhaW50SXRl
bUZvcmVncm91bmQoCiAKICAgICAvLyBEZXRlcm1pbmUgd2hlcmUgdGhlIGl0ZW0gdGV4dCBzaG91
bGQgYmUgcGxhY2VkCiAgICAgSW50UmVjdCByID0gaXRlbUJvdW5kaW5nQm94UmVjdCh0eCwgdHks
IGxpc3RJbmRleCk7Ci0gICAgci5tb3ZlKG9wdGlvbnNTcGFjaW5nSG9yaXpvbnRhbCwgc3R5bGUo
KS0+Zm9udCgpLmFzY2VudCgpKTsKKyAgICByLm1vdmUob3B0aW9uc1NwYWNpbmdIb3Jpem9udGFs
LCBzdHlsZSgpLT5mb250TWV0cmljcygpLmFzY2VudCgpKTsKIAogICAgIFJlbmRlclN0eWxlKiBp
dGVtU3R5bGUgPSBlbGVtZW50LT5yZW5kZXJTdHlsZSgpOwogICAgIGlmICghaXRlbVN0eWxlKQpA
QCAtNTUxLDcgKzU1MSw3IEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6dmFsdWVDaGFuZ2VkKFNjcm9s
bGIKIAogaW50IFJlbmRlckxpc3RCb3g6Oml0ZW1IZWlnaHQoKSBjb25zdAogewotICAgIHJldHVy
biBzdHlsZSgpLT5mb250KCkuaGVpZ2h0KCkgKyByb3dTcGFjaW5nOworICAgIHJldHVybiBzdHls
ZSgpLT5mb250TWV0cmljcygpLmhlaWdodCgpICsgcm93U3BhY2luZzsKIH0KIAogaW50IFJlbmRl
ckxpc3RCb3g6OnZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgoKSBjb25zdApJbmRleDogV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNjQsNyAr
MTI2NCw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6cGFpbnQoUGFpbnRJbmZvJiAKICAgICAg
ICAgY29udGV4dC0+dHJhbnNsYXRlKC1tYXJrZXIueCgpLCAtbWFya2VyLmJvdHRvbSgpKTsKICAg
ICB9CiAKLSAgICBJbnRQb2ludCB0ZXh0T3JpZ2luID0gSW50UG9pbnQobWFya2VyLngoKSwgbWFy
a2VyLnkoKSArIHN0eWxlKCktPmZvbnQoKS5hc2NlbnQoKSk7CisgICAgSW50UG9pbnQgdGV4dE9y
aWdpbiA9IEludFBvaW50KG1hcmtlci54KCksIG1hcmtlci55KCkgKyBzdHlsZSgpLT5mb250TWV0
cmljcygpLmFzY2VudCgpKTsKIAogICAgIGlmICh0eXBlID09IEFzdGVyaXNrcyB8fCB0eXBlID09
IEZvb3Rub3RlcykKICAgICAgICAgY29udGV4dC0+ZHJhd1RleHQoc3R5bGUoKS0+Zm9udCgpLCB0
ZXh0UnVuLCB0ZXh0T3JpZ2luKTsKQEAgLTEzMTAsNyArMTMxMCw3IEBAIHZvaWQgUmVuZGVyTGlz
dE1hcmtlcjo6bGF5b3V0KCkKICAgICAgICAgc2V0SGVpZ2h0KG1faW1hZ2UtPmltYWdlU2l6ZSh0
aGlzLCBzdHlsZSgpLT5lZmZlY3RpdmVab29tKCkpLmhlaWdodCgpKTsKICAgICB9IGVsc2Ugewog
ICAgICAgICBzZXRMb2dpY2FsV2lkdGgobWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkpOwotICAg
ICAgICBzZXRMb2dpY2FsSGVpZ2h0KHN0eWxlKCktPmZvbnQoKS5oZWlnaHQoKSk7CisgICAgICAg
IHNldExvZ2ljYWxIZWlnaHQoc3R5bGUoKS0+Zm9udE1ldHJpY3MoKS5oZWlnaHQoKSk7CiAgICAg
fQogCiAgICAgc2V0TWFyZ2luU3RhcnQoMCk7CkBAIC0xMzQ1LDExICsxMzQ1LDEyIEBAIHZvaWQg
UmVuZGVyTGlzdE1hcmtlcjo6Y29tcHV0ZVByZWZlcnJlZEwKICAgICBtX3RleHQgPSAiIjsKIAog
ICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHlsZSgpLT5mb250KCk7CisgICAgY29uc3QgRm9udE1l
dHJpY3MmIGZvbnRNZXRyaWNzID0gZm9udC5mb250TWV0cmljcygpOwogCiAgICAgaWYgKGlzSW1h
Z2UoKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBpcyBhIHNvbWV3aGF0IGFyYml0cmFyeSB3
aWR0aC4gIEdlbmVyYXRlZCBpbWFnZXMgZm9yIG1hcmtlcnMgcmVhbGx5IHdvbid0IGJlY29tZSBw
YXJ0aWN1bGFybHkgdXNlZnVsCiAgICAgICAgIC8vIHVudGlsIHdlIHN1cHBvcnQgdGhlIENTUzMg
bWFya2VyIHBzZXVkb2NsYXNzIHRvIGFsbG93IGNvbnRyb2wgb3ZlciB0aGUgd2lkdGggYW5kIGhl
aWdodCBvZiB0aGUgbWFya2VyIGJveC4KLSAgICAgICAgaW50IGJ1bGxldFdpZHRoID0gZm9udC5h
c2NlbnQoKSAvIDI7CisgICAgICAgIGludCBidWxsZXRXaWR0aCA9IGZvbnRNZXRyaWNzLmFzY2Vu
dCgpIC8gMjsKICAgICAgICAgbV9pbWFnZS0+c2V0SW1hZ2VDb250YWluZXJTaXplKEludFNpemUo
YnVsbGV0V2lkdGgsIGJ1bGxldFdpZHRoKSk7CiAgICAgICAgIEludFNpemUgaW1hZ2VTaXplID0g
bV9pbWFnZS0+aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCktPmVmZmVjdGl2ZVpvb20oKSk7CiAgICAg
ICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lk
dGggPSBzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gaW1hZ2VTaXplLndpZHRo
KCkgOiBpbWFnZVNpemUuaGVpZ2h0KCk7CkBAIC0xMzcyLDcgKzEzNzMsNyBAQCB2b2lkIFJlbmRl
ckxpc3RNYXJrZXI6OmNvbXB1dGVQcmVmZXJyZWRMCiAgICAgICAgIGNhc2UgRGlzYzoKICAgICAg
ICAgY2FzZSBTcXVhcmU6CiAgICAgICAgICAgICBtX3RleHQgPSBsaXN0TWFya2VyVGV4dCh0eXBl
LCAwKTsgLy8gdmFsdWUgaXMgaWdub3JlZCBmb3IgdGhlc2UgdHlwZXMKLSAgICAgICAgICAgIGxv
Z2ljYWxXaWR0aCA9IChmb250LmFzY2VudCgpICogMiAvIDMgKyAxKSAvIDIgKyAyOworICAgICAg
ICAgICAgbG9naWNhbFdpZHRoID0gKGZvbnRNZXRyaWNzLmFzY2VudCgpICogMiAvIDMgKyAxKSAv
IDIgKyAyOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQWZhcjoKICAgICAgICAg
Y2FzZSBBbWhhcmljOgpAQCAtMTQ3MSw3ICsxNDcyLDcgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2Vy
Ojpjb21wdXRlUHJlZmVycmVkTAogCiB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZU1hcmdp
bnMoKQogewotICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHlsZSgpLT5mb250KCk7CisgICAgY29u
c3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gc3R5bGUoKS0+Zm9udE1ldHJpY3MoKTsKIAog
ICAgIGludCBtYXJnaW5TdGFydCA9IDA7CiAgICAgaW50IG1hcmdpbkVuZCA9IDA7CkBAIC0xNDg0
LDcgKzE0ODUsNyBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZU1hcmdpbnMoKQogICAg
ICAgICAgICAgY2FzZSBDaXJjbGU6CiAgICAgICAgICAgICBjYXNlIFNxdWFyZToKICAgICAgICAg
ICAgICAgICBtYXJnaW5TdGFydCA9IC0xOwotICAgICAgICAgICAgICAgIG1hcmdpbkVuZCA9IGZv
bnQuYXNjZW50KCkgLSBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSArIDE7CisgICAgICAgICAg
ICAgICAgbWFyZ2luRW5kID0gZm9udE1ldHJpY3MuYXNjZW50KCkgLSBtaW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGgoKSArIDE7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBkZWZh
dWx0OgogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTQ5NCw3ICsxNDk1LDcgQEAgdm9pZCBS
ZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVNYXJnaW5zKCkKICAgICAgICAgICAgIGlmIChpc0ltYWdl
KCkpCiAgICAgICAgICAgICAgICAgbWFyZ2luU3RhcnQgPSAtbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoKCkgLSBjTWFya2VyUGFkZGluZzsKICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAg
ICAgIGludCBvZmZzZXQgPSBmb250LmFzY2VudCgpICogMiAvIDM7CisgICAgICAgICAgICAgICAg
aW50IG9mZnNldCA9IGZvbnRNZXRyaWNzLmFzY2VudCgpICogMiAvIDM7CiAgICAgICAgICAgICAg
ICAgc3dpdGNoIChzdHlsZSgpLT5saXN0U3R5bGVUeXBlKCkpIHsKICAgICAgICAgICAgICAgICAg
ICAgY2FzZSBEaXNjOgogICAgICAgICAgICAgICAgICAgICBjYXNlIENpcmNsZToKQEAgLTE1MTIs
NyArMTUxMyw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6dXBkYXRlTWFyZ2lucygpCiAgICAg
ICAgICAgICBpZiAoaXNJbWFnZSgpKQogICAgICAgICAgICAgICAgIG1hcmdpbkVuZCA9IGNNYXJr
ZXJQYWRkaW5nOwogICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgaW50IG9mZnNl
dCA9IGZvbnQuYXNjZW50KCkgKiAyIC8gMzsKKyAgICAgICAgICAgICAgICBpbnQgb2Zmc2V0ID0g
Zm9udE1ldHJpY3MuYXNjZW50KCkgKiAyIC8gMzsKICAgICAgICAgICAgICAgICBzd2l0Y2ggKHN0
eWxlKCktPmxpc3RTdHlsZVR5cGUoKSkgewogICAgICAgICAgICAgICAgICAgICBjYXNlIERpc2M6
CiAgICAgICAgICAgICAgICAgICAgIGNhc2UgQ2lyY2xlOgpAQCAtMTU4MywxNSArMTU4NCwxNSBA
QCBJbnRSZWN0IFJlbmRlckxpc3RNYXJrZXI6OmdldFJlbGF0aXZlTWFyCiAgICAgICAgIGNhc2Ug
QXN0ZXJpc2tzOgogICAgICAgICBjYXNlIEZvb3Rub3RlczogewogICAgICAgICAgICAgY29uc3Qg
Rm9udCYgZm9udCA9IHN0eWxlKCktPmZvbnQoKTsKLSAgICAgICAgICAgIHJlbGF0aXZlUmVjdCA9
IEludFJlY3QoMCwgMCwgZm9udC53aWR0aChtX3RleHQpLCBmb250LmhlaWdodCgpKTsKKyAgICAg
ICAgICAgIHJlbGF0aXZlUmVjdCA9IEludFJlY3QoMCwgMCwgZm9udC53aWR0aChtX3RleHQpLCBm
b250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KICAgICAgICAgY2FzZSBEaXNjOgogICAgICAgICBjYXNlIENpcmNsZToKICAgICAgICAgY2Fz
ZSBTcXVhcmU6IHsKICAgICAgICAgICAgIC8vIEZJWE1FOiBBcmUgdGhlc2UgcGFydGljdWxhciBy
b3VuZGluZyBydWxlcyBuZWNlc3Nhcnk/Ci0gICAgICAgICAgICBjb25zdCBGb250JiBmb250ID0g
c3R5bGUoKS0+Zm9udCgpOwotICAgICAgICAgICAgaW50IGFzY2VudCA9IGZvbnQuYXNjZW50KCk7
CisgICAgICAgICAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBzdHlsZSgpLT5m
b250TWV0cmljcygpOworICAgICAgICAgICAgaW50IGFzY2VudCA9IGZvbnRNZXRyaWNzLmFzY2Vu
dCgpOwogICAgICAgICAgICAgaW50IGJ1bGxldFdpZHRoID0gKGFzY2VudCAqIDIgLyAzICsgMSkg
LyAyOwogICAgICAgICAgICAgcmVsYXRpdmVSZWN0ID0gSW50UmVjdCgxLCAzICogKGFzY2VudCAt
IGFzY2VudCAqIDIgLyAzKSAvIDIsIGJ1bGxldFdpZHRoLCBidWxsZXRXaWR0aCk7CiAgICAgICAg
ICAgICBicmVhazsKQEAgLTE2NzksNyArMTY4MCw3IEBAIEludFJlY3QgUmVuZGVyTGlzdE1hcmtl
cjo6Z2V0UmVsYXRpdmVNYXIKICAgICAgICAgICAgIGludCBpdGVtV2lkdGggPSBmb250LndpZHRo
KG1fdGV4dCk7CiAgICAgICAgICAgICBVQ2hhciBzdWZmaXhTcGFjZVsyXSA9IHsgbGlzdE1hcmtl
clN1ZmZpeCh0eXBlLCBtX2xpc3RJdGVtLT52YWx1ZSgpKSwgJyAnIH07CiAgICAgICAgICAgICBp
bnQgc3VmZml4U3BhY2VXaWR0aCA9IGZvbnQud2lkdGgoVGV4dFJ1bihzdWZmaXhTcGFjZSwgMikp
OwotICAgICAgICAgICAgcmVsYXRpdmVSZWN0ID0gSW50UmVjdCgwLCAwLCBpdGVtV2lkdGggKyBz
dWZmaXhTcGFjZVdpZHRoLCBmb250LmhlaWdodCgpKTsKKyAgICAgICAgICAgIHJlbGF0aXZlUmVj
dCA9IEludFJlY3QoMCwgMCwgaXRlbVdpZHRoICsgc3VmZml4U3BhY2VXaWR0aCwgZm9udC5mb250
TWV0cmljcygpLmhlaWdodCgpKTsKICAgICB9CiAKICAgICBpZiAoIXN0eWxlKCktPmlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkpIHsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRD
b250cm9sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29u
dHJvbC5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dENvbnRyb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MDcsNyArNjA3LDcgQEAgdm9pZCBSZW5k
ZXJUZXh0Q29udHJvbDo6cGFpbnRQbGFjZWhvbGRlcgogICAgIFJlbmRlckJveCogdGV4dFJlbmRl
cmVyID0gaW5uZXJUZXh0RWxlbWVudCgpID8gaW5uZXJUZXh0RWxlbWVudCgpLT5yZW5kZXJCb3go
KSA6IDA7CiAgICAgaWYgKHRleHRSZW5kZXJlcikgewogICAgICAgICBJbnRQb2ludCB0ZXh0UG9p
bnQ7Ci0gICAgICAgIHRleHRQb2ludC5zZXRZKHR5ICsgdGV4dEJsb2NrSW5zZXRUb3AoKSArIHBs
YWNlaG9sZGVyU3R5bGUtPmZvbnQoKS5hc2NlbnQoKSk7CisgICAgICAgIHRleHRQb2ludC5zZXRZ
KHR5ICsgdGV4dEJsb2NrSW5zZXRUb3AoKSArIHBsYWNlaG9sZGVyU3R5bGUtPmZvbnRNZXRyaWNz
KCkuYXNjZW50KCkpOwogICAgICAgICBpZiAocGxhY2Vob2xkZXJTdHlsZS0+aXNMZWZ0VG9SaWdo
dERpcmVjdGlvbigpKQogICAgICAgICAgICAgdGV4dFBvaW50LnNldFgodHggKyB0ZXh0QmxvY2tJ
bnNldExlZnQoKSk7CiAgICAgICAgIGVsc2UKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRleHRDb250cm9sU2luZ2xlTGluZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC03MjMsNyArNzIzLDcgQEAgUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gUmVuZGVy
VGV4dENvbnRybwogICAgIHRleHRCbG9ja1N0eWxlLT5zZXRPdmVyZmxvd1koT0hJRERFTik7CiAK
ICAgICAvLyBEbyBub3QgYWxsb3cgbGluZS1oZWlnaHQgdG8gYmUgc21hbGxlciB0aGFuIG91ciBk
ZWZhdWx0LgotICAgIGlmICh0ZXh0QmxvY2tTdHlsZS0+Zm9udCgpLmxpbmVTcGFjaW5nKCkgPiBs
aW5lSGVpZ2h0KHRydWUsIEhvcml6b250YWxMaW5lLCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94
ZXMpKQorICAgIGlmICh0ZXh0QmxvY2tTdHlsZS0+Zm9udE1ldHJpY3MoKS5saW5lU3BhY2luZygp
ID4gbGluZUhlaWdodCh0cnVlLCBIb3Jpem9udGFsTGluZSwgUG9zaXRpb25PZkludGVyaW9yTGlu
ZUJveGVzKSkKICAgICAgICAgdGV4dEJsb2NrU3R5bGUtPnNldExpbmVIZWlnaHQoTGVuZ3RoKC0x
MDAuMGYsIFBlcmNlbnQpKTsKIAogICAgIFdlYkNvcmU6OkVEaXNwbGF5IGRpc3BsYXkgPSAobV9p
bm5lckJsb2NrIHx8IGlucHV0RWxlbWVudCgpLT5oYXNTcGluQnV0dG9uKCkgPyBJTkxJTkVfQkxP
Q0sgOiBCTE9DSyk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHJl
dmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAko
d29ya2luZyBjb3B5KQpAQCAtNDY3LDYgKzQ2Nyw3IEBAIHB1YmxpYzoKICAgICBFVGFibGVMYXlv
dXQgdGFibGVMYXlvdXQoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxFVGFibGVMYXlvdXQ+
KG5vbmluaGVyaXRlZF9mbGFncy5fdGFibGVfbGF5b3V0KTsgfQogCiAgICAgY29uc3QgRm9udCYg
Zm9udCgpIGNvbnN0IHsgcmV0dXJuIGluaGVyaXRlZC0+Zm9udDsgfQorICAgIGNvbnN0IEZvbnRN
ZXRyaWNzJiBmb250TWV0cmljcygpIGNvbnN0IHsgcmV0dXJuIGluaGVyaXRlZC0+Zm9udC5mb250
TWV0cmljcygpOyB9CiAgICAgY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24o
KSBjb25zdCB7IHJldHVybiBpbmhlcml0ZWQtPmZvbnQuZm9udERlc2NyaXB0aW9uKCk7IH0KICAg
ICBpbnQgZm9udFNpemUoKSBjb25zdCB7IHJldHVybiBpbmhlcml0ZWQtPmZvbnQucGl4ZWxTaXpl
KCk7IH0KIApAQCAtNDkxLDcgKzQ5Miw3IEBAIHB1YmxpYzoKIAogICAgICAgICAvLyBOZWdhdGl2
ZSB2YWx1ZSBtZWFucyB0aGUgbGluZSBoZWlnaHQgaXMgbm90IHNldC4gIFVzZSB0aGUgZm9udCdz
IGJ1aWx0LWluIHNwYWNpbmcuCiAgICAgICAgIGlmIChsaC5pc05lZ2F0aXZlKCkpCi0gICAgICAg
ICAgICByZXR1cm4gZm9udCgpLmxpbmVTcGFjaW5nKCk7CisgICAgICAgICAgICByZXR1cm4gZm9u
dE1ldHJpY3MoKS5saW5lU3BhY2luZygpOwogCiAgICAgICAgIGlmIChsaC5pc1BlcmNlbnQoKSkK
ICAgICAgICAgICAgIHJldHVybiBsaC5jYWxjTWluVmFsdWUoZm9udFNpemUoKSk7CkluZGV4OiBX
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lVGV4dC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZVRleHQuY3BwCShyZXZpc2lv
biA3NDQ2NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTQ2LDcgKzE0Niw3IEBAIFZpc2libGVQb3NpdGlvbiBSZW5k
ZXJTVkdJbmxpbmVUZXh0Ojpwb3MKIAogICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IHRoaXMtPnN0
eWxlKCk7CiAgICAgQVNTRVJUKHN0eWxlKTsKLSAgICBpbnQgYmFzZWxpbmUgPSBzdHlsZS0+Zm9u
dCgpLmFzY2VudCgpOworICAgIGludCBiYXNlbGluZSA9IHN0eWxlLT5mb250TWV0cmljcygpLmFz
Y2VudCgpOwogCiAgICAgUmVuZGVyQmxvY2sqIGNvbnRhaW5pbmdCbG9jayA9IHRoaXMtPmNvbnRh
aW5pbmdCbG9jaygpOwogICAgIEFTU0VSVChjb250YWluaW5nQmxvY2spOwpJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAkocmV2aXNpb24gNzQ0NjcpCisr
KyBXZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTg0LDcgKzg0LDcgQEAgRmxvYXRSZWN0IFNWR0lubGluZVRleHRCb3g6OnNlbGVjdGlv
blJlYwogICAgIEFTU0VSVChzdGFydFBvc2l0aW9uIDwgZW5kUG9zaXRpb24pOwogCiAgICAgY29u
c3QgRm9udCYgZm9udCA9IHN0eWxlLT5mb250KCk7Ci0gICAgRmxvYXRQb2ludCB0ZXh0T3JpZ2lu
KGZyYWdtZW50LngsIGZyYWdtZW50LnkgLSBmb250LmFzY2VudCgpKTsKKyAgICBGbG9hdFBvaW50
IHRleHRPcmlnaW4oZnJhZ21lbnQueCwgZnJhZ21lbnQueSAtIGZvbnQuZm9udE1ldHJpY3MoKS5h
c2NlbnQoKSk7CiAgICAgcmV0dXJuIGZvbnQuc2VsZWN0aW9uUmVjdEZvclRleHQoY29uc3RydWN0
VGV4dFJ1bihzdHlsZSwgZnJhZ21lbnQpLCB0ZXh0T3JpZ2luLCBmcmFnbWVudC5oZWlnaHQsIHN0
YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uKTsKIH0KIApAQCAtNDA5LDE2ICs0MDksMTYgQEAgYm9v
bCBTVkdJbmxpbmVUZXh0Qm94OjptYXBTdGFydEVuZFBvc2l0aQogICAgIHJldHVybiB0cnVlOwog
fQogCi1zdGF0aWMgaW5saW5lIGZsb2F0IHBvc2l0aW9uT2Zmc2V0Rm9yRGVjb3JhdGlvbihFVGV4
dERlY29yYXRpb24gZGVjb3JhdGlvbiwgY29uc3QgRm9udCYgZm9udCwgZmxvYXQgdGhpY2tuZXNz
KQorc3RhdGljIGlubGluZSBmbG9hdCBwb3NpdGlvbk9mZnNldEZvckRlY29yYXRpb24oRVRleHRE
ZWNvcmF0aW9uIGRlY29yYXRpb24sIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcywgZmxv
YXQgdGhpY2tuZXNzKQogewogICAgIC8vIEZJWE1FOiBGb3IgU1ZHIEZvbnRzIHdlIG5lZWQgdG8g
dXNlIHRoZSBhdHRyaWJ1dGVzIGRlZmluZWQgaW4gdGhlIDxmb250LWZhY2U+IGlmIHNwZWNpZmll
ZC4KICAgICAvLyBDb21wYXRpYmxlIHdpdGggQmF0aWsvT3BlcmEuCiAgICAgaWYgKGRlY29yYXRp
b24gPT0gVU5ERVJMSU5FKQotICAgICAgICByZXR1cm4gZm9udC5hc2NlbnQoKSArIHRoaWNrbmVz
cyAqIDEuNWY7CisgICAgICAgIHJldHVybiBmb250TWV0cmljcy5hc2NlbnQoKSArIHRoaWNrbmVz
cyAqIDEuNWY7CiAgICAgaWYgKGRlY29yYXRpb24gPT0gT1ZFUkxJTkUpCiAgICAgICAgIHJldHVy
biB0aGlja25lc3M7CiAgICAgaWYgKGRlY29yYXRpb24gPT0gTElORV9USFJPVUdIKQotICAgICAg
ICByZXR1cm4gZm9udC5hc2NlbnQoKSAqIDUuMGYgLyA4LjBmOworICAgICAgICByZXR1cm4gZm9u
dE1ldHJpY3MuYXNjZW50KCkgKiA1LjBmIC8gOC4wZjsKIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogICAgIHJldHVybiAwLjBmOwpAQCAtNDg3LDYgKzQ4Nyw3IEBAIHZvaWQgU1ZHSW5saW5l
VGV4dEJveDo6cGFpbnREZWNvcmF0aW9uV2kKICAgICBBU1NFUlQoZGVjb3JhdGlvblN0eWxlKTsK
IAogICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBkZWNvcmF0aW9uU3R5bGUtPmZvbnQoKTsKKyAgICBj
b25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBmb250LmZvbnRNZXRyaWNzKCk7CiAKICAg
ICAvLyBUaGUgaW5pdGlhbCB5IHZhbHVlIHJlZmVycyB0byBvdmVybGluZSBwb3NpdGlvbi4KICAg
ICBmbG9hdCB0aGlja25lc3MgPSB0aGlja25lc3NGb3JEZWNvcmF0aW9uKGRlY29yYXRpb24sIGZv
bnQpOwpAQCAtNDk0LDcgKzQ5NSw3IEBAIHZvaWQgU1ZHSW5saW5lVGV4dEJveDo6cGFpbnREZWNv
cmF0aW9uV2kKICAgICBpZiAoZnJhZ21lbnQud2lkdGggPD0gMCAmJiB0aGlja25lc3MgPD0gMCkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgZmxvYXQgeSA9IGZyYWdtZW50LnkgLSBmb250LmFzY2Vu
dCgpICsgcG9zaXRpb25PZmZzZXRGb3JEZWNvcmF0aW9uKGRlY29yYXRpb24sIGZvbnQsIHRoaWNr
bmVzcyk7CisgICAgZmxvYXQgeSA9IGZyYWdtZW50LnkgLSBmb250TWV0cmljcy5hc2NlbnQoKSAr
IHBvc2l0aW9uT2Zmc2V0Rm9yRGVjb3JhdGlvbihkZWNvcmF0aW9uLCBmb250TWV0cmljcywgdGhp
Y2tuZXNzKTsKIAogICAgIFBhdGggcGF0aDsKICAgICBwYXRoLmFkZFJlY3QoRmxvYXRSZWN0KGZy
YWdtZW50LngsIHksIGZyYWdtZW50LndpZHRoLCB0aGlja25lc3MpKTsKQEAgLTUxMyw3ICs1MTQs
NyBAQCB2b2lkIFNWR0lubGluZVRleHRCb3g6OnBhaW50VGV4dFdpdGhTaGFkCiAgICAgY29uc3Qg
U2hhZG93RGF0YSogc2hhZG93ID0gc3R5bGUtPnRleHRTaGFkb3coKTsKIAogICAgIEZsb2F0UG9p
bnQgdGV4dE9yaWdpbihmcmFnbWVudC54LCBmcmFnbWVudC55KTsKLSAgICBGbG9hdFJlY3Qgc2hh
ZG93UmVjdChGbG9hdFBvaW50KHRleHRPcmlnaW4ueCgpLCB0ZXh0T3JpZ2luLnkoKSAtIGZvbnQu
YXNjZW50KCkpLCBGbG9hdFNpemUoZnJhZ21lbnQud2lkdGgsIGZyYWdtZW50LmhlaWdodCkpOwor
ICAgIEZsb2F0UmVjdCBzaGFkb3dSZWN0KEZsb2F0UG9pbnQodGV4dE9yaWdpbi54KCksIHRleHRP
cmlnaW4ueSgpIC0gZm9udC5mb250TWV0cmljcygpLmFzY2VudCgpKSwgRmxvYXRTaXplKGZyYWdt
ZW50LndpZHRoLCBmcmFnbWVudC5oZWlnaHQpKTsKIAogICAgIGRvIHsKICAgICAgICAgaWYgKCFw
cmVwYXJlR3JhcGhpY3NDb250ZXh0Rm9yVGV4dFBhaW50aW5nKGNvbnRleHQsIHRleHRSdW4sIHN0
eWxlKSkKQEAgLTU4Nyw3ICs1ODgsNyBAQCBJbnRSZWN0IFNWR0lubGluZVRleHRCb3g6OmNhbGN1
bGF0ZUJvdW5kCiAgICAgQVNTRVJUKHN0eWxlKTsKIAogICAgIGludCBiYXNlbGluZSA9IGJhc2Vs
aW5lUG9zaXRpb24oQWxwaGFiZXRpY0Jhc2VsaW5lKTsKLSAgICBpbnQgaGVpZ2h0RGlmZmVyZW5j
ZSA9IGJhc2VsaW5lIC0gc3R5bGUtPmZvbnQoKS5hc2NlbnQoKTsKKyAgICBpbnQgaGVpZ2h0RGlm
ZmVyZW5jZSA9IGJhc2VsaW5lIC0gc3R5bGUtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCk7CiAKICAg
ICB1bnNpZ25lZCB0ZXh0RnJhZ21lbnRzU2l6ZSA9IG1fdGV4dEZyYWdtZW50cy5zaXplKCk7CiAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHRleHRGcmFnbWVudHNTaXplOyArK2kpIHsKSW5k
ZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmUuY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw5ICs0
OSw5IEBAIGZsb2F0IFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2FsY3UKICAgICBjYXNl
IEJTX0JBU0VMSU5FOgogICAgICAgICByZXR1cm4gMDsKICAgICBjYXNlIEJTX1NVQjoKLSAgICAg
ICAgcmV0dXJuIC1tX2ZvbnQuaGVpZ2h0KCkgLyAyOworICAgICAgICByZXR1cm4gLW1fZm9udC5m
b250TWV0cmljcygpLmhlaWdodCgpIC8gMjsKICAgICBjYXNlIEJTX1NVUEVSOgotICAgICAgICBy
ZXR1cm4gbV9mb250LmhlaWdodCgpIC8gMjsKKyAgICAgICAgcmV0dXJuIG1fZm9udC5mb250TWV0
cmljcygpLmhlaWdodCgpIC8gMjsKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKICAgICAgICAgcmV0dXJuIDA7CkBAIC0xMjIsMjcgKzEyMiwyOSBAQCBmbG9hdCBT
VkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmU6OmNhbGN1CiAgICAgICAgIEFTU0VSVChiYXNlbGlu
ZSAhPSBBQl9BVVRPKTsKICAgICB9CiAKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJp
Y3MgPSBtX2ZvbnQuZm9udE1ldHJpY3MoKTsKKwogICAgIC8vIE5vdGU6IGh0dHA6Ly93aWtpLmFw
YWNoZS5vcmcveG1sZ3JhcGhpY3MtZm9wL0xpbmVMYXlvdXQvQWxpZ25tZW50SGFuZGxpbmcKICAg
ICBzd2l0Y2ggKGJhc2VsaW5lKSB7CiAgICAgY2FzZSBBQl9CQVNFTElORToKICAgICAgICAgcmV0
dXJuIGRvbWluYW50QmFzZWxpbmVUb0FsaWdubWVudEJhc2VsaW5lKGlzVmVydGljYWxUZXh0LCB0
ZXh0UmVuZGVyZXJQYXJlbnQpOwogICAgIGNhc2UgQUJfQkVGT1JFX0VER0U6CiAgICAgY2FzZSBB
Ql9URVhUX0JFRk9SRV9FREdFOgotICAgICAgICByZXR1cm4gbV9mb250LmFzY2VudCgpOworICAg
ICAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KCk7CiAgICAgY2FzZSBBQl9NSURETEU6Ci0g
ICAgICAgIHJldHVybiBtX2ZvbnQueEhlaWdodCgpIC8gMjsKKyAgICAgICAgcmV0dXJuIGZvbnRN
ZXRyaWNzLnhIZWlnaHQoKSAvIDI7CiAgICAgY2FzZSBBQl9DRU5UUkFMOgotICAgICAgICByZXR1
cm4gKG1fZm9udC5hc2NlbnQoKSAtIG1fZm9udC5kZXNjZW50KCkpIC8gMjsKKyAgICAgICAgcmV0
dXJuIChmb250TWV0cmljcy5hc2NlbnQoKSAtIGZvbnRNZXRyaWNzLmRlc2NlbnQoKSkgLyAyOwog
ICAgIGNhc2UgQUJfQUZURVJfRURHRToKICAgICBjYXNlIEFCX1RFWFRfQUZURVJfRURHRToKICAg
ICBjYXNlIEFCX0lERU9HUkFQSElDOgotICAgICAgICByZXR1cm4gbV9mb250LmRlc2NlbnQoKTsK
KyAgICAgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmRlc2NlbnQoKTsKICAgICBjYXNlIEFCX0FMUEhB
QkVUSUM6CiAgICAgICAgIHJldHVybiAwOwogICAgIGNhc2UgQUJfSEFOR0lORzoKLSAgICAgICAg
cmV0dXJuIG1fZm9udC5hc2NlbnQoKSAqIDggLyAxMC5mOworICAgICAgICByZXR1cm4gZm9udE1l
dHJpY3MuYXNjZW50KCkgKiA4IC8gMTAuZjsKICAgICBjYXNlIEFCX01BVEhFTUFUSUNBTDoKLSAg
ICAgICAgcmV0dXJuIG1fZm9udC5hc2NlbnQoKSAvIDI7CisgICAgICAgIHJldHVybiBmb250TWV0
cmljcy5hc2NlbnQoKSAvIDI7CiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiAgICAgICAgIHJldHVybiAwOwpAQCAtMTkzLDEyICsxOTUsMTQgQEAgZmxvYXQgU1ZH
VGV4dExheW91dEVuZ2luZUJhc2VsaW5lOjpjYWxjdQogICAgIC8vIFNwZWM6IElmIGlmIHRoZSAn
Z2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwnIHJlc3VsdHMgaW4gYW4gb3JpZW50YXRpb24gYW5n
bGUgdGhhdCBpcyBub3QgYSBtdWx0aXBsZSBvZgogICAgIC8vIDE4MCBkZWdyZWVzLCB0aGVuIHRo
ZSBjdXJyZW50IHRleHQgcG9zaXRpb24gaXMgaW5jcmVtZW50ZWQgYWNjb3JkaW5nIHRvIHRoZSBo
b3Jpem9udGFsIG1ldHJpY3Mgb2YgdGhlIGdseXBoLgogCisgICAgY29uc3QgRm9udE1ldHJpY3Mm
IGZvbnRNZXRyaWNzID0gbV9mb250LmZvbnRNZXRyaWNzKCk7CisKICAgICAvLyBWZXJ0aWNhbCBv
cmllbnRhdGlvbiBoYW5kbGluZy4KICAgICBpZiAoaXNWZXJ0aWNhbFRleHQpIHsKLSAgICAgICAg
ZmxvYXQgYXNjZW50TWludXNEZXNjZW50ID0gbV9mb250LmFzY2VudCgpIC0gbV9mb250LmRlc2Nl
bnQoKTsKKyAgICAgICAgZmxvYXQgYXNjZW50TWludXNEZXNjZW50ID0gZm9udE1ldHJpY3MuYXNj
ZW50KCkgLSBmb250TWV0cmljcy5kZXNjZW50KCk7CiAgICAgICAgIGlmICghYW5nbGUpIHsKICAg
ICAgICAgICAgIHhPcmllbnRhdGlvblNoaWZ0ID0gKGFzY2VudE1pbnVzRGVzY2VudCAtIG1ldHJp
Y3Mud2lkdGgoKSkgLyAyOwotICAgICAgICAgICAgeU9yaWVudGF0aW9uU2hpZnQgPSBtX2ZvbnQu
YXNjZW50KCk7CisgICAgICAgICAgICB5T3JpZW50YXRpb25TaGlmdCA9IGZvbnRNZXRyaWNzLmFz
Y2VudCgpOwogICAgICAgICB9IGVsc2UgaWYgKGFuZ2xlID09IDE4MCkKICAgICAgICAgICAgIHhP
cmllbnRhdGlvblNoaWZ0ID0gKGFzY2VudE1pbnVzRGVzY2VudCArIG1ldHJpY3Mud2lkdGgoKSkg
LyAyOwogICAgICAgICBlbHNlIGlmIChhbmdsZSA9PSAyNzApIHsKQEAgLTIxOCw3ICsyMjIsNyBA
QCBmbG9hdCBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmU6OmNhbGN1CiAgICAgICAgIHlPcmll
bnRhdGlvblNoaWZ0ID0gLW1ldHJpY3Mud2lkdGgoKTsKICAgICBlbHNlIGlmIChhbmdsZSA9PSAx
ODApIHsKICAgICAgICAgeE9yaWVudGF0aW9uU2hpZnQgPSBtZXRyaWNzLndpZHRoKCk7Ci0gICAg
ICAgIHlPcmllbnRhdGlvblNoaWZ0ID0gLW1fZm9udC5hc2NlbnQoKTsKKyAgICAgICAgeU9yaWVu
dGF0aW9uU2hpZnQgPSAtZm9udE1ldHJpY3MuYXNjZW50KCk7CiAgICAgfSBlbHNlIGlmIChhbmds
ZSA9PSAyNzApCiAgICAgICAgIHhPcmllbnRhdGlvblNoaWZ0ID0gbWV0cmljcy53aWR0aCgpOwog
CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5n
aW5lU3BhY2luZy5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgsNyAr
NTgsNyBAQCBmbG9hdCBTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZzo6Y2FsY3VsCiAKICAgICBt
X2xhc3RHbHlwaCA9IGN1cnJlbnRHbHlwaDsKICAgICBtX2xhc3RHbHlwaC5pc1ZhbGlkID0gdHJ1
ZTsKLSAgICBrZXJuaW5nICo9IG1fZm9udC5zaXplKCkgLyBtX2ZvbnQucHJpbWFyeUZvbnQoKS0+
dW5pdHNQZXJFbSgpOworICAgIGtlcm5pbmcgKj0gbV9mb250LnNpemUoKSAvIG1fZm9udC5mb250
TWV0cmljcygpLnVuaXRzUGVyRW0oKTsKICAgICByZXR1cm4ga2VybmluZzsKICNlbHNlCiAgICAg
VU5VU0VEX1BBUkFNKGlzVmVydGljYWxUZXh0KTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9TVkdUZXh0TWV0cmljcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRNZXRyaWNzLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHVGV4dE1ldHJpY3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw3IEBA
IFNWR1RleHRNZXRyaWNzOjpTVkdUZXh0TWV0cmljcyhjb25zdCBGb24KICAgICBpbnQgbGVuZ3Ro
ID0gMDsKIAogICAgIG1fd2lkdGggPSBmb250LmZsb2F0V2lkdGgocnVuLCBleHRyYUNoYXJzQXZh
aWxhYmxlLCBsZW5ndGgsIG1fZ2x5cGgubmFtZSk7Ci0gICAgbV9oZWlnaHQgPSBmb250LmhlaWdo
dCgpOworICAgIG1faGVpZ2h0ID0gZm9udC5mb250TWV0cmljcygpLmhlaWdodCgpOwogICAgIG1f
Z2x5cGgudW5pY29kZVN0cmluZyA9IFN0cmluZyhydW4uY2hhcmFjdGVycygpLCBsZW5ndGgpOwog
ICAgIG1fZ2x5cGguaXNWYWxpZCA9IHRydWU7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9TVkdUZXh0UXVlcnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdUZXh0UXVlcnkuY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9TVkdUZXh0UXVlcnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NzIsNyArNDcyLDcgQEAgc3Ry
dWN0IEV4dGVudE9mQ2hhcmFjdGVyRGF0YSA6IFNWR1RleHRRdQogCiBzdGF0aWMgaW5saW5lIHZv
aWQgY2FsY3VsYXRlR2x5cGhCb3VuZGFyaWVzKFNWR1RleHRRdWVyeTo6RGF0YSogcXVlcnlEYXRh
LCBjb25zdCBTVkdUZXh0RnJhZ21lbnQmIGZyYWdtZW50LCBpbnQgc3RhcnRQb3NpdGlvbiwgRmxv
YXRSZWN0JiBleHRlbnQpCiB7Ci0gICAgZXh0ZW50LnNldExvY2F0aW9uKEZsb2F0UG9pbnQoZnJh
Z21lbnQueCwgZnJhZ21lbnQueSAtIHF1ZXJ5RGF0YS0+dGV4dFJlbmRlcmVyLT5zdHlsZSgpLT5m
b250KCkuYXNjZW50KCkpKTsKKyAgICBleHRlbnQuc2V0TG9jYXRpb24oRmxvYXRQb2ludChmcmFn
bWVudC54LCBmcmFnbWVudC55IC0gcXVlcnlEYXRhLT50ZXh0UmVuZGVyZXItPnN0eWxlKCktPmZv
bnRNZXRyaWNzKCkuYXNjZW50KCkpKTsKIAogICAgIGlmIChzdGFydFBvc2l0aW9uKSB7CiAgICAg
ICAgIFNWR1RleHRNZXRyaWNzIG1ldHJpY3MgPSBTVkdUZXh0TWV0cmljczo6bWVhc3VyZUNoYXJh
Y3RlclJhbmdlKHF1ZXJ5RGF0YS0+dGV4dFJlbmRlcmVyLCBmcmFnbWVudC5wb3NpdGlvbkxpc3RP
ZmZzZXQsIHN0YXJ0UG9zaXRpb24pOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1lbnQuY3Bw
CShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEyNiw3ICsxMjYsNyBAQCB1bnNpZ25lZCBTVkdGb250RmFjZUVs
ZW1lbnQ6OnVuaXRzUGVyRW0oCiB7CiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSA9IGdl
dEF0dHJpYnV0ZSh1bml0c19wZXJfZW1BdHRyKTsKICAgICBpZiAodmFsdWUuaXNFbXB0eSgpKQot
ICAgICAgICByZXR1cm4gZGVmYXVsdFVuaXRzUGVyRW07CisgICAgICAgIHJldHVybiBnRGVmYXVs
dFVuaXRzUGVyRW07CiAKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNlaWxmKHZh
bHVlLnRvRmxvYXQoKSkpOwogfQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdMZW5ndGguY3BwCShyZXZpc2lvbiA3NDQ2NykKKysr
IFdlYkNvcmUvc3ZnL1NWR0xlbmd0aC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0NCw3ICs0NDQs
NyBAQCBmbG9hdCBTVkdMZW5ndGg6OmNvbnZlcnRWYWx1ZUZyb21Vc2VyVW5pCiAKICAgICAvLyBV
c2Ugb2YgY2VpbCBhbGxvd3MgYSBwaXhlbCBtYXRjaCB0byB0aGUgVzNDcyBleHBlY3RlZCBvdXRw
dXQgb2YgY29vcmRzLXVuaXRzLTAzLWIuc3ZnCiAgICAgLy8gaWYgdGhpcyBjYXVzZXMgcHJvYmxl
bXMgaW4gcmVhbCB3b3JsZCBjYXNlcyBtYXliZSBpdCB3b3VsZCBiZSBiZXN0IHRvIHJlbW92ZSB0
aGlzCi0gICAgZmxvYXQgeEhlaWdodCA9IGNlaWxmKHN0eWxlLT5mb250KCkueEhlaWdodCgpKTsK
KyAgICBmbG9hdCB4SGVpZ2h0ID0gY2VpbGYoc3R5bGUtPmZvbnRNZXRyaWNzKCkueEhlaWdodCgp
KTsKICAgICBpZiAoIXhIZWlnaHQpIHsKICAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsK
ICAgICAgICAgcmV0dXJuIDA7CkBAIC00NjMsNyArNDYzLDcgQEAgZmxvYXQgU1ZHTGVuZ3RoOjpj
b252ZXJ0VmFsdWVGcm9tRVhTVG9VcwogICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IGNvbnRleHQt
PnJlbmRlcmVyKCktPnN0eWxlKCk7CiAgICAgLy8gVXNlIG9mIGNlaWwgYWxsb3dzIGEgcGl4ZWwg
bWF0Y2ggdG8gdGhlIFczQ3MgZXhwZWN0ZWQgb3V0cHV0IG9mIGNvb3Jkcy11bml0cy0wMy1iLnN2
ZwogICAgIC8vIGlmIHRoaXMgY2F1c2VzIHByb2JsZW1zIGluIHJlYWwgd29ybGQgY2FzZXMgbWF5
YmUgaXQgd291bGQgYmUgYmVzdCB0byByZW1vdmUgdGhpcwotICAgIHJldHVybiB2YWx1ZSAqIGNl
aWxmKHN0eWxlLT5mb250KCkueEhlaWdodCgpKTsKKyAgICByZXR1cm4gdmFsdWUgKiBjZWlsZihz
dHlsZS0+Zm9udE1ldHJpY3MoKS54SGVpZ2h0KCkpOwogfQogCiBTVkdMZW5ndGggU1ZHTGVuZ3Ro
Ojpmcm9tQ1NTUHJpbWl0aXZlVmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUqIHZhbHVlKQpJbmRleDog
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCShyZXZpc2lvbiA3NDU0NCkKKysrIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0xMi0yMyAgTmlrb2xhcyBaaW1t
ZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJbnRyb2R1Y2UgRm9udE1ldHJpY3MgYWJzdHJhY3Rpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxNDU2CisK
KyAgICAgICAgKiBzcmMvRXh0ZXJuYWxQb3B1cE1lbnUuY3BwOiBVc2UgRm9udE1ldHJpY3MgaW5z
dGVhZCBvZiBGb250IHRvIGFjY2VzcyB0aGUgbWV0cmljcy4KKyAgICAgICAgKFdlYktpdDo6RXh0
ZXJuYWxQb3B1cE1lbnU6OmdldFBvcHVwTWVudUluZm8pOgorICAgICAgICAqIHNyYy9XZWJGb250
SW1wbC5jcHA6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJGb250SW1wbDo6YXNjZW50KToK
KyAgICAgICAgKFdlYktpdDo6V2ViRm9udEltcGw6OmRlc2NlbnQpOgorICAgICAgICAoV2ViS2l0
OjpXZWJGb250SW1wbDo6aGVpZ2h0KToKKyAgICAgICAgKFdlYktpdDo6V2ViRm9udEltcGw6Omxp
bmVTcGFjaW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViRm9udEltcGw6OnhIZWlnaHQpOgorCiAy
MDEwLTEyLTIyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNzQ1MDMuCkluZGV4OiBXZWJLaXQvY2hy
b21pdW0vc3JjL0V4dGVybmFsUG9wdXBNZW51LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hy
b21pdW0vc3JjL0V4dGVybmFsUG9wdXBNZW51LmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJL
aXQvY2hyb21pdW0vc3JjL0V4dGVybmFsUG9wdXBNZW51LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTQyLDcgKzE0Miw3IEBAIHZvaWQgRXh0ZXJuYWxQb3B1cE1lbnU6OmdldFBvcHVwTWVudUluZm8K
ICAgICAgICAgcG9wdXBJdGVtLmVuYWJsZWQgPSBtX3BvcHVwTWVudUNsaWVudC0+aXRlbUlzRW5h
YmxlZChpKTsKICAgICB9CiAKLSAgICBpbmZvLT5pdGVtSGVpZ2h0ID0gbV9wb3B1cE1lbnVDbGll
bnQtPm1lbnVTdHlsZSgpLmZvbnQoKS5oZWlnaHQoKTsKKyAgICBpbmZvLT5pdGVtSGVpZ2h0ID0g
bV9wb3B1cE1lbnVDbGllbnQtPm1lbnVTdHlsZSgpLmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCk7CiAg
ICAgaW5mby0+aXRlbUZvbnRTaXplID0KICAgICAgICAgc3RhdGljX2Nhc3Q8aW50PihtX3BvcHVw
TWVudUNsaWVudC0+bWVudVN0eWxlKCkuZm9udCgpLnNpemUoKSk7CiAgICAgaW5mby0+c2VsZWN0
ZWRJbmRleCA9IG1fcG9wdXBNZW51Q2xpZW50LT5zZWxlY3RlZEluZGV4KCk7CkluZGV4OiBXZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkZvbnRJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkZvbnRJbXBsLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkZvbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjMsMjcgKzYzLDI3
IEBAIFdlYkZvbnREZXNjcmlwdGlvbiBXZWJGb250SW1wbDo6Zm9udERlc2MKIAogaW50IFdlYkZv
bnRJbXBsOjphc2NlbnQoKSBjb25zdAogewotICAgIHJldHVybiBtX2ZvbnQuYXNjZW50KCk7Cisg
ICAgcmV0dXJuIG1fZm9udC5mb250TWV0cmljcygpLmFzY2VudCgpOwogfQogCiBpbnQgV2ViRm9u
dEltcGw6OmRlc2NlbnQoKSBjb25zdAogewotICAgIHJldHVybiBtX2ZvbnQuZGVzY2VudCgpOwor
ICAgIHJldHVybiBtX2ZvbnQuZm9udE1ldHJpY3MoKS5kZXNjZW50KCk7CiB9CiAKIGludCBXZWJG
b250SW1wbDo6aGVpZ2h0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9mb250LmhlaWdodCgpOwor
ICAgIHJldHVybiBtX2ZvbnQuZm9udE1ldHJpY3MoKS5oZWlnaHQoKTsKIH0KIAogaW50IFdlYkZv
bnRJbXBsOjpsaW5lU3BhY2luZygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fZm9udC5saW5lU3Bh
Y2luZygpOworICAgIHJldHVybiBtX2ZvbnQuZm9udE1ldHJpY3MoKS5saW5lU3BhY2luZygpOwog
fQogCiBmbG9hdCBXZWJGb250SW1wbDo6eEhlaWdodCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1f
Zm9udC54SGVpZ2h0KCk7CisgICAgcmV0dXJuIG1fZm9udC5mb250TWV0cmljcygpLnhIZWlnaHQo
KTsKIH0KIAogdm9pZCBXZWJGb250SW1wbDo6ZHJhd1RleHQoV2ViQ2FudmFzKiBjYW52YXMsIGNv
bnN0IFdlYlRleHRSdW4mIHJ1biwgY29uc3QgV2ViRmxvYXRQb2ludCYgbGVmdEJhc2VsaW5lLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77317</attachid>
            <date>2010-12-23 02:14:57 -0800</date>
            <delta_ts>2010-12-26 04:47:45 -0800</delta_ts>
            <desc>Patch v4</desc>
            <filename>IntroduceFontMetrics3.diff</filename>
            <type>text/plain</type>
            <size>119079</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NDU0NCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTg5IEBACisyMDEwLTEyLTIyICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEludHJvZHVjZSBGb250TWV0cmljcyBhYnN0cmFjdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE0NTYKKworICAgICAgICBFbmNhcHN1
bGF0ZSBhc2NlbnQvZGVzY2VudC9saW5lSGVpZ2h0L2xpbmVHYXAgbWV0aG9kcyBpbiBhIHNpbmds
ZSBGb250TWV0cmljcyBjbGFzcywgaW5zdGVhZCBvZgorICAgICAgICBoYXZpbmcgdG8gZGVmaW5l
IHRoZW0gaW4gYm90aCBGb250ICYgU2ltcGxlRm9udERhdGEuIENoYW5nZWQgdG8gc3RvcmUgZmxv
YXRpbmcgcG9pbnQgdmFsdWVzCisgICAgICAgIGFzIGRlZmF1bHQsIGluIG9yZGVyIHRvIGdldCBh
Y2N1cmF0ZSBpbmZvcm1hdGlvbiBmb3Igc21hbGwgc2l6ZWQgZm9udHMuIEFsbCB0aGVzZSBtZXRo
b2RzCisgICAgICAgIG5vdyBoYXZlIGZsb2F0aW5nLXBvaW50IGFuZCBpbnRlZ2VyIHZlcnNpb25z
LiBXaGVuZXZlciBhbiBpbnRlZ2VyIHZhcmlhbnQgb2YgdGhlc2UgZnVuY3Rpb25zCisgICAgICAg
IGlzIGNhbGxlZCwgbHJvdW5kZigpIGlzIHVzZWQgdG8gcm91bmQgdGhlIHZhbHVlLgorCisgICAg
ICAgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gc3VwcG9ydCBzbWFsbCBmb250LXNpemVzIGZv
ciBTVkcgaW4gYSBmb2xsb3ctdXAgcGF0Y2gsIGFzIHdlbGwKKyAgICAgICAgYXMgZml4aW5nIHJv
dW5kaW5nIGlzc3VlcyB3aGVuIHVzaW5nIFNWRyBGb250cy4KKyAgICAgICAgCisgICAgICAgIFNo
b3VsZG4ndCBhZmZlY3QgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5h
bTogQWRkIEZvbnRNZXRyaWNzLmggdG8gYnVpbGQuIAorICAgICAgICAqIFdlYkNvcmUuZ3lwaTog
RGl0dG8uCisgICAgICAgICogV2ViQ29yZS5wcm86IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0Fj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcDogVXNlIHN0eWxlLT5mb250TWV0cmljcygp
IGluc3RlYWQgb2Ygc3R5bGUtPmZvbnQoKSB0byBhY2Nlc3MgdGhlIG1ldHJpY3MuCisgICAgICAg
IChiYXNlbGluZVBvc2l0aW9uRm9yQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCk6CisgICAgICAg
ICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDogICAgICAgICAKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoRG91YmxlKToKKyAgICAgICAgKiBodG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJbnRlcm5hbCk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRyYXdFbGVtZW50VGl0bGUpOgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcDogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpQb3B1cExpc3RCb3g6OnBhaW50Um93KToKKyAgICAgICAgKFdlYkNvcmU6
OlBvcHVwTGlzdEJveDo6Z2V0Um93SGVpZ2h0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Lmg6IFJlbW92ZSBhc2NlbnQvZGVzY2VudC9oZWlnaHQvbGluZUdhcC9saW5lU3BhY2lu
Zy94SGVpZ2h0L3VuaXRzUGVyRW0gYWNjZXNzb3IuLi4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6
OmZvbnRNZXRyaWNzKTogLi4uIGFuZCBvbmx5IGV4cG9zZSBhIHNpbmdsZSBGb250TWV0cmljcyBv
YmplY3QgaGVyZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3Bw
OiBVc2UgZm9udE1ldHJpY3MoKSB0byBxdWVyeSBtZXRyaWNzIGluZm9ybWF0aW9uLgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udDo6ZW1waGFzaXNNYXJrQXNjZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnQ6OmVtcGhhc2lzTWFya0Rlc2NlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZW1w
aGFzaXNNYXJrSGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmZsb2F0V2lkdGhGb3JT
aW1wbGVUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkludGVnZXJGb250TWV0cmljczo6Y3JlYXRlKTogQ3Jl
YXRlcyBhbiBJbnRlZ2VyRm9udE1ldHJpY3Mgb2JqZWN0LCBvbmx5IHVzZWQgYnkgRm9udE1ldHJp
Y3MgaXRzZWxmLgorICAgICAgICAoV2ViQ29yZTo6SW50ZWdlckZvbnRNZXRyaWNzOjphc2NlbnQp
OiBJbnRlZ2VyIHZlcnNpb24uCisgICAgICAgIChXZWJDb3JlOjpJbnRlZ2VyRm9udE1ldHJpY3M6
OmRlc2NlbnQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkludGVnZXJGb250TWV0cmljczo6
bGluZUdhcCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW50ZWdlckZvbnRNZXRyaWNzOjps
aW5lU3BhY2luZyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW50ZWdlckZvbnRNZXRyaWNz
OjpJbnRlZ2VyRm9udE1ldHJpY3MpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OkZv
bnRNZXRyaWNzKTogQ3JlYXRlcyBhIEZvbnRNZXRyaWNzIG9iamVjdCwgc3RvcmVkIGluIFNpbXBs
ZUZvbnREYXRhLgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnVuaXRzUGVyRW0pOiBS
ZXR1cm5zIGFuIHVuc2lnbmVkIGRlc2NyaWJpbmcgdGhlIHVuaXRzUGVyRW0uCisgICAgICAgIChX
ZWJDb3JlOjpGb250TWV0cmljczo6c2V0VW5pdHNQZXJFbSk6IFNldHMgdGhlIHVuaXRzUGVyRW0g
dmFsdWUuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6ZmxvYXRBc2NlbnQpOiBSZXR1
cm5zIHRoZSBzdG9yZWQgbV9hc2NlbnQgZmxvYXQuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0
cmljczo6c2V0QXNjZW50KTogU2V0cyB0aGUgc3RvcmVkIG1fYXNjZW50IGZsb2F0LgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmZsb2F0RGVzY2VudCk6IFJldHVybnMgdGhlIHN0b3Jl
ZCBtX2Rlc2NlbnQgZmxvYXQuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6c2V0RGVz
Y2VudCk6IFNldHMgdGhlIHN0b3JlZCBtX2Rlc2NlbnQgZmxvYXQuCisgICAgICAgIChXZWJDb3Jl
OjpGb250TWV0cmljczo6ZmxvYXRIZWlnaHQpOiBSZXR1cm5zIGZsb2F0QXNjZW50KCkgKyBmbG9h
dERlc2NlbnQoKS4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpmbG9hdExpbmVHYXAp
OiBSZXR1cm5zIHRoZSBzdG9yZWQgbV9saW5lR2FwIGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6
Rm9udE1ldHJpY3M6OnNldExpbmVHYXApOiBTZXRzIHRoZSBzdG9yZWQgbV9saW5lR2FwIGZsb2F0
LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmZsb2F0TGluZVNwYWNpbmcpOiBSZXR1
cm5zIHRoZSBzdG9yZWQgbV9saW5lU3BhY2luZyBmbG9hdC4KKyAgICAgICAgKFdlYkNvcmU6OkZv
bnRNZXRyaWNzOjpzZXRMaW5lU3BhY2luZyk6IFNldHMgdGhlIHN0b3JlZCBtX2xpbmVTcGFjaW5n
IGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnhIZWlnaHQpOiBSZXR1cm5z
IHRoZSBzdG9yZWQgbV94SGVpZ2h0IGZsb2F0IChubyBpbnRlZ2VyIHZlcnNpb24gYXZhaWxhYmxl
LCBoZW5jZSBubyAnZmxvYXQnIHByZWZpeCkuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmlj
czo6c2V0WEhlaWdodCk6IFNldHMgdGhlIHN0b3JlZCBtX3hIZWlnaHQgZmxvYXQuCisgICAgICAg
IChXZWJDb3JlOjpGb250TWV0cmljczo6YXNjZW50KTogQ2FsbHMgZW5zdXJlSW50ZWdlck1ldHJp
Y3MoKSwgdGhlbiByZXR1cm5zIG1faW50ZWdlck1ldHJpY3MtPmFzY2VudCgpLgorICAgICAgICAo
V2ViQ29yZTo6Rm9udE1ldHJpY3M6OmRlc2NlbnQpOiBEaXR0byAoZm9yIGRlc2NlbnQpLgorICAg
ICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmhlaWdodCk6IFJldHVybnMgYXNjZW50KCkgKyBk
ZXNjZW50KCkuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6bGluZUdhcCk6IENhbGxz
IGVuc3VyZUludGVnZXJNZXRyaWNzKCksIHRoZW4gcmV0dXJucyBtX2ludGVnZXJNZXRyaWNzLT5s
aW5lR2FwKCkuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6bGluZVNwYWNpbmcpOiBE
aXR0byAoZm9yIGxpbmVTcGFjaW5nKS4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpy
ZXNldCk6IE51bGxzIGFsbCBtZW1iZXJzLCB1c2VkIG9ubHkgYnkgdGhlIHBsYXRmb3JtIHZhcmlh
bnRzIG9mIFNpbXBsZUZvbnREYXRhLgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmVu
c3VyZUludGVnZXJNZXRyaWNzKTogVXRpbGl6aWVzIGxyb3VuZGYgdG8gcm91bmQgdGhlIHN0b3Jl
ZCBmbG9hdHMsIGFuZCBwYXNzZXMgdGhlbSB0byB0aGUgSW50ZWdlckZvbnRNZXRyaWNzIG9iamVj
dCwgd2hpY2ggZ2V0cyBjYWNoZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxl
Rm9udERhdGEuY3BwOiBBZGFwdCBTVkcgRm9udHMgY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUgRm9u
dE1ldHJpY3Mgb2JqZWN0LCBhcyB0aGUgbV9hc2NlbnQvZXRjLi4gbWVtYmVycyBhcmUgZ29uZS4K
KyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YSk6CisgICAg
ICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6aW5pdENoYXJXaWR0aHMpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmg6IFJlbW92ZSBhc2NlbnQvZGVzY2Vu
dC9oZWlnaHQvbGluZVNwYWNpbmcvbGluZUdhcC94SGVpZ2h0L3VuaXRzUGVyRW0gYWNjZXNzb3Jz
LCBhbmQgbWVtYmVycywganVzdCBzdG9yZSBhIEZvbnRNZXRyaWNzIG9iamVjdCBhbmQgZXhwb3Nl
IGl0LgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OmZvbnRNZXRyaWNzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjphdmdDaGFyV2lkdGgpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1bVdpbi5jcHA6IFVzZSBmb250
TWV0cmljcygpIHRvIHF1ZXJ5IGZvbnQgbWV0cmljcy4KKyAgICAgICAgKFdlYkNvcmU6OlRyYW5z
cGFyZW5jeUF3YXJlRm9udFBhaW50ZXI6OlRyYW5zcGFyZW5jeUF3YXJlR2x5cGhQYWludGVyOjpl
c3RpbWF0ZVRleHRCb3VuZHMpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNwYXJlbmN5QXdhcmVG
b250UGFpbnRlcjo6VHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50ZXI6OmRyYXdHbHlwaHMpOgor
ICAgICAgICAoV2ViQ29yZTo6VHJhbnNwYXJlbmN5QXdhcmVGb250UGFpbnRlcjo6VHJhbnNwYXJl
bmN5QXdhcmVVbmlzY3JpYmVQYWludGVyOjplc3RpbWF0ZVRleHRCb3VuZHMpOgorICAgICAgICAo
V2ViQ29yZTo6Rm9udDo6ZHJhd0NvbXBsZXhUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNwcDogQWRhcHQgcGxhdGZv
cm0gY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUgRm9udE1ldHJpY3Mgb2JqZWN0LgorICAgICAgICAo
V2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFMaW51eC5jcHA6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVW5pc2NyaWJlSGVscGVyVGV4dFJ1bi5jcHA6IFVz
ZSBmb250TWV0cmljcygpIHRvIHF1ZXJ5IGZvbnQgbWV0cmljcy4KKyAgICAgICAgKFdlYkNvcmU6
OlVuaXNjcmliZUhlbHBlclRleHRSdW46OlVuaXNjcmliZUhlbHBlclRleHRSdW4pOgorICAgICAg
ICAoV2ViQ29yZTo6VW5pc2NyaWJlSGVscGVyVGV4dFJ1bjo6bmV4dFdpbkZvbnREYXRhKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1wbGVGb250RGF0YUZyZWVUeXBl
LmNwcDogQWRhcHQgcGxhdGZvcm0gY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUgRm9udE1ldHJpY3Mg
b2JqZWN0LgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvU2ltcGxlRm9udERhdGFIYWlrdS5j
cHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5p
dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21wbGV4VGV4dE1hYy5j
cHA6IFVzZSBmb250TWV0cmljcygpIHRvIHF1ZXJ5IGZvbnQgbWV0cmljcy4KKyAgICAgICAgKFdl
YkNvcmU6OkZvbnQ6OmZsb2F0V2lkdGhGb3JDb21wbGV4VGV4dCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW06IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6c2hv
d0dseXBoc1dpdGhBZHZhbmNlcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1Np
bXBsZUZvbnREYXRhTWFjLm1tOiBBZGFwdCBwbGF0Zm9ybSBjb2RlLCB0byBpbml0aWFsaXplIHRo
ZSBGb250TWV0cmljcyBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6
cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9y
bUNoYXJXaWR0aEluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1NpbXBs
ZUZvbnREYXRhUGFuZ28uY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnRE
YXRhOjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBs
ZUZvbnREYXRhUXQuY3BwOiBEaXR0by4gKCsgU3dpdGNoIHRvIFFGb250TWV0cmljc0YgdG8gZ2V0
IGZsb2F0aW5nLXBvaW50IGFjY3VyYW5jeS4pCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250
RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9u
dENHV2luLmNwcDogVXNlIGZvbnRNZXRyaWNzKCkgdG8gcXVlcnkgZm9udCBtZXRyaWNzLgorICAg
ICAgICAoV2ViQ29yZTo6ZHJhd0dESUdseXBocyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL0ZvbnRXaW4uY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmZsb2F0
V2lkdGhGb3JDb21wbGV4VGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1Np
bXBsZUZvbnREYXRhQ0dXaW4uY3BwOiBBZGFwdCBwbGF0Zm9ybSBjb2RlLCB0byBpbml0aWFsaXpl
IHRoZSBGb250TWV0cmljcyBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0
YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0
Zm9ybUJvdW5kc0ZvckdseXBoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vU2lt
cGxlRm9udERhdGFDYWlyb1dpbi5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxl
Rm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1NpbXBsZUZvbnREYXRhV2luLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVG
b250RGF0YTo6aW5pdEdESUZvbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbmNl
L0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcDogVXNlIGZvbnRNZXRyaWNzKCkgdG8gcXVlcnkgZm9u
dCBtZXRyaWNzLgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3VGV4dCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2ltcGxlRm9udERhdGFXaW5DRS5j
cHA6IEFkYXB0IHBsYXRmb3JtIGNvZGUsIHRvIGluaXRpYWxpemUgdGhlIEZvbnRNZXRyaWNzIG9i
amVjdC4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3d4L1NpbXBsZUZvbnREYXRhV3guY3BwOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9FbGxpcHNpc0JveC5jcHA6IFVzZSBzdHlsZS0+Zm9udE1ldHJpY3Mo
KSBpbnN0ZWFkIG9mIHN0eWxlLT5mb250KCkgdG8gYWNjZXNzIHRoZSBtZXRyaWNzLgorICAgICAg
ICAoV2ViQ29yZTo6RWxsaXBzaXNCb3g6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OkVsbGlw
c2lzQm94Ojpub2RlQXRQb2ludCk6CisgICAgICAgICogcmVuZGVyaW5nL0lubGluZUJveC5jcHA6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQm94Ojpsb2dpY2FsSGVpZ2h0KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHA6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6dmVydGljYWxQb3NpdGlvbkZvckJveCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVG
bG93Qm94Ojpjb21wdXRlTG9naWNhbEJveEhlaWdodHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5s
aW5lRmxvd0JveDo6cGxhY2VCb3hlc0luQmxvY2tEaXJlY3Rpb24pOgorICAgICAgICAqIHJlbmRl
cmluZy9JbmxpbmVUZXh0Qm94LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVU
ZXh0Qm94OjpwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpwYWludERl
Y29yYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnRTcGVsbGlu
Z09yR3JhbW1hck1hcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpwYWlu
dENvbXBvc2l0aW9uVW5kZXJsaW5lKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpiYXNlbGluZVBvc2l0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpmaXJzdExpbmVCb3hCYXNlbGlu
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bGFzdExpbmVCb3hCYXNlbGluZSk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQm94Ojpsb2NhbENhcmV0UmVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckVtYmVkZGVkT2JqZWN0LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJF
bWJlZGRlZE9iamVjdDo6cGFpbnRSZXBsYWNlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6c2V0SW1h
Z2VTaXplRm9yQWx0VGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6cGFpbnRS
ZXBsYWNlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHA6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjpiYXNlbGluZVBvc2l0aW9uKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGlzdEJveDo6cGFpbnRJdGVtRm9yZWdyb3VuZCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMaXN0Qm94OjppdGVtSGVpZ2h0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGlzdE1hcmtlci5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtl
cjo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6bGF5b3V0KToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RNYXJrZXI6OmNvbXB1dGVQcmVmZXJyZWRMb2dp
Y2FsV2lkdGhzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZU1h
cmdpbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6Z2V0UmVsYXRpdmVN
YXJrZXJSZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwOiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sOjpwYWludFBsYWNlaG9s
ZGVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNw
cDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6
OmNyZWF0ZUlubmVyVGV4dFN0eWxlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuaDogQWRkICJjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MoKSBjb25zdCIgYWNj
ZXNzb3IuCisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6Zm9udE1ldHJpY3MpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OmNvbXB1dGVkTGluZUhlaWdodCk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNwcDogVXNlIHN0eWxl
LT5mb250TWV0cmljcygpIGluc3RlYWQgb2Ygc3R5bGUtPmZvbnQoKSB0byBhY2Nlc3MgdGhlIG1l
dHJpY3MuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdJbmxpbmVUZXh0Ojpwb3NpdGlvbkZv
clBvaW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwOiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OnNlbGVjdGlvblJlY3RG
b3JUZXh0RnJhZ21lbnQpOgorICAgICAgICAoV2ViQ29yZTo6cG9zaXRpb25PZmZzZXRGb3JEZWNv
cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OnBhaW50RGVjb3Jh
dGlvbldpdGhTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbmxpbmVUZXh0Qm94OjpwYWlu
dFRleHRXaXRoU2hhZG93cyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbmxpbmVUZXh0Qm94Ojpj
YWxjdWxhdGVCb3VuZGFyaWVzKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlv
dXRFbmdpbmVCYXNlbGluZS5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dExh
eW91dEVuZ2luZUJhc2VsaW5lOjpjYWxjdWxhdGVCYXNlbGluZVNoaWZ0KToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2FsY3VsYXRlQWxpZ25tZW50QmFz
ZWxpbmVTaGlmdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxp
bmU6OmNhbGN1bGF0ZUdseXBoQWR2YW5jZUFuZE9yaWVudGF0aW9uKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmNwcDogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZzo6Y2FsY3VsYXRlU1ZHS2Vybmlu
Zyk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TWV0cmljcy5jcHA6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dE1ldHJpY3M6OlNWR1RleHRNZXRyaWNzKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvc3ZnL1NWR1RleHRRdWVyeS5jcHA6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6Y2FsY3VsYXRlR2x5cGhCb3VuZGFyaWVzKToKKyAgICAgICAgKiBzdmcvU1ZHRm9udEZh
Y2VFbGVtZW50LmNwcDogCisgICAgICAgIChXZWJDb3JlOjpTVkdGb250RmFjZUVsZW1lbnQ6OnVu
aXRzUGVyRW0pOiBSZW5hbWUgZGVmYXVsdFVuaXRzUGVyRW0gZ2xvYmFsIHRvIGdEZWZhdWx0VW5p
dHNQZXJFbS4KKyAgICAgICAgKiBzdmcvU1ZHTGVuZ3RoLmNwcDogVXNlIHN0eWxlLT5mb250TWV0
cmljcygpIGluc3RlYWQgb2Ygc3R5bGUtPmZvbnQoKSB0byBhY2Nlc3MgdGhlIG1ldHJpY3MuCisg
ICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGg6OmNvbnZlcnRWYWx1ZUZyb21Vc2VyVW5pdHNUb0VY
Uyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGg6OmNvbnZlcnRWYWx1ZUZyb21FWFNUb1Vz
ZXJVbml0cyk6CisKIDIwMTAtMTItMjMgIE5vZWwgR29yZG9uICA8bm9lbC5nb3Jkb25AZ21haWwu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCkluZGV4OiBXZWJDb3JlL0dO
VW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlz
aW9uIDc0NDY3KQorKysgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAt
MjQwMiw2ICsyNDAyLDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRGYW1pbHkuaCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
RmFzdFBhdGguY3BwIFwKIAlXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaCBcCisJV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oIFwKIAlXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRPcmllbnRhdGlvbi5oIFwKIAlXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRSZW5kZXJpbmdNb2RlLmggXAogCVdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNl
bGVjdG9yLmggXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9XZWJDb3JlLmd5
cGkJKHdvcmtpbmcgY29weSkKQEAgLTI5MTAsNiArMjkxMCw3IEBACiAgICAgICAgICAgICAncGxh
dGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRGYW1pbHkuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dEZhc3RQYXRoLmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udE1ldHJp
Y3MuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udFJlbmRlcmluZ01vZGUu
aCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNlbGVjdG9yLmgnLAogICAg
ICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRTbW9vdGhpbmdNb2RlLmgnLApJbmRleDog
V2ViQ29yZS9XZWJDb3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUucHJvCShy
ZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAg
LTIxMTMsNiArMjExMyw3IEBAIEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0Zv
bnREYXRhLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5oIFwKICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5LmggXAorICAgIHBsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRNZXRyaWNzLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaCBcCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvR2VuZXJhdGVkSW1hZ2UuaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhZGllbnQuaCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJl
dmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagko
d29ya2luZyBjb3B5KQpAQCAtMjYzODEsNiArMjYzODEsMTAgQEAKIAkJCQkJPgogCQkJCTwvRmls
ZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEZv
bnRNZXRyaWNzLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRp
dmVQYXRoPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGb250UmVuZGVyaW5nTW9kZS5oIgogCQkJCQk+
CiAJCQkJPC9GaWxlPgpJbmRleDogV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEwNyw2ICsxMDcsNyBAQAogCQkwODNEQUVB
NzBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4M0RBRUEzMEYwMUE3RkIw
MDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5oICovOyB9OwogCQkwODNEQUVB
ODBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4M0RBRUE0MEYwMUE3
RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwICovOyB9OwogCQkw
ODNEQUVBOTBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODNEQUVBNTBG
MDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmggKi87IH07CisJ
CTA4NDU2ODA4MTJCOTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0NTY4MDcxMkI5MERBNjAwOTYwQTlG
IC8qIEZvbnRNZXRyaWNzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMDg0QTA4MjkxMjhENzg2NzAwMkRCMUYxIC8qIFNWR1BhdGhTZWdMaXN0UHJv
cGVydHlUZWFyT2ZmLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwODRBMDgyODEyOEQ3ODY3MDAyREIxRjEgLyogU1ZHUGF0aFNlZ0xpc3RQcm9wZXJ0eVRl
YXJPZmYuaCAqLzsgfTsKIAkJMDg0QUVCRTQwRkI1MDVGQTAwMzg0ODNFIC8qIFNlbGVjdEVsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0
QUVCRTIwRkI1MDVGQTAwMzg0ODNFIC8qIFNlbGVjdEVsZW1lbnQuY3BwICovOyB9OwogCQkwODRB
RUJFNTBGQjUwNUZBMDAzODQ4M0UgLyogU2VsZWN0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0QUVCRTMwRkI1MDVGQTAwMzg0ODNFIC8q
IFNlbGVjdEVsZW1lbnQuaCAqLzsgfTsKQEAgLTYzNjgsNiArNjM2OSw3IEBACiAJCTA4M0RBRUEz
MEYwMUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODNEQUVBNDBGMDFBN0ZCMDAzNDI3NTQgLyog
UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTA4M0RBRUE1MEYwMUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0
Q29udHJvbFNpbmdsZUxpbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVu
ZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTA4NDU2ODA3MTJCOTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBGb250TWV0cmljcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkwODRBMDgyODEyOEQ3ODY3MDAyREIxRjEgLyogU1ZHUGF0aFNlZ0xpc3RQcm9wZXJ0
eVRlYXJPZmYuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGF0aFNlZ0xp
c3RQcm9wZXJ0eVRlYXJPZmYuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg0QUVC
RTIwRkI1MDVGQTAwMzg0ODNFIC8qIFNlbGVjdEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU2VsZWN0RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTA4NEFFQkUzMEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxlY3RFbGVtZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNlbGVjdEVsZW1lbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3MjI5LDYgKzE3MjMxLDcgQEAKIAkJCQlCMkMzREE1
ODBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udEZhbWlseS5jcHAgKi8sCiAJCQkJQjJDM0RBNTkwRDAw
NkNENjAwRUY2RjI2IC8qIEZvbnRGYW1pbHkuaCAqLywKIAkJCQk3MjYyNkUwMTBFRjAyMkZFMDBB
MDdFMjAgLyogRm9udEZhc3RQYXRoLmNwcCAqLywKKwkJCQkwODQ1NjgwNzEyQjkwREE2MDA5NjBB
OUYgLyogRm9udE1ldHJpY3MuaCAqLywKIAkJCQlGN0EwMzRDMzEyNkJGNkJFMDA3REMxOUUgLyog
Rm9udE9yaWVudGF0aW9uLmggKi8sCiAJCQkJMzdBQ0NFNDEwREEyOTgwRjAwODlFNjAyIC8qIEZv
bnRSZW5kZXJpbmdNb2RlLmggKi8sCiAJCQkJQjJDM0RBNUEwRDAwNkNENjAwRUY2RjI2IC8qIEZv
bnRTZWxlY3Rvci5oICovLApAQCAtMjIxMzAsNiArMjIxMzMsNyBAQAogCQkJCTkzRjE5OUVEMDgy
NDVFNTkwMDFFOUFCQyAvKiBYU0xUUHJvY2Vzc29yLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUJF
NTEyRTBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmggaW4gSGVhZGVycyAqLywK
IAkJCQk5N0RENEQ4NzBGREY0RDZFMDBFQ0Y5QTQgLyogWFNTQXVkaXRvci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMDg0NTY4MDgxMkI5MERBNjAwOTYwQTlGIC8qIEZvbnRNZXRyaWNzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk0OTlCM0VDNTEyOENDQzQ3MDBFNzI2QzIgLyogUGxhdGZvcm1DQUxheWVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTlCM0VENzEyOENEMzE0MDBFNzI2QzIgLyogR3JhcGhp
Y3NMYXllckNBLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTlCM0VERDEyOERCNTAyMDBFNzI2QzIg
LyogUGxhdGZvcm1DQUFuaW1hdGlvbi5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBXZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyQXRrLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3Rr
L0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIx
MSw4ICsxMjExLDggQEAgc3RhdGljIGludCBiYXNlbGluZVBvc2l0aW9uRm9yQWNjZXNzaWJpbAog
ICAgIC8vIEZJWE1FOiBUaGlzIGltcGxlbWVudGF0aW9uIG9mIGJhc2VsaW5lUG9zaXRpb24gb3Jp
Z2luYXRlcyBmcm9tIFJlbmRlck9iamVjdC5jcHAgYW5kIHdhcwogICAgIC8vIHJlbW92ZWQgaW4g
cjcwMDcyLiBUaGUgaW1wbGVtZW50YXRpb24gbG9va3MgaW5jb3JyZWN0IHRob3VnaCwgYmVjYXVz
ZSB0aGlzIGlzIG5vdCB0aGUKICAgICAvLyBiYXNlbGluZSBvZiB0aGUgdW5kZXJseWluZyBSZW5k
ZXJPYmplY3QsIGJ1dCBvZiB0aGUgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC4KLSAgICBjb25z
dCBGb250JiBmID0gcmVuZGVyT2JqZWN0LT5maXJzdExpbmVTdHlsZSgpLT5mb250KCk7Ci0gICAg
cmV0dXJuIGYuYXNjZW50KCkgKyAocmVuZGVyT2JqZWN0LT5maXJzdExpbmVTdHlsZSgpLT5jb21w
dXRlZExpbmVIZWlnaHQoKSAtIGYuaGVpZ2h0KCkpIC8gMjsKKyAgICBjb25zdCBGb250TWV0cmlj
cyYgZm9udE1ldHJpY3MgPSByZW5kZXJPYmplY3QtPmZpcnN0TGluZVN0eWxlKCktPmZvbnRNZXRy
aWNzKCk7CisgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmFzY2VudCgpICsgKHJlbmRlck9iamVjdC0+
Zmlyc3RMaW5lU3R5bGUoKS0+Y29tcHV0ZWRMaW5lSGVpZ2h0KCkgLSBmb250TWV0cmljcy5oZWln
aHQoKSkgLyAyOwogfQogCiBzdGF0aWMgQXRrQXR0cmlidXRlU2V0KiBnZXRBdHRyaWJ1dGVTZXRG
b3JBY2Nlc3NpYmlsaXR5T2JqZWN0KGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCkK
SW5kZXg6IFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDAsNyAr
NDAwLDcgQEAgZG91YmxlIENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoRAogICAgICAg
ICAgICAgLy8gV2UgcmVhbGx5IG5lZWQgdG8gY29tcHV0ZSBFWCB1c2luZyBmb250TWV0cmljcyBm
b3IgdGhlIG9yaWdpbmFsIHNwZWNpZmllZFNpemUgYW5kIG5vdCB1c2UKICAgICAgICAgICAgIC8v
IG91ciBhY3R1YWwgY29uc3RydWN0ZWQgcmVuZGVyaW5nIGZvbnQuCiAgICAgICAgICAgICBhcHBs
eVpvb21NdWx0aXBsaWVyID0gZmFsc2U7Ci0gICAgICAgICAgICBmYWN0b3IgPSBzdHlsZS0+Zm9u
dCgpLnhIZWlnaHQoKTsKKyAgICAgICAgICAgIGZhY3RvciA9IHN0eWxlLT5mb250TWV0cmljcygp
LnhIZWlnaHQoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENTU19SRU1TOgog
ICAgICAgICAgICAgYXBwbHlab29tTXVsdGlwbGllciA9IGZhbHNlOwpJbmRleDogV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAkocmV2aXNpb24g
NzQ0NjcpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE3NjAsNiArMTc2MCw3IEBAIHZvaWQgQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEOjpkcmF3VGV4dEkKICAgICAgICAgcmV0dXJuOwogCiAgICAgY29uc3QgRm9u
dCYgZm9udCA9IGFjY2Vzc0ZvbnQoKTsKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJp
Y3MgPSBmb250LmZvbnRNZXRyaWNzKCk7CiAKICAgICAvLyBGSVhNRTogSGFuZGxlIG1heFdpZHRo
LgogICAgIC8vIEZJWE1FOiBOZWVkIHRvIHR1cm4gb2ZmIGZvbnQgc21vb3RoaW5nLgpAQCAtMTc3
NywxNCArMTc3OCwxNCBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJ
CiAgICAgc3dpdGNoIChzdGF0ZSgpLm1fdGV4dEJhc2VsaW5lKSB7CiAgICAgY2FzZSBUb3BUZXh0
QmFzZWxpbmU6CiAgICAgY2FzZSBIYW5naW5nVGV4dEJhc2VsaW5lOgotICAgICAgICBsb2NhdGlv
bi5zZXRZKHkgKyBmb250LmFzY2VudCgpKTsKKyAgICAgICAgbG9jYXRpb24uc2V0WSh5ICsgZm9u
dE1ldHJpY3MuYXNjZW50KCkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEJvdHRvbVRleHRC
YXNlbGluZToKICAgICBjYXNlIElkZW9ncmFwaGljVGV4dEJhc2VsaW5lOgotICAgICAgICBsb2Nh
dGlvbi5zZXRZKHkgLSBmb250LmRlc2NlbnQoKSk7CisgICAgICAgIGxvY2F0aW9uLnNldFkoeSAt
IGZvbnRNZXRyaWNzLmRlc2NlbnQoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgTWlkZGxl
VGV4dEJhc2VsaW5lOgotICAgICAgICBsb2NhdGlvbi5zZXRZKHkgLSBmb250LmRlc2NlbnQoKSAr
IGZvbnQuaGVpZ2h0KCkgLyAyKTsKKyAgICAgICAgbG9jYXRpb24uc2V0WSh5IC0gZm9udE1ldHJp
Y3MuZGVzY2VudCgpICsgZm9udE1ldHJpY3MuaGVpZ2h0KCkgLyAyKTsKICAgICAgICAgYnJlYWs7
CiAgICAgY2FzZSBBbHBoYWJldGljVGV4dEJhc2VsaW5lOgogICAgIGRlZmF1bHQ6CkBAIC0xODEy
LDggKzE4MTMsOCBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJCiAg
ICAgfQogCiAgICAgLy8gVGhlIHNsb3AgYnVpbHQgaW4gdG8gdGhpcyBtYXNrIHJlY3QgbWF0Y2hl
cyB0aGUgaGV1cmlzdGljIHVzZWQgaW4gRm9udENHV2luLmNwcCBmb3IgR0RJIHRleHQuCi0gICAg
RmxvYXRSZWN0IHRleHRSZWN0ID0gRmxvYXRSZWN0KGxvY2F0aW9uLngoKSAtIGZvbnQuaGVpZ2h0
KCkgLyAyLCBsb2NhdGlvbi55KCkgLSBmb250LmFzY2VudCgpIC0gZm9udC5saW5lR2FwKCksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoICsgZm9udC5oZWlnaHQoKSwg
Zm9udC5saW5lU3BhY2luZygpKTsKKyAgICBGbG9hdFJlY3QgdGV4dFJlY3QgPSBGbG9hdFJlY3Qo
bG9jYXRpb24ueCgpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkgLyAyLCBsb2NhdGlvbi55KCkgLSBm
b250TWV0cmljcy5hc2NlbnQoKSAtIGZvbnRNZXRyaWNzLmxpbmVHYXAoKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggKyBmb250TWV0cmljcy5oZWlnaHQoKSwgZm9u
dE1ldHJpY3MubGluZVNwYWNpbmcoKSk7CiAgICAgaWYgKCFmaWxsKQogICAgICAgICB0ZXh0UmVj
dC5pbmZsYXRlKGMtPnN0cm9rZVRoaWNrbmVzcygpIC8gMik7CiAKSW5kZXg6IFdlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
NzczLDcgKzE3NzMsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRyYXdFbGVtZW50VGl0
CiAgICAgY29udGV4dC5zZXRGaWxsQ29sb3IodG9vbHRpcEJhY2tncm91bmRDb2xvciwgQ29sb3JT
cGFjZURldmljZVJHQik7CiAgICAgY29udGV4dC5kcmF3UmVjdCh0aXRsZVJlY3QpOwogICAgIGNv
bnRleHQuc2V0RmlsbENvbG9yKHRvb2x0aXBGb250Q29sb3IsIENvbG9yU3BhY2VEZXZpY2VSR0Ip
OwotICAgIGNvbnRleHQuZHJhd1RleHQoZm9udCwgbm9kZVRpdGxlUnVuLCBJbnRQb2ludCh0aXRs
ZVJlY3QueCgpICsgcmVjdEluZmxhdGVQeCwgdGl0bGVSZWN0LnkoKSArIGZvbnQuaGVpZ2h0KCkp
KTsKKyAgICBjb250ZXh0LmRyYXdUZXh0KGZvbnQsIG5vZGVUaXRsZVJ1biwgSW50UG9pbnQodGl0
bGVSZWN0LngoKSArIHJlY3RJbmZsYXRlUHgsIHRpdGxlUmVjdC55KCkgKyBmb250LmZvbnRNZXRy
aWNzKCkuaGVpZ2h0KCkpKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpvcGVuSW5J
bnNwZWN0ZWRXaW5kb3coY29uc3QgU3RyaW5nJiB1cmwpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bs
YXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAkocmV2aXNpb24gNzQ0NjcpCisr
KyBXZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtOTU5LDcgKzk1OSw3IEBAIHZvaWQgUG9wdXBMaXN0Qm94OjpwYWludFJvdyhH
cmFwaGljc0NvbnQKICAgICAgICAgdGV4dFggKz0gbWF4V2lkdGggLSBpdGVtRm9udC53aWR0aCh0
ZXh0UnVuKTsKIAogICAgIC8vIERyYXcgdGhlIGl0ZW0gdGV4dC4KLSAgICBpbnQgdGV4dFkgPSBy
b3dSZWN0LnkoKSArIGl0ZW1Gb250LmFzY2VudCgpICsgKHJvd1JlY3QuaGVpZ2h0KCkgLSBpdGVt
Rm9udC5oZWlnaHQoKSkgLyAyOworICAgIGludCB0ZXh0WSA9IHJvd1JlY3QueSgpICsgaXRlbUZv
bnQuZm9udE1ldHJpY3MoKS5hc2NlbnQoKSArIChyb3dSZWN0LmhlaWdodCgpIC0gaXRlbUZvbnQu
Zm9udE1ldHJpY3MoKS5oZWlnaHQoKSkgLyAyOwogICAgIGdjLT5kcmF3QmlkaVRleHQoaXRlbUZv
bnQsIHRleHRSdW4sIEludFBvaW50KHRleHRYLCB0ZXh0WSkpOwogCiAgICAgLy8gV2UgYXJlIHVz
aW5nIHRoZSBsZWZ0IHBhZGRpbmcgYXMgdGhlIHJpZ2h0IHBhZGRpbmcgaW5jbHVkZXMgcm9vbSBm
b3IgdGhlIHNjcm9sbC1iYXIgd2hpY2gKQEAgLTEwOTksNyArMTA5OSw3IEBAIGludCBQb3B1cExp
c3RCb3g6OmdldFJvd0hlaWdodChpbnQgaW5kZXgKICAgICBTdHJpbmcgaWNvbiA9IG1fcG9wdXBD
bGllbnQtPml0ZW1JY29uKGluZGV4KTsKICAgICBSZWZQdHI8SW1hZ2U+IGltYWdlKEltYWdlOjps
b2FkUGxhdGZvcm1SZXNvdXJjZShpY29uLnV0ZjgoKS5kYXRhKCkpKTsKIAotICAgIGludCBmb250
SGVpZ2h0ID0gZ2V0Um93Rm9udChpbmRleCkuaGVpZ2h0KCk7CisgICAgaW50IGZvbnRIZWlnaHQg
PSBnZXRSb3dGb250KGluZGV4KS5mb250TWV0cmljcygpLmhlaWdodCgpOwogICAgIGludCBpY29u
SGVpZ2h0ID0gKGltYWdlICYmICFpbWFnZS0+aXNOdWxsKCkpID8gaW1hZ2UtPnJlY3QoKS5oZWln
aHQoKSA6IDA7CiAKICAgICByZXR1cm4gbWF4KGZvbnRIZWlnaHQsIGljb25IZWlnaHQpOwpJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDcgKzQ0LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRmxvYXRQb2ludDsKIGNsYXNzIEZsb2F0UmVjdDsK
IGNsYXNzIEZvbnREYXRhOwotY2xhc3MgRm9udEZhbGxiYWNrTGlzdDsKK2NsYXNzIEZvbnRNZXRy
aWNzOwogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIEZvbnRTZWxlY3RvcjsKIGNsYXNz
IEdseXBoQnVmZmVyOwpAQCAtNTQsOCArNTQsNiBAQCBjbGFzcyBTVkdGb250RWxlbWVudDsKIAog
c3RydWN0IEdseXBoRGF0YTsKIAotY29uc3QgdW5zaWduZWQgZGVmYXVsdFVuaXRzUGVyRW0gPSAx
MDAwOwotCiBzdHJ1Y3QgR2x5cGhPdmVyZmxvdyB7CiAgICAgR2x5cGhPdmVyZmxvdygpCiAgICAg
ICAgIDogbGVmdCgwKQpAQCAtMTI4LDEzICsxMjYsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1Bs
YXRmb3JtRm9udCgpIGNvbnN0IHsgcmV0dXJuIG1faXNQbGF0Zm9ybUZvbnQ7IH0KIAogICAgIC8v
IE1ldHJpY3MgdGhhdCB3ZSBxdWVyeSB0aGUgRm9udEZhbGxiYWNrTGlzdCBmb3IuCi0gICAgaW50
IGFzY2VudChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBj
b25zdCB7IHJldHVybiBwcmltYXJ5Rm9udCgpLT5hc2NlbnQoYmFzZWxpbmVUeXBlKTsgfQotICAg
IGludCBkZXNjZW50KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxp
bmUpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmRlc2NlbnQoYmFzZWxpbmVUeXBlKTsg
fQotICAgIGludCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBhc2NlbnQoKSArIGRlc2NlbnQoKTsg
fQotICAgIGludCBsaW5lU3BhY2luZygpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmxp
bmVTcGFjaW5nKCk7IH0KLSAgICBpbnQgbGluZUdhcCgpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlG
b250KCktPmxpbmVHYXAoKTsgfQotICAgIGZsb2F0IHhIZWlnaHQoKSBjb25zdCB7IHJldHVybiBw
cmltYXJ5Rm9udCgpLT54SGVpZ2h0KCk7IH0KLSAgICB1bnNpZ25lZCB1bml0c1BlckVtKCkgY29u
c3QgeyByZXR1cm4gcHJpbWFyeUZvbnQoKS0+dW5pdHNQZXJFbSgpOyB9CisgICAgY29uc3QgRm9u
dE1ldHJpY3MmIGZvbnRNZXRyaWNzKCkgY29uc3QgeyByZXR1cm4gcHJpbWFyeUZvbnQoKS0+Zm9u
dE1ldHJpY3MoKTsgfQogICAgIGludCBzcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1cm4gKGludClj
ZWlsZihwcmltYXJ5Rm9udCgpLT5hZGp1c3RlZFNwYWNlV2lkdGgoKSArIG1fbGV0dGVyU3BhY2lu
Zyk7IH0KICAgICBmbG9hdCB0YWJXaWR0aChjb25zdCBTaW1wbGVGb250RGF0YSYgZm9udERhdGEp
IGNvbnN0IHsgcmV0dXJuIDggKiBjZWlsZihmb250RGF0YS5hZGp1c3RlZFNwYWNlV2lkdGgoKSAr
IGxldHRlclNwYWNpbmcoKSk7IH0KICAgICBpbnQgZW1waGFzaXNNYXJrQXNjZW50KGNvbnN0IEF0
b21pY1N0cmluZyYpIGNvbnN0OwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250
RmFzdFBhdGguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dEZhc3RQYXRoLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRGYXN0UGF0aC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0MSw3ICsyNDEsNyBAQCBp
bnQgRm9udDo6ZW1waGFzaXNNYXJrQXNjZW50KGNvbnN0IEF0b21pCiAgICAgaWYgKCFtYXJrRm9u
dERhdGEpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIG1hcmtGb250RGF0YS0+YXNj
ZW50KCk7CisgICAgcmV0dXJuIG1hcmtGb250RGF0YS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKTsK
IH0KIAogaW50IEZvbnQ6OmVtcGhhc2lzTWFya0Rlc2NlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBt
YXJrKSBjb25zdApAQCAtMjU1LDcgKzI1NSw3IEBAIGludCBGb250OjplbXBoYXNpc01hcmtEZXNj
ZW50KGNvbnN0IEF0b20KICAgICBpZiAoIW1hcmtGb250RGF0YSkKICAgICAgICAgcmV0dXJuIDA7
CiAKLSAgICByZXR1cm4gbWFya0ZvbnREYXRhLT5kZXNjZW50KCk7CisgICAgcmV0dXJuIG1hcmtG
b250RGF0YS0+Zm9udE1ldHJpY3MoKS5kZXNjZW50KCk7CiB9CiAKIGludCBGb250OjplbXBoYXNp
c01hcmtIZWlnaHQoY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrKSBjb25zdApAQCAtMjY5LDcgKzI2
OSw3IEBAIGludCBGb250OjplbXBoYXNpc01hcmtIZWlnaHQoY29uc3QgQXRvbWkKICAgICBpZiAo
IW1hcmtGb250RGF0YSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICByZXR1cm4gbWFya0ZvbnRE
YXRhLT5oZWlnaHQoKTsKKyAgICByZXR1cm4gbWFya0ZvbnREYXRhLT5mb250TWV0cmljcygpLmhl
aWdodCgpOwogfQogCiBmbG9hdCBGb250OjpnZXRHbHlwaHNBbmRBZHZhbmNlc0ZvclNpbXBsZVRl
eHQoY29uc3QgVGV4dFJ1biYgcnVuLCBpbnQgZnJvbSwgaW50IHRvLCBHbHlwaEJ1ZmZlciYgZ2x5
cGhCdWZmZXIsIEZvclRleHRFbXBoYXNpc09yTm90IGZvclRleHRFbXBoYXNpcykgY29uc3QKQEAg
LTQwMyw4ICs0MDMsOCBAQCBmbG9hdCBGb250OjpmbG9hdFdpZHRoRm9yU2ltcGxlVGV4dChjb25z
CiAgICAgaXQuYWR2YW5jZShydW4ubGVuZ3RoKCksIGdseXBoQnVmZmVyKTsKIAogICAgIGlmIChn
bHlwaE92ZXJmbG93KSB7Ci0gICAgICAgIGdseXBoT3ZlcmZsb3ctPnRvcCA9IG1heDxpbnQ+KGds
eXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYoLWl0Lm1pbkdseXBoQm91bmRpbmdCb3hZKCkpIC0gYXNj
ZW50KCkpOwotICAgICAgICBnbHlwaE92ZXJmbG93LT5ib3R0b20gPSBtYXg8aW50PihnbHlwaE92
ZXJmbG93LT5ib3R0b20sIGNlaWxmKGl0Lm1heEdseXBoQm91bmRpbmdCb3hZKCkpIC0gZGVzY2Vu
dCgpKTsKKyAgICAgICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4PGludD4oZ2x5cGhPdmVyZmxv
dy0+dG9wLCBjZWlsZigtaXQubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSBmb250TWV0cmljcygp
LmFzY2VudCgpKTsKKyAgICAgICAgZ2x5cGhPdmVyZmxvdy0+Ym90dG9tID0gbWF4PGludD4oZ2x5
cGhPdmVyZmxvdy0+Ym90dG9tLCBjZWlsZihpdC5tYXhHbHlwaEJvdW5kaW5nQm94WSgpKSAtIGZv
bnRNZXRyaWNzKCkuZGVzY2VudCgpKTsKICAgICAgICAgZ2x5cGhPdmVyZmxvdy0+bGVmdCA9IGNl
aWxmKGl0LmZpcnN0R2x5cGhPdmVyZmxvdygpKTsKICAgICAgICAgZ2x5cGhPdmVyZmxvdy0+cmln
aHQgPSBjZWlsZihpdC5sYXN0R2x5cGhPdmVyZmxvdygpKTsKICAgICB9CkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEy
MyBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIw
MTAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAg
ICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgICAgYWludCB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9u
LCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCisjaWZuZGVmIEZvbnRNZXRyaWNzX2gKKyNkZWZp
bmUgRm9udE1ldHJpY3NfaAorCisjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjb25zdCB1bnNpZ25lZCBnRGVmYXVsdFVuaXRzUGVyRW0gPSAxMDAw
OworCitjbGFzcyBGb250TWV0cmljcyB7CitwdWJsaWM6CisgICAgRm9udE1ldHJpY3MoKQorICAg
ICAgICA6IG1fdW5pdHNQZXJFbShnRGVmYXVsdFVuaXRzUGVyRW0pCisgICAgICAgICwgbV9hc2Nl
bnQoMCkKKyAgICAgICAgLCBtX2Rlc2NlbnQoMCkKKyAgICAgICAgLCBtX2xpbmVHYXAoMCkKKyAg
ICAgICAgLCBtX2xpbmVTcGFjaW5nKDApCisgICAgICAgICwgbV94SGVpZ2h0KDApCisgICAgewor
ICAgIH0KKworICAgIHVuc2lnbmVkIHVuaXRzUGVyRW0oKSBjb25zdCB7IHJldHVybiBtX3VuaXRz
UGVyRW07IH0KKyAgICB2b2lkIHNldFVuaXRzUGVyRW0odW5zaWduZWQgdW5pdHNQZXJFbSkgeyBt
X3VuaXRzUGVyRW0gPSB1bml0c1BlckVtOyB9CisKKyAgICBmbG9hdCBmbG9hdEFzY2VudChGb250
QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBjb25zdAorICAgIHsK
KyAgICAgICAgaWYgKGJhc2VsaW5lVHlwZSA9PSBBbHBoYWJldGljQmFzZWxpbmUpCisgICAgICAg
ICAgICByZXR1cm4gbV9hc2NlbnQ7CisgICAgICAgIHJldHVybiBmbG9hdEhlaWdodCgpIC8gMjsK
KyAgICB9CisKKyAgICB2b2lkIHNldEFzY2VudChmbG9hdCBhc2NlbnQpIHsgbV9hc2NlbnQgPSBh
c2NlbnQ7IH0KKworICAgIGZsb2F0IGZsb2F0RGVzY2VudChGb250QmFzZWxpbmUgYmFzZWxpbmVU
eXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKGJhc2Vs
aW5lVHlwZSA9PSBBbHBoYWJldGljQmFzZWxpbmUpCisgICAgICAgICAgICByZXR1cm4gbV9kZXNj
ZW50OworICAgICAgICByZXR1cm4gZmxvYXRIZWlnaHQoKSAvIDI7CisgICAgfQorCisgICAgdm9p
ZCBzZXREZXNjZW50KGZsb2F0IGRlc2NlbnQpIHsgbV9kZXNjZW50ID0gZGVzY2VudDsgfQorCisg
ICAgZmxvYXQgZmxvYXRIZWlnaHQoRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0
aWNCYXNlbGluZSkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmbG9hdEFzY2VudChiYXNl
bGluZVR5cGUpICsgZmxvYXREZXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgfQorCisgICAgZmxv
YXQgZmxvYXRMaW5lR2FwKCkgY29uc3QgeyByZXR1cm4gbV9saW5lR2FwOyB9CisgICAgdm9pZCBz
ZXRMaW5lR2FwKGZsb2F0IGxpbmVHYXApIHsgbV9saW5lR2FwID0gbGluZUdhcDsgfQorCisgICAg
ZmxvYXQgZmxvYXRMaW5lU3BhY2luZygpIGNvbnN0IHsgcmV0dXJuIG1fbGluZVNwYWNpbmc7IH0K
KyAgICB2b2lkIHNldExpbmVTcGFjaW5nKGZsb2F0IGxpbmVTcGFjaW5nKSB7IG1fbGluZVNwYWNp
bmcgPSBsaW5lU3BhY2luZzsgfQorCisgICAgZmxvYXQgeEhlaWdodCgpIGNvbnN0IHsgcmV0dXJu
IG1feEhlaWdodDsgfQorICAgIHZvaWQgc2V0WEhlaWdodChmbG9hdCB4SGVpZ2h0KSB7IG1feEhl
aWdodCA9IHhIZWlnaHQ7IH0KKworICAgIC8vIEludGVnZXIgdmFyaWFudHMgb2YgY2VydGFpbiBt
ZXRyaWNzLCB1c2VkIGZvciBIVE1MIHJlbmRlcmluZy4KKyAgICBpbnQgYXNjZW50KEZvbnRCYXNl
bGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0CisgICAgeworICAg
ICAgICBpZiAoYmFzZWxpbmVUeXBlID09IEFscGhhYmV0aWNCYXNlbGluZSkKKyAgICAgICAgICAg
IHJldHVybiBscm91bmRmKG1fYXNjZW50KTsKKyAgICAgICAgcmV0dXJuIGhlaWdodCgpIC0gaGVp
Z2h0KCkgLyAyOworICAgIH0KKworICAgIGludCBkZXNjZW50KEZvbnRCYXNlbGluZSBiYXNlbGlu
ZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0CisgICAgeworICAgICAgICBpZiAoYmFz
ZWxpbmVUeXBlID09IEFscGhhYmV0aWNCYXNlbGluZSkKKyAgICAgICAgICAgIHJldHVybiBscm91
bmRmKG1fZGVzY2VudCk7CisgICAgICAgIHJldHVybiBoZWlnaHQoKSAvIDI7CisgICAgfQorCisg
ICAgaW50IGhlaWdodChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2Vs
aW5lKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGFzY2VudChiYXNlbGluZVR5cGUpICsg
ZGVzY2VudChiYXNlbGluZVR5cGUpOworICAgIH0KKworICAgIGludCBsaW5lR2FwKCkgY29uc3Qg
eyByZXR1cm4gbHJvdW5kZihtX2xpbmVHYXApOyB9CisgICAgaW50IGxpbmVTcGFjaW5nKCkgY29u
c3QgeyByZXR1cm4gbHJvdW5kZihtX2xpbmVTcGFjaW5nKTsgfQorCitwcml2YXRlOgorICAgIGZy
aWVuZCBjbGFzcyBTaW1wbGVGb250RGF0YTsKKworICAgIHZvaWQgcmVzZXQoKQorICAgIHsKKyAg
ICAgICAgbV91bml0c1BlckVtID0gZ0RlZmF1bHRVbml0c1BlckVtOworICAgICAgICBtX2FzY2Vu
dCA9IDA7CisgICAgICAgIG1fZGVzY2VudCA9IDA7CisgICAgICAgIG1fbGluZUdhcCA9IDA7Cisg
ICAgICAgIG1fbGluZVNwYWNpbmcgPSAwOworICAgICAgICBtX3hIZWlnaHQgPSAwOworICAgIH0K
KworcHJpdmF0ZToKKyAgICB1bnNpZ25lZCBtX3VuaXRzUGVyRW07CisgICAgZmxvYXQgbV9hc2Nl
bnQ7CisgICAgZmxvYXQgbV9kZXNjZW50OworICAgIGZsb2F0IG1fbGluZUdhcDsKKyAgICBmbG9h
dCBtX2xpbmVTcGFjaW5nOworICAgIGZsb2F0IG1feEhlaWdodDsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEZvbnRNZXRyaWNzX2gKSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwCShyZXZpc2lvbiA3NDQ2NykKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01MCw3ICs1MCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIFNpbXBsZUZvbnREYXRh
OjpTaW1wbGVGb250RGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhJiBwbGF0Zm9ybURhdGEsIGJv
b2wgaXNDdXN0b21Gb250LCBib29sIGlzTG9hZGluZykKICAgICA6IG1fbWF4Q2hhcldpZHRoKC0x
KQogICAgICwgbV9hdmdDaGFyV2lkdGgoLTEpCi0gICAgLCBtX3VuaXRzUGVyRW0oZGVmYXVsdFVu
aXRzUGVyRW0pCiAgICAgLCBtX29yaWVudGF0aW9uKHBsYXRmb3JtRGF0YS5vcmllbnRhdGlvbigp
KQogICAgICwgbV9wbGF0Zm9ybURhdGEocGxhdGZvcm1EYXRhKQogICAgICwgbV90cmVhdEFzRml4
ZWRQaXRjaChmYWxzZSkKQEAgLTc0LDIzICs3MywyOSBAQCBTaW1wbGVGb250RGF0YTo6U2ltcGxl
Rm9udERhdGEoUGFzc093blB0CiAgICAgLCBtX2lzQnJva2VuSWRlb2dyYXBoRm9udChmYWxzZSkK
IHsKICAgICBTVkdGb250RmFjZUVsZW1lbnQqIHN2Z0ZvbnRGYWNlRWxlbWVudCA9IG1fc3ZnRm9u
dERhdGEtPnN2Z0ZvbnRGYWNlRWxlbWVudCgpOwotICAgIG1fdW5pdHNQZXJFbSA9IHN2Z0ZvbnRG
YWNlRWxlbWVudC0+dW5pdHNQZXJFbSgpOworICAgIHVuc2lnbmVkIHVuaXRzUGVyRW0gPSBzdmdG
b250RmFjZUVsZW1lbnQtPnVuaXRzUGVyRW0oKTsKIAotICAgIGRvdWJsZSBzY2FsZSA9IHNpemU7
Ci0gICAgaWYgKG1fdW5pdHNQZXJFbSkKLSAgICAgICAgc2NhbGUgLz0gbV91bml0c1BlckVtOwot
Ci0gICAgbV9hc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KHN2Z0ZvbnRGYWNlRWxlbWVudC0+YXNj
ZW50KCkgKiBzY2FsZSk7Ci0gICAgbV9kZXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50PihzdmdGb250
RmFjZUVsZW1lbnQtPmRlc2NlbnQoKSAqIHNjYWxlKTsKLSAgICBtX3hIZWlnaHQgPSBzdGF0aWNf
Y2FzdDxpbnQ+KHN2Z0ZvbnRGYWNlRWxlbWVudC0+eEhlaWdodCgpICogc2NhbGUpOwotICAgIG1f
bGluZUdhcCA9IDAuMWYgKiBzaXplOwotICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1f
ZGVzY2VudCArIG1fbGluZUdhcDsKKyAgICBmbG9hdCBzY2FsZSA9IHNpemU7CisgICAgaWYgKHVu
aXRzUGVyRW0pCisgICAgICAgIHNjYWxlIC89IHVuaXRzUGVyRW07CisKKyAgICAvLyBGSVhNRTog
VXNlIGZsb2F0aW5nLXBvaW50IG1ldHJpY3MsIG5vdyB0aGF0IHRoZXkncmUgZXhwb3NlZCEKKyAg
ICBpbnQgeEhlaWdodCA9IHN0YXRpY19jYXN0PGludD4oc3ZnRm9udEZhY2VFbGVtZW50LT54SGVp
Z2h0KCkgKiBzY2FsZSk7CisgICAgaW50IGFzY2VudCA9IHN0YXRpY19jYXN0PGludD4oc3ZnRm9u
dEZhY2VFbGVtZW50LT5hc2NlbnQoKSAqIHNjYWxlKTsKKyAgICBpbnQgZGVzY2VudCA9IHN0YXRp
Y19jYXN0PGludD4oc3ZnRm9udEZhY2VFbGVtZW50LT5kZXNjZW50KCkgKiBzY2FsZSk7CisgICAg
aW50IGxpbmVHYXAgPSAwLjFmICogc2l6ZTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFVuaXRzUGVy
RW0odW5pdHNQZXJFbSk7CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAg
ICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoZGVzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5z
ZXRMaW5lR2FwKGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNj
ZW50ICsgZGVzY2VudCArIGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh4
SGVpZ2h0KTsKIAogICAgIFNWR0ZvbnRFbGVtZW50KiBhc3NvY2lhdGVkRm9udEVsZW1lbnQgPSBz
dmdGb250RmFjZUVsZW1lbnQtPmFzc29jaWF0ZWRGb250RWxlbWVudCgpOwogCiAgICAgVmVjdG9y
PFNWR0dseXBoSWRlbnRpZmllcj4gc3BhY2VHbHlwaHM7CiAgICAgYXNzb2NpYXRlZEZvbnRFbGVt
ZW50LT5nZXRHbHlwaElkZW50aWZpZXJzRm9yU3RyaW5nKFN0cmluZygiICIsIDEpLCBzcGFjZUds
eXBocyk7Ci0gICAgbV9zcGFjZVdpZHRoID0gc3BhY2VHbHlwaHMuaXNFbXB0eSgpID8gbV94SGVp
Z2h0IDogc3RhdGljX2Nhc3Q8ZmxvYXQ+KHNwYWNlR2x5cGhzLmZpcnN0KCkuaG9yaXpvbnRhbEFk
dmFuY2VYICogc2NhbGUpOworICAgIG1fc3BhY2VXaWR0aCA9IHNwYWNlR2x5cGhzLmlzRW1wdHko
KSA/IHhIZWlnaHQgOiBzdGF0aWNfY2FzdDxmbG9hdD4oc3BhY2VHbHlwaHMuZmlyc3QoKS5ob3Jp
em9udGFsQWR2YW5jZVggKiBzY2FsZSk7CiAKICAgICBWZWN0b3I8U1ZHR2x5cGhJZGVudGlmaWVy
PiBudW1lcmFsWmVyb0dseXBoczsKICAgICBhc3NvY2lhdGVkRm9udEVsZW1lbnQtPmdldEdseXBo
SWRlbnRpZmllcnNGb3JTdHJpbmcoU3RyaW5nKCIwIiwgMSksIG51bWVyYWxaZXJvR2x5cGhzKTsK
QEAgLTk4LDcgKzEwMyw3IEBAIFNpbXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YShQYXNzT3du
UHQKIAogICAgIFZlY3RvcjxTVkdHbHlwaElkZW50aWZpZXI+IGxldHRlcldHbHlwaHM7CiAgICAg
YXNzb2NpYXRlZEZvbnRFbGVtZW50LT5nZXRHbHlwaElkZW50aWZpZXJzRm9yU3RyaW5nKFN0cmlu
ZygiVyIsIDEpLCBsZXR0ZXJXR2x5cGhzKTsKLSAgICBtX21heENoYXJXaWR0aCA9IGxldHRlcldH
bHlwaHMuaXNFbXB0eSgpID8gbV9hc2NlbnQgOiBzdGF0aWNfY2FzdDxmbG9hdD4obGV0dGVyV0ds
eXBocy5maXJzdCgpLmhvcml6b250YWxBZHZhbmNlWCAqIHNjYWxlKTsKKyAgICBtX21heENoYXJX
aWR0aCA9IGxldHRlcldHbHlwaHMuaXNFbXB0eSgpID8gYXNjZW50IDogc3RhdGljX2Nhc3Q8Zmxv
YXQ+KGxldHRlcldHbHlwaHMuZmlyc3QoKS5ob3Jpem9udGFsQWR2YW5jZVggKiBzY2FsZSk7CiAK
ICAgICAvLyBGSVhNRTogaXMgdGhlcmUgYSB3YXkgd2UgY2FuIGdldCB0aGUgc3BhY2UgZ2x5cGgg
ZnJvbSB0aGUgU1ZHR2x5cGhJZGVudGlmaWVyIGFib3ZlPwogICAgIG1fc3BhY2VHbHlwaCA9IDA7
CkBAIC0xMjYsMTAgKzEzMSwxMSBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjppbml0Q2hhcldpZHRo
cygpCiAKICAgICAvLyBJZiB3ZSBjYW4ndCByZXRyaWV2ZSB0aGUgd2lkdGggb2YgYSAnMCcsIGZh
bGwgYmFjayB0byB0aGUgeCBoZWlnaHQuCiAgICAgaWYgKG1fYXZnQ2hhcldpZHRoIDw9IDAuZikK
LSAgICAgICAgbV9hdmdDaGFyV2lkdGggPSBtX3hIZWlnaHQ7CisgICAgICAgIG1fYXZnQ2hhcldp
ZHRoID0gbV9mb250TWV0cmljcy54SGVpZ2h0KCk7CiAKKyAgICAvLyBGSVhNRTogVXNlIGZsb2F0
aW5nLXBvaW50IG1ldHJpY3MsIG5vdyB0aGF0IHRoZXkncmUgZXhwb3NlZCEKICAgICBpZiAobV9t
YXhDaGFyV2lkdGggPD0gMC5mKQotICAgICAgICBtX21heENoYXJXaWR0aCA9IG1heDxmbG9hdD4o
bV9hdmdDaGFyV2lkdGgsIG1fYXNjZW50KTsKKyAgICAgICAgbV9tYXhDaGFyV2lkdGggPSBtYXg8
ZmxvYXQ+KG1fYXZnQ2hhcldpZHRoLCBtX2ZvbnRNZXRyaWNzLmFzY2VudCgpKTsKIH0KIAogdm9p
ZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1HbHlwaEluaXQoKQpJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgJKHdvcmtpbmcgY29weSkKQEAg
LTI2LDYgKzI2LDcgQEAKIAogI2luY2x1ZGUgIkZvbnRCYXNlbGluZS5oIgogI2luY2x1ZGUgIkZv
bnREYXRhLmgiCisjaW5jbHVkZSAiRm9udE1ldHJpY3MuaCIKICNpbmNsdWRlICJGb250UGxhdGZv
cm1EYXRhLmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiR2x5cGhNZXRyaWNz
TWFwLmgiCkBAIC0xMDEsMTUgKzEwMiw5IEBAIHB1YmxpYzoKICAgICAvLyBGSVhNRTogVXNlIHRo
ZSBhY3R1YWwgbWV0cmljcyBmb3IgZm9udHMgd2l0aCB2ZXJ0aWNhbCB0YWJsZXMgaW5zdGVhZCBv
ZiBqdXN0IGhhcmQtY29kaW5nLiAgSWYgdGhlIGZvbnQgaXMgaG9yaXpvbnRhbGx5IG9yaWVudGVk
IG9yCiAgICAgLy8gYSBicm9rZW4gaWRlb2dyYXBoaWMgZm9udCwgdGhlbiBqdXN0IGhhcmQtY29k
ZSB0byBzcGxpdCBhc2NlbnQvZGVzY2VudCBkb3duIHRoZSBtaWRkbGUuICBPdGhlcndpc2Ugd2Ug
c2hvdWxkIGFjdHVhbGx5IHVzZSB0aGUgbWV0cmljcwogICAgIC8vIGZyb20gdGhlIGZvbnQgaXRz
ZWxmLgotICAgIGludCBhc2NlbnQoRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0
aWNCYXNlbGluZSkgY29uc3QgeyByZXR1cm4gYmFzZWxpbmVUeXBlID09IEFscGhhYmV0aWNCYXNl
bGluZSA/IG1fYXNjZW50IDogaGVpZ2h0KCkgLSBoZWlnaHQoKSAvIDI7IH0KLSAgICBpbnQgZGVz
Y2VudChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBjb25z
dCB7IHJldHVybiBiYXNlbGluZVR5cGUgPT0gQWxwaGFiZXRpY0Jhc2VsaW5lID8gbV9kZXNjZW50
IDogaGVpZ2h0KCkgLyAyOyB9Ci0gICAgaW50IGhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1fYXNj
ZW50ICsgbV9kZXNjZW50OyB9Ci0gICAgaW50IGxpbmVTcGFjaW5nKCkgY29uc3QgeyByZXR1cm4g
bV9saW5lU3BhY2luZzsgfQotICAgIGludCBsaW5lR2FwKCkgY29uc3QgeyByZXR1cm4gbV9saW5l
R2FwOyB9CisgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzKCkgY29uc3QgeyByZXR1
cm4gbV9mb250TWV0cmljczsgfQogICAgIGZsb2F0IG1heENoYXJXaWR0aCgpIGNvbnN0IHsgcmV0
dXJuIG1fbWF4Q2hhcldpZHRoOyB9CiAgICAgZmxvYXQgYXZnQ2hhcldpZHRoKCkgY29uc3QgeyBy
ZXR1cm4gbV9hdmdDaGFyV2lkdGg7IH0KLSAgICBmbG9hdCB4SGVpZ2h0KCkgY29uc3QgeyByZXR1
cm4gbV94SGVpZ2h0OyB9Ci0gICAgdW5zaWduZWQgdW5pdHNQZXJFbSgpIGNvbnN0IHsgcmV0dXJu
IG1fdW5pdHNQZXJFbTsgfQogCiAgICAgRmxvYXRSZWN0IGJvdW5kc0ZvckdseXBoKEdseXBoKSBj
b25zdDsKICAgICBmbG9hdCB3aWR0aEZvckdseXBoKEdseXBoIGdseXBoKSBjb25zdDsKQEAgLTIx
MSwxNCArMjA2LDkgQEAgcHJpdmF0ZToKICAgICBmbG9hdCB3aWR0aEZvckdESUdseXBoKEdseXBo
IGdseXBoKSBjb25zdDsKICNlbmRpZgogCi0gICAgaW50IG1fYXNjZW50OwotICAgIGludCBtX2Rl
c2NlbnQ7Ci0gICAgaW50IG1fbGluZVNwYWNpbmc7Ci0gICAgaW50IG1fbGluZUdhcDsKKyAgICBG
b250TWV0cmljcyBtX2ZvbnRNZXRyaWNzOwogICAgIGZsb2F0IG1fbWF4Q2hhcldpZHRoOwogICAg
IGZsb2F0IG1fYXZnQ2hhcldpZHRoOwotICAgIGZsb2F0IG1feEhlaWdodDsKLSAgICB1bnNpZ25l
ZCBtX3VuaXRzUGVyRW07CiAgICAgCiAgICAgRm9udE9yaWVudGF0aW9uIG1fb3JpZW50YXRpb247
IC8vIFRoaXMgaXMgb3VyIHN1cHBvcnRlZCBvcmllbnRhdGlvbiBhY2NvcmRpbmcgdG8gdGhlIHRh
YmxlcyBpbiB0aGUgZm9udC4gIEZvbnRQbGF0Zm9ybURhdGEgd2lsbCBqdXN0IGFsd2F5cyBoYXZl
IHRoZSBkZXNpcmVkIG9yaWVudGF0aW9uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyBUaGlzIHZhbHVlIHJlcHJlc2VudHMgd2hhdCB3ZSBhY3R1YWxseSBzdXBwb3J0LgpJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2hyb21pdW1XaW4u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9u
dENocm9taXVtV2luLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1bVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0
NiwxMCArMjQ2LDExIEBAIEludFJlY3QgVHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50ZXI6OmUK
ICAgICBmb3IgKGludCBpID0gMDsgaSA8IG1fbnVtR2x5cGhzOyBpKyspCiAgICAgICAgIHRvdGFs
V2lkdGggKz0gbHJvdW5kZihtX2dseXBoQnVmZmVyLmFkdmFuY2VBdChtX2Zyb20gKyBpKSk7CiAK
LSAgICByZXR1cm4gSW50UmVjdChtX3BvaW50LngoKSAtIChtX2ZvbnQtPmFzY2VudCgpICsgbV9m
b250LT5kZXNjZW50KCkpIC8gMiwKLSAgICAgICAgICAgICAgICAgICBtX3BvaW50LnkoKSAtIG1f
Zm9udC0+YXNjZW50KCkgLSBtX2ZvbnQtPmxpbmVHYXAoKSwKLSAgICAgICAgICAgICAgICAgICB0
b3RhbFdpZHRoICsgbV9mb250LT5hc2NlbnQoKSArIG1fZm9udC0+ZGVzY2VudCgpLAotICAgICAg
ICAgICAgICAgICAgIG1fZm9udC0+bGluZVNwYWNpbmcoKSk7IAorICAgIGNvbnN0IEZvbnRNZXRy
aWNzJiBmb250TWV0cmljcyA9IG1fZm9udC0+Zm9udE1ldHJpY3MoKTsKKyAgICByZXR1cm4gSW50
UmVjdChtX3BvaW50LngoKSAtIChmb250TWV0cmljcy5hc2NlbnQoKSArIGZvbnRNZXRyaWNzLmRl
c2NlbnQoKSkgLyAyLAorICAgICAgICAgICAgICAgICAgIG1fcG9pbnQueSgpIC0gZm9udE1ldHJp
Y3MuYXNjZW50KCkgLSBmb250TWV0cmljcy5saW5lR2FwKCksCisgICAgICAgICAgICAgICAgICAg
dG90YWxXaWR0aCArIGZvbnRNZXRyaWNzLmFzY2VudCgpICsgZm9udE1ldHJpY3MuZGVzY2VudCgp
LAorICAgICAgICAgICAgICAgICAgIGZvbnRNZXRyaWNzLmxpbmVTcGFjaW5nKCkpOyAKIH0KIAog
Ym9vbCBUcmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRlcjo6ZHJhd0dseXBocyhpbnQgbnVtR2x5
cGhzLApAQCAtMjcwLDcgKzI3MSw3IEBAIGJvb2wgVHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50
ZXI6OmRyYXcKICAgICAvLyBXaW5kb3dzJyBvcmlnaW4gaXMgdGhlIHRvcC1sZWZ0IG9mIHRoZSBi
b3VuZGluZyBib3gsIHNvIHdlIGhhdmUKICAgICAvLyB0byBzdWJ0cmFjdCBvZmYgdGhlIGZvbnQg
YXNjZW50IHRvIGdldCBpdC4KICAgICBpbnQgeCA9IGxyb3VuZGYobV9wb2ludC54KCkgKyBzdGFy
dEFkdmFuY2UpOwotICAgIGludCB5ID0gbHJvdW5kZihtX3BvaW50LnkoKSAtIG1fZm9udC0+YXNj
ZW50KCkpOworICAgIGludCB5ID0gbHJvdW5kZihtX3BvaW50LnkoKSAtIG1fZm9udC0+Zm9udE1l
dHJpY3MoKS5hc2NlbnQoKSk7CiAKICAgICAvLyBJZiB0aGVyZSBpcyBhIG5vbi1ibHVyIHNoYWRv
dyBhbmQgYm90aCB0aGUgZmlsbCBjb2xvciBhbmQgc2hhZG93IGNvbG9yIAogICAgIC8vIGFyZSBv
cGFxdWUsIGhhbmRsZSB3aXRob3V0IHNraWEuIApAQCAtMzU0LDEwICszNTUsMTEgQEAgSW50UmVj
dCBUcmFuc3BhcmVuY3lBd2FyZVVuaXNjcmliZVBhaW50ZQogICAgIC8vIFRoaXMgYWxnb3JpdGht
IGZvciBlc3RpbWF0aW5nIGhvdyBtdWNoIGV4dHJhIHNwYWNlIHdlIG5lZWQgKHRoZSB0ZXh0IG1h
eQogICAgIC8vIGdvIG91dHNpZGUgdGhlIHNlbGVjdGlvbiByZWN0KSBpcyBiYXNlZCByb3VnaGx5
IG9uCiAgICAgLy8gVHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50ZXI6OmVzdGltYXRlVGV4dEJv
dW5kcyBhYm92ZS4KLSAgICByZXR1cm4gSW50UmVjdChsZWZ0IC0gKG1fZm9udC0+YXNjZW50KCkg
KyBtX2ZvbnQtPmRlc2NlbnQoKSkgLyAyLAotICAgICAgICAgICAgICAgICAgIG1fcG9pbnQueSgp
IC0gbV9mb250LT5hc2NlbnQoKSAtIG1fZm9udC0+bGluZUdhcCgpLAotICAgICAgICAgICAgICAg
ICAgIChyaWdodCAtIGxlZnQpICsgbV9mb250LT5hc2NlbnQoKSArIG1fZm9udC0+ZGVzY2VudCgp
LAotICAgICAgICAgICAgICAgICAgIG1fZm9udC0+bGluZVNwYWNpbmcoKSk7CisgICAgY29uc3Qg
Rm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gbV9mb250LT5mb250TWV0cmljcygpOworICAgIHJl
dHVybiBJbnRSZWN0KGxlZnQgLSAoZm9udE1ldHJpY3MuYXNjZW50KCkgKyBmb250TWV0cmljcy5k
ZXNjZW50KCkpIC8gMiwKKyAgICAgICAgICAgICAgICAgICBtX3BvaW50LnkoKSAtIGZvbnRNZXRy
aWNzLmFzY2VudCgpIC0gZm9udE1ldHJpY3MubGluZUdhcCgpLAorICAgICAgICAgICAgICAgICAg
IChyaWdodCAtIGxlZnQpICsgZm9udE1ldHJpY3MuYXNjZW50KCkgKyBmb250TWV0cmljcy5kZXNj
ZW50KCksCisgICAgICAgICAgICAgICAgICAgZm9udE1ldHJpY3MubGluZVNwYWNpbmcoKSk7CiB9
CiAKIH0gIC8vIG5hbWVzcGFjZQpAQCAtNDk2LDE0ICs0OTgsMTQgQEAgdm9pZCBGb250OjpkcmF3
Q29tcGxleFRleHQoR3JhcGhpY3NDb250ZQogICAgICAgICBDT0xPUlJFRiBzYXZlZFRleHRDb2xv
ciA9IEdldFRleHRDb2xvcihoZGMpOwogICAgICAgICBTZXRUZXh0Q29sb3IoaGRjLCB0ZXh0Q29s
b3IpOwogICAgICAgICBzdGF0ZS5kcmF3KGdyYXBoaWNzQ29udGV4dCwgaGRjLCBzdGF0aWNfY2Fz
dDxpbnQ+KHBvaW50LngoKSkgKyBzaGFkb3dPZmZzZXQud2lkdGgoKSwKLSAgICAgICAgICAgICAg
ICAgICBzdGF0aWNfY2FzdDxpbnQ+KHBvaW50LnkoKSAtIGFzY2VudCgpKSArIHNoYWRvd09mZnNl
dC5oZWlnaHQoKSwgZnJvbSwgdG8pOworICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGlu
dD4ocG9pbnQueSgpIC0gZm9udE1ldHJpY3MoKS5hc2NlbnQoKSkgKyBzaGFkb3dPZmZzZXQuaGVp
Z2h0KCksIGZyb20sIHRvKTsKICAgICAgICAgU2V0VGV4dENvbG9yKGhkYywgc2F2ZWRUZXh0Q29s
b3IpOyAKICAgICB9CiAKICAgICAvLyBVbmlzY3JpYmUgY291bnRzIHRoZSBjb29yZGluYXRlcyBm
cm9tIHRoZSB1cHBlciBsZWZ0LCB3aGlsZSBXZWJLaXQgdXNlcwogICAgIC8vIHRoZSBiYXNlbGlu
ZSwgc28gd2UgaGF2ZSB0byBzdWJ0cmFjdCBvZmYgdGhlIGFzY2VudC4KICAgICBzdGF0ZS5kcmF3
KGdyYXBoaWNzQ29udGV4dCwgaGRjLCBzdGF0aWNfY2FzdDxpbnQ+KHBvaW50LngoKSksCi0gICAg
ICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KHBvaW50LnkoKSAtIGFzY2VudCgpKSwgZnJvbSwg
dG8pOworICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihwb2ludC55KCkgLSBmb250TWV0
cmljcygpLmFzY2VudCgpKSwgZnJvbSwgdG8pOwogCiAgICAgY29udGV4dC0+Y2FudmFzKCktPmVu
ZFBsYXRmb3JtUGFpbnQoKTsKIH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vU2ltcGxlRm9udERhdGFDaHJvbWl1bVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNw
cAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1NpbXBsZUZvbnREYXRhQ2hyb21pdW1XaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCwxNCAr
NTQsOSBAQCBzdGF0aWMgaW5saW5lIGZsb2F0IHNjYWxlRW1Ub1VuaXRzKGZsb2F0CiB2b2lkIFNp
bXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogewogICAgIGlmICghbV9wbGF0Zm9ybURhdGEu
c2l6ZSgpKSB7Ci0gICAgICAgIG1fYXNjZW50ID0gMDsKLSAgICAgICAgbV9kZXNjZW50ID0gMDsK
LSAgICAgICAgbV9saW5lR2FwID0gMDsKLSAgICAgICAgbV9saW5lU3BhY2luZyA9IDA7CisgICAg
ICAgIG1fZm9udE1ldHJpY3MucmVzZXQoKTsKICAgICAgICAgbV9hdmdDaGFyV2lkdGggPSAwOwog
ICAgICAgICBtX21heENoYXJXaWR0aCA9IDA7Ci0gICAgICAgIG1feEhlaWdodCA9IDA7Ci0gICAg
ICAgIG1fdW5pdHNQZXJFbSA9IDA7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTgyLDEw
ICs3NywxMSBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgIG1fYXZn
Q2hhcldpZHRoID0gdGV4dE1ldHJpYy50bUF2ZUNoYXJXaWR0aDsKICAgICBtX21heENoYXJXaWR0
aCA9IHRleHRNZXRyaWMudG1NYXhDaGFyV2lkdGg7CiAKLSAgICBtX2FzY2VudCA9IHRleHRNZXRy
aWMudG1Bc2NlbnQ7Ci0gICAgbV9kZXNjZW50ID0gdGV4dE1ldHJpYy50bURlc2NlbnQ7Ci0gICAg
bV9saW5lR2FwID0gdGV4dE1ldHJpYy50bUV4dGVybmFsTGVhZGluZzsKLSAgICBtX3hIZWlnaHQg
PSBtX2FzY2VudCAqIDAuNTZmOyAgLy8gQmVzdCBndWVzcyBmb3IgeEhlaWdodCBmb3Igbm9uLVRy
dWV0eXBlIGZvbnRzLgorICAgIC8vIEZJWE1FOiBBY2Nlc3MgYXNjZW50L2Rlc2NlbnQvbGluZUdh
cCB3aXRoIGZsb2F0aW5nIHBvaW50IHByZWNpc2lvbi4KKyAgICBmbG9hdCBhc2NlbnQgPSB0ZXh0
TWV0cmljLnRtQXNjZW50OworICAgIGZsb2F0IGRlc2NlbnQgPSB0ZXh0TWV0cmljLnRtRGVzY2Vu
dDsKKyAgICBmbG9hdCBsaW5lR2FwID0gdGV4dE1ldHJpYy50bUV4dGVybmFsTGVhZGluZzsKKyAg
ICBmbG9hdCB4SGVpZ2h0ID0gYXNjZW50ICogMC41NmY7IC8vIEJlc3QgZ3Vlc3MgZm9yIHhIZWln
aHQgZm9yIG5vbi1UcnVldHlwZSBmb250cy4KIAogICAgIE9VVExJTkVURVhUTUVUUklDIG91dGxp
bmVUZXh0TWV0cmljOwogICAgIGlmIChHZXRPdXRsaW5lVGV4dE1ldHJpY3MoZGMsIHNpemVvZihv
dXRsaW5lVGV4dE1ldHJpYyksICZvdXRsaW5lVGV4dE1ldHJpYykgPiAwKSB7CkBAIC05NCwxMCAr
OTAsMTQgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICAgICAgTUFU
MiBpZGVudGl0eU1hdHJpeCA9IHt7MCwgMX0sIHswLCAwfSwgezAsIDB9LCB7MCwgMX19OwogICAg
ICAgICBEV09SRCBsZW4gPSBHZXRHbHlwaE91dGxpbmVXKGRjLCAneCcsIEdHT19NRVRSSUNTLCAm
Z2x5cGhNZXRyaWNzLCAwLCAwLCAmaWRlbnRpdHlNYXRyaXgpOwogICAgICAgICBpZiAobGVuICE9
IEdESV9FUlJPUiAmJiBnbHlwaE1ldHJpY3MuZ21CbGFja0JveFkgPiAwKQotICAgICAgICAgICAg
bV94SGVpZ2h0ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdseXBoTWV0cmljcy5nbUJsYWNrQm94WSk7
CisgICAgICAgICAgICB4SGVpZ2h0ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdseXBoTWV0cmljcy5n
bUJsYWNrQm94WSk7CiAgICAgfQogCi0gICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9k
ZXNjZW50ICsgbV9saW5lR2FwOworICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGFzY2VudCk7
CisgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGRlc2NlbnQpOworICAgIG1fZm9udE1ldHJp
Y3Muc2V0TGluZUdhcChsaW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5n
KGFzY2VudCArIGRlc2NlbnQgKyBsaW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWln
aHQoeEhlaWdodCk7CiAKICAgICBTZWxlY3RPYmplY3QoZGMsIG9sZEZvbnQpOwogICAgIFJlbGVh
c2VEQygwLCBkYyk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Np
bXBsZUZvbnREYXRhTGludXguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFMaW51eC5jcHAJKHJldmlzaW9uIDc0NDY3KQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUxpbnV4
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTUsMTQgKzU1LDkgQEAgc3RhdGljIGNvbnN0IHNpemVf
dCBtYXhWRE1YVGFibGVTaXplID0gMQogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0
KCkKIHsKICAgICBpZiAoIW1fcGxhdGZvcm1EYXRhLnNpemUoKSkgewotICAgICAgICBtX2FzY2Vu
dCA9IDA7Ci0gICAgICAgIG1fZGVzY2VudCA9IDA7Ci0gICAgICAgIG1fbGluZUdhcCA9IDA7Ci0g
ICAgICAgIG1fbGluZVNwYWNpbmcgPSAwOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnJlc2V0KCk7
CiAgICAgICAgIG1fYXZnQ2hhcldpZHRoID0gMDsKICAgICAgICAgbV9tYXhDaGFyV2lkdGggPSAw
OwotICAgICAgICBtX3hIZWlnaHQgPSAwOwotICAgICAgICBtX3VuaXRzUGVyRW0gPSAwOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCkBAIC04OCwyNiArODMsMzYgQEAgdm9pZCBTaW1wbGVGb250
RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICAgICAgZmFzdEZyZWUodmRteFRhYmxlKTsKICAgICB9
CiAKKyAgICBmbG9hdCBhc2NlbnQ7CisgICAgZmxvYXQgZGVzY2VudDsKKwogICAgIC8vIEJld2Fy
ZSB0aG9zZSB3aG8gc3RlcCBoZXJlOiBUaGlzIGNvZGUgaXMgZGVzaWduZWQgdG8gbWF0Y2ggV2lu
MzIgZm9udAogICAgIC8vIG1ldHJpY3MgKmV4YWN0bHkqLgogICAgIGlmIChpc1ZETVhWYWxpZCkg
ewotICAgICAgICBtX2FzY2VudCA9IHZkbXhBc2NlbnQ7Ci0gICAgICAgIG1fZGVzY2VudCA9IC12
ZG14RGVzY2VudDsKKyAgICAgICAgLy8gRklYTUU6IEFjY2VzcyBhc2NlbnQvZGVzY2VudCB3aXRo
IGZsb2F0aW5nIHBvaW50IHByZWNpc2lvbi4KKyAgICAgICAgYXNjZW50ID0gdmRteEFzY2VudDsK
KyAgICAgICAgZGVzY2VudCA9IC12ZG14RGVzY2VudDsKICAgICB9IGVsc2UgewogICAgICAgICBT
a1NjYWxhciBoZWlnaHQgPSAtbWV0cmljcy5mQXNjZW50ICsgbWV0cmljcy5mRGVzY2VudCArIG1l
dHJpY3MuZkxlYWRpbmc7Ci0gICAgICAgIG1fYXNjZW50ID0gU2tTY2FsYXJSb3VuZCgtbWV0cmlj
cy5mQXNjZW50KTsKLSAgICAgICAgbV9kZXNjZW50ID0gU2tTY2FsYXJSb3VuZChoZWlnaHQpIC0g
bV9hc2NlbnQ7CisgICAgICAgIGFzY2VudCA9IFNrU2NhbGFyVG9GbG9hdCgtbWV0cmljcy5mQXNj
ZW50KTsKKyAgICAgICAgZGVzY2VudCA9IFNrU2NhbGFyVG9GbG9hdChoZWlnaHQpIC0gYXNjZW50
OwogICAgIH0KIAorICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGFzY2VudCk7CisgICAgbV9m
b250TWV0cmljcy5zZXREZXNjZW50KGRlc2NlbnQpOworCisgICAgZmxvYXQgeEhlaWdodDsKICAg
ICBpZiAobWV0cmljcy5mWEhlaWdodCkKLSAgICAgICAgbV94SGVpZ2h0ID0gbWV0cmljcy5mWEhl
aWdodDsKKyAgICAgICAgeEhlaWdodCA9IG1ldHJpY3MuZlhIZWlnaHQ7CiAgICAgZWxzZSB7CiAg
ICAgICAgIC8vIGhhY2sgdGFrZW4gZnJvbSB0aGUgV2luZG93cyBwb3J0Ci0gICAgICAgIG1feEhl
aWdodCA9IHN0YXRpY19jYXN0PGZsb2F0PihtX2FzY2VudCkgKiAwLjU2OworICAgICAgICB4SGVp
Z2h0ID0gYXNjZW50ICogMC41NmY7CiAgICAgfQogCi0gICAgbV9saW5lR2FwID0gU2tTY2FsYXJS
b3VuZChtZXRyaWNzLmZMZWFkaW5nKTsKLSAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBt
X2Rlc2NlbnQgKyBtX2xpbmVHYXA7CisgICAgZmxvYXQgbGluZUdhcCA9IFNrU2NhbGFyVG9GbG9h
dChtZXRyaWNzLmZMZWFkaW5nKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZUdh
cCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhhc2NlbnQgKyBkZXNjZW50ICsg
bGluZUdhcCk7CisgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHhIZWlnaHQpOwogCiAgICAg
aWYgKG1fb3JpZW50YXRpb24gPT0gVmVydGljYWwpIHsKICAgICAgICAgc3RhdGljIGNvbnN0IHVp
bnQzMl90IHZoZWFUYWcgPSBTa1NldEZvdXJCeXRlVGFnKCd2JywgJ2gnLCAnZScsICdhJyk7CkBA
IC0xMjgsNyArMTMzLDcgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAg
ICBpZiAobWV0cmljcy5mQXZnQ2hhcldpZHRoKQogICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9IFNr
U2NhbGFyUm91bmQobWV0cmljcy5mQXZnQ2hhcldpZHRoKTsKICAgICBlbHNlIHsKLSAgICAgICAg
bV9hdmdDaGFyV2lkdGggPSBtX3hIZWlnaHQ7CisgICAgICAgIG1fYXZnQ2hhcldpZHRoID0geEhl
aWdodDsKIAogICAgICAgICBHbHlwaFBhZ2UqIGdseXBoUGFnZVplcm8gPSBHbHlwaFBhZ2VUcmVl
Tm9kZTo6Z2V0Um9vdENoaWxkKHRoaXMsIDApLT5wYWdlKCk7CiAKSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVW5pc2NyaWJlSGVscGVyVGV4dFJ1bi5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9VbmlzY3JpYmVIZWxw
ZXJUZXh0UnVuLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL1VuaXNjcmliZUhlbHBlclRleHRSdW4uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01MCw3ICs1MCw3IEBAIFVuaXNjcmliZUhlbHBlclRleHRSdW46OlVuaXNjcmliZUhlbHBlclQK
ICAgICBzZXRMZXR0ZXJTcGFjaW5nKGZvbnQubGV0dGVyU3BhY2luZygpKTsKICAgICBzZXRTcGFj
ZVdpZHRoKGZvbnQuc3BhY2VXaWR0aCgpKTsKICAgICBzZXRXb3JkU3BhY2luZyhmb250LndvcmRT
cGFjaW5nKCkpOwotICAgIHNldEFzY2VudChmb250LnByaW1hcnlGb250KCktPmFzY2VudCgpKTsK
KyAgICBzZXRBc2NlbnQoZm9udC5mb250TWV0cmljcygpLT5hc2NlbnQoKSk7CiAKICAgICBpbml0
KCk7CiAKQEAgLTEyMCw3ICsxMjAsNyBAQCBib29sIFVuaXNjcmliZUhlbHBlclRleHRSdW46Om5l
eHRXaW5Gb250CiAgICAgICAgIG1faGZvbnRzLmFwcGVuZChzaW1wbGVGb250RGF0YS0+cGxhdGZv
cm1EYXRhKCkuaGZvbnQoKSk7CiAgICAgICAgIG1fc2NyaXB0Q2FjaGVzLmFwcGVuZChzaW1wbGVG
b250RGF0YS0+cGxhdGZvcm1EYXRhKCkuc2NyaXB0Q2FjaGUoKSk7CiAgICAgICAgIG1fZm9udFBy
b3BlcnRpZXMuYXBwZW5kKHNpbXBsZUZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5zY3JpcHRGb250
UHJvcGVydGllcygpKTsKLSAgICAgICAgbV9hc2NlbnRzLmFwcGVuZChzaW1wbGVGb250RGF0YS0+
YXNjZW50KCkpOworICAgICAgICBtX2FzY2VudHMuYXBwZW5kKHNpbXBsZUZvbnREYXRhLT5mb250
TWV0cmljcygpLmFzY2VudCgpKTsKICAgICB9CiAKICAgICAqaGZvbnQgPSBtX2hmb250c1ttX2Zv
bnRJbmRleCAtIDFdOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9T
aW1wbGVGb250RGF0YUZyZWVUeXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZyZWV0eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUuY3BwCShyZXZpc2lvbiA3
NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERh
dGFGcmVlVHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwLDIxICs1MCwyNyBAQCB2b2lkIFNp
bXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgIGNhaXJvX2ZvbnRfZXh0ZW50c190IGZv
bnRfZXh0ZW50czsKICAgICBjYWlyb190ZXh0X2V4dGVudHNfdCB0ZXh0X2V4dGVudHM7CiAgICAg
Y2Fpcm9fc2NhbGVkX2ZvbnRfZXh0ZW50cyhtX3BsYXRmb3JtRGF0YS5zY2FsZWRGb250KCksICZm
b250X2V4dGVudHMpOwotICAgIG1fYXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50Pihscm91bmRmKGZv
bnRfZXh0ZW50cy5hc2NlbnQpKTsKLSAgICBtX2Rlc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KGxy
b3VuZGYoZm9udF9leHRlbnRzLmRlc2NlbnQpKTsKLSAgICBtX2xpbmVTcGFjaW5nID0gc3RhdGlj
X2Nhc3Q8aW50Pihscm91bmRmKGZvbnRfZXh0ZW50cy5oZWlnaHQpKTsKKworICAgIG1fZm9udE1l
dHJpY3Muc2V0QXNjZW50KGZvbnRfZXh0ZW50cy5hc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Mu
c2V0RGVzY2VudChmb250X2V4dGVudHMuZGVzY2VudCk7CisKICAgICAvLyBUaGVyZSBzZWVtcyB0
byBiZSBzb21lIHJvdW5kaW5nIGVycm9yIGluIGNhaXJvIChvciBpbiBob3cgd2UKICAgICAvLyB1
c2UgY2Fpcm8pIHdpdGggc29tZSBmb250cywgbGlrZSBEZWphVnUgU2FucyBNb25vLCB3aGljaCBt
YWtlcwogICAgIC8vIGNhaXJvIHJlcG9ydCBhIGhlaWdodCBzbWFsbGVyIHRoYW4gYXNjZW50ICsg
ZGVzY2VudCwgd2hpY2ggaXMKICAgICAvLyB3cm9uZyBhbmQgY29uZnVzZXMgV2ViQ29yZSdzIGxh
eW91dCBzeXN0ZW0uIFdvcmthcm91bmQgdGhpcwogICAgIC8vIHdoaWxlIHdlIGZpZ3VyZSBvdXQg
d2hhdCdzIGdvaW5nIG9uLgotICAgIGlmIChtX2xpbmVTcGFjaW5nIDwgbV9hc2NlbnQgKyBtX2Rl
c2NlbnQpCi0gICAgICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2VudDsKKyAg
ICBmbG9hdCBsaW5lU3BhY2luZyA9IGZvbnRfZXh0ZW50cy5oZWlnaHQ7CisgICAgaWYgKGxpbmVT
cGFjaW5nIDwgZm9udF9leHRlbnRzLmFzY2VudCArIGZvbnRfZXh0ZW50cy5kZXNjZW50KQorICAg
ICAgICBsaW5lU3BhY2luZyA9IGZvbnRfZXh0ZW50cy5hc2NlbnQgKyBmb250X2V4dGVudHMuZGVz
Y2VudDsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGxpbmVTcGFjaW5nKTsKKyAg
ICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZVNwYWNpbmcgLSBmb250X2V4dGVudHMuYXNj
ZW50IC0gZm9udF9leHRlbnRzLmRlc2NlbnQpOworCiAgICAgY2Fpcm9fc2NhbGVkX2ZvbnRfdGV4
dF9leHRlbnRzKG1fcGxhdGZvcm1EYXRhLnNjYWxlZEZvbnQoKSwgIngiLCAmdGV4dF9leHRlbnRz
KTsKLSAgICBtX3hIZWlnaHQgPSB0ZXh0X2V4dGVudHMuaGVpZ2h0OworICAgIG1fZm9udE1ldHJp
Y3Muc2V0WEhlaWdodCh0ZXh0X2V4dGVudHMuaGVpZ2h0KTsKKwogICAgIGNhaXJvX3NjYWxlZF9m
b250X3RleHRfZXh0ZW50cyhtX3BsYXRmb3JtRGF0YS5zY2FsZWRGb250KCksICIgIiwgJnRleHRf
ZXh0ZW50cyk7CiAgICAgbV9zcGFjZVdpZHRoID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHRleHRfZXh0
ZW50cy54X2FkdmFuY2UpOwotICAgIG1fbGluZUdhcCA9IG1fbGluZVNwYWNpbmcgLSBtX2FzY2Vu
dCAtIG1fZGVzY2VudDsKKyAgICAKICAgICBtX3N5bnRoZXRpY0JvbGRPZmZzZXQgPSBtX3BsYXRm
b3JtRGF0YS5zeW50aGV0aWNCb2xkKCkgPyAxLjBmIDogMC5mOwogfQogCkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2hhaWt1L1NpbXBsZUZvbnREYXRhSGFpa3UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvU2ltcGxlRm9udERhdGFIYWlr
dS5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlr
dS9TaW1wbGVGb250RGF0YUhhaWt1LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgsMTEgKzQ4LDEx
IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAKICAgICBmb250X2hlaWdo
dCBoZWlnaHQ7CiAgICAgZm9udC0+R2V0SGVpZ2h0KCZoZWlnaHQpOwotICAgIG1fYXNjZW50ID0g
c3RhdGljX2Nhc3Q8aW50PihoZWlnaHQuYXNjZW50KTsKLSAgICBtX2Rlc2NlbnQgPSBzdGF0aWNf
Y2FzdDxpbnQ+KGhlaWdodC5kZXNjZW50KTsKLSAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQg
KyBtX2Rlc2NlbnQ7Ci0gICAgbV94SGVpZ2h0ID0gaGVpZ2h0LmFzY2VudCAqIDAuNTZmOyAvLyBI
YWNrIHRha2VuIGZyb20gdGhlIHdpbiBwb3J0LgotICAgIG1fbGluZUdhcCA9IGhlaWdodC5sZWFk
aW5nOworICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGhlaWdodC5hc2NlbnQpOworICAgIG1f
Zm9udE1ldHJpY3Muc2V0RGVzY2VudChoZWlnaHQuZGVzY2VudCk7CisgICAgbV9mb250TWV0cmlj
cy5zZXRMaW5lU3BhY2luZyhoZWlnaHQuYXNjZW50ICsgaGVpZ2h0LmRlc2NlbnQpOworICAgIG1f
Zm9udE1ldHJpY3Muc2V0WEhlaWdodChoZWlnaHQuYXNjZW50ICogMC41NmYpOyAvLyBIYWNrIHRh
a2VuIGZyb20gdGhlIHdpbiBwb3J0LgorICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChoZWln
aHQubGVhZGluZyk7CiB9CiAKIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQ2hhcldpZHRo
SW5pdCgpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q29tcGxleFRl
eHRNYWMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0Zv
bnRDb21wbGV4VGV4dE1hYy5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvRm9udENvbXBsZXhUZXh0TWFjLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTEwLDggKzExMCw4IEBAIGZsb2F0IEZvbnQ6OmZsb2F0V2lkdGhGb3JDb21wbGV4VGV4dChjb24K
IHsKICAgICBDb21wbGV4VGV4dENvbnRyb2xsZXIgY29udHJvbGxlcih0aGlzLCBydW4sIHRydWUs
IGZhbGxiYWNrRm9udHMpOwogICAgIGlmIChnbHlwaE92ZXJmbG93KSB7Ci0gICAgICAgIGdseXBo
T3ZlcmZsb3ctPnRvcCA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYoLWNvbnRy
b2xsZXIubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSBhc2NlbnQoKSk7Ci0gICAgICAgIGdseXBo
T3ZlcmZsb3ctPmJvdHRvbSA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPmJvdHRvbSwgY2VpbGYo
Y29udHJvbGxlci5tYXhHbHlwaEJvdW5kaW5nQm94WSgpKSAtIGRlc2NlbnQoKSk7CisgICAgICAg
IGdseXBoT3ZlcmZsb3ctPnRvcCA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYo
LWNvbnRyb2xsZXIubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSBmb250TWV0cmljcygpLmFzY2Vu
dCgpKTsKKyAgICAgICAgZ2x5cGhPdmVyZmxvdy0+Ym90dG9tID0gbWF4PGludD4oZ2x5cGhPdmVy
Zmxvdy0+Ym90dG9tLCBjZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91bmRpbmdCb3hZKCkpIC0g
Zm9udE1ldHJpY3MoKS5kZXNjZW50KCkpOwogICAgICAgICBnbHlwaE92ZXJmbG93LT5sZWZ0ID0g
bWF4PGludD4oMCwgY2VpbGYoLWNvbnRyb2xsZXIubWluR2x5cGhCb3VuZGluZ0JveFgoKSkpOwog
ICAgICAgICBnbHlwaE92ZXJmbG93LT5yaWdodCA9IG1heDxpbnQ+KDAsIGNlaWxmKGNvbnRyb2xs
ZXIubWF4R2x5cGhCb3VuZGluZ0JveFgoKSAtIGNvbnRyb2xsZXIudG90YWxXaWR0aCgpKSk7CiAg
ICAgfQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udE1hYy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjLm1tCShyZXZp
c2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0J
KHdvcmtpbmcgY29weSkKQEAgLTYwLDggKzYwLDggQEAgc3RhdGljIHZvaWQgc2hvd0dseXBoc1dp
dGhBZHZhbmNlcyhjb25zdAogICAgICAgICAgICAgc2F2ZWRNYXRyaXggPSBDR0NvbnRleHRHZXRU
ZXh0TWF0cml4KGNvbnRleHQpOwogICAgICAgICAgICAgQ0dBZmZpbmVUcmFuc2Zvcm0gcnVuTWF0
cml4ID0gQ0dBZmZpbmVUcmFuc2Zvcm1Db25jYXQoc2F2ZWRNYXRyaXgsIHJvdGF0ZUxlZnRUcmFu
c2Zvcm0pOwogICAgICAgICAgICAgLy8gTW92ZSBzdGFydCBwb2ludCB0byBwdXQgZ2x5cGhzIGlu
dG8gb3JpZ2luYWwgcmVnaW9uLgotICAgICAgICAgICAgcnVuTWF0cml4LnR4ID0gc2F2ZWRNYXRy
aXgudHggKyBmb250LT5hc2NlbnQoKTsKLSAgICAgICAgICAgIHJ1bk1hdHJpeC50eSA9IHNhdmVk
TWF0cml4LnR5ICsgZm9udC0+ZGVzY2VudCgpOworICAgICAgICAgICAgcnVuTWF0cml4LnR4ID0g
c2F2ZWRNYXRyaXgudHggKyBmb250LT5mb250TWV0cmljcygpLmFzY2VudCgpOworICAgICAgICAg
ICAgcnVuTWF0cml4LnR5ID0gc2F2ZWRNYXRyaXgudHkgKyBmb250LT5mb250TWV0cmljcygpLmRl
c2NlbnQoKTsKICAgICAgICAgICAgIENHQ29udGV4dFNldFRleHRNYXRyaXgoY29udGV4dCwgcnVu
TWF0cml4KTsKICAgICAgICAgfQogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21h
Yy9TaW1wbGVGb250RGF0YU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbQkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbQkod29ya2luZyBj
b3B5KQpAQCAtMjE4LDE5ICsyMTgsMjAgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1J
bml0KCkKICAgICBpbnQgaUFzY2VudDsKICAgICBpbnQgaURlc2NlbnQ7CiAgICAgaW50IGlMaW5l
R2FwOworICAgIHVuc2lnbmVkIHVuaXRzUGVyRW07CiAjaWZkZWYgQlVJTERJTkdfT05fVElHRVIK
LSAgICB3a0dldEZvbnRNZXRyaWNzKG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpLCAmaUFzY2VudCwg
JmlEZXNjZW50LCAmaUxpbmVHYXAsICZtX3VuaXRzUGVyRW0pOworICAgIHdrR2V0Rm9udE1ldHJp
Y3MobV9wbGF0Zm9ybURhdGEuY2dGb250KCksICZpQXNjZW50LCAmaURlc2NlbnQsICZpTGluZUdh
cCwgJnVuaXRzUGVyRW0pOwogI2Vsc2UKICAgICBpQXNjZW50ID0gQ0dGb250R2V0QXNjZW50KG1f
cGxhdGZvcm1EYXRhLmNnRm9udCgpKTsKICAgICBpRGVzY2VudCA9IENHRm9udEdldERlc2NlbnQo
bV9wbGF0Zm9ybURhdGEuY2dGb250KCkpOwogICAgIGlMaW5lR2FwID0gQ0dGb250R2V0TGVhZGlu
ZyhtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSk7Ci0gICAgbV91bml0c1BlckVtID0gQ0dGb250R2V0
VW5pdHNQZXJFbShtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSk7CisgICAgdW5pdHNQZXJFbSA9IENH
Rm9udEdldFVuaXRzUGVyRW0obV9wbGF0Zm9ybURhdGEuY2dGb250KCkpOwogI2VuZGlmCiAKICAg
ICBmbG9hdCBwb2ludFNpemUgPSBtX3BsYXRmb3JtRGF0YS5tX3NpemU7Ci0gICAgZmxvYXQgZkFz
Y2VudCA9IHNjYWxlRW1Ub1VuaXRzKGlBc2NlbnQsIG1fdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7
Ci0gICAgZmxvYXQgZkRlc2NlbnQgPSAtc2NhbGVFbVRvVW5pdHMoaURlc2NlbnQsIG1fdW5pdHNQ
ZXJFbSkgKiBwb2ludFNpemU7Ci0gICAgZmxvYXQgZkxpbmVHYXAgPSBzY2FsZUVtVG9Vbml0cyhp
TGluZUdhcCwgbV91bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAgICBmbG9hdCBhc2NlbnQgPSBz
Y2FsZUVtVG9Vbml0cyhpQXNjZW50LCB1bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAgICBmbG9h
dCBkZXNjZW50ID0gLXNjYWxlRW1Ub1VuaXRzKGlEZXNjZW50LCB1bml0c1BlckVtKSAqIHBvaW50
U2l6ZTsKKyAgICBmbG9hdCBsaW5lR2FwID0gc2NhbGVFbVRvVW5pdHMoaUxpbmVHYXAsIHVuaXRz
UGVyRW0pICogcG9pbnRTaXplOwogCiAgICAgLy8gV2UgbmVlZCB0byBhZGp1c3QgVGltZXMsIEhl
bHZldGljYSwgYW5kIENvdXJpZXIgdG8gY2xvc2VseSBtYXRjaCB0aGUKICAgICAvLyB2ZXJ0aWNh
bCBtZXRyaWNzIG9mIHRoZWlyIE1pY3Jvc29mdCBjb3VudGVycGFydHMgdGhhdCBhcmUgdGhlIGRl
IGZhY3RvCkBAIC0yMzksMjUgKzI0MCwyMCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9y
bUluaXQoKQogICAgIC8vIGFuZCBhZGQgaXQgdG8gdGhlIGFzY2VudC4KICAgICBOU1N0cmluZyAq
ZmFtaWx5TmFtZSA9IFttX3BsYXRmb3JtRGF0YS5mb250KCkgZmFtaWx5TmFtZV07CiAgICAgaWYg
KFtmYW1pbHlOYW1lIGlzRXF1YWxUb1N0cmluZzpAIlRpbWVzIl0gfHwgW2ZhbWlseU5hbWUgaXNF
cXVhbFRvU3RyaW5nOkAiSGVsdmV0aWNhIl0gfHwgW2ZhbWlseU5hbWUgaXNFcXVhbFRvU3RyaW5n
OkAiQ291cmllciJdKQotICAgICAgICBmQXNjZW50ICs9IGZsb29yZigoKGZBc2NlbnQgKyBmRGVz
Y2VudCkgKiAwLjE1ZikgKyAwLjVmKTsKKyAgICAgICAgYXNjZW50ICs9IGZsb29yZigoKGFzY2Vu
dCArIGRlc2NlbnQpICogMC4xNWYpICsgMC41Zik7CiAgICAgZWxzZSBpZiAoW2ZhbWlseU5hbWUg
aXNFcXVhbFRvU3RyaW5nOkAiR2VlemEgUHJvIl0pIHsKICAgICAgICAgLy8gR2VlemEgUHJvIGhh
cyBnbHlwaHMgdGhhdCBkcmF3IHNsaWdodGx5IGFib3ZlIHRoZSBhc2NlbnQgb3IgZmFyIGJlbG93
IHRoZSBkZXNjZW50LiBBZGp1c3QKICAgICAgICAgLy8gdGhvc2UgdmVydGljYWwgbWV0cmljcyB0
byBiZXR0ZXIgbWF0Y2ggcmVhbGl0eSwgc28gdGhhdCBkaWFjcml0aWNzIGF0IHRoZSBib3R0b20g
b2Ygb25lIGxpbmUKICAgICAgICAgLy8gZG8gbm90IG92ZXJsYXAgZGlhY3JpdGljcyBhdCB0aGUg
dG9wIG9mIHRoZSBuZXh0IGxpbmUuCi0gICAgICAgIGZBc2NlbnQgKj0gMS4wOGY7Ci0gICAgICAg
IGZEZXNjZW50ICo9IDIuZjsKKyAgICAgICAgYXNjZW50ICo9IDEuMDhmOworICAgICAgICBkZXNj
ZW50ICo9IDIuZjsKICAgICB9CiAKLSAgICBtX2FzY2VudCA9IGxyb3VuZGYoZkFzY2VudCk7Ci0g
ICAgbV9kZXNjZW50ID0gbHJvdW5kZihmRGVzY2VudCk7Ci0gICAgbV9saW5lR2FwID0gbHJvdW5k
ZihmTGluZUdhcCk7Ci0gICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50ICsg
bV9saW5lR2FwOwotICAgIAogICAgIC8vIEhhY2sgSGlyYWdpbm8gbGluZSBtZXRyaWNzIHRvIGFs
bG93IHJvb20gZm9yIG1hcmtlZCB0ZXh0IHVuZGVybGluZXMuCiAgICAgLy8gPHJkYXI6Ly9wcm9i
bGVtLzUzODYxODM+Ci0gICAgaWYgKG1fZGVzY2VudCA8IDMgJiYgbV9saW5lR2FwID49IDMgJiYg
W2ZhbWlseU5hbWUgaGFzUHJlZml4OkAiSGlyYWdpbm8iXSkgewotICAgICAgICBtX2xpbmVHYXAg
LT0gMyAtIG1fZGVzY2VudDsKLSAgICAgICAgbV9kZXNjZW50ID0gMzsKKyAgICBpZiAoZGVzY2Vu
dCA8IDMgJiYgbGluZUdhcCA+PSAzICYmIFtmYW1pbHlOYW1lIGhhc1ByZWZpeDpAIkhpcmFnaW5v
Il0pIHsKKyAgICAgICAgbGluZUdhcCAtPSAzIC0gZGVzY2VudDsKKyAgICAgICAgZGVzY2VudCA9
IDM7CiAgICAgfQogICAgIAogICAgIGlmIChtX29yaWVudGF0aW9uID09IFZlcnRpY2FsKSB7CkBA
IC0yNzgsNiArMjc0LDggQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAg
ICAgICAgICAgIG1fb3JpZW50YXRpb24gPSBIb3Jpem9udGFsOwogICAgIH0KIAorICAgIGZsb2F0
IHhIZWlnaHQ7CisKICAgICAvLyBNZWFzdXJlIHRoZSBhY3R1YWwgY2hhcmFjdGVyICJ4IiwgYmVj
YXVzZSBBcHBLaXQgc3ludGhlc2l6ZXMgWCBoZWlnaHQgcmF0aGVyIHRoYW4gZ2V0dGluZyBpdCBm
cm9tIHRoZSBmb250LgogICAgIC8vIFVuZm9ydHVuYXRlbHksIE5TRm9udCB3aWxsIHJvdW5kIHRo
aXMgZm9yIHVzIHNvIHdlIGRvbid0IHF1aXRlIGdldCB0aGUgcmlnaHQgdmFsdWUuCiAgICAgR2x5
cGhQYWdlKiBnbHlwaFBhZ2VaZXJvID0gR2x5cGhQYWdlVHJlZU5vZGU6OmdldFJvb3RDaGlsZCh0
aGlzLCAwKS0+cGFnZSgpOwpAQCAtMjg4LDIxICsyODYsMjggQEAgdm9pZCBTaW1wbGVGb250RGF0
YTo6cGxhdGZvcm1Jbml0KCkKICAgICAgICAgLy8gYW5kIHdlYiBwYWdlcyB0aGF0IGZvb2xpc2hs
eSB1c2UgdGhpcyBtZXRyaWMgZm9yIHdpZHRoIHdpbGwgYmUgbGFpZCBvdXQKICAgICAgICAgLy8g
cG9vcmx5IGlmIHdlIHJldHVybiBhbiBhY2N1cmF0ZSBoZWlnaHQuIENsYXNzaWMgY2FzZSBpcyBU
aW1lcyAxMyBwb2ludCwKICAgICAgICAgLy8gd2hpY2ggaGFzIGFuICJ4IiB0aGF0IGlzIDd4NiBw
aXhlbHMuCi0gICAgICAgIG1feEhlaWdodCA9IHN0YXRpY19jYXN0PGZsb2F0PihtYXgoQ0dSZWN0
R2V0TWF4WCh4Qm94KSwgLUNHUmVjdEdldE1pblkoeEJveCkpKTsKKyAgICAgICAgeEhlaWdodCA9
IHN0YXRpY19jYXN0PGZsb2F0PihtYXgoQ0dSZWN0R2V0TWF4WCh4Qm94KSwgLUNHUmVjdEdldE1p
blkoeEJveCkpKTsKICAgICB9IGVsc2UgewogI2lmbmRlZiBCVUlMRElOR19PTl9USUdFUgotICAg
ICAgICBtX3hIZWlnaHQgPSBzdGF0aWNfY2FzdDxmbG9hdD4oQ0dGb250R2V0WEhlaWdodChtX3Bs
YXRmb3JtRGF0YS5jZ0ZvbnQoKSkpIC8gbV91bml0c1BlckVtOworICAgICAgICB4SGVpZ2h0ID0g
c3RhdGljX2Nhc3Q8ZmxvYXQ+KENHRm9udEdldFhIZWlnaHQobV9wbGF0Zm9ybURhdGEuY2dGb250
KCkpKSAvIHVuaXRzUGVyRW07CiAjZWxzZQotICAgICAgICBtX3hIZWlnaHQgPSBtX3BsYXRmb3Jt
RGF0YS5mb250KCkgPyBbbV9wbGF0Zm9ybURhdGEuZm9udCgpIHhIZWlnaHRdIDogMDsKKyAgICAg
ICAgeEhlaWdodCA9IG1fcGxhdGZvcm1EYXRhLmZvbnQoKSA/IFttX3BsYXRmb3JtRGF0YS5mb250
KCkgeEhlaWdodF0gOiAwOwogI2VuZGlmCiAgICAgICAgIC8vIENHRm9udEdldFhIZWlnaHQoKSBy
ZXR1cm5zIGEgd3JvbmcgdmFsdWUgZm9yICJBcHBsZSBTeW1ib2xzIiBmb250IChhIGZsb2F0IGNs
b3NlIHRvIDAsIGJ1dCBub3Qgc3RyaWN0bHkgMCkuCi0gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcg
Y29kZSBtYWtlcyBhIGd1ZXNzIGZvciBtX3hIZWlnaHQgaW4gdGhhdCBjYXNlLgorICAgICAgICAv
LyBUaGUgZm9sbG93aW5nIGNvZGUgbWFrZXMgYSBndWVzcyBmb3IgeEhlaWdodCBpbiB0aGF0IGNh
c2UuCiAgICAgICAgIC8vIFRoZSBpbnQgY2FzdCBpcyBhIHdvcmthcm91bmQgZm9yIHRoZSAiYWxt
b3N0IiB6ZXJvIHZhbHVlIHJldHVybmVkIGJ5IENHRm9udEdldFhIZWlnaHQoKS4KLSAgICAgICAg
aWYgKCFzdGF0aWNfY2FzdDxpbnQ+KG1feEhlaWdodCkgJiYgZkFzY2VudCkKLSAgICAgICAgICAg
IG1feEhlaWdodCA9IDIgKiBmQXNjZW50IC8gMzsKKyAgICAgICAgaWYgKCFzdGF0aWNfY2FzdDxp
bnQ+KHhIZWlnaHQpICYmIGFzY2VudCkKKyAgICAgICAgICAgIHhIZWlnaHQgPSAyICogYXNjZW50
IC8gMzsKICAgICB9CisKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFVuaXRzUGVyRW0odW5pdHNQZXJF
bSk7CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAgICBtX2ZvbnRNZXRy
aWNzLnNldERlc2NlbnQoZGVzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGxp
bmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNjZW50ICsgZGVzY2Vu
dCArIGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh4SGVpZ2h0KTsKIH0K
LSAgICAKKwogc3RhdGljIENGRGF0YVJlZiBjb3B5Rm9udFRhYmxlRm9yVGFnKEZvbnRQbGF0Zm9y
bURhdGEmIHBsYXRmb3JtRGF0YSwgRm91ckNoYXJDb2RlIHRhYmxlTmFtZSkKIHsKICNpZmRlZiBC
VUlMRElOR19PTl9USUdFUgpAQCAtMzM3LDcgKzM0Miw3IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6
OnBsYXRmb3JtQ2hhcldpZHRoSW4KICAgICBpZiAob3MyVGFibGUgJiYgQ0ZEYXRhR2V0TGVuZ3Ro
KG9zMlRhYmxlLmdldCgpKSA+PSA0KSB7CiAgICAgICAgIGNvbnN0IFVJbnQ4KiBvczIgPSBDRkRh
dGFHZXRCeXRlUHRyKG9zMlRhYmxlLmdldCgpKTsKICAgICAgICAgU0ludDE2IG9zMkF2Z0NoYXJX
aWR0aCA9IG9zMlsyXSAqIDI1NiArIG9zMlszXTsKLSAgICAgICAgbV9hdmdDaGFyV2lkdGggPSBz
Y2FsZUVtVG9Vbml0cyhvczJBdmdDaGFyV2lkdGgsIG1fdW5pdHNQZXJFbSkgKiBtX3BsYXRmb3Jt
RGF0YS5tX3NpemU7CisgICAgICAgIG1fYXZnQ2hhcldpZHRoID0gc2NhbGVFbVRvVW5pdHMob3My
QXZnQ2hhcldpZHRoLCBtX2ZvbnRNZXRyaWNzLnVuaXRzUGVyRW0oKSkgKiBtX3BsYXRmb3JtRGF0
YS5tX3NpemU7CiAgICAgfQogCiAgICAgUmV0YWluUHRyPENGRGF0YVJlZj4gaGVhZFRhYmxlKEFk
b3B0Q0YsIGNvcHlGb250VGFibGVGb3JUYWcobV9wbGF0Zm9ybURhdGEsICdoZWFkJykpOwpAQCAt
MzQ4LDcgKzM1Myw3IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQ2hhcldpZHRoSW4K
ICAgICAgICAgU0ludDE2IHhNaW4gPSBzdGF0aWNfY2FzdDxTSW50MTY+KHV4TWluKTsKICAgICAg
ICAgU0ludDE2IHhNYXggPSBzdGF0aWNfY2FzdDxTSW50MTY+KHV4TWF4KTsKICAgICAgICAgZmxv
YXQgZGlmZiA9IHN0YXRpY19jYXN0PGZsb2F0Pih4TWF4IC0geE1pbik7Ci0gICAgICAgIG1fbWF4
Q2hhcldpZHRoID0gc2NhbGVFbVRvVW5pdHMoZGlmZiwgbV91bml0c1BlckVtKSAqIG1fcGxhdGZv
cm1EYXRhLm1fc2l6ZTsKKyAgICAgICAgbV9tYXhDaGFyV2lkdGggPSBzY2FsZUVtVG9Vbml0cyhk
aWZmLCBtX2ZvbnRNZXRyaWNzLnVuaXRzUGVyRW0oKSkgKiBtX3BsYXRmb3JtRGF0YS5tX3NpemU7
CiAgICAgfQogCiAgICAgLy8gRmFsbGJhY2sgdG8gYSBjcm9zcy1wbGF0Zm9ybSBlc3RpbWF0ZSwg
d2hpY2ggd2lsbCBwb3B1bGF0ZSB0aGVzZSB2YWx1ZXMgaWYgdGhleSBhcmUgbm9uLXBvc2l0aXZl
LgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9wYW5nby9TaW1wbGVGb250RGF0YVBh
bmdvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1Np
bXBsZUZvbnREYXRhUGFuZ28uY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvcGFuZ28vU2ltcGxlRm9udERhdGFQYW5nby5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ5LDIxICs0OSwyNyBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQog
ICAgIGNhaXJvX2ZvbnRfZXh0ZW50c190IGZvbnRfZXh0ZW50czsKICAgICBjYWlyb190ZXh0X2V4
dGVudHNfdCB0ZXh0X2V4dGVudHM7CiAgICAgY2Fpcm9fc2NhbGVkX2ZvbnRfZXh0ZW50cyhtX3Bs
YXRmb3JtRGF0YS5tX3NjYWxlZEZvbnQsICZmb250X2V4dGVudHMpOwotICAgIG1fYXNjZW50ID0g
c3RhdGljX2Nhc3Q8aW50Pihscm91bmRmKGZvbnRfZXh0ZW50cy5hc2NlbnQpKTsKLSAgICBtX2Rl
c2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KGxyb3VuZGYoZm9udF9leHRlbnRzLmRlc2NlbnQpKTsK
LSAgICBtX2xpbmVTcGFjaW5nID0gc3RhdGljX2Nhc3Q8aW50Pihscm91bmRmKGZvbnRfZXh0ZW50
cy5oZWlnaHQpKTsKKworICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGZvbnRfZXh0ZW50cy5h
c2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChmb250X2V4dGVudHMuZGVzY2Vu
dCk7CisKICAgICAvLyBUaGVyZSBzZWVtcyB0byBiZSBzb21lIHJvdW5kaW5nIGVycm9yIGluIGNh
aXJvIChvciBpbiBob3cgd2UKICAgICAvLyB1c2UgY2Fpcm8pIHdpdGggc29tZSBmb250cywgbGlr
ZSBEZWphVnUgU2FucyBNb25vLCB3aGljaCBtYWtlcwogICAgIC8vIGNhaXJvIHJlcG9ydCBhIGhl
aWdodCBzbWFsbGVyIHRoYW4gYXNjZW50ICsgZGVzY2VudCwgd2hpY2ggaXMKICAgICAvLyB3cm9u
ZyBhbmQgY29uZnVzZXMgV2ViQ29yZSdzIGxheW91dCBzeXN0ZW0uIFdvcmthcm91bmQgdGhpcwog
ICAgIC8vIHdoaWxlIHdlIGZpZ3VyZSBvdXQgd2hhdCdzIGdvaW5nIG9uLgotICAgIGlmIChtX2xp
bmVTcGFjaW5nIDwgbV9hc2NlbnQgKyBtX2Rlc2NlbnQpCi0gICAgICAgIG1fbGluZVNwYWNpbmcg
PSBtX2FzY2VudCArIG1fZGVzY2VudDsKKyAgICBmbG9hdCBsaW5lU3BhY2luZyA9IGZvbnRfZXh0
ZW50cy5oZWlnaHQ7CisgICAgaWYgKGxpbmVTcGFjaW5nIDwgZm9udF9leHRlbnRzLmFzY2VudCAr
IGZvbnRfZXh0ZW50cy5kZXNjZW50KQorICAgICAgICBsaW5lU3BhY2luZyA9IGZvbnRfZXh0ZW50
cy5hc2NlbnQgKyBmb250X2V4dGVudHMuZGVzY2VudDsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExp
bmVTcGFjaW5nKGxpbmVTcGFjaW5nKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGlu
ZVNwYWNpbmcgLSBmb250X2V4dGVudHMuYXNjZW50IC0gZm9udF9leHRlbnRzLmRlc2NlbnQpOwor
CiAgICAgY2Fpcm9fc2NhbGVkX2ZvbnRfdGV4dF9leHRlbnRzKG1fcGxhdGZvcm1EYXRhLm1fc2Nh
bGVkRm9udCwgIngiLCAmdGV4dF9leHRlbnRzKTsKLSAgICBtX3hIZWlnaHQgPSB0ZXh0X2V4dGVu
dHMuaGVpZ2h0OworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh0ZXh0X2V4dGVudHMuaGVp
Z2h0KTsKKwogICAgIGNhaXJvX3NjYWxlZF9mb250X3RleHRfZXh0ZW50cyhtX3BsYXRmb3JtRGF0
YS5tX3NjYWxlZEZvbnQsICIgIiwgJnRleHRfZXh0ZW50cyk7Ci0gICAgbV9zcGFjZVdpZHRoID0g
IHN0YXRpY19jYXN0PGZsb2F0Pih0ZXh0X2V4dGVudHMueF9hZHZhbmNlKTsKLSAgICBtX2xpbmVH
YXAgPSBtX2xpbmVTcGFjaW5nIC0gbV9hc2NlbnQgLSBtX2Rlc2NlbnQ7CisgICAgbV9zcGFjZVdp
ZHRoID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHRleHRfZXh0ZW50cy54X2FkdmFuY2UpOworICAgIAog
ICAgIG1fc3ludGhldGljQm9sZE9mZnNldCA9IG1fcGxhdGZvcm1EYXRhLnN5bnRoZXRpY0JvbGQo
KSA/IDEuMGYgOiAwLmY7CiB9CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQv
U2ltcGxlRm9udERhdGFRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9xdC9TaW1wbGVGb250RGF0YVF0LmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNCw3ICsyNCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2ltcGxl
Rm9udERhdGEuaCIKIAotI2luY2x1ZGUgPFFGb250TWV0cmljcz4KKyNpbmNsdWRlIDxRRm9udE1l
dHJpY3NGPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQxLDI1ICs0MSwyMCBAQCBib29s
IFNpbXBsZUZvbnREYXRhOjpjb250YWluc0NoYXJhY3RlcnMoCiB2b2lkIFNpbXBsZUZvbnREYXRh
OjpwbGF0Zm9ybUluaXQoKQogewogICAgIGlmICghbV9wbGF0Zm9ybURhdGEuc2l6ZSgpKSB7Ci0g
ICAgICAgICBtX2FzY2VudCA9IDA7Ci0gICAgICAgICBtX2Rlc2NlbnQgPSAwOwotICAgICAgICAg
bV9saW5lR2FwID0gMDsKLSAgICAgICAgIG1fbGluZVNwYWNpbmcgPSAwOworICAgICAgICAgbV9m
b250TWV0cmljcy5yZXNldCgpOwogICAgICAgICAgbV9hdmdDaGFyV2lkdGggPSAwOwogICAgICAg
ICAgbV9tYXhDaGFyV2lkdGggPSAwOwotICAgICAgICAgbV94SGVpZ2h0ID0gMDsKLSAgICAgICAg
IG1fdW5pdHNQZXJFbSA9IDA7CiAgICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUUZvbnRN
ZXRyaWNzIGZtKG1fcGxhdGZvcm1EYXRhLmZvbnQoKSk7CisgICAgUUZvbnRNZXRyaWNzRiBmbSht
X3BsYXRmb3JtRGF0YS5mb250KCkpOwogCi0gICAgbV9hc2NlbnQgPSBmbS5hc2NlbnQoKTsKLSAg
ICBtX2Rlc2NlbnQgPSBmbS5kZXNjZW50KCk7Ci0gICAgbV9saW5lU3BhY2luZyA9IGZtLmxpbmVT
cGFjaW5nKCk7Ci0gICAgbV94SGVpZ2h0ID0gZm0ueEhlaWdodCgpOworICAgIG1fZm9udE1ldHJp
Y3Muc2V0QXNjZW50KGZtLmFzY2VudCgpKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQo
Zm0uZGVzY2VudCgpKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGZtLmxpbmVT
cGFjaW5nKCkpOworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodChmbS54SGVpZ2h0KCkpOwor
ICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChmbS5sZWFkaW5nKCkpOwogICAgIG1fc3BhY2VX
aWR0aCA9IGZtLndpZHRoKFFMYXRpbjFDaGFyKCcgJykpOwotICAgIG1fbGluZUdhcCA9IGZtLmxl
YWRpbmcoKTsKIH0KIAogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1HbHlwaEluaXQoKQpJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENHV2luLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q0dXaW4uY3BwCShyZXZp
c2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDR1dpbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE2Nyw4ICsxNjcsMTIgQEAgc3RhdGljIHZvaWQgZHJhd0dE
SUdseXBocyhHcmFwaGljc0NvbnRleAogICAgICAgICBkcmF3SW50b0JpdG1hcCA9IHRydWU7CiAg
ICAgICAgIC8vIFdlIHB1dCBzbG9wIGludG8gdGhpcyByZWN0LCBzaW5jZSBnbHlwaHMgY2FuIG92
ZXJmbG93IHRoZSBhc2NlbnQvZGVzY2VudCBib3VuZHMgYW5kIHRoZSBsZWZ0L3JpZ2h0IGVkZ2Vz
LgogICAgICAgICAvLyBGSVhNRTogQ2FuIGdldCBnbHlwaHMnIG9wdGljYWwgYm91bmRzIChldmVu
IGZyb20gQ0cpIHRvIGdldCB0aGlzIHJpZ2h0LgotICAgICAgICBpbnQgbGluZUdhcCA9IGZvbnQt
PmxpbmVHYXAoKTsKLSAgICAgICAgdGV4dFJlY3QgPSBJbnRSZWN0KHBvaW50LngoKSAtIChmb250
LT5hc2NlbnQoKSArIGZvbnQtPmRlc2NlbnQoKSkgLyAyLCBwb2ludC55KCkgLSBmb250LT5hc2Nl
bnQoKSAtIGxpbmVHYXAsIHRvdGFsV2lkdGggKyBmb250LT5hc2NlbnQoKSArIGZvbnQtPmRlc2Nl
bnQoKSwgZm9udC0+bGluZVNwYWNpbmcoKSk7CisgICAgICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBm
b250TWV0cmljcyA9IGZvbnQtPmZvbnRNZXRyaWNzKCk7CisgICAgICAgIGludCBsaW5lR2FwID0g
Zm9udE1ldHJpY3MubGluZUdhcCgpOworICAgICAgICB0ZXh0UmVjdCA9IEludFJlY3QocG9pbnQu
eCgpIC0gKGZvbnRNZXRyaWNzLmFzY2VudCgpICsgZm9udE1ldHJpY3MuZGVzY2VudCgpKSAvIDIs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludC55KCkgLSBmb250TWV0cmljcy5hc2Nl
bnQoKSAtIGxpbmVHYXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbFdpZHRoICsg
Zm9udE1ldHJpY3MuYXNjZW50KCkgKyBmb250TWV0cmljcy5kZXNjZW50KCksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICBmb250TWV0cmljcy5saW5lU3BhY2luZygpKTsKICAgICAgICAgYml0
bWFwLnNldChncmFwaGljc0NvbnRleHQtPmNyZWF0ZVdpbmRvd3NCaXRtYXAodGV4dFJlY3Quc2l6
ZSgpKSk7CiAgICAgICAgIG1lbXNldChiaXRtYXAtPmJ1ZmZlcigpLCAyNTUsIGJpdG1hcC0+YnVm
ZmVyTGVuZ3RoKCkpOwogICAgICAgICBoZGMgPSBiaXRtYXAtPmhkYygpOwpJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFdpbi5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysg
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFdpbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEyMSw4ICsxMjEsOCBAQCBmbG9hdCBGb250OjpmbG9hdFdpZHRoRm9yQ29tcGxleFRleHQo
Y29uCiAgICAgVW5pc2NyaWJlQ29udHJvbGxlciBjb250cm9sbGVyKHRoaXMsIHJ1biwgZmFsbGJh
Y2tGb250cyk7CiAgICAgY29udHJvbGxlci5hZHZhbmNlKHJ1bi5sZW5ndGgoKSk7CiAgICAgaWYg
KGdseXBoT3ZlcmZsb3cpIHsKLSAgICAgICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4PGludD4o
Z2x5cGhPdmVyZmxvdy0+dG9wLCBjZWlsZigtY29udHJvbGxlci5taW5HbHlwaEJvdW5kaW5nQm94
WSgpKSAtIGFzY2VudCgpKTsKLSAgICAgICAgZ2x5cGhPdmVyZmxvdy0+Ym90dG9tID0gbWF4PGlu
dD4oZ2x5cGhPdmVyZmxvdy0+Ym90dG9tLCBjZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91bmRp
bmdCb3hZKCkpIC0gZGVzY2VudCgpKTsKKyAgICAgICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4
PGludD4oZ2x5cGhPdmVyZmxvdy0+dG9wLCBjZWlsZigtY29udHJvbGxlci5taW5HbHlwaEJvdW5k
aW5nQm94WSgpKSAtIGZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOworICAgICAgICBnbHlwaE92ZXJm
bG93LT5ib3R0b20gPSBtYXg8aW50PihnbHlwaE92ZXJmbG93LT5ib3R0b20sIGNlaWxmKGNvbnRy
b2xsZXIubWF4R2x5cGhCb3VuZGluZ0JveFkoKSkgLSBmb250TWV0cmljcygpLmRlc2NlbnQoKSk7
CiAgICAgICAgIGdseXBoT3ZlcmZsb3ctPmxlZnQgPSBtYXg8aW50PigwLCBjZWlsZigtY29udHJv
bGxlci5taW5HbHlwaEJvdW5kaW5nQm94WCgpKSk7CiAgICAgICAgIGdseXBoT3ZlcmZsb3ctPnJp
Z2h0ID0gbWF4PGludD4oMCwgY2VpbGYoY29udHJvbGxlci5tYXhHbHlwaEJvdW5kaW5nQm94WCgp
IC0gY29udHJvbGxlci5ydW5XaWR0aFNvRmFyKCkpKTsKICAgICB9CkluZGV4OiBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNHV2luLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNHV2luLmNwcAko
cmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVG
b250RGF0YUNHV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjQsMTEgKzY0LDExIEBAIHZvaWQg
U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgaW50IGlBc2NlbnQgPSBDR0ZvbnRH
ZXRBc2NlbnQoZm9udCk7CiAgICAgaW50IGlEZXNjZW50ID0gQ0dGb250R2V0RGVzY2VudChmb250
KTsKICAgICBpbnQgaUxpbmVHYXAgPSBDR0ZvbnRHZXRMZWFkaW5nKGZvbnQpOwotICAgIG1fdW5p
dHNQZXJFbSA9IENHRm9udEdldFVuaXRzUGVyRW0oZm9udCk7CisgICAgdW5zaWduZWQgdW5pdHNQ
ZXJFbSA9IENHRm9udEdldFVuaXRzUGVyRW0oZm9udCk7CiAgICAgZmxvYXQgcG9pbnRTaXplID0g
bV9wbGF0Zm9ybURhdGEuc2l6ZSgpOwotICAgIGZsb2F0IGZBc2NlbnQgPSBzY2FsZUVtVG9Vbml0
cyhpQXNjZW50LCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXplOwotICAgIGZsb2F0IGZEZXNjZW50
ID0gLXNjYWxlRW1Ub1VuaXRzKGlEZXNjZW50LCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXplOwot
ICAgIGZsb2F0IGZMaW5lR2FwID0gc2NhbGVFbVRvVW5pdHMoaUxpbmVHYXAsIG1fdW5pdHNQZXJF
bSkgKiBwb2ludFNpemU7CisgICAgZmxvYXQgZkFzY2VudCA9IHNjYWxlRW1Ub1VuaXRzKGlBc2Nl
bnQsIHVuaXRzUGVyRW0pICogcG9pbnRTaXplOworICAgIGZsb2F0IGZEZXNjZW50ID0gLXNjYWxl
RW1Ub1VuaXRzKGlEZXNjZW50LCB1bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAgICBmbG9hdCBm
TGluZUdhcCA9IHNjYWxlRW1Ub1VuaXRzKGlMaW5lR2FwLCB1bml0c1BlckVtKSAqIHBvaW50U2l6
ZTsKIAogICAgIGlmICghaXNDdXN0b21Gb250KCkpIHsKICAgICAgICAgSERDIGRjID0gR2V0REMo
MCk7CkBAIC05MywxMCArOTMsMTAgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0
KCkKICAgICAgICAgfQogICAgIH0KIAotICAgIG1fYXNjZW50ID0gbHJvdW5kZihmQXNjZW50KTsK
LSAgICBtX2Rlc2NlbnQgPSBscm91bmRmKGZEZXNjZW50KTsKLSAgICBtX2xpbmVHYXAgPSBscm91
bmRmKGZMaW5lR2FwKTsKLSAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rlc2NlbnQg
KyBtX2xpbmVHYXA7CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoZkFzY2VudCk7CisgICAg
bV9mb250TWV0cmljcy5zZXREZXNjZW50KGZEZXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNl
dExpbmVHYXAoZkxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoZkFz
Y2VudCArIGZEZXNjZW50ICsgZkxpbmVHYXApOwogCiAgICAgLy8gTWVhc3VyZSB0aGUgYWN0dWFs
IGNoYXJhY3RlciAieCIsIGJlY2F1c2UgQXBwS2l0IHN5bnRoZXNpemVzIFggaGVpZ2h0IHJhdGhl
ciB0aGFuIGdldHRpbmcgaXQgZnJvbSB0aGUgZm9udC4KICAgICAvLyBVbmZvcnR1bmF0ZWx5LCBO
U0ZvbnQgd2lsbCByb3VuZCB0aGlzIGZvciB1cyBzbyB3ZSBkb24ndCBxdWl0ZSBnZXQgdGhlIHJp
Z2h0IHZhbHVlLgpAQCAtMTA5LDExICsxMDksMTMgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxh
dGZvcm1Jbml0KCkKICAgICAgICAgLy8gYW5kIHdlYiBwYWdlcyB0aGF0IGZvb2xpc2hseSB1c2Ug
dGhpcyBtZXRyaWMgZm9yIHdpZHRoIHdpbGwgYmUgbGFpZCBvdXQKICAgICAgICAgLy8gcG9vcmx5
IGlmIHdlIHJldHVybiBhbiBhY2N1cmF0ZSBoZWlnaHQuIENsYXNzaWMgY2FzZSBpcyBUaW1lcyAx
MyBwb2ludCwKICAgICAgICAgLy8gd2hpY2ggaGFzIGFuICJ4IiB0aGF0IGlzIDd4NiBwaXhlbHMu
Ci0gICAgICAgIG1feEhlaWdodCA9IHNjYWxlRW1Ub1VuaXRzKG1heChDR1JlY3RHZXRNYXhYKHhC
b3gpLCBDR1JlY3RHZXRNYXhZKHhCb3gpKSwgbV91bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAg
ICAgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHNjYWxlRW1Ub1VuaXRzKG1heChDR1JlY3RH
ZXRNYXhYKHhCb3gpLCBDR1JlY3RHZXRNYXhZKHhCb3gpKSwgdW5pdHNQZXJFbSkgKiBwb2ludFNp
emUpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGludCBpWEhlaWdodCA9IENHRm9udEdldFhIZWln
aHQoZm9udCk7Ci0gICAgICAgIG1feEhlaWdodCA9IHNjYWxlRW1Ub1VuaXRzKGlYSGVpZ2h0LCBt
X3VuaXRzUGVyRW0pICogcG9pbnRTaXplOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWln
aHQoc2NhbGVFbVRvVW5pdHMoaVhIZWlnaHQsIHVuaXRzUGVyRW0pICogcG9pbnRTaXplKTsKICAg
ICB9CisKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFVuaXRzUGVyRW0odW5pdHNQZXJFbSk7CiB9CiAK
IHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQ2hhcldpZHRoSW5pdCgpCkBAIC0xMzMsNyAr
MTM1LDcgQEAgRmxvYXRSZWN0IFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUJvdW5kcwogICAgIENH
UmVjdCBib3g7CiAgICAgQ0dGb250R2V0R2x5cGhCQm94ZXMobV9wbGF0Zm9ybURhdGEuY2dGb250
KCksICZnbHlwaCwgMSwgJmJveCk7CiAgICAgZmxvYXQgcG9pbnRTaXplID0gbV9wbGF0Zm9ybURh
dGEuc2l6ZSgpOwotICAgIENHRmxvYXQgc2NhbGUgPSBwb2ludFNpemUgLyB1bml0c1BlckVtKCk7
CisgICAgQ0dGbG9hdCBzY2FsZSA9IHBvaW50U2l6ZSAvIGZvbnRNZXRyaWNzKCkudW5pdHNQZXJF
bSgpOwogICAgIEZsb2F0UmVjdCBib3VuZGluZ0JveCA9IENHUmVjdEFwcGx5QWZmaW5lVHJhbnNm
b3JtKGJveCwgQ0dBZmZpbmVUcmFuc2Zvcm1NYWtlU2NhbGUoc2NhbGUsIC1zY2FsZSkpOwogICAg
IGlmIChtX3N5bnRoZXRpY0JvbGRPZmZzZXQpCiAgICAgICAgIGJvdW5kaW5nQm94LnNldFdpZHRo
KGJvdW5kaW5nQm94LndpZHRoKCkgKyBtX3N5bnRoZXRpY0JvbGRPZmZzZXQpOwpJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFDYWlyb1dpbi5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFD
YWlyb1dpbi5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vU2ltcGxlRm9udERhdGFDYWlyb1dpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDEz
ICs2MywxNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogCiAgICAgVEVY
VE1FVFJJQyB0ZXh0TWV0cmljczsKICAgICBHZXRUZXh0TWV0cmljcyhoZGMsICZ0ZXh0TWV0cmlj
cyk7Ci0gICAgbV9hc2NlbnQgPSBscm91bmRmKHRleHRNZXRyaWNzLnRtQXNjZW50ICogbWV0cmlj
c011bHRpcGxpZXIpOwotICAgIG1fZGVzY2VudCA9IGxyb3VuZGYodGV4dE1ldHJpY3MudG1EZXNj
ZW50ICogbWV0cmljc011bHRpcGxpZXIpOwotICAgIG1feEhlaWdodCA9IG1fYXNjZW50ICogMC41
NmY7IC8vIEJlc3QgZ3Vlc3MgZm9yIHhIZWlnaHQgZm9yIG5vbi1UcnVldHlwZSBmb250cy4KLSAg
ICBtX2xpbmVHYXAgPSBscm91bmRmKHRleHRNZXRyaWNzLnRtRXh0ZXJuYWxMZWFkaW5nICogbWV0
cmljc011bHRpcGxpZXIpOwotICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2Vu
dCArIG1fbGluZUdhcDsKLSAgICBtX2F2Z0NoYXJXaWR0aCA9IGxyb3VuZGYodGV4dE1ldHJpY3Mu
dG1BdmVDaGFyV2lkdGggKiBtZXRyaWNzTXVsdGlwbGllcik7Ci0gICAgbV9tYXhDaGFyV2lkdGgg
PSBscm91bmRmKHRleHRNZXRyaWNzLnRtTWF4Q2hhcldpZHRoICogbWV0cmljc011bHRpcGxpZXIp
OworICAgIGZsb2F0IGFzY2VudCA9IHRleHRNZXRyaWNzLnRtQXNjZW50ICogbWV0cmljc011bHRp
cGxpZXI7CisgICAgZmxvYXQgZGVzY2VudCA9IHRleHRNZXRyaWNzLnRtRGVzY2VudCAqIG1ldHJp
Y3NNdWx0aXBsaWVyOworICAgIGZsb2F0IHhIZWlnaHQgPSBhc2NlbnQgKiAwLjU2ZjsgLy8gQmVz
dCBndWVzcyBmb3IgeEhlaWdodCBmb3Igbm9uLVRydWV0eXBlIGZvbnRzLgorICAgIGZsb2F0IGxp
bmVHYXAgPSB0ZXh0TWV0cmljcy50bUV4dGVybmFsTGVhZGluZyAqIG1ldHJpY3NNdWx0aXBsaWVy
OworICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGFzY2VudCk7CisgICAgbV9mb250TWV0cmlj
cy5zZXREZXNjZW50KGRlc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChsaW5l
R2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGFzY2VudCArIGRlc2NlbnQg
KyBsaW5lR2FwKTsKKyAgICBtX2F2Z0NoYXJXaWR0aCA9IHRleHRNZXRyaWNzLnRtQXZlQ2hhcldp
ZHRoICogbWV0cmljc011bHRpcGxpZXI7CisgICAgbV9tYXhDaGFyV2lkdGggPSB0ZXh0TWV0cmlj
cy50bU1heENoYXJXaWR0aCAqIG1ldHJpY3NNdWx0aXBsaWVyOwogCiAgICAgT1VUTElORVRFWFRN
RVRSSUMgbWV0cmljczsKICAgICBpZiAoR2V0T3V0bGluZVRleHRNZXRyaWNzKGhkYywgc2l6ZW9m
KG1ldHJpY3MpLCAmbWV0cmljcykgPiAwKSB7CkBAIC03OCw5ICs4MSwxMCBAQCB2b2lkIFNpbXBs
ZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgICAgICBNQVQyIG1hdCA9IHsgMSwgMCwgMCwg
MSB9OwogICAgICAgICBEV09SRCBsZW4gPSBHZXRHbHlwaE91dGxpbmUoaGRjLCAneCcsIEdHT19N
RVRSSUNTLCAmZ20sIDAsIDAsICZtYXQpOwogICAgICAgICBpZiAobGVuICE9IEdESV9FUlJPUiAm
JiBnbS5nbXB0R2x5cGhPcmlnaW4ueSA+IDApCi0gICAgICAgICAgICBtX3hIZWlnaHQgPSBnbS5n
bXB0R2x5cGhPcmlnaW4ueSAqIG1ldHJpY3NNdWx0aXBsaWVyOworICAgICAgICAgICAgeEhlaWdo
dCA9IGdtLmdtcHRHbHlwaE9yaWdpbi55ICogbWV0cmljc011bHRpcGxpZXI7CiAgICAgfQogCisg
ICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHhIZWlnaHQpOwogICAgIGNhaXJvX3dpbjMyX3Nj
YWxlZF9mb250X2RvbmVfZm9udChzY2FsZWRGb250KTsKIAogICAgIG1faXNTeXN0ZW1Gb250ID0g
ZmFsc2U7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0
YVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2lt
cGxlRm9udERhdGFXaW4uY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjYs
MTQgKzY2LDkgQEAgYm9vbCBTaW1wbGVGb250RGF0YTo6c2hvdWxkQXBwbHlNYWNBc2Nlbgogdm9p
ZCBTaW1wbGVGb250RGF0YTo6aW5pdEdESUZvbnQoKQogewogICAgIGlmICghbV9wbGF0Zm9ybURh
dGEuc2l6ZSgpKSB7Ci0gICAgICAgIG1fYXNjZW50ID0gMDsKLSAgICAgICAgbV9kZXNjZW50ID0g
MDsKLSAgICAgICAgbV9saW5lR2FwID0gMDsKLSAgICAgICAgbV9saW5lU3BhY2luZyA9IDA7Cisg
ICAgICAgIG1fZm9udE1ldHJpY3MucmVzZXQoKTsKICAgICAgICAgbV9hdmdDaGFyV2lkdGggPSAw
OwogICAgICAgICBtX21heENoYXJXaWR0aCA9IDA7Ci0gICAgICAgIG1feEhlaWdodCA9IDA7Ci0g
ICAgICAgIG1fdW5pdHNQZXJFbSA9IDA7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTgy
LDIxICs3NywyNSBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjppbml0R0RJRm9udCgpCiAgICAgIE9V
VExJTkVURVhUTUVUUklDIG1ldHJpY3M7CiAgICAgIEdldE91dGxpbmVUZXh0TWV0cmljcyhoZGMs
IHNpemVvZihtZXRyaWNzKSwgJm1ldHJpY3MpOwogICAgICBURVhUTUVUUklDJiB0ZXh0TWV0cmlj
cyA9IG1ldHJpY3Mub3RtVGV4dE1ldHJpY3M7Ci0gICAgIG1fYXNjZW50ID0gdGV4dE1ldHJpY3Mu
dG1Bc2NlbnQ7Ci0gICAgIG1fZGVzY2VudCA9IHRleHRNZXRyaWNzLnRtRGVzY2VudDsKLSAgICAg
bV9saW5lR2FwID0gdGV4dE1ldHJpY3MudG1FeHRlcm5hbExlYWRpbmc7Ci0gICAgIG1fbGluZVNw
YWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2VudCArIG1fbGluZUdhcDsKKyAgICAgZmxvYXQgYXNj
ZW50ID0gdGV4dE1ldHJpY3MudG1Bc2NlbnQ7CisgICAgIGZsb2F0IGRlc2NlbnQgPSB0ZXh0TWV0
cmljcy50bURlc2NlbnQ7CisgICAgIGZsb2F0IGxpbmVHYXAgPSB0ZXh0TWV0cmljcy50bUV4dGVy
bmFsTGVhZGluZzsKKyAgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAgICAg
bV9mb250TWV0cmljcy5zZXREZXNjZW50KGRlc2NlbnQpOworICAgICBtX2ZvbnRNZXRyaWNzLnNl
dExpbmVHYXAobGluZUdhcCk7CisgICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNj
ZW50ICsgZGVzY2VudCArIGxpbmVHYXApOwogICAgICBtX2F2Z0NoYXJXaWR0aCA9IHRleHRNZXRy
aWNzLnRtQXZlQ2hhcldpZHRoOwogICAgICBtX21heENoYXJXaWR0aCA9IHRleHRNZXRyaWNzLnRt
TWF4Q2hhcldpZHRoOwotICAgICBtX3hIZWlnaHQgPSBtX2FzY2VudCAqIDAuNTZmOyAvLyBCZXN0
IGd1ZXNzIGZvciB4SGVpZ2h0IGlmIG5vIHggZ2x5cGggaXMgcHJlc2VudC4KKyAgICAgZmxvYXQg
eEhlaWdodCA9IGFzY2VudCAqIDAuNTZmOyAvLyBCZXN0IGd1ZXNzIGZvciB4SGVpZ2h0IGlmIG5v
IHggZ2x5cGggaXMgcHJlc2VudC4KIAogICAgICBHTFlQSE1FVFJJQ1MgZ207CiAgICAgIE1BVDIg
bWF0ID0geyAxLCAwLCAwLCAxIH07CiAgICAgIERXT1JEIGxlbiA9IEdldEdseXBoT3V0bGluZSho
ZGMsICd4JywgR0dPX01FVFJJQ1MsICZnbSwgMCwgMCwgJm1hdCk7CiAgICAgIGlmIChsZW4gIT0g
R0RJX0VSUk9SICYmIGdtLmdtcHRHbHlwaE9yaWdpbi55ID4gMCkKLSAgICAgICAgIG1feEhlaWdo
dCA9IGdtLmdtcHRHbHlwaE9yaWdpbi55OworICAgICAgICAgeEhlaWdodCA9IGdtLmdtcHRHbHlw
aE9yaWdpbi55OwogCi0gICAgIG1fdW5pdHNQZXJFbSA9IG1ldHJpY3Mub3RtRU1TcXVhcmU7Cisg
ICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh4SGVpZ2h0KTsKKyAgICAgbV9mb250TWV0cmlj
cy5zZXRVbml0c1BlckVtKG1ldHJpY3Mub3RtRU1TcXVhcmUpOwogCiAgICAgIFNlbGVjdE9iamVj
dChoZGMsIG9sZEZvbnQpOwogICAgICBSZWxlYXNlREMoMCwgaGRjKTsKSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2lu
Q0UuY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
Y2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTM1LDcgKzE1
MzUsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd1RleHQoY29uc3QgRm9uCiAgICAgbV9k
YXRhLT5tX29wYWNpdHkgKj0gZmlsbENvbG9yKCkuYWxwaGEoKSAvIDI1NS4wOwogCiAgICAgRmxv
YXRSZWN0IHRleHRSZWN0ID0gZm9udC5zZWxlY3Rpb25SZWN0Rm9yVGV4dChydW4sIHBvaW50LCBm
b250LmhlaWdodCgpLCBmcm9tLCB0byk7Ci0gICAgdGV4dFJlY3Quc2V0WSh0ZXh0UmVjdC55KCkg
LSBmb250LmFzY2VudCgpKTsKKyAgICB0ZXh0UmVjdC5zZXRZKHRleHRSZWN0LnkoKSAtIGZvbnQu
Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAgSW50UmVjdCB0clJlY3QgPSBlbmNsb3NpbmdJ
bnRSZWN0KG1fZGF0YS0+bWFwUmVjdCh0ZXh0UmVjdCkpOwogICAgIFJFQ1QgYm1wUmVjdDsKICAg
ICBBbHBoYVBhaW50VHlwZSBhbHBoYVBhaW50VHlwZSA9IG11c3RTdXBwb3J0QWxwaGEgPyBBbHBo
YVBhaW50T3RoZXIgOiBBbHBoYVBhaW50Tm9uZTsKQEAgLTE1NDQsNyArMTU0NCw3IEBAIHZvaWQg
R3JhcGhpY3NDb250ZXh0OjpkcmF3VGV4dChjb25zdCBGb24KICAgICAgICAgICAgIEdyYXBoaWNz
Q29udGV4dCBnYygwKTsKICAgICAgICAgICAgIGdjLnNldEJpdG1hcChibXApOwogICAgICAgICAg
ICAgZ2Muc2NhbGUoRmxvYXRTaXplKG1fZGF0YS0+bV90cmFuc2Zvcm0uYSgpLCBtX2RhdGEtPm1f
dHJhbnNmb3JtLmQoKSkpOwotICAgICAgICAgICAgZm9udC5kcmF3VGV4dCgmZ2MsIHJ1biwgSW50
UG9pbnQoMCwgZm9udC5hc2NlbnQoKSksIGZyb20sIHRvKTsKKyAgICAgICAgICAgIGZvbnQuZHJh
d1RleHQoJmdjLCBydW4sIEludFBvaW50KDAsIGZvbnQuZm9udE1ldHJpY3MoKS5hc2NlbnQoKSks
IGZyb20sIHRvKTsKICAgICAgICAgfQogICAgICAgICB1bnNpZ25lZCBrZXkxOwogICAgICAgICBI
REMgbWVtREMgPSBibXAtPmdldERDKCZrZXkxKTsKQEAgLTE1ODksNyArMTU4OSw3IEBAIHZvaWQg
R3JhcGhpY3NDb250ZXh0OjpkcmF3VGV4dChjb25zdCBTaW0KICAgICAgICAgPyBmb250RGF0YS0+
cGxhdGZvcm1EYXRhKCkuZ2V0U2NhbGVkRm9udEhhbmRsZShoZWlnaHQsIHNjYWxlWCA9PSBzY2Fs
ZVkgPyAwIDogd2lkdGgpCiAgICAgICAgIDogMDsKIAotICAgIEZsb2F0UG9pbnQgc3RhcnRQb2lu
dChwb2ludC54KCksIHBvaW50LnkoKSAtIGZvbnREYXRhLT5hc2NlbnQoKSk7CisgICAgRmxvYXRQ
b2ludCBzdGFydFBvaW50KHBvaW50LngoKSwgcG9pbnQueSgpIC0gZm9udERhdGEtPmZvbnRNZXRy
aWNzKCkuYXNjZW50KCkpOwogICAgIEZsb2F0UG9pbnQgdHJQb2ludCA9IG1fZGF0YS0+bWFwUG9p
bnQoc3RhcnRQb2ludCk7CiAgICAgaW50IHkgPSBzdGFibGVSb3VuZCh0clBvaW50LnkoKSk7CiAK
SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2ltcGxlRm9udERhdGFXaW5D
RS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9TaW1w
bGVGb250RGF0YVdpbkNFLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3dpbmNlL1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01MSwxMSArNTEsMTQgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAg
ICBjb25zdCBURVhUTUVUUklDJiB0bSA9IG1fcGxhdGZvcm1EYXRhLm1ldHJpY3MoKTsKICAgICBt
X2lzU3lzdGVtRm9udCA9IG1fcGxhdGZvcm1EYXRhLmlzU3lzdGVtRm9udCgpOwogCi0gICAgbV9h
c2NlbnQgPSAodG0udG1Bc2NlbnQgKiBtX3BsYXRmb3JtRGF0YS5zaXplKCkgKyAzNikgLyA3MjsK
LSAgICBtX2Rlc2NlbnQgPSAodG0udG1EZXNjZW50ICogbV9wbGF0Zm9ybURhdGEuc2l6ZSgpICsg
MzYpIC8gNzI7Ci0gICAgbV9saW5lR2FwID0gKHRtLnRtRXh0ZXJuYWxMZWFkaW5nICogbV9wbGF0
Zm9ybURhdGEuc2l6ZSgpICsgMzYpIC8gNzI7Ci0gICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50
ICsgbV9kZXNjZW50ICsgbV9saW5lR2FwOwotICAgIG1feEhlaWdodCA9IG1fYXNjZW50ICogMC41
NmY7CisgICAgZmxvYXQgYXNjZW50ID0gKHRtLnRtQXNjZW50ICogbV9wbGF0Zm9ybURhdGEuc2l6
ZSgpICsgMzYpIC8gNzIuMGY7CisgICAgZmxvYXQgZGVzY2VudCA9ICh0bS50bURlc2NlbnQgKiBt
X3BsYXRmb3JtRGF0YS5zaXplKCkgKyAzNikgLyA3Mi4wZjsKKyAgICBmbG9hdCBsaW5lR2FwID0g
KHRtLnRtRXh0ZXJuYWxMZWFkaW5nICogbV9wbGF0Zm9ybURhdGEuc2l6ZSgpICsgMzYpIC8gNzIu
MGY7CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAgICBtX2ZvbnRNZXRy
aWNzLnNldERlc2NlbnQoZGVzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGxp
bmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNjZW50ICsgZGVzY2Vu
dCArIGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodChhc2NlbnQgKiAwLjU2
Zik7CiB9CiAKIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtRGVzdHJveSgpCkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L1NpbXBsZUZvbnREYXRhV3guY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvU2ltcGxlRm9udERhdGFXeC5jcHAJ
KHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9TaW1wbGVG
b250RGF0YVd4LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMsMTIgKzUzLDEyIEBAIHZvaWQgU2lt
cGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgd3hGb250ICpmb250ID0gbV9wbGF0Zm9y
bURhdGEuZm9udCgpOwogICAgIGlmIChmb250ICYmIGZvbnQtPklzT2soKSkgewogICAgICAgICB3
eEZvbnRQcm9wZXJ0aWVzIHByb3BzID0gd3hGb250UHJvcGVydGllcyhmb250KTsKLSAgICAgICAg
bV9hc2NlbnQgPSBwcm9wcy5HZXRBc2NlbnQoKTsKLSAgICAgICAgbV9kZXNjZW50ID0gcHJvcHMu
R2V0RGVzY2VudCgpOwotICAgICAgICBtX2xpbmVTcGFjaW5nID0gcHJvcHMuR2V0TGluZVNwYWNp
bmcoKTsKLSAgICAgICAgbV94SGVpZ2h0ID0gcHJvcHMuR2V0WEhlaWdodCgpOwotICAgICAgICBt
X3VuaXRzUGVyRW0gPSAxOyAvLyBGSVhNRSEKLSAgICAgICAgbV9saW5lR2FwID0gcHJvcHMuR2V0
TGluZUdhcCgpOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChwcm9wcy5HZXRBc2Nl
bnQoKSk7CisgICAgICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChwcm9wcy5HZXREZXNjZW50
KCkpOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKHByb3BzLkdldExpbmVT
cGFjaW5nKCkpOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQocHJvcHMuR2V0WEhl
aWdodCgpKTsKKyAgICAgICAgbV9mb250TWV0cmljcy5zZXRVbml0c1BlckVtKDEpOyAvLyBGSVhN
RSEKKyAgICAgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKHByb3BzLkdldExpbmVHYXAoKSk7
CiAgICAgfQogCiAgICAgbV9zeW50aGV0aWNCb2xkT2Zmc2V0ID0gMC4wZjsKSW5kZXg6IFdlYkNv
cmUvcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDUsNyAr
MzA1LDcgQEAgdm9pZCBQb3B1cE1lbnVXaW46OmNhbGN1bGF0ZVBvc2l0aW9uQW5kUwogCiAgICAg
Ly8gRmlyc3QsIGRldGVybWluZSB0aGUgcG9wdXAncyBoZWlnaHQKICAgICBpbnQgaXRlbUNvdW50
ID0gY2xpZW50KCktPmxpc3RTaXplKCk7Ci0gICAgbV9pdGVtSGVpZ2h0ID0gY2xpZW50KCktPm1l
bnVTdHlsZSgpLmZvbnQoKS5oZWlnaHQoKSArIG9wdGlvblNwYWNpbmdNaWRkbGU7CisgICAgbV9p
dGVtSGVpZ2h0ID0gY2xpZW50KCktPm1lbnVTdHlsZSgpLmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkg
KyBvcHRpb25TcGFjaW5nTWlkZGxlOwogICAgIGludCBuYXR1cmFsSGVpZ2h0ID0gbV9pdGVtSGVp
Z2h0ICogaXRlbUNvdW50OwogICAgIGludCBwb3B1cEhlaWdodCA9IG1pbihtYXhQb3B1cEhlaWdo
dCwgbmF0dXJhbEhlaWdodCk7CiAgICAgLy8gVGhlIHBvcHVwIHNob3VsZCBzaG93IGFuIGludGVn
cmFsIG51bWJlciBvZiBpdGVtcyAoaS5lLiBubyBwYXJ0aWFsIGl0ZW1zIHNob3VsZCBiZSB2aXNp
YmxlKQpAQCAtNjQ4LDcgKzY0OCw3IEBAIHZvaWQgUG9wdXBNZW51V2luOjpwYWludChjb25zdCBJ
bnRSZWN0JiAKICAgICAgICAgICAgIGludCB0ZXh0WCA9IG1heCgwLCBjbGllbnQoKS0+Y2xpZW50
UGFkZGluZ0xlZnQoKSAtIGNsaWVudCgpLT5jbGllbnRJbnNldExlZnQoKSk7CiAgICAgICAgICAg
ICBpZiAoUmVuZGVyVGhlbWU6OmRlZmF1bHRUaGVtZSgpLT5wb3B1cE9wdGlvblN1cHBvcnRzVGV4
dEluZGVudCgpICYmIGl0ZW1TdHlsZS50ZXh0RGlyZWN0aW9uKCkgPT0gTFRSKQogICAgICAgICAg
ICAgICAgIHRleHRYICs9IGl0ZW1TdHlsZS50ZXh0SW5kZW50KCkuY2FsY01pblZhbHVlKGl0ZW1S
ZWN0LndpZHRoKCkpOwotICAgICAgICAgICAgaW50IHRleHRZID0gaXRlbVJlY3QueSgpICsgaXRl
bUZvbnQuYXNjZW50KCkgKyAoaXRlbVJlY3QuaGVpZ2h0KCkgLSBpdGVtRm9udC5oZWlnaHQoKSkg
LyAyOworICAgICAgICAgICAgaW50IHRleHRZID0gaXRlbVJlY3QueSgpICsgaXRlbUZvbnQuZm9u
dE1ldHJpY3MoKS5hc2NlbnQoKSArIChpdGVtUmVjdC5oZWlnaHQoKSAtIGl0ZW1Gb250LmZvbnRN
ZXRyaWNzKCkuaGVpZ2h0KCkpIC8gMjsKICAgICAgICAgICAgIGNvbnRleHQuZHJhd0JpZGlUZXh0
KGl0ZW1Gb250LCB0ZXh0UnVuLCBJbnRQb2ludCh0ZXh0WCwgdGV4dFkpKTsKICAgICAgICAgfQog
ICAgIH0KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL0VsbGlwc2lzQm94LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9FbGxpcHNpc0JveC5jcHAJKHJldmlzaW9uIDc0NDY3KQor
KysgV2ViQ29yZS9yZW5kZXJpbmcvRWxsaXBzaXNCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
MSw3ICs1MSw3IEBAIHZvaWQgRWxsaXBzaXNCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFpbnQKICAg
ICB9CiAKICAgICBjb25zdCBTdHJpbmcmIHN0ciA9IG1fc3RyOwotICAgIGNvbnRleHQtPmRyYXdU
ZXh0KHN0eWxlLT5mb250KCksIFRleHRSdW4oc3RyLmNoYXJhY3RlcnMoKSwgc3RyLmxlbmd0aCgp
LCBmYWxzZSwgMCwgMCwgZmFsc2UsIHN0eWxlLT52aXN1YWxseU9yZGVyZWQoKSksIEludFBvaW50
KG1feCArIHR4LCBtX3kgKyB0eSArIHN0eWxlLT5mb250KCkuYXNjZW50KCkpKTsKKyAgICBjb250
ZXh0LT5kcmF3VGV4dChzdHlsZS0+Zm9udCgpLCBUZXh0UnVuKHN0ci5jaGFyYWN0ZXJzKCksIHN0
ci5sZW5ndGgoKSwgZmFsc2UsIDAsIDAsIGZhbHNlLCBzdHlsZS0+dmlzdWFsbHlPcmRlcmVkKCkp
LCBJbnRQb2ludChtX3ggKyB0eCwgbV95ICsgdHkgKyBzdHlsZS0+Zm9udE1ldHJpY3MoKS5hc2Nl
bnQoKSkpOwogCiAgICAgLy8gUmVzdG9yZSB0aGUgcmVndWxhciBmaWxsIGNvbG9yLgogICAgIGlm
ICh0ZXh0Q29sb3IgIT0gY29udGV4dC0+ZmlsbENvbG9yKCkpCkBAIC02Myw3ICs2Myw3IEBAIHZv
aWQgRWxsaXBzaXNCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFpbnQKICAgICBpZiAobV9tYXJrdXBC
b3gpIHsKICAgICAgICAgLy8gUGFpbnQgdGhlIG1hcmt1cCBib3gKICAgICAgICAgdHggKz0gbV94
ICsgbV9sb2dpY2FsV2lkdGggLSBtX21hcmt1cEJveC0+eCgpOwotICAgICAgICB0eSArPSBtX3kg
KyBzdHlsZS0+Zm9udCgpLmFzY2VudCgpIC0gKG1fbWFya3VwQm94LT55KCkgKyBtX21hcmt1cEJv
eC0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCkuYXNjZW50KCkpOworICAg
ICAgICB0eSArPSBtX3kgKyBzdHlsZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSAtIChtX21hcmt1
cEJveC0+eSgpICsgbV9tYXJrdXBCb3gtPnJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+
Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAgICAgIG1fbWFya3VwQm94LT5wYWludChwYWlu
dEluZm8sIHR4LCB0eSk7CiAgICAgfQogfQpAQCAtMTA2LDcgKzEwNiw3IEBAIGJvb2wgRWxsaXBz
aXNCb3g6Om5vZGVBdFBvaW50KGNvbnN0IEhpdFQKICAgICBpZiAobV9tYXJrdXBCb3gpIHsKICAg
ICAgICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gbV9yZW5kZXJlci0+c3R5bGUobV9maXJzdExpbmUp
OwogICAgICAgICBpbnQgbXR4ID0gdHggKyBtX2xvZ2ljYWxXaWR0aCAtIG1fbWFya3VwQm94LT54
KCk7Ci0gICAgICAgIGludCBtdHkgPSB0eSArIHN0eWxlLT5mb250KCkuYXNjZW50KCkgLSAobV9t
YXJrdXBCb3gtPnkoKSArIG1fbWFya3VwQm94LT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGlu
ZSktPmZvbnQoKS5hc2NlbnQoKSk7CisgICAgICAgIGludCBtdHkgPSB0eSArIHN0eWxlLT5mb250
TWV0cmljcygpLmFzY2VudCgpIC0gKG1fbWFya3VwQm94LT55KCkgKyBtX21hcmt1cEJveC0+cmVu
ZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250TWV0cmljcygpLmFzY2VudCgpKTsKICAg
ICAgICAgaWYgKG1fbWFya3VwQm94LT5ub2RlQXRQb2ludChyZXF1ZXN0LCByZXN1bHQsIHgsIHks
IG10eCwgbXR5KSkgewogICAgICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRlSGl0VGVzdFJlc3Vs
dChyZXN1bHQsIEludFBvaW50KHggLSBtdHgsIHkgLSBtdHkpKTsKICAgICAgICAgICAgIHJldHVy
biB0cnVlOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guY3BwCShyZXZpc2lvbiA3NDQ2NykKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzLDE0
ICs5MywxNCBAQCBpbnQgSW5saW5lQm94Ojpsb2dpY2FsSGVpZ2h0KCkgY29uc3QKICNlbmRpZgog
ICAgIAogICAgIGlmIChyZW5kZXJlcigpLT5pc1RleHQoKSkKLSAgICAgICAgcmV0dXJuIG1faXNU
ZXh0ID8gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCkuaGVpZ2h0KCkgOiAw
OworICAgICAgICByZXR1cm4gbV9pc1RleHQgPyByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGlu
ZSktPmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkgOiAwOwogICAgIGlmIChyZW5kZXJlcigpLT5pc0Jv
eCgpICYmIHBhcmVudCgpKQogICAgICAgICByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyB0b1JlbmRl
ckJveChtX3JlbmRlcmVyKS0+aGVpZ2h0KCkgOiB0b1JlbmRlckJveChtX3JlbmRlcmVyKS0+d2lk
dGgoKTsKIAogICAgIEFTU0VSVChpc0lubGluZUZsb3dCb3goKSk7CiAgICAgUmVuZGVyQm94TW9k
ZWxPYmplY3QqIGZsb3dPYmplY3QgPSBib3hNb2RlbE9iamVjdCgpOwotICAgIGNvbnN0IEZvbnQm
IGZvbnQgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKTsKLSAgICBpbnQg
cmVzdWx0ID0gZm9udC5oZWlnaHQoKTsKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJp
Y3MgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnRNZXRyaWNzKCk7CisgICAg
aW50IHJlc3VsdCA9IGZvbnRNZXRyaWNzLmhlaWdodCgpOwogICAgIGlmIChwYXJlbnQoKSkKICAg
ICAgICAgcmVzdWx0ICs9IGZsb3dPYmplY3QtPmJvcmRlckFuZFBhZGRpbmdMb2dpY2FsSGVpZ2h0
KCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZs
b3dCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3gu
Y3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3gu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDgsNiArNDA4LDcgQEAgc3RhdGljIGludCB2ZXJ0aWNh
bFBvc2l0aW9uRm9yQm94KElubGluZQogICAgICAgICAKICAgICAgICAgaWYgKHZlcnRpY2FsQWxp
Z24gIT0gQkFTRUxJTkUpIHsKICAgICAgICAgICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBwYXJlbnQt
PnN0eWxlKGZpcnN0TGluZSktPmZvbnQoKTsKKyAgICAgICAgICAgIGNvbnN0IEZvbnRNZXRyaWNz
JiBmb250TWV0cmljcyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKICAgICAgICAgICAgIGludCBmb250
U2l6ZSA9IGZvbnQucGl4ZWxTaXplKCk7CiAKICAgICAgICAgICAgIExpbmVEaXJlY3Rpb25Nb2Rl
IGxpbmVEaXJlY3Rpb24gPSBwYXJlbnQtPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2Rl
KCkgPyBIb3Jpem9udGFsTGluZSA6IFZlcnRpY2FsTGluZTsKQEAgLTQxNywxMSArNDE4LDExIEBA
IHN0YXRpYyBpbnQgdmVydGljYWxQb3NpdGlvbkZvckJveChJbmxpbmUKICAgICAgICAgICAgIGVs
c2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gU1VQRVIpCiAgICAgICAgICAgICAgICAgdmVydGljYWxQ
b3NpdGlvbiAtPSBmb250U2l6ZSAvIDMgKyAxOwogICAgICAgICAgICAgZWxzZSBpZiAodmVydGlj
YWxBbGlnbiA9PSBURVhUX1RPUCkKLSAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9
IHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5l
RGlyZWN0aW9uKSAtIGZvbnQuYXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgICAgICAgICAgICAg
dmVydGljYWxQb3NpdGlvbiArPSByZW5kZXJlci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5
cGUsIGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikgLSBmb250TWV0cmljcy5hc2NlbnQoYmFzZWxp
bmVUeXBlKTsKICAgICAgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gTUlERExFKQot
ICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gLXN0YXRpY19jYXN0PGludD4oZm9u
dC54SGVpZ2h0KCkgLyAyKSAtIHJlbmRlcmVyLT5saW5lSGVpZ2h0KGZpcnN0TGluZSwgbGluZURp
cmVjdGlvbikgLyAyICsgcmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBm
aXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pOworICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRp
b24gKz0gLXN0YXRpY19jYXN0PGludD4oZm9udE1ldHJpY3MueEhlaWdodCgpIC8gMikgLSByZW5k
ZXJlci0+bGluZUhlaWdodChmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC8gMiArIHJlbmRlcmVy
LT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9u
KTsKICAgICAgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gVEVYVF9CT1RUT00pIHsK
LSAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IGZvbnQuZGVzY2VudChiYXNlbGlu
ZVR5cGUpOworICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gZm9udE1ldHJpY3Mu
ZGVzY2VudChiYXNlbGluZVR5cGUpOwogICAgICAgICAgICAgICAgIC8vIGxpbmVIZWlnaHQgLSBi
YXNlbGluZVBvc2l0aW9uIGlzIGFsd2F5cyAwIGZvciByZXBsYWNlZCBlbGVtZW50cyAoZXhjZXB0
IGlubGluZSBibG9ja3MpLCBzbyBkb24ndCBib3RoZXIgd2FzdGluZyB0aW1lIGluIHRoYXQgY2Fz
ZS4KICAgICAgICAgICAgICAgICBpZiAoIXJlbmRlcmVyLT5pc1JlcGxhY2VkKCkgfHwgcmVuZGVy
ZXItPmlzSW5saW5lQmxvY2tPcklubGluZVRhYmxlKCkpCiAgICAgICAgICAgICAgICAgICAgIHZl
cnRpY2FsUG9zaXRpb24gLT0gKHJlbmRlcmVyLT5saW5lSGVpZ2h0KGZpcnN0TGluZSwgbGluZURp
cmVjdGlvbikgLSByZW5kZXJlci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0
TGluZSwgbGluZURpcmVjdGlvbikpOwpAQCAtNTAzLDkgKzUwNCwxMCBAQCB2b2lkIElubGluZUZs
b3dCb3g6OmNvbXB1dGVMb2dpY2FsQm94SGVpCiAgICAgICAgICAgICBiYXNlbGluZSA9IDA7CiAg
ICAgICAgICAgICBpbnQgYmFzZWxpbmVUb0JvdHRvbSA9IDA7CiAgICAgICAgICAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IHVzZWRGb250cy0+c2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgICAg
ICBpbnQgaGFsZkxlYWRpbmcgPSAodXNlZEZvbnRzLT5hdChpKS0+bGluZVNwYWNpbmcoKSAtIHVz
ZWRGb250cy0+YXQoaSktPmhlaWdodCgpKSAvIDI7Ci0gICAgICAgICAgICAgICAgaW50IHVzZWRG
b250QmFzZWxpbmUgPSBoYWxmTGVhZGluZyArIHVzZWRGb250cy0+YXQoaSktPmFzY2VudChiYXNl
bGluZVR5cGUpOwotICAgICAgICAgICAgICAgIGludCB1c2VkRm9udEJhc2VsaW5lVG9Cb3R0b20g
PSB1c2VkRm9udHMtPmF0KGkpLT5saW5lU3BhY2luZygpIC0gdXNlZEZvbnRCYXNlbGluZTsKKyAg
ICAgICAgICAgICAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSB1c2VkRm9udHMt
PmF0KGkpLT5mb250TWV0cmljcygpOworICAgICAgICAgICAgICAgIGludCBoYWxmTGVhZGluZyA9
IChmb250TWV0cmljcy5saW5lU3BhY2luZygpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpIC8gMjsK
KyAgICAgICAgICAgICAgICBpbnQgdXNlZEZvbnRCYXNlbGluZSA9IGhhbGZMZWFkaW5nICsgZm9u
dE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgICAgICAgICAgICAgaW50IHVzZWRG
b250QmFzZWxpbmVUb0JvdHRvbSA9IGZvbnRNZXRyaWNzLmxpbmVTcGFjaW5nKCkgLSB1c2VkRm9u
dEJhc2VsaW5lOwogICAgICAgICAgICAgICAgIGlmICghYmFzZWxpbmVTZXQpIHsKICAgICAgICAg
ICAgICAgICAgICAgYmFzZWxpbmVTZXQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICBiYXNl
bGluZSA9IHVzZWRGb250QmFzZWxpbmU7CkBAIC01MTUsOSArNTE3LDkgQEAgdm9pZCBJbmxpbmVG
bG93Qm94Ojpjb21wdXRlTG9naWNhbEJveEhlaQogICAgICAgICAgICAgICAgICAgICBiYXNlbGlu
ZVRvQm90dG9tID0gbWF4KGJhc2VsaW5lVG9Cb3R0b20sIHVzZWRGb250QmFzZWxpbmVUb0JvdHRv
bSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGlmICghYWZmZWN0c0FzY2Vu
dCkKLSAgICAgICAgICAgICAgICAgICAgYWZmZWN0c0FzY2VudCA9IHVzZWRGb250cy0+YXQoaSkt
PmFzY2VudCgpIC0gY3Vyci0+bG9naWNhbFRvcCgpID4gMDsKKyAgICAgICAgICAgICAgICAgICAg
YWZmZWN0c0FzY2VudCA9IGZvbnRNZXRyaWNzLmFzY2VudCgpIC0gY3Vyci0+bG9naWNhbFRvcCgp
ID4gMDsKICAgICAgICAgICAgICAgICBpZiAoIWFmZmVjdHNEZXNjZW50KQotICAgICAgICAgICAg
ICAgICAgICBhZmZlY3RzRGVzY2VudCA9IHVzZWRGb250cy0+YXQoaSktPmRlc2NlbnQoKSArIGN1
cnItPmxvZ2ljYWxUb3AoKSA+IDA7CisgICAgICAgICAgICAgICAgICAgIGFmZmVjdHNEZXNjZW50
ID0gZm9udE1ldHJpY3MuZGVzY2VudCgpICsgY3Vyci0+bG9naWNhbFRvcCgpID4gMDsKICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIGxpbmVIZWlnaHQgPSBiYXNlbGluZSArIGJhc2VsaW5lVG9C
b3R0b207CiAgICAgICAgIH0gZWxzZSB7CkBAIC01MjcsMTEgKzUyOSwxMiBAQCB2b2lkIElubGlu
ZUZsb3dCb3g6OmNvbXB1dGVMb2dpY2FsQm94SGVpCiAgICAgICAgICAgICAgICAgLy8gRXhhbWlu
ZSB0aGUgZm9udCBib3ggZm9yIGlubGluZSBmbG93cyBhbmQgdGV4dCBib3hlcyB0byBzZWUgaWYg
YW55IHBhcnQgb2YgaXQgaXMgYWJvdmUgdGhlIGJhc2VsaW5lLgogICAgICAgICAgICAgICAgIC8v
IElmIHRoZSB0b3Agb2Ygb3VyIGZvbnQgYm94IHJlbGF0aXZlIHRvIHRoZSByb290IGJveCBiYXNl
bGluZSBpcyBhYm92ZSB0aGUgcm9vdCBib3ggYmFzZWxpbmUsIHRoZW4KICAgICAgICAgICAgICAg
ICAvLyB3ZSBhcmUgY29udHJpYnV0aW5nIHRvIHRoZSBtYXhBc2NlbnQgdmFsdWUuCi0gICAgICAg
ICAgICAgICAgYWZmZWN0c0FzY2VudCA9IGN1cnItPnJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RM
aW5lKS0+Zm9udCgpLmFzY2VudChiYXNlbGluZVR5cGUpIC0gY3Vyci0+bG9naWNhbFRvcCgpID4g
MDsKKyAgICAgICAgICAgICAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBjdXJy
LT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnRNZXRyaWNzKCk7CisgICAgICAg
ICAgICAgICAgYWZmZWN0c0FzY2VudCA9IGZvbnRNZXRyaWNzLmFzY2VudChiYXNlbGluZVR5cGUp
IC0gY3Vyci0+bG9naWNhbFRvcCgpID4gMDsKICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICAvLyBEZXNjZW50IGlzIHNpbWlsYXIuICBJZiBhbnkgcGFydCBvZiBvdXIgZm9udCBib3gg
aXMgYmVsb3cgdGhlIHJvb3QgYm94J3MgYmFzZWxpbmUsIHRoZW4KICAgICAgICAgICAgICAgICAv
LyB3ZSBjb250cmlidXRlIHRvIHRoZSBtYXhEZXNjZW50IHZhbHVlLgotICAgICAgICAgICAgICAg
IGFmZmVjdHNEZXNjZW50ID0gY3Vyci0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5m
b250KCkuZGVzY2VudChiYXNlbGluZVR5cGUpICsgY3Vyci0+bG9naWNhbFRvcCgpID4gMDsKKyAg
ICAgICAgICAgICAgICBhZmZlY3RzRGVzY2VudCA9IGZvbnRNZXRyaWNzLmRlc2NlbnQoYmFzZWxp
bmVUeXBlKSArIGN1cnItPmxvZ2ljYWxUb3AoKSA+IDA7CiAgICAgICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgICAgIC8vIFJlcGxhY2VkIGVsZW1lbnRzIGFsd2F5cyBhZmZlY3QgYm90aCB0
aGUgYXNjZW50IGFuZCBkZXNjZW50LgogICAgICAgICAgICAgICAgIGFmZmVjdHNBc2NlbnQgPSB0
cnVlOwpAQCAtNjA2LDggKzYwOSw4IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6cGxhY2VCb3hlc0lu
QmxvY2tEaXIKICAgICAgICAgaW50IGJveEhlaWdodEluY2x1ZGluZ01hcmdpbnMgPSBib3hIZWln
aHQ7CiAgICAgICAgICAgICAKICAgICAgICAgaWYgKGN1cnItPmlzVGV4dCgpIHx8IGN1cnItPmlz
SW5saW5lRmxvd0JveCgpKSB7Ci0gICAgICAgICAgICBjb25zdCBGb250JiBmb250ID0gY3Vyci0+
cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCk7Ci0gICAgICAgICAgICBuZXdM
b2dpY2FsVG9wICs9IGN1cnItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlKSAtIGZvbnQu
YXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgICAgICAgICBjb25zdCBGb250TWV0cmljcyYgZm9u
dE1ldHJpY3MgPSBjdXJyLT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnRNZXRy
aWNzKCk7CisgICAgICAgICAgICBuZXdMb2dpY2FsVG9wICs9IGN1cnItPmJhc2VsaW5lUG9zaXRp
b24oYmFzZWxpbmVUeXBlKSAtIGZvbnRNZXRyaWNzLmFzY2VudChiYXNlbGluZVR5cGUpOwogICAg
ICAgICAgICAgaWYgKGN1cnItPmlzSW5saW5lRmxvd0JveCgpKSB7CiAgICAgICAgICAgICAgICAg
UmVuZGVyQm94TW9kZWxPYmplY3QqIGJveE9iamVjdCA9IHRvUmVuZGVyQm94TW9kZWxPYmplY3Qo
Y3Vyci0+cmVuZGVyZXIoKSk7CiAgICAgICAgICAgICAgICAgbmV3TG9naWNhbFRvcCAtPSBib3hP
YmplY3QtPnN0eWxlKG1fZmlyc3RMaW5lKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGJv
eE9iamVjdC0+Ym9yZGVyVG9wKCkgKyBib3hPYmplY3QtPnBhZGRpbmdUb3AoKSA6IApAQCAtNjY1
LDggKzY2OCw4IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6cGxhY2VCb3hlc0luQmxvY2tEaXIKICAg
ICB9CiAKICAgICBpZiAoaXNSb290SW5saW5lQm94KCkpIHsKLSAgICAgICAgY29uc3QgRm9udCYg
Zm9udCA9IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpOwotICAgICAgICBz
ZXRMb2dpY2FsVG9wKGxvZ2ljYWxUb3AoKSArIGJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBl
KSAtIGZvbnQuYXNjZW50KGJhc2VsaW5lVHlwZSkpOworICAgICAgICBjb25zdCBGb250TWV0cmlj
cyYgZm9udE1ldHJpY3MgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnRNZXRy
aWNzKCk7CisgICAgICAgIHNldExvZ2ljYWxUb3AobG9naWNhbFRvcCgpICsgYmFzZWxpbmVQb3Np
dGlvbihiYXNlbGluZVR5cGUpIC0gZm9udE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlwZSkpOwog
ICAgICAgICAKICAgICAgICAgaWYgKGhhc1RleHRDaGlsZHJlbigpIHx8IHN0cmljdE1vZGUpIHsK
ICAgICAgICAgICAgIGlmICghc2V0TGluZVRvcCkgewpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
SW5saW5lVGV4dEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5l
VGV4dEJveC5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5l
VGV4dEJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1Nyw3ICs0NTcsNyBAQCB2b2lkIElubGlu
ZVRleHRCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFpCiAgICAgSW50UG9pbnQgYm94T3JpZ2luID0g
bG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpOwogICAgIGJveE9yaWdpbi5tb3ZlKHR4LCB0eSk7
ICAgIAogICAgIEludFJlY3QgYm94UmVjdChib3hPcmlnaW4sIEludFNpemUobG9naWNhbFdpZHRo
KCksIGxvZ2ljYWxIZWlnaHQoKSkpOwotICAgIEludFBvaW50IHRleHRPcmlnaW4gPSBJbnRQb2lu
dChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpICsgc3R5bGVUb1VzZS0+Zm9udCgpLmFzY2Vu
dCgpKTsKKyAgICBJbnRQb2ludCB0ZXh0T3JpZ2luID0gSW50UG9pbnQoYm94T3JpZ2luLngoKSwg
Ym94T3JpZ2luLnkoKSArIHN0eWxlVG9Vc2UtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwogCiAg
ICAgaWYgKCFpc0hvcml6b250YWwoKSkgewogICAgICAgICBjb250ZXh0LT5zYXZlKCk7CkBAIC01
OTcsOSArNTk3LDkgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludChQYWludEluZm8mIHBhaQog
ICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZW1waGFzaXNNYXJrID0gc3R5bGVUb1VzZS0+dGV4dEVt
cGhhc2lzTWFya1N0cmluZygpOwogICAgIGlmICghZW1waGFzaXNNYXJrLmlzRW1wdHkoKSkgewog
ICAgICAgICBpZiAoc3R5bGVUb1VzZS0+dGV4dEVtcGhhc2lzUG9zaXRpb24oKSA9PSBUZXh0RW1w
aGFzaXNQb3NpdGlvbk92ZXIpCi0gICAgICAgICAgICBlbXBoYXNpc01hcmtPZmZzZXQgPSAtZm9u
dC5hc2NlbnQoKSAtIGZvbnQuZW1waGFzaXNNYXJrRGVzY2VudChlbXBoYXNpc01hcmspOworICAg
ICAgICAgICAgZW1waGFzaXNNYXJrT2Zmc2V0ID0gLWZvbnQuZm9udE1ldHJpY3MoKS5hc2NlbnQo
KSAtIGZvbnQuZW1waGFzaXNNYXJrRGVzY2VudChlbXBoYXNpc01hcmspOwogICAgICAgICBlbHNl
Ci0gICAgICAgICAgICBlbXBoYXNpc01hcmtPZmZzZXQgPSBmb250LmRlc2NlbnQoKSArIGZvbnQu
ZW1waGFzaXNNYXJrQXNjZW50KGVtcGhhc2lzTWFyayk7CisgICAgICAgICAgICBlbXBoYXNpc01h
cmtPZmZzZXQgPSBmb250LmZvbnRNZXRyaWNzKCkuZGVzY2VudCgpICsgZm9udC5lbXBoYXNpc01h
cmtBc2NlbnQoZW1waGFzaXNNYXJrKTsKICAgICB9CiAKICAgICBpZiAoIXBhaW50U2VsZWN0ZWRU
ZXh0T25seSkgewpAQCAtODExLDcgKzgxMSw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRE
ZWNvcmF0aW9uKEdyYXAKICAgICBib29sIGxpbmVzQXJlT3BhcXVlID0gIWlzUHJpbnRpbmcgJiYg
KCEoZGVjbyAmIFVOREVSTElORSkgfHwgdW5kZXJsaW5lLmFscGhhKCkgPT0gMjU1KSAmJiAoIShk
ZWNvICYgT1ZFUkxJTkUpIHx8IG92ZXJsaW5lLmFscGhhKCkgPT0gMjU1KSAmJiAoIShkZWNvICYg
TElORV9USFJPVUdIKSB8fCBsaW5ldGhyb3VnaC5hbHBoYSgpID09IDI1NSk7CiAKICAgICBSZW5k
ZXJTdHlsZSogc3R5bGVUb1VzZSA9IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKTsKLSAg
ICBpbnQgYmFzZWxpbmUgPSBzdHlsZVRvVXNlLT5mb250KCkuYXNjZW50KCk7CisgICAgaW50IGJh
c2VsaW5lID0gc3R5bGVUb1VzZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKTsKIAogICAgIGJvb2wg
c2V0Q2xpcCA9IGZhbHNlOwogICAgIGludCBleHRyYU9mZnNldCA9IDA7CkBAIC05NDQsNyArOTQ0
LDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxsaW5nT3JHcmFtbQogICAgIC8vIFNv
LCB3ZSBnZW5lcmFsbHkgcGxhY2UgdGhlIHVuZGVybGluZSBhdCB0aGUgYm90dG9tIG9mIHRoZSB0
ZXh0LCBidXQgaW4gbGFyZ2VyIGZvbnRzIHRoYXQncyBub3Qgc28gZ29vZCBzbwogICAgIC8vIHdl
IHBpbiB0byB0d28gcGl4ZWxzIHVuZGVyIHRoZSBiYXNlbGluZS4KICAgICBpbnQgbGluZVRoaWNr
bmVzcyA9IGNNaXNzcGVsbGluZ0xpbmVUaGlja25lc3M7Ci0gICAgaW50IGJhc2VsaW5lID0gcmVu
ZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCkuYXNjZW50KCk7CisgICAgaW50IGJh
c2VsaW5lID0gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250TWV0cmljcygpLmFz
Y2VudCgpOwogICAgIGludCBkZXNjZW50ID0gbG9naWNhbEhlaWdodCgpIC0gYmFzZWxpbmU7CiAg
ICAgaW50IHVuZGVybGluZU9mZnNldDsKICAgICBpZiAoZGVzY2VudCA8PSAoMiArIGxpbmVUaGlj
a25lc3MpKSB7CkBAIC0xMTAxLDcgKzExMDEsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50
Q29tcG9zaXRpb25VbmRlCiAgICAgLy8gQWxsIG90aGVyIG1hcmtlZCB0ZXh0IHVuZGVybGluZXMg
YXJlIDFweCB0aGljay4KICAgICAvLyBJZiB0aGVyZSdzIG5vdCBlbm91Z2ggc3BhY2UgdGhlIHVu
ZGVybGluZSB3aWxsIHRvdWNoIG9yIG92ZXJsYXAgY2hhcmFjdGVycy4KICAgICBpbnQgbGluZVRo
aWNrbmVzcyA9IDE7Ci0gICAgaW50IGJhc2VsaW5lID0gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJz
dExpbmUpLT5mb250KCkuYXNjZW50KCk7CisgICAgaW50IGJhc2VsaW5lID0gcmVuZGVyZXIoKS0+
c3R5bGUobV9maXJzdExpbmUpLT5mb250TWV0cmljcygpLmFzY2VudCgpOwogICAgIGlmICh1bmRl
cmxpbmUudGhpY2sgJiYgbG9naWNhbEhlaWdodCgpIC0gYmFzZWxpbmUgPj0gMikKICAgICAgICAg
bGluZVRoaWNrbmVzcyA9IDI7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHJl
dmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00OTYwLDggKzQ5NjAsOCBAQCBpbnQgUmVuZGVyQmxvY2s6OmJhc2VsaW5l
UG9zaXRpb24oRm9udEJhCiAgICAgICAgIHJldHVybiBSZW5kZXJCb3g6OmJhc2VsaW5lUG9zaXRp
b24oYmFzZWxpbmVUeXBlLCBmaXJzdExpbmUsIGRpcmVjdGlvbiwgbGluZVBvc2l0aW9uTW9kZSk7
CiAgICAgfQogCi0gICAgY29uc3QgRm9udCYgZiA9IHN0eWxlKGZpcnN0TGluZSktPmZvbnQoKTsK
LSAgICByZXR1cm4gZi5hc2NlbnQoYmFzZWxpbmVUeXBlKSArIChsaW5lSGVpZ2h0KGZpcnN0TGlu
ZSwgZGlyZWN0aW9uLCBsaW5lUG9zaXRpb25Nb2RlKSAtIGYuaGVpZ2h0KCkpIC8gMjsKKyAgICBj
b25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBzdHlsZShmaXJzdExpbmUpLT5mb250TWV0
cmljcygpOworICAgIHJldHVybiBmb250TWV0cmljcy5hc2NlbnQoYmFzZWxpbmVUeXBlKSArIChs
aW5lSGVpZ2h0KGZpcnN0TGluZSwgZGlyZWN0aW9uLCBsaW5lUG9zaXRpb25Nb2RlKSAtIGZvbnRN
ZXRyaWNzLmhlaWdodCgpKSAvIDI7CiB9CiAKIGludCBSZW5kZXJCbG9jazo6Zmlyc3RMaW5lQm94
QmFzZWxpbmUoKSBjb25zdApAQCAtNDk3MSw3ICs0OTcxLDcgQEAgaW50IFJlbmRlckJsb2NrOjpm
aXJzdExpbmVCb3hCYXNlbGluZSgpIAogCiAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpIHsKICAg
ICAgICAgaWYgKGZpcnN0TGluZUJveCgpKQotICAgICAgICAgICAgcmV0dXJuIGZpcnN0TGluZUJv
eCgpLT5sb2dpY2FsVG9wKCkgKyBzdHlsZSh0cnVlKS0+Zm9udCgpLmFzY2VudChmaXJzdFJvb3RC
b3goKS0+YmFzZWxpbmVUeXBlKCkpOworICAgICAgICAgICAgcmV0dXJuIGZpcnN0TGluZUJveCgp
LT5sb2dpY2FsVG9wKCkgKyBzdHlsZSh0cnVlKS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoZmlyc3RS
b290Qm94KCktPmJhc2VsaW5lVHlwZSgpKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmV0
dXJuIC0xOwogICAgIH0KQEAgLTQ5OTcsMTEgKzQ5OTcsMTMgQEAgaW50IFJlbmRlckJsb2NrOjps
YXN0TGluZUJveEJhc2VsaW5lKCkgYwogCiAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpIHsKICAg
ICAgICAgaWYgKCFmaXJzdExpbmVCb3goKSAmJiBoYXNMaW5lSWZFbXB0eSgpKSB7Ci0gICAgICAg
ICAgICBjb25zdCBGb250JiBmID0gZmlyc3RMaW5lU3R5bGUoKS0+Zm9udCgpOwotICAgICAgICAg
ICAgcmV0dXJuIGYuYXNjZW50KCkgKyAobGluZUhlaWdodCh0cnVlLCBsaW5lRGlyZWN0aW9uLCBQ
b3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpIC0gZi5oZWlnaHQoKSkgLyAyICsgKGxpbmVEaXJl
Y3Rpb24gPT0gSG9yaXpvbnRhbExpbmUgPyBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKSA6IGJv
cmRlclJpZ2h0KCkgKyBwYWRkaW5nUmlnaHQoKSk7CisgICAgICAgICAgICBjb25zdCBGb250TWV0
cmljcyYgZm9udE1ldHJpY3MgPSBmaXJzdExpbmVTdHlsZSgpLT5mb250TWV0cmljcygpOworICAg
ICAgICAgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmFzY2VudCgpCisgICAgICAgICAgICAgICAgICsg
KGxpbmVIZWlnaHQodHJ1ZSwgbGluZURpcmVjdGlvbiwgUG9zaXRpb25PZkludGVyaW9yTGluZUJv
eGVzKSAtIGZvbnRNZXRyaWNzLmhlaWdodCgpKSAvIDIKKyAgICAgICAgICAgICAgICAgKyAobGlu
ZURpcmVjdGlvbiA9PSBIb3Jpem9udGFsTGluZSA/IGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgp
IDogYm9yZGVyUmlnaHQoKSArIHBhZGRpbmdSaWdodCgpKTsKICAgICAgICAgfQogICAgICAgICBp
ZiAobGFzdExpbmVCb3goKSkKLSAgICAgICAgICAgIHJldHVybiBsYXN0TGluZUJveCgpLT5sb2dp
Y2FsVG9wKCkgKyBzdHlsZShsYXN0TGluZUJveCgpID09IGZpcnN0TGluZUJveCgpKS0+Zm9udCgp
LmFzY2VudChsYXN0Um9vdEJveCgpLT5iYXNlbGluZVR5cGUoKSk7CisgICAgICAgICAgICByZXR1
cm4gbGFzdExpbmVCb3goKS0+bG9naWNhbFRvcCgpICsgc3R5bGUobGFzdExpbmVCb3goKSA9PSBm
aXJzdExpbmVCb3goKSktPmZvbnRNZXRyaWNzKCkuYXNjZW50KGxhc3RSb290Qm94KCktPmJhc2Vs
aW5lVHlwZSgpKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGJv
b2wgaGF2ZU5vcm1hbEZsb3dDaGlsZCA9IGZhbHNlOwpAQCAtNTAxNCw4ICs1MDE2LDEwIEBAIGlu
dCBSZW5kZXJCbG9jazo6bGFzdExpbmVCb3hCYXNlbGluZSgpIGMKICAgICAgICAgICAgIH0KICAg
ICAgICAgfQogICAgICAgICBpZiAoIWhhdmVOb3JtYWxGbG93Q2hpbGQgJiYgaGFzTGluZUlmRW1w
dHkoKSkgewotICAgICAgICAgICAgY29uc3QgRm9udCYgZiA9IGZpcnN0TGluZVN0eWxlKCktPmZv
bnQoKTsKLSAgICAgICAgICAgIHJldHVybiBmLmFzY2VudCgpICsgKGxpbmVIZWlnaHQodHJ1ZSwg
bGluZURpcmVjdGlvbiwgUG9zaXRpb25PZkludGVyaW9yTGluZUJveGVzKSAtIGYuaGVpZ2h0KCkp
IC8gMiArIChsaW5lRGlyZWN0aW9uID09IEhvcml6b250YWxMaW5lID8gYm9yZGVyVG9wKCkgKyBw
YWRkaW5nVG9wKCkgOiBib3JkZXJSaWdodCgpICsgcGFkZGluZ1JpZ2h0KCkpOworICAgICAgICAg
ICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZmlyc3RMaW5lU3R5bGUoKS0+Zm9u
dE1ldHJpY3MoKTsKKyAgICAgICAgICAgIHJldHVybiBmb250TWV0cmljcy5hc2NlbnQoKQorICAg
ICAgICAgICAgICAgICArIChsaW5lSGVpZ2h0KHRydWUsIGxpbmVEaXJlY3Rpb24sIFBvc2l0aW9u
T2ZJbnRlcmlvckxpbmVCb3hlcykgLSBmb250TWV0cmljcy5oZWlnaHQoKSkgLyAyCisgICAgICAg
ICAgICAgICAgICsgKGxpbmVEaXJlY3Rpb24gPT0gSG9yaXpvbnRhbExpbmUgPyBib3JkZXJUb3Ao
KSArIHBhZGRpbmdUb3AoKSA6IGJvcmRlclJpZ2h0KCkgKyBwYWRkaW5nUmlnaHQoKSk7CiAgICAg
ICAgIH0KICAgICB9CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkocmV2aXNpb24gNzQ0
NjcpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yOTY0LDcgKzI5NjQsNyBAQCBJbnRSZWN0IFJlbmRlckJveDo6bG9jYWxDYXJldFJlY3QoSW5s
aW5lCiAgICAgLy8gPHJkYXI6Ly9wcm9ibGVtLzM3Nzc4MDQ+IERlbGV0aW5nIGFsbCBjb250ZW50
IGluIGEgZG9jdW1lbnQgY2FuIHJlc3VsdCBpbiBnaWFudCB0YWxsLWFzLXdpbmRvdyBpbnNlcnRp
b24gcG9pbnQKICAgICAvLwogICAgIC8vIEZJWE1FOiBpZ25vcmluZyA6Zmlyc3QtbGluZSwgbWlz
c2luZyBnb29kIHJlYXNvbiB0byB0YWtlIGNhcmUgb2YKLSAgICBpbnQgZm9udEhlaWdodCA9IHN0
eWxlKCktPmZvbnQoKS5oZWlnaHQoKTsKKyAgICBpbnQgZm9udEhlaWdodCA9IHN0eWxlKCktPmZv
bnRNZXRyaWNzKCkuaGVpZ2h0KCk7CiAgICAgaWYgKGZvbnRIZWlnaHQgPiByZWN0LmhlaWdodCgp
IHx8ICghaXNSZXBsYWNlZCgpICYmICFpc1RhYmxlKCkpKQogICAgICAgICByZWN0LnNldEhlaWdo
dChmb250SGVpZ2h0KTsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRP
YmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVk
T2JqZWN0LmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJF
bWJlZGRlZE9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3MCw4ICsxNzAsOSBAQCB2b2lk
IFJlbmRlckVtYmVkZGVkT2JqZWN0OjpwYWludFJlcGxhY2VkCiAgICAgY29udGV4dC0+c2V0Rmls
bENvbG9yKG1fbWlzc2luZ1BsdWdpbkluZGljYXRvcklzUHJlc3NlZCA/IHJlcGxhY2VtZW50VGV4
dFJvdW5kZWRSZWN0UHJlc3NlZENvbG9yKCkgOiBDb2xvcjo6d2hpdGUsIHN0eWxlKCktPmNvbG9y
U3BhY2UoKSk7CiAgICAgY29udGV4dC0+ZmlsbFBhdGgocGF0aCk7CiAKKyAgICBjb25zdCBGb250
TWV0cmljcyYgZm9udE1ldHJpY3MgPSBmb250LmZvbnRNZXRyaWNzKCk7CiAgICAgZmxvYXQgbGFi
ZWxYID0gcm91bmRmKHJlcGxhY2VtZW50VGV4dFJlY3QubG9jYXRpb24oKS54KCkgKyAocmVwbGFj
ZW1lbnRUZXh0UmVjdC5zaXplKCkud2lkdGgoKSAtIHRleHRXaWR0aCkgLyAyKTsKLSAgICBmbG9h
dCBsYWJlbFkgPSByb3VuZGYocmVwbGFjZW1lbnRUZXh0UmVjdC5sb2NhdGlvbigpLnkoKSArIChy
ZXBsYWNlbWVudFRleHRSZWN0LnNpemUoKS5oZWlnaHQoKSAtIGZvbnQuaGVpZ2h0KCkpIC8gMiAr
IGZvbnQuYXNjZW50KCkpOworICAgIGZsb2F0IGxhYmVsWSA9IHJvdW5kZihyZXBsYWNlbWVudFRl
eHRSZWN0LmxvY2F0aW9uKCkueSgpICsgKHJlcGxhY2VtZW50VGV4dFJlY3Quc2l6ZSgpLmhlaWdo
dCgpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpIC8gMiArIGZvbnRNZXRyaWNzLmFzY2VudCgpKTsK
ICAgICBjb250ZXh0LT5zZXRBbHBoYShtX21pc3NpbmdQbHVnaW5JbmRpY2F0b3JJc1ByZXNzZWQg
PyByZXBsYWNlbWVudFRleHRQcmVzc2VkVGV4dE9wYWNpdHkgOiByZXBsYWNlbWVudFRleHRUZXh0
T3BhY2l0eSk7CiAgICAgY29udGV4dC0+c2V0RmlsbENvbG9yKENvbG9yOjpibGFjaywgc3R5bGUo
KS0+Y29sb3JTcGFjZSgpKTsKICAgICBjb250ZXh0LT5kcmF3QmlkaVRleHQoZm9udCwgcnVuLCBG
bG9hdFBvaW50KGxhYmVsWCwgbGFiZWxZKSk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbWFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2Uu
Y3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTExLDcgKzExMSw3IEBAIGJvb2wgUmVuZGVySW1hZ2U6OnNl
dEltYWdlU2l6ZUZvckFsdFRleHQKICAgICAvLyB3ZSBoYXZlIGFuIGFsdCBhbmQgdGhlIHVzZXIg
bWVhbnQgaXQgKGl0cyBub3QgYSB0ZXh0IHdlIGludmVudGVkKQogICAgIGlmICghbV9hbHRUZXh0
LmlzRW1wdHkoKSkgewogICAgICAgICBjb25zdCBGb250JiBmb250ID0gc3R5bGUoKS0+Zm9udCgp
OwotICAgICAgICBJbnRTaXplIHRleHRTaXplKG1pbihmb250LndpZHRoKFRleHRSdW4obV9hbHRU
ZXh0LmNoYXJhY3RlcnMoKSwgbV9hbHRUZXh0Lmxlbmd0aCgpKSksIG1heEFsdFRleHRXaWR0aCks
IG1pbihmb250LmhlaWdodCgpLCBtYXhBbHRUZXh0SGVpZ2h0KSk7CisgICAgICAgIEludFNpemUg
dGV4dFNpemUobWluKGZvbnQud2lkdGgoVGV4dFJ1bihtX2FsdFRleHQuY2hhcmFjdGVycygpLCBt
X2FsdFRleHQubGVuZ3RoKCkpKSwgbWF4QWx0VGV4dFdpZHRoKSwgbWluKGZvbnQuZm9udE1ldHJp
Y3MoKS5oZWlnaHQoKSwgbWF4QWx0VGV4dEhlaWdodCkpOwogICAgICAgICBpbWFnZVNpemUgPSBp
bWFnZVNpemUuZXhwYW5kZWRUbyh0ZXh0U2l6ZSk7CiAgICAgfQogCkBAIC0yODgsMTcgKzI4OCwx
OCBAQCB2b2lkIFJlbmRlckltYWdlOjpwYWludFJlcGxhY2VkKFBhaW50SW5mCiAgICAgICAgICAg
ICAgICAgaW50IGF4ID0gdHggKyBsZWZ0Qm9yZGVyICsgbGVmdFBhZDsKICAgICAgICAgICAgICAg
ICBpbnQgYXkgPSB0eSArIHRvcEJvcmRlciArIHRvcFBhZDsKICAgICAgICAgICAgICAgICBjb25z
dCBGb250JiBmb250ID0gc3R5bGUoKS0+Zm9udCgpOwotICAgICAgICAgICAgICAgIGludCBhc2Nl
bnQgPSBmb250LmFzY2VudCgpOworICAgICAgICAgICAgICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBm
b250TWV0cmljcyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKKyAgICAgICAgICAgICAgICBpbnQgYXNj
ZW50ID0gZm9udE1ldHJpY3MuYXNjZW50KCk7CiAKICAgICAgICAgICAgICAgICAvLyBPbmx5IGRy
YXcgdGhlIGFsdCB0ZXh0IGlmIGl0J2xsIGZpdCB3aXRoaW4gdGhlIGNvbnRlbnQgYm94LAogICAg
ICAgICAgICAgICAgIC8vIGFuZCBvbmx5IGlmIGl0IGZpdHMgYWJvdmUgdGhlIGVycm9yIGltYWdl
LgogICAgICAgICAgICAgICAgIFRleHRSdW4gdGV4dFJ1bih0ZXh0LmNoYXJhY3RlcnMoKSwgdGV4
dC5sZW5ndGgoKSk7CiAgICAgICAgICAgICAgICAgaW50IHRleHRXaWR0aCA9IGZvbnQud2lkdGgo
dGV4dFJ1bik7CiAgICAgICAgICAgICAgICAgaWYgKGVycm9yUGljdHVyZURyYXduKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmICh1c2FibGVXaWR0aCA+PSB0ZXh0V2lkdGggJiYgZm9udC5oZWln
aHQoKSA8PSBpbWFnZVkpCi0gICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT5kcmF3VGV4
dChzdHlsZSgpLT5mb250KCksIHRleHRSdW4sIEludFBvaW50KGF4LCBheSArIGFzY2VudCkpOwot
ICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodXNhYmxlV2lkdGggPj0gdGV4dFdpZHRoICYmIGNI
ZWlnaHQgPj0gZm9udC5oZWlnaHQoKSkKLSAgICAgICAgICAgICAgICAgICAgY29udGV4dC0+ZHJh
d1RleHQoc3R5bGUoKS0+Zm9udCgpLCB0ZXh0UnVuLCBJbnRQb2ludChheCwgYXkgKyBhc2NlbnQp
KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHVzYWJsZVdpZHRoID49IHRleHRXaWR0aCAmJiBm
b250TWV0cmljcy5oZWlnaHQoKSA8PSBpbWFnZVkpCisgICAgICAgICAgICAgICAgICAgICAgICBj
b250ZXh0LT5kcmF3VGV4dChmb250LCB0ZXh0UnVuLCBJbnRQb2ludChheCwgYXkgKyBhc2NlbnQp
KTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHVzYWJsZVdpZHRoID49IHRleHRXaWR0aCAm
JiBjSGVpZ2h0ID49IGZvbnRNZXRyaWNzLmhlaWdodCgpKQorICAgICAgICAgICAgICAgICAgICBj
b250ZXh0LT5kcmF3VGV4dChmb250LCB0ZXh0UnVuLCBJbnRQb2ludChheCwgYXkgKyBhc2NlbnQp
KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAobV9pbWFnZVJlc291
cmNlLT5oYXNJbWFnZSgpICYmIGNXaWR0aCA+IDAgJiYgY0hlaWdodCA+IDApIHsKSW5kZXg6IFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MDQsOCArOTA0LDgg
QEAgaW50IFJlbmRlcklubGluZTo6bGluZUhlaWdodChib29sIGZpcnN0TAogCiBpbnQgUmVuZGVy
SW5saW5lOjpiYXNlbGluZVBvc2l0aW9uKEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUsIGJvb2wg
Zmlyc3RMaW5lLCBMaW5lRGlyZWN0aW9uTW9kZSBkaXJlY3Rpb24sIExpbmVQb3NpdGlvbk1vZGUg
bGluZVBvc2l0aW9uTW9kZSkgY29uc3QKIHsKLSAgICBjb25zdCBGb250JiBmID0gc3R5bGUoZmly
c3RMaW5lKS0+Zm9udCgpOwotICAgIHJldHVybiBmLmFzY2VudChiYXNlbGluZVR5cGUpICsgKGxp
bmVIZWlnaHQoZmlyc3RMaW5lLCBkaXJlY3Rpb24sIGxpbmVQb3NpdGlvbk1vZGUpIC0gZi5oZWln
aHQoKSkgLyAyOworICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IHN0eWxlKGZp
cnN0TGluZSktPmZvbnRNZXRyaWNzKCk7CisgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmFzY2VudChi
YXNlbGluZVR5cGUpICsgKGxpbmVIZWlnaHQoZmlyc3RMaW5lLCBkaXJlY3Rpb24sIGxpbmVQb3Np
dGlvbk1vZGUpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpIC8gMjsKIH0KIAogSW50U2l6ZSBSZW5k
ZXJJbmxpbmU6OnJlbGF0aXZlUG9zaXRpb25lZElubGluZU9mZnNldChjb25zdCBSZW5kZXJCb3gq
IGNoaWxkKSBjb25zdApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAJKHJldmlz
aW9uIDc0NDY3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMwNiw3ICszMDYsNyBAQCB2b2lkIFJlbmRlckxpc3RCb3g6OnBhaW50SXRl
bUZvcmVncm91bmQoCiAKICAgICAvLyBEZXRlcm1pbmUgd2hlcmUgdGhlIGl0ZW0gdGV4dCBzaG91
bGQgYmUgcGxhY2VkCiAgICAgSW50UmVjdCByID0gaXRlbUJvdW5kaW5nQm94UmVjdCh0eCwgdHks
IGxpc3RJbmRleCk7Ci0gICAgci5tb3ZlKG9wdGlvbnNTcGFjaW5nSG9yaXpvbnRhbCwgc3R5bGUo
KS0+Zm9udCgpLmFzY2VudCgpKTsKKyAgICByLm1vdmUob3B0aW9uc1NwYWNpbmdIb3Jpem9udGFs
LCBzdHlsZSgpLT5mb250TWV0cmljcygpLmFzY2VudCgpKTsKIAogICAgIFJlbmRlclN0eWxlKiBp
dGVtU3R5bGUgPSBlbGVtZW50LT5yZW5kZXJTdHlsZSgpOwogICAgIGlmICghaXRlbVN0eWxlKQpA
QCAtNTUxLDcgKzU1MSw3IEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6dmFsdWVDaGFuZ2VkKFNjcm9s
bGIKIAogaW50IFJlbmRlckxpc3RCb3g6Oml0ZW1IZWlnaHQoKSBjb25zdAogewotICAgIHJldHVy
biBzdHlsZSgpLT5mb250KCkuaGVpZ2h0KCkgKyByb3dTcGFjaW5nOworICAgIHJldHVybiBzdHls
ZSgpLT5mb250TWV0cmljcygpLmhlaWdodCgpICsgcm93U3BhY2luZzsKIH0KIAogaW50IFJlbmRl
ckxpc3RCb3g6OnZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgoKSBjb25zdApJbmRleDogV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNjQsNyAr
MTI2NCw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6cGFpbnQoUGFpbnRJbmZvJiAKICAgICAg
ICAgY29udGV4dC0+dHJhbnNsYXRlKC1tYXJrZXIueCgpLCAtbWFya2VyLmJvdHRvbSgpKTsKICAg
ICB9CiAKLSAgICBJbnRQb2ludCB0ZXh0T3JpZ2luID0gSW50UG9pbnQobWFya2VyLngoKSwgbWFy
a2VyLnkoKSArIHN0eWxlKCktPmZvbnQoKS5hc2NlbnQoKSk7CisgICAgSW50UG9pbnQgdGV4dE9y
aWdpbiA9IEludFBvaW50KG1hcmtlci54KCksIG1hcmtlci55KCkgKyBzdHlsZSgpLT5mb250TWV0
cmljcygpLmFzY2VudCgpKTsKIAogICAgIGlmICh0eXBlID09IEFzdGVyaXNrcyB8fCB0eXBlID09
IEZvb3Rub3RlcykKICAgICAgICAgY29udGV4dC0+ZHJhd1RleHQoc3R5bGUoKS0+Zm9udCgpLCB0
ZXh0UnVuLCB0ZXh0T3JpZ2luKTsKQEAgLTEzMTAsNyArMTMxMCw3IEBAIHZvaWQgUmVuZGVyTGlz
dE1hcmtlcjo6bGF5b3V0KCkKICAgICAgICAgc2V0SGVpZ2h0KG1faW1hZ2UtPmltYWdlU2l6ZSh0
aGlzLCBzdHlsZSgpLT5lZmZlY3RpdmVab29tKCkpLmhlaWdodCgpKTsKICAgICB9IGVsc2Ugewog
ICAgICAgICBzZXRMb2dpY2FsV2lkdGgobWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkpOwotICAg
ICAgICBzZXRMb2dpY2FsSGVpZ2h0KHN0eWxlKCktPmZvbnQoKS5oZWlnaHQoKSk7CisgICAgICAg
IHNldExvZ2ljYWxIZWlnaHQoc3R5bGUoKS0+Zm9udE1ldHJpY3MoKS5oZWlnaHQoKSk7CiAgICAg
fQogCiAgICAgc2V0TWFyZ2luU3RhcnQoMCk7CkBAIC0xMzQ1LDExICsxMzQ1LDEyIEBAIHZvaWQg
UmVuZGVyTGlzdE1hcmtlcjo6Y29tcHV0ZVByZWZlcnJlZEwKICAgICBtX3RleHQgPSAiIjsKIAog
ICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHlsZSgpLT5mb250KCk7CisgICAgY29uc3QgRm9udE1l
dHJpY3MmIGZvbnRNZXRyaWNzID0gZm9udC5mb250TWV0cmljcygpOwogCiAgICAgaWYgKGlzSW1h
Z2UoKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBpcyBhIHNvbWV3aGF0IGFyYml0cmFyeSB3
aWR0aC4gIEdlbmVyYXRlZCBpbWFnZXMgZm9yIG1hcmtlcnMgcmVhbGx5IHdvbid0IGJlY29tZSBw
YXJ0aWN1bGFybHkgdXNlZnVsCiAgICAgICAgIC8vIHVudGlsIHdlIHN1cHBvcnQgdGhlIENTUzMg
bWFya2VyIHBzZXVkb2NsYXNzIHRvIGFsbG93IGNvbnRyb2wgb3ZlciB0aGUgd2lkdGggYW5kIGhl
aWdodCBvZiB0aGUgbWFya2VyIGJveC4KLSAgICAgICAgaW50IGJ1bGxldFdpZHRoID0gZm9udC5h
c2NlbnQoKSAvIDI7CisgICAgICAgIGludCBidWxsZXRXaWR0aCA9IGZvbnRNZXRyaWNzLmFzY2Vu
dCgpIC8gMjsKICAgICAgICAgbV9pbWFnZS0+c2V0SW1hZ2VDb250YWluZXJTaXplKEludFNpemUo
YnVsbGV0V2lkdGgsIGJ1bGxldFdpZHRoKSk7CiAgICAgICAgIEludFNpemUgaW1hZ2VTaXplID0g
bV9pbWFnZS0+aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCktPmVmZmVjdGl2ZVpvb20oKSk7CiAgICAg
ICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbV9tYXhQcmVmZXJyZWRMb2dpY2FsV2lk
dGggPSBzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gaW1hZ2VTaXplLndpZHRo
KCkgOiBpbWFnZVNpemUuaGVpZ2h0KCk7CkBAIC0xMzcyLDcgKzEzNzMsNyBAQCB2b2lkIFJlbmRl
ckxpc3RNYXJrZXI6OmNvbXB1dGVQcmVmZXJyZWRMCiAgICAgICAgIGNhc2UgRGlzYzoKICAgICAg
ICAgY2FzZSBTcXVhcmU6CiAgICAgICAgICAgICBtX3RleHQgPSBsaXN0TWFya2VyVGV4dCh0eXBl
LCAwKTsgLy8gdmFsdWUgaXMgaWdub3JlZCBmb3IgdGhlc2UgdHlwZXMKLSAgICAgICAgICAgIGxv
Z2ljYWxXaWR0aCA9IChmb250LmFzY2VudCgpICogMiAvIDMgKyAxKSAvIDIgKyAyOworICAgICAg
ICAgICAgbG9naWNhbFdpZHRoID0gKGZvbnRNZXRyaWNzLmFzY2VudCgpICogMiAvIDMgKyAxKSAv
IDIgKyAyOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQWZhcjoKICAgICAgICAg
Y2FzZSBBbWhhcmljOgpAQCAtMTQ3MSw3ICsxNDcyLDcgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2Vy
Ojpjb21wdXRlUHJlZmVycmVkTAogCiB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZU1hcmdp
bnMoKQogewotICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHlsZSgpLT5mb250KCk7CisgICAgY29u
c3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gc3R5bGUoKS0+Zm9udE1ldHJpY3MoKTsKIAog
ICAgIGludCBtYXJnaW5TdGFydCA9IDA7CiAgICAgaW50IG1hcmdpbkVuZCA9IDA7CkBAIC0xNDg0
LDcgKzE0ODUsNyBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZU1hcmdpbnMoKQogICAg
ICAgICAgICAgY2FzZSBDaXJjbGU6CiAgICAgICAgICAgICBjYXNlIFNxdWFyZToKICAgICAgICAg
ICAgICAgICBtYXJnaW5TdGFydCA9IC0xOwotICAgICAgICAgICAgICAgIG1hcmdpbkVuZCA9IGZv
bnQuYXNjZW50KCkgLSBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSArIDE7CisgICAgICAgICAg
ICAgICAgbWFyZ2luRW5kID0gZm9udE1ldHJpY3MuYXNjZW50KCkgLSBtaW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGgoKSArIDE7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBkZWZh
dWx0OgogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTQ5NCw3ICsxNDk1LDcgQEAgdm9pZCBS
ZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVNYXJnaW5zKCkKICAgICAgICAgICAgIGlmIChpc0ltYWdl
KCkpCiAgICAgICAgICAgICAgICAgbWFyZ2luU3RhcnQgPSAtbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoKCkgLSBjTWFya2VyUGFkZGluZzsKICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAg
ICAgIGludCBvZmZzZXQgPSBmb250LmFzY2VudCgpICogMiAvIDM7CisgICAgICAgICAgICAgICAg
aW50IG9mZnNldCA9IGZvbnRNZXRyaWNzLmFzY2VudCgpICogMiAvIDM7CiAgICAgICAgICAgICAg
ICAgc3dpdGNoIChzdHlsZSgpLT5saXN0U3R5bGVUeXBlKCkpIHsKICAgICAgICAgICAgICAgICAg
ICAgY2FzZSBEaXNjOgogICAgICAgICAgICAgICAgICAgICBjYXNlIENpcmNsZToKQEAgLTE1MTIs
NyArMTUxMyw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6dXBkYXRlTWFyZ2lucygpCiAgICAg
ICAgICAgICBpZiAoaXNJbWFnZSgpKQogICAgICAgICAgICAgICAgIG1hcmdpbkVuZCA9IGNNYXJr
ZXJQYWRkaW5nOwogICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgaW50IG9mZnNl
dCA9IGZvbnQuYXNjZW50KCkgKiAyIC8gMzsKKyAgICAgICAgICAgICAgICBpbnQgb2Zmc2V0ID0g
Zm9udE1ldHJpY3MuYXNjZW50KCkgKiAyIC8gMzsKICAgICAgICAgICAgICAgICBzd2l0Y2ggKHN0
eWxlKCktPmxpc3RTdHlsZVR5cGUoKSkgewogICAgICAgICAgICAgICAgICAgICBjYXNlIERpc2M6
CiAgICAgICAgICAgICAgICAgICAgIGNhc2UgQ2lyY2xlOgpAQCAtMTU4MywxNSArMTU4NCwxNSBA
QCBJbnRSZWN0IFJlbmRlckxpc3RNYXJrZXI6OmdldFJlbGF0aXZlTWFyCiAgICAgICAgIGNhc2Ug
QXN0ZXJpc2tzOgogICAgICAgICBjYXNlIEZvb3Rub3RlczogewogICAgICAgICAgICAgY29uc3Qg
Rm9udCYgZm9udCA9IHN0eWxlKCktPmZvbnQoKTsKLSAgICAgICAgICAgIHJlbGF0aXZlUmVjdCA9
IEludFJlY3QoMCwgMCwgZm9udC53aWR0aChtX3RleHQpLCBmb250LmhlaWdodCgpKTsKKyAgICAg
ICAgICAgIHJlbGF0aXZlUmVjdCA9IEludFJlY3QoMCwgMCwgZm9udC53aWR0aChtX3RleHQpLCBm
b250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KICAgICAgICAgY2FzZSBEaXNjOgogICAgICAgICBjYXNlIENpcmNsZToKICAgICAgICAgY2Fz
ZSBTcXVhcmU6IHsKICAgICAgICAgICAgIC8vIEZJWE1FOiBBcmUgdGhlc2UgcGFydGljdWxhciBy
b3VuZGluZyBydWxlcyBuZWNlc3Nhcnk/Ci0gICAgICAgICAgICBjb25zdCBGb250JiBmb250ID0g
c3R5bGUoKS0+Zm9udCgpOwotICAgICAgICAgICAgaW50IGFzY2VudCA9IGZvbnQuYXNjZW50KCk7
CisgICAgICAgICAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBzdHlsZSgpLT5m
b250TWV0cmljcygpOworICAgICAgICAgICAgaW50IGFzY2VudCA9IGZvbnRNZXRyaWNzLmFzY2Vu
dCgpOwogICAgICAgICAgICAgaW50IGJ1bGxldFdpZHRoID0gKGFzY2VudCAqIDIgLyAzICsgMSkg
LyAyOwogICAgICAgICAgICAgcmVsYXRpdmVSZWN0ID0gSW50UmVjdCgxLCAzICogKGFzY2VudCAt
IGFzY2VudCAqIDIgLyAzKSAvIDIsIGJ1bGxldFdpZHRoLCBidWxsZXRXaWR0aCk7CiAgICAgICAg
ICAgICBicmVhazsKQEAgLTE2NzksNyArMTY4MCw3IEBAIEludFJlY3QgUmVuZGVyTGlzdE1hcmtl
cjo6Z2V0UmVsYXRpdmVNYXIKICAgICAgICAgICAgIGludCBpdGVtV2lkdGggPSBmb250LndpZHRo
KG1fdGV4dCk7CiAgICAgICAgICAgICBVQ2hhciBzdWZmaXhTcGFjZVsyXSA9IHsgbGlzdE1hcmtl
clN1ZmZpeCh0eXBlLCBtX2xpc3RJdGVtLT52YWx1ZSgpKSwgJyAnIH07CiAgICAgICAgICAgICBp
bnQgc3VmZml4U3BhY2VXaWR0aCA9IGZvbnQud2lkdGgoVGV4dFJ1bihzdWZmaXhTcGFjZSwgMikp
OwotICAgICAgICAgICAgcmVsYXRpdmVSZWN0ID0gSW50UmVjdCgwLCAwLCBpdGVtV2lkdGggKyBz
dWZmaXhTcGFjZVdpZHRoLCBmb250LmhlaWdodCgpKTsKKyAgICAgICAgICAgIHJlbGF0aXZlUmVj
dCA9IEludFJlY3QoMCwgMCwgaXRlbVdpZHRoICsgc3VmZml4U3BhY2VXaWR0aCwgZm9udC5mb250
TWV0cmljcygpLmhlaWdodCgpKTsKICAgICB9CiAKICAgICBpZiAoIXN0eWxlKCktPmlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkpIHsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRD
b250cm9sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29u
dHJvbC5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dENvbnRyb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MDcsNyArNjA3LDcgQEAgdm9pZCBSZW5k
ZXJUZXh0Q29udHJvbDo6cGFpbnRQbGFjZWhvbGRlcgogICAgIFJlbmRlckJveCogdGV4dFJlbmRl
cmVyID0gaW5uZXJUZXh0RWxlbWVudCgpID8gaW5uZXJUZXh0RWxlbWVudCgpLT5yZW5kZXJCb3go
KSA6IDA7CiAgICAgaWYgKHRleHRSZW5kZXJlcikgewogICAgICAgICBJbnRQb2ludCB0ZXh0UG9p
bnQ7Ci0gICAgICAgIHRleHRQb2ludC5zZXRZKHR5ICsgdGV4dEJsb2NrSW5zZXRUb3AoKSArIHBs
YWNlaG9sZGVyU3R5bGUtPmZvbnQoKS5hc2NlbnQoKSk7CisgICAgICAgIHRleHRQb2ludC5zZXRZ
KHR5ICsgdGV4dEJsb2NrSW5zZXRUb3AoKSArIHBsYWNlaG9sZGVyU3R5bGUtPmZvbnRNZXRyaWNz
KCkuYXNjZW50KCkpOwogICAgICAgICBpZiAocGxhY2Vob2xkZXJTdHlsZS0+aXNMZWZ0VG9SaWdo
dERpcmVjdGlvbigpKQogICAgICAgICAgICAgdGV4dFBvaW50LnNldFgodHggKyB0ZXh0QmxvY2tJ
bnNldExlZnQoKSk7CiAgICAgICAgIGVsc2UKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRleHRDb250cm9sU2luZ2xlTGluZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC03MjMsNyArNzIzLDcgQEAgUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gUmVuZGVy
VGV4dENvbnRybwogICAgIHRleHRCbG9ja1N0eWxlLT5zZXRPdmVyZmxvd1koT0hJRERFTik7CiAK
ICAgICAvLyBEbyBub3QgYWxsb3cgbGluZS1oZWlnaHQgdG8gYmUgc21hbGxlciB0aGFuIG91ciBk
ZWZhdWx0LgotICAgIGlmICh0ZXh0QmxvY2tTdHlsZS0+Zm9udCgpLmxpbmVTcGFjaW5nKCkgPiBs
aW5lSGVpZ2h0KHRydWUsIEhvcml6b250YWxMaW5lLCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94
ZXMpKQorICAgIGlmICh0ZXh0QmxvY2tTdHlsZS0+Zm9udE1ldHJpY3MoKS5saW5lU3BhY2luZygp
ID4gbGluZUhlaWdodCh0cnVlLCBIb3Jpem9udGFsTGluZSwgUG9zaXRpb25PZkludGVyaW9yTGlu
ZUJveGVzKSkKICAgICAgICAgdGV4dEJsb2NrU3R5bGUtPnNldExpbmVIZWlnaHQoTGVuZ3RoKC0x
MDAuMGYsIFBlcmNlbnQpKTsKIAogICAgIFdlYkNvcmU6OkVEaXNwbGF5IGRpc3BsYXkgPSAobV9p
bm5lckJsb2NrIHx8IGlucHV0RWxlbWVudCgpLT5oYXNTcGluQnV0dG9uKCkgPyBJTkxJTkVfQkxP
Q0sgOiBCTE9DSyk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHJl
dmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAko
d29ya2luZyBjb3B5KQpAQCAtNDY3LDYgKzQ2Nyw3IEBAIHB1YmxpYzoKICAgICBFVGFibGVMYXlv
dXQgdGFibGVMYXlvdXQoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxFVGFibGVMYXlvdXQ+
KG5vbmluaGVyaXRlZF9mbGFncy5fdGFibGVfbGF5b3V0KTsgfQogCiAgICAgY29uc3QgRm9udCYg
Zm9udCgpIGNvbnN0IHsgcmV0dXJuIGluaGVyaXRlZC0+Zm9udDsgfQorICAgIGNvbnN0IEZvbnRN
ZXRyaWNzJiBmb250TWV0cmljcygpIGNvbnN0IHsgcmV0dXJuIGluaGVyaXRlZC0+Zm9udC5mb250
TWV0cmljcygpOyB9CiAgICAgY29uc3QgRm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24o
KSBjb25zdCB7IHJldHVybiBpbmhlcml0ZWQtPmZvbnQuZm9udERlc2NyaXB0aW9uKCk7IH0KICAg
ICBpbnQgZm9udFNpemUoKSBjb25zdCB7IHJldHVybiBpbmhlcml0ZWQtPmZvbnQucGl4ZWxTaXpl
KCk7IH0KIApAQCAtNDkxLDcgKzQ5Miw3IEBAIHB1YmxpYzoKIAogICAgICAgICAvLyBOZWdhdGl2
ZSB2YWx1ZSBtZWFucyB0aGUgbGluZSBoZWlnaHQgaXMgbm90IHNldC4gIFVzZSB0aGUgZm9udCdz
IGJ1aWx0LWluIHNwYWNpbmcuCiAgICAgICAgIGlmIChsaC5pc05lZ2F0aXZlKCkpCi0gICAgICAg
ICAgICByZXR1cm4gZm9udCgpLmxpbmVTcGFjaW5nKCk7CisgICAgICAgICAgICByZXR1cm4gZm9u
dE1ldHJpY3MoKS5saW5lU3BhY2luZygpOwogCiAgICAgICAgIGlmIChsaC5pc1BlcmNlbnQoKSkK
ICAgICAgICAgICAgIHJldHVybiBsaC5jYWxjTWluVmFsdWUoZm9udFNpemUoKSk7CkluZGV4OiBX
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lVGV4dC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZVRleHQuY3BwCShyZXZpc2lv
biA3NDQ2NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTQ2LDcgKzE0Niw3IEBAIFZpc2libGVQb3NpdGlvbiBSZW5k
ZXJTVkdJbmxpbmVUZXh0Ojpwb3MKIAogICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IHRoaXMtPnN0
eWxlKCk7CiAgICAgQVNTRVJUKHN0eWxlKTsKLSAgICBpbnQgYmFzZWxpbmUgPSBzdHlsZS0+Zm9u
dCgpLmFzY2VudCgpOworICAgIGludCBiYXNlbGluZSA9IHN0eWxlLT5mb250TWV0cmljcygpLmFz
Y2VudCgpOwogCiAgICAgUmVuZGVyQmxvY2sqIGNvbnRhaW5pbmdCbG9jayA9IHRoaXMtPmNvbnRh
aW5pbmdCbG9jaygpOwogICAgIEFTU0VSVChjb250YWluaW5nQmxvY2spOwpJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAkocmV2aXNpb24gNzQ0NjcpCisr
KyBXZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTg0LDcgKzg0LDcgQEAgRmxvYXRSZWN0IFNWR0lubGluZVRleHRCb3g6OnNlbGVjdGlv
blJlYwogICAgIEFTU0VSVChzdGFydFBvc2l0aW9uIDwgZW5kUG9zaXRpb24pOwogCiAgICAgY29u
c3QgRm9udCYgZm9udCA9IHN0eWxlLT5mb250KCk7Ci0gICAgRmxvYXRQb2ludCB0ZXh0T3JpZ2lu
KGZyYWdtZW50LngsIGZyYWdtZW50LnkgLSBmb250LmFzY2VudCgpKTsKKyAgICBGbG9hdFBvaW50
IHRleHRPcmlnaW4oZnJhZ21lbnQueCwgZnJhZ21lbnQueSAtIGZvbnQuZm9udE1ldHJpY3MoKS5h
c2NlbnQoKSk7CiAgICAgcmV0dXJuIGZvbnQuc2VsZWN0aW9uUmVjdEZvclRleHQoY29uc3RydWN0
VGV4dFJ1bihzdHlsZSwgZnJhZ21lbnQpLCB0ZXh0T3JpZ2luLCBmcmFnbWVudC5oZWlnaHQsIHN0
YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uKTsKIH0KIApAQCAtNDA5LDE2ICs0MDksMTYgQEAgYm9v
bCBTVkdJbmxpbmVUZXh0Qm94OjptYXBTdGFydEVuZFBvc2l0aQogICAgIHJldHVybiB0cnVlOwog
fQogCi1zdGF0aWMgaW5saW5lIGZsb2F0IHBvc2l0aW9uT2Zmc2V0Rm9yRGVjb3JhdGlvbihFVGV4
dERlY29yYXRpb24gZGVjb3JhdGlvbiwgY29uc3QgRm9udCYgZm9udCwgZmxvYXQgdGhpY2tuZXNz
KQorc3RhdGljIGlubGluZSBmbG9hdCBwb3NpdGlvbk9mZnNldEZvckRlY29yYXRpb24oRVRleHRE
ZWNvcmF0aW9uIGRlY29yYXRpb24sIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcywgZmxv
YXQgdGhpY2tuZXNzKQogewogICAgIC8vIEZJWE1FOiBGb3IgU1ZHIEZvbnRzIHdlIG5lZWQgdG8g
dXNlIHRoZSBhdHRyaWJ1dGVzIGRlZmluZWQgaW4gdGhlIDxmb250LWZhY2U+IGlmIHNwZWNpZmll
ZC4KICAgICAvLyBDb21wYXRpYmxlIHdpdGggQmF0aWsvT3BlcmEuCiAgICAgaWYgKGRlY29yYXRp
b24gPT0gVU5ERVJMSU5FKQotICAgICAgICByZXR1cm4gZm9udC5hc2NlbnQoKSArIHRoaWNrbmVz
cyAqIDEuNWY7CisgICAgICAgIHJldHVybiBmb250TWV0cmljcy5hc2NlbnQoKSArIHRoaWNrbmVz
cyAqIDEuNWY7CiAgICAgaWYgKGRlY29yYXRpb24gPT0gT1ZFUkxJTkUpCiAgICAgICAgIHJldHVy
biB0aGlja25lc3M7CiAgICAgaWYgKGRlY29yYXRpb24gPT0gTElORV9USFJPVUdIKQotICAgICAg
ICByZXR1cm4gZm9udC5hc2NlbnQoKSAqIDUuMGYgLyA4LjBmOworICAgICAgICByZXR1cm4gZm9u
dE1ldHJpY3MuYXNjZW50KCkgKiA1LjBmIC8gOC4wZjsKIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogICAgIHJldHVybiAwLjBmOwpAQCAtNDg3LDYgKzQ4Nyw3IEBAIHZvaWQgU1ZHSW5saW5l
VGV4dEJveDo6cGFpbnREZWNvcmF0aW9uV2kKICAgICBBU1NFUlQoZGVjb3JhdGlvblN0eWxlKTsK
IAogICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBkZWNvcmF0aW9uU3R5bGUtPmZvbnQoKTsKKyAgICBj
b25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBmb250LmZvbnRNZXRyaWNzKCk7CiAKICAg
ICAvLyBUaGUgaW5pdGlhbCB5IHZhbHVlIHJlZmVycyB0byBvdmVybGluZSBwb3NpdGlvbi4KICAg
ICBmbG9hdCB0aGlja25lc3MgPSB0aGlja25lc3NGb3JEZWNvcmF0aW9uKGRlY29yYXRpb24sIGZv
bnQpOwpAQCAtNDk0LDcgKzQ5NSw3IEBAIHZvaWQgU1ZHSW5saW5lVGV4dEJveDo6cGFpbnREZWNv
cmF0aW9uV2kKICAgICBpZiAoZnJhZ21lbnQud2lkdGggPD0gMCAmJiB0aGlja25lc3MgPD0gMCkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgZmxvYXQgeSA9IGZyYWdtZW50LnkgLSBmb250LmFzY2Vu
dCgpICsgcG9zaXRpb25PZmZzZXRGb3JEZWNvcmF0aW9uKGRlY29yYXRpb24sIGZvbnQsIHRoaWNr
bmVzcyk7CisgICAgZmxvYXQgeSA9IGZyYWdtZW50LnkgLSBmb250TWV0cmljcy5hc2NlbnQoKSAr
IHBvc2l0aW9uT2Zmc2V0Rm9yRGVjb3JhdGlvbihkZWNvcmF0aW9uLCBmb250TWV0cmljcywgdGhp
Y2tuZXNzKTsKIAogICAgIFBhdGggcGF0aDsKICAgICBwYXRoLmFkZFJlY3QoRmxvYXRSZWN0KGZy
YWdtZW50LngsIHksIGZyYWdtZW50LndpZHRoLCB0aGlja25lc3MpKTsKQEAgLTUxMyw3ICs1MTQs
NyBAQCB2b2lkIFNWR0lubGluZVRleHRCb3g6OnBhaW50VGV4dFdpdGhTaGFkCiAgICAgY29uc3Qg
U2hhZG93RGF0YSogc2hhZG93ID0gc3R5bGUtPnRleHRTaGFkb3coKTsKIAogICAgIEZsb2F0UG9p
bnQgdGV4dE9yaWdpbihmcmFnbWVudC54LCBmcmFnbWVudC55KTsKLSAgICBGbG9hdFJlY3Qgc2hh
ZG93UmVjdChGbG9hdFBvaW50KHRleHRPcmlnaW4ueCgpLCB0ZXh0T3JpZ2luLnkoKSAtIGZvbnQu
YXNjZW50KCkpLCBGbG9hdFNpemUoZnJhZ21lbnQud2lkdGgsIGZyYWdtZW50LmhlaWdodCkpOwor
ICAgIEZsb2F0UmVjdCBzaGFkb3dSZWN0KEZsb2F0UG9pbnQodGV4dE9yaWdpbi54KCksIHRleHRP
cmlnaW4ueSgpIC0gZm9udC5mb250TWV0cmljcygpLmFzY2VudCgpKSwgRmxvYXRTaXplKGZyYWdt
ZW50LndpZHRoLCBmcmFnbWVudC5oZWlnaHQpKTsKIAogICAgIGRvIHsKICAgICAgICAgaWYgKCFw
cmVwYXJlR3JhcGhpY3NDb250ZXh0Rm9yVGV4dFBhaW50aW5nKGNvbnRleHQsIHRleHRSdW4sIHN0
eWxlKSkKQEAgLTU4Nyw3ICs1ODgsNyBAQCBJbnRSZWN0IFNWR0lubGluZVRleHRCb3g6OmNhbGN1
bGF0ZUJvdW5kCiAgICAgQVNTRVJUKHN0eWxlKTsKIAogICAgIGludCBiYXNlbGluZSA9IGJhc2Vs
aW5lUG9zaXRpb24oQWxwaGFiZXRpY0Jhc2VsaW5lKTsKLSAgICBpbnQgaGVpZ2h0RGlmZmVyZW5j
ZSA9IGJhc2VsaW5lIC0gc3R5bGUtPmZvbnQoKS5hc2NlbnQoKTsKKyAgICBpbnQgaGVpZ2h0RGlm
ZmVyZW5jZSA9IGJhc2VsaW5lIC0gc3R5bGUtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCk7CiAKICAg
ICB1bnNpZ25lZCB0ZXh0RnJhZ21lbnRzU2l6ZSA9IG1fdGV4dEZyYWdtZW50cy5zaXplKCk7CiAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHRleHRGcmFnbWVudHNTaXplOyArK2kpIHsKSW5k
ZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmUuY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw5ICs0
OSw5IEBAIGZsb2F0IFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2FsY3UKICAgICBjYXNl
IEJTX0JBU0VMSU5FOgogICAgICAgICByZXR1cm4gMDsKICAgICBjYXNlIEJTX1NVQjoKLSAgICAg
ICAgcmV0dXJuIC1tX2ZvbnQuaGVpZ2h0KCkgLyAyOworICAgICAgICByZXR1cm4gLW1fZm9udC5m
b250TWV0cmljcygpLmhlaWdodCgpIC8gMjsKICAgICBjYXNlIEJTX1NVUEVSOgotICAgICAgICBy
ZXR1cm4gbV9mb250LmhlaWdodCgpIC8gMjsKKyAgICAgICAgcmV0dXJuIG1fZm9udC5mb250TWV0
cmljcygpLmhlaWdodCgpIC8gMjsKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKICAgICAgICAgcmV0dXJuIDA7CkBAIC0xMjIsMjcgKzEyMiwyOSBAQCBmbG9hdCBT
VkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmU6OmNhbGN1CiAgICAgICAgIEFTU0VSVChiYXNlbGlu
ZSAhPSBBQl9BVVRPKTsKICAgICB9CiAKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJp
Y3MgPSBtX2ZvbnQuZm9udE1ldHJpY3MoKTsKKwogICAgIC8vIE5vdGU6IGh0dHA6Ly93aWtpLmFw
YWNoZS5vcmcveG1sZ3JhcGhpY3MtZm9wL0xpbmVMYXlvdXQvQWxpZ25tZW50SGFuZGxpbmcKICAg
ICBzd2l0Y2ggKGJhc2VsaW5lKSB7CiAgICAgY2FzZSBBQl9CQVNFTElORToKICAgICAgICAgcmV0
dXJuIGRvbWluYW50QmFzZWxpbmVUb0FsaWdubWVudEJhc2VsaW5lKGlzVmVydGljYWxUZXh0LCB0
ZXh0UmVuZGVyZXJQYXJlbnQpOwogICAgIGNhc2UgQUJfQkVGT1JFX0VER0U6CiAgICAgY2FzZSBB
Ql9URVhUX0JFRk9SRV9FREdFOgotICAgICAgICByZXR1cm4gbV9mb250LmFzY2VudCgpOworICAg
ICAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KCk7CiAgICAgY2FzZSBBQl9NSURETEU6Ci0g
ICAgICAgIHJldHVybiBtX2ZvbnQueEhlaWdodCgpIC8gMjsKKyAgICAgICAgcmV0dXJuIGZvbnRN
ZXRyaWNzLnhIZWlnaHQoKSAvIDI7CiAgICAgY2FzZSBBQl9DRU5UUkFMOgotICAgICAgICByZXR1
cm4gKG1fZm9udC5hc2NlbnQoKSAtIG1fZm9udC5kZXNjZW50KCkpIC8gMjsKKyAgICAgICAgcmV0
dXJuIChmb250TWV0cmljcy5hc2NlbnQoKSAtIGZvbnRNZXRyaWNzLmRlc2NlbnQoKSkgLyAyOwog
ICAgIGNhc2UgQUJfQUZURVJfRURHRToKICAgICBjYXNlIEFCX1RFWFRfQUZURVJfRURHRToKICAg
ICBjYXNlIEFCX0lERU9HUkFQSElDOgotICAgICAgICByZXR1cm4gbV9mb250LmRlc2NlbnQoKTsK
KyAgICAgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmRlc2NlbnQoKTsKICAgICBjYXNlIEFCX0FMUEhB
QkVUSUM6CiAgICAgICAgIHJldHVybiAwOwogICAgIGNhc2UgQUJfSEFOR0lORzoKLSAgICAgICAg
cmV0dXJuIG1fZm9udC5hc2NlbnQoKSAqIDggLyAxMC5mOworICAgICAgICByZXR1cm4gZm9udE1l
dHJpY3MuYXNjZW50KCkgKiA4IC8gMTAuZjsKICAgICBjYXNlIEFCX01BVEhFTUFUSUNBTDoKLSAg
ICAgICAgcmV0dXJuIG1fZm9udC5hc2NlbnQoKSAvIDI7CisgICAgICAgIHJldHVybiBmb250TWV0
cmljcy5hc2NlbnQoKSAvIDI7CiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiAgICAgICAgIHJldHVybiAwOwpAQCAtMTkzLDEyICsxOTUsMTQgQEAgZmxvYXQgU1ZH
VGV4dExheW91dEVuZ2luZUJhc2VsaW5lOjpjYWxjdQogICAgIC8vIFNwZWM6IElmIGlmIHRoZSAn
Z2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwnIHJlc3VsdHMgaW4gYW4gb3JpZW50YXRpb24gYW5n
bGUgdGhhdCBpcyBub3QgYSBtdWx0aXBsZSBvZgogICAgIC8vIDE4MCBkZWdyZWVzLCB0aGVuIHRo
ZSBjdXJyZW50IHRleHQgcG9zaXRpb24gaXMgaW5jcmVtZW50ZWQgYWNjb3JkaW5nIHRvIHRoZSBo
b3Jpem9udGFsIG1ldHJpY3Mgb2YgdGhlIGdseXBoLgogCisgICAgY29uc3QgRm9udE1ldHJpY3Mm
IGZvbnRNZXRyaWNzID0gbV9mb250LmZvbnRNZXRyaWNzKCk7CisKICAgICAvLyBWZXJ0aWNhbCBv
cmllbnRhdGlvbiBoYW5kbGluZy4KICAgICBpZiAoaXNWZXJ0aWNhbFRleHQpIHsKLSAgICAgICAg
ZmxvYXQgYXNjZW50TWludXNEZXNjZW50ID0gbV9mb250LmFzY2VudCgpIC0gbV9mb250LmRlc2Nl
bnQoKTsKKyAgICAgICAgZmxvYXQgYXNjZW50TWludXNEZXNjZW50ID0gZm9udE1ldHJpY3MuYXNj
ZW50KCkgLSBmb250TWV0cmljcy5kZXNjZW50KCk7CiAgICAgICAgIGlmICghYW5nbGUpIHsKICAg
ICAgICAgICAgIHhPcmllbnRhdGlvblNoaWZ0ID0gKGFzY2VudE1pbnVzRGVzY2VudCAtIG1ldHJp
Y3Mud2lkdGgoKSkgLyAyOwotICAgICAgICAgICAgeU9yaWVudGF0aW9uU2hpZnQgPSBtX2ZvbnQu
YXNjZW50KCk7CisgICAgICAgICAgICB5T3JpZW50YXRpb25TaGlmdCA9IGZvbnRNZXRyaWNzLmFz
Y2VudCgpOwogICAgICAgICB9IGVsc2UgaWYgKGFuZ2xlID09IDE4MCkKICAgICAgICAgICAgIHhP
cmllbnRhdGlvblNoaWZ0ID0gKGFzY2VudE1pbnVzRGVzY2VudCArIG1ldHJpY3Mud2lkdGgoKSkg
LyAyOwogICAgICAgICBlbHNlIGlmIChhbmdsZSA9PSAyNzApIHsKQEAgLTIxOCw3ICsyMjIsNyBA
QCBmbG9hdCBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmU6OmNhbGN1CiAgICAgICAgIHlPcmll
bnRhdGlvblNoaWZ0ID0gLW1ldHJpY3Mud2lkdGgoKTsKICAgICBlbHNlIGlmIChhbmdsZSA9PSAx
ODApIHsKICAgICAgICAgeE9yaWVudGF0aW9uU2hpZnQgPSBtZXRyaWNzLndpZHRoKCk7Ci0gICAg
ICAgIHlPcmllbnRhdGlvblNoaWZ0ID0gLW1fZm9udC5hc2NlbnQoKTsKKyAgICAgICAgeU9yaWVu
dGF0aW9uU2hpZnQgPSAtZm9udE1ldHJpY3MuYXNjZW50KCk7CiAgICAgfSBlbHNlIGlmIChhbmds
ZSA9PSAyNzApCiAgICAgICAgIHhPcmllbnRhdGlvblNoaWZ0ID0gbWV0cmljcy53aWR0aCgpOwog
CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5n
aW5lU3BhY2luZy5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgsNyAr
NTgsNyBAQCBmbG9hdCBTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZzo6Y2FsY3VsCiAKICAgICBt
X2xhc3RHbHlwaCA9IGN1cnJlbnRHbHlwaDsKICAgICBtX2xhc3RHbHlwaC5pc1ZhbGlkID0gdHJ1
ZTsKLSAgICBrZXJuaW5nICo9IG1fZm9udC5zaXplKCkgLyBtX2ZvbnQucHJpbWFyeUZvbnQoKS0+
dW5pdHNQZXJFbSgpOworICAgIGtlcm5pbmcgKj0gbV9mb250LnNpemUoKSAvIG1fZm9udC5mb250
TWV0cmljcygpLnVuaXRzUGVyRW0oKTsKICAgICByZXR1cm4ga2VybmluZzsKICNlbHNlCiAgICAg
VU5VU0VEX1BBUkFNKGlzVmVydGljYWxUZXh0KTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9TVkdUZXh0TWV0cmljcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRNZXRyaWNzLmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHVGV4dE1ldHJpY3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw3IEBA
IFNWR1RleHRNZXRyaWNzOjpTVkdUZXh0TWV0cmljcyhjb25zdCBGb24KICAgICBpbnQgbGVuZ3Ro
ID0gMDsKIAogICAgIG1fd2lkdGggPSBmb250LmZsb2F0V2lkdGgocnVuLCBleHRyYUNoYXJzQXZh
aWxhYmxlLCBsZW5ndGgsIG1fZ2x5cGgubmFtZSk7Ci0gICAgbV9oZWlnaHQgPSBmb250LmhlaWdo
dCgpOworICAgIG1faGVpZ2h0ID0gZm9udC5mb250TWV0cmljcygpLmhlaWdodCgpOwogICAgIG1f
Z2x5cGgudW5pY29kZVN0cmluZyA9IFN0cmluZyhydW4uY2hhcmFjdGVycygpLCBsZW5ndGgpOwog
ICAgIG1fZ2x5cGguaXNWYWxpZCA9IHRydWU7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9TVkdUZXh0UXVlcnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9T
VkdUZXh0UXVlcnkuY3BwCShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9TVkdUZXh0UXVlcnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NzIsNyArNDcyLDcgQEAgc3Ry
dWN0IEV4dGVudE9mQ2hhcmFjdGVyRGF0YSA6IFNWR1RleHRRdQogCiBzdGF0aWMgaW5saW5lIHZv
aWQgY2FsY3VsYXRlR2x5cGhCb3VuZGFyaWVzKFNWR1RleHRRdWVyeTo6RGF0YSogcXVlcnlEYXRh
LCBjb25zdCBTVkdUZXh0RnJhZ21lbnQmIGZyYWdtZW50LCBpbnQgc3RhcnRQb3NpdGlvbiwgRmxv
YXRSZWN0JiBleHRlbnQpCiB7Ci0gICAgZXh0ZW50LnNldExvY2F0aW9uKEZsb2F0UG9pbnQoZnJh
Z21lbnQueCwgZnJhZ21lbnQueSAtIHF1ZXJ5RGF0YS0+dGV4dFJlbmRlcmVyLT5zdHlsZSgpLT5m
b250KCkuYXNjZW50KCkpKTsKKyAgICBleHRlbnQuc2V0TG9jYXRpb24oRmxvYXRQb2ludChmcmFn
bWVudC54LCBmcmFnbWVudC55IC0gcXVlcnlEYXRhLT50ZXh0UmVuZGVyZXItPnN0eWxlKCktPmZv
bnRNZXRyaWNzKCkuYXNjZW50KCkpKTsKIAogICAgIGlmIChzdGFydFBvc2l0aW9uKSB7CiAgICAg
ICAgIFNWR1RleHRNZXRyaWNzIG1ldHJpY3MgPSBTVkdUZXh0TWV0cmljczo6bWVhc3VyZUNoYXJh
Y3RlclJhbmdlKHF1ZXJ5RGF0YS0+dGV4dFJlbmRlcmVyLCBmcmFnbWVudC5wb3NpdGlvbkxpc3RP
ZmZzZXQsIHN0YXJ0UG9zaXRpb24pOwpJbmRleDogV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1lbnQuY3Bw
CShyZXZpc2lvbiA3NDQ2NykKKysrIFdlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEyNiw3ICsxMjYsNyBAQCB1bnNpZ25lZCBTVkdGb250RmFjZUVs
ZW1lbnQ6OnVuaXRzUGVyRW0oCiB7CiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSA9IGdl
dEF0dHJpYnV0ZSh1bml0c19wZXJfZW1BdHRyKTsKICAgICBpZiAodmFsdWUuaXNFbXB0eSgpKQot
ICAgICAgICByZXR1cm4gZGVmYXVsdFVuaXRzUGVyRW07CisgICAgICAgIHJldHVybiBnRGVmYXVs
dFVuaXRzUGVyRW07CiAKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNlaWxmKHZh
bHVlLnRvRmxvYXQoKSkpOwogfQpJbmRleDogV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdMZW5ndGguY3BwCShyZXZpc2lvbiA3NDQ2NykKKysr
IFdlYkNvcmUvc3ZnL1NWR0xlbmd0aC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0NCw3ICs0NDQs
NyBAQCBmbG9hdCBTVkdMZW5ndGg6OmNvbnZlcnRWYWx1ZUZyb21Vc2VyVW5pCiAKICAgICAvLyBV
c2Ugb2YgY2VpbCBhbGxvd3MgYSBwaXhlbCBtYXRjaCB0byB0aGUgVzNDcyBleHBlY3RlZCBvdXRw
dXQgb2YgY29vcmRzLXVuaXRzLTAzLWIuc3ZnCiAgICAgLy8gaWYgdGhpcyBjYXVzZXMgcHJvYmxl
bXMgaW4gcmVhbCB3b3JsZCBjYXNlcyBtYXliZSBpdCB3b3VsZCBiZSBiZXN0IHRvIHJlbW92ZSB0
aGlzCi0gICAgZmxvYXQgeEhlaWdodCA9IGNlaWxmKHN0eWxlLT5mb250KCkueEhlaWdodCgpKTsK
KyAgICBmbG9hdCB4SGVpZ2h0ID0gY2VpbGYoc3R5bGUtPmZvbnRNZXRyaWNzKCkueEhlaWdodCgp
KTsKICAgICBpZiAoIXhIZWlnaHQpIHsKICAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsK
ICAgICAgICAgcmV0dXJuIDA7CkBAIC00NjMsNyArNDYzLDcgQEAgZmxvYXQgU1ZHTGVuZ3RoOjpj
b252ZXJ0VmFsdWVGcm9tRVhTVG9VcwogICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IGNvbnRleHQt
PnJlbmRlcmVyKCktPnN0eWxlKCk7CiAgICAgLy8gVXNlIG9mIGNlaWwgYWxsb3dzIGEgcGl4ZWwg
bWF0Y2ggdG8gdGhlIFczQ3MgZXhwZWN0ZWQgb3V0cHV0IG9mIGNvb3Jkcy11bml0cy0wMy1iLnN2
ZwogICAgIC8vIGlmIHRoaXMgY2F1c2VzIHByb2JsZW1zIGluIHJlYWwgd29ybGQgY2FzZXMgbWF5
YmUgaXQgd291bGQgYmUgYmVzdCB0byByZW1vdmUgdGhpcwotICAgIHJldHVybiB2YWx1ZSAqIGNl
aWxmKHN0eWxlLT5mb250KCkueEhlaWdodCgpKTsKKyAgICByZXR1cm4gdmFsdWUgKiBjZWlsZihz
dHlsZS0+Zm9udE1ldHJpY3MoKS54SGVpZ2h0KCkpOwogfQogCiBTVkdMZW5ndGggU1ZHTGVuZ3Ro
Ojpmcm9tQ1NTUHJpbWl0aXZlVmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUqIHZhbHVlKQpJbmRleDog
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCShyZXZpc2lvbiA3NDU0NCkKKysrIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0xMi0yMyAgTmlrb2xhcyBaaW1t
ZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJbnRyb2R1Y2UgRm9udE1ldHJpY3MgYWJzdHJhY3Rpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxNDU2CisK
KyAgICAgICAgKiBzcmMvRXh0ZXJuYWxQb3B1cE1lbnUuY3BwOiBVc2UgRm9udE1ldHJpY3MgaW5z
dGVhZCBvZiBGb250IHRvIGFjY2VzcyB0aGUgbWV0cmljcy4KKyAgICAgICAgKFdlYktpdDo6RXh0
ZXJuYWxQb3B1cE1lbnU6OmdldFBvcHVwTWVudUluZm8pOgorICAgICAgICAqIHNyYy9XZWJGb250
SW1wbC5jcHA6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJGb250SW1wbDo6YXNjZW50KToK
KyAgICAgICAgKFdlYktpdDo6V2ViRm9udEltcGw6OmRlc2NlbnQpOgorICAgICAgICAoV2ViS2l0
OjpXZWJGb250SW1wbDo6aGVpZ2h0KToKKyAgICAgICAgKFdlYktpdDo6V2ViRm9udEltcGw6Omxp
bmVTcGFjaW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViRm9udEltcGw6OnhIZWlnaHQpOgorCiAy
MDEwLTEyLTIyICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNzQ1MDMuCkluZGV4OiBXZWJLaXQvY2hy
b21pdW0vc3JjL0V4dGVybmFsUG9wdXBNZW51LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hy
b21pdW0vc3JjL0V4dGVybmFsUG9wdXBNZW51LmNwcAkocmV2aXNpb24gNzQ0NjcpCisrKyBXZWJL
aXQvY2hyb21pdW0vc3JjL0V4dGVybmFsUG9wdXBNZW51LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTQyLDcgKzE0Miw3IEBAIHZvaWQgRXh0ZXJuYWxQb3B1cE1lbnU6OmdldFBvcHVwTWVudUluZm8K
ICAgICAgICAgcG9wdXBJdGVtLmVuYWJsZWQgPSBtX3BvcHVwTWVudUNsaWVudC0+aXRlbUlzRW5h
YmxlZChpKTsKICAgICB9CiAKLSAgICBpbmZvLT5pdGVtSGVpZ2h0ID0gbV9wb3B1cE1lbnVDbGll
bnQtPm1lbnVTdHlsZSgpLmZvbnQoKS5oZWlnaHQoKTsKKyAgICBpbmZvLT5pdGVtSGVpZ2h0ID0g
bV9wb3B1cE1lbnVDbGllbnQtPm1lbnVTdHlsZSgpLmZvbnQoKS5mb250TWV0cmljcygpLmhlaWdo
dCgpOwogICAgIGluZm8tPml0ZW1Gb250U2l6ZSA9CiAgICAgICAgIHN0YXRpY19jYXN0PGludD4o
bV9wb3B1cE1lbnVDbGllbnQtPm1lbnVTdHlsZSgpLmZvbnQoKS5zaXplKCkpOwogICAgIGluZm8t
PnNlbGVjdGVkSW5kZXggPSBtX3BvcHVwTWVudUNsaWVudC0+c2VsZWN0ZWRJbmRleCgpOwpJbmRl
eDogV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGb250SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJGb250SW1wbC5jcHAJKHJldmlzaW9uIDc0NDY3KQorKysgV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJGb250SW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDI3
ICs2MywyNyBAQCBXZWJGb250RGVzY3JpcHRpb24gV2ViRm9udEltcGw6OmZvbnREZXNjCiAKIGlu
dCBXZWJGb250SW1wbDo6YXNjZW50KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9mb250LmFzY2Vu
dCgpOworICAgIHJldHVybiBtX2ZvbnQuZm9udE1ldHJpY3MoKS5hc2NlbnQoKTsKIH0KIAogaW50
IFdlYkZvbnRJbXBsOjpkZXNjZW50KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9mb250LmRlc2Nl
bnQoKTsKKyAgICByZXR1cm4gbV9mb250LmZvbnRNZXRyaWNzKCkuZGVzY2VudCgpOwogfQogCiBp
bnQgV2ViRm9udEltcGw6OmhlaWdodCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fZm9udC5oZWln
aHQoKTsKKyAgICByZXR1cm4gbV9mb250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCk7CiB9CiAKIGlu
dCBXZWJGb250SW1wbDo6bGluZVNwYWNpbmcoKSBjb25zdAogewotICAgIHJldHVybiBtX2ZvbnQu
bGluZVNwYWNpbmcoKTsKKyAgICByZXR1cm4gbV9mb250LmZvbnRNZXRyaWNzKCkubGluZVNwYWNp
bmcoKTsKIH0KIAogZmxvYXQgV2ViRm9udEltcGw6OnhIZWlnaHQoKSBjb25zdAogewotICAgIHJl
dHVybiBtX2ZvbnQueEhlaWdodCgpOworICAgIHJldHVybiBtX2ZvbnQuZm9udE1ldHJpY3MoKS54
SGVpZ2h0KCk7CiB9CiAKIHZvaWQgV2ViRm9udEltcGw6OmRyYXdUZXh0KFdlYkNhbnZhcyogY2Fu
dmFzLCBjb25zdCBXZWJUZXh0UnVuJiBydW4sIGNvbnN0IFdlYkZsb2F0UG9pbnQmIGxlZnRCYXNl
bGluZSwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77452</attachid>
            <date>2010-12-26 04:47:45 -0800</date>
            <delta_ts>2010-12-26 06:47:01 -0800</delta_ts>
            <desc>Patch v5</desc>
            <filename>IntroduceFontMetrics4.diff</filename>
            <type>text/plain</type>
            <size>119762</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkxIEBACisyMDEwLTEyLTIyICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEludHJvZHVjZSBGb250TWV0cmljcyBhYnN0cmFjdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE0NTYKKworICAgICAgICBFbmNhcHN1
bGF0ZSBhc2NlbnQvZGVzY2VudC9saW5lSGVpZ2h0L2xpbmVHYXAgbWV0aG9kcyBpbiBhIHNpbmds
ZSBGb250TWV0cmljcyBjbGFzcywgaW5zdGVhZCBvZgorICAgICAgICBoYXZpbmcgdG8gZGVmaW5l
IHRoZW0gaW4gYm90aCBGb250ICYgU2ltcGxlRm9udERhdGEuIENoYW5nZWQgdG8gc3RvcmUgZmxv
YXRpbmcgcG9pbnQgdmFsdWVzCisgICAgICAgIGFzIGRlZmF1bHQsIGluIG9yZGVyIHRvIGdldCBh
Y2N1cmF0ZSBpbmZvcm1hdGlvbiBmb3Igc21hbGwgc2l6ZWQgZm9udHMuIEFsbCB0aGVzZSBtZXRo
b2RzCisgICAgICAgIG5vdyBoYXZlIGZsb2F0aW5nLXBvaW50IGFuZCBpbnRlZ2VyIHZlcnNpb25z
LiBXaGVuZXZlciBhbiBpbnRlZ2VyIHZhcmlhbnQgb2YgdGhlc2UgZnVuY3Rpb25zCisgICAgICAg
IGlzIGNhbGxlZCwgbHJvdW5kZigpIGlzIHVzZWQgdG8gcm91bmQgdGhlIHZhbHVlLgorCisgICAg
ICAgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gc3VwcG9ydCBzbWFsbCBmb250LXNpemVzIGZv
ciBTVkcgaW4gYSBmb2xsb3ctdXAgcGF0Y2gsIGFzIHdlbGwKKyAgICAgICAgYXMgZml4aW5nIHJv
dW5kaW5nIGlzc3VlcyB3aGVuIHVzaW5nIFNWRyBGb250cy4KKyAgICAgICAgCisgICAgICAgIFNo
b3VsZG4ndCBhZmZlY3QgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5h
bTogQWRkIEZvbnRNZXRyaWNzLmggdG8gYnVpbGQuIAorICAgICAgICAqIFdlYkNvcmUuZ3lwaTog
RGl0dG8uCisgICAgICAgICogV2ViQ29yZS5wcm86IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0Fj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcDogVXNlIHN0eWxlLT5mb250TWV0cmljcygp
IGluc3RlYWQgb2Ygc3R5bGUtPmZvbnQoKSB0byBhY2Nlc3MgdGhlIG1ldHJpY3MuCisgICAgICAg
IChiYXNlbGluZVBvc2l0aW9uRm9yQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCk6CisgICAgICAg
ICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDogICAgICAgICAKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoRG91YmxlKToKKyAgICAgICAgKiBodG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJbnRlcm5hbCk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRyYXdFbGVtZW50VGl0bGUpOgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcDogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpQb3B1cExpc3RCb3g6OnBhaW50Um93KToKKyAgICAgICAgKFdlYkNvcmU6
OlBvcHVwTGlzdEJveDo6Z2V0Um93SGVpZ2h0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Lmg6IFJlbW92ZSBhc2NlbnQvZGVzY2VudC9oZWlnaHQvbGluZUdhcC9saW5lU3BhY2lu
Zy94SGVpZ2h0L3VuaXRzUGVyRW0gYWNjZXNzb3IuLi4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6
OmZvbnRNZXRyaWNzKTogLi4uIGFuZCBvbmx5IGV4cG9zZSBhIHNpbmdsZSBGb250TWV0cmljcyBv
YmplY3QgaGVyZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3Bw
OiBVc2UgZm9udE1ldHJpY3MoKSB0byBxdWVyeSBtZXRyaWNzIGluZm9ybWF0aW9uLgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udDo6ZW1waGFzaXNNYXJrQXNjZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnQ6OmVtcGhhc2lzTWFya0Rlc2NlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZW1w
aGFzaXNNYXJrSGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmZsb2F0V2lkdGhGb3JT
aW1wbGVUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkludGVnZXJGb250TWV0cmljczo6Y3JlYXRlKTogQ3Jl
YXRlcyBhbiBJbnRlZ2VyRm9udE1ldHJpY3Mgb2JqZWN0LCBvbmx5IHVzZWQgYnkgRm9udE1ldHJp
Y3MgaXRzZWxmLgorICAgICAgICAoV2ViQ29yZTo6SW50ZWdlckZvbnRNZXRyaWNzOjphc2NlbnQp
OiBJbnRlZ2VyIHZlcnNpb24uCisgICAgICAgIChXZWJDb3JlOjpJbnRlZ2VyRm9udE1ldHJpY3M6
OmRlc2NlbnQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkludGVnZXJGb250TWV0cmljczo6
bGluZUdhcCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW50ZWdlckZvbnRNZXRyaWNzOjps
aW5lU3BhY2luZyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW50ZWdlckZvbnRNZXRyaWNz
OjpJbnRlZ2VyRm9udE1ldHJpY3MpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OkZv
bnRNZXRyaWNzKTogQ3JlYXRlcyBhIEZvbnRNZXRyaWNzIG9iamVjdCwgc3RvcmVkIGluIFNpbXBs
ZUZvbnREYXRhLgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnVuaXRzUGVyRW0pOiBS
ZXR1cm5zIGFuIHVuc2lnbmVkIGRlc2NyaWJpbmcgdGhlIHVuaXRzUGVyRW0uCisgICAgICAgIChX
ZWJDb3JlOjpGb250TWV0cmljczo6c2V0VW5pdHNQZXJFbSk6IFNldHMgdGhlIHVuaXRzUGVyRW0g
dmFsdWUuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6ZmxvYXRBc2NlbnQpOiBSZXR1
cm5zIHRoZSBzdG9yZWQgbV9hc2NlbnQgZmxvYXQuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0
cmljczo6c2V0QXNjZW50KTogU2V0cyB0aGUgc3RvcmVkIG1fYXNjZW50IGZsb2F0LgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmZsb2F0RGVzY2VudCk6IFJldHVybnMgdGhlIHN0b3Jl
ZCBtX2Rlc2NlbnQgZmxvYXQuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6c2V0RGVz
Y2VudCk6IFNldHMgdGhlIHN0b3JlZCBtX2Rlc2NlbnQgZmxvYXQuCisgICAgICAgIChXZWJDb3Jl
OjpGb250TWV0cmljczo6ZmxvYXRIZWlnaHQpOiBSZXR1cm5zIGZsb2F0QXNjZW50KCkgKyBmbG9h
dERlc2NlbnQoKS4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpmbG9hdExpbmVHYXAp
OiBSZXR1cm5zIHRoZSBzdG9yZWQgbV9saW5lR2FwIGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6
Rm9udE1ldHJpY3M6OnNldExpbmVHYXApOiBTZXRzIHRoZSBzdG9yZWQgbV9saW5lR2FwIGZsb2F0
LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmZsb2F0TGluZVNwYWNpbmcpOiBSZXR1
cm5zIHRoZSBzdG9yZWQgbV9saW5lU3BhY2luZyBmbG9hdC4KKyAgICAgICAgKFdlYkNvcmU6OkZv
bnRNZXRyaWNzOjpzZXRMaW5lU3BhY2luZyk6IFNldHMgdGhlIHN0b3JlZCBtX2xpbmVTcGFjaW5n
IGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnhIZWlnaHQpOiBSZXR1cm5z
IHRoZSBzdG9yZWQgbV94SGVpZ2h0IGZsb2F0IChubyBpbnRlZ2VyIHZlcnNpb24gYXZhaWxhYmxl
LCBoZW5jZSBubyAnZmxvYXQnIHByZWZpeCkuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmlj
czo6c2V0WEhlaWdodCk6IFNldHMgdGhlIHN0b3JlZCBtX3hIZWlnaHQgZmxvYXQuCisgICAgICAg
IChXZWJDb3JlOjpGb250TWV0cmljczo6YXNjZW50KTogQ2FsbHMgZW5zdXJlSW50ZWdlck1ldHJp
Y3MoKSwgdGhlbiByZXR1cm5zIG1faW50ZWdlck1ldHJpY3MtPmFzY2VudCgpLgorICAgICAgICAo
V2ViQ29yZTo6Rm9udE1ldHJpY3M6OmRlc2NlbnQpOiBEaXR0byAoZm9yIGRlc2NlbnQpLgorICAg
ICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmhlaWdodCk6IFJldHVybnMgYXNjZW50KCkgKyBk
ZXNjZW50KCkuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6bGluZUdhcCk6IENhbGxz
IGVuc3VyZUludGVnZXJNZXRyaWNzKCksIHRoZW4gcmV0dXJucyBtX2ludGVnZXJNZXRyaWNzLT5s
aW5lR2FwKCkuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6bGluZVNwYWNpbmcpOiBE
aXR0byAoZm9yIGxpbmVTcGFjaW5nKS4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpy
ZXNldCk6IE51bGxzIGFsbCBtZW1iZXJzLCB1c2VkIG9ubHkgYnkgdGhlIHBsYXRmb3JtIHZhcmlh
bnRzIG9mIFNpbXBsZUZvbnREYXRhLgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmVu
c3VyZUludGVnZXJNZXRyaWNzKTogVXRpbGl6aWVzIGxyb3VuZGYgdG8gcm91bmQgdGhlIHN0b3Jl
ZCBmbG9hdHMsIGFuZCBwYXNzZXMgdGhlbSB0byB0aGUgSW50ZWdlckZvbnRNZXRyaWNzIG9iamVj
dCwgd2hpY2ggZ2V0cyBjYWNoZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxl
Rm9udERhdGEuY3BwOiBBZGFwdCBTVkcgRm9udHMgY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUgRm9u
dE1ldHJpY3Mgb2JqZWN0LCBhcyB0aGUgbV9hc2NlbnQvZXRjLi4gbWVtYmVycyBhcmUgZ29uZS4K
KyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YSk6CisgICAg
ICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6aW5pdENoYXJXaWR0aHMpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmg6IFJlbW92ZSBhc2NlbnQvZGVzY2Vu
dC9oZWlnaHQvbGluZVNwYWNpbmcvbGluZUdhcC94SGVpZ2h0L3VuaXRzUGVyRW0gYWNjZXNzb3Jz
LCBhbmQgbWVtYmVycywganVzdCBzdG9yZSBhIEZvbnRNZXRyaWNzIG9iamVjdCBhbmQgZXhwb3Nl
IGl0LgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OmZvbnRNZXRyaWNzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjphdmdDaGFyV2lkdGgpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1bVdpbi5jcHA6IFVzZSBmb250
TWV0cmljcygpIHRvIHF1ZXJ5IGZvbnQgbWV0cmljcy4KKyAgICAgICAgKFdlYkNvcmU6OlRyYW5z
cGFyZW5jeUF3YXJlRm9udFBhaW50ZXI6OlRyYW5zcGFyZW5jeUF3YXJlR2x5cGhQYWludGVyOjpl
c3RpbWF0ZVRleHRCb3VuZHMpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNwYXJlbmN5QXdhcmVG
b250UGFpbnRlcjo6VHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50ZXI6OmRyYXdHbHlwaHMpOgor
ICAgICAgICAoV2ViQ29yZTo6VHJhbnNwYXJlbmN5QXdhcmVGb250UGFpbnRlcjo6VHJhbnNwYXJl
bmN5QXdhcmVVbmlzY3JpYmVQYWludGVyOjplc3RpbWF0ZVRleHRCb3VuZHMpOgorICAgICAgICAo
V2ViQ29yZTo6Rm9udDo6ZHJhd0NvbXBsZXhUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNwcDogQWRhcHQgcGxhdGZv
cm0gY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUgRm9udE1ldHJpY3Mgb2JqZWN0LgorICAgICAgICAo
V2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFMaW51eC5jcHA6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVW5pc2NyaWJlSGVscGVyVGV4dFJ1bi5jcHA6IFVz
ZSBmb250TWV0cmljcygpIHRvIHF1ZXJ5IGZvbnQgbWV0cmljcy4KKyAgICAgICAgKFdlYkNvcmU6
OlVuaXNjcmliZUhlbHBlclRleHRSdW46OlVuaXNjcmliZUhlbHBlclRleHRSdW4pOgorICAgICAg
ICAoV2ViQ29yZTo6VW5pc2NyaWJlSGVscGVyVGV4dFJ1bjo6bmV4dFdpbkZvbnREYXRhKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1wbGVGb250RGF0YUZyZWVUeXBl
LmNwcDogQWRhcHQgcGxhdGZvcm0gY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUgRm9udE1ldHJpY3Mg
b2JqZWN0LgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvU2ltcGxlRm9udERhdGFIYWlrdS5j
cHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5p
dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21wbGV4VGV4dE1hYy5j
cHA6IFVzZSBmb250TWV0cmljcygpIHRvIHF1ZXJ5IGZvbnQgbWV0cmljcy4KKyAgICAgICAgKFdl
YkNvcmU6OkZvbnQ6OmZsb2F0V2lkdGhGb3JDb21wbGV4VGV4dCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW06IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6c2hv
d0dseXBoc1dpdGhBZHZhbmNlcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1Np
bXBsZUZvbnREYXRhTWFjLm1tOiBBZGFwdCBwbGF0Zm9ybSBjb2RlLCB0byBpbml0aWFsaXplIHRo
ZSBGb250TWV0cmljcyBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6
cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9y
bUNoYXJXaWR0aEluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1NpbXBs
ZUZvbnREYXRhUGFuZ28uY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnRE
YXRhOjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBs
ZUZvbnREYXRhUXQuY3BwOiBEaXR0by4gKCsgU3dpdGNoIHRvIFFGb250TWV0cmljc0YgdG8gZ2V0
IGZsb2F0aW5nLXBvaW50IGFjY3VyYW5jeS4pCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250
RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9u
dENHV2luLmNwcDogVXNlIGZvbnRNZXRyaWNzKCkgdG8gcXVlcnkgZm9udCBtZXRyaWNzLgorICAg
ICAgICAoV2ViQ29yZTo6ZHJhd0dESUdseXBocyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL0ZvbnRXaW4uY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmZsb2F0
V2lkdGhGb3JDb21wbGV4VGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1Np
bXBsZUZvbnREYXRhQ0dXaW4uY3BwOiBBZGFwdCBwbGF0Zm9ybSBjb2RlLCB0byBpbml0aWFsaXpl
IHRoZSBGb250TWV0cmljcyBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0
YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0
Zm9ybUJvdW5kc0ZvckdseXBoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vU2lt
cGxlRm9udERhdGFDYWlyb1dpbi5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxl
Rm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1NpbXBsZUZvbnREYXRhV2luLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVG
b250RGF0YTo6aW5pdEdESUZvbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbmNl
L0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcDogVXNlIGZvbnRNZXRyaWNzKCkgdG8gcXVlcnkgZm9u
dCBtZXRyaWNzLgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3VGV4dCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2ltcGxlRm9udERhdGFXaW5DRS5j
cHA6IEFkYXB0IHBsYXRmb3JtIGNvZGUsIHRvIGluaXRpYWxpemUgdGhlIEZvbnRNZXRyaWNzIG9i
amVjdC4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3d4L1NpbXBsZUZvbnREYXRhV3guY3BwOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9FbGxpcHNpc0JveC5jcHA6IFVzZSBzdHlsZS0+Zm9udE1ldHJpY3Mo
KSBpbnN0ZWFkIG9mIHN0eWxlLT5mb250KCkgdG8gYWNjZXNzIHRoZSBtZXRyaWNzLgorICAgICAg
ICAoV2ViQ29yZTo6RWxsaXBzaXNCb3g6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OkVsbGlw
c2lzQm94Ojpub2RlQXRQb2ludCk6CisgICAgICAgICogcmVuZGVyaW5nL0lubGluZUJveC5jcHA6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQm94Ojpsb2dpY2FsSGVpZ2h0KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHA6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6dmVydGljYWxQb3NpdGlvbkZvckJveCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVG
bG93Qm94Ojpjb21wdXRlTG9naWNhbEJveEhlaWdodHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5s
aW5lRmxvd0JveDo6cGxhY2VCb3hlc0luQmxvY2tEaXJlY3Rpb24pOgorICAgICAgICAqIHJlbmRl
cmluZy9JbmxpbmVUZXh0Qm94LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVU
ZXh0Qm94OjpwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpwYWludERl
Y29yYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnRTcGVsbGlu
Z09yR3JhbW1hck1hcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpwYWlu
dENvbXBvc2l0aW9uVW5kZXJsaW5lKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpiYXNlbGluZVBvc2l0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpmaXJzdExpbmVCb3hCYXNlbGlu
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bGFzdExpbmVCb3hCYXNlbGluZSk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQm94Ojpsb2NhbENhcmV0UmVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckVtYmVkZGVkT2JqZWN0LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJF
bWJlZGRlZE9iamVjdDo6cGFpbnRSZXBsYWNlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6c2V0SW1h
Z2VTaXplRm9yQWx0VGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6cGFpbnRS
ZXBsYWNlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHA6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjpiYXNlbGluZVBvc2l0aW9uKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGlzdEJveDo6cGFpbnRJdGVtRm9yZWdyb3VuZCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMaXN0Qm94OjppdGVtSGVpZ2h0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGlzdE1hcmtlci5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtl
cjo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6bGF5b3V0KToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RNYXJrZXI6OmNvbXB1dGVQcmVmZXJyZWRMb2dp
Y2FsV2lkdGhzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZU1h
cmdpbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6Z2V0UmVsYXRpdmVN
YXJrZXJSZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwOiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sOjpwYWludFBsYWNlaG9s
ZGVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNw
cDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6
OmNyZWF0ZUlubmVyVGV4dFN0eWxlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVX
aW4uY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lV2luOjphZGp1c3RN
ZW51TGlzdEJ1dHRvblN0eWxlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaDogQWRkICJjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MoKSBjb25zdCIgYWNjZXNz
b3IuCisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6Zm9udE1ldHJpY3MpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OmNvbXB1dGVkTGluZUhlaWdodCk6CisgICAg
ICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNwcDogVXNlIHN0eWxlLT5m
b250TWV0cmljcygpIGluc3RlYWQgb2Ygc3R5bGUtPmZvbnQoKSB0byBhY2Nlc3MgdGhlIG1ldHJp
Y3MuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdJbmxpbmVUZXh0Ojpwb3NpdGlvbkZvclBv
aW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OnNlbGVjdGlvblJlY3RGb3JU
ZXh0RnJhZ21lbnQpOgorICAgICAgICAoV2ViQ29yZTo6cG9zaXRpb25PZmZzZXRGb3JEZWNvcmF0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlv
bldpdGhTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbmxpbmVUZXh0Qm94OjpwYWludFRl
eHRXaXRoU2hhZG93cyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbmxpbmVUZXh0Qm94OjpjYWxj
dWxhdGVCb3VuZGFyaWVzKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRF
bmdpbmVCYXNlbGluZS5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dExheW91
dEVuZ2luZUJhc2VsaW5lOjpjYWxjdWxhdGVCYXNlbGluZVNoaWZ0KToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2FsY3VsYXRlQWxpZ25tZW50QmFzZWxp
bmVTaGlmdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmU6
OmNhbGN1bGF0ZUdseXBoQWR2YW5jZUFuZE9yaWVudGF0aW9uKToKKyAgICAgICAgKiByZW5kZXJp
bmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmNwcDogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZzo6Y2FsY3VsYXRlU1ZHS2VybmluZyk6
CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TWV0cmljcy5jcHA6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHVGV4dE1ldHJpY3M6OlNWR1RleHRNZXRyaWNzKToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3ZnL1NWR1RleHRRdWVyeS5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6Y2FsY3VsYXRlR2x5cGhCb3VuZGFyaWVzKToKKyAgICAgICAgKiBzdmcvU1ZHRm9udEZhY2VF
bGVtZW50LmNwcDogCisgICAgICAgIChXZWJDb3JlOjpTVkdGb250RmFjZUVsZW1lbnQ6OnVuaXRz
UGVyRW0pOiBSZW5hbWUgZGVmYXVsdFVuaXRzUGVyRW0gZ2xvYmFsIHRvIGdEZWZhdWx0VW5pdHNQ
ZXJFbS4KKyAgICAgICAgKiBzdmcvU1ZHTGVuZ3RoLmNwcDogVXNlIHN0eWxlLT5mb250TWV0cmlj
cygpIGluc3RlYWQgb2Ygc3R5bGUtPmZvbnQoKSB0byBhY2Nlc3MgdGhlIG1ldHJpY3MuCisgICAg
ICAgIChXZWJDb3JlOjpTVkdMZW5ndGg6OmNvbnZlcnRWYWx1ZUZyb21Vc2VyVW5pdHNUb0VYUyk6
CisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGg6OmNvbnZlcnRWYWx1ZUZyb21FWFNUb1VzZXJV
bml0cyk6CisKIDIwMTAtMTItMjUgIFBldGVyIFJ5YmluICA8cGV0ZXIucnliaW5AZ21haWwuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCkluZGV4OiBXZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9u
IDc0NjY1KQorKysgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAtMjQw
NSw2ICsyNDA1LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRGYW1pbHkuaCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFz
dFBhdGguY3BwIFwKIAlXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaCBcCisJV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oIFwKIAlXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRPcmllbnRhdGlvbi5oIFwKIAlXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRSZW5kZXJpbmdNb2RlLmggXAogCVdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNlbGVj
dG9yLmggXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9XZWJDb3JlLmd5cGkJ
KHdvcmtpbmcgY29weSkKQEAgLTI5MTAsNiArMjkxMCw3IEBACiAgICAgICAgICAgICAncGxhdGZv
cm0vZ3JhcGhpY3MvRm9udEZhbWlseS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRGYW1pbHkuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
c3RQYXRoLmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udE1ldHJpY3Mu
aCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udFJlbmRlcmluZ01vZGUuaCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNlbGVjdG9yLmgnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRTbW9vdGhpbmdNb2RlLmgnLApJbmRleDogV2Vi
Q29yZS9XZWJDb3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUucHJvCShyZXZp
c2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTIx
MTMsNiArMjExMyw3IEBAIEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRE
YXRhLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5oIFwKICAgICBw
bGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5LmggXAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRNZXRyaWNzLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaCBcCiAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvR2VuZXJhdGVkSW1hZ2UuaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
ZGllbnQuaCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlz
aW9uIDc0NjY1KQorKysgV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29y
a2luZyBjb3B5KQpAQCAtMjYzODEsNiArMjYzODEsMTAgQEAKIAkJCQkJPgogCQkJCTwvRmlsZT4K
IAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEZvbnRN
ZXRyaWNzLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGb250UmVuZGVyaW5nTW9kZS5oIgogCQkJCQk+CiAJ
CQkJPC9GaWxlPgpJbmRleDogV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEwNyw2ICsxMDcsNyBAQAogCQkwODNEQUVBNzBG
MDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4M0RBRUEzMEYwMUE3RkIwMDM0
Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5oICovOyB9OwogCQkwODNEQUVBODBG
MDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4M0RBRUE0MEYwMUE3RkIw
MDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwICovOyB9OwogCQkwODNE
QUVBOTBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODNEQUVBNTBGMDFB
N0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmggKi87IH07CisJCTA4
NDU2ODA4MTJCOTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0NTY4MDcxMkI5MERBNjAwOTYwQTlGIC8q
IEZvbnRNZXRyaWNzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJMDg0QTA4MjkxMjhENzg2NzAwMkRCMUYxIC8qIFNWR1BhdGhTZWdMaXN0UHJvcGVy
dHlUZWFyT2ZmLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwODRBMDgyODEyOEQ3ODY3MDAyREIxRjEgLyogU1ZHUGF0aFNlZ0xpc3RQcm9wZXJ0eVRlYXJP
ZmYuaCAqLzsgfTsKIAkJMDg0QUVCRTQwRkI1MDVGQTAwMzg0ODNFIC8qIFNlbGVjdEVsZW1lbnQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0QUVC
RTIwRkI1MDVGQTAwMzg0ODNFIC8qIFNlbGVjdEVsZW1lbnQuY3BwICovOyB9OwogCQkwODRBRUJF
NTBGQjUwNUZBMDAzODQ4M0UgLyogU2VsZWN0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0QUVCRTMwRkI1MDVGQTAwMzg0ODNFIC8qIFNl
bGVjdEVsZW1lbnQuaCAqLzsgfTsKQEAgLTYzNjksNiArNjM3MCw3IEBACiAJCTA4M0RBRUEzMEYw
MUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODNEQUVBNDBGMDFBN0ZCMDAzNDI3NTQgLyogUmVu
ZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTA4M0RBRUE1MEYwMUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29u
dHJvbFNpbmdsZUxpbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVy
VGV4dENvbnRyb2xTaW5nbGVMaW5lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA4
NDU2ODA3MTJCOTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBGb250TWV0cmljcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkwODRBMDgyODEyOEQ3ODY3MDAyREIxRjEgLyogU1ZHUGF0aFNlZ0xpc3RQcm9wZXJ0eVRl
YXJPZmYuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGF0aFNlZ0xpc3RQ
cm9wZXJ0eVRlYXJPZmYuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg0QUVCRTIw
RkI1MDVGQTAwMzg0ODNFIC8qIFNlbGVjdEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gU2VsZWN0RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTA4NEFFQkUzMEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxlY3RFbGVtZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNlbGVjdEVsZW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3MjMyLDYgKzE3MjM0LDcgQEAKIAkJCQlCMkMzREE1ODBE
MDA2Q0Q2MDBFRjZGMjYgLyogRm9udEZhbWlseS5jcHAgKi8sCiAJCQkJQjJDM0RBNTkwRDAwNkNE
NjAwRUY2RjI2IC8qIEZvbnRGYW1pbHkuaCAqLywKIAkJCQk3MjYyNkUwMTBFRjAyMkZFMDBBMDdF
MjAgLyogRm9udEZhc3RQYXRoLmNwcCAqLywKKwkJCQkwODQ1NjgwNzEyQjkwREE2MDA5NjBBOUYg
LyogRm9udE1ldHJpY3MuaCAqLywKIAkJCQlGN0EwMzRDMzEyNkJGNkJFMDA3REMxOUUgLyogRm9u
dE9yaWVudGF0aW9uLmggKi8sCiAJCQkJMzdBQ0NFNDEwREEyOTgwRjAwODlFNjAyIC8qIEZvbnRS
ZW5kZXJpbmdNb2RlLmggKi8sCiAJCQkJQjJDM0RBNUEwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnRT
ZWxlY3Rvci5oICovLApAQCAtMjIxMzQsNiArMjIxMzcsNyBAQAogCQkJCTkzRjE5OUVEMDgyNDVF
NTkwMDFFOUFCQyAvKiBYU0xUUHJvY2Vzc29yLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUJFNTEy
RTBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5N0RENEQ4NzBGREY0RDZFMDBFQ0Y5QTQgLyogWFNTQXVkaXRvci5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMDg0NTY4MDgxMkI5MERBNjAwOTYwQTlGIC8qIEZvbnRNZXRyaWNzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0OTlCM0VDNTEyOENDQzQ3MDBFNzI2QzIgLyogUGxhdGZvcm1DQUxheWVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0OTlCM0VENzEyOENEMzE0MDBFNzI2QzIgLyogR3JhcGhpY3NM
YXllckNBLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTlCM0VERDEyOERCNTAyMDBFNzI2QzIgLyog
UGxhdGZvcm1DQUFuaW1hdGlvbi5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBXZWJDb3JlL2FjY2Vz
c2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
QXRrLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0Fj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIxMSw4
ICsxMjExLDggQEAgc3RhdGljIGludCBiYXNlbGluZVBvc2l0aW9uRm9yQWNjZXNzaWJpbAogICAg
IC8vIEZJWE1FOiBUaGlzIGltcGxlbWVudGF0aW9uIG9mIGJhc2VsaW5lUG9zaXRpb24gb3JpZ2lu
YXRlcyBmcm9tIFJlbmRlck9iamVjdC5jcHAgYW5kIHdhcwogICAgIC8vIHJlbW92ZWQgaW4gcjcw
MDcyLiBUaGUgaW1wbGVtZW50YXRpb24gbG9va3MgaW5jb3JyZWN0IHRob3VnaCwgYmVjYXVzZSB0
aGlzIGlzIG5vdCB0aGUKICAgICAvLyBiYXNlbGluZSBvZiB0aGUgdW5kZXJseWluZyBSZW5kZXJP
YmplY3QsIGJ1dCBvZiB0aGUgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC4KLSAgICBjb25zdCBG
b250JiBmID0gcmVuZGVyT2JqZWN0LT5maXJzdExpbmVTdHlsZSgpLT5mb250KCk7Ci0gICAgcmV0
dXJuIGYuYXNjZW50KCkgKyAocmVuZGVyT2JqZWN0LT5maXJzdExpbmVTdHlsZSgpLT5jb21wdXRl
ZExpbmVIZWlnaHQoKSAtIGYuaGVpZ2h0KCkpIC8gMjsKKyAgICBjb25zdCBGb250TWV0cmljcyYg
Zm9udE1ldHJpY3MgPSByZW5kZXJPYmplY3QtPmZpcnN0TGluZVN0eWxlKCktPmZvbnRNZXRyaWNz
KCk7CisgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmFzY2VudCgpICsgKHJlbmRlck9iamVjdC0+Zmly
c3RMaW5lU3R5bGUoKS0+Y29tcHV0ZWRMaW5lSGVpZ2h0KCkgLSBmb250TWV0cmljcy5oZWlnaHQo
KSkgLyAyOwogfQogCiBzdGF0aWMgQXRrQXR0cmlidXRlU2V0KiBnZXRBdHRyaWJ1dGVTZXRGb3JB
Y2Nlc3NpYmlsaXR5T2JqZWN0KGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCkKSW5k
ZXg6IFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29y
ZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDAsNyArNDAw
LDcgQEAgZG91YmxlIENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoRAogICAgICAgICAg
ICAgLy8gV2UgcmVhbGx5IG5lZWQgdG8gY29tcHV0ZSBFWCB1c2luZyBmb250TWV0cmljcyBmb3Ig
dGhlIG9yaWdpbmFsIHNwZWNpZmllZFNpemUgYW5kIG5vdCB1c2UKICAgICAgICAgICAgIC8vIG91
ciBhY3R1YWwgY29uc3RydWN0ZWQgcmVuZGVyaW5nIGZvbnQuCiAgICAgICAgICAgICBhcHBseVpv
b21NdWx0aXBsaWVyID0gZmFsc2U7Ci0gICAgICAgICAgICBmYWN0b3IgPSBzdHlsZS0+Zm9udCgp
LnhIZWlnaHQoKTsKKyAgICAgICAgICAgIGZhY3RvciA9IHN0eWxlLT5mb250TWV0cmljcygpLnhI
ZWlnaHQoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENTU19SRU1TOgogICAg
ICAgICAgICAgYXBwbHlab29tTXVsdGlwbGllciA9IGZhbHNlOwpJbmRleDogV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAkocmV2aXNpb24gNzQ2
NjUpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE3NjAsNiArMTc2MCw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEOjpkcmF3VGV4dEkKICAgICAgICAgcmV0dXJuOwogCiAgICAgY29uc3QgRm9udCYg
Zm9udCA9IGFjY2Vzc0ZvbnQoKTsKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3Mg
PSBmb250LmZvbnRNZXRyaWNzKCk7CiAKICAgICAvLyBGSVhNRTogSGFuZGxlIG1heFdpZHRoLgog
ICAgIC8vIEZJWE1FOiBOZWVkIHRvIHR1cm4gb2ZmIGZvbnQgc21vb3RoaW5nLgpAQCAtMTc3Nywx
NCArMTc3OCwxNCBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJCiAg
ICAgc3dpdGNoIChzdGF0ZSgpLm1fdGV4dEJhc2VsaW5lKSB7CiAgICAgY2FzZSBUb3BUZXh0QmFz
ZWxpbmU6CiAgICAgY2FzZSBIYW5naW5nVGV4dEJhc2VsaW5lOgotICAgICAgICBsb2NhdGlvbi5z
ZXRZKHkgKyBmb250LmFzY2VudCgpKTsKKyAgICAgICAgbG9jYXRpb24uc2V0WSh5ICsgZm9udE1l
dHJpY3MuYXNjZW50KCkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEJvdHRvbVRleHRCYXNl
bGluZToKICAgICBjYXNlIElkZW9ncmFwaGljVGV4dEJhc2VsaW5lOgotICAgICAgICBsb2NhdGlv
bi5zZXRZKHkgLSBmb250LmRlc2NlbnQoKSk7CisgICAgICAgIGxvY2F0aW9uLnNldFkoeSAtIGZv
bnRNZXRyaWNzLmRlc2NlbnQoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgTWlkZGxlVGV4
dEJhc2VsaW5lOgotICAgICAgICBsb2NhdGlvbi5zZXRZKHkgLSBmb250LmRlc2NlbnQoKSArIGZv
bnQuaGVpZ2h0KCkgLyAyKTsKKyAgICAgICAgbG9jYXRpb24uc2V0WSh5IC0gZm9udE1ldHJpY3Mu
ZGVzY2VudCgpICsgZm9udE1ldHJpY3MuaGVpZ2h0KCkgLyAyKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBBbHBoYWJldGljVGV4dEJhc2VsaW5lOgogICAgIGRlZmF1bHQ6CkBAIC0xODEyLDgg
KzE4MTMsOCBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJCiAgICAg
fQogCiAgICAgLy8gVGhlIHNsb3AgYnVpbHQgaW4gdG8gdGhpcyBtYXNrIHJlY3QgbWF0Y2hlcyB0
aGUgaGV1cmlzdGljIHVzZWQgaW4gRm9udENHV2luLmNwcCBmb3IgR0RJIHRleHQuCi0gICAgRmxv
YXRSZWN0IHRleHRSZWN0ID0gRmxvYXRSZWN0KGxvY2F0aW9uLngoKSAtIGZvbnQuaGVpZ2h0KCkg
LyAyLCBsb2NhdGlvbi55KCkgLSBmb250LmFzY2VudCgpIC0gZm9udC5saW5lR2FwKCksCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoICsgZm9udC5oZWlnaHQoKSwgZm9u
dC5saW5lU3BhY2luZygpKTsKKyAgICBGbG9hdFJlY3QgdGV4dFJlY3QgPSBGbG9hdFJlY3QobG9j
YXRpb24ueCgpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkgLyAyLCBsb2NhdGlvbi55KCkgLSBmb250
TWV0cmljcy5hc2NlbnQoKSAtIGZvbnRNZXRyaWNzLmxpbmVHYXAoKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgd2lkdGggKyBmb250TWV0cmljcy5oZWlnaHQoKSwgZm9udE1l
dHJpY3MubGluZVNwYWNpbmcoKSk7CiAgICAgaWYgKCFmaWxsKQogICAgICAgICB0ZXh0UmVjdC5p
bmZsYXRlKGMtPnN0cm9rZVRoaWNrbmVzcygpIC8gMik7CiAKSW5kZXg6IFdlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzY2
LDcgKzE3NjYsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRyYXdFbGVtZW50VGl0CiAg
ICAgY29udGV4dC5zZXRGaWxsQ29sb3IodG9vbHRpcEJhY2tncm91bmRDb2xvciwgQ29sb3JTcGFj
ZURldmljZVJHQik7CiAgICAgY29udGV4dC5kcmF3UmVjdCh0aXRsZVJlY3QpOwogICAgIGNvbnRl
eHQuc2V0RmlsbENvbG9yKHRvb2x0aXBGb250Q29sb3IsIENvbG9yU3BhY2VEZXZpY2VSR0IpOwot
ICAgIGNvbnRleHQuZHJhd1RleHQoZm9udCwgbm9kZVRpdGxlUnVuLCBJbnRQb2ludCh0aXRsZVJl
Y3QueCgpICsgcmVjdEluZmxhdGVQeCwgdGl0bGVSZWN0LnkoKSArIGZvbnQuaGVpZ2h0KCkpKTsK
KyAgICBjb250ZXh0LmRyYXdUZXh0KGZvbnQsIG5vZGVUaXRsZVJ1biwgSW50UG9pbnQodGl0bGVS
ZWN0LngoKSArIHJlY3RJbmZsYXRlUHgsIHRpdGxlUmVjdC55KCkgKyBmb250LmZvbnRNZXRyaWNz
KCkuaGVpZ2h0KCkpKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpvcGVuSW5JbnNw
ZWN0ZWRXaW5kb3coY29uc3QgU3RyaW5nJiB1cmwpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2No
cm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBX
ZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTU5LDcgKzk1OSw3IEBAIHZvaWQgUG9wdXBMaXN0Qm94OjpwYWludFJvdyhHcmFw
aGljc0NvbnQKICAgICAgICAgdGV4dFggKz0gbWF4V2lkdGggLSBpdGVtRm9udC53aWR0aCh0ZXh0
UnVuKTsKIAogICAgIC8vIERyYXcgdGhlIGl0ZW0gdGV4dC4KLSAgICBpbnQgdGV4dFkgPSByb3dS
ZWN0LnkoKSArIGl0ZW1Gb250LmFzY2VudCgpICsgKHJvd1JlY3QuaGVpZ2h0KCkgLSBpdGVtRm9u
dC5oZWlnaHQoKSkgLyAyOworICAgIGludCB0ZXh0WSA9IHJvd1JlY3QueSgpICsgaXRlbUZvbnQu
Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSArIChyb3dSZWN0LmhlaWdodCgpIC0gaXRlbUZvbnQuZm9u
dE1ldHJpY3MoKS5oZWlnaHQoKSkgLyAyOwogICAgIGdjLT5kcmF3QmlkaVRleHQoaXRlbUZvbnQs
IHRleHRSdW4sIEludFBvaW50KHRleHRYLCB0ZXh0WSkpOwogCiAgICAgLy8gV2UgYXJlIHVzaW5n
IHRoZSBsZWZ0IHBhZGRpbmcgYXMgdGhlIHJpZ2h0IHBhZGRpbmcgaW5jbHVkZXMgcm9vbSBmb3Ig
dGhlIHNjcm9sbC1iYXIgd2hpY2gKQEAgLTEwOTksNyArMTA5OSw3IEBAIGludCBQb3B1cExpc3RC
b3g6OmdldFJvd0hlaWdodChpbnQgaW5kZXgKICAgICBTdHJpbmcgaWNvbiA9IG1fcG9wdXBDbGll
bnQtPml0ZW1JY29uKGluZGV4KTsKICAgICBSZWZQdHI8SW1hZ2U+IGltYWdlKEltYWdlOjpsb2Fk
UGxhdGZvcm1SZXNvdXJjZShpY29uLnV0ZjgoKS5kYXRhKCkpKTsKIAotICAgIGludCBmb250SGVp
Z2h0ID0gZ2V0Um93Rm9udChpbmRleCkuaGVpZ2h0KCk7CisgICAgaW50IGZvbnRIZWlnaHQgPSBn
ZXRSb3dGb250KGluZGV4KS5mb250TWV0cmljcygpLmhlaWdodCgpOwogICAgIGludCBpY29uSGVp
Z2h0ID0gKGltYWdlICYmICFpbWFnZS0+aXNOdWxsKCkpID8gaW1hZ2UtPnJlY3QoKS5oZWlnaHQo
KSA6IDA7CiAKICAgICByZXR1cm4gbWF4KGZvbnRIZWlnaHQsIGljb25IZWlnaHQpOwpJbmRleDog
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDcgKzQ0LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRmxvYXRQb2ludDsKIGNsYXNzIEZsb2F0UmVjdDsKIGNs
YXNzIEZvbnREYXRhOwotY2xhc3MgRm9udEZhbGxiYWNrTGlzdDsKK2NsYXNzIEZvbnRNZXRyaWNz
OwogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIEZvbnRTZWxlY3RvcjsKIGNsYXNzIEds
eXBoQnVmZmVyOwpAQCAtNTQsOCArNTQsNiBAQCBjbGFzcyBTVkdGb250RWxlbWVudDsKIAogc3Ry
dWN0IEdseXBoRGF0YTsKIAotY29uc3QgdW5zaWduZWQgZGVmYXVsdFVuaXRzUGVyRW0gPSAxMDAw
OwotCiBzdHJ1Y3QgR2x5cGhPdmVyZmxvdyB7CiAgICAgR2x5cGhPdmVyZmxvdygpCiAgICAgICAg
IDogbGVmdCgwKQpAQCAtMTI4LDEzICsxMjYsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1BsYXRm
b3JtRm9udCgpIGNvbnN0IHsgcmV0dXJuIG1faXNQbGF0Zm9ybUZvbnQ7IH0KIAogICAgIC8vIE1l
dHJpY3MgdGhhdCB3ZSBxdWVyeSB0aGUgRm9udEZhbGxiYWNrTGlzdCBmb3IuCi0gICAgaW50IGFz
Y2VudChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBjb25z
dCB7IHJldHVybiBwcmltYXJ5Rm9udCgpLT5hc2NlbnQoYmFzZWxpbmVUeXBlKTsgfQotICAgIGlu
dCBkZXNjZW50KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUp
IGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmRlc2NlbnQoYmFzZWxpbmVUeXBlKTsgfQot
ICAgIGludCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBhc2NlbnQoKSArIGRlc2NlbnQoKTsgfQot
ICAgIGludCBsaW5lU3BhY2luZygpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmxpbmVT
cGFjaW5nKCk7IH0KLSAgICBpbnQgbGluZUdhcCgpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250
KCktPmxpbmVHYXAoKTsgfQotICAgIGZsb2F0IHhIZWlnaHQoKSBjb25zdCB7IHJldHVybiBwcmlt
YXJ5Rm9udCgpLT54SGVpZ2h0KCk7IH0KLSAgICB1bnNpZ25lZCB1bml0c1BlckVtKCkgY29uc3Qg
eyByZXR1cm4gcHJpbWFyeUZvbnQoKS0+dW5pdHNQZXJFbSgpOyB9CisgICAgY29uc3QgRm9udE1l
dHJpY3MmIGZvbnRNZXRyaWNzKCkgY29uc3QgeyByZXR1cm4gcHJpbWFyeUZvbnQoKS0+Zm9udE1l
dHJpY3MoKTsgfQogICAgIGludCBzcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1cm4gKGludCljZWls
ZihwcmltYXJ5Rm9udCgpLT5hZGp1c3RlZFNwYWNlV2lkdGgoKSArIG1fbGV0dGVyU3BhY2luZyk7
IH0KICAgICBmbG9hdCB0YWJXaWR0aChjb25zdCBTaW1wbGVGb250RGF0YSYgZm9udERhdGEpIGNv
bnN0IHsgcmV0dXJuIDggKiBjZWlsZihmb250RGF0YS5hZGp1c3RlZFNwYWNlV2lkdGgoKSArIGxl
dHRlclNwYWNpbmcoKSk7IH0KICAgICBpbnQgZW1waGFzaXNNYXJrQXNjZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYpIGNvbnN0OwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFz
dFBhdGguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
c3RQYXRoLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRGYXN0UGF0aC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0MSw3ICsyNDEsNyBAQCBpbnQg
Rm9udDo6ZW1waGFzaXNNYXJrQXNjZW50KGNvbnN0IEF0b21pCiAgICAgaWYgKCFtYXJrRm9udERh
dGEpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIG1hcmtGb250RGF0YS0+YXNjZW50
KCk7CisgICAgcmV0dXJuIG1hcmtGb250RGF0YS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKTsKIH0K
IAogaW50IEZvbnQ6OmVtcGhhc2lzTWFya0Rlc2NlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBtYXJr
KSBjb25zdApAQCAtMjU1LDcgKzI1NSw3IEBAIGludCBGb250OjplbXBoYXNpc01hcmtEZXNjZW50
KGNvbnN0IEF0b20KICAgICBpZiAoIW1hcmtGb250RGF0YSkKICAgICAgICAgcmV0dXJuIDA7CiAK
LSAgICByZXR1cm4gbWFya0ZvbnREYXRhLT5kZXNjZW50KCk7CisgICAgcmV0dXJuIG1hcmtGb250
RGF0YS0+Zm9udE1ldHJpY3MoKS5kZXNjZW50KCk7CiB9CiAKIGludCBGb250OjplbXBoYXNpc01h
cmtIZWlnaHQoY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrKSBjb25zdApAQCAtMjY5LDcgKzI2OSw3
IEBAIGludCBGb250OjplbXBoYXNpc01hcmtIZWlnaHQoY29uc3QgQXRvbWkKICAgICBpZiAoIW1h
cmtGb250RGF0YSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICByZXR1cm4gbWFya0ZvbnREYXRh
LT5oZWlnaHQoKTsKKyAgICByZXR1cm4gbWFya0ZvbnREYXRhLT5mb250TWV0cmljcygpLmhlaWdo
dCgpOwogfQogCiBmbG9hdCBGb250OjpnZXRHbHlwaHNBbmRBZHZhbmNlc0ZvclNpbXBsZVRleHQo
Y29uc3QgVGV4dFJ1biYgcnVuLCBpbnQgZnJvbSwgaW50IHRvLCBHbHlwaEJ1ZmZlciYgZ2x5cGhC
dWZmZXIsIEZvclRleHRFbXBoYXNpc09yTm90IGZvclRleHRFbXBoYXNpcykgY29uc3QKQEAgLTQw
Myw4ICs0MDMsOCBAQCBmbG9hdCBGb250OjpmbG9hdFdpZHRoRm9yU2ltcGxlVGV4dChjb25zCiAg
ICAgaXQuYWR2YW5jZShydW4ubGVuZ3RoKCksIGdseXBoQnVmZmVyKTsKIAogICAgIGlmIChnbHlw
aE92ZXJmbG93KSB7Ci0gICAgICAgIGdseXBoT3ZlcmZsb3ctPnRvcCA9IG1heDxpbnQ+KGdseXBo
T3ZlcmZsb3ctPnRvcCwgY2VpbGYoLWl0Lm1pbkdseXBoQm91bmRpbmdCb3hZKCkpIC0gYXNjZW50
KCkpOwotICAgICAgICBnbHlwaE92ZXJmbG93LT5ib3R0b20gPSBtYXg8aW50PihnbHlwaE92ZXJm
bG93LT5ib3R0b20sIGNlaWxmKGl0Lm1heEdseXBoQm91bmRpbmdCb3hZKCkpIC0gZGVzY2VudCgp
KTsKKyAgICAgICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4PGludD4oZ2x5cGhPdmVyZmxvdy0+
dG9wLCBjZWlsZigtaXQubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSBmb250TWV0cmljcygpLmFz
Y2VudCgpKTsKKyAgICAgICAgZ2x5cGhPdmVyZmxvdy0+Ym90dG9tID0gbWF4PGludD4oZ2x5cGhP
dmVyZmxvdy0+Ym90dG9tLCBjZWlsZihpdC5tYXhHbHlwaEJvdW5kaW5nQm94WSgpKSAtIGZvbnRN
ZXRyaWNzKCkuZGVzY2VudCgpKTsKICAgICAgICAgZ2x5cGhPdmVyZmxvdy0+bGVmdCA9IGNlaWxm
KGl0LmZpcnN0R2x5cGhPdmVyZmxvdygpKTsKICAgICAgICAgZ2x5cGhPdmVyZmxvdy0+cmlnaHQg
PSBjZWlsZihpdC5sYXN0R2x5cGhPdmVyZmxvdygpKTsKICAgICB9CkluZGV4OiBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyMyBA
QAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCisgICAgYWludCB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBN
QSAwMjExMC0xMzAxLCBVU0EuCisqLworCisjaWZuZGVmIEZvbnRNZXRyaWNzX2gKKyNkZWZpbmUg
Rm9udE1ldHJpY3NfaAorCisjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjb25zdCB1bnNpZ25lZCBnRGVmYXVsdFVuaXRzUGVyRW0gPSAxMDAwOwor
CitjbGFzcyBGb250TWV0cmljcyB7CitwdWJsaWM6CisgICAgRm9udE1ldHJpY3MoKQorICAgICAg
ICA6IG1fdW5pdHNQZXJFbShnRGVmYXVsdFVuaXRzUGVyRW0pCisgICAgICAgICwgbV9hc2NlbnQo
MCkKKyAgICAgICAgLCBtX2Rlc2NlbnQoMCkKKyAgICAgICAgLCBtX2xpbmVHYXAoMCkKKyAgICAg
ICAgLCBtX2xpbmVTcGFjaW5nKDApCisgICAgICAgICwgbV94SGVpZ2h0KDApCisgICAgeworICAg
IH0KKworICAgIHVuc2lnbmVkIHVuaXRzUGVyRW0oKSBjb25zdCB7IHJldHVybiBtX3VuaXRzUGVy
RW07IH0KKyAgICB2b2lkIHNldFVuaXRzUGVyRW0odW5zaWduZWQgdW5pdHNQZXJFbSkgeyBtX3Vu
aXRzUGVyRW0gPSB1bml0c1BlckVtOyB9CisKKyAgICBmbG9hdCBmbG9hdEFzY2VudChGb250QmFz
ZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBjb25zdAorICAgIHsKKyAg
ICAgICAgaWYgKGJhc2VsaW5lVHlwZSA9PSBBbHBoYWJldGljQmFzZWxpbmUpCisgICAgICAgICAg
ICByZXR1cm4gbV9hc2NlbnQ7CisgICAgICAgIHJldHVybiBmbG9hdEhlaWdodCgpIC8gMjsKKyAg
ICB9CisKKyAgICB2b2lkIHNldEFzY2VudChmbG9hdCBhc2NlbnQpIHsgbV9hc2NlbnQgPSBhc2Nl
bnQ7IH0KKworICAgIGZsb2F0IGZsb2F0RGVzY2VudChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBl
ID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKGJhc2VsaW5l
VHlwZSA9PSBBbHBoYWJldGljQmFzZWxpbmUpCisgICAgICAgICAgICByZXR1cm4gbV9kZXNjZW50
OworICAgICAgICByZXR1cm4gZmxvYXRIZWlnaHQoKSAvIDI7CisgICAgfQorCisgICAgdm9pZCBz
ZXREZXNjZW50KGZsb2F0IGRlc2NlbnQpIHsgbV9kZXNjZW50ID0gZGVzY2VudDsgfQorCisgICAg
ZmxvYXQgZmxvYXRIZWlnaHQoRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0aWNC
YXNlbGluZSkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmbG9hdEFzY2VudChiYXNlbGlu
ZVR5cGUpICsgZmxvYXREZXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgfQorCisgICAgZmxvYXQg
ZmxvYXRMaW5lR2FwKCkgY29uc3QgeyByZXR1cm4gbV9saW5lR2FwOyB9CisgICAgdm9pZCBzZXRM
aW5lR2FwKGZsb2F0IGxpbmVHYXApIHsgbV9saW5lR2FwID0gbGluZUdhcDsgfQorCisgICAgZmxv
YXQgZmxvYXRMaW5lU3BhY2luZygpIGNvbnN0IHsgcmV0dXJuIG1fbGluZVNwYWNpbmc7IH0KKyAg
ICB2b2lkIHNldExpbmVTcGFjaW5nKGZsb2F0IGxpbmVTcGFjaW5nKSB7IG1fbGluZVNwYWNpbmcg
PSBsaW5lU3BhY2luZzsgfQorCisgICAgZmxvYXQgeEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1f
eEhlaWdodDsgfQorICAgIHZvaWQgc2V0WEhlaWdodChmbG9hdCB4SGVpZ2h0KSB7IG1feEhlaWdo
dCA9IHhIZWlnaHQ7IH0KKworICAgIC8vIEludGVnZXIgdmFyaWFudHMgb2YgY2VydGFpbiBtZXRy
aWNzLCB1c2VkIGZvciBIVE1MIHJlbmRlcmluZy4KKyAgICBpbnQgYXNjZW50KEZvbnRCYXNlbGlu
ZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0CisgICAgeworICAgICAg
ICBpZiAoYmFzZWxpbmVUeXBlID09IEFscGhhYmV0aWNCYXNlbGluZSkKKyAgICAgICAgICAgIHJl
dHVybiBscm91bmRmKG1fYXNjZW50KTsKKyAgICAgICAgcmV0dXJuIGhlaWdodCgpIC0gaGVpZ2h0
KCkgLyAyOworICAgIH0KKworICAgIGludCBkZXNjZW50KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5
cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0CisgICAgeworICAgICAgICBpZiAoYmFzZWxp
bmVUeXBlID09IEFscGhhYmV0aWNCYXNlbGluZSkKKyAgICAgICAgICAgIHJldHVybiBscm91bmRm
KG1fZGVzY2VudCk7CisgICAgICAgIHJldHVybiBoZWlnaHQoKSAvIDI7CisgICAgfQorCisgICAg
aW50IGhlaWdodChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5l
KSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGFzY2VudChiYXNlbGluZVR5cGUpICsgZGVz
Y2VudChiYXNlbGluZVR5cGUpOworICAgIH0KKworICAgIGludCBsaW5lR2FwKCkgY29uc3QgeyBy
ZXR1cm4gbHJvdW5kZihtX2xpbmVHYXApOyB9CisgICAgaW50IGxpbmVTcGFjaW5nKCkgY29uc3Qg
eyByZXR1cm4gbHJvdW5kZihtX2xpbmVTcGFjaW5nKTsgfQorCitwcml2YXRlOgorICAgIGZyaWVu
ZCBjbGFzcyBTaW1wbGVGb250RGF0YTsKKworICAgIHZvaWQgcmVzZXQoKQorICAgIHsKKyAgICAg
ICAgbV91bml0c1BlckVtID0gZ0RlZmF1bHRVbml0c1BlckVtOworICAgICAgICBtX2FzY2VudCA9
IDA7CisgICAgICAgIG1fZGVzY2VudCA9IDA7CisgICAgICAgIG1fbGluZUdhcCA9IDA7CisgICAg
ICAgIG1fbGluZVNwYWNpbmcgPSAwOworICAgICAgICBtX3hIZWlnaHQgPSAwOworICAgIH0KKwor
cHJpdmF0ZToKKyAgICB1bnNpZ25lZCBtX3VuaXRzUGVyRW07CisgICAgZmxvYXQgbV9hc2NlbnQ7
CisgICAgZmxvYXQgbV9kZXNjZW50OworICAgIGZsb2F0IG1fbGluZUdhcDsKKyAgICBmbG9hdCBt
X2xpbmVTcGFjaW5nOworICAgIGZsb2F0IG1feEhlaWdodDsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEZvbnRNZXRyaWNzX2gKSW5kZXg6IFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01MCw3ICs1MCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIFNpbXBsZUZvbnREYXRhOjpT
aW1wbGVGb250RGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhJiBwbGF0Zm9ybURhdGEsIGJvb2wg
aXNDdXN0b21Gb250LCBib29sIGlzTG9hZGluZykKICAgICA6IG1fbWF4Q2hhcldpZHRoKC0xKQog
ICAgICwgbV9hdmdDaGFyV2lkdGgoLTEpCi0gICAgLCBtX3VuaXRzUGVyRW0oZGVmYXVsdFVuaXRz
UGVyRW0pCiAgICAgLCBtX29yaWVudGF0aW9uKHBsYXRmb3JtRGF0YS5vcmllbnRhdGlvbigpKQog
ICAgICwgbV9wbGF0Zm9ybURhdGEocGxhdGZvcm1EYXRhKQogICAgICwgbV90cmVhdEFzRml4ZWRQ
aXRjaChmYWxzZSkKQEAgLTc0LDIzICs3MywyOSBAQCBTaW1wbGVGb250RGF0YTo6U2ltcGxlRm9u
dERhdGEoUGFzc093blB0CiAgICAgLCBtX2lzQnJva2VuSWRlb2dyYXBoRm9udChmYWxzZSkKIHsK
ICAgICBTVkdGb250RmFjZUVsZW1lbnQqIHN2Z0ZvbnRGYWNlRWxlbWVudCA9IG1fc3ZnRm9udERh
dGEtPnN2Z0ZvbnRGYWNlRWxlbWVudCgpOwotICAgIG1fdW5pdHNQZXJFbSA9IHN2Z0ZvbnRGYWNl
RWxlbWVudC0+dW5pdHNQZXJFbSgpOworICAgIHVuc2lnbmVkIHVuaXRzUGVyRW0gPSBzdmdGb250
RmFjZUVsZW1lbnQtPnVuaXRzUGVyRW0oKTsKIAotICAgIGRvdWJsZSBzY2FsZSA9IHNpemU7Ci0g
ICAgaWYgKG1fdW5pdHNQZXJFbSkKLSAgICAgICAgc2NhbGUgLz0gbV91bml0c1BlckVtOwotCi0g
ICAgbV9hc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KHN2Z0ZvbnRGYWNlRWxlbWVudC0+YXNjZW50
KCkgKiBzY2FsZSk7Ci0gICAgbV9kZXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50PihzdmdGb250RmFj
ZUVsZW1lbnQtPmRlc2NlbnQoKSAqIHNjYWxlKTsKLSAgICBtX3hIZWlnaHQgPSBzdGF0aWNfY2Fz
dDxpbnQ+KHN2Z0ZvbnRGYWNlRWxlbWVudC0+eEhlaWdodCgpICogc2NhbGUpOwotICAgIG1fbGlu
ZUdhcCA9IDAuMWYgKiBzaXplOwotICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1fZGVz
Y2VudCArIG1fbGluZUdhcDsKKyAgICBmbG9hdCBzY2FsZSA9IHNpemU7CisgICAgaWYgKHVuaXRz
UGVyRW0pCisgICAgICAgIHNjYWxlIC89IHVuaXRzUGVyRW07CisKKyAgICAvLyBGSVhNRTogVXNl
IGZsb2F0aW5nLXBvaW50IG1ldHJpY3MsIG5vdyB0aGF0IHRoZXkncmUgZXhwb3NlZCEKKyAgICBp
bnQgeEhlaWdodCA9IHN0YXRpY19jYXN0PGludD4oc3ZnRm9udEZhY2VFbGVtZW50LT54SGVpZ2h0
KCkgKiBzY2FsZSk7CisgICAgaW50IGFzY2VudCA9IHN0YXRpY19jYXN0PGludD4oc3ZnRm9udEZh
Y2VFbGVtZW50LT5hc2NlbnQoKSAqIHNjYWxlKTsKKyAgICBpbnQgZGVzY2VudCA9IHN0YXRpY19j
YXN0PGludD4oc3ZnRm9udEZhY2VFbGVtZW50LT5kZXNjZW50KCkgKiBzY2FsZSk7CisgICAgaW50
IGxpbmVHYXAgPSAwLjFmICogc2l6ZTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFVuaXRzUGVyRW0o
dW5pdHNQZXJFbSk7CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAgICBt
X2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoZGVzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXRM
aW5lR2FwKGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNjZW50
ICsgZGVzY2VudCArIGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh4SGVp
Z2h0KTsKIAogICAgIFNWR0ZvbnRFbGVtZW50KiBhc3NvY2lhdGVkRm9udEVsZW1lbnQgPSBzdmdG
b250RmFjZUVsZW1lbnQtPmFzc29jaWF0ZWRGb250RWxlbWVudCgpOwogCiAgICAgVmVjdG9yPFNW
R0dseXBoSWRlbnRpZmllcj4gc3BhY2VHbHlwaHM7CiAgICAgYXNzb2NpYXRlZEZvbnRFbGVtZW50
LT5nZXRHbHlwaElkZW50aWZpZXJzRm9yU3RyaW5nKFN0cmluZygiICIsIDEpLCBzcGFjZUdseXBo
cyk7Ci0gICAgbV9zcGFjZVdpZHRoID0gc3BhY2VHbHlwaHMuaXNFbXB0eSgpID8gbV94SGVpZ2h0
IDogc3RhdGljX2Nhc3Q8ZmxvYXQ+KHNwYWNlR2x5cGhzLmZpcnN0KCkuaG9yaXpvbnRhbEFkdmFu
Y2VYICogc2NhbGUpOworICAgIG1fc3BhY2VXaWR0aCA9IHNwYWNlR2x5cGhzLmlzRW1wdHkoKSA/
IHhIZWlnaHQgOiBzdGF0aWNfY2FzdDxmbG9hdD4oc3BhY2VHbHlwaHMuZmlyc3QoKS5ob3Jpem9u
dGFsQWR2YW5jZVggKiBzY2FsZSk7CiAKICAgICBWZWN0b3I8U1ZHR2x5cGhJZGVudGlmaWVyPiBu
dW1lcmFsWmVyb0dseXBoczsKICAgICBhc3NvY2lhdGVkRm9udEVsZW1lbnQtPmdldEdseXBoSWRl
bnRpZmllcnNGb3JTdHJpbmcoU3RyaW5nKCIwIiwgMSksIG51bWVyYWxaZXJvR2x5cGhzKTsKQEAg
LTk4LDcgKzEwMyw3IEBAIFNpbXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YShQYXNzT3duUHQK
IAogICAgIFZlY3RvcjxTVkdHbHlwaElkZW50aWZpZXI+IGxldHRlcldHbHlwaHM7CiAgICAgYXNz
b2NpYXRlZEZvbnRFbGVtZW50LT5nZXRHbHlwaElkZW50aWZpZXJzRm9yU3RyaW5nKFN0cmluZygi
VyIsIDEpLCBsZXR0ZXJXR2x5cGhzKTsKLSAgICBtX21heENoYXJXaWR0aCA9IGxldHRlcldHbHlw
aHMuaXNFbXB0eSgpID8gbV9hc2NlbnQgOiBzdGF0aWNfY2FzdDxmbG9hdD4obGV0dGVyV0dseXBo
cy5maXJzdCgpLmhvcml6b250YWxBZHZhbmNlWCAqIHNjYWxlKTsKKyAgICBtX21heENoYXJXaWR0
aCA9IGxldHRlcldHbHlwaHMuaXNFbXB0eSgpID8gYXNjZW50IDogc3RhdGljX2Nhc3Q8ZmxvYXQ+
KGxldHRlcldHbHlwaHMuZmlyc3QoKS5ob3Jpem9udGFsQWR2YW5jZVggKiBzY2FsZSk7CiAKICAg
ICAvLyBGSVhNRTogaXMgdGhlcmUgYSB3YXkgd2UgY2FuIGdldCB0aGUgc3BhY2UgZ2x5cGggZnJv
bSB0aGUgU1ZHR2x5cGhJZGVudGlmaWVyIGFib3ZlPwogICAgIG1fc3BhY2VHbHlwaCA9IDA7CkBA
IC0xMjYsMTAgKzEzMSwxMSBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjppbml0Q2hhcldpZHRocygp
CiAKICAgICAvLyBJZiB3ZSBjYW4ndCByZXRyaWV2ZSB0aGUgd2lkdGggb2YgYSAnMCcsIGZhbGwg
YmFjayB0byB0aGUgeCBoZWlnaHQuCiAgICAgaWYgKG1fYXZnQ2hhcldpZHRoIDw9IDAuZikKLSAg
ICAgICAgbV9hdmdDaGFyV2lkdGggPSBtX3hIZWlnaHQ7CisgICAgICAgIG1fYXZnQ2hhcldpZHRo
ID0gbV9mb250TWV0cmljcy54SGVpZ2h0KCk7CiAKKyAgICAvLyBGSVhNRTogVXNlIGZsb2F0aW5n
LXBvaW50IG1ldHJpY3MsIG5vdyB0aGF0IHRoZXkncmUgZXhwb3NlZCEKICAgICBpZiAobV9tYXhD
aGFyV2lkdGggPD0gMC5mKQotICAgICAgICBtX21heENoYXJXaWR0aCA9IG1heDxmbG9hdD4obV9h
dmdDaGFyV2lkdGgsIG1fYXNjZW50KTsKKyAgICAgICAgbV9tYXhDaGFyV2lkdGggPSBtYXg8Zmxv
YXQ+KG1fYXZnQ2hhcldpZHRoLCBtX2ZvbnRNZXRyaWNzLmFzY2VudCgpKTsKIH0KIAogdm9pZCBT
aW1wbGVGb250RGF0YTo6cGxhdGZvcm1HbHlwaEluaXQoKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2
LDYgKzI2LDcgQEAKIAogI2luY2x1ZGUgIkZvbnRCYXNlbGluZS5oIgogI2luY2x1ZGUgIkZvbnRE
YXRhLmgiCisjaW5jbHVkZSAiRm9udE1ldHJpY3MuaCIKICNpbmNsdWRlICJGb250UGxhdGZvcm1E
YXRhLmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiR2x5cGhNZXRyaWNzTWFw
LmgiCkBAIC0xMDEsMTUgKzEwMiw5IEBAIHB1YmxpYzoKICAgICAvLyBGSVhNRTogVXNlIHRoZSBh
Y3R1YWwgbWV0cmljcyBmb3IgZm9udHMgd2l0aCB2ZXJ0aWNhbCB0YWJsZXMgaW5zdGVhZCBvZiBq
dXN0IGhhcmQtY29kaW5nLiAgSWYgdGhlIGZvbnQgaXMgaG9yaXpvbnRhbGx5IG9yaWVudGVkIG9y
CiAgICAgLy8gYSBicm9rZW4gaWRlb2dyYXBoaWMgZm9udCwgdGhlbiBqdXN0IGhhcmQtY29kZSB0
byBzcGxpdCBhc2NlbnQvZGVzY2VudCBkb3duIHRoZSBtaWRkbGUuICBPdGhlcndpc2Ugd2Ugc2hv
dWxkIGFjdHVhbGx5IHVzZSB0aGUgbWV0cmljcwogICAgIC8vIGZyb20gdGhlIGZvbnQgaXRzZWxm
LgotICAgIGludCBhc2NlbnQoRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0aWNC
YXNlbGluZSkgY29uc3QgeyByZXR1cm4gYmFzZWxpbmVUeXBlID09IEFscGhhYmV0aWNCYXNlbGlu
ZSA/IG1fYXNjZW50IDogaGVpZ2h0KCkgLSBoZWlnaHQoKSAvIDI7IH0KLSAgICBpbnQgZGVzY2Vu
dChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBjb25zdCB7
IHJldHVybiBiYXNlbGluZVR5cGUgPT0gQWxwaGFiZXRpY0Jhc2VsaW5lID8gbV9kZXNjZW50IDog
aGVpZ2h0KCkgLyAyOyB9Ci0gICAgaW50IGhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1fYXNjZW50
ICsgbV9kZXNjZW50OyB9Ci0gICAgaW50IGxpbmVTcGFjaW5nKCkgY29uc3QgeyByZXR1cm4gbV9s
aW5lU3BhY2luZzsgfQotICAgIGludCBsaW5lR2FwKCkgY29uc3QgeyByZXR1cm4gbV9saW5lR2Fw
OyB9CisgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzKCkgY29uc3QgeyByZXR1cm4g
bV9mb250TWV0cmljczsgfQogICAgIGZsb2F0IG1heENoYXJXaWR0aCgpIGNvbnN0IHsgcmV0dXJu
IG1fbWF4Q2hhcldpZHRoOyB9CiAgICAgZmxvYXQgYXZnQ2hhcldpZHRoKCkgY29uc3QgeyByZXR1
cm4gbV9hdmdDaGFyV2lkdGg7IH0KLSAgICBmbG9hdCB4SGVpZ2h0KCkgY29uc3QgeyByZXR1cm4g
bV94SGVpZ2h0OyB9Ci0gICAgdW5zaWduZWQgdW5pdHNQZXJFbSgpIGNvbnN0IHsgcmV0dXJuIG1f
dW5pdHNQZXJFbTsgfQogCiAgICAgRmxvYXRSZWN0IGJvdW5kc0ZvckdseXBoKEdseXBoKSBjb25z
dDsKICAgICBmbG9hdCB3aWR0aEZvckdseXBoKEdseXBoIGdseXBoKSBjb25zdDsKQEAgLTIxMSwx
NCArMjA2LDkgQEAgcHJpdmF0ZToKICAgICBmbG9hdCB3aWR0aEZvckdESUdseXBoKEdseXBoIGds
eXBoKSBjb25zdDsKICNlbmRpZgogCi0gICAgaW50IG1fYXNjZW50OwotICAgIGludCBtX2Rlc2Nl
bnQ7Ci0gICAgaW50IG1fbGluZVNwYWNpbmc7Ci0gICAgaW50IG1fbGluZUdhcDsKKyAgICBGb250
TWV0cmljcyBtX2ZvbnRNZXRyaWNzOwogICAgIGZsb2F0IG1fbWF4Q2hhcldpZHRoOwogICAgIGZs
b2F0IG1fYXZnQ2hhcldpZHRoOwotICAgIGZsb2F0IG1feEhlaWdodDsKLSAgICB1bnNpZ25lZCBt
X3VuaXRzUGVyRW07CiAgICAgCiAgICAgRm9udE9yaWVudGF0aW9uIG1fb3JpZW50YXRpb247IC8v
IFRoaXMgaXMgb3VyIHN1cHBvcnRlZCBvcmllbnRhdGlvbiBhY2NvcmRpbmcgdG8gdGhlIHRhYmxl
cyBpbiB0aGUgZm9udC4gIEZvbnRQbGF0Zm9ybURhdGEgd2lsbCBqdXN0IGFsd2F5cyBoYXZlIHRo
ZSBkZXNpcmVkIG9yaWVudGF0aW9uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyBUaGlzIHZhbHVlIHJlcHJlc2VudHMgd2hhdCB3ZSBhY3R1YWxseSBzdXBwb3J0LgpJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2hyb21pdW1XaW4uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udENo
cm9taXVtV2luLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1bVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0Niwx
MCArMjQ2LDExIEBAIEludFJlY3QgVHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50ZXI6OmUKICAg
ICBmb3IgKGludCBpID0gMDsgaSA8IG1fbnVtR2x5cGhzOyBpKyspCiAgICAgICAgIHRvdGFsV2lk
dGggKz0gbHJvdW5kZihtX2dseXBoQnVmZmVyLmFkdmFuY2VBdChtX2Zyb20gKyBpKSk7CiAKLSAg
ICByZXR1cm4gSW50UmVjdChtX3BvaW50LngoKSAtIChtX2ZvbnQtPmFzY2VudCgpICsgbV9mb250
LT5kZXNjZW50KCkpIC8gMiwKLSAgICAgICAgICAgICAgICAgICBtX3BvaW50LnkoKSAtIG1fZm9u
dC0+YXNjZW50KCkgLSBtX2ZvbnQtPmxpbmVHYXAoKSwKLSAgICAgICAgICAgICAgICAgICB0b3Rh
bFdpZHRoICsgbV9mb250LT5hc2NlbnQoKSArIG1fZm9udC0+ZGVzY2VudCgpLAotICAgICAgICAg
ICAgICAgICAgIG1fZm9udC0+bGluZVNwYWNpbmcoKSk7IAorICAgIGNvbnN0IEZvbnRNZXRyaWNz
JiBmb250TWV0cmljcyA9IG1fZm9udC0+Zm9udE1ldHJpY3MoKTsKKyAgICByZXR1cm4gSW50UmVj
dChtX3BvaW50LngoKSAtIChmb250TWV0cmljcy5hc2NlbnQoKSArIGZvbnRNZXRyaWNzLmRlc2Nl
bnQoKSkgLyAyLAorICAgICAgICAgICAgICAgICAgIG1fcG9pbnQueSgpIC0gZm9udE1ldHJpY3Mu
YXNjZW50KCkgLSBmb250TWV0cmljcy5saW5lR2FwKCksCisgICAgICAgICAgICAgICAgICAgdG90
YWxXaWR0aCArIGZvbnRNZXRyaWNzLmFzY2VudCgpICsgZm9udE1ldHJpY3MuZGVzY2VudCgpLAor
ICAgICAgICAgICAgICAgICAgIGZvbnRNZXRyaWNzLmxpbmVTcGFjaW5nKCkpOyAKIH0KIAogYm9v
bCBUcmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRlcjo6ZHJhd0dseXBocyhpbnQgbnVtR2x5cGhz
LApAQCAtMjcwLDcgKzI3MSw3IEBAIGJvb2wgVHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50ZXI6
OmRyYXcKICAgICAvLyBXaW5kb3dzJyBvcmlnaW4gaXMgdGhlIHRvcC1sZWZ0IG9mIHRoZSBib3Vu
ZGluZyBib3gsIHNvIHdlIGhhdmUKICAgICAvLyB0byBzdWJ0cmFjdCBvZmYgdGhlIGZvbnQgYXNj
ZW50IHRvIGdldCBpdC4KICAgICBpbnQgeCA9IGxyb3VuZGYobV9wb2ludC54KCkgKyBzdGFydEFk
dmFuY2UpOwotICAgIGludCB5ID0gbHJvdW5kZihtX3BvaW50LnkoKSAtIG1fZm9udC0+YXNjZW50
KCkpOworICAgIGludCB5ID0gbHJvdW5kZihtX3BvaW50LnkoKSAtIG1fZm9udC0+Zm9udE1ldHJp
Y3MoKS5hc2NlbnQoKSk7CiAKICAgICAvLyBJZiB0aGVyZSBpcyBhIG5vbi1ibHVyIHNoYWRvdyBh
bmQgYm90aCB0aGUgZmlsbCBjb2xvciBhbmQgc2hhZG93IGNvbG9yIAogICAgIC8vIGFyZSBvcGFx
dWUsIGhhbmRsZSB3aXRob3V0IHNraWEuIApAQCAtMzU0LDEwICszNTUsMTEgQEAgSW50UmVjdCBU
cmFuc3BhcmVuY3lBd2FyZVVuaXNjcmliZVBhaW50ZQogICAgIC8vIFRoaXMgYWxnb3JpdGhtIGZv
ciBlc3RpbWF0aW5nIGhvdyBtdWNoIGV4dHJhIHNwYWNlIHdlIG5lZWQgKHRoZSB0ZXh0IG1heQog
ICAgIC8vIGdvIG91dHNpZGUgdGhlIHNlbGVjdGlvbiByZWN0KSBpcyBiYXNlZCByb3VnaGx5IG9u
CiAgICAgLy8gVHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50ZXI6OmVzdGltYXRlVGV4dEJvdW5k
cyBhYm92ZS4KLSAgICByZXR1cm4gSW50UmVjdChsZWZ0IC0gKG1fZm9udC0+YXNjZW50KCkgKyBt
X2ZvbnQtPmRlc2NlbnQoKSkgLyAyLAotICAgICAgICAgICAgICAgICAgIG1fcG9pbnQueSgpIC0g
bV9mb250LT5hc2NlbnQoKSAtIG1fZm9udC0+bGluZUdhcCgpLAotICAgICAgICAgICAgICAgICAg
IChyaWdodCAtIGxlZnQpICsgbV9mb250LT5hc2NlbnQoKSArIG1fZm9udC0+ZGVzY2VudCgpLAot
ICAgICAgICAgICAgICAgICAgIG1fZm9udC0+bGluZVNwYWNpbmcoKSk7CisgICAgY29uc3QgRm9u
dE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gbV9mb250LT5mb250TWV0cmljcygpOworICAgIHJldHVy
biBJbnRSZWN0KGxlZnQgLSAoZm9udE1ldHJpY3MuYXNjZW50KCkgKyBmb250TWV0cmljcy5kZXNj
ZW50KCkpIC8gMiwKKyAgICAgICAgICAgICAgICAgICBtX3BvaW50LnkoKSAtIGZvbnRNZXRyaWNz
LmFzY2VudCgpIC0gZm9udE1ldHJpY3MubGluZUdhcCgpLAorICAgICAgICAgICAgICAgICAgIChy
aWdodCAtIGxlZnQpICsgZm9udE1ldHJpY3MuYXNjZW50KCkgKyBmb250TWV0cmljcy5kZXNjZW50
KCksCisgICAgICAgICAgICAgICAgICAgZm9udE1ldHJpY3MubGluZVNwYWNpbmcoKSk7CiB9CiAK
IH0gIC8vIG5hbWVzcGFjZQpAQCAtNDk2LDE0ICs0OTgsMTQgQEAgdm9pZCBGb250OjpkcmF3Q29t
cGxleFRleHQoR3JhcGhpY3NDb250ZQogICAgICAgICBDT0xPUlJFRiBzYXZlZFRleHRDb2xvciA9
IEdldFRleHRDb2xvcihoZGMpOwogICAgICAgICBTZXRUZXh0Q29sb3IoaGRjLCB0ZXh0Q29sb3Ip
OwogICAgICAgICBzdGF0ZS5kcmF3KGdyYXBoaWNzQ29udGV4dCwgaGRjLCBzdGF0aWNfY2FzdDxp
bnQ+KHBvaW50LngoKSkgKyBzaGFkb3dPZmZzZXQud2lkdGgoKSwKLSAgICAgICAgICAgICAgICAg
ICBzdGF0aWNfY2FzdDxpbnQ+KHBvaW50LnkoKSAtIGFzY2VudCgpKSArIHNoYWRvd09mZnNldC5o
ZWlnaHQoKSwgZnJvbSwgdG8pOworICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4o
cG9pbnQueSgpIC0gZm9udE1ldHJpY3MoKS5hc2NlbnQoKSkgKyBzaGFkb3dPZmZzZXQuaGVpZ2h0
KCksIGZyb20sIHRvKTsKICAgICAgICAgU2V0VGV4dENvbG9yKGhkYywgc2F2ZWRUZXh0Q29sb3Ip
OyAKICAgICB9CiAKICAgICAvLyBVbmlzY3JpYmUgY291bnRzIHRoZSBjb29yZGluYXRlcyBmcm9t
IHRoZSB1cHBlciBsZWZ0LCB3aGlsZSBXZWJLaXQgdXNlcwogICAgIC8vIHRoZSBiYXNlbGluZSwg
c28gd2UgaGF2ZSB0byBzdWJ0cmFjdCBvZmYgdGhlIGFzY2VudC4KICAgICBzdGF0ZS5kcmF3KGdy
YXBoaWNzQ29udGV4dCwgaGRjLCBzdGF0aWNfY2FzdDxpbnQ+KHBvaW50LngoKSksCi0gICAgICAg
ICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KHBvaW50LnkoKSAtIGFzY2VudCgpKSwgZnJvbSwgdG8p
OworICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihwb2ludC55KCkgLSBmb250TWV0cmlj
cygpLmFzY2VudCgpKSwgZnJvbSwgdG8pOwogCiAgICAgY29udGV4dC0+Y2FudmFzKCktPmVuZFBs
YXRmb3JtUGFpbnQoKTsKIH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vU2ltcGxlRm9udERhdGFDaHJvbWl1bVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNwcAko
cmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Np
bXBsZUZvbnREYXRhQ2hyb21pdW1XaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCwxNCArNTQs
OSBAQCBzdGF0aWMgaW5saW5lIGZsb2F0IHNjYWxlRW1Ub1VuaXRzKGZsb2F0CiB2b2lkIFNpbXBs
ZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogewogICAgIGlmICghbV9wbGF0Zm9ybURhdGEuc2l6
ZSgpKSB7Ci0gICAgICAgIG1fYXNjZW50ID0gMDsKLSAgICAgICAgbV9kZXNjZW50ID0gMDsKLSAg
ICAgICAgbV9saW5lR2FwID0gMDsKLSAgICAgICAgbV9saW5lU3BhY2luZyA9IDA7CisgICAgICAg
IG1fZm9udE1ldHJpY3MucmVzZXQoKTsKICAgICAgICAgbV9hdmdDaGFyV2lkdGggPSAwOwogICAg
ICAgICBtX21heENoYXJXaWR0aCA9IDA7Ci0gICAgICAgIG1feEhlaWdodCA9IDA7Ci0gICAgICAg
IG1fdW5pdHNQZXJFbSA9IDA7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTgyLDEwICs3
NywxMSBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgIG1fYXZnQ2hh
cldpZHRoID0gdGV4dE1ldHJpYy50bUF2ZUNoYXJXaWR0aDsKICAgICBtX21heENoYXJXaWR0aCA9
IHRleHRNZXRyaWMudG1NYXhDaGFyV2lkdGg7CiAKLSAgICBtX2FzY2VudCA9IHRleHRNZXRyaWMu
dG1Bc2NlbnQ7Ci0gICAgbV9kZXNjZW50ID0gdGV4dE1ldHJpYy50bURlc2NlbnQ7Ci0gICAgbV9s
aW5lR2FwID0gdGV4dE1ldHJpYy50bUV4dGVybmFsTGVhZGluZzsKLSAgICBtX3hIZWlnaHQgPSBt
X2FzY2VudCAqIDAuNTZmOyAgLy8gQmVzdCBndWVzcyBmb3IgeEhlaWdodCBmb3Igbm9uLVRydWV0
eXBlIGZvbnRzLgorICAgIC8vIEZJWE1FOiBBY2Nlc3MgYXNjZW50L2Rlc2NlbnQvbGluZUdhcCB3
aXRoIGZsb2F0aW5nIHBvaW50IHByZWNpc2lvbi4KKyAgICBmbG9hdCBhc2NlbnQgPSB0ZXh0TWV0
cmljLnRtQXNjZW50OworICAgIGZsb2F0IGRlc2NlbnQgPSB0ZXh0TWV0cmljLnRtRGVzY2VudDsK
KyAgICBmbG9hdCBsaW5lR2FwID0gdGV4dE1ldHJpYy50bUV4dGVybmFsTGVhZGluZzsKKyAgICBm
bG9hdCB4SGVpZ2h0ID0gYXNjZW50ICogMC41NmY7IC8vIEJlc3QgZ3Vlc3MgZm9yIHhIZWlnaHQg
Zm9yIG5vbi1UcnVldHlwZSBmb250cy4KIAogICAgIE9VVExJTkVURVhUTUVUUklDIG91dGxpbmVU
ZXh0TWV0cmljOwogICAgIGlmIChHZXRPdXRsaW5lVGV4dE1ldHJpY3MoZGMsIHNpemVvZihvdXRs
aW5lVGV4dE1ldHJpYyksICZvdXRsaW5lVGV4dE1ldHJpYykgPiAwKSB7CkBAIC05NCwxMCArOTAs
MTQgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICAgICAgTUFUMiBp
ZGVudGl0eU1hdHJpeCA9IHt7MCwgMX0sIHswLCAwfSwgezAsIDB9LCB7MCwgMX19OwogICAgICAg
ICBEV09SRCBsZW4gPSBHZXRHbHlwaE91dGxpbmVXKGRjLCAneCcsIEdHT19NRVRSSUNTLCAmZ2x5
cGhNZXRyaWNzLCAwLCAwLCAmaWRlbnRpdHlNYXRyaXgpOwogICAgICAgICBpZiAobGVuICE9IEdE
SV9FUlJPUiAmJiBnbHlwaE1ldHJpY3MuZ21CbGFja0JveFkgPiAwKQotICAgICAgICAgICAgbV94
SGVpZ2h0ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdseXBoTWV0cmljcy5nbUJsYWNrQm94WSk7Cisg
ICAgICAgICAgICB4SGVpZ2h0ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdseXBoTWV0cmljcy5nbUJs
YWNrQm94WSk7CiAgICAgfQogCi0gICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9kZXNj
ZW50ICsgbV9saW5lR2FwOworICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGFzY2VudCk7Cisg
ICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGRlc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Mu
c2V0TGluZUdhcChsaW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGFz
Y2VudCArIGRlc2NlbnQgKyBsaW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQo
eEhlaWdodCk7CiAKICAgICBTZWxlY3RPYmplY3QoZGMsIG9sZEZvbnQpOwogICAgIFJlbGVhc2VE
QygwLCBkYyk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBs
ZUZvbnREYXRhTGludXguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFMaW51eC5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysg
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUxpbnV4LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTUsMTQgKzU1LDkgQEAgc3RhdGljIGNvbnN0IHNpemVfdCBt
YXhWRE1YVGFibGVTaXplID0gMQogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkK
IHsKICAgICBpZiAoIW1fcGxhdGZvcm1EYXRhLnNpemUoKSkgewotICAgICAgICBtX2FzY2VudCA9
IDA7Ci0gICAgICAgIG1fZGVzY2VudCA9IDA7Ci0gICAgICAgIG1fbGluZUdhcCA9IDA7Ci0gICAg
ICAgIG1fbGluZVNwYWNpbmcgPSAwOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnJlc2V0KCk7CiAg
ICAgICAgIG1fYXZnQ2hhcldpZHRoID0gMDsKICAgICAgICAgbV9tYXhDaGFyV2lkdGggPSAwOwot
ICAgICAgICBtX3hIZWlnaHQgPSAwOwotICAgICAgICBtX3VuaXRzUGVyRW0gPSAwOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCkBAIC04OCwyNiArODMsMzYgQEAgdm9pZCBTaW1wbGVGb250RGF0
YTo6cGxhdGZvcm1Jbml0KCkKICAgICAgICAgZmFzdEZyZWUodmRteFRhYmxlKTsKICAgICB9CiAK
KyAgICBmbG9hdCBhc2NlbnQ7CisgICAgZmxvYXQgZGVzY2VudDsKKwogICAgIC8vIEJld2FyZSB0
aG9zZSB3aG8gc3RlcCBoZXJlOiBUaGlzIGNvZGUgaXMgZGVzaWduZWQgdG8gbWF0Y2ggV2luMzIg
Zm9udAogICAgIC8vIG1ldHJpY3MgKmV4YWN0bHkqLgogICAgIGlmIChpc1ZETVhWYWxpZCkgewot
ICAgICAgICBtX2FzY2VudCA9IHZkbXhBc2NlbnQ7Ci0gICAgICAgIG1fZGVzY2VudCA9IC12ZG14
RGVzY2VudDsKKyAgICAgICAgLy8gRklYTUU6IEFjY2VzcyBhc2NlbnQvZGVzY2VudCB3aXRoIGZs
b2F0aW5nIHBvaW50IHByZWNpc2lvbi4KKyAgICAgICAgYXNjZW50ID0gdmRteEFzY2VudDsKKyAg
ICAgICAgZGVzY2VudCA9IC12ZG14RGVzY2VudDsKICAgICB9IGVsc2UgewogICAgICAgICBTa1Nj
YWxhciBoZWlnaHQgPSAtbWV0cmljcy5mQXNjZW50ICsgbWV0cmljcy5mRGVzY2VudCArIG1ldHJp
Y3MuZkxlYWRpbmc7Ci0gICAgICAgIG1fYXNjZW50ID0gU2tTY2FsYXJSb3VuZCgtbWV0cmljcy5m
QXNjZW50KTsKLSAgICAgICAgbV9kZXNjZW50ID0gU2tTY2FsYXJSb3VuZChoZWlnaHQpIC0gbV9h
c2NlbnQ7CisgICAgICAgIGFzY2VudCA9IFNrU2NhbGFyVG9GbG9hdCgtbWV0cmljcy5mQXNjZW50
KTsKKyAgICAgICAgZGVzY2VudCA9IFNrU2NhbGFyVG9GbG9hdChoZWlnaHQpIC0gYXNjZW50Owog
ICAgIH0KIAorICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGFzY2VudCk7CisgICAgbV9mb250
TWV0cmljcy5zZXREZXNjZW50KGRlc2NlbnQpOworCisgICAgZmxvYXQgeEhlaWdodDsKICAgICBp
ZiAobWV0cmljcy5mWEhlaWdodCkKLSAgICAgICAgbV94SGVpZ2h0ID0gbWV0cmljcy5mWEhlaWdo
dDsKKyAgICAgICAgeEhlaWdodCA9IG1ldHJpY3MuZlhIZWlnaHQ7CiAgICAgZWxzZSB7CiAgICAg
ICAgIC8vIGhhY2sgdGFrZW4gZnJvbSB0aGUgV2luZG93cyBwb3J0Ci0gICAgICAgIG1feEhlaWdo
dCA9IHN0YXRpY19jYXN0PGZsb2F0PihtX2FzY2VudCkgKiAwLjU2OworICAgICAgICB4SGVpZ2h0
ID0gYXNjZW50ICogMC41NmY7CiAgICAgfQogCi0gICAgbV9saW5lR2FwID0gU2tTY2FsYXJSb3Vu
ZChtZXRyaWNzLmZMZWFkaW5nKTsKLSAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rl
c2NlbnQgKyBtX2xpbmVHYXA7CisgICAgZmxvYXQgbGluZUdhcCA9IFNrU2NhbGFyVG9GbG9hdCht
ZXRyaWNzLmZMZWFkaW5nKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZUdhcCk7
CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhhc2NlbnQgKyBkZXNjZW50ICsgbGlu
ZUdhcCk7CisgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHhIZWlnaHQpOwogCiAgICAgaWYg
KG1fb3JpZW50YXRpb24gPT0gVmVydGljYWwpIHsKICAgICAgICAgc3RhdGljIGNvbnN0IHVpbnQz
Ml90IHZoZWFUYWcgPSBTa1NldEZvdXJCeXRlVGFnKCd2JywgJ2gnLCAnZScsICdhJyk7CkBAIC0x
MjgsNyArMTMzLDcgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICBp
ZiAobWV0cmljcy5mQXZnQ2hhcldpZHRoKQogICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9IFNrU2Nh
bGFyUm91bmQobWV0cmljcy5mQXZnQ2hhcldpZHRoKTsKICAgICBlbHNlIHsKLSAgICAgICAgbV9h
dmdDaGFyV2lkdGggPSBtX3hIZWlnaHQ7CisgICAgICAgIG1fYXZnQ2hhcldpZHRoID0geEhlaWdo
dDsKIAogICAgICAgICBHbHlwaFBhZ2UqIGdseXBoUGFnZVplcm8gPSBHbHlwaFBhZ2VUcmVlTm9k
ZTo6Z2V0Um9vdENoaWxkKHRoaXMsIDApLT5wYWdlKCk7CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vVW5pc2NyaWJlSGVscGVyVGV4dFJ1bi5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9VbmlzY3JpYmVIZWxwZXJU
ZXh0UnVuLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL1VuaXNjcmliZUhlbHBlclRleHRSdW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
MCw3ICs1MCw3IEBAIFVuaXNjcmliZUhlbHBlclRleHRSdW46OlVuaXNjcmliZUhlbHBlclQKICAg
ICBzZXRMZXR0ZXJTcGFjaW5nKGZvbnQubGV0dGVyU3BhY2luZygpKTsKICAgICBzZXRTcGFjZVdp
ZHRoKGZvbnQuc3BhY2VXaWR0aCgpKTsKICAgICBzZXRXb3JkU3BhY2luZyhmb250LndvcmRTcGFj
aW5nKCkpOwotICAgIHNldEFzY2VudChmb250LnByaW1hcnlGb250KCktPmFzY2VudCgpKTsKKyAg
ICBzZXRBc2NlbnQoZm9udC5mb250TWV0cmljcygpLT5hc2NlbnQoKSk7CiAKICAgICBpbml0KCk7
CiAKQEAgLTEyMCw3ICsxMjAsNyBAQCBib29sIFVuaXNjcmliZUhlbHBlclRleHRSdW46Om5leHRX
aW5Gb250CiAgICAgICAgIG1faGZvbnRzLmFwcGVuZChzaW1wbGVGb250RGF0YS0+cGxhdGZvcm1E
YXRhKCkuaGZvbnQoKSk7CiAgICAgICAgIG1fc2NyaXB0Q2FjaGVzLmFwcGVuZChzaW1wbGVGb250
RGF0YS0+cGxhdGZvcm1EYXRhKCkuc2NyaXB0Q2FjaGUoKSk7CiAgICAgICAgIG1fZm9udFByb3Bl
cnRpZXMuYXBwZW5kKHNpbXBsZUZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5zY3JpcHRGb250UHJv
cGVydGllcygpKTsKLSAgICAgICAgbV9hc2NlbnRzLmFwcGVuZChzaW1wbGVGb250RGF0YS0+YXNj
ZW50KCkpOworICAgICAgICBtX2FzY2VudHMuYXBwZW5kKHNpbXBsZUZvbnREYXRhLT5mb250TWV0
cmljcygpLmFzY2VudCgpKTsKICAgICB9CiAKICAgICAqaGZvbnQgPSBtX2hmb250c1ttX2ZvbnRJ
bmRleCAtIDFdOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1w
bGVGb250RGF0YUZyZWVUeXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZyZWV0eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUuY3BwCShyZXZpc2lvbiA3NDY2
NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFG
cmVlVHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwLDIxICs1MCwyNyBAQCB2b2lkIFNpbXBs
ZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgIGNhaXJvX2ZvbnRfZXh0ZW50c190IGZvbnRf
ZXh0ZW50czsKICAgICBjYWlyb190ZXh0X2V4dGVudHNfdCB0ZXh0X2V4dGVudHM7CiAgICAgY2Fp
cm9fc2NhbGVkX2ZvbnRfZXh0ZW50cyhtX3BsYXRmb3JtRGF0YS5zY2FsZWRGb250KCksICZmb250
X2V4dGVudHMpOwotICAgIG1fYXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50Pihscm91bmRmKGZvbnRf
ZXh0ZW50cy5hc2NlbnQpKTsKLSAgICBtX2Rlc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KGxyb3Vu
ZGYoZm9udF9leHRlbnRzLmRlc2NlbnQpKTsKLSAgICBtX2xpbmVTcGFjaW5nID0gc3RhdGljX2Nh
c3Q8aW50Pihscm91bmRmKGZvbnRfZXh0ZW50cy5oZWlnaHQpKTsKKworICAgIG1fZm9udE1ldHJp
Y3Muc2V0QXNjZW50KGZvbnRfZXh0ZW50cy5hc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0
RGVzY2VudChmb250X2V4dGVudHMuZGVzY2VudCk7CisKICAgICAvLyBUaGVyZSBzZWVtcyB0byBi
ZSBzb21lIHJvdW5kaW5nIGVycm9yIGluIGNhaXJvIChvciBpbiBob3cgd2UKICAgICAvLyB1c2Ug
Y2Fpcm8pIHdpdGggc29tZSBmb250cywgbGlrZSBEZWphVnUgU2FucyBNb25vLCB3aGljaCBtYWtl
cwogICAgIC8vIGNhaXJvIHJlcG9ydCBhIGhlaWdodCBzbWFsbGVyIHRoYW4gYXNjZW50ICsgZGVz
Y2VudCwgd2hpY2ggaXMKICAgICAvLyB3cm9uZyBhbmQgY29uZnVzZXMgV2ViQ29yZSdzIGxheW91
dCBzeXN0ZW0uIFdvcmthcm91bmQgdGhpcwogICAgIC8vIHdoaWxlIHdlIGZpZ3VyZSBvdXQgd2hh
dCdzIGdvaW5nIG9uLgotICAgIGlmIChtX2xpbmVTcGFjaW5nIDwgbV9hc2NlbnQgKyBtX2Rlc2Nl
bnQpCi0gICAgICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2VudDsKKyAgICBm
bG9hdCBsaW5lU3BhY2luZyA9IGZvbnRfZXh0ZW50cy5oZWlnaHQ7CisgICAgaWYgKGxpbmVTcGFj
aW5nIDwgZm9udF9leHRlbnRzLmFzY2VudCArIGZvbnRfZXh0ZW50cy5kZXNjZW50KQorICAgICAg
ICBsaW5lU3BhY2luZyA9IGZvbnRfZXh0ZW50cy5hc2NlbnQgKyBmb250X2V4dGVudHMuZGVzY2Vu
dDsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGxpbmVTcGFjaW5nKTsKKyAgICBt
X2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZVNwYWNpbmcgLSBmb250X2V4dGVudHMuYXNjZW50
IC0gZm9udF9leHRlbnRzLmRlc2NlbnQpOworCiAgICAgY2Fpcm9fc2NhbGVkX2ZvbnRfdGV4dF9l
eHRlbnRzKG1fcGxhdGZvcm1EYXRhLnNjYWxlZEZvbnQoKSwgIngiLCAmdGV4dF9leHRlbnRzKTsK
LSAgICBtX3hIZWlnaHQgPSB0ZXh0X2V4dGVudHMuaGVpZ2h0OworICAgIG1fZm9udE1ldHJpY3Mu
c2V0WEhlaWdodCh0ZXh0X2V4dGVudHMuaGVpZ2h0KTsKKwogICAgIGNhaXJvX3NjYWxlZF9mb250
X3RleHRfZXh0ZW50cyhtX3BsYXRmb3JtRGF0YS5zY2FsZWRGb250KCksICIgIiwgJnRleHRfZXh0
ZW50cyk7CiAgICAgbV9zcGFjZVdpZHRoID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHRleHRfZXh0ZW50
cy54X2FkdmFuY2UpOwotICAgIG1fbGluZUdhcCA9IG1fbGluZVNwYWNpbmcgLSBtX2FzY2VudCAt
IG1fZGVzY2VudDsKKyAgICAKICAgICBtX3N5bnRoZXRpY0JvbGRPZmZzZXQgPSBtX3BsYXRmb3Jt
RGF0YS5zeW50aGV0aWNCb2xkKCkgPyAxLjBmIDogMC5mOwogfQogCkluZGV4OiBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2hhaWt1L1NpbXBsZUZvbnREYXRhSGFpa3UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvU2ltcGxlRm9udERhdGFIYWlrdS5j
cHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9T
aW1wbGVGb250RGF0YUhhaWt1LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgsMTEgKzQ4LDExIEBA
IHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAKICAgICBmb250X2hlaWdodCBo
ZWlnaHQ7CiAgICAgZm9udC0+R2V0SGVpZ2h0KCZoZWlnaHQpOwotICAgIG1fYXNjZW50ID0gc3Rh
dGljX2Nhc3Q8aW50PihoZWlnaHQuYXNjZW50KTsKLSAgICBtX2Rlc2NlbnQgPSBzdGF0aWNfY2Fz
dDxpbnQ+KGhlaWdodC5kZXNjZW50KTsKLSAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBt
X2Rlc2NlbnQ7Ci0gICAgbV94SGVpZ2h0ID0gaGVpZ2h0LmFzY2VudCAqIDAuNTZmOyAvLyBIYWNr
IHRha2VuIGZyb20gdGhlIHdpbiBwb3J0LgotICAgIG1fbGluZUdhcCA9IGhlaWdodC5sZWFkaW5n
OworICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGhlaWdodC5hc2NlbnQpOworICAgIG1fZm9u
dE1ldHJpY3Muc2V0RGVzY2VudChoZWlnaHQuZGVzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5z
ZXRMaW5lU3BhY2luZyhoZWlnaHQuYXNjZW50ICsgaGVpZ2h0LmRlc2NlbnQpOworICAgIG1fZm9u
dE1ldHJpY3Muc2V0WEhlaWdodChoZWlnaHQuYXNjZW50ICogMC41NmYpOyAvLyBIYWNrIHRha2Vu
IGZyb20gdGhlIHdpbiBwb3J0LgorICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChoZWlnaHQu
bGVhZGluZyk7CiB9CiAKIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQ2hhcldpZHRoSW5p
dCgpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q29tcGxleFRleHRN
YWMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRD
b21wbGV4VGV4dE1hYy5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvRm9udENvbXBsZXhUZXh0TWFjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEw
LDggKzExMCw4IEBAIGZsb2F0IEZvbnQ6OmZsb2F0V2lkdGhGb3JDb21wbGV4VGV4dChjb24KIHsK
ICAgICBDb21wbGV4VGV4dENvbnRyb2xsZXIgY29udHJvbGxlcih0aGlzLCBydW4sIHRydWUsIGZh
bGxiYWNrRm9udHMpOwogICAgIGlmIChnbHlwaE92ZXJmbG93KSB7Ci0gICAgICAgIGdseXBoT3Zl
cmZsb3ctPnRvcCA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYoLWNvbnRyb2xs
ZXIubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSBhc2NlbnQoKSk7Ci0gICAgICAgIGdseXBoT3Zl
cmZsb3ctPmJvdHRvbSA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPmJvdHRvbSwgY2VpbGYoY29u
dHJvbGxlci5tYXhHbHlwaEJvdW5kaW5nQm94WSgpKSAtIGRlc2NlbnQoKSk7CisgICAgICAgIGds
eXBoT3ZlcmZsb3ctPnRvcCA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYoLWNv
bnRyb2xsZXIubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSBmb250TWV0cmljcygpLmFzY2VudCgp
KTsKKyAgICAgICAgZ2x5cGhPdmVyZmxvdy0+Ym90dG9tID0gbWF4PGludD4oZ2x5cGhPdmVyZmxv
dy0+Ym90dG9tLCBjZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91bmRpbmdCb3hZKCkpIC0gZm9u
dE1ldHJpY3MoKS5kZXNjZW50KCkpOwogICAgICAgICBnbHlwaE92ZXJmbG93LT5sZWZ0ID0gbWF4
PGludD4oMCwgY2VpbGYoLWNvbnRyb2xsZXIubWluR2x5cGhCb3VuZGluZ0JveFgoKSkpOwogICAg
ICAgICBnbHlwaE92ZXJmbG93LT5yaWdodCA9IG1heDxpbnQ+KDAsIGNlaWxmKGNvbnRyb2xsZXIu
bWF4R2x5cGhCb3VuZGluZ0JveFgoKSAtIGNvbnRyb2xsZXIudG90YWxXaWR0aCgpKSk7CiAgICAg
fQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udE1hYy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjLm1tCShyZXZpc2lv
biA3NDY2NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0JKHdv
cmtpbmcgY29weSkKQEAgLTYwLDggKzYwLDggQEAgc3RhdGljIHZvaWQgc2hvd0dseXBoc1dpdGhB
ZHZhbmNlcyhjb25zdAogICAgICAgICAgICAgc2F2ZWRNYXRyaXggPSBDR0NvbnRleHRHZXRUZXh0
TWF0cml4KGNvbnRleHQpOwogICAgICAgICAgICAgQ0dBZmZpbmVUcmFuc2Zvcm0gcnVuTWF0cml4
ID0gQ0dBZmZpbmVUcmFuc2Zvcm1Db25jYXQoc2F2ZWRNYXRyaXgsIHJvdGF0ZUxlZnRUcmFuc2Zv
cm0pOwogICAgICAgICAgICAgLy8gTW92ZSBzdGFydCBwb2ludCB0byBwdXQgZ2x5cGhzIGludG8g
b3JpZ2luYWwgcmVnaW9uLgotICAgICAgICAgICAgcnVuTWF0cml4LnR4ID0gc2F2ZWRNYXRyaXgu
dHggKyBmb250LT5hc2NlbnQoKTsKLSAgICAgICAgICAgIHJ1bk1hdHJpeC50eSA9IHNhdmVkTWF0
cml4LnR5ICsgZm9udC0+ZGVzY2VudCgpOworICAgICAgICAgICAgcnVuTWF0cml4LnR4ID0gc2F2
ZWRNYXRyaXgudHggKyBmb250LT5mb250TWV0cmljcygpLmFzY2VudCgpOworICAgICAgICAgICAg
cnVuTWF0cml4LnR5ID0gc2F2ZWRNYXRyaXgudHkgKyBmb250LT5mb250TWV0cmljcygpLmRlc2Nl
bnQoKTsKICAgICAgICAgICAgIENHQ29udGV4dFNldFRleHRNYXRyaXgoY29udGV4dCwgcnVuTWF0
cml4KTsKICAgICAgICAgfQogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9T
aW1wbGVGb250RGF0YU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbQkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbQkod29ya2luZyBjb3B5
KQpAQCAtMjE4LDE5ICsyMTgsMjAgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0
KCkKICAgICBpbnQgaUFzY2VudDsKICAgICBpbnQgaURlc2NlbnQ7CiAgICAgaW50IGlMaW5lR2Fw
OworICAgIHVuc2lnbmVkIHVuaXRzUGVyRW07CiAjaWZkZWYgQlVJTERJTkdfT05fVElHRVIKLSAg
ICB3a0dldEZvbnRNZXRyaWNzKG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpLCAmaUFzY2VudCwgJmlE
ZXNjZW50LCAmaUxpbmVHYXAsICZtX3VuaXRzUGVyRW0pOworICAgIHdrR2V0Rm9udE1ldHJpY3Mo
bV9wbGF0Zm9ybURhdGEuY2dGb250KCksICZpQXNjZW50LCAmaURlc2NlbnQsICZpTGluZUdhcCwg
JnVuaXRzUGVyRW0pOwogI2Vsc2UKICAgICBpQXNjZW50ID0gQ0dGb250R2V0QXNjZW50KG1fcGxh
dGZvcm1EYXRhLmNnRm9udCgpKTsKICAgICBpRGVzY2VudCA9IENHRm9udEdldERlc2NlbnQobV9w
bGF0Zm9ybURhdGEuY2dGb250KCkpOwogICAgIGlMaW5lR2FwID0gQ0dGb250R2V0TGVhZGluZyht
X3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSk7Ci0gICAgbV91bml0c1BlckVtID0gQ0dGb250R2V0VW5p
dHNQZXJFbShtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSk7CisgICAgdW5pdHNQZXJFbSA9IENHRm9u
dEdldFVuaXRzUGVyRW0obV9wbGF0Zm9ybURhdGEuY2dGb250KCkpOwogI2VuZGlmCiAKICAgICBm
bG9hdCBwb2ludFNpemUgPSBtX3BsYXRmb3JtRGF0YS5tX3NpemU7Ci0gICAgZmxvYXQgZkFzY2Vu
dCA9IHNjYWxlRW1Ub1VuaXRzKGlBc2NlbnQsIG1fdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7Ci0g
ICAgZmxvYXQgZkRlc2NlbnQgPSAtc2NhbGVFbVRvVW5pdHMoaURlc2NlbnQsIG1fdW5pdHNQZXJF
bSkgKiBwb2ludFNpemU7Ci0gICAgZmxvYXQgZkxpbmVHYXAgPSBzY2FsZUVtVG9Vbml0cyhpTGlu
ZUdhcCwgbV91bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAgICBmbG9hdCBhc2NlbnQgPSBzY2Fs
ZUVtVG9Vbml0cyhpQXNjZW50LCB1bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAgICBmbG9hdCBk
ZXNjZW50ID0gLXNjYWxlRW1Ub1VuaXRzKGlEZXNjZW50LCB1bml0c1BlckVtKSAqIHBvaW50U2l6
ZTsKKyAgICBmbG9hdCBsaW5lR2FwID0gc2NhbGVFbVRvVW5pdHMoaUxpbmVHYXAsIHVuaXRzUGVy
RW0pICogcG9pbnRTaXplOwogCiAgICAgLy8gV2UgbmVlZCB0byBhZGp1c3QgVGltZXMsIEhlbHZl
dGljYSwgYW5kIENvdXJpZXIgdG8gY2xvc2VseSBtYXRjaCB0aGUKICAgICAvLyB2ZXJ0aWNhbCBt
ZXRyaWNzIG9mIHRoZWlyIE1pY3Jvc29mdCBjb3VudGVycGFydHMgdGhhdCBhcmUgdGhlIGRlIGZh
Y3RvCkBAIC0yMzksMjUgKzI0MCwyMCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUlu
aXQoKQogICAgIC8vIGFuZCBhZGQgaXQgdG8gdGhlIGFzY2VudC4KICAgICBOU1N0cmluZyAqZmFt
aWx5TmFtZSA9IFttX3BsYXRmb3JtRGF0YS5mb250KCkgZmFtaWx5TmFtZV07CiAgICAgaWYgKFtm
YW1pbHlOYW1lIGlzRXF1YWxUb1N0cmluZzpAIlRpbWVzIl0gfHwgW2ZhbWlseU5hbWUgaXNFcXVh
bFRvU3RyaW5nOkAiSGVsdmV0aWNhIl0gfHwgW2ZhbWlseU5hbWUgaXNFcXVhbFRvU3RyaW5nOkAi
Q291cmllciJdKQotICAgICAgICBmQXNjZW50ICs9IGZsb29yZigoKGZBc2NlbnQgKyBmRGVzY2Vu
dCkgKiAwLjE1ZikgKyAwLjVmKTsKKyAgICAgICAgYXNjZW50ICs9IGZsb29yZigoKGFzY2VudCAr
IGRlc2NlbnQpICogMC4xNWYpICsgMC41Zik7CiAgICAgZWxzZSBpZiAoW2ZhbWlseU5hbWUgaXNF
cXVhbFRvU3RyaW5nOkAiR2VlemEgUHJvIl0pIHsKICAgICAgICAgLy8gR2VlemEgUHJvIGhhcyBn
bHlwaHMgdGhhdCBkcmF3IHNsaWdodGx5IGFib3ZlIHRoZSBhc2NlbnQgb3IgZmFyIGJlbG93IHRo
ZSBkZXNjZW50LiBBZGp1c3QKICAgICAgICAgLy8gdGhvc2UgdmVydGljYWwgbWV0cmljcyB0byBi
ZXR0ZXIgbWF0Y2ggcmVhbGl0eSwgc28gdGhhdCBkaWFjcml0aWNzIGF0IHRoZSBib3R0b20gb2Yg
b25lIGxpbmUKICAgICAgICAgLy8gZG8gbm90IG92ZXJsYXAgZGlhY3JpdGljcyBhdCB0aGUgdG9w
IG9mIHRoZSBuZXh0IGxpbmUuCi0gICAgICAgIGZBc2NlbnQgKj0gMS4wOGY7Ci0gICAgICAgIGZE
ZXNjZW50ICo9IDIuZjsKKyAgICAgICAgYXNjZW50ICo9IDEuMDhmOworICAgICAgICBkZXNjZW50
ICo9IDIuZjsKICAgICB9CiAKLSAgICBtX2FzY2VudCA9IGxyb3VuZGYoZkFzY2VudCk7Ci0gICAg
bV9kZXNjZW50ID0gbHJvdW5kZihmRGVzY2VudCk7Ci0gICAgbV9saW5lR2FwID0gbHJvdW5kZihm
TGluZUdhcCk7Ci0gICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50ICsgbV9s
aW5lR2FwOwotICAgIAogICAgIC8vIEhhY2sgSGlyYWdpbm8gbGluZSBtZXRyaWNzIHRvIGFsbG93
IHJvb20gZm9yIG1hcmtlZCB0ZXh0IHVuZGVybGluZXMuCiAgICAgLy8gPHJkYXI6Ly9wcm9ibGVt
LzUzODYxODM+Ci0gICAgaWYgKG1fZGVzY2VudCA8IDMgJiYgbV9saW5lR2FwID49IDMgJiYgW2Zh
bWlseU5hbWUgaGFzUHJlZml4OkAiSGlyYWdpbm8iXSkgewotICAgICAgICBtX2xpbmVHYXAgLT0g
MyAtIG1fZGVzY2VudDsKLSAgICAgICAgbV9kZXNjZW50ID0gMzsKKyAgICBpZiAoZGVzY2VudCA8
IDMgJiYgbGluZUdhcCA+PSAzICYmIFtmYW1pbHlOYW1lIGhhc1ByZWZpeDpAIkhpcmFnaW5vIl0p
IHsKKyAgICAgICAgbGluZUdhcCAtPSAzIC0gZGVzY2VudDsKKyAgICAgICAgZGVzY2VudCA9IDM7
CiAgICAgfQogICAgIAogICAgIGlmIChtX29yaWVudGF0aW9uID09IFZlcnRpY2FsKSB7CkBAIC0y
NzgsNiArMjc0LDggQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICAg
ICAgICAgIG1fb3JpZW50YXRpb24gPSBIb3Jpem9udGFsOwogICAgIH0KIAorICAgIGZsb2F0IHhI
ZWlnaHQ7CisKICAgICAvLyBNZWFzdXJlIHRoZSBhY3R1YWwgY2hhcmFjdGVyICJ4IiwgYmVjYXVz
ZSBBcHBLaXQgc3ludGhlc2l6ZXMgWCBoZWlnaHQgcmF0aGVyIHRoYW4gZ2V0dGluZyBpdCBmcm9t
IHRoZSBmb250LgogICAgIC8vIFVuZm9ydHVuYXRlbHksIE5TRm9udCB3aWxsIHJvdW5kIHRoaXMg
Zm9yIHVzIHNvIHdlIGRvbid0IHF1aXRlIGdldCB0aGUgcmlnaHQgdmFsdWUuCiAgICAgR2x5cGhQ
YWdlKiBnbHlwaFBhZ2VaZXJvID0gR2x5cGhQYWdlVHJlZU5vZGU6OmdldFJvb3RDaGlsZCh0aGlz
LCAwKS0+cGFnZSgpOwpAQCAtMjg4LDIxICsyODYsMjggQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6
cGxhdGZvcm1Jbml0KCkKICAgICAgICAgLy8gYW5kIHdlYiBwYWdlcyB0aGF0IGZvb2xpc2hseSB1
c2UgdGhpcyBtZXRyaWMgZm9yIHdpZHRoIHdpbGwgYmUgbGFpZCBvdXQKICAgICAgICAgLy8gcG9v
cmx5IGlmIHdlIHJldHVybiBhbiBhY2N1cmF0ZSBoZWlnaHQuIENsYXNzaWMgY2FzZSBpcyBUaW1l
cyAxMyBwb2ludCwKICAgICAgICAgLy8gd2hpY2ggaGFzIGFuICJ4IiB0aGF0IGlzIDd4NiBwaXhl
bHMuCi0gICAgICAgIG1feEhlaWdodCA9IHN0YXRpY19jYXN0PGZsb2F0PihtYXgoQ0dSZWN0R2V0
TWF4WCh4Qm94KSwgLUNHUmVjdEdldE1pblkoeEJveCkpKTsKKyAgICAgICAgeEhlaWdodCA9IHN0
YXRpY19jYXN0PGZsb2F0PihtYXgoQ0dSZWN0R2V0TWF4WCh4Qm94KSwgLUNHUmVjdEdldE1pblko
eEJveCkpKTsKICAgICB9IGVsc2UgewogI2lmbmRlZiBCVUlMRElOR19PTl9USUdFUgotICAgICAg
ICBtX3hIZWlnaHQgPSBzdGF0aWNfY2FzdDxmbG9hdD4oQ0dGb250R2V0WEhlaWdodChtX3BsYXRm
b3JtRGF0YS5jZ0ZvbnQoKSkpIC8gbV91bml0c1BlckVtOworICAgICAgICB4SGVpZ2h0ID0gc3Rh
dGljX2Nhc3Q8ZmxvYXQ+KENHRm9udEdldFhIZWlnaHQobV9wbGF0Zm9ybURhdGEuY2dGb250KCkp
KSAvIHVuaXRzUGVyRW07CiAjZWxzZQotICAgICAgICBtX3hIZWlnaHQgPSBtX3BsYXRmb3JtRGF0
YS5mb250KCkgPyBbbV9wbGF0Zm9ybURhdGEuZm9udCgpIHhIZWlnaHRdIDogMDsKKyAgICAgICAg
eEhlaWdodCA9IG1fcGxhdGZvcm1EYXRhLmZvbnQoKSA/IFttX3BsYXRmb3JtRGF0YS5mb250KCkg
eEhlaWdodF0gOiAwOwogI2VuZGlmCiAgICAgICAgIC8vIENHRm9udEdldFhIZWlnaHQoKSByZXR1
cm5zIGEgd3JvbmcgdmFsdWUgZm9yICJBcHBsZSBTeW1ib2xzIiBmb250IChhIGZsb2F0IGNsb3Nl
IHRvIDAsIGJ1dCBub3Qgc3RyaWN0bHkgMCkuCi0gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgY29k
ZSBtYWtlcyBhIGd1ZXNzIGZvciBtX3hIZWlnaHQgaW4gdGhhdCBjYXNlLgorICAgICAgICAvLyBU
aGUgZm9sbG93aW5nIGNvZGUgbWFrZXMgYSBndWVzcyBmb3IgeEhlaWdodCBpbiB0aGF0IGNhc2Uu
CiAgICAgICAgIC8vIFRoZSBpbnQgY2FzdCBpcyBhIHdvcmthcm91bmQgZm9yIHRoZSAiYWxtb3N0
IiB6ZXJvIHZhbHVlIHJldHVybmVkIGJ5IENHRm9udEdldFhIZWlnaHQoKS4KLSAgICAgICAgaWYg
KCFzdGF0aWNfY2FzdDxpbnQ+KG1feEhlaWdodCkgJiYgZkFzY2VudCkKLSAgICAgICAgICAgIG1f
eEhlaWdodCA9IDIgKiBmQXNjZW50IC8gMzsKKyAgICAgICAgaWYgKCFzdGF0aWNfY2FzdDxpbnQ+
KHhIZWlnaHQpICYmIGFzY2VudCkKKyAgICAgICAgICAgIHhIZWlnaHQgPSAyICogYXNjZW50IC8g
MzsKICAgICB9CisKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFVuaXRzUGVyRW0odW5pdHNQZXJFbSk7
CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNz
LnNldERlc2NlbnQoZGVzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGxpbmVH
YXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNjZW50ICsgZGVzY2VudCAr
IGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh4SGVpZ2h0KTsKIH0KLSAg
ICAKKwogc3RhdGljIENGRGF0YVJlZiBjb3B5Rm9udFRhYmxlRm9yVGFnKEZvbnRQbGF0Zm9ybURh
dGEmIHBsYXRmb3JtRGF0YSwgRm91ckNoYXJDb2RlIHRhYmxlTmFtZSkKIHsKICNpZmRlZiBCVUlM
RElOR19PTl9USUdFUgpAQCAtMzM3LDcgKzM0Miw3IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBs
YXRmb3JtQ2hhcldpZHRoSW4KICAgICBpZiAob3MyVGFibGUgJiYgQ0ZEYXRhR2V0TGVuZ3RoKG9z
MlRhYmxlLmdldCgpKSA+PSA0KSB7CiAgICAgICAgIGNvbnN0IFVJbnQ4KiBvczIgPSBDRkRhdGFH
ZXRCeXRlUHRyKG9zMlRhYmxlLmdldCgpKTsKICAgICAgICAgU0ludDE2IG9zMkF2Z0NoYXJXaWR0
aCA9IG9zMlsyXSAqIDI1NiArIG9zMlszXTsKLSAgICAgICAgbV9hdmdDaGFyV2lkdGggPSBzY2Fs
ZUVtVG9Vbml0cyhvczJBdmdDaGFyV2lkdGgsIG1fdW5pdHNQZXJFbSkgKiBtX3BsYXRmb3JtRGF0
YS5tX3NpemU7CisgICAgICAgIG1fYXZnQ2hhcldpZHRoID0gc2NhbGVFbVRvVW5pdHMob3MyQXZn
Q2hhcldpZHRoLCBtX2ZvbnRNZXRyaWNzLnVuaXRzUGVyRW0oKSkgKiBtX3BsYXRmb3JtRGF0YS5t
X3NpemU7CiAgICAgfQogCiAgICAgUmV0YWluUHRyPENGRGF0YVJlZj4gaGVhZFRhYmxlKEFkb3B0
Q0YsIGNvcHlGb250VGFibGVGb3JUYWcobV9wbGF0Zm9ybURhdGEsICdoZWFkJykpOwpAQCAtMzQ4
LDcgKzM1Myw3IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQ2hhcldpZHRoSW4KICAg
ICAgICAgU0ludDE2IHhNaW4gPSBzdGF0aWNfY2FzdDxTSW50MTY+KHV4TWluKTsKICAgICAgICAg
U0ludDE2IHhNYXggPSBzdGF0aWNfY2FzdDxTSW50MTY+KHV4TWF4KTsKICAgICAgICAgZmxvYXQg
ZGlmZiA9IHN0YXRpY19jYXN0PGZsb2F0Pih4TWF4IC0geE1pbik7Ci0gICAgICAgIG1fbWF4Q2hh
cldpZHRoID0gc2NhbGVFbVRvVW5pdHMoZGlmZiwgbV91bml0c1BlckVtKSAqIG1fcGxhdGZvcm1E
YXRhLm1fc2l6ZTsKKyAgICAgICAgbV9tYXhDaGFyV2lkdGggPSBzY2FsZUVtVG9Vbml0cyhkaWZm
LCBtX2ZvbnRNZXRyaWNzLnVuaXRzUGVyRW0oKSkgKiBtX3BsYXRmb3JtRGF0YS5tX3NpemU7CiAg
ICAgfQogCiAgICAgLy8gRmFsbGJhY2sgdG8gYSBjcm9zcy1wbGF0Zm9ybSBlc3RpbWF0ZSwgd2hp
Y2ggd2lsbCBwb3B1bGF0ZSB0aGVzZSB2YWx1ZXMgaWYgdGhleSBhcmUgbm9uLXBvc2l0aXZlLgpJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9wYW5nby9TaW1wbGVGb250RGF0YVBhbmdv
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1NpbXBs
ZUZvbnREYXRhUGFuZ28uY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcGFuZ28vU2ltcGxlRm9udERhdGFQYW5nby5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQ5LDIxICs0OSwyNyBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAg
IGNhaXJvX2ZvbnRfZXh0ZW50c190IGZvbnRfZXh0ZW50czsKICAgICBjYWlyb190ZXh0X2V4dGVu
dHNfdCB0ZXh0X2V4dGVudHM7CiAgICAgY2Fpcm9fc2NhbGVkX2ZvbnRfZXh0ZW50cyhtX3BsYXRm
b3JtRGF0YS5tX3NjYWxlZEZvbnQsICZmb250X2V4dGVudHMpOwotICAgIG1fYXNjZW50ID0gc3Rh
dGljX2Nhc3Q8aW50Pihscm91bmRmKGZvbnRfZXh0ZW50cy5hc2NlbnQpKTsKLSAgICBtX2Rlc2Nl
bnQgPSBzdGF0aWNfY2FzdDxpbnQ+KGxyb3VuZGYoZm9udF9leHRlbnRzLmRlc2NlbnQpKTsKLSAg
ICBtX2xpbmVTcGFjaW5nID0gc3RhdGljX2Nhc3Q8aW50Pihscm91bmRmKGZvbnRfZXh0ZW50cy5o
ZWlnaHQpKTsKKworICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGZvbnRfZXh0ZW50cy5hc2Nl
bnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChmb250X2V4dGVudHMuZGVzY2VudCk7
CisKICAgICAvLyBUaGVyZSBzZWVtcyB0byBiZSBzb21lIHJvdW5kaW5nIGVycm9yIGluIGNhaXJv
IChvciBpbiBob3cgd2UKICAgICAvLyB1c2UgY2Fpcm8pIHdpdGggc29tZSBmb250cywgbGlrZSBE
ZWphVnUgU2FucyBNb25vLCB3aGljaCBtYWtlcwogICAgIC8vIGNhaXJvIHJlcG9ydCBhIGhlaWdo
dCBzbWFsbGVyIHRoYW4gYXNjZW50ICsgZGVzY2VudCwgd2hpY2ggaXMKICAgICAvLyB3cm9uZyBh
bmQgY29uZnVzZXMgV2ViQ29yZSdzIGxheW91dCBzeXN0ZW0uIFdvcmthcm91bmQgdGhpcwogICAg
IC8vIHdoaWxlIHdlIGZpZ3VyZSBvdXQgd2hhdCdzIGdvaW5nIG9uLgotICAgIGlmIChtX2xpbmVT
cGFjaW5nIDwgbV9hc2NlbnQgKyBtX2Rlc2NlbnQpCi0gICAgICAgIG1fbGluZVNwYWNpbmcgPSBt
X2FzY2VudCArIG1fZGVzY2VudDsKKyAgICBmbG9hdCBsaW5lU3BhY2luZyA9IGZvbnRfZXh0ZW50
cy5oZWlnaHQ7CisgICAgaWYgKGxpbmVTcGFjaW5nIDwgZm9udF9leHRlbnRzLmFzY2VudCArIGZv
bnRfZXh0ZW50cy5kZXNjZW50KQorICAgICAgICBsaW5lU3BhY2luZyA9IGZvbnRfZXh0ZW50cy5h
c2NlbnQgKyBmb250X2V4dGVudHMuZGVzY2VudDsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVT
cGFjaW5nKGxpbmVTcGFjaW5nKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZVNw
YWNpbmcgLSBmb250X2V4dGVudHMuYXNjZW50IC0gZm9udF9leHRlbnRzLmRlc2NlbnQpOworCiAg
ICAgY2Fpcm9fc2NhbGVkX2ZvbnRfdGV4dF9leHRlbnRzKG1fcGxhdGZvcm1EYXRhLm1fc2NhbGVk
Rm9udCwgIngiLCAmdGV4dF9leHRlbnRzKTsKLSAgICBtX3hIZWlnaHQgPSB0ZXh0X2V4dGVudHMu
aGVpZ2h0OworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh0ZXh0X2V4dGVudHMuaGVpZ2h0
KTsKKwogICAgIGNhaXJvX3NjYWxlZF9mb250X3RleHRfZXh0ZW50cyhtX3BsYXRmb3JtRGF0YS5t
X3NjYWxlZEZvbnQsICIgIiwgJnRleHRfZXh0ZW50cyk7Ci0gICAgbV9zcGFjZVdpZHRoID0gIHN0
YXRpY19jYXN0PGZsb2F0Pih0ZXh0X2V4dGVudHMueF9hZHZhbmNlKTsKLSAgICBtX2xpbmVHYXAg
PSBtX2xpbmVTcGFjaW5nIC0gbV9hc2NlbnQgLSBtX2Rlc2NlbnQ7CisgICAgbV9zcGFjZVdpZHRo
ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHRleHRfZXh0ZW50cy54X2FkdmFuY2UpOworICAgIAogICAg
IG1fc3ludGhldGljQm9sZE9mZnNldCA9IG1fcGxhdGZvcm1EYXRhLnN5bnRoZXRpY0JvbGQoKSA/
IDEuMGYgOiAwLmY7CiB9CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2lt
cGxlRm9udERhdGFRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9xdC9TaW1wbGVGb250RGF0YVF0LmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNCw3ICsyNCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2ltcGxlRm9u
dERhdGEuaCIKIAotI2luY2x1ZGUgPFFGb250TWV0cmljcz4KKyNpbmNsdWRlIDxRRm9udE1ldHJp
Y3NGPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQxLDI1ICs0MSwyMCBAQCBib29sIFNp
bXBsZUZvbnREYXRhOjpjb250YWluc0NoYXJhY3RlcnMoCiB2b2lkIFNpbXBsZUZvbnREYXRhOjpw
bGF0Zm9ybUluaXQoKQogewogICAgIGlmICghbV9wbGF0Zm9ybURhdGEuc2l6ZSgpKSB7Ci0gICAg
ICAgICBtX2FzY2VudCA9IDA7Ci0gICAgICAgICBtX2Rlc2NlbnQgPSAwOwotICAgICAgICAgbV9s
aW5lR2FwID0gMDsKLSAgICAgICAgIG1fbGluZVNwYWNpbmcgPSAwOworICAgICAgICAgbV9mb250
TWV0cmljcy5yZXNldCgpOwogICAgICAgICAgbV9hdmdDaGFyV2lkdGggPSAwOwogICAgICAgICAg
bV9tYXhDaGFyV2lkdGggPSAwOwotICAgICAgICAgbV94SGVpZ2h0ID0gMDsKLSAgICAgICAgIG1f
dW5pdHNQZXJFbSA9IDA7CiAgICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUUZvbnRNZXRy
aWNzIGZtKG1fcGxhdGZvcm1EYXRhLmZvbnQoKSk7CisgICAgUUZvbnRNZXRyaWNzRiBmbShtX3Bs
YXRmb3JtRGF0YS5mb250KCkpOwogCi0gICAgbV9hc2NlbnQgPSBmbS5hc2NlbnQoKTsKLSAgICBt
X2Rlc2NlbnQgPSBmbS5kZXNjZW50KCk7Ci0gICAgbV9saW5lU3BhY2luZyA9IGZtLmxpbmVTcGFj
aW5nKCk7Ci0gICAgbV94SGVpZ2h0ID0gZm0ueEhlaWdodCgpOworICAgIG1fZm9udE1ldHJpY3Mu
c2V0QXNjZW50KGZtLmFzY2VudCgpKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoZm0u
ZGVzY2VudCgpKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGZtLmxpbmVTcGFj
aW5nKCkpOworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodChmbS54SGVpZ2h0KCkpOworICAg
IG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChmbS5sZWFkaW5nKCkpOwogICAgIG1fc3BhY2VXaWR0
aCA9IGZtLndpZHRoKFFMYXRpbjFDaGFyKCcgJykpOwotICAgIG1fbGluZUdhcCA9IGZtLmxlYWRp
bmcoKTsKIH0KIAogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1HbHlwaEluaXQoKQpJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENHV2luLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q0dXaW4uY3BwCShyZXZpc2lv
biA3NDY2NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDR1dpbi5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE2Nyw4ICsxNjcsMTIgQEAgc3RhdGljIHZvaWQgZHJhd0dESUds
eXBocyhHcmFwaGljc0NvbnRleAogICAgICAgICBkcmF3SW50b0JpdG1hcCA9IHRydWU7CiAgICAg
ICAgIC8vIFdlIHB1dCBzbG9wIGludG8gdGhpcyByZWN0LCBzaW5jZSBnbHlwaHMgY2FuIG92ZXJm
bG93IHRoZSBhc2NlbnQvZGVzY2VudCBib3VuZHMgYW5kIHRoZSBsZWZ0L3JpZ2h0IGVkZ2VzLgog
ICAgICAgICAvLyBGSVhNRTogQ2FuIGdldCBnbHlwaHMnIG9wdGljYWwgYm91bmRzIChldmVuIGZy
b20gQ0cpIHRvIGdldCB0aGlzIHJpZ2h0LgotICAgICAgICBpbnQgbGluZUdhcCA9IGZvbnQtPmxp
bmVHYXAoKTsKLSAgICAgICAgdGV4dFJlY3QgPSBJbnRSZWN0KHBvaW50LngoKSAtIChmb250LT5h
c2NlbnQoKSArIGZvbnQtPmRlc2NlbnQoKSkgLyAyLCBwb2ludC55KCkgLSBmb250LT5hc2NlbnQo
KSAtIGxpbmVHYXAsIHRvdGFsV2lkdGggKyBmb250LT5hc2NlbnQoKSArIGZvbnQtPmRlc2NlbnQo
KSwgZm9udC0+bGluZVNwYWNpbmcoKSk7CisgICAgICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250
TWV0cmljcyA9IGZvbnQtPmZvbnRNZXRyaWNzKCk7CisgICAgICAgIGludCBsaW5lR2FwID0gZm9u
dE1ldHJpY3MubGluZUdhcCgpOworICAgICAgICB0ZXh0UmVjdCA9IEludFJlY3QocG9pbnQueCgp
IC0gKGZvbnRNZXRyaWNzLmFzY2VudCgpICsgZm9udE1ldHJpY3MuZGVzY2VudCgpKSAvIDIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludC55KCkgLSBmb250TWV0cmljcy5hc2NlbnQo
KSAtIGxpbmVHYXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbFdpZHRoICsgZm9u
dE1ldHJpY3MuYXNjZW50KCkgKyBmb250TWV0cmljcy5kZXNjZW50KCksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmb250TWV0cmljcy5saW5lU3BhY2luZygpKTsKICAgICAgICAgYml0bWFw
LnNldChncmFwaGljc0NvbnRleHQtPmNyZWF0ZVdpbmRvd3NCaXRtYXAodGV4dFJlY3Quc2l6ZSgp
KSk7CiAgICAgICAgIG1lbXNldChiaXRtYXAtPmJ1ZmZlcigpLCAyNTUsIGJpdG1hcC0+YnVmZmVy
TGVuZ3RoKCkpOwogICAgICAgICBoZGMgPSBiaXRtYXAtPmhkYygpOwpJbmRleDogV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFdpbi5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEyMSw4ICsxMjEsOCBAQCBmbG9hdCBGb250OjpmbG9hdFdpZHRoRm9yQ29tcGxleFRleHQoY29u
CiAgICAgVW5pc2NyaWJlQ29udHJvbGxlciBjb250cm9sbGVyKHRoaXMsIHJ1biwgZmFsbGJhY2tG
b250cyk7CiAgICAgY29udHJvbGxlci5hZHZhbmNlKHJ1bi5sZW5ndGgoKSk7CiAgICAgaWYgKGds
eXBoT3ZlcmZsb3cpIHsKLSAgICAgICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4PGludD4oZ2x5
cGhPdmVyZmxvdy0+dG9wLCBjZWlsZigtY29udHJvbGxlci5taW5HbHlwaEJvdW5kaW5nQm94WSgp
KSAtIGFzY2VudCgpKTsKLSAgICAgICAgZ2x5cGhPdmVyZmxvdy0+Ym90dG9tID0gbWF4PGludD4o
Z2x5cGhPdmVyZmxvdy0+Ym90dG9tLCBjZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91bmRpbmdC
b3hZKCkpIC0gZGVzY2VudCgpKTsKKyAgICAgICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4PGlu
dD4oZ2x5cGhPdmVyZmxvdy0+dG9wLCBjZWlsZigtY29udHJvbGxlci5taW5HbHlwaEJvdW5kaW5n
Qm94WSgpKSAtIGZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOworICAgICAgICBnbHlwaE92ZXJmbG93
LT5ib3R0b20gPSBtYXg8aW50PihnbHlwaE92ZXJmbG93LT5ib3R0b20sIGNlaWxmKGNvbnRyb2xs
ZXIubWF4R2x5cGhCb3VuZGluZ0JveFkoKSkgLSBmb250TWV0cmljcygpLmRlc2NlbnQoKSk7CiAg
ICAgICAgIGdseXBoT3ZlcmZsb3ctPmxlZnQgPSBtYXg8aW50PigwLCBjZWlsZigtY29udHJvbGxl
ci5taW5HbHlwaEJvdW5kaW5nQm94WCgpKSk7CiAgICAgICAgIGdseXBoT3ZlcmZsb3ctPnJpZ2h0
ID0gbWF4PGludD4oMCwgY2VpbGYoY29udHJvbGxlci5tYXhHbHlwaEJvdW5kaW5nQm94WCgpIC0g
Y29udHJvbGxlci5ydW5XaWR0aFNvRmFyKCkpKTsKICAgICB9CkluZGV4OiBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNHV2luLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNHV2luLmNwcAkocmV2
aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250
RGF0YUNHV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjQsMTEgKzY0LDExIEBAIHZvaWQgU2lt
cGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgaW50IGlBc2NlbnQgPSBDR0ZvbnRHZXRB
c2NlbnQoZm9udCk7CiAgICAgaW50IGlEZXNjZW50ID0gQ0dGb250R2V0RGVzY2VudChmb250KTsK
ICAgICBpbnQgaUxpbmVHYXAgPSBDR0ZvbnRHZXRMZWFkaW5nKGZvbnQpOwotICAgIG1fdW5pdHNQ
ZXJFbSA9IENHRm9udEdldFVuaXRzUGVyRW0oZm9udCk7CisgICAgdW5zaWduZWQgdW5pdHNQZXJF
bSA9IENHRm9udEdldFVuaXRzUGVyRW0oZm9udCk7CiAgICAgZmxvYXQgcG9pbnRTaXplID0gbV9w
bGF0Zm9ybURhdGEuc2l6ZSgpOwotICAgIGZsb2F0IGZBc2NlbnQgPSBzY2FsZUVtVG9Vbml0cyhp
QXNjZW50LCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXplOwotICAgIGZsb2F0IGZEZXNjZW50ID0g
LXNjYWxlRW1Ub1VuaXRzKGlEZXNjZW50LCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXplOwotICAg
IGZsb2F0IGZMaW5lR2FwID0gc2NhbGVFbVRvVW5pdHMoaUxpbmVHYXAsIG1fdW5pdHNQZXJFbSkg
KiBwb2ludFNpemU7CisgICAgZmxvYXQgZkFzY2VudCA9IHNjYWxlRW1Ub1VuaXRzKGlBc2NlbnQs
IHVuaXRzUGVyRW0pICogcG9pbnRTaXplOworICAgIGZsb2F0IGZEZXNjZW50ID0gLXNjYWxlRW1U
b1VuaXRzKGlEZXNjZW50LCB1bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAgICBmbG9hdCBmTGlu
ZUdhcCA9IHNjYWxlRW1Ub1VuaXRzKGlMaW5lR2FwLCB1bml0c1BlckVtKSAqIHBvaW50U2l6ZTsK
IAogICAgIGlmICghaXNDdXN0b21Gb250KCkpIHsKICAgICAgICAgSERDIGRjID0gR2V0REMoMCk7
CkBAIC05MywxMCArOTMsMTAgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkK
ICAgICAgICAgfQogICAgIH0KIAotICAgIG1fYXNjZW50ID0gbHJvdW5kZihmQXNjZW50KTsKLSAg
ICBtX2Rlc2NlbnQgPSBscm91bmRmKGZEZXNjZW50KTsKLSAgICBtX2xpbmVHYXAgPSBscm91bmRm
KGZMaW5lR2FwKTsKLSAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rlc2NlbnQgKyBt
X2xpbmVHYXA7CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoZkFzY2VudCk7CisgICAgbV9m
b250TWV0cmljcy5zZXREZXNjZW50KGZEZXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExp
bmVHYXAoZkxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoZkFzY2Vu
dCArIGZEZXNjZW50ICsgZkxpbmVHYXApOwogCiAgICAgLy8gTWVhc3VyZSB0aGUgYWN0dWFsIGNo
YXJhY3RlciAieCIsIGJlY2F1c2UgQXBwS2l0IHN5bnRoZXNpemVzIFggaGVpZ2h0IHJhdGhlciB0
aGFuIGdldHRpbmcgaXQgZnJvbSB0aGUgZm9udC4KICAgICAvLyBVbmZvcnR1bmF0ZWx5LCBOU0Zv
bnQgd2lsbCByb3VuZCB0aGlzIGZvciB1cyBzbyB3ZSBkb24ndCBxdWl0ZSBnZXQgdGhlIHJpZ2h0
IHZhbHVlLgpAQCAtMTA5LDExICsxMDksMTMgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZv
cm1Jbml0KCkKICAgICAgICAgLy8gYW5kIHdlYiBwYWdlcyB0aGF0IGZvb2xpc2hseSB1c2UgdGhp
cyBtZXRyaWMgZm9yIHdpZHRoIHdpbGwgYmUgbGFpZCBvdXQKICAgICAgICAgLy8gcG9vcmx5IGlm
IHdlIHJldHVybiBhbiBhY2N1cmF0ZSBoZWlnaHQuIENsYXNzaWMgY2FzZSBpcyBUaW1lcyAxMyBw
b2ludCwKICAgICAgICAgLy8gd2hpY2ggaGFzIGFuICJ4IiB0aGF0IGlzIDd4NiBwaXhlbHMuCi0g
ICAgICAgIG1feEhlaWdodCA9IHNjYWxlRW1Ub1VuaXRzKG1heChDR1JlY3RHZXRNYXhYKHhCb3gp
LCBDR1JlY3RHZXRNYXhZKHhCb3gpKSwgbV91bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAgICAg
ICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHNjYWxlRW1Ub1VuaXRzKG1heChDR1JlY3RHZXRN
YXhYKHhCb3gpLCBDR1JlY3RHZXRNYXhZKHhCb3gpKSwgdW5pdHNQZXJFbSkgKiBwb2ludFNpemUp
OwogICAgIH0gZWxzZSB7CiAgICAgICAgIGludCBpWEhlaWdodCA9IENHRm9udEdldFhIZWlnaHQo
Zm9udCk7Ci0gICAgICAgIG1feEhlaWdodCA9IHNjYWxlRW1Ub1VuaXRzKGlYSGVpZ2h0LCBtX3Vu
aXRzUGVyRW0pICogcG9pbnRTaXplOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQo
c2NhbGVFbVRvVW5pdHMoaVhIZWlnaHQsIHVuaXRzUGVyRW0pICogcG9pbnRTaXplKTsKICAgICB9
CisKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFVuaXRzUGVyRW0odW5pdHNQZXJFbSk7CiB9CiAKIHZv
aWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQ2hhcldpZHRoSW5pdCgpCkBAIC0xMzMsNyArMTM1
LDcgQEAgRmxvYXRSZWN0IFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUJvdW5kcwogICAgIENHUmVj
dCBib3g7CiAgICAgQ0dGb250R2V0R2x5cGhCQm94ZXMobV9wbGF0Zm9ybURhdGEuY2dGb250KCks
ICZnbHlwaCwgMSwgJmJveCk7CiAgICAgZmxvYXQgcG9pbnRTaXplID0gbV9wbGF0Zm9ybURhdGEu
c2l6ZSgpOwotICAgIENHRmxvYXQgc2NhbGUgPSBwb2ludFNpemUgLyB1bml0c1BlckVtKCk7Cisg
ICAgQ0dGbG9hdCBzY2FsZSA9IHBvaW50U2l6ZSAvIGZvbnRNZXRyaWNzKCkudW5pdHNQZXJFbSgp
OwogICAgIEZsb2F0UmVjdCBib3VuZGluZ0JveCA9IENHUmVjdEFwcGx5QWZmaW5lVHJhbnNmb3Jt
KGJveCwgQ0dBZmZpbmVUcmFuc2Zvcm1NYWtlU2NhbGUoc2NhbGUsIC1zY2FsZSkpOwogICAgIGlm
IChtX3N5bnRoZXRpY0JvbGRPZmZzZXQpCiAgICAgICAgIGJvdW5kaW5nQm94LnNldFdpZHRoKGJv
dW5kaW5nQm94LndpZHRoKCkgKyBtX3N5bnRoZXRpY0JvbGRPZmZzZXQpOwpJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFDYWlyb1dpbi5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFDYWly
b1dpbi5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vU2ltcGxlRm9udERhdGFDYWlyb1dpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDEzICs2
MywxNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogCiAgICAgVEVYVE1F
VFJJQyB0ZXh0TWV0cmljczsKICAgICBHZXRUZXh0TWV0cmljcyhoZGMsICZ0ZXh0TWV0cmljcyk7
Ci0gICAgbV9hc2NlbnQgPSBscm91bmRmKHRleHRNZXRyaWNzLnRtQXNjZW50ICogbWV0cmljc011
bHRpcGxpZXIpOwotICAgIG1fZGVzY2VudCA9IGxyb3VuZGYodGV4dE1ldHJpY3MudG1EZXNjZW50
ICogbWV0cmljc011bHRpcGxpZXIpOwotICAgIG1feEhlaWdodCA9IG1fYXNjZW50ICogMC41NmY7
IC8vIEJlc3QgZ3Vlc3MgZm9yIHhIZWlnaHQgZm9yIG5vbi1UcnVldHlwZSBmb250cy4KLSAgICBt
X2xpbmVHYXAgPSBscm91bmRmKHRleHRNZXRyaWNzLnRtRXh0ZXJuYWxMZWFkaW5nICogbWV0cmlj
c011bHRpcGxpZXIpOwotICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2VudCAr
IG1fbGluZUdhcDsKLSAgICBtX2F2Z0NoYXJXaWR0aCA9IGxyb3VuZGYodGV4dE1ldHJpY3MudG1B
dmVDaGFyV2lkdGggKiBtZXRyaWNzTXVsdGlwbGllcik7Ci0gICAgbV9tYXhDaGFyV2lkdGggPSBs
cm91bmRmKHRleHRNZXRyaWNzLnRtTWF4Q2hhcldpZHRoICogbWV0cmljc011bHRpcGxpZXIpOwor
ICAgIGZsb2F0IGFzY2VudCA9IHRleHRNZXRyaWNzLnRtQXNjZW50ICogbWV0cmljc011bHRpcGxp
ZXI7CisgICAgZmxvYXQgZGVzY2VudCA9IHRleHRNZXRyaWNzLnRtRGVzY2VudCAqIG1ldHJpY3NN
dWx0aXBsaWVyOworICAgIGZsb2F0IHhIZWlnaHQgPSBhc2NlbnQgKiAwLjU2ZjsgLy8gQmVzdCBn
dWVzcyBmb3IgeEhlaWdodCBmb3Igbm9uLVRydWV0eXBlIGZvbnRzLgorICAgIGZsb2F0IGxpbmVH
YXAgPSB0ZXh0TWV0cmljcy50bUV4dGVybmFsTGVhZGluZyAqIG1ldHJpY3NNdWx0aXBsaWVyOwor
ICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGFzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5z
ZXREZXNjZW50KGRlc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChsaW5lR2Fw
KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGFzY2VudCArIGRlc2NlbnQgKyBs
aW5lR2FwKTsKKyAgICBtX2F2Z0NoYXJXaWR0aCA9IHRleHRNZXRyaWNzLnRtQXZlQ2hhcldpZHRo
ICogbWV0cmljc011bHRpcGxpZXI7CisgICAgbV9tYXhDaGFyV2lkdGggPSB0ZXh0TWV0cmljcy50
bU1heENoYXJXaWR0aCAqIG1ldHJpY3NNdWx0aXBsaWVyOwogCiAgICAgT1VUTElORVRFWFRNRVRS
SUMgbWV0cmljczsKICAgICBpZiAoR2V0T3V0bGluZVRleHRNZXRyaWNzKGhkYywgc2l6ZW9mKG1l
dHJpY3MpLCAmbWV0cmljcykgPiAwKSB7CkBAIC03OCw5ICs4MSwxMCBAQCB2b2lkIFNpbXBsZUZv
bnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgICAgICBNQVQyIG1hdCA9IHsgMSwgMCwgMCwgMSB9
OwogICAgICAgICBEV09SRCBsZW4gPSBHZXRHbHlwaE91dGxpbmUoaGRjLCAneCcsIEdHT19NRVRS
SUNTLCAmZ20sIDAsIDAsICZtYXQpOwogICAgICAgICBpZiAobGVuICE9IEdESV9FUlJPUiAmJiBn
bS5nbXB0R2x5cGhPcmlnaW4ueSA+IDApCi0gICAgICAgICAgICBtX3hIZWlnaHQgPSBnbS5nbXB0
R2x5cGhPcmlnaW4ueSAqIG1ldHJpY3NNdWx0aXBsaWVyOworICAgICAgICAgICAgeEhlaWdodCA9
IGdtLmdtcHRHbHlwaE9yaWdpbi55ICogbWV0cmljc011bHRpcGxpZXI7CiAgICAgfQogCisgICAg
bV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHhIZWlnaHQpOwogICAgIGNhaXJvX3dpbjMyX3NjYWxl
ZF9mb250X2RvbmVfZm9udChzY2FsZWRGb250KTsKIAogICAgIG1faXNTeXN0ZW1Gb250ID0gZmFs
c2U7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdp
bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxl
Rm9udERhdGFXaW4uY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjYsMTQg
KzY2LDkgQEAgYm9vbCBTaW1wbGVGb250RGF0YTo6c2hvdWxkQXBwbHlNYWNBc2Nlbgogdm9pZCBT
aW1wbGVGb250RGF0YTo6aW5pdEdESUZvbnQoKQogewogICAgIGlmICghbV9wbGF0Zm9ybURhdGEu
c2l6ZSgpKSB7Ci0gICAgICAgIG1fYXNjZW50ID0gMDsKLSAgICAgICAgbV9kZXNjZW50ID0gMDsK
LSAgICAgICAgbV9saW5lR2FwID0gMDsKLSAgICAgICAgbV9saW5lU3BhY2luZyA9IDA7CisgICAg
ICAgIG1fZm9udE1ldHJpY3MucmVzZXQoKTsKICAgICAgICAgbV9hdmdDaGFyV2lkdGggPSAwOwog
ICAgICAgICBtX21heENoYXJXaWR0aCA9IDA7Ci0gICAgICAgIG1feEhlaWdodCA9IDA7Ci0gICAg
ICAgIG1fdW5pdHNQZXJFbSA9IDA7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTgyLDIx
ICs3NywyNSBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjppbml0R0RJRm9udCgpCiAgICAgIE9VVExJ
TkVURVhUTUVUUklDIG1ldHJpY3M7CiAgICAgIEdldE91dGxpbmVUZXh0TWV0cmljcyhoZGMsIHNp
emVvZihtZXRyaWNzKSwgJm1ldHJpY3MpOwogICAgICBURVhUTUVUUklDJiB0ZXh0TWV0cmljcyA9
IG1ldHJpY3Mub3RtVGV4dE1ldHJpY3M7Ci0gICAgIG1fYXNjZW50ID0gdGV4dE1ldHJpY3MudG1B
c2NlbnQ7Ci0gICAgIG1fZGVzY2VudCA9IHRleHRNZXRyaWNzLnRtRGVzY2VudDsKLSAgICAgbV9s
aW5lR2FwID0gdGV4dE1ldHJpY3MudG1FeHRlcm5hbExlYWRpbmc7Ci0gICAgIG1fbGluZVNwYWNp
bmcgPSBtX2FzY2VudCArIG1fZGVzY2VudCArIG1fbGluZUdhcDsKKyAgICAgZmxvYXQgYXNjZW50
ID0gdGV4dE1ldHJpY3MudG1Bc2NlbnQ7CisgICAgIGZsb2F0IGRlc2NlbnQgPSB0ZXh0TWV0cmlj
cy50bURlc2NlbnQ7CisgICAgIGZsb2F0IGxpbmVHYXAgPSB0ZXh0TWV0cmljcy50bUV4dGVybmFs
TGVhZGluZzsKKyAgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAgICAgbV9m
b250TWV0cmljcy5zZXREZXNjZW50KGRlc2NlbnQpOworICAgICBtX2ZvbnRNZXRyaWNzLnNldExp
bmVHYXAobGluZUdhcCk7CisgICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNjZW50
ICsgZGVzY2VudCArIGxpbmVHYXApOwogICAgICBtX2F2Z0NoYXJXaWR0aCA9IHRleHRNZXRyaWNz
LnRtQXZlQ2hhcldpZHRoOwogICAgICBtX21heENoYXJXaWR0aCA9IHRleHRNZXRyaWNzLnRtTWF4
Q2hhcldpZHRoOwotICAgICBtX3hIZWlnaHQgPSBtX2FzY2VudCAqIDAuNTZmOyAvLyBCZXN0IGd1
ZXNzIGZvciB4SGVpZ2h0IGlmIG5vIHggZ2x5cGggaXMgcHJlc2VudC4KKyAgICAgZmxvYXQgeEhl
aWdodCA9IGFzY2VudCAqIDAuNTZmOyAvLyBCZXN0IGd1ZXNzIGZvciB4SGVpZ2h0IGlmIG5vIHgg
Z2x5cGggaXMgcHJlc2VudC4KIAogICAgICBHTFlQSE1FVFJJQ1MgZ207CiAgICAgIE1BVDIgbWF0
ID0geyAxLCAwLCAwLCAxIH07CiAgICAgIERXT1JEIGxlbiA9IEdldEdseXBoT3V0bGluZShoZGMs
ICd4JywgR0dPX01FVFJJQ1MsICZnbSwgMCwgMCwgJm1hdCk7CiAgICAgIGlmIChsZW4gIT0gR0RJ
X0VSUk9SICYmIGdtLmdtcHRHbHlwaE9yaWdpbi55ID4gMCkKLSAgICAgICAgIG1feEhlaWdodCA9
IGdtLmdtcHRHbHlwaE9yaWdpbi55OworICAgICAgICAgeEhlaWdodCA9IGdtLmdtcHRHbHlwaE9y
aWdpbi55OwogCi0gICAgIG1fdW5pdHNQZXJFbSA9IG1ldHJpY3Mub3RtRU1TcXVhcmU7CisgICAg
IG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh4SGVpZ2h0KTsKKyAgICAgbV9mb250TWV0cmljcy5z
ZXRVbml0c1BlckVtKG1ldHJpY3Mub3RtRU1TcXVhcmUpOwogCiAgICAgIFNlbGVjdE9iamVjdCho
ZGMsIG9sZEZvbnQpOwogICAgICBSZWxlYXNlREMoMCwgaGRjKTsKSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0Uu
Y3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2Uv
R3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTM1LDcgKzE1MzUs
NyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd1RleHQoY29uc3QgRm9uCiAgICAgbV9kYXRh
LT5tX29wYWNpdHkgKj0gZmlsbENvbG9yKCkuYWxwaGEoKSAvIDI1NS4wOwogCiAgICAgRmxvYXRS
ZWN0IHRleHRSZWN0ID0gZm9udC5zZWxlY3Rpb25SZWN0Rm9yVGV4dChydW4sIHBvaW50LCBmb250
LmhlaWdodCgpLCBmcm9tLCB0byk7Ci0gICAgdGV4dFJlY3Quc2V0WSh0ZXh0UmVjdC55KCkgLSBm
b250LmFzY2VudCgpKTsKKyAgICB0ZXh0UmVjdC5zZXRZKHRleHRSZWN0LnkoKSAtIGZvbnQuZm9u
dE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAgSW50UmVjdCB0clJlY3QgPSBlbmNsb3NpbmdJbnRS
ZWN0KG1fZGF0YS0+bWFwUmVjdCh0ZXh0UmVjdCkpOwogICAgIFJFQ1QgYm1wUmVjdDsKICAgICBB
bHBoYVBhaW50VHlwZSBhbHBoYVBhaW50VHlwZSA9IG11c3RTdXBwb3J0QWxwaGEgPyBBbHBoYVBh
aW50T3RoZXIgOiBBbHBoYVBhaW50Tm9uZTsKQEAgLTE1NDQsNyArMTU0NCw3IEBAIHZvaWQgR3Jh
cGhpY3NDb250ZXh0OjpkcmF3VGV4dChjb25zdCBGb24KICAgICAgICAgICAgIEdyYXBoaWNzQ29u
dGV4dCBnYygwKTsKICAgICAgICAgICAgIGdjLnNldEJpdG1hcChibXApOwogICAgICAgICAgICAg
Z2Muc2NhbGUoRmxvYXRTaXplKG1fZGF0YS0+bV90cmFuc2Zvcm0uYSgpLCBtX2RhdGEtPm1fdHJh
bnNmb3JtLmQoKSkpOwotICAgICAgICAgICAgZm9udC5kcmF3VGV4dCgmZ2MsIHJ1biwgSW50UG9p
bnQoMCwgZm9udC5hc2NlbnQoKSksIGZyb20sIHRvKTsKKyAgICAgICAgICAgIGZvbnQuZHJhd1Rl
eHQoJmdjLCBydW4sIEludFBvaW50KDAsIGZvbnQuZm9udE1ldHJpY3MoKS5hc2NlbnQoKSksIGZy
b20sIHRvKTsKICAgICAgICAgfQogICAgICAgICB1bnNpZ25lZCBrZXkxOwogICAgICAgICBIREMg
bWVtREMgPSBibXAtPmdldERDKCZrZXkxKTsKQEAgLTE1ODksNyArMTU4OSw3IEBAIHZvaWQgR3Jh
cGhpY3NDb250ZXh0OjpkcmF3VGV4dChjb25zdCBTaW0KICAgICAgICAgPyBmb250RGF0YS0+cGxh
dGZvcm1EYXRhKCkuZ2V0U2NhbGVkRm9udEhhbmRsZShoZWlnaHQsIHNjYWxlWCA9PSBzY2FsZVkg
PyAwIDogd2lkdGgpCiAgICAgICAgIDogMDsKIAotICAgIEZsb2F0UG9pbnQgc3RhcnRQb2ludChw
b2ludC54KCksIHBvaW50LnkoKSAtIGZvbnREYXRhLT5hc2NlbnQoKSk7CisgICAgRmxvYXRQb2lu
dCBzdGFydFBvaW50KHBvaW50LngoKSwgcG9pbnQueSgpIC0gZm9udERhdGEtPmZvbnRNZXRyaWNz
KCkuYXNjZW50KCkpOwogICAgIEZsb2F0UG9pbnQgdHJQb2ludCA9IG1fZGF0YS0+bWFwUG9pbnQo
c3RhcnRQb2ludCk7CiAgICAgaW50IHkgPSBzdGFibGVSb3VuZCh0clBvaW50LnkoKSk7CiAKSW5k
ZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2ltcGxlRm9udERhdGFXaW5DRS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9TaW1wbGVG
b250RGF0YVdpbkNFLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbmNlL1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
MSwxMSArNTEsMTQgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICBj
b25zdCBURVhUTUVUUklDJiB0bSA9IG1fcGxhdGZvcm1EYXRhLm1ldHJpY3MoKTsKICAgICBtX2lz
U3lzdGVtRm9udCA9IG1fcGxhdGZvcm1EYXRhLmlzU3lzdGVtRm9udCgpOwogCi0gICAgbV9hc2Nl
bnQgPSAodG0udG1Bc2NlbnQgKiBtX3BsYXRmb3JtRGF0YS5zaXplKCkgKyAzNikgLyA3MjsKLSAg
ICBtX2Rlc2NlbnQgPSAodG0udG1EZXNjZW50ICogbV9wbGF0Zm9ybURhdGEuc2l6ZSgpICsgMzYp
IC8gNzI7Ci0gICAgbV9saW5lR2FwID0gKHRtLnRtRXh0ZXJuYWxMZWFkaW5nICogbV9wbGF0Zm9y
bURhdGEuc2l6ZSgpICsgMzYpIC8gNzI7Ci0gICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsg
bV9kZXNjZW50ICsgbV9saW5lR2FwOwotICAgIG1feEhlaWdodCA9IG1fYXNjZW50ICogMC41NmY7
CisgICAgZmxvYXQgYXNjZW50ID0gKHRtLnRtQXNjZW50ICogbV9wbGF0Zm9ybURhdGEuc2l6ZSgp
ICsgMzYpIC8gNzIuMGY7CisgICAgZmxvYXQgZGVzY2VudCA9ICh0bS50bURlc2NlbnQgKiBtX3Bs
YXRmb3JtRGF0YS5zaXplKCkgKyAzNikgLyA3Mi4wZjsKKyAgICBmbG9hdCBsaW5lR2FwID0gKHRt
LnRtRXh0ZXJuYWxMZWFkaW5nICogbV9wbGF0Zm9ybURhdGEuc2l6ZSgpICsgMzYpIC8gNzIuMGY7
CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNz
LnNldERlc2NlbnQoZGVzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGxpbmVH
YXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNjZW50ICsgZGVzY2VudCAr
IGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodChhc2NlbnQgKiAwLjU2Zik7
CiB9CiAKIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtRGVzdHJveSgpCkluZGV4OiBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L1NpbXBsZUZvbnREYXRhV3guY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvU2ltcGxlRm9udERhdGFXeC5jcHAJKHJl
dmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9TaW1wbGVGb250
RGF0YVd4LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMsMTIgKzUzLDEyIEBAIHZvaWQgU2ltcGxl
Rm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgd3hGb250ICpmb250ID0gbV9wbGF0Zm9ybURh
dGEuZm9udCgpOwogICAgIGlmIChmb250ICYmIGZvbnQtPklzT2soKSkgewogICAgICAgICB3eEZv
bnRQcm9wZXJ0aWVzIHByb3BzID0gd3hGb250UHJvcGVydGllcyhmb250KTsKLSAgICAgICAgbV9h
c2NlbnQgPSBwcm9wcy5HZXRBc2NlbnQoKTsKLSAgICAgICAgbV9kZXNjZW50ID0gcHJvcHMuR2V0
RGVzY2VudCgpOwotICAgICAgICBtX2xpbmVTcGFjaW5nID0gcHJvcHMuR2V0TGluZVNwYWNpbmco
KTsKLSAgICAgICAgbV94SGVpZ2h0ID0gcHJvcHMuR2V0WEhlaWdodCgpOwotICAgICAgICBtX3Vu
aXRzUGVyRW0gPSAxOyAvLyBGSVhNRSEKLSAgICAgICAgbV9saW5lR2FwID0gcHJvcHMuR2V0TGlu
ZUdhcCgpOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChwcm9wcy5HZXRBc2NlbnQo
KSk7CisgICAgICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChwcm9wcy5HZXREZXNjZW50KCkp
OworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKHByb3BzLkdldExpbmVTcGFj
aW5nKCkpOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQocHJvcHMuR2V0WEhlaWdo
dCgpKTsKKyAgICAgICAgbV9mb250TWV0cmljcy5zZXRVbml0c1BlckVtKDEpOyAvLyBGSVhNRSEK
KyAgICAgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKHByb3BzLkdldExpbmVHYXAoKSk7CiAg
ICAgfQogCiAgICAgbV9zeW50aGV0aWNCb2xkT2Zmc2V0ID0gMC4wZjsKSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0
Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDUsNyArMzA1
LDcgQEAgdm9pZCBQb3B1cE1lbnVXaW46OmNhbGN1bGF0ZVBvc2l0aW9uQW5kUwogCiAgICAgLy8g
Rmlyc3QsIGRldGVybWluZSB0aGUgcG9wdXAncyBoZWlnaHQKICAgICBpbnQgaXRlbUNvdW50ID0g
Y2xpZW50KCktPmxpc3RTaXplKCk7Ci0gICAgbV9pdGVtSGVpZ2h0ID0gY2xpZW50KCktPm1lbnVT
dHlsZSgpLmZvbnQoKS5oZWlnaHQoKSArIG9wdGlvblNwYWNpbmdNaWRkbGU7CisgICAgbV9pdGVt
SGVpZ2h0ID0gY2xpZW50KCktPm1lbnVTdHlsZSgpLmZvbnQoKS5mb250TWV0cmljcygpLmhlaWdo
dCgpICsgb3B0aW9uU3BhY2luZ01pZGRsZTsKICAgICBpbnQgbmF0dXJhbEhlaWdodCA9IG1faXRl
bUhlaWdodCAqIGl0ZW1Db3VudDsKICAgICBpbnQgcG9wdXBIZWlnaHQgPSBtaW4obWF4UG9wdXBI
ZWlnaHQsIG5hdHVyYWxIZWlnaHQpOwogICAgIC8vIFRoZSBwb3B1cCBzaG91bGQgc2hvdyBhbiBp
bnRlZ3JhbCBudW1iZXIgb2YgaXRlbXMgKGkuZS4gbm8gcGFydGlhbCBpdGVtcyBzaG91bGQgYmUg
dmlzaWJsZSkKQEAgLTY0OCw3ICs2NDgsNyBAQCB2b2lkIFBvcHVwTWVudVdpbjo6cGFpbnQoY29u
c3QgSW50UmVjdCYgCiAgICAgICAgICAgICBpbnQgdGV4dFggPSBtYXgoMCwgY2xpZW50KCktPmNs
aWVudFBhZGRpbmdMZWZ0KCkgLSBjbGllbnQoKS0+Y2xpZW50SW5zZXRMZWZ0KCkpOwogICAgICAg
ICAgICAgaWYgKFJlbmRlclRoZW1lOjpkZWZhdWx0VGhlbWUoKS0+cG9wdXBPcHRpb25TdXBwb3J0
c1RleHRJbmRlbnQoKSAmJiBpdGVtU3R5bGUudGV4dERpcmVjdGlvbigpID09IExUUikKICAgICAg
ICAgICAgICAgICB0ZXh0WCArPSBpdGVtU3R5bGUudGV4dEluZGVudCgpLmNhbGNNaW5WYWx1ZShp
dGVtUmVjdC53aWR0aCgpKTsKLSAgICAgICAgICAgIGludCB0ZXh0WSA9IGl0ZW1SZWN0LnkoKSAr
IGl0ZW1Gb250LmFzY2VudCgpICsgKGl0ZW1SZWN0LmhlaWdodCgpIC0gaXRlbUZvbnQuaGVpZ2h0
KCkpIC8gMjsKKyAgICAgICAgICAgIGludCB0ZXh0WSA9IGl0ZW1SZWN0LnkoKSArIGl0ZW1Gb250
LmZvbnRNZXRyaWNzKCkuYXNjZW50KCkgKyAoaXRlbVJlY3QuaGVpZ2h0KCkgLSBpdGVtRm9udC5m
b250TWV0cmljcygpLmhlaWdodCgpKSAvIDI7CiAgICAgICAgICAgICBjb250ZXh0LmRyYXdCaWRp
VGV4dChpdGVtRm9udCwgdGV4dFJ1biwgSW50UG9pbnQodGV4dFgsIHRleHRZKSk7CiAgICAgICAg
IH0KICAgICB9CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9FbGxpcHNpc0JveC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvRWxsaXBzaXNCb3guY3BwCShyZXZpc2lvbiA3NDY2
NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL0VsbGlwc2lzQm94LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTEsNyArNTEsNyBAQCB2b2lkIEVsbGlwc2lzQm94OjpwYWludChQYWludEluZm8mIHBhaW50
CiAgICAgfQogCiAgICAgY29uc3QgU3RyaW5nJiBzdHIgPSBtX3N0cjsKLSAgICBjb250ZXh0LT5k
cmF3VGV4dChzdHlsZS0+Zm9udCgpLCBUZXh0UnVuKHN0ci5jaGFyYWN0ZXJzKCksIHN0ci5sZW5n
dGgoKSwgZmFsc2UsIDAsIDAsIGZhbHNlLCBzdHlsZS0+dmlzdWFsbHlPcmRlcmVkKCkpLCBJbnRQ
b2ludChtX3ggKyB0eCwgbV95ICsgdHkgKyBzdHlsZS0+Zm9udCgpLmFzY2VudCgpKSk7CisgICAg
Y29udGV4dC0+ZHJhd1RleHQoc3R5bGUtPmZvbnQoKSwgVGV4dFJ1bihzdHIuY2hhcmFjdGVycygp
LCBzdHIubGVuZ3RoKCksIGZhbHNlLCAwLCAwLCBmYWxzZSwgc3R5bGUtPnZpc3VhbGx5T3JkZXJl
ZCgpKSwgSW50UG9pbnQobV94ICsgdHgsIG1feSArIHR5ICsgc3R5bGUtPmZvbnRNZXRyaWNzKCku
YXNjZW50KCkpKTsKIAogICAgIC8vIFJlc3RvcmUgdGhlIHJlZ3VsYXIgZmlsbCBjb2xvci4KICAg
ICBpZiAodGV4dENvbG9yICE9IGNvbnRleHQtPmZpbGxDb2xvcigpKQpAQCAtNjMsNyArNjMsNyBA
QCB2b2lkIEVsbGlwc2lzQm94OjpwYWludChQYWludEluZm8mIHBhaW50CiAgICAgaWYgKG1fbWFy
a3VwQm94KSB7CiAgICAgICAgIC8vIFBhaW50IHRoZSBtYXJrdXAgYm94CiAgICAgICAgIHR4ICs9
IG1feCArIG1fbG9naWNhbFdpZHRoIC0gbV9tYXJrdXBCb3gtPngoKTsKLSAgICAgICAgdHkgKz0g
bV95ICsgc3R5bGUtPmZvbnQoKS5hc2NlbnQoKSAtIChtX21hcmt1cEJveC0+eSgpICsgbV9tYXJr
dXBCb3gtPnJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpLmFzY2VudCgpKTsK
KyAgICAgICAgdHkgKz0gbV95ICsgc3R5bGUtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkgLSAobV9t
YXJrdXBCb3gtPnkoKSArIG1fbWFya3VwQm94LT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGlu
ZSktPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwogICAgICAgICBtX21hcmt1cEJveC0+cGFpbnQo
cGFpbnRJbmZvLCB0eCwgdHkpOwogICAgIH0KIH0KQEAgLTEwNiw3ICsxMDYsNyBAQCBib29sIEVs
bGlwc2lzQm94Ojpub2RlQXRQb2ludChjb25zdCBIaXRUCiAgICAgaWYgKG1fbWFya3VwQm94KSB7
CiAgICAgICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IG1fcmVuZGVyZXItPnN0eWxlKG1fZmlyc3RM
aW5lKTsKICAgICAgICAgaW50IG10eCA9IHR4ICsgbV9sb2dpY2FsV2lkdGggLSBtX21hcmt1cEJv
eC0+eCgpOwotICAgICAgICBpbnQgbXR5ID0gdHkgKyBzdHlsZS0+Zm9udCgpLmFzY2VudCgpIC0g
KG1fbWFya3VwQm94LT55KCkgKyBtX21hcmt1cEJveC0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJz
dExpbmUpLT5mb250KCkuYXNjZW50KCkpOworICAgICAgICBpbnQgbXR5ID0gdHkgKyBzdHlsZS0+
Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSAtIChtX21hcmt1cEJveC0+eSgpICsgbV9tYXJrdXBCb3gt
PnJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7
CiAgICAgICAgIGlmIChtX21hcmt1cEJveC0+bm9kZUF0UG9pbnQocmVxdWVzdCwgcmVzdWx0LCB4
LCB5LCBtdHgsIG10eSkpIHsKICAgICAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUhpdFRlc3RS
ZXN1bHQocmVzdWx0LCBJbnRQb2ludCh4IC0gbXR4LCB5IC0gbXR5KSk7CiAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmNwcAkocmV2aXNpb24gNzQ2NjUp
CisrKyBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05
MywxNCArOTMsMTQgQEAgaW50IElubGluZUJveDo6bG9naWNhbEhlaWdodCgpIGNvbnN0CiAjZW5k
aWYKICAgICAKICAgICBpZiAocmVuZGVyZXIoKS0+aXNUZXh0KCkpCi0gICAgICAgIHJldHVybiBt
X2lzVGV4dCA/IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpLmhlaWdodCgp
IDogMDsKKyAgICAgICAgcmV0dXJuIG1faXNUZXh0ID8gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJz
dExpbmUpLT5mb250TWV0cmljcygpLmhlaWdodCgpIDogMDsKICAgICBpZiAocmVuZGVyZXIoKS0+
aXNCb3goKSAmJiBwYXJlbnQoKSkKICAgICAgICAgcmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gdG9S
ZW5kZXJCb3gobV9yZW5kZXJlciktPmhlaWdodCgpIDogdG9SZW5kZXJCb3gobV9yZW5kZXJlcikt
PndpZHRoKCk7CiAKICAgICBBU1NFUlQoaXNJbmxpbmVGbG93Qm94KCkpOwogICAgIFJlbmRlckJv
eE1vZGVsT2JqZWN0KiBmbG93T2JqZWN0ID0gYm94TW9kZWxPYmplY3QoKTsKLSAgICBjb25zdCBG
b250JiBmb250ID0gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCk7Ci0gICAg
aW50IHJlc3VsdCA9IGZvbnQuaGVpZ2h0KCk7CisgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRN
ZXRyaWNzID0gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250TWV0cmljcygpOwor
ICAgIGludCByZXN1bHQgPSBmb250TWV0cmljcy5oZWlnaHQoKTsKICAgICBpZiAocGFyZW50KCkp
CiAgICAgICAgIHJlc3VsdCArPSBmbG93T2JqZWN0LT5ib3JkZXJBbmRQYWRkaW5nTG9naWNhbEhl
aWdodCgpOwogICAgIHJldHVybiByZXN1bHQ7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVGbG93Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93
Qm94LmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93
Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDA4LDYgKzQwOCw3IEBAIHN0YXRpYyBpbnQgdmVy
dGljYWxQb3NpdGlvbkZvckJveChJbmxpbmUKICAgICAgICAgCiAgICAgICAgIGlmICh2ZXJ0aWNh
bEFsaWduICE9IEJBU0VMSU5FKSB7CiAgICAgICAgICAgICBjb25zdCBGb250JiBmb250ID0gcGFy
ZW50LT5zdHlsZShmaXJzdExpbmUpLT5mb250KCk7CisgICAgICAgICAgICBjb25zdCBGb250TWV0
cmljcyYgZm9udE1ldHJpY3MgPSBmb250LmZvbnRNZXRyaWNzKCk7CiAgICAgICAgICAgICBpbnQg
Zm9udFNpemUgPSBmb250LnBpeGVsU2l6ZSgpOwogCiAgICAgICAgICAgICBMaW5lRGlyZWN0aW9u
TW9kZSBsaW5lRGlyZWN0aW9uID0gcGFyZW50LT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5n
TW9kZSgpID8gSG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmU7CkBAIC00MTcsMTEgKzQxOCwx
MSBAQCBzdGF0aWMgaW50IHZlcnRpY2FsUG9zaXRpb25Gb3JCb3goSW5saW5lCiAgICAgICAgICAg
ICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IFNVUEVSKQogICAgICAgICAgICAgICAgIHZlcnRp
Y2FsUG9zaXRpb24gLT0gZm9udFNpemUgLyAzICsgMTsKICAgICAgICAgICAgIGVsc2UgaWYgKHZl
cnRpY2FsQWxpZ24gPT0gVEVYVF9UT1ApCi0gICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlv
biArPSByZW5kZXJlci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwg
bGluZURpcmVjdGlvbikgLSBmb250LmFzY2VudChiYXNlbGluZVR5cGUpOworICAgICAgICAgICAg
ICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gcmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxp
bmVUeXBlLCBmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC0gZm9udE1ldHJpY3MuYXNjZW50KGJh
c2VsaW5lVHlwZSk7CiAgICAgICAgICAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IE1JRERM
RSkKLSAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IC1zdGF0aWNfY2FzdDxpbnQ+
KGZvbnQueEhlaWdodCgpIC8gMikgLSByZW5kZXJlci0+bGluZUhlaWdodChmaXJzdExpbmUsIGxp
bmVEaXJlY3Rpb24pIC8gMiArIHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlw
ZSwgZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKTsKKyAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBv
c2l0aW9uICs9IC1zdGF0aWNfY2FzdDxpbnQ+KGZvbnRNZXRyaWNzLnhIZWlnaHQoKSAvIDIpIC0g
cmVuZGVyZXItPmxpbmVIZWlnaHQoZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAvIDIgKyByZW5k
ZXJlci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURpcmVj
dGlvbik7CiAgICAgICAgICAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IFRFWFRfQk9UVE9N
KSB7Ci0gICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiArPSBmb250LmRlc2NlbnQoYmFz
ZWxpbmVUeXBlKTsKKyAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IGZvbnRNZXRy
aWNzLmRlc2NlbnQoYmFzZWxpbmVUeXBlKTsKICAgICAgICAgICAgICAgICAvLyBsaW5lSGVpZ2h0
IC0gYmFzZWxpbmVQb3NpdGlvbiBpcyBhbHdheXMgMCBmb3IgcmVwbGFjZWQgZWxlbWVudHMgKGV4
Y2VwdCBpbmxpbmUgYmxvY2tzKSwgc28gZG9uJ3QgYm90aGVyIHdhc3RpbmcgdGltZSBpbiB0aGF0
IGNhc2UuCiAgICAgICAgICAgICAgICAgaWYgKCFyZW5kZXJlci0+aXNSZXBsYWNlZCgpIHx8IHJl
bmRlcmVyLT5pc0lubGluZUJsb2NrT3JJbmxpbmVUYWJsZSgpKQogICAgICAgICAgICAgICAgICAg
ICB2ZXJ0aWNhbFBvc2l0aW9uIC09IChyZW5kZXJlci0+bGluZUhlaWdodChmaXJzdExpbmUsIGxp
bmVEaXJlY3Rpb24pIC0gcmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBm
aXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pKTsKQEAgLTUwMyw5ICs1MDQsMTAgQEAgdm9pZCBJbmxp
bmVGbG93Qm94Ojpjb21wdXRlTG9naWNhbEJveEhlaQogICAgICAgICAgICAgYmFzZWxpbmUgPSAw
OwogICAgICAgICAgICAgaW50IGJhc2VsaW5lVG9Cb3R0b20gPSAwOwogICAgICAgICAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCB1c2VkRm9udHMtPnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAg
ICAgICAgaW50IGhhbGZMZWFkaW5nID0gKHVzZWRGb250cy0+YXQoaSktPmxpbmVTcGFjaW5nKCkg
LSB1c2VkRm9udHMtPmF0KGkpLT5oZWlnaHQoKSkgLyAyOwotICAgICAgICAgICAgICAgIGludCB1
c2VkRm9udEJhc2VsaW5lID0gaGFsZkxlYWRpbmcgKyB1c2VkRm9udHMtPmF0KGkpLT5hc2NlbnQo
YmFzZWxpbmVUeXBlKTsKLSAgICAgICAgICAgICAgICBpbnQgdXNlZEZvbnRCYXNlbGluZVRvQm90
dG9tID0gdXNlZEZvbnRzLT5hdChpKS0+bGluZVNwYWNpbmcoKSAtIHVzZWRGb250QmFzZWxpbmU7
CisgICAgICAgICAgICAgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gdXNlZEZv
bnRzLT5hdChpKS0+Zm9udE1ldHJpY3MoKTsKKyAgICAgICAgICAgICAgICBpbnQgaGFsZkxlYWRp
bmcgPSAoZm9udE1ldHJpY3MubGluZVNwYWNpbmcoKSAtIGZvbnRNZXRyaWNzLmhlaWdodCgpKSAv
IDI7CisgICAgICAgICAgICAgICAgaW50IHVzZWRGb250QmFzZWxpbmUgPSBoYWxmTGVhZGluZyAr
IGZvbnRNZXRyaWNzLmFzY2VudChiYXNlbGluZVR5cGUpOworICAgICAgICAgICAgICAgIGludCB1
c2VkRm9udEJhc2VsaW5lVG9Cb3R0b20gPSBmb250TWV0cmljcy5saW5lU3BhY2luZygpIC0gdXNl
ZEZvbnRCYXNlbGluZTsKICAgICAgICAgICAgICAgICBpZiAoIWJhc2VsaW5lU2V0KSB7CiAgICAg
ICAgICAgICAgICAgICAgIGJhc2VsaW5lU2V0ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAg
YmFzZWxpbmUgPSB1c2VkRm9udEJhc2VsaW5lOwpAQCAtNTE1LDkgKzUxNyw5IEBAIHZvaWQgSW5s
aW5lRmxvd0JveDo6Y29tcHV0ZUxvZ2ljYWxCb3hIZWkKICAgICAgICAgICAgICAgICAgICAgYmFz
ZWxpbmVUb0JvdHRvbSA9IG1heChiYXNlbGluZVRvQm90dG9tLCB1c2VkRm9udEJhc2VsaW5lVG9C
b3R0b20pOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBpZiAoIWFmZmVjdHNB
c2NlbnQpCi0gICAgICAgICAgICAgICAgICAgIGFmZmVjdHNBc2NlbnQgPSB1c2VkRm9udHMtPmF0
KGkpLT5hc2NlbnQoKSAtIGN1cnItPmxvZ2ljYWxUb3AoKSA+IDA7CisgICAgICAgICAgICAgICAg
ICAgIGFmZmVjdHNBc2NlbnQgPSBmb250TWV0cmljcy5hc2NlbnQoKSAtIGN1cnItPmxvZ2ljYWxU
b3AoKSA+IDA7CiAgICAgICAgICAgICAgICAgaWYgKCFhZmZlY3RzRGVzY2VudCkKLSAgICAgICAg
ICAgICAgICAgICAgYWZmZWN0c0Rlc2NlbnQgPSB1c2VkRm9udHMtPmF0KGkpLT5kZXNjZW50KCkg
KyBjdXJyLT5sb2dpY2FsVG9wKCkgPiAwOworICAgICAgICAgICAgICAgICAgICBhZmZlY3RzRGVz
Y2VudCA9IGZvbnRNZXRyaWNzLmRlc2NlbnQoKSArIGN1cnItPmxvZ2ljYWxUb3AoKSA+IDA7CiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICBsaW5lSGVpZ2h0ID0gYmFzZWxpbmUgKyBiYXNlbGlu
ZVRvQm90dG9tOwogICAgICAgICB9IGVsc2UgewpAQCAtNTI3LDExICs1MjksMTIgQEAgdm9pZCBJ
bmxpbmVGbG93Qm94Ojpjb21wdXRlTG9naWNhbEJveEhlaQogICAgICAgICAgICAgICAgIC8vIEV4
YW1pbmUgdGhlIGZvbnQgYm94IGZvciBpbmxpbmUgZmxvd3MgYW5kIHRleHQgYm94ZXMgdG8gc2Vl
IGlmIGFueSBwYXJ0IG9mIGl0IGlzIGFib3ZlIHRoZSBiYXNlbGluZS4KICAgICAgICAgICAgICAg
ICAvLyBJZiB0aGUgdG9wIG9mIG91ciBmb250IGJveCByZWxhdGl2ZSB0byB0aGUgcm9vdCBib3gg
YmFzZWxpbmUgaXMgYWJvdmUgdGhlIHJvb3QgYm94IGJhc2VsaW5lLCB0aGVuCiAgICAgICAgICAg
ICAgICAgLy8gd2UgYXJlIGNvbnRyaWJ1dGluZyB0byB0aGUgbWF4QXNjZW50IHZhbHVlLgotICAg
ICAgICAgICAgICAgIGFmZmVjdHNBc2NlbnQgPSBjdXJyLT5yZW5kZXJlcigpLT5zdHlsZShtX2Zp
cnN0TGluZSktPmZvbnQoKS5hc2NlbnQoYmFzZWxpbmVUeXBlKSAtIGN1cnItPmxvZ2ljYWxUb3Ao
KSA+IDA7CisgICAgICAgICAgICAgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0g
Y3Vyci0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250TWV0cmljcygpOworICAg
ICAgICAgICAgICAgIGFmZmVjdHNBc2NlbnQgPSBmb250TWV0cmljcy5hc2NlbnQoYmFzZWxpbmVU
eXBlKSAtIGN1cnItPmxvZ2ljYWxUb3AoKSA+IDA7CiAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgLy8gRGVzY2VudCBpcyBzaW1pbGFyLiAgSWYgYW55IHBhcnQgb2Ygb3VyIGZvbnQg
Ym94IGlzIGJlbG93IHRoZSByb290IGJveCdzIGJhc2VsaW5lLCB0aGVuCiAgICAgICAgICAgICAg
ICAgLy8gd2UgY29udHJpYnV0ZSB0byB0aGUgbWF4RGVzY2VudCB2YWx1ZS4KLSAgICAgICAgICAg
ICAgICBhZmZlY3RzRGVzY2VudCA9IGN1cnItPnJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5l
KS0+Zm9udCgpLmRlc2NlbnQoYmFzZWxpbmVUeXBlKSArIGN1cnItPmxvZ2ljYWxUb3AoKSA+IDA7
CisgICAgICAgICAgICAgICAgYWZmZWN0c0Rlc2NlbnQgPSBmb250TWV0cmljcy5kZXNjZW50KGJh
c2VsaW5lVHlwZSkgKyBjdXJyLT5sb2dpY2FsVG9wKCkgPiAwOwogICAgICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgICAgICAvLyBSZXBsYWNlZCBlbGVtZW50cyBhbHdheXMgYWZmZWN0IGJv
dGggdGhlIGFzY2VudCBhbmQgZGVzY2VudC4KICAgICAgICAgICAgICAgICBhZmZlY3RzQXNjZW50
ID0gdHJ1ZTsKQEAgLTYwNiw4ICs2MDksOCBAQCB2b2lkIElubGluZUZsb3dCb3g6OnBsYWNlQm94
ZXNJbkJsb2NrRGlyCiAgICAgICAgIGludCBib3hIZWlnaHRJbmNsdWRpbmdNYXJnaW5zID0gYm94
SGVpZ2h0OwogICAgICAgICAgICAgCiAgICAgICAgIGlmIChjdXJyLT5pc1RleHQoKSB8fCBjdXJy
LT5pc0lubGluZUZsb3dCb3goKSkgewotICAgICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IGN1
cnItPnJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpOwotICAgICAgICAgICAg
bmV3TG9naWNhbFRvcCArPSBjdXJyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSkgLSBm
b250LmFzY2VudChiYXNlbGluZVR5cGUpOworICAgICAgICAgICAgY29uc3QgRm9udE1ldHJpY3Mm
IGZvbnRNZXRyaWNzID0gY3Vyci0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250
TWV0cmljcygpOworICAgICAgICAgICAgbmV3TG9naWNhbFRvcCArPSBjdXJyLT5iYXNlbGluZVBv
c2l0aW9uKGJhc2VsaW5lVHlwZSkgLSBmb250TWV0cmljcy5hc2NlbnQoYmFzZWxpbmVUeXBlKTsK
ICAgICAgICAgICAgIGlmIChjdXJyLT5pc0lubGluZUZsb3dCb3goKSkgewogICAgICAgICAgICAg
ICAgIFJlbmRlckJveE1vZGVsT2JqZWN0KiBib3hPYmplY3QgPSB0b1JlbmRlckJveE1vZGVsT2Jq
ZWN0KGN1cnItPnJlbmRlcmVyKCkpOwogICAgICAgICAgICAgICAgIG5ld0xvZ2ljYWxUb3AgLT0g
Ym94T2JqZWN0LT5zdHlsZShtX2ZpcnN0TGluZSktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkg
PyBib3hPYmplY3QtPmJvcmRlclRvcCgpICsgYm94T2JqZWN0LT5wYWRkaW5nVG9wKCkgOiAKQEAg
LTY2NSw4ICs2NjgsOCBAQCB2b2lkIElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbkJsb2NrRGly
CiAgICAgfQogCiAgICAgaWYgKGlzUm9vdElubGluZUJveCgpKSB7Ci0gICAgICAgIGNvbnN0IEZv
bnQmIGZvbnQgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKTsKLSAgICAg
ICAgc2V0TG9naWNhbFRvcChsb2dpY2FsVG9wKCkgKyBiYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5l
VHlwZSkgLSBmb250LmFzY2VudChiYXNlbGluZVR5cGUpKTsKKyAgICAgICAgY29uc3QgRm9udE1l
dHJpY3MmIGZvbnRNZXRyaWNzID0gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250
TWV0cmljcygpOworICAgICAgICBzZXRMb2dpY2FsVG9wKGxvZ2ljYWxUb3AoKSArIGJhc2VsaW5l
UG9zaXRpb24oYmFzZWxpbmVUeXBlKSAtIGZvbnRNZXRyaWNzLmFzY2VudChiYXNlbGluZVR5cGUp
KTsKICAgICAgICAgCiAgICAgICAgIGlmIChoYXNUZXh0Q2hpbGRyZW4oKSB8fCBzdHJpY3RNb2Rl
KSB7CiAgICAgICAgICAgICBpZiAoIXNldExpbmVUb3ApIHsKSW5kZXg6IFdlYkNvcmUvcmVuZGVy
aW5nL0lubGluZVRleHRCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZVRleHRCb3guY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZVRleHRCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NTcsNyArNDU3LDcgQEAgdm9pZCBJ
bmxpbmVUZXh0Qm94OjpwYWludChQYWludEluZm8mIHBhaQogICAgIEludFBvaW50IGJveE9yaWdp
biA9IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKICAgICBib3hPcmlnaW4ubW92ZSh0eCwg
dHkpOyAgICAKICAgICBJbnRSZWN0IGJveFJlY3QoYm94T3JpZ2luLCBJbnRTaXplKGxvZ2ljYWxX
aWR0aCgpLCBsb2dpY2FsSGVpZ2h0KCkpKTsKLSAgICBJbnRQb2ludCB0ZXh0T3JpZ2luID0gSW50
UG9pbnQoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSArIHN0eWxlVG9Vc2UtPmZvbnQoKS5h
c2NlbnQoKSk7CisgICAgSW50UG9pbnQgdGV4dE9yaWdpbiA9IEludFBvaW50KGJveE9yaWdpbi54
KCksIGJveE9yaWdpbi55KCkgKyBzdHlsZVRvVXNlLT5mb250TWV0cmljcygpLmFzY2VudCgpKTsK
IAogICAgIGlmICghaXNIb3Jpem9udGFsKCkpIHsKICAgICAgICAgY29udGV4dC0+c2F2ZSgpOwpA
QCAtNTk3LDkgKzU5Nyw5IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnQoUGFpbnRJbmZvJiBw
YWkKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGVtcGhhc2lzTWFyayA9IHN0eWxlVG9Vc2UtPnRl
eHRFbXBoYXNpc01hcmtTdHJpbmcoKTsKICAgICBpZiAoIWVtcGhhc2lzTWFyay5pc0VtcHR5KCkp
IHsKICAgICAgICAgaWYgKHN0eWxlVG9Vc2UtPnRleHRFbXBoYXNpc1Bvc2l0aW9uKCkgPT0gVGV4
dEVtcGhhc2lzUG9zaXRpb25PdmVyKQotICAgICAgICAgICAgZW1waGFzaXNNYXJrT2Zmc2V0ID0g
LWZvbnQuYXNjZW50KCkgLSBmb250LmVtcGhhc2lzTWFya0Rlc2NlbnQoZW1waGFzaXNNYXJrKTsK
KyAgICAgICAgICAgIGVtcGhhc2lzTWFya09mZnNldCA9IC1mb250LmZvbnRNZXRyaWNzKCkuYXNj
ZW50KCkgLSBmb250LmVtcGhhc2lzTWFya0Rlc2NlbnQoZW1waGFzaXNNYXJrKTsKICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgZW1waGFzaXNNYXJrT2Zmc2V0ID0gZm9udC5kZXNjZW50KCkgKyBm
b250LmVtcGhhc2lzTWFya0FzY2VudChlbXBoYXNpc01hcmspOworICAgICAgICAgICAgZW1waGFz
aXNNYXJrT2Zmc2V0ID0gZm9udC5mb250TWV0cmljcygpLmRlc2NlbnQoKSArIGZvbnQuZW1waGFz
aXNNYXJrQXNjZW50KGVtcGhhc2lzTWFyayk7CiAgICAgfQogCiAgICAgaWYgKCFwYWludFNlbGVj
dGVkVGV4dE9ubHkpIHsKQEAgLTgxMSw3ICs4MTEsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBh
aW50RGVjb3JhdGlvbihHcmFwCiAgICAgYm9vbCBsaW5lc0FyZU9wYXF1ZSA9ICFpc1ByaW50aW5n
ICYmICghKGRlY28gJiBVTkRFUkxJTkUpIHx8IHVuZGVybGluZS5hbHBoYSgpID09IDI1NSkgJiYg
KCEoZGVjbyAmIE9WRVJMSU5FKSB8fCBvdmVybGluZS5hbHBoYSgpID09IDI1NSkgJiYgKCEoZGVj
byAmIExJTkVfVEhST1VHSCkgfHwgbGluZXRocm91Z2guYWxwaGEoKSA9PSAyNTUpOwogCiAgICAg
UmVuZGVyU3R5bGUqIHN0eWxlVG9Vc2UgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSk7
Ci0gICAgaW50IGJhc2VsaW5lID0gc3R5bGVUb1VzZS0+Zm9udCgpLmFzY2VudCgpOworICAgIGlu
dCBiYXNlbGluZSA9IHN0eWxlVG9Vc2UtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCk7CiAKICAgICBi
b29sIHNldENsaXAgPSBmYWxzZTsKICAgICBpbnQgZXh0cmFPZmZzZXQgPSAwOwpAQCAtOTQ0LDcg
Kzk0NCw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTcGVsbGluZ09yR3JhbW0KICAgICAv
LyBTbywgd2UgZ2VuZXJhbGx5IHBsYWNlIHRoZSB1bmRlcmxpbmUgYXQgdGhlIGJvdHRvbSBvZiB0
aGUgdGV4dCwgYnV0IGluIGxhcmdlciBmb250cyB0aGF0J3Mgbm90IHNvIGdvb2Qgc28KICAgICAv
LyB3ZSBwaW4gdG8gdHdvIHBpeGVscyB1bmRlciB0aGUgYmFzZWxpbmUuCiAgICAgaW50IGxpbmVU
aGlja25lc3MgPSBjTWlzc3BlbGxpbmdMaW5lVGhpY2tuZXNzOwotICAgIGludCBiYXNlbGluZSA9
IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpLmFzY2VudCgpOworICAgIGlu
dCBiYXNlbGluZSA9IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3Mo
KS5hc2NlbnQoKTsKICAgICBpbnQgZGVzY2VudCA9IGxvZ2ljYWxIZWlnaHQoKSAtIGJhc2VsaW5l
OwogICAgIGludCB1bmRlcmxpbmVPZmZzZXQ7CiAgICAgaWYgKGRlc2NlbnQgPD0gKDIgKyBsaW5l
VGhpY2tuZXNzKSkgewpAQCAtMTEwMSw3ICsxMTAxLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94Ojpw
YWludENvbXBvc2l0aW9uVW5kZQogICAgIC8vIEFsbCBvdGhlciBtYXJrZWQgdGV4dCB1bmRlcmxp
bmVzIGFyZSAxcHggdGhpY2suCiAgICAgLy8gSWYgdGhlcmUncyBub3QgZW5vdWdoIHNwYWNlIHRo
ZSB1bmRlcmxpbmUgd2lsbCB0b3VjaCBvciBvdmVybGFwIGNoYXJhY3RlcnMuCiAgICAgaW50IGxp
bmVUaGlja25lc3MgPSAxOwotICAgIGludCBiYXNlbGluZSA9IHJlbmRlcmVyKCktPnN0eWxlKG1f
Zmlyc3RMaW5lKS0+Zm9udCgpLmFzY2VudCgpOworICAgIGludCBiYXNlbGluZSA9IHJlbmRlcmVy
KCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKTsKICAgICBpZiAo
dW5kZXJsaW5lLnRoaWNrICYmIGxvZ2ljYWxIZWlnaHQoKSAtIGJhc2VsaW5lID49IDIpCiAgICAg
ICAgIGxpbmVUaGlja25lc3MgPSAyOwogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
CShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDk2MCw4ICs0OTYwLDggQEAgaW50IFJlbmRlckJsb2NrOjpiYXNl
bGluZVBvc2l0aW9uKEZvbnRCYQogICAgICAgICByZXR1cm4gUmVuZGVyQm94OjpiYXNlbGluZVBv
c2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBkaXJlY3Rpb24sIGxpbmVQb3NpdGlvbk1v
ZGUpOwogICAgIH0KIAotICAgIGNvbnN0IEZvbnQmIGYgPSBzdHlsZShmaXJzdExpbmUpLT5mb250
KCk7Ci0gICAgcmV0dXJuIGYuYXNjZW50KGJhc2VsaW5lVHlwZSkgKyAobGluZUhlaWdodChmaXJz
dExpbmUsIGRpcmVjdGlvbiwgbGluZVBvc2l0aW9uTW9kZSkgLSBmLmhlaWdodCgpKSAvIDI7Cisg
ICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gc3R5bGUoZmlyc3RMaW5lKS0+Zm9u
dE1ldHJpY3MoKTsKKyAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlwZSkg
KyAobGluZUhlaWdodChmaXJzdExpbmUsIGRpcmVjdGlvbiwgbGluZVBvc2l0aW9uTW9kZSkgLSBm
b250TWV0cmljcy5oZWlnaHQoKSkgLyAyOwogfQogCiBpbnQgUmVuZGVyQmxvY2s6OmZpcnN0TGlu
ZUJveEJhc2VsaW5lKCkgY29uc3QKQEAgLTQ5NzEsNyArNDk3MSw3IEBAIGludCBSZW5kZXJCbG9j
azo6Zmlyc3RMaW5lQm94QmFzZWxpbmUoKSAKIAogICAgIGlmIChjaGlsZHJlbklubGluZSgpKSB7
CiAgICAgICAgIGlmIChmaXJzdExpbmVCb3goKSkKLSAgICAgICAgICAgIHJldHVybiBmaXJzdExp
bmVCb3goKS0+bG9naWNhbFRvcCgpICsgc3R5bGUodHJ1ZSktPmZvbnQoKS5hc2NlbnQoZmlyc3RS
b290Qm94KCktPmJhc2VsaW5lVHlwZSgpKTsKKyAgICAgICAgICAgIHJldHVybiBmaXJzdExpbmVC
b3goKS0+bG9naWNhbFRvcCgpICsgc3R5bGUodHJ1ZSktPmZvbnRNZXRyaWNzKCkuYXNjZW50KGZp
cnN0Um9vdEJveCgpLT5iYXNlbGluZVR5cGUoKSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAg
IHJldHVybiAtMTsKICAgICB9CkBAIC00OTk3LDExICs0OTk3LDEzIEBAIGludCBSZW5kZXJCbG9j
azo6bGFzdExpbmVCb3hCYXNlbGluZSgpIGMKIAogICAgIGlmIChjaGlsZHJlbklubGluZSgpKSB7
CiAgICAgICAgIGlmICghZmlyc3RMaW5lQm94KCkgJiYgaGFzTGluZUlmRW1wdHkoKSkgewotICAg
ICAgICAgICAgY29uc3QgRm9udCYgZiA9IGZpcnN0TGluZVN0eWxlKCktPmZvbnQoKTsKLSAgICAg
ICAgICAgIHJldHVybiBmLmFzY2VudCgpICsgKGxpbmVIZWlnaHQodHJ1ZSwgbGluZURpcmVjdGlv
biwgUG9zaXRpb25PZkludGVyaW9yTGluZUJveGVzKSAtIGYuaGVpZ2h0KCkpIC8gMiArIChsaW5l
RGlyZWN0aW9uID09IEhvcml6b250YWxMaW5lID8gYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkg
OiBib3JkZXJSaWdodCgpICsgcGFkZGluZ1JpZ2h0KCkpOworICAgICAgICAgICAgY29uc3QgRm9u
dE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZmlyc3RMaW5lU3R5bGUoKS0+Zm9udE1ldHJpY3MoKTsK
KyAgICAgICAgICAgIHJldHVybiBmb250TWV0cmljcy5hc2NlbnQoKQorICAgICAgICAgICAgICAg
ICArIChsaW5lSGVpZ2h0KHRydWUsIGxpbmVEaXJlY3Rpb24sIFBvc2l0aW9uT2ZJbnRlcmlvckxp
bmVCb3hlcykgLSBmb250TWV0cmljcy5oZWlnaHQoKSkgLyAyCisgICAgICAgICAgICAgICAgICsg
KGxpbmVEaXJlY3Rpb24gPT0gSG9yaXpvbnRhbExpbmUgPyBib3JkZXJUb3AoKSArIHBhZGRpbmdU
b3AoKSA6IGJvcmRlclJpZ2h0KCkgKyBwYWRkaW5nUmlnaHQoKSk7CiAgICAgICAgIH0KICAgICAg
ICAgaWYgKGxhc3RMaW5lQm94KCkpCi0gICAgICAgICAgICByZXR1cm4gbGFzdExpbmVCb3goKS0+
bG9naWNhbFRvcCgpICsgc3R5bGUobGFzdExpbmVCb3goKSA9PSBmaXJzdExpbmVCb3goKSktPmZv
bnQoKS5hc2NlbnQobGFzdFJvb3RCb3goKS0+YmFzZWxpbmVUeXBlKCkpOworICAgICAgICAgICAg
cmV0dXJuIGxhc3RMaW5lQm94KCktPmxvZ2ljYWxUb3AoKSArIHN0eWxlKGxhc3RMaW5lQm94KCkg
PT0gZmlyc3RMaW5lQm94KCkpLT5mb250TWV0cmljcygpLmFzY2VudChsYXN0Um9vdEJveCgpLT5i
YXNlbGluZVR5cGUoKSk7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9IGVsc2UgewogICAgICAg
ICBib29sIGhhdmVOb3JtYWxGbG93Q2hpbGQgPSBmYWxzZTsKQEAgLTUwMTQsOCArNTAxNiwxMCBA
QCBpbnQgUmVuZGVyQmxvY2s6Omxhc3RMaW5lQm94QmFzZWxpbmUoKSBjCiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KICAgICAgICAgaWYgKCFoYXZlTm9ybWFsRmxvd0NoaWxkICYmIGhhc0xpbmVJ
ZkVtcHR5KCkpIHsKLSAgICAgICAgICAgIGNvbnN0IEZvbnQmIGYgPSBmaXJzdExpbmVTdHlsZSgp
LT5mb250KCk7Ci0gICAgICAgICAgICByZXR1cm4gZi5hc2NlbnQoKSArIChsaW5lSGVpZ2h0KHRy
dWUsIGxpbmVEaXJlY3Rpb24sIFBvc2l0aW9uT2ZJbnRlcmlvckxpbmVCb3hlcykgLSBmLmhlaWdo
dCgpKSAvIDIgKyAobGluZURpcmVjdGlvbiA9PSBIb3Jpem9udGFsTGluZSA/IGJvcmRlclRvcCgp
ICsgcGFkZGluZ1RvcCgpIDogYm9yZGVyUmlnaHQoKSArIHBhZGRpbmdSaWdodCgpKTsKKyAgICAg
ICAgICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IGZpcnN0TGluZVN0eWxlKCkt
PmZvbnRNZXRyaWNzKCk7CisgICAgICAgICAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KCkK
KyAgICAgICAgICAgICAgICAgKyAobGluZUhlaWdodCh0cnVlLCBsaW5lRGlyZWN0aW9uLCBQb3Np
dGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpIC8gMgorICAg
ICAgICAgICAgICAgICArIChsaW5lRGlyZWN0aW9uID09IEhvcml6b250YWxMaW5lID8gYm9yZGVy
VG9wKCkgKyBwYWRkaW5nVG9wKCkgOiBib3JkZXJSaWdodCgpICsgcGFkZGluZ1JpZ2h0KCkpOwog
ICAgICAgICB9CiAgICAgfQogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHJldmlzaW9u
IDc0NjY1KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjk2NCw3ICsyOTY0LDcgQEAgSW50UmVjdCBSZW5kZXJCb3g6OmxvY2FsQ2FyZXRSZWN0
KElubGluZQogICAgIC8vIDxyZGFyOi8vcHJvYmxlbS8zNzc3ODA0PiBEZWxldGluZyBhbGwgY29u
dGVudCBpbiBhIGRvY3VtZW50IGNhbiByZXN1bHQgaW4gZ2lhbnQgdGFsbC1hcy13aW5kb3cgaW5z
ZXJ0aW9uIHBvaW50CiAgICAgLy8KICAgICAvLyBGSVhNRTogaWdub3JpbmcgOmZpcnN0LWxpbmUs
IG1pc3NpbmcgZ29vZCByZWFzb24gdG8gdGFrZSBjYXJlIG9mCi0gICAgaW50IGZvbnRIZWlnaHQg
PSBzdHlsZSgpLT5mb250KCkuaGVpZ2h0KCk7CisgICAgaW50IGZvbnRIZWlnaHQgPSBzdHlsZSgp
LT5mb250TWV0cmljcygpLmhlaWdodCgpOwogICAgIGlmIChmb250SGVpZ2h0ID4gcmVjdC5oZWln
aHQoKSB8fCAoIWlzUmVwbGFjZWQoKSAmJiAhaXNUYWJsZSgpKSkKICAgICAgICAgcmVjdC5zZXRI
ZWlnaHQoZm9udEhlaWdodCk7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVk
ZGVkT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJl
ZGRlZE9iamVjdC5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRW1iZWRkZWRPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzAsOCArMTcwLDkgQEAg
dm9pZCBSZW5kZXJFbWJlZGRlZE9iamVjdDo6cGFpbnRSZXBsYWNlZAogICAgIGNvbnRleHQtPnNl
dEZpbGxDb2xvcihtX21pc3NpbmdQbHVnaW5JbmRpY2F0b3JJc1ByZXNzZWQgPyByZXBsYWNlbWVu
dFRleHRSb3VuZGVkUmVjdFByZXNzZWRDb2xvcigpIDogQ29sb3I6OndoaXRlLCBzdHlsZSgpLT5j
b2xvclNwYWNlKCkpOwogICAgIGNvbnRleHQtPmZpbGxQYXRoKHBhdGgpOwogCisgICAgY29uc3Qg
Rm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZm9udC5mb250TWV0cmljcygpOwogICAgIGZsb2F0
IGxhYmVsWCA9IHJvdW5kZihyZXBsYWNlbWVudFRleHRSZWN0LmxvY2F0aW9uKCkueCgpICsgKHJl
cGxhY2VtZW50VGV4dFJlY3Quc2l6ZSgpLndpZHRoKCkgLSB0ZXh0V2lkdGgpIC8gMik7Ci0gICAg
ZmxvYXQgbGFiZWxZID0gcm91bmRmKHJlcGxhY2VtZW50VGV4dFJlY3QubG9jYXRpb24oKS55KCkg
KyAocmVwbGFjZW1lbnRUZXh0UmVjdC5zaXplKCkuaGVpZ2h0KCkgLSBmb250LmhlaWdodCgpKSAv
IDIgKyBmb250LmFzY2VudCgpKTsKKyAgICBmbG9hdCBsYWJlbFkgPSByb3VuZGYocmVwbGFjZW1l
bnRUZXh0UmVjdC5sb2NhdGlvbigpLnkoKSArIChyZXBsYWNlbWVudFRleHRSZWN0LnNpemUoKS5o
ZWlnaHQoKSAtIGZvbnRNZXRyaWNzLmhlaWdodCgpKSAvIDIgKyBmb250TWV0cmljcy5hc2NlbnQo
KSk7CiAgICAgY29udGV4dC0+c2V0QWxwaGEobV9taXNzaW5nUGx1Z2luSW5kaWNhdG9ySXNQcmVz
c2VkID8gcmVwbGFjZW1lbnRUZXh0UHJlc3NlZFRleHRPcGFjaXR5IDogcmVwbGFjZW1lbnRUZXh0
VGV4dE9wYWNpdHkpOwogICAgIGNvbnRleHQtPnNldEZpbGxDb2xvcihDb2xvcjo6YmxhY2ssIHN0
eWxlKCktPmNvbG9yU3BhY2UoKSk7CiAgICAgY29udGV4dC0+ZHJhd0JpZGlUZXh0KGZvbnQsIHJ1
biwgRmxvYXRQb2ludChsYWJlbFgsIGxhYmVsWSkpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklt
YWdlLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFn
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMSw3ICsxMTEsNyBAQCBib29sIFJlbmRlckltYWdl
OjpzZXRJbWFnZVNpemVGb3JBbHRUZXh0CiAgICAgLy8gd2UgaGF2ZSBhbiBhbHQgYW5kIHRoZSB1
c2VyIG1lYW50IGl0IChpdHMgbm90IGEgdGV4dCB3ZSBpbnZlbnRlZCkKICAgICBpZiAoIW1fYWx0
VGV4dC5pc0VtcHR5KCkpIHsKICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IHN0eWxlKCktPmZv
bnQoKTsKLSAgICAgICAgSW50U2l6ZSB0ZXh0U2l6ZShtaW4oZm9udC53aWR0aChUZXh0UnVuKG1f
YWx0VGV4dC5jaGFyYWN0ZXJzKCksIG1fYWx0VGV4dC5sZW5ndGgoKSkpLCBtYXhBbHRUZXh0V2lk
dGgpLCBtaW4oZm9udC5oZWlnaHQoKSwgbWF4QWx0VGV4dEhlaWdodCkpOworICAgICAgICBJbnRT
aXplIHRleHRTaXplKG1pbihmb250LndpZHRoKFRleHRSdW4obV9hbHRUZXh0LmNoYXJhY3RlcnMo
KSwgbV9hbHRUZXh0Lmxlbmd0aCgpKSksIG1heEFsdFRleHRXaWR0aCksIG1pbihmb250LmZvbnRN
ZXRyaWNzKCkuaGVpZ2h0KCksIG1heEFsdFRleHRIZWlnaHQpKTsKICAgICAgICAgaW1hZ2VTaXpl
ID0gaW1hZ2VTaXplLmV4cGFuZGVkVG8odGV4dFNpemUpOwogICAgIH0KIApAQCAtMjg4LDE3ICsy
ODgsMTggQEAgdm9pZCBSZW5kZXJJbWFnZTo6cGFpbnRSZXBsYWNlZChQYWludEluZgogICAgICAg
ICAgICAgICAgIGludCBheCA9IHR4ICsgbGVmdEJvcmRlciArIGxlZnRQYWQ7CiAgICAgICAgICAg
ICAgICAgaW50IGF5ID0gdHkgKyB0b3BCb3JkZXIgKyB0b3BQYWQ7CiAgICAgICAgICAgICAgICAg
Y29uc3QgRm9udCYgZm9udCA9IHN0eWxlKCktPmZvbnQoKTsKLSAgICAgICAgICAgICAgICBpbnQg
YXNjZW50ID0gZm9udC5hc2NlbnQoKTsKKyAgICAgICAgICAgICAgICBjb25zdCBGb250TWV0cmlj
cyYgZm9udE1ldHJpY3MgPSBmb250LmZvbnRNZXRyaWNzKCk7CisgICAgICAgICAgICAgICAgaW50
IGFzY2VudCA9IGZvbnRNZXRyaWNzLmFzY2VudCgpOwogCiAgICAgICAgICAgICAgICAgLy8gT25s
eSBkcmF3IHRoZSBhbHQgdGV4dCBpZiBpdCdsbCBmaXQgd2l0aGluIHRoZSBjb250ZW50IGJveCwK
ICAgICAgICAgICAgICAgICAvLyBhbmQgb25seSBpZiBpdCBmaXRzIGFib3ZlIHRoZSBlcnJvciBp
bWFnZS4KICAgICAgICAgICAgICAgICBUZXh0UnVuIHRleHRSdW4odGV4dC5jaGFyYWN0ZXJzKCks
IHRleHQubGVuZ3RoKCkpOwogICAgICAgICAgICAgICAgIGludCB0ZXh0V2lkdGggPSBmb250Lndp
ZHRoKHRleHRSdW4pOwogICAgICAgICAgICAgICAgIGlmIChlcnJvclBpY3R1cmVEcmF3bikgewot
ICAgICAgICAgICAgICAgICAgICBpZiAodXNhYmxlV2lkdGggPj0gdGV4dFdpZHRoICYmIGZvbnQu
aGVpZ2h0KCkgPD0gaW1hZ2VZKQotICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC0+ZHJh
d1RleHQoc3R5bGUoKS0+Zm9udCgpLCB0ZXh0UnVuLCBJbnRQb2ludChheCwgYXkgKyBhc2NlbnQp
KTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHVzYWJsZVdpZHRoID49IHRleHRXaWR0aCAm
JiBjSGVpZ2h0ID49IGZvbnQuaGVpZ2h0KCkpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRleHQt
PmRyYXdUZXh0KHN0eWxlKCktPmZvbnQoKSwgdGV4dFJ1biwgSW50UG9pbnQoYXgsIGF5ICsgYXNj
ZW50KSk7CisgICAgICAgICAgICAgICAgICAgIGlmICh1c2FibGVXaWR0aCA+PSB0ZXh0V2lkdGgg
JiYgZm9udE1ldHJpY3MuaGVpZ2h0KCkgPD0gaW1hZ2VZKQorICAgICAgICAgICAgICAgICAgICAg
ICAgY29udGV4dC0+ZHJhd1RleHQoZm9udCwgdGV4dFJ1biwgSW50UG9pbnQoYXgsIGF5ICsgYXNj
ZW50KSk7CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh1c2FibGVXaWR0aCA+PSB0ZXh0V2lk
dGggJiYgY0hlaWdodCA+PSBmb250TWV0cmljcy5oZWlnaHQoKSkKKyAgICAgICAgICAgICAgICAg
ICAgY29udGV4dC0+ZHJhd1RleHQoZm9udCwgdGV4dFJ1biwgSW50UG9pbnQoYXgsIGF5ICsgYXNj
ZW50KSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKG1faW1hZ2VS
ZXNvdXJjZS0+aGFzSW1hZ2UoKSAmJiBjV2lkdGggPiAwICYmIGNIZWlnaHQgPiAwKSB7CkluZGV4
OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTA0LDggKzkw
NCw4IEBAIGludCBSZW5kZXJJbmxpbmU6OmxpbmVIZWlnaHQoYm9vbCBmaXJzdEwKIAogaW50IFJl
bmRlcklubGluZTo6YmFzZWxpbmVQb3NpdGlvbihGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlLCBi
b29sIGZpcnN0TGluZSwgTGluZURpcmVjdGlvbk1vZGUgZGlyZWN0aW9uLCBMaW5lUG9zaXRpb25N
b2RlIGxpbmVQb3NpdGlvbk1vZGUpIGNvbnN0CiB7Ci0gICAgY29uc3QgRm9udCYgZiA9IHN0eWxl
KGZpcnN0TGluZSktPmZvbnQoKTsKLSAgICByZXR1cm4gZi5hc2NlbnQoYmFzZWxpbmVUeXBlKSAr
IChsaW5lSGVpZ2h0KGZpcnN0TGluZSwgZGlyZWN0aW9uLCBsaW5lUG9zaXRpb25Nb2RlKSAtIGYu
aGVpZ2h0KCkpIC8gMjsKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBzdHls
ZShmaXJzdExpbmUpLT5mb250TWV0cmljcygpOworICAgIHJldHVybiBmb250TWV0cmljcy5hc2Nl
bnQoYmFzZWxpbmVUeXBlKSArIChsaW5lSGVpZ2h0KGZpcnN0TGluZSwgZGlyZWN0aW9uLCBsaW5l
UG9zaXRpb25Nb2RlKSAtIGZvbnRNZXRyaWNzLmhlaWdodCgpKSAvIDI7CiB9CiAKIEludFNpemUg
UmVuZGVySW5saW5lOjpyZWxhdGl2ZVBvc2l0aW9uZWRJbmxpbmVPZmZzZXQoY29uc3QgUmVuZGVy
Qm94KiBjaGlsZCkgY29uc3QKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3gu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCShy
ZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zMDYsNyArMzA2LDcgQEAgdm9pZCBSZW5kZXJMaXN0Qm94OjpwYWlu
dEl0ZW1Gb3JlZ3JvdW5kKAogCiAgICAgLy8gRGV0ZXJtaW5lIHdoZXJlIHRoZSBpdGVtIHRleHQg
c2hvdWxkIGJlIHBsYWNlZAogICAgIEludFJlY3QgciA9IGl0ZW1Cb3VuZGluZ0JveFJlY3QodHgs
IHR5LCBsaXN0SW5kZXgpOwotICAgIHIubW92ZShvcHRpb25zU3BhY2luZ0hvcml6b250YWwsIHN0
eWxlKCktPmZvbnQoKS5hc2NlbnQoKSk7CisgICAgci5tb3ZlKG9wdGlvbnNTcGFjaW5nSG9yaXpv
bnRhbCwgc3R5bGUoKS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAKICAgICBSZW5kZXJTdHls
ZSogaXRlbVN0eWxlID0gZWxlbWVudC0+cmVuZGVyU3R5bGUoKTsKICAgICBpZiAoIWl0ZW1TdHls
ZSkKQEAgLTU1MSw3ICs1NTEsNyBAQCB2b2lkIFJlbmRlckxpc3RCb3g6OnZhbHVlQ2hhbmdlZChT
Y3JvbGxiCiAKIGludCBSZW5kZXJMaXN0Qm94OjppdGVtSGVpZ2h0KCkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gc3R5bGUoKS0+Zm9udCgpLmhlaWdodCgpICsgcm93U3BhY2luZzsKKyAgICByZXR1cm4g
c3R5bGUoKS0+Zm9udE1ldHJpY3MoKS5oZWlnaHQoKSArIHJvd1NwYWNpbmc7CiB9CiAKIGludCBS
ZW5kZXJMaXN0Qm94Ojp2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCkgY29uc3QKSW5kZXg6IFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjY0
LDcgKzEyNjQsNyBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnBhaW50KFBhaW50SW5mbyYgCiAg
ICAgICAgIGNvbnRleHQtPnRyYW5zbGF0ZSgtbWFya2VyLngoKSwgLW1hcmtlci5ib3R0b20oKSk7
CiAgICAgfQogCi0gICAgSW50UG9pbnQgdGV4dE9yaWdpbiA9IEludFBvaW50KG1hcmtlci54KCks
IG1hcmtlci55KCkgKyBzdHlsZSgpLT5mb250KCkuYXNjZW50KCkpOworICAgIEludFBvaW50IHRl
eHRPcmlnaW4gPSBJbnRQb2ludChtYXJrZXIueCgpLCBtYXJrZXIueSgpICsgc3R5bGUoKS0+Zm9u
dE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAKICAgICBpZiAodHlwZSA9PSBBc3Rlcmlza3MgfHwgdHlw
ZSA9PSBGb290bm90ZXMpCiAgICAgICAgIGNvbnRleHQtPmRyYXdUZXh0KHN0eWxlKCktPmZvbnQo
KSwgdGV4dFJ1biwgdGV4dE9yaWdpbik7CkBAIC0xMzEwLDcgKzEzMTAsNyBAQCB2b2lkIFJlbmRl
ckxpc3RNYXJrZXI6OmxheW91dCgpCiAgICAgICAgIHNldEhlaWdodChtX2ltYWdlLT5pbWFnZVNp
emUodGhpcywgc3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKS5oZWlnaHQoKSk7CiAgICAgfSBlbHNl
IHsKICAgICAgICAgc2V0TG9naWNhbFdpZHRoKG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCgpKTsK
LSAgICAgICAgc2V0TG9naWNhbEhlaWdodChzdHlsZSgpLT5mb250KCkuaGVpZ2h0KCkpOworICAg
ICAgICBzZXRMb2dpY2FsSGVpZ2h0KHN0eWxlKCktPmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkpOwog
ICAgIH0KIAogICAgIHNldE1hcmdpblN0YXJ0KDApOwpAQCAtMTM0NSwxMSArMTM0NSwxMiBAQCB2
b2lkIFJlbmRlckxpc3RNYXJrZXI6OmNvbXB1dGVQcmVmZXJyZWRMCiAgICAgbV90ZXh0ID0gIiI7
CiAKICAgICBjb25zdCBGb250JiBmb250ID0gc3R5bGUoKS0+Zm9udCgpOworICAgIGNvbnN0IEZv
bnRNZXRyaWNzJiBmb250TWV0cmljcyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKIAogICAgIGlmIChp
c0ltYWdlKCkpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgaXMgYSBzb21ld2hhdCBhcmJpdHJh
cnkgd2lkdGguICBHZW5lcmF0ZWQgaW1hZ2VzIGZvciBtYXJrZXJzIHJlYWxseSB3b24ndCBiZWNv
bWUgcGFydGljdWxhcmx5IHVzZWZ1bAogICAgICAgICAvLyB1bnRpbCB3ZSBzdXBwb3J0IHRoZSBD
U1MzIG1hcmtlciBwc2V1ZG9jbGFzcyB0byBhbGxvdyBjb250cm9sIG92ZXIgdGhlIHdpZHRoIGFu
ZCBoZWlnaHQgb2YgdGhlIG1hcmtlciBib3guCi0gICAgICAgIGludCBidWxsZXRXaWR0aCA9IGZv
bnQuYXNjZW50KCkgLyAyOworICAgICAgICBpbnQgYnVsbGV0V2lkdGggPSBmb250TWV0cmljcy5h
c2NlbnQoKSAvIDI7CiAgICAgICAgIG1faW1hZ2UtPnNldEltYWdlQ29udGFpbmVyU2l6ZShJbnRT
aXplKGJ1bGxldFdpZHRoLCBidWxsZXRXaWR0aCkpOwogICAgICAgICBJbnRTaXplIGltYWdlU2l6
ZSA9IG1faW1hZ2UtPmltYWdlU2l6ZSh0aGlzLCBzdHlsZSgpLT5lZmZlY3RpdmVab29tKCkpOwog
ICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1fbWF4UHJlZmVycmVkTG9naWNh
bFdpZHRoID0gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGltYWdlU2l6ZS53
aWR0aCgpIDogaW1hZ2VTaXplLmhlaWdodCgpOwpAQCAtMTM3Miw3ICsxMzczLDcgQEAgdm9pZCBS
ZW5kZXJMaXN0TWFya2VyOjpjb21wdXRlUHJlZmVycmVkTAogICAgICAgICBjYXNlIERpc2M6CiAg
ICAgICAgIGNhc2UgU3F1YXJlOgogICAgICAgICAgICAgbV90ZXh0ID0gbGlzdE1hcmtlclRleHQo
dHlwZSwgMCk7IC8vIHZhbHVlIGlzIGlnbm9yZWQgZm9yIHRoZXNlIHR5cGVzCi0gICAgICAgICAg
ICBsb2dpY2FsV2lkdGggPSAoZm9udC5hc2NlbnQoKSAqIDIgLyAzICsgMSkgLyAyICsgMjsKKyAg
ICAgICAgICAgIGxvZ2ljYWxXaWR0aCA9IChmb250TWV0cmljcy5hc2NlbnQoKSAqIDIgLyAzICsg
MSkgLyAyICsgMjsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFmYXI6CiAgICAg
ICAgIGNhc2UgQW1oYXJpYzoKQEAgLTE0NzEsNyArMTQ3Miw3IEBAIHZvaWQgUmVuZGVyTGlzdE1h
cmtlcjo6Y29tcHV0ZVByZWZlcnJlZEwKIAogdm9pZCBSZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVN
YXJnaW5zKCkKIHsKLSAgICBjb25zdCBGb250JiBmb250ID0gc3R5bGUoKS0+Zm9udCgpOworICAg
IGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IHN0eWxlKCktPmZvbnRNZXRyaWNzKCk7
CiAKICAgICBpbnQgbWFyZ2luU3RhcnQgPSAwOwogICAgIGludCBtYXJnaW5FbmQgPSAwOwpAQCAt
MTQ4NCw3ICsxNDg1LDcgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVNYXJnaW5zKCkK
ICAgICAgICAgICAgIGNhc2UgQ2lyY2xlOgogICAgICAgICAgICAgY2FzZSBTcXVhcmU6CiAgICAg
ICAgICAgICAgICAgbWFyZ2luU3RhcnQgPSAtMTsKLSAgICAgICAgICAgICAgICBtYXJnaW5FbmQg
PSBmb250LmFzY2VudCgpIC0gbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyAxOworICAgICAg
ICAgICAgICAgIG1hcmdpbkVuZCA9IGZvbnRNZXRyaWNzLmFzY2VudCgpIC0gbWluUHJlZmVycmVk
TG9naWNhbFdpZHRoKCkgKyAxOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg
ZGVmYXVsdDoKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTE0OTQsNyArMTQ5NSw3IEBAIHZv
aWQgUmVuZGVyTGlzdE1hcmtlcjo6dXBkYXRlTWFyZ2lucygpCiAgICAgICAgICAgICBpZiAoaXNJ
bWFnZSgpKQogICAgICAgICAgICAgICAgIG1hcmdpblN0YXJ0ID0gLW1pblByZWZlcnJlZExvZ2lj
YWxXaWR0aCgpIC0gY01hcmtlclBhZGRpbmc7CiAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAg
ICAgICAgICBpbnQgb2Zmc2V0ID0gZm9udC5hc2NlbnQoKSAqIDIgLyAzOworICAgICAgICAgICAg
ICAgIGludCBvZmZzZXQgPSBmb250TWV0cmljcy5hc2NlbnQoKSAqIDIgLyAzOwogICAgICAgICAg
ICAgICAgIHN3aXRjaCAoc3R5bGUoKS0+bGlzdFN0eWxlVHlwZSgpKSB7CiAgICAgICAgICAgICAg
ICAgICAgIGNhc2UgRGlzYzoKICAgICAgICAgICAgICAgICAgICAgY2FzZSBDaXJjbGU6CkBAIC0x
NTEyLDcgKzE1MTMsNyBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZU1hcmdpbnMoKQog
ICAgICAgICAgICAgaWYgKGlzSW1hZ2UoKSkKICAgICAgICAgICAgICAgICBtYXJnaW5FbmQgPSBj
TWFya2VyUGFkZGluZzsKICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIGludCBv
ZmZzZXQgPSBmb250LmFzY2VudCgpICogMiAvIDM7CisgICAgICAgICAgICAgICAgaW50IG9mZnNl
dCA9IGZvbnRNZXRyaWNzLmFzY2VudCgpICogMiAvIDM7CiAgICAgICAgICAgICAgICAgc3dpdGNo
IChzdHlsZSgpLT5saXN0U3R5bGVUeXBlKCkpIHsKICAgICAgICAgICAgICAgICAgICAgY2FzZSBE
aXNjOgogICAgICAgICAgICAgICAgICAgICBjYXNlIENpcmNsZToKQEAgLTE1ODMsMTUgKzE1ODQs
MTUgQEAgSW50UmVjdCBSZW5kZXJMaXN0TWFya2VyOjpnZXRSZWxhdGl2ZU1hcgogICAgICAgICBj
YXNlIEFzdGVyaXNrczoKICAgICAgICAgY2FzZSBGb290bm90ZXM6IHsKICAgICAgICAgICAgIGNv
bnN0IEZvbnQmIGZvbnQgPSBzdHlsZSgpLT5mb250KCk7Ci0gICAgICAgICAgICByZWxhdGl2ZVJl
Y3QgPSBJbnRSZWN0KDAsIDAsIGZvbnQud2lkdGgobV90ZXh0KSwgZm9udC5oZWlnaHQoKSk7Cisg
ICAgICAgICAgICByZWxhdGl2ZVJlY3QgPSBJbnRSZWN0KDAsIDAsIGZvbnQud2lkdGgobV90ZXh0
KSwgZm9udC5mb250TWV0cmljcygpLmhlaWdodCgpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9CiAgICAgICAgIGNhc2UgRGlzYzoKICAgICAgICAgY2FzZSBDaXJjbGU6CiAgICAgICAg
IGNhc2UgU3F1YXJlOiB7CiAgICAgICAgICAgICAvLyBGSVhNRTogQXJlIHRoZXNlIHBhcnRpY3Vs
YXIgcm91bmRpbmcgcnVsZXMgbmVjZXNzYXJ5PwotICAgICAgICAgICAgY29uc3QgRm9udCYgZm9u
dCA9IHN0eWxlKCktPmZvbnQoKTsKLSAgICAgICAgICAgIGludCBhc2NlbnQgPSBmb250LmFzY2Vu
dCgpOworICAgICAgICAgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gc3R5bGUo
KS0+Zm9udE1ldHJpY3MoKTsKKyAgICAgICAgICAgIGludCBhc2NlbnQgPSBmb250TWV0cmljcy5h
c2NlbnQoKTsKICAgICAgICAgICAgIGludCBidWxsZXRXaWR0aCA9IChhc2NlbnQgKiAyIC8gMyAr
IDEpIC8gMjsKICAgICAgICAgICAgIHJlbGF0aXZlUmVjdCA9IEludFJlY3QoMSwgMyAqIChhc2Nl
bnQgLSBhc2NlbnQgKiAyIC8gMykgLyAyLCBidWxsZXRXaWR0aCwgYnVsbGV0V2lkdGgpOwogICAg
ICAgICAgICAgYnJlYWs7CkBAIC0xNjc5LDcgKzE2ODAsNyBAQCBJbnRSZWN0IFJlbmRlckxpc3RN
YXJrZXI6OmdldFJlbGF0aXZlTWFyCiAgICAgICAgICAgICBpbnQgaXRlbVdpZHRoID0gZm9udC53
aWR0aChtX3RleHQpOwogICAgICAgICAgICAgVUNoYXIgc3VmZml4U3BhY2VbMl0gPSB7IGxpc3RN
YXJrZXJTdWZmaXgodHlwZSwgbV9saXN0SXRlbS0+dmFsdWUoKSksICcgJyB9OwogICAgICAgICAg
ICAgaW50IHN1ZmZpeFNwYWNlV2lkdGggPSBmb250LndpZHRoKFRleHRSdW4oc3VmZml4U3BhY2Us
IDIpKTsKLSAgICAgICAgICAgIHJlbGF0aXZlUmVjdCA9IEludFJlY3QoMCwgMCwgaXRlbVdpZHRo
ICsgc3VmZml4U3BhY2VXaWR0aCwgZm9udC5oZWlnaHQoKSk7CisgICAgICAgICAgICByZWxhdGl2
ZVJlY3QgPSBJbnRSZWN0KDAsIDAsIGl0ZW1XaWR0aCArIHN1ZmZpeFNwYWNlV2lkdGgsIGZvbnQu
Zm9udE1ldHJpY3MoKS5oZWlnaHQoKSk7CiAgICAgfQogCiAgICAgaWYgKCFzdHlsZSgpLT5pc0hv
cml6b250YWxXcml0aW5nTW9kZSgpKSB7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
ZXh0Q29udHJvbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dENvbnRyb2wuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRleHRDb250cm9sLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjA3LDcgKzYwNyw3IEBAIHZvaWQg
UmVuZGVyVGV4dENvbnRyb2w6OnBhaW50UGxhY2Vob2xkZXIKICAgICBSZW5kZXJCb3gqIHRleHRS
ZW5kZXJlciA9IGlubmVyVGV4dEVsZW1lbnQoKSA/IGlubmVyVGV4dEVsZW1lbnQoKS0+cmVuZGVy
Qm94KCkgOiAwOwogICAgIGlmICh0ZXh0UmVuZGVyZXIpIHsKICAgICAgICAgSW50UG9pbnQgdGV4
dFBvaW50OwotICAgICAgICB0ZXh0UG9pbnQuc2V0WSh0eSArIHRleHRCbG9ja0luc2V0VG9wKCkg
KyBwbGFjZWhvbGRlclN0eWxlLT5mb250KCkuYXNjZW50KCkpOworICAgICAgICB0ZXh0UG9pbnQu
c2V0WSh0eSArIHRleHRCbG9ja0luc2V0VG9wKCkgKyBwbGFjZWhvbGRlclN0eWxlLT5mb250TWV0
cmljcygpLmFzY2VudCgpKTsKICAgICAgICAgaWYgKHBsYWNlaG9sZGVyU3R5bGUtPmlzTGVmdFRv
UmlnaHREaXJlY3Rpb24oKSkKICAgICAgICAgICAgIHRleHRQb2ludC5zZXRYKHR4ICsgdGV4dEJs
b2NrSW5zZXRMZWZ0KCkpOwogICAgICAgICBlbHNlCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAJKHJldmlzaW9uIDc0NjY1KQor
KysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNzIzLDcgKzcyMyw3IEBAIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IFJl
bmRlclRleHRDb250cm8KICAgICB0ZXh0QmxvY2tTdHlsZS0+c2V0T3ZlcmZsb3dZKE9ISURERU4p
OwogCiAgICAgLy8gRG8gbm90IGFsbG93IGxpbmUtaGVpZ2h0IHRvIGJlIHNtYWxsZXIgdGhhbiBv
dXIgZGVmYXVsdC4KLSAgICBpZiAodGV4dEJsb2NrU3R5bGUtPmZvbnQoKS5saW5lU3BhY2luZygp
ID4gbGluZUhlaWdodCh0cnVlLCBIb3Jpem9udGFsTGluZSwgUG9zaXRpb25PZkludGVyaW9yTGlu
ZUJveGVzKSkKKyAgICBpZiAodGV4dEJsb2NrU3R5bGUtPmZvbnRNZXRyaWNzKCkubGluZVNwYWNp
bmcoKSA+IGxpbmVIZWlnaHQodHJ1ZSwgSG9yaXpvbnRhbExpbmUsIFBvc2l0aW9uT2ZJbnRlcmlv
ckxpbmVCb3hlcykpCiAgICAgICAgIHRleHRCbG9ja1N0eWxlLT5zZXRMaW5lSGVpZ2h0KExlbmd0
aCgtMTAwLjBmLCBQZXJjZW50KSk7CiAKICAgICBXZWJDb3JlOjpFRGlzcGxheSBkaXNwbGF5ID0g
KG1faW5uZXJCbG9jayB8fCBpbnB1dEVsZW1lbnQoKS0+aGFzU3BpbkJ1dHRvbigpID8gSU5MSU5F
X0JMT0NLIDogQkxPQ0spOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcAko
cmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTc2OSw3ICs3NjksNyBAQCB2b2lkIFJlbmRlclRoZW1lV2luOjph
ZGp1c3RNZW51TGlzdEJ1dHRvCiAgICAgc3R5bGUtPnNldEhlaWdodChMZW5ndGgoQXV0bykpOwog
CiAgICAgLy8gQ2FsY3VsYXRlIG91ciBtaW4taGVpZ2h0Ci0gICAgaW50IG1pbkhlaWdodCA9IHN0
eWxlLT5mb250KCkuaGVpZ2h0KCk7CisgICAgaW50IG1pbkhlaWdodCA9IHN0eWxlLT5mb250TWV0
cmljcygpLmhlaWdodCgpOwogICAgIG1pbkhlaWdodCA9IG1heChtaW5IZWlnaHQsIGRyb3BEb3du
Qm94TWluSGVpZ2h0KTsKIAogICAgIHN0eWxlLT5zZXRNaW5IZWlnaHQoTGVuZ3RoKG1pbkhlaWdo
dCwgRml4ZWQpKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkocmV2
aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC00NjcsNiArNDY3LDcgQEAgcHVibGljOgogICAgIEVUYWJsZUxheW91
dCB0YWJsZUxheW91dCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVUYWJsZUxheW91dD4o
bm9uaW5oZXJpdGVkX2ZsYWdzLl90YWJsZV9sYXlvdXQpOyB9CiAKICAgICBjb25zdCBGb250JiBm
b250KCkgY29uc3QgeyByZXR1cm4gaW5oZXJpdGVkLT5mb250OyB9CisgICAgY29uc3QgRm9udE1l
dHJpY3MmIGZvbnRNZXRyaWNzKCkgY29uc3QgeyByZXR1cm4gaW5oZXJpdGVkLT5mb250LmZvbnRN
ZXRyaWNzKCk7IH0KICAgICBjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbigp
IGNvbnN0IHsgcmV0dXJuIGluaGVyaXRlZC0+Zm9udC5mb250RGVzY3JpcHRpb24oKTsgfQogICAg
IGludCBmb250U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGluaGVyaXRlZC0+Zm9udC5waXhlbFNpemUo
KTsgfQogCkBAIC00OTEsNyArNDkyLDcgQEAgcHVibGljOgogCiAgICAgICAgIC8vIE5lZ2F0aXZl
IHZhbHVlIG1lYW5zIHRoZSBsaW5lIGhlaWdodCBpcyBub3Qgc2V0LiAgVXNlIHRoZSBmb250J3Mg
YnVpbHQtaW4gc3BhY2luZy4KICAgICAgICAgaWYgKGxoLmlzTmVnYXRpdmUoKSkKLSAgICAgICAg
ICAgIHJldHVybiBmb250KCkubGluZVNwYWNpbmcoKTsKKyAgICAgICAgICAgIHJldHVybiBmb250
TWV0cmljcygpLmxpbmVTcGFjaW5nKCk7CiAKICAgICAgICAgaWYgKGxoLmlzUGVyY2VudCgpKQog
ICAgICAgICAgICAgcmV0dXJuIGxoLmNhbGNNaW5WYWx1ZShmb250U2l6ZSgpKTsKSW5kZXg6IFdl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lVGV4dC5jcHAJKHJldmlzaW9u
IDc0NjY1KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZVRleHQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xNDYsNyArMTQ2LDcgQEAgVmlzaWJsZVBvc2l0aW9uIFJlbmRl
clNWR0lubGluZVRleHQ6OnBvcwogCiAgICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gdGhpcy0+c3R5
bGUoKTsKICAgICBBU1NFUlQoc3R5bGUpOwotICAgIGludCBiYXNlbGluZSA9IHN0eWxlLT5mb250
KCkuYXNjZW50KCk7CisgICAgaW50IGJhc2VsaW5lID0gc3R5bGUtPmZvbnRNZXRyaWNzKCkuYXNj
ZW50KCk7CiAKICAgICBSZW5kZXJCbG9jayogY29udGFpbmluZ0Jsb2NrID0gdGhpcy0+Y29udGFp
bmluZ0Jsb2NrKCk7CiAgICAgQVNTRVJUKGNvbnRhaW5pbmdCbG9jayk7CkluZGV4OiBXZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwCShyZXZpc2lvbiA3NDY2NSkKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtODQsNyArODQsNyBAQCBGbG9hdFJlY3QgU1ZHSW5saW5lVGV4dEJveDo6c2VsZWN0aW9u
UmVjCiAgICAgQVNTRVJUKHN0YXJ0UG9zaXRpb24gPCBlbmRQb3NpdGlvbik7CiAKICAgICBjb25z
dCBGb250JiBmb250ID0gc3R5bGUtPmZvbnQoKTsKLSAgICBGbG9hdFBvaW50IHRleHRPcmlnaW4o
ZnJhZ21lbnQueCwgZnJhZ21lbnQueSAtIGZvbnQuYXNjZW50KCkpOworICAgIEZsb2F0UG9pbnQg
dGV4dE9yaWdpbihmcmFnbWVudC54LCBmcmFnbWVudC55IC0gZm9udC5mb250TWV0cmljcygpLmFz
Y2VudCgpKTsKICAgICByZXR1cm4gZm9udC5zZWxlY3Rpb25SZWN0Rm9yVGV4dChjb25zdHJ1Y3RU
ZXh0UnVuKHN0eWxlLCBmcmFnbWVudCksIHRleHRPcmlnaW4sIGZyYWdtZW50LmhlaWdodCwgc3Rh
cnRQb3NpdGlvbiwgZW5kUG9zaXRpb24pOwogfQogCkBAIC00MDksMTYgKzQwOSwxNiBAQCBib29s
IFNWR0lubGluZVRleHRCb3g6Om1hcFN0YXJ0RW5kUG9zaXRpCiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKLXN0YXRpYyBpbmxpbmUgZmxvYXQgcG9zaXRpb25PZmZzZXRGb3JEZWNvcmF0aW9uKEVUZXh0
RGVjb3JhdGlvbiBkZWNvcmF0aW9uLCBjb25zdCBGb250JiBmb250LCBmbG9hdCB0aGlja25lc3Mp
CitzdGF0aWMgaW5saW5lIGZsb2F0IHBvc2l0aW9uT2Zmc2V0Rm9yRGVjb3JhdGlvbihFVGV4dERl
Y29yYXRpb24gZGVjb3JhdGlvbiwgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzLCBmbG9h
dCB0aGlja25lc3MpCiB7CiAgICAgLy8gRklYTUU6IEZvciBTVkcgRm9udHMgd2UgbmVlZCB0byB1
c2UgdGhlIGF0dHJpYnV0ZXMgZGVmaW5lZCBpbiB0aGUgPGZvbnQtZmFjZT4gaWYgc3BlY2lmaWVk
LgogICAgIC8vIENvbXBhdGlibGUgd2l0aCBCYXRpay9PcGVyYS4KICAgICBpZiAoZGVjb3JhdGlv
biA9PSBVTkRFUkxJTkUpCi0gICAgICAgIHJldHVybiBmb250LmFzY2VudCgpICsgdGhpY2tuZXNz
ICogMS41ZjsKKyAgICAgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmFzY2VudCgpICsgdGhpY2tuZXNz
ICogMS41ZjsKICAgICBpZiAoZGVjb3JhdGlvbiA9PSBPVkVSTElORSkKICAgICAgICAgcmV0dXJu
IHRoaWNrbmVzczsKICAgICBpZiAoZGVjb3JhdGlvbiA9PSBMSU5FX1RIUk9VR0gpCi0gICAgICAg
IHJldHVybiBmb250LmFzY2VudCgpICogNS4wZiAvIDguMGY7CisgICAgICAgIHJldHVybiBmb250
TWV0cmljcy5hc2NlbnQoKSAqIDUuMGYgLyA4LjBmOwogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgcmV0dXJuIDAuMGY7CkBAIC00ODcsNiArNDg3LDcgQEAgdm9pZCBTVkdJbmxpbmVU
ZXh0Qm94OjpwYWludERlY29yYXRpb25XaQogICAgIEFTU0VSVChkZWNvcmF0aW9uU3R5bGUpOwog
CiAgICAgY29uc3QgRm9udCYgZm9udCA9IGRlY29yYXRpb25TdHlsZS0+Zm9udCgpOworICAgIGNv
bnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKIAogICAg
IC8vIFRoZSBpbml0aWFsIHkgdmFsdWUgcmVmZXJzIHRvIG92ZXJsaW5lIHBvc2l0aW9uLgogICAg
IGZsb2F0IHRoaWNrbmVzcyA9IHRoaWNrbmVzc0ZvckRlY29yYXRpb24oZGVjb3JhdGlvbiwgZm9u
dCk7CkBAIC00OTQsNyArNDk1LDcgQEAgdm9pZCBTVkdJbmxpbmVUZXh0Qm94OjpwYWludERlY29y
YXRpb25XaQogICAgIGlmIChmcmFnbWVudC53aWR0aCA8PSAwICYmIHRoaWNrbmVzcyA8PSAwKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBmbG9hdCB5ID0gZnJhZ21lbnQueSAtIGZvbnQuYXNjZW50
KCkgKyBwb3NpdGlvbk9mZnNldEZvckRlY29yYXRpb24oZGVjb3JhdGlvbiwgZm9udCwgdGhpY2tu
ZXNzKTsKKyAgICBmbG9hdCB5ID0gZnJhZ21lbnQueSAtIGZvbnRNZXRyaWNzLmFzY2VudCgpICsg
cG9zaXRpb25PZmZzZXRGb3JEZWNvcmF0aW9uKGRlY29yYXRpb24sIGZvbnRNZXRyaWNzLCB0aGlj
a25lc3MpOwogCiAgICAgUGF0aCBwYXRoOwogICAgIHBhdGguYWRkUmVjdChGbG9hdFJlY3QoZnJh
Z21lbnQueCwgeSwgZnJhZ21lbnQud2lkdGgsIHRoaWNrbmVzcykpOwpAQCAtNTEzLDcgKzUxNCw3
IEBAIHZvaWQgU1ZHSW5saW5lVGV4dEJveDo6cGFpbnRUZXh0V2l0aFNoYWQKICAgICBjb25zdCBT
aGFkb3dEYXRhKiBzaGFkb3cgPSBzdHlsZS0+dGV4dFNoYWRvdygpOwogCiAgICAgRmxvYXRQb2lu
dCB0ZXh0T3JpZ2luKGZyYWdtZW50LngsIGZyYWdtZW50LnkpOwotICAgIEZsb2F0UmVjdCBzaGFk
b3dSZWN0KEZsb2F0UG9pbnQodGV4dE9yaWdpbi54KCksIHRleHRPcmlnaW4ueSgpIC0gZm9udC5h
c2NlbnQoKSksIEZsb2F0U2l6ZShmcmFnbWVudC53aWR0aCwgZnJhZ21lbnQuaGVpZ2h0KSk7Cisg
ICAgRmxvYXRSZWN0IHNoYWRvd1JlY3QoRmxvYXRQb2ludCh0ZXh0T3JpZ2luLngoKSwgdGV4dE9y
aWdpbi55KCkgLSBmb250LmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpLCBGbG9hdFNpemUoZnJhZ21l
bnQud2lkdGgsIGZyYWdtZW50LmhlaWdodCkpOwogCiAgICAgZG8gewogICAgICAgICBpZiAoIXBy
ZXBhcmVHcmFwaGljc0NvbnRleHRGb3JUZXh0UGFpbnRpbmcoY29udGV4dCwgdGV4dFJ1biwgc3R5
bGUpKQpAQCAtNTg3LDcgKzU4OCw3IEBAIEludFJlY3QgU1ZHSW5saW5lVGV4dEJveDo6Y2FsY3Vs
YXRlQm91bmQKICAgICBBU1NFUlQoc3R5bGUpOwogCiAgICAgaW50IGJhc2VsaW5lID0gYmFzZWxp
bmVQb3NpdGlvbihBbHBoYWJldGljQmFzZWxpbmUpOwotICAgIGludCBoZWlnaHREaWZmZXJlbmNl
ID0gYmFzZWxpbmUgLSBzdHlsZS0+Zm9udCgpLmFzY2VudCgpOworICAgIGludCBoZWlnaHREaWZm
ZXJlbmNlID0gYmFzZWxpbmUgLSBzdHlsZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKTsKIAogICAg
IHVuc2lnbmVkIHRleHRGcmFnbWVudHNTaXplID0gbV90ZXh0RnJhZ21lbnRzLnNpemUoKTsKICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdGV4dEZyYWdtZW50c1NpemU7ICsraSkgewpJbmRl
eDogV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVC
YXNlbGluZS5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDkgKzQ5
LDkgQEAgZmxvYXQgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lOjpjYWxjdQogICAgIGNhc2Ug
QlNfQkFTRUxJTkU6CiAgICAgICAgIHJldHVybiAwOwogICAgIGNhc2UgQlNfU1VCOgotICAgICAg
ICByZXR1cm4gLW1fZm9udC5oZWlnaHQoKSAvIDI7CisgICAgICAgIHJldHVybiAtbV9mb250LmZv
bnRNZXRyaWNzKCkuaGVpZ2h0KCkgLyAyOwogICAgIGNhc2UgQlNfU1VQRVI6Ci0gICAgICAgIHJl
dHVybiBtX2ZvbnQuaGVpZ2h0KCkgLyAyOworICAgICAgICByZXR1cm4gbV9mb250LmZvbnRNZXRy
aWNzKCkuaGVpZ2h0KCkgLyAyOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgICAgICByZXR1cm4gMDsKQEAgLTEyMiwyNyArMTIyLDI5IEBAIGZsb2F0IFNW
R1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2FsY3UKICAgICAgICAgQVNTRVJUKGJhc2VsaW5l
ICE9IEFCX0FVVE8pOwogICAgIH0KIAorICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmlj
cyA9IG1fZm9udC5mb250TWV0cmljcygpOworCiAgICAgLy8gTm90ZTogaHR0cDovL3dpa2kuYXBh
Y2hlLm9yZy94bWxncmFwaGljcy1mb3AvTGluZUxheW91dC9BbGlnbm1lbnRIYW5kbGluZwogICAg
IHN3aXRjaCAoYmFzZWxpbmUpIHsKICAgICBjYXNlIEFCX0JBU0VMSU5FOgogICAgICAgICByZXR1
cm4gZG9taW5hbnRCYXNlbGluZVRvQWxpZ25tZW50QmFzZWxpbmUoaXNWZXJ0aWNhbFRleHQsIHRl
eHRSZW5kZXJlclBhcmVudCk7CiAgICAgY2FzZSBBQl9CRUZPUkVfRURHRToKICAgICBjYXNlIEFC
X1RFWFRfQkVGT1JFX0VER0U6Ci0gICAgICAgIHJldHVybiBtX2ZvbnQuYXNjZW50KCk7CisgICAg
ICAgIHJldHVybiBmb250TWV0cmljcy5hc2NlbnQoKTsKICAgICBjYXNlIEFCX01JRERMRToKLSAg
ICAgICAgcmV0dXJuIG1fZm9udC54SGVpZ2h0KCkgLyAyOworICAgICAgICByZXR1cm4gZm9udE1l
dHJpY3MueEhlaWdodCgpIC8gMjsKICAgICBjYXNlIEFCX0NFTlRSQUw6Ci0gICAgICAgIHJldHVy
biAobV9mb250LmFzY2VudCgpIC0gbV9mb250LmRlc2NlbnQoKSkgLyAyOworICAgICAgICByZXR1
cm4gKGZvbnRNZXRyaWNzLmFzY2VudCgpIC0gZm9udE1ldHJpY3MuZGVzY2VudCgpKSAvIDI7CiAg
ICAgY2FzZSBBQl9BRlRFUl9FREdFOgogICAgIGNhc2UgQUJfVEVYVF9BRlRFUl9FREdFOgogICAg
IGNhc2UgQUJfSURFT0dSQVBISUM6Ci0gICAgICAgIHJldHVybiBtX2ZvbnQuZGVzY2VudCgpOwor
ICAgICAgICByZXR1cm4gZm9udE1ldHJpY3MuZGVzY2VudCgpOwogICAgIGNhc2UgQUJfQUxQSEFC
RVRJQzoKICAgICAgICAgcmV0dXJuIDA7CiAgICAgY2FzZSBBQl9IQU5HSU5HOgotICAgICAgICBy
ZXR1cm4gbV9mb250LmFzY2VudCgpICogOCAvIDEwLmY7CisgICAgICAgIHJldHVybiBmb250TWV0
cmljcy5hc2NlbnQoKSAqIDggLyAxMC5mOwogICAgIGNhc2UgQUJfTUFUSEVNQVRJQ0FMOgotICAg
ICAgICByZXR1cm4gbV9mb250LmFzY2VudCgpIC8gMjsKKyAgICAgICAgcmV0dXJuIGZvbnRNZXRy
aWNzLmFzY2VudCgpIC8gMjsKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKICAgICAgICAgcmV0dXJuIDA7CkBAIC0xOTMsMTIgKzE5NSwxNCBAQCBmbG9hdCBTVkdU
ZXh0TGF5b3V0RW5naW5lQmFzZWxpbmU6OmNhbGN1CiAgICAgLy8gU3BlYzogSWYgaWYgdGhlICdn
bHlwaC1vcmllbnRhdGlvbi12ZXJ0aWNhbCcgcmVzdWx0cyBpbiBhbiBvcmllbnRhdGlvbiBhbmds
ZSB0aGF0IGlzIG5vdCBhIG11bHRpcGxlIG9mCiAgICAgLy8gMTgwIGRlZ3JlZXMsIHRoZW4gdGhl
IGN1cnJlbnQgdGV4dCBwb3NpdGlvbiBpcyBpbmNyZW1lbnRlZCBhY2NvcmRpbmcgdG8gdGhlIGhv
cml6b250YWwgbWV0cmljcyBvZiB0aGUgZ2x5cGguCiAKKyAgICBjb25zdCBGb250TWV0cmljcyYg
Zm9udE1ldHJpY3MgPSBtX2ZvbnQuZm9udE1ldHJpY3MoKTsKKwogICAgIC8vIFZlcnRpY2FsIG9y
aWVudGF0aW9uIGhhbmRsaW5nLgogICAgIGlmIChpc1ZlcnRpY2FsVGV4dCkgewotICAgICAgICBm
bG9hdCBhc2NlbnRNaW51c0Rlc2NlbnQgPSBtX2ZvbnQuYXNjZW50KCkgLSBtX2ZvbnQuZGVzY2Vu
dCgpOworICAgICAgICBmbG9hdCBhc2NlbnRNaW51c0Rlc2NlbnQgPSBmb250TWV0cmljcy5hc2Nl
bnQoKSAtIGZvbnRNZXRyaWNzLmRlc2NlbnQoKTsKICAgICAgICAgaWYgKCFhbmdsZSkgewogICAg
ICAgICAgICAgeE9yaWVudGF0aW9uU2hpZnQgPSAoYXNjZW50TWludXNEZXNjZW50IC0gbWV0cmlj
cy53aWR0aCgpKSAvIDI7Ci0gICAgICAgICAgICB5T3JpZW50YXRpb25TaGlmdCA9IG1fZm9udC5h
c2NlbnQoKTsKKyAgICAgICAgICAgIHlPcmllbnRhdGlvblNoaWZ0ID0gZm9udE1ldHJpY3MuYXNj
ZW50KCk7CiAgICAgICAgIH0gZWxzZSBpZiAoYW5nbGUgPT0gMTgwKQogICAgICAgICAgICAgeE9y
aWVudGF0aW9uU2hpZnQgPSAoYXNjZW50TWludXNEZXNjZW50ICsgbWV0cmljcy53aWR0aCgpKSAv
IDI7CiAgICAgICAgIGVsc2UgaWYgKGFuZ2xlID09IDI3MCkgewpAQCAtMjE4LDcgKzIyMiw3IEBA
IGZsb2F0IFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2FsY3UKICAgICAgICAgeU9yaWVu
dGF0aW9uU2hpZnQgPSAtbWV0cmljcy53aWR0aCgpOwogICAgIGVsc2UgaWYgKGFuZ2xlID09IDE4
MCkgewogICAgICAgICB4T3JpZW50YXRpb25TaGlmdCA9IG1ldHJpY3Mud2lkdGgoKTsKLSAgICAg
ICAgeU9yaWVudGF0aW9uU2hpZnQgPSAtbV9mb250LmFzY2VudCgpOworICAgICAgICB5T3JpZW50
YXRpb25TaGlmdCA9IC1mb250TWV0cmljcy5hc2NlbnQoKTsKICAgICB9IGVsc2UgaWYgKGFuZ2xl
ID09IDI3MCkKICAgICAgICAgeE9yaWVudGF0aW9uU2hpZnQgPSBtZXRyaWNzLndpZHRoKCk7CiAK
SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdp
bmVTcGFjaW5nLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OCw3ICs1
OCw3IEBAIGZsb2F0IFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nOjpjYWxjdWwKIAogICAgIG1f
bGFzdEdseXBoID0gY3VycmVudEdseXBoOwogICAgIG1fbGFzdEdseXBoLmlzVmFsaWQgPSB0cnVl
OwotICAgIGtlcm5pbmcgKj0gbV9mb250LnNpemUoKSAvIG1fZm9udC5wcmltYXJ5Rm9udCgpLT51
bml0c1BlckVtKCk7CisgICAga2VybmluZyAqPSBtX2ZvbnQuc2l6ZSgpIC8gbV9mb250LmZvbnRN
ZXRyaWNzKCkudW5pdHNQZXJFbSgpOwogICAgIHJldHVybiBrZXJuaW5nOwogI2Vsc2UKICAgICBV
TlVTRURfUEFSQU0oaXNWZXJ0aWNhbFRleHQpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRNZXRyaWNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHVGV4dE1ldHJpY3MuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0TWV0cmljcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDcgQEAg
U1ZHVGV4dE1ldHJpY3M6OlNWR1RleHRNZXRyaWNzKGNvbnN0IEZvbgogICAgIGludCBsZW5ndGgg
PSAwOwogCiAgICAgbV93aWR0aCA9IGZvbnQuZmxvYXRXaWR0aChydW4sIGV4dHJhQ2hhcnNBdmFp
bGFibGUsIGxlbmd0aCwgbV9nbHlwaC5uYW1lKTsKLSAgICBtX2hlaWdodCA9IGZvbnQuaGVpZ2h0
KCk7CisgICAgbV9oZWlnaHQgPSBmb250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCk7CiAgICAgbV9n
bHlwaC51bmljb2RlU3RyaW5nID0gU3RyaW5nKHJ1bi5jaGFyYWN0ZXJzKCksIGxlbmd0aCk7CiAg
ICAgbV9nbHlwaC5pc1ZhbGlkID0gdHJ1ZTsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRRdWVyeS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1RleHRRdWVyeS5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRRdWVyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3Miw3ICs0NzIsNyBAQCBzdHJ1
Y3QgRXh0ZW50T2ZDaGFyYWN0ZXJEYXRhIDogU1ZHVGV4dFF1CiAKIHN0YXRpYyBpbmxpbmUgdm9p
ZCBjYWxjdWxhdGVHbHlwaEJvdW5kYXJpZXMoU1ZHVGV4dFF1ZXJ5OjpEYXRhKiBxdWVyeURhdGEs
IGNvbnN0IFNWR1RleHRGcmFnbWVudCYgZnJhZ21lbnQsIGludCBzdGFydFBvc2l0aW9uLCBGbG9h
dFJlY3QmIGV4dGVudCkKIHsKLSAgICBleHRlbnQuc2V0TG9jYXRpb24oRmxvYXRQb2ludChmcmFn
bWVudC54LCBmcmFnbWVudC55IC0gcXVlcnlEYXRhLT50ZXh0UmVuZGVyZXItPnN0eWxlKCktPmZv
bnQoKS5hc2NlbnQoKSkpOworICAgIGV4dGVudC5zZXRMb2NhdGlvbihGbG9hdFBvaW50KGZyYWdt
ZW50LngsIGZyYWdtZW50LnkgLSBxdWVyeURhdGEtPnRleHRSZW5kZXJlci0+c3R5bGUoKS0+Zm9u
dE1ldHJpY3MoKS5hc2NlbnQoKSkpOwogCiAgICAgaWYgKHN0YXJ0UG9zaXRpb24pIHsKICAgICAg
ICAgU1ZHVGV4dE1ldHJpY3MgbWV0cmljcyA9IFNWR1RleHRNZXRyaWNzOjptZWFzdXJlQ2hhcmFj
dGVyUmFuZ2UocXVlcnlEYXRhLT50ZXh0UmVuZGVyZXIsIGZyYWdtZW50LnBvc2l0aW9uTGlzdE9m
ZnNldCwgc3RhcnRQb3NpdGlvbik7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHAJ
KHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTI1LDcgKzEyNSw3IEBAIHVuc2lnbmVkIFNWR0ZvbnRGYWNlRWxl
bWVudDo6dW5pdHNQZXJFbSgKIHsKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlID0gZ2V0
QXR0cmlidXRlKHVuaXRzX3Blcl9lbUF0dHIpOwogICAgIGlmICh2YWx1ZS5pc0VtcHR5KCkpCi0g
ICAgICAgIHJldHVybiBkZWZhdWx0VW5pdHNQZXJFbTsKKyAgICAgICAgcmV0dXJuIGdEZWZhdWx0
VW5pdHNQZXJFbTsKIAogICAgIHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oY2VpbGYodmFs
dWUudG9GbG9hdCgpKSk7CiB9CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdMZW5ndGguY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0xlbmd0aC5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysg
V2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQ0LDcgKzQ0NCw3
IEBAIGZsb2F0IFNWR0xlbmd0aDo6Y29udmVydFZhbHVlRnJvbVVzZXJVbmkKIAogICAgIC8vIFVz
ZSBvZiBjZWlsIGFsbG93cyBhIHBpeGVsIG1hdGNoIHRvIHRoZSBXM0NzIGV4cGVjdGVkIG91dHB1
dCBvZiBjb29yZHMtdW5pdHMtMDMtYi5zdmcKICAgICAvLyBpZiB0aGlzIGNhdXNlcyBwcm9ibGVt
cyBpbiByZWFsIHdvcmxkIGNhc2VzIG1heWJlIGl0IHdvdWxkIGJlIGJlc3QgdG8gcmVtb3ZlIHRo
aXMKLSAgICBmbG9hdCB4SGVpZ2h0ID0gY2VpbGYoc3R5bGUtPmZvbnQoKS54SGVpZ2h0KCkpOwor
ICAgIGZsb2F0IHhIZWlnaHQgPSBjZWlsZihzdHlsZS0+Zm9udE1ldHJpY3MoKS54SGVpZ2h0KCkp
OwogICAgIGlmICgheEhlaWdodCkgewogICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOwog
ICAgICAgICByZXR1cm4gMDsKQEAgLTQ2Myw3ICs0NjMsNyBAQCBmbG9hdCBTVkdMZW5ndGg6OmNv
bnZlcnRWYWx1ZUZyb21FWFNUb1VzCiAgICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gY29udGV4dC0+
cmVuZGVyZXIoKS0+c3R5bGUoKTsKICAgICAvLyBVc2Ugb2YgY2VpbCBhbGxvd3MgYSBwaXhlbCBt
YXRjaCB0byB0aGUgVzNDcyBleHBlY3RlZCBvdXRwdXQgb2YgY29vcmRzLXVuaXRzLTAzLWIuc3Zn
CiAgICAgLy8gaWYgdGhpcyBjYXVzZXMgcHJvYmxlbXMgaW4gcmVhbCB3b3JsZCBjYXNlcyBtYXli
ZSBpdCB3b3VsZCBiZSBiZXN0IHRvIHJlbW92ZSB0aGlzCi0gICAgcmV0dXJuIHZhbHVlICogY2Vp
bGYoc3R5bGUtPmZvbnQoKS54SGVpZ2h0KCkpOworICAgIHJldHVybiB2YWx1ZSAqIGNlaWxmKHN0
eWxlLT5mb250TWV0cmljcygpLnhIZWlnaHQoKSk7CiB9CiAKIFNWR0xlbmd0aCBTVkdMZW5ndGg6
OmZyb21DU1NQcmltaXRpdmVWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZSogdmFsdWUpCkluZGV4OiBX
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEwLTEyLTIzICBOaWtvbGFzIFppbW1l
cm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVjZSBGb250TWV0cmljcyBhYnN0cmFjdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE0NTYKKwor
ICAgICAgICAqIHNyYy9FeHRlcm5hbFBvcHVwTWVudS5jcHA6IFVzZSBGb250TWV0cmljcyBpbnN0
ZWFkIG9mIEZvbnQgdG8gYWNjZXNzIHRoZSBtZXRyaWNzLgorICAgICAgICAoV2ViS2l0OjpFeHRl
cm5hbFBvcHVwTWVudTo6Z2V0UG9wdXBNZW51SW5mbyk6CisgICAgICAgICogc3JjL1dlYkZvbnRJ
bXBsLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OldlYkZvbnRJbXBsOjphc2NlbnQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJGb250SW1wbDo6ZGVzY2VudCk6CisgICAgICAgIChXZWJLaXQ6
OldlYkZvbnRJbXBsOjpoZWlnaHQpOgorICAgICAgICAoV2ViS2l0OjpXZWJGb250SW1wbDo6bGlu
ZVNwYWNpbmcpOgorICAgICAgICAoV2ViS2l0OjpXZWJGb250SW1wbDo6eEhlaWdodCk6CisKIDIw
MTAtMTItMjMgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI3NDU2MS4KSW5kZXg6IFdlYktpdC9jaHJv
bWl1bS9zcmMvRXh0ZXJuYWxQb3B1cE1lbnUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJv
bWl1bS9zcmMvRXh0ZXJuYWxQb3B1cE1lbnUuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYktp
dC9jaHJvbWl1bS9zcmMvRXh0ZXJuYWxQb3B1cE1lbnUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
NDIsNyArMTQyLDcgQEAgdm9pZCBFeHRlcm5hbFBvcHVwTWVudTo6Z2V0UG9wdXBNZW51SW5mbwog
ICAgICAgICBwb3B1cEl0ZW0uZW5hYmxlZCA9IG1fcG9wdXBNZW51Q2xpZW50LT5pdGVtSXNFbmFi
bGVkKGkpOwogICAgIH0KIAotICAgIGluZm8tPml0ZW1IZWlnaHQgPSBtX3BvcHVwTWVudUNsaWVu
dC0+bWVudVN0eWxlKCkuZm9udCgpLmhlaWdodCgpOworICAgIGluZm8tPml0ZW1IZWlnaHQgPSBt
X3BvcHVwTWVudUNsaWVudC0+bWVudVN0eWxlKCkuZm9udCgpLmZvbnRNZXRyaWNzKCkuaGVpZ2h0
KCk7CiAgICAgaW5mby0+aXRlbUZvbnRTaXplID0KICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Piht
X3BvcHVwTWVudUNsaWVudC0+bWVudVN0eWxlKCkuZm9udCgpLnNpemUoKSk7CiAgICAgaW5mby0+
c2VsZWN0ZWRJbmRleCA9IG1fcG9wdXBNZW51Q2xpZW50LT5zZWxlY3RlZEluZGV4KCk7CkluZGV4
OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZvbnRJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkZvbnRJbXBsLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkZvbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjMsMjcg
KzYzLDI3IEBAIFdlYkZvbnREZXNjcmlwdGlvbiBXZWJGb250SW1wbDo6Zm9udERlc2MKIAogaW50
IFdlYkZvbnRJbXBsOjphc2NlbnQoKSBjb25zdAogewotICAgIHJldHVybiBtX2ZvbnQuYXNjZW50
KCk7CisgICAgcmV0dXJuIG1fZm9udC5mb250TWV0cmljcygpLmFzY2VudCgpOwogfQogCiBpbnQg
V2ViRm9udEltcGw6OmRlc2NlbnQoKSBjb25zdAogewotICAgIHJldHVybiBtX2ZvbnQuZGVzY2Vu
dCgpOworICAgIHJldHVybiBtX2ZvbnQuZm9udE1ldHJpY3MoKS5kZXNjZW50KCk7CiB9CiAKIGlu
dCBXZWJGb250SW1wbDo6aGVpZ2h0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9mb250LmhlaWdo
dCgpOworICAgIHJldHVybiBtX2ZvbnQuZm9udE1ldHJpY3MoKS5oZWlnaHQoKTsKIH0KIAogaW50
IFdlYkZvbnRJbXBsOjpsaW5lU3BhY2luZygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fZm9udC5s
aW5lU3BhY2luZygpOworICAgIHJldHVybiBtX2ZvbnQuZm9udE1ldHJpY3MoKS5saW5lU3BhY2lu
ZygpOwogfQogCiBmbG9hdCBXZWJGb250SW1wbDo6eEhlaWdodCgpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIG1fZm9udC54SGVpZ2h0KCk7CisgICAgcmV0dXJuIG1fZm9udC5mb250TWV0cmljcygpLnhI
ZWlnaHQoKTsKIH0KIAogdm9pZCBXZWJGb250SW1wbDo6ZHJhd1RleHQoV2ViQ2FudmFzKiBjYW52
YXMsIGNvbnN0IFdlYlRleHRSdW4mIHJ1biwgY29uc3QgV2ViRmxvYXRQb2ludCYgbGVmdEJhc2Vs
aW5lLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77453</attachid>
            <date>2010-12-26 06:47:01 -0800</date>
            <delta_ts>2010-12-27 04:44:55 -0800</delta_ts>
            <desc>Patch v6</desc>
            <filename>IntroduceFontMetrics5.diff</filename>
            <type>text/plain</type>
            <size>124780</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkxIEBACisyMDEwLTEyLTIyICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEludHJvZHVjZSBGb250TWV0cmljcyBhYnN0cmFjdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE0NTYKKworICAgICAgICBFbmNhcHN1
bGF0ZSBhc2NlbnQvZGVzY2VudC9saW5lSGVpZ2h0L2xpbmVHYXAgbWV0aG9kcyBpbiBhIHNpbmds
ZSBGb250TWV0cmljcyBjbGFzcywgaW5zdGVhZCBvZgorICAgICAgICBoYXZpbmcgdG8gZGVmaW5l
IHRoZW0gaW4gYm90aCBGb250ICYgU2ltcGxlRm9udERhdGEuIENoYW5nZWQgdG8gc3RvcmUgZmxv
YXRpbmcgcG9pbnQgdmFsdWVzCisgICAgICAgIGFzIGRlZmF1bHQsIGluIG9yZGVyIHRvIGdldCBh
Y2N1cmF0ZSBpbmZvcm1hdGlvbiBmb3Igc21hbGwgc2l6ZWQgZm9udHMuIEFsbCB0aGVzZSBtZXRo
b2RzCisgICAgICAgIG5vdyBoYXZlIGZsb2F0aW5nLXBvaW50IGFuZCBpbnRlZ2VyIHZlcnNpb25z
LiBXaGVuZXZlciBhbiBpbnRlZ2VyIHZhcmlhbnQgb2YgdGhlc2UgZnVuY3Rpb25zCisgICAgICAg
IGlzIGNhbGxlZCwgbHJvdW5kZigpIGlzIHVzZWQgdG8gcm91bmQgdGhlIHZhbHVlLgorCisgICAg
ICAgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gc3VwcG9ydCBzbWFsbCBmb250LXNpemVzIGZv
ciBTVkcgaW4gYSBmb2xsb3ctdXAgcGF0Y2gsIGFzIHdlbGwKKyAgICAgICAgYXMgZml4aW5nIHJv
dW5kaW5nIGlzc3VlcyB3aGVuIHVzaW5nIFNWRyBGb250cy4KKyAgICAgICAgCisgICAgICAgIFNo
b3VsZG4ndCBhZmZlY3QgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5h
bTogQWRkIEZvbnRNZXRyaWNzLmggdG8gYnVpbGQuIAorICAgICAgICAqIFdlYkNvcmUuZ3lwaTog
RGl0dG8uCisgICAgICAgICogV2ViQ29yZS5wcm86IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0Fj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcDogVXNlIHN0eWxlLT5mb250TWV0cmljcygp
IGluc3RlYWQgb2Ygc3R5bGUtPmZvbnQoKSB0byBhY2Nlc3MgdGhlIG1ldHJpY3MuCisgICAgICAg
IChiYXNlbGluZVBvc2l0aW9uRm9yQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCk6CisgICAgICAg
ICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDogICAgICAgICAKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoRG91YmxlKToKKyAgICAgICAgKiBodG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJbnRlcm5hbCk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRyYXdFbGVtZW50VGl0bGUpOgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcDogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpQb3B1cExpc3RCb3g6OnBhaW50Um93KToKKyAgICAgICAgKFdlYkNvcmU6
OlBvcHVwTGlzdEJveDo6Z2V0Um93SGVpZ2h0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Lmg6IFJlbW92ZSBhc2NlbnQvZGVzY2VudC9oZWlnaHQvbGluZUdhcC9saW5lU3BhY2lu
Zy94SGVpZ2h0L3VuaXRzUGVyRW0gYWNjZXNzb3IuLi4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6
OmZvbnRNZXRyaWNzKTogLi4uIGFuZCBvbmx5IGV4cG9zZSBhIHNpbmdsZSBGb250TWV0cmljcyBv
YmplY3QgaGVyZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3Bw
OiBVc2UgZm9udE1ldHJpY3MoKSB0byBxdWVyeSBtZXRyaWNzIGluZm9ybWF0aW9uLgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udDo6ZW1waGFzaXNNYXJrQXNjZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnQ6OmVtcGhhc2lzTWFya0Rlc2NlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZW1w
aGFzaXNNYXJrSGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmZsb2F0V2lkdGhGb3JT
aW1wbGVUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkludGVnZXJGb250TWV0cmljczo6Y3JlYXRlKTogQ3Jl
YXRlcyBhbiBJbnRlZ2VyRm9udE1ldHJpY3Mgb2JqZWN0LCBvbmx5IHVzZWQgYnkgRm9udE1ldHJp
Y3MgaXRzZWxmLgorICAgICAgICAoV2ViQ29yZTo6SW50ZWdlckZvbnRNZXRyaWNzOjphc2NlbnQp
OiBJbnRlZ2VyIHZlcnNpb24uCisgICAgICAgIChXZWJDb3JlOjpJbnRlZ2VyRm9udE1ldHJpY3M6
OmRlc2NlbnQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkludGVnZXJGb250TWV0cmljczo6
bGluZUdhcCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW50ZWdlckZvbnRNZXRyaWNzOjps
aW5lU3BhY2luZyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW50ZWdlckZvbnRNZXRyaWNz
OjpJbnRlZ2VyRm9udE1ldHJpY3MpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OkZv
bnRNZXRyaWNzKTogQ3JlYXRlcyBhIEZvbnRNZXRyaWNzIG9iamVjdCwgc3RvcmVkIGluIFNpbXBs
ZUZvbnREYXRhLgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnVuaXRzUGVyRW0pOiBS
ZXR1cm5zIGFuIHVuc2lnbmVkIGRlc2NyaWJpbmcgdGhlIHVuaXRzUGVyRW0uCisgICAgICAgIChX
ZWJDb3JlOjpGb250TWV0cmljczo6c2V0VW5pdHNQZXJFbSk6IFNldHMgdGhlIHVuaXRzUGVyRW0g
dmFsdWUuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6ZmxvYXRBc2NlbnQpOiBSZXR1
cm5zIHRoZSBzdG9yZWQgbV9hc2NlbnQgZmxvYXQuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0
cmljczo6c2V0QXNjZW50KTogU2V0cyB0aGUgc3RvcmVkIG1fYXNjZW50IGZsb2F0LgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmZsb2F0RGVzY2VudCk6IFJldHVybnMgdGhlIHN0b3Jl
ZCBtX2Rlc2NlbnQgZmxvYXQuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6c2V0RGVz
Y2VudCk6IFNldHMgdGhlIHN0b3JlZCBtX2Rlc2NlbnQgZmxvYXQuCisgICAgICAgIChXZWJDb3Jl
OjpGb250TWV0cmljczo6ZmxvYXRIZWlnaHQpOiBSZXR1cm5zIGZsb2F0QXNjZW50KCkgKyBmbG9h
dERlc2NlbnQoKS4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpmbG9hdExpbmVHYXAp
OiBSZXR1cm5zIHRoZSBzdG9yZWQgbV9saW5lR2FwIGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6
Rm9udE1ldHJpY3M6OnNldExpbmVHYXApOiBTZXRzIHRoZSBzdG9yZWQgbV9saW5lR2FwIGZsb2F0
LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmZsb2F0TGluZVNwYWNpbmcpOiBSZXR1
cm5zIHRoZSBzdG9yZWQgbV9saW5lU3BhY2luZyBmbG9hdC4KKyAgICAgICAgKFdlYkNvcmU6OkZv
bnRNZXRyaWNzOjpzZXRMaW5lU3BhY2luZyk6IFNldHMgdGhlIHN0b3JlZCBtX2xpbmVTcGFjaW5n
IGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnhIZWlnaHQpOiBSZXR1cm5z
IHRoZSBzdG9yZWQgbV94SGVpZ2h0IGZsb2F0IChubyBpbnRlZ2VyIHZlcnNpb24gYXZhaWxhYmxl
LCBoZW5jZSBubyAnZmxvYXQnIHByZWZpeCkuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmlj
czo6c2V0WEhlaWdodCk6IFNldHMgdGhlIHN0b3JlZCBtX3hIZWlnaHQgZmxvYXQuCisgICAgICAg
IChXZWJDb3JlOjpGb250TWV0cmljczo6YXNjZW50KTogQ2FsbHMgZW5zdXJlSW50ZWdlck1ldHJp
Y3MoKSwgdGhlbiByZXR1cm5zIG1faW50ZWdlck1ldHJpY3MtPmFzY2VudCgpLgorICAgICAgICAo
V2ViQ29yZTo6Rm9udE1ldHJpY3M6OmRlc2NlbnQpOiBEaXR0byAoZm9yIGRlc2NlbnQpLgorICAg
ICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmhlaWdodCk6IFJldHVybnMgYXNjZW50KCkgKyBk
ZXNjZW50KCkuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6bGluZUdhcCk6IENhbGxz
IGVuc3VyZUludGVnZXJNZXRyaWNzKCksIHRoZW4gcmV0dXJucyBtX2ludGVnZXJNZXRyaWNzLT5s
aW5lR2FwKCkuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6bGluZVNwYWNpbmcpOiBE
aXR0byAoZm9yIGxpbmVTcGFjaW5nKS4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpy
ZXNldCk6IE51bGxzIGFsbCBtZW1iZXJzLCB1c2VkIG9ubHkgYnkgdGhlIHBsYXRmb3JtIHZhcmlh
bnRzIG9mIFNpbXBsZUZvbnREYXRhLgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmVu
c3VyZUludGVnZXJNZXRyaWNzKTogVXRpbGl6aWVzIGxyb3VuZGYgdG8gcm91bmQgdGhlIHN0b3Jl
ZCBmbG9hdHMsIGFuZCBwYXNzZXMgdGhlbSB0byB0aGUgSW50ZWdlckZvbnRNZXRyaWNzIG9iamVj
dCwgd2hpY2ggZ2V0cyBjYWNoZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxl
Rm9udERhdGEuY3BwOiBBZGFwdCBTVkcgRm9udHMgY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUgRm9u
dE1ldHJpY3Mgb2JqZWN0LCBhcyB0aGUgbV9hc2NlbnQvZXRjLi4gbWVtYmVycyBhcmUgZ29uZS4K
KyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YSk6CisgICAg
ICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6aW5pdENoYXJXaWR0aHMpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmg6IFJlbW92ZSBhc2NlbnQvZGVzY2Vu
dC9oZWlnaHQvbGluZVNwYWNpbmcvbGluZUdhcC94SGVpZ2h0L3VuaXRzUGVyRW0gYWNjZXNzb3Jz
LCBhbmQgbWVtYmVycywganVzdCBzdG9yZSBhIEZvbnRNZXRyaWNzIG9iamVjdCBhbmQgZXhwb3Nl
IGl0LgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OmZvbnRNZXRyaWNzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjphdmdDaGFyV2lkdGgpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1bVdpbi5jcHA6IFVzZSBmb250
TWV0cmljcygpIHRvIHF1ZXJ5IGZvbnQgbWV0cmljcy4KKyAgICAgICAgKFdlYkNvcmU6OlRyYW5z
cGFyZW5jeUF3YXJlRm9udFBhaW50ZXI6OlRyYW5zcGFyZW5jeUF3YXJlR2x5cGhQYWludGVyOjpl
c3RpbWF0ZVRleHRCb3VuZHMpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNwYXJlbmN5QXdhcmVG
b250UGFpbnRlcjo6VHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50ZXI6OmRyYXdHbHlwaHMpOgor
ICAgICAgICAoV2ViQ29yZTo6VHJhbnNwYXJlbmN5QXdhcmVGb250UGFpbnRlcjo6VHJhbnNwYXJl
bmN5QXdhcmVVbmlzY3JpYmVQYWludGVyOjplc3RpbWF0ZVRleHRCb3VuZHMpOgorICAgICAgICAo
V2ViQ29yZTo6Rm9udDo6ZHJhd0NvbXBsZXhUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNwcDogQWRhcHQgcGxhdGZv
cm0gY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUgRm9udE1ldHJpY3Mgb2JqZWN0LgorICAgICAgICAo
V2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFMaW51eC5jcHA6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vVW5pc2NyaWJlSGVscGVyVGV4dFJ1bi5jcHA6IFVz
ZSBmb250TWV0cmljcygpIHRvIHF1ZXJ5IGZvbnQgbWV0cmljcy4KKyAgICAgICAgKFdlYkNvcmU6
OlVuaXNjcmliZUhlbHBlclRleHRSdW46OlVuaXNjcmliZUhlbHBlclRleHRSdW4pOgorICAgICAg
ICAoV2ViQ29yZTo6VW5pc2NyaWJlSGVscGVyVGV4dFJ1bjo6bmV4dFdpbkZvbnREYXRhKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1wbGVGb250RGF0YUZyZWVUeXBl
LmNwcDogQWRhcHQgcGxhdGZvcm0gY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUgRm9udE1ldHJpY3Mg
b2JqZWN0LgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvU2ltcGxlRm9udERhdGFIYWlrdS5j
cHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5p
dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21wbGV4VGV4dE1hYy5j
cHA6IFVzZSBmb250TWV0cmljcygpIHRvIHF1ZXJ5IGZvbnQgbWV0cmljcy4KKyAgICAgICAgKFdl
YkNvcmU6OkZvbnQ6OmZsb2F0V2lkdGhGb3JDb21wbGV4VGV4dCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW06IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6c2hv
d0dseXBoc1dpdGhBZHZhbmNlcyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1Np
bXBsZUZvbnREYXRhTWFjLm1tOiBBZGFwdCBwbGF0Zm9ybSBjb2RlLCB0byBpbml0aWFsaXplIHRo
ZSBGb250TWV0cmljcyBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6
cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9y
bUNoYXJXaWR0aEluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1NpbXBs
ZUZvbnREYXRhUGFuZ28uY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnRE
YXRhOjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBs
ZUZvbnREYXRhUXQuY3BwOiBEaXR0by4gKCsgU3dpdGNoIHRvIFFGb250TWV0cmljc0YgdG8gZ2V0
IGZsb2F0aW5nLXBvaW50IGFjY3VyYW5jeS4pCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250
RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9u
dENHV2luLmNwcDogVXNlIGZvbnRNZXRyaWNzKCkgdG8gcXVlcnkgZm9udCBtZXRyaWNzLgorICAg
ICAgICAoV2ViQ29yZTo6ZHJhd0dESUdseXBocyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL0ZvbnRXaW4uY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmZsb2F0
V2lkdGhGb3JDb21wbGV4VGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1Np
bXBsZUZvbnREYXRhQ0dXaW4uY3BwOiBBZGFwdCBwbGF0Zm9ybSBjb2RlLCB0byBpbml0aWFsaXpl
IHRoZSBGb250TWV0cmljcyBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0
YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0
Zm9ybUJvdW5kc0ZvckdseXBoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vU2lt
cGxlRm9udERhdGFDYWlyb1dpbi5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxl
Rm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1NpbXBsZUZvbnREYXRhV2luLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVG
b250RGF0YTo6aW5pdEdESUZvbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbmNl
L0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcDogVXNlIGZvbnRNZXRyaWNzKCkgdG8gcXVlcnkgZm9u
dCBtZXRyaWNzLgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpkcmF3VGV4dCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2ltcGxlRm9udERhdGFXaW5DRS5j
cHA6IEFkYXB0IHBsYXRmb3JtIGNvZGUsIHRvIGluaXRpYWxpemUgdGhlIEZvbnRNZXRyaWNzIG9i
amVjdC4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3d4L1NpbXBsZUZvbnREYXRhV3guY3BwOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgorICAg
ICAgICAqIHJlbmRlcmluZy9FbGxpcHNpc0JveC5jcHA6IFVzZSBzdHlsZS0+Zm9udE1ldHJpY3Mo
KSBpbnN0ZWFkIG9mIHN0eWxlLT5mb250KCkgdG8gYWNjZXNzIHRoZSBtZXRyaWNzLgorICAgICAg
ICAoV2ViQ29yZTo6RWxsaXBzaXNCb3g6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OkVsbGlw
c2lzQm94Ojpub2RlQXRQb2ludCk6CisgICAgICAgICogcmVuZGVyaW5nL0lubGluZUJveC5jcHA6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lQm94Ojpsb2dpY2FsSGVpZ2h0KToKKyAg
ICAgICAgKiByZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHA6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6dmVydGljYWxQb3NpdGlvbkZvckJveCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVG
bG93Qm94Ojpjb21wdXRlTG9naWNhbEJveEhlaWdodHMpOgorICAgICAgICAoV2ViQ29yZTo6SW5s
aW5lRmxvd0JveDo6cGxhY2VCb3hlc0luQmxvY2tEaXJlY3Rpb24pOgorICAgICAgICAqIHJlbmRl
cmluZy9JbmxpbmVUZXh0Qm94LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVU
ZXh0Qm94OjpwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpwYWludERl
Y29yYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnRTcGVsbGlu
Z09yR3JhbW1hck1hcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpwYWlu
dENvbXBvc2l0aW9uVW5kZXJsaW5lKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpiYXNlbGluZVBvc2l0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpmaXJzdExpbmVCb3hCYXNlbGlu
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bGFzdExpbmVCb3hCYXNlbGluZSk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQm94Ojpsb2NhbENhcmV0UmVjdCk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckVtYmVkZGVkT2JqZWN0LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJF
bWJlZGRlZE9iamVjdDo6cGFpbnRSZXBsYWNlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6c2V0SW1h
Z2VTaXplRm9yQWx0VGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6cGFpbnRS
ZXBsYWNlZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHA6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW5saW5lOjpiYXNlbGluZVBvc2l0aW9uKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGlzdEJveDo6cGFpbnRJdGVtRm9yZWdyb3VuZCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMaXN0Qm94OjppdGVtSGVpZ2h0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGlzdE1hcmtlci5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtl
cjo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6bGF5b3V0KToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RNYXJrZXI6OmNvbXB1dGVQcmVmZXJyZWRMb2dp
Y2FsV2lkdGhzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZU1h
cmdpbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6Z2V0UmVsYXRpdmVN
YXJrZXJSZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwOiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sOjpwYWludFBsYWNlaG9s
ZGVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNw
cDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6
OmNyZWF0ZUlubmVyVGV4dFN0eWxlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVX
aW4uY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lV2luOjphZGp1c3RN
ZW51TGlzdEJ1dHRvblN0eWxlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaDogQWRkICJjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MoKSBjb25zdCIgYWNjZXNz
b3IuCisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6Zm9udE1ldHJpY3MpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5oZXJpdGVkRmxhZ3M6OmNvbXB1dGVkTGluZUhlaWdodCk6CisgICAg
ICAgICogcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNwcDogVXNlIHN0eWxlLT5m
b250TWV0cmljcygpIGluc3RlYWQgb2Ygc3R5bGUtPmZvbnQoKSB0byBhY2Nlc3MgdGhlIG1ldHJp
Y3MuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdJbmxpbmVUZXh0Ojpwb3NpdGlvbkZvclBv
aW50KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OnNlbGVjdGlvblJlY3RGb3JU
ZXh0RnJhZ21lbnQpOgorICAgICAgICAoV2ViQ29yZTo6cG9zaXRpb25PZmZzZXRGb3JEZWNvcmF0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlv
bldpdGhTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbmxpbmVUZXh0Qm94OjpwYWludFRl
eHRXaXRoU2hhZG93cyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdJbmxpbmVUZXh0Qm94OjpjYWxj
dWxhdGVCb3VuZGFyaWVzKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRF
bmdpbmVCYXNlbGluZS5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dExheW91
dEVuZ2luZUJhc2VsaW5lOjpjYWxjdWxhdGVCYXNlbGluZVNoaWZ0KToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2FsY3VsYXRlQWxpZ25tZW50QmFzZWxp
bmVTaGlmdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmU6
OmNhbGN1bGF0ZUdseXBoQWR2YW5jZUFuZE9yaWVudGF0aW9uKToKKyAgICAgICAgKiByZW5kZXJp
bmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmNwcDogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZzo6Y2FsY3VsYXRlU1ZHS2VybmluZyk6
CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TWV0cmljcy5jcHA6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHVGV4dE1ldHJpY3M6OlNWR1RleHRNZXRyaWNzKToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3ZnL1NWR1RleHRRdWVyeS5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6Y2FsY3VsYXRlR2x5cGhCb3VuZGFyaWVzKToKKyAgICAgICAgKiBzdmcvU1ZHRm9udEZhY2VF
bGVtZW50LmNwcDogCisgICAgICAgIChXZWJDb3JlOjpTVkdGb250RmFjZUVsZW1lbnQ6OnVuaXRz
UGVyRW0pOiBSZW5hbWUgZGVmYXVsdFVuaXRzUGVyRW0gZ2xvYmFsIHRvIGdEZWZhdWx0VW5pdHNQ
ZXJFbS4KKyAgICAgICAgKiBzdmcvU1ZHTGVuZ3RoLmNwcDogVXNlIHN0eWxlLT5mb250TWV0cmlj
cygpIGluc3RlYWQgb2Ygc3R5bGUtPmZvbnQoKSB0byBhY2Nlc3MgdGhlIG1ldHJpY3MuCisgICAg
ICAgIChXZWJDb3JlOjpTVkdMZW5ndGg6OmNvbnZlcnRWYWx1ZUZyb21Vc2VyVW5pdHNUb0VYUyk6
CisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGg6OmNvbnZlcnRWYWx1ZUZyb21FWFNUb1VzZXJV
bml0cyk6CisKIDIwMTAtMTItMjUgIFBldGVyIFJ5YmluICA8cGV0ZXIucnliaW5AZ21haWwuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCkluZGV4OiBXZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9u
IDc0NjY1KQorKysgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAtMjQw
NSw2ICsyNDA1LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRGYW1pbHkuaCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFz
dFBhdGguY3BwIFwKIAlXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaCBcCisJV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oIFwKIAlXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnRPcmllbnRhdGlvbi5oIFwKIAlXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRSZW5kZXJpbmdNb2RlLmggXAogCVdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNlbGVj
dG9yLmggXApJbmRleDogV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9XZWJDb3JlLmd5cGkJ
KHdvcmtpbmcgY29weSkKQEAgLTI5MTAsNiArMjkxMCw3IEBACiAgICAgICAgICAgICAncGxhdGZv
cm0vZ3JhcGhpY3MvRm9udEZhbWlseS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRGYW1pbHkuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
c3RQYXRoLmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udE1ldHJpY3Mu
aCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udFJlbmRlcmluZ01vZGUuaCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNlbGVjdG9yLmgnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRTbW9vdGhpbmdNb2RlLmgnLApJbmRleDogV2Vi
Q29yZS9XZWJDb3JlLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUucHJvCShyZXZp
c2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvV2ViQ29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTIx
MTMsNiArMjExMyw3IEBAIEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRE
YXRhLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnREZXNjcmlwdGlvbi5oIFwKICAgICBw
bGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5LmggXAorICAgIHBsYXRmb3JtL2dyYXBoaWNzL0Zv
bnRNZXRyaWNzLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaCBcCiAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvR2VuZXJhdGVkSW1hZ2UuaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
ZGllbnQuaCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlz
aW9uIDc0NjY1KQorKysgV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29y
a2luZyBjb3B5KQpAQCAtMjYzODEsNiArMjYzODEsMTAgQEAKIAkJCQkJPgogCQkJCTwvRmlsZT4K
IAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEZvbnRN
ZXRyaWNzLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGb250UmVuZGVyaW5nTW9kZS5oIgogCQkJCQk+CiAJ
CQkJPC9GaWxlPgpJbmRleDogV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEwNyw2ICsxMDcsNyBAQAogCQkwODNEQUVBNzBG
MDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4M0RBRUEzMEYwMUE3RkIwMDM0
Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5oICovOyB9OwogCQkwODNEQUVBODBG
MDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4M0RBRUE0MEYwMUE3RkIw
MDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwICovOyB9OwogCQkwODNE
QUVBOTBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODNEQUVBNTBGMDFB
N0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmggKi87IH07CisJCTA4
NDU2ODA4MTJCOTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0NTY4MDcxMkI5MERBNjAwOTYwQTlGIC8q
IEZvbnRNZXRyaWNzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJMDg0QTA4MjkxMjhENzg2NzAwMkRCMUYxIC8qIFNWR1BhdGhTZWdMaXN0UHJvcGVy
dHlUZWFyT2ZmLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwODRBMDgyODEyOEQ3ODY3MDAyREIxRjEgLyogU1ZHUGF0aFNlZ0xpc3RQcm9wZXJ0eVRlYXJP
ZmYuaCAqLzsgfTsKIAkJMDg0QUVCRTQwRkI1MDVGQTAwMzg0ODNFIC8qIFNlbGVjdEVsZW1lbnQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0QUVC
RTIwRkI1MDVGQTAwMzg0ODNFIC8qIFNlbGVjdEVsZW1lbnQuY3BwICovOyB9OwogCQkwODRBRUJF
NTBGQjUwNUZBMDAzODQ4M0UgLyogU2VsZWN0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0QUVCRTMwRkI1MDVGQTAwMzg0ODNFIC8qIFNl
bGVjdEVsZW1lbnQuaCAqLzsgfTsKQEAgLTYzNjksNiArNjM3MCw3IEBACiAJCTA4M0RBRUEzMEYw
MUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODNEQUVBNDBGMDFBN0ZCMDAzNDI3NTQgLyogUmVu
ZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTA4M0RBRUE1MEYwMUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29u
dHJvbFNpbmdsZUxpbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVy
VGV4dENvbnRyb2xTaW5nbGVMaW5lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTA4
NDU2ODA3MTJCOTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBGb250TWV0cmljcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkwODRBMDgyODEyOEQ3ODY3MDAyREIxRjEgLyogU1ZHUGF0aFNlZ0xpc3RQcm9wZXJ0eVRl
YXJPZmYuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGF0aFNlZ0xpc3RQ
cm9wZXJ0eVRlYXJPZmYuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg0QUVCRTIw
RkI1MDVGQTAwMzg0ODNFIC8qIFNlbGVjdEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gU2VsZWN0RWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTA4NEFFQkUzMEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxlY3RFbGVtZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNlbGVjdEVsZW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3MjMyLDYgKzE3MjM0LDcgQEAKIAkJCQlCMkMzREE1ODBE
MDA2Q0Q2MDBFRjZGMjYgLyogRm9udEZhbWlseS5jcHAgKi8sCiAJCQkJQjJDM0RBNTkwRDAwNkNE
NjAwRUY2RjI2IC8qIEZvbnRGYW1pbHkuaCAqLywKIAkJCQk3MjYyNkUwMTBFRjAyMkZFMDBBMDdF
MjAgLyogRm9udEZhc3RQYXRoLmNwcCAqLywKKwkJCQkwODQ1NjgwNzEyQjkwREE2MDA5NjBBOUYg
LyogRm9udE1ldHJpY3MuaCAqLywKIAkJCQlGN0EwMzRDMzEyNkJGNkJFMDA3REMxOUUgLyogRm9u
dE9yaWVudGF0aW9uLmggKi8sCiAJCQkJMzdBQ0NFNDEwREEyOTgwRjAwODlFNjAyIC8qIEZvbnRS
ZW5kZXJpbmdNb2RlLmggKi8sCiAJCQkJQjJDM0RBNUEwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnRT
ZWxlY3Rvci5oICovLApAQCAtMjIxMzQsNiArMjIxMzcsNyBAQAogCQkJCTkzRjE5OUVEMDgyNDVF
NTkwMDFFOUFCQyAvKiBYU0xUUHJvY2Vzc29yLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUJFNTEy
RTBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5N0RENEQ4NzBGREY0RDZFMDBFQ0Y5QTQgLyogWFNTQXVkaXRvci5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMDg0NTY4MDgxMkI5MERBNjAwOTYwQTlGIC8qIEZvbnRNZXRyaWNzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0OTlCM0VDNTEyOENDQzQ3MDBFNzI2QzIgLyogUGxhdGZvcm1DQUxheWVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0OTlCM0VENzEyOENEMzE0MDBFNzI2QzIgLyogR3JhcGhpY3NM
YXllckNBLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTlCM0VERDEyOERCNTAyMDBFNzI2QzIgLyog
UGxhdGZvcm1DQUFuaW1hdGlvbi5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBXZWJDb3JlL2FjY2Vz
c2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
QXRrLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0Fj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIxMSw4
ICsxMjExLDggQEAgc3RhdGljIGludCBiYXNlbGluZVBvc2l0aW9uRm9yQWNjZXNzaWJpbAogICAg
IC8vIEZJWE1FOiBUaGlzIGltcGxlbWVudGF0aW9uIG9mIGJhc2VsaW5lUG9zaXRpb24gb3JpZ2lu
YXRlcyBmcm9tIFJlbmRlck9iamVjdC5jcHAgYW5kIHdhcwogICAgIC8vIHJlbW92ZWQgaW4gcjcw
MDcyLiBUaGUgaW1wbGVtZW50YXRpb24gbG9va3MgaW5jb3JyZWN0IHRob3VnaCwgYmVjYXVzZSB0
aGlzIGlzIG5vdCB0aGUKICAgICAvLyBiYXNlbGluZSBvZiB0aGUgdW5kZXJseWluZyBSZW5kZXJP
YmplY3QsIGJ1dCBvZiB0aGUgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC4KLSAgICBjb25zdCBG
b250JiBmID0gcmVuZGVyT2JqZWN0LT5maXJzdExpbmVTdHlsZSgpLT5mb250KCk7Ci0gICAgcmV0
dXJuIGYuYXNjZW50KCkgKyAocmVuZGVyT2JqZWN0LT5maXJzdExpbmVTdHlsZSgpLT5jb21wdXRl
ZExpbmVIZWlnaHQoKSAtIGYuaGVpZ2h0KCkpIC8gMjsKKyAgICBjb25zdCBGb250TWV0cmljcyYg
Zm9udE1ldHJpY3MgPSByZW5kZXJPYmplY3QtPmZpcnN0TGluZVN0eWxlKCktPmZvbnRNZXRyaWNz
KCk7CisgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmFzY2VudCgpICsgKHJlbmRlck9iamVjdC0+Zmly
c3RMaW5lU3R5bGUoKS0+Y29tcHV0ZWRMaW5lSGVpZ2h0KCkgLSBmb250TWV0cmljcy5oZWlnaHQo
KSkgLyAyOwogfQogCiBzdGF0aWMgQXRrQXR0cmlidXRlU2V0KiBnZXRBdHRyaWJ1dGVTZXRGb3JB
Y2Nlc3NpYmlsaXR5T2JqZWN0KGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCkKSW5k
ZXg6IFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29y
ZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDAsNyArNDAw
LDcgQEAgZG91YmxlIENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoRAogICAgICAgICAg
ICAgLy8gV2UgcmVhbGx5IG5lZWQgdG8gY29tcHV0ZSBFWCB1c2luZyBmb250TWV0cmljcyBmb3Ig
dGhlIG9yaWdpbmFsIHNwZWNpZmllZFNpemUgYW5kIG5vdCB1c2UKICAgICAgICAgICAgIC8vIG91
ciBhY3R1YWwgY29uc3RydWN0ZWQgcmVuZGVyaW5nIGZvbnQuCiAgICAgICAgICAgICBhcHBseVpv
b21NdWx0aXBsaWVyID0gZmFsc2U7Ci0gICAgICAgICAgICBmYWN0b3IgPSBzdHlsZS0+Zm9udCgp
LnhIZWlnaHQoKTsKKyAgICAgICAgICAgIGZhY3RvciA9IHN0eWxlLT5mb250TWV0cmljcygpLnhI
ZWlnaHQoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENTU19SRU1TOgogICAg
ICAgICAgICAgYXBwbHlab29tTXVsdGlwbGllciA9IGZhbHNlOwpJbmRleDogV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAkocmV2aXNpb24gNzQ2
NjUpCisrKyBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE3NjAsNiArMTc2MCw3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEOjpkcmF3VGV4dEkKICAgICAgICAgcmV0dXJuOwogCiAgICAgY29uc3QgRm9udCYg
Zm9udCA9IGFjY2Vzc0ZvbnQoKTsKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3Mg
PSBmb250LmZvbnRNZXRyaWNzKCk7CiAKICAgICAvLyBGSVhNRTogSGFuZGxlIG1heFdpZHRoLgog
ICAgIC8vIEZJWE1FOiBOZWVkIHRvIHR1cm4gb2ZmIGZvbnQgc21vb3RoaW5nLgpAQCAtMTc3Nywx
NCArMTc3OCwxNCBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJCiAg
ICAgc3dpdGNoIChzdGF0ZSgpLm1fdGV4dEJhc2VsaW5lKSB7CiAgICAgY2FzZSBUb3BUZXh0QmFz
ZWxpbmU6CiAgICAgY2FzZSBIYW5naW5nVGV4dEJhc2VsaW5lOgotICAgICAgICBsb2NhdGlvbi5z
ZXRZKHkgKyBmb250LmFzY2VudCgpKTsKKyAgICAgICAgbG9jYXRpb24uc2V0WSh5ICsgZm9udE1l
dHJpY3MuYXNjZW50KCkpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEJvdHRvbVRleHRCYXNl
bGluZToKICAgICBjYXNlIElkZW9ncmFwaGljVGV4dEJhc2VsaW5lOgotICAgICAgICBsb2NhdGlv
bi5zZXRZKHkgLSBmb250LmRlc2NlbnQoKSk7CisgICAgICAgIGxvY2F0aW9uLnNldFkoeSAtIGZv
bnRNZXRyaWNzLmRlc2NlbnQoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgTWlkZGxlVGV4
dEJhc2VsaW5lOgotICAgICAgICBsb2NhdGlvbi5zZXRZKHkgLSBmb250LmRlc2NlbnQoKSArIGZv
bnQuaGVpZ2h0KCkgLyAyKTsKKyAgICAgICAgbG9jYXRpb24uc2V0WSh5IC0gZm9udE1ldHJpY3Mu
ZGVzY2VudCgpICsgZm9udE1ldHJpY3MuaGVpZ2h0KCkgLyAyKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBBbHBoYWJldGljVGV4dEJhc2VsaW5lOgogICAgIGRlZmF1bHQ6CkBAIC0xODEyLDgg
KzE4MTMsOCBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJCiAgICAg
fQogCiAgICAgLy8gVGhlIHNsb3AgYnVpbHQgaW4gdG8gdGhpcyBtYXNrIHJlY3QgbWF0Y2hlcyB0
aGUgaGV1cmlzdGljIHVzZWQgaW4gRm9udENHV2luLmNwcCBmb3IgR0RJIHRleHQuCi0gICAgRmxv
YXRSZWN0IHRleHRSZWN0ID0gRmxvYXRSZWN0KGxvY2F0aW9uLngoKSAtIGZvbnQuaGVpZ2h0KCkg
LyAyLCBsb2NhdGlvbi55KCkgLSBmb250LmFzY2VudCgpIC0gZm9udC5saW5lR2FwKCksCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoICsgZm9udC5oZWlnaHQoKSwgZm9u
dC5saW5lU3BhY2luZygpKTsKKyAgICBGbG9hdFJlY3QgdGV4dFJlY3QgPSBGbG9hdFJlY3QobG9j
YXRpb24ueCgpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkgLyAyLCBsb2NhdGlvbi55KCkgLSBmb250
TWV0cmljcy5hc2NlbnQoKSAtIGZvbnRNZXRyaWNzLmxpbmVHYXAoKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgd2lkdGggKyBmb250TWV0cmljcy5oZWlnaHQoKSwgZm9udE1l
dHJpY3MubGluZVNwYWNpbmcoKSk7CiAgICAgaWYgKCFmaWxsKQogICAgICAgICB0ZXh0UmVjdC5p
bmZsYXRlKGMtPnN0cm9rZVRoaWNrbmVzcygpIC8gMik7CiAKSW5kZXg6IFdlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzY2
LDcgKzE3NjYsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRyYXdFbGVtZW50VGl0CiAg
ICAgY29udGV4dC5zZXRGaWxsQ29sb3IodG9vbHRpcEJhY2tncm91bmRDb2xvciwgQ29sb3JTcGFj
ZURldmljZVJHQik7CiAgICAgY29udGV4dC5kcmF3UmVjdCh0aXRsZVJlY3QpOwogICAgIGNvbnRl
eHQuc2V0RmlsbENvbG9yKHRvb2x0aXBGb250Q29sb3IsIENvbG9yU3BhY2VEZXZpY2VSR0IpOwot
ICAgIGNvbnRleHQuZHJhd1RleHQoZm9udCwgbm9kZVRpdGxlUnVuLCBJbnRQb2ludCh0aXRsZVJl
Y3QueCgpICsgcmVjdEluZmxhdGVQeCwgdGl0bGVSZWN0LnkoKSArIGZvbnQuaGVpZ2h0KCkpKTsK
KyAgICBjb250ZXh0LmRyYXdUZXh0KGZvbnQsIG5vZGVUaXRsZVJ1biwgSW50UG9pbnQodGl0bGVS
ZWN0LngoKSArIHJlY3RJbmZsYXRlUHgsIHRpdGxlUmVjdC55KCkgKyBmb250LmZvbnRNZXRyaWNz
KCkuaGVpZ2h0KCkpKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpvcGVuSW5JbnNw
ZWN0ZWRXaW5kb3coY29uc3QgU3RyaW5nJiB1cmwpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2No
cm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBX
ZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTU5LDcgKzk1OSw3IEBAIHZvaWQgUG9wdXBMaXN0Qm94OjpwYWludFJvdyhHcmFw
aGljc0NvbnQKICAgICAgICAgdGV4dFggKz0gbWF4V2lkdGggLSBpdGVtRm9udC53aWR0aCh0ZXh0
UnVuKTsKIAogICAgIC8vIERyYXcgdGhlIGl0ZW0gdGV4dC4KLSAgICBpbnQgdGV4dFkgPSByb3dS
ZWN0LnkoKSArIGl0ZW1Gb250LmFzY2VudCgpICsgKHJvd1JlY3QuaGVpZ2h0KCkgLSBpdGVtRm9u
dC5oZWlnaHQoKSkgLyAyOworICAgIGludCB0ZXh0WSA9IHJvd1JlY3QueSgpICsgaXRlbUZvbnQu
Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSArIChyb3dSZWN0LmhlaWdodCgpIC0gaXRlbUZvbnQuZm9u
dE1ldHJpY3MoKS5oZWlnaHQoKSkgLyAyOwogICAgIGdjLT5kcmF3QmlkaVRleHQoaXRlbUZvbnQs
IHRleHRSdW4sIEludFBvaW50KHRleHRYLCB0ZXh0WSkpOwogCiAgICAgLy8gV2UgYXJlIHVzaW5n
IHRoZSBsZWZ0IHBhZGRpbmcgYXMgdGhlIHJpZ2h0IHBhZGRpbmcgaW5jbHVkZXMgcm9vbSBmb3Ig
dGhlIHNjcm9sbC1iYXIgd2hpY2gKQEAgLTEwOTksNyArMTA5OSw3IEBAIGludCBQb3B1cExpc3RC
b3g6OmdldFJvd0hlaWdodChpbnQgaW5kZXgKICAgICBTdHJpbmcgaWNvbiA9IG1fcG9wdXBDbGll
bnQtPml0ZW1JY29uKGluZGV4KTsKICAgICBSZWZQdHI8SW1hZ2U+IGltYWdlKEltYWdlOjpsb2Fk
UGxhdGZvcm1SZXNvdXJjZShpY29uLnV0ZjgoKS5kYXRhKCkpKTsKIAotICAgIGludCBmb250SGVp
Z2h0ID0gZ2V0Um93Rm9udChpbmRleCkuaGVpZ2h0KCk7CisgICAgaW50IGZvbnRIZWlnaHQgPSBn
ZXRSb3dGb250KGluZGV4KS5mb250TWV0cmljcygpLmhlaWdodCgpOwogICAgIGludCBpY29uSGVp
Z2h0ID0gKGltYWdlICYmICFpbWFnZS0+aXNOdWxsKCkpID8gaW1hZ2UtPnJlY3QoKS5oZWlnaHQo
KSA6IDA7CiAKICAgICByZXR1cm4gbWF4KGZvbnRIZWlnaHQsIGljb25IZWlnaHQpOwpJbmRleDog
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250LmgJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDcgKzQ0LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRmxvYXRQb2ludDsKIGNsYXNzIEZsb2F0UmVjdDsKIGNs
YXNzIEZvbnREYXRhOwotY2xhc3MgRm9udEZhbGxiYWNrTGlzdDsKK2NsYXNzIEZvbnRNZXRyaWNz
OwogY2xhc3MgRm9udFBsYXRmb3JtRGF0YTsKIGNsYXNzIEZvbnRTZWxlY3RvcjsKIGNsYXNzIEds
eXBoQnVmZmVyOwpAQCAtNTQsOCArNTQsNiBAQCBjbGFzcyBTVkdGb250RWxlbWVudDsKIAogc3Ry
dWN0IEdseXBoRGF0YTsKIAotY29uc3QgdW5zaWduZWQgZGVmYXVsdFVuaXRzUGVyRW0gPSAxMDAw
OwotCiBzdHJ1Y3QgR2x5cGhPdmVyZmxvdyB7CiAgICAgR2x5cGhPdmVyZmxvdygpCiAgICAgICAg
IDogbGVmdCgwKQpAQCAtMTI4LDEzICsxMjYsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1BsYXRm
b3JtRm9udCgpIGNvbnN0IHsgcmV0dXJuIG1faXNQbGF0Zm9ybUZvbnQ7IH0KIAogICAgIC8vIE1l
dHJpY3MgdGhhdCB3ZSBxdWVyeSB0aGUgRm9udEZhbGxiYWNrTGlzdCBmb3IuCi0gICAgaW50IGFz
Y2VudChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBjb25z
dCB7IHJldHVybiBwcmltYXJ5Rm9udCgpLT5hc2NlbnQoYmFzZWxpbmVUeXBlKTsgfQotICAgIGlu
dCBkZXNjZW50KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUp
IGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmRlc2NlbnQoYmFzZWxpbmVUeXBlKTsgfQot
ICAgIGludCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBhc2NlbnQoKSArIGRlc2NlbnQoKTsgfQot
ICAgIGludCBsaW5lU3BhY2luZygpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmxpbmVT
cGFjaW5nKCk7IH0KLSAgICBpbnQgbGluZUdhcCgpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250
KCktPmxpbmVHYXAoKTsgfQotICAgIGZsb2F0IHhIZWlnaHQoKSBjb25zdCB7IHJldHVybiBwcmlt
YXJ5Rm9udCgpLT54SGVpZ2h0KCk7IH0KLSAgICB1bnNpZ25lZCB1bml0c1BlckVtKCkgY29uc3Qg
eyByZXR1cm4gcHJpbWFyeUZvbnQoKS0+dW5pdHNQZXJFbSgpOyB9CisgICAgY29uc3QgRm9udE1l
dHJpY3MmIGZvbnRNZXRyaWNzKCkgY29uc3QgeyByZXR1cm4gcHJpbWFyeUZvbnQoKS0+Zm9udE1l
dHJpY3MoKTsgfQogICAgIGludCBzcGFjZVdpZHRoKCkgY29uc3QgeyByZXR1cm4gKGludCljZWls
ZihwcmltYXJ5Rm9udCgpLT5hZGp1c3RlZFNwYWNlV2lkdGgoKSArIG1fbGV0dGVyU3BhY2luZyk7
IH0KICAgICBmbG9hdCB0YWJXaWR0aChjb25zdCBTaW1wbGVGb250RGF0YSYgZm9udERhdGEpIGNv
bnN0IHsgcmV0dXJuIDggKiBjZWlsZihmb250RGF0YS5hZGp1c3RlZFNwYWNlV2lkdGgoKSArIGxl
dHRlclNwYWNpbmcoKSk7IH0KICAgICBpbnQgZW1waGFzaXNNYXJrQXNjZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYpIGNvbnN0OwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFz
dFBhdGguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
c3RQYXRoLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRGYXN0UGF0aC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0MSw3ICsyNDEsNyBAQCBpbnQg
Rm9udDo6ZW1waGFzaXNNYXJrQXNjZW50KGNvbnN0IEF0b21pCiAgICAgaWYgKCFtYXJrRm9udERh
dGEpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIG1hcmtGb250RGF0YS0+YXNjZW50
KCk7CisgICAgcmV0dXJuIG1hcmtGb250RGF0YS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKTsKIH0K
IAogaW50IEZvbnQ6OmVtcGhhc2lzTWFya0Rlc2NlbnQoY29uc3QgQXRvbWljU3RyaW5nJiBtYXJr
KSBjb25zdApAQCAtMjU1LDcgKzI1NSw3IEBAIGludCBGb250OjplbXBoYXNpc01hcmtEZXNjZW50
KGNvbnN0IEF0b20KICAgICBpZiAoIW1hcmtGb250RGF0YSkKICAgICAgICAgcmV0dXJuIDA7CiAK
LSAgICByZXR1cm4gbWFya0ZvbnREYXRhLT5kZXNjZW50KCk7CisgICAgcmV0dXJuIG1hcmtGb250
RGF0YS0+Zm9udE1ldHJpY3MoKS5kZXNjZW50KCk7CiB9CiAKIGludCBGb250OjplbXBoYXNpc01h
cmtIZWlnaHQoY29uc3QgQXRvbWljU3RyaW5nJiBtYXJrKSBjb25zdApAQCAtMjY5LDcgKzI2OSw3
IEBAIGludCBGb250OjplbXBoYXNpc01hcmtIZWlnaHQoY29uc3QgQXRvbWkKICAgICBpZiAoIW1h
cmtGb250RGF0YSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICByZXR1cm4gbWFya0ZvbnREYXRh
LT5oZWlnaHQoKTsKKyAgICByZXR1cm4gbWFya0ZvbnREYXRhLT5mb250TWV0cmljcygpLmhlaWdo
dCgpOwogfQogCiBmbG9hdCBGb250OjpnZXRHbHlwaHNBbmRBZHZhbmNlc0ZvclNpbXBsZVRleHQo
Y29uc3QgVGV4dFJ1biYgcnVuLCBpbnQgZnJvbSwgaW50IHRvLCBHbHlwaEJ1ZmZlciYgZ2x5cGhC
dWZmZXIsIEZvclRleHRFbXBoYXNpc09yTm90IGZvclRleHRFbXBoYXNpcykgY29uc3QKQEAgLTQw
Myw4ICs0MDMsOCBAQCBmbG9hdCBGb250OjpmbG9hdFdpZHRoRm9yU2ltcGxlVGV4dChjb25zCiAg
ICAgaXQuYWR2YW5jZShydW4ubGVuZ3RoKCksIGdseXBoQnVmZmVyKTsKIAogICAgIGlmIChnbHlw
aE92ZXJmbG93KSB7Ci0gICAgICAgIGdseXBoT3ZlcmZsb3ctPnRvcCA9IG1heDxpbnQ+KGdseXBo
T3ZlcmZsb3ctPnRvcCwgY2VpbGYoLWl0Lm1pbkdseXBoQm91bmRpbmdCb3hZKCkpIC0gYXNjZW50
KCkpOwotICAgICAgICBnbHlwaE92ZXJmbG93LT5ib3R0b20gPSBtYXg8aW50PihnbHlwaE92ZXJm
bG93LT5ib3R0b20sIGNlaWxmKGl0Lm1heEdseXBoQm91bmRpbmdCb3hZKCkpIC0gZGVzY2VudCgp
KTsKKyAgICAgICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4PGludD4oZ2x5cGhPdmVyZmxvdy0+
dG9wLCBjZWlsZigtaXQubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSBmb250TWV0cmljcygpLmFz
Y2VudCgpKTsKKyAgICAgICAgZ2x5cGhPdmVyZmxvdy0+Ym90dG9tID0gbWF4PGludD4oZ2x5cGhP
dmVyZmxvdy0+Ym90dG9tLCBjZWlsZihpdC5tYXhHbHlwaEJvdW5kaW5nQm94WSgpKSAtIGZvbnRN
ZXRyaWNzKCkuZGVzY2VudCgpKTsKICAgICAgICAgZ2x5cGhPdmVyZmxvdy0+bGVmdCA9IGNlaWxm
KGl0LmZpcnN0R2x5cGhPdmVyZmxvdygpKTsKICAgICAgICAgZ2x5cGhPdmVyZmxvdy0+cmlnaHQg
PSBjZWlsZihpdC5sYXN0R2x5cGhPdmVyZmxvdygpKTsKICAgICB9CkluZGV4OiBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyMyBA
QAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCisgICAgYWludCB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBN
QSAwMjExMC0xMzAxLCBVU0EuCisqLworCisjaWZuZGVmIEZvbnRNZXRyaWNzX2gKKyNkZWZpbmUg
Rm9udE1ldHJpY3NfaAorCisjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjb25zdCB1bnNpZ25lZCBnRGVmYXVsdFVuaXRzUGVyRW0gPSAxMDAwOwor
CitjbGFzcyBGb250TWV0cmljcyB7CitwdWJsaWM6CisgICAgRm9udE1ldHJpY3MoKQorICAgICAg
ICA6IG1fdW5pdHNQZXJFbShnRGVmYXVsdFVuaXRzUGVyRW0pCisgICAgICAgICwgbV9hc2NlbnQo
MCkKKyAgICAgICAgLCBtX2Rlc2NlbnQoMCkKKyAgICAgICAgLCBtX2xpbmVHYXAoMCkKKyAgICAg
ICAgLCBtX2xpbmVTcGFjaW5nKDApCisgICAgICAgICwgbV94SGVpZ2h0KDApCisgICAgeworICAg
IH0KKworICAgIHVuc2lnbmVkIHVuaXRzUGVyRW0oKSBjb25zdCB7IHJldHVybiBtX3VuaXRzUGVy
RW07IH0KKyAgICB2b2lkIHNldFVuaXRzUGVyRW0odW5zaWduZWQgdW5pdHNQZXJFbSkgeyBtX3Vu
aXRzUGVyRW0gPSB1bml0c1BlckVtOyB9CisKKyAgICBmbG9hdCBmbG9hdEFzY2VudChGb250QmFz
ZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBjb25zdAorICAgIHsKKyAg
ICAgICAgaWYgKGJhc2VsaW5lVHlwZSA9PSBBbHBoYWJldGljQmFzZWxpbmUpCisgICAgICAgICAg
ICByZXR1cm4gbV9hc2NlbnQ7CisgICAgICAgIHJldHVybiBmbG9hdEhlaWdodCgpIC8gMjsKKyAg
ICB9CisKKyAgICB2b2lkIHNldEFzY2VudChmbG9hdCBhc2NlbnQpIHsgbV9hc2NlbnQgPSBhc2Nl
bnQ7IH0KKworICAgIGZsb2F0IGZsb2F0RGVzY2VudChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBl
ID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKGJhc2VsaW5l
VHlwZSA9PSBBbHBoYWJldGljQmFzZWxpbmUpCisgICAgICAgICAgICByZXR1cm4gbV9kZXNjZW50
OworICAgICAgICByZXR1cm4gZmxvYXRIZWlnaHQoKSAvIDI7CisgICAgfQorCisgICAgdm9pZCBz
ZXREZXNjZW50KGZsb2F0IGRlc2NlbnQpIHsgbV9kZXNjZW50ID0gZGVzY2VudDsgfQorCisgICAg
ZmxvYXQgZmxvYXRIZWlnaHQoRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0aWNC
YXNlbGluZSkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmbG9hdEFzY2VudChiYXNlbGlu
ZVR5cGUpICsgZmxvYXREZXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgfQorCisgICAgZmxvYXQg
ZmxvYXRMaW5lR2FwKCkgY29uc3QgeyByZXR1cm4gbV9saW5lR2FwOyB9CisgICAgdm9pZCBzZXRM
aW5lR2FwKGZsb2F0IGxpbmVHYXApIHsgbV9saW5lR2FwID0gbGluZUdhcDsgfQorCisgICAgZmxv
YXQgZmxvYXRMaW5lU3BhY2luZygpIGNvbnN0IHsgcmV0dXJuIG1fbGluZVNwYWNpbmc7IH0KKyAg
ICB2b2lkIHNldExpbmVTcGFjaW5nKGZsb2F0IGxpbmVTcGFjaW5nKSB7IG1fbGluZVNwYWNpbmcg
PSBsaW5lU3BhY2luZzsgfQorCisgICAgZmxvYXQgeEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1f
eEhlaWdodDsgfQorICAgIHZvaWQgc2V0WEhlaWdodChmbG9hdCB4SGVpZ2h0KSB7IG1feEhlaWdo
dCA9IHhIZWlnaHQ7IH0KKworICAgIC8vIEludGVnZXIgdmFyaWFudHMgb2YgY2VydGFpbiBtZXRy
aWNzLCB1c2VkIGZvciBIVE1MIHJlbmRlcmluZy4KKyAgICBpbnQgYXNjZW50KEZvbnRCYXNlbGlu
ZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0CisgICAgeworICAgICAg
ICBpZiAoYmFzZWxpbmVUeXBlID09IEFscGhhYmV0aWNCYXNlbGluZSkKKyAgICAgICAgICAgIHJl
dHVybiBscm91bmRmKG1fYXNjZW50KTsKKyAgICAgICAgcmV0dXJuIGhlaWdodCgpIC0gaGVpZ2h0
KCkgLyAyOworICAgIH0KKworICAgIGludCBkZXNjZW50KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5
cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0CisgICAgeworICAgICAgICBpZiAoYmFzZWxp
bmVUeXBlID09IEFscGhhYmV0aWNCYXNlbGluZSkKKyAgICAgICAgICAgIHJldHVybiBscm91bmRm
KG1fZGVzY2VudCk7CisgICAgICAgIHJldHVybiBoZWlnaHQoKSAvIDI7CisgICAgfQorCisgICAg
aW50IGhlaWdodChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5l
KSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGFzY2VudChiYXNlbGluZVR5cGUpICsgZGVz
Y2VudChiYXNlbGluZVR5cGUpOworICAgIH0KKworICAgIGludCBsaW5lR2FwKCkgY29uc3QgeyBy
ZXR1cm4gbHJvdW5kZihtX2xpbmVHYXApOyB9CisgICAgaW50IGxpbmVTcGFjaW5nKCkgY29uc3Qg
eyByZXR1cm4gbHJvdW5kZihtX2xpbmVTcGFjaW5nKTsgfQorCitwcml2YXRlOgorICAgIGZyaWVu
ZCBjbGFzcyBTaW1wbGVGb250RGF0YTsKKworICAgIHZvaWQgcmVzZXQoKQorICAgIHsKKyAgICAg
ICAgbV91bml0c1BlckVtID0gZ0RlZmF1bHRVbml0c1BlckVtOworICAgICAgICBtX2FzY2VudCA9
IDA7CisgICAgICAgIG1fZGVzY2VudCA9IDA7CisgICAgICAgIG1fbGluZUdhcCA9IDA7CisgICAg
ICAgIG1fbGluZVNwYWNpbmcgPSAwOworICAgICAgICBtX3hIZWlnaHQgPSAwOworICAgIH0KKwor
cHJpdmF0ZToKKyAgICB1bnNpZ25lZCBtX3VuaXRzUGVyRW07CisgICAgZmxvYXQgbV9hc2NlbnQ7
CisgICAgZmxvYXQgbV9kZXNjZW50OworICAgIGZsb2F0IG1fbGluZUdhcDsKKyAgICBmbG9hdCBt
X2xpbmVTcGFjaW5nOworICAgIGZsb2F0IG1feEhlaWdodDsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEZvbnRNZXRyaWNzX2gKSW5kZXg6IFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01MCw3ICs1MCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIFNpbXBsZUZvbnREYXRhOjpT
aW1wbGVGb250RGF0YShjb25zdCBGb250UGxhdGZvcm1EYXRhJiBwbGF0Zm9ybURhdGEsIGJvb2wg
aXNDdXN0b21Gb250LCBib29sIGlzTG9hZGluZykKICAgICA6IG1fbWF4Q2hhcldpZHRoKC0xKQog
ICAgICwgbV9hdmdDaGFyV2lkdGgoLTEpCi0gICAgLCBtX3VuaXRzUGVyRW0oZGVmYXVsdFVuaXRz
UGVyRW0pCiAgICAgLCBtX29yaWVudGF0aW9uKHBsYXRmb3JtRGF0YS5vcmllbnRhdGlvbigpKQog
ICAgICwgbV9wbGF0Zm9ybURhdGEocGxhdGZvcm1EYXRhKQogICAgICwgbV90cmVhdEFzRml4ZWRQ
aXRjaChmYWxzZSkKQEAgLTc0LDIzICs3MywyOSBAQCBTaW1wbGVGb250RGF0YTo6U2ltcGxlRm9u
dERhdGEoUGFzc093blB0CiAgICAgLCBtX2lzQnJva2VuSWRlb2dyYXBoRm9udChmYWxzZSkKIHsK
ICAgICBTVkdGb250RmFjZUVsZW1lbnQqIHN2Z0ZvbnRGYWNlRWxlbWVudCA9IG1fc3ZnRm9udERh
dGEtPnN2Z0ZvbnRGYWNlRWxlbWVudCgpOwotICAgIG1fdW5pdHNQZXJFbSA9IHN2Z0ZvbnRGYWNl
RWxlbWVudC0+dW5pdHNQZXJFbSgpOworICAgIHVuc2lnbmVkIHVuaXRzUGVyRW0gPSBzdmdGb250
RmFjZUVsZW1lbnQtPnVuaXRzUGVyRW0oKTsKIAotICAgIGRvdWJsZSBzY2FsZSA9IHNpemU7Ci0g
ICAgaWYgKG1fdW5pdHNQZXJFbSkKLSAgICAgICAgc2NhbGUgLz0gbV91bml0c1BlckVtOwotCi0g
ICAgbV9hc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KHN2Z0ZvbnRGYWNlRWxlbWVudC0+YXNjZW50
KCkgKiBzY2FsZSk7Ci0gICAgbV9kZXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50PihzdmdGb250RmFj
ZUVsZW1lbnQtPmRlc2NlbnQoKSAqIHNjYWxlKTsKLSAgICBtX3hIZWlnaHQgPSBzdGF0aWNfY2Fz
dDxpbnQ+KHN2Z0ZvbnRGYWNlRWxlbWVudC0+eEhlaWdodCgpICogc2NhbGUpOwotICAgIG1fbGlu
ZUdhcCA9IDAuMWYgKiBzaXplOwotICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1fZGVz
Y2VudCArIG1fbGluZUdhcDsKKyAgICBmbG9hdCBzY2FsZSA9IHNpemU7CisgICAgaWYgKHVuaXRz
UGVyRW0pCisgICAgICAgIHNjYWxlIC89IHVuaXRzUGVyRW07CisKKyAgICAvLyBGSVhNRTogVXNl
IGZsb2F0aW5nLXBvaW50IG1ldHJpY3MsIG5vdyB0aGF0IHRoZXkncmUgZXhwb3NlZCEKKyAgICBp
bnQgeEhlaWdodCA9IHN0YXRpY19jYXN0PGludD4oc3ZnRm9udEZhY2VFbGVtZW50LT54SGVpZ2h0
KCkgKiBzY2FsZSk7CisgICAgaW50IGFzY2VudCA9IHN0YXRpY19jYXN0PGludD4oc3ZnRm9udEZh
Y2VFbGVtZW50LT5hc2NlbnQoKSAqIHNjYWxlKTsKKyAgICBpbnQgZGVzY2VudCA9IHN0YXRpY19j
YXN0PGludD4oc3ZnRm9udEZhY2VFbGVtZW50LT5kZXNjZW50KCkgKiBzY2FsZSk7CisgICAgaW50
IGxpbmVHYXAgPSAwLjFmICogc2l6ZTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFVuaXRzUGVyRW0o
dW5pdHNQZXJFbSk7CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAgICBt
X2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoZGVzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXRM
aW5lR2FwKGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNjZW50
ICsgZGVzY2VudCArIGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh4SGVp
Z2h0KTsKIAogICAgIFNWR0ZvbnRFbGVtZW50KiBhc3NvY2lhdGVkRm9udEVsZW1lbnQgPSBzdmdG
b250RmFjZUVsZW1lbnQtPmFzc29jaWF0ZWRGb250RWxlbWVudCgpOwogCiAgICAgVmVjdG9yPFNW
R0dseXBoSWRlbnRpZmllcj4gc3BhY2VHbHlwaHM7CiAgICAgYXNzb2NpYXRlZEZvbnRFbGVtZW50
LT5nZXRHbHlwaElkZW50aWZpZXJzRm9yU3RyaW5nKFN0cmluZygiICIsIDEpLCBzcGFjZUdseXBo
cyk7Ci0gICAgbV9zcGFjZVdpZHRoID0gc3BhY2VHbHlwaHMuaXNFbXB0eSgpID8gbV94SGVpZ2h0
IDogc3RhdGljX2Nhc3Q8ZmxvYXQ+KHNwYWNlR2x5cGhzLmZpcnN0KCkuaG9yaXpvbnRhbEFkdmFu
Y2VYICogc2NhbGUpOworICAgIG1fc3BhY2VXaWR0aCA9IHNwYWNlR2x5cGhzLmlzRW1wdHkoKSA/
IHhIZWlnaHQgOiBzdGF0aWNfY2FzdDxmbG9hdD4oc3BhY2VHbHlwaHMuZmlyc3QoKS5ob3Jpem9u
dGFsQWR2YW5jZVggKiBzY2FsZSk7CiAKICAgICBWZWN0b3I8U1ZHR2x5cGhJZGVudGlmaWVyPiBu
dW1lcmFsWmVyb0dseXBoczsKICAgICBhc3NvY2lhdGVkRm9udEVsZW1lbnQtPmdldEdseXBoSWRl
bnRpZmllcnNGb3JTdHJpbmcoU3RyaW5nKCIwIiwgMSksIG51bWVyYWxaZXJvR2x5cGhzKTsKQEAg
LTk4LDcgKzEwMyw3IEBAIFNpbXBsZUZvbnREYXRhOjpTaW1wbGVGb250RGF0YShQYXNzT3duUHQK
IAogICAgIFZlY3RvcjxTVkdHbHlwaElkZW50aWZpZXI+IGxldHRlcldHbHlwaHM7CiAgICAgYXNz
b2NpYXRlZEZvbnRFbGVtZW50LT5nZXRHbHlwaElkZW50aWZpZXJzRm9yU3RyaW5nKFN0cmluZygi
VyIsIDEpLCBsZXR0ZXJXR2x5cGhzKTsKLSAgICBtX21heENoYXJXaWR0aCA9IGxldHRlcldHbHlw
aHMuaXNFbXB0eSgpID8gbV9hc2NlbnQgOiBzdGF0aWNfY2FzdDxmbG9hdD4obGV0dGVyV0dseXBo
cy5maXJzdCgpLmhvcml6b250YWxBZHZhbmNlWCAqIHNjYWxlKTsKKyAgICBtX21heENoYXJXaWR0
aCA9IGxldHRlcldHbHlwaHMuaXNFbXB0eSgpID8gYXNjZW50IDogc3RhdGljX2Nhc3Q8ZmxvYXQ+
KGxldHRlcldHbHlwaHMuZmlyc3QoKS5ob3Jpem9udGFsQWR2YW5jZVggKiBzY2FsZSk7CiAKICAg
ICAvLyBGSVhNRTogaXMgdGhlcmUgYSB3YXkgd2UgY2FuIGdldCB0aGUgc3BhY2UgZ2x5cGggZnJv
bSB0aGUgU1ZHR2x5cGhJZGVudGlmaWVyIGFib3ZlPwogICAgIG1fc3BhY2VHbHlwaCA9IDA7CkBA
IC0xMjYsMTAgKzEzMSwxMSBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjppbml0Q2hhcldpZHRocygp
CiAKICAgICAvLyBJZiB3ZSBjYW4ndCByZXRyaWV2ZSB0aGUgd2lkdGggb2YgYSAnMCcsIGZhbGwg
YmFjayB0byB0aGUgeCBoZWlnaHQuCiAgICAgaWYgKG1fYXZnQ2hhcldpZHRoIDw9IDAuZikKLSAg
ICAgICAgbV9hdmdDaGFyV2lkdGggPSBtX3hIZWlnaHQ7CisgICAgICAgIG1fYXZnQ2hhcldpZHRo
ID0gbV9mb250TWV0cmljcy54SGVpZ2h0KCk7CiAKKyAgICAvLyBGSVhNRTogVXNlIGZsb2F0aW5n
LXBvaW50IG1ldHJpY3MsIG5vdyB0aGF0IHRoZXkncmUgZXhwb3NlZCEKICAgICBpZiAobV9tYXhD
aGFyV2lkdGggPD0gMC5mKQotICAgICAgICBtX21heENoYXJXaWR0aCA9IG1heDxmbG9hdD4obV9h
dmdDaGFyV2lkdGgsIG1fYXNjZW50KTsKKyAgICAgICAgbV9tYXhDaGFyV2lkdGggPSBtYXg8Zmxv
YXQ+KG1fYXZnQ2hhcldpZHRoLCBtX2ZvbnRNZXRyaWNzLmFzY2VudCgpKTsKIH0KIAogdm9pZCBT
aW1wbGVGb250RGF0YTo6cGxhdGZvcm1HbHlwaEluaXQoKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTI2
LDYgKzI2LDcgQEAKIAogI2luY2x1ZGUgIkZvbnRCYXNlbGluZS5oIgogI2luY2x1ZGUgIkZvbnRE
YXRhLmgiCisjaW5jbHVkZSAiRm9udE1ldHJpY3MuaCIKICNpbmNsdWRlICJGb250UGxhdGZvcm1E
YXRhLmgiCiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiR2x5cGhNZXRyaWNzTWFw
LmgiCkBAIC0xMDEsMTUgKzEwMiw5IEBAIHB1YmxpYzoKICAgICAvLyBGSVhNRTogVXNlIHRoZSBh
Y3R1YWwgbWV0cmljcyBmb3IgZm9udHMgd2l0aCB2ZXJ0aWNhbCB0YWJsZXMgaW5zdGVhZCBvZiBq
dXN0IGhhcmQtY29kaW5nLiAgSWYgdGhlIGZvbnQgaXMgaG9yaXpvbnRhbGx5IG9yaWVudGVkIG9y
CiAgICAgLy8gYSBicm9rZW4gaWRlb2dyYXBoaWMgZm9udCwgdGhlbiBqdXN0IGhhcmQtY29kZSB0
byBzcGxpdCBhc2NlbnQvZGVzY2VudCBkb3duIHRoZSBtaWRkbGUuICBPdGhlcndpc2Ugd2Ugc2hv
dWxkIGFjdHVhbGx5IHVzZSB0aGUgbWV0cmljcwogICAgIC8vIGZyb20gdGhlIGZvbnQgaXRzZWxm
LgotICAgIGludCBhc2NlbnQoRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0aWNC
YXNlbGluZSkgY29uc3QgeyByZXR1cm4gYmFzZWxpbmVUeXBlID09IEFscGhhYmV0aWNCYXNlbGlu
ZSA/IG1fYXNjZW50IDogaGVpZ2h0KCkgLSBoZWlnaHQoKSAvIDI7IH0KLSAgICBpbnQgZGVzY2Vu
dChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBjb25zdCB7
IHJldHVybiBiYXNlbGluZVR5cGUgPT0gQWxwaGFiZXRpY0Jhc2VsaW5lID8gbV9kZXNjZW50IDog
aGVpZ2h0KCkgLyAyOyB9Ci0gICAgaW50IGhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1fYXNjZW50
ICsgbV9kZXNjZW50OyB9Ci0gICAgaW50IGxpbmVTcGFjaW5nKCkgY29uc3QgeyByZXR1cm4gbV9s
aW5lU3BhY2luZzsgfQotICAgIGludCBsaW5lR2FwKCkgY29uc3QgeyByZXR1cm4gbV9saW5lR2Fw
OyB9CisgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzKCkgY29uc3QgeyByZXR1cm4g
bV9mb250TWV0cmljczsgfQogICAgIGZsb2F0IG1heENoYXJXaWR0aCgpIGNvbnN0IHsgcmV0dXJu
IG1fbWF4Q2hhcldpZHRoOyB9CiAgICAgZmxvYXQgYXZnQ2hhcldpZHRoKCkgY29uc3QgeyByZXR1
cm4gbV9hdmdDaGFyV2lkdGg7IH0KLSAgICBmbG9hdCB4SGVpZ2h0KCkgY29uc3QgeyByZXR1cm4g
bV94SGVpZ2h0OyB9Ci0gICAgdW5zaWduZWQgdW5pdHNQZXJFbSgpIGNvbnN0IHsgcmV0dXJuIG1f
dW5pdHNQZXJFbTsgfQogCiAgICAgRmxvYXRSZWN0IGJvdW5kc0ZvckdseXBoKEdseXBoKSBjb25z
dDsKICAgICBmbG9hdCB3aWR0aEZvckdseXBoKEdseXBoIGdseXBoKSBjb25zdDsKQEAgLTIxMSwx
NCArMjA2LDkgQEAgcHJpdmF0ZToKICAgICBmbG9hdCB3aWR0aEZvckdESUdseXBoKEdseXBoIGds
eXBoKSBjb25zdDsKICNlbmRpZgogCi0gICAgaW50IG1fYXNjZW50OwotICAgIGludCBtX2Rlc2Nl
bnQ7Ci0gICAgaW50IG1fbGluZVNwYWNpbmc7Ci0gICAgaW50IG1fbGluZUdhcDsKKyAgICBGb250
TWV0cmljcyBtX2ZvbnRNZXRyaWNzOwogICAgIGZsb2F0IG1fbWF4Q2hhcldpZHRoOwogICAgIGZs
b2F0IG1fYXZnQ2hhcldpZHRoOwotICAgIGZsb2F0IG1feEhlaWdodDsKLSAgICB1bnNpZ25lZCBt
X3VuaXRzUGVyRW07CiAgICAgCiAgICAgRm9udE9yaWVudGF0aW9uIG1fb3JpZW50YXRpb247IC8v
IFRoaXMgaXMgb3VyIHN1cHBvcnRlZCBvcmllbnRhdGlvbiBhY2NvcmRpbmcgdG8gdGhlIHRhYmxl
cyBpbiB0aGUgZm9udC4gIEZvbnRQbGF0Zm9ybURhdGEgd2lsbCBqdXN0IGFsd2F5cyBoYXZlIHRo
ZSBkZXNpcmVkIG9yaWVudGF0aW9uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyBUaGlzIHZhbHVlIHJlcHJlc2VudHMgd2hhdCB3ZSBhY3R1YWxseSBzdXBwb3J0LgpJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2hyb21pdW1XaW4uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udENo
cm9taXVtV2luLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1bVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0Niwx
MCArMjQ2LDExIEBAIEludFJlY3QgVHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50ZXI6OmUKICAg
ICBmb3IgKGludCBpID0gMDsgaSA8IG1fbnVtR2x5cGhzOyBpKyspCiAgICAgICAgIHRvdGFsV2lk
dGggKz0gbHJvdW5kZihtX2dseXBoQnVmZmVyLmFkdmFuY2VBdChtX2Zyb20gKyBpKSk7CiAKLSAg
ICByZXR1cm4gSW50UmVjdChtX3BvaW50LngoKSAtIChtX2ZvbnQtPmFzY2VudCgpICsgbV9mb250
LT5kZXNjZW50KCkpIC8gMiwKLSAgICAgICAgICAgICAgICAgICBtX3BvaW50LnkoKSAtIG1fZm9u
dC0+YXNjZW50KCkgLSBtX2ZvbnQtPmxpbmVHYXAoKSwKLSAgICAgICAgICAgICAgICAgICB0b3Rh
bFdpZHRoICsgbV9mb250LT5hc2NlbnQoKSArIG1fZm9udC0+ZGVzY2VudCgpLAotICAgICAgICAg
ICAgICAgICAgIG1fZm9udC0+bGluZVNwYWNpbmcoKSk7IAorICAgIGNvbnN0IEZvbnRNZXRyaWNz
JiBmb250TWV0cmljcyA9IG1fZm9udC0+Zm9udE1ldHJpY3MoKTsKKyAgICByZXR1cm4gSW50UmVj
dChtX3BvaW50LngoKSAtIChmb250TWV0cmljcy5hc2NlbnQoKSArIGZvbnRNZXRyaWNzLmRlc2Nl
bnQoKSkgLyAyLAorICAgICAgICAgICAgICAgICAgIG1fcG9pbnQueSgpIC0gZm9udE1ldHJpY3Mu
YXNjZW50KCkgLSBmb250TWV0cmljcy5saW5lR2FwKCksCisgICAgICAgICAgICAgICAgICAgdG90
YWxXaWR0aCArIGZvbnRNZXRyaWNzLmFzY2VudCgpICsgZm9udE1ldHJpY3MuZGVzY2VudCgpLAor
ICAgICAgICAgICAgICAgICAgIGZvbnRNZXRyaWNzLmxpbmVTcGFjaW5nKCkpOyAKIH0KIAogYm9v
bCBUcmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRlcjo6ZHJhd0dseXBocyhpbnQgbnVtR2x5cGhz
LApAQCAtMjcwLDcgKzI3MSw3IEBAIGJvb2wgVHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50ZXI6
OmRyYXcKICAgICAvLyBXaW5kb3dzJyBvcmlnaW4gaXMgdGhlIHRvcC1sZWZ0IG9mIHRoZSBib3Vu
ZGluZyBib3gsIHNvIHdlIGhhdmUKICAgICAvLyB0byBzdWJ0cmFjdCBvZmYgdGhlIGZvbnQgYXNj
ZW50IHRvIGdldCBpdC4KICAgICBpbnQgeCA9IGxyb3VuZGYobV9wb2ludC54KCkgKyBzdGFydEFk
dmFuY2UpOwotICAgIGludCB5ID0gbHJvdW5kZihtX3BvaW50LnkoKSAtIG1fZm9udC0+YXNjZW50
KCkpOworICAgIGludCB5ID0gbHJvdW5kZihtX3BvaW50LnkoKSAtIG1fZm9udC0+Zm9udE1ldHJp
Y3MoKS5hc2NlbnQoKSk7CiAKICAgICAvLyBJZiB0aGVyZSBpcyBhIG5vbi1ibHVyIHNoYWRvdyBh
bmQgYm90aCB0aGUgZmlsbCBjb2xvciBhbmQgc2hhZG93IGNvbG9yIAogICAgIC8vIGFyZSBvcGFx
dWUsIGhhbmRsZSB3aXRob3V0IHNraWEuIApAQCAtMzU0LDEwICszNTUsMTEgQEAgSW50UmVjdCBU
cmFuc3BhcmVuY3lBd2FyZVVuaXNjcmliZVBhaW50ZQogICAgIC8vIFRoaXMgYWxnb3JpdGhtIGZv
ciBlc3RpbWF0aW5nIGhvdyBtdWNoIGV4dHJhIHNwYWNlIHdlIG5lZWQgKHRoZSB0ZXh0IG1heQog
ICAgIC8vIGdvIG91dHNpZGUgdGhlIHNlbGVjdGlvbiByZWN0KSBpcyBiYXNlZCByb3VnaGx5IG9u
CiAgICAgLy8gVHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50ZXI6OmVzdGltYXRlVGV4dEJvdW5k
cyBhYm92ZS4KLSAgICByZXR1cm4gSW50UmVjdChsZWZ0IC0gKG1fZm9udC0+YXNjZW50KCkgKyBt
X2ZvbnQtPmRlc2NlbnQoKSkgLyAyLAotICAgICAgICAgICAgICAgICAgIG1fcG9pbnQueSgpIC0g
bV9mb250LT5hc2NlbnQoKSAtIG1fZm9udC0+bGluZUdhcCgpLAotICAgICAgICAgICAgICAgICAg
IChyaWdodCAtIGxlZnQpICsgbV9mb250LT5hc2NlbnQoKSArIG1fZm9udC0+ZGVzY2VudCgpLAot
ICAgICAgICAgICAgICAgICAgIG1fZm9udC0+bGluZVNwYWNpbmcoKSk7CisgICAgY29uc3QgRm9u
dE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gbV9mb250LT5mb250TWV0cmljcygpOworICAgIHJldHVy
biBJbnRSZWN0KGxlZnQgLSAoZm9udE1ldHJpY3MuYXNjZW50KCkgKyBmb250TWV0cmljcy5kZXNj
ZW50KCkpIC8gMiwKKyAgICAgICAgICAgICAgICAgICBtX3BvaW50LnkoKSAtIGZvbnRNZXRyaWNz
LmFzY2VudCgpIC0gZm9udE1ldHJpY3MubGluZUdhcCgpLAorICAgICAgICAgICAgICAgICAgIChy
aWdodCAtIGxlZnQpICsgZm9udE1ldHJpY3MuYXNjZW50KCkgKyBmb250TWV0cmljcy5kZXNjZW50
KCksCisgICAgICAgICAgICAgICAgICAgZm9udE1ldHJpY3MubGluZVNwYWNpbmcoKSk7CiB9CiAK
IH0gIC8vIG5hbWVzcGFjZQpAQCAtNDk2LDE0ICs0OTgsMTQgQEAgdm9pZCBGb250OjpkcmF3Q29t
cGxleFRleHQoR3JhcGhpY3NDb250ZQogICAgICAgICBDT0xPUlJFRiBzYXZlZFRleHRDb2xvciA9
IEdldFRleHRDb2xvcihoZGMpOwogICAgICAgICBTZXRUZXh0Q29sb3IoaGRjLCB0ZXh0Q29sb3Ip
OwogICAgICAgICBzdGF0ZS5kcmF3KGdyYXBoaWNzQ29udGV4dCwgaGRjLCBzdGF0aWNfY2FzdDxp
bnQ+KHBvaW50LngoKSkgKyBzaGFkb3dPZmZzZXQud2lkdGgoKSwKLSAgICAgICAgICAgICAgICAg
ICBzdGF0aWNfY2FzdDxpbnQ+KHBvaW50LnkoKSAtIGFzY2VudCgpKSArIHNoYWRvd09mZnNldC5o
ZWlnaHQoKSwgZnJvbSwgdG8pOworICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4o
cG9pbnQueSgpIC0gZm9udE1ldHJpY3MoKS5hc2NlbnQoKSkgKyBzaGFkb3dPZmZzZXQuaGVpZ2h0
KCksIGZyb20sIHRvKTsKICAgICAgICAgU2V0VGV4dENvbG9yKGhkYywgc2F2ZWRUZXh0Q29sb3Ip
OyAKICAgICB9CiAKICAgICAvLyBVbmlzY3JpYmUgY291bnRzIHRoZSBjb29yZGluYXRlcyBmcm9t
IHRoZSB1cHBlciBsZWZ0LCB3aGlsZSBXZWJLaXQgdXNlcwogICAgIC8vIHRoZSBiYXNlbGluZSwg
c28gd2UgaGF2ZSB0byBzdWJ0cmFjdCBvZmYgdGhlIGFzY2VudC4KICAgICBzdGF0ZS5kcmF3KGdy
YXBoaWNzQ29udGV4dCwgaGRjLCBzdGF0aWNfY2FzdDxpbnQ+KHBvaW50LngoKSksCi0gICAgICAg
ICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KHBvaW50LnkoKSAtIGFzY2VudCgpKSwgZnJvbSwgdG8p
OworICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihwb2ludC55KCkgLSBmb250TWV0cmlj
cygpLmFzY2VudCgpKSwgZnJvbSwgdG8pOwogCiAgICAgY29udGV4dC0+Y2FudmFzKCktPmVuZFBs
YXRmb3JtUGFpbnQoKTsKIH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vU2ltcGxlRm9udERhdGFDaHJvbWl1bVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNwcAko
cmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Np
bXBsZUZvbnREYXRhQ2hyb21pdW1XaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCwxNCArNTQs
OSBAQCBzdGF0aWMgaW5saW5lIGZsb2F0IHNjYWxlRW1Ub1VuaXRzKGZsb2F0CiB2b2lkIFNpbXBs
ZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogewogICAgIGlmICghbV9wbGF0Zm9ybURhdGEuc2l6
ZSgpKSB7Ci0gICAgICAgIG1fYXNjZW50ID0gMDsKLSAgICAgICAgbV9kZXNjZW50ID0gMDsKLSAg
ICAgICAgbV9saW5lR2FwID0gMDsKLSAgICAgICAgbV9saW5lU3BhY2luZyA9IDA7CisgICAgICAg
IG1fZm9udE1ldHJpY3MucmVzZXQoKTsKICAgICAgICAgbV9hdmdDaGFyV2lkdGggPSAwOwogICAg
ICAgICBtX21heENoYXJXaWR0aCA9IDA7Ci0gICAgICAgIG1feEhlaWdodCA9IDA7Ci0gICAgICAg
IG1fdW5pdHNQZXJFbSA9IDA7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTgyLDEwICs3
NywxMSBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgIG1fYXZnQ2hh
cldpZHRoID0gdGV4dE1ldHJpYy50bUF2ZUNoYXJXaWR0aDsKICAgICBtX21heENoYXJXaWR0aCA9
IHRleHRNZXRyaWMudG1NYXhDaGFyV2lkdGg7CiAKLSAgICBtX2FzY2VudCA9IHRleHRNZXRyaWMu
dG1Bc2NlbnQ7Ci0gICAgbV9kZXNjZW50ID0gdGV4dE1ldHJpYy50bURlc2NlbnQ7Ci0gICAgbV9s
aW5lR2FwID0gdGV4dE1ldHJpYy50bUV4dGVybmFsTGVhZGluZzsKLSAgICBtX3hIZWlnaHQgPSBt
X2FzY2VudCAqIDAuNTZmOyAgLy8gQmVzdCBndWVzcyBmb3IgeEhlaWdodCBmb3Igbm9uLVRydWV0
eXBlIGZvbnRzLgorICAgIC8vIEZJWE1FOiBBY2Nlc3MgYXNjZW50L2Rlc2NlbnQvbGluZUdhcCB3
aXRoIGZsb2F0aW5nIHBvaW50IHByZWNpc2lvbi4KKyAgICBmbG9hdCBhc2NlbnQgPSB0ZXh0TWV0
cmljLnRtQXNjZW50OworICAgIGZsb2F0IGRlc2NlbnQgPSB0ZXh0TWV0cmljLnRtRGVzY2VudDsK
KyAgICBmbG9hdCBsaW5lR2FwID0gdGV4dE1ldHJpYy50bUV4dGVybmFsTGVhZGluZzsKKyAgICBm
bG9hdCB4SGVpZ2h0ID0gYXNjZW50ICogMC41NmY7IC8vIEJlc3QgZ3Vlc3MgZm9yIHhIZWlnaHQg
Zm9yIG5vbi1UcnVldHlwZSBmb250cy4KIAogICAgIE9VVExJTkVURVhUTUVUUklDIG91dGxpbmVU
ZXh0TWV0cmljOwogICAgIGlmIChHZXRPdXRsaW5lVGV4dE1ldHJpY3MoZGMsIHNpemVvZihvdXRs
aW5lVGV4dE1ldHJpYyksICZvdXRsaW5lVGV4dE1ldHJpYykgPiAwKSB7CkBAIC05NCwxMCArOTAs
MTQgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICAgICAgTUFUMiBp
ZGVudGl0eU1hdHJpeCA9IHt7MCwgMX0sIHswLCAwfSwgezAsIDB9LCB7MCwgMX19OwogICAgICAg
ICBEV09SRCBsZW4gPSBHZXRHbHlwaE91dGxpbmVXKGRjLCAneCcsIEdHT19NRVRSSUNTLCAmZ2x5
cGhNZXRyaWNzLCAwLCAwLCAmaWRlbnRpdHlNYXRyaXgpOwogICAgICAgICBpZiAobGVuICE9IEdE
SV9FUlJPUiAmJiBnbHlwaE1ldHJpY3MuZ21CbGFja0JveFkgPiAwKQotICAgICAgICAgICAgbV94
SGVpZ2h0ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdseXBoTWV0cmljcy5nbUJsYWNrQm94WSk7Cisg
ICAgICAgICAgICB4SGVpZ2h0ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdseXBoTWV0cmljcy5nbUJs
YWNrQm94WSk7CiAgICAgfQogCi0gICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9kZXNj
ZW50ICsgbV9saW5lR2FwOworICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGFzY2VudCk7Cisg
ICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGRlc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Mu
c2V0TGluZUdhcChsaW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGFz
Y2VudCArIGRlc2NlbnQgKyBsaW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQo
eEhlaWdodCk7CiAKICAgICBTZWxlY3RPYmplY3QoZGMsIG9sZEZvbnQpOwogICAgIFJlbGVhc2VE
QygwLCBkYyk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBs
ZUZvbnREYXRhTGludXguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFMaW51eC5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysg
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUxpbnV4LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTUsMTQgKzU1LDkgQEAgc3RhdGljIGNvbnN0IHNpemVfdCBt
YXhWRE1YVGFibGVTaXplID0gMQogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkK
IHsKICAgICBpZiAoIW1fcGxhdGZvcm1EYXRhLnNpemUoKSkgewotICAgICAgICBtX2FzY2VudCA9
IDA7Ci0gICAgICAgIG1fZGVzY2VudCA9IDA7Ci0gICAgICAgIG1fbGluZUdhcCA9IDA7Ci0gICAg
ICAgIG1fbGluZVNwYWNpbmcgPSAwOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnJlc2V0KCk7CiAg
ICAgICAgIG1fYXZnQ2hhcldpZHRoID0gMDsKICAgICAgICAgbV9tYXhDaGFyV2lkdGggPSAwOwot
ICAgICAgICBtX3hIZWlnaHQgPSAwOwotICAgICAgICBtX3VuaXRzUGVyRW0gPSAwOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCkBAIC04OCwyNiArODMsMzYgQEAgdm9pZCBTaW1wbGVGb250RGF0
YTo6cGxhdGZvcm1Jbml0KCkKICAgICAgICAgZmFzdEZyZWUodmRteFRhYmxlKTsKICAgICB9CiAK
KyAgICBmbG9hdCBhc2NlbnQ7CisgICAgZmxvYXQgZGVzY2VudDsKKwogICAgIC8vIEJld2FyZSB0
aG9zZSB3aG8gc3RlcCBoZXJlOiBUaGlzIGNvZGUgaXMgZGVzaWduZWQgdG8gbWF0Y2ggV2luMzIg
Zm9udAogICAgIC8vIG1ldHJpY3MgKmV4YWN0bHkqLgogICAgIGlmIChpc1ZETVhWYWxpZCkgewot
ICAgICAgICBtX2FzY2VudCA9IHZkbXhBc2NlbnQ7Ci0gICAgICAgIG1fZGVzY2VudCA9IC12ZG14
RGVzY2VudDsKKyAgICAgICAgLy8gRklYTUU6IEFjY2VzcyBhc2NlbnQvZGVzY2VudCB3aXRoIGZs
b2F0aW5nIHBvaW50IHByZWNpc2lvbi4KKyAgICAgICAgYXNjZW50ID0gdmRteEFzY2VudDsKKyAg
ICAgICAgZGVzY2VudCA9IC12ZG14RGVzY2VudDsKICAgICB9IGVsc2UgewogICAgICAgICBTa1Nj
YWxhciBoZWlnaHQgPSAtbWV0cmljcy5mQXNjZW50ICsgbWV0cmljcy5mRGVzY2VudCArIG1ldHJp
Y3MuZkxlYWRpbmc7Ci0gICAgICAgIG1fYXNjZW50ID0gU2tTY2FsYXJSb3VuZCgtbWV0cmljcy5m
QXNjZW50KTsKLSAgICAgICAgbV9kZXNjZW50ID0gU2tTY2FsYXJSb3VuZChoZWlnaHQpIC0gbV9h
c2NlbnQ7CisgICAgICAgIGFzY2VudCA9IFNrU2NhbGFyVG9GbG9hdCgtbWV0cmljcy5mQXNjZW50
KTsKKyAgICAgICAgZGVzY2VudCA9IFNrU2NhbGFyVG9GbG9hdChoZWlnaHQpIC0gYXNjZW50Owog
ICAgIH0KIAorICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGFzY2VudCk7CisgICAgbV9mb250
TWV0cmljcy5zZXREZXNjZW50KGRlc2NlbnQpOworCisgICAgZmxvYXQgeEhlaWdodDsKICAgICBp
ZiAobWV0cmljcy5mWEhlaWdodCkKLSAgICAgICAgbV94SGVpZ2h0ID0gbWV0cmljcy5mWEhlaWdo
dDsKKyAgICAgICAgeEhlaWdodCA9IG1ldHJpY3MuZlhIZWlnaHQ7CiAgICAgZWxzZSB7CiAgICAg
ICAgIC8vIGhhY2sgdGFrZW4gZnJvbSB0aGUgV2luZG93cyBwb3J0Ci0gICAgICAgIG1feEhlaWdo
dCA9IHN0YXRpY19jYXN0PGZsb2F0PihtX2FzY2VudCkgKiAwLjU2OworICAgICAgICB4SGVpZ2h0
ID0gYXNjZW50ICogMC41NmY7CiAgICAgfQogCi0gICAgbV9saW5lR2FwID0gU2tTY2FsYXJSb3Vu
ZChtZXRyaWNzLmZMZWFkaW5nKTsKLSAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rl
c2NlbnQgKyBtX2xpbmVHYXA7CisgICAgZmxvYXQgbGluZUdhcCA9IFNrU2NhbGFyVG9GbG9hdCht
ZXRyaWNzLmZMZWFkaW5nKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZUdhcCk7
CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhhc2NlbnQgKyBkZXNjZW50ICsgbGlu
ZUdhcCk7CisgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHhIZWlnaHQpOwogCiAgICAgaWYg
KG1fb3JpZW50YXRpb24gPT0gVmVydGljYWwpIHsKICAgICAgICAgc3RhdGljIGNvbnN0IHVpbnQz
Ml90IHZoZWFUYWcgPSBTa1NldEZvdXJCeXRlVGFnKCd2JywgJ2gnLCAnZScsICdhJyk7CkBAIC0x
MjgsNyArMTMzLDcgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICBp
ZiAobWV0cmljcy5mQXZnQ2hhcldpZHRoKQogICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9IFNrU2Nh
bGFyUm91bmQobWV0cmljcy5mQXZnQ2hhcldpZHRoKTsKICAgICBlbHNlIHsKLSAgICAgICAgbV9h
dmdDaGFyV2lkdGggPSBtX3hIZWlnaHQ7CisgICAgICAgIG1fYXZnQ2hhcldpZHRoID0geEhlaWdo
dDsKIAogICAgICAgICBHbHlwaFBhZ2UqIGdseXBoUGFnZVplcm8gPSBHbHlwaFBhZ2VUcmVlTm9k
ZTo6Z2V0Um9vdENoaWxkKHRoaXMsIDApLT5wYWdlKCk7CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vVW5pc2NyaWJlSGVscGVyVGV4dFJ1bi5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9VbmlzY3JpYmVIZWxwZXJU
ZXh0UnVuLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL1VuaXNjcmliZUhlbHBlclRleHRSdW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
MCw3ICs1MCw3IEBAIFVuaXNjcmliZUhlbHBlclRleHRSdW46OlVuaXNjcmliZUhlbHBlclQKICAg
ICBzZXRMZXR0ZXJTcGFjaW5nKGZvbnQubGV0dGVyU3BhY2luZygpKTsKICAgICBzZXRTcGFjZVdp
ZHRoKGZvbnQuc3BhY2VXaWR0aCgpKTsKICAgICBzZXRXb3JkU3BhY2luZyhmb250LndvcmRTcGFj
aW5nKCkpOwotICAgIHNldEFzY2VudChmb250LnByaW1hcnlGb250KCktPmFzY2VudCgpKTsKKyAg
ICBzZXRBc2NlbnQoZm9udC5mb250TWV0cmljcygpLT5hc2NlbnQoKSk7CiAKICAgICBpbml0KCk7
CiAKQEAgLTEyMCw3ICsxMjAsNyBAQCBib29sIFVuaXNjcmliZUhlbHBlclRleHRSdW46Om5leHRX
aW5Gb250CiAgICAgICAgIG1faGZvbnRzLmFwcGVuZChzaW1wbGVGb250RGF0YS0+cGxhdGZvcm1E
YXRhKCkuaGZvbnQoKSk7CiAgICAgICAgIG1fc2NyaXB0Q2FjaGVzLmFwcGVuZChzaW1wbGVGb250
RGF0YS0+cGxhdGZvcm1EYXRhKCkuc2NyaXB0Q2FjaGUoKSk7CiAgICAgICAgIG1fZm9udFByb3Bl
cnRpZXMuYXBwZW5kKHNpbXBsZUZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5zY3JpcHRGb250UHJv
cGVydGllcygpKTsKLSAgICAgICAgbV9hc2NlbnRzLmFwcGVuZChzaW1wbGVGb250RGF0YS0+YXNj
ZW50KCkpOworICAgICAgICBtX2FzY2VudHMuYXBwZW5kKHNpbXBsZUZvbnREYXRhLT5mb250TWV0
cmljcygpLmFzY2VudCgpKTsKICAgICB9CiAKICAgICAqaGZvbnQgPSBtX2hmb250c1ttX2ZvbnRJ
bmRleCAtIDFdOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1w
bGVGb250RGF0YUZyZWVUeXBlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZyZWV0eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUuY3BwCShyZXZpc2lvbiA3NDY2
NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFG
cmVlVHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwLDIxICs1MCwyNyBAQCB2b2lkIFNpbXBs
ZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgIGNhaXJvX2ZvbnRfZXh0ZW50c190IGZvbnRf
ZXh0ZW50czsKICAgICBjYWlyb190ZXh0X2V4dGVudHNfdCB0ZXh0X2V4dGVudHM7CiAgICAgY2Fp
cm9fc2NhbGVkX2ZvbnRfZXh0ZW50cyhtX3BsYXRmb3JtRGF0YS5zY2FsZWRGb250KCksICZmb250
X2V4dGVudHMpOwotICAgIG1fYXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50Pihscm91bmRmKGZvbnRf
ZXh0ZW50cy5hc2NlbnQpKTsKLSAgICBtX2Rlc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KGxyb3Vu
ZGYoZm9udF9leHRlbnRzLmRlc2NlbnQpKTsKLSAgICBtX2xpbmVTcGFjaW5nID0gc3RhdGljX2Nh
c3Q8aW50Pihscm91bmRmKGZvbnRfZXh0ZW50cy5oZWlnaHQpKTsKKworICAgIG1fZm9udE1ldHJp
Y3Muc2V0QXNjZW50KGZvbnRfZXh0ZW50cy5hc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0
RGVzY2VudChmb250X2V4dGVudHMuZGVzY2VudCk7CisKICAgICAvLyBUaGVyZSBzZWVtcyB0byBi
ZSBzb21lIHJvdW5kaW5nIGVycm9yIGluIGNhaXJvIChvciBpbiBob3cgd2UKICAgICAvLyB1c2Ug
Y2Fpcm8pIHdpdGggc29tZSBmb250cywgbGlrZSBEZWphVnUgU2FucyBNb25vLCB3aGljaCBtYWtl
cwogICAgIC8vIGNhaXJvIHJlcG9ydCBhIGhlaWdodCBzbWFsbGVyIHRoYW4gYXNjZW50ICsgZGVz
Y2VudCwgd2hpY2ggaXMKICAgICAvLyB3cm9uZyBhbmQgY29uZnVzZXMgV2ViQ29yZSdzIGxheW91
dCBzeXN0ZW0uIFdvcmthcm91bmQgdGhpcwogICAgIC8vIHdoaWxlIHdlIGZpZ3VyZSBvdXQgd2hh
dCdzIGdvaW5nIG9uLgotICAgIGlmIChtX2xpbmVTcGFjaW5nIDwgbV9hc2NlbnQgKyBtX2Rlc2Nl
bnQpCi0gICAgICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2VudDsKKyAgICBm
bG9hdCBsaW5lU3BhY2luZyA9IGZvbnRfZXh0ZW50cy5oZWlnaHQ7CisgICAgaWYgKGxpbmVTcGFj
aW5nIDwgZm9udF9leHRlbnRzLmFzY2VudCArIGZvbnRfZXh0ZW50cy5kZXNjZW50KQorICAgICAg
ICBsaW5lU3BhY2luZyA9IGZvbnRfZXh0ZW50cy5hc2NlbnQgKyBmb250X2V4dGVudHMuZGVzY2Vu
dDsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGxpbmVTcGFjaW5nKTsKKyAgICBt
X2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZVNwYWNpbmcgLSBmb250X2V4dGVudHMuYXNjZW50
IC0gZm9udF9leHRlbnRzLmRlc2NlbnQpOworCiAgICAgY2Fpcm9fc2NhbGVkX2ZvbnRfdGV4dF9l
eHRlbnRzKG1fcGxhdGZvcm1EYXRhLnNjYWxlZEZvbnQoKSwgIngiLCAmdGV4dF9leHRlbnRzKTsK
LSAgICBtX3hIZWlnaHQgPSB0ZXh0X2V4dGVudHMuaGVpZ2h0OworICAgIG1fZm9udE1ldHJpY3Mu
c2V0WEhlaWdodCh0ZXh0X2V4dGVudHMuaGVpZ2h0KTsKKwogICAgIGNhaXJvX3NjYWxlZF9mb250
X3RleHRfZXh0ZW50cyhtX3BsYXRmb3JtRGF0YS5zY2FsZWRGb250KCksICIgIiwgJnRleHRfZXh0
ZW50cyk7CiAgICAgbV9zcGFjZVdpZHRoID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHRleHRfZXh0ZW50
cy54X2FkdmFuY2UpOwotICAgIG1fbGluZUdhcCA9IG1fbGluZVNwYWNpbmcgLSBtX2FzY2VudCAt
IG1fZGVzY2VudDsKKyAgICAKICAgICBtX3N5bnRoZXRpY0JvbGRPZmZzZXQgPSBtX3BsYXRmb3Jt
RGF0YS5zeW50aGV0aWNCb2xkKCkgPyAxLjBmIDogMC5mOwogfQogCkluZGV4OiBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2hhaWt1L1NpbXBsZUZvbnREYXRhSGFpa3UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvU2ltcGxlRm9udERhdGFIYWlrdS5j
cHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9T
aW1wbGVGb250RGF0YUhhaWt1LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgsMTEgKzQ4LDExIEBA
IHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAKICAgICBmb250X2hlaWdodCBo
ZWlnaHQ7CiAgICAgZm9udC0+R2V0SGVpZ2h0KCZoZWlnaHQpOwotICAgIG1fYXNjZW50ID0gc3Rh
dGljX2Nhc3Q8aW50PihoZWlnaHQuYXNjZW50KTsKLSAgICBtX2Rlc2NlbnQgPSBzdGF0aWNfY2Fz
dDxpbnQ+KGhlaWdodC5kZXNjZW50KTsKLSAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBt
X2Rlc2NlbnQ7Ci0gICAgbV94SGVpZ2h0ID0gaGVpZ2h0LmFzY2VudCAqIDAuNTZmOyAvLyBIYWNr
IHRha2VuIGZyb20gdGhlIHdpbiBwb3J0LgotICAgIG1fbGluZUdhcCA9IGhlaWdodC5sZWFkaW5n
OworICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGhlaWdodC5hc2NlbnQpOworICAgIG1fZm9u
dE1ldHJpY3Muc2V0RGVzY2VudChoZWlnaHQuZGVzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5z
ZXRMaW5lU3BhY2luZyhoZWlnaHQuYXNjZW50ICsgaGVpZ2h0LmRlc2NlbnQpOworICAgIG1fZm9u
dE1ldHJpY3Muc2V0WEhlaWdodChoZWlnaHQuYXNjZW50ICogMC41NmYpOyAvLyBIYWNrIHRha2Vu
IGZyb20gdGhlIHdpbiBwb3J0LgorICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChoZWlnaHQu
bGVhZGluZyk7CiB9CiAKIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQ2hhcldpZHRoSW5p
dCgpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q29tcGxleFRleHRN
YWMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRD
b21wbGV4VGV4dE1hYy5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tYWMvRm9udENvbXBsZXhUZXh0TWFjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTEw
LDggKzExMCw4IEBAIGZsb2F0IEZvbnQ6OmZsb2F0V2lkdGhGb3JDb21wbGV4VGV4dChjb24KIHsK
ICAgICBDb21wbGV4VGV4dENvbnRyb2xsZXIgY29udHJvbGxlcih0aGlzLCBydW4sIHRydWUsIGZh
bGxiYWNrRm9udHMpOwogICAgIGlmIChnbHlwaE92ZXJmbG93KSB7Ci0gICAgICAgIGdseXBoT3Zl
cmZsb3ctPnRvcCA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYoLWNvbnRyb2xs
ZXIubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSBhc2NlbnQoKSk7Ci0gICAgICAgIGdseXBoT3Zl
cmZsb3ctPmJvdHRvbSA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPmJvdHRvbSwgY2VpbGYoY29u
dHJvbGxlci5tYXhHbHlwaEJvdW5kaW5nQm94WSgpKSAtIGRlc2NlbnQoKSk7CisgICAgICAgIGds
eXBoT3ZlcmZsb3ctPnRvcCA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYoLWNv
bnRyb2xsZXIubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSBmb250TWV0cmljcygpLmFzY2VudCgp
KTsKKyAgICAgICAgZ2x5cGhPdmVyZmxvdy0+Ym90dG9tID0gbWF4PGludD4oZ2x5cGhPdmVyZmxv
dy0+Ym90dG9tLCBjZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91bmRpbmdCb3hZKCkpIC0gZm9u
dE1ldHJpY3MoKS5kZXNjZW50KCkpOwogICAgICAgICBnbHlwaE92ZXJmbG93LT5sZWZ0ID0gbWF4
PGludD4oMCwgY2VpbGYoLWNvbnRyb2xsZXIubWluR2x5cGhCb3VuZGluZ0JveFgoKSkpOwogICAg
ICAgICBnbHlwaE92ZXJmbG93LT5yaWdodCA9IG1heDxpbnQ+KDAsIGNlaWxmKGNvbnRyb2xsZXIu
bWF4R2x5cGhCb3VuZGluZ0JveFgoKSAtIGNvbnRyb2xsZXIudG90YWxXaWR0aCgpKSk7CiAgICAg
fQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udE1hYy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjLm1tCShyZXZpc2lv
biA3NDY2NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0JKHdv
cmtpbmcgY29weSkKQEAgLTYwLDggKzYwLDggQEAgc3RhdGljIHZvaWQgc2hvd0dseXBoc1dpdGhB
ZHZhbmNlcyhjb25zdAogICAgICAgICAgICAgc2F2ZWRNYXRyaXggPSBDR0NvbnRleHRHZXRUZXh0
TWF0cml4KGNvbnRleHQpOwogICAgICAgICAgICAgQ0dBZmZpbmVUcmFuc2Zvcm0gcnVuTWF0cml4
ID0gQ0dBZmZpbmVUcmFuc2Zvcm1Db25jYXQoc2F2ZWRNYXRyaXgsIHJvdGF0ZUxlZnRUcmFuc2Zv
cm0pOwogICAgICAgICAgICAgLy8gTW92ZSBzdGFydCBwb2ludCB0byBwdXQgZ2x5cGhzIGludG8g
b3JpZ2luYWwgcmVnaW9uLgotICAgICAgICAgICAgcnVuTWF0cml4LnR4ID0gc2F2ZWRNYXRyaXgu
dHggKyBmb250LT5hc2NlbnQoKTsKLSAgICAgICAgICAgIHJ1bk1hdHJpeC50eSA9IHNhdmVkTWF0
cml4LnR5ICsgZm9udC0+ZGVzY2VudCgpOworICAgICAgICAgICAgcnVuTWF0cml4LnR4ID0gc2F2
ZWRNYXRyaXgudHggKyBmb250LT5mb250TWV0cmljcygpLmFzY2VudCgpOworICAgICAgICAgICAg
cnVuTWF0cml4LnR5ID0gc2F2ZWRNYXRyaXgudHkgKyBmb250LT5mb250TWV0cmljcygpLmRlc2Nl
bnQoKTsKICAgICAgICAgICAgIENHQ29udGV4dFNldFRleHRNYXRyaXgoY29udGV4dCwgcnVuTWF0
cml4KTsKICAgICAgICAgfQogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9T
aW1wbGVGb250RGF0YU1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbQkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbQkod29ya2luZyBjb3B5
KQpAQCAtMjE4LDE5ICsyMTgsMjAgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0
KCkKICAgICBpbnQgaUFzY2VudDsKICAgICBpbnQgaURlc2NlbnQ7CiAgICAgaW50IGlMaW5lR2Fw
OworICAgIHVuc2lnbmVkIHVuaXRzUGVyRW07CiAjaWZkZWYgQlVJTERJTkdfT05fVElHRVIKLSAg
ICB3a0dldEZvbnRNZXRyaWNzKG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpLCAmaUFzY2VudCwgJmlE
ZXNjZW50LCAmaUxpbmVHYXAsICZtX3VuaXRzUGVyRW0pOworICAgIHdrR2V0Rm9udE1ldHJpY3Mo
bV9wbGF0Zm9ybURhdGEuY2dGb250KCksICZpQXNjZW50LCAmaURlc2NlbnQsICZpTGluZUdhcCwg
JnVuaXRzUGVyRW0pOwogI2Vsc2UKICAgICBpQXNjZW50ID0gQ0dGb250R2V0QXNjZW50KG1fcGxh
dGZvcm1EYXRhLmNnRm9udCgpKTsKICAgICBpRGVzY2VudCA9IENHRm9udEdldERlc2NlbnQobV9w
bGF0Zm9ybURhdGEuY2dGb250KCkpOwogICAgIGlMaW5lR2FwID0gQ0dGb250R2V0TGVhZGluZyht
X3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSk7Ci0gICAgbV91bml0c1BlckVtID0gQ0dGb250R2V0VW5p
dHNQZXJFbShtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSk7CisgICAgdW5pdHNQZXJFbSA9IENHRm9u
dEdldFVuaXRzUGVyRW0obV9wbGF0Zm9ybURhdGEuY2dGb250KCkpOwogI2VuZGlmCiAKICAgICBm
bG9hdCBwb2ludFNpemUgPSBtX3BsYXRmb3JtRGF0YS5tX3NpemU7Ci0gICAgZmxvYXQgZkFzY2Vu
dCA9IHNjYWxlRW1Ub1VuaXRzKGlBc2NlbnQsIG1fdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7Ci0g
ICAgZmxvYXQgZkRlc2NlbnQgPSAtc2NhbGVFbVRvVW5pdHMoaURlc2NlbnQsIG1fdW5pdHNQZXJF
bSkgKiBwb2ludFNpemU7Ci0gICAgZmxvYXQgZkxpbmVHYXAgPSBzY2FsZUVtVG9Vbml0cyhpTGlu
ZUdhcCwgbV91bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAgICBmbG9hdCBhc2NlbnQgPSBzY2Fs
ZUVtVG9Vbml0cyhpQXNjZW50LCB1bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAgICBmbG9hdCBk
ZXNjZW50ID0gLXNjYWxlRW1Ub1VuaXRzKGlEZXNjZW50LCB1bml0c1BlckVtKSAqIHBvaW50U2l6
ZTsKKyAgICBmbG9hdCBsaW5lR2FwID0gc2NhbGVFbVRvVW5pdHMoaUxpbmVHYXAsIHVuaXRzUGVy
RW0pICogcG9pbnRTaXplOwogCiAgICAgLy8gV2UgbmVlZCB0byBhZGp1c3QgVGltZXMsIEhlbHZl
dGljYSwgYW5kIENvdXJpZXIgdG8gY2xvc2VseSBtYXRjaCB0aGUKICAgICAvLyB2ZXJ0aWNhbCBt
ZXRyaWNzIG9mIHRoZWlyIE1pY3Jvc29mdCBjb3VudGVycGFydHMgdGhhdCBhcmUgdGhlIGRlIGZh
Y3RvCkBAIC0yMzksMjUgKzI0MCwyMCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUlu
aXQoKQogICAgIC8vIGFuZCBhZGQgaXQgdG8gdGhlIGFzY2VudC4KICAgICBOU1N0cmluZyAqZmFt
aWx5TmFtZSA9IFttX3BsYXRmb3JtRGF0YS5mb250KCkgZmFtaWx5TmFtZV07CiAgICAgaWYgKFtm
YW1pbHlOYW1lIGlzRXF1YWxUb1N0cmluZzpAIlRpbWVzIl0gfHwgW2ZhbWlseU5hbWUgaXNFcXVh
bFRvU3RyaW5nOkAiSGVsdmV0aWNhIl0gfHwgW2ZhbWlseU5hbWUgaXNFcXVhbFRvU3RyaW5nOkAi
Q291cmllciJdKQotICAgICAgICBmQXNjZW50ICs9IGZsb29yZigoKGZBc2NlbnQgKyBmRGVzY2Vu
dCkgKiAwLjE1ZikgKyAwLjVmKTsKKyAgICAgICAgYXNjZW50ICs9IGZsb29yZigoKGFzY2VudCAr
IGRlc2NlbnQpICogMC4xNWYpICsgMC41Zik7CiAgICAgZWxzZSBpZiAoW2ZhbWlseU5hbWUgaXNF
cXVhbFRvU3RyaW5nOkAiR2VlemEgUHJvIl0pIHsKICAgICAgICAgLy8gR2VlemEgUHJvIGhhcyBn
bHlwaHMgdGhhdCBkcmF3IHNsaWdodGx5IGFib3ZlIHRoZSBhc2NlbnQgb3IgZmFyIGJlbG93IHRo
ZSBkZXNjZW50LiBBZGp1c3QKICAgICAgICAgLy8gdGhvc2UgdmVydGljYWwgbWV0cmljcyB0byBi
ZXR0ZXIgbWF0Y2ggcmVhbGl0eSwgc28gdGhhdCBkaWFjcml0aWNzIGF0IHRoZSBib3R0b20gb2Yg
b25lIGxpbmUKICAgICAgICAgLy8gZG8gbm90IG92ZXJsYXAgZGlhY3JpdGljcyBhdCB0aGUgdG9w
IG9mIHRoZSBuZXh0IGxpbmUuCi0gICAgICAgIGZBc2NlbnQgKj0gMS4wOGY7Ci0gICAgICAgIGZE
ZXNjZW50ICo9IDIuZjsKKyAgICAgICAgYXNjZW50ICo9IDEuMDhmOworICAgICAgICBkZXNjZW50
ICo9IDIuZjsKICAgICB9CiAKLSAgICBtX2FzY2VudCA9IGxyb3VuZGYoZkFzY2VudCk7Ci0gICAg
bV9kZXNjZW50ID0gbHJvdW5kZihmRGVzY2VudCk7Ci0gICAgbV9saW5lR2FwID0gbHJvdW5kZihm
TGluZUdhcCk7Ci0gICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50ICsgbV9s
aW5lR2FwOwotICAgIAogICAgIC8vIEhhY2sgSGlyYWdpbm8gbGluZSBtZXRyaWNzIHRvIGFsbG93
IHJvb20gZm9yIG1hcmtlZCB0ZXh0IHVuZGVybGluZXMuCiAgICAgLy8gPHJkYXI6Ly9wcm9ibGVt
LzUzODYxODM+Ci0gICAgaWYgKG1fZGVzY2VudCA8IDMgJiYgbV9saW5lR2FwID49IDMgJiYgW2Zh
bWlseU5hbWUgaGFzUHJlZml4OkAiSGlyYWdpbm8iXSkgewotICAgICAgICBtX2xpbmVHYXAgLT0g
MyAtIG1fZGVzY2VudDsKLSAgICAgICAgbV9kZXNjZW50ID0gMzsKKyAgICBpZiAoZGVzY2VudCA8
IDMgJiYgbGluZUdhcCA+PSAzICYmIFtmYW1pbHlOYW1lIGhhc1ByZWZpeDpAIkhpcmFnaW5vIl0p
IHsKKyAgICAgICAgbGluZUdhcCAtPSAzIC0gZGVzY2VudDsKKyAgICAgICAgZGVzY2VudCA9IDM7
CiAgICAgfQogICAgIAogICAgIGlmIChtX29yaWVudGF0aW9uID09IFZlcnRpY2FsKSB7CkBAIC0y
NzgsNiArMjc0LDggQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICAg
ICAgICAgIG1fb3JpZW50YXRpb24gPSBIb3Jpem9udGFsOwogICAgIH0KIAorICAgIGZsb2F0IHhI
ZWlnaHQ7CisKICAgICAvLyBNZWFzdXJlIHRoZSBhY3R1YWwgY2hhcmFjdGVyICJ4IiwgYmVjYXVz
ZSBBcHBLaXQgc3ludGhlc2l6ZXMgWCBoZWlnaHQgcmF0aGVyIHRoYW4gZ2V0dGluZyBpdCBmcm9t
IHRoZSBmb250LgogICAgIC8vIFVuZm9ydHVuYXRlbHksIE5TRm9udCB3aWxsIHJvdW5kIHRoaXMg
Zm9yIHVzIHNvIHdlIGRvbid0IHF1aXRlIGdldCB0aGUgcmlnaHQgdmFsdWUuCiAgICAgR2x5cGhQ
YWdlKiBnbHlwaFBhZ2VaZXJvID0gR2x5cGhQYWdlVHJlZU5vZGU6OmdldFJvb3RDaGlsZCh0aGlz
LCAwKS0+cGFnZSgpOwpAQCAtMjg4LDIxICsyODYsMjggQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6
cGxhdGZvcm1Jbml0KCkKICAgICAgICAgLy8gYW5kIHdlYiBwYWdlcyB0aGF0IGZvb2xpc2hseSB1
c2UgdGhpcyBtZXRyaWMgZm9yIHdpZHRoIHdpbGwgYmUgbGFpZCBvdXQKICAgICAgICAgLy8gcG9v
cmx5IGlmIHdlIHJldHVybiBhbiBhY2N1cmF0ZSBoZWlnaHQuIENsYXNzaWMgY2FzZSBpcyBUaW1l
cyAxMyBwb2ludCwKICAgICAgICAgLy8gd2hpY2ggaGFzIGFuICJ4IiB0aGF0IGlzIDd4NiBwaXhl
bHMuCi0gICAgICAgIG1feEhlaWdodCA9IHN0YXRpY19jYXN0PGZsb2F0PihtYXgoQ0dSZWN0R2V0
TWF4WCh4Qm94KSwgLUNHUmVjdEdldE1pblkoeEJveCkpKTsKKyAgICAgICAgeEhlaWdodCA9IHN0
YXRpY19jYXN0PGZsb2F0PihtYXgoQ0dSZWN0R2V0TWF4WCh4Qm94KSwgLUNHUmVjdEdldE1pblko
eEJveCkpKTsKICAgICB9IGVsc2UgewogI2lmbmRlZiBCVUlMRElOR19PTl9USUdFUgotICAgICAg
ICBtX3hIZWlnaHQgPSBzdGF0aWNfY2FzdDxmbG9hdD4oQ0dGb250R2V0WEhlaWdodChtX3BsYXRm
b3JtRGF0YS5jZ0ZvbnQoKSkpIC8gbV91bml0c1BlckVtOworICAgICAgICB4SGVpZ2h0ID0gc3Rh
dGljX2Nhc3Q8ZmxvYXQ+KENHRm9udEdldFhIZWlnaHQobV9wbGF0Zm9ybURhdGEuY2dGb250KCkp
KSAvIHVuaXRzUGVyRW07CiAjZWxzZQotICAgICAgICBtX3hIZWlnaHQgPSBtX3BsYXRmb3JtRGF0
YS5mb250KCkgPyBbbV9wbGF0Zm9ybURhdGEuZm9udCgpIHhIZWlnaHRdIDogMDsKKyAgICAgICAg
eEhlaWdodCA9IG1fcGxhdGZvcm1EYXRhLmZvbnQoKSA/IFttX3BsYXRmb3JtRGF0YS5mb250KCkg
eEhlaWdodF0gOiAwOwogI2VuZGlmCiAgICAgICAgIC8vIENHRm9udEdldFhIZWlnaHQoKSByZXR1
cm5zIGEgd3JvbmcgdmFsdWUgZm9yICJBcHBsZSBTeW1ib2xzIiBmb250IChhIGZsb2F0IGNsb3Nl
IHRvIDAsIGJ1dCBub3Qgc3RyaWN0bHkgMCkuCi0gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgY29k
ZSBtYWtlcyBhIGd1ZXNzIGZvciBtX3hIZWlnaHQgaW4gdGhhdCBjYXNlLgorICAgICAgICAvLyBU
aGUgZm9sbG93aW5nIGNvZGUgbWFrZXMgYSBndWVzcyBmb3IgeEhlaWdodCBpbiB0aGF0IGNhc2Uu
CiAgICAgICAgIC8vIFRoZSBpbnQgY2FzdCBpcyBhIHdvcmthcm91bmQgZm9yIHRoZSAiYWxtb3N0
IiB6ZXJvIHZhbHVlIHJldHVybmVkIGJ5IENHRm9udEdldFhIZWlnaHQoKS4KLSAgICAgICAgaWYg
KCFzdGF0aWNfY2FzdDxpbnQ+KG1feEhlaWdodCkgJiYgZkFzY2VudCkKLSAgICAgICAgICAgIG1f
eEhlaWdodCA9IDIgKiBmQXNjZW50IC8gMzsKKyAgICAgICAgaWYgKCFzdGF0aWNfY2FzdDxpbnQ+
KHhIZWlnaHQpICYmIGFzY2VudCkKKyAgICAgICAgICAgIHhIZWlnaHQgPSAyICogYXNjZW50IC8g
MzsKICAgICB9CisKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFVuaXRzUGVyRW0odW5pdHNQZXJFbSk7
CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNz
LnNldERlc2NlbnQoZGVzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGxpbmVH
YXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNjZW50ICsgZGVzY2VudCAr
IGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh4SGVpZ2h0KTsKIH0KLSAg
ICAKKwogc3RhdGljIENGRGF0YVJlZiBjb3B5Rm9udFRhYmxlRm9yVGFnKEZvbnRQbGF0Zm9ybURh
dGEmIHBsYXRmb3JtRGF0YSwgRm91ckNoYXJDb2RlIHRhYmxlTmFtZSkKIHsKICNpZmRlZiBCVUlM
RElOR19PTl9USUdFUgpAQCAtMzM3LDcgKzM0Miw3IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBs
YXRmb3JtQ2hhcldpZHRoSW4KICAgICBpZiAob3MyVGFibGUgJiYgQ0ZEYXRhR2V0TGVuZ3RoKG9z
MlRhYmxlLmdldCgpKSA+PSA0KSB7CiAgICAgICAgIGNvbnN0IFVJbnQ4KiBvczIgPSBDRkRhdGFH
ZXRCeXRlUHRyKG9zMlRhYmxlLmdldCgpKTsKICAgICAgICAgU0ludDE2IG9zMkF2Z0NoYXJXaWR0
aCA9IG9zMlsyXSAqIDI1NiArIG9zMlszXTsKLSAgICAgICAgbV9hdmdDaGFyV2lkdGggPSBzY2Fs
ZUVtVG9Vbml0cyhvczJBdmdDaGFyV2lkdGgsIG1fdW5pdHNQZXJFbSkgKiBtX3BsYXRmb3JtRGF0
YS5tX3NpemU7CisgICAgICAgIG1fYXZnQ2hhcldpZHRoID0gc2NhbGVFbVRvVW5pdHMob3MyQXZn
Q2hhcldpZHRoLCBtX2ZvbnRNZXRyaWNzLnVuaXRzUGVyRW0oKSkgKiBtX3BsYXRmb3JtRGF0YS5t
X3NpemU7CiAgICAgfQogCiAgICAgUmV0YWluUHRyPENGRGF0YVJlZj4gaGVhZFRhYmxlKEFkb3B0
Q0YsIGNvcHlGb250VGFibGVGb3JUYWcobV9wbGF0Zm9ybURhdGEsICdoZWFkJykpOwpAQCAtMzQ4
LDcgKzM1Myw3IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQ2hhcldpZHRoSW4KICAg
ICAgICAgU0ludDE2IHhNaW4gPSBzdGF0aWNfY2FzdDxTSW50MTY+KHV4TWluKTsKICAgICAgICAg
U0ludDE2IHhNYXggPSBzdGF0aWNfY2FzdDxTSW50MTY+KHV4TWF4KTsKICAgICAgICAgZmxvYXQg
ZGlmZiA9IHN0YXRpY19jYXN0PGZsb2F0Pih4TWF4IC0geE1pbik7Ci0gICAgICAgIG1fbWF4Q2hh
cldpZHRoID0gc2NhbGVFbVRvVW5pdHMoZGlmZiwgbV91bml0c1BlckVtKSAqIG1fcGxhdGZvcm1E
YXRhLm1fc2l6ZTsKKyAgICAgICAgbV9tYXhDaGFyV2lkdGggPSBzY2FsZUVtVG9Vbml0cyhkaWZm
LCBtX2ZvbnRNZXRyaWNzLnVuaXRzUGVyRW0oKSkgKiBtX3BsYXRmb3JtRGF0YS5tX3NpemU7CiAg
ICAgfQogCiAgICAgLy8gRmFsbGJhY2sgdG8gYSBjcm9zcy1wbGF0Zm9ybSBlc3RpbWF0ZSwgd2hp
Y2ggd2lsbCBwb3B1bGF0ZSB0aGVzZSB2YWx1ZXMgaWYgdGhleSBhcmUgbm9uLXBvc2l0aXZlLgpJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9wYW5nby9TaW1wbGVGb250RGF0YVBhbmdv
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1NpbXBs
ZUZvbnREYXRhUGFuZ28uY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcGFuZ28vU2ltcGxlRm9udERhdGFQYW5nby5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQ5LDIxICs0OSwyNyBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAg
IGNhaXJvX2ZvbnRfZXh0ZW50c190IGZvbnRfZXh0ZW50czsKICAgICBjYWlyb190ZXh0X2V4dGVu
dHNfdCB0ZXh0X2V4dGVudHM7CiAgICAgY2Fpcm9fc2NhbGVkX2ZvbnRfZXh0ZW50cyhtX3BsYXRm
b3JtRGF0YS5tX3NjYWxlZEZvbnQsICZmb250X2V4dGVudHMpOwotICAgIG1fYXNjZW50ID0gc3Rh
dGljX2Nhc3Q8aW50Pihscm91bmRmKGZvbnRfZXh0ZW50cy5hc2NlbnQpKTsKLSAgICBtX2Rlc2Nl
bnQgPSBzdGF0aWNfY2FzdDxpbnQ+KGxyb3VuZGYoZm9udF9leHRlbnRzLmRlc2NlbnQpKTsKLSAg
ICBtX2xpbmVTcGFjaW5nID0gc3RhdGljX2Nhc3Q8aW50Pihscm91bmRmKGZvbnRfZXh0ZW50cy5o
ZWlnaHQpKTsKKworICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGZvbnRfZXh0ZW50cy5hc2Nl
bnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChmb250X2V4dGVudHMuZGVzY2VudCk7
CisKICAgICAvLyBUaGVyZSBzZWVtcyB0byBiZSBzb21lIHJvdW5kaW5nIGVycm9yIGluIGNhaXJv
IChvciBpbiBob3cgd2UKICAgICAvLyB1c2UgY2Fpcm8pIHdpdGggc29tZSBmb250cywgbGlrZSBE
ZWphVnUgU2FucyBNb25vLCB3aGljaCBtYWtlcwogICAgIC8vIGNhaXJvIHJlcG9ydCBhIGhlaWdo
dCBzbWFsbGVyIHRoYW4gYXNjZW50ICsgZGVzY2VudCwgd2hpY2ggaXMKICAgICAvLyB3cm9uZyBh
bmQgY29uZnVzZXMgV2ViQ29yZSdzIGxheW91dCBzeXN0ZW0uIFdvcmthcm91bmQgdGhpcwogICAg
IC8vIHdoaWxlIHdlIGZpZ3VyZSBvdXQgd2hhdCdzIGdvaW5nIG9uLgotICAgIGlmIChtX2xpbmVT
cGFjaW5nIDwgbV9hc2NlbnQgKyBtX2Rlc2NlbnQpCi0gICAgICAgIG1fbGluZVNwYWNpbmcgPSBt
X2FzY2VudCArIG1fZGVzY2VudDsKKyAgICBmbG9hdCBsaW5lU3BhY2luZyA9IGZvbnRfZXh0ZW50
cy5oZWlnaHQ7CisgICAgaWYgKGxpbmVTcGFjaW5nIDwgZm9udF9leHRlbnRzLmFzY2VudCArIGZv
bnRfZXh0ZW50cy5kZXNjZW50KQorICAgICAgICBsaW5lU3BhY2luZyA9IGZvbnRfZXh0ZW50cy5h
c2NlbnQgKyBmb250X2V4dGVudHMuZGVzY2VudDsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVT
cGFjaW5nKGxpbmVTcGFjaW5nKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZVNw
YWNpbmcgLSBmb250X2V4dGVudHMuYXNjZW50IC0gZm9udF9leHRlbnRzLmRlc2NlbnQpOworCiAg
ICAgY2Fpcm9fc2NhbGVkX2ZvbnRfdGV4dF9leHRlbnRzKG1fcGxhdGZvcm1EYXRhLm1fc2NhbGVk
Rm9udCwgIngiLCAmdGV4dF9leHRlbnRzKTsKLSAgICBtX3hIZWlnaHQgPSB0ZXh0X2V4dGVudHMu
aGVpZ2h0OworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh0ZXh0X2V4dGVudHMuaGVpZ2h0
KTsKKwogICAgIGNhaXJvX3NjYWxlZF9mb250X3RleHRfZXh0ZW50cyhtX3BsYXRmb3JtRGF0YS5t
X3NjYWxlZEZvbnQsICIgIiwgJnRleHRfZXh0ZW50cyk7Ci0gICAgbV9zcGFjZVdpZHRoID0gIHN0
YXRpY19jYXN0PGZsb2F0Pih0ZXh0X2V4dGVudHMueF9hZHZhbmNlKTsKLSAgICBtX2xpbmVHYXAg
PSBtX2xpbmVTcGFjaW5nIC0gbV9hc2NlbnQgLSBtX2Rlc2NlbnQ7CisgICAgbV9zcGFjZVdpZHRo
ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHRleHRfZXh0ZW50cy54X2FkdmFuY2UpOworICAgIAogICAg
IG1fc3ludGhldGljQm9sZE9mZnNldCA9IG1fcGxhdGZvcm1EYXRhLnN5bnRoZXRpY0JvbGQoKSA/
IDEuMGYgOiAwLmY7CiB9CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2lt
cGxlRm9udERhdGFRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9xdC9TaW1wbGVGb250RGF0YVF0LmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNCw3ICsyNCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU2ltcGxlRm9u
dERhdGEuaCIKIAotI2luY2x1ZGUgPFFGb250TWV0cmljcz4KKyNpbmNsdWRlIDxRRm9udE1ldHJp
Y3NGPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQxLDI1ICs0MSwyMCBAQCBib29sIFNp
bXBsZUZvbnREYXRhOjpjb250YWluc0NoYXJhY3RlcnMoCiB2b2lkIFNpbXBsZUZvbnREYXRhOjpw
bGF0Zm9ybUluaXQoKQogewogICAgIGlmICghbV9wbGF0Zm9ybURhdGEuc2l6ZSgpKSB7Ci0gICAg
ICAgICBtX2FzY2VudCA9IDA7Ci0gICAgICAgICBtX2Rlc2NlbnQgPSAwOwotICAgICAgICAgbV9s
aW5lR2FwID0gMDsKLSAgICAgICAgIG1fbGluZVNwYWNpbmcgPSAwOworICAgICAgICAgbV9mb250
TWV0cmljcy5yZXNldCgpOwogICAgICAgICAgbV9hdmdDaGFyV2lkdGggPSAwOwogICAgICAgICAg
bV9tYXhDaGFyV2lkdGggPSAwOwotICAgICAgICAgbV94SGVpZ2h0ID0gMDsKLSAgICAgICAgIG1f
dW5pdHNQZXJFbSA9IDA7CiAgICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUUZvbnRNZXRy
aWNzIGZtKG1fcGxhdGZvcm1EYXRhLmZvbnQoKSk7CisgICAgUUZvbnRNZXRyaWNzRiBmbShtX3Bs
YXRmb3JtRGF0YS5mb250KCkpOwogCi0gICAgbV9hc2NlbnQgPSBmbS5hc2NlbnQoKTsKLSAgICBt
X2Rlc2NlbnQgPSBmbS5kZXNjZW50KCk7Ci0gICAgbV9saW5lU3BhY2luZyA9IGZtLmxpbmVTcGFj
aW5nKCk7Ci0gICAgbV94SGVpZ2h0ID0gZm0ueEhlaWdodCgpOworICAgIG1fZm9udE1ldHJpY3Mu
c2V0QXNjZW50KGZtLmFzY2VudCgpKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoZm0u
ZGVzY2VudCgpKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGZtLmxpbmVTcGFj
aW5nKCkpOworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodChmbS54SGVpZ2h0KCkpOworICAg
IG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChmbS5sZWFkaW5nKCkpOwogICAgIG1fc3BhY2VXaWR0
aCA9IGZtLndpZHRoKFFMYXRpbjFDaGFyKCcgJykpOwotICAgIG1fbGluZUdhcCA9IGZtLmxlYWRp
bmcoKTsKIH0KIAogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1HbHlwaEluaXQoKQpJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENHV2luLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q0dXaW4uY3BwCShyZXZpc2lv
biA3NDY2NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDR1dpbi5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE2Nyw4ICsxNjcsMTIgQEAgc3RhdGljIHZvaWQgZHJhd0dESUds
eXBocyhHcmFwaGljc0NvbnRleAogICAgICAgICBkcmF3SW50b0JpdG1hcCA9IHRydWU7CiAgICAg
ICAgIC8vIFdlIHB1dCBzbG9wIGludG8gdGhpcyByZWN0LCBzaW5jZSBnbHlwaHMgY2FuIG92ZXJm
bG93IHRoZSBhc2NlbnQvZGVzY2VudCBib3VuZHMgYW5kIHRoZSBsZWZ0L3JpZ2h0IGVkZ2VzLgog
ICAgICAgICAvLyBGSVhNRTogQ2FuIGdldCBnbHlwaHMnIG9wdGljYWwgYm91bmRzIChldmVuIGZy
b20gQ0cpIHRvIGdldCB0aGlzIHJpZ2h0LgotICAgICAgICBpbnQgbGluZUdhcCA9IGZvbnQtPmxp
bmVHYXAoKTsKLSAgICAgICAgdGV4dFJlY3QgPSBJbnRSZWN0KHBvaW50LngoKSAtIChmb250LT5h
c2NlbnQoKSArIGZvbnQtPmRlc2NlbnQoKSkgLyAyLCBwb2ludC55KCkgLSBmb250LT5hc2NlbnQo
KSAtIGxpbmVHYXAsIHRvdGFsV2lkdGggKyBmb250LT5hc2NlbnQoKSArIGZvbnQtPmRlc2NlbnQo
KSwgZm9udC0+bGluZVNwYWNpbmcoKSk7CisgICAgICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250
TWV0cmljcyA9IGZvbnQtPmZvbnRNZXRyaWNzKCk7CisgICAgICAgIGludCBsaW5lR2FwID0gZm9u
dE1ldHJpY3MubGluZUdhcCgpOworICAgICAgICB0ZXh0UmVjdCA9IEludFJlY3QocG9pbnQueCgp
IC0gKGZvbnRNZXRyaWNzLmFzY2VudCgpICsgZm9udE1ldHJpY3MuZGVzY2VudCgpKSAvIDIsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludC55KCkgLSBmb250TWV0cmljcy5hc2NlbnQo
KSAtIGxpbmVHYXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbFdpZHRoICsgZm9u
dE1ldHJpY3MuYXNjZW50KCkgKyBmb250TWV0cmljcy5kZXNjZW50KCksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmb250TWV0cmljcy5saW5lU3BhY2luZygpKTsKICAgICAgICAgYml0bWFw
LnNldChncmFwaGljc0NvbnRleHQtPmNyZWF0ZVdpbmRvd3NCaXRtYXAodGV4dFJlY3Quc2l6ZSgp
KSk7CiAgICAgICAgIG1lbXNldChiaXRtYXAtPmJ1ZmZlcigpLCAyNTUsIGJpdG1hcC0+YnVmZmVy
TGVuZ3RoKCkpOwogICAgICAgICBoZGMgPSBiaXRtYXAtPmhkYygpOwpJbmRleDogV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFdpbi5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEyMSw4ICsxMjEsOCBAQCBmbG9hdCBGb250OjpmbG9hdFdpZHRoRm9yQ29tcGxleFRleHQoY29u
CiAgICAgVW5pc2NyaWJlQ29udHJvbGxlciBjb250cm9sbGVyKHRoaXMsIHJ1biwgZmFsbGJhY2tG
b250cyk7CiAgICAgY29udHJvbGxlci5hZHZhbmNlKHJ1bi5sZW5ndGgoKSk7CiAgICAgaWYgKGds
eXBoT3ZlcmZsb3cpIHsKLSAgICAgICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4PGludD4oZ2x5
cGhPdmVyZmxvdy0+dG9wLCBjZWlsZigtY29udHJvbGxlci5taW5HbHlwaEJvdW5kaW5nQm94WSgp
KSAtIGFzY2VudCgpKTsKLSAgICAgICAgZ2x5cGhPdmVyZmxvdy0+Ym90dG9tID0gbWF4PGludD4o
Z2x5cGhPdmVyZmxvdy0+Ym90dG9tLCBjZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91bmRpbmdC
b3hZKCkpIC0gZGVzY2VudCgpKTsKKyAgICAgICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4PGlu
dD4oZ2x5cGhPdmVyZmxvdy0+dG9wLCBjZWlsZigtY29udHJvbGxlci5taW5HbHlwaEJvdW5kaW5n
Qm94WSgpKSAtIGZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOworICAgICAgICBnbHlwaE92ZXJmbG93
LT5ib3R0b20gPSBtYXg8aW50PihnbHlwaE92ZXJmbG93LT5ib3R0b20sIGNlaWxmKGNvbnRyb2xs
ZXIubWF4R2x5cGhCb3VuZGluZ0JveFkoKSkgLSBmb250TWV0cmljcygpLmRlc2NlbnQoKSk7CiAg
ICAgICAgIGdseXBoT3ZlcmZsb3ctPmxlZnQgPSBtYXg8aW50PigwLCBjZWlsZigtY29udHJvbGxl
ci5taW5HbHlwaEJvdW5kaW5nQm94WCgpKSk7CiAgICAgICAgIGdseXBoT3ZlcmZsb3ctPnJpZ2h0
ID0gbWF4PGludD4oMCwgY2VpbGYoY29udHJvbGxlci5tYXhHbHlwaEJvdW5kaW5nQm94WCgpIC0g
Y29udHJvbGxlci5ydW5XaWR0aFNvRmFyKCkpKTsKICAgICB9CkluZGV4OiBXZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNHV2luLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNHV2luLmNwcAkocmV2
aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250
RGF0YUNHV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjQsMTEgKzY0LDExIEBAIHZvaWQgU2lt
cGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgaW50IGlBc2NlbnQgPSBDR0ZvbnRHZXRB
c2NlbnQoZm9udCk7CiAgICAgaW50IGlEZXNjZW50ID0gQ0dGb250R2V0RGVzY2VudChmb250KTsK
ICAgICBpbnQgaUxpbmVHYXAgPSBDR0ZvbnRHZXRMZWFkaW5nKGZvbnQpOwotICAgIG1fdW5pdHNQ
ZXJFbSA9IENHRm9udEdldFVuaXRzUGVyRW0oZm9udCk7CisgICAgdW5zaWduZWQgdW5pdHNQZXJF
bSA9IENHRm9udEdldFVuaXRzUGVyRW0oZm9udCk7CiAgICAgZmxvYXQgcG9pbnRTaXplID0gbV9w
bGF0Zm9ybURhdGEuc2l6ZSgpOwotICAgIGZsb2F0IGZBc2NlbnQgPSBzY2FsZUVtVG9Vbml0cyhp
QXNjZW50LCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXplOwotICAgIGZsb2F0IGZEZXNjZW50ID0g
LXNjYWxlRW1Ub1VuaXRzKGlEZXNjZW50LCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXplOwotICAg
IGZsb2F0IGZMaW5lR2FwID0gc2NhbGVFbVRvVW5pdHMoaUxpbmVHYXAsIG1fdW5pdHNQZXJFbSkg
KiBwb2ludFNpemU7CisgICAgZmxvYXQgZkFzY2VudCA9IHNjYWxlRW1Ub1VuaXRzKGlBc2NlbnQs
IHVuaXRzUGVyRW0pICogcG9pbnRTaXplOworICAgIGZsb2F0IGZEZXNjZW50ID0gLXNjYWxlRW1U
b1VuaXRzKGlEZXNjZW50LCB1bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAgICBmbG9hdCBmTGlu
ZUdhcCA9IHNjYWxlRW1Ub1VuaXRzKGlMaW5lR2FwLCB1bml0c1BlckVtKSAqIHBvaW50U2l6ZTsK
IAogICAgIGlmICghaXNDdXN0b21Gb250KCkpIHsKICAgICAgICAgSERDIGRjID0gR2V0REMoMCk7
CkBAIC05MywxMCArOTMsMTAgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkK
ICAgICAgICAgfQogICAgIH0KIAotICAgIG1fYXNjZW50ID0gbHJvdW5kZihmQXNjZW50KTsKLSAg
ICBtX2Rlc2NlbnQgPSBscm91bmRmKGZEZXNjZW50KTsKLSAgICBtX2xpbmVHYXAgPSBscm91bmRm
KGZMaW5lR2FwKTsKLSAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rlc2NlbnQgKyBt
X2xpbmVHYXA7CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoZkFzY2VudCk7CisgICAgbV9m
b250TWV0cmljcy5zZXREZXNjZW50KGZEZXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExp
bmVHYXAoZkxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoZkFzY2Vu
dCArIGZEZXNjZW50ICsgZkxpbmVHYXApOwogCiAgICAgLy8gTWVhc3VyZSB0aGUgYWN0dWFsIGNo
YXJhY3RlciAieCIsIGJlY2F1c2UgQXBwS2l0IHN5bnRoZXNpemVzIFggaGVpZ2h0IHJhdGhlciB0
aGFuIGdldHRpbmcgaXQgZnJvbSB0aGUgZm9udC4KICAgICAvLyBVbmZvcnR1bmF0ZWx5LCBOU0Zv
bnQgd2lsbCByb3VuZCB0aGlzIGZvciB1cyBzbyB3ZSBkb24ndCBxdWl0ZSBnZXQgdGhlIHJpZ2h0
IHZhbHVlLgpAQCAtMTA5LDExICsxMDksMTMgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZv
cm1Jbml0KCkKICAgICAgICAgLy8gYW5kIHdlYiBwYWdlcyB0aGF0IGZvb2xpc2hseSB1c2UgdGhp
cyBtZXRyaWMgZm9yIHdpZHRoIHdpbGwgYmUgbGFpZCBvdXQKICAgICAgICAgLy8gcG9vcmx5IGlm
IHdlIHJldHVybiBhbiBhY2N1cmF0ZSBoZWlnaHQuIENsYXNzaWMgY2FzZSBpcyBUaW1lcyAxMyBw
b2ludCwKICAgICAgICAgLy8gd2hpY2ggaGFzIGFuICJ4IiB0aGF0IGlzIDd4NiBwaXhlbHMuCi0g
ICAgICAgIG1feEhlaWdodCA9IHNjYWxlRW1Ub1VuaXRzKG1heChDR1JlY3RHZXRNYXhYKHhCb3gp
LCBDR1JlY3RHZXRNYXhZKHhCb3gpKSwgbV91bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAgICAg
ICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHNjYWxlRW1Ub1VuaXRzKG1heChDR1JlY3RHZXRN
YXhYKHhCb3gpLCBDR1JlY3RHZXRNYXhZKHhCb3gpKSwgdW5pdHNQZXJFbSkgKiBwb2ludFNpemUp
OwogICAgIH0gZWxzZSB7CiAgICAgICAgIGludCBpWEhlaWdodCA9IENHRm9udEdldFhIZWlnaHQo
Zm9udCk7Ci0gICAgICAgIG1feEhlaWdodCA9IHNjYWxlRW1Ub1VuaXRzKGlYSGVpZ2h0LCBtX3Vu
aXRzUGVyRW0pICogcG9pbnRTaXplOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQo
c2NhbGVFbVRvVW5pdHMoaVhIZWlnaHQsIHVuaXRzUGVyRW0pICogcG9pbnRTaXplKTsKICAgICB9
CisKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFVuaXRzUGVyRW0odW5pdHNQZXJFbSk7CiB9CiAKIHZv
aWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQ2hhcldpZHRoSW5pdCgpCkBAIC0xMzMsNyArMTM1
LDcgQEAgRmxvYXRSZWN0IFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUJvdW5kcwogICAgIENHUmVj
dCBib3g7CiAgICAgQ0dGb250R2V0R2x5cGhCQm94ZXMobV9wbGF0Zm9ybURhdGEuY2dGb250KCks
ICZnbHlwaCwgMSwgJmJveCk7CiAgICAgZmxvYXQgcG9pbnRTaXplID0gbV9wbGF0Zm9ybURhdGEu
c2l6ZSgpOwotICAgIENHRmxvYXQgc2NhbGUgPSBwb2ludFNpemUgLyB1bml0c1BlckVtKCk7Cisg
ICAgQ0dGbG9hdCBzY2FsZSA9IHBvaW50U2l6ZSAvIGZvbnRNZXRyaWNzKCkudW5pdHNQZXJFbSgp
OwogICAgIEZsb2F0UmVjdCBib3VuZGluZ0JveCA9IENHUmVjdEFwcGx5QWZmaW5lVHJhbnNmb3Jt
KGJveCwgQ0dBZmZpbmVUcmFuc2Zvcm1NYWtlU2NhbGUoc2NhbGUsIC1zY2FsZSkpOwogICAgIGlm
IChtX3N5bnRoZXRpY0JvbGRPZmZzZXQpCiAgICAgICAgIGJvdW5kaW5nQm94LnNldFdpZHRoKGJv
dW5kaW5nQm94LndpZHRoKCkgKyBtX3N5bnRoZXRpY0JvbGRPZmZzZXQpOwpJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFDYWlyb1dpbi5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFDYWly
b1dpbi5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vU2ltcGxlRm9udERhdGFDYWlyb1dpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDEzICs2
MywxNiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogCiAgICAgVEVYVE1F
VFJJQyB0ZXh0TWV0cmljczsKICAgICBHZXRUZXh0TWV0cmljcyhoZGMsICZ0ZXh0TWV0cmljcyk7
Ci0gICAgbV9hc2NlbnQgPSBscm91bmRmKHRleHRNZXRyaWNzLnRtQXNjZW50ICogbWV0cmljc011
bHRpcGxpZXIpOwotICAgIG1fZGVzY2VudCA9IGxyb3VuZGYodGV4dE1ldHJpY3MudG1EZXNjZW50
ICogbWV0cmljc011bHRpcGxpZXIpOwotICAgIG1feEhlaWdodCA9IG1fYXNjZW50ICogMC41NmY7
IC8vIEJlc3QgZ3Vlc3MgZm9yIHhIZWlnaHQgZm9yIG5vbi1UcnVldHlwZSBmb250cy4KLSAgICBt
X2xpbmVHYXAgPSBscm91bmRmKHRleHRNZXRyaWNzLnRtRXh0ZXJuYWxMZWFkaW5nICogbWV0cmlj
c011bHRpcGxpZXIpOwotICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2VudCAr
IG1fbGluZUdhcDsKLSAgICBtX2F2Z0NoYXJXaWR0aCA9IGxyb3VuZGYodGV4dE1ldHJpY3MudG1B
dmVDaGFyV2lkdGggKiBtZXRyaWNzTXVsdGlwbGllcik7Ci0gICAgbV9tYXhDaGFyV2lkdGggPSBs
cm91bmRmKHRleHRNZXRyaWNzLnRtTWF4Q2hhcldpZHRoICogbWV0cmljc011bHRpcGxpZXIpOwor
ICAgIGZsb2F0IGFzY2VudCA9IHRleHRNZXRyaWNzLnRtQXNjZW50ICogbWV0cmljc011bHRpcGxp
ZXI7CisgICAgZmxvYXQgZGVzY2VudCA9IHRleHRNZXRyaWNzLnRtRGVzY2VudCAqIG1ldHJpY3NN
dWx0aXBsaWVyOworICAgIGZsb2F0IHhIZWlnaHQgPSBhc2NlbnQgKiAwLjU2ZjsgLy8gQmVzdCBn
dWVzcyBmb3IgeEhlaWdodCBmb3Igbm9uLVRydWV0eXBlIGZvbnRzLgorICAgIGZsb2F0IGxpbmVH
YXAgPSB0ZXh0TWV0cmljcy50bUV4dGVybmFsTGVhZGluZyAqIG1ldHJpY3NNdWx0aXBsaWVyOwor
ICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGFzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5z
ZXREZXNjZW50KGRlc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChsaW5lR2Fw
KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGFzY2VudCArIGRlc2NlbnQgKyBs
aW5lR2FwKTsKKyAgICBtX2F2Z0NoYXJXaWR0aCA9IHRleHRNZXRyaWNzLnRtQXZlQ2hhcldpZHRo
ICogbWV0cmljc011bHRpcGxpZXI7CisgICAgbV9tYXhDaGFyV2lkdGggPSB0ZXh0TWV0cmljcy50
bU1heENoYXJXaWR0aCAqIG1ldHJpY3NNdWx0aXBsaWVyOwogCiAgICAgT1VUTElORVRFWFRNRVRS
SUMgbWV0cmljczsKICAgICBpZiAoR2V0T3V0bGluZVRleHRNZXRyaWNzKGhkYywgc2l6ZW9mKG1l
dHJpY3MpLCAmbWV0cmljcykgPiAwKSB7CkBAIC03OCw5ICs4MSwxMCBAQCB2b2lkIFNpbXBsZUZv
bnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgICAgICBNQVQyIG1hdCA9IHsgMSwgMCwgMCwgMSB9
OwogICAgICAgICBEV09SRCBsZW4gPSBHZXRHbHlwaE91dGxpbmUoaGRjLCAneCcsIEdHT19NRVRS
SUNTLCAmZ20sIDAsIDAsICZtYXQpOwogICAgICAgICBpZiAobGVuICE9IEdESV9FUlJPUiAmJiBn
bS5nbXB0R2x5cGhPcmlnaW4ueSA+IDApCi0gICAgICAgICAgICBtX3hIZWlnaHQgPSBnbS5nbXB0
R2x5cGhPcmlnaW4ueSAqIG1ldHJpY3NNdWx0aXBsaWVyOworICAgICAgICAgICAgeEhlaWdodCA9
IGdtLmdtcHRHbHlwaE9yaWdpbi55ICogbWV0cmljc011bHRpcGxpZXI7CiAgICAgfQogCisgICAg
bV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHhIZWlnaHQpOwogICAgIGNhaXJvX3dpbjMyX3NjYWxl
ZF9mb250X2RvbmVfZm9udChzY2FsZWRGb250KTsKIAogICAgIG1faXNTeXN0ZW1Gb250ID0gZmFs
c2U7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdp
bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxl
Rm9udERhdGFXaW4uY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjYsMTQg
KzY2LDkgQEAgYm9vbCBTaW1wbGVGb250RGF0YTo6c2hvdWxkQXBwbHlNYWNBc2Nlbgogdm9pZCBT
aW1wbGVGb250RGF0YTo6aW5pdEdESUZvbnQoKQogewogICAgIGlmICghbV9wbGF0Zm9ybURhdGEu
c2l6ZSgpKSB7Ci0gICAgICAgIG1fYXNjZW50ID0gMDsKLSAgICAgICAgbV9kZXNjZW50ID0gMDsK
LSAgICAgICAgbV9saW5lR2FwID0gMDsKLSAgICAgICAgbV9saW5lU3BhY2luZyA9IDA7CisgICAg
ICAgIG1fZm9udE1ldHJpY3MucmVzZXQoKTsKICAgICAgICAgbV9hdmdDaGFyV2lkdGggPSAwOwog
ICAgICAgICBtX21heENoYXJXaWR0aCA9IDA7Ci0gICAgICAgIG1feEhlaWdodCA9IDA7Ci0gICAg
ICAgIG1fdW5pdHNQZXJFbSA9IDA7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTgyLDIx
ICs3NywyNSBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjppbml0R0RJRm9udCgpCiAgICAgIE9VVExJ
TkVURVhUTUVUUklDIG1ldHJpY3M7CiAgICAgIEdldE91dGxpbmVUZXh0TWV0cmljcyhoZGMsIHNp
emVvZihtZXRyaWNzKSwgJm1ldHJpY3MpOwogICAgICBURVhUTUVUUklDJiB0ZXh0TWV0cmljcyA9
IG1ldHJpY3Mub3RtVGV4dE1ldHJpY3M7Ci0gICAgIG1fYXNjZW50ID0gdGV4dE1ldHJpY3MudG1B
c2NlbnQ7Ci0gICAgIG1fZGVzY2VudCA9IHRleHRNZXRyaWNzLnRtRGVzY2VudDsKLSAgICAgbV9s
aW5lR2FwID0gdGV4dE1ldHJpY3MudG1FeHRlcm5hbExlYWRpbmc7Ci0gICAgIG1fbGluZVNwYWNp
bmcgPSBtX2FzY2VudCArIG1fZGVzY2VudCArIG1fbGluZUdhcDsKKyAgICAgZmxvYXQgYXNjZW50
ID0gdGV4dE1ldHJpY3MudG1Bc2NlbnQ7CisgICAgIGZsb2F0IGRlc2NlbnQgPSB0ZXh0TWV0cmlj
cy50bURlc2NlbnQ7CisgICAgIGZsb2F0IGxpbmVHYXAgPSB0ZXh0TWV0cmljcy50bUV4dGVybmFs
TGVhZGluZzsKKyAgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAgICAgbV9m
b250TWV0cmljcy5zZXREZXNjZW50KGRlc2NlbnQpOworICAgICBtX2ZvbnRNZXRyaWNzLnNldExp
bmVHYXAobGluZUdhcCk7CisgICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNjZW50
ICsgZGVzY2VudCArIGxpbmVHYXApOwogICAgICBtX2F2Z0NoYXJXaWR0aCA9IHRleHRNZXRyaWNz
LnRtQXZlQ2hhcldpZHRoOwogICAgICBtX21heENoYXJXaWR0aCA9IHRleHRNZXRyaWNzLnRtTWF4
Q2hhcldpZHRoOwotICAgICBtX3hIZWlnaHQgPSBtX2FzY2VudCAqIDAuNTZmOyAvLyBCZXN0IGd1
ZXNzIGZvciB4SGVpZ2h0IGlmIG5vIHggZ2x5cGggaXMgcHJlc2VudC4KKyAgICAgZmxvYXQgeEhl
aWdodCA9IGFzY2VudCAqIDAuNTZmOyAvLyBCZXN0IGd1ZXNzIGZvciB4SGVpZ2h0IGlmIG5vIHgg
Z2x5cGggaXMgcHJlc2VudC4KIAogICAgICBHTFlQSE1FVFJJQ1MgZ207CiAgICAgIE1BVDIgbWF0
ID0geyAxLCAwLCAwLCAxIH07CiAgICAgIERXT1JEIGxlbiA9IEdldEdseXBoT3V0bGluZShoZGMs
ICd4JywgR0dPX01FVFJJQ1MsICZnbSwgMCwgMCwgJm1hdCk7CiAgICAgIGlmIChsZW4gIT0gR0RJ
X0VSUk9SICYmIGdtLmdtcHRHbHlwaE9yaWdpbi55ID4gMCkKLSAgICAgICAgIG1feEhlaWdodCA9
IGdtLmdtcHRHbHlwaE9yaWdpbi55OworICAgICAgICAgeEhlaWdodCA9IGdtLmdtcHRHbHlwaE9y
aWdpbi55OwogCi0gICAgIG1fdW5pdHNQZXJFbSA9IG1ldHJpY3Mub3RtRU1TcXVhcmU7CisgICAg
IG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh4SGVpZ2h0KTsKKyAgICAgbV9mb250TWV0cmljcy5z
ZXRVbml0c1BlckVtKG1ldHJpY3Mub3RtRU1TcXVhcmUpOwogCiAgICAgIFNlbGVjdE9iamVjdCho
ZGMsIG9sZEZvbnQpOwogICAgICBSZWxlYXNlREMoMCwgaGRjKTsKSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0Uu
Y3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2Uv
R3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTM1LDcgKzE1MzUs
NyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd1RleHQoY29uc3QgRm9uCiAgICAgbV9kYXRh
LT5tX29wYWNpdHkgKj0gZmlsbENvbG9yKCkuYWxwaGEoKSAvIDI1NS4wOwogCiAgICAgRmxvYXRS
ZWN0IHRleHRSZWN0ID0gZm9udC5zZWxlY3Rpb25SZWN0Rm9yVGV4dChydW4sIHBvaW50LCBmb250
LmhlaWdodCgpLCBmcm9tLCB0byk7Ci0gICAgdGV4dFJlY3Quc2V0WSh0ZXh0UmVjdC55KCkgLSBm
b250LmFzY2VudCgpKTsKKyAgICB0ZXh0UmVjdC5zZXRZKHRleHRSZWN0LnkoKSAtIGZvbnQuZm9u
dE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAgSW50UmVjdCB0clJlY3QgPSBlbmNsb3NpbmdJbnRS
ZWN0KG1fZGF0YS0+bWFwUmVjdCh0ZXh0UmVjdCkpOwogICAgIFJFQ1QgYm1wUmVjdDsKICAgICBB
bHBoYVBhaW50VHlwZSBhbHBoYVBhaW50VHlwZSA9IG11c3RTdXBwb3J0QWxwaGEgPyBBbHBoYVBh
aW50T3RoZXIgOiBBbHBoYVBhaW50Tm9uZTsKQEAgLTE1NDQsNyArMTU0NCw3IEBAIHZvaWQgR3Jh
cGhpY3NDb250ZXh0OjpkcmF3VGV4dChjb25zdCBGb24KICAgICAgICAgICAgIEdyYXBoaWNzQ29u
dGV4dCBnYygwKTsKICAgICAgICAgICAgIGdjLnNldEJpdG1hcChibXApOwogICAgICAgICAgICAg
Z2Muc2NhbGUoRmxvYXRTaXplKG1fZGF0YS0+bV90cmFuc2Zvcm0uYSgpLCBtX2RhdGEtPm1fdHJh
bnNmb3JtLmQoKSkpOwotICAgICAgICAgICAgZm9udC5kcmF3VGV4dCgmZ2MsIHJ1biwgSW50UG9p
bnQoMCwgZm9udC5hc2NlbnQoKSksIGZyb20sIHRvKTsKKyAgICAgICAgICAgIGZvbnQuZHJhd1Rl
eHQoJmdjLCBydW4sIEludFBvaW50KDAsIGZvbnQuZm9udE1ldHJpY3MoKS5hc2NlbnQoKSksIGZy
b20sIHRvKTsKICAgICAgICAgfQogICAgICAgICB1bnNpZ25lZCBrZXkxOwogICAgICAgICBIREMg
bWVtREMgPSBibXAtPmdldERDKCZrZXkxKTsKQEAgLTE1ODksNyArMTU4OSw3IEBAIHZvaWQgR3Jh
cGhpY3NDb250ZXh0OjpkcmF3VGV4dChjb25zdCBTaW0KICAgICAgICAgPyBmb250RGF0YS0+cGxh
dGZvcm1EYXRhKCkuZ2V0U2NhbGVkRm9udEhhbmRsZShoZWlnaHQsIHNjYWxlWCA9PSBzY2FsZVkg
PyAwIDogd2lkdGgpCiAgICAgICAgIDogMDsKIAotICAgIEZsb2F0UG9pbnQgc3RhcnRQb2ludChw
b2ludC54KCksIHBvaW50LnkoKSAtIGZvbnREYXRhLT5hc2NlbnQoKSk7CisgICAgRmxvYXRQb2lu
dCBzdGFydFBvaW50KHBvaW50LngoKSwgcG9pbnQueSgpIC0gZm9udERhdGEtPmZvbnRNZXRyaWNz
KCkuYXNjZW50KCkpOwogICAgIEZsb2F0UG9pbnQgdHJQb2ludCA9IG1fZGF0YS0+bWFwUG9pbnQo
c3RhcnRQb2ludCk7CiAgICAgaW50IHkgPSBzdGFibGVSb3VuZCh0clBvaW50LnkoKSk7CiAKSW5k
ZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2ltcGxlRm9udERhdGFXaW5DRS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9TaW1wbGVG
b250RGF0YVdpbkNFLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbmNlL1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
MSwxMSArNTEsMTQgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICBj
b25zdCBURVhUTUVUUklDJiB0bSA9IG1fcGxhdGZvcm1EYXRhLm1ldHJpY3MoKTsKICAgICBtX2lz
U3lzdGVtRm9udCA9IG1fcGxhdGZvcm1EYXRhLmlzU3lzdGVtRm9udCgpOwogCi0gICAgbV9hc2Nl
bnQgPSAodG0udG1Bc2NlbnQgKiBtX3BsYXRmb3JtRGF0YS5zaXplKCkgKyAzNikgLyA3MjsKLSAg
ICBtX2Rlc2NlbnQgPSAodG0udG1EZXNjZW50ICogbV9wbGF0Zm9ybURhdGEuc2l6ZSgpICsgMzYp
IC8gNzI7Ci0gICAgbV9saW5lR2FwID0gKHRtLnRtRXh0ZXJuYWxMZWFkaW5nICogbV9wbGF0Zm9y
bURhdGEuc2l6ZSgpICsgMzYpIC8gNzI7Ci0gICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsg
bV9kZXNjZW50ICsgbV9saW5lR2FwOwotICAgIG1feEhlaWdodCA9IG1fYXNjZW50ICogMC41NmY7
CisgICAgZmxvYXQgYXNjZW50ID0gKHRtLnRtQXNjZW50ICogbV9wbGF0Zm9ybURhdGEuc2l6ZSgp
ICsgMzYpIC8gNzIuMGY7CisgICAgZmxvYXQgZGVzY2VudCA9ICh0bS50bURlc2NlbnQgKiBtX3Bs
YXRmb3JtRGF0YS5zaXplKCkgKyAzNikgLyA3Mi4wZjsKKyAgICBmbG9hdCBsaW5lR2FwID0gKHRt
LnRtRXh0ZXJuYWxMZWFkaW5nICogbV9wbGF0Zm9ybURhdGEuc2l6ZSgpICsgMzYpIC8gNzIuMGY7
CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNz
LnNldERlc2NlbnQoZGVzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGxpbmVH
YXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNjZW50ICsgZGVzY2VudCAr
IGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodChhc2NlbnQgKiAwLjU2Zik7
CiB9CiAKIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtRGVzdHJveSgpCkluZGV4OiBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L1NpbXBsZUZvbnREYXRhV3guY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvU2ltcGxlRm9udERhdGFXeC5jcHAJKHJl
dmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9TaW1wbGVGb250
RGF0YVd4LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMsMTIgKzUzLDEyIEBAIHZvaWQgU2ltcGxl
Rm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgd3hGb250ICpmb250ID0gbV9wbGF0Zm9ybURh
dGEuZm9udCgpOwogICAgIGlmIChmb250ICYmIGZvbnQtPklzT2soKSkgewogICAgICAgICB3eEZv
bnRQcm9wZXJ0aWVzIHByb3BzID0gd3hGb250UHJvcGVydGllcyhmb250KTsKLSAgICAgICAgbV9h
c2NlbnQgPSBwcm9wcy5HZXRBc2NlbnQoKTsKLSAgICAgICAgbV9kZXNjZW50ID0gcHJvcHMuR2V0
RGVzY2VudCgpOwotICAgICAgICBtX2xpbmVTcGFjaW5nID0gcHJvcHMuR2V0TGluZVNwYWNpbmco
KTsKLSAgICAgICAgbV94SGVpZ2h0ID0gcHJvcHMuR2V0WEhlaWdodCgpOwotICAgICAgICBtX3Vu
aXRzUGVyRW0gPSAxOyAvLyBGSVhNRSEKLSAgICAgICAgbV9saW5lR2FwID0gcHJvcHMuR2V0TGlu
ZUdhcCgpOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChwcm9wcy5HZXRBc2NlbnQo
KSk7CisgICAgICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChwcm9wcy5HZXREZXNjZW50KCkp
OworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKHByb3BzLkdldExpbmVTcGFj
aW5nKCkpOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQocHJvcHMuR2V0WEhlaWdo
dCgpKTsKKyAgICAgICAgbV9mb250TWV0cmljcy5zZXRVbml0c1BlckVtKDEpOyAvLyBGSVhNRSEK
KyAgICAgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKHByb3BzLkdldExpbmVHYXAoKSk7CiAg
ICAgfQogCiAgICAgbV9zeW50aGV0aWNCb2xkT2Zmc2V0ID0gMC4wZjsKSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0
Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDUsNyArMzA1
LDcgQEAgdm9pZCBQb3B1cE1lbnVXaW46OmNhbGN1bGF0ZVBvc2l0aW9uQW5kUwogCiAgICAgLy8g
Rmlyc3QsIGRldGVybWluZSB0aGUgcG9wdXAncyBoZWlnaHQKICAgICBpbnQgaXRlbUNvdW50ID0g
Y2xpZW50KCktPmxpc3RTaXplKCk7Ci0gICAgbV9pdGVtSGVpZ2h0ID0gY2xpZW50KCktPm1lbnVT
dHlsZSgpLmZvbnQoKS5oZWlnaHQoKSArIG9wdGlvblNwYWNpbmdNaWRkbGU7CisgICAgbV9pdGVt
SGVpZ2h0ID0gY2xpZW50KCktPm1lbnVTdHlsZSgpLmZvbnQoKS5mb250TWV0cmljcygpLmhlaWdo
dCgpICsgb3B0aW9uU3BhY2luZ01pZGRsZTsKICAgICBpbnQgbmF0dXJhbEhlaWdodCA9IG1faXRl
bUhlaWdodCAqIGl0ZW1Db3VudDsKICAgICBpbnQgcG9wdXBIZWlnaHQgPSBtaW4obWF4UG9wdXBI
ZWlnaHQsIG5hdHVyYWxIZWlnaHQpOwogICAgIC8vIFRoZSBwb3B1cCBzaG91bGQgc2hvdyBhbiBp
bnRlZ3JhbCBudW1iZXIgb2YgaXRlbXMgKGkuZS4gbm8gcGFydGlhbCBpdGVtcyBzaG91bGQgYmUg
dmlzaWJsZSkKQEAgLTY0OCw3ICs2NDgsNyBAQCB2b2lkIFBvcHVwTWVudVdpbjo6cGFpbnQoY29u
c3QgSW50UmVjdCYgCiAgICAgICAgICAgICBpbnQgdGV4dFggPSBtYXgoMCwgY2xpZW50KCktPmNs
aWVudFBhZGRpbmdMZWZ0KCkgLSBjbGllbnQoKS0+Y2xpZW50SW5zZXRMZWZ0KCkpOwogICAgICAg
ICAgICAgaWYgKFJlbmRlclRoZW1lOjpkZWZhdWx0VGhlbWUoKS0+cG9wdXBPcHRpb25TdXBwb3J0
c1RleHRJbmRlbnQoKSAmJiBpdGVtU3R5bGUudGV4dERpcmVjdGlvbigpID09IExUUikKICAgICAg
ICAgICAgICAgICB0ZXh0WCArPSBpdGVtU3R5bGUudGV4dEluZGVudCgpLmNhbGNNaW5WYWx1ZShp
dGVtUmVjdC53aWR0aCgpKTsKLSAgICAgICAgICAgIGludCB0ZXh0WSA9IGl0ZW1SZWN0LnkoKSAr
IGl0ZW1Gb250LmFzY2VudCgpICsgKGl0ZW1SZWN0LmhlaWdodCgpIC0gaXRlbUZvbnQuaGVpZ2h0
KCkpIC8gMjsKKyAgICAgICAgICAgIGludCB0ZXh0WSA9IGl0ZW1SZWN0LnkoKSArIGl0ZW1Gb250
LmZvbnRNZXRyaWNzKCkuYXNjZW50KCkgKyAoaXRlbVJlY3QuaGVpZ2h0KCkgLSBpdGVtRm9udC5m
b250TWV0cmljcygpLmhlaWdodCgpKSAvIDI7CiAgICAgICAgICAgICBjb250ZXh0LmRyYXdCaWRp
VGV4dChpdGVtRm9udCwgdGV4dFJ1biwgSW50UG9pbnQodGV4dFgsIHRleHRZKSk7CiAgICAgICAg
IH0KICAgICB9CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9FbGxpcHNpc0JveC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvRWxsaXBzaXNCb3guY3BwCShyZXZpc2lvbiA3NDY2
NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL0VsbGlwc2lzQm94LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTEsNyArNTEsNyBAQCB2b2lkIEVsbGlwc2lzQm94OjpwYWludChQYWludEluZm8mIHBhaW50
CiAgICAgfQogCiAgICAgY29uc3QgU3RyaW5nJiBzdHIgPSBtX3N0cjsKLSAgICBjb250ZXh0LT5k
cmF3VGV4dChzdHlsZS0+Zm9udCgpLCBUZXh0UnVuKHN0ci5jaGFyYWN0ZXJzKCksIHN0ci5sZW5n
dGgoKSwgZmFsc2UsIDAsIDAsIGZhbHNlLCBzdHlsZS0+dmlzdWFsbHlPcmRlcmVkKCkpLCBJbnRQ
b2ludChtX3ggKyB0eCwgbV95ICsgdHkgKyBzdHlsZS0+Zm9udCgpLmFzY2VudCgpKSk7CisgICAg
Y29udGV4dC0+ZHJhd1RleHQoc3R5bGUtPmZvbnQoKSwgVGV4dFJ1bihzdHIuY2hhcmFjdGVycygp
LCBzdHIubGVuZ3RoKCksIGZhbHNlLCAwLCAwLCBmYWxzZSwgc3R5bGUtPnZpc3VhbGx5T3JkZXJl
ZCgpKSwgSW50UG9pbnQobV94ICsgdHgsIG1feSArIHR5ICsgc3R5bGUtPmZvbnRNZXRyaWNzKCku
YXNjZW50KCkpKTsKIAogICAgIC8vIFJlc3RvcmUgdGhlIHJlZ3VsYXIgZmlsbCBjb2xvci4KICAg
ICBpZiAodGV4dENvbG9yICE9IGNvbnRleHQtPmZpbGxDb2xvcigpKQpAQCAtNjMsNyArNjMsNyBA
QCB2b2lkIEVsbGlwc2lzQm94OjpwYWludChQYWludEluZm8mIHBhaW50CiAgICAgaWYgKG1fbWFy
a3VwQm94KSB7CiAgICAgICAgIC8vIFBhaW50IHRoZSBtYXJrdXAgYm94CiAgICAgICAgIHR4ICs9
IG1feCArIG1fbG9naWNhbFdpZHRoIC0gbV9tYXJrdXBCb3gtPngoKTsKLSAgICAgICAgdHkgKz0g
bV95ICsgc3R5bGUtPmZvbnQoKS5hc2NlbnQoKSAtIChtX21hcmt1cEJveC0+eSgpICsgbV9tYXJr
dXBCb3gtPnJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpLmFzY2VudCgpKTsK
KyAgICAgICAgdHkgKz0gbV95ICsgc3R5bGUtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkgLSAobV9t
YXJrdXBCb3gtPnkoKSArIG1fbWFya3VwQm94LT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGlu
ZSktPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwogICAgICAgICBtX21hcmt1cEJveC0+cGFpbnQo
cGFpbnRJbmZvLCB0eCwgdHkpOwogICAgIH0KIH0KQEAgLTEwNiw3ICsxMDYsNyBAQCBib29sIEVs
bGlwc2lzQm94Ojpub2RlQXRQb2ludChjb25zdCBIaXRUCiAgICAgaWYgKG1fbWFya3VwQm94KSB7
CiAgICAgICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IG1fcmVuZGVyZXItPnN0eWxlKG1fZmlyc3RM
aW5lKTsKICAgICAgICAgaW50IG10eCA9IHR4ICsgbV9sb2dpY2FsV2lkdGggLSBtX21hcmt1cEJv
eC0+eCgpOwotICAgICAgICBpbnQgbXR5ID0gdHkgKyBzdHlsZS0+Zm9udCgpLmFzY2VudCgpIC0g
KG1fbWFya3VwQm94LT55KCkgKyBtX21hcmt1cEJveC0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJz
dExpbmUpLT5mb250KCkuYXNjZW50KCkpOworICAgICAgICBpbnQgbXR5ID0gdHkgKyBzdHlsZS0+
Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSAtIChtX21hcmt1cEJveC0+eSgpICsgbV9tYXJrdXBCb3gt
PnJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7
CiAgICAgICAgIGlmIChtX21hcmt1cEJveC0+bm9kZUF0UG9pbnQocmVxdWVzdCwgcmVzdWx0LCB4
LCB5LCBtdHgsIG10eSkpIHsKICAgICAgICAgICAgIHJlbmRlcmVyKCktPnVwZGF0ZUhpdFRlc3RS
ZXN1bHQocmVzdWx0LCBJbnRQb2ludCh4IC0gbXR4LCB5IC0gbXR5KSk7CiAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmNwcAkocmV2aXNpb24gNzQ2NjUp
CisrKyBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05
MywxNCArOTMsMTQgQEAgaW50IElubGluZUJveDo6bG9naWNhbEhlaWdodCgpIGNvbnN0CiAjZW5k
aWYKICAgICAKICAgICBpZiAocmVuZGVyZXIoKS0+aXNUZXh0KCkpCi0gICAgICAgIHJldHVybiBt
X2lzVGV4dCA/IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpLmhlaWdodCgp
IDogMDsKKyAgICAgICAgcmV0dXJuIG1faXNUZXh0ID8gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJz
dExpbmUpLT5mb250TWV0cmljcygpLmhlaWdodCgpIDogMDsKICAgICBpZiAocmVuZGVyZXIoKS0+
aXNCb3goKSAmJiBwYXJlbnQoKSkKICAgICAgICAgcmV0dXJuIGlzSG9yaXpvbnRhbCgpID8gdG9S
ZW5kZXJCb3gobV9yZW5kZXJlciktPmhlaWdodCgpIDogdG9SZW5kZXJCb3gobV9yZW5kZXJlcikt
PndpZHRoKCk7CiAKICAgICBBU1NFUlQoaXNJbmxpbmVGbG93Qm94KCkpOwogICAgIFJlbmRlckJv
eE1vZGVsT2JqZWN0KiBmbG93T2JqZWN0ID0gYm94TW9kZWxPYmplY3QoKTsKLSAgICBjb25zdCBG
b250JiBmb250ID0gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCk7Ci0gICAg
aW50IHJlc3VsdCA9IGZvbnQuaGVpZ2h0KCk7CisgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRN
ZXRyaWNzID0gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250TWV0cmljcygpOwor
ICAgIGludCByZXN1bHQgPSBmb250TWV0cmljcy5oZWlnaHQoKTsKICAgICBpZiAocGFyZW50KCkp
CiAgICAgICAgIHJlc3VsdCArPSBmbG93T2JqZWN0LT5ib3JkZXJBbmRQYWRkaW5nTG9naWNhbEhl
aWdodCgpOwogICAgIHJldHVybiByZXN1bHQ7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVGbG93Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93
Qm94LmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93
Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDA4LDYgKzQwOCw3IEBAIHN0YXRpYyBpbnQgdmVy
dGljYWxQb3NpdGlvbkZvckJveChJbmxpbmUKICAgICAgICAgCiAgICAgICAgIGlmICh2ZXJ0aWNh
bEFsaWduICE9IEJBU0VMSU5FKSB7CiAgICAgICAgICAgICBjb25zdCBGb250JiBmb250ID0gcGFy
ZW50LT5zdHlsZShmaXJzdExpbmUpLT5mb250KCk7CisgICAgICAgICAgICBjb25zdCBGb250TWV0
cmljcyYgZm9udE1ldHJpY3MgPSBmb250LmZvbnRNZXRyaWNzKCk7CiAgICAgICAgICAgICBpbnQg
Zm9udFNpemUgPSBmb250LnBpeGVsU2l6ZSgpOwogCiAgICAgICAgICAgICBMaW5lRGlyZWN0aW9u
TW9kZSBsaW5lRGlyZWN0aW9uID0gcGFyZW50LT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5n
TW9kZSgpID8gSG9yaXpvbnRhbExpbmUgOiBWZXJ0aWNhbExpbmU7CkBAIC00MTcsMTEgKzQxOCwx
MSBAQCBzdGF0aWMgaW50IHZlcnRpY2FsUG9zaXRpb25Gb3JCb3goSW5saW5lCiAgICAgICAgICAg
ICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IFNVUEVSKQogICAgICAgICAgICAgICAgIHZlcnRp
Y2FsUG9zaXRpb24gLT0gZm9udFNpemUgLyAzICsgMTsKICAgICAgICAgICAgIGVsc2UgaWYgKHZl
cnRpY2FsQWxpZ24gPT0gVEVYVF9UT1ApCi0gICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlv
biArPSByZW5kZXJlci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwg
bGluZURpcmVjdGlvbikgLSBmb250LmFzY2VudChiYXNlbGluZVR5cGUpOworICAgICAgICAgICAg
ICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gcmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxp
bmVUeXBlLCBmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC0gZm9udE1ldHJpY3MuYXNjZW50KGJh
c2VsaW5lVHlwZSk7CiAgICAgICAgICAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IE1JRERM
RSkKLSAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IC1zdGF0aWNfY2FzdDxpbnQ+
KGZvbnQueEhlaWdodCgpIC8gMikgLSByZW5kZXJlci0+bGluZUhlaWdodChmaXJzdExpbmUsIGxp
bmVEaXJlY3Rpb24pIC8gMiArIHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlw
ZSwgZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKTsKKyAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBv
c2l0aW9uICs9IC1zdGF0aWNfY2FzdDxpbnQ+KGZvbnRNZXRyaWNzLnhIZWlnaHQoKSAvIDIpIC0g
cmVuZGVyZXItPmxpbmVIZWlnaHQoZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAvIDIgKyByZW5k
ZXJlci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURpcmVj
dGlvbik7CiAgICAgICAgICAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IFRFWFRfQk9UVE9N
KSB7Ci0gICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiArPSBmb250LmRlc2NlbnQoYmFz
ZWxpbmVUeXBlKTsKKyAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IGZvbnRNZXRy
aWNzLmRlc2NlbnQoYmFzZWxpbmVUeXBlKTsKICAgICAgICAgICAgICAgICAvLyBsaW5lSGVpZ2h0
IC0gYmFzZWxpbmVQb3NpdGlvbiBpcyBhbHdheXMgMCBmb3IgcmVwbGFjZWQgZWxlbWVudHMgKGV4
Y2VwdCBpbmxpbmUgYmxvY2tzKSwgc28gZG9uJ3QgYm90aGVyIHdhc3RpbmcgdGltZSBpbiB0aGF0
IGNhc2UuCiAgICAgICAgICAgICAgICAgaWYgKCFyZW5kZXJlci0+aXNSZXBsYWNlZCgpIHx8IHJl
bmRlcmVyLT5pc0lubGluZUJsb2NrT3JJbmxpbmVUYWJsZSgpKQogICAgICAgICAgICAgICAgICAg
ICB2ZXJ0aWNhbFBvc2l0aW9uIC09IChyZW5kZXJlci0+bGluZUhlaWdodChmaXJzdExpbmUsIGxp
bmVEaXJlY3Rpb24pIC0gcmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBm
aXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pKTsKQEAgLTUwMyw5ICs1MDQsMTAgQEAgdm9pZCBJbmxp
bmVGbG93Qm94Ojpjb21wdXRlTG9naWNhbEJveEhlaQogICAgICAgICAgICAgYmFzZWxpbmUgPSAw
OwogICAgICAgICAgICAgaW50IGJhc2VsaW5lVG9Cb3R0b20gPSAwOwogICAgICAgICAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCB1c2VkRm9udHMtPnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAg
ICAgICAgaW50IGhhbGZMZWFkaW5nID0gKHVzZWRGb250cy0+YXQoaSktPmxpbmVTcGFjaW5nKCkg
LSB1c2VkRm9udHMtPmF0KGkpLT5oZWlnaHQoKSkgLyAyOwotICAgICAgICAgICAgICAgIGludCB1
c2VkRm9udEJhc2VsaW5lID0gaGFsZkxlYWRpbmcgKyB1c2VkRm9udHMtPmF0KGkpLT5hc2NlbnQo
YmFzZWxpbmVUeXBlKTsKLSAgICAgICAgICAgICAgICBpbnQgdXNlZEZvbnRCYXNlbGluZVRvQm90
dG9tID0gdXNlZEZvbnRzLT5hdChpKS0+bGluZVNwYWNpbmcoKSAtIHVzZWRGb250QmFzZWxpbmU7
CisgICAgICAgICAgICAgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gdXNlZEZv
bnRzLT5hdChpKS0+Zm9udE1ldHJpY3MoKTsKKyAgICAgICAgICAgICAgICBpbnQgaGFsZkxlYWRp
bmcgPSAoZm9udE1ldHJpY3MubGluZVNwYWNpbmcoKSAtIGZvbnRNZXRyaWNzLmhlaWdodCgpKSAv
IDI7CisgICAgICAgICAgICAgICAgaW50IHVzZWRGb250QmFzZWxpbmUgPSBoYWxmTGVhZGluZyAr
IGZvbnRNZXRyaWNzLmFzY2VudChiYXNlbGluZVR5cGUpOworICAgICAgICAgICAgICAgIGludCB1
c2VkRm9udEJhc2VsaW5lVG9Cb3R0b20gPSBmb250TWV0cmljcy5saW5lU3BhY2luZygpIC0gdXNl
ZEZvbnRCYXNlbGluZTsKICAgICAgICAgICAgICAgICBpZiAoIWJhc2VsaW5lU2V0KSB7CiAgICAg
ICAgICAgICAgICAgICAgIGJhc2VsaW5lU2V0ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAg
YmFzZWxpbmUgPSB1c2VkRm9udEJhc2VsaW5lOwpAQCAtNTE1LDkgKzUxNyw5IEBAIHZvaWQgSW5s
aW5lRmxvd0JveDo6Y29tcHV0ZUxvZ2ljYWxCb3hIZWkKICAgICAgICAgICAgICAgICAgICAgYmFz
ZWxpbmVUb0JvdHRvbSA9IG1heChiYXNlbGluZVRvQm90dG9tLCB1c2VkRm9udEJhc2VsaW5lVG9C
b3R0b20pOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBpZiAoIWFmZmVjdHNB
c2NlbnQpCi0gICAgICAgICAgICAgICAgICAgIGFmZmVjdHNBc2NlbnQgPSB1c2VkRm9udHMtPmF0
KGkpLT5hc2NlbnQoKSAtIGN1cnItPmxvZ2ljYWxUb3AoKSA+IDA7CisgICAgICAgICAgICAgICAg
ICAgIGFmZmVjdHNBc2NlbnQgPSBmb250TWV0cmljcy5hc2NlbnQoKSAtIGN1cnItPmxvZ2ljYWxU
b3AoKSA+IDA7CiAgICAgICAgICAgICAgICAgaWYgKCFhZmZlY3RzRGVzY2VudCkKLSAgICAgICAg
ICAgICAgICAgICAgYWZmZWN0c0Rlc2NlbnQgPSB1c2VkRm9udHMtPmF0KGkpLT5kZXNjZW50KCkg
KyBjdXJyLT5sb2dpY2FsVG9wKCkgPiAwOworICAgICAgICAgICAgICAgICAgICBhZmZlY3RzRGVz
Y2VudCA9IGZvbnRNZXRyaWNzLmRlc2NlbnQoKSArIGN1cnItPmxvZ2ljYWxUb3AoKSA+IDA7CiAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICBsaW5lSGVpZ2h0ID0gYmFzZWxpbmUgKyBiYXNlbGlu
ZVRvQm90dG9tOwogICAgICAgICB9IGVsc2UgewpAQCAtNTI3LDExICs1MjksMTIgQEAgdm9pZCBJ
bmxpbmVGbG93Qm94Ojpjb21wdXRlTG9naWNhbEJveEhlaQogICAgICAgICAgICAgICAgIC8vIEV4
YW1pbmUgdGhlIGZvbnQgYm94IGZvciBpbmxpbmUgZmxvd3MgYW5kIHRleHQgYm94ZXMgdG8gc2Vl
IGlmIGFueSBwYXJ0IG9mIGl0IGlzIGFib3ZlIHRoZSBiYXNlbGluZS4KICAgICAgICAgICAgICAg
ICAvLyBJZiB0aGUgdG9wIG9mIG91ciBmb250IGJveCByZWxhdGl2ZSB0byB0aGUgcm9vdCBib3gg
YmFzZWxpbmUgaXMgYWJvdmUgdGhlIHJvb3QgYm94IGJhc2VsaW5lLCB0aGVuCiAgICAgICAgICAg
ICAgICAgLy8gd2UgYXJlIGNvbnRyaWJ1dGluZyB0byB0aGUgbWF4QXNjZW50IHZhbHVlLgotICAg
ICAgICAgICAgICAgIGFmZmVjdHNBc2NlbnQgPSBjdXJyLT5yZW5kZXJlcigpLT5zdHlsZShtX2Zp
cnN0TGluZSktPmZvbnQoKS5hc2NlbnQoYmFzZWxpbmVUeXBlKSAtIGN1cnItPmxvZ2ljYWxUb3Ao
KSA+IDA7CisgICAgICAgICAgICAgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0g
Y3Vyci0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250TWV0cmljcygpOworICAg
ICAgICAgICAgICAgIGFmZmVjdHNBc2NlbnQgPSBmb250TWV0cmljcy5hc2NlbnQoYmFzZWxpbmVU
eXBlKSAtIGN1cnItPmxvZ2ljYWxUb3AoKSA+IDA7CiAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgLy8gRGVzY2VudCBpcyBzaW1pbGFyLiAgSWYgYW55IHBhcnQgb2Ygb3VyIGZvbnQg
Ym94IGlzIGJlbG93IHRoZSByb290IGJveCdzIGJhc2VsaW5lLCB0aGVuCiAgICAgICAgICAgICAg
ICAgLy8gd2UgY29udHJpYnV0ZSB0byB0aGUgbWF4RGVzY2VudCB2YWx1ZS4KLSAgICAgICAgICAg
ICAgICBhZmZlY3RzRGVzY2VudCA9IGN1cnItPnJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5l
KS0+Zm9udCgpLmRlc2NlbnQoYmFzZWxpbmVUeXBlKSArIGN1cnItPmxvZ2ljYWxUb3AoKSA+IDA7
CisgICAgICAgICAgICAgICAgYWZmZWN0c0Rlc2NlbnQgPSBmb250TWV0cmljcy5kZXNjZW50KGJh
c2VsaW5lVHlwZSkgKyBjdXJyLT5sb2dpY2FsVG9wKCkgPiAwOwogICAgICAgICAgICAgfSBlbHNl
IHsKICAgICAgICAgICAgICAgICAvLyBSZXBsYWNlZCBlbGVtZW50cyBhbHdheXMgYWZmZWN0IGJv
dGggdGhlIGFzY2VudCBhbmQgZGVzY2VudC4KICAgICAgICAgICAgICAgICBhZmZlY3RzQXNjZW50
ID0gdHJ1ZTsKQEAgLTYwNiw4ICs2MDksOCBAQCB2b2lkIElubGluZUZsb3dCb3g6OnBsYWNlQm94
ZXNJbkJsb2NrRGlyCiAgICAgICAgIGludCBib3hIZWlnaHRJbmNsdWRpbmdNYXJnaW5zID0gYm94
SGVpZ2h0OwogICAgICAgICAgICAgCiAgICAgICAgIGlmIChjdXJyLT5pc1RleHQoKSB8fCBjdXJy
LT5pc0lubGluZUZsb3dCb3goKSkgewotICAgICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IGN1
cnItPnJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpOwotICAgICAgICAgICAg
bmV3TG9naWNhbFRvcCArPSBjdXJyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSkgLSBm
b250LmFzY2VudChiYXNlbGluZVR5cGUpOworICAgICAgICAgICAgY29uc3QgRm9udE1ldHJpY3Mm
IGZvbnRNZXRyaWNzID0gY3Vyci0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250
TWV0cmljcygpOworICAgICAgICAgICAgbmV3TG9naWNhbFRvcCArPSBjdXJyLT5iYXNlbGluZVBv
c2l0aW9uKGJhc2VsaW5lVHlwZSkgLSBmb250TWV0cmljcy5hc2NlbnQoYmFzZWxpbmVUeXBlKTsK
ICAgICAgICAgICAgIGlmIChjdXJyLT5pc0lubGluZUZsb3dCb3goKSkgewogICAgICAgICAgICAg
ICAgIFJlbmRlckJveE1vZGVsT2JqZWN0KiBib3hPYmplY3QgPSB0b1JlbmRlckJveE1vZGVsT2Jq
ZWN0KGN1cnItPnJlbmRlcmVyKCkpOwogICAgICAgICAgICAgICAgIG5ld0xvZ2ljYWxUb3AgLT0g
Ym94T2JqZWN0LT5zdHlsZShtX2ZpcnN0TGluZSktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkg
PyBib3hPYmplY3QtPmJvcmRlclRvcCgpICsgYm94T2JqZWN0LT5wYWRkaW5nVG9wKCkgOiAKQEAg
LTY2NSw4ICs2NjgsOCBAQCB2b2lkIElubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJbkJsb2NrRGly
CiAgICAgfQogCiAgICAgaWYgKGlzUm9vdElubGluZUJveCgpKSB7Ci0gICAgICAgIGNvbnN0IEZv
bnQmIGZvbnQgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKTsKLSAgICAg
ICAgc2V0TG9naWNhbFRvcChsb2dpY2FsVG9wKCkgKyBiYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5l
VHlwZSkgLSBmb250LmFzY2VudChiYXNlbGluZVR5cGUpKTsKKyAgICAgICAgY29uc3QgRm9udE1l
dHJpY3MmIGZvbnRNZXRyaWNzID0gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250
TWV0cmljcygpOworICAgICAgICBzZXRMb2dpY2FsVG9wKGxvZ2ljYWxUb3AoKSArIGJhc2VsaW5l
UG9zaXRpb24oYmFzZWxpbmVUeXBlKSAtIGZvbnRNZXRyaWNzLmFzY2VudChiYXNlbGluZVR5cGUp
KTsKICAgICAgICAgCiAgICAgICAgIGlmIChoYXNUZXh0Q2hpbGRyZW4oKSB8fCBzdHJpY3RNb2Rl
KSB7CiAgICAgICAgICAgICBpZiAoIXNldExpbmVUb3ApIHsKSW5kZXg6IFdlYkNvcmUvcmVuZGVy
aW5nL0lubGluZVRleHRCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZVRleHRCb3guY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZVRleHRCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NTcsNyArNDU3LDcgQEAgdm9pZCBJ
bmxpbmVUZXh0Qm94OjpwYWludChQYWludEluZm8mIHBhaQogICAgIEludFBvaW50IGJveE9yaWdp
biA9IGxvY2F0aW9uSW5jbHVkaW5nRmxpcHBpbmcoKTsKICAgICBib3hPcmlnaW4ubW92ZSh0eCwg
dHkpOyAgICAKICAgICBJbnRSZWN0IGJveFJlY3QoYm94T3JpZ2luLCBJbnRTaXplKGxvZ2ljYWxX
aWR0aCgpLCBsb2dpY2FsSGVpZ2h0KCkpKTsKLSAgICBJbnRQb2ludCB0ZXh0T3JpZ2luID0gSW50
UG9pbnQoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSArIHN0eWxlVG9Vc2UtPmZvbnQoKS5h
c2NlbnQoKSk7CisgICAgSW50UG9pbnQgdGV4dE9yaWdpbiA9IEludFBvaW50KGJveE9yaWdpbi54
KCksIGJveE9yaWdpbi55KCkgKyBzdHlsZVRvVXNlLT5mb250TWV0cmljcygpLmFzY2VudCgpKTsK
IAogICAgIGlmICghaXNIb3Jpem9udGFsKCkpIHsKICAgICAgICAgY29udGV4dC0+c2F2ZSgpOwpA
QCAtNTk3LDkgKzU5Nyw5IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnQoUGFpbnRJbmZvJiBw
YWkKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGVtcGhhc2lzTWFyayA9IHN0eWxlVG9Vc2UtPnRl
eHRFbXBoYXNpc01hcmtTdHJpbmcoKTsKICAgICBpZiAoIWVtcGhhc2lzTWFyay5pc0VtcHR5KCkp
IHsKICAgICAgICAgaWYgKHN0eWxlVG9Vc2UtPnRleHRFbXBoYXNpc1Bvc2l0aW9uKCkgPT0gVGV4
dEVtcGhhc2lzUG9zaXRpb25PdmVyKQotICAgICAgICAgICAgZW1waGFzaXNNYXJrT2Zmc2V0ID0g
LWZvbnQuYXNjZW50KCkgLSBmb250LmVtcGhhc2lzTWFya0Rlc2NlbnQoZW1waGFzaXNNYXJrKTsK
KyAgICAgICAgICAgIGVtcGhhc2lzTWFya09mZnNldCA9IC1mb250LmZvbnRNZXRyaWNzKCkuYXNj
ZW50KCkgLSBmb250LmVtcGhhc2lzTWFya0Rlc2NlbnQoZW1waGFzaXNNYXJrKTsKICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgZW1waGFzaXNNYXJrT2Zmc2V0ID0gZm9udC5kZXNjZW50KCkgKyBm
b250LmVtcGhhc2lzTWFya0FzY2VudChlbXBoYXNpc01hcmspOworICAgICAgICAgICAgZW1waGFz
aXNNYXJrT2Zmc2V0ID0gZm9udC5mb250TWV0cmljcygpLmRlc2NlbnQoKSArIGZvbnQuZW1waGFz
aXNNYXJrQXNjZW50KGVtcGhhc2lzTWFyayk7CiAgICAgfQogCiAgICAgaWYgKCFwYWludFNlbGVj
dGVkVGV4dE9ubHkpIHsKQEAgLTgxMSw3ICs4MTEsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBh
aW50RGVjb3JhdGlvbihHcmFwCiAgICAgYm9vbCBsaW5lc0FyZU9wYXF1ZSA9ICFpc1ByaW50aW5n
ICYmICghKGRlY28gJiBVTkRFUkxJTkUpIHx8IHVuZGVybGluZS5hbHBoYSgpID09IDI1NSkgJiYg
KCEoZGVjbyAmIE9WRVJMSU5FKSB8fCBvdmVybGluZS5hbHBoYSgpID09IDI1NSkgJiYgKCEoZGVj
byAmIExJTkVfVEhST1VHSCkgfHwgbGluZXRocm91Z2guYWxwaGEoKSA9PSAyNTUpOwogCiAgICAg
UmVuZGVyU3R5bGUqIHN0eWxlVG9Vc2UgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSk7
Ci0gICAgaW50IGJhc2VsaW5lID0gc3R5bGVUb1VzZS0+Zm9udCgpLmFzY2VudCgpOworICAgIGlu
dCBiYXNlbGluZSA9IHN0eWxlVG9Vc2UtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCk7CiAKICAgICBi
b29sIHNldENsaXAgPSBmYWxzZTsKICAgICBpbnQgZXh0cmFPZmZzZXQgPSAwOwpAQCAtOTQ0LDcg
Kzk0NCw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRTcGVsbGluZ09yR3JhbW0KICAgICAv
LyBTbywgd2UgZ2VuZXJhbGx5IHBsYWNlIHRoZSB1bmRlcmxpbmUgYXQgdGhlIGJvdHRvbSBvZiB0
aGUgdGV4dCwgYnV0IGluIGxhcmdlciBmb250cyB0aGF0J3Mgbm90IHNvIGdvb2Qgc28KICAgICAv
LyB3ZSBwaW4gdG8gdHdvIHBpeGVscyB1bmRlciB0aGUgYmFzZWxpbmUuCiAgICAgaW50IGxpbmVU
aGlja25lc3MgPSBjTWlzc3BlbGxpbmdMaW5lVGhpY2tuZXNzOwotICAgIGludCBiYXNlbGluZSA9
IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpLmFzY2VudCgpOworICAgIGlu
dCBiYXNlbGluZSA9IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3Mo
KS5hc2NlbnQoKTsKICAgICBpbnQgZGVzY2VudCA9IGxvZ2ljYWxIZWlnaHQoKSAtIGJhc2VsaW5l
OwogICAgIGludCB1bmRlcmxpbmVPZmZzZXQ7CiAgICAgaWYgKGRlc2NlbnQgPD0gKDIgKyBsaW5l
VGhpY2tuZXNzKSkgewpAQCAtMTEwMSw3ICsxMTAxLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94Ojpw
YWludENvbXBvc2l0aW9uVW5kZQogICAgIC8vIEFsbCBvdGhlciBtYXJrZWQgdGV4dCB1bmRlcmxp
bmVzIGFyZSAxcHggdGhpY2suCiAgICAgLy8gSWYgdGhlcmUncyBub3QgZW5vdWdoIHNwYWNlIHRo
ZSB1bmRlcmxpbmUgd2lsbCB0b3VjaCBvciBvdmVybGFwIGNoYXJhY3RlcnMuCiAgICAgaW50IGxp
bmVUaGlja25lc3MgPSAxOwotICAgIGludCBiYXNlbGluZSA9IHJlbmRlcmVyKCktPnN0eWxlKG1f
Zmlyc3RMaW5lKS0+Zm9udCgpLmFzY2VudCgpOworICAgIGludCBiYXNlbGluZSA9IHJlbmRlcmVy
KCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKTsKICAgICBpZiAo
dW5kZXJsaW5lLnRoaWNrICYmIGxvZ2ljYWxIZWlnaHQoKSAtIGJhc2VsaW5lID49IDIpCiAgICAg
ICAgIGxpbmVUaGlja25lc3MgPSAyOwogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
CShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDk2MCw4ICs0OTYwLDggQEAgaW50IFJlbmRlckJsb2NrOjpiYXNl
bGluZVBvc2l0aW9uKEZvbnRCYQogICAgICAgICByZXR1cm4gUmVuZGVyQm94OjpiYXNlbGluZVBv
c2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBkaXJlY3Rpb24sIGxpbmVQb3NpdGlvbk1v
ZGUpOwogICAgIH0KIAotICAgIGNvbnN0IEZvbnQmIGYgPSBzdHlsZShmaXJzdExpbmUpLT5mb250
KCk7Ci0gICAgcmV0dXJuIGYuYXNjZW50KGJhc2VsaW5lVHlwZSkgKyAobGluZUhlaWdodChmaXJz
dExpbmUsIGRpcmVjdGlvbiwgbGluZVBvc2l0aW9uTW9kZSkgLSBmLmhlaWdodCgpKSAvIDI7Cisg
ICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gc3R5bGUoZmlyc3RMaW5lKS0+Zm9u
dE1ldHJpY3MoKTsKKyAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlwZSkg
KyAobGluZUhlaWdodChmaXJzdExpbmUsIGRpcmVjdGlvbiwgbGluZVBvc2l0aW9uTW9kZSkgLSBm
b250TWV0cmljcy5oZWlnaHQoKSkgLyAyOwogfQogCiBpbnQgUmVuZGVyQmxvY2s6OmZpcnN0TGlu
ZUJveEJhc2VsaW5lKCkgY29uc3QKQEAgLTQ5NzEsNyArNDk3MSw3IEBAIGludCBSZW5kZXJCbG9j
azo6Zmlyc3RMaW5lQm94QmFzZWxpbmUoKSAKIAogICAgIGlmIChjaGlsZHJlbklubGluZSgpKSB7
CiAgICAgICAgIGlmIChmaXJzdExpbmVCb3goKSkKLSAgICAgICAgICAgIHJldHVybiBmaXJzdExp
bmVCb3goKS0+bG9naWNhbFRvcCgpICsgc3R5bGUodHJ1ZSktPmZvbnQoKS5hc2NlbnQoZmlyc3RS
b290Qm94KCktPmJhc2VsaW5lVHlwZSgpKTsKKyAgICAgICAgICAgIHJldHVybiBmaXJzdExpbmVC
b3goKS0+bG9naWNhbFRvcCgpICsgc3R5bGUodHJ1ZSktPmZvbnRNZXRyaWNzKCkuYXNjZW50KGZp
cnN0Um9vdEJveCgpLT5iYXNlbGluZVR5cGUoKSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAg
IHJldHVybiAtMTsKICAgICB9CkBAIC00OTk3LDExICs0OTk3LDEzIEBAIGludCBSZW5kZXJCbG9j
azo6bGFzdExpbmVCb3hCYXNlbGluZSgpIGMKIAogICAgIGlmIChjaGlsZHJlbklubGluZSgpKSB7
CiAgICAgICAgIGlmICghZmlyc3RMaW5lQm94KCkgJiYgaGFzTGluZUlmRW1wdHkoKSkgewotICAg
ICAgICAgICAgY29uc3QgRm9udCYgZiA9IGZpcnN0TGluZVN0eWxlKCktPmZvbnQoKTsKLSAgICAg
ICAgICAgIHJldHVybiBmLmFzY2VudCgpICsgKGxpbmVIZWlnaHQodHJ1ZSwgbGluZURpcmVjdGlv
biwgUG9zaXRpb25PZkludGVyaW9yTGluZUJveGVzKSAtIGYuaGVpZ2h0KCkpIC8gMiArIChsaW5l
RGlyZWN0aW9uID09IEhvcml6b250YWxMaW5lID8gYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkg
OiBib3JkZXJSaWdodCgpICsgcGFkZGluZ1JpZ2h0KCkpOworICAgICAgICAgICAgY29uc3QgRm9u
dE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZmlyc3RMaW5lU3R5bGUoKS0+Zm9udE1ldHJpY3MoKTsK
KyAgICAgICAgICAgIHJldHVybiBmb250TWV0cmljcy5hc2NlbnQoKQorICAgICAgICAgICAgICAg
ICArIChsaW5lSGVpZ2h0KHRydWUsIGxpbmVEaXJlY3Rpb24sIFBvc2l0aW9uT2ZJbnRlcmlvckxp
bmVCb3hlcykgLSBmb250TWV0cmljcy5oZWlnaHQoKSkgLyAyCisgICAgICAgICAgICAgICAgICsg
KGxpbmVEaXJlY3Rpb24gPT0gSG9yaXpvbnRhbExpbmUgPyBib3JkZXJUb3AoKSArIHBhZGRpbmdU
b3AoKSA6IGJvcmRlclJpZ2h0KCkgKyBwYWRkaW5nUmlnaHQoKSk7CiAgICAgICAgIH0KICAgICAg
ICAgaWYgKGxhc3RMaW5lQm94KCkpCi0gICAgICAgICAgICByZXR1cm4gbGFzdExpbmVCb3goKS0+
bG9naWNhbFRvcCgpICsgc3R5bGUobGFzdExpbmVCb3goKSA9PSBmaXJzdExpbmVCb3goKSktPmZv
bnQoKS5hc2NlbnQobGFzdFJvb3RCb3goKS0+YmFzZWxpbmVUeXBlKCkpOworICAgICAgICAgICAg
cmV0dXJuIGxhc3RMaW5lQm94KCktPmxvZ2ljYWxUb3AoKSArIHN0eWxlKGxhc3RMaW5lQm94KCkg
PT0gZmlyc3RMaW5lQm94KCkpLT5mb250TWV0cmljcygpLmFzY2VudChsYXN0Um9vdEJveCgpLT5i
YXNlbGluZVR5cGUoKSk7CiAgICAgICAgIHJldHVybiAtMTsKICAgICB9IGVsc2UgewogICAgICAg
ICBib29sIGhhdmVOb3JtYWxGbG93Q2hpbGQgPSBmYWxzZTsKQEAgLTUwMTQsOCArNTAxNiwxMCBA
QCBpbnQgUmVuZGVyQmxvY2s6Omxhc3RMaW5lQm94QmFzZWxpbmUoKSBjCiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KICAgICAgICAgaWYgKCFoYXZlTm9ybWFsRmxvd0NoaWxkICYmIGhhc0xpbmVJ
ZkVtcHR5KCkpIHsKLSAgICAgICAgICAgIGNvbnN0IEZvbnQmIGYgPSBmaXJzdExpbmVTdHlsZSgp
LT5mb250KCk7Ci0gICAgICAgICAgICByZXR1cm4gZi5hc2NlbnQoKSArIChsaW5lSGVpZ2h0KHRy
dWUsIGxpbmVEaXJlY3Rpb24sIFBvc2l0aW9uT2ZJbnRlcmlvckxpbmVCb3hlcykgLSBmLmhlaWdo
dCgpKSAvIDIgKyAobGluZURpcmVjdGlvbiA9PSBIb3Jpem9udGFsTGluZSA/IGJvcmRlclRvcCgp
ICsgcGFkZGluZ1RvcCgpIDogYm9yZGVyUmlnaHQoKSArIHBhZGRpbmdSaWdodCgpKTsKKyAgICAg
ICAgICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IGZpcnN0TGluZVN0eWxlKCkt
PmZvbnRNZXRyaWNzKCk7CisgICAgICAgICAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KCkK
KyAgICAgICAgICAgICAgICAgKyAobGluZUhlaWdodCh0cnVlLCBsaW5lRGlyZWN0aW9uLCBQb3Np
dGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpIC8gMgorICAg
ICAgICAgICAgICAgICArIChsaW5lRGlyZWN0aW9uID09IEhvcml6b250YWxMaW5lID8gYm9yZGVy
VG9wKCkgKyBwYWRkaW5nVG9wKCkgOiBib3JkZXJSaWdodCgpICsgcGFkZGluZ1JpZ2h0KCkpOwog
ICAgICAgICB9CiAgICAgfQogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHJldmlzaW9u
IDc0NjY1KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjk2NCw3ICsyOTY0LDcgQEAgSW50UmVjdCBSZW5kZXJCb3g6OmxvY2FsQ2FyZXRSZWN0
KElubGluZQogICAgIC8vIDxyZGFyOi8vcHJvYmxlbS8zNzc3ODA0PiBEZWxldGluZyBhbGwgY29u
dGVudCBpbiBhIGRvY3VtZW50IGNhbiByZXN1bHQgaW4gZ2lhbnQgdGFsbC1hcy13aW5kb3cgaW5z
ZXJ0aW9uIHBvaW50CiAgICAgLy8KICAgICAvLyBGSVhNRTogaWdub3JpbmcgOmZpcnN0LWxpbmUs
IG1pc3NpbmcgZ29vZCByZWFzb24gdG8gdGFrZSBjYXJlIG9mCi0gICAgaW50IGZvbnRIZWlnaHQg
PSBzdHlsZSgpLT5mb250KCkuaGVpZ2h0KCk7CisgICAgaW50IGZvbnRIZWlnaHQgPSBzdHlsZSgp
LT5mb250TWV0cmljcygpLmhlaWdodCgpOwogICAgIGlmIChmb250SGVpZ2h0ID4gcmVjdC5oZWln
aHQoKSB8fCAoIWlzUmVwbGFjZWQoKSAmJiAhaXNUYWJsZSgpKSkKICAgICAgICAgcmVjdC5zZXRI
ZWlnaHQoZm9udEhlaWdodCk7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVk
ZGVkT2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJl
ZGRlZE9iamVjdC5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRW1iZWRkZWRPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzAsOCArMTcwLDkgQEAg
dm9pZCBSZW5kZXJFbWJlZGRlZE9iamVjdDo6cGFpbnRSZXBsYWNlZAogICAgIGNvbnRleHQtPnNl
dEZpbGxDb2xvcihtX21pc3NpbmdQbHVnaW5JbmRpY2F0b3JJc1ByZXNzZWQgPyByZXBsYWNlbWVu
dFRleHRSb3VuZGVkUmVjdFByZXNzZWRDb2xvcigpIDogQ29sb3I6OndoaXRlLCBzdHlsZSgpLT5j
b2xvclNwYWNlKCkpOwogICAgIGNvbnRleHQtPmZpbGxQYXRoKHBhdGgpOwogCisgICAgY29uc3Qg
Rm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZm9udC5mb250TWV0cmljcygpOwogICAgIGZsb2F0
IGxhYmVsWCA9IHJvdW5kZihyZXBsYWNlbWVudFRleHRSZWN0LmxvY2F0aW9uKCkueCgpICsgKHJl
cGxhY2VtZW50VGV4dFJlY3Quc2l6ZSgpLndpZHRoKCkgLSB0ZXh0V2lkdGgpIC8gMik7Ci0gICAg
ZmxvYXQgbGFiZWxZID0gcm91bmRmKHJlcGxhY2VtZW50VGV4dFJlY3QubG9jYXRpb24oKS55KCkg
KyAocmVwbGFjZW1lbnRUZXh0UmVjdC5zaXplKCkuaGVpZ2h0KCkgLSBmb250LmhlaWdodCgpKSAv
IDIgKyBmb250LmFzY2VudCgpKTsKKyAgICBmbG9hdCBsYWJlbFkgPSByb3VuZGYocmVwbGFjZW1l
bnRUZXh0UmVjdC5sb2NhdGlvbigpLnkoKSArIChyZXBsYWNlbWVudFRleHRSZWN0LnNpemUoKS5o
ZWlnaHQoKSAtIGZvbnRNZXRyaWNzLmhlaWdodCgpKSAvIDIgKyBmb250TWV0cmljcy5hc2NlbnQo
KSk7CiAgICAgY29udGV4dC0+c2V0QWxwaGEobV9taXNzaW5nUGx1Z2luSW5kaWNhdG9ySXNQcmVz
c2VkID8gcmVwbGFjZW1lbnRUZXh0UHJlc3NlZFRleHRPcGFjaXR5IDogcmVwbGFjZW1lbnRUZXh0
VGV4dE9wYWNpdHkpOwogICAgIGNvbnRleHQtPnNldEZpbGxDb2xvcihDb2xvcjo6YmxhY2ssIHN0
eWxlKCktPmNvbG9yU3BhY2UoKSk7CiAgICAgY29udGV4dC0+ZHJhd0JpZGlUZXh0KGZvbnQsIHJ1
biwgRmxvYXRQb2ludChsYWJlbFgsIGxhYmVsWSkpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklt
YWdlLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFn
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMSw3ICsxMTEsNyBAQCBib29sIFJlbmRlckltYWdl
OjpzZXRJbWFnZVNpemVGb3JBbHRUZXh0CiAgICAgLy8gd2UgaGF2ZSBhbiBhbHQgYW5kIHRoZSB1
c2VyIG1lYW50IGl0IChpdHMgbm90IGEgdGV4dCB3ZSBpbnZlbnRlZCkKICAgICBpZiAoIW1fYWx0
VGV4dC5pc0VtcHR5KCkpIHsKICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IHN0eWxlKCktPmZv
bnQoKTsKLSAgICAgICAgSW50U2l6ZSB0ZXh0U2l6ZShtaW4oZm9udC53aWR0aChUZXh0UnVuKG1f
YWx0VGV4dC5jaGFyYWN0ZXJzKCksIG1fYWx0VGV4dC5sZW5ndGgoKSkpLCBtYXhBbHRUZXh0V2lk
dGgpLCBtaW4oZm9udC5oZWlnaHQoKSwgbWF4QWx0VGV4dEhlaWdodCkpOworICAgICAgICBJbnRT
aXplIHRleHRTaXplKG1pbihmb250LndpZHRoKFRleHRSdW4obV9hbHRUZXh0LmNoYXJhY3RlcnMo
KSwgbV9hbHRUZXh0Lmxlbmd0aCgpKSksIG1heEFsdFRleHRXaWR0aCksIG1pbihmb250LmZvbnRN
ZXRyaWNzKCkuaGVpZ2h0KCksIG1heEFsdFRleHRIZWlnaHQpKTsKICAgICAgICAgaW1hZ2VTaXpl
ID0gaW1hZ2VTaXplLmV4cGFuZGVkVG8odGV4dFNpemUpOwogICAgIH0KIApAQCAtMjg4LDE3ICsy
ODgsMTggQEAgdm9pZCBSZW5kZXJJbWFnZTo6cGFpbnRSZXBsYWNlZChQYWludEluZgogICAgICAg
ICAgICAgICAgIGludCBheCA9IHR4ICsgbGVmdEJvcmRlciArIGxlZnRQYWQ7CiAgICAgICAgICAg
ICAgICAgaW50IGF5ID0gdHkgKyB0b3BCb3JkZXIgKyB0b3BQYWQ7CiAgICAgICAgICAgICAgICAg
Y29uc3QgRm9udCYgZm9udCA9IHN0eWxlKCktPmZvbnQoKTsKLSAgICAgICAgICAgICAgICBpbnQg
YXNjZW50ID0gZm9udC5hc2NlbnQoKTsKKyAgICAgICAgICAgICAgICBjb25zdCBGb250TWV0cmlj
cyYgZm9udE1ldHJpY3MgPSBmb250LmZvbnRNZXRyaWNzKCk7CisgICAgICAgICAgICAgICAgaW50
IGFzY2VudCA9IGZvbnRNZXRyaWNzLmFzY2VudCgpOwogCiAgICAgICAgICAgICAgICAgLy8gT25s
eSBkcmF3IHRoZSBhbHQgdGV4dCBpZiBpdCdsbCBmaXQgd2l0aGluIHRoZSBjb250ZW50IGJveCwK
ICAgICAgICAgICAgICAgICAvLyBhbmQgb25seSBpZiBpdCBmaXRzIGFib3ZlIHRoZSBlcnJvciBp
bWFnZS4KICAgICAgICAgICAgICAgICBUZXh0UnVuIHRleHRSdW4odGV4dC5jaGFyYWN0ZXJzKCks
IHRleHQubGVuZ3RoKCkpOwogICAgICAgICAgICAgICAgIGludCB0ZXh0V2lkdGggPSBmb250Lndp
ZHRoKHRleHRSdW4pOwogICAgICAgICAgICAgICAgIGlmIChlcnJvclBpY3R1cmVEcmF3bikgewot
ICAgICAgICAgICAgICAgICAgICBpZiAodXNhYmxlV2lkdGggPj0gdGV4dFdpZHRoICYmIGZvbnQu
aGVpZ2h0KCkgPD0gaW1hZ2VZKQotICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dC0+ZHJh
d1RleHQoc3R5bGUoKS0+Zm9udCgpLCB0ZXh0UnVuLCBJbnRQb2ludChheCwgYXkgKyBhc2NlbnQp
KTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHVzYWJsZVdpZHRoID49IHRleHRXaWR0aCAm
JiBjSGVpZ2h0ID49IGZvbnQuaGVpZ2h0KCkpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRleHQt
PmRyYXdUZXh0KHN0eWxlKCktPmZvbnQoKSwgdGV4dFJ1biwgSW50UG9pbnQoYXgsIGF5ICsgYXNj
ZW50KSk7CisgICAgICAgICAgICAgICAgICAgIGlmICh1c2FibGVXaWR0aCA+PSB0ZXh0V2lkdGgg
JiYgZm9udE1ldHJpY3MuaGVpZ2h0KCkgPD0gaW1hZ2VZKQorICAgICAgICAgICAgICAgICAgICAg
ICAgY29udGV4dC0+ZHJhd1RleHQoZm9udCwgdGV4dFJ1biwgSW50UG9pbnQoYXgsIGF5ICsgYXNj
ZW50KSk7CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh1c2FibGVXaWR0aCA+PSB0ZXh0V2lk
dGggJiYgY0hlaWdodCA+PSBmb250TWV0cmljcy5oZWlnaHQoKSkKKyAgICAgICAgICAgICAgICAg
ICAgY29udGV4dC0+ZHJhd1RleHQoZm9udCwgdGV4dFJ1biwgSW50UG9pbnQoYXgsIGF5ICsgYXNj
ZW50KSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKG1faW1hZ2VS
ZXNvdXJjZS0+aGFzSW1hZ2UoKSAmJiBjV2lkdGggPiAwICYmIGNIZWlnaHQgPiAwKSB7CkluZGV4
OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTA0LDggKzkw
NCw4IEBAIGludCBSZW5kZXJJbmxpbmU6OmxpbmVIZWlnaHQoYm9vbCBmaXJzdEwKIAogaW50IFJl
bmRlcklubGluZTo6YmFzZWxpbmVQb3NpdGlvbihGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlLCBi
b29sIGZpcnN0TGluZSwgTGluZURpcmVjdGlvbk1vZGUgZGlyZWN0aW9uLCBMaW5lUG9zaXRpb25N
b2RlIGxpbmVQb3NpdGlvbk1vZGUpIGNvbnN0CiB7Ci0gICAgY29uc3QgRm9udCYgZiA9IHN0eWxl
KGZpcnN0TGluZSktPmZvbnQoKTsKLSAgICByZXR1cm4gZi5hc2NlbnQoYmFzZWxpbmVUeXBlKSAr
IChsaW5lSGVpZ2h0KGZpcnN0TGluZSwgZGlyZWN0aW9uLCBsaW5lUG9zaXRpb25Nb2RlKSAtIGYu
aGVpZ2h0KCkpIC8gMjsKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBzdHls
ZShmaXJzdExpbmUpLT5mb250TWV0cmljcygpOworICAgIHJldHVybiBmb250TWV0cmljcy5hc2Nl
bnQoYmFzZWxpbmVUeXBlKSArIChsaW5lSGVpZ2h0KGZpcnN0TGluZSwgZGlyZWN0aW9uLCBsaW5l
UG9zaXRpb25Nb2RlKSAtIGZvbnRNZXRyaWNzLmhlaWdodCgpKSAvIDI7CiB9CiAKIEludFNpemUg
UmVuZGVySW5saW5lOjpyZWxhdGl2ZVBvc2l0aW9uZWRJbmxpbmVPZmZzZXQoY29uc3QgUmVuZGVy
Qm94KiBjaGlsZCkgY29uc3QKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3gu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCShy
ZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zMDYsNyArMzA2LDcgQEAgdm9pZCBSZW5kZXJMaXN0Qm94OjpwYWlu
dEl0ZW1Gb3JlZ3JvdW5kKAogCiAgICAgLy8gRGV0ZXJtaW5lIHdoZXJlIHRoZSBpdGVtIHRleHQg
c2hvdWxkIGJlIHBsYWNlZAogICAgIEludFJlY3QgciA9IGl0ZW1Cb3VuZGluZ0JveFJlY3QodHgs
IHR5LCBsaXN0SW5kZXgpOwotICAgIHIubW92ZShvcHRpb25zU3BhY2luZ0hvcml6b250YWwsIHN0
eWxlKCktPmZvbnQoKS5hc2NlbnQoKSk7CisgICAgci5tb3ZlKG9wdGlvbnNTcGFjaW5nSG9yaXpv
bnRhbCwgc3R5bGUoKS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAKICAgICBSZW5kZXJTdHls
ZSogaXRlbVN0eWxlID0gZWxlbWVudC0+cmVuZGVyU3R5bGUoKTsKICAgICBpZiAoIWl0ZW1TdHls
ZSkKQEAgLTU1MSw3ICs1NTEsNyBAQCB2b2lkIFJlbmRlckxpc3RCb3g6OnZhbHVlQ2hhbmdlZChT
Y3JvbGxiCiAKIGludCBSZW5kZXJMaXN0Qm94OjppdGVtSGVpZ2h0KCkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gc3R5bGUoKS0+Zm9udCgpLmhlaWdodCgpICsgcm93U3BhY2luZzsKKyAgICByZXR1cm4g
c3R5bGUoKS0+Zm9udE1ldHJpY3MoKS5oZWlnaHQoKSArIHJvd1NwYWNpbmc7CiB9CiAKIGludCBS
ZW5kZXJMaXN0Qm94Ojp2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCkgY29uc3QKSW5kZXg6IFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjY0
LDcgKzEyNjQsNyBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnBhaW50KFBhaW50SW5mbyYgCiAg
ICAgICAgIGNvbnRleHQtPnRyYW5zbGF0ZSgtbWFya2VyLngoKSwgLW1hcmtlci5ib3R0b20oKSk7
CiAgICAgfQogCi0gICAgSW50UG9pbnQgdGV4dE9yaWdpbiA9IEludFBvaW50KG1hcmtlci54KCks
IG1hcmtlci55KCkgKyBzdHlsZSgpLT5mb250KCkuYXNjZW50KCkpOworICAgIEludFBvaW50IHRl
eHRPcmlnaW4gPSBJbnRQb2ludChtYXJrZXIueCgpLCBtYXJrZXIueSgpICsgc3R5bGUoKS0+Zm9u
dE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAKICAgICBpZiAodHlwZSA9PSBBc3Rlcmlza3MgfHwgdHlw
ZSA9PSBGb290bm90ZXMpCiAgICAgICAgIGNvbnRleHQtPmRyYXdUZXh0KHN0eWxlKCktPmZvbnQo
KSwgdGV4dFJ1biwgdGV4dE9yaWdpbik7CkBAIC0xMzEwLDcgKzEzMTAsNyBAQCB2b2lkIFJlbmRl
ckxpc3RNYXJrZXI6OmxheW91dCgpCiAgICAgICAgIHNldEhlaWdodChtX2ltYWdlLT5pbWFnZVNp
emUodGhpcywgc3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKS5oZWlnaHQoKSk7CiAgICAgfSBlbHNl
IHsKICAgICAgICAgc2V0TG9naWNhbFdpZHRoKG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCgpKTsK
LSAgICAgICAgc2V0TG9naWNhbEhlaWdodChzdHlsZSgpLT5mb250KCkuaGVpZ2h0KCkpOworICAg
ICAgICBzZXRMb2dpY2FsSGVpZ2h0KHN0eWxlKCktPmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkpOwog
ICAgIH0KIAogICAgIHNldE1hcmdpblN0YXJ0KDApOwpAQCAtMTM0NSwxMSArMTM0NSwxMiBAQCB2
b2lkIFJlbmRlckxpc3RNYXJrZXI6OmNvbXB1dGVQcmVmZXJyZWRMCiAgICAgbV90ZXh0ID0gIiI7
CiAKICAgICBjb25zdCBGb250JiBmb250ID0gc3R5bGUoKS0+Zm9udCgpOworICAgIGNvbnN0IEZv
bnRNZXRyaWNzJiBmb250TWV0cmljcyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKIAogICAgIGlmIChp
c0ltYWdlKCkpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgaXMgYSBzb21ld2hhdCBhcmJpdHJh
cnkgd2lkdGguICBHZW5lcmF0ZWQgaW1hZ2VzIGZvciBtYXJrZXJzIHJlYWxseSB3b24ndCBiZWNv
bWUgcGFydGljdWxhcmx5IHVzZWZ1bAogICAgICAgICAvLyB1bnRpbCB3ZSBzdXBwb3J0IHRoZSBD
U1MzIG1hcmtlciBwc2V1ZG9jbGFzcyB0byBhbGxvdyBjb250cm9sIG92ZXIgdGhlIHdpZHRoIGFu
ZCBoZWlnaHQgb2YgdGhlIG1hcmtlciBib3guCi0gICAgICAgIGludCBidWxsZXRXaWR0aCA9IGZv
bnQuYXNjZW50KCkgLyAyOworICAgICAgICBpbnQgYnVsbGV0V2lkdGggPSBmb250TWV0cmljcy5h
c2NlbnQoKSAvIDI7CiAgICAgICAgIG1faW1hZ2UtPnNldEltYWdlQ29udGFpbmVyU2l6ZShJbnRT
aXplKGJ1bGxldFdpZHRoLCBidWxsZXRXaWR0aCkpOwogICAgICAgICBJbnRTaXplIGltYWdlU2l6
ZSA9IG1faW1hZ2UtPmltYWdlU2l6ZSh0aGlzLCBzdHlsZSgpLT5lZmZlY3RpdmVab29tKCkpOwog
ICAgICAgICBtX21pblByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1fbWF4UHJlZmVycmVkTG9naWNh
bFdpZHRoID0gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGltYWdlU2l6ZS53
aWR0aCgpIDogaW1hZ2VTaXplLmhlaWdodCgpOwpAQCAtMTM3Miw3ICsxMzczLDcgQEAgdm9pZCBS
ZW5kZXJMaXN0TWFya2VyOjpjb21wdXRlUHJlZmVycmVkTAogICAgICAgICBjYXNlIERpc2M6CiAg
ICAgICAgIGNhc2UgU3F1YXJlOgogICAgICAgICAgICAgbV90ZXh0ID0gbGlzdE1hcmtlclRleHQo
dHlwZSwgMCk7IC8vIHZhbHVlIGlzIGlnbm9yZWQgZm9yIHRoZXNlIHR5cGVzCi0gICAgICAgICAg
ICBsb2dpY2FsV2lkdGggPSAoZm9udC5hc2NlbnQoKSAqIDIgLyAzICsgMSkgLyAyICsgMjsKKyAg
ICAgICAgICAgIGxvZ2ljYWxXaWR0aCA9IChmb250TWV0cmljcy5hc2NlbnQoKSAqIDIgLyAzICsg
MSkgLyAyICsgMjsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEFmYXI6CiAgICAg
ICAgIGNhc2UgQW1oYXJpYzoKQEAgLTE0NzEsNyArMTQ3Miw3IEBAIHZvaWQgUmVuZGVyTGlzdE1h
cmtlcjo6Y29tcHV0ZVByZWZlcnJlZEwKIAogdm9pZCBSZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVN
YXJnaW5zKCkKIHsKLSAgICBjb25zdCBGb250JiBmb250ID0gc3R5bGUoKS0+Zm9udCgpOworICAg
IGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IHN0eWxlKCktPmZvbnRNZXRyaWNzKCk7
CiAKICAgICBpbnQgbWFyZ2luU3RhcnQgPSAwOwogICAgIGludCBtYXJnaW5FbmQgPSAwOwpAQCAt
MTQ4NCw3ICsxNDg1LDcgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVNYXJnaW5zKCkK
ICAgICAgICAgICAgIGNhc2UgQ2lyY2xlOgogICAgICAgICAgICAgY2FzZSBTcXVhcmU6CiAgICAg
ICAgICAgICAgICAgbWFyZ2luU3RhcnQgPSAtMTsKLSAgICAgICAgICAgICAgICBtYXJnaW5FbmQg
PSBmb250LmFzY2VudCgpIC0gbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyAxOworICAgICAg
ICAgICAgICAgIG1hcmdpbkVuZCA9IGZvbnRNZXRyaWNzLmFzY2VudCgpIC0gbWluUHJlZmVycmVk
TG9naWNhbFdpZHRoKCkgKyAxOwogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg
ZGVmYXVsdDoKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTE0OTQsNyArMTQ5NSw3IEBAIHZv
aWQgUmVuZGVyTGlzdE1hcmtlcjo6dXBkYXRlTWFyZ2lucygpCiAgICAgICAgICAgICBpZiAoaXNJ
bWFnZSgpKQogICAgICAgICAgICAgICAgIG1hcmdpblN0YXJ0ID0gLW1pblByZWZlcnJlZExvZ2lj
YWxXaWR0aCgpIC0gY01hcmtlclBhZGRpbmc7CiAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAg
ICAgICAgICBpbnQgb2Zmc2V0ID0gZm9udC5hc2NlbnQoKSAqIDIgLyAzOworICAgICAgICAgICAg
ICAgIGludCBvZmZzZXQgPSBmb250TWV0cmljcy5hc2NlbnQoKSAqIDIgLyAzOwogICAgICAgICAg
ICAgICAgIHN3aXRjaCAoc3R5bGUoKS0+bGlzdFN0eWxlVHlwZSgpKSB7CiAgICAgICAgICAgICAg
ICAgICAgIGNhc2UgRGlzYzoKICAgICAgICAgICAgICAgICAgICAgY2FzZSBDaXJjbGU6CkBAIC0x
NTEyLDcgKzE1MTMsNyBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZU1hcmdpbnMoKQog
ICAgICAgICAgICAgaWYgKGlzSW1hZ2UoKSkKICAgICAgICAgICAgICAgICBtYXJnaW5FbmQgPSBj
TWFya2VyUGFkZGluZzsKICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgIGludCBv
ZmZzZXQgPSBmb250LmFzY2VudCgpICogMiAvIDM7CisgICAgICAgICAgICAgICAgaW50IG9mZnNl
dCA9IGZvbnRNZXRyaWNzLmFzY2VudCgpICogMiAvIDM7CiAgICAgICAgICAgICAgICAgc3dpdGNo
IChzdHlsZSgpLT5saXN0U3R5bGVUeXBlKCkpIHsKICAgICAgICAgICAgICAgICAgICAgY2FzZSBE
aXNjOgogICAgICAgICAgICAgICAgICAgICBjYXNlIENpcmNsZToKQEAgLTE1ODMsMTUgKzE1ODQs
MTUgQEAgSW50UmVjdCBSZW5kZXJMaXN0TWFya2VyOjpnZXRSZWxhdGl2ZU1hcgogICAgICAgICBj
YXNlIEFzdGVyaXNrczoKICAgICAgICAgY2FzZSBGb290bm90ZXM6IHsKICAgICAgICAgICAgIGNv
bnN0IEZvbnQmIGZvbnQgPSBzdHlsZSgpLT5mb250KCk7Ci0gICAgICAgICAgICByZWxhdGl2ZVJl
Y3QgPSBJbnRSZWN0KDAsIDAsIGZvbnQud2lkdGgobV90ZXh0KSwgZm9udC5oZWlnaHQoKSk7Cisg
ICAgICAgICAgICByZWxhdGl2ZVJlY3QgPSBJbnRSZWN0KDAsIDAsIGZvbnQud2lkdGgobV90ZXh0
KSwgZm9udC5mb250TWV0cmljcygpLmhlaWdodCgpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICB9CiAgICAgICAgIGNhc2UgRGlzYzoKICAgICAgICAgY2FzZSBDaXJjbGU6CiAgICAgICAg
IGNhc2UgU3F1YXJlOiB7CiAgICAgICAgICAgICAvLyBGSVhNRTogQXJlIHRoZXNlIHBhcnRpY3Vs
YXIgcm91bmRpbmcgcnVsZXMgbmVjZXNzYXJ5PwotICAgICAgICAgICAgY29uc3QgRm9udCYgZm9u
dCA9IHN0eWxlKCktPmZvbnQoKTsKLSAgICAgICAgICAgIGludCBhc2NlbnQgPSBmb250LmFzY2Vu
dCgpOworICAgICAgICAgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gc3R5bGUo
KS0+Zm9udE1ldHJpY3MoKTsKKyAgICAgICAgICAgIGludCBhc2NlbnQgPSBmb250TWV0cmljcy5h
c2NlbnQoKTsKICAgICAgICAgICAgIGludCBidWxsZXRXaWR0aCA9IChhc2NlbnQgKiAyIC8gMyAr
IDEpIC8gMjsKICAgICAgICAgICAgIHJlbGF0aXZlUmVjdCA9IEludFJlY3QoMSwgMyAqIChhc2Nl
bnQgLSBhc2NlbnQgKiAyIC8gMykgLyAyLCBidWxsZXRXaWR0aCwgYnVsbGV0V2lkdGgpOwogICAg
ICAgICAgICAgYnJlYWs7CkBAIC0xNjc5LDcgKzE2ODAsNyBAQCBJbnRSZWN0IFJlbmRlckxpc3RN
YXJrZXI6OmdldFJlbGF0aXZlTWFyCiAgICAgICAgICAgICBpbnQgaXRlbVdpZHRoID0gZm9udC53
aWR0aChtX3RleHQpOwogICAgICAgICAgICAgVUNoYXIgc3VmZml4U3BhY2VbMl0gPSB7IGxpc3RN
YXJrZXJTdWZmaXgodHlwZSwgbV9saXN0SXRlbS0+dmFsdWUoKSksICcgJyB9OwogICAgICAgICAg
ICAgaW50IHN1ZmZpeFNwYWNlV2lkdGggPSBmb250LndpZHRoKFRleHRSdW4oc3VmZml4U3BhY2Us
IDIpKTsKLSAgICAgICAgICAgIHJlbGF0aXZlUmVjdCA9IEludFJlY3QoMCwgMCwgaXRlbVdpZHRo
ICsgc3VmZml4U3BhY2VXaWR0aCwgZm9udC5oZWlnaHQoKSk7CisgICAgICAgICAgICByZWxhdGl2
ZVJlY3QgPSBJbnRSZWN0KDAsIDAsIGl0ZW1XaWR0aCArIHN1ZmZpeFNwYWNlV2lkdGgsIGZvbnQu
Zm9udE1ldHJpY3MoKS5oZWlnaHQoKSk7CiAgICAgfQogCiAgICAgaWYgKCFzdHlsZSgpLT5pc0hv
cml6b250YWxXcml0aW5nTW9kZSgpKSB7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
ZXh0Q29udHJvbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dENvbnRyb2wuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRleHRDb250cm9sLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjA3LDcgKzYwNyw3IEBAIHZvaWQg
UmVuZGVyVGV4dENvbnRyb2w6OnBhaW50UGxhY2Vob2xkZXIKICAgICBSZW5kZXJCb3gqIHRleHRS
ZW5kZXJlciA9IGlubmVyVGV4dEVsZW1lbnQoKSA/IGlubmVyVGV4dEVsZW1lbnQoKS0+cmVuZGVy
Qm94KCkgOiAwOwogICAgIGlmICh0ZXh0UmVuZGVyZXIpIHsKICAgICAgICAgSW50UG9pbnQgdGV4
dFBvaW50OwotICAgICAgICB0ZXh0UG9pbnQuc2V0WSh0eSArIHRleHRCbG9ja0luc2V0VG9wKCkg
KyBwbGFjZWhvbGRlclN0eWxlLT5mb250KCkuYXNjZW50KCkpOworICAgICAgICB0ZXh0UG9pbnQu
c2V0WSh0eSArIHRleHRCbG9ja0luc2V0VG9wKCkgKyBwbGFjZWhvbGRlclN0eWxlLT5mb250TWV0
cmljcygpLmFzY2VudCgpKTsKICAgICAgICAgaWYgKHBsYWNlaG9sZGVyU3R5bGUtPmlzTGVmdFRv
UmlnaHREaXJlY3Rpb24oKSkKICAgICAgICAgICAgIHRleHRQb2ludC5zZXRYKHR4ICsgdGV4dEJs
b2NrSW5zZXRMZWZ0KCkpOwogICAgICAgICBlbHNlCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAJKHJldmlzaW9uIDc0NjY1KQor
KysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNzIzLDcgKzcyMyw3IEBAIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IFJl
bmRlclRleHRDb250cm8KICAgICB0ZXh0QmxvY2tTdHlsZS0+c2V0T3ZlcmZsb3dZKE9ISURERU4p
OwogCiAgICAgLy8gRG8gbm90IGFsbG93IGxpbmUtaGVpZ2h0IHRvIGJlIHNtYWxsZXIgdGhhbiBv
dXIgZGVmYXVsdC4KLSAgICBpZiAodGV4dEJsb2NrU3R5bGUtPmZvbnQoKS5saW5lU3BhY2luZygp
ID4gbGluZUhlaWdodCh0cnVlLCBIb3Jpem9udGFsTGluZSwgUG9zaXRpb25PZkludGVyaW9yTGlu
ZUJveGVzKSkKKyAgICBpZiAodGV4dEJsb2NrU3R5bGUtPmZvbnRNZXRyaWNzKCkubGluZVNwYWNp
bmcoKSA+IGxpbmVIZWlnaHQodHJ1ZSwgSG9yaXpvbnRhbExpbmUsIFBvc2l0aW9uT2ZJbnRlcmlv
ckxpbmVCb3hlcykpCiAgICAgICAgIHRleHRCbG9ja1N0eWxlLT5zZXRMaW5lSGVpZ2h0KExlbmd0
aCgtMTAwLjBmLCBQZXJjZW50KSk7CiAKICAgICBXZWJDb3JlOjpFRGlzcGxheSBkaXNwbGF5ID0g
KG1faW5uZXJCbG9jayB8fCBpbnB1dEVsZW1lbnQoKS0+aGFzU3BpbkJ1dHRvbigpID8gSU5MSU5F
X0JMT0NLIDogQkxPQ0spOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcAko
cmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTc2OSw3ICs3NjksNyBAQCB2b2lkIFJlbmRlclRoZW1lV2luOjph
ZGp1c3RNZW51TGlzdEJ1dHRvCiAgICAgc3R5bGUtPnNldEhlaWdodChMZW5ndGgoQXV0bykpOwog
CiAgICAgLy8gQ2FsY3VsYXRlIG91ciBtaW4taGVpZ2h0Ci0gICAgaW50IG1pbkhlaWdodCA9IHN0
eWxlLT5mb250KCkuaGVpZ2h0KCk7CisgICAgaW50IG1pbkhlaWdodCA9IHN0eWxlLT5mb250TWV0
cmljcygpLmhlaWdodCgpOwogICAgIG1pbkhlaWdodCA9IG1heChtaW5IZWlnaHQsIGRyb3BEb3du
Qm94TWluSGVpZ2h0KTsKIAogICAgIHN0eWxlLT5zZXRNaW5IZWlnaHQoTGVuZ3RoKG1pbkhlaWdo
dCwgRml4ZWQpKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkocmV2
aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC00NjcsNiArNDY3LDcgQEAgcHVibGljOgogICAgIEVUYWJsZUxheW91
dCB0YWJsZUxheW91dCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVUYWJsZUxheW91dD4o
bm9uaW5oZXJpdGVkX2ZsYWdzLl90YWJsZV9sYXlvdXQpOyB9CiAKICAgICBjb25zdCBGb250JiBm
b250KCkgY29uc3QgeyByZXR1cm4gaW5oZXJpdGVkLT5mb250OyB9CisgICAgY29uc3QgRm9udE1l
dHJpY3MmIGZvbnRNZXRyaWNzKCkgY29uc3QgeyByZXR1cm4gaW5oZXJpdGVkLT5mb250LmZvbnRN
ZXRyaWNzKCk7IH0KICAgICBjb25zdCBGb250RGVzY3JpcHRpb24mIGZvbnREZXNjcmlwdGlvbigp
IGNvbnN0IHsgcmV0dXJuIGluaGVyaXRlZC0+Zm9udC5mb250RGVzY3JpcHRpb24oKTsgfQogICAg
IGludCBmb250U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGluaGVyaXRlZC0+Zm9udC5waXhlbFNpemUo
KTsgfQogCkBAIC00OTEsNyArNDkyLDcgQEAgcHVibGljOgogCiAgICAgICAgIC8vIE5lZ2F0aXZl
IHZhbHVlIG1lYW5zIHRoZSBsaW5lIGhlaWdodCBpcyBub3Qgc2V0LiAgVXNlIHRoZSBmb250J3Mg
YnVpbHQtaW4gc3BhY2luZy4KICAgICAgICAgaWYgKGxoLmlzTmVnYXRpdmUoKSkKLSAgICAgICAg
ICAgIHJldHVybiBmb250KCkubGluZVNwYWNpbmcoKTsKKyAgICAgICAgICAgIHJldHVybiBmb250
TWV0cmljcygpLmxpbmVTcGFjaW5nKCk7CiAKICAgICAgICAgaWYgKGxoLmlzUGVyY2VudCgpKQog
ICAgICAgICAgICAgcmV0dXJuIGxoLmNhbGNNaW5WYWx1ZShmb250U2l6ZSgpKTsKSW5kZXg6IFdl
YkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5lVGV4dC5jcHAJKHJldmlzaW9u
IDc0NjY1KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZVRleHQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xNDYsNyArMTQ2LDcgQEAgVmlzaWJsZVBvc2l0aW9uIFJlbmRl
clNWR0lubGluZVRleHQ6OnBvcwogCiAgICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gdGhpcy0+c3R5
bGUoKTsKICAgICBBU1NFUlQoc3R5bGUpOwotICAgIGludCBiYXNlbGluZSA9IHN0eWxlLT5mb250
KCkuYXNjZW50KCk7CisgICAgaW50IGJhc2VsaW5lID0gc3R5bGUtPmZvbnRNZXRyaWNzKCkuYXNj
ZW50KCk7CiAKICAgICBSZW5kZXJCbG9jayogY29udGFpbmluZ0Jsb2NrID0gdGhpcy0+Y29udGFp
bmluZ0Jsb2NrKCk7CiAgICAgQVNTRVJUKGNvbnRhaW5pbmdCbG9jayk7CkluZGV4OiBXZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwCShyZXZpc2lvbiA3NDY2NSkKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtODQsNyArODQsNyBAQCBGbG9hdFJlY3QgU1ZHSW5saW5lVGV4dEJveDo6c2VsZWN0aW9u
UmVjCiAgICAgQVNTRVJUKHN0YXJ0UG9zaXRpb24gPCBlbmRQb3NpdGlvbik7CiAKICAgICBjb25z
dCBGb250JiBmb250ID0gc3R5bGUtPmZvbnQoKTsKLSAgICBGbG9hdFBvaW50IHRleHRPcmlnaW4o
ZnJhZ21lbnQueCwgZnJhZ21lbnQueSAtIGZvbnQuYXNjZW50KCkpOworICAgIEZsb2F0UG9pbnQg
dGV4dE9yaWdpbihmcmFnbWVudC54LCBmcmFnbWVudC55IC0gZm9udC5mb250TWV0cmljcygpLmFz
Y2VudCgpKTsKICAgICByZXR1cm4gZm9udC5zZWxlY3Rpb25SZWN0Rm9yVGV4dChjb25zdHJ1Y3RU
ZXh0UnVuKHN0eWxlLCBmcmFnbWVudCksIHRleHRPcmlnaW4sIGZyYWdtZW50LmhlaWdodCwgc3Rh
cnRQb3NpdGlvbiwgZW5kUG9zaXRpb24pOwogfQogCkBAIC00MDksMTYgKzQwOSwxNiBAQCBib29s
IFNWR0lubGluZVRleHRCb3g6Om1hcFN0YXJ0RW5kUG9zaXRpCiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKLXN0YXRpYyBpbmxpbmUgZmxvYXQgcG9zaXRpb25PZmZzZXRGb3JEZWNvcmF0aW9uKEVUZXh0
RGVjb3JhdGlvbiBkZWNvcmF0aW9uLCBjb25zdCBGb250JiBmb250LCBmbG9hdCB0aGlja25lc3Mp
CitzdGF0aWMgaW5saW5lIGZsb2F0IHBvc2l0aW9uT2Zmc2V0Rm9yRGVjb3JhdGlvbihFVGV4dERl
Y29yYXRpb24gZGVjb3JhdGlvbiwgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzLCBmbG9h
dCB0aGlja25lc3MpCiB7CiAgICAgLy8gRklYTUU6IEZvciBTVkcgRm9udHMgd2UgbmVlZCB0byB1
c2UgdGhlIGF0dHJpYnV0ZXMgZGVmaW5lZCBpbiB0aGUgPGZvbnQtZmFjZT4gaWYgc3BlY2lmaWVk
LgogICAgIC8vIENvbXBhdGlibGUgd2l0aCBCYXRpay9PcGVyYS4KICAgICBpZiAoZGVjb3JhdGlv
biA9PSBVTkRFUkxJTkUpCi0gICAgICAgIHJldHVybiBmb250LmFzY2VudCgpICsgdGhpY2tuZXNz
ICogMS41ZjsKKyAgICAgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmFzY2VudCgpICsgdGhpY2tuZXNz
ICogMS41ZjsKICAgICBpZiAoZGVjb3JhdGlvbiA9PSBPVkVSTElORSkKICAgICAgICAgcmV0dXJu
IHRoaWNrbmVzczsKICAgICBpZiAoZGVjb3JhdGlvbiA9PSBMSU5FX1RIUk9VR0gpCi0gICAgICAg
IHJldHVybiBmb250LmFzY2VudCgpICogNS4wZiAvIDguMGY7CisgICAgICAgIHJldHVybiBmb250
TWV0cmljcy5hc2NlbnQoKSAqIDUuMGYgLyA4LjBmOwogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgcmV0dXJuIDAuMGY7CkBAIC00ODcsNiArNDg3LDcgQEAgdm9pZCBTVkdJbmxpbmVU
ZXh0Qm94OjpwYWludERlY29yYXRpb25XaQogICAgIEFTU0VSVChkZWNvcmF0aW9uU3R5bGUpOwog
CiAgICAgY29uc3QgRm9udCYgZm9udCA9IGRlY29yYXRpb25TdHlsZS0+Zm9udCgpOworICAgIGNv
bnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKIAogICAg
IC8vIFRoZSBpbml0aWFsIHkgdmFsdWUgcmVmZXJzIHRvIG92ZXJsaW5lIHBvc2l0aW9uLgogICAg
IGZsb2F0IHRoaWNrbmVzcyA9IHRoaWNrbmVzc0ZvckRlY29yYXRpb24oZGVjb3JhdGlvbiwgZm9u
dCk7CkBAIC00OTQsNyArNDk1LDcgQEAgdm9pZCBTVkdJbmxpbmVUZXh0Qm94OjpwYWludERlY29y
YXRpb25XaQogICAgIGlmIChmcmFnbWVudC53aWR0aCA8PSAwICYmIHRoaWNrbmVzcyA8PSAwKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBmbG9hdCB5ID0gZnJhZ21lbnQueSAtIGZvbnQuYXNjZW50
KCkgKyBwb3NpdGlvbk9mZnNldEZvckRlY29yYXRpb24oZGVjb3JhdGlvbiwgZm9udCwgdGhpY2tu
ZXNzKTsKKyAgICBmbG9hdCB5ID0gZnJhZ21lbnQueSAtIGZvbnRNZXRyaWNzLmFzY2VudCgpICsg
cG9zaXRpb25PZmZzZXRGb3JEZWNvcmF0aW9uKGRlY29yYXRpb24sIGZvbnRNZXRyaWNzLCB0aGlj
a25lc3MpOwogCiAgICAgUGF0aCBwYXRoOwogICAgIHBhdGguYWRkUmVjdChGbG9hdFJlY3QoZnJh
Z21lbnQueCwgeSwgZnJhZ21lbnQud2lkdGgsIHRoaWNrbmVzcykpOwpAQCAtNTEzLDcgKzUxNCw3
IEBAIHZvaWQgU1ZHSW5saW5lVGV4dEJveDo6cGFpbnRUZXh0V2l0aFNoYWQKICAgICBjb25zdCBT
aGFkb3dEYXRhKiBzaGFkb3cgPSBzdHlsZS0+dGV4dFNoYWRvdygpOwogCiAgICAgRmxvYXRQb2lu
dCB0ZXh0T3JpZ2luKGZyYWdtZW50LngsIGZyYWdtZW50LnkpOwotICAgIEZsb2F0UmVjdCBzaGFk
b3dSZWN0KEZsb2F0UG9pbnQodGV4dE9yaWdpbi54KCksIHRleHRPcmlnaW4ueSgpIC0gZm9udC5h
c2NlbnQoKSksIEZsb2F0U2l6ZShmcmFnbWVudC53aWR0aCwgZnJhZ21lbnQuaGVpZ2h0KSk7Cisg
ICAgRmxvYXRSZWN0IHNoYWRvd1JlY3QoRmxvYXRQb2ludCh0ZXh0T3JpZ2luLngoKSwgdGV4dE9y
aWdpbi55KCkgLSBmb250LmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpLCBGbG9hdFNpemUoZnJhZ21l
bnQud2lkdGgsIGZyYWdtZW50LmhlaWdodCkpOwogCiAgICAgZG8gewogICAgICAgICBpZiAoIXBy
ZXBhcmVHcmFwaGljc0NvbnRleHRGb3JUZXh0UGFpbnRpbmcoY29udGV4dCwgdGV4dFJ1biwgc3R5
bGUpKQpAQCAtNTg3LDcgKzU4OCw3IEBAIEludFJlY3QgU1ZHSW5saW5lVGV4dEJveDo6Y2FsY3Vs
YXRlQm91bmQKICAgICBBU1NFUlQoc3R5bGUpOwogCiAgICAgaW50IGJhc2VsaW5lID0gYmFzZWxp
bmVQb3NpdGlvbihBbHBoYWJldGljQmFzZWxpbmUpOwotICAgIGludCBoZWlnaHREaWZmZXJlbmNl
ID0gYmFzZWxpbmUgLSBzdHlsZS0+Zm9udCgpLmFzY2VudCgpOworICAgIGludCBoZWlnaHREaWZm
ZXJlbmNlID0gYmFzZWxpbmUgLSBzdHlsZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKTsKIAogICAg
IHVuc2lnbmVkIHRleHRGcmFnbWVudHNTaXplID0gbV90ZXh0RnJhZ21lbnRzLnNpemUoKTsKICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdGV4dEZyYWdtZW50c1NpemU7ICsraSkgewpJbmRl
eDogV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVC
YXNlbGluZS5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDkgKzQ5
LDkgQEAgZmxvYXQgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lOjpjYWxjdQogICAgIGNhc2Ug
QlNfQkFTRUxJTkU6CiAgICAgICAgIHJldHVybiAwOwogICAgIGNhc2UgQlNfU1VCOgotICAgICAg
ICByZXR1cm4gLW1fZm9udC5oZWlnaHQoKSAvIDI7CisgICAgICAgIHJldHVybiAtbV9mb250LmZv
bnRNZXRyaWNzKCkuaGVpZ2h0KCkgLyAyOwogICAgIGNhc2UgQlNfU1VQRVI6Ci0gICAgICAgIHJl
dHVybiBtX2ZvbnQuaGVpZ2h0KCkgLyAyOworICAgICAgICByZXR1cm4gbV9mb250LmZvbnRNZXRy
aWNzKCkuaGVpZ2h0KCkgLyAyOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgICAgICByZXR1cm4gMDsKQEAgLTEyMiwyNyArMTIyLDI5IEBAIGZsb2F0IFNW
R1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2FsY3UKICAgICAgICAgQVNTRVJUKGJhc2VsaW5l
ICE9IEFCX0FVVE8pOwogICAgIH0KIAorICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmlj
cyA9IG1fZm9udC5mb250TWV0cmljcygpOworCiAgICAgLy8gTm90ZTogaHR0cDovL3dpa2kuYXBh
Y2hlLm9yZy94bWxncmFwaGljcy1mb3AvTGluZUxheW91dC9BbGlnbm1lbnRIYW5kbGluZwogICAg
IHN3aXRjaCAoYmFzZWxpbmUpIHsKICAgICBjYXNlIEFCX0JBU0VMSU5FOgogICAgICAgICByZXR1
cm4gZG9taW5hbnRCYXNlbGluZVRvQWxpZ25tZW50QmFzZWxpbmUoaXNWZXJ0aWNhbFRleHQsIHRl
eHRSZW5kZXJlclBhcmVudCk7CiAgICAgY2FzZSBBQl9CRUZPUkVfRURHRToKICAgICBjYXNlIEFC
X1RFWFRfQkVGT1JFX0VER0U6Ci0gICAgICAgIHJldHVybiBtX2ZvbnQuYXNjZW50KCk7CisgICAg
ICAgIHJldHVybiBmb250TWV0cmljcy5hc2NlbnQoKTsKICAgICBjYXNlIEFCX01JRERMRToKLSAg
ICAgICAgcmV0dXJuIG1fZm9udC54SGVpZ2h0KCkgLyAyOworICAgICAgICByZXR1cm4gZm9udE1l
dHJpY3MueEhlaWdodCgpIC8gMjsKICAgICBjYXNlIEFCX0NFTlRSQUw6Ci0gICAgICAgIHJldHVy
biAobV9mb250LmFzY2VudCgpIC0gbV9mb250LmRlc2NlbnQoKSkgLyAyOworICAgICAgICByZXR1
cm4gKGZvbnRNZXRyaWNzLmFzY2VudCgpIC0gZm9udE1ldHJpY3MuZGVzY2VudCgpKSAvIDI7CiAg
ICAgY2FzZSBBQl9BRlRFUl9FREdFOgogICAgIGNhc2UgQUJfVEVYVF9BRlRFUl9FREdFOgogICAg
IGNhc2UgQUJfSURFT0dSQVBISUM6Ci0gICAgICAgIHJldHVybiBtX2ZvbnQuZGVzY2VudCgpOwor
ICAgICAgICByZXR1cm4gZm9udE1ldHJpY3MuZGVzY2VudCgpOwogICAgIGNhc2UgQUJfQUxQSEFC
RVRJQzoKICAgICAgICAgcmV0dXJuIDA7CiAgICAgY2FzZSBBQl9IQU5HSU5HOgotICAgICAgICBy
ZXR1cm4gbV9mb250LmFzY2VudCgpICogOCAvIDEwLmY7CisgICAgICAgIHJldHVybiBmb250TWV0
cmljcy5hc2NlbnQoKSAqIDggLyAxMC5mOwogICAgIGNhc2UgQUJfTUFUSEVNQVRJQ0FMOgotICAg
ICAgICByZXR1cm4gbV9mb250LmFzY2VudCgpIC8gMjsKKyAgICAgICAgcmV0dXJuIGZvbnRNZXRy
aWNzLmFzY2VudCgpIC8gMjsKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKICAgICAgICAgcmV0dXJuIDA7CkBAIC0xOTMsMTIgKzE5NSwxNCBAQCBmbG9hdCBTVkdU
ZXh0TGF5b3V0RW5naW5lQmFzZWxpbmU6OmNhbGN1CiAgICAgLy8gU3BlYzogSWYgaWYgdGhlICdn
bHlwaC1vcmllbnRhdGlvbi12ZXJ0aWNhbCcgcmVzdWx0cyBpbiBhbiBvcmllbnRhdGlvbiBhbmds
ZSB0aGF0IGlzIG5vdCBhIG11bHRpcGxlIG9mCiAgICAgLy8gMTgwIGRlZ3JlZXMsIHRoZW4gdGhl
IGN1cnJlbnQgdGV4dCBwb3NpdGlvbiBpcyBpbmNyZW1lbnRlZCBhY2NvcmRpbmcgdG8gdGhlIGhv
cml6b250YWwgbWV0cmljcyBvZiB0aGUgZ2x5cGguCiAKKyAgICBjb25zdCBGb250TWV0cmljcyYg
Zm9udE1ldHJpY3MgPSBtX2ZvbnQuZm9udE1ldHJpY3MoKTsKKwogICAgIC8vIFZlcnRpY2FsIG9y
aWVudGF0aW9uIGhhbmRsaW5nLgogICAgIGlmIChpc1ZlcnRpY2FsVGV4dCkgewotICAgICAgICBm
bG9hdCBhc2NlbnRNaW51c0Rlc2NlbnQgPSBtX2ZvbnQuYXNjZW50KCkgLSBtX2ZvbnQuZGVzY2Vu
dCgpOworICAgICAgICBmbG9hdCBhc2NlbnRNaW51c0Rlc2NlbnQgPSBmb250TWV0cmljcy5hc2Nl
bnQoKSAtIGZvbnRNZXRyaWNzLmRlc2NlbnQoKTsKICAgICAgICAgaWYgKCFhbmdsZSkgewogICAg
ICAgICAgICAgeE9yaWVudGF0aW9uU2hpZnQgPSAoYXNjZW50TWludXNEZXNjZW50IC0gbWV0cmlj
cy53aWR0aCgpKSAvIDI7Ci0gICAgICAgICAgICB5T3JpZW50YXRpb25TaGlmdCA9IG1fZm9udC5h
c2NlbnQoKTsKKyAgICAgICAgICAgIHlPcmllbnRhdGlvblNoaWZ0ID0gZm9udE1ldHJpY3MuYXNj
ZW50KCk7CiAgICAgICAgIH0gZWxzZSBpZiAoYW5nbGUgPT0gMTgwKQogICAgICAgICAgICAgeE9y
aWVudGF0aW9uU2hpZnQgPSAoYXNjZW50TWludXNEZXNjZW50ICsgbWV0cmljcy53aWR0aCgpKSAv
IDI7CiAgICAgICAgIGVsc2UgaWYgKGFuZ2xlID09IDI3MCkgewpAQCAtMjE4LDcgKzIyMiw3IEBA
IGZsb2F0IFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2FsY3UKICAgICAgICAgeU9yaWVu
dGF0aW9uU2hpZnQgPSAtbWV0cmljcy53aWR0aCgpOwogICAgIGVsc2UgaWYgKGFuZ2xlID09IDE4
MCkgewogICAgICAgICB4T3JpZW50YXRpb25TaGlmdCA9IG1ldHJpY3Mud2lkdGgoKTsKLSAgICAg
ICAgeU9yaWVudGF0aW9uU2hpZnQgPSAtbV9mb250LmFzY2VudCgpOworICAgICAgICB5T3JpZW50
YXRpb25TaGlmdCA9IC1mb250TWV0cmljcy5hc2NlbnQoKTsKICAgICB9IGVsc2UgaWYgKGFuZ2xl
ID09IDI3MCkKICAgICAgICAgeE9yaWVudGF0aW9uU2hpZnQgPSBtZXRyaWNzLndpZHRoKCk7CiAK
SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdp
bmVTcGFjaW5nLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OCw3ICs1
OCw3IEBAIGZsb2F0IFNWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nOjpjYWxjdWwKIAogICAgIG1f
bGFzdEdseXBoID0gY3VycmVudEdseXBoOwogICAgIG1fbGFzdEdseXBoLmlzVmFsaWQgPSB0cnVl
OwotICAgIGtlcm5pbmcgKj0gbV9mb250LnNpemUoKSAvIG1fZm9udC5wcmltYXJ5Rm9udCgpLT51
bml0c1BlckVtKCk7CisgICAga2VybmluZyAqPSBtX2ZvbnQuc2l6ZSgpIC8gbV9mb250LmZvbnRN
ZXRyaWNzKCkudW5pdHNQZXJFbSgpOwogICAgIHJldHVybiBrZXJuaW5nOwogI2Vsc2UKICAgICBV
TlVTRURfUEFSQU0oaXNWZXJ0aWNhbFRleHQpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRNZXRyaWNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHVGV4dE1ldHJpY3MuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L3N2Zy9TVkdUZXh0TWV0cmljcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQyLDcgQEAg
U1ZHVGV4dE1ldHJpY3M6OlNWR1RleHRNZXRyaWNzKGNvbnN0IEZvbgogICAgIGludCBsZW5ndGgg
PSAwOwogCiAgICAgbV93aWR0aCA9IGZvbnQuZmxvYXRXaWR0aChydW4sIGV4dHJhQ2hhcnNBdmFp
bGFibGUsIGxlbmd0aCwgbV9nbHlwaC5uYW1lKTsKLSAgICBtX2hlaWdodCA9IGZvbnQuaGVpZ2h0
KCk7CisgICAgbV9oZWlnaHQgPSBmb250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCk7CiAgICAgbV9n
bHlwaC51bmljb2RlU3RyaW5nID0gU3RyaW5nKHJ1bi5jaGFyYWN0ZXJzKCksIGxlbmd0aCk7CiAg
ICAgbV9nbHlwaC5pc1ZhbGlkID0gdHJ1ZTsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRRdWVyeS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NW
R1RleHRRdWVyeS5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1NWR1RleHRRdWVyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3Miw3ICs0NzIsNyBAQCBzdHJ1
Y3QgRXh0ZW50T2ZDaGFyYWN0ZXJEYXRhIDogU1ZHVGV4dFF1CiAKIHN0YXRpYyBpbmxpbmUgdm9p
ZCBjYWxjdWxhdGVHbHlwaEJvdW5kYXJpZXMoU1ZHVGV4dFF1ZXJ5OjpEYXRhKiBxdWVyeURhdGEs
IGNvbnN0IFNWR1RleHRGcmFnbWVudCYgZnJhZ21lbnQsIGludCBzdGFydFBvc2l0aW9uLCBGbG9h
dFJlY3QmIGV4dGVudCkKIHsKLSAgICBleHRlbnQuc2V0TG9jYXRpb24oRmxvYXRQb2ludChmcmFn
bWVudC54LCBmcmFnbWVudC55IC0gcXVlcnlEYXRhLT50ZXh0UmVuZGVyZXItPnN0eWxlKCktPmZv
bnQoKS5hc2NlbnQoKSkpOworICAgIGV4dGVudC5zZXRMb2NhdGlvbihGbG9hdFBvaW50KGZyYWdt
ZW50LngsIGZyYWdtZW50LnkgLSBxdWVyeURhdGEtPnRleHRSZW5kZXJlci0+c3R5bGUoKS0+Zm9u
dE1ldHJpY3MoKS5hc2NlbnQoKSkpOwogCiAgICAgaWYgKHN0YXJ0UG9zaXRpb24pIHsKICAgICAg
ICAgU1ZHVGV4dE1ldHJpY3MgbWV0cmljcyA9IFNWR1RleHRNZXRyaWNzOjptZWFzdXJlQ2hhcmFj
dGVyUmFuZ2UocXVlcnlEYXRhLT50ZXh0UmVuZGVyZXIsIGZyYWdtZW50LnBvc2l0aW9uTGlzdE9m
ZnNldCwgc3RhcnRQb3NpdGlvbik7CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHAJ
KHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTI1LDcgKzEyNSw3IEBAIHVuc2lnbmVkIFNWR0ZvbnRGYWNlRWxl
bWVudDo6dW5pdHNQZXJFbSgKIHsKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlID0gZ2V0
QXR0cmlidXRlKHVuaXRzX3Blcl9lbUF0dHIpOwogICAgIGlmICh2YWx1ZS5pc0VtcHR5KCkpCi0g
ICAgICAgIHJldHVybiBkZWZhdWx0VW5pdHNQZXJFbTsKKyAgICAgICAgcmV0dXJuIGdEZWZhdWx0
VW5pdHNQZXJFbTsKIAogICAgIHJldHVybiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oY2VpbGYodmFs
dWUudG9GbG9hdCgpKSk7CiB9CkluZGV4OiBXZWJDb3JlL3N2Zy9TVkdMZW5ndGguY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0xlbmd0aC5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysg
V2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQ0LDcgKzQ0NCw3
IEBAIGZsb2F0IFNWR0xlbmd0aDo6Y29udmVydFZhbHVlRnJvbVVzZXJVbmkKIAogICAgIC8vIFVz
ZSBvZiBjZWlsIGFsbG93cyBhIHBpeGVsIG1hdGNoIHRvIHRoZSBXM0NzIGV4cGVjdGVkIG91dHB1
dCBvZiBjb29yZHMtdW5pdHMtMDMtYi5zdmcKICAgICAvLyBpZiB0aGlzIGNhdXNlcyBwcm9ibGVt
cyBpbiByZWFsIHdvcmxkIGNhc2VzIG1heWJlIGl0IHdvdWxkIGJlIGJlc3QgdG8gcmVtb3ZlIHRo
aXMKLSAgICBmbG9hdCB4SGVpZ2h0ID0gY2VpbGYoc3R5bGUtPmZvbnQoKS54SGVpZ2h0KCkpOwor
ICAgIGZsb2F0IHhIZWlnaHQgPSBjZWlsZihzdHlsZS0+Zm9udE1ldHJpY3MoKS54SGVpZ2h0KCkp
OwogICAgIGlmICgheEhlaWdodCkgewogICAgICAgICBlYyA9IE5PVF9TVVBQT1JURURfRVJSOwog
ICAgICAgICByZXR1cm4gMDsKQEAgLTQ2Myw3ICs0NjMsNyBAQCBmbG9hdCBTVkdMZW5ndGg6OmNv
bnZlcnRWYWx1ZUZyb21FWFNUb1VzCiAgICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gY29udGV4dC0+
cmVuZGVyZXIoKS0+c3R5bGUoKTsKICAgICAvLyBVc2Ugb2YgY2VpbCBhbGxvd3MgYSBwaXhlbCBt
YXRjaCB0byB0aGUgVzNDcyBleHBlY3RlZCBvdXRwdXQgb2YgY29vcmRzLXVuaXRzLTAzLWIuc3Zn
CiAgICAgLy8gaWYgdGhpcyBjYXVzZXMgcHJvYmxlbXMgaW4gcmVhbCB3b3JsZCBjYXNlcyBtYXli
ZSBpdCB3b3VsZCBiZSBiZXN0IHRvIHJlbW92ZSB0aGlzCi0gICAgcmV0dXJuIHZhbHVlICogY2Vp
bGYoc3R5bGUtPmZvbnQoKS54SGVpZ2h0KCkpOworICAgIHJldHVybiB2YWx1ZSAqIGNlaWxmKHN0
eWxlLT5mb250TWV0cmljcygpLnhIZWlnaHQoKSk7CiB9CiAKIFNWR0xlbmd0aCBTVkdMZW5ndGg6
OmZyb21DU1NQcmltaXRpdmVWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZSogdmFsdWUpCkluZGV4OiBX
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEwLTEyLTIzICBOaWtvbGFzIFppbW1l
cm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVjZSBGb250TWV0cmljcyBhYnN0cmFjdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE0NTYKKwor
ICAgICAgICAqIHNyYy9FeHRlcm5hbFBvcHVwTWVudS5jcHA6IFVzZSBGb250TWV0cmljcyBpbnN0
ZWFkIG9mIEZvbnQgdG8gYWNjZXNzIHRoZSBtZXRyaWNzLgorICAgICAgICAoV2ViS2l0OjpFeHRl
cm5hbFBvcHVwTWVudTo6Z2V0UG9wdXBNZW51SW5mbyk6CisgICAgICAgICogc3JjL1dlYkZvbnRJ
bXBsLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OldlYkZvbnRJbXBsOjphc2NlbnQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJGb250SW1wbDo6ZGVzY2VudCk6CisgICAgICAgIChXZWJLaXQ6
OldlYkZvbnRJbXBsOjpoZWlnaHQpOgorICAgICAgICAoV2ViS2l0OjpXZWJGb250SW1wbDo6bGlu
ZVNwYWNpbmcpOgorICAgICAgICAoV2ViS2l0OjpXZWJGb250SW1wbDo6eEhlaWdodCk6CisKIDIw
MTAtMTItMjMgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI3NDU2MS4KSW5kZXg6IFdlYktpdC9jaHJv
bWl1bS9zcmMvRXh0ZXJuYWxQb3B1cE1lbnUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJv
bWl1bS9zcmMvRXh0ZXJuYWxQb3B1cE1lbnUuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYktp
dC9jaHJvbWl1bS9zcmMvRXh0ZXJuYWxQb3B1cE1lbnUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
NDIsNyArMTQyLDcgQEAgdm9pZCBFeHRlcm5hbFBvcHVwTWVudTo6Z2V0UG9wdXBNZW51SW5mbwog
ICAgICAgICBwb3B1cEl0ZW0uZW5hYmxlZCA9IG1fcG9wdXBNZW51Q2xpZW50LT5pdGVtSXNFbmFi
bGVkKGkpOwogICAgIH0KIAotICAgIGluZm8tPml0ZW1IZWlnaHQgPSBtX3BvcHVwTWVudUNsaWVu
dC0+bWVudVN0eWxlKCkuZm9udCgpLmhlaWdodCgpOworICAgIGluZm8tPml0ZW1IZWlnaHQgPSBt
X3BvcHVwTWVudUNsaWVudC0+bWVudVN0eWxlKCkuZm9udCgpLmZvbnRNZXRyaWNzKCkuaGVpZ2h0
KCk7CiAgICAgaW5mby0+aXRlbUZvbnRTaXplID0KICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Piht
X3BvcHVwTWVudUNsaWVudC0+bWVudVN0eWxlKCkuZm9udCgpLnNpemUoKSk7CiAgICAgaW5mby0+
c2VsZWN0ZWRJbmRleCA9IG1fcG9wdXBNZW51Q2xpZW50LT5zZWxlY3RlZEluZGV4KCk7CkluZGV4
OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZvbnRJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkZvbnRJbXBsLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkZvbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjMsMjcg
KzYzLDI3IEBAIFdlYkZvbnREZXNjcmlwdGlvbiBXZWJGb250SW1wbDo6Zm9udERlc2MKIAogaW50
IFdlYkZvbnRJbXBsOjphc2NlbnQoKSBjb25zdAogewotICAgIHJldHVybiBtX2ZvbnQuYXNjZW50
KCk7CisgICAgcmV0dXJuIG1fZm9udC5mb250TWV0cmljcygpLmFzY2VudCgpOwogfQogCiBpbnQg
V2ViRm9udEltcGw6OmRlc2NlbnQoKSBjb25zdAogewotICAgIHJldHVybiBtX2ZvbnQuZGVzY2Vu
dCgpOworICAgIHJldHVybiBtX2ZvbnQuZm9udE1ldHJpY3MoKS5kZXNjZW50KCk7CiB9CiAKIGlu
dCBXZWJGb250SW1wbDo6aGVpZ2h0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9mb250LmhlaWdo
dCgpOworICAgIHJldHVybiBtX2ZvbnQuZm9udE1ldHJpY3MoKS5oZWlnaHQoKTsKIH0KIAogaW50
IFdlYkZvbnRJbXBsOjpsaW5lU3BhY2luZygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fZm9udC5s
aW5lU3BhY2luZygpOworICAgIHJldHVybiBtX2ZvbnQuZm9udE1ldHJpY3MoKS5saW5lU3BhY2lu
ZygpOwogfQogCiBmbG9hdCBXZWJGb250SW1wbDo6eEhlaWdodCgpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIG1fZm9udC54SGVpZ2h0KCk7CisgICAgcmV0dXJuIG1fZm9udC5mb250TWV0cmljcygpLnhI
ZWlnaHQoKTsKIH0KIAogdm9pZCBXZWJGb250SW1wbDo6ZHJhd1RleHQoV2ViQ2FudmFzKiBjYW52
YXMsIGNvbnN0IFdlYlRleHRSdW4mIHJ1biwgY29uc3QgV2ViRmxvYXRQb2ludCYgbGVmdEJhc2Vs
aW5lLApJbmRleDogV2ViS2l0L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3dp
bi9DaGFuZ2VMb2cJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0xMi0yNiAgTmlrb2xhcyBaaW1tZXJt
YW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbnRyb2R1Y2UgRm9udE1ldHJpY3MgYWJzdHJhY3Rpb24KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxNDU2CisKKyAg
ICAgICAgKiBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcDogVXNlIEZvbnRNZXRyaWNzIGlu
c3RlYWQgb2YgRm9udCB0byBhY2Nlc3MgdGhlIG1ldHJpY3MuCisgICAgICAgIChGdWxsc2NyZWVu
VmlkZW9Db250cm9sbGVyOjpkcmF3KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJEcmFn
Q2xpZW50LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJEcmFnQ2xpZW50OjpjcmVhdGVEcmFnSW1h
Z2VGb3JMaW5rKToKKyAgICAgICAgKiBXZWJLaXRHcmFwaGljcy5jcHA6IERpdHRvLgorICAgICAg
ICAoRm9udE1ldHJpY3MpOgorCiAyMDEwLTEyLTIyICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBXZWJLaXQvd2lu
L0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4v
RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViS2l0
L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTI1
LDE1ICs1MjUsMTYgQEAgdm9pZCBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyOjpkcmF3KCkKICAg
ICAvLyB0aGUgdGV4dCBhdCB0aGUgY2VudGVyIG9mIHRoZSBzbGlkZXIuCiAgICAgLy8gTGVmdCBz
dHJpbmcKICAgICBzID0gdGltZVRvU3RyaW5nKGN1cnJlbnRUaW1lKCkpOworICAgIGludCBmb250
SGVpZ2h0ID0gZm9udC5mb250TWV0cmljcygpLmhlaWdodCgpOwogICAgIFRleHRSdW4gbGVmdFRl
eHQocyk7CiAgICAgY29udGV4dC5zZXRGaWxsQ29sb3IoQ29sb3IodGV4dENvbG9yKSwgQ29sb3JT
cGFjZURldmljZVJHQik7Ci0gICAgY29udGV4dC5kcmF3VGV4dChmb250LCBsZWZ0VGV4dCwgSW50
UG9pbnQod2luZG93V2lkdGggLyAyIC0gdGltZVNsaWRlcldpZHRoIC8gMiAtIG1hcmdpbiAtIGZv
bnQud2lkdGgobGVmdFRleHQpLCB3aW5kb3dIZWlnaHQgLSBtYXJnaW4gLSBzbGlkZXJIZWlnaHQg
LyAyICsgZm9udC5oZWlnaHQoKSAvIDQpKTsKKyAgICBjb250ZXh0LmRyYXdUZXh0KGZvbnQsIGxl
ZnRUZXh0LCBJbnRQb2ludCh3aW5kb3dXaWR0aCAvIDIgLSB0aW1lU2xpZGVyV2lkdGggLyAyIC0g
bWFyZ2luIC0gZm9udC53aWR0aChsZWZ0VGV4dCksIHdpbmRvd0hlaWdodCAtIG1hcmdpbiAtIHNs
aWRlckhlaWdodCAvIDIgKyBmb250SGVpZ2h0IC8gNCkpOwogCiAgICAgLy8gUmlnaHQgc3RyaW5n
CiAgICAgcyA9IHRpbWVUb1N0cmluZyhjdXJyZW50VGltZSgpIC0gZHVyYXRpb24oKSk7CiAgICAg
VGV4dFJ1biByaWdodFRleHQocyk7CiAgICAgY29udGV4dC5zZXRGaWxsQ29sb3IoQ29sb3IodGV4
dENvbG9yKSwgQ29sb3JTcGFjZURldmljZVJHQik7Ci0gICAgY29udGV4dC5kcmF3VGV4dChmb250
LCByaWdodFRleHQsIEludFBvaW50KHdpbmRvd1dpZHRoIC8gMiArIHRpbWVTbGlkZXJXaWR0aCAv
IDIgKyBtYXJnaW4sIHdpbmRvd0hlaWdodCAtIG1hcmdpbiAtIHNsaWRlckhlaWdodCAvIDIgKyBm
b250LmhlaWdodCgpIC8gNCkpOworICAgIGNvbnRleHQuZHJhd1RleHQoZm9udCwgcmlnaHRUZXh0
LCBJbnRQb2ludCh3aW5kb3dXaWR0aCAvIDIgKyB0aW1lU2xpZGVyV2lkdGggLyAyICsgbWFyZ2lu
LCB3aW5kb3dIZWlnaHQgLSBtYXJnaW4gLSBzbGlkZXJIZWlnaHQgLyAyICsgZm9udEhlaWdodCAv
IDQpKTsKIAogICAgIC8vIENvcHkgdG8gdGhlIHdpbmRvdwogICAgIEJMRU5ERlVOQ1RJT04gYmxl
bmRGdW5jdGlvbiA9IHtBQ19TUkNfT1ZFUiwgMCwgMjU1LCBBQ19TUkNfQUxQSEF9OwpJbmRleDog
V2ViS2l0L3dpbi9XZWJLaXRHcmFwaGljcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9X
ZWJLaXRHcmFwaGljcy5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViS2l0L3dpbi9XZWJLaXRH
cmFwaGljcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMywxNSArMTMzLDE2IEBAIHZvaWQgRm9u
dE1ldHJpY3MoY29uc3QgV2ViRm9udERlc2NyaXB0aW8KICAgICAgICAgcmV0dXJuOwogCiAgICAg
Rm9udCBmb250KG1ha2VGb250KGRlc2NyaXB0aW9uKSk7CisgICAgY29uc3QgRm9udE1ldHJpY3Mm
IGZvbnRNZXRyaWNzKGZvbnQuZm9udE1ldHJpY3MoKSk7CiAKICAgICBpZiAoYXNjZW50KQotICAg
ICAgICAqYXNjZW50ID0gZm9udC5hc2NlbnQoKTsKKyAgICAgICAgKmFzY2VudCA9IGZvbnRNZXRy
aWNzLmFzY2VudCgpOwogCiAgICAgaWYgKGRlc2NlbnQpCi0gICAgICAgICpkZXNjZW50ID0gZm9u
dC5kZXNjZW50KCk7CisgICAgICAgICpkZXNjZW50ID0gZm9udE1ldHJpY3MuZGVzY2VudCgpOwog
CiAgICAgaWYgKGxpbmVTcGFjaW5nKQotICAgICAgICAqbGluZVNwYWNpbmcgPSBmb250LmxpbmVT
cGFjaW5nKCk7CisgICAgICAgICpsaW5lU3BhY2luZyA9IGZvbnRNZXRyaWNzLmxpbmVTcGFjaW5n
KCk7CiB9CiAKIHVuc2lnbmVkIENlbnRlclRydW5jYXRlU3RyaW5nVG9XaWR0aChMUENUU1RSIHRl
eHQsIGludCBsZW5ndGgsIGNvbnN0IFdlYkZvbnREZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIGZs
b2F0IHdpZHRoLCBXQ0hBUiogYnVmZmVyKQpJbmRleDogV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJEcmFnQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL1dlYkNvcmVTdXBw
b3J0L1dlYkRyYWdDbGllbnQuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYktpdC93aW4vV2Vi
Q29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0Nyw3ICsy
NDcsNyBAQCBEcmFnSW1hZ2VSZWYgV2ViRHJhZ0NsaWVudDo6Y3JlYXRlRHJhZ0ltCiAgICAgLy9G
aXJzdCBzdGVwIGluIGRyYXdpbmcgdGhlIGxpbmsgZHJhZyBpbWFnZSB3aWR0aAogICAgIFRleHRS
dW4gbGFiZWxSdW4obGFiZWwuaW1wbCgpKTsKICAgICBUZXh0UnVuIHVybFJ1bih1cmxTdHJpbmcu
aW1wbCgpKTsKLSAgICBJbnRTaXplIGxhYmVsU2l6ZShsYWJlbEZvbnQtPndpZHRoKGxhYmVsUnVu
KSwgbGFiZWxGb250LT5hc2NlbnQoKSArIGxhYmVsRm9udC0+ZGVzY2VudCgpKTsKKyAgICBJbnRT
aXplIGxhYmVsU2l6ZShsYWJlbEZvbnQtPndpZHRoKGxhYmVsUnVuKSwgbGFiZWxGb250LT5mb250
TWV0cmljcygpLmFzY2VudCgpICsgbGFiZWxGb250LT5mb250TWV0cmljcygpLmRlc2NlbnQoKSk7
CiAKICAgICBpZiAobGFiZWxTaXplLndpZHRoKCkgPiBNQVhfRFJBR19MQUJFTF9TVFJJTkdfV0lE
VEgpewogICAgICAgICBsYWJlbFNpemUuc2V0V2lkdGgoTUFYX0RSQUdfTEFCRUxfU1RSSU5HX1dJ
RFRIKTsKQEAgLTI2MCw3ICsyNjAsNyBAQCBEcmFnSW1hZ2VSZWYgV2ViRHJhZ0NsaWVudDo6Y3Jl
YXRlRHJhZ0ltCiAKICAgICBpZiAoZHJhd1VSTFN0cmluZykgewogICAgICAgICB1cmxTdHJpbmdT
aXplLnNldFdpZHRoKHVybEZvbnQtPndpZHRoKHVybFJ1bikpOwotICAgICAgICB1cmxTdHJpbmdT
aXplLnNldEhlaWdodCh1cmxGb250LT5hc2NlbnQoKSArIHVybEZvbnQtPmRlc2NlbnQoKSk7IAor
ICAgICAgICB1cmxTdHJpbmdTaXplLnNldEhlaWdodCh1cmxGb250LT5mb250TWV0cmljcygpLmFz
Y2VudCgpICsgdXJsRm9udC0+Zm9udE1ldHJpY3MoKS5kZXNjZW50KCkpOyAKICAgICAgICAgaW1h
Z2VTaXplLnNldEhlaWdodChpbWFnZVNpemUuaGVpZ2h0KCkgKyB1cmxTdHJpbmdTaXplLmhlaWdo
dCgpKTsKICAgICAgICAgaWYgKHVybFN0cmluZ1NpemUud2lkdGgoKSA+IE1BWF9EUkFHX0xBQkVM
X1NUUklOR19XSURUSCkgewogICAgICAgICAgICAgaW1hZ2VTaXplLnNldFdpZHRoKE1BWF9EUkFH
X0xBQkVMX1dJRFRIKTsKQEAgLTMwMyw3ICszMDMsNyBAQCBEcmFnSW1hZ2VSZWYgV2ViRHJhZ0Ns
aWVudDo6Y3JlYXRlRHJhZ0ltCiAgICAgaWYgKGRyYXdVUkxTdHJpbmcpIHsKICAgICAgICAgaWYg
KGNsaXBVUkxTdHJpbmcpCiAgICAgICAgICAgICB1cmxTdHJpbmcgPSBTdHJpbmdUcnVuY2F0b3I6
OnJpZ2h0VHJ1bmNhdGUodXJsU3RyaW5nLCBpbWFnZVNpemUud2lkdGgoKSAtIChEUkFHX0xBQkVM
X0JPUkRFUl9YICogMi4wZiksICp1cmxGb250LCBmYWxzZSk7Ci0gICAgICAgIEludFBvaW50IHRl
eHRQb3MoRFJBR19MQUJFTF9CT1JERVJfWCwgaW1hZ2VTaXplLmhlaWdodCgpIC0gKERSQUdfTEFC
RUxfQk9SREVSX1lfT0ZGU0VUICsgdXJsRm9udC0+ZGVzY2VudCgpKSk7CisgICAgICAgIEludFBv
aW50IHRleHRQb3MoRFJBR19MQUJFTF9CT1JERVJfWCwgaW1hZ2VTaXplLmhlaWdodCgpIC0gKERS
QUdfTEFCRUxfQk9SREVSX1lfT0ZGU0VUICsgdXJsRm9udC0+Zm9udE1ldHJpY3MoKS5kZXNjZW50
KCkpKTsKICAgICAgICAgV2ViQ29yZURyYXdEb3VibGVkVGV4dEF0UG9pbnQoY29udGV4dCwgdXJs
U3RyaW5nLCB0ZXh0UG9zLCAqdXJsRm9udCwgdG9wQ29sb3IsIGJvdHRvbUNvbG9yKTsKICAgICB9
CiAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77491</attachid>
            <date>2010-12-27 04:44:55 -0800</date>
            <delta_ts>2010-12-27 06:50:50 -0800</delta_ts>
            <desc>Patch v7</desc>
            <filename>IntroduceFontMetrics6.diff</filename>
            <type>text/plain</type>
            <size>124139</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTg0IEBACisyMDEwLTEyLTIyICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEludHJvZHVjZSBGb250TWV0cmljcyBhYnN0cmFjdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE0NTYKKworICAgICAgICBFbmNhcHN1
bGF0ZSBhc2NlbnQvZGVzY2VudC9saW5lSGVpZ2h0L2xpbmVHYXAgbWV0aG9kcyBpbiBhIHNpbmds
ZSBGb250TWV0cmljcyBjbGFzcywgaW5zdGVhZCBvZgorICAgICAgICBoYXZpbmcgdG8gZGVmaW5l
IHRoZW0gaW4gYm90aCBGb250ICYgU2ltcGxlRm9udERhdGEuIENoYW5nZWQgdG8gc3RvcmUgZmxv
YXRpbmcgcG9pbnQgdmFsdWVzCisgICAgICAgIGFzIGRlZmF1bHQsIGluIG9yZGVyIHRvIGdldCBh
Y2N1cmF0ZSBpbmZvcm1hdGlvbiBmb3Igc21hbGwgc2l6ZWQgZm9udHMuIEFsbCB0aGVzZSBtZXRo
b2RzCisgICAgICAgIG5vdyBoYXZlIGZsb2F0aW5nLXBvaW50IGFuZCBpbnRlZ2VyIHZlcnNpb25z
LiBXaGVuZXZlciBhbiBpbnRlZ2VyIHZhcmlhbnQgb2YgdGhlc2UgZnVuY3Rpb25zCisgICAgICAg
IGlzIGNhbGxlZCwgbHJvdW5kZigpIGlzIHVzZWQgdG8gcm91bmQgdGhlIHZhbHVlLgorCisgICAg
ICAgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gc3VwcG9ydCBzbWFsbCBmb250LXNpemVzIGZv
ciBTVkcgaW4gYSBmb2xsb3ctdXAgcGF0Y2gsIGFzIHdlbGwKKyAgICAgICAgYXMgZml4aW5nIHJv
dW5kaW5nIGlzc3VlcyB3aGVuIHVzaW5nIFNWRyBGb250cy4KKyAgICAgICAgCisgICAgICAgIFNo
b3VsZG4ndCBhZmZlY3QgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5h
bTogQWRkIEZvbnRNZXRyaWNzLmggdG8gYnVpbGQuIAorICAgICAgICAqIFdlYkNvcmUuZ3lwaTog
RGl0dG8uCisgICAgICAgICogV2ViQ29yZS5wcm86IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0Fj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcDogVXNlIHN0eWxlLT5mb250TWV0cmljcygp
IGluc3RlYWQgb2Ygc3R5bGUtPmZvbnQoKSB0byBhY2Nlc3MgdGhlIG1ldHJpY3MuCisgICAgICAg
IChiYXNlbGluZVBvc2l0aW9uRm9yQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCk6CisgICAgICAg
ICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDogICAgICAgICAKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoRG91YmxlKToKKyAgICAgICAgKiBodG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJbnRlcm5hbCk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRyYXdFbGVtZW50VGl0bGUpOgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcDogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpQb3B1cExpc3RCb3g6OnBhaW50Um93KToKKyAgICAgICAgKFdlYkNvcmU6
OlBvcHVwTGlzdEJveDo6Z2V0Um93SGVpZ2h0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Lmg6IFJlbW92ZSBhc2NlbnQvZGVzY2VudC9oZWlnaHQvbGluZUdhcC9saW5lU3BhY2lu
Zy94SGVpZ2h0L3VuaXRzUGVyRW0gYWNjZXNzb3IuLi4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6
OmZvbnRNZXRyaWNzKTogLi4uIGFuZCBvbmx5IGV4cG9zZSBhIHNpbmdsZSBGb250TWV0cmljcyBv
YmplY3QgaGVyZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3Bw
OiBVc2UgZm9udE1ldHJpY3MoKSB0byBxdWVyeSBtZXRyaWNzIGluZm9ybWF0aW9uLgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udDo6ZW1waGFzaXNNYXJrQXNjZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnQ6OmVtcGhhc2lzTWFya0Rlc2NlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZW1w
aGFzaXNNYXJrSGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmZsb2F0V2lkdGhGb3JT
aW1wbGVUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpGb250TWV0cmljcyk6IENyZWF0
ZXMgYSBGb250TWV0cmljcyBvYmplY3QsIHN0b3JlZCBpbiBTaW1wbGVGb250RGF0YS4KKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjp1bml0c1BlckVtKTogUmV0dXJucyBhbiB1bnNpZ25l
ZCBkZXNjcmliaW5nIHRoZSB1bml0c1BlckVtLgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJp
Y3M6OnNldFVuaXRzUGVyRW0pOiBTZXRzIHRoZSB1bml0c1BlckVtIHZhbHVlLgorICAgICAgICAo
V2ViQ29yZTo6Rm9udE1ldHJpY3M6OmZsb2F0QXNjZW50KTogUmV0dXJucyB0aGUgc3RvcmVkIG1f
YXNjZW50IGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnNldEFzY2VudCk6
IFNldHMgdGhlIHN0b3JlZCBtX2FzY2VudCBmbG9hdC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRN
ZXRyaWNzOjpmbG9hdERlc2NlbnQpOiBSZXR1cm5zIHRoZSBzdG9yZWQgbV9kZXNjZW50IGZsb2F0
LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnNldERlc2NlbnQpOiBTZXRzIHRoZSBz
dG9yZWQgbV9kZXNjZW50IGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmZs
b2F0SGVpZ2h0KTogUmV0dXJucyBmbG9hdEFzY2VudCgpICsgZmxvYXREZXNjZW50KCkuCisgICAg
ICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6ZmxvYXRMaW5lR2FwKTogUmV0dXJucyB0aGUgc3Rv
cmVkIG1fbGluZUdhcCBmbG9hdC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpzZXRM
aW5lR2FwKTogU2V0cyB0aGUgc3RvcmVkIG1fbGluZUdhcCBmbG9hdC4KKyAgICAgICAgKFdlYkNv
cmU6OkZvbnRNZXRyaWNzOjpmbG9hdExpbmVTcGFjaW5nKTogUmV0dXJucyB0aGUgc3RvcmVkIG1f
bGluZVNwYWNpbmcgZmxvYXQuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6c2V0TGlu
ZVNwYWNpbmcpOiBTZXRzIHRoZSBzdG9yZWQgbV9saW5lU3BhY2luZyBmbG9hdC4KKyAgICAgICAg
KFdlYkNvcmU6OkZvbnRNZXRyaWNzOjp4SGVpZ2h0KTogUmV0dXJucyB0aGUgc3RvcmVkIG1feEhl
aWdodCBmbG9hdCAobm8gaW50ZWdlciB2ZXJzaW9uIGF2YWlsYWJsZSwgaGVuY2Ugbm8gJ2Zsb2F0
JyBwcmVmaXgpLgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnNldFhIZWlnaHQpOiBT
ZXRzIHRoZSBzdG9yZWQgbV94SGVpZ2h0IGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1l
dHJpY3M6OmFzY2VudCk6IFJldHVybnMgYSByb3VuZGVkIHZlcnNpb24gb2YgYXNjZW50KCkuCisg
ICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6ZGVzY2VudCk6IERpdHRvIChmb3IgZGVzY2Vu
dCkuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6aGVpZ2h0KTogUmV0dXJucyBhc2Nl
bnQoKSArIGRlc2NlbnQoKS4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpsaW5lR2Fw
KTogUmV0dXJucyBhIHJvdW5kZWQgdmVyc2lvbiBvZiBsaW5lR2FwKCkuCisgICAgICAgIChXZWJD
b3JlOjpGb250TWV0cmljczo6bGluZVNwYWNpbmcpOiBEaXR0byAoZm9yIGxpbmVTcGFjaW5nKS4K
KyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpyZXNldCk6IE51bGxzIGFsbCBtZW1iZXJz
LCB1c2VkIG9ubHkgYnkgdGhlIHBsYXRmb3JtIHZhcmlhbnRzIG9mIFNpbXBsZUZvbnREYXRhLgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcDogQWRhcHQgU1ZH
IEZvbnRzIGNvZGUsIHRvIGluaXRpYWxpemUgdGhlIEZvbnRNZXRyaWNzIG9iamVjdCwgYXMgdGhl
IG1fYXNjZW50L2V0Yy4uIG1lbWJlcnMgYXJlIGdvbmUuCisgICAgICAgIChXZWJDb3JlOjpTaW1w
bGVGb250RGF0YTo6U2ltcGxlRm9udERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9u
dERhdGE6OmluaXRDaGFyV2lkdGhzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1w
bGVGb250RGF0YS5oOiBSZW1vdmUgYXNjZW50L2Rlc2NlbnQvaGVpZ2h0L2xpbmVTcGFjaW5nL2xp
bmVHYXAveEhlaWdodC91bml0c1BlckVtIGFjY2Vzc29ycywgYW5kIG1lbWJlcnMsIGp1c3Qgc3Rv
cmUgYSBGb250TWV0cmljcyBvYmplY3QgYW5kIGV4cG9zZSBpdC4KKyAgICAgICAgKFdlYkNvcmU6
OlNpbXBsZUZvbnREYXRhOjpmb250TWV0cmljcyk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVG
b250RGF0YTo6YXZnQ2hhcldpZHRoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9Gb250Q2hyb21pdW1XaW4uY3BwOiBVc2UgZm9udE1ldHJpY3MoKSB0byBxdWVyeSBmb250
IG1ldHJpY3MuCisgICAgICAgIChXZWJDb3JlOjpUcmFuc3BhcmVuY3lBd2FyZUZvbnRQYWludGVy
OjpUcmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRlcjo6ZXN0aW1hdGVUZXh0Qm91bmRzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRyYW5zcGFyZW5jeUF3YXJlRm9udFBhaW50ZXI6OlRyYW5zcGFyZW5j
eUF3YXJlR2x5cGhQYWludGVyOjpkcmF3R2x5cGhzKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5z
cGFyZW5jeUF3YXJlRm9udFBhaW50ZXI6OlRyYW5zcGFyZW5jeUF3YXJlVW5pc2NyaWJlUGFpbnRl
cjo6ZXN0aW1hdGVUZXh0Qm91bmRzKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmRyYXdDb21w
bGV4VGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9u
dERhdGFDaHJvbWl1bVdpbi5jcHA6IEFkYXB0IHBsYXRmb3JtIGNvZGUsIHRvIGluaXRpYWxpemUg
dGhlIEZvbnRNZXRyaWNzIG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRh
OjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Np
bXBsZUZvbnREYXRhTGludXguY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZv
bnREYXRhOjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL1VuaXNjcmliZUhlbHBlclRleHRSdW4uY3BwOiBVc2UgZm9udE1ldHJpY3MoKSB0byBxdWVy
eSBmb250IG1ldHJpY3MuCisgICAgICAgIChXZWJDb3JlOjpVbmlzY3JpYmVIZWxwZXJUZXh0UnVu
OjpVbmlzY3JpYmVIZWxwZXJUZXh0UnVuKToKKyAgICAgICAgKFdlYkNvcmU6OlVuaXNjcmliZUhl
bHBlclRleHRSdW46Om5leHRXaW5Gb250RGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFGcmVlVHlwZS5jcHA6IEFkYXB0IHBsYXRmb3JtIGNv
ZGUsIHRvIGluaXRpYWxpemUgdGhlIEZvbnRNZXRyaWNzIG9iamVjdC4KKyAgICAgICAgKFdlYkNv
cmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2hhaWt1L1NpbXBsZUZvbnREYXRhSGFpa3UuY3BwOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL21hYy9Gb250Q29tcGxleFRleHRNYWMuY3BwOiBVc2UgZm9udE1ldHJpY3MoKSB0
byBxdWVyeSBmb250IG1ldHJpY3MuCisgICAgICAgIChXZWJDb3JlOjpGb250OjpmbG9hdFdpZHRo
Rm9yQ29tcGxleFRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFj
Lm1tOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OnNob3dHbHlwaHNXaXRoQWR2YW5jZXMpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbTogQWRh
cHQgcGxhdGZvcm0gY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUgRm9udE1ldHJpY3Mgb2JqZWN0Lgor
ICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAg
IChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1DaGFyV2lkdGhJbml0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9wYW5nby9TaW1wbGVGb250RGF0YVBhbmdvLmNwcDogRGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250RGF0YVF0LmNwcDogRGl0dG8u
ICgrIFN3aXRjaCB0byBRRm9udE1ldHJpY3NGIHRvIGdldCBmbG9hdGluZy1wb2ludCBhY2N1cmFu
Y3kuKQorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDR1dpbi5jcHA6IFVzZSBmb250TWV0
cmljcygpIHRvIHF1ZXJ5IGZvbnQgbWV0cmljcy4KKyAgICAgICAgKFdlYkNvcmU6OmRyYXdHRElH
bHlwaHMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250V2luLmNwcDogRGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpGb250OjpmbG9hdFdpZHRoRm9yQ29tcGxleFRleHQpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNHV2luLmNwcDog
QWRhcHQgcGxhdGZvcm0gY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUgRm9udE1ldHJpY3Mgb2JqZWN0
LgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAg
ICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Cb3VuZHNGb3JHbHlwaCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ2Fpcm9XaW4uY3Bw
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHA6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OmluaXRHRElGb250KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5j
cHA6IFVzZSBmb250TWV0cmljcygpIHRvIHF1ZXJ5IGZvbnQgbWV0cmljcy4KKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6ZHJhd1RleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3dpbmNlL1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwOiBBZGFwdCBwbGF0Zm9ybSBjb2Rl
LCB0byBpbml0aWFsaXplIHRoZSBGb250TWV0cmljcyBvYmplY3QuCisgICAgICAgIChXZWJDb3Jl
OjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy93eC9TaW1wbGVGb250RGF0YVd4LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpT
aW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiByZW5kZXJpbmcvRWxsaXBz
aXNCb3guY3BwOiBVc2Ugc3R5bGUtPmZvbnRNZXRyaWNzKCkgaW5zdGVhZCBvZiBzdHlsZS0+Zm9u
dCgpIHRvIGFjY2VzcyB0aGUgbWV0cmljcy4KKyAgICAgICAgKFdlYkNvcmU6OkVsbGlwc2lzQm94
OjpwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpFbGxpcHNpc0JveDo6bm9kZUF0UG9pbnQpOgor
ICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVCb3guY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OklubGluZUJveDo6bG9naWNhbEhlaWdodCk6CisgICAgICAgICogcmVuZGVyaW5nL0lubGlu
ZUZsb3dCb3guY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OnZlcnRpY2FsUG9zaXRpb25G
b3JCb3gpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6Y29tcHV0ZUxvZ2ljYWxC
b3hIZWlnaHRzKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJ
bkJsb2NrRGlyZWN0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHA6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OklubGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvblVuZGVybGluZSk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCbG9jazo6YmFzZWxpbmVQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCbG9jazo6Zmlyc3RMaW5lQm94QmFzZWxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2s6Omxhc3RMaW5lQm94QmFzZWxpbmUpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCb3guY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6bG9jYWxD
YXJldFJlY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHA6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRW1iZWRkZWRPYmplY3Q6OnBhaW50UmVw
bGFjZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OnNldEltYWdlU2l6ZUZvckFsdFRleHQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OnBhaW50UmVwbGFjZWQpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
cklubGluZTo6YmFzZWxpbmVQb3NpdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxp
c3RCb3guY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnBhaW50
SXRlbUZvcmVncm91bmQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6aXRlbUhl
aWdodCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwOiBEaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RNYXJrZXI6OnBhaW50KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxpc3RNYXJrZXI6OmxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMaXN0TWFya2VyOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVNYXJnaW5zKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxpc3RNYXJrZXI6OmdldFJlbGF0aXZlTWFya2VyUmVjdCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUZXh0Q29udHJvbDo6cGFpbnRQbGFjZWhvbGRlcik6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHA6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpjcmVhdGVJbm5lclRleHRTdHlsZSk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcDogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZVdpbjo6YWRqdXN0TWVudUxpc3RCdXR0b25TdHlsZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6IEFkZCAiY29uc3QgRm9udE1l
dHJpY3MmIGZvbnRNZXRyaWNzKCkgY29uc3QiIGFjY2Vzc29yLgorICAgICAgICAoV2ViQ29yZTo6
SW5oZXJpdGVkRmxhZ3M6OmZvbnRNZXRyaWNzKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRl
ZEZsYWdzOjpjb21wdXRlZExpbmVIZWlnaHQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHSW5saW5lVGV4dC5jcHA6IFVzZSBzdHlsZS0+Zm9udE1ldHJpY3MoKSBpbnN0ZWFkIG9m
IHN0eWxlLT5mb250KCkgdG8gYWNjZXNzIHRoZSBtZXRyaWNzLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU1ZHSW5saW5lVGV4dDo6cG9zaXRpb25Gb3JQb2ludCk6CisgICAgICAgICogcmVuZGVy
aW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpT
VkdJbmxpbmVUZXh0Qm94OjpzZWxlY3Rpb25SZWN0Rm9yVGV4dEZyYWdtZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OnBvc2l0aW9uT2Zmc2V0Rm9yRGVjb3JhdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb25XaXRoU3R5bGUpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHSW5saW5lVGV4dEJveDo6cGFpbnRUZXh0V2l0aFNoYWRvd3MpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHSW5saW5lVGV4dEJveDo6Y2FsY3VsYXRlQm91bmRhcmllcyk6CisgICAg
ICAgICogcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuY3BwOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2FsY3Vs
YXRlQmFzZWxpbmVTaGlmdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmU6OmNhbGN1bGF0ZUFsaWdubWVudEJhc2VsaW5lU2hpZnQpOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lOjpjYWxjdWxhdGVHbHlwaEFkdmFuY2VB
bmRPcmllbnRhdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5n
aW5lU3BhY2luZy5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dExheW91dEVu
Z2luZVNwYWNpbmc6OmNhbGN1bGF0ZVNWR0tlcm5pbmcpOgorICAgICAgICAqIHJlbmRlcmluZy9z
dmcvU1ZHVGV4dE1ldHJpY3MuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRN
ZXRyaWNzOjpTVkdUZXh0TWV0cmljcyk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdUZXh0
UXVlcnkuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OmNhbGN1bGF0ZUdseXBoQm91bmRh
cmllcyk6CisgICAgICAgICogc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHA6IAorICAgICAgICAo
V2ViQ29yZTo6U1ZHRm9udEZhY2VFbGVtZW50Ojp1bml0c1BlckVtKTogUmVuYW1lIGRlZmF1bHRV
bml0c1BlckVtIGdsb2JhbCB0byBnRGVmYXVsdFVuaXRzUGVyRW0uCisgICAgICAgICogc3ZnL1NW
R0xlbmd0aC5jcHA6IFVzZSBzdHlsZS0+Zm9udE1ldHJpY3MoKSBpbnN0ZWFkIG9mIHN0eWxlLT5m
b250KCkgdG8gYWNjZXNzIHRoZSBtZXRyaWNzLgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3Ro
Ojpjb252ZXJ0VmFsdWVGcm9tVXNlclVuaXRzVG9FWFMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
TGVuZ3RoOjpjb252ZXJ0VmFsdWVGcm9tRVhTVG9Vc2VyVW5pdHMpOgorCiAyMDEwLTEyLTI1ICBQ
ZXRlciBSeWJpbiAgPHBldGVyLnJ5YmluQGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBBZGFtIEJhcnRoLgpJbmRleDogV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvR05V
bWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTI0MDUsNiArMjQwNSw3IEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5LmggXAog
CVdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhc3RQYXRoLmNwcCBcCiAJV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250LmggXAorCVdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dE1ldHJpY3MuaCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250T3JpZW50YXRpb24u
aCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UmVuZGVyaW5nTW9kZS5oIFwKIAlX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRTZWxlY3Rvci5oIFwKSW5kZXg6IFdlYkNvcmUv
V2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lv
biA3NDY2NSkKKysrIFdlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0yOTEw
LDYgKzI5MTAsNyBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHku
Y3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5LmgnLAogICAg
ICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYXN0UGF0aC5jcHAnLAorICAgICAgICAg
ICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmgnLAogICAgICAgICAgICAgJ3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRSZW5kZXJpbmdNb2RlLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRTZWxlY3Rvci5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGlj
cy9Gb250U21vb3RoaW5nTW9kZS5oJywKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3Jl
L1dlYkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC0yMTEzLDYgKzIxMTMsNyBAQCBIRUFERVJT
ICs9IFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oIFwKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9Gb250RGVzY3JpcHRpb24uaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
bWlseS5oIFwKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oIFwKICAgICBwbGF0
Zm9ybS9ncmFwaGljcy9Gb250LmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRlZElt
YWdlLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50LmggXApJbmRleDogV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTI2MzgxLDYg
KzI2MzgxLDEwIEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRp
dmVQYXRoPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGb250TWV0cmljcy5oIgorCQkJCQk+CisJCQkJ
PC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cZ3JhcGhp
Y3NcRm9udFJlbmRlcmluZ01vZGUuaCIKIAkJCQkJPgogCQkJCTwvRmlsZT4KSW5kZXg6IFdlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA3NDY2NSkKKysr
IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDcsNiArMTA3LDcgQEAKIAkJMDgzREFFQTcwRjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRl
clRleHRDb250cm9sTXVsdGlMaW5lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwODNEQUVBMzBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRy
b2xNdWx0aUxpbmUuaCAqLzsgfTsKIAkJMDgzREFFQTgwRjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRl
clRleHRDb250cm9sU2luZ2xlTGluZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwODNEQUVBNDBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENv
bnRyb2xTaW5nbGVMaW5lLmNwcCAqLzsgfTsKIAkJMDgzREFFQTkwRjAxQTdGQjAwMzQyNzU0IC8q
IFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDgzREFFQTUwRjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRlclRl
eHRDb250cm9sU2luZ2xlTGluZS5oICovOyB9OworCQkwODQ1NjgwODEyQjkwREE2MDA5NjBBOUYg
LyogRm9udE1ldHJpY3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDA4NDU2ODA3MTJCOTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA4NEEwODI5MTI4RDc4
NjcwMDJEQjFGMSAvKiBTVkdQYXRoU2VnTGlzdFByb3BlcnR5VGVhck9mZi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0QTA4MjgxMjhENzg2NzAwMkRC
MUYxIC8qIFNWR1BhdGhTZWdMaXN0UHJvcGVydHlUZWFyT2ZmLmggKi87IH07CiAJCTA4NEFFQkU0
MEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxlY3RFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NEFFQkUyMEZCNTA1RkEwMDM4NDgzRSAvKiBT
ZWxlY3RFbGVtZW50LmNwcCAqLzsgfTsKIAkJMDg0QUVCRTUwRkI1MDVGQTAwMzg0ODNFIC8qIFNl
bGVjdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDA4NEFFQkUzMEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxlY3RFbGVtZW50LmggKi87IH07CkBA
IC02MzY5LDYgKzYzNzAsNyBAQAogCQkwODNEQUVBMzBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVy
VGV4dENvbnRyb2xNdWx0aUxpbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMDgzREFFQTQwRjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGlu
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJUZXh0Q29u
dHJvbFNpbmdsZUxpbmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODNEQUVB
NTBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwODQ1NjgwNzEyQjkwREE2MDA5NjBBOUYg
LyogRm9udE1ldHJpY3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udE1l
dHJpY3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg0QTA4MjgxMjhENzg2NzAw
MkRCMUYxIC8qIFNWR1BhdGhTZWdMaXN0UHJvcGVydHlUZWFyT2ZmLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1BhdGhTZWdMaXN0UHJvcGVydHlUZWFyT2ZmLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4NEFFQkUyMEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxl
Y3RFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNlbGVj
dEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODRBRUJFMzBGQjUw
NUZBMDAzODQ4M0UgLyogU2VsZWN0RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTZWxlY3RFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
NzIzMiw2ICsxNzIzNCw3IEBACiAJCQkJQjJDM0RBNTgwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnRG
YW1pbHkuY3BwICovLAogCQkJCUIyQzNEQTU5MEQwMDZDRDYwMEVGNkYyNiAvKiBGb250RmFtaWx5
LmggKi8sCiAJCQkJNzI2MjZFMDEwRUYwMjJGRTAwQTA3RTIwIC8qIEZvbnRGYXN0UGF0aC5jcHAg
Ki8sCisJCQkJMDg0NTY4MDcxMkI5MERBNjAwOTYwQTlGIC8qIEZvbnRNZXRyaWNzLmggKi8sCiAJ
CQkJRjdBMDM0QzMxMjZCRjZCRTAwN0RDMTlFIC8qIEZvbnRPcmllbnRhdGlvbi5oICovLAogCQkJ
CTM3QUNDRTQxMERBMjk4MEYwMDg5RTYwMiAvKiBGb250UmVuZGVyaW5nTW9kZS5oICovLAogCQkJ
CUIyQzNEQTVBMEQwMDZDRDYwMEVGNkYyNiAvKiBGb250U2VsZWN0b3IuaCAqLywKQEAgLTIyMTM0
LDYgKzIyMTM3LDcgQEAKIAkJCQk5M0YxOTlFRDA4MjQ1RTU5MDAxRTlBQkMgLyogWFNMVFByb2Nl
c3Nvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFCRTUxMkUwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhT
TFRVbmljb2RlU29ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdERDREODcwRkRGNEQ2RTAwRUNG
OUE0IC8qIFhTU0F1ZGl0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTA4NDU2ODA4MTJCOTBEQTYw
MDk2MEE5RiAvKiBGb250TWV0cmljcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk5QjNFQzUxMjhD
Q0M0NzAwRTcyNkMyIC8qIFBsYXRmb3JtQ0FMYXllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk5
QjNFRDcxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDk5QjNFREQxMjhEQjUwMjAwRTcyNkMyIC8qIFBsYXRmb3JtQ0FBbmltYXRpb24uaCBp
biBIZWFkZXJzICovLApJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlckF0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAJKHJldmlzaW9uIDc0NjY1
KQorKysgV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ckF0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMTEsOCArMTIxMSw4IEBAIHN0YXRpYyBpbnQg
YmFzZWxpbmVQb3NpdGlvbkZvckFjY2Vzc2liaWwKICAgICAvLyBGSVhNRTogVGhpcyBpbXBsZW1l
bnRhdGlvbiBvZiBiYXNlbGluZVBvc2l0aW9uIG9yaWdpbmF0ZXMgZnJvbSBSZW5kZXJPYmplY3Qu
Y3BwIGFuZCB3YXMKICAgICAvLyByZW1vdmVkIGluIHI3MDA3Mi4gVGhlIGltcGxlbWVudGF0aW9u
IGxvb2tzIGluY29ycmVjdCB0aG91Z2gsIGJlY2F1c2UgdGhpcyBpcyBub3QgdGhlCiAgICAgLy8g
YmFzZWxpbmUgb2YgdGhlIHVuZGVybHlpbmcgUmVuZGVyT2JqZWN0LCBidXQgb2YgdGhlIEFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3QuCi0gICAgY29uc3QgRm9udCYgZiA9IHJlbmRlck9iamVjdC0+
Zmlyc3RMaW5lU3R5bGUoKS0+Zm9udCgpOwotICAgIHJldHVybiBmLmFzY2VudCgpICsgKHJlbmRl
ck9iamVjdC0+Zmlyc3RMaW5lU3R5bGUoKS0+Y29tcHV0ZWRMaW5lSGVpZ2h0KCkgLSBmLmhlaWdo
dCgpKSAvIDI7CisgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gcmVuZGVyT2Jq
ZWN0LT5maXJzdExpbmVTdHlsZSgpLT5mb250TWV0cmljcygpOworICAgIHJldHVybiBmb250TWV0
cmljcy5hc2NlbnQoKSArIChyZW5kZXJPYmplY3QtPmZpcnN0TGluZVN0eWxlKCktPmNvbXB1dGVk
TGluZUhlaWdodCgpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpIC8gMjsKIH0KIAogc3RhdGljIEF0
a0F0dHJpYnV0ZVNldCogZ2V0QXR0cmlidXRlU2V0Rm9yQWNjZXNzaWJpbGl0eU9iamVjdChjb25z
dCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QpCkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFs
dWUuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAwLDcgKzQwMCw3IEBAIGRvdWJsZSBDU1NQcmltaXRp
dmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aEQKICAgICAgICAgICAgIC8vIFdlIHJlYWxseSBuZWVkIHRv
IGNvbXB1dGUgRVggdXNpbmcgZm9udE1ldHJpY3MgZm9yIHRoZSBvcmlnaW5hbCBzcGVjaWZpZWRT
aXplIGFuZCBub3QgdXNlCiAgICAgICAgICAgICAvLyBvdXIgYWN0dWFsIGNvbnN0cnVjdGVkIHJl
bmRlcmluZyBmb250LgogICAgICAgICAgICAgYXBwbHlab29tTXVsdGlwbGllciA9IGZhbHNlOwot
ICAgICAgICAgICAgZmFjdG9yID0gc3R5bGUtPmZvbnQoKS54SGVpZ2h0KCk7CisgICAgICAgICAg
ICBmYWN0b3IgPSBzdHlsZS0+Zm9udE1ldHJpY3MoKS54SGVpZ2h0KCk7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgY2FzZSBDU1NfUkVNUzoKICAgICAgICAgICAgIGFwcGx5Wm9vbU11bHRp
cGxpZXIgPSBmYWxzZTsKSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzYw
LDYgKzE3NjAsNyBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJCiAg
ICAgICAgIHJldHVybjsKIAogICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBhY2Nlc3NGb250KCk7Cisg
ICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZm9udC5mb250TWV0cmljcygpOwog
CiAgICAgLy8gRklYTUU6IEhhbmRsZSBtYXhXaWR0aC4KICAgICAvLyBGSVhNRTogTmVlZCB0byB0
dXJuIG9mZiBmb250IHNtb290aGluZy4KQEAgLTE3NzcsMTQgKzE3NzgsMTQgQEAgdm9pZCBDYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmRyYXdUZXh0SQogICAgIHN3aXRjaCAoc3RhdGUoKS5tX3Rl
eHRCYXNlbGluZSkgewogICAgIGNhc2UgVG9wVGV4dEJhc2VsaW5lOgogICAgIGNhc2UgSGFuZ2lu
Z1RleHRCYXNlbGluZToKLSAgICAgICAgbG9jYXRpb24uc2V0WSh5ICsgZm9udC5hc2NlbnQoKSk7
CisgICAgICAgIGxvY2F0aW9uLnNldFkoeSArIGZvbnRNZXRyaWNzLmFzY2VudCgpKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBCb3R0b21UZXh0QmFzZWxpbmU6CiAgICAgY2FzZSBJZGVvZ3Jh
cGhpY1RleHRCYXNlbGluZToKLSAgICAgICAgbG9jYXRpb24uc2V0WSh5IC0gZm9udC5kZXNjZW50
KCkpOworICAgICAgICBsb2NhdGlvbi5zZXRZKHkgLSBmb250TWV0cmljcy5kZXNjZW50KCkpOwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIE1pZGRsZVRleHRCYXNlbGluZToKLSAgICAgICAgbG9j
YXRpb24uc2V0WSh5IC0gZm9udC5kZXNjZW50KCkgKyBmb250LmhlaWdodCgpIC8gMik7CisgICAg
ICAgIGxvY2F0aW9uLnNldFkoeSAtIGZvbnRNZXRyaWNzLmRlc2NlbnQoKSArIGZvbnRNZXRyaWNz
LmhlaWdodCgpIC8gMik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQWxwaGFiZXRpY1RleHRC
YXNlbGluZToKICAgICBkZWZhdWx0OgpAQCAtMTgxMiw4ICsxODEzLDggQEAgdm9pZCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ6OmRyYXdUZXh0SQogICAgIH0KIAogICAgIC8vIFRoZSBzbG9wIGJ1
aWx0IGluIHRvIHRoaXMgbWFzayByZWN0IG1hdGNoZXMgdGhlIGhldXJpc3RpYyB1c2VkIGluIEZv
bnRDR1dpbi5jcHAgZm9yIEdESSB0ZXh0LgotICAgIEZsb2F0UmVjdCB0ZXh0UmVjdCA9IEZsb2F0
UmVjdChsb2NhdGlvbi54KCkgLSBmb250LmhlaWdodCgpIC8gMiwgbG9jYXRpb24ueSgpIC0gZm9u
dC5hc2NlbnQoKSAtIGZvbnQubGluZUdhcCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB3aWR0aCArIGZvbnQuaGVpZ2h0KCksIGZvbnQubGluZVNwYWNpbmcoKSk7CisgICAg
RmxvYXRSZWN0IHRleHRSZWN0ID0gRmxvYXRSZWN0KGxvY2F0aW9uLngoKSAtIGZvbnRNZXRyaWNz
LmhlaWdodCgpIC8gMiwgbG9jYXRpb24ueSgpIC0gZm9udE1ldHJpY3MuYXNjZW50KCkgLSBmb250
TWV0cmljcy5saW5lR2FwKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdp
ZHRoICsgZm9udE1ldHJpY3MuaGVpZ2h0KCksIGZvbnRNZXRyaWNzLmxpbmVTcGFjaW5nKCkpOwog
ICAgIGlmICghZmlsbCkKICAgICAgICAgdGV4dFJlY3QuaW5mbGF0ZShjLT5zdHJva2VUaGlja25l
c3MoKSAvIDIpOwogCkluZGV4OiBXZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVy
LmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc2Niw3ICsxNzY2LDcgQEAgdm9pZCBJbnNw
ZWN0b3JDb250cm9sbGVyOjpkcmF3RWxlbWVudFRpdAogICAgIGNvbnRleHQuc2V0RmlsbENvbG9y
KHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3IsIENvbG9yU3BhY2VEZXZpY2VSR0IpOwogICAgIGNvbnRl
eHQuZHJhd1JlY3QodGl0bGVSZWN0KTsKICAgICBjb250ZXh0LnNldEZpbGxDb2xvcih0b29sdGlw
Rm9udENvbG9yLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKLSAgICBjb250ZXh0LmRyYXdUZXh0KGZv
bnQsIG5vZGVUaXRsZVJ1biwgSW50UG9pbnQodGl0bGVSZWN0LngoKSArIHJlY3RJbmZsYXRlUHgs
IHRpdGxlUmVjdC55KCkgKyBmb250LmhlaWdodCgpKSk7CisgICAgY29udGV4dC5kcmF3VGV4dChm
b250LCBub2RlVGl0bGVSdW4sIEludFBvaW50KHRpdGxlUmVjdC54KCkgKyByZWN0SW5mbGF0ZVB4
LCB0aXRsZVJlY3QueSgpICsgZm9udC5mb250TWV0cmljcygpLmhlaWdodCgpKSk7CiB9CiAKIHZv
aWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6b3BlbkluSW5zcGVjdGVkV2luZG93KGNvbnN0IFN0cmlu
ZyYgdXJsKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1
bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVD
aHJvbWl1bS5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk1OSw3ICs5NTksNyBA
QCB2b2lkIFBvcHVwTGlzdEJveDo6cGFpbnRSb3coR3JhcGhpY3NDb250CiAgICAgICAgIHRleHRY
ICs9IG1heFdpZHRoIC0gaXRlbUZvbnQud2lkdGgodGV4dFJ1bik7CiAKICAgICAvLyBEcmF3IHRo
ZSBpdGVtIHRleHQuCi0gICAgaW50IHRleHRZID0gcm93UmVjdC55KCkgKyBpdGVtRm9udC5hc2Nl
bnQoKSArIChyb3dSZWN0LmhlaWdodCgpIC0gaXRlbUZvbnQuaGVpZ2h0KCkpIC8gMjsKKyAgICBp
bnQgdGV4dFkgPSByb3dSZWN0LnkoKSArIGl0ZW1Gb250LmZvbnRNZXRyaWNzKCkuYXNjZW50KCkg
KyAocm93UmVjdC5oZWlnaHQoKSAtIGl0ZW1Gb250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkpIC8g
MjsKICAgICBnYy0+ZHJhd0JpZGlUZXh0KGl0ZW1Gb250LCB0ZXh0UnVuLCBJbnRQb2ludCh0ZXh0
WCwgdGV4dFkpKTsKIAogICAgIC8vIFdlIGFyZSB1c2luZyB0aGUgbGVmdCBwYWRkaW5nIGFzIHRo
ZSByaWdodCBwYWRkaW5nIGluY2x1ZGVzIHJvb20gZm9yIHRoZSBzY3JvbGwtYmFyIHdoaWNoCkBA
IC0xMDk5LDcgKzEwOTksNyBAQCBpbnQgUG9wdXBMaXN0Qm94OjpnZXRSb3dIZWlnaHQoaW50IGlu
ZGV4CiAgICAgU3RyaW5nIGljb24gPSBtX3BvcHVwQ2xpZW50LT5pdGVtSWNvbihpbmRleCk7CiAg
ICAgUmVmUHRyPEltYWdlPiBpbWFnZShJbWFnZTo6bG9hZFBsYXRmb3JtUmVzb3VyY2UoaWNvbi51
dGY4KCkuZGF0YSgpKSk7CiAKLSAgICBpbnQgZm9udEhlaWdodCA9IGdldFJvd0ZvbnQoaW5kZXgp
LmhlaWdodCgpOworICAgIGludCBmb250SGVpZ2h0ID0gZ2V0Um93Rm9udChpbmRleCkuZm9udE1l
dHJpY3MoKS5oZWlnaHQoKTsKICAgICBpbnQgaWNvbkhlaWdodCA9IChpbWFnZSAmJiAhaW1hZ2Ut
PmlzTnVsbCgpKSA/IGltYWdlLT5yZWN0KCkuaGVpZ2h0KCkgOiAwOwogCiAgICAgcmV0dXJuIG1h
eChmb250SGVpZ2h0LCBpY29uSGVpZ2h0KTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5o
CShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCSh3
b3JraW5nIGNvcHkpCkBAIC00NCw3ICs0NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IEZsb2F0UG9pbnQ7CiBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBGb250RGF0YTsKLWNsYXNzIEZv
bnRGYWxsYmFja0xpc3Q7CitjbGFzcyBGb250TWV0cmljczsKIGNsYXNzIEZvbnRQbGF0Zm9ybURh
dGE7CiBjbGFzcyBGb250U2VsZWN0b3I7CiBjbGFzcyBHbHlwaEJ1ZmZlcjsKQEAgLTU0LDggKzU0
LDYgQEAgY2xhc3MgU1ZHRm9udEVsZW1lbnQ7CiAKIHN0cnVjdCBHbHlwaERhdGE7CiAKLWNvbnN0
IHVuc2lnbmVkIGRlZmF1bHRVbml0c1BlckVtID0gMTAwMDsKLQogc3RydWN0IEdseXBoT3ZlcmZs
b3cgewogICAgIEdseXBoT3ZlcmZsb3coKQogICAgICAgICA6IGxlZnQoMCkKQEAgLTEyOCwxMyAr
MTI2LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNQbGF0Zm9ybUZvbnQoKSBjb25zdCB7IHJldHVy
biBtX2lzUGxhdGZvcm1Gb250OyB9CiAKICAgICAvLyBNZXRyaWNzIHRoYXQgd2UgcXVlcnkgdGhl
IEZvbnRGYWxsYmFja0xpc3QgZm9yLgotICAgIGludCBhc2NlbnQoRm9udEJhc2VsaW5lIGJhc2Vs
aW5lVHlwZSA9IEFscGhhYmV0aWNCYXNlbGluZSkgY29uc3QgeyByZXR1cm4gcHJpbWFyeUZvbnQo
KS0+YXNjZW50KGJhc2VsaW5lVHlwZSk7IH0KLSAgICBpbnQgZGVzY2VudChGb250QmFzZWxpbmUg
YmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBjb25zdCB7IHJldHVybiBwcmltYXJ5
Rm9udCgpLT5kZXNjZW50KGJhc2VsaW5lVHlwZSk7IH0KLSAgICBpbnQgaGVpZ2h0KCkgY29uc3Qg
eyByZXR1cm4gYXNjZW50KCkgKyBkZXNjZW50KCk7IH0KLSAgICBpbnQgbGluZVNwYWNpbmcoKSBj
b25zdCB7IHJldHVybiBwcmltYXJ5Rm9udCgpLT5saW5lU3BhY2luZygpOyB9Ci0gICAgaW50IGxp
bmVHYXAoKSBjb25zdCB7IHJldHVybiBwcmltYXJ5Rm9udCgpLT5saW5lR2FwKCk7IH0KLSAgICBm
bG9hdCB4SGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gcHJpbWFyeUZvbnQoKS0+eEhlaWdodCgpOyB9
Ci0gICAgdW5zaWduZWQgdW5pdHNQZXJFbSgpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCkt
PnVuaXRzUGVyRW0oKTsgfQorICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcygpIGNv
bnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmZvbnRNZXRyaWNzKCk7IH0KICAgICBpbnQgc3Bh
Y2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIChpbnQpY2VpbGYocHJpbWFyeUZvbnQoKS0+YWRqdXN0
ZWRTcGFjZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmcpOyB9CiAgICAgZmxvYXQgdGFiV2lkdGgo
Y29uc3QgU2ltcGxlRm9udERhdGEmIGZvbnREYXRhKSBjb25zdCB7IHJldHVybiA4ICogY2VpbGYo
Zm9udERhdGEuYWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBsZXR0ZXJTcGFjaW5nKCkpOyB9CiAgICAg
aW50IGVtcGhhc2lzTWFya0FzY2VudChjb25zdCBBdG9taWNTdHJpbmcmKSBjb25zdDsKSW5kZXg6
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhc3RQYXRoLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYXN0UGF0aC5jcHAJKHJldmlzaW9uIDc0
NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNDEsNyArMjQxLDcgQEAgaW50IEZvbnQ6OmVtcGhhc2lzTWFya0FzY2Vu
dChjb25zdCBBdG9taQogICAgIGlmICghbWFya0ZvbnREYXRhKQogICAgICAgICByZXR1cm4gMDsK
IAotICAgIHJldHVybiBtYXJrRm9udERhdGEtPmFzY2VudCgpOworICAgIHJldHVybiBtYXJrRm9u
dERhdGEtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCk7CiB9CiAKIGludCBGb250OjplbXBoYXNpc01h
cmtEZXNjZW50KGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaykgY29uc3QKQEAgLTI1NSw3ICsyNTUs
NyBAQCBpbnQgRm9udDo6ZW1waGFzaXNNYXJrRGVzY2VudChjb25zdCBBdG9tCiAgICAgaWYgKCFt
YXJrRm9udERhdGEpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIG1hcmtGb250RGF0
YS0+ZGVzY2VudCgpOworICAgIHJldHVybiBtYXJrRm9udERhdGEtPmZvbnRNZXRyaWNzKCkuZGVz
Y2VudCgpOwogfQogCiBpbnQgRm9udDo6ZW1waGFzaXNNYXJrSGVpZ2h0KGNvbnN0IEF0b21pY1N0
cmluZyYgbWFyaykgY29uc3QKQEAgLTI2OSw3ICsyNjksNyBAQCBpbnQgRm9udDo6ZW1waGFzaXNN
YXJrSGVpZ2h0KGNvbnN0IEF0b21pCiAgICAgaWYgKCFtYXJrRm9udERhdGEpCiAgICAgICAgIHJl
dHVybiAwOwogCi0gICAgcmV0dXJuIG1hcmtGb250RGF0YS0+aGVpZ2h0KCk7CisgICAgcmV0dXJu
IG1hcmtGb250RGF0YS0+Zm9udE1ldHJpY3MoKS5oZWlnaHQoKTsKIH0KIAogZmxvYXQgRm9udDo6
Z2V0R2x5cGhzQW5kQWR2YW5jZXNGb3JTaW1wbGVUZXh0KGNvbnN0IFRleHRSdW4mIHJ1biwgaW50
IGZyb20sIGludCB0bywgR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCBGb3JUZXh0RW1waGFzaXNP
ck5vdCBmb3JUZXh0RW1waGFzaXMpIGNvbnN0CkBAIC00MDMsOCArNDAzLDggQEAgZmxvYXQgRm9u
dDo6ZmxvYXRXaWR0aEZvclNpbXBsZVRleHQoY29ucwogICAgIGl0LmFkdmFuY2UocnVuLmxlbmd0
aCgpLCBnbHlwaEJ1ZmZlcik7CiAKICAgICBpZiAoZ2x5cGhPdmVyZmxvdykgewotICAgICAgICBn
bHlwaE92ZXJmbG93LT50b3AgPSBtYXg8aW50PihnbHlwaE92ZXJmbG93LT50b3AsIGNlaWxmKC1p
dC5taW5HbHlwaEJvdW5kaW5nQm94WSgpKSAtIGFzY2VudCgpKTsKLSAgICAgICAgZ2x5cGhPdmVy
Zmxvdy0+Ym90dG9tID0gbWF4PGludD4oZ2x5cGhPdmVyZmxvdy0+Ym90dG9tLCBjZWlsZihpdC5t
YXhHbHlwaEJvdW5kaW5nQm94WSgpKSAtIGRlc2NlbnQoKSk7CisgICAgICAgIGdseXBoT3ZlcmZs
b3ctPnRvcCA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYoLWl0Lm1pbkdseXBo
Qm91bmRpbmdCb3hZKCkpIC0gZm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CisgICAgICAgIGdseXBo
T3ZlcmZsb3ctPmJvdHRvbSA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPmJvdHRvbSwgY2VpbGYo
aXQubWF4R2x5cGhCb3VuZGluZ0JveFkoKSkgLSBmb250TWV0cmljcygpLmRlc2NlbnQoKSk7CiAg
ICAgICAgIGdseXBoT3ZlcmZsb3ctPmxlZnQgPSBjZWlsZihpdC5maXJzdEdseXBoT3ZlcmZsb3co
KSk7CiAgICAgICAgIGdseXBoT3ZlcmZsb3ctPnJpZ2h0ID0gY2VpbGYoaXQubGFzdEdseXBoT3Zl
cmZsb3coKSk7CiAgICAgfQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0
cmljcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udE1ldHJp
Y3MuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udE1ldHJp
Y3MuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMjMgQEAKKy8qCisgICAgQ29weXJpZ2h0IChD
KSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
CisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICAgVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisg
ICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgIGFpbnQgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLAorICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKi8K
KworI2lmbmRlZiBGb250TWV0cmljc19oCisjZGVmaW5lIEZvbnRNZXRyaWNzX2gKKworI2luY2x1
ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY29uc3QgdW5z
aWduZWQgZ0RlZmF1bHRVbml0c1BlckVtID0gMTAwMDsKKworY2xhc3MgRm9udE1ldHJpY3Mgewor
cHVibGljOgorICAgIEZvbnRNZXRyaWNzKCkKKyAgICAgICAgOiBtX3VuaXRzUGVyRW0oZ0RlZmF1
bHRVbml0c1BlckVtKQorICAgICAgICAsIG1fYXNjZW50KDApCisgICAgICAgICwgbV9kZXNjZW50
KDApCisgICAgICAgICwgbV9saW5lR2FwKDApCisgICAgICAgICwgbV9saW5lU3BhY2luZygwKQor
ICAgICAgICAsIG1feEhlaWdodCgwKQorICAgIHsKKyAgICB9CisKKyAgICB1bnNpZ25lZCB1bml0
c1BlckVtKCkgY29uc3QgeyByZXR1cm4gbV91bml0c1BlckVtOyB9CisgICAgdm9pZCBzZXRVbml0
c1BlckVtKHVuc2lnbmVkIHVuaXRzUGVyRW0pIHsgbV91bml0c1BlckVtID0gdW5pdHNQZXJFbTsg
fQorCisgICAgZmxvYXQgZmxvYXRBc2NlbnQoRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFs
cGhhYmV0aWNCYXNlbGluZSkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChiYXNlbGluZVR5cGUg
PT0gQWxwaGFiZXRpY0Jhc2VsaW5lKQorICAgICAgICAgICAgcmV0dXJuIG1fYXNjZW50OworICAg
ICAgICByZXR1cm4gZmxvYXRIZWlnaHQoKSAvIDI7CisgICAgfQorCisgICAgdm9pZCBzZXRBc2Nl
bnQoZmxvYXQgYXNjZW50KSB7IG1fYXNjZW50ID0gYXNjZW50OyB9CisKKyAgICBmbG9hdCBmbG9h
dERlc2NlbnQoRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0aWNCYXNlbGluZSkg
Y29uc3QKKyAgICB7CisgICAgICAgIGlmIChiYXNlbGluZVR5cGUgPT0gQWxwaGFiZXRpY0Jhc2Vs
aW5lKQorICAgICAgICAgICAgcmV0dXJuIG1fZGVzY2VudDsKKyAgICAgICAgcmV0dXJuIGZsb2F0
SGVpZ2h0KCkgLyAyOworICAgIH0KKworICAgIHZvaWQgc2V0RGVzY2VudChmbG9hdCBkZXNjZW50
KSB7IG1fZGVzY2VudCA9IGRlc2NlbnQ7IH0KKworICAgIGZsb2F0IGZsb2F0SGVpZ2h0KEZvbnRC
YXNlbGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gZmxvYXRBc2NlbnQoYmFzZWxpbmVUeXBlKSArIGZsb2F0RGVzY2VudChi
YXNlbGluZVR5cGUpOworICAgIH0KKworICAgIGZsb2F0IGZsb2F0TGluZUdhcCgpIGNvbnN0IHsg
cmV0dXJuIG1fbGluZUdhcDsgfQorICAgIHZvaWQgc2V0TGluZUdhcChmbG9hdCBsaW5lR2FwKSB7
IG1fbGluZUdhcCA9IGxpbmVHYXA7IH0KKworICAgIGZsb2F0IGZsb2F0TGluZVNwYWNpbmcoKSBj
b25zdCB7IHJldHVybiBtX2xpbmVTcGFjaW5nOyB9CisgICAgdm9pZCBzZXRMaW5lU3BhY2luZyhm
bG9hdCBsaW5lU3BhY2luZykgeyBtX2xpbmVTcGFjaW5nID0gbGluZVNwYWNpbmc7IH0KKworICAg
IGZsb2F0IHhIZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX3hIZWlnaHQ7IH0KKyAgICB2b2lkIHNl
dFhIZWlnaHQoZmxvYXQgeEhlaWdodCkgeyBtX3hIZWlnaHQgPSB4SGVpZ2h0OyB9CisKKyAgICAv
LyBJbnRlZ2VyIHZhcmlhbnRzIG9mIGNlcnRhaW4gbWV0cmljcywgdXNlZCBmb3IgSFRNTCByZW5k
ZXJpbmcuCisgICAgaW50IGFzY2VudChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFi
ZXRpY0Jhc2VsaW5lKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKGJhc2VsaW5lVHlwZSA9PSBB
bHBoYWJldGljQmFzZWxpbmUpCisgICAgICAgICAgICByZXR1cm4gbHJvdW5kZihtX2FzY2VudCk7
CisgICAgICAgIHJldHVybiBoZWlnaHQoKSAtIGhlaWdodCgpIC8gMjsKKyAgICB9CisKKyAgICBp
bnQgZGVzY2VudChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5l
KSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKGJhc2VsaW5lVHlwZSA9PSBBbHBoYWJldGljQmFz
ZWxpbmUpCisgICAgICAgICAgICByZXR1cm4gbHJvdW5kZihtX2Rlc2NlbnQpOworICAgICAgICBy
ZXR1cm4gaGVpZ2h0KCkgLyAyOworICAgIH0KKworICAgIGludCBoZWlnaHQoRm9udEJhc2VsaW5l
IGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0aWNCYXNlbGluZSkgY29uc3QKKyAgICB7CisgICAgICAg
IHJldHVybiBhc2NlbnQoYmFzZWxpbmVUeXBlKSArIGRlc2NlbnQoYmFzZWxpbmVUeXBlKTsKKyAg
ICB9CisKKyAgICBpbnQgbGluZUdhcCgpIGNvbnN0IHsgcmV0dXJuIGxyb3VuZGYobV9saW5lR2Fw
KTsgfQorICAgIGludCBsaW5lU3BhY2luZygpIGNvbnN0IHsgcmV0dXJuIGxyb3VuZGYobV9saW5l
U3BhY2luZyk7IH0KKworcHJpdmF0ZToKKyAgICBmcmllbmQgY2xhc3MgU2ltcGxlRm9udERhdGE7
CisKKyAgICB2b2lkIHJlc2V0KCkKKyAgICB7CisgICAgICAgIG1fdW5pdHNQZXJFbSA9IGdEZWZh
dWx0VW5pdHNQZXJFbTsKKyAgICAgICAgbV9hc2NlbnQgPSAwOworICAgICAgICBtX2Rlc2NlbnQg
PSAwOworICAgICAgICBtX2xpbmVHYXAgPSAwOworICAgICAgICBtX2xpbmVTcGFjaW5nID0gMDsK
KyAgICAgICAgbV94SGVpZ2h0ID0gMDsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgdW5zaWduZWQg
bV91bml0c1BlckVtOworICAgIGZsb2F0IG1fYXNjZW50OworICAgIGZsb2F0IG1fZGVzY2VudDsK
KyAgICBmbG9hdCBtX2xpbmVHYXA7CisgICAgZmxvYXQgbV9saW5lU3BhY2luZzsKKyAgICBmbG9h
dCBtX3hIZWlnaHQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBG
b250TWV0cmljc19oCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnRE
YXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZv
bnREYXRhLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1NpbXBsZUZvbnREYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNyArNTAsNiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBTaW1wbGVGb250RGF0YTo6U2ltcGxlRm9udERhdGEoY29uc3QgRm9u
dFBsYXRmb3JtRGF0YSYgcGxhdGZvcm1EYXRhLCBib29sIGlzQ3VzdG9tRm9udCwgYm9vbCBpc0xv
YWRpbmcpCiAgICAgOiBtX21heENoYXJXaWR0aCgtMSkKICAgICAsIG1fYXZnQ2hhcldpZHRoKC0x
KQotICAgICwgbV91bml0c1BlckVtKGRlZmF1bHRVbml0c1BlckVtKQogICAgICwgbV9vcmllbnRh
dGlvbihwbGF0Zm9ybURhdGEub3JpZW50YXRpb24oKSkKICAgICAsIG1fcGxhdGZvcm1EYXRhKHBs
YXRmb3JtRGF0YSkKICAgICAsIG1fdHJlYXRBc0ZpeGVkUGl0Y2goZmFsc2UpCkBAIC03NCwyMyAr
NzMsMjkgQEAgU2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnREYXRhKFBhc3NPd25QdAogICAgICwg
bV9pc0Jyb2tlbklkZW9ncmFwaEZvbnQoZmFsc2UpCiB7CiAgICAgU1ZHRm9udEZhY2VFbGVtZW50
KiBzdmdGb250RmFjZUVsZW1lbnQgPSBtX3N2Z0ZvbnREYXRhLT5zdmdGb250RmFjZUVsZW1lbnQo
KTsKLSAgICBtX3VuaXRzUGVyRW0gPSBzdmdGb250RmFjZUVsZW1lbnQtPnVuaXRzUGVyRW0oKTsK
KyAgICB1bnNpZ25lZCB1bml0c1BlckVtID0gc3ZnRm9udEZhY2VFbGVtZW50LT51bml0c1BlckVt
KCk7CiAKLSAgICBkb3VibGUgc2NhbGUgPSBzaXplOwotICAgIGlmIChtX3VuaXRzUGVyRW0pCi0g
ICAgICAgIHNjYWxlIC89IG1fdW5pdHNQZXJFbTsKLQotICAgIG1fYXNjZW50ID0gc3RhdGljX2Nh
c3Q8aW50PihzdmdGb250RmFjZUVsZW1lbnQtPmFzY2VudCgpICogc2NhbGUpOwotICAgIG1fZGVz
Y2VudCA9IHN0YXRpY19jYXN0PGludD4oc3ZnRm9udEZhY2VFbGVtZW50LT5kZXNjZW50KCkgKiBz
Y2FsZSk7Ci0gICAgbV94SGVpZ2h0ID0gc3RhdGljX2Nhc3Q8aW50PihzdmdGb250RmFjZUVsZW1l
bnQtPnhIZWlnaHQoKSAqIHNjYWxlKTsKLSAgICBtX2xpbmVHYXAgPSAwLjFmICogc2l6ZTsKLSAg
ICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rlc2NlbnQgKyBtX2xpbmVHYXA7CisgICAg
ZmxvYXQgc2NhbGUgPSBzaXplOworICAgIGlmICh1bml0c1BlckVtKQorICAgICAgICBzY2FsZSAv
PSB1bml0c1BlckVtOworCisgICAgLy8gRklYTUU6IFVzZSBmbG9hdGluZy1wb2ludCBtZXRyaWNz
LCBub3cgdGhhdCB0aGV5J3JlIGV4cG9zZWQhCisgICAgaW50IHhIZWlnaHQgPSBzdGF0aWNfY2Fz
dDxpbnQ+KHN2Z0ZvbnRGYWNlRWxlbWVudC0+eEhlaWdodCgpICogc2NhbGUpOworICAgIGludCBh
c2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KHN2Z0ZvbnRGYWNlRWxlbWVudC0+YXNjZW50KCkgKiBz
Y2FsZSk7CisgICAgaW50IGRlc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KHN2Z0ZvbnRGYWNlRWxl
bWVudC0+ZGVzY2VudCgpICogc2NhbGUpOworICAgIGludCBsaW5lR2FwID0gMC4xZiAqIHNpemU7
CisgICAgbV9mb250TWV0cmljcy5zZXRVbml0c1BlckVtKHVuaXRzUGVyRW0pOworICAgIG1fZm9u
dE1ldHJpY3Muc2V0QXNjZW50KGFzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50
KGRlc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChsaW5lR2FwKTsKKyAgICBt
X2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGFzY2VudCArIGRlc2NlbnQgKyBsaW5lR2FwKTsK
KyAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQoeEhlaWdodCk7CiAKICAgICBTVkdGb250RWxl
bWVudCogYXNzb2NpYXRlZEZvbnRFbGVtZW50ID0gc3ZnRm9udEZhY2VFbGVtZW50LT5hc3NvY2lh
dGVkRm9udEVsZW1lbnQoKTsKIAogICAgIFZlY3RvcjxTVkdHbHlwaElkZW50aWZpZXI+IHNwYWNl
R2x5cGhzOwogICAgIGFzc29jaWF0ZWRGb250RWxlbWVudC0+Z2V0R2x5cGhJZGVudGlmaWVyc0Zv
clN0cmluZyhTdHJpbmcoIiAiLCAxKSwgc3BhY2VHbHlwaHMpOwotICAgIG1fc3BhY2VXaWR0aCA9
IHNwYWNlR2x5cGhzLmlzRW1wdHkoKSA/IG1feEhlaWdodCA6IHN0YXRpY19jYXN0PGZsb2F0Pihz
cGFjZUdseXBocy5maXJzdCgpLmhvcml6b250YWxBZHZhbmNlWCAqIHNjYWxlKTsKKyAgICBtX3Nw
YWNlV2lkdGggPSBzcGFjZUdseXBocy5pc0VtcHR5KCkgPyB4SGVpZ2h0IDogc3RhdGljX2Nhc3Q8
ZmxvYXQ+KHNwYWNlR2x5cGhzLmZpcnN0KCkuaG9yaXpvbnRhbEFkdmFuY2VYICogc2NhbGUpOwog
CiAgICAgVmVjdG9yPFNWR0dseXBoSWRlbnRpZmllcj4gbnVtZXJhbFplcm9HbHlwaHM7CiAgICAg
YXNzb2NpYXRlZEZvbnRFbGVtZW50LT5nZXRHbHlwaElkZW50aWZpZXJzRm9yU3RyaW5nKFN0cmlu
ZygiMCIsIDEpLCBudW1lcmFsWmVyb0dseXBocyk7CkBAIC05OCw3ICsxMDMsNyBAQCBTaW1wbGVG
b250RGF0YTo6U2ltcGxlRm9udERhdGEoUGFzc093blB0CiAKICAgICBWZWN0b3I8U1ZHR2x5cGhJ
ZGVudGlmaWVyPiBsZXR0ZXJXR2x5cGhzOwogICAgIGFzc29jaWF0ZWRGb250RWxlbWVudC0+Z2V0
R2x5cGhJZGVudGlmaWVyc0ZvclN0cmluZyhTdHJpbmcoIlciLCAxKSwgbGV0dGVyV0dseXBocyk7
Ci0gICAgbV9tYXhDaGFyV2lkdGggPSBsZXR0ZXJXR2x5cGhzLmlzRW1wdHkoKSA/IG1fYXNjZW50
IDogc3RhdGljX2Nhc3Q8ZmxvYXQ+KGxldHRlcldHbHlwaHMuZmlyc3QoKS5ob3Jpem9udGFsQWR2
YW5jZVggKiBzY2FsZSk7CisgICAgbV9tYXhDaGFyV2lkdGggPSBsZXR0ZXJXR2x5cGhzLmlzRW1w
dHkoKSA/IGFzY2VudCA6IHN0YXRpY19jYXN0PGZsb2F0PihsZXR0ZXJXR2x5cGhzLmZpcnN0KCku
aG9yaXpvbnRhbEFkdmFuY2VYICogc2NhbGUpOwogCiAgICAgLy8gRklYTUU6IGlzIHRoZXJlIGEg
d2F5IHdlIGNhbiBnZXQgdGhlIHNwYWNlIGdseXBoIGZyb20gdGhlIFNWR0dseXBoSWRlbnRpZmll
ciBhYm92ZT8KICAgICBtX3NwYWNlR2x5cGggPSAwOwpAQCAtMTI2LDEwICsxMzEsMTEgQEAgdm9p
ZCBTaW1wbGVGb250RGF0YTo6aW5pdENoYXJXaWR0aHMoKQogCiAgICAgLy8gSWYgd2UgY2FuJ3Qg
cmV0cmlldmUgdGhlIHdpZHRoIG9mIGEgJzAnLCBmYWxsIGJhY2sgdG8gdGhlIHggaGVpZ2h0Lgog
ICAgIGlmIChtX2F2Z0NoYXJXaWR0aCA8PSAwLmYpCi0gICAgICAgIG1fYXZnQ2hhcldpZHRoID0g
bV94SGVpZ2h0OworICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9IG1fZm9udE1ldHJpY3MueEhlaWdo
dCgpOwogCisgICAgLy8gRklYTUU6IFVzZSBmbG9hdGluZy1wb2ludCBtZXRyaWNzLCBub3cgdGhh
dCB0aGV5J3JlIGV4cG9zZWQhCiAgICAgaWYgKG1fbWF4Q2hhcldpZHRoIDw9IDAuZikKLSAgICAg
ICAgbV9tYXhDaGFyV2lkdGggPSBtYXg8ZmxvYXQ+KG1fYXZnQ2hhcldpZHRoLCBtX2FzY2VudCk7
CisgICAgICAgIG1fbWF4Q2hhcldpZHRoID0gbWF4PGZsb2F0PihtX2F2Z0NoYXJXaWR0aCwgbV9m
b250TWV0cmljcy5hc2NlbnQoKSk7CiB9CiAKIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3Jt
R2x5cGhJbml0KCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERh
dGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnRE
YXRhLmgJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1w
bGVGb250RGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAKICNpbmNsdWRl
ICJGb250QmFzZWxpbmUuaCIKICNpbmNsdWRlICJGb250RGF0YS5oIgorI2luY2x1ZGUgIkZvbnRN
ZXRyaWNzLmgiCiAjaW5jbHVkZSAiRm9udFBsYXRmb3JtRGF0YS5oIgogI2luY2x1ZGUgIkZsb2F0
UmVjdC5oIgogI2luY2x1ZGUgIkdseXBoTWV0cmljc01hcC5oIgpAQCAtMTAxLDE1ICsxMDIsOSBA
QCBwdWJsaWM6CiAgICAgLy8gRklYTUU6IFVzZSB0aGUgYWN0dWFsIG1ldHJpY3MgZm9yIGZvbnRz
IHdpdGggdmVydGljYWwgdGFibGVzIGluc3RlYWQgb2YganVzdCBoYXJkLWNvZGluZy4gIElmIHRo
ZSBmb250IGlzIGhvcml6b250YWxseSBvcmllbnRlZCBvcgogICAgIC8vIGEgYnJva2VuIGlkZW9n
cmFwaGljIGZvbnQsIHRoZW4ganVzdCBoYXJkLWNvZGUgdG8gc3BsaXQgYXNjZW50L2Rlc2NlbnQg
ZG93biB0aGUgbWlkZGxlLiAgT3RoZXJ3aXNlIHdlIHNob3VsZCBhY3R1YWxseSB1c2UgdGhlIG1l
dHJpY3MKICAgICAvLyBmcm9tIHRoZSBmb250IGl0c2VsZi4KLSAgICBpbnQgYXNjZW50KEZvbnRC
YXNlbGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0IHsgcmV0dXJu
IGJhc2VsaW5lVHlwZSA9PSBBbHBoYWJldGljQmFzZWxpbmUgPyBtX2FzY2VudCA6IGhlaWdodCgp
IC0gaGVpZ2h0KCkgLyAyOyB9Ci0gICAgaW50IGRlc2NlbnQoRm9udEJhc2VsaW5lIGJhc2VsaW5l
VHlwZSA9IEFscGhhYmV0aWNCYXNlbGluZSkgY29uc3QgeyByZXR1cm4gYmFzZWxpbmVUeXBlID09
IEFscGhhYmV0aWNCYXNlbGluZSA/IG1fZGVzY2VudCA6IGhlaWdodCgpIC8gMjsgfQotICAgIGlu
dCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX2FzY2VudCArIG1fZGVzY2VudDsgfQotICAgIGlu
dCBsaW5lU3BhY2luZygpIGNvbnN0IHsgcmV0dXJuIG1fbGluZVNwYWNpbmc7IH0KLSAgICBpbnQg
bGluZUdhcCgpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUdhcDsgfQorICAgIGNvbnN0IEZvbnRNZXRy
aWNzJiBmb250TWV0cmljcygpIGNvbnN0IHsgcmV0dXJuIG1fZm9udE1ldHJpY3M7IH0KICAgICBm
bG9hdCBtYXhDaGFyV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX21heENoYXJXaWR0aDsgfQogICAg
IGZsb2F0IGF2Z0NoYXJXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fYXZnQ2hhcldpZHRoOyB9Ci0g
ICAgZmxvYXQgeEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1feEhlaWdodDsgfQotICAgIHVuc2ln
bmVkIHVuaXRzUGVyRW0oKSBjb25zdCB7IHJldHVybiBtX3VuaXRzUGVyRW07IH0KIAogICAgIEZs
b2F0UmVjdCBib3VuZHNGb3JHbHlwaChHbHlwaCkgY29uc3Q7CiAgICAgZmxvYXQgd2lkdGhGb3JH
bHlwaChHbHlwaCBnbHlwaCkgY29uc3Q7CkBAIC0yMTEsMTQgKzIwNiw5IEBAIHByaXZhdGU6CiAg
ICAgZmxvYXQgd2lkdGhGb3JHRElHbHlwaChHbHlwaCBnbHlwaCkgY29uc3Q7CiAjZW5kaWYKIAot
ICAgIGludCBtX2FzY2VudDsKLSAgICBpbnQgbV9kZXNjZW50OwotICAgIGludCBtX2xpbmVTcGFj
aW5nOwotICAgIGludCBtX2xpbmVHYXA7CisgICAgRm9udE1ldHJpY3MgbV9mb250TWV0cmljczsK
ICAgICBmbG9hdCBtX21heENoYXJXaWR0aDsKICAgICBmbG9hdCBtX2F2Z0NoYXJXaWR0aDsKLSAg
ICBmbG9hdCBtX3hIZWlnaHQ7Ci0gICAgdW5zaWduZWQgbV91bml0c1BlckVtOwogICAgIAogICAg
IEZvbnRPcmllbnRhdGlvbiBtX29yaWVudGF0aW9uOyAvLyBUaGlzIGlzIG91ciBzdXBwb3J0ZWQg
b3JpZW50YXRpb24gYWNjb3JkaW5nIHRvIHRoZSB0YWJsZXMgaW4gdGhlIGZvbnQuICBGb250UGxh
dGZvcm1EYXRhIHdpbGwganVzdCBhbHdheXMgaGF2ZSB0aGUgZGVzaXJlZCBvcmllbnRhdGlvbi4K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyB2YWx1ZSByZXByZXNl
bnRzIHdoYXQgd2UgYWN0dWFsbHkgc3VwcG9ydC4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vRm9udENocm9taXVtV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1bVdpbi5jcHAJKHJldmlzaW9u
IDc0NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2hyb21p
dW1XaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDYsMTAgKzI0NiwxMSBAQCBJbnRSZWN0IFRy
YW5zcGFyZW5jeUF3YXJlR2x5cGhQYWludGVyOjplCiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBt
X251bUdseXBoczsgaSsrKQogICAgICAgICB0b3RhbFdpZHRoICs9IGxyb3VuZGYobV9nbHlwaEJ1
ZmZlci5hZHZhbmNlQXQobV9mcm9tICsgaSkpOwogCi0gICAgcmV0dXJuIEludFJlY3QobV9wb2lu
dC54KCkgLSAobV9mb250LT5hc2NlbnQoKSArIG1fZm9udC0+ZGVzY2VudCgpKSAvIDIsCi0gICAg
ICAgICAgICAgICAgICAgbV9wb2ludC55KCkgLSBtX2ZvbnQtPmFzY2VudCgpIC0gbV9mb250LT5s
aW5lR2FwKCksCi0gICAgICAgICAgICAgICAgICAgdG90YWxXaWR0aCArIG1fZm9udC0+YXNjZW50
KCkgKyBtX2ZvbnQtPmRlc2NlbnQoKSwKLSAgICAgICAgICAgICAgICAgICBtX2ZvbnQtPmxpbmVT
cGFjaW5nKCkpOyAKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBtX2ZvbnQt
PmZvbnRNZXRyaWNzKCk7CisgICAgcmV0dXJuIEludFJlY3QobV9wb2ludC54KCkgLSAoZm9udE1l
dHJpY3MuYXNjZW50KCkgKyBmb250TWV0cmljcy5kZXNjZW50KCkpIC8gMiwKKyAgICAgICAgICAg
ICAgICAgICBtX3BvaW50LnkoKSAtIGZvbnRNZXRyaWNzLmFzY2VudCgpIC0gZm9udE1ldHJpY3Mu
bGluZUdhcCgpLAorICAgICAgICAgICAgICAgICAgIHRvdGFsV2lkdGggKyBmb250TWV0cmljcy5h
c2NlbnQoKSArIGZvbnRNZXRyaWNzLmRlc2NlbnQoKSwKKyAgICAgICAgICAgICAgICAgICBmb250
TWV0cmljcy5saW5lU3BhY2luZygpKTsgCiB9CiAKIGJvb2wgVHJhbnNwYXJlbmN5QXdhcmVHbHlw
aFBhaW50ZXI6OmRyYXdHbHlwaHMoaW50IG51bUdseXBocywKQEAgLTI3MCw3ICsyNzEsNyBAQCBi
b29sIFRyYW5zcGFyZW5jeUF3YXJlR2x5cGhQYWludGVyOjpkcmF3CiAgICAgLy8gV2luZG93cycg
b3JpZ2luIGlzIHRoZSB0b3AtbGVmdCBvZiB0aGUgYm91bmRpbmcgYm94LCBzbyB3ZSBoYXZlCiAg
ICAgLy8gdG8gc3VidHJhY3Qgb2ZmIHRoZSBmb250IGFzY2VudCB0byBnZXQgaXQuCiAgICAgaW50
IHggPSBscm91bmRmKG1fcG9pbnQueCgpICsgc3RhcnRBZHZhbmNlKTsKLSAgICBpbnQgeSA9IGxy
b3VuZGYobV9wb2ludC55KCkgLSBtX2ZvbnQtPmFzY2VudCgpKTsKKyAgICBpbnQgeSA9IGxyb3Vu
ZGYobV9wb2ludC55KCkgLSBtX2ZvbnQtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwogCiAgICAg
Ly8gSWYgdGhlcmUgaXMgYSBub24tYmx1ciBzaGFkb3cgYW5kIGJvdGggdGhlIGZpbGwgY29sb3Ig
YW5kIHNoYWRvdyBjb2xvciAKICAgICAvLyBhcmUgb3BhcXVlLCBoYW5kbGUgd2l0aG91dCBza2lh
LiAKQEAgLTM1NCwxMCArMzU1LDExIEBAIEludFJlY3QgVHJhbnNwYXJlbmN5QXdhcmVVbmlzY3Jp
YmVQYWludGUKICAgICAvLyBUaGlzIGFsZ29yaXRobSBmb3IgZXN0aW1hdGluZyBob3cgbXVjaCBl
eHRyYSBzcGFjZSB3ZSBuZWVkICh0aGUgdGV4dCBtYXkKICAgICAvLyBnbyBvdXRzaWRlIHRoZSBz
ZWxlY3Rpb24gcmVjdCkgaXMgYmFzZWQgcm91Z2hseSBvbgogICAgIC8vIFRyYW5zcGFyZW5jeUF3
YXJlR2x5cGhQYWludGVyOjplc3RpbWF0ZVRleHRCb3VuZHMgYWJvdmUuCi0gICAgcmV0dXJuIElu
dFJlY3QobGVmdCAtIChtX2ZvbnQtPmFzY2VudCgpICsgbV9mb250LT5kZXNjZW50KCkpIC8gMiwK
LSAgICAgICAgICAgICAgICAgICBtX3BvaW50LnkoKSAtIG1fZm9udC0+YXNjZW50KCkgLSBtX2Zv
bnQtPmxpbmVHYXAoKSwKLSAgICAgICAgICAgICAgICAgICAocmlnaHQgLSBsZWZ0KSArIG1fZm9u
dC0+YXNjZW50KCkgKyBtX2ZvbnQtPmRlc2NlbnQoKSwKLSAgICAgICAgICAgICAgICAgICBtX2Zv
bnQtPmxpbmVTcGFjaW5nKCkpOworICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9
IG1fZm9udC0+Zm9udE1ldHJpY3MoKTsKKyAgICByZXR1cm4gSW50UmVjdChsZWZ0IC0gKGZvbnRN
ZXRyaWNzLmFzY2VudCgpICsgZm9udE1ldHJpY3MuZGVzY2VudCgpKSAvIDIsCisgICAgICAgICAg
ICAgICAgICAgbV9wb2ludC55KCkgLSBmb250TWV0cmljcy5hc2NlbnQoKSAtIGZvbnRNZXRyaWNz
LmxpbmVHYXAoKSwKKyAgICAgICAgICAgICAgICAgICAocmlnaHQgLSBsZWZ0KSArIGZvbnRNZXRy
aWNzLmFzY2VudCgpICsgZm9udE1ldHJpY3MuZGVzY2VudCgpLAorICAgICAgICAgICAgICAgICAg
IGZvbnRNZXRyaWNzLmxpbmVTcGFjaW5nKCkpOwogfQogCiB9ICAvLyBuYW1lc3BhY2UKQEAgLTQ5
NiwxNCArNDk4LDE0IEBAIHZvaWQgRm9udDo6ZHJhd0NvbXBsZXhUZXh0KEdyYXBoaWNzQ29udGUK
ICAgICAgICAgQ09MT1JSRUYgc2F2ZWRUZXh0Q29sb3IgPSBHZXRUZXh0Q29sb3IoaGRjKTsKICAg
ICAgICAgU2V0VGV4dENvbG9yKGhkYywgdGV4dENvbG9yKTsKICAgICAgICAgc3RhdGUuZHJhdyhn
cmFwaGljc0NvbnRleHQsIGhkYywgc3RhdGljX2Nhc3Q8aW50Pihwb2ludC54KCkpICsgc2hhZG93
T2Zmc2V0LndpZHRoKCksCi0gICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihwb2lu
dC55KCkgLSBhc2NlbnQoKSkgKyBzaGFkb3dPZmZzZXQuaGVpZ2h0KCksIGZyb20sIHRvKTsKKyAg
ICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KHBvaW50LnkoKSAtIGZvbnRNZXRyaWNz
KCkuYXNjZW50KCkpICsgc2hhZG93T2Zmc2V0LmhlaWdodCgpLCBmcm9tLCB0byk7CiAgICAgICAg
IFNldFRleHRDb2xvcihoZGMsIHNhdmVkVGV4dENvbG9yKTsgCiAgICAgfQogCiAgICAgLy8gVW5p
c2NyaWJlIGNvdW50cyB0aGUgY29vcmRpbmF0ZXMgZnJvbSB0aGUgdXBwZXIgbGVmdCwgd2hpbGUg
V2ViS2l0IHVzZXMKICAgICAvLyB0aGUgYmFzZWxpbmUsIHNvIHdlIGhhdmUgdG8gc3VidHJhY3Qg
b2ZmIHRoZSBhc2NlbnQuCiAgICAgc3RhdGUuZHJhdyhncmFwaGljc0NvbnRleHQsIGhkYywgc3Rh
dGljX2Nhc3Q8aW50Pihwb2ludC54KCkpLAotICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50
Pihwb2ludC55KCkgLSBhc2NlbnQoKSksIGZyb20sIHRvKTsKKyAgICAgICAgICAgICAgIHN0YXRp
Y19jYXN0PGludD4ocG9pbnQueSgpIC0gZm9udE1ldHJpY3MoKS5hc2NlbnQoKSksIGZyb20sIHRv
KTsKIAogICAgIGNvbnRleHQtPmNhbnZhcygpLT5lbmRQbGF0Zm9ybVBhaW50KCk7CiB9CkluZGV4
OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhQ2hyb21p
dW1XaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vU2ltcGxlRm9udERhdGFDaHJvbWl1bVdpbi5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2lu
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsMTQgKzU0LDkgQEAgc3RhdGljIGlubGluZSBmbG9h
dCBzY2FsZUVtVG9Vbml0cyhmbG9hdAogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0
KCkKIHsKICAgICBpZiAoIW1fcGxhdGZvcm1EYXRhLnNpemUoKSkgewotICAgICAgICBtX2FzY2Vu
dCA9IDA7Ci0gICAgICAgIG1fZGVzY2VudCA9IDA7Ci0gICAgICAgIG1fbGluZUdhcCA9IDA7Ci0g
ICAgICAgIG1fbGluZVNwYWNpbmcgPSAwOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnJlc2V0KCk7
CiAgICAgICAgIG1fYXZnQ2hhcldpZHRoID0gMDsKICAgICAgICAgbV9tYXhDaGFyV2lkdGggPSAw
OwotICAgICAgICBtX3hIZWlnaHQgPSAwOwotICAgICAgICBtX3VuaXRzUGVyRW0gPSAwOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCkBAIC04MiwxMCArNzcsMTEgQEAgdm9pZCBTaW1wbGVGb250
RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICBtX2F2Z0NoYXJXaWR0aCA9IHRleHRNZXRyaWMudG1B
dmVDaGFyV2lkdGg7CiAgICAgbV9tYXhDaGFyV2lkdGggPSB0ZXh0TWV0cmljLnRtTWF4Q2hhcldp
ZHRoOwogCi0gICAgbV9hc2NlbnQgPSB0ZXh0TWV0cmljLnRtQXNjZW50OwotICAgIG1fZGVzY2Vu
dCA9IHRleHRNZXRyaWMudG1EZXNjZW50OwotICAgIG1fbGluZUdhcCA9IHRleHRNZXRyaWMudG1F
eHRlcm5hbExlYWRpbmc7Ci0gICAgbV94SGVpZ2h0ID0gbV9hc2NlbnQgKiAwLjU2ZjsgIC8vIEJl
c3QgZ3Vlc3MgZm9yIHhIZWlnaHQgZm9yIG5vbi1UcnVldHlwZSBmb250cy4KKyAgICAvLyBGSVhN
RTogQWNjZXNzIGFzY2VudC9kZXNjZW50L2xpbmVHYXAgd2l0aCBmbG9hdGluZyBwb2ludCBwcmVj
aXNpb24uCisgICAgZmxvYXQgYXNjZW50ID0gdGV4dE1ldHJpYy50bUFzY2VudDsKKyAgICBmbG9h
dCBkZXNjZW50ID0gdGV4dE1ldHJpYy50bURlc2NlbnQ7CisgICAgZmxvYXQgbGluZUdhcCA9IHRl
eHRNZXRyaWMudG1FeHRlcm5hbExlYWRpbmc7CisgICAgZmxvYXQgeEhlaWdodCA9IGFzY2VudCAq
IDAuNTZmOyAvLyBCZXN0IGd1ZXNzIGZvciB4SGVpZ2h0IGZvciBub24tVHJ1ZXR5cGUgZm9udHMu
CiAKICAgICBPVVRMSU5FVEVYVE1FVFJJQyBvdXRsaW5lVGV4dE1ldHJpYzsKICAgICBpZiAoR2V0
T3V0bGluZVRleHRNZXRyaWNzKGRjLCBzaXplb2Yob3V0bGluZVRleHRNZXRyaWMpLCAmb3V0bGlu
ZVRleHRNZXRyaWMpID4gMCkgewpAQCAtOTQsMTAgKzkwLDE0IEBAIHZvaWQgU2ltcGxlRm9udERh
dGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgICAgIE1BVDIgaWRlbnRpdHlNYXRyaXggPSB7ezAsIDF9
LCB7MCwgMH0sIHswLCAwfSwgezAsIDF9fTsKICAgICAgICAgRFdPUkQgbGVuID0gR2V0R2x5cGhP
dXRsaW5lVyhkYywgJ3gnLCBHR09fTUVUUklDUywgJmdseXBoTWV0cmljcywgMCwgMCwgJmlkZW50
aXR5TWF0cml4KTsKICAgICAgICAgaWYgKGxlbiAhPSBHRElfRVJST1IgJiYgZ2x5cGhNZXRyaWNz
LmdtQmxhY2tCb3hZID4gMCkKLSAgICAgICAgICAgIG1feEhlaWdodCA9IHN0YXRpY19jYXN0PGZs
b2F0PihnbHlwaE1ldHJpY3MuZ21CbGFja0JveFkpOworICAgICAgICAgICAgeEhlaWdodCA9IHN0
YXRpY19jYXN0PGZsb2F0PihnbHlwaE1ldHJpY3MuZ21CbGFja0JveFkpOwogICAgIH0KIAotICAg
IG1fbGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2VudCArIG1fbGluZUdhcDsKKyAgICBt
X2ZvbnRNZXRyaWNzLnNldEFzY2VudChhc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVz
Y2VudChkZXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZUdhcCk7Cisg
ICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhhc2NlbnQgKyBkZXNjZW50ICsgbGluZUdh
cCk7CisgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHhIZWlnaHQpOwogCiAgICAgU2VsZWN0
T2JqZWN0KGRjLCBvbGRGb250KTsKICAgICBSZWxlYXNlREMoMCwgZGMpOwpJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUxpbnV4LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnRE
YXRhTGludXguY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFMaW51eC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1
LDE0ICs1NSw5IEBAIHN0YXRpYyBjb25zdCBzaXplX3QgbWF4VkRNWFRhYmxlU2l6ZSA9IDEKIHZv
aWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiB7CiAgICAgaWYgKCFtX3BsYXRmb3Jt
RGF0YS5zaXplKCkpIHsKLSAgICAgICAgbV9hc2NlbnQgPSAwOwotICAgICAgICBtX2Rlc2NlbnQg
PSAwOwotICAgICAgICBtX2xpbmVHYXAgPSAwOwotICAgICAgICBtX2xpbmVTcGFjaW5nID0gMDsK
KyAgICAgICAgbV9mb250TWV0cmljcy5yZXNldCgpOwogICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9
IDA7CiAgICAgICAgIG1fbWF4Q2hhcldpZHRoID0gMDsKLSAgICAgICAgbV94SGVpZ2h0ID0gMDsK
LSAgICAgICAgbV91bml0c1BlckVtID0gMDsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAt
ODgsMjYgKzgzLDM2IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAg
ICAgIGZhc3RGcmVlKHZkbXhUYWJsZSk7CiAgICAgfQogCisgICAgZmxvYXQgYXNjZW50OworICAg
IGZsb2F0IGRlc2NlbnQ7CisKICAgICAvLyBCZXdhcmUgdGhvc2Ugd2hvIHN0ZXAgaGVyZTogVGhp
cyBjb2RlIGlzIGRlc2lnbmVkIHRvIG1hdGNoIFdpbjMyIGZvbnQKICAgICAvLyBtZXRyaWNzICpl
eGFjdGx5Ki4KICAgICBpZiAoaXNWRE1YVmFsaWQpIHsKLSAgICAgICAgbV9hc2NlbnQgPSB2ZG14
QXNjZW50OwotICAgICAgICBtX2Rlc2NlbnQgPSAtdmRteERlc2NlbnQ7CisgICAgICAgIC8vIEZJ
WE1FOiBBY2Nlc3MgYXNjZW50L2Rlc2NlbnQgd2l0aCBmbG9hdGluZyBwb2ludCBwcmVjaXNpb24u
CisgICAgICAgIGFzY2VudCA9IHZkbXhBc2NlbnQ7CisgICAgICAgIGRlc2NlbnQgPSAtdmRteERl
c2NlbnQ7CiAgICAgfSBlbHNlIHsKICAgICAgICAgU2tTY2FsYXIgaGVpZ2h0ID0gLW1ldHJpY3Mu
ZkFzY2VudCArIG1ldHJpY3MuZkRlc2NlbnQgKyBtZXRyaWNzLmZMZWFkaW5nOwotICAgICAgICBt
X2FzY2VudCA9IFNrU2NhbGFyUm91bmQoLW1ldHJpY3MuZkFzY2VudCk7Ci0gICAgICAgIG1fZGVz
Y2VudCA9IFNrU2NhbGFyUm91bmQoaGVpZ2h0KSAtIG1fYXNjZW50OworICAgICAgICBhc2NlbnQg
PSBTa1NjYWxhclRvRmxvYXQoLW1ldHJpY3MuZkFzY2VudCk7CisgICAgICAgIGRlc2NlbnQgPSBT
a1NjYWxhclRvRmxvYXQoaGVpZ2h0KSAtIGFzY2VudDsKICAgICB9CiAKKyAgICBtX2ZvbnRNZXRy
aWNzLnNldEFzY2VudChhc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChkZXNj
ZW50KTsKKworICAgIGZsb2F0IHhIZWlnaHQ7CiAgICAgaWYgKG1ldHJpY3MuZlhIZWlnaHQpCi0g
ICAgICAgIG1feEhlaWdodCA9IG1ldHJpY3MuZlhIZWlnaHQ7CisgICAgICAgIHhIZWlnaHQgPSBt
ZXRyaWNzLmZYSGVpZ2h0OwogICAgIGVsc2UgewogICAgICAgICAvLyBoYWNrIHRha2VuIGZyb20g
dGhlIFdpbmRvd3MgcG9ydAotICAgICAgICBtX3hIZWlnaHQgPSBzdGF0aWNfY2FzdDxmbG9hdD4o
bV9hc2NlbnQpICogMC41NjsKKyAgICAgICAgeEhlaWdodCA9IGFzY2VudCAqIDAuNTZmOwogICAg
IH0KIAotICAgIG1fbGluZUdhcCA9IFNrU2NhbGFyUm91bmQobWV0cmljcy5mTGVhZGluZyk7Ci0g
ICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50ICsgbV9saW5lR2FwOworICAg
IGZsb2F0IGxpbmVHYXAgPSBTa1NjYWxhclRvRmxvYXQobWV0cmljcy5mTGVhZGluZyk7CisgICAg
bV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0
TGluZVNwYWNpbmcoYXNjZW50ICsgZGVzY2VudCArIGxpbmVHYXApOworICAgIG1fZm9udE1ldHJp
Y3Muc2V0WEhlaWdodCh4SGVpZ2h0KTsKIAogICAgIGlmIChtX29yaWVudGF0aW9uID09IFZlcnRp
Y2FsKSB7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1aW50MzJfdCB2aGVhVGFnID0gU2tTZXRGb3Vy
Qnl0ZVRhZygndicsICdoJywgJ2UnLCAnYScpOwpAQCAtMTI4LDcgKzEzMyw3IEBAIHZvaWQgU2lt
cGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgaWYgKG1ldHJpY3MuZkF2Z0NoYXJXaWR0
aCkKICAgICAgICAgbV9hdmdDaGFyV2lkdGggPSBTa1NjYWxhclJvdW5kKG1ldHJpY3MuZkF2Z0No
YXJXaWR0aCk7CiAgICAgZWxzZSB7Ci0gICAgICAgIG1fYXZnQ2hhcldpZHRoID0gbV94SGVpZ2h0
OworICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9IHhIZWlnaHQ7CiAKICAgICAgICAgR2x5cGhQYWdl
KiBnbHlwaFBhZ2VaZXJvID0gR2x5cGhQYWdlVHJlZU5vZGU6OmdldFJvb3RDaGlsZCh0aGlzLCAw
KS0+cGFnZSgpOwogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Vu
aXNjcmliZUhlbHBlclRleHRSdW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vVW5pc2NyaWJlSGVscGVyVGV4dFJ1bi5jcHAJKHJldmlzaW9uIDc0
NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9VbmlzY3JpYmVIZWxw
ZXJUZXh0UnVuLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNyArNTAsNyBAQCBVbmlzY3JpYmVI
ZWxwZXJUZXh0UnVuOjpVbmlzY3JpYmVIZWxwZXJUCiAgICAgc2V0TGV0dGVyU3BhY2luZyhmb250
LmxldHRlclNwYWNpbmcoKSk7CiAgICAgc2V0U3BhY2VXaWR0aChmb250LnNwYWNlV2lkdGgoKSk7
CiAgICAgc2V0V29yZFNwYWNpbmcoZm9udC53b3JkU3BhY2luZygpKTsKLSAgICBzZXRBc2NlbnQo
Zm9udC5wcmltYXJ5Rm9udCgpLT5hc2NlbnQoKSk7CisgICAgc2V0QXNjZW50KGZvbnQuZm9udE1l
dHJpY3MoKS0+YXNjZW50KCkpOwogCiAgICAgaW5pdCgpOwogCkBAIC0xMjAsNyArMTIwLDcgQEAg
Ym9vbCBVbmlzY3JpYmVIZWxwZXJUZXh0UnVuOjpuZXh0V2luRm9udAogICAgICAgICBtX2hmb250
cy5hcHBlbmQoc2ltcGxlRm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLmhmb250KCkpOwogICAgICAg
ICBtX3NjcmlwdENhY2hlcy5hcHBlbmQoc2ltcGxlRm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLnNj
cmlwdENhY2hlKCkpOwogICAgICAgICBtX2ZvbnRQcm9wZXJ0aWVzLmFwcGVuZChzaW1wbGVGb250
RGF0YS0+cGxhdGZvcm1EYXRhKCkuc2NyaXB0Rm9udFByb3BlcnRpZXMoKSk7Ci0gICAgICAgIG1f
YXNjZW50cy5hcHBlbmQoc2ltcGxlRm9udERhdGEtPmFzY2VudCgpKTsKKyAgICAgICAgbV9hc2Nl
bnRzLmFwcGVuZChzaW1wbGVGb250RGF0YS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAg
fQogCiAgICAgKmhmb250ID0gbV9oZm9udHNbbV9mb250SW5kZXggLSAxXTsKSW5kZXg6IFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFGcmVlVHlwZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1wbGVG
b250RGF0YUZyZWVUeXBlLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZyZWV0eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01MCwyMSArNTAsMjcgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0
KCkKICAgICBjYWlyb19mb250X2V4dGVudHNfdCBmb250X2V4dGVudHM7CiAgICAgY2Fpcm9fdGV4
dF9leHRlbnRzX3QgdGV4dF9leHRlbnRzOwogICAgIGNhaXJvX3NjYWxlZF9mb250X2V4dGVudHMo
bV9wbGF0Zm9ybURhdGEuc2NhbGVkRm9udCgpLCAmZm9udF9leHRlbnRzKTsKLSAgICBtX2FzY2Vu
dCA9IHN0YXRpY19jYXN0PGludD4obHJvdW5kZihmb250X2V4dGVudHMuYXNjZW50KSk7Ci0gICAg
bV9kZXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50Pihscm91bmRmKGZvbnRfZXh0ZW50cy5kZXNjZW50
KSk7Ci0gICAgbV9saW5lU3BhY2luZyA9IHN0YXRpY19jYXN0PGludD4obHJvdW5kZihmb250X2V4
dGVudHMuaGVpZ2h0KSk7CisKKyAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChmb250X2V4dGVu
dHMuYXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoZm9udF9leHRlbnRzLmRl
c2NlbnQpOworCiAgICAgLy8gVGhlcmUgc2VlbXMgdG8gYmUgc29tZSByb3VuZGluZyBlcnJvciBp
biBjYWlybyAob3IgaW4gaG93IHdlCiAgICAgLy8gdXNlIGNhaXJvKSB3aXRoIHNvbWUgZm9udHMs
IGxpa2UgRGVqYVZ1IFNhbnMgTW9ubywgd2hpY2ggbWFrZXMKICAgICAvLyBjYWlybyByZXBvcnQg
YSBoZWlnaHQgc21hbGxlciB0aGFuIGFzY2VudCArIGRlc2NlbnQsIHdoaWNoIGlzCiAgICAgLy8g
d3JvbmcgYW5kIGNvbmZ1c2VzIFdlYkNvcmUncyBsYXlvdXQgc3lzdGVtLiBXb3JrYXJvdW5kIHRo
aXMKICAgICAvLyB3aGlsZSB3ZSBmaWd1cmUgb3V0IHdoYXQncyBnb2luZyBvbi4KLSAgICBpZiAo
bV9saW5lU3BhY2luZyA8IG1fYXNjZW50ICsgbV9kZXNjZW50KQotICAgICAgICBtX2xpbmVTcGFj
aW5nID0gbV9hc2NlbnQgKyBtX2Rlc2NlbnQ7CisgICAgZmxvYXQgbGluZVNwYWNpbmcgPSBmb250
X2V4dGVudHMuaGVpZ2h0OworICAgIGlmIChsaW5lU3BhY2luZyA8IGZvbnRfZXh0ZW50cy5hc2Nl
bnQgKyBmb250X2V4dGVudHMuZGVzY2VudCkKKyAgICAgICAgbGluZVNwYWNpbmcgPSBmb250X2V4
dGVudHMuYXNjZW50ICsgZm9udF9leHRlbnRzLmRlc2NlbnQ7CisgICAgbV9mb250TWV0cmljcy5z
ZXRMaW5lU3BhY2luZyhsaW5lU3BhY2luZyk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2Fw
KGxpbmVTcGFjaW5nIC0gZm9udF9leHRlbnRzLmFzY2VudCAtIGZvbnRfZXh0ZW50cy5kZXNjZW50
KTsKKwogICAgIGNhaXJvX3NjYWxlZF9mb250X3RleHRfZXh0ZW50cyhtX3BsYXRmb3JtRGF0YS5z
Y2FsZWRGb250KCksICJ4IiwgJnRleHRfZXh0ZW50cyk7Ci0gICAgbV94SGVpZ2h0ID0gdGV4dF9l
eHRlbnRzLmhlaWdodDsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQodGV4dF9leHRlbnRz
LmhlaWdodCk7CisKICAgICBjYWlyb19zY2FsZWRfZm9udF90ZXh0X2V4dGVudHMobV9wbGF0Zm9y
bURhdGEuc2NhbGVkRm9udCgpLCAiICIsICZ0ZXh0X2V4dGVudHMpOwogICAgIG1fc3BhY2VXaWR0
aCA9IHN0YXRpY19jYXN0PGZsb2F0Pih0ZXh0X2V4dGVudHMueF9hZHZhbmNlKTsKLSAgICBtX2xp
bmVHYXAgPSBtX2xpbmVTcGFjaW5nIC0gbV9hc2NlbnQgLSBtX2Rlc2NlbnQ7CisgICAgCiAgICAg
bV9zeW50aGV0aWNCb2xkT2Zmc2V0ID0gbV9wbGF0Zm9ybURhdGEuc3ludGhldGljQm9sZCgpID8g
MS4wZiA6IDAuZjsKIH0KIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9T
aW1wbGVGb250RGF0YUhhaWt1LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2hhaWt1L1NpbXBsZUZvbnREYXRhSGFpa3UuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvU2ltcGxlRm9udERhdGFIYWlrdS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQ4LDExICs0OCwxMSBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpw
bGF0Zm9ybUluaXQoKQogCiAgICAgZm9udF9oZWlnaHQgaGVpZ2h0OwogICAgIGZvbnQtPkdldEhl
aWdodCgmaGVpZ2h0KTsKLSAgICBtX2FzY2VudCA9IHN0YXRpY19jYXN0PGludD4oaGVpZ2h0LmFz
Y2VudCk7Ci0gICAgbV9kZXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50PihoZWlnaHQuZGVzY2VudCk7
Ci0gICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50OwotICAgIG1feEhlaWdo
dCA9IGhlaWdodC5hc2NlbnQgKiAwLjU2ZjsgLy8gSGFjayB0YWtlbiBmcm9tIHRoZSB3aW4gcG9y
dC4KLSAgICBtX2xpbmVHYXAgPSBoZWlnaHQubGVhZGluZzsKKyAgICBtX2ZvbnRNZXRyaWNzLnNl
dEFzY2VudChoZWlnaHQuYXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoaGVp
Z2h0LmRlc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoaGVpZ2h0LmFz
Y2VudCArIGhlaWdodC5kZXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQoaGVp
Z2h0LmFzY2VudCAqIDAuNTZmKTsgLy8gSGFjayB0YWtlbiBmcm9tIHRoZSB3aW4gcG9ydC4KKyAg
ICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAoaGVpZ2h0LmxlYWRpbmcpOwogfQogCiB2b2lkIFNp
bXBsZUZvbnREYXRhOjpwbGF0Zm9ybUNoYXJXaWR0aEluaXQoKQpJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvRm9udENvbXBsZXhUZXh0TWFjLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q29tcGxleFRleHRNYWMuY3BwCShyZXZp
c2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21wbGV4
VGV4dE1hYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMCw4ICsxMTAsOCBAQCBmbG9hdCBGb250
OjpmbG9hdFdpZHRoRm9yQ29tcGxleFRleHQoY29uCiB7CiAgICAgQ29tcGxleFRleHRDb250cm9s
bGVyIGNvbnRyb2xsZXIodGhpcywgcnVuLCB0cnVlLCBmYWxsYmFja0ZvbnRzKTsKICAgICBpZiAo
Z2x5cGhPdmVyZmxvdykgewotICAgICAgICBnbHlwaE92ZXJmbG93LT50b3AgPSBtYXg8aW50Pihn
bHlwaE92ZXJmbG93LT50b3AsIGNlaWxmKC1jb250cm9sbGVyLm1pbkdseXBoQm91bmRpbmdCb3hZ
KCkpIC0gYXNjZW50KCkpOwotICAgICAgICBnbHlwaE92ZXJmbG93LT5ib3R0b20gPSBtYXg8aW50
PihnbHlwaE92ZXJmbG93LT5ib3R0b20sIGNlaWxmKGNvbnRyb2xsZXIubWF4R2x5cGhCb3VuZGlu
Z0JveFkoKSkgLSBkZXNjZW50KCkpOworICAgICAgICBnbHlwaE92ZXJmbG93LT50b3AgPSBtYXg8
aW50PihnbHlwaE92ZXJmbG93LT50b3AsIGNlaWxmKC1jb250cm9sbGVyLm1pbkdseXBoQm91bmRp
bmdCb3hZKCkpIC0gZm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CisgICAgICAgIGdseXBoT3ZlcmZs
b3ctPmJvdHRvbSA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPmJvdHRvbSwgY2VpbGYoY29udHJv
bGxlci5tYXhHbHlwaEJvdW5kaW5nQm94WSgpKSAtIGZvbnRNZXRyaWNzKCkuZGVzY2VudCgpKTsK
ICAgICAgICAgZ2x5cGhPdmVyZmxvdy0+bGVmdCA9IG1heDxpbnQ+KDAsIGNlaWxmKC1jb250cm9s
bGVyLm1pbkdseXBoQm91bmRpbmdCb3hYKCkpKTsKICAgICAgICAgZ2x5cGhPdmVyZmxvdy0+cmln
aHQgPSBtYXg8aW50PigwLCBjZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91bmRpbmdCb3hYKCkg
LSBjb250cm9sbGVyLnRvdGFsV2lkdGgoKSkpOwogICAgIH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvRm9udE1hYy5tbQkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02MCw4ICs2
MCw4IEBAIHN0YXRpYyB2b2lkIHNob3dHbHlwaHNXaXRoQWR2YW5jZXMoY29uc3QKICAgICAgICAg
ICAgIHNhdmVkTWF0cml4ID0gQ0dDb250ZXh0R2V0VGV4dE1hdHJpeChjb250ZXh0KTsKICAgICAg
ICAgICAgIENHQWZmaW5lVHJhbnNmb3JtIHJ1bk1hdHJpeCA9IENHQWZmaW5lVHJhbnNmb3JtQ29u
Y2F0KHNhdmVkTWF0cml4LCByb3RhdGVMZWZ0VHJhbnNmb3JtKTsKICAgICAgICAgICAgIC8vIE1v
dmUgc3RhcnQgcG9pbnQgdG8gcHV0IGdseXBocyBpbnRvIG9yaWdpbmFsIHJlZ2lvbi4KLSAgICAg
ICAgICAgIHJ1bk1hdHJpeC50eCA9IHNhdmVkTWF0cml4LnR4ICsgZm9udC0+YXNjZW50KCk7Ci0g
ICAgICAgICAgICBydW5NYXRyaXgudHkgPSBzYXZlZE1hdHJpeC50eSArIGZvbnQtPmRlc2NlbnQo
KTsKKyAgICAgICAgICAgIHJ1bk1hdHJpeC50eCA9IHNhdmVkTWF0cml4LnR4ICsgZm9udC0+Zm9u
dE1ldHJpY3MoKS5hc2NlbnQoKTsKKyAgICAgICAgICAgIHJ1bk1hdHJpeC50eSA9IHNhdmVkTWF0
cml4LnR5ICsgZm9udC0+Zm9udE1ldHJpY3MoKS5kZXNjZW50KCk7CiAgICAgICAgICAgICBDR0Nv
bnRleHRTZXRUZXh0TWF0cml4KGNvbnRleHQsIHJ1bk1hdHJpeCk7CiAgICAgICAgIH0KIApJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFN
YWMubW0JKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
U2ltcGxlRm9udERhdGFNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTIxOCwxOSArMjE4LDIwIEBA
IHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgaW50IGlBc2NlbnQ7CiAg
ICAgaW50IGlEZXNjZW50OwogICAgIGludCBpTGluZUdhcDsKKyAgICB1bnNpZ25lZCB1bml0c1Bl
ckVtOwogI2lmZGVmIEJVSUxESU5HX09OX1RJR0VSCi0gICAgd2tHZXRGb250TWV0cmljcyhtX3Bs
YXRmb3JtRGF0YS5jZ0ZvbnQoKSwgJmlBc2NlbnQsICZpRGVzY2VudCwgJmlMaW5lR2FwLCAmbV91
bml0c1BlckVtKTsKKyAgICB3a0dldEZvbnRNZXRyaWNzKG1fcGxhdGZvcm1EYXRhLmNnRm9udCgp
LCAmaUFzY2VudCwgJmlEZXNjZW50LCAmaUxpbmVHYXAsICZ1bml0c1BlckVtKTsKICNlbHNlCiAg
ICAgaUFzY2VudCA9IENHRm9udEdldEFzY2VudChtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSk7CiAg
ICAgaURlc2NlbnQgPSBDR0ZvbnRHZXREZXNjZW50KG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpKTsK
ICAgICBpTGluZUdhcCA9IENHRm9udEdldExlYWRpbmcobV9wbGF0Zm9ybURhdGEuY2dGb250KCkp
OwotICAgIG1fdW5pdHNQZXJFbSA9IENHRm9udEdldFVuaXRzUGVyRW0obV9wbGF0Zm9ybURhdGEu
Y2dGb250KCkpOworICAgIHVuaXRzUGVyRW0gPSBDR0ZvbnRHZXRVbml0c1BlckVtKG1fcGxhdGZv
cm1EYXRhLmNnRm9udCgpKTsKICNlbmRpZgogCiAgICAgZmxvYXQgcG9pbnRTaXplID0gbV9wbGF0
Zm9ybURhdGEubV9zaXplOwotICAgIGZsb2F0IGZBc2NlbnQgPSBzY2FsZUVtVG9Vbml0cyhpQXNj
ZW50LCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXplOwotICAgIGZsb2F0IGZEZXNjZW50ID0gLXNj
YWxlRW1Ub1VuaXRzKGlEZXNjZW50LCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXplOwotICAgIGZs
b2F0IGZMaW5lR2FwID0gc2NhbGVFbVRvVW5pdHMoaUxpbmVHYXAsIG1fdW5pdHNQZXJFbSkgKiBw
b2ludFNpemU7CisgICAgZmxvYXQgYXNjZW50ID0gc2NhbGVFbVRvVW5pdHMoaUFzY2VudCwgdW5p
dHNQZXJFbSkgKiBwb2ludFNpemU7CisgICAgZmxvYXQgZGVzY2VudCA9IC1zY2FsZUVtVG9Vbml0
cyhpRGVzY2VudCwgdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7CisgICAgZmxvYXQgbGluZUdhcCA9
IHNjYWxlRW1Ub1VuaXRzKGlMaW5lR2FwLCB1bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKIAogICAg
IC8vIFdlIG5lZWQgdG8gYWRqdXN0IFRpbWVzLCBIZWx2ZXRpY2EsIGFuZCBDb3VyaWVyIHRvIGNs
b3NlbHkgbWF0Y2ggdGhlCiAgICAgLy8gdmVydGljYWwgbWV0cmljcyBvZiB0aGVpciBNaWNyb3Nv
ZnQgY291bnRlcnBhcnRzIHRoYXQgYXJlIHRoZSBkZSBmYWN0bwpAQCAtMjM5LDI1ICsyNDAsMjAg
QEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICAvLyBhbmQgYWRkIGl0
IHRvIHRoZSBhc2NlbnQuCiAgICAgTlNTdHJpbmcgKmZhbWlseU5hbWUgPSBbbV9wbGF0Zm9ybURh
dGEuZm9udCgpIGZhbWlseU5hbWVdOwogICAgIGlmIChbZmFtaWx5TmFtZSBpc0VxdWFsVG9TdHJp
bmc6QCJUaW1lcyJdIHx8IFtmYW1pbHlOYW1lIGlzRXF1YWxUb1N0cmluZzpAIkhlbHZldGljYSJd
IHx8IFtmYW1pbHlOYW1lIGlzRXF1YWxUb1N0cmluZzpAIkNvdXJpZXIiXSkKLSAgICAgICAgZkFz
Y2VudCArPSBmbG9vcmYoKChmQXNjZW50ICsgZkRlc2NlbnQpICogMC4xNWYpICsgMC41Zik7Cisg
ICAgICAgIGFzY2VudCArPSBmbG9vcmYoKChhc2NlbnQgKyBkZXNjZW50KSAqIDAuMTVmKSArIDAu
NWYpOwogICAgIGVsc2UgaWYgKFtmYW1pbHlOYW1lIGlzRXF1YWxUb1N0cmluZzpAIkdlZXphIFBy
byJdKSB7CiAgICAgICAgIC8vIEdlZXphIFBybyBoYXMgZ2x5cGhzIHRoYXQgZHJhdyBzbGlnaHRs
eSBhYm92ZSB0aGUgYXNjZW50IG9yIGZhciBiZWxvdyB0aGUgZGVzY2VudC4gQWRqdXN0CiAgICAg
ICAgIC8vIHRob3NlIHZlcnRpY2FsIG1ldHJpY3MgdG8gYmV0dGVyIG1hdGNoIHJlYWxpdHksIHNv
IHRoYXQgZGlhY3JpdGljcyBhdCB0aGUgYm90dG9tIG9mIG9uZSBsaW5lCiAgICAgICAgIC8vIGRv
IG5vdCBvdmVybGFwIGRpYWNyaXRpY3MgYXQgdGhlIHRvcCBvZiB0aGUgbmV4dCBsaW5lLgotICAg
ICAgICBmQXNjZW50ICo9IDEuMDhmOwotICAgICAgICBmRGVzY2VudCAqPSAyLmY7CisgICAgICAg
IGFzY2VudCAqPSAxLjA4ZjsKKyAgICAgICAgZGVzY2VudCAqPSAyLmY7CiAgICAgfQogCi0gICAg
bV9hc2NlbnQgPSBscm91bmRmKGZBc2NlbnQpOwotICAgIG1fZGVzY2VudCA9IGxyb3VuZGYoZkRl
c2NlbnQpOwotICAgIG1fbGluZUdhcCA9IGxyb3VuZGYoZkxpbmVHYXApOwotICAgIG1fbGluZVNw
YWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2VudCArIG1fbGluZUdhcDsKLSAgICAKICAgICAvLyBI
YWNrIEhpcmFnaW5vIGxpbmUgbWV0cmljcyB0byBhbGxvdyByb29tIGZvciBtYXJrZWQgdGV4dCB1
bmRlcmxpbmVzLgogICAgIC8vIDxyZGFyOi8vcHJvYmxlbS81Mzg2MTgzPgotICAgIGlmIChtX2Rl
c2NlbnQgPCAzICYmIG1fbGluZUdhcCA+PSAzICYmIFtmYW1pbHlOYW1lIGhhc1ByZWZpeDpAIkhp
cmFnaW5vIl0pIHsKLSAgICAgICAgbV9saW5lR2FwIC09IDMgLSBtX2Rlc2NlbnQ7Ci0gICAgICAg
IG1fZGVzY2VudCA9IDM7CisgICAgaWYgKGRlc2NlbnQgPCAzICYmIGxpbmVHYXAgPj0gMyAmJiBb
ZmFtaWx5TmFtZSBoYXNQcmVmaXg6QCJIaXJhZ2lubyJdKSB7CisgICAgICAgIGxpbmVHYXAgLT0g
MyAtIGRlc2NlbnQ7CisgICAgICAgIGRlc2NlbnQgPSAzOwogICAgIH0KICAgICAKICAgICBpZiAo
bV9vcmllbnRhdGlvbiA9PSBWZXJ0aWNhbCkgewpAQCAtMjc4LDYgKzI3NCw4IEBAIHZvaWQgU2lt
cGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgICAgICAgICBtX29yaWVudGF0aW9uID0g
SG9yaXpvbnRhbDsKICAgICB9CiAKKyAgICBmbG9hdCB4SGVpZ2h0OworCiAgICAgLy8gTWVhc3Vy
ZSB0aGUgYWN0dWFsIGNoYXJhY3RlciAieCIsIGJlY2F1c2UgQXBwS2l0IHN5bnRoZXNpemVzIFgg
aGVpZ2h0IHJhdGhlciB0aGFuIGdldHRpbmcgaXQgZnJvbSB0aGUgZm9udC4KICAgICAvLyBVbmZv
cnR1bmF0ZWx5LCBOU0ZvbnQgd2lsbCByb3VuZCB0aGlzIGZvciB1cyBzbyB3ZSBkb24ndCBxdWl0
ZSBnZXQgdGhlIHJpZ2h0IHZhbHVlLgogICAgIEdseXBoUGFnZSogZ2x5cGhQYWdlWmVybyA9IEds
eXBoUGFnZVRyZWVOb2RlOjpnZXRSb290Q2hpbGQodGhpcywgMCktPnBhZ2UoKTsKQEAgLTI4OCwy
MSArMjg2LDI4IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgICAg
IC8vIGFuZCB3ZWIgcGFnZXMgdGhhdCBmb29saXNobHkgdXNlIHRoaXMgbWV0cmljIGZvciB3aWR0
aCB3aWxsIGJlIGxhaWQgb3V0CiAgICAgICAgIC8vIHBvb3JseSBpZiB3ZSByZXR1cm4gYW4gYWNj
dXJhdGUgaGVpZ2h0LiBDbGFzc2ljIGNhc2UgaXMgVGltZXMgMTMgcG9pbnQsCiAgICAgICAgIC8v
IHdoaWNoIGhhcyBhbiAieCIgdGhhdCBpcyA3eDYgcGl4ZWxzLgotICAgICAgICBtX3hIZWlnaHQg
PSBzdGF0aWNfY2FzdDxmbG9hdD4obWF4KENHUmVjdEdldE1heFgoeEJveCksIC1DR1JlY3RHZXRN
aW5ZKHhCb3gpKSk7CisgICAgICAgIHhIZWlnaHQgPSBzdGF0aWNfY2FzdDxmbG9hdD4obWF4KENH
UmVjdEdldE1heFgoeEJveCksIC1DR1JlY3RHZXRNaW5ZKHhCb3gpKSk7CiAgICAgfSBlbHNlIHsK
ICNpZm5kZWYgQlVJTERJTkdfT05fVElHRVIKLSAgICAgICAgbV94SGVpZ2h0ID0gc3RhdGljX2Nh
c3Q8ZmxvYXQ+KENHRm9udEdldFhIZWlnaHQobV9wbGF0Zm9ybURhdGEuY2dGb250KCkpKSAvIG1f
dW5pdHNQZXJFbTsKKyAgICAgICAgeEhlaWdodCA9IHN0YXRpY19jYXN0PGZsb2F0PihDR0ZvbnRH
ZXRYSGVpZ2h0KG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpKSkgLyB1bml0c1BlckVtOwogI2Vsc2UK
LSAgICAgICAgbV94SGVpZ2h0ID0gbV9wbGF0Zm9ybURhdGEuZm9udCgpID8gW21fcGxhdGZvcm1E
YXRhLmZvbnQoKSB4SGVpZ2h0XSA6IDA7CisgICAgICAgIHhIZWlnaHQgPSBtX3BsYXRmb3JtRGF0
YS5mb250KCkgPyBbbV9wbGF0Zm9ybURhdGEuZm9udCgpIHhIZWlnaHRdIDogMDsKICNlbmRpZgog
ICAgICAgICAvLyBDR0ZvbnRHZXRYSGVpZ2h0KCkgcmV0dXJucyBhIHdyb25nIHZhbHVlIGZvciAi
QXBwbGUgU3ltYm9scyIgZm9udCAoYSBmbG9hdCBjbG9zZSB0byAwLCBidXQgbm90IHN0cmljdGx5
IDApLgotICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGNvZGUgbWFrZXMgYSBndWVzcyBmb3IgbV94
SGVpZ2h0IGluIHRoYXQgY2FzZS4KKyAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBjb2RlIG1ha2Vz
IGEgZ3Vlc3MgZm9yIHhIZWlnaHQgaW4gdGhhdCBjYXNlLgogICAgICAgICAvLyBUaGUgaW50IGNh
c3QgaXMgYSB3b3JrYXJvdW5kIGZvciB0aGUgImFsbW9zdCIgemVybyB2YWx1ZSByZXR1cm5lZCBi
eSBDR0ZvbnRHZXRYSGVpZ2h0KCkuCi0gICAgICAgIGlmICghc3RhdGljX2Nhc3Q8aW50PihtX3hI
ZWlnaHQpICYmIGZBc2NlbnQpCi0gICAgICAgICAgICBtX3hIZWlnaHQgPSAyICogZkFzY2VudCAv
IDM7CisgICAgICAgIGlmICghc3RhdGljX2Nhc3Q8aW50Pih4SGVpZ2h0KSAmJiBhc2NlbnQpCisg
ICAgICAgICAgICB4SGVpZ2h0ID0gMiAqIGFzY2VudCAvIDM7CiAgICAgfQorCisgICAgbV9mb250
TWV0cmljcy5zZXRVbml0c1BlckVtKHVuaXRzUGVyRW0pOworICAgIG1fZm9udE1ldHJpY3Muc2V0
QXNjZW50KGFzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGRlc2NlbnQpOwor
ICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChsaW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNz
LnNldExpbmVTcGFjaW5nKGFzY2VudCArIGRlc2NlbnQgKyBsaW5lR2FwKTsKKyAgICBtX2ZvbnRN
ZXRyaWNzLnNldFhIZWlnaHQoeEhlaWdodCk7CiB9Ci0gICAgCisKIHN0YXRpYyBDRkRhdGFSZWYg
Y29weUZvbnRUYWJsZUZvclRhZyhGb250UGxhdGZvcm1EYXRhJiBwbGF0Zm9ybURhdGEsIEZvdXJD
aGFyQ29kZSB0YWJsZU5hbWUpCiB7CiAjaWZkZWYgQlVJTERJTkdfT05fVElHRVIKQEAgLTMzNyw3
ICszNDIsNyBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUNoYXJXaWR0aEluCiAgICAg
aWYgKG9zMlRhYmxlICYmIENGRGF0YUdldExlbmd0aChvczJUYWJsZS5nZXQoKSkgPj0gNCkgewog
ICAgICAgICBjb25zdCBVSW50OCogb3MyID0gQ0ZEYXRhR2V0Qnl0ZVB0cihvczJUYWJsZS5nZXQo
KSk7CiAgICAgICAgIFNJbnQxNiBvczJBdmdDaGFyV2lkdGggPSBvczJbMl0gKiAyNTYgKyBvczJb
M107Ci0gICAgICAgIG1fYXZnQ2hhcldpZHRoID0gc2NhbGVFbVRvVW5pdHMob3MyQXZnQ2hhcldp
ZHRoLCBtX3VuaXRzUGVyRW0pICogbV9wbGF0Zm9ybURhdGEubV9zaXplOworICAgICAgICBtX2F2
Z0NoYXJXaWR0aCA9IHNjYWxlRW1Ub1VuaXRzKG9zMkF2Z0NoYXJXaWR0aCwgbV9mb250TWV0cmlj
cy51bml0c1BlckVtKCkpICogbV9wbGF0Zm9ybURhdGEubV9zaXplOwogICAgIH0KIAogICAgIFJl
dGFpblB0cjxDRkRhdGFSZWY+IGhlYWRUYWJsZShBZG9wdENGLCBjb3B5Rm9udFRhYmxlRm9yVGFn
KG1fcGxhdGZvcm1EYXRhLCAnaGVhZCcpKTsKQEAgLTM0OCw3ICszNTMsNyBAQCB2b2lkIFNpbXBs
ZUZvbnREYXRhOjpwbGF0Zm9ybUNoYXJXaWR0aEluCiAgICAgICAgIFNJbnQxNiB4TWluID0gc3Rh
dGljX2Nhc3Q8U0ludDE2Pih1eE1pbik7CiAgICAgICAgIFNJbnQxNiB4TWF4ID0gc3RhdGljX2Nh
c3Q8U0ludDE2Pih1eE1heCk7CiAgICAgICAgIGZsb2F0IGRpZmYgPSBzdGF0aWNfY2FzdDxmbG9h
dD4oeE1heCAtIHhNaW4pOwotICAgICAgICBtX21heENoYXJXaWR0aCA9IHNjYWxlRW1Ub1VuaXRz
KGRpZmYsIG1fdW5pdHNQZXJFbSkgKiBtX3BsYXRmb3JtRGF0YS5tX3NpemU7CisgICAgICAgIG1f
bWF4Q2hhcldpZHRoID0gc2NhbGVFbVRvVW5pdHMoZGlmZiwgbV9mb250TWV0cmljcy51bml0c1Bl
ckVtKCkpICogbV9wbGF0Zm9ybURhdGEubV9zaXplOwogICAgIH0KIAogICAgIC8vIEZhbGxiYWNr
IHRvIGEgY3Jvc3MtcGxhdGZvcm0gZXN0aW1hdGUsIHdoaWNoIHdpbGwgcG9wdWxhdGUgdGhlc2Ug
dmFsdWVzIGlmIHRoZXkgYXJlIG5vbi1wb3NpdGl2ZS4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcGFuZ28vU2ltcGxlRm9udERhdGFQYW5nby5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9wYW5nby9TaW1wbGVGb250RGF0YVBhbmdvLmNwcAkocmV2
aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1NpbXBsZUZv
bnREYXRhUGFuZ28uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSwyMSArNDksMjcgQEAgdm9pZCBT
aW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICBjYWlyb19mb250X2V4dGVudHNfdCBm
b250X2V4dGVudHM7CiAgICAgY2Fpcm9fdGV4dF9leHRlbnRzX3QgdGV4dF9leHRlbnRzOwogICAg
IGNhaXJvX3NjYWxlZF9mb250X2V4dGVudHMobV9wbGF0Zm9ybURhdGEubV9zY2FsZWRGb250LCAm
Zm9udF9leHRlbnRzKTsKLSAgICBtX2FzY2VudCA9IHN0YXRpY19jYXN0PGludD4obHJvdW5kZihm
b250X2V4dGVudHMuYXNjZW50KSk7Ci0gICAgbV9kZXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50Pihs
cm91bmRmKGZvbnRfZXh0ZW50cy5kZXNjZW50KSk7Ci0gICAgbV9saW5lU3BhY2luZyA9IHN0YXRp
Y19jYXN0PGludD4obHJvdW5kZihmb250X2V4dGVudHMuaGVpZ2h0KSk7CisKKyAgICBtX2ZvbnRN
ZXRyaWNzLnNldEFzY2VudChmb250X2V4dGVudHMuYXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNz
LnNldERlc2NlbnQoZm9udF9leHRlbnRzLmRlc2NlbnQpOworCiAgICAgLy8gVGhlcmUgc2VlbXMg
dG8gYmUgc29tZSByb3VuZGluZyBlcnJvciBpbiBjYWlybyAob3IgaW4gaG93IHdlCiAgICAgLy8g
dXNlIGNhaXJvKSB3aXRoIHNvbWUgZm9udHMsIGxpa2UgRGVqYVZ1IFNhbnMgTW9ubywgd2hpY2gg
bWFrZXMKICAgICAvLyBjYWlybyByZXBvcnQgYSBoZWlnaHQgc21hbGxlciB0aGFuIGFzY2VudCAr
IGRlc2NlbnQsIHdoaWNoIGlzCiAgICAgLy8gd3JvbmcgYW5kIGNvbmZ1c2VzIFdlYkNvcmUncyBs
YXlvdXQgc3lzdGVtLiBXb3JrYXJvdW5kIHRoaXMKICAgICAvLyB3aGlsZSB3ZSBmaWd1cmUgb3V0
IHdoYXQncyBnb2luZyBvbi4KLSAgICBpZiAobV9saW5lU3BhY2luZyA8IG1fYXNjZW50ICsgbV9k
ZXNjZW50KQotICAgICAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rlc2NlbnQ7Cisg
ICAgZmxvYXQgbGluZVNwYWNpbmcgPSBmb250X2V4dGVudHMuaGVpZ2h0OworICAgIGlmIChsaW5l
U3BhY2luZyA8IGZvbnRfZXh0ZW50cy5hc2NlbnQgKyBmb250X2V4dGVudHMuZGVzY2VudCkKKyAg
ICAgICAgbGluZVNwYWNpbmcgPSBmb250X2V4dGVudHMuYXNjZW50ICsgZm9udF9leHRlbnRzLmRl
c2NlbnQ7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhsaW5lU3BhY2luZyk7Cisg
ICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGxpbmVTcGFjaW5nIC0gZm9udF9leHRlbnRzLmFz
Y2VudCAtIGZvbnRfZXh0ZW50cy5kZXNjZW50KTsKKwogICAgIGNhaXJvX3NjYWxlZF9mb250X3Rl
eHRfZXh0ZW50cyhtX3BsYXRmb3JtRGF0YS5tX3NjYWxlZEZvbnQsICJ4IiwgJnRleHRfZXh0ZW50
cyk7Ci0gICAgbV94SGVpZ2h0ID0gdGV4dF9leHRlbnRzLmhlaWdodDsKKyAgICBtX2ZvbnRNZXRy
aWNzLnNldFhIZWlnaHQodGV4dF9leHRlbnRzLmhlaWdodCk7CisKICAgICBjYWlyb19zY2FsZWRf
Zm9udF90ZXh0X2V4dGVudHMobV9wbGF0Zm9ybURhdGEubV9zY2FsZWRGb250LCAiICIsICZ0ZXh0
X2V4dGVudHMpOwotICAgIG1fc3BhY2VXaWR0aCA9ICBzdGF0aWNfY2FzdDxmbG9hdD4odGV4dF9l
eHRlbnRzLnhfYWR2YW5jZSk7Ci0gICAgbV9saW5lR2FwID0gbV9saW5lU3BhY2luZyAtIG1fYXNj
ZW50IC0gbV9kZXNjZW50OworICAgIG1fc3BhY2VXaWR0aCA9IHN0YXRpY19jYXN0PGZsb2F0Pih0
ZXh0X2V4dGVudHMueF9hZHZhbmNlKTsKKyAgICAKICAgICBtX3N5bnRoZXRpY0JvbGRPZmZzZXQg
PSBtX3BsYXRmb3JtRGF0YS5zeW50aGV0aWNCb2xkKCkgPyAxLjBmIDogMC5mOwogfQogCkluZGV4
OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9udERhdGFRdC5j
cHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1w
bGVGb250RGF0YVF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNpbXBsZUZvbnREYXRhLmgiCiAKLSNpbmNsdWRlIDxR
Rm9udE1ldHJpY3M+CisjaW5jbHVkZSA8UUZvbnRNZXRyaWNzRj4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkBAIC00MSwyNSArNDEsMjAgQEAgYm9vbCBTaW1wbGVGb250RGF0YTo6Y29udGFpbnND
aGFyYWN0ZXJzKAogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKIHsKICAgICBp
ZiAoIW1fcGxhdGZvcm1EYXRhLnNpemUoKSkgewotICAgICAgICAgbV9hc2NlbnQgPSAwOwotICAg
ICAgICAgbV9kZXNjZW50ID0gMDsKLSAgICAgICAgIG1fbGluZUdhcCA9IDA7Ci0gICAgICAgICBt
X2xpbmVTcGFjaW5nID0gMDsKKyAgICAgICAgIG1fZm9udE1ldHJpY3MucmVzZXQoKTsKICAgICAg
ICAgIG1fYXZnQ2hhcldpZHRoID0gMDsKICAgICAgICAgIG1fbWF4Q2hhcldpZHRoID0gMDsKLSAg
ICAgICAgIG1feEhlaWdodCA9IDA7Ci0gICAgICAgICBtX3VuaXRzUGVyRW0gPSAwOwogICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIFFGb250TWV0cmljcyBmbShtX3BsYXRmb3JtRGF0YS5m
b250KCkpOworICAgIFFGb250TWV0cmljc0YgZm0obV9wbGF0Zm9ybURhdGEuZm9udCgpKTsKIAot
ICAgIG1fYXNjZW50ID0gZm0uYXNjZW50KCk7Ci0gICAgbV9kZXNjZW50ID0gZm0uZGVzY2VudCgp
OwotICAgIG1fbGluZVNwYWNpbmcgPSBmbS5saW5lU3BhY2luZygpOwotICAgIG1feEhlaWdodCA9
IGZtLnhIZWlnaHQoKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChmbS5hc2NlbnQoKSk7
CisgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGZtLmRlc2NlbnQoKSk7CisgICAgbV9mb250
TWV0cmljcy5zZXRMaW5lU3BhY2luZyhmbS5saW5lU3BhY2luZygpKTsKKyAgICBtX2ZvbnRNZXRy
aWNzLnNldFhIZWlnaHQoZm0ueEhlaWdodCgpKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVH
YXAoZm0ubGVhZGluZygpKTsKICAgICBtX3NwYWNlV2lkdGggPSBmbS53aWR0aChRTGF0aW4xQ2hh
cignICcpKTsKLSAgICBtX2xpbmVHYXAgPSBmbS5sZWFkaW5nKCk7CiB9CiAKIHZvaWQgU2ltcGxl
Rm9udERhdGE6OnBsYXRmb3JtR2x5cGhJbml0KCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL0ZvbnRDR1dpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udENHV2luLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q0dXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjcs
OCArMTY3LDEyIEBAIHN0YXRpYyB2b2lkIGRyYXdHRElHbHlwaHMoR3JhcGhpY3NDb250ZXgKICAg
ICAgICAgZHJhd0ludG9CaXRtYXAgPSB0cnVlOwogICAgICAgICAvLyBXZSBwdXQgc2xvcCBpbnRv
IHRoaXMgcmVjdCwgc2luY2UgZ2x5cGhzIGNhbiBvdmVyZmxvdyB0aGUgYXNjZW50L2Rlc2NlbnQg
Ym91bmRzIGFuZCB0aGUgbGVmdC9yaWdodCBlZGdlcy4KICAgICAgICAgLy8gRklYTUU6IENhbiBn
ZXQgZ2x5cGhzJyBvcHRpY2FsIGJvdW5kcyAoZXZlbiBmcm9tIENHKSB0byBnZXQgdGhpcyByaWdo
dC4KLSAgICAgICAgaW50IGxpbmVHYXAgPSBmb250LT5saW5lR2FwKCk7Ci0gICAgICAgIHRleHRS
ZWN0ID0gSW50UmVjdChwb2ludC54KCkgLSAoZm9udC0+YXNjZW50KCkgKyBmb250LT5kZXNjZW50
KCkpIC8gMiwgcG9pbnQueSgpIC0gZm9udC0+YXNjZW50KCkgLSBsaW5lR2FwLCB0b3RhbFdpZHRo
ICsgZm9udC0+YXNjZW50KCkgKyBmb250LT5kZXNjZW50KCksIGZvbnQtPmxpbmVTcGFjaW5nKCkp
OworICAgICAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBmb250LT5mb250TWV0
cmljcygpOworICAgICAgICBpbnQgbGluZUdhcCA9IGZvbnRNZXRyaWNzLmxpbmVHYXAoKTsKKyAg
ICAgICAgdGV4dFJlY3QgPSBJbnRSZWN0KHBvaW50LngoKSAtIChmb250TWV0cmljcy5hc2NlbnQo
KSArIGZvbnRNZXRyaWNzLmRlc2NlbnQoKSkgLyAyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcG9pbnQueSgpIC0gZm9udE1ldHJpY3MuYXNjZW50KCkgLSBsaW5lR2FwLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdG90YWxXaWR0aCArIGZvbnRNZXRyaWNzLmFzY2VudCgpICsgZm9u
dE1ldHJpY3MuZGVzY2VudCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udE1ldHJp
Y3MubGluZVNwYWNpbmcoKSk7CiAgICAgICAgIGJpdG1hcC5zZXQoZ3JhcGhpY3NDb250ZXh0LT5j
cmVhdGVXaW5kb3dzQml0bWFwKHRleHRSZWN0LnNpemUoKSkpOwogICAgICAgICBtZW1zZXQoYml0
bWFwLT5idWZmZXIoKSwgMjU1LCBiaXRtYXAtPmJ1ZmZlckxlbmd0aCgpKTsKICAgICAgICAgaGRj
ID0gYml0bWFwLT5oZGMoKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0Zv
bnRXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0Zv
bnRXaW4uY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL0ZvbnRXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjEsOCArMTIxLDggQEAgZmxvYXQg
Rm9udDo6ZmxvYXRXaWR0aEZvckNvbXBsZXhUZXh0KGNvbgogICAgIFVuaXNjcmliZUNvbnRyb2xs
ZXIgY29udHJvbGxlcih0aGlzLCBydW4sIGZhbGxiYWNrRm9udHMpOwogICAgIGNvbnRyb2xsZXIu
YWR2YW5jZShydW4ubGVuZ3RoKCkpOwogICAgIGlmIChnbHlwaE92ZXJmbG93KSB7Ci0gICAgICAg
IGdseXBoT3ZlcmZsb3ctPnRvcCA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYo
LWNvbnRyb2xsZXIubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSBhc2NlbnQoKSk7Ci0gICAgICAg
IGdseXBoT3ZlcmZsb3ctPmJvdHRvbSA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPmJvdHRvbSwg
Y2VpbGYoY29udHJvbGxlci5tYXhHbHlwaEJvdW5kaW5nQm94WSgpKSAtIGRlc2NlbnQoKSk7Cisg
ICAgICAgIGdseXBoT3ZlcmZsb3ctPnRvcCA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPnRvcCwg
Y2VpbGYoLWNvbnRyb2xsZXIubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSBmb250TWV0cmljcygp
LmFzY2VudCgpKTsKKyAgICAgICAgZ2x5cGhPdmVyZmxvdy0+Ym90dG9tID0gbWF4PGludD4oZ2x5
cGhPdmVyZmxvdy0+Ym90dG9tLCBjZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91bmRpbmdCb3hZ
KCkpIC0gZm9udE1ldHJpY3MoKS5kZXNjZW50KCkpOwogICAgICAgICBnbHlwaE92ZXJmbG93LT5s
ZWZ0ID0gbWF4PGludD4oMCwgY2VpbGYoLWNvbnRyb2xsZXIubWluR2x5cGhCb3VuZGluZ0JveFgo
KSkpOwogICAgICAgICBnbHlwaE92ZXJmbG93LT5yaWdodCA9IG1heDxpbnQ+KDAsIGNlaWxmKGNv
bnRyb2xsZXIubWF4R2x5cGhCb3VuZGluZ0JveFgoKSAtIGNvbnRyb2xsZXIucnVuV2lkdGhTb0Zh
cigpKSk7CiAgICAgfQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxl
Rm9udERhdGFDR1dpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vU2ltcGxlRm9udERhdGFDR1dpbi5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFDR1dpbi5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTY0LDExICs2NCwxMSBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUlu
aXQoKQogICAgIGludCBpQXNjZW50ID0gQ0dGb250R2V0QXNjZW50KGZvbnQpOwogICAgIGludCBp
RGVzY2VudCA9IENHRm9udEdldERlc2NlbnQoZm9udCk7CiAgICAgaW50IGlMaW5lR2FwID0gQ0dG
b250R2V0TGVhZGluZyhmb250KTsKLSAgICBtX3VuaXRzUGVyRW0gPSBDR0ZvbnRHZXRVbml0c1Bl
ckVtKGZvbnQpOworICAgIHVuc2lnbmVkIHVuaXRzUGVyRW0gPSBDR0ZvbnRHZXRVbml0c1BlckVt
KGZvbnQpOwogICAgIGZsb2F0IHBvaW50U2l6ZSA9IG1fcGxhdGZvcm1EYXRhLnNpemUoKTsKLSAg
ICBmbG9hdCBmQXNjZW50ID0gc2NhbGVFbVRvVW5pdHMoaUFzY2VudCwgbV91bml0c1BlckVtKSAq
IHBvaW50U2l6ZTsKLSAgICBmbG9hdCBmRGVzY2VudCA9IC1zY2FsZUVtVG9Vbml0cyhpRGVzY2Vu
dCwgbV91bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKLSAgICBmbG9hdCBmTGluZUdhcCA9IHNjYWxl
RW1Ub1VuaXRzKGlMaW5lR2FwLCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXplOworICAgIGZsb2F0
IGZBc2NlbnQgPSBzY2FsZUVtVG9Vbml0cyhpQXNjZW50LCB1bml0c1BlckVtKSAqIHBvaW50U2l6
ZTsKKyAgICBmbG9hdCBmRGVzY2VudCA9IC1zY2FsZUVtVG9Vbml0cyhpRGVzY2VudCwgdW5pdHNQ
ZXJFbSkgKiBwb2ludFNpemU7CisgICAgZmxvYXQgZkxpbmVHYXAgPSBzY2FsZUVtVG9Vbml0cyhp
TGluZUdhcCwgdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7CiAKICAgICBpZiAoIWlzQ3VzdG9tRm9u
dCgpKSB7CiAgICAgICAgIEhEQyBkYyA9IEdldERDKDApOwpAQCAtOTMsMTAgKzkzLDEwIEBAIHZv
aWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgICAgIH0KICAgICB9CiAKLSAg
ICBtX2FzY2VudCA9IGxyb3VuZGYoZkFzY2VudCk7Ci0gICAgbV9kZXNjZW50ID0gbHJvdW5kZihm
RGVzY2VudCk7Ci0gICAgbV9saW5lR2FwID0gbHJvdW5kZihmTGluZUdhcCk7Ci0gICAgbV9saW5l
U3BhY2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50ICsgbV9saW5lR2FwOworICAgIG1fZm9udE1l
dHJpY3Muc2V0QXNjZW50KGZBc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChm
RGVzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGZMaW5lR2FwKTsKKyAgICBt
X2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGZBc2NlbnQgKyBmRGVzY2VudCArIGZMaW5lR2Fw
KTsKIAogICAgIC8vIE1lYXN1cmUgdGhlIGFjdHVhbCBjaGFyYWN0ZXIgIngiLCBiZWNhdXNlIEFw
cEtpdCBzeW50aGVzaXplcyBYIGhlaWdodCByYXRoZXIgdGhhbiBnZXR0aW5nIGl0IGZyb20gdGhl
IGZvbnQuCiAgICAgLy8gVW5mb3J0dW5hdGVseSwgTlNGb250IHdpbGwgcm91bmQgdGhpcyBmb3Ig
dXMgc28gd2UgZG9uJ3QgcXVpdGUgZ2V0IHRoZSByaWdodCB2YWx1ZS4KQEAgLTEwOSwxMSArMTA5
LDEzIEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgICAgIC8vIGFu
ZCB3ZWIgcGFnZXMgdGhhdCBmb29saXNobHkgdXNlIHRoaXMgbWV0cmljIGZvciB3aWR0aCB3aWxs
IGJlIGxhaWQgb3V0CiAgICAgICAgIC8vIHBvb3JseSBpZiB3ZSByZXR1cm4gYW4gYWNjdXJhdGUg
aGVpZ2h0LiBDbGFzc2ljIGNhc2UgaXMgVGltZXMgMTMgcG9pbnQsCiAgICAgICAgIC8vIHdoaWNo
IGhhcyBhbiAieCIgdGhhdCBpcyA3eDYgcGl4ZWxzLgotICAgICAgICBtX3hIZWlnaHQgPSBzY2Fs
ZUVtVG9Vbml0cyhtYXgoQ0dSZWN0R2V0TWF4WCh4Qm94KSwgQ0dSZWN0R2V0TWF4WSh4Qm94KSks
IG1fdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7CisgICAgICAgIG1fZm9udE1ldHJpY3Muc2V0WEhl
aWdodChzY2FsZUVtVG9Vbml0cyhtYXgoQ0dSZWN0R2V0TWF4WCh4Qm94KSwgQ0dSZWN0R2V0TWF4
WSh4Qm94KSksIHVuaXRzUGVyRW0pICogcG9pbnRTaXplKTsKICAgICB9IGVsc2UgewogICAgICAg
ICBpbnQgaVhIZWlnaHQgPSBDR0ZvbnRHZXRYSGVpZ2h0KGZvbnQpOwotICAgICAgICBtX3hIZWln
aHQgPSBzY2FsZUVtVG9Vbml0cyhpWEhlaWdodCwgbV91bml0c1BlckVtKSAqIHBvaW50U2l6ZTsK
KyAgICAgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHNjYWxlRW1Ub1VuaXRzKGlYSGVpZ2h0
LCB1bml0c1BlckVtKSAqIHBvaW50U2l6ZSk7CiAgICAgfQorCisgICAgbV9mb250TWV0cmljcy5z
ZXRVbml0c1BlckVtKHVuaXRzUGVyRW0pOwogfQogCiB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0
Zm9ybUNoYXJXaWR0aEluaXQoKQpAQCAtMTMzLDcgKzEzNSw3IEBAIEZsb2F0UmVjdCBTaW1wbGVG
b250RGF0YTo6cGxhdGZvcm1Cb3VuZHMKICAgICBDR1JlY3QgYm94OwogICAgIENHRm9udEdldEds
eXBoQkJveGVzKG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpLCAmZ2x5cGgsIDEsICZib3gpOwogICAg
IGZsb2F0IHBvaW50U2l6ZSA9IG1fcGxhdGZvcm1EYXRhLnNpemUoKTsKLSAgICBDR0Zsb2F0IHNj
YWxlID0gcG9pbnRTaXplIC8gdW5pdHNQZXJFbSgpOworICAgIENHRmxvYXQgc2NhbGUgPSBwb2lu
dFNpemUgLyBmb250TWV0cmljcygpLnVuaXRzUGVyRW0oKTsKICAgICBGbG9hdFJlY3QgYm91bmRp
bmdCb3ggPSBDR1JlY3RBcHBseUFmZmluZVRyYW5zZm9ybShib3gsIENHQWZmaW5lVHJhbnNmb3Jt
TWFrZVNjYWxlKHNjYWxlLCAtc2NhbGUpKTsKICAgICBpZiAobV9zeW50aGV0aWNCb2xkT2Zmc2V0
KQogICAgICAgICBib3VuZGluZ0JveC5zZXRXaWR0aChib3VuZGluZ0JveC53aWR0aCgpICsgbV9z
eW50aGV0aWNCb2xkT2Zmc2V0KTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1NpbXBsZUZvbnREYXRhQ2Fpcm9XaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ2Fpcm9XaW4uY3BwCShyZXZpc2lvbiA3NDY2
NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ2Fpcm9X
aW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MywxMyArNjMsMTYgQEAgdm9pZCBTaW1wbGVGb250
RGF0YTo6cGxhdGZvcm1Jbml0KCkKIAogICAgIFRFWFRNRVRSSUMgdGV4dE1ldHJpY3M7CiAgICAg
R2V0VGV4dE1ldHJpY3MoaGRjLCAmdGV4dE1ldHJpY3MpOwotICAgIG1fYXNjZW50ID0gbHJvdW5k
Zih0ZXh0TWV0cmljcy50bUFzY2VudCAqIG1ldHJpY3NNdWx0aXBsaWVyKTsKLSAgICBtX2Rlc2Nl
bnQgPSBscm91bmRmKHRleHRNZXRyaWNzLnRtRGVzY2VudCAqIG1ldHJpY3NNdWx0aXBsaWVyKTsK
LSAgICBtX3hIZWlnaHQgPSBtX2FzY2VudCAqIDAuNTZmOyAvLyBCZXN0IGd1ZXNzIGZvciB4SGVp
Z2h0IGZvciBub24tVHJ1ZXR5cGUgZm9udHMuCi0gICAgbV9saW5lR2FwID0gbHJvdW5kZih0ZXh0
TWV0cmljcy50bUV4dGVybmFsTGVhZGluZyAqIG1ldHJpY3NNdWx0aXBsaWVyKTsKLSAgICBtX2xp
bmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rlc2NlbnQgKyBtX2xpbmVHYXA7Ci0gICAgbV9hdmdD
aGFyV2lkdGggPSBscm91bmRmKHRleHRNZXRyaWNzLnRtQXZlQ2hhcldpZHRoICogbWV0cmljc011
bHRpcGxpZXIpOwotICAgIG1fbWF4Q2hhcldpZHRoID0gbHJvdW5kZih0ZXh0TWV0cmljcy50bU1h
eENoYXJXaWR0aCAqIG1ldHJpY3NNdWx0aXBsaWVyKTsKKyAgICBmbG9hdCBhc2NlbnQgPSB0ZXh0
TWV0cmljcy50bUFzY2VudCAqIG1ldHJpY3NNdWx0aXBsaWVyOworICAgIGZsb2F0IGRlc2NlbnQg
PSB0ZXh0TWV0cmljcy50bURlc2NlbnQgKiBtZXRyaWNzTXVsdGlwbGllcjsKKyAgICBmbG9hdCB4
SGVpZ2h0ID0gYXNjZW50ICogMC41NmY7IC8vIEJlc3QgZ3Vlc3MgZm9yIHhIZWlnaHQgZm9yIG5v
bi1UcnVldHlwZSBmb250cy4KKyAgICBmbG9hdCBsaW5lR2FwID0gdGV4dE1ldHJpY3MudG1FeHRl
cm5hbExlYWRpbmcgKiBtZXRyaWNzTXVsdGlwbGllcjsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldEFz
Y2VudChhc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChkZXNjZW50KTsKKyAg
ICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZUdhcCk7CisgICAgbV9mb250TWV0cmljcy5z
ZXRMaW5lU3BhY2luZyhhc2NlbnQgKyBkZXNjZW50ICsgbGluZUdhcCk7CisgICAgbV9hdmdDaGFy
V2lkdGggPSB0ZXh0TWV0cmljcy50bUF2ZUNoYXJXaWR0aCAqIG1ldHJpY3NNdWx0aXBsaWVyOwor
ICAgIG1fbWF4Q2hhcldpZHRoID0gdGV4dE1ldHJpY3MudG1NYXhDaGFyV2lkdGggKiBtZXRyaWNz
TXVsdGlwbGllcjsKIAogICAgIE9VVExJTkVURVhUTUVUUklDIG1ldHJpY3M7CiAgICAgaWYgKEdl
dE91dGxpbmVUZXh0TWV0cmljcyhoZGMsIHNpemVvZihtZXRyaWNzKSwgJm1ldHJpY3MpID4gMCkg
ewpAQCAtNzgsOSArODEsMTAgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkK
ICAgICAgICAgTUFUMiBtYXQgPSB7IDEsIDAsIDAsIDEgfTsKICAgICAgICAgRFdPUkQgbGVuID0g
R2V0R2x5cGhPdXRsaW5lKGhkYywgJ3gnLCBHR09fTUVUUklDUywgJmdtLCAwLCAwLCAmbWF0KTsK
ICAgICAgICAgaWYgKGxlbiAhPSBHRElfRVJST1IgJiYgZ20uZ21wdEdseXBoT3JpZ2luLnkgPiAw
KQotICAgICAgICAgICAgbV94SGVpZ2h0ID0gZ20uZ21wdEdseXBoT3JpZ2luLnkgKiBtZXRyaWNz
TXVsdGlwbGllcjsKKyAgICAgICAgICAgIHhIZWlnaHQgPSBnbS5nbXB0R2x5cGhPcmlnaW4ueSAq
IG1ldHJpY3NNdWx0aXBsaWVyOwogICAgIH0KIAorICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdo
dCh4SGVpZ2h0KTsKICAgICBjYWlyb193aW4zMl9zY2FsZWRfZm9udF9kb25lX2ZvbnQoc2NhbGVk
Rm9udCk7CiAKICAgICBtX2lzU3lzdGVtRm9udCA9IGZhbHNlOwpJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFXaW4uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhV2luLmNwcAkocmV2aXNp
b24gNzQ2NjUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0
YVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY2LDE0ICs2Niw5IEBAIGJvb2wgU2ltcGxlRm9u
dERhdGE6OnNob3VsZEFwcGx5TWFjQXNjZW4KIHZvaWQgU2ltcGxlRm9udERhdGE6OmluaXRHRElG
b250KCkKIHsKICAgICBpZiAoIW1fcGxhdGZvcm1EYXRhLnNpemUoKSkgewotICAgICAgICBtX2Fz
Y2VudCA9IDA7Ci0gICAgICAgIG1fZGVzY2VudCA9IDA7Ci0gICAgICAgIG1fbGluZUdhcCA9IDA7
Ci0gICAgICAgIG1fbGluZVNwYWNpbmcgPSAwOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnJlc2V0
KCk7CiAgICAgICAgIG1fYXZnQ2hhcldpZHRoID0gMDsKICAgICAgICAgbV9tYXhDaGFyV2lkdGgg
PSAwOwotICAgICAgICBtX3hIZWlnaHQgPSAwOwotICAgICAgICBtX3VuaXRzUGVyRW0gPSAwOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC04MiwyMSArNzcsMjUgQEAgdm9pZCBTaW1wbGVG
b250RGF0YTo6aW5pdEdESUZvbnQoKQogICAgICBPVVRMSU5FVEVYVE1FVFJJQyBtZXRyaWNzOwog
ICAgICBHZXRPdXRsaW5lVGV4dE1ldHJpY3MoaGRjLCBzaXplb2YobWV0cmljcyksICZtZXRyaWNz
KTsKICAgICAgVEVYVE1FVFJJQyYgdGV4dE1ldHJpY3MgPSBtZXRyaWNzLm90bVRleHRNZXRyaWNz
OwotICAgICBtX2FzY2VudCA9IHRleHRNZXRyaWNzLnRtQXNjZW50OwotICAgICBtX2Rlc2NlbnQg
PSB0ZXh0TWV0cmljcy50bURlc2NlbnQ7Ci0gICAgIG1fbGluZUdhcCA9IHRleHRNZXRyaWNzLnRt
RXh0ZXJuYWxMZWFkaW5nOwotICAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rlc2Nl
bnQgKyBtX2xpbmVHYXA7CisgICAgIGZsb2F0IGFzY2VudCA9IHRleHRNZXRyaWNzLnRtQXNjZW50
OworICAgICBmbG9hdCBkZXNjZW50ID0gdGV4dE1ldHJpY3MudG1EZXNjZW50OworICAgICBmbG9h
dCBsaW5lR2FwID0gdGV4dE1ldHJpY3MudG1FeHRlcm5hbExlYWRpbmc7CisgICAgIG1fZm9udE1l
dHJpY3Muc2V0QXNjZW50KGFzY2VudCk7CisgICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChk
ZXNjZW50KTsKKyAgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGxpbmVHYXApOworICAgICBt
X2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGFzY2VudCArIGRlc2NlbnQgKyBsaW5lR2FwKTsK
ICAgICAgbV9hdmdDaGFyV2lkdGggPSB0ZXh0TWV0cmljcy50bUF2ZUNoYXJXaWR0aDsKICAgICAg
bV9tYXhDaGFyV2lkdGggPSB0ZXh0TWV0cmljcy50bU1heENoYXJXaWR0aDsKLSAgICAgbV94SGVp
Z2h0ID0gbV9hc2NlbnQgKiAwLjU2ZjsgLy8gQmVzdCBndWVzcyBmb3IgeEhlaWdodCBpZiBubyB4
IGdseXBoIGlzIHByZXNlbnQuCisgICAgIGZsb2F0IHhIZWlnaHQgPSBhc2NlbnQgKiAwLjU2Zjsg
Ly8gQmVzdCBndWVzcyBmb3IgeEhlaWdodCBpZiBubyB4IGdseXBoIGlzIHByZXNlbnQuCiAKICAg
ICAgR0xZUEhNRVRSSUNTIGdtOwogICAgICBNQVQyIG1hdCA9IHsgMSwgMCwgMCwgMSB9OwogICAg
ICBEV09SRCBsZW4gPSBHZXRHbHlwaE91dGxpbmUoaGRjLCAneCcsIEdHT19NRVRSSUNTLCAmZ20s
IDAsIDAsICZtYXQpOwogICAgICBpZiAobGVuICE9IEdESV9FUlJPUiAmJiBnbS5nbXB0R2x5cGhP
cmlnaW4ueSA+IDApCi0gICAgICAgICBtX3hIZWlnaHQgPSBnbS5nbXB0R2x5cGhPcmlnaW4ueTsK
KyAgICAgICAgIHhIZWlnaHQgPSBnbS5nbXB0R2x5cGhPcmlnaW4ueTsKIAotICAgICBtX3VuaXRz
UGVyRW0gPSBtZXRyaWNzLm90bUVNU3F1YXJlOworICAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWln
aHQoeEhlaWdodCk7CisgICAgIG1fZm9udE1ldHJpY3Muc2V0VW5pdHNQZXJFbShtZXRyaWNzLm90
bUVNU3F1YXJlKTsKIAogICAgICBTZWxlY3RPYmplY3QoaGRjLCBvbGRGb250KTsKICAgICAgUmVs
ZWFzZURDKDAsIGhkYyk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dy
YXBoaWNzQ29udGV4dFdpbkNFLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcAkocmV2aXNpb24gNzQ2NjUpCisr
KyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTUzNSw3ICsxNTM1LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRl
eHQ6OmRyYXdUZXh0KGNvbnN0IEZvbgogICAgIG1fZGF0YS0+bV9vcGFjaXR5ICo9IGZpbGxDb2xv
cigpLmFscGhhKCkgLyAyNTUuMDsKIAogICAgIEZsb2F0UmVjdCB0ZXh0UmVjdCA9IGZvbnQuc2Vs
ZWN0aW9uUmVjdEZvclRleHQocnVuLCBwb2ludCwgZm9udC5oZWlnaHQoKSwgZnJvbSwgdG8pOwot
ICAgIHRleHRSZWN0LnNldFkodGV4dFJlY3QueSgpIC0gZm9udC5hc2NlbnQoKSk7CisgICAgdGV4
dFJlY3Quc2V0WSh0ZXh0UmVjdC55KCkgLSBmb250LmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwog
ICAgIEludFJlY3QgdHJSZWN0ID0gZW5jbG9zaW5nSW50UmVjdChtX2RhdGEtPm1hcFJlY3QodGV4
dFJlY3QpKTsKICAgICBSRUNUIGJtcFJlY3Q7CiAgICAgQWxwaGFQYWludFR5cGUgYWxwaGFQYWlu
dFR5cGUgPSBtdXN0U3VwcG9ydEFscGhhID8gQWxwaGFQYWludE90aGVyIDogQWxwaGFQYWludE5v
bmU7CkBAIC0xNTQ0LDcgKzE1NDQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd1RleHQo
Y29uc3QgRm9uCiAgICAgICAgICAgICBHcmFwaGljc0NvbnRleHQgZ2MoMCk7CiAgICAgICAgICAg
ICBnYy5zZXRCaXRtYXAoYm1wKTsKICAgICAgICAgICAgIGdjLnNjYWxlKEZsb2F0U2l6ZShtX2Rh
dGEtPm1fdHJhbnNmb3JtLmEoKSwgbV9kYXRhLT5tX3RyYW5zZm9ybS5kKCkpKTsKLSAgICAgICAg
ICAgIGZvbnQuZHJhd1RleHQoJmdjLCBydW4sIEludFBvaW50KDAsIGZvbnQuYXNjZW50KCkpLCBm
cm9tLCB0byk7CisgICAgICAgICAgICBmb250LmRyYXdUZXh0KCZnYywgcnVuLCBJbnRQb2ludCgw
LCBmb250LmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpLCBmcm9tLCB0byk7CiAgICAgICAgIH0KICAg
ICAgICAgdW5zaWduZWQga2V5MTsKICAgICAgICAgSERDIG1lbURDID0gYm1wLT5nZXREQygma2V5
MSk7CkBAIC0xNTg5LDcgKzE1ODksNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd1RleHQo
Y29uc3QgU2ltCiAgICAgICAgID8gZm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLmdldFNjYWxlZEZv
bnRIYW5kbGUoaGVpZ2h0LCBzY2FsZVggPT0gc2NhbGVZID8gMCA6IHdpZHRoKQogICAgICAgICA6
IDA7CiAKLSAgICBGbG9hdFBvaW50IHN0YXJ0UG9pbnQocG9pbnQueCgpLCBwb2ludC55KCkgLSBm
b250RGF0YS0+YXNjZW50KCkpOworICAgIEZsb2F0UG9pbnQgc3RhcnRQb2ludChwb2ludC54KCks
IHBvaW50LnkoKSAtIGZvbnREYXRhLT5mb250TWV0cmljcygpLmFzY2VudCgpKTsKICAgICBGbG9h
dFBvaW50IHRyUG9pbnQgPSBtX2RhdGEtPm1hcFBvaW50KHN0YXJ0UG9pbnQpOwogICAgIGludCB5
ID0gc3RhYmxlUm91bmQodHJQb2ludC55KCkpOwogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbmNlL1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2ltcGxlRm9udERhdGFXaW5DRS5jcHAJKHJldmlz
aW9uIDc0NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9TaW1wbGVGb250
RGF0YVdpbkNFLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTEsMTEgKzUxLDE0IEBAIHZvaWQgU2lt
cGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgY29uc3QgVEVYVE1FVFJJQyYgdG0gPSBt
X3BsYXRmb3JtRGF0YS5tZXRyaWNzKCk7CiAgICAgbV9pc1N5c3RlbUZvbnQgPSBtX3BsYXRmb3Jt
RGF0YS5pc1N5c3RlbUZvbnQoKTsKIAotICAgIG1fYXNjZW50ID0gKHRtLnRtQXNjZW50ICogbV9w
bGF0Zm9ybURhdGEuc2l6ZSgpICsgMzYpIC8gNzI7Ci0gICAgbV9kZXNjZW50ID0gKHRtLnRtRGVz
Y2VudCAqIG1fcGxhdGZvcm1EYXRhLnNpemUoKSArIDM2KSAvIDcyOwotICAgIG1fbGluZUdhcCA9
ICh0bS50bUV4dGVybmFsTGVhZGluZyAqIG1fcGxhdGZvcm1EYXRhLnNpemUoKSArIDM2KSAvIDcy
OwotICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2VudCArIG1fbGluZUdhcDsK
LSAgICBtX3hIZWlnaHQgPSBtX2FzY2VudCAqIDAuNTZmOworICAgIGZsb2F0IGFzY2VudCA9ICh0
bS50bUFzY2VudCAqIG1fcGxhdGZvcm1EYXRhLnNpemUoKSArIDM2KSAvIDcyLjBmOworICAgIGZs
b2F0IGRlc2NlbnQgPSAodG0udG1EZXNjZW50ICogbV9wbGF0Zm9ybURhdGEuc2l6ZSgpICsgMzYp
IC8gNzIuMGY7CisgICAgZmxvYXQgbGluZUdhcCA9ICh0bS50bUV4dGVybmFsTGVhZGluZyAqIG1f
cGxhdGZvcm1EYXRhLnNpemUoKSArIDM2KSAvIDcyLjBmOworICAgIG1fZm9udE1ldHJpY3Muc2V0
QXNjZW50KGFzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGRlc2NlbnQpOwor
ICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChsaW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNz
LnNldExpbmVTcGFjaW5nKGFzY2VudCArIGRlc2NlbnQgKyBsaW5lR2FwKTsKKyAgICBtX2ZvbnRN
ZXRyaWNzLnNldFhIZWlnaHQoYXNjZW50ICogMC41NmYpOwogfQogCiB2b2lkIFNpbXBsZUZvbnRE
YXRhOjpwbGF0Zm9ybURlc3Ryb3koKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
eC9TaW1wbGVGb250RGF0YVd4LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3d4L1NpbXBsZUZvbnREYXRhV3guY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvU2ltcGxlRm9udERhdGFXeC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTUzLDEyICs1MywxMiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQo
KQogICAgIHd4Rm9udCAqZm9udCA9IG1fcGxhdGZvcm1EYXRhLmZvbnQoKTsKICAgICBpZiAoZm9u
dCAmJiBmb250LT5Jc09rKCkpIHsKICAgICAgICAgd3hGb250UHJvcGVydGllcyBwcm9wcyA9IHd4
Rm9udFByb3BlcnRpZXMoZm9udCk7Ci0gICAgICAgIG1fYXNjZW50ID0gcHJvcHMuR2V0QXNjZW50
KCk7Ci0gICAgICAgIG1fZGVzY2VudCA9IHByb3BzLkdldERlc2NlbnQoKTsKLSAgICAgICAgbV9s
aW5lU3BhY2luZyA9IHByb3BzLkdldExpbmVTcGFjaW5nKCk7Ci0gICAgICAgIG1feEhlaWdodCA9
IHByb3BzLkdldFhIZWlnaHQoKTsKLSAgICAgICAgbV91bml0c1BlckVtID0gMTsgLy8gRklYTUUh
Ci0gICAgICAgIG1fbGluZUdhcCA9IHByb3BzLkdldExpbmVHYXAoKTsKKyAgICAgICAgbV9mb250
TWV0cmljcy5zZXRBc2NlbnQocHJvcHMuR2V0QXNjZW50KCkpOworICAgICAgICBtX2ZvbnRNZXRy
aWNzLnNldERlc2NlbnQocHJvcHMuR2V0RGVzY2VudCgpKTsKKyAgICAgICAgbV9mb250TWV0cmlj
cy5zZXRMaW5lU3BhY2luZyhwcm9wcy5HZXRMaW5lU3BhY2luZygpKTsKKyAgICAgICAgbV9mb250
TWV0cmljcy5zZXRYSGVpZ2h0KHByb3BzLkdldFhIZWlnaHQoKSk7CisgICAgICAgIG1fZm9udE1l
dHJpY3Muc2V0VW5pdHNQZXJFbSgxKTsgLy8gRklYTUUhCisgICAgICAgIG1fZm9udE1ldHJpY3Mu
c2V0TGluZUdhcChwcm9wcy5HZXRMaW5lR2FwKCkpOwogICAgIH0KIAogICAgIG1fc3ludGhldGlj
Qm9sZE9mZnNldCA9IDAuMGY7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVX
aW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5j
cHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2lu
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzA1LDcgKzMwNSw3IEBAIHZvaWQgUG9wdXBNZW51V2lu
OjpjYWxjdWxhdGVQb3NpdGlvbkFuZFMKIAogICAgIC8vIEZpcnN0LCBkZXRlcm1pbmUgdGhlIHBv
cHVwJ3MgaGVpZ2h0CiAgICAgaW50IGl0ZW1Db3VudCA9IGNsaWVudCgpLT5saXN0U2l6ZSgpOwot
ICAgIG1faXRlbUhlaWdodCA9IGNsaWVudCgpLT5tZW51U3R5bGUoKS5mb250KCkuaGVpZ2h0KCkg
KyBvcHRpb25TcGFjaW5nTWlkZGxlOworICAgIG1faXRlbUhlaWdodCA9IGNsaWVudCgpLT5tZW51
U3R5bGUoKS5mb250KCkuZm9udE1ldHJpY3MoKS5oZWlnaHQoKSArIG9wdGlvblNwYWNpbmdNaWRk
bGU7CiAgICAgaW50IG5hdHVyYWxIZWlnaHQgPSBtX2l0ZW1IZWlnaHQgKiBpdGVtQ291bnQ7CiAg
ICAgaW50IHBvcHVwSGVpZ2h0ID0gbWluKG1heFBvcHVwSGVpZ2h0LCBuYXR1cmFsSGVpZ2h0KTsK
ICAgICAvLyBUaGUgcG9wdXAgc2hvdWxkIHNob3cgYW4gaW50ZWdyYWwgbnVtYmVyIG9mIGl0ZW1z
IChpLmUuIG5vIHBhcnRpYWwgaXRlbXMgc2hvdWxkIGJlIHZpc2libGUpCkBAIC02NDgsNyArNjQ4
LDcgQEAgdm9pZCBQb3B1cE1lbnVXaW46OnBhaW50KGNvbnN0IEludFJlY3QmIAogICAgICAgICAg
ICAgaW50IHRleHRYID0gbWF4KDAsIGNsaWVudCgpLT5jbGllbnRQYWRkaW5nTGVmdCgpIC0gY2xp
ZW50KCktPmNsaWVudEluc2V0TGVmdCgpKTsKICAgICAgICAgICAgIGlmIChSZW5kZXJUaGVtZTo6
ZGVmYXVsdFRoZW1lKCktPnBvcHVwT3B0aW9uU3VwcG9ydHNUZXh0SW5kZW50KCkgJiYgaXRlbVN0
eWxlLnRleHREaXJlY3Rpb24oKSA9PSBMVFIpCiAgICAgICAgICAgICAgICAgdGV4dFggKz0gaXRl
bVN0eWxlLnRleHRJbmRlbnQoKS5jYWxjTWluVmFsdWUoaXRlbVJlY3Qud2lkdGgoKSk7Ci0gICAg
ICAgICAgICBpbnQgdGV4dFkgPSBpdGVtUmVjdC55KCkgKyBpdGVtRm9udC5hc2NlbnQoKSArIChp
dGVtUmVjdC5oZWlnaHQoKSAtIGl0ZW1Gb250LmhlaWdodCgpKSAvIDI7CisgICAgICAgICAgICBp
bnQgdGV4dFkgPSBpdGVtUmVjdC55KCkgKyBpdGVtRm9udC5mb250TWV0cmljcygpLmFzY2VudCgp
ICsgKGl0ZW1SZWN0LmhlaWdodCgpIC0gaXRlbUZvbnQuZm9udE1ldHJpY3MoKS5oZWlnaHQoKSkg
LyAyOwogICAgICAgICAgICAgY29udGV4dC5kcmF3QmlkaVRleHQoaXRlbUZvbnQsIHRleHRSdW4s
IEludFBvaW50KHRleHRYLCB0ZXh0WSkpOwogICAgICAgICB9CiAgICAgfQpJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvRWxsaXBzaXNCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL0VsbGlwc2lzQm94LmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3JlbmRlcmlu
Zy9FbGxpcHNpc0JveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDcgKzUxLDcgQEAgdm9pZCBF
bGxpcHNpc0JveDo6cGFpbnQoUGFpbnRJbmZvJiBwYWludAogICAgIH0KIAogICAgIGNvbnN0IFN0
cmluZyYgc3RyID0gbV9zdHI7Ci0gICAgY29udGV4dC0+ZHJhd1RleHQoc3R5bGUtPmZvbnQoKSwg
VGV4dFJ1bihzdHIuY2hhcmFjdGVycygpLCBzdHIubGVuZ3RoKCksIGZhbHNlLCAwLCAwLCBmYWxz
ZSwgc3R5bGUtPnZpc3VhbGx5T3JkZXJlZCgpKSwgSW50UG9pbnQobV94ICsgdHgsIG1feSArIHR5
ICsgc3R5bGUtPmZvbnQoKS5hc2NlbnQoKSkpOworICAgIGNvbnRleHQtPmRyYXdUZXh0KHN0eWxl
LT5mb250KCksIFRleHRSdW4oc3RyLmNoYXJhY3RlcnMoKSwgc3RyLmxlbmd0aCgpLCBmYWxzZSwg
MCwgMCwgZmFsc2UsIHN0eWxlLT52aXN1YWxseU9yZGVyZWQoKSksIEludFBvaW50KG1feCArIHR4
LCBtX3kgKyB0eSArIHN0eWxlLT5mb250TWV0cmljcygpLmFzY2VudCgpKSk7CiAKICAgICAvLyBS
ZXN0b3JlIHRoZSByZWd1bGFyIGZpbGwgY29sb3IuCiAgICAgaWYgKHRleHRDb2xvciAhPSBjb250
ZXh0LT5maWxsQ29sb3IoKSkKQEAgLTYzLDcgKzYzLDcgQEAgdm9pZCBFbGxpcHNpc0JveDo6cGFp
bnQoUGFpbnRJbmZvJiBwYWludAogICAgIGlmIChtX21hcmt1cEJveCkgewogICAgICAgICAvLyBQ
YWludCB0aGUgbWFya3VwIGJveAogICAgICAgICB0eCArPSBtX3ggKyBtX2xvZ2ljYWxXaWR0aCAt
IG1fbWFya3VwQm94LT54KCk7Ci0gICAgICAgIHR5ICs9IG1feSArIHN0eWxlLT5mb250KCkuYXNj
ZW50KCkgLSAobV9tYXJrdXBCb3gtPnkoKSArIG1fbWFya3VwQm94LT5yZW5kZXJlcigpLT5zdHls
ZShtX2ZpcnN0TGluZSktPmZvbnQoKS5hc2NlbnQoKSk7CisgICAgICAgIHR5ICs9IG1feSArIHN0
eWxlLT5mb250TWV0cmljcygpLmFzY2VudCgpIC0gKG1fbWFya3VwQm94LT55KCkgKyBtX21hcmt1
cEJveC0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250TWV0cmljcygpLmFzY2Vu
dCgpKTsKICAgICAgICAgbV9tYXJrdXBCb3gtPnBhaW50KHBhaW50SW5mbywgdHgsIHR5KTsKICAg
ICB9CiB9CkBAIC0xMDYsNyArMTA2LDcgQEAgYm9vbCBFbGxpcHNpc0JveDo6bm9kZUF0UG9pbnQo
Y29uc3QgSGl0VAogICAgIGlmIChtX21hcmt1cEJveCkgewogICAgICAgICBSZW5kZXJTdHlsZSog
c3R5bGUgPSBtX3JlbmRlcmVyLT5zdHlsZShtX2ZpcnN0TGluZSk7CiAgICAgICAgIGludCBtdHgg
PSB0eCArIG1fbG9naWNhbFdpZHRoIC0gbV9tYXJrdXBCb3gtPngoKTsKLSAgICAgICAgaW50IG10
eSA9IHR5ICsgc3R5bGUtPmZvbnQoKS5hc2NlbnQoKSAtIChtX21hcmt1cEJveC0+eSgpICsgbV9t
YXJrdXBCb3gtPnJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpLmFzY2VudCgp
KTsKKyAgICAgICAgaW50IG10eSA9IHR5ICsgc3R5bGUtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkg
LSAobV9tYXJrdXBCb3gtPnkoKSArIG1fbWFya3VwQm94LT5yZW5kZXJlcigpLT5zdHlsZShtX2Zp
cnN0TGluZSktPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwogICAgICAgICBpZiAobV9tYXJrdXBC
b3gtPm5vZGVBdFBvaW50KHJlcXVlc3QsIHJlc3VsdCwgeCwgeSwgbXR4LCBtdHkpKSB7CiAgICAg
ICAgICAgICByZW5kZXJlcigpLT51cGRhdGVIaXRUZXN0UmVzdWx0KHJlc3VsdCwgSW50UG9pbnQo
eCAtIG10eCwgeSAtIG10eSkpOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CkluZGV4OiBXZWJD
b3JlL3JlbmRlcmluZy9JbmxpbmVCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL0lubGluZUJveC5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9yZW5kZXJpbmcv
SW5saW5lQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMsMTQgKzkzLDE0IEBAIGludCBJbmxp
bmVCb3g6OmxvZ2ljYWxIZWlnaHQoKSBjb25zdAogI2VuZGlmCiAgICAgCiAgICAgaWYgKHJlbmRl
cmVyKCktPmlzVGV4dCgpKQotICAgICAgICByZXR1cm4gbV9pc1RleHQgPyByZW5kZXJlcigpLT5z
dHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKS5oZWlnaHQoKSA6IDA7CisgICAgICAgIHJldHVybiBt
X2lzVGV4dCA/IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKS5o
ZWlnaHQoKSA6IDA7CiAgICAgaWYgKHJlbmRlcmVyKCktPmlzQm94KCkgJiYgcGFyZW50KCkpCiAg
ICAgICAgIHJldHVybiBpc0hvcml6b250YWwoKSA/IHRvUmVuZGVyQm94KG1fcmVuZGVyZXIpLT5o
ZWlnaHQoKSA6IHRvUmVuZGVyQm94KG1fcmVuZGVyZXIpLT53aWR0aCgpOwogCiAgICAgQVNTRVJU
KGlzSW5saW5lRmxvd0JveCgpKTsKICAgICBSZW5kZXJCb3hNb2RlbE9iamVjdCogZmxvd09iamVj
dCA9IGJveE1vZGVsT2JqZWN0KCk7Ci0gICAgY29uc3QgRm9udCYgZm9udCA9IHJlbmRlcmVyKCkt
PnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpOwotICAgIGludCByZXN1bHQgPSBmb250LmhlaWdo
dCgpOworICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IHJlbmRlcmVyKCktPnN0
eWxlKG1fZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKTsKKyAgICBpbnQgcmVzdWx0ID0gZm9udE1l
dHJpY3MuaGVpZ2h0KCk7CiAgICAgaWYgKHBhcmVudCgpKQogICAgICAgICByZXN1bHQgKz0gZmxv
d09iamVjdC0+Ym9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxIZWlnaHQoKTsKICAgICByZXR1cm4gcmVz
dWx0OwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHJldmlzaW9uIDc0NjY1
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQwOCw2ICs0MDgsNyBAQCBzdGF0aWMgaW50IHZlcnRpY2FsUG9zaXRpb25Gb3JCb3goSW5s
aW5lCiAgICAgICAgIAogICAgICAgICBpZiAodmVydGljYWxBbGlnbiAhPSBCQVNFTElORSkgewog
ICAgICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IHBhcmVudC0+c3R5bGUoZmlyc3RMaW5lKS0+
Zm9udCgpOworICAgICAgICAgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZm9u
dC5mb250TWV0cmljcygpOwogICAgICAgICAgICAgaW50IGZvbnRTaXplID0gZm9udC5waXhlbFNp
emUoKTsKIAogICAgICAgICAgICAgTGluZURpcmVjdGlvbk1vZGUgbGluZURpcmVjdGlvbiA9IHBh
cmVudC0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEhvcml6b250YWxMaW5l
IDogVmVydGljYWxMaW5lOwpAQCAtNDE3LDExICs0MTgsMTEgQEAgc3RhdGljIGludCB2ZXJ0aWNh
bFBvc2l0aW9uRm9yQm94KElubGluZQogICAgICAgICAgICAgZWxzZSBpZiAodmVydGljYWxBbGln
biA9PSBTVVBFUikKICAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uIC09IGZvbnRTaXpl
IC8gMyArIDE7CiAgICAgICAgICAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IFRFWFRfVE9Q
KQotICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gcmVuZGVyZXItPmJhc2VsaW5l
UG9zaXRpb24oYmFzZWxpbmVUeXBlLCBmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC0gZm9udC5h
c2NlbnQoYmFzZWxpbmVUeXBlKTsKKyAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9
IHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5l
RGlyZWN0aW9uKSAtIGZvbnRNZXRyaWNzLmFzY2VudChiYXNlbGluZVR5cGUpOwogICAgICAgICAg
ICAgZWxzZSBpZiAodmVydGljYWxBbGlnbiA9PSBNSURETEUpCi0gICAgICAgICAgICAgICAgdmVy
dGljYWxQb3NpdGlvbiArPSAtc3RhdGljX2Nhc3Q8aW50Pihmb250LnhIZWlnaHQoKSAvIDIpIC0g
cmVuZGVyZXItPmxpbmVIZWlnaHQoZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAvIDIgKyByZW5k
ZXJlci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURpcmVj
dGlvbik7CisgICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiArPSAtc3RhdGljX2Nhc3Q8
aW50Pihmb250TWV0cmljcy54SGVpZ2h0KCkgLyAyKSAtIHJlbmRlcmVyLT5saW5lSGVpZ2h0KGZp
cnN0TGluZSwgbGluZURpcmVjdGlvbikgLyAyICsgcmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24o
YmFzZWxpbmVUeXBlLCBmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pOwogICAgICAgICAgICAgZWxz
ZSBpZiAodmVydGljYWxBbGlnbiA9PSBURVhUX0JPVFRPTSkgewotICAgICAgICAgICAgICAgIHZl
cnRpY2FsUG9zaXRpb24gKz0gZm9udC5kZXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgICAgICAg
ICAgICAgdmVydGljYWxQb3NpdGlvbiArPSBmb250TWV0cmljcy5kZXNjZW50KGJhc2VsaW5lVHlw
ZSk7CiAgICAgICAgICAgICAgICAgLy8gbGluZUhlaWdodCAtIGJhc2VsaW5lUG9zaXRpb24gaXMg
YWx3YXlzIDAgZm9yIHJlcGxhY2VkIGVsZW1lbnRzIChleGNlcHQgaW5saW5lIGJsb2NrcyksIHNv
IGRvbid0IGJvdGhlciB3YXN0aW5nIHRpbWUgaW4gdGhhdCBjYXNlLgogICAgICAgICAgICAgICAg
IGlmICghcmVuZGVyZXItPmlzUmVwbGFjZWQoKSB8fCByZW5kZXJlci0+aXNJbmxpbmVCbG9ja09y
SW5saW5lVGFibGUoKSkKICAgICAgICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiAtPSAo
cmVuZGVyZXItPmxpbmVIZWlnaHQoZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAtIHJlbmRlcmVy
LT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9u
KSk7CkBAIC01MDMsOSArNTA0LDEwIEBAIHZvaWQgSW5saW5lRmxvd0JveDo6Y29tcHV0ZUxvZ2lj
YWxCb3hIZWkKICAgICAgICAgICAgIGJhc2VsaW5lID0gMDsKICAgICAgICAgICAgIGludCBiYXNl
bGluZVRvQm90dG9tID0gMDsKICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdXNl
ZEZvbnRzLT5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgICAgIGludCBoYWxmTGVhZGluZyA9
ICh1c2VkRm9udHMtPmF0KGkpLT5saW5lU3BhY2luZygpIC0gdXNlZEZvbnRzLT5hdChpKS0+aGVp
Z2h0KCkpIC8gMjsKLSAgICAgICAgICAgICAgICBpbnQgdXNlZEZvbnRCYXNlbGluZSA9IGhhbGZM
ZWFkaW5nICsgdXNlZEZvbnRzLT5hdChpKS0+YXNjZW50KGJhc2VsaW5lVHlwZSk7Ci0gICAgICAg
ICAgICAgICAgaW50IHVzZWRGb250QmFzZWxpbmVUb0JvdHRvbSA9IHVzZWRGb250cy0+YXQoaSkt
PmxpbmVTcGFjaW5nKCkgLSB1c2VkRm9udEJhc2VsaW5lOworICAgICAgICAgICAgICAgIGNvbnN0
IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IHVzZWRGb250cy0+YXQoaSktPmZvbnRNZXRyaWNz
KCk7CisgICAgICAgICAgICAgICAgaW50IGhhbGZMZWFkaW5nID0gKGZvbnRNZXRyaWNzLmxpbmVT
cGFjaW5nKCkgLSBmb250TWV0cmljcy5oZWlnaHQoKSkgLyAyOworICAgICAgICAgICAgICAgIGlu
dCB1c2VkRm9udEJhc2VsaW5lID0gaGFsZkxlYWRpbmcgKyBmb250TWV0cmljcy5hc2NlbnQoYmFz
ZWxpbmVUeXBlKTsKKyAgICAgICAgICAgICAgICBpbnQgdXNlZEZvbnRCYXNlbGluZVRvQm90dG9t
ID0gZm9udE1ldHJpY3MubGluZVNwYWNpbmcoKSAtIHVzZWRGb250QmFzZWxpbmU7CiAgICAgICAg
ICAgICAgICAgaWYgKCFiYXNlbGluZVNldCkgewogICAgICAgICAgICAgICAgICAgICBiYXNlbGlu
ZVNldCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgIGJhc2VsaW5lID0gdXNlZEZvbnRCYXNl
bGluZTsKQEAgLTUxNSw5ICs1MTcsOSBAQCB2b2lkIElubGluZUZsb3dCb3g6OmNvbXB1dGVMb2dp
Y2FsQm94SGVpCiAgICAgICAgICAgICAgICAgICAgIGJhc2VsaW5lVG9Cb3R0b20gPSBtYXgoYmFz
ZWxpbmVUb0JvdHRvbSwgdXNlZEZvbnRCYXNlbGluZVRvQm90dG9tKTsKICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgaWYgKCFhZmZlY3RzQXNjZW50KQotICAgICAgICAgICAgICAg
ICAgICBhZmZlY3RzQXNjZW50ID0gdXNlZEZvbnRzLT5hdChpKS0+YXNjZW50KCkgLSBjdXJyLT5s
b2dpY2FsVG9wKCkgPiAwOworICAgICAgICAgICAgICAgICAgICBhZmZlY3RzQXNjZW50ID0gZm9u
dE1ldHJpY3MuYXNjZW50KCkgLSBjdXJyLT5sb2dpY2FsVG9wKCkgPiAwOwogICAgICAgICAgICAg
ICAgIGlmICghYWZmZWN0c0Rlc2NlbnQpCi0gICAgICAgICAgICAgICAgICAgIGFmZmVjdHNEZXNj
ZW50ID0gdXNlZEZvbnRzLT5hdChpKS0+ZGVzY2VudCgpICsgY3Vyci0+bG9naWNhbFRvcCgpID4g
MDsKKyAgICAgICAgICAgICAgICAgICAgYWZmZWN0c0Rlc2NlbnQgPSBmb250TWV0cmljcy5kZXNj
ZW50KCkgKyBjdXJyLT5sb2dpY2FsVG9wKCkgPiAwOwogICAgICAgICAgICAgfQogICAgICAgICAg
ICAgbGluZUhlaWdodCA9IGJhc2VsaW5lICsgYmFzZWxpbmVUb0JvdHRvbTsKICAgICAgICAgfSBl
bHNlIHsKQEAgLTUyNywxMSArNTI5LDEyIEBAIHZvaWQgSW5saW5lRmxvd0JveDo6Y29tcHV0ZUxv
Z2ljYWxCb3hIZWkKICAgICAgICAgICAgICAgICAvLyBFeGFtaW5lIHRoZSBmb250IGJveCBmb3Ig
aW5saW5lIGZsb3dzIGFuZCB0ZXh0IGJveGVzIHRvIHNlZSBpZiBhbnkgcGFydCBvZiBpdCBpcyBh
Ym92ZSB0aGUgYmFzZWxpbmUuCiAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIHRvcCBvZiBvdXIg
Zm9udCBib3ggcmVsYXRpdmUgdG8gdGhlIHJvb3QgYm94IGJhc2VsaW5lIGlzIGFib3ZlIHRoZSBy
b290IGJveCBiYXNlbGluZSwgdGhlbgogICAgICAgICAgICAgICAgIC8vIHdlIGFyZSBjb250cmli
dXRpbmcgdG8gdGhlIG1heEFzY2VudCB2YWx1ZS4KLSAgICAgICAgICAgICAgICBhZmZlY3RzQXNj
ZW50ID0gY3Vyci0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCkuYXNjZW50
KGJhc2VsaW5lVHlwZSkgLSBjdXJyLT5sb2dpY2FsVG9wKCkgPiAwOworICAgICAgICAgICAgICAg
IGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IGN1cnItPnJlbmRlcmVyKCktPnN0eWxl
KG1fZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKTsKKyAgICAgICAgICAgICAgICBhZmZlY3RzQXNj
ZW50ID0gZm9udE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlwZSkgLSBjdXJyLT5sb2dpY2FsVG9w
KCkgPiAwOwogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIC8vIERlc2NlbnQgaXMg
c2ltaWxhci4gIElmIGFueSBwYXJ0IG9mIG91ciBmb250IGJveCBpcyBiZWxvdyB0aGUgcm9vdCBi
b3gncyBiYXNlbGluZSwgdGhlbgogICAgICAgICAgICAgICAgIC8vIHdlIGNvbnRyaWJ1dGUgdG8g
dGhlIG1heERlc2NlbnQgdmFsdWUuCi0gICAgICAgICAgICAgICAgYWZmZWN0c0Rlc2NlbnQgPSBj
dXJyLT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKS5kZXNjZW50KGJhc2Vs
aW5lVHlwZSkgKyBjdXJyLT5sb2dpY2FsVG9wKCkgPiAwOworICAgICAgICAgICAgICAgIGFmZmVj
dHNEZXNjZW50ID0gZm9udE1ldHJpY3MuZGVzY2VudChiYXNlbGluZVR5cGUpICsgY3Vyci0+bG9n
aWNhbFRvcCgpID4gMDsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgLy8g
UmVwbGFjZWQgZWxlbWVudHMgYWx3YXlzIGFmZmVjdCBib3RoIHRoZSBhc2NlbnQgYW5kIGRlc2Nl
bnQuCiAgICAgICAgICAgICAgICAgYWZmZWN0c0FzY2VudCA9IHRydWU7CkBAIC02MDYsOCArNjA5
LDggQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5CbG9ja0RpcgogICAgICAgICBp
bnQgYm94SGVpZ2h0SW5jbHVkaW5nTWFyZ2lucyA9IGJveEhlaWdodDsKICAgICAgICAgICAgIAog
ICAgICAgICBpZiAoY3Vyci0+aXNUZXh0KCkgfHwgY3Vyci0+aXNJbmxpbmVGbG93Qm94KCkpIHsK
LSAgICAgICAgICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBjdXJyLT5yZW5kZXJlcigpLT5zdHlsZSht
X2ZpcnN0TGluZSktPmZvbnQoKTsKLSAgICAgICAgICAgIG5ld0xvZ2ljYWxUb3AgKz0gY3Vyci0+
YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUpIC0gZm9udC5hc2NlbnQoYmFzZWxpbmVUeXBl
KTsKKyAgICAgICAgICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IGN1cnItPnJl
bmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKTsKKyAgICAgICAgICAg
IG5ld0xvZ2ljYWxUb3AgKz0gY3Vyci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUpIC0g
Zm9udE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlwZSk7CiAgICAgICAgICAgICBpZiAoY3Vyci0+
aXNJbmxpbmVGbG93Qm94KCkpIHsKICAgICAgICAgICAgICAgICBSZW5kZXJCb3hNb2RlbE9iamVj
dCogYm94T2JqZWN0ID0gdG9SZW5kZXJCb3hNb2RlbE9iamVjdChjdXJyLT5yZW5kZXJlcigpKTsK
ICAgICAgICAgICAgICAgICBuZXdMb2dpY2FsVG9wIC09IGJveE9iamVjdC0+c3R5bGUobV9maXJz
dExpbmUpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gYm94T2JqZWN0LT5ib3JkZXJUb3Ao
KSArIGJveE9iamVjdC0+cGFkZGluZ1RvcCgpIDogCkBAIC02NjUsOCArNjY4LDggQEAgdm9pZCBJ
bmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5CbG9ja0RpcgogICAgIH0KIAogICAgIGlmIChpc1Jv
b3RJbmxpbmVCb3goKSkgewotICAgICAgICBjb25zdCBGb250JiBmb250ID0gcmVuZGVyZXIoKS0+
c3R5bGUobV9maXJzdExpbmUpLT5mb250KCk7Ci0gICAgICAgIHNldExvZ2ljYWxUb3AobG9naWNh
bFRvcCgpICsgYmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUpIC0gZm9udC5hc2NlbnQoYmFz
ZWxpbmVUeXBlKSk7CisgICAgICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IHJl
bmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKTsKKyAgICAgICAgc2V0
TG9naWNhbFRvcChsb2dpY2FsVG9wKCkgKyBiYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSkg
LSBmb250TWV0cmljcy5hc2NlbnQoYmFzZWxpbmVUeXBlKSk7CiAgICAgICAgIAogICAgICAgICBp
ZiAoaGFzVGV4dENoaWxkcmVuKCkgfHwgc3RyaWN0TW9kZSkgewogICAgICAgICAgICAgaWYgKCFz
ZXRMaW5lVG9wKSB7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkocmV2aXNp
b24gNzQ2NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDU3LDcgKzQ1Nyw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnQoUGFp
bnRJbmZvJiBwYWkKICAgICBJbnRQb2ludCBib3hPcmlnaW4gPSBsb2NhdGlvbkluY2x1ZGluZ0Zs
aXBwaW5nKCk7CiAgICAgYm94T3JpZ2luLm1vdmUodHgsIHR5KTsgICAgCiAgICAgSW50UmVjdCBi
b3hSZWN0KGJveE9yaWdpbiwgSW50U2l6ZShsb2dpY2FsV2lkdGgoKSwgbG9naWNhbEhlaWdodCgp
KSk7Ci0gICAgSW50UG9pbnQgdGV4dE9yaWdpbiA9IEludFBvaW50KGJveE9yaWdpbi54KCksIGJv
eE9yaWdpbi55KCkgKyBzdHlsZVRvVXNlLT5mb250KCkuYXNjZW50KCkpOworICAgIEludFBvaW50
IHRleHRPcmlnaW4gPSBJbnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpICsgc3R5
bGVUb1VzZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAKICAgICBpZiAoIWlzSG9yaXpvbnRh
bCgpKSB7CiAgICAgICAgIGNvbnRleHQtPnNhdmUoKTsKQEAgLTU5Nyw5ICs1OTcsOSBAQCB2b2lk
IElubGluZVRleHRCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFpCiAgICAgY29uc3QgQXRvbWljU3Ry
aW5nJiBlbXBoYXNpc01hcmsgPSBzdHlsZVRvVXNlLT50ZXh0RW1waGFzaXNNYXJrU3RyaW5nKCk7
CiAgICAgaWYgKCFlbXBoYXNpc01hcmsuaXNFbXB0eSgpKSB7CiAgICAgICAgIGlmIChzdHlsZVRv
VXNlLT50ZXh0RW1waGFzaXNQb3NpdGlvbigpID09IFRleHRFbXBoYXNpc1Bvc2l0aW9uT3ZlcikK
LSAgICAgICAgICAgIGVtcGhhc2lzTWFya09mZnNldCA9IC1mb250LmFzY2VudCgpIC0gZm9udC5l
bXBoYXNpc01hcmtEZXNjZW50KGVtcGhhc2lzTWFyayk7CisgICAgICAgICAgICBlbXBoYXNpc01h
cmtPZmZzZXQgPSAtZm9udC5mb250TWV0cmljcygpLmFzY2VudCgpIC0gZm9udC5lbXBoYXNpc01h
cmtEZXNjZW50KGVtcGhhc2lzTWFyayk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGVtcGhh
c2lzTWFya09mZnNldCA9IGZvbnQuZGVzY2VudCgpICsgZm9udC5lbXBoYXNpc01hcmtBc2NlbnQo
ZW1waGFzaXNNYXJrKTsKKyAgICAgICAgICAgIGVtcGhhc2lzTWFya09mZnNldCA9IGZvbnQuZm9u
dE1ldHJpY3MoKS5kZXNjZW50KCkgKyBmb250LmVtcGhhc2lzTWFya0FzY2VudChlbXBoYXNpc01h
cmspOwogICAgIH0KIAogICAgIGlmICghcGFpbnRTZWxlY3RlZFRleHRPbmx5KSB7CkBAIC04MTEs
NyArODExLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oR3JhcAogICAg
IGJvb2wgbGluZXNBcmVPcGFxdWUgPSAhaXNQcmludGluZyAmJiAoIShkZWNvICYgVU5ERVJMSU5F
KSB8fCB1bmRlcmxpbmUuYWxwaGEoKSA9PSAyNTUpICYmICghKGRlY28gJiBPVkVSTElORSkgfHwg
b3ZlcmxpbmUuYWxwaGEoKSA9PSAyNTUpICYmICghKGRlY28gJiBMSU5FX1RIUk9VR0gpIHx8IGxp
bmV0aHJvdWdoLmFscGhhKCkgPT0gMjU1KTsKIAogICAgIFJlbmRlclN0eWxlKiBzdHlsZVRvVXNl
ID0gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpOwotICAgIGludCBiYXNlbGluZSA9IHN0
eWxlVG9Vc2UtPmZvbnQoKS5hc2NlbnQoKTsKKyAgICBpbnQgYmFzZWxpbmUgPSBzdHlsZVRvVXNl
LT5mb250TWV0cmljcygpLmFzY2VudCgpOwogCiAgICAgYm9vbCBzZXRDbGlwID0gZmFsc2U7CiAg
ICAgaW50IGV4dHJhT2Zmc2V0ID0gMDsKQEAgLTk0NCw3ICs5NDQsNyBAQCB2b2lkIElubGluZVRl
eHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tCiAgICAgLy8gU28sIHdlIGdlbmVyYWxseSBwbGFj
ZSB0aGUgdW5kZXJsaW5lIGF0IHRoZSBib3R0b20gb2YgdGhlIHRleHQsIGJ1dCBpbiBsYXJnZXIg
Zm9udHMgdGhhdCdzIG5vdCBzbyBnb29kIHNvCiAgICAgLy8gd2UgcGluIHRvIHR3byBwaXhlbHMg
dW5kZXIgdGhlIGJhc2VsaW5lLgogICAgIGludCBsaW5lVGhpY2tuZXNzID0gY01pc3NwZWxsaW5n
TGluZVRoaWNrbmVzczsKLSAgICBpbnQgYmFzZWxpbmUgPSByZW5kZXJlcigpLT5zdHlsZShtX2Zp
cnN0TGluZSktPmZvbnQoKS5hc2NlbnQoKTsKKyAgICBpbnQgYmFzZWxpbmUgPSByZW5kZXJlcigp
LT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnRNZXRyaWNzKCkuYXNjZW50KCk7CiAgICAgaW50IGRl
c2NlbnQgPSBsb2dpY2FsSGVpZ2h0KCkgLSBiYXNlbGluZTsKICAgICBpbnQgdW5kZXJsaW5lT2Zm
c2V0OwogICAgIGlmIChkZXNjZW50IDw9ICgyICsgbGluZVRoaWNrbmVzcykpIHsKQEAgLTExMDEs
NyArMTEwMSw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvblVuZGUKICAg
ICAvLyBBbGwgb3RoZXIgbWFya2VkIHRleHQgdW5kZXJsaW5lcyBhcmUgMXB4IHRoaWNrLgogICAg
IC8vIElmIHRoZXJlJ3Mgbm90IGVub3VnaCBzcGFjZSB0aGUgdW5kZXJsaW5lIHdpbGwgdG91Y2gg
b3Igb3ZlcmxhcCBjaGFyYWN0ZXJzLgogICAgIGludCBsaW5lVGhpY2tuZXNzID0gMTsKLSAgICBp
bnQgYmFzZWxpbmUgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKS5hc2Nl
bnQoKTsKKyAgICBpbnQgYmFzZWxpbmUgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSkt
PmZvbnRNZXRyaWNzKCkuYXNjZW50KCk7CiAgICAgaWYgKHVuZGVybGluZS50aGljayAmJiBsb2dp
Y2FsSGVpZ2h0KCkgLSBiYXNlbGluZSA+PSAyKQogICAgICAgICBsaW5lVGhpY2tuZXNzID0gMjsK
IApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5NjAs
OCArNDk2MCw4IEBAIGludCBSZW5kZXJCbG9jazo6YmFzZWxpbmVQb3NpdGlvbihGb250QmEKICAg
ICAgICAgcmV0dXJuIFJlbmRlckJveDo6YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZp
cnN0TGluZSwgZGlyZWN0aW9uLCBsaW5lUG9zaXRpb25Nb2RlKTsKICAgICB9CiAKLSAgICBjb25z
dCBGb250JiBmID0gc3R5bGUoZmlyc3RMaW5lKS0+Zm9udCgpOwotICAgIHJldHVybiBmLmFzY2Vu
dChiYXNlbGluZVR5cGUpICsgKGxpbmVIZWlnaHQoZmlyc3RMaW5lLCBkaXJlY3Rpb24sIGxpbmVQ
b3NpdGlvbk1vZGUpIC0gZi5oZWlnaHQoKSkgLyAyOworICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBm
b250TWV0cmljcyA9IHN0eWxlKGZpcnN0TGluZSktPmZvbnRNZXRyaWNzKCk7CisgICAgcmV0dXJu
IGZvbnRNZXRyaWNzLmFzY2VudChiYXNlbGluZVR5cGUpICsgKGxpbmVIZWlnaHQoZmlyc3RMaW5l
LCBkaXJlY3Rpb24sIGxpbmVQb3NpdGlvbk1vZGUpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpIC8g
MjsKIH0KIAogaW50IFJlbmRlckJsb2NrOjpmaXJzdExpbmVCb3hCYXNlbGluZSgpIGNvbnN0CkBA
IC00OTcxLDcgKzQ5NzEsNyBAQCBpbnQgUmVuZGVyQmxvY2s6OmZpcnN0TGluZUJveEJhc2VsaW5l
KCkgCiAKICAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkgewogICAgICAgICBpZiAoZmlyc3RMaW5l
Qm94KCkpCi0gICAgICAgICAgICByZXR1cm4gZmlyc3RMaW5lQm94KCktPmxvZ2ljYWxUb3AoKSAr
IHN0eWxlKHRydWUpLT5mb250KCkuYXNjZW50KGZpcnN0Um9vdEJveCgpLT5iYXNlbGluZVR5cGUo
KSk7CisgICAgICAgICAgICByZXR1cm4gZmlyc3RMaW5lQm94KCktPmxvZ2ljYWxUb3AoKSArIHN0
eWxlKHRydWUpLT5mb250TWV0cmljcygpLmFzY2VudChmaXJzdFJvb3RCb3goKS0+YmFzZWxpbmVU
eXBlKCkpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgfQpAQCAt
NDk5NywxMSArNDk5NywxMyBAQCBpbnQgUmVuZGVyQmxvY2s6Omxhc3RMaW5lQm94QmFzZWxpbmUo
KSBjCiAKICAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkgewogICAgICAgICBpZiAoIWZpcnN0TGlu
ZUJveCgpICYmIGhhc0xpbmVJZkVtcHR5KCkpIHsKLSAgICAgICAgICAgIGNvbnN0IEZvbnQmIGYg
PSBmaXJzdExpbmVTdHlsZSgpLT5mb250KCk7Ci0gICAgICAgICAgICByZXR1cm4gZi5hc2NlbnQo
KSArIChsaW5lSGVpZ2h0KHRydWUsIGxpbmVEaXJlY3Rpb24sIFBvc2l0aW9uT2ZJbnRlcmlvckxp
bmVCb3hlcykgLSBmLmhlaWdodCgpKSAvIDIgKyAobGluZURpcmVjdGlvbiA9PSBIb3Jpem9udGFs
TGluZSA/IGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgpIDogYm9yZGVyUmlnaHQoKSArIHBhZGRp
bmdSaWdodCgpKTsKKyAgICAgICAgICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9
IGZpcnN0TGluZVN0eWxlKCktPmZvbnRNZXRyaWNzKCk7CisgICAgICAgICAgICByZXR1cm4gZm9u
dE1ldHJpY3MuYXNjZW50KCkKKyAgICAgICAgICAgICAgICAgKyAobGluZUhlaWdodCh0cnVlLCBs
aW5lRGlyZWN0aW9uLCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpIC0gZm9udE1ldHJpY3Mu
aGVpZ2h0KCkpIC8gMgorICAgICAgICAgICAgICAgICArIChsaW5lRGlyZWN0aW9uID09IEhvcml6
b250YWxMaW5lID8gYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkgOiBib3JkZXJSaWdodCgpICsg
cGFkZGluZ1JpZ2h0KCkpOwogICAgICAgICB9CiAgICAgICAgIGlmIChsYXN0TGluZUJveCgpKQot
ICAgICAgICAgICAgcmV0dXJuIGxhc3RMaW5lQm94KCktPmxvZ2ljYWxUb3AoKSArIHN0eWxlKGxh
c3RMaW5lQm94KCkgPT0gZmlyc3RMaW5lQm94KCkpLT5mb250KCkuYXNjZW50KGxhc3RSb290Qm94
KCktPmJhc2VsaW5lVHlwZSgpKTsKKyAgICAgICAgICAgIHJldHVybiBsYXN0TGluZUJveCgpLT5s
b2dpY2FsVG9wKCkgKyBzdHlsZShsYXN0TGluZUJveCgpID09IGZpcnN0TGluZUJveCgpKS0+Zm9u
dE1ldHJpY3MoKS5hc2NlbnQobGFzdFJvb3RCb3goKS0+YmFzZWxpbmVUeXBlKCkpOwogICAgICAg
ICByZXR1cm4gLTE7CiAgICAgfSBlbHNlIHsKICAgICAgICAgYm9vbCBoYXZlTm9ybWFsRmxvd0No
aWxkID0gZmFsc2U7CkBAIC01MDE0LDggKzUwMTYsMTAgQEAgaW50IFJlbmRlckJsb2NrOjpsYXN0
TGluZUJveEJhc2VsaW5lKCkgYwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGlm
ICghaGF2ZU5vcm1hbEZsb3dDaGlsZCAmJiBoYXNMaW5lSWZFbXB0eSgpKSB7Ci0gICAgICAgICAg
ICBjb25zdCBGb250JiBmID0gZmlyc3RMaW5lU3R5bGUoKS0+Zm9udCgpOwotICAgICAgICAgICAg
cmV0dXJuIGYuYXNjZW50KCkgKyAobGluZUhlaWdodCh0cnVlLCBsaW5lRGlyZWN0aW9uLCBQb3Np
dGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpIC0gZi5oZWlnaHQoKSkgLyAyICsgKGxpbmVEaXJlY3Rp
b24gPT0gSG9yaXpvbnRhbExpbmUgPyBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKSA6IGJvcmRl
clJpZ2h0KCkgKyBwYWRkaW5nUmlnaHQoKSk7CisgICAgICAgICAgICBjb25zdCBGb250TWV0cmlj
cyYgZm9udE1ldHJpY3MgPSBmaXJzdExpbmVTdHlsZSgpLT5mb250TWV0cmljcygpOworICAgICAg
ICAgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmFzY2VudCgpCisgICAgICAgICAgICAgICAgICsgKGxp
bmVIZWlnaHQodHJ1ZSwgbGluZURpcmVjdGlvbiwgUG9zaXRpb25PZkludGVyaW9yTGluZUJveGVz
KSAtIGZvbnRNZXRyaWNzLmhlaWdodCgpKSAvIDIKKyAgICAgICAgICAgICAgICAgKyAobGluZURp
cmVjdGlvbiA9PSBIb3Jpem9udGFsTGluZSA/IGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgpIDog
Ym9yZGVyUmlnaHQoKSArIHBhZGRpbmdSaWdodCgpKTsKICAgICAgICAgfQogICAgIH0KIApJbmRl
eDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5NjQsNyArMjk2NCw3IEBA
IEludFJlY3QgUmVuZGVyQm94Ojpsb2NhbENhcmV0UmVjdChJbmxpbmUKICAgICAvLyA8cmRhcjov
L3Byb2JsZW0vMzc3NzgwND4gRGVsZXRpbmcgYWxsIGNvbnRlbnQgaW4gYSBkb2N1bWVudCBjYW4g
cmVzdWx0IGluIGdpYW50IHRhbGwtYXMtd2luZG93IGluc2VydGlvbiBwb2ludAogICAgIC8vCiAg
ICAgLy8gRklYTUU6IGlnbm9yaW5nIDpmaXJzdC1saW5lLCBtaXNzaW5nIGdvb2QgcmVhc29uIHRv
IHRha2UgY2FyZSBvZgotICAgIGludCBmb250SGVpZ2h0ID0gc3R5bGUoKS0+Zm9udCgpLmhlaWdo
dCgpOworICAgIGludCBmb250SGVpZ2h0ID0gc3R5bGUoKS0+Zm9udE1ldHJpY3MoKS5oZWlnaHQo
KTsKICAgICBpZiAoZm9udEhlaWdodCA+IHJlY3QuaGVpZ2h0KCkgfHwgKCFpc1JlcGxhY2VkKCkg
JiYgIWlzVGFibGUoKSkpCiAgICAgICAgIHJlY3Quc2V0SGVpZ2h0KGZvbnRIZWlnaHQpOwogCklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwCShyZXZpc2lv
biA3NDY2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTcwLDggKzE3MCw5IEBAIHZvaWQgUmVuZGVyRW1iZWRkZWRPYmpl
Y3Q6OnBhaW50UmVwbGFjZWQKICAgICBjb250ZXh0LT5zZXRGaWxsQ29sb3IobV9taXNzaW5nUGx1
Z2luSW5kaWNhdG9ySXNQcmVzc2VkID8gcmVwbGFjZW1lbnRUZXh0Um91bmRlZFJlY3RQcmVzc2Vk
Q29sb3IoKSA6IENvbG9yOjp3aGl0ZSwgc3R5bGUoKS0+Y29sb3JTcGFjZSgpKTsKICAgICBjb250
ZXh0LT5maWxsUGF0aChwYXRoKTsKIAorICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmlj
cyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKICAgICBmbG9hdCBsYWJlbFggPSByb3VuZGYocmVwbGFj
ZW1lbnRUZXh0UmVjdC5sb2NhdGlvbigpLngoKSArIChyZXBsYWNlbWVudFRleHRSZWN0LnNpemUo
KS53aWR0aCgpIC0gdGV4dFdpZHRoKSAvIDIpOwotICAgIGZsb2F0IGxhYmVsWSA9IHJvdW5kZihy
ZXBsYWNlbWVudFRleHRSZWN0LmxvY2F0aW9uKCkueSgpICsgKHJlcGxhY2VtZW50VGV4dFJlY3Qu
c2l6ZSgpLmhlaWdodCgpIC0gZm9udC5oZWlnaHQoKSkgLyAyICsgZm9udC5hc2NlbnQoKSk7Cisg
ICAgZmxvYXQgbGFiZWxZID0gcm91bmRmKHJlcGxhY2VtZW50VGV4dFJlY3QubG9jYXRpb24oKS55
KCkgKyAocmVwbGFjZW1lbnRUZXh0UmVjdC5zaXplKCkuaGVpZ2h0KCkgLSBmb250TWV0cmljcy5o
ZWlnaHQoKSkgLyAyICsgZm9udE1ldHJpY3MuYXNjZW50KCkpOwogICAgIGNvbnRleHQtPnNldEFs
cGhhKG1fbWlzc2luZ1BsdWdpbkluZGljYXRvcklzUHJlc3NlZCA/IHJlcGxhY2VtZW50VGV4dFBy
ZXNzZWRUZXh0T3BhY2l0eSA6IHJlcGxhY2VtZW50VGV4dFRleHRPcGFjaXR5KTsKICAgICBjb250
ZXh0LT5zZXRGaWxsQ29sb3IoQ29sb3I6OmJsYWNrLCBzdHlsZSgpLT5jb2xvclNwYWNlKCkpOwog
ICAgIGNvbnRleHQtPmRyYXdCaWRpVGV4dChmb250LCBydW4sIEZsb2F0UG9pbnQobGFiZWxYLCBs
YWJlbFkpKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHJldmlzaW9uIDc0NjY1
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTEsNyArMTExLDcgQEAgYm9vbCBSZW5kZXJJbWFnZTo6c2V0SW1hZ2VTaXplRm9yQWx0VGV4
dAogICAgIC8vIHdlIGhhdmUgYW4gYWx0IGFuZCB0aGUgdXNlciBtZWFudCBpdCAoaXRzIG5vdCBh
IHRleHQgd2UgaW52ZW50ZWQpCiAgICAgaWYgKCFtX2FsdFRleHQuaXNFbXB0eSgpKSB7CiAgICAg
ICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHlsZSgpLT5mb250KCk7Ci0gICAgICAgIEludFNpemUg
dGV4dFNpemUobWluKGZvbnQud2lkdGgoVGV4dFJ1bihtX2FsdFRleHQuY2hhcmFjdGVycygpLCBt
X2FsdFRleHQubGVuZ3RoKCkpKSwgbWF4QWx0VGV4dFdpZHRoKSwgbWluKGZvbnQuaGVpZ2h0KCks
IG1heEFsdFRleHRIZWlnaHQpKTsKKyAgICAgICAgSW50U2l6ZSB0ZXh0U2l6ZShtaW4oZm9udC53
aWR0aChUZXh0UnVuKG1fYWx0VGV4dC5jaGFyYWN0ZXJzKCksIG1fYWx0VGV4dC5sZW5ndGgoKSkp
LCBtYXhBbHRUZXh0V2lkdGgpLCBtaW4oZm9udC5mb250TWV0cmljcygpLmhlaWdodCgpLCBtYXhB
bHRUZXh0SGVpZ2h0KSk7CiAgICAgICAgIGltYWdlU2l6ZSA9IGltYWdlU2l6ZS5leHBhbmRlZFRv
KHRleHRTaXplKTsKICAgICB9CiAKQEAgLTI4OCwxNyArMjg4LDE4IEBAIHZvaWQgUmVuZGVySW1h
Z2U6OnBhaW50UmVwbGFjZWQoUGFpbnRJbmYKICAgICAgICAgICAgICAgICBpbnQgYXggPSB0eCAr
IGxlZnRCb3JkZXIgKyBsZWZ0UGFkOwogICAgICAgICAgICAgICAgIGludCBheSA9IHR5ICsgdG9w
Qm9yZGVyICsgdG9wUGFkOwogICAgICAgICAgICAgICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHls
ZSgpLT5mb250KCk7Ci0gICAgICAgICAgICAgICAgaW50IGFzY2VudCA9IGZvbnQuYXNjZW50KCk7
CisgICAgICAgICAgICAgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZm9udC5m
b250TWV0cmljcygpOworICAgICAgICAgICAgICAgIGludCBhc2NlbnQgPSBmb250TWV0cmljcy5h
c2NlbnQoKTsKIAogICAgICAgICAgICAgICAgIC8vIE9ubHkgZHJhdyB0aGUgYWx0IHRleHQgaWYg
aXQnbGwgZml0IHdpdGhpbiB0aGUgY29udGVudCBib3gsCiAgICAgICAgICAgICAgICAgLy8gYW5k
IG9ubHkgaWYgaXQgZml0cyBhYm92ZSB0aGUgZXJyb3IgaW1hZ2UuCiAgICAgICAgICAgICAgICAg
VGV4dFJ1biB0ZXh0UnVuKHRleHQuY2hhcmFjdGVycygpLCB0ZXh0Lmxlbmd0aCgpKTsKICAgICAg
ICAgICAgICAgICBpbnQgdGV4dFdpZHRoID0gZm9udC53aWR0aCh0ZXh0UnVuKTsKICAgICAgICAg
ICAgICAgICBpZiAoZXJyb3JQaWN0dXJlRHJhd24pIHsKLSAgICAgICAgICAgICAgICAgICAgaWYg
KHVzYWJsZVdpZHRoID49IHRleHRXaWR0aCAmJiBmb250LmhlaWdodCgpIDw9IGltYWdlWSkKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPmRyYXdUZXh0KHN0eWxlKCktPmZvbnQoKSwg
dGV4dFJ1biwgSW50UG9pbnQoYXgsIGF5ICsgYXNjZW50KSk7Ci0gICAgICAgICAgICAgICAgfSBl
bHNlIGlmICh1c2FibGVXaWR0aCA+PSB0ZXh0V2lkdGggJiYgY0hlaWdodCA+PSBmb250LmhlaWdo
dCgpKQotICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT5kcmF3VGV4dChzdHlsZSgpLT5mb250
KCksIHRleHRSdW4sIEludFBvaW50KGF4LCBheSArIGFzY2VudCkpOworICAgICAgICAgICAgICAg
ICAgICBpZiAodXNhYmxlV2lkdGggPj0gdGV4dFdpZHRoICYmIGZvbnRNZXRyaWNzLmhlaWdodCgp
IDw9IGltYWdlWSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPmRyYXdUZXh0KGZv
bnQsIHRleHRSdW4sIEludFBvaW50KGF4LCBheSArIGFzY2VudCkpOworICAgICAgICAgICAgICAg
IH0gZWxzZSBpZiAodXNhYmxlV2lkdGggPj0gdGV4dFdpZHRoICYmIGNIZWlnaHQgPj0gZm9udE1l
dHJpY3MuaGVpZ2h0KCkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPmRyYXdUZXh0KGZv
bnQsIHRleHRSdW4sIEludFBvaW50KGF4LCBheSArIGFzY2VudCkpOwogICAgICAgICAgICAgfQog
ICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChtX2ltYWdlUmVzb3VyY2UtPmhhc0ltYWdlKCkgJiYg
Y1dpZHRoID4gMCAmJiBjSGVpZ2h0ID4gMCkgewpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW5saW5lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxp
bmUuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGlu
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkwNCw4ICs5MDQsOCBAQCBpbnQgUmVuZGVySW5saW5l
OjpsaW5lSGVpZ2h0KGJvb2wgZmlyc3RMCiAKIGludCBSZW5kZXJJbmxpbmU6OmJhc2VsaW5lUG9z
aXRpb24oRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSwgYm9vbCBmaXJzdExpbmUsIExpbmVEaXJl
Y3Rpb25Nb2RlIGRpcmVjdGlvbiwgTGluZVBvc2l0aW9uTW9kZSBsaW5lUG9zaXRpb25Nb2RlKSBj
b25zdAogewotICAgIGNvbnN0IEZvbnQmIGYgPSBzdHlsZShmaXJzdExpbmUpLT5mb250KCk7Ci0g
ICAgcmV0dXJuIGYuYXNjZW50KGJhc2VsaW5lVHlwZSkgKyAobGluZUhlaWdodChmaXJzdExpbmUs
IGRpcmVjdGlvbiwgbGluZVBvc2l0aW9uTW9kZSkgLSBmLmhlaWdodCgpKSAvIDI7CisgICAgY29u
c3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gc3R5bGUoZmlyc3RMaW5lKS0+Zm9udE1ldHJp
Y3MoKTsKKyAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlwZSkgKyAobGlu
ZUhlaWdodChmaXJzdExpbmUsIGRpcmVjdGlvbiwgbGluZVBvc2l0aW9uTW9kZSkgLSBmb250TWV0
cmljcy5oZWlnaHQoKSkgLyAyOwogfQogCiBJbnRTaXplIFJlbmRlcklubGluZTo6cmVsYXRpdmVQ
b3NpdGlvbmVkSW5saW5lT2Zmc2V0KGNvbnN0IFJlbmRlckJveCogY2hpbGQpIGNvbnN0CkluZGV4
OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzA2LDcg
KzMwNiw3IEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6cGFpbnRJdGVtRm9yZWdyb3VuZCgKIAogICAg
IC8vIERldGVybWluZSB3aGVyZSB0aGUgaXRlbSB0ZXh0IHNob3VsZCBiZSBwbGFjZWQKICAgICBJ
bnRSZWN0IHIgPSBpdGVtQm91bmRpbmdCb3hSZWN0KHR4LCB0eSwgbGlzdEluZGV4KTsKLSAgICBy
Lm1vdmUob3B0aW9uc1NwYWNpbmdIb3Jpem9udGFsLCBzdHlsZSgpLT5mb250KCkuYXNjZW50KCkp
OworICAgIHIubW92ZShvcHRpb25zU3BhY2luZ0hvcml6b250YWwsIHN0eWxlKCktPmZvbnRNZXRy
aWNzKCkuYXNjZW50KCkpOwogCiAgICAgUmVuZGVyU3R5bGUqIGl0ZW1TdHlsZSA9IGVsZW1lbnQt
PnJlbmRlclN0eWxlKCk7CiAgICAgaWYgKCFpdGVtU3R5bGUpCkBAIC01NTEsNyArNTUxLDcgQEAg
dm9pZCBSZW5kZXJMaXN0Qm94Ojp2YWx1ZUNoYW5nZWQoU2Nyb2xsYgogCiBpbnQgUmVuZGVyTGlz
dEJveDo6aXRlbUhlaWdodCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHN0eWxlKCktPmZvbnQoKS5o
ZWlnaHQoKSArIHJvd1NwYWNpbmc7CisgICAgcmV0dXJuIHN0eWxlKCktPmZvbnRNZXRyaWNzKCku
aGVpZ2h0KCkgKyByb3dTcGFjaW5nOwogfQogCiBpbnQgUmVuZGVyTGlzdEJveDo6dmVydGljYWxT
Y3JvbGxiYXJXaWR0aCgpIGNvbnN0CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0
TWFya2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFy
a2VyLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0
TWFya2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI2NCw3ICsxMjY0LDcgQEAgdm9pZCBSZW5k
ZXJMaXN0TWFya2VyOjpwYWludChQYWludEluZm8mIAogICAgICAgICBjb250ZXh0LT50cmFuc2xh
dGUoLW1hcmtlci54KCksIC1tYXJrZXIuYm90dG9tKCkpOwogICAgIH0KIAotICAgIEludFBvaW50
IHRleHRPcmlnaW4gPSBJbnRQb2ludChtYXJrZXIueCgpLCBtYXJrZXIueSgpICsgc3R5bGUoKS0+
Zm9udCgpLmFzY2VudCgpKTsKKyAgICBJbnRQb2ludCB0ZXh0T3JpZ2luID0gSW50UG9pbnQobWFy
a2VyLngoKSwgbWFya2VyLnkoKSArIHN0eWxlKCktPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwog
CiAgICAgaWYgKHR5cGUgPT0gQXN0ZXJpc2tzIHx8IHR5cGUgPT0gRm9vdG5vdGVzKQogICAgICAg
ICBjb250ZXh0LT5kcmF3VGV4dChzdHlsZSgpLT5mb250KCksIHRleHRSdW4sIHRleHRPcmlnaW4p
OwpAQCAtMTMxMCw3ICsxMzEwLDcgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjpsYXlvdXQoKQog
ICAgICAgICBzZXRIZWlnaHQobV9pbWFnZS0+aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCktPmVmZmVj
dGl2ZVpvb20oKSkuaGVpZ2h0KCkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIHNldExvZ2ljYWxX
aWR0aChtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSk7Ci0gICAgICAgIHNldExvZ2ljYWxIZWln
aHQoc3R5bGUoKS0+Zm9udCgpLmhlaWdodCgpKTsKKyAgICAgICAgc2V0TG9naWNhbEhlaWdodChz
dHlsZSgpLT5mb250TWV0cmljcygpLmhlaWdodCgpKTsKICAgICB9CiAKICAgICBzZXRNYXJnaW5T
dGFydCgwKTsKQEAgLTEzNDUsMTEgKzEzNDUsMTIgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjpj
b21wdXRlUHJlZmVycmVkTAogICAgIG1fdGV4dCA9ICIiOwogCiAgICAgY29uc3QgRm9udCYgZm9u
dCA9IHN0eWxlKCktPmZvbnQoKTsKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3Mg
PSBmb250LmZvbnRNZXRyaWNzKCk7CiAKICAgICBpZiAoaXNJbWFnZSgpKSB7CiAgICAgICAgIC8v
IEZJWE1FOiBUaGlzIGlzIGEgc29tZXdoYXQgYXJiaXRyYXJ5IHdpZHRoLiAgR2VuZXJhdGVkIGlt
YWdlcyBmb3IgbWFya2VycyByZWFsbHkgd29uJ3QgYmVjb21lIHBhcnRpY3VsYXJseSB1c2VmdWwK
ICAgICAgICAgLy8gdW50aWwgd2Ugc3VwcG9ydCB0aGUgQ1NTMyBtYXJrZXIgcHNldWRvY2xhc3Mg
dG8gYWxsb3cgY29udHJvbCBvdmVyIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSBtYXJrZXIg
Ym94LgotICAgICAgICBpbnQgYnVsbGV0V2lkdGggPSBmb250LmFzY2VudCgpIC8gMjsKKyAgICAg
ICAgaW50IGJ1bGxldFdpZHRoID0gZm9udE1ldHJpY3MuYXNjZW50KCkgLyAyOwogICAgICAgICBt
X2ltYWdlLT5zZXRJbWFnZUNvbnRhaW5lclNpemUoSW50U2l6ZShidWxsZXRXaWR0aCwgYnVsbGV0
V2lkdGgpKTsKICAgICAgICAgSW50U2l6ZSBpbWFnZVNpemUgPSBtX2ltYWdlLT5pbWFnZVNpemUo
dGhpcywgc3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKTsKICAgICAgICAgbV9taW5QcmVmZXJyZWRM
b2dpY2FsV2lkdGggPSBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0eWxlKCktPmlzSG9y
aXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBpbWFnZVNpemUud2lkdGgoKSA6IGltYWdlU2l6ZS5oZWln
aHQoKTsKQEAgLTEzNzIsNyArMTM3Myw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6Y29tcHV0
ZVByZWZlcnJlZEwKICAgICAgICAgY2FzZSBEaXNjOgogICAgICAgICBjYXNlIFNxdWFyZToKICAg
ICAgICAgICAgIG1fdGV4dCA9IGxpc3RNYXJrZXJUZXh0KHR5cGUsIDApOyAvLyB2YWx1ZSBpcyBp
Z25vcmVkIGZvciB0aGVzZSB0eXBlcwotICAgICAgICAgICAgbG9naWNhbFdpZHRoID0gKGZvbnQu
YXNjZW50KCkgKiAyIC8gMyArIDEpIC8gMiArIDI7CisgICAgICAgICAgICBsb2dpY2FsV2lkdGgg
PSAoZm9udE1ldHJpY3MuYXNjZW50KCkgKiAyIC8gMyArIDEpIC8gMiArIDI7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBBZmFyOgogICAgICAgICBjYXNlIEFtaGFyaWM6CkBAIC0x
NDcxLDcgKzE0NzIsNyBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OmNvbXB1dGVQcmVmZXJyZWRM
CiAKIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6dXBkYXRlTWFyZ2lucygpCiB7Ci0gICAgY29uc3Qg
Rm9udCYgZm9udCA9IHN0eWxlKCktPmZvbnQoKTsKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9u
dE1ldHJpY3MgPSBzdHlsZSgpLT5mb250TWV0cmljcygpOwogCiAgICAgaW50IG1hcmdpblN0YXJ0
ID0gMDsKICAgICBpbnQgbWFyZ2luRW5kID0gMDsKQEAgLTE0ODQsNyArMTQ4NSw3IEBAIHZvaWQg
UmVuZGVyTGlzdE1hcmtlcjo6dXBkYXRlTWFyZ2lucygpCiAgICAgICAgICAgICBjYXNlIENpcmNs
ZToKICAgICAgICAgICAgIGNhc2UgU3F1YXJlOgogICAgICAgICAgICAgICAgIG1hcmdpblN0YXJ0
ID0gLTE7Ci0gICAgICAgICAgICAgICAgbWFyZ2luRW5kID0gZm9udC5hc2NlbnQoKSAtIG1pblBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCgpICsgMTsKKyAgICAgICAgICAgICAgICBtYXJnaW5FbmQgPSBm
b250TWV0cmljcy5hc2NlbnQoKSAtIG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCgpICsgMTsKICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAg
ICAgYnJlYWs7CkBAIC0xNDk0LDcgKzE0OTUsNyBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnVw
ZGF0ZU1hcmdpbnMoKQogICAgICAgICAgICAgaWYgKGlzSW1hZ2UoKSkKICAgICAgICAgICAgICAg
ICBtYXJnaW5TdGFydCA9IC1taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSAtIGNNYXJrZXJQYWRk
aW5nOwogICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgaW50IG9mZnNldCA9IGZv
bnQuYXNjZW50KCkgKiAyIC8gMzsKKyAgICAgICAgICAgICAgICBpbnQgb2Zmc2V0ID0gZm9udE1l
dHJpY3MuYXNjZW50KCkgKiAyIC8gMzsKICAgICAgICAgICAgICAgICBzd2l0Y2ggKHN0eWxlKCkt
Pmxpc3RTdHlsZVR5cGUoKSkgewogICAgICAgICAgICAgICAgICAgICBjYXNlIERpc2M6CiAgICAg
ICAgICAgICAgICAgICAgIGNhc2UgQ2lyY2xlOgpAQCAtMTUxMiw3ICsxNTEzLDcgQEAgdm9pZCBS
ZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVNYXJnaW5zKCkKICAgICAgICAgICAgIGlmIChpc0ltYWdl
KCkpCiAgICAgICAgICAgICAgICAgbWFyZ2luRW5kID0gY01hcmtlclBhZGRpbmc7CiAgICAgICAg
ICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICBpbnQgb2Zmc2V0ID0gZm9udC5hc2NlbnQoKSAq
IDIgLyAzOworICAgICAgICAgICAgICAgIGludCBvZmZzZXQgPSBmb250TWV0cmljcy5hc2NlbnQo
KSAqIDIgLyAzOwogICAgICAgICAgICAgICAgIHN3aXRjaCAoc3R5bGUoKS0+bGlzdFN0eWxlVHlw
ZSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGNhc2UgRGlzYzoKICAgICAgICAgICAgICAgICAg
ICAgY2FzZSBDaXJjbGU6CkBAIC0xNTgzLDE1ICsxNTg0LDE1IEBAIEludFJlY3QgUmVuZGVyTGlz
dE1hcmtlcjo6Z2V0UmVsYXRpdmVNYXIKICAgICAgICAgY2FzZSBBc3Rlcmlza3M6CiAgICAgICAg
IGNhc2UgRm9vdG5vdGVzOiB7CiAgICAgICAgICAgICBjb25zdCBGb250JiBmb250ID0gc3R5bGUo
KS0+Zm9udCgpOwotICAgICAgICAgICAgcmVsYXRpdmVSZWN0ID0gSW50UmVjdCgwLCAwLCBmb250
LndpZHRoKG1fdGV4dCksIGZvbnQuaGVpZ2h0KCkpOworICAgICAgICAgICAgcmVsYXRpdmVSZWN0
ID0gSW50UmVjdCgwLCAwLCBmb250LndpZHRoKG1fdGV4dCksIGZvbnQuZm9udE1ldHJpY3MoKS5o
ZWlnaHQoKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIERp
c2M6CiAgICAgICAgIGNhc2UgQ2lyY2xlOgogICAgICAgICBjYXNlIFNxdWFyZTogewogICAgICAg
ICAgICAgLy8gRklYTUU6IEFyZSB0aGVzZSBwYXJ0aWN1bGFyIHJvdW5kaW5nIHJ1bGVzIG5lY2Vz
c2FyeT8KLSAgICAgICAgICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHlsZSgpLT5mb250KCk7Ci0g
ICAgICAgICAgICBpbnQgYXNjZW50ID0gZm9udC5hc2NlbnQoKTsKKyAgICAgICAgICAgIGNvbnN0
IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IHN0eWxlKCktPmZvbnRNZXRyaWNzKCk7CisgICAg
ICAgICAgICBpbnQgYXNjZW50ID0gZm9udE1ldHJpY3MuYXNjZW50KCk7CiAgICAgICAgICAgICBp
bnQgYnVsbGV0V2lkdGggPSAoYXNjZW50ICogMiAvIDMgKyAxKSAvIDI7CiAgICAgICAgICAgICBy
ZWxhdGl2ZVJlY3QgPSBJbnRSZWN0KDEsIDMgKiAoYXNjZW50IC0gYXNjZW50ICogMiAvIDMpIC8g
MiwgYnVsbGV0V2lkdGgsIGJ1bGxldFdpZHRoKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTY3
OSw3ICsxNjgwLDcgQEAgSW50UmVjdCBSZW5kZXJMaXN0TWFya2VyOjpnZXRSZWxhdGl2ZU1hcgog
ICAgICAgICAgICAgaW50IGl0ZW1XaWR0aCA9IGZvbnQud2lkdGgobV90ZXh0KTsKICAgICAgICAg
ICAgIFVDaGFyIHN1ZmZpeFNwYWNlWzJdID0geyBsaXN0TWFya2VyU3VmZml4KHR5cGUsIG1fbGlz
dEl0ZW0tPnZhbHVlKCkpLCAnICcgfTsKICAgICAgICAgICAgIGludCBzdWZmaXhTcGFjZVdpZHRo
ID0gZm9udC53aWR0aChUZXh0UnVuKHN1ZmZpeFNwYWNlLCAyKSk7Ci0gICAgICAgICAgICByZWxh
dGl2ZVJlY3QgPSBJbnRSZWN0KDAsIDAsIGl0ZW1XaWR0aCArIHN1ZmZpeFNwYWNlV2lkdGgsIGZv
bnQuaGVpZ2h0KCkpOworICAgICAgICAgICAgcmVsYXRpdmVSZWN0ID0gSW50UmVjdCgwLCAwLCBp
dGVtV2lkdGggKyBzdWZmaXhTcGFjZVdpZHRoLCBmb250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkp
OwogICAgIH0KIAogICAgIGlmICghc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkg
ewpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcAkocmV2aXNpb24g
NzQ2NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTYwNyw3ICs2MDcsNyBAQCB2b2lkIFJlbmRlclRleHRDb250cm9sOjpwYWlu
dFBsYWNlaG9sZGVyCiAgICAgUmVuZGVyQm94KiB0ZXh0UmVuZGVyZXIgPSBpbm5lclRleHRFbGVt
ZW50KCkgPyBpbm5lclRleHRFbGVtZW50KCktPnJlbmRlckJveCgpIDogMDsKICAgICBpZiAodGV4
dFJlbmRlcmVyKSB7CiAgICAgICAgIEludFBvaW50IHRleHRQb2ludDsKLSAgICAgICAgdGV4dFBv
aW50LnNldFkodHkgKyB0ZXh0QmxvY2tJbnNldFRvcCgpICsgcGxhY2Vob2xkZXJTdHlsZS0+Zm9u
dCgpLmFzY2VudCgpKTsKKyAgICAgICAgdGV4dFBvaW50LnNldFkodHkgKyB0ZXh0QmxvY2tJbnNl
dFRvcCgpICsgcGxhY2Vob2xkZXJTdHlsZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAg
ICAgIGlmIChwbGFjZWhvbGRlclN0eWxlLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCiAgICAg
ICAgICAgICB0ZXh0UG9pbnQuc2V0WCh0eCArIHRleHRCbG9ja0luc2V0TGVmdCgpKTsKICAgICAg
ICAgZWxzZQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVM
aW5lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJv
bFNpbmdsZUxpbmUuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcyMyw3ICs3
MjMsNyBAQCBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBSZW5kZXJUZXh0Q29udHJvCiAgICAgdGV4
dEJsb2NrU3R5bGUtPnNldE92ZXJmbG93WShPSElEREVOKTsKIAogICAgIC8vIERvIG5vdCBhbGxv
dyBsaW5lLWhlaWdodCB0byBiZSBzbWFsbGVyIHRoYW4gb3VyIGRlZmF1bHQuCi0gICAgaWYgKHRl
eHRCbG9ja1N0eWxlLT5mb250KCkubGluZVNwYWNpbmcoKSA+IGxpbmVIZWlnaHQodHJ1ZSwgSG9y
aXpvbnRhbExpbmUsIFBvc2l0aW9uT2ZJbnRlcmlvckxpbmVCb3hlcykpCisgICAgaWYgKHRleHRC
bG9ja1N0eWxlLT5mb250TWV0cmljcygpLmxpbmVTcGFjaW5nKCkgPiBsaW5lSGVpZ2h0KHRydWUs
IEhvcml6b250YWxMaW5lLCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpKQogICAgICAgICB0
ZXh0QmxvY2tTdHlsZS0+c2V0TGluZUhlaWdodChMZW5ndGgoLTEwMC4wZiwgUGVyY2VudCkpOwog
CiAgICAgV2ViQ29yZTo6RURpc3BsYXkgZGlzcGxheSA9IChtX2lubmVyQmxvY2sgfHwgaW5wdXRF
bGVtZW50KCktPmhhc1NwaW5CdXR0b24oKSA/IElOTElORV9CTE9DSyA6IEJMT0NLKTsKSW5kZXg6
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Njks
NyArNzY5LDcgQEAgdm9pZCBSZW5kZXJUaGVtZVdpbjo6YWRqdXN0TWVudUxpc3RCdXR0bwogICAg
IHN0eWxlLT5zZXRIZWlnaHQoTGVuZ3RoKEF1dG8pKTsKIAogICAgIC8vIENhbGN1bGF0ZSBvdXIg
bWluLWhlaWdodAotICAgIGludCBtaW5IZWlnaHQgPSBzdHlsZS0+Zm9udCgpLmhlaWdodCgpOwor
ICAgIGludCBtaW5IZWlnaHQgPSBzdHlsZS0+Zm9udE1ldHJpY3MoKS5oZWlnaHQoKTsKICAgICBt
aW5IZWlnaHQgPSBtYXgobWluSGVpZ2h0LCBkcm9wRG93bkJveE1pbkhlaWdodCk7CiAKICAgICBz
dHlsZS0+c2V0TWluSGVpZ2h0KExlbmd0aChtaW5IZWlnaHQsIEZpeGVkKSk7CkluZGV4OiBXZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDY3LDYg
KzQ2Nyw3IEBAIHB1YmxpYzoKICAgICBFVGFibGVMYXlvdXQgdGFibGVMYXlvdXQoKSBjb25zdCB7
IHJldHVybiBzdGF0aWNfY2FzdDxFVGFibGVMYXlvdXQ+KG5vbmluaGVyaXRlZF9mbGFncy5fdGFi
bGVfbGF5b3V0KTsgfQogCiAgICAgY29uc3QgRm9udCYgZm9udCgpIGNvbnN0IHsgcmV0dXJuIGlu
aGVyaXRlZC0+Zm9udDsgfQorICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcygpIGNv
bnN0IHsgcmV0dXJuIGluaGVyaXRlZC0+Zm9udC5mb250TWV0cmljcygpOyB9CiAgICAgY29uc3Qg
Rm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24oKSBjb25zdCB7IHJldHVybiBpbmhlcml0
ZWQtPmZvbnQuZm9udERlc2NyaXB0aW9uKCk7IH0KICAgICBpbnQgZm9udFNpemUoKSBjb25zdCB7
IHJldHVybiBpbmhlcml0ZWQtPmZvbnQucGl4ZWxTaXplKCk7IH0KIApAQCAtNDkxLDcgKzQ5Miw3
IEBAIHB1YmxpYzoKIAogICAgICAgICAvLyBOZWdhdGl2ZSB2YWx1ZSBtZWFucyB0aGUgbGluZSBo
ZWlnaHQgaXMgbm90IHNldC4gIFVzZSB0aGUgZm9udCdzIGJ1aWx0LWluIHNwYWNpbmcuCiAgICAg
ICAgIGlmIChsaC5pc05lZ2F0aXZlKCkpCi0gICAgICAgICAgICByZXR1cm4gZm9udCgpLmxpbmVT
cGFjaW5nKCk7CisgICAgICAgICAgICByZXR1cm4gZm9udE1ldHJpY3MoKS5saW5lU3BhY2luZygp
OwogCiAgICAgICAgIGlmIChsaC5pc1BlcmNlbnQoKSkKICAgICAgICAgICAgIHJldHVybiBsaC5j
YWxjTWluVmFsdWUoZm9udFNpemUoKSk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHSW5saW5lVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR0lubGluZVRleHQuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ2
LDcgKzE0Niw3IEBAIFZpc2libGVQb3NpdGlvbiBSZW5kZXJTVkdJbmxpbmVUZXh0Ojpwb3MKIAog
ICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IHRoaXMtPnN0eWxlKCk7CiAgICAgQVNTRVJUKHN0eWxl
KTsKLSAgICBpbnQgYmFzZWxpbmUgPSBzdHlsZS0+Zm9udCgpLmFzY2VudCgpOworICAgIGludCBi
YXNlbGluZSA9IHN0eWxlLT5mb250TWV0cmljcygpLmFzY2VudCgpOwogCiAgICAgUmVuZGVyQmxv
Y2sqIGNvbnRhaW5pbmdCbG9jayA9IHRoaXMtPmNvbnRhaW5pbmdCbG9jaygpOwogICAgIEFTU0VS
VChjb250YWluaW5nQmxvY2spOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGlu
ZVRleHRCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxp
bmVUZXh0Qm94LmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHSW5saW5lVGV4dEJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg0LDcgKzg0LDcgQEAgRmxv
YXRSZWN0IFNWR0lubGluZVRleHRCb3g6OnNlbGVjdGlvblJlYwogICAgIEFTU0VSVChzdGFydFBv
c2l0aW9uIDwgZW5kUG9zaXRpb24pOwogCiAgICAgY29uc3QgRm9udCYgZm9udCA9IHN0eWxlLT5m
b250KCk7Ci0gICAgRmxvYXRQb2ludCB0ZXh0T3JpZ2luKGZyYWdtZW50LngsIGZyYWdtZW50Lnkg
LSBmb250LmFzY2VudCgpKTsKKyAgICBGbG9hdFBvaW50IHRleHRPcmlnaW4oZnJhZ21lbnQueCwg
ZnJhZ21lbnQueSAtIGZvbnQuZm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAgcmV0dXJuIGZv
bnQuc2VsZWN0aW9uUmVjdEZvclRleHQoY29uc3RydWN0VGV4dFJ1bihzdHlsZSwgZnJhZ21lbnQp
LCB0ZXh0T3JpZ2luLCBmcmFnbWVudC5oZWlnaHQsIHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9u
KTsKIH0KIApAQCAtNDA5LDE2ICs0MDksMTYgQEAgYm9vbCBTVkdJbmxpbmVUZXh0Qm94OjptYXBT
dGFydEVuZFBvc2l0aQogICAgIHJldHVybiB0cnVlOwogfQogCi1zdGF0aWMgaW5saW5lIGZsb2F0
IHBvc2l0aW9uT2Zmc2V0Rm9yRGVjb3JhdGlvbihFVGV4dERlY29yYXRpb24gZGVjb3JhdGlvbiwg
Y29uc3QgRm9udCYgZm9udCwgZmxvYXQgdGhpY2tuZXNzKQorc3RhdGljIGlubGluZSBmbG9hdCBw
b3NpdGlvbk9mZnNldEZvckRlY29yYXRpb24oRVRleHREZWNvcmF0aW9uIGRlY29yYXRpb24sIGNv
bnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcywgZmxvYXQgdGhpY2tuZXNzKQogewogICAgIC8v
IEZJWE1FOiBGb3IgU1ZHIEZvbnRzIHdlIG5lZWQgdG8gdXNlIHRoZSBhdHRyaWJ1dGVzIGRlZmlu
ZWQgaW4gdGhlIDxmb250LWZhY2U+IGlmIHNwZWNpZmllZC4KICAgICAvLyBDb21wYXRpYmxlIHdp
dGggQmF0aWsvT3BlcmEuCiAgICAgaWYgKGRlY29yYXRpb24gPT0gVU5ERVJMSU5FKQotICAgICAg
ICByZXR1cm4gZm9udC5hc2NlbnQoKSArIHRoaWNrbmVzcyAqIDEuNWY7CisgICAgICAgIHJldHVy
biBmb250TWV0cmljcy5hc2NlbnQoKSArIHRoaWNrbmVzcyAqIDEuNWY7CiAgICAgaWYgKGRlY29y
YXRpb24gPT0gT1ZFUkxJTkUpCiAgICAgICAgIHJldHVybiB0aGlja25lc3M7CiAgICAgaWYgKGRl
Y29yYXRpb24gPT0gTElORV9USFJPVUdIKQotICAgICAgICByZXR1cm4gZm9udC5hc2NlbnQoKSAq
IDUuMGYgLyA4LjBmOworICAgICAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KCkgKiA1LjBm
IC8gOC4wZjsKIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiAwLjBmOwpA
QCAtNDg3LDYgKzQ4Nyw3IEBAIHZvaWQgU1ZHSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9u
V2kKICAgICBBU1NFUlQoZGVjb3JhdGlvblN0eWxlKTsKIAogICAgIGNvbnN0IEZvbnQmIGZvbnQg
PSBkZWNvcmF0aW9uU3R5bGUtPmZvbnQoKTsKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1l
dHJpY3MgPSBmb250LmZvbnRNZXRyaWNzKCk7CiAKICAgICAvLyBUaGUgaW5pdGlhbCB5IHZhbHVl
IHJlZmVycyB0byBvdmVybGluZSBwb3NpdGlvbi4KICAgICBmbG9hdCB0aGlja25lc3MgPSB0aGlj
a25lc3NGb3JEZWNvcmF0aW9uKGRlY29yYXRpb24sIGZvbnQpOwpAQCAtNDk0LDcgKzQ5NSw3IEBA
IHZvaWQgU1ZHSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uV2kKICAgICBpZiAoZnJhZ21l
bnQud2lkdGggPD0gMCAmJiB0aGlja25lc3MgPD0gMCkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
ZmxvYXQgeSA9IGZyYWdtZW50LnkgLSBmb250LmFzY2VudCgpICsgcG9zaXRpb25PZmZzZXRGb3JE
ZWNvcmF0aW9uKGRlY29yYXRpb24sIGZvbnQsIHRoaWNrbmVzcyk7CisgICAgZmxvYXQgeSA9IGZy
YWdtZW50LnkgLSBmb250TWV0cmljcy5hc2NlbnQoKSArIHBvc2l0aW9uT2Zmc2V0Rm9yRGVjb3Jh
dGlvbihkZWNvcmF0aW9uLCBmb250TWV0cmljcywgdGhpY2tuZXNzKTsKIAogICAgIFBhdGggcGF0
aDsKICAgICBwYXRoLmFkZFJlY3QoRmxvYXRSZWN0KGZyYWdtZW50LngsIHksIGZyYWdtZW50Lndp
ZHRoLCB0aGlja25lc3MpKTsKQEAgLTUxMyw3ICs1MTQsNyBAQCB2b2lkIFNWR0lubGluZVRleHRC
b3g6OnBhaW50VGV4dFdpdGhTaGFkCiAgICAgY29uc3QgU2hhZG93RGF0YSogc2hhZG93ID0gc3R5
bGUtPnRleHRTaGFkb3coKTsKIAogICAgIEZsb2F0UG9pbnQgdGV4dE9yaWdpbihmcmFnbWVudC54
LCBmcmFnbWVudC55KTsKLSAgICBGbG9hdFJlY3Qgc2hhZG93UmVjdChGbG9hdFBvaW50KHRleHRP
cmlnaW4ueCgpLCB0ZXh0T3JpZ2luLnkoKSAtIGZvbnQuYXNjZW50KCkpLCBGbG9hdFNpemUoZnJh
Z21lbnQud2lkdGgsIGZyYWdtZW50LmhlaWdodCkpOworICAgIEZsb2F0UmVjdCBzaGFkb3dSZWN0
KEZsb2F0UG9pbnQodGV4dE9yaWdpbi54KCksIHRleHRPcmlnaW4ueSgpIC0gZm9udC5mb250TWV0
cmljcygpLmFzY2VudCgpKSwgRmxvYXRTaXplKGZyYWdtZW50LndpZHRoLCBmcmFnbWVudC5oZWln
aHQpKTsKIAogICAgIGRvIHsKICAgICAgICAgaWYgKCFwcmVwYXJlR3JhcGhpY3NDb250ZXh0Rm9y
VGV4dFBhaW50aW5nKGNvbnRleHQsIHRleHRSdW4sIHN0eWxlKSkKQEAgLTU4Nyw3ICs1ODgsNyBA
QCBJbnRSZWN0IFNWR0lubGluZVRleHRCb3g6OmNhbGN1bGF0ZUJvdW5kCiAgICAgQVNTRVJUKHN0
eWxlKTsKIAogICAgIGludCBiYXNlbGluZSA9IGJhc2VsaW5lUG9zaXRpb24oQWxwaGFiZXRpY0Jh
c2VsaW5lKTsKLSAgICBpbnQgaGVpZ2h0RGlmZmVyZW5jZSA9IGJhc2VsaW5lIC0gc3R5bGUtPmZv
bnQoKS5hc2NlbnQoKTsKKyAgICBpbnQgaGVpZ2h0RGlmZmVyZW5jZSA9IGJhc2VsaW5lIC0gc3R5
bGUtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCk7CiAKICAgICB1bnNpZ25lZCB0ZXh0RnJhZ21lbnRz
U2l6ZSA9IG1fdGV4dEZyYWdtZW50cy5zaXplKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IHRleHRGcmFnbWVudHNTaXplOyArK2kpIHsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuY3BwCShyZXZpc2lvbiA3
NDY2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxp
bmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw5ICs0OSw5IEBAIGZsb2F0IFNWR1RleHRMYXlv
dXRFbmdpbmVCYXNlbGluZTo6Y2FsY3UKICAgICBjYXNlIEJTX0JBU0VMSU5FOgogICAgICAgICBy
ZXR1cm4gMDsKICAgICBjYXNlIEJTX1NVQjoKLSAgICAgICAgcmV0dXJuIC1tX2ZvbnQuaGVpZ2h0
KCkgLyAyOworICAgICAgICByZXR1cm4gLW1fZm9udC5mb250TWV0cmljcygpLmhlaWdodCgpIC8g
MjsKICAgICBjYXNlIEJTX1NVUEVSOgotICAgICAgICByZXR1cm4gbV9mb250LmhlaWdodCgpIC8g
MjsKKyAgICAgICAgcmV0dXJuIG1fZm9udC5mb250TWV0cmljcygpLmhlaWdodCgpIC8gMjsKICAg
ICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJu
IDA7CkBAIC0xMjIsMjcgKzEyMiwyOSBAQCBmbG9hdCBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxp
bmU6OmNhbGN1CiAgICAgICAgIEFTU0VSVChiYXNlbGluZSAhPSBBQl9BVVRPKTsKICAgICB9CiAK
KyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBtX2ZvbnQuZm9udE1ldHJpY3Mo
KTsKKwogICAgIC8vIE5vdGU6IGh0dHA6Ly93aWtpLmFwYWNoZS5vcmcveG1sZ3JhcGhpY3MtZm9w
L0xpbmVMYXlvdXQvQWxpZ25tZW50SGFuZGxpbmcKICAgICBzd2l0Y2ggKGJhc2VsaW5lKSB7CiAg
ICAgY2FzZSBBQl9CQVNFTElORToKICAgICAgICAgcmV0dXJuIGRvbWluYW50QmFzZWxpbmVUb0Fs
aWdubWVudEJhc2VsaW5lKGlzVmVydGljYWxUZXh0LCB0ZXh0UmVuZGVyZXJQYXJlbnQpOwogICAg
IGNhc2UgQUJfQkVGT1JFX0VER0U6CiAgICAgY2FzZSBBQl9URVhUX0JFRk9SRV9FREdFOgotICAg
ICAgICByZXR1cm4gbV9mb250LmFzY2VudCgpOworICAgICAgICByZXR1cm4gZm9udE1ldHJpY3Mu
YXNjZW50KCk7CiAgICAgY2FzZSBBQl9NSURETEU6Ci0gICAgICAgIHJldHVybiBtX2ZvbnQueEhl
aWdodCgpIC8gMjsKKyAgICAgICAgcmV0dXJuIGZvbnRNZXRyaWNzLnhIZWlnaHQoKSAvIDI7CiAg
ICAgY2FzZSBBQl9DRU5UUkFMOgotICAgICAgICByZXR1cm4gKG1fZm9udC5hc2NlbnQoKSAtIG1f
Zm9udC5kZXNjZW50KCkpIC8gMjsKKyAgICAgICAgcmV0dXJuIChmb250TWV0cmljcy5hc2NlbnQo
KSAtIGZvbnRNZXRyaWNzLmRlc2NlbnQoKSkgLyAyOwogICAgIGNhc2UgQUJfQUZURVJfRURHRToK
ICAgICBjYXNlIEFCX1RFWFRfQUZURVJfRURHRToKICAgICBjYXNlIEFCX0lERU9HUkFQSElDOgot
ICAgICAgICByZXR1cm4gbV9mb250LmRlc2NlbnQoKTsKKyAgICAgICAgcmV0dXJuIGZvbnRNZXRy
aWNzLmRlc2NlbnQoKTsKICAgICBjYXNlIEFCX0FMUEhBQkVUSUM6CiAgICAgICAgIHJldHVybiAw
OwogICAgIGNhc2UgQUJfSEFOR0lORzoKLSAgICAgICAgcmV0dXJuIG1fZm9udC5hc2NlbnQoKSAq
IDggLyAxMC5mOworICAgICAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KCkgKiA4IC8gMTAu
ZjsKICAgICBjYXNlIEFCX01BVEhFTUFUSUNBTDoKLSAgICAgICAgcmV0dXJuIG1fZm9udC5hc2Nl
bnQoKSAvIDI7CisgICAgICAgIHJldHVybiBmb250TWV0cmljcy5hc2NlbnQoKSAvIDI7CiAgICAg
ZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiAw
OwpAQCAtMTkzLDEyICsxOTUsMTQgQEAgZmxvYXQgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5l
OjpjYWxjdQogICAgIC8vIFNwZWM6IElmIGlmIHRoZSAnZ2x5cGgtb3JpZW50YXRpb24tdmVydGlj
YWwnIHJlc3VsdHMgaW4gYW4gb3JpZW50YXRpb24gYW5nbGUgdGhhdCBpcyBub3QgYSBtdWx0aXBs
ZSBvZgogICAgIC8vIDE4MCBkZWdyZWVzLCB0aGVuIHRoZSBjdXJyZW50IHRleHQgcG9zaXRpb24g
aXMgaW5jcmVtZW50ZWQgYWNjb3JkaW5nIHRvIHRoZSBob3Jpem9udGFsIG1ldHJpY3Mgb2YgdGhl
IGdseXBoLgogCisgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gbV9mb250LmZv
bnRNZXRyaWNzKCk7CisKICAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBoYW5kbGluZy4KICAg
ICBpZiAoaXNWZXJ0aWNhbFRleHQpIHsKLSAgICAgICAgZmxvYXQgYXNjZW50TWludXNEZXNjZW50
ID0gbV9mb250LmFzY2VudCgpIC0gbV9mb250LmRlc2NlbnQoKTsKKyAgICAgICAgZmxvYXQgYXNj
ZW50TWludXNEZXNjZW50ID0gZm9udE1ldHJpY3MuYXNjZW50KCkgLSBmb250TWV0cmljcy5kZXNj
ZW50KCk7CiAgICAgICAgIGlmICghYW5nbGUpIHsKICAgICAgICAgICAgIHhPcmllbnRhdGlvblNo
aWZ0ID0gKGFzY2VudE1pbnVzRGVzY2VudCAtIG1ldHJpY3Mud2lkdGgoKSkgLyAyOwotICAgICAg
ICAgICAgeU9yaWVudGF0aW9uU2hpZnQgPSBtX2ZvbnQuYXNjZW50KCk7CisgICAgICAgICAgICB5
T3JpZW50YXRpb25TaGlmdCA9IGZvbnRNZXRyaWNzLmFzY2VudCgpOwogICAgICAgICB9IGVsc2Ug
aWYgKGFuZ2xlID09IDE4MCkKICAgICAgICAgICAgIHhPcmllbnRhdGlvblNoaWZ0ID0gKGFzY2Vu
dE1pbnVzRGVzY2VudCArIG1ldHJpY3Mud2lkdGgoKSkgLyAyOwogICAgICAgICBlbHNlIGlmIChh
bmdsZSA9PSAyNzApIHsKQEAgLTIxOCw3ICsyMjIsNyBAQCBmbG9hdCBTVkdUZXh0TGF5b3V0RW5n
aW5lQmFzZWxpbmU6OmNhbGN1CiAgICAgICAgIHlPcmllbnRhdGlvblNoaWZ0ID0gLW1ldHJpY3Mu
d2lkdGgoKTsKICAgICBlbHNlIGlmIChhbmdsZSA9PSAxODApIHsKICAgICAgICAgeE9yaWVudGF0
aW9uU2hpZnQgPSBtZXRyaWNzLndpZHRoKCk7Ci0gICAgICAgIHlPcmllbnRhdGlvblNoaWZ0ID0g
LW1fZm9udC5hc2NlbnQoKTsKKyAgICAgICAgeU9yaWVudGF0aW9uU2hpZnQgPSAtZm9udE1ldHJp
Y3MuYXNjZW50KCk7CiAgICAgfSBlbHNlIGlmIChhbmdsZSA9PSAyNzApCiAgICAgICAgIHhPcmll
bnRhdGlvblNoaWZ0ID0gbWV0cmljcy53aWR0aCgpOwogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZy5jcHAJKHJldmlzaW9u
IDc0NjY1KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFj
aW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgsNyArNTgsNyBAQCBmbG9hdCBTVkdUZXh0TGF5
b3V0RW5naW5lU3BhY2luZzo6Y2FsY3VsCiAKICAgICBtX2xhc3RHbHlwaCA9IGN1cnJlbnRHbHlw
aDsKICAgICBtX2xhc3RHbHlwaC5pc1ZhbGlkID0gdHJ1ZTsKLSAgICBrZXJuaW5nICo9IG1fZm9u
dC5zaXplKCkgLyBtX2ZvbnQucHJpbWFyeUZvbnQoKS0+dW5pdHNQZXJFbSgpOworICAgIGtlcm5p
bmcgKj0gbV9mb250LnNpemUoKSAvIG1fZm9udC5mb250TWV0cmljcygpLnVuaXRzUGVyRW0oKTsK
ICAgICByZXR1cm4ga2VybmluZzsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGlzVmVydGljYWxU
ZXh0KTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TWV0cmljcy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzLmNwcAkocmV2
aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJpY3MuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw3IEBAIFNWR1RleHRNZXRyaWNzOjpTVkdUZXh0
TWV0cmljcyhjb25zdCBGb24KICAgICBpbnQgbGVuZ3RoID0gMDsKIAogICAgIG1fd2lkdGggPSBm
b250LmZsb2F0V2lkdGgocnVuLCBleHRyYUNoYXJzQXZhaWxhYmxlLCBsZW5ndGgsIG1fZ2x5cGgu
bmFtZSk7Ci0gICAgbV9oZWlnaHQgPSBmb250LmhlaWdodCgpOworICAgIG1faGVpZ2h0ID0gZm9u
dC5mb250TWV0cmljcygpLmhlaWdodCgpOwogICAgIG1fZ2x5cGgudW5pY29kZVN0cmluZyA9IFN0
cmluZyhydW4uY2hhcmFjdGVycygpLCBsZW5ndGgpOwogICAgIG1fZ2x5cGguaXNWYWxpZCA9IHRy
dWU7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0UXVlcnkuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0UXVlcnkuY3BwCShyZXZpc2lv
biA3NDY2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0UXVlcnkuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NzIsNyArNDcyLDcgQEAgc3RydWN0IEV4dGVudE9mQ2hhcmFjdGVyRGF0
YSA6IFNWR1RleHRRdQogCiBzdGF0aWMgaW5saW5lIHZvaWQgY2FsY3VsYXRlR2x5cGhCb3VuZGFy
aWVzKFNWR1RleHRRdWVyeTo6RGF0YSogcXVlcnlEYXRhLCBjb25zdCBTVkdUZXh0RnJhZ21lbnQm
IGZyYWdtZW50LCBpbnQgc3RhcnRQb3NpdGlvbiwgRmxvYXRSZWN0JiBleHRlbnQpCiB7Ci0gICAg
ZXh0ZW50LnNldExvY2F0aW9uKEZsb2F0UG9pbnQoZnJhZ21lbnQueCwgZnJhZ21lbnQueSAtIHF1
ZXJ5RGF0YS0+dGV4dFJlbmRlcmVyLT5zdHlsZSgpLT5mb250KCkuYXNjZW50KCkpKTsKKyAgICBl
eHRlbnQuc2V0TG9jYXRpb24oRmxvYXRQb2ludChmcmFnbWVudC54LCBmcmFnbWVudC55IC0gcXVl
cnlEYXRhLT50ZXh0UmVuZGVyZXItPnN0eWxlKCktPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpKTsK
IAogICAgIGlmIChzdGFydFBvc2l0aW9uKSB7CiAgICAgICAgIFNWR1RleHRNZXRyaWNzIG1ldHJp
Y3MgPSBTVkdUZXh0TWV0cmljczo6bWVhc3VyZUNoYXJhY3RlclJhbmdlKHF1ZXJ5RGF0YS0+dGV4
dFJlbmRlcmVyLCBmcmFnbWVudC5wb3NpdGlvbkxpc3RPZmZzZXQsIHN0YXJ0UG9zaXRpb24pOwpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1lbnQuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdl
YkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNSw3
ICsxMjUsNyBAQCB1bnNpZ25lZCBTVkdGb250RmFjZUVsZW1lbnQ6OnVuaXRzUGVyRW0oCiB7CiAg
ICAgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSA9IGdldEF0dHJpYnV0ZSh1bml0c19wZXJfZW1B
dHRyKTsKICAgICBpZiAodmFsdWUuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gZGVmYXVsdFVu
aXRzUGVyRW07CisgICAgICAgIHJldHVybiBnRGVmYXVsdFVuaXRzUGVyRW07CiAKICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNlaWxmKHZhbHVlLnRvRmxvYXQoKSkpOwogfQpJbmRl
eDogV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9T
VkdMZW5ndGguY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvc3ZnL1NWR0xlbmd0aC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0NCw3ICs0NDQsNyBAQCBmbG9hdCBTVkdMZW5ndGg6OmNv
bnZlcnRWYWx1ZUZyb21Vc2VyVW5pCiAKICAgICAvLyBVc2Ugb2YgY2VpbCBhbGxvd3MgYSBwaXhl
bCBtYXRjaCB0byB0aGUgVzNDcyBleHBlY3RlZCBvdXRwdXQgb2YgY29vcmRzLXVuaXRzLTAzLWIu
c3ZnCiAgICAgLy8gaWYgdGhpcyBjYXVzZXMgcHJvYmxlbXMgaW4gcmVhbCB3b3JsZCBjYXNlcyBt
YXliZSBpdCB3b3VsZCBiZSBiZXN0IHRvIHJlbW92ZSB0aGlzCi0gICAgZmxvYXQgeEhlaWdodCA9
IGNlaWxmKHN0eWxlLT5mb250KCkueEhlaWdodCgpKTsKKyAgICBmbG9hdCB4SGVpZ2h0ID0gY2Vp
bGYoc3R5bGUtPmZvbnRNZXRyaWNzKCkueEhlaWdodCgpKTsKICAgICBpZiAoIXhIZWlnaHQpIHsK
ICAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKICAgICAgICAgcmV0dXJuIDA7CkBAIC00
NjMsNyArNDYzLDcgQEAgZmxvYXQgU1ZHTGVuZ3RoOjpjb252ZXJ0VmFsdWVGcm9tRVhTVG9Vcwog
ICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IGNvbnRleHQtPnJlbmRlcmVyKCktPnN0eWxlKCk7CiAg
ICAgLy8gVXNlIG9mIGNlaWwgYWxsb3dzIGEgcGl4ZWwgbWF0Y2ggdG8gdGhlIFczQ3MgZXhwZWN0
ZWQgb3V0cHV0IG9mIGNvb3Jkcy11bml0cy0wMy1iLnN2ZwogICAgIC8vIGlmIHRoaXMgY2F1c2Vz
IHByb2JsZW1zIGluIHJlYWwgd29ybGQgY2FzZXMgbWF5YmUgaXQgd291bGQgYmUgYmVzdCB0byBy
ZW1vdmUgdGhpcwotICAgIHJldHVybiB2YWx1ZSAqIGNlaWxmKHN0eWxlLT5mb250KCkueEhlaWdo
dCgpKTsKKyAgICByZXR1cm4gdmFsdWUgKiBjZWlsZihzdHlsZS0+Zm9udE1ldHJpY3MoKS54SGVp
Z2h0KCkpOwogfQogCiBTVkdMZW5ndGggU1ZHTGVuZ3RoOjpmcm9tQ1NTUHJpbWl0aXZlVmFsdWUo
Q1NTUHJpbWl0aXZlVmFsdWUqIHZhbHVlKQpJbmRleDogV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA3NDY2
NSkKKysrIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxOSBAQAorMjAxMC0xMi0yMyAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5Acmlt
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
bnRyb2R1Y2UgRm9udE1ldHJpY3MgYWJzdHJhY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxNDU2CisKKyAgICAgICAgKiBzcmMvRXh0ZXJuYWxQ
b3B1cE1lbnUuY3BwOiBVc2UgRm9udE1ldHJpY3MgaW5zdGVhZCBvZiBGb250IHRvIGFjY2VzcyB0
aGUgbWV0cmljcy4KKyAgICAgICAgKFdlYktpdDo6RXh0ZXJuYWxQb3B1cE1lbnU6OmdldFBvcHVw
TWVudUluZm8pOgorICAgICAgICAqIHNyYy9XZWJGb250SW1wbC5jcHA6IERpdHRvLgorICAgICAg
ICAoV2ViS2l0OjpXZWJGb250SW1wbDo6YXNjZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViRm9u
dEltcGw6OmRlc2NlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJGb250SW1wbDo6aGVpZ2h0KToK
KyAgICAgICAgKFdlYktpdDo6V2ViRm9udEltcGw6OmxpbmVTcGFjaW5nKToKKyAgICAgICAgKFdl
YktpdDo6V2ViRm9udEltcGw6OnhIZWlnaHQpOgorCiAyMDEwLTEyLTIzICBTaGVyaWZmIEJvdCAg
PHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByNzQ1NjEuCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL0V4dGVybmFsUG9wdXBN
ZW51LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL0V4dGVybmFsUG9wdXBN
ZW51LmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL0V4dGVybmFs
UG9wdXBNZW51LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQyLDcgKzE0Miw3IEBAIHZvaWQgRXh0
ZXJuYWxQb3B1cE1lbnU6OmdldFBvcHVwTWVudUluZm8KICAgICAgICAgcG9wdXBJdGVtLmVuYWJs
ZWQgPSBtX3BvcHVwTWVudUNsaWVudC0+aXRlbUlzRW5hYmxlZChpKTsKICAgICB9CiAKLSAgICBp
bmZvLT5pdGVtSGVpZ2h0ID0gbV9wb3B1cE1lbnVDbGllbnQtPm1lbnVTdHlsZSgpLmZvbnQoKS5o
ZWlnaHQoKTsKKyAgICBpbmZvLT5pdGVtSGVpZ2h0ID0gbV9wb3B1cE1lbnVDbGllbnQtPm1lbnVT
dHlsZSgpLmZvbnQoKS5mb250TWV0cmljcygpLmhlaWdodCgpOwogICAgIGluZm8tPml0ZW1Gb250
U2l6ZSA9CiAgICAgICAgIHN0YXRpY19jYXN0PGludD4obV9wb3B1cE1lbnVDbGllbnQtPm1lbnVT
dHlsZSgpLmZvbnQoKS5zaXplKCkpOwogICAgIGluZm8tPnNlbGVjdGVkSW5kZXggPSBtX3BvcHVw
TWVudUNsaWVudC0+c2VsZWN0ZWRJbmRleCgpOwpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJGb250SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGb250
SW1wbC5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGb250
SW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDI3ICs2MywyNyBAQCBXZWJGb250RGVzY3Jp
cHRpb24gV2ViRm9udEltcGw6OmZvbnREZXNjCiAKIGludCBXZWJGb250SW1wbDo6YXNjZW50KCkg
Y29uc3QKIHsKLSAgICByZXR1cm4gbV9mb250LmFzY2VudCgpOworICAgIHJldHVybiBtX2ZvbnQu
Zm9udE1ldHJpY3MoKS5hc2NlbnQoKTsKIH0KIAogaW50IFdlYkZvbnRJbXBsOjpkZXNjZW50KCkg
Y29uc3QKIHsKLSAgICByZXR1cm4gbV9mb250LmRlc2NlbnQoKTsKKyAgICByZXR1cm4gbV9mb250
LmZvbnRNZXRyaWNzKCkuZGVzY2VudCgpOwogfQogCiBpbnQgV2ViRm9udEltcGw6OmhlaWdodCgp
IGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fZm9udC5oZWlnaHQoKTsKKyAgICByZXR1cm4gbV9mb250
LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCk7CiB9CiAKIGludCBXZWJGb250SW1wbDo6bGluZVNwYWNp
bmcoKSBjb25zdAogewotICAgIHJldHVybiBtX2ZvbnQubGluZVNwYWNpbmcoKTsKKyAgICByZXR1
cm4gbV9mb250LmZvbnRNZXRyaWNzKCkubGluZVNwYWNpbmcoKTsKIH0KIAogZmxvYXQgV2ViRm9u
dEltcGw6OnhIZWlnaHQoKSBjb25zdAogewotICAgIHJldHVybiBtX2ZvbnQueEhlaWdodCgpOwor
ICAgIHJldHVybiBtX2ZvbnQuZm9udE1ldHJpY3MoKS54SGVpZ2h0KCk7CiB9CiAKIHZvaWQgV2Vi
Rm9udEltcGw6OmRyYXdUZXh0KFdlYkNhbnZhcyogY2FudmFzLCBjb25zdCBXZWJUZXh0UnVuJiBy
dW4sIGNvbnN0IFdlYkZsb2F0UG9pbnQmIGxlZnRCYXNlbGluZSwKSW5kZXg6IFdlYktpdC93aW4v
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiA3
NDY2NSkKKysrIFdlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTcgQEAKKzIwMTAtMTItMjYgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50
cm9kdWNlIEZvbnRNZXRyaWNzIGFic3RyYWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTQ1NgorCisgICAgICAgICogRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlci5jcHA6IFVzZSBGb250TWV0cmljcyBpbnN0ZWFkIG9mIEZvbnQgdG8gYWNjZXNz
IHRoZSBtZXRyaWNzLgorICAgICAgICAoRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcjo6ZHJhdyk6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5jcHA6IERpdHRvLgorICAg
ICAgICAoV2ViRHJhZ0NsaWVudDo6Y3JlYXRlRHJhZ0ltYWdlRm9yTGluayk6CisgICAgICAgICog
V2ViS2l0R3JhcGhpY3MuY3BwOiBEaXR0by4KKyAgICAgICAgKEZvbnRNZXRyaWNzKToKKwogMjAx
MC0xMi0yMiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9s
bGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xs
ZXIuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyNSwxNSArNTI1LDE2IEBAIHZvaWQgRnVs
bHNjcmVlblZpZGVvQ29udHJvbGxlcjo6ZHJhdygpCiAgICAgLy8gdGhlIHRleHQgYXQgdGhlIGNl
bnRlciBvZiB0aGUgc2xpZGVyLgogICAgIC8vIExlZnQgc3RyaW5nCiAgICAgcyA9IHRpbWVUb1N0
cmluZyhjdXJyZW50VGltZSgpKTsKKyAgICBpbnQgZm9udEhlaWdodCA9IGZvbnQuZm9udE1ldHJp
Y3MoKS5oZWlnaHQoKTsKICAgICBUZXh0UnVuIGxlZnRUZXh0KHMpOwogICAgIGNvbnRleHQuc2V0
RmlsbENvbG9yKENvbG9yKHRleHRDb2xvciksIENvbG9yU3BhY2VEZXZpY2VSR0IpOwotICAgIGNv
bnRleHQuZHJhd1RleHQoZm9udCwgbGVmdFRleHQsIEludFBvaW50KHdpbmRvd1dpZHRoIC8gMiAt
IHRpbWVTbGlkZXJXaWR0aCAvIDIgLSBtYXJnaW4gLSBmb250LndpZHRoKGxlZnRUZXh0KSwgd2lu
ZG93SGVpZ2h0IC0gbWFyZ2luIC0gc2xpZGVySGVpZ2h0IC8gMiArIGZvbnQuaGVpZ2h0KCkgLyA0
KSk7CisgICAgY29udGV4dC5kcmF3VGV4dChmb250LCBsZWZ0VGV4dCwgSW50UG9pbnQod2luZG93
V2lkdGggLyAyIC0gdGltZVNsaWRlcldpZHRoIC8gMiAtIG1hcmdpbiAtIGZvbnQud2lkdGgobGVm
dFRleHQpLCB3aW5kb3dIZWlnaHQgLSBtYXJnaW4gLSBzbGlkZXJIZWlnaHQgLyAyICsgZm9udEhl
aWdodCAvIDQpKTsKIAogICAgIC8vIFJpZ2h0IHN0cmluZwogICAgIHMgPSB0aW1lVG9TdHJpbmco
Y3VycmVudFRpbWUoKSAtIGR1cmF0aW9uKCkpOwogICAgIFRleHRSdW4gcmlnaHRUZXh0KHMpOwog
ICAgIGNvbnRleHQuc2V0RmlsbENvbG9yKENvbG9yKHRleHRDb2xvciksIENvbG9yU3BhY2VEZXZp
Y2VSR0IpOwotICAgIGNvbnRleHQuZHJhd1RleHQoZm9udCwgcmlnaHRUZXh0LCBJbnRQb2ludCh3
aW5kb3dXaWR0aCAvIDIgKyB0aW1lU2xpZGVyV2lkdGggLyAyICsgbWFyZ2luLCB3aW5kb3dIZWln
aHQgLSBtYXJnaW4gLSBzbGlkZXJIZWlnaHQgLyAyICsgZm9udC5oZWlnaHQoKSAvIDQpKTsKKyAg
ICBjb250ZXh0LmRyYXdUZXh0KGZvbnQsIHJpZ2h0VGV4dCwgSW50UG9pbnQod2luZG93V2lkdGgg
LyAyICsgdGltZVNsaWRlcldpZHRoIC8gMiArIG1hcmdpbiwgd2luZG93SGVpZ2h0IC0gbWFyZ2lu
IC0gc2xpZGVySGVpZ2h0IC8gMiArIGZvbnRIZWlnaHQgLyA0KSk7CiAKICAgICAvLyBDb3B5IHRv
IHRoZSB3aW5kb3cKICAgICBCTEVOREZVTkNUSU9OIGJsZW5kRnVuY3Rpb24gPSB7QUNfU1JDX09W
RVIsIDAsIDI1NSwgQUNfU1JDX0FMUEhBfTsKSW5kZXg6IFdlYktpdC93aW4vV2ViS2l0R3JhcGhp
Y3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vV2ViS2l0R3JhcGhpY3MuY3BwCShyZXZp
c2lvbiA3NDY2NSkKKysrIFdlYktpdC93aW4vV2ViS2l0R3JhcGhpY3MuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMzMsMTUgKzEzMywxNiBAQCB2b2lkIEZvbnRNZXRyaWNzKGNvbnN0IFdlYkZvbnRE
ZXNjcmlwdGlvCiAgICAgICAgIHJldHVybjsKIAogICAgIEZvbnQgZm9udChtYWtlRm9udChkZXNj
cmlwdGlvbikpOworICAgIGNvbnN0IFdlYkNvcmU6OkZvbnRNZXRyaWNzJiBmb250TWV0cmljcyhm
b250LmZvbnRNZXRyaWNzKCkpOwogCiAgICAgaWYgKGFzY2VudCkKLSAgICAgICAgKmFzY2VudCA9
IGZvbnQuYXNjZW50KCk7CisgICAgICAgICphc2NlbnQgPSBmb250TWV0cmljcy5hc2NlbnQoKTsK
IAogICAgIGlmIChkZXNjZW50KQotICAgICAgICAqZGVzY2VudCA9IGZvbnQuZGVzY2VudCgpOwor
ICAgICAgICAqZGVzY2VudCA9IGZvbnRNZXRyaWNzLmRlc2NlbnQoKTsKIAogICAgIGlmIChsaW5l
U3BhY2luZykKLSAgICAgICAgKmxpbmVTcGFjaW5nID0gZm9udC5saW5lU3BhY2luZygpOworICAg
ICAgICAqbGluZVNwYWNpbmcgPSBmb250TWV0cmljcy5saW5lU3BhY2luZygpOwogfQogCiB1bnNp
Z25lZCBDZW50ZXJUcnVuY2F0ZVN0cmluZ1RvV2lkdGgoTFBDVFNUUiB0ZXh0LCBpbnQgbGVuZ3Ro
LCBjb25zdCBXZWJGb250RGVzY3JpcHRpb24mIGRlc2NyaXB0aW9uLCBmbG9hdCB3aWR0aCwgV0NI
QVIqIGJ1ZmZlcikKSW5kZXg6IFdlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xp
ZW50LmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dl
YkRyYWdDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDcsNyArMjQ3LDcgQEAgRHJhZ0lt
YWdlUmVmIFdlYkRyYWdDbGllbnQ6OmNyZWF0ZURyYWdJbQogICAgIC8vRmlyc3Qgc3RlcCBpbiBk
cmF3aW5nIHRoZSBsaW5rIGRyYWcgaW1hZ2Ugd2lkdGgKICAgICBUZXh0UnVuIGxhYmVsUnVuKGxh
YmVsLmltcGwoKSk7CiAgICAgVGV4dFJ1biB1cmxSdW4odXJsU3RyaW5nLmltcGwoKSk7Ci0gICAg
SW50U2l6ZSBsYWJlbFNpemUobGFiZWxGb250LT53aWR0aChsYWJlbFJ1biksIGxhYmVsRm9udC0+
YXNjZW50KCkgKyBsYWJlbEZvbnQtPmRlc2NlbnQoKSk7CisgICAgSW50U2l6ZSBsYWJlbFNpemUo
bGFiZWxGb250LT53aWR0aChsYWJlbFJ1biksIGxhYmVsRm9udC0+Zm9udE1ldHJpY3MoKS5hc2Nl
bnQoKSArIGxhYmVsRm9udC0+Zm9udE1ldHJpY3MoKS5kZXNjZW50KCkpOwogCiAgICAgaWYgKGxh
YmVsU2l6ZS53aWR0aCgpID4gTUFYX0RSQUdfTEFCRUxfU1RSSU5HX1dJRFRIKXsKICAgICAgICAg
bGFiZWxTaXplLnNldFdpZHRoKE1BWF9EUkFHX0xBQkVMX1NUUklOR19XSURUSCk7CkBAIC0yNjAs
NyArMjYwLDcgQEAgRHJhZ0ltYWdlUmVmIFdlYkRyYWdDbGllbnQ6OmNyZWF0ZURyYWdJbQogCiAg
ICAgaWYgKGRyYXdVUkxTdHJpbmcpIHsKICAgICAgICAgdXJsU3RyaW5nU2l6ZS5zZXRXaWR0aCh1
cmxGb250LT53aWR0aCh1cmxSdW4pKTsKLSAgICAgICAgdXJsU3RyaW5nU2l6ZS5zZXRIZWlnaHQo
dXJsRm9udC0+YXNjZW50KCkgKyB1cmxGb250LT5kZXNjZW50KCkpOyAKKyAgICAgICAgdXJsU3Ry
aW5nU2l6ZS5zZXRIZWlnaHQodXJsRm9udC0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSArIHVybEZv
bnQtPmZvbnRNZXRyaWNzKCkuZGVzY2VudCgpKTsgCiAgICAgICAgIGltYWdlU2l6ZS5zZXRIZWln
aHQoaW1hZ2VTaXplLmhlaWdodCgpICsgdXJsU3RyaW5nU2l6ZS5oZWlnaHQoKSk7CiAgICAgICAg
IGlmICh1cmxTdHJpbmdTaXplLndpZHRoKCkgPiBNQVhfRFJBR19MQUJFTF9TVFJJTkdfV0lEVEgp
IHsKICAgICAgICAgICAgIGltYWdlU2l6ZS5zZXRXaWR0aChNQVhfRFJBR19MQUJFTF9XSURUSCk7
CkBAIC0zMDMsNyArMzAzLDcgQEAgRHJhZ0ltYWdlUmVmIFdlYkRyYWdDbGllbnQ6OmNyZWF0ZURy
YWdJbQogICAgIGlmIChkcmF3VVJMU3RyaW5nKSB7CiAgICAgICAgIGlmIChjbGlwVVJMU3RyaW5n
KQogICAgICAgICAgICAgdXJsU3RyaW5nID0gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRl
KHVybFN0cmluZywgaW1hZ2VTaXplLndpZHRoKCkgLSAoRFJBR19MQUJFTF9CT1JERVJfWCAqIDIu
MGYpLCAqdXJsRm9udCwgZmFsc2UpOwotICAgICAgICBJbnRQb2ludCB0ZXh0UG9zKERSQUdfTEFC
RUxfQk9SREVSX1gsIGltYWdlU2l6ZS5oZWlnaHQoKSAtIChEUkFHX0xBQkVMX0JPUkRFUl9ZX09G
RlNFVCArIHVybEZvbnQtPmRlc2NlbnQoKSkpOworICAgICAgICBJbnRQb2ludCB0ZXh0UG9zKERS
QUdfTEFCRUxfQk9SREVSX1gsIGltYWdlU2l6ZS5oZWlnaHQoKSAtIChEUkFHX0xBQkVMX0JPUkRF
Ul9ZX09GRlNFVCArIHVybEZvbnQtPmZvbnRNZXRyaWNzKCkuZGVzY2VudCgpKSk7CiAgICAgICAg
IFdlYkNvcmVEcmF3RG91YmxlZFRleHRBdFBvaW50KGNvbnRleHQsIHVybFN0cmluZywgdGV4dFBv
cywgKnVybEZvbnQsIHRvcENvbG9yLCBib3R0b21Db2xvcik7CiAgICAgfQogICAgIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77501</attachid>
            <date>2010-12-27 06:50:50 -0800</date>
            <delta_ts>2010-12-27 06:53:01 -0800</delta_ts>
            <desc>Patch v8</desc>
            <filename>IntroduceFontMetrics7.diff</filename>
            <type>text/plain</type>
            <size>126349</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTg0IEBACisyMDEwLTEyLTIyICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEludHJvZHVjZSBGb250TWV0cmljcyBhYnN0cmFjdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE0NTYKKworICAgICAgICBFbmNhcHN1
bGF0ZSBhc2NlbnQvZGVzY2VudC9saW5lSGVpZ2h0L2xpbmVHYXAgbWV0aG9kcyBpbiBhIHNpbmds
ZSBGb250TWV0cmljcyBjbGFzcywgaW5zdGVhZCBvZgorICAgICAgICBoYXZpbmcgdG8gZGVmaW5l
IHRoZW0gaW4gYm90aCBGb250ICYgU2ltcGxlRm9udERhdGEuIENoYW5nZWQgdG8gc3RvcmUgZmxv
YXRpbmcgcG9pbnQgdmFsdWVzCisgICAgICAgIGFzIGRlZmF1bHQsIGluIG9yZGVyIHRvIGdldCBh
Y2N1cmF0ZSBpbmZvcm1hdGlvbiBmb3Igc21hbGwgc2l6ZWQgZm9udHMuIEFsbCB0aGVzZSBtZXRo
b2RzCisgICAgICAgIG5vdyBoYXZlIGZsb2F0aW5nLXBvaW50IGFuZCBpbnRlZ2VyIHZlcnNpb25z
LiBXaGVuZXZlciBhbiBpbnRlZ2VyIHZhcmlhbnQgb2YgdGhlc2UgZnVuY3Rpb25zCisgICAgICAg
IGlzIGNhbGxlZCwgbHJvdW5kZigpIGlzIHVzZWQgdG8gcm91bmQgdGhlIHZhbHVlLgorCisgICAg
ICAgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gc3VwcG9ydCBzbWFsbCBmb250LXNpemVzIGZv
ciBTVkcgaW4gYSBmb2xsb3ctdXAgcGF0Y2gsIGFzIHdlbGwKKyAgICAgICAgYXMgZml4aW5nIHJv
dW5kaW5nIGlzc3VlcyB3aGVuIHVzaW5nIFNWRyBGb250cy4KKyAgICAgICAgCisgICAgICAgIFNo
b3VsZG4ndCBhZmZlY3QgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5h
bTogQWRkIEZvbnRNZXRyaWNzLmggdG8gYnVpbGQuIAorICAgICAgICAqIFdlYkNvcmUuZ3lwaTog
RGl0dG8uCisgICAgICAgICogV2ViQ29yZS5wcm86IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0Fj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcDogVXNlIHN0eWxlLT5mb250TWV0cmljcygp
IGluc3RlYWQgb2Ygc3R5bGUtPmZvbnQoKSB0byBhY2Nlc3MgdGhlIG1ldHJpY3MuCisgICAgICAg
IChiYXNlbGluZVBvc2l0aW9uRm9yQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCk6CisgICAgICAg
ICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDogICAgICAgICAKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoRG91YmxlKToKKyAgICAgICAgKiBodG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJbnRlcm5hbCk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRyYXdFbGVtZW50VGl0bGUpOgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcDogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpQb3B1cExpc3RCb3g6OnBhaW50Um93KToKKyAgICAgICAgKFdlYkNvcmU6
OlBvcHVwTGlzdEJveDo6Z2V0Um93SGVpZ2h0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Lmg6IFJlbW92ZSBhc2NlbnQvZGVzY2VudC9oZWlnaHQvbGluZUdhcC9saW5lU3BhY2lu
Zy94SGVpZ2h0L3VuaXRzUGVyRW0gYWNjZXNzb3IuLi4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6
OmZvbnRNZXRyaWNzKTogLi4uIGFuZCBvbmx5IGV4cG9zZSBhIHNpbmdsZSBGb250TWV0cmljcyBv
YmplY3QgaGVyZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3Bw
OiBVc2UgZm9udE1ldHJpY3MoKSB0byBxdWVyeSBtZXRyaWNzIGluZm9ybWF0aW9uLgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udDo6ZW1waGFzaXNNYXJrQXNjZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnQ6OmVtcGhhc2lzTWFya0Rlc2NlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZW1w
aGFzaXNNYXJrSGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmZsb2F0V2lkdGhGb3JT
aW1wbGVUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpGb250TWV0cmljcyk6IENyZWF0
ZXMgYSBGb250TWV0cmljcyBvYmplY3QsIHN0b3JlZCBpbiBTaW1wbGVGb250RGF0YS4KKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjp1bml0c1BlckVtKTogUmV0dXJucyBhbiB1bnNpZ25l
ZCBkZXNjcmliaW5nIHRoZSB1bml0c1BlckVtLgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJp
Y3M6OnNldFVuaXRzUGVyRW0pOiBTZXRzIHRoZSB1bml0c1BlckVtIHZhbHVlLgorICAgICAgICAo
V2ViQ29yZTo6Rm9udE1ldHJpY3M6OmZsb2F0QXNjZW50KTogUmV0dXJucyB0aGUgc3RvcmVkIG1f
YXNjZW50IGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnNldEFzY2VudCk6
IFNldHMgdGhlIHN0b3JlZCBtX2FzY2VudCBmbG9hdC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRN
ZXRyaWNzOjpmbG9hdERlc2NlbnQpOiBSZXR1cm5zIHRoZSBzdG9yZWQgbV9kZXNjZW50IGZsb2F0
LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnNldERlc2NlbnQpOiBTZXRzIHRoZSBz
dG9yZWQgbV9kZXNjZW50IGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmZs
b2F0SGVpZ2h0KTogUmV0dXJucyBmbG9hdEFzY2VudCgpICsgZmxvYXREZXNjZW50KCkuCisgICAg
ICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6ZmxvYXRMaW5lR2FwKTogUmV0dXJucyB0aGUgc3Rv
cmVkIG1fbGluZUdhcCBmbG9hdC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpzZXRM
aW5lR2FwKTogU2V0cyB0aGUgc3RvcmVkIG1fbGluZUdhcCBmbG9hdC4KKyAgICAgICAgKFdlYkNv
cmU6OkZvbnRNZXRyaWNzOjpmbG9hdExpbmVTcGFjaW5nKTogUmV0dXJucyB0aGUgc3RvcmVkIG1f
bGluZVNwYWNpbmcgZmxvYXQuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6c2V0TGlu
ZVNwYWNpbmcpOiBTZXRzIHRoZSBzdG9yZWQgbV9saW5lU3BhY2luZyBmbG9hdC4KKyAgICAgICAg
KFdlYkNvcmU6OkZvbnRNZXRyaWNzOjp4SGVpZ2h0KTogUmV0dXJucyB0aGUgc3RvcmVkIG1feEhl
aWdodCBmbG9hdCAobm8gaW50ZWdlciB2ZXJzaW9uIGF2YWlsYWJsZSwgaGVuY2Ugbm8gJ2Zsb2F0
JyBwcmVmaXgpLgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnNldFhIZWlnaHQpOiBT
ZXRzIHRoZSBzdG9yZWQgbV94SGVpZ2h0IGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1l
dHJpY3M6OmFzY2VudCk6IFJldHVybnMgYSByb3VuZGVkIHZlcnNpb24gb2YgYXNjZW50KCkuCisg
ICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6ZGVzY2VudCk6IERpdHRvIChmb3IgZGVzY2Vu
dCkuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6aGVpZ2h0KTogUmV0dXJucyBhc2Nl
bnQoKSArIGRlc2NlbnQoKS4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpsaW5lR2Fw
KTogUmV0dXJucyBhIHJvdW5kZWQgdmVyc2lvbiBvZiBsaW5lR2FwKCkuCisgICAgICAgIChXZWJD
b3JlOjpGb250TWV0cmljczo6bGluZVNwYWNpbmcpOiBEaXR0byAoZm9yIGxpbmVTcGFjaW5nKS4K
KyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpyZXNldCk6IE51bGxzIGFsbCBtZW1iZXJz
LCB1c2VkIG9ubHkgYnkgdGhlIHBsYXRmb3JtIHZhcmlhbnRzIG9mIFNpbXBsZUZvbnREYXRhLgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcDogQWRhcHQgU1ZH
IEZvbnRzIGNvZGUsIHRvIGluaXRpYWxpemUgdGhlIEZvbnRNZXRyaWNzIG9iamVjdCwgYXMgdGhl
IG1fYXNjZW50L2V0Yy4uIG1lbWJlcnMgYXJlIGdvbmUuCisgICAgICAgIChXZWJDb3JlOjpTaW1w
bGVGb250RGF0YTo6U2ltcGxlRm9udERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9u
dERhdGE6OmluaXRDaGFyV2lkdGhzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1w
bGVGb250RGF0YS5oOiBSZW1vdmUgYXNjZW50L2Rlc2NlbnQvaGVpZ2h0L2xpbmVTcGFjaW5nL2xp
bmVHYXAveEhlaWdodC91bml0c1BlckVtIGFjY2Vzc29ycywgYW5kIG1lbWJlcnMsIGp1c3Qgc3Rv
cmUgYSBGb250TWV0cmljcyBvYmplY3QgYW5kIGV4cG9zZSBpdC4KKyAgICAgICAgKFdlYkNvcmU6
OlNpbXBsZUZvbnREYXRhOjpmb250TWV0cmljcyk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVG
b250RGF0YTo6YXZnQ2hhcldpZHRoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9Gb250Q2hyb21pdW1XaW4uY3BwOiBVc2UgZm9udE1ldHJpY3MoKSB0byBxdWVyeSBmb250
IG1ldHJpY3MuCisgICAgICAgIChXZWJDb3JlOjpUcmFuc3BhcmVuY3lBd2FyZUZvbnRQYWludGVy
OjpUcmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRlcjo6ZXN0aW1hdGVUZXh0Qm91bmRzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRyYW5zcGFyZW5jeUF3YXJlRm9udFBhaW50ZXI6OlRyYW5zcGFyZW5j
eUF3YXJlR2x5cGhQYWludGVyOjpkcmF3R2x5cGhzKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5z
cGFyZW5jeUF3YXJlRm9udFBhaW50ZXI6OlRyYW5zcGFyZW5jeUF3YXJlVW5pc2NyaWJlUGFpbnRl
cjo6ZXN0aW1hdGVUZXh0Qm91bmRzKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmRyYXdDb21w
bGV4VGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9u
dERhdGFDaHJvbWl1bVdpbi5jcHA6IEFkYXB0IHBsYXRmb3JtIGNvZGUsIHRvIGluaXRpYWxpemUg
dGhlIEZvbnRNZXRyaWNzIG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRh
OjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Np
bXBsZUZvbnREYXRhTGludXguY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZv
bnREYXRhOjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL1VuaXNjcmliZUhlbHBlclRleHRSdW4uY3BwOiBVc2UgZm9udE1ldHJpY3MoKSB0byBxdWVy
eSBmb250IG1ldHJpY3MuCisgICAgICAgIChXZWJDb3JlOjpVbmlzY3JpYmVIZWxwZXJUZXh0UnVu
OjpVbmlzY3JpYmVIZWxwZXJUZXh0UnVuKToKKyAgICAgICAgKFdlYkNvcmU6OlVuaXNjcmliZUhl
bHBlclRleHRSdW46Om5leHRXaW5Gb250RGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFGcmVlVHlwZS5jcHA6IEFkYXB0IHBsYXRmb3JtIGNv
ZGUsIHRvIGluaXRpYWxpemUgdGhlIEZvbnRNZXRyaWNzIG9iamVjdC4KKyAgICAgICAgKFdlYkNv
cmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2hhaWt1L1NpbXBsZUZvbnREYXRhSGFpa3UuY3BwOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL21hYy9Gb250Q29tcGxleFRleHRNYWMuY3BwOiBVc2UgZm9udE1ldHJpY3MoKSB0
byBxdWVyeSBmb250IG1ldHJpY3MuCisgICAgICAgIChXZWJDb3JlOjpGb250OjpmbG9hdFdpZHRo
Rm9yQ29tcGxleFRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFj
Lm1tOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OnNob3dHbHlwaHNXaXRoQWR2YW5jZXMpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbTogQWRh
cHQgcGxhdGZvcm0gY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUgRm9udE1ldHJpY3Mgb2JqZWN0Lgor
ICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAg
IChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1DaGFyV2lkdGhJbml0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9wYW5nby9TaW1wbGVGb250RGF0YVBhbmdvLmNwcDogRGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250RGF0YVF0LmNwcDogRGl0dG8u
ICgrIFN3aXRjaCB0byBRRm9udE1ldHJpY3NGIHRvIGdldCBmbG9hdGluZy1wb2ludCBhY2N1cmFu
Y3kuKQorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDR1dpbi5jcHA6IFVzZSBmb250TWV0
cmljcygpIHRvIHF1ZXJ5IGZvbnQgbWV0cmljcy4KKyAgICAgICAgKFdlYkNvcmU6OmRyYXdHRElH
bHlwaHMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250V2luLmNwcDogRGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpGb250OjpmbG9hdFdpZHRoRm9yQ29tcGxleFRleHQpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNHV2luLmNwcDog
QWRhcHQgcGxhdGZvcm0gY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUgRm9udE1ldHJpY3Mgb2JqZWN0
LgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAg
ICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Cb3VuZHNGb3JHbHlwaCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ2Fpcm9XaW4uY3Bw
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHA6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OmluaXRHRElGb250KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5j
cHA6IFVzZSBmb250TWV0cmljcygpIHRvIHF1ZXJ5IGZvbnQgbWV0cmljcy4KKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6ZHJhd1RleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3dpbmNlL1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwOiBBZGFwdCBwbGF0Zm9ybSBjb2Rl
LCB0byBpbml0aWFsaXplIHRoZSBGb250TWV0cmljcyBvYmplY3QuCisgICAgICAgIChXZWJDb3Jl
OjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy93eC9TaW1wbGVGb250RGF0YVd4LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpT
aW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiByZW5kZXJpbmcvRWxsaXBz
aXNCb3guY3BwOiBVc2Ugc3R5bGUtPmZvbnRNZXRyaWNzKCkgaW5zdGVhZCBvZiBzdHlsZS0+Zm9u
dCgpIHRvIGFjY2VzcyB0aGUgbWV0cmljcy4KKyAgICAgICAgKFdlYkNvcmU6OkVsbGlwc2lzQm94
OjpwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpFbGxpcHNpc0JveDo6bm9kZUF0UG9pbnQpOgor
ICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVCb3guY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OklubGluZUJveDo6bG9naWNhbEhlaWdodCk6CisgICAgICAgICogcmVuZGVyaW5nL0lubGlu
ZUZsb3dCb3guY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OnZlcnRpY2FsUG9zaXRpb25G
b3JCb3gpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6Y29tcHV0ZUxvZ2ljYWxC
b3hIZWlnaHRzKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJ
bkJsb2NrRGlyZWN0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHA6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OklubGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvblVuZGVybGluZSk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCbG9jazo6YmFzZWxpbmVQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCbG9jazo6Zmlyc3RMaW5lQm94QmFzZWxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2s6Omxhc3RMaW5lQm94QmFzZWxpbmUpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCb3guY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6bG9jYWxD
YXJldFJlY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHA6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRW1iZWRkZWRPYmplY3Q6OnBhaW50UmVw
bGFjZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OnNldEltYWdlU2l6ZUZvckFsdFRleHQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OnBhaW50UmVwbGFjZWQpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
cklubGluZTo6YmFzZWxpbmVQb3NpdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxp
c3RCb3guY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnBhaW50
SXRlbUZvcmVncm91bmQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6aXRlbUhl
aWdodCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwOiBEaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RNYXJrZXI6OnBhaW50KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxpc3RNYXJrZXI6OmxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMaXN0TWFya2VyOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVNYXJnaW5zKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxpc3RNYXJrZXI6OmdldFJlbGF0aXZlTWFya2VyUmVjdCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUZXh0Q29udHJvbDo6cGFpbnRQbGFjZWhvbGRlcik6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHA6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpjcmVhdGVJbm5lclRleHRTdHlsZSk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcDogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZVdpbjo6YWRqdXN0TWVudUxpc3RCdXR0b25TdHlsZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6IEFkZCAiY29uc3QgRm9udE1l
dHJpY3MmIGZvbnRNZXRyaWNzKCkgY29uc3QiIGFjY2Vzc29yLgorICAgICAgICAoV2ViQ29yZTo6
SW5oZXJpdGVkRmxhZ3M6OmZvbnRNZXRyaWNzKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRl
ZEZsYWdzOjpjb21wdXRlZExpbmVIZWlnaHQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHSW5saW5lVGV4dC5jcHA6IFVzZSBzdHlsZS0+Zm9udE1ldHJpY3MoKSBpbnN0ZWFkIG9m
IHN0eWxlLT5mb250KCkgdG8gYWNjZXNzIHRoZSBtZXRyaWNzLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU1ZHSW5saW5lVGV4dDo6cG9zaXRpb25Gb3JQb2ludCk6CisgICAgICAgICogcmVuZGVy
aW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpT
VkdJbmxpbmVUZXh0Qm94OjpzZWxlY3Rpb25SZWN0Rm9yVGV4dEZyYWdtZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OnBvc2l0aW9uT2Zmc2V0Rm9yRGVjb3JhdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb25XaXRoU3R5bGUpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHSW5saW5lVGV4dEJveDo6cGFpbnRUZXh0V2l0aFNoYWRvd3MpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHSW5saW5lVGV4dEJveDo6Y2FsY3VsYXRlQm91bmRhcmllcyk6CisgICAg
ICAgICogcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuY3BwOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2FsY3Vs
YXRlQmFzZWxpbmVTaGlmdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmU6OmNhbGN1bGF0ZUFsaWdubWVudEJhc2VsaW5lU2hpZnQpOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lOjpjYWxjdWxhdGVHbHlwaEFkdmFuY2VB
bmRPcmllbnRhdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5n
aW5lU3BhY2luZy5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dExheW91dEVu
Z2luZVNwYWNpbmc6OmNhbGN1bGF0ZVNWR0tlcm5pbmcpOgorICAgICAgICAqIHJlbmRlcmluZy9z
dmcvU1ZHVGV4dE1ldHJpY3MuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRN
ZXRyaWNzOjpTVkdUZXh0TWV0cmljcyk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdUZXh0
UXVlcnkuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OmNhbGN1bGF0ZUdseXBoQm91bmRh
cmllcyk6CisgICAgICAgICogc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHA6IAorICAgICAgICAo
V2ViQ29yZTo6U1ZHRm9udEZhY2VFbGVtZW50Ojp1bml0c1BlckVtKTogUmVuYW1lIGRlZmF1bHRV
bml0c1BlckVtIGdsb2JhbCB0byBnRGVmYXVsdFVuaXRzUGVyRW0uCisgICAgICAgICogc3ZnL1NW
R0xlbmd0aC5jcHA6IFVzZSBzdHlsZS0+Zm9udE1ldHJpY3MoKSBpbnN0ZWFkIG9mIHN0eWxlLT5m
b250KCkgdG8gYWNjZXNzIHRoZSBtZXRyaWNzLgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3Ro
Ojpjb252ZXJ0VmFsdWVGcm9tVXNlclVuaXRzVG9FWFMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
TGVuZ3RoOjpjb252ZXJ0VmFsdWVGcm9tRVhTVG9Vc2VyVW5pdHMpOgorCiAyMDEwLTEyLTI1ICBQ
ZXRlciBSeWJpbiAgPHBldGVyLnJ5YmluQGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBBZGFtIEJhcnRoLgpJbmRleDogV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvR05V
bWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTI0MDUsNiArMjQwNSw3IEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5LmggXAog
CVdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhc3RQYXRoLmNwcCBcCiAJV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250LmggXAorCVdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dE1ldHJpY3MuaCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250T3JpZW50YXRpb24u
aCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250UmVuZGVyaW5nTW9kZS5oIFwKIAlX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRTZWxlY3Rvci5oIFwKSW5kZXg6IFdlYkNvcmUv
V2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lv
biA3NDY2NSkKKysrIFdlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0yOTEw
LDYgKzI5MTAsNyBAQAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHku
Y3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5LmgnLAogICAg
ICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYXN0UGF0aC5jcHAnLAorICAgICAgICAg
ICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmgnLAogICAgICAgICAgICAgJ3BsYXRm
b3JtL2dyYXBoaWNzL0ZvbnRSZW5kZXJpbmdNb2RlLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRTZWxlY3Rvci5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGlj
cy9Gb250U21vb3RoaW5nTW9kZS5oJywKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3Jl
L1dlYkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC0yMTEzLDYgKzIxMTMsNyBAQCBIRUFERVJT
ICs9IFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oIFwKICAgICBwbGF0Zm9ybS9n
cmFwaGljcy9Gb250RGVzY3JpcHRpb24uaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZh
bWlseS5oIFwKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oIFwKICAgICBwbGF0
Zm9ybS9ncmFwaGljcy9Gb250LmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRlZElt
YWdlLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50LmggXApJbmRleDogV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvago9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTI2MzgxLDYg
KzI2MzgxLDEwIEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRp
dmVQYXRoPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGb250TWV0cmljcy5oIgorCQkJCQk+CisJCQkJ
PC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cZ3JhcGhp
Y3NcRm9udFJlbmRlcmluZ01vZGUuaCIKIAkJCQkJPgogCQkJCTwvRmlsZT4KSW5kZXg6IFdlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA3NDY2NSkKKysr
IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDcsNiArMTA3LDcgQEAKIAkJMDgzREFFQTcwRjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRl
clRleHRDb250cm9sTXVsdGlMaW5lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwODNEQUVBMzBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRy
b2xNdWx0aUxpbmUuaCAqLzsgfTsKIAkJMDgzREFFQTgwRjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRl
clRleHRDb250cm9sU2luZ2xlTGluZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwODNEQUVBNDBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENv
bnRyb2xTaW5nbGVMaW5lLmNwcCAqLzsgfTsKIAkJMDgzREFFQTkwRjAxQTdGQjAwMzQyNzU0IC8q
IFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDgzREFFQTUwRjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRlclRl
eHRDb250cm9sU2luZ2xlTGluZS5oICovOyB9OworCQkwODQ1NjgwODEyQjkwREE2MDA5NjBBOUYg
LyogRm9udE1ldHJpY3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDA4NDU2ODA3MTJCOTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA4NEEwODI5MTI4RDc4
NjcwMDJEQjFGMSAvKiBTVkdQYXRoU2VnTGlzdFByb3BlcnR5VGVhck9mZi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0QTA4MjgxMjhENzg2NzAwMkRC
MUYxIC8qIFNWR1BhdGhTZWdMaXN0UHJvcGVydHlUZWFyT2ZmLmggKi87IH07CiAJCTA4NEFFQkU0
MEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxlY3RFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NEFFQkUyMEZCNTA1RkEwMDM4NDgzRSAvKiBT
ZWxlY3RFbGVtZW50LmNwcCAqLzsgfTsKIAkJMDg0QUVCRTUwRkI1MDVGQTAwMzg0ODNFIC8qIFNl
bGVjdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDA4NEFFQkUzMEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxlY3RFbGVtZW50LmggKi87IH07CkBA
IC02MzY5LDYgKzYzNzAsNyBAQAogCQkwODNEQUVBMzBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVy
VGV4dENvbnRyb2xNdWx0aUxpbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMDgzREFFQTQwRjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGlu
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJUZXh0Q29u
dHJvbFNpbmdsZUxpbmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODNEQUVB
NTBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwODQ1NjgwNzEyQjkwREE2MDA5NjBBOUYg
LyogRm9udE1ldHJpY3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udE1l
dHJpY3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg0QTA4MjgxMjhENzg2NzAw
MkRCMUYxIC8qIFNWR1BhdGhTZWdMaXN0UHJvcGVydHlUZWFyT2ZmLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1BhdGhTZWdMaXN0UHJvcGVydHlUZWFyT2ZmLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4NEFFQkUyMEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxl
Y3RFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNlbGVj
dEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODRBRUJFMzBGQjUw
NUZBMDAzODQ4M0UgLyogU2VsZWN0RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTZWxlY3RFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
NzIzMiw2ICsxNzIzNCw3IEBACiAJCQkJQjJDM0RBNTgwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnRG
YW1pbHkuY3BwICovLAogCQkJCUIyQzNEQTU5MEQwMDZDRDYwMEVGNkYyNiAvKiBGb250RmFtaWx5
LmggKi8sCiAJCQkJNzI2MjZFMDEwRUYwMjJGRTAwQTA3RTIwIC8qIEZvbnRGYXN0UGF0aC5jcHAg
Ki8sCisJCQkJMDg0NTY4MDcxMkI5MERBNjAwOTYwQTlGIC8qIEZvbnRNZXRyaWNzLmggKi8sCiAJ
CQkJRjdBMDM0QzMxMjZCRjZCRTAwN0RDMTlFIC8qIEZvbnRPcmllbnRhdGlvbi5oICovLAogCQkJ
CTM3QUNDRTQxMERBMjk4MEYwMDg5RTYwMiAvKiBGb250UmVuZGVyaW5nTW9kZS5oICovLAogCQkJ
CUIyQzNEQTVBMEQwMDZDRDYwMEVGNkYyNiAvKiBGb250U2VsZWN0b3IuaCAqLywKQEAgLTIyMTM0
LDYgKzIyMTM3LDcgQEAKIAkJCQk5M0YxOTlFRDA4MjQ1RTU5MDAxRTlBQkMgLyogWFNMVFByb2Nl
c3Nvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFCRTUxMkUwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhT
TFRVbmljb2RlU29ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdERDREODcwRkRGNEQ2RTAwRUNG
OUE0IC8qIFhTU0F1ZGl0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTA4NDU2ODA4MTJCOTBEQTYw
MDk2MEE5RiAvKiBGb250TWV0cmljcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk5QjNFQzUxMjhD
Q0M0NzAwRTcyNkMyIC8qIFBsYXRmb3JtQ0FMYXllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk5
QjNFRDcxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDk5QjNFREQxMjhEQjUwMjAwRTcyNkMyIC8qIFBsYXRmb3JtQ0FBbmltYXRpb24uaCBp
biBIZWFkZXJzICovLApJbmRleDogV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmls
aXR5T2JqZWN0V3JhcHBlckF0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0ay5jcHAJKHJldmlzaW9uIDc0NjY1
KQorKysgV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBl
ckF0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyMTEsOCArMTIxMSw4IEBAIHN0YXRpYyBpbnQg
YmFzZWxpbmVQb3NpdGlvbkZvckFjY2Vzc2liaWwKICAgICAvLyBGSVhNRTogVGhpcyBpbXBsZW1l
bnRhdGlvbiBvZiBiYXNlbGluZVBvc2l0aW9uIG9yaWdpbmF0ZXMgZnJvbSBSZW5kZXJPYmplY3Qu
Y3BwIGFuZCB3YXMKICAgICAvLyByZW1vdmVkIGluIHI3MDA3Mi4gVGhlIGltcGxlbWVudGF0aW9u
IGxvb2tzIGluY29ycmVjdCB0aG91Z2gsIGJlY2F1c2UgdGhpcyBpcyBub3QgdGhlCiAgICAgLy8g
YmFzZWxpbmUgb2YgdGhlIHVuZGVybHlpbmcgUmVuZGVyT2JqZWN0LCBidXQgb2YgdGhlIEFjY2Vz
c2liaWxpdHlSZW5kZXJPYmplY3QuCi0gICAgY29uc3QgRm9udCYgZiA9IHJlbmRlck9iamVjdC0+
Zmlyc3RMaW5lU3R5bGUoKS0+Zm9udCgpOwotICAgIHJldHVybiBmLmFzY2VudCgpICsgKHJlbmRl
ck9iamVjdC0+Zmlyc3RMaW5lU3R5bGUoKS0+Y29tcHV0ZWRMaW5lSGVpZ2h0KCkgLSBmLmhlaWdo
dCgpKSAvIDI7CisgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gcmVuZGVyT2Jq
ZWN0LT5maXJzdExpbmVTdHlsZSgpLT5mb250TWV0cmljcygpOworICAgIHJldHVybiBmb250TWV0
cmljcy5hc2NlbnQoKSArIChyZW5kZXJPYmplY3QtPmZpcnN0TGluZVN0eWxlKCktPmNvbXB1dGVk
TGluZUhlaWdodCgpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpIC8gMjsKIH0KIAogc3RhdGljIEF0
a0F0dHJpYnV0ZVNldCogZ2V0QXR0cmlidXRlU2V0Rm9yQWNjZXNzaWJpbGl0eU9iamVjdChjb25z
dCBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QpCkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFs
dWUuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAwLDcgKzQwMCw3IEBAIGRvdWJsZSBDU1NQcmltaXRp
dmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aEQKICAgICAgICAgICAgIC8vIFdlIHJlYWxseSBuZWVkIHRv
IGNvbXB1dGUgRVggdXNpbmcgZm9udE1ldHJpY3MgZm9yIHRoZSBvcmlnaW5hbCBzcGVjaWZpZWRT
aXplIGFuZCBub3QgdXNlCiAgICAgICAgICAgICAvLyBvdXIgYWN0dWFsIGNvbnN0cnVjdGVkIHJl
bmRlcmluZyBmb250LgogICAgICAgICAgICAgYXBwbHlab29tTXVsdGlwbGllciA9IGZhbHNlOwot
ICAgICAgICAgICAgZmFjdG9yID0gc3R5bGUtPmZvbnQoKS54SGVpZ2h0KCk7CisgICAgICAgICAg
ICBmYWN0b3IgPSBzdHlsZS0+Zm9udE1ldHJpY3MoKS54SGVpZ2h0KCk7CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgY2FzZSBDU1NfUkVNUzoKICAgICAgICAgICAgIGFwcGx5Wm9vbU11bHRp
cGxpZXIgPSBmYWxzZTsKSW5kZXg6IFdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzYw
LDYgKzE3NjAsNyBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJCiAg
ICAgICAgIHJldHVybjsKIAogICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBhY2Nlc3NGb250KCk7Cisg
ICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZm9udC5mb250TWV0cmljcygpOwog
CiAgICAgLy8gRklYTUU6IEhhbmRsZSBtYXhXaWR0aC4KICAgICAvLyBGSVhNRTogTmVlZCB0byB0
dXJuIG9mZiBmb250IHNtb290aGluZy4KQEAgLTE3NzcsMTQgKzE3NzgsMTQgQEAgdm9pZCBDYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmRyYXdUZXh0SQogICAgIHN3aXRjaCAoc3RhdGUoKS5tX3Rl
eHRCYXNlbGluZSkgewogICAgIGNhc2UgVG9wVGV4dEJhc2VsaW5lOgogICAgIGNhc2UgSGFuZ2lu
Z1RleHRCYXNlbGluZToKLSAgICAgICAgbG9jYXRpb24uc2V0WSh5ICsgZm9udC5hc2NlbnQoKSk7
CisgICAgICAgIGxvY2F0aW9uLnNldFkoeSArIGZvbnRNZXRyaWNzLmFzY2VudCgpKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBCb3R0b21UZXh0QmFzZWxpbmU6CiAgICAgY2FzZSBJZGVvZ3Jh
cGhpY1RleHRCYXNlbGluZToKLSAgICAgICAgbG9jYXRpb24uc2V0WSh5IC0gZm9udC5kZXNjZW50
KCkpOworICAgICAgICBsb2NhdGlvbi5zZXRZKHkgLSBmb250TWV0cmljcy5kZXNjZW50KCkpOwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIE1pZGRsZVRleHRCYXNlbGluZToKLSAgICAgICAgbG9j
YXRpb24uc2V0WSh5IC0gZm9udC5kZXNjZW50KCkgKyBmb250LmhlaWdodCgpIC8gMik7CisgICAg
ICAgIGxvY2F0aW9uLnNldFkoeSAtIGZvbnRNZXRyaWNzLmRlc2NlbnQoKSArIGZvbnRNZXRyaWNz
LmhlaWdodCgpIC8gMik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQWxwaGFiZXRpY1RleHRC
YXNlbGluZToKICAgICBkZWZhdWx0OgpAQCAtMTgxMiw4ICsxODEzLDggQEAgdm9pZCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ6OmRyYXdUZXh0SQogICAgIH0KIAogICAgIC8vIFRoZSBzbG9wIGJ1
aWx0IGluIHRvIHRoaXMgbWFzayByZWN0IG1hdGNoZXMgdGhlIGhldXJpc3RpYyB1c2VkIGluIEZv
bnRDR1dpbi5jcHAgZm9yIEdESSB0ZXh0LgotICAgIEZsb2F0UmVjdCB0ZXh0UmVjdCA9IEZsb2F0
UmVjdChsb2NhdGlvbi54KCkgLSBmb250LmhlaWdodCgpIC8gMiwgbG9jYXRpb24ueSgpIC0gZm9u
dC5hc2NlbnQoKSAtIGZvbnQubGluZUdhcCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB3aWR0aCArIGZvbnQuaGVpZ2h0KCksIGZvbnQubGluZVNwYWNpbmcoKSk7CisgICAg
RmxvYXRSZWN0IHRleHRSZWN0ID0gRmxvYXRSZWN0KGxvY2F0aW9uLngoKSAtIGZvbnRNZXRyaWNz
LmhlaWdodCgpIC8gMiwgbG9jYXRpb24ueSgpIC0gZm9udE1ldHJpY3MuYXNjZW50KCkgLSBmb250
TWV0cmljcy5saW5lR2FwKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdp
ZHRoICsgZm9udE1ldHJpY3MuaGVpZ2h0KCksIGZvbnRNZXRyaWNzLmxpbmVTcGFjaW5nKCkpOwog
ICAgIGlmICghZmlsbCkKICAgICAgICAgdGV4dFJlY3QuaW5mbGF0ZShjLT5zdHJva2VUaGlja25l
c3MoKSAvIDIpOwogCkluZGV4OiBXZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVy
LmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc2Niw3ICsxNzY2LDcgQEAgdm9pZCBJbnNw
ZWN0b3JDb250cm9sbGVyOjpkcmF3RWxlbWVudFRpdAogICAgIGNvbnRleHQuc2V0RmlsbENvbG9y
KHRvb2x0aXBCYWNrZ3JvdW5kQ29sb3IsIENvbG9yU3BhY2VEZXZpY2VSR0IpOwogICAgIGNvbnRl
eHQuZHJhd1JlY3QodGl0bGVSZWN0KTsKICAgICBjb250ZXh0LnNldEZpbGxDb2xvcih0b29sdGlw
Rm9udENvbG9yLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKLSAgICBjb250ZXh0LmRyYXdUZXh0KGZv
bnQsIG5vZGVUaXRsZVJ1biwgSW50UG9pbnQodGl0bGVSZWN0LngoKSArIHJlY3RJbmZsYXRlUHgs
IHRpdGxlUmVjdC55KCkgKyBmb250LmhlaWdodCgpKSk7CisgICAgY29udGV4dC5kcmF3VGV4dChm
b250LCBub2RlVGl0bGVSdW4sIEludFBvaW50KHRpdGxlUmVjdC54KCkgKyByZWN0SW5mbGF0ZVB4
LCB0aXRsZVJlY3QueSgpICsgZm9udC5mb250TWV0cmljcygpLmhlaWdodCgpKSk7CiB9CiAKIHZv
aWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6b3BlbkluSW5zcGVjdGVkV2luZG93KGNvbnN0IFN0cmlu
ZyYgdXJsKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1
bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVD
aHJvbWl1bS5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk1OSw3ICs5NTksNyBA
QCB2b2lkIFBvcHVwTGlzdEJveDo6cGFpbnRSb3coR3JhcGhpY3NDb250CiAgICAgICAgIHRleHRY
ICs9IG1heFdpZHRoIC0gaXRlbUZvbnQud2lkdGgodGV4dFJ1bik7CiAKICAgICAvLyBEcmF3IHRo
ZSBpdGVtIHRleHQuCi0gICAgaW50IHRleHRZID0gcm93UmVjdC55KCkgKyBpdGVtRm9udC5hc2Nl
bnQoKSArIChyb3dSZWN0LmhlaWdodCgpIC0gaXRlbUZvbnQuaGVpZ2h0KCkpIC8gMjsKKyAgICBp
bnQgdGV4dFkgPSByb3dSZWN0LnkoKSArIGl0ZW1Gb250LmZvbnRNZXRyaWNzKCkuYXNjZW50KCkg
KyAocm93UmVjdC5oZWlnaHQoKSAtIGl0ZW1Gb250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkpIC8g
MjsKICAgICBnYy0+ZHJhd0JpZGlUZXh0KGl0ZW1Gb250LCB0ZXh0UnVuLCBJbnRQb2ludCh0ZXh0
WCwgdGV4dFkpKTsKIAogICAgIC8vIFdlIGFyZSB1c2luZyB0aGUgbGVmdCBwYWRkaW5nIGFzIHRo
ZSByaWdodCBwYWRkaW5nIGluY2x1ZGVzIHJvb20gZm9yIHRoZSBzY3JvbGwtYmFyIHdoaWNoCkBA
IC0xMDk5LDcgKzEwOTksNyBAQCBpbnQgUG9wdXBMaXN0Qm94OjpnZXRSb3dIZWlnaHQoaW50IGlu
ZGV4CiAgICAgU3RyaW5nIGljb24gPSBtX3BvcHVwQ2xpZW50LT5pdGVtSWNvbihpbmRleCk7CiAg
ICAgUmVmUHRyPEltYWdlPiBpbWFnZShJbWFnZTo6bG9hZFBsYXRmb3JtUmVzb3VyY2UoaWNvbi51
dGY4KCkuZGF0YSgpKSk7CiAKLSAgICBpbnQgZm9udEhlaWdodCA9IGdldFJvd0ZvbnQoaW5kZXgp
LmhlaWdodCgpOworICAgIGludCBmb250SGVpZ2h0ID0gZ2V0Um93Rm9udChpbmRleCkuZm9udE1l
dHJpY3MoKS5oZWlnaHQoKTsKICAgICBpbnQgaWNvbkhlaWdodCA9IChpbWFnZSAmJiAhaW1hZ2Ut
PmlzTnVsbCgpKSA/IGltYWdlLT5yZWN0KCkuaGVpZ2h0KCkgOiAwOwogCiAgICAgcmV0dXJuIG1h
eChmb250SGVpZ2h0LCBpY29uSGVpZ2h0KTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5o
CShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oCSh3
b3JraW5nIGNvcHkpCkBAIC00NCw3ICs0NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNz
IEZsb2F0UG9pbnQ7CiBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBGb250RGF0YTsKLWNsYXNzIEZv
bnRGYWxsYmFja0xpc3Q7CitjbGFzcyBGb250TWV0cmljczsKIGNsYXNzIEZvbnRQbGF0Zm9ybURh
dGE7CiBjbGFzcyBGb250U2VsZWN0b3I7CiBjbGFzcyBHbHlwaEJ1ZmZlcjsKQEAgLTU0LDggKzU0
LDYgQEAgY2xhc3MgU1ZHRm9udEVsZW1lbnQ7CiAKIHN0cnVjdCBHbHlwaERhdGE7CiAKLWNvbnN0
IHVuc2lnbmVkIGRlZmF1bHRVbml0c1BlckVtID0gMTAwMDsKLQogc3RydWN0IEdseXBoT3ZlcmZs
b3cgewogICAgIEdseXBoT3ZlcmZsb3coKQogICAgICAgICA6IGxlZnQoMCkKQEAgLTEyOCwxMyAr
MTI2LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNQbGF0Zm9ybUZvbnQoKSBjb25zdCB7IHJldHVy
biBtX2lzUGxhdGZvcm1Gb250OyB9CiAKICAgICAvLyBNZXRyaWNzIHRoYXQgd2UgcXVlcnkgdGhl
IEZvbnRGYWxsYmFja0xpc3QgZm9yLgotICAgIGludCBhc2NlbnQoRm9udEJhc2VsaW5lIGJhc2Vs
aW5lVHlwZSA9IEFscGhhYmV0aWNCYXNlbGluZSkgY29uc3QgeyByZXR1cm4gcHJpbWFyeUZvbnQo
KS0+YXNjZW50KGJhc2VsaW5lVHlwZSk7IH0KLSAgICBpbnQgZGVzY2VudChGb250QmFzZWxpbmUg
YmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBjb25zdCB7IHJldHVybiBwcmltYXJ5
Rm9udCgpLT5kZXNjZW50KGJhc2VsaW5lVHlwZSk7IH0KLSAgICBpbnQgaGVpZ2h0KCkgY29uc3Qg
eyByZXR1cm4gYXNjZW50KCkgKyBkZXNjZW50KCk7IH0KLSAgICBpbnQgbGluZVNwYWNpbmcoKSBj
b25zdCB7IHJldHVybiBwcmltYXJ5Rm9udCgpLT5saW5lU3BhY2luZygpOyB9Ci0gICAgaW50IGxp
bmVHYXAoKSBjb25zdCB7IHJldHVybiBwcmltYXJ5Rm9udCgpLT5saW5lR2FwKCk7IH0KLSAgICBm
bG9hdCB4SGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gcHJpbWFyeUZvbnQoKS0+eEhlaWdodCgpOyB9
Ci0gICAgdW5zaWduZWQgdW5pdHNQZXJFbSgpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCkt
PnVuaXRzUGVyRW0oKTsgfQorICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcygpIGNv
bnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmZvbnRNZXRyaWNzKCk7IH0KICAgICBpbnQgc3Bh
Y2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIChpbnQpY2VpbGYocHJpbWFyeUZvbnQoKS0+YWRqdXN0
ZWRTcGFjZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmcpOyB9CiAgICAgZmxvYXQgdGFiV2lkdGgo
Y29uc3QgU2ltcGxlRm9udERhdGEmIGZvbnREYXRhKSBjb25zdCB7IHJldHVybiA4ICogY2VpbGYo
Zm9udERhdGEuYWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBsZXR0ZXJTcGFjaW5nKCkpOyB9CiAgICAg
aW50IGVtcGhhc2lzTWFya0FzY2VudChjb25zdCBBdG9taWNTdHJpbmcmKSBjb25zdDsKSW5kZXg6
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhc3RQYXRoLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYXN0UGF0aC5jcHAJKHJldmlzaW9uIDc0
NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNDEsNyArMjQxLDcgQEAgaW50IEZvbnQ6OmVtcGhhc2lzTWFya0FzY2Vu
dChjb25zdCBBdG9taQogICAgIGlmICghbWFya0ZvbnREYXRhKQogICAgICAgICByZXR1cm4gMDsK
IAotICAgIHJldHVybiBtYXJrRm9udERhdGEtPmFzY2VudCgpOworICAgIHJldHVybiBtYXJrRm9u
dERhdGEtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCk7CiB9CiAKIGludCBGb250OjplbXBoYXNpc01h
cmtEZXNjZW50KGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaykgY29uc3QKQEAgLTI1NSw3ICsyNTUs
NyBAQCBpbnQgRm9udDo6ZW1waGFzaXNNYXJrRGVzY2VudChjb25zdCBBdG9tCiAgICAgaWYgKCFt
YXJrRm9udERhdGEpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIG1hcmtGb250RGF0
YS0+ZGVzY2VudCgpOworICAgIHJldHVybiBtYXJrRm9udERhdGEtPmZvbnRNZXRyaWNzKCkuZGVz
Y2VudCgpOwogfQogCiBpbnQgRm9udDo6ZW1waGFzaXNNYXJrSGVpZ2h0KGNvbnN0IEF0b21pY1N0
cmluZyYgbWFyaykgY29uc3QKQEAgLTI2OSw3ICsyNjksNyBAQCBpbnQgRm9udDo6ZW1waGFzaXNN
YXJrSGVpZ2h0KGNvbnN0IEF0b21pCiAgICAgaWYgKCFtYXJrRm9udERhdGEpCiAgICAgICAgIHJl
dHVybiAwOwogCi0gICAgcmV0dXJuIG1hcmtGb250RGF0YS0+aGVpZ2h0KCk7CisgICAgcmV0dXJu
IG1hcmtGb250RGF0YS0+Zm9udE1ldHJpY3MoKS5oZWlnaHQoKTsKIH0KIAogZmxvYXQgRm9udDo6
Z2V0R2x5cGhzQW5kQWR2YW5jZXNGb3JTaW1wbGVUZXh0KGNvbnN0IFRleHRSdW4mIHJ1biwgaW50
IGZyb20sIGludCB0bywgR2x5cGhCdWZmZXImIGdseXBoQnVmZmVyLCBGb3JUZXh0RW1waGFzaXNP
ck5vdCBmb3JUZXh0RW1waGFzaXMpIGNvbnN0CkBAIC00MDMsOCArNDAzLDggQEAgZmxvYXQgRm9u
dDo6ZmxvYXRXaWR0aEZvclNpbXBsZVRleHQoY29ucwogICAgIGl0LmFkdmFuY2UocnVuLmxlbmd0
aCgpLCBnbHlwaEJ1ZmZlcik7CiAKICAgICBpZiAoZ2x5cGhPdmVyZmxvdykgewotICAgICAgICBn
bHlwaE92ZXJmbG93LT50b3AgPSBtYXg8aW50PihnbHlwaE92ZXJmbG93LT50b3AsIGNlaWxmKC1p
dC5taW5HbHlwaEJvdW5kaW5nQm94WSgpKSAtIGFzY2VudCgpKTsKLSAgICAgICAgZ2x5cGhPdmVy
Zmxvdy0+Ym90dG9tID0gbWF4PGludD4oZ2x5cGhPdmVyZmxvdy0+Ym90dG9tLCBjZWlsZihpdC5t
YXhHbHlwaEJvdW5kaW5nQm94WSgpKSAtIGRlc2NlbnQoKSk7CisgICAgICAgIGdseXBoT3ZlcmZs
b3ctPnRvcCA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYoLWl0Lm1pbkdseXBo
Qm91bmRpbmdCb3hZKCkpIC0gZm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CisgICAgICAgIGdseXBo
T3ZlcmZsb3ctPmJvdHRvbSA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPmJvdHRvbSwgY2VpbGYo
aXQubWF4R2x5cGhCb3VuZGluZ0JveFkoKSkgLSBmb250TWV0cmljcygpLmRlc2NlbnQoKSk7CiAg
ICAgICAgIGdseXBoT3ZlcmZsb3ctPmxlZnQgPSBjZWlsZihpdC5maXJzdEdseXBoT3ZlcmZsb3co
KSk7CiAgICAgICAgIGdseXBoT3ZlcmZsb3ctPnJpZ2h0ID0gY2VpbGYoaXQubGFzdEdseXBoT3Zl
cmZsb3coKSk7CiAgICAgfQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0
cmljcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udE1ldHJp
Y3MuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udE1ldHJp
Y3MuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMjMgQEAKKy8qCisgICAgQ29weXJpZ2h0IChD
KSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
CisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICAgVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisg
ICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgIGFpbnQgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLAorICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKi8K
KworI2lmbmRlZiBGb250TWV0cmljc19oCisjZGVmaW5lIEZvbnRNZXRyaWNzX2gKKworI2luY2x1
ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY29uc3QgdW5z
aWduZWQgZ0RlZmF1bHRVbml0c1BlckVtID0gMTAwMDsKKworY2xhc3MgRm9udE1ldHJpY3Mgewor
cHVibGljOgorICAgIEZvbnRNZXRyaWNzKCkKKyAgICAgICAgOiBtX3VuaXRzUGVyRW0oZ0RlZmF1
bHRVbml0c1BlckVtKQorICAgICAgICAsIG1fYXNjZW50KDApCisgICAgICAgICwgbV9kZXNjZW50
KDApCisgICAgICAgICwgbV9saW5lR2FwKDApCisgICAgICAgICwgbV9saW5lU3BhY2luZygwKQor
ICAgICAgICAsIG1feEhlaWdodCgwKQorICAgIHsKKyAgICB9CisKKyAgICB1bnNpZ25lZCB1bml0
c1BlckVtKCkgY29uc3QgeyByZXR1cm4gbV91bml0c1BlckVtOyB9CisgICAgdm9pZCBzZXRVbml0
c1BlckVtKHVuc2lnbmVkIHVuaXRzUGVyRW0pIHsgbV91bml0c1BlckVtID0gdW5pdHNQZXJFbTsg
fQorCisgICAgZmxvYXQgZmxvYXRBc2NlbnQoRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFs
cGhhYmV0aWNCYXNlbGluZSkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChiYXNlbGluZVR5cGUg
PT0gQWxwaGFiZXRpY0Jhc2VsaW5lKQorICAgICAgICAgICAgcmV0dXJuIG1fYXNjZW50OworICAg
ICAgICByZXR1cm4gZmxvYXRIZWlnaHQoKSAvIDI7CisgICAgfQorCisgICAgdm9pZCBzZXRBc2Nl
bnQoZmxvYXQgYXNjZW50KSB7IG1fYXNjZW50ID0gYXNjZW50OyB9CisKKyAgICBmbG9hdCBmbG9h
dERlc2NlbnQoRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0aWNCYXNlbGluZSkg
Y29uc3QKKyAgICB7CisgICAgICAgIGlmIChiYXNlbGluZVR5cGUgPT0gQWxwaGFiZXRpY0Jhc2Vs
aW5lKQorICAgICAgICAgICAgcmV0dXJuIG1fZGVzY2VudDsKKyAgICAgICAgcmV0dXJuIGZsb2F0
SGVpZ2h0KCkgLyAyOworICAgIH0KKworICAgIHZvaWQgc2V0RGVzY2VudChmbG9hdCBkZXNjZW50
KSB7IG1fZGVzY2VudCA9IGRlc2NlbnQ7IH0KKworICAgIGZsb2F0IGZsb2F0SGVpZ2h0KEZvbnRC
YXNlbGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gZmxvYXRBc2NlbnQoYmFzZWxpbmVUeXBlKSArIGZsb2F0RGVzY2VudChi
YXNlbGluZVR5cGUpOworICAgIH0KKworICAgIGZsb2F0IGZsb2F0TGluZUdhcCgpIGNvbnN0IHsg
cmV0dXJuIG1fbGluZUdhcDsgfQorICAgIHZvaWQgc2V0TGluZUdhcChmbG9hdCBsaW5lR2FwKSB7
IG1fbGluZUdhcCA9IGxpbmVHYXA7IH0KKworICAgIGZsb2F0IGZsb2F0TGluZVNwYWNpbmcoKSBj
b25zdCB7IHJldHVybiBtX2xpbmVTcGFjaW5nOyB9CisgICAgdm9pZCBzZXRMaW5lU3BhY2luZyhm
bG9hdCBsaW5lU3BhY2luZykgeyBtX2xpbmVTcGFjaW5nID0gbGluZVNwYWNpbmc7IH0KKworICAg
IGZsb2F0IHhIZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX3hIZWlnaHQ7IH0KKyAgICB2b2lkIHNl
dFhIZWlnaHQoZmxvYXQgeEhlaWdodCkgeyBtX3hIZWlnaHQgPSB4SGVpZ2h0OyB9CisKKyAgICAv
LyBJbnRlZ2VyIHZhcmlhbnRzIG9mIGNlcnRhaW4gbWV0cmljcywgdXNlZCBmb3IgSFRNTCByZW5k
ZXJpbmcuCisgICAgaW50IGFzY2VudChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFi
ZXRpY0Jhc2VsaW5lKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKGJhc2VsaW5lVHlwZSA9PSBB
bHBoYWJldGljQmFzZWxpbmUpCisgICAgICAgICAgICByZXR1cm4gbHJvdW5kZihtX2FzY2VudCk7
CisgICAgICAgIHJldHVybiBoZWlnaHQoKSAtIGhlaWdodCgpIC8gMjsKKyAgICB9CisKKyAgICBp
bnQgZGVzY2VudChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5l
KSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKGJhc2VsaW5lVHlwZSA9PSBBbHBoYWJldGljQmFz
ZWxpbmUpCisgICAgICAgICAgICByZXR1cm4gbHJvdW5kZihtX2Rlc2NlbnQpOworICAgICAgICBy
ZXR1cm4gaGVpZ2h0KCkgLyAyOworICAgIH0KKworICAgIGludCBoZWlnaHQoRm9udEJhc2VsaW5l
IGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0aWNCYXNlbGluZSkgY29uc3QKKyAgICB7CisgICAgICAg
IHJldHVybiBhc2NlbnQoYmFzZWxpbmVUeXBlKSArIGRlc2NlbnQoYmFzZWxpbmVUeXBlKTsKKyAg
ICB9CisKKyAgICBpbnQgbGluZUdhcCgpIGNvbnN0IHsgcmV0dXJuIGxyb3VuZGYobV9saW5lR2Fw
KTsgfQorICAgIGludCBsaW5lU3BhY2luZygpIGNvbnN0IHsgcmV0dXJuIGxyb3VuZGYobV9saW5l
U3BhY2luZyk7IH0KKworcHJpdmF0ZToKKyAgICBmcmllbmQgY2xhc3MgU2ltcGxlRm9udERhdGE7
CisKKyAgICB2b2lkIHJlc2V0KCkKKyAgICB7CisgICAgICAgIG1fdW5pdHNQZXJFbSA9IGdEZWZh
dWx0VW5pdHNQZXJFbTsKKyAgICAgICAgbV9hc2NlbnQgPSAwOworICAgICAgICBtX2Rlc2NlbnQg
PSAwOworICAgICAgICBtX2xpbmVHYXAgPSAwOworICAgICAgICBtX2xpbmVTcGFjaW5nID0gMDsK
KyAgICAgICAgbV94SGVpZ2h0ID0gMDsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgdW5zaWduZWQg
bV91bml0c1BlckVtOworICAgIGZsb2F0IG1fYXNjZW50OworICAgIGZsb2F0IG1fZGVzY2VudDsK
KyAgICBmbG9hdCBtX2xpbmVHYXA7CisgICAgZmxvYXQgbV9saW5lU3BhY2luZzsKKyAgICBmbG9h
dCBtX3hIZWlnaHQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBG
b250TWV0cmljc19oCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnRE
YXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZv
bnREYXRhLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1NpbXBsZUZvbnREYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNyArNTAsNiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBTaW1wbGVGb250RGF0YTo6U2ltcGxlRm9udERhdGEoY29uc3QgRm9u
dFBsYXRmb3JtRGF0YSYgcGxhdGZvcm1EYXRhLCBib29sIGlzQ3VzdG9tRm9udCwgYm9vbCBpc0xv
YWRpbmcpCiAgICAgOiBtX21heENoYXJXaWR0aCgtMSkKICAgICAsIG1fYXZnQ2hhcldpZHRoKC0x
KQotICAgICwgbV91bml0c1BlckVtKGRlZmF1bHRVbml0c1BlckVtKQogICAgICwgbV9vcmllbnRh
dGlvbihwbGF0Zm9ybURhdGEub3JpZW50YXRpb24oKSkKICAgICAsIG1fcGxhdGZvcm1EYXRhKHBs
YXRmb3JtRGF0YSkKICAgICAsIG1fdHJlYXRBc0ZpeGVkUGl0Y2goZmFsc2UpCkBAIC03NCwyMyAr
NzMsMjkgQEAgU2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnREYXRhKFBhc3NPd25QdAogICAgICwg
bV9pc0Jyb2tlbklkZW9ncmFwaEZvbnQoZmFsc2UpCiB7CiAgICAgU1ZHRm9udEZhY2VFbGVtZW50
KiBzdmdGb250RmFjZUVsZW1lbnQgPSBtX3N2Z0ZvbnREYXRhLT5zdmdGb250RmFjZUVsZW1lbnQo
KTsKLSAgICBtX3VuaXRzUGVyRW0gPSBzdmdGb250RmFjZUVsZW1lbnQtPnVuaXRzUGVyRW0oKTsK
KyAgICB1bnNpZ25lZCB1bml0c1BlckVtID0gc3ZnRm9udEZhY2VFbGVtZW50LT51bml0c1BlckVt
KCk7CiAKLSAgICBkb3VibGUgc2NhbGUgPSBzaXplOwotICAgIGlmIChtX3VuaXRzUGVyRW0pCi0g
ICAgICAgIHNjYWxlIC89IG1fdW5pdHNQZXJFbTsKLQotICAgIG1fYXNjZW50ID0gc3RhdGljX2Nh
c3Q8aW50PihzdmdGb250RmFjZUVsZW1lbnQtPmFzY2VudCgpICogc2NhbGUpOwotICAgIG1fZGVz
Y2VudCA9IHN0YXRpY19jYXN0PGludD4oc3ZnRm9udEZhY2VFbGVtZW50LT5kZXNjZW50KCkgKiBz
Y2FsZSk7Ci0gICAgbV94SGVpZ2h0ID0gc3RhdGljX2Nhc3Q8aW50PihzdmdGb250RmFjZUVsZW1l
bnQtPnhIZWlnaHQoKSAqIHNjYWxlKTsKLSAgICBtX2xpbmVHYXAgPSAwLjFmICogc2l6ZTsKLSAg
ICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rlc2NlbnQgKyBtX2xpbmVHYXA7CisgICAg
ZmxvYXQgc2NhbGUgPSBzaXplOworICAgIGlmICh1bml0c1BlckVtKQorICAgICAgICBzY2FsZSAv
PSB1bml0c1BlckVtOworCisgICAgLy8gRklYTUU6IFVzZSBmbG9hdGluZy1wb2ludCBtZXRyaWNz
LCBub3cgdGhhdCB0aGV5J3JlIGV4cG9zZWQhCisgICAgaW50IHhIZWlnaHQgPSBzdGF0aWNfY2Fz
dDxpbnQ+KHN2Z0ZvbnRGYWNlRWxlbWVudC0+eEhlaWdodCgpICogc2NhbGUpOworICAgIGludCBh
c2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KHN2Z0ZvbnRGYWNlRWxlbWVudC0+YXNjZW50KCkgKiBz
Y2FsZSk7CisgICAgaW50IGRlc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KHN2Z0ZvbnRGYWNlRWxl
bWVudC0+ZGVzY2VudCgpICogc2NhbGUpOworICAgIGludCBsaW5lR2FwID0gMC4xZiAqIHNpemU7
CisgICAgbV9mb250TWV0cmljcy5zZXRVbml0c1BlckVtKHVuaXRzUGVyRW0pOworICAgIG1fZm9u
dE1ldHJpY3Muc2V0QXNjZW50KGFzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50
KGRlc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChsaW5lR2FwKTsKKyAgICBt
X2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGFzY2VudCArIGRlc2NlbnQgKyBsaW5lR2FwKTsK
KyAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQoeEhlaWdodCk7CiAKICAgICBTVkdGb250RWxl
bWVudCogYXNzb2NpYXRlZEZvbnRFbGVtZW50ID0gc3ZnRm9udEZhY2VFbGVtZW50LT5hc3NvY2lh
dGVkRm9udEVsZW1lbnQoKTsKIAogICAgIFZlY3RvcjxTVkdHbHlwaElkZW50aWZpZXI+IHNwYWNl
R2x5cGhzOwogICAgIGFzc29jaWF0ZWRGb250RWxlbWVudC0+Z2V0R2x5cGhJZGVudGlmaWVyc0Zv
clN0cmluZyhTdHJpbmcoIiAiLCAxKSwgc3BhY2VHbHlwaHMpOwotICAgIG1fc3BhY2VXaWR0aCA9
IHNwYWNlR2x5cGhzLmlzRW1wdHkoKSA/IG1feEhlaWdodCA6IHN0YXRpY19jYXN0PGZsb2F0Pihz
cGFjZUdseXBocy5maXJzdCgpLmhvcml6b250YWxBZHZhbmNlWCAqIHNjYWxlKTsKKyAgICBtX3Nw
YWNlV2lkdGggPSBzcGFjZUdseXBocy5pc0VtcHR5KCkgPyB4SGVpZ2h0IDogc3RhdGljX2Nhc3Q8
ZmxvYXQ+KHNwYWNlR2x5cGhzLmZpcnN0KCkuaG9yaXpvbnRhbEFkdmFuY2VYICogc2NhbGUpOwog
CiAgICAgVmVjdG9yPFNWR0dseXBoSWRlbnRpZmllcj4gbnVtZXJhbFplcm9HbHlwaHM7CiAgICAg
YXNzb2NpYXRlZEZvbnRFbGVtZW50LT5nZXRHbHlwaElkZW50aWZpZXJzRm9yU3RyaW5nKFN0cmlu
ZygiMCIsIDEpLCBudW1lcmFsWmVyb0dseXBocyk7CkBAIC05OCw3ICsxMDMsNyBAQCBTaW1wbGVG
b250RGF0YTo6U2ltcGxlRm9udERhdGEoUGFzc093blB0CiAKICAgICBWZWN0b3I8U1ZHR2x5cGhJ
ZGVudGlmaWVyPiBsZXR0ZXJXR2x5cGhzOwogICAgIGFzc29jaWF0ZWRGb250RWxlbWVudC0+Z2V0
R2x5cGhJZGVudGlmaWVyc0ZvclN0cmluZyhTdHJpbmcoIlciLCAxKSwgbGV0dGVyV0dseXBocyk7
Ci0gICAgbV9tYXhDaGFyV2lkdGggPSBsZXR0ZXJXR2x5cGhzLmlzRW1wdHkoKSA/IG1fYXNjZW50
IDogc3RhdGljX2Nhc3Q8ZmxvYXQ+KGxldHRlcldHbHlwaHMuZmlyc3QoKS5ob3Jpem9udGFsQWR2
YW5jZVggKiBzY2FsZSk7CisgICAgbV9tYXhDaGFyV2lkdGggPSBsZXR0ZXJXR2x5cGhzLmlzRW1w
dHkoKSA/IGFzY2VudCA6IHN0YXRpY19jYXN0PGZsb2F0PihsZXR0ZXJXR2x5cGhzLmZpcnN0KCku
aG9yaXpvbnRhbEFkdmFuY2VYICogc2NhbGUpOwogCiAgICAgLy8gRklYTUU6IGlzIHRoZXJlIGEg
d2F5IHdlIGNhbiBnZXQgdGhlIHNwYWNlIGdseXBoIGZyb20gdGhlIFNWR0dseXBoSWRlbnRpZmll
ciBhYm92ZT8KICAgICBtX3NwYWNlR2x5cGggPSAwOwpAQCAtMTI2LDEwICsxMzEsMTEgQEAgdm9p
ZCBTaW1wbGVGb250RGF0YTo6aW5pdENoYXJXaWR0aHMoKQogCiAgICAgLy8gSWYgd2UgY2FuJ3Qg
cmV0cmlldmUgdGhlIHdpZHRoIG9mIGEgJzAnLCBmYWxsIGJhY2sgdG8gdGhlIHggaGVpZ2h0Lgog
ICAgIGlmIChtX2F2Z0NoYXJXaWR0aCA8PSAwLmYpCi0gICAgICAgIG1fYXZnQ2hhcldpZHRoID0g
bV94SGVpZ2h0OworICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9IG1fZm9udE1ldHJpY3MueEhlaWdo
dCgpOwogCisgICAgLy8gRklYTUU6IFVzZSBmbG9hdGluZy1wb2ludCBtZXRyaWNzLCBub3cgdGhh
dCB0aGV5J3JlIGV4cG9zZWQhCiAgICAgaWYgKG1fbWF4Q2hhcldpZHRoIDw9IDAuZikKLSAgICAg
ICAgbV9tYXhDaGFyV2lkdGggPSBtYXg8ZmxvYXQ+KG1fYXZnQ2hhcldpZHRoLCBtX2FzY2VudCk7
CisgICAgICAgIG1fbWF4Q2hhcldpZHRoID0gbWF4PGZsb2F0PihtX2F2Z0NoYXJXaWR0aCwgbV9m
b250TWV0cmljcy5hc2NlbnQoKSk7CiB9CiAKIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3Jt
R2x5cGhJbml0KCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERh
dGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnRE
YXRhLmgJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1w
bGVGb250RGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAKICNpbmNsdWRl
ICJGb250QmFzZWxpbmUuaCIKICNpbmNsdWRlICJGb250RGF0YS5oIgorI2luY2x1ZGUgIkZvbnRN
ZXRyaWNzLmgiCiAjaW5jbHVkZSAiRm9udFBsYXRmb3JtRGF0YS5oIgogI2luY2x1ZGUgIkZsb2F0
UmVjdC5oIgogI2luY2x1ZGUgIkdseXBoTWV0cmljc01hcC5oIgpAQCAtMTAxLDE1ICsxMDIsOSBA
QCBwdWJsaWM6CiAgICAgLy8gRklYTUU6IFVzZSB0aGUgYWN0dWFsIG1ldHJpY3MgZm9yIGZvbnRz
IHdpdGggdmVydGljYWwgdGFibGVzIGluc3RlYWQgb2YganVzdCBoYXJkLWNvZGluZy4gIElmIHRo
ZSBmb250IGlzIGhvcml6b250YWxseSBvcmllbnRlZCBvcgogICAgIC8vIGEgYnJva2VuIGlkZW9n
cmFwaGljIGZvbnQsIHRoZW4ganVzdCBoYXJkLWNvZGUgdG8gc3BsaXQgYXNjZW50L2Rlc2NlbnQg
ZG93biB0aGUgbWlkZGxlLiAgT3RoZXJ3aXNlIHdlIHNob3VsZCBhY3R1YWxseSB1c2UgdGhlIG1l
dHJpY3MKICAgICAvLyBmcm9tIHRoZSBmb250IGl0c2VsZi4KLSAgICBpbnQgYXNjZW50KEZvbnRC
YXNlbGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0IHsgcmV0dXJu
IGJhc2VsaW5lVHlwZSA9PSBBbHBoYWJldGljQmFzZWxpbmUgPyBtX2FzY2VudCA6IGhlaWdodCgp
IC0gaGVpZ2h0KCkgLyAyOyB9Ci0gICAgaW50IGRlc2NlbnQoRm9udEJhc2VsaW5lIGJhc2VsaW5l
VHlwZSA9IEFscGhhYmV0aWNCYXNlbGluZSkgY29uc3QgeyByZXR1cm4gYmFzZWxpbmVUeXBlID09
IEFscGhhYmV0aWNCYXNlbGluZSA/IG1fZGVzY2VudCA6IGhlaWdodCgpIC8gMjsgfQotICAgIGlu
dCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX2FzY2VudCArIG1fZGVzY2VudDsgfQotICAgIGlu
dCBsaW5lU3BhY2luZygpIGNvbnN0IHsgcmV0dXJuIG1fbGluZVNwYWNpbmc7IH0KLSAgICBpbnQg
bGluZUdhcCgpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUdhcDsgfQorICAgIGNvbnN0IEZvbnRNZXRy
aWNzJiBmb250TWV0cmljcygpIGNvbnN0IHsgcmV0dXJuIG1fZm9udE1ldHJpY3M7IH0KICAgICBm
bG9hdCBtYXhDaGFyV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX21heENoYXJXaWR0aDsgfQogICAg
IGZsb2F0IGF2Z0NoYXJXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fYXZnQ2hhcldpZHRoOyB9Ci0g
ICAgZmxvYXQgeEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1feEhlaWdodDsgfQotICAgIHVuc2ln
bmVkIHVuaXRzUGVyRW0oKSBjb25zdCB7IHJldHVybiBtX3VuaXRzUGVyRW07IH0KIAogICAgIEZs
b2F0UmVjdCBib3VuZHNGb3JHbHlwaChHbHlwaCkgY29uc3Q7CiAgICAgZmxvYXQgd2lkdGhGb3JH
bHlwaChHbHlwaCBnbHlwaCkgY29uc3Q7CkBAIC0yMTEsMTQgKzIwNiw5IEBAIHByaXZhdGU6CiAg
ICAgZmxvYXQgd2lkdGhGb3JHRElHbHlwaChHbHlwaCBnbHlwaCkgY29uc3Q7CiAjZW5kaWYKIAot
ICAgIGludCBtX2FzY2VudDsKLSAgICBpbnQgbV9kZXNjZW50OwotICAgIGludCBtX2xpbmVTcGFj
aW5nOwotICAgIGludCBtX2xpbmVHYXA7CisgICAgRm9udE1ldHJpY3MgbV9mb250TWV0cmljczsK
ICAgICBmbG9hdCBtX21heENoYXJXaWR0aDsKICAgICBmbG9hdCBtX2F2Z0NoYXJXaWR0aDsKLSAg
ICBmbG9hdCBtX3hIZWlnaHQ7Ci0gICAgdW5zaWduZWQgbV91bml0c1BlckVtOwogICAgIAogICAg
IEZvbnRPcmllbnRhdGlvbiBtX29yaWVudGF0aW9uOyAvLyBUaGlzIGlzIG91ciBzdXBwb3J0ZWQg
b3JpZW50YXRpb24gYWNjb3JkaW5nIHRvIHRoZSB0YWJsZXMgaW4gdGhlIGZvbnQuICBGb250UGxh
dGZvcm1EYXRhIHdpbGwganVzdCBhbHdheXMgaGF2ZSB0aGUgZGVzaXJlZCBvcmllbnRhdGlvbi4K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyB2YWx1ZSByZXByZXNl
bnRzIHdoYXQgd2UgYWN0dWFsbHkgc3VwcG9ydC4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vRm9udENocm9taXVtV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1bVdpbi5jcHAJKHJldmlzaW9u
IDc0NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2hyb21p
dW1XaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDYsMTAgKzI0NiwxMSBAQCBJbnRSZWN0IFRy
YW5zcGFyZW5jeUF3YXJlR2x5cGhQYWludGVyOjplCiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBt
X251bUdseXBoczsgaSsrKQogICAgICAgICB0b3RhbFdpZHRoICs9IGxyb3VuZGYobV9nbHlwaEJ1
ZmZlci5hZHZhbmNlQXQobV9mcm9tICsgaSkpOwogCi0gICAgcmV0dXJuIEludFJlY3QobV9wb2lu
dC54KCkgLSAobV9mb250LT5hc2NlbnQoKSArIG1fZm9udC0+ZGVzY2VudCgpKSAvIDIsCi0gICAg
ICAgICAgICAgICAgICAgbV9wb2ludC55KCkgLSBtX2ZvbnQtPmFzY2VudCgpIC0gbV9mb250LT5s
aW5lR2FwKCksCi0gICAgICAgICAgICAgICAgICAgdG90YWxXaWR0aCArIG1fZm9udC0+YXNjZW50
KCkgKyBtX2ZvbnQtPmRlc2NlbnQoKSwKLSAgICAgICAgICAgICAgICAgICBtX2ZvbnQtPmxpbmVT
cGFjaW5nKCkpOyAKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBtX2ZvbnQt
PmZvbnRNZXRyaWNzKCk7CisgICAgcmV0dXJuIEludFJlY3QobV9wb2ludC54KCkgLSAoZm9udE1l
dHJpY3MuYXNjZW50KCkgKyBmb250TWV0cmljcy5kZXNjZW50KCkpIC8gMiwKKyAgICAgICAgICAg
ICAgICAgICBtX3BvaW50LnkoKSAtIGZvbnRNZXRyaWNzLmFzY2VudCgpIC0gZm9udE1ldHJpY3Mu
bGluZUdhcCgpLAorICAgICAgICAgICAgICAgICAgIHRvdGFsV2lkdGggKyBmb250TWV0cmljcy5h
c2NlbnQoKSArIGZvbnRNZXRyaWNzLmRlc2NlbnQoKSwKKyAgICAgICAgICAgICAgICAgICBmb250
TWV0cmljcy5saW5lU3BhY2luZygpKTsgCiB9CiAKIGJvb2wgVHJhbnNwYXJlbmN5QXdhcmVHbHlw
aFBhaW50ZXI6OmRyYXdHbHlwaHMoaW50IG51bUdseXBocywKQEAgLTI3MCw3ICsyNzEsNyBAQCBi
b29sIFRyYW5zcGFyZW5jeUF3YXJlR2x5cGhQYWludGVyOjpkcmF3CiAgICAgLy8gV2luZG93cycg
b3JpZ2luIGlzIHRoZSB0b3AtbGVmdCBvZiB0aGUgYm91bmRpbmcgYm94LCBzbyB3ZSBoYXZlCiAg
ICAgLy8gdG8gc3VidHJhY3Qgb2ZmIHRoZSBmb250IGFzY2VudCB0byBnZXQgaXQuCiAgICAgaW50
IHggPSBscm91bmRmKG1fcG9pbnQueCgpICsgc3RhcnRBZHZhbmNlKTsKLSAgICBpbnQgeSA9IGxy
b3VuZGYobV9wb2ludC55KCkgLSBtX2ZvbnQtPmFzY2VudCgpKTsKKyAgICBpbnQgeSA9IGxyb3Vu
ZGYobV9wb2ludC55KCkgLSBtX2ZvbnQtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwogCiAgICAg
Ly8gSWYgdGhlcmUgaXMgYSBub24tYmx1ciBzaGFkb3cgYW5kIGJvdGggdGhlIGZpbGwgY29sb3Ig
YW5kIHNoYWRvdyBjb2xvciAKICAgICAvLyBhcmUgb3BhcXVlLCBoYW5kbGUgd2l0aG91dCBza2lh
LiAKQEAgLTM1NCwxMCArMzU1LDExIEBAIEludFJlY3QgVHJhbnNwYXJlbmN5QXdhcmVVbmlzY3Jp
YmVQYWludGUKICAgICAvLyBUaGlzIGFsZ29yaXRobSBmb3IgZXN0aW1hdGluZyBob3cgbXVjaCBl
eHRyYSBzcGFjZSB3ZSBuZWVkICh0aGUgdGV4dCBtYXkKICAgICAvLyBnbyBvdXRzaWRlIHRoZSBz
ZWxlY3Rpb24gcmVjdCkgaXMgYmFzZWQgcm91Z2hseSBvbgogICAgIC8vIFRyYW5zcGFyZW5jeUF3
YXJlR2x5cGhQYWludGVyOjplc3RpbWF0ZVRleHRCb3VuZHMgYWJvdmUuCi0gICAgcmV0dXJuIElu
dFJlY3QobGVmdCAtIChtX2ZvbnQtPmFzY2VudCgpICsgbV9mb250LT5kZXNjZW50KCkpIC8gMiwK
LSAgICAgICAgICAgICAgICAgICBtX3BvaW50LnkoKSAtIG1fZm9udC0+YXNjZW50KCkgLSBtX2Zv
bnQtPmxpbmVHYXAoKSwKLSAgICAgICAgICAgICAgICAgICAocmlnaHQgLSBsZWZ0KSArIG1fZm9u
dC0+YXNjZW50KCkgKyBtX2ZvbnQtPmRlc2NlbnQoKSwKLSAgICAgICAgICAgICAgICAgICBtX2Zv
bnQtPmxpbmVTcGFjaW5nKCkpOworICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9
IG1fZm9udC0+Zm9udE1ldHJpY3MoKTsKKyAgICByZXR1cm4gSW50UmVjdChsZWZ0IC0gKGZvbnRN
ZXRyaWNzLmFzY2VudCgpICsgZm9udE1ldHJpY3MuZGVzY2VudCgpKSAvIDIsCisgICAgICAgICAg
ICAgICAgICAgbV9wb2ludC55KCkgLSBmb250TWV0cmljcy5hc2NlbnQoKSAtIGZvbnRNZXRyaWNz
LmxpbmVHYXAoKSwKKyAgICAgICAgICAgICAgICAgICAocmlnaHQgLSBsZWZ0KSArIGZvbnRNZXRy
aWNzLmFzY2VudCgpICsgZm9udE1ldHJpY3MuZGVzY2VudCgpLAorICAgICAgICAgICAgICAgICAg
IGZvbnRNZXRyaWNzLmxpbmVTcGFjaW5nKCkpOwogfQogCiB9ICAvLyBuYW1lc3BhY2UKQEAgLTQ5
NiwxNCArNDk4LDE0IEBAIHZvaWQgRm9udDo6ZHJhd0NvbXBsZXhUZXh0KEdyYXBoaWNzQ29udGUK
ICAgICAgICAgQ09MT1JSRUYgc2F2ZWRUZXh0Q29sb3IgPSBHZXRUZXh0Q29sb3IoaGRjKTsKICAg
ICAgICAgU2V0VGV4dENvbG9yKGhkYywgdGV4dENvbG9yKTsKICAgICAgICAgc3RhdGUuZHJhdyhn
cmFwaGljc0NvbnRleHQsIGhkYywgc3RhdGljX2Nhc3Q8aW50Pihwb2ludC54KCkpICsgc2hhZG93
T2Zmc2V0LndpZHRoKCksCi0gICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihwb2lu
dC55KCkgLSBhc2NlbnQoKSkgKyBzaGFkb3dPZmZzZXQuaGVpZ2h0KCksIGZyb20sIHRvKTsKKyAg
ICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KHBvaW50LnkoKSAtIGZvbnRNZXRyaWNz
KCkuYXNjZW50KCkpICsgc2hhZG93T2Zmc2V0LmhlaWdodCgpLCBmcm9tLCB0byk7CiAgICAgICAg
IFNldFRleHRDb2xvcihoZGMsIHNhdmVkVGV4dENvbG9yKTsgCiAgICAgfQogCiAgICAgLy8gVW5p
c2NyaWJlIGNvdW50cyB0aGUgY29vcmRpbmF0ZXMgZnJvbSB0aGUgdXBwZXIgbGVmdCwgd2hpbGUg
V2ViS2l0IHVzZXMKICAgICAvLyB0aGUgYmFzZWxpbmUsIHNvIHdlIGhhdmUgdG8gc3VidHJhY3Qg
b2ZmIHRoZSBhc2NlbnQuCiAgICAgc3RhdGUuZHJhdyhncmFwaGljc0NvbnRleHQsIGhkYywgc3Rh
dGljX2Nhc3Q8aW50Pihwb2ludC54KCkpLAotICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50
Pihwb2ludC55KCkgLSBhc2NlbnQoKSksIGZyb20sIHRvKTsKKyAgICAgICAgICAgICAgIHN0YXRp
Y19jYXN0PGludD4ocG9pbnQueSgpIC0gZm9udE1ldHJpY3MoKS5hc2NlbnQoKSksIGZyb20sIHRv
KTsKIAogICAgIGNvbnRleHQtPmNhbnZhcygpLT5lbmRQbGF0Zm9ybVBhaW50KCk7CiB9CkluZGV4
OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhQ2hyb21p
dW1XaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vU2ltcGxlRm9udERhdGFDaHJvbWl1bVdpbi5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2lu
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsMTQgKzU0LDkgQEAgc3RhdGljIGlubGluZSBmbG9h
dCBzY2FsZUVtVG9Vbml0cyhmbG9hdAogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0
KCkKIHsKICAgICBpZiAoIW1fcGxhdGZvcm1EYXRhLnNpemUoKSkgewotICAgICAgICBtX2FzY2Vu
dCA9IDA7Ci0gICAgICAgIG1fZGVzY2VudCA9IDA7Ci0gICAgICAgIG1fbGluZUdhcCA9IDA7Ci0g
ICAgICAgIG1fbGluZVNwYWNpbmcgPSAwOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnJlc2V0KCk7
CiAgICAgICAgIG1fYXZnQ2hhcldpZHRoID0gMDsKICAgICAgICAgbV9tYXhDaGFyV2lkdGggPSAw
OwotICAgICAgICBtX3hIZWlnaHQgPSAwOwotICAgICAgICBtX3VuaXRzUGVyRW0gPSAwOwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCkBAIC04MiwxMCArNzcsMTEgQEAgdm9pZCBTaW1wbGVGb250
RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICBtX2F2Z0NoYXJXaWR0aCA9IHRleHRNZXRyaWMudG1B
dmVDaGFyV2lkdGg7CiAgICAgbV9tYXhDaGFyV2lkdGggPSB0ZXh0TWV0cmljLnRtTWF4Q2hhcldp
ZHRoOwogCi0gICAgbV9hc2NlbnQgPSB0ZXh0TWV0cmljLnRtQXNjZW50OwotICAgIG1fZGVzY2Vu
dCA9IHRleHRNZXRyaWMudG1EZXNjZW50OwotICAgIG1fbGluZUdhcCA9IHRleHRNZXRyaWMudG1F
eHRlcm5hbExlYWRpbmc7Ci0gICAgbV94SGVpZ2h0ID0gbV9hc2NlbnQgKiAwLjU2ZjsgIC8vIEJl
c3QgZ3Vlc3MgZm9yIHhIZWlnaHQgZm9yIG5vbi1UcnVldHlwZSBmb250cy4KKyAgICAvLyBGSVhN
RTogQWNjZXNzIGFzY2VudC9kZXNjZW50L2xpbmVHYXAgd2l0aCBmbG9hdGluZyBwb2ludCBwcmVj
aXNpb24uCisgICAgZmxvYXQgYXNjZW50ID0gdGV4dE1ldHJpYy50bUFzY2VudDsKKyAgICBmbG9h
dCBkZXNjZW50ID0gdGV4dE1ldHJpYy50bURlc2NlbnQ7CisgICAgZmxvYXQgbGluZUdhcCA9IHRl
eHRNZXRyaWMudG1FeHRlcm5hbExlYWRpbmc7CisgICAgZmxvYXQgeEhlaWdodCA9IGFzY2VudCAq
IDAuNTZmOyAvLyBCZXN0IGd1ZXNzIGZvciB4SGVpZ2h0IGZvciBub24tVHJ1ZXR5cGUgZm9udHMu
CiAKICAgICBPVVRMSU5FVEVYVE1FVFJJQyBvdXRsaW5lVGV4dE1ldHJpYzsKICAgICBpZiAoR2V0
T3V0bGluZVRleHRNZXRyaWNzKGRjLCBzaXplb2Yob3V0bGluZVRleHRNZXRyaWMpLCAmb3V0bGlu
ZVRleHRNZXRyaWMpID4gMCkgewpAQCAtOTQsMTAgKzkwLDE0IEBAIHZvaWQgU2ltcGxlRm9udERh
dGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgICAgIE1BVDIgaWRlbnRpdHlNYXRyaXggPSB7ezAsIDF9
LCB7MCwgMH0sIHswLCAwfSwgezAsIDF9fTsKICAgICAgICAgRFdPUkQgbGVuID0gR2V0R2x5cGhP
dXRsaW5lVyhkYywgJ3gnLCBHR09fTUVUUklDUywgJmdseXBoTWV0cmljcywgMCwgMCwgJmlkZW50
aXR5TWF0cml4KTsKICAgICAgICAgaWYgKGxlbiAhPSBHRElfRVJST1IgJiYgZ2x5cGhNZXRyaWNz
LmdtQmxhY2tCb3hZID4gMCkKLSAgICAgICAgICAgIG1feEhlaWdodCA9IHN0YXRpY19jYXN0PGZs
b2F0PihnbHlwaE1ldHJpY3MuZ21CbGFja0JveFkpOworICAgICAgICAgICAgeEhlaWdodCA9IHN0
YXRpY19jYXN0PGZsb2F0PihnbHlwaE1ldHJpY3MuZ21CbGFja0JveFkpOwogICAgIH0KIAotICAg
IG1fbGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2VudCArIG1fbGluZUdhcDsKKyAgICBt
X2ZvbnRNZXRyaWNzLnNldEFzY2VudChhc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVz
Y2VudChkZXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZUdhcCk7Cisg
ICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhhc2NlbnQgKyBkZXNjZW50ICsgbGluZUdh
cCk7CisgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHhIZWlnaHQpOwogCiAgICAgU2VsZWN0
T2JqZWN0KGRjLCBvbGRGb250KTsKICAgICBSZWxlYXNlREMoMCwgZGMpOwpJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUxpbnV4LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnRE
YXRhTGludXguY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFMaW51eC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1
LDE0ICs1NSw5IEBAIHN0YXRpYyBjb25zdCBzaXplX3QgbWF4VkRNWFRhYmxlU2l6ZSA9IDEKIHZv
aWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiB7CiAgICAgaWYgKCFtX3BsYXRmb3Jt
RGF0YS5zaXplKCkpIHsKLSAgICAgICAgbV9hc2NlbnQgPSAwOwotICAgICAgICBtX2Rlc2NlbnQg
PSAwOwotICAgICAgICBtX2xpbmVHYXAgPSAwOwotICAgICAgICBtX2xpbmVTcGFjaW5nID0gMDsK
KyAgICAgICAgbV9mb250TWV0cmljcy5yZXNldCgpOwogICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9
IDA7CiAgICAgICAgIG1fbWF4Q2hhcldpZHRoID0gMDsKLSAgICAgICAgbV94SGVpZ2h0ID0gMDsK
LSAgICAgICAgbV91bml0c1BlckVtID0gMDsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAt
ODgsMjYgKzgzLDM2IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAg
ICAgIGZhc3RGcmVlKHZkbXhUYWJsZSk7CiAgICAgfQogCisgICAgZmxvYXQgYXNjZW50OworICAg
IGZsb2F0IGRlc2NlbnQ7CisKICAgICAvLyBCZXdhcmUgdGhvc2Ugd2hvIHN0ZXAgaGVyZTogVGhp
cyBjb2RlIGlzIGRlc2lnbmVkIHRvIG1hdGNoIFdpbjMyIGZvbnQKICAgICAvLyBtZXRyaWNzICpl
eGFjdGx5Ki4KICAgICBpZiAoaXNWRE1YVmFsaWQpIHsKLSAgICAgICAgbV9hc2NlbnQgPSB2ZG14
QXNjZW50OwotICAgICAgICBtX2Rlc2NlbnQgPSAtdmRteERlc2NlbnQ7CisgICAgICAgIC8vIEZJ
WE1FOiBBY2Nlc3MgYXNjZW50L2Rlc2NlbnQgd2l0aCBmbG9hdGluZyBwb2ludCBwcmVjaXNpb24u
CisgICAgICAgIGFzY2VudCA9IHZkbXhBc2NlbnQ7CisgICAgICAgIGRlc2NlbnQgPSAtdmRteERl
c2NlbnQ7CiAgICAgfSBlbHNlIHsKICAgICAgICAgU2tTY2FsYXIgaGVpZ2h0ID0gLW1ldHJpY3Mu
ZkFzY2VudCArIG1ldHJpY3MuZkRlc2NlbnQgKyBtZXRyaWNzLmZMZWFkaW5nOwotICAgICAgICBt
X2FzY2VudCA9IFNrU2NhbGFyUm91bmQoLW1ldHJpY3MuZkFzY2VudCk7Ci0gICAgICAgIG1fZGVz
Y2VudCA9IFNrU2NhbGFyUm91bmQoaGVpZ2h0KSAtIG1fYXNjZW50OworICAgICAgICBhc2NlbnQg
PSBTa1NjYWxhclRvRmxvYXQoLW1ldHJpY3MuZkFzY2VudCk7CisgICAgICAgIGRlc2NlbnQgPSBT
a1NjYWxhclRvRmxvYXQoaGVpZ2h0KSAtIGFzY2VudDsKICAgICB9CiAKKyAgICBtX2ZvbnRNZXRy
aWNzLnNldEFzY2VudChhc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChkZXNj
ZW50KTsKKworICAgIGZsb2F0IHhIZWlnaHQ7CiAgICAgaWYgKG1ldHJpY3MuZlhIZWlnaHQpCi0g
ICAgICAgIG1feEhlaWdodCA9IG1ldHJpY3MuZlhIZWlnaHQ7CisgICAgICAgIHhIZWlnaHQgPSBt
ZXRyaWNzLmZYSGVpZ2h0OwogICAgIGVsc2UgewogICAgICAgICAvLyBoYWNrIHRha2VuIGZyb20g
dGhlIFdpbmRvd3MgcG9ydAotICAgICAgICBtX3hIZWlnaHQgPSBzdGF0aWNfY2FzdDxmbG9hdD4o
bV9hc2NlbnQpICogMC41NjsKKyAgICAgICAgeEhlaWdodCA9IGFzY2VudCAqIDAuNTZmOwogICAg
IH0KIAotICAgIG1fbGluZUdhcCA9IFNrU2NhbGFyUm91bmQobWV0cmljcy5mTGVhZGluZyk7Ci0g
ICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50ICsgbV9saW5lR2FwOworICAg
IGZsb2F0IGxpbmVHYXAgPSBTa1NjYWxhclRvRmxvYXQobWV0cmljcy5mTGVhZGluZyk7CisgICAg
bV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0
TGluZVNwYWNpbmcoYXNjZW50ICsgZGVzY2VudCArIGxpbmVHYXApOworICAgIG1fZm9udE1ldHJp
Y3Muc2V0WEhlaWdodCh4SGVpZ2h0KTsKIAogICAgIGlmIChtX29yaWVudGF0aW9uID09IFZlcnRp
Y2FsKSB7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1aW50MzJfdCB2aGVhVGFnID0gU2tTZXRGb3Vy
Qnl0ZVRhZygndicsICdoJywgJ2UnLCAnYScpOwpAQCAtMTI4LDcgKzEzMyw3IEBAIHZvaWQgU2lt
cGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgaWYgKG1ldHJpY3MuZkF2Z0NoYXJXaWR0
aCkKICAgICAgICAgbV9hdmdDaGFyV2lkdGggPSBTa1NjYWxhclJvdW5kKG1ldHJpY3MuZkF2Z0No
YXJXaWR0aCk7CiAgICAgZWxzZSB7Ci0gICAgICAgIG1fYXZnQ2hhcldpZHRoID0gbV94SGVpZ2h0
OworICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9IHhIZWlnaHQ7CiAKICAgICAgICAgR2x5cGhQYWdl
KiBnbHlwaFBhZ2VaZXJvID0gR2x5cGhQYWdlVHJlZU5vZGU6OmdldFJvb3RDaGlsZCh0aGlzLCAw
KS0+cGFnZSgpOwogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Vu
aXNjcmliZUhlbHBlclRleHRSdW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vVW5pc2NyaWJlSGVscGVyVGV4dFJ1bi5jcHAJKHJldmlzaW9uIDc0
NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9VbmlzY3JpYmVIZWxw
ZXJUZXh0UnVuLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsNyArNTAsNyBAQCBVbmlzY3JpYmVI
ZWxwZXJUZXh0UnVuOjpVbmlzY3JpYmVIZWxwZXJUCiAgICAgc2V0TGV0dGVyU3BhY2luZyhmb250
LmxldHRlclNwYWNpbmcoKSk7CiAgICAgc2V0U3BhY2VXaWR0aChmb250LnNwYWNlV2lkdGgoKSk7
CiAgICAgc2V0V29yZFNwYWNpbmcoZm9udC53b3JkU3BhY2luZygpKTsKLSAgICBzZXRBc2NlbnQo
Zm9udC5wcmltYXJ5Rm9udCgpLT5hc2NlbnQoKSk7CisgICAgc2V0QXNjZW50KGZvbnQuZm9udE1l
dHJpY3MoKS0+YXNjZW50KCkpOwogCiAgICAgaW5pdCgpOwogCkBAIC0xMjAsNyArMTIwLDcgQEAg
Ym9vbCBVbmlzY3JpYmVIZWxwZXJUZXh0UnVuOjpuZXh0V2luRm9udAogICAgICAgICBtX2hmb250
cy5hcHBlbmQoc2ltcGxlRm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLmhmb250KCkpOwogICAgICAg
ICBtX3NjcmlwdENhY2hlcy5hcHBlbmQoc2ltcGxlRm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLnNj
cmlwdENhY2hlKCkpOwogICAgICAgICBtX2ZvbnRQcm9wZXJ0aWVzLmFwcGVuZChzaW1wbGVGb250
RGF0YS0+cGxhdGZvcm1EYXRhKCkuc2NyaXB0Rm9udFByb3BlcnRpZXMoKSk7Ci0gICAgICAgIG1f
YXNjZW50cy5hcHBlbmQoc2ltcGxlRm9udERhdGEtPmFzY2VudCgpKTsKKyAgICAgICAgbV9hc2Nl
bnRzLmFwcGVuZChzaW1wbGVGb250RGF0YS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAg
fQogCiAgICAgKmhmb250ID0gbV9oZm9udHNbbV9mb250SW5kZXggLSAxXTsKSW5kZXg6IFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFGcmVlVHlwZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1wbGVG
b250RGF0YUZyZWVUeXBlLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2ZyZWV0eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01MCwyMSArNTAsMjcgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0
KCkKICAgICBjYWlyb19mb250X2V4dGVudHNfdCBmb250X2V4dGVudHM7CiAgICAgY2Fpcm9fdGV4
dF9leHRlbnRzX3QgdGV4dF9leHRlbnRzOwogICAgIGNhaXJvX3NjYWxlZF9mb250X2V4dGVudHMo
bV9wbGF0Zm9ybURhdGEuc2NhbGVkRm9udCgpLCAmZm9udF9leHRlbnRzKTsKLSAgICBtX2FzY2Vu
dCA9IHN0YXRpY19jYXN0PGludD4obHJvdW5kZihmb250X2V4dGVudHMuYXNjZW50KSk7Ci0gICAg
bV9kZXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50Pihscm91bmRmKGZvbnRfZXh0ZW50cy5kZXNjZW50
KSk7Ci0gICAgbV9saW5lU3BhY2luZyA9IHN0YXRpY19jYXN0PGludD4obHJvdW5kZihmb250X2V4
dGVudHMuaGVpZ2h0KSk7CisKKyAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChmb250X2V4dGVu
dHMuYXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoZm9udF9leHRlbnRzLmRl
c2NlbnQpOworCiAgICAgLy8gVGhlcmUgc2VlbXMgdG8gYmUgc29tZSByb3VuZGluZyBlcnJvciBp
biBjYWlybyAob3IgaW4gaG93IHdlCiAgICAgLy8gdXNlIGNhaXJvKSB3aXRoIHNvbWUgZm9udHMs
IGxpa2UgRGVqYVZ1IFNhbnMgTW9ubywgd2hpY2ggbWFrZXMKICAgICAvLyBjYWlybyByZXBvcnQg
YSBoZWlnaHQgc21hbGxlciB0aGFuIGFzY2VudCArIGRlc2NlbnQsIHdoaWNoIGlzCiAgICAgLy8g
d3JvbmcgYW5kIGNvbmZ1c2VzIFdlYkNvcmUncyBsYXlvdXQgc3lzdGVtLiBXb3JrYXJvdW5kIHRo
aXMKICAgICAvLyB3aGlsZSB3ZSBmaWd1cmUgb3V0IHdoYXQncyBnb2luZyBvbi4KLSAgICBpZiAo
bV9saW5lU3BhY2luZyA8IG1fYXNjZW50ICsgbV9kZXNjZW50KQotICAgICAgICBtX2xpbmVTcGFj
aW5nID0gbV9hc2NlbnQgKyBtX2Rlc2NlbnQ7CisgICAgZmxvYXQgbGluZVNwYWNpbmcgPSBmb250
X2V4dGVudHMuaGVpZ2h0OworICAgIGlmIChsaW5lU3BhY2luZyA8IGZvbnRfZXh0ZW50cy5hc2Nl
bnQgKyBmb250X2V4dGVudHMuZGVzY2VudCkKKyAgICAgICAgbGluZVNwYWNpbmcgPSBmb250X2V4
dGVudHMuYXNjZW50ICsgZm9udF9leHRlbnRzLmRlc2NlbnQ7CisgICAgbV9mb250TWV0cmljcy5z
ZXRMaW5lU3BhY2luZyhsaW5lU3BhY2luZyk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2Fw
KGxpbmVTcGFjaW5nIC0gZm9udF9leHRlbnRzLmFzY2VudCAtIGZvbnRfZXh0ZW50cy5kZXNjZW50
KTsKKwogICAgIGNhaXJvX3NjYWxlZF9mb250X3RleHRfZXh0ZW50cyhtX3BsYXRmb3JtRGF0YS5z
Y2FsZWRGb250KCksICJ4IiwgJnRleHRfZXh0ZW50cyk7Ci0gICAgbV94SGVpZ2h0ID0gdGV4dF9l
eHRlbnRzLmhlaWdodDsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQodGV4dF9leHRlbnRz
LmhlaWdodCk7CisKICAgICBjYWlyb19zY2FsZWRfZm9udF90ZXh0X2V4dGVudHMobV9wbGF0Zm9y
bURhdGEuc2NhbGVkRm9udCgpLCAiICIsICZ0ZXh0X2V4dGVudHMpOwogICAgIG1fc3BhY2VXaWR0
aCA9IHN0YXRpY19jYXN0PGZsb2F0Pih0ZXh0X2V4dGVudHMueF9hZHZhbmNlKTsKLSAgICBtX2xp
bmVHYXAgPSBtX2xpbmVTcGFjaW5nIC0gbV9hc2NlbnQgLSBtX2Rlc2NlbnQ7CisgICAgCiAgICAg
bV9zeW50aGV0aWNCb2xkT2Zmc2V0ID0gbV9wbGF0Zm9ybURhdGEuc3ludGhldGljQm9sZCgpID8g
MS4wZiA6IDAuZjsKIH0KIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9T
aW1wbGVGb250RGF0YUhhaWt1LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2hhaWt1L1NpbXBsZUZvbnREYXRhSGFpa3UuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvU2ltcGxlRm9udERhdGFIYWlrdS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQ4LDExICs0OCwxMSBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpw
bGF0Zm9ybUluaXQoKQogCiAgICAgZm9udF9oZWlnaHQgaGVpZ2h0OwogICAgIGZvbnQtPkdldEhl
aWdodCgmaGVpZ2h0KTsKLSAgICBtX2FzY2VudCA9IHN0YXRpY19jYXN0PGludD4oaGVpZ2h0LmFz
Y2VudCk7Ci0gICAgbV9kZXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50PihoZWlnaHQuZGVzY2VudCk7
Ci0gICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50OwotICAgIG1feEhlaWdo
dCA9IGhlaWdodC5hc2NlbnQgKiAwLjU2ZjsgLy8gSGFjayB0YWtlbiBmcm9tIHRoZSB3aW4gcG9y
dC4KLSAgICBtX2xpbmVHYXAgPSBoZWlnaHQubGVhZGluZzsKKyAgICBtX2ZvbnRNZXRyaWNzLnNl
dEFzY2VudChoZWlnaHQuYXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoaGVp
Z2h0LmRlc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoaGVpZ2h0LmFz
Y2VudCArIGhlaWdodC5kZXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQoaGVp
Z2h0LmFzY2VudCAqIDAuNTZmKTsgLy8gSGFjayB0YWtlbiBmcm9tIHRoZSB3aW4gcG9ydC4KKyAg
ICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAoaGVpZ2h0LmxlYWRpbmcpOwogfQogCiB2b2lkIFNp
bXBsZUZvbnREYXRhOjpwbGF0Zm9ybUNoYXJXaWR0aEluaXQoKQpJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvRm9udENvbXBsZXhUZXh0TWFjLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q29tcGxleFRleHRNYWMuY3BwCShyZXZp
c2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21wbGV4
VGV4dE1hYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMCw4ICsxMTAsOCBAQCBmbG9hdCBGb250
OjpmbG9hdFdpZHRoRm9yQ29tcGxleFRleHQoY29uCiB7CiAgICAgQ29tcGxleFRleHRDb250cm9s
bGVyIGNvbnRyb2xsZXIodGhpcywgcnVuLCB0cnVlLCBmYWxsYmFja0ZvbnRzKTsKICAgICBpZiAo
Z2x5cGhPdmVyZmxvdykgewotICAgICAgICBnbHlwaE92ZXJmbG93LT50b3AgPSBtYXg8aW50Pihn
bHlwaE92ZXJmbG93LT50b3AsIGNlaWxmKC1jb250cm9sbGVyLm1pbkdseXBoQm91bmRpbmdCb3hZ
KCkpIC0gYXNjZW50KCkpOwotICAgICAgICBnbHlwaE92ZXJmbG93LT5ib3R0b20gPSBtYXg8aW50
PihnbHlwaE92ZXJmbG93LT5ib3R0b20sIGNlaWxmKGNvbnRyb2xsZXIubWF4R2x5cGhCb3VuZGlu
Z0JveFkoKSkgLSBkZXNjZW50KCkpOworICAgICAgICBnbHlwaE92ZXJmbG93LT50b3AgPSBtYXg8
aW50PihnbHlwaE92ZXJmbG93LT50b3AsIGNlaWxmKC1jb250cm9sbGVyLm1pbkdseXBoQm91bmRp
bmdCb3hZKCkpIC0gZm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CisgICAgICAgIGdseXBoT3ZlcmZs
b3ctPmJvdHRvbSA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPmJvdHRvbSwgY2VpbGYoY29udHJv
bGxlci5tYXhHbHlwaEJvdW5kaW5nQm94WSgpKSAtIGZvbnRNZXRyaWNzKCkuZGVzY2VudCgpKTsK
ICAgICAgICAgZ2x5cGhPdmVyZmxvdy0+bGVmdCA9IG1heDxpbnQ+KDAsIGNlaWxmKC1jb250cm9s
bGVyLm1pbkdseXBoQm91bmRpbmdCb3hYKCkpKTsKICAgICAgICAgZ2x5cGhPdmVyZmxvdy0+cmln
aHQgPSBtYXg8aW50PigwLCBjZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91bmRpbmdCb3hYKCkg
LSBjb250cm9sbGVyLnRvdGFsV2lkdGgoKSkpOwogICAgIH0KSW5kZXg6IFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvRm9udE1hYy5tbQkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02MCw4ICs2
MCw4IEBAIHN0YXRpYyB2b2lkIHNob3dHbHlwaHNXaXRoQWR2YW5jZXMoY29uc3QKICAgICAgICAg
ICAgIHNhdmVkTWF0cml4ID0gQ0dDb250ZXh0R2V0VGV4dE1hdHJpeChjb250ZXh0KTsKICAgICAg
ICAgICAgIENHQWZmaW5lVHJhbnNmb3JtIHJ1bk1hdHJpeCA9IENHQWZmaW5lVHJhbnNmb3JtQ29u
Y2F0KHNhdmVkTWF0cml4LCByb3RhdGVMZWZ0VHJhbnNmb3JtKTsKICAgICAgICAgICAgIC8vIE1v
dmUgc3RhcnQgcG9pbnQgdG8gcHV0IGdseXBocyBpbnRvIG9yaWdpbmFsIHJlZ2lvbi4KLSAgICAg
ICAgICAgIHJ1bk1hdHJpeC50eCA9IHNhdmVkTWF0cml4LnR4ICsgZm9udC0+YXNjZW50KCk7Ci0g
ICAgICAgICAgICBydW5NYXRyaXgudHkgPSBzYXZlZE1hdHJpeC50eSArIGZvbnQtPmRlc2NlbnQo
KTsKKyAgICAgICAgICAgIHJ1bk1hdHJpeC50eCA9IHNhdmVkTWF0cml4LnR4ICsgZm9udC0+Zm9u
dE1ldHJpY3MoKS5hc2NlbnQoKTsKKyAgICAgICAgICAgIHJ1bk1hdHJpeC50eSA9IHNhdmVkTWF0
cml4LnR5ICsgZm9udC0+Zm9udE1ldHJpY3MoKS5kZXNjZW50KCk7CiAgICAgICAgICAgICBDR0Nv
bnRleHRTZXRUZXh0TWF0cml4KGNvbnRleHQsIHJ1bk1hdHJpeCk7CiAgICAgICAgIH0KIApJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFN
YWMubW0JKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMv
U2ltcGxlRm9udERhdGFNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTIxOCwxOSArMjE4LDIwIEBA
IHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgaW50IGlBc2NlbnQ7CiAg
ICAgaW50IGlEZXNjZW50OwogICAgIGludCBpTGluZUdhcDsKKyAgICB1bnNpZ25lZCB1bml0c1Bl
ckVtOwogI2lmZGVmIEJVSUxESU5HX09OX1RJR0VSCi0gICAgd2tHZXRGb250TWV0cmljcyhtX3Bs
YXRmb3JtRGF0YS5jZ0ZvbnQoKSwgJmlBc2NlbnQsICZpRGVzY2VudCwgJmlMaW5lR2FwLCAmbV91
bml0c1BlckVtKTsKKyAgICB3a0dldEZvbnRNZXRyaWNzKG1fcGxhdGZvcm1EYXRhLmNnRm9udCgp
LCAmaUFzY2VudCwgJmlEZXNjZW50LCAmaUxpbmVHYXAsICZ1bml0c1BlckVtKTsKICNlbHNlCiAg
ICAgaUFzY2VudCA9IENHRm9udEdldEFzY2VudChtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSk7CiAg
ICAgaURlc2NlbnQgPSBDR0ZvbnRHZXREZXNjZW50KG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpKTsK
ICAgICBpTGluZUdhcCA9IENHRm9udEdldExlYWRpbmcobV9wbGF0Zm9ybURhdGEuY2dGb250KCkp
OwotICAgIG1fdW5pdHNQZXJFbSA9IENHRm9udEdldFVuaXRzUGVyRW0obV9wbGF0Zm9ybURhdGEu
Y2dGb250KCkpOworICAgIHVuaXRzUGVyRW0gPSBDR0ZvbnRHZXRVbml0c1BlckVtKG1fcGxhdGZv
cm1EYXRhLmNnRm9udCgpKTsKICNlbmRpZgogCiAgICAgZmxvYXQgcG9pbnRTaXplID0gbV9wbGF0
Zm9ybURhdGEubV9zaXplOwotICAgIGZsb2F0IGZBc2NlbnQgPSBzY2FsZUVtVG9Vbml0cyhpQXNj
ZW50LCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXplOwotICAgIGZsb2F0IGZEZXNjZW50ID0gLXNj
YWxlRW1Ub1VuaXRzKGlEZXNjZW50LCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXplOwotICAgIGZs
b2F0IGZMaW5lR2FwID0gc2NhbGVFbVRvVW5pdHMoaUxpbmVHYXAsIG1fdW5pdHNQZXJFbSkgKiBw
b2ludFNpemU7CisgICAgZmxvYXQgYXNjZW50ID0gc2NhbGVFbVRvVW5pdHMoaUFzY2VudCwgdW5p
dHNQZXJFbSkgKiBwb2ludFNpemU7CisgICAgZmxvYXQgZGVzY2VudCA9IC1zY2FsZUVtVG9Vbml0
cyhpRGVzY2VudCwgdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7CisgICAgZmxvYXQgbGluZUdhcCA9
IHNjYWxlRW1Ub1VuaXRzKGlMaW5lR2FwLCB1bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKIAogICAg
IC8vIFdlIG5lZWQgdG8gYWRqdXN0IFRpbWVzLCBIZWx2ZXRpY2EsIGFuZCBDb3VyaWVyIHRvIGNs
b3NlbHkgbWF0Y2ggdGhlCiAgICAgLy8gdmVydGljYWwgbWV0cmljcyBvZiB0aGVpciBNaWNyb3Nv
ZnQgY291bnRlcnBhcnRzIHRoYXQgYXJlIHRoZSBkZSBmYWN0bwpAQCAtMjM5LDI1ICsyNDAsMjAg
QEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICAvLyBhbmQgYWRkIGl0
IHRvIHRoZSBhc2NlbnQuCiAgICAgTlNTdHJpbmcgKmZhbWlseU5hbWUgPSBbbV9wbGF0Zm9ybURh
dGEuZm9udCgpIGZhbWlseU5hbWVdOwogICAgIGlmIChbZmFtaWx5TmFtZSBpc0VxdWFsVG9TdHJp
bmc6QCJUaW1lcyJdIHx8IFtmYW1pbHlOYW1lIGlzRXF1YWxUb1N0cmluZzpAIkhlbHZldGljYSJd
IHx8IFtmYW1pbHlOYW1lIGlzRXF1YWxUb1N0cmluZzpAIkNvdXJpZXIiXSkKLSAgICAgICAgZkFz
Y2VudCArPSBmbG9vcmYoKChmQXNjZW50ICsgZkRlc2NlbnQpICogMC4xNWYpICsgMC41Zik7Cisg
ICAgICAgIGFzY2VudCArPSBmbG9vcmYoKChhc2NlbnQgKyBkZXNjZW50KSAqIDAuMTVmKSArIDAu
NWYpOwogICAgIGVsc2UgaWYgKFtmYW1pbHlOYW1lIGlzRXF1YWxUb1N0cmluZzpAIkdlZXphIFBy
byJdKSB7CiAgICAgICAgIC8vIEdlZXphIFBybyBoYXMgZ2x5cGhzIHRoYXQgZHJhdyBzbGlnaHRs
eSBhYm92ZSB0aGUgYXNjZW50IG9yIGZhciBiZWxvdyB0aGUgZGVzY2VudC4gQWRqdXN0CiAgICAg
ICAgIC8vIHRob3NlIHZlcnRpY2FsIG1ldHJpY3MgdG8gYmV0dGVyIG1hdGNoIHJlYWxpdHksIHNv
IHRoYXQgZGlhY3JpdGljcyBhdCB0aGUgYm90dG9tIG9mIG9uZSBsaW5lCiAgICAgICAgIC8vIGRv
IG5vdCBvdmVybGFwIGRpYWNyaXRpY3MgYXQgdGhlIHRvcCBvZiB0aGUgbmV4dCBsaW5lLgotICAg
ICAgICBmQXNjZW50ICo9IDEuMDhmOwotICAgICAgICBmRGVzY2VudCAqPSAyLmY7CisgICAgICAg
IGFzY2VudCAqPSAxLjA4ZjsKKyAgICAgICAgZGVzY2VudCAqPSAyLmY7CiAgICAgfQogCi0gICAg
bV9hc2NlbnQgPSBscm91bmRmKGZBc2NlbnQpOwotICAgIG1fZGVzY2VudCA9IGxyb3VuZGYoZkRl
c2NlbnQpOwotICAgIG1fbGluZUdhcCA9IGxyb3VuZGYoZkxpbmVHYXApOwotICAgIG1fbGluZVNw
YWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2VudCArIG1fbGluZUdhcDsKLSAgICAKICAgICAvLyBI
YWNrIEhpcmFnaW5vIGxpbmUgbWV0cmljcyB0byBhbGxvdyByb29tIGZvciBtYXJrZWQgdGV4dCB1
bmRlcmxpbmVzLgogICAgIC8vIDxyZGFyOi8vcHJvYmxlbS81Mzg2MTgzPgotICAgIGlmIChtX2Rl
c2NlbnQgPCAzICYmIG1fbGluZUdhcCA+PSAzICYmIFtmYW1pbHlOYW1lIGhhc1ByZWZpeDpAIkhp
cmFnaW5vIl0pIHsKLSAgICAgICAgbV9saW5lR2FwIC09IDMgLSBtX2Rlc2NlbnQ7Ci0gICAgICAg
IG1fZGVzY2VudCA9IDM7CisgICAgaWYgKGRlc2NlbnQgPCAzICYmIGxpbmVHYXAgPj0gMyAmJiBb
ZmFtaWx5TmFtZSBoYXNQcmVmaXg6QCJIaXJhZ2lubyJdKSB7CisgICAgICAgIGxpbmVHYXAgLT0g
MyAtIGRlc2NlbnQ7CisgICAgICAgIGRlc2NlbnQgPSAzOwogICAgIH0KICAgICAKICAgICBpZiAo
bV9vcmllbnRhdGlvbiA9PSBWZXJ0aWNhbCkgewpAQCAtMjc4LDYgKzI3NCw4IEBAIHZvaWQgU2lt
cGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgICAgICAgICBtX29yaWVudGF0aW9uID0g
SG9yaXpvbnRhbDsKICAgICB9CiAKKyAgICBmbG9hdCB4SGVpZ2h0OworCiAgICAgLy8gTWVhc3Vy
ZSB0aGUgYWN0dWFsIGNoYXJhY3RlciAieCIsIGJlY2F1c2UgQXBwS2l0IHN5bnRoZXNpemVzIFgg
aGVpZ2h0IHJhdGhlciB0aGFuIGdldHRpbmcgaXQgZnJvbSB0aGUgZm9udC4KICAgICAvLyBVbmZv
cnR1bmF0ZWx5LCBOU0ZvbnQgd2lsbCByb3VuZCB0aGlzIGZvciB1cyBzbyB3ZSBkb24ndCBxdWl0
ZSBnZXQgdGhlIHJpZ2h0IHZhbHVlLgogICAgIEdseXBoUGFnZSogZ2x5cGhQYWdlWmVybyA9IEds
eXBoUGFnZVRyZWVOb2RlOjpnZXRSb290Q2hpbGQodGhpcywgMCktPnBhZ2UoKTsKQEAgLTI4OCwy
MSArMjg2LDI4IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgICAg
IC8vIGFuZCB3ZWIgcGFnZXMgdGhhdCBmb29saXNobHkgdXNlIHRoaXMgbWV0cmljIGZvciB3aWR0
aCB3aWxsIGJlIGxhaWQgb3V0CiAgICAgICAgIC8vIHBvb3JseSBpZiB3ZSByZXR1cm4gYW4gYWNj
dXJhdGUgaGVpZ2h0LiBDbGFzc2ljIGNhc2UgaXMgVGltZXMgMTMgcG9pbnQsCiAgICAgICAgIC8v
IHdoaWNoIGhhcyBhbiAieCIgdGhhdCBpcyA3eDYgcGl4ZWxzLgotICAgICAgICBtX3hIZWlnaHQg
PSBzdGF0aWNfY2FzdDxmbG9hdD4obWF4KENHUmVjdEdldE1heFgoeEJveCksIC1DR1JlY3RHZXRN
aW5ZKHhCb3gpKSk7CisgICAgICAgIHhIZWlnaHQgPSBzdGF0aWNfY2FzdDxmbG9hdD4obWF4KENH
UmVjdEdldE1heFgoeEJveCksIC1DR1JlY3RHZXRNaW5ZKHhCb3gpKSk7CiAgICAgfSBlbHNlIHsK
ICNpZm5kZWYgQlVJTERJTkdfT05fVElHRVIKLSAgICAgICAgbV94SGVpZ2h0ID0gc3RhdGljX2Nh
c3Q8ZmxvYXQ+KENHRm9udEdldFhIZWlnaHQobV9wbGF0Zm9ybURhdGEuY2dGb250KCkpKSAvIG1f
dW5pdHNQZXJFbTsKKyAgICAgICAgeEhlaWdodCA9IHN0YXRpY19jYXN0PGZsb2F0PihDR0ZvbnRH
ZXRYSGVpZ2h0KG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpKSkgLyB1bml0c1BlckVtOwogI2Vsc2UK
LSAgICAgICAgbV94SGVpZ2h0ID0gbV9wbGF0Zm9ybURhdGEuZm9udCgpID8gW21fcGxhdGZvcm1E
YXRhLmZvbnQoKSB4SGVpZ2h0XSA6IDA7CisgICAgICAgIHhIZWlnaHQgPSBtX3BsYXRmb3JtRGF0
YS5mb250KCkgPyBbbV9wbGF0Zm9ybURhdGEuZm9udCgpIHhIZWlnaHRdIDogMDsKICNlbmRpZgog
ICAgICAgICAvLyBDR0ZvbnRHZXRYSGVpZ2h0KCkgcmV0dXJucyBhIHdyb25nIHZhbHVlIGZvciAi
QXBwbGUgU3ltYm9scyIgZm9udCAoYSBmbG9hdCBjbG9zZSB0byAwLCBidXQgbm90IHN0cmljdGx5
IDApLgotICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGNvZGUgbWFrZXMgYSBndWVzcyBmb3IgbV94
SGVpZ2h0IGluIHRoYXQgY2FzZS4KKyAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBjb2RlIG1ha2Vz
IGEgZ3Vlc3MgZm9yIHhIZWlnaHQgaW4gdGhhdCBjYXNlLgogICAgICAgICAvLyBUaGUgaW50IGNh
c3QgaXMgYSB3b3JrYXJvdW5kIGZvciB0aGUgImFsbW9zdCIgemVybyB2YWx1ZSByZXR1cm5lZCBi
eSBDR0ZvbnRHZXRYSGVpZ2h0KCkuCi0gICAgICAgIGlmICghc3RhdGljX2Nhc3Q8aW50PihtX3hI
ZWlnaHQpICYmIGZBc2NlbnQpCi0gICAgICAgICAgICBtX3hIZWlnaHQgPSAyICogZkFzY2VudCAv
IDM7CisgICAgICAgIGlmICghc3RhdGljX2Nhc3Q8aW50Pih4SGVpZ2h0KSAmJiBhc2NlbnQpCisg
ICAgICAgICAgICB4SGVpZ2h0ID0gMiAqIGFzY2VudCAvIDM7CiAgICAgfQorCisgICAgbV9mb250
TWV0cmljcy5zZXRVbml0c1BlckVtKHVuaXRzUGVyRW0pOworICAgIG1fZm9udE1ldHJpY3Muc2V0
QXNjZW50KGFzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGRlc2NlbnQpOwor
ICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChsaW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNz
LnNldExpbmVTcGFjaW5nKGFzY2VudCArIGRlc2NlbnQgKyBsaW5lR2FwKTsKKyAgICBtX2ZvbnRN
ZXRyaWNzLnNldFhIZWlnaHQoeEhlaWdodCk7CiB9Ci0gICAgCisKIHN0YXRpYyBDRkRhdGFSZWYg
Y29weUZvbnRUYWJsZUZvclRhZyhGb250UGxhdGZvcm1EYXRhJiBwbGF0Zm9ybURhdGEsIEZvdXJD
aGFyQ29kZSB0YWJsZU5hbWUpCiB7CiAjaWZkZWYgQlVJTERJTkdfT05fVElHRVIKQEAgLTMzNyw3
ICszNDIsNyBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUNoYXJXaWR0aEluCiAgICAg
aWYgKG9zMlRhYmxlICYmIENGRGF0YUdldExlbmd0aChvczJUYWJsZS5nZXQoKSkgPj0gNCkgewog
ICAgICAgICBjb25zdCBVSW50OCogb3MyID0gQ0ZEYXRhR2V0Qnl0ZVB0cihvczJUYWJsZS5nZXQo
KSk7CiAgICAgICAgIFNJbnQxNiBvczJBdmdDaGFyV2lkdGggPSBvczJbMl0gKiAyNTYgKyBvczJb
M107Ci0gICAgICAgIG1fYXZnQ2hhcldpZHRoID0gc2NhbGVFbVRvVW5pdHMob3MyQXZnQ2hhcldp
ZHRoLCBtX3VuaXRzUGVyRW0pICogbV9wbGF0Zm9ybURhdGEubV9zaXplOworICAgICAgICBtX2F2
Z0NoYXJXaWR0aCA9IHNjYWxlRW1Ub1VuaXRzKG9zMkF2Z0NoYXJXaWR0aCwgbV9mb250TWV0cmlj
cy51bml0c1BlckVtKCkpICogbV9wbGF0Zm9ybURhdGEubV9zaXplOwogICAgIH0KIAogICAgIFJl
dGFpblB0cjxDRkRhdGFSZWY+IGhlYWRUYWJsZShBZG9wdENGLCBjb3B5Rm9udFRhYmxlRm9yVGFn
KG1fcGxhdGZvcm1EYXRhLCAnaGVhZCcpKTsKQEAgLTM0OCw3ICszNTMsNyBAQCB2b2lkIFNpbXBs
ZUZvbnREYXRhOjpwbGF0Zm9ybUNoYXJXaWR0aEluCiAgICAgICAgIFNJbnQxNiB4TWluID0gc3Rh
dGljX2Nhc3Q8U0ludDE2Pih1eE1pbik7CiAgICAgICAgIFNJbnQxNiB4TWF4ID0gc3RhdGljX2Nh
c3Q8U0ludDE2Pih1eE1heCk7CiAgICAgICAgIGZsb2F0IGRpZmYgPSBzdGF0aWNfY2FzdDxmbG9h
dD4oeE1heCAtIHhNaW4pOwotICAgICAgICBtX21heENoYXJXaWR0aCA9IHNjYWxlRW1Ub1VuaXRz
KGRpZmYsIG1fdW5pdHNQZXJFbSkgKiBtX3BsYXRmb3JtRGF0YS5tX3NpemU7CisgICAgICAgIG1f
bWF4Q2hhcldpZHRoID0gc2NhbGVFbVRvVW5pdHMoZGlmZiwgbV9mb250TWV0cmljcy51bml0c1Bl
ckVtKCkpICogbV9wbGF0Zm9ybURhdGEubV9zaXplOwogICAgIH0KIAogICAgIC8vIEZhbGxiYWNr
IHRvIGEgY3Jvc3MtcGxhdGZvcm0gZXN0aW1hdGUsIHdoaWNoIHdpbGwgcG9wdWxhdGUgdGhlc2Ug
dmFsdWVzIGlmIHRoZXkgYXJlIG5vbi1wb3NpdGl2ZS4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvcGFuZ28vU2ltcGxlRm9udERhdGFQYW5nby5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9wYW5nby9TaW1wbGVGb250RGF0YVBhbmdvLmNwcAkocmV2
aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1NpbXBsZUZv
bnREYXRhUGFuZ28uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSwyMSArNDksMjcgQEAgdm9pZCBT
aW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICBjYWlyb19mb250X2V4dGVudHNfdCBm
b250X2V4dGVudHM7CiAgICAgY2Fpcm9fdGV4dF9leHRlbnRzX3QgdGV4dF9leHRlbnRzOwogICAg
IGNhaXJvX3NjYWxlZF9mb250X2V4dGVudHMobV9wbGF0Zm9ybURhdGEubV9zY2FsZWRGb250LCAm
Zm9udF9leHRlbnRzKTsKLSAgICBtX2FzY2VudCA9IHN0YXRpY19jYXN0PGludD4obHJvdW5kZihm
b250X2V4dGVudHMuYXNjZW50KSk7Ci0gICAgbV9kZXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50Pihs
cm91bmRmKGZvbnRfZXh0ZW50cy5kZXNjZW50KSk7Ci0gICAgbV9saW5lU3BhY2luZyA9IHN0YXRp
Y19jYXN0PGludD4obHJvdW5kZihmb250X2V4dGVudHMuaGVpZ2h0KSk7CisKKyAgICBtX2ZvbnRN
ZXRyaWNzLnNldEFzY2VudChmb250X2V4dGVudHMuYXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNz
LnNldERlc2NlbnQoZm9udF9leHRlbnRzLmRlc2NlbnQpOworCiAgICAgLy8gVGhlcmUgc2VlbXMg
dG8gYmUgc29tZSByb3VuZGluZyBlcnJvciBpbiBjYWlybyAob3IgaW4gaG93IHdlCiAgICAgLy8g
dXNlIGNhaXJvKSB3aXRoIHNvbWUgZm9udHMsIGxpa2UgRGVqYVZ1IFNhbnMgTW9ubywgd2hpY2gg
bWFrZXMKICAgICAvLyBjYWlybyByZXBvcnQgYSBoZWlnaHQgc21hbGxlciB0aGFuIGFzY2VudCAr
IGRlc2NlbnQsIHdoaWNoIGlzCiAgICAgLy8gd3JvbmcgYW5kIGNvbmZ1c2VzIFdlYkNvcmUncyBs
YXlvdXQgc3lzdGVtLiBXb3JrYXJvdW5kIHRoaXMKICAgICAvLyB3aGlsZSB3ZSBmaWd1cmUgb3V0
IHdoYXQncyBnb2luZyBvbi4KLSAgICBpZiAobV9saW5lU3BhY2luZyA8IG1fYXNjZW50ICsgbV9k
ZXNjZW50KQotICAgICAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rlc2NlbnQ7Cisg
ICAgZmxvYXQgbGluZVNwYWNpbmcgPSBmb250X2V4dGVudHMuaGVpZ2h0OworICAgIGlmIChsaW5l
U3BhY2luZyA8IGZvbnRfZXh0ZW50cy5hc2NlbnQgKyBmb250X2V4dGVudHMuZGVzY2VudCkKKyAg
ICAgICAgbGluZVNwYWNpbmcgPSBmb250X2V4dGVudHMuYXNjZW50ICsgZm9udF9leHRlbnRzLmRl
c2NlbnQ7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhsaW5lU3BhY2luZyk7Cisg
ICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGxpbmVTcGFjaW5nIC0gZm9udF9leHRlbnRzLmFz
Y2VudCAtIGZvbnRfZXh0ZW50cy5kZXNjZW50KTsKKwogICAgIGNhaXJvX3NjYWxlZF9mb250X3Rl
eHRfZXh0ZW50cyhtX3BsYXRmb3JtRGF0YS5tX3NjYWxlZEZvbnQsICJ4IiwgJnRleHRfZXh0ZW50
cyk7Ci0gICAgbV94SGVpZ2h0ID0gdGV4dF9leHRlbnRzLmhlaWdodDsKKyAgICBtX2ZvbnRNZXRy
aWNzLnNldFhIZWlnaHQodGV4dF9leHRlbnRzLmhlaWdodCk7CisKICAgICBjYWlyb19zY2FsZWRf
Zm9udF90ZXh0X2V4dGVudHMobV9wbGF0Zm9ybURhdGEubV9zY2FsZWRGb250LCAiICIsICZ0ZXh0
X2V4dGVudHMpOwotICAgIG1fc3BhY2VXaWR0aCA9ICBzdGF0aWNfY2FzdDxmbG9hdD4odGV4dF9l
eHRlbnRzLnhfYWR2YW5jZSk7Ci0gICAgbV9saW5lR2FwID0gbV9saW5lU3BhY2luZyAtIG1fYXNj
ZW50IC0gbV9kZXNjZW50OworICAgIG1fc3BhY2VXaWR0aCA9IHN0YXRpY19jYXN0PGZsb2F0Pih0
ZXh0X2V4dGVudHMueF9hZHZhbmNlKTsKKyAgICAKICAgICBtX3N5bnRoZXRpY0JvbGRPZmZzZXQg
PSBtX3BsYXRmb3JtRGF0YS5zeW50aGV0aWNCb2xkKCkgPyAxLjBmIDogMC5mOwogfQogCkluZGV4
OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9udERhdGFRdC5j
cHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1w
bGVGb250RGF0YVF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQsNyArMjQsNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNpbXBsZUZvbnREYXRhLmgiCiAKLSNpbmNsdWRlIDxR
Rm9udE1ldHJpY3M+CisjaW5jbHVkZSA8UUZvbnRNZXRyaWNzRj4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkBAIC00MSwyNSArNDEsMjAgQEAgYm9vbCBTaW1wbGVGb250RGF0YTo6Y29udGFpbnND
aGFyYWN0ZXJzKAogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKIHsKICAgICBp
ZiAoIW1fcGxhdGZvcm1EYXRhLnNpemUoKSkgewotICAgICAgICAgbV9hc2NlbnQgPSAwOwotICAg
ICAgICAgbV9kZXNjZW50ID0gMDsKLSAgICAgICAgIG1fbGluZUdhcCA9IDA7Ci0gICAgICAgICBt
X2xpbmVTcGFjaW5nID0gMDsKKyAgICAgICAgIG1fZm9udE1ldHJpY3MucmVzZXQoKTsKICAgICAg
ICAgIG1fYXZnQ2hhcldpZHRoID0gMDsKICAgICAgICAgIG1fbWF4Q2hhcldpZHRoID0gMDsKLSAg
ICAgICAgIG1feEhlaWdodCA9IDA7Ci0gICAgICAgICBtX3VuaXRzUGVyRW0gPSAwOwogICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIFFGb250TWV0cmljcyBmbShtX3BsYXRmb3JtRGF0YS5m
b250KCkpOworICAgIFFGb250TWV0cmljc0YgZm0obV9wbGF0Zm9ybURhdGEuZm9udCgpKTsKIAot
ICAgIG1fYXNjZW50ID0gZm0uYXNjZW50KCk7Ci0gICAgbV9kZXNjZW50ID0gZm0uZGVzY2VudCgp
OwotICAgIG1fbGluZVNwYWNpbmcgPSBmbS5saW5lU3BhY2luZygpOwotICAgIG1feEhlaWdodCA9
IGZtLnhIZWlnaHQoKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChmbS5hc2NlbnQoKSk7
CisgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGZtLmRlc2NlbnQoKSk7CisgICAgbV9mb250
TWV0cmljcy5zZXRMaW5lU3BhY2luZyhmbS5saW5lU3BhY2luZygpKTsKKyAgICBtX2ZvbnRNZXRy
aWNzLnNldFhIZWlnaHQoZm0ueEhlaWdodCgpKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVH
YXAoZm0ubGVhZGluZygpKTsKICAgICBtX3NwYWNlV2lkdGggPSBmbS53aWR0aChRTGF0aW4xQ2hh
cignICcpKTsKLSAgICBtX2xpbmVHYXAgPSBmbS5sZWFkaW5nKCk7CiB9CiAKIHZvaWQgU2ltcGxl
Rm9udERhdGE6OnBsYXRmb3JtR2x5cGhJbml0KCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvd2luL0ZvbnRDR1dpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udENHV2luLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q0dXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjcs
OCArMTY3LDEyIEBAIHN0YXRpYyB2b2lkIGRyYXdHRElHbHlwaHMoR3JhcGhpY3NDb250ZXgKICAg
ICAgICAgZHJhd0ludG9CaXRtYXAgPSB0cnVlOwogICAgICAgICAvLyBXZSBwdXQgc2xvcCBpbnRv
IHRoaXMgcmVjdCwgc2luY2UgZ2x5cGhzIGNhbiBvdmVyZmxvdyB0aGUgYXNjZW50L2Rlc2NlbnQg
Ym91bmRzIGFuZCB0aGUgbGVmdC9yaWdodCBlZGdlcy4KICAgICAgICAgLy8gRklYTUU6IENhbiBn
ZXQgZ2x5cGhzJyBvcHRpY2FsIGJvdW5kcyAoZXZlbiBmcm9tIENHKSB0byBnZXQgdGhpcyByaWdo
dC4KLSAgICAgICAgaW50IGxpbmVHYXAgPSBmb250LT5saW5lR2FwKCk7Ci0gICAgICAgIHRleHRS
ZWN0ID0gSW50UmVjdChwb2ludC54KCkgLSAoZm9udC0+YXNjZW50KCkgKyBmb250LT5kZXNjZW50
KCkpIC8gMiwgcG9pbnQueSgpIC0gZm9udC0+YXNjZW50KCkgLSBsaW5lR2FwLCB0b3RhbFdpZHRo
ICsgZm9udC0+YXNjZW50KCkgKyBmb250LT5kZXNjZW50KCksIGZvbnQtPmxpbmVTcGFjaW5nKCkp
OworICAgICAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBmb250LT5mb250TWV0
cmljcygpOworICAgICAgICBpbnQgbGluZUdhcCA9IGZvbnRNZXRyaWNzLmxpbmVHYXAoKTsKKyAg
ICAgICAgdGV4dFJlY3QgPSBJbnRSZWN0KHBvaW50LngoKSAtIChmb250TWV0cmljcy5hc2NlbnQo
KSArIGZvbnRNZXRyaWNzLmRlc2NlbnQoKSkgLyAyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcG9pbnQueSgpIC0gZm9udE1ldHJpY3MuYXNjZW50KCkgLSBsaW5lR2FwLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdG90YWxXaWR0aCArIGZvbnRNZXRyaWNzLmFzY2VudCgpICsgZm9u
dE1ldHJpY3MuZGVzY2VudCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udE1ldHJp
Y3MubGluZVNwYWNpbmcoKSk7CiAgICAgICAgIGJpdG1hcC5zZXQoZ3JhcGhpY3NDb250ZXh0LT5j
cmVhdGVXaW5kb3dzQml0bWFwKHRleHRSZWN0LnNpemUoKSkpOwogICAgICAgICBtZW1zZXQoYml0
bWFwLT5idWZmZXIoKSwgMjU1LCBiaXRtYXAtPmJ1ZmZlckxlbmd0aCgpKTsKICAgICAgICAgaGRj
ID0gYml0bWFwLT5oZGMoKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0Zv
bnRXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0Zv
bnRXaW4uY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL0ZvbnRXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjEsOCArMTIxLDggQEAgZmxvYXQg
Rm9udDo6ZmxvYXRXaWR0aEZvckNvbXBsZXhUZXh0KGNvbgogICAgIFVuaXNjcmliZUNvbnRyb2xs
ZXIgY29udHJvbGxlcih0aGlzLCBydW4sIGZhbGxiYWNrRm9udHMpOwogICAgIGNvbnRyb2xsZXIu
YWR2YW5jZShydW4ubGVuZ3RoKCkpOwogICAgIGlmIChnbHlwaE92ZXJmbG93KSB7Ci0gICAgICAg
IGdseXBoT3ZlcmZsb3ctPnRvcCA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYo
LWNvbnRyb2xsZXIubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSBhc2NlbnQoKSk7Ci0gICAgICAg
IGdseXBoT3ZlcmZsb3ctPmJvdHRvbSA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPmJvdHRvbSwg
Y2VpbGYoY29udHJvbGxlci5tYXhHbHlwaEJvdW5kaW5nQm94WSgpKSAtIGRlc2NlbnQoKSk7Cisg
ICAgICAgIGdseXBoT3ZlcmZsb3ctPnRvcCA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPnRvcCwg
Y2VpbGYoLWNvbnRyb2xsZXIubWluR2x5cGhCb3VuZGluZ0JveFkoKSkgLSBmb250TWV0cmljcygp
LmFzY2VudCgpKTsKKyAgICAgICAgZ2x5cGhPdmVyZmxvdy0+Ym90dG9tID0gbWF4PGludD4oZ2x5
cGhPdmVyZmxvdy0+Ym90dG9tLCBjZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91bmRpbmdCb3hZ
KCkpIC0gZm9udE1ldHJpY3MoKS5kZXNjZW50KCkpOwogICAgICAgICBnbHlwaE92ZXJmbG93LT5s
ZWZ0ID0gbWF4PGludD4oMCwgY2VpbGYoLWNvbnRyb2xsZXIubWluR2x5cGhCb3VuZGluZ0JveFgo
KSkpOwogICAgICAgICBnbHlwaE92ZXJmbG93LT5yaWdodCA9IG1heDxpbnQ+KDAsIGNlaWxmKGNv
bnRyb2xsZXIubWF4R2x5cGhCb3VuZGluZ0JveFgoKSAtIGNvbnRyb2xsZXIucnVuV2lkdGhTb0Zh
cigpKSk7CiAgICAgfQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxl
Rm9udERhdGFDR1dpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vU2ltcGxlRm9udERhdGFDR1dpbi5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFDR1dpbi5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTY0LDExICs2NCwxMSBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUlu
aXQoKQogICAgIGludCBpQXNjZW50ID0gQ0dGb250R2V0QXNjZW50KGZvbnQpOwogICAgIGludCBp
RGVzY2VudCA9IENHRm9udEdldERlc2NlbnQoZm9udCk7CiAgICAgaW50IGlMaW5lR2FwID0gQ0dG
b250R2V0TGVhZGluZyhmb250KTsKLSAgICBtX3VuaXRzUGVyRW0gPSBDR0ZvbnRHZXRVbml0c1Bl
ckVtKGZvbnQpOworICAgIHVuc2lnbmVkIHVuaXRzUGVyRW0gPSBDR0ZvbnRHZXRVbml0c1BlckVt
KGZvbnQpOwogICAgIGZsb2F0IHBvaW50U2l6ZSA9IG1fcGxhdGZvcm1EYXRhLnNpemUoKTsKLSAg
ICBmbG9hdCBmQXNjZW50ID0gc2NhbGVFbVRvVW5pdHMoaUFzY2VudCwgbV91bml0c1BlckVtKSAq
IHBvaW50U2l6ZTsKLSAgICBmbG9hdCBmRGVzY2VudCA9IC1zY2FsZUVtVG9Vbml0cyhpRGVzY2Vu
dCwgbV91bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKLSAgICBmbG9hdCBmTGluZUdhcCA9IHNjYWxl
RW1Ub1VuaXRzKGlMaW5lR2FwLCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXplOworICAgIGZsb2F0
IGZBc2NlbnQgPSBzY2FsZUVtVG9Vbml0cyhpQXNjZW50LCB1bml0c1BlckVtKSAqIHBvaW50U2l6
ZTsKKyAgICBmbG9hdCBmRGVzY2VudCA9IC1zY2FsZUVtVG9Vbml0cyhpRGVzY2VudCwgdW5pdHNQ
ZXJFbSkgKiBwb2ludFNpemU7CisgICAgZmxvYXQgZkxpbmVHYXAgPSBzY2FsZUVtVG9Vbml0cyhp
TGluZUdhcCwgdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7CiAKICAgICBpZiAoIWlzQ3VzdG9tRm9u
dCgpKSB7CiAgICAgICAgIEhEQyBkYyA9IEdldERDKDApOwpAQCAtOTMsMTAgKzkzLDEwIEBAIHZv
aWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgICAgIH0KICAgICB9CiAKLSAg
ICBtX2FzY2VudCA9IGxyb3VuZGYoZkFzY2VudCk7Ci0gICAgbV9kZXNjZW50ID0gbHJvdW5kZihm
RGVzY2VudCk7Ci0gICAgbV9saW5lR2FwID0gbHJvdW5kZihmTGluZUdhcCk7Ci0gICAgbV9saW5l
U3BhY2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50ICsgbV9saW5lR2FwOworICAgIG1fZm9udE1l
dHJpY3Muc2V0QXNjZW50KGZBc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChm
RGVzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGZMaW5lR2FwKTsKKyAgICBt
X2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGZBc2NlbnQgKyBmRGVzY2VudCArIGZMaW5lR2Fw
KTsKIAogICAgIC8vIE1lYXN1cmUgdGhlIGFjdHVhbCBjaGFyYWN0ZXIgIngiLCBiZWNhdXNlIEFw
cEtpdCBzeW50aGVzaXplcyBYIGhlaWdodCByYXRoZXIgdGhhbiBnZXR0aW5nIGl0IGZyb20gdGhl
IGZvbnQuCiAgICAgLy8gVW5mb3J0dW5hdGVseSwgTlNGb250IHdpbGwgcm91bmQgdGhpcyBmb3Ig
dXMgc28gd2UgZG9uJ3QgcXVpdGUgZ2V0IHRoZSByaWdodCB2YWx1ZS4KQEAgLTEwOSwxMSArMTA5
LDEzIEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgICAgIC8vIGFu
ZCB3ZWIgcGFnZXMgdGhhdCBmb29saXNobHkgdXNlIHRoaXMgbWV0cmljIGZvciB3aWR0aCB3aWxs
IGJlIGxhaWQgb3V0CiAgICAgICAgIC8vIHBvb3JseSBpZiB3ZSByZXR1cm4gYW4gYWNjdXJhdGUg
aGVpZ2h0LiBDbGFzc2ljIGNhc2UgaXMgVGltZXMgMTMgcG9pbnQsCiAgICAgICAgIC8vIHdoaWNo
IGhhcyBhbiAieCIgdGhhdCBpcyA3eDYgcGl4ZWxzLgotICAgICAgICBtX3hIZWlnaHQgPSBzY2Fs
ZUVtVG9Vbml0cyhtYXgoQ0dSZWN0R2V0TWF4WCh4Qm94KSwgQ0dSZWN0R2V0TWF4WSh4Qm94KSks
IG1fdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7CisgICAgICAgIG1fZm9udE1ldHJpY3Muc2V0WEhl
aWdodChzY2FsZUVtVG9Vbml0cyhtYXgoQ0dSZWN0R2V0TWF4WCh4Qm94KSwgQ0dSZWN0R2V0TWF4
WSh4Qm94KSksIHVuaXRzUGVyRW0pICogcG9pbnRTaXplKTsKICAgICB9IGVsc2UgewogICAgICAg
ICBpbnQgaVhIZWlnaHQgPSBDR0ZvbnRHZXRYSGVpZ2h0KGZvbnQpOwotICAgICAgICBtX3hIZWln
aHQgPSBzY2FsZUVtVG9Vbml0cyhpWEhlaWdodCwgbV91bml0c1BlckVtKSAqIHBvaW50U2l6ZTsK
KyAgICAgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHNjYWxlRW1Ub1VuaXRzKGlYSGVpZ2h0
LCB1bml0c1BlckVtKSAqIHBvaW50U2l6ZSk7CiAgICAgfQorCisgICAgbV9mb250TWV0cmljcy5z
ZXRVbml0c1BlckVtKHVuaXRzUGVyRW0pOwogfQogCiB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0
Zm9ybUNoYXJXaWR0aEluaXQoKQpAQCAtMTMzLDcgKzEzNSw3IEBAIEZsb2F0UmVjdCBTaW1wbGVG
b250RGF0YTo6cGxhdGZvcm1Cb3VuZHMKICAgICBDR1JlY3QgYm94OwogICAgIENHRm9udEdldEds
eXBoQkJveGVzKG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpLCAmZ2x5cGgsIDEsICZib3gpOwogICAg
IGZsb2F0IHBvaW50U2l6ZSA9IG1fcGxhdGZvcm1EYXRhLnNpemUoKTsKLSAgICBDR0Zsb2F0IHNj
YWxlID0gcG9pbnRTaXplIC8gdW5pdHNQZXJFbSgpOworICAgIENHRmxvYXQgc2NhbGUgPSBwb2lu
dFNpemUgLyBmb250TWV0cmljcygpLnVuaXRzUGVyRW0oKTsKICAgICBGbG9hdFJlY3QgYm91bmRp
bmdCb3ggPSBDR1JlY3RBcHBseUFmZmluZVRyYW5zZm9ybShib3gsIENHQWZmaW5lVHJhbnNmb3Jt
TWFrZVNjYWxlKHNjYWxlLCAtc2NhbGUpKTsKICAgICBpZiAobV9zeW50aGV0aWNCb2xkT2Zmc2V0
KQogICAgICAgICBib3VuZGluZ0JveC5zZXRXaWR0aChib3VuZGluZ0JveC53aWR0aCgpICsgbV9z
eW50aGV0aWNCb2xkT2Zmc2V0KTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L1NpbXBsZUZvbnREYXRhQ2Fpcm9XaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ2Fpcm9XaW4uY3BwCShyZXZpc2lvbiA3NDY2
NSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ2Fpcm9X
aW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MywxMyArNjMsMTYgQEAgdm9pZCBTaW1wbGVGb250
RGF0YTo6cGxhdGZvcm1Jbml0KCkKIAogICAgIFRFWFRNRVRSSUMgdGV4dE1ldHJpY3M7CiAgICAg
R2V0VGV4dE1ldHJpY3MoaGRjLCAmdGV4dE1ldHJpY3MpOwotICAgIG1fYXNjZW50ID0gbHJvdW5k
Zih0ZXh0TWV0cmljcy50bUFzY2VudCAqIG1ldHJpY3NNdWx0aXBsaWVyKTsKLSAgICBtX2Rlc2Nl
bnQgPSBscm91bmRmKHRleHRNZXRyaWNzLnRtRGVzY2VudCAqIG1ldHJpY3NNdWx0aXBsaWVyKTsK
LSAgICBtX3hIZWlnaHQgPSBtX2FzY2VudCAqIDAuNTZmOyAvLyBCZXN0IGd1ZXNzIGZvciB4SGVp
Z2h0IGZvciBub24tVHJ1ZXR5cGUgZm9udHMuCi0gICAgbV9saW5lR2FwID0gbHJvdW5kZih0ZXh0
TWV0cmljcy50bUV4dGVybmFsTGVhZGluZyAqIG1ldHJpY3NNdWx0aXBsaWVyKTsKLSAgICBtX2xp
bmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rlc2NlbnQgKyBtX2xpbmVHYXA7Ci0gICAgbV9hdmdD
aGFyV2lkdGggPSBscm91bmRmKHRleHRNZXRyaWNzLnRtQXZlQ2hhcldpZHRoICogbWV0cmljc011
bHRpcGxpZXIpOwotICAgIG1fbWF4Q2hhcldpZHRoID0gbHJvdW5kZih0ZXh0TWV0cmljcy50bU1h
eENoYXJXaWR0aCAqIG1ldHJpY3NNdWx0aXBsaWVyKTsKKyAgICBmbG9hdCBhc2NlbnQgPSB0ZXh0
TWV0cmljcy50bUFzY2VudCAqIG1ldHJpY3NNdWx0aXBsaWVyOworICAgIGZsb2F0IGRlc2NlbnQg
PSB0ZXh0TWV0cmljcy50bURlc2NlbnQgKiBtZXRyaWNzTXVsdGlwbGllcjsKKyAgICBmbG9hdCB4
SGVpZ2h0ID0gYXNjZW50ICogMC41NmY7IC8vIEJlc3QgZ3Vlc3MgZm9yIHhIZWlnaHQgZm9yIG5v
bi1UcnVldHlwZSBmb250cy4KKyAgICBmbG9hdCBsaW5lR2FwID0gdGV4dE1ldHJpY3MudG1FeHRl
cm5hbExlYWRpbmcgKiBtZXRyaWNzTXVsdGlwbGllcjsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldEFz
Y2VudChhc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChkZXNjZW50KTsKKyAg
ICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZUdhcCk7CisgICAgbV9mb250TWV0cmljcy5z
ZXRMaW5lU3BhY2luZyhhc2NlbnQgKyBkZXNjZW50ICsgbGluZUdhcCk7CisgICAgbV9hdmdDaGFy
V2lkdGggPSB0ZXh0TWV0cmljcy50bUF2ZUNoYXJXaWR0aCAqIG1ldHJpY3NNdWx0aXBsaWVyOwor
ICAgIG1fbWF4Q2hhcldpZHRoID0gdGV4dE1ldHJpY3MudG1NYXhDaGFyV2lkdGggKiBtZXRyaWNz
TXVsdGlwbGllcjsKIAogICAgIE9VVExJTkVURVhUTUVUUklDIG1ldHJpY3M7CiAgICAgaWYgKEdl
dE91dGxpbmVUZXh0TWV0cmljcyhoZGMsIHNpemVvZihtZXRyaWNzKSwgJm1ldHJpY3MpID4gMCkg
ewpAQCAtNzgsOSArODEsMTAgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkK
ICAgICAgICAgTUFUMiBtYXQgPSB7IDEsIDAsIDAsIDEgfTsKICAgICAgICAgRFdPUkQgbGVuID0g
R2V0R2x5cGhPdXRsaW5lKGhkYywgJ3gnLCBHR09fTUVUUklDUywgJmdtLCAwLCAwLCAmbWF0KTsK
ICAgICAgICAgaWYgKGxlbiAhPSBHRElfRVJST1IgJiYgZ20uZ21wdEdseXBoT3JpZ2luLnkgPiAw
KQotICAgICAgICAgICAgbV94SGVpZ2h0ID0gZ20uZ21wdEdseXBoT3JpZ2luLnkgKiBtZXRyaWNz
TXVsdGlwbGllcjsKKyAgICAgICAgICAgIHhIZWlnaHQgPSBnbS5nbXB0R2x5cGhPcmlnaW4ueSAq
IG1ldHJpY3NNdWx0aXBsaWVyOwogICAgIH0KIAorICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdo
dCh4SGVpZ2h0KTsKICAgICBjYWlyb193aW4zMl9zY2FsZWRfZm9udF9kb25lX2ZvbnQoc2NhbGVk
Rm9udCk7CiAKICAgICBtX2lzU3lzdGVtRm9udCA9IGZhbHNlOwpJbmRleDogV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFXaW4uY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhV2luLmNwcAkocmV2aXNp
b24gNzQ2NjUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0
YVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY2LDE0ICs2Niw5IEBAIGJvb2wgU2ltcGxlRm9u
dERhdGE6OnNob3VsZEFwcGx5TWFjQXNjZW4KIHZvaWQgU2ltcGxlRm9udERhdGE6OmluaXRHRElG
b250KCkKIHsKICAgICBpZiAoIW1fcGxhdGZvcm1EYXRhLnNpemUoKSkgewotICAgICAgICBtX2Fz
Y2VudCA9IDA7Ci0gICAgICAgIG1fZGVzY2VudCA9IDA7Ci0gICAgICAgIG1fbGluZUdhcCA9IDA7
Ci0gICAgICAgIG1fbGluZVNwYWNpbmcgPSAwOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnJlc2V0
KCk7CiAgICAgICAgIG1fYXZnQ2hhcldpZHRoID0gMDsKICAgICAgICAgbV9tYXhDaGFyV2lkdGgg
PSAwOwotICAgICAgICBtX3hIZWlnaHQgPSAwOwotICAgICAgICBtX3VuaXRzUGVyRW0gPSAwOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC04MiwyMSArNzcsMjUgQEAgdm9pZCBTaW1wbGVG
b250RGF0YTo6aW5pdEdESUZvbnQoKQogICAgICBPVVRMSU5FVEVYVE1FVFJJQyBtZXRyaWNzOwog
ICAgICBHZXRPdXRsaW5lVGV4dE1ldHJpY3MoaGRjLCBzaXplb2YobWV0cmljcyksICZtZXRyaWNz
KTsKICAgICAgVEVYVE1FVFJJQyYgdGV4dE1ldHJpY3MgPSBtZXRyaWNzLm90bVRleHRNZXRyaWNz
OwotICAgICBtX2FzY2VudCA9IHRleHRNZXRyaWNzLnRtQXNjZW50OwotICAgICBtX2Rlc2NlbnQg
PSB0ZXh0TWV0cmljcy50bURlc2NlbnQ7Ci0gICAgIG1fbGluZUdhcCA9IHRleHRNZXRyaWNzLnRt
RXh0ZXJuYWxMZWFkaW5nOwotICAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rlc2Nl
bnQgKyBtX2xpbmVHYXA7CisgICAgIGZsb2F0IGFzY2VudCA9IHRleHRNZXRyaWNzLnRtQXNjZW50
OworICAgICBmbG9hdCBkZXNjZW50ID0gdGV4dE1ldHJpY3MudG1EZXNjZW50OworICAgICBmbG9h
dCBsaW5lR2FwID0gdGV4dE1ldHJpY3MudG1FeHRlcm5hbExlYWRpbmc7CisgICAgIG1fZm9udE1l
dHJpY3Muc2V0QXNjZW50KGFzY2VudCk7CisgICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChk
ZXNjZW50KTsKKyAgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGxpbmVHYXApOworICAgICBt
X2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGFzY2VudCArIGRlc2NlbnQgKyBsaW5lR2FwKTsK
ICAgICAgbV9hdmdDaGFyV2lkdGggPSB0ZXh0TWV0cmljcy50bUF2ZUNoYXJXaWR0aDsKICAgICAg
bV9tYXhDaGFyV2lkdGggPSB0ZXh0TWV0cmljcy50bU1heENoYXJXaWR0aDsKLSAgICAgbV94SGVp
Z2h0ID0gbV9hc2NlbnQgKiAwLjU2ZjsgLy8gQmVzdCBndWVzcyBmb3IgeEhlaWdodCBpZiBubyB4
IGdseXBoIGlzIHByZXNlbnQuCisgICAgIGZsb2F0IHhIZWlnaHQgPSBhc2NlbnQgKiAwLjU2Zjsg
Ly8gQmVzdCBndWVzcyBmb3IgeEhlaWdodCBpZiBubyB4IGdseXBoIGlzIHByZXNlbnQuCiAKICAg
ICAgR0xZUEhNRVRSSUNTIGdtOwogICAgICBNQVQyIG1hdCA9IHsgMSwgMCwgMCwgMSB9OwogICAg
ICBEV09SRCBsZW4gPSBHZXRHbHlwaE91dGxpbmUoaGRjLCAneCcsIEdHT19NRVRSSUNTLCAmZ20s
IDAsIDAsICZtYXQpOwogICAgICBpZiAobGVuICE9IEdESV9FUlJPUiAmJiBnbS5nbXB0R2x5cGhP
cmlnaW4ueSA+IDApCi0gICAgICAgICBtX3hIZWlnaHQgPSBnbS5nbXB0R2x5cGhPcmlnaW4ueTsK
KyAgICAgICAgIHhIZWlnaHQgPSBnbS5nbXB0R2x5cGhPcmlnaW4ueTsKIAotICAgICBtX3VuaXRz
UGVyRW0gPSBtZXRyaWNzLm90bUVNU3F1YXJlOworICAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWln
aHQoeEhlaWdodCk7CisgICAgIG1fZm9udE1ldHJpY3Muc2V0VW5pdHNQZXJFbShtZXRyaWNzLm90
bUVNU3F1YXJlKTsKIAogICAgICBTZWxlY3RPYmplY3QoaGRjLCBvbGRGb250KTsKICAgICAgUmVs
ZWFzZURDKDAsIGhkYyk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dy
YXBoaWNzQ29udGV4dFdpbkNFLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcAkocmV2aXNpb24gNzQ2NjUpCisr
KyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTUzNSw3ICsxNTM1LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRl
eHQ6OmRyYXdUZXh0KGNvbnN0IEZvbgogICAgIG1fZGF0YS0+bV9vcGFjaXR5ICo9IGZpbGxDb2xv
cigpLmFscGhhKCkgLyAyNTUuMDsKIAogICAgIEZsb2F0UmVjdCB0ZXh0UmVjdCA9IGZvbnQuc2Vs
ZWN0aW9uUmVjdEZvclRleHQocnVuLCBwb2ludCwgZm9udC5oZWlnaHQoKSwgZnJvbSwgdG8pOwot
ICAgIHRleHRSZWN0LnNldFkodGV4dFJlY3QueSgpIC0gZm9udC5hc2NlbnQoKSk7CisgICAgdGV4
dFJlY3Quc2V0WSh0ZXh0UmVjdC55KCkgLSBmb250LmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwog
ICAgIEludFJlY3QgdHJSZWN0ID0gZW5jbG9zaW5nSW50UmVjdChtX2RhdGEtPm1hcFJlY3QodGV4
dFJlY3QpKTsKICAgICBSRUNUIGJtcFJlY3Q7CiAgICAgQWxwaGFQYWludFR5cGUgYWxwaGFQYWlu
dFR5cGUgPSBtdXN0U3VwcG9ydEFscGhhID8gQWxwaGFQYWludE90aGVyIDogQWxwaGFQYWludE5v
bmU7CkBAIC0xNTQ0LDcgKzE1NDQsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd1RleHQo
Y29uc3QgRm9uCiAgICAgICAgICAgICBHcmFwaGljc0NvbnRleHQgZ2MoMCk7CiAgICAgICAgICAg
ICBnYy5zZXRCaXRtYXAoYm1wKTsKICAgICAgICAgICAgIGdjLnNjYWxlKEZsb2F0U2l6ZShtX2Rh
dGEtPm1fdHJhbnNmb3JtLmEoKSwgbV9kYXRhLT5tX3RyYW5zZm9ybS5kKCkpKTsKLSAgICAgICAg
ICAgIGZvbnQuZHJhd1RleHQoJmdjLCBydW4sIEludFBvaW50KDAsIGZvbnQuYXNjZW50KCkpLCBm
cm9tLCB0byk7CisgICAgICAgICAgICBmb250LmRyYXdUZXh0KCZnYywgcnVuLCBJbnRQb2ludCgw
LCBmb250LmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpLCBmcm9tLCB0byk7CiAgICAgICAgIH0KICAg
ICAgICAgdW5zaWduZWQga2V5MTsKICAgICAgICAgSERDIG1lbURDID0gYm1wLT5nZXREQygma2V5
MSk7CkBAIC0xNTg5LDcgKzE1ODksNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZHJhd1RleHQo
Y29uc3QgU2ltCiAgICAgICAgID8gZm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLmdldFNjYWxlZEZv
bnRIYW5kbGUoaGVpZ2h0LCBzY2FsZVggPT0gc2NhbGVZID8gMCA6IHdpZHRoKQogICAgICAgICA6
IDA7CiAKLSAgICBGbG9hdFBvaW50IHN0YXJ0UG9pbnQocG9pbnQueCgpLCBwb2ludC55KCkgLSBm
b250RGF0YS0+YXNjZW50KCkpOworICAgIEZsb2F0UG9pbnQgc3RhcnRQb2ludChwb2ludC54KCks
IHBvaW50LnkoKSAtIGZvbnREYXRhLT5mb250TWV0cmljcygpLmFzY2VudCgpKTsKICAgICBGbG9h
dFBvaW50IHRyUG9pbnQgPSBtX2RhdGEtPm1hcFBvaW50KHN0YXJ0UG9pbnQpOwogICAgIGludCB5
ID0gc3RhYmxlUm91bmQodHJQb2ludC55KCkpOwogCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbmNlL1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2ltcGxlRm9udERhdGFXaW5DRS5jcHAJKHJldmlz
aW9uIDc0NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9TaW1wbGVGb250
RGF0YVdpbkNFLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTEsMTEgKzUxLDE0IEBAIHZvaWQgU2lt
cGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgY29uc3QgVEVYVE1FVFJJQyYgdG0gPSBt
X3BsYXRmb3JtRGF0YS5tZXRyaWNzKCk7CiAgICAgbV9pc1N5c3RlbUZvbnQgPSBtX3BsYXRmb3Jt
RGF0YS5pc1N5c3RlbUZvbnQoKTsKIAotICAgIG1fYXNjZW50ID0gKHRtLnRtQXNjZW50ICogbV9w
bGF0Zm9ybURhdGEuc2l6ZSgpICsgMzYpIC8gNzI7Ci0gICAgbV9kZXNjZW50ID0gKHRtLnRtRGVz
Y2VudCAqIG1fcGxhdGZvcm1EYXRhLnNpemUoKSArIDM2KSAvIDcyOwotICAgIG1fbGluZUdhcCA9
ICh0bS50bUV4dGVybmFsTGVhZGluZyAqIG1fcGxhdGZvcm1EYXRhLnNpemUoKSArIDM2KSAvIDcy
OwotICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2VudCArIG1fbGluZUdhcDsK
LSAgICBtX3hIZWlnaHQgPSBtX2FzY2VudCAqIDAuNTZmOworICAgIGZsb2F0IGFzY2VudCA9ICh0
bS50bUFzY2VudCAqIG1fcGxhdGZvcm1EYXRhLnNpemUoKSArIDM2KSAvIDcyLjBmOworICAgIGZs
b2F0IGRlc2NlbnQgPSAodG0udG1EZXNjZW50ICogbV9wbGF0Zm9ybURhdGEuc2l6ZSgpICsgMzYp
IC8gNzIuMGY7CisgICAgZmxvYXQgbGluZUdhcCA9ICh0bS50bUV4dGVybmFsTGVhZGluZyAqIG1f
cGxhdGZvcm1EYXRhLnNpemUoKSArIDM2KSAvIDcyLjBmOworICAgIG1fZm9udE1ldHJpY3Muc2V0
QXNjZW50KGFzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGRlc2NlbnQpOwor
ICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChsaW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNz
LnNldExpbmVTcGFjaW5nKGFzY2VudCArIGRlc2NlbnQgKyBsaW5lR2FwKTsKKyAgICBtX2ZvbnRN
ZXRyaWNzLnNldFhIZWlnaHQoYXNjZW50ICogMC41NmYpOwogfQogCiB2b2lkIFNpbXBsZUZvbnRE
YXRhOjpwbGF0Zm9ybURlc3Ryb3koKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
eC9TaW1wbGVGb250RGF0YVd4LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3d4L1NpbXBsZUZvbnREYXRhV3guY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvU2ltcGxlRm9udERhdGFXeC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTUzLDEyICs1MywxMiBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQo
KQogICAgIHd4Rm9udCAqZm9udCA9IG1fcGxhdGZvcm1EYXRhLmZvbnQoKTsKICAgICBpZiAoZm9u
dCAmJiBmb250LT5Jc09rKCkpIHsKICAgICAgICAgd3hGb250UHJvcGVydGllcyBwcm9wcyA9IHd4
Rm9udFByb3BlcnRpZXMoZm9udCk7Ci0gICAgICAgIG1fYXNjZW50ID0gcHJvcHMuR2V0QXNjZW50
KCk7Ci0gICAgICAgIG1fZGVzY2VudCA9IHByb3BzLkdldERlc2NlbnQoKTsKLSAgICAgICAgbV9s
aW5lU3BhY2luZyA9IHByb3BzLkdldExpbmVTcGFjaW5nKCk7Ci0gICAgICAgIG1feEhlaWdodCA9
IHByb3BzLkdldFhIZWlnaHQoKTsKLSAgICAgICAgbV91bml0c1BlckVtID0gMTsgLy8gRklYTUUh
Ci0gICAgICAgIG1fbGluZUdhcCA9IHByb3BzLkdldExpbmVHYXAoKTsKKyAgICAgICAgbV9mb250
TWV0cmljcy5zZXRBc2NlbnQocHJvcHMuR2V0QXNjZW50KCkpOworICAgICAgICBtX2ZvbnRNZXRy
aWNzLnNldERlc2NlbnQocHJvcHMuR2V0RGVzY2VudCgpKTsKKyAgICAgICAgbV9mb250TWV0cmlj
cy5zZXRMaW5lU3BhY2luZyhwcm9wcy5HZXRMaW5lU3BhY2luZygpKTsKKyAgICAgICAgbV9mb250
TWV0cmljcy5zZXRYSGVpZ2h0KHByb3BzLkdldFhIZWlnaHQoKSk7CisgICAgICAgIG1fZm9udE1l
dHJpY3Muc2V0VW5pdHNQZXJFbSgxKTsgLy8gRklYTUUhCisgICAgICAgIG1fZm9udE1ldHJpY3Mu
c2V0TGluZUdhcChwcm9wcy5HZXRMaW5lR2FwKCkpOwogICAgIH0KIAogICAgIG1fc3ludGhldGlj
Qm9sZE9mZnNldCA9IDAuMGY7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVX
aW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5j
cHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2lu
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzA1LDcgKzMwNSw3IEBAIHZvaWQgUG9wdXBNZW51V2lu
OjpjYWxjdWxhdGVQb3NpdGlvbkFuZFMKIAogICAgIC8vIEZpcnN0LCBkZXRlcm1pbmUgdGhlIHBv
cHVwJ3MgaGVpZ2h0CiAgICAgaW50IGl0ZW1Db3VudCA9IGNsaWVudCgpLT5saXN0U2l6ZSgpOwot
ICAgIG1faXRlbUhlaWdodCA9IGNsaWVudCgpLT5tZW51U3R5bGUoKS5mb250KCkuaGVpZ2h0KCkg
KyBvcHRpb25TcGFjaW5nTWlkZGxlOworICAgIG1faXRlbUhlaWdodCA9IGNsaWVudCgpLT5tZW51
U3R5bGUoKS5mb250KCkuZm9udE1ldHJpY3MoKS5oZWlnaHQoKSArIG9wdGlvblNwYWNpbmdNaWRk
bGU7CiAgICAgaW50IG5hdHVyYWxIZWlnaHQgPSBtX2l0ZW1IZWlnaHQgKiBpdGVtQ291bnQ7CiAg
ICAgaW50IHBvcHVwSGVpZ2h0ID0gbWluKG1heFBvcHVwSGVpZ2h0LCBuYXR1cmFsSGVpZ2h0KTsK
ICAgICAvLyBUaGUgcG9wdXAgc2hvdWxkIHNob3cgYW4gaW50ZWdyYWwgbnVtYmVyIG9mIGl0ZW1z
IChpLmUuIG5vIHBhcnRpYWwgaXRlbXMgc2hvdWxkIGJlIHZpc2libGUpCkBAIC02NDgsNyArNjQ4
LDcgQEAgdm9pZCBQb3B1cE1lbnVXaW46OnBhaW50KGNvbnN0IEludFJlY3QmIAogICAgICAgICAg
ICAgaW50IHRleHRYID0gbWF4KDAsIGNsaWVudCgpLT5jbGllbnRQYWRkaW5nTGVmdCgpIC0gY2xp
ZW50KCktPmNsaWVudEluc2V0TGVmdCgpKTsKICAgICAgICAgICAgIGlmIChSZW5kZXJUaGVtZTo6
ZGVmYXVsdFRoZW1lKCktPnBvcHVwT3B0aW9uU3VwcG9ydHNUZXh0SW5kZW50KCkgJiYgaXRlbVN0
eWxlLnRleHREaXJlY3Rpb24oKSA9PSBMVFIpCiAgICAgICAgICAgICAgICAgdGV4dFggKz0gaXRl
bVN0eWxlLnRleHRJbmRlbnQoKS5jYWxjTWluVmFsdWUoaXRlbVJlY3Qud2lkdGgoKSk7Ci0gICAg
ICAgICAgICBpbnQgdGV4dFkgPSBpdGVtUmVjdC55KCkgKyBpdGVtRm9udC5hc2NlbnQoKSArIChp
dGVtUmVjdC5oZWlnaHQoKSAtIGl0ZW1Gb250LmhlaWdodCgpKSAvIDI7CisgICAgICAgICAgICBp
bnQgdGV4dFkgPSBpdGVtUmVjdC55KCkgKyBpdGVtRm9udC5mb250TWV0cmljcygpLmFzY2VudCgp
ICsgKGl0ZW1SZWN0LmhlaWdodCgpIC0gaXRlbUZvbnQuZm9udE1ldHJpY3MoKS5oZWlnaHQoKSkg
LyAyOwogICAgICAgICAgICAgY29udGV4dC5kcmF3QmlkaVRleHQoaXRlbUZvbnQsIHRleHRSdW4s
IEludFBvaW50KHRleHRYLCB0ZXh0WSkpOwogICAgICAgICB9CiAgICAgfQpJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvRWxsaXBzaXNCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL0VsbGlwc2lzQm94LmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3JlbmRlcmlu
Zy9FbGxpcHNpc0JveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDcgKzUxLDcgQEAgdm9pZCBF
bGxpcHNpc0JveDo6cGFpbnQoUGFpbnRJbmZvJiBwYWludAogICAgIH0KIAogICAgIGNvbnN0IFN0
cmluZyYgc3RyID0gbV9zdHI7Ci0gICAgY29udGV4dC0+ZHJhd1RleHQoc3R5bGUtPmZvbnQoKSwg
VGV4dFJ1bihzdHIuY2hhcmFjdGVycygpLCBzdHIubGVuZ3RoKCksIGZhbHNlLCAwLCAwLCBmYWxz
ZSwgc3R5bGUtPnZpc3VhbGx5T3JkZXJlZCgpKSwgSW50UG9pbnQobV94ICsgdHgsIG1feSArIHR5
ICsgc3R5bGUtPmZvbnQoKS5hc2NlbnQoKSkpOworICAgIGNvbnRleHQtPmRyYXdUZXh0KHN0eWxl
LT5mb250KCksIFRleHRSdW4oc3RyLmNoYXJhY3RlcnMoKSwgc3RyLmxlbmd0aCgpLCBmYWxzZSwg
MCwgMCwgZmFsc2UsIHN0eWxlLT52aXN1YWxseU9yZGVyZWQoKSksIEludFBvaW50KG1feCArIHR4
LCBtX3kgKyB0eSArIHN0eWxlLT5mb250TWV0cmljcygpLmFzY2VudCgpKSk7CiAKICAgICAvLyBS
ZXN0b3JlIHRoZSByZWd1bGFyIGZpbGwgY29sb3IuCiAgICAgaWYgKHRleHRDb2xvciAhPSBjb250
ZXh0LT5maWxsQ29sb3IoKSkKQEAgLTYzLDcgKzYzLDcgQEAgdm9pZCBFbGxpcHNpc0JveDo6cGFp
bnQoUGFpbnRJbmZvJiBwYWludAogICAgIGlmIChtX21hcmt1cEJveCkgewogICAgICAgICAvLyBQ
YWludCB0aGUgbWFya3VwIGJveAogICAgICAgICB0eCArPSBtX3ggKyBtX2xvZ2ljYWxXaWR0aCAt
IG1fbWFya3VwQm94LT54KCk7Ci0gICAgICAgIHR5ICs9IG1feSArIHN0eWxlLT5mb250KCkuYXNj
ZW50KCkgLSAobV9tYXJrdXBCb3gtPnkoKSArIG1fbWFya3VwQm94LT5yZW5kZXJlcigpLT5zdHls
ZShtX2ZpcnN0TGluZSktPmZvbnQoKS5hc2NlbnQoKSk7CisgICAgICAgIHR5ICs9IG1feSArIHN0
eWxlLT5mb250TWV0cmljcygpLmFzY2VudCgpIC0gKG1fbWFya3VwQm94LT55KCkgKyBtX21hcmt1
cEJveC0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250TWV0cmljcygpLmFzY2Vu
dCgpKTsKICAgICAgICAgbV9tYXJrdXBCb3gtPnBhaW50KHBhaW50SW5mbywgdHgsIHR5KTsKICAg
ICB9CiB9CkBAIC0xMDYsNyArMTA2LDcgQEAgYm9vbCBFbGxpcHNpc0JveDo6bm9kZUF0UG9pbnQo
Y29uc3QgSGl0VAogICAgIGlmIChtX21hcmt1cEJveCkgewogICAgICAgICBSZW5kZXJTdHlsZSog
c3R5bGUgPSBtX3JlbmRlcmVyLT5zdHlsZShtX2ZpcnN0TGluZSk7CiAgICAgICAgIGludCBtdHgg
PSB0eCArIG1fbG9naWNhbFdpZHRoIC0gbV9tYXJrdXBCb3gtPngoKTsKLSAgICAgICAgaW50IG10
eSA9IHR5ICsgc3R5bGUtPmZvbnQoKS5hc2NlbnQoKSAtIChtX21hcmt1cEJveC0+eSgpICsgbV9t
YXJrdXBCb3gtPnJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpLmFzY2VudCgp
KTsKKyAgICAgICAgaW50IG10eSA9IHR5ICsgc3R5bGUtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkg
LSAobV9tYXJrdXBCb3gtPnkoKSArIG1fbWFya3VwQm94LT5yZW5kZXJlcigpLT5zdHlsZShtX2Zp
cnN0TGluZSktPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwogICAgICAgICBpZiAobV9tYXJrdXBC
b3gtPm5vZGVBdFBvaW50KHJlcXVlc3QsIHJlc3VsdCwgeCwgeSwgbXR4LCBtdHkpKSB7CiAgICAg
ICAgICAgICByZW5kZXJlcigpLT51cGRhdGVIaXRUZXN0UmVzdWx0KHJlc3VsdCwgSW50UG9pbnQo
eCAtIG10eCwgeSAtIG10eSkpOwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CkluZGV4OiBXZWJD
b3JlL3JlbmRlcmluZy9JbmxpbmVCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL0lubGluZUJveC5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29yZS9yZW5kZXJpbmcv
SW5saW5lQm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTMsMTQgKzkzLDE0IEBAIGludCBJbmxp
bmVCb3g6OmxvZ2ljYWxIZWlnaHQoKSBjb25zdAogI2VuZGlmCiAgICAgCiAgICAgaWYgKHJlbmRl
cmVyKCktPmlzVGV4dCgpKQotICAgICAgICByZXR1cm4gbV9pc1RleHQgPyByZW5kZXJlcigpLT5z
dHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKS5oZWlnaHQoKSA6IDA7CisgICAgICAgIHJldHVybiBt
X2lzVGV4dCA/IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKS5o
ZWlnaHQoKSA6IDA7CiAgICAgaWYgKHJlbmRlcmVyKCktPmlzQm94KCkgJiYgcGFyZW50KCkpCiAg
ICAgICAgIHJldHVybiBpc0hvcml6b250YWwoKSA/IHRvUmVuZGVyQm94KG1fcmVuZGVyZXIpLT5o
ZWlnaHQoKSA6IHRvUmVuZGVyQm94KG1fcmVuZGVyZXIpLT53aWR0aCgpOwogCiAgICAgQVNTRVJU
KGlzSW5saW5lRmxvd0JveCgpKTsKICAgICBSZW5kZXJCb3hNb2RlbE9iamVjdCogZmxvd09iamVj
dCA9IGJveE1vZGVsT2JqZWN0KCk7Ci0gICAgY29uc3QgRm9udCYgZm9udCA9IHJlbmRlcmVyKCkt
PnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpOwotICAgIGludCByZXN1bHQgPSBmb250LmhlaWdo
dCgpOworICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IHJlbmRlcmVyKCktPnN0
eWxlKG1fZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKTsKKyAgICBpbnQgcmVzdWx0ID0gZm9udE1l
dHJpY3MuaGVpZ2h0KCk7CiAgICAgaWYgKHBhcmVudCgpKQogICAgICAgICByZXN1bHQgKz0gZmxv
d09iamVjdC0+Ym9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxIZWlnaHQoKTsKICAgICByZXR1cm4gcmVz
dWx0OwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHJldmlzaW9uIDc0NjY1
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQwOCw2ICs0MDgsNyBAQCBzdGF0aWMgaW50IHZlcnRpY2FsUG9zaXRpb25Gb3JCb3goSW5s
aW5lCiAgICAgICAgIAogICAgICAgICBpZiAodmVydGljYWxBbGlnbiAhPSBCQVNFTElORSkgewog
ICAgICAgICAgICAgY29uc3QgRm9udCYgZm9udCA9IHBhcmVudC0+c3R5bGUoZmlyc3RMaW5lKS0+
Zm9udCgpOworICAgICAgICAgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZm9u
dC5mb250TWV0cmljcygpOwogICAgICAgICAgICAgaW50IGZvbnRTaXplID0gZm9udC5waXhlbFNp
emUoKTsKIAogICAgICAgICAgICAgTGluZURpcmVjdGlvbk1vZGUgbGluZURpcmVjdGlvbiA9IHBh
cmVudC0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IEhvcml6b250YWxMaW5l
IDogVmVydGljYWxMaW5lOwpAQCAtNDE3LDExICs0MTgsMTEgQEAgc3RhdGljIGludCB2ZXJ0aWNh
bFBvc2l0aW9uRm9yQm94KElubGluZQogICAgICAgICAgICAgZWxzZSBpZiAodmVydGljYWxBbGln
biA9PSBTVVBFUikKICAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uIC09IGZvbnRTaXpl
IC8gMyArIDE7CiAgICAgICAgICAgICBlbHNlIGlmICh2ZXJ0aWNhbEFsaWduID09IFRFWFRfVE9Q
KQotICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gcmVuZGVyZXItPmJhc2VsaW5l
UG9zaXRpb24oYmFzZWxpbmVUeXBlLCBmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC0gZm9udC5h
c2NlbnQoYmFzZWxpbmVUeXBlKTsKKyAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9
IHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5l
RGlyZWN0aW9uKSAtIGZvbnRNZXRyaWNzLmFzY2VudChiYXNlbGluZVR5cGUpOwogICAgICAgICAg
ICAgZWxzZSBpZiAodmVydGljYWxBbGlnbiA9PSBNSURETEUpCi0gICAgICAgICAgICAgICAgdmVy
dGljYWxQb3NpdGlvbiArPSAtc3RhdGljX2Nhc3Q8aW50Pihmb250LnhIZWlnaHQoKSAvIDIpIC0g
cmVuZGVyZXItPmxpbmVIZWlnaHQoZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAvIDIgKyByZW5k
ZXJlci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURpcmVj
dGlvbik7CisgICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiArPSAtc3RhdGljX2Nhc3Q8
aW50Pihmb250TWV0cmljcy54SGVpZ2h0KCkgLyAyKSAtIHJlbmRlcmVyLT5saW5lSGVpZ2h0KGZp
cnN0TGluZSwgbGluZURpcmVjdGlvbikgLyAyICsgcmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24o
YmFzZWxpbmVUeXBlLCBmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pOwogICAgICAgICAgICAgZWxz
ZSBpZiAodmVydGljYWxBbGlnbiA9PSBURVhUX0JPVFRPTSkgewotICAgICAgICAgICAgICAgIHZl
cnRpY2FsUG9zaXRpb24gKz0gZm9udC5kZXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgICAgICAg
ICAgICAgdmVydGljYWxQb3NpdGlvbiArPSBmb250TWV0cmljcy5kZXNjZW50KGJhc2VsaW5lVHlw
ZSk7CiAgICAgICAgICAgICAgICAgLy8gbGluZUhlaWdodCAtIGJhc2VsaW5lUG9zaXRpb24gaXMg
YWx3YXlzIDAgZm9yIHJlcGxhY2VkIGVsZW1lbnRzIChleGNlcHQgaW5saW5lIGJsb2NrcyksIHNv
IGRvbid0IGJvdGhlciB3YXN0aW5nIHRpbWUgaW4gdGhhdCBjYXNlLgogICAgICAgICAgICAgICAg
IGlmICghcmVuZGVyZXItPmlzUmVwbGFjZWQoKSB8fCByZW5kZXJlci0+aXNJbmxpbmVCbG9ja09y
SW5saW5lVGFibGUoKSkKICAgICAgICAgICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiAtPSAo
cmVuZGVyZXItPmxpbmVIZWlnaHQoZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAtIHJlbmRlcmVy
LT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5lRGlyZWN0aW9u
KSk7CkBAIC01MDMsOSArNTA0LDEwIEBAIHZvaWQgSW5saW5lRmxvd0JveDo6Y29tcHV0ZUxvZ2lj
YWxCb3hIZWkKICAgICAgICAgICAgIGJhc2VsaW5lID0gMDsKICAgICAgICAgICAgIGludCBiYXNl
bGluZVRvQm90dG9tID0gMDsKICAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdXNl
ZEZvbnRzLT5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgICAgIGludCBoYWxmTGVhZGluZyA9
ICh1c2VkRm9udHMtPmF0KGkpLT5saW5lU3BhY2luZygpIC0gdXNlZEZvbnRzLT5hdChpKS0+aGVp
Z2h0KCkpIC8gMjsKLSAgICAgICAgICAgICAgICBpbnQgdXNlZEZvbnRCYXNlbGluZSA9IGhhbGZM
ZWFkaW5nICsgdXNlZEZvbnRzLT5hdChpKS0+YXNjZW50KGJhc2VsaW5lVHlwZSk7Ci0gICAgICAg
ICAgICAgICAgaW50IHVzZWRGb250QmFzZWxpbmVUb0JvdHRvbSA9IHVzZWRGb250cy0+YXQoaSkt
PmxpbmVTcGFjaW5nKCkgLSB1c2VkRm9udEJhc2VsaW5lOworICAgICAgICAgICAgICAgIGNvbnN0
IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IHVzZWRGb250cy0+YXQoaSktPmZvbnRNZXRyaWNz
KCk7CisgICAgICAgICAgICAgICAgaW50IGhhbGZMZWFkaW5nID0gKGZvbnRNZXRyaWNzLmxpbmVT
cGFjaW5nKCkgLSBmb250TWV0cmljcy5oZWlnaHQoKSkgLyAyOworICAgICAgICAgICAgICAgIGlu
dCB1c2VkRm9udEJhc2VsaW5lID0gaGFsZkxlYWRpbmcgKyBmb250TWV0cmljcy5hc2NlbnQoYmFz
ZWxpbmVUeXBlKTsKKyAgICAgICAgICAgICAgICBpbnQgdXNlZEZvbnRCYXNlbGluZVRvQm90dG9t
ID0gZm9udE1ldHJpY3MubGluZVNwYWNpbmcoKSAtIHVzZWRGb250QmFzZWxpbmU7CiAgICAgICAg
ICAgICAgICAgaWYgKCFiYXNlbGluZVNldCkgewogICAgICAgICAgICAgICAgICAgICBiYXNlbGlu
ZVNldCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgIGJhc2VsaW5lID0gdXNlZEZvbnRCYXNl
bGluZTsKQEAgLTUxNSw5ICs1MTcsOSBAQCB2b2lkIElubGluZUZsb3dCb3g6OmNvbXB1dGVMb2dp
Y2FsQm94SGVpCiAgICAgICAgICAgICAgICAgICAgIGJhc2VsaW5lVG9Cb3R0b20gPSBtYXgoYmFz
ZWxpbmVUb0JvdHRvbSwgdXNlZEZvbnRCYXNlbGluZVRvQm90dG9tKTsKICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgaWYgKCFhZmZlY3RzQXNjZW50KQotICAgICAgICAgICAgICAg
ICAgICBhZmZlY3RzQXNjZW50ID0gdXNlZEZvbnRzLT5hdChpKS0+YXNjZW50KCkgLSBjdXJyLT5s
b2dpY2FsVG9wKCkgPiAwOworICAgICAgICAgICAgICAgICAgICBhZmZlY3RzQXNjZW50ID0gZm9u
dE1ldHJpY3MuYXNjZW50KCkgLSBjdXJyLT5sb2dpY2FsVG9wKCkgPiAwOwogICAgICAgICAgICAg
ICAgIGlmICghYWZmZWN0c0Rlc2NlbnQpCi0gICAgICAgICAgICAgICAgICAgIGFmZmVjdHNEZXNj
ZW50ID0gdXNlZEZvbnRzLT5hdChpKS0+ZGVzY2VudCgpICsgY3Vyci0+bG9naWNhbFRvcCgpID4g
MDsKKyAgICAgICAgICAgICAgICAgICAgYWZmZWN0c0Rlc2NlbnQgPSBmb250TWV0cmljcy5kZXNj
ZW50KCkgKyBjdXJyLT5sb2dpY2FsVG9wKCkgPiAwOwogICAgICAgICAgICAgfQogICAgICAgICAg
ICAgbGluZUhlaWdodCA9IGJhc2VsaW5lICsgYmFzZWxpbmVUb0JvdHRvbTsKICAgICAgICAgfSBl
bHNlIHsKQEAgLTUyNywxMSArNTI5LDEyIEBAIHZvaWQgSW5saW5lRmxvd0JveDo6Y29tcHV0ZUxv
Z2ljYWxCb3hIZWkKICAgICAgICAgICAgICAgICAvLyBFeGFtaW5lIHRoZSBmb250IGJveCBmb3Ig
aW5saW5lIGZsb3dzIGFuZCB0ZXh0IGJveGVzIHRvIHNlZSBpZiBhbnkgcGFydCBvZiBpdCBpcyBh
Ym92ZSB0aGUgYmFzZWxpbmUuCiAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIHRvcCBvZiBvdXIg
Zm9udCBib3ggcmVsYXRpdmUgdG8gdGhlIHJvb3QgYm94IGJhc2VsaW5lIGlzIGFib3ZlIHRoZSBy
b290IGJveCBiYXNlbGluZSwgdGhlbgogICAgICAgICAgICAgICAgIC8vIHdlIGFyZSBjb250cmli
dXRpbmcgdG8gdGhlIG1heEFzY2VudCB2YWx1ZS4KLSAgICAgICAgICAgICAgICBhZmZlY3RzQXNj
ZW50ID0gY3Vyci0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCkuYXNjZW50
KGJhc2VsaW5lVHlwZSkgLSBjdXJyLT5sb2dpY2FsVG9wKCkgPiAwOworICAgICAgICAgICAgICAg
IGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IGN1cnItPnJlbmRlcmVyKCktPnN0eWxl
KG1fZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKTsKKyAgICAgICAgICAgICAgICBhZmZlY3RzQXNj
ZW50ID0gZm9udE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlwZSkgLSBjdXJyLT5sb2dpY2FsVG9w
KCkgPiAwOwogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIC8vIERlc2NlbnQgaXMg
c2ltaWxhci4gIElmIGFueSBwYXJ0IG9mIG91ciBmb250IGJveCBpcyBiZWxvdyB0aGUgcm9vdCBi
b3gncyBiYXNlbGluZSwgdGhlbgogICAgICAgICAgICAgICAgIC8vIHdlIGNvbnRyaWJ1dGUgdG8g
dGhlIG1heERlc2NlbnQgdmFsdWUuCi0gICAgICAgICAgICAgICAgYWZmZWN0c0Rlc2NlbnQgPSBj
dXJyLT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKS5kZXNjZW50KGJhc2Vs
aW5lVHlwZSkgKyBjdXJyLT5sb2dpY2FsVG9wKCkgPiAwOworICAgICAgICAgICAgICAgIGFmZmVj
dHNEZXNjZW50ID0gZm9udE1ldHJpY3MuZGVzY2VudChiYXNlbGluZVR5cGUpICsgY3Vyci0+bG9n
aWNhbFRvcCgpID4gMDsKICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgLy8g
UmVwbGFjZWQgZWxlbWVudHMgYWx3YXlzIGFmZmVjdCBib3RoIHRoZSBhc2NlbnQgYW5kIGRlc2Nl
bnQuCiAgICAgICAgICAgICAgICAgYWZmZWN0c0FzY2VudCA9IHRydWU7CkBAIC02MDYsOCArNjA5
LDggQEAgdm9pZCBJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5CbG9ja0RpcgogICAgICAgICBp
bnQgYm94SGVpZ2h0SW5jbHVkaW5nTWFyZ2lucyA9IGJveEhlaWdodDsKICAgICAgICAgICAgIAog
ICAgICAgICBpZiAoY3Vyci0+aXNUZXh0KCkgfHwgY3Vyci0+aXNJbmxpbmVGbG93Qm94KCkpIHsK
LSAgICAgICAgICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBjdXJyLT5yZW5kZXJlcigpLT5zdHlsZSht
X2ZpcnN0TGluZSktPmZvbnQoKTsKLSAgICAgICAgICAgIG5ld0xvZ2ljYWxUb3AgKz0gY3Vyci0+
YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUpIC0gZm9udC5hc2NlbnQoYmFzZWxpbmVUeXBl
KTsKKyAgICAgICAgICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IGN1cnItPnJl
bmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKTsKKyAgICAgICAgICAg
IG5ld0xvZ2ljYWxUb3AgKz0gY3Vyci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUpIC0g
Zm9udE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlwZSk7CiAgICAgICAgICAgICBpZiAoY3Vyci0+
aXNJbmxpbmVGbG93Qm94KCkpIHsKICAgICAgICAgICAgICAgICBSZW5kZXJCb3hNb2RlbE9iamVj
dCogYm94T2JqZWN0ID0gdG9SZW5kZXJCb3hNb2RlbE9iamVjdChjdXJyLT5yZW5kZXJlcigpKTsK
ICAgICAgICAgICAgICAgICBuZXdMb2dpY2FsVG9wIC09IGJveE9iamVjdC0+c3R5bGUobV9maXJz
dExpbmUpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gYm94T2JqZWN0LT5ib3JkZXJUb3Ao
KSArIGJveE9iamVjdC0+cGFkZGluZ1RvcCgpIDogCkBAIC02NjUsOCArNjY4LDggQEAgdm9pZCBJ
bmxpbmVGbG93Qm94OjpwbGFjZUJveGVzSW5CbG9ja0RpcgogICAgIH0KIAogICAgIGlmIChpc1Jv
b3RJbmxpbmVCb3goKSkgewotICAgICAgICBjb25zdCBGb250JiBmb250ID0gcmVuZGVyZXIoKS0+
c3R5bGUobV9maXJzdExpbmUpLT5mb250KCk7Ci0gICAgICAgIHNldExvZ2ljYWxUb3AobG9naWNh
bFRvcCgpICsgYmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUpIC0gZm9udC5hc2NlbnQoYmFz
ZWxpbmVUeXBlKSk7CisgICAgICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IHJl
bmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKTsKKyAgICAgICAgc2V0
TG9naWNhbFRvcChsb2dpY2FsVG9wKCkgKyBiYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSkg
LSBmb250TWV0cmljcy5hc2NlbnQoYmFzZWxpbmVUeXBlKSk7CiAgICAgICAgIAogICAgICAgICBp
ZiAoaGFzVGV4dENoaWxkcmVuKCkgfHwgc3RyaWN0TW9kZSkgewogICAgICAgICAgICAgaWYgKCFz
ZXRMaW5lVG9wKSB7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkocmV2aXNp
b24gNzQ2NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDU3LDcgKzQ1Nyw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnQoUGFp
bnRJbmZvJiBwYWkKICAgICBJbnRQb2ludCBib3hPcmlnaW4gPSBsb2NhdGlvbkluY2x1ZGluZ0Zs
aXBwaW5nKCk7CiAgICAgYm94T3JpZ2luLm1vdmUodHgsIHR5KTsgICAgCiAgICAgSW50UmVjdCBi
b3hSZWN0KGJveE9yaWdpbiwgSW50U2l6ZShsb2dpY2FsV2lkdGgoKSwgbG9naWNhbEhlaWdodCgp
KSk7Ci0gICAgSW50UG9pbnQgdGV4dE9yaWdpbiA9IEludFBvaW50KGJveE9yaWdpbi54KCksIGJv
eE9yaWdpbi55KCkgKyBzdHlsZVRvVXNlLT5mb250KCkuYXNjZW50KCkpOworICAgIEludFBvaW50
IHRleHRPcmlnaW4gPSBJbnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpICsgc3R5
bGVUb1VzZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAKICAgICBpZiAoIWlzSG9yaXpvbnRh
bCgpKSB7CiAgICAgICAgIGNvbnRleHQtPnNhdmUoKTsKQEAgLTU5Nyw5ICs1OTcsOSBAQCB2b2lk
IElubGluZVRleHRCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFpCiAgICAgY29uc3QgQXRvbWljU3Ry
aW5nJiBlbXBoYXNpc01hcmsgPSBzdHlsZVRvVXNlLT50ZXh0RW1waGFzaXNNYXJrU3RyaW5nKCk7
CiAgICAgaWYgKCFlbXBoYXNpc01hcmsuaXNFbXB0eSgpKSB7CiAgICAgICAgIGlmIChzdHlsZVRv
VXNlLT50ZXh0RW1waGFzaXNQb3NpdGlvbigpID09IFRleHRFbXBoYXNpc1Bvc2l0aW9uT3ZlcikK
LSAgICAgICAgICAgIGVtcGhhc2lzTWFya09mZnNldCA9IC1mb250LmFzY2VudCgpIC0gZm9udC5l
bXBoYXNpc01hcmtEZXNjZW50KGVtcGhhc2lzTWFyayk7CisgICAgICAgICAgICBlbXBoYXNpc01h
cmtPZmZzZXQgPSAtZm9udC5mb250TWV0cmljcygpLmFzY2VudCgpIC0gZm9udC5lbXBoYXNpc01h
cmtEZXNjZW50KGVtcGhhc2lzTWFyayk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIGVtcGhh
c2lzTWFya09mZnNldCA9IGZvbnQuZGVzY2VudCgpICsgZm9udC5lbXBoYXNpc01hcmtBc2NlbnQo
ZW1waGFzaXNNYXJrKTsKKyAgICAgICAgICAgIGVtcGhhc2lzTWFya09mZnNldCA9IGZvbnQuZm9u
dE1ldHJpY3MoKS5kZXNjZW50KCkgKyBmb250LmVtcGhhc2lzTWFya0FzY2VudChlbXBoYXNpc01h
cmspOwogICAgIH0KIAogICAgIGlmICghcGFpbnRTZWxlY3RlZFRleHRPbmx5KSB7CkBAIC04MTEs
NyArODExLDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oR3JhcAogICAg
IGJvb2wgbGluZXNBcmVPcGFxdWUgPSAhaXNQcmludGluZyAmJiAoIShkZWNvICYgVU5ERVJMSU5F
KSB8fCB1bmRlcmxpbmUuYWxwaGEoKSA9PSAyNTUpICYmICghKGRlY28gJiBPVkVSTElORSkgfHwg
b3ZlcmxpbmUuYWxwaGEoKSA9PSAyNTUpICYmICghKGRlY28gJiBMSU5FX1RIUk9VR0gpIHx8IGxp
bmV0aHJvdWdoLmFscGhhKCkgPT0gMjU1KTsKIAogICAgIFJlbmRlclN0eWxlKiBzdHlsZVRvVXNl
ID0gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpOwotICAgIGludCBiYXNlbGluZSA9IHN0
eWxlVG9Vc2UtPmZvbnQoKS5hc2NlbnQoKTsKKyAgICBpbnQgYmFzZWxpbmUgPSBzdHlsZVRvVXNl
LT5mb250TWV0cmljcygpLmFzY2VudCgpOwogCiAgICAgYm9vbCBzZXRDbGlwID0gZmFsc2U7CiAg
ICAgaW50IGV4dHJhT2Zmc2V0ID0gMDsKQEAgLTk0NCw3ICs5NDQsNyBAQCB2b2lkIElubGluZVRl
eHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tCiAgICAgLy8gU28sIHdlIGdlbmVyYWxseSBwbGFj
ZSB0aGUgdW5kZXJsaW5lIGF0IHRoZSBib3R0b20gb2YgdGhlIHRleHQsIGJ1dCBpbiBsYXJnZXIg
Zm9udHMgdGhhdCdzIG5vdCBzbyBnb29kIHNvCiAgICAgLy8gd2UgcGluIHRvIHR3byBwaXhlbHMg
dW5kZXIgdGhlIGJhc2VsaW5lLgogICAgIGludCBsaW5lVGhpY2tuZXNzID0gY01pc3NwZWxsaW5n
TGluZVRoaWNrbmVzczsKLSAgICBpbnQgYmFzZWxpbmUgPSByZW5kZXJlcigpLT5zdHlsZShtX2Zp
cnN0TGluZSktPmZvbnQoKS5hc2NlbnQoKTsKKyAgICBpbnQgYmFzZWxpbmUgPSByZW5kZXJlcigp
LT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnRNZXRyaWNzKCkuYXNjZW50KCk7CiAgICAgaW50IGRl
c2NlbnQgPSBsb2dpY2FsSGVpZ2h0KCkgLSBiYXNlbGluZTsKICAgICBpbnQgdW5kZXJsaW5lT2Zm
c2V0OwogICAgIGlmIChkZXNjZW50IDw9ICgyICsgbGluZVRoaWNrbmVzcykpIHsKQEAgLTExMDEs
NyArMTEwMSw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvblVuZGUKICAg
ICAvLyBBbGwgb3RoZXIgbWFya2VkIHRleHQgdW5kZXJsaW5lcyBhcmUgMXB4IHRoaWNrLgogICAg
IC8vIElmIHRoZXJlJ3Mgbm90IGVub3VnaCBzcGFjZSB0aGUgdW5kZXJsaW5lIHdpbGwgdG91Y2gg
b3Igb3ZlcmxhcCBjaGFyYWN0ZXJzLgogICAgIGludCBsaW5lVGhpY2tuZXNzID0gMTsKLSAgICBp
bnQgYmFzZWxpbmUgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKS5hc2Nl
bnQoKTsKKyAgICBpbnQgYmFzZWxpbmUgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSkt
PmZvbnRNZXRyaWNzKCkuYXNjZW50KCk7CiAgICAgaWYgKHVuZGVybGluZS50aGljayAmJiBsb2dp
Y2FsSGVpZ2h0KCkgLSBiYXNlbGluZSA+PSAyKQogICAgICAgICBsaW5lVGhpY2tuZXNzID0gMjsK
IApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5NjAs
OCArNDk2MCw4IEBAIGludCBSZW5kZXJCbG9jazo6YmFzZWxpbmVQb3NpdGlvbihGb250QmEKICAg
ICAgICAgcmV0dXJuIFJlbmRlckJveDo6YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUsIGZp
cnN0TGluZSwgZGlyZWN0aW9uLCBsaW5lUG9zaXRpb25Nb2RlKTsKICAgICB9CiAKLSAgICBjb25z
dCBGb250JiBmID0gc3R5bGUoZmlyc3RMaW5lKS0+Zm9udCgpOwotICAgIHJldHVybiBmLmFzY2Vu
dChiYXNlbGluZVR5cGUpICsgKGxpbmVIZWlnaHQoZmlyc3RMaW5lLCBkaXJlY3Rpb24sIGxpbmVQ
b3NpdGlvbk1vZGUpIC0gZi5oZWlnaHQoKSkgLyAyOworICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBm
b250TWV0cmljcyA9IHN0eWxlKGZpcnN0TGluZSktPmZvbnRNZXRyaWNzKCk7CisgICAgcmV0dXJu
IGZvbnRNZXRyaWNzLmFzY2VudChiYXNlbGluZVR5cGUpICsgKGxpbmVIZWlnaHQoZmlyc3RMaW5l
LCBkaXJlY3Rpb24sIGxpbmVQb3NpdGlvbk1vZGUpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpIC8g
MjsKIH0KIAogaW50IFJlbmRlckJsb2NrOjpmaXJzdExpbmVCb3hCYXNlbGluZSgpIGNvbnN0CkBA
IC00OTcxLDcgKzQ5NzEsNyBAQCBpbnQgUmVuZGVyQmxvY2s6OmZpcnN0TGluZUJveEJhc2VsaW5l
KCkgCiAKICAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkgewogICAgICAgICBpZiAoZmlyc3RMaW5l
Qm94KCkpCi0gICAgICAgICAgICByZXR1cm4gZmlyc3RMaW5lQm94KCktPmxvZ2ljYWxUb3AoKSAr
IHN0eWxlKHRydWUpLT5mb250KCkuYXNjZW50KGZpcnN0Um9vdEJveCgpLT5iYXNlbGluZVR5cGUo
KSk7CisgICAgICAgICAgICByZXR1cm4gZmlyc3RMaW5lQm94KCktPmxvZ2ljYWxUb3AoKSArIHN0
eWxlKHRydWUpLT5mb250TWV0cmljcygpLmFzY2VudChmaXJzdFJvb3RCb3goKS0+YmFzZWxpbmVU
eXBlKCkpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgfQpAQCAt
NDk5NywxMSArNDk5NywxMyBAQCBpbnQgUmVuZGVyQmxvY2s6Omxhc3RMaW5lQm94QmFzZWxpbmUo
KSBjCiAKICAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkgewogICAgICAgICBpZiAoIWZpcnN0TGlu
ZUJveCgpICYmIGhhc0xpbmVJZkVtcHR5KCkpIHsKLSAgICAgICAgICAgIGNvbnN0IEZvbnQmIGYg
PSBmaXJzdExpbmVTdHlsZSgpLT5mb250KCk7Ci0gICAgICAgICAgICByZXR1cm4gZi5hc2NlbnQo
KSArIChsaW5lSGVpZ2h0KHRydWUsIGxpbmVEaXJlY3Rpb24sIFBvc2l0aW9uT2ZJbnRlcmlvckxp
bmVCb3hlcykgLSBmLmhlaWdodCgpKSAvIDIgKyAobGluZURpcmVjdGlvbiA9PSBIb3Jpem9udGFs
TGluZSA/IGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgpIDogYm9yZGVyUmlnaHQoKSArIHBhZGRp
bmdSaWdodCgpKTsKKyAgICAgICAgICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9
IGZpcnN0TGluZVN0eWxlKCktPmZvbnRNZXRyaWNzKCk7CisgICAgICAgICAgICByZXR1cm4gZm9u
dE1ldHJpY3MuYXNjZW50KCkKKyAgICAgICAgICAgICAgICAgKyAobGluZUhlaWdodCh0cnVlLCBs
aW5lRGlyZWN0aW9uLCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpIC0gZm9udE1ldHJpY3Mu
aGVpZ2h0KCkpIC8gMgorICAgICAgICAgICAgICAgICArIChsaW5lRGlyZWN0aW9uID09IEhvcml6
b250YWxMaW5lID8gYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkgOiBib3JkZXJSaWdodCgpICsg
cGFkZGluZ1JpZ2h0KCkpOwogICAgICAgICB9CiAgICAgICAgIGlmIChsYXN0TGluZUJveCgpKQot
ICAgICAgICAgICAgcmV0dXJuIGxhc3RMaW5lQm94KCktPmxvZ2ljYWxUb3AoKSArIHN0eWxlKGxh
c3RMaW5lQm94KCkgPT0gZmlyc3RMaW5lQm94KCkpLT5mb250KCkuYXNjZW50KGxhc3RSb290Qm94
KCktPmJhc2VsaW5lVHlwZSgpKTsKKyAgICAgICAgICAgIHJldHVybiBsYXN0TGluZUJveCgpLT5s
b2dpY2FsVG9wKCkgKyBzdHlsZShsYXN0TGluZUJveCgpID09IGZpcnN0TGluZUJveCgpKS0+Zm9u
dE1ldHJpY3MoKS5hc2NlbnQobGFzdFJvb3RCb3goKS0+YmFzZWxpbmVUeXBlKCkpOwogICAgICAg
ICByZXR1cm4gLTE7CiAgICAgfSBlbHNlIHsKICAgICAgICAgYm9vbCBoYXZlTm9ybWFsRmxvd0No
aWxkID0gZmFsc2U7CkBAIC01MDE0LDggKzUwMTYsMTAgQEAgaW50IFJlbmRlckJsb2NrOjpsYXN0
TGluZUJveEJhc2VsaW5lKCkgYwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGlm
ICghaGF2ZU5vcm1hbEZsb3dDaGlsZCAmJiBoYXNMaW5lSWZFbXB0eSgpKSB7Ci0gICAgICAgICAg
ICBjb25zdCBGb250JiBmID0gZmlyc3RMaW5lU3R5bGUoKS0+Zm9udCgpOwotICAgICAgICAgICAg
cmV0dXJuIGYuYXNjZW50KCkgKyAobGluZUhlaWdodCh0cnVlLCBsaW5lRGlyZWN0aW9uLCBQb3Np
dGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpIC0gZi5oZWlnaHQoKSkgLyAyICsgKGxpbmVEaXJlY3Rp
b24gPT0gSG9yaXpvbnRhbExpbmUgPyBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKSA6IGJvcmRl
clJpZ2h0KCkgKyBwYWRkaW5nUmlnaHQoKSk7CisgICAgICAgICAgICBjb25zdCBGb250TWV0cmlj
cyYgZm9udE1ldHJpY3MgPSBmaXJzdExpbmVTdHlsZSgpLT5mb250TWV0cmljcygpOworICAgICAg
ICAgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmFzY2VudCgpCisgICAgICAgICAgICAgICAgICsgKGxp
bmVIZWlnaHQodHJ1ZSwgbGluZURpcmVjdGlvbiwgUG9zaXRpb25PZkludGVyaW9yTGluZUJveGVz
KSAtIGZvbnRNZXRyaWNzLmhlaWdodCgpKSAvIDIKKyAgICAgICAgICAgICAgICAgKyAobGluZURp
cmVjdGlvbiA9PSBIb3Jpem9udGFsTGluZSA/IGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgpIDog
Ym9yZGVyUmlnaHQoKSArIHBhZGRpbmdSaWdodCgpKTsKICAgICAgICAgfQogICAgIH0KIApJbmRl
eDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5NjQsNyArMjk2NCw3IEBA
IEludFJlY3QgUmVuZGVyQm94Ojpsb2NhbENhcmV0UmVjdChJbmxpbmUKICAgICAvLyA8cmRhcjov
L3Byb2JsZW0vMzc3NzgwND4gRGVsZXRpbmcgYWxsIGNvbnRlbnQgaW4gYSBkb2N1bWVudCBjYW4g
cmVzdWx0IGluIGdpYW50IHRhbGwtYXMtd2luZG93IGluc2VydGlvbiBwb2ludAogICAgIC8vCiAg
ICAgLy8gRklYTUU6IGlnbm9yaW5nIDpmaXJzdC1saW5lLCBtaXNzaW5nIGdvb2QgcmVhc29uIHRv
IHRha2UgY2FyZSBvZgotICAgIGludCBmb250SGVpZ2h0ID0gc3R5bGUoKS0+Zm9udCgpLmhlaWdo
dCgpOworICAgIGludCBmb250SGVpZ2h0ID0gc3R5bGUoKS0+Zm9udE1ldHJpY3MoKS5oZWlnaHQo
KTsKICAgICBpZiAoZm9udEhlaWdodCA+IHJlY3QuaGVpZ2h0KCkgfHwgKCFpc1JlcGxhY2VkKCkg
JiYgIWlzVGFibGUoKSkpCiAgICAgICAgIHJlY3Quc2V0SGVpZ2h0KGZvbnRIZWlnaHQpOwogCklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwCShyZXZpc2lv
biA3NDY2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTcwLDggKzE3MCw5IEBAIHZvaWQgUmVuZGVyRW1iZWRkZWRPYmpl
Y3Q6OnBhaW50UmVwbGFjZWQKICAgICBjb250ZXh0LT5zZXRGaWxsQ29sb3IobV9taXNzaW5nUGx1
Z2luSW5kaWNhdG9ySXNQcmVzc2VkID8gcmVwbGFjZW1lbnRUZXh0Um91bmRlZFJlY3RQcmVzc2Vk
Q29sb3IoKSA6IENvbG9yOjp3aGl0ZSwgc3R5bGUoKS0+Y29sb3JTcGFjZSgpKTsKICAgICBjb250
ZXh0LT5maWxsUGF0aChwYXRoKTsKIAorICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmlj
cyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKICAgICBmbG9hdCBsYWJlbFggPSByb3VuZGYocmVwbGFj
ZW1lbnRUZXh0UmVjdC5sb2NhdGlvbigpLngoKSArIChyZXBsYWNlbWVudFRleHRSZWN0LnNpemUo
KS53aWR0aCgpIC0gdGV4dFdpZHRoKSAvIDIpOwotICAgIGZsb2F0IGxhYmVsWSA9IHJvdW5kZihy
ZXBsYWNlbWVudFRleHRSZWN0LmxvY2F0aW9uKCkueSgpICsgKHJlcGxhY2VtZW50VGV4dFJlY3Qu
c2l6ZSgpLmhlaWdodCgpIC0gZm9udC5oZWlnaHQoKSkgLyAyICsgZm9udC5hc2NlbnQoKSk7Cisg
ICAgZmxvYXQgbGFiZWxZID0gcm91bmRmKHJlcGxhY2VtZW50VGV4dFJlY3QubG9jYXRpb24oKS55
KCkgKyAocmVwbGFjZW1lbnRUZXh0UmVjdC5zaXplKCkuaGVpZ2h0KCkgLSBmb250TWV0cmljcy5o
ZWlnaHQoKSkgLyAyICsgZm9udE1ldHJpY3MuYXNjZW50KCkpOwogICAgIGNvbnRleHQtPnNldEFs
cGhhKG1fbWlzc2luZ1BsdWdpbkluZGljYXRvcklzUHJlc3NlZCA/IHJlcGxhY2VtZW50VGV4dFBy
ZXNzZWRUZXh0T3BhY2l0eSA6IHJlcGxhY2VtZW50VGV4dFRleHRPcGFjaXR5KTsKICAgICBjb250
ZXh0LT5zZXRGaWxsQ29sb3IoQ29sb3I6OmJsYWNrLCBzdHlsZSgpLT5jb2xvclNwYWNlKCkpOwog
ICAgIGNvbnRleHQtPmRyYXdCaWRpVGV4dChmb250LCBydW4sIEZsb2F0UG9pbnQobGFiZWxYLCBs
YWJlbFkpKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHJldmlzaW9uIDc0NjY1
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTEsNyArMTExLDcgQEAgYm9vbCBSZW5kZXJJbWFnZTo6c2V0SW1hZ2VTaXplRm9yQWx0VGV4
dAogICAgIC8vIHdlIGhhdmUgYW4gYWx0IGFuZCB0aGUgdXNlciBtZWFudCBpdCAoaXRzIG5vdCBh
IHRleHQgd2UgaW52ZW50ZWQpCiAgICAgaWYgKCFtX2FsdFRleHQuaXNFbXB0eSgpKSB7CiAgICAg
ICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHlsZSgpLT5mb250KCk7Ci0gICAgICAgIEludFNpemUg
dGV4dFNpemUobWluKGZvbnQud2lkdGgoVGV4dFJ1bihtX2FsdFRleHQuY2hhcmFjdGVycygpLCBt
X2FsdFRleHQubGVuZ3RoKCkpKSwgbWF4QWx0VGV4dFdpZHRoKSwgbWluKGZvbnQuaGVpZ2h0KCks
IG1heEFsdFRleHRIZWlnaHQpKTsKKyAgICAgICAgSW50U2l6ZSB0ZXh0U2l6ZShtaW4oZm9udC53
aWR0aChUZXh0UnVuKG1fYWx0VGV4dC5jaGFyYWN0ZXJzKCksIG1fYWx0VGV4dC5sZW5ndGgoKSkp
LCBtYXhBbHRUZXh0V2lkdGgpLCBtaW4oZm9udC5mb250TWV0cmljcygpLmhlaWdodCgpLCBtYXhB
bHRUZXh0SGVpZ2h0KSk7CiAgICAgICAgIGltYWdlU2l6ZSA9IGltYWdlU2l6ZS5leHBhbmRlZFRv
KHRleHRTaXplKTsKICAgICB9CiAKQEAgLTI4OCwxNyArMjg4LDE4IEBAIHZvaWQgUmVuZGVySW1h
Z2U6OnBhaW50UmVwbGFjZWQoUGFpbnRJbmYKICAgICAgICAgICAgICAgICBpbnQgYXggPSB0eCAr
IGxlZnRCb3JkZXIgKyBsZWZ0UGFkOwogICAgICAgICAgICAgICAgIGludCBheSA9IHR5ICsgdG9w
Qm9yZGVyICsgdG9wUGFkOwogICAgICAgICAgICAgICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHls
ZSgpLT5mb250KCk7Ci0gICAgICAgICAgICAgICAgaW50IGFzY2VudCA9IGZvbnQuYXNjZW50KCk7
CisgICAgICAgICAgICAgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZm9udC5m
b250TWV0cmljcygpOworICAgICAgICAgICAgICAgIGludCBhc2NlbnQgPSBmb250TWV0cmljcy5h
c2NlbnQoKTsKIAogICAgICAgICAgICAgICAgIC8vIE9ubHkgZHJhdyB0aGUgYWx0IHRleHQgaWYg
aXQnbGwgZml0IHdpdGhpbiB0aGUgY29udGVudCBib3gsCiAgICAgICAgICAgICAgICAgLy8gYW5k
IG9ubHkgaWYgaXQgZml0cyBhYm92ZSB0aGUgZXJyb3IgaW1hZ2UuCiAgICAgICAgICAgICAgICAg
VGV4dFJ1biB0ZXh0UnVuKHRleHQuY2hhcmFjdGVycygpLCB0ZXh0Lmxlbmd0aCgpKTsKICAgICAg
ICAgICAgICAgICBpbnQgdGV4dFdpZHRoID0gZm9udC53aWR0aCh0ZXh0UnVuKTsKICAgICAgICAg
ICAgICAgICBpZiAoZXJyb3JQaWN0dXJlRHJhd24pIHsKLSAgICAgICAgICAgICAgICAgICAgaWYg
KHVzYWJsZVdpZHRoID49IHRleHRXaWR0aCAmJiBmb250LmhlaWdodCgpIDw9IGltYWdlWSkKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPmRyYXdUZXh0KHN0eWxlKCktPmZvbnQoKSwg
dGV4dFJ1biwgSW50UG9pbnQoYXgsIGF5ICsgYXNjZW50KSk7Ci0gICAgICAgICAgICAgICAgfSBl
bHNlIGlmICh1c2FibGVXaWR0aCA+PSB0ZXh0V2lkdGggJiYgY0hlaWdodCA+PSBmb250LmhlaWdo
dCgpKQotICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT5kcmF3VGV4dChzdHlsZSgpLT5mb250
KCksIHRleHRSdW4sIEludFBvaW50KGF4LCBheSArIGFzY2VudCkpOworICAgICAgICAgICAgICAg
ICAgICBpZiAodXNhYmxlV2lkdGggPj0gdGV4dFdpZHRoICYmIGZvbnRNZXRyaWNzLmhlaWdodCgp
IDw9IGltYWdlWSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPmRyYXdUZXh0KGZv
bnQsIHRleHRSdW4sIEludFBvaW50KGF4LCBheSArIGFzY2VudCkpOworICAgICAgICAgICAgICAg
IH0gZWxzZSBpZiAodXNhYmxlV2lkdGggPj0gdGV4dFdpZHRoICYmIGNIZWlnaHQgPj0gZm9udE1l
dHJpY3MuaGVpZ2h0KCkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPmRyYXdUZXh0KGZv
bnQsIHRleHRSdW4sIEludFBvaW50KGF4LCBheSArIGFzY2VudCkpOwogICAgICAgICAgICAgfQog
ICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChtX2ltYWdlUmVzb3VyY2UtPmhhc0ltYWdlKCkgJiYg
Y1dpZHRoID4gMCAmJiBjSGVpZ2h0ID4gMCkgewpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW5saW5lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxp
bmUuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGlu
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkwNCw4ICs5MDQsOCBAQCBpbnQgUmVuZGVySW5saW5l
OjpsaW5lSGVpZ2h0KGJvb2wgZmlyc3RMCiAKIGludCBSZW5kZXJJbmxpbmU6OmJhc2VsaW5lUG9z
aXRpb24oRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSwgYm9vbCBmaXJzdExpbmUsIExpbmVEaXJl
Y3Rpb25Nb2RlIGRpcmVjdGlvbiwgTGluZVBvc2l0aW9uTW9kZSBsaW5lUG9zaXRpb25Nb2RlKSBj
b25zdAogewotICAgIGNvbnN0IEZvbnQmIGYgPSBzdHlsZShmaXJzdExpbmUpLT5mb250KCk7Ci0g
ICAgcmV0dXJuIGYuYXNjZW50KGJhc2VsaW5lVHlwZSkgKyAobGluZUhlaWdodChmaXJzdExpbmUs
IGRpcmVjdGlvbiwgbGluZVBvc2l0aW9uTW9kZSkgLSBmLmhlaWdodCgpKSAvIDI7CisgICAgY29u
c3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gc3R5bGUoZmlyc3RMaW5lKS0+Zm9udE1ldHJp
Y3MoKTsKKyAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlwZSkgKyAobGlu
ZUhlaWdodChmaXJzdExpbmUsIGRpcmVjdGlvbiwgbGluZVBvc2l0aW9uTW9kZSkgLSBmb250TWV0
cmljcy5oZWlnaHQoKSkgLyAyOwogfQogCiBJbnRTaXplIFJlbmRlcklubGluZTo6cmVsYXRpdmVQ
b3NpdGlvbmVkSW5saW5lT2Zmc2V0KGNvbnN0IFJlbmRlckJveCogY2hpbGQpIGNvbnN0CkluZGV4
OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzA2LDcg
KzMwNiw3IEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6cGFpbnRJdGVtRm9yZWdyb3VuZCgKIAogICAg
IC8vIERldGVybWluZSB3aGVyZSB0aGUgaXRlbSB0ZXh0IHNob3VsZCBiZSBwbGFjZWQKICAgICBJ
bnRSZWN0IHIgPSBpdGVtQm91bmRpbmdCb3hSZWN0KHR4LCB0eSwgbGlzdEluZGV4KTsKLSAgICBy
Lm1vdmUob3B0aW9uc1NwYWNpbmdIb3Jpem9udGFsLCBzdHlsZSgpLT5mb250KCkuYXNjZW50KCkp
OworICAgIHIubW92ZShvcHRpb25zU3BhY2luZ0hvcml6b250YWwsIHN0eWxlKCktPmZvbnRNZXRy
aWNzKCkuYXNjZW50KCkpOwogCiAgICAgUmVuZGVyU3R5bGUqIGl0ZW1TdHlsZSA9IGVsZW1lbnQt
PnJlbmRlclN0eWxlKCk7CiAgICAgaWYgKCFpdGVtU3R5bGUpCkBAIC01NTEsNyArNTUxLDcgQEAg
dm9pZCBSZW5kZXJMaXN0Qm94Ojp2YWx1ZUNoYW5nZWQoU2Nyb2xsYgogCiBpbnQgUmVuZGVyTGlz
dEJveDo6aXRlbUhlaWdodCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHN0eWxlKCktPmZvbnQoKS5o
ZWlnaHQoKSArIHJvd1NwYWNpbmc7CisgICAgcmV0dXJuIHN0eWxlKCktPmZvbnRNZXRyaWNzKCku
aGVpZ2h0KCkgKyByb3dTcGFjaW5nOwogfQogCiBpbnQgUmVuZGVyTGlzdEJveDo6dmVydGljYWxT
Y3JvbGxiYXJXaWR0aCgpIGNvbnN0CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0
TWFya2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFy
a2VyLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0
TWFya2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI2NCw3ICsxMjY0LDcgQEAgdm9pZCBSZW5k
ZXJMaXN0TWFya2VyOjpwYWludChQYWludEluZm8mIAogICAgICAgICBjb250ZXh0LT50cmFuc2xh
dGUoLW1hcmtlci54KCksIC1tYXJrZXIuYm90dG9tKCkpOwogICAgIH0KIAotICAgIEludFBvaW50
IHRleHRPcmlnaW4gPSBJbnRQb2ludChtYXJrZXIueCgpLCBtYXJrZXIueSgpICsgc3R5bGUoKS0+
Zm9udCgpLmFzY2VudCgpKTsKKyAgICBJbnRQb2ludCB0ZXh0T3JpZ2luID0gSW50UG9pbnQobWFy
a2VyLngoKSwgbWFya2VyLnkoKSArIHN0eWxlKCktPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwog
CiAgICAgaWYgKHR5cGUgPT0gQXN0ZXJpc2tzIHx8IHR5cGUgPT0gRm9vdG5vdGVzKQogICAgICAg
ICBjb250ZXh0LT5kcmF3VGV4dChzdHlsZSgpLT5mb250KCksIHRleHRSdW4sIHRleHRPcmlnaW4p
OwpAQCAtMTMxMCw3ICsxMzEwLDcgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjpsYXlvdXQoKQog
ICAgICAgICBzZXRIZWlnaHQobV9pbWFnZS0+aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCktPmVmZmVj
dGl2ZVpvb20oKSkuaGVpZ2h0KCkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIHNldExvZ2ljYWxX
aWR0aChtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSk7Ci0gICAgICAgIHNldExvZ2ljYWxIZWln
aHQoc3R5bGUoKS0+Zm9udCgpLmhlaWdodCgpKTsKKyAgICAgICAgc2V0TG9naWNhbEhlaWdodChz
dHlsZSgpLT5mb250TWV0cmljcygpLmhlaWdodCgpKTsKICAgICB9CiAKICAgICBzZXRNYXJnaW5T
dGFydCgwKTsKQEAgLTEzNDUsMTEgKzEzNDUsMTIgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjpj
b21wdXRlUHJlZmVycmVkTAogICAgIG1fdGV4dCA9ICIiOwogCiAgICAgY29uc3QgRm9udCYgZm9u
dCA9IHN0eWxlKCktPmZvbnQoKTsKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3Mg
PSBmb250LmZvbnRNZXRyaWNzKCk7CiAKICAgICBpZiAoaXNJbWFnZSgpKSB7CiAgICAgICAgIC8v
IEZJWE1FOiBUaGlzIGlzIGEgc29tZXdoYXQgYXJiaXRyYXJ5IHdpZHRoLiAgR2VuZXJhdGVkIGlt
YWdlcyBmb3IgbWFya2VycyByZWFsbHkgd29uJ3QgYmVjb21lIHBhcnRpY3VsYXJseSB1c2VmdWwK
ICAgICAgICAgLy8gdW50aWwgd2Ugc3VwcG9ydCB0aGUgQ1NTMyBtYXJrZXIgcHNldWRvY2xhc3Mg
dG8gYWxsb3cgY29udHJvbCBvdmVyIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSBtYXJrZXIg
Ym94LgotICAgICAgICBpbnQgYnVsbGV0V2lkdGggPSBmb250LmFzY2VudCgpIC8gMjsKKyAgICAg
ICAgaW50IGJ1bGxldFdpZHRoID0gZm9udE1ldHJpY3MuYXNjZW50KCkgLyAyOwogICAgICAgICBt
X2ltYWdlLT5zZXRJbWFnZUNvbnRhaW5lclNpemUoSW50U2l6ZShidWxsZXRXaWR0aCwgYnVsbGV0
V2lkdGgpKTsKICAgICAgICAgSW50U2l6ZSBpbWFnZVNpemUgPSBtX2ltYWdlLT5pbWFnZVNpemUo
dGhpcywgc3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKTsKICAgICAgICAgbV9taW5QcmVmZXJyZWRM
b2dpY2FsV2lkdGggPSBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IHN0eWxlKCktPmlzSG9y
aXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBpbWFnZVNpemUud2lkdGgoKSA6IGltYWdlU2l6ZS5oZWln
aHQoKTsKQEAgLTEzNzIsNyArMTM3Myw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6Y29tcHV0
ZVByZWZlcnJlZEwKICAgICAgICAgY2FzZSBEaXNjOgogICAgICAgICBjYXNlIFNxdWFyZToKICAg
ICAgICAgICAgIG1fdGV4dCA9IGxpc3RNYXJrZXJUZXh0KHR5cGUsIDApOyAvLyB2YWx1ZSBpcyBp
Z25vcmVkIGZvciB0aGVzZSB0eXBlcwotICAgICAgICAgICAgbG9naWNhbFdpZHRoID0gKGZvbnQu
YXNjZW50KCkgKiAyIC8gMyArIDEpIC8gMiArIDI7CisgICAgICAgICAgICBsb2dpY2FsV2lkdGgg
PSAoZm9udE1ldHJpY3MuYXNjZW50KCkgKiAyIC8gMyArIDEpIC8gMiArIDI7CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBBZmFyOgogICAgICAgICBjYXNlIEFtaGFyaWM6CkBAIC0x
NDcxLDcgKzE0NzIsNyBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OmNvbXB1dGVQcmVmZXJyZWRM
CiAKIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6dXBkYXRlTWFyZ2lucygpCiB7Ci0gICAgY29uc3Qg
Rm9udCYgZm9udCA9IHN0eWxlKCktPmZvbnQoKTsKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9u
dE1ldHJpY3MgPSBzdHlsZSgpLT5mb250TWV0cmljcygpOwogCiAgICAgaW50IG1hcmdpblN0YXJ0
ID0gMDsKICAgICBpbnQgbWFyZ2luRW5kID0gMDsKQEAgLTE0ODQsNyArMTQ4NSw3IEBAIHZvaWQg
UmVuZGVyTGlzdE1hcmtlcjo6dXBkYXRlTWFyZ2lucygpCiAgICAgICAgICAgICBjYXNlIENpcmNs
ZToKICAgICAgICAgICAgIGNhc2UgU3F1YXJlOgogICAgICAgICAgICAgICAgIG1hcmdpblN0YXJ0
ID0gLTE7Ci0gICAgICAgICAgICAgICAgbWFyZ2luRW5kID0gZm9udC5hc2NlbnQoKSAtIG1pblBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCgpICsgMTsKKyAgICAgICAgICAgICAgICBtYXJnaW5FbmQgPSBm
b250TWV0cmljcy5hc2NlbnQoKSAtIG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCgpICsgMTsKICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAg
ICAgYnJlYWs7CkBAIC0xNDk0LDcgKzE0OTUsNyBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnVw
ZGF0ZU1hcmdpbnMoKQogICAgICAgICAgICAgaWYgKGlzSW1hZ2UoKSkKICAgICAgICAgICAgICAg
ICBtYXJnaW5TdGFydCA9IC1taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSAtIGNNYXJrZXJQYWRk
aW5nOwogICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgaW50IG9mZnNldCA9IGZv
bnQuYXNjZW50KCkgKiAyIC8gMzsKKyAgICAgICAgICAgICAgICBpbnQgb2Zmc2V0ID0gZm9udE1l
dHJpY3MuYXNjZW50KCkgKiAyIC8gMzsKICAgICAgICAgICAgICAgICBzd2l0Y2ggKHN0eWxlKCkt
Pmxpc3RTdHlsZVR5cGUoKSkgewogICAgICAgICAgICAgICAgICAgICBjYXNlIERpc2M6CiAgICAg
ICAgICAgICAgICAgICAgIGNhc2UgQ2lyY2xlOgpAQCAtMTUxMiw3ICsxNTEzLDcgQEAgdm9pZCBS
ZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVNYXJnaW5zKCkKICAgICAgICAgICAgIGlmIChpc0ltYWdl
KCkpCiAgICAgICAgICAgICAgICAgbWFyZ2luRW5kID0gY01hcmtlclBhZGRpbmc7CiAgICAgICAg
ICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICBpbnQgb2Zmc2V0ID0gZm9udC5hc2NlbnQoKSAq
IDIgLyAzOworICAgICAgICAgICAgICAgIGludCBvZmZzZXQgPSBmb250TWV0cmljcy5hc2NlbnQo
KSAqIDIgLyAzOwogICAgICAgICAgICAgICAgIHN3aXRjaCAoc3R5bGUoKS0+bGlzdFN0eWxlVHlw
ZSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGNhc2UgRGlzYzoKICAgICAgICAgICAgICAgICAg
ICAgY2FzZSBDaXJjbGU6CkBAIC0xNTgzLDE1ICsxNTg0LDE1IEBAIEludFJlY3QgUmVuZGVyTGlz
dE1hcmtlcjo6Z2V0UmVsYXRpdmVNYXIKICAgICAgICAgY2FzZSBBc3Rlcmlza3M6CiAgICAgICAg
IGNhc2UgRm9vdG5vdGVzOiB7CiAgICAgICAgICAgICBjb25zdCBGb250JiBmb250ID0gc3R5bGUo
KS0+Zm9udCgpOwotICAgICAgICAgICAgcmVsYXRpdmVSZWN0ID0gSW50UmVjdCgwLCAwLCBmb250
LndpZHRoKG1fdGV4dCksIGZvbnQuaGVpZ2h0KCkpOworICAgICAgICAgICAgcmVsYXRpdmVSZWN0
ID0gSW50UmVjdCgwLCAwLCBmb250LndpZHRoKG1fdGV4dCksIGZvbnQuZm9udE1ldHJpY3MoKS5o
ZWlnaHQoKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIERp
c2M6CiAgICAgICAgIGNhc2UgQ2lyY2xlOgogICAgICAgICBjYXNlIFNxdWFyZTogewogICAgICAg
ICAgICAgLy8gRklYTUU6IEFyZSB0aGVzZSBwYXJ0aWN1bGFyIHJvdW5kaW5nIHJ1bGVzIG5lY2Vz
c2FyeT8KLSAgICAgICAgICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHlsZSgpLT5mb250KCk7Ci0g
ICAgICAgICAgICBpbnQgYXNjZW50ID0gZm9udC5hc2NlbnQoKTsKKyAgICAgICAgICAgIGNvbnN0
IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IHN0eWxlKCktPmZvbnRNZXRyaWNzKCk7CisgICAg
ICAgICAgICBpbnQgYXNjZW50ID0gZm9udE1ldHJpY3MuYXNjZW50KCk7CiAgICAgICAgICAgICBp
bnQgYnVsbGV0V2lkdGggPSAoYXNjZW50ICogMiAvIDMgKyAxKSAvIDI7CiAgICAgICAgICAgICBy
ZWxhdGl2ZVJlY3QgPSBJbnRSZWN0KDEsIDMgKiAoYXNjZW50IC0gYXNjZW50ICogMiAvIDMpIC8g
MiwgYnVsbGV0V2lkdGgsIGJ1bGxldFdpZHRoKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTY3
OSw3ICsxNjgwLDcgQEAgSW50UmVjdCBSZW5kZXJMaXN0TWFya2VyOjpnZXRSZWxhdGl2ZU1hcgog
ICAgICAgICAgICAgaW50IGl0ZW1XaWR0aCA9IGZvbnQud2lkdGgobV90ZXh0KTsKICAgICAgICAg
ICAgIFVDaGFyIHN1ZmZpeFNwYWNlWzJdID0geyBsaXN0TWFya2VyU3VmZml4KHR5cGUsIG1fbGlz
dEl0ZW0tPnZhbHVlKCkpLCAnICcgfTsKICAgICAgICAgICAgIGludCBzdWZmaXhTcGFjZVdpZHRo
ID0gZm9udC53aWR0aChUZXh0UnVuKHN1ZmZpeFNwYWNlLCAyKSk7Ci0gICAgICAgICAgICByZWxh
dGl2ZVJlY3QgPSBJbnRSZWN0KDAsIDAsIGl0ZW1XaWR0aCArIHN1ZmZpeFNwYWNlV2lkdGgsIGZv
bnQuaGVpZ2h0KCkpOworICAgICAgICAgICAgcmVsYXRpdmVSZWN0ID0gSW50UmVjdCgwLCAwLCBp
dGVtV2lkdGggKyBzdWZmaXhTcGFjZVdpZHRoLCBmb250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkp
OwogICAgIH0KIAogICAgIGlmICghc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkg
ewpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcAkocmV2aXNpb24g
NzQ2NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTYwNyw3ICs2MDcsNyBAQCB2b2lkIFJlbmRlclRleHRDb250cm9sOjpwYWlu
dFBsYWNlaG9sZGVyCiAgICAgUmVuZGVyQm94KiB0ZXh0UmVuZGVyZXIgPSBpbm5lclRleHRFbGVt
ZW50KCkgPyBpbm5lclRleHRFbGVtZW50KCktPnJlbmRlckJveCgpIDogMDsKICAgICBpZiAodGV4
dFJlbmRlcmVyKSB7CiAgICAgICAgIEludFBvaW50IHRleHRQb2ludDsKLSAgICAgICAgdGV4dFBv
aW50LnNldFkodHkgKyB0ZXh0QmxvY2tJbnNldFRvcCgpICsgcGxhY2Vob2xkZXJTdHlsZS0+Zm9u
dCgpLmFzY2VudCgpKTsKKyAgICAgICAgdGV4dFBvaW50LnNldFkodHkgKyB0ZXh0QmxvY2tJbnNl
dFRvcCgpICsgcGxhY2Vob2xkZXJTdHlsZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAg
ICAgIGlmIChwbGFjZWhvbGRlclN0eWxlLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCiAgICAg
ICAgICAgICB0ZXh0UG9pbnQuc2V0WCh0eCArIHRleHRCbG9ja0luc2V0TGVmdCgpKTsKICAgICAg
ICAgZWxzZQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVM
aW5lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJv
bFNpbmdsZUxpbmUuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcyMyw3ICs3
MjMsNyBAQCBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBSZW5kZXJUZXh0Q29udHJvCiAgICAgdGV4
dEJsb2NrU3R5bGUtPnNldE92ZXJmbG93WShPSElEREVOKTsKIAogICAgIC8vIERvIG5vdCBhbGxv
dyBsaW5lLWhlaWdodCB0byBiZSBzbWFsbGVyIHRoYW4gb3VyIGRlZmF1bHQuCi0gICAgaWYgKHRl
eHRCbG9ja1N0eWxlLT5mb250KCkubGluZVNwYWNpbmcoKSA+IGxpbmVIZWlnaHQodHJ1ZSwgSG9y
aXpvbnRhbExpbmUsIFBvc2l0aW9uT2ZJbnRlcmlvckxpbmVCb3hlcykpCisgICAgaWYgKHRleHRC
bG9ja1N0eWxlLT5mb250TWV0cmljcygpLmxpbmVTcGFjaW5nKCkgPiBsaW5lSGVpZ2h0KHRydWUs
IEhvcml6b250YWxMaW5lLCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpKQogICAgICAgICB0
ZXh0QmxvY2tTdHlsZS0+c2V0TGluZUhlaWdodChMZW5ndGgoLTEwMC4wZiwgUGVyY2VudCkpOwog
CiAgICAgV2ViQ29yZTo6RURpc3BsYXkgZGlzcGxheSA9IChtX2lubmVyQmxvY2sgfHwgaW5wdXRF
bGVtZW50KCktPmhhc1NwaW5CdXR0b24oKSA/IElOTElORV9CTE9DSyA6IEJMT0NLKTsKSW5kZXg6
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAJKHJldmlzaW9uIDc0NjY1KQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Njks
NyArNzY5LDcgQEAgdm9pZCBSZW5kZXJUaGVtZVdpbjo6YWRqdXN0TWVudUxpc3RCdXR0bwogICAg
IHN0eWxlLT5zZXRIZWlnaHQoTGVuZ3RoKEF1dG8pKTsKIAogICAgIC8vIENhbGN1bGF0ZSBvdXIg
bWluLWhlaWdodAotICAgIGludCBtaW5IZWlnaHQgPSBzdHlsZS0+Zm9udCgpLmhlaWdodCgpOwor
ICAgIGludCBtaW5IZWlnaHQgPSBzdHlsZS0+Zm9udE1ldHJpY3MoKS5oZWlnaHQoKTsKICAgICBt
aW5IZWlnaHQgPSBtYXgobWluSGVpZ2h0LCBkcm9wRG93bkJveE1pbkhlaWdodCk7CiAKICAgICBz
dHlsZS0+c2V0TWluSGVpZ2h0KExlbmd0aChtaW5IZWlnaHQsIEZpeGVkKSk7CkluZGV4OiBXZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDY3LDYg
KzQ2Nyw3IEBAIHB1YmxpYzoKICAgICBFVGFibGVMYXlvdXQgdGFibGVMYXlvdXQoKSBjb25zdCB7
IHJldHVybiBzdGF0aWNfY2FzdDxFVGFibGVMYXlvdXQ+KG5vbmluaGVyaXRlZF9mbGFncy5fdGFi
bGVfbGF5b3V0KTsgfQogCiAgICAgY29uc3QgRm9udCYgZm9udCgpIGNvbnN0IHsgcmV0dXJuIGlu
aGVyaXRlZC0+Zm9udDsgfQorICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcygpIGNv
bnN0IHsgcmV0dXJuIGluaGVyaXRlZC0+Zm9udC5mb250TWV0cmljcygpOyB9CiAgICAgY29uc3Qg
Rm9udERlc2NyaXB0aW9uJiBmb250RGVzY3JpcHRpb24oKSBjb25zdCB7IHJldHVybiBpbmhlcml0
ZWQtPmZvbnQuZm9udERlc2NyaXB0aW9uKCk7IH0KICAgICBpbnQgZm9udFNpemUoKSBjb25zdCB7
IHJldHVybiBpbmhlcml0ZWQtPmZvbnQucGl4ZWxTaXplKCk7IH0KIApAQCAtNDkxLDcgKzQ5Miw3
IEBAIHB1YmxpYzoKIAogICAgICAgICAvLyBOZWdhdGl2ZSB2YWx1ZSBtZWFucyB0aGUgbGluZSBo
ZWlnaHQgaXMgbm90IHNldC4gIFVzZSB0aGUgZm9udCdzIGJ1aWx0LWluIHNwYWNpbmcuCiAgICAg
ICAgIGlmIChsaC5pc05lZ2F0aXZlKCkpCi0gICAgICAgICAgICByZXR1cm4gZm9udCgpLmxpbmVT
cGFjaW5nKCk7CisgICAgICAgICAgICByZXR1cm4gZm9udE1ldHJpY3MoKS5saW5lU3BhY2luZygp
OwogCiAgICAgICAgIGlmIChsaC5pc1BlcmNlbnQoKSkKICAgICAgICAgICAgIHJldHVybiBsaC5j
YWxjTWluVmFsdWUoZm9udFNpemUoKSk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHSW5saW5lVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3Zn
L1JlbmRlclNWR0lubGluZVRleHQuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ2
LDcgKzE0Niw3IEBAIFZpc2libGVQb3NpdGlvbiBSZW5kZXJTVkdJbmxpbmVUZXh0Ojpwb3MKIAog
ICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IHRoaXMtPnN0eWxlKCk7CiAgICAgQVNTRVJUKHN0eWxl
KTsKLSAgICBpbnQgYmFzZWxpbmUgPSBzdHlsZS0+Zm9udCgpLmFzY2VudCgpOworICAgIGludCBi
YXNlbGluZSA9IHN0eWxlLT5mb250TWV0cmljcygpLmFzY2VudCgpOwogCiAgICAgUmVuZGVyQmxv
Y2sqIGNvbnRhaW5pbmdCbG9jayA9IHRoaXMtPmNvbnRhaW5pbmdCbG9jaygpOwogICAgIEFTU0VS
VChjb250YWluaW5nQmxvY2spOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGlu
ZVRleHRCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxp
bmVUZXh0Qm94LmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdmcv
U1ZHSW5saW5lVGV4dEJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg0LDcgKzg0LDcgQEAgRmxv
YXRSZWN0IFNWR0lubGluZVRleHRCb3g6OnNlbGVjdGlvblJlYwogICAgIEFTU0VSVChzdGFydFBv
c2l0aW9uIDwgZW5kUG9zaXRpb24pOwogCiAgICAgY29uc3QgRm9udCYgZm9udCA9IHN0eWxlLT5m
b250KCk7Ci0gICAgRmxvYXRQb2ludCB0ZXh0T3JpZ2luKGZyYWdtZW50LngsIGZyYWdtZW50Lnkg
LSBmb250LmFzY2VudCgpKTsKKyAgICBGbG9hdFBvaW50IHRleHRPcmlnaW4oZnJhZ21lbnQueCwg
ZnJhZ21lbnQueSAtIGZvbnQuZm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAgcmV0dXJuIGZv
bnQuc2VsZWN0aW9uUmVjdEZvclRleHQoY29uc3RydWN0VGV4dFJ1bihzdHlsZSwgZnJhZ21lbnQp
LCB0ZXh0T3JpZ2luLCBmcmFnbWVudC5oZWlnaHQsIHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9u
KTsKIH0KIApAQCAtNDA5LDE2ICs0MDksMTYgQEAgYm9vbCBTVkdJbmxpbmVUZXh0Qm94OjptYXBT
dGFydEVuZFBvc2l0aQogICAgIHJldHVybiB0cnVlOwogfQogCi1zdGF0aWMgaW5saW5lIGZsb2F0
IHBvc2l0aW9uT2Zmc2V0Rm9yRGVjb3JhdGlvbihFVGV4dERlY29yYXRpb24gZGVjb3JhdGlvbiwg
Y29uc3QgRm9udCYgZm9udCwgZmxvYXQgdGhpY2tuZXNzKQorc3RhdGljIGlubGluZSBmbG9hdCBw
b3NpdGlvbk9mZnNldEZvckRlY29yYXRpb24oRVRleHREZWNvcmF0aW9uIGRlY29yYXRpb24sIGNv
bnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcywgZmxvYXQgdGhpY2tuZXNzKQogewogICAgIC8v
IEZJWE1FOiBGb3IgU1ZHIEZvbnRzIHdlIG5lZWQgdG8gdXNlIHRoZSBhdHRyaWJ1dGVzIGRlZmlu
ZWQgaW4gdGhlIDxmb250LWZhY2U+IGlmIHNwZWNpZmllZC4KICAgICAvLyBDb21wYXRpYmxlIHdp
dGggQmF0aWsvT3BlcmEuCiAgICAgaWYgKGRlY29yYXRpb24gPT0gVU5ERVJMSU5FKQotICAgICAg
ICByZXR1cm4gZm9udC5hc2NlbnQoKSArIHRoaWNrbmVzcyAqIDEuNWY7CisgICAgICAgIHJldHVy
biBmb250TWV0cmljcy5hc2NlbnQoKSArIHRoaWNrbmVzcyAqIDEuNWY7CiAgICAgaWYgKGRlY29y
YXRpb24gPT0gT1ZFUkxJTkUpCiAgICAgICAgIHJldHVybiB0aGlja25lc3M7CiAgICAgaWYgKGRl
Y29yYXRpb24gPT0gTElORV9USFJPVUdIKQotICAgICAgICByZXR1cm4gZm9udC5hc2NlbnQoKSAq
IDUuMGYgLyA4LjBmOworICAgICAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KCkgKiA1LjBm
IC8gOC4wZjsKIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiAwLjBmOwpA
QCAtNDg3LDYgKzQ4Nyw3IEBAIHZvaWQgU1ZHSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9u
V2kKICAgICBBU1NFUlQoZGVjb3JhdGlvblN0eWxlKTsKIAogICAgIGNvbnN0IEZvbnQmIGZvbnQg
PSBkZWNvcmF0aW9uU3R5bGUtPmZvbnQoKTsKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1l
dHJpY3MgPSBmb250LmZvbnRNZXRyaWNzKCk7CiAKICAgICAvLyBUaGUgaW5pdGlhbCB5IHZhbHVl
IHJlZmVycyB0byBvdmVybGluZSBwb3NpdGlvbi4KICAgICBmbG9hdCB0aGlja25lc3MgPSB0aGlj
a25lc3NGb3JEZWNvcmF0aW9uKGRlY29yYXRpb24sIGZvbnQpOwpAQCAtNDk0LDcgKzQ5NSw3IEBA
IHZvaWQgU1ZHSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uV2kKICAgICBpZiAoZnJhZ21l
bnQud2lkdGggPD0gMCAmJiB0aGlja25lc3MgPD0gMCkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
ZmxvYXQgeSA9IGZyYWdtZW50LnkgLSBmb250LmFzY2VudCgpICsgcG9zaXRpb25PZmZzZXRGb3JE
ZWNvcmF0aW9uKGRlY29yYXRpb24sIGZvbnQsIHRoaWNrbmVzcyk7CisgICAgZmxvYXQgeSA9IGZy
YWdtZW50LnkgLSBmb250TWV0cmljcy5hc2NlbnQoKSArIHBvc2l0aW9uT2Zmc2V0Rm9yRGVjb3Jh
dGlvbihkZWNvcmF0aW9uLCBmb250TWV0cmljcywgdGhpY2tuZXNzKTsKIAogICAgIFBhdGggcGF0
aDsKICAgICBwYXRoLmFkZFJlY3QoRmxvYXRSZWN0KGZyYWdtZW50LngsIHksIGZyYWdtZW50Lndp
ZHRoLCB0aGlja25lc3MpKTsKQEAgLTUxMyw3ICs1MTQsNyBAQCB2b2lkIFNWR0lubGluZVRleHRC
b3g6OnBhaW50VGV4dFdpdGhTaGFkCiAgICAgY29uc3QgU2hhZG93RGF0YSogc2hhZG93ID0gc3R5
bGUtPnRleHRTaGFkb3coKTsKIAogICAgIEZsb2F0UG9pbnQgdGV4dE9yaWdpbihmcmFnbWVudC54
LCBmcmFnbWVudC55KTsKLSAgICBGbG9hdFJlY3Qgc2hhZG93UmVjdChGbG9hdFBvaW50KHRleHRP
cmlnaW4ueCgpLCB0ZXh0T3JpZ2luLnkoKSAtIGZvbnQuYXNjZW50KCkpLCBGbG9hdFNpemUoZnJh
Z21lbnQud2lkdGgsIGZyYWdtZW50LmhlaWdodCkpOworICAgIEZsb2F0UmVjdCBzaGFkb3dSZWN0
KEZsb2F0UG9pbnQodGV4dE9yaWdpbi54KCksIHRleHRPcmlnaW4ueSgpIC0gZm9udC5mb250TWV0
cmljcygpLmFzY2VudCgpKSwgRmxvYXRTaXplKGZyYWdtZW50LndpZHRoLCBmcmFnbWVudC5oZWln
aHQpKTsKIAogICAgIGRvIHsKICAgICAgICAgaWYgKCFwcmVwYXJlR3JhcGhpY3NDb250ZXh0Rm9y
VGV4dFBhaW50aW5nKGNvbnRleHQsIHRleHRSdW4sIHN0eWxlKSkKQEAgLTU4Nyw3ICs1ODgsNyBA
QCBJbnRSZWN0IFNWR0lubGluZVRleHRCb3g6OmNhbGN1bGF0ZUJvdW5kCiAgICAgQVNTRVJUKHN0
eWxlKTsKIAogICAgIGludCBiYXNlbGluZSA9IGJhc2VsaW5lUG9zaXRpb24oQWxwaGFiZXRpY0Jh
c2VsaW5lKTsKLSAgICBpbnQgaGVpZ2h0RGlmZmVyZW5jZSA9IGJhc2VsaW5lIC0gc3R5bGUtPmZv
bnQoKS5hc2NlbnQoKTsKKyAgICBpbnQgaGVpZ2h0RGlmZmVyZW5jZSA9IGJhc2VsaW5lIC0gc3R5
bGUtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCk7CiAKICAgICB1bnNpZ25lZCB0ZXh0RnJhZ21lbnRz
U2l6ZSA9IG1fdGV4dEZyYWdtZW50cy5zaXplKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IHRleHRGcmFnbWVudHNTaXplOyArK2kpIHsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuY3BwCShyZXZpc2lvbiA3
NDY2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxp
bmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw5ICs0OSw5IEBAIGZsb2F0IFNWR1RleHRMYXlv
dXRFbmdpbmVCYXNlbGluZTo6Y2FsY3UKICAgICBjYXNlIEJTX0JBU0VMSU5FOgogICAgICAgICBy
ZXR1cm4gMDsKICAgICBjYXNlIEJTX1NVQjoKLSAgICAgICAgcmV0dXJuIC1tX2ZvbnQuaGVpZ2h0
KCkgLyAyOworICAgICAgICByZXR1cm4gLW1fZm9udC5mb250TWV0cmljcygpLmhlaWdodCgpIC8g
MjsKICAgICBjYXNlIEJTX1NVUEVSOgotICAgICAgICByZXR1cm4gbV9mb250LmhlaWdodCgpIC8g
MjsKKyAgICAgICAgcmV0dXJuIG1fZm9udC5mb250TWV0cmljcygpLmhlaWdodCgpIC8gMjsKICAg
ICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJu
IDA7CkBAIC0xMjIsMjcgKzEyMiwyOSBAQCBmbG9hdCBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxp
bmU6OmNhbGN1CiAgICAgICAgIEFTU0VSVChiYXNlbGluZSAhPSBBQl9BVVRPKTsKICAgICB9CiAK
KyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBtX2ZvbnQuZm9udE1ldHJpY3Mo
KTsKKwogICAgIC8vIE5vdGU6IGh0dHA6Ly93aWtpLmFwYWNoZS5vcmcveG1sZ3JhcGhpY3MtZm9w
L0xpbmVMYXlvdXQvQWxpZ25tZW50SGFuZGxpbmcKICAgICBzd2l0Y2ggKGJhc2VsaW5lKSB7CiAg
ICAgY2FzZSBBQl9CQVNFTElORToKICAgICAgICAgcmV0dXJuIGRvbWluYW50QmFzZWxpbmVUb0Fs
aWdubWVudEJhc2VsaW5lKGlzVmVydGljYWxUZXh0LCB0ZXh0UmVuZGVyZXJQYXJlbnQpOwogICAg
IGNhc2UgQUJfQkVGT1JFX0VER0U6CiAgICAgY2FzZSBBQl9URVhUX0JFRk9SRV9FREdFOgotICAg
ICAgICByZXR1cm4gbV9mb250LmFzY2VudCgpOworICAgICAgICByZXR1cm4gZm9udE1ldHJpY3Mu
YXNjZW50KCk7CiAgICAgY2FzZSBBQl9NSURETEU6Ci0gICAgICAgIHJldHVybiBtX2ZvbnQueEhl
aWdodCgpIC8gMjsKKyAgICAgICAgcmV0dXJuIGZvbnRNZXRyaWNzLnhIZWlnaHQoKSAvIDI7CiAg
ICAgY2FzZSBBQl9DRU5UUkFMOgotICAgICAgICByZXR1cm4gKG1fZm9udC5hc2NlbnQoKSAtIG1f
Zm9udC5kZXNjZW50KCkpIC8gMjsKKyAgICAgICAgcmV0dXJuIChmb250TWV0cmljcy5hc2NlbnQo
KSAtIGZvbnRNZXRyaWNzLmRlc2NlbnQoKSkgLyAyOwogICAgIGNhc2UgQUJfQUZURVJfRURHRToK
ICAgICBjYXNlIEFCX1RFWFRfQUZURVJfRURHRToKICAgICBjYXNlIEFCX0lERU9HUkFQSElDOgot
ICAgICAgICByZXR1cm4gbV9mb250LmRlc2NlbnQoKTsKKyAgICAgICAgcmV0dXJuIGZvbnRNZXRy
aWNzLmRlc2NlbnQoKTsKICAgICBjYXNlIEFCX0FMUEhBQkVUSUM6CiAgICAgICAgIHJldHVybiAw
OwogICAgIGNhc2UgQUJfSEFOR0lORzoKLSAgICAgICAgcmV0dXJuIG1fZm9udC5hc2NlbnQoKSAq
IDggLyAxMC5mOworICAgICAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KCkgKiA4IC8gMTAu
ZjsKICAgICBjYXNlIEFCX01BVEhFTUFUSUNBTDoKLSAgICAgICAgcmV0dXJuIG1fZm9udC5hc2Nl
bnQoKSAvIDI7CisgICAgICAgIHJldHVybiBmb250TWV0cmljcy5hc2NlbnQoKSAvIDI7CiAgICAg
ZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiAw
OwpAQCAtMTkzLDEyICsxOTUsMTQgQEAgZmxvYXQgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5l
OjpjYWxjdQogICAgIC8vIFNwZWM6IElmIGlmIHRoZSAnZ2x5cGgtb3JpZW50YXRpb24tdmVydGlj
YWwnIHJlc3VsdHMgaW4gYW4gb3JpZW50YXRpb24gYW5nbGUgdGhhdCBpcyBub3QgYSBtdWx0aXBs
ZSBvZgogICAgIC8vIDE4MCBkZWdyZWVzLCB0aGVuIHRoZSBjdXJyZW50IHRleHQgcG9zaXRpb24g
aXMgaW5jcmVtZW50ZWQgYWNjb3JkaW5nIHRvIHRoZSBob3Jpem9udGFsIG1ldHJpY3Mgb2YgdGhl
IGdseXBoLgogCisgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gbV9mb250LmZv
bnRNZXRyaWNzKCk7CisKICAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBoYW5kbGluZy4KICAg
ICBpZiAoaXNWZXJ0aWNhbFRleHQpIHsKLSAgICAgICAgZmxvYXQgYXNjZW50TWludXNEZXNjZW50
ID0gbV9mb250LmFzY2VudCgpIC0gbV9mb250LmRlc2NlbnQoKTsKKyAgICAgICAgZmxvYXQgYXNj
ZW50TWludXNEZXNjZW50ID0gZm9udE1ldHJpY3MuYXNjZW50KCkgLSBmb250TWV0cmljcy5kZXNj
ZW50KCk7CiAgICAgICAgIGlmICghYW5nbGUpIHsKICAgICAgICAgICAgIHhPcmllbnRhdGlvblNo
aWZ0ID0gKGFzY2VudE1pbnVzRGVzY2VudCAtIG1ldHJpY3Mud2lkdGgoKSkgLyAyOwotICAgICAg
ICAgICAgeU9yaWVudGF0aW9uU2hpZnQgPSBtX2ZvbnQuYXNjZW50KCk7CisgICAgICAgICAgICB5
T3JpZW50YXRpb25TaGlmdCA9IGZvbnRNZXRyaWNzLmFzY2VudCgpOwogICAgICAgICB9IGVsc2Ug
aWYgKGFuZ2xlID09IDE4MCkKICAgICAgICAgICAgIHhPcmllbnRhdGlvblNoaWZ0ID0gKGFzY2Vu
dE1pbnVzRGVzY2VudCArIG1ldHJpY3Mud2lkdGgoKSkgLyAyOwogICAgICAgICBlbHNlIGlmIChh
bmdsZSA9PSAyNzApIHsKQEAgLTIxOCw3ICsyMjIsNyBAQCBmbG9hdCBTVkdUZXh0TGF5b3V0RW5n
aW5lQmFzZWxpbmU6OmNhbGN1CiAgICAgICAgIHlPcmllbnRhdGlvblNoaWZ0ID0gLW1ldHJpY3Mu
d2lkdGgoKTsKICAgICBlbHNlIGlmIChhbmdsZSA9PSAxODApIHsKICAgICAgICAgeE9yaWVudGF0
aW9uU2hpZnQgPSBtZXRyaWNzLndpZHRoKCk7Ci0gICAgICAgIHlPcmllbnRhdGlvblNoaWZ0ID0g
LW1fZm9udC5hc2NlbnQoKTsKKyAgICAgICAgeU9yaWVudGF0aW9uU2hpZnQgPSAtZm9udE1ldHJp
Y3MuYXNjZW50KCk7CiAgICAgfSBlbHNlIGlmIChhbmdsZSA9PSAyNzApCiAgICAgICAgIHhPcmll
bnRhdGlvblNoaWZ0ID0gbWV0cmljcy53aWR0aCgpOwogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmcuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZy5jcHAJKHJldmlzaW9u
IDc0NjY1KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFj
aW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgsNyArNTgsNyBAQCBmbG9hdCBTVkdUZXh0TGF5
b3V0RW5naW5lU3BhY2luZzo6Y2FsY3VsCiAKICAgICBtX2xhc3RHbHlwaCA9IGN1cnJlbnRHbHlw
aDsKICAgICBtX2xhc3RHbHlwaC5pc1ZhbGlkID0gdHJ1ZTsKLSAgICBrZXJuaW5nICo9IG1fZm9u
dC5zaXplKCkgLyBtX2ZvbnQucHJpbWFyeUZvbnQoKS0+dW5pdHNQZXJFbSgpOworICAgIGtlcm5p
bmcgKj0gbV9mb250LnNpemUoKSAvIG1fZm9udC5mb250TWV0cmljcygpLnVuaXRzUGVyRW0oKTsK
ICAgICByZXR1cm4ga2VybmluZzsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGlzVmVydGljYWxU
ZXh0KTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TWV0cmljcy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzLmNwcAkocmV2
aXNpb24gNzQ2NjUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJpY3MuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw3IEBAIFNWR1RleHRNZXRyaWNzOjpTVkdUZXh0
TWV0cmljcyhjb25zdCBGb24KICAgICBpbnQgbGVuZ3RoID0gMDsKIAogICAgIG1fd2lkdGggPSBm
b250LmZsb2F0V2lkdGgocnVuLCBleHRyYUNoYXJzQXZhaWxhYmxlLCBsZW5ndGgsIG1fZ2x5cGgu
bmFtZSk7Ci0gICAgbV9oZWlnaHQgPSBmb250LmhlaWdodCgpOworICAgIG1faGVpZ2h0ID0gZm9u
dC5mb250TWV0cmljcygpLmhlaWdodCgpOwogICAgIG1fZ2x5cGgudW5pY29kZVN0cmluZyA9IFN0
cmluZyhydW4uY2hhcmFjdGVycygpLCBsZW5ndGgpOwogICAgIG1fZ2x5cGguaXNWYWxpZCA9IHRy
dWU7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0UXVlcnkuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0UXVlcnkuY3BwCShyZXZpc2lv
biA3NDY2NSkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0UXVlcnkuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NzIsNyArNDcyLDcgQEAgc3RydWN0IEV4dGVudE9mQ2hhcmFjdGVyRGF0
YSA6IFNWR1RleHRRdQogCiBzdGF0aWMgaW5saW5lIHZvaWQgY2FsY3VsYXRlR2x5cGhCb3VuZGFy
aWVzKFNWR1RleHRRdWVyeTo6RGF0YSogcXVlcnlEYXRhLCBjb25zdCBTVkdUZXh0RnJhZ21lbnQm
IGZyYWdtZW50LCBpbnQgc3RhcnRQb3NpdGlvbiwgRmxvYXRSZWN0JiBleHRlbnQpCiB7Ci0gICAg
ZXh0ZW50LnNldExvY2F0aW9uKEZsb2F0UG9pbnQoZnJhZ21lbnQueCwgZnJhZ21lbnQueSAtIHF1
ZXJ5RGF0YS0+dGV4dFJlbmRlcmVyLT5zdHlsZSgpLT5mb250KCkuYXNjZW50KCkpKTsKKyAgICBl
eHRlbnQuc2V0TG9jYXRpb24oRmxvYXRQb2ludChmcmFnbWVudC54LCBmcmFnbWVudC55IC0gcXVl
cnlEYXRhLT50ZXh0UmVuZGVyZXItPnN0eWxlKCktPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpKTsK
IAogICAgIGlmIChzdGFydFBvc2l0aW9uKSB7CiAgICAgICAgIFNWR1RleHRNZXRyaWNzIG1ldHJp
Y3MgPSBTVkdUZXh0TWV0cmljczo6bWVhc3VyZUNoYXJhY3RlclJhbmdlKHF1ZXJ5RGF0YS0+dGV4
dFJlbmRlcmVyLCBmcmFnbWVudC5wb3NpdGlvbkxpc3RPZmZzZXQsIHN0YXJ0UG9zaXRpb24pOwpJ
bmRleDogV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1lbnQuY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdl
YkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNSw3
ICsxMjUsNyBAQCB1bnNpZ25lZCBTVkdGb250RmFjZUVsZW1lbnQ6OnVuaXRzUGVyRW0oCiB7CiAg
ICAgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSA9IGdldEF0dHJpYnV0ZSh1bml0c19wZXJfZW1B
dHRyKTsKICAgICBpZiAodmFsdWUuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gZGVmYXVsdFVu
aXRzUGVyRW07CisgICAgICAgIHJldHVybiBnRGVmYXVsdFVuaXRzUGVyRW07CiAKICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNlaWxmKHZhbHVlLnRvRmxvYXQoKSkpOwogfQpJbmRl
eDogV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9T
VkdMZW5ndGguY3BwCShyZXZpc2lvbiA3NDY2NSkKKysrIFdlYkNvcmUvc3ZnL1NWR0xlbmd0aC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0NCw3ICs0NDQsNyBAQCBmbG9hdCBTVkdMZW5ndGg6OmNv
bnZlcnRWYWx1ZUZyb21Vc2VyVW5pCiAKICAgICAvLyBVc2Ugb2YgY2VpbCBhbGxvd3MgYSBwaXhl
bCBtYXRjaCB0byB0aGUgVzNDcyBleHBlY3RlZCBvdXRwdXQgb2YgY29vcmRzLXVuaXRzLTAzLWIu
c3ZnCiAgICAgLy8gaWYgdGhpcyBjYXVzZXMgcHJvYmxlbXMgaW4gcmVhbCB3b3JsZCBjYXNlcyBt
YXliZSBpdCB3b3VsZCBiZSBiZXN0IHRvIHJlbW92ZSB0aGlzCi0gICAgZmxvYXQgeEhlaWdodCA9
IGNlaWxmKHN0eWxlLT5mb250KCkueEhlaWdodCgpKTsKKyAgICBmbG9hdCB4SGVpZ2h0ID0gY2Vp
bGYoc3R5bGUtPmZvbnRNZXRyaWNzKCkueEhlaWdodCgpKTsKICAgICBpZiAoIXhIZWlnaHQpIHsK
ICAgICAgICAgZWMgPSBOT1RfU1VQUE9SVEVEX0VSUjsKICAgICAgICAgcmV0dXJuIDA7CkBAIC00
NjMsNyArNDYzLDcgQEAgZmxvYXQgU1ZHTGVuZ3RoOjpjb252ZXJ0VmFsdWVGcm9tRVhTVG9Vcwog
ICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IGNvbnRleHQtPnJlbmRlcmVyKCktPnN0eWxlKCk7CiAg
ICAgLy8gVXNlIG9mIGNlaWwgYWxsb3dzIGEgcGl4ZWwgbWF0Y2ggdG8gdGhlIFczQ3MgZXhwZWN0
ZWQgb3V0cHV0IG9mIGNvb3Jkcy11bml0cy0wMy1iLnN2ZwogICAgIC8vIGlmIHRoaXMgY2F1c2Vz
IHByb2JsZW1zIGluIHJlYWwgd29ybGQgY2FzZXMgbWF5YmUgaXQgd291bGQgYmUgYmVzdCB0byBy
ZW1vdmUgdGhpcwotICAgIHJldHVybiB2YWx1ZSAqIGNlaWxmKHN0eWxlLT5mb250KCkueEhlaWdo
dCgpKTsKKyAgICByZXR1cm4gdmFsdWUgKiBjZWlsZihzdHlsZS0+Zm9udE1ldHJpY3MoKS54SGVp
Z2h0KCkpOwogfQogCiBTVkdMZW5ndGggU1ZHTGVuZ3RoOjpmcm9tQ1NTUHJpbWl0aXZlVmFsdWUo
Q1NTUHJpbWl0aXZlVmFsdWUqIHZhbHVlKQpJbmRleDogV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDc0NjgyKQorKysgV2ViS2l0Mi9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMC0xMi0yNyAgTmlr
b2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnRyb2R1Y2UgRm9udE1ldHJpY3MgYWJz
dHJhY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTUxNDU2CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3dpbi9XZWJQb3B1
cE1lbnVXaW4uY3BwOiBVc2UgRm9udE1ldHJpY3MgaW5zdGVhZCBvZiBGb250IHRvIGFjY2VzcyB0
aGUgbWV0cmljcy4KKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51OjpzZXRVcFBsYXRmb3Jt
RGF0YSk6CisKIDIwMTAtMTItMjYgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgpJbmRleDogV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3dpbi9XZWJQb3B1cE1lbnVXaW4uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC93aW4vV2ViUG9wdXBNZW51
V2luLmNwcAkocmV2aXNpb24gNzQ2NjUpCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvd2luL1dlYlBvcHVwTWVudVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDcgKzQ5
LDcgQEAgdm9pZCBXZWJQb3B1cE1lbnU6OnNldFVwUGxhdGZvcm1EYXRhKGNvbgogICAgIGRhdGEu
bV9jbGllbnRQYWRkaW5nUmlnaHQgPSBtX3BvcHVwQ2xpZW50LT5jbGllbnRQYWRkaW5nUmlnaHQo
KTsKICAgICBkYXRhLm1fY2xpZW50SW5zZXRMZWZ0ID0gbV9wb3B1cENsaWVudC0+Y2xpZW50SW5z
ZXRMZWZ0KCk7CiAgICAgZGF0YS5tX2NsaWVudEluc2V0UmlnaHQgPSBtX3BvcHVwQ2xpZW50LT5j
bGllbnRJbnNldFJpZ2h0KCk7Ci0gICAgZGF0YS5tX2l0ZW1IZWlnaHQgPSBtX3BvcHVwQ2xpZW50
LT5tZW51U3R5bGUoKS5mb250KCkuaGVpZ2h0KCkgKyAxOworICAgIGRhdGEubV9pdGVtSGVpZ2h0
ID0gbV9wb3B1cENsaWVudC0+bWVudVN0eWxlKCkuZm9udCgpLmZvbnRNZXRyaWNzKCkuaGVpZ2h0
KCkgKyAxOwogCiAgICAgaW50IHBvcHVwV2lkdGggPSAwOwogICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgaXRlbUNvdW50OyArK2kpIHsKQEAgLTEzMyw3ICsxMzMsNyBAQCB2b2lkIFdlYlBvcHVw
TWVudTo6c2V0VXBQbGF0Zm9ybURhdGEoY29uCiAgICAgICAgICAgICBpbnQgdGV4dFggPSBzdGQ6
Om1heCgwLCBkYXRhLm1fY2xpZW50UGFkZGluZ0xlZnQgLSBkYXRhLm1fY2xpZW50SW5zZXRMZWZ0
KTsKICAgICAgICAgICAgIGlmIChSZW5kZXJUaGVtZTo6ZGVmYXVsdFRoZW1lKCktPnBvcHVwT3B0
aW9uU3VwcG9ydHNUZXh0SW5kZW50KCkgJiYgaXRlbVN0eWxlLnRleHREaXJlY3Rpb24oKSA9PSBM
VFIpCiAgICAgICAgICAgICAgICAgdGV4dFggKz0gaXRlbVN0eWxlLnRleHRJbmRlbnQoKS5jYWxj
TWluVmFsdWUoaXRlbVJlY3Qud2lkdGgoKSk7Ci0gICAgICAgICAgICBpbnQgdGV4dFkgPSBpdGVt
UmVjdC55KCkgKyBpdGVtRm9udC5hc2NlbnQoKSArIChpdGVtUmVjdC5oZWlnaHQoKSAtIGl0ZW1G
b250LmhlaWdodCgpKSAvIDI7CisgICAgICAgICAgICBpbnQgdGV4dFkgPSBpdGVtUmVjdC55KCkg
KyBpdGVtRm9udC5mb250TWV0cmljcygpLmFzY2VudCgpICsgKGl0ZW1SZWN0LmhlaWdodCgpIC0g
aXRlbUZvbnQuZm9udE1ldHJpY3MoKS5oZWlnaHQoKSkgLyAyOwogCiAgICAgICAgICAgICBub3RT
ZWxlY3RlZEJhY2tpbmdTdG9yZUNvbnRleHQtPmRyYXdCaWRpVGV4dChpdGVtRm9udCwgdGV4dFJ1
biwgSW50UG9pbnQodGV4dFgsIHRleHRZKSk7CiAgICAgICAgICAgICBzZWxlY3RlZEJhY2tpbmdT
dG9yZUNvbnRleHQtPmRyYXdCaWRpVGV4dChpdGVtRm9udCwgdGV4dFJ1biwgSW50UG9pbnQodGV4
dFgsIHRleHRZKSk7CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc0NjY1KQorKysgV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEw
LTEyLTIzICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVjZSBGb250
TWV0cmljcyBhYnN0cmFjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTE0NTYKKworICAgICAgICAqIHNyYy9FeHRlcm5hbFBvcHVwTWVudS5jcHA6
IFVzZSBGb250TWV0cmljcyBpbnN0ZWFkIG9mIEZvbnQgdG8gYWNjZXNzIHRoZSBtZXRyaWNzLgor
ICAgICAgICAoV2ViS2l0OjpFeHRlcm5hbFBvcHVwTWVudTo6Z2V0UG9wdXBNZW51SW5mbyk6Cisg
ICAgICAgICogc3JjL1dlYkZvbnRJbXBsLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6Oldl
YkZvbnRJbXBsOjphc2NlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJGb250SW1wbDo6ZGVzY2Vu
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYkZvbnRJbXBsOjpoZWlnaHQpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJGb250SW1wbDo6bGluZVNwYWNpbmcpOgorICAgICAgICAoV2ViS2l0OjpXZWJGb250
SW1wbDo6eEhlaWdodCk6CisKIDIwMTAtMTItMjMgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmll
dy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI3NDU2
MS4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvRXh0ZXJuYWxQb3B1cE1lbnUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvRXh0ZXJuYWxQb3B1cE1lbnUuY3BwCShyZXZp
c2lvbiA3NDY2NSkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvRXh0ZXJuYWxQb3B1cE1lbnUuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xNDIsNyArMTQyLDcgQEAgdm9pZCBFeHRlcm5hbFBvcHVwTWVu
dTo6Z2V0UG9wdXBNZW51SW5mbwogICAgICAgICBwb3B1cEl0ZW0uZW5hYmxlZCA9IG1fcG9wdXBN
ZW51Q2xpZW50LT5pdGVtSXNFbmFibGVkKGkpOwogICAgIH0KIAotICAgIGluZm8tPml0ZW1IZWln
aHQgPSBtX3BvcHVwTWVudUNsaWVudC0+bWVudVN0eWxlKCkuZm9udCgpLmhlaWdodCgpOworICAg
IGluZm8tPml0ZW1IZWlnaHQgPSBtX3BvcHVwTWVudUNsaWVudC0+bWVudVN0eWxlKCkuZm9udCgp
LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCk7CiAgICAgaW5mby0+aXRlbUZvbnRTaXplID0KICAgICAg
ICAgc3RhdGljX2Nhc3Q8aW50PihtX3BvcHVwTWVudUNsaWVudC0+bWVudVN0eWxlKCkuZm9udCgp
LnNpemUoKSk7CiAgICAgaW5mby0+c2VsZWN0ZWRJbmRleCA9IG1fcG9wdXBNZW51Q2xpZW50LT5z
ZWxlY3RlZEluZGV4KCk7CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZvbnRJbXBsLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZvbnRJbXBsLmNwcAkocmV2
aXNpb24gNzQ2NjUpCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZvbnRJbXBsLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNjMsMjcgKzYzLDI3IEBAIFdlYkZvbnREZXNjcmlwdGlvbiBXZWJGb250
SW1wbDo6Zm9udERlc2MKIAogaW50IFdlYkZvbnRJbXBsOjphc2NlbnQoKSBjb25zdAogewotICAg
IHJldHVybiBtX2ZvbnQuYXNjZW50KCk7CisgICAgcmV0dXJuIG1fZm9udC5mb250TWV0cmljcygp
LmFzY2VudCgpOwogfQogCiBpbnQgV2ViRm9udEltcGw6OmRlc2NlbnQoKSBjb25zdAogewotICAg
IHJldHVybiBtX2ZvbnQuZGVzY2VudCgpOworICAgIHJldHVybiBtX2ZvbnQuZm9udE1ldHJpY3Mo
KS5kZXNjZW50KCk7CiB9CiAKIGludCBXZWJGb250SW1wbDo6aGVpZ2h0KCkgY29uc3QKIHsKLSAg
ICByZXR1cm4gbV9mb250LmhlaWdodCgpOworICAgIHJldHVybiBtX2ZvbnQuZm9udE1ldHJpY3Mo
KS5oZWlnaHQoKTsKIH0KIAogaW50IFdlYkZvbnRJbXBsOjpsaW5lU3BhY2luZygpIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIG1fZm9udC5saW5lU3BhY2luZygpOworICAgIHJldHVybiBtX2ZvbnQuZm9u
dE1ldHJpY3MoKS5saW5lU3BhY2luZygpOwogfQogCiBmbG9hdCBXZWJGb250SW1wbDo6eEhlaWdo
dCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fZm9udC54SGVpZ2h0KCk7CisgICAgcmV0dXJuIG1f
Zm9udC5mb250TWV0cmljcygpLnhIZWlnaHQoKTsKIH0KIAogdm9pZCBXZWJGb250SW1wbDo6ZHJh
d1RleHQoV2ViQ2FudmFzKiBjYW52YXMsIGNvbnN0IFdlYlRleHRSdW4mIHJ1biwgY29uc3QgV2Vi
RmxvYXRQb2ludCYgbGVmdEJhc2VsaW5lLApJbmRleDogV2ViS2l0L3dpbi9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDc0NjY1KQorKysgV2Vi
S2l0L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0x
Mi0yNiAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnRyb2R1Y2UgRm9udE1l
dHJpY3MgYWJzdHJhY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTUxNDU2CisKKyAgICAgICAgKiBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNw
cDogVXNlIEZvbnRNZXRyaWNzIGluc3RlYWQgb2YgRm9udCB0byBhY2Nlc3MgdGhlIG1ldHJpY3Mu
CisgICAgICAgIChGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyOjpkcmF3KToKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJEcmFn
Q2xpZW50OjpjcmVhdGVEcmFnSW1hZ2VGb3JMaW5rKToKKyAgICAgICAgKiBXZWJLaXRHcmFwaGlj
cy5jcHA6IERpdHRvLgorICAgICAgICAoRm9udE1ldHJpY3MpOgorCiAyMDEwLTEyLTIyICBTYW0g
V2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRs
ZXIuCkluZGV4OiBXZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdC93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAJKHJldmlz
aW9uIDc0NjY1KQorKysgV2ViS2l0L3dpbi9GdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTI1LDE1ICs1MjUsMTYgQEAgdm9pZCBGdWxsc2NyZWVuVmlkZW9D
b250cm9sbGVyOjpkcmF3KCkKICAgICAvLyB0aGUgdGV4dCBhdCB0aGUgY2VudGVyIG9mIHRoZSBz
bGlkZXIuCiAgICAgLy8gTGVmdCBzdHJpbmcKICAgICBzID0gdGltZVRvU3RyaW5nKGN1cnJlbnRU
aW1lKCkpOworICAgIGludCBmb250SGVpZ2h0ID0gZm9udC5mb250TWV0cmljcygpLmhlaWdodCgp
OwogICAgIFRleHRSdW4gbGVmdFRleHQocyk7CiAgICAgY29udGV4dC5zZXRGaWxsQ29sb3IoQ29s
b3IodGV4dENvbG9yKSwgQ29sb3JTcGFjZURldmljZVJHQik7Ci0gICAgY29udGV4dC5kcmF3VGV4
dChmb250LCBsZWZ0VGV4dCwgSW50UG9pbnQod2luZG93V2lkdGggLyAyIC0gdGltZVNsaWRlcldp
ZHRoIC8gMiAtIG1hcmdpbiAtIGZvbnQud2lkdGgobGVmdFRleHQpLCB3aW5kb3dIZWlnaHQgLSBt
YXJnaW4gLSBzbGlkZXJIZWlnaHQgLyAyICsgZm9udC5oZWlnaHQoKSAvIDQpKTsKKyAgICBjb250
ZXh0LmRyYXdUZXh0KGZvbnQsIGxlZnRUZXh0LCBJbnRQb2ludCh3aW5kb3dXaWR0aCAvIDIgLSB0
aW1lU2xpZGVyV2lkdGggLyAyIC0gbWFyZ2luIC0gZm9udC53aWR0aChsZWZ0VGV4dCksIHdpbmRv
d0hlaWdodCAtIG1hcmdpbiAtIHNsaWRlckhlaWdodCAvIDIgKyBmb250SGVpZ2h0IC8gNCkpOwog
CiAgICAgLy8gUmlnaHQgc3RyaW5nCiAgICAgcyA9IHRpbWVUb1N0cmluZyhjdXJyZW50VGltZSgp
IC0gZHVyYXRpb24oKSk7CiAgICAgVGV4dFJ1biByaWdodFRleHQocyk7CiAgICAgY29udGV4dC5z
ZXRGaWxsQ29sb3IoQ29sb3IodGV4dENvbG9yKSwgQ29sb3JTcGFjZURldmljZVJHQik7Ci0gICAg
Y29udGV4dC5kcmF3VGV4dChmb250LCByaWdodFRleHQsIEludFBvaW50KHdpbmRvd1dpZHRoIC8g
MiArIHRpbWVTbGlkZXJXaWR0aCAvIDIgKyBtYXJnaW4sIHdpbmRvd0hlaWdodCAtIG1hcmdpbiAt
IHNsaWRlckhlaWdodCAvIDIgKyBmb250LmhlaWdodCgpIC8gNCkpOworICAgIGNvbnRleHQuZHJh
d1RleHQoZm9udCwgcmlnaHRUZXh0LCBJbnRQb2ludCh3aW5kb3dXaWR0aCAvIDIgKyB0aW1lU2xp
ZGVyV2lkdGggLyAyICsgbWFyZ2luLCB3aW5kb3dIZWlnaHQgLSBtYXJnaW4gLSBzbGlkZXJIZWln
aHQgLyAyICsgZm9udEhlaWdodCAvIDQpKTsKIAogICAgIC8vIENvcHkgdG8gdGhlIHdpbmRvdwog
ICAgIEJMRU5ERlVOQ1RJT04gYmxlbmRGdW5jdGlvbiA9IHtBQ19TUkNfT1ZFUiwgMCwgMjU1LCBB
Q19TUkNfQUxQSEF9OwpJbmRleDogV2ViS2l0L3dpbi9XZWJLaXRHcmFwaGljcy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0L3dpbi9XZWJLaXRHcmFwaGljcy5jcHAJKHJldmlzaW9uIDc0NjY1KQor
KysgV2ViS2l0L3dpbi9XZWJLaXRHcmFwaGljcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMywx
NSArMTMzLDE2IEBAIHZvaWQgRm9udE1ldHJpY3MoY29uc3QgV2ViRm9udERlc2NyaXB0aW8KICAg
ICAgICAgcmV0dXJuOwogCiAgICAgRm9udCBmb250KG1ha2VGb250KGRlc2NyaXB0aW9uKSk7Cisg
ICAgY29uc3QgV2ViQ29yZTo6Rm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzKGZvbnQuZm9udE1ldHJp
Y3MoKSk7CiAKICAgICBpZiAoYXNjZW50KQotICAgICAgICAqYXNjZW50ID0gZm9udC5hc2NlbnQo
KTsKKyAgICAgICAgKmFzY2VudCA9IGZvbnRNZXRyaWNzLmFzY2VudCgpOwogCiAgICAgaWYgKGRl
c2NlbnQpCi0gICAgICAgICpkZXNjZW50ID0gZm9udC5kZXNjZW50KCk7CisgICAgICAgICpkZXNj
ZW50ID0gZm9udE1ldHJpY3MuZGVzY2VudCgpOwogCiAgICAgaWYgKGxpbmVTcGFjaW5nKQotICAg
ICAgICAqbGluZVNwYWNpbmcgPSBmb250LmxpbmVTcGFjaW5nKCk7CisgICAgICAgICpsaW5lU3Bh
Y2luZyA9IGZvbnRNZXRyaWNzLmxpbmVTcGFjaW5nKCk7CiB9CiAKIHVuc2lnbmVkIENlbnRlclRy
dW5jYXRlU3RyaW5nVG9XaWR0aChMUENUU1RSIHRleHQsIGludCBsZW5ndGgsIGNvbnN0IFdlYkZv
bnREZXNjcmlwdGlvbiYgZGVzY3JpcHRpb24sIGZsb2F0IHdpZHRoLCBXQ0hBUiogYnVmZmVyKQpJ
bmRleDogV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQuY3BwCShyZXZp
c2lvbiA3NDY2NSkKKysrIFdlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI0Nyw3ICsyNDcsNyBAQCBEcmFnSW1hZ2VSZWYgV2ViRHJh
Z0NsaWVudDo6Y3JlYXRlRHJhZ0ltCiAgICAgLy9GaXJzdCBzdGVwIGluIGRyYXdpbmcgdGhlIGxp
bmsgZHJhZyBpbWFnZSB3aWR0aAogICAgIFRleHRSdW4gbGFiZWxSdW4obGFiZWwuaW1wbCgpKTsK
ICAgICBUZXh0UnVuIHVybFJ1bih1cmxTdHJpbmcuaW1wbCgpKTsKLSAgICBJbnRTaXplIGxhYmVs
U2l6ZShsYWJlbEZvbnQtPndpZHRoKGxhYmVsUnVuKSwgbGFiZWxGb250LT5hc2NlbnQoKSArIGxh
YmVsRm9udC0+ZGVzY2VudCgpKTsKKyAgICBJbnRTaXplIGxhYmVsU2l6ZShsYWJlbEZvbnQtPndp
ZHRoKGxhYmVsUnVuKSwgbGFiZWxGb250LT5mb250TWV0cmljcygpLmFzY2VudCgpICsgbGFiZWxG
b250LT5mb250TWV0cmljcygpLmRlc2NlbnQoKSk7CiAKICAgICBpZiAobGFiZWxTaXplLndpZHRo
KCkgPiBNQVhfRFJBR19MQUJFTF9TVFJJTkdfV0lEVEgpewogICAgICAgICBsYWJlbFNpemUuc2V0
V2lkdGgoTUFYX0RSQUdfTEFCRUxfU1RSSU5HX1dJRFRIKTsKQEAgLTI2MCw3ICsyNjAsNyBAQCBE
cmFnSW1hZ2VSZWYgV2ViRHJhZ0NsaWVudDo6Y3JlYXRlRHJhZ0ltCiAKICAgICBpZiAoZHJhd1VS
TFN0cmluZykgewogICAgICAgICB1cmxTdHJpbmdTaXplLnNldFdpZHRoKHVybEZvbnQtPndpZHRo
KHVybFJ1bikpOwotICAgICAgICB1cmxTdHJpbmdTaXplLnNldEhlaWdodCh1cmxGb250LT5hc2Nl
bnQoKSArIHVybEZvbnQtPmRlc2NlbnQoKSk7IAorICAgICAgICB1cmxTdHJpbmdTaXplLnNldEhl
aWdodCh1cmxGb250LT5mb250TWV0cmljcygpLmFzY2VudCgpICsgdXJsRm9udC0+Zm9udE1ldHJp
Y3MoKS5kZXNjZW50KCkpOyAKICAgICAgICAgaW1hZ2VTaXplLnNldEhlaWdodChpbWFnZVNpemUu
aGVpZ2h0KCkgKyB1cmxTdHJpbmdTaXplLmhlaWdodCgpKTsKICAgICAgICAgaWYgKHVybFN0cmlu
Z1NpemUud2lkdGgoKSA+IE1BWF9EUkFHX0xBQkVMX1NUUklOR19XSURUSCkgewogICAgICAgICAg
ICAgaW1hZ2VTaXplLnNldFdpZHRoKE1BWF9EUkFHX0xBQkVMX1dJRFRIKTsKQEAgLTMwMyw3ICsz
MDMsNyBAQCBEcmFnSW1hZ2VSZWYgV2ViRHJhZ0NsaWVudDo6Y3JlYXRlRHJhZ0ltCiAgICAgaWYg
KGRyYXdVUkxTdHJpbmcpIHsKICAgICAgICAgaWYgKGNsaXBVUkxTdHJpbmcpCiAgICAgICAgICAg
ICB1cmxTdHJpbmcgPSBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUodXJsU3RyaW5nLCBp
bWFnZVNpemUud2lkdGgoKSAtIChEUkFHX0xBQkVMX0JPUkRFUl9YICogMi4wZiksICp1cmxGb250
LCBmYWxzZSk7Ci0gICAgICAgIEludFBvaW50IHRleHRQb3MoRFJBR19MQUJFTF9CT1JERVJfWCwg
aW1hZ2VTaXplLmhlaWdodCgpIC0gKERSQUdfTEFCRUxfQk9SREVSX1lfT0ZGU0VUICsgdXJsRm9u
dC0+ZGVzY2VudCgpKSk7CisgICAgICAgIEludFBvaW50IHRleHRQb3MoRFJBR19MQUJFTF9CT1JE
RVJfWCwgaW1hZ2VTaXplLmhlaWdodCgpIC0gKERSQUdfTEFCRUxfQk9SREVSX1lfT0ZGU0VUICsg
dXJsRm9udC0+Zm9udE1ldHJpY3MoKS5kZXNjZW50KCkpKTsKICAgICAgICAgV2ViQ29yZURyYXdE
b3VibGVkVGV4dEF0UG9pbnQoY29udGV4dCwgdXJsU3RyaW5nLCB0ZXh0UG9zLCAqdXJsRm9udCwg
dG9wQ29sb3IsIGJvdHRvbUNvbG9yKTsKICAgICB9CiAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77502</attachid>
            <date>2010-12-27 06:57:47 -0800</date>
            <delta_ts>2010-12-27 09:55:48 -0800</delta_ts>
            <desc>Patch v9</desc>
            <filename>IntroduceFontMetrics8.diff</filename>
            <type>text/plain</type>
            <size>126380</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTg0IEBACisyMDEwLTEyLTIyICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEludHJvZHVjZSBGb250TWV0cmljcyBhYnN0cmFjdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE0NTYKKworICAgICAgICBFbmNhcHN1
bGF0ZSBhc2NlbnQvZGVzY2VudC9saW5lSGVpZ2h0L2xpbmVHYXAgbWV0aG9kcyBpbiBhIHNpbmds
ZSBGb250TWV0cmljcyBjbGFzcywgaW5zdGVhZCBvZgorICAgICAgICBoYXZpbmcgdG8gZGVmaW5l
IHRoZW0gaW4gYm90aCBGb250ICYgU2ltcGxlRm9udERhdGEuIENoYW5nZWQgdG8gc3RvcmUgZmxv
YXRpbmcgcG9pbnQgdmFsdWVzCisgICAgICAgIGFzIGRlZmF1bHQsIGluIG9yZGVyIHRvIGdldCBh
Y2N1cmF0ZSBpbmZvcm1hdGlvbiBmb3Igc21hbGwgc2l6ZWQgZm9udHMuIEFsbCB0aGVzZSBtZXRo
b2RzCisgICAgICAgIG5vdyBoYXZlIGZsb2F0aW5nLXBvaW50IGFuZCBpbnRlZ2VyIHZlcnNpb25z
LiBXaGVuZXZlciBhbiBpbnRlZ2VyIHZhcmlhbnQgb2YgdGhlc2UgZnVuY3Rpb25zCisgICAgICAg
IGlzIGNhbGxlZCwgbHJvdW5kZigpIGlzIHVzZWQgdG8gcm91bmQgdGhlIHZhbHVlLgorCisgICAg
ICAgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gc3VwcG9ydCBzbWFsbCBmb250LXNpemVzIGZv
ciBTVkcgaW4gYSBmb2xsb3ctdXAgcGF0Y2gsIGFzIHdlbGwKKyAgICAgICAgYXMgZml4aW5nIHJv
dW5kaW5nIGlzc3VlcyB3aGVuIHVzaW5nIFNWRyBGb250cy4KKyAgICAgICAgCisgICAgICAgIFNo
b3VsZG4ndCBhZmZlY3QgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5h
bTogQWRkIEZvbnRNZXRyaWNzLmggdG8gYnVpbGQuIAorICAgICAgICAqIFdlYkNvcmUuZ3lwaTog
RGl0dG8uCisgICAgICAgICogV2ViQ29yZS5wcm86IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0Fj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcDogVXNlIHN0eWxlLT5mb250TWV0cmljcygp
IGluc3RlYWQgb2Ygc3R5bGUtPmZvbnQoKSB0byBhY2Nlc3MgdGhlIG1ldHJpY3MuCisgICAgICAg
IChiYXNlbGluZVBvc2l0aW9uRm9yQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCk6CisgICAgICAg
ICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDogICAgICAgICAKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoRG91YmxlKToKKyAgICAgICAgKiBodG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJbnRlcm5hbCk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRyYXdFbGVtZW50VGl0bGUpOgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcDogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpQb3B1cExpc3RCb3g6OnBhaW50Um93KToKKyAgICAgICAgKFdlYkNvcmU6
OlBvcHVwTGlzdEJveDo6Z2V0Um93SGVpZ2h0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Lmg6IFJlbW92ZSBhc2NlbnQvZGVzY2VudC9oZWlnaHQvbGluZUdhcC9saW5lU3BhY2lu
Zy94SGVpZ2h0L3VuaXRzUGVyRW0gYWNjZXNzb3IuLi4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6
OmZvbnRNZXRyaWNzKTogLi4uIGFuZCBvbmx5IGV4cG9zZSBhIHNpbmdsZSBGb250TWV0cmljcyBv
YmplY3QgaGVyZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3Bw
OiBVc2UgZm9udE1ldHJpY3MoKSB0byBxdWVyeSBtZXRyaWNzIGluZm9ybWF0aW9uLgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udDo6ZW1waGFzaXNNYXJrQXNjZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnQ6OmVtcGhhc2lzTWFya0Rlc2NlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZW1w
aGFzaXNNYXJrSGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmZsb2F0V2lkdGhGb3JT
aW1wbGVUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpGb250TWV0cmljcyk6IENyZWF0
ZXMgYSBGb250TWV0cmljcyBvYmplY3QsIHN0b3JlZCBpbiBTaW1wbGVGb250RGF0YS4KKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjp1bml0c1BlckVtKTogUmV0dXJucyBhbiB1bnNpZ25l
ZCBkZXNjcmliaW5nIHRoZSB1bml0c1BlckVtLgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJp
Y3M6OnNldFVuaXRzUGVyRW0pOiBTZXRzIHRoZSB1bml0c1BlckVtIHZhbHVlLgorICAgICAgICAo
V2ViQ29yZTo6Rm9udE1ldHJpY3M6OmZsb2F0QXNjZW50KTogUmV0dXJucyB0aGUgc3RvcmVkIG1f
YXNjZW50IGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnNldEFzY2VudCk6
IFNldHMgdGhlIHN0b3JlZCBtX2FzY2VudCBmbG9hdC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRN
ZXRyaWNzOjpmbG9hdERlc2NlbnQpOiBSZXR1cm5zIHRoZSBzdG9yZWQgbV9kZXNjZW50IGZsb2F0
LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnNldERlc2NlbnQpOiBTZXRzIHRoZSBz
dG9yZWQgbV9kZXNjZW50IGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmZs
b2F0SGVpZ2h0KTogUmV0dXJucyBmbG9hdEFzY2VudCgpICsgZmxvYXREZXNjZW50KCkuCisgICAg
ICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6ZmxvYXRMaW5lR2FwKTogUmV0dXJucyB0aGUgc3Rv
cmVkIG1fbGluZUdhcCBmbG9hdC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpzZXRM
aW5lR2FwKTogU2V0cyB0aGUgc3RvcmVkIG1fbGluZUdhcCBmbG9hdC4KKyAgICAgICAgKFdlYkNv
cmU6OkZvbnRNZXRyaWNzOjpmbG9hdExpbmVTcGFjaW5nKTogUmV0dXJucyB0aGUgc3RvcmVkIG1f
bGluZVNwYWNpbmcgZmxvYXQuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6c2V0TGlu
ZVNwYWNpbmcpOiBTZXRzIHRoZSBzdG9yZWQgbV9saW5lU3BhY2luZyBmbG9hdC4KKyAgICAgICAg
KFdlYkNvcmU6OkZvbnRNZXRyaWNzOjp4SGVpZ2h0KTogUmV0dXJucyB0aGUgc3RvcmVkIG1feEhl
aWdodCBmbG9hdCAobm8gaW50ZWdlciB2ZXJzaW9uIGF2YWlsYWJsZSwgaGVuY2Ugbm8gJ2Zsb2F0
JyBwcmVmaXgpLgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnNldFhIZWlnaHQpOiBT
ZXRzIHRoZSBzdG9yZWQgbV94SGVpZ2h0IGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1l
dHJpY3M6OmFzY2VudCk6IFJldHVybnMgYSByb3VuZGVkIHZlcnNpb24gb2YgYXNjZW50KCkuCisg
ICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6ZGVzY2VudCk6IERpdHRvIChmb3IgZGVzY2Vu
dCkuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6aGVpZ2h0KTogUmV0dXJucyBhc2Nl
bnQoKSArIGRlc2NlbnQoKS4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpsaW5lR2Fw
KTogUmV0dXJucyBhIHJvdW5kZWQgdmVyc2lvbiBvZiBsaW5lR2FwKCkuCisgICAgICAgIChXZWJD
b3JlOjpGb250TWV0cmljczo6bGluZVNwYWNpbmcpOiBEaXR0byAoZm9yIGxpbmVTcGFjaW5nKS4K
KyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpyZXNldCk6IE51bGxzIGFsbCBtZW1iZXJz
LCB1c2VkIG9ubHkgYnkgdGhlIHBsYXRmb3JtIHZhcmlhbnRzIG9mIFNpbXBsZUZvbnREYXRhLgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcDogQWRhcHQgU1ZH
IEZvbnRzIGNvZGUsIHRvIGluaXRpYWxpemUgdGhlIEZvbnRNZXRyaWNzIG9iamVjdCwgYXMgdGhl
IG1fYXNjZW50L2V0Yy4uIG1lbWJlcnMgYXJlIGdvbmUuCisgICAgICAgIChXZWJDb3JlOjpTaW1w
bGVGb250RGF0YTo6U2ltcGxlRm9udERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9u
dERhdGE6OmluaXRDaGFyV2lkdGhzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1w
bGVGb250RGF0YS5oOiBSZW1vdmUgYXNjZW50L2Rlc2NlbnQvaGVpZ2h0L2xpbmVTcGFjaW5nL2xp
bmVHYXAveEhlaWdodC91bml0c1BlckVtIGFjY2Vzc29ycywgYW5kIG1lbWJlcnMsIGp1c3Qgc3Rv
cmUgYSBGb250TWV0cmljcyBvYmplY3QgYW5kIGV4cG9zZSBpdC4KKyAgICAgICAgKFdlYkNvcmU6
OlNpbXBsZUZvbnREYXRhOjpmb250TWV0cmljcyk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVG
b250RGF0YTo6YXZnQ2hhcldpZHRoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9Gb250Q2hyb21pdW1XaW4uY3BwOiBVc2UgZm9udE1ldHJpY3MoKSB0byBxdWVyeSBmb250
IG1ldHJpY3MuCisgICAgICAgIChXZWJDb3JlOjpUcmFuc3BhcmVuY3lBd2FyZUZvbnRQYWludGVy
OjpUcmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRlcjo6ZXN0aW1hdGVUZXh0Qm91bmRzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRyYW5zcGFyZW5jeUF3YXJlRm9udFBhaW50ZXI6OlRyYW5zcGFyZW5j
eUF3YXJlR2x5cGhQYWludGVyOjpkcmF3R2x5cGhzKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5z
cGFyZW5jeUF3YXJlRm9udFBhaW50ZXI6OlRyYW5zcGFyZW5jeUF3YXJlVW5pc2NyaWJlUGFpbnRl
cjo6ZXN0aW1hdGVUZXh0Qm91bmRzKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmRyYXdDb21w
bGV4VGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9u
dERhdGFDaHJvbWl1bVdpbi5jcHA6IEFkYXB0IHBsYXRmb3JtIGNvZGUsIHRvIGluaXRpYWxpemUg
dGhlIEZvbnRNZXRyaWNzIG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRh
OjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Np
bXBsZUZvbnREYXRhTGludXguY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZv
bnREYXRhOjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL1VuaXNjcmliZUhlbHBlclRleHRSdW4uY3BwOiBVc2UgZm9udE1ldHJpY3MoKSB0byBxdWVy
eSBmb250IG1ldHJpY3MuCisgICAgICAgIChXZWJDb3JlOjpVbmlzY3JpYmVIZWxwZXJUZXh0UnVu
OjpVbmlzY3JpYmVIZWxwZXJUZXh0UnVuKToKKyAgICAgICAgKFdlYkNvcmU6OlVuaXNjcmliZUhl
bHBlclRleHRSdW46Om5leHRXaW5Gb250RGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFGcmVlVHlwZS5jcHA6IEFkYXB0IHBsYXRmb3JtIGNv
ZGUsIHRvIGluaXRpYWxpemUgdGhlIEZvbnRNZXRyaWNzIG9iamVjdC4KKyAgICAgICAgKFdlYkNv
cmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2hhaWt1L1NpbXBsZUZvbnREYXRhSGFpa3UuY3BwOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL21hYy9Gb250Q29tcGxleFRleHRNYWMuY3BwOiBVc2UgZm9udE1ldHJpY3MoKSB0
byBxdWVyeSBmb250IG1ldHJpY3MuCisgICAgICAgIChXZWJDb3JlOjpGb250OjpmbG9hdFdpZHRo
Rm9yQ29tcGxleFRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFj
Lm1tOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OnNob3dHbHlwaHNXaXRoQWR2YW5jZXMpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbTogQWRh
cHQgcGxhdGZvcm0gY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUgRm9udE1ldHJpY3Mgb2JqZWN0Lgor
ICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAg
IChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1DaGFyV2lkdGhJbml0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9wYW5nby9TaW1wbGVGb250RGF0YVBhbmdvLmNwcDogRGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250RGF0YVF0LmNwcDogRGl0dG8u
ICgrIFN3aXRjaCB0byBRRm9udE1ldHJpY3NGIHRvIGdldCBmbG9hdGluZy1wb2ludCBhY2N1cmFu
Y3kuKQorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDR1dpbi5jcHA6IFVzZSBmb250TWV0
cmljcygpIHRvIHF1ZXJ5IGZvbnQgbWV0cmljcy4KKyAgICAgICAgKFdlYkNvcmU6OmRyYXdHRElH
bHlwaHMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250V2luLmNwcDogRGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpGb250OjpmbG9hdFdpZHRoRm9yQ29tcGxleFRleHQpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNHV2luLmNwcDog
QWRhcHQgcGxhdGZvcm0gY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUgRm9udE1ldHJpY3Mgb2JqZWN0
LgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAg
ICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Cb3VuZHNGb3JHbHlwaCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ2Fpcm9XaW4uY3Bw
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHA6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OmluaXRHRElGb250KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5j
cHA6IFVzZSBmb250TWV0cmljcygpIHRvIHF1ZXJ5IGZvbnQgbWV0cmljcy4KKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6ZHJhd1RleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3dpbmNlL1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwOiBBZGFwdCBwbGF0Zm9ybSBjb2Rl
LCB0byBpbml0aWFsaXplIHRoZSBGb250TWV0cmljcyBvYmplY3QuCisgICAgICAgIChXZWJDb3Jl
OjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy93eC9TaW1wbGVGb250RGF0YVd4LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpT
aW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiByZW5kZXJpbmcvRWxsaXBz
aXNCb3guY3BwOiBVc2Ugc3R5bGUtPmZvbnRNZXRyaWNzKCkgaW5zdGVhZCBvZiBzdHlsZS0+Zm9u
dCgpIHRvIGFjY2VzcyB0aGUgbWV0cmljcy4KKyAgICAgICAgKFdlYkNvcmU6OkVsbGlwc2lzQm94
OjpwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpFbGxpcHNpc0JveDo6bm9kZUF0UG9pbnQpOgor
ICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVCb3guY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OklubGluZUJveDo6bG9naWNhbEhlaWdodCk6CisgICAgICAgICogcmVuZGVyaW5nL0lubGlu
ZUZsb3dCb3guY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OnZlcnRpY2FsUG9zaXRpb25G
b3JCb3gpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6Y29tcHV0ZUxvZ2ljYWxC
b3hIZWlnaHRzKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJ
bkJsb2NrRGlyZWN0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHA6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OklubGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvblVuZGVybGluZSk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCbG9jazo6YmFzZWxpbmVQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCbG9jazo6Zmlyc3RMaW5lQm94QmFzZWxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2s6Omxhc3RMaW5lQm94QmFzZWxpbmUpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCb3guY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6bG9jYWxD
YXJldFJlY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHA6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRW1iZWRkZWRPYmplY3Q6OnBhaW50UmVw
bGFjZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OnNldEltYWdlU2l6ZUZvckFsdFRleHQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OnBhaW50UmVwbGFjZWQpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
cklubGluZTo6YmFzZWxpbmVQb3NpdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxp
c3RCb3guY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnBhaW50
SXRlbUZvcmVncm91bmQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6aXRlbUhl
aWdodCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwOiBEaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RNYXJrZXI6OnBhaW50KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxpc3RNYXJrZXI6OmxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMaXN0TWFya2VyOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVNYXJnaW5zKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxpc3RNYXJrZXI6OmdldFJlbGF0aXZlTWFya2VyUmVjdCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUZXh0Q29udHJvbDo6cGFpbnRQbGFjZWhvbGRlcik6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHA6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpjcmVhdGVJbm5lclRleHRTdHlsZSk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcDogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZVdpbjo6YWRqdXN0TWVudUxpc3RCdXR0b25TdHlsZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6IEFkZCAiY29uc3QgRm9udE1l
dHJpY3MmIGZvbnRNZXRyaWNzKCkgY29uc3QiIGFjY2Vzc29yLgorICAgICAgICAoV2ViQ29yZTo6
SW5oZXJpdGVkRmxhZ3M6OmZvbnRNZXRyaWNzKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRl
ZEZsYWdzOjpjb21wdXRlZExpbmVIZWlnaHQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHSW5saW5lVGV4dC5jcHA6IFVzZSBzdHlsZS0+Zm9udE1ldHJpY3MoKSBpbnN0ZWFkIG9m
IHN0eWxlLT5mb250KCkgdG8gYWNjZXNzIHRoZSBtZXRyaWNzLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU1ZHSW5saW5lVGV4dDo6cG9zaXRpb25Gb3JQb2ludCk6CisgICAgICAgICogcmVuZGVy
aW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpT
VkdJbmxpbmVUZXh0Qm94OjpzZWxlY3Rpb25SZWN0Rm9yVGV4dEZyYWdtZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OnBvc2l0aW9uT2Zmc2V0Rm9yRGVjb3JhdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb25XaXRoU3R5bGUpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHSW5saW5lVGV4dEJveDo6cGFpbnRUZXh0V2l0aFNoYWRvd3MpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHSW5saW5lVGV4dEJveDo6Y2FsY3VsYXRlQm91bmRhcmllcyk6CisgICAg
ICAgICogcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuY3BwOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2FsY3Vs
YXRlQmFzZWxpbmVTaGlmdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmU6OmNhbGN1bGF0ZUFsaWdubWVudEJhc2VsaW5lU2hpZnQpOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lOjpjYWxjdWxhdGVHbHlwaEFkdmFuY2VB
bmRPcmllbnRhdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5n
aW5lU3BhY2luZy5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dExheW91dEVu
Z2luZVNwYWNpbmc6OmNhbGN1bGF0ZVNWR0tlcm5pbmcpOgorICAgICAgICAqIHJlbmRlcmluZy9z
dmcvU1ZHVGV4dE1ldHJpY3MuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRN
ZXRyaWNzOjpTVkdUZXh0TWV0cmljcyk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdUZXh0
UXVlcnkuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OmNhbGN1bGF0ZUdseXBoQm91bmRh
cmllcyk6CisgICAgICAgICogc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHA6IAorICAgICAgICAo
V2ViQ29yZTo6U1ZHRm9udEZhY2VFbGVtZW50Ojp1bml0c1BlckVtKTogUmVuYW1lIGRlZmF1bHRV
bml0c1BlckVtIGdsb2JhbCB0byBnRGVmYXVsdFVuaXRzUGVyRW0uCisgICAgICAgICogc3ZnL1NW
R0xlbmd0aC5jcHA6IFVzZSBzdHlsZS0+Zm9udE1ldHJpY3MoKSBpbnN0ZWFkIG9mIHN0eWxlLT5m
b250KCkgdG8gYWNjZXNzIHRoZSBtZXRyaWNzLgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3Ro
Ojpjb252ZXJ0VmFsdWVGcm9tVXNlclVuaXRzVG9FWFMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
TGVuZ3RoOjpjb252ZXJ0VmFsdWVGcm9tRVhTVG9Vc2VyVW5pdHMpOgorCiAyMDEwLTEyLTI3ICBZ
dXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3
ZWQuIFJlbW92ZWQgdHJhaWxpbmcgc3BhY2VzIGZyb20gYSBsb2NhbGl6ZWQKSW5kZXg6IFdlYkNv
cmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQko
cmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkp
CkBAIC0yNDA1LDYgKzI0MDUsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseS5oIFwKIAlXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRGYXN0UGF0aC5jcHAgXAogCVdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oIFwK
KwlXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmggXAogCVdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udE9yaWVudGF0aW9uLmggXAogCVdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udFJlbmRlcmluZ01vZGUuaCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250U2VsZWN0b3IuaCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL1dlYkNv
cmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMjkxMCw2ICsyOTEwLDcgQEAKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5LmNwcCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vZ3JhcGhpY3MvRm9udEZhbWlseS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGlj
cy9Gb250RmFzdFBhdGguY3BwJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9Gb250
TWV0cmljcy5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9Gb250UmVuZGVyaW5n
TW9kZS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9Gb250U2VsZWN0b3IuaCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNtb290aGluZ01vZGUuaCcsCklu
ZGV4OiBXZWJDb3JlL1dlYkNvcmUucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5w
cm8JKHJldmlzaW9uIDc0NjgzKQorKysgV2ViQ29yZS9XZWJDb3JlLnBybwkod29ya2luZyBjb3B5
KQpAQCAtMjExMyw2ICsyMTEzLDcgQEAgSEVBREVSUyArPSBcCiAgICAgcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udERhdGEuaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0aW9uLmgg
XAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHkuaCBcCisgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udE1ldHJpY3MuaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oIFwKICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9HZW5lcmF0ZWRJbWFnZS5oIFwKICAgICBwbGF0Zm9ybS9ncmFw
aGljcy9HcmFkaWVudC5oIFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yNjM4MSw2ICsyNjM4MSwxMCBAQAogCQkJCQk+CiAJCQkJ
PC9GaWxlPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cZ3JhcGhp
Y3NcRm9udE1ldHJpY3MuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEZvbnRSZW5kZXJpbmdNb2RlLmgiCiAJ
CQkJCT4KIAkJCQk8L0ZpbGU+CkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTA3LDYgKzEwNyw3IEBACiAJCTA4
M0RBRUE3MEYwMUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgzREFFQTMwRjAx
QTdGQjAwMzQyNzU0IC8qIFJlbmRlclRleHRDb250cm9sTXVsdGlMaW5lLmggKi87IH07CiAJCTA4
M0RBRUE4MEYwMUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgzREFFQTQw
RjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAgKi87IH07
CiAJCTA4M0RBRUE5MEYwMUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxp
bmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4M0RB
RUE1MEYwMUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaCAqLzsg
fTsKKwkJMDg0NTY4MDgxMkI5MERBNjAwOTYwQTlGIC8qIEZvbnRNZXRyaWNzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODQ1NjgwNzEyQjkwREE2MDA5
NjBBOUYgLyogRm9udE1ldHJpY3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQkwODRBMDgyOTEyOEQ3ODY3MDAyREIxRjEgLyogU1ZHUGF0aFNlZ0xp
c3RQcm9wZXJ0eVRlYXJPZmYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDA4NEEwODI4MTI4RDc4NjcwMDJEQjFGMSAvKiBTVkdQYXRoU2VnTGlzdFByb3Bl
cnR5VGVhck9mZi5oICovOyB9OwogCQkwODRBRUJFNDBGQjUwNUZBMDAzODQ4M0UgLyogU2VsZWN0
RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwODRBRUJFMjBGQjUwNUZBMDAzODQ4M0UgLyogU2VsZWN0RWxlbWVudC5jcHAgKi87IH07CiAJ
CTA4NEFFQkU1MEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxlY3RFbGVtZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODRBRUJFMzBGQjUwNUZBMDAzODQ4
M0UgLyogU2VsZWN0RWxlbWVudC5oICovOyB9OwpAQCAtNjM2OSw2ICs2MzcwLDcgQEAKIAkJMDgz
REFFQTMwRjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRlclRleHRDb250cm9sTXVsdGlMaW5lLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclRleHRDb250cm9sTXVsdGlMaW5l
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4M0RBRUE0MEYwMUE3RkIwMDM0Mjc1
NCAvKiBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDgzREFFQTUwRjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRl
clRleHRDb250cm9sU2luZ2xlTGluZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMDg0NTY4MDcxMkI5MERBNjAwOTYwQTlGIC8qIEZvbnRNZXRyaWNzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRNZXRyaWNzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTA4NEEwODI4MTI4RDc4NjcwMDJEQjFGMSAvKiBTVkdQYXRoU2VnTGlzdFBy
b3BlcnR5VGVhck9mZi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRo
U2VnTGlzdFByb3BlcnR5VGVhck9mZi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
ODRBRUJFMjBGQjUwNUZBMDAzODQ4M0UgLyogU2VsZWN0RWxlbWVudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTZWxlY3RFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMDg0QUVCRTMwRkI1MDVGQTAwMzg0ODNFIC8qIFNlbGVjdEVsZW1l
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VsZWN0RWxlbWVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTcyMzIsNiArMTcyMzQsNyBAQAogCQkJCUIy
QzNEQTU4MEQwMDZDRDYwMEVGNkYyNiAvKiBGb250RmFtaWx5LmNwcCAqLywKIAkJCQlCMkMzREE1
OTBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udEZhbWlseS5oICovLAogCQkJCTcyNjI2RTAxMEVGMDIy
RkUwMEEwN0UyMCAvKiBGb250RmFzdFBhdGguY3BwICovLAorCQkJCTA4NDU2ODA3MTJCOTBEQTYw
MDk2MEE5RiAvKiBGb250TWV0cmljcy5oICovLAogCQkJCUY3QTAzNEMzMTI2QkY2QkUwMDdEQzE5
RSAvKiBGb250T3JpZW50YXRpb24uaCAqLywKIAkJCQkzN0FDQ0U0MTBEQTI5ODBGMDA4OUU2MDIg
LyogRm9udFJlbmRlcmluZ01vZGUuaCAqLywKIAkJCQlCMkMzREE1QTBEMDA2Q0Q2MDBFRjZGMjYg
LyogRm9udFNlbGVjdG9yLmggKi8sCkBAIC0yMjEzNCw2ICsyMjEzNyw3IEBACiAJCQkJOTNGMTk5
RUQwODI0NUU1OTAwMUU5QUJDIC8qIFhTTFRQcm9jZXNzb3IuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUxQkU1MTJFMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTk3REQ0RDg3MEZERjRENkUwMEVDRjlBNCAvKiBYU1NBdWRpdG9yLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwODQ1NjgwODEyQjkwREE2MDA5NjBBOUYgLyogRm9udE1ldHJpY3MuaCBp
biBIZWFkZXJzICovLAogCQkJCTQ5OUIzRUM1MTI4Q0NDNDcwMEU3MjZDMiAvKiBQbGF0Zm9ybUNB
TGF5ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5OUIzRUQ3MTI4Q0QzMTQwMEU3MjZDMiAvKiBH
cmFwaGljc0xheWVyQ0EuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5OUIzRUREMTI4REI1MDIwMEU3
MjZDMiAvKiBQbGF0Zm9ybUNBQW5pbWF0aW9uLmggaW4gSGVhZGVycyAqLywKSW5kZXg6IFdlYkNv
cmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXJBdGsuY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0
eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMjExLDggKzEyMTEsOCBAQCBzdGF0aWMgaW50IGJhc2VsaW5lUG9zaXRpb25Gb3JBY2Nlc3Np
YmlsCiAgICAgLy8gRklYTUU6IFRoaXMgaW1wbGVtZW50YXRpb24gb2YgYmFzZWxpbmVQb3NpdGlv
biBvcmlnaW5hdGVzIGZyb20gUmVuZGVyT2JqZWN0LmNwcCBhbmQgd2FzCiAgICAgLy8gcmVtb3Zl
ZCBpbiByNzAwNzIuIFRoZSBpbXBsZW1lbnRhdGlvbiBsb29rcyBpbmNvcnJlY3QgdGhvdWdoLCBi
ZWNhdXNlIHRoaXMgaXMgbm90IHRoZQogICAgIC8vIGJhc2VsaW5lIG9mIHRoZSB1bmRlcmx5aW5n
IFJlbmRlck9iamVjdCwgYnV0IG9mIHRoZSBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LgotICAg
IGNvbnN0IEZvbnQmIGYgPSByZW5kZXJPYmplY3QtPmZpcnN0TGluZVN0eWxlKCktPmZvbnQoKTsK
LSAgICByZXR1cm4gZi5hc2NlbnQoKSArIChyZW5kZXJPYmplY3QtPmZpcnN0TGluZVN0eWxlKCkt
PmNvbXB1dGVkTGluZUhlaWdodCgpIC0gZi5oZWlnaHQoKSkgLyAyOworICAgIGNvbnN0IEZvbnRN
ZXRyaWNzJiBmb250TWV0cmljcyA9IHJlbmRlck9iamVjdC0+Zmlyc3RMaW5lU3R5bGUoKS0+Zm9u
dE1ldHJpY3MoKTsKKyAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KCkgKyAocmVuZGVyT2Jq
ZWN0LT5maXJzdExpbmVTdHlsZSgpLT5jb21wdXRlZExpbmVIZWlnaHQoKSAtIGZvbnRNZXRyaWNz
LmhlaWdodCgpKSAvIDI7CiB9CiAKIHN0YXRpYyBBdGtBdHRyaWJ1dGVTZXQqIGdldEF0dHJpYnV0
ZVNldEZvckFjY2Vzc2liaWxpdHlPYmplY3QoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCogb2Jq
ZWN0KQpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAkocmV2aXNpb24gNzQ2ODMpCisr
KyBXZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQw
MCw3ICs0MDAsNyBAQCBkb3VibGUgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGhECiAg
ICAgICAgICAgICAvLyBXZSByZWFsbHkgbmVlZCB0byBjb21wdXRlIEVYIHVzaW5nIGZvbnRNZXRy
aWNzIGZvciB0aGUgb3JpZ2luYWwgc3BlY2lmaWVkU2l6ZSBhbmQgbm90IHVzZQogICAgICAgICAg
ICAgLy8gb3VyIGFjdHVhbCBjb25zdHJ1Y3RlZCByZW5kZXJpbmcgZm9udC4KICAgICAgICAgICAg
IGFwcGx5Wm9vbU11bHRpcGxpZXIgPSBmYWxzZTsKLSAgICAgICAgICAgIGZhY3RvciA9IHN0eWxl
LT5mb250KCkueEhlaWdodCgpOworICAgICAgICAgICAgZmFjdG9yID0gc3R5bGUtPmZvbnRNZXRy
aWNzKCkueEhlaWdodCgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ1NTX1JF
TVM6CiAgICAgICAgICAgICBhcHBseVpvb21NdWx0aXBsaWVyID0gZmFsc2U7CkluZGV4OiBXZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZp
c2lvbiA3NDY4MykKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJELmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc2MCw2ICsxNzYwLDcgQEAgdm9pZCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ6OmRyYXdUZXh0SQogICAgICAgICByZXR1cm47CiAKICAgICBjb25z
dCBGb250JiBmb250ID0gYWNjZXNzRm9udCgpOworICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250
TWV0cmljcyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKIAogICAgIC8vIEZJWE1FOiBIYW5kbGUgbWF4
V2lkdGguCiAgICAgLy8gRklYTUU6IE5lZWQgdG8gdHVybiBvZmYgZm9udCBzbW9vdGhpbmcuCkBA
IC0xNzc3LDE0ICsxNzc4LDE0IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3
VGV4dEkKICAgICBzd2l0Y2ggKHN0YXRlKCkubV90ZXh0QmFzZWxpbmUpIHsKICAgICBjYXNlIFRv
cFRleHRCYXNlbGluZToKICAgICBjYXNlIEhhbmdpbmdUZXh0QmFzZWxpbmU6Ci0gICAgICAgIGxv
Y2F0aW9uLnNldFkoeSArIGZvbnQuYXNjZW50KCkpOworICAgICAgICBsb2NhdGlvbi5zZXRZKHkg
KyBmb250TWV0cmljcy5hc2NlbnQoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQm90dG9t
VGV4dEJhc2VsaW5lOgogICAgIGNhc2UgSWRlb2dyYXBoaWNUZXh0QmFzZWxpbmU6Ci0gICAgICAg
IGxvY2F0aW9uLnNldFkoeSAtIGZvbnQuZGVzY2VudCgpKTsKKyAgICAgICAgbG9jYXRpb24uc2V0
WSh5IC0gZm9udE1ldHJpY3MuZGVzY2VudCgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBN
aWRkbGVUZXh0QmFzZWxpbmU6Ci0gICAgICAgIGxvY2F0aW9uLnNldFkoeSAtIGZvbnQuZGVzY2Vu
dCgpICsgZm9udC5oZWlnaHQoKSAvIDIpOworICAgICAgICBsb2NhdGlvbi5zZXRZKHkgLSBmb250
TWV0cmljcy5kZXNjZW50KCkgKyBmb250TWV0cmljcy5oZWlnaHQoKSAvIDIpOwogICAgICAgICBi
cmVhazsKICAgICBjYXNlIEFscGhhYmV0aWNUZXh0QmFzZWxpbmU6CiAgICAgZGVmYXVsdDoKQEAg
LTE4MTIsOCArMTgxMyw4IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3VGV4
dEkKICAgICB9CiAKICAgICAvLyBUaGUgc2xvcCBidWlsdCBpbiB0byB0aGlzIG1hc2sgcmVjdCBt
YXRjaGVzIHRoZSBoZXVyaXN0aWMgdXNlZCBpbiBGb250Q0dXaW4uY3BwIGZvciBHREkgdGV4dC4K
LSAgICBGbG9hdFJlY3QgdGV4dFJlY3QgPSBGbG9hdFJlY3QobG9jYXRpb24ueCgpIC0gZm9udC5o
ZWlnaHQoKSAvIDIsIGxvY2F0aW9uLnkoKSAtIGZvbnQuYXNjZW50KCkgLSBmb250LmxpbmVHYXAo
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggKyBmb250LmhlaWdo
dCgpLCBmb250LmxpbmVTcGFjaW5nKCkpOworICAgIEZsb2F0UmVjdCB0ZXh0UmVjdCA9IEZsb2F0
UmVjdChsb2NhdGlvbi54KCkgLSBmb250TWV0cmljcy5oZWlnaHQoKSAvIDIsIGxvY2F0aW9uLnko
KSAtIGZvbnRNZXRyaWNzLmFzY2VudCgpIC0gZm9udE1ldHJpY3MubGluZUdhcCgpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCArIGZvbnRNZXRyaWNzLmhlaWdodCgp
LCBmb250TWV0cmljcy5saW5lU3BhY2luZygpKTsKICAgICBpZiAoIWZpbGwpCiAgICAgICAgIHRl
eHRSZWN0LmluZmxhdGUoYy0+c3Ryb2tlVGhpY2tuZXNzKCkgLyAyKTsKIApJbmRleDogV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDc0NjgzKQorKysg
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTE3NjYsNyArMTc2Niw3IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZHJhd0VsZW1l
bnRUaXQKICAgICBjb250ZXh0LnNldEZpbGxDb2xvcih0b29sdGlwQmFja2dyb3VuZENvbG9yLCBD
b2xvclNwYWNlRGV2aWNlUkdCKTsKICAgICBjb250ZXh0LmRyYXdSZWN0KHRpdGxlUmVjdCk7CiAg
ICAgY29udGV4dC5zZXRGaWxsQ29sb3IodG9vbHRpcEZvbnRDb2xvciwgQ29sb3JTcGFjZURldmlj
ZVJHQik7Ci0gICAgY29udGV4dC5kcmF3VGV4dChmb250LCBub2RlVGl0bGVSdW4sIEludFBvaW50
KHRpdGxlUmVjdC54KCkgKyByZWN0SW5mbGF0ZVB4LCB0aXRsZVJlY3QueSgpICsgZm9udC5oZWln
aHQoKSkpOworICAgIGNvbnRleHQuZHJhd1RleHQoZm9udCwgbm9kZVRpdGxlUnVuLCBJbnRQb2lu
dCh0aXRsZVJlY3QueCgpICsgcmVjdEluZmxhdGVQeCwgdGl0bGVSZWN0LnkoKSArIGZvbnQuZm9u
dE1ldHJpY3MoKS5oZWlnaHQoKSkpOwogfQogCiB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6Om9w
ZW5Jbkluc3BlY3RlZFdpbmRvdyhjb25zdCBTdHJpbmcmIHVybCkKSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwCShyZXZpc2lvbiA3NDY4
MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC05NTksNyArOTU5LDcgQEAgdm9pZCBQb3B1cExpc3RCb3g6OnBhaW50
Um93KEdyYXBoaWNzQ29udAogICAgICAgICB0ZXh0WCArPSBtYXhXaWR0aCAtIGl0ZW1Gb250Lndp
ZHRoKHRleHRSdW4pOwogCiAgICAgLy8gRHJhdyB0aGUgaXRlbSB0ZXh0LgotICAgIGludCB0ZXh0
WSA9IHJvd1JlY3QueSgpICsgaXRlbUZvbnQuYXNjZW50KCkgKyAocm93UmVjdC5oZWlnaHQoKSAt
IGl0ZW1Gb250LmhlaWdodCgpKSAvIDI7CisgICAgaW50IHRleHRZID0gcm93UmVjdC55KCkgKyBp
dGVtRm9udC5mb250TWV0cmljcygpLmFzY2VudCgpICsgKHJvd1JlY3QuaGVpZ2h0KCkgLSBpdGVt
Rm9udC5mb250TWV0cmljcygpLmhlaWdodCgpKSAvIDI7CiAgICAgZ2MtPmRyYXdCaWRpVGV4dChp
dGVtRm9udCwgdGV4dFJ1biwgSW50UG9pbnQodGV4dFgsIHRleHRZKSk7CiAKICAgICAvLyBXZSBh
cmUgdXNpbmcgdGhlIGxlZnQgcGFkZGluZyBhcyB0aGUgcmlnaHQgcGFkZGluZyBpbmNsdWRlcyBy
b29tIGZvciB0aGUgc2Nyb2xsLWJhciB3aGljaApAQCAtMTA5OSw3ICsxMDk5LDcgQEAgaW50IFBv
cHVwTGlzdEJveDo6Z2V0Um93SGVpZ2h0KGludCBpbmRleAogICAgIFN0cmluZyBpY29uID0gbV9w
b3B1cENsaWVudC0+aXRlbUljb24oaW5kZXgpOwogICAgIFJlZlB0cjxJbWFnZT4gaW1hZ2UoSW1h
Z2U6OmxvYWRQbGF0Zm9ybVJlc291cmNlKGljb24udXRmOCgpLmRhdGEoKSkpOwogCi0gICAgaW50
IGZvbnRIZWlnaHQgPSBnZXRSb3dGb250KGluZGV4KS5oZWlnaHQoKTsKKyAgICBpbnQgZm9udEhl
aWdodCA9IGdldFJvd0ZvbnQoaW5kZXgpLmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCk7CiAgICAgaW50
IGljb25IZWlnaHQgPSAoaW1hZ2UgJiYgIWltYWdlLT5pc051bGwoKSkgPyBpbWFnZS0+cmVjdCgp
LmhlaWdodCgpIDogMDsKIAogICAgIHJldHVybiBtYXgoZm9udEhlaWdodCwgaWNvbkhlaWdodCk7
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDQsNyArNDQs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGbG9hdFBvaW50OwogY2xhc3MgRmxvYXRS
ZWN0OwogY2xhc3MgRm9udERhdGE7Ci1jbGFzcyBGb250RmFsbGJhY2tMaXN0OworY2xhc3MgRm9u
dE1ldHJpY3M7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgRm9udFNlbGVjdG9yOwog
Y2xhc3MgR2x5cGhCdWZmZXI7CkBAIC01NCw4ICs1NCw2IEBAIGNsYXNzIFNWR0ZvbnRFbGVtZW50
OwogCiBzdHJ1Y3QgR2x5cGhEYXRhOwogCi1jb25zdCB1bnNpZ25lZCBkZWZhdWx0VW5pdHNQZXJF
bSA9IDEwMDA7Ci0KIHN0cnVjdCBHbHlwaE92ZXJmbG93IHsKICAgICBHbHlwaE92ZXJmbG93KCkK
ICAgICAgICAgOiBsZWZ0KDApCkBAIC0xMjgsMTMgKzEyNiw3IEBAIHB1YmxpYzoKICAgICBib29s
IGlzUGxhdGZvcm1Gb250KCkgY29uc3QgeyByZXR1cm4gbV9pc1BsYXRmb3JtRm9udDsgfQogCiAg
ICAgLy8gTWV0cmljcyB0aGF0IHdlIHF1ZXJ5IHRoZSBGb250RmFsbGJhY2tMaXN0IGZvci4KLSAg
ICBpbnQgYXNjZW50KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxp
bmUpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmFzY2VudChiYXNlbGluZVR5cGUpOyB9
Ci0gICAgaW50IGRlc2NlbnQoRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0aWNC
YXNlbGluZSkgY29uc3QgeyByZXR1cm4gcHJpbWFyeUZvbnQoKS0+ZGVzY2VudChiYXNlbGluZVR5
cGUpOyB9Ci0gICAgaW50IGhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIGFzY2VudCgpICsgZGVzY2Vu
dCgpOyB9Ci0gICAgaW50IGxpbmVTcGFjaW5nKCkgY29uc3QgeyByZXR1cm4gcHJpbWFyeUZvbnQo
KS0+bGluZVNwYWNpbmcoKTsgfQotICAgIGludCBsaW5lR2FwKCkgY29uc3QgeyByZXR1cm4gcHJp
bWFyeUZvbnQoKS0+bGluZUdhcCgpOyB9Ci0gICAgZmxvYXQgeEhlaWdodCgpIGNvbnN0IHsgcmV0
dXJuIHByaW1hcnlGb250KCktPnhIZWlnaHQoKTsgfQotICAgIHVuc2lnbmVkIHVuaXRzUGVyRW0o
KSBjb25zdCB7IHJldHVybiBwcmltYXJ5Rm9udCgpLT51bml0c1BlckVtKCk7IH0KKyAgICBjb25z
dCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MoKSBjb25zdCB7IHJldHVybiBwcmltYXJ5Rm9udCgp
LT5mb250TWV0cmljcygpOyB9CiAgICAgaW50IHNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiAo
aW50KWNlaWxmKHByaW1hcnlGb250KCktPmFkanVzdGVkU3BhY2VXaWR0aCgpICsgbV9sZXR0ZXJT
cGFjaW5nKTsgfQogICAgIGZsb2F0IHRhYldpZHRoKGNvbnN0IFNpbXBsZUZvbnREYXRhJiBmb250
RGF0YSkgY29uc3QgeyByZXR1cm4gOCAqIGNlaWxmKGZvbnREYXRhLmFkanVzdGVkU3BhY2VXaWR0
aCgpICsgbGV0dGVyU3BhY2luZygpKTsgfQogICAgIGludCBlbXBoYXNpc01hcmtBc2NlbnQoY29u
c3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRGYXN0UGF0aC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250RmFzdFBhdGguY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udEZhc3RQYXRoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQxLDcgKzI0MSw3
IEBAIGludCBGb250OjplbXBoYXNpc01hcmtBc2NlbnQoY29uc3QgQXRvbWkKICAgICBpZiAoIW1h
cmtGb250RGF0YSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICByZXR1cm4gbWFya0ZvbnREYXRh
LT5hc2NlbnQoKTsKKyAgICByZXR1cm4gbWFya0ZvbnREYXRhLT5mb250TWV0cmljcygpLmFzY2Vu
dCgpOwogfQogCiBpbnQgRm9udDo6ZW1waGFzaXNNYXJrRGVzY2VudChjb25zdCBBdG9taWNTdHJp
bmcmIG1hcmspIGNvbnN0CkBAIC0yNTUsNyArMjU1LDcgQEAgaW50IEZvbnQ6OmVtcGhhc2lzTWFy
a0Rlc2NlbnQoY29uc3QgQXRvbQogICAgIGlmICghbWFya0ZvbnREYXRhKQogICAgICAgICByZXR1
cm4gMDsKIAotICAgIHJldHVybiBtYXJrRm9udERhdGEtPmRlc2NlbnQoKTsKKyAgICByZXR1cm4g
bWFya0ZvbnREYXRhLT5mb250TWV0cmljcygpLmRlc2NlbnQoKTsKIH0KIAogaW50IEZvbnQ6OmVt
cGhhc2lzTWFya0hlaWdodChjb25zdCBBdG9taWNTdHJpbmcmIG1hcmspIGNvbnN0CkBAIC0yNjks
NyArMjY5LDcgQEAgaW50IEZvbnQ6OmVtcGhhc2lzTWFya0hlaWdodChjb25zdCBBdG9taQogICAg
IGlmICghbWFya0ZvbnREYXRhKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHJldHVybiBtYXJr
Rm9udERhdGEtPmhlaWdodCgpOworICAgIHJldHVybiBtYXJrRm9udERhdGEtPmZvbnRNZXRyaWNz
KCkuaGVpZ2h0KCk7CiB9CiAKIGZsb2F0IEZvbnQ6OmdldEdseXBoc0FuZEFkdmFuY2VzRm9yU2lt
cGxlVGV4dChjb25zdCBUZXh0UnVuJiBydW4sIGludCBmcm9tLCBpbnQgdG8sIEdseXBoQnVmZmVy
JiBnbHlwaEJ1ZmZlciwgRm9yVGV4dEVtcGhhc2lzT3JOb3QgZm9yVGV4dEVtcGhhc2lzKSBjb25z
dApAQCAtNDAzLDggKzQwMyw4IEBAIGZsb2F0IEZvbnQ6OmZsb2F0V2lkdGhGb3JTaW1wbGVUZXh0
KGNvbnMKICAgICBpdC5hZHZhbmNlKHJ1bi5sZW5ndGgoKSwgZ2x5cGhCdWZmZXIpOwogCiAgICAg
aWYgKGdseXBoT3ZlcmZsb3cpIHsKLSAgICAgICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4PGlu
dD4oZ2x5cGhPdmVyZmxvdy0+dG9wLCBjZWlsZigtaXQubWluR2x5cGhCb3VuZGluZ0JveFkoKSkg
LSBhc2NlbnQoKSk7Ci0gICAgICAgIGdseXBoT3ZlcmZsb3ctPmJvdHRvbSA9IG1heDxpbnQ+KGds
eXBoT3ZlcmZsb3ctPmJvdHRvbSwgY2VpbGYoaXQubWF4R2x5cGhCb3VuZGluZ0JveFkoKSkgLSBk
ZXNjZW50KCkpOworICAgICAgICBnbHlwaE92ZXJmbG93LT50b3AgPSBtYXg8aW50PihnbHlwaE92
ZXJmbG93LT50b3AsIGNlaWxmKC1pdC5taW5HbHlwaEJvdW5kaW5nQm94WSgpKSAtIGZvbnRNZXRy
aWNzKCkuYXNjZW50KCkpOworICAgICAgICBnbHlwaE92ZXJmbG93LT5ib3R0b20gPSBtYXg8aW50
PihnbHlwaE92ZXJmbG93LT5ib3R0b20sIGNlaWxmKGl0Lm1heEdseXBoQm91bmRpbmdCb3hZKCkp
IC0gZm9udE1ldHJpY3MoKS5kZXNjZW50KCkpOwogICAgICAgICBnbHlwaE92ZXJmbG93LT5sZWZ0
ID0gY2VpbGYoaXQuZmlyc3RHbHlwaE92ZXJmbG93KCkpOwogICAgICAgICBnbHlwaE92ZXJmbG93
LT5yaWdodCA9IGNlaWxmKGl0Lmxhc3RHbHlwaE92ZXJmbG93KCkpOwogICAgIH0KSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udE1ldHJpY3MuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmgJKHJldmlzaW9uIDApCisrKyBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmgJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTIzIEBACisvKgorICAgIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0
ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAg
ICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAg
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAgICBhaW50IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgICAgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAgICBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyovCisKKyNpZm5kZWYgRm9udE1ldHJpY3NfaAor
I2RlZmluZSBGb250TWV0cmljc19oCisKKyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NvbnN0IHVuc2lnbmVkIGdEZWZhdWx0VW5pdHNQZXJFbSA9
IDEwMDA7CisKK2NsYXNzIEZvbnRNZXRyaWNzIHsKK3B1YmxpYzoKKyAgICBGb250TWV0cmljcygp
CisgICAgICAgIDogbV91bml0c1BlckVtKGdEZWZhdWx0VW5pdHNQZXJFbSkKKyAgICAgICAgLCBt
X2FzY2VudCgwKQorICAgICAgICAsIG1fZGVzY2VudCgwKQorICAgICAgICAsIG1fbGluZUdhcCgw
KQorICAgICAgICAsIG1fbGluZVNwYWNpbmcoMCkKKyAgICAgICAgLCBtX3hIZWlnaHQoMCkKKyAg
ICB7CisgICAgfQorCisgICAgdW5zaWduZWQgdW5pdHNQZXJFbSgpIGNvbnN0IHsgcmV0dXJuIG1f
dW5pdHNQZXJFbTsgfQorICAgIHZvaWQgc2V0VW5pdHNQZXJFbSh1bnNpZ25lZCB1bml0c1BlckVt
KSB7IG1fdW5pdHNQZXJFbSA9IHVuaXRzUGVyRW07IH0KKworICAgIGZsb2F0IGZsb2F0QXNjZW50
KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0Cisg
ICAgeworICAgICAgICBpZiAoYmFzZWxpbmVUeXBlID09IEFscGhhYmV0aWNCYXNlbGluZSkKKyAg
ICAgICAgICAgIHJldHVybiBtX2FzY2VudDsKKyAgICAgICAgcmV0dXJuIGZsb2F0SGVpZ2h0KCkg
LyAyOworICAgIH0KKworICAgIHZvaWQgc2V0QXNjZW50KGZsb2F0IGFzY2VudCkgeyBtX2FzY2Vu
dCA9IGFzY2VudDsgfQorCisgICAgZmxvYXQgZmxvYXREZXNjZW50KEZvbnRCYXNlbGluZSBiYXNl
bGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0CisgICAgeworICAgICAgICBpZiAo
YmFzZWxpbmVUeXBlID09IEFscGhhYmV0aWNCYXNlbGluZSkKKyAgICAgICAgICAgIHJldHVybiBt
X2Rlc2NlbnQ7CisgICAgICAgIHJldHVybiBmbG9hdEhlaWdodCgpIC8gMjsKKyAgICB9CisKKyAg
ICB2b2lkIHNldERlc2NlbnQoZmxvYXQgZGVzY2VudCkgeyBtX2Rlc2NlbnQgPSBkZXNjZW50OyB9
CisKKyAgICBmbG9hdCBmbG9hdEhlaWdodChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxw
aGFiZXRpY0Jhc2VsaW5lKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGZsb2F0QXNjZW50
KGJhc2VsaW5lVHlwZSkgKyBmbG9hdERlc2NlbnQoYmFzZWxpbmVUeXBlKTsKKyAgICB9CisKKyAg
ICBmbG9hdCBmbG9hdExpbmVHYXAoKSBjb25zdCB7IHJldHVybiBtX2xpbmVHYXA7IH0KKyAgICB2
b2lkIHNldExpbmVHYXAoZmxvYXQgbGluZUdhcCkgeyBtX2xpbmVHYXAgPSBsaW5lR2FwOyB9CisK
KyAgICBmbG9hdCBmbG9hdExpbmVTcGFjaW5nKCkgY29uc3QgeyByZXR1cm4gbV9saW5lU3BhY2lu
ZzsgfQorICAgIHZvaWQgc2V0TGluZVNwYWNpbmcoZmxvYXQgbGluZVNwYWNpbmcpIHsgbV9saW5l
U3BhY2luZyA9IGxpbmVTcGFjaW5nOyB9CisKKyAgICBmbG9hdCB4SGVpZ2h0KCkgY29uc3QgeyBy
ZXR1cm4gbV94SGVpZ2h0OyB9CisgICAgdm9pZCBzZXRYSGVpZ2h0KGZsb2F0IHhIZWlnaHQpIHsg
bV94SGVpZ2h0ID0geEhlaWdodDsgfQorCisgICAgLy8gSW50ZWdlciB2YXJpYW50cyBvZiBjZXJ0
YWluIG1ldHJpY3MsIHVzZWQgZm9yIEhUTUwgcmVuZGVyaW5nLgorICAgIGludCBhc2NlbnQoRm9u
dEJhc2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0aWNCYXNlbGluZSkgY29uc3QKKyAgICB7
CisgICAgICAgIGlmIChiYXNlbGluZVR5cGUgPT0gQWxwaGFiZXRpY0Jhc2VsaW5lKQorICAgICAg
ICAgICAgcmV0dXJuIGxyb3VuZGYobV9hc2NlbnQpOworICAgICAgICByZXR1cm4gaGVpZ2h0KCkg
LSBoZWlnaHQoKSAvIDI7CisgICAgfQorCisgICAgaW50IGRlc2NlbnQoRm9udEJhc2VsaW5lIGJh
c2VsaW5lVHlwZSA9IEFscGhhYmV0aWNCYXNlbGluZSkgY29uc3QKKyAgICB7CisgICAgICAgIGlm
IChiYXNlbGluZVR5cGUgPT0gQWxwaGFiZXRpY0Jhc2VsaW5lKQorICAgICAgICAgICAgcmV0dXJu
IGxyb3VuZGYobV9kZXNjZW50KTsKKyAgICAgICAgcmV0dXJuIGhlaWdodCgpIC8gMjsKKyAgICB9
CisKKyAgICBpbnQgaGVpZ2h0KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGlj
QmFzZWxpbmUpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gYXNjZW50KGJhc2VsaW5lVHlw
ZSkgKyBkZXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgfQorCisgICAgaW50IGxpbmVHYXAoKSBj
b25zdCB7IHJldHVybiBscm91bmRmKG1fbGluZUdhcCk7IH0KKyAgICBpbnQgbGluZVNwYWNpbmco
KSBjb25zdCB7IHJldHVybiBscm91bmRmKG1fbGluZVNwYWNpbmcpOyB9CisKK3ByaXZhdGU6Cisg
ICAgZnJpZW5kIGNsYXNzIFNpbXBsZUZvbnREYXRhOworCisgICAgdm9pZCByZXNldCgpCisgICAg
eworICAgICAgICBtX3VuaXRzUGVyRW0gPSBnRGVmYXVsdFVuaXRzUGVyRW07CisgICAgICAgIG1f
YXNjZW50ID0gMDsKKyAgICAgICAgbV9kZXNjZW50ID0gMDsKKyAgICAgICAgbV9saW5lR2FwID0g
MDsKKyAgICAgICAgbV9saW5lU3BhY2luZyA9IDA7CisgICAgICAgIG1feEhlaWdodCA9IDA7Cisg
ICAgfQorCitwcml2YXRlOgorICAgIHVuc2lnbmVkIG1fdW5pdHNQZXJFbTsKKyAgICBmbG9hdCBt
X2FzY2VudDsKKyAgICBmbG9hdCBtX2Rlc2NlbnQ7CisgICAgZmxvYXQgbV9saW5lR2FwOworICAg
IGZsb2F0IG1fbGluZVNwYWNpbmc7CisgICAgZmxvYXQgbV94SGVpZ2h0OworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRm9udE1ldHJpY3NfaApJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHAJKHJldmlzaW9uIDc0Njgz
KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTUwLDcgKzUwLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogU2ltcGxlRm9u
dERhdGE6OlNpbXBsZUZvbnREYXRhKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHBsYXRmb3JtRGF0
YSwgYm9vbCBpc0N1c3RvbUZvbnQsIGJvb2wgaXNMb2FkaW5nKQogICAgIDogbV9tYXhDaGFyV2lk
dGgoLTEpCiAgICAgLCBtX2F2Z0NoYXJXaWR0aCgtMSkKLSAgICAsIG1fdW5pdHNQZXJFbShkZWZh
dWx0VW5pdHNQZXJFbSkKICAgICAsIG1fb3JpZW50YXRpb24ocGxhdGZvcm1EYXRhLm9yaWVudGF0
aW9uKCkpCiAgICAgLCBtX3BsYXRmb3JtRGF0YShwbGF0Zm9ybURhdGEpCiAgICAgLCBtX3RyZWF0
QXNGaXhlZFBpdGNoKGZhbHNlKQpAQCAtNzQsMjMgKzczLDI5IEBAIFNpbXBsZUZvbnREYXRhOjpT
aW1wbGVGb250RGF0YShQYXNzT3duUHQKICAgICAsIG1faXNCcm9rZW5JZGVvZ3JhcGhGb250KGZh
bHNlKQogewogICAgIFNWR0ZvbnRGYWNlRWxlbWVudCogc3ZnRm9udEZhY2VFbGVtZW50ID0gbV9z
dmdGb250RGF0YS0+c3ZnRm9udEZhY2VFbGVtZW50KCk7Ci0gICAgbV91bml0c1BlckVtID0gc3Zn
Rm9udEZhY2VFbGVtZW50LT51bml0c1BlckVtKCk7CisgICAgdW5zaWduZWQgdW5pdHNQZXJFbSA9
IHN2Z0ZvbnRGYWNlRWxlbWVudC0+dW5pdHNQZXJFbSgpOwogCi0gICAgZG91YmxlIHNjYWxlID0g
c2l6ZTsKLSAgICBpZiAobV91bml0c1BlckVtKQotICAgICAgICBzY2FsZSAvPSBtX3VuaXRzUGVy
RW07Ci0KLSAgICBtX2FzY2VudCA9IHN0YXRpY19jYXN0PGludD4oc3ZnRm9udEZhY2VFbGVtZW50
LT5hc2NlbnQoKSAqIHNjYWxlKTsKLSAgICBtX2Rlc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KHN2
Z0ZvbnRGYWNlRWxlbWVudC0+ZGVzY2VudCgpICogc2NhbGUpOwotICAgIG1feEhlaWdodCA9IHN0
YXRpY19jYXN0PGludD4oc3ZnRm9udEZhY2VFbGVtZW50LT54SGVpZ2h0KCkgKiBzY2FsZSk7Ci0g
ICAgbV9saW5lR2FwID0gMC4xZiAqIHNpemU7Ci0gICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50
ICsgbV9kZXNjZW50ICsgbV9saW5lR2FwOworICAgIGZsb2F0IHNjYWxlID0gc2l6ZTsKKyAgICBp
ZiAodW5pdHNQZXJFbSkKKyAgICAgICAgc2NhbGUgLz0gdW5pdHNQZXJFbTsKKworICAgIC8vIEZJ
WE1FOiBVc2UgZmxvYXRpbmctcG9pbnQgbWV0cmljcywgbm93IHRoYXQgdGhleSdyZSBleHBvc2Vk
IQorICAgIGludCB4SGVpZ2h0ID0gc3RhdGljX2Nhc3Q8aW50PihzdmdGb250RmFjZUVsZW1lbnQt
PnhIZWlnaHQoKSAqIHNjYWxlKTsKKyAgICBpbnQgYXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50Pihz
dmdGb250RmFjZUVsZW1lbnQtPmFzY2VudCgpICogc2NhbGUpOworICAgIGludCBkZXNjZW50ID0g
c3RhdGljX2Nhc3Q8aW50PihzdmdGb250RmFjZUVsZW1lbnQtPmRlc2NlbnQoKSAqIHNjYWxlKTsK
KyAgICBpbnQgbGluZUdhcCA9IDAuMWYgKiBzaXplOworICAgIG1fZm9udE1ldHJpY3Muc2V0VW5p
dHNQZXJFbSh1bml0c1BlckVtKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChhc2NlbnQp
OworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChkZXNjZW50KTsKKyAgICBtX2ZvbnRNZXRy
aWNzLnNldExpbmVHYXAobGluZUdhcCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2lu
Zyhhc2NlbnQgKyBkZXNjZW50ICsgbGluZUdhcCk7CisgICAgbV9mb250TWV0cmljcy5zZXRYSGVp
Z2h0KHhIZWlnaHQpOwogCiAgICAgU1ZHRm9udEVsZW1lbnQqIGFzc29jaWF0ZWRGb250RWxlbWVu
dCA9IHN2Z0ZvbnRGYWNlRWxlbWVudC0+YXNzb2NpYXRlZEZvbnRFbGVtZW50KCk7CiAKICAgICBW
ZWN0b3I8U1ZHR2x5cGhJZGVudGlmaWVyPiBzcGFjZUdseXBoczsKICAgICBhc3NvY2lhdGVkRm9u
dEVsZW1lbnQtPmdldEdseXBoSWRlbnRpZmllcnNGb3JTdHJpbmcoU3RyaW5nKCIgIiwgMSksIHNw
YWNlR2x5cGhzKTsKLSAgICBtX3NwYWNlV2lkdGggPSBzcGFjZUdseXBocy5pc0VtcHR5KCkgPyBt
X3hIZWlnaHQgOiBzdGF0aWNfY2FzdDxmbG9hdD4oc3BhY2VHbHlwaHMuZmlyc3QoKS5ob3Jpem9u
dGFsQWR2YW5jZVggKiBzY2FsZSk7CisgICAgbV9zcGFjZVdpZHRoID0gc3BhY2VHbHlwaHMuaXNF
bXB0eSgpID8geEhlaWdodCA6IHN0YXRpY19jYXN0PGZsb2F0PihzcGFjZUdseXBocy5maXJzdCgp
Lmhvcml6b250YWxBZHZhbmNlWCAqIHNjYWxlKTsKIAogICAgIFZlY3RvcjxTVkdHbHlwaElkZW50
aWZpZXI+IG51bWVyYWxaZXJvR2x5cGhzOwogICAgIGFzc29jaWF0ZWRGb250RWxlbWVudC0+Z2V0
R2x5cGhJZGVudGlmaWVyc0ZvclN0cmluZyhTdHJpbmcoIjAiLCAxKSwgbnVtZXJhbFplcm9HbHlw
aHMpOwpAQCAtOTgsNyArMTAzLDcgQEAgU2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnREYXRhKFBh
c3NPd25QdAogCiAgICAgVmVjdG9yPFNWR0dseXBoSWRlbnRpZmllcj4gbGV0dGVyV0dseXBoczsK
ICAgICBhc3NvY2lhdGVkRm9udEVsZW1lbnQtPmdldEdseXBoSWRlbnRpZmllcnNGb3JTdHJpbmco
U3RyaW5nKCJXIiwgMSksIGxldHRlcldHbHlwaHMpOwotICAgIG1fbWF4Q2hhcldpZHRoID0gbGV0
dGVyV0dseXBocy5pc0VtcHR5KCkgPyBtX2FzY2VudCA6IHN0YXRpY19jYXN0PGZsb2F0PihsZXR0
ZXJXR2x5cGhzLmZpcnN0KCkuaG9yaXpvbnRhbEFkdmFuY2VYICogc2NhbGUpOworICAgIG1fbWF4
Q2hhcldpZHRoID0gbGV0dGVyV0dseXBocy5pc0VtcHR5KCkgPyBhc2NlbnQgOiBzdGF0aWNfY2Fz
dDxmbG9hdD4obGV0dGVyV0dseXBocy5maXJzdCgpLmhvcml6b250YWxBZHZhbmNlWCAqIHNjYWxl
KTsKIAogICAgIC8vIEZJWE1FOiBpcyB0aGVyZSBhIHdheSB3ZSBjYW4gZ2V0IHRoZSBzcGFjZSBn
bHlwaCBmcm9tIHRoZSBTVkdHbHlwaElkZW50aWZpZXIgYWJvdmU/CiAgICAgbV9zcGFjZUdseXBo
ID0gMDsKQEAgLTEyNiwxMCArMTMxLDExIEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OmluaXRDaGFy
V2lkdGhzKCkKIAogICAgIC8vIElmIHdlIGNhbid0IHJldHJpZXZlIHRoZSB3aWR0aCBvZiBhICcw
JywgZmFsbCBiYWNrIHRvIHRoZSB4IGhlaWdodC4KICAgICBpZiAobV9hdmdDaGFyV2lkdGggPD0g
MC5mKQotICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9IG1feEhlaWdodDsKKyAgICAgICAgbV9hdmdD
aGFyV2lkdGggPSBtX2ZvbnRNZXRyaWNzLnhIZWlnaHQoKTsKIAorICAgIC8vIEZJWE1FOiBVc2Ug
ZmxvYXRpbmctcG9pbnQgbWV0cmljcywgbm93IHRoYXQgdGhleSdyZSBleHBvc2VkIQogICAgIGlm
IChtX21heENoYXJXaWR0aCA8PSAwLmYpCi0gICAgICAgIG1fbWF4Q2hhcldpZHRoID0gbWF4PGZs
b2F0PihtX2F2Z0NoYXJXaWR0aCwgbV9hc2NlbnQpOworICAgICAgICBtX21heENoYXJXaWR0aCA9
IG1heDxmbG9hdD4obV9hdmdDaGFyV2lkdGgsIG1fZm9udE1ldHJpY3MuYXNjZW50KCkpOwogfQog
CiB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUdseXBoSW5pdCgpCkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCShyZXZpc2lvbiA3NDY4MykKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAkod29ya2luZyBjb3B5
KQpAQCAtMjYsNiArMjYsNyBAQAogCiAjaW5jbHVkZSAiRm9udEJhc2VsaW5lLmgiCiAjaW5jbHVk
ZSAiRm9udERhdGEuaCIKKyNpbmNsdWRlICJGb250TWV0cmljcy5oIgogI2luY2x1ZGUgIkZvbnRQ
bGF0Zm9ybURhdGEuaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJHbHlwaE1l
dHJpY3NNYXAuaCIKQEAgLTEwMSwxNSArMTAyLDkgQEAgcHVibGljOgogICAgIC8vIEZJWE1FOiBV
c2UgdGhlIGFjdHVhbCBtZXRyaWNzIGZvciBmb250cyB3aXRoIHZlcnRpY2FsIHRhYmxlcyBpbnN0
ZWFkIG9mIGp1c3QgaGFyZC1jb2RpbmcuICBJZiB0aGUgZm9udCBpcyBob3Jpem9udGFsbHkgb3Jp
ZW50ZWQgb3IKICAgICAvLyBhIGJyb2tlbiBpZGVvZ3JhcGhpYyBmb250LCB0aGVuIGp1c3QgaGFy
ZC1jb2RlIHRvIHNwbGl0IGFzY2VudC9kZXNjZW50IGRvd24gdGhlIG1pZGRsZS4gIE90aGVyd2lz
ZSB3ZSBzaG91bGQgYWN0dWFsbHkgdXNlIHRoZSBtZXRyaWNzCiAgICAgLy8gZnJvbSB0aGUgZm9u
dCBpdHNlbGYuCi0gICAgaW50IGFzY2VudChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxw
aGFiZXRpY0Jhc2VsaW5lKSBjb25zdCB7IHJldHVybiBiYXNlbGluZVR5cGUgPT0gQWxwaGFiZXRp
Y0Jhc2VsaW5lID8gbV9hc2NlbnQgOiBoZWlnaHQoKSAtIGhlaWdodCgpIC8gMjsgfQotICAgIGlu
dCBkZXNjZW50KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUp
IGNvbnN0IHsgcmV0dXJuIGJhc2VsaW5lVHlwZSA9PSBBbHBoYWJldGljQmFzZWxpbmUgPyBtX2Rl
c2NlbnQgOiBoZWlnaHQoKSAvIDI7IH0KLSAgICBpbnQgaGVpZ2h0KCkgY29uc3QgeyByZXR1cm4g
bV9hc2NlbnQgKyBtX2Rlc2NlbnQ7IH0KLSAgICBpbnQgbGluZVNwYWNpbmcoKSBjb25zdCB7IHJl
dHVybiBtX2xpbmVTcGFjaW5nOyB9Ci0gICAgaW50IGxpbmVHYXAoKSBjb25zdCB7IHJldHVybiBt
X2xpbmVHYXA7IH0KKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MoKSBjb25zdCB7
IHJldHVybiBtX2ZvbnRNZXRyaWNzOyB9CiAgICAgZmxvYXQgbWF4Q2hhcldpZHRoKCkgY29uc3Qg
eyByZXR1cm4gbV9tYXhDaGFyV2lkdGg7IH0KICAgICBmbG9hdCBhdmdDaGFyV2lkdGgoKSBjb25z
dCB7IHJldHVybiBtX2F2Z0NoYXJXaWR0aDsgfQotICAgIGZsb2F0IHhIZWlnaHQoKSBjb25zdCB7
IHJldHVybiBtX3hIZWlnaHQ7IH0KLSAgICB1bnNpZ25lZCB1bml0c1BlckVtKCkgY29uc3QgeyBy
ZXR1cm4gbV91bml0c1BlckVtOyB9CiAKICAgICBGbG9hdFJlY3QgYm91bmRzRm9yR2x5cGgoR2x5
cGgpIGNvbnN0OwogICAgIGZsb2F0IHdpZHRoRm9yR2x5cGgoR2x5cGggZ2x5cGgpIGNvbnN0OwpA
QCAtMjExLDE0ICsyMDYsOSBAQCBwcml2YXRlOgogICAgIGZsb2F0IHdpZHRoRm9yR0RJR2x5cGgo
R2x5cGggZ2x5cGgpIGNvbnN0OwogI2VuZGlmCiAKLSAgICBpbnQgbV9hc2NlbnQ7Ci0gICAgaW50
IG1fZGVzY2VudDsKLSAgICBpbnQgbV9saW5lU3BhY2luZzsKLSAgICBpbnQgbV9saW5lR2FwOwor
ICAgIEZvbnRNZXRyaWNzIG1fZm9udE1ldHJpY3M7CiAgICAgZmxvYXQgbV9tYXhDaGFyV2lkdGg7
CiAgICAgZmxvYXQgbV9hdmdDaGFyV2lkdGg7Ci0gICAgZmxvYXQgbV94SGVpZ2h0OwotICAgIHVu
c2lnbmVkIG1fdW5pdHNQZXJFbTsKICAgICAKICAgICBGb250T3JpZW50YXRpb24gbV9vcmllbnRh
dGlvbjsgLy8gVGhpcyBpcyBvdXIgc3VwcG9ydGVkIG9yaWVudGF0aW9uIGFjY29yZGluZyB0byB0
aGUgdGFibGVzIGluIHRoZSBmb250LiAgRm9udFBsYXRmb3JtRGF0YSB3aWxsIGp1c3QgYWx3YXlz
IGhhdmUgdGhlIGRlc2lyZWQgb3JpZW50YXRpb24uCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIFRoaXMgdmFsdWUgcmVwcmVzZW50cyB3aGF0IHdlIGFjdHVhbGx5IHN1cHBv
cnQuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1
bVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9Gb250Q2hyb21pdW1XaW4uY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udENocm9taXVtV2luLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjQ2LDEwICsyNDYsMTEgQEAgSW50UmVjdCBUcmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRl
cjo6ZQogICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbV9udW1HbHlwaHM7IGkrKykKICAgICAgICAg
dG90YWxXaWR0aCArPSBscm91bmRmKG1fZ2x5cGhCdWZmZXIuYWR2YW5jZUF0KG1fZnJvbSArIGkp
KTsKIAotICAgIHJldHVybiBJbnRSZWN0KG1fcG9pbnQueCgpIC0gKG1fZm9udC0+YXNjZW50KCkg
KyBtX2ZvbnQtPmRlc2NlbnQoKSkgLyAyLAotICAgICAgICAgICAgICAgICAgIG1fcG9pbnQueSgp
IC0gbV9mb250LT5hc2NlbnQoKSAtIG1fZm9udC0+bGluZUdhcCgpLAotICAgICAgICAgICAgICAg
ICAgIHRvdGFsV2lkdGggKyBtX2ZvbnQtPmFzY2VudCgpICsgbV9mb250LT5kZXNjZW50KCksCi0g
ICAgICAgICAgICAgICAgICAgbV9mb250LT5saW5lU3BhY2luZygpKTsgCisgICAgY29uc3QgRm9u
dE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gbV9mb250LT5mb250TWV0cmljcygpOworICAgIHJldHVy
biBJbnRSZWN0KG1fcG9pbnQueCgpIC0gKGZvbnRNZXRyaWNzLmFzY2VudCgpICsgZm9udE1ldHJp
Y3MuZGVzY2VudCgpKSAvIDIsCisgICAgICAgICAgICAgICAgICAgbV9wb2ludC55KCkgLSBmb250
TWV0cmljcy5hc2NlbnQoKSAtIGZvbnRNZXRyaWNzLmxpbmVHYXAoKSwKKyAgICAgICAgICAgICAg
ICAgICB0b3RhbFdpZHRoICsgZm9udE1ldHJpY3MuYXNjZW50KCkgKyBmb250TWV0cmljcy5kZXNj
ZW50KCksCisgICAgICAgICAgICAgICAgICAgZm9udE1ldHJpY3MubGluZVNwYWNpbmcoKSk7IAog
fQogCiBib29sIFRyYW5zcGFyZW5jeUF3YXJlR2x5cGhQYWludGVyOjpkcmF3R2x5cGhzKGludCBu
dW1HbHlwaHMsCkBAIC0yNzAsNyArMjcxLDcgQEAgYm9vbCBUcmFuc3BhcmVuY3lBd2FyZUdseXBo
UGFpbnRlcjo6ZHJhdwogICAgIC8vIFdpbmRvd3MnIG9yaWdpbiBpcyB0aGUgdG9wLWxlZnQgb2Yg
dGhlIGJvdW5kaW5nIGJveCwgc28gd2UgaGF2ZQogICAgIC8vIHRvIHN1YnRyYWN0IG9mZiB0aGUg
Zm9udCBhc2NlbnQgdG8gZ2V0IGl0LgogICAgIGludCB4ID0gbHJvdW5kZihtX3BvaW50LngoKSAr
IHN0YXJ0QWR2YW5jZSk7Ci0gICAgaW50IHkgPSBscm91bmRmKG1fcG9pbnQueSgpIC0gbV9mb250
LT5hc2NlbnQoKSk7CisgICAgaW50IHkgPSBscm91bmRmKG1fcG9pbnQueSgpIC0gbV9mb250LT5m
b250TWV0cmljcygpLmFzY2VudCgpKTsKIAogICAgIC8vIElmIHRoZXJlIGlzIGEgbm9uLWJsdXIg
c2hhZG93IGFuZCBib3RoIHRoZSBmaWxsIGNvbG9yIGFuZCBzaGFkb3cgY29sb3IgCiAgICAgLy8g
YXJlIG9wYXF1ZSwgaGFuZGxlIHdpdGhvdXQgc2tpYS4gCkBAIC0zNTQsMTAgKzM1NSwxMSBAQCBJ
bnRSZWN0IFRyYW5zcGFyZW5jeUF3YXJlVW5pc2NyaWJlUGFpbnRlCiAgICAgLy8gVGhpcyBhbGdv
cml0aG0gZm9yIGVzdGltYXRpbmcgaG93IG11Y2ggZXh0cmEgc3BhY2Ugd2UgbmVlZCAodGhlIHRl
eHQgbWF5CiAgICAgLy8gZ28gb3V0c2lkZSB0aGUgc2VsZWN0aW9uIHJlY3QpIGlzIGJhc2VkIHJv
dWdobHkgb24KICAgICAvLyBUcmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRlcjo6ZXN0aW1hdGVU
ZXh0Qm91bmRzIGFib3ZlLgotICAgIHJldHVybiBJbnRSZWN0KGxlZnQgLSAobV9mb250LT5hc2Nl
bnQoKSArIG1fZm9udC0+ZGVzY2VudCgpKSAvIDIsCi0gICAgICAgICAgICAgICAgICAgbV9wb2lu
dC55KCkgLSBtX2ZvbnQtPmFzY2VudCgpIC0gbV9mb250LT5saW5lR2FwKCksCi0gICAgICAgICAg
ICAgICAgICAgKHJpZ2h0IC0gbGVmdCkgKyBtX2ZvbnQtPmFzY2VudCgpICsgbV9mb250LT5kZXNj
ZW50KCksCi0gICAgICAgICAgICAgICAgICAgbV9mb250LT5saW5lU3BhY2luZygpKTsKKyAgICBj
b25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBtX2ZvbnQtPmZvbnRNZXRyaWNzKCk7Cisg
ICAgcmV0dXJuIEludFJlY3QobGVmdCAtIChmb250TWV0cmljcy5hc2NlbnQoKSArIGZvbnRNZXRy
aWNzLmRlc2NlbnQoKSkgLyAyLAorICAgICAgICAgICAgICAgICAgIG1fcG9pbnQueSgpIC0gZm9u
dE1ldHJpY3MuYXNjZW50KCkgLSBmb250TWV0cmljcy5saW5lR2FwKCksCisgICAgICAgICAgICAg
ICAgICAgKHJpZ2h0IC0gbGVmdCkgKyBmb250TWV0cmljcy5hc2NlbnQoKSArIGZvbnRNZXRyaWNz
LmRlc2NlbnQoKSwKKyAgICAgICAgICAgICAgICAgICBmb250TWV0cmljcy5saW5lU3BhY2luZygp
KTsKIH0KIAogfSAgLy8gbmFtZXNwYWNlCkBAIC00OTYsMTQgKzQ5OCwxNCBAQCB2b2lkIEZvbnQ6
OmRyYXdDb21wbGV4VGV4dChHcmFwaGljc0NvbnRlCiAgICAgICAgIENPTE9SUkVGIHNhdmVkVGV4
dENvbG9yID0gR2V0VGV4dENvbG9yKGhkYyk7CiAgICAgICAgIFNldFRleHRDb2xvcihoZGMsIHRl
eHRDb2xvcik7CiAgICAgICAgIHN0YXRlLmRyYXcoZ3JhcGhpY3NDb250ZXh0LCBoZGMsIHN0YXRp
Y19jYXN0PGludD4ocG9pbnQueCgpKSArIHNoYWRvd09mZnNldC53aWR0aCgpLAotICAgICAgICAg
ICAgICAgICAgIHN0YXRpY19jYXN0PGludD4ocG9pbnQueSgpIC0gYXNjZW50KCkpICsgc2hhZG93
T2Zmc2V0LmhlaWdodCgpLCBmcm9tLCB0byk7CisgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nh
c3Q8aW50Pihwb2ludC55KCkgLSBmb250TWV0cmljcygpLmFzY2VudCgpKSArIHNoYWRvd09mZnNl
dC5oZWlnaHQoKSwgZnJvbSwgdG8pOwogICAgICAgICBTZXRUZXh0Q29sb3IoaGRjLCBzYXZlZFRl
eHRDb2xvcik7IAogICAgIH0KIAogICAgIC8vIFVuaXNjcmliZSBjb3VudHMgdGhlIGNvb3JkaW5h
dGVzIGZyb20gdGhlIHVwcGVyIGxlZnQsIHdoaWxlIFdlYktpdCB1c2VzCiAgICAgLy8gdGhlIGJh
c2VsaW5lLCBzbyB3ZSBoYXZlIHRvIHN1YnRyYWN0IG9mZiB0aGUgYXNjZW50LgogICAgIHN0YXRl
LmRyYXcoZ3JhcGhpY3NDb250ZXh0LCBoZGMsIHN0YXRpY19jYXN0PGludD4ocG9pbnQueCgpKSwK
LSAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4ocG9pbnQueSgpIC0gYXNjZW50KCkpLCBm
cm9tLCB0byk7CisgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KHBvaW50LnkoKSAtIGZv
bnRNZXRyaWNzKCkuYXNjZW50KCkpLCBmcm9tLCB0byk7CiAKICAgICBjb250ZXh0LT5jYW52YXMo
KS0+ZW5kUGxhdGZvcm1QYWludCgpOwogfQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhQ2hyb21pdW1X
aW4uY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vU2ltcGxlRm9udERhdGFDaHJvbWl1bVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0
LDE0ICs1NCw5IEBAIHN0YXRpYyBpbmxpbmUgZmxvYXQgc2NhbGVFbVRvVW5pdHMoZmxvYXQKIHZv
aWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiB7CiAgICAgaWYgKCFtX3BsYXRmb3Jt
RGF0YS5zaXplKCkpIHsKLSAgICAgICAgbV9hc2NlbnQgPSAwOwotICAgICAgICBtX2Rlc2NlbnQg
PSAwOwotICAgICAgICBtX2xpbmVHYXAgPSAwOwotICAgICAgICBtX2xpbmVTcGFjaW5nID0gMDsK
KyAgICAgICAgbV9mb250TWV0cmljcy5yZXNldCgpOwogICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9
IDA7CiAgICAgICAgIG1fbWF4Q2hhcldpZHRoID0gMDsKLSAgICAgICAgbV94SGVpZ2h0ID0gMDsK
LSAgICAgICAgbV91bml0c1BlckVtID0gMDsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAt
ODIsMTAgKzc3LDExIEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAg
bV9hdmdDaGFyV2lkdGggPSB0ZXh0TWV0cmljLnRtQXZlQ2hhcldpZHRoOwogICAgIG1fbWF4Q2hh
cldpZHRoID0gdGV4dE1ldHJpYy50bU1heENoYXJXaWR0aDsKIAotICAgIG1fYXNjZW50ID0gdGV4
dE1ldHJpYy50bUFzY2VudDsKLSAgICBtX2Rlc2NlbnQgPSB0ZXh0TWV0cmljLnRtRGVzY2VudDsK
LSAgICBtX2xpbmVHYXAgPSB0ZXh0TWV0cmljLnRtRXh0ZXJuYWxMZWFkaW5nOwotICAgIG1feEhl
aWdodCA9IG1fYXNjZW50ICogMC41NmY7ICAvLyBCZXN0IGd1ZXNzIGZvciB4SGVpZ2h0IGZvciBu
b24tVHJ1ZXR5cGUgZm9udHMuCisgICAgLy8gRklYTUU6IEFjY2VzcyBhc2NlbnQvZGVzY2VudC9s
aW5lR2FwIHdpdGggZmxvYXRpbmcgcG9pbnQgcHJlY2lzaW9uLgorICAgIGZsb2F0IGFzY2VudCA9
IHRleHRNZXRyaWMudG1Bc2NlbnQ7CisgICAgZmxvYXQgZGVzY2VudCA9IHRleHRNZXRyaWMudG1E
ZXNjZW50OworICAgIGZsb2F0IGxpbmVHYXAgPSB0ZXh0TWV0cmljLnRtRXh0ZXJuYWxMZWFkaW5n
OworICAgIGZsb2F0IHhIZWlnaHQgPSBhc2NlbnQgKiAwLjU2ZjsgLy8gQmVzdCBndWVzcyBmb3Ig
eEhlaWdodCBmb3Igbm9uLVRydWV0eXBlIGZvbnRzLgogCiAgICAgT1VUTElORVRFWFRNRVRSSUMg
b3V0bGluZVRleHRNZXRyaWM7CiAgICAgaWYgKEdldE91dGxpbmVUZXh0TWV0cmljcyhkYywgc2l6
ZW9mKG91dGxpbmVUZXh0TWV0cmljKSwgJm91dGxpbmVUZXh0TWV0cmljKSA+IDApIHsKQEAgLTk0
LDEwICs5MCwxNCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgICAg
ICBNQVQyIGlkZW50aXR5TWF0cml4ID0ge3swLCAxfSwgezAsIDB9LCB7MCwgMH0sIHswLCAxfX07
CiAgICAgICAgIERXT1JEIGxlbiA9IEdldEdseXBoT3V0bGluZVcoZGMsICd4JywgR0dPX01FVFJJ
Q1MsICZnbHlwaE1ldHJpY3MsIDAsIDAsICZpZGVudGl0eU1hdHJpeCk7CiAgICAgICAgIGlmIChs
ZW4gIT0gR0RJX0VSUk9SICYmIGdseXBoTWV0cmljcy5nbUJsYWNrQm94WSA+IDApCi0gICAgICAg
ICAgICBtX3hIZWlnaHQgPSBzdGF0aWNfY2FzdDxmbG9hdD4oZ2x5cGhNZXRyaWNzLmdtQmxhY2tC
b3hZKTsKKyAgICAgICAgICAgIHhIZWlnaHQgPSBzdGF0aWNfY2FzdDxmbG9hdD4oZ2x5cGhNZXRy
aWNzLmdtQmxhY2tCb3hZKTsKICAgICB9CiAKLSAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQg
KyBtX2Rlc2NlbnQgKyBtX2xpbmVHYXA7CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNj
ZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoZGVzY2VudCk7CisgICAgbV9mb250
TWV0cmljcy5zZXRMaW5lR2FwKGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNw
YWNpbmcoYXNjZW50ICsgZGVzY2VudCArIGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0
WEhlaWdodCh4SGVpZ2h0KTsKIAogICAgIFNlbGVjdE9iamVjdChkYywgb2xkRm9udCk7CiAgICAg
UmVsZWFzZURDKDAsIGRjKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vU2ltcGxlRm9udERhdGFMaW51eC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUxpbnV4LmNwcAkocmV2aXNpb24gNzQ2
ODMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRh
TGludXguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSwxNCArNTUsOSBAQCBzdGF0aWMgY29uc3Qg
c2l6ZV90IG1heFZETVhUYWJsZVNpemUgPSAxCiB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9y
bUluaXQoKQogewogICAgIGlmICghbV9wbGF0Zm9ybURhdGEuc2l6ZSgpKSB7Ci0gICAgICAgIG1f
YXNjZW50ID0gMDsKLSAgICAgICAgbV9kZXNjZW50ID0gMDsKLSAgICAgICAgbV9saW5lR2FwID0g
MDsKLSAgICAgICAgbV9saW5lU3BhY2luZyA9IDA7CisgICAgICAgIG1fZm9udE1ldHJpY3MucmVz
ZXQoKTsKICAgICAgICAgbV9hdmdDaGFyV2lkdGggPSAwOwogICAgICAgICBtX21heENoYXJXaWR0
aCA9IDA7Ci0gICAgICAgIG1feEhlaWdodCA9IDA7Ci0gICAgICAgIG1fdW5pdHNQZXJFbSA9IDA7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTg4LDI2ICs4MywzNiBAQCB2b2lkIFNpbXBs
ZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgICAgICBmYXN0RnJlZSh2ZG14VGFibGUpOwog
ICAgIH0KIAorICAgIGZsb2F0IGFzY2VudDsKKyAgICBmbG9hdCBkZXNjZW50OworCiAgICAgLy8g
QmV3YXJlIHRob3NlIHdobyBzdGVwIGhlcmU6IFRoaXMgY29kZSBpcyBkZXNpZ25lZCB0byBtYXRj
aCBXaW4zMiBmb250CiAgICAgLy8gbWV0cmljcyAqZXhhY3RseSouCiAgICAgaWYgKGlzVkRNWFZh
bGlkKSB7Ci0gICAgICAgIG1fYXNjZW50ID0gdmRteEFzY2VudDsKLSAgICAgICAgbV9kZXNjZW50
ID0gLXZkbXhEZXNjZW50OworICAgICAgICAvLyBGSVhNRTogQWNjZXNzIGFzY2VudC9kZXNjZW50
IHdpdGggZmxvYXRpbmcgcG9pbnQgcHJlY2lzaW9uLgorICAgICAgICBhc2NlbnQgPSB2ZG14QXNj
ZW50OworICAgICAgICBkZXNjZW50ID0gLXZkbXhEZXNjZW50OwogICAgIH0gZWxzZSB7CiAgICAg
ICAgIFNrU2NhbGFyIGhlaWdodCA9IC1tZXRyaWNzLmZBc2NlbnQgKyBtZXRyaWNzLmZEZXNjZW50
ICsgbWV0cmljcy5mTGVhZGluZzsKLSAgICAgICAgbV9hc2NlbnQgPSBTa1NjYWxhclJvdW5kKC1t
ZXRyaWNzLmZBc2NlbnQpOwotICAgICAgICBtX2Rlc2NlbnQgPSBTa1NjYWxhclJvdW5kKGhlaWdo
dCkgLSBtX2FzY2VudDsKKyAgICAgICAgYXNjZW50ID0gU2tTY2FsYXJUb0Zsb2F0KC1tZXRyaWNz
LmZBc2NlbnQpOworICAgICAgICBkZXNjZW50ID0gU2tTY2FsYXJUb0Zsb2F0KGhlaWdodCkgLSBh
c2NlbnQ7CiAgICAgfQogCisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAg
ICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoZGVzY2VudCk7CisKKyAgICBmbG9hdCB4SGVpZ2h0
OwogICAgIGlmIChtZXRyaWNzLmZYSGVpZ2h0KQotICAgICAgICBtX3hIZWlnaHQgPSBtZXRyaWNz
LmZYSGVpZ2h0OworICAgICAgICB4SGVpZ2h0ID0gbWV0cmljcy5mWEhlaWdodDsKICAgICBlbHNl
IHsKICAgICAgICAgLy8gaGFjayB0YWtlbiBmcm9tIHRoZSBXaW5kb3dzIHBvcnQKLSAgICAgICAg
bV94SGVpZ2h0ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1fYXNjZW50KSAqIDAuNTY7CisgICAgICAg
IHhIZWlnaHQgPSBhc2NlbnQgKiAwLjU2ZjsKICAgICB9CiAKLSAgICBtX2xpbmVHYXAgPSBTa1Nj
YWxhclJvdW5kKG1ldHJpY3MuZkxlYWRpbmcpOwotICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2Vu
dCArIG1fZGVzY2VudCArIG1fbGluZUdhcDsKKyAgICBmbG9hdCBsaW5lR2FwID0gU2tTY2FsYXJU
b0Zsb2F0KG1ldHJpY3MuZkxlYWRpbmcpOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChs
aW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGFzY2VudCArIGRlc2Nl
bnQgKyBsaW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQoeEhlaWdodCk7CiAK
ICAgICBpZiAobV9vcmllbnRhdGlvbiA9PSBWZXJ0aWNhbCkgewogICAgICAgICBzdGF0aWMgY29u
c3QgdWludDMyX3QgdmhlYVRhZyA9IFNrU2V0Rm91ckJ5dGVUYWcoJ3YnLCAnaCcsICdlJywgJ2En
KTsKQEAgLTEyOCw3ICsxMzMsNyBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQo
KQogICAgIGlmIChtZXRyaWNzLmZBdmdDaGFyV2lkdGgpCiAgICAgICAgIG1fYXZnQ2hhcldpZHRo
ID0gU2tTY2FsYXJSb3VuZChtZXRyaWNzLmZBdmdDaGFyV2lkdGgpOwogICAgIGVsc2UgewotICAg
ICAgICBtX2F2Z0NoYXJXaWR0aCA9IG1feEhlaWdodDsKKyAgICAgICAgbV9hdmdDaGFyV2lkdGgg
PSB4SGVpZ2h0OwogCiAgICAgICAgIEdseXBoUGFnZSogZ2x5cGhQYWdlWmVybyA9IEdseXBoUGFn
ZVRyZWVOb2RlOjpnZXRSb290Q2hpbGQodGhpcywgMCktPnBhZ2UoKTsKIApJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9VbmlzY3JpYmVIZWxwZXJUZXh0UnVuLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1VuaXNjcmli
ZUhlbHBlclRleHRSdW4uY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vVW5pc2NyaWJlSGVscGVyVGV4dFJ1bi5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTUwLDcgKzUwLDcgQEAgVW5pc2NyaWJlSGVscGVyVGV4dFJ1bjo6VW5pc2NyaWJlSGVs
cGVyVAogICAgIHNldExldHRlclNwYWNpbmcoZm9udC5sZXR0ZXJTcGFjaW5nKCkpOwogICAgIHNl
dFNwYWNlV2lkdGgoZm9udC5zcGFjZVdpZHRoKCkpOwogICAgIHNldFdvcmRTcGFjaW5nKGZvbnQu
d29yZFNwYWNpbmcoKSk7Ci0gICAgc2V0QXNjZW50KGZvbnQucHJpbWFyeUZvbnQoKS0+YXNjZW50
KCkpOworICAgIHNldEFzY2VudChmb250LmZvbnRNZXRyaWNzKCktPmFzY2VudCgpKTsKIAogICAg
IGluaXQoKTsKIApAQCAtMTIwLDcgKzEyMCw3IEBAIGJvb2wgVW5pc2NyaWJlSGVscGVyVGV4dFJ1
bjo6bmV4dFdpbkZvbnQKICAgICAgICAgbV9oZm9udHMuYXBwZW5kKHNpbXBsZUZvbnREYXRhLT5w
bGF0Zm9ybURhdGEoKS5oZm9udCgpKTsKICAgICAgICAgbV9zY3JpcHRDYWNoZXMuYXBwZW5kKHNp
bXBsZUZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5zY3JpcHRDYWNoZSgpKTsKICAgICAgICAgbV9m
b250UHJvcGVydGllcy5hcHBlbmQoc2ltcGxlRm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLnNjcmlw
dEZvbnRQcm9wZXJ0aWVzKCkpOwotICAgICAgICBtX2FzY2VudHMuYXBwZW5kKHNpbXBsZUZvbnRE
YXRhLT5hc2NlbnQoKSk7CisgICAgICAgIG1fYXNjZW50cy5hcHBlbmQoc2ltcGxlRm9udERhdGEt
PmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwogICAgIH0KIAogICAgICpoZm9udCA9IG1faGZvbnRz
W21fZm9udEluZGV4IC0gMV07CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0
eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFGcmVlVHlwZS5jcHAJKHJldmlz
aW9uIDc0NjgzKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1wbGVG
b250RGF0YUZyZWVUeXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsMjEgKzUwLDI3IEBAIHZv
aWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgY2Fpcm9fZm9udF9leHRlbnRz
X3QgZm9udF9leHRlbnRzOwogICAgIGNhaXJvX3RleHRfZXh0ZW50c190IHRleHRfZXh0ZW50czsK
ICAgICBjYWlyb19zY2FsZWRfZm9udF9leHRlbnRzKG1fcGxhdGZvcm1EYXRhLnNjYWxlZEZvbnQo
KSwgJmZvbnRfZXh0ZW50cyk7Ci0gICAgbV9hc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KGxyb3Vu
ZGYoZm9udF9leHRlbnRzLmFzY2VudCkpOwotICAgIG1fZGVzY2VudCA9IHN0YXRpY19jYXN0PGlu
dD4obHJvdW5kZihmb250X2V4dGVudHMuZGVzY2VudCkpOwotICAgIG1fbGluZVNwYWNpbmcgPSBz
dGF0aWNfY2FzdDxpbnQ+KGxyb3VuZGYoZm9udF9leHRlbnRzLmhlaWdodCkpOworCisgICAgbV9m
b250TWV0cmljcy5zZXRBc2NlbnQoZm9udF9leHRlbnRzLmFzY2VudCk7CisgICAgbV9mb250TWV0
cmljcy5zZXREZXNjZW50KGZvbnRfZXh0ZW50cy5kZXNjZW50KTsKKwogICAgIC8vIFRoZXJlIHNl
ZW1zIHRvIGJlIHNvbWUgcm91bmRpbmcgZXJyb3IgaW4gY2Fpcm8gKG9yIGluIGhvdyB3ZQogICAg
IC8vIHVzZSBjYWlybykgd2l0aCBzb21lIGZvbnRzLCBsaWtlIERlamFWdSBTYW5zIE1vbm8sIHdo
aWNoIG1ha2VzCiAgICAgLy8gY2Fpcm8gcmVwb3J0IGEgaGVpZ2h0IHNtYWxsZXIgdGhhbiBhc2Nl
bnQgKyBkZXNjZW50LCB3aGljaCBpcwogICAgIC8vIHdyb25nIGFuZCBjb25mdXNlcyBXZWJDb3Jl
J3MgbGF5b3V0IHN5c3RlbS4gV29ya2Fyb3VuZCB0aGlzCiAgICAgLy8gd2hpbGUgd2UgZmlndXJl
IG91dCB3aGF0J3MgZ29pbmcgb24uCi0gICAgaWYgKG1fbGluZVNwYWNpbmcgPCBtX2FzY2VudCAr
IG1fZGVzY2VudCkKLSAgICAgICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50
OworICAgIGZsb2F0IGxpbmVTcGFjaW5nID0gZm9udF9leHRlbnRzLmhlaWdodDsKKyAgICBpZiAo
bGluZVNwYWNpbmcgPCBmb250X2V4dGVudHMuYXNjZW50ICsgZm9udF9leHRlbnRzLmRlc2NlbnQp
CisgICAgICAgIGxpbmVTcGFjaW5nID0gZm9udF9leHRlbnRzLmFzY2VudCArIGZvbnRfZXh0ZW50
cy5kZXNjZW50OworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcobGluZVNwYWNpbmcp
OworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChsaW5lU3BhY2luZyAtIGZvbnRfZXh0ZW50
cy5hc2NlbnQgLSBmb250X2V4dGVudHMuZGVzY2VudCk7CisKICAgICBjYWlyb19zY2FsZWRfZm9u
dF90ZXh0X2V4dGVudHMobV9wbGF0Zm9ybURhdGEuc2NhbGVkRm9udCgpLCAieCIsICZ0ZXh0X2V4
dGVudHMpOwotICAgIG1feEhlaWdodCA9IHRleHRfZXh0ZW50cy5oZWlnaHQ7CisgICAgbV9mb250
TWV0cmljcy5zZXRYSGVpZ2h0KHRleHRfZXh0ZW50cy5oZWlnaHQpOworCiAgICAgY2Fpcm9fc2Nh
bGVkX2ZvbnRfdGV4dF9leHRlbnRzKG1fcGxhdGZvcm1EYXRhLnNjYWxlZEZvbnQoKSwgIiAiLCAm
dGV4dF9leHRlbnRzKTsKICAgICBtX3NwYWNlV2lkdGggPSBzdGF0aWNfY2FzdDxmbG9hdD4odGV4
dF9leHRlbnRzLnhfYWR2YW5jZSk7Ci0gICAgbV9saW5lR2FwID0gbV9saW5lU3BhY2luZyAtIG1f
YXNjZW50IC0gbV9kZXNjZW50OworICAgIAogICAgIG1fc3ludGhldGljQm9sZE9mZnNldCA9IG1f
cGxhdGZvcm1EYXRhLnN5bnRoZXRpY0JvbGQoKSA/IDEuMGYgOiAwLmY7CiB9CiAKSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvU2ltcGxlRm9udERhdGFIYWlrdS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9TaW1wbGVGb250RGF0
YUhhaWt1LmNwcAkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2hhaWt1L1NpbXBsZUZvbnREYXRhSGFpa3UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCwxMSAr
NDgsMTEgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKIAogICAgIGZvbnRf
aGVpZ2h0IGhlaWdodDsKICAgICBmb250LT5HZXRIZWlnaHQoJmhlaWdodCk7Ci0gICAgbV9hc2Nl
bnQgPSBzdGF0aWNfY2FzdDxpbnQ+KGhlaWdodC5hc2NlbnQpOwotICAgIG1fZGVzY2VudCA9IHN0
YXRpY19jYXN0PGludD4oaGVpZ2h0LmRlc2NlbnQpOwotICAgIG1fbGluZVNwYWNpbmcgPSBtX2Fz
Y2VudCArIG1fZGVzY2VudDsKLSAgICBtX3hIZWlnaHQgPSBoZWlnaHQuYXNjZW50ICogMC41NmY7
IC8vIEhhY2sgdGFrZW4gZnJvbSB0aGUgd2luIHBvcnQuCi0gICAgbV9saW5lR2FwID0gaGVpZ2h0
LmxlYWRpbmc7CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoaGVpZ2h0LmFzY2VudCk7Cisg
ICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGhlaWdodC5kZXNjZW50KTsKKyAgICBtX2ZvbnRN
ZXRyaWNzLnNldExpbmVTcGFjaW5nKGhlaWdodC5hc2NlbnQgKyBoZWlnaHQuZGVzY2VudCk7Cisg
ICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KGhlaWdodC5hc2NlbnQgKiAwLjU2Zik7IC8vIEhh
Y2sgdGFrZW4gZnJvbSB0aGUgd2luIHBvcnQuCisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2Fw
KGhlaWdodC5sZWFkaW5nKTsKIH0KIAogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1DaGFy
V2lkdGhJbml0KCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21w
bGV4VGV4dE1hYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvRm9udENvbXBsZXhUZXh0TWFjLmNwcAkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q29tcGxleFRleHRNYWMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTAsOCArMTEwLDggQEAgZmxvYXQgRm9udDo6ZmxvYXRXaWR0aEZvckNvbXBsZXhUZXh0
KGNvbgogewogICAgIENvbXBsZXhUZXh0Q29udHJvbGxlciBjb250cm9sbGVyKHRoaXMsIHJ1biwg
dHJ1ZSwgZmFsbGJhY2tGb250cyk7CiAgICAgaWYgKGdseXBoT3ZlcmZsb3cpIHsKLSAgICAgICAg
Z2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4PGludD4oZ2x5cGhPdmVyZmxvdy0+dG9wLCBjZWlsZigt
Y29udHJvbGxlci5taW5HbHlwaEJvdW5kaW5nQm94WSgpKSAtIGFzY2VudCgpKTsKLSAgICAgICAg
Z2x5cGhPdmVyZmxvdy0+Ym90dG9tID0gbWF4PGludD4oZ2x5cGhPdmVyZmxvdy0+Ym90dG9tLCBj
ZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91bmRpbmdCb3hZKCkpIC0gZGVzY2VudCgpKTsKKyAg
ICAgICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4PGludD4oZ2x5cGhPdmVyZmxvdy0+dG9wLCBj
ZWlsZigtY29udHJvbGxlci5taW5HbHlwaEJvdW5kaW5nQm94WSgpKSAtIGZvbnRNZXRyaWNzKCku
YXNjZW50KCkpOworICAgICAgICBnbHlwaE92ZXJmbG93LT5ib3R0b20gPSBtYXg8aW50PihnbHlw
aE92ZXJmbG93LT5ib3R0b20sIGNlaWxmKGNvbnRyb2xsZXIubWF4R2x5cGhCb3VuZGluZ0JveFko
KSkgLSBmb250TWV0cmljcygpLmRlc2NlbnQoKSk7CiAgICAgICAgIGdseXBoT3ZlcmZsb3ctPmxl
ZnQgPSBtYXg8aW50PigwLCBjZWlsZigtY29udHJvbGxlci5taW5HbHlwaEJvdW5kaW5nQm94WCgp
KSk7CiAgICAgICAgIGdseXBoT3ZlcmZsb3ctPnJpZ2h0ID0gbWF4PGludD4oMCwgY2VpbGYoY29u
dHJvbGxlci5tYXhHbHlwaEJvdW5kaW5nQm94WCgpIC0gY29udHJvbGxlci50b3RhbFdpZHRoKCkp
KTsKICAgICB9CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0J
KHJldmlzaW9uIDc0NjgzKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udE1h
Yy5tbQkod29ya2luZyBjb3B5KQpAQCAtNjAsOCArNjAsOCBAQCBzdGF0aWMgdm9pZCBzaG93R2x5
cGhzV2l0aEFkdmFuY2VzKGNvbnN0CiAgICAgICAgICAgICBzYXZlZE1hdHJpeCA9IENHQ29udGV4
dEdldFRleHRNYXRyaXgoY29udGV4dCk7CiAgICAgICAgICAgICBDR0FmZmluZVRyYW5zZm9ybSBy
dW5NYXRyaXggPSBDR0FmZmluZVRyYW5zZm9ybUNvbmNhdChzYXZlZE1hdHJpeCwgcm90YXRlTGVm
dFRyYW5zZm9ybSk7CiAgICAgICAgICAgICAvLyBNb3ZlIHN0YXJ0IHBvaW50IHRvIHB1dCBnbHlw
aHMgaW50byBvcmlnaW5hbCByZWdpb24uCi0gICAgICAgICAgICBydW5NYXRyaXgudHggPSBzYXZl
ZE1hdHJpeC50eCArIGZvbnQtPmFzY2VudCgpOwotICAgICAgICAgICAgcnVuTWF0cml4LnR5ID0g
c2F2ZWRNYXRyaXgudHkgKyBmb250LT5kZXNjZW50KCk7CisgICAgICAgICAgICBydW5NYXRyaXgu
dHggPSBzYXZlZE1hdHJpeC50eCArIGZvbnQtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCk7CisgICAg
ICAgICAgICBydW5NYXRyaXgudHkgPSBzYXZlZE1hdHJpeC50eSArIGZvbnQtPmZvbnRNZXRyaWNz
KCkuZGVzY2VudCgpOwogICAgICAgICAgICAgQ0dDb250ZXh0U2V0VGV4dE1hdHJpeChjb250ZXh0
LCBydW5NYXRyaXgpOwogICAgICAgICB9CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tCShyZXZpc2lvbiA3NDY4MykKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMTgsMTkgKzIxOCwyMCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0
Zm9ybUluaXQoKQogICAgIGludCBpQXNjZW50OwogICAgIGludCBpRGVzY2VudDsKICAgICBpbnQg
aUxpbmVHYXA7CisgICAgdW5zaWduZWQgdW5pdHNQZXJFbTsKICNpZmRlZiBCVUlMRElOR19PTl9U
SUdFUgotICAgIHdrR2V0Rm9udE1ldHJpY3MobV9wbGF0Zm9ybURhdGEuY2dGb250KCksICZpQXNj
ZW50LCAmaURlc2NlbnQsICZpTGluZUdhcCwgJm1fdW5pdHNQZXJFbSk7CisgICAgd2tHZXRGb250
TWV0cmljcyhtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSwgJmlBc2NlbnQsICZpRGVzY2VudCwgJmlM
aW5lR2FwLCAmdW5pdHNQZXJFbSk7CiAjZWxzZQogICAgIGlBc2NlbnQgPSBDR0ZvbnRHZXRBc2Nl
bnQobV9wbGF0Zm9ybURhdGEuY2dGb250KCkpOwogICAgIGlEZXNjZW50ID0gQ0dGb250R2V0RGVz
Y2VudChtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSk7CiAgICAgaUxpbmVHYXAgPSBDR0ZvbnRHZXRM
ZWFkaW5nKG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpKTsKLSAgICBtX3VuaXRzUGVyRW0gPSBDR0Zv
bnRHZXRVbml0c1BlckVtKG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpKTsKKyAgICB1bml0c1BlckVt
ID0gQ0dGb250R2V0VW5pdHNQZXJFbShtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSk7CiAjZW5kaWYK
IAogICAgIGZsb2F0IHBvaW50U2l6ZSA9IG1fcGxhdGZvcm1EYXRhLm1fc2l6ZTsKLSAgICBmbG9h
dCBmQXNjZW50ID0gc2NhbGVFbVRvVW5pdHMoaUFzY2VudCwgbV91bml0c1BlckVtKSAqIHBvaW50
U2l6ZTsKLSAgICBmbG9hdCBmRGVzY2VudCA9IC1zY2FsZUVtVG9Vbml0cyhpRGVzY2VudCwgbV91
bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKLSAgICBmbG9hdCBmTGluZUdhcCA9IHNjYWxlRW1Ub1Vu
aXRzKGlMaW5lR2FwLCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXplOworICAgIGZsb2F0IGFzY2Vu
dCA9IHNjYWxlRW1Ub1VuaXRzKGlBc2NlbnQsIHVuaXRzUGVyRW0pICogcG9pbnRTaXplOworICAg
IGZsb2F0IGRlc2NlbnQgPSAtc2NhbGVFbVRvVW5pdHMoaURlc2NlbnQsIHVuaXRzUGVyRW0pICog
cG9pbnRTaXplOworICAgIGZsb2F0IGxpbmVHYXAgPSBzY2FsZUVtVG9Vbml0cyhpTGluZUdhcCwg
dW5pdHNQZXJFbSkgKiBwb2ludFNpemU7CiAKICAgICAvLyBXZSBuZWVkIHRvIGFkanVzdCBUaW1l
cywgSGVsdmV0aWNhLCBhbmQgQ291cmllciB0byBjbG9zZWx5IG1hdGNoIHRoZQogICAgIC8vIHZl
cnRpY2FsIG1ldHJpY3Mgb2YgdGhlaXIgTWljcm9zb2Z0IGNvdW50ZXJwYXJ0cyB0aGF0IGFyZSB0
aGUgZGUgZmFjdG8KQEAgLTIzOSwyNSArMjQwLDIwIEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBs
YXRmb3JtSW5pdCgpCiAgICAgLy8gYW5kIGFkZCBpdCB0byB0aGUgYXNjZW50LgogICAgIE5TU3Ry
aW5nICpmYW1pbHlOYW1lID0gW21fcGxhdGZvcm1EYXRhLmZvbnQoKSBmYW1pbHlOYW1lXTsKICAg
ICBpZiAoW2ZhbWlseU5hbWUgaXNFcXVhbFRvU3RyaW5nOkAiVGltZXMiXSB8fCBbZmFtaWx5TmFt
ZSBpc0VxdWFsVG9TdHJpbmc6QCJIZWx2ZXRpY2EiXSB8fCBbZmFtaWx5TmFtZSBpc0VxdWFsVG9T
dHJpbmc6QCJDb3VyaWVyIl0pCi0gICAgICAgIGZBc2NlbnQgKz0gZmxvb3JmKCgoZkFzY2VudCAr
IGZEZXNjZW50KSAqIDAuMTVmKSArIDAuNWYpOworICAgICAgICBhc2NlbnQgKz0gZmxvb3JmKCgo
YXNjZW50ICsgZGVzY2VudCkgKiAwLjE1ZikgKyAwLjVmKTsKICAgICBlbHNlIGlmIChbZmFtaWx5
TmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJHZWV6YSBQcm8iXSkgewogICAgICAgICAvLyBHZWV6YSBQ
cm8gaGFzIGdseXBocyB0aGF0IGRyYXcgc2xpZ2h0bHkgYWJvdmUgdGhlIGFzY2VudCBvciBmYXIg
YmVsb3cgdGhlIGRlc2NlbnQuIEFkanVzdAogICAgICAgICAvLyB0aG9zZSB2ZXJ0aWNhbCBtZXRy
aWNzIHRvIGJldHRlciBtYXRjaCByZWFsaXR5LCBzbyB0aGF0IGRpYWNyaXRpY3MgYXQgdGhlIGJv
dHRvbSBvZiBvbmUgbGluZQogICAgICAgICAvLyBkbyBub3Qgb3ZlcmxhcCBkaWFjcml0aWNzIGF0
IHRoZSB0b3Agb2YgdGhlIG5leHQgbGluZS4KLSAgICAgICAgZkFzY2VudCAqPSAxLjA4ZjsKLSAg
ICAgICAgZkRlc2NlbnQgKj0gMi5mOworICAgICAgICBhc2NlbnQgKj0gMS4wOGY7CisgICAgICAg
IGRlc2NlbnQgKj0gMi5mOwogICAgIH0KIAotICAgIG1fYXNjZW50ID0gbHJvdW5kZihmQXNjZW50
KTsKLSAgICBtX2Rlc2NlbnQgPSBscm91bmRmKGZEZXNjZW50KTsKLSAgICBtX2xpbmVHYXAgPSBs
cm91bmRmKGZMaW5lR2FwKTsKLSAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rlc2Nl
bnQgKyBtX2xpbmVHYXA7Ci0gICAgCiAgICAgLy8gSGFjayBIaXJhZ2lubyBsaW5lIG1ldHJpY3Mg
dG8gYWxsb3cgcm9vbSBmb3IgbWFya2VkIHRleHQgdW5kZXJsaW5lcy4KICAgICAvLyA8cmRhcjov
L3Byb2JsZW0vNTM4NjE4Mz4KLSAgICBpZiAobV9kZXNjZW50IDwgMyAmJiBtX2xpbmVHYXAgPj0g
MyAmJiBbZmFtaWx5TmFtZSBoYXNQcmVmaXg6QCJIaXJhZ2lubyJdKSB7Ci0gICAgICAgIG1fbGlu
ZUdhcCAtPSAzIC0gbV9kZXNjZW50OwotICAgICAgICBtX2Rlc2NlbnQgPSAzOworICAgIGlmIChk
ZXNjZW50IDwgMyAmJiBsaW5lR2FwID49IDMgJiYgW2ZhbWlseU5hbWUgaGFzUHJlZml4OkAiSGly
YWdpbm8iXSkgeworICAgICAgICBsaW5lR2FwIC09IDMgLSBkZXNjZW50OworICAgICAgICBkZXNj
ZW50ID0gMzsKICAgICB9CiAgICAgCiAgICAgaWYgKG1fb3JpZW50YXRpb24gPT0gVmVydGljYWwp
IHsKQEAgLTI3OCw2ICsyNzQsOCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQo
KQogICAgICAgICAgICAgbV9vcmllbnRhdGlvbiA9IEhvcml6b250YWw7CiAgICAgfQogCisgICAg
ZmxvYXQgeEhlaWdodDsKKwogICAgIC8vIE1lYXN1cmUgdGhlIGFjdHVhbCBjaGFyYWN0ZXIgIngi
LCBiZWNhdXNlIEFwcEtpdCBzeW50aGVzaXplcyBYIGhlaWdodCByYXRoZXIgdGhhbiBnZXR0aW5n
IGl0IGZyb20gdGhlIGZvbnQuCiAgICAgLy8gVW5mb3J0dW5hdGVseSwgTlNGb250IHdpbGwgcm91
bmQgdGhpcyBmb3IgdXMgc28gd2UgZG9uJ3QgcXVpdGUgZ2V0IHRoZSByaWdodCB2YWx1ZS4KICAg
ICBHbHlwaFBhZ2UqIGdseXBoUGFnZVplcm8gPSBHbHlwaFBhZ2VUcmVlTm9kZTo6Z2V0Um9vdENo
aWxkKHRoaXMsIDApLT5wYWdlKCk7CkBAIC0yODgsMjEgKzI4NiwyOCBAQCB2b2lkIFNpbXBsZUZv
bnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgICAgICAvLyBhbmQgd2ViIHBhZ2VzIHRoYXQgZm9v
bGlzaGx5IHVzZSB0aGlzIG1ldHJpYyBmb3Igd2lkdGggd2lsbCBiZSBsYWlkIG91dAogICAgICAg
ICAvLyBwb29ybHkgaWYgd2UgcmV0dXJuIGFuIGFjY3VyYXRlIGhlaWdodC4gQ2xhc3NpYyBjYXNl
IGlzIFRpbWVzIDEzIHBvaW50LAogICAgICAgICAvLyB3aGljaCBoYXMgYW4gIngiIHRoYXQgaXMg
N3g2IHBpeGVscy4KLSAgICAgICAgbV94SGVpZ2h0ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1heChD
R1JlY3RHZXRNYXhYKHhCb3gpLCAtQ0dSZWN0R2V0TWluWSh4Qm94KSkpOworICAgICAgICB4SGVp
Z2h0ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1heChDR1JlY3RHZXRNYXhYKHhCb3gpLCAtQ0dSZWN0
R2V0TWluWSh4Qm94KSkpOwogICAgIH0gZWxzZSB7CiAjaWZuZGVmIEJVSUxESU5HX09OX1RJR0VS
Ci0gICAgICAgIG1feEhlaWdodCA9IHN0YXRpY19jYXN0PGZsb2F0PihDR0ZvbnRHZXRYSGVpZ2h0
KG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpKSkgLyBtX3VuaXRzUGVyRW07CisgICAgICAgIHhIZWln
aHQgPSBzdGF0aWNfY2FzdDxmbG9hdD4oQ0dGb250R2V0WEhlaWdodChtX3BsYXRmb3JtRGF0YS5j
Z0ZvbnQoKSkpIC8gdW5pdHNQZXJFbTsKICNlbHNlCi0gICAgICAgIG1feEhlaWdodCA9IG1fcGxh
dGZvcm1EYXRhLmZvbnQoKSA/IFttX3BsYXRmb3JtRGF0YS5mb250KCkgeEhlaWdodF0gOiAwOwor
ICAgICAgICB4SGVpZ2h0ID0gbV9wbGF0Zm9ybURhdGEuZm9udCgpID8gW21fcGxhdGZvcm1EYXRh
LmZvbnQoKSB4SGVpZ2h0XSA6IDA7CiAjZW5kaWYKICAgICAgICAgLy8gQ0dGb250R2V0WEhlaWdo
dCgpIHJldHVybnMgYSB3cm9uZyB2YWx1ZSBmb3IgIkFwcGxlIFN5bWJvbHMiIGZvbnQgKGEgZmxv
YXQgY2xvc2UgdG8gMCwgYnV0IG5vdCBzdHJpY3RseSAwKS4KLSAgICAgICAgLy8gVGhlIGZvbGxv
d2luZyBjb2RlIG1ha2VzIGEgZ3Vlc3MgZm9yIG1feEhlaWdodCBpbiB0aGF0IGNhc2UuCisgICAg
ICAgIC8vIFRoZSBmb2xsb3dpbmcgY29kZSBtYWtlcyBhIGd1ZXNzIGZvciB4SGVpZ2h0IGluIHRo
YXQgY2FzZS4KICAgICAgICAgLy8gVGhlIGludCBjYXN0IGlzIGEgd29ya2Fyb3VuZCBmb3IgdGhl
ICJhbG1vc3QiIHplcm8gdmFsdWUgcmV0dXJuZWQgYnkgQ0dGb250R2V0WEhlaWdodCgpLgotICAg
ICAgICBpZiAoIXN0YXRpY19jYXN0PGludD4obV94SGVpZ2h0KSAmJiBmQXNjZW50KQotICAgICAg
ICAgICAgbV94SGVpZ2h0ID0gMiAqIGZBc2NlbnQgLyAzOworICAgICAgICBpZiAoIXN0YXRpY19j
YXN0PGludD4oeEhlaWdodCkgJiYgYXNjZW50KQorICAgICAgICAgICAgeEhlaWdodCA9IDIgKiBh
c2NlbnQgLyAzOwogICAgIH0KKworICAgIG1fZm9udE1ldHJpY3Muc2V0VW5pdHNQZXJFbSh1bml0
c1BlckVtKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChhc2NlbnQpOworICAgIG1fZm9u
dE1ldHJpY3Muc2V0RGVzY2VudChkZXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVH
YXAobGluZUdhcCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhhc2NlbnQgKyBk
ZXNjZW50ICsgbGluZUdhcCk7CisgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHhIZWlnaHQp
OwogfQotICAgIAorCiBzdGF0aWMgQ0ZEYXRhUmVmIGNvcHlGb250VGFibGVGb3JUYWcoRm9udFBs
YXRmb3JtRGF0YSYgcGxhdGZvcm1EYXRhLCBGb3VyQ2hhckNvZGUgdGFibGVOYW1lKQogewogI2lm
ZGVmIEJVSUxESU5HX09OX1RJR0VSCkBAIC0zMzcsNyArMzQyLDcgQEAgdm9pZCBTaW1wbGVGb250
RGF0YTo6cGxhdGZvcm1DaGFyV2lkdGhJbgogICAgIGlmIChvczJUYWJsZSAmJiBDRkRhdGFHZXRM
ZW5ndGgob3MyVGFibGUuZ2V0KCkpID49IDQpIHsKICAgICAgICAgY29uc3QgVUludDgqIG9zMiA9
IENGRGF0YUdldEJ5dGVQdHIob3MyVGFibGUuZ2V0KCkpOwogICAgICAgICBTSW50MTYgb3MyQXZn
Q2hhcldpZHRoID0gb3MyWzJdICogMjU2ICsgb3MyWzNdOwotICAgICAgICBtX2F2Z0NoYXJXaWR0
aCA9IHNjYWxlRW1Ub1VuaXRzKG9zMkF2Z0NoYXJXaWR0aCwgbV91bml0c1BlckVtKSAqIG1fcGxh
dGZvcm1EYXRhLm1fc2l6ZTsKKyAgICAgICAgbV9hdmdDaGFyV2lkdGggPSBzY2FsZUVtVG9Vbml0
cyhvczJBdmdDaGFyV2lkdGgsIG1fZm9udE1ldHJpY3MudW5pdHNQZXJFbSgpKSAqIG1fcGxhdGZv
cm1EYXRhLm1fc2l6ZTsKICAgICB9CiAKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBoZWFkVGFi
bGUoQWRvcHRDRiwgY29weUZvbnRUYWJsZUZvclRhZyhtX3BsYXRmb3JtRGF0YSwgJ2hlYWQnKSk7
CkBAIC0zNDgsNyArMzUzLDcgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1DaGFyV2lk
dGhJbgogICAgICAgICBTSW50MTYgeE1pbiA9IHN0YXRpY19jYXN0PFNJbnQxNj4odXhNaW4pOwog
ICAgICAgICBTSW50MTYgeE1heCA9IHN0YXRpY19jYXN0PFNJbnQxNj4odXhNYXgpOwogICAgICAg
ICBmbG9hdCBkaWZmID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHhNYXggLSB4TWluKTsKLSAgICAgICAg
bV9tYXhDaGFyV2lkdGggPSBzY2FsZUVtVG9Vbml0cyhkaWZmLCBtX3VuaXRzUGVyRW0pICogbV9w
bGF0Zm9ybURhdGEubV9zaXplOworICAgICAgICBtX21heENoYXJXaWR0aCA9IHNjYWxlRW1Ub1Vu
aXRzKGRpZmYsIG1fZm9udE1ldHJpY3MudW5pdHNQZXJFbSgpKSAqIG1fcGxhdGZvcm1EYXRhLm1f
c2l6ZTsKICAgICB9CiAKICAgICAvLyBGYWxsYmFjayB0byBhIGNyb3NzLXBsYXRmb3JtIGVzdGlt
YXRlLCB3aGljaCB3aWxsIHBvcHVsYXRlIHRoZXNlIHZhbHVlcyBpZiB0aGV5IGFyZSBub24tcG9z
aXRpdmUuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1NpbXBsZUZvbnRE
YXRhUGFuZ28uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcGFu
Z28vU2ltcGxlRm9udERhdGFQYW5nby5jcHAJKHJldmlzaW9uIDc0NjgzKQorKysgV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9wYW5nby9TaW1wbGVGb250RGF0YVBhbmdvLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDksMjEgKzQ5LDI3IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5p
dCgpCiAgICAgY2Fpcm9fZm9udF9leHRlbnRzX3QgZm9udF9leHRlbnRzOwogICAgIGNhaXJvX3Rl
eHRfZXh0ZW50c190IHRleHRfZXh0ZW50czsKICAgICBjYWlyb19zY2FsZWRfZm9udF9leHRlbnRz
KG1fcGxhdGZvcm1EYXRhLm1fc2NhbGVkRm9udCwgJmZvbnRfZXh0ZW50cyk7Ci0gICAgbV9hc2Nl
bnQgPSBzdGF0aWNfY2FzdDxpbnQ+KGxyb3VuZGYoZm9udF9leHRlbnRzLmFzY2VudCkpOwotICAg
IG1fZGVzY2VudCA9IHN0YXRpY19jYXN0PGludD4obHJvdW5kZihmb250X2V4dGVudHMuZGVzY2Vu
dCkpOwotICAgIG1fbGluZVNwYWNpbmcgPSBzdGF0aWNfY2FzdDxpbnQ+KGxyb3VuZGYoZm9udF9l
eHRlbnRzLmhlaWdodCkpOworCisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoZm9udF9leHRl
bnRzLmFzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGZvbnRfZXh0ZW50cy5k
ZXNjZW50KTsKKwogICAgIC8vIFRoZXJlIHNlZW1zIHRvIGJlIHNvbWUgcm91bmRpbmcgZXJyb3Ig
aW4gY2Fpcm8gKG9yIGluIGhvdyB3ZQogICAgIC8vIHVzZSBjYWlybykgd2l0aCBzb21lIGZvbnRz
LCBsaWtlIERlamFWdSBTYW5zIE1vbm8sIHdoaWNoIG1ha2VzCiAgICAgLy8gY2Fpcm8gcmVwb3J0
IGEgaGVpZ2h0IHNtYWxsZXIgdGhhbiBhc2NlbnQgKyBkZXNjZW50LCB3aGljaCBpcwogICAgIC8v
IHdyb25nIGFuZCBjb25mdXNlcyBXZWJDb3JlJ3MgbGF5b3V0IHN5c3RlbS4gV29ya2Fyb3VuZCB0
aGlzCiAgICAgLy8gd2hpbGUgd2UgZmlndXJlIG91dCB3aGF0J3MgZ29pbmcgb24uCi0gICAgaWYg
KG1fbGluZVNwYWNpbmcgPCBtX2FzY2VudCArIG1fZGVzY2VudCkKLSAgICAgICAgbV9saW5lU3Bh
Y2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50OworICAgIGZsb2F0IGxpbmVTcGFjaW5nID0gZm9u
dF9leHRlbnRzLmhlaWdodDsKKyAgICBpZiAobGluZVNwYWNpbmcgPCBmb250X2V4dGVudHMuYXNj
ZW50ICsgZm9udF9leHRlbnRzLmRlc2NlbnQpCisgICAgICAgIGxpbmVTcGFjaW5nID0gZm9udF9l
eHRlbnRzLmFzY2VudCArIGZvbnRfZXh0ZW50cy5kZXNjZW50OworICAgIG1fZm9udE1ldHJpY3Mu
c2V0TGluZVNwYWNpbmcobGluZVNwYWNpbmcpOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdh
cChsaW5lU3BhY2luZyAtIGZvbnRfZXh0ZW50cy5hc2NlbnQgLSBmb250X2V4dGVudHMuZGVzY2Vu
dCk7CisKICAgICBjYWlyb19zY2FsZWRfZm9udF90ZXh0X2V4dGVudHMobV9wbGF0Zm9ybURhdGEu
bV9zY2FsZWRGb250LCAieCIsICZ0ZXh0X2V4dGVudHMpOwotICAgIG1feEhlaWdodCA9IHRleHRf
ZXh0ZW50cy5oZWlnaHQ7CisgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHRleHRfZXh0ZW50
cy5oZWlnaHQpOworCiAgICAgY2Fpcm9fc2NhbGVkX2ZvbnRfdGV4dF9leHRlbnRzKG1fcGxhdGZv
cm1EYXRhLm1fc2NhbGVkRm9udCwgIiAiLCAmdGV4dF9leHRlbnRzKTsKLSAgICBtX3NwYWNlV2lk
dGggPSAgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHRleHRfZXh0ZW50cy54X2FkdmFuY2UpOwotICAgIG1f
bGluZUdhcCA9IG1fbGluZVNwYWNpbmcgLSBtX2FzY2VudCAtIG1fZGVzY2VudDsKKyAgICBtX3Nw
YWNlV2lkdGggPSBzdGF0aWNfY2FzdDxmbG9hdD4odGV4dF9leHRlbnRzLnhfYWR2YW5jZSk7Cisg
ICAgCiAgICAgbV9zeW50aGV0aWNCb2xkT2Zmc2V0ID0gbV9wbGF0Zm9ybURhdGEuc3ludGhldGlj
Qm9sZCgpID8gMS4wZiA6IDAuZjsKIH0KIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9xdC9TaW1wbGVGb250RGF0YVF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9udERhdGFRdC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJT
aW1wbGVGb250RGF0YS5oIgogCi0jaW5jbHVkZSA8UUZvbnRNZXRyaWNzPgorI2luY2x1ZGUgPFFG
b250TWV0cmljc0Y+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsMjUgKzQxLDIwIEBA
IGJvb2wgU2ltcGxlRm9udERhdGE6OmNvbnRhaW5zQ2hhcmFjdGVycygKIHZvaWQgU2ltcGxlRm9u
dERhdGE6OnBsYXRmb3JtSW5pdCgpCiB7CiAgICAgaWYgKCFtX3BsYXRmb3JtRGF0YS5zaXplKCkp
IHsKLSAgICAgICAgIG1fYXNjZW50ID0gMDsKLSAgICAgICAgIG1fZGVzY2VudCA9IDA7Ci0gICAg
ICAgICBtX2xpbmVHYXAgPSAwOwotICAgICAgICAgbV9saW5lU3BhY2luZyA9IDA7CisgICAgICAg
ICBtX2ZvbnRNZXRyaWNzLnJlc2V0KCk7CiAgICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9IDA7CiAg
ICAgICAgICBtX21heENoYXJXaWR0aCA9IDA7Ci0gICAgICAgICBtX3hIZWlnaHQgPSAwOwotICAg
ICAgICAgbV91bml0c1BlckVtID0gMDsKICAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBR
Rm9udE1ldHJpY3MgZm0obV9wbGF0Zm9ybURhdGEuZm9udCgpKTsKKyAgICBRRm9udE1ldHJpY3NG
IGZtKG1fcGxhdGZvcm1EYXRhLmZvbnQoKSk7CiAKLSAgICBtX2FzY2VudCA9IGZtLmFzY2VudCgp
OwotICAgIG1fZGVzY2VudCA9IGZtLmRlc2NlbnQoKTsKLSAgICBtX2xpbmVTcGFjaW5nID0gZm0u
bGluZVNwYWNpbmcoKTsKLSAgICBtX3hIZWlnaHQgPSBmbS54SGVpZ2h0KCk7CisgICAgbV9mb250
TWV0cmljcy5zZXRBc2NlbnQoZm0uYXNjZW50KCkpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVz
Y2VudChmbS5kZXNjZW50KCkpOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoZm0u
bGluZVNwYWNpbmcoKSk7CisgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KGZtLnhIZWlnaHQo
KSk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGZtLmxlYWRpbmcoKSk7CiAgICAgbV9z
cGFjZVdpZHRoID0gZm0ud2lkdGgoUUxhdGluMUNoYXIoJyAnKSk7Ci0gICAgbV9saW5lR2FwID0g
Zm0ubGVhZGluZygpOwogfQogCiB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUdseXBoSW5p
dCgpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q0dXaW4uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDR1dpbi5jcHAJ
KHJldmlzaW9uIDc0NjgzKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENH
V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY3LDggKzE2NywxMiBAQCBzdGF0aWMgdm9pZCBk
cmF3R0RJR2x5cGhzKEdyYXBoaWNzQ29udGV4CiAgICAgICAgIGRyYXdJbnRvQml0bWFwID0gdHJ1
ZTsKICAgICAgICAgLy8gV2UgcHV0IHNsb3AgaW50byB0aGlzIHJlY3QsIHNpbmNlIGdseXBocyBj
YW4gb3ZlcmZsb3cgdGhlIGFzY2VudC9kZXNjZW50IGJvdW5kcyBhbmQgdGhlIGxlZnQvcmlnaHQg
ZWRnZXMuCiAgICAgICAgIC8vIEZJWE1FOiBDYW4gZ2V0IGdseXBocycgb3B0aWNhbCBib3VuZHMg
KGV2ZW4gZnJvbSBDRykgdG8gZ2V0IHRoaXMgcmlnaHQuCi0gICAgICAgIGludCBsaW5lR2FwID0g
Zm9udC0+bGluZUdhcCgpOwotICAgICAgICB0ZXh0UmVjdCA9IEludFJlY3QocG9pbnQueCgpIC0g
KGZvbnQtPmFzY2VudCgpICsgZm9udC0+ZGVzY2VudCgpKSAvIDIsIHBvaW50LnkoKSAtIGZvbnQt
PmFzY2VudCgpIC0gbGluZUdhcCwgdG90YWxXaWR0aCArIGZvbnQtPmFzY2VudCgpICsgZm9udC0+
ZGVzY2VudCgpLCBmb250LT5saW5lU3BhY2luZygpKTsKKyAgICAgICAgY29uc3QgRm9udE1ldHJp
Y3MmIGZvbnRNZXRyaWNzID0gZm9udC0+Zm9udE1ldHJpY3MoKTsKKyAgICAgICAgaW50IGxpbmVH
YXAgPSBmb250TWV0cmljcy5saW5lR2FwKCk7CisgICAgICAgIHRleHRSZWN0ID0gSW50UmVjdChw
b2ludC54KCkgLSAoZm9udE1ldHJpY3MuYXNjZW50KCkgKyBmb250TWV0cmljcy5kZXNjZW50KCkp
IC8gMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50LnkoKSAtIGZvbnRNZXRyaWNz
LmFzY2VudCgpIC0gbGluZUdhcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsV2lk
dGggKyBmb250TWV0cmljcy5hc2NlbnQoKSArIGZvbnRNZXRyaWNzLmRlc2NlbnQoKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGZvbnRNZXRyaWNzLmxpbmVTcGFjaW5nKCkpOwogICAgICAg
ICBiaXRtYXAuc2V0KGdyYXBoaWNzQ29udGV4dC0+Y3JlYXRlV2luZG93c0JpdG1hcCh0ZXh0UmVj
dC5zaXplKCkpKTsKICAgICAgICAgbWVtc2V0KGJpdG1hcC0+YnVmZmVyKCksIDI1NSwgYml0bWFw
LT5idWZmZXJMZW5ndGgoKSk7CiAgICAgICAgIGhkYyA9IGJpdG1hcC0+aGRjKCk7CkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250V2luLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250V2luLmNwcAkocmV2aXNpb24gNzQ2ODMp
CisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250V2luLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTIxLDggKzEyMSw4IEBAIGZsb2F0IEZvbnQ6OmZsb2F0V2lkdGhGb3JDb21wbGV4
VGV4dChjb24KICAgICBVbmlzY3JpYmVDb250cm9sbGVyIGNvbnRyb2xsZXIodGhpcywgcnVuLCBm
YWxsYmFja0ZvbnRzKTsKICAgICBjb250cm9sbGVyLmFkdmFuY2UocnVuLmxlbmd0aCgpKTsKICAg
ICBpZiAoZ2x5cGhPdmVyZmxvdykgewotICAgICAgICBnbHlwaE92ZXJmbG93LT50b3AgPSBtYXg8
aW50PihnbHlwaE92ZXJmbG93LT50b3AsIGNlaWxmKC1jb250cm9sbGVyLm1pbkdseXBoQm91bmRp
bmdCb3hZKCkpIC0gYXNjZW50KCkpOwotICAgICAgICBnbHlwaE92ZXJmbG93LT5ib3R0b20gPSBt
YXg8aW50PihnbHlwaE92ZXJmbG93LT5ib3R0b20sIGNlaWxmKGNvbnRyb2xsZXIubWF4R2x5cGhC
b3VuZGluZ0JveFkoKSkgLSBkZXNjZW50KCkpOworICAgICAgICBnbHlwaE92ZXJmbG93LT50b3Ag
PSBtYXg8aW50PihnbHlwaE92ZXJmbG93LT50b3AsIGNlaWxmKC1jb250cm9sbGVyLm1pbkdseXBo
Qm91bmRpbmdCb3hZKCkpIC0gZm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CisgICAgICAgIGdseXBo
T3ZlcmZsb3ctPmJvdHRvbSA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPmJvdHRvbSwgY2VpbGYo
Y29udHJvbGxlci5tYXhHbHlwaEJvdW5kaW5nQm94WSgpKSAtIGZvbnRNZXRyaWNzKCkuZGVzY2Vu
dCgpKTsKICAgICAgICAgZ2x5cGhPdmVyZmxvdy0+bGVmdCA9IG1heDxpbnQ+KDAsIGNlaWxmKC1j
b250cm9sbGVyLm1pbkdseXBoQm91bmRpbmdCb3hYKCkpKTsKICAgICAgICAgZ2x5cGhPdmVyZmxv
dy0+cmlnaHQgPSBtYXg8aW50PigwLCBjZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91bmRpbmdC
b3hYKCkgLSBjb250cm9sbGVyLnJ1bldpZHRoU29GYXIoKSkpOwogICAgIH0KSW5kZXg6IFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ0dXaW4uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ0dXaW4u
Y3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1Np
bXBsZUZvbnREYXRhQ0dXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NCwxMSArNjQsMTEgQEAg
dm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICBpbnQgaUFzY2VudCA9IENH
Rm9udEdldEFzY2VudChmb250KTsKICAgICBpbnQgaURlc2NlbnQgPSBDR0ZvbnRHZXREZXNjZW50
KGZvbnQpOwogICAgIGludCBpTGluZUdhcCA9IENHRm9udEdldExlYWRpbmcoZm9udCk7Ci0gICAg
bV91bml0c1BlckVtID0gQ0dGb250R2V0VW5pdHNQZXJFbShmb250KTsKKyAgICB1bnNpZ25lZCB1
bml0c1BlckVtID0gQ0dGb250R2V0VW5pdHNQZXJFbShmb250KTsKICAgICBmbG9hdCBwb2ludFNp
emUgPSBtX3BsYXRmb3JtRGF0YS5zaXplKCk7Ci0gICAgZmxvYXQgZkFzY2VudCA9IHNjYWxlRW1U
b1VuaXRzKGlBc2NlbnQsIG1fdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7Ci0gICAgZmxvYXQgZkRl
c2NlbnQgPSAtc2NhbGVFbVRvVW5pdHMoaURlc2NlbnQsIG1fdW5pdHNQZXJFbSkgKiBwb2ludFNp
emU7Ci0gICAgZmxvYXQgZkxpbmVHYXAgPSBzY2FsZUVtVG9Vbml0cyhpTGluZUdhcCwgbV91bml0
c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAgICBmbG9hdCBmQXNjZW50ID0gc2NhbGVFbVRvVW5pdHMo
aUFzY2VudCwgdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7CisgICAgZmxvYXQgZkRlc2NlbnQgPSAt
c2NhbGVFbVRvVW5pdHMoaURlc2NlbnQsIHVuaXRzUGVyRW0pICogcG9pbnRTaXplOworICAgIGZs
b2F0IGZMaW5lR2FwID0gc2NhbGVFbVRvVW5pdHMoaUxpbmVHYXAsIHVuaXRzUGVyRW0pICogcG9p
bnRTaXplOwogCiAgICAgaWYgKCFpc0N1c3RvbUZvbnQoKSkgewogICAgICAgICBIREMgZGMgPSBH
ZXREQygwKTsKQEAgLTkzLDEwICs5MywxMCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9y
bUluaXQoKQogICAgICAgICB9CiAgICAgfQogCi0gICAgbV9hc2NlbnQgPSBscm91bmRmKGZBc2Nl
bnQpOwotICAgIG1fZGVzY2VudCA9IGxyb3VuZGYoZkRlc2NlbnQpOwotICAgIG1fbGluZUdhcCA9
IGxyb3VuZGYoZkxpbmVHYXApOwotICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1fZGVz
Y2VudCArIG1fbGluZUdhcDsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChmQXNjZW50KTsK
KyAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoZkRlc2NlbnQpOworICAgIG1fZm9udE1ldHJp
Y3Muc2V0TGluZUdhcChmTGluZUdhcCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2lu
ZyhmQXNjZW50ICsgZkRlc2NlbnQgKyBmTGluZUdhcCk7CiAKICAgICAvLyBNZWFzdXJlIHRoZSBh
Y3R1YWwgY2hhcmFjdGVyICJ4IiwgYmVjYXVzZSBBcHBLaXQgc3ludGhlc2l6ZXMgWCBoZWlnaHQg
cmF0aGVyIHRoYW4gZ2V0dGluZyBpdCBmcm9tIHRoZSBmb250LgogICAgIC8vIFVuZm9ydHVuYXRl
bHksIE5TRm9udCB3aWxsIHJvdW5kIHRoaXMgZm9yIHVzIHNvIHdlIGRvbid0IHF1aXRlIGdldCB0
aGUgcmlnaHQgdmFsdWUuCkBAIC0xMDksMTEgKzEwOSwxMyBAQCB2b2lkIFNpbXBsZUZvbnREYXRh
OjpwbGF0Zm9ybUluaXQoKQogICAgICAgICAvLyBhbmQgd2ViIHBhZ2VzIHRoYXQgZm9vbGlzaGx5
IHVzZSB0aGlzIG1ldHJpYyBmb3Igd2lkdGggd2lsbCBiZSBsYWlkIG91dAogICAgICAgICAvLyBw
b29ybHkgaWYgd2UgcmV0dXJuIGFuIGFjY3VyYXRlIGhlaWdodC4gQ2xhc3NpYyBjYXNlIGlzIFRp
bWVzIDEzIHBvaW50LAogICAgICAgICAvLyB3aGljaCBoYXMgYW4gIngiIHRoYXQgaXMgN3g2IHBp
eGVscy4KLSAgICAgICAgbV94SGVpZ2h0ID0gc2NhbGVFbVRvVW5pdHMobWF4KENHUmVjdEdldE1h
eFgoeEJveCksIENHUmVjdEdldE1heFkoeEJveCkpLCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXpl
OworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQoc2NhbGVFbVRvVW5pdHMobWF4KENH
UmVjdEdldE1heFgoeEJveCksIENHUmVjdEdldE1heFkoeEJveCkpLCB1bml0c1BlckVtKSAqIHBv
aW50U2l6ZSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgaW50IGlYSGVpZ2h0ID0gQ0dGb250R2V0
WEhlaWdodChmb250KTsKLSAgICAgICAgbV94SGVpZ2h0ID0gc2NhbGVFbVRvVW5pdHMoaVhIZWln
aHQsIG1fdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7CisgICAgICAgIG1fZm9udE1ldHJpY3Muc2V0
WEhlaWdodChzY2FsZUVtVG9Vbml0cyhpWEhlaWdodCwgdW5pdHNQZXJFbSkgKiBwb2ludFNpemUp
OwogICAgIH0KKworICAgIG1fZm9udE1ldHJpY3Muc2V0VW5pdHNQZXJFbSh1bml0c1BlckVtKTsK
IH0KIAogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1DaGFyV2lkdGhJbml0KCkKQEAgLTEz
Myw3ICsxMzUsNyBAQCBGbG9hdFJlY3QgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQm91bmRzCiAg
ICAgQ0dSZWN0IGJveDsKICAgICBDR0ZvbnRHZXRHbHlwaEJCb3hlcyhtX3BsYXRmb3JtRGF0YS5j
Z0ZvbnQoKSwgJmdseXBoLCAxLCAmYm94KTsKICAgICBmbG9hdCBwb2ludFNpemUgPSBtX3BsYXRm
b3JtRGF0YS5zaXplKCk7Ci0gICAgQ0dGbG9hdCBzY2FsZSA9IHBvaW50U2l6ZSAvIHVuaXRzUGVy
RW0oKTsKKyAgICBDR0Zsb2F0IHNjYWxlID0gcG9pbnRTaXplIC8gZm9udE1ldHJpY3MoKS51bml0
c1BlckVtKCk7CiAgICAgRmxvYXRSZWN0IGJvdW5kaW5nQm94ID0gQ0dSZWN0QXBwbHlBZmZpbmVU
cmFuc2Zvcm0oYm94LCBDR0FmZmluZVRyYW5zZm9ybU1ha2VTY2FsZShzY2FsZSwgLXNjYWxlKSk7
CiAgICAgaWYgKG1fc3ludGhldGljQm9sZE9mZnNldCkKICAgICAgICAgYm91bmRpbmdCb3guc2V0
V2lkdGgoYm91bmRpbmdCb3gud2lkdGgoKSArIG1fc3ludGhldGljQm9sZE9mZnNldCk7CkluZGV4
OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNhaXJvV2luLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250
RGF0YUNhaXJvV2luLmNwcAkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNhaXJvV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NjMsMTMgKzYzLDE2IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAKICAg
ICBURVhUTUVUUklDIHRleHRNZXRyaWNzOwogICAgIEdldFRleHRNZXRyaWNzKGhkYywgJnRleHRN
ZXRyaWNzKTsKLSAgICBtX2FzY2VudCA9IGxyb3VuZGYodGV4dE1ldHJpY3MudG1Bc2NlbnQgKiBt
ZXRyaWNzTXVsdGlwbGllcik7Ci0gICAgbV9kZXNjZW50ID0gbHJvdW5kZih0ZXh0TWV0cmljcy50
bURlc2NlbnQgKiBtZXRyaWNzTXVsdGlwbGllcik7Ci0gICAgbV94SGVpZ2h0ID0gbV9hc2NlbnQg
KiAwLjU2ZjsgLy8gQmVzdCBndWVzcyBmb3IgeEhlaWdodCBmb3Igbm9uLVRydWV0eXBlIGZvbnRz
LgotICAgIG1fbGluZUdhcCA9IGxyb3VuZGYodGV4dE1ldHJpY3MudG1FeHRlcm5hbExlYWRpbmcg
KiBtZXRyaWNzTXVsdGlwbGllcik7Ci0gICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9k
ZXNjZW50ICsgbV9saW5lR2FwOwotICAgIG1fYXZnQ2hhcldpZHRoID0gbHJvdW5kZih0ZXh0TWV0
cmljcy50bUF2ZUNoYXJXaWR0aCAqIG1ldHJpY3NNdWx0aXBsaWVyKTsKLSAgICBtX21heENoYXJX
aWR0aCA9IGxyb3VuZGYodGV4dE1ldHJpY3MudG1NYXhDaGFyV2lkdGggKiBtZXRyaWNzTXVsdGlw
bGllcik7CisgICAgZmxvYXQgYXNjZW50ID0gdGV4dE1ldHJpY3MudG1Bc2NlbnQgKiBtZXRyaWNz
TXVsdGlwbGllcjsKKyAgICBmbG9hdCBkZXNjZW50ID0gdGV4dE1ldHJpY3MudG1EZXNjZW50ICog
bWV0cmljc011bHRpcGxpZXI7CisgICAgZmxvYXQgeEhlaWdodCA9IGFzY2VudCAqIDAuNTZmOyAv
LyBCZXN0IGd1ZXNzIGZvciB4SGVpZ2h0IGZvciBub24tVHJ1ZXR5cGUgZm9udHMuCisgICAgZmxv
YXQgbGluZUdhcCA9IHRleHRNZXRyaWNzLnRtRXh0ZXJuYWxMZWFkaW5nICogbWV0cmljc011bHRp
cGxpZXI7CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAgICBtX2ZvbnRN
ZXRyaWNzLnNldERlc2NlbnQoZGVzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2Fw
KGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNjZW50ICsgZGVz
Y2VudCArIGxpbmVHYXApOworICAgIG1fYXZnQ2hhcldpZHRoID0gdGV4dE1ldHJpY3MudG1BdmVD
aGFyV2lkdGggKiBtZXRyaWNzTXVsdGlwbGllcjsKKyAgICBtX21heENoYXJXaWR0aCA9IHRleHRN
ZXRyaWNzLnRtTWF4Q2hhcldpZHRoICogbWV0cmljc011bHRpcGxpZXI7CiAKICAgICBPVVRMSU5F
VEVYVE1FVFJJQyBtZXRyaWNzOwogICAgIGlmIChHZXRPdXRsaW5lVGV4dE1ldHJpY3MoaGRjLCBz
aXplb2YobWV0cmljcyksICZtZXRyaWNzKSA+IDApIHsKQEAgLTc4LDkgKzgxLDEwIEBAIHZvaWQg
U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgICAgIE1BVDIgbWF0ID0geyAxLCAw
LCAwLCAxIH07CiAgICAgICAgIERXT1JEIGxlbiA9IEdldEdseXBoT3V0bGluZShoZGMsICd4Jywg
R0dPX01FVFJJQ1MsICZnbSwgMCwgMCwgJm1hdCk7CiAgICAgICAgIGlmIChsZW4gIT0gR0RJX0VS
Uk9SICYmIGdtLmdtcHRHbHlwaE9yaWdpbi55ID4gMCkKLSAgICAgICAgICAgIG1feEhlaWdodCA9
IGdtLmdtcHRHbHlwaE9yaWdpbi55ICogbWV0cmljc011bHRpcGxpZXI7CisgICAgICAgICAgICB4
SGVpZ2h0ID0gZ20uZ21wdEdseXBoT3JpZ2luLnkgKiBtZXRyaWNzTXVsdGlwbGllcjsKICAgICB9
CiAKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQoeEhlaWdodCk7CiAgICAgY2Fpcm9fd2lu
MzJfc2NhbGVkX2ZvbnRfZG9uZV9mb250KHNjYWxlZEZvbnQpOwogCiAgICAgbV9pc1N5c3RlbUZv
bnQgPSBmYWxzZTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZv
bnREYXRhV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9TaW1wbGVGb250RGF0YVdpbi5jcHAJKHJldmlzaW9uIDc0NjgzKQorKysgV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC02NiwxNCArNjYsOSBAQCBib29sIFNpbXBsZUZvbnREYXRhOjpzaG91bGRBcHBseU1hY0FzY2Vu
CiB2b2lkIFNpbXBsZUZvbnREYXRhOjppbml0R0RJRm9udCgpCiB7CiAgICAgaWYgKCFtX3BsYXRm
b3JtRGF0YS5zaXplKCkpIHsKLSAgICAgICAgbV9hc2NlbnQgPSAwOwotICAgICAgICBtX2Rlc2Nl
bnQgPSAwOwotICAgICAgICBtX2xpbmVHYXAgPSAwOwotICAgICAgICBtX2xpbmVTcGFjaW5nID0g
MDsKKyAgICAgICAgbV9mb250TWV0cmljcy5yZXNldCgpOwogICAgICAgICBtX2F2Z0NoYXJXaWR0
aCA9IDA7CiAgICAgICAgIG1fbWF4Q2hhcldpZHRoID0gMDsKLSAgICAgICAgbV94SGVpZ2h0ID0g
MDsKLSAgICAgICAgbV91bml0c1BlckVtID0gMDsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApA
QCAtODIsMjEgKzc3LDI1IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OmluaXRHRElGb250KCkKICAg
ICAgT1VUTElORVRFWFRNRVRSSUMgbWV0cmljczsKICAgICAgR2V0T3V0bGluZVRleHRNZXRyaWNz
KGhkYywgc2l6ZW9mKG1ldHJpY3MpLCAmbWV0cmljcyk7CiAgICAgIFRFWFRNRVRSSUMmIHRleHRN
ZXRyaWNzID0gbWV0cmljcy5vdG1UZXh0TWV0cmljczsKLSAgICAgbV9hc2NlbnQgPSB0ZXh0TWV0
cmljcy50bUFzY2VudDsKLSAgICAgbV9kZXNjZW50ID0gdGV4dE1ldHJpY3MudG1EZXNjZW50Owot
ICAgICBtX2xpbmVHYXAgPSB0ZXh0TWV0cmljcy50bUV4dGVybmFsTGVhZGluZzsKLSAgICAgbV9s
aW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50ICsgbV9saW5lR2FwOworICAgICBmbG9h
dCBhc2NlbnQgPSB0ZXh0TWV0cmljcy50bUFzY2VudDsKKyAgICAgZmxvYXQgZGVzY2VudCA9IHRl
eHRNZXRyaWNzLnRtRGVzY2VudDsKKyAgICAgZmxvYXQgbGluZUdhcCA9IHRleHRNZXRyaWNzLnRt
RXh0ZXJuYWxMZWFkaW5nOworICAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChhc2NlbnQpOwor
ICAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoZGVzY2VudCk7CisgICAgIG1fZm9udE1ldHJp
Y3Muc2V0TGluZUdhcChsaW5lR2FwKTsKKyAgICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2lu
Zyhhc2NlbnQgKyBkZXNjZW50ICsgbGluZUdhcCk7CiAgICAgIG1fYXZnQ2hhcldpZHRoID0gdGV4
dE1ldHJpY3MudG1BdmVDaGFyV2lkdGg7CiAgICAgIG1fbWF4Q2hhcldpZHRoID0gdGV4dE1ldHJp
Y3MudG1NYXhDaGFyV2lkdGg7Ci0gICAgIG1feEhlaWdodCA9IG1fYXNjZW50ICogMC41NmY7IC8v
IEJlc3QgZ3Vlc3MgZm9yIHhIZWlnaHQgaWYgbm8geCBnbHlwaCBpcyBwcmVzZW50LgorICAgICBm
bG9hdCB4SGVpZ2h0ID0gYXNjZW50ICogMC41NmY7IC8vIEJlc3QgZ3Vlc3MgZm9yIHhIZWlnaHQg
aWYgbm8geCBnbHlwaCBpcyBwcmVzZW50LgogCiAgICAgIEdMWVBITUVUUklDUyBnbTsKICAgICAg
TUFUMiBtYXQgPSB7IDEsIDAsIDAsIDEgfTsKICAgICAgRFdPUkQgbGVuID0gR2V0R2x5cGhPdXRs
aW5lKGhkYywgJ3gnLCBHR09fTUVUUklDUywgJmdtLCAwLCAwLCAmbWF0KTsKICAgICAgaWYgKGxl
biAhPSBHRElfRVJST1IgJiYgZ20uZ21wdEdseXBoT3JpZ2luLnkgPiAwKQotICAgICAgICAgbV94
SGVpZ2h0ID0gZ20uZ21wdEdseXBoT3JpZ2luLnk7CisgICAgICAgICB4SGVpZ2h0ID0gZ20uZ21w
dEdseXBoT3JpZ2luLnk7CiAKLSAgICAgbV91bml0c1BlckVtID0gbWV0cmljcy5vdG1FTVNxdWFy
ZTsKKyAgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHhIZWlnaHQpOworICAgICBtX2ZvbnRN
ZXRyaWNzLnNldFVuaXRzUGVyRW0obWV0cmljcy5vdG1FTVNxdWFyZSk7CiAKICAgICAgU2VsZWN0
T2JqZWN0KGhkYywgb2xkRm9udCk7CiAgICAgIFJlbGVhc2VEQygwLCBoZGMpOwpJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRl
eHRXaW5DRS5jcHAJKHJldmlzaW9uIDc0NjgzKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1MzUs
NyArMTUzNSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3VGV4dChjb25zdCBGb24KICAg
ICBtX2RhdGEtPm1fb3BhY2l0eSAqPSBmaWxsQ29sb3IoKS5hbHBoYSgpIC8gMjU1LjA7CiAKICAg
ICBGbG9hdFJlY3QgdGV4dFJlY3QgPSBmb250LnNlbGVjdGlvblJlY3RGb3JUZXh0KHJ1biwgcG9p
bnQsIGZvbnQuaGVpZ2h0KCksIGZyb20sIHRvKTsKLSAgICB0ZXh0UmVjdC5zZXRZKHRleHRSZWN0
LnkoKSAtIGZvbnQuYXNjZW50KCkpOworICAgIHRleHRSZWN0LnNldFkodGV4dFJlY3QueSgpIC0g
Zm9udC5mb250TWV0cmljcygpLmFzY2VudCgpKTsKICAgICBJbnRSZWN0IHRyUmVjdCA9IGVuY2xv
c2luZ0ludFJlY3QobV9kYXRhLT5tYXBSZWN0KHRleHRSZWN0KSk7CiAgICAgUkVDVCBibXBSZWN0
OwogICAgIEFscGhhUGFpbnRUeXBlIGFscGhhUGFpbnRUeXBlID0gbXVzdFN1cHBvcnRBbHBoYSA/
IEFscGhhUGFpbnRPdGhlciA6IEFscGhhUGFpbnROb25lOwpAQCAtMTU0NCw3ICsxNTQ0LDcgQEAg
dm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdUZXh0KGNvbnN0IEZvbgogICAgICAgICAgICAgR3Jh
cGhpY3NDb250ZXh0IGdjKDApOwogICAgICAgICAgICAgZ2Muc2V0Qml0bWFwKGJtcCk7CiAgICAg
ICAgICAgICBnYy5zY2FsZShGbG9hdFNpemUobV9kYXRhLT5tX3RyYW5zZm9ybS5hKCksIG1fZGF0
YS0+bV90cmFuc2Zvcm0uZCgpKSk7Ci0gICAgICAgICAgICBmb250LmRyYXdUZXh0KCZnYywgcnVu
LCBJbnRQb2ludCgwLCBmb250LmFzY2VudCgpKSwgZnJvbSwgdG8pOworICAgICAgICAgICAgZm9u
dC5kcmF3VGV4dCgmZ2MsIHJ1biwgSW50UG9pbnQoMCwgZm9udC5mb250TWV0cmljcygpLmFzY2Vu
dCgpKSwgZnJvbSwgdG8pOwogICAgICAgICB9CiAgICAgICAgIHVuc2lnbmVkIGtleTE7CiAgICAg
ICAgIEhEQyBtZW1EQyA9IGJtcC0+Z2V0REMoJmtleTEpOwpAQCAtMTU4OSw3ICsxNTg5LDcgQEAg
dm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdUZXh0KGNvbnN0IFNpbQogICAgICAgICA/IGZvbnRE
YXRhLT5wbGF0Zm9ybURhdGEoKS5nZXRTY2FsZWRGb250SGFuZGxlKGhlaWdodCwgc2NhbGVYID09
IHNjYWxlWSA/IDAgOiB3aWR0aCkKICAgICAgICAgOiAwOwogCi0gICAgRmxvYXRQb2ludCBzdGFy
dFBvaW50KHBvaW50LngoKSwgcG9pbnQueSgpIC0gZm9udERhdGEtPmFzY2VudCgpKTsKKyAgICBG
bG9hdFBvaW50IHN0YXJ0UG9pbnQocG9pbnQueCgpLCBwb2ludC55KCkgLSBmb250RGF0YS0+Zm9u
dE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAgRmxvYXRQb2ludCB0clBvaW50ID0gbV9kYXRhLT5t
YXBQb2ludChzdGFydFBvaW50KTsKICAgICBpbnQgeSA9IHN0YWJsZVJvdW5kKHRyUG9pbnQueSgp
KTsKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9TaW1wbGVGb250RGF0
YVdpbkNFLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNl
L1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2ltcGxlRm9udERhdGFXaW5DRS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTUxLDExICs1MSwxNCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQo
KQogICAgIGNvbnN0IFRFWFRNRVRSSUMmIHRtID0gbV9wbGF0Zm9ybURhdGEubWV0cmljcygpOwog
ICAgIG1faXNTeXN0ZW1Gb250ID0gbV9wbGF0Zm9ybURhdGEuaXNTeXN0ZW1Gb250KCk7CiAKLSAg
ICBtX2FzY2VudCA9ICh0bS50bUFzY2VudCAqIG1fcGxhdGZvcm1EYXRhLnNpemUoKSArIDM2KSAv
IDcyOwotICAgIG1fZGVzY2VudCA9ICh0bS50bURlc2NlbnQgKiBtX3BsYXRmb3JtRGF0YS5zaXpl
KCkgKyAzNikgLyA3MjsKLSAgICBtX2xpbmVHYXAgPSAodG0udG1FeHRlcm5hbExlYWRpbmcgKiBt
X3BsYXRmb3JtRGF0YS5zaXplKCkgKyAzNikgLyA3MjsKLSAgICBtX2xpbmVTcGFjaW5nID0gbV9h
c2NlbnQgKyBtX2Rlc2NlbnQgKyBtX2xpbmVHYXA7Ci0gICAgbV94SGVpZ2h0ID0gbV9hc2NlbnQg
KiAwLjU2ZjsKKyAgICBmbG9hdCBhc2NlbnQgPSAodG0udG1Bc2NlbnQgKiBtX3BsYXRmb3JtRGF0
YS5zaXplKCkgKyAzNikgLyA3Mi4wZjsKKyAgICBmbG9hdCBkZXNjZW50ID0gKHRtLnRtRGVzY2Vu
dCAqIG1fcGxhdGZvcm1EYXRhLnNpemUoKSArIDM2KSAvIDcyLjBmOworICAgIGZsb2F0IGxpbmVH
YXAgPSAodG0udG1FeHRlcm5hbExlYWRpbmcgKiBtX3BsYXRmb3JtRGF0YS5zaXplKCkgKyAzNikg
LyA3Mi4wZjsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChhc2NlbnQpOworICAgIG1fZm9u
dE1ldHJpY3Muc2V0RGVzY2VudChkZXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVH
YXAobGluZUdhcCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhhc2NlbnQgKyBk
ZXNjZW50ICsgbGluZUdhcCk7CisgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KGFzY2VudCAq
IDAuNTZmKTsKIH0KIAogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1EZXN0cm95KCkKSW5k
ZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvU2ltcGxlRm9udERhdGFXeC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9TaW1wbGVGb250RGF0YVd4
LmNwcAkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L1Np
bXBsZUZvbnREYXRhV3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MywxMiArNTMsMTIgQEAgdm9p
ZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICB3eEZvbnQgKmZvbnQgPSBtX3Bs
YXRmb3JtRGF0YS5mb250KCk7CiAgICAgaWYgKGZvbnQgJiYgZm9udC0+SXNPaygpKSB7CiAgICAg
ICAgIHd4Rm9udFByb3BlcnRpZXMgcHJvcHMgPSB3eEZvbnRQcm9wZXJ0aWVzKGZvbnQpOwotICAg
ICAgICBtX2FzY2VudCA9IHByb3BzLkdldEFzY2VudCgpOwotICAgICAgICBtX2Rlc2NlbnQgPSBw
cm9wcy5HZXREZXNjZW50KCk7Ci0gICAgICAgIG1fbGluZVNwYWNpbmcgPSBwcm9wcy5HZXRMaW5l
U3BhY2luZygpOwotICAgICAgICBtX3hIZWlnaHQgPSBwcm9wcy5HZXRYSGVpZ2h0KCk7Ci0gICAg
ICAgIG1fdW5pdHNQZXJFbSA9IDE7IC8vIEZJWE1FIQotICAgICAgICBtX2xpbmVHYXAgPSBwcm9w
cy5HZXRMaW5lR2FwKCk7CisgICAgICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KHByb3BzLkdl
dEFzY2VudCgpKTsKKyAgICAgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KHByb3BzLkdldERl
c2NlbnQoKSk7CisgICAgICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcocHJvcHMuR2V0
TGluZVNwYWNpbmcoKSk7CisgICAgICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodChwcm9wcy5H
ZXRYSGVpZ2h0KCkpOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldFVuaXRzUGVyRW0oMSk7IC8v
IEZJWE1FIQorICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAocHJvcHMuR2V0TGluZUdh
cCgpKTsKICAgICB9CiAKICAgICBtX3N5bnRoZXRpY0JvbGRPZmZzZXQgPSAwLjBmOwpJbmRleDog
V2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdl
YkNvcmUvcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMw
NSw3ICszMDUsNyBAQCB2b2lkIFBvcHVwTWVudVdpbjo6Y2FsY3VsYXRlUG9zaXRpb25BbmRTCiAK
ICAgICAvLyBGaXJzdCwgZGV0ZXJtaW5lIHRoZSBwb3B1cCdzIGhlaWdodAogICAgIGludCBpdGVt
Q291bnQgPSBjbGllbnQoKS0+bGlzdFNpemUoKTsKLSAgICBtX2l0ZW1IZWlnaHQgPSBjbGllbnQo
KS0+bWVudVN0eWxlKCkuZm9udCgpLmhlaWdodCgpICsgb3B0aW9uU3BhY2luZ01pZGRsZTsKKyAg
ICBtX2l0ZW1IZWlnaHQgPSBjbGllbnQoKS0+bWVudVN0eWxlKCkuZm9udCgpLmZvbnRNZXRyaWNz
KCkuaGVpZ2h0KCkgKyBvcHRpb25TcGFjaW5nTWlkZGxlOwogICAgIGludCBuYXR1cmFsSGVpZ2h0
ID0gbV9pdGVtSGVpZ2h0ICogaXRlbUNvdW50OwogICAgIGludCBwb3B1cEhlaWdodCA9IG1pbiht
YXhQb3B1cEhlaWdodCwgbmF0dXJhbEhlaWdodCk7CiAgICAgLy8gVGhlIHBvcHVwIHNob3VsZCBz
aG93IGFuIGludGVncmFsIG51bWJlciBvZiBpdGVtcyAoaS5lLiBubyBwYXJ0aWFsIGl0ZW1zIHNo
b3VsZCBiZSB2aXNpYmxlKQpAQCAtNjQ4LDcgKzY0OCw3IEBAIHZvaWQgUG9wdXBNZW51V2luOjpw
YWludChjb25zdCBJbnRSZWN0JiAKICAgICAgICAgICAgIGludCB0ZXh0WCA9IG1heCgwLCBjbGll
bnQoKS0+Y2xpZW50UGFkZGluZ0xlZnQoKSAtIGNsaWVudCgpLT5jbGllbnRJbnNldExlZnQoKSk7
CiAgICAgICAgICAgICBpZiAoUmVuZGVyVGhlbWU6OmRlZmF1bHRUaGVtZSgpLT5wb3B1cE9wdGlv
blN1cHBvcnRzVGV4dEluZGVudCgpICYmIGl0ZW1TdHlsZS50ZXh0RGlyZWN0aW9uKCkgPT0gTFRS
KQogICAgICAgICAgICAgICAgIHRleHRYICs9IGl0ZW1TdHlsZS50ZXh0SW5kZW50KCkuY2FsY01p
blZhbHVlKGl0ZW1SZWN0LndpZHRoKCkpOwotICAgICAgICAgICAgaW50IHRleHRZID0gaXRlbVJl
Y3QueSgpICsgaXRlbUZvbnQuYXNjZW50KCkgKyAoaXRlbVJlY3QuaGVpZ2h0KCkgLSBpdGVtRm9u
dC5oZWlnaHQoKSkgLyAyOworICAgICAgICAgICAgaW50IHRleHRZID0gaXRlbVJlY3QueSgpICsg
aXRlbUZvbnQuZm9udE1ldHJpY3MoKS5hc2NlbnQoKSArIChpdGVtUmVjdC5oZWlnaHQoKSAtIGl0
ZW1Gb250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkpIC8gMjsKICAgICAgICAgICAgIGNvbnRleHQu
ZHJhd0JpZGlUZXh0KGl0ZW1Gb250LCB0ZXh0UnVuLCBJbnRQb2ludCh0ZXh0WCwgdGV4dFkpKTsK
ICAgICAgICAgfQogICAgIH0KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL0VsbGlwc2lzQm94LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9FbGxpcHNpc0JveC5jcHAJKHJldmlz
aW9uIDc0NjgzKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvRWxsaXBzaXNCb3guY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01MSw3ICs1MSw3IEBAIHZvaWQgRWxsaXBzaXNCb3g6OnBhaW50KFBhaW50SW5m
byYgcGFpbnQKICAgICB9CiAKICAgICBjb25zdCBTdHJpbmcmIHN0ciA9IG1fc3RyOwotICAgIGNv
bnRleHQtPmRyYXdUZXh0KHN0eWxlLT5mb250KCksIFRleHRSdW4oc3RyLmNoYXJhY3RlcnMoKSwg
c3RyLmxlbmd0aCgpLCBmYWxzZSwgMCwgMCwgZmFsc2UsIHN0eWxlLT52aXN1YWxseU9yZGVyZWQo
KSksIEludFBvaW50KG1feCArIHR4LCBtX3kgKyB0eSArIHN0eWxlLT5mb250KCkuYXNjZW50KCkp
KTsKKyAgICBjb250ZXh0LT5kcmF3VGV4dChzdHlsZS0+Zm9udCgpLCBUZXh0UnVuKHN0ci5jaGFy
YWN0ZXJzKCksIHN0ci5sZW5ndGgoKSwgZmFsc2UsIDAsIDAsIGZhbHNlLCBzdHlsZS0+dmlzdWFs
bHlPcmRlcmVkKCkpLCBJbnRQb2ludChtX3ggKyB0eCwgbV95ICsgdHkgKyBzdHlsZS0+Zm9udE1l
dHJpY3MoKS5hc2NlbnQoKSkpOwogCiAgICAgLy8gUmVzdG9yZSB0aGUgcmVndWxhciBmaWxsIGNv
bG9yLgogICAgIGlmICh0ZXh0Q29sb3IgIT0gY29udGV4dC0+ZmlsbENvbG9yKCkpCkBAIC02Myw3
ICs2Myw3IEBAIHZvaWQgRWxsaXBzaXNCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFpbnQKICAgICBp
ZiAobV9tYXJrdXBCb3gpIHsKICAgICAgICAgLy8gUGFpbnQgdGhlIG1hcmt1cCBib3gKICAgICAg
ICAgdHggKz0gbV94ICsgbV9sb2dpY2FsV2lkdGggLSBtX21hcmt1cEJveC0+eCgpOwotICAgICAg
ICB0eSArPSBtX3kgKyBzdHlsZS0+Zm9udCgpLmFzY2VudCgpIC0gKG1fbWFya3VwQm94LT55KCkg
KyBtX21hcmt1cEJveC0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCkuYXNj
ZW50KCkpOworICAgICAgICB0eSArPSBtX3kgKyBzdHlsZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQo
KSAtIChtX21hcmt1cEJveC0+eSgpICsgbV9tYXJrdXBCb3gtPnJlbmRlcmVyKCktPnN0eWxlKG1f
Zmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAgICAgIG1fbWFya3VwQm94
LT5wYWludChwYWludEluZm8sIHR4LCB0eSk7CiAgICAgfQogfQpAQCAtMTA2LDcgKzEwNiw3IEBA
IGJvb2wgRWxsaXBzaXNCb3g6Om5vZGVBdFBvaW50KGNvbnN0IEhpdFQKICAgICBpZiAobV9tYXJr
dXBCb3gpIHsKICAgICAgICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gbV9yZW5kZXJlci0+c3R5bGUo
bV9maXJzdExpbmUpOwogICAgICAgICBpbnQgbXR4ID0gdHggKyBtX2xvZ2ljYWxXaWR0aCAtIG1f
bWFya3VwQm94LT54KCk7Ci0gICAgICAgIGludCBtdHkgPSB0eSArIHN0eWxlLT5mb250KCkuYXNj
ZW50KCkgLSAobV9tYXJrdXBCb3gtPnkoKSArIG1fbWFya3VwQm94LT5yZW5kZXJlcigpLT5zdHls
ZShtX2ZpcnN0TGluZSktPmZvbnQoKS5hc2NlbnQoKSk7CisgICAgICAgIGludCBtdHkgPSB0eSAr
IHN0eWxlLT5mb250TWV0cmljcygpLmFzY2VudCgpIC0gKG1fbWFya3VwQm94LT55KCkgKyBtX21h
cmt1cEJveC0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250TWV0cmljcygpLmFz
Y2VudCgpKTsKICAgICAgICAgaWYgKG1fbWFya3VwQm94LT5ub2RlQXRQb2ludChyZXF1ZXN0LCBy
ZXN1bHQsIHgsIHksIG10eCwgbXR5KSkgewogICAgICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRl
SGl0VGVzdFJlc3VsdChyZXN1bHQsIEludFBvaW50KHggLSBtdHgsIHkgLSBtdHkpKTsKICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guY3BwCShyZXZpc2lv
biA3NDY4MykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTkzLDE0ICs5MywxNCBAQCBpbnQgSW5saW5lQm94Ojpsb2dpY2FsSGVpZ2h0KCkgY29u
c3QKICNlbmRpZgogICAgIAogICAgIGlmIChyZW5kZXJlcigpLT5pc1RleHQoKSkKLSAgICAgICAg
cmV0dXJuIG1faXNUZXh0ID8gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCku
aGVpZ2h0KCkgOiAwOworICAgICAgICByZXR1cm4gbV9pc1RleHQgPyByZW5kZXJlcigpLT5zdHls
ZShtX2ZpcnN0TGluZSktPmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkgOiAwOwogICAgIGlmIChyZW5k
ZXJlcigpLT5pc0JveCgpICYmIHBhcmVudCgpKQogICAgICAgICByZXR1cm4gaXNIb3Jpem9udGFs
KCkgPyB0b1JlbmRlckJveChtX3JlbmRlcmVyKS0+aGVpZ2h0KCkgOiB0b1JlbmRlckJveChtX3Jl
bmRlcmVyKS0+d2lkdGgoKTsKIAogICAgIEFTU0VSVChpc0lubGluZUZsb3dCb3goKSk7CiAgICAg
UmVuZGVyQm94TW9kZWxPYmplY3QqIGZsb3dPYmplY3QgPSBib3hNb2RlbE9iamVjdCgpOwotICAg
IGNvbnN0IEZvbnQmIGZvbnQgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQo
KTsKLSAgICBpbnQgcmVzdWx0ID0gZm9udC5oZWlnaHQoKTsKKyAgICBjb25zdCBGb250TWV0cmlj
cyYgZm9udE1ldHJpY3MgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnRNZXRy
aWNzKCk7CisgICAgaW50IHJlc3VsdCA9IGZvbnRNZXRyaWNzLmhlaWdodCgpOwogICAgIGlmIChw
YXJlbnQoKSkKICAgICAgICAgcmVzdWx0ICs9IGZsb3dPYmplY3QtPmJvcmRlckFuZFBhZGRpbmdM
b2dpY2FsSGVpZ2h0KCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKSW5kZXg6IFdlYkNvcmUvcmVuZGVy
aW5nL0lubGluZUZsb3dCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZUZsb3dCb3guY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZUZsb3dCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDgsNiArNDA4LDcgQEAgc3RhdGlj
IGludCB2ZXJ0aWNhbFBvc2l0aW9uRm9yQm94KElubGluZQogICAgICAgICAKICAgICAgICAgaWYg
KHZlcnRpY2FsQWxpZ24gIT0gQkFTRUxJTkUpIHsKICAgICAgICAgICAgIGNvbnN0IEZvbnQmIGZv
bnQgPSBwYXJlbnQtPnN0eWxlKGZpcnN0TGluZSktPmZvbnQoKTsKKyAgICAgICAgICAgIGNvbnN0
IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKICAgICAgICAg
ICAgIGludCBmb250U2l6ZSA9IGZvbnQucGl4ZWxTaXplKCk7CiAKICAgICAgICAgICAgIExpbmVE
aXJlY3Rpb25Nb2RlIGxpbmVEaXJlY3Rpb24gPSBwYXJlbnQtPnN0eWxlKCktPmlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkgPyBIb3Jpem9udGFsTGluZSA6IFZlcnRpY2FsTGluZTsKQEAgLTQxNywx
MSArNDE4LDExIEBAIHN0YXRpYyBpbnQgdmVydGljYWxQb3NpdGlvbkZvckJveChJbmxpbmUKICAg
ICAgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gU1VQRVIpCiAgICAgICAgICAgICAg
ICAgdmVydGljYWxQb3NpdGlvbiAtPSBmb250U2l6ZSAvIDMgKyAxOwogICAgICAgICAgICAgZWxz
ZSBpZiAodmVydGljYWxBbGlnbiA9PSBURVhUX1RPUCkKLSAgICAgICAgICAgICAgICB2ZXJ0aWNh
bFBvc2l0aW9uICs9IHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmly
c3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAtIGZvbnQuYXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAg
ICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiArPSByZW5kZXJlci0+YmFzZWxpbmVQb3NpdGlv
bihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikgLSBmb250TWV0cmljcy5h
c2NlbnQoYmFzZWxpbmVUeXBlKTsKICAgICAgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24g
PT0gTUlERExFKQotICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gLXN0YXRpY19j
YXN0PGludD4oZm9udC54SGVpZ2h0KCkgLyAyKSAtIHJlbmRlcmVyLT5saW5lSGVpZ2h0KGZpcnN0
TGluZSwgbGluZURpcmVjdGlvbikgLyAyICsgcmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24oYmFz
ZWxpbmVUeXBlLCBmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pOworICAgICAgICAgICAgICAgIHZl
cnRpY2FsUG9zaXRpb24gKz0gLXN0YXRpY19jYXN0PGludD4oZm9udE1ldHJpY3MueEhlaWdodCgp
IC8gMikgLSByZW5kZXJlci0+bGluZUhlaWdodChmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC8g
MiArIHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBs
aW5lRGlyZWN0aW9uKTsKICAgICAgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gVEVY
VF9CT1RUT00pIHsKLSAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IGZvbnQuZGVz
Y2VudChiYXNlbGluZVR5cGUpOworICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0g
Zm9udE1ldHJpY3MuZGVzY2VudChiYXNlbGluZVR5cGUpOwogICAgICAgICAgICAgICAgIC8vIGxp
bmVIZWlnaHQgLSBiYXNlbGluZVBvc2l0aW9uIGlzIGFsd2F5cyAwIGZvciByZXBsYWNlZCBlbGVt
ZW50cyAoZXhjZXB0IGlubGluZSBibG9ja3MpLCBzbyBkb24ndCBib3RoZXIgd2FzdGluZyB0aW1l
IGluIHRoYXQgY2FzZS4KICAgICAgICAgICAgICAgICBpZiAoIXJlbmRlcmVyLT5pc1JlcGxhY2Vk
KCkgfHwgcmVuZGVyZXItPmlzSW5saW5lQmxvY2tPcklubGluZVRhYmxlKCkpCiAgICAgICAgICAg
ICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gLT0gKHJlbmRlcmVyLT5saW5lSGVpZ2h0KGZpcnN0
TGluZSwgbGluZURpcmVjdGlvbikgLSByZW5kZXJlci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGlu
ZVR5cGUsIGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikpOwpAQCAtNTAzLDkgKzUwNCwxMCBAQCB2
b2lkIElubGluZUZsb3dCb3g6OmNvbXB1dGVMb2dpY2FsQm94SGVpCiAgICAgICAgICAgICBiYXNl
bGluZSA9IDA7CiAgICAgICAgICAgICBpbnQgYmFzZWxpbmVUb0JvdHRvbSA9IDA7CiAgICAgICAg
ICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHVzZWRGb250cy0+c2l6ZSgpOyArK2kpIHsKLSAg
ICAgICAgICAgICAgICBpbnQgaGFsZkxlYWRpbmcgPSAodXNlZEZvbnRzLT5hdChpKS0+bGluZVNw
YWNpbmcoKSAtIHVzZWRGb250cy0+YXQoaSktPmhlaWdodCgpKSAvIDI7Ci0gICAgICAgICAgICAg
ICAgaW50IHVzZWRGb250QmFzZWxpbmUgPSBoYWxmTGVhZGluZyArIHVzZWRGb250cy0+YXQoaSkt
PmFzY2VudChiYXNlbGluZVR5cGUpOwotICAgICAgICAgICAgICAgIGludCB1c2VkRm9udEJhc2Vs
aW5lVG9Cb3R0b20gPSB1c2VkRm9udHMtPmF0KGkpLT5saW5lU3BhY2luZygpIC0gdXNlZEZvbnRC
YXNlbGluZTsKKyAgICAgICAgICAgICAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3Mg
PSB1c2VkRm9udHMtPmF0KGkpLT5mb250TWV0cmljcygpOworICAgICAgICAgICAgICAgIGludCBo
YWxmTGVhZGluZyA9IChmb250TWV0cmljcy5saW5lU3BhY2luZygpIC0gZm9udE1ldHJpY3MuaGVp
Z2h0KCkpIC8gMjsKKyAgICAgICAgICAgICAgICBpbnQgdXNlZEZvbnRCYXNlbGluZSA9IGhhbGZM
ZWFkaW5nICsgZm9udE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgICAgICAgICAg
ICAgaW50IHVzZWRGb250QmFzZWxpbmVUb0JvdHRvbSA9IGZvbnRNZXRyaWNzLmxpbmVTcGFjaW5n
KCkgLSB1c2VkRm9udEJhc2VsaW5lOwogICAgICAgICAgICAgICAgIGlmICghYmFzZWxpbmVTZXQp
IHsKICAgICAgICAgICAgICAgICAgICAgYmFzZWxpbmVTZXQgPSB0cnVlOwogICAgICAgICAgICAg
ICAgICAgICBiYXNlbGluZSA9IHVzZWRGb250QmFzZWxpbmU7CkBAIC01MTUsOSArNTE3LDkgQEAg
dm9pZCBJbmxpbmVGbG93Qm94Ojpjb21wdXRlTG9naWNhbEJveEhlaQogICAgICAgICAgICAgICAg
ICAgICBiYXNlbGluZVRvQm90dG9tID0gbWF4KGJhc2VsaW5lVG9Cb3R0b20sIHVzZWRGb250QmFz
ZWxpbmVUb0JvdHRvbSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGlmICgh
YWZmZWN0c0FzY2VudCkKLSAgICAgICAgICAgICAgICAgICAgYWZmZWN0c0FzY2VudCA9IHVzZWRG
b250cy0+YXQoaSktPmFzY2VudCgpIC0gY3Vyci0+bG9naWNhbFRvcCgpID4gMDsKKyAgICAgICAg
ICAgICAgICAgICAgYWZmZWN0c0FzY2VudCA9IGZvbnRNZXRyaWNzLmFzY2VudCgpIC0gY3Vyci0+
bG9naWNhbFRvcCgpID4gMDsKICAgICAgICAgICAgICAgICBpZiAoIWFmZmVjdHNEZXNjZW50KQot
ICAgICAgICAgICAgICAgICAgICBhZmZlY3RzRGVzY2VudCA9IHVzZWRGb250cy0+YXQoaSktPmRl
c2NlbnQoKSArIGN1cnItPmxvZ2ljYWxUb3AoKSA+IDA7CisgICAgICAgICAgICAgICAgICAgIGFm
ZmVjdHNEZXNjZW50ID0gZm9udE1ldHJpY3MuZGVzY2VudCgpICsgY3Vyci0+bG9naWNhbFRvcCgp
ID4gMDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGxpbmVIZWlnaHQgPSBiYXNlbGluZSAr
IGJhc2VsaW5lVG9Cb3R0b207CiAgICAgICAgIH0gZWxzZSB7CkBAIC01MjcsMTEgKzUyOSwxMiBA
QCB2b2lkIElubGluZUZsb3dCb3g6OmNvbXB1dGVMb2dpY2FsQm94SGVpCiAgICAgICAgICAgICAg
ICAgLy8gRXhhbWluZSB0aGUgZm9udCBib3ggZm9yIGlubGluZSBmbG93cyBhbmQgdGV4dCBib3hl
cyB0byBzZWUgaWYgYW55IHBhcnQgb2YgaXQgaXMgYWJvdmUgdGhlIGJhc2VsaW5lLgogICAgICAg
ICAgICAgICAgIC8vIElmIHRoZSB0b3Agb2Ygb3VyIGZvbnQgYm94IHJlbGF0aXZlIHRvIHRoZSBy
b290IGJveCBiYXNlbGluZSBpcyBhYm92ZSB0aGUgcm9vdCBib3ggYmFzZWxpbmUsIHRoZW4KICAg
ICAgICAgICAgICAgICAvLyB3ZSBhcmUgY29udHJpYnV0aW5nIHRvIHRoZSBtYXhBc2NlbnQgdmFs
dWUuCi0gICAgICAgICAgICAgICAgYWZmZWN0c0FzY2VudCA9IGN1cnItPnJlbmRlcmVyKCktPnN0
eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpLmFzY2VudChiYXNlbGluZVR5cGUpIC0gY3Vyci0+bG9n
aWNhbFRvcCgpID4gMDsKKyAgICAgICAgICAgICAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1l
dHJpY3MgPSBjdXJyLT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnRNZXRyaWNz
KCk7CisgICAgICAgICAgICAgICAgYWZmZWN0c0FzY2VudCA9IGZvbnRNZXRyaWNzLmFzY2VudChi
YXNlbGluZVR5cGUpIC0gY3Vyci0+bG9naWNhbFRvcCgpID4gMDsKICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICAvLyBEZXNjZW50IGlzIHNpbWlsYXIuICBJZiBhbnkgcGFydCBvZiBv
dXIgZm9udCBib3ggaXMgYmVsb3cgdGhlIHJvb3QgYm94J3MgYmFzZWxpbmUsIHRoZW4KICAgICAg
ICAgICAgICAgICAvLyB3ZSBjb250cmlidXRlIHRvIHRoZSBtYXhEZXNjZW50IHZhbHVlLgotICAg
ICAgICAgICAgICAgIGFmZmVjdHNEZXNjZW50ID0gY3Vyci0+cmVuZGVyZXIoKS0+c3R5bGUobV9m
aXJzdExpbmUpLT5mb250KCkuZGVzY2VudChiYXNlbGluZVR5cGUpICsgY3Vyci0+bG9naWNhbFRv
cCgpID4gMDsKKyAgICAgICAgICAgICAgICBhZmZlY3RzRGVzY2VudCA9IGZvbnRNZXRyaWNzLmRl
c2NlbnQoYmFzZWxpbmVUeXBlKSArIGN1cnItPmxvZ2ljYWxUb3AoKSA+IDA7CiAgICAgICAgICAg
ICB9IGVsc2UgewogICAgICAgICAgICAgICAgIC8vIFJlcGxhY2VkIGVsZW1lbnRzIGFsd2F5cyBh
ZmZlY3QgYm90aCB0aGUgYXNjZW50IGFuZCBkZXNjZW50LgogICAgICAgICAgICAgICAgIGFmZmVj
dHNBc2NlbnQgPSB0cnVlOwpAQCAtNjA2LDggKzYwOSw4IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6
cGxhY2VCb3hlc0luQmxvY2tEaXIKICAgICAgICAgaW50IGJveEhlaWdodEluY2x1ZGluZ01hcmdp
bnMgPSBib3hIZWlnaHQ7CiAgICAgICAgICAgICAKICAgICAgICAgaWYgKGN1cnItPmlzVGV4dCgp
IHx8IGN1cnItPmlzSW5saW5lRmxvd0JveCgpKSB7Ci0gICAgICAgICAgICBjb25zdCBGb250JiBm
b250ID0gY3Vyci0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCk7Ci0gICAg
ICAgICAgICBuZXdMb2dpY2FsVG9wICs9IGN1cnItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVU
eXBlKSAtIGZvbnQuYXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgICAgICAgICBjb25zdCBGb250
TWV0cmljcyYgZm9udE1ldHJpY3MgPSBjdXJyLT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGlu
ZSktPmZvbnRNZXRyaWNzKCk7CisgICAgICAgICAgICBuZXdMb2dpY2FsVG9wICs9IGN1cnItPmJh
c2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlKSAtIGZvbnRNZXRyaWNzLmFzY2VudChiYXNlbGlu
ZVR5cGUpOwogICAgICAgICAgICAgaWYgKGN1cnItPmlzSW5saW5lRmxvd0JveCgpKSB7CiAgICAg
ICAgICAgICAgICAgUmVuZGVyQm94TW9kZWxPYmplY3QqIGJveE9iamVjdCA9IHRvUmVuZGVyQm94
TW9kZWxPYmplY3QoY3Vyci0+cmVuZGVyZXIoKSk7CiAgICAgICAgICAgICAgICAgbmV3TG9naWNh
bFRvcCAtPSBib3hPYmplY3QtPnN0eWxlKG1fZmlyc3RMaW5lKS0+aXNIb3Jpem9udGFsV3JpdGlu
Z01vZGUoKSA/IGJveE9iamVjdC0+Ym9yZGVyVG9wKCkgKyBib3hPYmplY3QtPnBhZGRpbmdUb3Ao
KSA6IApAQCAtNjY1LDggKzY2OCw4IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6cGxhY2VCb3hlc0lu
QmxvY2tEaXIKICAgICB9CiAKICAgICBpZiAoaXNSb290SW5saW5lQm94KCkpIHsKLSAgICAgICAg
Y29uc3QgRm9udCYgZm9udCA9IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgp
OwotICAgICAgICBzZXRMb2dpY2FsVG9wKGxvZ2ljYWxUb3AoKSArIGJhc2VsaW5lUG9zaXRpb24o
YmFzZWxpbmVUeXBlKSAtIGZvbnQuYXNjZW50KGJhc2VsaW5lVHlwZSkpOworICAgICAgICBjb25z
dCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGlu
ZSktPmZvbnRNZXRyaWNzKCk7CisgICAgICAgIHNldExvZ2ljYWxUb3AobG9naWNhbFRvcCgpICsg
YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUpIC0gZm9udE1ldHJpY3MuYXNjZW50KGJhc2Vs
aW5lVHlwZSkpOwogICAgICAgICAKICAgICAgICAgaWYgKGhhc1RleHRDaGlsZHJlbigpIHx8IHN0
cmljdE1vZGUpIHsKICAgICAgICAgICAgIGlmICghc2V0TGluZVRvcCkgewpJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5k
ZXJpbmcvSW5saW5lVGV4dEJveC5jcHAJKHJldmlzaW9uIDc0NjgzKQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvSW5saW5lVGV4dEJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1Nyw3ICs0NTcsNyBA
QCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFpCiAgICAgSW50UG9pbnQg
Ym94T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpOwogICAgIGJveE9yaWdpbi5t
b3ZlKHR4LCB0eSk7ICAgIAogICAgIEludFJlY3QgYm94UmVjdChib3hPcmlnaW4sIEludFNpemUo
bG9naWNhbFdpZHRoKCksIGxvZ2ljYWxIZWlnaHQoKSkpOwotICAgIEludFBvaW50IHRleHRPcmln
aW4gPSBJbnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpICsgc3R5bGVUb1VzZS0+
Zm9udCgpLmFzY2VudCgpKTsKKyAgICBJbnRQb2ludCB0ZXh0T3JpZ2luID0gSW50UG9pbnQoYm94
T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSArIHN0eWxlVG9Vc2UtPmZvbnRNZXRyaWNzKCkuYXNj
ZW50KCkpOwogCiAgICAgaWYgKCFpc0hvcml6b250YWwoKSkgewogICAgICAgICBjb250ZXh0LT5z
YXZlKCk7CkBAIC01OTcsOSArNTk3LDkgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludChQYWlu
dEluZm8mIHBhaQogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZW1waGFzaXNNYXJrID0gc3R5bGVU
b1VzZS0+dGV4dEVtcGhhc2lzTWFya1N0cmluZygpOwogICAgIGlmICghZW1waGFzaXNNYXJrLmlz
RW1wdHkoKSkgewogICAgICAgICBpZiAoc3R5bGVUb1VzZS0+dGV4dEVtcGhhc2lzUG9zaXRpb24o
KSA9PSBUZXh0RW1waGFzaXNQb3NpdGlvbk92ZXIpCi0gICAgICAgICAgICBlbXBoYXNpc01hcmtP
ZmZzZXQgPSAtZm9udC5hc2NlbnQoKSAtIGZvbnQuZW1waGFzaXNNYXJrRGVzY2VudChlbXBoYXNp
c01hcmspOworICAgICAgICAgICAgZW1waGFzaXNNYXJrT2Zmc2V0ID0gLWZvbnQuZm9udE1ldHJp
Y3MoKS5hc2NlbnQoKSAtIGZvbnQuZW1waGFzaXNNYXJrRGVzY2VudChlbXBoYXNpc01hcmspOwog
ICAgICAgICBlbHNlCi0gICAgICAgICAgICBlbXBoYXNpc01hcmtPZmZzZXQgPSBmb250LmRlc2Nl
bnQoKSArIGZvbnQuZW1waGFzaXNNYXJrQXNjZW50KGVtcGhhc2lzTWFyayk7CisgICAgICAgICAg
ICBlbXBoYXNpc01hcmtPZmZzZXQgPSBmb250LmZvbnRNZXRyaWNzKCkuZGVzY2VudCgpICsgZm9u
dC5lbXBoYXNpc01hcmtBc2NlbnQoZW1waGFzaXNNYXJrKTsKICAgICB9CiAKICAgICBpZiAoIXBh
aW50U2VsZWN0ZWRUZXh0T25seSkgewpAQCAtODExLDcgKzgxMSw3IEBAIHZvaWQgSW5saW5lVGV4
dEJveDo6cGFpbnREZWNvcmF0aW9uKEdyYXAKICAgICBib29sIGxpbmVzQXJlT3BhcXVlID0gIWlz
UHJpbnRpbmcgJiYgKCEoZGVjbyAmIFVOREVSTElORSkgfHwgdW5kZXJsaW5lLmFscGhhKCkgPT0g
MjU1KSAmJiAoIShkZWNvICYgT1ZFUkxJTkUpIHx8IG92ZXJsaW5lLmFscGhhKCkgPT0gMjU1KSAm
JiAoIShkZWNvICYgTElORV9USFJPVUdIKSB8fCBsaW5ldGhyb3VnaC5hbHBoYSgpID09IDI1NSk7
CiAKICAgICBSZW5kZXJTdHlsZSogc3R5bGVUb1VzZSA9IHJlbmRlcmVyKCktPnN0eWxlKG1fZmly
c3RMaW5lKTsKLSAgICBpbnQgYmFzZWxpbmUgPSBzdHlsZVRvVXNlLT5mb250KCkuYXNjZW50KCk7
CisgICAgaW50IGJhc2VsaW5lID0gc3R5bGVUb1VzZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKTsK
IAogICAgIGJvb2wgc2V0Q2xpcCA9IGZhbHNlOwogICAgIGludCBleHRyYU9mZnNldCA9IDA7CkBA
IC05NDQsNyArOTQ0LDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxsaW5nT3JHcmFt
bQogICAgIC8vIFNvLCB3ZSBnZW5lcmFsbHkgcGxhY2UgdGhlIHVuZGVybGluZSBhdCB0aGUgYm90
dG9tIG9mIHRoZSB0ZXh0LCBidXQgaW4gbGFyZ2VyIGZvbnRzIHRoYXQncyBub3Qgc28gZ29vZCBz
bwogICAgIC8vIHdlIHBpbiB0byB0d28gcGl4ZWxzIHVuZGVyIHRoZSBiYXNlbGluZS4KICAgICBp
bnQgbGluZVRoaWNrbmVzcyA9IGNNaXNzcGVsbGluZ0xpbmVUaGlja25lc3M7Ci0gICAgaW50IGJh
c2VsaW5lID0gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCkuYXNjZW50KCk7
CisgICAgaW50IGJhc2VsaW5lID0gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250
TWV0cmljcygpLmFzY2VudCgpOwogICAgIGludCBkZXNjZW50ID0gbG9naWNhbEhlaWdodCgpIC0g
YmFzZWxpbmU7CiAgICAgaW50IHVuZGVybGluZU9mZnNldDsKICAgICBpZiAoZGVzY2VudCA8PSAo
MiArIGxpbmVUaGlja25lc3MpKSB7CkBAIC0xMTAxLDcgKzExMDEsNyBAQCB2b2lkIElubGluZVRl
eHRCb3g6OnBhaW50Q29tcG9zaXRpb25VbmRlCiAgICAgLy8gQWxsIG90aGVyIG1hcmtlZCB0ZXh0
IHVuZGVybGluZXMgYXJlIDFweCB0aGljay4KICAgICAvLyBJZiB0aGVyZSdzIG5vdCBlbm91Z2gg
c3BhY2UgdGhlIHVuZGVybGluZSB3aWxsIHRvdWNoIG9yIG92ZXJsYXAgY2hhcmFjdGVycy4KICAg
ICBpbnQgbGluZVRoaWNrbmVzcyA9IDE7Ci0gICAgaW50IGJhc2VsaW5lID0gcmVuZGVyZXIoKS0+
c3R5bGUobV9maXJzdExpbmUpLT5mb250KCkuYXNjZW50KCk7CisgICAgaW50IGJhc2VsaW5lID0g
cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250TWV0cmljcygpLmFzY2VudCgpOwog
ICAgIGlmICh1bmRlcmxpbmUudGhpY2sgJiYgbG9naWNhbEhlaWdodCgpIC0gYmFzZWxpbmUgPj0g
MikKICAgICAgICAgbGluZVRoaWNrbmVzcyA9IDI7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5jcHAJKHJldmlzaW9uIDc0NjgzKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OTYwLDggKzQ5NjAsOCBAQCBpbnQgUmVuZGVyQmxv
Y2s6OmJhc2VsaW5lUG9zaXRpb24oRm9udEJhCiAgICAgICAgIHJldHVybiBSZW5kZXJCb3g6OmJh
c2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBmaXJzdExpbmUsIGRpcmVjdGlvbiwgbGluZVBv
c2l0aW9uTW9kZSk7CiAgICAgfQogCi0gICAgY29uc3QgRm9udCYgZiA9IHN0eWxlKGZpcnN0TGlu
ZSktPmZvbnQoKTsKLSAgICByZXR1cm4gZi5hc2NlbnQoYmFzZWxpbmVUeXBlKSArIChsaW5lSGVp
Z2h0KGZpcnN0TGluZSwgZGlyZWN0aW9uLCBsaW5lUG9zaXRpb25Nb2RlKSAtIGYuaGVpZ2h0KCkp
IC8gMjsKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBzdHlsZShmaXJzdExp
bmUpLT5mb250TWV0cmljcygpOworICAgIHJldHVybiBmb250TWV0cmljcy5hc2NlbnQoYmFzZWxp
bmVUeXBlKSArIChsaW5lSGVpZ2h0KGZpcnN0TGluZSwgZGlyZWN0aW9uLCBsaW5lUG9zaXRpb25N
b2RlKSAtIGZvbnRNZXRyaWNzLmhlaWdodCgpKSAvIDI7CiB9CiAKIGludCBSZW5kZXJCbG9jazo6
Zmlyc3RMaW5lQm94QmFzZWxpbmUoKSBjb25zdApAQCAtNDk3MSw3ICs0OTcxLDcgQEAgaW50IFJl
bmRlckJsb2NrOjpmaXJzdExpbmVCb3hCYXNlbGluZSgpIAogCiAgICAgaWYgKGNoaWxkcmVuSW5s
aW5lKCkpIHsKICAgICAgICAgaWYgKGZpcnN0TGluZUJveCgpKQotICAgICAgICAgICAgcmV0dXJu
IGZpcnN0TGluZUJveCgpLT5sb2dpY2FsVG9wKCkgKyBzdHlsZSh0cnVlKS0+Zm9udCgpLmFzY2Vu
dChmaXJzdFJvb3RCb3goKS0+YmFzZWxpbmVUeXBlKCkpOworICAgICAgICAgICAgcmV0dXJuIGZp
cnN0TGluZUJveCgpLT5sb2dpY2FsVG9wKCkgKyBzdHlsZSh0cnVlKS0+Zm9udE1ldHJpY3MoKS5h
c2NlbnQoZmlyc3RSb290Qm94KCktPmJhc2VsaW5lVHlwZSgpKTsKICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KQEAgLTQ5OTcsMTEgKzQ5OTcsMTMgQEAgaW50IFJl
bmRlckJsb2NrOjpsYXN0TGluZUJveEJhc2VsaW5lKCkgYwogCiAgICAgaWYgKGNoaWxkcmVuSW5s
aW5lKCkpIHsKICAgICAgICAgaWYgKCFmaXJzdExpbmVCb3goKSAmJiBoYXNMaW5lSWZFbXB0eSgp
KSB7Ci0gICAgICAgICAgICBjb25zdCBGb250JiBmID0gZmlyc3RMaW5lU3R5bGUoKS0+Zm9udCgp
OwotICAgICAgICAgICAgcmV0dXJuIGYuYXNjZW50KCkgKyAobGluZUhlaWdodCh0cnVlLCBsaW5l
RGlyZWN0aW9uLCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpIC0gZi5oZWlnaHQoKSkgLyAy
ICsgKGxpbmVEaXJlY3Rpb24gPT0gSG9yaXpvbnRhbExpbmUgPyBib3JkZXJUb3AoKSArIHBhZGRp
bmdUb3AoKSA6IGJvcmRlclJpZ2h0KCkgKyBwYWRkaW5nUmlnaHQoKSk7CisgICAgICAgICAgICBj
b25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBmaXJzdExpbmVTdHlsZSgpLT5mb250TWV0
cmljcygpOworICAgICAgICAgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmFzY2VudCgpCisgICAgICAg
ICAgICAgICAgICsgKGxpbmVIZWlnaHQodHJ1ZSwgbGluZURpcmVjdGlvbiwgUG9zaXRpb25PZklu
dGVyaW9yTGluZUJveGVzKSAtIGZvbnRNZXRyaWNzLmhlaWdodCgpKSAvIDIKKyAgICAgICAgICAg
ICAgICAgKyAobGluZURpcmVjdGlvbiA9PSBIb3Jpem9udGFsTGluZSA/IGJvcmRlclRvcCgpICsg
cGFkZGluZ1RvcCgpIDogYm9yZGVyUmlnaHQoKSArIHBhZGRpbmdSaWdodCgpKTsKICAgICAgICAg
fQogICAgICAgICBpZiAobGFzdExpbmVCb3goKSkKLSAgICAgICAgICAgIHJldHVybiBsYXN0TGlu
ZUJveCgpLT5sb2dpY2FsVG9wKCkgKyBzdHlsZShsYXN0TGluZUJveCgpID09IGZpcnN0TGluZUJv
eCgpKS0+Zm9udCgpLmFzY2VudChsYXN0Um9vdEJveCgpLT5iYXNlbGluZVR5cGUoKSk7CisgICAg
ICAgICAgICByZXR1cm4gbGFzdExpbmVCb3goKS0+bG9naWNhbFRvcCgpICsgc3R5bGUobGFzdExp
bmVCb3goKSA9PSBmaXJzdExpbmVCb3goKSktPmZvbnRNZXRyaWNzKCkuYXNjZW50KGxhc3RSb290
Qm94KCktPmJhc2VsaW5lVHlwZSgpKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0gZWxzZSB7
CiAgICAgICAgIGJvb2wgaGF2ZU5vcm1hbEZsb3dDaGlsZCA9IGZhbHNlOwpAQCAtNTAxNCw4ICs1
MDE2LDEwIEBAIGludCBSZW5kZXJCbG9jazo6bGFzdExpbmVCb3hCYXNlbGluZSgpIGMKICAgICAg
ICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBpZiAoIWhhdmVOb3JtYWxGbG93Q2hpbGQgJiYg
aGFzTGluZUlmRW1wdHkoKSkgewotICAgICAgICAgICAgY29uc3QgRm9udCYgZiA9IGZpcnN0TGlu
ZVN0eWxlKCktPmZvbnQoKTsKLSAgICAgICAgICAgIHJldHVybiBmLmFzY2VudCgpICsgKGxpbmVI
ZWlnaHQodHJ1ZSwgbGluZURpcmVjdGlvbiwgUG9zaXRpb25PZkludGVyaW9yTGluZUJveGVzKSAt
IGYuaGVpZ2h0KCkpIC8gMiArIChsaW5lRGlyZWN0aW9uID09IEhvcml6b250YWxMaW5lID8gYm9y
ZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkgOiBib3JkZXJSaWdodCgpICsgcGFkZGluZ1JpZ2h0KCkp
OworICAgICAgICAgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZmlyc3RMaW5l
U3R5bGUoKS0+Zm9udE1ldHJpY3MoKTsKKyAgICAgICAgICAgIHJldHVybiBmb250TWV0cmljcy5h
c2NlbnQoKQorICAgICAgICAgICAgICAgICArIChsaW5lSGVpZ2h0KHRydWUsIGxpbmVEaXJlY3Rp
b24sIFBvc2l0aW9uT2ZJbnRlcmlvckxpbmVCb3hlcykgLSBmb250TWV0cmljcy5oZWlnaHQoKSkg
LyAyCisgICAgICAgICAgICAgICAgICsgKGxpbmVEaXJlY3Rpb24gPT0gSG9yaXpvbnRhbExpbmUg
PyBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKSA6IGJvcmRlclJpZ2h0KCkgKyBwYWRkaW5nUmln
aHQoKSk7CiAgICAgICAgIH0KICAgICB9CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAko
cmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOTY0LDcgKzI5NjQsNyBAQCBJbnRSZWN0IFJlbmRlckJveDo6bG9jYWxD
YXJldFJlY3QoSW5saW5lCiAgICAgLy8gPHJkYXI6Ly9wcm9ibGVtLzM3Nzc4MDQ+IERlbGV0aW5n
IGFsbCBjb250ZW50IGluIGEgZG9jdW1lbnQgY2FuIHJlc3VsdCBpbiBnaWFudCB0YWxsLWFzLXdp
bmRvdyBpbnNlcnRpb24gcG9pbnQKICAgICAvLwogICAgIC8vIEZJWE1FOiBpZ25vcmluZyA6Zmly
c3QtbGluZSwgbWlzc2luZyBnb29kIHJlYXNvbiB0byB0YWtlIGNhcmUgb2YKLSAgICBpbnQgZm9u
dEhlaWdodCA9IHN0eWxlKCktPmZvbnQoKS5oZWlnaHQoKTsKKyAgICBpbnQgZm9udEhlaWdodCA9
IHN0eWxlKCktPmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCk7CiAgICAgaWYgKGZvbnRIZWlnaHQgPiBy
ZWN0LmhlaWdodCgpIHx8ICghaXNSZXBsYWNlZCgpICYmICFpc1RhYmxlKCkpKQogICAgICAgICBy
ZWN0LnNldEhlaWdodChmb250SGVpZ2h0KTsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRW1iZWRkZWRPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckVtYmVkZGVkT2JqZWN0LmNwcAkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3MCw4ICsx
NzAsOSBAQCB2b2lkIFJlbmRlckVtYmVkZGVkT2JqZWN0OjpwYWludFJlcGxhY2VkCiAgICAgY29u
dGV4dC0+c2V0RmlsbENvbG9yKG1fbWlzc2luZ1BsdWdpbkluZGljYXRvcklzUHJlc3NlZCA/IHJl
cGxhY2VtZW50VGV4dFJvdW5kZWRSZWN0UHJlc3NlZENvbG9yKCkgOiBDb2xvcjo6d2hpdGUsIHN0
eWxlKCktPmNvbG9yU3BhY2UoKSk7CiAgICAgY29udGV4dC0+ZmlsbFBhdGgocGF0aCk7CiAKKyAg
ICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBmb250LmZvbnRNZXRyaWNzKCk7CiAg
ICAgZmxvYXQgbGFiZWxYID0gcm91bmRmKHJlcGxhY2VtZW50VGV4dFJlY3QubG9jYXRpb24oKS54
KCkgKyAocmVwbGFjZW1lbnRUZXh0UmVjdC5zaXplKCkud2lkdGgoKSAtIHRleHRXaWR0aCkgLyAy
KTsKLSAgICBmbG9hdCBsYWJlbFkgPSByb3VuZGYocmVwbGFjZW1lbnRUZXh0UmVjdC5sb2NhdGlv
bigpLnkoKSArIChyZXBsYWNlbWVudFRleHRSZWN0LnNpemUoKS5oZWlnaHQoKSAtIGZvbnQuaGVp
Z2h0KCkpIC8gMiArIGZvbnQuYXNjZW50KCkpOworICAgIGZsb2F0IGxhYmVsWSA9IHJvdW5kZihy
ZXBsYWNlbWVudFRleHRSZWN0LmxvY2F0aW9uKCkueSgpICsgKHJlcGxhY2VtZW50VGV4dFJlY3Qu
c2l6ZSgpLmhlaWdodCgpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpIC8gMiArIGZvbnRNZXRyaWNz
LmFzY2VudCgpKTsKICAgICBjb250ZXh0LT5zZXRBbHBoYShtX21pc3NpbmdQbHVnaW5JbmRpY2F0
b3JJc1ByZXNzZWQgPyByZXBsYWNlbWVudFRleHRQcmVzc2VkVGV4dE9wYWNpdHkgOiByZXBsYWNl
bWVudFRleHRUZXh0T3BhY2l0eSk7CiAgICAgY29udGV4dC0+c2V0RmlsbENvbG9yKENvbG9yOjpi
bGFjaywgc3R5bGUoKS0+Y29sb3JTcGFjZSgpKTsKICAgICBjb250ZXh0LT5kcmF3QmlkaVRleHQo
Zm9udCwgcnVuLCBGbG9hdFBvaW50KGxhYmVsWCwgbGFiZWxZKSk7CkluZGV4OiBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW1hZ2UuY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTExLDcgKzExMSw3IEBAIGJvb2wgUmVu
ZGVySW1hZ2U6OnNldEltYWdlU2l6ZUZvckFsdFRleHQKICAgICAvLyB3ZSBoYXZlIGFuIGFsdCBh
bmQgdGhlIHVzZXIgbWVhbnQgaXQgKGl0cyBub3QgYSB0ZXh0IHdlIGludmVudGVkKQogICAgIGlm
ICghbV9hbHRUZXh0LmlzRW1wdHkoKSkgewogICAgICAgICBjb25zdCBGb250JiBmb250ID0gc3R5
bGUoKS0+Zm9udCgpOwotICAgICAgICBJbnRTaXplIHRleHRTaXplKG1pbihmb250LndpZHRoKFRl
eHRSdW4obV9hbHRUZXh0LmNoYXJhY3RlcnMoKSwgbV9hbHRUZXh0Lmxlbmd0aCgpKSksIG1heEFs
dFRleHRXaWR0aCksIG1pbihmb250LmhlaWdodCgpLCBtYXhBbHRUZXh0SGVpZ2h0KSk7CisgICAg
ICAgIEludFNpemUgdGV4dFNpemUobWluKGZvbnQud2lkdGgoVGV4dFJ1bihtX2FsdFRleHQuY2hh
cmFjdGVycygpLCBtX2FsdFRleHQubGVuZ3RoKCkpKSwgbWF4QWx0VGV4dFdpZHRoKSwgbWluKGZv
bnQuZm9udE1ldHJpY3MoKS5oZWlnaHQoKSwgbWF4QWx0VGV4dEhlaWdodCkpOwogICAgICAgICBp
bWFnZVNpemUgPSBpbWFnZVNpemUuZXhwYW5kZWRUbyh0ZXh0U2l6ZSk7CiAgICAgfQogCkBAIC0y
ODgsMTcgKzI4OCwxOCBAQCB2b2lkIFJlbmRlckltYWdlOjpwYWludFJlcGxhY2VkKFBhaW50SW5m
CiAgICAgICAgICAgICAgICAgaW50IGF4ID0gdHggKyBsZWZ0Qm9yZGVyICsgbGVmdFBhZDsKICAg
ICAgICAgICAgICAgICBpbnQgYXkgPSB0eSArIHRvcEJvcmRlciArIHRvcFBhZDsKICAgICAgICAg
ICAgICAgICBjb25zdCBGb250JiBmb250ID0gc3R5bGUoKS0+Zm9udCgpOwotICAgICAgICAgICAg
ICAgIGludCBhc2NlbnQgPSBmb250LmFzY2VudCgpOworICAgICAgICAgICAgICAgIGNvbnN0IEZv
bnRNZXRyaWNzJiBmb250TWV0cmljcyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKKyAgICAgICAgICAg
ICAgICBpbnQgYXNjZW50ID0gZm9udE1ldHJpY3MuYXNjZW50KCk7CiAKICAgICAgICAgICAgICAg
ICAvLyBPbmx5IGRyYXcgdGhlIGFsdCB0ZXh0IGlmIGl0J2xsIGZpdCB3aXRoaW4gdGhlIGNvbnRl
bnQgYm94LAogICAgICAgICAgICAgICAgIC8vIGFuZCBvbmx5IGlmIGl0IGZpdHMgYWJvdmUgdGhl
IGVycm9yIGltYWdlLgogICAgICAgICAgICAgICAgIFRleHRSdW4gdGV4dFJ1bih0ZXh0LmNoYXJh
Y3RlcnMoKSwgdGV4dC5sZW5ndGgoKSk7CiAgICAgICAgICAgICAgICAgaW50IHRleHRXaWR0aCA9
IGZvbnQud2lkdGgodGV4dFJ1bik7CiAgICAgICAgICAgICAgICAgaWYgKGVycm9yUGljdHVyZURy
YXduKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh1c2FibGVXaWR0aCA+PSB0ZXh0V2lkdGgg
JiYgZm9udC5oZWlnaHQoKSA8PSBpbWFnZVkpCi0gICAgICAgICAgICAgICAgICAgICAgICBjb250
ZXh0LT5kcmF3VGV4dChzdHlsZSgpLT5mb250KCksIHRleHRSdW4sIEludFBvaW50KGF4LCBheSAr
IGFzY2VudCkpOwotICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodXNhYmxlV2lkdGggPj0gdGV4
dFdpZHRoICYmIGNIZWlnaHQgPj0gZm9udC5oZWlnaHQoKSkKLSAgICAgICAgICAgICAgICAgICAg
Y29udGV4dC0+ZHJhd1RleHQoc3R5bGUoKS0+Zm9udCgpLCB0ZXh0UnVuLCBJbnRQb2ludChheCwg
YXkgKyBhc2NlbnQpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHVzYWJsZVdpZHRoID49IHRl
eHRXaWR0aCAmJiBmb250TWV0cmljcy5oZWlnaHQoKSA8PSBpbWFnZVkpCisgICAgICAgICAgICAg
ICAgICAgICAgICBjb250ZXh0LT5kcmF3VGV4dChmb250LCB0ZXh0UnVuLCBJbnRQb2ludChheCwg
YXkgKyBhc2NlbnQpKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHVzYWJsZVdpZHRoID49
IHRleHRXaWR0aCAmJiBjSGVpZ2h0ID49IGZvbnRNZXRyaWNzLmhlaWdodCgpKQorICAgICAgICAg
ICAgICAgICAgICBjb250ZXh0LT5kcmF3VGV4dChmb250LCB0ZXh0UnVuLCBJbnRQb2ludChheCwg
YXkgKyBhc2NlbnQpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAo
bV9pbWFnZVJlc291cmNlLT5oYXNJbWFnZSgpICYmIGNXaWR0aCA+IDAgJiYgY0hlaWdodCA+IDAp
IHsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAkocmV2aXNpb24gNzQ2ODMpCisr
KyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05
MDQsOCArOTA0LDggQEAgaW50IFJlbmRlcklubGluZTo6bGluZUhlaWdodChib29sIGZpcnN0TAog
CiBpbnQgUmVuZGVySW5saW5lOjpiYXNlbGluZVBvc2l0aW9uKEZvbnRCYXNlbGluZSBiYXNlbGlu
ZVR5cGUsIGJvb2wgZmlyc3RMaW5lLCBMaW5lRGlyZWN0aW9uTW9kZSBkaXJlY3Rpb24sIExpbmVQ
b3NpdGlvbk1vZGUgbGluZVBvc2l0aW9uTW9kZSkgY29uc3QKIHsKLSAgICBjb25zdCBGb250JiBm
ID0gc3R5bGUoZmlyc3RMaW5lKS0+Zm9udCgpOwotICAgIHJldHVybiBmLmFzY2VudChiYXNlbGlu
ZVR5cGUpICsgKGxpbmVIZWlnaHQoZmlyc3RMaW5lLCBkaXJlY3Rpb24sIGxpbmVQb3NpdGlvbk1v
ZGUpIC0gZi5oZWlnaHQoKSkgLyAyOworICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmlj
cyA9IHN0eWxlKGZpcnN0TGluZSktPmZvbnRNZXRyaWNzKCk7CisgICAgcmV0dXJuIGZvbnRNZXRy
aWNzLmFzY2VudChiYXNlbGluZVR5cGUpICsgKGxpbmVIZWlnaHQoZmlyc3RMaW5lLCBkaXJlY3Rp
b24sIGxpbmVQb3NpdGlvbk1vZGUpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpIC8gMjsKIH0KIAog
SW50U2l6ZSBSZW5kZXJJbmxpbmU6OnJlbGF0aXZlUG9zaXRpb25lZElubGluZU9mZnNldChjb25z
dCBSZW5kZXJCb3gqIGNoaWxkKSBjb25zdApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGlzdEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJv
eC5jcHAJKHJldmlzaW9uIDc0NjgzKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJv
eC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwNiw3ICszMDYsNyBAQCB2b2lkIFJlbmRlckxpc3RC
b3g6OnBhaW50SXRlbUZvcmVncm91bmQoCiAKICAgICAvLyBEZXRlcm1pbmUgd2hlcmUgdGhlIGl0
ZW0gdGV4dCBzaG91bGQgYmUgcGxhY2VkCiAgICAgSW50UmVjdCByID0gaXRlbUJvdW5kaW5nQm94
UmVjdCh0eCwgdHksIGxpc3RJbmRleCk7Ci0gICAgci5tb3ZlKG9wdGlvbnNTcGFjaW5nSG9yaXpv
bnRhbCwgc3R5bGUoKS0+Zm9udCgpLmFzY2VudCgpKTsKKyAgICByLm1vdmUob3B0aW9uc1NwYWNp
bmdIb3Jpem9udGFsLCBzdHlsZSgpLT5mb250TWV0cmljcygpLmFzY2VudCgpKTsKIAogICAgIFJl
bmRlclN0eWxlKiBpdGVtU3R5bGUgPSBlbGVtZW50LT5yZW5kZXJTdHlsZSgpOwogICAgIGlmICgh
aXRlbVN0eWxlKQpAQCAtNTUxLDcgKzU1MSw3IEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6dmFsdWVD
aGFuZ2VkKFNjcm9sbGIKIAogaW50IFJlbmRlckxpc3RCb3g6Oml0ZW1IZWlnaHQoKSBjb25zdAog
ewotICAgIHJldHVybiBzdHlsZSgpLT5mb250KCkuaGVpZ2h0KCkgKyByb3dTcGFjaW5nOworICAg
IHJldHVybiBzdHlsZSgpLT5mb250TWV0cmljcygpLmhlaWdodCgpICsgcm93U3BhY2luZzsKIH0K
IAogaW50IFJlbmRlckxpc3RCb3g6OnZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgoKSBjb25zdApJbmRl
eDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAJKHJldmlzaW9uIDc0NjgzKQor
KysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEyNjQsNyArMTI2NCw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6cGFpbnQoUGFpbnRJ
bmZvJiAKICAgICAgICAgY29udGV4dC0+dHJhbnNsYXRlKC1tYXJrZXIueCgpLCAtbWFya2VyLmJv
dHRvbSgpKTsKICAgICB9CiAKLSAgICBJbnRQb2ludCB0ZXh0T3JpZ2luID0gSW50UG9pbnQobWFy
a2VyLngoKSwgbWFya2VyLnkoKSArIHN0eWxlKCktPmZvbnQoKS5hc2NlbnQoKSk7CisgICAgSW50
UG9pbnQgdGV4dE9yaWdpbiA9IEludFBvaW50KG1hcmtlci54KCksIG1hcmtlci55KCkgKyBzdHls
ZSgpLT5mb250TWV0cmljcygpLmFzY2VudCgpKTsKIAogICAgIGlmICh0eXBlID09IEFzdGVyaXNr
cyB8fCB0eXBlID09IEZvb3Rub3RlcykKICAgICAgICAgY29udGV4dC0+ZHJhd1RleHQoc3R5bGUo
KS0+Zm9udCgpLCB0ZXh0UnVuLCB0ZXh0T3JpZ2luKTsKQEAgLTEzMTAsNyArMTMxMCw3IEBAIHZv
aWQgUmVuZGVyTGlzdE1hcmtlcjo6bGF5b3V0KCkKICAgICAgICAgc2V0SGVpZ2h0KG1faW1hZ2Ut
PmltYWdlU2l6ZSh0aGlzLCBzdHlsZSgpLT5lZmZlY3RpdmVab29tKCkpLmhlaWdodCgpKTsKICAg
ICB9IGVsc2UgewogICAgICAgICBzZXRMb2dpY2FsV2lkdGgobWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoKCkpOwotICAgICAgICBzZXRMb2dpY2FsSGVpZ2h0KHN0eWxlKCktPmZvbnQoKS5oZWlnaHQo
KSk7CisgICAgICAgIHNldExvZ2ljYWxIZWlnaHQoc3R5bGUoKS0+Zm9udE1ldHJpY3MoKS5oZWln
aHQoKSk7CiAgICAgfQogCiAgICAgc2V0TWFyZ2luU3RhcnQoMCk7CkBAIC0xMzQ1LDExICsxMzQ1
LDEyIEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6Y29tcHV0ZVByZWZlcnJlZEwKICAgICBtX3Rl
eHQgPSAiIjsKIAogICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHlsZSgpLT5mb250KCk7CisgICAg
Y29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZm9udC5mb250TWV0cmljcygpOwogCiAg
ICAgaWYgKGlzSW1hZ2UoKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBpcyBhIHNvbWV3aGF0
IGFyYml0cmFyeSB3aWR0aC4gIEdlbmVyYXRlZCBpbWFnZXMgZm9yIG1hcmtlcnMgcmVhbGx5IHdv
bid0IGJlY29tZSBwYXJ0aWN1bGFybHkgdXNlZnVsCiAgICAgICAgIC8vIHVudGlsIHdlIHN1cHBv
cnQgdGhlIENTUzMgbWFya2VyIHBzZXVkb2NsYXNzIHRvIGFsbG93IGNvbnRyb2wgb3ZlciB0aGUg
d2lkdGggYW5kIGhlaWdodCBvZiB0aGUgbWFya2VyIGJveC4KLSAgICAgICAgaW50IGJ1bGxldFdp
ZHRoID0gZm9udC5hc2NlbnQoKSAvIDI7CisgICAgICAgIGludCBidWxsZXRXaWR0aCA9IGZvbnRN
ZXRyaWNzLmFzY2VudCgpIC8gMjsKICAgICAgICAgbV9pbWFnZS0+c2V0SW1hZ2VDb250YWluZXJT
aXplKEludFNpemUoYnVsbGV0V2lkdGgsIGJ1bGxldFdpZHRoKSk7CiAgICAgICAgIEludFNpemUg
aW1hZ2VTaXplID0gbV9pbWFnZS0+aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCktPmVmZmVjdGl2ZVpv
b20oKSk7CiAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbV9tYXhQcmVmZXJy
ZWRMb2dpY2FsV2lkdGggPSBzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gaW1h
Z2VTaXplLndpZHRoKCkgOiBpbWFnZVNpemUuaGVpZ2h0KCk7CkBAIC0xMzcyLDcgKzEzNzMsNyBA
QCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OmNvbXB1dGVQcmVmZXJyZWRMCiAgICAgICAgIGNhc2Ug
RGlzYzoKICAgICAgICAgY2FzZSBTcXVhcmU6CiAgICAgICAgICAgICBtX3RleHQgPSBsaXN0TWFy
a2VyVGV4dCh0eXBlLCAwKTsgLy8gdmFsdWUgaXMgaWdub3JlZCBmb3IgdGhlc2UgdHlwZXMKLSAg
ICAgICAgICAgIGxvZ2ljYWxXaWR0aCA9IChmb250LmFzY2VudCgpICogMiAvIDMgKyAxKSAvIDIg
KyAyOworICAgICAgICAgICAgbG9naWNhbFdpZHRoID0gKGZvbnRNZXRyaWNzLmFzY2VudCgpICog
MiAvIDMgKyAxKSAvIDIgKyAyOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQWZh
cjoKICAgICAgICAgY2FzZSBBbWhhcmljOgpAQCAtMTQ3MSw3ICsxNDcyLDcgQEAgdm9pZCBSZW5k
ZXJMaXN0TWFya2VyOjpjb21wdXRlUHJlZmVycmVkTAogCiB2b2lkIFJlbmRlckxpc3RNYXJrZXI6
OnVwZGF0ZU1hcmdpbnMoKQogewotICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHlsZSgpLT5mb250
KCk7CisgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gc3R5bGUoKS0+Zm9udE1l
dHJpY3MoKTsKIAogICAgIGludCBtYXJnaW5TdGFydCA9IDA7CiAgICAgaW50IG1hcmdpbkVuZCA9
IDA7CkBAIC0xNDg0LDcgKzE0ODUsNyBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZU1h
cmdpbnMoKQogICAgICAgICAgICAgY2FzZSBDaXJjbGU6CiAgICAgICAgICAgICBjYXNlIFNxdWFy
ZToKICAgICAgICAgICAgICAgICBtYXJnaW5TdGFydCA9IC0xOwotICAgICAgICAgICAgICAgIG1h
cmdpbkVuZCA9IGZvbnQuYXNjZW50KCkgLSBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSArIDE7
CisgICAgICAgICAgICAgICAgbWFyZ2luRW5kID0gZm9udE1ldHJpY3MuYXNjZW50KCkgLSBtaW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGgoKSArIDE7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTQ5NCw3ICsxNDk1
LDcgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVNYXJnaW5zKCkKICAgICAgICAgICAg
IGlmIChpc0ltYWdlKCkpCiAgICAgICAgICAgICAgICAgbWFyZ2luU3RhcnQgPSAtbWluUHJlZmVy
cmVkTG9naWNhbFdpZHRoKCkgLSBjTWFya2VyUGFkZGluZzsKICAgICAgICAgICAgIGVsc2Ugewot
ICAgICAgICAgICAgICAgIGludCBvZmZzZXQgPSBmb250LmFzY2VudCgpICogMiAvIDM7CisgICAg
ICAgICAgICAgICAgaW50IG9mZnNldCA9IGZvbnRNZXRyaWNzLmFzY2VudCgpICogMiAvIDM7CiAg
ICAgICAgICAgICAgICAgc3dpdGNoIChzdHlsZSgpLT5saXN0U3R5bGVUeXBlKCkpIHsKICAgICAg
ICAgICAgICAgICAgICAgY2FzZSBEaXNjOgogICAgICAgICAgICAgICAgICAgICBjYXNlIENpcmNs
ZToKQEAgLTE1MTIsNyArMTUxMyw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6dXBkYXRlTWFy
Z2lucygpCiAgICAgICAgICAgICBpZiAoaXNJbWFnZSgpKQogICAgICAgICAgICAgICAgIG1hcmdp
bkVuZCA9IGNNYXJrZXJQYWRkaW5nOwogICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAg
ICAgaW50IG9mZnNldCA9IGZvbnQuYXNjZW50KCkgKiAyIC8gMzsKKyAgICAgICAgICAgICAgICBp
bnQgb2Zmc2V0ID0gZm9udE1ldHJpY3MuYXNjZW50KCkgKiAyIC8gMzsKICAgICAgICAgICAgICAg
ICBzd2l0Y2ggKHN0eWxlKCktPmxpc3RTdHlsZVR5cGUoKSkgewogICAgICAgICAgICAgICAgICAg
ICBjYXNlIERpc2M6CiAgICAgICAgICAgICAgICAgICAgIGNhc2UgQ2lyY2xlOgpAQCAtMTU4Mywx
NSArMTU4NCwxNSBAQCBJbnRSZWN0IFJlbmRlckxpc3RNYXJrZXI6OmdldFJlbGF0aXZlTWFyCiAg
ICAgICAgIGNhc2UgQXN0ZXJpc2tzOgogICAgICAgICBjYXNlIEZvb3Rub3RlczogewogICAgICAg
ICAgICAgY29uc3QgRm9udCYgZm9udCA9IHN0eWxlKCktPmZvbnQoKTsKLSAgICAgICAgICAgIHJl
bGF0aXZlUmVjdCA9IEludFJlY3QoMCwgMCwgZm9udC53aWR0aChtX3RleHQpLCBmb250LmhlaWdo
dCgpKTsKKyAgICAgICAgICAgIHJlbGF0aXZlUmVjdCA9IEludFJlY3QoMCwgMCwgZm9udC53aWR0
aChtX3RleHQpLCBmb250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkpOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBEaXNjOgogICAgICAgICBjYXNlIENpcmNsZToK
ICAgICAgICAgY2FzZSBTcXVhcmU6IHsKICAgICAgICAgICAgIC8vIEZJWE1FOiBBcmUgdGhlc2Ug
cGFydGljdWxhciByb3VuZGluZyBydWxlcyBuZWNlc3Nhcnk/Ci0gICAgICAgICAgICBjb25zdCBG
b250JiBmb250ID0gc3R5bGUoKS0+Zm9udCgpOwotICAgICAgICAgICAgaW50IGFzY2VudCA9IGZv
bnQuYXNjZW50KCk7CisgICAgICAgICAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3Mg
PSBzdHlsZSgpLT5mb250TWV0cmljcygpOworICAgICAgICAgICAgaW50IGFzY2VudCA9IGZvbnRN
ZXRyaWNzLmFzY2VudCgpOwogICAgICAgICAgICAgaW50IGJ1bGxldFdpZHRoID0gKGFzY2VudCAq
IDIgLyAzICsgMSkgLyAyOwogICAgICAgICAgICAgcmVsYXRpdmVSZWN0ID0gSW50UmVjdCgxLCAz
ICogKGFzY2VudCAtIGFzY2VudCAqIDIgLyAzKSAvIDIsIGJ1bGxldFdpZHRoLCBidWxsZXRXaWR0
aCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTE2NzksNyArMTY4MCw3IEBAIEludFJlY3QgUmVu
ZGVyTGlzdE1hcmtlcjo6Z2V0UmVsYXRpdmVNYXIKICAgICAgICAgICAgIGludCBpdGVtV2lkdGgg
PSBmb250LndpZHRoKG1fdGV4dCk7CiAgICAgICAgICAgICBVQ2hhciBzdWZmaXhTcGFjZVsyXSA9
IHsgbGlzdE1hcmtlclN1ZmZpeCh0eXBlLCBtX2xpc3RJdGVtLT52YWx1ZSgpKSwgJyAnIH07CiAg
ICAgICAgICAgICBpbnQgc3VmZml4U3BhY2VXaWR0aCA9IGZvbnQud2lkdGgoVGV4dFJ1bihzdWZm
aXhTcGFjZSwgMikpOwotICAgICAgICAgICAgcmVsYXRpdmVSZWN0ID0gSW50UmVjdCgwLCAwLCBp
dGVtV2lkdGggKyBzdWZmaXhTcGFjZVdpZHRoLCBmb250LmhlaWdodCgpKTsKKyAgICAgICAgICAg
IHJlbGF0aXZlUmVjdCA9IEludFJlY3QoMCwgMCwgaXRlbVdpZHRoICsgc3VmZml4U3BhY2VXaWR0
aCwgZm9udC5mb250TWV0cmljcygpLmhlaWdodCgpKTsKICAgICB9CiAKICAgICBpZiAoIXN0eWxl
KCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpIHsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHRDb250cm9sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbC5jcHAJKHJldmlzaW9uIDc0NjgzKQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MDcsNyArNjA3LDcg
QEAgdm9pZCBSZW5kZXJUZXh0Q29udHJvbDo6cGFpbnRQbGFjZWhvbGRlcgogICAgIFJlbmRlckJv
eCogdGV4dFJlbmRlcmVyID0gaW5uZXJUZXh0RWxlbWVudCgpID8gaW5uZXJUZXh0RWxlbWVudCgp
LT5yZW5kZXJCb3goKSA6IDA7CiAgICAgaWYgKHRleHRSZW5kZXJlcikgewogICAgICAgICBJbnRQ
b2ludCB0ZXh0UG9pbnQ7Ci0gICAgICAgIHRleHRQb2ludC5zZXRZKHR5ICsgdGV4dEJsb2NrSW5z
ZXRUb3AoKSArIHBsYWNlaG9sZGVyU3R5bGUtPmZvbnQoKS5hc2NlbnQoKSk7CisgICAgICAgIHRl
eHRQb2ludC5zZXRZKHR5ICsgdGV4dEJsb2NrSW5zZXRUb3AoKSArIHBsYWNlaG9sZGVyU3R5bGUt
PmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwogICAgICAgICBpZiAocGxhY2Vob2xkZXJTdHlsZS0+
aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQogICAgICAgICAgICAgdGV4dFBvaW50LnNldFgodHgg
KyB0ZXh0QmxvY2tJbnNldExlZnQoKSk7CiAgICAgICAgIGVsc2UKSW5kZXg6IFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcAkocmV2aXNpb24g
NzQ2ODMpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MjMsNyArNzIzLDcgQEAgUGFzc1JlZlB0cjxSZW5kZXJT
dHlsZT4gUmVuZGVyVGV4dENvbnRybwogICAgIHRleHRCbG9ja1N0eWxlLT5zZXRPdmVyZmxvd1ko
T0hJRERFTik7CiAKICAgICAvLyBEbyBub3QgYWxsb3cgbGluZS1oZWlnaHQgdG8gYmUgc21hbGxl
ciB0aGFuIG91ciBkZWZhdWx0LgotICAgIGlmICh0ZXh0QmxvY2tTdHlsZS0+Zm9udCgpLmxpbmVT
cGFjaW5nKCkgPiBsaW5lSGVpZ2h0KHRydWUsIEhvcml6b250YWxMaW5lLCBQb3NpdGlvbk9mSW50
ZXJpb3JMaW5lQm94ZXMpKQorICAgIGlmICh0ZXh0QmxvY2tTdHlsZS0+Zm9udE1ldHJpY3MoKS5s
aW5lU3BhY2luZygpID4gbGluZUhlaWdodCh0cnVlLCBIb3Jpem9udGFsTGluZSwgUG9zaXRpb25P
ZkludGVyaW9yTGluZUJveGVzKSkKICAgICAgICAgdGV4dEJsb2NrU3R5bGUtPnNldExpbmVIZWln
aHQoTGVuZ3RoKC0xMDAuMGYsIFBlcmNlbnQpKTsKIAogICAgIFdlYkNvcmU6OkVEaXNwbGF5IGRp
c3BsYXkgPSAobV9pbm5lckJsb2NrIHx8IGlucHV0RWxlbWVudCgpLT5oYXNTcGluQnV0dG9uKCkg
PyBJTkxJTkVfQkxPQ0sgOiBCTE9DSyk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVX
aW4uY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzY5LDcgKzc2OSw3IEBAIHZvaWQgUmVuZGVyVGhl
bWVXaW46OmFkanVzdE1lbnVMaXN0QnV0dG8KICAgICBzdHlsZS0+c2V0SGVpZ2h0KExlbmd0aChB
dXRvKSk7CiAKICAgICAvLyBDYWxjdWxhdGUgb3VyIG1pbi1oZWlnaHQKLSAgICBpbnQgbWluSGVp
Z2h0ID0gc3R5bGUtPmZvbnQoKS5oZWlnaHQoKTsKKyAgICBpbnQgbWluSGVpZ2h0ID0gc3R5bGUt
PmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCk7CiAgICAgbWluSGVpZ2h0ID0gbWF4KG1pbkhlaWdodCwg
ZHJvcERvd25Cb3hNaW5IZWlnaHQpOwogCiAgICAgc3R5bGUtPnNldE1pbkhlaWdodChMZW5ndGgo
bWluSGVpZ2h0LCBGaXhlZCkpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2Nyw2ICs0NjcsNyBAQCBwdWJsaWM6CiAgICAgRVRh
YmxlTGF5b3V0IHRhYmxlTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RVRhYmxl
TGF5b3V0Pihub25pbmhlcml0ZWRfZmxhZ3MuX3RhYmxlX2xheW91dCk7IH0KIAogICAgIGNvbnN0
IEZvbnQmIGZvbnQoKSBjb25zdCB7IHJldHVybiBpbmhlcml0ZWQtPmZvbnQ7IH0KKyAgICBjb25z
dCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MoKSBjb25zdCB7IHJldHVybiBpbmhlcml0ZWQtPmZv
bnQuZm9udE1ldHJpY3MoKTsgfQogICAgIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2Ny
aXB0aW9uKCkgY29uc3QgeyByZXR1cm4gaW5oZXJpdGVkLT5mb250LmZvbnREZXNjcmlwdGlvbigp
OyB9CiAgICAgaW50IGZvbnRTaXplKCkgY29uc3QgeyByZXR1cm4gaW5oZXJpdGVkLT5mb250LnBp
eGVsU2l6ZSgpOyB9CiAKQEAgLTQ5MSw3ICs0OTIsNyBAQCBwdWJsaWM6CiAKICAgICAgICAgLy8g
TmVnYXRpdmUgdmFsdWUgbWVhbnMgdGhlIGxpbmUgaGVpZ2h0IGlzIG5vdCBzZXQuICBVc2UgdGhl
IGZvbnQncyBidWlsdC1pbiBzcGFjaW5nLgogICAgICAgICBpZiAobGguaXNOZWdhdGl2ZSgpKQot
ICAgICAgICAgICAgcmV0dXJuIGZvbnQoKS5saW5lU3BhY2luZygpOworICAgICAgICAgICAgcmV0
dXJuIGZvbnRNZXRyaWNzKCkubGluZVNwYWNpbmcoKTsKIAogICAgICAgICBpZiAobGguaXNQZXJj
ZW50KCkpCiAgICAgICAgICAgICByZXR1cm4gbGguY2FsY01pblZhbHVlKGZvbnRTaXplKCkpOwpJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZVRleHQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNwcAko
cmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5l
VGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0Niw3ICsxNDYsNyBAQCBWaXNpYmxlUG9zaXRp
b24gUmVuZGVyU1ZHSW5saW5lVGV4dDo6cG9zCiAKICAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSB0
aGlzLT5zdHlsZSgpOwogICAgIEFTU0VSVChzdHlsZSk7Ci0gICAgaW50IGJhc2VsaW5lID0gc3R5
bGUtPmZvbnQoKS5hc2NlbnQoKTsKKyAgICBpbnQgYmFzZWxpbmUgPSBzdHlsZS0+Zm9udE1ldHJp
Y3MoKS5hc2NlbnQoKTsKIAogICAgIFJlbmRlckJsb2NrKiBjb250YWluaW5nQmxvY2sgPSB0aGlz
LT5jb250YWluaW5nQmxvY2soKTsKICAgICBBU1NFUlQoY29udGFpbmluZ0Jsb2NrKTsKSW5kZXg6
IFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAJKHJldmlzaW9uIDc0
NjgzKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC04NCw3ICs4NCw3IEBAIEZsb2F0UmVjdCBTVkdJbmxpbmVUZXh0Qm94Ojpz
ZWxlY3Rpb25SZWMKICAgICBBU1NFUlQoc3RhcnRQb3NpdGlvbiA8IGVuZFBvc2l0aW9uKTsKIAog
ICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHlsZS0+Zm9udCgpOwotICAgIEZsb2F0UG9pbnQgdGV4
dE9yaWdpbihmcmFnbWVudC54LCBmcmFnbWVudC55IC0gZm9udC5hc2NlbnQoKSk7CisgICAgRmxv
YXRQb2ludCB0ZXh0T3JpZ2luKGZyYWdtZW50LngsIGZyYWdtZW50LnkgLSBmb250LmZvbnRNZXRy
aWNzKCkuYXNjZW50KCkpOwogICAgIHJldHVybiBmb250LnNlbGVjdGlvblJlY3RGb3JUZXh0KGNv
bnN0cnVjdFRleHRSdW4oc3R5bGUsIGZyYWdtZW50KSwgdGV4dE9yaWdpbiwgZnJhZ21lbnQuaGVp
Z2h0LCBzdGFydFBvc2l0aW9uLCBlbmRQb3NpdGlvbik7CiB9CiAKQEAgLTQwOSwxNiArNDA5LDE2
IEBAIGJvb2wgU1ZHSW5saW5lVGV4dEJveDo6bWFwU3RhcnRFbmRQb3NpdGkKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotc3RhdGljIGlubGluZSBmbG9hdCBwb3NpdGlvbk9mZnNldEZvckRlY29yYXRp
b24oRVRleHREZWNvcmF0aW9uIGRlY29yYXRpb24sIGNvbnN0IEZvbnQmIGZvbnQsIGZsb2F0IHRo
aWNrbmVzcykKK3N0YXRpYyBpbmxpbmUgZmxvYXQgcG9zaXRpb25PZmZzZXRGb3JEZWNvcmF0aW9u
KEVUZXh0RGVjb3JhdGlvbiBkZWNvcmF0aW9uLCBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJp
Y3MsIGZsb2F0IHRoaWNrbmVzcykKIHsKICAgICAvLyBGSVhNRTogRm9yIFNWRyBGb250cyB3ZSBu
ZWVkIHRvIHVzZSB0aGUgYXR0cmlidXRlcyBkZWZpbmVkIGluIHRoZSA8Zm9udC1mYWNlPiBpZiBz
cGVjaWZpZWQuCiAgICAgLy8gQ29tcGF0aWJsZSB3aXRoIEJhdGlrL09wZXJhLgogICAgIGlmIChk
ZWNvcmF0aW9uID09IFVOREVSTElORSkKLSAgICAgICAgcmV0dXJuIGZvbnQuYXNjZW50KCkgKyB0
aGlja25lc3MgKiAxLjVmOworICAgICAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KCkgKyB0
aGlja25lc3MgKiAxLjVmOwogICAgIGlmIChkZWNvcmF0aW9uID09IE9WRVJMSU5FKQogICAgICAg
ICByZXR1cm4gdGhpY2tuZXNzOwogICAgIGlmIChkZWNvcmF0aW9uID09IExJTkVfVEhST1VHSCkK
LSAgICAgICAgcmV0dXJuIGZvbnQuYXNjZW50KCkgKiA1LjBmIC8gOC4wZjsKKyAgICAgICAgcmV0
dXJuIGZvbnRNZXRyaWNzLmFzY2VudCgpICogNS4wZiAvIDguMGY7CiAKICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKICAgICByZXR1cm4gMC4wZjsKQEAgLTQ4Nyw2ICs0ODcsNyBAQCB2b2lkIFNW
R0lubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbldpCiAgICAgQVNTRVJUKGRlY29yYXRpb25T
dHlsZSk7CiAKICAgICBjb25zdCBGb250JiBmb250ID0gZGVjb3JhdGlvblN0eWxlLT5mb250KCk7
CisgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZm9udC5mb250TWV0cmljcygp
OwogCiAgICAgLy8gVGhlIGluaXRpYWwgeSB2YWx1ZSByZWZlcnMgdG8gb3ZlcmxpbmUgcG9zaXRp
b24uCiAgICAgZmxvYXQgdGhpY2tuZXNzID0gdGhpY2tuZXNzRm9yRGVjb3JhdGlvbihkZWNvcmF0
aW9uLCBmb250KTsKQEAgLTQ5NCw3ICs0OTUsNyBAQCB2b2lkIFNWR0lubGluZVRleHRCb3g6OnBh
aW50RGVjb3JhdGlvbldpCiAgICAgaWYgKGZyYWdtZW50LndpZHRoIDw9IDAgJiYgdGhpY2tuZXNz
IDw9IDApCiAgICAgICAgIHJldHVybjsKIAotICAgIGZsb2F0IHkgPSBmcmFnbWVudC55IC0gZm9u
dC5hc2NlbnQoKSArIHBvc2l0aW9uT2Zmc2V0Rm9yRGVjb3JhdGlvbihkZWNvcmF0aW9uLCBmb250
LCB0aGlja25lc3MpOworICAgIGZsb2F0IHkgPSBmcmFnbWVudC55IC0gZm9udE1ldHJpY3MuYXNj
ZW50KCkgKyBwb3NpdGlvbk9mZnNldEZvckRlY29yYXRpb24oZGVjb3JhdGlvbiwgZm9udE1ldHJp
Y3MsIHRoaWNrbmVzcyk7CiAKICAgICBQYXRoIHBhdGg7CiAgICAgcGF0aC5hZGRSZWN0KEZsb2F0
UmVjdChmcmFnbWVudC54LCB5LCBmcmFnbWVudC53aWR0aCwgdGhpY2tuZXNzKSk7CkBAIC01MTMs
NyArNTE0LDcgQEAgdm9pZCBTVkdJbmxpbmVUZXh0Qm94OjpwYWludFRleHRXaXRoU2hhZAogICAg
IGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvdyA9IHN0eWxlLT50ZXh0U2hhZG93KCk7CiAKICAgICBG
bG9hdFBvaW50IHRleHRPcmlnaW4oZnJhZ21lbnQueCwgZnJhZ21lbnQueSk7Ci0gICAgRmxvYXRS
ZWN0IHNoYWRvd1JlY3QoRmxvYXRQb2ludCh0ZXh0T3JpZ2luLngoKSwgdGV4dE9yaWdpbi55KCkg
LSBmb250LmFzY2VudCgpKSwgRmxvYXRTaXplKGZyYWdtZW50LndpZHRoLCBmcmFnbWVudC5oZWln
aHQpKTsKKyAgICBGbG9hdFJlY3Qgc2hhZG93UmVjdChGbG9hdFBvaW50KHRleHRPcmlnaW4ueCgp
LCB0ZXh0T3JpZ2luLnkoKSAtIGZvbnQuZm9udE1ldHJpY3MoKS5hc2NlbnQoKSksIEZsb2F0U2l6
ZShmcmFnbWVudC53aWR0aCwgZnJhZ21lbnQuaGVpZ2h0KSk7CiAKICAgICBkbyB7CiAgICAgICAg
IGlmICghcHJlcGFyZUdyYXBoaWNzQ29udGV4dEZvclRleHRQYWludGluZyhjb250ZXh0LCB0ZXh0
UnVuLCBzdHlsZSkpCkBAIC01ODcsNyArNTg4LDcgQEAgSW50UmVjdCBTVkdJbmxpbmVUZXh0Qm94
OjpjYWxjdWxhdGVCb3VuZAogICAgIEFTU0VSVChzdHlsZSk7CiAKICAgICBpbnQgYmFzZWxpbmUg
PSBiYXNlbGluZVBvc2l0aW9uKEFscGhhYmV0aWNCYXNlbGluZSk7Ci0gICAgaW50IGhlaWdodERp
ZmZlcmVuY2UgPSBiYXNlbGluZSAtIHN0eWxlLT5mb250KCkuYXNjZW50KCk7CisgICAgaW50IGhl
aWdodERpZmZlcmVuY2UgPSBiYXNlbGluZSAtIHN0eWxlLT5mb250TWV0cmljcygpLmFzY2VudCgp
OwogCiAgICAgdW5zaWduZWQgdGV4dEZyYWdtZW50c1NpemUgPSBtX3RleHRGcmFnbWVudHMuc2l6
ZSgpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB0ZXh0RnJhZ21lbnRzU2l6ZTsgKytp
KSB7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2Vs
aW5lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91
dEVuZ2luZUJhc2VsaW5lLmNwcAkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDksOSArNDksOSBAQCBmbG9hdCBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmU6OmNhbGN1CiAg
ICAgY2FzZSBCU19CQVNFTElORToKICAgICAgICAgcmV0dXJuIDA7CiAgICAgY2FzZSBCU19TVUI6
Ci0gICAgICAgIHJldHVybiAtbV9mb250LmhlaWdodCgpIC8gMjsKKyAgICAgICAgcmV0dXJuIC1t
X2ZvbnQuZm9udE1ldHJpY3MoKS5oZWlnaHQoKSAvIDI7CiAgICAgY2FzZSBCU19TVVBFUjoKLSAg
ICAgICAgcmV0dXJuIG1fZm9udC5oZWlnaHQoKSAvIDI7CisgICAgICAgIHJldHVybiBtX2ZvbnQu
Zm9udE1ldHJpY3MoKS5oZWlnaHQoKSAvIDI7CiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiAwOwpAQCAtMTIyLDI3ICsxMjIsMjkgQEAg
ZmxvYXQgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lOjpjYWxjdQogICAgICAgICBBU1NFUlQo
YmFzZWxpbmUgIT0gQUJfQVVUTyk7CiAgICAgfQogCisgICAgY29uc3QgRm9udE1ldHJpY3MmIGZv
bnRNZXRyaWNzID0gbV9mb250LmZvbnRNZXRyaWNzKCk7CisKICAgICAvLyBOb3RlOiBodHRwOi8v
d2lraS5hcGFjaGUub3JnL3htbGdyYXBoaWNzLWZvcC9MaW5lTGF5b3V0L0FsaWdubWVudEhhbmRs
aW5nCiAgICAgc3dpdGNoIChiYXNlbGluZSkgewogICAgIGNhc2UgQUJfQkFTRUxJTkU6CiAgICAg
ICAgIHJldHVybiBkb21pbmFudEJhc2VsaW5lVG9BbGlnbm1lbnRCYXNlbGluZShpc1ZlcnRpY2Fs
VGV4dCwgdGV4dFJlbmRlcmVyUGFyZW50KTsKICAgICBjYXNlIEFCX0JFRk9SRV9FREdFOgogICAg
IGNhc2UgQUJfVEVYVF9CRUZPUkVfRURHRToKLSAgICAgICAgcmV0dXJuIG1fZm9udC5hc2NlbnQo
KTsKKyAgICAgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmFzY2VudCgpOwogICAgIGNhc2UgQUJfTUlE
RExFOgotICAgICAgICByZXR1cm4gbV9mb250LnhIZWlnaHQoKSAvIDI7CisgICAgICAgIHJldHVy
biBmb250TWV0cmljcy54SGVpZ2h0KCkgLyAyOwogICAgIGNhc2UgQUJfQ0VOVFJBTDoKLSAgICAg
ICAgcmV0dXJuIChtX2ZvbnQuYXNjZW50KCkgLSBtX2ZvbnQuZGVzY2VudCgpKSAvIDI7CisgICAg
ICAgIHJldHVybiAoZm9udE1ldHJpY3MuYXNjZW50KCkgLSBmb250TWV0cmljcy5kZXNjZW50KCkp
IC8gMjsKICAgICBjYXNlIEFCX0FGVEVSX0VER0U6CiAgICAgY2FzZSBBQl9URVhUX0FGVEVSX0VE
R0U6CiAgICAgY2FzZSBBQl9JREVPR1JBUEhJQzoKLSAgICAgICAgcmV0dXJuIG1fZm9udC5kZXNj
ZW50KCk7CisgICAgICAgIHJldHVybiBmb250TWV0cmljcy5kZXNjZW50KCk7CiAgICAgY2FzZSBB
Ql9BTFBIQUJFVElDOgogICAgICAgICByZXR1cm4gMDsKICAgICBjYXNlIEFCX0hBTkdJTkc6Ci0g
ICAgICAgIHJldHVybiBtX2ZvbnQuYXNjZW50KCkgKiA4IC8gMTAuZjsKKyAgICAgICAgcmV0dXJu
IGZvbnRNZXRyaWNzLmFzY2VudCgpICogOCAvIDEwLmY7CiAgICAgY2FzZSBBQl9NQVRIRU1BVElD
QUw6Ci0gICAgICAgIHJldHVybiBtX2ZvbnQuYXNjZW50KCkgLyAyOworICAgICAgICByZXR1cm4g
Zm9udE1ldHJpY3MuYXNjZW50KCkgLyAyOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gMDsKQEAgLTE5MywxMiArMTk1LDE0IEBAIGZs
b2F0IFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2FsY3UKICAgICAvLyBTcGVjOiBJZiBp
ZiB0aGUgJ2dseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsJyByZXN1bHRzIGluIGFuIG9yaWVudGF0
aW9uIGFuZ2xlIHRoYXQgaXMgbm90IGEgbXVsdGlwbGUgb2YKICAgICAvLyAxODAgZGVncmVlcywg
dGhlbiB0aGUgY3VycmVudCB0ZXh0IHBvc2l0aW9uIGlzIGluY3JlbWVudGVkIGFjY29yZGluZyB0
byB0aGUgaG9yaXpvbnRhbCBtZXRyaWNzIG9mIHRoZSBnbHlwaC4KIAorICAgIGNvbnN0IEZvbnRN
ZXRyaWNzJiBmb250TWV0cmljcyA9IG1fZm9udC5mb250TWV0cmljcygpOworCiAgICAgLy8gVmVy
dGljYWwgb3JpZW50YXRpb24gaGFuZGxpbmcuCiAgICAgaWYgKGlzVmVydGljYWxUZXh0KSB7Ci0g
ICAgICAgIGZsb2F0IGFzY2VudE1pbnVzRGVzY2VudCA9IG1fZm9udC5hc2NlbnQoKSAtIG1fZm9u
dC5kZXNjZW50KCk7CisgICAgICAgIGZsb2F0IGFzY2VudE1pbnVzRGVzY2VudCA9IGZvbnRNZXRy
aWNzLmFzY2VudCgpIC0gZm9udE1ldHJpY3MuZGVzY2VudCgpOwogICAgICAgICBpZiAoIWFuZ2xl
KSB7CiAgICAgICAgICAgICB4T3JpZW50YXRpb25TaGlmdCA9IChhc2NlbnRNaW51c0Rlc2NlbnQg
LSBtZXRyaWNzLndpZHRoKCkpIC8gMjsKLSAgICAgICAgICAgIHlPcmllbnRhdGlvblNoaWZ0ID0g
bV9mb250LmFzY2VudCgpOworICAgICAgICAgICAgeU9yaWVudGF0aW9uU2hpZnQgPSBmb250TWV0
cmljcy5hc2NlbnQoKTsKICAgICAgICAgfSBlbHNlIGlmIChhbmdsZSA9PSAxODApCiAgICAgICAg
ICAgICB4T3JpZW50YXRpb25TaGlmdCA9IChhc2NlbnRNaW51c0Rlc2NlbnQgKyBtZXRyaWNzLndp
ZHRoKCkpIC8gMjsKICAgICAgICAgZWxzZSBpZiAoYW5nbGUgPT0gMjcwKSB7CkBAIC0yMTgsNyAr
MjIyLDcgQEAgZmxvYXQgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lOjpjYWxjdQogICAgICAg
ICB5T3JpZW50YXRpb25TaGlmdCA9IC1tZXRyaWNzLndpZHRoKCk7CiAgICAgZWxzZSBpZiAoYW5n
bGUgPT0gMTgwKSB7CiAgICAgICAgIHhPcmllbnRhdGlvblNoaWZ0ID0gbWV0cmljcy53aWR0aCgp
OwotICAgICAgICB5T3JpZW50YXRpb25TaGlmdCA9IC1tX2ZvbnQuYXNjZW50KCk7CisgICAgICAg
IHlPcmllbnRhdGlvblNoaWZ0ID0gLWZvbnRNZXRyaWNzLmFzY2VudCgpOwogICAgIH0gZWxzZSBp
ZiAoYW5nbGUgPT0gMjcwKQogICAgICAgICB4T3JpZW50YXRpb25TaGlmdCA9IG1ldHJpY3Mud2lk
dGgoKTsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVT
cGFjaW5nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExh
eW91dEVuZ2luZVNwYWNpbmcuY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU4LDcgKzU4LDcgQEAgZmxvYXQgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmc6OmNhbGN1bAog
CiAgICAgbV9sYXN0R2x5cGggPSBjdXJyZW50R2x5cGg7CiAgICAgbV9sYXN0R2x5cGguaXNWYWxp
ZCA9IHRydWU7Ci0gICAga2VybmluZyAqPSBtX2ZvbnQuc2l6ZSgpIC8gbV9mb250LnByaW1hcnlG
b250KCktPnVuaXRzUGVyRW0oKTsKKyAgICBrZXJuaW5nICo9IG1fZm9udC5zaXplKCkgLyBtX2Zv
bnQuZm9udE1ldHJpY3MoKS51bml0c1BlckVtKCk7CiAgICAgcmV0dXJuIGtlcm5pbmc7CiAjZWxz
ZQogICAgIFVOVVNFRF9QQVJBTShpc1ZlcnRpY2FsVGV4dCk7CkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dE1ldHJpY3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdUZXh0TWV0cmljcy5jcHAJKHJldmlzaW9uIDc0NjgzKQorKysgV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyAr
NDIsNyBAQCBTVkdUZXh0TWV0cmljczo6U1ZHVGV4dE1ldHJpY3MoY29uc3QgRm9uCiAgICAgaW50
IGxlbmd0aCA9IDA7CiAKICAgICBtX3dpZHRoID0gZm9udC5mbG9hdFdpZHRoKHJ1biwgZXh0cmFD
aGFyc0F2YWlsYWJsZSwgbGVuZ3RoLCBtX2dseXBoLm5hbWUpOwotICAgIG1faGVpZ2h0ID0gZm9u
dC5oZWlnaHQoKTsKKyAgICBtX2hlaWdodCA9IGZvbnQuZm9udE1ldHJpY3MoKS5oZWlnaHQoKTsK
ICAgICBtX2dseXBoLnVuaWNvZGVTdHJpbmcgPSBTdHJpbmcocnVuLmNoYXJhY3RlcnMoKSwgbGVu
Z3RoKTsKICAgICBtX2dseXBoLmlzVmFsaWQgPSB0cnVlOwogCkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dFF1ZXJ5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHVGV4dFF1ZXJ5LmNwcAkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dFF1ZXJ5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcyLDcgKzQ3Miw3
IEBAIHN0cnVjdCBFeHRlbnRPZkNoYXJhY3RlckRhdGEgOiBTVkdUZXh0UXUKIAogc3RhdGljIGlu
bGluZSB2b2lkIGNhbGN1bGF0ZUdseXBoQm91bmRhcmllcyhTVkdUZXh0UXVlcnk6OkRhdGEqIHF1
ZXJ5RGF0YSwgY29uc3QgU1ZHVGV4dEZyYWdtZW50JiBmcmFnbWVudCwgaW50IHN0YXJ0UG9zaXRp
b24sIEZsb2F0UmVjdCYgZXh0ZW50KQogewotICAgIGV4dGVudC5zZXRMb2NhdGlvbihGbG9hdFBv
aW50KGZyYWdtZW50LngsIGZyYWdtZW50LnkgLSBxdWVyeURhdGEtPnRleHRSZW5kZXJlci0+c3R5
bGUoKS0+Zm9udCgpLmFzY2VudCgpKSk7CisgICAgZXh0ZW50LnNldExvY2F0aW9uKEZsb2F0UG9p
bnQoZnJhZ21lbnQueCwgZnJhZ21lbnQueSAtIHF1ZXJ5RGF0YS0+dGV4dFJlbmRlcmVyLT5zdHls
ZSgpLT5mb250TWV0cmljcygpLmFzY2VudCgpKSk7CiAKICAgICBpZiAoc3RhcnRQb3NpdGlvbikg
ewogICAgICAgICBTVkdUZXh0TWV0cmljcyBtZXRyaWNzID0gU1ZHVGV4dE1ldHJpY3M6Om1lYXN1
cmVDaGFyYWN0ZXJSYW5nZShxdWVyeURhdGEtPnRleHRSZW5kZXJlciwgZnJhZ21lbnQucG9zaXRp
b25MaXN0T2Zmc2V0LCBzdGFydFBvc2l0aW9uKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZvbnRG
YWNlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVt
ZW50LmNwcAkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjUsNyArMTI1LDcgQEAgdW5zaWduZWQgU1ZHRm9u
dEZhY2VFbGVtZW50Ojp1bml0c1BlckVtKAogewogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgdmFs
dWUgPSBnZXRBdHRyaWJ1dGUodW5pdHNfcGVyX2VtQXR0cik7CiAgICAgaWYgKHZhbHVlLmlzRW1w
dHkoKSkKLSAgICAgICAgcmV0dXJuIGRlZmF1bHRVbml0c1BlckVtOworICAgICAgICByZXR1cm4g
Z0RlZmF1bHRVbml0c1BlckVtOwogCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkPihj
ZWlsZih2YWx1ZS50b0Zsb2F0KCkpKTsKIH0KSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0xlbmd0aC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmNwcAkocmV2aXNpb24gNzQ2
ODMpCisrKyBXZWJDb3JlL3N2Zy9TVkdMZW5ndGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NDQs
NyArNDQ0LDcgQEAgZmxvYXQgU1ZHTGVuZ3RoOjpjb252ZXJ0VmFsdWVGcm9tVXNlclVuaQogCiAg
ICAgLy8gVXNlIG9mIGNlaWwgYWxsb3dzIGEgcGl4ZWwgbWF0Y2ggdG8gdGhlIFczQ3MgZXhwZWN0
ZWQgb3V0cHV0IG9mIGNvb3Jkcy11bml0cy0wMy1iLnN2ZwogICAgIC8vIGlmIHRoaXMgY2F1c2Vz
IHByb2JsZW1zIGluIHJlYWwgd29ybGQgY2FzZXMgbWF5YmUgaXQgd291bGQgYmUgYmVzdCB0byBy
ZW1vdmUgdGhpcwotICAgIGZsb2F0IHhIZWlnaHQgPSBjZWlsZihzdHlsZS0+Zm9udCgpLnhIZWln
aHQoKSk7CisgICAgZmxvYXQgeEhlaWdodCA9IGNlaWxmKHN0eWxlLT5mb250TWV0cmljcygpLnhI
ZWlnaHQoKSk7CiAgICAgaWYgKCF4SGVpZ2h0KSB7CiAgICAgICAgIGVjID0gTk9UX1NVUFBPUlRF
RF9FUlI7CiAgICAgICAgIHJldHVybiAwOwpAQCAtNDYzLDcgKzQ2Myw3IEBAIGZsb2F0IFNWR0xl
bmd0aDo6Y29udmVydFZhbHVlRnJvbUVYU1RvVXMKICAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSBj
b250ZXh0LT5yZW5kZXJlcigpLT5zdHlsZSgpOwogICAgIC8vIFVzZSBvZiBjZWlsIGFsbG93cyBh
IHBpeGVsIG1hdGNoIHRvIHRoZSBXM0NzIGV4cGVjdGVkIG91dHB1dCBvZiBjb29yZHMtdW5pdHMt
MDMtYi5zdmcKICAgICAvLyBpZiB0aGlzIGNhdXNlcyBwcm9ibGVtcyBpbiByZWFsIHdvcmxkIGNh
c2VzIG1heWJlIGl0IHdvdWxkIGJlIGJlc3QgdG8gcmVtb3ZlIHRoaXMKLSAgICByZXR1cm4gdmFs
dWUgKiBjZWlsZihzdHlsZS0+Zm9udCgpLnhIZWlnaHQoKSk7CisgICAgcmV0dXJuIHZhbHVlICog
Y2VpbGYoc3R5bGUtPmZvbnRNZXRyaWNzKCkueEhlaWdodCgpKTsKIH0KIAogU1ZHTGVuZ3RoIFNW
R0xlbmd0aDo6ZnJvbUNTU1ByaW1pdGl2ZVZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlKiB2YWx1ZSkK
SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NDY4MykKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMTAtMTItMjcgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSW50cm9kdWNlIEZvbnRNZXRyaWNzIGFic3RyYWN0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTQ1NgorCisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC93aW4vV2ViUG9wdXBNZW51V2luLmNwcDogVXNlIEZvbnRNZXRy
aWNzIGluc3RlYWQgb2YgRm9udCB0byBhY2Nlc3MgdGhlIG1ldHJpY3MuCisgICAgICAgIChXZWJL
aXQ6OldlYlBvcHVwTWVudTo6c2V0VXBQbGF0Zm9ybURhdGEpOgorCiAyMDEwLTEyLTI2ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RGFuIEJlcm5zdGVpbi4KSW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC93
aW4vV2ViUG9wdXBNZW51V2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvd2luL1dlYlBvcHVwTWVudVdpbi5jcHAJKHJldmlzaW9uIDc0NjgzKQor
KysgV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3dpbi9XZWJQb3B1cE1lbnVXaW4u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIHZvaWQgV2ViUG9wdXBNZW51Ojpz
ZXRVcFBsYXRmb3JtRGF0YShjb24KICAgICBkYXRhLm1fY2xpZW50UGFkZGluZ1JpZ2h0ID0gbV9w
b3B1cENsaWVudC0+Y2xpZW50UGFkZGluZ1JpZ2h0KCk7CiAgICAgZGF0YS5tX2NsaWVudEluc2V0
TGVmdCA9IG1fcG9wdXBDbGllbnQtPmNsaWVudEluc2V0TGVmdCgpOwogICAgIGRhdGEubV9jbGll
bnRJbnNldFJpZ2h0ID0gbV9wb3B1cENsaWVudC0+Y2xpZW50SW5zZXRSaWdodCgpOwotICAgIGRh
dGEubV9pdGVtSGVpZ2h0ID0gbV9wb3B1cENsaWVudC0+bWVudVN0eWxlKCkuZm9udCgpLmhlaWdo
dCgpICsgMTsKKyAgICBkYXRhLm1faXRlbUhlaWdodCA9IG1fcG9wdXBDbGllbnQtPm1lbnVTdHls
ZSgpLmZvbnQoKS5mb250TWV0cmljcygpLmhlaWdodCgpICsgMTsKIAogICAgIGludCBwb3B1cFdp
ZHRoID0gMDsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGl0ZW1Db3VudDsgKytpKSB7CkBA
IC0xMzMsNyArMTMzLDcgQEAgdm9pZCBXZWJQb3B1cE1lbnU6OnNldFVwUGxhdGZvcm1EYXRhKGNv
bgogICAgICAgICAgICAgaW50IHRleHRYID0gc3RkOjptYXgoMCwgZGF0YS5tX2NsaWVudFBhZGRp
bmdMZWZ0IC0gZGF0YS5tX2NsaWVudEluc2V0TGVmdCk7CiAgICAgICAgICAgICBpZiAoUmVuZGVy
VGhlbWU6OmRlZmF1bHRUaGVtZSgpLT5wb3B1cE9wdGlvblN1cHBvcnRzVGV4dEluZGVudCgpICYm
IGl0ZW1TdHlsZS50ZXh0RGlyZWN0aW9uKCkgPT0gTFRSKQogICAgICAgICAgICAgICAgIHRleHRY
ICs9IGl0ZW1TdHlsZS50ZXh0SW5kZW50KCkuY2FsY01pblZhbHVlKGl0ZW1SZWN0LndpZHRoKCkp
OwotICAgICAgICAgICAgaW50IHRleHRZID0gaXRlbVJlY3QueSgpICsgaXRlbUZvbnQuYXNjZW50
KCkgKyAoaXRlbVJlY3QuaGVpZ2h0KCkgLSBpdGVtRm9udC5oZWlnaHQoKSkgLyAyOworICAgICAg
ICAgICAgaW50IHRleHRZID0gaXRlbVJlY3QueSgpICsgaXRlbUZvbnQuZm9udE1ldHJpY3MoKS5h
c2NlbnQoKSArIChpdGVtUmVjdC5oZWlnaHQoKSAtIGl0ZW1Gb250LmZvbnRNZXRyaWNzKCkuaGVp
Z2h0KCkpIC8gMjsKIAogICAgICAgICAgICAgbm90U2VsZWN0ZWRCYWNraW5nU3RvcmVDb250ZXh0
LT5kcmF3QmlkaVRleHQoaXRlbUZvbnQsIHRleHRSdW4sIEludFBvaW50KHRleHRYLCB0ZXh0WSkp
OwogICAgICAgICAgICAgc2VsZWN0ZWRCYWNraW5nU3RvcmVDb250ZXh0LT5kcmF3QmlkaVRleHQo
aXRlbUZvbnQsIHRleHRSdW4sIEludFBvaW50KHRleHRYLCB0ZXh0WSkpOwpJbmRleDogV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0xMi0yMyAgTmlrb2xhcyBaaW1tZXJtYW5u
ICA8bnppbW1lcm1hbm5AcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBJbnRyb2R1Y2UgRm9udE1ldHJpY3MgYWJzdHJhY3Rpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxNDU2CisKKyAgICAg
ICAgKiBzcmMvRXh0ZXJuYWxQb3B1cE1lbnUuY3BwOiBVc2UgRm9udE1ldHJpY3MgaW5zdGVhZCBv
ZiBGb250IHRvIGFjY2VzcyB0aGUgbWV0cmljcy4KKyAgICAgICAgKFdlYktpdDo6RXh0ZXJuYWxQ
b3B1cE1lbnU6OmdldFBvcHVwTWVudUluZm8pOgorICAgICAgICAqIHNyYy9XZWJGb250SW1wbC5j
cHA6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJGb250SW1wbDo6YXNjZW50KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViRm9udEltcGw6OmRlc2NlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJG
b250SW1wbDo6aGVpZ2h0KToKKyAgICAgICAgKFdlYktpdDo6V2ViRm9udEltcGw6OmxpbmVTcGFj
aW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViRm9udEltcGw6OnhIZWlnaHQpOgorCiAyMDEwLTEy
LTIzICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNzQ1NjEuCkluZGV4OiBXZWJLaXQvY2hyb21pdW0v
c3JjL0V4dGVybmFsUG9wdXBNZW51LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0v
c3JjL0V4dGVybmFsUG9wdXBNZW51LmNwcAkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJLaXQvY2hy
b21pdW0vc3JjL0V4dGVybmFsUG9wdXBNZW51LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQyLDcg
KzE0Miw3IEBAIHZvaWQgRXh0ZXJuYWxQb3B1cE1lbnU6OmdldFBvcHVwTWVudUluZm8KICAgICAg
ICAgcG9wdXBJdGVtLmVuYWJsZWQgPSBtX3BvcHVwTWVudUNsaWVudC0+aXRlbUlzRW5hYmxlZChp
KTsKICAgICB9CiAKLSAgICBpbmZvLT5pdGVtSGVpZ2h0ID0gbV9wb3B1cE1lbnVDbGllbnQtPm1l
bnVTdHlsZSgpLmZvbnQoKS5oZWlnaHQoKTsKKyAgICBpbmZvLT5pdGVtSGVpZ2h0ID0gbV9wb3B1
cE1lbnVDbGllbnQtPm1lbnVTdHlsZSgpLmZvbnQoKS5mb250TWV0cmljcygpLmhlaWdodCgpOwog
ICAgIGluZm8tPml0ZW1Gb250U2l6ZSA9CiAgICAgICAgIHN0YXRpY19jYXN0PGludD4obV9wb3B1
cE1lbnVDbGllbnQtPm1lbnVTdHlsZSgpLmZvbnQoKS5zaXplKCkpOwogICAgIGluZm8tPnNlbGVj
dGVkSW5kZXggPSBtX3BvcHVwTWVudUNsaWVudC0+c2VsZWN0ZWRJbmRleCgpOwpJbmRleDogV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJGb250SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJGb250SW1wbC5jcHAJKHJldmlzaW9uIDc0NjgzKQorKysgV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJGb250SW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDI3ICs2Mywy
NyBAQCBXZWJGb250RGVzY3JpcHRpb24gV2ViRm9udEltcGw6OmZvbnREZXNjCiAKIGludCBXZWJG
b250SW1wbDo6YXNjZW50KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9mb250LmFzY2VudCgpOwor
ICAgIHJldHVybiBtX2ZvbnQuZm9udE1ldHJpY3MoKS5hc2NlbnQoKTsKIH0KIAogaW50IFdlYkZv
bnRJbXBsOjpkZXNjZW50KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9mb250LmRlc2NlbnQoKTsK
KyAgICByZXR1cm4gbV9mb250LmZvbnRNZXRyaWNzKCkuZGVzY2VudCgpOwogfQogCiBpbnQgV2Vi
Rm9udEltcGw6OmhlaWdodCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fZm9udC5oZWlnaHQoKTsK
KyAgICByZXR1cm4gbV9mb250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCk7CiB9CiAKIGludCBXZWJG
b250SW1wbDo6bGluZVNwYWNpbmcoKSBjb25zdAogewotICAgIHJldHVybiBtX2ZvbnQubGluZVNw
YWNpbmcoKTsKKyAgICByZXR1cm4gbV9mb250LmZvbnRNZXRyaWNzKCkubGluZVNwYWNpbmcoKTsK
IH0KIAogZmxvYXQgV2ViRm9udEltcGw6OnhIZWlnaHQoKSBjb25zdAogewotICAgIHJldHVybiBt
X2ZvbnQueEhlaWdodCgpOworICAgIHJldHVybiBtX2ZvbnQuZm9udE1ldHJpY3MoKS54SGVpZ2h0
KCk7CiB9CiAKIHZvaWQgV2ViRm9udEltcGw6OmRyYXdUZXh0KFdlYkNhbnZhcyogY2FudmFzLCBj
b25zdCBXZWJUZXh0UnVuJiBydW4sIGNvbnN0IFdlYkZsb2F0UG9pbnQmIGxlZnRCYXNlbGluZSwK
SW5kZXg6IFdlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vQ2hh
bmdlTG9nCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMTItMjYgIE5pa29sYXMgWmltbWVybWFubiAg
PG56aW1tZXJtYW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgSW50cm9kdWNlIEZvbnRNZXRyaWNzIGFic3RyYWN0aW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTQ1NgorCisgICAgICAg
ICogRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHA6IFVzZSBGb250TWV0cmljcyBpbnN0ZWFk
IG9mIEZvbnQgdG8gYWNjZXNzIHRoZSBtZXRyaWNzLgorICAgICAgICAoRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlcjo6ZHJhdyk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVu
dC5jcHA6IERpdHRvLgorICAgICAgICAoV2ViRHJhZ0NsaWVudDo6Y3JlYXRlRHJhZ0ltYWdlRm9y
TGluayk6CisgICAgICAgICogV2ViS2l0R3JhcGhpY3MuY3BwOiBEaXR0by4KKyAgICAgICAgKEZv
bnRNZXRyaWNzKToKKwogMjAxMC0xMi0yMiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViS2l0L3dpbi9GdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL0Z1bGxz
Y3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYktpdC93aW4v
RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyNSwxNSAr
NTI1LDE2IEBAIHZvaWQgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcjo6ZHJhdygpCiAgICAgLy8g
dGhlIHRleHQgYXQgdGhlIGNlbnRlciBvZiB0aGUgc2xpZGVyLgogICAgIC8vIExlZnQgc3RyaW5n
CiAgICAgcyA9IHRpbWVUb1N0cmluZyhjdXJyZW50VGltZSgpKTsKKyAgICBpbnQgZm9udEhlaWdo
dCA9IGZvbnQuZm9udE1ldHJpY3MoKS5oZWlnaHQoKTsKICAgICBUZXh0UnVuIGxlZnRUZXh0KHMp
OwogICAgIGNvbnRleHQuc2V0RmlsbENvbG9yKENvbG9yKHRleHRDb2xvciksIENvbG9yU3BhY2VE
ZXZpY2VSR0IpOwotICAgIGNvbnRleHQuZHJhd1RleHQoZm9udCwgbGVmdFRleHQsIEludFBvaW50
KHdpbmRvd1dpZHRoIC8gMiAtIHRpbWVTbGlkZXJXaWR0aCAvIDIgLSBtYXJnaW4gLSBmb250Lndp
ZHRoKGxlZnRUZXh0KSwgd2luZG93SGVpZ2h0IC0gbWFyZ2luIC0gc2xpZGVySGVpZ2h0IC8gMiAr
IGZvbnQuaGVpZ2h0KCkgLyA0KSk7CisgICAgY29udGV4dC5kcmF3VGV4dChmb250LCBsZWZ0VGV4
dCwgSW50UG9pbnQod2luZG93V2lkdGggLyAyIC0gdGltZVNsaWRlcldpZHRoIC8gMiAtIG1hcmdp
biAtIGZvbnQud2lkdGgobGVmdFRleHQpLCB3aW5kb3dIZWlnaHQgLSBtYXJnaW4gLSBzbGlkZXJI
ZWlnaHQgLyAyICsgZm9udEhlaWdodCAvIDQpKTsKIAogICAgIC8vIFJpZ2h0IHN0cmluZwogICAg
IHMgPSB0aW1lVG9TdHJpbmcoY3VycmVudFRpbWUoKSAtIGR1cmF0aW9uKCkpOwogICAgIFRleHRS
dW4gcmlnaHRUZXh0KHMpOwogICAgIGNvbnRleHQuc2V0RmlsbENvbG9yKENvbG9yKHRleHRDb2xv
ciksIENvbG9yU3BhY2VEZXZpY2VSR0IpOwotICAgIGNvbnRleHQuZHJhd1RleHQoZm9udCwgcmln
aHRUZXh0LCBJbnRQb2ludCh3aW5kb3dXaWR0aCAvIDIgKyB0aW1lU2xpZGVyV2lkdGggLyAyICsg
bWFyZ2luLCB3aW5kb3dIZWlnaHQgLSBtYXJnaW4gLSBzbGlkZXJIZWlnaHQgLyAyICsgZm9udC5o
ZWlnaHQoKSAvIDQpKTsKKyAgICBjb250ZXh0LmRyYXdUZXh0KGZvbnQsIHJpZ2h0VGV4dCwgSW50
UG9pbnQod2luZG93V2lkdGggLyAyICsgdGltZVNsaWRlcldpZHRoIC8gMiArIG1hcmdpbiwgd2lu
ZG93SGVpZ2h0IC0gbWFyZ2luIC0gc2xpZGVySGVpZ2h0IC8gMiArIGZvbnRIZWlnaHQgLyA0KSk7
CiAKICAgICAvLyBDb3B5IHRvIHRoZSB3aW5kb3cKICAgICBCTEVOREZVTkNUSU9OIGJsZW5kRnVu
Y3Rpb24gPSB7QUNfU1JDX09WRVIsIDAsIDI1NSwgQUNfU1JDX0FMUEhBfTsKSW5kZXg6IFdlYktp
dC93aW4vV2ViS2l0R3JhcGhpY3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vV2ViS2l0
R3JhcGhpY3MuY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYktpdC93aW4vV2ViS2l0R3JhcGhp
Y3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzMsMTUgKzEzMywxNiBAQCB2b2lkIEZvbnRNZXRy
aWNzKGNvbnN0IFdlYkZvbnREZXNjcmlwdGlvCiAgICAgICAgIHJldHVybjsKIAogICAgIEZvbnQg
Zm9udChtYWtlRm9udChkZXNjcmlwdGlvbikpOworICAgIGNvbnN0IFdlYkNvcmU6OkZvbnRNZXRy
aWNzJiBmb250TWV0cmljcyhmb250LmZvbnRNZXRyaWNzKCkpOwogCiAgICAgaWYgKGFzY2VudCkK
LSAgICAgICAgKmFzY2VudCA9IGZvbnQuYXNjZW50KCk7CisgICAgICAgICphc2NlbnQgPSBmb250
TWV0cmljcy5hc2NlbnQoKTsKIAogICAgIGlmIChkZXNjZW50KQotICAgICAgICAqZGVzY2VudCA9
IGZvbnQuZGVzY2VudCgpOworICAgICAgICAqZGVzY2VudCA9IGZvbnRNZXRyaWNzLmRlc2NlbnQo
KTsKIAogICAgIGlmIChsaW5lU3BhY2luZykKLSAgICAgICAgKmxpbmVTcGFjaW5nID0gZm9udC5s
aW5lU3BhY2luZygpOworICAgICAgICAqbGluZVNwYWNpbmcgPSBmb250TWV0cmljcy5saW5lU3Bh
Y2luZygpOwogfQogCiB1bnNpZ25lZCBDZW50ZXJUcnVuY2F0ZVN0cmluZ1RvV2lkdGgoTFBDVFNU
UiB0ZXh0LCBpbnQgbGVuZ3RoLCBjb25zdCBXZWJGb250RGVzY3JpcHRpb24mIGRlc2NyaXB0aW9u
LCBmbG9hdCB3aWR0aCwgV0NIQVIqIGJ1ZmZlcikKSW5kZXg6IFdlYktpdC93aW4vV2ViQ29yZVN1
cHBvcnQvV2ViRHJhZ0NsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJEcmFnQ2xpZW50LmNwcAkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJLaXQvd2lu
L1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDcs
NyArMjQ3LDcgQEAgRHJhZ0ltYWdlUmVmIFdlYkRyYWdDbGllbnQ6OmNyZWF0ZURyYWdJbQogICAg
IC8vRmlyc3Qgc3RlcCBpbiBkcmF3aW5nIHRoZSBsaW5rIGRyYWcgaW1hZ2Ugd2lkdGgKICAgICBU
ZXh0UnVuIGxhYmVsUnVuKGxhYmVsLmltcGwoKSk7CiAgICAgVGV4dFJ1biB1cmxSdW4odXJsU3Ry
aW5nLmltcGwoKSk7Ci0gICAgSW50U2l6ZSBsYWJlbFNpemUobGFiZWxGb250LT53aWR0aChsYWJl
bFJ1biksIGxhYmVsRm9udC0+YXNjZW50KCkgKyBsYWJlbEZvbnQtPmRlc2NlbnQoKSk7CisgICAg
SW50U2l6ZSBsYWJlbFNpemUobGFiZWxGb250LT53aWR0aChsYWJlbFJ1biksIGxhYmVsRm9udC0+
Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSArIGxhYmVsRm9udC0+Zm9udE1ldHJpY3MoKS5kZXNjZW50
KCkpOwogCiAgICAgaWYgKGxhYmVsU2l6ZS53aWR0aCgpID4gTUFYX0RSQUdfTEFCRUxfU1RSSU5H
X1dJRFRIKXsKICAgICAgICAgbGFiZWxTaXplLnNldFdpZHRoKE1BWF9EUkFHX0xBQkVMX1NUUklO
R19XSURUSCk7CkBAIC0yNjAsNyArMjYwLDcgQEAgRHJhZ0ltYWdlUmVmIFdlYkRyYWdDbGllbnQ6
OmNyZWF0ZURyYWdJbQogCiAgICAgaWYgKGRyYXdVUkxTdHJpbmcpIHsKICAgICAgICAgdXJsU3Ry
aW5nU2l6ZS5zZXRXaWR0aCh1cmxGb250LT53aWR0aCh1cmxSdW4pKTsKLSAgICAgICAgdXJsU3Ry
aW5nU2l6ZS5zZXRIZWlnaHQodXJsRm9udC0+YXNjZW50KCkgKyB1cmxGb250LT5kZXNjZW50KCkp
OyAKKyAgICAgICAgdXJsU3RyaW5nU2l6ZS5zZXRIZWlnaHQodXJsRm9udC0+Zm9udE1ldHJpY3Mo
KS5hc2NlbnQoKSArIHVybEZvbnQtPmZvbnRNZXRyaWNzKCkuZGVzY2VudCgpKTsgCiAgICAgICAg
IGltYWdlU2l6ZS5zZXRIZWlnaHQoaW1hZ2VTaXplLmhlaWdodCgpICsgdXJsU3RyaW5nU2l6ZS5o
ZWlnaHQoKSk7CiAgICAgICAgIGlmICh1cmxTdHJpbmdTaXplLndpZHRoKCkgPiBNQVhfRFJBR19M
QUJFTF9TVFJJTkdfV0lEVEgpIHsKICAgICAgICAgICAgIGltYWdlU2l6ZS5zZXRXaWR0aChNQVhf
RFJBR19MQUJFTF9XSURUSCk7CkBAIC0zMDMsNyArMzAzLDcgQEAgRHJhZ0ltYWdlUmVmIFdlYkRy
YWdDbGllbnQ6OmNyZWF0ZURyYWdJbQogICAgIGlmIChkcmF3VVJMU3RyaW5nKSB7CiAgICAgICAg
IGlmIChjbGlwVVJMU3RyaW5nKQogICAgICAgICAgICAgdXJsU3RyaW5nID0gU3RyaW5nVHJ1bmNh
dG9yOjpyaWdodFRydW5jYXRlKHVybFN0cmluZywgaW1hZ2VTaXplLndpZHRoKCkgLSAoRFJBR19M
QUJFTF9CT1JERVJfWCAqIDIuMGYpLCAqdXJsRm9udCwgZmFsc2UpOwotICAgICAgICBJbnRQb2lu
dCB0ZXh0UG9zKERSQUdfTEFCRUxfQk9SREVSX1gsIGltYWdlU2l6ZS5oZWlnaHQoKSAtIChEUkFH
X0xBQkVMX0JPUkRFUl9ZX09GRlNFVCArIHVybEZvbnQtPmRlc2NlbnQoKSkpOworICAgICAgICBJ
bnRQb2ludCB0ZXh0UG9zKERSQUdfTEFCRUxfQk9SREVSX1gsIGltYWdlU2l6ZS5oZWlnaHQoKSAt
IChEUkFHX0xBQkVMX0JPUkRFUl9ZX09GRlNFVCArIHVybEZvbnQtPmZvbnRNZXRyaWNzKCkuZGVz
Y2VudCgpKSk7CiAgICAgICAgIFdlYkNvcmVEcmF3RG91YmxlZFRleHRBdFBvaW50KGNvbnRleHQs
IHVybFN0cmluZywgdGV4dFBvcywgKnVybEZvbnQsIHRvcENvbG9yLCBib3R0b21Db2xvcik7CiAg
ICAgfQogICAgIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77512</attachid>
            <date>2010-12-27 09:55:48 -0800</date>
            <delta_ts>2011-01-21 06:45:02 -0800</delta_ts>
            <desc>Patch v10</desc>
            <filename>IntroduceFontMetrics9.diff</filename>
            <type>text/plain</type>
            <size>126380</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTg0IEBACisyMDEwLTEyLTIyICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEludHJvZHVjZSBGb250TWV0cmljcyBhYnN0cmFjdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE0NTYKKworICAgICAgICBFbmNhcHN1
bGF0ZSBhc2NlbnQvZGVzY2VudC9saW5lSGVpZ2h0L2xpbmVHYXAgbWV0aG9kcyBpbiBhIHNpbmds
ZSBGb250TWV0cmljcyBjbGFzcywgaW5zdGVhZCBvZgorICAgICAgICBoYXZpbmcgdG8gZGVmaW5l
IHRoZW0gaW4gYm90aCBGb250ICYgU2ltcGxlRm9udERhdGEuIENoYW5nZWQgdG8gc3RvcmUgZmxv
YXRpbmcgcG9pbnQgdmFsdWVzCisgICAgICAgIGFzIGRlZmF1bHQsIGluIG9yZGVyIHRvIGdldCBh
Y2N1cmF0ZSBpbmZvcm1hdGlvbiBmb3Igc21hbGwgc2l6ZWQgZm9udHMuIEFsbCB0aGVzZSBtZXRo
b2RzCisgICAgICAgIG5vdyBoYXZlIGZsb2F0aW5nLXBvaW50IGFuZCBpbnRlZ2VyIHZlcnNpb25z
LiBXaGVuZXZlciBhbiBpbnRlZ2VyIHZhcmlhbnQgb2YgdGhlc2UgZnVuY3Rpb25zCisgICAgICAg
IGlzIGNhbGxlZCwgbHJvdW5kZigpIGlzIHVzZWQgdG8gcm91bmQgdGhlIHZhbHVlLgorCisgICAg
ICAgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gc3VwcG9ydCBzbWFsbCBmb250LXNpemVzIGZv
ciBTVkcgaW4gYSBmb2xsb3ctdXAgcGF0Y2gsIGFzIHdlbGwKKyAgICAgICAgYXMgZml4aW5nIHJv
dW5kaW5nIGlzc3VlcyB3aGVuIHVzaW5nIFNWRyBGb250cy4KKyAgICAgICAgCisgICAgICAgIFNo
b3VsZG4ndCBhZmZlY3QgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5h
bTogQWRkIEZvbnRNZXRyaWNzLmggdG8gYnVpbGQuIAorICAgICAgICAqIFdlYkNvcmUuZ3lwaTog
RGl0dG8uCisgICAgICAgICogV2ViQ29yZS5wcm86IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvZ3RrL0Fj
Y2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcDogVXNlIHN0eWxlLT5mb250TWV0cmljcygp
IGluc3RlYWQgb2Ygc3R5bGUtPmZvbnQoKSB0byBhY2Nlc3MgdGhlIG1ldHJpY3MuCisgICAgICAg
IChiYXNlbGluZVBvc2l0aW9uRm9yQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCk6CisgICAgICAg
ICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDogICAgICAgICAKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoRG91YmxlKToKKyAgICAgICAgKiBodG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd1RleHRJbnRlcm5hbCk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRyYXdFbGVtZW50VGl0bGUpOgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcDogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpQb3B1cExpc3RCb3g6OnBhaW50Um93KToKKyAgICAgICAgKFdlYkNvcmU6
OlBvcHVwTGlzdEJveDo6Z2V0Um93SGVpZ2h0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9Gb250Lmg6IFJlbW92ZSBhc2NlbnQvZGVzY2VudC9oZWlnaHQvbGluZUdhcC9saW5lU3BhY2lu
Zy94SGVpZ2h0L3VuaXRzUGVyRW0gYWNjZXNzb3IuLi4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6
OmZvbnRNZXRyaWNzKTogLi4uIGFuZCBvbmx5IGV4cG9zZSBhIHNpbmdsZSBGb250TWV0cmljcyBv
YmplY3QgaGVyZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFzdFBhdGguY3Bw
OiBVc2UgZm9udE1ldHJpY3MoKSB0byBxdWVyeSBtZXRyaWNzIGluZm9ybWF0aW9uLgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udDo6ZW1waGFzaXNNYXJrQXNjZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnQ6OmVtcGhhc2lzTWFya0Rlc2NlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZW1w
aGFzaXNNYXJrSGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmZsb2F0V2lkdGhGb3JT
aW1wbGVUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpGb250TWV0cmljcyk6IENyZWF0
ZXMgYSBGb250TWV0cmljcyBvYmplY3QsIHN0b3JlZCBpbiBTaW1wbGVGb250RGF0YS4KKyAgICAg
ICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjp1bml0c1BlckVtKTogUmV0dXJucyBhbiB1bnNpZ25l
ZCBkZXNjcmliaW5nIHRoZSB1bml0c1BlckVtLgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJp
Y3M6OnNldFVuaXRzUGVyRW0pOiBTZXRzIHRoZSB1bml0c1BlckVtIHZhbHVlLgorICAgICAgICAo
V2ViQ29yZTo6Rm9udE1ldHJpY3M6OmZsb2F0QXNjZW50KTogUmV0dXJucyB0aGUgc3RvcmVkIG1f
YXNjZW50IGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnNldEFzY2VudCk6
IFNldHMgdGhlIHN0b3JlZCBtX2FzY2VudCBmbG9hdC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRN
ZXRyaWNzOjpmbG9hdERlc2NlbnQpOiBSZXR1cm5zIHRoZSBzdG9yZWQgbV9kZXNjZW50IGZsb2F0
LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnNldERlc2NlbnQpOiBTZXRzIHRoZSBz
dG9yZWQgbV9kZXNjZW50IGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmZs
b2F0SGVpZ2h0KTogUmV0dXJucyBmbG9hdEFzY2VudCgpICsgZmxvYXREZXNjZW50KCkuCisgICAg
ICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6ZmxvYXRMaW5lR2FwKTogUmV0dXJucyB0aGUgc3Rv
cmVkIG1fbGluZUdhcCBmbG9hdC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpzZXRM
aW5lR2FwKTogU2V0cyB0aGUgc3RvcmVkIG1fbGluZUdhcCBmbG9hdC4KKyAgICAgICAgKFdlYkNv
cmU6OkZvbnRNZXRyaWNzOjpmbG9hdExpbmVTcGFjaW5nKTogUmV0dXJucyB0aGUgc3RvcmVkIG1f
bGluZVNwYWNpbmcgZmxvYXQuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6c2V0TGlu
ZVNwYWNpbmcpOiBTZXRzIHRoZSBzdG9yZWQgbV9saW5lU3BhY2luZyBmbG9hdC4KKyAgICAgICAg
KFdlYkNvcmU6OkZvbnRNZXRyaWNzOjp4SGVpZ2h0KTogUmV0dXJucyB0aGUgc3RvcmVkIG1feEhl
aWdodCBmbG9hdCAobm8gaW50ZWdlciB2ZXJzaW9uIGF2YWlsYWJsZSwgaGVuY2Ugbm8gJ2Zsb2F0
JyBwcmVmaXgpLgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnNldFhIZWlnaHQpOiBT
ZXRzIHRoZSBzdG9yZWQgbV94SGVpZ2h0IGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1l
dHJpY3M6OmFzY2VudCk6IFJldHVybnMgYSByb3VuZGVkIHZlcnNpb24gb2YgYXNjZW50KCkuCisg
ICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6ZGVzY2VudCk6IERpdHRvIChmb3IgZGVzY2Vu
dCkuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6aGVpZ2h0KTogUmV0dXJucyBhc2Nl
bnQoKSArIGRlc2NlbnQoKS4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpsaW5lR2Fw
KTogUmV0dXJucyBhIHJvdW5kZWQgdmVyc2lvbiBvZiBsaW5lR2FwKCkuCisgICAgICAgIChXZWJD
b3JlOjpGb250TWV0cmljczo6bGluZVNwYWNpbmcpOiBEaXR0byAoZm9yIGxpbmVTcGFjaW5nKS4K
KyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpyZXNldCk6IE51bGxzIGFsbCBtZW1iZXJz
LCB1c2VkIG9ubHkgYnkgdGhlIHBsYXRmb3JtIHZhcmlhbnRzIG9mIFNpbXBsZUZvbnREYXRhLgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcDogQWRhcHQgU1ZH
IEZvbnRzIGNvZGUsIHRvIGluaXRpYWxpemUgdGhlIEZvbnRNZXRyaWNzIG9iamVjdCwgYXMgdGhl
IG1fYXNjZW50L2V0Yy4uIG1lbWJlcnMgYXJlIGdvbmUuCisgICAgICAgIChXZWJDb3JlOjpTaW1w
bGVGb250RGF0YTo6U2ltcGxlRm9udERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9u
dERhdGE6OmluaXRDaGFyV2lkdGhzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TaW1w
bGVGb250RGF0YS5oOiBSZW1vdmUgYXNjZW50L2Rlc2NlbnQvaGVpZ2h0L2xpbmVTcGFjaW5nL2xp
bmVHYXAveEhlaWdodC91bml0c1BlckVtIGFjY2Vzc29ycywgYW5kIG1lbWJlcnMsIGp1c3Qgc3Rv
cmUgYSBGb250TWV0cmljcyBvYmplY3QgYW5kIGV4cG9zZSBpdC4KKyAgICAgICAgKFdlYkNvcmU6
OlNpbXBsZUZvbnREYXRhOjpmb250TWV0cmljcyk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVG
b250RGF0YTo6YXZnQ2hhcldpZHRoKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9Gb250Q2hyb21pdW1XaW4uY3BwOiBVc2UgZm9udE1ldHJpY3MoKSB0byBxdWVyeSBmb250
IG1ldHJpY3MuCisgICAgICAgIChXZWJDb3JlOjpUcmFuc3BhcmVuY3lBd2FyZUZvbnRQYWludGVy
OjpUcmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRlcjo6ZXN0aW1hdGVUZXh0Qm91bmRzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRyYW5zcGFyZW5jeUF3YXJlRm9udFBhaW50ZXI6OlRyYW5zcGFyZW5j
eUF3YXJlR2x5cGhQYWludGVyOjpkcmF3R2x5cGhzKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5z
cGFyZW5jeUF3YXJlRm9udFBhaW50ZXI6OlRyYW5zcGFyZW5jeUF3YXJlVW5pc2NyaWJlUGFpbnRl
cjo6ZXN0aW1hdGVUZXh0Qm91bmRzKToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmRyYXdDb21w
bGV4VGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9u
dERhdGFDaHJvbWl1bVdpbi5jcHA6IEFkYXB0IHBsYXRmb3JtIGNvZGUsIHRvIGluaXRpYWxpemUg
dGhlIEZvbnRNZXRyaWNzIG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRh
OjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Np
bXBsZUZvbnREYXRhTGludXguY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZv
bnREYXRhOjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL1VuaXNjcmliZUhlbHBlclRleHRSdW4uY3BwOiBVc2UgZm9udE1ldHJpY3MoKSB0byBxdWVy
eSBmb250IG1ldHJpY3MuCisgICAgICAgIChXZWJDb3JlOjpVbmlzY3JpYmVIZWxwZXJUZXh0UnVu
OjpVbmlzY3JpYmVIZWxwZXJUZXh0UnVuKToKKyAgICAgICAgKFdlYkNvcmU6OlVuaXNjcmliZUhl
bHBlclRleHRSdW46Om5leHRXaW5Gb250RGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFGcmVlVHlwZS5jcHA6IEFkYXB0IHBsYXRmb3JtIGNv
ZGUsIHRvIGluaXRpYWxpemUgdGhlIEZvbnRNZXRyaWNzIG9iamVjdC4KKyAgICAgICAgKFdlYkNv
cmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2hhaWt1L1NpbXBsZUZvbnREYXRhSGFpa3UuY3BwOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL21hYy9Gb250Q29tcGxleFRleHRNYWMuY3BwOiBVc2UgZm9udE1ldHJpY3MoKSB0
byBxdWVyeSBmb250IG1ldHJpY3MuCisgICAgICAgIChXZWJDb3JlOjpGb250OjpmbG9hdFdpZHRo
Rm9yQ29tcGxleFRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFj
Lm1tOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OnNob3dHbHlwaHNXaXRoQWR2YW5jZXMpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbTogQWRh
cHQgcGxhdGZvcm0gY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUgRm9udE1ldHJpY3Mgb2JqZWN0Lgor
ICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAg
IChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1DaGFyV2lkdGhJbml0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9wYW5nby9TaW1wbGVGb250RGF0YVBhbmdvLmNwcDogRGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVGb250RGF0YVF0LmNwcDogRGl0dG8u
ICgrIFN3aXRjaCB0byBRRm9udE1ldHJpY3NGIHRvIGdldCBmbG9hdGluZy1wb2ludCBhY2N1cmFu
Y3kuKQorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDR1dpbi5jcHA6IFVzZSBmb250TWV0
cmljcygpIHRvIHF1ZXJ5IGZvbnQgbWV0cmljcy4KKyAgICAgICAgKFdlYkNvcmU6OmRyYXdHRElH
bHlwaHMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250V2luLmNwcDogRGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpGb250OjpmbG9hdFdpZHRoRm9yQ29tcGxleFRleHQpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNHV2luLmNwcDog
QWRhcHQgcGxhdGZvcm0gY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUgRm9udE1ldHJpY3Mgb2JqZWN0
LgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAg
ICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Cb3VuZHNGb3JHbHlwaCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ2Fpcm9XaW4uY3Bw
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHA6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OmluaXRHRElGb250KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5j
cHA6IFVzZSBmb250TWV0cmljcygpIHRvIHF1ZXJ5IGZvbnQgbWV0cmljcy4KKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6ZHJhd1RleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3dpbmNlL1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwOiBBZGFwdCBwbGF0Zm9ybSBjb2Rl
LCB0byBpbml0aWFsaXplIHRoZSBGb250TWV0cmljcyBvYmplY3QuCisgICAgICAgIChXZWJDb3Jl
OjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy93eC9TaW1wbGVGb250RGF0YVd4LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpT
aW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiByZW5kZXJpbmcvRWxsaXBz
aXNCb3guY3BwOiBVc2Ugc3R5bGUtPmZvbnRNZXRyaWNzKCkgaW5zdGVhZCBvZiBzdHlsZS0+Zm9u
dCgpIHRvIGFjY2VzcyB0aGUgbWV0cmljcy4KKyAgICAgICAgKFdlYkNvcmU6OkVsbGlwc2lzQm94
OjpwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpFbGxpcHNpc0JveDo6bm9kZUF0UG9pbnQpOgor
ICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVCb3guY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OklubGluZUJveDo6bG9naWNhbEhlaWdodCk6CisgICAgICAgICogcmVuZGVyaW5nL0lubGlu
ZUZsb3dCb3guY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OnZlcnRpY2FsUG9zaXRpb25G
b3JCb3gpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxvd0JveDo6Y29tcHV0ZUxvZ2ljYWxC
b3hIZWlnaHRzKToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OnBsYWNlQm94ZXNJ
bkJsb2NrRGlyZWN0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHA6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OklubGluZVRleHRCb3g6OnBhaW50U3BlbGxpbmdPckdyYW1tYXJNYXJrZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvblVuZGVybGluZSk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCbG9jazo6YmFzZWxpbmVQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCbG9jazo6Zmlyc3RMaW5lQm94QmFzZWxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQmxvY2s6Omxhc3RMaW5lQm94QmFzZWxpbmUpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCb3guY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6bG9jYWxD
YXJldFJlY3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHA6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRW1iZWRkZWRPYmplY3Q6OnBhaW50UmVw
bGFjZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OnNldEltYWdlU2l6ZUZvckFsdFRleHQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OnBhaW50UmVwbGFjZWQpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
cklubGluZTo6YmFzZWxpbmVQb3NpdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxp
c3RCb3guY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OnBhaW50
SXRlbUZvcmVncm91bmQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6aXRlbUhl
aWdodCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwOiBEaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RNYXJrZXI6OnBhaW50KToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxpc3RNYXJrZXI6OmxheW91dCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMaXN0TWFya2VyOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVNYXJnaW5zKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxpc3RNYXJrZXI6OmdldFJlbGF0aXZlTWFya2VyUmVjdCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUZXh0Q29udHJvbDo6cGFpbnRQbGFjZWhvbGRlcik6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHA6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjpjcmVhdGVJbm5lclRleHRTdHlsZSk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcDogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZVdpbjo6YWRqdXN0TWVudUxpc3RCdXR0b25TdHlsZSk6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6IEFkZCAiY29uc3QgRm9udE1l
dHJpY3MmIGZvbnRNZXRyaWNzKCkgY29uc3QiIGFjY2Vzc29yLgorICAgICAgICAoV2ViQ29yZTo6
SW5oZXJpdGVkRmxhZ3M6OmZvbnRNZXRyaWNzKToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRl
ZEZsYWdzOjpjb21wdXRlZExpbmVIZWlnaHQpOgorICAgICAgICAqIHJlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHSW5saW5lVGV4dC5jcHA6IFVzZSBzdHlsZS0+Zm9udE1ldHJpY3MoKSBpbnN0ZWFkIG9m
IHN0eWxlLT5mb250KCkgdG8gYWNjZXNzIHRoZSBtZXRyaWNzLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU1ZHSW5saW5lVGV4dDo6cG9zaXRpb25Gb3JQb2ludCk6CisgICAgICAgICogcmVuZGVy
aW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpT
VkdJbmxpbmVUZXh0Qm94OjpzZWxlY3Rpb25SZWN0Rm9yVGV4dEZyYWdtZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OnBvc2l0aW9uT2Zmc2V0Rm9yRGVjb3JhdGlvbik6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb25XaXRoU3R5bGUpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHSW5saW5lVGV4dEJveDo6cGFpbnRUZXh0V2l0aFNoYWRvd3MpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHSW5saW5lVGV4dEJveDo6Y2FsY3VsYXRlQm91bmRhcmllcyk6CisgICAg
ICAgICogcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUuY3BwOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2FsY3Vs
YXRlQmFzZWxpbmVTaGlmdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmU6OmNhbGN1bGF0ZUFsaWdubWVudEJhc2VsaW5lU2hpZnQpOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lOjpjYWxjdWxhdGVHbHlwaEFkdmFuY2VB
bmRPcmllbnRhdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5n
aW5lU3BhY2luZy5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dExheW91dEVu
Z2luZVNwYWNpbmc6OmNhbGN1bGF0ZVNWR0tlcm5pbmcpOgorICAgICAgICAqIHJlbmRlcmluZy9z
dmcvU1ZHVGV4dE1ldHJpY3MuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRN
ZXRyaWNzOjpTVkdUZXh0TWV0cmljcyk6CisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdUZXh0
UXVlcnkuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OmNhbGN1bGF0ZUdseXBoQm91bmRh
cmllcyk6CisgICAgICAgICogc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHA6IAorICAgICAgICAo
V2ViQ29yZTo6U1ZHRm9udEZhY2VFbGVtZW50Ojp1bml0c1BlckVtKTogUmVuYW1lIGRlZmF1bHRV
bml0c1BlckVtIGdsb2JhbCB0byBnRGVmYXVsdFVuaXRzUGVyRW0uCisgICAgICAgICogc3ZnL1NW
R0xlbmd0aC5jcHA6IFVzZSBzdHlsZS0+Zm9udE1ldHJpY3MoKSBpbnN0ZWFkIG9mIHN0eWxlLT5m
b250KCkgdG8gYWNjZXNzIHRoZSBtZXRyaWNzLgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3Ro
Ojpjb252ZXJ0VmFsdWVGcm9tVXNlclVuaXRzVG9FWFMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
TGVuZ3RoOjpjb252ZXJ0VmFsdWVGcm9tRVhTVG9Vc2VyVW5pdHMpOgorCiAyMDEwLTEyLTI3ICBZ
dXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3
ZWQuIFJlbW92ZWQgdHJhaWxpbmcgc3BhY2VzIGZyb20gYSBsb2NhbGl6ZWQKSW5kZXg6IFdlYkNv
cmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQko
cmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkp
CkBAIC0yNDA1LDYgKzI0MDUsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udEZhbWlseS5oIFwKIAlXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRGYXN0UGF0aC5jcHAgXAogCVdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oIFwK
KwlXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmggXAogCVdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvRm9udE9yaWVudGF0aW9uLmggXAogCVdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udFJlbmRlcmluZ01vZGUuaCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250U2VsZWN0b3IuaCBcCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL1dlYkNv
cmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMjkxMCw2ICsyOTEwLDcgQEAKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5LmNwcCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vZ3JhcGhpY3MvRm9udEZhbWlseS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGlj
cy9Gb250RmFzdFBhdGguY3BwJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9Gb250
TWV0cmljcy5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9Gb250UmVuZGVyaW5n
TW9kZS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9Gb250U2VsZWN0b3IuaCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvRm9udFNtb290aGluZ01vZGUuaCcsCklu
ZGV4OiBXZWJDb3JlL1dlYkNvcmUucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5w
cm8JKHJldmlzaW9uIDc0NjgzKQorKysgV2ViQ29yZS9XZWJDb3JlLnBybwkod29ya2luZyBjb3B5
KQpAQCAtMjExMyw2ICsyMTEzLDcgQEAgSEVBREVSUyArPSBcCiAgICAgcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udERhdGEuaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udERlc2NyaXB0aW9uLmgg
XAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHkuaCBcCisgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udE1ldHJpY3MuaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9udC5oIFwKICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9HZW5lcmF0ZWRJbWFnZS5oIFwKICAgICBwbGF0Zm9ybS9ncmFw
aGljcy9HcmFkaWVudC5oIFwKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yNjM4MSw2ICsyNjM4MSwxMCBAQAogCQkJCQk+CiAJCQkJ
PC9GaWxlPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cZ3JhcGhp
Y3NcRm9udE1ldHJpY3MuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXEZvbnRSZW5kZXJpbmdNb2RlLmgiCiAJ
CQkJCT4KIAkJCQk8L0ZpbGU+CkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTA3LDYgKzEwNyw3IEBACiAJCTA4
M0RBRUE3MEYwMUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgzREFFQTMwRjAx
QTdGQjAwMzQyNzU0IC8qIFJlbmRlclRleHRDb250cm9sTXVsdGlMaW5lLmggKi87IH07CiAJCTA4
M0RBRUE4MEYwMUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDgzREFFQTQw
RjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAgKi87IH07
CiAJCTA4M0RBRUE5MEYwMUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxp
bmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4M0RB
RUE1MEYwMUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaCAqLzsg
fTsKKwkJMDg0NTY4MDgxMkI5MERBNjAwOTYwQTlGIC8qIEZvbnRNZXRyaWNzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODQ1NjgwNzEyQjkwREE2MDA5
NjBBOUYgLyogRm9udE1ldHJpY3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQkwODRBMDgyOTEyOEQ3ODY3MDAyREIxRjEgLyogU1ZHUGF0aFNlZ0xp
c3RQcm9wZXJ0eVRlYXJPZmYuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDA4NEEwODI4MTI4RDc4NjcwMDJEQjFGMSAvKiBTVkdQYXRoU2VnTGlzdFByb3Bl
cnR5VGVhck9mZi5oICovOyB9OwogCQkwODRBRUJFNDBGQjUwNUZBMDAzODQ4M0UgLyogU2VsZWN0
RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwODRBRUJFMjBGQjUwNUZBMDAzODQ4M0UgLyogU2VsZWN0RWxlbWVudC5jcHAgKi87IH07CiAJ
CTA4NEFFQkU1MEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxlY3RFbGVtZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODRBRUJFMzBGQjUwNUZBMDAzODQ4
M0UgLyogU2VsZWN0RWxlbWVudC5oICovOyB9OwpAQCAtNjM2OSw2ICs2MzcwLDcgQEAKIAkJMDgz
REFFQTMwRjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRlclRleHRDb250cm9sTXVsdGlMaW5lLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclRleHRDb250cm9sTXVsdGlMaW5l
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4M0RBRUE0MEYwMUE3RkIwMDM0Mjc1
NCAvKiBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDgzREFFQTUwRjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRl
clRleHRDb250cm9sU2luZ2xlTGluZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMDg0NTY4MDcxMkI5MERBNjAwOTYwQTlGIC8qIEZvbnRNZXRyaWNzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRNZXRyaWNzLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTA4NEEwODI4MTI4RDc4NjcwMDJEQjFGMSAvKiBTVkdQYXRoU2VnTGlzdFBy
b3BlcnR5VGVhck9mZi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRo
U2VnTGlzdFByb3BlcnR5VGVhck9mZi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
ODRBRUJFMjBGQjUwNUZBMDAzODQ4M0UgLyogU2VsZWN0RWxlbWVudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTZWxlY3RFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMDg0QUVCRTMwRkI1MDVGQTAwMzg0ODNFIC8qIFNlbGVjdEVsZW1l
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VsZWN0RWxlbWVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTcyMzIsNiArMTcyMzQsNyBAQAogCQkJCUIy
QzNEQTU4MEQwMDZDRDYwMEVGNkYyNiAvKiBGb250RmFtaWx5LmNwcCAqLywKIAkJCQlCMkMzREE1
OTBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udEZhbWlseS5oICovLAogCQkJCTcyNjI2RTAxMEVGMDIy
RkUwMEEwN0UyMCAvKiBGb250RmFzdFBhdGguY3BwICovLAorCQkJCTA4NDU2ODA3MTJCOTBEQTYw
MDk2MEE5RiAvKiBGb250TWV0cmljcy5oICovLAogCQkJCUY3QTAzNEMzMTI2QkY2QkUwMDdEQzE5
RSAvKiBGb250T3JpZW50YXRpb24uaCAqLywKIAkJCQkzN0FDQ0U0MTBEQTI5ODBGMDA4OUU2MDIg
LyogRm9udFJlbmRlcmluZ01vZGUuaCAqLywKIAkJCQlCMkMzREE1QTBEMDA2Q0Q2MDBFRjZGMjYg
LyogRm9udFNlbGVjdG9yLmggKi8sCkBAIC0yMjEzNCw2ICsyMjEzNyw3IEBACiAJCQkJOTNGMTk5
RUQwODI0NUU1OTAwMUU5QUJDIC8qIFhTTFRQcm9jZXNzb3IuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUxQkU1MTJFMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTk3REQ0RDg3MEZERjRENkUwMEVDRjlBNCAvKiBYU1NBdWRpdG9yLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwODQ1NjgwODEyQjkwREE2MDA5NjBBOUYgLyogRm9udE1ldHJpY3MuaCBp
biBIZWFkZXJzICovLAogCQkJCTQ5OUIzRUM1MTI4Q0NDNDcwMEU3MjZDMiAvKiBQbGF0Zm9ybUNB
TGF5ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5OUIzRUQ3MTI4Q0QzMTQwMEU3MjZDMiAvKiBH
cmFwaGljc0xheWVyQ0EuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5OUIzRUREMTI4REI1MDIwMEU3
MjZDMiAvKiBQbGF0Zm9ybUNBQW5pbWF0aW9uLmggaW4gSGVhZGVycyAqLywKSW5kZXg6IFdlYkNv
cmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvYWNjZXNzaWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXJBdGsuY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvYWNjZXNzaWJpbGl0
eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMjExLDggKzEyMTEsOCBAQCBzdGF0aWMgaW50IGJhc2VsaW5lUG9zaXRpb25Gb3JBY2Nlc3Np
YmlsCiAgICAgLy8gRklYTUU6IFRoaXMgaW1wbGVtZW50YXRpb24gb2YgYmFzZWxpbmVQb3NpdGlv
biBvcmlnaW5hdGVzIGZyb20gUmVuZGVyT2JqZWN0LmNwcCBhbmQgd2FzCiAgICAgLy8gcmVtb3Zl
ZCBpbiByNzAwNzIuIFRoZSBpbXBsZW1lbnRhdGlvbiBsb29rcyBpbmNvcnJlY3QgdGhvdWdoLCBi
ZWNhdXNlIHRoaXMgaXMgbm90IHRoZQogICAgIC8vIGJhc2VsaW5lIG9mIHRoZSB1bmRlcmx5aW5n
IFJlbmRlck9iamVjdCwgYnV0IG9mIHRoZSBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LgotICAg
IGNvbnN0IEZvbnQmIGYgPSByZW5kZXJPYmplY3QtPmZpcnN0TGluZVN0eWxlKCktPmZvbnQoKTsK
LSAgICByZXR1cm4gZi5hc2NlbnQoKSArIChyZW5kZXJPYmplY3QtPmZpcnN0TGluZVN0eWxlKCkt
PmNvbXB1dGVkTGluZUhlaWdodCgpIC0gZi5oZWlnaHQoKSkgLyAyOworICAgIGNvbnN0IEZvbnRN
ZXRyaWNzJiBmb250TWV0cmljcyA9IHJlbmRlck9iamVjdC0+Zmlyc3RMaW5lU3R5bGUoKS0+Zm9u
dE1ldHJpY3MoKTsKKyAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KCkgKyAocmVuZGVyT2Jq
ZWN0LT5maXJzdExpbmVTdHlsZSgpLT5jb21wdXRlZExpbmVIZWlnaHQoKSAtIGZvbnRNZXRyaWNz
LmhlaWdodCgpKSAvIDI7CiB9CiAKIHN0YXRpYyBBdGtBdHRyaWJ1dGVTZXQqIGdldEF0dHJpYnV0
ZVNldEZvckFjY2Vzc2liaWxpdHlPYmplY3QoY29uc3QgQWNjZXNzaWJpbGl0eU9iamVjdCogb2Jq
ZWN0KQpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAkocmV2aXNpb24gNzQ2ODMpCisr
KyBXZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQw
MCw3ICs0MDAsNyBAQCBkb3VibGUgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGhECiAg
ICAgICAgICAgICAvLyBXZSByZWFsbHkgbmVlZCB0byBjb21wdXRlIEVYIHVzaW5nIGZvbnRNZXRy
aWNzIGZvciB0aGUgb3JpZ2luYWwgc3BlY2lmaWVkU2l6ZSBhbmQgbm90IHVzZQogICAgICAgICAg
ICAgLy8gb3VyIGFjdHVhbCBjb25zdHJ1Y3RlZCByZW5kZXJpbmcgZm9udC4KICAgICAgICAgICAg
IGFwcGx5Wm9vbU11bHRpcGxpZXIgPSBmYWxzZTsKLSAgICAgICAgICAgIGZhY3RvciA9IHN0eWxl
LT5mb250KCkueEhlaWdodCgpOworICAgICAgICAgICAgZmFjdG9yID0gc3R5bGUtPmZvbnRNZXRy
aWNzKCkueEhlaWdodCgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ1NTX1JF
TVM6CiAgICAgICAgICAgICBhcHBseVpvb21NdWx0aXBsaWVyID0gZmFsc2U7CkluZGV4OiBXZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZp
c2lvbiA3NDY4MykKKysrIFdlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJELmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc2MCw2ICsxNzYwLDcgQEAgdm9pZCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ6OmRyYXdUZXh0SQogICAgICAgICByZXR1cm47CiAKICAgICBjb25z
dCBGb250JiBmb250ID0gYWNjZXNzRm9udCgpOworICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250
TWV0cmljcyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKIAogICAgIC8vIEZJWE1FOiBIYW5kbGUgbWF4
V2lkdGguCiAgICAgLy8gRklYTUU6IE5lZWQgdG8gdHVybiBvZmYgZm9udCBzbW9vdGhpbmcuCkBA
IC0xNzc3LDE0ICsxNzc4LDE0IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3
VGV4dEkKICAgICBzd2l0Y2ggKHN0YXRlKCkubV90ZXh0QmFzZWxpbmUpIHsKICAgICBjYXNlIFRv
cFRleHRCYXNlbGluZToKICAgICBjYXNlIEhhbmdpbmdUZXh0QmFzZWxpbmU6Ci0gICAgICAgIGxv
Y2F0aW9uLnNldFkoeSArIGZvbnQuYXNjZW50KCkpOworICAgICAgICBsb2NhdGlvbi5zZXRZKHkg
KyBmb250TWV0cmljcy5hc2NlbnQoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQm90dG9t
VGV4dEJhc2VsaW5lOgogICAgIGNhc2UgSWRlb2dyYXBoaWNUZXh0QmFzZWxpbmU6Ci0gICAgICAg
IGxvY2F0aW9uLnNldFkoeSAtIGZvbnQuZGVzY2VudCgpKTsKKyAgICAgICAgbG9jYXRpb24uc2V0
WSh5IC0gZm9udE1ldHJpY3MuZGVzY2VudCgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBN
aWRkbGVUZXh0QmFzZWxpbmU6Ci0gICAgICAgIGxvY2F0aW9uLnNldFkoeSAtIGZvbnQuZGVzY2Vu
dCgpICsgZm9udC5oZWlnaHQoKSAvIDIpOworICAgICAgICBsb2NhdGlvbi5zZXRZKHkgLSBmb250
TWV0cmljcy5kZXNjZW50KCkgKyBmb250TWV0cmljcy5oZWlnaHQoKSAvIDIpOwogICAgICAgICBi
cmVhazsKICAgICBjYXNlIEFscGhhYmV0aWNUZXh0QmFzZWxpbmU6CiAgICAgZGVmYXVsdDoKQEAg
LTE4MTIsOCArMTgxMyw4IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3VGV4
dEkKICAgICB9CiAKICAgICAvLyBUaGUgc2xvcCBidWlsdCBpbiB0byB0aGlzIG1hc2sgcmVjdCBt
YXRjaGVzIHRoZSBoZXVyaXN0aWMgdXNlZCBpbiBGb250Q0dXaW4uY3BwIGZvciBHREkgdGV4dC4K
LSAgICBGbG9hdFJlY3QgdGV4dFJlY3QgPSBGbG9hdFJlY3QobG9jYXRpb24ueCgpIC0gZm9udC5o
ZWlnaHQoKSAvIDIsIGxvY2F0aW9uLnkoKSAtIGZvbnQuYXNjZW50KCkgLSBmb250LmxpbmVHYXAo
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggKyBmb250LmhlaWdo
dCgpLCBmb250LmxpbmVTcGFjaW5nKCkpOworICAgIEZsb2F0UmVjdCB0ZXh0UmVjdCA9IEZsb2F0
UmVjdChsb2NhdGlvbi54KCkgLSBmb250TWV0cmljcy5oZWlnaHQoKSAvIDIsIGxvY2F0aW9uLnko
KSAtIGZvbnRNZXRyaWNzLmFzY2VudCgpIC0gZm9udE1ldHJpY3MubGluZUdhcCgpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCArIGZvbnRNZXRyaWNzLmhlaWdodCgp
LCBmb250TWV0cmljcy5saW5lU3BhY2luZygpKTsKICAgICBpZiAoIWZpbGwpCiAgICAgICAgIHRl
eHRSZWN0LmluZmxhdGUoYy0+c3Ryb2tlVGhpY2tuZXNzKCkgLyAyKTsKIApJbmRleDogV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDc0NjgzKQorKysg
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTE3NjYsNyArMTc2Niw3IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZHJhd0VsZW1l
bnRUaXQKICAgICBjb250ZXh0LnNldEZpbGxDb2xvcih0b29sdGlwQmFja2dyb3VuZENvbG9yLCBD
b2xvclNwYWNlRGV2aWNlUkdCKTsKICAgICBjb250ZXh0LmRyYXdSZWN0KHRpdGxlUmVjdCk7CiAg
ICAgY29udGV4dC5zZXRGaWxsQ29sb3IodG9vbHRpcEZvbnRDb2xvciwgQ29sb3JTcGFjZURldmlj
ZVJHQik7Ci0gICAgY29udGV4dC5kcmF3VGV4dChmb250LCBub2RlVGl0bGVSdW4sIEludFBvaW50
KHRpdGxlUmVjdC54KCkgKyByZWN0SW5mbGF0ZVB4LCB0aXRsZVJlY3QueSgpICsgZm9udC5oZWln
aHQoKSkpOworICAgIGNvbnRleHQuZHJhd1RleHQoZm9udCwgbm9kZVRpdGxlUnVuLCBJbnRQb2lu
dCh0aXRsZVJlY3QueCgpICsgcmVjdEluZmxhdGVQeCwgdGl0bGVSZWN0LnkoKSArIGZvbnQuZm9u
dE1ldHJpY3MoKS5oZWlnaHQoKSkpOwogfQogCiB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6Om9w
ZW5Jbkluc3BlY3RlZFdpbmRvdyhjb25zdCBTdHJpbmcmIHVybCkKSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwCShyZXZpc2lvbiA3NDY4
MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC05NTksNyArOTU5LDcgQEAgdm9pZCBQb3B1cExpc3RCb3g6OnBhaW50
Um93KEdyYXBoaWNzQ29udAogICAgICAgICB0ZXh0WCArPSBtYXhXaWR0aCAtIGl0ZW1Gb250Lndp
ZHRoKHRleHRSdW4pOwogCiAgICAgLy8gRHJhdyB0aGUgaXRlbSB0ZXh0LgotICAgIGludCB0ZXh0
WSA9IHJvd1JlY3QueSgpICsgaXRlbUZvbnQuYXNjZW50KCkgKyAocm93UmVjdC5oZWlnaHQoKSAt
IGl0ZW1Gb250LmhlaWdodCgpKSAvIDI7CisgICAgaW50IHRleHRZID0gcm93UmVjdC55KCkgKyBp
dGVtRm9udC5mb250TWV0cmljcygpLmFzY2VudCgpICsgKHJvd1JlY3QuaGVpZ2h0KCkgLSBpdGVt
Rm9udC5mb250TWV0cmljcygpLmhlaWdodCgpKSAvIDI7CiAgICAgZ2MtPmRyYXdCaWRpVGV4dChp
dGVtRm9udCwgdGV4dFJ1biwgSW50UG9pbnQodGV4dFgsIHRleHRZKSk7CiAKICAgICAvLyBXZSBh
cmUgdXNpbmcgdGhlIGxlZnQgcGFkZGluZyBhcyB0aGUgcmlnaHQgcGFkZGluZyBpbmNsdWRlcyBy
b29tIGZvciB0aGUgc2Nyb2xsLWJhciB3aGljaApAQCAtMTA5OSw3ICsxMDk5LDcgQEAgaW50IFBv
cHVwTGlzdEJveDo6Z2V0Um93SGVpZ2h0KGludCBpbmRleAogICAgIFN0cmluZyBpY29uID0gbV9w
b3B1cENsaWVudC0+aXRlbUljb24oaW5kZXgpOwogICAgIFJlZlB0cjxJbWFnZT4gaW1hZ2UoSW1h
Z2U6OmxvYWRQbGF0Zm9ybVJlc291cmNlKGljb24udXRmOCgpLmRhdGEoKSkpOwogCi0gICAgaW50
IGZvbnRIZWlnaHQgPSBnZXRSb3dGb250KGluZGV4KS5oZWlnaHQoKTsKKyAgICBpbnQgZm9udEhl
aWdodCA9IGdldFJvd0ZvbnQoaW5kZXgpLmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCk7CiAgICAgaW50
IGljb25IZWlnaHQgPSAoaW1hZ2UgJiYgIWltYWdlLT5pc051bGwoKSkgPyBpbWFnZS0+cmVjdCgp
LmhlaWdodCgpIDogMDsKIAogICAgIHJldHVybiBtYXgoZm9udEhlaWdodCwgaWNvbkhlaWdodCk7
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDQsNyArNDQs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBGbG9hdFBvaW50OwogY2xhc3MgRmxvYXRS
ZWN0OwogY2xhc3MgRm9udERhdGE7Ci1jbGFzcyBGb250RmFsbGJhY2tMaXN0OworY2xhc3MgRm9u
dE1ldHJpY3M7CiBjbGFzcyBGb250UGxhdGZvcm1EYXRhOwogY2xhc3MgRm9udFNlbGVjdG9yOwog
Y2xhc3MgR2x5cGhCdWZmZXI7CkBAIC01NCw4ICs1NCw2IEBAIGNsYXNzIFNWR0ZvbnRFbGVtZW50
OwogCiBzdHJ1Y3QgR2x5cGhEYXRhOwogCi1jb25zdCB1bnNpZ25lZCBkZWZhdWx0VW5pdHNQZXJF
bSA9IDEwMDA7Ci0KIHN0cnVjdCBHbHlwaE92ZXJmbG93IHsKICAgICBHbHlwaE92ZXJmbG93KCkK
ICAgICAgICAgOiBsZWZ0KDApCkBAIC0xMjgsMTMgKzEyNiw3IEBAIHB1YmxpYzoKICAgICBib29s
IGlzUGxhdGZvcm1Gb250KCkgY29uc3QgeyByZXR1cm4gbV9pc1BsYXRmb3JtRm9udDsgfQogCiAg
ICAgLy8gTWV0cmljcyB0aGF0IHdlIHF1ZXJ5IHRoZSBGb250RmFsbGJhY2tMaXN0IGZvci4KLSAg
ICBpbnQgYXNjZW50KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxp
bmUpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmFzY2VudChiYXNlbGluZVR5cGUpOyB9
Ci0gICAgaW50IGRlc2NlbnQoRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0aWNC
YXNlbGluZSkgY29uc3QgeyByZXR1cm4gcHJpbWFyeUZvbnQoKS0+ZGVzY2VudChiYXNlbGluZVR5
cGUpOyB9Ci0gICAgaW50IGhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIGFzY2VudCgpICsgZGVzY2Vu
dCgpOyB9Ci0gICAgaW50IGxpbmVTcGFjaW5nKCkgY29uc3QgeyByZXR1cm4gcHJpbWFyeUZvbnQo
KS0+bGluZVNwYWNpbmcoKTsgfQotICAgIGludCBsaW5lR2FwKCkgY29uc3QgeyByZXR1cm4gcHJp
bWFyeUZvbnQoKS0+bGluZUdhcCgpOyB9Ci0gICAgZmxvYXQgeEhlaWdodCgpIGNvbnN0IHsgcmV0
dXJuIHByaW1hcnlGb250KCktPnhIZWlnaHQoKTsgfQotICAgIHVuc2lnbmVkIHVuaXRzUGVyRW0o
KSBjb25zdCB7IHJldHVybiBwcmltYXJ5Rm9udCgpLT51bml0c1BlckVtKCk7IH0KKyAgICBjb25z
dCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MoKSBjb25zdCB7IHJldHVybiBwcmltYXJ5Rm9udCgp
LT5mb250TWV0cmljcygpOyB9CiAgICAgaW50IHNwYWNlV2lkdGgoKSBjb25zdCB7IHJldHVybiAo
aW50KWNlaWxmKHByaW1hcnlGb250KCktPmFkanVzdGVkU3BhY2VXaWR0aCgpICsgbV9sZXR0ZXJT
cGFjaW5nKTsgfQogICAgIGZsb2F0IHRhYldpZHRoKGNvbnN0IFNpbXBsZUZvbnREYXRhJiBmb250
RGF0YSkgY29uc3QgeyByZXR1cm4gOCAqIGNlaWxmKGZvbnREYXRhLmFkanVzdGVkU3BhY2VXaWR0
aCgpICsgbGV0dGVyU3BhY2luZygpKTsgfQogICAgIGludCBlbXBoYXNpc01hcmtBc2NlbnQoY29u
c3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnRGYXN0UGF0aC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250RmFzdFBhdGguY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvRm9udEZhc3RQYXRoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQxLDcgKzI0MSw3
IEBAIGludCBGb250OjplbXBoYXNpc01hcmtBc2NlbnQoY29uc3QgQXRvbWkKICAgICBpZiAoIW1h
cmtGb250RGF0YSkKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICByZXR1cm4gbWFya0ZvbnREYXRh
LT5hc2NlbnQoKTsKKyAgICByZXR1cm4gbWFya0ZvbnREYXRhLT5mb250TWV0cmljcygpLmFzY2Vu
dCgpOwogfQogCiBpbnQgRm9udDo6ZW1waGFzaXNNYXJrRGVzY2VudChjb25zdCBBdG9taWNTdHJp
bmcmIG1hcmspIGNvbnN0CkBAIC0yNTUsNyArMjU1LDcgQEAgaW50IEZvbnQ6OmVtcGhhc2lzTWFy
a0Rlc2NlbnQoY29uc3QgQXRvbQogICAgIGlmICghbWFya0ZvbnREYXRhKQogICAgICAgICByZXR1
cm4gMDsKIAotICAgIHJldHVybiBtYXJrRm9udERhdGEtPmRlc2NlbnQoKTsKKyAgICByZXR1cm4g
bWFya0ZvbnREYXRhLT5mb250TWV0cmljcygpLmRlc2NlbnQoKTsKIH0KIAogaW50IEZvbnQ6OmVt
cGhhc2lzTWFya0hlaWdodChjb25zdCBBdG9taWNTdHJpbmcmIG1hcmspIGNvbnN0CkBAIC0yNjks
NyArMjY5LDcgQEAgaW50IEZvbnQ6OmVtcGhhc2lzTWFya0hlaWdodChjb25zdCBBdG9taQogICAg
IGlmICghbWFya0ZvbnREYXRhKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHJldHVybiBtYXJr
Rm9udERhdGEtPmhlaWdodCgpOworICAgIHJldHVybiBtYXJrRm9udERhdGEtPmZvbnRNZXRyaWNz
KCkuaGVpZ2h0KCk7CiB9CiAKIGZsb2F0IEZvbnQ6OmdldEdseXBoc0FuZEFkdmFuY2VzRm9yU2lt
cGxlVGV4dChjb25zdCBUZXh0UnVuJiBydW4sIGludCBmcm9tLCBpbnQgdG8sIEdseXBoQnVmZmVy
JiBnbHlwaEJ1ZmZlciwgRm9yVGV4dEVtcGhhc2lzT3JOb3QgZm9yVGV4dEVtcGhhc2lzKSBjb25z
dApAQCAtNDAzLDggKzQwMyw4IEBAIGZsb2F0IEZvbnQ6OmZsb2F0V2lkdGhGb3JTaW1wbGVUZXh0
KGNvbnMKICAgICBpdC5hZHZhbmNlKHJ1bi5sZW5ndGgoKSwgZ2x5cGhCdWZmZXIpOwogCiAgICAg
aWYgKGdseXBoT3ZlcmZsb3cpIHsKLSAgICAgICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4PGlu
dD4oZ2x5cGhPdmVyZmxvdy0+dG9wLCBjZWlsZigtaXQubWluR2x5cGhCb3VuZGluZ0JveFkoKSkg
LSBhc2NlbnQoKSk7Ci0gICAgICAgIGdseXBoT3ZlcmZsb3ctPmJvdHRvbSA9IG1heDxpbnQ+KGds
eXBoT3ZlcmZsb3ctPmJvdHRvbSwgY2VpbGYoaXQubWF4R2x5cGhCb3VuZGluZ0JveFkoKSkgLSBk
ZXNjZW50KCkpOworICAgICAgICBnbHlwaE92ZXJmbG93LT50b3AgPSBtYXg8aW50PihnbHlwaE92
ZXJmbG93LT50b3AsIGNlaWxmKC1pdC5taW5HbHlwaEJvdW5kaW5nQm94WSgpKSAtIGZvbnRNZXRy
aWNzKCkuYXNjZW50KCkpOworICAgICAgICBnbHlwaE92ZXJmbG93LT5ib3R0b20gPSBtYXg8aW50
PihnbHlwaE92ZXJmbG93LT5ib3R0b20sIGNlaWxmKGl0Lm1heEdseXBoQm91bmRpbmdCb3hZKCkp
IC0gZm9udE1ldHJpY3MoKS5kZXNjZW50KCkpOwogICAgICAgICBnbHlwaE92ZXJmbG93LT5sZWZ0
ID0gY2VpbGYoaXQuZmlyc3RHbHlwaE92ZXJmbG93KCkpOwogICAgICAgICBnbHlwaE92ZXJmbG93
LT5yaWdodCA9IGNlaWxmKGl0Lmxhc3RHbHlwaE92ZXJmbG93KCkpOwogICAgIH0KSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udE1ldHJpY3MuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmgJKHJldmlzaW9uIDApCisrKyBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRNZXRyaWNzLmgJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTIzIEBACisvKgorICAgIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0
ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKworICAgIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgICBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICAgIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgorICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAg
ICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAg
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAgICBhaW50IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgICAgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAgICBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyovCisKKyNpZm5kZWYgRm9udE1ldHJpY3NfaAor
I2RlZmluZSBGb250TWV0cmljc19oCisKKyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NvbnN0IHVuc2lnbmVkIGdEZWZhdWx0VW5pdHNQZXJFbSA9
IDEwMDA7CisKK2NsYXNzIEZvbnRNZXRyaWNzIHsKK3B1YmxpYzoKKyAgICBGb250TWV0cmljcygp
CisgICAgICAgIDogbV91bml0c1BlckVtKGdEZWZhdWx0VW5pdHNQZXJFbSkKKyAgICAgICAgLCBt
X2FzY2VudCgwKQorICAgICAgICAsIG1fZGVzY2VudCgwKQorICAgICAgICAsIG1fbGluZUdhcCgw
KQorICAgICAgICAsIG1fbGluZVNwYWNpbmcoMCkKKyAgICAgICAgLCBtX3hIZWlnaHQoMCkKKyAg
ICB7CisgICAgfQorCisgICAgdW5zaWduZWQgdW5pdHNQZXJFbSgpIGNvbnN0IHsgcmV0dXJuIG1f
dW5pdHNQZXJFbTsgfQorICAgIHZvaWQgc2V0VW5pdHNQZXJFbSh1bnNpZ25lZCB1bml0c1BlckVt
KSB7IG1fdW5pdHNQZXJFbSA9IHVuaXRzUGVyRW07IH0KKworICAgIGZsb2F0IGZsb2F0QXNjZW50
KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0Cisg
ICAgeworICAgICAgICBpZiAoYmFzZWxpbmVUeXBlID09IEFscGhhYmV0aWNCYXNlbGluZSkKKyAg
ICAgICAgICAgIHJldHVybiBtX2FzY2VudDsKKyAgICAgICAgcmV0dXJuIGZsb2F0SGVpZ2h0KCkg
LyAyOworICAgIH0KKworICAgIHZvaWQgc2V0QXNjZW50KGZsb2F0IGFzY2VudCkgeyBtX2FzY2Vu
dCA9IGFzY2VudDsgfQorCisgICAgZmxvYXQgZmxvYXREZXNjZW50KEZvbnRCYXNlbGluZSBiYXNl
bGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0CisgICAgeworICAgICAgICBpZiAo
YmFzZWxpbmVUeXBlID09IEFscGhhYmV0aWNCYXNlbGluZSkKKyAgICAgICAgICAgIHJldHVybiBt
X2Rlc2NlbnQ7CisgICAgICAgIHJldHVybiBmbG9hdEhlaWdodCgpIC8gMjsKKyAgICB9CisKKyAg
ICB2b2lkIHNldERlc2NlbnQoZmxvYXQgZGVzY2VudCkgeyBtX2Rlc2NlbnQgPSBkZXNjZW50OyB9
CisKKyAgICBmbG9hdCBmbG9hdEhlaWdodChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxw
aGFiZXRpY0Jhc2VsaW5lKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGZsb2F0QXNjZW50
KGJhc2VsaW5lVHlwZSkgKyBmbG9hdERlc2NlbnQoYmFzZWxpbmVUeXBlKTsKKyAgICB9CisKKyAg
ICBmbG9hdCBmbG9hdExpbmVHYXAoKSBjb25zdCB7IHJldHVybiBtX2xpbmVHYXA7IH0KKyAgICB2
b2lkIHNldExpbmVHYXAoZmxvYXQgbGluZUdhcCkgeyBtX2xpbmVHYXAgPSBsaW5lR2FwOyB9CisK
KyAgICBmbG9hdCBmbG9hdExpbmVTcGFjaW5nKCkgY29uc3QgeyByZXR1cm4gbV9saW5lU3BhY2lu
ZzsgfQorICAgIHZvaWQgc2V0TGluZVNwYWNpbmcoZmxvYXQgbGluZVNwYWNpbmcpIHsgbV9saW5l
U3BhY2luZyA9IGxpbmVTcGFjaW5nOyB9CisKKyAgICBmbG9hdCB4SGVpZ2h0KCkgY29uc3QgeyBy
ZXR1cm4gbV94SGVpZ2h0OyB9CisgICAgdm9pZCBzZXRYSGVpZ2h0KGZsb2F0IHhIZWlnaHQpIHsg
bV94SGVpZ2h0ID0geEhlaWdodDsgfQorCisgICAgLy8gSW50ZWdlciB2YXJpYW50cyBvZiBjZXJ0
YWluIG1ldHJpY3MsIHVzZWQgZm9yIEhUTUwgcmVuZGVyaW5nLgorICAgIGludCBhc2NlbnQoRm9u
dEJhc2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0aWNCYXNlbGluZSkgY29uc3QKKyAgICB7
CisgICAgICAgIGlmIChiYXNlbGluZVR5cGUgPT0gQWxwaGFiZXRpY0Jhc2VsaW5lKQorICAgICAg
ICAgICAgcmV0dXJuIGxyb3VuZGYobV9hc2NlbnQpOworICAgICAgICByZXR1cm4gaGVpZ2h0KCkg
LSBoZWlnaHQoKSAvIDI7CisgICAgfQorCisgICAgaW50IGRlc2NlbnQoRm9udEJhc2VsaW5lIGJh
c2VsaW5lVHlwZSA9IEFscGhhYmV0aWNCYXNlbGluZSkgY29uc3QKKyAgICB7CisgICAgICAgIGlm
IChiYXNlbGluZVR5cGUgPT0gQWxwaGFiZXRpY0Jhc2VsaW5lKQorICAgICAgICAgICAgcmV0dXJu
IGxyb3VuZGYobV9kZXNjZW50KTsKKyAgICAgICAgcmV0dXJuIGhlaWdodCgpIC8gMjsKKyAgICB9
CisKKyAgICBpbnQgaGVpZ2h0KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGlj
QmFzZWxpbmUpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gYXNjZW50KGJhc2VsaW5lVHlw
ZSkgKyBkZXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgfQorCisgICAgaW50IGxpbmVHYXAoKSBj
b25zdCB7IHJldHVybiBscm91bmRmKG1fbGluZUdhcCk7IH0KKyAgICBpbnQgbGluZVNwYWNpbmco
KSBjb25zdCB7IHJldHVybiBscm91bmRmKG1fbGluZVNwYWNpbmcpOyB9CisKK3ByaXZhdGU6Cisg
ICAgZnJpZW5kIGNsYXNzIFNpbXBsZUZvbnREYXRhOworCisgICAgdm9pZCByZXNldCgpCisgICAg
eworICAgICAgICBtX3VuaXRzUGVyRW0gPSBnRGVmYXVsdFVuaXRzUGVyRW07CisgICAgICAgIG1f
YXNjZW50ID0gMDsKKyAgICAgICAgbV9kZXNjZW50ID0gMDsKKyAgICAgICAgbV9saW5lR2FwID0g
MDsKKyAgICAgICAgbV9saW5lU3BhY2luZyA9IDA7CisgICAgICAgIG1feEhlaWdodCA9IDA7Cisg
ICAgfQorCitwcml2YXRlOgorICAgIHVuc2lnbmVkIG1fdW5pdHNQZXJFbTsKKyAgICBmbG9hdCBt
X2FzY2VudDsKKyAgICBmbG9hdCBtX2Rlc2NlbnQ7CisgICAgZmxvYXQgbV9saW5lR2FwOworICAg
IGZsb2F0IG1fbGluZVNwYWNpbmc7CisgICAgZmxvYXQgbV94SGVpZ2h0OworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRm9udE1ldHJpY3NfaApJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHAJKHJldmlzaW9uIDc0Njgz
KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTUwLDcgKzUwLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogU2ltcGxlRm9u
dERhdGE6OlNpbXBsZUZvbnREYXRhKGNvbnN0IEZvbnRQbGF0Zm9ybURhdGEmIHBsYXRmb3JtRGF0
YSwgYm9vbCBpc0N1c3RvbUZvbnQsIGJvb2wgaXNMb2FkaW5nKQogICAgIDogbV9tYXhDaGFyV2lk
dGgoLTEpCiAgICAgLCBtX2F2Z0NoYXJXaWR0aCgtMSkKLSAgICAsIG1fdW5pdHNQZXJFbShkZWZh
dWx0VW5pdHNQZXJFbSkKICAgICAsIG1fb3JpZW50YXRpb24ocGxhdGZvcm1EYXRhLm9yaWVudGF0
aW9uKCkpCiAgICAgLCBtX3BsYXRmb3JtRGF0YShwbGF0Zm9ybURhdGEpCiAgICAgLCBtX3RyZWF0
QXNGaXhlZFBpdGNoKGZhbHNlKQpAQCAtNzQsMjMgKzczLDI5IEBAIFNpbXBsZUZvbnREYXRhOjpT
aW1wbGVGb250RGF0YShQYXNzT3duUHQKICAgICAsIG1faXNCcm9rZW5JZGVvZ3JhcGhGb250KGZh
bHNlKQogewogICAgIFNWR0ZvbnRGYWNlRWxlbWVudCogc3ZnRm9udEZhY2VFbGVtZW50ID0gbV9z
dmdGb250RGF0YS0+c3ZnRm9udEZhY2VFbGVtZW50KCk7Ci0gICAgbV91bml0c1BlckVtID0gc3Zn
Rm9udEZhY2VFbGVtZW50LT51bml0c1BlckVtKCk7CisgICAgdW5zaWduZWQgdW5pdHNQZXJFbSA9
IHN2Z0ZvbnRGYWNlRWxlbWVudC0+dW5pdHNQZXJFbSgpOwogCi0gICAgZG91YmxlIHNjYWxlID0g
c2l6ZTsKLSAgICBpZiAobV91bml0c1BlckVtKQotICAgICAgICBzY2FsZSAvPSBtX3VuaXRzUGVy
RW07Ci0KLSAgICBtX2FzY2VudCA9IHN0YXRpY19jYXN0PGludD4oc3ZnRm9udEZhY2VFbGVtZW50
LT5hc2NlbnQoKSAqIHNjYWxlKTsKLSAgICBtX2Rlc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KHN2
Z0ZvbnRGYWNlRWxlbWVudC0+ZGVzY2VudCgpICogc2NhbGUpOwotICAgIG1feEhlaWdodCA9IHN0
YXRpY19jYXN0PGludD4oc3ZnRm9udEZhY2VFbGVtZW50LT54SGVpZ2h0KCkgKiBzY2FsZSk7Ci0g
ICAgbV9saW5lR2FwID0gMC4xZiAqIHNpemU7Ci0gICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50
ICsgbV9kZXNjZW50ICsgbV9saW5lR2FwOworICAgIGZsb2F0IHNjYWxlID0gc2l6ZTsKKyAgICBp
ZiAodW5pdHNQZXJFbSkKKyAgICAgICAgc2NhbGUgLz0gdW5pdHNQZXJFbTsKKworICAgIC8vIEZJ
WE1FOiBVc2UgZmxvYXRpbmctcG9pbnQgbWV0cmljcywgbm93IHRoYXQgdGhleSdyZSBleHBvc2Vk
IQorICAgIGludCB4SGVpZ2h0ID0gc3RhdGljX2Nhc3Q8aW50PihzdmdGb250RmFjZUVsZW1lbnQt
PnhIZWlnaHQoKSAqIHNjYWxlKTsKKyAgICBpbnQgYXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50Pihz
dmdGb250RmFjZUVsZW1lbnQtPmFzY2VudCgpICogc2NhbGUpOworICAgIGludCBkZXNjZW50ID0g
c3RhdGljX2Nhc3Q8aW50PihzdmdGb250RmFjZUVsZW1lbnQtPmRlc2NlbnQoKSAqIHNjYWxlKTsK
KyAgICBpbnQgbGluZUdhcCA9IDAuMWYgKiBzaXplOworICAgIG1fZm9udE1ldHJpY3Muc2V0VW5p
dHNQZXJFbSh1bml0c1BlckVtKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChhc2NlbnQp
OworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChkZXNjZW50KTsKKyAgICBtX2ZvbnRNZXRy
aWNzLnNldExpbmVHYXAobGluZUdhcCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2lu
Zyhhc2NlbnQgKyBkZXNjZW50ICsgbGluZUdhcCk7CisgICAgbV9mb250TWV0cmljcy5zZXRYSGVp
Z2h0KHhIZWlnaHQpOwogCiAgICAgU1ZHRm9udEVsZW1lbnQqIGFzc29jaWF0ZWRGb250RWxlbWVu
dCA9IHN2Z0ZvbnRGYWNlRWxlbWVudC0+YXNzb2NpYXRlZEZvbnRFbGVtZW50KCk7CiAKICAgICBW
ZWN0b3I8U1ZHR2x5cGhJZGVudGlmaWVyPiBzcGFjZUdseXBoczsKICAgICBhc3NvY2lhdGVkRm9u
dEVsZW1lbnQtPmdldEdseXBoSWRlbnRpZmllcnNGb3JTdHJpbmcoU3RyaW5nKCIgIiwgMSksIHNw
YWNlR2x5cGhzKTsKLSAgICBtX3NwYWNlV2lkdGggPSBzcGFjZUdseXBocy5pc0VtcHR5KCkgPyBt
X3hIZWlnaHQgOiBzdGF0aWNfY2FzdDxmbG9hdD4oc3BhY2VHbHlwaHMuZmlyc3QoKS5ob3Jpem9u
dGFsQWR2YW5jZVggKiBzY2FsZSk7CisgICAgbV9zcGFjZVdpZHRoID0gc3BhY2VHbHlwaHMuaXNF
bXB0eSgpID8geEhlaWdodCA6IHN0YXRpY19jYXN0PGZsb2F0PihzcGFjZUdseXBocy5maXJzdCgp
Lmhvcml6b250YWxBZHZhbmNlWCAqIHNjYWxlKTsKIAogICAgIFZlY3RvcjxTVkdHbHlwaElkZW50
aWZpZXI+IG51bWVyYWxaZXJvR2x5cGhzOwogICAgIGFzc29jaWF0ZWRGb250RWxlbWVudC0+Z2V0
R2x5cGhJZGVudGlmaWVyc0ZvclN0cmluZyhTdHJpbmcoIjAiLCAxKSwgbnVtZXJhbFplcm9HbHlw
aHMpOwpAQCAtOTgsNyArMTAzLDcgQEAgU2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnREYXRhKFBh
c3NPd25QdAogCiAgICAgVmVjdG9yPFNWR0dseXBoSWRlbnRpZmllcj4gbGV0dGVyV0dseXBoczsK
ICAgICBhc3NvY2lhdGVkRm9udEVsZW1lbnQtPmdldEdseXBoSWRlbnRpZmllcnNGb3JTdHJpbmco
U3RyaW5nKCJXIiwgMSksIGxldHRlcldHbHlwaHMpOwotICAgIG1fbWF4Q2hhcldpZHRoID0gbGV0
dGVyV0dseXBocy5pc0VtcHR5KCkgPyBtX2FzY2VudCA6IHN0YXRpY19jYXN0PGZsb2F0PihsZXR0
ZXJXR2x5cGhzLmZpcnN0KCkuaG9yaXpvbnRhbEFkdmFuY2VYICogc2NhbGUpOworICAgIG1fbWF4
Q2hhcldpZHRoID0gbGV0dGVyV0dseXBocy5pc0VtcHR5KCkgPyBhc2NlbnQgOiBzdGF0aWNfY2Fz
dDxmbG9hdD4obGV0dGVyV0dseXBocy5maXJzdCgpLmhvcml6b250YWxBZHZhbmNlWCAqIHNjYWxl
KTsKIAogICAgIC8vIEZJWE1FOiBpcyB0aGVyZSBhIHdheSB3ZSBjYW4gZ2V0IHRoZSBzcGFjZSBn
bHlwaCBmcm9tIHRoZSBTVkdHbHlwaElkZW50aWZpZXIgYWJvdmU/CiAgICAgbV9zcGFjZUdseXBo
ID0gMDsKQEAgLTEyNiwxMCArMTMxLDExIEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OmluaXRDaGFy
V2lkdGhzKCkKIAogICAgIC8vIElmIHdlIGNhbid0IHJldHJpZXZlIHRoZSB3aWR0aCBvZiBhICcw
JywgZmFsbCBiYWNrIHRvIHRoZSB4IGhlaWdodC4KICAgICBpZiAobV9hdmdDaGFyV2lkdGggPD0g
MC5mKQotICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9IG1feEhlaWdodDsKKyAgICAgICAgbV9hdmdD
aGFyV2lkdGggPSBtX2ZvbnRNZXRyaWNzLnhIZWlnaHQoKTsKIAorICAgIC8vIEZJWE1FOiBVc2Ug
ZmxvYXRpbmctcG9pbnQgbWV0cmljcywgbm93IHRoYXQgdGhleSdyZSBleHBvc2VkIQogICAgIGlm
IChtX21heENoYXJXaWR0aCA8PSAwLmYpCi0gICAgICAgIG1fbWF4Q2hhcldpZHRoID0gbWF4PGZs
b2F0PihtX2F2Z0NoYXJXaWR0aCwgbV9hc2NlbnQpOworICAgICAgICBtX21heENoYXJXaWR0aCA9
IG1heDxmbG9hdD4obV9hdmdDaGFyV2lkdGgsIG1fZm9udE1ldHJpY3MuYXNjZW50KCkpOwogfQog
CiB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUdseXBoSW5pdCgpCkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oCShyZXZpc2lvbiA3NDY4MykKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAkod29ya2luZyBjb3B5
KQpAQCAtMjYsNiArMjYsNyBAQAogCiAjaW5jbHVkZSAiRm9udEJhc2VsaW5lLmgiCiAjaW5jbHVk
ZSAiRm9udERhdGEuaCIKKyNpbmNsdWRlICJGb250TWV0cmljcy5oIgogI2luY2x1ZGUgIkZvbnRQ
bGF0Zm9ybURhdGEuaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJHbHlwaE1l
dHJpY3NNYXAuaCIKQEAgLTEwMSwxNSArMTAyLDkgQEAgcHVibGljOgogICAgIC8vIEZJWE1FOiBV
c2UgdGhlIGFjdHVhbCBtZXRyaWNzIGZvciBmb250cyB3aXRoIHZlcnRpY2FsIHRhYmxlcyBpbnN0
ZWFkIG9mIGp1c3QgaGFyZC1jb2RpbmcuICBJZiB0aGUgZm9udCBpcyBob3Jpem9udGFsbHkgb3Jp
ZW50ZWQgb3IKICAgICAvLyBhIGJyb2tlbiBpZGVvZ3JhcGhpYyBmb250LCB0aGVuIGp1c3QgaGFy
ZC1jb2RlIHRvIHNwbGl0IGFzY2VudC9kZXNjZW50IGRvd24gdGhlIG1pZGRsZS4gIE90aGVyd2lz
ZSB3ZSBzaG91bGQgYWN0dWFsbHkgdXNlIHRoZSBtZXRyaWNzCiAgICAgLy8gZnJvbSB0aGUgZm9u
dCBpdHNlbGYuCi0gICAgaW50IGFzY2VudChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxw
aGFiZXRpY0Jhc2VsaW5lKSBjb25zdCB7IHJldHVybiBiYXNlbGluZVR5cGUgPT0gQWxwaGFiZXRp
Y0Jhc2VsaW5lID8gbV9hc2NlbnQgOiBoZWlnaHQoKSAtIGhlaWdodCgpIC8gMjsgfQotICAgIGlu
dCBkZXNjZW50KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUp
IGNvbnN0IHsgcmV0dXJuIGJhc2VsaW5lVHlwZSA9PSBBbHBoYWJldGljQmFzZWxpbmUgPyBtX2Rl
c2NlbnQgOiBoZWlnaHQoKSAvIDI7IH0KLSAgICBpbnQgaGVpZ2h0KCkgY29uc3QgeyByZXR1cm4g
bV9hc2NlbnQgKyBtX2Rlc2NlbnQ7IH0KLSAgICBpbnQgbGluZVNwYWNpbmcoKSBjb25zdCB7IHJl
dHVybiBtX2xpbmVTcGFjaW5nOyB9Ci0gICAgaW50IGxpbmVHYXAoKSBjb25zdCB7IHJldHVybiBt
X2xpbmVHYXA7IH0KKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MoKSBjb25zdCB7
IHJldHVybiBtX2ZvbnRNZXRyaWNzOyB9CiAgICAgZmxvYXQgbWF4Q2hhcldpZHRoKCkgY29uc3Qg
eyByZXR1cm4gbV9tYXhDaGFyV2lkdGg7IH0KICAgICBmbG9hdCBhdmdDaGFyV2lkdGgoKSBjb25z
dCB7IHJldHVybiBtX2F2Z0NoYXJXaWR0aDsgfQotICAgIGZsb2F0IHhIZWlnaHQoKSBjb25zdCB7
IHJldHVybiBtX3hIZWlnaHQ7IH0KLSAgICB1bnNpZ25lZCB1bml0c1BlckVtKCkgY29uc3QgeyBy
ZXR1cm4gbV91bml0c1BlckVtOyB9CiAKICAgICBGbG9hdFJlY3QgYm91bmRzRm9yR2x5cGgoR2x5
cGgpIGNvbnN0OwogICAgIGZsb2F0IHdpZHRoRm9yR2x5cGgoR2x5cGggZ2x5cGgpIGNvbnN0OwpA
QCAtMjExLDE0ICsyMDYsOSBAQCBwcml2YXRlOgogICAgIGZsb2F0IHdpZHRoRm9yR0RJR2x5cGgo
R2x5cGggZ2x5cGgpIGNvbnN0OwogI2VuZGlmCiAKLSAgICBpbnQgbV9hc2NlbnQ7Ci0gICAgaW50
IG1fZGVzY2VudDsKLSAgICBpbnQgbV9saW5lU3BhY2luZzsKLSAgICBpbnQgbV9saW5lR2FwOwor
ICAgIEZvbnRNZXRyaWNzIG1fZm9udE1ldHJpY3M7CiAgICAgZmxvYXQgbV9tYXhDaGFyV2lkdGg7
CiAgICAgZmxvYXQgbV9hdmdDaGFyV2lkdGg7Ci0gICAgZmxvYXQgbV94SGVpZ2h0OwotICAgIHVu
c2lnbmVkIG1fdW5pdHNQZXJFbTsKICAgICAKICAgICBGb250T3JpZW50YXRpb24gbV9vcmllbnRh
dGlvbjsgLy8gVGhpcyBpcyBvdXIgc3VwcG9ydGVkIG9yaWVudGF0aW9uIGFjY29yZGluZyB0byB0
aGUgdGFibGVzIGluIHRoZSBmb250LiAgRm9udFBsYXRmb3JtRGF0YSB3aWxsIGp1c3QgYWx3YXlz
IGhhdmUgdGhlIGRlc2lyZWQgb3JpZW50YXRpb24uCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIFRoaXMgdmFsdWUgcmVwcmVzZW50cyB3aGF0IHdlIGFjdHVhbGx5IHN1cHBv
cnQuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1
bVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9Gb250Q2hyb21pdW1XaW4uY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9udENocm9taXVtV2luLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjQ2LDEwICsyNDYsMTEgQEAgSW50UmVjdCBUcmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRl
cjo6ZQogICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbV9udW1HbHlwaHM7IGkrKykKICAgICAgICAg
dG90YWxXaWR0aCArPSBscm91bmRmKG1fZ2x5cGhCdWZmZXIuYWR2YW5jZUF0KG1fZnJvbSArIGkp
KTsKIAotICAgIHJldHVybiBJbnRSZWN0KG1fcG9pbnQueCgpIC0gKG1fZm9udC0+YXNjZW50KCkg
KyBtX2ZvbnQtPmRlc2NlbnQoKSkgLyAyLAotICAgICAgICAgICAgICAgICAgIG1fcG9pbnQueSgp
IC0gbV9mb250LT5hc2NlbnQoKSAtIG1fZm9udC0+bGluZUdhcCgpLAotICAgICAgICAgICAgICAg
ICAgIHRvdGFsV2lkdGggKyBtX2ZvbnQtPmFzY2VudCgpICsgbV9mb250LT5kZXNjZW50KCksCi0g
ICAgICAgICAgICAgICAgICAgbV9mb250LT5saW5lU3BhY2luZygpKTsgCisgICAgY29uc3QgRm9u
dE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gbV9mb250LT5mb250TWV0cmljcygpOworICAgIHJldHVy
biBJbnRSZWN0KG1fcG9pbnQueCgpIC0gKGZvbnRNZXRyaWNzLmFzY2VudCgpICsgZm9udE1ldHJp
Y3MuZGVzY2VudCgpKSAvIDIsCisgICAgICAgICAgICAgICAgICAgbV9wb2ludC55KCkgLSBmb250
TWV0cmljcy5hc2NlbnQoKSAtIGZvbnRNZXRyaWNzLmxpbmVHYXAoKSwKKyAgICAgICAgICAgICAg
ICAgICB0b3RhbFdpZHRoICsgZm9udE1ldHJpY3MuYXNjZW50KCkgKyBmb250TWV0cmljcy5kZXNj
ZW50KCksCisgICAgICAgICAgICAgICAgICAgZm9udE1ldHJpY3MubGluZVNwYWNpbmcoKSk7IAog
fQogCiBib29sIFRyYW5zcGFyZW5jeUF3YXJlR2x5cGhQYWludGVyOjpkcmF3R2x5cGhzKGludCBu
dW1HbHlwaHMsCkBAIC0yNzAsNyArMjcxLDcgQEAgYm9vbCBUcmFuc3BhcmVuY3lBd2FyZUdseXBo
UGFpbnRlcjo6ZHJhdwogICAgIC8vIFdpbmRvd3MnIG9yaWdpbiBpcyB0aGUgdG9wLWxlZnQgb2Yg
dGhlIGJvdW5kaW5nIGJveCwgc28gd2UgaGF2ZQogICAgIC8vIHRvIHN1YnRyYWN0IG9mZiB0aGUg
Zm9udCBhc2NlbnQgdG8gZ2V0IGl0LgogICAgIGludCB4ID0gbHJvdW5kZihtX3BvaW50LngoKSAr
IHN0YXJ0QWR2YW5jZSk7Ci0gICAgaW50IHkgPSBscm91bmRmKG1fcG9pbnQueSgpIC0gbV9mb250
LT5hc2NlbnQoKSk7CisgICAgaW50IHkgPSBscm91bmRmKG1fcG9pbnQueSgpIC0gbV9mb250LT5m
b250TWV0cmljcygpLmFzY2VudCgpKTsKIAogICAgIC8vIElmIHRoZXJlIGlzIGEgbm9uLWJsdXIg
c2hhZG93IGFuZCBib3RoIHRoZSBmaWxsIGNvbG9yIGFuZCBzaGFkb3cgY29sb3IgCiAgICAgLy8g
YXJlIG9wYXF1ZSwgaGFuZGxlIHdpdGhvdXQgc2tpYS4gCkBAIC0zNTQsMTAgKzM1NSwxMSBAQCBJ
bnRSZWN0IFRyYW5zcGFyZW5jeUF3YXJlVW5pc2NyaWJlUGFpbnRlCiAgICAgLy8gVGhpcyBhbGdv
cml0aG0gZm9yIGVzdGltYXRpbmcgaG93IG11Y2ggZXh0cmEgc3BhY2Ugd2UgbmVlZCAodGhlIHRl
eHQgbWF5CiAgICAgLy8gZ28gb3V0c2lkZSB0aGUgc2VsZWN0aW9uIHJlY3QpIGlzIGJhc2VkIHJv
dWdobHkgb24KICAgICAvLyBUcmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRlcjo6ZXN0aW1hdGVU
ZXh0Qm91bmRzIGFib3ZlLgotICAgIHJldHVybiBJbnRSZWN0KGxlZnQgLSAobV9mb250LT5hc2Nl
bnQoKSArIG1fZm9udC0+ZGVzY2VudCgpKSAvIDIsCi0gICAgICAgICAgICAgICAgICAgbV9wb2lu
dC55KCkgLSBtX2ZvbnQtPmFzY2VudCgpIC0gbV9mb250LT5saW5lR2FwKCksCi0gICAgICAgICAg
ICAgICAgICAgKHJpZ2h0IC0gbGVmdCkgKyBtX2ZvbnQtPmFzY2VudCgpICsgbV9mb250LT5kZXNj
ZW50KCksCi0gICAgICAgICAgICAgICAgICAgbV9mb250LT5saW5lU3BhY2luZygpKTsKKyAgICBj
b25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBtX2ZvbnQtPmZvbnRNZXRyaWNzKCk7Cisg
ICAgcmV0dXJuIEludFJlY3QobGVmdCAtIChmb250TWV0cmljcy5hc2NlbnQoKSArIGZvbnRNZXRy
aWNzLmRlc2NlbnQoKSkgLyAyLAorICAgICAgICAgICAgICAgICAgIG1fcG9pbnQueSgpIC0gZm9u
dE1ldHJpY3MuYXNjZW50KCkgLSBmb250TWV0cmljcy5saW5lR2FwKCksCisgICAgICAgICAgICAg
ICAgICAgKHJpZ2h0IC0gbGVmdCkgKyBmb250TWV0cmljcy5hc2NlbnQoKSArIGZvbnRNZXRyaWNz
LmRlc2NlbnQoKSwKKyAgICAgICAgICAgICAgICAgICBmb250TWV0cmljcy5saW5lU3BhY2luZygp
KTsKIH0KIAogfSAgLy8gbmFtZXNwYWNlCkBAIC00OTYsMTQgKzQ5OCwxNCBAQCB2b2lkIEZvbnQ6
OmRyYXdDb21wbGV4VGV4dChHcmFwaGljc0NvbnRlCiAgICAgICAgIENPTE9SUkVGIHNhdmVkVGV4
dENvbG9yID0gR2V0VGV4dENvbG9yKGhkYyk7CiAgICAgICAgIFNldFRleHRDb2xvcihoZGMsIHRl
eHRDb2xvcik7CiAgICAgICAgIHN0YXRlLmRyYXcoZ3JhcGhpY3NDb250ZXh0LCBoZGMsIHN0YXRp
Y19jYXN0PGludD4ocG9pbnQueCgpKSArIHNoYWRvd09mZnNldC53aWR0aCgpLAotICAgICAgICAg
ICAgICAgICAgIHN0YXRpY19jYXN0PGludD4ocG9pbnQueSgpIC0gYXNjZW50KCkpICsgc2hhZG93
T2Zmc2V0LmhlaWdodCgpLCBmcm9tLCB0byk7CisgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nh
c3Q8aW50Pihwb2ludC55KCkgLSBmb250TWV0cmljcygpLmFzY2VudCgpKSArIHNoYWRvd09mZnNl
dC5oZWlnaHQoKSwgZnJvbSwgdG8pOwogICAgICAgICBTZXRUZXh0Q29sb3IoaGRjLCBzYXZlZFRl
eHRDb2xvcik7IAogICAgIH0KIAogICAgIC8vIFVuaXNjcmliZSBjb3VudHMgdGhlIGNvb3JkaW5h
dGVzIGZyb20gdGhlIHVwcGVyIGxlZnQsIHdoaWxlIFdlYktpdCB1c2VzCiAgICAgLy8gdGhlIGJh
c2VsaW5lLCBzbyB3ZSBoYXZlIHRvIHN1YnRyYWN0IG9mZiB0aGUgYXNjZW50LgogICAgIHN0YXRl
LmRyYXcoZ3JhcGhpY3NDb250ZXh0LCBoZGMsIHN0YXRpY19jYXN0PGludD4ocG9pbnQueCgpKSwK
LSAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4ocG9pbnQueSgpIC0gYXNjZW50KCkpLCBm
cm9tLCB0byk7CisgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxpbnQ+KHBvaW50LnkoKSAtIGZv
bnRNZXRyaWNzKCkuYXNjZW50KCkpLCBmcm9tLCB0byk7CiAKICAgICBjb250ZXh0LT5jYW52YXMo
KS0+ZW5kUGxhdGZvcm1QYWludCgpOwogfQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhQ2hyb21pdW1X
aW4uY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vU2ltcGxlRm9udERhdGFDaHJvbWl1bVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0
LDE0ICs1NCw5IEBAIHN0YXRpYyBpbmxpbmUgZmxvYXQgc2NhbGVFbVRvVW5pdHMoZmxvYXQKIHZv
aWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiB7CiAgICAgaWYgKCFtX3BsYXRmb3Jt
RGF0YS5zaXplKCkpIHsKLSAgICAgICAgbV9hc2NlbnQgPSAwOwotICAgICAgICBtX2Rlc2NlbnQg
PSAwOwotICAgICAgICBtX2xpbmVHYXAgPSAwOwotICAgICAgICBtX2xpbmVTcGFjaW5nID0gMDsK
KyAgICAgICAgbV9mb250TWV0cmljcy5yZXNldCgpOwogICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9
IDA7CiAgICAgICAgIG1fbWF4Q2hhcldpZHRoID0gMDsKLSAgICAgICAgbV94SGVpZ2h0ID0gMDsK
LSAgICAgICAgbV91bml0c1BlckVtID0gMDsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAt
ODIsMTAgKzc3LDExIEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAg
bV9hdmdDaGFyV2lkdGggPSB0ZXh0TWV0cmljLnRtQXZlQ2hhcldpZHRoOwogICAgIG1fbWF4Q2hh
cldpZHRoID0gdGV4dE1ldHJpYy50bU1heENoYXJXaWR0aDsKIAotICAgIG1fYXNjZW50ID0gdGV4
dE1ldHJpYy50bUFzY2VudDsKLSAgICBtX2Rlc2NlbnQgPSB0ZXh0TWV0cmljLnRtRGVzY2VudDsK
LSAgICBtX2xpbmVHYXAgPSB0ZXh0TWV0cmljLnRtRXh0ZXJuYWxMZWFkaW5nOwotICAgIG1feEhl
aWdodCA9IG1fYXNjZW50ICogMC41NmY7ICAvLyBCZXN0IGd1ZXNzIGZvciB4SGVpZ2h0IGZvciBu
b24tVHJ1ZXR5cGUgZm9udHMuCisgICAgLy8gRklYTUU6IEFjY2VzcyBhc2NlbnQvZGVzY2VudC9s
aW5lR2FwIHdpdGggZmxvYXRpbmcgcG9pbnQgcHJlY2lzaW9uLgorICAgIGZsb2F0IGFzY2VudCA9
IHRleHRNZXRyaWMudG1Bc2NlbnQ7CisgICAgZmxvYXQgZGVzY2VudCA9IHRleHRNZXRyaWMudG1E
ZXNjZW50OworICAgIGZsb2F0IGxpbmVHYXAgPSB0ZXh0TWV0cmljLnRtRXh0ZXJuYWxMZWFkaW5n
OworICAgIGZsb2F0IHhIZWlnaHQgPSBhc2NlbnQgKiAwLjU2ZjsgLy8gQmVzdCBndWVzcyBmb3Ig
eEhlaWdodCBmb3Igbm9uLVRydWV0eXBlIGZvbnRzLgogCiAgICAgT1VUTElORVRFWFRNRVRSSUMg
b3V0bGluZVRleHRNZXRyaWM7CiAgICAgaWYgKEdldE91dGxpbmVUZXh0TWV0cmljcyhkYywgc2l6
ZW9mKG91dGxpbmVUZXh0TWV0cmljKSwgJm91dGxpbmVUZXh0TWV0cmljKSA+IDApIHsKQEAgLTk0
LDEwICs5MCwxNCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgICAg
ICBNQVQyIGlkZW50aXR5TWF0cml4ID0ge3swLCAxfSwgezAsIDB9LCB7MCwgMH0sIHswLCAxfX07
CiAgICAgICAgIERXT1JEIGxlbiA9IEdldEdseXBoT3V0bGluZVcoZGMsICd4JywgR0dPX01FVFJJ
Q1MsICZnbHlwaE1ldHJpY3MsIDAsIDAsICZpZGVudGl0eU1hdHJpeCk7CiAgICAgICAgIGlmIChs
ZW4gIT0gR0RJX0VSUk9SICYmIGdseXBoTWV0cmljcy5nbUJsYWNrQm94WSA+IDApCi0gICAgICAg
ICAgICBtX3hIZWlnaHQgPSBzdGF0aWNfY2FzdDxmbG9hdD4oZ2x5cGhNZXRyaWNzLmdtQmxhY2tC
b3hZKTsKKyAgICAgICAgICAgIHhIZWlnaHQgPSBzdGF0aWNfY2FzdDxmbG9hdD4oZ2x5cGhNZXRy
aWNzLmdtQmxhY2tCb3hZKTsKICAgICB9CiAKLSAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQg
KyBtX2Rlc2NlbnQgKyBtX2xpbmVHYXA7CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNj
ZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoZGVzY2VudCk7CisgICAgbV9mb250
TWV0cmljcy5zZXRMaW5lR2FwKGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNw
YWNpbmcoYXNjZW50ICsgZGVzY2VudCArIGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0
WEhlaWdodCh4SGVpZ2h0KTsKIAogICAgIFNlbGVjdE9iamVjdChkYywgb2xkRm9udCk7CiAgICAg
UmVsZWFzZURDKDAsIGRjKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vU2ltcGxlRm9udERhdGFMaW51eC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUxpbnV4LmNwcAkocmV2aXNpb24gNzQ2
ODMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRh
TGludXguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NSwxNCArNTUsOSBAQCBzdGF0aWMgY29uc3Qg
c2l6ZV90IG1heFZETVhUYWJsZVNpemUgPSAxCiB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9y
bUluaXQoKQogewogICAgIGlmICghbV9wbGF0Zm9ybURhdGEuc2l6ZSgpKSB7Ci0gICAgICAgIG1f
YXNjZW50ID0gMDsKLSAgICAgICAgbV9kZXNjZW50ID0gMDsKLSAgICAgICAgbV9saW5lR2FwID0g
MDsKLSAgICAgICAgbV9saW5lU3BhY2luZyA9IDA7CisgICAgICAgIG1fZm9udE1ldHJpY3MucmVz
ZXQoKTsKICAgICAgICAgbV9hdmdDaGFyV2lkdGggPSAwOwogICAgICAgICBtX21heENoYXJXaWR0
aCA9IDA7Ci0gICAgICAgIG1feEhlaWdodCA9IDA7Ci0gICAgICAgIG1fdW5pdHNQZXJFbSA9IDA7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTg4LDI2ICs4MywzNiBAQCB2b2lkIFNpbXBs
ZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgICAgICBmYXN0RnJlZSh2ZG14VGFibGUpOwog
ICAgIH0KIAorICAgIGZsb2F0IGFzY2VudDsKKyAgICBmbG9hdCBkZXNjZW50OworCiAgICAgLy8g
QmV3YXJlIHRob3NlIHdobyBzdGVwIGhlcmU6IFRoaXMgY29kZSBpcyBkZXNpZ25lZCB0byBtYXRj
aCBXaW4zMiBmb250CiAgICAgLy8gbWV0cmljcyAqZXhhY3RseSouCiAgICAgaWYgKGlzVkRNWFZh
bGlkKSB7Ci0gICAgICAgIG1fYXNjZW50ID0gdmRteEFzY2VudDsKLSAgICAgICAgbV9kZXNjZW50
ID0gLXZkbXhEZXNjZW50OworICAgICAgICAvLyBGSVhNRTogQWNjZXNzIGFzY2VudC9kZXNjZW50
IHdpdGggZmxvYXRpbmcgcG9pbnQgcHJlY2lzaW9uLgorICAgICAgICBhc2NlbnQgPSB2ZG14QXNj
ZW50OworICAgICAgICBkZXNjZW50ID0gLXZkbXhEZXNjZW50OwogICAgIH0gZWxzZSB7CiAgICAg
ICAgIFNrU2NhbGFyIGhlaWdodCA9IC1tZXRyaWNzLmZBc2NlbnQgKyBtZXRyaWNzLmZEZXNjZW50
ICsgbWV0cmljcy5mTGVhZGluZzsKLSAgICAgICAgbV9hc2NlbnQgPSBTa1NjYWxhclJvdW5kKC1t
ZXRyaWNzLmZBc2NlbnQpOwotICAgICAgICBtX2Rlc2NlbnQgPSBTa1NjYWxhclJvdW5kKGhlaWdo
dCkgLSBtX2FzY2VudDsKKyAgICAgICAgYXNjZW50ID0gU2tTY2FsYXJUb0Zsb2F0KC1tZXRyaWNz
LmZBc2NlbnQpOworICAgICAgICBkZXNjZW50ID0gU2tTY2FsYXJUb0Zsb2F0KGhlaWdodCkgLSBh
c2NlbnQ7CiAgICAgfQogCisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAg
ICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoZGVzY2VudCk7CisKKyAgICBmbG9hdCB4SGVpZ2h0
OwogICAgIGlmIChtZXRyaWNzLmZYSGVpZ2h0KQotICAgICAgICBtX3hIZWlnaHQgPSBtZXRyaWNz
LmZYSGVpZ2h0OworICAgICAgICB4SGVpZ2h0ID0gbWV0cmljcy5mWEhlaWdodDsKICAgICBlbHNl
IHsKICAgICAgICAgLy8gaGFjayB0YWtlbiBmcm9tIHRoZSBXaW5kb3dzIHBvcnQKLSAgICAgICAg
bV94SGVpZ2h0ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1fYXNjZW50KSAqIDAuNTY7CisgICAgICAg
IHhIZWlnaHQgPSBhc2NlbnQgKiAwLjU2ZjsKICAgICB9CiAKLSAgICBtX2xpbmVHYXAgPSBTa1Nj
YWxhclJvdW5kKG1ldHJpY3MuZkxlYWRpbmcpOwotICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2Vu
dCArIG1fZGVzY2VudCArIG1fbGluZUdhcDsKKyAgICBmbG9hdCBsaW5lR2FwID0gU2tTY2FsYXJU
b0Zsb2F0KG1ldHJpY3MuZkxlYWRpbmcpOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChs
aW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGFzY2VudCArIGRlc2Nl
bnQgKyBsaW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQoeEhlaWdodCk7CiAK
ICAgICBpZiAobV9vcmllbnRhdGlvbiA9PSBWZXJ0aWNhbCkgewogICAgICAgICBzdGF0aWMgY29u
c3QgdWludDMyX3QgdmhlYVRhZyA9IFNrU2V0Rm91ckJ5dGVUYWcoJ3YnLCAnaCcsICdlJywgJ2En
KTsKQEAgLTEyOCw3ICsxMzMsNyBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQo
KQogICAgIGlmIChtZXRyaWNzLmZBdmdDaGFyV2lkdGgpCiAgICAgICAgIG1fYXZnQ2hhcldpZHRo
ID0gU2tTY2FsYXJSb3VuZChtZXRyaWNzLmZBdmdDaGFyV2lkdGgpOwogICAgIGVsc2UgewotICAg
ICAgICBtX2F2Z0NoYXJXaWR0aCA9IG1feEhlaWdodDsKKyAgICAgICAgbV9hdmdDaGFyV2lkdGgg
PSB4SGVpZ2h0OwogCiAgICAgICAgIEdseXBoUGFnZSogZ2x5cGhQYWdlWmVybyA9IEdseXBoUGFn
ZVRyZWVOb2RlOjpnZXRSb290Q2hpbGQodGhpcywgMCktPnBhZ2UoKTsKIApJbmRleDogV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9VbmlzY3JpYmVIZWxwZXJUZXh0UnVuLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1VuaXNjcmli
ZUhlbHBlclRleHRSdW4uY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vVW5pc2NyaWJlSGVscGVyVGV4dFJ1bi5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTUwLDcgKzUwLDcgQEAgVW5pc2NyaWJlSGVscGVyVGV4dFJ1bjo6VW5pc2NyaWJlSGVs
cGVyVAogICAgIHNldExldHRlclNwYWNpbmcoZm9udC5sZXR0ZXJTcGFjaW5nKCkpOwogICAgIHNl
dFNwYWNlV2lkdGgoZm9udC5zcGFjZVdpZHRoKCkpOwogICAgIHNldFdvcmRTcGFjaW5nKGZvbnQu
d29yZFNwYWNpbmcoKSk7Ci0gICAgc2V0QXNjZW50KGZvbnQucHJpbWFyeUZvbnQoKS0+YXNjZW50
KCkpOworICAgIHNldEFzY2VudChmb250LmZvbnRNZXRyaWNzKCktPmFzY2VudCgpKTsKIAogICAg
IGluaXQoKTsKIApAQCAtMTIwLDcgKzEyMCw3IEBAIGJvb2wgVW5pc2NyaWJlSGVscGVyVGV4dFJ1
bjo6bmV4dFdpbkZvbnQKICAgICAgICAgbV9oZm9udHMuYXBwZW5kKHNpbXBsZUZvbnREYXRhLT5w
bGF0Zm9ybURhdGEoKS5oZm9udCgpKTsKICAgICAgICAgbV9zY3JpcHRDYWNoZXMuYXBwZW5kKHNp
bXBsZUZvbnREYXRhLT5wbGF0Zm9ybURhdGEoKS5zY3JpcHRDYWNoZSgpKTsKICAgICAgICAgbV9m
b250UHJvcGVydGllcy5hcHBlbmQoc2ltcGxlRm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLnNjcmlw
dEZvbnRQcm9wZXJ0aWVzKCkpOwotICAgICAgICBtX2FzY2VudHMuYXBwZW5kKHNpbXBsZUZvbnRE
YXRhLT5hc2NlbnQoKSk7CisgICAgICAgIG1fYXNjZW50cy5hcHBlbmQoc2ltcGxlRm9udERhdGEt
PmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwogICAgIH0KIAogICAgICpoZm9udCA9IG1faGZvbnRz
W21fZm9udEluZGV4IC0gMV07CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0
eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFGcmVlVHlwZS5jcHAJKHJldmlz
aW9uIDc0NjgzKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1wbGVG
b250RGF0YUZyZWVUeXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAsMjEgKzUwLDI3IEBAIHZv
aWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgY2Fpcm9fZm9udF9leHRlbnRz
X3QgZm9udF9leHRlbnRzOwogICAgIGNhaXJvX3RleHRfZXh0ZW50c190IHRleHRfZXh0ZW50czsK
ICAgICBjYWlyb19zY2FsZWRfZm9udF9leHRlbnRzKG1fcGxhdGZvcm1EYXRhLnNjYWxlZEZvbnQo
KSwgJmZvbnRfZXh0ZW50cyk7Ci0gICAgbV9hc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KGxyb3Vu
ZGYoZm9udF9leHRlbnRzLmFzY2VudCkpOwotICAgIG1fZGVzY2VudCA9IHN0YXRpY19jYXN0PGlu
dD4obHJvdW5kZihmb250X2V4dGVudHMuZGVzY2VudCkpOwotICAgIG1fbGluZVNwYWNpbmcgPSBz
dGF0aWNfY2FzdDxpbnQ+KGxyb3VuZGYoZm9udF9leHRlbnRzLmhlaWdodCkpOworCisgICAgbV9m
b250TWV0cmljcy5zZXRBc2NlbnQoZm9udF9leHRlbnRzLmFzY2VudCk7CisgICAgbV9mb250TWV0
cmljcy5zZXREZXNjZW50KGZvbnRfZXh0ZW50cy5kZXNjZW50KTsKKwogICAgIC8vIFRoZXJlIHNl
ZW1zIHRvIGJlIHNvbWUgcm91bmRpbmcgZXJyb3IgaW4gY2Fpcm8gKG9yIGluIGhvdyB3ZQogICAg
IC8vIHVzZSBjYWlybykgd2l0aCBzb21lIGZvbnRzLCBsaWtlIERlamFWdSBTYW5zIE1vbm8sIHdo
aWNoIG1ha2VzCiAgICAgLy8gY2Fpcm8gcmVwb3J0IGEgaGVpZ2h0IHNtYWxsZXIgdGhhbiBhc2Nl
bnQgKyBkZXNjZW50LCB3aGljaCBpcwogICAgIC8vIHdyb25nIGFuZCBjb25mdXNlcyBXZWJDb3Jl
J3MgbGF5b3V0IHN5c3RlbS4gV29ya2Fyb3VuZCB0aGlzCiAgICAgLy8gd2hpbGUgd2UgZmlndXJl
IG91dCB3aGF0J3MgZ29pbmcgb24uCi0gICAgaWYgKG1fbGluZVNwYWNpbmcgPCBtX2FzY2VudCAr
IG1fZGVzY2VudCkKLSAgICAgICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50
OworICAgIGZsb2F0IGxpbmVTcGFjaW5nID0gZm9udF9leHRlbnRzLmhlaWdodDsKKyAgICBpZiAo
bGluZVNwYWNpbmcgPCBmb250X2V4dGVudHMuYXNjZW50ICsgZm9udF9leHRlbnRzLmRlc2NlbnQp
CisgICAgICAgIGxpbmVTcGFjaW5nID0gZm9udF9leHRlbnRzLmFzY2VudCArIGZvbnRfZXh0ZW50
cy5kZXNjZW50OworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcobGluZVNwYWNpbmcp
OworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChsaW5lU3BhY2luZyAtIGZvbnRfZXh0ZW50
cy5hc2NlbnQgLSBmb250X2V4dGVudHMuZGVzY2VudCk7CisKICAgICBjYWlyb19zY2FsZWRfZm9u
dF90ZXh0X2V4dGVudHMobV9wbGF0Zm9ybURhdGEuc2NhbGVkRm9udCgpLCAieCIsICZ0ZXh0X2V4
dGVudHMpOwotICAgIG1feEhlaWdodCA9IHRleHRfZXh0ZW50cy5oZWlnaHQ7CisgICAgbV9mb250
TWV0cmljcy5zZXRYSGVpZ2h0KHRleHRfZXh0ZW50cy5oZWlnaHQpOworCiAgICAgY2Fpcm9fc2Nh
bGVkX2ZvbnRfdGV4dF9leHRlbnRzKG1fcGxhdGZvcm1EYXRhLnNjYWxlZEZvbnQoKSwgIiAiLCAm
dGV4dF9leHRlbnRzKTsKICAgICBtX3NwYWNlV2lkdGggPSBzdGF0aWNfY2FzdDxmbG9hdD4odGV4
dF9leHRlbnRzLnhfYWR2YW5jZSk7Ci0gICAgbV9saW5lR2FwID0gbV9saW5lU3BhY2luZyAtIG1f
YXNjZW50IC0gbV9kZXNjZW50OworICAgIAogICAgIG1fc3ludGhldGljQm9sZE9mZnNldCA9IG1f
cGxhdGZvcm1EYXRhLnN5bnRoZXRpY0JvbGQoKSA/IDEuMGYgOiAwLmY7CiB9CiAKSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvU2ltcGxlRm9udERhdGFIYWlrdS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9TaW1wbGVGb250RGF0
YUhhaWt1LmNwcAkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2hhaWt1L1NpbXBsZUZvbnREYXRhSGFpa3UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCwxMSAr
NDgsMTEgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKIAogICAgIGZvbnRf
aGVpZ2h0IGhlaWdodDsKICAgICBmb250LT5HZXRIZWlnaHQoJmhlaWdodCk7Ci0gICAgbV9hc2Nl
bnQgPSBzdGF0aWNfY2FzdDxpbnQ+KGhlaWdodC5hc2NlbnQpOwotICAgIG1fZGVzY2VudCA9IHN0
YXRpY19jYXN0PGludD4oaGVpZ2h0LmRlc2NlbnQpOwotICAgIG1fbGluZVNwYWNpbmcgPSBtX2Fz
Y2VudCArIG1fZGVzY2VudDsKLSAgICBtX3hIZWlnaHQgPSBoZWlnaHQuYXNjZW50ICogMC41NmY7
IC8vIEhhY2sgdGFrZW4gZnJvbSB0aGUgd2luIHBvcnQuCi0gICAgbV9saW5lR2FwID0gaGVpZ2h0
LmxlYWRpbmc7CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoaGVpZ2h0LmFzY2VudCk7Cisg
ICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGhlaWdodC5kZXNjZW50KTsKKyAgICBtX2ZvbnRN
ZXRyaWNzLnNldExpbmVTcGFjaW5nKGhlaWdodC5hc2NlbnQgKyBoZWlnaHQuZGVzY2VudCk7Cisg
ICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KGhlaWdodC5hc2NlbnQgKiAwLjU2Zik7IC8vIEhh
Y2sgdGFrZW4gZnJvbSB0aGUgd2luIHBvcnQuCisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2Fw
KGhlaWdodC5sZWFkaW5nKTsKIH0KIAogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1DaGFy
V2lkdGhJbml0KCkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDb21w
bGV4VGV4dE1hYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
YWMvRm9udENvbXBsZXhUZXh0TWFjLmNwcAkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q29tcGxleFRleHRNYWMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTAsOCArMTEwLDggQEAgZmxvYXQgRm9udDo6ZmxvYXRXaWR0aEZvckNvbXBsZXhUZXh0
KGNvbgogewogICAgIENvbXBsZXhUZXh0Q29udHJvbGxlciBjb250cm9sbGVyKHRoaXMsIHJ1biwg
dHJ1ZSwgZmFsbGJhY2tGb250cyk7CiAgICAgaWYgKGdseXBoT3ZlcmZsb3cpIHsKLSAgICAgICAg
Z2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4PGludD4oZ2x5cGhPdmVyZmxvdy0+dG9wLCBjZWlsZigt
Y29udHJvbGxlci5taW5HbHlwaEJvdW5kaW5nQm94WSgpKSAtIGFzY2VudCgpKTsKLSAgICAgICAg
Z2x5cGhPdmVyZmxvdy0+Ym90dG9tID0gbWF4PGludD4oZ2x5cGhPdmVyZmxvdy0+Ym90dG9tLCBj
ZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91bmRpbmdCb3hZKCkpIC0gZGVzY2VudCgpKTsKKyAg
ICAgICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4PGludD4oZ2x5cGhPdmVyZmxvdy0+dG9wLCBj
ZWlsZigtY29udHJvbGxlci5taW5HbHlwaEJvdW5kaW5nQm94WSgpKSAtIGZvbnRNZXRyaWNzKCku
YXNjZW50KCkpOworICAgICAgICBnbHlwaE92ZXJmbG93LT5ib3R0b20gPSBtYXg8aW50PihnbHlw
aE92ZXJmbG93LT5ib3R0b20sIGNlaWxmKGNvbnRyb2xsZXIubWF4R2x5cGhCb3VuZGluZ0JveFko
KSkgLSBmb250TWV0cmljcygpLmRlc2NlbnQoKSk7CiAgICAgICAgIGdseXBoT3ZlcmZsb3ctPmxl
ZnQgPSBtYXg8aW50PigwLCBjZWlsZigtY29udHJvbGxlci5taW5HbHlwaEJvdW5kaW5nQm94WCgp
KSk7CiAgICAgICAgIGdseXBoT3ZlcmZsb3ctPnJpZ2h0ID0gbWF4PGludD4oMCwgY2VpbGYoY29u
dHJvbGxlci5tYXhHbHlwaEJvdW5kaW5nQm94WCgpIC0gY29udHJvbGxlci50b3RhbFdpZHRoKCkp
KTsKICAgICB9CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250TWFjLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0J
KHJldmlzaW9uIDc0NjgzKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udE1h
Yy5tbQkod29ya2luZyBjb3B5KQpAQCAtNjAsOCArNjAsOCBAQCBzdGF0aWMgdm9pZCBzaG93R2x5
cGhzV2l0aEFkdmFuY2VzKGNvbnN0CiAgICAgICAgICAgICBzYXZlZE1hdHJpeCA9IENHQ29udGV4
dEdldFRleHRNYXRyaXgoY29udGV4dCk7CiAgICAgICAgICAgICBDR0FmZmluZVRyYW5zZm9ybSBy
dW5NYXRyaXggPSBDR0FmZmluZVRyYW5zZm9ybUNvbmNhdChzYXZlZE1hdHJpeCwgcm90YXRlTGVm
dFRyYW5zZm9ybSk7CiAgICAgICAgICAgICAvLyBNb3ZlIHN0YXJ0IHBvaW50IHRvIHB1dCBnbHlw
aHMgaW50byBvcmlnaW5hbCByZWdpb24uCi0gICAgICAgICAgICBydW5NYXRyaXgudHggPSBzYXZl
ZE1hdHJpeC50eCArIGZvbnQtPmFzY2VudCgpOwotICAgICAgICAgICAgcnVuTWF0cml4LnR5ID0g
c2F2ZWRNYXRyaXgudHkgKyBmb250LT5kZXNjZW50KCk7CisgICAgICAgICAgICBydW5NYXRyaXgu
dHggPSBzYXZlZE1hdHJpeC50eCArIGZvbnQtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCk7CisgICAg
ICAgICAgICBydW5NYXRyaXgudHkgPSBzYXZlZE1hdHJpeC50eSArIGZvbnQtPmZvbnRNZXRyaWNz
KCkuZGVzY2VudCgpOwogICAgICAgICAgICAgQ0dDb250ZXh0U2V0VGV4dE1hdHJpeChjb250ZXh0
LCBydW5NYXRyaXgpOwogICAgICAgICB9CiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tCShyZXZpc2lvbiA3NDY4MykKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMTgsMTkgKzIxOCwyMCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0
Zm9ybUluaXQoKQogICAgIGludCBpQXNjZW50OwogICAgIGludCBpRGVzY2VudDsKICAgICBpbnQg
aUxpbmVHYXA7CisgICAgdW5zaWduZWQgdW5pdHNQZXJFbTsKICNpZmRlZiBCVUlMRElOR19PTl9U
SUdFUgotICAgIHdrR2V0Rm9udE1ldHJpY3MobV9wbGF0Zm9ybURhdGEuY2dGb250KCksICZpQXNj
ZW50LCAmaURlc2NlbnQsICZpTGluZUdhcCwgJm1fdW5pdHNQZXJFbSk7CisgICAgd2tHZXRGb250
TWV0cmljcyhtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSwgJmlBc2NlbnQsICZpRGVzY2VudCwgJmlM
aW5lR2FwLCAmdW5pdHNQZXJFbSk7CiAjZWxzZQogICAgIGlBc2NlbnQgPSBDR0ZvbnRHZXRBc2Nl
bnQobV9wbGF0Zm9ybURhdGEuY2dGb250KCkpOwogICAgIGlEZXNjZW50ID0gQ0dGb250R2V0RGVz
Y2VudChtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSk7CiAgICAgaUxpbmVHYXAgPSBDR0ZvbnRHZXRM
ZWFkaW5nKG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpKTsKLSAgICBtX3VuaXRzUGVyRW0gPSBDR0Zv
bnRHZXRVbml0c1BlckVtKG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpKTsKKyAgICB1bml0c1BlckVt
ID0gQ0dGb250R2V0VW5pdHNQZXJFbShtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSk7CiAjZW5kaWYK
IAogICAgIGZsb2F0IHBvaW50U2l6ZSA9IG1fcGxhdGZvcm1EYXRhLm1fc2l6ZTsKLSAgICBmbG9h
dCBmQXNjZW50ID0gc2NhbGVFbVRvVW5pdHMoaUFzY2VudCwgbV91bml0c1BlckVtKSAqIHBvaW50
U2l6ZTsKLSAgICBmbG9hdCBmRGVzY2VudCA9IC1zY2FsZUVtVG9Vbml0cyhpRGVzY2VudCwgbV91
bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKLSAgICBmbG9hdCBmTGluZUdhcCA9IHNjYWxlRW1Ub1Vu
aXRzKGlMaW5lR2FwLCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXplOworICAgIGZsb2F0IGFzY2Vu
dCA9IHNjYWxlRW1Ub1VuaXRzKGlBc2NlbnQsIHVuaXRzUGVyRW0pICogcG9pbnRTaXplOworICAg
IGZsb2F0IGRlc2NlbnQgPSAtc2NhbGVFbVRvVW5pdHMoaURlc2NlbnQsIHVuaXRzUGVyRW0pICog
cG9pbnRTaXplOworICAgIGZsb2F0IGxpbmVHYXAgPSBzY2FsZUVtVG9Vbml0cyhpTGluZUdhcCwg
dW5pdHNQZXJFbSkgKiBwb2ludFNpemU7CiAKICAgICAvLyBXZSBuZWVkIHRvIGFkanVzdCBUaW1l
cywgSGVsdmV0aWNhLCBhbmQgQ291cmllciB0byBjbG9zZWx5IG1hdGNoIHRoZQogICAgIC8vIHZl
cnRpY2FsIG1ldHJpY3Mgb2YgdGhlaXIgTWljcm9zb2Z0IGNvdW50ZXJwYXJ0cyB0aGF0IGFyZSB0
aGUgZGUgZmFjdG8KQEAgLTIzOSwyNSArMjQwLDIwIEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBs
YXRmb3JtSW5pdCgpCiAgICAgLy8gYW5kIGFkZCBpdCB0byB0aGUgYXNjZW50LgogICAgIE5TU3Ry
aW5nICpmYW1pbHlOYW1lID0gW21fcGxhdGZvcm1EYXRhLmZvbnQoKSBmYW1pbHlOYW1lXTsKICAg
ICBpZiAoW2ZhbWlseU5hbWUgaXNFcXVhbFRvU3RyaW5nOkAiVGltZXMiXSB8fCBbZmFtaWx5TmFt
ZSBpc0VxdWFsVG9TdHJpbmc6QCJIZWx2ZXRpY2EiXSB8fCBbZmFtaWx5TmFtZSBpc0VxdWFsVG9T
dHJpbmc6QCJDb3VyaWVyIl0pCi0gICAgICAgIGZBc2NlbnQgKz0gZmxvb3JmKCgoZkFzY2VudCAr
IGZEZXNjZW50KSAqIDAuMTVmKSArIDAuNWYpOworICAgICAgICBhc2NlbnQgKz0gZmxvb3JmKCgo
YXNjZW50ICsgZGVzY2VudCkgKiAwLjE1ZikgKyAwLjVmKTsKICAgICBlbHNlIGlmIChbZmFtaWx5
TmFtZSBpc0VxdWFsVG9TdHJpbmc6QCJHZWV6YSBQcm8iXSkgewogICAgICAgICAvLyBHZWV6YSBQ
cm8gaGFzIGdseXBocyB0aGF0IGRyYXcgc2xpZ2h0bHkgYWJvdmUgdGhlIGFzY2VudCBvciBmYXIg
YmVsb3cgdGhlIGRlc2NlbnQuIEFkanVzdAogICAgICAgICAvLyB0aG9zZSB2ZXJ0aWNhbCBtZXRy
aWNzIHRvIGJldHRlciBtYXRjaCByZWFsaXR5LCBzbyB0aGF0IGRpYWNyaXRpY3MgYXQgdGhlIGJv
dHRvbSBvZiBvbmUgbGluZQogICAgICAgICAvLyBkbyBub3Qgb3ZlcmxhcCBkaWFjcml0aWNzIGF0
IHRoZSB0b3Agb2YgdGhlIG5leHQgbGluZS4KLSAgICAgICAgZkFzY2VudCAqPSAxLjA4ZjsKLSAg
ICAgICAgZkRlc2NlbnQgKj0gMi5mOworICAgICAgICBhc2NlbnQgKj0gMS4wOGY7CisgICAgICAg
IGRlc2NlbnQgKj0gMi5mOwogICAgIH0KIAotICAgIG1fYXNjZW50ID0gbHJvdW5kZihmQXNjZW50
KTsKLSAgICBtX2Rlc2NlbnQgPSBscm91bmRmKGZEZXNjZW50KTsKLSAgICBtX2xpbmVHYXAgPSBs
cm91bmRmKGZMaW5lR2FwKTsKLSAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rlc2Nl
bnQgKyBtX2xpbmVHYXA7Ci0gICAgCiAgICAgLy8gSGFjayBIaXJhZ2lubyBsaW5lIG1ldHJpY3Mg
dG8gYWxsb3cgcm9vbSBmb3IgbWFya2VkIHRleHQgdW5kZXJsaW5lcy4KICAgICAvLyA8cmRhcjov
L3Byb2JsZW0vNTM4NjE4Mz4KLSAgICBpZiAobV9kZXNjZW50IDwgMyAmJiBtX2xpbmVHYXAgPj0g
MyAmJiBbZmFtaWx5TmFtZSBoYXNQcmVmaXg6QCJIaXJhZ2lubyJdKSB7Ci0gICAgICAgIG1fbGlu
ZUdhcCAtPSAzIC0gbV9kZXNjZW50OwotICAgICAgICBtX2Rlc2NlbnQgPSAzOworICAgIGlmIChk
ZXNjZW50IDwgMyAmJiBsaW5lR2FwID49IDMgJiYgW2ZhbWlseU5hbWUgaGFzUHJlZml4OkAiSGly
YWdpbm8iXSkgeworICAgICAgICBsaW5lR2FwIC09IDMgLSBkZXNjZW50OworICAgICAgICBkZXNj
ZW50ID0gMzsKICAgICB9CiAgICAgCiAgICAgaWYgKG1fb3JpZW50YXRpb24gPT0gVmVydGljYWwp
IHsKQEAgLTI3OCw2ICsyNzQsOCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQo
KQogICAgICAgICAgICAgbV9vcmllbnRhdGlvbiA9IEhvcml6b250YWw7CiAgICAgfQogCisgICAg
ZmxvYXQgeEhlaWdodDsKKwogICAgIC8vIE1lYXN1cmUgdGhlIGFjdHVhbCBjaGFyYWN0ZXIgIngi
LCBiZWNhdXNlIEFwcEtpdCBzeW50aGVzaXplcyBYIGhlaWdodCByYXRoZXIgdGhhbiBnZXR0aW5n
IGl0IGZyb20gdGhlIGZvbnQuCiAgICAgLy8gVW5mb3J0dW5hdGVseSwgTlNGb250IHdpbGwgcm91
bmQgdGhpcyBmb3IgdXMgc28gd2UgZG9uJ3QgcXVpdGUgZ2V0IHRoZSByaWdodCB2YWx1ZS4KICAg
ICBHbHlwaFBhZ2UqIGdseXBoUGFnZVplcm8gPSBHbHlwaFBhZ2VUcmVlTm9kZTo6Z2V0Um9vdENo
aWxkKHRoaXMsIDApLT5wYWdlKCk7CkBAIC0yODgsMjEgKzI4NiwyOCBAQCB2b2lkIFNpbXBsZUZv
bnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgICAgICAvLyBhbmQgd2ViIHBhZ2VzIHRoYXQgZm9v
bGlzaGx5IHVzZSB0aGlzIG1ldHJpYyBmb3Igd2lkdGggd2lsbCBiZSBsYWlkIG91dAogICAgICAg
ICAvLyBwb29ybHkgaWYgd2UgcmV0dXJuIGFuIGFjY3VyYXRlIGhlaWdodC4gQ2xhc3NpYyBjYXNl
IGlzIFRpbWVzIDEzIHBvaW50LAogICAgICAgICAvLyB3aGljaCBoYXMgYW4gIngiIHRoYXQgaXMg
N3g2IHBpeGVscy4KLSAgICAgICAgbV94SGVpZ2h0ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1heChD
R1JlY3RHZXRNYXhYKHhCb3gpLCAtQ0dSZWN0R2V0TWluWSh4Qm94KSkpOworICAgICAgICB4SGVp
Z2h0ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1heChDR1JlY3RHZXRNYXhYKHhCb3gpLCAtQ0dSZWN0
R2V0TWluWSh4Qm94KSkpOwogICAgIH0gZWxzZSB7CiAjaWZuZGVmIEJVSUxESU5HX09OX1RJR0VS
Ci0gICAgICAgIG1feEhlaWdodCA9IHN0YXRpY19jYXN0PGZsb2F0PihDR0ZvbnRHZXRYSGVpZ2h0
KG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpKSkgLyBtX3VuaXRzUGVyRW07CisgICAgICAgIHhIZWln
aHQgPSBzdGF0aWNfY2FzdDxmbG9hdD4oQ0dGb250R2V0WEhlaWdodChtX3BsYXRmb3JtRGF0YS5j
Z0ZvbnQoKSkpIC8gdW5pdHNQZXJFbTsKICNlbHNlCi0gICAgICAgIG1feEhlaWdodCA9IG1fcGxh
dGZvcm1EYXRhLmZvbnQoKSA/IFttX3BsYXRmb3JtRGF0YS5mb250KCkgeEhlaWdodF0gOiAwOwor
ICAgICAgICB4SGVpZ2h0ID0gbV9wbGF0Zm9ybURhdGEuZm9udCgpID8gW21fcGxhdGZvcm1EYXRh
LmZvbnQoKSB4SGVpZ2h0XSA6IDA7CiAjZW5kaWYKICAgICAgICAgLy8gQ0dGb250R2V0WEhlaWdo
dCgpIHJldHVybnMgYSB3cm9uZyB2YWx1ZSBmb3IgIkFwcGxlIFN5bWJvbHMiIGZvbnQgKGEgZmxv
YXQgY2xvc2UgdG8gMCwgYnV0IG5vdCBzdHJpY3RseSAwKS4KLSAgICAgICAgLy8gVGhlIGZvbGxv
d2luZyBjb2RlIG1ha2VzIGEgZ3Vlc3MgZm9yIG1feEhlaWdodCBpbiB0aGF0IGNhc2UuCisgICAg
ICAgIC8vIFRoZSBmb2xsb3dpbmcgY29kZSBtYWtlcyBhIGd1ZXNzIGZvciB4SGVpZ2h0IGluIHRo
YXQgY2FzZS4KICAgICAgICAgLy8gVGhlIGludCBjYXN0IGlzIGEgd29ya2Fyb3VuZCBmb3IgdGhl
ICJhbG1vc3QiIHplcm8gdmFsdWUgcmV0dXJuZWQgYnkgQ0dGb250R2V0WEhlaWdodCgpLgotICAg
ICAgICBpZiAoIXN0YXRpY19jYXN0PGludD4obV94SGVpZ2h0KSAmJiBmQXNjZW50KQotICAgICAg
ICAgICAgbV94SGVpZ2h0ID0gMiAqIGZBc2NlbnQgLyAzOworICAgICAgICBpZiAoIXN0YXRpY19j
YXN0PGludD4oeEhlaWdodCkgJiYgYXNjZW50KQorICAgICAgICAgICAgeEhlaWdodCA9IDIgKiBh
c2NlbnQgLyAzOwogICAgIH0KKworICAgIG1fZm9udE1ldHJpY3Muc2V0VW5pdHNQZXJFbSh1bml0
c1BlckVtKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChhc2NlbnQpOworICAgIG1fZm9u
dE1ldHJpY3Muc2V0RGVzY2VudChkZXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVH
YXAobGluZUdhcCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhhc2NlbnQgKyBk
ZXNjZW50ICsgbGluZUdhcCk7CisgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHhIZWlnaHQp
OwogfQotICAgIAorCiBzdGF0aWMgQ0ZEYXRhUmVmIGNvcHlGb250VGFibGVGb3JUYWcoRm9udFBs
YXRmb3JtRGF0YSYgcGxhdGZvcm1EYXRhLCBGb3VyQ2hhckNvZGUgdGFibGVOYW1lKQogewogI2lm
ZGVmIEJVSUxESU5HX09OX1RJR0VSCkBAIC0zMzcsNyArMzQyLDcgQEAgdm9pZCBTaW1wbGVGb250
RGF0YTo6cGxhdGZvcm1DaGFyV2lkdGhJbgogICAgIGlmIChvczJUYWJsZSAmJiBDRkRhdGFHZXRM
ZW5ndGgob3MyVGFibGUuZ2V0KCkpID49IDQpIHsKICAgICAgICAgY29uc3QgVUludDgqIG9zMiA9
IENGRGF0YUdldEJ5dGVQdHIob3MyVGFibGUuZ2V0KCkpOwogICAgICAgICBTSW50MTYgb3MyQXZn
Q2hhcldpZHRoID0gb3MyWzJdICogMjU2ICsgb3MyWzNdOwotICAgICAgICBtX2F2Z0NoYXJXaWR0
aCA9IHNjYWxlRW1Ub1VuaXRzKG9zMkF2Z0NoYXJXaWR0aCwgbV91bml0c1BlckVtKSAqIG1fcGxh
dGZvcm1EYXRhLm1fc2l6ZTsKKyAgICAgICAgbV9hdmdDaGFyV2lkdGggPSBzY2FsZUVtVG9Vbml0
cyhvczJBdmdDaGFyV2lkdGgsIG1fZm9udE1ldHJpY3MudW5pdHNQZXJFbSgpKSAqIG1fcGxhdGZv
cm1EYXRhLm1fc2l6ZTsKICAgICB9CiAKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBoZWFkVGFi
bGUoQWRvcHRDRiwgY29weUZvbnRUYWJsZUZvclRhZyhtX3BsYXRmb3JtRGF0YSwgJ2hlYWQnKSk7
CkBAIC0zNDgsNyArMzUzLDcgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1DaGFyV2lk
dGhJbgogICAgICAgICBTSW50MTYgeE1pbiA9IHN0YXRpY19jYXN0PFNJbnQxNj4odXhNaW4pOwog
ICAgICAgICBTSW50MTYgeE1heCA9IHN0YXRpY19jYXN0PFNJbnQxNj4odXhNYXgpOwogICAgICAg
ICBmbG9hdCBkaWZmID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHhNYXggLSB4TWluKTsKLSAgICAgICAg
bV9tYXhDaGFyV2lkdGggPSBzY2FsZUVtVG9Vbml0cyhkaWZmLCBtX3VuaXRzUGVyRW0pICogbV9w
bGF0Zm9ybURhdGEubV9zaXplOworICAgICAgICBtX21heENoYXJXaWR0aCA9IHNjYWxlRW1Ub1Vu
aXRzKGRpZmYsIG1fZm9udE1ldHJpY3MudW5pdHNQZXJFbSgpKSAqIG1fcGxhdGZvcm1EYXRhLm1f
c2l6ZTsKICAgICB9CiAKICAgICAvLyBGYWxsYmFjayB0byBhIGNyb3NzLXBsYXRmb3JtIGVzdGlt
YXRlLCB3aGljaCB3aWxsIHBvcHVsYXRlIHRoZXNlIHZhbHVlcyBpZiB0aGV5IGFyZSBub24tcG9z
aXRpdmUuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1NpbXBsZUZvbnRE
YXRhUGFuZ28uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcGFu
Z28vU2ltcGxlRm9udERhdGFQYW5nby5jcHAJKHJldmlzaW9uIDc0NjgzKQorKysgV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9wYW5nby9TaW1wbGVGb250RGF0YVBhbmdvLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDksMjEgKzQ5LDI3IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5p
dCgpCiAgICAgY2Fpcm9fZm9udF9leHRlbnRzX3QgZm9udF9leHRlbnRzOwogICAgIGNhaXJvX3Rl
eHRfZXh0ZW50c190IHRleHRfZXh0ZW50czsKICAgICBjYWlyb19zY2FsZWRfZm9udF9leHRlbnRz
KG1fcGxhdGZvcm1EYXRhLm1fc2NhbGVkRm9udCwgJmZvbnRfZXh0ZW50cyk7Ci0gICAgbV9hc2Nl
bnQgPSBzdGF0aWNfY2FzdDxpbnQ+KGxyb3VuZGYoZm9udF9leHRlbnRzLmFzY2VudCkpOwotICAg
IG1fZGVzY2VudCA9IHN0YXRpY19jYXN0PGludD4obHJvdW5kZihmb250X2V4dGVudHMuZGVzY2Vu
dCkpOwotICAgIG1fbGluZVNwYWNpbmcgPSBzdGF0aWNfY2FzdDxpbnQ+KGxyb3VuZGYoZm9udF9l
eHRlbnRzLmhlaWdodCkpOworCisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoZm9udF9leHRl
bnRzLmFzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGZvbnRfZXh0ZW50cy5k
ZXNjZW50KTsKKwogICAgIC8vIFRoZXJlIHNlZW1zIHRvIGJlIHNvbWUgcm91bmRpbmcgZXJyb3Ig
aW4gY2Fpcm8gKG9yIGluIGhvdyB3ZQogICAgIC8vIHVzZSBjYWlybykgd2l0aCBzb21lIGZvbnRz
LCBsaWtlIERlamFWdSBTYW5zIE1vbm8sIHdoaWNoIG1ha2VzCiAgICAgLy8gY2Fpcm8gcmVwb3J0
IGEgaGVpZ2h0IHNtYWxsZXIgdGhhbiBhc2NlbnQgKyBkZXNjZW50LCB3aGljaCBpcwogICAgIC8v
IHdyb25nIGFuZCBjb25mdXNlcyBXZWJDb3JlJ3MgbGF5b3V0IHN5c3RlbS4gV29ya2Fyb3VuZCB0
aGlzCiAgICAgLy8gd2hpbGUgd2UgZmlndXJlIG91dCB3aGF0J3MgZ29pbmcgb24uCi0gICAgaWYg
KG1fbGluZVNwYWNpbmcgPCBtX2FzY2VudCArIG1fZGVzY2VudCkKLSAgICAgICAgbV9saW5lU3Bh
Y2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50OworICAgIGZsb2F0IGxpbmVTcGFjaW5nID0gZm9u
dF9leHRlbnRzLmhlaWdodDsKKyAgICBpZiAobGluZVNwYWNpbmcgPCBmb250X2V4dGVudHMuYXNj
ZW50ICsgZm9udF9leHRlbnRzLmRlc2NlbnQpCisgICAgICAgIGxpbmVTcGFjaW5nID0gZm9udF9l
eHRlbnRzLmFzY2VudCArIGZvbnRfZXh0ZW50cy5kZXNjZW50OworICAgIG1fZm9udE1ldHJpY3Mu
c2V0TGluZVNwYWNpbmcobGluZVNwYWNpbmcpOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdh
cChsaW5lU3BhY2luZyAtIGZvbnRfZXh0ZW50cy5hc2NlbnQgLSBmb250X2V4dGVudHMuZGVzY2Vu
dCk7CisKICAgICBjYWlyb19zY2FsZWRfZm9udF90ZXh0X2V4dGVudHMobV9wbGF0Zm9ybURhdGEu
bV9zY2FsZWRGb250LCAieCIsICZ0ZXh0X2V4dGVudHMpOwotICAgIG1feEhlaWdodCA9IHRleHRf
ZXh0ZW50cy5oZWlnaHQ7CisgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHRleHRfZXh0ZW50
cy5oZWlnaHQpOworCiAgICAgY2Fpcm9fc2NhbGVkX2ZvbnRfdGV4dF9leHRlbnRzKG1fcGxhdGZv
cm1EYXRhLm1fc2NhbGVkRm9udCwgIiAiLCAmdGV4dF9leHRlbnRzKTsKLSAgICBtX3NwYWNlV2lk
dGggPSAgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHRleHRfZXh0ZW50cy54X2FkdmFuY2UpOwotICAgIG1f
bGluZUdhcCA9IG1fbGluZVNwYWNpbmcgLSBtX2FzY2VudCAtIG1fZGVzY2VudDsKKyAgICBtX3Nw
YWNlV2lkdGggPSBzdGF0aWNfY2FzdDxmbG9hdD4odGV4dF9leHRlbnRzLnhfYWR2YW5jZSk7Cisg
ICAgCiAgICAgbV9zeW50aGV0aWNCb2xkT2Zmc2V0ID0gbV9wbGF0Zm9ybURhdGEuc3ludGhldGlj
Qm9sZCgpID8gMS4wZiA6IDAuZjsKIH0KIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9xdC9TaW1wbGVGb250RGF0YVF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvU2ltcGxlRm9udERhdGFRdC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI0LDcgKzI0LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJT
aW1wbGVGb250RGF0YS5oIgogCi0jaW5jbHVkZSA8UUZvbnRNZXRyaWNzPgorI2luY2x1ZGUgPFFG
b250TWV0cmljc0Y+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsMjUgKzQxLDIwIEBA
IGJvb2wgU2ltcGxlRm9udERhdGE6OmNvbnRhaW5zQ2hhcmFjdGVycygKIHZvaWQgU2ltcGxlRm9u
dERhdGE6OnBsYXRmb3JtSW5pdCgpCiB7CiAgICAgaWYgKCFtX3BsYXRmb3JtRGF0YS5zaXplKCkp
IHsKLSAgICAgICAgIG1fYXNjZW50ID0gMDsKLSAgICAgICAgIG1fZGVzY2VudCA9IDA7Ci0gICAg
ICAgICBtX2xpbmVHYXAgPSAwOwotICAgICAgICAgbV9saW5lU3BhY2luZyA9IDA7CisgICAgICAg
ICBtX2ZvbnRNZXRyaWNzLnJlc2V0KCk7CiAgICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9IDA7CiAg
ICAgICAgICBtX21heENoYXJXaWR0aCA9IDA7Ci0gICAgICAgICBtX3hIZWlnaHQgPSAwOwotICAg
ICAgICAgbV91bml0c1BlckVtID0gMDsKICAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBR
Rm9udE1ldHJpY3MgZm0obV9wbGF0Zm9ybURhdGEuZm9udCgpKTsKKyAgICBRRm9udE1ldHJpY3NG
IGZtKG1fcGxhdGZvcm1EYXRhLmZvbnQoKSk7CiAKLSAgICBtX2FzY2VudCA9IGZtLmFzY2VudCgp
OwotICAgIG1fZGVzY2VudCA9IGZtLmRlc2NlbnQoKTsKLSAgICBtX2xpbmVTcGFjaW5nID0gZm0u
bGluZVNwYWNpbmcoKTsKLSAgICBtX3hIZWlnaHQgPSBmbS54SGVpZ2h0KCk7CisgICAgbV9mb250
TWV0cmljcy5zZXRBc2NlbnQoZm0uYXNjZW50KCkpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVz
Y2VudChmbS5kZXNjZW50KCkpOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoZm0u
bGluZVNwYWNpbmcoKSk7CisgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KGZtLnhIZWlnaHQo
KSk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGZtLmxlYWRpbmcoKSk7CiAgICAgbV9z
cGFjZVdpZHRoID0gZm0ud2lkdGgoUUxhdGluMUNoYXIoJyAnKSk7Ci0gICAgbV9saW5lR2FwID0g
Zm0ubGVhZGluZygpOwogfQogCiB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUdseXBoSW5p
dCgpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q0dXaW4uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRDR1dpbi5jcHAJ
KHJldmlzaW9uIDc0NjgzKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udENH
V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY3LDggKzE2NywxMiBAQCBzdGF0aWMgdm9pZCBk
cmF3R0RJR2x5cGhzKEdyYXBoaWNzQ29udGV4CiAgICAgICAgIGRyYXdJbnRvQml0bWFwID0gdHJ1
ZTsKICAgICAgICAgLy8gV2UgcHV0IHNsb3AgaW50byB0aGlzIHJlY3QsIHNpbmNlIGdseXBocyBj
YW4gb3ZlcmZsb3cgdGhlIGFzY2VudC9kZXNjZW50IGJvdW5kcyBhbmQgdGhlIGxlZnQvcmlnaHQg
ZWRnZXMuCiAgICAgICAgIC8vIEZJWE1FOiBDYW4gZ2V0IGdseXBocycgb3B0aWNhbCBib3VuZHMg
KGV2ZW4gZnJvbSBDRykgdG8gZ2V0IHRoaXMgcmlnaHQuCi0gICAgICAgIGludCBsaW5lR2FwID0g
Zm9udC0+bGluZUdhcCgpOwotICAgICAgICB0ZXh0UmVjdCA9IEludFJlY3QocG9pbnQueCgpIC0g
KGZvbnQtPmFzY2VudCgpICsgZm9udC0+ZGVzY2VudCgpKSAvIDIsIHBvaW50LnkoKSAtIGZvbnQt
PmFzY2VudCgpIC0gbGluZUdhcCwgdG90YWxXaWR0aCArIGZvbnQtPmFzY2VudCgpICsgZm9udC0+
ZGVzY2VudCgpLCBmb250LT5saW5lU3BhY2luZygpKTsKKyAgICAgICAgY29uc3QgRm9udE1ldHJp
Y3MmIGZvbnRNZXRyaWNzID0gZm9udC0+Zm9udE1ldHJpY3MoKTsKKyAgICAgICAgaW50IGxpbmVH
YXAgPSBmb250TWV0cmljcy5saW5lR2FwKCk7CisgICAgICAgIHRleHRSZWN0ID0gSW50UmVjdChw
b2ludC54KCkgLSAoZm9udE1ldHJpY3MuYXNjZW50KCkgKyBmb250TWV0cmljcy5kZXNjZW50KCkp
IC8gMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50LnkoKSAtIGZvbnRNZXRyaWNz
LmFzY2VudCgpIC0gbGluZUdhcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsV2lk
dGggKyBmb250TWV0cmljcy5hc2NlbnQoKSArIGZvbnRNZXRyaWNzLmRlc2NlbnQoKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGZvbnRNZXRyaWNzLmxpbmVTcGFjaW5nKCkpOwogICAgICAg
ICBiaXRtYXAuc2V0KGdyYXBoaWNzQ29udGV4dC0+Y3JlYXRlV2luZG93c0JpdG1hcCh0ZXh0UmVj
dC5zaXplKCkpKTsKICAgICAgICAgbWVtc2V0KGJpdG1hcC0+YnVmZmVyKCksIDI1NSwgYml0bWFw
LT5idWZmZXJMZW5ndGgoKSk7CiAgICAgICAgIGhkYyA9IGJpdG1hcC0+aGRjKCk7CkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250V2luLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250V2luLmNwcAkocmV2aXNpb24gNzQ2ODMp
CisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250V2luLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTIxLDggKzEyMSw4IEBAIGZsb2F0IEZvbnQ6OmZsb2F0V2lkdGhGb3JDb21wbGV4
VGV4dChjb24KICAgICBVbmlzY3JpYmVDb250cm9sbGVyIGNvbnRyb2xsZXIodGhpcywgcnVuLCBm
YWxsYmFja0ZvbnRzKTsKICAgICBjb250cm9sbGVyLmFkdmFuY2UocnVuLmxlbmd0aCgpKTsKICAg
ICBpZiAoZ2x5cGhPdmVyZmxvdykgewotICAgICAgICBnbHlwaE92ZXJmbG93LT50b3AgPSBtYXg8
aW50PihnbHlwaE92ZXJmbG93LT50b3AsIGNlaWxmKC1jb250cm9sbGVyLm1pbkdseXBoQm91bmRp
bmdCb3hZKCkpIC0gYXNjZW50KCkpOwotICAgICAgICBnbHlwaE92ZXJmbG93LT5ib3R0b20gPSBt
YXg8aW50PihnbHlwaE92ZXJmbG93LT5ib3R0b20sIGNlaWxmKGNvbnRyb2xsZXIubWF4R2x5cGhC
b3VuZGluZ0JveFkoKSkgLSBkZXNjZW50KCkpOworICAgICAgICBnbHlwaE92ZXJmbG93LT50b3Ag
PSBtYXg8aW50PihnbHlwaE92ZXJmbG93LT50b3AsIGNlaWxmKC1jb250cm9sbGVyLm1pbkdseXBo
Qm91bmRpbmdCb3hZKCkpIC0gZm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CisgICAgICAgIGdseXBo
T3ZlcmZsb3ctPmJvdHRvbSA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPmJvdHRvbSwgY2VpbGYo
Y29udHJvbGxlci5tYXhHbHlwaEJvdW5kaW5nQm94WSgpKSAtIGZvbnRNZXRyaWNzKCkuZGVzY2Vu
dCgpKTsKICAgICAgICAgZ2x5cGhPdmVyZmxvdy0+bGVmdCA9IG1heDxpbnQ+KDAsIGNlaWxmKC1j
b250cm9sbGVyLm1pbkdseXBoQm91bmRpbmdCb3hYKCkpKTsKICAgICAgICAgZ2x5cGhPdmVyZmxv
dy0+cmlnaHQgPSBtYXg8aW50PigwLCBjZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91bmRpbmdC
b3hYKCkgLSBjb250cm9sbGVyLnJ1bldpZHRoU29GYXIoKSkpOwogICAgIH0KSW5kZXg6IFdlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ0dXaW4uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ0dXaW4u
Y3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1Np
bXBsZUZvbnREYXRhQ0dXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NCwxMSArNjQsMTEgQEAg
dm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICBpbnQgaUFzY2VudCA9IENH
Rm9udEdldEFzY2VudChmb250KTsKICAgICBpbnQgaURlc2NlbnQgPSBDR0ZvbnRHZXREZXNjZW50
KGZvbnQpOwogICAgIGludCBpTGluZUdhcCA9IENHRm9udEdldExlYWRpbmcoZm9udCk7Ci0gICAg
bV91bml0c1BlckVtID0gQ0dGb250R2V0VW5pdHNQZXJFbShmb250KTsKKyAgICB1bnNpZ25lZCB1
bml0c1BlckVtID0gQ0dGb250R2V0VW5pdHNQZXJFbShmb250KTsKICAgICBmbG9hdCBwb2ludFNp
emUgPSBtX3BsYXRmb3JtRGF0YS5zaXplKCk7Ci0gICAgZmxvYXQgZkFzY2VudCA9IHNjYWxlRW1U
b1VuaXRzKGlBc2NlbnQsIG1fdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7Ci0gICAgZmxvYXQgZkRl
c2NlbnQgPSAtc2NhbGVFbVRvVW5pdHMoaURlc2NlbnQsIG1fdW5pdHNQZXJFbSkgKiBwb2ludFNp
emU7Ci0gICAgZmxvYXQgZkxpbmVHYXAgPSBzY2FsZUVtVG9Vbml0cyhpTGluZUdhcCwgbV91bml0
c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAgICBmbG9hdCBmQXNjZW50ID0gc2NhbGVFbVRvVW5pdHMo
aUFzY2VudCwgdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7CisgICAgZmxvYXQgZkRlc2NlbnQgPSAt
c2NhbGVFbVRvVW5pdHMoaURlc2NlbnQsIHVuaXRzUGVyRW0pICogcG9pbnRTaXplOworICAgIGZs
b2F0IGZMaW5lR2FwID0gc2NhbGVFbVRvVW5pdHMoaUxpbmVHYXAsIHVuaXRzUGVyRW0pICogcG9p
bnRTaXplOwogCiAgICAgaWYgKCFpc0N1c3RvbUZvbnQoKSkgewogICAgICAgICBIREMgZGMgPSBH
ZXREQygwKTsKQEAgLTkzLDEwICs5MywxMCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9y
bUluaXQoKQogICAgICAgICB9CiAgICAgfQogCi0gICAgbV9hc2NlbnQgPSBscm91bmRmKGZBc2Nl
bnQpOwotICAgIG1fZGVzY2VudCA9IGxyb3VuZGYoZkRlc2NlbnQpOwotICAgIG1fbGluZUdhcCA9
IGxyb3VuZGYoZkxpbmVHYXApOwotICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1fZGVz
Y2VudCArIG1fbGluZUdhcDsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChmQXNjZW50KTsK
KyAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoZkRlc2NlbnQpOworICAgIG1fZm9udE1ldHJp
Y3Muc2V0TGluZUdhcChmTGluZUdhcCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2lu
ZyhmQXNjZW50ICsgZkRlc2NlbnQgKyBmTGluZUdhcCk7CiAKICAgICAvLyBNZWFzdXJlIHRoZSBh
Y3R1YWwgY2hhcmFjdGVyICJ4IiwgYmVjYXVzZSBBcHBLaXQgc3ludGhlc2l6ZXMgWCBoZWlnaHQg
cmF0aGVyIHRoYW4gZ2V0dGluZyBpdCBmcm9tIHRoZSBmb250LgogICAgIC8vIFVuZm9ydHVuYXRl
bHksIE5TRm9udCB3aWxsIHJvdW5kIHRoaXMgZm9yIHVzIHNvIHdlIGRvbid0IHF1aXRlIGdldCB0
aGUgcmlnaHQgdmFsdWUuCkBAIC0xMDksMTEgKzEwOSwxMyBAQCB2b2lkIFNpbXBsZUZvbnREYXRh
OjpwbGF0Zm9ybUluaXQoKQogICAgICAgICAvLyBhbmQgd2ViIHBhZ2VzIHRoYXQgZm9vbGlzaGx5
IHVzZSB0aGlzIG1ldHJpYyBmb3Igd2lkdGggd2lsbCBiZSBsYWlkIG91dAogICAgICAgICAvLyBw
b29ybHkgaWYgd2UgcmV0dXJuIGFuIGFjY3VyYXRlIGhlaWdodC4gQ2xhc3NpYyBjYXNlIGlzIFRp
bWVzIDEzIHBvaW50LAogICAgICAgICAvLyB3aGljaCBoYXMgYW4gIngiIHRoYXQgaXMgN3g2IHBp
eGVscy4KLSAgICAgICAgbV94SGVpZ2h0ID0gc2NhbGVFbVRvVW5pdHMobWF4KENHUmVjdEdldE1h
eFgoeEJveCksIENHUmVjdEdldE1heFkoeEJveCkpLCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXpl
OworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQoc2NhbGVFbVRvVW5pdHMobWF4KENH
UmVjdEdldE1heFgoeEJveCksIENHUmVjdEdldE1heFkoeEJveCkpLCB1bml0c1BlckVtKSAqIHBv
aW50U2l6ZSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgaW50IGlYSGVpZ2h0ID0gQ0dGb250R2V0
WEhlaWdodChmb250KTsKLSAgICAgICAgbV94SGVpZ2h0ID0gc2NhbGVFbVRvVW5pdHMoaVhIZWln
aHQsIG1fdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7CisgICAgICAgIG1fZm9udE1ldHJpY3Muc2V0
WEhlaWdodChzY2FsZUVtVG9Vbml0cyhpWEhlaWdodCwgdW5pdHNQZXJFbSkgKiBwb2ludFNpemUp
OwogICAgIH0KKworICAgIG1fZm9udE1ldHJpY3Muc2V0VW5pdHNQZXJFbSh1bml0c1BlckVtKTsK
IH0KIAogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1DaGFyV2lkdGhJbml0KCkKQEAgLTEz
Myw3ICsxMzUsNyBAQCBGbG9hdFJlY3QgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQm91bmRzCiAg
ICAgQ0dSZWN0IGJveDsKICAgICBDR0ZvbnRHZXRHbHlwaEJCb3hlcyhtX3BsYXRmb3JtRGF0YS5j
Z0ZvbnQoKSwgJmdseXBoLCAxLCAmYm94KTsKICAgICBmbG9hdCBwb2ludFNpemUgPSBtX3BsYXRm
b3JtRGF0YS5zaXplKCk7Ci0gICAgQ0dGbG9hdCBzY2FsZSA9IHBvaW50U2l6ZSAvIHVuaXRzUGVy
RW0oKTsKKyAgICBDR0Zsb2F0IHNjYWxlID0gcG9pbnRTaXplIC8gZm9udE1ldHJpY3MoKS51bml0
c1BlckVtKCk7CiAgICAgRmxvYXRSZWN0IGJvdW5kaW5nQm94ID0gQ0dSZWN0QXBwbHlBZmZpbmVU
cmFuc2Zvcm0oYm94LCBDR0FmZmluZVRyYW5zZm9ybU1ha2VTY2FsZShzY2FsZSwgLXNjYWxlKSk7
CiAgICAgaWYgKG1fc3ludGhldGljQm9sZE9mZnNldCkKICAgICAgICAgYm91bmRpbmdCb3guc2V0
V2lkdGgoYm91bmRpbmdCb3gud2lkdGgoKSArIG1fc3ludGhldGljQm9sZE9mZnNldCk7CkluZGV4
OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNhaXJvV2luLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250
RGF0YUNhaXJvV2luLmNwcAkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNhaXJvV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NjMsMTMgKzYzLDE2IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAKICAg
ICBURVhUTUVUUklDIHRleHRNZXRyaWNzOwogICAgIEdldFRleHRNZXRyaWNzKGhkYywgJnRleHRN
ZXRyaWNzKTsKLSAgICBtX2FzY2VudCA9IGxyb3VuZGYodGV4dE1ldHJpY3MudG1Bc2NlbnQgKiBt
ZXRyaWNzTXVsdGlwbGllcik7Ci0gICAgbV9kZXNjZW50ID0gbHJvdW5kZih0ZXh0TWV0cmljcy50
bURlc2NlbnQgKiBtZXRyaWNzTXVsdGlwbGllcik7Ci0gICAgbV94SGVpZ2h0ID0gbV9hc2NlbnQg
KiAwLjU2ZjsgLy8gQmVzdCBndWVzcyBmb3IgeEhlaWdodCBmb3Igbm9uLVRydWV0eXBlIGZvbnRz
LgotICAgIG1fbGluZUdhcCA9IGxyb3VuZGYodGV4dE1ldHJpY3MudG1FeHRlcm5hbExlYWRpbmcg
KiBtZXRyaWNzTXVsdGlwbGllcik7Ci0gICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9k
ZXNjZW50ICsgbV9saW5lR2FwOwotICAgIG1fYXZnQ2hhcldpZHRoID0gbHJvdW5kZih0ZXh0TWV0
cmljcy50bUF2ZUNoYXJXaWR0aCAqIG1ldHJpY3NNdWx0aXBsaWVyKTsKLSAgICBtX21heENoYXJX
aWR0aCA9IGxyb3VuZGYodGV4dE1ldHJpY3MudG1NYXhDaGFyV2lkdGggKiBtZXRyaWNzTXVsdGlw
bGllcik7CisgICAgZmxvYXQgYXNjZW50ID0gdGV4dE1ldHJpY3MudG1Bc2NlbnQgKiBtZXRyaWNz
TXVsdGlwbGllcjsKKyAgICBmbG9hdCBkZXNjZW50ID0gdGV4dE1ldHJpY3MudG1EZXNjZW50ICog
bWV0cmljc011bHRpcGxpZXI7CisgICAgZmxvYXQgeEhlaWdodCA9IGFzY2VudCAqIDAuNTZmOyAv
LyBCZXN0IGd1ZXNzIGZvciB4SGVpZ2h0IGZvciBub24tVHJ1ZXR5cGUgZm9udHMuCisgICAgZmxv
YXQgbGluZUdhcCA9IHRleHRNZXRyaWNzLnRtRXh0ZXJuYWxMZWFkaW5nICogbWV0cmljc011bHRp
cGxpZXI7CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAgICBtX2ZvbnRN
ZXRyaWNzLnNldERlc2NlbnQoZGVzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2Fw
KGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNjZW50ICsgZGVz
Y2VudCArIGxpbmVHYXApOworICAgIG1fYXZnQ2hhcldpZHRoID0gdGV4dE1ldHJpY3MudG1BdmVD
aGFyV2lkdGggKiBtZXRyaWNzTXVsdGlwbGllcjsKKyAgICBtX21heENoYXJXaWR0aCA9IHRleHRN
ZXRyaWNzLnRtTWF4Q2hhcldpZHRoICogbWV0cmljc011bHRpcGxpZXI7CiAKICAgICBPVVRMSU5F
VEVYVE1FVFJJQyBtZXRyaWNzOwogICAgIGlmIChHZXRPdXRsaW5lVGV4dE1ldHJpY3MoaGRjLCBz
aXplb2YobWV0cmljcyksICZtZXRyaWNzKSA+IDApIHsKQEAgLTc4LDkgKzgxLDEwIEBAIHZvaWQg
U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgICAgIE1BVDIgbWF0ID0geyAxLCAw
LCAwLCAxIH07CiAgICAgICAgIERXT1JEIGxlbiA9IEdldEdseXBoT3V0bGluZShoZGMsICd4Jywg
R0dPX01FVFJJQ1MsICZnbSwgMCwgMCwgJm1hdCk7CiAgICAgICAgIGlmIChsZW4gIT0gR0RJX0VS
Uk9SICYmIGdtLmdtcHRHbHlwaE9yaWdpbi55ID4gMCkKLSAgICAgICAgICAgIG1feEhlaWdodCA9
IGdtLmdtcHRHbHlwaE9yaWdpbi55ICogbWV0cmljc011bHRpcGxpZXI7CisgICAgICAgICAgICB4
SGVpZ2h0ID0gZ20uZ21wdEdseXBoT3JpZ2luLnkgKiBtZXRyaWNzTXVsdGlwbGllcjsKICAgICB9
CiAKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQoeEhlaWdodCk7CiAgICAgY2Fpcm9fd2lu
MzJfc2NhbGVkX2ZvbnRfZG9uZV9mb250KHNjYWxlZEZvbnQpOwogCiAgICAgbV9pc1N5c3RlbUZv
bnQgPSBmYWxzZTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZv
bnREYXRhV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9TaW1wbGVGb250RGF0YVdpbi5jcHAJKHJldmlzaW9uIDc0NjgzKQorKysgV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC02NiwxNCArNjYsOSBAQCBib29sIFNpbXBsZUZvbnREYXRhOjpzaG91bGRBcHBseU1hY0FzY2Vu
CiB2b2lkIFNpbXBsZUZvbnREYXRhOjppbml0R0RJRm9udCgpCiB7CiAgICAgaWYgKCFtX3BsYXRm
b3JtRGF0YS5zaXplKCkpIHsKLSAgICAgICAgbV9hc2NlbnQgPSAwOwotICAgICAgICBtX2Rlc2Nl
bnQgPSAwOwotICAgICAgICBtX2xpbmVHYXAgPSAwOwotICAgICAgICBtX2xpbmVTcGFjaW5nID0g
MDsKKyAgICAgICAgbV9mb250TWV0cmljcy5yZXNldCgpOwogICAgICAgICBtX2F2Z0NoYXJXaWR0
aCA9IDA7CiAgICAgICAgIG1fbWF4Q2hhcldpZHRoID0gMDsKLSAgICAgICAgbV94SGVpZ2h0ID0g
MDsKLSAgICAgICAgbV91bml0c1BlckVtID0gMDsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApA
QCAtODIsMjEgKzc3LDI1IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OmluaXRHRElGb250KCkKICAg
ICAgT1VUTElORVRFWFRNRVRSSUMgbWV0cmljczsKICAgICAgR2V0T3V0bGluZVRleHRNZXRyaWNz
KGhkYywgc2l6ZW9mKG1ldHJpY3MpLCAmbWV0cmljcyk7CiAgICAgIFRFWFRNRVRSSUMmIHRleHRN
ZXRyaWNzID0gbWV0cmljcy5vdG1UZXh0TWV0cmljczsKLSAgICAgbV9hc2NlbnQgPSB0ZXh0TWV0
cmljcy50bUFzY2VudDsKLSAgICAgbV9kZXNjZW50ID0gdGV4dE1ldHJpY3MudG1EZXNjZW50Owot
ICAgICBtX2xpbmVHYXAgPSB0ZXh0TWV0cmljcy50bUV4dGVybmFsTGVhZGluZzsKLSAgICAgbV9s
aW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50ICsgbV9saW5lR2FwOworICAgICBmbG9h
dCBhc2NlbnQgPSB0ZXh0TWV0cmljcy50bUFzY2VudDsKKyAgICAgZmxvYXQgZGVzY2VudCA9IHRl
eHRNZXRyaWNzLnRtRGVzY2VudDsKKyAgICAgZmxvYXQgbGluZUdhcCA9IHRleHRNZXRyaWNzLnRt
RXh0ZXJuYWxMZWFkaW5nOworICAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChhc2NlbnQpOwor
ICAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoZGVzY2VudCk7CisgICAgIG1fZm9udE1ldHJp
Y3Muc2V0TGluZUdhcChsaW5lR2FwKTsKKyAgICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2lu
Zyhhc2NlbnQgKyBkZXNjZW50ICsgbGluZUdhcCk7CiAgICAgIG1fYXZnQ2hhcldpZHRoID0gdGV4
dE1ldHJpY3MudG1BdmVDaGFyV2lkdGg7CiAgICAgIG1fbWF4Q2hhcldpZHRoID0gdGV4dE1ldHJp
Y3MudG1NYXhDaGFyV2lkdGg7Ci0gICAgIG1feEhlaWdodCA9IG1fYXNjZW50ICogMC41NmY7IC8v
IEJlc3QgZ3Vlc3MgZm9yIHhIZWlnaHQgaWYgbm8geCBnbHlwaCBpcyBwcmVzZW50LgorICAgICBm
bG9hdCB4SGVpZ2h0ID0gYXNjZW50ICogMC41NmY7IC8vIEJlc3QgZ3Vlc3MgZm9yIHhIZWlnaHQg
aWYgbm8geCBnbHlwaCBpcyBwcmVzZW50LgogCiAgICAgIEdMWVBITUVUUklDUyBnbTsKICAgICAg
TUFUMiBtYXQgPSB7IDEsIDAsIDAsIDEgfTsKICAgICAgRFdPUkQgbGVuID0gR2V0R2x5cGhPdXRs
aW5lKGhkYywgJ3gnLCBHR09fTUVUUklDUywgJmdtLCAwLCAwLCAmbWF0KTsKICAgICAgaWYgKGxl
biAhPSBHRElfRVJST1IgJiYgZ20uZ21wdEdseXBoT3JpZ2luLnkgPiAwKQotICAgICAgICAgbV94
SGVpZ2h0ID0gZ20uZ21wdEdseXBoT3JpZ2luLnk7CisgICAgICAgICB4SGVpZ2h0ID0gZ20uZ21w
dEdseXBoT3JpZ2luLnk7CiAKLSAgICAgbV91bml0c1BlckVtID0gbWV0cmljcy5vdG1FTVNxdWFy
ZTsKKyAgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHhIZWlnaHQpOworICAgICBtX2ZvbnRN
ZXRyaWNzLnNldFVuaXRzUGVyRW0obWV0cmljcy5vdG1FTVNxdWFyZSk7CiAKICAgICAgU2VsZWN0
T2JqZWN0KGhkYywgb2xkRm9udCk7CiAgICAgIFJlbGVhc2VEQygwLCBoZGMpOwpJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRl
eHRXaW5DRS5jcHAJKHJldmlzaW9uIDc0NjgzKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1MzUs
NyArMTUzNSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3VGV4dChjb25zdCBGb24KICAg
ICBtX2RhdGEtPm1fb3BhY2l0eSAqPSBmaWxsQ29sb3IoKS5hbHBoYSgpIC8gMjU1LjA7CiAKICAg
ICBGbG9hdFJlY3QgdGV4dFJlY3QgPSBmb250LnNlbGVjdGlvblJlY3RGb3JUZXh0KHJ1biwgcG9p
bnQsIGZvbnQuaGVpZ2h0KCksIGZyb20sIHRvKTsKLSAgICB0ZXh0UmVjdC5zZXRZKHRleHRSZWN0
LnkoKSAtIGZvbnQuYXNjZW50KCkpOworICAgIHRleHRSZWN0LnNldFkodGV4dFJlY3QueSgpIC0g
Zm9udC5mb250TWV0cmljcygpLmFzY2VudCgpKTsKICAgICBJbnRSZWN0IHRyUmVjdCA9IGVuY2xv
c2luZ0ludFJlY3QobV9kYXRhLT5tYXBSZWN0KHRleHRSZWN0KSk7CiAgICAgUkVDVCBibXBSZWN0
OwogICAgIEFscGhhUGFpbnRUeXBlIGFscGhhUGFpbnRUeXBlID0gbXVzdFN1cHBvcnRBbHBoYSA/
IEFscGhhUGFpbnRPdGhlciA6IEFscGhhUGFpbnROb25lOwpAQCAtMTU0NCw3ICsxNTQ0LDcgQEAg
dm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdUZXh0KGNvbnN0IEZvbgogICAgICAgICAgICAgR3Jh
cGhpY3NDb250ZXh0IGdjKDApOwogICAgICAgICAgICAgZ2Muc2V0Qml0bWFwKGJtcCk7CiAgICAg
ICAgICAgICBnYy5zY2FsZShGbG9hdFNpemUobV9kYXRhLT5tX3RyYW5zZm9ybS5hKCksIG1fZGF0
YS0+bV90cmFuc2Zvcm0uZCgpKSk7Ci0gICAgICAgICAgICBmb250LmRyYXdUZXh0KCZnYywgcnVu
LCBJbnRQb2ludCgwLCBmb250LmFzY2VudCgpKSwgZnJvbSwgdG8pOworICAgICAgICAgICAgZm9u
dC5kcmF3VGV4dCgmZ2MsIHJ1biwgSW50UG9pbnQoMCwgZm9udC5mb250TWV0cmljcygpLmFzY2Vu
dCgpKSwgZnJvbSwgdG8pOwogICAgICAgICB9CiAgICAgICAgIHVuc2lnbmVkIGtleTE7CiAgICAg
ICAgIEhEQyBtZW1EQyA9IGJtcC0+Z2V0REMoJmtleTEpOwpAQCAtMTU4OSw3ICsxNTg5LDcgQEAg
dm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdUZXh0KGNvbnN0IFNpbQogICAgICAgICA/IGZvbnRE
YXRhLT5wbGF0Zm9ybURhdGEoKS5nZXRTY2FsZWRGb250SGFuZGxlKGhlaWdodCwgc2NhbGVYID09
IHNjYWxlWSA/IDAgOiB3aWR0aCkKICAgICAgICAgOiAwOwogCi0gICAgRmxvYXRQb2ludCBzdGFy
dFBvaW50KHBvaW50LngoKSwgcG9pbnQueSgpIC0gZm9udERhdGEtPmFzY2VudCgpKTsKKyAgICBG
bG9hdFBvaW50IHN0YXJ0UG9pbnQocG9pbnQueCgpLCBwb2ludC55KCkgLSBmb250RGF0YS0+Zm9u
dE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAgRmxvYXRQb2ludCB0clBvaW50ID0gbV9kYXRhLT5t
YXBQb2ludChzdGFydFBvaW50KTsKICAgICBpbnQgeSA9IHN0YWJsZVJvdW5kKHRyUG9pbnQueSgp
KTsKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9TaW1wbGVGb250RGF0
YVdpbkNFLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNl
L1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2ltcGxlRm9udERhdGFXaW5DRS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTUxLDExICs1MSwxNCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQo
KQogICAgIGNvbnN0IFRFWFRNRVRSSUMmIHRtID0gbV9wbGF0Zm9ybURhdGEubWV0cmljcygpOwog
ICAgIG1faXNTeXN0ZW1Gb250ID0gbV9wbGF0Zm9ybURhdGEuaXNTeXN0ZW1Gb250KCk7CiAKLSAg
ICBtX2FzY2VudCA9ICh0bS50bUFzY2VudCAqIG1fcGxhdGZvcm1EYXRhLnNpemUoKSArIDM2KSAv
IDcyOwotICAgIG1fZGVzY2VudCA9ICh0bS50bURlc2NlbnQgKiBtX3BsYXRmb3JtRGF0YS5zaXpl
KCkgKyAzNikgLyA3MjsKLSAgICBtX2xpbmVHYXAgPSAodG0udG1FeHRlcm5hbExlYWRpbmcgKiBt
X3BsYXRmb3JtRGF0YS5zaXplKCkgKyAzNikgLyA3MjsKLSAgICBtX2xpbmVTcGFjaW5nID0gbV9h
c2NlbnQgKyBtX2Rlc2NlbnQgKyBtX2xpbmVHYXA7Ci0gICAgbV94SGVpZ2h0ID0gbV9hc2NlbnQg
KiAwLjU2ZjsKKyAgICBmbG9hdCBhc2NlbnQgPSAodG0udG1Bc2NlbnQgKiBtX3BsYXRmb3JtRGF0
YS5zaXplKCkgKyAzNikgLyA3Mi4wZjsKKyAgICBmbG9hdCBkZXNjZW50ID0gKHRtLnRtRGVzY2Vu
dCAqIG1fcGxhdGZvcm1EYXRhLnNpemUoKSArIDM2KSAvIDcyLjBmOworICAgIGZsb2F0IGxpbmVH
YXAgPSAodG0udG1FeHRlcm5hbExlYWRpbmcgKiBtX3BsYXRmb3JtRGF0YS5zaXplKCkgKyAzNikg
LyA3Mi4wZjsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChhc2NlbnQpOworICAgIG1fZm9u
dE1ldHJpY3Muc2V0RGVzY2VudChkZXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVH
YXAobGluZUdhcCk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhhc2NlbnQgKyBk
ZXNjZW50ICsgbGluZUdhcCk7CisgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KGFzY2VudCAq
IDAuNTZmKTsKIH0KIAogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1EZXN0cm95KCkKSW5k
ZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvU2ltcGxlRm9udERhdGFXeC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93eC9TaW1wbGVGb250RGF0YVd4
LmNwcAkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L1Np
bXBsZUZvbnREYXRhV3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MywxMiArNTMsMTIgQEAgdm9p
ZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICB3eEZvbnQgKmZvbnQgPSBtX3Bs
YXRmb3JtRGF0YS5mb250KCk7CiAgICAgaWYgKGZvbnQgJiYgZm9udC0+SXNPaygpKSB7CiAgICAg
ICAgIHd4Rm9udFByb3BlcnRpZXMgcHJvcHMgPSB3eEZvbnRQcm9wZXJ0aWVzKGZvbnQpOwotICAg
ICAgICBtX2FzY2VudCA9IHByb3BzLkdldEFzY2VudCgpOwotICAgICAgICBtX2Rlc2NlbnQgPSBw
cm9wcy5HZXREZXNjZW50KCk7Ci0gICAgICAgIG1fbGluZVNwYWNpbmcgPSBwcm9wcy5HZXRMaW5l
U3BhY2luZygpOwotICAgICAgICBtX3hIZWlnaHQgPSBwcm9wcy5HZXRYSGVpZ2h0KCk7Ci0gICAg
ICAgIG1fdW5pdHNQZXJFbSA9IDE7IC8vIEZJWE1FIQotICAgICAgICBtX2xpbmVHYXAgPSBwcm9w
cy5HZXRMaW5lR2FwKCk7CisgICAgICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KHByb3BzLkdl
dEFzY2VudCgpKTsKKyAgICAgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KHByb3BzLkdldERl
c2NlbnQoKSk7CisgICAgICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcocHJvcHMuR2V0
TGluZVNwYWNpbmcoKSk7CisgICAgICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodChwcm9wcy5H
ZXRYSGVpZ2h0KCkpOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldFVuaXRzUGVyRW0oMSk7IC8v
IEZJWE1FIQorICAgICAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAocHJvcHMuR2V0TGluZUdh
cCgpKTsKICAgICB9CiAKICAgICBtX3N5bnRoZXRpY0JvbGRPZmZzZXQgPSAwLjBmOwpJbmRleDog
V2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdl
YkNvcmUvcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMw
NSw3ICszMDUsNyBAQCB2b2lkIFBvcHVwTWVudVdpbjo6Y2FsY3VsYXRlUG9zaXRpb25BbmRTCiAK
ICAgICAvLyBGaXJzdCwgZGV0ZXJtaW5lIHRoZSBwb3B1cCdzIGhlaWdodAogICAgIGludCBpdGVt
Q291bnQgPSBjbGllbnQoKS0+bGlzdFNpemUoKTsKLSAgICBtX2l0ZW1IZWlnaHQgPSBjbGllbnQo
KS0+bWVudVN0eWxlKCkuZm9udCgpLmhlaWdodCgpICsgb3B0aW9uU3BhY2luZ01pZGRsZTsKKyAg
ICBtX2l0ZW1IZWlnaHQgPSBjbGllbnQoKS0+bWVudVN0eWxlKCkuZm9udCgpLmZvbnRNZXRyaWNz
KCkuaGVpZ2h0KCkgKyBvcHRpb25TcGFjaW5nTWlkZGxlOwogICAgIGludCBuYXR1cmFsSGVpZ2h0
ID0gbV9pdGVtSGVpZ2h0ICogaXRlbUNvdW50OwogICAgIGludCBwb3B1cEhlaWdodCA9IG1pbiht
YXhQb3B1cEhlaWdodCwgbmF0dXJhbEhlaWdodCk7CiAgICAgLy8gVGhlIHBvcHVwIHNob3VsZCBz
aG93IGFuIGludGVncmFsIG51bWJlciBvZiBpdGVtcyAoaS5lLiBubyBwYXJ0aWFsIGl0ZW1zIHNo
b3VsZCBiZSB2aXNpYmxlKQpAQCAtNjQ4LDcgKzY0OCw3IEBAIHZvaWQgUG9wdXBNZW51V2luOjpw
YWludChjb25zdCBJbnRSZWN0JiAKICAgICAgICAgICAgIGludCB0ZXh0WCA9IG1heCgwLCBjbGll
bnQoKS0+Y2xpZW50UGFkZGluZ0xlZnQoKSAtIGNsaWVudCgpLT5jbGllbnRJbnNldExlZnQoKSk7
CiAgICAgICAgICAgICBpZiAoUmVuZGVyVGhlbWU6OmRlZmF1bHRUaGVtZSgpLT5wb3B1cE9wdGlv
blN1cHBvcnRzVGV4dEluZGVudCgpICYmIGl0ZW1TdHlsZS50ZXh0RGlyZWN0aW9uKCkgPT0gTFRS
KQogICAgICAgICAgICAgICAgIHRleHRYICs9IGl0ZW1TdHlsZS50ZXh0SW5kZW50KCkuY2FsY01p
blZhbHVlKGl0ZW1SZWN0LndpZHRoKCkpOwotICAgICAgICAgICAgaW50IHRleHRZID0gaXRlbVJl
Y3QueSgpICsgaXRlbUZvbnQuYXNjZW50KCkgKyAoaXRlbVJlY3QuaGVpZ2h0KCkgLSBpdGVtRm9u
dC5oZWlnaHQoKSkgLyAyOworICAgICAgICAgICAgaW50IHRleHRZID0gaXRlbVJlY3QueSgpICsg
aXRlbUZvbnQuZm9udE1ldHJpY3MoKS5hc2NlbnQoKSArIChpdGVtUmVjdC5oZWlnaHQoKSAtIGl0
ZW1Gb250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkpIC8gMjsKICAgICAgICAgICAgIGNvbnRleHQu
ZHJhd0JpZGlUZXh0KGl0ZW1Gb250LCB0ZXh0UnVuLCBJbnRQb2ludCh0ZXh0WCwgdGV4dFkpKTsK
ICAgICAgICAgfQogICAgIH0KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL0VsbGlwc2lzQm94LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9FbGxpcHNpc0JveC5jcHAJKHJldmlz
aW9uIDc0NjgzKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvRWxsaXBzaXNCb3guY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01MSw3ICs1MSw3IEBAIHZvaWQgRWxsaXBzaXNCb3g6OnBhaW50KFBhaW50SW5m
byYgcGFpbnQKICAgICB9CiAKICAgICBjb25zdCBTdHJpbmcmIHN0ciA9IG1fc3RyOwotICAgIGNv
bnRleHQtPmRyYXdUZXh0KHN0eWxlLT5mb250KCksIFRleHRSdW4oc3RyLmNoYXJhY3RlcnMoKSwg
c3RyLmxlbmd0aCgpLCBmYWxzZSwgMCwgMCwgZmFsc2UsIHN0eWxlLT52aXN1YWxseU9yZGVyZWQo
KSksIEludFBvaW50KG1feCArIHR4LCBtX3kgKyB0eSArIHN0eWxlLT5mb250KCkuYXNjZW50KCkp
KTsKKyAgICBjb250ZXh0LT5kcmF3VGV4dChzdHlsZS0+Zm9udCgpLCBUZXh0UnVuKHN0ci5jaGFy
YWN0ZXJzKCksIHN0ci5sZW5ndGgoKSwgZmFsc2UsIDAsIDAsIGZhbHNlLCBzdHlsZS0+dmlzdWFs
bHlPcmRlcmVkKCkpLCBJbnRQb2ludChtX3ggKyB0eCwgbV95ICsgdHkgKyBzdHlsZS0+Zm9udE1l
dHJpY3MoKS5hc2NlbnQoKSkpOwogCiAgICAgLy8gUmVzdG9yZSB0aGUgcmVndWxhciBmaWxsIGNv
bG9yLgogICAgIGlmICh0ZXh0Q29sb3IgIT0gY29udGV4dC0+ZmlsbENvbG9yKCkpCkBAIC02Myw3
ICs2Myw3IEBAIHZvaWQgRWxsaXBzaXNCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFpbnQKICAgICBp
ZiAobV9tYXJrdXBCb3gpIHsKICAgICAgICAgLy8gUGFpbnQgdGhlIG1hcmt1cCBib3gKICAgICAg
ICAgdHggKz0gbV94ICsgbV9sb2dpY2FsV2lkdGggLSBtX21hcmt1cEJveC0+eCgpOwotICAgICAg
ICB0eSArPSBtX3kgKyBzdHlsZS0+Zm9udCgpLmFzY2VudCgpIC0gKG1fbWFya3VwQm94LT55KCkg
KyBtX21hcmt1cEJveC0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCkuYXNj
ZW50KCkpOworICAgICAgICB0eSArPSBtX3kgKyBzdHlsZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQo
KSAtIChtX21hcmt1cEJveC0+eSgpICsgbV9tYXJrdXBCb3gtPnJlbmRlcmVyKCktPnN0eWxlKG1f
Zmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAgICAgIG1fbWFya3VwQm94
LT5wYWludChwYWludEluZm8sIHR4LCB0eSk7CiAgICAgfQogfQpAQCAtMTA2LDcgKzEwNiw3IEBA
IGJvb2wgRWxsaXBzaXNCb3g6Om5vZGVBdFBvaW50KGNvbnN0IEhpdFQKICAgICBpZiAobV9tYXJr
dXBCb3gpIHsKICAgICAgICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gbV9yZW5kZXJlci0+c3R5bGUo
bV9maXJzdExpbmUpOwogICAgICAgICBpbnQgbXR4ID0gdHggKyBtX2xvZ2ljYWxXaWR0aCAtIG1f
bWFya3VwQm94LT54KCk7Ci0gICAgICAgIGludCBtdHkgPSB0eSArIHN0eWxlLT5mb250KCkuYXNj
ZW50KCkgLSAobV9tYXJrdXBCb3gtPnkoKSArIG1fbWFya3VwQm94LT5yZW5kZXJlcigpLT5zdHls
ZShtX2ZpcnN0TGluZSktPmZvbnQoKS5hc2NlbnQoKSk7CisgICAgICAgIGludCBtdHkgPSB0eSAr
IHN0eWxlLT5mb250TWV0cmljcygpLmFzY2VudCgpIC0gKG1fbWFya3VwQm94LT55KCkgKyBtX21h
cmt1cEJveC0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250TWV0cmljcygpLmFz
Y2VudCgpKTsKICAgICAgICAgaWYgKG1fbWFya3VwQm94LT5ub2RlQXRQb2ludChyZXF1ZXN0LCBy
ZXN1bHQsIHgsIHksIG10eCwgbXR5KSkgewogICAgICAgICAgICAgcmVuZGVyZXIoKS0+dXBkYXRl
SGl0VGVzdFJlc3VsdChyZXN1bHQsIEludFBvaW50KHggLSBtdHgsIHkgLSBtdHkpKTsKICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lQm94LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guY3BwCShyZXZpc2lv
biA3NDY4MykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTkzLDE0ICs5MywxNCBAQCBpbnQgSW5saW5lQm94Ojpsb2dpY2FsSGVpZ2h0KCkgY29u
c3QKICNlbmRpZgogICAgIAogICAgIGlmIChyZW5kZXJlcigpLT5pc1RleHQoKSkKLSAgICAgICAg
cmV0dXJuIG1faXNUZXh0ID8gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCku
aGVpZ2h0KCkgOiAwOworICAgICAgICByZXR1cm4gbV9pc1RleHQgPyByZW5kZXJlcigpLT5zdHls
ZShtX2ZpcnN0TGluZSktPmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkgOiAwOwogICAgIGlmIChyZW5k
ZXJlcigpLT5pc0JveCgpICYmIHBhcmVudCgpKQogICAgICAgICByZXR1cm4gaXNIb3Jpem9udGFs
KCkgPyB0b1JlbmRlckJveChtX3JlbmRlcmVyKS0+aGVpZ2h0KCkgOiB0b1JlbmRlckJveChtX3Jl
bmRlcmVyKS0+d2lkdGgoKTsKIAogICAgIEFTU0VSVChpc0lubGluZUZsb3dCb3goKSk7CiAgICAg
UmVuZGVyQm94TW9kZWxPYmplY3QqIGZsb3dPYmplY3QgPSBib3hNb2RlbE9iamVjdCgpOwotICAg
IGNvbnN0IEZvbnQmIGZvbnQgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQo
KTsKLSAgICBpbnQgcmVzdWx0ID0gZm9udC5oZWlnaHQoKTsKKyAgICBjb25zdCBGb250TWV0cmlj
cyYgZm9udE1ldHJpY3MgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnRNZXRy
aWNzKCk7CisgICAgaW50IHJlc3VsdCA9IGZvbnRNZXRyaWNzLmhlaWdodCgpOwogICAgIGlmIChw
YXJlbnQoKSkKICAgICAgICAgcmVzdWx0ICs9IGZsb3dPYmplY3QtPmJvcmRlckFuZFBhZGRpbmdM
b2dpY2FsSGVpZ2h0KCk7CiAgICAgcmV0dXJuIHJlc3VsdDsKSW5kZXg6IFdlYkNvcmUvcmVuZGVy
aW5nL0lubGluZUZsb3dCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZUZsb3dCb3guY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZUZsb3dCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDgsNiArNDA4LDcgQEAgc3RhdGlj
IGludCB2ZXJ0aWNhbFBvc2l0aW9uRm9yQm94KElubGluZQogICAgICAgICAKICAgICAgICAgaWYg
KHZlcnRpY2FsQWxpZ24gIT0gQkFTRUxJTkUpIHsKICAgICAgICAgICAgIGNvbnN0IEZvbnQmIGZv
bnQgPSBwYXJlbnQtPnN0eWxlKGZpcnN0TGluZSktPmZvbnQoKTsKKyAgICAgICAgICAgIGNvbnN0
IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKICAgICAgICAg
ICAgIGludCBmb250U2l6ZSA9IGZvbnQucGl4ZWxTaXplKCk7CiAKICAgICAgICAgICAgIExpbmVE
aXJlY3Rpb25Nb2RlIGxpbmVEaXJlY3Rpb24gPSBwYXJlbnQtPnN0eWxlKCktPmlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkgPyBIb3Jpem9udGFsTGluZSA6IFZlcnRpY2FsTGluZTsKQEAgLTQxNywx
MSArNDE4LDExIEBAIHN0YXRpYyBpbnQgdmVydGljYWxQb3NpdGlvbkZvckJveChJbmxpbmUKICAg
ICAgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gU1VQRVIpCiAgICAgICAgICAgICAg
ICAgdmVydGljYWxQb3NpdGlvbiAtPSBmb250U2l6ZSAvIDMgKyAxOwogICAgICAgICAgICAgZWxz
ZSBpZiAodmVydGljYWxBbGlnbiA9PSBURVhUX1RPUCkKLSAgICAgICAgICAgICAgICB2ZXJ0aWNh
bFBvc2l0aW9uICs9IHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmly
c3RMaW5lLCBsaW5lRGlyZWN0aW9uKSAtIGZvbnQuYXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAg
ICAgICAgICAgICAgdmVydGljYWxQb3NpdGlvbiArPSByZW5kZXJlci0+YmFzZWxpbmVQb3NpdGlv
bihiYXNlbGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikgLSBmb250TWV0cmljcy5h
c2NlbnQoYmFzZWxpbmVUeXBlKTsKICAgICAgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24g
PT0gTUlERExFKQotICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gLXN0YXRpY19j
YXN0PGludD4oZm9udC54SGVpZ2h0KCkgLyAyKSAtIHJlbmRlcmVyLT5saW5lSGVpZ2h0KGZpcnN0
TGluZSwgbGluZURpcmVjdGlvbikgLyAyICsgcmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24oYmFz
ZWxpbmVUeXBlLCBmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pOworICAgICAgICAgICAgICAgIHZl
cnRpY2FsUG9zaXRpb24gKz0gLXN0YXRpY19jYXN0PGludD4oZm9udE1ldHJpY3MueEhlaWdodCgp
IC8gMikgLSByZW5kZXJlci0+bGluZUhlaWdodChmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC8g
MiArIHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBs
aW5lRGlyZWN0aW9uKTsKICAgICAgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gVEVY
VF9CT1RUT00pIHsKLSAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IGZvbnQuZGVz
Y2VudChiYXNlbGluZVR5cGUpOworICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0g
Zm9udE1ldHJpY3MuZGVzY2VudChiYXNlbGluZVR5cGUpOwogICAgICAgICAgICAgICAgIC8vIGxp
bmVIZWlnaHQgLSBiYXNlbGluZVBvc2l0aW9uIGlzIGFsd2F5cyAwIGZvciByZXBsYWNlZCBlbGVt
ZW50cyAoZXhjZXB0IGlubGluZSBibG9ja3MpLCBzbyBkb24ndCBib3RoZXIgd2FzdGluZyB0aW1l
IGluIHRoYXQgY2FzZS4KICAgICAgICAgICAgICAgICBpZiAoIXJlbmRlcmVyLT5pc1JlcGxhY2Vk
KCkgfHwgcmVuZGVyZXItPmlzSW5saW5lQmxvY2tPcklubGluZVRhYmxlKCkpCiAgICAgICAgICAg
ICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gLT0gKHJlbmRlcmVyLT5saW5lSGVpZ2h0KGZpcnN0
TGluZSwgbGluZURpcmVjdGlvbikgLSByZW5kZXJlci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGlu
ZVR5cGUsIGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikpOwpAQCAtNTAzLDkgKzUwNCwxMCBAQCB2
b2lkIElubGluZUZsb3dCb3g6OmNvbXB1dGVMb2dpY2FsQm94SGVpCiAgICAgICAgICAgICBiYXNl
bGluZSA9IDA7CiAgICAgICAgICAgICBpbnQgYmFzZWxpbmVUb0JvdHRvbSA9IDA7CiAgICAgICAg
ICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHVzZWRGb250cy0+c2l6ZSgpOyArK2kpIHsKLSAg
ICAgICAgICAgICAgICBpbnQgaGFsZkxlYWRpbmcgPSAodXNlZEZvbnRzLT5hdChpKS0+bGluZVNw
YWNpbmcoKSAtIHVzZWRGb250cy0+YXQoaSktPmhlaWdodCgpKSAvIDI7Ci0gICAgICAgICAgICAg
ICAgaW50IHVzZWRGb250QmFzZWxpbmUgPSBoYWxmTGVhZGluZyArIHVzZWRGb250cy0+YXQoaSkt
PmFzY2VudChiYXNlbGluZVR5cGUpOwotICAgICAgICAgICAgICAgIGludCB1c2VkRm9udEJhc2Vs
aW5lVG9Cb3R0b20gPSB1c2VkRm9udHMtPmF0KGkpLT5saW5lU3BhY2luZygpIC0gdXNlZEZvbnRC
YXNlbGluZTsKKyAgICAgICAgICAgICAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3Mg
PSB1c2VkRm9udHMtPmF0KGkpLT5mb250TWV0cmljcygpOworICAgICAgICAgICAgICAgIGludCBo
YWxmTGVhZGluZyA9IChmb250TWV0cmljcy5saW5lU3BhY2luZygpIC0gZm9udE1ldHJpY3MuaGVp
Z2h0KCkpIC8gMjsKKyAgICAgICAgICAgICAgICBpbnQgdXNlZEZvbnRCYXNlbGluZSA9IGhhbGZM
ZWFkaW5nICsgZm9udE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgICAgICAgICAg
ICAgaW50IHVzZWRGb250QmFzZWxpbmVUb0JvdHRvbSA9IGZvbnRNZXRyaWNzLmxpbmVTcGFjaW5n
KCkgLSB1c2VkRm9udEJhc2VsaW5lOwogICAgICAgICAgICAgICAgIGlmICghYmFzZWxpbmVTZXQp
IHsKICAgICAgICAgICAgICAgICAgICAgYmFzZWxpbmVTZXQgPSB0cnVlOwogICAgICAgICAgICAg
ICAgICAgICBiYXNlbGluZSA9IHVzZWRGb250QmFzZWxpbmU7CkBAIC01MTUsOSArNTE3LDkgQEAg
dm9pZCBJbmxpbmVGbG93Qm94Ojpjb21wdXRlTG9naWNhbEJveEhlaQogICAgICAgICAgICAgICAg
ICAgICBiYXNlbGluZVRvQm90dG9tID0gbWF4KGJhc2VsaW5lVG9Cb3R0b20sIHVzZWRGb250QmFz
ZWxpbmVUb0JvdHRvbSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGlmICgh
YWZmZWN0c0FzY2VudCkKLSAgICAgICAgICAgICAgICAgICAgYWZmZWN0c0FzY2VudCA9IHVzZWRG
b250cy0+YXQoaSktPmFzY2VudCgpIC0gY3Vyci0+bG9naWNhbFRvcCgpID4gMDsKKyAgICAgICAg
ICAgICAgICAgICAgYWZmZWN0c0FzY2VudCA9IGZvbnRNZXRyaWNzLmFzY2VudCgpIC0gY3Vyci0+
bG9naWNhbFRvcCgpID4gMDsKICAgICAgICAgICAgICAgICBpZiAoIWFmZmVjdHNEZXNjZW50KQot
ICAgICAgICAgICAgICAgICAgICBhZmZlY3RzRGVzY2VudCA9IHVzZWRGb250cy0+YXQoaSktPmRl
c2NlbnQoKSArIGN1cnItPmxvZ2ljYWxUb3AoKSA+IDA7CisgICAgICAgICAgICAgICAgICAgIGFm
ZmVjdHNEZXNjZW50ID0gZm9udE1ldHJpY3MuZGVzY2VudCgpICsgY3Vyci0+bG9naWNhbFRvcCgp
ID4gMDsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGxpbmVIZWlnaHQgPSBiYXNlbGluZSAr
IGJhc2VsaW5lVG9Cb3R0b207CiAgICAgICAgIH0gZWxzZSB7CkBAIC01MjcsMTEgKzUyOSwxMiBA
QCB2b2lkIElubGluZUZsb3dCb3g6OmNvbXB1dGVMb2dpY2FsQm94SGVpCiAgICAgICAgICAgICAg
ICAgLy8gRXhhbWluZSB0aGUgZm9udCBib3ggZm9yIGlubGluZSBmbG93cyBhbmQgdGV4dCBib3hl
cyB0byBzZWUgaWYgYW55IHBhcnQgb2YgaXQgaXMgYWJvdmUgdGhlIGJhc2VsaW5lLgogICAgICAg
ICAgICAgICAgIC8vIElmIHRoZSB0b3Agb2Ygb3VyIGZvbnQgYm94IHJlbGF0aXZlIHRvIHRoZSBy
b290IGJveCBiYXNlbGluZSBpcyBhYm92ZSB0aGUgcm9vdCBib3ggYmFzZWxpbmUsIHRoZW4KICAg
ICAgICAgICAgICAgICAvLyB3ZSBhcmUgY29udHJpYnV0aW5nIHRvIHRoZSBtYXhBc2NlbnQgdmFs
dWUuCi0gICAgICAgICAgICAgICAgYWZmZWN0c0FzY2VudCA9IGN1cnItPnJlbmRlcmVyKCktPnN0
eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpLmFzY2VudChiYXNlbGluZVR5cGUpIC0gY3Vyci0+bG9n
aWNhbFRvcCgpID4gMDsKKyAgICAgICAgICAgICAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1l
dHJpY3MgPSBjdXJyLT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnRNZXRyaWNz
KCk7CisgICAgICAgICAgICAgICAgYWZmZWN0c0FzY2VudCA9IGZvbnRNZXRyaWNzLmFzY2VudChi
YXNlbGluZVR5cGUpIC0gY3Vyci0+bG9naWNhbFRvcCgpID4gMDsKICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICAvLyBEZXNjZW50IGlzIHNpbWlsYXIuICBJZiBhbnkgcGFydCBvZiBv
dXIgZm9udCBib3ggaXMgYmVsb3cgdGhlIHJvb3QgYm94J3MgYmFzZWxpbmUsIHRoZW4KICAgICAg
ICAgICAgICAgICAvLyB3ZSBjb250cmlidXRlIHRvIHRoZSBtYXhEZXNjZW50IHZhbHVlLgotICAg
ICAgICAgICAgICAgIGFmZmVjdHNEZXNjZW50ID0gY3Vyci0+cmVuZGVyZXIoKS0+c3R5bGUobV9m
aXJzdExpbmUpLT5mb250KCkuZGVzY2VudChiYXNlbGluZVR5cGUpICsgY3Vyci0+bG9naWNhbFRv
cCgpID4gMDsKKyAgICAgICAgICAgICAgICBhZmZlY3RzRGVzY2VudCA9IGZvbnRNZXRyaWNzLmRl
c2NlbnQoYmFzZWxpbmVUeXBlKSArIGN1cnItPmxvZ2ljYWxUb3AoKSA+IDA7CiAgICAgICAgICAg
ICB9IGVsc2UgewogICAgICAgICAgICAgICAgIC8vIFJlcGxhY2VkIGVsZW1lbnRzIGFsd2F5cyBh
ZmZlY3QgYm90aCB0aGUgYXNjZW50IGFuZCBkZXNjZW50LgogICAgICAgICAgICAgICAgIGFmZmVj
dHNBc2NlbnQgPSB0cnVlOwpAQCAtNjA2LDggKzYwOSw4IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6
cGxhY2VCb3hlc0luQmxvY2tEaXIKICAgICAgICAgaW50IGJveEhlaWdodEluY2x1ZGluZ01hcmdp
bnMgPSBib3hIZWlnaHQ7CiAgICAgICAgICAgICAKICAgICAgICAgaWYgKGN1cnItPmlzVGV4dCgp
IHx8IGN1cnItPmlzSW5saW5lRmxvd0JveCgpKSB7Ci0gICAgICAgICAgICBjb25zdCBGb250JiBm
b250ID0gY3Vyci0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCk7Ci0gICAg
ICAgICAgICBuZXdMb2dpY2FsVG9wICs9IGN1cnItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVU
eXBlKSAtIGZvbnQuYXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgICAgICAgICBjb25zdCBGb250
TWV0cmljcyYgZm9udE1ldHJpY3MgPSBjdXJyLT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGlu
ZSktPmZvbnRNZXRyaWNzKCk7CisgICAgICAgICAgICBuZXdMb2dpY2FsVG9wICs9IGN1cnItPmJh
c2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlKSAtIGZvbnRNZXRyaWNzLmFzY2VudChiYXNlbGlu
ZVR5cGUpOwogICAgICAgICAgICAgaWYgKGN1cnItPmlzSW5saW5lRmxvd0JveCgpKSB7CiAgICAg
ICAgICAgICAgICAgUmVuZGVyQm94TW9kZWxPYmplY3QqIGJveE9iamVjdCA9IHRvUmVuZGVyQm94
TW9kZWxPYmplY3QoY3Vyci0+cmVuZGVyZXIoKSk7CiAgICAgICAgICAgICAgICAgbmV3TG9naWNh
bFRvcCAtPSBib3hPYmplY3QtPnN0eWxlKG1fZmlyc3RMaW5lKS0+aXNIb3Jpem9udGFsV3JpdGlu
Z01vZGUoKSA/IGJveE9iamVjdC0+Ym9yZGVyVG9wKCkgKyBib3hPYmplY3QtPnBhZGRpbmdUb3Ao
KSA6IApAQCAtNjY1LDggKzY2OCw4IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6cGxhY2VCb3hlc0lu
QmxvY2tEaXIKICAgICB9CiAKICAgICBpZiAoaXNSb290SW5saW5lQm94KCkpIHsKLSAgICAgICAg
Y29uc3QgRm9udCYgZm9udCA9IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgp
OwotICAgICAgICBzZXRMb2dpY2FsVG9wKGxvZ2ljYWxUb3AoKSArIGJhc2VsaW5lUG9zaXRpb24o
YmFzZWxpbmVUeXBlKSAtIGZvbnQuYXNjZW50KGJhc2VsaW5lVHlwZSkpOworICAgICAgICBjb25z
dCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGlu
ZSktPmZvbnRNZXRyaWNzKCk7CisgICAgICAgIHNldExvZ2ljYWxUb3AobG9naWNhbFRvcCgpICsg
YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUpIC0gZm9udE1ldHJpY3MuYXNjZW50KGJhc2Vs
aW5lVHlwZSkpOwogICAgICAgICAKICAgICAgICAgaWYgKGhhc1RleHRDaGlsZHJlbigpIHx8IHN0
cmljdE1vZGUpIHsKICAgICAgICAgICAgIGlmICghc2V0TGluZVRvcCkgewpJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5k
ZXJpbmcvSW5saW5lVGV4dEJveC5jcHAJKHJldmlzaW9uIDc0NjgzKQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvSW5saW5lVGV4dEJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1Nyw3ICs0NTcsNyBA
QCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFpCiAgICAgSW50UG9pbnQg
Ym94T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpOwogICAgIGJveE9yaWdpbi5t
b3ZlKHR4LCB0eSk7ICAgIAogICAgIEludFJlY3QgYm94UmVjdChib3hPcmlnaW4sIEludFNpemUo
bG9naWNhbFdpZHRoKCksIGxvZ2ljYWxIZWlnaHQoKSkpOwotICAgIEludFBvaW50IHRleHRPcmln
aW4gPSBJbnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgpICsgc3R5bGVUb1VzZS0+
Zm9udCgpLmFzY2VudCgpKTsKKyAgICBJbnRQb2ludCB0ZXh0T3JpZ2luID0gSW50UG9pbnQoYm94
T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSArIHN0eWxlVG9Vc2UtPmZvbnRNZXRyaWNzKCkuYXNj
ZW50KCkpOwogCiAgICAgaWYgKCFpc0hvcml6b250YWwoKSkgewogICAgICAgICBjb250ZXh0LT5z
YXZlKCk7CkBAIC01OTcsOSArNTk3LDkgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludChQYWlu
dEluZm8mIHBhaQogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZW1waGFzaXNNYXJrID0gc3R5bGVU
b1VzZS0+dGV4dEVtcGhhc2lzTWFya1N0cmluZygpOwogICAgIGlmICghZW1waGFzaXNNYXJrLmlz
RW1wdHkoKSkgewogICAgICAgICBpZiAoc3R5bGVUb1VzZS0+dGV4dEVtcGhhc2lzUG9zaXRpb24o
KSA9PSBUZXh0RW1waGFzaXNQb3NpdGlvbk92ZXIpCi0gICAgICAgICAgICBlbXBoYXNpc01hcmtP
ZmZzZXQgPSAtZm9udC5hc2NlbnQoKSAtIGZvbnQuZW1waGFzaXNNYXJrRGVzY2VudChlbXBoYXNp
c01hcmspOworICAgICAgICAgICAgZW1waGFzaXNNYXJrT2Zmc2V0ID0gLWZvbnQuZm9udE1ldHJp
Y3MoKS5hc2NlbnQoKSAtIGZvbnQuZW1waGFzaXNNYXJrRGVzY2VudChlbXBoYXNpc01hcmspOwog
ICAgICAgICBlbHNlCi0gICAgICAgICAgICBlbXBoYXNpc01hcmtPZmZzZXQgPSBmb250LmRlc2Nl
bnQoKSArIGZvbnQuZW1waGFzaXNNYXJrQXNjZW50KGVtcGhhc2lzTWFyayk7CisgICAgICAgICAg
ICBlbXBoYXNpc01hcmtPZmZzZXQgPSBmb250LmZvbnRNZXRyaWNzKCkuZGVzY2VudCgpICsgZm9u
dC5lbXBoYXNpc01hcmtBc2NlbnQoZW1waGFzaXNNYXJrKTsKICAgICB9CiAKICAgICBpZiAoIXBh
aW50U2VsZWN0ZWRUZXh0T25seSkgewpAQCAtODExLDcgKzgxMSw3IEBAIHZvaWQgSW5saW5lVGV4
dEJveDo6cGFpbnREZWNvcmF0aW9uKEdyYXAKICAgICBib29sIGxpbmVzQXJlT3BhcXVlID0gIWlz
UHJpbnRpbmcgJiYgKCEoZGVjbyAmIFVOREVSTElORSkgfHwgdW5kZXJsaW5lLmFscGhhKCkgPT0g
MjU1KSAmJiAoIShkZWNvICYgT1ZFUkxJTkUpIHx8IG92ZXJsaW5lLmFscGhhKCkgPT0gMjU1KSAm
JiAoIShkZWNvICYgTElORV9USFJPVUdIKSB8fCBsaW5ldGhyb3VnaC5hbHBoYSgpID09IDI1NSk7
CiAKICAgICBSZW5kZXJTdHlsZSogc3R5bGVUb1VzZSA9IHJlbmRlcmVyKCktPnN0eWxlKG1fZmly
c3RMaW5lKTsKLSAgICBpbnQgYmFzZWxpbmUgPSBzdHlsZVRvVXNlLT5mb250KCkuYXNjZW50KCk7
CisgICAgaW50IGJhc2VsaW5lID0gc3R5bGVUb1VzZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKTsK
IAogICAgIGJvb2wgc2V0Q2xpcCA9IGZhbHNlOwogICAgIGludCBleHRyYU9mZnNldCA9IDA7CkBA
IC05NDQsNyArOTQ0LDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxsaW5nT3JHcmFt
bQogICAgIC8vIFNvLCB3ZSBnZW5lcmFsbHkgcGxhY2UgdGhlIHVuZGVybGluZSBhdCB0aGUgYm90
dG9tIG9mIHRoZSB0ZXh0LCBidXQgaW4gbGFyZ2VyIGZvbnRzIHRoYXQncyBub3Qgc28gZ29vZCBz
bwogICAgIC8vIHdlIHBpbiB0byB0d28gcGl4ZWxzIHVuZGVyIHRoZSBiYXNlbGluZS4KICAgICBp
bnQgbGluZVRoaWNrbmVzcyA9IGNNaXNzcGVsbGluZ0xpbmVUaGlja25lc3M7Ci0gICAgaW50IGJh
c2VsaW5lID0gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCkuYXNjZW50KCk7
CisgICAgaW50IGJhc2VsaW5lID0gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250
TWV0cmljcygpLmFzY2VudCgpOwogICAgIGludCBkZXNjZW50ID0gbG9naWNhbEhlaWdodCgpIC0g
YmFzZWxpbmU7CiAgICAgaW50IHVuZGVybGluZU9mZnNldDsKICAgICBpZiAoZGVzY2VudCA8PSAo
MiArIGxpbmVUaGlja25lc3MpKSB7CkBAIC0xMTAxLDcgKzExMDEsNyBAQCB2b2lkIElubGluZVRl
eHRCb3g6OnBhaW50Q29tcG9zaXRpb25VbmRlCiAgICAgLy8gQWxsIG90aGVyIG1hcmtlZCB0ZXh0
IHVuZGVybGluZXMgYXJlIDFweCB0aGljay4KICAgICAvLyBJZiB0aGVyZSdzIG5vdCBlbm91Z2gg
c3BhY2UgdGhlIHVuZGVybGluZSB3aWxsIHRvdWNoIG9yIG92ZXJsYXAgY2hhcmFjdGVycy4KICAg
ICBpbnQgbGluZVRoaWNrbmVzcyA9IDE7Ci0gICAgaW50IGJhc2VsaW5lID0gcmVuZGVyZXIoKS0+
c3R5bGUobV9maXJzdExpbmUpLT5mb250KCkuYXNjZW50KCk7CisgICAgaW50IGJhc2VsaW5lID0g
cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250TWV0cmljcygpLmFzY2VudCgpOwog
ICAgIGlmICh1bmRlcmxpbmUudGhpY2sgJiYgbG9naWNhbEhlaWdodCgpIC0gYmFzZWxpbmUgPj0g
MikKICAgICAgICAgbGluZVRoaWNrbmVzcyA9IDI7CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5jcHAJKHJldmlzaW9uIDc0NjgzKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OTYwLDggKzQ5NjAsOCBAQCBpbnQgUmVuZGVyQmxv
Y2s6OmJhc2VsaW5lUG9zaXRpb24oRm9udEJhCiAgICAgICAgIHJldHVybiBSZW5kZXJCb3g6OmJh
c2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBmaXJzdExpbmUsIGRpcmVjdGlvbiwgbGluZVBv
c2l0aW9uTW9kZSk7CiAgICAgfQogCi0gICAgY29uc3QgRm9udCYgZiA9IHN0eWxlKGZpcnN0TGlu
ZSktPmZvbnQoKTsKLSAgICByZXR1cm4gZi5hc2NlbnQoYmFzZWxpbmVUeXBlKSArIChsaW5lSGVp
Z2h0KGZpcnN0TGluZSwgZGlyZWN0aW9uLCBsaW5lUG9zaXRpb25Nb2RlKSAtIGYuaGVpZ2h0KCkp
IC8gMjsKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBzdHlsZShmaXJzdExp
bmUpLT5mb250TWV0cmljcygpOworICAgIHJldHVybiBmb250TWV0cmljcy5hc2NlbnQoYmFzZWxp
bmVUeXBlKSArIChsaW5lSGVpZ2h0KGZpcnN0TGluZSwgZGlyZWN0aW9uLCBsaW5lUG9zaXRpb25N
b2RlKSAtIGZvbnRNZXRyaWNzLmhlaWdodCgpKSAvIDI7CiB9CiAKIGludCBSZW5kZXJCbG9jazo6
Zmlyc3RMaW5lQm94QmFzZWxpbmUoKSBjb25zdApAQCAtNDk3MSw3ICs0OTcxLDcgQEAgaW50IFJl
bmRlckJsb2NrOjpmaXJzdExpbmVCb3hCYXNlbGluZSgpIAogCiAgICAgaWYgKGNoaWxkcmVuSW5s
aW5lKCkpIHsKICAgICAgICAgaWYgKGZpcnN0TGluZUJveCgpKQotICAgICAgICAgICAgcmV0dXJu
IGZpcnN0TGluZUJveCgpLT5sb2dpY2FsVG9wKCkgKyBzdHlsZSh0cnVlKS0+Zm9udCgpLmFzY2Vu
dChmaXJzdFJvb3RCb3goKS0+YmFzZWxpbmVUeXBlKCkpOworICAgICAgICAgICAgcmV0dXJuIGZp
cnN0TGluZUJveCgpLT5sb2dpY2FsVG9wKCkgKyBzdHlsZSh0cnVlKS0+Zm9udE1ldHJpY3MoKS5h
c2NlbnQoZmlyc3RSb290Qm94KCktPmJhc2VsaW5lVHlwZSgpKTsKICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KQEAgLTQ5OTcsMTEgKzQ5OTcsMTMgQEAgaW50IFJl
bmRlckJsb2NrOjpsYXN0TGluZUJveEJhc2VsaW5lKCkgYwogCiAgICAgaWYgKGNoaWxkcmVuSW5s
aW5lKCkpIHsKICAgICAgICAgaWYgKCFmaXJzdExpbmVCb3goKSAmJiBoYXNMaW5lSWZFbXB0eSgp
KSB7Ci0gICAgICAgICAgICBjb25zdCBGb250JiBmID0gZmlyc3RMaW5lU3R5bGUoKS0+Zm9udCgp
OwotICAgICAgICAgICAgcmV0dXJuIGYuYXNjZW50KCkgKyAobGluZUhlaWdodCh0cnVlLCBsaW5l
RGlyZWN0aW9uLCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpIC0gZi5oZWlnaHQoKSkgLyAy
ICsgKGxpbmVEaXJlY3Rpb24gPT0gSG9yaXpvbnRhbExpbmUgPyBib3JkZXJUb3AoKSArIHBhZGRp
bmdUb3AoKSA6IGJvcmRlclJpZ2h0KCkgKyBwYWRkaW5nUmlnaHQoKSk7CisgICAgICAgICAgICBj
b25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBmaXJzdExpbmVTdHlsZSgpLT5mb250TWV0
cmljcygpOworICAgICAgICAgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmFzY2VudCgpCisgICAgICAg
ICAgICAgICAgICsgKGxpbmVIZWlnaHQodHJ1ZSwgbGluZURpcmVjdGlvbiwgUG9zaXRpb25PZklu
dGVyaW9yTGluZUJveGVzKSAtIGZvbnRNZXRyaWNzLmhlaWdodCgpKSAvIDIKKyAgICAgICAgICAg
ICAgICAgKyAobGluZURpcmVjdGlvbiA9PSBIb3Jpem9udGFsTGluZSA/IGJvcmRlclRvcCgpICsg
cGFkZGluZ1RvcCgpIDogYm9yZGVyUmlnaHQoKSArIHBhZGRpbmdSaWdodCgpKTsKICAgICAgICAg
fQogICAgICAgICBpZiAobGFzdExpbmVCb3goKSkKLSAgICAgICAgICAgIHJldHVybiBsYXN0TGlu
ZUJveCgpLT5sb2dpY2FsVG9wKCkgKyBzdHlsZShsYXN0TGluZUJveCgpID09IGZpcnN0TGluZUJv
eCgpKS0+Zm9udCgpLmFzY2VudChsYXN0Um9vdEJveCgpLT5iYXNlbGluZVR5cGUoKSk7CisgICAg
ICAgICAgICByZXR1cm4gbGFzdExpbmVCb3goKS0+bG9naWNhbFRvcCgpICsgc3R5bGUobGFzdExp
bmVCb3goKSA9PSBmaXJzdExpbmVCb3goKSktPmZvbnRNZXRyaWNzKCkuYXNjZW50KGxhc3RSb290
Qm94KCktPmJhc2VsaW5lVHlwZSgpKTsKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0gZWxzZSB7
CiAgICAgICAgIGJvb2wgaGF2ZU5vcm1hbEZsb3dDaGlsZCA9IGZhbHNlOwpAQCAtNTAxNCw4ICs1
MDE2LDEwIEBAIGludCBSZW5kZXJCbG9jazo6bGFzdExpbmVCb3hCYXNlbGluZSgpIGMKICAgICAg
ICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBpZiAoIWhhdmVOb3JtYWxGbG93Q2hpbGQgJiYg
aGFzTGluZUlmRW1wdHkoKSkgewotICAgICAgICAgICAgY29uc3QgRm9udCYgZiA9IGZpcnN0TGlu
ZVN0eWxlKCktPmZvbnQoKTsKLSAgICAgICAgICAgIHJldHVybiBmLmFzY2VudCgpICsgKGxpbmVI
ZWlnaHQodHJ1ZSwgbGluZURpcmVjdGlvbiwgUG9zaXRpb25PZkludGVyaW9yTGluZUJveGVzKSAt
IGYuaGVpZ2h0KCkpIC8gMiArIChsaW5lRGlyZWN0aW9uID09IEhvcml6b250YWxMaW5lID8gYm9y
ZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkgOiBib3JkZXJSaWdodCgpICsgcGFkZGluZ1JpZ2h0KCkp
OworICAgICAgICAgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZmlyc3RMaW5l
U3R5bGUoKS0+Zm9udE1ldHJpY3MoKTsKKyAgICAgICAgICAgIHJldHVybiBmb250TWV0cmljcy5h
c2NlbnQoKQorICAgICAgICAgICAgICAgICArIChsaW5lSGVpZ2h0KHRydWUsIGxpbmVEaXJlY3Rp
b24sIFBvc2l0aW9uT2ZJbnRlcmlvckxpbmVCb3hlcykgLSBmb250TWV0cmljcy5oZWlnaHQoKSkg
LyAyCisgICAgICAgICAgICAgICAgICsgKGxpbmVEaXJlY3Rpb24gPT0gSG9yaXpvbnRhbExpbmUg
PyBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKSA6IGJvcmRlclJpZ2h0KCkgKyBwYWRkaW5nUmln
aHQoKSk7CiAgICAgICAgIH0KICAgICB9CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAko
cmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOTY0LDcgKzI5NjQsNyBAQCBJbnRSZWN0IFJlbmRlckJveDo6bG9jYWxD
YXJldFJlY3QoSW5saW5lCiAgICAgLy8gPHJkYXI6Ly9wcm9ibGVtLzM3Nzc4MDQ+IERlbGV0aW5n
IGFsbCBjb250ZW50IGluIGEgZG9jdW1lbnQgY2FuIHJlc3VsdCBpbiBnaWFudCB0YWxsLWFzLXdp
bmRvdyBpbnNlcnRpb24gcG9pbnQKICAgICAvLwogICAgIC8vIEZJWE1FOiBpZ25vcmluZyA6Zmly
c3QtbGluZSwgbWlzc2luZyBnb29kIHJlYXNvbiB0byB0YWtlIGNhcmUgb2YKLSAgICBpbnQgZm9u
dEhlaWdodCA9IHN0eWxlKCktPmZvbnQoKS5oZWlnaHQoKTsKKyAgICBpbnQgZm9udEhlaWdodCA9
IHN0eWxlKCktPmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCk7CiAgICAgaWYgKGZvbnRIZWlnaHQgPiBy
ZWN0LmhlaWdodCgpIHx8ICghaXNSZXBsYWNlZCgpICYmICFpc1RhYmxlKCkpKQogICAgICAgICBy
ZWN0LnNldEhlaWdodChmb250SGVpZ2h0KTsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRW1iZWRkZWRPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckVtYmVkZGVkT2JqZWN0LmNwcAkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3MCw4ICsx
NzAsOSBAQCB2b2lkIFJlbmRlckVtYmVkZGVkT2JqZWN0OjpwYWludFJlcGxhY2VkCiAgICAgY29u
dGV4dC0+c2V0RmlsbENvbG9yKG1fbWlzc2luZ1BsdWdpbkluZGljYXRvcklzUHJlc3NlZCA/IHJl
cGxhY2VtZW50VGV4dFJvdW5kZWRSZWN0UHJlc3NlZENvbG9yKCkgOiBDb2xvcjo6d2hpdGUsIHN0
eWxlKCktPmNvbG9yU3BhY2UoKSk7CiAgICAgY29udGV4dC0+ZmlsbFBhdGgocGF0aCk7CiAKKyAg
ICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBmb250LmZvbnRNZXRyaWNzKCk7CiAg
ICAgZmxvYXQgbGFiZWxYID0gcm91bmRmKHJlcGxhY2VtZW50VGV4dFJlY3QubG9jYXRpb24oKS54
KCkgKyAocmVwbGFjZW1lbnRUZXh0UmVjdC5zaXplKCkud2lkdGgoKSAtIHRleHRXaWR0aCkgLyAy
KTsKLSAgICBmbG9hdCBsYWJlbFkgPSByb3VuZGYocmVwbGFjZW1lbnRUZXh0UmVjdC5sb2NhdGlv
bigpLnkoKSArIChyZXBsYWNlbWVudFRleHRSZWN0LnNpemUoKS5oZWlnaHQoKSAtIGZvbnQuaGVp
Z2h0KCkpIC8gMiArIGZvbnQuYXNjZW50KCkpOworICAgIGZsb2F0IGxhYmVsWSA9IHJvdW5kZihy
ZXBsYWNlbWVudFRleHRSZWN0LmxvY2F0aW9uKCkueSgpICsgKHJlcGxhY2VtZW50VGV4dFJlY3Qu
c2l6ZSgpLmhlaWdodCgpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpIC8gMiArIGZvbnRNZXRyaWNz
LmFzY2VudCgpKTsKICAgICBjb250ZXh0LT5zZXRBbHBoYShtX21pc3NpbmdQbHVnaW5JbmRpY2F0
b3JJc1ByZXNzZWQgPyByZXBsYWNlbWVudFRleHRQcmVzc2VkVGV4dE9wYWNpdHkgOiByZXBsYWNl
bWVudFRleHRUZXh0T3BhY2l0eSk7CiAgICAgY29udGV4dC0+c2V0RmlsbENvbG9yKENvbG9yOjpi
bGFjaywgc3R5bGUoKS0+Y29sb3JTcGFjZSgpKTsKICAgICBjb250ZXh0LT5kcmF3QmlkaVRleHQo
Zm9udCwgcnVuLCBGbG9hdFBvaW50KGxhYmVsWCwgbGFiZWxZKSk7CkluZGV4OiBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW1hZ2UuY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTExLDcgKzExMSw3IEBAIGJvb2wgUmVu
ZGVySW1hZ2U6OnNldEltYWdlU2l6ZUZvckFsdFRleHQKICAgICAvLyB3ZSBoYXZlIGFuIGFsdCBh
bmQgdGhlIHVzZXIgbWVhbnQgaXQgKGl0cyBub3QgYSB0ZXh0IHdlIGludmVudGVkKQogICAgIGlm
ICghbV9hbHRUZXh0LmlzRW1wdHkoKSkgewogICAgICAgICBjb25zdCBGb250JiBmb250ID0gc3R5
bGUoKS0+Zm9udCgpOwotICAgICAgICBJbnRTaXplIHRleHRTaXplKG1pbihmb250LndpZHRoKFRl
eHRSdW4obV9hbHRUZXh0LmNoYXJhY3RlcnMoKSwgbV9hbHRUZXh0Lmxlbmd0aCgpKSksIG1heEFs
dFRleHRXaWR0aCksIG1pbihmb250LmhlaWdodCgpLCBtYXhBbHRUZXh0SGVpZ2h0KSk7CisgICAg
ICAgIEludFNpemUgdGV4dFNpemUobWluKGZvbnQud2lkdGgoVGV4dFJ1bihtX2FsdFRleHQuY2hh
cmFjdGVycygpLCBtX2FsdFRleHQubGVuZ3RoKCkpKSwgbWF4QWx0VGV4dFdpZHRoKSwgbWluKGZv
bnQuZm9udE1ldHJpY3MoKS5oZWlnaHQoKSwgbWF4QWx0VGV4dEhlaWdodCkpOwogICAgICAgICBp
bWFnZVNpemUgPSBpbWFnZVNpemUuZXhwYW5kZWRUbyh0ZXh0U2l6ZSk7CiAgICAgfQogCkBAIC0y
ODgsMTcgKzI4OCwxOCBAQCB2b2lkIFJlbmRlckltYWdlOjpwYWludFJlcGxhY2VkKFBhaW50SW5m
CiAgICAgICAgICAgICAgICAgaW50IGF4ID0gdHggKyBsZWZ0Qm9yZGVyICsgbGVmdFBhZDsKICAg
ICAgICAgICAgICAgICBpbnQgYXkgPSB0eSArIHRvcEJvcmRlciArIHRvcFBhZDsKICAgICAgICAg
ICAgICAgICBjb25zdCBGb250JiBmb250ID0gc3R5bGUoKS0+Zm9udCgpOwotICAgICAgICAgICAg
ICAgIGludCBhc2NlbnQgPSBmb250LmFzY2VudCgpOworICAgICAgICAgICAgICAgIGNvbnN0IEZv
bnRNZXRyaWNzJiBmb250TWV0cmljcyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKKyAgICAgICAgICAg
ICAgICBpbnQgYXNjZW50ID0gZm9udE1ldHJpY3MuYXNjZW50KCk7CiAKICAgICAgICAgICAgICAg
ICAvLyBPbmx5IGRyYXcgdGhlIGFsdCB0ZXh0IGlmIGl0J2xsIGZpdCB3aXRoaW4gdGhlIGNvbnRl
bnQgYm94LAogICAgICAgICAgICAgICAgIC8vIGFuZCBvbmx5IGlmIGl0IGZpdHMgYWJvdmUgdGhl
IGVycm9yIGltYWdlLgogICAgICAgICAgICAgICAgIFRleHRSdW4gdGV4dFJ1bih0ZXh0LmNoYXJh
Y3RlcnMoKSwgdGV4dC5sZW5ndGgoKSk7CiAgICAgICAgICAgICAgICAgaW50IHRleHRXaWR0aCA9
IGZvbnQud2lkdGgodGV4dFJ1bik7CiAgICAgICAgICAgICAgICAgaWYgKGVycm9yUGljdHVyZURy
YXduKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICh1c2FibGVXaWR0aCA+PSB0ZXh0V2lkdGgg
JiYgZm9udC5oZWlnaHQoKSA8PSBpbWFnZVkpCi0gICAgICAgICAgICAgICAgICAgICAgICBjb250
ZXh0LT5kcmF3VGV4dChzdHlsZSgpLT5mb250KCksIHRleHRSdW4sIEludFBvaW50KGF4LCBheSAr
IGFzY2VudCkpOwotICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodXNhYmxlV2lkdGggPj0gdGV4
dFdpZHRoICYmIGNIZWlnaHQgPj0gZm9udC5oZWlnaHQoKSkKLSAgICAgICAgICAgICAgICAgICAg
Y29udGV4dC0+ZHJhd1RleHQoc3R5bGUoKS0+Zm9udCgpLCB0ZXh0UnVuLCBJbnRQb2ludChheCwg
YXkgKyBhc2NlbnQpKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHVzYWJsZVdpZHRoID49IHRl
eHRXaWR0aCAmJiBmb250TWV0cmljcy5oZWlnaHQoKSA8PSBpbWFnZVkpCisgICAgICAgICAgICAg
ICAgICAgICAgICBjb250ZXh0LT5kcmF3VGV4dChmb250LCB0ZXh0UnVuLCBJbnRQb2ludChheCwg
YXkgKyBhc2NlbnQpKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHVzYWJsZVdpZHRoID49
IHRleHRXaWR0aCAmJiBjSGVpZ2h0ID49IGZvbnRNZXRyaWNzLmhlaWdodCgpKQorICAgICAgICAg
ICAgICAgICAgICBjb250ZXh0LT5kcmF3VGV4dChmb250LCB0ZXh0UnVuLCBJbnRQb2ludChheCwg
YXkgKyBhc2NlbnQpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAo
bV9pbWFnZVJlc291cmNlLT5oYXNJbWFnZSgpICYmIGNXaWR0aCA+IDAgJiYgY0hlaWdodCA+IDAp
IHsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcAkocmV2aXNpb24gNzQ2ODMpCisr
KyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbmxpbmUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05
MDQsOCArOTA0LDggQEAgaW50IFJlbmRlcklubGluZTo6bGluZUhlaWdodChib29sIGZpcnN0TAog
CiBpbnQgUmVuZGVySW5saW5lOjpiYXNlbGluZVBvc2l0aW9uKEZvbnRCYXNlbGluZSBiYXNlbGlu
ZVR5cGUsIGJvb2wgZmlyc3RMaW5lLCBMaW5lRGlyZWN0aW9uTW9kZSBkaXJlY3Rpb24sIExpbmVQ
b3NpdGlvbk1vZGUgbGluZVBvc2l0aW9uTW9kZSkgY29uc3QKIHsKLSAgICBjb25zdCBGb250JiBm
ID0gc3R5bGUoZmlyc3RMaW5lKS0+Zm9udCgpOwotICAgIHJldHVybiBmLmFzY2VudChiYXNlbGlu
ZVR5cGUpICsgKGxpbmVIZWlnaHQoZmlyc3RMaW5lLCBkaXJlY3Rpb24sIGxpbmVQb3NpdGlvbk1v
ZGUpIC0gZi5oZWlnaHQoKSkgLyAyOworICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmlj
cyA9IHN0eWxlKGZpcnN0TGluZSktPmZvbnRNZXRyaWNzKCk7CisgICAgcmV0dXJuIGZvbnRNZXRy
aWNzLmFzY2VudChiYXNlbGluZVR5cGUpICsgKGxpbmVIZWlnaHQoZmlyc3RMaW5lLCBkaXJlY3Rp
b24sIGxpbmVQb3NpdGlvbk1vZGUpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpIC8gMjsKIH0KIAog
SW50U2l6ZSBSZW5kZXJJbmxpbmU6OnJlbGF0aXZlUG9zaXRpb25lZElubGluZU9mZnNldChjb25z
dCBSZW5kZXJCb3gqIGNoaWxkKSBjb25zdApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGlzdEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJv
eC5jcHAJKHJldmlzaW9uIDc0NjgzKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJv
eC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwNiw3ICszMDYsNyBAQCB2b2lkIFJlbmRlckxpc3RC
b3g6OnBhaW50SXRlbUZvcmVncm91bmQoCiAKICAgICAvLyBEZXRlcm1pbmUgd2hlcmUgdGhlIGl0
ZW0gdGV4dCBzaG91bGQgYmUgcGxhY2VkCiAgICAgSW50UmVjdCByID0gaXRlbUJvdW5kaW5nQm94
UmVjdCh0eCwgdHksIGxpc3RJbmRleCk7Ci0gICAgci5tb3ZlKG9wdGlvbnNTcGFjaW5nSG9yaXpv
bnRhbCwgc3R5bGUoKS0+Zm9udCgpLmFzY2VudCgpKTsKKyAgICByLm1vdmUob3B0aW9uc1NwYWNp
bmdIb3Jpem9udGFsLCBzdHlsZSgpLT5mb250TWV0cmljcygpLmFzY2VudCgpKTsKIAogICAgIFJl
bmRlclN0eWxlKiBpdGVtU3R5bGUgPSBlbGVtZW50LT5yZW5kZXJTdHlsZSgpOwogICAgIGlmICgh
aXRlbVN0eWxlKQpAQCAtNTUxLDcgKzU1MSw3IEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6dmFsdWVD
aGFuZ2VkKFNjcm9sbGIKIAogaW50IFJlbmRlckxpc3RCb3g6Oml0ZW1IZWlnaHQoKSBjb25zdAog
ewotICAgIHJldHVybiBzdHlsZSgpLT5mb250KCkuaGVpZ2h0KCkgKyByb3dTcGFjaW5nOworICAg
IHJldHVybiBzdHlsZSgpLT5mb250TWV0cmljcygpLmhlaWdodCgpICsgcm93U3BhY2luZzsKIH0K
IAogaW50IFJlbmRlckxpc3RCb3g6OnZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgoKSBjb25zdApJbmRl
eDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAJKHJldmlzaW9uIDc0NjgzKQor
KysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdE1hcmtlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEyNjQsNyArMTI2NCw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6cGFpbnQoUGFpbnRJ
bmZvJiAKICAgICAgICAgY29udGV4dC0+dHJhbnNsYXRlKC1tYXJrZXIueCgpLCAtbWFya2VyLmJv
dHRvbSgpKTsKICAgICB9CiAKLSAgICBJbnRQb2ludCB0ZXh0T3JpZ2luID0gSW50UG9pbnQobWFy
a2VyLngoKSwgbWFya2VyLnkoKSArIHN0eWxlKCktPmZvbnQoKS5hc2NlbnQoKSk7CisgICAgSW50
UG9pbnQgdGV4dE9yaWdpbiA9IEludFBvaW50KG1hcmtlci54KCksIG1hcmtlci55KCkgKyBzdHls
ZSgpLT5mb250TWV0cmljcygpLmFzY2VudCgpKTsKIAogICAgIGlmICh0eXBlID09IEFzdGVyaXNr
cyB8fCB0eXBlID09IEZvb3Rub3RlcykKICAgICAgICAgY29udGV4dC0+ZHJhd1RleHQoc3R5bGUo
KS0+Zm9udCgpLCB0ZXh0UnVuLCB0ZXh0T3JpZ2luKTsKQEAgLTEzMTAsNyArMTMxMCw3IEBAIHZv
aWQgUmVuZGVyTGlzdE1hcmtlcjo6bGF5b3V0KCkKICAgICAgICAgc2V0SGVpZ2h0KG1faW1hZ2Ut
PmltYWdlU2l6ZSh0aGlzLCBzdHlsZSgpLT5lZmZlY3RpdmVab29tKCkpLmhlaWdodCgpKTsKICAg
ICB9IGVsc2UgewogICAgICAgICBzZXRMb2dpY2FsV2lkdGgobWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoKCkpOwotICAgICAgICBzZXRMb2dpY2FsSGVpZ2h0KHN0eWxlKCktPmZvbnQoKS5oZWlnaHQo
KSk7CisgICAgICAgIHNldExvZ2ljYWxIZWlnaHQoc3R5bGUoKS0+Zm9udE1ldHJpY3MoKS5oZWln
aHQoKSk7CiAgICAgfQogCiAgICAgc2V0TWFyZ2luU3RhcnQoMCk7CkBAIC0xMzQ1LDExICsxMzQ1
LDEyIEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6Y29tcHV0ZVByZWZlcnJlZEwKICAgICBtX3Rl
eHQgPSAiIjsKIAogICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHlsZSgpLT5mb250KCk7CisgICAg
Y29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZm9udC5mb250TWV0cmljcygpOwogCiAg
ICAgaWYgKGlzSW1hZ2UoKSkgewogICAgICAgICAvLyBGSVhNRTogVGhpcyBpcyBhIHNvbWV3aGF0
IGFyYml0cmFyeSB3aWR0aC4gIEdlbmVyYXRlZCBpbWFnZXMgZm9yIG1hcmtlcnMgcmVhbGx5IHdv
bid0IGJlY29tZSBwYXJ0aWN1bGFybHkgdXNlZnVsCiAgICAgICAgIC8vIHVudGlsIHdlIHN1cHBv
cnQgdGhlIENTUzMgbWFya2VyIHBzZXVkb2NsYXNzIHRvIGFsbG93IGNvbnRyb2wgb3ZlciB0aGUg
d2lkdGggYW5kIGhlaWdodCBvZiB0aGUgbWFya2VyIGJveC4KLSAgICAgICAgaW50IGJ1bGxldFdp
ZHRoID0gZm9udC5hc2NlbnQoKSAvIDI7CisgICAgICAgIGludCBidWxsZXRXaWR0aCA9IGZvbnRN
ZXRyaWNzLmFzY2VudCgpIC8gMjsKICAgICAgICAgbV9pbWFnZS0+c2V0SW1hZ2VDb250YWluZXJT
aXplKEludFNpemUoYnVsbGV0V2lkdGgsIGJ1bGxldFdpZHRoKSk7CiAgICAgICAgIEludFNpemUg
aW1hZ2VTaXplID0gbV9pbWFnZS0+aW1hZ2VTaXplKHRoaXMsIHN0eWxlKCktPmVmZmVjdGl2ZVpv
b20oKSk7CiAgICAgICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbV9tYXhQcmVmZXJy
ZWRMb2dpY2FsV2lkdGggPSBzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gaW1h
Z2VTaXplLndpZHRoKCkgOiBpbWFnZVNpemUuaGVpZ2h0KCk7CkBAIC0xMzcyLDcgKzEzNzMsNyBA
QCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OmNvbXB1dGVQcmVmZXJyZWRMCiAgICAgICAgIGNhc2Ug
RGlzYzoKICAgICAgICAgY2FzZSBTcXVhcmU6CiAgICAgICAgICAgICBtX3RleHQgPSBsaXN0TWFy
a2VyVGV4dCh0eXBlLCAwKTsgLy8gdmFsdWUgaXMgaWdub3JlZCBmb3IgdGhlc2UgdHlwZXMKLSAg
ICAgICAgICAgIGxvZ2ljYWxXaWR0aCA9IChmb250LmFzY2VudCgpICogMiAvIDMgKyAxKSAvIDIg
KyAyOworICAgICAgICAgICAgbG9naWNhbFdpZHRoID0gKGZvbnRNZXRyaWNzLmFzY2VudCgpICog
MiAvIDMgKyAxKSAvIDIgKyAyOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQWZh
cjoKICAgICAgICAgY2FzZSBBbWhhcmljOgpAQCAtMTQ3MSw3ICsxNDcyLDcgQEAgdm9pZCBSZW5k
ZXJMaXN0TWFya2VyOjpjb21wdXRlUHJlZmVycmVkTAogCiB2b2lkIFJlbmRlckxpc3RNYXJrZXI6
OnVwZGF0ZU1hcmdpbnMoKQogewotICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHlsZSgpLT5mb250
KCk7CisgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gc3R5bGUoKS0+Zm9udE1l
dHJpY3MoKTsKIAogICAgIGludCBtYXJnaW5TdGFydCA9IDA7CiAgICAgaW50IG1hcmdpbkVuZCA9
IDA7CkBAIC0xNDg0LDcgKzE0ODUsNyBAQCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZU1h
cmdpbnMoKQogICAgICAgICAgICAgY2FzZSBDaXJjbGU6CiAgICAgICAgICAgICBjYXNlIFNxdWFy
ZToKICAgICAgICAgICAgICAgICBtYXJnaW5TdGFydCA9IC0xOwotICAgICAgICAgICAgICAgIG1h
cmdpbkVuZCA9IGZvbnQuYXNjZW50KCkgLSBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSArIDE7
CisgICAgICAgICAgICAgICAgbWFyZ2luRW5kID0gZm9udE1ldHJpY3MuYXNjZW50KCkgLSBtaW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGgoKSArIDE7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTQ5NCw3ICsxNDk1
LDcgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVNYXJnaW5zKCkKICAgICAgICAgICAg
IGlmIChpc0ltYWdlKCkpCiAgICAgICAgICAgICAgICAgbWFyZ2luU3RhcnQgPSAtbWluUHJlZmVy
cmVkTG9naWNhbFdpZHRoKCkgLSBjTWFya2VyUGFkZGluZzsKICAgICAgICAgICAgIGVsc2Ugewot
ICAgICAgICAgICAgICAgIGludCBvZmZzZXQgPSBmb250LmFzY2VudCgpICogMiAvIDM7CisgICAg
ICAgICAgICAgICAgaW50IG9mZnNldCA9IGZvbnRNZXRyaWNzLmFzY2VudCgpICogMiAvIDM7CiAg
ICAgICAgICAgICAgICAgc3dpdGNoIChzdHlsZSgpLT5saXN0U3R5bGVUeXBlKCkpIHsKICAgICAg
ICAgICAgICAgICAgICAgY2FzZSBEaXNjOgogICAgICAgICAgICAgICAgICAgICBjYXNlIENpcmNs
ZToKQEAgLTE1MTIsNyArMTUxMyw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6dXBkYXRlTWFy
Z2lucygpCiAgICAgICAgICAgICBpZiAoaXNJbWFnZSgpKQogICAgICAgICAgICAgICAgIG1hcmdp
bkVuZCA9IGNNYXJrZXJQYWRkaW5nOwogICAgICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAg
ICAgaW50IG9mZnNldCA9IGZvbnQuYXNjZW50KCkgKiAyIC8gMzsKKyAgICAgICAgICAgICAgICBp
bnQgb2Zmc2V0ID0gZm9udE1ldHJpY3MuYXNjZW50KCkgKiAyIC8gMzsKICAgICAgICAgICAgICAg
ICBzd2l0Y2ggKHN0eWxlKCktPmxpc3RTdHlsZVR5cGUoKSkgewogICAgICAgICAgICAgICAgICAg
ICBjYXNlIERpc2M6CiAgICAgICAgICAgICAgICAgICAgIGNhc2UgQ2lyY2xlOgpAQCAtMTU4Mywx
NSArMTU4NCwxNSBAQCBJbnRSZWN0IFJlbmRlckxpc3RNYXJrZXI6OmdldFJlbGF0aXZlTWFyCiAg
ICAgICAgIGNhc2UgQXN0ZXJpc2tzOgogICAgICAgICBjYXNlIEZvb3Rub3RlczogewogICAgICAg
ICAgICAgY29uc3QgRm9udCYgZm9udCA9IHN0eWxlKCktPmZvbnQoKTsKLSAgICAgICAgICAgIHJl
bGF0aXZlUmVjdCA9IEludFJlY3QoMCwgMCwgZm9udC53aWR0aChtX3RleHQpLCBmb250LmhlaWdo
dCgpKTsKKyAgICAgICAgICAgIHJlbGF0aXZlUmVjdCA9IEludFJlY3QoMCwgMCwgZm9udC53aWR0
aChtX3RleHQpLCBmb250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkpOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBEaXNjOgogICAgICAgICBjYXNlIENpcmNsZToK
ICAgICAgICAgY2FzZSBTcXVhcmU6IHsKICAgICAgICAgICAgIC8vIEZJWE1FOiBBcmUgdGhlc2Ug
cGFydGljdWxhciByb3VuZGluZyBydWxlcyBuZWNlc3Nhcnk/Ci0gICAgICAgICAgICBjb25zdCBG
b250JiBmb250ID0gc3R5bGUoKS0+Zm9udCgpOwotICAgICAgICAgICAgaW50IGFzY2VudCA9IGZv
bnQuYXNjZW50KCk7CisgICAgICAgICAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3Mg
PSBzdHlsZSgpLT5mb250TWV0cmljcygpOworICAgICAgICAgICAgaW50IGFzY2VudCA9IGZvbnRN
ZXRyaWNzLmFzY2VudCgpOwogICAgICAgICAgICAgaW50IGJ1bGxldFdpZHRoID0gKGFzY2VudCAq
IDIgLyAzICsgMSkgLyAyOwogICAgICAgICAgICAgcmVsYXRpdmVSZWN0ID0gSW50UmVjdCgxLCAz
ICogKGFzY2VudCAtIGFzY2VudCAqIDIgLyAzKSAvIDIsIGJ1bGxldFdpZHRoLCBidWxsZXRXaWR0
aCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTE2NzksNyArMTY4MCw3IEBAIEludFJlY3QgUmVu
ZGVyTGlzdE1hcmtlcjo6Z2V0UmVsYXRpdmVNYXIKICAgICAgICAgICAgIGludCBpdGVtV2lkdGgg
PSBmb250LndpZHRoKG1fdGV4dCk7CiAgICAgICAgICAgICBVQ2hhciBzdWZmaXhTcGFjZVsyXSA9
IHsgbGlzdE1hcmtlclN1ZmZpeCh0eXBlLCBtX2xpc3RJdGVtLT52YWx1ZSgpKSwgJyAnIH07CiAg
ICAgICAgICAgICBpbnQgc3VmZml4U3BhY2VXaWR0aCA9IGZvbnQud2lkdGgoVGV4dFJ1bihzdWZm
aXhTcGFjZSwgMikpOwotICAgICAgICAgICAgcmVsYXRpdmVSZWN0ID0gSW50UmVjdCgwLCAwLCBp
dGVtV2lkdGggKyBzdWZmaXhTcGFjZVdpZHRoLCBmb250LmhlaWdodCgpKTsKKyAgICAgICAgICAg
IHJlbGF0aXZlUmVjdCA9IEludFJlY3QoMCwgMCwgaXRlbVdpZHRoICsgc3VmZml4U3BhY2VXaWR0
aCwgZm9udC5mb250TWV0cmljcygpLmhlaWdodCgpKTsKICAgICB9CiAKICAgICBpZiAoIXN0eWxl
KCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpIHsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHRDb250cm9sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbC5jcHAJKHJldmlzaW9uIDc0NjgzKQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MDcsNyArNjA3LDcg
QEAgdm9pZCBSZW5kZXJUZXh0Q29udHJvbDo6cGFpbnRQbGFjZWhvbGRlcgogICAgIFJlbmRlckJv
eCogdGV4dFJlbmRlcmVyID0gaW5uZXJUZXh0RWxlbWVudCgpID8gaW5uZXJUZXh0RWxlbWVudCgp
LT5yZW5kZXJCb3goKSA6IDA7CiAgICAgaWYgKHRleHRSZW5kZXJlcikgewogICAgICAgICBJbnRQ
b2ludCB0ZXh0UG9pbnQ7Ci0gICAgICAgIHRleHRQb2ludC5zZXRZKHR5ICsgdGV4dEJsb2NrSW5z
ZXRUb3AoKSArIHBsYWNlaG9sZGVyU3R5bGUtPmZvbnQoKS5hc2NlbnQoKSk7CisgICAgICAgIHRl
eHRQb2ludC5zZXRZKHR5ICsgdGV4dEJsb2NrSW5zZXRUb3AoKSArIHBsYWNlaG9sZGVyU3R5bGUt
PmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwogICAgICAgICBpZiAocGxhY2Vob2xkZXJTdHlsZS0+
aXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQogICAgICAgICAgICAgdGV4dFBvaW50LnNldFgodHgg
KyB0ZXh0QmxvY2tJbnNldExlZnQoKSk7CiAgICAgICAgIGVsc2UKSW5kZXg6IFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcAkocmV2aXNpb24g
NzQ2ODMpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MjMsNyArNzIzLDcgQEAgUGFzc1JlZlB0cjxSZW5kZXJT
dHlsZT4gUmVuZGVyVGV4dENvbnRybwogICAgIHRleHRCbG9ja1N0eWxlLT5zZXRPdmVyZmxvd1ko
T0hJRERFTik7CiAKICAgICAvLyBEbyBub3QgYWxsb3cgbGluZS1oZWlnaHQgdG8gYmUgc21hbGxl
ciB0aGFuIG91ciBkZWZhdWx0LgotICAgIGlmICh0ZXh0QmxvY2tTdHlsZS0+Zm9udCgpLmxpbmVT
cGFjaW5nKCkgPiBsaW5lSGVpZ2h0KHRydWUsIEhvcml6b250YWxMaW5lLCBQb3NpdGlvbk9mSW50
ZXJpb3JMaW5lQm94ZXMpKQorICAgIGlmICh0ZXh0QmxvY2tTdHlsZS0+Zm9udE1ldHJpY3MoKS5s
aW5lU3BhY2luZygpID4gbGluZUhlaWdodCh0cnVlLCBIb3Jpem9udGFsTGluZSwgUG9zaXRpb25P
ZkludGVyaW9yTGluZUJveGVzKSkKICAgICAgICAgdGV4dEJsb2NrU3R5bGUtPnNldExpbmVIZWln
aHQoTGVuZ3RoKC0xMDAuMGYsIFBlcmNlbnQpKTsKIAogICAgIFdlYkNvcmU6OkVEaXNwbGF5IGRp
c3BsYXkgPSAobV9pbm5lckJsb2NrIHx8IGlucHV0RWxlbWVudCgpLT5oYXNTcGluQnV0dG9uKCkg
PyBJTkxJTkVfQkxPQ0sgOiBCTE9DSyk7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVX
aW4uY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
V2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzY5LDcgKzc2OSw3IEBAIHZvaWQgUmVuZGVyVGhl
bWVXaW46OmFkanVzdE1lbnVMaXN0QnV0dG8KICAgICBzdHlsZS0+c2V0SGVpZ2h0KExlbmd0aChB
dXRvKSk7CiAKICAgICAvLyBDYWxjdWxhdGUgb3VyIG1pbi1oZWlnaHQKLSAgICBpbnQgbWluSGVp
Z2h0ID0gc3R5bGUtPmZvbnQoKS5oZWlnaHQoKTsKKyAgICBpbnQgbWluSGVpZ2h0ID0gc3R5bGUt
PmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCk7CiAgICAgbWluSGVpZ2h0ID0gbWF4KG1pbkhlaWdodCwg
ZHJvcERvd25Cb3hNaW5IZWlnaHQpOwogCiAgICAgc3R5bGUtPnNldE1pbkhlaWdodChMZW5ndGgo
bWluSGVpZ2h0LCBGaXhlZCkpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2Nyw2ICs0NjcsNyBAQCBwdWJsaWM6CiAgICAgRVRh
YmxlTGF5b3V0IHRhYmxlTGF5b3V0KCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RVRhYmxl
TGF5b3V0Pihub25pbmhlcml0ZWRfZmxhZ3MuX3RhYmxlX2xheW91dCk7IH0KIAogICAgIGNvbnN0
IEZvbnQmIGZvbnQoKSBjb25zdCB7IHJldHVybiBpbmhlcml0ZWQtPmZvbnQ7IH0KKyAgICBjb25z
dCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MoKSBjb25zdCB7IHJldHVybiBpbmhlcml0ZWQtPmZv
bnQuZm9udE1ldHJpY3MoKTsgfQogICAgIGNvbnN0IEZvbnREZXNjcmlwdGlvbiYgZm9udERlc2Ny
aXB0aW9uKCkgY29uc3QgeyByZXR1cm4gaW5oZXJpdGVkLT5mb250LmZvbnREZXNjcmlwdGlvbigp
OyB9CiAgICAgaW50IGZvbnRTaXplKCkgY29uc3QgeyByZXR1cm4gaW5oZXJpdGVkLT5mb250LnBp
eGVsU2l6ZSgpOyB9CiAKQEAgLTQ5MSw3ICs0OTIsNyBAQCBwdWJsaWM6CiAKICAgICAgICAgLy8g
TmVnYXRpdmUgdmFsdWUgbWVhbnMgdGhlIGxpbmUgaGVpZ2h0IGlzIG5vdCBzZXQuICBVc2UgdGhl
IGZvbnQncyBidWlsdC1pbiBzcGFjaW5nLgogICAgICAgICBpZiAobGguaXNOZWdhdGl2ZSgpKQot
ICAgICAgICAgICAgcmV0dXJuIGZvbnQoKS5saW5lU3BhY2luZygpOworICAgICAgICAgICAgcmV0
dXJuIGZvbnRNZXRyaWNzKCkubGluZVNwYWNpbmcoKTsKIAogICAgICAgICBpZiAobGguaXNQZXJj
ZW50KCkpCiAgICAgICAgICAgICByZXR1cm4gbGguY2FsY01pblZhbHVlKGZvbnRTaXplKCkpOwpJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR0lubGluZVRleHQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNwcAko
cmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHSW5saW5l
VGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0Niw3ICsxNDYsNyBAQCBWaXNpYmxlUG9zaXRp
b24gUmVuZGVyU1ZHSW5saW5lVGV4dDo6cG9zCiAKICAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSB0
aGlzLT5zdHlsZSgpOwogICAgIEFTU0VSVChzdHlsZSk7Ci0gICAgaW50IGJhc2VsaW5lID0gc3R5
bGUtPmZvbnQoKS5hc2NlbnQoKTsKKyAgICBpbnQgYmFzZWxpbmUgPSBzdHlsZS0+Zm9udE1ldHJp
Y3MoKS5hc2NlbnQoKTsKIAogICAgIFJlbmRlckJsb2NrKiBjb250YWluaW5nQmxvY2sgPSB0aGlz
LT5jb250YWluaW5nQmxvY2soKTsKICAgICBBU1NFUlQoY29udGFpbmluZ0Jsb2NrKTsKSW5kZXg6
IFdlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAJKHJldmlzaW9uIDc0
NjgzKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC04NCw3ICs4NCw3IEBAIEZsb2F0UmVjdCBTVkdJbmxpbmVUZXh0Qm94Ojpz
ZWxlY3Rpb25SZWMKICAgICBBU1NFUlQoc3RhcnRQb3NpdGlvbiA8IGVuZFBvc2l0aW9uKTsKIAog
ICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHlsZS0+Zm9udCgpOwotICAgIEZsb2F0UG9pbnQgdGV4
dE9yaWdpbihmcmFnbWVudC54LCBmcmFnbWVudC55IC0gZm9udC5hc2NlbnQoKSk7CisgICAgRmxv
YXRQb2ludCB0ZXh0T3JpZ2luKGZyYWdtZW50LngsIGZyYWdtZW50LnkgLSBmb250LmZvbnRNZXRy
aWNzKCkuYXNjZW50KCkpOwogICAgIHJldHVybiBmb250LnNlbGVjdGlvblJlY3RGb3JUZXh0KGNv
bnN0cnVjdFRleHRSdW4oc3R5bGUsIGZyYWdtZW50KSwgdGV4dE9yaWdpbiwgZnJhZ21lbnQuaGVp
Z2h0LCBzdGFydFBvc2l0aW9uLCBlbmRQb3NpdGlvbik7CiB9CiAKQEAgLTQwOSwxNiArNDA5LDE2
IEBAIGJvb2wgU1ZHSW5saW5lVGV4dEJveDo6bWFwU3RhcnRFbmRQb3NpdGkKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotc3RhdGljIGlubGluZSBmbG9hdCBwb3NpdGlvbk9mZnNldEZvckRlY29yYXRp
b24oRVRleHREZWNvcmF0aW9uIGRlY29yYXRpb24sIGNvbnN0IEZvbnQmIGZvbnQsIGZsb2F0IHRo
aWNrbmVzcykKK3N0YXRpYyBpbmxpbmUgZmxvYXQgcG9zaXRpb25PZmZzZXRGb3JEZWNvcmF0aW9u
KEVUZXh0RGVjb3JhdGlvbiBkZWNvcmF0aW9uLCBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJp
Y3MsIGZsb2F0IHRoaWNrbmVzcykKIHsKICAgICAvLyBGSVhNRTogRm9yIFNWRyBGb250cyB3ZSBu
ZWVkIHRvIHVzZSB0aGUgYXR0cmlidXRlcyBkZWZpbmVkIGluIHRoZSA8Zm9udC1mYWNlPiBpZiBz
cGVjaWZpZWQuCiAgICAgLy8gQ29tcGF0aWJsZSB3aXRoIEJhdGlrL09wZXJhLgogICAgIGlmIChk
ZWNvcmF0aW9uID09IFVOREVSTElORSkKLSAgICAgICAgcmV0dXJuIGZvbnQuYXNjZW50KCkgKyB0
aGlja25lc3MgKiAxLjVmOworICAgICAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KCkgKyB0
aGlja25lc3MgKiAxLjVmOwogICAgIGlmIChkZWNvcmF0aW9uID09IE9WRVJMSU5FKQogICAgICAg
ICByZXR1cm4gdGhpY2tuZXNzOwogICAgIGlmIChkZWNvcmF0aW9uID09IExJTkVfVEhST1VHSCkK
LSAgICAgICAgcmV0dXJuIGZvbnQuYXNjZW50KCkgKiA1LjBmIC8gOC4wZjsKKyAgICAgICAgcmV0
dXJuIGZvbnRNZXRyaWNzLmFzY2VudCgpICogNS4wZiAvIDguMGY7CiAKICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKICAgICByZXR1cm4gMC4wZjsKQEAgLTQ4Nyw2ICs0ODcsNyBAQCB2b2lkIFNW
R0lubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbldpCiAgICAgQVNTRVJUKGRlY29yYXRpb25T
dHlsZSk7CiAKICAgICBjb25zdCBGb250JiBmb250ID0gZGVjb3JhdGlvblN0eWxlLT5mb250KCk7
CisgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gZm9udC5mb250TWV0cmljcygp
OwogCiAgICAgLy8gVGhlIGluaXRpYWwgeSB2YWx1ZSByZWZlcnMgdG8gb3ZlcmxpbmUgcG9zaXRp
b24uCiAgICAgZmxvYXQgdGhpY2tuZXNzID0gdGhpY2tuZXNzRm9yRGVjb3JhdGlvbihkZWNvcmF0
aW9uLCBmb250KTsKQEAgLTQ5NCw3ICs0OTUsNyBAQCB2b2lkIFNWR0lubGluZVRleHRCb3g6OnBh
aW50RGVjb3JhdGlvbldpCiAgICAgaWYgKGZyYWdtZW50LndpZHRoIDw9IDAgJiYgdGhpY2tuZXNz
IDw9IDApCiAgICAgICAgIHJldHVybjsKIAotICAgIGZsb2F0IHkgPSBmcmFnbWVudC55IC0gZm9u
dC5hc2NlbnQoKSArIHBvc2l0aW9uT2Zmc2V0Rm9yRGVjb3JhdGlvbihkZWNvcmF0aW9uLCBmb250
LCB0aGlja25lc3MpOworICAgIGZsb2F0IHkgPSBmcmFnbWVudC55IC0gZm9udE1ldHJpY3MuYXNj
ZW50KCkgKyBwb3NpdGlvbk9mZnNldEZvckRlY29yYXRpb24oZGVjb3JhdGlvbiwgZm9udE1ldHJp
Y3MsIHRoaWNrbmVzcyk7CiAKICAgICBQYXRoIHBhdGg7CiAgICAgcGF0aC5hZGRSZWN0KEZsb2F0
UmVjdChmcmFnbWVudC54LCB5LCBmcmFnbWVudC53aWR0aCwgdGhpY2tuZXNzKSk7CkBAIC01MTMs
NyArNTE0LDcgQEAgdm9pZCBTVkdJbmxpbmVUZXh0Qm94OjpwYWludFRleHRXaXRoU2hhZAogICAg
IGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvdyA9IHN0eWxlLT50ZXh0U2hhZG93KCk7CiAKICAgICBG
bG9hdFBvaW50IHRleHRPcmlnaW4oZnJhZ21lbnQueCwgZnJhZ21lbnQueSk7Ci0gICAgRmxvYXRS
ZWN0IHNoYWRvd1JlY3QoRmxvYXRQb2ludCh0ZXh0T3JpZ2luLngoKSwgdGV4dE9yaWdpbi55KCkg
LSBmb250LmFzY2VudCgpKSwgRmxvYXRTaXplKGZyYWdtZW50LndpZHRoLCBmcmFnbWVudC5oZWln
aHQpKTsKKyAgICBGbG9hdFJlY3Qgc2hhZG93UmVjdChGbG9hdFBvaW50KHRleHRPcmlnaW4ueCgp
LCB0ZXh0T3JpZ2luLnkoKSAtIGZvbnQuZm9udE1ldHJpY3MoKS5hc2NlbnQoKSksIEZsb2F0U2l6
ZShmcmFnbWVudC53aWR0aCwgZnJhZ21lbnQuaGVpZ2h0KSk7CiAKICAgICBkbyB7CiAgICAgICAg
IGlmICghcHJlcGFyZUdyYXBoaWNzQ29udGV4dEZvclRleHRQYWludGluZyhjb250ZXh0LCB0ZXh0
UnVuLCBzdHlsZSkpCkBAIC01ODcsNyArNTg4LDcgQEAgSW50UmVjdCBTVkdJbmxpbmVUZXh0Qm94
OjpjYWxjdWxhdGVCb3VuZAogICAgIEFTU0VSVChzdHlsZSk7CiAKICAgICBpbnQgYmFzZWxpbmUg
PSBiYXNlbGluZVBvc2l0aW9uKEFscGhhYmV0aWNCYXNlbGluZSk7Ci0gICAgaW50IGhlaWdodERp
ZmZlcmVuY2UgPSBiYXNlbGluZSAtIHN0eWxlLT5mb250KCkuYXNjZW50KCk7CisgICAgaW50IGhl
aWdodERpZmZlcmVuY2UgPSBiYXNlbGluZSAtIHN0eWxlLT5mb250TWV0cmljcygpLmFzY2VudCgp
OwogCiAgICAgdW5zaWduZWQgdGV4dEZyYWdtZW50c1NpemUgPSBtX3RleHRGcmFnbWVudHMuc2l6
ZSgpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB0ZXh0RnJhZ21lbnRzU2l6ZTsgKytp
KSB7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2Vs
aW5lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91
dEVuZ2luZUJhc2VsaW5lLmNwcAkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDksOSArNDksOSBAQCBmbG9hdCBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmU6OmNhbGN1CiAg
ICAgY2FzZSBCU19CQVNFTElORToKICAgICAgICAgcmV0dXJuIDA7CiAgICAgY2FzZSBCU19TVUI6
Ci0gICAgICAgIHJldHVybiAtbV9mb250LmhlaWdodCgpIC8gMjsKKyAgICAgICAgcmV0dXJuIC1t
X2ZvbnQuZm9udE1ldHJpY3MoKS5oZWlnaHQoKSAvIDI7CiAgICAgY2FzZSBCU19TVVBFUjoKLSAg
ICAgICAgcmV0dXJuIG1fZm9udC5oZWlnaHQoKSAvIDI7CisgICAgICAgIHJldHVybiBtX2ZvbnQu
Zm9udE1ldHJpY3MoKS5oZWlnaHQoKSAvIDI7CiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiAwOwpAQCAtMTIyLDI3ICsxMjIsMjkgQEAg
ZmxvYXQgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lOjpjYWxjdQogICAgICAgICBBU1NFUlQo
YmFzZWxpbmUgIT0gQUJfQVVUTyk7CiAgICAgfQogCisgICAgY29uc3QgRm9udE1ldHJpY3MmIGZv
bnRNZXRyaWNzID0gbV9mb250LmZvbnRNZXRyaWNzKCk7CisKICAgICAvLyBOb3RlOiBodHRwOi8v
d2lraS5hcGFjaGUub3JnL3htbGdyYXBoaWNzLWZvcC9MaW5lTGF5b3V0L0FsaWdubWVudEhhbmRs
aW5nCiAgICAgc3dpdGNoIChiYXNlbGluZSkgewogICAgIGNhc2UgQUJfQkFTRUxJTkU6CiAgICAg
ICAgIHJldHVybiBkb21pbmFudEJhc2VsaW5lVG9BbGlnbm1lbnRCYXNlbGluZShpc1ZlcnRpY2Fs
VGV4dCwgdGV4dFJlbmRlcmVyUGFyZW50KTsKICAgICBjYXNlIEFCX0JFRk9SRV9FREdFOgogICAg
IGNhc2UgQUJfVEVYVF9CRUZPUkVfRURHRToKLSAgICAgICAgcmV0dXJuIG1fZm9udC5hc2NlbnQo
KTsKKyAgICAgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmFzY2VudCgpOwogICAgIGNhc2UgQUJfTUlE
RExFOgotICAgICAgICByZXR1cm4gbV9mb250LnhIZWlnaHQoKSAvIDI7CisgICAgICAgIHJldHVy
biBmb250TWV0cmljcy54SGVpZ2h0KCkgLyAyOwogICAgIGNhc2UgQUJfQ0VOVFJBTDoKLSAgICAg
ICAgcmV0dXJuIChtX2ZvbnQuYXNjZW50KCkgLSBtX2ZvbnQuZGVzY2VudCgpKSAvIDI7CisgICAg
ICAgIHJldHVybiAoZm9udE1ldHJpY3MuYXNjZW50KCkgLSBmb250TWV0cmljcy5kZXNjZW50KCkp
IC8gMjsKICAgICBjYXNlIEFCX0FGVEVSX0VER0U6CiAgICAgY2FzZSBBQl9URVhUX0FGVEVSX0VE
R0U6CiAgICAgY2FzZSBBQl9JREVPR1JBUEhJQzoKLSAgICAgICAgcmV0dXJuIG1fZm9udC5kZXNj
ZW50KCk7CisgICAgICAgIHJldHVybiBmb250TWV0cmljcy5kZXNjZW50KCk7CiAgICAgY2FzZSBB
Ql9BTFBIQUJFVElDOgogICAgICAgICByZXR1cm4gMDsKICAgICBjYXNlIEFCX0hBTkdJTkc6Ci0g
ICAgICAgIHJldHVybiBtX2ZvbnQuYXNjZW50KCkgKiA4IC8gMTAuZjsKKyAgICAgICAgcmV0dXJu
IGZvbnRNZXRyaWNzLmFzY2VudCgpICogOCAvIDEwLmY7CiAgICAgY2FzZSBBQl9NQVRIRU1BVElD
QUw6Ci0gICAgICAgIHJldHVybiBtX2ZvbnQuYXNjZW50KCkgLyAyOworICAgICAgICByZXR1cm4g
Zm9udE1ldHJpY3MuYXNjZW50KCkgLyAyOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gMDsKQEAgLTE5MywxMiArMTk1LDE0IEBAIGZs
b2F0IFNWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZTo6Y2FsY3UKICAgICAvLyBTcGVjOiBJZiBp
ZiB0aGUgJ2dseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsJyByZXN1bHRzIGluIGFuIG9yaWVudGF0
aW9uIGFuZ2xlIHRoYXQgaXMgbm90IGEgbXVsdGlwbGUgb2YKICAgICAvLyAxODAgZGVncmVlcywg
dGhlbiB0aGUgY3VycmVudCB0ZXh0IHBvc2l0aW9uIGlzIGluY3JlbWVudGVkIGFjY29yZGluZyB0
byB0aGUgaG9yaXpvbnRhbCBtZXRyaWNzIG9mIHRoZSBnbHlwaC4KIAorICAgIGNvbnN0IEZvbnRN
ZXRyaWNzJiBmb250TWV0cmljcyA9IG1fZm9udC5mb250TWV0cmljcygpOworCiAgICAgLy8gVmVy
dGljYWwgb3JpZW50YXRpb24gaGFuZGxpbmcuCiAgICAgaWYgKGlzVmVydGljYWxUZXh0KSB7Ci0g
ICAgICAgIGZsb2F0IGFzY2VudE1pbnVzRGVzY2VudCA9IG1fZm9udC5hc2NlbnQoKSAtIG1fZm9u
dC5kZXNjZW50KCk7CisgICAgICAgIGZsb2F0IGFzY2VudE1pbnVzRGVzY2VudCA9IGZvbnRNZXRy
aWNzLmFzY2VudCgpIC0gZm9udE1ldHJpY3MuZGVzY2VudCgpOwogICAgICAgICBpZiAoIWFuZ2xl
KSB7CiAgICAgICAgICAgICB4T3JpZW50YXRpb25TaGlmdCA9IChhc2NlbnRNaW51c0Rlc2NlbnQg
LSBtZXRyaWNzLndpZHRoKCkpIC8gMjsKLSAgICAgICAgICAgIHlPcmllbnRhdGlvblNoaWZ0ID0g
bV9mb250LmFzY2VudCgpOworICAgICAgICAgICAgeU9yaWVudGF0aW9uU2hpZnQgPSBmb250TWV0
cmljcy5hc2NlbnQoKTsKICAgICAgICAgfSBlbHNlIGlmIChhbmdsZSA9PSAxODApCiAgICAgICAg
ICAgICB4T3JpZW50YXRpb25TaGlmdCA9IChhc2NlbnRNaW51c0Rlc2NlbnQgKyBtZXRyaWNzLndp
ZHRoKCkpIC8gMjsKICAgICAgICAgZWxzZSBpZiAoYW5nbGUgPT0gMjcwKSB7CkBAIC0yMTgsNyAr
MjIyLDcgQEAgZmxvYXQgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lOjpjYWxjdQogICAgICAg
ICB5T3JpZW50YXRpb25TaGlmdCA9IC1tZXRyaWNzLndpZHRoKCk7CiAgICAgZWxzZSBpZiAoYW5n
bGUgPT0gMTgwKSB7CiAgICAgICAgIHhPcmllbnRhdGlvblNoaWZ0ID0gbWV0cmljcy53aWR0aCgp
OwotICAgICAgICB5T3JpZW50YXRpb25TaGlmdCA9IC1tX2ZvbnQuYXNjZW50KCk7CisgICAgICAg
IHlPcmllbnRhdGlvblNoaWZ0ID0gLWZvbnRNZXRyaWNzLmFzY2VudCgpOwogICAgIH0gZWxzZSBp
ZiAoYW5nbGUgPT0gMjcwKQogICAgICAgICB4T3JpZW50YXRpb25TaGlmdCA9IG1ldHJpY3Mud2lk
dGgoKTsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVT
cGFjaW5nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExh
eW91dEVuZ2luZVNwYWNpbmcuY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU4LDcgKzU4LDcgQEAgZmxvYXQgU1ZHVGV4dExheW91dEVuZ2luZVNwYWNpbmc6OmNhbGN1bAog
CiAgICAgbV9sYXN0R2x5cGggPSBjdXJyZW50R2x5cGg7CiAgICAgbV9sYXN0R2x5cGguaXNWYWxp
ZCA9IHRydWU7Ci0gICAga2VybmluZyAqPSBtX2ZvbnQuc2l6ZSgpIC8gbV9mb250LnByaW1hcnlG
b250KCktPnVuaXRzUGVyRW0oKTsKKyAgICBrZXJuaW5nICo9IG1fZm9udC5zaXplKCkgLyBtX2Zv
bnQuZm9udE1ldHJpY3MoKS51bml0c1BlckVtKCk7CiAgICAgcmV0dXJuIGtlcm5pbmc7CiAjZWxz
ZQogICAgIFVOVVNFRF9QQVJBTShpc1ZlcnRpY2FsVGV4dCk7CkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dE1ldHJpY3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9TVkdUZXh0TWV0cmljcy5jcHAJKHJldmlzaW9uIDc0NjgzKQorKysgV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRNZXRyaWNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNyAr
NDIsNyBAQCBTVkdUZXh0TWV0cmljczo6U1ZHVGV4dE1ldHJpY3MoY29uc3QgRm9uCiAgICAgaW50
IGxlbmd0aCA9IDA7CiAKICAgICBtX3dpZHRoID0gZm9udC5mbG9hdFdpZHRoKHJ1biwgZXh0cmFD
aGFyc0F2YWlsYWJsZSwgbGVuZ3RoLCBtX2dseXBoLm5hbWUpOwotICAgIG1faGVpZ2h0ID0gZm9u
dC5oZWlnaHQoKTsKKyAgICBtX2hlaWdodCA9IGZvbnQuZm9udE1ldHJpY3MoKS5oZWlnaHQoKTsK
ICAgICBtX2dseXBoLnVuaWNvZGVTdHJpbmcgPSBTdHJpbmcocnVuLmNoYXJhY3RlcnMoKSwgbGVu
Z3RoKTsKICAgICBtX2dseXBoLmlzVmFsaWQgPSB0cnVlOwogCkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dFF1ZXJ5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHVGV4dFF1ZXJ5LmNwcAkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dFF1ZXJ5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcyLDcgKzQ3Miw3
IEBAIHN0cnVjdCBFeHRlbnRPZkNoYXJhY3RlckRhdGEgOiBTVkdUZXh0UXUKIAogc3RhdGljIGlu
bGluZSB2b2lkIGNhbGN1bGF0ZUdseXBoQm91bmRhcmllcyhTVkdUZXh0UXVlcnk6OkRhdGEqIHF1
ZXJ5RGF0YSwgY29uc3QgU1ZHVGV4dEZyYWdtZW50JiBmcmFnbWVudCwgaW50IHN0YXJ0UG9zaXRp
b24sIEZsb2F0UmVjdCYgZXh0ZW50KQogewotICAgIGV4dGVudC5zZXRMb2NhdGlvbihGbG9hdFBv
aW50KGZyYWdtZW50LngsIGZyYWdtZW50LnkgLSBxdWVyeURhdGEtPnRleHRSZW5kZXJlci0+c3R5
bGUoKS0+Zm9udCgpLmFzY2VudCgpKSk7CisgICAgZXh0ZW50LnNldExvY2F0aW9uKEZsb2F0UG9p
bnQoZnJhZ21lbnQueCwgZnJhZ21lbnQueSAtIHF1ZXJ5RGF0YS0+dGV4dFJlbmRlcmVyLT5zdHls
ZSgpLT5mb250TWV0cmljcygpLmFzY2VudCgpKSk7CiAKICAgICBpZiAoc3RhcnRQb3NpdGlvbikg
ewogICAgICAgICBTVkdUZXh0TWV0cmljcyBtZXRyaWNzID0gU1ZHVGV4dE1ldHJpY3M6Om1lYXN1
cmVDaGFyYWN0ZXJSYW5nZShxdWVyeURhdGEtPnRleHRSZW5kZXJlciwgZnJhZ21lbnQucG9zaXRp
b25MaXN0T2Zmc2V0LCBzdGFydFBvc2l0aW9uKTsKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZvbnRG
YWNlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRm9udEZhY2VFbGVt
ZW50LmNwcAkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJDb3JlL3N2Zy9TVkdGb250RmFjZUVsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjUsNyArMTI1LDcgQEAgdW5zaWduZWQgU1ZHRm9u
dEZhY2VFbGVtZW50Ojp1bml0c1BlckVtKAogewogICAgIGNvbnN0IEF0b21pY1N0cmluZyYgdmFs
dWUgPSBnZXRBdHRyaWJ1dGUodW5pdHNfcGVyX2VtQXR0cik7CiAgICAgaWYgKHZhbHVlLmlzRW1w
dHkoKSkKLSAgICAgICAgcmV0dXJuIGRlZmF1bHRVbml0c1BlckVtOworICAgICAgICByZXR1cm4g
Z0RlZmF1bHRVbml0c1BlckVtOwogCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2lnbmVkPihj
ZWlsZih2YWx1ZS50b0Zsb2F0KCkpKTsKIH0KSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0xlbmd0aC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHTGVuZ3RoLmNwcAkocmV2aXNpb24gNzQ2
ODMpCisrKyBXZWJDb3JlL3N2Zy9TVkdMZW5ndGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NDQs
NyArNDQ0LDcgQEAgZmxvYXQgU1ZHTGVuZ3RoOjpjb252ZXJ0VmFsdWVGcm9tVXNlclVuaQogCiAg
ICAgLy8gVXNlIG9mIGNlaWwgYWxsb3dzIGEgcGl4ZWwgbWF0Y2ggdG8gdGhlIFczQ3MgZXhwZWN0
ZWQgb3V0cHV0IG9mIGNvb3Jkcy11bml0cy0wMy1iLnN2ZwogICAgIC8vIGlmIHRoaXMgY2F1c2Vz
IHByb2JsZW1zIGluIHJlYWwgd29ybGQgY2FzZXMgbWF5YmUgaXQgd291bGQgYmUgYmVzdCB0byBy
ZW1vdmUgdGhpcwotICAgIGZsb2F0IHhIZWlnaHQgPSBjZWlsZihzdHlsZS0+Zm9udCgpLnhIZWln
aHQoKSk7CisgICAgZmxvYXQgeEhlaWdodCA9IGNlaWxmKHN0eWxlLT5mb250TWV0cmljcygpLnhI
ZWlnaHQoKSk7CiAgICAgaWYgKCF4SGVpZ2h0KSB7CiAgICAgICAgIGVjID0gTk9UX1NVUFBPUlRF
RF9FUlI7CiAgICAgICAgIHJldHVybiAwOwpAQCAtNDYzLDcgKzQ2Myw3IEBAIGZsb2F0IFNWR0xl
bmd0aDo6Y29udmVydFZhbHVlRnJvbUVYU1RvVXMKICAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSBj
b250ZXh0LT5yZW5kZXJlcigpLT5zdHlsZSgpOwogICAgIC8vIFVzZSBvZiBjZWlsIGFsbG93cyBh
IHBpeGVsIG1hdGNoIHRvIHRoZSBXM0NzIGV4cGVjdGVkIG91dHB1dCBvZiBjb29yZHMtdW5pdHMt
MDMtYi5zdmcKICAgICAvLyBpZiB0aGlzIGNhdXNlcyBwcm9ibGVtcyBpbiByZWFsIHdvcmxkIGNh
c2VzIG1heWJlIGl0IHdvdWxkIGJlIGJlc3QgdG8gcmVtb3ZlIHRoaXMKLSAgICByZXR1cm4gdmFs
dWUgKiBjZWlsZihzdHlsZS0+Zm9udCgpLnhIZWlnaHQoKSk7CisgICAgcmV0dXJuIHZhbHVlICog
Y2VpbGYoc3R5bGUtPmZvbnRNZXRyaWNzKCkueEhlaWdodCgpKTsKIH0KIAogU1ZHTGVuZ3RoIFNW
R0xlbmd0aDo6ZnJvbUNTU1ByaW1pdGl2ZVZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlKiB2YWx1ZSkK
SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3NDY4MykKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMTAtMTItMjcgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSW50cm9kdWNlIEZvbnRNZXRyaWNzIGFic3RyYWN0aW9uCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTQ1NgorCisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC93aW4vV2ViUG9wdXBNZW51V2luLmNwcDogVXNlIEZvbnRNZXRy
aWNzIGluc3RlYWQgb2YgRm9udCB0byBhY2Nlc3MgdGhlIG1ldHJpY3MuCisgICAgICAgIChXZWJL
aXQ6OldlYlBvcHVwTWVudTo6c2V0VXBQbGF0Zm9ybURhdGEpOgorCiAyMDEwLTEyLTI2ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RGFuIEJlcm5zdGVpbi4KSW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC93
aW4vV2ViUG9wdXBNZW51V2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvd2luL1dlYlBvcHVwTWVudVdpbi5jcHAJKHJldmlzaW9uIDc0NjgzKQor
KysgV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3dpbi9XZWJQb3B1cE1lbnVXaW4u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIHZvaWQgV2ViUG9wdXBNZW51Ojpz
ZXRVcFBsYXRmb3JtRGF0YShjb24KICAgICBkYXRhLm1fY2xpZW50UGFkZGluZ1JpZ2h0ID0gbV9w
b3B1cENsaWVudC0+Y2xpZW50UGFkZGluZ1JpZ2h0KCk7CiAgICAgZGF0YS5tX2NsaWVudEluc2V0
TGVmdCA9IG1fcG9wdXBDbGllbnQtPmNsaWVudEluc2V0TGVmdCgpOwogICAgIGRhdGEubV9jbGll
bnRJbnNldFJpZ2h0ID0gbV9wb3B1cENsaWVudC0+Y2xpZW50SW5zZXRSaWdodCgpOwotICAgIGRh
dGEubV9pdGVtSGVpZ2h0ID0gbV9wb3B1cENsaWVudC0+bWVudVN0eWxlKCkuZm9udCgpLmhlaWdo
dCgpICsgMTsKKyAgICBkYXRhLm1faXRlbUhlaWdodCA9IG1fcG9wdXBDbGllbnQtPm1lbnVTdHls
ZSgpLmZvbnQoKS5mb250TWV0cmljcygpLmhlaWdodCgpICsgMTsKIAogICAgIGludCBwb3B1cFdp
ZHRoID0gMDsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGl0ZW1Db3VudDsgKytpKSB7CkBA
IC0xMzMsNyArMTMzLDcgQEAgdm9pZCBXZWJQb3B1cE1lbnU6OnNldFVwUGxhdGZvcm1EYXRhKGNv
bgogICAgICAgICAgICAgaW50IHRleHRYID0gc3RkOjptYXgoMCwgZGF0YS5tX2NsaWVudFBhZGRp
bmdMZWZ0IC0gZGF0YS5tX2NsaWVudEluc2V0TGVmdCk7CiAgICAgICAgICAgICBpZiAoUmVuZGVy
VGhlbWU6OmRlZmF1bHRUaGVtZSgpLT5wb3B1cE9wdGlvblN1cHBvcnRzVGV4dEluZGVudCgpICYm
IGl0ZW1TdHlsZS50ZXh0RGlyZWN0aW9uKCkgPT0gTFRSKQogICAgICAgICAgICAgICAgIHRleHRY
ICs9IGl0ZW1TdHlsZS50ZXh0SW5kZW50KCkuY2FsY01pblZhbHVlKGl0ZW1SZWN0LndpZHRoKCkp
OwotICAgICAgICAgICAgaW50IHRleHRZID0gaXRlbVJlY3QueSgpICsgaXRlbUZvbnQuYXNjZW50
KCkgKyAoaXRlbVJlY3QuaGVpZ2h0KCkgLSBpdGVtRm9udC5oZWlnaHQoKSkgLyAyOworICAgICAg
ICAgICAgaW50IHRleHRZID0gaXRlbVJlY3QueSgpICsgaXRlbUZvbnQuZm9udE1ldHJpY3MoKS5h
c2NlbnQoKSArIChpdGVtUmVjdC5oZWlnaHQoKSAtIGl0ZW1Gb250LmZvbnRNZXRyaWNzKCkuaGVp
Z2h0KCkpIC8gMjsKIAogICAgICAgICAgICAgbm90U2VsZWN0ZWRCYWNraW5nU3RvcmVDb250ZXh0
LT5kcmF3QmlkaVRleHQoaXRlbUZvbnQsIHRleHRSdW4sIEludFBvaW50KHRleHRYLCB0ZXh0WSkp
OwogICAgICAgICAgICAgc2VsZWN0ZWRCYWNraW5nU3RvcmVDb250ZXh0LT5kcmF3QmlkaVRleHQo
aXRlbUZvbnQsIHRleHRSdW4sIEludFBvaW50KHRleHRYLCB0ZXh0WSkpOwpJbmRleDogV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0xMi0yMyAgTmlrb2xhcyBaaW1tZXJtYW5u
ICA8bnppbW1lcm1hbm5AcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBJbnRyb2R1Y2UgRm9udE1ldHJpY3MgYWJzdHJhY3Rpb24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxNDU2CisKKyAgICAg
ICAgKiBzcmMvRXh0ZXJuYWxQb3B1cE1lbnUuY3BwOiBVc2UgRm9udE1ldHJpY3MgaW5zdGVhZCBv
ZiBGb250IHRvIGFjY2VzcyB0aGUgbWV0cmljcy4KKyAgICAgICAgKFdlYktpdDo6RXh0ZXJuYWxQ
b3B1cE1lbnU6OmdldFBvcHVwTWVudUluZm8pOgorICAgICAgICAqIHNyYy9XZWJGb250SW1wbC5j
cHA6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpXZWJGb250SW1wbDo6YXNjZW50KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViRm9udEltcGw6OmRlc2NlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJG
b250SW1wbDo6aGVpZ2h0KToKKyAgICAgICAgKFdlYktpdDo6V2ViRm9udEltcGw6OmxpbmVTcGFj
aW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViRm9udEltcGw6OnhIZWlnaHQpOgorCiAyMDEwLTEy
LTIzICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNzQ1NjEuCkluZGV4OiBXZWJLaXQvY2hyb21pdW0v
c3JjL0V4dGVybmFsUG9wdXBNZW51LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0v
c3JjL0V4dGVybmFsUG9wdXBNZW51LmNwcAkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJLaXQvY2hy
b21pdW0vc3JjL0V4dGVybmFsUG9wdXBNZW51LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQyLDcg
KzE0Miw3IEBAIHZvaWQgRXh0ZXJuYWxQb3B1cE1lbnU6OmdldFBvcHVwTWVudUluZm8KICAgICAg
ICAgcG9wdXBJdGVtLmVuYWJsZWQgPSBtX3BvcHVwTWVudUNsaWVudC0+aXRlbUlzRW5hYmxlZChp
KTsKICAgICB9CiAKLSAgICBpbmZvLT5pdGVtSGVpZ2h0ID0gbV9wb3B1cE1lbnVDbGllbnQtPm1l
bnVTdHlsZSgpLmZvbnQoKS5oZWlnaHQoKTsKKyAgICBpbmZvLT5pdGVtSGVpZ2h0ID0gbV9wb3B1
cE1lbnVDbGllbnQtPm1lbnVTdHlsZSgpLmZvbnQoKS5mb250TWV0cmljcygpLmhlaWdodCgpOwog
ICAgIGluZm8tPml0ZW1Gb250U2l6ZSA9CiAgICAgICAgIHN0YXRpY19jYXN0PGludD4obV9wb3B1
cE1lbnVDbGllbnQtPm1lbnVTdHlsZSgpLmZvbnQoKS5zaXplKCkpOwogICAgIGluZm8tPnNlbGVj
dGVkSW5kZXggPSBtX3BvcHVwTWVudUNsaWVudC0+c2VsZWN0ZWRJbmRleCgpOwpJbmRleDogV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJGb250SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJGb250SW1wbC5jcHAJKHJldmlzaW9uIDc0NjgzKQorKysgV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJGb250SW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDI3ICs2Mywy
NyBAQCBXZWJGb250RGVzY3JpcHRpb24gV2ViRm9udEltcGw6OmZvbnREZXNjCiAKIGludCBXZWJG
b250SW1wbDo6YXNjZW50KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9mb250LmFzY2VudCgpOwor
ICAgIHJldHVybiBtX2ZvbnQuZm9udE1ldHJpY3MoKS5hc2NlbnQoKTsKIH0KIAogaW50IFdlYkZv
bnRJbXBsOjpkZXNjZW50KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9mb250LmRlc2NlbnQoKTsK
KyAgICByZXR1cm4gbV9mb250LmZvbnRNZXRyaWNzKCkuZGVzY2VudCgpOwogfQogCiBpbnQgV2Vi
Rm9udEltcGw6OmhlaWdodCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fZm9udC5oZWlnaHQoKTsK
KyAgICByZXR1cm4gbV9mb250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCk7CiB9CiAKIGludCBXZWJG
b250SW1wbDo6bGluZVNwYWNpbmcoKSBjb25zdAogewotICAgIHJldHVybiBtX2ZvbnQubGluZVNw
YWNpbmcoKTsKKyAgICByZXR1cm4gbV9mb250LmZvbnRNZXRyaWNzKCkubGluZVNwYWNpbmcoKTsK
IH0KIAogZmxvYXQgV2ViRm9udEltcGw6OnhIZWlnaHQoKSBjb25zdAogewotICAgIHJldHVybiBt
X2ZvbnQueEhlaWdodCgpOworICAgIHJldHVybiBtX2ZvbnQuZm9udE1ldHJpY3MoKS54SGVpZ2h0
KCk7CiB9CiAKIHZvaWQgV2ViRm9udEltcGw6OmRyYXdUZXh0KFdlYkNhbnZhcyogY2FudmFzLCBj
b25zdCBXZWJUZXh0UnVuJiBydW4sIGNvbnN0IFdlYkZsb2F0UG9pbnQmIGxlZnRCYXNlbGluZSwK
SW5kZXg6IFdlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vQ2hh
bmdlTG9nCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMTItMjYgIE5pa29sYXMgWmltbWVybWFubiAg
PG56aW1tZXJtYW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgSW50cm9kdWNlIEZvbnRNZXRyaWNzIGFic3RyYWN0aW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTQ1NgorCisgICAgICAg
ICogRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHA6IFVzZSBGb250TWV0cmljcyBpbnN0ZWFk
IG9mIEZvbnQgdG8gYWNjZXNzIHRoZSBtZXRyaWNzLgorICAgICAgICAoRnVsbHNjcmVlblZpZGVv
Q29udHJvbGxlcjo6ZHJhdyk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVu
dC5jcHA6IERpdHRvLgorICAgICAgICAoV2ViRHJhZ0NsaWVudDo6Y3JlYXRlRHJhZ0ltYWdlRm9y
TGluayk6CisgICAgICAgICogV2ViS2l0R3JhcGhpY3MuY3BwOiBEaXR0by4KKyAgICAgICAgKEZv
bnRNZXRyaWNzKToKKwogMjAxMC0xMi0yMiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViS2l0L3dpbi9GdWxs
c2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL0Z1bGxz
Y3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYktpdC93aW4v
RnVsbHNjcmVlblZpZGVvQ29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyNSwxNSAr
NTI1LDE2IEBAIHZvaWQgRnVsbHNjcmVlblZpZGVvQ29udHJvbGxlcjo6ZHJhdygpCiAgICAgLy8g
dGhlIHRleHQgYXQgdGhlIGNlbnRlciBvZiB0aGUgc2xpZGVyLgogICAgIC8vIExlZnQgc3RyaW5n
CiAgICAgcyA9IHRpbWVUb1N0cmluZyhjdXJyZW50VGltZSgpKTsKKyAgICBpbnQgZm9udEhlaWdo
dCA9IGZvbnQuZm9udE1ldHJpY3MoKS5oZWlnaHQoKTsKICAgICBUZXh0UnVuIGxlZnRUZXh0KHMp
OwogICAgIGNvbnRleHQuc2V0RmlsbENvbG9yKENvbG9yKHRleHRDb2xvciksIENvbG9yU3BhY2VE
ZXZpY2VSR0IpOwotICAgIGNvbnRleHQuZHJhd1RleHQoZm9udCwgbGVmdFRleHQsIEludFBvaW50
KHdpbmRvd1dpZHRoIC8gMiAtIHRpbWVTbGlkZXJXaWR0aCAvIDIgLSBtYXJnaW4gLSBmb250Lndp
ZHRoKGxlZnRUZXh0KSwgd2luZG93SGVpZ2h0IC0gbWFyZ2luIC0gc2xpZGVySGVpZ2h0IC8gMiAr
IGZvbnQuaGVpZ2h0KCkgLyA0KSk7CisgICAgY29udGV4dC5kcmF3VGV4dChmb250LCBsZWZ0VGV4
dCwgSW50UG9pbnQod2luZG93V2lkdGggLyAyIC0gdGltZVNsaWRlcldpZHRoIC8gMiAtIG1hcmdp
biAtIGZvbnQud2lkdGgobGVmdFRleHQpLCB3aW5kb3dIZWlnaHQgLSBtYXJnaW4gLSBzbGlkZXJI
ZWlnaHQgLyAyICsgZm9udEhlaWdodCAvIDQpKTsKIAogICAgIC8vIFJpZ2h0IHN0cmluZwogICAg
IHMgPSB0aW1lVG9TdHJpbmcoY3VycmVudFRpbWUoKSAtIGR1cmF0aW9uKCkpOwogICAgIFRleHRS
dW4gcmlnaHRUZXh0KHMpOwogICAgIGNvbnRleHQuc2V0RmlsbENvbG9yKENvbG9yKHRleHRDb2xv
ciksIENvbG9yU3BhY2VEZXZpY2VSR0IpOwotICAgIGNvbnRleHQuZHJhd1RleHQoZm9udCwgcmln
aHRUZXh0LCBJbnRQb2ludCh3aW5kb3dXaWR0aCAvIDIgKyB0aW1lU2xpZGVyV2lkdGggLyAyICsg
bWFyZ2luLCB3aW5kb3dIZWlnaHQgLSBtYXJnaW4gLSBzbGlkZXJIZWlnaHQgLyAyICsgZm9udC5o
ZWlnaHQoKSAvIDQpKTsKKyAgICBjb250ZXh0LmRyYXdUZXh0KGZvbnQsIHJpZ2h0VGV4dCwgSW50
UG9pbnQod2luZG93V2lkdGggLyAyICsgdGltZVNsaWRlcldpZHRoIC8gMiArIG1hcmdpbiwgd2lu
ZG93SGVpZ2h0IC0gbWFyZ2luIC0gc2xpZGVySGVpZ2h0IC8gMiArIGZvbnRIZWlnaHQgLyA0KSk7
CiAKICAgICAvLyBDb3B5IHRvIHRoZSB3aW5kb3cKICAgICBCTEVOREZVTkNUSU9OIGJsZW5kRnVu
Y3Rpb24gPSB7QUNfU1JDX09WRVIsIDAsIDI1NSwgQUNfU1JDX0FMUEhBfTsKSW5kZXg6IFdlYktp
dC93aW4vV2ViS2l0R3JhcGhpY3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vV2ViS2l0
R3JhcGhpY3MuY3BwCShyZXZpc2lvbiA3NDY4MykKKysrIFdlYktpdC93aW4vV2ViS2l0R3JhcGhp
Y3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzMsMTUgKzEzMywxNiBAQCB2b2lkIEZvbnRNZXRy
aWNzKGNvbnN0IFdlYkZvbnREZXNjcmlwdGlvCiAgICAgICAgIHJldHVybjsKIAogICAgIEZvbnQg
Zm9udChtYWtlRm9udChkZXNjcmlwdGlvbikpOworICAgIGNvbnN0IFdlYkNvcmU6OkZvbnRNZXRy
aWNzJiBmb250TWV0cmljcyhmb250LmZvbnRNZXRyaWNzKCkpOwogCiAgICAgaWYgKGFzY2VudCkK
LSAgICAgICAgKmFzY2VudCA9IGZvbnQuYXNjZW50KCk7CisgICAgICAgICphc2NlbnQgPSBmb250
TWV0cmljcy5hc2NlbnQoKTsKIAogICAgIGlmIChkZXNjZW50KQotICAgICAgICAqZGVzY2VudCA9
IGZvbnQuZGVzY2VudCgpOworICAgICAgICAqZGVzY2VudCA9IGZvbnRNZXRyaWNzLmRlc2NlbnQo
KTsKIAogICAgIGlmIChsaW5lU3BhY2luZykKLSAgICAgICAgKmxpbmVTcGFjaW5nID0gZm9udC5s
aW5lU3BhY2luZygpOworICAgICAgICAqbGluZVNwYWNpbmcgPSBmb250TWV0cmljcy5saW5lU3Bh
Y2luZygpOwogfQogCiB1bnNpZ25lZCBDZW50ZXJUcnVuY2F0ZVN0cmluZ1RvV2lkdGgoTFBDVFNU
UiB0ZXh0LCBpbnQgbGVuZ3RoLCBjb25zdCBXZWJGb250RGVzY3JpcHRpb24mIGRlc2NyaXB0aW9u
LCBmbG9hdCB3aWR0aCwgV0NIQVIqIGJ1ZmZlcikKSW5kZXg6IFdlYktpdC93aW4vV2ViQ29yZVN1
cHBvcnQvV2ViRHJhZ0NsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJEcmFnQ2xpZW50LmNwcAkocmV2aXNpb24gNzQ2ODMpCisrKyBXZWJLaXQvd2lu
L1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDcs
NyArMjQ3LDcgQEAgRHJhZ0ltYWdlUmVmIFdlYkRyYWdDbGllbnQ6OmNyZWF0ZURyYWdJbQogICAg
IC8vRmlyc3Qgc3RlcCBpbiBkcmF3aW5nIHRoZSBsaW5rIGRyYWcgaW1hZ2Ugd2lkdGgKICAgICBU
ZXh0UnVuIGxhYmVsUnVuKGxhYmVsLmltcGwoKSk7CiAgICAgVGV4dFJ1biB1cmxSdW4odXJsU3Ry
aW5nLmltcGwoKSk7Ci0gICAgSW50U2l6ZSBsYWJlbFNpemUobGFiZWxGb250LT53aWR0aChsYWJl
bFJ1biksIGxhYmVsRm9udC0+YXNjZW50KCkgKyBsYWJlbEZvbnQtPmRlc2NlbnQoKSk7CisgICAg
SW50U2l6ZSBsYWJlbFNpemUobGFiZWxGb250LT53aWR0aChsYWJlbFJ1biksIGxhYmVsRm9udC0+
Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSArIGxhYmVsRm9udC0+Zm9udE1ldHJpY3MoKS5kZXNjZW50
KCkpOwogCiAgICAgaWYgKGxhYmVsU2l6ZS53aWR0aCgpID4gTUFYX0RSQUdfTEFCRUxfU1RSSU5H
X1dJRFRIKXsKICAgICAgICAgbGFiZWxTaXplLnNldFdpZHRoKE1BWF9EUkFHX0xBQkVMX1NUUklO
R19XSURUSCk7CkBAIC0yNjAsNyArMjYwLDcgQEAgRHJhZ0ltYWdlUmVmIFdlYkRyYWdDbGllbnQ6
OmNyZWF0ZURyYWdJbQogCiAgICAgaWYgKGRyYXdVUkxTdHJpbmcpIHsKICAgICAgICAgdXJsU3Ry
aW5nU2l6ZS5zZXRXaWR0aCh1cmxGb250LT53aWR0aCh1cmxSdW4pKTsKLSAgICAgICAgdXJsU3Ry
aW5nU2l6ZS5zZXRIZWlnaHQodXJsRm9udC0+YXNjZW50KCkgKyB1cmxGb250LT5kZXNjZW50KCkp
OyAKKyAgICAgICAgdXJsU3RyaW5nU2l6ZS5zZXRIZWlnaHQodXJsRm9udC0+Zm9udE1ldHJpY3Mo
KS5hc2NlbnQoKSArIHVybEZvbnQtPmZvbnRNZXRyaWNzKCkuZGVzY2VudCgpKTsgCiAgICAgICAg
IGltYWdlU2l6ZS5zZXRIZWlnaHQoaW1hZ2VTaXplLmhlaWdodCgpICsgdXJsU3RyaW5nU2l6ZS5o
ZWlnaHQoKSk7CiAgICAgICAgIGlmICh1cmxTdHJpbmdTaXplLndpZHRoKCkgPiBNQVhfRFJBR19M
QUJFTF9TVFJJTkdfV0lEVEgpIHsKICAgICAgICAgICAgIGltYWdlU2l6ZS5zZXRXaWR0aChNQVhf
RFJBR19MQUJFTF9XSURUSCk7CkBAIC0zMDMsNyArMzAzLDcgQEAgRHJhZ0ltYWdlUmVmIFdlYkRy
YWdDbGllbnQ6OmNyZWF0ZURyYWdJbQogICAgIGlmIChkcmF3VVJMU3RyaW5nKSB7CiAgICAgICAg
IGlmIChjbGlwVVJMU3RyaW5nKQogICAgICAgICAgICAgdXJsU3RyaW5nID0gU3RyaW5nVHJ1bmNh
dG9yOjpyaWdodFRydW5jYXRlKHVybFN0cmluZywgaW1hZ2VTaXplLndpZHRoKCkgLSAoRFJBR19M
QUJFTF9CT1JERVJfWCAqIDIuMGYpLCAqdXJsRm9udCwgZmFsc2UpOwotICAgICAgICBJbnRQb2lu
dCB0ZXh0UG9zKERSQUdfTEFCRUxfQk9SREVSX1gsIGltYWdlU2l6ZS5oZWlnaHQoKSAtIChEUkFH
X0xBQkVMX0JPUkRFUl9ZX09GRlNFVCArIHVybEZvbnQtPmRlc2NlbnQoKSkpOworICAgICAgICBJ
bnRQb2ludCB0ZXh0UG9zKERSQUdfTEFCRUxfQk9SREVSX1gsIGltYWdlU2l6ZS5oZWlnaHQoKSAt
IChEUkFHX0xBQkVMX0JPUkRFUl9ZX09GRlNFVCArIHVybEZvbnQtPmZvbnRNZXRyaWNzKCkuZGVz
Y2VudCgpKSk7CiAgICAgICAgIFdlYkNvcmVEcmF3RG91YmxlZFRleHRBdFBvaW50KGNvbnRleHQs
IHVybFN0cmluZywgdGV4dFBvcywgKnVybEZvbnQsIHRvcENvbG9yLCBib3R0b21Db2xvcik7CiAg
ICAgfQogICAgIAo=
</data>
<flag name="review"
          id="68648"
          type_id="1"
          status="-"
          setter="krit"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79730</attachid>
            <date>2011-01-21 06:45:02 -0800</date>
            <delta_ts>2011-01-25 03:22:12 -0800</delta_ts>
            <desc>Patch v11</desc>
            <filename>IntroduceFontMetrics11.diff</filename>
            <type>text/plain</type>
            <size>128328</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc2MzQwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTg5IEBACisyMDExLTAxLTIxICBOaWtvbGFz
IFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVjZSBGb250TWV0cmljcyBhYnN0cmFj
dGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE0
NTYKKworICAgICAgICBFbmNhcHN1bGF0ZSBhc2NlbnQvZGVzY2VudC9saW5lSGVpZ2h0L2xpbmVH
YXAgbWV0aG9kcyBpbiBhIHNpbmdsZSBGb250TWV0cmljcyBjbGFzcywgaW5zdGVhZCBvZgorICAg
ICAgICBoYXZpbmcgdG8gZGVmaW5lIHRoZW0gaW4gYm90aCBGb250ICYgU2ltcGxlRm9udERhdGEu
IENoYW5nZWQgdG8gc3RvcmUgZmxvYXRpbmcgcG9pbnQgdmFsdWVzCisgICAgICAgIGFzIGRlZmF1
bHQsIGluIG9yZGVyIHRvIGdldCBhY2N1cmF0ZSBpbmZvcm1hdGlvbiBmb3Igc21hbGwgc2l6ZWQg
Zm9udHMuIEFsbCB0aGVzZSBtZXRob2RzCisgICAgICAgIG5vdyBoYXZlIGZsb2F0aW5nLXBvaW50
IGFuZCBpbnRlZ2VyIHZlcnNpb25zLiBXaGVuZXZlciBhbiBpbnRlZ2VyIHZhcmlhbnQgb2YgdGhl
c2UgZnVuY3Rpb25zCisgICAgICAgIGlzIGNhbGxlZCwgbHJvdW5kZigpIGlzIHVzZWQgdG8gcm91
bmQgdGhlIHZhbHVlLgorCisgICAgICAgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gc3VwcG9y
dCBzbWFsbCBmb250LXNpemVzIGZvciBTVkcgaW4gYSBmb2xsb3ctdXAgcGF0Y2gsIGFzIHdlbGwK
KyAgICAgICAgYXMgZml4aW5nIHJvdW5kaW5nIGlzc3VlcyB3aGVuIHVzaW5nIFNWRyBGb250cy4K
KyAgICAgICAgCisgICAgICAgIFNob3VsZG4ndCBhZmZlY3QgZXhpc3RpbmcgdGVzdHMuCisKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5hbTogQWRkIEZvbnRNZXRyaWNzLmggdG8gYnVpbGQuIAorICAg
ICAgICAqIFdlYkNvcmUuZ3lwaTogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS5wcm86IERpdHRv
LgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOiBEaXR0by4KKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQXRrLmNwcDogVXNl
IHN0eWxlLT5mb250TWV0cmljcygpIGluc3RlYWQgb2Ygc3R5bGUtPmZvbnQoKSB0byBhY2Nlc3Mg
dGhlIG1ldHJpY3MuCisgICAgICAgIChiYXNlbGluZVBvc2l0aW9uRm9yQWNjZXNzaWJpbGl0eVJl
bmRlck9iamVjdCk6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcDogICAgICAg
ICAKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoRG91
YmxlKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3Bw
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJh
d1RleHRJbnRlcm5hbCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIu
Y3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRyYXdF
bGVtZW50VGl0bGUpOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9t
aXVtLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpQb3B1cExpc3RCb3g6OnBhaW50Um93
KToKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwTGlzdEJveDo6Z2V0Um93SGVpZ2h0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Gb250Lmg6IFJlbW92ZSBhc2NlbnQvZGVzY2VudC9oZWln
aHQvbGluZUdhcC9saW5lU3BhY2luZy94SGVpZ2h0L3VuaXRzUGVyRW0gYWNjZXNzb3IuLi4KKyAg
ICAgICAgKFdlYkNvcmU6OkZvbnQ6OmZvbnRNZXRyaWNzKTogLi4uIGFuZCBvbmx5IGV4cG9zZSBh
IHNpbmdsZSBGb250TWV0cmljcyBvYmplY3QgaGVyZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9Gb250RmFzdFBhdGguY3BwOiBVc2UgZm9udE1ldHJpY3MoKSB0byBxdWVyeSBtZXRyaWNz
IGluZm9ybWF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6Rm9udDo6ZW1waGFzaXNNYXJrQXNjZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkZvbnQ6OmVtcGhhc2lzTWFya0Rlc2NlbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udDo6ZW1waGFzaXNNYXJrSGVpZ2h0KToKKyAgICAgICAgKFdlYkNvcmU6
OkZvbnQ6OmZsb2F0V2lkdGhGb3JTaW1wbGVUZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9Gb250TWV0cmljcy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNz
OjpGb250TWV0cmljcyk6IENyZWF0ZXMgYSBGb250TWV0cmljcyBvYmplY3QsIHN0b3JlZCBpbiBT
aW1wbGVGb250RGF0YS4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjp1bml0c1BlckVt
KTogUmV0dXJucyBhbiB1bnNpZ25lZCBkZXNjcmliaW5nIHRoZSB1bml0c1BlckVtLgorICAgICAg
ICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnNldFVuaXRzUGVyRW0pOiBTZXRzIHRoZSB1bml0c1Bl
ckVtIHZhbHVlLgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmZsb2F0QXNjZW50KTog
UmV0dXJucyB0aGUgc3RvcmVkIG1fYXNjZW50IGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6Rm9u
dE1ldHJpY3M6OnNldEFzY2VudCk6IFNldHMgdGhlIHN0b3JlZCBtX2FzY2VudCBmbG9hdC4KKyAg
ICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpmbG9hdERlc2NlbnQpOiBSZXR1cm5zIHRoZSBz
dG9yZWQgbV9kZXNjZW50IGZsb2F0LgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OnNl
dERlc2NlbnQpOiBTZXRzIHRoZSBzdG9yZWQgbV9kZXNjZW50IGZsb2F0LgorICAgICAgICAoV2Vi
Q29yZTo6Rm9udE1ldHJpY3M6OmZsb2F0SGVpZ2h0KTogUmV0dXJucyBmbG9hdEFzY2VudCgpICsg
ZmxvYXREZXNjZW50KCkuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6ZmxvYXRMaW5l
R2FwKTogUmV0dXJucyB0aGUgc3RvcmVkIG1fbGluZUdhcCBmbG9hdC4KKyAgICAgICAgKFdlYkNv
cmU6OkZvbnRNZXRyaWNzOjpzZXRMaW5lR2FwKTogU2V0cyB0aGUgc3RvcmVkIG1fbGluZUdhcCBm
bG9hdC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpmbG9hdExpbmVTcGFjaW5nKTog
UmV0dXJucyB0aGUgc3RvcmVkIG1fbGluZVNwYWNpbmcgZmxvYXQuCisgICAgICAgIChXZWJDb3Jl
OjpGb250TWV0cmljczo6c2V0TGluZVNwYWNpbmcpOiBTZXRzIHRoZSBzdG9yZWQgbV9saW5lU3Bh
Y2luZyBmbG9hdC4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjp4SGVpZ2h0KTogUmV0
dXJucyB0aGUgc3RvcmVkIG1feEhlaWdodCBmbG9hdCAobm8gaW50ZWdlciB2ZXJzaW9uIGF2YWls
YWJsZSwgaGVuY2Ugbm8gJ2Zsb2F0JyBwcmVmaXgpLgorICAgICAgICAoV2ViQ29yZTo6Rm9udE1l
dHJpY3M6OnNldFhIZWlnaHQpOiBTZXRzIHRoZSBzdG9yZWQgbV94SGVpZ2h0IGZsb2F0LgorICAg
ICAgICAoV2ViQ29yZTo6Rm9udE1ldHJpY3M6OmFzY2VudCk6IFJldHVybnMgYSByb3VuZGVkIHZl
cnNpb24gb2YgYXNjZW50KCkuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6ZGVzY2Vu
dCk6IERpdHRvIChmb3IgZGVzY2VudCkuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6
aGVpZ2h0KTogUmV0dXJucyBhc2NlbnQoKSArIGRlc2NlbnQoKS4KKyAgICAgICAgKFdlYkNvcmU6
OkZvbnRNZXRyaWNzOjpsaW5lR2FwKTogUmV0dXJucyBhIHJvdW5kZWQgdmVyc2lvbiBvZiBsaW5l
R2FwKCkuCisgICAgICAgIChXZWJDb3JlOjpGb250TWV0cmljczo6bGluZVNwYWNpbmcpOiBEaXR0
byAoZm9yIGxpbmVTcGFjaW5nKS4KKyAgICAgICAgKFdlYkNvcmU6OkZvbnRNZXRyaWNzOjpyZXNl
dCk6IE51bGxzIGFsbCBtZW1iZXJzLCB1c2VkIG9ubHkgYnkgdGhlIHBsYXRmb3JtIHZhcmlhbnRz
IG9mIFNpbXBsZUZvbnREYXRhLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZv
bnREYXRhLmNwcDogQWRhcHQgU1ZHIEZvbnRzIGNvZGUsIHRvIGluaXRpYWxpemUgdGhlIEZvbnRN
ZXRyaWNzIG9iamVjdCwgYXMgdGhlIG1fYXNjZW50L2V0Yy4uIG1lbWJlcnMgYXJlIGdvbmUuCisg
ICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6U2ltcGxlRm9udERhdGEpOgorICAgICAg
ICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OmluaXRDaGFyV2lkdGhzKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oOiBSZW1vdmUgYXNjZW50L2Rlc2NlbnQv
aGVpZ2h0L2xpbmVTcGFjaW5nL2xpbmVHYXAveEhlaWdodC91bml0c1BlckVtIGFjY2Vzc29ycywg
YW5kIG1lbWJlcnMsIGp1c3Qgc3RvcmUgYSBGb250TWV0cmljcyBvYmplY3QgYW5kIGV4cG9zZSBp
dC4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpmb250TWV0cmljcyk6CisgICAg
ICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6YXZnQ2hhcldpZHRoKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2hyb21pdW1XaW4uY3BwOiBVc2UgZm9udE1l
dHJpY3MoKSB0byBxdWVyeSBmb250IG1ldHJpY3MuCisgICAgICAgIChXZWJDb3JlOjpUcmFuc3Bh
cmVuY3lBd2FyZUZvbnRQYWludGVyOjpUcmFuc3BhcmVuY3lBd2FyZUdseXBoUGFpbnRlcjo6ZXN0
aW1hdGVUZXh0Qm91bmRzKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zcGFyZW5jeUF3YXJlRm9u
dFBhaW50ZXI6OlRyYW5zcGFyZW5jeUF3YXJlR2x5cGhQYWludGVyOjpkcmF3R2x5cGhzKToKKyAg
ICAgICAgKFdlYkNvcmU6OlRyYW5zcGFyZW5jeUF3YXJlRm9udFBhaW50ZXI6OlRyYW5zcGFyZW5j
eUF3YXJlVW5pc2NyaWJlUGFpbnRlcjo6ZXN0aW1hdGVUZXh0Qm91bmRzKToKKyAgICAgICAgKFdl
YkNvcmU6OkZvbnQ6OmRyYXdDb21wbGV4VGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFDaHJvbWl1bVdpbi5jcHA6IEFkYXB0IHBsYXRmb3Jt
IGNvZGUsIHRvIGluaXRpYWxpemUgdGhlIEZvbnRNZXRyaWNzIG9iamVjdC4KKyAgICAgICAgKFdl
YkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL1NpbXBsZUZvbnREYXRhTGludXguY3BwOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1VuaXNjcmliZUhlbHBlclRleHRSdW4uY3BwOiBVc2Ug
Zm9udE1ldHJpY3MoKSB0byBxdWVyeSBmb250IG1ldHJpY3MuCisgICAgICAgIChXZWJDb3JlOjpV
bmlzY3JpYmVIZWxwZXJUZXh0UnVuOjpVbmlzY3JpYmVIZWxwZXJUZXh0UnVuKToKKyAgICAgICAg
KFdlYkNvcmU6OlVuaXNjcmliZUhlbHBlclRleHRSdW46Om5leHRXaW5Gb250RGF0YSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFGcmVlVHlwZS5j
cHA6IEFkYXB0IHBsYXRmb3JtIGNvZGUsIHRvIGluaXRpYWxpemUgdGhlIEZvbnRNZXRyaWNzIG9i
amVjdC4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2hhaWt1L1NpbXBsZUZvbnREYXRhSGFpa3UuY3Bw
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q29tcGxleFRleHRNYWMuY3Bw
OiBVc2UgZm9udE1ldHJpY3MoKSB0byBxdWVyeSBmb250IG1ldHJpY3MuCisgICAgICAgIChXZWJD
b3JlOjpGb250OjpmbG9hdFdpZHRoRm9yQ29tcGxleFRleHQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL21hYy9Gb250TWFjLm1tOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OnNob3dH
bHlwaHNXaXRoQWR2YW5jZXMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1w
bGVGb250RGF0YU1hYy5tbTogQWRhcHQgcGxhdGZvcm0gY29kZSwgdG8gaW5pdGlhbGl6ZSB0aGUg
Rm9udE1ldHJpY3Mgb2JqZWN0LgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OnBs
YXRmb3JtSW5pdCk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1D
aGFyV2lkdGhJbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9wYW5nby9TaW1wbGVG
b250RGF0YVBhbmdvLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0
YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9TaW1wbGVG
b250RGF0YVF0LmNwcDogRGl0dG8uICgrIFN3aXRjaCB0byBRRm9udE1ldHJpY3NGIHRvIGdldCBm
bG9hdGluZy1wb2ludCBhY2N1cmFuY3kuKQorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERh
dGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRD
R1dpbi5jcHA6IFVzZSBmb250TWV0cmljcygpIHRvIHF1ZXJ5IGZvbnQgbWV0cmljcy4KKyAgICAg
ICAgKFdlYkNvcmU6OmRyYXdHRElHbHlwaHMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3dpbi9Gb250V2luLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpGb250OjpmbG9hdFdp
ZHRoRm9yQ29tcGxleFRleHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1w
bGVGb250RGF0YUNHV2luLmNwcDogQWRhcHQgcGxhdGZvcm0gY29kZSwgdG8gaW5pdGlhbGl6ZSB0
aGUgRm9udE1ldHJpY3Mgb2JqZWN0LgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6
OnBsYXRmb3JtSW5pdCk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZv
cm1Cb3VuZHNGb3JHbHlwaCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBs
ZUZvbnREYXRhQ2Fpcm9XaW4uY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZv
bnREYXRhOjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9T
aW1wbGVGb250RGF0YVdpbi5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9u
dERhdGE6OmluaXRHRElGb250KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9H
cmFwaGljc0NvbnRleHRXaW5DRS5jcHA6IFVzZSBmb250TWV0cmljcygpIHRvIHF1ZXJ5IGZvbnQg
bWV0cmljcy4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6ZHJhd1RleHQpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL1NpbXBsZUZvbnREYXRhV2luQ0UuY3Bw
OiBBZGFwdCBwbGF0Zm9ybSBjb2RlLCB0byBpbml0aWFsaXplIHRoZSBGb250TWV0cmljcyBvYmpl
Y3QuCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93eC9TaW1wbGVGb250RGF0YVd4LmNwcDogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmNwcDogVXNlIHN0eWxlLT5mb250TWV0cmlj
cygpIGluc3RlYWQgb2Ygc3R5bGUtPmZvbnQoKSB0byBhY2Nlc3MgdGhlIG1ldHJpY3MuCisgICAg
ICAgIChXZWJDb3JlOjpQb3B1cE1lbnVXaW46OmNhbGN1bGF0ZVBvc2l0aW9uQW5kU2l6ZSk6IAor
ICAgICAgICAoV2ViQ29yZTo6UG9wdXBNZW51V2luOjpwYWludCk6CisgICAgICAgICogcmVuZGVy
aW5nL0VsbGlwc2lzQm94LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpFbGxpcHNpc0Jv
eDo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6RWxsaXBzaXNCb3g6Om5vZGVBdFBvaW50KToK
KyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lQm94LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJD
b3JlOjpJbmxpbmVCb3g6OmxvZ2ljYWxIZWlnaHQpOgorICAgICAgICAqIHJlbmRlcmluZy9Jbmxp
bmVGbG93Qm94LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjp2ZXJ0aWNhbFBvc2l0aW9u
Rm9yQm94KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUZsb3dCb3g6OmNvbXB1dGVMb2dpY2Fs
Qm94SGVpZ2h0cyk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVGbG93Qm94OjpwbGFjZUJveGVz
SW5CbG9ja0RpcmVjdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3Bw
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OklubGluZVRleHRCb3g6OnBhaW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OklubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpwYWludFNwZWxsaW5nT3JHcmFtbWFyTWFya2VyKToKKyAg
ICAgICAgKFdlYkNvcmU6OklubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25VbmRlcmxpbmUp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQmxvY2s6OmJhc2VsaW5lUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2s6OmZpcnN0TGluZUJveEJhc2VsaW5lKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrOjpsYXN0TGluZUJveEJhc2VsaW5lKToKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyQm94LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmxvY2Fs
Q2FyZXRSZWN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3Bw
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckVtYmVkZGVkT2JqZWN0OjpwYWludFJl
cGxhY2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpzZXRJbWFnZVNpemVGb3JBbHRUZXh0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpwYWludFJlcGxhY2VkKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVySW5saW5lLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJJbmxpbmU6OmJhc2VsaW5lUG9zaXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJM
aXN0Qm94LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94OjpwYWlu
dEl0ZW1Gb3JlZ3JvdW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6Oml0ZW1I
ZWlnaHQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcDogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjpwYWludCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMaXN0TWFya2VyOjpsYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGlzdE1hcmtlcjo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGlzdE1hcmtlcjo6dXBkYXRlTWFyZ2lucyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMaXN0TWFya2VyOjpnZXRSZWxhdGl2ZU1hcmtlclJlY3QpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyVGV4dENvbnRyb2w6OnBhaW50UGxhY2Vob2xkZXIpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6Y3JlYXRlSW5uZXJUZXh0U3R5bGUp
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHA6IERpdHRvLgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVXaW46OmFkanVzdE1lbnVMaXN0QnV0dG9uU3R5bGUpOgor
ICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRnJhY3Rpb24uY3BwOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTEZyYWN0aW9uOjpiYXNlbGluZVBvc2l0
aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDogQWRkICJjb25z
dCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MoKSBjb25zdCIgYWNjZXNzb3IuCisgICAgICAgIChX
ZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6Zm9udE1ldHJpY3MpOgorICAgICAgICAoV2ViQ29yZTo6
SW5oZXJpdGVkRmxhZ3M6OmNvbXB1dGVkTGluZUhlaWdodCk6CisgICAgICAgICogcmVuZGVyaW5n
L3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNwcDogVXNlIHN0eWxlLT5mb250TWV0cmljcygpIGlu
c3RlYWQgb2Ygc3R5bGUtPmZvbnQoKSB0byBhY2Nlc3MgdGhlIG1ldHJpY3MuCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTVkdJbmxpbmVUZXh0Ojpwb3NpdGlvbkZvclBvaW50KToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlNWR0lubGluZVRleHRCb3g6OnNlbGVjdGlvblJlY3RGb3JUZXh0RnJhZ21lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6cG9zaXRpb25PZmZzZXRGb3JEZWNvcmF0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0lubGluZVRleHRCb3g6OnBhaW50RGVjb3JhdGlvbldpdGhTdHlsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdJbmxpbmVUZXh0Qm94OjpwYWludFRleHRXaXRoU2hhZG93cyk6
CisgICAgICAgIChXZWJDb3JlOjpTVkdJbmxpbmVUZXh0Qm94OjpjYWxjdWxhdGVCb3VuZGFyaWVz
KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5j
cHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5l
OjpjYWxjdWxhdGVCYXNlbGluZVNoaWZ0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RleHRMYXlv
dXRFbmdpbmVCYXNlbGluZTo6Y2FsY3VsYXRlQWxpZ25tZW50QmFzZWxpbmVTaGlmdCk6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmU6OmNhbGN1bGF0ZUdseXBo
QWR2YW5jZUFuZE9yaWVudGF0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1NWR1RleHRM
YXlvdXRFbmdpbmVTcGFjaW5nLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0
TGF5b3V0RW5naW5lU3BhY2luZzo6Y2FsY3VsYXRlU1ZHS2VybmluZyk6CisgICAgICAgICogcmVu
ZGVyaW5nL3N2Zy9TVkdUZXh0TWV0cmljcy5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
U1ZHVGV4dE1ldHJpY3M6OlNWR1RleHRNZXRyaWNzKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3Zn
L1NWR1RleHRRdWVyeS5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6Y2FsY3VsYXRlR2x5
cGhCb3VuZGFyaWVzKToKKyAgICAgICAgKiBzdmcvU1ZHRm9udEZhY2VFbGVtZW50LmNwcDogCisg
ICAgICAgIChXZWJDb3JlOjpTVkdGb250RmFjZUVsZW1lbnQ6OnVuaXRzUGVyRW0pOiBSZW5hbWUg
ZGVmYXVsdFVuaXRzUGVyRW0gZ2xvYmFsIHRvIGdEZWZhdWx0VW5pdHNQZXJFbS4KKyAgICAgICAg
KiBzdmcvU1ZHTGVuZ3RoLmNwcDogVXNlIHN0eWxlLT5mb250TWV0cmljcygpIGluc3RlYWQgb2Yg
c3R5bGUtPmZvbnQoKSB0byBhY2Nlc3MgdGhlIG1ldHJpY3MuCisgICAgICAgIChXZWJDb3JlOjpT
VkdMZW5ndGg6OmNvbnZlcnRWYWx1ZUZyb21Vc2VyVW5pdHNUb0VYUyk6CisgICAgICAgIChXZWJD
b3JlOjpTVkdMZW5ndGg6OmNvbnZlcnRWYWx1ZUZyb21FWFNUb1VzZXJVbml0cyk6CisKIDIwMTEt
MDEtMjEgIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gNzYz
NDApCisrKyBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAt
MjQwMiw2ICsyNDAyLDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRGYXN0UGF0aC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ZvbnQuaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udE1l
dHJpY3MuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udE9yaWVudGF0
aW9uLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRSZW5kZXJpbmdN
b2RlLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRTZWxlY3Rvci5o
IFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDc2MzQwKQorKysgU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0yOTA2LDYgKzI5MDYsNyBAQAogICAg
ICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYW1pbHkuY3BwJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9ncmFwaGljcy9Gb250RmFtaWx5LmgnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L2dyYXBoaWNzL0ZvbnRGYXN0UGF0aC5jcHAnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBo
aWNzL0ZvbnRNZXRyaWNzLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRS
ZW5kZXJpbmdNb2RlLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRTZWxl
Y3Rvci5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9Gb250U21vb3RoaW5nTW9k
ZS5oJywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCShyZXZpc2lvbiA3NjM0MCkKKysrIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUucHJvCSh3b3JraW5nIGNvcHkpCkBAIC0yMTE3LDYgKzIxMTcsNyBAQCBIRUFE
RVJTICs9IFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250RGF0YS5oIFwKICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9Gb250RGVzY3JpcHRpb24uaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dEZhbWlseS5oIFwKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oIFwKICAgICBw
bGF0Zm9ybS9ncmFwaGljcy9Gb250LmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRl
ZEltYWdlLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL0dyYWRpZW50LmggXApJbmRleDogU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDc2
MzQwKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdv
cmtpbmcgY29weSkKQEAgLTI2NTQ5LDYgKzI2NTQ5LDEwIEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+
CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xGb250
TWV0cmljcy5oIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJlbGF0aXZl
UGF0aD0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcRm9udFJlbmRlcmluZ01vZGUuaCIKIAkJCQkJPgog
CQkJCTwvRmlsZT4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDc2MzQwKQorKysgU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMDIsNiAr
MTAyLDcgQEAKIAkJMDgzREFFQTcwRjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRlclRleHRDb250cm9s
TXVsdGlMaW5lLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwODNEQUVBMzBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xNdWx0aUxpbmUu
aCAqLzsgfTsKIAkJMDgzREFFQTgwRjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRlclRleHRDb250cm9s
U2luZ2xlTGluZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAwODNEQUVBNDBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVM
aW5lLmNwcCAqLzsgfTsKIAkJMDgzREFFQTkwRjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRlclRleHRD
b250cm9sU2luZ2xlTGluZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMDgzREFFQTUwRjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRlclRleHRDb250cm9sU2lu
Z2xlTGluZS5oICovOyB9OworCQkwODQ1NjgwODEyQjkwREE2MDA5NjBBOUYgLyogRm9udE1ldHJp
Y3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NDU2
ODA3MTJCOTBEQTYwMDk2MEE5RiAvKiBGb250TWV0cmljcy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA4NEEwODI5MTI4RDc4NjcwMDJEQjFGMSAv
KiBTVkdQYXRoU2VnTGlzdFByb3BlcnR5VGVhck9mZi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg0QTA4MjgxMjhENzg2NzAwMkRCMUYxIC8qIFNWR1Bh
dGhTZWdMaXN0UHJvcGVydHlUZWFyT2ZmLmggKi87IH07CiAJCTA4NEFFQkU0MEZCNTA1RkEwMDM4
NDgzRSAvKiBTZWxlY3RFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDA4NEFFQkUyMEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxlY3RFbGVtZW50
LmNwcCAqLzsgfTsKIAkJMDg0QUVCRTUwRkI1MDVGQTAwMzg0ODNFIC8qIFNlbGVjdEVsZW1lbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NEFFQkUz
MEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxlY3RFbGVtZW50LmggKi87IH07CkBAIC02NDE2LDYgKzY0
MTcsNyBAQAogCQkwODNEQUVBMzBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xN
dWx0aUxpbmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyVGV4dENv
bnRyb2xNdWx0aUxpbmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDgzREFFQTQw
RjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxp
bmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODNEQUVBNTBGMDFBN0ZCMDAz
NDI3NTQgLyogUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkwODQ1NjgwNzEyQjkwREE2MDA5NjBBOUYgLyogRm9udE1ldHJp
Y3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udE1ldHJpY3MuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg0QTA4MjgxMjhENzg2NzAwMkRCMUYxIC8qIFNW
R1BhdGhTZWdMaXN0UHJvcGVydHlUZWFyT2ZmLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFNWR1BhdGhTZWdMaXN0UHJvcGVydHlUZWFyT2ZmLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTA4NEFFQkUyMEZCNTA1RkEwMDM4NDgzRSAvKiBTZWxlY3RFbGVtZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNlbGVjdEVsZW1lbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwODRBRUJFMzBGQjUwNUZBMDAzODQ4M0Ug
LyogU2VsZWN0RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZWxl
Y3RFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzQ1OSw2ICsxNzQ2
MSw3IEBACiAJCQkJQjJDM0RBNTgwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnRGYW1pbHkuY3BwICov
LAogCQkJCUIyQzNEQTU5MEQwMDZDRDYwMEVGNkYyNiAvKiBGb250RmFtaWx5LmggKi8sCiAJCQkJ
NzI2MjZFMDEwRUYwMjJGRTAwQTA3RTIwIC8qIEZvbnRGYXN0UGF0aC5jcHAgKi8sCisJCQkJMDg0
NTY4MDcxMkI5MERBNjAwOTYwQTlGIC8qIEZvbnRNZXRyaWNzLmggKi8sCiAJCQkJRjdBMDM0QzMx
MjZCRjZCRTAwN0RDMTlFIC8qIEZvbnRPcmllbnRhdGlvbi5oICovLAogCQkJCTM3QUNDRTQxMERB
Mjk4MEYwMDg5RTYwMiAvKiBGb250UmVuZGVyaW5nTW9kZS5oICovLAogCQkJCUIyQzNEQTVBMEQw
MDZDRDYwMEVGNkYyNiAvKiBGb250U2VsZWN0b3IuaCAqLywKQEAgLTIwNjMwLDYgKzIwNjMzLDcg
QEAKIAkJCQlCMkMzREE2ODBEMDA2Q0Q2MDBFRjZGMjYgLyogRm9udEZhbGxiYWNrTGlzdC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQjJDM0RBNkEwRDAwNkNENjAwRUY2RjI2IC8qIEZvbnRGYW1pbHku
aCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU2Q0YzMEExOTg5Q0EwMDdGQjhDNSAvKiBGb250RmFt
aWx5VmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTA4NDU2ODA4MTJCOTBEQTYwMDk2MEE5RiAv
KiBGb250TWV0cmljcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjdBMDM0QzQxMjZCRjZCRTAwN0RD
MTlFIC8qIEZvbnRPcmllbnRhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjUzMjBENkIxMjJB
MjRFOTAwMkQxNDQwIC8qIEZvbnRQbGF0Zm9ybURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3
QUNDRTQyMERBMjk4MEYwMDg5RTYwMiAvKiBGb250UmVuZGVyaW5nTW9kZS5oIGluIEhlYWRlcnMg
Ki8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlckF0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9ndGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwCShyZXZpc2lvbiA3
NjM0MCkKKysrIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlP
YmplY3RXcmFwcGVyQXRrLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIzMCw4ICsxMjMwLDggQEAg
c3RhdGljIGludCBiYXNlbGluZVBvc2l0aW9uRm9yQWNjZXNzaWJpbAogICAgIC8vIEZJWE1FOiBU
aGlzIGltcGxlbWVudGF0aW9uIG9mIGJhc2VsaW5lUG9zaXRpb24gb3JpZ2luYXRlcyBmcm9tIFJl
bmRlck9iamVjdC5jcHAgYW5kIHdhcwogICAgIC8vIHJlbW92ZWQgaW4gcjcwMDcyLiBUaGUgaW1w
bGVtZW50YXRpb24gbG9va3MgaW5jb3JyZWN0IHRob3VnaCwgYmVjYXVzZSB0aGlzIGlzIG5vdCB0
aGUKICAgICAvLyBiYXNlbGluZSBvZiB0aGUgdW5kZXJseWluZyBSZW5kZXJPYmplY3QsIGJ1dCBv
ZiB0aGUgQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC4KLSAgICBjb25zdCBGb250JiBmID0gcmVu
ZGVyT2JqZWN0LT5maXJzdExpbmVTdHlsZSgpLT5mb250KCk7Ci0gICAgcmV0dXJuIGYuYXNjZW50
KCkgKyAocmVuZGVyT2JqZWN0LT5maXJzdExpbmVTdHlsZSgpLT5jb21wdXRlZExpbmVIZWlnaHQo
KSAtIGYuaGVpZ2h0KCkpIC8gMjsKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3Mg
PSByZW5kZXJPYmplY3QtPmZpcnN0TGluZVN0eWxlKCktPmZvbnRNZXRyaWNzKCk7CisgICAgcmV0
dXJuIGZvbnRNZXRyaWNzLmFzY2VudCgpICsgKHJlbmRlck9iamVjdC0+Zmlyc3RMaW5lU3R5bGUo
KS0+Y29tcHV0ZWRMaW5lSGVpZ2h0KCkgLSBmb250TWV0cmljcy5oZWlnaHQoKSkgLyAyOwogfQog
CiBzdGF0aWMgQXRrQXR0cmlidXRlU2V0KiBnZXRBdHRyaWJ1dGVTZXRGb3JBY2Nlc3NpYmlsaXR5
T2JqZWN0KGNvbnN0IEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAkocmV2aXNpb24gNzYzNDApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
MDAsNyArNDAwLDcgQEAgZG91YmxlIENTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoRAog
ICAgICAgICAgICAgLy8gV2UgcmVhbGx5IG5lZWQgdG8gY29tcHV0ZSBFWCB1c2luZyBmb250TWV0
cmljcyBmb3IgdGhlIG9yaWdpbmFsIHNwZWNpZmllZFNpemUgYW5kIG5vdCB1c2UKICAgICAgICAg
ICAgIC8vIG91ciBhY3R1YWwgY29uc3RydWN0ZWQgcmVuZGVyaW5nIGZvbnQuCiAgICAgICAgICAg
ICBhcHBseVpvb21NdWx0aXBsaWVyID0gZmFsc2U7Ci0gICAgICAgICAgICBmYWN0b3IgPSBzdHls
ZS0+Zm9udCgpLnhIZWlnaHQoKTsKKyAgICAgICAgICAgIGZhY3RvciA9IHN0eWxlLT5mb250TWV0
cmljcygpLnhIZWlnaHQoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENTU19S
RU1TOgogICAgICAgICAgICAgYXBwbHlab29tTXVsdGlwbGllciA9IGZhbHNlOwpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQuY3BwCShyZXZpc2lvbiA3NjM0MCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3NjAsNyAr
MTc2MCw4IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3VGV4dEkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgY29uc3QgRm9udCYgZm9udCA9IGFjY2Vzc0ZvbnQoKTsKLSAgICAK
KyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBmb250LmZvbnRNZXRyaWNzKCk7
CisKICAgICAvLyBGSVhNRTogSGFuZGxlIG1heFdpZHRoLgogICAgIC8vIEZJWE1FOiBOZWVkIHRv
IHR1cm4gb2ZmIGZvbnQgc21vb3RoaW5nLgogCkBAIC0xNzc3LDE0ICsxNzc4LDE0IEBAIHZvaWQg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3VGV4dEkKICAgICBzd2l0Y2ggKHN0YXRlKCku
bV90ZXh0QmFzZWxpbmUpIHsKICAgICBjYXNlIFRvcFRleHRCYXNlbGluZToKICAgICBjYXNlIEhh
bmdpbmdUZXh0QmFzZWxpbmU6Ci0gICAgICAgIGxvY2F0aW9uLnNldFkoeSArIGZvbnQuYXNjZW50
KCkpOworICAgICAgICBsb2NhdGlvbi5zZXRZKHkgKyBmb250TWV0cmljcy5hc2NlbnQoKSk7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgQm90dG9tVGV4dEJhc2VsaW5lOgogICAgIGNhc2UgSWRl
b2dyYXBoaWNUZXh0QmFzZWxpbmU6Ci0gICAgICAgIGxvY2F0aW9uLnNldFkoeSAtIGZvbnQuZGVz
Y2VudCgpKTsKKyAgICAgICAgbG9jYXRpb24uc2V0WSh5IC0gZm9udE1ldHJpY3MuZGVzY2VudCgp
KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBNaWRkbGVUZXh0QmFzZWxpbmU6Ci0gICAgICAg
IGxvY2F0aW9uLnNldFkoeSAtIGZvbnQuZGVzY2VudCgpICsgZm9udC5oZWlnaHQoKSAvIDIpOwor
ICAgICAgICBsb2NhdGlvbi5zZXRZKHkgLSBmb250TWV0cmljcy5kZXNjZW50KCkgKyBmb250TWV0
cmljcy5oZWlnaHQoKSAvIDIpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEFscGhhYmV0aWNU
ZXh0QmFzZWxpbmU6CiAgICAgZGVmYXVsdDoKQEAgLTE4MTIsOCArMTgxMyw4IEBAIHZvaWQgQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3VGV4dEkKICAgICB9CiAKICAgICAvLyBUaGUgc2xv
cCBidWlsdCBpbiB0byB0aGlzIG1hc2sgcmVjdCBtYXRjaGVzIHRoZSBoZXVyaXN0aWMgdXNlZCBp
biBGb250Q0dXaW4uY3BwIGZvciBHREkgdGV4dC4KLSAgICBGbG9hdFJlY3QgdGV4dFJlY3QgPSBG
bG9hdFJlY3QobG9jYXRpb24ueCgpIC0gZm9udC5oZWlnaHQoKSAvIDIsIGxvY2F0aW9uLnkoKSAt
IGZvbnQuYXNjZW50KCkgLSBmb250LmxpbmVHYXAoKSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgd2lkdGggKyBmb250LmhlaWdodCgpLCBmb250LmxpbmVTcGFjaW5nKCkpOwor
ICAgIEZsb2F0UmVjdCB0ZXh0UmVjdCA9IEZsb2F0UmVjdChsb2NhdGlvbi54KCkgLSBmb250TWV0
cmljcy5oZWlnaHQoKSAvIDIsIGxvY2F0aW9uLnkoKSAtIGZvbnRNZXRyaWNzLmFzY2VudCgpIC0g
Zm9udE1ldHJpY3MubGluZUdhcCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB3aWR0aCArIGZvbnRNZXRyaWNzLmhlaWdodCgpLCBmb250TWV0cmljcy5saW5lU3BhY2luZygp
KTsKICAgICBpZiAoIWZpbGwpCiAgICAgICAgIHRleHRSZWN0LmluZmxhdGUoYy0+c3Ryb2tlVGhp
Y2tuZXNzKCkgLyAyKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDb250cm9sbGVyLmNwcAkocmV2aXNpb24gNzYzNDApCisrKyBTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0
MTcsNyArMTQxNyw3IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZHJhd0VsZW1lbnRUaXQK
ICAgICBjb250ZXh0LnNldEZpbGxDb2xvcih0b29sdGlwQmFja2dyb3VuZENvbG9yLCBDb2xvclNw
YWNlRGV2aWNlUkdCKTsKICAgICBjb250ZXh0LmRyYXdSZWN0KHRpdGxlUmVjdCk7CiAgICAgY29u
dGV4dC5zZXRGaWxsQ29sb3IodG9vbHRpcEZvbnRDb2xvciwgQ29sb3JTcGFjZURldmljZVJHQik7
Ci0gICAgY29udGV4dC5kcmF3VGV4dChmb250LCBub2RlVGl0bGVSdW4sIEludFBvaW50KHRpdGxl
UmVjdC54KCkgKyByZWN0SW5mbGF0ZVB4LCB0aXRsZVJlY3QueSgpICsgZm9udC5oZWlnaHQoKSkp
OworICAgIGNvbnRleHQuZHJhd1RleHQoZm9udCwgbm9kZVRpdGxlUnVuLCBJbnRQb2ludCh0aXRs
ZVJlY3QueCgpICsgcmVjdEluZmxhdGVQeCwgdGl0bGVSZWN0LnkoKSArIGZvbnQuZm9udE1ldHJp
Y3MoKS5oZWlnaHQoKSkpOwogfQogCiB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6Om9wZW5Jbklu
c3BlY3RlZFdpbmRvdyhjb25zdCBTdHJpbmcmIHVybCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAJKHJldmlz
aW9uIDc2MzQwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51
Q2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05ODAsNyArOTgwLDcgQEAgdm9pZCBQb3B1
cExpc3RCb3g6OnBhaW50Um93KEdyYXBoaWNzQ29udAogICAgICAgICB0ZXh0WCArPSBtYXhXaWR0
aCAtIGl0ZW1Gb250LndpZHRoKHRleHRSdW4pOwogCiAgICAgLy8gRHJhdyB0aGUgaXRlbSB0ZXh0
LgotICAgIGludCB0ZXh0WSA9IHJvd1JlY3QueSgpICsgaXRlbUZvbnQuYXNjZW50KCkgKyAocm93
UmVjdC5oZWlnaHQoKSAtIGl0ZW1Gb250LmhlaWdodCgpKSAvIDI7CisgICAgaW50IHRleHRZID0g
cm93UmVjdC55KCkgKyBpdGVtRm9udC5mb250TWV0cmljcygpLmFzY2VudCgpICsgKHJvd1JlY3Qu
aGVpZ2h0KCkgLSBpdGVtRm9udC5mb250TWV0cmljcygpLmhlaWdodCgpKSAvIDI7CiAgICAgZ2Mt
PmRyYXdCaWRpVGV4dChpdGVtRm9udCwgdGV4dFJ1biwgSW50UG9pbnQodGV4dFgsIHRleHRZKSk7
CiAKICAgICAvLyBXZSBhcmUgdXNpbmcgdGhlIGxlZnQgcGFkZGluZyBhcyB0aGUgcmlnaHQgcGFk
ZGluZyBpbmNsdWRlcyByb29tIGZvciB0aGUgc2Nyb2xsLWJhciB3aGljaApAQCAtMTEyMCw3ICsx
MTIwLDcgQEAgaW50IFBvcHVwTGlzdEJveDo6Z2V0Um93SGVpZ2h0KGludCBpbmRleAogICAgIFN0
cmluZyBpY29uID0gbV9wb3B1cENsaWVudC0+aXRlbUljb24oaW5kZXgpOwogICAgIFJlZlB0cjxJ
bWFnZT4gaW1hZ2UoSW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291cmNlKGljb24udXRmOCgpLmRhdGEo
KSkpOwogCi0gICAgaW50IGZvbnRIZWlnaHQgPSBnZXRSb3dGb250KGluZGV4KS5oZWlnaHQoKTsK
KyAgICBpbnQgZm9udEhlaWdodCA9IGdldFJvd0ZvbnQoaW5kZXgpLmZvbnRNZXRyaWNzKCkuaGVp
Z2h0KCk7CiAgICAgaW50IGljb25IZWlnaHQgPSAoaW1hZ2UgJiYgIWltYWdlLT5pc051bGwoKSkg
PyBpbWFnZS0+cmVjdCgpLmhlaWdodCgpIDogMDsKIAogICAgIHJldHVybiBtYXgoZm9udEhlaWdo
dCwgaWNvbkhlaWdodCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
b250LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9u
dC5oCShyZXZpc2lvbiA3NjM0MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0ZvbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDMsNyArNDMsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBjbGFzcyBGbG9hdFBvaW50OwogY2xhc3MgRmxvYXRSZWN0OwogY2xhc3MgRm9udERhdGE7
Ci1jbGFzcyBGb250RmFsbGJhY2tMaXN0OworY2xhc3MgRm9udE1ldHJpY3M7CiBjbGFzcyBGb250
UGxhdGZvcm1EYXRhOwogY2xhc3MgRm9udFNlbGVjdG9yOwogY2xhc3MgR2x5cGhCdWZmZXI7CkBA
IC01NCw4ICs1NCw2IEBAIGNsYXNzIFRleHRSdW47CiAKIHN0cnVjdCBHbHlwaERhdGE7CiAKLWNv
bnN0IHVuc2lnbmVkIGRlZmF1bHRVbml0c1BlckVtID0gMTAwMDsKLQogc3RydWN0IEdseXBoT3Zl
cmZsb3cgewogICAgIEdseXBoT3ZlcmZsb3coKQogICAgICAgICA6IGxlZnQoMCkKQEAgLTEyOCwx
MyArMTI2LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNQbGF0Zm9ybUZvbnQoKSBjb25zdCB7IHJl
dHVybiBtX2lzUGxhdGZvcm1Gb250OyB9CiAKICAgICAvLyBNZXRyaWNzIHRoYXQgd2UgcXVlcnkg
dGhlIEZvbnRGYWxsYmFja0xpc3QgZm9yLgotICAgIGludCBhc2NlbnQoRm9udEJhc2VsaW5lIGJh
c2VsaW5lVHlwZSA9IEFscGhhYmV0aWNCYXNlbGluZSkgY29uc3QgeyByZXR1cm4gcHJpbWFyeUZv
bnQoKS0+YXNjZW50KGJhc2VsaW5lVHlwZSk7IH0KLSAgICBpbnQgZGVzY2VudChGb250QmFzZWxp
bmUgYmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBjb25zdCB7IHJldHVybiBwcmlt
YXJ5Rm9udCgpLT5kZXNjZW50KGJhc2VsaW5lVHlwZSk7IH0KLSAgICBpbnQgaGVpZ2h0KCkgY29u
c3QgeyByZXR1cm4gYXNjZW50KCkgKyBkZXNjZW50KCk7IH0KLSAgICBpbnQgbGluZVNwYWNpbmco
KSBjb25zdCB7IHJldHVybiBwcmltYXJ5Rm9udCgpLT5saW5lU3BhY2luZygpOyB9Ci0gICAgaW50
IGxpbmVHYXAoKSBjb25zdCB7IHJldHVybiBwcmltYXJ5Rm9udCgpLT5saW5lR2FwKCk7IH0KLSAg
ICBmbG9hdCB4SGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gcHJpbWFyeUZvbnQoKS0+eEhlaWdodCgp
OyB9Ci0gICAgdW5zaWduZWQgdW5pdHNQZXJFbSgpIGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250
KCktPnVuaXRzUGVyRW0oKTsgfQorICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcygp
IGNvbnN0IHsgcmV0dXJuIHByaW1hcnlGb250KCktPmZvbnRNZXRyaWNzKCk7IH0KICAgICBpbnQg
c3BhY2VXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIChpbnQpY2VpbGYocHJpbWFyeUZvbnQoKS0+YWRq
dXN0ZWRTcGFjZVdpZHRoKCkgKyBtX2xldHRlclNwYWNpbmcpOyB9CiAgICAgZmxvYXQgdGFiV2lk
dGgoY29uc3QgU2ltcGxlRm9udERhdGEmIGZvbnREYXRhKSBjb25zdCB7IHJldHVybiA4ICogY2Vp
bGYoZm9udERhdGEuYWRqdXN0ZWRTcGFjZVdpZHRoKCkgKyBsZXR0ZXJTcGFjaW5nKCkpOyB9CiAg
ICAgaW50IGVtcGhhc2lzTWFya0FzY2VudChjb25zdCBBdG9taWNTdHJpbmcmKSBjb25zdDsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRGYXN0UGF0aC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udEZhc3RQYXRo
LmNwcAkocmV2aXNpb24gNzYzNDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250RmFzdFBhdGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNTIsNyArMjUyLDcgQEAgaW50
IEZvbnQ6OmVtcGhhc2lzTWFya0FzY2VudChjb25zdCBBdG9taQogICAgIGlmICghbWFya0ZvbnRE
YXRhKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHJldHVybiBtYXJrRm9udERhdGEtPmFzY2Vu
dCgpOworICAgIHJldHVybiBtYXJrRm9udERhdGEtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCk7CiB9
CiAKIGludCBGb250OjplbXBoYXNpc01hcmtEZXNjZW50KGNvbnN0IEF0b21pY1N0cmluZyYgbWFy
aykgY29uc3QKQEAgLTI2Niw3ICsyNjYsNyBAQCBpbnQgRm9udDo6ZW1waGFzaXNNYXJrRGVzY2Vu
dChjb25zdCBBdG9tCiAgICAgaWYgKCFtYXJrRm9udERhdGEpCiAgICAgICAgIHJldHVybiAwOwog
Ci0gICAgcmV0dXJuIG1hcmtGb250RGF0YS0+ZGVzY2VudCgpOworICAgIHJldHVybiBtYXJrRm9u
dERhdGEtPmZvbnRNZXRyaWNzKCkuZGVzY2VudCgpOwogfQogCiBpbnQgRm9udDo6ZW1waGFzaXNN
YXJrSGVpZ2h0KGNvbnN0IEF0b21pY1N0cmluZyYgbWFyaykgY29uc3QKQEAgLTI4MCw3ICsyODAs
NyBAQCBpbnQgRm9udDo6ZW1waGFzaXNNYXJrSGVpZ2h0KGNvbnN0IEF0b21pCiAgICAgaWYgKCFt
YXJrRm9udERhdGEpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgcmV0dXJuIG1hcmtGb250RGF0
YS0+aGVpZ2h0KCk7CisgICAgcmV0dXJuIG1hcmtGb250RGF0YS0+Zm9udE1ldHJpY3MoKS5oZWln
aHQoKTsKIH0KIAogZmxvYXQgRm9udDo6Z2V0R2x5cGhzQW5kQWR2YW5jZXNGb3JTaW1wbGVUZXh0
KGNvbnN0IFRleHRSdW4mIHJ1biwgaW50IGZyb20sIGludCB0bywgR2x5cGhCdWZmZXImIGdseXBo
QnVmZmVyLCBGb3JUZXh0RW1waGFzaXNPck5vdCBmb3JUZXh0RW1waGFzaXMpIGNvbnN0CkBAIC00
MTQsOCArNDE0LDggQEAgZmxvYXQgRm9udDo6ZmxvYXRXaWR0aEZvclNpbXBsZVRleHQoY29ucwog
ICAgIGl0LmFkdmFuY2UocnVuLmxlbmd0aCgpLCBnbHlwaEJ1ZmZlcik7CiAKICAgICBpZiAoZ2x5
cGhPdmVyZmxvdykgewotICAgICAgICBnbHlwaE92ZXJmbG93LT50b3AgPSBtYXg8aW50PihnbHlw
aE92ZXJmbG93LT50b3AsIGNlaWxmKC1pdC5taW5HbHlwaEJvdW5kaW5nQm94WSgpKSAtIGFzY2Vu
dCgpKTsKLSAgICAgICAgZ2x5cGhPdmVyZmxvdy0+Ym90dG9tID0gbWF4PGludD4oZ2x5cGhPdmVy
Zmxvdy0+Ym90dG9tLCBjZWlsZihpdC5tYXhHbHlwaEJvdW5kaW5nQm94WSgpKSAtIGRlc2NlbnQo
KSk7CisgICAgICAgIGdseXBoT3ZlcmZsb3ctPnRvcCA9IG1heDxpbnQ+KGdseXBoT3ZlcmZsb3ct
PnRvcCwgY2VpbGYoLWl0Lm1pbkdseXBoQm91bmRpbmdCb3hZKCkpIC0gZm9udE1ldHJpY3MoKS5h
c2NlbnQoKSk7CisgICAgICAgIGdseXBoT3ZlcmZsb3ctPmJvdHRvbSA9IG1heDxpbnQ+KGdseXBo
T3ZlcmZsb3ctPmJvdHRvbSwgY2VpbGYoaXQubWF4R2x5cGhCb3VuZGluZ0JveFkoKSkgLSBmb250
TWV0cmljcygpLmRlc2NlbnQoKSk7CiAgICAgICAgIGdseXBoT3ZlcmZsb3ctPmxlZnQgPSBjZWls
ZihpdC5maXJzdEdseXBoT3ZlcmZsb3coKSk7CiAgICAgICAgIGdseXBoT3ZlcmZsb3ctPnJpZ2h0
ID0gY2VpbGYoaXQubGFzdEdseXBoT3ZlcmZsb3coKSk7CiAgICAgfQpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udE1ldHJpY3MuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250TWV0cmljcy5oCShyZXZpc2lvbiAwKQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udE1ldHJpY3MuaAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwxMjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIElu
IE1vdGlvbiBMaW1pdGVkIDIwMTAtMjAxMS4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor
ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo
IEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBG
b250TWV0cmljc19oCisjZGVmaW5lIEZvbnRNZXRyaWNzX2gKKworI2luY2x1ZGUgPHd0Zi9NYXRo
RXh0cmFzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY29uc3QgdW5zaWduZWQgZ0RlZmF1
bHRVbml0c1BlckVtID0gMTAwMDsKKworY2xhc3MgRm9udE1ldHJpY3MgeworcHVibGljOgorICAg
IEZvbnRNZXRyaWNzKCkKKyAgICAgICAgOiBtX3VuaXRzUGVyRW0oZ0RlZmF1bHRVbml0c1BlckVt
KQorICAgICAgICAsIG1fYXNjZW50KDApCisgICAgICAgICwgbV9kZXNjZW50KDApCisgICAgICAg
ICwgbV9saW5lR2FwKDApCisgICAgICAgICwgbV94SGVpZ2h0KDApCisgICAgeworICAgIH0KKwor
ICAgIHVuc2lnbmVkIHVuaXRzUGVyRW0oKSBjb25zdCB7IHJldHVybiBtX3VuaXRzUGVyRW07IH0K
KyAgICB2b2lkIHNldFVuaXRzUGVyRW0odW5zaWduZWQgdW5pdHNQZXJFbSkgeyBtX3VuaXRzUGVy
RW0gPSB1bml0c1BlckVtOyB9CisKKyAgICBmbG9hdCBmbG9hdEFzY2VudChGb250QmFzZWxpbmUg
YmFzZWxpbmVUeXBlID0gQWxwaGFiZXRpY0Jhc2VsaW5lKSBjb25zdAorICAgIHsKKyAgICAgICAg
aWYgKGJhc2VsaW5lVHlwZSA9PSBBbHBoYWJldGljQmFzZWxpbmUpCisgICAgICAgICAgICByZXR1
cm4gbV9hc2NlbnQ7CisgICAgICAgIHJldHVybiBmbG9hdEhlaWdodCgpIC8gMjsKKyAgICB9CisK
KyAgICB2b2lkIHNldEFzY2VudChmbG9hdCBhc2NlbnQpIHsgbV9hc2NlbnQgPSBhc2NlbnQ7IH0K
KworICAgIGZsb2F0IGZsb2F0RGVzY2VudChGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlID0gQWxw
aGFiZXRpY0Jhc2VsaW5lKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKGJhc2VsaW5lVHlwZSA9
PSBBbHBoYWJldGljQmFzZWxpbmUpCisgICAgICAgICAgICByZXR1cm4gbV9kZXNjZW50OworICAg
ICAgICByZXR1cm4gZmxvYXRIZWlnaHQoKSAvIDI7CisgICAgfQorCisgICAgdm9pZCBzZXREZXNj
ZW50KGZsb2F0IGRlc2NlbnQpIHsgbV9kZXNjZW50ID0gZGVzY2VudDsgfQorCisgICAgZmxvYXQg
ZmxvYXRIZWlnaHQoRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0aWNCYXNlbGlu
ZSkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBmbG9hdEFzY2VudChiYXNlbGluZVR5cGUp
ICsgZmxvYXREZXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgfQorCisgICAgZmxvYXQgZmxvYXRM
aW5lR2FwKCkgY29uc3QgeyByZXR1cm4gbV9saW5lR2FwOyB9CisgICAgdm9pZCBzZXRMaW5lR2Fw
KGZsb2F0IGxpbmVHYXApIHsgbV9saW5lR2FwID0gbGluZUdhcDsgfQorCisgICAgZmxvYXQgZmxv
YXRMaW5lU3BhY2luZygpIGNvbnN0IHsgcmV0dXJuIG1fYXNjZW50ICsgbV9kZXNjZW50ICsgbV9s
aW5lR2FwOyB9CisKKyAgICBmbG9hdCB4SGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbV94SGVpZ2h0
OyB9CisgICAgdm9pZCBzZXRYSGVpZ2h0KGZsb2F0IHhIZWlnaHQpIHsgbV94SGVpZ2h0ID0geEhl
aWdodDsgfQorCisgICAgLy8gSW50ZWdlciB2YXJpYW50cyBvZiBjZXJ0YWluIG1ldHJpY3MsIHVz
ZWQgZm9yIEhUTUwgcmVuZGVyaW5nLgorICAgIGludCBhc2NlbnQoRm9udEJhc2VsaW5lIGJhc2Vs
aW5lVHlwZSA9IEFscGhhYmV0aWNCYXNlbGluZSkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChi
YXNlbGluZVR5cGUgPT0gQWxwaGFiZXRpY0Jhc2VsaW5lKQorICAgICAgICAgICAgcmV0dXJuIGxy
b3VuZGYobV9hc2NlbnQpOworICAgICAgICByZXR1cm4gaGVpZ2h0KCkgLSBoZWlnaHQoKSAvIDI7
CisgICAgfQorCisgICAgaW50IGRlc2NlbnQoRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSA9IEFs
cGhhYmV0aWNCYXNlbGluZSkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChiYXNlbGluZVR5cGUg
PT0gQWxwaGFiZXRpY0Jhc2VsaW5lKQorICAgICAgICAgICAgcmV0dXJuIGxyb3VuZGYobV9kZXNj
ZW50KTsKKyAgICAgICAgcmV0dXJuIGhlaWdodCgpIC8gMjsKKyAgICB9CisKKyAgICBpbnQgaGVp
Z2h0KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNvbnN0
CisgICAgeworICAgICAgICByZXR1cm4gYXNjZW50KGJhc2VsaW5lVHlwZSkgKyBkZXNjZW50KGJh
c2VsaW5lVHlwZSk7CisgICAgfQorCisgICAgaW50IGxpbmVHYXAoKSBjb25zdCB7IHJldHVybiBs
cm91bmRmKG1fbGluZUdhcCk7IH0KKworICAgIGludCBsaW5lU3BhY2luZygpIGNvbnN0CisgICAg
eworICAgICAgICAvLyBUaGlzIG1pbWljcyB0aGUgb2xkIFdlYkNvcmUgZGVmaW5pdGlvbiBvZiBs
aW5lU3BhY2luZy4gQ2hhbmdpbmcgdG8gbHJvdW5kZihtX2FzY2VudCArIG1fZGVzY2VudCArIG1f
bGluZUdhcCkgY2F1c2VzIGxvdHMgb2YgMXB4IGhlaWdodCBkaWZmZXJlbmNlcyBpbiB0aGUgRFJU
IGR1bXBzCisgICAgICAgIHJldHVybiBscm91bmRmKG1fYXNjZW50KSArIGxyb3VuZGYobV9kZXNj
ZW50KSArIGxyb3VuZGYobV9saW5lR2FwKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgZnJpZW5k
IGNsYXNzIFNpbXBsZUZvbnREYXRhOworCisgICAgdm9pZCByZXNldCgpCisgICAgeworICAgICAg
ICBtX3VuaXRzUGVyRW0gPSBnRGVmYXVsdFVuaXRzUGVyRW07CisgICAgICAgIG1fYXNjZW50ID0g
MDsKKyAgICAgICAgbV9kZXNjZW50ID0gMDsKKyAgICAgICAgbV9saW5lR2FwID0gMDsKKyAgICAg
ICAgbV94SGVpZ2h0ID0gMDsKKyAgICB9CisKKyAgICB1bnNpZ25lZCBtX3VuaXRzUGVyRW07Cisg
ICAgZmxvYXQgbV9hc2NlbnQ7CisgICAgZmxvYXQgbV9kZXNjZW50OworICAgIGZsb2F0IG1fbGlu
ZUdhcDsKKyAgICBmbG9hdCBtX3hIZWlnaHQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBGb250TWV0cmljc19oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwCShyZXZpc2lvbiA3NjM0MCkK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTAsNyArNTAsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBTaW1w
bGVGb250RGF0YTo6U2ltcGxlRm9udERhdGEoY29uc3QgRm9udFBsYXRmb3JtRGF0YSYgcGxhdGZv
cm1EYXRhLCBib29sIGlzQ3VzdG9tRm9udCwgYm9vbCBpc0xvYWRpbmcpCiAgICAgOiBtX21heENo
YXJXaWR0aCgtMSkKICAgICAsIG1fYXZnQ2hhcldpZHRoKC0xKQotICAgICwgbV91bml0c1BlckVt
KGRlZmF1bHRVbml0c1BlckVtKQogICAgICwgbV9vcmllbnRhdGlvbihwbGF0Zm9ybURhdGEub3Jp
ZW50YXRpb24oKSkKICAgICAsIG1fcGxhdGZvcm1EYXRhKHBsYXRmb3JtRGF0YSkKICAgICAsIG1f
dHJlYXRBc0ZpeGVkUGl0Y2goZmFsc2UpCkBAIC03NCwyMyArNzMsMjggQEAgU2ltcGxlRm9udERh
dGE6OlNpbXBsZUZvbnREYXRhKFBhc3NPd25QdAogICAgICwgbV9pc0Jyb2tlbklkZW9ncmFwaEZv
bnQoZmFsc2UpCiB7CiAgICAgU1ZHRm9udEZhY2VFbGVtZW50KiBzdmdGb250RmFjZUVsZW1lbnQg
PSBtX3N2Z0ZvbnREYXRhLT5zdmdGb250RmFjZUVsZW1lbnQoKTsKLSAgICBtX3VuaXRzUGVyRW0g
PSBzdmdGb250RmFjZUVsZW1lbnQtPnVuaXRzUGVyRW0oKTsKKyAgICB1bnNpZ25lZCB1bml0c1Bl
ckVtID0gc3ZnRm9udEZhY2VFbGVtZW50LT51bml0c1BlckVtKCk7CiAKLSAgICBkb3VibGUgc2Nh
bGUgPSBzaXplOwotICAgIGlmIChtX3VuaXRzUGVyRW0pCi0gICAgICAgIHNjYWxlIC89IG1fdW5p
dHNQZXJFbTsKLQotICAgIG1fYXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50PihzdmdGb250RmFjZUVs
ZW1lbnQtPmFzY2VudCgpICogc2NhbGUpOwotICAgIG1fZGVzY2VudCA9IHN0YXRpY19jYXN0PGlu
dD4oc3ZnRm9udEZhY2VFbGVtZW50LT5kZXNjZW50KCkgKiBzY2FsZSk7Ci0gICAgbV94SGVpZ2h0
ID0gc3RhdGljX2Nhc3Q8aW50PihzdmdGb250RmFjZUVsZW1lbnQtPnhIZWlnaHQoKSAqIHNjYWxl
KTsKLSAgICBtX2xpbmVHYXAgPSAwLjFmICogc2l6ZTsKLSAgICBtX2xpbmVTcGFjaW5nID0gbV9h
c2NlbnQgKyBtX2Rlc2NlbnQgKyBtX2xpbmVHYXA7CisgICAgZmxvYXQgc2NhbGUgPSBzaXplOwor
ICAgIGlmICh1bml0c1BlckVtKQorICAgICAgICBzY2FsZSAvPSB1bml0c1BlckVtOworCisgICAg
Ly8gRklYTUU6IFVzZSBmbG9hdGluZy1wb2ludCBtZXRyaWNzLCBub3cgdGhhdCB0aGV5J3JlIGV4
cG9zZWQhCisgICAgaW50IHhIZWlnaHQgPSBzdGF0aWNfY2FzdDxpbnQ+KHN2Z0ZvbnRGYWNlRWxl
bWVudC0+eEhlaWdodCgpICogc2NhbGUpOworICAgIGludCBhc2NlbnQgPSBzdGF0aWNfY2FzdDxp
bnQ+KHN2Z0ZvbnRGYWNlRWxlbWVudC0+YXNjZW50KCkgKiBzY2FsZSk7CisgICAgaW50IGRlc2Nl
bnQgPSBzdGF0aWNfY2FzdDxpbnQ+KHN2Z0ZvbnRGYWNlRWxlbWVudC0+ZGVzY2VudCgpICogc2Nh
bGUpOworICAgIGludCBsaW5lR2FwID0gc3RhdGljX2Nhc3Q8aW50PigwLjFmICogc2l6ZSk7Cisg
ICAgbV9mb250TWV0cmljcy5zZXRVbml0c1BlckVtKHVuaXRzUGVyRW0pOworICAgIG1fZm9udE1l
dHJpY3Muc2V0QXNjZW50KGFzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGRl
c2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChsaW5lR2FwKTsKKyAgICBtX2Zv
bnRNZXRyaWNzLnNldFhIZWlnaHQoeEhlaWdodCk7CiAKICAgICBTVkdGb250RWxlbWVudCogYXNz
b2NpYXRlZEZvbnRFbGVtZW50ID0gc3ZnRm9udEZhY2VFbGVtZW50LT5hc3NvY2lhdGVkRm9udEVs
ZW1lbnQoKTsKIAogICAgIFZlY3RvcjxTVkdHbHlwaElkZW50aWZpZXI+IHNwYWNlR2x5cGhzOwog
ICAgIGFzc29jaWF0ZWRGb250RWxlbWVudC0+Z2V0R2x5cGhJZGVudGlmaWVyc0ZvclN0cmluZyhT
dHJpbmcoIiAiLCAxKSwgc3BhY2VHbHlwaHMpOwotICAgIG1fc3BhY2VXaWR0aCA9IHNwYWNlR2x5
cGhzLmlzRW1wdHkoKSA/IG1feEhlaWdodCA6IHN0YXRpY19jYXN0PGZsb2F0PihzcGFjZUdseXBo
cy5maXJzdCgpLmhvcml6b250YWxBZHZhbmNlWCAqIHNjYWxlKTsKKyAgICBtX3NwYWNlV2lkdGgg
PSBzcGFjZUdseXBocy5pc0VtcHR5KCkgPyB4SGVpZ2h0IDogc3RhdGljX2Nhc3Q8ZmxvYXQ+KHNw
YWNlR2x5cGhzLmZpcnN0KCkuaG9yaXpvbnRhbEFkdmFuY2VYICogc2NhbGUpOwogCiAgICAgVmVj
dG9yPFNWR0dseXBoSWRlbnRpZmllcj4gbnVtZXJhbFplcm9HbHlwaHM7CiAgICAgYXNzb2NpYXRl
ZEZvbnRFbGVtZW50LT5nZXRHbHlwaElkZW50aWZpZXJzRm9yU3RyaW5nKFN0cmluZygiMCIsIDEp
LCBudW1lcmFsWmVyb0dseXBocyk7CkBAIC05OCw3ICsxMDIsNyBAQCBTaW1wbGVGb250RGF0YTo6
U2ltcGxlRm9udERhdGEoUGFzc093blB0CiAKICAgICBWZWN0b3I8U1ZHR2x5cGhJZGVudGlmaWVy
PiBsZXR0ZXJXR2x5cGhzOwogICAgIGFzc29jaWF0ZWRGb250RWxlbWVudC0+Z2V0R2x5cGhJZGVu
dGlmaWVyc0ZvclN0cmluZyhTdHJpbmcoIlciLCAxKSwgbGV0dGVyV0dseXBocyk7Ci0gICAgbV9t
YXhDaGFyV2lkdGggPSBsZXR0ZXJXR2x5cGhzLmlzRW1wdHkoKSA/IG1fYXNjZW50IDogc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KGxldHRlcldHbHlwaHMuZmlyc3QoKS5ob3Jpem9udGFsQWR2YW5jZVggKiBz
Y2FsZSk7CisgICAgbV9tYXhDaGFyV2lkdGggPSBsZXR0ZXJXR2x5cGhzLmlzRW1wdHkoKSA/IGFz
Y2VudCA6IHN0YXRpY19jYXN0PGZsb2F0PihsZXR0ZXJXR2x5cGhzLmZpcnN0KCkuaG9yaXpvbnRh
bEFkdmFuY2VYICogc2NhbGUpOwogCiAgICAgLy8gRklYTUU6IGlzIHRoZXJlIGEgd2F5IHdlIGNh
biBnZXQgdGhlIHNwYWNlIGdseXBoIGZyb20gdGhlIFNWR0dseXBoSWRlbnRpZmllciBhYm92ZT8K
ICAgICBtX3NwYWNlR2x5cGggPSAwOwpAQCAtMTI2LDEwICsxMzAsMTEgQEAgdm9pZCBTaW1wbGVG
b250RGF0YTo6aW5pdENoYXJXaWR0aHMoKQogCiAgICAgLy8gSWYgd2UgY2FuJ3QgcmV0cmlldmUg
dGhlIHdpZHRoIG9mIGEgJzAnLCBmYWxsIGJhY2sgdG8gdGhlIHggaGVpZ2h0LgogICAgIGlmICht
X2F2Z0NoYXJXaWR0aCA8PSAwLmYpCi0gICAgICAgIG1fYXZnQ2hhcldpZHRoID0gbV94SGVpZ2h0
OworICAgICAgICBtX2F2Z0NoYXJXaWR0aCA9IG1fZm9udE1ldHJpY3MueEhlaWdodCgpOwogCisg
ICAgLy8gRklYTUU6IFVzZSBmbG9hdGluZy1wb2ludCBtZXRyaWNzLCBub3cgdGhhdCB0aGV5J3Jl
IGV4cG9zZWQhCiAgICAgaWYgKG1fbWF4Q2hhcldpZHRoIDw9IDAuZikKLSAgICAgICAgbV9tYXhD
aGFyV2lkdGggPSBtYXg8ZmxvYXQ+KG1fYXZnQ2hhcldpZHRoLCBtX2FzY2VudCk7CisgICAgICAg
IG1fbWF4Q2hhcldpZHRoID0gbWF4PGZsb2F0PihtX2F2Z0NoYXJXaWR0aCwgbV9mb250TWV0cmlj
cy5hc2NlbnQoKSk7CiB9CiAKIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtR2x5cGhJbml0
KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRh
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxl
Rm9udERhdGEuaAkocmV2aXNpb24gNzYzNDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9TaW1wbGVGb250RGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBA
CiAKICNpbmNsdWRlICJGb250QmFzZWxpbmUuaCIKICNpbmNsdWRlICJGb250RGF0YS5oIgorI2lu
Y2x1ZGUgIkZvbnRNZXRyaWNzLmgiCiAjaW5jbHVkZSAiRm9udFBsYXRmb3JtRGF0YS5oIgogI2lu
Y2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkdseXBoTWV0cmljc01hcC5oIgpAQCAtMTAx
LDE1ICsxMDIsOSBAQCBwdWJsaWM6CiAgICAgLy8gRklYTUU6IFVzZSB0aGUgYWN0dWFsIG1ldHJp
Y3MgZm9yIGZvbnRzIHdpdGggdmVydGljYWwgdGFibGVzIGluc3RlYWQgb2YganVzdCBoYXJkLWNv
ZGluZy4gIElmIHRoZSBmb250IGlzIGhvcml6b250YWxseSBvcmllbnRlZCBvcgogICAgIC8vIGEg
YnJva2VuIGlkZW9ncmFwaGljIGZvbnQsIHRoZW4ganVzdCBoYXJkLWNvZGUgdG8gc3BsaXQgYXNj
ZW50L2Rlc2NlbnQgZG93biB0aGUgbWlkZGxlLiAgT3RoZXJ3aXNlIHdlIHNob3VsZCBhY3R1YWxs
eSB1c2UgdGhlIG1ldHJpY3MKICAgICAvLyBmcm9tIHRoZSBmb250IGl0c2VsZi4KLSAgICBpbnQg
YXNjZW50KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUgPSBBbHBoYWJldGljQmFzZWxpbmUpIGNv
bnN0IHsgcmV0dXJuIGJhc2VsaW5lVHlwZSA9PSBBbHBoYWJldGljQmFzZWxpbmUgPyBtX2FzY2Vu
dCA6IGhlaWdodCgpIC0gaGVpZ2h0KCkgLyAyOyB9Ci0gICAgaW50IGRlc2NlbnQoRm9udEJhc2Vs
aW5lIGJhc2VsaW5lVHlwZSA9IEFscGhhYmV0aWNCYXNlbGluZSkgY29uc3QgeyByZXR1cm4gYmFz
ZWxpbmVUeXBlID09IEFscGhhYmV0aWNCYXNlbGluZSA/IG1fZGVzY2VudCA6IGhlaWdodCgpIC8g
MjsgfQotICAgIGludCBoZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX2FzY2VudCArIG1fZGVzY2Vu
dDsgfQotICAgIGludCBsaW5lU3BhY2luZygpIGNvbnN0IHsgcmV0dXJuIG1fbGluZVNwYWNpbmc7
IH0KLSAgICBpbnQgbGluZUdhcCgpIGNvbnN0IHsgcmV0dXJuIG1fbGluZUdhcDsgfQorICAgIGNv
bnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcygpIGNvbnN0IHsgcmV0dXJuIG1fZm9udE1ldHJp
Y3M7IH0KICAgICBmbG9hdCBtYXhDaGFyV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX21heENoYXJX
aWR0aDsgfQogICAgIGZsb2F0IGF2Z0NoYXJXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fYXZnQ2hh
cldpZHRoOyB9Ci0gICAgZmxvYXQgeEhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1feEhlaWdodDsg
fQotICAgIHVuc2lnbmVkIHVuaXRzUGVyRW0oKSBjb25zdCB7IHJldHVybiBtX3VuaXRzUGVyRW07
IH0KIAogICAgIEZsb2F0UmVjdCBib3VuZHNGb3JHbHlwaChHbHlwaCkgY29uc3Q7CiAgICAgZmxv
YXQgd2lkdGhGb3JHbHlwaChHbHlwaCBnbHlwaCkgY29uc3Q7CkBAIC0yMTEsMTQgKzIwNiw5IEBA
IHByaXZhdGU6CiAgICAgZmxvYXQgd2lkdGhGb3JHRElHbHlwaChHbHlwaCBnbHlwaCkgY29uc3Q7
CiAjZW5kaWYKIAotICAgIGludCBtX2FzY2VudDsKLSAgICBpbnQgbV9kZXNjZW50OwotICAgIGlu
dCBtX2xpbmVTcGFjaW5nOwotICAgIGludCBtX2xpbmVHYXA7CisgICAgRm9udE1ldHJpY3MgbV9m
b250TWV0cmljczsKICAgICBmbG9hdCBtX21heENoYXJXaWR0aDsKICAgICBmbG9hdCBtX2F2Z0No
YXJXaWR0aDsKLSAgICBmbG9hdCBtX3hIZWlnaHQ7Ci0gICAgdW5zaWduZWQgbV91bml0c1BlckVt
OwogICAgIAogICAgIEZvbnRPcmllbnRhdGlvbiBtX29yaWVudGF0aW9uOyAvLyBUaGlzIGlzIG91
ciBzdXBwb3J0ZWQgb3JpZW50YXRpb24gYWNjb3JkaW5nIHRvIHRoZSB0YWJsZXMgaW4gdGhlIGZv
bnQuICBGb250UGxhdGZvcm1EYXRhIHdpbGwganVzdCBhbHdheXMgaGF2ZSB0aGUgZGVzaXJlZCBv
cmllbnRhdGlvbi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyB2
YWx1ZSByZXByZXNlbnRzIHdoYXQgd2UgYWN0dWFsbHkgc3VwcG9ydC4KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0ZvbnRDaHJvbWl1bVdpbi5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRm9u
dENocm9taXVtV2luLmNwcAkocmV2aXNpb24gNzYzNDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Gb250Q2hyb21pdW1XaW4uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNDYsMTAgKzI0NiwxMSBAQCBJbnRSZWN0IFRyYW5zcGFyZW5jeUF3YXJlR2x5cGhQYWlu
dGVyOjplCiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtX251bUdseXBoczsgaSsrKQogICAgICAg
ICB0b3RhbFdpZHRoICs9IGxyb3VuZGYobV9nbHlwaEJ1ZmZlci5hZHZhbmNlQXQobV9mcm9tICsg
aSkpOwogCi0gICAgcmV0dXJuIEludFJlY3QobV9wb2ludC54KCkgLSAobV9mb250LT5hc2NlbnQo
KSArIG1fZm9udC0+ZGVzY2VudCgpKSAvIDIsCi0gICAgICAgICAgICAgICAgICAgbV9wb2ludC55
KCkgLSBtX2ZvbnQtPmFzY2VudCgpIC0gbV9mb250LT5saW5lR2FwKCksCi0gICAgICAgICAgICAg
ICAgICAgdG90YWxXaWR0aCArIG1fZm9udC0+YXNjZW50KCkgKyBtX2ZvbnQtPmRlc2NlbnQoKSwK
LSAgICAgICAgICAgICAgICAgICBtX2ZvbnQtPmxpbmVTcGFjaW5nKCkpOyAKKyAgICBjb25zdCBG
b250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBtX2ZvbnQtPmZvbnRNZXRyaWNzKCk7CisgICAgcmV0
dXJuIEludFJlY3QobV9wb2ludC54KCkgLSAoZm9udE1ldHJpY3MuYXNjZW50KCkgKyBmb250TWV0
cmljcy5kZXNjZW50KCkpIC8gMiwKKyAgICAgICAgICAgICAgICAgICBtX3BvaW50LnkoKSAtIGZv
bnRNZXRyaWNzLmFzY2VudCgpIC0gZm9udE1ldHJpY3MubGluZUdhcCgpLAorICAgICAgICAgICAg
ICAgICAgIHRvdGFsV2lkdGggKyBmb250TWV0cmljcy5hc2NlbnQoKSArIGZvbnRNZXRyaWNzLmRl
c2NlbnQoKSwKKyAgICAgICAgICAgICAgICAgICBmb250TWV0cmljcy5saW5lU3BhY2luZygpKTsg
CiB9CiAKIGJvb2wgVHJhbnNwYXJlbmN5QXdhcmVHbHlwaFBhaW50ZXI6OmRyYXdHbHlwaHMoaW50
IG51bUdseXBocywKQEAgLTI3MCw3ICsyNzEsNyBAQCBib29sIFRyYW5zcGFyZW5jeUF3YXJlR2x5
cGhQYWludGVyOjpkcmF3CiAgICAgLy8gV2luZG93cycgb3JpZ2luIGlzIHRoZSB0b3AtbGVmdCBv
ZiB0aGUgYm91bmRpbmcgYm94LCBzbyB3ZSBoYXZlCiAgICAgLy8gdG8gc3VidHJhY3Qgb2ZmIHRo
ZSBmb250IGFzY2VudCB0byBnZXQgaXQuCiAgICAgaW50IHggPSBscm91bmRmKG1fcG9pbnQueCgp
ICsgc3RhcnRBZHZhbmNlKTsKLSAgICBpbnQgeSA9IGxyb3VuZGYobV9wb2ludC55KCkgLSBtX2Zv
bnQtPmFzY2VudCgpKTsKKyAgICBpbnQgeSA9IGxyb3VuZGYobV9wb2ludC55KCkgLSBtX2ZvbnQt
PmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwogCiAgICAgLy8gSWYgdGhlcmUgaXMgYSBub24tYmx1
ciBzaGFkb3cgYW5kIGJvdGggdGhlIGZpbGwgY29sb3IgYW5kIHNoYWRvdyBjb2xvciAKICAgICAv
LyBhcmUgb3BhcXVlLCBoYW5kbGUgd2l0aG91dCBza2lhLiAKQEAgLTM1NCwxMCArMzU1LDExIEBA
IEludFJlY3QgVHJhbnNwYXJlbmN5QXdhcmVVbmlzY3JpYmVQYWludGUKICAgICAvLyBUaGlzIGFs
Z29yaXRobSBmb3IgZXN0aW1hdGluZyBob3cgbXVjaCBleHRyYSBzcGFjZSB3ZSBuZWVkICh0aGUg
dGV4dCBtYXkKICAgICAvLyBnbyBvdXRzaWRlIHRoZSBzZWxlY3Rpb24gcmVjdCkgaXMgYmFzZWQg
cm91Z2hseSBvbgogICAgIC8vIFRyYW5zcGFyZW5jeUF3YXJlR2x5cGhQYWludGVyOjplc3RpbWF0
ZVRleHRCb3VuZHMgYWJvdmUuCi0gICAgcmV0dXJuIEludFJlY3QobGVmdCAtIChtX2ZvbnQtPmFz
Y2VudCgpICsgbV9mb250LT5kZXNjZW50KCkpIC8gMiwKLSAgICAgICAgICAgICAgICAgICBtX3Bv
aW50LnkoKSAtIG1fZm9udC0+YXNjZW50KCkgLSBtX2ZvbnQtPmxpbmVHYXAoKSwKLSAgICAgICAg
ICAgICAgICAgICAocmlnaHQgLSBsZWZ0KSArIG1fZm9udC0+YXNjZW50KCkgKyBtX2ZvbnQtPmRl
c2NlbnQoKSwKLSAgICAgICAgICAgICAgICAgICBtX2ZvbnQtPmxpbmVTcGFjaW5nKCkpOworICAg
IGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IG1fZm9udC0+Zm9udE1ldHJpY3MoKTsK
KyAgICByZXR1cm4gSW50UmVjdChsZWZ0IC0gKGZvbnRNZXRyaWNzLmFzY2VudCgpICsgZm9udE1l
dHJpY3MuZGVzY2VudCgpKSAvIDIsCisgICAgICAgICAgICAgICAgICAgbV9wb2ludC55KCkgLSBm
b250TWV0cmljcy5hc2NlbnQoKSAtIGZvbnRNZXRyaWNzLmxpbmVHYXAoKSwKKyAgICAgICAgICAg
ICAgICAgICAocmlnaHQgLSBsZWZ0KSArIGZvbnRNZXRyaWNzLmFzY2VudCgpICsgZm9udE1ldHJp
Y3MuZGVzY2VudCgpLAorICAgICAgICAgICAgICAgICAgIGZvbnRNZXRyaWNzLmxpbmVTcGFjaW5n
KCkpOwogfQogCiB9ICAvLyBuYW1lc3BhY2UKQEAgLTQ5NiwxNCArNDk4LDE0IEBAIHZvaWQgRm9u
dDo6ZHJhd0NvbXBsZXhUZXh0KEdyYXBoaWNzQ29udGUKICAgICAgICAgQ09MT1JSRUYgc2F2ZWRU
ZXh0Q29sb3IgPSBHZXRUZXh0Q29sb3IoaGRjKTsKICAgICAgICAgU2V0VGV4dENvbG9yKGhkYywg
dGV4dENvbG9yKTsKICAgICAgICAgc3RhdGUuZHJhdyhncmFwaGljc0NvbnRleHQsIGhkYywgc3Rh
dGljX2Nhc3Q8aW50Pihwb2ludC54KCkpICsgc2hhZG93T2Zmc2V0LndpZHRoKCksCi0gICAgICAg
ICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihwb2ludC55KCkgLSBhc2NlbnQoKSkgKyBzaGFk
b3dPZmZzZXQuaGVpZ2h0KCksIGZyb20sIHRvKTsKKyAgICAgICAgICAgICAgICAgICBzdGF0aWNf
Y2FzdDxpbnQ+KHBvaW50LnkoKSAtIGZvbnRNZXRyaWNzKCkuYXNjZW50KCkpICsgc2hhZG93T2Zm
c2V0LmhlaWdodCgpLCBmcm9tLCB0byk7CiAgICAgICAgIFNldFRleHRDb2xvcihoZGMsIHNhdmVk
VGV4dENvbG9yKTsgCiAgICAgfQogCiAgICAgLy8gVW5pc2NyaWJlIGNvdW50cyB0aGUgY29vcmRp
bmF0ZXMgZnJvbSB0aGUgdXBwZXIgbGVmdCwgd2hpbGUgV2ViS2l0IHVzZXMKICAgICAvLyB0aGUg
YmFzZWxpbmUsIHNvIHdlIGhhdmUgdG8gc3VidHJhY3Qgb2ZmIHRoZSBhc2NlbnQuCiAgICAgc3Rh
dGUuZHJhdyhncmFwaGljc0NvbnRleHQsIGhkYywgc3RhdGljX2Nhc3Q8aW50Pihwb2ludC54KCkp
LAotICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50Pihwb2ludC55KCkgLSBhc2NlbnQoKSks
IGZyb20sIHRvKTsKKyAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGludD4ocG9pbnQueSgpIC0g
Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSksIGZyb20sIHRvKTsKIAogICAgIGNvbnRleHQtPmNhbnZh
cygpLT5lbmRQbGF0Zm9ybVBhaW50KCk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVG
b250RGF0YUNocm9taXVtV2luLmNwcAkocmV2aXNpb24gNzYzNDApCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TaW1wbGVGb250RGF0YUNocm9taXVtV2luLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTQsMTQgKzU0LDkgQEAgc3RhdGljIGlubGluZSBmbG9hdCBz
Y2FsZUVtVG9Vbml0cyhmbG9hdAogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkK
IHsKICAgICBpZiAoIW1fcGxhdGZvcm1EYXRhLnNpemUoKSkgewotICAgICAgICBtX2FzY2VudCA9
IDA7Ci0gICAgICAgIG1fZGVzY2VudCA9IDA7Ci0gICAgICAgIG1fbGluZUdhcCA9IDA7Ci0gICAg
ICAgIG1fbGluZVNwYWNpbmcgPSAwOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnJlc2V0KCk7CiAg
ICAgICAgIG1fYXZnQ2hhcldpZHRoID0gMDsKICAgICAgICAgbV9tYXhDaGFyV2lkdGggPSAwOwot
ICAgICAgICBtX3hIZWlnaHQgPSAwOwotICAgICAgICBtX3VuaXRzUGVyRW0gPSAwOwogICAgICAg
ICByZXR1cm47CiAgICAgfQogCkBAIC04MiwxMCArNzcsMTEgQEAgdm9pZCBTaW1wbGVGb250RGF0
YTo6cGxhdGZvcm1Jbml0KCkKICAgICBtX2F2Z0NoYXJXaWR0aCA9IHRleHRNZXRyaWMudG1BdmVD
aGFyV2lkdGg7CiAgICAgbV9tYXhDaGFyV2lkdGggPSB0ZXh0TWV0cmljLnRtTWF4Q2hhcldpZHRo
OwogCi0gICAgbV9hc2NlbnQgPSB0ZXh0TWV0cmljLnRtQXNjZW50OwotICAgIG1fZGVzY2VudCA9
IHRleHRNZXRyaWMudG1EZXNjZW50OwotICAgIG1fbGluZUdhcCA9IHRleHRNZXRyaWMudG1FeHRl
cm5hbExlYWRpbmc7Ci0gICAgbV94SGVpZ2h0ID0gbV9hc2NlbnQgKiAwLjU2ZjsgIC8vIEJlc3Qg
Z3Vlc3MgZm9yIHhIZWlnaHQgZm9yIG5vbi1UcnVldHlwZSBmb250cy4KKyAgICAvLyBGSVhNRTog
QWNjZXNzIGFzY2VudC9kZXNjZW50L2xpbmVHYXAgd2l0aCBmbG9hdGluZyBwb2ludCBwcmVjaXNp
b24uCisgICAgZmxvYXQgYXNjZW50ID0gdGV4dE1ldHJpYy50bUFzY2VudDsKKyAgICBmbG9hdCBk
ZXNjZW50ID0gdGV4dE1ldHJpYy50bURlc2NlbnQ7CisgICAgZmxvYXQgbGluZUdhcCA9IHRleHRN
ZXRyaWMudG1FeHRlcm5hbExlYWRpbmc7CisgICAgZmxvYXQgeEhlaWdodCA9IGFzY2VudCAqIDAu
NTZmOyAvLyBCZXN0IGd1ZXNzIGZvciB4SGVpZ2h0IGZvciBub24tVHJ1ZXR5cGUgZm9udHMuCiAK
ICAgICBPVVRMSU5FVEVYVE1FVFJJQyBvdXRsaW5lVGV4dE1ldHJpYzsKICAgICBpZiAoR2V0T3V0
bGluZVRleHRNZXRyaWNzKGRjLCBzaXplb2Yob3V0bGluZVRleHRNZXRyaWMpLCAmb3V0bGluZVRl
eHRNZXRyaWMpID4gMCkgewpAQCAtOTQsMTAgKzkwLDEzIEBAIHZvaWQgU2ltcGxlRm9udERhdGE6
OnBsYXRmb3JtSW5pdCgpCiAgICAgICAgIE1BVDIgaWRlbnRpdHlNYXRyaXggPSB7ezAsIDF9LCB7
MCwgMH0sIHswLCAwfSwgezAsIDF9fTsKICAgICAgICAgRFdPUkQgbGVuID0gR2V0R2x5cGhPdXRs
aW5lVyhkYywgJ3gnLCBHR09fTUVUUklDUywgJmdseXBoTWV0cmljcywgMCwgMCwgJmlkZW50aXR5
TWF0cml4KTsKICAgICAgICAgaWYgKGxlbiAhPSBHRElfRVJST1IgJiYgZ2x5cGhNZXRyaWNzLmdt
QmxhY2tCb3hZID4gMCkKLSAgICAgICAgICAgIG1feEhlaWdodCA9IHN0YXRpY19jYXN0PGZsb2F0
PihnbHlwaE1ldHJpY3MuZ21CbGFja0JveFkpOworICAgICAgICAgICAgeEhlaWdodCA9IHN0YXRp
Y19jYXN0PGZsb2F0PihnbHlwaE1ldHJpY3MuZ21CbGFja0JveFkpOwogICAgIH0KIAotICAgIG1f
bGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2VudCArIG1fbGluZUdhcDsKKyAgICBtX2Zv
bnRNZXRyaWNzLnNldEFzY2VudChhc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2Vu
dChkZXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZUdhcCk7CisgICAg
bV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHhIZWlnaHQpOwogCiAgICAgU2VsZWN0T2JqZWN0KGRj
LCBvbGRGb250KTsKICAgICBSZWxlYXNlREMoMCwgZGMpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFMaW51eC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxl
Rm9udERhdGFMaW51eC5jcHAJKHJldmlzaW9uIDc2MzQwKQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFMaW51eC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTU1LDE0ICs1NSw5IEBAIHN0YXRpYyBjb25zdCBzaXplX3QgbWF4VkRNWFRhYmxl
U2l6ZSA9IDEKIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCgpCiB7CiAgICAgaWYg
KCFtX3BsYXRmb3JtRGF0YS5zaXplKCkpIHsKLSAgICAgICAgbV9hc2NlbnQgPSAwOwotICAgICAg
ICBtX2Rlc2NlbnQgPSAwOwotICAgICAgICBtX2xpbmVHYXAgPSAwOwotICAgICAgICBtX2xpbmVT
cGFjaW5nID0gMDsKKyAgICAgICAgbV9mb250TWV0cmljcy5yZXNldCgpOwogICAgICAgICBtX2F2
Z0NoYXJXaWR0aCA9IDA7CiAgICAgICAgIG1fbWF4Q2hhcldpZHRoID0gMDsKLSAgICAgICAgbV94
SGVpZ2h0ID0gMDsKLSAgICAgICAgbV91bml0c1BlckVtID0gMDsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIApAQCAtODgsMjYgKzgzLDM0IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3Jt
SW5pdCgpCiAgICAgICAgIGZhc3RGcmVlKHZkbXhUYWJsZSk7CiAgICAgfQogCisgICAgZmxvYXQg
YXNjZW50OworICAgIGZsb2F0IGRlc2NlbnQ7CisKICAgICAvLyBCZXdhcmUgdGhvc2Ugd2hvIHN0
ZXAgaGVyZTogVGhpcyBjb2RlIGlzIGRlc2lnbmVkIHRvIG1hdGNoIFdpbjMyIGZvbnQKICAgICAv
LyBtZXRyaWNzICpleGFjdGx5Ki4KICAgICBpZiAoaXNWRE1YVmFsaWQpIHsKLSAgICAgICAgbV9h
c2NlbnQgPSB2ZG14QXNjZW50OwotICAgICAgICBtX2Rlc2NlbnQgPSAtdmRteERlc2NlbnQ7Cisg
ICAgICAgIC8vIEZJWE1FOiBBY2Nlc3MgYXNjZW50L2Rlc2NlbnQgd2l0aCBmbG9hdGluZyBwb2lu
dCBwcmVjaXNpb24uCisgICAgICAgIGFzY2VudCA9IHZkbXhBc2NlbnQ7CisgICAgICAgIGRlc2Nl
bnQgPSAtdmRteERlc2NlbnQ7CiAgICAgfSBlbHNlIHsKICAgICAgICAgU2tTY2FsYXIgaGVpZ2h0
ID0gLW1ldHJpY3MuZkFzY2VudCArIG1ldHJpY3MuZkRlc2NlbnQgKyBtZXRyaWNzLmZMZWFkaW5n
OwotICAgICAgICBtX2FzY2VudCA9IFNrU2NhbGFyUm91bmQoLW1ldHJpY3MuZkFzY2VudCk7Ci0g
ICAgICAgIG1fZGVzY2VudCA9IFNrU2NhbGFyUm91bmQoaGVpZ2h0KSAtIG1fYXNjZW50OworICAg
ICAgICBhc2NlbnQgPSBTa1NjYWxhclRvRmxvYXQoLW1ldHJpY3MuZkFzY2VudCk7CisgICAgICAg
IGRlc2NlbnQgPSBTa1NjYWxhclRvRmxvYXQoaGVpZ2h0KSAtIGFzY2VudDsKICAgICB9CiAKKyAg
ICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChhc2NlbnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0
RGVzY2VudChkZXNjZW50KTsKKworICAgIGZsb2F0IHhIZWlnaHQ7CiAgICAgaWYgKG1ldHJpY3Mu
ZlhIZWlnaHQpCi0gICAgICAgIG1feEhlaWdodCA9IG1ldHJpY3MuZlhIZWlnaHQ7CisgICAgICAg
IHhIZWlnaHQgPSBtZXRyaWNzLmZYSGVpZ2h0OwogICAgIGVsc2UgewogICAgICAgICAvLyBoYWNr
IHRha2VuIGZyb20gdGhlIFdpbmRvd3MgcG9ydAotICAgICAgICBtX3hIZWlnaHQgPSBzdGF0aWNf
Y2FzdDxmbG9hdD4obV9hc2NlbnQpICogMC41NjsKKyAgICAgICAgeEhlaWdodCA9IGFzY2VudCAq
IDAuNTZmOwogICAgIH0KIAotICAgIG1fbGluZUdhcCA9IFNrU2NhbGFyUm91bmQobWV0cmljcy5m
TGVhZGluZyk7Ci0gICAgbV9saW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50ICsgbV9s
aW5lR2FwOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChTa1NjYWxhclRvRmxvYXQobWV0
cmljcy5mTGVhZGluZykpOworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh4SGVpZ2h0KTsK
IAogICAgIGlmIChtX29yaWVudGF0aW9uID09IFZlcnRpY2FsKSB7CiAgICAgICAgIHN0YXRpYyBj
b25zdCB1aW50MzJfdCB2aGVhVGFnID0gU2tTZXRGb3VyQnl0ZVRhZygndicsICdoJywgJ2UnLCAn
YScpOwpAQCAtMTI4LDcgKzEzMSw3IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5p
dCgpCiAgICAgaWYgKG1ldHJpY3MuZkF2Z0NoYXJXaWR0aCkKICAgICAgICAgbV9hdmdDaGFyV2lk
dGggPSBTa1NjYWxhclJvdW5kKG1ldHJpY3MuZkF2Z0NoYXJXaWR0aCk7CiAgICAgZWxzZSB7Ci0g
ICAgICAgIG1fYXZnQ2hhcldpZHRoID0gbV94SGVpZ2h0OworICAgICAgICBtX2F2Z0NoYXJXaWR0
aCA9IHhIZWlnaHQ7CiAKICAgICAgICAgR2x5cGhQYWdlKiBnbHlwaFBhZ2VaZXJvID0gR2x5cGhQ
YWdlVHJlZU5vZGU6OmdldFJvb3RDaGlsZCh0aGlzLCAwKS0+cGFnZSgpOwogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9VbmlzY3JpYmVIZWxwZXJUZXh0
UnVuLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9VbmlzY3JpYmVIZWxwZXJUZXh0UnVuLmNwcAkocmV2aXNpb24gNzYzNDApCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9VbmlzY3JpYmVIZWxwZXJU
ZXh0UnVuLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTEsNyArNTEsNyBAQCBVbmlzY3JpYmVIZWxw
ZXJUZXh0UnVuOjpVbmlzY3JpYmVIZWxwZXJUCiAgICAgc2V0TGV0dGVyU3BhY2luZyhmb250Lmxl
dHRlclNwYWNpbmcoKSk7CiAgICAgc2V0U3BhY2VXaWR0aChmb250LnNwYWNlV2lkdGgoKSk7CiAg
ICAgc2V0V29yZFNwYWNpbmcoZm9udC53b3JkU3BhY2luZygpKTsKLSAgICBzZXRBc2NlbnQoZm9u
dC5wcmltYXJ5Rm9udCgpLT5hc2NlbnQoKSk7CisgICAgc2V0QXNjZW50KGZvbnQuZm9udE1ldHJp
Y3MoKS0+YXNjZW50KCkpOwogCiAgICAgaW5pdCgpOwogCkBAIC0xMjEsNyArMTIxLDcgQEAgYm9v
bCBVbmlzY3JpYmVIZWxwZXJUZXh0UnVuOjpuZXh0V2luRm9udAogICAgICAgICBtX2hmb250cy5h
cHBlbmQoc2ltcGxlRm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLmhmb250KCkpOwogICAgICAgICBt
X3NjcmlwdENhY2hlcy5hcHBlbmQoc2ltcGxlRm9udERhdGEtPnBsYXRmb3JtRGF0YSgpLnNjcmlw
dENhY2hlKCkpOwogICAgICAgICBtX2ZvbnRQcm9wZXJ0aWVzLmFwcGVuZChzaW1wbGVGb250RGF0
YS0+cGxhdGZvcm1EYXRhKCkuc2NyaXB0Rm9udFByb3BlcnRpZXMoKSk7Ci0gICAgICAgIG1fYXNj
ZW50cy5hcHBlbmQoc2ltcGxlRm9udERhdGEtPmFzY2VudCgpKTsKKyAgICAgICAgbV9hc2NlbnRz
LmFwcGVuZChzaW1wbGVGb250RGF0YS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAgfQog
CiAgICAgKmhmb250ID0gbV9oZm9udHNbbV9mb250SW5kZXggLSAxXTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0
eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUuY3BwCShyZXZpc2lvbiA3NjM0MCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5
cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCwyMSArNTAsMjYgQEAgdm9pZCBTaW1wbGVGb250
RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICBjYWlyb19mb250X2V4dGVudHNfdCBmb250X2V4dGVu
dHM7CiAgICAgY2Fpcm9fdGV4dF9leHRlbnRzX3QgdGV4dF9leHRlbnRzOwogICAgIGNhaXJvX3Nj
YWxlZF9mb250X2V4dGVudHMobV9wbGF0Zm9ybURhdGEuc2NhbGVkRm9udCgpLCAmZm9udF9leHRl
bnRzKTsKLSAgICBtX2FzY2VudCA9IHN0YXRpY19jYXN0PGludD4obHJvdW5kZihmb250X2V4dGVu
dHMuYXNjZW50KSk7Ci0gICAgbV9kZXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50Pihscm91bmRmKGZv
bnRfZXh0ZW50cy5kZXNjZW50KSk7Ci0gICAgbV9saW5lU3BhY2luZyA9IHN0YXRpY19jYXN0PGlu
dD4obHJvdW5kZihmb250X2V4dGVudHMuaGVpZ2h0KSk7CisKKyAgICBtX2ZvbnRNZXRyaWNzLnNl
dEFzY2VudChmb250X2V4dGVudHMuYXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2Nl
bnQoZm9udF9leHRlbnRzLmRlc2NlbnQpOworCiAgICAgLy8gVGhlcmUgc2VlbXMgdG8gYmUgc29t
ZSByb3VuZGluZyBlcnJvciBpbiBjYWlybyAob3IgaW4gaG93IHdlCiAgICAgLy8gdXNlIGNhaXJv
KSB3aXRoIHNvbWUgZm9udHMsIGxpa2UgRGVqYVZ1IFNhbnMgTW9ubywgd2hpY2ggbWFrZXMKICAg
ICAvLyBjYWlybyByZXBvcnQgYSBoZWlnaHQgc21hbGxlciB0aGFuIGFzY2VudCArIGRlc2NlbnQs
IHdoaWNoIGlzCiAgICAgLy8gd3JvbmcgYW5kIGNvbmZ1c2VzIFdlYkNvcmUncyBsYXlvdXQgc3lz
dGVtLiBXb3JrYXJvdW5kIHRoaXMKICAgICAvLyB3aGlsZSB3ZSBmaWd1cmUgb3V0IHdoYXQncyBn
b2luZyBvbi4KLSAgICBpZiAobV9saW5lU3BhY2luZyA8IG1fYXNjZW50ICsgbV9kZXNjZW50KQot
ICAgICAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rlc2NlbnQ7CisgICAgZmxvYXQg
bGluZVNwYWNpbmcgPSBmb250X2V4dGVudHMuaGVpZ2h0OworICAgIGlmIChsaW5lU3BhY2luZyA8
IGZvbnRfZXh0ZW50cy5hc2NlbnQgKyBmb250X2V4dGVudHMuZGVzY2VudCkKKyAgICAgICAgbGlu
ZVNwYWNpbmcgPSBmb250X2V4dGVudHMuYXNjZW50ICsgZm9udF9leHRlbnRzLmRlc2NlbnQ7Cisg
ICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGxpbmVTcGFjaW5nIC0gZm9udF9leHRlbnRzLmFz
Y2VudCAtIGZvbnRfZXh0ZW50cy5kZXNjZW50KTsKKwogICAgIGNhaXJvX3NjYWxlZF9mb250X3Rl
eHRfZXh0ZW50cyhtX3BsYXRmb3JtRGF0YS5zY2FsZWRGb250KCksICJ4IiwgJnRleHRfZXh0ZW50
cyk7Ci0gICAgbV94SGVpZ2h0ID0gdGV4dF9leHRlbnRzLmhlaWdodDsKKyAgICBtX2ZvbnRNZXRy
aWNzLnNldFhIZWlnaHQodGV4dF9leHRlbnRzLmhlaWdodCk7CisKICAgICBjYWlyb19zY2FsZWRf
Zm9udF90ZXh0X2V4dGVudHMobV9wbGF0Zm9ybURhdGEuc2NhbGVkRm9udCgpLCAiICIsICZ0ZXh0
X2V4dGVudHMpOwogICAgIG1fc3BhY2VXaWR0aCA9IHN0YXRpY19jYXN0PGZsb2F0Pih0ZXh0X2V4
dGVudHMueF9hZHZhbmNlKTsKLSAgICBtX2xpbmVHYXAgPSBtX2xpbmVTcGFjaW5nIC0gbV9hc2Nl
bnQgLSBtX2Rlc2NlbnQ7CisgICAgCiAgICAgbV9zeW50aGV0aWNCb2xkT2Zmc2V0ID0gbV9wbGF0
Zm9ybURhdGEuc3ludGhldGljQm9sZCgpID8gMS4wZiA6IDAuZjsKIH0KIApJbmRleDogU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvU2ltcGxlRm9udERhdGFIYWlrdS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvU2lt
cGxlRm9udERhdGFIYWlrdS5jcHAJKHJldmlzaW9uIDc2MzQwKQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvU2ltcGxlRm9udERhdGFIYWlrdS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ4LDExICs0OCwxMCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUlu
aXQoKQogCiAgICAgZm9udF9oZWlnaHQgaGVpZ2h0OwogICAgIGZvbnQtPkdldEhlaWdodCgmaGVp
Z2h0KTsKLSAgICBtX2FzY2VudCA9IHN0YXRpY19jYXN0PGludD4oaGVpZ2h0LmFzY2VudCk7Ci0g
ICAgbV9kZXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50PihoZWlnaHQuZGVzY2VudCk7Ci0gICAgbV9s
aW5lU3BhY2luZyA9IG1fYXNjZW50ICsgbV9kZXNjZW50OwotICAgIG1feEhlaWdodCA9IGhlaWdo
dC5hc2NlbnQgKiAwLjU2ZjsgLy8gSGFjayB0YWtlbiBmcm9tIHRoZSB3aW4gcG9ydC4KLSAgICBt
X2xpbmVHYXAgPSBoZWlnaHQubGVhZGluZzsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudCho
ZWlnaHQuYXNjZW50KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoaGVpZ2h0LmRlc2Nl
bnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodChoZWlnaHQuYXNjZW50ICogMC41NmYp
OyAvLyBIYWNrIHRha2VuIGZyb20gdGhlIHdpbiBwb3J0LgorICAgIG1fZm9udE1ldHJpY3Muc2V0
TGluZUdhcChoZWlnaHQubGVhZGluZyk7CiB9CiAKIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRm
b3JtQ2hhcldpZHRoSW5pdCgpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvRm9udENvbXBsZXhUZXh0TWFjLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENvbXBsZXhUZXh0TWFjLmNwcAkocmV2aXNpb24g
NzYzNDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENvbXBs
ZXhUZXh0TWFjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTExLDggKzExMSw4IEBAIGZsb2F0IEZv
bnQ6OmZsb2F0V2lkdGhGb3JDb21wbGV4VGV4dChjb24KIHsKICAgICBDb21wbGV4VGV4dENvbnRy
b2xsZXIgY29udHJvbGxlcih0aGlzLCBydW4sIHRydWUsIGZhbGxiYWNrRm9udHMpOwogICAgIGlm
IChnbHlwaE92ZXJmbG93KSB7Ci0gICAgICAgIGdseXBoT3ZlcmZsb3ctPnRvcCA9IG1heDxpbnQ+
KGdseXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYoLWNvbnRyb2xsZXIubWluR2x5cGhCb3VuZGluZ0Jv
eFkoKSkgLSBhc2NlbnQoKSk7Ci0gICAgICAgIGdseXBoT3ZlcmZsb3ctPmJvdHRvbSA9IG1heDxp
bnQ+KGdseXBoT3ZlcmZsb3ctPmJvdHRvbSwgY2VpbGYoY29udHJvbGxlci5tYXhHbHlwaEJvdW5k
aW5nQm94WSgpKSAtIGRlc2NlbnQoKSk7CisgICAgICAgIGdseXBoT3ZlcmZsb3ctPnRvcCA9IG1h
eDxpbnQ+KGdseXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYoLWNvbnRyb2xsZXIubWluR2x5cGhCb3Vu
ZGluZ0JveFkoKSkgLSBmb250TWV0cmljcygpLmFzY2VudCgpKTsKKyAgICAgICAgZ2x5cGhPdmVy
Zmxvdy0+Ym90dG9tID0gbWF4PGludD4oZ2x5cGhPdmVyZmxvdy0+Ym90dG9tLCBjZWlsZihjb250
cm9sbGVyLm1heEdseXBoQm91bmRpbmdCb3hZKCkpIC0gZm9udE1ldHJpY3MoKS5kZXNjZW50KCkp
OwogICAgICAgICBnbHlwaE92ZXJmbG93LT5sZWZ0ID0gbWF4PGludD4oMCwgY2VpbGYoLWNvbnRy
b2xsZXIubWluR2x5cGhCb3VuZGluZ0JveFgoKSkpOwogICAgICAgICBnbHlwaE92ZXJmbG93LT5y
aWdodCA9IG1heDxpbnQ+KDAsIGNlaWxmKGNvbnRyb2xsZXIubWF4R2x5cGhCb3VuZGluZ0JveFgo
KSAtIGNvbnRyb2xsZXIudG90YWxXaWR0aCgpKSk7CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0JKHJldmlzaW9uIDc2MzQw
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0JKHdv
cmtpbmcgY29weSkKQEAgLTYwLDggKzYwLDggQEAgc3RhdGljIHZvaWQgc2hvd0dseXBoc1dpdGhB
ZHZhbmNlcyhjb25zdAogICAgICAgICAgICAgc2F2ZWRNYXRyaXggPSBDR0NvbnRleHRHZXRUZXh0
TWF0cml4KGNvbnRleHQpOwogICAgICAgICAgICAgQ0dBZmZpbmVUcmFuc2Zvcm0gcnVuTWF0cml4
ID0gQ0dBZmZpbmVUcmFuc2Zvcm1Db25jYXQoc2F2ZWRNYXRyaXgsIHJvdGF0ZUxlZnRUcmFuc2Zv
cm0pOwogICAgICAgICAgICAgLy8gTW92ZSBzdGFydCBwb2ludCB0byBwdXQgZ2x5cGhzIGludG8g
b3JpZ2luYWwgcmVnaW9uLgotICAgICAgICAgICAgcnVuTWF0cml4LnR4ID0gc2F2ZWRNYXRyaXgu
dHggKyBmb250LT5hc2NlbnQoKTsKLSAgICAgICAgICAgIHJ1bk1hdHJpeC50eSA9IHNhdmVkTWF0
cml4LnR5ICsgZm9udC0+ZGVzY2VudCgpOworICAgICAgICAgICAgcnVuTWF0cml4LnR4ID0gc2F2
ZWRNYXRyaXgudHggKyBmb250LT5mb250TWV0cmljcygpLmFzY2VudCgpOworICAgICAgICAgICAg
cnVuTWF0cml4LnR5ID0gc2F2ZWRNYXRyaXgudHkgKyBmb250LT5mb250TWV0cmljcygpLmRlc2Nl
bnQoKTsKICAgICAgICAgICAgIENHQ29udGV4dFNldFRleHRNYXRyaXgoY29udGV4dCwgcnVuTWF0
cml4KTsKICAgICAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tCShyZXZpc2lvbiA3NjM0
MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0
YU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjE4LDE5ICsyMTgsMjAgQEAgdm9pZCBTaW1wbGVG
b250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICBpbnQgaUFzY2VudDsKICAgICBpbnQgaURlc2Nl
bnQ7CiAgICAgaW50IGlMaW5lR2FwOworICAgIHVuc2lnbmVkIHVuaXRzUGVyRW07CiAjaWZkZWYg
QlVJTERJTkdfT05fVElHRVIKLSAgICB3a0dldEZvbnRNZXRyaWNzKG1fcGxhdGZvcm1EYXRhLmNn
Rm9udCgpLCAmaUFzY2VudCwgJmlEZXNjZW50LCAmaUxpbmVHYXAsICZtX3VuaXRzUGVyRW0pOwor
ICAgIHdrR2V0Rm9udE1ldHJpY3MobV9wbGF0Zm9ybURhdGEuY2dGb250KCksICZpQXNjZW50LCAm
aURlc2NlbnQsICZpTGluZUdhcCwgJnVuaXRzUGVyRW0pOwogI2Vsc2UKICAgICBpQXNjZW50ID0g
Q0dGb250R2V0QXNjZW50KG1fcGxhdGZvcm1EYXRhLmNnRm9udCgpKTsKICAgICBpRGVzY2VudCA9
IENHRm9udEdldERlc2NlbnQobV9wbGF0Zm9ybURhdGEuY2dGb250KCkpOwogICAgIGlMaW5lR2Fw
ID0gQ0dGb250R2V0TGVhZGluZyhtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSk7Ci0gICAgbV91bml0
c1BlckVtID0gQ0dGb250R2V0VW5pdHNQZXJFbShtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSk7Cisg
ICAgdW5pdHNQZXJFbSA9IENHRm9udEdldFVuaXRzUGVyRW0obV9wbGF0Zm9ybURhdGEuY2dGb250
KCkpOwogI2VuZGlmCiAKICAgICBmbG9hdCBwb2ludFNpemUgPSBtX3BsYXRmb3JtRGF0YS5tX3Np
emU7Ci0gICAgZmxvYXQgZkFzY2VudCA9IHNjYWxlRW1Ub1VuaXRzKGlBc2NlbnQsIG1fdW5pdHNQ
ZXJFbSkgKiBwb2ludFNpemU7Ci0gICAgZmxvYXQgZkRlc2NlbnQgPSAtc2NhbGVFbVRvVW5pdHMo
aURlc2NlbnQsIG1fdW5pdHNQZXJFbSkgKiBwb2ludFNpemU7Ci0gICAgZmxvYXQgZkxpbmVHYXAg
PSBzY2FsZUVtVG9Vbml0cyhpTGluZUdhcCwgbV91bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAg
ICBmbG9hdCBhc2NlbnQgPSBzY2FsZUVtVG9Vbml0cyhpQXNjZW50LCB1bml0c1BlckVtKSAqIHBv
aW50U2l6ZTsKKyAgICBmbG9hdCBkZXNjZW50ID0gLXNjYWxlRW1Ub1VuaXRzKGlEZXNjZW50LCB1
bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAgICBmbG9hdCBsaW5lR2FwID0gc2NhbGVFbVRvVW5p
dHMoaUxpbmVHYXAsIHVuaXRzUGVyRW0pICogcG9pbnRTaXplOwogCiAgICAgLy8gV2UgbmVlZCB0
byBhZGp1c3QgVGltZXMsIEhlbHZldGljYSwgYW5kIENvdXJpZXIgdG8gY2xvc2VseSBtYXRjaCB0
aGUKICAgICAvLyB2ZXJ0aWNhbCBtZXRyaWNzIG9mIHRoZWlyIE1pY3Jvc29mdCBjb3VudGVycGFy
dHMgdGhhdCBhcmUgdGhlIGRlIGZhY3RvCkBAIC0yMzksMjUgKzI0MCwyMCBAQCB2b2lkIFNpbXBs
ZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgIC8vIGFuZCBhZGQgaXQgdG8gdGhlIGFzY2Vu
dC4KICAgICBOU1N0cmluZyAqZmFtaWx5TmFtZSA9IFttX3BsYXRmb3JtRGF0YS5mb250KCkgZmFt
aWx5TmFtZV07CiAgICAgaWYgKFtmYW1pbHlOYW1lIGlzRXF1YWxUb1N0cmluZzpAIlRpbWVzIl0g
fHwgW2ZhbWlseU5hbWUgaXNFcXVhbFRvU3RyaW5nOkAiSGVsdmV0aWNhIl0gfHwgW2ZhbWlseU5h
bWUgaXNFcXVhbFRvU3RyaW5nOkAiQ291cmllciJdKQotICAgICAgICBmQXNjZW50ICs9IGZsb29y
ZigoKGZBc2NlbnQgKyBmRGVzY2VudCkgKiAwLjE1ZikgKyAwLjVmKTsKKyAgICAgICAgYXNjZW50
ICs9IGZsb29yZigoKGFzY2VudCArIGRlc2NlbnQpICogMC4xNWYpICsgMC41Zik7CiAgICAgZWxz
ZSBpZiAoW2ZhbWlseU5hbWUgaXNFcXVhbFRvU3RyaW5nOkAiR2VlemEgUHJvIl0pIHsKICAgICAg
ICAgLy8gR2VlemEgUHJvIGhhcyBnbHlwaHMgdGhhdCBkcmF3IHNsaWdodGx5IGFib3ZlIHRoZSBh
c2NlbnQgb3IgZmFyIGJlbG93IHRoZSBkZXNjZW50LiBBZGp1c3QKICAgICAgICAgLy8gdGhvc2Ug
dmVydGljYWwgbWV0cmljcyB0byBiZXR0ZXIgbWF0Y2ggcmVhbGl0eSwgc28gdGhhdCBkaWFjcml0
aWNzIGF0IHRoZSBib3R0b20gb2Ygb25lIGxpbmUKICAgICAgICAgLy8gZG8gbm90IG92ZXJsYXAg
ZGlhY3JpdGljcyBhdCB0aGUgdG9wIG9mIHRoZSBuZXh0IGxpbmUuCi0gICAgICAgIGZBc2NlbnQg
Kj0gMS4wOGY7Ci0gICAgICAgIGZEZXNjZW50ICo9IDIuZjsKKyAgICAgICAgYXNjZW50ICo9IDEu
MDhmOworICAgICAgICBkZXNjZW50ICo9IDIuZjsKICAgICB9CiAKLSAgICBtX2FzY2VudCA9IGxy
b3VuZGYoZkFzY2VudCk7Ci0gICAgbV9kZXNjZW50ID0gbHJvdW5kZihmRGVzY2VudCk7Ci0gICAg
bV9saW5lR2FwID0gbHJvdW5kZihmTGluZUdhcCk7Ci0gICAgbV9saW5lU3BhY2luZyA9IG1fYXNj
ZW50ICsgbV9kZXNjZW50ICsgbV9saW5lR2FwOwotICAgIAogICAgIC8vIEhhY2sgSGlyYWdpbm8g
bGluZSBtZXRyaWNzIHRvIGFsbG93IHJvb20gZm9yIG1hcmtlZCB0ZXh0IHVuZGVybGluZXMuCiAg
ICAgLy8gPHJkYXI6Ly9wcm9ibGVtLzUzODYxODM+Ci0gICAgaWYgKG1fZGVzY2VudCA8IDMgJiYg
bV9saW5lR2FwID49IDMgJiYgW2ZhbWlseU5hbWUgaGFzUHJlZml4OkAiSGlyYWdpbm8iXSkgewot
ICAgICAgICBtX2xpbmVHYXAgLT0gMyAtIG1fZGVzY2VudDsKLSAgICAgICAgbV9kZXNjZW50ID0g
MzsKKyAgICBpZiAoZGVzY2VudCA8IDMgJiYgbGluZUdhcCA+PSAzICYmIFtmYW1pbHlOYW1lIGhh
c1ByZWZpeDpAIkhpcmFnaW5vIl0pIHsKKyAgICAgICAgbGluZUdhcCAtPSAzIC0gZGVzY2VudDsK
KyAgICAgICAgZGVzY2VudCA9IDM7CiAgICAgfQogICAgIAogICAgIGlmIChtX29yaWVudGF0aW9u
ID09IFZlcnRpY2FsKSB7CkBAIC0yNzgsNiArMjc0LDggQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6
cGxhdGZvcm1Jbml0KCkKICAgICAgICAgICAgIG1fb3JpZW50YXRpb24gPSBIb3Jpem9udGFsOwog
ICAgIH0KIAorICAgIGZsb2F0IHhIZWlnaHQ7CisKICAgICAvLyBNZWFzdXJlIHRoZSBhY3R1YWwg
Y2hhcmFjdGVyICJ4IiwgYmVjYXVzZSBBcHBLaXQgc3ludGhlc2l6ZXMgWCBoZWlnaHQgcmF0aGVy
IHRoYW4gZ2V0dGluZyBpdCBmcm9tIHRoZSBmb250LgogICAgIC8vIFVuZm9ydHVuYXRlbHksIE5T
Rm9udCB3aWxsIHJvdW5kIHRoaXMgZm9yIHVzIHNvIHdlIGRvbid0IHF1aXRlIGdldCB0aGUgcmln
aHQgdmFsdWUuCiAgICAgR2x5cGhQYWdlKiBnbHlwaFBhZ2VaZXJvID0gR2x5cGhQYWdlVHJlZU5v
ZGU6OmdldFJvb3RDaGlsZCh0aGlzLCAwKS0+cGFnZSgpOwpAQCAtMjg4LDIxICsyODYsMjcgQEAg
dm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICAgICAgLy8gYW5kIHdlYiBw
YWdlcyB0aGF0IGZvb2xpc2hseSB1c2UgdGhpcyBtZXRyaWMgZm9yIHdpZHRoIHdpbGwgYmUgbGFp
ZCBvdXQKICAgICAgICAgLy8gcG9vcmx5IGlmIHdlIHJldHVybiBhbiBhY2N1cmF0ZSBoZWlnaHQu
IENsYXNzaWMgY2FzZSBpcyBUaW1lcyAxMyBwb2ludCwKICAgICAgICAgLy8gd2hpY2ggaGFzIGFu
ICJ4IiB0aGF0IGlzIDd4NiBwaXhlbHMuCi0gICAgICAgIG1feEhlaWdodCA9IHN0YXRpY19jYXN0
PGZsb2F0PihtYXgoQ0dSZWN0R2V0TWF4WCh4Qm94KSwgLUNHUmVjdEdldE1pblkoeEJveCkpKTsK
KyAgICAgICAgeEhlaWdodCA9IHN0YXRpY19jYXN0PGZsb2F0PihtYXgoQ0dSZWN0R2V0TWF4WCh4
Qm94KSwgLUNHUmVjdEdldE1pblkoeEJveCkpKTsKICAgICB9IGVsc2UgewogI2lmbmRlZiBCVUlM
RElOR19PTl9USUdFUgotICAgICAgICBtX3hIZWlnaHQgPSBzdGF0aWNfY2FzdDxmbG9hdD4oQ0dG
b250R2V0WEhlaWdodChtX3BsYXRmb3JtRGF0YS5jZ0ZvbnQoKSkpIC8gbV91bml0c1BlckVtOwor
ICAgICAgICB4SGVpZ2h0ID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KENHRm9udEdldFhIZWlnaHQobV9w
bGF0Zm9ybURhdGEuY2dGb250KCkpKSAvIHVuaXRzUGVyRW07CiAjZWxzZQotICAgICAgICBtX3hI
ZWlnaHQgPSBtX3BsYXRmb3JtRGF0YS5mb250KCkgPyBbbV9wbGF0Zm9ybURhdGEuZm9udCgpIHhI
ZWlnaHRdIDogMDsKKyAgICAgICAgeEhlaWdodCA9IG1fcGxhdGZvcm1EYXRhLmZvbnQoKSA/IFtt
X3BsYXRmb3JtRGF0YS5mb250KCkgeEhlaWdodF0gOiAwOwogI2VuZGlmCiAgICAgICAgIC8vIENH
Rm9udEdldFhIZWlnaHQoKSByZXR1cm5zIGEgd3JvbmcgdmFsdWUgZm9yICJBcHBsZSBTeW1ib2xz
IiBmb250IChhIGZsb2F0IGNsb3NlIHRvIDAsIGJ1dCBub3Qgc3RyaWN0bHkgMCkuCi0gICAgICAg
IC8vIFRoZSBmb2xsb3dpbmcgY29kZSBtYWtlcyBhIGd1ZXNzIGZvciBtX3hIZWlnaHQgaW4gdGhh
dCBjYXNlLgorICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGNvZGUgbWFrZXMgYSBndWVzcyBmb3Ig
eEhlaWdodCBpbiB0aGF0IGNhc2UuCiAgICAgICAgIC8vIFRoZSBpbnQgY2FzdCBpcyBhIHdvcmth
cm91bmQgZm9yIHRoZSAiYWxtb3N0IiB6ZXJvIHZhbHVlIHJldHVybmVkIGJ5IENHRm9udEdldFhI
ZWlnaHQoKS4KLSAgICAgICAgaWYgKCFzdGF0aWNfY2FzdDxpbnQ+KG1feEhlaWdodCkgJiYgZkFz
Y2VudCkKLSAgICAgICAgICAgIG1feEhlaWdodCA9IDIgKiBmQXNjZW50IC8gMzsKKyAgICAgICAg
aWYgKCFzdGF0aWNfY2FzdDxpbnQ+KHhIZWlnaHQpICYmIGFzY2VudCkKKyAgICAgICAgICAgIHhI
ZWlnaHQgPSAyICogYXNjZW50IC8gMzsKICAgICB9CisKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFVu
aXRzUGVyRW0odW5pdHNQZXJFbSk7CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50
KTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoZGVzY2VudCk7CisgICAgbV9mb250TWV0
cmljcy5zZXRMaW5lR2FwKGxpbmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh4
SGVpZ2h0KTsKIH0KLSAgICAKKwogc3RhdGljIENGRGF0YVJlZiBjb3B5Rm9udFRhYmxlRm9yVGFn
KEZvbnRQbGF0Zm9ybURhdGEmIHBsYXRmb3JtRGF0YSwgRm91ckNoYXJDb2RlIHRhYmxlTmFtZSkK
IHsKICNpZmRlZiBCVUlMRElOR19PTl9USUdFUgpAQCAtMzM3LDcgKzM0MSw3IEBAIHZvaWQgU2lt
cGxlRm9udERhdGE6OnBsYXRmb3JtQ2hhcldpZHRoSW4KICAgICBpZiAob3MyVGFibGUgJiYgQ0ZE
YXRhR2V0TGVuZ3RoKG9zMlRhYmxlLmdldCgpKSA+PSA0KSB7CiAgICAgICAgIGNvbnN0IFVJbnQ4
KiBvczIgPSBDRkRhdGFHZXRCeXRlUHRyKG9zMlRhYmxlLmdldCgpKTsKICAgICAgICAgU0ludDE2
IG9zMkF2Z0NoYXJXaWR0aCA9IG9zMlsyXSAqIDI1NiArIG9zMlszXTsKLSAgICAgICAgbV9hdmdD
aGFyV2lkdGggPSBzY2FsZUVtVG9Vbml0cyhvczJBdmdDaGFyV2lkdGgsIG1fdW5pdHNQZXJFbSkg
KiBtX3BsYXRmb3JtRGF0YS5tX3NpemU7CisgICAgICAgIG1fYXZnQ2hhcldpZHRoID0gc2NhbGVF
bVRvVW5pdHMob3MyQXZnQ2hhcldpZHRoLCBtX2ZvbnRNZXRyaWNzLnVuaXRzUGVyRW0oKSkgKiBt
X3BsYXRmb3JtRGF0YS5tX3NpemU7CiAgICAgfQogCiAgICAgUmV0YWluUHRyPENGRGF0YVJlZj4g
aGVhZFRhYmxlKEFkb3B0Q0YsIGNvcHlGb250VGFibGVGb3JUYWcobV9wbGF0Zm9ybURhdGEsICdo
ZWFkJykpOwpAQCAtMzQ4LDcgKzM1Miw3IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3Jt
Q2hhcldpZHRoSW4KICAgICAgICAgU0ludDE2IHhNaW4gPSBzdGF0aWNfY2FzdDxTSW50MTY+KHV4
TWluKTsKICAgICAgICAgU0ludDE2IHhNYXggPSBzdGF0aWNfY2FzdDxTSW50MTY+KHV4TWF4KTsK
ICAgICAgICAgZmxvYXQgZGlmZiA9IHN0YXRpY19jYXN0PGZsb2F0Pih4TWF4IC0geE1pbik7Ci0g
ICAgICAgIG1fbWF4Q2hhcldpZHRoID0gc2NhbGVFbVRvVW5pdHMoZGlmZiwgbV91bml0c1BlckVt
KSAqIG1fcGxhdGZvcm1EYXRhLm1fc2l6ZTsKKyAgICAgICAgbV9tYXhDaGFyV2lkdGggPSBzY2Fs
ZUVtVG9Vbml0cyhkaWZmLCBtX2ZvbnRNZXRyaWNzLnVuaXRzUGVyRW0oKSkgKiBtX3BsYXRmb3Jt
RGF0YS5tX3NpemU7CiAgICAgfQogCiAgICAgLy8gRmFsbGJhY2sgdG8gYSBjcm9zcy1wbGF0Zm9y
bSBlc3RpbWF0ZSwgd2hpY2ggd2lsbCBwb3B1bGF0ZSB0aGVzZSB2YWx1ZXMgaWYgdGhleSBhcmUg
bm9uLXBvc2l0aXZlLgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcGFu
Z28vU2ltcGxlRm9udERhdGFQYW5nby5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcGFuZ28vU2ltcGxlRm9udERhdGFQYW5nby5jcHAJKHJldmlzaW9u
IDc2MzQwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcGFuZ28vU2ltcGxl
Rm9udERhdGFQYW5nby5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDIxICs0OSwyNiBAQCB2b2lk
IFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgIGNhaXJvX2ZvbnRfZXh0ZW50c190
IGZvbnRfZXh0ZW50czsKICAgICBjYWlyb190ZXh0X2V4dGVudHNfdCB0ZXh0X2V4dGVudHM7CiAg
ICAgY2Fpcm9fc2NhbGVkX2ZvbnRfZXh0ZW50cyhtX3BsYXRmb3JtRGF0YS5tX3NjYWxlZEZvbnQs
ICZmb250X2V4dGVudHMpOwotICAgIG1fYXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50Pihscm91bmRm
KGZvbnRfZXh0ZW50cy5hc2NlbnQpKTsKLSAgICBtX2Rlc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+
KGxyb3VuZGYoZm9udF9leHRlbnRzLmRlc2NlbnQpKTsKLSAgICBtX2xpbmVTcGFjaW5nID0gc3Rh
dGljX2Nhc3Q8aW50Pihscm91bmRmKGZvbnRfZXh0ZW50cy5oZWlnaHQpKTsKKworICAgIG1fZm9u
dE1ldHJpY3Muc2V0QXNjZW50KGZvbnRfZXh0ZW50cy5hc2NlbnQpOworICAgIG1fZm9udE1ldHJp
Y3Muc2V0RGVzY2VudChmb250X2V4dGVudHMuZGVzY2VudCk7CisKICAgICAvLyBUaGVyZSBzZWVt
cyB0byBiZSBzb21lIHJvdW5kaW5nIGVycm9yIGluIGNhaXJvIChvciBpbiBob3cgd2UKICAgICAv
LyB1c2UgY2Fpcm8pIHdpdGggc29tZSBmb250cywgbGlrZSBEZWphVnUgU2FucyBNb25vLCB3aGlj
aCBtYWtlcwogICAgIC8vIGNhaXJvIHJlcG9ydCBhIGhlaWdodCBzbWFsbGVyIHRoYW4gYXNjZW50
ICsgZGVzY2VudCwgd2hpY2ggaXMKICAgICAvLyB3cm9uZyBhbmQgY29uZnVzZXMgV2ViQ29yZSdz
IGxheW91dCBzeXN0ZW0uIFdvcmthcm91bmQgdGhpcwogICAgIC8vIHdoaWxlIHdlIGZpZ3VyZSBv
dXQgd2hhdCdzIGdvaW5nIG9uLgotICAgIGlmIChtX2xpbmVTcGFjaW5nIDwgbV9hc2NlbnQgKyBt
X2Rlc2NlbnQpCi0gICAgICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2VudDsK
KyAgICBmbG9hdCBsaW5lU3BhY2luZyA9IGZvbnRfZXh0ZW50cy5oZWlnaHQ7CisgICAgaWYgKGxp
bmVTcGFjaW5nIDwgZm9udF9leHRlbnRzLmFzY2VudCArIGZvbnRfZXh0ZW50cy5kZXNjZW50KQor
ICAgICAgICBsaW5lU3BhY2luZyA9IGZvbnRfZXh0ZW50cy5hc2NlbnQgKyBmb250X2V4dGVudHMu
ZGVzY2VudDsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZVNwYWNpbmcgLSBmb250
X2V4dGVudHMuYXNjZW50IC0gZm9udF9leHRlbnRzLmRlc2NlbnQpOworCiAgICAgY2Fpcm9fc2Nh
bGVkX2ZvbnRfdGV4dF9leHRlbnRzKG1fcGxhdGZvcm1EYXRhLm1fc2NhbGVkRm9udCwgIngiLCAm
dGV4dF9leHRlbnRzKTsKLSAgICBtX3hIZWlnaHQgPSB0ZXh0X2V4dGVudHMuaGVpZ2h0OworICAg
IG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh0ZXh0X2V4dGVudHMuaGVpZ2h0KTsKKwogICAgIGNh
aXJvX3NjYWxlZF9mb250X3RleHRfZXh0ZW50cyhtX3BsYXRmb3JtRGF0YS5tX3NjYWxlZEZvbnQs
ICIgIiwgJnRleHRfZXh0ZW50cyk7Ci0gICAgbV9zcGFjZVdpZHRoID0gIHN0YXRpY19jYXN0PGZs
b2F0Pih0ZXh0X2V4dGVudHMueF9hZHZhbmNlKTsKLSAgICBtX2xpbmVHYXAgPSBtX2xpbmVTcGFj
aW5nIC0gbV9hc2NlbnQgLSBtX2Rlc2NlbnQ7CisgICAgbV9zcGFjZVdpZHRoID0gc3RhdGljX2Nh
c3Q8ZmxvYXQ+KHRleHRfZXh0ZW50cy54X2FkdmFuY2UpOworICAgIAogICAgIG1fc3ludGhldGlj
Qm9sZE9mZnNldCA9IG1fcGxhdGZvcm1EYXRhLnN5bnRoZXRpY0JvbGQoKSA/IDEuMGYgOiAwLmY7
CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZv
bnREYXRhUXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCShyZXZpc2lvbiA3NjM0MCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L1NpbXBsZUZvbnREYXRhUXQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yNCw3ICsyNCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
U2ltcGxlRm9udERhdGEuaCIKIAotI2luY2x1ZGUgPFFGb250TWV0cmljcz4KKyNpbmNsdWRlIDxR
Rm9udE1ldHJpY3NGPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQxLDI1ICs0MSwxOCBA
QCBib29sIFNpbXBsZUZvbnREYXRhOjpjb250YWluc0NoYXJhY3RlcnMoCiB2b2lkIFNpbXBsZUZv
bnREYXRhOjpwbGF0Zm9ybUluaXQoKQogewogICAgIGlmICghbV9wbGF0Zm9ybURhdGEuc2l6ZSgp
KSB7Ci0gICAgICAgICBtX2FzY2VudCA9IDA7Ci0gICAgICAgICBtX2Rlc2NlbnQgPSAwOwotICAg
ICAgICAgbV9saW5lR2FwID0gMDsKLSAgICAgICAgIG1fbGluZVNwYWNpbmcgPSAwOworICAgICAg
ICAgbV9mb250TWV0cmljcy5yZXNldCgpOwogICAgICAgICAgbV9hdmdDaGFyV2lkdGggPSAwOwog
ICAgICAgICAgbV9tYXhDaGFyV2lkdGggPSAwOwotICAgICAgICAgbV94SGVpZ2h0ID0gMDsKLSAg
ICAgICAgIG1fdW5pdHNQZXJFbSA9IDA7CiAgICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAg
UUZvbnRNZXRyaWNzIGZtKG1fcGxhdGZvcm1EYXRhLmZvbnQoKSk7Ci0KLSAgICBtX2FzY2VudCA9
IGZtLmFzY2VudCgpOwotICAgIG1fZGVzY2VudCA9IGZtLmRlc2NlbnQoKTsKLSAgICBtX2xpbmVT
cGFjaW5nID0gZm0ubGluZVNwYWNpbmcoKTsKLSAgICBtX3hIZWlnaHQgPSBmbS54SGVpZ2h0KCk7
CisgICAgUUZvbnRNZXRyaWNzRiBmbShtX3BsYXRmb3JtRGF0YS5mb250KCkpOworICAgIG1fZm9u
dE1ldHJpY3Muc2V0QXNjZW50KGZtLmFzY2VudCgpKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldERl
c2NlbnQoZm0uZGVzY2VudCgpKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFhIZWlnaHQoZm0ueEhl
aWdodCgpKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAoZm0ubGVhZGluZygpKTsKICAg
ICBtX3NwYWNlV2lkdGggPSBmbS53aWR0aChRTGF0aW4xQ2hhcignICcpKTsKLSAgICBtX2xpbmVH
YXAgPSBmbS5sZWFkaW5nKCk7CiB9CiAKIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtR2x5
cGhJbml0KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250
Q0dXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9Gb250Q0dXaW4uY3BwCShyZXZpc2lvbiA3NjM0MCkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250Q0dXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjcs
OCArMTY3LDEyIEBAIHN0YXRpYyB2b2lkIGRyYXdHRElHbHlwaHMoR3JhcGhpY3NDb250ZXgKICAg
ICAgICAgZHJhd0ludG9CaXRtYXAgPSB0cnVlOwogICAgICAgICAvLyBXZSBwdXQgc2xvcCBpbnRv
IHRoaXMgcmVjdCwgc2luY2UgZ2x5cGhzIGNhbiBvdmVyZmxvdyB0aGUgYXNjZW50L2Rlc2NlbnQg
Ym91bmRzIGFuZCB0aGUgbGVmdC9yaWdodCBlZGdlcy4KICAgICAgICAgLy8gRklYTUU6IENhbiBn
ZXQgZ2x5cGhzJyBvcHRpY2FsIGJvdW5kcyAoZXZlbiBmcm9tIENHKSB0byBnZXQgdGhpcyByaWdo
dC4KLSAgICAgICAgaW50IGxpbmVHYXAgPSBmb250LT5saW5lR2FwKCk7Ci0gICAgICAgIHRleHRS
ZWN0ID0gSW50UmVjdChwb2ludC54KCkgLSAoZm9udC0+YXNjZW50KCkgKyBmb250LT5kZXNjZW50
KCkpIC8gMiwgcG9pbnQueSgpIC0gZm9udC0+YXNjZW50KCkgLSBsaW5lR2FwLCB0b3RhbFdpZHRo
ICsgZm9udC0+YXNjZW50KCkgKyBmb250LT5kZXNjZW50KCksIGZvbnQtPmxpbmVTcGFjaW5nKCkp
OworICAgICAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBmb250LT5mb250TWV0
cmljcygpOworICAgICAgICBpbnQgbGluZUdhcCA9IGZvbnRNZXRyaWNzLmxpbmVHYXAoKTsKKyAg
ICAgICAgdGV4dFJlY3QgPSBJbnRSZWN0KHBvaW50LngoKSAtIChmb250TWV0cmljcy5hc2NlbnQo
KSArIGZvbnRNZXRyaWNzLmRlc2NlbnQoKSkgLyAyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcG9pbnQueSgpIC0gZm9udE1ldHJpY3MuYXNjZW50KCkgLSBsaW5lR2FwLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdG90YWxXaWR0aCArIGZvbnRNZXRyaWNzLmFzY2VudCgpICsgZm9u
dE1ldHJpY3MuZGVzY2VudCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udE1ldHJp
Y3MubGluZVNwYWNpbmcoKSk7CiAgICAgICAgIGJpdG1hcC5zZXQoZ3JhcGhpY3NDb250ZXh0LT5j
cmVhdGVXaW5kb3dzQml0bWFwKHRleHRSZWN0LnNpemUoKSkpOwogICAgICAgICBtZW1zZXQoYml0
bWFwLT5idWZmZXIoKSwgMjU1LCBiaXRtYXAtPmJ1ZmZlckxlbmd0aCgpKTsKICAgICAgICAgaGRj
ID0gYml0bWFwLT5oZGMoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9Gb250V2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vRm9udFdpbi5jcHAJKHJldmlzaW9uIDc2MzQwKQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MjIsOCArMTIyLDggQEAgZmxvYXQgRm9udDo6ZmxvYXRXaWR0aEZvckNvbXBsZXhUZXh0KGNvbgog
ICAgIFVuaXNjcmliZUNvbnRyb2xsZXIgY29udHJvbGxlcih0aGlzLCBydW4sIGZhbGxiYWNrRm9u
dHMpOwogICAgIGNvbnRyb2xsZXIuYWR2YW5jZShydW4ubGVuZ3RoKCkpOwogICAgIGlmIChnbHlw
aE92ZXJmbG93KSB7Ci0gICAgICAgIGdseXBoT3ZlcmZsb3ctPnRvcCA9IG1heDxpbnQ+KGdseXBo
T3ZlcmZsb3ctPnRvcCwgY2VpbGYoLWNvbnRyb2xsZXIubWluR2x5cGhCb3VuZGluZ0JveFkoKSkg
LSBhc2NlbnQoKSk7Ci0gICAgICAgIGdseXBoT3ZlcmZsb3ctPmJvdHRvbSA9IG1heDxpbnQ+KGds
eXBoT3ZlcmZsb3ctPmJvdHRvbSwgY2VpbGYoY29udHJvbGxlci5tYXhHbHlwaEJvdW5kaW5nQm94
WSgpKSAtIGRlc2NlbnQoKSk7CisgICAgICAgIGdseXBoT3ZlcmZsb3ctPnRvcCA9IG1heDxpbnQ+
KGdseXBoT3ZlcmZsb3ctPnRvcCwgY2VpbGYoLWNvbnRyb2xsZXIubWluR2x5cGhCb3VuZGluZ0Jv
eFkoKSkgLSBmb250TWV0cmljcygpLmFzY2VudCgpKTsKKyAgICAgICAgZ2x5cGhPdmVyZmxvdy0+
Ym90dG9tID0gbWF4PGludD4oZ2x5cGhPdmVyZmxvdy0+Ym90dG9tLCBjZWlsZihjb250cm9sbGVy
Lm1heEdseXBoQm91bmRpbmdCb3hZKCkpIC0gZm9udE1ldHJpY3MoKS5kZXNjZW50KCkpOwogICAg
ICAgICBnbHlwaE92ZXJmbG93LT5sZWZ0ID0gbWF4PGludD4oMCwgY2VpbGYoLWNvbnRyb2xsZXIu
bWluR2x5cGhCb3VuZGluZ0JveFgoKSkpOwogICAgICAgICBnbHlwaE92ZXJmbG93LT5yaWdodCA9
IG1heDxpbnQ+KDAsIGNlaWxmKGNvbnRyb2xsZXIubWF4R2x5cGhCb3VuZGluZ0JveFgoKSAtIGNv
bnRyb2xsZXIucnVuV2lkdGhTb0ZhcigpKSk7CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ0dXaW4uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YUNH
V2luLmNwcAkocmV2aXNpb24gNzYzNDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vU2ltcGxlRm9udERhdGFDR1dpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0LDEx
ICs2NCwxMSBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgIGludCBp
QXNjZW50ID0gQ0dGb250R2V0QXNjZW50KGZvbnQpOwogICAgIGludCBpRGVzY2VudCA9IENHRm9u
dEdldERlc2NlbnQoZm9udCk7CiAgICAgaW50IGlMaW5lR2FwID0gQ0dGb250R2V0TGVhZGluZyhm
b250KTsKLSAgICBtX3VuaXRzUGVyRW0gPSBDR0ZvbnRHZXRVbml0c1BlckVtKGZvbnQpOworICAg
IHVuc2lnbmVkIHVuaXRzUGVyRW0gPSBDR0ZvbnRHZXRVbml0c1BlckVtKGZvbnQpOwogICAgIGZs
b2F0IHBvaW50U2l6ZSA9IG1fcGxhdGZvcm1EYXRhLnNpemUoKTsKLSAgICBmbG9hdCBmQXNjZW50
ID0gc2NhbGVFbVRvVW5pdHMoaUFzY2VudCwgbV91bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKLSAg
ICBmbG9hdCBmRGVzY2VudCA9IC1zY2FsZUVtVG9Vbml0cyhpRGVzY2VudCwgbV91bml0c1BlckVt
KSAqIHBvaW50U2l6ZTsKLSAgICBmbG9hdCBmTGluZUdhcCA9IHNjYWxlRW1Ub1VuaXRzKGlMaW5l
R2FwLCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXplOworICAgIGZsb2F0IGZBc2NlbnQgPSBzY2Fs
ZUVtVG9Vbml0cyhpQXNjZW50LCB1bml0c1BlckVtKSAqIHBvaW50U2l6ZTsKKyAgICBmbG9hdCBm
RGVzY2VudCA9IC1zY2FsZUVtVG9Vbml0cyhpRGVzY2VudCwgdW5pdHNQZXJFbSkgKiBwb2ludFNp
emU7CisgICAgZmxvYXQgZkxpbmVHYXAgPSBzY2FsZUVtVG9Vbml0cyhpTGluZUdhcCwgdW5pdHNQ
ZXJFbSkgKiBwb2ludFNpemU7CiAKICAgICBpZiAoIWlzQ3VzdG9tRm9udCgpKSB7CiAgICAgICAg
IEhEQyBkYyA9IEdldERDKDApOwpAQCAtOTMsMTAgKzkzLDkgQEAgdm9pZCBTaW1wbGVGb250RGF0
YTo6cGxhdGZvcm1Jbml0KCkKICAgICAgICAgfQogICAgIH0KIAotICAgIG1fYXNjZW50ID0gbHJv
dW5kZihmQXNjZW50KTsKLSAgICBtX2Rlc2NlbnQgPSBscm91bmRmKGZEZXNjZW50KTsKLSAgICBt
X2xpbmVHYXAgPSBscm91bmRmKGZMaW5lR2FwKTsKLSAgICBtX2xpbmVTcGFjaW5nID0gbV9hc2Nl
bnQgKyBtX2Rlc2NlbnQgKyBtX2xpbmVHYXA7CisgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQo
ZkFzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGZEZXNjZW50KTsKKyAgICBt
X2ZvbnRNZXRyaWNzLnNldExpbmVHYXAoZkxpbmVHYXApOwogCiAgICAgLy8gTWVhc3VyZSB0aGUg
YWN0dWFsIGNoYXJhY3RlciAieCIsIGJlY2F1c2UgQXBwS2l0IHN5bnRoZXNpemVzIFggaGVpZ2h0
IHJhdGhlciB0aGFuIGdldHRpbmcgaXQgZnJvbSB0aGUgZm9udC4KICAgICAvLyBVbmZvcnR1bmF0
ZWx5LCBOU0ZvbnQgd2lsbCByb3VuZCB0aGlzIGZvciB1cyBzbyB3ZSBkb24ndCBxdWl0ZSBnZXQg
dGhlIHJpZ2h0IHZhbHVlLgpAQCAtMTA5LDExICsxMDgsMTMgQEAgdm9pZCBTaW1wbGVGb250RGF0
YTo6cGxhdGZvcm1Jbml0KCkKICAgICAgICAgLy8gYW5kIHdlYiBwYWdlcyB0aGF0IGZvb2xpc2hs
eSB1c2UgdGhpcyBtZXRyaWMgZm9yIHdpZHRoIHdpbGwgYmUgbGFpZCBvdXQKICAgICAgICAgLy8g
cG9vcmx5IGlmIHdlIHJldHVybiBhbiBhY2N1cmF0ZSBoZWlnaHQuIENsYXNzaWMgY2FzZSBpcyBU
aW1lcyAxMyBwb2ludCwKICAgICAgICAgLy8gd2hpY2ggaGFzIGFuICJ4IiB0aGF0IGlzIDd4NiBw
aXhlbHMuCi0gICAgICAgIG1feEhlaWdodCA9IHNjYWxlRW1Ub1VuaXRzKG1heChDR1JlY3RHZXRN
YXhYKHhCb3gpLCBDR1JlY3RHZXRNYXhZKHhCb3gpKSwgbV91bml0c1BlckVtKSAqIHBvaW50U2l6
ZTsKKyAgICAgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHNjYWxlRW1Ub1VuaXRzKG1heChD
R1JlY3RHZXRNYXhYKHhCb3gpLCBDR1JlY3RHZXRNYXhZKHhCb3gpKSwgdW5pdHNQZXJFbSkgKiBw
b2ludFNpemUpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGludCBpWEhlaWdodCA9IENHRm9udEdl
dFhIZWlnaHQoZm9udCk7Ci0gICAgICAgIG1feEhlaWdodCA9IHNjYWxlRW1Ub1VuaXRzKGlYSGVp
Z2h0LCBtX3VuaXRzUGVyRW0pICogcG9pbnRTaXplOworICAgICAgICBtX2ZvbnRNZXRyaWNzLnNl
dFhIZWlnaHQoc2NhbGVFbVRvVW5pdHMoaVhIZWlnaHQsIHVuaXRzUGVyRW0pICogcG9pbnRTaXpl
KTsKICAgICB9CisKKyAgICBtX2ZvbnRNZXRyaWNzLnNldFVuaXRzUGVyRW0odW5pdHNQZXJFbSk7
CiB9CiAKIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRmb3JtQ2hhcldpZHRoSW5pdCgpCkBAIC0x
MzMsNyArMTM0LDcgQEAgRmxvYXRSZWN0IFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUJvdW5kcwog
ICAgIENHUmVjdCBib3g7CiAgICAgQ0dGb250R2V0R2x5cGhCQm94ZXMobV9wbGF0Zm9ybURhdGEu
Y2dGb250KCksICZnbHlwaCwgMSwgJmJveCk7CiAgICAgZmxvYXQgcG9pbnRTaXplID0gbV9wbGF0
Zm9ybURhdGEuc2l6ZSgpOwotICAgIENHRmxvYXQgc2NhbGUgPSBwb2ludFNpemUgLyB1bml0c1Bl
ckVtKCk7CisgICAgQ0dGbG9hdCBzY2FsZSA9IHBvaW50U2l6ZSAvIGZvbnRNZXRyaWNzKCkudW5p
dHNQZXJFbSgpOwogICAgIEZsb2F0UmVjdCBib3VuZGluZ0JveCA9IENHUmVjdEFwcGx5QWZmaW5l
VHJhbnNmb3JtKGJveCwgQ0dBZmZpbmVUcmFuc2Zvcm1NYWtlU2NhbGUoc2NhbGUsIC1zY2FsZSkp
OwogICAgIGlmIChtX3N5bnRoZXRpY0JvbGRPZmZzZXQpCiAgICAgICAgIGJvdW5kaW5nQm94LnNl
dFdpZHRoKGJvdW5kaW5nQm94LndpZHRoKCkgKyBtX3N5bnRoZXRpY0JvbGRPZmZzZXQpOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ2Fp
cm9XaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9TaW1wbGVGb250RGF0YUNhaXJvV2luLmNwcAkocmV2aXNpb24gNzYzNDApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFDYWlyb1dpbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDEzICs2MywxNSBAQCB2b2lkIFNpbXBsZUZvbnREYXRh
OjpwbGF0Zm9ybUluaXQoKQogCiAgICAgVEVYVE1FVFJJQyB0ZXh0TWV0cmljczsKICAgICBHZXRU
ZXh0TWV0cmljcyhoZGMsICZ0ZXh0TWV0cmljcyk7Ci0gICAgbV9hc2NlbnQgPSBscm91bmRmKHRl
eHRNZXRyaWNzLnRtQXNjZW50ICogbWV0cmljc011bHRpcGxpZXIpOwotICAgIG1fZGVzY2VudCA9
IGxyb3VuZGYodGV4dE1ldHJpY3MudG1EZXNjZW50ICogbWV0cmljc011bHRpcGxpZXIpOwotICAg
IG1feEhlaWdodCA9IG1fYXNjZW50ICogMC41NmY7IC8vIEJlc3QgZ3Vlc3MgZm9yIHhIZWlnaHQg
Zm9yIG5vbi1UcnVldHlwZSBmb250cy4KLSAgICBtX2xpbmVHYXAgPSBscm91bmRmKHRleHRNZXRy
aWNzLnRtRXh0ZXJuYWxMZWFkaW5nICogbWV0cmljc011bHRpcGxpZXIpOwotICAgIG1fbGluZVNw
YWNpbmcgPSBtX2FzY2VudCArIG1fZGVzY2VudCArIG1fbGluZUdhcDsKLSAgICBtX2F2Z0NoYXJX
aWR0aCA9IGxyb3VuZGYodGV4dE1ldHJpY3MudG1BdmVDaGFyV2lkdGggKiBtZXRyaWNzTXVsdGlw
bGllcik7Ci0gICAgbV9tYXhDaGFyV2lkdGggPSBscm91bmRmKHRleHRNZXRyaWNzLnRtTWF4Q2hh
cldpZHRoICogbWV0cmljc011bHRpcGxpZXIpOworICAgIGZsb2F0IGFzY2VudCA9IHRleHRNZXRy
aWNzLnRtQXNjZW50ICogbWV0cmljc011bHRpcGxpZXI7CisgICAgZmxvYXQgZGVzY2VudCA9IHRl
eHRNZXRyaWNzLnRtRGVzY2VudCAqIG1ldHJpY3NNdWx0aXBsaWVyOworICAgIGZsb2F0IHhIZWln
aHQgPSBhc2NlbnQgKiAwLjU2ZjsgLy8gQmVzdCBndWVzcyBmb3IgeEhlaWdodCBmb3Igbm9uLVRy
dWV0eXBlIGZvbnRzLgorICAgIGZsb2F0IGxpbmVHYXAgPSB0ZXh0TWV0cmljcy50bUV4dGVybmFs
TGVhZGluZyAqIG1ldHJpY3NNdWx0aXBsaWVyOworICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50
KGFzY2VudCk7CisgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGRlc2NlbnQpOworICAgIG1f
Zm9udE1ldHJpY3Muc2V0TGluZUdhcChsaW5lR2FwKTsKKyAgICBtX2F2Z0NoYXJXaWR0aCA9IHRl
eHRNZXRyaWNzLnRtQXZlQ2hhcldpZHRoICogbWV0cmljc011bHRpcGxpZXI7CisgICAgbV9tYXhD
aGFyV2lkdGggPSB0ZXh0TWV0cmljcy50bU1heENoYXJXaWR0aCAqIG1ldHJpY3NNdWx0aXBsaWVy
OwogCiAgICAgT1VUTElORVRFWFRNRVRSSUMgbWV0cmljczsKICAgICBpZiAoR2V0T3V0bGluZVRl
eHRNZXRyaWNzKGhkYywgc2l6ZW9mKG1ldHJpY3MpLCAmbWV0cmljcykgPiAwKSB7CkBAIC03OCw5
ICs4MCwxMCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgICAgICBN
QVQyIG1hdCA9IHsgMSwgMCwgMCwgMSB9OwogICAgICAgICBEV09SRCBsZW4gPSBHZXRHbHlwaE91
dGxpbmUoaGRjLCAneCcsIEdHT19NRVRSSUNTLCAmZ20sIDAsIDAsICZtYXQpOwogICAgICAgICBp
ZiAobGVuICE9IEdESV9FUlJPUiAmJiBnbS5nbXB0R2x5cGhPcmlnaW4ueSA+IDApCi0gICAgICAg
ICAgICBtX3hIZWlnaHQgPSBnbS5nbXB0R2x5cGhPcmlnaW4ueSAqIG1ldHJpY3NNdWx0aXBsaWVy
OworICAgICAgICAgICAgeEhlaWdodCA9IGdtLmdtcHRHbHlwaE9yaWdpbi55ICogbWV0cmljc011
bHRpcGxpZXI7CiAgICAgfQogCisgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KHhIZWlnaHQp
OwogICAgIGNhaXJvX3dpbjMyX3NjYWxlZF9mb250X2RvbmVfZm9udChzY2FsZWRGb250KTsKIAog
ICAgIG1faXNTeXN0ZW1Gb250ID0gZmFsc2U7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHAJKHJl
dmlzaW9uIDc2MzQwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1Np
bXBsZUZvbnREYXRhV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjYsMTQgKzY2LDkgQEAgYm9v
bCBTaW1wbGVGb250RGF0YTo6c2hvdWxkQXBwbHlNYWNBc2Nlbgogdm9pZCBTaW1wbGVGb250RGF0
YTo6aW5pdEdESUZvbnQoKQogewogICAgIGlmICghbV9wbGF0Zm9ybURhdGEuc2l6ZSgpKSB7Ci0g
ICAgICAgIG1fYXNjZW50ID0gMDsKLSAgICAgICAgbV9kZXNjZW50ID0gMDsKLSAgICAgICAgbV9s
aW5lR2FwID0gMDsKLSAgICAgICAgbV9saW5lU3BhY2luZyA9IDA7CisgICAgICAgIG1fZm9udE1l
dHJpY3MucmVzZXQoKTsKICAgICAgICAgbV9hdmdDaGFyV2lkdGggPSAwOwogICAgICAgICBtX21h
eENoYXJXaWR0aCA9IDA7Ci0gICAgICAgIG1feEhlaWdodCA9IDA7Ci0gICAgICAgIG1fdW5pdHNQ
ZXJFbSA9IDA7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTgyLDIxICs3NywyNCBAQCB2
b2lkIFNpbXBsZUZvbnREYXRhOjppbml0R0RJRm9udCgpCiAgICAgIE9VVExJTkVURVhUTUVUUklD
IG1ldHJpY3M7CiAgICAgIEdldE91dGxpbmVUZXh0TWV0cmljcyhoZGMsIHNpemVvZihtZXRyaWNz
KSwgJm1ldHJpY3MpOwogICAgICBURVhUTUVUUklDJiB0ZXh0TWV0cmljcyA9IG1ldHJpY3Mub3Rt
VGV4dE1ldHJpY3M7Ci0gICAgIG1fYXNjZW50ID0gdGV4dE1ldHJpY3MudG1Bc2NlbnQ7Ci0gICAg
IG1fZGVzY2VudCA9IHRleHRNZXRyaWNzLnRtRGVzY2VudDsKLSAgICAgbV9saW5lR2FwID0gdGV4
dE1ldHJpY3MudG1FeHRlcm5hbExlYWRpbmc7Ci0gICAgIG1fbGluZVNwYWNpbmcgPSBtX2FzY2Vu
dCArIG1fZGVzY2VudCArIG1fbGluZUdhcDsKKyAgICAgZmxvYXQgYXNjZW50ID0gdGV4dE1ldHJp
Y3MudG1Bc2NlbnQ7CisgICAgIGZsb2F0IGRlc2NlbnQgPSB0ZXh0TWV0cmljcy50bURlc2NlbnQ7
CisgICAgIGZsb2F0IGxpbmVHYXAgPSB0ZXh0TWV0cmljcy50bUV4dGVybmFsTGVhZGluZzsKKyAg
ICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKKyAgICAgbV9mb250TWV0cmljcy5z
ZXREZXNjZW50KGRlc2NlbnQpOworICAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZUdh
cCk7CiAgICAgIG1fYXZnQ2hhcldpZHRoID0gdGV4dE1ldHJpY3MudG1BdmVDaGFyV2lkdGg7CiAg
ICAgIG1fbWF4Q2hhcldpZHRoID0gdGV4dE1ldHJpY3MudG1NYXhDaGFyV2lkdGg7Ci0gICAgIG1f
eEhlaWdodCA9IG1fYXNjZW50ICogMC41NmY7IC8vIEJlc3QgZ3Vlc3MgZm9yIHhIZWlnaHQgaWYg
bm8geCBnbHlwaCBpcyBwcmVzZW50LgorICAgICBmbG9hdCB4SGVpZ2h0ID0gYXNjZW50ICogMC41
NmY7IC8vIEJlc3QgZ3Vlc3MgZm9yIHhIZWlnaHQgaWYgbm8geCBnbHlwaCBpcyBwcmVzZW50Lgog
CiAgICAgIEdMWVBITUVUUklDUyBnbTsKICAgICAgTUFUMiBtYXQgPSB7IDEsIDAsIDAsIDEgfTsK
ICAgICAgRFdPUkQgbGVuID0gR2V0R2x5cGhPdXRsaW5lKGhkYywgJ3gnLCBHR09fTUVUUklDUywg
JmdtLCAwLCAwLCAmbWF0KTsKICAgICAgaWYgKGxlbiAhPSBHRElfRVJST1IgJiYgZ20uZ21wdEds
eXBoT3JpZ2luLnkgPiAwKQotICAgICAgICAgbV94SGVpZ2h0ID0gZ20uZ21wdEdseXBoT3JpZ2lu
Lnk7CisgICAgICAgICB4SGVpZ2h0ID0gZ20uZ21wdEdseXBoT3JpZ2luLnk7CiAKLSAgICAgbV91
bml0c1BlckVtID0gbWV0cmljcy5vdG1FTVNxdWFyZTsKKyAgICAgbV9mb250TWV0cmljcy5zZXRY
SGVpZ2h0KHhIZWlnaHQpOworICAgICBtX2ZvbnRNZXRyaWNzLnNldFVuaXRzUGVyRW0obWV0cmlj
cy5vdG1FTVNxdWFyZSk7CiAKICAgICAgU2VsZWN0T2JqZWN0KGhkYywgb2xkRm9udCk7CiAgICAg
IFJlbGVhc2VEQygwLCBoZGMpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luY2UvR3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL0dyYXBoaWNzQ29udGV4dFdpbkNFLmNwcAko
cmV2aXNpb24gNzYzNDApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5j
ZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1MzcsNyArMTUz
Nyw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3VGV4dChjb25zdCBGb24KICAgICBtX2Rh
dGEtPm1fb3BhY2l0eSAqPSBmaWxsQ29sb3IoKS5hbHBoYSgpIC8gMjU1LjA7CiAKICAgICBGbG9h
dFJlY3QgdGV4dFJlY3QgPSBmb250LnNlbGVjdGlvblJlY3RGb3JUZXh0KHJ1biwgcG9pbnQsIGZv
bnQuaGVpZ2h0KCksIGZyb20sIHRvKTsKLSAgICB0ZXh0UmVjdC5zZXRZKHRleHRSZWN0LnkoKSAt
IGZvbnQuYXNjZW50KCkpOworICAgIHRleHRSZWN0LnNldFkodGV4dFJlY3QueSgpIC0gZm9udC5m
b250TWV0cmljcygpLmFzY2VudCgpKTsKICAgICBJbnRSZWN0IHRyUmVjdCA9IGVuY2xvc2luZ0lu
dFJlY3QobV9kYXRhLT5tYXBSZWN0KHRleHRSZWN0KSk7CiAgICAgUkVDVCBibXBSZWN0OwogICAg
IEFscGhhUGFpbnRUeXBlIGFscGhhUGFpbnRUeXBlID0gbXVzdFN1cHBvcnRBbHBoYSA/IEFscGhh
UGFpbnRPdGhlciA6IEFscGhhUGFpbnROb25lOwpAQCAtMTU0Niw3ICsxNTQ2LDcgQEAgdm9pZCBH
cmFwaGljc0NvbnRleHQ6OmRyYXdUZXh0KGNvbnN0IEZvbgogICAgICAgICAgICAgR3JhcGhpY3ND
b250ZXh0IGdjKDApOwogICAgICAgICAgICAgZ2Muc2V0Qml0bWFwKGJtcCk7CiAgICAgICAgICAg
ICBnYy5zY2FsZShGbG9hdFNpemUobV9kYXRhLT5tX3RyYW5zZm9ybS5hKCksIG1fZGF0YS0+bV90
cmFuc2Zvcm0uZCgpKSk7Ci0gICAgICAgICAgICBmb250LmRyYXdUZXh0KCZnYywgcnVuLCBJbnRQ
b2ludCgwLCBmb250LmFzY2VudCgpKSwgZnJvbSwgdG8pOworICAgICAgICAgICAgZm9udC5kcmF3
VGV4dCgmZ2MsIHJ1biwgSW50UG9pbnQoMCwgZm9udC5mb250TWV0cmljcygpLmFzY2VudCgpKSwg
ZnJvbSwgdG8pOwogICAgICAgICB9CiAgICAgICAgIHVuc2lnbmVkIGtleTE7CiAgICAgICAgIEhE
QyBtZW1EQyA9IGJtcC0+Z2V0REMoJmtleTEpOwpAQCAtMTU5MSw3ICsxNTkxLDcgQEAgdm9pZCBH
cmFwaGljc0NvbnRleHQ6OmRyYXdUZXh0KGNvbnN0IFNpbQogICAgICAgICA/IGZvbnREYXRhLT5w
bGF0Zm9ybURhdGEoKS5nZXRTY2FsZWRGb250SGFuZGxlKGhlaWdodCwgc2NhbGVYID09IHNjYWxl
WSA/IDAgOiB3aWR0aCkKICAgICAgICAgOiAwOwogCi0gICAgRmxvYXRQb2ludCBzdGFydFBvaW50
KHBvaW50LngoKSwgcG9pbnQueSgpIC0gZm9udERhdGEtPmFzY2VudCgpKTsKKyAgICBGbG9hdFBv
aW50IHN0YXJ0UG9pbnQocG9pbnQueCgpLCBwb2ludC55KCkgLSBmb250RGF0YS0+Zm9udE1ldHJp
Y3MoKS5hc2NlbnQoKSk7CiAgICAgRmxvYXRQb2ludCB0clBvaW50ID0gbV9kYXRhLT5tYXBQb2lu
dChzdGFydFBvaW50KTsKICAgICBpbnQgeSA9IHN0YWJsZVJvdW5kKHRyUG9pbnQueSgpKTsKIApJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2ltcGxlRm9udERh
dGFXaW5DRS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luY2UvU2ltcGxlRm9udERhdGFXaW5DRS5jcHAJKHJldmlzaW9uIDc2MzQwKQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2UvU2ltcGxlRm9udERhdGFXaW5DRS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDExICs1MSwxMyBAQCB2b2lkIFNpbXBsZUZvbnREYXRh
OjpwbGF0Zm9ybUluaXQoKQogICAgIGNvbnN0IFRFWFRNRVRSSUMmIHRtID0gbV9wbGF0Zm9ybURh
dGEubWV0cmljcygpOwogICAgIG1faXNTeXN0ZW1Gb250ID0gbV9wbGF0Zm9ybURhdGEuaXNTeXN0
ZW1Gb250KCk7CiAKLSAgICBtX2FzY2VudCA9ICh0bS50bUFzY2VudCAqIG1fcGxhdGZvcm1EYXRh
LnNpemUoKSArIDM2KSAvIDcyOwotICAgIG1fZGVzY2VudCA9ICh0bS50bURlc2NlbnQgKiBtX3Bs
YXRmb3JtRGF0YS5zaXplKCkgKyAzNikgLyA3MjsKLSAgICBtX2xpbmVHYXAgPSAodG0udG1FeHRl
cm5hbExlYWRpbmcgKiBtX3BsYXRmb3JtRGF0YS5zaXplKCkgKyAzNikgLyA3MjsKLSAgICBtX2xp
bmVTcGFjaW5nID0gbV9hc2NlbnQgKyBtX2Rlc2NlbnQgKyBtX2xpbmVHYXA7Ci0gICAgbV94SGVp
Z2h0ID0gbV9hc2NlbnQgKiAwLjU2ZjsKKyAgICBmbG9hdCBhc2NlbnQgPSAodG0udG1Bc2NlbnQg
KiBtX3BsYXRmb3JtRGF0YS5zaXplKCkgKyAzNikgLyA3Mi4wZjsKKyAgICBmbG9hdCBkZXNjZW50
ID0gKHRtLnRtRGVzY2VudCAqIG1fcGxhdGZvcm1EYXRhLnNpemUoKSArIDM2KSAvIDcyLjBmOwor
ICAgIGZsb2F0IGxpbmVHYXAgPSAodG0udG1FeHRlcm5hbExlYWRpbmcgKiBtX3BsYXRmb3JtRGF0
YS5zaXplKCkgKyAzNikgLyA3Mi4wZjsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldEFzY2VudChhc2Nl
bnQpOworICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChkZXNjZW50KTsKKyAgICBtX2ZvbnRN
ZXRyaWNzLnNldExpbmVHYXAobGluZUdhcCk7CisgICAgbV9mb250TWV0cmljcy5zZXRYSGVpZ2h0
KGFzY2VudCAqIDAuNTZmKTsKIH0KIAogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1EZXN0
cm95KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L1NpbXBsZUZv
bnREYXRhV3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3d4L1NpbXBsZUZvbnREYXRhV3guY3BwCShyZXZpc2lvbiA3NjM0MCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L1NpbXBsZUZvbnREYXRhV3guY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01MywxMiArNTMsMTEgQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1J
bml0KCkKICAgICB3eEZvbnQgKmZvbnQgPSBtX3BsYXRmb3JtRGF0YS5mb250KCk7CiAgICAgaWYg
KGZvbnQgJiYgZm9udC0+SXNPaygpKSB7CiAgICAgICAgIHd4Rm9udFByb3BlcnRpZXMgcHJvcHMg
PSB3eEZvbnRQcm9wZXJ0aWVzKGZvbnQpOwotICAgICAgICBtX2FzY2VudCA9IHByb3BzLkdldEFz
Y2VudCgpOwotICAgICAgICBtX2Rlc2NlbnQgPSBwcm9wcy5HZXREZXNjZW50KCk7Ci0gICAgICAg
IG1fbGluZVNwYWNpbmcgPSBwcm9wcy5HZXRMaW5lU3BhY2luZygpOwotICAgICAgICBtX3hIZWln
aHQgPSBwcm9wcy5HZXRYSGVpZ2h0KCk7Ci0gICAgICAgIG1fdW5pdHNQZXJFbSA9IDE7IC8vIEZJ
WE1FIQotICAgICAgICBtX2xpbmVHYXAgPSBwcm9wcy5HZXRMaW5lR2FwKCk7CisgICAgICAgIG1f
Zm9udE1ldHJpY3Muc2V0QXNjZW50KHByb3BzLkdldEFzY2VudCgpKTsKKyAgICAgICAgbV9mb250
TWV0cmljcy5zZXREZXNjZW50KHByb3BzLkdldERlc2NlbnQoKSk7CisgICAgICAgIG1fZm9udE1l
dHJpY3Muc2V0WEhlaWdodChwcm9wcy5HZXRYSGVpZ2h0KCkpOworICAgICAgICBtX2ZvbnRNZXRy
aWNzLnNldFVuaXRzUGVyRW0oMSk7IC8vIEZJWE1FIQorICAgICAgICBtX2ZvbnRNZXRyaWNzLnNl
dExpbmVHYXAocHJvcHMuR2V0TGluZUdhcCgpKTsKICAgICB9CiAKICAgICBtX3N5bnRoZXRpY0Jv
bGRPZmZzZXQgPSAwLjBmOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1BvcHVw
TWVudVdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1Bv
cHVwTWVudVdpbi5jcHAJKHJldmlzaW9uIDc2MzQwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vd2luL1BvcHVwTWVudVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwNiw3ICszMDYsNyBA
QCB2b2lkIFBvcHVwTWVudVdpbjo6Y2FsY3VsYXRlUG9zaXRpb25BbmRTCiAKICAgICAvLyBGaXJz
dCwgZGV0ZXJtaW5lIHRoZSBwb3B1cCdzIGhlaWdodAogICAgIGludCBpdGVtQ291bnQgPSBjbGll
bnQoKS0+bGlzdFNpemUoKTsKLSAgICBtX2l0ZW1IZWlnaHQgPSBjbGllbnQoKS0+bWVudVN0eWxl
KCkuZm9udCgpLmhlaWdodCgpICsgb3B0aW9uU3BhY2luZ01pZGRsZTsKKyAgICBtX2l0ZW1IZWln
aHQgPSBjbGllbnQoKS0+bWVudVN0eWxlKCkuZm9udCgpLmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkg
KyBvcHRpb25TcGFjaW5nTWlkZGxlOwogICAgIGludCBuYXR1cmFsSGVpZ2h0ID0gbV9pdGVtSGVp
Z2h0ICogaXRlbUNvdW50OwogICAgIGludCBwb3B1cEhlaWdodCA9IG1pbihtYXhQb3B1cEhlaWdo
dCwgbmF0dXJhbEhlaWdodCk7CiAgICAgLy8gVGhlIHBvcHVwIHNob3VsZCBzaG93IGFuIGludGVn
cmFsIG51bWJlciBvZiBpdGVtcyAoaS5lLiBubyBwYXJ0aWFsIGl0ZW1zIHNob3VsZCBiZSB2aXNp
YmxlKQpAQCAtNjQ5LDcgKzY0OSw3IEBAIHZvaWQgUG9wdXBNZW51V2luOjpwYWludChjb25zdCBJ
bnRSZWN0JiAKICAgICAgICAgICAgIGludCB0ZXh0WCA9IG1heCgwLCBjbGllbnQoKS0+Y2xpZW50
UGFkZGluZ0xlZnQoKSAtIGNsaWVudCgpLT5jbGllbnRJbnNldExlZnQoKSk7CiAgICAgICAgICAg
ICBpZiAoUmVuZGVyVGhlbWU6OmRlZmF1bHRUaGVtZSgpLT5wb3B1cE9wdGlvblN1cHBvcnRzVGV4
dEluZGVudCgpICYmIGl0ZW1TdHlsZS50ZXh0RGlyZWN0aW9uKCkgPT0gTFRSKQogICAgICAgICAg
ICAgICAgIHRleHRYICs9IGl0ZW1TdHlsZS50ZXh0SW5kZW50KCkuY2FsY01pblZhbHVlKGl0ZW1S
ZWN0LndpZHRoKCkpOwotICAgICAgICAgICAgaW50IHRleHRZID0gaXRlbVJlY3QueSgpICsgaXRl
bUZvbnQuYXNjZW50KCkgKyAoaXRlbVJlY3QuaGVpZ2h0KCkgLSBpdGVtRm9udC5oZWlnaHQoKSkg
LyAyOworICAgICAgICAgICAgaW50IHRleHRZID0gaXRlbVJlY3QueSgpICsgaXRlbUZvbnQuZm9u
dE1ldHJpY3MoKS5hc2NlbnQoKSArIChpdGVtUmVjdC5oZWlnaHQoKSAtIGl0ZW1Gb250LmZvbnRN
ZXRyaWNzKCkuaGVpZ2h0KCkpIC8gMjsKICAgICAgICAgICAgIGNvbnRleHQuZHJhd0JpZGlUZXh0
KGl0ZW1Gb250LCB0ZXh0UnVuLCBJbnRQb2ludCh0ZXh0WCwgdGV4dFkpKTsKICAgICAgICAgfQog
ICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FbGxpcHNpc0JveC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0VsbGlwc2lzQm94LmNwcAkocmV2
aXNpb24gNzYzNDApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRWxsaXBzaXNCb3guY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01Myw3ICs1Myw3IEBAIHZvaWQgRWxsaXBzaXNCb3g6OnBhaW50
KFBhaW50SW5mbyYgcGFpbnQKICAgICB9CiAKICAgICBjb25zdCBTdHJpbmcmIHN0ciA9IG1fc3Ry
OwotICAgIGNvbnRleHQtPmRyYXdUZXh0KHN0eWxlLT5mb250KCksIFRleHRSdW4oc3RyLmNoYXJh
Y3RlcnMoKSwgc3RyLmxlbmd0aCgpLCBmYWxzZSwgMCwgMCwgZmFsc2UsIHN0eWxlLT52aXN1YWxs
eU9yZGVyZWQoKSksIEludFBvaW50KG1feCArIHR4LCBtX3kgKyB0eSArIHN0eWxlLT5mb250KCku
YXNjZW50KCkpKTsKKyAgICBjb250ZXh0LT5kcmF3VGV4dChzdHlsZS0+Zm9udCgpLCBUZXh0UnVu
KHN0ci5jaGFyYWN0ZXJzKCksIHN0ci5sZW5ndGgoKSwgZmFsc2UsIDAsIDAsIGZhbHNlLCBzdHls
ZS0+dmlzdWFsbHlPcmRlcmVkKCkpLCBJbnRQb2ludChtX3ggKyB0eCwgbV95ICsgdHkgKyBzdHls
ZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSkpOwogCiAgICAgLy8gUmVzdG9yZSB0aGUgcmVndWxh
ciBmaWxsIGNvbG9yLgogICAgIGlmICh0ZXh0Q29sb3IgIT0gY29udGV4dC0+ZmlsbENvbG9yKCkp
CkBAIC02NSw3ICs2NSw3IEBAIHZvaWQgRWxsaXBzaXNCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFp
bnQKICAgICBpZiAobV9tYXJrdXBCb3gpIHsKICAgICAgICAgLy8gUGFpbnQgdGhlIG1hcmt1cCBi
b3gKICAgICAgICAgdHggKz0gbV94ICsgbV9sb2dpY2FsV2lkdGggLSBtX21hcmt1cEJveC0+eCgp
OwotICAgICAgICB0eSArPSBtX3kgKyBzdHlsZS0+Zm9udCgpLmFzY2VudCgpIC0gKG1fbWFya3Vw
Qm94LT55KCkgKyBtX21hcmt1cEJveC0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5m
b250KCkuYXNjZW50KCkpOworICAgICAgICB0eSArPSBtX3kgKyBzdHlsZS0+Zm9udE1ldHJpY3Mo
KS5hc2NlbnQoKSAtIChtX21hcmt1cEJveC0+eSgpICsgbV9tYXJrdXBCb3gtPnJlbmRlcmVyKCkt
PnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAgICAgIG1f
bWFya3VwQm94LT5wYWludChwYWludEluZm8sIHR4LCB0eSk7CiAgICAgfQogfQpAQCAtMTA4LDcg
KzEwOCw3IEBAIGJvb2wgRWxsaXBzaXNCb3g6Om5vZGVBdFBvaW50KGNvbnN0IEhpdFQKICAgICBp
ZiAobV9tYXJrdXBCb3gpIHsKICAgICAgICAgUmVuZGVyU3R5bGUqIHN0eWxlID0gbV9yZW5kZXJl
ci0+c3R5bGUobV9maXJzdExpbmUpOwogICAgICAgICBpbnQgbXR4ID0gdHggKyBtX2xvZ2ljYWxX
aWR0aCAtIG1fbWFya3VwQm94LT54KCk7Ci0gICAgICAgIGludCBtdHkgPSB0eSArIHN0eWxlLT5m
b250KCkuYXNjZW50KCkgLSAobV9tYXJrdXBCb3gtPnkoKSArIG1fbWFya3VwQm94LT5yZW5kZXJl
cigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKS5hc2NlbnQoKSk7CisgICAgICAgIGludCBt
dHkgPSB0eSArIHN0eWxlLT5mb250TWV0cmljcygpLmFzY2VudCgpIC0gKG1fbWFya3VwQm94LT55
KCkgKyBtX21hcmt1cEJveC0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250TWV0
cmljcygpLmFzY2VudCgpKTsKICAgICAgICAgaWYgKG1fbWFya3VwQm94LT5ub2RlQXRQb2ludChy
ZXF1ZXN0LCByZXN1bHQsIHgsIHksIG10eCwgbXR5KSkgewogICAgICAgICAgICAgcmVuZGVyZXIo
KS0+dXBkYXRlSGl0VGVzdFJlc3VsdChyZXN1bHQsIEludFBvaW50KHggLSBtdHgsIHkgLSBtdHkp
KTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0lubGluZUJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0lubGluZUJveC5jcHAJKHJldmlzaW9uIDc2MzQwKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0lubGluZUJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk0LDE0ICs5NCwxNCBAQCBpbnQg
SW5saW5lQm94Ojpsb2dpY2FsSGVpZ2h0KCkgY29uc3QKICNlbmRpZgogICAgIAogICAgIGlmIChy
ZW5kZXJlcigpLT5pc1RleHQoKSkKLSAgICAgICAgcmV0dXJuIG1faXNUZXh0ID8gcmVuZGVyZXIo
KS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCkuaGVpZ2h0KCkgOiAwOworICAgICAgICByZXR1
cm4gbV9pc1RleHQgPyByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnRNZXRyaWNz
KCkuaGVpZ2h0KCkgOiAwOwogICAgIGlmIChyZW5kZXJlcigpLT5pc0JveCgpICYmIHBhcmVudCgp
KQogICAgICAgICByZXR1cm4gaXNIb3Jpem9udGFsKCkgPyB0b1JlbmRlckJveChtX3JlbmRlcmVy
KS0+aGVpZ2h0KCkgOiB0b1JlbmRlckJveChtX3JlbmRlcmVyKS0+d2lkdGgoKTsKIAogICAgIEFT
U0VSVChpc0lubGluZUZsb3dCb3goKSk7CiAgICAgUmVuZGVyQm94TW9kZWxPYmplY3QqIGZsb3dP
YmplY3QgPSBib3hNb2RlbE9iamVjdCgpOwotICAgIGNvbnN0IEZvbnQmIGZvbnQgPSByZW5kZXJl
cigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKTsKLSAgICBpbnQgcmVzdWx0ID0gZm9udC5o
ZWlnaHQoKTsKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSByZW5kZXJlcigp
LT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnRNZXRyaWNzKCk7CisgICAgaW50IHJlc3VsdCA9IGZv
bnRNZXRyaWNzLmhlaWdodCgpOwogICAgIGlmIChwYXJlbnQoKSkKICAgICAgICAgcmVzdWx0ICs9
IGZsb3dPYmplY3QtPmJvcmRlckFuZFBhZGRpbmdMb2dpY2FsSGVpZ2h0KCk7CiAgICAgcmV0dXJu
IHJlc3VsdDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5j
cHAJKHJldmlzaW9uIDc2MzQwKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZs
b3dCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDgsNiArNDA4LDcgQEAgc3RhdGljIGludCB2
ZXJ0aWNhbFBvc2l0aW9uRm9yQm94KElubGluZQogICAgICAgICAKICAgICAgICAgaWYgKHZlcnRp
Y2FsQWxpZ24gIT0gQkFTRUxJTkUpIHsKICAgICAgICAgICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBw
YXJlbnQtPnN0eWxlKGZpcnN0TGluZSktPmZvbnQoKTsKKyAgICAgICAgICAgIGNvbnN0IEZvbnRN
ZXRyaWNzJiBmb250TWV0cmljcyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKICAgICAgICAgICAgIGlu
dCBmb250U2l6ZSA9IGZvbnQucGl4ZWxTaXplKCk7CiAKICAgICAgICAgICAgIExpbmVEaXJlY3Rp
b25Nb2RlIGxpbmVEaXJlY3Rpb24gPSBwYXJlbnQtPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRp
bmdNb2RlKCkgPyBIb3Jpem9udGFsTGluZSA6IFZlcnRpY2FsTGluZTsKQEAgLTQxNywxMSArNDE4
LDExIEBAIHN0YXRpYyBpbnQgdmVydGljYWxQb3NpdGlvbkZvckJveChJbmxpbmUKICAgICAgICAg
ICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gU1VQRVIpCiAgICAgICAgICAgICAgICAgdmVy
dGljYWxQb3NpdGlvbiAtPSBmb250U2l6ZSAvIDMgKyAxOwogICAgICAgICAgICAgZWxzZSBpZiAo
dmVydGljYWxBbGlnbiA9PSBURVhUX1RPUCkKLSAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0
aW9uICs9IHJlbmRlcmVyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5l
LCBsaW5lRGlyZWN0aW9uKSAtIGZvbnQuYXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgICAgICAg
ICAgICAgdmVydGljYWxQb3NpdGlvbiArPSByZW5kZXJlci0+YmFzZWxpbmVQb3NpdGlvbihiYXNl
bGluZVR5cGUsIGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikgLSBmb250TWV0cmljcy5hc2NlbnQo
YmFzZWxpbmVUeXBlKTsKICAgICAgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gTUlE
RExFKQotICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gLXN0YXRpY19jYXN0PGlu
dD4oZm9udC54SGVpZ2h0KCkgLyAyKSAtIHJlbmRlcmVyLT5saW5lSGVpZ2h0KGZpcnN0TGluZSwg
bGluZURpcmVjdGlvbikgLyAyICsgcmVuZGVyZXItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVU
eXBlLCBmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pOworICAgICAgICAgICAgICAgIHZlcnRpY2Fs
UG9zaXRpb24gKz0gLXN0YXRpY19jYXN0PGludD4oZm9udE1ldHJpY3MueEhlaWdodCgpIC8gMikg
LSByZW5kZXJlci0+bGluZUhlaWdodChmaXJzdExpbmUsIGxpbmVEaXJlY3Rpb24pIC8gMiArIHJl
bmRlcmVyLT5iYXNlbGluZVBvc2l0aW9uKGJhc2VsaW5lVHlwZSwgZmlyc3RMaW5lLCBsaW5lRGly
ZWN0aW9uKTsKICAgICAgICAgICAgIGVsc2UgaWYgKHZlcnRpY2FsQWxpZ24gPT0gVEVYVF9CT1RU
T00pIHsKLSAgICAgICAgICAgICAgICB2ZXJ0aWNhbFBvc2l0aW9uICs9IGZvbnQuZGVzY2VudChi
YXNlbGluZVR5cGUpOworICAgICAgICAgICAgICAgIHZlcnRpY2FsUG9zaXRpb24gKz0gZm9udE1l
dHJpY3MuZGVzY2VudChiYXNlbGluZVR5cGUpOwogICAgICAgICAgICAgICAgIC8vIGxpbmVIZWln
aHQgLSBiYXNlbGluZVBvc2l0aW9uIGlzIGFsd2F5cyAwIGZvciByZXBsYWNlZCBlbGVtZW50cyAo
ZXhjZXB0IGlubGluZSBibG9ja3MpLCBzbyBkb24ndCBib3RoZXIgd2FzdGluZyB0aW1lIGluIHRo
YXQgY2FzZS4KICAgICAgICAgICAgICAgICBpZiAoIXJlbmRlcmVyLT5pc1JlcGxhY2VkKCkgfHwg
cmVuZGVyZXItPmlzSW5saW5lQmxvY2tPcklubGluZVRhYmxlKCkpCiAgICAgICAgICAgICAgICAg
ICAgIHZlcnRpY2FsUG9zaXRpb24gLT0gKHJlbmRlcmVyLT5saW5lSGVpZ2h0KGZpcnN0TGluZSwg
bGluZURpcmVjdGlvbikgLSByZW5kZXJlci0+YmFzZWxpbmVQb3NpdGlvbihiYXNlbGluZVR5cGUs
IGZpcnN0TGluZSwgbGluZURpcmVjdGlvbikpOwpAQCAtNTAzLDkgKzUwNCwxMCBAQCB2b2lkIElu
bGluZUZsb3dCb3g6OmNvbXB1dGVMb2dpY2FsQm94SGVpCiAgICAgICAgICAgICBiYXNlbGluZSA9
IDA7CiAgICAgICAgICAgICBpbnQgYmFzZWxpbmVUb0JvdHRvbSA9IDA7CiAgICAgICAgICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IHVzZWRGb250cy0+c2l6ZSgpOyArK2kpIHsKLSAgICAgICAg
ICAgICAgICBpbnQgaGFsZkxlYWRpbmcgPSAodXNlZEZvbnRzLT5hdChpKS0+bGluZVNwYWNpbmco
KSAtIHVzZWRGb250cy0+YXQoaSktPmhlaWdodCgpKSAvIDI7Ci0gICAgICAgICAgICAgICAgaW50
IHVzZWRGb250QmFzZWxpbmUgPSBoYWxmTGVhZGluZyArIHVzZWRGb250cy0+YXQoaSktPmFzY2Vu
dChiYXNlbGluZVR5cGUpOwotICAgICAgICAgICAgICAgIGludCB1c2VkRm9udEJhc2VsaW5lVG9C
b3R0b20gPSB1c2VkRm9udHMtPmF0KGkpLT5saW5lU3BhY2luZygpIC0gdXNlZEZvbnRCYXNlbGlu
ZTsKKyAgICAgICAgICAgICAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSB1c2Vk
Rm9udHMtPmF0KGkpLT5mb250TWV0cmljcygpOworICAgICAgICAgICAgICAgIGludCBoYWxmTGVh
ZGluZyA9IChmb250TWV0cmljcy5saW5lU3BhY2luZygpIC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkp
IC8gMjsKKyAgICAgICAgICAgICAgICBpbnQgdXNlZEZvbnRCYXNlbGluZSA9IGhhbGZMZWFkaW5n
ICsgZm9udE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgICAgICAgICAgICAgaW50
IHVzZWRGb250QmFzZWxpbmVUb0JvdHRvbSA9IGZvbnRNZXRyaWNzLmxpbmVTcGFjaW5nKCkgLSB1
c2VkRm9udEJhc2VsaW5lOwogICAgICAgICAgICAgICAgIGlmICghYmFzZWxpbmVTZXQpIHsKICAg
ICAgICAgICAgICAgICAgICAgYmFzZWxpbmVTZXQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAg
ICBiYXNlbGluZSA9IHVzZWRGb250QmFzZWxpbmU7CkBAIC01MTUsOSArNTE3LDkgQEAgdm9pZCBJ
bmxpbmVGbG93Qm94Ojpjb21wdXRlTG9naWNhbEJveEhlaQogICAgICAgICAgICAgICAgICAgICBi
YXNlbGluZVRvQm90dG9tID0gbWF4KGJhc2VsaW5lVG9Cb3R0b20sIHVzZWRGb250QmFzZWxpbmVU
b0JvdHRvbSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGlmICghYWZmZWN0
c0FzY2VudCkKLSAgICAgICAgICAgICAgICAgICAgYWZmZWN0c0FzY2VudCA9IHVzZWRGb250cy0+
YXQoaSktPmFzY2VudCgpIC0gY3Vyci0+bG9naWNhbFRvcCgpID4gMDsKKyAgICAgICAgICAgICAg
ICAgICAgYWZmZWN0c0FzY2VudCA9IGZvbnRNZXRyaWNzLmFzY2VudCgpIC0gY3Vyci0+bG9naWNh
bFRvcCgpID4gMDsKICAgICAgICAgICAgICAgICBpZiAoIWFmZmVjdHNEZXNjZW50KQotICAgICAg
ICAgICAgICAgICAgICBhZmZlY3RzRGVzY2VudCA9IHVzZWRGb250cy0+YXQoaSktPmRlc2NlbnQo
KSArIGN1cnItPmxvZ2ljYWxUb3AoKSA+IDA7CisgICAgICAgICAgICAgICAgICAgIGFmZmVjdHNE
ZXNjZW50ID0gZm9udE1ldHJpY3MuZGVzY2VudCgpICsgY3Vyci0+bG9naWNhbFRvcCgpID4gMDsK
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGxpbmVIZWlnaHQgPSBiYXNlbGluZSArIGJhc2Vs
aW5lVG9Cb3R0b207CiAgICAgICAgIH0gZWxzZSB7CkBAIC01MjcsMTEgKzUyOSwxMiBAQCB2b2lk
IElubGluZUZsb3dCb3g6OmNvbXB1dGVMb2dpY2FsQm94SGVpCiAgICAgICAgICAgICAgICAgLy8g
RXhhbWluZSB0aGUgZm9udCBib3ggZm9yIGlubGluZSBmbG93cyBhbmQgdGV4dCBib3hlcyB0byBz
ZWUgaWYgYW55IHBhcnQgb2YgaXQgaXMgYWJvdmUgdGhlIGJhc2VsaW5lLgogICAgICAgICAgICAg
ICAgIC8vIElmIHRoZSB0b3Agb2Ygb3VyIGZvbnQgYm94IHJlbGF0aXZlIHRvIHRoZSByb290IGJv
eCBiYXNlbGluZSBpcyBhYm92ZSB0aGUgcm9vdCBib3ggYmFzZWxpbmUsIHRoZW4KICAgICAgICAg
ICAgICAgICAvLyB3ZSBhcmUgY29udHJpYnV0aW5nIHRvIHRoZSBtYXhBc2NlbnQgdmFsdWUuCi0g
ICAgICAgICAgICAgICAgYWZmZWN0c0FzY2VudCA9IGN1cnItPnJlbmRlcmVyKCktPnN0eWxlKG1f
Zmlyc3RMaW5lKS0+Zm9udCgpLmFzY2VudChiYXNlbGluZVR5cGUpIC0gY3Vyci0+bG9naWNhbFRv
cCgpID4gMDsKKyAgICAgICAgICAgICAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3Mg
PSBjdXJyLT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnRNZXRyaWNzKCk7Cisg
ICAgICAgICAgICAgICAgYWZmZWN0c0FzY2VudCA9IGZvbnRNZXRyaWNzLmFzY2VudChiYXNlbGlu
ZVR5cGUpIC0gY3Vyci0+bG9naWNhbFRvcCgpID4gMDsKICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICAvLyBEZXNjZW50IGlzIHNpbWlsYXIuICBJZiBhbnkgcGFydCBvZiBvdXIgZm9u
dCBib3ggaXMgYmVsb3cgdGhlIHJvb3QgYm94J3MgYmFzZWxpbmUsIHRoZW4KICAgICAgICAgICAg
ICAgICAvLyB3ZSBjb250cmlidXRlIHRvIHRoZSBtYXhEZXNjZW50IHZhbHVlLgotICAgICAgICAg
ICAgICAgIGFmZmVjdHNEZXNjZW50ID0gY3Vyci0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExp
bmUpLT5mb250KCkuZGVzY2VudChiYXNlbGluZVR5cGUpICsgY3Vyci0+bG9naWNhbFRvcCgpID4g
MDsKKyAgICAgICAgICAgICAgICBhZmZlY3RzRGVzY2VudCA9IGZvbnRNZXRyaWNzLmRlc2NlbnQo
YmFzZWxpbmVUeXBlKSArIGN1cnItPmxvZ2ljYWxUb3AoKSA+IDA7CiAgICAgICAgICAgICB9IGVs
c2UgewogICAgICAgICAgICAgICAgIC8vIFJlcGxhY2VkIGVsZW1lbnRzIGFsd2F5cyBhZmZlY3Qg
Ym90aCB0aGUgYXNjZW50IGFuZCBkZXNjZW50LgogICAgICAgICAgICAgICAgIGFmZmVjdHNBc2Nl
bnQgPSB0cnVlOwpAQCAtNjA2LDggKzYwOSw4IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6cGxhY2VC
b3hlc0luQmxvY2tEaXIKICAgICAgICAgaW50IGJveEhlaWdodEluY2x1ZGluZ01hcmdpbnMgPSBi
b3hIZWlnaHQ7CiAgICAgICAgICAgICAKICAgICAgICAgaWYgKGN1cnItPmlzVGV4dCgpIHx8IGN1
cnItPmlzSW5saW5lRmxvd0JveCgpKSB7Ci0gICAgICAgICAgICBjb25zdCBGb250JiBmb250ID0g
Y3Vyci0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5mb250KCk7Ci0gICAgICAgICAg
ICBuZXdMb2dpY2FsVG9wICs9IGN1cnItPmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlKSAt
IGZvbnQuYXNjZW50KGJhc2VsaW5lVHlwZSk7CisgICAgICAgICAgICBjb25zdCBGb250TWV0cmlj
cyYgZm9udE1ldHJpY3MgPSBjdXJyLT5yZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZv
bnRNZXRyaWNzKCk7CisgICAgICAgICAgICBuZXdMb2dpY2FsVG9wICs9IGN1cnItPmJhc2VsaW5l
UG9zaXRpb24oYmFzZWxpbmVUeXBlKSAtIGZvbnRNZXRyaWNzLmFzY2VudChiYXNlbGluZVR5cGUp
OwogICAgICAgICAgICAgaWYgKGN1cnItPmlzSW5saW5lRmxvd0JveCgpKSB7CiAgICAgICAgICAg
ICAgICAgUmVuZGVyQm94TW9kZWxPYmplY3QqIGJveE9iamVjdCA9IHRvUmVuZGVyQm94TW9kZWxP
YmplY3QoY3Vyci0+cmVuZGVyZXIoKSk7CiAgICAgICAgICAgICAgICAgbmV3TG9naWNhbFRvcCAt
PSBib3hPYmplY3QtPnN0eWxlKG1fZmlyc3RMaW5lKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUo
KSA/IGJveE9iamVjdC0+Ym9yZGVyVG9wKCkgKyBib3hPYmplY3QtPnBhZGRpbmdUb3AoKSA6IApA
QCAtNjY4LDggKzY3MSw4IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6cGxhY2VCb3hlc0luQmxvY2tE
aXIKICAgICB9CiAKICAgICBpZiAoaXNSb290SW5saW5lQm94KCkpIHsKLSAgICAgICAgY29uc3Qg
Rm9udCYgZm9udCA9IHJlbmRlcmVyKCktPnN0eWxlKG1fZmlyc3RMaW5lKS0+Zm9udCgpOwotICAg
ICAgICBzZXRMb2dpY2FsVG9wKGxvZ2ljYWxUb3AoKSArIGJhc2VsaW5lUG9zaXRpb24oYmFzZWxp
bmVUeXBlKSAtIGZvbnQuYXNjZW50KGJhc2VsaW5lVHlwZSkpOworICAgICAgICBjb25zdCBGb250
TWV0cmljcyYgZm9udE1ldHJpY3MgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZv
bnRNZXRyaWNzKCk7CisgICAgICAgIHNldExvZ2ljYWxUb3AobG9naWNhbFRvcCgpICsgYmFzZWxp
bmVQb3NpdGlvbihiYXNlbGluZVR5cGUpIC0gZm9udE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlw
ZSkpOwogICAgICAgICAKICAgICAgICAgaWYgKGhhc1RleHRDaGlsZHJlbigpIHx8IHN0cmljdE1v
ZGUpIHsKICAgICAgICAgICAgIGlmICghc2V0TGluZVRvcCkgewpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkocmV2aXNpb24gNzYzNDApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQ4NSw3ICs0ODUsNyBAQCB2b2lkIElubGluZVRleHRCb3g6OnBhaW50KFBhaW50SW5mbyYgcGFp
CiAgICAgSW50UG9pbnQgYm94T3JpZ2luID0gbG9jYXRpb25JbmNsdWRpbmdGbGlwcGluZygpOwog
ICAgIGJveE9yaWdpbi5tb3ZlKHR4LCB0eSk7ICAgIAogICAgIEludFJlY3QgYm94UmVjdChib3hP
cmlnaW4sIEludFNpemUobG9naWNhbFdpZHRoKCksIGxvZ2ljYWxIZWlnaHQoKSkpOwotICAgIElu
dFBvaW50IHRleHRPcmlnaW4gPSBJbnRQb2ludChib3hPcmlnaW4ueCgpLCBib3hPcmlnaW4ueSgp
ICsgc3R5bGVUb1VzZS0+Zm9udCgpLmFzY2VudCgpKTsKKyAgICBJbnRQb2ludCB0ZXh0T3JpZ2lu
ID0gSW50UG9pbnQoYm94T3JpZ2luLngoKSwgYm94T3JpZ2luLnkoKSArIHN0eWxlVG9Vc2UtPmZv
bnRNZXRyaWNzKCkuYXNjZW50KCkpOwogCiAgICAgaWYgKCFpc0hvcml6b250YWwoKSkgewogICAg
ICAgICBjb250ZXh0LT5zYXZlKCk7CkBAIC02MjYsNyArNjI2LDcgQEAgdm9pZCBJbmxpbmVUZXh0
Qm94OjpwYWludChQYWludEluZm8mIHBhaQogICAgIGJvb2wgaGFzVGV4dEVtcGhhc2lzID0gZ2V0
RW1waGFzaXNNYXJrUG9zaXRpb24oc3R5bGVUb1VzZSwgZW1waGFzaXNNYXJrUG9zaXRpb24pOwog
ICAgIGNvbnN0IEF0b21pY1N0cmluZyYgZW1waGFzaXNNYXJrID0gaGFzVGV4dEVtcGhhc2lzID8g
c3R5bGVUb1VzZS0+dGV4dEVtcGhhc2lzTWFya1N0cmluZygpIDogbnVsbEF0b207CiAgICAgaWYg
KCFlbXBoYXNpc01hcmsuaXNFbXB0eSgpKQotICAgICAgICBlbXBoYXNpc01hcmtPZmZzZXQgPSBl
bXBoYXNpc01hcmtQb3NpdGlvbiA9PSBUZXh0RW1waGFzaXNQb3NpdGlvbk92ZXIgPyAtZm9udC5h
c2NlbnQoKSAtIGZvbnQuZW1waGFzaXNNYXJrRGVzY2VudChlbXBoYXNpc01hcmspIDogZm9udC5k
ZXNjZW50KCkgKyBmb250LmVtcGhhc2lzTWFya0FzY2VudChlbXBoYXNpc01hcmspOworICAgICAg
ICBlbXBoYXNpc01hcmtPZmZzZXQgPSBlbXBoYXNpc01hcmtQb3NpdGlvbiA9PSBUZXh0RW1waGFz
aXNQb3NpdGlvbk92ZXIgPyAtZm9udC5mb250TWV0cmljcygpLmFzY2VudCgpIC0gZm9udC5lbXBo
YXNpc01hcmtEZXNjZW50KGVtcGhhc2lzTWFyaykgOiBmb250LmZvbnRNZXRyaWNzKCkuZGVzY2Vu
dCgpICsgZm9udC5lbXBoYXNpc01hcmtBc2NlbnQoZW1waGFzaXNNYXJrKTsKIAogICAgIGlmICgh
cGFpbnRTZWxlY3RlZFRleHRPbmx5KSB7CiAgICAgICAgIC8vIEZvciBzdHJva2VkIHBhaW50aW5n
LCB3ZSBoYXZlIHRvIGNoYW5nZSB0aGUgdGV4dCBkcmF3aW5nIG1vZGUuICBJdCdzIHByb2JhYmx5
IGRhbmdlcm91cyB0byBsZWF2ZSB0aGF0IG11dGF0ZWQgYXMgYSBzaWRlCkBAIC04MzcsNyArODM3
LDcgQEAgdm9pZCBJbmxpbmVUZXh0Qm94OjpwYWludERlY29yYXRpb24oR3JhcAogICAgIGJvb2wg
bGluZXNBcmVPcGFxdWUgPSAhaXNQcmludGluZyAmJiAoIShkZWNvICYgVU5ERVJMSU5FKSB8fCB1
bmRlcmxpbmUuYWxwaGEoKSA9PSAyNTUpICYmICghKGRlY28gJiBPVkVSTElORSkgfHwgb3Zlcmxp
bmUuYWxwaGEoKSA9PSAyNTUpICYmICghKGRlY28gJiBMSU5FX1RIUk9VR0gpIHx8IGxpbmV0aHJv
dWdoLmFscGhhKCkgPT0gMjU1KTsKIAogICAgIFJlbmRlclN0eWxlKiBzdHlsZVRvVXNlID0gcmVu
ZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpOwotICAgIGludCBiYXNlbGluZSA9IHN0eWxlVG9V
c2UtPmZvbnQoKS5hc2NlbnQoKTsKKyAgICBpbnQgYmFzZWxpbmUgPSBzdHlsZVRvVXNlLT5mb250
TWV0cmljcygpLmFzY2VudCgpOwogCiAgICAgYm9vbCBzZXRDbGlwID0gZmFsc2U7CiAgICAgaW50
IGV4dHJhT2Zmc2V0ID0gMDsKQEAgLTk3MCw3ICs5NzAsNyBAQCB2b2lkIElubGluZVRleHRCb3g6
OnBhaW50U3BlbGxpbmdPckdyYW1tCiAgICAgLy8gU28sIHdlIGdlbmVyYWxseSBwbGFjZSB0aGUg
dW5kZXJsaW5lIGF0IHRoZSBib3R0b20gb2YgdGhlIHRleHQsIGJ1dCBpbiBsYXJnZXIgZm9udHMg
dGhhdCdzIG5vdCBzbyBnb29kIHNvCiAgICAgLy8gd2UgcGluIHRvIHR3byBwaXhlbHMgdW5kZXIg
dGhlIGJhc2VsaW5lLgogICAgIGludCBsaW5lVGhpY2tuZXNzID0gY01pc3NwZWxsaW5nTGluZVRo
aWNrbmVzczsKLSAgICBpbnQgYmFzZWxpbmUgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGlu
ZSktPmZvbnQoKS5hc2NlbnQoKTsKKyAgICBpbnQgYmFzZWxpbmUgPSByZW5kZXJlcigpLT5zdHls
ZShtX2ZpcnN0TGluZSktPmZvbnRNZXRyaWNzKCkuYXNjZW50KCk7CiAgICAgaW50IGRlc2NlbnQg
PSBsb2dpY2FsSGVpZ2h0KCkgLSBiYXNlbGluZTsKICAgICBpbnQgdW5kZXJsaW5lT2Zmc2V0Owog
ICAgIGlmIChkZXNjZW50IDw9ICgyICsgbGluZVRoaWNrbmVzcykpIHsKQEAgLTExMjcsNyArMTEy
Nyw3IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFpbnRDb21wb3NpdGlvblVuZGUKICAgICAvLyBB
bGwgb3RoZXIgbWFya2VkIHRleHQgdW5kZXJsaW5lcyBhcmUgMXB4IHRoaWNrLgogICAgIC8vIElm
IHRoZXJlJ3Mgbm90IGVub3VnaCBzcGFjZSB0aGUgdW5kZXJsaW5lIHdpbGwgdG91Y2ggb3Igb3Zl
cmxhcCBjaGFyYWN0ZXJzLgogICAgIGludCBsaW5lVGhpY2tuZXNzID0gMTsKLSAgICBpbnQgYmFz
ZWxpbmUgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnQoKS5hc2NlbnQoKTsK
KyAgICBpbnQgYmFzZWxpbmUgPSByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmZvbnRN
ZXRyaWNzKCkuYXNjZW50KCk7CiAgICAgaWYgKHVuZGVybGluZS50aGljayAmJiBsb2dpY2FsSGVp
Z2h0KCkgLSBiYXNlbGluZSA+PSAyKQogICAgICAgICBsaW5lVGhpY2tuZXNzID0gMjsKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCShyZXZpc2lvbiA3NjM0
MCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ5NzcsOCArNDk3Nyw4IEBAIGludCBSZW5kZXJCbG9jazo6YmFzZWxpbmVQb3Np
dGlvbihGb250QmEKICAgICAgICAgcmV0dXJuIFJlbmRlckJveDo6YmFzZWxpbmVQb3NpdGlvbihi
YXNlbGluZVR5cGUsIGZpcnN0TGluZSwgZGlyZWN0aW9uLCBsaW5lUG9zaXRpb25Nb2RlKTsKICAg
ICB9CiAKLSAgICBjb25zdCBGb250JiBmID0gc3R5bGUoZmlyc3RMaW5lKS0+Zm9udCgpOwotICAg
IHJldHVybiBmLmFzY2VudChiYXNlbGluZVR5cGUpICsgKGxpbmVIZWlnaHQoZmlyc3RMaW5lLCBk
aXJlY3Rpb24sIGxpbmVQb3NpdGlvbk1vZGUpIC0gZi5oZWlnaHQoKSkgLyAyOworICAgIGNvbnN0
IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IHN0eWxlKGZpcnN0TGluZSktPmZvbnRNZXRyaWNz
KCk7CisgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmFzY2VudChiYXNlbGluZVR5cGUpICsgKGxpbmVI
ZWlnaHQoZmlyc3RMaW5lLCBkaXJlY3Rpb24sIGxpbmVQb3NpdGlvbk1vZGUpIC0gZm9udE1ldHJp
Y3MuaGVpZ2h0KCkpIC8gMjsKIH0KIAogaW50IFJlbmRlckJsb2NrOjpmaXJzdExpbmVCb3hCYXNl
bGluZSgpIGNvbnN0CkBAIC00OTg4LDcgKzQ5ODgsNyBAQCBpbnQgUmVuZGVyQmxvY2s6OmZpcnN0
TGluZUJveEJhc2VsaW5lKCkgCiAKICAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkgewogICAgICAg
ICBpZiAoZmlyc3RMaW5lQm94KCkpCi0gICAgICAgICAgICByZXR1cm4gZmlyc3RMaW5lQm94KCkt
PmxvZ2ljYWxUb3AoKSArIHN0eWxlKHRydWUpLT5mb250KCkuYXNjZW50KGZpcnN0Um9vdEJveCgp
LT5iYXNlbGluZVR5cGUoKSk7CisgICAgICAgICAgICByZXR1cm4gZmlyc3RMaW5lQm94KCktPmxv
Z2ljYWxUb3AoKSArIHN0eWxlKHRydWUpLT5mb250TWV0cmljcygpLmFzY2VudChmaXJzdFJvb3RC
b3goKS0+YmFzZWxpbmVUeXBlKCkpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByZXR1cm4g
LTE7CiAgICAgfQpAQCAtNTAxNCwxMSArNTAxNCwxMyBAQCBpbnQgUmVuZGVyQmxvY2s6Omxhc3RM
aW5lQm94QmFzZWxpbmUoKSBjCiAKICAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkgewogICAgICAg
ICBpZiAoIWZpcnN0TGluZUJveCgpICYmIGhhc0xpbmVJZkVtcHR5KCkpIHsKLSAgICAgICAgICAg
IGNvbnN0IEZvbnQmIGYgPSBmaXJzdExpbmVTdHlsZSgpLT5mb250KCk7Ci0gICAgICAgICAgICBy
ZXR1cm4gZi5hc2NlbnQoKSArIChsaW5lSGVpZ2h0KHRydWUsIGxpbmVEaXJlY3Rpb24sIFBvc2l0
aW9uT2ZJbnRlcmlvckxpbmVCb3hlcykgLSBmLmhlaWdodCgpKSAvIDIgKyAobGluZURpcmVjdGlv
biA9PSBIb3Jpem9udGFsTGluZSA/IGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgpIDogYm9yZGVy
UmlnaHQoKSArIHBhZGRpbmdSaWdodCgpKTsKKyAgICAgICAgICAgIGNvbnN0IEZvbnRNZXRyaWNz
JiBmb250TWV0cmljcyA9IGZpcnN0TGluZVN0eWxlKCktPmZvbnRNZXRyaWNzKCk7CisgICAgICAg
ICAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KCkKKyAgICAgICAgICAgICAgICAgKyAobGlu
ZUhlaWdodCh0cnVlLCBsaW5lRGlyZWN0aW9uLCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMp
IC0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpIC8gMgorICAgICAgICAgICAgICAgICArIChsaW5lRGly
ZWN0aW9uID09IEhvcml6b250YWxMaW5lID8gYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkgOiBi
b3JkZXJSaWdodCgpICsgcGFkZGluZ1JpZ2h0KCkpOwogICAgICAgICB9CiAgICAgICAgIGlmIChs
YXN0TGluZUJveCgpKQotICAgICAgICAgICAgcmV0dXJuIGxhc3RMaW5lQm94KCktPmxvZ2ljYWxU
b3AoKSArIHN0eWxlKGxhc3RMaW5lQm94KCkgPT0gZmlyc3RMaW5lQm94KCkpLT5mb250KCkuYXNj
ZW50KGxhc3RSb290Qm94KCktPmJhc2VsaW5lVHlwZSgpKTsKKyAgICAgICAgICAgIHJldHVybiBs
YXN0TGluZUJveCgpLT5sb2dpY2FsVG9wKCkgKyBzdHlsZShsYXN0TGluZUJveCgpID09IGZpcnN0
TGluZUJveCgpKS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQobGFzdFJvb3RCb3goKS0+YmFzZWxpbmVU
eXBlKCkpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAgfSBlbHNlIHsKICAgICAgICAgYm9vbCBo
YXZlTm9ybWFsRmxvd0NoaWxkID0gZmFsc2U7CkBAIC01MDMxLDggKzUwMzMsMTAgQEAgaW50IFJl
bmRlckJsb2NrOjpsYXN0TGluZUJveEJhc2VsaW5lKCkgYwogICAgICAgICAgICAgfQogICAgICAg
ICB9CiAgICAgICAgIGlmICghaGF2ZU5vcm1hbEZsb3dDaGlsZCAmJiBoYXNMaW5lSWZFbXB0eSgp
KSB7Ci0gICAgICAgICAgICBjb25zdCBGb250JiBmID0gZmlyc3RMaW5lU3R5bGUoKS0+Zm9udCgp
OwotICAgICAgICAgICAgcmV0dXJuIGYuYXNjZW50KCkgKyAobGluZUhlaWdodCh0cnVlLCBsaW5l
RGlyZWN0aW9uLCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpIC0gZi5oZWlnaHQoKSkgLyAy
ICsgKGxpbmVEaXJlY3Rpb24gPT0gSG9yaXpvbnRhbExpbmUgPyBib3JkZXJUb3AoKSArIHBhZGRp
bmdUb3AoKSA6IGJvcmRlclJpZ2h0KCkgKyBwYWRkaW5nUmlnaHQoKSk7CisgICAgICAgICAgICBj
b25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBmaXJzdExpbmVTdHlsZSgpLT5mb250TWV0
cmljcygpOworICAgICAgICAgICAgcmV0dXJuIGZvbnRNZXRyaWNzLmFzY2VudCgpCisgICAgICAg
ICAgICAgICAgICsgKGxpbmVIZWlnaHQodHJ1ZSwgbGluZURpcmVjdGlvbiwgUG9zaXRpb25PZklu
dGVyaW9yTGluZUJveGVzKSAtIGZvbnRNZXRyaWNzLmhlaWdodCgpKSAvIDIKKyAgICAgICAgICAg
ICAgICAgKyAobGluZURpcmVjdGlvbiA9PSBIb3Jpem9udGFsTGluZSA/IGJvcmRlclRvcCgpICsg
cGFkZGluZ1RvcCgpIDogYm9yZGVyUmlnaHQoKSArIHBhZGRpbmdSaWdodCgpKTsKICAgICAgICAg
fQogICAgIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJKHJl
dmlzaW9uIDc2MzQwKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI5NzYsNyArMjk3Niw3IEBAIEludFJlY3QgUmVuZGVyQm94Ojps
b2NhbENhcmV0UmVjdChJbmxpbmUKICAgICAvLyA8cmRhcjovL3Byb2JsZW0vMzc3NzgwND4gRGVs
ZXRpbmcgYWxsIGNvbnRlbnQgaW4gYSBkb2N1bWVudCBjYW4gcmVzdWx0IGluIGdpYW50IHRhbGwt
YXMtd2luZG93IGluc2VydGlvbiBwb2ludAogICAgIC8vCiAgICAgLy8gRklYTUU6IGlnbm9yaW5n
IDpmaXJzdC1saW5lLCBtaXNzaW5nIGdvb2QgcmVhc29uIHRvIHRha2UgY2FyZSBvZgotICAgIGlu
dCBmb250SGVpZ2h0ID0gc3R5bGUoKS0+Zm9udCgpLmhlaWdodCgpOworICAgIGludCBmb250SGVp
Z2h0ID0gc3R5bGUoKS0+Zm9udE1ldHJpY3MoKS5oZWlnaHQoKTsKICAgICBpZiAoZm9udEhlaWdo
dCA+IHJlY3QuaGVpZ2h0KCkgfHwgKCFpc1JlcGxhY2VkKCkgJiYgIWlzVGFibGUoKSkpCiAgICAg
ICAgIHJlY3Quc2V0SGVpZ2h0KGZvbnRIZWlnaHQpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbWJlZGRlZE9iamVjdC5jcHAJKHJldmlzaW9uIDc2MzQw
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVtYmVkZGVkT2JqZWN0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTcyLDggKzE3Miw5IEBAIHZvaWQgUmVuZGVyRW1iZWRkZWRPYmpl
Y3Q6OnBhaW50UmVwbGFjZWQKICAgICBjb250ZXh0LT5zZXRGaWxsQ29sb3IobV9taXNzaW5nUGx1
Z2luSW5kaWNhdG9ySXNQcmVzc2VkID8gcmVwbGFjZW1lbnRUZXh0Um91bmRlZFJlY3RQcmVzc2Vk
Q29sb3IoKSA6IENvbG9yOjp3aGl0ZSwgc3R5bGUoKS0+Y29sb3JTcGFjZSgpKTsKICAgICBjb250
ZXh0LT5maWxsUGF0aChwYXRoKTsKIAorICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmlj
cyA9IGZvbnQuZm9udE1ldHJpY3MoKTsKICAgICBmbG9hdCBsYWJlbFggPSByb3VuZGYocmVwbGFj
ZW1lbnRUZXh0UmVjdC5sb2NhdGlvbigpLngoKSArIChyZXBsYWNlbWVudFRleHRSZWN0LnNpemUo
KS53aWR0aCgpIC0gdGV4dFdpZHRoKSAvIDIpOwotICAgIGZsb2F0IGxhYmVsWSA9IHJvdW5kZihy
ZXBsYWNlbWVudFRleHRSZWN0LmxvY2F0aW9uKCkueSgpICsgKHJlcGxhY2VtZW50VGV4dFJlY3Qu
c2l6ZSgpLmhlaWdodCgpIC0gZm9udC5oZWlnaHQoKSkgLyAyICsgZm9udC5hc2NlbnQoKSk7Cisg
ICAgZmxvYXQgbGFiZWxZID0gcm91bmRmKHJlcGxhY2VtZW50VGV4dFJlY3QubG9jYXRpb24oKS55
KCkgKyAocmVwbGFjZW1lbnRUZXh0UmVjdC5zaXplKCkuaGVpZ2h0KCkgLSBmb250TWV0cmljcy5o
ZWlnaHQoKSkgLyAyICsgZm9udE1ldHJpY3MuYXNjZW50KCkpOwogICAgIGNvbnRleHQtPnNldEFs
cGhhKG1fbWlzc2luZ1BsdWdpbkluZGljYXRvcklzUHJlc3NlZCA/IHJlcGxhY2VtZW50VGV4dFBy
ZXNzZWRUZXh0T3BhY2l0eSA6IHJlcGxhY2VtZW50VGV4dFRleHRPcGFjaXR5KTsKICAgICBjb250
ZXh0LT5zZXRGaWxsQ29sb3IoQ29sb3I6OmJsYWNrLCBzdHlsZSgpLT5jb2xvclNwYWNlKCkpOwog
ICAgIGNvbnRleHQtPmRyYXdCaWRpVGV4dChmb250LCBydW4sIEZsb2F0UG9pbnQobGFiZWxYLCBs
YWJlbFkpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAko
cmV2aXNpb24gNzYzNDApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2Uu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIsNyArMTEyLDcgQEAgYm9vbCBSZW5kZXJJbWFnZTo6
c2V0SW1hZ2VTaXplRm9yQWx0VGV4dAogICAgIC8vIHdlIGhhdmUgYW4gYWx0IGFuZCB0aGUgdXNl
ciBtZWFudCBpdCAoaXRzIG5vdCBhIHRleHQgd2UgaW52ZW50ZWQpCiAgICAgaWYgKCFtX2FsdFRl
eHQuaXNFbXB0eSgpKSB7CiAgICAgICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBzdHlsZSgpLT5mb250
KCk7Ci0gICAgICAgIEludFNpemUgdGV4dFNpemUobWluKGZvbnQud2lkdGgoVGV4dFJ1bihtX2Fs
dFRleHQuY2hhcmFjdGVycygpLCBtX2FsdFRleHQubGVuZ3RoKCkpKSwgbWF4QWx0VGV4dFdpZHRo
KSwgbWluKGZvbnQuaGVpZ2h0KCksIG1heEFsdFRleHRIZWlnaHQpKTsKKyAgICAgICAgSW50U2l6
ZSB0ZXh0U2l6ZShtaW4oZm9udC53aWR0aChUZXh0UnVuKG1fYWx0VGV4dC5jaGFyYWN0ZXJzKCks
IG1fYWx0VGV4dC5sZW5ndGgoKSkpLCBtYXhBbHRUZXh0V2lkdGgpLCBtaW4oZm9udC5mb250TWV0
cmljcygpLmhlaWdodCgpLCBtYXhBbHRUZXh0SGVpZ2h0KSk7CiAgICAgICAgIGltYWdlU2l6ZSA9
IGltYWdlU2l6ZS5leHBhbmRlZFRvKHRleHRTaXplKTsKICAgICB9CiAKQEAgLTI4OSwxNyArMjg5
LDE4IEBAIHZvaWQgUmVuZGVySW1hZ2U6OnBhaW50UmVwbGFjZWQoUGFpbnRJbmYKICAgICAgICAg
ICAgICAgICBpbnQgYXggPSB0eCArIGxlZnRCb3JkZXIgKyBsZWZ0UGFkOwogICAgICAgICAgICAg
ICAgIGludCBheSA9IHR5ICsgdG9wQm9yZGVyICsgdG9wUGFkOwogICAgICAgICAgICAgICAgIGNv
bnN0IEZvbnQmIGZvbnQgPSBzdHlsZSgpLT5mb250KCk7Ci0gICAgICAgICAgICAgICAgaW50IGFz
Y2VudCA9IGZvbnQuYXNjZW50KCk7CisgICAgICAgICAgICAgICAgY29uc3QgRm9udE1ldHJpY3Mm
IGZvbnRNZXRyaWNzID0gZm9udC5mb250TWV0cmljcygpOworICAgICAgICAgICAgICAgIGludCBh
c2NlbnQgPSBmb250TWV0cmljcy5hc2NlbnQoKTsKIAogICAgICAgICAgICAgICAgIC8vIE9ubHkg
ZHJhdyB0aGUgYWx0IHRleHQgaWYgaXQnbGwgZml0IHdpdGhpbiB0aGUgY29udGVudCBib3gsCiAg
ICAgICAgICAgICAgICAgLy8gYW5kIG9ubHkgaWYgaXQgZml0cyBhYm92ZSB0aGUgZXJyb3IgaW1h
Z2UuCiAgICAgICAgICAgICAgICAgVGV4dFJ1biB0ZXh0UnVuKHRleHQuY2hhcmFjdGVycygpLCB0
ZXh0Lmxlbmd0aCgpKTsKICAgICAgICAgICAgICAgICBpbnQgdGV4dFdpZHRoID0gZm9udC53aWR0
aCh0ZXh0UnVuKTsKICAgICAgICAgICAgICAgICBpZiAoZXJyb3JQaWN0dXJlRHJhd24pIHsKLSAg
ICAgICAgICAgICAgICAgICAgaWYgKHVzYWJsZVdpZHRoID49IHRleHRXaWR0aCAmJiBmb250Lmhl
aWdodCgpIDw9IGltYWdlWSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQtPmRyYXdU
ZXh0KHN0eWxlKCktPmZvbnQoKSwgdGV4dFJ1biwgSW50UG9pbnQoYXgsIGF5ICsgYXNjZW50KSk7
Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh1c2FibGVXaWR0aCA+PSB0ZXh0V2lkdGggJiYg
Y0hlaWdodCA+PSBmb250LmhlaWdodCgpKQotICAgICAgICAgICAgICAgICAgICBjb250ZXh0LT5k
cmF3VGV4dChzdHlsZSgpLT5mb250KCksIHRleHRSdW4sIEludFBvaW50KGF4LCBheSArIGFzY2Vu
dCkpOworICAgICAgICAgICAgICAgICAgICBpZiAodXNhYmxlV2lkdGggPj0gdGV4dFdpZHRoICYm
IGZvbnRNZXRyaWNzLmhlaWdodCgpIDw9IGltYWdlWSkKKyAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnRleHQtPmRyYXdUZXh0KGZvbnQsIHRleHRSdW4sIEludFBvaW50KGF4LCBheSArIGFzY2Vu
dCkpOworICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodXNhYmxlV2lkdGggPj0gdGV4dFdpZHRo
ICYmIGNIZWlnaHQgPj0gZm9udE1ldHJpY3MuaGVpZ2h0KCkpCisgICAgICAgICAgICAgICAgICAg
IGNvbnRleHQtPmRyYXdUZXh0KGZvbnQsIHRleHRSdW4sIEludFBvaW50KGF4LCBheSArIGFzY2Vu
dCkpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChtX2ltYWdlUmVz
b3VyY2UtPmhhc0ltYWdlKCkgJiYgY1dpZHRoID4gMCAmJiBjSGVpZ2h0ID4gMCkgewpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAJKHJldmlzaW9uIDc2MzQw
KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklubGluZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTkwNSw4ICs5MDUsOCBAQCBpbnQgUmVuZGVySW5saW5lOjpsaW5lSGVpZ2h0KGJv
b2wgZmlyc3RMCiAKIGludCBSZW5kZXJJbmxpbmU6OmJhc2VsaW5lUG9zaXRpb24oRm9udEJhc2Vs
aW5lIGJhc2VsaW5lVHlwZSwgYm9vbCBmaXJzdExpbmUsIExpbmVEaXJlY3Rpb25Nb2RlIGRpcmVj
dGlvbiwgTGluZVBvc2l0aW9uTW9kZSBsaW5lUG9zaXRpb25Nb2RlKSBjb25zdAogewotICAgIGNv
bnN0IEZvbnQmIGYgPSBzdHlsZShmaXJzdExpbmUpLT5mb250KCk7Ci0gICAgcmV0dXJuIGYuYXNj
ZW50KGJhc2VsaW5lVHlwZSkgKyAobGluZUhlaWdodChmaXJzdExpbmUsIGRpcmVjdGlvbiwgbGlu
ZVBvc2l0aW9uTW9kZSkgLSBmLmhlaWdodCgpKSAvIDI7CisgICAgY29uc3QgRm9udE1ldHJpY3Mm
IGZvbnRNZXRyaWNzID0gc3R5bGUoZmlyc3RMaW5lKS0+Zm9udE1ldHJpY3MoKTsKKyAgICByZXR1
cm4gZm9udE1ldHJpY3MuYXNjZW50KGJhc2VsaW5lVHlwZSkgKyAobGluZUhlaWdodChmaXJzdExp
bmUsIGRpcmVjdGlvbiwgbGluZVBvc2l0aW9uTW9kZSkgLSBmb250TWV0cmljcy5oZWlnaHQoKSkg
LyAyOwogfQogCiBJbnRTaXplIFJlbmRlcklubGluZTo6cmVsYXRpdmVQb3NpdGlvbmVkSW5saW5l
T2Zmc2V0KGNvbnN0IFJlbmRlckJveCogY2hpbGQpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCShyZXZpc2lvbiA3NjM0MCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzAzLDcgKzMwMyw3IEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6cGFpbnRJdGVtRm9yZWdyb3VuZCgK
IAogICAgIC8vIERldGVybWluZSB3aGVyZSB0aGUgaXRlbSB0ZXh0IHNob3VsZCBiZSBwbGFjZWQK
ICAgICBJbnRSZWN0IHIgPSBpdGVtQm91bmRpbmdCb3hSZWN0KHR4LCB0eSwgbGlzdEluZGV4KTsK
LSAgICByLm1vdmUob3B0aW9uc1NwYWNpbmdIb3Jpem9udGFsLCBzdHlsZSgpLT5mb250KCkuYXNj
ZW50KCkpOworICAgIHIubW92ZShvcHRpb25zU3BhY2luZ0hvcml6b250YWwsIHN0eWxlKCktPmZv
bnRNZXRyaWNzKCkuYXNjZW50KCkpOwogCiAgICAgUmVuZGVyU3R5bGUqIGl0ZW1TdHlsZSA9IGVs
ZW1lbnQtPnJlbmRlclN0eWxlKCk7CiAgICAgaWYgKCFpdGVtU3R5bGUpCkBAIC01NTAsNyArNTUw
LDcgQEAgdm9pZCBSZW5kZXJMaXN0Qm94OjpzY3JvbGxUbyhpbnQgbmV3T2ZmcwogCiBpbnQgUmVu
ZGVyTGlzdEJveDo6aXRlbUhlaWdodCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHN0eWxlKCktPmZv
bnQoKS5oZWlnaHQoKSArIHJvd1NwYWNpbmc7CisgICAgcmV0dXJuIHN0eWxlKCktPmZvbnRNZXRy
aWNzKCkuaGVpZ2h0KCkgKyByb3dTcGFjaW5nOwogfQogCiBpbnQgUmVuZGVyTGlzdEJveDo6dmVy
dGljYWxTY3JvbGxiYXJXaWR0aCgpIGNvbnN0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGlzdE1hcmtlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxpc3RNYXJrZXIuY3BwCShyZXZpc2lvbiA3NjM0MCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0TWFya2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTI2NSw3ICsxMjY1LDcgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjpwYWludChQYWludEluZm8m
IAogICAgICAgICBjb250ZXh0LT50cmFuc2xhdGUoLW1hcmtlci54KCksIC1tYXJrZXIuYm90dG9t
KCkpOwogICAgIH0KIAotICAgIEludFBvaW50IHRleHRPcmlnaW4gPSBJbnRQb2ludChtYXJrZXIu
eCgpLCBtYXJrZXIueSgpICsgc3R5bGUoKS0+Zm9udCgpLmFzY2VudCgpKTsKKyAgICBJbnRQb2lu
dCB0ZXh0T3JpZ2luID0gSW50UG9pbnQobWFya2VyLngoKSwgbWFya2VyLnkoKSArIHN0eWxlKCkt
PmZvbnRNZXRyaWNzKCkuYXNjZW50KCkpOwogCiAgICAgaWYgKHR5cGUgPT0gQXN0ZXJpc2tzIHx8
IHR5cGUgPT0gRm9vdG5vdGVzKQogICAgICAgICBjb250ZXh0LT5kcmF3VGV4dChzdHlsZSgpLT5m
b250KCksIHRleHRSdW4sIHRleHRPcmlnaW4pOwpAQCAtMTMxMSw3ICsxMzExLDcgQEAgdm9pZCBS
ZW5kZXJMaXN0TWFya2VyOjpsYXlvdXQoKQogICAgICAgICBzZXRIZWlnaHQobV9pbWFnZS0+aW1h
Z2VTaXplKHRoaXMsIHN0eWxlKCktPmVmZmVjdGl2ZVpvb20oKSkuaGVpZ2h0KCkpOwogICAgIH0g
ZWxzZSB7CiAgICAgICAgIHNldExvZ2ljYWxXaWR0aChtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgo
KSk7Ci0gICAgICAgIHNldExvZ2ljYWxIZWlnaHQoc3R5bGUoKS0+Zm9udCgpLmhlaWdodCgpKTsK
KyAgICAgICAgc2V0TG9naWNhbEhlaWdodChzdHlsZSgpLT5mb250TWV0cmljcygpLmhlaWdodCgp
KTsKICAgICB9CiAKICAgICBzZXRNYXJnaW5TdGFydCgwKTsKQEAgLTEzNDYsMTEgKzEzNDYsMTIg
QEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjpjb21wdXRlUHJlZmVycmVkTAogICAgIG1fdGV4dCA9
ICIiOwogCiAgICAgY29uc3QgRm9udCYgZm9udCA9IHN0eWxlKCktPmZvbnQoKTsKKyAgICBjb25z
dCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBmb250LmZvbnRNZXRyaWNzKCk7CiAKICAgICBp
ZiAoaXNJbWFnZSgpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGlzIGEgc29tZXdoYXQgYXJi
aXRyYXJ5IHdpZHRoLiAgR2VuZXJhdGVkIGltYWdlcyBmb3IgbWFya2VycyByZWFsbHkgd29uJ3Qg
YmVjb21lIHBhcnRpY3VsYXJseSB1c2VmdWwKICAgICAgICAgLy8gdW50aWwgd2Ugc3VwcG9ydCB0
aGUgQ1NTMyBtYXJrZXIgcHNldWRvY2xhc3MgdG8gYWxsb3cgY29udHJvbCBvdmVyIHRoZSB3aWR0
aCBhbmQgaGVpZ2h0IG9mIHRoZSBtYXJrZXIgYm94LgotICAgICAgICBpbnQgYnVsbGV0V2lkdGgg
PSBmb250LmFzY2VudCgpIC8gMjsKKyAgICAgICAgaW50IGJ1bGxldFdpZHRoID0gZm9udE1ldHJp
Y3MuYXNjZW50KCkgLyAyOwogICAgICAgICBtX2ltYWdlLT5zZXRJbWFnZUNvbnRhaW5lclNpemUo
SW50U2l6ZShidWxsZXRXaWR0aCwgYnVsbGV0V2lkdGgpKTsKICAgICAgICAgSW50U2l6ZSBpbWFn
ZVNpemUgPSBtX2ltYWdlLT5pbWFnZVNpemUodGhpcywgc3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgp
KTsKICAgICAgICAgbV9taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggPSBtX21heFByZWZlcnJlZExv
Z2ljYWxXaWR0aCA9IHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBpbWFnZVNp
emUud2lkdGgoKSA6IGltYWdlU2l6ZS5oZWlnaHQoKTsKQEAgLTEzNzMsNyArMTM3NCw3IEBAIHZv
aWQgUmVuZGVyTGlzdE1hcmtlcjo6Y29tcHV0ZVByZWZlcnJlZEwKICAgICAgICAgY2FzZSBEaXNj
OgogICAgICAgICBjYXNlIFNxdWFyZToKICAgICAgICAgICAgIG1fdGV4dCA9IGxpc3RNYXJrZXJU
ZXh0KHR5cGUsIDApOyAvLyB2YWx1ZSBpcyBpZ25vcmVkIGZvciB0aGVzZSB0eXBlcwotICAgICAg
ICAgICAgbG9naWNhbFdpZHRoID0gKGZvbnQuYXNjZW50KCkgKiAyIC8gMyArIDEpIC8gMiArIDI7
CisgICAgICAgICAgICBsb2dpY2FsV2lkdGggPSAoZm9udE1ldHJpY3MuYXNjZW50KCkgKiAyIC8g
MyArIDEpIC8gMiArIDI7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBBZmFyOgog
ICAgICAgICBjYXNlIEFtaGFyaWM6CkBAIC0xNDcyLDcgKzE0NzMsNyBAQCB2b2lkIFJlbmRlckxp
c3RNYXJrZXI6OmNvbXB1dGVQcmVmZXJyZWRMCiAKIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6dXBk
YXRlTWFyZ2lucygpCiB7Ci0gICAgY29uc3QgRm9udCYgZm9udCA9IHN0eWxlKCktPmZvbnQoKTsK
KyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBzdHlsZSgpLT5mb250TWV0cmlj
cygpOwogCiAgICAgaW50IG1hcmdpblN0YXJ0ID0gMDsKICAgICBpbnQgbWFyZ2luRW5kID0gMDsK
QEAgLTE0ODUsNyArMTQ4Niw3IEBAIHZvaWQgUmVuZGVyTGlzdE1hcmtlcjo6dXBkYXRlTWFyZ2lu
cygpCiAgICAgICAgICAgICBjYXNlIENpcmNsZToKICAgICAgICAgICAgIGNhc2UgU3F1YXJlOgog
ICAgICAgICAgICAgICAgIG1hcmdpblN0YXJ0ID0gLTE7Ci0gICAgICAgICAgICAgICAgbWFyZ2lu
RW5kID0gZm9udC5hc2NlbnQoKSAtIG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCgpICsgMTsKKyAg
ICAgICAgICAgICAgICBtYXJnaW5FbmQgPSBmb250TWV0cmljcy5hc2NlbnQoKSAtIG1pblByZWZl
cnJlZExvZ2ljYWxXaWR0aCgpICsgMTsKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgYnJlYWs7CkBAIC0xNDk1LDcgKzE0OTYsNyBA
QCB2b2lkIFJlbmRlckxpc3RNYXJrZXI6OnVwZGF0ZU1hcmdpbnMoKQogICAgICAgICAgICAgaWYg
KGlzSW1hZ2UoKSkKICAgICAgICAgICAgICAgICBtYXJnaW5TdGFydCA9IC1taW5QcmVmZXJyZWRM
b2dpY2FsV2lkdGgoKSAtIGNNYXJrZXJQYWRkaW5nOwogICAgICAgICAgICAgZWxzZSB7Ci0gICAg
ICAgICAgICAgICAgaW50IG9mZnNldCA9IGZvbnQuYXNjZW50KCkgKiAyIC8gMzsKKyAgICAgICAg
ICAgICAgICBpbnQgb2Zmc2V0ID0gZm9udE1ldHJpY3MuYXNjZW50KCkgKiAyIC8gMzsKICAgICAg
ICAgICAgICAgICBzd2l0Y2ggKHN0eWxlKCktPmxpc3RTdHlsZVR5cGUoKSkgewogICAgICAgICAg
ICAgICAgICAgICBjYXNlIERpc2M6CiAgICAgICAgICAgICAgICAgICAgIGNhc2UgQ2lyY2xlOgpA
QCAtMTUxMyw3ICsxNTE0LDcgQEAgdm9pZCBSZW5kZXJMaXN0TWFya2VyOjp1cGRhdGVNYXJnaW5z
KCkKICAgICAgICAgICAgIGlmIChpc0ltYWdlKCkpCiAgICAgICAgICAgICAgICAgbWFyZ2luRW5k
ID0gY01hcmtlclBhZGRpbmc7CiAgICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgICAgICBp
bnQgb2Zmc2V0ID0gZm9udC5hc2NlbnQoKSAqIDIgLyAzOworICAgICAgICAgICAgICAgIGludCBv
ZmZzZXQgPSBmb250TWV0cmljcy5hc2NlbnQoKSAqIDIgLyAzOwogICAgICAgICAgICAgICAgIHN3
aXRjaCAoc3R5bGUoKS0+bGlzdFN0eWxlVHlwZSgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGNh
c2UgRGlzYzoKICAgICAgICAgICAgICAgICAgICAgY2FzZSBDaXJjbGU6CkBAIC0xNTg0LDE1ICsx
NTg1LDE1IEBAIEludFJlY3QgUmVuZGVyTGlzdE1hcmtlcjo6Z2V0UmVsYXRpdmVNYXIKICAgICAg
ICAgY2FzZSBBc3Rlcmlza3M6CiAgICAgICAgIGNhc2UgRm9vdG5vdGVzOiB7CiAgICAgICAgICAg
ICBjb25zdCBGb250JiBmb250ID0gc3R5bGUoKS0+Zm9udCgpOwotICAgICAgICAgICAgcmVsYXRp
dmVSZWN0ID0gSW50UmVjdCgwLCAwLCBmb250LndpZHRoKG1fdGV4dCksIGZvbnQuaGVpZ2h0KCkp
OworICAgICAgICAgICAgcmVsYXRpdmVSZWN0ID0gSW50UmVjdCgwLCAwLCBmb250LndpZHRoKG1f
dGV4dCksIGZvbnQuZm9udE1ldHJpY3MoKS5oZWlnaHQoKSk7CiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgfQogICAgICAgICBjYXNlIERpc2M6CiAgICAgICAgIGNhc2UgQ2lyY2xlOgogICAg
ICAgICBjYXNlIFNxdWFyZTogewogICAgICAgICAgICAgLy8gRklYTUU6IEFyZSB0aGVzZSBwYXJ0
aWN1bGFyIHJvdW5kaW5nIHJ1bGVzIG5lY2Vzc2FyeT8KLSAgICAgICAgICAgIGNvbnN0IEZvbnQm
IGZvbnQgPSBzdHlsZSgpLT5mb250KCk7Ci0gICAgICAgICAgICBpbnQgYXNjZW50ID0gZm9udC5h
c2NlbnQoKTsKKyAgICAgICAgICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcyA9IHN0
eWxlKCktPmZvbnRNZXRyaWNzKCk7CisgICAgICAgICAgICBpbnQgYXNjZW50ID0gZm9udE1ldHJp
Y3MuYXNjZW50KCk7CiAgICAgICAgICAgICBpbnQgYnVsbGV0V2lkdGggPSAoYXNjZW50ICogMiAv
IDMgKyAxKSAvIDI7CiAgICAgICAgICAgICByZWxhdGl2ZVJlY3QgPSBJbnRSZWN0KDEsIDMgKiAo
YXNjZW50IC0gYXNjZW50ICogMiAvIDMpIC8gMiwgYnVsbGV0V2lkdGgsIGJ1bGxldFdpZHRoKTsK
ICAgICAgICAgICAgIGJyZWFrOwpAQCAtMTY4MCw3ICsxNjgxLDcgQEAgSW50UmVjdCBSZW5kZXJM
aXN0TWFya2VyOjpnZXRSZWxhdGl2ZU1hcgogICAgICAgICAgICAgaW50IGl0ZW1XaWR0aCA9IGZv
bnQud2lkdGgobV90ZXh0KTsKICAgICAgICAgICAgIFVDaGFyIHN1ZmZpeFNwYWNlWzJdID0geyBs
aXN0TWFya2VyU3VmZml4KHR5cGUsIG1fbGlzdEl0ZW0tPnZhbHVlKCkpLCAnICcgfTsKICAgICAg
ICAgICAgIGludCBzdWZmaXhTcGFjZVdpZHRoID0gZm9udC53aWR0aChUZXh0UnVuKHN1ZmZpeFNw
YWNlLCAyKSk7Ci0gICAgICAgICAgICByZWxhdGl2ZVJlY3QgPSBJbnRSZWN0KDAsIDAsIGl0ZW1X
aWR0aCArIHN1ZmZpeFNwYWNlV2lkdGgsIGZvbnQuaGVpZ2h0KCkpOworICAgICAgICAgICAgcmVs
YXRpdmVSZWN0ID0gSW50UmVjdCgwLCAwLCBpdGVtV2lkdGggKyBzdWZmaXhTcGFjZVdpZHRoLCBm
b250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCkpOwogICAgIH0KIAogICAgIGlmICghc3R5bGUoKS0+
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkgewpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHRDb250cm9sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCShyZXZpc2lvbiA3NjM0MCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTY0NCw3ICs2NDQsNyBAQCB2b2lkIFJlbmRlclRleHRDb250cm9sOjpwYWludFBsYWNlaG9s
ZGVyCiAgICAgUmVuZGVyQm94KiB0ZXh0UmVuZGVyZXIgPSBpbm5lclRleHRFbGVtZW50KCkgPyBp
bm5lclRleHRFbGVtZW50KCktPnJlbmRlckJveCgpIDogMDsKICAgICBpZiAodGV4dFJlbmRlcmVy
KSB7CiAgICAgICAgIEludFBvaW50IHRleHRQb2ludDsKLSAgICAgICAgdGV4dFBvaW50LnNldFko
dHkgKyB0ZXh0QmxvY2tJbnNldFRvcCgpICsgcGxhY2Vob2xkZXJTdHlsZS0+Zm9udCgpLmFzY2Vu
dCgpKTsKKyAgICAgICAgdGV4dFBvaW50LnNldFkodHkgKyB0ZXh0QmxvY2tJbnNldFRvcCgpICsg
cGxhY2Vob2xkZXJTdHlsZS0+Zm9udE1ldHJpY3MoKS5hc2NlbnQoKSk7CiAgICAgICAgIGlmIChw
bGFjZWhvbGRlclN0eWxlLT5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCiAgICAgICAgICAgICB0
ZXh0UG9pbnQuc2V0WCh0eCArIHRleHRCbG9ja0luc2V0TGVmdCgpKTsKICAgICAgICAgZWxzZQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGlu
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRD
b250cm9sU2luZ2xlTGluZS5jcHAJKHJldmlzaW9uIDc2MzQwKQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTcwOCw3ICs3MDgsNyBAQCBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBSZW5kZXJUZXh0Q29u
dHJvCiAgICAgdGV4dEJsb2NrU3R5bGUtPnNldE92ZXJmbG93WShPSElEREVOKTsKIAogICAgIC8v
IERvIG5vdCBhbGxvdyBsaW5lLWhlaWdodCB0byBiZSBzbWFsbGVyIHRoYW4gb3VyIGRlZmF1bHQu
Ci0gICAgaWYgKHRleHRCbG9ja1N0eWxlLT5mb250KCkubGluZVNwYWNpbmcoKSA+IGxpbmVIZWln
aHQodHJ1ZSwgSG9yaXpvbnRhbExpbmUsIFBvc2l0aW9uT2ZJbnRlcmlvckxpbmVCb3hlcykpCisg
ICAgaWYgKHRleHRCbG9ja1N0eWxlLT5mb250TWV0cmljcygpLmxpbmVTcGFjaW5nKCkgPiBsaW5l
SGVpZ2h0KHRydWUsIEhvcml6b250YWxMaW5lLCBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMp
KQogICAgICAgICB0ZXh0QmxvY2tTdHlsZS0+c2V0TGluZUhlaWdodChMZW5ndGgoLTEwMC4wZiwg
UGVyY2VudCkpOwogCiAgICAgV2ViQ29yZTo6RURpc3BsYXkgZGlzcGxheSA9IChtX2lubmVyQmxv
Y2sgfHwgaW5wdXRFbGVtZW50KCktPmhhc1NwaW5CdXR0b24oKSA/IElOTElORV9CTE9DSyA6IEJM
T0NLKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNw
cAkocmV2aXNpb24gNzYzNDApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NjksNyArNzY5LDcgQEAgdm9pZCBSZW5kZXJU
aGVtZVdpbjo6YWRqdXN0TWVudUxpc3RCdXR0bwogICAgIHN0eWxlLT5zZXRIZWlnaHQoTGVuZ3Ro
KEF1dG8pKTsKIAogICAgIC8vIENhbGN1bGF0ZSBvdXIgbWluLWhlaWdodAotICAgIGludCBtaW5I
ZWlnaHQgPSBzdHlsZS0+Zm9udCgpLmhlaWdodCgpOworICAgIGludCBtaW5IZWlnaHQgPSBzdHls
ZS0+Zm9udE1ldHJpY3MoKS5oZWlnaHQoKTsKICAgICBtaW5IZWlnaHQgPSBtYXgobWluSGVpZ2h0
LCBkcm9wRG93bkJveE1pbkhlaWdodCk7CiAKICAgICBzdHlsZS0+c2V0TWluSGVpZ2h0KExlbmd0
aChtaW5IZWlnaHQsIEZpeGVkKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0
aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmNwcAkocmV2aXNpb24gNzYz
NDApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0
aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc2LDcgKzE3Niw3IEBAIGludCBSZW5kZXJNYXRo
TUxGcmFjdGlvbjo6YmFzZWxpbmVQb3NpdGkKICAgICAgICAgICAgIHJlZlN0eWxlID0gcHJldmlv
dXNTaWJsaW5nKCktPnN0eWxlKCk7CiAgICAgICAgIGVsc2UgaWYgKG5leHRTaWJsaW5nKCkpCiAg
ICAgICAgICAgICByZWZTdHlsZSA9IG5leHRTaWJsaW5nKCktPnN0eWxlKCk7Ci0gICAgICAgIGlu
dCBzaGlmdCA9IGludChjZWlsKChyZWZTdHlsZS0+Zm9udCgpLnhIZWlnaHQoKSArIDEpIC8gMikp
OworICAgICAgICBpbnQgc2hpZnQgPSBpbnQoY2VpbCgocmVmU3R5bGUtPmZvbnRNZXRyaWNzKCku
eEhlaWdodCgpICsgMSkgLyAyKSk7CiAgICAgICAgIHJldHVybiBudW1lcmF0b3ItPm9mZnNldEhl
aWdodCgpICsgc2hpZnQ7CiAgICAgfQogICAgIHJldHVybiBSZW5kZXJCbG9jazo6YmFzZWxpbmVQ
b3NpdGlvbihBbHBoYWJldGljQmFzZWxpbmUsIGZpcnN0TGluZSwgbGluZURpcmVjdGlvbiwgbGlu
ZVBvc2l0aW9uTW9kZSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaAkocmV2aXNpb24gNzYzNDApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDYzLDYgKzQ2Myw3IEBA
IHB1YmxpYzoKICAgICBFVGFibGVMYXlvdXQgdGFibGVMYXlvdXQoKSBjb25zdCB7IHJldHVybiBz
dGF0aWNfY2FzdDxFVGFibGVMYXlvdXQ+KG5vbmluaGVyaXRlZF9mbGFncy5fdGFibGVfbGF5b3V0
KTsgfQogCiAgICAgY29uc3QgRm9udCYgZm9udCgpIGNvbnN0IHsgcmV0dXJuIGluaGVyaXRlZC0+
Zm9udDsgfQorICAgIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0cmljcygpIGNvbnN0IHsgcmV0
dXJuIGluaGVyaXRlZC0+Zm9udC5mb250TWV0cmljcygpOyB9CiAgICAgY29uc3QgRm9udERlc2Ny
aXB0aW9uJiBmb250RGVzY3JpcHRpb24oKSBjb25zdCB7IHJldHVybiBpbmhlcml0ZWQtPmZvbnQu
Zm9udERlc2NyaXB0aW9uKCk7IH0KICAgICBpbnQgZm9udFNpemUoKSBjb25zdCB7IHJldHVybiBp
bmhlcml0ZWQtPmZvbnQucGl4ZWxTaXplKCk7IH0KIApAQCAtNDg3LDcgKzQ4OCw3IEBAIHB1Ymxp
YzoKIAogICAgICAgICAvLyBOZWdhdGl2ZSB2YWx1ZSBtZWFucyB0aGUgbGluZSBoZWlnaHQgaXMg
bm90IHNldC4gIFVzZSB0aGUgZm9udCdzIGJ1aWx0LWluIHNwYWNpbmcuCiAgICAgICAgIGlmIChs
aC5pc05lZ2F0aXZlKCkpCi0gICAgICAgICAgICByZXR1cm4gZm9udCgpLmxpbmVTcGFjaW5nKCk7
CisgICAgICAgICAgICByZXR1cm4gZm9udE1ldHJpY3MoKS5saW5lU3BhY2luZygpOwogCiAgICAg
ICAgIGlmIChsaC5pc1BlcmNlbnQoKSkKICAgICAgICAgICAgIHJldHVybiBsaC5jYWxjTWluVmFs
dWUoZm9udFNpemUoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR0lubGluZVRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHSW5saW5lVGV4dC5jcHAJKHJldmlzaW9uIDc2MzQwKQorKysgU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdJbmxpbmVUZXh0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTYxLDcgKzE2MSw3IEBAIFZpc2libGVQb3NpdGlvbiBSZW5kZXJTVkdJbmxpbmVU
ZXh0Ojpwb3MKIAogICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9IHRoaXMtPnN0eWxlKCk7CiAgICAg
QVNTRVJUKHN0eWxlKTsKLSAgICBpbnQgYmFzZWxpbmUgPSBzdHlsZS0+Zm9udCgpLmFzY2VudCgp
OworICAgIGludCBiYXNlbGluZSA9IHN0eWxlLT5mb250TWV0cmljcygpLmFzY2VudCgpOwogCiAg
ICAgUmVuZGVyQmxvY2sqIGNvbnRhaW5pbmdCbG9jayA9IHRoaXMtPmNvbnRhaW5pbmdCbG9jaygp
OwogICAgIEFTU0VSVChjb250YWluaW5nQmxvY2spOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N2Zy9TVkdJbmxpbmVUZXh0Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR0lubGluZVRleHRCb3guY3BwCShyZXZpc2lvbiA3NjM0MCkK
KysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHSW5saW5lVGV4dEJveC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTg0LDcgKzg0LDcgQEAgRmxvYXRSZWN0IFNWR0lubGluZVRleHRCb3g6
OnNlbGVjdGlvblJlYwogICAgIEFTU0VSVChzdGFydFBvc2l0aW9uIDwgZW5kUG9zaXRpb24pOwog
CiAgICAgY29uc3QgRm9udCYgZm9udCA9IHN0eWxlLT5mb250KCk7Ci0gICAgRmxvYXRQb2ludCB0
ZXh0T3JpZ2luKGZyYWdtZW50LngsIGZyYWdtZW50LnkgLSBmb250LmFzY2VudCgpKTsKKyAgICBG
bG9hdFBvaW50IHRleHRPcmlnaW4oZnJhZ21lbnQueCwgZnJhZ21lbnQueSAtIGZvbnQuZm9udE1l
dHJpY3MoKS5hc2NlbnQoKSk7CiAgICAgcmV0dXJuIGZvbnQuc2VsZWN0aW9uUmVjdEZvclRleHQo
Y29uc3RydWN0VGV4dFJ1bihzdHlsZSwgZnJhZ21lbnQpLCB0ZXh0T3JpZ2luLCBmcmFnbWVudC5o
ZWlnaHQsIHN0YXJ0UG9zaXRpb24sIGVuZFBvc2l0aW9uKTsKIH0KIApAQCAtNDA5LDE2ICs0MDks
MTYgQEAgYm9vbCBTVkdJbmxpbmVUZXh0Qm94OjptYXBTdGFydEVuZFBvc2l0aQogICAgIHJldHVy
biB0cnVlOwogfQogCi1zdGF0aWMgaW5saW5lIGZsb2F0IHBvc2l0aW9uT2Zmc2V0Rm9yRGVjb3Jh
dGlvbihFVGV4dERlY29yYXRpb24gZGVjb3JhdGlvbiwgY29uc3QgRm9udCYgZm9udCwgZmxvYXQg
dGhpY2tuZXNzKQorc3RhdGljIGlubGluZSBmbG9hdCBwb3NpdGlvbk9mZnNldEZvckRlY29yYXRp
b24oRVRleHREZWNvcmF0aW9uIGRlY29yYXRpb24sIGNvbnN0IEZvbnRNZXRyaWNzJiBmb250TWV0
cmljcywgZmxvYXQgdGhpY2tuZXNzKQogewogICAgIC8vIEZJWE1FOiBGb3IgU1ZHIEZvbnRzIHdl
IG5lZWQgdG8gdXNlIHRoZSBhdHRyaWJ1dGVzIGRlZmluZWQgaW4gdGhlIDxmb250LWZhY2U+IGlm
IHNwZWNpZmllZC4KICAgICAvLyBDb21wYXRpYmxlIHdpdGggQmF0aWsvT3BlcmEuCiAgICAgaWYg
KGRlY29yYXRpb24gPT0gVU5ERVJMSU5FKQotICAgICAgICByZXR1cm4gZm9udC5hc2NlbnQoKSAr
IHRoaWNrbmVzcyAqIDEuNWY7CisgICAgICAgIHJldHVybiBmb250TWV0cmljcy5hc2NlbnQoKSAr
IHRoaWNrbmVzcyAqIDEuNWY7CiAgICAgaWYgKGRlY29yYXRpb24gPT0gT1ZFUkxJTkUpCiAgICAg
ICAgIHJldHVybiB0aGlja25lc3M7CiAgICAgaWYgKGRlY29yYXRpb24gPT0gTElORV9USFJPVUdI
KQotICAgICAgICByZXR1cm4gZm9udC5hc2NlbnQoKSAqIDUuMGYgLyA4LjBmOworICAgICAgICBy
ZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KCkgKiA1LjBmIC8gOC4wZjsKIAogICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiAwLjBmOwpAQCAtNDg3LDYgKzQ4Nyw3IEBAIHZvaWQg
U1ZHSW5saW5lVGV4dEJveDo6cGFpbnREZWNvcmF0aW9uV2kKICAgICBBU1NFUlQoZGVjb3JhdGlv
blN0eWxlKTsKIAogICAgIGNvbnN0IEZvbnQmIGZvbnQgPSBkZWNvcmF0aW9uU3R5bGUtPmZvbnQo
KTsKKyAgICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBmb250LmZvbnRNZXRyaWNz
KCk7CiAKICAgICAvLyBUaGUgaW5pdGlhbCB5IHZhbHVlIHJlZmVycyB0byBvdmVybGluZSBwb3Np
dGlvbi4KICAgICBmbG9hdCB0aGlja25lc3MgPSB0aGlja25lc3NGb3JEZWNvcmF0aW9uKGRlY29y
YXRpb24sIGZvbnQpOwpAQCAtNDk0LDcgKzQ5NSw3IEBAIHZvaWQgU1ZHSW5saW5lVGV4dEJveDo6
cGFpbnREZWNvcmF0aW9uV2kKICAgICBpZiAoZnJhZ21lbnQud2lkdGggPD0gMCAmJiB0aGlja25l
c3MgPD0gMCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZmxvYXQgeSA9IGZyYWdtZW50LnkgLSBm
b250LmFzY2VudCgpICsgcG9zaXRpb25PZmZzZXRGb3JEZWNvcmF0aW9uKGRlY29yYXRpb24sIGZv
bnQsIHRoaWNrbmVzcyk7CisgICAgZmxvYXQgeSA9IGZyYWdtZW50LnkgLSBmb250TWV0cmljcy5h
c2NlbnQoKSArIHBvc2l0aW9uT2Zmc2V0Rm9yRGVjb3JhdGlvbihkZWNvcmF0aW9uLCBmb250TWV0
cmljcywgdGhpY2tuZXNzKTsKIAogICAgIFBhdGggcGF0aDsKICAgICBwYXRoLmFkZFJlY3QoRmxv
YXRSZWN0KGZyYWdtZW50LngsIHksIGZyYWdtZW50LndpZHRoLCB0aGlja25lc3MpKTsKQEAgLTUx
Myw3ICs1MTQsNyBAQCB2b2lkIFNWR0lubGluZVRleHRCb3g6OnBhaW50VGV4dFdpdGhTaGFkCiAg
ICAgY29uc3QgU2hhZG93RGF0YSogc2hhZG93ID0gc3R5bGUtPnRleHRTaGFkb3coKTsKIAogICAg
IEZsb2F0UG9pbnQgdGV4dE9yaWdpbihmcmFnbWVudC54LCBmcmFnbWVudC55KTsKLSAgICBGbG9h
dFJlY3Qgc2hhZG93UmVjdChGbG9hdFBvaW50KHRleHRPcmlnaW4ueCgpLCB0ZXh0T3JpZ2luLnko
KSAtIGZvbnQuYXNjZW50KCkpLCBGbG9hdFNpemUoZnJhZ21lbnQud2lkdGgsIGZyYWdtZW50Lmhl
aWdodCkpOworICAgIEZsb2F0UmVjdCBzaGFkb3dSZWN0KEZsb2F0UG9pbnQodGV4dE9yaWdpbi54
KCksIHRleHRPcmlnaW4ueSgpIC0gZm9udC5mb250TWV0cmljcygpLmFzY2VudCgpKSwgRmxvYXRT
aXplKGZyYWdtZW50LndpZHRoLCBmcmFnbWVudC5oZWlnaHQpKTsKIAogICAgIGRvIHsKICAgICAg
ICAgaWYgKCFwcmVwYXJlR3JhcGhpY3NDb250ZXh0Rm9yVGV4dFBhaW50aW5nKGNvbnRleHQsIHRl
eHRSdW4sIHN0eWxlKSkKQEAgLTU4Nyw3ICs1ODgsNyBAQCBJbnRSZWN0IFNWR0lubGluZVRleHRC
b3g6OmNhbGN1bGF0ZUJvdW5kCiAgICAgQVNTRVJUKHN0eWxlKTsKIAogICAgIGludCBiYXNlbGlu
ZSA9IGJhc2VsaW5lUG9zaXRpb24oQWxwaGFiZXRpY0Jhc2VsaW5lKTsKLSAgICBpbnQgaGVpZ2h0
RGlmZmVyZW5jZSA9IGJhc2VsaW5lIC0gc3R5bGUtPmZvbnQoKS5hc2NlbnQoKTsKKyAgICBpbnQg
aGVpZ2h0RGlmZmVyZW5jZSA9IGJhc2VsaW5lIC0gc3R5bGUtPmZvbnRNZXRyaWNzKCkuYXNjZW50
KCk7CiAKICAgICB1bnNpZ25lZCB0ZXh0RnJhZ21lbnRzU2l6ZSA9IG1fdGV4dEZyYWdtZW50cy5z
aXplKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHRleHRGcmFnbWVudHNTaXplOyAr
K2kpIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dExheW91dEVu
Z2luZUJhc2VsaW5lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVCYXNlbGluZS5jcHAJKHJldmlzaW9uIDc2MzQwKQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw5ICs0OSw5IEBAIGZsb2F0IFNWR1RleHRMYXlvdXRF
bmdpbmVCYXNlbGluZTo6Y2FsY3UKICAgICBjYXNlIEJTX0JBU0VMSU5FOgogICAgICAgICByZXR1
cm4gMDsKICAgICBjYXNlIEJTX1NVQjoKLSAgICAgICAgcmV0dXJuIC1tX2ZvbnQuaGVpZ2h0KCkg
LyAyOworICAgICAgICByZXR1cm4gLW1fZm9udC5mb250TWV0cmljcygpLmhlaWdodCgpIC8gMjsK
ICAgICBjYXNlIEJTX1NVUEVSOgotICAgICAgICByZXR1cm4gbV9mb250LmhlaWdodCgpIC8gMjsK
KyAgICAgICAgcmV0dXJuIG1fZm9udC5mb250TWV0cmljcygpLmhlaWdodCgpIC8gMjsKICAgICBk
ZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuIDA7
CkBAIC0xMjIsMjcgKzEyMiwyOSBAQCBmbG9hdCBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmU6
OmNhbGN1CiAgICAgICAgIEFTU0VSVChiYXNlbGluZSAhPSBBQl9BVVRPKTsKICAgICB9CiAKKyAg
ICBjb25zdCBGb250TWV0cmljcyYgZm9udE1ldHJpY3MgPSBtX2ZvbnQuZm9udE1ldHJpY3MoKTsK
KwogICAgIC8vIE5vdGU6IGh0dHA6Ly93aWtpLmFwYWNoZS5vcmcveG1sZ3JhcGhpY3MtZm9wL0xp
bmVMYXlvdXQvQWxpZ25tZW50SGFuZGxpbmcKICAgICBzd2l0Y2ggKGJhc2VsaW5lKSB7CiAgICAg
Y2FzZSBBQl9CQVNFTElORToKICAgICAgICAgcmV0dXJuIGRvbWluYW50QmFzZWxpbmVUb0FsaWdu
bWVudEJhc2VsaW5lKGlzVmVydGljYWxUZXh0LCB0ZXh0UmVuZGVyZXJQYXJlbnQpOwogICAgIGNh
c2UgQUJfQkVGT1JFX0VER0U6CiAgICAgY2FzZSBBQl9URVhUX0JFRk9SRV9FREdFOgotICAgICAg
ICByZXR1cm4gbV9mb250LmFzY2VudCgpOworICAgICAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNj
ZW50KCk7CiAgICAgY2FzZSBBQl9NSURETEU6Ci0gICAgICAgIHJldHVybiBtX2ZvbnQueEhlaWdo
dCgpIC8gMjsKKyAgICAgICAgcmV0dXJuIGZvbnRNZXRyaWNzLnhIZWlnaHQoKSAvIDI7CiAgICAg
Y2FzZSBBQl9DRU5UUkFMOgotICAgICAgICByZXR1cm4gKG1fZm9udC5hc2NlbnQoKSAtIG1fZm9u
dC5kZXNjZW50KCkpIC8gMjsKKyAgICAgICAgcmV0dXJuIChmb250TWV0cmljcy5hc2NlbnQoKSAt
IGZvbnRNZXRyaWNzLmRlc2NlbnQoKSkgLyAyOwogICAgIGNhc2UgQUJfQUZURVJfRURHRToKICAg
ICBjYXNlIEFCX1RFWFRfQUZURVJfRURHRToKICAgICBjYXNlIEFCX0lERU9HUkFQSElDOgotICAg
ICAgICByZXR1cm4gbV9mb250LmRlc2NlbnQoKTsKKyAgICAgICAgcmV0dXJuIGZvbnRNZXRyaWNz
LmRlc2NlbnQoKTsKICAgICBjYXNlIEFCX0FMUEhBQkVUSUM6CiAgICAgICAgIHJldHVybiAwOwog
ICAgIGNhc2UgQUJfSEFOR0lORzoKLSAgICAgICAgcmV0dXJuIG1fZm9udC5hc2NlbnQoKSAqIDgg
LyAxMC5mOworICAgICAgICByZXR1cm4gZm9udE1ldHJpY3MuYXNjZW50KCkgKiA4IC8gMTAuZjsK
ICAgICBjYXNlIEFCX01BVEhFTUFUSUNBTDoKLSAgICAgICAgcmV0dXJuIG1fZm9udC5hc2NlbnQo
KSAvIDI7CisgICAgICAgIHJldHVybiBmb250TWV0cmljcy5hc2NlbnQoKSAvIDI7CiAgICAgZGVm
YXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiAwOwpA
QCAtMTkyLDEyICsxOTQsMTQgQEAgZmxvYXQgU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5lOjpj
YWxjdQogICAgIC8vIFNwZWM6IElmIGlmIHRoZSAnZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwn
IHJlc3VsdHMgaW4gYW4gb3JpZW50YXRpb24gYW5nbGUgdGhhdCBpcyBub3QgYSBtdWx0aXBsZSBv
ZgogICAgIC8vIDE4MCBkZWdyZWVzLCB0aGVuIHRoZSBjdXJyZW50IHRleHQgcG9zaXRpb24gaXMg
aW5jcmVtZW50ZWQgYWNjb3JkaW5nIHRvIHRoZSBob3Jpem9udGFsIG1ldHJpY3Mgb2YgdGhlIGds
eXBoLgogCisgICAgY29uc3QgRm9udE1ldHJpY3MmIGZvbnRNZXRyaWNzID0gbV9mb250LmZvbnRN
ZXRyaWNzKCk7CisKICAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBoYW5kbGluZy4KICAgICBp
ZiAoaXNWZXJ0aWNhbFRleHQpIHsKLSAgICAgICAgZmxvYXQgYXNjZW50TWludXNEZXNjZW50ID0g
bV9mb250LmFzY2VudCgpIC0gbV9mb250LmRlc2NlbnQoKTsKKyAgICAgICAgZmxvYXQgYXNjZW50
TWludXNEZXNjZW50ID0gZm9udE1ldHJpY3MuYXNjZW50KCkgLSBmb250TWV0cmljcy5kZXNjZW50
KCk7CiAgICAgICAgIGlmICghYW5nbGUpIHsKICAgICAgICAgICAgIHhPcmllbnRhdGlvblNoaWZ0
ID0gKGFzY2VudE1pbnVzRGVzY2VudCAtIG1ldHJpY3Mud2lkdGgoKSkgLyAyOwotICAgICAgICAg
ICAgeU9yaWVudGF0aW9uU2hpZnQgPSBtX2ZvbnQuYXNjZW50KCk7CisgICAgICAgICAgICB5T3Jp
ZW50YXRpb25TaGlmdCA9IGZvbnRNZXRyaWNzLmFzY2VudCgpOwogICAgICAgICB9IGVsc2UgaWYg
KGFuZ2xlID09IDE4MCkKICAgICAgICAgICAgIHhPcmllbnRhdGlvblNoaWZ0ID0gKGFzY2VudE1p
bnVzRGVzY2VudCArIG1ldHJpY3Mud2lkdGgoKSkgLyAyOwogICAgICAgICBlbHNlIGlmIChhbmds
ZSA9PSAyNzApIHsKQEAgLTIxNyw3ICsyMjEsNyBAQCBmbG9hdCBTVkdUZXh0TGF5b3V0RW5naW5l
QmFzZWxpbmU6OmNhbGN1CiAgICAgICAgIHlPcmllbnRhdGlvblNoaWZ0ID0gLW1ldHJpY3Mud2lk
dGgoKTsKICAgICBlbHNlIGlmIChhbmdsZSA9PSAxODApIHsKICAgICAgICAgeE9yaWVudGF0aW9u
U2hpZnQgPSBtZXRyaWNzLndpZHRoKCk7Ci0gICAgICAgIHlPcmllbnRhdGlvblNoaWZ0ID0gLW1f
Zm9udC5hc2NlbnQoKTsKKyAgICAgICAgeU9yaWVudGF0aW9uU2hpZnQgPSAtZm9udE1ldHJpY3Mu
YXNjZW50KCk7CiAgICAgfSBlbHNlIGlmIChhbmdsZSA9PSAyNzApCiAgICAgICAgIHhPcmllbnRh
dGlvblNoaWZ0ID0gbWV0cmljcy53aWR0aCgpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRMYXlvdXRFbmdpbmVTcGFjaW5nLmNw
cAkocmV2aXNpb24gNzYzNDApCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Rl
eHRMYXlvdXRFbmdpbmVTcGFjaW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgsNyArNTgsNyBA
QCBmbG9hdCBTVkdUZXh0TGF5b3V0RW5naW5lU3BhY2luZzo6Y2FsY3VsCiAKICAgICBtX2xhc3RH
bHlwaCA9IGN1cnJlbnRHbHlwaDsKICAgICBtX2xhc3RHbHlwaC5pc1ZhbGlkID0gdHJ1ZTsKLSAg
ICBrZXJuaW5nICo9IG1fZm9udC5zaXplKCkgLyBtX2ZvbnQucHJpbWFyeUZvbnQoKS0+dW5pdHNQ
ZXJFbSgpOworICAgIGtlcm5pbmcgKj0gbV9mb250LnNpemUoKSAvIG1fZm9udC5mb250TWV0cmlj
cygpLnVuaXRzUGVyRW0oKTsKICAgICByZXR1cm4ga2VybmluZzsKICNlbHNlCiAgICAgVU5VU0VE
X1BBUkFNKGlzVmVydGljYWxUZXh0KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvU1ZHVGV4dE1ldHJpY3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dE1ldHJpY3MuY3BwCShyZXZpc2lvbiA3NjM0MCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dE1ldHJpY3MuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00Myw3ICs0Myw3IEBAIFNWR1RleHRNZXRyaWNzOjpTVkdUZXh0TWV0cmljcyhjb25zdCBGb24K
ICAgICBpbnQgbGVuZ3RoID0gMDsKIAogICAgIG1fd2lkdGggPSBmb250LmZsb2F0V2lkdGgocnVu
LCBleHRyYUNoYXJzQXZhaWxhYmxlLCBsZW5ndGgsIG1fZ2x5cGgubmFtZSk7Ci0gICAgbV9oZWln
aHQgPSBmb250LmhlaWdodCgpOworICAgIG1faGVpZ2h0ID0gZm9udC5mb250TWV0cmljcygpLmhl
aWdodCgpOwogICAgIG1fZ2x5cGgudW5pY29kZVN0cmluZyA9IFN0cmluZyhydW4uY2hhcmFjdGVy
cygpLCBsZW5ndGgpOwogICAgIG1fZ2x5cGguaXNWYWxpZCA9IHRydWU7CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dFF1ZXJ5LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRRdWVyeS5jcHAJKHJldmlzaW9uIDc2
MzQwKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0UXVlcnkuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00NzIsNyArNDcyLDcgQEAgc3RydWN0IEV4dGVudE9mQ2hhcmFjdGVy
RGF0YSA6IFNWR1RleHRRdQogCiBzdGF0aWMgaW5saW5lIHZvaWQgY2FsY3VsYXRlR2x5cGhCb3Vu
ZGFyaWVzKFNWR1RleHRRdWVyeTo6RGF0YSogcXVlcnlEYXRhLCBjb25zdCBTVkdUZXh0RnJhZ21l
bnQmIGZyYWdtZW50LCBpbnQgc3RhcnRQb3NpdGlvbiwgRmxvYXRSZWN0JiBleHRlbnQpCiB7Ci0g
ICAgZXh0ZW50LnNldExvY2F0aW9uKEZsb2F0UG9pbnQoZnJhZ21lbnQueCwgZnJhZ21lbnQueSAt
IHF1ZXJ5RGF0YS0+dGV4dFJlbmRlcmVyLT5zdHlsZSgpLT5mb250KCkuYXNjZW50KCkpKTsKKyAg
ICBleHRlbnQuc2V0TG9jYXRpb24oRmxvYXRQb2ludChmcmFnbWVudC54LCBmcmFnbWVudC55IC0g
cXVlcnlEYXRhLT50ZXh0UmVuZGVyZXItPnN0eWxlKCktPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkp
KTsKIAogICAgIGlmIChzdGFydFBvc2l0aW9uKSB7CiAgICAgICAgIFNWR1RleHRNZXRyaWNzIG1l
dHJpY3MgPSBTVkdUZXh0TWV0cmljczo6bWVhc3VyZUNoYXJhY3RlclJhbmdlKHF1ZXJ5RGF0YS0+
dGV4dFJlbmRlcmVyLCBmcmFnbWVudC5wb3NpdGlvbkxpc3RPZmZzZXQsIHN0YXJ0UG9zaXRpb24p
OwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHAJKHJldmlz
aW9uIDc2MzQwKQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTEyNSw3ICsxMjUsNyBAQCB1bnNpZ25lZCBTVkdGb250RmFjZUVs
ZW1lbnQ6OnVuaXRzUGVyRW0oCiB7CiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSA9IGdl
dEF0dHJpYnV0ZSh1bml0c19wZXJfZW1BdHRyKTsKICAgICBpZiAodmFsdWUuaXNFbXB0eSgpKQot
ICAgICAgICByZXR1cm4gZGVmYXVsdFVuaXRzUGVyRW07CisgICAgICAgIHJldHVybiBnRGVmYXVs
dFVuaXRzUGVyRW07CiAKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGNlaWxmKHZh
bHVlLnRvRmxvYXQoKSkpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aC5jcHAJKHJldmlz
aW9uIDc2MzQwKQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xlbmd0aC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQzOCw3ICs0MzgsNyBAQCBmbG9hdCBTVkdMZW5ndGg6OmNvbnZlcnRWYWx1ZUZy
b21Vc2VyVW5pCiAKICAgICAvLyBVc2Ugb2YgY2VpbCBhbGxvd3MgYSBwaXhlbCBtYXRjaCB0byB0
aGUgVzNDcyBleHBlY3RlZCBvdXRwdXQgb2YgY29vcmRzLXVuaXRzLTAzLWIuc3ZnCiAgICAgLy8g
aWYgdGhpcyBjYXVzZXMgcHJvYmxlbXMgaW4gcmVhbCB3b3JsZCBjYXNlcyBtYXliZSBpdCB3b3Vs
ZCBiZSBiZXN0IHRvIHJlbW92ZSB0aGlzCi0gICAgZmxvYXQgeEhlaWdodCA9IGNlaWxmKHN0eWxl
LT5mb250KCkueEhlaWdodCgpKTsKKyAgICBmbG9hdCB4SGVpZ2h0ID0gY2VpbGYoc3R5bGUtPmZv
bnRNZXRyaWNzKCkueEhlaWdodCgpKTsKICAgICBpZiAoIXhIZWlnaHQpIHsKICAgICAgICAgZWMg
PSBOT1RfU1VQUE9SVEVEX0VSUjsKICAgICAgICAgcmV0dXJuIDA7CkBAIC00NTcsNyArNDU3LDcg
QEAgZmxvYXQgU1ZHTGVuZ3RoOjpjb252ZXJ0VmFsdWVGcm9tRVhTVG9VcwogICAgIFJlbmRlclN0
eWxlKiBzdHlsZSA9IGNvbnRleHQtPnJlbmRlcmVyKCktPnN0eWxlKCk7CiAgICAgLy8gVXNlIG9m
IGNlaWwgYWxsb3dzIGEgcGl4ZWwgbWF0Y2ggdG8gdGhlIFczQ3MgZXhwZWN0ZWQgb3V0cHV0IG9m
IGNvb3Jkcy11bml0cy0wMy1iLnN2ZwogICAgIC8vIGlmIHRoaXMgY2F1c2VzIHByb2JsZW1zIGlu
IHJlYWwgd29ybGQgY2FzZXMgbWF5YmUgaXQgd291bGQgYmUgYmVzdCB0byByZW1vdmUgdGhpcwot
ICAgIHJldHVybiB2YWx1ZSAqIGNlaWxmKHN0eWxlLT5mb250KCkueEhlaWdodCgpKTsKKyAgICBy
ZXR1cm4gdmFsdWUgKiBjZWlsZihzdHlsZS0+Zm9udE1ldHJpY3MoKS54SGVpZ2h0KCkpOwogfQog
CiBTVkdMZW5ndGggU1ZHTGVuZ3RoOjpmcm9tQ1NTUHJpbWl0aXZlVmFsdWUoQ1NTUHJpbWl0aXZl
VmFsdWUqIHZhbHVlKQpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gNzYzNDApCisrKyBTb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0w
MS0yMSAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnRyb2R1Y2UgRm9udE1l
dHJpY3MgYWJzdHJhY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTUxNDU2CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3dp
bi9XZWJQb3B1cE1lbnVXaW4uY3BwOiBVc2UgRm9udE1ldHJpY3MgaW5zdGVhZCBvZiBGb250IHRv
IGFjY2VzcyB0aGUgbWV0cmljcy4KKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51OjpzZXRV
cFBsYXRmb3JtRGF0YSk6CisKIDIwMTEtMDEtMjAgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3dpbi9XZWJQb3B1cE1lbnVXaW4u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvd2luL1dlYlBvcHVwTWVudVdpbi5jcHAJKHJldmlzaW9uIDc2MzQwKQorKysgU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC93aW4vV2ViUG9wdXBNZW51V2luLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDksNyArNDksNyBAQCB2b2lkIFdlYlBvcHVwTWVudTo6c2V0VXBQ
bGF0Zm9ybURhdGEoY29uCiAgICAgZGF0YS5tX2NsaWVudFBhZGRpbmdSaWdodCA9IG1fcG9wdXBD
bGllbnQtPmNsaWVudFBhZGRpbmdSaWdodCgpOwogICAgIGRhdGEubV9jbGllbnRJbnNldExlZnQg
PSBtX3BvcHVwQ2xpZW50LT5jbGllbnRJbnNldExlZnQoKTsKICAgICBkYXRhLm1fY2xpZW50SW5z
ZXRSaWdodCA9IG1fcG9wdXBDbGllbnQtPmNsaWVudEluc2V0UmlnaHQoKTsKLSAgICBkYXRhLm1f
aXRlbUhlaWdodCA9IG1fcG9wdXBDbGllbnQtPm1lbnVTdHlsZSgpLmZvbnQoKS5oZWlnaHQoKSAr
IDE7CisgICAgZGF0YS5tX2l0ZW1IZWlnaHQgPSBtX3BvcHVwQ2xpZW50LT5tZW51U3R5bGUoKS5m
b250KCkuZm9udE1ldHJpY3MoKS5oZWlnaHQoKSArIDE7CiAKICAgICBpbnQgcG9wdXBXaWR0aCA9
IDA7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBpdGVtQ291bnQ7ICsraSkgewpAQCAtMTMz
LDcgKzEzMyw3IEBAIHZvaWQgV2ViUG9wdXBNZW51OjpzZXRVcFBsYXRmb3JtRGF0YShjb24KICAg
ICAgICAgICAgIGludCB0ZXh0WCA9IHN0ZDo6bWF4KDAsIGRhdGEubV9jbGllbnRQYWRkaW5nTGVm
dCAtIGRhdGEubV9jbGllbnRJbnNldExlZnQpOwogICAgICAgICAgICAgaWYgKFJlbmRlclRoZW1l
OjpkZWZhdWx0VGhlbWUoKS0+cG9wdXBPcHRpb25TdXBwb3J0c1RleHRJbmRlbnQoKSAmJiBpdGVt
U3R5bGUudGV4dERpcmVjdGlvbigpID09IExUUikKICAgICAgICAgICAgICAgICB0ZXh0WCArPSBp
dGVtU3R5bGUudGV4dEluZGVudCgpLmNhbGNNaW5WYWx1ZShpdGVtUmVjdC53aWR0aCgpKTsKLSAg
ICAgICAgICAgIGludCB0ZXh0WSA9IGl0ZW1SZWN0LnkoKSArIGl0ZW1Gb250LmFzY2VudCgpICsg
KGl0ZW1SZWN0LmhlaWdodCgpIC0gaXRlbUZvbnQuaGVpZ2h0KCkpIC8gMjsKKyAgICAgICAgICAg
IGludCB0ZXh0WSA9IGl0ZW1SZWN0LnkoKSArIGl0ZW1Gb250LmZvbnRNZXRyaWNzKCkuYXNjZW50
KCkgKyAoaXRlbVJlY3QuaGVpZ2h0KCkgLSBpdGVtRm9udC5mb250TWV0cmljcygpLmhlaWdodCgp
KSAvIDI7CiAKICAgICAgICAgICAgIG5vdFNlbGVjdGVkQmFja2luZ1N0b3JlQ29udGV4dC0+ZHJh
d0JpZGlUZXh0KGl0ZW1Gb250LCB0ZXh0UnVuLCBJbnRQb2ludCh0ZXh0WCwgdGV4dFkpKTsKICAg
ICAgICAgICAgIHNlbGVjdGVkQmFja2luZ1N0b3JlQ29udGV4dC0+ZHJhd0JpZGlUZXh0KGl0ZW1G
b250LCB0ZXh0UnVuLCBJbnRQb2ludCh0ZXh0WCwgdGV4dFkpKTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA3NjM0MCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDEtMjEgIE5p
a29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNlIEZvbnRNZXRyaWNzIGFi
c3RyYWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD01MTQ1NgorCisgICAgICAgICogc3JjL0V4dGVybmFsUG9wdXBNZW51LmNwcDogVXNlIEZvbnRN
ZXRyaWNzIGluc3RlYWQgb2YgRm9udCB0byBhY2Nlc3MgdGhlIG1ldHJpY3MuCisgICAgICAgIChX
ZWJLaXQ6OkV4dGVybmFsUG9wdXBNZW51OjpnZXRQb3B1cE1lbnVJbmZvKToKKyAgICAgICAgKiBz
cmMvV2ViRm9udEltcGwuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6V2ViRm9udEltcGw6
OmFzY2VudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkZvbnRJbXBsOjpkZXNjZW50KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViRm9udEltcGw6OmhlaWdodCk6CisgICAgICAgIChXZWJLaXQ6OldlYkZv
bnRJbXBsOjpsaW5lU3BhY2luZyk6CisgICAgICAgIChXZWJLaXQ6OldlYkZvbnRJbXBsOjp4SGVp
Z2h0KToKKwogMjAxMS0wMS0yMSAgQWRhbSBLbGVpbiAgPGFkYW1rQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0V4dGVybmFsUG9wdXBNZW51LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9FeHRlcm5hbFBvcHVwTWVudS5jcHAJKHJldmlzaW9uIDc2MzQwKQor
KysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRXh0ZXJuYWxQb3B1cE1lbnUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNDIsNyArMTQyLDcgQEAgdm9pZCBFeHRlcm5hbFBvcHVwTWVudTo6Z2V0
UG9wdXBNZW51SW5mbwogICAgICAgICBwb3B1cEl0ZW0uZW5hYmxlZCA9IG1fcG9wdXBNZW51Q2xp
ZW50LT5pdGVtSXNFbmFibGVkKGkpOwogICAgIH0KIAotICAgIGluZm8tPml0ZW1IZWlnaHQgPSBt
X3BvcHVwTWVudUNsaWVudC0+bWVudVN0eWxlKCkuZm9udCgpLmhlaWdodCgpOworICAgIGluZm8t
Pml0ZW1IZWlnaHQgPSBtX3BvcHVwTWVudUNsaWVudC0+bWVudVN0eWxlKCkuZm9udCgpLmZvbnRN
ZXRyaWNzKCkuaGVpZ2h0KCk7CiAgICAgaW5mby0+aXRlbUZvbnRTaXplID0KICAgICAgICAgc3Rh
dGljX2Nhc3Q8aW50PihtX3BvcHVwTWVudUNsaWVudC0+bWVudVN0eWxlKCkuZm9udCgpLnNpemUo
KSk7CiAgICAgaW5mby0+c2VsZWN0ZWRJbmRleCA9IG1fcG9wdXBNZW51Q2xpZW50LT5zZWxlY3Rl
ZEluZGV4KCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGb250SW1wbC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRm9udEltcGwu
Y3BwCShyZXZpc2lvbiA3NjM0MCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZv
bnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjQsMjcgKzY0LDI3IEBAIFdlYkZvbnREZXNj
cmlwdGlvbiBXZWJGb250SW1wbDo6Zm9udERlc2MKIAogaW50IFdlYkZvbnRJbXBsOjphc2NlbnQo
KSBjb25zdAogewotICAgIHJldHVybiBtX2ZvbnQuYXNjZW50KCk7CisgICAgcmV0dXJuIG1fZm9u
dC5mb250TWV0cmljcygpLmFzY2VudCgpOwogfQogCiBpbnQgV2ViRm9udEltcGw6OmRlc2NlbnQo
KSBjb25zdAogewotICAgIHJldHVybiBtX2ZvbnQuZGVzY2VudCgpOworICAgIHJldHVybiBtX2Zv
bnQuZm9udE1ldHJpY3MoKS5kZXNjZW50KCk7CiB9CiAKIGludCBXZWJGb250SW1wbDo6aGVpZ2h0
KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9mb250LmhlaWdodCgpOworICAgIHJldHVybiBtX2Zv
bnQuZm9udE1ldHJpY3MoKS5oZWlnaHQoKTsKIH0KIAogaW50IFdlYkZvbnRJbXBsOjpsaW5lU3Bh
Y2luZygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fZm9udC5saW5lU3BhY2luZygpOworICAgIHJl
dHVybiBtX2ZvbnQuZm9udE1ldHJpY3MoKS5saW5lU3BhY2luZygpOwogfQogCiBmbG9hdCBXZWJG
b250SW1wbDo6eEhlaWdodCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fZm9udC54SGVpZ2h0KCk7
CisgICAgcmV0dXJuIG1fZm9udC5mb250TWV0cmljcygpLnhIZWlnaHQoKTsKIH0KIAogdm9pZCBX
ZWJGb250SW1wbDo6ZHJhd1RleHQoV2ViQ2FudmFzKiBjYW52YXMsIGNvbnN0IFdlYlRleHRSdW4m
IHJ1biwgY29uc3QgV2ViRmxvYXRQb2ludCYgbGVmdEJhc2VsaW5lLApJbmRleDogU291cmNlL1dl
YktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5n
ZUxvZwkocmV2aXNpb24gNzYzNDApCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMS0wMS0yMSAgTmlrb2xhcyBaaW1tZXJt
YW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbnRyb2R1Y2UgRm9udE1ldHJpY3MgYWJzdHJhY3Rpb24KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxNDU2CisKKyAg
ICAgICAgKiBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcDogVXNlIEZvbnRNZXRyaWNzIGlu
c3RlYWQgb2YgRm9udCB0byBhY2Nlc3MgdGhlIG1ldHJpY3MuCisgICAgICAgIChGdWxsc2NyZWVu
VmlkZW9Db250cm9sbGVyOjpkcmF3KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJEcmFn
Q2xpZW50LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJEcmFnQ2xpZW50OjpjcmVhdGVEcmFnSW1h
Z2VGb3JMaW5rKToKKyAgICAgICAgKiBXZWJLaXRHcmFwaGljcy5jcHA6IERpdHRvLgorICAgICAg
ICAoRm9udE1ldHJpY3MpOgorCiAyMDExLTAxLTIwICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2ZSBIeWF0dC4KSW5kZXg6IFNvdXJjZS9XZWJL
aXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiA3NjM0
MCkKKysrIFNvdXJjZS9XZWJLaXQvd2luL0Z1bGxzY3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01MzIsMTUgKzUzMiwxNiBAQCB2b2lkIEZ1bGxzY3JlZW5WaWRlb0Nv
bnRyb2xsZXI6OmRyYXcoKQogICAgIC8vIHRoZSB0ZXh0IGF0IHRoZSBjZW50ZXIgb2YgdGhlIHNs
aWRlci4KICAgICAvLyBMZWZ0IHN0cmluZwogICAgIHMgPSB0aW1lVG9TdHJpbmcoY3VycmVudFRp
bWUoKSk7CisgICAgaW50IGZvbnRIZWlnaHQgPSBmb250LmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCk7
CiAgICAgVGV4dFJ1biBsZWZ0VGV4dChzKTsKICAgICBjb250ZXh0LnNldEZpbGxDb2xvcihDb2xv
cih0ZXh0Q29sb3IpLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKLSAgICBjb250ZXh0LmRyYXdUZXh0
KGZvbnQsIGxlZnRUZXh0LCBJbnRQb2ludCh3aW5kb3dXaWR0aCAvIDIgLSB0aW1lU2xpZGVyV2lk
dGggLyAyIC0gbWFyZ2luIC0gZm9udC53aWR0aChsZWZ0VGV4dCksIHdpbmRvd0hlaWdodCAtIG1h
cmdpbiAtIHNsaWRlckhlaWdodCAvIDIgKyBmb250LmhlaWdodCgpIC8gNCkpOworICAgIGNvbnRl
eHQuZHJhd1RleHQoZm9udCwgbGVmdFRleHQsIEludFBvaW50KHdpbmRvd1dpZHRoIC8gMiAtIHRp
bWVTbGlkZXJXaWR0aCAvIDIgLSBtYXJnaW4gLSBmb250LndpZHRoKGxlZnRUZXh0KSwgd2luZG93
SGVpZ2h0IC0gbWFyZ2luIC0gc2xpZGVySGVpZ2h0IC8gMiArIGZvbnRIZWlnaHQgLyA0KSk7CiAK
ICAgICAvLyBSaWdodCBzdHJpbmcKICAgICBzID0gdGltZVRvU3RyaW5nKGN1cnJlbnRUaW1lKCkg
LSBkdXJhdGlvbigpKTsKICAgICBUZXh0UnVuIHJpZ2h0VGV4dChzKTsKICAgICBjb250ZXh0LnNl
dEZpbGxDb2xvcihDb2xvcih0ZXh0Q29sb3IpLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKLSAgICBj
b250ZXh0LmRyYXdUZXh0KGZvbnQsIHJpZ2h0VGV4dCwgSW50UG9pbnQod2luZG93V2lkdGggLyAy
ICsgdGltZVNsaWRlcldpZHRoIC8gMiArIG1hcmdpbiwgd2luZG93SGVpZ2h0IC0gbWFyZ2luIC0g
c2xpZGVySGVpZ2h0IC8gMiArIGZvbnQuaGVpZ2h0KCkgLyA0KSk7CisgICAgY29udGV4dC5kcmF3
VGV4dChmb250LCByaWdodFRleHQsIEludFBvaW50KHdpbmRvd1dpZHRoIC8gMiArIHRpbWVTbGlk
ZXJXaWR0aCAvIDIgKyBtYXJnaW4sIHdpbmRvd0hlaWdodCAtIG1hcmdpbiAtIHNsaWRlckhlaWdo
dCAvIDIgKyBmb250SGVpZ2h0IC8gNCkpOwogCiAgICAgLy8gQ29weSB0byB0aGUgd2luZG93CiAg
ICAgQkxFTkRGVU5DVElPTiBibGVuZEZ1bmN0aW9uID0ge0FDX1NSQ19PVkVSLCAwLCAyNTUsIEFD
X1NSQ19BTFBIQX07CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXRHcmFwaGljcy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vV2ViS2l0R3JhcGhpY3MuY3BwCShyZXZp
c2lvbiA3NjM0MCkKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYktpdEdyYXBoaWNzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTMzLDE1ICsxMzMsMTYgQEAgdm9pZCBGb250TWV0cmljcyhjb25zdCBX
ZWJGb250RGVzY3JpcHRpbwogICAgICAgICByZXR1cm47CiAKICAgICBGb250IGZvbnQobWFrZUZv
bnQoZGVzY3JpcHRpb24pKTsKKyAgICBjb25zdCBXZWJDb3JlOjpGb250TWV0cmljcyYgZm9udE1l
dHJpY3MoZm9udC5mb250TWV0cmljcygpKTsKIAogICAgIGlmIChhc2NlbnQpCi0gICAgICAgICph
c2NlbnQgPSBmb250LmFzY2VudCgpOworICAgICAgICAqYXNjZW50ID0gZm9udE1ldHJpY3MuYXNj
ZW50KCk7CiAKICAgICBpZiAoZGVzY2VudCkKLSAgICAgICAgKmRlc2NlbnQgPSBmb250LmRlc2Nl
bnQoKTsKKyAgICAgICAgKmRlc2NlbnQgPSBmb250TWV0cmljcy5kZXNjZW50KCk7CiAKICAgICBp
ZiAobGluZVNwYWNpbmcpCi0gICAgICAgICpsaW5lU3BhY2luZyA9IGZvbnQubGluZVNwYWNpbmco
KTsKKyAgICAgICAgKmxpbmVTcGFjaW5nID0gZm9udE1ldHJpY3MubGluZVNwYWNpbmcoKTsKIH0K
IAogdW5zaWduZWQgQ2VudGVyVHJ1bmNhdGVTdHJpbmdUb1dpZHRoKExQQ1RTVFIgdGV4dCwgaW50
IGxlbmd0aCwgY29uc3QgV2ViRm9udERlc2NyaXB0aW9uJiBkZXNjcmlwdGlvbiwgZmxvYXQgd2lk
dGgsIFdDSEFSKiBidWZmZXIpCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJEcmFnQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJD
b3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50LmNwcAkocmV2aXNpb24gNzYzNDApCisrKyBTb3VyY2Uv
V2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjQ4LDcgKzI0OCw3IEBAIERyYWdJbWFnZVJlZiBXZWJEcmFnQ2xpZW50OjpjcmVhdGVE
cmFnSW0KICAgICAvL0ZpcnN0IHN0ZXAgaW4gZHJhd2luZyB0aGUgbGluayBkcmFnIGltYWdlIHdp
ZHRoCiAgICAgVGV4dFJ1biBsYWJlbFJ1bihsYWJlbC5pbXBsKCkpOwogICAgIFRleHRSdW4gdXJs
UnVuKHVybFN0cmluZy5pbXBsKCkpOwotICAgIEludFNpemUgbGFiZWxTaXplKGxhYmVsRm9udC0+
d2lkdGgobGFiZWxSdW4pLCBsYWJlbEZvbnQtPmFzY2VudCgpICsgbGFiZWxGb250LT5kZXNjZW50
KCkpOworICAgIEludFNpemUgbGFiZWxTaXplKGxhYmVsRm9udC0+d2lkdGgobGFiZWxSdW4pLCBs
YWJlbEZvbnQtPmZvbnRNZXRyaWNzKCkuYXNjZW50KCkgKyBsYWJlbEZvbnQtPmZvbnRNZXRyaWNz
KCkuZGVzY2VudCgpKTsKIAogICAgIGlmIChsYWJlbFNpemUud2lkdGgoKSA+IE1BWF9EUkFHX0xB
QkVMX1NUUklOR19XSURUSCl7CiAgICAgICAgIGxhYmVsU2l6ZS5zZXRXaWR0aChNQVhfRFJBR19M
QUJFTF9TVFJJTkdfV0lEVEgpOwpAQCAtMjYxLDcgKzI2MSw3IEBAIERyYWdJbWFnZVJlZiBXZWJE
cmFnQ2xpZW50OjpjcmVhdGVEcmFnSW0KIAogICAgIGlmIChkcmF3VVJMU3RyaW5nKSB7CiAgICAg
ICAgIHVybFN0cmluZ1NpemUuc2V0V2lkdGgodXJsRm9udC0+d2lkdGgodXJsUnVuKSk7Ci0gICAg
ICAgIHVybFN0cmluZ1NpemUuc2V0SGVpZ2h0KHVybEZvbnQtPmFzY2VudCgpICsgdXJsRm9udC0+
ZGVzY2VudCgpKTsgCisgICAgICAgIHVybFN0cmluZ1NpemUuc2V0SGVpZ2h0KHVybEZvbnQtPmZv
bnRNZXRyaWNzKCkuYXNjZW50KCkgKyB1cmxGb250LT5mb250TWV0cmljcygpLmRlc2NlbnQoKSk7
IAogICAgICAgICBpbWFnZVNpemUuc2V0SGVpZ2h0KGltYWdlU2l6ZS5oZWlnaHQoKSArIHVybFN0
cmluZ1NpemUuaGVpZ2h0KCkpOwogICAgICAgICBpZiAodXJsU3RyaW5nU2l6ZS53aWR0aCgpID4g
TUFYX0RSQUdfTEFCRUxfU1RSSU5HX1dJRFRIKSB7CiAgICAgICAgICAgICBpbWFnZVNpemUuc2V0
V2lkdGgoTUFYX0RSQUdfTEFCRUxfV0lEVEgpOwpAQCAtMzA0LDcgKzMwNCw3IEBAIERyYWdJbWFn
ZVJlZiBXZWJEcmFnQ2xpZW50OjpjcmVhdGVEcmFnSW0KICAgICBpZiAoZHJhd1VSTFN0cmluZykg
ewogICAgICAgICBpZiAoY2xpcFVSTFN0cmluZykKICAgICAgICAgICAgIHVybFN0cmluZyA9IFN0
cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZSh1cmxTdHJpbmcsIGltYWdlU2l6ZS53aWR0aCgp
IC0gKERSQUdfTEFCRUxfQk9SREVSX1ggKiAyLjBmKSwgKnVybEZvbnQsIGZhbHNlKTsKLSAgICAg
ICAgSW50UG9pbnQgdGV4dFBvcyhEUkFHX0xBQkVMX0JPUkRFUl9YLCBpbWFnZVNpemUuaGVpZ2h0
KCkgLSAoRFJBR19MQUJFTF9CT1JERVJfWV9PRkZTRVQgKyB1cmxGb250LT5kZXNjZW50KCkpKTsK
KyAgICAgICAgSW50UG9pbnQgdGV4dFBvcyhEUkFHX0xBQkVMX0JPUkRFUl9YLCBpbWFnZVNpemUu
aGVpZ2h0KCkgLSAoRFJBR19MQUJFTF9CT1JERVJfWV9PRkZTRVQgKyB1cmxGb250LT5mb250TWV0
cmljcygpLmRlc2NlbnQoKSkpOwogICAgICAgICBXZWJDb3JlRHJhd0RvdWJsZWRUZXh0QXRQb2lu
dChjb250ZXh0LCB1cmxTdHJpbmcsIHRleHRQb3MsICp1cmxGb250LCB0b3BDb2xvciwgYm90dG9t
Q29sb3IpOwogICAgIH0KICAgICAK
</data>
<flag name="review"
          id="71158"
          type_id="1"
          status="+"
          setter="krit"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80041</attachid>
            <date>2011-01-25 03:22:12 -0800</date>
            <delta_ts>2011-01-25 03:35:53 -0800</delta_ts>
            <desc>Fixup patch (after patch v11 landed)</desc>
            <filename>TryFixFontMetrics.diff</filename>
            <type>text/plain</type>
            <size>40217</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc2NTgxKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzggQEAKKzIwMTEtMDEtMjUgIE5pa29sYXMg
WmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNlIEZvbnRNZXRyaWNzIGFic3RyYWN0
aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTQ1
NgorCisgICAgICAgIFJlcG9ydCBhY2N1cmF0ZSBmbG9hdGluZy1wb2ludCBsaW5lU3BhY2luZyBy
ZXN1bHRzIChsaW5lR2FwICsgYXNjZW50ICsgZGVzY2VudCkuCisgICAgICAgIFVzZSBmbG9hdGlu
Zy1wb2ludCBtZXRyaWNzIHRvIGNhbGN1bGF0ZSB0aGUgYXNjZW50L2Rlc2NlbnQvbGluZUdhcCBv
ZiBhIFNWRyBGb250LgorCisgICAgICAgIFRoaXMgaG9wZWZ1bGx5IGZpeGVzIGRpZmZlcmVuY2Vz
IGJldHdlZW4gMzIvNjQgYml0IGJvdHMuCisgICAgICAgIE5lZWRzIHJlYmFzZWxpbmVzIG9uIGFs
bCBwbGF0Zm9ybXMuIE9ubHkgbWFjLWxlb3BhcmQgbGFuZHMgd2l0aCB0aGlzIHBhdGNoLgorCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnREYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OlNpbXBsZUZvbnREYXRhOjppbml0Q2hhcldpZHRocyk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFMaW51eC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9mcmVldHlwZS9TaW1wbGVGb250RGF0YUZyZWVUeXBlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2hhaWt1L1NpbXBsZUZvbnREYXRhSGFpa3UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxl
Rm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcGFu
Z28vU2ltcGxlRm9udERhdGFQYW5nby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250
RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vU2lt
cGxlRm9udERhdGFDR1dpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6
cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9u
dERhdGFDYWlyb1dpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxh
dGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERh
dGFXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OmluaXRHRElGb250
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9TaW1wbGVGb250RGF0YVdpbkNF
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgor
CiAyMDExLTAxLTI0ICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwCShyZXZpc2lv
biA3NjQ1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnRE
YXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzksMTEgKzc5LDEwIEBAIFNpbXBsZUZvbnREYXRh
OjpTaW1wbGVGb250RGF0YShQYXNzT3duUHQKICAgICBpZiAodW5pdHNQZXJFbSkKICAgICAgICAg
c2NhbGUgLz0gdW5pdHNQZXJFbTsKIAotICAgIC8vIEZJWE1FOiBVc2UgZmxvYXRpbmctcG9pbnQg
bWV0cmljcywgbm93IHRoYXQgdGhleSdyZSBleHBvc2VkIQotICAgIGludCB4SGVpZ2h0ID0gc3Rh
dGljX2Nhc3Q8aW50PihzdmdGb250RmFjZUVsZW1lbnQtPnhIZWlnaHQoKSAqIHNjYWxlKTsKLSAg
ICBpbnQgYXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50PihzdmdGb250RmFjZUVsZW1lbnQtPmFzY2Vu
dCgpICogc2NhbGUpOwotICAgIGludCBkZXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50PihzdmdGb250
RmFjZUVsZW1lbnQtPmRlc2NlbnQoKSAqIHNjYWxlKTsKLSAgICBpbnQgbGluZUdhcCA9IHN0YXRp
Y19jYXN0PGludD4oMC4xZiAqIHNpemUpOworICAgIGZsb2F0IHhIZWlnaHQgPSBzdmdGb250RmFj
ZUVsZW1lbnQtPnhIZWlnaHQoKSAqIHNjYWxlOworICAgIGZsb2F0IGFzY2VudCA9IHN2Z0ZvbnRG
YWNlRWxlbWVudC0+YXNjZW50KCkgKiBzY2FsZTsKKyAgICBmbG9hdCBkZXNjZW50ID0gc3ZnRm9u
dEZhY2VFbGVtZW50LT5kZXNjZW50KCkgKiBzY2FsZTsKKyAgICBmbG9hdCBsaW5lR2FwID0gMC4x
ZiAqIHNpemU7CiAgICAgbV9mb250TWV0cmljcy5zZXRVbml0c1BlckVtKHVuaXRzUGVyRW0pOwog
ICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGFzY2VudCk7CiAgICAgbV9mb250TWV0cmljcy5z
ZXREZXNjZW50KGRlc2NlbnQpOwpAQCAtOTUsMTUgKzk0LDE1IEBAIFNpbXBsZUZvbnREYXRhOjpT
aW1wbGVGb250RGF0YShQYXNzT3duUHQKIAogICAgIFZlY3RvcjxTVkdHbHlwaElkZW50aWZpZXI+
IHNwYWNlR2x5cGhzOwogICAgIGFzc29jaWF0ZWRGb250RWxlbWVudC0+Z2V0R2x5cGhJZGVudGlm
aWVyc0ZvclN0cmluZyhTdHJpbmcoIiAiLCAxKSwgc3BhY2VHbHlwaHMpOwotICAgIG1fc3BhY2VX
aWR0aCA9IHNwYWNlR2x5cGhzLmlzRW1wdHkoKSA/IHhIZWlnaHQgOiBzdGF0aWNfY2FzdDxmbG9h
dD4oc3BhY2VHbHlwaHMuZmlyc3QoKS5ob3Jpem9udGFsQWR2YW5jZVggKiBzY2FsZSk7CisgICAg
bV9zcGFjZVdpZHRoID0gc3BhY2VHbHlwaHMuaXNFbXB0eSgpID8geEhlaWdodCA6IHNwYWNlR2x5
cGhzLmZpcnN0KCkuaG9yaXpvbnRhbEFkdmFuY2VYICogc2NhbGU7CiAKICAgICBWZWN0b3I8U1ZH
R2x5cGhJZGVudGlmaWVyPiBudW1lcmFsWmVyb0dseXBoczsKICAgICBhc3NvY2lhdGVkRm9udEVs
ZW1lbnQtPmdldEdseXBoSWRlbnRpZmllcnNGb3JTdHJpbmcoU3RyaW5nKCIwIiwgMSksIG51bWVy
YWxaZXJvR2x5cGhzKTsKLSAgICBtX2F2Z0NoYXJXaWR0aCA9IG51bWVyYWxaZXJvR2x5cGhzLmlz
RW1wdHkoKSA/IG1fc3BhY2VXaWR0aCA6IHN0YXRpY19jYXN0PGZsb2F0PihudW1lcmFsWmVyb0ds
eXBocy5maXJzdCgpLmhvcml6b250YWxBZHZhbmNlWCAqIHNjYWxlKTsKKyAgICBtX2F2Z0NoYXJX
aWR0aCA9IG51bWVyYWxaZXJvR2x5cGhzLmlzRW1wdHkoKSA/IG1fc3BhY2VXaWR0aCA6IG51bWVy
YWxaZXJvR2x5cGhzLmZpcnN0KCkuaG9yaXpvbnRhbEFkdmFuY2VYICogc2NhbGU7CiAKICAgICBW
ZWN0b3I8U1ZHR2x5cGhJZGVudGlmaWVyPiBsZXR0ZXJXR2x5cGhzOwogICAgIGFzc29jaWF0ZWRG
b250RWxlbWVudC0+Z2V0R2x5cGhJZGVudGlmaWVyc0ZvclN0cmluZyhTdHJpbmcoIlciLCAxKSwg
bGV0dGVyV0dseXBocyk7Ci0gICAgbV9tYXhDaGFyV2lkdGggPSBsZXR0ZXJXR2x5cGhzLmlzRW1w
dHkoKSA/IGFzY2VudCA6IHN0YXRpY19jYXN0PGZsb2F0PihsZXR0ZXJXR2x5cGhzLmZpcnN0KCku
aG9yaXpvbnRhbEFkdmFuY2VYICogc2NhbGUpOworICAgIG1fbWF4Q2hhcldpZHRoID0gbGV0dGVy
V0dseXBocy5pc0VtcHR5KCkgPyBhc2NlbnQgOiBsZXR0ZXJXR2x5cGhzLmZpcnN0KCkuaG9yaXpv
bnRhbEFkdmFuY2VYICogc2NhbGU7CiAKICAgICAvLyBGSVhNRTogaXMgdGhlcmUgYSB3YXkgd2Ug
Y2FuIGdldCB0aGUgc3BhY2UgZ2x5cGggZnJvbSB0aGUgU1ZHR2x5cGhJZGVudGlmaWVyIGFib3Zl
PwogICAgIG1fc3BhY2VHbHlwaCA9IDA7CkBAIC0xMzMsOSArMTMyLDggQEAgdm9pZCBTaW1wbGVG
b250RGF0YTo6aW5pdENoYXJXaWR0aHMoKQogICAgIGlmIChtX2F2Z0NoYXJXaWR0aCA8PSAwLmYp
CiAgICAgICAgIG1fYXZnQ2hhcldpZHRoID0gbV9mb250TWV0cmljcy54SGVpZ2h0KCk7CiAKLSAg
ICAvLyBGSVhNRTogVXNlIGZsb2F0aW5nLXBvaW50IG1ldHJpY3MsIG5vdyB0aGF0IHRoZXkncmUg
ZXhwb3NlZCEKICAgICBpZiAobV9tYXhDaGFyV2lkdGggPD0gMC5mKQotICAgICAgICBtX21heENo
YXJXaWR0aCA9IG1heDxmbG9hdD4obV9hdmdDaGFyV2lkdGgsIG1fZm9udE1ldHJpY3MuYXNjZW50
KCkpOworICAgICAgICBtX21heENoYXJXaWR0aCA9IG1heChtX2F2Z0NoYXJXaWR0aCwgbV9mb250
TWV0cmljcy5mbG9hdEFzY2VudCgpKTsKIH0KIAogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZv
cm1HbHlwaEluaXQoKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vU2ltcGxlRm9udERhdGFMaW51eC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFMaW51eC5jcHAJKHJl
dmlzaW9uIDc2NDUwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vU2ltcGxlRm9udERhdGFMaW51eC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMiw3ICsxMTIs
NyBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgIGZsb2F0IGxpbmVH
YXAgPSBTa1NjYWxhclRvRmxvYXQobWV0cmljcy5mTGVhZGluZyk7CiAgICAgbV9mb250TWV0cmlj
cy5zZXRMaW5lR2FwKGxpbmVHYXApOwogICAgIG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodCh4SGVp
Z2h0KTsKLSAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGxyb3VuZGYoYXNjZW50KSAr
IGxyb3VuZGYoZGVzY2VudCkgKyBscm91bmRmKGxpbmVHYXApKTsKKyAgICBtX2ZvbnRNZXRyaWNz
LnNldExpbmVTcGFjaW5nKGFzY2VudCArIGRlc2NlbnQgKyBsaW5lR2FwKTsKIAogICAgIGlmICht
X29yaWVudGF0aW9uID09IFZlcnRpY2FsKSB7CiAgICAgICAgIHN0YXRpYyBjb25zdCB1aW50MzJf
dCB2aGVhVGFnID0gU2tTZXRGb3VyQnl0ZVRhZygndicsICdoJywgJ2UnLCAnYScpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFG
cmVlVHlwZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFGcmVlVHlwZS5jcHAJKHJldmlzaW9uIDc2NDUwKQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERh
dGFGcmVlVHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDcgKzYzLDcgQEAgdm9pZCBTaW1w
bGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICBpZiAobGluZVNwYWNpbmcgPCBmb250X2V4
dGVudHMuYXNjZW50ICsgZm9udF9leHRlbnRzLmRlc2NlbnQpCiAgICAgICAgIGxpbmVTcGFjaW5n
ID0gZm9udF9leHRlbnRzLmFzY2VudCArIGZvbnRfZXh0ZW50cy5kZXNjZW50OwogCi0gICAgbV9m
b250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhscm91bmRmKGxpbmVTcGFjaW5nKSk7CisgICAgbV9m
b250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhsaW5lU3BhY2luZyk7CiAgICAgbV9mb250TWV0cmlj
cy5zZXRMaW5lR2FwKGxpbmVTcGFjaW5nIC0gZm9udF9leHRlbnRzLmFzY2VudCAtIGZvbnRfZXh0
ZW50cy5kZXNjZW50KTsKIAogICAgIGNhaXJvX3NjYWxlZF9mb250X3RleHRfZXh0ZW50cyhtX3Bs
YXRmb3JtRGF0YS5zY2FsZWRGb250KCksICJ4IiwgJnRleHRfZXh0ZW50cyk7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9TaW1wbGVGb250RGF0YUhhaWt1LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9T
aW1wbGVGb250RGF0YUhhaWt1LmNwcAkocmV2aXNpb24gNzY0NTApCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9TaW1wbGVGb250RGF0YUhhaWt1LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTIsNyArNTIsNyBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUlu
aXQoKQogICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChoZWlnaHQuZGVzY2VudCk7CiAgICAg
bV9mb250TWV0cmljcy5zZXRYSGVpZ2h0KGhlaWdodC5hc2NlbnQgKiAwLjU2Zik7IC8vIEhhY2sg
dGFrZW4gZnJvbSB0aGUgd2luIHBvcnQuCiAgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGhl
aWdodC5sZWFkaW5nKTsKLSAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGxyb3VuZGYo
aGVpZ2h0LmFzY2VudCkgKyBscm91bmRmKGhlaWdodC5kZXNjZW50KSArIGxyb3VuZGYoaGVpZ2h0
LmxlYWRpbmcpKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGhlaWdodC5hc2Nl
bnQgKyBoZWlnaHQuZGVzY2VudCArIGhlaWdodC5sZWFkaW5nKTsKIH0KIAogdm9pZCBTaW1wbGVG
b250RGF0YTo6cGxhdGZvcm1DaGFyV2lkdGhJbml0KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW0J
KHJldmlzaW9uIDc2NDUwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFj
L1NpbXBsZUZvbnREYXRhTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNTAsNyArMjUwLDcgQEAg
dm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KCkKICAgICB9CiAKICAgICAvLyBDb21w
dXRlIGFuZCBzdG9yZSBsaW5lIHNwYWNpbmcsIGJlZm9yZSB0aGUgbGluZSBtZXRyaWNzIGhhY2tz
IGFyZSBhcHBsaWVkLgotICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcobHJvdW5kZihh
c2NlbnQpICsgbHJvdW5kZihkZXNjZW50KSArIGxyb3VuZGYobGluZUdhcCkpOworICAgIG1fZm9u
dE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNjZW50ICsgZGVzY2VudCArIGxpbmVHYXApOwogCiAg
ICAgLy8gSGFjayBIaXJhZ2lubyBsaW5lIG1ldHJpY3MgdG8gYWxsb3cgcm9vbSBmb3IgbWFya2Vk
IHRleHQgdW5kZXJsaW5lcy4KICAgICAvLyA8cmRhcjovL3Byb2JsZW0vNTM4NjE4Mz4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1NpbXBsZUZvbnREYXRhUGFu
Z28uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Bh
bmdvL1NpbXBsZUZvbnREYXRhUGFuZ28uY3BwCShyZXZpc2lvbiA3NjQ1MCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3BhbmdvL1NpbXBsZUZvbnREYXRhUGFuZ28uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02MSw3ICs2MSw3IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRm
b3JtSW5pdCgpCiAgICAgZmxvYXQgbGluZVNwYWNpbmcgPSBmb250X2V4dGVudHMuaGVpZ2h0Owog
ICAgIGlmIChsaW5lU3BhY2luZyA8IGZvbnRfZXh0ZW50cy5hc2NlbnQgKyBmb250X2V4dGVudHMu
ZGVzY2VudCkKICAgICAgICAgbGluZVNwYWNpbmcgPSBmb250X2V4dGVudHMuYXNjZW50ICsgZm9u
dF9leHRlbnRzLmRlc2NlbnQ7Ci0gICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhscm91
bmRmKGxpbmVTcGFjaW5nKSk7CisgICAgbV9mb250TWV0cmljcy5zZXRMaW5lU3BhY2luZyhsaW5l
U3BhY2luZyk7CiAgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGxpbmVTcGFjaW5nIC0gZm9u
dF9leHRlbnRzLmFzY2VudCAtIGZvbnRfZXh0ZW50cy5kZXNjZW50KTsKIAogICAgIGNhaXJvX3Nj
YWxlZF9mb250X3RleHRfZXh0ZW50cyhtX3BsYXRmb3JtRGF0YS5tX3NjYWxlZEZvbnQsICJ4Iiwg
JnRleHRfZXh0ZW50cyk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93
aW4vU2ltcGxlRm9udERhdGFDR1dpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ0dXaW4uY3BwCShyZXZpc2lvbiA3
NjQ1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250
RGF0YUNHV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTYsNyArOTYsNyBAQCB2b2lkIFNpbXBs
ZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQoKQogICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGZB
c2NlbnQpOwogICAgIG1fZm9udE1ldHJpY3Muc2V0RGVzY2VudChmRGVzY2VudCk7CiAgICAgbV9m
b250TWV0cmljcy5zZXRMaW5lR2FwKGZMaW5lR2FwKTsKLSAgICBtX2ZvbnRNZXRyaWNzLnNldExp
bmVTcGFjaW5nKGxyb3VuZGYoZkFzY2VudCkgKyBscm91bmRmKGZEZXNjZW50KSArIGxyb3VuZGYo
ZkxpbmVHYXApKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGZBc2NlbnQgKyBm
RGVzY2VudCArIGZMaW5lR2FwKTsKIAogICAgIC8vIE1lYXN1cmUgdGhlIGFjdHVhbCBjaGFyYWN0
ZXIgIngiLCBiZWNhdXNlIEFwcEtpdCBzeW50aGVzaXplcyBYIGhlaWdodCByYXRoZXIgdGhhbiBn
ZXR0aW5nIGl0IGZyb20gdGhlIGZvbnQuCiAgICAgLy8gVW5mb3J0dW5hdGVseSwgTlNGb250IHdp
bGwgcm91bmQgdGhpcyBmb3IgdXMgc28gd2UgZG9uJ3QgcXVpdGUgZ2V0IHRoZSByaWdodCB2YWx1
ZS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250
RGF0YUNhaXJvV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy93aW4vU2ltcGxlRm9udERhdGFDYWlyb1dpbi5jcHAJKHJldmlzaW9uIDc2NDUwKQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhQ2Fp
cm9XaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MCw3ICs3MCw3IEBAIHZvaWQgU2ltcGxlRm9u
dERhdGE6OnBsYXRmb3JtSW5pdCgpCiAgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50
KTsKICAgICBtX2ZvbnRNZXRyaWNzLnNldERlc2NlbnQoZGVzY2VudCk7CiAgICAgbV9mb250TWV0
cmljcy5zZXRMaW5lR2FwKGxpbmVHYXApOwotICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNp
bmcobHJvdW5kZihhc2NlbnQpICsgbHJvdW5kZihkZXNjZW50KSArIGxyb3VuZGYobGluZUdhcCkp
OworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNjZW50ICsgZGVzY2VudCArIGxp
bmVHYXApOwogICAgIG1fYXZnQ2hhcldpZHRoID0gdGV4dE1ldHJpY3MudG1BdmVDaGFyV2lkdGgg
KiBtZXRyaWNzTXVsdGlwbGllcjsKICAgICBtX21heENoYXJXaWR0aCA9IHRleHRNZXRyaWNzLnRt
TWF4Q2hhcldpZHRoICogbWV0cmljc011bHRpcGxpZXI7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9TaW1wbGVGb250RGF0YVdpbi5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZvbnREYXRhV2lu
LmNwcAkocmV2aXNpb24gNzY0NTApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vU2ltcGxlRm9udERhdGFXaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04Myw3ICs4Myw3
IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OmluaXRHRElGb250KCkKICAgICAgbV9mb250TWV0cmlj
cy5zZXRBc2NlbnQoYXNjZW50KTsKICAgICAgbV9mb250TWV0cmljcy5zZXREZXNjZW50KGRlc2Nl
bnQpOwogICAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVHYXAobGluZUdhcCk7Ci0gICAgIG1fZm9u
dE1ldHJpY3Muc2V0TGluZVNwYWNpbmcobHJvdW5kZihhc2NlbnQpICsgbHJvdW5kZihkZXNjZW50
KSArIGxyb3VuZGYobGluZUdhcCkpOworICAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5n
KGFzY2VudCArIGRlc2NlbnQgKyBsaW5lR2FwKTsKICAgICAgbV9hdmdDaGFyV2lkdGggPSB0ZXh0
TWV0cmljcy50bUF2ZUNoYXJXaWR0aDsKICAgICAgbV9tYXhDaGFyV2lkdGggPSB0ZXh0TWV0cmlj
cy50bU1heENoYXJXaWR0aDsKICAgICAgZmxvYXQgeEhlaWdodCA9IGFzY2VudCAqIDAuNTZmOyAv
LyBCZXN0IGd1ZXNzIGZvciB4SGVpZ2h0IGlmIG5vIHggZ2x5cGggaXMgcHJlc2VudC4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL1NpbXBsZUZvbnREYXRhV2lu
Q0UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bmNlL1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwCShyZXZpc2lvbiA3NjQ1MCkKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbmNlL1NpbXBsZUZvbnREYXRhV2luQ0UuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01Nyw3ICs1Nyw3IEBAIHZvaWQgU2ltcGxlRm9udERhdGE6OnBsYXRm
b3JtSW5pdCgpCiAgICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKICAgICBtX2Zv
bnRNZXRyaWNzLnNldERlc2NlbnQoZGVzY2VudCk7CiAgICAgbV9mb250TWV0cmljcy5zZXRMaW5l
R2FwKGxpbmVHYXApOwotICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcobHJvdW5kZihh
c2NlbnQpICsgbHJvdW5kZihkZXNjZW50KSArIGxyb3VuZGYobGluZUdhcCkpOworICAgIG1fZm9u
dE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNjZW50ICsgZGVzY2VudCArIGxpbmVHYXApOwogICAg
IG1fZm9udE1ldHJpY3Muc2V0WEhlaWdodChhc2NlbnQgKiAwLjU2Zik7CiB9CiAKSW5kZXg6IExh
eW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDc2NTgxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMzczIEBACisyMDExLTAxLTI1ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemlt
bWVybWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEludHJvZHVjZSBGb250TWV0cmljcyBhYnN0cmFjdGlvbgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE0NTYKKworICAgICAgICBVcGRh
dGUgbWFjLWxlb3BhcmQgYmFzZWxpbmUgYWZ0ZXIgY2hhbmdpbmcgdGhlIGxpbmVTcGFjaW5nIHRv
IGJlIGFjY3VyYXRlLgorCisgICAgICAgICogaHR0cC90ZXN0cy9taXNjL2FjaWQzLWV4cGVjdGVk
LnBuZzoKKyAgICAgICAgKiBodHRwL3Rlc3RzL21pc2MvYWNpZDMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2NzczIuMS90MTIwMi1jb3VudGVyLTA0LWItZXhw
ZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvY3NzMi4xL3Qx
MjAyLWNvdW50ZXItMDQtYi1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxl
b3BhcmQvY3NzMi4xL3QxMjAyLWNvdW50ZXItMDQtYi1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vbWFjLWxlb3BhcmQvY3NzMi4xL3QxMjAyLWNvdW50ZXJzLTA0LWItZXhwZWN0ZWQu
Y2hlY2tzdW06CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvY3NzMi4xL3QxMjAyLWNv
dW50ZXJzLTA0LWItZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJk
L2NzczIuMS90MTIwMi1jb3VudGVycy0wNC1iLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMtbGVvcGFyZC9jc3MyLjEvdDE1MDctYzUyNi1mb250LXN6LTAwLWItZXhwZWN0ZWQu
Y2hlY2tzdW06CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvY3NzMi4xL3QxNTA3LWM1
MjYtZm9udC1zei0wMC1iLWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVv
cGFyZC9lZGl0aW5nL3Bhc3RlYm9hcmQvYmxvY2std3JhcHBlcnMtbmVjZXNzYXJ5LWV4cGVjdGVk
LmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2VkaXRpbmcvcGFzdGVi
b2FyZC9ibG9jay13cmFwcGVycy1uZWNlc3NhcnktZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy1sZW9wYXJkL2VkaXRpbmcvc2VsZWN0aW9uLzM2OTA3MDMtMi1leHBlY3RlZC5j
aGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9lZGl0aW5nL3NlbGVjdGlv
bi8zNjkwNzAzLTItZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJk
L2VkaXRpbmcvc2VsZWN0aW9uLzM2OTA3MDMtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICog
cGxhdGZvcm0vbWFjLWxlb3BhcmQvZWRpdGluZy9zZWxlY3Rpb24vMzY5MDcwMy1leHBlY3RlZC5w
bmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvZWRpdGluZy9zZWxlY3Rpb24vMzY5
MDcxOS1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9l
ZGl0aW5nL3NlbGVjdGlvbi8zNjkwNzE5LWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMtbGVvcGFyZC9lZGl0aW5nL3Vuc3VwcG9ydGVkLWNvbnRlbnQvbGlzdC1kZWxldGUtMDAx
LWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2VkaXRp
bmcvdW5zdXBwb3J0ZWQtY29udGVudC9saXN0LWRlbGV0ZS0wMDEtZXhwZWN0ZWQucG5nOgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2VkaXRpbmcvdW5zdXBwb3J0ZWQtY29udGVudC9s
aXN0LWRlbGV0ZS0wMDMtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxhdGZvcm0vbWFj
LWxlb3BhcmQvZWRpdGluZy91bnN1cHBvcnRlZC1jb250ZW50L2xpc3QtZGVsZXRlLTAwMy1leHBl
Y3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvZWRpdGluZy91bnN1cHBv
cnRlZC1jb250ZW50L2xpc3QtdHlwZS1hZnRlci1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9lZGl0aW5nL3Vuc3VwcG9ydGVkLWNvbnRlbnQvbGlzdC10
eXBlLWFmdGVyLWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9l
ZGl0aW5nL3Vuc3VwcG9ydGVkLWNvbnRlbnQvbGlzdC10eXBlLWJlZm9yZS1leHBlY3RlZC5jaGVj
a3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9lZGl0aW5nL3Vuc3VwcG9ydGVk
LWNvbnRlbnQvbGlzdC10eXBlLWJlZm9yZS1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZv
cm0vbWFjLWxlb3BhcmQvZWRpdGluZy91bnN1cHBvcnRlZC1jb250ZW50L3RhYmxlLWRlbGV0ZS0w
MDEtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvZWRp
dGluZy91bnN1cHBvcnRlZC1jb250ZW50L3RhYmxlLWRlbGV0ZS0wMDEtZXhwZWN0ZWQucG5nOgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2VkaXRpbmcvdW5zdXBwb3J0ZWQtY29udGVu
dC90YWJsZS1kZWxldGUtMDAyLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy1sZW9wYXJkL2VkaXRpbmcvdW5zdXBwb3J0ZWQtY29udGVudC90YWJsZS1kZWxldGUtMDAy
LWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9lZGl0aW5nL3Vu
c3VwcG9ydGVkLWNvbnRlbnQvdGFibGUtZGVsZXRlLTAwMy1leHBlY3RlZC5jaGVja3N1bToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9lZGl0aW5nL3Vuc3VwcG9ydGVkLWNvbnRlbnQv
dGFibGUtZGVsZXRlLTAwMy1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxl
b3BhcmQvZWRpdGluZy91bnN1cHBvcnRlZC1jb250ZW50L3RhYmxlLXR5cGUtYWZ0ZXItZXhwZWN0
ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvZWRpdGluZy91bnN1
cHBvcnRlZC1jb250ZW50L3RhYmxlLXR5cGUtYWZ0ZXItZXhwZWN0ZWQucG5nOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy1sZW9wYXJkL2VkaXRpbmcvdW5zdXBwb3J0ZWQtY29udGVudC90YWJsZS10
eXBlLWJlZm9yZS1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVv
cGFyZC9lZGl0aW5nL3Vuc3VwcG9ydGVkLWNvbnRlbnQvdGFibGUtdHlwZS1iZWZvcmUtZXhwZWN0
ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zhc3QvYmxvY2svbWFyZ2lu
LWNvbGxhcHNlLzAwMS1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMt
bGVvcGFyZC9mYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS8wMDEtZXhwZWN0ZWQucG5nOgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zhc3QvYmxvY2svbWFyZ2luLWNvbGxhcHNlLzAw
NS1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9mYXN0
L2Jsb2NrL21hcmdpbi1jb2xsYXBzZS8wMDUtZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRm
b3JtL21hYy1sZW9wYXJkL2Zhc3QvYmxvY2svbWFyZ2luLWNvbGxhcHNlL2Jsb2NrLWluc2lkZS1p
bmxpbmUvMDAxLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9w
YXJkL2Zhc3QvYmxvY2svbWFyZ2luLWNvbGxhcHNlL2Jsb2NrLWluc2lkZS1pbmxpbmUvMDAxLWV4
cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9mYXN0L2Jsb2NrL21h
cmdpbi1jb2xsYXBzZS9ibG9jay1pbnNpZGUtaW5saW5lLzAwNS1leHBlY3RlZC5jaGVja3N1bToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9mYXN0L2Jsb2NrL21hcmdpbi1jb2xsYXBz
ZS9ibG9jay1pbnNpZGUtaW5saW5lLzAwNS1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZv
cm0vbWFjLWxlb3BhcmQvZmFzdC9jc3MvY29sb3ItY29ycmVjdGlvbi1vbi10ZXh0LWV4cGVjdGVk
LnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9mYXN0L2Nzcy9jc3MyLXN5c3Rl
bS1mb250cy1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFy
ZC9mYXN0L2Nzcy9jc3MyLXN5c3RlbS1mb250cy1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxh
dGZvcm0vbWFjLWxlb3BhcmQvZmFzdC9jc3MvaW52YWxpZGF0aW9uLWVycm9ycy0zLWV4cGVjdGVk
LmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zhc3QvY3NzL2ludmFs
aWRhdGlvbi1lcnJvcnMtMy1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxl
b3BhcmQvZmFzdC9jc3MvcmVtLWR5bmFtaWMtc2NhbGluZy1leHBlY3RlZC5jaGVja3N1bToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9mYXN0L2Nzcy9yZW0tZHluYW1pYy1zY2FsaW5n
LWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9mYXN0L2Nzcy9z
aGFkb3ctbXVsdGlwbGUtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxhdGZvcm0vbWFj
LWxlb3BhcmQvZmFzdC9jc3Mvc2hhZG93LW11bHRpcGxlLWV4cGVjdGVkLnBuZzoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9mYXN0L2RvbS81Mjc3Ni1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvZmFzdC9kb20vY2xvbmUtbm9kZS1keW5hbWljLXN0
eWxlLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zh
c3QvZG9tL2Nsb25lLW5vZGUtZHluYW1pYy1zdHlsZS1leHBlY3RlZC5wbmc6CisgICAgICAgICog
cGxhdGZvcm0vbWFjLWxlb3BhcmQvZmFzdC9mb3Jtcy9ib3gtc2hhZG93LW92ZXJyaWRlLWV4cGVj
dGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zhc3QvZm9ybXMv
Ym94LXNoYWRvdy1vdmVycmlkZS1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFj
LWxlb3BhcmQvZmFzdC9mb3Jtcy9idXR0b24tc2l6ZXMtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAg
ICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvZmFzdC9mb3Jtcy9idXR0b24tc2l6ZXMtZXhwZWN0
ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zhc3QvZm9ybXMvaW5wdXQt
ZmllbGQtdGV4dC10cnVuY2F0ZWQtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxhdGZv
cm0vbWFjLWxlb3BhcmQvZmFzdC9mb3Jtcy9pbnB1dC1maWVsZC10ZXh0LXRydW5jYXRlZC1leHBl
Y3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvZmFzdC9mb3Jtcy9zZWFy
Y2gtem9vbWVkLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9w
YXJkL2Zhc3QvZm9ybXMvc2VhcmNoLXpvb21lZC1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxh
dGZvcm0vbWFjLWxlb3BhcmQvZmFzdC9mb3Jtcy9zZWFyY2hmaWVsZC1oZWlnaHRzLWV4cGVjdGVk
LmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zhc3QvZm9ybXMvc2Vh
cmNoZmllbGQtaGVpZ2h0cy1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxl
b3BhcmQvZmFzdC9mb3Jtcy90ZXh0ZmllbGQtb3V0bGluZS1leHBlY3RlZC5jaGVja3N1bToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9mYXN0L2Zvcm1zL3RleHRmaWVsZC1vdXRsaW5l
LWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9mYXN0L2lubGlu
ZS92ZXJ0aWNhbC1hbGlnbi10ZXh0LWJvdHRvbS1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9mYXN0L2lubGluZS92ZXJ0aWNhbC1hbGlnbi10ZXh0LWJv
dHRvbS1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvZmFzdC9p
bnZhbGlkL25lc3RlZGgzcy1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMtbGVvcGFyZC9mYXN0L2ludmFsaWQvbmVzdGVkaDNzLWV4cGVjdGVkLnBuZzoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9mYXN0L211bHRpY29sL3NwYW4vYW5vbnltb3VzLXN0eWxl
LWluaGVyaXRhbmNlLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1s
ZW9wYXJkL2Zhc3QvbXVsdGljb2wvc3Bhbi9hbm9ueW1vdXMtc3R5bGUtaW5oZXJpdGFuY2UtZXhw
ZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zhc3QvcnVieS9ydWJ5
LWlubGluZS10YWJsZS1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMt
bGVvcGFyZC9mYXN0L3J1YnkvcnVieS1pbmxpbmUtdGFibGUtZXhwZWN0ZWQucG5nOgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zhc3QvcnVieS9ydWJ5LXJ1bi1icmVhay1leHBlY3Rl
ZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9mYXN0L3J1YnkvcnVi
eS1ydW4tYnJlYWstZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJk
L2Zhc3QvdGV4dC9iYXNpYy8wMTUtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxhdGZv
cm0vbWFjLWxlb3BhcmQvZmFzdC90ZXh0L2Jhc2ljLzAxNS1leHBlY3RlZC5wbmc6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvZmFzdC90ZXh0L2ZpcnN0bGluZS8wMDEtZXhwZWN0ZWQu
Y2hlY2tzdW06CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvZmFzdC90ZXh0L2ZpcnN0
bGluZS8wMDEtZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zh
c3QvdGV4dC9mb3JtYXQtY29udHJvbC1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMtbGVvcGFyZC9mYXN0L3RleHQvZm9ybWF0LWNvbnRyb2wtZXhwZWN0ZWQucG5nOgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2Jp
ZGktQU4tYWZ0ZXItTC1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMt
bGVvcGFyZC9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLUFOLWFmdGVyLUwtZXhwZWN0ZWQu
cG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zhc3QvdGV4dC9pbnRlcm5hdGlv
bmFsL2JpZGktQU4tYWZ0ZXItTC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFj
LWxlb3BhcmQvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1BTi1hZnRlci1lbXB0eS1ydW4t
ZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvZmFzdC90
ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1BTi1hZnRlci1lbXB0eS1ydW4tZXhwZWN0ZWQucG5nOgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2Jp
ZGktQU4tYWZ0ZXItZW1wdHktcnVuLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMtbGVvcGFyZC9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLUNTLWFmdGVyLUFOLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9mYXN0L3RleHQvaW50ZXJu
YXRpb25hbC9iaWRpLWxheW91dC1hY3Jvc3MtbGluZWJyZWFrLWV4cGVjdGVkLmNoZWNrc3VtOgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2Jp
ZGktbGF5b3V0LWFjcm9zcy1saW5lYnJlYWstZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRm
b3JtL21hYy1sZW9wYXJkL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktbWlycm9yLWhlLWFy
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9mYXN0L3RleHQv
aW50ZXJuYXRpb25hbC9iaWRpLW5ldXRyYWwtZGlyZWN0aW9uYWxpdHktcGFyYWdyYXBoLXN0YXJ0
LWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zhc3Qv
dGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktbmV1dHJhbC1kaXJlY3Rpb25hbGl0eS1wYXJhZ3JhcGgt
c3RhcnQtZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zhc3Qv
dGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktbmV1dHJhbC1kaXJlY3Rpb25hbGl0eS1wYXJhZ3JhcGgt
c3RhcnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zhc3Qv
dGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktbmV1dHJhbC1ydW4tZXhwZWN0ZWQuY2hlY2tzdW06Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlk
aS1uZXV0cmFsLXJ1bi1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3Bh
cmQvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1uZXV0cmFsLXJ1bi1leHBlY3RlZC50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvZmFzdC90ZXh0L2xpbmUtYnJlYWtzLWV4
cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zhc3QvdGV4
dC9saW5lLWJyZWFrcy1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3Bh
cmQvZmFzdC90ZXh0L3RyYWlsaW5nLXdoaXRlLXNwYWNlLTItZXhwZWN0ZWQuY2hlY2tzdW06Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvZmFzdC90ZXh0L3RyYWlsaW5nLXdoaXRlLXNw
YWNlLTItZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zhc3Qv
dGV4dC90cmFpbGluZy13aGl0ZS1zcGFjZS1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMtbGVvcGFyZC9mYXN0L3RleHQvdHJhaWxpbmctd2hpdGUtc3BhY2UtZXhwZWN0
ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zhc3QvdGV4dC93b3JkLWJy
ZWFrLXJ1bi1yb3VuZGluZy1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMtbGVvcGFyZC9mYXN0L3RleHQvd29yZC1icmVhay1ydW4tcm91bmRpbmctZXhwZWN0ZWQucG5n
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL2Zhc3QvdHJhbnNmb3Jtcy9ib3VuZGlu
Zy1yZWN0LXpvb20tZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxl
b3BhcmQvZmFzdC90cmFuc2Zvcm1zL2JvdW5kaW5nLXJlY3Qtem9vbS1leHBlY3RlZC5wbmc6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvZm9udHMvc2Fucy1zZXJpZi1leHBlY3RlZC5j
aGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9mb250cy9zYW5zLXNlcmlm
LWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9wbGF0Zm9ybS9t
YWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvR2VlemEtUHJvLXZlcnRpY2FsLW1ldHJpY3MtYWRq
dXN0bWVudC1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFy
ZC9wbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvR2VlemEtUHJvLXZlcnRpY2Fs
LW1ldHJpY3MtYWRqdXN0bWVudC1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFj
LWxlb3BhcmQvcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL0dlZXphLVByby12
ZXJ0aWNhbC1tZXRyaWNzLWFkanVzdG1lbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL21hYy1sZW9wYXJkL3N2Zy9XM0MtU1ZHLTEuMS9wc2VydmVycy1ncmFkLTExLWItZXhwZWN0
ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL1czQy1TVkct
MS4xL3BzZXJ2ZXJzLWdyYWQtMTEtYi1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0v
bWFjLWxlb3BhcmQvc3ZnL2Nzcy9jb21wb3NpdGUtc2hhZG93LXRleHQtZXhwZWN0ZWQuY2hlY2tz
dW06CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2Nzcy9jb21wb3NpdGUtc2hh
ZG93LXRleHQtZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2
Zy9jc3MvdGV4dC1zaGFkb3ctbXVsdGlwbGUtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICog
cGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2Nzcy90ZXh0LXNoYWRvdy1tdWx0aXBsZS1leHBlY3Rl
ZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2N1c3RvbS9pbWFnZS1y
ZXNjYWxlLWNsaXAtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxl
b3BhcmQvc3ZnL2N1c3RvbS9pbWFnZS1yZXNjYWxlLWNsaXAtZXhwZWN0ZWQucG5nOgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9jdXN0b20vanVuay1kYXRhLWV4cGVjdGVkLmNo
ZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9jdXN0b20vanVuay1k
YXRhLWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvY3Vz
dG9tL21pc3NpbmcteGxpbmstZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxhdGZvcm0v
bWFjLWxlb3BhcmQvc3ZnL2N1c3RvbS9taXNzaW5nLXhsaW5rLWV4cGVjdGVkLnBuZzoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvdHJhbnNmb3Jtcy90ZXh0LXdpdGgtcGF0dGVy
bi1pbnNpZGUtdHJhbnNmb3JtZWQtaHRtbC1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvdHJhbnNmb3Jtcy90ZXh0LXdpdGgtcGF0dGVybi1pbnNp
ZGUtdHJhbnNmb3JtZWQtaHRtbC1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFj
LWxlb3BhcmQvc3ZnL3RyYW5zZm9ybXMvdGV4dC13aXRoLXBhdHRlcm4td2l0aC1zdmctdHJhbnNm
b3JtLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2
Zy90cmFuc2Zvcm1zL3RleHQtd2l0aC1wYXR0ZXJuLXdpdGgtc3ZnLXRyYW5zZm9ybS1leHBlY3Rl
ZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL3pvb20vcGFnZS96b29t
LWhpeGllLW1peGVkLTAwOC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxl
b3BhcmQvc3ZnL3pvb20vdGV4dC96b29tLWhpeGllLW1peGVkLTAwOC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvdGFibGVzL21vemlsbGEvYnVncy9idWcxMTg4
LWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3RhYmxl
cy9tb3ppbGxhL2J1Z3MvYnVnMTE4OC1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0v
bWFjLWxlb3BhcmQvdGFibGVzL21vemlsbGEvYnVncy9idWcxNDMyMy1leHBlY3RlZC5jaGVja3N1
bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC90YWJsZXMvbW96aWxsYS9idWdzL2J1
ZzE0MzIzLWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC90YWJs
ZXMvbW96aWxsYS9idWdzL2J1ZzY0Ny1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMtbGVvcGFyZC90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzY0Ny1leHBlY3RlZC5wbmc6
CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRf
ZmFpbHVyZXMvYnVncy9idWc4OTMxNS1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMtbGVvcGFyZC90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJlcy9idWdzL2J1
Zzg5MzE1LWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcv
Z2VvbWV0cnkvY2xpcHBpbmctZm9yZWdyb3VuZC1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvY2xpcHBpbmctZm9yZWdyb3VuZC1l
eHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2NvbXBvc2l0aW5nL2dlb21ldHJ5
L2NsaXBwaW5nLWZvcmVncm91bmQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9jc3MxL2ZvbnRfcHJvcGVydGllcy9mb250X3NpemUtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9jc3MyLjEvdDA5MDUtYzU1MjUtZmx0d2lkdGgtMDItYy1nLWV4cGVjdGVk
LnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvY3NzMi4xL3QwOTA1LWM1NTI1LWZsdHdpZHRo
LTAyLWMtZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2NzczIuMS90MTUw
Ny1jNTI2LWZvbnQtc3otMDAtYi1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFj
L2VkaXRpbmcvcGFzdGVib2FyZC9ibG9jay13cmFwcGVycy1uZWNlc3NhcnktZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi8zNjkwNzAzLTItZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL3NlbGVjdGlvbi8zNjkw
NzAzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rp
b24vMzY5MDcxOS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcv
c2VsZWN0aW9uL3NlbGVjdGlvbi0zNzQ4MTY0LWZpeC1leHBlY3RlZC5jaGVja3N1bToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0aW9uLTM3NDgxNjQtZml4
LWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9zZWxlY3Rpb24v
c2VsZWN0aW9uLTM3NDgxNjQtZml4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvZWRpdGluZy9zdHlsZS9yZWxhdGl2ZS1mb250LXNpemUtY2hhbmdlLTAwMS1leHBlY3RlZC5j
aGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9zdHlsZS9yZWxhdGl2ZS1m
b250LXNpemUtY2hhbmdlLTAwMS1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFj
L2VkaXRpbmcvc3R5bGUvcmVsYXRpdmUtZm9udC1zaXplLWNoYW5nZS0wMDEtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL3N0eWxlL3JlbGF0aXZlLWZvbnQtc2l6
ZS1jaGFuZ2UtMDAyLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9l
ZGl0aW5nL3N0eWxlL3JlbGF0aXZlLWZvbnQtc2l6ZS1jaGFuZ2UtMDAyLWV4cGVjdGVkLnBuZzoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9zdHlsZS9yZWxhdGl2ZS1mb250LXNpemUt
Y2hhbmdlLTAwMi1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcv
c3R5bGUvcmVsYXRpdmUtZm9udC1zaXplLWNoYW5nZS0wMDMtZXhwZWN0ZWQuY2hlY2tzdW06Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvc3R5bGUvcmVsYXRpdmUtZm9udC1zaXplLWNo
YW5nZS0wMDMtZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL3N0
eWxlL3JlbGF0aXZlLWZvbnQtc2l6ZS1jaGFuZ2UtMDAzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvZWRpdGluZy91bnN1cHBvcnRlZC1jb250ZW50L2xpc3QtZGVsZXRlLTAw
MS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvdW5zdXBwb3J0
ZWQtY29udGVudC9saXN0LWRlbGV0ZS0wMDMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9lZGl0aW5nL3Vuc3VwcG9ydGVkLWNvbnRlbnQvbGlzdC10eXBlLWFmdGVyLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy91bnN1cHBvcnRlZC1jb250
ZW50L2xpc3QtdHlwZS1iZWZvcmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9lZGl0aW5nL3Vuc3VwcG9ydGVkLWNvbnRlbnQvdGFibGUtZGVsZXRlLTAwMS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvdW5zdXBwb3J0ZWQtY29udGVudC90
YWJsZS1kZWxldGUtMDAyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRp
dGluZy91bnN1cHBvcnRlZC1jb250ZW50L3RhYmxlLWRlbGV0ZS0wMDMtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL3Vuc3VwcG9ydGVkLWNvbnRlbnQvdGFibGUt
dHlwZS1hZnRlci1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcv
dW5zdXBwb3J0ZWQtY29udGVudC90YWJsZS10eXBlLWJlZm9yZS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svbWFyZ2luLWNvbGxhcHNlLzAwMS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svbWFyZ2luLWNvbGxhcHNl
LzAwNS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2svbWFy
Z2luLWNvbGxhcHNlL2Jsb2NrLWluc2lkZS1pbmxpbmUvMDAxLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ibG9jay9tYXJnaW4tY29sbGFwc2UvYmxvY2staW5zaWRl
LWlubGluZS8wMDUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Js
b2NrZmxvdy9lbmdsaXNoLWxyLXRleHQtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxh
dGZvcm0vbWFjL2Zhc3QvYmxvY2tmbG93L2VuZ2xpc2gtbHItdGV4dC1leHBlY3RlZC5wbmc6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYmxvY2tmbG93L2VuZ2xpc2gtbHItdGV4dC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2NvbG9yLWNvcnJlY3Rp
b24tb24tdGV4dC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvY3Nz
L2NzczItc3lzdGVtLWZvbnRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
ZmFzdC9jc3MvaW5wdXQtc2VhcmNoLXBhZGRpbmctZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2lucHV0LXNlYXJjaC1wYWRkaW5nLWV4cGVjdGVkLnBu
ZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9jc3MvaW5wdXQtc2VhcmNoLXBhZGRpbmct
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Nzcy9pbnZhbGlkYXRp
b24tZXJyb3JzLTMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Nz
cy9yZW0tZHluYW1pYy1zY2FsaW5nLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvZmFzdC9jc3Mvc2hhZG93LW11bHRpcGxlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvZmFzdC9kb20vNTI3NzYtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxh
dGZvcm0vbWFjL2Zhc3QvZG9tLzUyNzc2LWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC9kb20vY2xvbmUtbm9kZS1keW5hbWljLXN0eWxlLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9ib3gtc2hhZG93LW92ZXJyaWRlLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9idXR0b24tc2l6ZXMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2lucHV0LWFw
cGVhcmFuY2Utc3BpbmJ1dHRvbi1kaXNhYmxlZC1yZWFkb25seS1leHBlY3RlZC5jaGVja3N1bToK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9pbnB1dC1hcHBlYXJhbmNlLXNwaW5i
dXR0b24tZGlzYWJsZWQtcmVhZG9ubHktZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9mYXN0L2Zvcm1zL2lucHV0LWFwcGVhcmFuY2Utc3BpbmJ1dHRvbi1kaXNhYmxlZC1yZWFk
b25seS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMvaW5w
dXQtYXBwZWFyYW5jZS1zcGluYnV0dG9uLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9mYXN0L2Zvcm1zL2lucHV0LWFwcGVhcmFuY2Utc3BpbmJ1dHRvbi1leHBlY3Rl
ZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMvaW5wdXQtYXBwZWFyYW5j
ZS1zcGluYnV0dG9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9m
b3Jtcy9pbnB1dC1idXR0b24tc2l6ZXMtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxh
dGZvcm0vbWFjL2Zhc3QvZm9ybXMvaW5wdXQtYnV0dG9uLXNpemVzLWV4cGVjdGVkLnBuZzoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9pbnB1dC1idXR0b24tc2l6ZXMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2lucHV0LWZpZWxkLXRl
eHQtdHJ1bmNhdGVkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9m
b3Jtcy9pbnB1dC1saXN0LWJ1dHRvbi1zaXplLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2lucHV0LWxpc3QtYnV0dG9uLXNpemUtZXhwZWN0ZWQu
cG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2lucHV0LWxpc3QtYnV0dG9u
LXNpemUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL3Nl
YXJjaC16b29tZWQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Zv
cm1zL3NlYXJjaGZpZWxkLWhlaWdodHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9mYXN0L2Zvcm1zL3RleHRmaWVsZC1vdXRsaW5lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvZmFzdC9pbmxpbmUvdmVydGljYWwtYWxpZ24tdGV4dC1ib3R0b20tZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2ludmFsaWQvbmVzdGVkaDNz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9tdWx0aWNvbC9zcGFu
L2Fub255bW91cy1zdHlsZS1pbmhlcml0YW5jZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL2Zhc3QvcmVwYWludC9saW5lLWZsb3ctd2l0aC1mbG9hdHMtMi1leHBlY3RlZC5j
aGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L2xpbmUtZmxvdy13
aXRoLWZsb2F0cy0yLWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9y
ZXBhaW50L2xpbmUtZmxvdy13aXRoLWZsb2F0cy0yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L3NoYWRvdy1tdWx0aXBsZS1ob3Jpem9udGFsLWV4cGVj
dGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvc2hhZG93
LW11bHRpcGxlLWhvcml6b250YWwtZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9mYXN0L3JlcGFpbnQvc2hhZG93LW11bHRpcGxlLWhvcml6b250YWwtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvc2hhZG93LW11bHRpcGxlLXN0cmlj
dC1ob3Jpem9udGFsLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9m
YXN0L3JlcGFpbnQvc2hhZG93LW11bHRpcGxlLXN0cmljdC1ob3Jpem9udGFsLWV4cGVjdGVkLnBu
ZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L3NoYWRvdy1tdWx0aXBsZS1z
dHJpY3QtaG9yaXpvbnRhbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zh
c3QvcmVwYWludC9zaGFkb3ctbXVsdGlwbGUtc3RyaWN0LXZlcnRpY2FsLWV4cGVjdGVkLmNoZWNr
c3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvc2hhZG93LW11bHRpcGxl
LXN0cmljdC12ZXJ0aWNhbC1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zh
c3QvcmVwYWludC9zaGFkb3ctbXVsdGlwbGUtc3RyaWN0LXZlcnRpY2FsLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9yZXBhaW50L3NoYWRvdy1tdWx0aXBsZS12ZXJ0
aWNhbC1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9yZXBh
aW50L3NoYWRvdy1tdWx0aXBsZS12ZXJ0aWNhbC1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL2Zhc3QvcmVwYWludC9zaGFkb3ctbXVsdGlwbGUtdmVydGljYWwtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvdGV4dC1zaGFkb3ctZXhw
ZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC90ZXh0
LXNoYWRvdy1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWlu
dC90ZXh0LXNoYWRvdy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qv
cmVwYWludC90ZXh0LXNoYWRvdy1ob3Jpem9udGFsLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9mYXN0L3JlcGFpbnQvdGV4dC1zaGFkb3ctaG9yaXpvbnRhbC1leHBl
Y3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvcmVwYWludC90ZXh0LXNoYWRv
dy1ob3Jpem9udGFsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9y
dWJ5L25lc3RlZC1ydWJ5LWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9mYXN0L3J1YnkvbmVzdGVkLXJ1YnktZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3Jt
L21hYy9mYXN0L3J1YnkvbmVzdGVkLXJ1YnktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9mYXN0L3J1YnkvcnVieS1iZWZvcmVhZnRlci1leHBlY3RlZC5jaGVja3N1bToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ydWJ5L3J1YnktYmVmb3JlYWZ0ZXItZXhwZWN0ZWQu
cG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3J1YnkvcnVieS1iZWZvcmVhZnRlci1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvcnVieS9ydWJ5LWVtcHR5
LXJ0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ydWJ5L3J1Ynkt
aW5saW5lLXRhYmxlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9y
dWJ5L3J1YnktbGVuZ3RoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFz
dC9ydWJ5L3J1YnktcnVuLWJyZWFrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMvZmFzdC9ydWJ5L3J1YnktcnVucy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL2Zhc3QvcnVieS9ydWJ5LXJ1bnMtc3BhbnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9mYXN0L3J1YnkvcnVieS1zaW1wbGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9mYXN0L3J1YnkvcnVieS1zaW1wbGUtcnAtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3J1YnkvcnVieS10cmFpbGluZy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvcnVieS9ydWJ5RE9NLWluc2VydC1ydC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvcnVieS9ydWJ5RE9NLWluc2Vy
dC10ZXh0MS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvcnVieS9y
dWJ5RE9NLWluc2VydC10ZXh0Mi1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFj
L2Zhc3QvcnVieS9ydWJ5RE9NLWluc2VydC10ZXh0My1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL2Zhc3QvcnVieS9ydWJ5RE9NLXJlbW92ZS1ydDEtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3J1YnkvcnVieURPTS1yZW1vdmUtcnQyLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ydWJ5L3J1YnlET00tcmVtb3Zl
LXRleHQxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ydWJ5L3J1
YnlET00tcmVtb3ZlLXRleHQyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
ZmFzdC90ZXh0L2F0c3VpLW11bHRpcGxlLXJlbmRlcmVycy1leHBlY3RlZC5jaGVja3N1bToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2F0c3VpLW11bHRpcGxlLXJlbmRlcmVycy1l
eHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9hdHN1aS1tdWx0
aXBsZS1yZW5kZXJlcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0
L3RleHQvYmFzaWMvMDE1LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFz
dC90ZXh0L2ZhbWlseS1mb3ItZm9udC1tYXRjaGVkLWJ5LW5hbWUtZXhwZWN0ZWQuY2hlY2tzdW06
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9mYW1pbHktZm9yLWZvbnQtbWF0Y2hl
ZC1ieS1uYW1lLWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90ZXh0
L2ZhbWlseS1mb3ItZm9udC1tYXRjaGVkLWJ5LW5hbWUtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9mYXN0L3RleHQvZmlyc3RsaW5lLzAwMS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9mb3JtYXQtY29udHJvbC1leHBlY3RlZC50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9oeXBoZW5hdGUtY2hhcmFjdGVyLWV4
cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3RleHQvaHlwaGVu
YXRlLWNoYXJhY3Rlci1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qv
dGV4dC9oeXBoZW5hdGUtY2hhcmFjdGVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC90ZXh0L2h5cGhlbnMtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxh
dGZvcm0vbWFjL2Zhc3QvdGV4dC9oeXBoZW5zLWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvZmFzdC90ZXh0L2h5cGhlbnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLWV4cGxpY2l0LWVtYmVkZGluZy1l
eHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVy
bmF0aW9uYWwvYmlkaS1leHBsaWNpdC1lbWJlZGRpbmctZXhwZWN0ZWQucG5nOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9mYXN0L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLWV4cGxpY2l0LWVtYmVk
ZGluZy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRl
cm5hdGlvbmFsL2JpZGktZmFsbGJhY2stZm9udC13ZWlnaHQtZXhwZWN0ZWQuY2hlY2tzdW06Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL2JpZGktZmFsbGJh
Y2stZm9udC13ZWlnaHQtZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0
L3RleHQvaW50ZXJuYXRpb25hbC9iaWRpLWZhbGxiYWNrLWZvbnQtd2VpZ2h0LWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvYmlkaS1s
YXlvdXQtYWNyb3NzLWxpbmVicmVhay1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL2Zhc3QvdGV4dC9saW5lLWJyZWFrcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL2Zhc3QvdGV4dC9zaGFkb3ctbm8tYmx1ci1leHBlY3RlZC5jaGVja3N1bToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3NoYWRvdy1uby1ibHVyLWV4cGVjdGVkLnBuZzoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3NoYWRvdy1uby1ibHVyLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3RyYWlsaW5nLXdoaXRlLXNw
YWNlLTItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L3RleHQvdHJh
aWxpbmctd2hpdGUtc3BhY2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9m
YXN0L3RleHQvd29yZC1icmVhay1ydW4tcm91bmRpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9mYXN0L3RyYW5zZm9ybXMvYm91bmRpbmctcmVjdC16b29tLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZm9udHMvc2Fucy1zZXJpZi1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9hbmltYXRlLWVsZW0t
MDItdC1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEu
MS9hbmltYXRlLWVsZW0tMDItdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFj
L3N2Zy9XM0MtU1ZHLTEuMS9hbmltYXRlLWVsZW0tMTQtdC1leHBlY3RlZC5wbmc6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9hbmltYXRlLWVsZW0tMTQtdC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9hbmltYXRlLWVs
ZW0tMTUtdC1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZH
LTEuMS9hbmltYXRlLWVsZW0tMTUtdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL3N2Zy9XM0MtU1ZHLTEuMS9hbmltYXRlLWVsZW0tMTYtdC1leHBlY3RlZC5wbmc6CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9hbmltYXRlLWVsZW0tMTYtdC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9hbmltYXRl
LWVsZW0tMTctdC1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0Mt
U1ZHLTEuMS9hbmltYXRlLWVsZW0tMTctdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9hbmltYXRlLWVsZW0tMTgtdC1leHBlY3RlZC5wbmc6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9hbmltYXRlLWVsZW0tMTgtdC1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9hbmlt
YXRlLWVsZW0tMTktdC1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9X
M0MtU1ZHLTEuMS9hbmltYXRlLWVsZW0tMTktdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9pbnRlcmFjdC1ldmVudHMtMDEtYi1leHBlY3RlZC5w
bmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9pbnRlcmFjdC1ldmVu
dHMtMDEtYi1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZH
LTEuMS9pbnRlcmFjdC1vcmRlci0wMS1iLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvc3ZnL1czQy1TVkctMS4xL2ludGVyYWN0LW9yZGVyLTAyLWItZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvaW50ZXJhY3Qtb3JkZXItMDMt
Yi1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9p
bnRlcmFjdC1vcmRlci0wMy1iLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
c3ZnL1czQy1TVkctMS4xL3BhaW50aW5nLXN0cm9rZS0wMS10LWV4cGVjdGVkLnBuZzoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3BhaW50aW5nLXN0cm9rZS0wMS10LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3BhaW50
aW5nLXN0cm9rZS0wMi10LWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3Zn
L1czQy1TVkctMS4xL3BhaW50aW5nLXN0cm9rZS0wMi10LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3BhaW50aW5nLXN0cm9rZS0wMy10LWV4cGVj
dGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3BhaW50aW5n
LXN0cm9rZS0wMy10LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL1cz
Qy1TVkctMS4xL3BzZXJ2ZXJzLWdyYWQtMTEtYi1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9wc2VydmVycy1wYXR0ZXJuLTAxLWItZXhwZWN0ZWQu
cG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtcGF0
dGVybi0wMS1iLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL1czQy1T
VkctMS4xL3RleHQtYWxpZ24tMDMtYi1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL3N2Zy9XM0MtU1ZHLTEuMS90ZXh0LWFsaWduLTAzLWItZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvdGV4dC1hbGlnbi0wNC1iLWV4cGVjdGVk
LnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3RleHQtYWxpZ24t
MDQtYi1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEu
MS90ZXh0LWFsaWduLTA1LWItZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9z
dmcvVzNDLVNWRy0xLjEvdGV4dC1hbGlnbi0wNS1iLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3RleHQtYWxpZ24tMDYtYi1leHBlY3RlZC5wbmc6
CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS90ZXh0LWFsaWduLTA2LWIt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvdGV4
dC1hbHRnbHlwaC0wMS1iLWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3Zn
L1czQy1TVkctMS4xL3RleHQtYWx0Z2x5cGgtMDEtYi1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS90ZXh0LXdzLTAxLXQtZXhwZWN0ZWQucG5nOgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvdGV4dC13cy0wMS10LWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3RleHQtd3Mt
MDItdC1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEu
MS90ZXh0LXdzLTAyLXQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcv
YmF0aWsvdGV4dC90ZXh0RWZmZWN0My1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL3N2Zy9jc3MvdGV4dC1zaGFkb3ctbXVsdGlwbGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2ltYWdlLXJlc2NhbGUtc2Nyb2xsLWV4cGVjdGVkLmNo
ZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2ltYWdlLXJlc2NhbGUt
c2Nyb2xsLWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2hpeGllL21p
eGVkLzAwOC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9oaXhpZS9t
aXhlZC8wMDktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvdGV4dC9m
b3JlaWduT2JqZWN0LXRleHQtY2xpcHBpbmctYnVnLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvc3ZnL3RleHQvdGV4dC1hbGlnbi0wMy1iLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL3RleHQvdGV4dC1hbGlnbi0wNC1iLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL3RleHQvdGV4dC1hbGlnbi0wNS1iLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL3RleHQvdGV4dC1hbGlnbi0wNi1iLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL3RleHQvdGV4dC1hbHRnbHlw
aC0wMS1iLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL3RleHQvdGV4
dC13cy0wMS10LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL3RleHQv
dGV4dC13cy0wMi10LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL3Ry
YW5zZm9ybXMvdGV4dC13aXRoLXBhdHRlcm4taW5zaWRlLXRyYW5zZm9ybWVkLWh0bWwtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvdHJhbnNmb3Jtcy90ZXh0LXdpdGgt
cGF0dGVybi13aXRoLXN2Zy10cmFuc2Zvcm0tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9zdmcvem9vbS9wYWdlL3pvb20taGl4aWUtbWl4ZWQtMDA5LWV4cGVjdGVkLnBuZzoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL3pvb20vcGFnZS96b29tLWhpeGllLW1peGVkLTAw
OS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy96b29tL3RleHQvem9v
bS1oaXhpZS1taXhlZC0wMDktZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9z
dmcvem9vbS90ZXh0L3pvb20taGl4aWUtbWl4ZWQtMDA5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWcxMTg4LWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWcxNDMyMy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVn
NjQ3LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEv
b3RoZXIvc2xhc2hsb2dvLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy90YWJsZXMvbW96aWxsYS9vdGhlci9zbGFzaGxvZ28tZXhwZWN0ZWQucG5nOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9vdGhlci9zbGFzaGxvZ28tZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYV9leHBlY3RlZF9mYWlsdXJl
cy9idWdzL2J1Zzg5MzE1LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFi
bGVzL21vemlsbGFfZXhwZWN0ZWRfZmFpbHVyZXMvY29sbGFwc2luZ19ib3JkZXJzL2J1ZzQxMjYy
LTEtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICogcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3pp
bGxhX2V4cGVjdGVkX2ZhaWx1cmVzL2NvbGxhcHNpbmdfYm9yZGVycy9idWc0MTI2Mi0xLWV4cGVj
dGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGFfZXhwZWN0ZWRf
ZmFpbHVyZXMvY29sbGFwc2luZ19ib3JkZXJzL2J1ZzQxMjYyLTEtZXhwZWN0ZWQudHh0OgorCiAy
MDExLTAxLTI0ICBNYWNpZWogU3RhY2hvd2lhayAgPG1qc0BhcHBsZS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgTmlrb2xhcyBaaW1tZXJtYW5uLgo=
</data>
<flag name="review"
          id="71505"
          type_id="1"
          status="+"
          setter="krit"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80043</attachid>
            <date>2011-01-25 03:35:53 -0800</date>
            <delta_ts>2011-01-25 03:48:56 -0800</delta_ts>
            <desc>Fixup patch v2 (new approach, only SVGFonts changes)</desc>
            <filename>TryFixFontMetrics2.diff</filename>
            <type>text/plain</type>
            <size>5063</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc2NTgxKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzggQEAKKzIwMTEtMDEtMjUgIE5pa29sYXMg
WmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNlIEZvbnRNZXRyaWNzIGFic3RyYWN0
aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTQ1
NgorCisgICAgICAgIFJlcG9ydCBhY2N1cmF0ZSBmbG9hdGluZy1wb2ludCBsaW5lU3BhY2luZyBy
ZXN1bHRzIChsaW5lR2FwICsgYXNjZW50ICsgZGVzY2VudCkuCisgICAgICAgIFVzZSBmbG9hdGlu
Zy1wb2ludCBtZXRyaWNzIHRvIGNhbGN1bGF0ZSB0aGUgYXNjZW50L2Rlc2NlbnQvbGluZUdhcCBv
ZiBhIFNWRyBGb250LgorCisgICAgICAgIFRoaXMgaG9wZWZ1bGx5IGZpeGVzIGRpZmZlcmVuY2Vz
IGJldHdlZW4gMzIvNjQgYml0IGJvdHMuCisgICAgICAgIE5lZWRzIHJlYmFzZWxpbmVzIG9uIGFs
bCBwbGF0Zm9ybXMuIE9ubHkgbWFjLWxlb3BhcmQgbGFuZHMgd2l0aCB0aGlzIHBhdGNoLgorCisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnREYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OlNpbXBsZUZvbnREYXRhOjppbml0Q2hhcldpZHRocyk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vU2ltcGxlRm9udERhdGFMaW51eC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9mcmVldHlwZS9TaW1wbGVGb250RGF0YUZyZWVUeXBlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2hhaWt1L1NpbXBsZUZvbnREYXRhSGFpa3UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2ltcGxlRm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxl
Rm9udERhdGE6OnBsYXRmb3JtSW5pdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcGFu
Z28vU2ltcGxlRm9udERhdGFQYW5nby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250
RGF0YTo6cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vU2lt
cGxlRm9udERhdGFDR1dpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6
cGxhdGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9u
dERhdGFDYWlyb1dpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVGb250RGF0YTo6cGxh
dGZvcm1Jbml0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxlRm9udERh
dGFXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OmluaXRHRElGb250
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9TaW1wbGVGb250RGF0YVdpbkNF
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUluaXQpOgor
CiAyMDExLTAxLTI0ICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuY3BwCShyZXZpc2lv
biA3NjQ1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnRE
YXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzksMzEgKzc5LDMwIEBAIFNpbXBsZUZvbnREYXRh
OjpTaW1wbGVGb250RGF0YShQYXNzT3duUHQKICAgICBpZiAodW5pdHNQZXJFbSkKICAgICAgICAg
c2NhbGUgLz0gdW5pdHNQZXJFbTsKIAotICAgIC8vIEZJWE1FOiBVc2UgZmxvYXRpbmctcG9pbnQg
bWV0cmljcywgbm93IHRoYXQgdGhleSdyZSBleHBvc2VkIQotICAgIGludCB4SGVpZ2h0ID0gc3Rh
dGljX2Nhc3Q8aW50PihzdmdGb250RmFjZUVsZW1lbnQtPnhIZWlnaHQoKSAqIHNjYWxlKTsKLSAg
ICBpbnQgYXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50PihzdmdGb250RmFjZUVsZW1lbnQtPmFzY2Vu
dCgpICogc2NhbGUpOwotICAgIGludCBkZXNjZW50ID0gc3RhdGljX2Nhc3Q8aW50PihzdmdGb250
RmFjZUVsZW1lbnQtPmRlc2NlbnQoKSAqIHNjYWxlKTsKLSAgICBpbnQgbGluZUdhcCA9IHN0YXRp
Y19jYXN0PGludD4oMC4xZiAqIHNpemUpOworICAgIGZsb2F0IHhIZWlnaHQgPSBzdmdGb250RmFj
ZUVsZW1lbnQtPnhIZWlnaHQoKSAqIHNjYWxlOworICAgIGZsb2F0IGFzY2VudCA9IHN2Z0ZvbnRG
YWNlRWxlbWVudC0+YXNjZW50KCkgKiBzY2FsZTsKKyAgICBmbG9hdCBkZXNjZW50ID0gc3ZnRm9u
dEZhY2VFbGVtZW50LT5kZXNjZW50KCkgKiBzY2FsZTsKKyAgICBmbG9hdCBsaW5lR2FwID0gMC4x
ZiAqIHNpemU7CiAgICAgbV9mb250TWV0cmljcy5zZXRVbml0c1BlckVtKHVuaXRzUGVyRW0pOwog
ICAgIG1fZm9udE1ldHJpY3Muc2V0QXNjZW50KGFzY2VudCk7CiAgICAgbV9mb250TWV0cmljcy5z
ZXREZXNjZW50KGRlc2NlbnQpOwogICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZUdhcChsaW5lR2Fw
KTsKLSAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKGFzY2VudCArIGRlc2NlbnQgKyBs
aW5lR2FwKTsKKyAgICBtX2ZvbnRNZXRyaWNzLnNldExpbmVTcGFjaW5nKHJvdW5kZihhc2NlbnQp
ICsgcm91bmRmKGRlc2NlbnQpICsgcm91bmRmKGxpbmVHYXApKTsKICAgICBtX2ZvbnRNZXRyaWNz
LnNldFhIZWlnaHQoeEhlaWdodCk7CiAKICAgICBTVkdGb250RWxlbWVudCogYXNzb2NpYXRlZEZv
bnRFbGVtZW50ID0gc3ZnRm9udEZhY2VFbGVtZW50LT5hc3NvY2lhdGVkRm9udEVsZW1lbnQoKTsK
IAogICAgIFZlY3RvcjxTVkdHbHlwaElkZW50aWZpZXI+IHNwYWNlR2x5cGhzOwogICAgIGFzc29j
aWF0ZWRGb250RWxlbWVudC0+Z2V0R2x5cGhJZGVudGlmaWVyc0ZvclN0cmluZyhTdHJpbmcoIiAi
LCAxKSwgc3BhY2VHbHlwaHMpOwotICAgIG1fc3BhY2VXaWR0aCA9IHNwYWNlR2x5cGhzLmlzRW1w
dHkoKSA/IHhIZWlnaHQgOiBzdGF0aWNfY2FzdDxmbG9hdD4oc3BhY2VHbHlwaHMuZmlyc3QoKS5o
b3Jpem9udGFsQWR2YW5jZVggKiBzY2FsZSk7CisgICAgbV9zcGFjZVdpZHRoID0gc3BhY2VHbHlw
aHMuaXNFbXB0eSgpID8geEhlaWdodCA6IHNwYWNlR2x5cGhzLmZpcnN0KCkuaG9yaXpvbnRhbEFk
dmFuY2VYICogc2NhbGU7CiAKICAgICBWZWN0b3I8U1ZHR2x5cGhJZGVudGlmaWVyPiBudW1lcmFs
WmVyb0dseXBoczsKICAgICBhc3NvY2lhdGVkRm9udEVsZW1lbnQtPmdldEdseXBoSWRlbnRpZmll
cnNGb3JTdHJpbmcoU3RyaW5nKCIwIiwgMSksIG51bWVyYWxaZXJvR2x5cGhzKTsKLSAgICBtX2F2
Z0NoYXJXaWR0aCA9IG51bWVyYWxaZXJvR2x5cGhzLmlzRW1wdHkoKSA/IG1fc3BhY2VXaWR0aCA6
IHN0YXRpY19jYXN0PGZsb2F0PihudW1lcmFsWmVyb0dseXBocy5maXJzdCgpLmhvcml6b250YWxB
ZHZhbmNlWCAqIHNjYWxlKTsKKyAgICBtX2F2Z0NoYXJXaWR0aCA9IG51bWVyYWxaZXJvR2x5cGhz
LmlzRW1wdHkoKSA/IG1fc3BhY2VXaWR0aCA6IG51bWVyYWxaZXJvR2x5cGhzLmZpcnN0KCkuaG9y
aXpvbnRhbEFkdmFuY2VYICogc2NhbGU7CiAKICAgICBWZWN0b3I8U1ZHR2x5cGhJZGVudGlmaWVy
PiBsZXR0ZXJXR2x5cGhzOwogICAgIGFzc29jaWF0ZWRGb250RWxlbWVudC0+Z2V0R2x5cGhJZGVu
dGlmaWVyc0ZvclN0cmluZyhTdHJpbmcoIlciLCAxKSwgbGV0dGVyV0dseXBocyk7Ci0gICAgbV9t
YXhDaGFyV2lkdGggPSBsZXR0ZXJXR2x5cGhzLmlzRW1wdHkoKSA/IGFzY2VudCA6IHN0YXRpY19j
YXN0PGZsb2F0PihsZXR0ZXJXR2x5cGhzLmZpcnN0KCkuaG9yaXpvbnRhbEFkdmFuY2VYICogc2Nh
bGUpOworICAgIG1fbWF4Q2hhcldpZHRoID0gbGV0dGVyV0dseXBocy5pc0VtcHR5KCkgPyBhc2Nl
bnQgOiBsZXR0ZXJXR2x5cGhzLmZpcnN0KCkuaG9yaXpvbnRhbEFkdmFuY2VYICogc2NhbGU7CiAK
ICAgICAvLyBGSVhNRTogaXMgdGhlcmUgYSB3YXkgd2UgY2FuIGdldCB0aGUgc3BhY2UgZ2x5cGgg
ZnJvbSB0aGUgU1ZHR2x5cGhJZGVudGlmaWVyIGFib3ZlPwogICAgIG1fc3BhY2VHbHlwaCA9IDA7
CkBAIC0xMzMsOSArMTMyLDggQEAgdm9pZCBTaW1wbGVGb250RGF0YTo6aW5pdENoYXJXaWR0aHMo
KQogICAgIGlmIChtX2F2Z0NoYXJXaWR0aCA8PSAwLmYpCiAgICAgICAgIG1fYXZnQ2hhcldpZHRo
ID0gbV9mb250TWV0cmljcy54SGVpZ2h0KCk7CiAKLSAgICAvLyBGSVhNRTogVXNlIGZsb2F0aW5n
LXBvaW50IG1ldHJpY3MsIG5vdyB0aGF0IHRoZXkncmUgZXhwb3NlZCEKICAgICBpZiAobV9tYXhD
aGFyV2lkdGggPD0gMC5mKQotICAgICAgICBtX21heENoYXJXaWR0aCA9IG1heDxmbG9hdD4obV9h
dmdDaGFyV2lkdGgsIG1fZm9udE1ldHJpY3MuYXNjZW50KCkpOworICAgICAgICBtX21heENoYXJX
aWR0aCA9IG1heChtX2F2Z0NoYXJXaWR0aCwgbV9mb250TWV0cmljcy5mbG9hdEFzY2VudCgpKTsK
IH0KIAogdm9pZCBTaW1wbGVGb250RGF0YTo6cGxhdGZvcm1HbHlwaEluaXQoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80044</attachid>
            <date>2011-01-25 03:48:56 -0800</date>
            <delta_ts>2011-01-25 04:17:39 -0800</delta_ts>
            <desc>Fixup patch v3</desc>
            <filename>TryFixFontMetrics2.diff</filename>
            <type>text/plain</type>
            <size>794276</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc2NTgxKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDEtMjUgIE5pa29sYXMg
WmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNlIEZvbnRNZXRyaWNzIGFic3RyYWN0
aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTQ1
NgorCisgICAgICAgIFVzZSBhY2N1cmF0ZSBmbG9hdGluZy1wb2ludCBtZXRyaWNzIGZvciBTVkcg
Rm9udCBjYWxjdWxhdGlvbnMgaW5zdGVhZCBvZiBjYXN0aW5nIGZsb2F0IC0+IGludGVnZXIuCisg
ICAgICAgIFRoaXMgaG9wZWZ1bGx5IGZpeGVzIGRpZmZlcmVuY2VzIGJldHdlZW4gMzIvNjQgYml0
IGJvdHMuCisKKyAgICAgICAgTmVlZHMgbmV3IGxheW91dCB0ZXN0IHJlc3VsdHMgZm9yIHNldmVy
YWwgcGxhdGZvcm1zLCB3aGljaCBuZWVkIHRvIGJlIHRha2VuIGZyb20gdGhlIGJvdHMgbGFuZGlu
ZyBhZnRlcndhcmRzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERh
dGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnREYXRh
KToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUZvbnREYXRhOjppbml0Q2hhcldpZHRocyk6CisK
IDIwMTEtMDEtMjQgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NpbXBsZUZvbnREYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5jcHAJKHJldmlzaW9u
IDc2NDUwKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERh
dGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OSwzMSArNzksMzAgQEAgU2ltcGxlRm9udERhdGE6
OlNpbXBsZUZvbnREYXRhKFBhc3NPd25QdAogICAgIGlmICh1bml0c1BlckVtKQogICAgICAgICBz
Y2FsZSAvPSB1bml0c1BlckVtOwogCi0gICAgLy8gRklYTUU6IFVzZSBmbG9hdGluZy1wb2ludCBt
ZXRyaWNzLCBub3cgdGhhdCB0aGV5J3JlIGV4cG9zZWQhCi0gICAgaW50IHhIZWlnaHQgPSBzdGF0
aWNfY2FzdDxpbnQ+KHN2Z0ZvbnRGYWNlRWxlbWVudC0+eEhlaWdodCgpICogc2NhbGUpOwotICAg
IGludCBhc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KHN2Z0ZvbnRGYWNlRWxlbWVudC0+YXNjZW50
KCkgKiBzY2FsZSk7Ci0gICAgaW50IGRlc2NlbnQgPSBzdGF0aWNfY2FzdDxpbnQ+KHN2Z0ZvbnRG
YWNlRWxlbWVudC0+ZGVzY2VudCgpICogc2NhbGUpOwotICAgIGludCBsaW5lR2FwID0gc3RhdGlj
X2Nhc3Q8aW50PigwLjFmICogc2l6ZSk7CisgICAgZmxvYXQgeEhlaWdodCA9IHN2Z0ZvbnRGYWNl
RWxlbWVudC0+eEhlaWdodCgpICogc2NhbGU7CisgICAgZmxvYXQgYXNjZW50ID0gc3ZnRm9udEZh
Y2VFbGVtZW50LT5hc2NlbnQoKSAqIHNjYWxlOworICAgIGZsb2F0IGRlc2NlbnQgPSBzdmdGb250
RmFjZUVsZW1lbnQtPmRlc2NlbnQoKSAqIHNjYWxlOworICAgIGZsb2F0IGxpbmVHYXAgPSAwLjFm
ICogc2l6ZTsKICAgICBtX2ZvbnRNZXRyaWNzLnNldFVuaXRzUGVyRW0odW5pdHNQZXJFbSk7CiAg
ICAgbV9mb250TWV0cmljcy5zZXRBc2NlbnQoYXNjZW50KTsKICAgICBtX2ZvbnRNZXRyaWNzLnNl
dERlc2NlbnQoZGVzY2VudCk7CiAgICAgbV9mb250TWV0cmljcy5zZXRMaW5lR2FwKGxpbmVHYXAp
OwotICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcoYXNjZW50ICsgZGVzY2VudCArIGxp
bmVHYXApOworICAgIG1fZm9udE1ldHJpY3Muc2V0TGluZVNwYWNpbmcocm91bmRmKGFzY2VudCkg
KyByb3VuZGYoZGVzY2VudCkgKyByb3VuZGYobGluZUdhcCkpOwogICAgIG1fZm9udE1ldHJpY3Mu
c2V0WEhlaWdodCh4SGVpZ2h0KTsKIAogICAgIFNWR0ZvbnRFbGVtZW50KiBhc3NvY2lhdGVkRm9u
dEVsZW1lbnQgPSBzdmdGb250RmFjZUVsZW1lbnQtPmFzc29jaWF0ZWRGb250RWxlbWVudCgpOwog
CiAgICAgVmVjdG9yPFNWR0dseXBoSWRlbnRpZmllcj4gc3BhY2VHbHlwaHM7CiAgICAgYXNzb2Np
YXRlZEZvbnRFbGVtZW50LT5nZXRHbHlwaElkZW50aWZpZXJzRm9yU3RyaW5nKFN0cmluZygiICIs
IDEpLCBzcGFjZUdseXBocyk7Ci0gICAgbV9zcGFjZVdpZHRoID0gc3BhY2VHbHlwaHMuaXNFbXB0
eSgpID8geEhlaWdodCA6IHN0YXRpY19jYXN0PGZsb2F0PihzcGFjZUdseXBocy5maXJzdCgpLmhv
cml6b250YWxBZHZhbmNlWCAqIHNjYWxlKTsKKyAgICBtX3NwYWNlV2lkdGggPSBzcGFjZUdseXBo
cy5pc0VtcHR5KCkgPyB4SGVpZ2h0IDogc3BhY2VHbHlwaHMuZmlyc3QoKS5ob3Jpem9udGFsQWR2
YW5jZVggKiBzY2FsZTsKIAogICAgIFZlY3RvcjxTVkdHbHlwaElkZW50aWZpZXI+IG51bWVyYWxa
ZXJvR2x5cGhzOwogICAgIGFzc29jaWF0ZWRGb250RWxlbWVudC0+Z2V0R2x5cGhJZGVudGlmaWVy
c0ZvclN0cmluZyhTdHJpbmcoIjAiLCAxKSwgbnVtZXJhbFplcm9HbHlwaHMpOwotICAgIG1fYXZn
Q2hhcldpZHRoID0gbnVtZXJhbFplcm9HbHlwaHMuaXNFbXB0eSgpID8gbV9zcGFjZVdpZHRoIDog
c3RhdGljX2Nhc3Q8ZmxvYXQ+KG51bWVyYWxaZXJvR2x5cGhzLmZpcnN0KCkuaG9yaXpvbnRhbEFk
dmFuY2VYICogc2NhbGUpOworICAgIG1fYXZnQ2hhcldpZHRoID0gbnVtZXJhbFplcm9HbHlwaHMu
aXNFbXB0eSgpID8gbV9zcGFjZVdpZHRoIDogbnVtZXJhbFplcm9HbHlwaHMuZmlyc3QoKS5ob3Jp
em9udGFsQWR2YW5jZVggKiBzY2FsZTsKIAogICAgIFZlY3RvcjxTVkdHbHlwaElkZW50aWZpZXI+
IGxldHRlcldHbHlwaHM7CiAgICAgYXNzb2NpYXRlZEZvbnRFbGVtZW50LT5nZXRHbHlwaElkZW50
aWZpZXJzRm9yU3RyaW5nKFN0cmluZygiVyIsIDEpLCBsZXR0ZXJXR2x5cGhzKTsKLSAgICBtX21h
eENoYXJXaWR0aCA9IGxldHRlcldHbHlwaHMuaXNFbXB0eSgpID8gYXNjZW50IDogc3RhdGljX2Nh
c3Q8ZmxvYXQ+KGxldHRlcldHbHlwaHMuZmlyc3QoKS5ob3Jpem9udGFsQWR2YW5jZVggKiBzY2Fs
ZSk7CisgICAgbV9tYXhDaGFyV2lkdGggPSBsZXR0ZXJXR2x5cGhzLmlzRW1wdHkoKSA/IGFzY2Vu
dCA6IGxldHRlcldHbHlwaHMuZmlyc3QoKS5ob3Jpem9udGFsQWR2YW5jZVggKiBzY2FsZTsKIAog
ICAgIC8vIEZJWE1FOiBpcyB0aGVyZSBhIHdheSB3ZSBjYW4gZ2V0IHRoZSBzcGFjZSBnbHlwaCBm
cm9tIHRoZSBTVkdHbHlwaElkZW50aWZpZXIgYWJvdmU/CiAgICAgbV9zcGFjZUdseXBoID0gMDsK
QEAgLTEzMyw5ICsxMzIsOCBAQCB2b2lkIFNpbXBsZUZvbnREYXRhOjppbml0Q2hhcldpZHRocygp
CiAgICAgaWYgKG1fYXZnQ2hhcldpZHRoIDw9IDAuZikKICAgICAgICAgbV9hdmdDaGFyV2lkdGgg
PSBtX2ZvbnRNZXRyaWNzLnhIZWlnaHQoKTsKIAotICAgIC8vIEZJWE1FOiBVc2UgZmxvYXRpbmct
cG9pbnQgbWV0cmljcywgbm93IHRoYXQgdGhleSdyZSBleHBvc2VkIQogICAgIGlmIChtX21heENo
YXJXaWR0aCA8PSAwLmYpCi0gICAgICAgIG1fbWF4Q2hhcldpZHRoID0gbWF4PGZsb2F0PihtX2F2
Z0NoYXJXaWR0aCwgbV9mb250TWV0cmljcy5hc2NlbnQoKSk7CisgICAgICAgIG1fbWF4Q2hhcldp
ZHRoID0gbWF4KG1fYXZnQ2hhcldpZHRoLCBtX2ZvbnRNZXRyaWNzLmZsb2F0QXNjZW50KCkpOwog
fQogCiB2b2lkIFNpbXBsZUZvbnREYXRhOjpwbGF0Zm9ybUdseXBoSW5pdCgpCkluZGV4OiBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiA3NjU4NCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDUyIEBACisyMDExLTAxLTI1ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVy
bWFubkByaW0uY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEludHJvZHVjZSBGb250TWV0cmljcyBhYnN0cmFjdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE0NTYKKworICAgICAgICBVcGRhdGUg
bWFjL21hYy1sZW9wYXJkIHBpeGVsIGJhc2VsaW5lIGFmdGVyIHJlbW92aW5nIHRoZSBmbG9hdCAt
PiBpbnQgdHJ1bmNhdGlvbiBpbiB0aGUgU1ZHIEZvbnRzIGFzY2VudC9kZXNjZW50IGNhbGN1bGF0
aW9uIGNvZGUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDogVW5za2lwIHNldmVy
YWwgdGVzdHMuCisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL1czQy1TVkctMS4x
L3BzZXJ2ZXJzLWdyYWQtMDgtYi1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMtbGVvcGFyZC9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0wOC1iLWV4cGVjdGVk
LnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvYmF0aWsvdGV4dC90ZXh0
RWZmZWN0LWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJk
L3N2Zy9iYXRpay90ZXh0L3RleHRFZmZlY3QtZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRm
b3JtL21hYy1sZW9wYXJkL3N2Zy9iYXRpay90ZXh0L3RleHRFZmZlY3QzLWV4cGVjdGVkLmNoZWNr
c3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9iYXRpay90ZXh0L3RleHRF
ZmZlY3QzLWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcv
Y3VzdG9tL3N2Zy1mb250cy1pbi1odG1sLWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9jdXN0b20vc3ZnLWZvbnRzLWluLWh0bWwtZXhwZWN0ZWQu
cG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9jdXN0b20vc3ZnLWZvbnRz
LXdpdGgtbm8tZWxlbWVudC1yZWZlcmVuY2UtZXhwZWN0ZWQuY2hlY2tzdW06CisgICAgICAgICog
cGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2N1c3RvbS9zdmctZm9udHMtd2l0aC1uby1lbGVtZW50
LXJlZmVyZW5jZS1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQv
c3ZnL2N1c3RvbS9zdmctZm9udHMtd2l0aG91dC1taXNzaW5nLWdseXBoLWV4cGVjdGVkLmNoZWNr
c3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9jdXN0b20vc3ZnLWZvbnRz
LXdpdGhvdXQtbWlzc2luZy1nbHlwaC1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0v
bWFjLWxlb3BhcmQvc3ZnL3RleHQvdGV4dC10ZXh0LTA1LXQtZXhwZWN0ZWQuY2hlY2tzdW06Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL3RleHQvdGV4dC10ZXh0LTA1LXQtZXhw
ZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy90ZXh0L3RleHQt
dGV4dC0wNi10LWV4cGVjdGVkLmNoZWNrc3VtOgorICAgICAgICAqIHBsYXRmb3JtL21hYy1sZW9w
YXJkL3N2Zy90ZXh0L3RleHQtdGV4dC0wNi10LWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xLVNFL2ZpbHRlcnMtaW1hZ2UtMDMtZi1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS1TRS9wc2VydmVycy1n
cmFkLTE3LWItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvVzNDLVNW
Ry0xLjEtU0UvcHNlcnZlcnMtZ3JhZC0yMC1iLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xLVNFL3BzZXJ2ZXJzLXBhdHRlcm4tMDMtZi1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9hbmltYXRlLWVs
ZW0tMjQtdC1leHBlY3RlZC5wbmc6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZH
LTEuMS9hbmltYXRlLWVsZW0tMjQtdC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL3N2Zy9XM0MtU1ZHLTEuMS9mb250cy1nbHlwaC0wMi10LWV4cGVjdGVkLnBuZzoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL2ZvbnRzLWdseXBoLTAyLXQtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvZm9udHMta2Vy
bi0wMS10LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkct
MS4xL3BzZXJ2ZXJzLWdyYWQtMDgtYi1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL3N2Zy9XM0MtU1ZHLTEuMS90ZXh0LXRleHQtMDUtdC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS90ZXh0LXRleHQtMDYtdC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9iYXRpay90ZXh0L3RleHRFZmZlY3QtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvYmF0aWsvdGV4dC90ZXh0RWZm
ZWN0My1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9iYXRpay90ZXh0
L3RleHRQb3NpdGlvbjItZXhwZWN0ZWQucG5nOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcv
YmF0aWsvdGV4dC90ZXh0UG9zaXRpb24yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvc3ZnL2N1c3RvbS9zdmctZm9udHMtaW4taHRtbC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vc3ZnLWZvbnRzLXdpdGgtbm8tZWxlbWVudC1yZWZl
cmVuY2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3N2
Zy1mb250cy13aXRob3V0LW1pc3NpbmctZ2x5cGgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9zdmcvdGV4dC90ZXh0LXRleHQtMDUtdC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL3N2Zy90ZXh0L3RleHQtdGV4dC0wNi10LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBzdmcvY3VzdG9tL2dseXBoLXRyYW5zZm9ybWF0aW9uLXdpdGgtaGtlcm4tZXhwZWN0
ZWQudHh0OgorCiAyMDExLTAxLTI1ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdh
bGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBza2lwcGluZyBmbGFreSB0ZXN0IG9uIEdU
SyBkZWJ1ZyBib3RzLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQJKHJldmlzaW9uIDc2
NTgzKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQJKHdvcmtpbmcgY29weSkK
QEAgLTU2MDMsMTUgKzU2MDMsNiBAQCBodHRwL3Rlc3RzL3NlY3VyaXR5L2xvY2FsLWlGcmFtZS1m
cm9tLXJlCiBodHRwL3Rlc3RzL3NlY3VyaXR5L2xvY2FsLWltYWdlLWZyb20tcmVtb3RlLmh0bWwK
IGh0dHAvdGVzdHMvc2VjdXJpdHkvbG9jYWwtdXNlci1DU1MtZnJvbS1yZW1vdGUuaHRtbAogCi0j
IDY0Yml0cyBib3QgZmFpbHMgYW5kIDMyYml0cyBib3RzIHdvcmsgb24gdGhlc2UgdGVzdHMKLSMg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUyOTk2Ci1zdmcvVzNDLVNW
Ry0xLjEtU0UvZmlsdGVycy1pbWFnZS0wMy1mLnN2Zwotc3ZnL1czQy1TVkctMS4xLVNFL3BzZXJ2
ZXJzLXBhdHRlcm4tMDMtZi5zdmcKLXN2Zy90ZXh0L3RleHQtaGtlcm4tb24tdmVydGljYWwtdGV4
dC5zdmcKLXN2Zy90ZXh0L3RleHQtaGtlcm4uc3ZnCi1zdmcvdGV4dC90ZXh0LXZrZXJuLW9uLWhv
cml6b250YWwtdGV4dC5zdmcKLXN2Zy90ZXh0L3RleHQtdmtlcm4uc3ZnCi0KICMgVGhpcyBtZWRp
YSB0ZXN0IHNlZW1zIHRvIHRpbWUgb3V0LgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTMwNTYKIG1lZGlhL3Vuc3VwcG9ydGVkLXJ0c3AuaHRtbApJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdy
YWQtMDgtYi1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtbGVvcGFyZC9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0wOC1iLWV4cGVj
dGVkLmNoZWNrc3VtCShyZXZpc2lvbiA3NjQ1MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy1sZW9wYXJkL3N2Zy9XM0MtU1ZHLTEuMS9wc2VydmVycy1ncmFkLTA4LWItZXhwZWN0ZWQuY2hl
Y2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLWU3N2Y0ZTNkMzY4YTY3NDU2MTZiNGJi
YThmMjdmYzdiClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZjA3YTRmNjBhMWQ0MDJhMGIy
OWY4MmEyNjRlZjc2NDQKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvYmF0aWsvdGV4dC90ZXh0RWZmZWN0My1leHBl
Y3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVv
cGFyZC9zdmcvYmF0aWsvdGV4dC90ZXh0RWZmZWN0My1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNp
b24gNzY0NTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvYmF0aWsv
dGV4dC90ZXh0RWZmZWN0My1leHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBjb3B5KQpAQCAtMSAr
MSBAQAotYWQxYjk5NWQ0MTA5NGVkMmM4OWYzODEyOTAzNDJiMzAKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCithNzNiMTM5MTkyOWY3MmJmYzk2M2QzNTFhOWY2ODA1OQpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2
Zy9iYXRpay90ZXh0L3RleHRFZmZlY3QtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2JhdGlrL3RleHQvdGV4dEVmZmVj
dC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gNzY0NTApCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtbGVvcGFyZC9zdmcvYmF0aWsvdGV4dC90ZXh0RWZmZWN0LWV4cGVjdGVkLmNoZWNr
c3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsxIEBACi1lMTRhMTQyZjBkNTQ2MGIyZjk3YjYxY2Rj
ZTRmMjYxMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2U3YWNkNjA2N2QzYmZkYWJiOTY2
NTBjN2JjMmI5Yzk1ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2N1c3RvbS9zdmctZm9udHMtaW4taHRtbC1leHBl
Y3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVv
cGFyZC9zdmcvY3VzdG9tL3N2Zy1mb250cy1pbi1odG1sLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZp
c2lvbiA3NjQ1MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9jdXN0
b20vc3ZnLWZvbnRzLWluLWh0bWwtZXhwZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAg
LTEgKzEgQEAKLTBkYjg4OWQ5NWM4ODhjMjJiMTEzZTA1OTA3NjEzNzA0ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQorZjU3OGNlYWJjN2NlZjEwODhiMjljZGMwMjExNDViNzEKXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFy
ZC9zdmcvY3VzdG9tL3N2Zy1mb250cy13aXRoLW5vLWVsZW1lbnQtcmVmZXJlbmNlLWV4cGVjdGVk
LmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJk
L3N2Zy9jdXN0b20vc3ZnLWZvbnRzLXdpdGgtbm8tZWxlbWVudC1yZWZlcmVuY2UtZXhwZWN0ZWQu
Y2hlY2tzdW0JKHJldmlzaW9uIDc2NDUwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxl
b3BhcmQvc3ZnL2N1c3RvbS9zdmctZm9udHMtd2l0aC1uby1lbGVtZW50LXJlZmVyZW5jZS1leHBl
Y3RlZC5jaGVja3N1bQkod29ya2luZyBjb3B5KQpAQCAtMSArMSBAQAotMzk3YWExN2RlNjY3NDhh
MmFiYTRmZGRmODc5ZWY3ZWYKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis1ZDMxNjM0ZjI0
OWFjYmE1NDY1MmI1ZTA5YmNlZjcwZApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJkL3N2Zy9jdXN0b20vc3ZnLWZvbnRzLXdp
dGhvdXQtbWlzc2luZy1nbHlwaC1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvY3VzdG9tL3N2Zy1mb250cy13aXRob3V0
LW1pc3NpbmctZ2x5cGgtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDc2NDUwKQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2N1c3RvbS9zdmctZm9udHMtd2l0aG91
dC1taXNzaW5nLWdseXBoLWV4cGVjdGVkLmNoZWNrc3VtCSh3b3JraW5nIGNvcHkpCkBAIC0xICsx
IEBACi0zNjVhYTkxZDU2MTQxNjcxOTg3ZTEyOTY4OTEwODNmMgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKK2M4OWQ4OGUzN2EyYjE4NmNmZGZiNmViOTI0NGM1NzU3ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3Zn
L3RleHQvdGV4dC10ZXh0LTA1LXQtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL3RleHQvdGV4dC10ZXh0LTA1LXQtZXhw
ZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDc2NDUwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLWxlb3BhcmQvc3ZnL3RleHQvdGV4dC10ZXh0LTA1LXQtZXhwZWN0ZWQuY2hlY2tzdW0JKHdv
cmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLTlmOTE1ZWFkNDFkY2JhNWJjMjI2OTZjZjhjN2Y3ZDQy
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZjZkYjAzMTA1MmZjYmM1ZDRiNzUwZjFmMmU0
YTU5ZjIKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtbGVvcGFyZC9zdmcvdGV4dC90ZXh0LXRleHQtMDYtdC1leHBlY3RlZC5jaGVja3N1
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvdGV4
dC90ZXh0LXRleHQtMDYtdC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gNzY0NTApCisrKyBM
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvdGV4dC90ZXh0LXRleHQtMDYtdC1l
eHBlY3RlZC5jaGVja3N1bQkod29ya2luZyBjb3B5KQpAQCAtMSArMSBAQAotYjE2Mjg2ODBhZmUx
NDE2NGNhN2ZkZTUxN2E0NjQ4OTgKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitlMTM3YzA0
ZGVkODgzMDZhNWQ4Y2E3NDlhODk3MGU1MQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEtU0UvZmlsdGVycy1p
bWFnZS0wMy1mLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvc3ZnL1czQy1TVkctMS4xLVNFL2ZpbHRlcnMtaW1hZ2UtMDMtZi1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDc2NDUwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZH
LTEuMS1TRS9maWx0ZXJzLWltYWdlLTAzLWYtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC00OSw5ICs0OSw5IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICAgICAgICAgIFJl
bmRlclNWR1BhdGgge3JlY3R9IGF0ICgxNTksMTk5KSBzaXplIDUyeDUyIFtzdHJva2U9e1t0eXBl
PVNPTElEXSBbY29sb3I9IzAwMDBGRl19XSBbeD0xMDAuMDBdIFt5PTEwMC4wMF0gW3dpZHRoPTUw
LjAwXSBbaGVpZ2h0PTUwLjAwXQogICAgICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0ICgy
NTksMTk5KSBzaXplIDUyeDUyIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDBGRl19
XSBbeD0yMDAuMDBdIFt5PTEwMC4wMF0gW3dpZHRoPTUwLjAwXSBbaGVpZ2h0PTUwLjAwXQogICAg
ICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0ICgzNTksMTk5KSBzaXplIDUyeDUyIFtzdHJv
a2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDBGRl19XSBbeD0zMDAuMDBdIFt5PTEwMC4wMF0g
W3dpZHRoPTUwLjAwXSBbaGVpZ2h0PTUwLjAwXQotICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30g
YXQgKDEwLDMxNCkgc2l6ZSAyMjN4MzIKLSAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgx
MCwzMTQpIHNpemUgMjIzeDMyIGNvbnRhaW5zIDEgY2h1bmsocykKLSAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjIzeDMyCisgICAgUmVuZGVyU1ZHQ29u
dGFpbmVyIHtnfSBhdCAoMTAsMzEzKSBzaXplIDIyM3gzMworICAgICAgUmVuZGVyU1ZHVGV4dCB7
dGV4dH0gYXQgKDEwLDMxMykgc2l6ZSAyMjN4MzMgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMjN4MzMKICAgICAg
ICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDEwLjAwLDM0MC4wMCkgc3RhcnRPZmZzZXQgMCBl
bmRPZmZzZXQgMiB3aWR0aCA0MC45MDogIiRSIgogICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4g
MiBhdCAoNTAuNTEsMzQwLjAwKSBzdGFydE9mZnNldCAyIGVuZE9mZnNldCAzIHdpZHRoIDE3Ljc5
OiAiZSIKICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDMgYXQgKDY3LjgyLDM0MC4wMCkgc3Rh
cnRPZmZzZXQgMyBlbmRPZmZzZXQgMTIgd2lkdGggMTE3LjM4OiAidmlzaW9uOiAxIgpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS1TRS9wc2VydmVycy1ncmFk
LTE3LWItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9zdmcvVzNDLVNWRy0xLjEtU0UvcHNlcnZlcnMtZ3JhZC0xNy1iLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNzY0NTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4x
LVNFL3BzZXJ2ZXJzLWdyYWQtMTctYi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMs
NyArMyw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA0ODB4MzYwCiAgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAg
ICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAotICAg
IFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDQ5LDgxKSBzaXplIDM3NngxNzIKKyAgICBSZW5k
ZXJTVkdDb250YWluZXIge2d9IGF0ICg0OSw4MSkgc2l6ZSAzNzZ4MTczCiAgICAgICBSZW5kZXJT
VkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRl
clNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQge2xpbmVhckdyYWRpZW50fSBbaWQ9ImdyYWQiXSBb
Z3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGluZ0JveF0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDAp
XQogICAgICAgICAgIFJlbmRlclNWR0dyYWRpZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBb
Y29sb3I9IzAwMDAwMF0KQEAgLTE0LDggKzE0LDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4
MzYwCiAgICAgICAgIFJlbmRlclNWR1BhdGgge2xpbmV9IGF0ICgxMTksODIpIHNpemUgNngxNDQg
W3RyYW5zZm9ybT17bT0oKDAuMDAsMS4wMCkoLTEuMDAsMC4wMCkpIHQ9KDQyMC4wMCwtNjAuMDAp
fV0gW3N0cm9rZT17W3R5cGU9TElORUFSLUdSQURJRU5UXSBbaWQ9ImdyYWQiXSBbc3Ryb2tlIHdp
ZHRoPTIwLjAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW3gxPTAu
MDBdIFt5MT0xODAuMDBdIFt4Mj00ODAuMDBdIFt5Mj0xODAuMDBdCiAgICAgICAgIFJlbmRlclNW
R1BhdGgge2xpbmV9IGF0ICg2OCwxMDApIHNpemUgMTA4eDEwOCBbc3Ryb2tlPXtbdHlwZT1MSU5F
QVItR1JBRElFTlRdIFtpZD0iZ3JhZCJdIFtzdHJva2Ugd2lkdGg9MjAuMDBdfV0gW2ZpbGw9e1t0
eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbeDE9NDEwLjAwXSBbeTE9MTAuMDBdIFt4Mj03
MC4wMF0gW3kyPTM1MC4wMF0KICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDQ5LDgx
KSBzaXplIDE0NngxNDYgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFt4
PTAuMDBdIFt5PS02MC4wMF0gW3dpZHRoPTQ4MC4wMF0gW2hlaWdodD00ODAuMDBdCi0gICAgICBS
ZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNjksMjM2KSBzaXplIDEwMngxNyBjb250YWlucyAxIGNo
dW5rKHMpCi0gICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDEwMngxNworICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDY5LDIzNSkgc2l6ZSAxMDJ4
MTkgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAxMDJ4MTkKICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9y
KSB0ZXh0IHJ1biAxIGF0ICg2OS4wNCwyNTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEg
d2lkdGggMTYuOTk6ICJXIgogICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQg
cnVuIDIgYXQgKDg2LjAyLDI1MC4wMCkgc3RhcnRPZmZzZXQgMSBlbmRPZmZzZXQgMyB3aWR0aCA5
LjAwOiAiaXQiCiAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMyBh
dCAoOTQuOTYsMjUwLjAwKSBzdGFydE9mZnNldCAzIGVuZE9mZnNldCA2IHdpZHRoIDIwLjAyOiAi
aCBmIgpAQCAtMjcsMTYgKzI3LDE2IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICAg
ICAgICBSZW5kZXJTVkdQYXRoIHtsaW5lfSBhdCAoMzQ5LDgyKSBzaXplIDZ4MTQ0IFt0cmFuc2Zv
cm09e209KCgwLjAwLDEuMDApKC0xLjAwLDAuMDApKSB0PSg0MjAuMDAsLTYwLjAwKX1dIFtzdHJv
a2U9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJncmFkIl0gW3N0cm9rZSB3aWR0aD0yMC4w
MF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFt4MT0wLjAwXSBbeTE9
MTgwLjAwXSBbeDI9NDgwLjAwXSBbeTI9MTgwLjAwXQogICAgICAgICBSZW5kZXJTVkdQYXRoIHts
aW5lfSBhdCAoMjk4LDEwMCkgc2l6ZSAxMDh4MTA4IFtzdHJva2U9e1t0eXBlPUxJTkVBUi1HUkFE
SUVOVF0gW2lkPSJncmFkIl0gW3N0cm9rZSB3aWR0aD0yMC4wMF19XSBbZmlsbD17W3R5cGU9U09M
SURdIFtjb2xvcj0jMDAwMDAwXX1dIFt4MT00MTAuMDBdIFt5MT0xMC4wMF0gW3gyPTcwLjAwXSBb
eTI9MzUwLjAwXQogICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMjc5LDgxKSBzaXpl
IDE0NngxNDYgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFt4PTAuMDBd
IFt5PS02MC4wMF0gW3dpZHRoPTQ4MC4wMF0gW2hlaWdodD00ODAuMDBdCi0gICAgICBSZW5kZXJT
VkdUZXh0IHt0ZXh0fSBhdCAoMjg2LDIzNikgc2l6ZSAxMjh4MTcgY29udGFpbnMgMSBjaHVuayhz
KQotICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMjh4
MTcKKyAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyODYsMjM1KSBzaXplIDEyOHgxOSBj
b250YWlucyAxIGNodW5rKHMpCisgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDEyOHgxOQogICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRl
eHQgcnVuIDEgYXQgKDI4Ni41MywyNTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lk
dGggMTYuOTk6ICJXIgogICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVu
IDIgYXQgKDMwMy41MSwyNTAuMDApIHN0YXJ0T2Zmc2V0IDEgZW5kT2Zmc2V0IDMgd2lkdGggOS4w
MDogIml0IgogICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDMgYXQg
KDMxMi40NSwyNTAuMDApIHN0YXJ0T2Zmc2V0IDMgZW5kT2Zmc2V0IDkgd2lkdGggNDUuMDQ6ICJo
b3V0IGYiCiAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gNCBhdCAo
MzU3LjMzLDI1MC4wMCkgc3RhcnRPZmZzZXQgOSBlbmRPZmZzZXQgMTUgd2lkdGggNDcuMDI6ICJh
bGxiYWMiCiAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gNSBhdCAo
NDA0LjQ3LDI1MC4wMCkgc3RhcnRPZmZzZXQgMTUgZW5kT2Zmc2V0IDE2IHdpZHRoIDkuMDA6ICJr
IgotICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDEwLDMxNCkgc2l6ZSAyMjd4MzIKLSAg
ICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwzMTQpIHNpemUgMjI3eDMyIGNvbnRhaW5z
IDEgY2h1bmsocykKLSAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMjI3eDMyCisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTAsMzEzKSBzaXpl
IDIyN3gzMworICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDMxMykgc2l6ZSAyMjd4
MzMgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAyMjd4MzMKICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQg
KDEwLjAwLDM0MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMiB3aWR0aCA0MC45MDogIiRS
IgogICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMiBhdCAoNTAuNTEsMzQwLjAwKSBzdGFydE9m
ZnNldCAyIGVuZE9mZnNldCAzIHdpZHRoIDE3Ljc5OiAiZSIKICAgICAgICAgICBjaHVuayAxIHRl
eHQgcnVuIDMgYXQgKDY3LjgyLDM0MC4wMCkgc3RhcnRPZmZzZXQgMyBlbmRPZmZzZXQgMTIgd2lk
dGggMTE3LjM4OiAidmlzaW9uOiAxIgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2
Zy9XM0MtU1ZHLTEuMS1TRS9wc2VydmVycy1ncmFkLTIwLWItZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEtU0UvcHNlcnZl
cnMtZ3JhZC0yMC1iLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzY0NTApCisrKyBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xLVNFL3BzZXJ2ZXJzLWdyYWQtMjAtYi1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMsNyArMyw3IEBAIGxheWVyIGF0ICgwLDApIHNp
emUgNDgweDM2MAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgIFJlbmRlclNWR1Jvb3Qg
e3N2Z30gYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVy
IHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAotICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQg
KDQ5LDgxKSBzaXplIDM3NngxNzIKKyAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg0OSw4
MSkgc2l6ZSAzNzZ4MTczCiAgICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0
ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlclNWR1Jlc291cmNlTGluZWFyR3JhZGllbnQg
e2xpbmVhckdyYWRpZW50fSBbaWQ9ImdyYWQiXSBbZ3JhZGllbnRVbml0cz1vYmplY3RCb3VuZGlu
Z0JveF0gW3N0YXJ0PSgwLDApXSBbZW5kPSgxLDApXQogICAgICAgICAgIFJlbmRlclNWR0dyYWRp
ZW50U3RvcCB7c3RvcH0gW29mZnNldD0wLjAwXSBbY29sb3I9IzAwMDAwMF0KQEAgLTE0LDggKzE0
LDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgICAgIFJlbmRlclNWR1BhdGgg
e3BhdGh9IGF0ICgxMTksODIpIHNpemUgNngxNDQgW3RyYW5zZm9ybT17bT0oKDAuMDAsMS4wMCko
LTEuMDAsMC4wMCkpIHQ9KDQyMC4wMCwtNjAuMDApfV0gW3N0cm9rZT17W3R5cGU9TElORUFSLUdS
QURJRU5UXSBbaWQ9ImdyYWQiXSBbc3Ryb2tlIHdpZHRoPTIwLjAwXX1dIFtmaWxsPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0gMCAxODAgTCA0ODAgMTgwIl0KICAgICAg
ICAgUmVuZGVyU1ZHUGF0aCB7cGF0aH0gYXQgKDY4LDEwMCkgc2l6ZSAxMDh4MTA4IFtzdHJva2U9
e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJncmFkIl0gW3N0cm9rZSB3aWR0aD0yMC4wMF19
XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNIDQxMCAxMCBM
IDcwIDM1MCJdCiAgICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0ICg0OSw4MSkgc2l6ZSAx
NDZ4MTQ2IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbeD0wLjAwXSBb
eT0tNjAuMDBdIFt3aWR0aD00ODAuMDBdIFtoZWlnaHQ9NDgwLjAwXQotICAgICAgUmVuZGVyU1ZH
VGV4dCB7dGV4dH0gYXQgKDY5LDIzNikgc2l6ZSAxMDJ4MTcgY29udGFpbnMgMSBjaHVuayhzKQot
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDJ4MTcK
KyAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg2OSwyMzUpIHNpemUgMTAyeDE5IGNvbnRh
aW5zIDEgY2h1bmsocykKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMTAyeDE5CiAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBy
dW4gMSBhdCAoNjkuMDQsMjUwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE2
Ljk5OiAiVyIKICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAyIGF0
ICg4Ni4wMiwyNTAuMDApIHN0YXJ0T2Zmc2V0IDEgZW5kT2Zmc2V0IDMgd2lkdGggOS4wMDogIml0
IgogICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDMgYXQgKDk0Ljk2
LDI1MC4wMCkgc3RhcnRPZmZzZXQgMyBlbmRPZmZzZXQgNiB3aWR0aCAyMC4wMjogImggZiIKQEAg
LTI3LDE2ICsyNywxNiBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAgICAgUmVu
ZGVyU1ZHUGF0aCB7cGF0aH0gYXQgKDM0OSw4Mikgc2l6ZSA2eDE0NCBbdHJhbnNmb3JtPXttPSgo
MC4wMCwxLjAwKSgtMS4wMCwwLjAwKSkgdD0oNDIwLjAwLC02MC4wMCl9XSBbc3Ryb2tlPXtbdHlw
ZT1MSU5FQVItR1JBRElFTlRdIFtpZD0iZ3JhZCJdIFtzdHJva2Ugd2lkdGg9MjAuMDBdfV0gW2Zp
bGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTSAwIDE4MCBMIDQ4MCAx
ODAiXQogICAgICAgICBSZW5kZXJTVkdQYXRoIHtwYXRofSBhdCAoMjk4LDEwMCkgc2l6ZSAxMDh4
MTA4IFtzdHJva2U9e1t0eXBlPUxJTkVBUi1HUkFESUVOVF0gW2lkPSJncmFkIl0gW3N0cm9rZSB3
aWR0aD0yMC4wMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRh
PSJNIDQxMCAxMCBMIDcwIDM1MCJdCiAgICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0ICgy
NzksODEpIHNpemUgMTQ2eDE0NiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBd
fV0gW3g9MC4wMF0gW3k9LTYwLjAwXSBbd2lkdGg9NDgwLjAwXSBbaGVpZ2h0PTQ4MC4wMF0KLSAg
ICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyODYsMjM2KSBzaXplIDEyOHgxNyBjb250YWlu
cyAxIGNodW5rKHMpCi0gICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDEyOHgxNworICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDI4NiwyMzUpIHNp
emUgMTI4eDE5IGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTI4eDE5CiAgICAgICAgICAgY2h1bmsgMSAobWlkZGxl
IGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMjg2LjUzLDI1MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRP
ZmZzZXQgMSB3aWR0aCAxNi45OTogIlciCiAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hv
cikgdGV4dCBydW4gMiBhdCAoMzAzLjUxLDI1MC4wMCkgc3RhcnRPZmZzZXQgMSBlbmRPZmZzZXQg
MyB3aWR0aCA5LjAwOiAiaXQiCiAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4
dCBydW4gMyBhdCAoMzEyLjQ1LDI1MC4wMCkgc3RhcnRPZmZzZXQgMyBlbmRPZmZzZXQgOSB3aWR0
aCA0NS4wNDogImhvdXQgZiIKICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0
IHJ1biA0IGF0ICgzNTcuMzMsMjUwLjAwKSBzdGFydE9mZnNldCA5IGVuZE9mZnNldCAxNSB3aWR0
aCA0Ny4wMjogImFsbGJhYyIKICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0
IHJ1biA1IGF0ICg0MDQuNDcsMjUwLjAwKSBzdGFydE9mZnNldCAxNSBlbmRPZmZzZXQgMTYgd2lk
dGggOS4wMDogImsiCi0gICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTAsMzE0KSBzaXpl
IDIyN3gzMgotICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDMxNCkgc2l6ZSAyMjd4
MzIgY29udGFpbnMgMSBjaHVuayhzKQotICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAyMjd4MzIKKyAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgx
MCwzMTMpIHNpemUgMjI3eDMzCisgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsMzEz
KSBzaXplIDIyN3gzMyBjb250YWlucyAxIGNodW5rKHMpCisgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIyN3gzMwogICAgICAgICAgIGNodW5rIDEgdGV4
dCBydW4gMSBhdCAoMTAuMDAsMzQwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAyIHdpZHRo
IDQwLjkwOiAiJFIiCiAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAyIGF0ICg1MC41MSwzNDAu
MDApIHN0YXJ0T2Zmc2V0IDIgZW5kT2Zmc2V0IDMgd2lkdGggMTcuNzk6ICJlIgogICAgICAgICAg
IGNodW5rIDEgdGV4dCBydW4gMyBhdCAoNjcuODIsMzQwLjAwKSBzdGFydE9mZnNldCAzIGVuZE9m
ZnNldCAxMiB3aWR0aCAxMTcuMzg6ICJ2aXNpb246IDEiCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xLVNFL3BzZXJ2ZXJzLXBhdHRlcm4tMDMtZi1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZH
LTEuMS1TRS9wc2VydmVycy1wYXR0ZXJuLTAzLWYtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3NjQ1
MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEtU0UvcHNlcnZl
cnMtcGF0dGVybi0wMy1mLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjgsOSArMjgs
OSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7
cmVjdH0gYXQgKDEzOSwxNTkpIHNpemUgMTAyeDEwMiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSMwMDAwMDBdfV0gW2ZpbGw9e1t0eXBlPVBBVFRFUk5dIFtpZD0iaW52aXNpYmxlNiJdfV0g
W3g9MTAwLjAwXSBbeT0xMDAuMDBdIFt3aWR0aD0xMDAuMDBdIFtoZWlnaHQ9MTAwLjAwXQogICAg
ICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMjM5LDE1OSkgc2l6ZSAxMDJ4MTAyIFtzdHJv
a2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZmlsbD17W3R5cGU9UEFUVEVSTl0g
W2lkPSJpbnZpc2libGU3Il19XSBbeD0yMDAuMDBdIFt5PTEwMC4wMF0gW3dpZHRoPTEwMC4wMF0g
W2hlaWdodD0xMDAuMDBdCiAgICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0ICgzMzksMTU5
KSBzaXplIDEwMngxMDIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtm
aWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMEZGMDBdfV0gW3g9MzAwLjAwXSBbeT0xMDAuMDBd
IFt3aWR0aD0xMDAuMDBdIFtoZWlnaHQ9MTAwLjAwXQotICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
Z30gYXQgKDEwLDMxNCkgc2l6ZSAyMjN4MzIKLSAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0
ICgxMCwzMTQpIHNpemUgMjIzeDMyIGNvbnRhaW5zIDEgY2h1bmsocykKLSAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjIzeDMyCisgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHtnfSBhdCAoMTAsMzEzKSBzaXplIDIyM3gzMworICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKDEwLDMxMykgc2l6ZSAyMjN4MzMgY29udGFpbnMgMSBjaHVuayhzKQorICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMjN4MzMKICAg
ICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDEwLjAwLDM0MC4wMCkgc3RhcnRPZmZzZXQg
MCBlbmRPZmZzZXQgMiB3aWR0aCA0MC45MDogIiRSIgogICAgICAgICAgIGNodW5rIDEgdGV4dCBy
dW4gMiBhdCAoNTAuNTEsMzQwLjAwKSBzdGFydE9mZnNldCAyIGVuZE9mZnNldCAzIHdpZHRoIDE3
Ljc5OiAiZSIKICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDMgYXQgKDY3LjgyLDM0MC4wMCkg
c3RhcnRPZmZzZXQgMyBlbmRPZmZzZXQgMTIgd2lkdGggMTE3LjM4OiAidmlzaW9uOiAxIgpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9hbmltYXRlLWVsZW0t
MjQtdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L3N2Zy9XM0MtU1ZHLTEuMS9hbmltYXRlLWVsZW0tMjQtdC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDc2NDUwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9hbmlt
YXRlLWVsZW0tMjQtdC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMsNyArMyw3IEBA
IGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYw
CiAgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgUmVuZGVy
U1ZHSGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAotICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7Z30gYXQgKDQyLDM4KSBzaXplIDI4OXgyMzkKKyAgICBSZW5kZXJTVkdDb250
YWluZXIge2d9IGF0ICg0MiwzOCkgc2l6ZSAyODl4MjQwCiAgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICg3MCw5Mikgc2l6ZSAxNDl4MTMzCiAgICAgICAgIFJlbmRlclNWR1RleHQge3Rl
eHR9IGF0ICg3MCw5Mikgc2l6ZSAxNDl4MjMgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE0OXgyMwpAQCAtMTQs
MTkgKzE0LDE5IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICAgICAgICBSZW5kZXJT
VkdUZXh0IHt0ZXh0fSBhdCAoMTAwLDIwMikgc2l6ZSA4MHgyMyBjb250YWlucyAxIGNodW5rKHMp
CiAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgODB4
MjMKICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTAwLjAwLDIyMC4wMCkgc3Rh
cnRPZmZzZXQgMCBlbmRPZmZzZXQgMTAgd2lkdGggODAuMDA6ICJUZXh0IGF0IDlzIgotICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoNDIsMzgpIHNpemUgMjg5eDIzOQotICAgICAgICBS
ZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwtMTUpIHNpemUgNzd4MTcgY29udGFpbnMgMSBjaHVu
ayhzKQotICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDc3eDE3CisgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg0MiwzOCkgc2l6ZSAyODl4
MjQwCisgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLC0xNSkgc2l6ZSA3N3gxOCBj
b250YWlucyAxIGNodW5rKHMpCisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgNzd4MTgKICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAo
MC4wMCwwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxMSB3aWR0aCA3Ni44NDogIkl0J3Mg
YWxpdmUhIgogICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwtMzApIHNpemUgMTU0
eDM1IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAxNTR4MzUKICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4g
MSBhdCAoMC4wMCwwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxMSB3aWR0aCAxNTMuNjg6
ICJJdCdzIGFsaXZlISIKLSAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwMCwyMjUp
IHNpemUgMjMxeDUyIGNvbnRhaW5zIDEgY2h1bmsocykKLSAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMzF4NTIKKyAgICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKDEwMCwyMjUpIHNpemUgMjMxeDUzIGNvbnRhaW5zIDEgY2h1bmsocykKKyAg
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMzF4NTMK
ICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTAwLjAwLDI3MC4wMCkgc3RhcnRP
ZmZzZXQgMCBlbmRPZmZzZXQgMTEgd2lkdGggMjMwLjUyOiAiSXQncyBhbGl2ZSEiCi0gICAgICBS
ZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg0MiwzOCkgc2l6ZSA3Nng1NCBbdHJhbnNmb3JtPXtt
PSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSg1MC4wMCw5MC4wMCl9XQotICAgICAgICBSZW5k
ZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwtMTUpIHNpemUgNzd4MTcgY29udGFpbnMgMSBjaHVuayhz
KQotICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDc3
eDE3CisgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg0MiwzOCkgc2l6ZSA3N3g1NSBb
dHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSg1MC4wMCw5MC4wMCl9XQor
ICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwtMTUpIHNpemUgNzd4MTggY29udGFp
bnMgMSBjaHVuayhzKQorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDc3eDE4CiAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDAuMDAs
MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMTEgd2lkdGggNzYuODQ6ICJJdCdzIGFsaXZl
ISIKICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAw
eDAKICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAw
eDAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvZm9udHMt
Z2x5cGgtMDItdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9mb250cy1nbHlwaC0wMi10LWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gNzY0NTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4x
L2ZvbnRzLWdseXBoLTAyLXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yLDE1ICsy
LDE1IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgNDgweDM2MAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgIFJlbmRlclNWR1Jv
b3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCi0gICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtn
fSBhdCAoMTAwLDMyKSBzaXplIDIyNHgxOTkKKyAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0
ICgxMDAsMzIpIHNpemUgMjI0eDIwMAogICAgICAgUmVuZGVyU1ZHSGlkZGVuQ29udGFpbmVyIHtk
ZWZzfSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAo
MTAwLDMyKSBzaXplIDE4NHg4NAogICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAw
LDMyKSBzaXplIDE4NHg4NCBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTg0eDg0CiAgICAgICAgICAgICBjaHVu
ayAxIHRleHQgcnVuIDEgYXQgKDEwMC4wMCwxMDAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0
IDUgd2lkdGggMTg0LjAwIFJUTDogIlx4ezY5QX0gXHh7NjlBfVx4ezY5QX1ceHs2OUF9IgotICAg
ICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTAwLDExNCkgc2l6ZSAyMjR4MTE3Ci0gICAg
ICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMDAsMTE0KSBzaXplIDIyNHgxMTcgY29udGFp
bnMgMSBjaHVuayhzKQotICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDIyNHgxMTcKKyAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDEwMCwx
MTQpIHNpemUgMjI0eDExOAorICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAwLDEx
NCkgc2l6ZSAyMjR4MTE4IGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMjR4MTE4CiAgICAgICAgICAgICBjaHVu
ayAxIHRleHQgcnVuIDEgYXQgKDEwMC4wMCwyMDAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0
IDUgd2lkdGggMjIzLjkyIFJUTDogIlx4ezYyRX0gXHh7NjJFfVx4ezYyRX1ceHs2MkV9IgogICAg
IFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwzMDQpIHNpemUgMjY0eDQ2IGNvbnRhaW5zIDEg
Y2h1bmsocykKICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDI2NHg0NgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9m
b250cy1rZXJuLTAxLXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvZm9udHMta2Vybi0wMS10LWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gNzY0NTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkct
MS4xL2ZvbnRzLWtlcm4tMDEtdC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcg
KzMxLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgICAgICAgUmVuZGVyU1ZH
VGV4dCB7dGV4dH0gYXQgKDUsNCkgc2l6ZSA3M3gxNCBjb250YWlucyAxIGNodW5rKHMpCiAgICAg
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3M3gxNAog
ICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDUuMDAsMTUuMDApIHN0YXJ0T2Zm
c2V0IDAgZW5kT2Zmc2V0IDEzIHdpZHRoIDczLjAwOiAidTE9XCIxXCIgdTI9XCIyXCIiCi0gICAg
ICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzEsODEpIHNpemUgNTR4MjggW3RyYW5z
Zm9ybT17bT0oKDIuMDAsMC4wMCkoMC4wMCwyLjAwKSkgdD0oNS4wMCw0NS4wMCl9XQorICAgICAg
ICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDMxLDgxKSBzaXplIDU0eDMwIFt0cmFuc2Zv
cm09e209KCgyLjAwLDAuMDApKDAuMDAsMi4wMCkpIHQ9KDUuMDAsNDUuMDApfV0KICAgICAgICAg
ICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMzEsODEpIHNpemUgMjh4MjgKICAgICAg
ICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzEsODEpIHNpemUgMjh4MjgKICAg
ICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzMSw4MSkgc2l6ZSAyOHgy
OApAQCAtNDQsOCArNDQsOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAgICAg
ICAgICAgICAgIFJlbmRlclNWR1BhdGgge2xpbmV9IGF0ICg1Nyw4MSkgc2l6ZSA2eDI0IFtzdHJv
a2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtj
b2xvcj0jODg4OEZGXX1dIFt4MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTAuMDBdIFt5Mj0tMTIuMDBd
CiAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtsaW5lfSBhdCAoNTksMTAzKSBzaXpl
IDI2eDQgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSM4ODg4RkZdfV0gW3gxPTAuMDBdIFt5MT0wLjAwXSBbeDI9MTIuMDBd
IFt5Mj0wLjAwXQogICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDU1
LDEwMSkgc2l6ZSAxMHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW3g9
LTIuMDBdIFt5PS0yLjAwXSBbd2lkdGg9NC4wMF0gW2hlaWdodD00LjAwXQotICAgICAgICAgICAg
UmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsLTkpIHNpemUgMTh4MTEgY29udGFpbnMgMSBjaHVu
ayhzKQotICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAxOHgxMQorICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsLTkpIHNp
emUgMTh4MTIgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxOHgxMgogICAgICAgICAgICAgICAgIGNodW5r
IDEgdGV4dCBydW4gMSBhdCAoMC4wMCwwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdp
ZHRoIDIuNTA6ICIxIgogICAgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMiBhdCAoMTIu
NTAsMC4wMCkgc3RhcnRPZmZzZXQgMSBlbmRPZmZzZXQgMiB3aWR0aCA1LjAwOiAiMiIKICAgICAg
ICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoOSwxMTQpIHNpemUgMjIyeDUyIFt0cmFuc2Zv
cm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAuMDAsNTUuMDApfV0KQEAgLTYzLDcg
KzYzLDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgICAgICAgUmVuZGVyU1ZH
VGV4dCB7dGV4dH0gYXQgKDUsMSkgc2l6ZSAxMzh4MTggY29udGFpbnMgMSBjaHVuayhzKQogICAg
ICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTM4eDE4
CiAgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoNS4wMCwxNS4wMCkgc3RhcnRP
ZmZzZXQgMCBlbmRPZmZzZXQgMTkgd2lkdGggMTM4LjAwOiAiZzE9XCJnbF8xXCIgZzI9XCJnbF8y
XCIiCi0gICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzEsMTM2KSBzaXplIDc0
eDI4IFt0cmFuc2Zvcm09e209KCgyLjAwLDAuMDApKDAuMDAsMi4wMCkpIHQ9KDUuMDAsNDUuMDAp
fV0KKyAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzMSwxMzYpIHNpemUgNzR4
MzAgW3RyYW5zZm9ybT17bT0oKDIuMDAsMC4wMCkoMC4wMCwyLjAwKSkgdD0oNS4wMCw0NS4wMCl9
XQogICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgzMSwxMzYpIHNpemUg
Mjh4MjgKICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzEsMTM2KSBz
aXplIDI4eDI4CiAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzEs
MTM2KSBzaXplIDI4eDI4CkBAIC03Niw4ICs3Niw4IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDgw
eDM2MAogICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7bGluZX0gYXQgKDc3LDEzNikg
c2l6ZSA2eDI0IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17
W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTAu
MDBdIFt5Mj0tMTIuMDBdCiAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtsaW5lfSBh
dCAoNzksMTU4KSBzaXplIDI2eDQgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAw
XX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM4ODg4RkZdfV0gW3gxPTAuMDBdIFt5MT0w
LjAwXSBbeDI9MTIuMDBdIFt5Mj0wLjAwXQogICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0
aCB7cmVjdH0gYXQgKDc1LDE1Nikgc2l6ZSAxMHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9y
PSNGRjAwMDBdfV0gW3g9LTIuMDBdIFt5PS0yLjAwXSBbd2lkdGg9NC4wMF0gW2hlaWdodD00LjAw
XQotICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsLTkpIHNpemUgMjh4MTEg
Y29udGFpbnMgMSBjaHVuayhzKQotICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAyOHgxMQorICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4
dH0gYXQgKDAsLTkpIHNpemUgMjh4MTIgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyOHgxMgogICAgICAg
ICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMC4wMCwwLjAwKSBzdGFydE9mZnNldCAw
IGVuZE9mZnNldCAxIHdpZHRoIDIuNTA6ICIxIgogICAgICAgICAgICAgICAgIGNodW5rIDEgdGV4
dCBydW4gMiBhdCAoMjIuNTAsMC4wMCkgc3RhcnRPZmZzZXQgMSBlbmRPZmZzZXQgMiB3aWR0aCA1
LjAwOiAiMiIKICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoOSwxNjkpIHNpemUg
MjY2eDUyIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAuMDAsMTEw
LjAwKX1dCkBAIC05NSw3ICs5NSw3IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICAg
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg1LDEpIHNpemUgMjQweDE4IGNvbnRhaW5z
IDEgY2h1bmsocykKICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDI0MHgxOAogICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDUu
MDAsMTUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDMzIHdpZHRoIDI0MC4wMDogInUxPVwi
MVwiIHUyPVwiMlwiIGcxPVwiZ2xfM1wiIGcyPVwiZ2xfNFwiIgotICAgICAgICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7Z30gYXQgKDMxLDE5MSkgc2l6ZSAxMzh4MjggW3RyYW5zZm9ybT17bT0oKDIu
MDAsMC4wMCkoMC4wMCwyLjAwKSkgdD0oNS4wMCw0NS4wMCl9XQorICAgICAgICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7Z30gYXQgKDMxLDE5MSkgc2l6ZSAxMzh4MzAgW3RyYW5zZm9ybT17bT0oKDIu
MDAsMC4wMCkoMC4wMCwyLjAwKSkgdD0oNS4wMCw0NS4wMCl9XQogICAgICAgICAgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgzMSwxOTEpIHNpemUgMjh4MjgKICAgICAgICAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzEsMTkxKSBzaXplIDI4eDI4CiAgICAgICAgICAg
ICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzEsMTkxKSBzaXplIDI4eDI4CkBAIC0x
MjAsOCArMTIwLDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgICAgICAgICAg
ICAgICBSZW5kZXJTVkdQYXRoIHtsaW5lfSBhdCAoMTQzLDE5MSkgc2l6ZSA0eDI0IFtzdHJva2U9
e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xv
cj0jODg4OEZGXX1dIFt4MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTAuMDBdIFt5Mj0tMTIuMDBdCiAg
ICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtsaW5lfSBhdCAoMTQ1LDIxMykgc2l6ZSAy
NHg0IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9
U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTEyLjAwXSBb
eTI9MC4wMF0KICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0ICgxNDEs
MjExKSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFt4PS0y
LjAwXSBbeT0tMi4wMF0gW3dpZHRoPTQuMDBdIFtoZWlnaHQ9NC4wMF0KLSAgICAgICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICgwLC05KSBzaXplIDY1eDExIGNvbnRhaW5zIDEgY2h1bmso
cykKLSAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgNjV4MTEKKyAgICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLC05KSBzaXpl
IDY1eDEyIGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjV4MTIKICAgICAgICAgICAgICAgICBjaHVuayAx
IHRleHQgcnVuIDEgYXQgKDAuMDAsMC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0
aCAyLjUwOiAiMSIKICAgICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDIgYXQgKDE3LjUw
LDAuMDApIHN0YXJ0T2Zmc2V0IDEgZW5kT2Zmc2V0IDMgd2lkdGggMjIuNTA6ICIyMyIKICAgICAg
ICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDMgYXQgKDU1LjAwLDAuMDApIHN0YXJ0T2Zmc2V0
IDMgZW5kT2Zmc2V0IDQgd2lkdGggMTAuMDA6ICI0IgpAQCAtMTQwLDcgKzE0MCw3IEBAIGxheWVy
IGF0ICgwLDApIHNpemUgNDgweDM2MAogICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0
ICg1LDEpIHNpemUgMTIyeDE4IGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEyMngxOAogICAgICAgICAgICAg
ICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDUuMDAsMTUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zm
c2V0IDE3IHdpZHRoIDEyMi4wMDogInUxPVwiMSwzXCIgdTI9XCIyLDRcIiIKLSAgICAgICAgICBS
ZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzMSwyNDYpIHNpemUgMTM4eDI4IFt0cmFuc2Zvcm09
e209KCgyLjAwLDAuMDApKDAuMDAsMi4wMCkpIHQ9KDUuMDAsNDUuMDApfV0KKyAgICAgICAgICBS
ZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzMSwyNDYpIHNpemUgMTM4eDMwIFt0cmFuc2Zvcm09
e209KCgyLjAwLDAuMDApKDAuMDAsMi4wMCkpIHQ9KDUuMDAsNDUuMDApfV0KICAgICAgICAgICAg
IFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMzEsMjQ2KSBzaXplIDI4eDI4CiAgICAgICAg
ICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDMxLDI0Nikgc2l6ZSAyOHgyOAogICAg
ICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDMxLDI0Nikgc2l6ZSAyOHgy
OApAQCAtMTY1LDggKzE2NSw4IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICAgICAg
ICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7bGluZX0gYXQgKDE0MywyNDYpIHNpemUgNHgyNCBb
c3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElE
XSBbY29sb3I9Izg4ODhGRl19XSBbeDE9MC4wMF0gW3kxPTAuMDBdIFt4Mj0wLjAwXSBbeTI9LTEy
LjAwXQogICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7bGluZX0gYXQgKDE0NSwyNjgp
IHNpemUgMjR4NCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9
e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeDE9MC4wMF0gW3kxPTAuMDBdIFt4Mj0x
Mi4wMF0gW3kyPTAuMDBdCiAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBh
dCAoMTQxLDI2Nikgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19
XSBbeD0tMi4wMF0gW3k9LTIuMDBdIFt3aWR0aD00LjAwXSBbaGVpZ2h0PTQuMDBdCi0gICAgICAg
ICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwtOSkgc2l6ZSA2NXgxMSBjb250YWlucyAx
IGNodW5rKHMpCi0gICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDY1eDExCisgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwt
OSkgc2l6ZSA2NXgxMiBjb250YWlucyAxIGNodW5rKHMpCisgICAgICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDY1eDEyCiAgICAgICAgICAgICAgICAg
Y2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgwLjAwLDAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0
IDEgd2lkdGggMi41MDogIjEiCiAgICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAyIGF0
ICgxNy41MCwwLjAwKSBzdGFydE9mZnNldCAxIGVuZE9mZnNldCAzIHdpZHRoIDIyLjUwOiAiMjMi
CiAgICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAzIGF0ICg1NS4wMCwwLjAwKSBzdGFy
dE9mZnNldCAzIGVuZE9mZnNldCA0IHdpZHRoIDEwLjAwOiAiNCIKQEAgLTE4NSw3ICsxODUsNyBA
QCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoNSwxKSBzaXplIDIwMngxOCBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMDJ4MTgKICAgICAg
ICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICg1LjAwLDE1LjAwKSBzdGFydE9mZnNldCAw
IGVuZE9mZnNldCAyOSB3aWR0aCAyMDIuMDA6ICJnMT1cImdsXzEsZ2xfM1wiIGcyPVwiZ2xfMixn
bF80XCIiCi0gICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjcxLDgxKSBzaXpl
IDEzOHgyOCBbdHJhbnNmb3JtPXttPSgoMi4wMCwwLjAwKSgwLjAwLDIuMDApKSB0PSg1LjAwLDQ1
LjAwKX1dCisgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjcxLDgxKSBzaXpl
IDEzOHgzMCBbdHJhbnNmb3JtPXttPSgoMi4wMCwwLjAwKSgwLjAwLDIuMDApKSB0PSg1LjAwLDQ1
LjAwKX1dCiAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQgKDI3MSw4MSkg
c2l6ZSAyOHgyOAogICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyNzEs
ODEpIHNpemUgMjh4MjgKICAgICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0
ICgyNzEsODEpIHNpemUgMjh4MjgKQEAgLTIxMCw4ICsyMTAsOCBAQCBsYXllciBhdCAoMCwwKSBz
aXplIDQ4MHgzNjAKICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge2xpbmV9IGF0ICgz
ODMsODEpIHNpemUgNHgyNCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0g
W2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeDE9MC4wMF0gW3kxPTAuMDBd
IFt4Mj0wLjAwXSBbeTI9LTEyLjAwXQogICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7
bGluZX0gYXQgKDM4NSwxMDMpIHNpemUgMjR4NCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9y
PSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeDE9MC4w
MF0gW3kxPTAuMDBdIFt4Mj0xMi4wMF0gW3kyPTAuMDBdCiAgICAgICAgICAgICAgICAgICBSZW5k
ZXJTVkdQYXRoIHtyZWN0fSBhdCAoMzgxLDEwMSkgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElE
XSBbY29sb3I9I0ZGMDAwMF19XSBbeD0tMi4wMF0gW3k9LTIuMDBdIFt3aWR0aD00LjAwXSBbaGVp
Z2h0PTQuMDBdCi0gICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwtOSkgc2l6
ZSA2NXgxMSBjb250YWlucyAxIGNodW5rKHMpCi0gICAgICAgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDY1eDExCisgICAgICAgICAgICBSZW5kZXJTVkdU
ZXh0IHt0ZXh0fSBhdCAoMCwtOSkgc2l6ZSA2NXgxMiBjb250YWlucyAxIGNodW5rKHMpCisgICAg
ICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDY1eDEy
CiAgICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgwLjAwLDAuMDApIHN0YXJ0
T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMi41MDogIjEiCiAgICAgICAgICAgICAgICAgY2h1
bmsgMSB0ZXh0IHJ1biAyIGF0ICgxNy41MCwwLjAwKSBzdGFydE9mZnNldCAxIGVuZE9mZnNldCAz
IHdpZHRoIDIyLjUwOiAiMjMiCiAgICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAzIGF0
ICg1NS4wMCwwLjAwKSBzdGFydE9mZnNldCAzIGVuZE9mZnNldCA0IHdpZHRoIDEwLjAwOiAiNCIK
QEAgLTIzMCw3ICsyMzAsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAgICAg
ICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNSwxKSBzaXplIDIwOHgxOCBjb250YWlucyAxIGNo
dW5rKHMpCiAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAyMDh4MTgKICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICg1LjAwLDE1
LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAyNiB3aWR0aCAyMDguMDA6ICJ1MT1cIlUrMDAz
P1wiIHUyPVwiVSswMDMxLTM0XCIiCi0gICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBh
dCAoMjcxLDEzNikgc2l6ZSAxNjh4MjggW3RyYW5zZm9ybT17bT0oKDIuMDAsMC4wMCkoMC4wMCwy
LjAwKSkgdD0oNS4wMCw0NS4wMCl9XQorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30g
YXQgKDI3MSwxMzYpIHNpemUgMTY4eDMwIFt0cmFuc2Zvcm09e209KCgyLjAwLDAuMDApKDAuMDAs
Mi4wMCkpIHQ9KDUuMDAsNDUuMDApfV0KICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
dXNlfSBhdCAoMjcxLDEzNikgc2l6ZSAyOHgyOAogICAgICAgICAgICAgICBSZW5kZXJTVkdDb250
YWluZXIge2d9IGF0ICgyNzEsMTM2KSBzaXplIDI4eDI4CiAgICAgICAgICAgICAgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHtnfSBhdCAoMjcxLDEzNikgc2l6ZSAyOHgyOApAQCAtMjU1LDggKzI1NSw4
IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICAgICAgICAgICAgICAgICAgUmVuZGVy
U1ZHUGF0aCB7bGluZX0gYXQgKDQxMywxMzYpIHNpemUgNHgyNCBbc3Ryb2tlPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19
XSBbeDE9MC4wMF0gW3kxPTAuMDBdIFt4Mj0wLjAwXSBbeTI9LTEyLjAwXQogICAgICAgICAgICAg
ICAgICAgUmVuZGVyU1ZHUGF0aCB7bGluZX0gYXQgKDQxNSwxNTgpIHNpemUgMjR4NCBbc3Ryb2tl
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9Izg4ODhGRl19XSBbeDE9MC4wMF0gW3kxPTAuMDBdIFt4Mj0xMi4wMF0gW3kyPTAuMDBdCiAg
ICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoNDExLDE1Nikgc2l6ZSA4
eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbeD0tMi4wMF0gW3k9LTIu
MDBdIFt3aWR0aD00LjAwXSBbaGVpZ2h0PTQuMDBdCi0gICAgICAgICAgICBSZW5kZXJTVkdUZXh0
IHt0ZXh0fSBhdCAoMCwtOSkgc2l6ZSA4MHgxMSBjb250YWlucyAxIGNodW5rKHMpCi0gICAgICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDgweDExCisg
ICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwtOSkgc2l6ZSA4MHgxMiBjb250
YWlucyAxIGNodW5rKHMpCisgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDgweDEyCiAgICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAx
IGF0ICgwLjAwLDAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMi41MDogIjEi
CiAgICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAyIGF0ICgxNy41MCwwLjAwKSBzdGFy
dE9mZnNldCAxIGVuZE9mZnNldCAyIHdpZHRoIDE1LjAwOiAiMiIKICAgICAgICAgICAgICAgICBj
aHVuayAxIHRleHQgcnVuIDMgYXQgKDQ3LjUwLDAuMDApIHN0YXJ0T2Zmc2V0IDIgZW5kT2Zmc2V0
IDMgd2lkdGggNy41MDogIjMiCkBAIC0yNzYsNyArMjc2LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA0ODB4MzYwCiAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDUsMSkgc2l6ZSAx
MTh4MTggY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTE4eDE4CiAgICAgICAgICAgICAgIGNodW5rIDEgdGV4
dCBydW4gMSBhdCAoNS4wMCwxNS4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMTYgd2lkdGgg
MTE4LjAwOiAidTE9XCIxXCIgZzI9XCJnbF8yXCIiCi0gICAgICAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHtnfSBhdCAoMjcxLDE5MSkgc2l6ZSA2MHgyOCBbdHJhbnNmb3JtPXttPSgoMi4wMCwwLjAw
KSgwLjAwLDIuMDApKSB0PSg1LjAwLDQ1LjAwKX1dCisgICAgICAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHtnfSBhdCAoMjcxLDE5MSkgc2l6ZSA2MHgzMCBbdHJhbnNmb3JtPXttPSgoMi4wMCwwLjAw
KSgwLjAwLDIuMDApKSB0PSg1LjAwLDQ1LjAwKX1dCiAgICAgICAgICAgICBSZW5kZXJTVkdDb250
YWluZXIge3VzZX0gYXQgKDI3MSwxOTEpIHNpemUgMjh4MjgKICAgICAgICAgICAgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHtnfSBhdCAoMjcxLDE5MSkgc2l6ZSAyOHgyOAogICAgICAgICAgICAgICAg
IFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI3MSwxOTEpIHNpemUgMjh4MjgKQEAgLTI4OSw4
ICsyODksOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAgICAgICAgICAgICAg
IFJlbmRlclNWR1BhdGgge2xpbmV9IGF0ICgyOTcsMTkxKSBzaXplIDZ4MjQgW3N0cm9rZT17W3R5
cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM4
ODg4RkZdfV0gW3gxPTAuMDBdIFt5MT0wLjAwXSBbeDI9MC4wMF0gW3kyPS0xMi4wMF0KICAgICAg
ICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge2xpbmV9IGF0ICgyOTksMjEzKSBzaXplIDI2eDQg
W3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSM4ODg4RkZdfV0gW3gxPTAuMDBdIFt5MT0wLjAwXSBbeDI9MTIuMDBdIFt5Mj0w
LjAwXQogICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDI5NSwyMTEp
IHNpemUgMTB4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFt4PS0yLjAw
XSBbeT0tMi4wMF0gW3dpZHRoPTQuMDBdIFtoZWlnaHQ9NC4wMF0KLSAgICAgICAgICAgIFJlbmRl
clNWR1RleHQge3RleHR9IGF0ICgwLC05KSBzaXplIDI4eDExIGNvbnRhaW5zIDEgY2h1bmsocykK
LSAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
Mjh4MTEKKyAgICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLC05KSBzaXplIDI4
eDEyIGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjh4MTIKICAgICAgICAgICAgICAgICBjaHVuayAxIHRl
eHQgcnVuIDEgYXQgKDAuMDAsMC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAy
LjUwOiAiMSIKICAgICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDIgYXQgKDEyLjUwLDAu
MDApIHN0YXJ0T2Zmc2V0IDEgZW5kT2Zmc2V0IDIgd2lkdGggMTUuMDA6ICIyIgogICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDB4MCBbdHJhbnNmb3JtPXttPSgoMS4w
MCwwLjAwKSgwLjAwLDEuMDApKSB0PSgzMjAuMDAsMTAwLjAwKX1dCkluZGV4OiBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdyYWQtMDgtYi1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZH
LTEuMS9wc2VydmVycy1ncmFkLTA4LWItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3NjQ1MCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvcHNlcnZlcnMtZ3JhZC0w
OC1iLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMywxNSArMywxNSBAQCBsYXllciBh
dCAoMCwwKSBzaXplIDQ4MHgzNjAKIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICBSZW5k
ZXJTVkdSb290IHtzdmd9IGF0ICgwLDApIHNpemUgNDgweDM2MAogICAgIFJlbmRlclNWR0hpZGRl
bkNvbnRhaW5lciB7ZGVmc30gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICgxNywzMCkgc2l6ZSA0NTB4MjI0IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDAp
KDAuMDAsMS41MCkpIHQ9KDAuMDAsMC4wMCl9XQorICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30g
YXQgKDE3LDI4KSBzaXplIDQ1MHgyMjcgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwx
LjUwKSkgdD0oMC4wMCwwLjAwKX1dCiAgICAgICBSZW5kZXJTVkdSZXNvdXJjZUxpbmVhckdyYWRp
ZW50IHtsaW5lYXJHcmFkaWVudH0gW2lkPSJHcmFkaWVudCJdIFtncmFkaWVudFVuaXRzPXVzZXJT
cGFjZU9uVXNlXSBbc3RhcnQ9KDEwLDEwKV0gW2VuZD0oNDQwLDEwKV0KICAgICAgICAgUmVuZGVy
U1ZHR3JhZGllbnRTdG9wIHtzdG9wfSBbb2Zmc2V0PTAuMDBdIFtjb2xvcj0jMDAwMEZGXQogICAg
ICAgICBSZW5kZXJTVkdHcmFkaWVudFN0b3Age3N0b3B9IFtvZmZzZXQ9MS4wMF0gW2NvbG9yPSNG
RjAwMDBdCi0gICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAsMjApIHNpemUgNDQ3eDU4
IGNvbnRhaW5zIDEgY2h1bmsocykKLSAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgNDQ3eDU4CisgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAs
MTkpIHNpemUgNDQ3eDYwIGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDQ3eDYwCiAgICAgICAgICAgY2h1bmsgMSB0
ZXh0IHJ1biAxIGF0ICgyMC4wMCw3MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMTYgd2lk
dGggNDQ2LjI4OiAiR3JhZGllbnQgb24gZmlsbCIKLSAgICAgIFJlbmRlclNWR1RleHQge3RleHR9
IGF0ICgyMCwxMjApIHNpemUgNDMweDQ2IGNvbnRhaW5zIDEgY2h1bmsocykKLSAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDMweDQ2CisgICAgICBSZW5k
ZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjAsMTE4KSBzaXplIDQzMHg0OSBjb250YWlucyAxIGNodW5r
KHMpCisgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQz
MHg0OQogICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMjAuMDAsMTYwLjAwKSBzdGFy
dE9mZnNldCAwIGVuZE9mZnNldCAxOCB3aWR0aCA0MjkuODg6ICJHcmFkaWVudCBvbiBzdHJva2Ui
CiAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDQwLDExNykgc2l6ZSAzNDJ4MzYgY29udGFp
bnMgMSBjaHVuayhzKQogICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMzQyeDM2CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkct
MS4xL3RleHQtdGV4dC0wNS10LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3RleHQtdGV4dC0wNS10LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNzY0NTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1T
VkctMS4xL3RleHQtdGV4dC0wNS10LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNTAs
OCArNTAsOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAgICAgICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTQ2LDU1KSBzaXplIDh4MTkKICAgICAgICAgICAgICAg
ICBSZW5kZXJTVkdQYXRoIHtsaW5lfSBhdCAoMTQ5LDU1KSBzaXplIDJ4MTUgW3N0cm9rZT17W3R5
cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM4
ODg4RkZdfV0gW3gxPTAuMDBdIFt5MT0wLjAwXSBbeDI9MC4wMF0gW3kyPS0xNS4wMF0KICAgICAg
ICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMTQ2LDY2KSBzaXplIDh4OCBbZmls
bD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4PS00LjAwXSBbeT0tNC4wMF0gW3dp
ZHRoPTguMDBdIFtoZWlnaHQ9OC4wMF0KLSAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBh
dCAoMCwyMSkgc2l6ZSA2MHgxMSBjb250YWlucyAxIGNodW5rKHMpCi0gICAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2MHgxMQorICAgICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICgwLDIxKSBzaXplIDYweDEyIGNvbnRhaW5zIDEgY2h1bmso
cykKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDYweDEyCiAgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMC4wMCwzMC4wMCkg
c3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgNCB3aWR0aCA2MC4wMDogIjEyMzQiCiAgICAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgxNTYsODUpIHNpemUgOHgxOQogICAgICAgICAg
ICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTU2LDg1KSBzaXplIDh4MTkgW3RyYW5zZm9y
bT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTAuMDAsNjAuMDApfV0KQEAgLTczLDgg
KzczLDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgICAgICAgICAgIFJlbmRl
clNWR0NvbnRhaW5lciB7Z30gYXQgKDE4Niw4NSkgc2l6ZSA4eDE5CiAgICAgICAgICAgICAgICAg
UmVuZGVyU1ZHUGF0aCB7bGluZX0gYXQgKDE4OSw4NSkgc2l6ZSAyeDE1IFtzdHJva2U9e1t0eXBl
PVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4
OEZGXX1dIFt4MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTAuMDBdIFt5Mj0tMTUuMDBdCiAgICAgICAg
ICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDE4Niw5Nikgc2l6ZSA4eDggW2ZpbGw9
e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeD0tNC4wMF0gW3k9LTQuMDBdIFt3aWR0
aD04LjAwXSBbaGVpZ2h0PTguMDBdCi0gICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQg
KDEwLDUxKSBzaXplIDQ1eDExIGNvbnRhaW5zIDEgY2h1bmsocykKLSAgICAgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ1eDExCisgICAgICAgICAgUmVu
ZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDUxKSBzaXplIDQ1eDEyIGNvbnRhaW5zIDEgY2h1bmso
cykKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDQ1eDEyCiAgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTAuMDAsNjAuMDAp
IHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIxIgogICAgICAgICAgICAg
ICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDIwLjAwLDYwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9m
ZnNldCAxIHdpZHRoIDE1LjAwOiAiMiIKICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAx
IGF0ICgzMC4wMCw2MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDog
IjMiCkBAIC04OSw4ICs4OSw4IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICAgICAg
ICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyMDYsMTE1KSBzaXplIDh4MTkKICAg
ICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtsaW5lfSBhdCAoMjA5LDExNSkgc2l6ZSAyeDE1
IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09M
SURdIFtjb2xvcj0jODg4OEZGXX1dIFt4MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTAuMDBdIFt5Mj0t
MTUuMDBdCiAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDIwNiwxMjYp
IHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM4ODg4RkZdfV0gW3g9LTQuMDBd
IFt5PS00LjAwXSBbd2lkdGg9OC4wMF0gW2hlaWdodD04LjAwXQotICAgICAgICAgIFJlbmRlclNW
R1RleHQge3RleHR9IGF0ICgxMCw4MSkgc2l6ZSA5NXgxMSBjb250YWlucyAxIGNodW5rKHMpCi0g
ICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA5NXgx
MQorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCw4MSkgc2l6ZSA5NXgxMiBj
b250YWlucyAxIGNodW5rKHMpCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSA5NXgxMgogICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEg
YXQgKDEwLjAwLDkwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAi
MSIKICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICg2MC4wMCw5MC4wMCkgc3Rh
cnRPZmZzZXQgMCBlbmRPZmZzZXQgMyB3aWR0aCA0NS4wMDogIjIzNCIKICAgICAgICAgICBSZW5k
ZXJTVkdDb250YWluZXIge2d9IGF0ICgxNDYsMTM1KSBzaXplIDY0eDM5IFt0cmFuc2Zvcm09e209
KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAuMDAsMTIwLjAwKX1dCkBAIC0xMTQsOCArMTE0
LDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgICAgICAgICAgICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHtnfSBhdCAoMTkxLDE1NSkgc2l6ZSA4eDE5CiAgICAgICAgICAgICAgICAg
ICBSZW5kZXJTVkdQYXRoIHtsaW5lfSBhdCAoMTk0LDE1NSkgc2l6ZSAyeDE1IFtzdHJva2U9e1t0
eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0j
ODg4OEZGXX1dIFt4MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTAuMDBdIFt5Mj0tMTUuMDBdCiAgICAg
ICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMTkxLDE2Nikgc2l6ZSA4eDgg
W2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeD0tNC4wMF0gW3k9LTQuMDBd
IFt3aWR0aD04LjAwXSBbaGVpZ2h0PTguMDBdCi0gICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoMCwtMTkpIHNpemUgNjB4MzEgY29udGFpbnMgMSBjaHVuayhzKQotICAgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2MHgzMQorICAg
ICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsLTE5KSBzaXplIDYweDMyIGNvbnRh
aW5zIDEgY2h1bmsocykKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgNjB4MzIKICAgICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEg
YXQgKDAuMDAsLTEwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAi
MSIKICAgICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDE1LjAwLC01LjAwKSBz
dGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAiMiIKICAgICAgICAgICAgICAg
ICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDMwLjAwLDUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zm
c2V0IDEgd2lkdGggMTUuMDA6ICIzIgpAQCAtMTQxLDggKzE0MSw4IEBAIGxheWVyIGF0ICgwLDAp
IHNpemUgNDgweDM2MAogICAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQg
KDE4NiwxODUpIHNpemUgOHgxOQogICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7bGlu
ZX0gYXQgKDE4OSwxODUpIHNpemUgMngxNSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNG
RjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeDE9MC4wMF0g
W3kxPTAuMDBdIFt4Mj0wLjAwXSBbeTI9LTE1LjAwXQogICAgICAgICAgICAgICAgICAgUmVuZGVy
U1ZHUGF0aCB7cmVjdH0gYXQgKDE4NiwxOTYpIHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSM4ODg4RkZdfV0gW3g9LTQuMDBdIFt5PS00LjAwXSBbd2lkdGg9OC4wMF0gW2hlaWdo
dD04LjAwXQotICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLC0xOSkgc2l6
ZSA0NXgzMSBjb250YWlucyAxIGNodW5rKHMpCi0gICAgICAgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ1eDMxCisgICAgICAgICAgICBSZW5kZXJTVkdU
ZXh0IHt0ZXh0fSBhdCAoMTAsLTE5KSBzaXplIDQ1eDMyIGNvbnRhaW5zIDEgY2h1bmsocykKKyAg
ICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDV4
MzIKICAgICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDEwLjAwLC0xMC4wMCkg
c3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjEiCiAgICAgICAgICAgICAg
ICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgyMC4wMCwtNS4wMCkgc3RhcnRPZmZzZXQgMCBlbmRP
ZmZzZXQgMSB3aWR0aCAxNS4wMDogIjIiCiAgICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1
biAxIGF0ICgzMC4wMCw1LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAw
OiAiMyIKQEAgLTE2OCw4ICsxNjgsOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAg
ICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgxOTYsMjE1KSBzaXplIDh4
MTkKICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge2xpbmV9IGF0ICgxOTksMjE1KSBz
aXplIDJ4MTUgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSM4ODg4RkZdfV0gW3gxPTAuMDBdIFt5MT0wLjAwXSBbeDI9MC4w
MF0gW3kyPS0xNS4wMF0KICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0
ICgxOTYsMjI2KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1d
IFt4PS00LjAwXSBbeT0tNC4wMF0gW3dpZHRoPTguMDBdIFtoZWlnaHQ9OC4wMF0KLSAgICAgICAg
ICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwtMTkpIHNpemUgNTV4MzEgY29udGFpbnMg
MSBjaHVuayhzKQotICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSA1NXgzMQorICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEw
LC0xOSkgc2l6ZSA1NXgzMiBjb250YWlucyAxIGNodW5rKHMpCisgICAgICAgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDU1eDMyCiAgICAgICAgICAgICAg
ICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgxMC4wMCwtMTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5k
T2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIxIgogICAgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBy
dW4gMSBhdCAoMjAuMDAsLTUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUu
MDA6ICIyIgogICAgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMzUuMDAsNS4w
MCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjMiCkBAIC0xODUsOCAr
MTg1LDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgICAgICAgICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTYxLDI0MCkgc2l6ZSA4eDE5CiAgICAgICAgICAgICAg
ICAgICBSZW5kZXJTVkdQYXRoIHtsaW5lfSBhdCAoMTY0LDI0MCkgc2l6ZSAyeDE1IFtzdHJva2U9
e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xv
cj0jODg4OEZGXX1dIFt4MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTAuMDBdIFt5Mj0tMTUuMDBdCiAg
ICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMTYxLDI1MSkgc2l6ZSA4
eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeD0tNC4wMF0gW3k9LTQu
MDBdIFt3aWR0aD04LjAwXSBbaGVpZ2h0PTguMDBdCi0gICAgICAgICAgICBSZW5kZXJTVkdUZXh0
IHt0ZXh0fSBhdCAoMCwtMTkpIHNpemUgNjB4MjYgY29udGFpbnMgMSBjaHVuayhzKQotICAgICAg
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2MHgyNgor
ICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsLTE5KSBzaXplIDYweDI3IGNv
bnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgNjB4MjcKICAgICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVu
IDEgYXQgKDAuMDAsLTEwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAw
OiAiMSIKICAgICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDE1LjAwLDUuMDAp
IHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDMgd2lkdGggNDUuMDA6ICIyMzQiCiAgICAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTU2LDI1NSkgc2l6ZSA0OXgyNCBbdHJhbnNmb3Jt
PXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgwLjAwLDI0MC4wMCl9XQpAQCAtMjEwLDgg
KzIxMCw4IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICAgICAgICAgICAgICAgIFJl
bmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE4NiwyNjApIHNpemUgOHgxOQogICAgICAgICAgICAg
ICAgICAgUmVuZGVyU1ZHUGF0aCB7bGluZX0gYXQgKDE4OSwyNjApIHNpemUgMngxNSBbc3Ryb2tl
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9Izg4ODhGRl19XSBbeDE9MC4wMF0gW3kxPTAuMDBdIFt4Mj0wLjAwXSBbeTI9LTE1LjAwXQog
ICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDE4NiwyNzEpIHNpemUg
OHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM4ODg4RkZdfV0gW3g9LTQuMDBdIFt5PS00
LjAwXSBbd2lkdGg9OC4wMF0gW2hlaWdodD04LjAwXQotICAgICAgICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKDEwLC0xOSkgc2l6ZSA0NXgxNiBjb250YWlucyAxIGNodW5rKHMpCi0gICAg
ICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ1eDE2
CisgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsLTE5KSBzaXplIDQ1eDE3
IGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgNDV4MTcKICAgICAgICAgICAgICAgICBjaHVuayAxIHRleHQg
cnVuIDEgYXQgKDEwLjAwLC0xMC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAx
NS4wMDogIjEiCiAgICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgyMC4wMCwt
NS4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjIiCiAgICAgICAg
ICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgzMC4wMCwtNS4wMCkgc3RhcnRPZmZzZXQg
MCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjMiCkBAIC0yMjcsOCArMjI3LDggQEAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHtnfSBhdCAoMjA2LDI5MCkgc2l6ZSA4eDE5CiAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQ
YXRoIHtsaW5lfSBhdCAoMjA5LDI5MCkgc2l6ZSAyeDE1IFtzdHJva2U9e1t0eXBlPVNPTElEXSBb
Y29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4
MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTAuMDBdIFt5Mj0tMTUuMDBdCiAgICAgICAgICAgICAgICAg
ICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMjA2LDMwMSkgc2l6ZSA4eDggW2ZpbGw9e1t0eXBl
PVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeD0tNC4wMF0gW3k9LTQuMDBdIFt3aWR0aD04LjAw
XSBbaGVpZ2h0PTguMDBdCi0gICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAs
LTE5KSBzaXplIDk1eDE2IGNvbnRhaW5zIDEgY2h1bmsocykKLSAgICAgICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgOTV4MTYKKyAgICAgICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwtMTkpIHNpemUgOTV4MTcgY29udGFpbnMgMSBjaHVu
ayhzKQorICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSA5NXgxNwogICAgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTAuMDAs
LTEwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAiMSIKICAgICAg
ICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDYwLjAwLC01LjAwKSBzdGFydE9mZnNl
dCAwIGVuZE9mZnNldCAzIHdpZHRoIDQ1LjAwOiAiMjM0IgogICAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHtnfSBhdCAoMjE0LDkpIHNpemUgMTE5eDMyMSBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAw
KSgwLjAwLDEuMDApKSB0PSgyNTAuMDAsNDAuMDApfV0KQEAgLTI0Niw4ICsyNDYsOCBAQCBsYXll
ciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICgyNDYsNTUpIHNpemUgOHgxOQogICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZH
UGF0aCB7bGluZX0gYXQgKDI0OSw1NSkgc2l6ZSAyeDE1IFtzdHJva2U9e1t0eXBlPVNPTElEXSBb
Y29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4
MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTAuMDBdIFt5Mj0tMTUuMDBdCiAgICAgICAgICAgICAgICAg
ICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMjQ2LDY2KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9
U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4PS00LjAwXSBbeT0tNC4wMF0gW3dpZHRoPTguMDBd
IFtoZWlnaHQ9OC4wMF0KLSAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKC0z
MCwyMSkgc2l6ZSA2MHgxMSBjb250YWlucyAxIGNodW5rKHMpCi0gICAgICAgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjB4MTEKKyAgICAgICAgICAg
ICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKC0zMCwyMSkgc2l6ZSA2MHgxMiBjb250YWlucyAx
IGNodW5rKHMpCisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgNjB4MTIKICAgICAgICAgICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNo
b3IpIHRleHQgcnVuIDEgYXQgKC0zMC4wMCwzMC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQg
NCB3aWR0aCA2MC4wMDogIjEyMzQiCiAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
Z30gYXQgKDI1Niw4NSkgc2l6ZSA4eDE5IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAs
MS4wMCkpIHQ9KDEwLjAwLDYwLjAwKX1dCiAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHtnfSBhdCAoMjU2LDg1KSBzaXplIDh4MTkKQEAgLTI2NSw4ICsyNjUsOCBAQCBsYXllciBh
dCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIg
e2d9IGF0ICgyODYsODUpIHNpemUgOHgxOQogICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0
aCB7bGluZX0gYXQgKDI4OSw4NSkgc2l6ZSAyeDE1IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29s
b3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4MT0w
LjAwXSBbeTE9MC4wMF0gW3gyPTAuMDBdIFt5Mj0tMTUuMDBdCiAgICAgICAgICAgICAgICAgICBS
ZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMjg2LDk2KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09M
SURdIFtjb2xvcj0jODg4OEZGXX1dIFt4PS00LjAwXSBbeT0tNC4wMF0gW3dpZHRoPTguMDBdIFto
ZWlnaHQ9OC4wMF0KLSAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIsNTEp
IHNpemUgNDZ4MTEgY29udGFpbnMgMSBjaHVuayhzKQotICAgICAgICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ2eDExCisgICAgICAgICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICgyLDUxKSBzaXplIDQ2eDEyIGNvbnRhaW5zIDEgY2h1bmso
cykKKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSA0NngxMgogICAgICAgICAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4
dCBydW4gMSBhdCAoMi41MCw2MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAx
NS4wMDogIjEiCiAgICAgICAgICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0
IHJ1biAxIGF0ICgxMi41MCw2MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAx
NS4wMDogIjIiCiAgICAgICAgICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0
IHJ1biAxIGF0ICgyMi41MCw2MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAx
NS4wMDogIjMiCkBAIC0yNzksOCArMjc5LDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYw
CiAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzA2LDExNSkgc2l6
ZSA4eDE5CiAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtsaW5lfSBhdCAoMzA5LDEx
NSkgc2l6ZSAyeDE1IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmls
bD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4MT0wLjAwXSBbeTE9MC4wMF0gW3gy
PTAuMDBdIFt5Mj0tMTUuMDBdCiAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0
fSBhdCAoMzA2LDEyNikgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhG
Rl19XSBbeD0tNC4wMF0gW3k9LTQuMDBdIFt3aWR0aD04LjAwXSBbaGVpZ2h0PTguMDBdCi0gICAg
ICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyLDgxKSBzaXplIDgxeDExIGNvbnRh
aW5zIDEgY2h1bmsocykKLSAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSA4MXgxMQorICAgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0
fSBhdCAoMiw4MSkgc2l6ZSA4MXgxMiBjb250YWlucyAxIGNodW5rKHMpCisgICAgICAgICAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgODF4MTIKICAgICAg
ICAgICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDIuNTAs
OTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIxIgogICAgICAg
ICAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMzcuNTAs
OTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDMgd2lkdGggNDUuMDA6ICIyMzQiCiAgICAg
ICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI0MiwxMzUpIHNpemUgNjF4Mzkg
W3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMC4wMCwxMjAuMDApfV0K
QEAgLTMwMCw4ICszMDAsOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAgICAg
ICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI5MSwxNTUpIHNpemUgOHgxOQog
ICAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtsaW5lfSBhdCAoMjk0LDE1NSkgc2l6
ZSAyeDE1IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5
cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTAuMDBd
IFt5Mj0tMTUuMDBdCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0
ICgyOTEsMTY2KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1d
IFt4PS00LjAwXSBbeT0tNC4wMF0gW3dpZHRoPTguMDBdIFtoZWlnaHQ9OC4wMF0KLSAgICAgICAg
ICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoLTgsLTE5KSBzaXplIDYxeDMxIGNvbnRh
aW5zIDEgY2h1bmsocykKLSAgICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDYxeDMxCisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7
dGV4dH0gYXQgKC04LC0xOSkgc2l6ZSA2MXgzMiBjb250YWlucyAxIGNodW5rKHMpCisgICAgICAg
ICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2MXgz
MgogICAgICAgICAgICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAx
IGF0ICgtNy41MCwtMTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6
ICIxIgogICAgICAgICAgICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1
biAxIGF0ICg3LjUwLC01LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAw
OiAiMiIKICAgICAgICAgICAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBy
dW4gMSBhdCAoMjIuNTAsNS4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4w
MDogIjMiCkBAIC0zMjMsOCArMzIzLDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAg
ICAgICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyODYsMTg1KSBzaXpl
IDh4MTkKICAgICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7bGluZX0gYXQgKDI4OSwx
ODUpIHNpemUgMngxNSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2Zp
bGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeDE9MC4wMF0gW3kxPTAuMDBdIFt4
Mj0wLjAwXSBbeTI9LTE1LjAwXQogICAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHty
ZWN0fSBhdCAoMjg2LDE5Nikgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4
ODhGRl19XSBbeD0tNC4wMF0gW3k9LTQuMDBdIFt3aWR0aD04LjAwXSBbaGVpZ2h0PTguMDBdCi0g
ICAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIsLTE5KSBzaXplIDQ2eDMx
IGNvbnRhaW5zIDEgY2h1bmsocykKLSAgICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ2eDMxCisgICAgICAgICAgICAgICAgUmVuZGVyU1ZH
VGV4dCB7dGV4dH0gYXQgKDIsLTE5KSBzaXplIDQ2eDMyIGNvbnRhaW5zIDEgY2h1bmsocykKKyAg
ICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDQ2eDMyCiAgICAgICAgICAgICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQg
cnVuIDEgYXQgKDIuNTAsLTEwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1
LjAwOiAiMSIKICAgICAgICAgICAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4
dCBydW4gMSBhdCAoMTIuNTAsLTUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGgg
MTUuMDA6ICIyIgogICAgICAgICAgICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0
ZXh0IHJ1biAxIGF0ICgyMi41MCw1LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRo
IDE1LjAwOiAiMyIKQEAgLTM0Niw4ICszNDYsOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgz
NjAKICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI5NiwyMTUp
IHNpemUgOHgxOQogICAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtsaW5lfSBhdCAo
Mjk5LDIxNSkgc2l6ZSAyeDE1IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19
XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4MT0wLjAwXSBbeTE9MC4w
MF0gW3gyPTAuMDBdIFt5Mj0tMTUuMDBdCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR1Bh
dGgge3JlY3R9IGF0ICgyOTYsMjI2KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xv
cj0jODg4OEZGXX1dIFt4PS00LjAwXSBbeT0tNC4wMF0gW3dpZHRoPTguMDBdIFtoZWlnaHQ9OC4w
MF0KLSAgICAgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMiwtMTkpIHNpemUg
NTZ4MzEgY29udGFpbnMgMSBjaHVuayhzKQotICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNTZ4MzEKKyAgICAgICAgICAgICAgICBSZW5k
ZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMiwtMTkpIHNpemUgNTZ4MzIgY29udGFpbnMgMSBjaHVuayhz
KQorICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgNTZ4MzIKICAgICAgICAgICAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikg
dGV4dCBydW4gMSBhdCAoMi41MCwtMTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lk
dGggMTUuMDA6ICIxIgogICAgICAgICAgICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9y
KSB0ZXh0IHJ1biAxIGF0ICgxMi41MCwtNS4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3
aWR0aCAxNS4wMDogIjIiCiAgICAgICAgICAgICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNo
b3IpIHRleHQgcnVuIDEgYXQgKDI3LjUwLDUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEg
d2lkdGggMTUuMDA6ICIzIgpAQCAtMzYxLDggKzM2MSw4IEBAIGxheWVyIGF0ICgwLDApIHNpemUg
NDgweDM2MAogICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjYx
LDI0MCkgc2l6ZSA4eDE5CiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge2xpbmV9
IGF0ICgyNjQsMjQwKSBzaXplIDJ4MTUgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYw
MDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM4ODg4RkZdfV0gW3gxPTAuMDBdIFt5
MT0wLjAwXSBbeDI9MC4wMF0gW3kyPS0xNS4wMF0KICAgICAgICAgICAgICAgICAgICAgUmVuZGVy
U1ZHUGF0aCB7cmVjdH0gYXQgKDI2MSwyNTEpIHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSM4ODg4RkZdfV0gW3g9LTQuMDBdIFt5PS00LjAwXSBbd2lkdGg9OC4wMF0gW2hlaWdo
dD04LjAwXQotICAgICAgICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgtOCwtMTkp
IHNpemUgNDZ4MjYgY29udGFpbnMgMSBjaHVuayhzKQotICAgICAgICAgICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDZ4MjYKKyAgICAgICAgICAgICAg
ICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoLTgsLTE5KSBzaXplIDQ2eDI3IGNvbnRhaW5zIDEg
Y2h1bmsocykKKyAgICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDQ2eDI3CiAgICAgICAgICAgICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBh
bmNob3IpIHRleHQgcnVuIDEgYXQgKC03LjUwLC0xMC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZz
ZXQgMSB3aWR0aCAxNS4wMDogIjEiCiAgICAgICAgICAgICAgICAgICAgIGNodW5rIDEgKG1pZGRs
ZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKC03LjUwLDUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zm
c2V0IDMgd2lkdGggNDUuMDA6ICIyMzQiCiAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7Z30gYXQgKDI1MiwyNTUpIHNpemUgNDZ4MjQgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCko
MC4wMCwxLjAwKSkgdD0oMC4wMCwyNDAuMDApfV0KQEAgLTM4Miw4ICszODIsOCBAQCBsYXllciBh
dCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7Z30gYXQgKDI4NiwyNjApIHNpemUgOHgxOQogICAgICAgICAgICAgICAgICAgICBSZW5kZXJT
VkdQYXRoIHtsaW5lfSBhdCAoMjg5LDI2MCkgc2l6ZSAyeDE1IFtzdHJva2U9e1t0eXBlPVNPTElE
XSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1d
IFt4MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTAuMDBdIFt5Mj0tMTUuMDBdCiAgICAgICAgICAgICAg
ICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0ICgyODYsMjcxKSBzaXplIDh4OCBbZmlsbD17
W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4PS00LjAwXSBbeT0tNC4wMF0gW3dpZHRo
PTguMDBdIFtoZWlnaHQ9OC4wMF0KLSAgICAgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0
fSBhdCAoMiwtMTkpIHNpemUgNDZ4MTYgY29udGFpbnMgMSBjaHVuayhzKQotICAgICAgICAgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDZ4MTYKKyAg
ICAgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMiwtMTkpIHNpemUgNDZ4MTcg
Y29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDZ4MTcKICAgICAgICAgICAgICAgICAgICAgY2h1bmsg
MSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMi41MCwtMTAuMDApIHN0YXJ0T2Zmc2V0
IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIxIgogICAgICAgICAgICAgICAgICAgICBjaHVu
ayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgxMi41MCwtNS4wMCkgc3RhcnRPZmZz
ZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjIiCiAgICAgICAgICAgICAgICAgICAgIGNo
dW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDIyLjUwLC01LjAwKSBzdGFydE9m
ZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAiMyIKQEAgLTM5Nyw4ICszOTcsOCBAQCBs
YXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7Z30gYXQgKDMwNiwyOTApIHNpemUgOHgxOQogICAgICAgICAgICAgICAgICAgICBS
ZW5kZXJTVkdQYXRoIHtsaW5lfSBhdCAoMzA5LDI5MCkgc2l6ZSAyeDE1IFtzdHJva2U9e1t0eXBl
PVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4
OEZGXX1dIFt4MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTAuMDBdIFt5Mj0tMTUuMDBdCiAgICAgICAg
ICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0ICgzMDYsMzAxKSBzaXplIDh4OCBb
ZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4PS00LjAwXSBbeT0tNC4wMF0g
W3dpZHRoPTguMDBdIFtoZWlnaHQ9OC4wMF0KLSAgICAgICAgICAgICAgICBSZW5kZXJTVkdUZXh0
IHt0ZXh0fSBhdCAoMiwtMTkpIHNpemUgODF4MTYgY29udGFpbnMgMSBjaHVuayhzKQotICAgICAg
ICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgODF4
MTYKKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMiwtMTkpIHNpemUg
ODF4MTcgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgODF4MTcKICAgICAgICAgICAgICAgICAgICAg
Y2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMi41MCwtMTAuMDApIHN0YXJ0
T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIxIgogICAgICAgICAgICAgICAgICAg
ICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgzNy41MCwtNS4wMCkgc3Rh
cnRPZmZzZXQgMCBlbmRPZmZzZXQgMyB3aWR0aCA0NS4wMDogIjIzNCIKICAgICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7Z30gYXQgKDI5MCw5KSBzaXplIDEyNHgzMjEgW3RyYW5zZm9ybT17bT0oKDEu
MDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMzUwLjAwLDQwLjAwKX1dCkBAIC00MTYsOCArNDE2LDgg
QEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgICAgICAgICAgICAgUmVuZGVyU1ZH
Q29udGFpbmVyIHtnfSBhdCAoMzQ2LDU1KSBzaXplIDh4MTkKICAgICAgICAgICAgICAgICAgIFJl
bmRlclNWR1BhdGgge2xpbmV9IGF0ICgzNDksNTUpIHNpemUgMngxNSBbc3Ryb2tlPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhG
Rl19XSBbeDE9MC4wMF0gW3kxPTAuMDBdIFt4Mj0wLjAwXSBbeTI9LTE1LjAwXQogICAgICAgICAg
ICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDM0Niw2Nikgc2l6ZSA4eDggW2ZpbGw9
e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeD0tNC4wMF0gW3k9LTQuMDBdIFt3aWR0
aD04LjAwXSBbaGVpZ2h0PTguMDBdCi0gICAgICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9
IGF0ICgtNjAsMjEpIHNpemUgNjB4MTEgY29udGFpbnMgMSBjaHVuayhzKQotICAgICAgICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDYweDExCisgICAg
ICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgtNjAsMjEpIHNpemUgNjB4MTIgY29u
dGFpbnMgMSBjaHVuayhzKQorICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDYweDEyCiAgICAgICAgICAgICAgICAgICBjaHVuayAxIChlbmQg
YW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgtNjAuMDAsMzAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zm
c2V0IDQgd2lkdGggNjAuMDA6ICIxMjM0IgogICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWlu
ZXIge2d9IGF0ICgzNTYsODUpIHNpemUgOHgxOSBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgw
LjAwLDEuMDApKSB0PSgxMC4wMCw2MC4wMCl9XQogICAgICAgICAgICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7Z30gYXQgKDM1Niw4NSkgc2l6ZSA4eDE5CkBAIC00MzUsOCArNDM1LDggQEAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFp
bmVyIHtnfSBhdCAoMzg2LDg1KSBzaXplIDh4MTkKICAgICAgICAgICAgICAgICAgIFJlbmRlclNW
R1BhdGgge2xpbmV9IGF0ICgzODksODUpIHNpemUgMngxNSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBb
eDE9MC4wMF0gW3kxPTAuMDBdIFt4Mj0wLjAwXSBbeTI9LTE1LjAwXQogICAgICAgICAgICAgICAg
ICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDM4Niw5Nikgc2l6ZSA4eDggW2ZpbGw9e1t0eXBl
PVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeD0tNC4wMF0gW3k9LTQuMDBdIFt3aWR0aD04LjAw
XSBbaGVpZ2h0PTguMDBdCi0gICAgICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgt
NSw1MSkgc2l6ZSA0NXgxMSBjb250YWlucyAxIGNodW5rKHMpCi0gICAgICAgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDV4MTEKKyAgICAgICAgICAg
ICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKC01LDUxKSBzaXplIDQ1eDEyIGNvbnRhaW5zIDEg
Y2h1bmsocykKKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSA0NXgxMgogICAgICAgICAgICAgICAgICAgY2h1bmsgMSAoZW5kIGFuY2hvcikg
dGV4dCBydW4gMSBhdCAoLTUuMDAsNjAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lk
dGggMTUuMDA6ICIxIgogICAgICAgICAgICAgICAgICAgY2h1bmsgMSAoZW5kIGFuY2hvcikgdGV4
dCBydW4gMSBhdCAoNS4wMCw2MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAx
NS4wMDogIjIiCiAgICAgICAgICAgICAgICAgICBjaHVuayAxIChlbmQgYW5jaG9yKSB0ZXh0IHJ1
biAxIGF0ICgxNS4wMCw2MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4w
MDogIjMiCkBAIC00NDksOCArNDQ5LDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAg
ICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoNDA2LDExNSkgc2l6ZSA4
eDE5CiAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtsaW5lfSBhdCAoNDA5LDExNSkg
c2l6ZSAyeDE1IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17
W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTAu
MDBdIFt5Mj0tMTUuMDBdCiAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBh
dCAoNDA2LDEyNikgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19
XSBbeD0tNC4wMF0gW3k9LTQuMDBdIFt3aWR0aD04LjAwXSBbaGVpZ2h0PTguMDBdCi0gICAgICAg
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgtNSw4MSkgc2l6ZSA2NXgxMSBjb250YWlu
cyAxIGNodW5rKHMpCi0gICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgNjV4MTEKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKC01LDgxKSBzaXplIDY1eDEyIGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2NXgxMgogICAgICAg
ICAgICAgICAgICAgY2h1bmsgMSAoZW5kIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoLTUuMDAsOTAu
MDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIxIgogICAgICAgICAg
ICAgICAgICAgY2h1bmsgMSAoZW5kIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMTUuMDAsOTAuMDAp
IHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDMgd2lkdGggNDUuMDA6ICIyMzQiCiAgICAgICAgICAg
ICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDMzNSwxMzUpIHNpemUgNjR4MzkgW3RyYW5z
Zm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMC4wMCwxMjAuMDApfV0KQEAgLTQ3
MCw4ICs0NzAsOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAgICAgICAgICAg
ICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDM5MSwxNTUpIHNpemUgOHgxOQogICAgICAg
ICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtsaW5lfSBhdCAoMzk0LDE1NSkgc2l6ZSAyeDE1
IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09M
SURdIFtjb2xvcj0jODg4OEZGXX1dIFt4MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTAuMDBdIFt5Mj0t
MTUuMDBdCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0ICgzOTEs
MTY2KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4PS00
LjAwXSBbeT0tNC4wMF0gW3dpZHRoPTguMDBdIFtoZWlnaHQ9OC4wMF0KLSAgICAgICAgICAgICAg
ICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoLTE1LC0xOSkgc2l6ZSA2MHgzMSBjb250YWlucyAx
IGNodW5rKHMpCi0gICAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSA2MHgzMQorICAgICAgICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9
IGF0ICgtMTUsLTE5KSBzaXplIDYweDMyIGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDYweDMyCiAg
ICAgICAgICAgICAgICAgICAgIGNodW5rIDEgKGVuZCBhbmNob3IpIHRleHQgcnVuIDEgYXQgKC0x
NS4wMCwtMTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIxIgog
ICAgICAgICAgICAgICAgICAgICBjaHVuayAxIChlbmQgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgw
LjAwLC01LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAiMiIKICAg
ICAgICAgICAgICAgICAgICAgY2h1bmsgMSAoZW5kIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMTUu
MDAsNS4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjMiCkBAIC00
OTMsOCArNDkzLDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAgICAgICAgICAg
ICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzODYsMTg1KSBzaXplIDh4MTkKICAgICAg
ICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7bGluZX0gYXQgKDM4OSwxODUpIHNpemUgMngx
NSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNP
TElEXSBbY29sb3I9Izg4ODhGRl19XSBbeDE9MC4wMF0gW3kxPTAuMDBdIFt4Mj0wLjAwXSBbeTI9
LTE1LjAwXQogICAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMzg2
LDE5Nikgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeD0t
NC4wMF0gW3k9LTQuMDBdIFt3aWR0aD04LjAwXSBbaGVpZ2h0PTguMDBdCi0gICAgICAgICAgICAg
ICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKC01LC0xOSkgc2l6ZSA0NXgzMSBjb250YWlucyAx
IGNodW5rKHMpCi0gICAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSA0NXgzMQorICAgICAgICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9
IGF0ICgtNSwtMTkpIHNpemUgNDV4MzIgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICAgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDV4MzIKICAg
ICAgICAgICAgICAgICAgICAgY2h1bmsgMSAoZW5kIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoLTUu
MDAsLTEwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAiMSIKICAg
ICAgICAgICAgICAgICAgICAgY2h1bmsgMSAoZW5kIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoNS4w
MCwtNS4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjIiCiAgICAg
ICAgICAgICAgICAgICAgIGNodW5rIDEgKGVuZCBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDE1LjAw
LDUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIzIgpAQCAtNTE2
LDggKzUxNiw4IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNDgweDM2MAogICAgICAgICAgICAgICAg
ICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzk2LDIxNSkgc2l6ZSA4eDE5CiAgICAgICAg
ICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge2xpbmV9IGF0ICgzOTksMjE1KSBzaXplIDJ4MTUg
W3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSM4ODg4RkZdfV0gW3gxPTAuMDBdIFt5MT0wLjAwXSBbeDI9MC4wMF0gW3kyPS0x
NS4wMF0KICAgICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDM5Niwy
MjYpIHNpemUgOHg4IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM4ODg4RkZdfV0gW3g9LTQu
MDBdIFt5PS00LjAwXSBbd2lkdGg9OC4wMF0gW2hlaWdodD04LjAwXQotICAgICAgICAgICAgICAg
IFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgtNSwtMTkpIHNpemUgNTV4MzEgY29udGFpbnMgMSBj
aHVuayhzKQotICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgNTV4MzEKKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBh
dCAoLTUsLTE5KSBzaXplIDU1eDMyIGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDU1eDMyCiAgICAg
ICAgICAgICAgICAgICAgIGNodW5rIDEgKGVuZCBhbmNob3IpIHRleHQgcnVuIDEgYXQgKC01LjAw
LC0xMC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjEiCiAgICAg
ICAgICAgICAgICAgICAgIGNodW5rIDEgKGVuZCBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDUuMDAs
LTUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIyIgogICAgICAg
ICAgICAgICAgICAgICBjaHVuayAxIChlbmQgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgyMC4wMCw1
LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAiMyIKQEAgLTUzMSw4
ICs1MzEsOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAgICAgICAgICAgICAg
IFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDM2MSwyNDApIHNpemUgOHgxOQogICAgICAgICAg
ICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtsaW5lfSBhdCAoMzY0LDI0MCkgc2l6ZSAyeDE1IFtz
dHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURd
IFtjb2xvcj0jODg4OEZGXX1dIFt4MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTAuMDBdIFt5Mj0tMTUu
MDBdCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0ICgzNjEsMjUx
KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4PS00LjAw
XSBbeT0tNC4wMF0gW3dpZHRoPTguMDBdIFtoZWlnaHQ9OC4wMF0KLSAgICAgICAgICAgICAgICBS
ZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoLTMwLC0xOSkgc2l6ZSA0NXgyNiBjb250YWlucyAxIGNo
dW5rKHMpCi0gICAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDE1LDApIHNpemUgNDV4MjYKKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBh
dCAoLTMwLC0xOSkgc2l6ZSA0NXgyNyBjb250YWlucyAxIGNodW5rKHMpCisgICAgICAgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDE1LDApIHNpemUgNDV4MjcKICAg
ICAgICAgICAgICAgICAgICAgY2h1bmsgMSAoZW5kIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoLTE1
LjAwLC0xMC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjEiCiAg
ICAgICAgICAgICAgICAgICAgIGNodW5rIDEgKGVuZCBhbmNob3IpIHRleHQgcnVuIDEgYXQgKC0z
MC4wMCw1LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAzIHdpZHRoIDQ1LjAwOiAiMjM0Igog
ICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzNDUsMjU1KSBzaXplIDQ5
eDI0IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAuMDAsMjQwLjAw
KX1dCkBAIC01NTIsOCArNTUyLDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0ODB4MzYwCiAgICAg
ICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzODYsMjYwKSBzaXplIDh4
MTkKICAgICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7bGluZX0gYXQgKDM4OSwyNjAp
IHNpemUgMngxNSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9
e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeDE9MC4wMF0gW3kxPTAuMDBdIFt4Mj0w
LjAwXSBbeTI9LTE1LjAwXQogICAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0
fSBhdCAoMzg2LDI3MSkgc2l6ZSA4eDggW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhG
Rl19XSBbeD0tNC4wMF0gW3k9LTQuMDBdIFt3aWR0aD04LjAwXSBbaGVpZ2h0PTguMDBdCi0gICAg
ICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKC01LC0xOSkgc2l6ZSA0NXgxNiBj
b250YWlucyAxIGNodW5rKHMpCi0gICAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0NXgxNgorICAgICAgICAgICAgICAgIFJlbmRlclNWR1Rl
eHQge3RleHR9IGF0ICgtNSwtMTkpIHNpemUgNDV4MTcgY29udGFpbnMgMSBjaHVuayhzKQorICAg
ICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
NDV4MTcKICAgICAgICAgICAgICAgICAgICAgY2h1bmsgMSAoZW5kIGFuY2hvcikgdGV4dCBydW4g
MSBhdCAoLTUuMDAsLTEwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAw
OiAiMSIKICAgICAgICAgICAgICAgICAgICAgY2h1bmsgMSAoZW5kIGFuY2hvcikgdGV4dCBydW4g
MSBhdCAoNS4wMCwtNS4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDog
IjIiCiAgICAgICAgICAgICAgICAgICAgIGNodW5rIDEgKGVuZCBhbmNob3IpIHRleHQgcnVuIDEg
YXQgKDE1LjAwLC01LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAi
MyIKQEAgLTU2Nyw4ICs1NjcsOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAg
ICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDQwNiwyOTApIHNpemUgOHgx
OQogICAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtsaW5lfSBhdCAoNDA5LDI5MCkg
c2l6ZSAyeDE1IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17
W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTAu
MDBdIFt5Mj0tMTUuMDBdCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9
IGF0ICg0MDYsMzAxKSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZG
XX1dIFt4PS00LjAwXSBbeT0tNC4wMF0gW3dpZHRoPTguMDBdIFtoZWlnaHQ9OC4wMF0KLSAgICAg
ICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoLTUsLTE5KSBzaXplIDY1eDE2IGNv
bnRhaW5zIDEgY2h1bmsocykKLSAgICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDY1eDE2CisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKC01LC0xOSkgc2l6ZSA2NXgxNyBjb250YWlucyAxIGNodW5rKHMpCisgICAg
ICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2
NXgxNwogICAgICAgICAgICAgICAgICAgICBjaHVuayAxIChlbmQgYW5jaG9yKSB0ZXh0IHJ1biAx
IGF0ICgtNS4wMCwtMTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6
ICIxIgogICAgICAgICAgICAgICAgICAgICBjaHVuayAxIChlbmQgYW5jaG9yKSB0ZXh0IHJ1biAx
IGF0ICgxNS4wMCwtNS4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMyB3aWR0aCA0NS4wMDog
IjIzNCIKICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsMzE0KSBzaXplIDI2NHg0NiBj
b250YWlucyAxIGNodW5rKHMpCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1cz
Qy1TVkctMS4xL3RleHQtdGV4dC0wNi10LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL1czQy1TVkctMS4xL3RleHQtdGV4dC0wNi10LWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gNzY0NTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3Zn
L1czQy1TVkctMS4xL3RleHQtdGV4dC0wNi10LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtNTAsOCArNTAsOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAgICAgICAg
ICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjQ2LDU1KSBzaXplIDh4MTkKICAgICAgICAg
ICAgICAgICBSZW5kZXJTVkdQYXRoIHtsaW5lfSBhdCAoMjQ5LDU1KSBzaXplIDJ4MTUgW3N0cm9r
ZT17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSM4ODg4RkZdfV0gW3gxPTAuMDBdIFt5MT0wLjAwXSBbeDI9MC4wMF0gW3kyPS0xNS4wMF0K
ICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMjQ2LDY2KSBzaXplIDh4
OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4PS00LjAwXSBbeT0tNC4w
MF0gW3dpZHRoPTguMDBdIFtoZWlnaHQ9OC4wMF0KLSAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoMTAsLTkpIHNpemUgMTM1eDExIGNvbnRhaW5zIDEgY2h1bmsocykKLSAgICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEzNXgxMQorICAg
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwtOSkgc2l6ZSAxMzV4MTIgY29udGFp
bnMgMSBjaHVuayhzKQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMTM1eDEyCiAgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAo
MTAuMDAsMC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMiB3aWR0aCAxNS4wMDogImZpIgog
ICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDQwLjAwLDAuMDApIHN0YXJ0T2Zm
c2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIxIgogICAgICAgICAgICAgICBjaHVuayAx
IHRleHQgcnVuIDEgYXQgKDcwLjAwLDAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lk
dGggMTUuMDA6ICIyIgpAQCAtODgsOCArODgsOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ4MHgz
NjAKICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTc2LDEyNSkgc2l6
ZSA4eDE5CiAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7bGluZX0gYXQgKDE3OSwxMjUp
IHNpemUgMngxNSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9
e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeDE9MC4wMF0gW3kxPTAuMDBdIFt4Mj0w
LjAwXSBbeTI9LTE1LjAwXQogICAgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0
ICgxNzYsMTM2KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1d
IFt4PS00LjAwXSBbeT0tNC4wMF0gW3dpZHRoPTguMDBdIFtoZWlnaHQ9OC4wMF0KLSAgICAgICAg
ICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwtMTkpIHNpemUgNzV4NTEgY29udGFpbnMgMSBj
aHVuayhzKQotICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgNzV4NTEKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwtMTkpIHNp
emUgNzV4NTIgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzV4NTIKICAgICAgICAgICAgICAgY2h1bmsgMSB0
ZXh0IHJ1biAxIGF0ICgwLjAwLC0xMC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMiB3aWR0
aCAxNS4wMDogImZpIgogICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDE1LjAw
LDAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIxIgogICAgICAg
ICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDMwLjAwLDEwLjAwKSBzdGFydE9mZnNldCAw
IGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAiMiIKQEAgLTEyNiw4ICsxMjYsOCBAQCBsYXllciBh
dCAoMCwwKSBzaXplIDQ4MHgzNjAKICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtn
fSBhdCAoMjQ2LDIyNSkgc2l6ZSA4eDE5CiAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7
bGluZX0gYXQgKDI0OSwyMjUpIHNpemUgMngxNSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9y
PSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeDE9MC4w
MF0gW3kxPTAuMDBdIFt4Mj0wLjAwXSBbeTI9LTE1LjAwXQogICAgICAgICAgICAgICAgIFJlbmRl
clNWR1BhdGgge3JlY3R9IGF0ICgyNDYsMjM2KSBzaXplIDh4OCBbZmlsbD17W3R5cGU9U09MSURd
IFtjb2xvcj0jODg4OEZGXX1dIFt4PS00LjAwXSBbeT0tNC4wMF0gW3dpZHRoPTguMDBdIFtoZWln
aHQ9OC4wMF0KLSAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsLTE5KSBzaXpl
IDEzNXg1MSBjb250YWlucyAxIGNodW5rKHMpCi0gICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMzV4NTEKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0
IHt0ZXh0fSBhdCAoMTAsLTE5KSBzaXplIDEzNXg1MiBjb250YWlucyAxIGNodW5rKHMpCisgICAg
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMzV4NTIK
ICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgxMC4wMCwtMTAuMDApIHN0YXJ0
T2Zmc2V0IDAgZW5kT2Zmc2V0IDIgd2lkdGggMTUuMDA6ICJmaSIKICAgICAgICAgICAgICAgY2h1
bmsgMSB0ZXh0IHJ1biAxIGF0ICg0MC4wMCwwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAx
IHdpZHRoIDE1LjAwOiAiMSIKICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICg3
MC4wMCwxMC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjIiCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2JhdGlrL3RleHQvdGV4dEVmZmVjdDMt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcv
YmF0aWsvdGV4dC90ZXh0RWZmZWN0My1leHBlY3RlZC50eHQJKHJldmlzaW9uIDc2NDUwKQorKysg
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9iYXRpay90ZXh0L3RleHRFZmZlY3QzLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICsxLDggQEAKIGxheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAogbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA0NTB4NTAwCi0gIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDM5LDE2KSBzaXpl
IDM4N3gzODcKLSAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzOSwxNikgc2l6ZSAzODd4
Mzg3CisgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDM5LDE2KSBzaXplIDM4OHgzODcKKyAgICBS
ZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzOSwxNikgc2l6ZSAzODh4Mzg3CiAgICAgICBSZW5k
ZXJTVkdUZXh0IHt0ZXh0fSBhdCAoOTksMTYpIHNpemUgMjUyeDE3IGNvbnRhaW5zIDEgY2h1bmso
cykKICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjUy
eDE3CiAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoOTku
NTAsMzAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDM3IHdpZHRoIDI1MS4wMDogIkdyYWRp
ZW50IGFuZCBmaWx0ZXIgb24gdGV4dCBhbmQgdHNwYW4iCkBAIC0zNiwxOSArMzYsMTkgQEAgbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4NTAwCiAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICg5MiwyKSBzaXplIDU1eDcwCiAgICAgICAgICAgICBjaHVuayAxIChtaWRkbGUg
YW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgxNTAuNTAsMTQwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9m
ZnNldCAxIHdpZHRoIDM1LjAwOiAiSyIKICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwCi0gICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjYz
LDkxKSBzaXplIDE0OHg4MCBjb250YWlucyAxIGNodW5rKHMpCi0gICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoMCwyMCkgc2l6ZSAzN3g2MAorICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKDI2Myw5MCkgc2l6ZSAxNDl4ODEgY29udGFpbnMgMSBjaHVuayhzKQorICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMjApIHNpemUgMzd4NjEKICAg
ICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgyNjMuNjksMTYw
LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDM1LjU3OiAiQiIKLSAgICAgICAg
UmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDE5eDMwCi0gICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgzNiwyNCkgc2l6ZSAxOXgzMAorICAgICAgICBS
ZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTl4MzEKKyAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDM2LDI1KSBzaXplIDE5eDMxCiAgICAgICAgICAg
ICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgyOTkuMjYsMTQwLjAwKSBz
dGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE3Ljc5OiAiQSIKLSAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg1NCwwKSBzaXplIDMzeDYwCisgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoNTQsMCkgc2l6ZSAzM3g2MQogICAgICAgICAgIGNo
dW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDMxNy4wNSwxNDAuMDApIHN0YXJ0
T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMzIuNTg6ICJUIgogICAgICAgICBSZW5kZXJTVkdU
U3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTJ4NDYKLSAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDg2LDExKSBzaXplIDEyeDQ2CisgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICg4NiwxMikgc2l6ZSAxMng0NgogICAgICAgICAgICAgY2h1
bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMzQ5LjYzLDE0MC4wMCkgc3RhcnRP
ZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxMS4xMTogIkkiCi0gICAgICAgIFJlbmRlclNWR1RT
cGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA1NXg3MAotICAgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoOTMsMikgc2l6ZSA1NXg3MAorICAgICAgICBSZW5kZXJTVkdUU3Bh
biB7dHNwYW59IGF0ICgwLDApIHNpemUgNTZ4NzAKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDkzLDMpIHNpemUgNTZ4NzAKICAgICAgICAgICAgIGNodW5rIDEgKG1p
ZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDM2MC43NCwxNDAuMDApIHN0YXJ0T2Zmc2V0IDAg
ZW5kT2Zmc2V0IDEgd2lkdGggMzUuNTc6ICJLIgogICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0
ICg1NCwxOTEpIHNpemUgMTQ3eDgwIGNvbnRhaW5zIDEgY2h1bmsocykKQEAgLTY2LDE5ICs2Niwx
OSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAKICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDkyLDIpIHNpemUgNTV4NzAKICAgICAgICAgICAgIGNodW5rIDEg
KG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDE1MC41MCwyNDAuMDApIHN0YXJ0T2Zmc2V0
IDAgZW5kT2Zmc2V0IDEgd2lkdGggMzUuMDA6ICJLIgogICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR1RleHQge3RleHR9
IGF0ICgyNjMsMTkxKSBzaXplIDE0OHg4MCBjb250YWlucyAxIGNodW5rKHMpCi0gICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwyMCkgc2l6ZSAzN3g2MAorICAgICAgUmVu
ZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDI2MywxOTApIHNpemUgMTQ5eDgxIGNvbnRhaW5zIDEgY2h1
bmsocykKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDIwKSBzaXpl
IDM3eDYxCiAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAo
MjYzLjY5LDI2MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAzNS41NzogIkIi
Ci0gICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAxOXgzMAotICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMzYsMjQpIHNpemUgMTl4MzAK
KyAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDE5eDMxCisgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgzNiwyNSkgc2l6ZSAxOXgzMQog
ICAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMjk5LjI2
LDI0MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNy43OTogIkEiCi0gICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoNTQsMCkgc2l6ZSAzM3g2MAorICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDU0LDApIHNpemUgMzN4NjEKICAg
ICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgzMTcuMDUsMjQw
LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDMyLjU4OiAiVCIKICAgICAgICAg
UmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDEyeDQ2Ci0gICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg4NiwxMSkgc2l6ZSAxMng0NgorICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoODYsMTIpIHNpemUgMTJ4NDYKICAgICAg
ICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDM0OS42MywyNDAu
MDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTEuMTE6ICJJIgotICAgICAgICBS
ZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgNTV4NzAKLSAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDkzLDIpIHNpemUgNTV4NzAKKyAgICAgICAgUmVu
ZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDU2eDcwCisgICAgICAgICAgUmVuZGVy
U1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg5MywzKSBzaXplIDU2eDcwCiAgICAgICAgICAgICBj
aHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgzNjAuNzQsMjQwLjAwKSBzdGFy
dE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDM1LjU3OiAiSyIKICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICBSZW5kZXJTVkdUZXh0
IHt0ZXh0fSBhdCAoNTQsMjkxKSBzaXplIDE0N3g4MCBjb250YWlucyAxIGNodW5rKHMpCkBAIC0x
MDAsMjIgKzEwMCwyMiBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAKICAgICAgICAgICAg
IGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDE1MC41MCwzNDAuMDApIHN0
YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMzUuMDA6ICJLIgogICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgICBbZmlsdGVy
PSJkcm9wU2hhZG93Il0gUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gYXQgKDAsMCkg
c2l6ZSAweDAKLSAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyNjMsMjkxKSBzaXplIDE0
OHg4MCBjb250YWlucyAxIGNodW5rKHMpCi0gICAgICAgIFtmaWx0ZXI9ImRyb3BTaGFkb3ciXSBS
ZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBhdCAoMjQ4LjIwLDI4Mykgc2l6ZSAxNzcu
NjB4OTYKLSAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDIwKSBzaXpl
IDM3eDYwCisgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjYzLDI5MCkgc2l6ZSAxNDl4
ODEgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICBbZmlsdGVyPSJkcm9wU2hhZG93Il0gUmVu
ZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gYXQgKDI0OC4xMCwyODEuOTApIHNpemUgMTc4
LjgweDk3LjIwCisgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwyMCkg
c2l6ZSAzN3g2MQogICAgICAgICAgIFtmaWx0ZXI9ImRyb3BTaGFkb3ciXSBSZW5kZXJTVkdSZXNv
dXJjZUZpbHRlciB7ZmlsdGVyfSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICAgIGNodW5rIDEg
KG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDI2My42OSwzNjAuMDApIHN0YXJ0T2Zmc2V0
IDAgZW5kT2Zmc2V0IDEgd2lkdGggMzUuNTc6ICJCIgotICAgICAgICBSZW5kZXJTVkdUU3BhbiB7
dHNwYW59IGF0ICgwLDApIHNpemUgMTl4MzAKLSAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKDM2LDI0KSBzaXplIDE5eDMwCisgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0
c3Bhbn0gYXQgKDAsMCkgc2l6ZSAxOXgzMQorICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoMzYsMjUpIHNpemUgMTl4MzEKICAgICAgICAgICAgIGNodW5rIDEgKG1pZGRs
ZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDI5OS4yNiwzNDAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5k
T2Zmc2V0IDEgd2lkdGggMTcuNzk6ICJBIgotICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKDU0LDApIHNpemUgMzN4NjAKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICg1NCwwKSBzaXplIDMzeDYxCiAgICAgICAgICAgW2ZpbHRlcj0iZHJvcFNoYWRv
dyJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgwLDApIHNpemUgMHgwCiAg
ICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMzE3LjA1LDM0
MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAzMi41ODogIlQiCiAgICAgICAg
IFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAxMng0NgotICAgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoODYsMTEpIHNpemUgMTJ4NDYKKyAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDg2LDEyKSBzaXplIDEyeDQ2CiAgICAg
ICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgzNDkuNjMsMzQw
LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDExLjExOiAiSSIKLSAgICAgICAg
UmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDU1eDcwCi0gICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICg5MywyKSBzaXplIDU1eDcwCisgICAgICAgIFJl
bmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA1Nng3MAorICAgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoOTMsMykgc2l6ZSA1Nng3MAogICAgICAgICAgICAg
Y2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMzYwLjc0LDM0MC4wMCkgc3Rh
cnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAzNS41NzogIksiCiAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICAgIFtmaWx0ZXI9
ImRyb3BTaGFkb3ciXSBSZW5kZXJTVkdSZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBhdCAoMCwwKSBz
aXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9iYXRpay90ZXh0L3Rl
eHRFZmZlY3QtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9zdmcvYmF0aWsvdGV4dC90ZXh0RWZmZWN0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzY0
NTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2JhdGlrL3RleHQvdGV4dEVmZmVj
dC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTI0LDIzICsyNCwyMyBAQCBsYXllciBh
dCAoMCwwKSBzaXplIDQ1MHg1MDAKICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg0NCwx
MTEpIHNpemUgMTUyeDYwIGNvbnRhaW5zIDEgY2h1bmsocykKICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTUyeDYwCiAgICAgICAgICAgY2h1bmsgMSAo
bWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoNDQuMDAsMTYwLjAwKSBzdGFydE9mZnNldCAw
IGVuZE9mZnNldCA1IHdpZHRoIDE1Mi4wMDogIkJBVElLIgotICAgICAgUmVuZGVyU1ZHVGV4dCB7
dGV4dH0gYXQgKDI1MiwxMTEpIHNpemUgMTU2eDYwIGNvbnRhaW5zIDEgY2h1bmsocykKLSAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTU2eDYwCisgICAg
ICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjUyLDExMCkgc2l6ZSAxNTZ4NjEgY29udGFpbnMg
MSBjaHVuayhzKQorICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAxNTZ4NjEKICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAx
IGF0ICgyNTIuOTQsMTYwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCA1IHdpZHRoIDE1NC4x
MTogIkJBVElLIgogICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDQ0LDIxMSkgc2l6ZSAx
NTJ4NjAgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAxNTJ4NjAKICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5j
aG9yKSB0ZXh0IHJ1biAxIGF0ICg0NC4wMCwyNjAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0
IDUgd2lkdGggMTUyLjAwOiAiQkFUSUsiCi0gICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAo
MjUyLDIxMSkgc2l6ZSAxNTZ4NjAgY29udGFpbnMgMSBjaHVuayhzKQotICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNTZ4NjAKKyAgICAgIFJlbmRlclNW
R1RleHQge3RleHR9IGF0ICgyNTIsMjEwKSBzaXplIDE1Nng2MSBjb250YWlucyAxIGNodW5rKHMp
CisgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE1Nng2
MQogICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDI1Mi45
NCwyNjAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDUgd2lkdGggMTU0LjExOiAiQkFUSUsi
CiAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNDQsMzExKSBzaXplIDE1Mng2MCBjb250
YWlucyAxIGNodW5rKHMpCiAgICAgICAgIFtmaWx0ZXI9ImRyb3BTaGFkb3ciXSBSZW5kZXJTVkdS
ZXNvdXJjZUZpbHRlciB7ZmlsdGVyfSBhdCAoMjguODAsMzA1KSBzaXplIDE4Mi40MHg3MgogICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNTJ4NjAKICAg
ICAgICAgICBbZmlsdGVyPSJkcm9wU2hhZG93Il0gUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2Zp
bHRlcn0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9y
KSB0ZXh0IHJ1biAxIGF0ICg0NC4wMCwzNjAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDUg
d2lkdGggMTUyLjAwOiAiQkFUSUsiCi0gICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjUy
LDMxMSkgc2l6ZSAxNTZ4NjAgY29udGFpbnMgMSBjaHVuayhzKQotICAgICAgICBbZmlsdGVyPSJk
cm9wU2hhZG93Il0gUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gYXQgKDIzNi40MCwz
MDUpIHNpemUgMTg3LjIweDcyCi0gICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDE1Nng2MAorICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDI1Miwz
MTApIHNpemUgMTU2eDYxIGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgW2ZpbHRlcj0iZHJv
cFNoYWRvdyJdIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICgyMzYuNDAsMzAz
LjkwKSBzaXplIDE4Ny4yMHg3My4yMAorICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAxNTZ4NjEKICAgICAgICAgICBbZmlsdGVyPSJkcm9wU2hhZG93Il0g
UmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIge2ZpbHRlcn0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAg
ICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgyNTIuOTQsMzYwLjAw
KSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCA1IHdpZHRoIDE1NC4xMTogIkJBVElLIgogICAgICAg
UmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDg3LDM4OSkgc2l6ZSA2NngxNCBjb250YWlucyAxIGNo
dW5rKHMpCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2JhdGlrL3RleHQvdGV4
dFBvc2l0aW9uMi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3N2Zy9iYXRpay90ZXh0L3RleHRQb3NpdGlvbjItZXhwZWN0ZWQudHh0CShyZXZpc2lv
biA3NjQ1MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvYmF0aWsvdGV4dC90ZXh0
UG9zaXRpb24yLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNiwxNSArNiwxNSBAQCBs
YXllciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAKICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAo
MTcyLDE2KSBzaXplIDEwNngxNyBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICBSZW5kZXJTVkdJ
bmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDZ4MTcKICAgICAgICAgY2h1bmsgMSAo
bWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMTcyLjAwLDMwLjAwKSBzdGFydE9mZnNldCAw
IGVuZE9mZnNldCAxNSB3aWR0aCAxMDYuMDA6ICJUZXh0IFBvc2l0aW9uIDIiCi0gICAgUmVuZGVy
U1ZHQ29udGFpbmVyIHtnfSBhdCAoNTAsNTgpIHNpemUgMzk5eDI5NQotICAgICAgUmVuZGVyU1ZH
VGV4dCB7dGV4dH0gYXQgKDUwLDU4KSBzaXplIDU0eDI3IGNvbnRhaW5zIDEgY2h1bmsocykKLSAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNTR4MjcKKyAg
ICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg1MCw1Nykgc2l6ZSAzOTl4Mjk2CisgICAgICBS
ZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNTAsNTcpIHNpemUgNTR4MjggY29udGFpbnMgMSBjaHVu
ayhzKQorICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1
NHgyOAogICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoNTAuMDAsODAuMDApIHN0YXJ0
T2Zmc2V0IDAgZW5kT2Zmc2V0IDUgd2lkdGggNTMuMzY6ICJCYXRpayIKICAgICAgIFJlbmRlclNW
R1RleHQge3RleHR9IGF0ICg1MCw5MSkgc2l6ZSAxMDN4MTEgY29udGFpbnMgMSBjaHVuayhzKQog
ICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDN4MTEK
ICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDUwLjAwLDEwMC4wMCkgc3RhcnRPZmZz
ZXQgMCBlbmRPZmZzZXQgMjEgd2lkdGggMTAzLjAwOiAiPHRleHQgeD1cIjEwMFwiIHk9XCI4MFwi
PiIKLSAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyNDAsNTgpIHNpemUgMTM0eDI3IGNv
bnRhaW5zIDEgY2h1bmsocykKLSAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMTM0eDI3CisgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjQwLDU3
KSBzaXplIDEzNHgyOCBjb250YWlucyAxIGNodW5rKHMpCisgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEzNHgyOAogICAgICAgICAgIGNodW5rIDEgdGV4
dCBydW4gMSBhdCAoMjQwLjAwLDgwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRo
IDE2LjAxOiAiQiIKICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDIgYXQgKDI3Ni4wMSw4MC4w
MCkgc3RhcnRPZmZzZXQgMSBlbmRPZmZzZXQgMiB3aWR0aCAxMy4zNTogImEiCiAgICAgICAgICAg
Y2h1bmsgMSB0ZXh0IHJ1biAzIGF0ICgzMDkuMzYsODAuMDApIHN0YXJ0T2Zmc2V0IDIgZW5kT2Zm
c2V0IDMgd2lkdGggNi42NzogInQiCkBAIC0yMyw4ICsyMyw4IEBAIGxheWVyIGF0ICgwLDApIHNp
emUgNDUweDUwMAogICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDI0MCw5MSkgc2l6ZSAx
OTR4MTEgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAxOTR4MTEKICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEg
YXQgKDI0MC4wMCwxMDAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDQxIHdpZHRoIDE5NC4w
MDogIjx0ZXh0IHg9XCIyNDBcIiB5PVwiODBcIiBsZXR0ZXItc3BhY2luZz1cIjIwXCI+IgotICAg
ICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDUwLDExOCkgc2l6ZSA5MngyNyBjb250YWlucyAx
IGNodW5rKHMpCi0gICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDkyeDI3CisgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNTAsMTE3KSBzaXplIDky
eDI4IGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgOTJ4MjgKICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQg
KDUwLjAwLDE0MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNi4wMTogIkIi
CiAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICg3MC4wMCwxNDAuMDApIHN0YXJ0T2Zm
c2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTMuMzU6ICJhIgogICAgICAgICAgIGNodW5rIDEgdGV4
dCBydW4gMSBhdCAoOTAuMDAsMTQwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRo
IDYuNjc6ICJ0IgpAQCAtMzMsOCArMzMsOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAK
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg1MCwxNTEpIHNpemUgMTc1eDExIGNvbnRh
aW5zIDEgY2h1bmsocykKICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMTc1eDExCiAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICg1MC4wMCwx
NjAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDM1IHdpZHRoIDE3NS4wMDogIjx0ZXh0IHg9
XCI1MCA3MCA5MCAxMTAgMTMwXCIgeT1cIjE0MFwiPiIKLSAgICAgIFJlbmRlclNWR1RleHQge3Rl
eHR9IGF0ICgyNDAsMTE4KSBzaXplIDEzNHgyNyBjb250YWlucyAxIGNodW5rKHMpCi0gICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEzNHgyNworICAgICAg
UmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDI0MCwxMTcpIHNpemUgMTM0eDI4IGNvbnRhaW5zIDEg
Y2h1bmsocykKKyAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMTM0eDI4CiAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgyNDAuMDAsMTQwLjAw
KSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE2LjAxOiAiQiIKICAgICAgICAgICBj
aHVuayAxIHRleHQgcnVuIDIgYXQgKDI3Ni4wMSwxNDAuMDApIHN0YXJ0T2Zmc2V0IDEgZW5kT2Zm
c2V0IDIgd2lkdGggMTMuMzU6ICJhIgogICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMyBhdCAo
MzA5LjM2LDE0MC4wMCkgc3RhcnRPZmZzZXQgMiBlbmRPZmZzZXQgMyB3aWR0aCA2LjY3OiAidCIK
QEAgLTQzLDE2ICs0MywxNiBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAKICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICgyNDAsMTUxKSBzaXplIDE3NXgxMSBjb250YWlucyAxIGNo
dW5rKHMpCiAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDE3NXgxMQogICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMjQwLjAwLDE2MC4wMCkg
c3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMzUgd2lkdGggMTc1LjAwOiAiPHRleHQgZHg9XCIyNDAg
MjAgMjAgMjAgMjBcIiB5PVwiMTQwXCI+IgotICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQg
KDUwLDE3OCkgc2l6ZSA1NHgyNyBjb250YWlucyAxIGNodW5rKHMpCi0gICAgICAgIFJlbmRlclNW
R1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA1NHgyNwotICAgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDU0eDI3CisgICAgICBSZW5kZXJTVkdUZXh0
IHt0ZXh0fSBhdCAoNTAsMTc3KSBzaXplIDU0eDI4IGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAg
ICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDU0eDI4CisgICAgICAgICAg
UmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNTR4MjgKICAgICAgICAg
ICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoNTAuMDAsMjAwLjAwKSBzdGFydE9mZnNldCAwIGVu
ZE9mZnNldCA1IHdpZHRoIDUzLjM2OiAiQmF0aWsiCiAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0
fSBhdCAoNTAsMjExKSBzaXplIDExMngxMSBjb250YWlucyAxIGNodW5rKHMpCiAgICAgICAgIFJl
bmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDExMngxMQogICAgICAgICAg
IGNodW5rIDEgdGV4dCBydW4gMSBhdCAoNTAuMDAsMjIwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9m
ZnNldCAyMiB3aWR0aCAxMTIuMDA6ICI8dHNwYW4geD1cIjUwXCIgeT1cIjIwMFwiPiIKLSAgICAg
IFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyNDAsMTc4KSBzaXplIDEzNHgyNyBjb250YWlucyAx
IGNodW5rKHMpCi0gICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSAx
MzR4MjcKLSAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAxMzR4MjcKKyAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyNDAsMTc3KSBzaXplIDEz
NHgyOCBjb250YWlucyAxIGNodW5rKHMpCisgICAgICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0g
YXQgKDAsMCkgc2l6ZSAxMzR4MjgKKyAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSAxMzR4MjgKICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBh
dCAoMjQwLjAwLDIwMC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNi4wMTog
IkIiCiAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDIgYXQgKDI3Ni4wMSwyMDAuMDApIHN0
YXJ0T2Zmc2V0IDEgZW5kT2Zmc2V0IDIgd2lkdGggMTMuMzU6ICJhIgogICAgICAgICAgICAgY2h1
bmsgMSB0ZXh0IHJ1biAzIGF0ICgzMDkuMzYsMjAwLjAwKSBzdGFydE9mZnNldCAyIGVuZE9mZnNl
dCAzIHdpZHRoIDYuNjc6ICJ0IgpAQCAtNjIsOSArNjIsOSBAQCBsYXllciBhdCAoMCwwKSBzaXpl
IDQ1MHg1MDAKICAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDIw
OXgxMQogICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDIwOXgxMQogICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgyNDAuMDAsMjIwLjAw
KSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCA0MyB3aWR0aCAyMDkuMDA6ICI8dHNwYW4geD1cIjI0
MFwiIHk9XCIyMDBcIiBsZXR0ZXItc3BhY2luZz1cIjIwXCI+IgotICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKDUwLDIzOCkgc2l6ZSA5MngyNyBjb250YWlucyAxIGNodW5rKHMpCi0gICAg
ICAgIFJlbmRlclNWR1RTcGFuIHt0c3Bhbn0gYXQgKDAsMCkgc2l6ZSA5MngyNwotICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDkyeDI3CisgICAgICBS
ZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNTAsMjM3KSBzaXplIDkyeDI4IGNvbnRhaW5zIDEgY2h1
bmsocykKKyAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDkyeDI4
CisgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgOTJ4
MjgKICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoNTAuMDAsMjYwLjAwKSBzdGFy
dE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE2LjAxOiAiQiIKICAgICAgICAgICAgIGNodW5r
IDEgdGV4dCBydW4gMSBhdCAoNzAuMDAsMjYwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAx
IHdpZHRoIDEzLjM1OiAiYSIKICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoOTAu
MDAsMjYwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDYuNjc6ICJ0IgpAQCAt
NzMsOSArNzMsOSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDQ1MHg1MDAKICAgICAgIFJlbmRlclNW
R1RleHQge3RleHR9IGF0ICg1MCwyNzEpIHNpemUgMTg0eDExIGNvbnRhaW5zIDEgY2h1bmsocykK
ICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTg0eDEx
CiAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICg1MC4wMCwyODAuMDApIHN0YXJ0T2Zm
c2V0IDAgZW5kT2Zmc2V0IDM2IHdpZHRoIDE4NC4wMDogIjx0c3BhbiB4PVwiNTAgNzAgOTAgMTEw
IDEzMFwiIHk9XCIyNjBcIj4iCi0gICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMjQwLDIz
OCkgc2l6ZSAxMzR4MjcgY29udGFpbnMgMSBjaHVuayhzKQotICAgICAgICBSZW5kZXJTVkdUU3Bh
biB7dHNwYW59IGF0ICgwLDApIHNpemUgMTM0eDI3Ci0gICAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTM0eDI3CisgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoMjQwLDIzNykgc2l6ZSAxMzR4MjggY29udGFpbnMgMSBjaHVuayhzKQorICAgICAg
ICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgMTM0eDI4CisgICAgICAgICAg
UmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTM0eDI4CiAgICAgICAg
ICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDI0MC4wMCwyNjAuMDApIHN0YXJ0T2Zmc2V0IDAg
ZW5kT2Zmc2V0IDEgd2lkdGggMTYuMDE6ICJCIgogICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1
biAyIGF0ICgyNzYuMDEsMjYwLjAwKSBzdGFydE9mZnNldCAxIGVuZE9mZnNldCAyIHdpZHRoIDEz
LjM1OiAiYSIKICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMyBhdCAoMzA5LjM2LDI2MC4w
MCkgc3RhcnRPZmZzZXQgMiBlbmRPZmZzZXQgMyB3aWR0aCA2LjY3OiAidCIKQEAgLTg0LDkgKzg0
LDkgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0NTB4NTAwCiAgICAgICBSZW5kZXJTVkdUZXh0IHt0
ZXh0fSBhdCAoMjQwLDI3MSkgc2l6ZSAxODR4MTEgY29udGFpbnMgMSBjaHVuayhzKQogICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxODR4MTEKICAgICAg
ICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDI0MC4wMCwyODAuMDApIHN0YXJ0T2Zmc2V0IDAg
ZW5kT2Zmc2V0IDM2IHdpZHRoIDE4NC4wMDogIjx0c3BhbiBkeD1cIjI0MCAyMCAyMCAyMCAyMFwi
IHk9XCIyNjBcIj4iCi0gICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoNTAsMjk4KSBzaXpl
IDkyeDI3IGNvbnRhaW5zIDEgY2h1bmsocykKLSAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFu
fSBhdCAoMCwwKSBzaXplIDkyeDI3Ci0gICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgOTJ4MjcKKyAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICg1
MCwyOTcpIHNpemUgOTJ4MjggY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICBSZW5kZXJTVkdU
U3BhbiB7dHNwYW59IGF0ICgwLDApIHNpemUgOTJ4MjgKKyAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA5MngyOAogICAgICAgICAgICAgY2h1bmsgMSB0
ZXh0IHJ1biAxIGF0ICg1MC4wMCwzMjAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lk
dGggMTYuMDE6ICJCIgogICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICg3MC4wMCwz
MjAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTMuMzU6ICJhIgogICAgICAg
ICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICg5MC4wMCwzMjAuMDApIHN0YXJ0T2Zmc2V0IDAg
ZW5kT2Zmc2V0IDEgd2lkdGggNi42NzogInQiCkBAIC05OCw5ICs5OCw5IEBAIGxheWVyIGF0ICgw
LDApIHNpemUgNDUweDUwMAogICAgICAgICBSZW5kZXJTVkdUU3BhbiB7dHNwYW59IGF0ICgwLDAp
IHNpemUgMTM3eDExCiAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgz
MywxMSkgc2l6ZSAxMzd4MTEKICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoODMu
MDAsMzUxLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAyNyB3aWR0aCAxMzcuMDA6ICJkeD1c
IjAgMTAgMjAgMzAgNDBcIiB5PVwiMzIwXCI+IgotICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDI0MCwyOTgpIHNpemUgMTM0eDI3IGNvbnRhaW5zIDEgY2h1bmsocykKLSAgICAgICAgUmVu
ZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDEzNHgyNwotICAgICAgICAgIFJlbmRl
clNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEzNHgyNworICAgICAgUmVuZGVy
U1ZHVGV4dCB7dGV4dH0gYXQgKDI0MCwyOTcpIHNpemUgMTM0eDI4IGNvbnRhaW5zIDEgY2h1bmso
cykKKyAgICAgICAgUmVuZGVyU1ZHVFNwYW4ge3RzcGFufSBhdCAoMCwwKSBzaXplIDEzNHgyOAor
ICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEzNHgy
OAogICAgICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgyNDAuMDAsMzIwLjAwKSBzdGFy
dE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE2LjAxOiAiQiIKICAgICAgICAgICAgIGNodW5r
IDEgdGV4dCBydW4gMiBhdCAoMjc2LjAxLDMyMC4wMCkgc3RhcnRPZmZzZXQgMSBlbmRPZmZzZXQg
MiB3aWR0aCAxMy4zNTogImEiCiAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDMgYXQgKDMw
OS4zNiwzMjAuMDApIHN0YXJ0T2Zmc2V0IDIgZW5kT2Zmc2V0IDMgd2lkdGggNi42NzogInQiCklu
ZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9zdmctZm9udHMtaW4taHRt
bC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2
Zy9jdXN0b20vc3ZnLWZvbnRzLWluLWh0bWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3NjQ1MCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3N2Zy1mb250cy1pbi1odG1s
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjUsMTYgKzI1LDE2IEBAIGxheWVyIGF0
ICgxNzMsNDcpIHNpemUgNDUzeDE4OAogICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2Mywt
MSkgc2l6ZSAzNDB4MTkwCiAgICAgICAgIHRleHQgcnVuIGF0ICg2MywtMSkgd2lkdGggMzI3OiAi
Q1NTIFpFTiIKICAgICAgICAgdGV4dCBydW4gYXQgKDU2LDkzKSB3aWR0aCAzNDA6ICJHQVJERU4i
Ci1sYXllciBhdCAoMTczLDExOCkgc2l6ZSA0NTN4MjAKLSAgUmVuZGVyQmxvY2sgKHBvc2l0aW9u
ZWQpIHtIMn0gYXQgKDAsODYpIHNpemUgNDUzeDIwIFtjb2xvcj0jRUVGRjAwXQorbGF5ZXIgYXQg
KDE3MywxMTgpIHNpemUgNDUzeDIxCisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7SDJ9IGF0
ICgwLDg2KSBzaXplIDQ1M3gyMSBbY29sb3I9I0VFRkYwMF0KICAgICBSZW5kZXJJbmxpbmUge1NQ
QU59IGF0ICgwLDApIHNpemUgMTQ5eDE5Ci0gICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE1
MiwwKSBzaXplIDg4eDE5Ci0gICAgICAgIHRleHQgcnVuIGF0ICgxNTIsMCkgd2lkdGggODg6ICJU
aGUgQmVhdXR5IG9mICIKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTUyLDEpIHNpemUg
ODh4MTkKKyAgICAgICAgdGV4dCBydW4gYXQgKDE1MiwxKSB3aWR0aCA4ODogIlRoZSBCZWF1dHkg
b2YgIgogICAgICAgUmVuZGVySW5saW5lIHtBQ1JPTllNfSBhdCAoMCwwKSBzaXplIDIxeDE5Ci0g
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjQwLDApIHNpemUgMjF4MTkKLSAgICAgICAg
ICB0ZXh0IHJ1biBhdCAoMjQwLDApIHdpZHRoIDIxOiAiQ1NTIgotICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgyNjEsMCkgc2l6ZSA0MHgxOQotICAgICAgICB0ZXh0IHJ1biBhdCAoMjYxLDAp
IHdpZHRoIDQwOiAiIERlc2lnbiIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyNDAs
MSkgc2l6ZSAyMXgxOQorICAgICAgICAgIHRleHQgcnVuIGF0ICgyNDAsMSkgd2lkdGggMjE6ICJD
U1MiCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDI2MSwxKSBzaXplIDQweDE5CisgICAg
ICAgIHRleHQgcnVuIGF0ICgyNjEsMSkgd2lkdGggNDA6ICIgRGVzaWduIgogbGF5ZXIgYXQgKDE3
MywzNTEpIHNpemUgNDUzeDEzNAogICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQg
KDAsMzE5KSBzaXplIDQ1M3gxMzQKICAgICBSZW5kZXJJbmxpbmUge1B9IGF0ICgwLDApIHNpemUg
NDMxeDI5CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9zdmctZm9u
dHMtd2l0aC1uby1lbGVtZW50LXJlZmVyZW5jZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vc3ZnLWZvbnRzLXdpdGgtbm8tZWxl
bWVudC1yZWZlcmVuY2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3NjQ1MCkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3N2Zy1mb250cy13aXRoLW5vLWVsZW1lbnQtcmVm
ZXJlbmNlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwxMSArMSwxMSBAQAogbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCi1sYXllciBhdCAoMCwwKSBzaXplIDgwMHg5NAotICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA4MDB4OTQKLSAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxOCkgc2l6ZSA3
ODR4NTgKLSAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgyMAotICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyNzh4MTkKLSAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCAyNzg6ICJUaGlzIHRleHQgc2hvdWxkIGJlIHJlbmRlcmVkIHdp
dGggYSBmaXJzdCBmb250LiIKLSAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwzOCkgc2l6ZSA3
ODR4MjAKLSAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjg3eDE5Ci0g
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMjg3OiAiVGhpcyB0ZXh0IHNob3VsZCBi
ZSByZW5kZXJlZCB3aXRoIGEgc2Vjb25kIGZvbnQuIgorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
OTYKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDk2CisgICAgUmVuZGVy
Qm9keSB7Qk9EWX0gYXQgKDgsMTgpIHNpemUgNzg0eDYwCisgICAgICBSZW5kZXJCbG9jayB7UH0g
YXQgKDAsMCkgc2l6ZSA3ODR4MjEKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEp
IHNpemUgMjc4eDE5CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMSkgd2lkdGggMjc4OiAiVGhp
cyB0ZXh0IHNob3VsZCBiZSByZW5kZXJlZCB3aXRoIGEgZmlyc3QgZm9udC4iCisgICAgICBSZW5k
ZXJCbG9jayB7UH0gYXQgKDAsMzkpIHNpemUgNzg0eDIxCisgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwxKSBzaXplIDI4N3gxOQorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdp
ZHRoIDI4NzogIlRoaXMgdGV4dCBzaG91bGQgYmUgcmVuZGVyZWQgd2l0aCBhIHNlY29uZCBmb250
LiIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3N2Zy1mb250cy13
aXRob3V0LW1pc3NpbmctZ2x5cGgtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL3N2Zy1mb250cy13aXRob3V0LW1pc3NpbmctZ2x5
cGgtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3NjQ1MCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9zdmcvY3VzdG9tL3N2Zy1mb250cy13aXRob3V0LW1pc3NpbmctZ2x5cGgtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDggKzEsOCBAQAogbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCiAgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCi1sYXllciBhdCAoMCww
KSBzaXplIDgwMHgyNzMKLSAgUmVuZGVyQmxvY2sge2h0bWx9IGF0ICgwLDApIHNpemUgODAweDI3
MwotICAgIFJlbmRlckJvZHkge2JvZHl9IGF0ICg4LDIxKSBzaXplIDc4NHgyMzYKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDI4MworICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6ZSA4
MDB4MjgzCisgICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgsMjEpIHNpemUgNzg0eDI0NgogICAg
ICAgUmVuZGVyQmxvY2sge2gxfSBhdCAoMCwwKSBzaXplIDc4NHgzNwogICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMTV4MzcKICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwwKSB3aWR0aCAxMTU6ICJUZXN0IGZvciAiCkBAIC0xMiwxOCArMTIsMTggQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4MjczCiAgICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsNTgpIHNpemUg
Nzg0eDE4CiAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDUwNngxOAog
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDUwNjogIkZvbGxvd2luZyB0ZXh0IHNo
b3VsZCBiZSByZW5kZXJlZCBhcyB1c3VhbC4gT25seSBcIkFcIiBoYXMgYSBnbHlwaCBpbiBTVkcg
Rm9udC4iCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQgKDAsOTIpIHNpemUgNzg0eDE2Ci0gICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDM3eDE1Ci0gICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMzc6ICJYWEEiCi0gICAgICBSZW5kZXJCbG9jayB7cH0gYXQg
KDAsMTI0KSBzaXplIDc4NHgxNgotICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAzN3gxNQotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDM3OiAiWEFYIgot
ICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDE1Nikgc2l6ZSA3ODR4MTYKLSAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzd4MTUKLSAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCAzNzogIkFYWCIKLSAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwxODgp
IHNpemUgNzg0eDE2Ci0gICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDM2
eDE1Ci0gICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzY6ICJYWFgiCi0gICAgICBS
ZW5kZXJCbG9jayB7cH0gYXQgKDAsMjIwKSBzaXplIDc4NHgxNgotICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzOHgxNQotICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDM4OiAiQUFBIgorICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDkyKSBzaXplIDc4
NHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMSkgc2l6ZSAzN3gxNgorICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDM3OiAiWFhBIgorICAgICAgUmVuZGVyQmxv
Y2sge3B9IGF0ICgwLDEyNikgc2l6ZSA3ODR4MTgKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDEpIHNpemUgMzd4MTYKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxKSB3aWR0aCAz
NzogIlhBWCIKKyAgICAgIFJlbmRlckJsb2NrIHtwfSBhdCAoMCwxNjApIHNpemUgNzg0eDE4Cisg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxKSBzaXplIDM3eDE2CisgICAgICAgICAg
dGV4dCBydW4gYXQgKDAsMSkgd2lkdGggMzc6ICJBWFgiCisgICAgICBSZW5kZXJCbG9jayB7cH0g
YXQgKDAsMTk0KSBzaXplIDc4NHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MSkgc2l6ZSAzNngxNgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEpIHdpZHRoIDM2OiAiWFhY
IgorICAgICAgUmVuZGVyQmxvY2sge3B9IGF0ICgwLDIyOCkgc2l6ZSA3ODR4MTgKKyAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDEpIHNpemUgMzh4MTYKKyAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwxKSB3aWR0aCAzODogIkFBQSIKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9zdmcvdGV4dC90ZXh0LXRleHQtMDUtdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy90ZXh0L3RleHQtdGV4dC0wNS10LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gNzY0NTApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL3RleHQv
dGV4dC10ZXh0LTA1LXQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC01MCw4ICs1MCw4
IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgICAgICBSZW5kZXJTVkdD
b250YWluZXIge2d9IGF0ICgyNDMsOTEpIHNpemUgMTR4MzMKICAgICAgICAgICAgICAgICBSZW5k
ZXJTVkdQYXRoIHtsaW5lfSBhdCAoMjQ4LDkxKSBzaXplIDR4MjYgW3N0cm9rZT17W3R5cGU9U09M
SURdIFtjb2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM4ODg4RkZd
fV0gW3gxPTAuMDBdIFt5MT0wLjAwXSBbeDI9MC4wMF0gW3kyPS0xNS4wMF0KICAgICAgICAgICAg
ICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMjQzLDExMCkgc2l6ZSAxNHgxNCBbZmlsbD17
W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4PS00LjAwXSBbeT0tNC4wMF0gW3dpZHRo
PTguMDBdIFtoZWlnaHQ9OC4wMF0KLSAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAo
MCwyMSkgc2l6ZSA2MHgxMSBjb250YWlucyAxIGNodW5rKHMpCi0gICAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2MHgxMQorICAgICAgICAgIFJlbmRl
clNWR1RleHQge3RleHR9IGF0ICgwLDIxKSBzaXplIDYweDEyIGNvbnRhaW5zIDEgY2h1bmsocykK
KyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDYw
eDEyCiAgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMC4wMCwzMC4wMCkgc3Rh
cnRPZmZzZXQgMCBlbmRPZmZzZXQgNCB3aWR0aCA2MC4wMDogIjEyMzQiCiAgICAgICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHt1c2V9IGF0ICgyNjAsMTQxKSBzaXplIDE0eDMzCiAgICAgICAgICAg
ICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyNjAsMTQxKSBzaXplIDE0eDMzIFt0cmFuc2Zv
cm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDEwLjAwLDYwLjAwKX1dCkBAIC03Myw4
ICs3Myw4IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgICAgICBSZW5k
ZXJTVkdDb250YWluZXIge2d9IGF0ICgzMTAsMTQxKSBzaXplIDE0eDMzCiAgICAgICAgICAgICAg
ICAgUmVuZGVyU1ZHUGF0aCB7bGluZX0gYXQgKDMxNSwxNDEpIHNpemUgNHgyNiBbc3Ryb2tlPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9
Izg4ODhGRl19XSBbeDE9MC4wMF0gW3kxPTAuMDBdIFt4Mj0wLjAwXSBbeTI9LTE1LjAwXQogICAg
ICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0ICgzMTAsMTYwKSBzaXplIDE0eDE0
IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM4ODg4RkZdfV0gW3g9LTQuMDBdIFt5PS00LjAw
XSBbd2lkdGg9OC4wMF0gW2hlaWdodD04LjAwXQotICAgICAgICAgIFJlbmRlclNWR1RleHQge3Rl
eHR9IGF0ICgxMCw1MSkgc2l6ZSA0NXgxMSBjb250YWlucyAxIGNodW5rKHMpCi0gICAgICAgICAg
ICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0NXgxMQorICAgICAg
ICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCw1MSkgc2l6ZSA0NXgxMiBjb250YWlucyAx
IGNodW5rKHMpCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSA0NXgxMgogICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDEwLjAw
LDYwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAiMSIKICAgICAg
ICAgICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgyMC4wMCw2MC4wMCkgc3RhcnRPZmZzZXQg
MCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjIiCiAgICAgICAgICAgICAgIGNodW5rIDEgdGV4
dCBydW4gMSBhdCAoMzAuMDAsNjAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGgg
MTUuMDA6ICIzIgpAQCAtODksOCArODksOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzQzLDE5MSkgc2l6ZSAx
NHgzMwogICAgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge2xpbmV9IGF0ICgzNDgsMTkxKSBz
aXplIDR4MjYgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSM4ODg4RkZdfV0gW3gxPTAuMDBdIFt5MT0wLjAwXSBbeDI9MC4w
MF0gW3kyPS0xNS4wMF0KICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAo
MzQzLDIxMCkgc2l6ZSAxNHgxNCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1d
IFt4PS00LjAwXSBbeT0tNC4wMF0gW3dpZHRoPTguMDBdIFtoZWlnaHQ9OC4wMF0KLSAgICAgICAg
ICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsODEpIHNpemUgOTV4MTEgY29udGFpbnMgMSBj
aHVuayhzKQotICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgOTV4MTEKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsODEpIHNp
emUgOTV4MTIgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5l
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgOTV4MTIKICAgICAgICAgICAgICAgY2h1bmsgMSB0
ZXh0IHJ1biAxIGF0ICgxMC4wMCw5MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0
aCAxNS4wMDogIjEiCiAgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoNjAuMDAs
OTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDMgd2lkdGggNDUuMDA6ICIyMzQiCiAgICAg
ICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjQzLDIyNSkgc2l6ZSAxMDd4NjUgW3Ry
YW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMC4wMCwxMjAuMDApfV0KQEAg
LTExNCw4ICsxMTQsOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICAg
ICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzMTgsMjU4KSBzaXplIDE0eDMyCiAgICAg
ICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtsaW5lfSBhdCAoMzIzLDI1OCkgc2l6ZSA0eDI2
IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09M
SURdIFtjb2xvcj0jODg4OEZGXX1dIFt4MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTAuMDBdIFt5Mj0t
MTUuMDBdCiAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMzE4LDI3
Nikgc2l6ZSAxNHgxNCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4PS00
LjAwXSBbeT0tNC4wMF0gW3dpZHRoPTguMDBdIFtoZWlnaHQ9OC4wMF0KLSAgICAgICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICgwLC0xOSkgc2l6ZSA2MHgzMSBjb250YWlucyAxIGNodW5r
KHMpCi0gICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDYweDMxCisgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwtMTkpIHNp
emUgNjB4MzIgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxp
bmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2MHgzMgogICAgICAgICAgICAgICAgIGNodW5r
IDEgdGV4dCBydW4gMSBhdCAoMC4wMCwtMTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEg
d2lkdGggMTUuMDA6ICIxIgogICAgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAo
MTUuMDAsLTUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIyIgog
ICAgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMzAuMDAsNS4wMCkgc3RhcnRP
ZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjMiCkBAIC0xNDEsOCArMTQxLDggQEAg
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29u
dGFpbmVyIHtnfSBhdCAoMzEwLDMwOCkgc2l6ZSAxNHgzMgogICAgICAgICAgICAgICAgICAgUmVu
ZGVyU1ZHUGF0aCB7bGluZX0gYXQgKDMxNSwzMDgpIHNpemUgNHgyNiBbc3Ryb2tlPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhG
Rl19XSBbeDE9MC4wMF0gW3kxPTAuMDBdIFt4Mj0wLjAwXSBbeTI9LTE1LjAwXQogICAgICAgICAg
ICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDMxMCwzMjYpIHNpemUgMTR4MTQgW2Zp
bGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeD0tNC4wMF0gW3k9LTQuMDBdIFt3
aWR0aD04LjAwXSBbaGVpZ2h0PTguMDBdCi0gICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0
fSBhdCAoMTAsLTE5KSBzaXplIDQ1eDMxIGNvbnRhaW5zIDEgY2h1bmsocykKLSAgICAgICAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDV4MzEKKyAgICAg
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwtMTkpIHNpemUgNDV4MzIgY29udGFp
bnMgMSBjaHVuayhzKQorICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSA0NXgzMgogICAgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBh
dCAoMTAuMDAsLTEwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAi
MSIKICAgICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDIwLjAwLC01LjAwKSBz
dGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAiMiIKICAgICAgICAgICAgICAg
ICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDMwLjAwLDUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zm
c2V0IDEgd2lkdGggMTUuMDA6ICIzIgpAQCAtMTY4LDggKzE2OCw4IEBAIGxheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAogICAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQg
KDMyNiwzNTgpIHNpemUgMTR4MzIKICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge2xp
bmV9IGF0ICgzMzEsMzU4KSBzaXplIDR4MjYgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0j
RkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM4ODg4RkZdfV0gW3gxPTAuMDBd
IFt5MT0wLjAwXSBbeDI9MC4wMF0gW3kyPS0xNS4wMF0KICAgICAgICAgICAgICAgICAgIFJlbmRl
clNWR1BhdGgge3JlY3R9IGF0ICgzMjYsMzc2KSBzaXplIDE0eDE0IFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSM4ODg4RkZdfV0gW3g9LTQuMDBdIFt5PS00LjAwXSBbd2lkdGg9OC4wMF0gW2hl
aWdodD04LjAwXQotICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLC0xOSkg
c2l6ZSA1NXgzMSBjb250YWlucyAxIGNodW5rKHMpCi0gICAgICAgICAgICAgIFJlbmRlclNWR0lu
bGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDU1eDMxCisgICAgICAgICAgICBSZW5kZXJT
VkdUZXh0IHt0ZXh0fSBhdCAoMTAsLTE5KSBzaXplIDU1eDMyIGNvbnRhaW5zIDEgY2h1bmsocykK
KyAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
NTV4MzIKICAgICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDEwLjAwLC0xMC4w
MCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjEiCiAgICAgICAgICAg
ICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgyMC4wMCwtNS4wMCkgc3RhcnRPZmZzZXQgMCBl
bmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjIiCiAgICAgICAgICAgICAgICAgY2h1bmsgMSB0ZXh0
IHJ1biAxIGF0ICgzNS4wMCw1LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1
LjAwOiAiMyIKQEAgLTE4NSw4ICsxODUsOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyNjgsNDAwKSBzaXpl
IDE0eDMyCiAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtsaW5lfSBhdCAoMjczLDQw
MCkgc2l6ZSA0eDI1IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmls
bD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4MT0wLjAwXSBbeTE9MC4wMF0gW3gy
PTAuMDBdIFt5Mj0tMTUuMDBdCiAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0
fSBhdCAoMjY4LDQxOCkgc2l6ZSAxNHgxNCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4
OEZGXX1dIFt4PS00LjAwXSBbeT0tNC4wMF0gW3dpZHRoPTguMDBdIFtoZWlnaHQ9OC4wMF0KLSAg
ICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgwLC0xOSkgc2l6ZSA2MHgyNiBjb250
YWlucyAxIGNodW5rKHMpCi0gICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDYweDI2CisgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBh
dCAoMCwtMTkpIHNpemUgNjB4MjcgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICAgICAgICBS
ZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2MHgyNwogICAgICAgICAg
ICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMC4wMCwtMTAuMDApIHN0YXJ0T2Zmc2V0IDAg
ZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIxIgogICAgICAgICAgICAgICAgIGNodW5rIDEgdGV4
dCBydW4gMSBhdCAoMTUuMDAsNS4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMyB3aWR0aCA0
NS4wMDogIjIzNCIKICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgyNjAsNDI1
KSBzaXplIDgyeDQwIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAu
MDAsMjQwLjAwKX1dCkBAIC0yMTAsOCArMjEwLDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMzEwLDQzMykg
c2l6ZSAxNHgzMgogICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7bGluZX0gYXQgKDMx
NSw0MzMpIHNpemUgNHgyNiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0g
W2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeDE9MC4wMF0gW3kxPTAuMDBd
IFt4Mj0wLjAwXSBbeTI9LTE1LjAwXQogICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7
cmVjdH0gYXQgKDMxMCw0NTEpIHNpemUgMTR4MTQgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9
Izg4ODhGRl19XSBbeD0tNC4wMF0gW3k9LTQuMDBdIFt3aWR0aD04LjAwXSBbaGVpZ2h0PTguMDBd
Ci0gICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMTAsLTE5KSBzaXplIDQ1eDE2
IGNvbnRhaW5zIDEgY2h1bmsocykKLSAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgNDV4MTYKKyAgICAgICAgICAgIFJlbmRlclNWR1RleHQge3Rl
eHR9IGF0ICgxMCwtMTkpIHNpemUgNDV4MTcgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0NXgxNwogICAg
ICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTAuMDAsLTEwLjAwKSBzdGFydE9m
ZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAiMSIKICAgICAgICAgICAgICAgICBjaHVu
ayAxIHRleHQgcnVuIDEgYXQgKDIwLjAwLC01LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAx
IHdpZHRoIDE1LjAwOiAiMiIKICAgICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQg
KDMwLjAwLC01LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAiMyIK
QEAgLTIyNyw4ICsyMjcsOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAg
ICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzNDMsNDgzKSBzaXplIDE0eDMyCiAg
ICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtsaW5lfSBhdCAoMzQ4LDQ4Mykgc2l6ZSA0
eDI2IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9
U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTAuMDBdIFt5
Mj0tMTUuMDBdCiAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoMzQz
LDUwMSkgc2l6ZSAxNHgxNCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4
PS00LjAwXSBbeT0tNC4wMF0gW3dpZHRoPTguMDBdIFtoZWlnaHQ9OC4wMF0KLSAgICAgICAgICAg
IFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwtMTkpIHNpemUgOTV4MTYgY29udGFpbnMgMSBj
aHVuayhzKQotICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSA5NXgxNgorICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLC0x
OSkgc2l6ZSA5NXgxNyBjb250YWlucyAxIGNodW5rKHMpCisgICAgICAgICAgICAgIFJlbmRlclNW
R0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDk1eDE3CiAgICAgICAgICAgICAgICAg
Y2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgxMC4wMCwtMTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zm
c2V0IDEgd2lkdGggMTUuMDA6ICIxIgogICAgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4g
MSBhdCAoNjAuMDAsLTUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDMgd2lkdGggNDUuMDA6
ICIyMzQiCiAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgzNTYsMTUpIHNpemUgMTk5
eDUzNSBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgyNTAuMDAsNDAu
MDApfV0KQEAgLTI0Niw4ICsyNDYsOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAg
ICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg0MTAsOTEpIHNpemUgMTR4
MzMKICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge2xpbmV9IGF0ICg0MTUsOTEpIHNp
emUgNHgyNiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0
eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeDE9MC4wMF0gW3kxPTAuMDBdIFt4Mj0wLjAw
XSBbeTI9LTE1LjAwXQogICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQg
KDQxMCwxMTApIHNpemUgMTR4MTQgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19
XSBbeD0tNC4wMF0gW3k9LTQuMDBdIFt3aWR0aD04LjAwXSBbaGVpZ2h0PTguMDBdCi0gICAgICAg
ICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgtMzAsMjEpIHNpemUgNjB4MTEgY29udGFp
bnMgMSBjaHVuayhzKQotICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDYweDExCisgICAgICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9
IGF0ICgtMzAsMjEpIHNpemUgNjB4MTIgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICAgICAg
ICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDYweDEyCiAgICAg
ICAgICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgtMzAu
MDAsMzAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDQgd2lkdGggNjAuMDA6ICIxMjM0Igog
ICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg0MjYsMTQxKSBzaXplIDE0
eDMzIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDEwLjAwLDYwLjAw
KX1dCiAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoNDI2LDE0MSkg
c2l6ZSAxNHgzMwpAQCAtMjY1LDggKzI2NSw4IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAogICAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDQ3NiwxNDEpIHNp
emUgMTR4MzMKICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge2xpbmV9IGF0ICg0ODEs
MTQxKSBzaXplIDR4MjYgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtm
aWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM4ODg4RkZdfV0gW3gxPTAuMDBdIFt5MT0wLjAwXSBb
eDI9MC4wMF0gW3kyPS0xNS4wMF0KICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge3Jl
Y3R9IGF0ICg0NzYsMTYwKSBzaXplIDE0eDE0IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM4
ODg4RkZdfV0gW3g9LTQuMDBdIFt5PS00LjAwXSBbd2lkdGg9OC4wMF0gW2hlaWdodD04LjAwXQot
ICAgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMiw1MSkgc2l6ZSA0NngxMSBj
b250YWlucyAxIGNodW5rKHMpCi0gICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgNDZ4MTEKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7
dGV4dH0gYXQgKDIsNTEpIHNpemUgNDZ4MTIgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ2eDEyCiAg
ICAgICAgICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgy
LjUwLDYwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAiMSIKICAg
ICAgICAgICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDEy
LjUwLDYwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAiMiIKICAg
ICAgICAgICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDIy
LjUwLDYwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAiMyIKQEAg
LTI3OSw4ICsyNzksOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICAg
ICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg1MTAsMTkxKSBzaXplIDE0eDMzCiAgICAg
ICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtsaW5lfSBhdCAoNTE1LDE5MSkgc2l6ZSA0eDI2
IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09M
SURdIFtjb2xvcj0jODg4OEZGXX1dIFt4MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTAuMDBdIFt5Mj0t
MTUuMDBdCiAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoNTEwLDIx
MCkgc2l6ZSAxNHgxNCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4PS00
LjAwXSBbeT0tNC4wMF0gW3dpZHRoPTguMDBdIFtoZWlnaHQ9OC4wMF0KLSAgICAgICAgICAgICAg
UmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIsODEpIHNpemUgODF4MTEgY29udGFpbnMgMSBjaHVu
ayhzKQotICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDgxeDExCisgICAgICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgyLDgx
KSBzaXplIDgxeDEyIGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA4MXgxMgogICAgICAgICAgICAgICAg
ICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMi41MCw5MC4wMCkgc3Rh
cnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjEiCiAgICAgICAgICAgICAgICAg
ICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgzNy41MCw5MC4wMCkgc3Rh
cnRPZmZzZXQgMCBlbmRPZmZzZXQgMyB3aWR0aCA0NS4wMDogIjIzNCIKICAgICAgICAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoNDAzLDIyNSkgc2l6ZSAxMDJ4NjUgW3RyYW5zZm9y
bT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMC4wMCwxMjAuMDApfV0KQEAgLTMwMCw4
ICszMDAsOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICAgICAgICAg
IFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDQ4NSwyNTgpIHNpemUgMTR4MzIKICAgICAgICAg
ICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7bGluZX0gYXQgKDQ5MCwyNTgpIHNpemUgNHgyNiBb
c3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElE
XSBbY29sb3I9Izg4ODhGRl19XSBbeDE9MC4wMF0gW3kxPTAuMDBdIFt4Mj0wLjAwXSBbeTI9LTE1
LjAwXQogICAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoNDg1LDI3
Nikgc2l6ZSAxNHgxNCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4PS00
LjAwXSBbeT0tNC4wMF0gW3dpZHRoPTguMDBdIFtoZWlnaHQ9OC4wMF0KLSAgICAgICAgICAgICAg
ICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoLTgsLTE5KSBzaXplIDYxeDMxIGNvbnRhaW5zIDEg
Y2h1bmsocykKLSAgICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDYxeDMxCisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKC04LC0xOSkgc2l6ZSA2MXgzMiBjb250YWlucyAxIGNodW5rKHMpCisgICAgICAgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2MXgzMgogICAg
ICAgICAgICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgt
Ny41MCwtMTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIxIgog
ICAgICAgICAgICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0
ICg3LjUwLC01LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAiMiIK
ICAgICAgICAgICAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBh
dCAoMjIuNTAsNS4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjMi
CkBAIC0zMjMsOCArMzIzLDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAg
ICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg0NzYsMzA4KSBzaXplIDE0eDMy
CiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge2xpbmV9IGF0ICg0ODEsMzA4KSBz
aXplIDR4MjYgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSM4ODg4RkZdfV0gW3gxPTAuMDBdIFt5MT0wLjAwXSBbeDI9MC4w
MF0gW3kyPS0xNS4wMF0KICAgICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0g
YXQgKDQ3NiwzMjYpIHNpemUgMTR4MTQgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhG
Rl19XSBbeD0tNC4wMF0gW3k9LTQuMDBdIFt3aWR0aD04LjAwXSBbaGVpZ2h0PTguMDBdCi0gICAg
ICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDIsLTE5KSBzaXplIDQ2eDMxIGNv
bnRhaW5zIDEgY2h1bmsocykKLSAgICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ2eDMxCisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4
dCB7dGV4dH0gYXQgKDIsLTE5KSBzaXplIDQ2eDMyIGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAg
ICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ2
eDMyCiAgICAgICAgICAgICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVu
IDEgYXQgKDIuNTAsLTEwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAw
OiAiMSIKICAgICAgICAgICAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBy
dW4gMSBhdCAoMTIuNTAsLTUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUu
MDA6ICIyIgogICAgICAgICAgICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0
IHJ1biAxIGF0ICgyMi41MCw1LjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1
LjAwOiAiMyIKQEAgLTM0Niw4ICszNDYsOCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDQ5MywzNTgpIHNp
emUgMTR4MzIKICAgICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7bGluZX0gYXQgKDQ5
OCwzNTgpIHNpemUgNHgyNiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0g
W2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeDE9MC4wMF0gW3kxPTAuMDBd
IFt4Mj0wLjAwXSBbeTI9LTE1LjAwXQogICAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRo
IHtyZWN0fSBhdCAoNDkzLDM3Nikgc2l6ZSAxNHgxNCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xv
cj0jODg4OEZGXX1dIFt4PS00LjAwXSBbeT0tNC4wMF0gW3dpZHRoPTguMDBdIFtoZWlnaHQ9OC4w
MF0KLSAgICAgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMiwtMTkpIHNpemUg
NTZ4MzEgY29udGFpbnMgMSBjaHVuayhzKQotICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNTZ4MzEKKyAgICAgICAgICAgICAgICBSZW5k
ZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMiwtMTkpIHNpemUgNTZ4MzIgY29udGFpbnMgMSBjaHVuayhz
KQorICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgNTZ4MzIKICAgICAgICAgICAgICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikg
dGV4dCBydW4gMSBhdCAoMi41MCwtMTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lk
dGggMTUuMDA6ICIxIgogICAgICAgICAgICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9y
KSB0ZXh0IHJ1biAxIGF0ICgxMi41MCwtNS4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3
aWR0aCAxNS4wMDogIjIiCiAgICAgICAgICAgICAgICAgICAgIGNodW5rIDEgKG1pZGRsZSBhbmNo
b3IpIHRleHQgcnVuIDEgYXQgKDI3LjUwLDUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEg
d2lkdGggMTUuMDA6ICIzIgpAQCAtMzYxLDggKzM2MSw4IEBAIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAogICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoNDM1
LDQwMCkgc2l6ZSAxNHgzMgogICAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtsaW5l
fSBhdCAoNDQwLDQwMCkgc2l6ZSA0eDI1IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZG
MDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4MT0wLjAwXSBb
eTE9MC4wMF0gW3gyPTAuMDBdIFt5Mj0tMTUuMDBdCiAgICAgICAgICAgICAgICAgICAgIFJlbmRl
clNWR1BhdGgge3JlY3R9IGF0ICg0MzUsNDE4KSBzaXplIDE0eDE0IFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSM4ODg4RkZdfV0gW3g9LTQuMDBdIFt5PS00LjAwXSBbd2lkdGg9OC4wMF0gW2hl
aWdodD04LjAwXQotICAgICAgICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgtOCwt
MTkpIHNpemUgNDZ4MjYgY29udGFpbnMgMSBjaHVuayhzKQotICAgICAgICAgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDZ4MjYKKyAgICAgICAgICAg
ICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoLTgsLTE5KSBzaXplIDQ2eDI3IGNvbnRhaW5z
IDEgY2h1bmsocykKKyAgICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDQ2eDI3CiAgICAgICAgICAgICAgICAgICAgIGNodW5rIDEgKG1pZGRs
ZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKC03LjUwLC0xMC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRP
ZmZzZXQgMSB3aWR0aCAxNS4wMDogIjEiCiAgICAgICAgICAgICAgICAgICAgIGNodW5rIDEgKG1p
ZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKC03LjUwLDUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5k
T2Zmc2V0IDMgd2lkdGggNDUuMDA6ICIyMzQiCiAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7Z30gYXQgKDQyMCw0MjUpIHNpemUgNzd4NDAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4w
MCkoMC4wMCwxLjAwKSkgdD0oMC4wMCwyNDAuMDApfV0KQEAgLTM4Miw4ICszODIsOCBAQCBsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRh
aW5lciB7Z30gYXQgKDQ3Niw0MzMpIHNpemUgMTR4MzIKICAgICAgICAgICAgICAgICAgICAgUmVu
ZGVyU1ZHUGF0aCB7bGluZX0gYXQgKDQ4MSw0MzMpIHNpemUgNHgyNiBbc3Ryb2tlPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhG
Rl19XSBbeDE9MC4wMF0gW3kxPTAuMDBdIFt4Mj0wLjAwXSBbeTI9LTE1LjAwXQogICAgICAgICAg
ICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoNDc2LDQ1MSkgc2l6ZSAxNHgxNCBb
ZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4PS00LjAwXSBbeT0tNC4wMF0g
W3dpZHRoPTguMDBdIFtoZWlnaHQ9OC4wMF0KLSAgICAgICAgICAgICAgICBSZW5kZXJTVkdUZXh0
IHt0ZXh0fSBhdCAoMiwtMTkpIHNpemUgNDZ4MTYgY29udGFpbnMgMSBjaHVuayhzKQotICAgICAg
ICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDZ4
MTYKKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMiwtMTkpIHNpemUg
NDZ4MTcgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDZ4MTcKICAgICAgICAgICAgICAgICAgICAg
Y2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMi41MCwtMTAuMDApIHN0YXJ0
T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIxIgogICAgICAgICAgICAgICAgICAg
ICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgxMi41MCwtNS4wMCkgc3Rh
cnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjIiCiAgICAgICAgICAgICAgICAg
ICAgIGNodW5rIDEgKG1pZGRsZSBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDIyLjUwLC01LjAwKSBz
dGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAiMyIKQEAgLTM5Nyw4ICszOTcs
OCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICAgICAgICAgIFJlbmRl
clNWR0NvbnRhaW5lciB7Z30gYXQgKDUxMCw0ODMpIHNpemUgMTR4MzIKICAgICAgICAgICAgICAg
ICAgICAgUmVuZGVyU1ZHUGF0aCB7bGluZX0gYXQgKDUxNSw0ODMpIHNpemUgNHgyNiBbc3Ryb2tl
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9Izg4ODhGRl19XSBbeDE9MC4wMF0gW3kxPTAuMDBdIFt4Mj0wLjAwXSBbeTI9LTE1LjAwXQog
ICAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoNTEwLDUwMSkgc2l6
ZSAxNHgxNCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4PS00LjAwXSBb
eT0tNC4wMF0gW3dpZHRoPTguMDBdIFtoZWlnaHQ9OC4wMF0KLSAgICAgICAgICAgICAgICBSZW5k
ZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMiwtMTkpIHNpemUgODF4MTYgY29udGFpbnMgMSBjaHVuayhz
KQotICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgODF4MTYKKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMiwt
MTkpIHNpemUgODF4MTcgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICAgICAgICAgICAgUmVu
ZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgODF4MTcKICAgICAgICAgICAg
ICAgICAgICAgY2h1bmsgMSAobWlkZGxlIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMi41MCwtMTAu
MDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIxIgogICAgICAgICAg
ICAgICAgICAgICBjaHVuayAxIChtaWRkbGUgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgzNy41MCwt
NS4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMyB3aWR0aCA0NS4wMDogIjIzNCIKICAgICAg
IFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDQ4MywxNSkgc2l6ZSAyMDd4NTM1IFt0cmFuc2Zv
cm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDM1MC4wMCw0MC4wMCl9XQpAQCAtNDE2
LDggKzQxNiw4IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgICAgICAg
IFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDU3Niw5MSkgc2l6ZSAxNHgzMwogICAgICAgICAg
ICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7bGluZX0gYXQgKDU4MSw5MSkgc2l6ZSA0eDI2IFtzdHJv
a2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtj
b2xvcj0jODg4OEZGXX1dIFt4MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTAuMDBdIFt5Mj0tMTUuMDBd
CiAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoNTc2LDExMCkgc2l6
ZSAxNHgxNCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4PS00LjAwXSBb
eT0tNC4wMF0gW3dpZHRoPTguMDBdIFtoZWlnaHQ9OC4wMF0KLSAgICAgICAgICAgICAgUmVuZGVy
U1ZHVGV4dCB7dGV4dH0gYXQgKC02MCwyMSkgc2l6ZSA2MHgxMSBjb250YWlucyAxIGNodW5rKHMp
Ci0gICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgNjB4MTEKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKC02MCwyMSkg
c2l6ZSA2MHgxMiBjb250YWlucyAxIGNodW5rKHMpCisgICAgICAgICAgICAgICAgUmVuZGVyU1ZH
SW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjB4MTIKICAgICAgICAgICAgICAgICAg
IGNodW5rIDEgKGVuZCBhbmNob3IpIHRleHQgcnVuIDEgYXQgKC02MC4wMCwzMC4wMCkgc3RhcnRP
ZmZzZXQgMCBlbmRPZmZzZXQgNCB3aWR0aCA2MC4wMDogIjEyMzQiCiAgICAgICAgICAgICAgIFJl
bmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDU5MywxNDEpIHNpemUgMTR4MzMgW3RyYW5zZm9ybT17
bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTAuMDAsNjAuMDApfV0KICAgICAgICAgICAg
ICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg1OTMsMTQxKSBzaXplIDE0eDMzCkBAIC00
MzUsOCArNDM1LDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgICAg
ICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoNjQzLDE0MSkgc2l6ZSAxNHgzMwogICAgICAg
ICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7bGluZX0gYXQgKDY0OCwxNDEpIHNpemUgNHgyNiBb
c3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElE
XSBbY29sb3I9Izg4ODhGRl19XSBbeDE9MC4wMF0gW3kxPTAuMDBdIFt4Mj0wLjAwXSBbeTI9LTE1
LjAwXQogICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDY0MywxNjAp
IHNpemUgMTR4MTQgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeD0tNC4w
MF0gW3k9LTQuMDBdIFt3aWR0aD04LjAwXSBbaGVpZ2h0PTguMDBdCi0gICAgICAgICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICgtNSw1MSkgc2l6ZSA0NXgxMSBjb250YWlucyAxIGNodW5r
KHMpCi0gICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgNDV4MTEKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKC01LDUx
KSBzaXplIDQ1eDEyIGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgICAgICAgICBSZW5kZXJT
VkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0NXgxMgogICAgICAgICAgICAgICAg
ICAgY2h1bmsgMSAoZW5kIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoLTUuMDAsNjAuMDApIHN0YXJ0
T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIxIgogICAgICAgICAgICAgICAgICAg
Y2h1bmsgMSAoZW5kIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoNS4wMCw2MC4wMCkgc3RhcnRPZmZz
ZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjIiCiAgICAgICAgICAgICAgICAgICBjaHVu
ayAxIChlbmQgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgxNS4wMCw2MC4wMCkgc3RhcnRPZmZzZXQg
MCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjMiCkBAIC00NDksOCArNDQ5LDggQEAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVy
IHtnfSBhdCAoNjc2LDE5MSkgc2l6ZSAxNHgzMwogICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZH
UGF0aCB7bGluZX0gYXQgKDY4MSwxOTEpIHNpemUgNHgyNiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBb
eDE9MC4wMF0gW3kxPTAuMDBdIFt4Mj0wLjAwXSBbeTI9LTE1LjAwXQogICAgICAgICAgICAgICAg
ICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDY3NiwyMTApIHNpemUgMTR4MTQgW2ZpbGw9e1t0
eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeD0tNC4wMF0gW3k9LTQuMDBdIFt3aWR0aD04
LjAwXSBbaGVpZ2h0PTguMDBdCi0gICAgICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0
ICgtNSw4MSkgc2l6ZSA2NXgxMSBjb250YWlucyAxIGNodW5rKHMpCi0gICAgICAgICAgICAgICAg
UmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjV4MTEKKyAgICAgICAg
ICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKC01LDgxKSBzaXplIDY1eDEyIGNvbnRhaW5z
IDEgY2h1bmsocykKKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSA2NXgxMgogICAgICAgICAgICAgICAgICAgY2h1bmsgMSAoZW5kIGFuY2hv
cikgdGV4dCBydW4gMSBhdCAoLTUuMDAsOTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEg
d2lkdGggMTUuMDA6ICIxIgogICAgICAgICAgICAgICAgICAgY2h1bmsgMSAoZW5kIGFuY2hvcikg
dGV4dCBydW4gMSBhdCAoMTUuMDAsOTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDMgd2lk
dGggNDUuMDA6ICIyMzQiCiAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQg
KDU1OCwyMjUpIHNpemUgMTA3eDY1IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4w
MCkpIHQ9KDAuMDAsMTIwLjAwKX1dCkBAIC00NzAsOCArNDcwLDggQEAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0
ICg2NTEsMjU4KSBzaXplIDE0eDMyCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgg
e2xpbmV9IGF0ICg2NTYsMjU4KSBzaXplIDR4MjYgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xv
cj0jRkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM4ODg4RkZdfV0gW3gxPTAu
MDBdIFt5MT0wLjAwXSBbeDI9MC4wMF0gW3kyPS0xNS4wMF0KICAgICAgICAgICAgICAgICAgICAg
UmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDY1MSwyNzYpIHNpemUgMTR4MTQgW2ZpbGw9e1t0eXBl
PVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeD0tNC4wMF0gW3k9LTQuMDBdIFt3aWR0aD04LjAw
XSBbaGVpZ2h0PTguMDBdCi0gICAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQg
KC0xNSwtMTkpIHNpemUgNjB4MzEgY29udGFpbnMgMSBjaHVuayhzKQotICAgICAgICAgICAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjB4MzEKKyAgICAg
ICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoLTE1LC0xOSkgc2l6ZSA2MHgzMiBj
b250YWlucyAxIGNodW5rKHMpCisgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2MHgzMgogICAgICAgICAgICAgICAgICAgICBjaHVuayAx
IChlbmQgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgtMTUuMDAsLTEwLjAwKSBzdGFydE9mZnNldCAw
IGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAiMSIKICAgICAgICAgICAgICAgICAgICAgY2h1bmsg
MSAoZW5kIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMC4wMCwtNS4wMCkgc3RhcnRPZmZzZXQgMCBl
bmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjIiCiAgICAgICAgICAgICAgICAgICAgIGNodW5rIDEg
KGVuZCBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDE1LjAwLDUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5k
T2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIzIgpAQCAtNDkzLDggKzQ5Myw4IEBAIGxheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAogICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtn
fSBhdCAoNjQzLDMwOCkgc2l6ZSAxNHgzMgogICAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdQ
YXRoIHtsaW5lfSBhdCAoNjQ4LDMwOCkgc2l6ZSA0eDI2IFtzdHJva2U9e1t0eXBlPVNPTElEXSBb
Y29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4
MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTAuMDBdIFt5Mj0tMTUuMDBdCiAgICAgICAgICAgICAgICAg
ICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0ICg2NDMsMzI2KSBzaXplIDE0eDE0IFtmaWxsPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSM4ODg4RkZdfV0gW3g9LTQuMDBdIFt5PS00LjAwXSBbd2lkdGg9
OC4wMF0gW2hlaWdodD04LjAwXQotICAgICAgICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9
IGF0ICgtNSwtMTkpIHNpemUgNDV4MzEgY29udGFpbnMgMSBjaHVuayhzKQotICAgICAgICAgICAg
ICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNDV4MzEKKyAg
ICAgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoLTUsLTE5KSBzaXplIDQ1eDMy
IGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ1eDMyCiAgICAgICAgICAgICAgICAgICAgIGNodW5r
IDEgKGVuZCBhbmNob3IpIHRleHQgcnVuIDEgYXQgKC01LjAwLC0xMC4wMCkgc3RhcnRPZmZzZXQg
MCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjEiCiAgICAgICAgICAgICAgICAgICAgIGNodW5r
IDEgKGVuZCBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDUuMDAsLTUuMDApIHN0YXJ0T2Zmc2V0IDAg
ZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIyIgogICAgICAgICAgICAgICAgICAgICBjaHVuayAx
IChlbmQgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgxNS4wMCw1LjAwKSBzdGFydE9mZnNldCAwIGVu
ZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAiMyIKQEAgLTUxNiw4ICs1MTYsOCBAQCBsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7
Z30gYXQgKDY2MCwzNTgpIHNpemUgMTR4MzIKICAgICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZH
UGF0aCB7bGluZX0gYXQgKDY2NSwzNTgpIHNpemUgNHgyNiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBb
eDE9MC4wMF0gW3kxPTAuMDBdIFt4Mj0wLjAwXSBbeTI9LTE1LjAwXQogICAgICAgICAgICAgICAg
ICAgICBSZW5kZXJTVkdQYXRoIHtyZWN0fSBhdCAoNjYwLDM3Nikgc2l6ZSAxNHgxNCBbZmlsbD17
W3R5cGU9U09MSURdIFtjb2xvcj0jODg4OEZGXX1dIFt4PS00LjAwXSBbeT0tNC4wMF0gW3dpZHRo
PTguMDBdIFtoZWlnaHQ9OC4wMF0KLSAgICAgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0
fSBhdCAoLTUsLTE5KSBzaXplIDU1eDMxIGNvbnRhaW5zIDEgY2h1bmsocykKLSAgICAgICAgICAg
ICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDU1eDMxCisg
ICAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKC01LC0xOSkgc2l6ZSA1NXgz
MiBjb250YWlucyAxIGNodW5rKHMpCisgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1NXgzMgogICAgICAgICAgICAgICAgICAgICBjaHVu
ayAxIChlbmQgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgtNS4wMCwtMTAuMDApIHN0YXJ0T2Zmc2V0
IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIxIgogICAgICAgICAgICAgICAgICAgICBjaHVu
ayAxIChlbmQgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICg1LjAwLC01LjAwKSBzdGFydE9mZnNldCAw
IGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAiMiIKICAgICAgICAgICAgICAgICAgICAgY2h1bmsg
MSAoZW5kIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMjAuMDAsNS4wMCkgc3RhcnRPZmZzZXQgMCBl
bmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjMiCkBAIC01MzEsOCArNTMxLDggQEAgbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIg
e2d9IGF0ICg2MDEsNDAwKSBzaXplIDE0eDMyCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclNW
R1BhdGgge2xpbmV9IGF0ICg2MDYsNDAwKSBzaXplIDR4MjUgW3N0cm9rZT17W3R5cGU9U09MSURd
IFtjb2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM4ODg4RkZdfV0g
W3gxPTAuMDBdIFt5MT0wLjAwXSBbeDI9MC4wMF0gW3kyPS0xNS4wMF0KICAgICAgICAgICAgICAg
ICAgICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDYwMSw0MTgpIHNpemUgMTR4MTQgW2ZpbGw9
e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeD0tNC4wMF0gW3k9LTQuMDBdIFt3aWR0
aD04LjAwXSBbaGVpZ2h0PTguMDBdCi0gICAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4
dH0gYXQgKC0zMCwtMTkpIHNpemUgNDV4MjYgY29udGFpbnMgMSBjaHVuayhzKQotICAgICAgICAg
ICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgxNSwwKSBzaXplIDQ1eDI2
CisgICAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKC0zMCwtMTkpIHNpemUg
NDV4MjcgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5s
aW5lVGV4dCB7I3RleHR9IGF0ICgxNSwwKSBzaXplIDQ1eDI3CiAgICAgICAgICAgICAgICAgICAg
IGNodW5rIDEgKGVuZCBhbmNob3IpIHRleHQgcnVuIDEgYXQgKC0xNS4wMCwtMTAuMDApIHN0YXJ0
T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIxIgogICAgICAgICAgICAgICAgICAg
ICBjaHVuayAxIChlbmQgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgtMzAuMDAsNS4wMCkgc3RhcnRP
ZmZzZXQgMCBlbmRPZmZzZXQgMyB3aWR0aCA0NS4wMDogIjIzNCIKICAgICAgICAgICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoNTc1LDQyNSkgc2l6ZSA4Mng0MCBbdHJhbnNmb3JtPXtt
PSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgwLjAwLDI0MC4wMCl9XQpAQCAtNTUyLDggKzU1
Miw4IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgICAgICAgICAgUmVu
ZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoNjQzLDQzMykgc2l6ZSAxNHgzMgogICAgICAgICAgICAg
ICAgICAgICBSZW5kZXJTVkdQYXRoIHtsaW5lfSBhdCAoNjQ4LDQzMykgc2l6ZSA0eDI2IFtzdHJv
a2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtj
b2xvcj0jODg4OEZGXX1dIFt4MT0wLjAwXSBbeTE9MC4wMF0gW3gyPTAuMDBdIFt5Mj0tMTUuMDBd
CiAgICAgICAgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0ICg2NDMsNDUxKSBz
aXplIDE0eDE0IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM4ODg4RkZdfV0gW3g9LTQuMDBd
IFt5PS00LjAwXSBbd2lkdGg9OC4wMF0gW2hlaWdodD04LjAwXQotICAgICAgICAgICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICgtNSwtMTkpIHNpemUgNDV4MTYgY29udGFpbnMgMSBjaHVu
ayhzKQotICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgNDV4MTYKKyAgICAgICAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAo
LTUsLTE5KSBzaXplIDQ1eDE3IGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgICAgICAgICAg
IFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ1eDE3CiAgICAgICAg
ICAgICAgICAgICAgIGNodW5rIDEgKGVuZCBhbmNob3IpIHRleHQgcnVuIDEgYXQgKC01LjAwLC0x
MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjEiCiAgICAgICAg
ICAgICAgICAgICAgIGNodW5rIDEgKGVuZCBhbmNob3IpIHRleHQgcnVuIDEgYXQgKDUuMDAsLTUu
MDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIyIgogICAgICAgICAg
ICAgICAgICAgICBjaHVuayAxIChlbmQgYW5jaG9yKSB0ZXh0IHJ1biAxIGF0ICgxNS4wMCwtNS4w
MCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjMiCkBAIC01NjcsOCAr
NTY3LDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgICAgICAgICBS
ZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg2NzYsNDgzKSBzaXplIDE0eDMyCiAgICAgICAgICAg
ICAgICAgICAgIFJlbmRlclNWR1BhdGgge2xpbmV9IGF0ICg2ODEsNDgzKSBzaXplIDR4MjYgW3N0
cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSM4ODg4RkZdfV0gW3gxPTAuMDBdIFt5MT0wLjAwXSBbeDI9MC4wMF0gW3kyPS0xNS4w
MF0KICAgICAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7cmVjdH0gYXQgKDY3Niw1MDEp
IHNpemUgMTR4MTQgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeD0tNC4w
MF0gW3k9LTQuMDBdIFt3aWR0aD04LjAwXSBbaGVpZ2h0PTguMDBdCi0gICAgICAgICAgICAgICAg
UmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKC01LC0xOSkgc2l6ZSA2NXgxNiBjb250YWlucyAxIGNo
dW5rKHMpCi0gICAgICAgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSA2NXgxNgorICAgICAgICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0
ICgtNSwtMTkpIHNpemUgNjV4MTcgY29udGFpbnMgMSBjaHVuayhzKQorICAgICAgICAgICAgICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNjV4MTcKICAgICAg
ICAgICAgICAgICAgICAgY2h1bmsgMSAoZW5kIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoLTUuMDAs
LTEwLjAwKSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAiMSIKICAgICAg
ICAgICAgICAgICAgICAgY2h1bmsgMSAoZW5kIGFuY2hvcikgdGV4dCBydW4gMSBhdCAoMTUuMDAs
LTUuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDMgd2lkdGggNDUuMDA6ICIyMzQiCiAgICAg
UmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDEwLDMxNCkgc2l6ZSAyNjR4NDYgY29udGFpbnMgMSBj
aHVuayhzKQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy90ZXh0L3RleHQtdGV4
dC0wNi10LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvc3ZnL3RleHQvdGV4dC10ZXh0LTA2LXQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA3NjQ1MCkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvdGV4dC90ZXh0LXRleHQtMDYtdC1leHBl
Y3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUwLDggKzUwLDggQEAgbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCiAgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDQx
MCw5MSkgc2l6ZSAxNHgzMwogICAgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge2xpbmV9IGF0
ICg0MTUsOTEpIHNpemUgNHgyNiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBd
fV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeDE9MC4wMF0gW3kxPTAu
MDBdIFt4Mj0wLjAwXSBbeTI9LTE1LjAwXQogICAgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgg
e3JlY3R9IGF0ICg0MTAsMTEwKSBzaXplIDE0eDE0IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9y
PSM4ODg4RkZdfV0gW3g9LTQuMDBdIFt5PS00LjAwXSBbd2lkdGg9OC4wMF0gW2hlaWdodD04LjAw
XQotICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwtOSkgc2l6ZSAxMzV4MTEg
Y29udGFpbnMgMSBjaHVuayhzKQotICAgICAgICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMTM1eDExCisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0g
YXQgKDEwLC05KSBzaXplIDEzNXgxMiBjb250YWlucyAxIGNodW5rKHMpCisgICAgICAgICAgICBS
ZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMzV4MTIKICAgICAgICAg
ICAgICAgY2h1bmsgMSB0ZXh0IHJ1biAxIGF0ICgxMC4wMCwwLjAwKSBzdGFydE9mZnNldCAwIGVu
ZE9mZnNldCAyIHdpZHRoIDE1LjAwOiAiZmkiCiAgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBy
dW4gMSBhdCAoNDAuMDAsMC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4w
MDogIjEiCiAgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoNzAuMDAsMC4wMCkg
c3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0aCAxNS4wMDogIjIiCkBAIC04OCw4ICs4OCw4
IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgICAgICAgICBSZW5kZXJTVkdD
b250YWluZXIge2d9IGF0ICgyOTMsMjA4KSBzaXplIDE0eDMyCiAgICAgICAgICAgICAgICAgUmVu
ZGVyU1ZHUGF0aCB7bGluZX0gYXQgKDI5OCwyMDgpIHNpemUgNHgyNiBbc3Ryb2tlPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9Izg4ODhG
Rl19XSBbeDE9MC4wMF0gW3kxPTAuMDBdIFt4Mj0wLjAwXSBbeTI9LTE1LjAwXQogICAgICAgICAg
ICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0ICgyOTMsMjI2KSBzaXplIDE0eDE0IFtmaWxs
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM4ODg4RkZdfV0gW3g9LTQuMDBdIFt5PS00LjAwXSBbd2lk
dGg9OC4wMF0gW2hlaWdodD04LjAwXQotICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0
ICgwLC0xOSkgc2l6ZSA3NXg1MSBjb250YWlucyAxIGNodW5rKHMpCi0gICAgICAgICAgICBSZW5k
ZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3NXg1MQorICAgICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICgwLC0xOSkgc2l6ZSA3NXg1MiBjb250YWlucyAxIGNodW5r
KHMpCisgICAgICAgICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSA3NXg1MgogICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDAuMDAsLTEwLjAw
KSBzdGFydE9mZnNldCAwIGVuZE9mZnNldCAyIHdpZHRoIDE1LjAwOiAiZmkiCiAgICAgICAgICAg
ICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoMTUuMDAsMC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRP
ZmZzZXQgMSB3aWR0aCAxNS4wMDogIjEiCiAgICAgICAgICAgICAgIGNodW5rIDEgdGV4dCBydW4g
MSBhdCAoMzAuMDAsMTAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6
ICIyIgpAQCAtMTI2LDggKzEyNiw4IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAg
ICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICg0MTAsMzc1KSBzaXplIDE0eDMy
CiAgICAgICAgICAgICAgICAgUmVuZGVyU1ZHUGF0aCB7bGluZX0gYXQgKDQxNSwzNzUpIHNpemUg
NHgyNSBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBl
PVNPTElEXSBbY29sb3I9Izg4ODhGRl19XSBbeDE9MC4wMF0gW3kxPTAuMDBdIFt4Mj0wLjAwXSBb
eTI9LTE1LjAwXQogICAgICAgICAgICAgICAgIFJlbmRlclNWR1BhdGgge3JlY3R9IGF0ICg0MTAs
MzkzKSBzaXplIDE0eDE0IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSM4ODg4RkZdfV0gW3g9
LTQuMDBdIFt5PS00LjAwXSBbd2lkdGg9OC4wMF0gW2hlaWdodD04LjAwXQotICAgICAgICAgIFJl
bmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwtMTkpIHNpemUgMTM1eDUxIGNvbnRhaW5zIDEgY2h1
bmsocykKLSAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDEzNXg1MQorICAgICAgICAgIFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgxMCwtMTkpIHNp
emUgMTM1eDUyIGNvbnRhaW5zIDEgY2h1bmsocykKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGlu
ZVRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEzNXg1MgogICAgICAgICAgICAgICBjaHVuayAx
IHRleHQgcnVuIDEgYXQgKDEwLjAwLC0xMC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMiB3
aWR0aCAxNS4wMDogImZpIgogICAgICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDQw
LjAwLDAuMDApIHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMTUuMDA6ICIxIgogICAg
ICAgICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDcwLjAwLDEwLjAwKSBzdGFydE9mZnNl
dCAwIGVuZE9mZnNldCAxIHdpZHRoIDE1LjAwOiAiMiIKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9j
dXN0b20vZ2x5cGgtdHJhbnNmb3JtYXRpb24td2l0aC1oa2Vybi1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9nbHlwaC10cmFuc2Zvcm1hdGlvbi13aXRo
LWhrZXJuLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNzY0NTApCisrKyBMYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL2dseXBoLXRyYW5zZm9ybWF0aW9uLXdpdGgtaGtlcm4tZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDEwICsxLDEwIEBACiBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
ICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAotICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgzMCwxKSBzaXplIDEzOHgxNTIKKyAg
UmVuZGVyU1ZHUm9vdCB7c3ZnfSBhdCAoMzAsMCkgc2l6ZSAxMzh4MTUzCiAgICAgUmVuZGVyU1ZH
SGlkZGVuQ29udGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAotICAgIFJlbmRlclNWR1Rl
eHQge3RleHR9IGF0ICgzMCwxKSBzaXplIDEzOHgxNTIgY29udGFpbnMgMSBjaHVuayhzKQotICAg
ICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTM4eDE1MgorICAg
IFJlbmRlclNWR1RleHQge3RleHR9IGF0ICgzMCwwKSBzaXplIDEzOHgxNTMgY29udGFpbnMgMSBj
aHVuayhzKQorICAgICAgUmVuZGVyU1ZHSW5saW5lVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MTM4eDE1MwogICAgICAgICBjaHVuayAxIHRleHQgcnVuIDEgYXQgKDMwLjAwLDMwLjAwKSBzdGFy
dE9mZnNldCAwIGVuZE9mZnNldCAxIHdpZHRoIDI1LjI3OiAiUiIKICAgICAgICAgY2h1bmsgMSB0
ZXh0IHJ1biAxIGF0ICg1MC4wMCw1MC4wMCkgc3RhcnRPZmZzZXQgMCBlbmRPZmZzZXQgMSB3aWR0
aCAyNy4yMzogIk8iCiAgICAgICAgIGNodW5rIDEgdGV4dCBydW4gMSBhdCAoNzAuMDAsNzAuMDAp
IHN0YXJ0T2Zmc2V0IDAgZW5kT2Zmc2V0IDEgd2lkdGggMjEuMzk6ICJUIgpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL1czQy1TVkctMS4xL3BzZXJ2ZXJzLWdyYWQt
MDgtYi1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQg
YXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVh
bQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQWVBQUFBRm9DQVlBQUFDUE55Z2dBQUFETzJsRFEx
QkpRME1nVUhKdlptbHNaUUFBZUFHRgpsRXRvMUZBVWh2K01LWUswZ3FpMUZwVGdRb3UwSlQ3UWls
RGJhYlhXa1hFWSs5QWl5RFJ6WnhwTk16R1pHUitJU0VIYytWcUtHeCtJCml5cmlRcnBRY0tVTGtV
THJhMUVFY2FVaWlFSTNVc2IvSnUxTUtsWXZKUGx5em4vUDY0WUFWUTlUam1ORk5HRFl6cnZKcnFo
MjZQQ0EKdG5nQ1ZhaEJOYmhTaHVlMEp4TDdmYVpXUHVldjZiZFFwR1d5U2NhSzlSMlkrTFJ0OWYx
TGoyTHY2NTcyK3A3NStubHZOUzRUQW9wRwo2NHBzd0ZzbER3YThWL0xKdkpPbjVvaGtZeWlWSmp2
a1JyY24yVUcrUVY2YURmRmdpTlBDTTRDcU5tcHlodU15VG1RRnVhVm9aR1hNClViSnVwMDJiUENY
dGFjOFlwb2I5Um43SVdkREdsWThCcld1QVJTOHJ0Z0VQR0wwTHJGcGZzVFhVQVN2N2diRXRGZHZQ
cEQ4ZnBYYmMKeTJ6WjdJZFRxcU9zNlVPcDlITTlzUGdhTUhPMVZQcDFxMVNhdWMwY3JPT1paUlRj
b3E5bFljb3JJS2czMk0zNHlUbGFpSU9lZkZVTApjSk56N0Y4Q3hDNEExejhDR3g0QXl4OERpUnFn
WndjaTU5bHVjT1hGS2M0RjZNZzVwMTB6TzVUWE51djZkcTJkUnl1MGJ0dG9idFJTCmxxWDVMazl6
aFNmY29rZzNZOWdxY003K1dzWjd0YkI3RC9MSi9pTG5oTGQ3bHBXUmRLcVRzMFF6Mi9xU0ZwMjd5
WTNrZXhselR6ZTUKZ2RkVXh0M1RHN0N5MGN4Mzl3UWM2Yk90T005RmFpSjE5bUQ4QUpueEZkWEpS
K1U4Skk5NHhZTXlwbTgvbHRxWElOZlRuanllaTBsTgpMZmUyblJucTRSbEpWcXd6UXgzeFdYN3RG
cEl5N3pwcTdqaVcvODJ6dHNoekhJWUZBUk0yN3pZMEpOR0ZLSnJnd0VVT0dYcE1La3hhCnBWL1Fh
c0xEOGI4cUxTVEt1eXdxdXZDWmV6NzdlMDZnd04weWZoK2ljWXcwbGlObytqdjltLzVHdjZuZjBi
OWVxUzgwVkR3ajdsSFQKR0wvOG5YRmxabG1OakJ2VUtPUExtb0w0QnF0dHA5ZENsdFpoWGtGUFhs
bmZGSzR1WTErcEwzczBtVU5jakUrSHVoU2hURTBZWkR6Wgp0ZXkrU0xiNEp2eDhjOWtXbWg2MUw4
NCtxYXZrZXFPT0habXNmbkUyWEExci83T3JZTkt5cS9Ea2paQXVQR3VocmxVM3FkMXFpN29ECm1y
cExiVk5iMVU2KzdWVDNsM2YwY2xZbVRySnVsOVduMklPTjAvUldUcm95V3dUL0ZuNHgvQzkxQ1Z1
NHBxSEpmMmpDeldWTVMvaU8KNFBZZmQwajVML3dOQVlVVkRYeExPenNBQUNBQVNVUkJWSGdCN0gw
SHVHUkhjWFcvemRva3JiU3JuTE5RUUFJaHNoQVprY0ZnOEc4dwoyTVk1NFF3MlFRSWI0d1Q0cy8z
Ynh2d0dnd1BHbUdqQUlsb2dBUUtFaEhMT2NZTTI1OTAzZjU5NzNwbnF2bUhtenJ5WnR5dXArbjF2
CnVydTZxazdWNmI2M0o5eTVNOUdKNVozdmZHZnc0Z3c0QTg2QU0rQU1PQU16dzhDRkYxNFk1dURo
WGU5NlY3amdnZ3RtQnRWUm5BRm4Kd0Jsd0JweUJSekVEMkhkUjV1RGhIZTk0Ui9CWHdXRENpelBn
RERnRHpvQXpNSDRHSmljbnc2enh3emlDTStBTU9BUE9nRFBnREpRWgo4QTI0eklqM25RRm53Qmx3
QnB5QkdXREFOK0FaSU5raG5BRm53Qmx3QnB5Qk1nTytBWmNaOGI0ejRBdzRBODZBTXpBRERQZ0dQ
QU1rCk80UXo0QXc0QTg2QU0xQm13RGZnTWlQZWR3YWNBV2ZBR1hBR1pvQUIzNEJuZ0dTSGNBYWNB
V2ZBR1hBR3lnejRCbHhteFB2T2dEUGcKRERnRHpzQU1NT0FiOEF5UTdCRE9nRFBnRERnRHprQ1pB
ZCtBeTR4NDN4bHdCcHdCWjhBWm1BRUdmQU9lQVpJZHdobHdCcHdCWjhBWgpLRFBnRzNDWkVlODdB
ODZBTStBTU9BTXp3SUJ2d0ROQXNrTTRBODZBTStBTU9BTmxCbndETGpQaWZXZkFHWEFHbkFGbllB
WVk4QTE0CkJraDJDR2ZBR1hBR25BRm5vTXlBYjhCbFJyenZERGdEem9BejRBek1BQU8rQWM4QXlR
N2hERGdEem9BejRBeVVHZkFOdU15STk1MEIKWjhBWmNBYWNnUmxnd0RmZ0dTRFpJWndCWjhBWmNB
YWNnVElEdmdHWEdmRytNK0FNT0FQT2dETXdBd3o0Qmp3REpEdUVNK0FNT0FQTwpnRE5RWnNBMzRE
SWozbmNHbkFGbndCbHdCbWFBQWQrQVo0QmtoM0FHbkFGbndCbHdCc29NK0FaY1pzVDd6b0F6NEF3
NEE4N0FERERnCkcvQU1rT3dRem9BejRBdzRBODVBbVFIZmdNdU1lTjhaY0FhY0FXZkFHWmdCQm53
RG5nR1NIY0laY0FhY0FXZkFHU2d6NEJ0d21SSHYKT3dQT2dEUGdERGdETThDQWI4QXpRTEpET0FQ
T2dEUGdERGdEWlFaOEF5NHo0bjFud0Jsd0Jwd0JaMkFHR0pnekxvdzc3cGdNbi9tdgp5VEJSQUhS
S01KMHBlYWdacngrRG4wNzhvejl6TnhGbEtpbldNU2ZNRHM5LzZUNGE4dG9aY0FhY0FXZkFHZGly
R0JqYkJuemJMU0g4CjBRVzdZckxjTkxGUmFvTzB1azRHZmlESHhpcmJxZ3dTRlBxeWpSNTkyRDcv
cFF0OEF5NFk4Z2Rud0Jsd0JweUJ2WkdCc1czQXUzYUgKc0hrVE4waHVra3lmRzZTMTgwMFdjbTYr
c2pGOWJkYmFkTlUzL1hUVDNyclZYaGtUelIrZEFXZkFHWEFHbklHOWg0R3hmUWFzRFJTcAo0cTFq
RkpOcDh6UnByc050ZDJMS2dtTzJGZE9LM3FRSldicmRjNVJTZjNRR25BRm53Qmx3QnZZMkJzYTJB
V3REeGFhSVA3NmhyUFN0CnI0MVN0YjF1aFFkdDNCak5QWENNNDlLajl6cVpjTDEyQnB3Qlo4QVpj
QWIyRGdiR3RnSHI5YTYyVWI2YTVlYkl6WlJiczlIQVRSYVAKMm96MUNwaHZTMU5xc3JLOVhtbkxn
N3dZZ3JlY0FXZkFHWEFHbklHOWhZR3hiY0RhL216anhlWkxxYlpoYnBucEsxWnVubnBGYTdXMgpi
TkhHdDdCaFNXdjZwVFc5VWlKOXI1MEJaOEFaY0FhY2diMkxnYkZ0d05vOG1TNjN4dXFtbUV2WXc1
WnFjclQwRDEvMFM0bmtxRm40CjFqYjZPYjdHdlhZR25BRm53Qmx3QnZZT0JzYTJBV3NUNVViSTE2
cmFGUFUyc20ybTBLNzdYTmhrZXJVTFBXNjRzT2JyMzd5bVRQaDcKQjgwZWhUUGdERGdEem9BemtE
TXd0cThoMlp2RGVuMkt0NDMxMnBSdklhT24wVHdzV2RmcllZdlZObXgyMURXUDJvaE53MXZPZ0RQ
ZwpERGdEenNEZXdzRFlYZ0huRzJUK1NsVWJNVWdvdjNybEZtM2JxUHJhVG5OOWV0QW1MaDE0emZI
M0ZybzlEbWZBR1hBR25BRm5nQXlNCmJRUFdSc25Yc3R3aTgwM1JaTmc0T1FhWmJjOW8yUmdDNWpo
YWFSRVc5T25WTnZaVXo5dk9nRFBnRERnRHpzRGV3c0RZTnVEOE5TeTMKWVd5bS9OZmJ4ZHdvc1ds
cUUyWEx4a0VVeDh3YU1tMjE2UVlOUGZSWnRCV3I3N1V6NEF3NEE4NkFNN0QzTURER0RaaGJvYlpF
dlhiVgp0c2hSOWZUYWxkcTJ1VUpMYnlmVGc4WW90MjNlS0lVTmRJbGdjbTg1QTg2QU0rQU1PQU43
RHdOajI0QzFVYXBPVTVZTTJ5M2IybzdUCm5pendOalEzWXI0V3BpNGxhck9tTlRkZlljaUwxODZB
TStBTU9BUE93TjdFd05pdWd0WXJYMjZ5U0prYnFiM21KUTF6NTRYdzdPY2oKREw3dHpFOTlPVVpk
L2RJUlphYUhQbXk0K1hLVVBpQS80K3k1TXVqV3ExZnVEbGRldHIzYnp4dXlOU254VS84WXErcVpS
VDUyMG1NWApoRU9PakFuV2xNbkpUcmprQyt1VGtkdzJHU2pseUpHNjJKNzhvdjNEckZsaTJEdzhl
T2ZXY050Vm02UEFjcW16aDBYT3AvbG8xb2VPCithV0Y1WEx3OFl2RDRhY3NOVWV4OWVCdG04STkx
ekwzZXIrMFArNkp5OFBTQS9PZmxMejlCNnZEK3Z1M1pQN0ttQnFzeTZWT1ZtZC8KMURrSGhTVUhM
WktyY08rVks4TzZ1emNXL1Y0K2pubjZFV0dmL1JaMDdab2EyemZ0Q0hkODQvYktjTm4zZnNjc0N3
ZWVkbENodCtxYQpCOEs2MjljVzdYcmU1TTc0bDZST3Y0d2xYYTN4dzU5N1NwaXpvSG9jbVY2NzFv
NzFXOEtEMzd5eFVLN0RyTXFxOGFkSVZYMk1tczJDClE1YUYvYzQrSVRVSjIxZXVDK3N1WXd3WXFQ
SkIrNFhISHhZV25YSmtadHZVV1hmeGxXSDNCaHhYS2hhREpMTVd6QXY3UGZjY2RVZFMKNzE2N1Bt
eTU1SXJvcTN6Y3lYMDFqbXErMU8zRjVmeG5QVFhNV3JTd1VPeHMzUnEyZi9WYkF1aldaYit6anp3
c3pIbnNhZDF4TkNidgp1VGZzdXVMcVFsYUhKOW1zc3g0YlpoMStXR1k3cmM0bGw0VE8yclZUYzkz
Z2FVN2NlODQvdjJGdy9PS3hiY0FLbmE5RUoyTVhVOFVGCm8xZTBrQ3lNOC91V2Q4NVBTS3BmVkxJ
dVQ3aHdVSE9Na24yWHBUM0ticjk1Vi9qQWhSdGlCeGpFNFZzQVdyQ1VDVU0xZEtHSHVPMHQKQStu
U0YzU2xyL29YM241ZzR3YThaZE5rK09DRjkwY3IyS1g0d2pKL1ZYeGh3OXJ3ejN6R3ZtSFIwdXFV
M3ZpRGplSGYvK1RPcUlzbgpNNGpPbnRRb1Z0VlZMR0pnM1BJM1RMT3plQ2tqeGpQZmVIUmxBNzds
c2pYaEMzOTVRK0dSdW1hYjRyLytyNTVRMllDLzl4KzNoeHUrCkFkN0ltUTVlK1pGY09WS2U4Z3VK
OGpkNU9xL1FlTVVIenMwMjRHcytlMnU0N3ZPM0Z1d0JRempFVnl3aFBPZGRUdzhudi9DNE9ONjcK
YkZtOUpYemp3b3U3L3JRT1lhV1kwVDd0dGFkMU4rQmJ2bmhqdVBFVFBKRXhCdWt5SDltcFRuMVJC
ajIwTEcvb29HLzR0djRPZXZLeApJOW1BdDl5M0xseDE0V2NpVG9xZnIyR0xXZmpHcVhJdHh3a2Jz
ME5tbkpjVnp6eTlzZ0Z2dnZtK2NQT0YvNXJrYjNNSUJ1Um4yZE5QCkN5ZTkvNWNnNmx2dS83dlBo
RzIzM0J2MXhDZE0xT2FjekQxZzM1RnZ3RHZ2WFJrZXZQRC9GakV6YnZLcVk0R0JFMTk1NVRYanRG
alQKK1RjdWxwOTVhbmNEbnR5d0tXeTQ4SDAxNXovNE12eDVMeisvc2dIdnV2cjZzTzNDUCt2cUFS
ZkY0aVgrdkhmOTRXZzM0UC8zLzhMRQoxVmNYYU1nZnFPUkJFY1Qrb3Znays1RzRBZk5BUjZKWWtF
dy9yekVGblRCN3prUTQ2L0d6MFJsNzJiUmhNbHg5K1k2cFNVQmNPbGpxCmFqdEFiZkhXeVJBMmZi
SG13b0xOMnRYeE54a2J5dHBWdThJTmwyOUpZb0ZpR2tjZFZwMU1kcDJ3YnRYTzJnMFk4cHN2MzFD
RGxlTEoKVDFxWEQrTGUrSW8vNWZYMDUxUmZyVzVZdVQzY2ZqbWVtZmJHMzdwaEo0TEp5c3BiTjRR
N0wxOVRtMHNkZmlxRG94UVRZOXA0Ykk2aAoxUWxiMSs5QW8xdlczckUrM0h2NWc3SFBtTXY2OEl1
eHF6OXhmYXNOZVBmMlhlSCt5Ky92NGdNb2pZMytKOE9SVHowQ1EwWFplUGVHCmFITnZrWHNUUHVT
cEg0c1g4YUVvZnNhci9ER1Myc0hQNU03bTlRdjl0bVgzbHUzaG9jdHZuMUp2ajY4blNubXU1VFVK
dC9ESmZLQzcKOE1nVlUxaFc3ZHF3Sld5NC9OWXBYZVlLdTNMK08rNWJFNDU5NSt2RDNQMFdtM0ZE
YTh2MWQ0WXRWOTAyNWRQd05RYzQ5ODA3ZUZtRAo5ZkRpeVUxYnd2YkxyNS9DaFo4OGYvRWx1ZnBw
TGI3SythYzZuZTMyYm1Gbng4Nnc2L0pySWxadi91ZWNsYi82TGFKYjgxQzB2YkpZCnQ0eXB5ajlX
V2lmcWpiSjBicmdoVEZ4KytSUXVNSkcxMWg4eWpYTzJOSDkzYnBUNGJYeVIvemFhQStwZ09hSWdU
VTVxa1c0aFN4OUEKeUo0c1pmeHl2eWsyNmJGbURscThzT21YMWJyVnV3clg4aU9jY2wveWNpMDl3
NThJNjFkWE55elpJWjY2bU9USDlLU2xXaU41TGJzVQp2NXcvUE9pSldHNXRQZm1SeFByRDQ4TlMv
OEt2ODZZRFV0aW9EVCtWVnR2U1U4MU1KOEl0WDdzamJGdS9yV3BRSTBueDdSaFJwS3BUClE1TUpW
M1Y2cEVGTC96cjZaQWtjWVEyT244WXlXSHMwK1BDaVZVYVA5ZmtMclJwanYveTMzNzhtclA4dU5y
ZDJwUW5mSWhEYjdmeTEKMVJLdTZueitEVjE4eVc5ZC90QldsT1l2OVNGcmFYSWpnOVQwVTgvU3I2
K0ZwZlVuci9YYW81RHk2UWFpSlhZYS95ajhEKzlqYkJ1dwpTRVpvbWlTVGlRaU1taFM5Y1JjdXF5
cCtOVVlzRDhhbXNUUldqVUZEYlk3VHBsOVdhMWRxczh3eHpHNVEvUGdLdU91enpLS2U5ZW5FCm5C
NWNvOE12NXcvUHhwM0ZsTXVhOGMyaTJoTG5zR1piaHpGN2xCdSs5Y2tCUGNyRzlLcElxWVN4UXBM
alEwSk9OOXl6S2R4OUdUOWEKZ0xSMzZZVVBCTU9qSCt0clRIa0JYNk95Wko5eFNZWWVKZkRZRzUr
WW8zbnNqVzhuUkVPVEJhSlV4TWlJYll5aUtHZkkxZFpZb1pBOAp5RnJlNkJmU0hIL2xKNytaV1BW
dUNyT01UNis5YmFjenFoemI0b3RONUY3T0gyUEdzYUtxeXdBeWVpamp3OTVpa1ErcmhROEo4WVhK
CmtTcSsyUTdiVWp3V0d6QlJFQ3RIcFRNc3huVHR4cllCRzZFaVdNUWpaQklCTW1hYUFOSE9aVlRG
NXdRaFJtVEFIaWRMRmhqaktEUFMKUXFKY1djcFcwbktOVjhEd2FQbXpOUjM4ZFEydmdCRy9vZ2VL
RnQ5ZytNZ2dqNjVOL3NLQ3RZcGt3cWZYYXY3U3I2dkpMejNVY1MwWgpzT0FabXNReHpta3RPZkhy
c0V3bUQ3Q1J4L0w4aDNETmYrSHo3ZjZsTno0UURJL2VyTjhMbjlGUncvSTNiOHBVM2xoTEtpU045
cytqCmpRYlE1VkZJNml2UzFBLzFGVm5aUXZ6REFtUHlKQS9sUHVXU3lwdHBZOFNrRDMzbGgySFh4
dXBISjlMUDYzcDhlTXk5NWxiVDdlVnMKS2pQem11TnpqVXJMTXFWK0UvKzllQzNqbDMxYUpJWWhm
RW1rVTRldnNlblV4T01Sd0xZaXlQbVlEc1owYmNlMkFXdEJnMXlrYmFkQgpoR3pVVERlQjRld04z
NmFFQnhJZXRaZ1lNeERTWjB3YUxlY0VMV1pLRDZaWEYrTkRLM2NWbkJpK2NJYkhYN3N5Lzl4U3VJ
eXFHZy95CnkvRnBJYzA4ZjQxcHRGMys1RVNSc0RaTTRzT2plYzNidWFVd0tjM1hsUGpIbUhuTTF4
OUh4b1BQZ3hyb04xOTBlOEJWenYySytMZG8KYVdGY1dFdStiRTdFaFdWalhOTWpIdnZsRDcvVUZr
SzFieVBEdHhRM1k2S2ZWSmJMR1lNZVUxVFpRQVliRm1hUTU2K3h2SWE5TVVZUAp0QVpYTE52dldo
azJmSy9ka3loYTFPTkRhakZOT1I5TFZjYTNxSWlmbjcrVVo1bEx5V0VOajNvc212R0I0eHlSakhV
OWZxb2pMTlVZCnk5dXA5bWphakJSUjUvbXpuK09QQm5Gd0wyUGJnRFZOSkpra2FFSnRvblY2R0R6
dzZWaWsrRnBXWEtqNVF0TEJvK2dORXhOS1MvcGkKdGxwUXNGUCtacE8zK0Jtd2VhN2kyd25kdE9T
REM4cmtSTnN3OWJteXRLdzJUY3lCOGtvemtBdzVLQmJKVW12NFJKOTZZcTgrZitsWgpIR3BoQk1V
OEN5dkZwMDcxVVg3TnVqKysvSE1OMXVFVHgvQ3J1SkxVNDl0QnZ2YXVlTUhXOTl1OERXMFpLQ0x4
bXNjcFpOYjk4SkVyCkdKRWVyT3J5cDR6STlmakVHOFZqRzN6RVhKZS8yVElTNVlYYXhveC9relZG
cnB6cEFWcjBhZmdyLyt1U0p1Tk1ibGp5d0pqSy9HZEcKSStpQUo1UzIrS1pISzdOTjF3cnp4MWpk
K3VQOGlLdG1mTnJuajIzd2M0dnA5empMZk1LVjRsTU8vNmwwK25qRGVCamJCcHlueHFuagpsS1Zo
VmlYcDZQamJPVDU3ZGlBQkh6TDlvOCs4S0pFY2RWclF6L05QUjluR0srRGNNM3RhM3FyTEdJWnYx
c0p2ZWdWc21zQzI1WmZMCmhROGRaaUNKWXFBMUQxaHBwV09Rb2REYTlDaXRlOHl0MFdPaEIvWFNH
dmxMVDlicVM0L1dwZ2U1VGxqTitaZDVrYmU4VHZIcFZ5eVoKM2tSMGRlMm43VHVuTmxKdUtRUEk4
M1ZuL1R5N01qNHNjdzN4bjh1VlA5Y1ByRERlRDU5Nm8zZ2NGSjl4TWo3WklvNjYvTXZ4bGZsSQp4
K3Z6aDBYTy81cUx2aDkyYjk2YW12WnRwN2k1dDc2bTAxWW80NVg3NHJCdC9zWi9HaHFmbktkNWFy
U01KN25xZHZqU0hrMnRPRkZYCjhWUHBhUENHOFRLMkRWaUhQeWNTMDRNVzZqSVpvcWtZbXBHSGZE
S0lEeG1qVk9TTVV6TFZlZlRNUjNsWnJzeXlWekw4REpqMjFLN0QKNTJsQjJOUVdYOGFuOEp1dmdp
NTdvQS9aNWZocFRNeWdiQzJwN1BNYTJ2QmZ4YUJkemlCa3RGRCtoaS85dkpadm9GSTNyK3Z3SWRO
LwpNejV3NUN2SFpJOW9oaytmWmtOYjR0LzR4VnZEamkyNjBLN09XMnFubU9DQktMQVFnN0pPOGFV
SEhiVlpFOTlzMExkL1JpL1A5RWdMCmVhSk05cU9xRlZ0YmZPb0JIWllXSjFuaFdzR29Na0ZMR0pK
aVBDOThVcFlmLzBTZ3pMQzIzWDUvMlBqRFczTHptcDdzREI4dFJwWEsKYWt5bkpkSXNDUisxb2kv
alExZmMxUE1QWGpBaUQyUlFXU2hRK3FDSFh2alNUK3QyK0tuRmFOcVdVUnA5bnV0b2tJYnpNc1lO
bUZQRQppZVZVYW1HUWl2cEpIaTZOd2F6YTROdWl0VGdSUDZjT2VGeUlWck5sZlMzUit0ajRHYkJz
cWpwbGZDS0tRZllNaS93Mlh3WE5XR1hkCkwzL2xtT3Exd2FkL3hvS0RXVFpGSTNsSS9US3laREEy
aFo5TDJhTjMrSmFsYWtpc25lTlQzcFEvUnROUzdtdE05dlF0TE5VNS90cDQKeDZyN3IzaEFwbzIx
V1pzS1pPbjhheVRGdDdaNW9BeDlsSlIvNnNoRy9FUExyTkZqZ1l6V2treS9CdmFnK0JZRGM1STlv
cU1FY1NrRAphS3RkSDYvc1crVWYzYTM4VlBYT1QwMmV5WmhGeGI0MnRucXI2VWhUSk9iTi9FMk9Q
dkhKQ2grQmlSRVZTVk1aeG1ndExkYmlqMzdUCk1YaUJoV21rbzJoekJIcnQ4QXZGRVR3b1AwWkEv
SDZ4amdDMnRZdXhiY0Q1VkhCNnRmQTVsc3RhUnp3Q3hUcDh4c1lEbTB2SmdORG4KUDdUS2Nkdkpn
Q093NjMvZzZZcGwrdE96OS9SUXl2SHB0VGYrdXRXOUx2d3gyMnIrdytQRHF5MXJNZEE3LzBIeGpR
a3dtL1BmaEU4bQp5NWEwSlQ3SDZLK2FmMnFwTm5YYjRYY21KK0xiMERmSnRMWUdiNHBJZVVrbVRs
UERRZkRMK2NQV01PaGRXTkMxTWNaVWg1L0dNbWg3Ck9IeXdZMUV5eG1iK3hhWnlLY2NvdWViZlBE
Ti9lbGIrRTJIMUZ5OEx1N2ZhelNqSy90Q0hUK01xalEwK3gxZVVTMXQ4MHpkR3dRTmoKWkFacE96
MUdsWVY4cE91bERsLzZhUzFiWU9TOFE4c1lURzJtMjFZK3JCR0JvckQxenJIcElnMXZQN1lOV0ts
cU9TTkVMWHlHUzlKegoyZkNKREc1cCtGd1U2UE1manlhenVCa3I3Vkk4NVlweGpVcVc2cW5kNmNU
djdFN2RKUXNXMERWTGVtaVBiNHNKRjJIQmQxTXhER2dRClIvanFxMjZMYi9ia1NWNlZ2K3BxVE5K
VS9PeW4rRlViaTF0alRmaWNRWjRnVTEyMVZadDlqcS94dElhdTRwUGM3UFA4Z1h6amY5OGMKZG03
akRWZWtYMWVUb3h5ZnN5Z1pyUWJGaDVYNForUzVQK1hTakY4WDdYQXl4TTc0VTN2RzA0eVBjVHMy
MnVRUDcxVWNZbGJsT1Q1Ngowa0ZNVzIrNUwyejZFZTZlMVZ5Z2J4elRIMzF3WTI0K0dwdDlEakxT
Rmg5NnpBK01hdWFKWlBHYlBKOFQ2dEVEMnBaVkZaOGMwTUllCjYvQ2xLWHpUSGsyTC92UDFJNWtR
RklQNk0xMVhieHc4c2dpVUd1b3l4Ym9GWEhWa1pQQU5qcmgwY254RnlJZzdZZmtoczhLeUEyWVgK
QzVhTERaUElBd3I5VGVzbnc0TjM0OFRLdkdZVm1talRPLzN3c1M2TXJac253N2I0andLYk1qNmtx
VFYxdE9pRklTdmt3dmFXemJzRApmQzljWEwyMXA2d1pUelYvWUdvTTlURDR5cC94MDRNZHRGUHVZ
MlY2YkZPekdkOHMwV3JPMy94MndxR1BXVmI4TUFYbVRUYjBZM09wCk1lR25PUzlZVXZjakJPYUxl
UUhSK0UveE1iN21sblhod2F0WGhzT2ZjQ2loYXgvenVaWUtZa25qb2J3ZVA0MUZldUpkdVpFMWVS
Y20KL1ZWeDZyQmxPMXh0M05BZW1KRFpjWlg3eGJqaW9oN0crK2N2djdrMzlsSU9wSmZpcERhRlBQ
NWd5cXJQWEJyMmZkSmowcUdzemRqawpqYnlhekhMSWpFYlFTZWM4YjR2WGlURDd3UDNEblBndjNo
QWwycXl0YlhLTlRjM0x2UEl4MEo5L1loVkEyUU00VVNFZVpsNjN0WVRFCnhxVTNtaG80OUswVzBJ
eXo4YzFSbS9qSHVBRXphUzVHSmtuaUdSWkdSVUtiUUVlbG94Z01uNTRwNTFTZCsveEY0YndYNFZk
QXRDQU4KSFhwWGZIdEwrT2o3SDBvV3NvMXpJVUdMRzJ3Nm92YTZOWGlscXZ3cFRmR3hvUzZOVHdE
MlB4RFRneGd3eWp0ZGJWeURDM3NRZlRVMgppRGZFOGZJR3ZIaS9PZUdvVXhaT3hkc0pXemJ1Q212
dTJUN2xON3FLSmNlbmJMOUQ1b1hGKzgzdGprRUhpeGpZTzdmdERxdHVyNzlaCmdlS0ZuaFkvUFpZ
ZmlRcHBIWDVabTNwbG02b1c4Ri93MXJQQzNBVjRJbExEVTQxTStQSzIvSVM2ZS9neU0vaFVzV2dr
MGJ6R3pIZFAKaHV2aTFkRE5HN0JaazFjeUptbVp2VVVITHduTFR6a3dBaWtueG1HeHg3bTlmMFBZ
c1E2M3d1UTh3UWZHOWE4bzl6MStlWmc5MS9qUgp2SnJ2RUdiTkdkMGJaSWFQRm84TnNZbVlnRDl2
K1pLd1lNV1NJa1NMSjhaUlNHSStjVVBjZkNOLy9LQVFUVDNBWTFwU3Y3a2N2VEkrCmVJSUZ1UlJm
MEVSNzllZS9FNDY5OEExaDF2ejZYeldEWGowK1p3K1A0eWlNbXA2YjhCZWNlM1pZK3BvWFRzRnJ6
VmcwdEN2SFozcXoKOXQvUGxJdVdtR1ZXd21XTng3S3Zrbm5zMGtNNi83U1JyNnJGOEJKNlJqNktU
UzNJTUtwOGhzZVlydVhZTm1DbHBwVFRRQ1hETkVvdgpIUjkzTzhjSFdyNElUamx6WGpqL1ZjMDNZ
OGRQQ2RyazhrREZGRnN1dmZOYVczd0Z5ZXlFajBpMFZCNzNqS1hoMlQrK2Yrd1RDV05mCi84VHFj
UEduK0VNRVRmanI0czA0RGo0cS96bThrNSt3Skx6K25jZkNSZUh2aHNzMmhFKzkvODdvR1hHaUdJ
YndrY3M1THo0b25QbnMKQXdvTlBLU3hyTHhqUy9qWVc2NHQ3T1ZIdk1JZi9hYWNkTjNFTWFGS3J4
N2ZMS3hsek1PRzluWDRaNzNpNkRCL1Vma1p2UGtacmdXawpGRk96UUZsZC9qZis5eTNoV1JlY0cr
Yk15OStWd0JNdytXS0xjeS9lMk5Nam96M3UvQlBEc3VPeEpzcEZQSVp3MVQ5ZUZ1NysyaTFkCkhj
VmtER05EbXdobi9zWXp3ajRydU1iVGVaVm5ZTXhka3E4ampRMVRHMzcramdGd3dBUEtpcWVkRkk1
ODdaTzdzVVBHWERrK3VYMW4KK01FYi9ycVFpVHZrMS9hVkZMMDA0NHNyNEFwNXk0MTNoODNYM2hH
V1BPNUVpcE5IUFlsT1kwRTJLSm9qK2t5TVJ0WVVEdkl2cnovaQp6My9NOFdISnExNHdNa1E0RXBi
bEtYekVvS3liSVdHdmQremtDL1U0aWtWREJFWUtidFN5NDJZYytHMThqbTBERnFraUdXbGIyeFpv
Cm15REhvYVBKVWExNDFlK0hXVjFzOE1BSjdiZWM4QlVrNGFpV0xYRTc0WlFuTEFyUGZZMXRmcERm
Zi91MllnTkd1d20vN3F0SWh4NjMKTU9CZkJiOUE5ZW4zczllRWo5RVRuN0J2T1BjMTlXK2YzbmJG
K3JnQlh5ZVhSZTQ0S09GUCtiT3RYbGUxYUFoWGRUbi9YTHZhSytjUAorekorMVdvVUVtYlZCaCth
SzY5ZkZWWmR0eW9jY3ViQkdmaEVITVE0L2xsU250aTJNV29jL0xqREF2NTdsYnUrZmt1NDYyczNG
eXF3CkY2K00xMDQ0eDd6a3RMRDBLTHc5T1RPbGpBOVU1Y2U2RTVhZWNsZzQ2alZQYVF4bzErWnRj
UVArbXppT1BKZ2RsZk1US3RkQ3ZSdFoKd1I1V0tNSm5HejI5UW90SThWME12QTFkdHdGakRsWG9T
ZXZmL1BhS1JiYkQxSG4rWUFRbHh4L0diNU9OY1lSV21YL0RiN2FYSFhVWgpQN1Fac3p3MDJROHJC
eTlBRmwvS1EvMWgvWTdLYm13YnNBSmtvbGpRbkFESTA1T2w5SnJxaTc4YWZ3WnJGNWRYcnFPSk02
bkloV1Q1ClFiUEM2V2ZWdjIwa2ZPalJ4aWFvRGdsNjVRSWZoa2NyVGFybFhMWmlIMTlCU2c5TStK
RXRQT0VaNHBMOThsZE1zTVJieWFaWGoyOC8KOGdDTDVwTGlROHVlbGJKZEhpOTdzbkZFekZnVVc1
by8yN2sxYk1zOHQ4V1hQM2hJK1U4NWxFNk9PdjBlNTRaKyt1UHpKTjZKbHdwYwo5NW1iS2hzd3ZL
UWN0TTIvVFJaVi9vV0VHdHNPWTJ2amE3UTZ3dWZjc1VjZW1IOS9OTTQ1enlGcWMvMXAxdUhiUm5L
UEtTTFhJRFFoCk5mNzVDazByRkw1V2ZmYlNjUFRiWHg5bXpXMDZYUktUcU1MWEp0NFVTeDdab0Qx
YmY3QnN4aC9VYjVNK09DSlAxR2pHYi9JQXVmRlAKZS9UbGR6dzhZZjRVSzlFNTQ1Q2hqQWUxY04z
cW9XbEZ0VEx1cGFTRGdNa3phY3EwUUdGTkVucjUrY0I3dDRiTm0wUVdhdGlMT0xiTgpqOFk2NFNu
bnpXL2NnQldibmdHbitCcExaWFZ0NWFKSUVJTW1takUyVHkxdlF3a1BpdDhRS08wVW02MUoyY0tt
TEl3bS9McFh3R1UvCjdQZkdwLzk2UzBodFhIblc1VTlaMll0c2JSNU5nMUdCRi9tMU1iVGdFWVhq
YUVzdnh5K1VSdndBSktBd2J2YWE4QlVmOUcvNDNFM2gKdkxjOUxmNzJkZlV6Vll1ZW52TDhoOTBv
eFYrWkU1Mk1oRHBpZ25xNjQxeUpQNmtxRXM2cXBNMjE3TVV2TlRrWEdtdTJWdjZta2VLagpYY2Yv
MXV2dkNsdHV1Q3NzUHAwZjQ1aTFXbFY4K1VGTTR5ajk4MWRtbzBOblRuVVhUbG4rVFdpY0crTmYw
YWtlQjB0YWNjVGdNYUUxCmt2UFhGUFg0NVdQYmdFVW9razlKVmx1cDlWdWdWL3hnZDd6cUdONDQ4
ZHpjWU0wVElXdWRGS0hIOWtHSFZsOUJ3cXBjTkNHUzk0c24KMVVNdXRHZTJ6STF0UGtvN3Iza2JT
c3JxOE9HbjZSV3dQTW5POEhsNE5OK09VcFo1TFQrU1dyOVhCc3diTm1WOFNDZ3ZxdUtFeGxiOQpv
K0Z4M1ByOThYUCttYjlGVm84M0txbmlWTTFUTjd4UFRqRkFKRVMxOHRwVllmVU5xOE5CcCtFQ0tp
dU1XQ2MweXMxZjcvek5TN1dWCldnSkRuS0NsLzZyVmVDV0lTZGlvVWVyeTUwaXZSMWlESlI3bnF1
a2RkaHhyOHFBWU1GNkhiLzZNeGM3TzNXRjFmQlZjdHdHYnZySXEKNDB2ZUZORndjdUdxTHVjL0xs
VGg2SFAzS243L2ZCU2IrSWRGOWFscGZ6L3ROYlR4YTg5UUg2dEZHYlgzTmtyTnNlVXRraEVzSmdu
RgpaQ0lpbHhaS05RKzBoN1Y1NEltRkVyWFY2K1dWa1ZUeHF6SFdCSktJaE1tb0ZKZkZLRWxpMG0z
eUZiQzYxQ3pqTDk2MytnUmkwYjcyCmZLbUt6NlcwdnZFSEdZUlhydXZ4VTY3TEZ1ZzM0Y3RPVENp
djFFY3VHejArUGFhSW8ycWI1engvK09mS0lqTWNWV2E3ZDB6Rzd3VFgKM2RhUWMwWnIyU3RXK0RB
OFNkdlVzaFErYkNRRFNobXBqYy9wNnRUakszK2VFTnRoTUhweFl3elpNYTJ4c2ovb3B2bHpIVUph
aDYrSQplZjdDQmp5NWEzZlpaVEpET1Q2OVZ0UkhKbENPVGZtYmZHU1EwUkc4a3NFeVByanNoV2xz
YXYySmM0N2s1NFRSeEt4NExEWmdvaUJXCmprcG5OSWlEZXhuYkJteUVpbUFSanlCSkJNaG9Rd0RK
U2c4ZCtMSytZY0czS0dZTlNWcEV1NnpMK1BWV3FRZTJEVjhMU1RxOThhRmwKVjBHbitUTVM0ZVB6
M25KSlh4VTM0ZU1xNkxZRldKWi9qaThlbTN3MTRjdE9jNktGbnZxUlRQak1lVlQ0Uk5xNGNtdlk4
T0NXeHYvSgplSEhONEVXems2Ni84dnpESzdKWFZzejIyay9mRU1xWWRmbGJUT2JEWkcxYnRLVi9I
VDJLS0ozenR2Nm1yNWRtb3pVbk5obVpwTzJ3CjhtemtTYmJsUHVXU2xwSHE4Qmt2TGNEZ3BxdHZE
MXR2dmtjQVNRMXY4aXd4UFVKYXhwTEdkT3ZlK1Zjam1pNGU3UzNQTW42L1BNbG4KR2tYWlZ6OFBx
VzI3Zk1qamJnQUFJQUJKUkVGVU5oRXdlN2J4MHBMSHJFWFF6dDg0dEtwbitaR2hrRkJORkU4RE91
a1pOZTNnOUl6RgphdGpScDlFSUxNbzQydXpiOEdralgzcWJ1OWt5SGVtTm4ycm1iYjBDaHIzaFF3
Zng4NkJOTjF0WnB4ZGhRVmFIMy80ellOcm4rRVJxCmV5alU0Vk9taU9IZDVzZWt3aW5uTDdrMHEz
WHF2eDRmTmhQaFMrKzVNbjZQRlprWXArbHA2U1h2UGljc1hyNVBGYUNQSk1WTTI4RFUKMjNKb3Mx
aitLNjlhR1cvTXNUYXNPTW11YklkOWIvN2xwMDlRbFdIYTBidXRkWEZSblpHS2c1RUx4QlZuaEF5
bHNyYVp5Z1lCbWcxYgpWZjZyYWVTY014bzhzcVc0WkVkcHdWZjhDdFNhejM4N0xEcmxLQTBtTmZU
QXJzNGZ0RXVzRTkxeE5NdjQ0OERnMFpQeWJ5aUdiN0s4CkpUdlZHTTNidWY0b2Vvb3F4UklteC9n
NENxeGhmWXh0QTFacVRGZ2JMNlE4SlhPODd2UmNUVVVuRFBrc24waFNVb1ZndXZYK2hNOWwKeGFq
b3A2cGZKeUVPUnd4ZjZMaVNzcm1zV2FsZnlVRm16STRuNHFtb0ppWWJMOExpbVlKUE5NUmVpdC8y
S21oR1Y4Ym5RY0VUQ1dOcAp5Z0tZTmkvTVczRWdMdVNQY2NyS1htUTVIRDZzY05WcVhmNmN5VTY0
OUVNM0ZPT2NCK0lnU21ZMUdaNzd1MmNPdFFFamsxNzRzK2ZQCkNydTM3K3JtcjZ0cmNVdkttNzV3
YzdZQjB4TzhpU3Z4cnllU09tNEtsZFlQS2YvQ2g0eTU0M0U0djYwRHFGR3N3NmZNOHE4eHF4WGwK
L0NzdmNRYXY5RmxyWEFpRkNSdTF1VFp3dzQzTzloMVJudkpFbmRXZnVTUWM4VHV2Q1JPejdPaTJ2
S0FERytMM1h2L05rYlVkU1k4MQp6bXNWZi91UGJnZ2JQdktwSXFiY3J6akxwVXZlK0twY1VPb0Jo
eG5tVjQzbitDV2pxYTd4QklFNEovL3lXVzg1dkpTTTZEeGhPWXNwCnpoVnpHaDVsZXBaajI0RHpn
NEJUcE1WdUlmZW5IaHI2aHgwbk12ZkhIa1pKTnZvNVBzYnFDalUxUWo5Y0hKSTExemdFcUd2NDFP
NkYKei90QTYvN0Fza3o5ZE1MY2ViUEMvQVVhc3dqbUxaZ1ZiK2dRd3E3dEhKT0dhbWppRlRBd0p0
SXZLWnFMVWt1V0tUNVVJTy9QZzZ4Vgp5em10YmNGTFhxMWwyUjQvUFpCbHJWcis2L0Ixd21xVGwv
elUxU2sreG9HVjRoOTA2dkp3L3c4Zm1GcW41Z0g0MTMzcWh2RGtOeit4CnVFVW1idUpnbHVqZ241
Rmp4UHFwZDQ3MGU1U1gxRkw1bCtQdjUydFU0M1g0bEFGQitmZEhheE4vbW5mWlkycHYrTkRDazVL
SnNQalUKbytMUEVONDhOWC8weE1kNEM5b3JidzFiYjcwdkxEemg4TUl0NTdCb0ZnOHBybWJUUnNm
YkFwNDlMU0NqVy8vM3NyRGp5dXZqaUk1Rgo4b3p6Rm1KVlhvZ01wNHQrR3pBczdGVStyS3lVOFcy
RXJkN3pENTNSUHluVWZMREdJMllma2FLWWxQMDk4emkyRFZnSmNzRXphUzMrCmRES2sxNVErbDR5
TjRoazlOejZTS1ZxdHpnazJTMnVsK0dyVHEyeE50N2sxSFA3MmJmRW03MU5mcXhJZndFanhsOFFM
c09vMlVNZ1cKN1RzM3JDOCs1NjNIMzdwcFY5aXhiVExNMzZkNkVWYzVsM3A4SGF4bDdYSy9IcDl6
dzhXZEwzaXpKK2NjNWJ5bHIyajc0Y01DLzdqYQptTHA1alRuTThSa1Q4RG0vd29ka2tFTFA4bzBU
QnYybCtJOTUrUWx4QTM1d3lxMDRvdDc5Vjl3ZjF0MnhMdXgvN0xMaWhHZDJkYThvCmxBVnRCNG1U
bG1sczhxRVRyM0lZek90MHRKbHJpaTl1eUNKZnFiZEJZT3ppVGoza3pNMEJ1VGJsMTRSdmQyZGE5
cXd6dzVaYjdnMlQKR3paUGViRTQ4Y3RJRDMzcHN1NEdqRTJMYTRtYnR6WW55aGdIck1kUmxLWHdV
UU1mUmU5NlRLN2ZIQ2JYYnl4a0dPVy8ySUVIOG9FNgozYndMZzVvSGNpN0dVeTd4MWp2eG03S2xi
V3BqdktMVmZ2NXJBdXNoZ204VVJDZk95RURhNytGZ3pFTnRlQjh5QkNXT0NlT2tjYkZnCnVqV21r
ZDRROGtBdlBHQnBtWThJUlFRM2VlMkhmOWV0TzhQM3ZybTErLy85YjI0SjZmK3QxK0VueWxKc1F6
WTVjeXpIc09HaFhRRzMKc2tTUmg3Sk8zUlhRMHNIbXpDSnIxZkFYbDFuOEdUeGd0Q2xtbVd0RFho
OTlxaWRyMWNSblZ0QlRqaGpQUzVuL3NnYjZUZmpVeFNoYQo2WDh2Zk9xVjExOGVWZitlN0JsZGlv
MDI4VTk0N2pGaDNoTGNBQ2JObjdxN3R1d09OMzB4dnhwYVhnb0hVdytRd1ZvOHBXUHQyMVY4CnhU
ODl2KzBqU0RXQlhZZGZsMzlxVjkvV3hvRlJlVWpYUkwxVkcvejVoeDBROWozbnBDbis1UWNZbk45
Vi8vWE5tbDhjMDR4UmoxYWMKUVdGU05yckhGSWtjTUgrVEd6NWtqSU9qR0ZIaG1GYXJwUFcxNVpM
eUQxMTRLZVBuUGthQm4zdHMxMU4rWklENTk0dTFuZWZSYUkzdApGYkJORmdMbGxPUEFKeUY0NUxP
MWZpY0RhR3JCc0UwZjhvVlJ5Rkc0Qk5qSzhZdmg3Z1BIRE4vODB0ZkZYOW9TYnJvR1Z4UExkMTdy
ClRsYkUxVmc3Zk5oVzhmbnNFZjd3djZqbUNtZ0Z2MmpxRGxuMStUTVdYQW05NHJENU1tbW8wem5K
OFkzSEJ0TW8xcnloMXJPNFBDYXkKV3VlQitRK0huK0lTb1I3ZlRncUtBSmJrcDlmYWtIWmRUZnMw
YnZLUTVyL2ZrVXZqank4Y0hHNzcrcDNSQlhYcGkvalgvZGYxNFltLwpjblloRWtPSXgxNDlwZXVv
TG9vMk1zMmc0UU1kbm9FNWJQNXRrSnQwcXZpTWhaRXkveWJiWE02Y09CYzUvK0tiV0xrVmVyTFIr
aXZ6ClgxakVsN1VIdnVyY3NQYXJWOFF1WDltbTU2cU5sOThVdHQzeFFOam5tRU1LZGZqVS9LZjRu
RlBqdjFBZTRZTnk2WWVQSEZGTW4yOVYKSXpLODZxUmNUQlNxalEveWdSV2s5VnFIWCtkQXRzUWxV
K0pJODFGbk54MFpzQXdERWJDWVRIRk1CMlY2dG1QYmdDMWQwb0JVYzZJNQo2WlExSnlFU2M2cEVK
ZTAwdWZDRnBZRmkrTlNwUGhvK2ROTzNRTzY2WlZlNDg1YWRVd2NXVHhTTW41NkZJWitENE9zS2FH
MFFqRmo0CnpMYnVDbWhoTGFsc3puWXdLUDkyVjBMbitjUFdPTzdQbnVKaC9McVpCSHZsQTFTNmVU
MHNQdXlzTk9HbkowMVpXSTVtUDBpTDlyQ3cKOVZmR3gzdkxwNzd5cExnQjMxRzQxdHBBQjdyMy9l
QytzUDZ1OWNXWUhxaFQ1ZC93cE5tL1pxNTR6SjlnUWtKL0ZudC9iNlBUQURaagpTL0VoUWZZNk43
VEJvNDAwNFZXYmdmSVRrblJVYTF4OUhZUENoeWZvSFBEOHM4UEVvdm1oRSs4OXplT2VtQmliakxL
MUYzMHY3UE9MCkx5dmNRRmFQejJNaXpkWndSOWRxZzQvb29ZZElVZkFJbVFyelY2KzVoZ2RhVzFa
Vi9OU3orYXJEbDJaYmZQUFdya1gvV2x0V013ZjYKVUF6dFBJNWV5NTY4amR5M1VoTU5OblVwNFdq
M0s5U0JudjUxTXFHRUN3UHQxSnZ3YysvMGdNbGdnUVhhWmtrdkdvY1d4NFNOZW5qOAovTlV6Zlpm
eGUyM0FpNmRlQWFjNXAyMUUxK1pLYU9Xbi9CRUppL0tiNmpaVUtXYmFoalg1QWdKR2hHU09PTTcr
NFBpS2ozNXBiKzBtCmZNcVpaWXB2VWJWcHlVczYvenF3bFhjSUo1MS9iSmk3RUwvRVpQbkxjdnVt
bmVHV2k5SWZlYmUxbUVaQTlsSkp1L1o0ODI4WFE1MFcKT0JjSHFGRWtxYTRRanRjLzBscnJpajVz
L3MxdjFib2VIN09VbHdWSEhSVDJQZnZFcnB3WTlJeW8wN2VobS9FNWcyWGZPZEx3dmY3NQo1L2lJ
VS9rVEZkdHh6bVgvYU14RE16NTlsbjJOQnIvc3RVMmZlVElxWlp3ZXYyMThqRTluYksrQWVhcmpR
Y2Fsa0M5MEVNSkpySjh3CnBYenM4Uk5oeXlaODdrbTl0YXNudzlvMWVIWmZmK0tpSGhEci9lcUFN
SHdpVWM0SjBrVU02R0g2dE5pZ0tiMysrSHdGUXUvMnFOdFEKOXNLLzk5YnQ0V04vZHQrVWtmQ1p6
MzF4aktVcC94RFdkYi9tWkxqbFZpLzhkcy9LbXZGdFhuWFlsZEhWMTJ3WXI0aXJGMzUxTHVUTAo2
akkrVVBSdldzTzBoTTY1Z0FmTHdQd3RPMmEvY05qakR3NTNmdXZ1dUhySVU0cVBxNkdQZnNaUm1i
VzlPakZlKzdGbmlIbHJmUG5uCk9JUDBMSCswZUd5SVRmaFIvdjE4V202bVdaNkQxSzlwYWE3SytE
b1NPS2ZGZk9GdDZGYytMYXk3K0VlRnVjNEg4QURyalpkZEYzYmMKdTZycnVoNmZzNGZIY1JSR1Rj
Kzk4TlB6RlBYd21QTFArTW8rNm1NV3M4eEtOdWEzZjY3ME1DeCtmVlJOVWthRDR3a1JrakcySUxO
KwprLzFNeU1lMkFXdXFMSGxMUjdKaXNSZmsyRmk1OWVhM0xneTdkdHJFZnZyajI4SkZuOTB4dGF4
NXNxSWZIUjd3SU5MTDN0alA4YW1QClJ5Mm84dFRRUDJNUWxubzJvZTN3OFJaMEU3NWl1UG1xTGVH
T0cvVDJGNUNZSnhiTnJoMjhIVjR6ZmlkK0ZhbmQzYkNVQ3hjbjBNa0IKZkRQR1FsVDd3S2pxK0xk
NFlWam5SN0poOEdHRHdyb3R2cXdLMCt6akJrcmFQc0pQaW1teFlCMG9MMXl0ZnVvclRpbzJZTXB5
L0h1KwplMi9ZY00rR3JpOWxReCtLaGF1Umo1SzFyMlZYaDU5KzNOTGU0L1EweVJSODJNY3RLWmR0
dmFjMjVBdEhoWDBFa3E3bHNrL05samJVCjFCZDBOWDlvSC9EQytIV3h0M3dvZE9LVno5S0RITzNk
RzdlR2g3NzhmWFFMRzQyTGE4cUw0Y3duSmFONlpEYkE3SVdQQ01WSnYvemIKUkNZcytUUjhIQmRh
ZGMyZVlOL0VmN1BWY0NNV0RWREJoR3ExZUN3UDUzMDBWbVBiZ0prcUZ5eUpzSVdDMEkyYzNvbTg5
TWZ5bnhTOAovdXBkeFFac2swMXFpYVNUSTN1OVBBdGZ0ZUpsWDR1YkhpQWpIdVdRR2o1MXl2aVNs
bXU5QWhhdWF1Q3J2VHYrL0NMdU84cys1QnF6CnVIcmhEL0lXdERCVGZPVFNyeEJmMXVMYitJYzlS
c1ZyMlo4c1ZRK0hiMTZKVTQ4UERNMmY4TXh5MEJZOEFDZjNKSHg1TytsRng0VXYKLzhFM3dxNTRB
NDR5L3ZiMTI4T3RYNzE5U2k2TGxIT2JaNDBPVW90elJrcE9ScGYvSUpHWWJoMitHR1NkNW05MjFS
YXpraitPNXlkVQo1VisxMVpya2VvQVZTb3F2ZWQzbjJFUEMwck9PRCt1K2ZXMnhZVkFYK3NSZjg2
bHZGYlo2b0NldFAvUGJLeGJaRGxQbitldUlMZU1qCjF2elZKcU5uL3NTbGpUdzB4V0ljMFVNVGZy
Tzk3SWdrbm5rc3dZcWNOZGtQSzllTUtWN2xvZjZ3ZmtkbDErdmR2cEZnNUlscW1XSloKVG8vdzNK
NitOS21xbXhJZ2V1NUJOcHd3VHBQc0ZXazZadGFRVWtNK1dNdEtYbGpqRlhDS0x5M1pvbysyNUxC
U1cyT1VwVksyNWFQTgpSVmlNZ2I1enYxVjg0SlZMT1g4d0pueldlVXlwZlJsN0VIeGhESWRQSkxO
Tm8rcmZwalgxekFlazZTYkg4ZjJQM3o4Yy9OaUR1cHpJCkNpekI5c2JQMzFUTUs2Mk5PMkxZNlo1
Mmd6MDI4MC92RnZ0Z2ZxZXZMWHg2UWc5Rk9iUFgrMUZIWnA0RCtPY2ZyTFZHcXA2SVJMbDUKU1BF
bHhkMnVsci84cVlVdnlLQ1RXcSs3OU9xd2M3VXVwcXZEaDNhdldJcmhvUjhVSngwMDRWTnVJSmFC
WmFTOHhLeHBwNjF5L3IzdwpVN3U4UFR4KzdxZDlEMnVCTThFOE1TTW9pRi95OXQ1R3J6bTJEVmdI
QWRORTByWVlPTlo3d3Z1bEt2OGlGUHBHcVdIVitSRitYUVFZCjA4VEluMlRNZ3FNNVBqMUpQODIx
akc5ZlExSVV1VVlURmxEYjRyZjdRUWJEVDNrdy9GU2F4NGdlcmRuU0hOVGxiekx6SVZzZzZGK2oK
L2ZEbFR6NVNEeHBMK1U5bDFPMjlOaFJIWFkxWTVhODNmdndjZTlaRWVFeDhHMXI2c0FRKytyQmRj
K1BxQWtMNWE4M2wrVXRhRjAwdgptZVZZaDA4ZWV0bVBZOHp5VDcyWDgwL0g2dHJLeC9pSGxtYW1I
MS9rUC9WYnhrLzlMbi9KazhQRS9EbkZmQkhGN0NmWGJRNDdWcTZiCmNsWEYxendxM2hSekZPMDB6
dnI4ZVI0VFBtdUxIeEdqbFBPbnRQNlJPWkhqL3ZpNWoxSGc1eDc3OXhncGpnVVVIaFBpQS9HTGcv
NmUKeHFjeHhyZWdHYlFtR0QwZWdua3lJaVNYOXUvQkRyNVZ3MEpFbzkzdlVJUU9TbXBmMXkrVWFo
NWt4MXFMa2g3c3NXcG9YMFBpbVB4SQpzOXlYdkZ4THovQjVlQ0NqTnErQTVVOStxdjNlRE1JT3BR
NmY4bUs0N3pLZkRyN05QMkt4L05GNzltK2VIbWJQVFE4eUhZaGNKL3ZzCjErOTcwb3kvNlZGeHF5
WitybjN5aTQ4UFgzdkh4V0V5Zm03UENMVkc0eHVEOFdNR1JxelBMMmxyL3NodjdyRmRMN1VrQS9C
SzdQUjQKYk9kdE5GcDErSFg1OTBmVHJKZVBmeDc5WEpFcEE3bkhOUDg2ZkRKRm00VW5IQllXbjNG
czJQVDlHNmVjS0F0b1JmejRNVkZSRjZOTgorSkxuY1V5M0oxelZ0cklnc2JWT3VmRlJsejlpYWZk
S1RQbURaWDNOU2xqdDg1U20rRytQUHl4cmZPS0JSMktyanp5TXVXRzlUOGR1CmJCdXdTRVp3V2hB
bUV4RVlOU2w2Yll0T0xMQlcyM3lsL25PUEpEd2Rod2RidEJZTnZhWmo5TS9GTE14QjhSOWF4YmVn
VTV3VUk1V3oKYmJHMXhWKzNTai8ya09kZTN3T0tZYVQ0OWZxVWloM29pNHM2L3VHNVhITFpkUEE1
ajJWOEhGN252L1hNTUg5UjgvS2V1MC96V0RsZQo2ek5XOUlYSi9DR3A1cms4L3ZMUlFhZXRLTzRO
RFgwZTl0QVZVMXlOS2Y4Y3BRWjhEMU9FUlZ0YnJ5bitNSDZuWTZPWXhCSnpVLzVnCmdKOVY5c2V3
ZkdCbEhGa2JXSFVGMGhRZjYxQzYybEJTdTRuWnM4T0tsejBsYlB6K0RWTWU0YUg2bVNwdGNueHdQ
YzdDdUEwejVVSmMKenpucTBERDM2TU5pN09JTVdyU2hMTGZ2SDI5ei92RGJheE5YVElnRS8raVRj
MlhTZHY3N1J5a05yUUxsREZTMmtUZFhnM1JrTTlQMQpNR2VoVmpFaVVSYWxhb3RBUkdCOFdBSkVK
SHdZd2V4SmhycGNpTWVKd0ZoNTBYQnhZQVJldFZoaGxTOFF3OWRDZ2cwSzg4UjR1ZXpZClBobTJi
TURGVmZCSERjTTNHV1BFK0hENFd6YkUrMEZIckhueGwzbDZGVVJvR2xYODNyYXd4bjl6L3ZESVhI
TlBrZ21mWGdiSEIzSVYKbjFqekZzNEo4NHJ2NHViWTArc0JqNFZ6MDR3UHJkbHpab1hIdlB5azhN
RFVqek5NbVJhemp6YXN3VCs5TUgvSVdUai82ZzFXbXkydQpPT1ZxdDlpQk5OTUZFYWtJbjNuelNO
Q2FrRTYvbXZ4REM5N3lZNU9NVmowb0F1RkxnNzRnbFlaR1FsaiswcWVFT3k3OGFPanN4TzFkCmJi
d2Z2alRMV09aNWVxM2UrSXgwbjJjOEllejd4bGVXZ05KTk54bUtWKzczTDhvSy91VUhkbncxM01z
ZStubXhQbjIxd2M4OTlPc0IKQWVzS25va2hUQjRSc0I4OUtyeTJMMlBiZ0pXYWlDY05PbEJJeEtB
SFhUa3RVU3Q1UHBHOXFEVjgybkNpdEpCa2FmNngyRGlOcW9HWgp0cGNmRWsvNDhWMU5hTkcrRXhZ
dHNlME4rdXNmMmgxL2xGM2p0RGQ4YUdqRFJadmpQSlQ2NDBOZitRTmo0ME03d3dHSDlINmJGZkhu
CitQQmk4YkhYL0pqbUR5M2htd1VrV3ZTcGxPMWg4SWxwOXVTSGZlWFNQZ09McVcwcnpUbHRBN1B1
VmR4Skx6aytmT1BkOFlyWm5WajcKbkY4d3duWFNqMyt1cExheG1SN3Q2TjNXZW9wdnVqUFRFbGVJ
TE0xZk1iWE5WSDRRdGRtd1phOWliYVNjSGV5MVR1UUwydml2cnRRUQpGc2JmLzEzNG1LUEM1aC94
NWlteXlmM1c0V3V1Njd6bTF0UHZsZkhwY2U3Umg0ZUZ6M3pTOU4xUGVlQzgxVEZsK0UxZzRrMDE5
UEoyCmsrWHdja1dWWWdtVFkzd2NIbUg2bG1QYmdKVWFFOWJHQ3lsUHlSeXZPejIzU1VxTG03b3Bx
VUlRZnAwM25RQjR5UEVBNFVGSnE4WDcKaGJCNENXLytzWDdON3JCdEMzWE1aeFgvYVM5WUhNNCtk
MkVYRHJvbm41WC80THMrLzlVSm9BbGZiODNvaEVMMDlJUURmSjVJQUdqNQpBeFhlK1Rsd3Z3MjRp
azlmd29mdnBrSjhqdGJoNTYvc3lsNlVFV3EyeFFuOTRobTFzVjFualZkMnNFR3B3eS9iakxJUDFH
YjhIT21nClUxZUVGU2NmRUI2OGV1VlVSc2hMeDBPYVArZVgrWE4rVFMvMzJhOEhYc1IvK1R1WFJC
RitQMCtqRzlmOHB2aVVhZjdiWStYODgxakUKT3RJNjBMcG85aWhNMktodC9LZDJzK2JNRHN2ajI5
RGFnREVtZkxRc0wwanQrQlAvdmRaeGlqTm9PODJWUjBvVmYxQ2YvZlNCd3d5NQovdXZ6ci9kaVBH
RmNuSk4vK2F5M0hGNUtSblNlMERvaHVqZ1RhOE9qVE05eWJCdHdmaEF3WFMxMkMzbFk2bk4vN01F
cnlhWlhUckpoCjFiVnlmUHJwaEhQalp2cTA1Mkx6N0lTdmYzWnorUHJuTmhVTER4NjRrS2lwZkFv
dkVlN2xiMXhXQjlLVjZUdkFYVUhpRlRMaDJ6TG4KNmRqR3l2ajBSRHUycGJ1MitNbENrOVczWkVt
dTFEUDhlaXRKcGE4NmxlY0huRWJLdFN6YjQ2ZCtaYTFhM3N0OXlVZFJwL2p3QjZ4ZQplTFBuemc0
bnYvVEVzUEpxM0RrSmVUTFgySWhGbHBLanIzSFUvYnpEUjdYSWk3eERvM3JDcnRxTlUxS0hUeGxR
bFgvL0NNcjgxMW1rCmVaZkhVM3ZEaHhhZWxOUmJybmpwVThOZDcvblgrRVBjK0FuTTVyZGJVMnZO
WGhsL1hIM2dwZSszb1QvNmdqTmVmZjVsL0RKMjcvbUgKOXVpZkZHbytXT01Sc3k5bVRGcU9kU2I3
WTl1QXRaaTU0Sm0wRm44NkdkdmpEWjgrL01FZHlkSVhRZVloSmVUcUszaGpBNUVwV3EyVwpQUWxP
YmRWTzhkVkdyY2s1NjBuenc2dC9abW1odnVMZ09lRnJjUU5XZ1I0M1htanpXUlhxUy81blUxajl3
TTZ3L0dEY0E3aSs2Qld3Ck1HVVA3UlJmQnhKenluM0p0bmYrRS9GSzZQNC9TVmlQYjg4VWMrUnlE
OWFXZjg2L3VLZE8yWkk1TUFQbGFLOG8rK0hEQXY5dGZnKzQKakR5OVBsYVdZdWNKSTEvWHlMYXVQ
T2JsSjRadnZmZlMwTm5OY2MyaDhWZjNpcUorL2RmNXI4ckVxamhXWE9UV2NxaGFqa3ZDWEZOOApy
ZzFGeWxmcWJkQmhvYnhTanJRNUlGZnFGSXJaUXhOK2ZuZW16Q1IyRnAxK1ROam54Q1BDbHV2dTZN
Ni81bzVjY3ZQVzVxVDVSUnpRCkcwZFJsc0pIRFh3VXZlc3hhbHptWE9ZZmZiNWpCZnltYkduYmov
OVJSOHgxQXErYUNVYVBSODRNKzZQSGJldHhqQnN3cDRJTEJPR0EKZkNXdWlRaGg2NVlRL3VTQzdj
VUlkUERQdDIrZ0l6M1dHTnU4VWNTVnFaT081RTFMQVY3a3QvbFFGWUdQZThxQ2NQRGhjOExLZTdD
aApjWm5EcytWRnpUVVA3QXFYWHJRcHZPd056YStDOVFxNERUNmp0emlCQWt4d3dxSThwN3BGVGla
THZ3dDg1L1didzdXWDRxWUJ0TDNsCmh4c0tJMmliaGZ4UUJzMXJMM21vK09GNGpWQ1hQbGJmdmJW
a2pWaFRiOVRMWmZURUdTUk9hcEhpMEZvU3F5MkdzbVVaMzJ4RzFXSXUKaUF6LzdmRVBPdjNBc1B6
RUE4THE2L0hkWDJUUGVVVmNaUytTTWY4bUZxRFZyOUEyNVYvY2lmOStIa1k1ampoU2ZPV3RHbGpy
cnJ3agozUHFocnhkNktVY1lLN2FYSFhwU2Fmd1pnM1Z6QWtzcm1yL1VkNHB2bW5scjFyeTV4Y1ZZ
ZDE5M1p4d0FUb29QWFhnUlBubG5IeU50CkVPQmpzSko3Tlh3N1B5aU93ZnoyMGhaL3ZmTFA0ekp2
eGdOWG4vUlVqejVhWXN1L3pRU1E4SStJeG9WcWVmZHJqVzBETnNJUkFoUFYKd3VjWW42M2h4K2tm
dko4NklFU0VrWngwTXdabEpBODY4cFV1QnRJcVgvS0VmbDVTZlBsaGJmaXlXQnAvZmVpcHoxc1lQ
dlZQMkxSNgo0My91WSt2Q2kxKzNYNWc5dXg0N2Z3WE0vSW1MelBqV0RuTkRybGFVRjNTVnIrSldI
OXFwTFAwdThFMlhid3dmdmZDMnJ1Mk8rTVB3CnpFVTI5ZmpmKy96S2NOWFgxM1R0aUVXTzdKN1Vu
S09vbE9HVFk4UmJMZWxZbS94VEQrVEFzTkRYT3dacC90LzkyTTFoYnVVcThIeCsKdVo1UzcxcGpJ
Wno0bkNQRHNpT1daSVAwejV5RVZjYlBES1k2YytMTkhFNTgwZkZoMWZXcmlubFYvamJYOWZ6WCtX
b25zeFVqZmNUSgorZU9wUi9LWnFxdjRuQXRHeXZ4WFhYSmpXSC8xWFVWSW5Cdm9nQ1VlRzUxSkhE
UE4vS2RqZFhscHpwcjRyN09SYlBuTDR0dlFmLzd4Ck1ESDFMb1o4b2RiNlMvR0J3WnpsWWJSMUcv
elJJaUk3SFQrMlh1dnlyOE9WTFdhUEw3QzREaW5ua2JEN1c5K09iL1B6U1JiUGY1eHIKOHlkOFNO
SzJOS0xzRFc4SXVJc1pOVklNSUxGb2JnclVuVHZEeEljL25JeE5LY1VLK296TWFveVdaUk1ubmhq
Q1U1K0tvWUhMMkRaZwpTOWZTME1KbmxFeERaS1J2UVducDZtMUpzNE1OaXFoVWo1TUJQUjY0WEN3
Y2JYcHN4aTliblAvcUplRlRIOTRRSmpxOThhLzZ6dFp3Cng0M2J3M0dQV1ZCMlVmVFhydFF6ZUhU
cjhEdmhvQ1BuaDFQT3hzVmN0c0NJcW42OGplRVBOb1lINzlLdkl0bkJrT2FmZmdhOGRkUHUKc1Bv
ZWU1ZUIvbkw4bkdQTzN1YTF1OExtdFhHQkZ0RWJQamsyenUzSmcvaTNtR3dkRkU2U2gvNzRpWExT
WkRRU0VGRlBYZ3ovUysvNQpZWHoxTGd5d25jWVBhL1FwUTR6UVpGNzB2T3lvcFpVTm1CelJsbHF3
c1Z4dFhLTldQK2FWSjRmdnZPKzdvUk9mY0pZTDhSbXIxZ1dQCm1qelhzbDFkbnhaNFRKL2cwU3Zq
cStMWCtSbTFETmlNTGNXSEJObUQvNG13YStPMitFTUgvQkVTclgvTmtmcmlSL0hCTGwxLzFDT1MK
ZEZRemdtWjhZdFhiTGo3eitMRHd1TVBDMXB2dWxydWlic2FmZXRLUWFZKyswd3QvMUdqR24zRll4
YS9uRDNyZ0Z3V1AwSkttanI5ZApuL3A4bUx6b3ExTWExV09TK3BERGc4WmpNM254RWw3M3VyakRj
d00yZmJTNHhvaWV4TDl0VytoY2NFRTNGbmhEVVl4b0swN1ZrS2tVCm52L1Avd2tUZTlzR25JY05p
dE5penhwRnZtcWtibTNhc0M4UHJMVVkwTk5uSHRCRElWRjFkSkZZUE9wWnE3QlVTNk53TlBYQXQ2
Rm4KaHdmdnhnWXFqSUw2b2lmOHJWc213MFdmV0I5KytZTDZEWGhOM0lCcDNZeC82amtMdzgrOC9i
QUNtUm5RSW8zbkkrKytPNnk4Qzc5NApoS2poUzdFb3R2aVZwOUxOT0hJdlZYemxwVHBsajl6SWd6
QU1zNHdQSDV3ZnpFWHFpVm5BbndwOW95ZVovRXVqWEd1OE4vN2F1N2NVCnlEcFlHUk54ZUtKRmJQ
REZBMWsxbysyRW5WdlRKMHVLZ2ZybzJmcXI4aS90dEQ3a3pJUENmc2N1Q3cvZDhsQVVDeE1hYWRz
c0VFZVYKT1J0dmFqSENsSDlvcG95ejMyUS9Mbms1QXMyZTVxS01tK2FmcjVIcS9LZHpJYjlsZitq
VGtpUFNTM0hxYkNTYnZXQmUvSVdrYzhJOQpOOTFWaUhKTWVlTmNNbDdJaHB2RHdyRFBRMXY4UG00
R0hLNWYvMmtzT2N2bVBwMS9NVk4rNGhUV3JBa2R2T0ZXSEJPY0xUN3l5UXg5ClUwSWY4S3JqWjZy
ZDRiZ2hZNFhKaGkzWWRtT08raE4zNFVtVjJhR2xHT0hIN0ttVjJVTTN4ajFzMFQ0MHJIMFBPeWFV
QnMvQWFTSksKMkFNZEdCVkJUSjg5blV5VU5zZWdTMGs1Qk5GSGhQS29XV05FSG9SUGdzczJpNWZP
RGsrUFYwWnoyc3lEckZQOWkvNXpmZGl5bWE4KwpVam5hdURES3JDR1JCOE0vK09qNTRZUXpGaGIv
eDhmNitETVdWZjRQaVRyTitkTnYrVzVZaG9SeDVXbFM4ays1eGFoWnF1cjF3cGN2CjZHaitpVnAr
clByVjdKVTExVGZmeHA3R1ZKdU80UnVTdEZDYlZEYjk0cFdldk1CRG16SjNuN25ocEJjZTM1MS8y
cVQ0bEtUNEZuMGIKQk5PeEdNMkRJWm5lVExZTUg2MjZkY1ZvNnZLM2ZOQ0NmVjdLa2pvZFdEQ0dN
ajVINUNQRnoxSGlUVGxlZVc3MzdjMTBUTGFTQ1ovcwoxNStIcER0c25YcHR3aC9XZDdPZDhWL0ZM
MGRSNzRYY3dGcm5kZXJCbWxKNlZoc2Npay9OSU1mTVA1R3IrUEpoVWJObENPWVp2dVZYClVzMWZP
M3VMWjVEVzJEWmdKYUU2RFVveUk1ZVVLRkgyWktGbk1LUUhOaWpxc1UwWi9YSXFoVkVvbHg0MEps
OTJRdUFVbDlTTDd2bXYKamh2d0JLY0VnaWI4MjIvWUVhNitMRjVaVmxOMEVWWVRQa3p3bVhPL3Nu
aS9PWTM0dE8yRWRTdnoyMUV5WG83Mnd0ZUJvTVVPaTVRbgp0WnZ5Rjc0T0IyRlJ6a2ZKNUV2OFl6
VEhUNjNZbGczcXRFMWJvZkxKV1NwVC9xanI4Q0ZIa1FmMnlvOWxURm9wRHZrdFc2bC9TbndiCkdw
OWlTRTkyS2NPR2o1WTA1YUY5TFQveVVKZC9lMi9UMXpSOE82RXFmMk0xeGJIOHBVZWVxcHhyWExt
bVh0STJZK2lGTDlaU0syc3YKZWZ5SllmN1JCeFdDRkpNUjViUEY2SE9aZVJwRmk2akl1UWwvRkNo
bEg4cGJ4NnpoRzY5bG03UVBlODJUZktGR0RwUnpEdFJHVDNyMApBM3VVY3Y3bWwzcnd4My96UUNU
RkxMK3NhVysrRlFHeGlOWmtMOFRCNjdGdHdIbHlDTXdXQ25zaWgwRXpOYlpUY3RFbWthUkdHaWs5
CjhtU1lScm4weTdVbVIxNXovTEoyQ0k5OTBqN2gwQ1B0STNQRGx5ZGlkdUtMMzg5OWRHM1ZRWlNz
VGI0YUpLc1VIMGFMOWpXTVdpZFQKT2szNHNNR3p0L2swQUFBZ0FFbEVRVlJpV2JjNjM0Q3BqMUdX
Sm55T3dvTVdPdGxWbkZQbWNVNVNEM3IycUdYS0dLQ3JPWkdkNnRTNgpxa2Q4NmRiVmcrSXJmK1ZS
eHJlSUdVMGRKbVgwMEF1L3lmYXdzdzhKeTQ3YXR6dXNHQ2dnZDlZMi9yc0dMUnZwV2hiLzVmeGJ1
aHFaCldoMStPaGZpbjNxMi90Q0NUTG82MWxNSlpMUWdoOHE1TG5qNG9aWjVvRzk2TUduVmV2YkNC
V0gvRnp5eEdDanJsZkdKMGJ6K3E5NEgKazdURkg4eHJzN1p4eEZZdi9Eb3Yway81dDdtRUJSazBX
ekxJUjJKU3B4ZStXYXVsZVVqeDRRZjkxRk9LWm0zYnMwd2JucXYyd2h1MApIdHNHckVBWXVHaFFh
dWtwZ3BwS0VCcHFZd1R0MUZwaitVRkdEWTJwcHVmcUk5RnpEN0lSVnRscWNieXQ1TlBQWDlTTnph
eGhrZU5mCk92V2Q0TlRIemgyVFllTTZmcTZZNGd0UCtFdGF2QUtHVGk5OCtOcTBibWNBWmw2QUJq
NzF4OGdwNVhKVVczSEJYbTJOVVpaS3VWa28KQjlZY2x3dzJLa1EzN054dlB1ZXlVUzEvNWZ3UnZj
YWE4WW5VQmw5NGFVMXJTbnJocHpacGU5NmllZUdFRnh6Zm5UdjQwNzlpSjRZMgpsTlM2ZmJ0Ti91
MjlqVktUMmVFUkphMHRmNTdjTUVadHJWZjFDOU11aCtyQlhqNVVjeXg5cEVmWk5PR25GdVgyaWg4
N0Z3dXRCVDY5Ck44ZFM5anhZMzlZZjdMUWhWTGVVd2J3MmF5T2JldlpnaytQMzlxTHpqRHpLTCtY
czZWSEhOTG5zajE5RkJ2KzBsay9EbDFmNmhaeTYKWm1OckVaNnBYMjlmUlc0bkdkc0dySVhIaFlL
Z21RekM0aGdUS1lkcHljTkMxaUtHTXZQQmxuellvalFzamFXMThPc2lVTnlwdnRxNApHcm9UMzRa
R01UMTRvU2ZoUC9SZy9FNXczSVRUc25IOVpQd0pPdXFsK09VWWxzUzNsL3NWdkFYZEM3OWdLZTcx
bTllbkZ4S0pFOVdLClF0RVRGVkl0U09WanNpYis4L3locGZqa0k4MUpZN0RTdjhZTnE4d01OZVJQ
UGxJUEdxdkhaMWJwR0R3MjRTdWV0SWF1TUhyanAxWjUKRzI5RDgrcHN5b1hQVllWNGpIK2dEVmZx
K0dmK2pMK2UyK0d3MmxxbCtHYlRQMy9MaGR5UUUrTWZ2alF6L2ZnQ3Q3bE9IYjVGVjIwdAplY0xK
WWY3aEs0cDVzdEVxdnVheGpHYzIwMnYxeng4eGpiWk1oMyt0Ty9HaDZKcjR0L3lHbjMvT05PeFI2
TWZ3aGFBYUk4S1NydXhVCjIvcUJGZjJxaHM3Z1pXd2JzSmE1Q0Vab2txVmhpaERKMksvWGxBNXEy
YW1HVEVSekhJLzlTMm9QN1hJLzlYRDZPZnVFdzQ3bW5hNmsKeDVyeHB2aWYvOWphc0h2cU80UHdz
VForSmx1ZlZTNWR0RytMejRDalRoVmZDNEgrOEFoTUZmUnpKSTdJaitsSlM3Vkc4bHAybG44VgpI
eDRremEydEp6K1NXSDk0ZkZqcVgvaDEzakJtZUl5ZzNGZGM1VnA2cXBrcFYwQlpOKzBmL3NURHd0
TEQrUDNpRkYrVzVxOHU0dFJUCmMxdTUwME82S25tTUNLdlp3K2hIbEEyd2hUOTQvdkNpZk9qUitE
TFBKcXZtWVZxY01la3FKdldybHBUTVdiSXdMSHYrT2QxMVkvcm0KR1RMbHEzaWIvQTByRjRKcTRq
QUxrdzNydmNsTy9OdHhZMWlXZjVPMTVPSmE4eSt2R0RkL2tCcUx0Slhtb1BqUVI5Rm1YRytQdUlB
dgozY0trZUdoamI5cUR0TWEyQVl0a0JLT1VUQ1lpTUVwcHJnTVpwaWNkb3d3V0tCcVRwcVR5UjB0
SzAwZVJhK05zNWZpcGhiVVhMWjRWCm52SENSWVdnSC83VjM5MVNmQ2RZMW10WDQyY0l1YVNFeGJF
Y3Y4MWIwT2tyWUZnekZsdWM4QXY1aHRYNHFoSUsrVzZEejJoZ0E2L3MKV2J6NUtMV2E4WWxIeHFH
cll2NGd5VEZTQk9uWDFZb04rdVg4S2FObllVbUdhQ3dpY1dacnRBN0xaR2wwYk10djZ0WDBxNjBG
UytlSApZNTkzM05SQUwzemp2K3FsdDBTV2pKRFpTb1llSmIxOWpIcTBIbC81MnduUmNHV1J6ZzB5
c255Z3l4elJzbk1LTE91S3JKVS8xd2FrCmRmaDFIaWpEMjlEQ01LUWNuMTZiZlV4M3BBMytkREdx
OXNaZ0dSOWNHaGQxbHJLd0dSVC9HRkhiTEkxQmptR2tEcCtvZGZpS3g4YlMKalpTamVoUSsrcElw
NHY3MkZ2V2dyYkZ0d0V3STRTQU5KcTZGendYUGlXQ3lTbHFUQXp0NFNBODJ0TTBEeDlpWEhxeWtr
OHM0Z2tlUgpLMi9DbDRZaFNKTFhMM2oxMHZoVkJFWkhMQzBlNmRFRHZoUDg1VStza3pEZ0NtaU1B
TThtVnZGQWpaRzAzWUF0LzNwOGpPc1ZjTXAvClAzekxIeDdZVTd6aUZ0RzJ3V2RXWllhcitRdUZm
dkdJWXBHd256ODI0MU12alIwUndKczhLaUwwTlNiK2FkMzBLQSs5OG0reU5mbXAKOFcxb2xONzR5
TUR3ekxwTmk3YjB6OWxMdlNuL05wNUdwVk9Icit5WVp4NlZaV0RyeFdaUS9DTTZtMEdMVlo1Tmdw
YWtPWko4bGFXNQpiZHBiK3VSVHc5eEQ5NThTMWVNREMvL3R2YVlJL2R2a0RIcDErSlpyZjArRGFJ
aEJjV2I0L2ZKTTU1K0laVjk1SHN5UE9uYitzVmd0CmY4cnE4TTNhTmw1cFd6dzhmOHBlVVhFY1Bh
RDNzN2U0Qm0yTmJRUFcwbE9pT2cwd1FLUEdBdVlFNEZGa0dQRjRka1dwYXRpbGJmUTUKS2ZJZ0x4
Z3BGOE1YNGZUVisxa2N2SngyOW9MdTI5Q3lrZmN5L3BlTDd3VGp0bys0S2puOVBKWVdzRGQ4eURv
QnIyNzdGVzNTL2ZCMQpPMHBnVURmM1hNWG51Smd6RytQRlpQS3BET3I1SnljNXJpeUVyeG1UbHZE
VlQrdisrTkEyai9uNjQ4aDQ4SGtncDdFMnRZOTQ2aEZoCjhTR0xpem5oM0RBdTZWdisxdEpZdTVy
NTQ3RlgvdTE4alVaTDg4YVk2RE9WNVhMeEFXbGVaQU9wamFLVjhtOGp1VFcwMG1PT2VyUUcKVisz
S25IMFhoMlhQT1R0UnJzZUh0Rzc5SjRZamFwYnhSK1MyNUliOEFLdGMrdU5yM2xURFE5N08rU2NL
SHpVdjVMSU9uOTdLWEp0MQplZi9nK1l6NDhzNzFJMXpVZzlramhzSEwyRFpnQmkrU2tTVCtMU1dH
cXRPREZpclRGcEZXNTVPREhqVGxWWDVwVFY5RUlrcjVVWlNuCkhvZ2xEMlVMNnk5Y05DdWM5Mkpj
RFoxYUUwMExDcjRndWYyRzdlR2F5L0NqQmFGNEJWdzA0b1B5U2oxQU5udnVyTEJnWWY4cG1iOXcK
ZHBnVGRhdjVNdzdoMiswb1RSTmNOZUVqUHVUQWNkVnBsTXdBM3FqSE1lTS94NWNlcmRKSGpLQllY
SW9weGFkTzlWRit6YnFlZitrUgpDVDBVNktwdEhpUXgvRUs1OWdHNjFmenRJSzgxU29UNzdMY2dI
UFBNbzZPa0NSL0thWnpvdHkrYWY4VUpTL0U3SGIvdEk2aHExdUZUClJ1WVpxL0dheG1tMjlLdThV
TnVZOFcreWFoem1RYlpWL0NhclZJNmJjcUFZbGpLZ1RMT0hkVEtPSXIrOThFZU5pMHpLZWRYaDEr
R2EKSGtiRk9XZlFmSEwrYVMrcDZhZjRqS1NlZjlvTEJlZXhWRTl5K2sxbkRmN2hsN0hTanYwMjlv
WHh3QS85WDI0TjdKSUd5K0k3TkU4LwpqemNwRksyaVFpNlpzTjFtakgyTXppNW9RTnJjampoaHRP
UG14c2tndGJrL2pIZkNpYWRXVTF0MndLendwUFBzTGxLcHZ4UUx2MzdVCnF6ei9WVXZEVFZmaEp4
U0p6N2d0eGxSKzF5M2J3em5QaXMrWVY4d0paNStIdTJtWlRXN1hDZnZzTTZ2eGh4elNlUEJqRDJj
L1o5K3cKWXl1K1prUSswcHE2bllqSkM4YVdIem8vUFBZOC9FcVRZalFPYVVlNThVOE80WWU1b0Vh
cGoxMWpWZ3NuaElPTzVXZm1oZm5Vd3dHSApMd3lubkhkZzEyZktsL1FnVzN3QTVpb3ZoNTY2WDd3
L05lOXJMVHRwNVBqaWhhTzl4NnA1TFRvZ3Y1M29nU2Z2SDQ0NzczQkJaYkhMCk53Ym56TzkvRVIz
MFR2K0owOEttK3piR2xyaEN2TGF0aS9kbEp5eUhldXV5LzBrcndoSG44VE5tK0ZCc3F1bW9FK1lz
NkwzR1d3TzIKVUp5elpKOXc4SG1uUkUzakdXYUtTZlBJVFNYbGd6b2FKeFJ6a2kzWEwwY2tXM3Jx
a1JRa2ovTU9XQkwyUCsvMEtJRzllRW50Y0I2YQppRmM0dCtONzM2ZWZFWlk5Nyt3d3VZUDNTbWVN
QWxTTW5UQjNmLzZzcVVaR1VjOWF1amdzUEUrdndKVkw5Vnc1OXhoYnI5UEZuVmd3ClA4dzc3eW5S
RGMvWDR0cjhFbi8yU2NlYmFLbzE2NkFWWWU1NVQ0dTlwdm1ISXZtbkR2cmlVRzFiRjlnVERGLzVU
OG1LKzcvREp2WWYKOTdnUUZpeVkwcVZNWHRpVEg2TFNKMlhRUy92U3I3WEhqekVNV1NZdXVPQ0Mr
Q01qaytIQ0N5OGMwa1c5MmRxMW5YRDFqN0JCVkl1UgpWeDBUOFhVanpXTTJDYkk3WU1Xc2NOS3Ar
Vy96cm50b2Q3aitLcnN5dU1uZjBTZk1EUWNmMW55QzJoWTN2cXVtWHRrS2ozVTFqbjMzCm54MU9Q
R09mY09kTjI4S3ErMUpzczlUQk8zZmVSRGpqS2J4QzFrYnJXMWQvZTBQWVZmbWVMM1FSQXhqdWhB
UGl4bnZFaVF2RDZ2dTIKeDN2WTR1NWMxZmhnZ1RMY25EVDdvODlPV0g3a3dyZ0o0NG1IbFlmdTNS
SWV1Qm1iVDEweG4wZWNzU3dzM2ovZmhPKzlkbTNZdUFvMwo3RStMMmFSU3RvY2JPL1NNNVdIUi9y
WUpyN3p4b2JEaC9zMkZ5MmF1T3VHb3B4d2U1c3pydndsdlc3OHQzSC9GQTFQaDFzY0luQ1dICkx3
MzdIMy9BbEY3LzZxR2JWb1hOOSttWHU4cjZoblB3azQrSlR4YWExM2paY2pyOW5adTJoVFUvdUwz
cm9way9xRmlNWFlOdW8ya00KY25qbDZYSCtpbjNEa3RJbXZPT2hqV0hqVlJZRFhWYjlMVHpoc0xE
Z3NIYWI4SWJ2WEJNbXQ2ZkhkTlhmclBsenc1SW5ZK01mWGRtOQpZVlBZK3NQclk4Ymw3WUFZNG5m
dTBZZUZ1VWVQWmhQdWJOOGVkbnpuOGtvU3d0TEFyRU1QRG5OTzVCTkF5U1lmWEJsMlgzK1R1a09l
CmEyQmU1WmRPay9sL3hqUHNhMzVYWEJFNjYvRXpyTlZORlRLd3AxWERQRXlHY1JReFhOYlRXQ0Uv
OU5CUS9DSlNZZEh1QWZzdDl0MngKYmNEdHduQXRaOEFaY0FhY0FXZmcwY1dBTnVEK0h6Zyt1bmp4
YkowQlo4QVpjQWFjZ1JsaHdEZmdHYUhaUVp3Qlo4QVpjQWFjZ1p3QgozNEJ6UHJ6bkREZ0R6b0F6
NEF6TUNBTytBYzhJelE3aUREZ0R6b0F6NEF6a0RQZ0duUFBoUFdmQUdYQUduQUZuWUVZWThBMTRS
bWgyCkVHZkFHWEFHbkFGbklHZkFOK0NjRCs4NUE4NkFNK0FNT0FNendvQnZ3RE5DczRNNEE4NkFN
K0FNT0FNNUE3NEI1M3g0enhsd0Jwd0IKWjhBWm1CRUdmQU9lRVpvZHhCbHdCcHdCWjhBWnlCbndE
VGpudzN2T2dEUGdERGdEenNDTU1PQWI4SXpRN0NET2dEUGdERGdEemtETwpnRy9BT1IvZWN3YWNB
V2ZBR1hBR1pvUUIzNEJuaEdZSGNRYWNBV2ZBR1hBR2NnWjhBODc1OEo0ejRBdzRBODZBTXpBakRQ
Z0dQQ00wCk80Z3o0QXc0QTg2QU01QXo0QnR3em9mM25BRm53Qmx3QnB5QkdXSGdVYmtCWDN6eHhl
R1NTeTZaRVlJZFpEd00zSC8vL2VGclgvdGEKclhPZjMxcGF4aXJjc21WTCtPSVh2eGorOFIvL01W
eDExVlZoY25LeWk5ZHZQalp2M2h3Ky9lbFBoMjkvKzl0ZG03VFJienpWSFZXNwoxL29hRlliN2NR
Ym03TzBVL01NLy9FUDRqLy80ajNEdnZmZFdRajMwMEVQRGVlZWRGOTc1em5kV3hwb0UvLzNmL3gx
ZThwS1hGTU5mCitjcFh3bk9lODV3bVZaZnZaUXg4NXp2ZkNWLzYwcGZDUlJkZEZMNy8vZStIbDcv
ODVlSFp6MzUyRnFYUGIwYkgyRHVkVGlmODdNLysKYk1BR2ZOWlpaNFcvK1p1L0NmZmNjMDg0OXRo
aml5ZEkxMXh6VGUzeGR0OTk5NFZQZnZLVDRYLys1My9DTjc3eGpiQnQyN2J3RjMveApGK0VwVDNs
S0VYTy84WEVrMW1aOWpRUFhmVDU2R2Rqck4rQmYrSVZmQ0QvLzh6OGYzdjN1ZDJjYjdRVVhYQkRl
OFk1M2hJbUppWUZtCjc2R0hIdXJxcjEyN3R0djJ4dDdQd083ZHV3T2VkRjErK2VVQkovNjVjK2RX
Z3ZiNXJWQXlWc0g3My8vK2NPbWxsNGJycnJzdXpKNDkKT3p6dmVjOExUMzd5azhOdHQ5MFd2djcx
cjRjNWMrd1VreDV2TzNmdUxQUysrOTN2RnBzdmdreVA1WDdqNDBpcXpmb2FCNjc3ZlBReQpZRWZI
WHN3QkRzeWYrWm1meVRaZzlOTUR0bTM0cjMzdGF3UGUwc0tKNFJXdmVFVmJNOWZiQ3hoNDJ0T2VG
dkQvbDMvNWwrR1dXMjdKClR1NEtiMitkWDJ4SWVGWDRTQ3JYWDM5OWVNdGIzaEorN01kK3JOaDhr
UnRlQlgvMnM1OE5lTnY1VmE5NlZWaXdZRUh0OFhiVVVVY0YKL0wvblBlOEovLzd2LzE3UWdpZFZL
djNHcFRmS3VzMzZhb3UzdDgzMzNoWlBXeDRmNlhvUGl3MFlrN0I4K2ZKc0xzcjliTEJIWjk2OApl
ZUdYZnVtWGVtajQwTjdPd05LbFM0c1E4WXFyWFBiRytjVm05SGQvOTNmaDR4Ly9lRG5jaDNVZjEx
SGdsZW9CQnh5UTVmSDg1ejgvCjRGK2wxL0cyLy83N1M2MjI3amRlYXpSTllhLzExY2IxM2piZmUx
czhiVGg4dE9nOGJDN0NtalVyRDNXWVY3K1Bsa2w5dE9SWlhoTjcKWTk0UFBQQkErSW1mK0ltd2E5
ZXV2VEc4YWNXRXQ1MUhXZm9kMC8zR1J4a0xmQTJ6dnZhMitkN2I0aG4xSEQzYy9lVzcyc005RzQv
LwpVY1hBVEorUUJ5VjN3NFlOeGNjY3VLTDJrVmp3RnZRanVReTZ2dmEyK2Q3YjRua2tyNVZoYzN2
WXZBVTliSUoxZGc4KytHRDRsMy81CmwzREVFVWVFSC8veEg4OVUxcXhaRXo3em1jK0VLNis4TXZ6
MVgvOTFjYkhQdDc3MXJmQzV6MzJ1dU5Ea0JTOTRRWGpqRzk4WTlEWlYKWmp6VndSVzYzL3ptTjRz
cmRmZlpaNS9pYzdHZi91bWZEa3VXTEtsVEw2NGF4ZWVhZUVXQnEwRmg4N2pIUFM3ODZxLythbkhS
VWRsbwp4NDRkUll6QStmTS8vL093ZnYzNjhNLy8vTThCVjNYanMvRkJQOXUrKys2N2k2K1A0SXBW
WENoejl0bG5oM1BPT1NjODRRbFBDRWNmCmZYUVp2dWdQRWdPdWloMGtQd0hpQkkrNXdFVSt1TW9X
bjlHOTZVMXYwbkJqM1d0K1pUVElIQTJ6SmxhdVhCbk9QLy84OE1NZi9yQ0EKeE56cWF2MHp6enh6
NERuQ3R3QysvT1V2aHl1dXVDTGNlZWVkNGFTVFRncG5uSEZHY1lYeHZ2dnVxN1N5ZXBpNE13YzFI
ZUJqVGxCdwpNUnpLWlpkZDFzME5mUndmeHh4ekRKcEZhVE1mMGgyMkhtUStoVEhzK3BKOVdnODYz
MjNpeFR6akd5RGxndlBEci8zYXI0WC8vTS8vCkRMZmZmbnQzR05lMS9OWnYvVmJSSHpTZXJoTnZ6
Q3dEOFdyaVRyeWFPRjcvc0hlWDdkdTM0d3FON3YvV3JWc0hDamcrRyt6RXJ6UjEKNHRkV092R3p3
OExQSC8veEgzZDl4TytVZHA3MXJHZDF4MDQ4OGNRT2JPSlhsZ3BaWFBSZDdCZS8rTVdkK0QzSHJx
MGE4VzNHenUvOQozdTkxNHNiVitiTS8rN1BPQno3d2djNjU1NTViMkIxKytPRWRZSlJML1A1akox
Nm8wb2tYckhUV3JWdFhERjk3N2JXZGVMVnZKNTdFCk92SGlpYTVKL0o1a0oxNFYzb21maXhVK2dS
T3YrdTJjY3NvcDNkaml5YmdUTjhldVRiL0dwejcxcWM1KysrM1grZTNmL3UzT1hYZmQKMVlsUEhE
cFBldEtUdXY3aVorMmR4ejcyc1FYRzZ0V3JPNFBHTUVoK2Fhenh4Tk1CNTI5OTYxczc0Q09lYURw
dmYvdmJPL0ZDcGc1aQp3bHFJVDJxNkp2M21WNHFEek5GMDFnVHlCcWVMRnk4dVlzVWNvWS8vZU5H
UndtbFZ4eWVMeFJ4aExXSys0bGV0T3ZHYkFaMzRDcTF6CjJHR0hGZjNVMFhUaVR2M1V0WC8wb3g5
MTRvVlR4VC9XRGVZaFBtSHJ5akIyeHgxM0ZNZE9yK05OdnVPVHgrNWFpMC9TSk83Vy9jWUgKbWMr
dTA5Z1lkSDJsdG5YdHR2TTlhTHkzM25wckp6Nmg3bktFWTFQblBwd1Q0OWNvTy9HdDhnN09aZkh0
NW01b2JlUHBHbmhqUmhuUQp2aHZVbUZIMEljQ211d0ZqODRqUEtEdnZmZTk3dTRzNTNZRGpLODlP
ZktYVmlWZGZGdU1ISG5oZ0o3NEs3TVR2TlhaV3JWclZ3WUVECnJ2UWtJRDc3ckdRUnJ3YnR4Tzhs
ZHc4UUtNU0xWRHJQZmU1ekM3dGx5NVoxNGl1WnJsMThaVkJzTXZBWm54RjM1V2hnNDRIODFhOSsK
ZFZjZVgybDAvdlJQLzdRVHYzNVRqSjErK3VrZFlPcGdXN2h3WVJGejE2QlBJMTVKWE9ERFQvcUVB
aHR4ZklWZllHQ1RqeGNQRmY4NAo4QWVKWWREOEZHNjhZS25Bamw4OWs2aGJ4MWRmeFJpNFNUZmdm
dk1yQjRQTTBTaldCSjU0SWRiWHZlNTFDbUdnV212dTUzN3U1eXAyCmYvUkhmOVRsSXQ0QW96cytp
cmk3em5vMGpqenl5QUkvZmcrNG90VjJQdnB0c1AzR0I1bFBCVG5NK3BKdHY3cmZmQThUNzhhTkd6
dkgKSFhkY3dmV0tGU3VLSnplSUEwKys4WVFiVDNTYVNyOTRtdXhjUGw0R3RPOEdOY1lMTjMzdjA5
MkFGVUY4VzY1NzBrbzNZSTNqUklrVApKdjdqVzJ3U0Z6VmVvZUpWQjhhd1FhWWwzZ1dva01lM3Ex
TngwZjdYZi8zWHJzLzQ5bHgzUE42QW9Dc3ZiOER4N2U5aURFOEV5dVhwClQzOTYxeTU5TlJYZlBp
NmVLSlQxbS9vLytaTS9XZmo1cVovNnFZcEt2TWxGTVlaWGNQSDdrWlh4TmpFTWt4K2U3T0NrZ2xl
NWVxWmYKQnRlcnl2aDJlM21vMDJ0K2g1a2pBQXk3Sm1DckUrRHJYLzk2ZEFjcThTT0I0c2tXbmd4
aFE2c3JlTUtIOVFqTzRsdjltY3AwNHM0YwpOWFI2YmNBeTZUVWYwT20zd2ZZYUgyWStwN3UrbEZk
VDNXdStoNGxYT1BGSzV1NjU1M2QrNTNjS01kNEZlZWxMWHlxVjJycFhQTFVHCkxwd1JCclR2UHVv
K0E0NG43M2krYWk3NmJCY1hZT0J6MkxURWsxeUlieVVXbjlXV0wwRDUzZC85M1lCeGZPOVJuNDNK
Vmo3Ui85NzMKdmlkeDhabG1mRXV5K0h3VG43dW1CVituUVlrbjN1SzJmdWtWbVljY2NrZ3hkdEJC
QnhYZnRTdzY4U0crSmFobXF4cDMva0ZCM09XQwpPeExoczc1Tm16YUYrSlppNVR1c2JXTEFaN2FE
NW5maGhSY1duMm5qODI5d1dWZncrZUxWVjE5ZCt6M3dYdk03ekJ3QlgvTTM2SnFvCmkzMFFHZUxG
MTN5ZStNUW5WcjdxSXorNFNjMy8vdS8vRnB5OTYxM3ZDcmh6bk1xZWlsdjRxSHZOUjZvM1RIdVkr
Wnp1K2hvbVR0a00KRTY5czQwZFo0WmQvK1pmRDMvN3QzNGI0MFZhSTc2WVZ4eWVPQXk4UFh3WWVk
UnZ3ZEtkSzMzbkV6VHhVY0pWci9KeXkyQUIvLy9kLwpYK0tzanA4dkYzMXNyUEVwVnJGNTRLSUoz
SDR2TGZIdHB2QnYvL1p2eFlFR09lNnBpNVB3L1BuenUycTZBeFEyNFBST1ExMkZsZzJkCm9OTUxP
V1NxV3dLaXJ5Y0RHa1BkSm9aaDhzT0ZKU2p4TS9paXJuc1FkdDFZazJ6WU9XcnlsOHJyMWtRNmpq
WTI3MEVMTGo1RDZYVUQKRDl5T00zNzBVRHlKKzhFUGZqQVFSSnU0QjNJNGc4ckR6dWU0MWxjNTlm
SjhEeHR2NmpkK2ZCYSs4SVV2RkUrSS8vQVAvekRFNndGQwpmSWNzVldsc2wrTnBWUFNCR1dYQU4r
QVIwSzFYdzdnNVNMd0FaaWlQdUZOTi9IeTNlSFVkUCs4TCtQLzFYLy8xb1h5MU5YclJpMTVVClhP
Mk5lL0hHdDlkclgwSEh6NTVDZkJ1cnJjdEd2VGI1SVFaY01ZdUNXMDcySzRPY1ZFWXhSLzNpNlRV
K1NLendFeitIRC9nYUNZcmUKYlNnNnBRZGNFWXM1d2l1aEcyNjRvZkp1U1VuOUVkTWRaajdIdWI3
S3hKYm5lNWg0eXo3eGJzS0hQdlNoN3YzcjY1NDRsMjNVTDhjagp1ZGQ3bGdIL0h2QUkrTWZKRWdV
SEJMNmVNMGlKbjIwWGQrWTY3YlRUd3VNZi8vaUFyenpGejJTelY3eUQrQnRFRnplSXdGdFplRFVm
CkwrakpUUEcySmc1YS9Mck5kTW9nK2QxNDQ0MWRLSHlGcGw4WjVLUXluVG5xRjBlYjhVRmloVDlz
RmlyNFNrbXZncS9Ub2NUUHpMdjMKVmU2bC8wZ1lHMlkreDdtK3lweVc1M3VZZU1zKzBjZFhHWFVI
dUxlOTdXM2g1cHR2cmxPcnlNcnhWQlJjc0VjWWVGUnN3SGhsTU02aQpFeUJ1NWo3STNZR3dPYjN5
bGE4TWYvLzNmeDgrOHBHUEZEODZNYzQ0eTc1UFBmWFU0bnVxK0w0dnZxZjdpNy80aThWYlhQaWNE
UEhnCm5yN1BmT1l6eTJhdCs0UG1sMzdtaTgrZFIxbUduYU5SeFREb0NSRGY4OVdKVmlmdnBsandG
alJLdkNpcWVEdTZTZStSSkI5bVBzZTUKdnNyY2x1ZDdtSGpMUHZFRUMwL080d1dneFR5amoxK2l3
a2RhL1VvNW5uNzZQajR6RER6aU4yRGNCeFVYTDR5em5IRENDVjMzMk1oNgpGZHkwNEtNZi9XaWg4
bGQvOVZmRmI2akc3M0tHK0hXalhtWmpHOE5KRzYrOGYvTTNmek5nUThiR2h3cytjTU1GL1d6anNP
Q0Q1b2ROClJ4ZWJmZjd6bis4TE84aEpaZGc1Nmh0RVM0VkJZb1ZMZk9aLy9QSEhGOTd4MlM1T3Rr
MEZueStpWVA0ZUxXV1krUnpuK2lyelhwN3YKWWVJdCs4VDFKVGhlOGN0dytMZ0tCZStZNFNjZys1
VnlQUDMwZlh4bUdIalliTUJ0bnVXVktjUEZTOWg4MHh2RGwzVkcwY2RCb1N1bQpjUUVWZm1LdHJt
QnplODFyWGxQOFpCdkc4YnUyS05pQXl3Y0k3b2lsTWt6dXN1MVY0d0t2K0ZXVkVMOEhITjczdnZj
VmQ5ZjVsVi81CmxlSlY3eWl1WGgwMFA3eEN3WlhUS0xnckY1NDgxUlhNSzByOGJuYmRjSzFzMkRt
cWRUYUFVQmV3eGEvVERHQkYxVGU4NFExRkE3YngKdTk2MTlualhSVzlENG9yb1Iwc1paajdIdWI3
RWU5TjhEeE92ZktMR3RTVWYvdkNIdTFlNTR6akZFMlVVdkNKdStqeTRLWjdDMEIvMgpPQU1QbXcw
NC9Vd01yT2trM01RZ3ZqNkR0M2Z4bGpCdUg2bVNYcjJNMnh1V1MrcTNidU9UVGZtejN2aTlyc0lW
TmpWYzhmeFAvL1JQCjJlZkIySlJmK01JWGhqZS8rYzNoNElNUExuVGpkeEtMR3JlOXhMOEt2bnFF
ZzAxRnYzR3JlSERTUllHZVpOSWRwTVl6Wi93VTNORkgKSDkyWHo3TGZOakVNazErOGcxZ1hDazhP
Y1BGV1dzQ2p2bnFCVFZweFNLZlgvQTR6Ui9BNzdKcUFMYjR5aFlLZlQxVEI1OXZwYitOSwpYcTdq
OXowRHJnMUF3Uk9rOHBxREhMZW54R2ZFV09NdmU5bkxJT3FXNmNUZGRkS2pvWXZFY09WK1UrazFI
N0JKYmV1ZVVQVWFIMlkrCnA3dSttdktVdk5kOER4TXYvT0lKR0c1bGk0K0c1QjlQMlBIUkZiNXBB
STZiM29xVy9qRHJUemw1UFVZRzRxSjRXTnlLTXIyWlJhU2oKRXk5QUtPNGVkZFZWVjNYaS9YWTcr
S0o2dkVTL0V6ZXU0alo5OFJsbmNZT0NlQVZwM0tPc3hPKytGbkw0d0YxcHlrVzNqc1I0L0xtMQpi
RGh1dnNVTkR6Q0d1MDdoamtOcHdaMlpNS2IvK0l5N0UzOGZ0WHN6aHZocVBGWHYzdTBLK29zV0xT
cml3ZTB3NDF2Q3hlMEs1UWUzCm44Tk5GZUpia1lVOWJnMnBNZVF6YkVsdmNSY1A2T0lXbC9HenFr
NTh1NndUNzFkY3hQTW5mL0lublhpQVZ5RGF4S0M3ZVEyYUgrWlcKK2NVbkt4M3dobm5GalRlQXE1
c0xRQWQzQm9yZmplekcxMjkrQjUwak9KN09tb2hYc25kemlhOWFpbGpqRThQR0cydDBFNWxxeEk4
QwpPcGdUNUJwZkVXZkR1Qk1TN21JVzMzb3ViditZRGNiT2RPSXUreXIzNDZ2dWJsN3hyZDNzVG1x
cGJyLzVpRTlVdTM3cTdxalZiM3lZCitaek8ra3B6cTJ2M20rOUI0OFVkK09JVDkrSldzR2lYUy96
OTZ5NS9kVGNXNmhkUDJaLzNaNFlCN2J0QmpabUJIUnpsZ3gvOFlIRWkKd1FhaGsvSWdOUlk4Q3U1
aEcxOTlGdmZPbFQzdW9ScC9qS0dEMjByaUhzZlBlTVl6TWd5Y1dPSU45QXY3K0dNSG5maEtNUnZI
clNxeAo2YWNGdHdlTVZ5cG1ldkg3dXNXOVoxTTl0T1BuZXAxNEpYSlhGNXNMYnIrSWpSNEY5NGRH
M3JqL01mQnhnTVdiTW5UMWtVZjhMbWNICmQ2MktyNkFMbTBFZWNJL2wrTlo1NWsvY3BEWHc0NFZz
aGV0QlloZzB2elIyM1A4WTl6bFdIUEU3eXgxc1hQSHp6aUxtK01xd0U3OUQKM1lrL0pGR1k5WnZm
MUhmYk9SckZtc0NkbCtLcmtHNGV1SGN2N2xnMlNNRkdpMXVTZ2d0c3VQRTdvSjAvK0lNLzZKeDg4
c25GcGx4KwpnalNLdUp2aUE4L3hoaExaa3lERWhTZU51QTk2ZkhlaU1PMDNIN2pMVjd6WlN2ZSs1
dkFSWDgwVlR6US8rY2xQZHZxTnAvRzFuYy9VClp0RDFsZHIyYXJlWjc3YnhwdmRseDdHUVB0RkVE
UEVIWW9vMW9HTUVOYzRGbWdQb3RJa0hlbDVtbGdIdHV4Tm80RzFUdkwzaFpUUU0KZ0U5ODd3K2Z5
OFNUWkhFakJWMWNWSWVBdHhEeG1TOCtKeW9Ydk0yTTd4ZVBvK0J0ZmJ4MUZYL2tJT0NLWlZ4dGk3
ZTdjTUVQL3ZFMgpQbkxBRi83eG5lVDRhbmlvTUthVEgzNEZDTDlwR3ArY2RHODZnbCtKaWZmc0hp
b1dHUTA2UjdJYnBnWldmS2VtK09oQkh6OE00d2Z6CmhWOVh3bWUrdUNOYmZIZWw4UmUyaHZIL2NM
WVpkajdIc2I3YXpQZXc4UTR6UjIzaUdjYXYyd3pQQVBaYnpJdHZ3TU56K0xDMnhHZVEKOGFKQjdx
b0FBQ0FBU1VSQlZKZWhBaTcwK1kzZitJMmV1ZUQybWZFVlYvanFWNy9hVTg4SG5RRm53Qmx3QnZv
em9BMzRZWE1SVnYrVQpYR01RQnZBVm8vZzJZZkc5d241MitENXFmSHUrbjVxUE93UE9nRFBnREF6
QWdHL0FBNUQxU0ZIRlc3aTR6ekRlQXRFVnhVMjUzWGZmCmZlRXRiM2xMOGZXcEpoMlhPd1BPZ0RQ
Z0RBek9nTjhMZW5ET0h2WVcrUHdVbngvaVpodjRqblQ4aWNUaXU4QzRXUUEraDhabmpmR24KN1lx
N1l1RlZjcndDdmVlUEl6enNDZkVFbkFGbndCbllBd3o0QnJ3SFNOOGJJUEY1N3B2ZTlLYmlkcFA0
UG1HNTRPSXgvQ0RFKzkvLwovdHFmS3l6cmU5OFpjQWFjQVdkZ01BWjhBeDZNcjBlTTl2Nzc3MTlj
M1h6cnJiZUcrRjNORUwvT1U5d0dFbC9jeDA4Qnh1OEJQMkp5CjlVU2NBV2ZBR2RnYkdmQU5lRytj
bFJtTUNUOWxoMzh2em9BejRBdzRBelBMZ0YrRU5iTjhPNW96NEF3NEE4NkFNMUF3NEJ1d0x3Um4K
d0Jsd0Jwd0JaMkFQTU9BYjhCNGczU0dkQVdmQUdYQUduQUhmZ0gwTk9BUE9nRFBnRERnRGU0QUIz
NEQzQU9rTzZRdzRBODZBTStBTQorQWJzYThBWmNBYWNBV2ZBR2RnRERQZ0d2QWRJZDBobndCbHdC
cHdCWjhBM1lGOER6b0F6NEF3NEE4N0FIbURBTitBOVFMcERPZ1BPCmdEUGdERGdEdmdIN0duQUdu
QUZud0Jsd0J2WUFBNzRCN3dIU0hkSVpjQWFjQVdmQUdmQU4yTmVBTStBTU9BUE9nRE93Qnhqd0RY
Z1AKa082UXpvQXo0QXc0QTg2QWI4QytCcHdCWjhBWmNBYWNnVDNBZ0cvQWU0QjBoM1FHbkFGbndC
bHdCbndEOWpYZ0REZ0R6b0F6NEF6cwpBUVo4QTk0RHBEdWtNK0FNT0FQT2dEUGdHN0N2QVdmQUdY
QUduQUZuWUE4dzRCdndIaURkSVowQlo4QVpjQWFjQWQrQWZRMDRBODZBCk0rQU1PQU43Z0FIZmdQ
Y0E2UTdwRERnRHpvQXo0QXo0QnV4cndCbHdCcHdCWjhBWjJBTU0rQWE4QjBoM1NHZkFHWEFHbkFG
bndEZGcKWHdQT2dEUGdERGdEenNBZVlNQTM0RDFBdWtNNkE4NkFNK0FNT0FPK0Fmc2FjQWFjQVdm
QUdYQUc5Z0FEYzBhTnVYWnRKOXh3ZmFmcgpkaUpZdXlzc05acDFPbUdpcE1zdWZXcnNvRU5uaFNP
UEhua3F0Y2d1ZEFhY0FXZkFHWEFHUnNIQXlIZXRtMi9xaEQrNllGYzNObTZTCms4Vkd5bmE2SVhj
Q1g0TG5HMnFJbXpZMjViSitrNitYdkdwK2VQM1BqenlWYmc3ZWNBYWNBV2ZBR1hBR1JzM0F5SGV0
VmFzNjRXdGYKc2MwejNUUzVzWWFwalRYZmxHMnoxYWFNVktsamR0aW9jOS9ZcUI5enh1eFI4K0wr
bkFGbndCbHdCcHlCc1RJd2hzK0FiU3RGNUozNApweTAzendSNjJEN1RWOFRVcEFRYkxYMnBobjNl
aG44dnpvQXo0QXc0QTg3QXc0K0JNV3pBMmhKWmM1dlZScW5OT2RYSlpSaWhSSnUzClNLVU5OMnkr
Q3BadXVpbEwyMnRud0Jsd0Jwd0JaMkJ2Wm1Ea2IwRnorK1FXZXZZNUliemxiWE5qL25yYnVFcUZ0
dDkwcEU1Vzl2R2wKeit3SS8vNVBXNktadHV2VWc3ZWRBV2ZBR1hBR25JRzltNEdSYjhDMmVYYkNB
Y3RuaGVlZlA0WVgyWkhUbTY3Zk5mVjJORjRUNnhYMQozazIyUitjTU9BUE9nRFBnRElpQmtXL0F0
aFZPaEZseDc1MHpaenl2VUdmUDVwZVh4dU5kOUhqdEREZ0R6b0F6NEF5TWg0RXh2RHpWCko3TzJG
WThuZEhvbGltL0Q0K1RZZlRzRHpvQXo0QXlNbm9FeGJNRFlETzBLNXRHSG5IdkVCVmkrL2VhY2VN
OFpjQWFjQVdkZzcyZGcKNUJzd044UHExNHZHUjhYTXZOSWVYL3p1MlJsd0Jwd0JaK0RSeU1ESU4y
QmVFalV6cjRENVdydjhkYVZINHpSNnpzNkFNK0FNT0FNUApOd1pHZmhHV2JwWEJLNVByM3h6dWRF
YnpxaFZlK0FZMGNVYmx0OWNrVGt6a09ZMEtNL1U3S3ArOTh0Q1ljTnRpRHFvdm5FRnFZQXdhClQ1
My90ajdxYkVjdEUyK0QrQjEzL0lxcExZNzA2M0lZaFk4NnY1SzE5Uy85UjJ1dE9ab0p2b0ExQ0k1
aVMrZG1FUHZVcm0xYkw5SlUKdzA3dDdFeGVPcSszOVQ5ZHZURnN3SGhGcW8yeEd0N1dyWjN3eXZP
M3hRSGJoSGs5TTc4clRGSTRwamJIU1p6czdyOW5kK2JqYTEvYQpIdjcyVHpkTkFacXZpWGc3U3hY
ekJ3a3dxTWR4czdGYllISWt4Zi9vTnc0UFdranZlK3VENFVmZjJWb29wVG5RaXZFS1h6NHdwamlF
Cmo3RzMvc05SNGVpVDlnay92SGhEK09BNzd5bDBUSThlMVlkKzZvOCswM3dzTCtuUkJwckdPOXFu
UFhXL2NONXJEdzcvOTlldW00cUwKT3NBU251TEV5T09ldnlLY2Z0NEI0V052dlM3MkRBZGoxays1
bEU2MU5uMnpCZWJ4VHpvZzNQYTkxYUV6cVZqTC9reitqSjg3S1R6cApKNCtIZzZ4Yy9zbmJ3di8r
emJWUkJsditTNkdjbHpqQ09NZnkyNlNXN2FpdmZEUXFIUFR6TWVpLzV1T3ZDRXNPWGl6bHZ2VkZi
LzVpCldIbmwvWVd2T24rV1YrcEt1S3d0VDYzRmZJMHNPK25BOE1RTHpnOFgvY1JIQ2h6b2wyMkFJ
L3l6TDNoeE9QUzhrMkkvTDlmODFWZkQKblorK2ZNb1dZem0rK0lYdnM5Nzc0MkhGazZyemxYdXM5
cjc1N0F2allhbFlPUC95UzIxZzV2bkxpK1RVcDYzWklHZjVsVVVldi9MUgpLUFdiN2FSZjVqTEhz
VGhTZWRrR3Z1cjhJWmJVVGpvSC9mWGJ3dmFyYmdqci8vRS9wK2FEdkZBZmo4YVJ0VTB1Zk9XSUVl
blpHR1hMClB2dVJzT0ZYM2hJbTcrRTZ4WGhxWi9yRVhQejF6NFlKZkRWbXFuUjI3Z3hiWHZyYU1M
RVY5M05nS2RzQVc4WEdJTEc4T0U2TWxCUHEKSXlZVzFlaWhEYytTZFQ3eGlUQng0SUVZbXRFeWxn
MllyMHF4OFNrOXkybDMzRGN2dVJoak9Nbmh6eGFZU0tXVkZncjFTQmRKMS9pcwp3ai90Vnoyd08z
em40aDJGaE9OMkgybE91ZUhZK09ENGxra0lWMXk2TmZ6d1cxZzhpbFdMQUZyOThLVTdGZis5TzRz
TmVPMnFYZUhLCmkvRkVRajU3NVE4Y3kwczJsaC9INi9Pbi84WDd6Z21iMSs4SzExeThiZ3BUdU5V
YS9nODhha0U0K3ZRbFVYOU44a01hMEFVcWN4NEUKbnpHbldKMndZTkhzY1AzRkQ0YUo0cm1UalpW
MWtkZThCYk5yTitCMTkyNE9OMTk4MzFST1dJbkdFK016dnhnekdkdDRCMGU4YWF5TQpEem5ITkVm
MStVTm4xemI3Z1pMWTdWc2VpSnZ2UFJmZkVhT3dPS2FEWDVmL3prMDdpcmp1dS9pV0pIOXlKVnpW
d0w3dGt6K3MzWUEzCjNMSXlQSGp4elRHbjV2d1YrNDZIOUNTNUx3V1p3cXFMNHhPK1NmaFA1MHI4
UzFiR0IvT1VDZC9tVERaY0YrbGNBME41cTRZOWZmUmEKUy8zeGtWU0tKYitwYkRyNGsrczNobDEz
M1IrMlh2ejlaRzBDRmZraWgvNzRhVXk5OGcrN2RvVmRsMTBSZHQ5eWU0YkZZMEw4R3Y4RgplUEl3
K2FOcnd1NHZmNjJZVitSZnhpckxNQzdmakxFNi8zQnZPdlRKY3hPc1dUQ09OdVZUT3R1M1Q0M09i
TVY1SHltbUZpcHBhSFpOCkdvd1dhdEphYmRJa25kU2pTSVNtaUZRTlN0VkdiZlpWRHhvaklpY0dx
Q2djUyswcDErUHFCM1psRXluTUtqNHRiRndlZ0VDME5RL3MKbEhCSzBodGYrWk1oNW1YK3kvazM0
elBqTG5TQmJmbFRyaGhUOWpBQ1BjTTNURWdWQzJyNWs0eGVVdzlWaWZLakZqMlU3U0c5K2RJSAp3
L29IN0JtMGVXSXJ0VW5iSElVSFJaZExtdkZ6RnNBTi9hcUdIL2lrWGhXVE9QMGVoYythTWRJWEpQ
UU5IM1g0bkMvcTVQaG1sK1BiCkhNRlcwVnROL0xzK2YxWFl2YVA2UklKZUxYL3prQjZiUUd6Q3o2
TnA2alhuRDRzNmZKT1piZFU3eHBnaCtXVGVsQ0ZpNW1PNXBIbGcKckRuL0tuNGRBOFBoQzlVaVo0
NXBmc1BodzROaWFzNS9Dcitia0dHSnIzUk9xckhGSjZWZitVYmNmR2xIem5PdTYyVE1EcUJUK01u
TQpDYU9Ncno3R2FhVWFJeFkzZmMvczR4ZzI0UDRKaUJDU1dDYXkzcDVhWEJpYUpzbk1INllNLzJu
Uk5PS0E0cGhxNGRPcWJKZjYwSFRuCnNuV3JkeGNUYXY3b0tkZVMzOTc0NjFhWFQyektqdDdVczZX
ajZNVUc5T3J3RlUwelBpMFZwK21uWEFJZkdzS0hGbVNVMDVZOGxQMUEKRTZVWkh4YkdZYUZjNkZm
eDdXQ0ZGckIzYk5vVnJ2M3l2ZWoyS2RQRGgzUEZxQXg3NVk4eEZPbXlOOGdqbVUwdERKOWVtL0Fs
aDYzaAptei81a1cvMlRaTnkwNWZlcG52WGhwV1gzYTV1dDVZL2VzQWNjVzZnWUY0aG5WNHhISG9W
anNuaHZ3bmZzS1V2Q2ZzV3FlUnA5SkRKClRuVTlQbk5YdHZWZWMya3p2a1ZTeFRjT0ZHZnFkWEQ4
SEt1dXA3elRlQ2VLNjNtSWpFZjhHeStLck01YjNJRC81NnZGZ1B6V2EwMUoKWjVXUFh5SXh6ekor
TG1XdmJBKy9QSnNCbng1NlJqQ1d3VEc4QmEza05SWFZ1S2tSd3V5NW5mQ3ExekNFLzgvZWQ4RDNV
Vno1UHpYTAprb3ZjSzdoZ1FpODJEcjMzWWpvSmhKS0VjSkJjR3BkTHp3RTVJTG43UTBnQ0thUVFr
bHdTSUlCRE1RYlRlelBOQmd3Mnpiampia3N1CmtxeTIvL2VkOTNzN3MrM1g5Sk5zeEk0KytzM01t
OWRuZG1kMzJnSUdGMG1RV0dGd2o5S2dTZ1VPVE1IYmE1OHFhdGxpNVkyZFVFNlQKRDZ6S1NxTnk1
QW5FeWxPNEsyZmFMUnVNSkxmemFXbnhhRU9ERExPWFYzZzA1ZHk2akR6aDVkS3JubUtEbGhOOStI
WWp2VDliNXBEWApyd3Ayd0xCNTVKaHFtbmhZUDJObjJPWXdML2d1Q0l2NlNjdFhMMm1tT1Urdlp3
cWxzVTJ4Ym1ndm1uejhFRjhtL0xGaS9pWjY5OFY2CjVtOXJTTko4M09qb0d0cnp5TUZBOCtWYkxB
c0xsaVBuK3R5ajljc2FhZDZUUE96c2M0RnUwTmlqQTg0Yno2ZXEyUkx3WC9aV1BTMTUKZmEzQm1Y
WDNRanJvQzU4QzA5Z3dmSmM2R3ZmcG9YNFp1QzU2WlNXdGVuZDlaamhRN084M29vWjJQbWI3REo0
NzlDc2c5VitjZlVHWQoyRGJ2M25lcGRSTkdObXlkWjVqbmpLUnV4UDd4eDA2Z3ZzUHQvSEZRRmxq
QlYxYUdwRzNkQWdNd2NHdGF1NWtXUFRqUDBBaWQxQkc4Clc5VzNpblk0ZmU5TUdVY2NRTFB5eFE5
bzQvdzFSRHg5dEdqYUd6VHkwTEN2eFRQNEhiTHZlS3JiZVFTbnJQd1ZUODZqNW1YckRDOHUKS0Rw
b2U5ait2RU5OZTNEOXF2WlptTWdYellKdHpTcmcwWXBibjZBeUx0YldaV3c0OVFDcTdGL2o2SnZN
SzVsL3h0OXZMNkRHMmUreQpTT3VQOHY1OWFkQ3BoL2hxYU4yNXZGeDhUYnZsbWthODZlSG5xR04x
MEw5NmJWZnY4U25xTlhFWFk0dlNRTERLZE5OdWVaTE1wcW5UCnFZeUhhOVZmUEtscnVBRy8rdFRq
cVl4dFUxcndicjExS2kvVVFzcTJUK1E2VnEraHR0ZG0rM3BWZnVZMEt1dmQyOEh6cUdQR3cwVHIK
MWd1c1Z5OHFhOFl3TVYrWFo1NU9aYlUxbkpiMktmSXNmN1ZkN0JISlNHdGVZKy91dTZtc3NTbmdD
OE8wRzMrNm9BTVdSL2dWRkdzTQpYTkJCdmZnN0RaZGRYUjNDc0EwMVZKQ1k3VjlYUmc5UGErYXFB
UzB2TEpwVVJkKzd1bjhpdmxTQXJiQkV4RXpCdEZzM1pOcVBwYWxmCnk4UFAzUDlDWHI4QkZmU05x
K01uOExQSmV2Q1dkYllEWG0ySG9JV21qTWJ2WGtOZnZucTdYT3B4ZVdFK20vM1lPdE1CUTQ2MVNN
UmcKanZmelZ3ZHZzQy9jdmR4MHdJSXRGTnJJUisvY2g4NjlldGRFSGNVV0xRNUxVempSWE81ODBR
RXJYN1FmdmdUNWwrak1xeWRtYnJnVwovNzFuVnRCZkxueVdBUjY5KzlSSHRHbHRNL1VkakFzNEdu
WTRjQVNkZE1Ya1FNR0RWNzlDcTdrRGRqVWFQTDQvblhUMUFRRzhhQ1ovClh5OTRjbUdtQXc1Nklj
b3pDaEg3UmRiZVg1cE1vdy9RQjRNb2JoZ2kwbHpMTE1hYU9SL1JZdE1CQ3d4WWl0bHJRQzN0ZC9V
VWk1eEoKdmZlUG1mVGFmOS9QZUI0dG5EYWI5cnZtRENxdmRML0JMUnhRdnQyVXZXbkhMeHdVNFBI
Q1JUZHpCeXdQZklHQ0FqUFNOdmo3MzFmegp3aDErSUVzSzJld1AwNnk0N1VsL0pTOWFIUDYyLyti
cFZEdGhaQmcxTnA5TDFzcWJwbVU2WU9FT0psV0Q2MmowMVYrSjVSY1B6TjdtCnRyd3puN1p3Qnd6
ZE5Xajc2WDNvcDJuUTkvNU53WG5FMldVMVAvQW8wWllXbG1RV2FHVDRpZHlhYjMyWktzWUYyMm45
YmYvaUJ4encKRE5aWCszTXZFbTJXbHc4YU1ZeXFyN21LSjZlZEFkbE5tNmo1N251WmY4YW1taHJ5
bXB2TlhhSGllOSttc3VIeDkxczFFTkpBNlVwVgo3L2hsano5T3hCMXdHRTk1ZEVmY0JSMndtS3pH
SmhzaFowV1BHKzg0UFJrNXJ4S1JYRVo5KzVYUm1QR2xNMDBhVDlDaTlhdDErSmxvCjBOQUsybTU4
cjd4MGRKSEc3RlRObFM4TnZwNFhYMm1RQnVGUkRTOUdHalUrdmxOUjNHTGloY05WVjIyS2xnc1dO
WTBZWDJzQm5Cb3cKMUQ0a3VSY1NxSHZWVnREdzhYMEMrTVZrUHByWFlNamt4b0drWHJRZURSM2ZM
OUlCMXc3b1JYMEc5cUxONjdkUUV5OGltL2Y0UjdUdgoyVHRFUk1PL3ZmdjNvaUhjdWJvQk1Mazg3
Y0tacXBwS0dqeSt6a1hyVkxxOHN0eXYzOElaV2Z2N2p1eEhBOFlQS3B4RkRFWHpPbmUrClhPb2Z2
L2d2cjZxZy91TXgraEVNTzU3emFacDE5UVA4QnV6UnBvWHJhTTJzeFRSc3YvRU9rbklncWg3Y2wv
cU50Nk1OUUtxc2hhK0QKMTQ5RG5IZFNwSlJSbi9IREFxdHA4MllRaXlqWEgzZ2pvUDMxM240bzFZ
elByd01XcXVUZnlrSGE3c1IrOEM5alAxZVBINTFNVkdDSgp2RG1xQlVJczk1QXlxaGpRajZyR0J6
dkZBdGtIME12S0sweWJWcUIwK2lLN2ZMdFJWREYrckJabGpkc2VmdHkwT2JTTHlzTU9wdklKCndX
dTNmY1pEdkRvYXUyVzRUbXI1ZmxRdDl5RGp2ekhiVTltb1VWbjVHN29NaG5wR1k3K3NzcklUMTJk
TzhYa2hsSzczODhYcGhhYXgKWCtBbjdKTmFNbzZQWEZBQ0xpNDFUMVVneUhjOXovOENBb21EaHZL
cmZCRmg0RkE4SkVpeldML0d2Z0dERlhoYlB3RlN1bUQ1cWdYNQp5Qkw3NVZlMHR0U2wxdzI4clo1
Ui9uMEdWdE11UjQwMDNvTUhNUXhkZUxBV1pKTlZPTi9PVStTeXZ6TVNySzFxdjMwN2krUGJmOEpR
CkdqeFJSbUk2MmpwbzBYMXZCTkNrQlV0SEppMDNVR3d5a05TNUlCdzZ6eWVzQmJTMzlsdmZoUEU2
bDdkNjIxVG5PQWFwb2JmVWc4SWgKcC9TeUxGZVJoZzRSSVpmZjNIS1B0OEswUGZwVWhxYU1Lazg0
MXZCd2Y5cnVtWjRadXVZSHcwTU9Jby9mamlHcjFCYXBGYVhtNjlxUwpMZDBGSFRCTTB2OXNva3Zm
UEtTUzg1T2RYYk5ncWR0NHRHVGRxblpPb3RyS3pCdXd3Z3VKQjNESExRMkFDTnVQTktnRjJyZ1ZY
dXBZCnRNL04xZnBWYWxZb1ZIT05jL1BKQjhQYURsblplVTg2WXh5emxJdHkzbVBMcUxHaEpTSWlH
NDk4N1k4d3pSc0E2ZGx0U0dJbGZpaU8KTm9sbkhGd2taUGNFaHB2SG5vSzVZYkZtNFQyemVmckZE
a0dDR3NGdEp3SXA1Vy9YZUNRZit6dGpSYlFHbzVETzhGZGFjQTNlcHdBcAp2U3psR3VZY3pxdGVj
WEhIdkhlcFkvRVNVMVRHYmF2aW1DTUNhRjVURTdVL3dHL0FHV2o1R2FmNmFZVUZDSXJNU0xzRngv
RERTNUVNCml5QXJlUWNzRG9KcGVsbEd0WkxMR0VhWDBwM1MzS3o4cU54aUllQVoxblVkcjFwV093
WU1jZWZEOHBjeWNBaUdRTVJURFU0SGpBdEoKNE1rK3pGOUtGRk50UWF3U0ZCYkZkdjFxTDNKbzJC
VytoalQxU2ZDR0V0VnNqK05HVVhVL2pDSjR0SG50Rm5ydjZlVVJwR3c4MUg3SQp5MlovaEduZUFF
aFhEK2ROWkJEVkI0VlI1WWR0YmJXK3puVWw3bkRtSkhhUzJOUHcvaXBhKytaU1I1amFtTXpGeW5U
SUNraHFXNHZ6CkowNVRhbS9hVXRTLytsazE3NnllWVpOVVgrV3IrVEJlNS9KeC9sZkxPc2M1VEsz
NkIyT1ZIOFpHWHNyVWZrQmFIM3VhbDBCakNvLy8KOXR5ZGg1T0R3LzBkTDh3a2J5WFdnekIxZFMr
cU9QbEVrSEdBMUd5eUJDdmZYOXVtOHFVb1BWN3BKa296dWxuM2FKTk9VaHJsRmpzSgpxeEI0Tm01
cmVjNTIzUnI3MUE2K3R2dXhVc1pNcUtKZXZhSzZnN2NMeFJ5d3dnWU5LNjREcmh0Y0lZc0lXYTJO
OVR3czA2cjZvV21XCi9nSEZXbGxvU2p6bDJwK3Q5amF1YTZHR2xUSi9FeWRKK0FScmErMFNtWnZV
QzB4d3Nra2g2anVrTisxOCtBaDY4LzdGUnN5c3V4ZlEKeEZQSEJrUzZGMzZnd01tSUxBZFF3cVRJ
RDlxYUQzdm8xSlY2NWFPRGkxTzM4M0FhdE1kb1dqZG5HWG5jVGhmZi95WU5tVGpHUVlHMgoybjRk
Y0NhSmV1Mk1QWEt0eFhQWXNyS2VYam43T3BZa01nUUxhZGZ2V3FaNlpNcjgwOVpFVVcxL1VRdUtn
Mmo3VS92akxlRHA5VTJOCjFMSmtwVzlEa3JTcVVVT3BvZzQ3STl3QXJ2aDMvWjhreWFVckpxMnlo
RmFrSk12Uzl1LzZ0VDJ6L1FnY0tvODlrc29xZ3ZmUHRudnYKNTBONHBINHFEdVJGa2Y1OGI3d2Nj
NXpsTys5RWpJbkhkdEQ0SUpHdEhVcmVBVXVuQ3RQUkdPSmRnTW9vK2F1M2taWXM5ODYvTnRLZgpi
Mmp3TlJMTlVNbjJnZ1RzcmhkSDBlaXh3VGxkWUVIZnpDWExLYUsxS3pFRUxiQWhJNEw0YjczU1NN
c1dCSWREVmQ1aHA5UlI3eHF4CnZxcFhPZlVmV0U0YjFyWlRPeTl3cWVjWVFYQjUrOGZTTGZUWW5X
dU5sQXBlOVhua1oyUzdqMEhpbjgwYjJ1aWxoN0JNWDRMSzBEemkKdm5VVnRPL3hRVHE5R0NRV3E1
Qld1UzQ5MGxvbW1JcUZXRGtGS1Y2NmV4bmQvdU8zTS96MHhnY2NleXFPNmlvUEd2eFUzQ3kyQTBz
NApJNVdzazhIajgxdjNQMjhDZDhBWXp2TG9qWHNYVWZQR0Z1cmRUeGVaSldrSWFpblRtelFzMmJp
eWtXYmYrWjRVWmpEVVdtUW5ucjJ6ClU4YUxRZmtrcVhkbWZHaGd5c2NpZU5TeXVkVjR5T1ZoeTdP
bjRHdjhKOUYrTUgwZXRUWmgzVURVUjBMRDF4Z3Y5dm5VR1h0R0JHbDkKaWdTaGw3cU5vUHFBaWw2
VnRBTXZ4a0lIRExvUGVHWDBwTXVtWkk1bGhVVHdTZElXZHFETTdTQjgxbmtuck41Qmt2Ym1WbHIz
ckI2bApxdjRJdGpYUkxBZ1RuYTM5cXYzYWgxNmhUVy9NZDRRb1Q2SitrM2VpbWduQkJWUU56N3hP
TFN0MEcxRFFrNXZmZk4vd3lXVi80NnR6CmFjRjVsekd1M0J1dHJaQ3Q4ajBhL2FzZlV0MW5qM04w
MHlSdzFBSUwwNVFiTjcveUpyVXR3RFdEb0x3bFozOTU4ZUl4aDFMRm9BRVcKNUtjc2piWFdwbncw
VHFnZHFsdkgrbnBxZmZvNW95dFdVbGVlY1lxTFRoNXZjV3E3NHk0RGd6VVY1NS9qTDdoVFhnRUNa
RnBhcU9QbwpZelBXcTI2aWoyb0ZYa2dIWW43TFJnaDd6UUM3NmFjTE9tQXhVUjBlWndmS2dzdlk0
N0FLaDBrRnFZdUQ5SnMyZHRDcTVYYkZxM1lHCjZueTVnWGJnZExWSVVJNktDNFIxbVNGajJES0Ez
MlRkY1BmTjYrbXh1N0NxMXpZRzRlL1JycE5yYWZzSmRsWHh3Q0ZWM0FHTFh2V1oKclVqYVVONmIx
VWpYZlcyQjhWYXYzdVdSRG5qdDhoYjY1ZGZtbTNKcFhpTFB2V0RIN05JbjBnRkwzU2l1V0tVdzF3
NU5xLzJhUjZ3WApnOUM1SmR3eGJXNmpodVd5WjArNFF4YXNVcG5BZCtzQ0Y0RmNLaXBMdFJLN2d2
emQzSjRuYmtmVmZTcE5aNGM1WUt5R25uVDZPQjhsClRqOHBWRjJzcEZYdjFkUFVyejFwaXEwK3Fu
dTBBMjVjMjBUM2Z1MVIzemExRHd6QXRYazk5aGlxUlladDNqOVdiOUV2VFBqTUZZL1EKeHFYeVFL
bStWZm5JZzZxNnJqcTJBM1oxa2pSK3hmOWhPVzUrL0JrVDZkWExweG5RaHZrOERQMzZFaG95YVl5
UkJTRGF4TllJNmlGdAprOUpteE8rdXJYcjdGV3YxSlVDb1lUKzB4MUtmRDYvOE83K1Z5VU95bEVw
YkJkOGRmL2FWU0FlOC9NWjdxUDd4VjQwSGdLKytORHg1CmFOd0cwY25tYmFxanVZVmFsNjh4RC9v
WVd4TzViZ3p0K0s2WldSbHNLY1VxNVBQMS82WmJwOUhHVys3TnZBU0pETEZmZlNLd29ZL2UKbXRB
QlcxbndwZWpxYW1UVFFmL3p5UFBUei9OK1hteGo4cWhpNkJDcW1MU1hSZVpVTzNmT3RHYU5jT1dI
UGp2OEhFQ0xacGF2TUR6Rgp3Njdmb2o3WCtoZTlzMmtmRlZOcVNNazdZRFZLT3RoNDQrUkNRWm05
WVBHUmhsVXJyZU1LTWJSZmY1V3FqVEZlcmpZR1Y3NmtwVUVsCk5TVm9hU1dJWnJJSUMyaytqR0pZ
MEkwcitWeG43Qk1HalZ5TTJzaUpOcXkzYjNxZ0hqQ3NpaGE5SzN1WTEyVU80MUR0VzFzNlRPY00K
R2IycUZRb3FDVGhYZThOYXZBV0pITWl5V0hMVDJGUXY1VUlodjdCWkxKSVVvT29Id1FqK2FpMjUv
bEZmZ2pJYTVISzJ1Z2lPMG9ncwpsS29taUZWM0s4WENvaElVVWxQWGkzWTVlaFM5ZWQ4aXRyMk1a
dCsxd08rQTFjcFlIVE5xQzQ3STcyajFxSkhua3JYT1FDYzJhS3hTCkplN2dVUXQwd2dqcWU2RUZS
RzNXTmdCWUlRSDBHU1ZqeUpyWE5WSHpXZ3piaTI0cUZ4dWZKUEFWaUFZU0UxeS9DcmJZSDRNYUFO
WHQKeE1QUWU0Nm05WE9XbWtNNUZrOS93M1RBS2hHVzJqb1BrTEpXdUxrbmxRWnhrM0xDM1VwVFBB
dVJOaFZ1MjRLbm5RczhKajREbmRhdgp3b0RiVnIrWmY0R2o5YTQrNXNkRzdqekNvYlZoTTdXdDVi
TUNPTGcwV2plQ2IrVkxQdlJyOXNwYW1PaWpsa21jNUYzRlVtdVVpNFVyClJPS09UWnZKVzF2UDU2
cW9YY0NVdEl4UlNONkxleHN4bVBLZ0FtN1FFOWhKTld0MWtCUk92MUpmVnh4MUdKVmx0aGVCRjBJ
N0R6K0QKSVhBcUR1Ymg1K0hEcFlCL2srb2ZDS0tEYUdIclZPcER5aXk5eUFjV1N2Q3Y5Q2JaclQv
Qm5xTUVvbUVjL25KZGJLNnJJUGExbDl2cAprdlAxaGhKcytLS1dOaGJrTkMyeXZ2aVZHaHExbmQ1
NkJDWTB3Vit0Q0VDdGZLbUFiSlVyWmNIaE0yeERRZ0IxZUJIV0JwN1B0ZnpjCjVzQ24xdFFIWDdH
VkZ2Z052QldwdkFLWHNOcHZSRGk4Sk8vK2lrMWlnL3lpVlAxdklTNE4wb1hiRDZxZ1hnTEJiekNJ
L3BDZzhzVW0KWUlsY2paRVR2NnEvcFBZc25lVUI2bWpBbDZrbW5UN0dkTUNnbmZQZ0VtcHBFaCty
TEpYbVVzc1hyVVErcEVsN0ZlbldUcFREWm9sZAplazJERnRZaGdGcUN0aytWYkRYSklPUVpKY3NO
TXJCeVZSTlE1cFlxL0VHVDYzcUZQS3lHSG5mYTN0SUJjMzdCdjE2amZYNk1JY1N3CmZHQkhnMkpG
Uy9LRlJOdWZVQ3BuM2xQS0oxaU4vZkp4dnUzaUF5MVhuMGplTFZ2KzE0ZXBsVHRSMUtGMG90WjdG
cy95Q1dxc2NJbUYKaDhpeVhNUkwwcGFDMUNhWCtSeGU4ZkloS1hpUGNtVUhKYUpFTlpGVzY3Wi9h
MytVUXhRQ3pyQTd2aVFBNVllTXRvZWY4SEVyano4YQp4SDdBMTVIYXBrM252Rnh6RlRqeEt2Q1p3
S1Q2VjJ1Z0Ird1JQSkd0VjYvVXEyQnFmVVh2Uzc0eTNaUW9lUWRzWFpHdFV0UndkUVFQCjQvTkl6
WXBsNGtEWURneXBDT1QwNlRFSWc0UHh2NkhCNHc1WUpRc01WTkVnOG80N3JaYU9taUlIWElEKzU1
ZXQ0MjFBd2NicjBrcUYKQWxQb1ViWjJsYjU1UnJjaGJlSU9XQnVCOEpFR2hRc0VpNjNjNE80aHho
dndrSkdZVHc3S0FxOGtxL1F5RWw4Sm5meG1iNnpDVWZWeQpOWXFtUmI3QU5hMzJXZm1XenBXL3g5
SEQ2S0J6K0JPT3B0ajZEMW1wWTZGenl3ZVA2VU56SHZxSUM0TDRnaG45M2Z2a01WUlpYVTd0Cld6
cG84N290OU82VG9NMGVoTFBhYitXSUhtS0J5bGRiNHpoYSt5MHY0UkdIWFNqTTZoV20xSG9vUnI3
UWdMZm9YSWkrNDNnWWV2WlAKSHpEdHUzN2VjbG8vRjc1V3J5VnpzakxEbHVTZjF6cUxVbGo1VlFQ
NjBFNlhueE5GeVFGWlBlMEYwd0VMR3ZpSmY1RFgrayt1RFN0ZgpmU3Iwd2cyL2FyL1dteTNKcExo
ejB0QjdqeDFwNktYbmNoYjF3OU5kZjcyWG1sNTgwMmlrT01GWTlMVnRRVW90eHlDMld5cWFpN1l1
CmZaS2VDdGRZYUVSK2toU1VBcTlqN3J2VXp0dVBqRXdlNGNjQ0xEZDB2UEFTZVN0V0dWeVBEN0dw
T08xa3R6aGpmNUpWNGl1cXFxU3kKRzM5cjZJQ3BtbW1NQWswanhyOEpnMHB6MEkyeXl6ZnVnZzQ0
V3BsSnlyaXVSSVdLdytDUzRGdVJkWmk2SytQc1VKTUVCOFdOa3ltTgpoZWRoOTY2aTA4KzNwemY5
L3BwNm50UEZXMnQ4c0hCSnRiWHhncDE2Nk1nYU0yZ0FieWR5QTk2QXRXcXZtN285M2ZkLzYraTVC
ell3CmFsbWtBeDZZR2I2Rzd2Z2d3M0dmRzBTL2Yyb1h3NjZOejV2K2orUG11YXhEYVhoTXZEaGlY
RFg5NlA5a2tkQ0toYzEwN1lYUnc1SE8KN2dBQUlBQkpSRUZVVllFaFlrTXAxT0NpUGcxanVYbllM
ejZRWHl2ZnhSS2VnakZxbDc1MDZQbGozT0tjYVl3Q0lHaDk1U0xBYXVpZApqaGhKY3gvbTd5aXo4
Tm4zTEtUUmV3dzBIS1JWeFhOUTJ3Ky9kRy9hKzh3ZE1wWUZjWDkzeE5RZ0lKSVRMbjFIOWFYemJn
c3VLTEUrCjRzVndCWHdMV0VYa3RsOWtuM3JuK1ZRN3JJL1J2NFVYaHQxejhwOER0YVQ4NG1MMVFU
WS91WFNEOXRxTzZuWWFSZzN2OFRZUjNrcXkKNVA0M1RMSHdVVzR1aFUyTFAyeSswSlQ0STU3S2w4
OXZURlYxOXRxT3g0NUM5N3psQjd5TlNUNW5xdGVVWWkyNTRWKzA5bDZldTR4dApJWUtsOHNmOTdH
dlViNzlkbGRURWVOQnNXYnFLUHJ6Z3lnQThrTW04NlVGRzFjZ2hOT2g4M1hyRG8yWlB2Mm82NE56
eUF4d1Q5ZFY2ClFKM1hmZThTcXAxeXBFKzQ3cXVYVTl1ODk0MmxpdWNYbWdTZ3RrVGJUZmFhRnc0
dGQ5MW5WamVEdW55dlBTTGJqOXJ1NVhPbWRmWHoKL3Z0UzJlaFJRcGo1emNkKzg3M2g4ODgzRktw
bE9FWWhZTkJaeXp3KzZsTFRLTyt1RU93NVNpUlZISVVPS3B0SnVPSGJjcHRXdUZhcAp1Z2xWalRL
QjQxZUhUY0lYak9VVk5Fam8rU3pXcWpLcXFaVkZGc0JBMnhjYWxSbWtFenRFUGtvYTFyWGowNlJH
ZnY4QmZNRXdQemRzCjRqZHkxV25mSS92UzdHY3hwd1FJSCtYWEVId0QxczRiOHJFSUMvbTlEdTVu
OEZ1YXBaTlBzc2ZDK1NCMFhsbTl4OEZ5akdMZkFhalcKSkZzTWEvTmo2YlBicjNqUVgva2lsVFJz
S2ZnaWYvNnI2Mm5hdGU5bTZJS2QvSlR2N0VLMS9ZTXJ5STFpR2V5Z1Y3VWtHc3N3OURqVApBYU4w
RG05TEdyNFRqZ0MwK2thcHJNMkR4L1dqSFE0T1h1d3V2bXVQQzVjMHRPeWdxdXBLR25zd0Q4TWto
QXArb2k4a2lQZlUyMG1VCjRxRVJuOTZPK204dmRkOWNqL055UmFkYzFOS3VoYmZXY1pJa2hXTVll
c3lwRTJuT3p4OW1VQmtQUTgraW9mdVB6OGhVclJYYnhtN2IKc2REQ1V1Q2gxMytZVXV1b2JWTXpM
YjMxS2FjNDJPWlFJRjV6ZGVWMGV3ZU5PUGRJTHBSU2h3R3R1djFKa3hVYjNCS2JWdm0xdTQyagov
Z2Z2YVFzeXFhYjNsckQycnN3SWlnL0F0cHp5ek1jR0FOUnRPdG5vUlQ3dUYva0gwRlR1T0k2cUQv
NjBUMVRlcDhha3MydUtVc0VRCnVmQnAxRy9DVlBDZ2UvUDF2L1BsbU8xSHp0blBPQjJyRmR1UE1o
Z1ZPSHpES1FjWVBMVGNaNVJKK1BaajN2cmFueGxzRkVHNjBuaUgKSDA1bFJ4MEZzQWtLUjhaTlMy
bjMvSFpCQnl5Vmsxd2hhaGhNbHNwUkNHSkFKdXhVVGwrNHVKZkp1WTV4TDc2Wno3VFFvL2ZMRTZ2
SwprbGprZzFjNDJQSndTZmE4VnJ6cXNwWlB3Vkx0dFFOVkRxMjhrS2Rwczh3QjR5dEovUWZ5K2Jx
RFpKVTA1SWVIb09VNFNxSEdFRFE2CkV6NmkxSVFPMDdIRGF0aWswcVVNdjJxcDZRZ05uZUJVVkVL
U2FtanhveW5sRUMxeElTSS9xa0V5TlM0VWtiOXdWajB0bTR1M2Y3MTQKYkh6MGx5Y2tkc0NxdlZq
a2FoT2ZubmphV0xyajBoZW9uZmVvYnVEdFJCODhwMXNNc25FUUMvREduYTJEMVBxUGs0d3krTCtN
WDcyego4WWlqelFiTDEzNGpuenQzL1RpQ1BYODZtOTFoeWRyR3d2RDQvUGd6Sm1VNllGNncrdnBp
cWhtcVg4QkpsaWtseWVYeGtvSlFhVk5CCkdITENWZHBjNi9wTk5PZlNtd3dzcnMzRndaVGp5QXVP
anR6MFRWbm0yU2tmK1RqWnFVd3ZZR1VNSFJrT1RTRS9XMEI5Sm1Fa3lSZCsKZXMyNTNKTTRXUnlz
OW5iMTlUSlZsRjFUVzQ5VzIzaFpvbk5HdHcyYk12WENMMEVuQk9kL08xNTVqWWlIcDhFUEg5cEFC
eHdPeWlzTQpsM3hHQmo5SWVkZi8wc2dCSEpwQ004UmxWZnl3NzNUQUROcnFvUXM2NE53MkdTY2J0
TGlLSkJxOWZUbGQ5Rlc3VlNmS2tTZnp1YU43CmpEdGdoR0FqaUc4SWlpY1ZFc1JCenVvRXpHaXdt
cElaS2dZTnJzdkJvVU00Tm0vZ045d00rOXErZkdQa3hvUzl1R2dDV0JrZTZZQjUKRmJTZ3l4QjBW
TEpBWFBtS0ExaWNQVnFlRkZ0L0tZZjg3SWVlN2szQVVpZEo0aGNMcnFmMlZsa1JqamRGMEVDYTBU
dmpwM2hxWU9ULwpSTjkvZUEzdGNOQXdlaCtuWVRIZjk1NVlGczlXb1diT1RiVlJZT0d4c1NOVGc0
VlRaNk1RenJrdzRzcEJLWmJGbFVicld0cCsxc29JCk1CcTY3MWpxTzNZUU5TNWF4eHU0MjJuNU14
amhNRzczZncwZzhKUGJuZ0I2VENicEd0WDJiTm9uRDAyMXJaTWJ2V29VN0hTQkplMVAKZktUNTNQ
YXJuTEJxQ3MvTklVeFpXRjdsUktsRXNpcy9WLzFIZWVRUGdSNzZJR0Y5R0U4UG5jSzZlSHlRU01V
Qit3WUljUGdHWllhZgp5eWRQb3JLeFl3TGx5SWpjQ05nSHFQM2xHMlVWdStLTGZOYllmRWJSUjk4
bUVvV05pK1dsc2xhSnVpTktwQlhpTmlqYzJBSEhMdzVHCjZkdVhPNjdFLzNLekxVZm9sUnZrQ0ll
b1JJRm81Nkd4NHFsY2w1T1dhU3pXQ0liTUYwc1RETDhCYnpUZkNKYkdnczhVSXZRYkFEZkwKRTFy
Y0VMVEsxMzNBaGlqMEUrZE5xMU5VYzllM0lWYkd4NEJwQTBVNjdCUEEzQUJad0ZFOWJEb3FHM1JC
K2FBUysxR1dTeFp3UkxkNAozaWhmT21jZDNmOC9yOVB2UHZNNHN1WkJaOUxwNHprbE5NM21PN3lt
aUg5VWE4MUxyUFluU3duaXgrZEEzVGtPY1h4ejJWK1kvOE1TClZGL2JFU1hWQ2M1OFhqbnpRM3I1
c252cHVhLy8wekFxNTRVdVkwK1ptUEZxR2JYeHZET0NjRlhlQnVUOGlDd0hVSEF5U2NlZ1pKR3YK
N2M5cTQ4cVA0aVR6dG1vbTR3Zy9LOHZTdUtsYzViQWpXWWFVdXZ4c09pcGY3YmM0YmtydzQzQlVm
bHlaY2dDMTRvbnZreTFEaVZ6OQo5aHFzUFB3UStjSlJoaUZPc21xOUc2dWZ4WDRzdnRKaDl3eUtp
YXhNRjJyVG9wZmNPL0FyV3VrOVMvTVdmMXRJZGNFYnNEZzZ1N1BnCkduMGJzbTRReWtJY3BkVXJQ
TkJvMU4yV3EwMUpPZEgwT3hycG5Ua1l2aGFKcTFmSXZLeHRJcFltbUJJTURFRXJyL0Fic0x6aGl2
VzIKQTVhT0dEVGhOK0JCemg1aTNRY2NsSmtyQjUyaW1vc0dVYmpMTGVnOXR5UXBiV1dwL1hHeUs2
cktxVGNmam1FdkFwMHQ3cUF0alR3OApuMTB0SXh6Nlk4UkFMcUtnUHV1V2JxWmZIUDh3SDc3Unhp
dWYyMmpKbTJ0cCs3MEcwOFRUeDlMVTc3eklUVXRibndxSzR5SzNEbXRSClVFYit1YzV6aUpNbDlp
ZGZDL0IvY2xENzR6RmNiK1RTZnNXTEMraVJ6L3lSTzFuZUg4MFZ0KzlQVDZYcWdYMW9MSytHbnZ2
Ykp6SUMKUkpkY09tVXZqOWZWaFVxYmk3UGJ5aGZiMUg2UnFEQ1ZyMjhkNm9jNGpxNWNUU3U5NW0x
czVWdFlOSlZWamhtUmdRU2V3bnI5WFZwNAp6ZytZZ1ZBMHZ2U21ZVmFJZkcwL1VTMmszY2ZCQVZN
WjRzRTRqUUdUYTlQeWlNT1QwcHJycm1LbTJvNEZyM0wveVphVVV4MnY4d3J2CkR4Y1lycEJmZVda
MCtCa0VLTk43ZG9BQk1uMXFNK1ZpSC9DTXByeTFDU2RsaWM3WmJZL3c3QVpBRjNUQTBxeVRxMFN0
MHVhdmVZa0IKelUwYmp5c2M0L2xhS1dVMC81MVdXdmkrcm5qc29GYXVuMnhVNGNhb2U0QkJvL3Q0
bGI5MHNGTDUyZ0gzclZNM1l3NDRPS3phZjVDVwo4WG5RNjdsRDRjTWRLaktyZ0pXbjNrNDByekhr
bTBhbUFDZE9nanNvbkZRT1FXZzQ1OG9QcHVQcjZ2RFBqNkhKSjQvMDJZaHZwVll2ClArQnhQaVdy
eVM5TFR1QmlpOWNQQjJDQWg0d3I4QkdVOXkwMkhmQ2dNWDFwM0g3RGFPRk1PY2hkcUxPMUptREVk
L0t1WGtsNkFFZjgKREQ3NEwyVkl0bCtsSk5rbnJVK3hzc1hDSVp2Mk9PYXhlY1ZHWmlJM3Y2VVB6
NlVKbjl1WFJoeThJOVdNcktPbTVmV1plc29tQjJYWgo2aUVYclpTTG52Z05odDRqQjlHaHoxL0R3
R1FaU1RmdWx3L2xqN3Z6SlJubGFtVzRiZDVDM1ZRMkQ3cDRrSk1nS2JQNEMrVnRxOVpSCnc3UW5N
NWhzRTAvaFpBOVIrYlpkUmluVlMzRzZXSmkydnlBOXl0MzJsZW5tZ2toT3J2ZFh2dWprTXNsZVdO
OWpnem43bWVkdUVjenEKNkowK1pRdERLYXVmTGNCaEh1VnozN0lBVG9uOW5QajFyNm5zRjc4MGtB
VFBCK2k2TzJQdi9pV1RyTlhydXlEQ0daVW16bEJjT0V6Uwp5VlFSTnI2VGJhV0FhN0NEQzFLaG5P
ZVBlUnRSTzdkcHVTaTFTYWxPUVFxYnM3cWF4VktHRTc0RkhIU2hmY1AxTW5PL1JQMTVDRnJ0CjJz
UWZqM2RETlI4eDJZZm5pRGN6dklOZnhEZXNhNk9Cc2Q4WHR2S1ZYbmxhKzdVRWNSUmZTOVhYVGpO
bDdQenNWNjdpeWZnYlYwMi8KS3NKL1hPRHZlZWNoUzdWUDBDbnpSSzMyejc1bkVaMTgrU1F6REkz
RldBdG5ybUxSMmRvQkY1c2JubktJMHpRTVU4dURjUGdCLzZxeApTWmJnQjlLeTFZbTBXcFVkRkNq
dElkbCt5MWZ0eDVXUWpDL2N4ZjRQNzVwbE91Q0s2aW9hTTJWUGV1L21aMzM3cy9sQkpRVTFMU1Fu
Cjh1VTNTQWRkQnU2ZmZOTU9Zb2R6cW5WdSt3VXpUQzkxQUovcW0zVVV3NFhFV2NEbDVnMDRVK2Vz
U3NlV1Z1TlgxSXhxbUNRZjNLUHkKRStRWVZkU1hVUnp3RVg3Z0dRMkE0Vi92T1RxYXBYUmhpckkr
dWJlRXRmSDJKTkNEWjhWcGZMNTQ2T01NNEFtWkdFZExsRE5tVEZpMAo1QWZJV2RhaWN6eksxb1Rt
MTJZSzBoRE5SUCt6RThJcDRRREsxYXM4bWpHdHhmOWZ1U0xwNGdpNlZTb25XVFpLM0JDa2RrdUM2
WENsCnl4c3d1SG5rRGlHRFN1YUFSWWM1TXpmVHhVZk9wNS8rKzFMREVGRGJRUnVRK1hGWFFqZndF
WmJoWU8wS2x5QWZ0a3B4a3VCYXJoZVMKelNlbFhQbVdxNlkwVHFJdURnNnVlcEhIYzFDNVpUd0V2
WTVXdkZ0djBQWTVjMXpHSlZLZWpVZGg5YS95d3RySVkxd1kydGw4YnZ0VgpRckpleVcxRGFSVWp1
eWRzL1pmUnNrZm5VY3ZHWnNOZzdCbjdjR3p0dDNpV2YrbFMyVDJDbTNaUi8wYkIvTzJQczBlcHhm
NDREQmVXClVGK1pOMkJnaXFWYU43aE9WVUlDYllZbUtGKzV1TEx6U3l0bG5MU2tzampjZktSNUd6
ZFN4L3NmK0JaVThBS3N1S0Q4Tlk3RFNZSUYKL1pLRXRYWGd3ZGUzRXVnZ0RrS0QwVVlUWlNvM1JR
ejlXWGZhZEJuTmU3dU52bmt4dHZMZ3FjaWptMjd0UzhOSEJJY3R3RlZvNEY3SQpzZzFYWkJ1US96
TjhWQVh0TWJuS2tXaWZMSUV2VHlMeFp5NURTNVVGaHVpQUlSTlBaQU5EM3dMV0lXand4R0t0aHVk
MDZUMHNpYzRCCmcxOGQ3LzFkOWdHa2VId2lWeHVOazNNNFVHU0N5TmVjamNWNzFuNWJncFQ0SkFp
VG5Qb2FzV0s1OW9WcFhQbnFhN0VmbU1vaFRCV2YKQjNZMldVb2xYTFdPRkdwanlGZjdPM2hFNDQz
cGkybkV6Z05vNklUK3ROM0VRYlIwOWhxRHJQcGFTcHNTKzdOaENLNXJ2NlhXRkRRdAp6QWRLbVMx
V3JtSmpGTk5xSFpVdHZsRU9VVnJyZjZsL1lHWjdFZ2UrWXJZME5OSkhqOCtqY2FkUG9sRkg3a3pW
US9yUWxqVVlva1pJCjBqYS9PaGNlOGI5YTE5YnVlTHhDb2VxOTNQYURzMktIcFNnODJYNmxTTksv
b244ZnFwMnNCM2lBbjIzZjBFMnYxSW9oOFY4bkV2NnUKZk5WSkpidXg0RWs3Y09GU1QwcXBzWXVo
K2dmak9FeVhLa3U2YjE4cW03Z1gwY3U4RFlsRHg4eFhpRUluWUZscVNDMU1GckRWV3N0bgoyMG1W
dkFPMjduRWJRNXpCS0xmWWdpSDV0dFl5N3VTMEFXYm0wR05ZV09lNjFER0lERHJyODdWMHdobXl5
Vnd4dEZGckh2R2dvYkpnCnlvVWg3Y3BhdTFLMjFRQVd4cmR2dUd3ZkR5dDF0SW1ka0lYVVp2NHFV
M2llMXgzR1hwODU0aEl5YllqVE5PbzlpNDlVbkgrREdQbm4KUkQ0NGFpaVd1OHREZWNYRmdwY3NK
Y3huMXQwTDZmanY3c1ZuYVplYmJ3SXZuYjJXMmNMblljeW90SHd3Q3Izd28xSUtnMENuM0hyRgo4
OHpINW5qS1pLaTBmOUZvd1YyelRRZGNXZE9MdGp0aEQ1cC9DeTk4TTlvbWpWU2hKdXoxbkN3bHVj
U1ZuNHpWZFNXNTVjTTN5ZmFyClprbDFpczUzd3YwM0tGcGlYRkdIUGRmaEFLNWgrVW1Tc3JjcmJl
ZlpxVzJwUFZNOXJGTitlZEJYblhvU3RYSUhEQiszVHJ1ZmV2Mi8KcXhLSXJkd0VoQWpZVW9EN3Ro
ZEszZ0ZMdHdDejBSaXQrYTdwcU9Ud0U2ZFVQRzcwdGd6cGVBNldtN2hWc09UR0V5KzNEKy9KN1JQ
WApkaTJyeEJSa1FGK3RRdmx1TDJUR0RVRmpSVFhLNUdLME5zQTJmdXRuSm8wYjIzbHJrblU5dGpJ
cEhvNmpEQWNwaS9jRWRJcS80YXEyCllXNXlNd1FVZk5VcWxSL0ZGanl4RnFXcWgwQ1NwY1J4RWxn
MldVb2xmTFBWdjVVUCt4ZTl1cHJXTE54SVEvaFVxMzNPMm9IdXYwcWUKcU1WRzVScU1SWS9jRm1U
VEY5VHgvZy9LS2pRSHZzSTdubEpsSm11ZnJVVDlLbEpzM2NiTFV2czFYdkxnSEdyall4dlJBWTg3
Y3gvdQpnR2NhYlZXbk9DNVNscnVEaXFOVm1NcGZlUE5qbVFNenJJM1JSMVMxVWFtSlJwNTlLRlgx
cjdVQWt4STh5eWxVekZuSVJkRFlaQUkvCjRzRnM5Z3Q2c3BUeTZsNVVQbUpJZ0d0aEdkZ0JQZHdR
TDAvdDBOaWwwSFE4cFMxVlNSYlBwaFFyMzdqeTlKT3A1ZktmR08yOTk5Nm4KampsdlVmbWVlMFRJ
b2EvS2pSUW1BRlFyK0FicFF1a1QySllNYkh1QmtyR0VpWEdOd1FvUVp3UXZSbWs4OW1JQUY4Q2lG
NWJsZzVUZwpDRXdxU09RSHNUcVhVNDRtNWxyVUlXamt3OThDSGpXMkZ4MThncHpMSzdkUWtTMTJp
SDA0Uk1RTkEzalJsZGpmUVhGdndDcmZwZEYwCmtvK0VYMUNPU3lOMVpEdVA3UGl1SmNKRkx3YWhV
ODRTdnpyOUkzcmlMNHM0b3hjTVl0Rmw0MXFzUG9kRndmb1BjdEFMSmRseVZ6NTQKNDhDUE4va0l5
cU8rc1R1TjJIVUFqZHB0SUMyZnV6NGpLOHdkcW9sdW9ndmtKSWRzcGFCWDI1STVGRjRpZW9FdVhq
cnNsOUs0Y3RnVwpCemNrbVRLWHZqQWJ0cXpiVEI4OStTNk5PV2xQR25YTWJ0U3Jyb1phZVdoYWRS
SXBYZmY3MWc5dlllWmFmL0FRYkpGL1dLMzFnZGoxCnd1QWo5NHJwZ0FWRGFZclJXbVhrdGgrWTR2
ZGk1Q1RSNUM5Zk9HaHQ2K1pBbDYrMkc0M2RNamV0dGdKUDVidmxtbTY2OWxmK3RTWXcKM21aMCtN
RlVlZUIraWtMbE8zK0t5bmZibVQvVzhBNlY4dzZIdHVrUFVxK1lEdGduQ0NVODNtYlVjYzY1RE5Y
NmR0ckd1M0pJVEZmNApQYVJHVWRtU2Q4QlNHV2pPdU1IR1Z3MHFUNnJOTnNhSms4dnA3b2Z0aXJs
ci9ydUpYcDBaZlJ1TVdtbDVRSnJLaitJVkQ0RUU1YnVCCnR4SEpDdW95cXUxWFJyMzVER1kzbkhY
eFFEcjVncmg1R3VYQkI2QVBEcm9kQzduVUovRnZ3SzZFY0ZvdmhTQmMrQVZobWhNS1dHUnAKcytN
THBYdXAyZnF6L2xmK3F4YzEwYXdaSHhtZmlkOEVCK24yRm93UWFQMHJSWHljVFNkWHZ0YlBiQjZH
UmdlTUl5SDNQR1VzTlcxcwo0ZUhvY1hUQUYzYUtGMkEwUVZIVUJwZEErYnN3bTdZK3RMQlNwQ0Ex
V1MrdGkzanB1UDdpUzZBWlNxUmVWRUkyYkd1TDczTldhOUU5CnMwMEgzS3RmYnhwOTNPNzhpY0ls
NW96bzdibFRqZ3VRRUhmRGo4Tk5ncW44MXZXYk0vcUxqMkNMZHFDSWJadXphVk9PQTl4alF5SDIK
UnhuWVdsS3ZSbkVBeVY0YVQ1TVBORW0raFFlNWFQMGpUZ3BTRmw4T3FOYWxlaTdKdHFacmY4MFh2
Vnp6Y3FmMHFPck50d0lkTUk3QwpyTVF3TkhmQUNPMzMzRWYwWDk4emFmZEg2OStGbVRRL1RIc3pa
dmorbGJZZ0ZwU3hiT2dML1pKMGpQRHJSa0N3SnlpQllLbVEzQmViCk9NTzZaT0NnTWpyMFNLdk9I
MzlseTVMVUFnYWNLNjR1N0dhU3hETU9MaFV2RjYvdUFRWmUrTzBYc0Q3OUt2Z2ZxZndEaHFDMWNh
M24KRHpLRWc1YUY0Y2hMNDhKdk1HU2pBYWIxdjlCbXc1Y3lVT2tORFdrSlVjbTQzdmdoeFJ5T3BQ
akFrclRXcXNiS0p6N1dHbzR2QlJSbgoxNVpsdG5CODhNSUtxdjlvTXcwWTFZZU8rZlplZE9RMzk2
QnFQaENrdW0vOGxpanhBcDhkbTh6ZWxHVHpEV2oxNXArRFRSSEZ1ZTJQClk0cnJBWlQ0eng2RVAy
elFHMm9jdm04L3o1L290cFBGOTcvSmRkeEdGYjBxYWYvcnp6Rzd1aXI3VkZObDM5NXhMQXdzbDU4
VENmMEMKYlU4K0lKTlF6aEs3OXVmMmdkdzljdHNQVVNvbnUveHdxZVpCYmE4bGhaWWlGczdoVWFW
azIxRVNyNGw0QTM0V25MQjI4VHhWZmhpYgo4dzBiV0MzY080VXo2TnNlZXB5OFp2NW9TRy9iVmly
UE9JVmFyL21sd2VwNDQwM3ErSEFCbGU4d1BzUXdxZjdaR202TFVqK1FJM2h5ClhjSVNwSkpwUTBL
Nk5XdDd2SktKbGFxejdvNHlWb2U0RGRwTXhqdjNTUnpJblN2WUJpMjRJam1mRzA4ODV4WEwydWpI
WDExdEN0MmIKS281S1U2djB0Q3JZRjE2QUZjODFOOVRkaHJTZVA4Z1FEcmw4R2NaSFBsdURFLy9E
VDJwWEhBY0xFL21TMTdUeVY1OWJiUEcvbGl0YwovWWM2dzgxTytXaDVmQXpzK0tEOEIzSm4yOEdm
eGR1NHNvbFB4Zkpvem93bGRPakZ1MUQvWWNFRmR4RXVtWDNBMEN0WFMxTlpFUjRNCnlFMGRSNVV2
TEx2OTRCSW5QNWM5UWdQZVV2KzU4TlgrQWJ1UG9nM3ZyaUNQejM5dVhObEFLNTk3bjBZZHRTdlZq
aHJBSFhCMkxsWm0KdnJaSDhjUWJjaU5WbmF6OTJwWnQ3SEt3ZUM1VS9RZHV5VUZMazNIRTlpUVpM
bWZsNWNMeVRlTSt0UFNMLzBVZDlicnFYSzYxTFhNLwpaQlpxdCtXV3JDOXdra3BoUy9MMXFmcHJM
RGFESnA0Zm9NSlJjQXhkZlFPMVB6K1RLbzgrZ2tzbGxFL2FtOHJHalNWdjRTSnp2bmo3CkF3OVIr
VGUvcXNVbUZnbnhjc1IrUVJlZFJFTzFCRERWSmNCMEsyZTZvQU9XcXNpdk1XYTNYaDJaakJXc0RM
aGNxamxLY2VNMUcrZ3YKTitpSlBpajM2TWMzREtSVFAyZFhabUdyMHZJbDdmVHVISHpTVFJxT1c3
R0FZR3NSQXNvSEQ0OWZNVzBRQ3ZnWk5Cd2ZaQkRkNjNrYgpVdjRCOWdkOVlHbWhZZmJnVXF2ODdC
VFdLOExkNVdBcFJTUEJHRGk2bW9idmdEbHhzYy9WdDZwM2R2OWxxMytWWDg1ZmZ0cHJ5bGg2CjVp
WU1YM24wNmgzelRRZHN0VWxPSlhrdW1TS3VSTGlVaGxlUWZ6YjdCVE5lS3FEaUgva05jZzNtbElQ
Y3JvSmw0Vnp0c1A1VU83dy8KTGVkdFNHaDJIOTc1cXVtQWMzVyt5aWUzTm9vWmpVLzg0RGQ2Vm9W
cFMxR01lTWpNb3krajVvVXI0d3NaYW4ybG5raEVaYm5KRmdoMQpkaDdKMUh3QXp4TXYwOEx6THN0
SXdMWENEL2pubjBTamZ2RWRYeUg0dVp5UFhHeTQ3VUdqdVhRcGpKczVSY3BIekNTUzlGVTk0dXBj
Cnl4QnJPc2czV0tJOHNsc3VISlFmUmxGYTczc3cwQUhqUzBXVnAwK2h0aHZrazRYdGQveUxxa0lk
Y0pJOTRLN3k4UnpvSFhLdzBkMlgKbHpHZ2JOeTRUR3JiaWJxa0F4WkhZZGhCWFJCbk1KOTUybGhH
Sng3ZXlJWDI1aXlOaW1qZVc5TFJXZGRHZVlnY3VGN2RMemh4RmRYVQo2TkhxbGZJWlFkR3FnKzdu
TTZIZERoZ04vTlR6K3REUHZyK0ZPYm82Z1FJUWo5Wm0zbEFoY1JBUEhaY2l1RVBRNnlMYmtLQkh2
Qjh0ClBHaS82QlFIQzJwcjZWRlRZbU1RUTNLS0p4ZWI4TVZ2MHJDZHkydmYwMGJSQlQvamZYNHhv
Ym8ydVFNRy8zaXJoWkVySDRkdlBIc1QKRmx0NDlCNS9EV25qNmlicU56VEhHN0RobjJ5elNKRmYx
eDRYcnFVWStsTWZSY3VMZzRpWHd5MDd6Q3ZlUTZLTERQdUZLWUo1UzU5TgpmOTkrUmg5LzVrVHBn
Sm5Sb21tdjAwRTNubSsyZmdYNVJuTnUyNG1XNW9iVWpodVdHeWtHbzd4SzJwaklqMEZna051VzRq
RFVOOWw0CitENktZNUNCWmFQMytPU3J0cFhyVEp2SFBSQi82N21qSFhudGZ3UStGempnZ3BOcC9S
L3V6R2h0cnhHUmp6clBQNmhkY1JUYS91TEsKeEdPQ29UdzBqdUlMSHV5cCtlVlBxZW5ibHhtVXRn
Y2VKdnJWdFFIMENoNkc5anZnbDE0aDc2UGxWRFpxcEk4REhyYkYrbUNUOE8zbgpZeTdMSHNRRGln
UklWeHFQTzNsTmEvbldqa3ZUZ3dTc2dNbkpuWVpGNVdiR241OTY4WG5aVXl1T1VWcm13S3ZoY3ZG
UjUycmxTeXgwClZvNmtNRTFveXdFcm8yY2VicUlOOWUxOFZLVHRDRTQ1cngvOTRySjF2S29XMHNV
T3JYam82TDRCRHdwOWlsQWtGZjQ3a0Q5SnFLRisKVFNzZFAyd1dhNmQyeU9Wb201RmlRai81UjBl
NDVOMUdPbTBZOW1PeXR2eEVITFRWMGdSVHlpRUlEZWRnUDBLNDhTWlRhLzE3MU1JZgpYNmhmSVNj
bktWOWIxd29KeHVpWWdRUCtZWmt1cG1oRnRQTVJJNm5QNEY3VXVIYUxySWFldm9nT3ZpaDBtb2xM
NktlVExmQlJPS0gxCjc4STBqVEo1RUZGdHRLUnpjVDcyUXdMay8yM1NyM2hiVHNaWEh1YTAxZi81
NnFCdExCN2Z0WC9jYVJQcGhXL2V3YzhjN2RTMGNvTVoKaGg1NStNN3hoQTVVNmpGYmJUcklNY2w4
MzdKalNBMUk3eEZ4NVNpRGpVbEJ5NUo0aUZYNStGd2tKY2tCM0pYVnVuSXRiWHBtRnZVNwp5cTRZ
cmoxZ0wrcTF5M2hxZVdkQkJodHloVEtxWDdKTmhvUi8xbjdySjdUK1I5ZHhDbng0NmV4Nm5PMk50
b1JjVXJEMXFQcUNQaTZJClR1S2JxbE5QcEdidWdFSGQ4ZUZDYW45N0hsWHN2cXRQVm5IUUFVUWpo
aEt0V0VWbGJieU81SDUrUy83eVJYNjU4dklCZ1VURy83alIKcjFqaGwwQVdOQk9iZkxDZjBESWFP
NWI4RDdIN3BWMmY2SUlPT0xmU3FEU3B3akp6L3JGVXRjS1NuUlhtTER4c294Vlh3NlV4Z2NFcQpW
K010L0UyQXgrOXZvak11Q0E1REgzeHNMVDB6QTkrVTVBOUhWNWZScEFONzgwMFdBZC9zbFJWOWtP
SWVvSUhTTGMwZDlNN3IwdG1JCmJ2RzY0QU1PWTNhMEN4Q3drcm8zZjNxeGVaT2NVWTFoYUtGSFJ5
cEI0MHpXUklEaEgvYmdIT21HMVZqNUpINk13emRFR1h4Skt3ZnIKRzhVSnh5SkhMa3d0czlRS2lj
YlAzcnFZWnQ2MU5HU1BxeU44aEx6V3YwZDdIVCtLWWVDZS9Za2VHQWhWMVJVOERMMDl2ZmozOXcw
ZgpySWJPcndNV0R2RzFKTHh6L1lJRC9GLzZJSnl6OFZYN205YmFWY0hxUnkyTG85ZjJyMldTejg4
R3pQY09QMmdIMC9GaUtISFJQYk1vCm53NVlXNnJLTERSZS9vRHM2N1owMmw0c0JLbHd0OUcyZVVz
UUlTYVhyLzFKOWF6dy9Ed1lvMEFTaUJrMlRIMGswQUhqdU0wQjUwK2gKVlZmOHhsQ2hubXNPNUFO
b2VCOHhRdmtBV1FHYXEvNE5Ndjk0bXhxcGZaTzBINzBQYTFsUzdQcEw1Q1JiamhMVnBYemNHTjdm
dXh2dgo4MzNiTE9acmUvRFJRQWVNMWRBVko1OUk3VGYvellodTQ5WFFiZ2NzY3BPMHduWElvYVdW
eWliaGlGU3BGY2hXK2FxTHhrQkhtYUdiCk81Zkt0dHNPb0c0TlhkQUJpN25XL0tnOTFpRjRlNUNB
cHh0cEFMNUxEQ1I4UWJuY3BFS1VHMHJjdElzcFJmb0VwVEhvWjl5NU9kQUIKNDBuN2pDLzBvNmU1
QThhYlRWdUxSMWZlT0l4R2paVzMxQ3N1d2RPVmNBaC9DV254QnkxMHliRUx1UlJWNm5ZeTBwR0tk
aDRkZmtvZAovZTl0NHhqSGhnR0RxMmdGUHZuR2Y5SjRnbTlXcHBGWWRKTVNtTnFNbkUyTGIwSUVt
YXpJRUNsS29YTGpLYVNSQWtmMWtMUXJNMGlwCjhyRS90NTAvQ1FZNUlrdHZuS0RWK3JjdzRMUTB0
bkVKWU1pcFJFNDZ3Y29YNEQ1bmphZVpmLy9BWk41NVloazExbStoMmdIVkRrVTAKQ1Jsb2Y2Slh0
RHcvU09lb2syVGtaejkwVi9ucUwzQUVkYnpmUko3NlZmeU9uT1VqR0VtL3VEN0duVDZSVmozM2da
R3g4SjdYZVJYMAo1M0l1d29KT3Fta1M3Mnp3bDg3bFU2TE1YQ2Y0S0M4M0RxYVZsOWVrSFhDeVAv
SzFQOWxIWWxrdSszS1YyMXFRK2dOK3d6MVAwdWpmCi9EQTREUDM1VTJqMWxUeFhhcmIzOEhHNGwz
eVcrcDk5Z2pHNXJLWTNiWjcrcEttYlpIbFNBaWxJV1R5MVVPU3JEOE94MENpVmNvajMKTDBxbGhI
KzU3VlNkZEN4dG1UUFhRRnQ1R0xyNnU1Y0cyRmVlY2FycGdLRkJ4MVBQa0xlZTkvSVBIR2h3Ukx0
NE9VQlFqWEMrdEcwagpTS21kb28zZ0tSeGNtU2ZlbkxkQzBQNnZoS0xGRUszS01HTjg2T0t3b3ly
NHY1d09OekhTOG44b3gvZy83S2hLanF2b0VFNGZ3dWxCClE5UzFZVzdpVUlYQzBWcmRDbk5qS1Nm
YWZaSjBwcUIrN3JGbWFsaXY4ODJDZmZRcHRUUmdVSVdwT05UTG8vZHVvdHBBZFhkSUFBQWcKQUVs
RVFWUSs1ZVovWFdhUkZIaUZQOFN3Z2ZrMGJjSy9aOTVtbXpaMWNOcitONXF5RGxxM01yclZhR0Rt
dThCdVkxRjlYUnVpYVd1ego0Q01QN3lmNXpISUllcy9DazFOaFdjQUVMQnpDOGlGSkdyeUxyZkpk
V0w3MmgzMno2ekdqcVhmbXM0K3RUUjAwNTRIRllhVWkrVGo1CkVhU2NBT3VUbktnRklNQ0RZUnRk
OG1DWmVOREN3djUzS2UyTkNsRFYzcTJESUhZMGg5T3Z2TXgrcE0xTDF0SHFsejZNSWtVZzVqWVgK
Z2VZTHdKdHNXeU5QTVpqL2xreTZoZlA0Qjl5RnRWSUg1enNZYnUrcnFPMzRvRDZJTDdWUTYxOExr
MVRZLytGeWk1WG9aKzZjVUJ2NAo2NzNYcC95VHZ0cFc4VEQwVTY4R0dGYU5HVW0xenJEMGhyc2VN
WXV6c0VDcnJGeHU2ZEorQW1SK0p1d0pxNVBJQnlMbzQ2OXRZSWZiCnB1VUFXamNJdHZMalVkNHB4
eG5Pd0dsLzRXWFR3YnI0RlVjZXhvZmo5eGY1dkZXcGZjYkRmckg0UDVzc0taUFdyKzFOOFVWbnhR
QXYKOVlOaStJSzZNZEdGYjhEeFZ0VFVsTkdkOTluaDEzaXNJTlRaTGhZb0NEY1JjYWk2TllEcVpI
aS84WEUxdEdoK0syM21MV3JOZkxOKwpmSG9qbmNsdnZScHFhc3ZwcExQNzBPMS9ZQVN1cVB2K3Na
SCsvVWVEekZOKy9SbzdMQnJlaGlUblFJdFdxRlJOMmNZc3V0bnpvbFVpCitaOGdGQnBwNHR0TjZF
MEhuRkJuK0ZURTFCUytKWHo2MTBmNkRVbWJuTWJnUG5oazlDTVdWcXBLczVDNGxPZ3ZKY0YwL0NV
cU54TFgKZnRDS1I4UUQydVNSczhQc3dBSi9LY1VGa2wwLzRRVXFvdXJhU3RyOStPM3B0VHZSR1hq
MCtyMExhZi96UDJYS2tuK2k4dU53cytsaApyWEsxaWVOU0tDeTcvWHQ4WVI5cXFXOW1TL1hwSHZ6
VnJ3S3JxclZyQytLbGkzL3htMDM3c1AzOXhnMm1JWlBIMHRwWEYzRUg1OUdpCmUyZlRzQU1teEl2
d29hcWJEeWc0SVhxS3prb3M5cnZhQXlLeVJHKzlYcFBrdS81VHJzRlkrQVJod1p4b0ZvVEY1M0x4
UW5uVnlDRlUKV2RlSEdwK2R6VlhLMzc3KzEyUFU3eGllSDgwRWpFSU00TGZneGtkZk5MWnVlblFt
dFM1YlNWV2poeXVLOFVDU3JONUhIY2g3Y1BXKwo0TnB2ZllTcnNHSlk5R2hNOEZUL1FwaWtYZi83
S3NRbUtnL1lsMmpJSUtJMWEzbnZMaTg4ZStRSnFqcm5MQiszckthR0trNDhqanB1Cm44cVNlSXFT
ejRhbTh6OW55eGtXSHhRZXJuL1loekt4VSs5S3drTnNVY3A0dmwwTGpibXRkMWFnVmlMaWVOUDY5
SW1IRnlwWkpkaUcKQnI1NndjVnhRem12eHVNRHQ0NDRzWVlldUFQenZHVTBZK3JtUUFjTXlqTysy
Si8rK1ljR1k4R0M5MXBwMWd0Tk5QbmdXbjhWTkRoRgp2NFFFMmE3OTRHU3JYS3oyZU9GWGRLdFJY
ZWFyU21vVDRnbDcxZEEzZno3VzhJajd3ZmFsci85OGgxQ1JOclFNMkR4WkIxSHNCYVRTCjVFSVMv
WUs0TmdkY2E1MTRNcjZHZHo5eUdQM2JiM2xmWDRaWWNFTjZjUm1hdjRhbGI5ZlRFNzkvbnlHdW5D
aU40cXQ4elNPZXpNUFEKcjkwNW4xTmw5UFpEaTNrVW9wWG4xck4xUXRaK2wwOTgydXJxbGtNUHNU
TyszTVV0SkExdThJWHdqbEllZk1YUmpGQ2NUTXNYOUdLQgpuRndYbFdNaFZoWTZnUEg4S1VKMHdL
QmVkUGNzMnZlYXoxalVtSlJLaWluS0V5VHlWUXRkK0NiYWc0WDFsZHdQOUQ0QURHMVZjYUpRCkRn
ekZqOE1SRE1HTWxxdUUvSVlUMVlJb0g1SEM1ZWhnUDNzc2JlWU9HTHdiN25tY2g2Ri9RTmlxbzZI
LzZVZlRDdjR3ZzlldzBjeDcKYnJoOUJnMyt6cGUwbU9Oa09YMC9leUwxT2ZONEJ4ZEo2eisvZ0Q5
MEh3N2dpbis5NTJxY3pjUGdvZVZtdTlGeFIxTGJiZjh5c0xZWgpqd1E2WU9EaVVJNHQzQUVqdEQv
MENIbU5PT1kweS9rQlBIZGM5bHRlaU1nNHRtMnJudUNTa0w3aUNpcmpJVzVZSXpZWjFHNzk2WUlP
CkdHN0FmM2VFb052RStjbnlWU3YwU1ZNK1c4dmJrRERQSzhQUTlldmF6YkN6YXIzWHZ0VzA0MjY5
YVA1Y0hzcmkxZHJUL3JIQmRNQ3kKQ0F0WVpaRWg2STBOR01vV0tRZWYwSmRPLzVMTVhRQWJIMkQ0
eWNWTGtLUk5CczhrL1o5Qm1aWFFydllWL0dXZjZ0N0pselZ1aE5XOQoxU3FmVmQ2Sm9QZVN5ZVRp
Z1J6M0lwVzgydXRTajltalA0M2VKYndZQk5LU3d4c1BMVGNkc05vdlZxbU1PTHBvMlc3SGIwZTkr
RTI0CmxWZGViK0hoL25tUExLRkpaNFlmVUN3dmFKVHNYUmNQZG90R0ZxcXA0QnVCUWpzYlE1cklq
UGRiWlhWcExsMnhLbnRMc05lVnRXcmMKbVpQbzFjdnVNVm8yekY5TmExOWZUSU1uanJFSUpVK0pw
dkQySVkvKzJCK2lqUk5qYlFxVzl0NHU3bzBPT0xudGoydm55bDJwNVRwUgphRklzMmlXVkFnNk11
ak9QcG8vKzgrZG1ucmR0OVRvekROM3YyQU45c29wK2Zhai9XY2RTdzE5UUIveVcvTGQ3UXgxd3No
eDBnbVcyCkwvZDU1cE5RcmhvclRUaXY4TGk0NnFUalRBZU1zblplaU9YeFhEWVdsMm1vT1A0WXds
eDJXUk12YU4yNGlUb2VmOUsvK3VMa0dOcEwKTGpia2JybW13MWVRRDcvMld1NkE2NW5PdmErcEZ0
MFRsK1lxZG5RVjQyQ3lOa3Vuc01SSnZVRnB3NGRzS3o4cVREVUMzZUVuMUZDLwovdVcwYVVNSHIx
NzJ6REQwV1YrMHc5QVZGV1YwMmdYOTZKZi94VU1sek9xUmYyMmlTNjlxb3haZWxJVjhOWDlVQmZQ
Q2JyQkR5eDd0CnZIZHZPdnJNT3IrNGRVc0hYYzBkTUdnM04wU2Z0dTFwV0xqRlNMbmE1VE1wVVVJ
N0U4VGFPTldYY1NLZ00vNFJWQ2ZFWXIxeWtITDgKbHZNcFp1VzlsTUxDczZVcStFQU5DYUtUY0Uy
K01DQmZLWlJ2YlYwdndsendHL2N0TXBiTnZudEIxZzVZN0ZlTGxFczBocHl3TElzRgpUYU0rc09Y
RnBaUnJzdHppK0lMSzFyWDFkYkFsQjNrRDM3WVVLYXZiYVRnTjNITTAxYzlaeW9OT01neWRyUU8y
TW9PODg4MkpIMUJYCkhnMDVmSGZ1Z0F2M2pIdVRWN2xhYzdudEI0VmlLN1hHQ3MrdFU2N1dwcDZ1
R2pXVWFnK2VTSnVmZVkzSytieFZzeHJhNllBaGVjQVgKVDZQNnY5eHQ2bWJMMng5UTB5dHpxR2Jm
UFROS3FVNnFZMmxpMVQ4WVo1TWxaVkwvb2tQbDhUeDZVOGxiRGZrRXV3NGVpbTduUGIrVgoySUtV
Q1dWMWRWUisxQkhVd2FkaElaaXpvVTBLVXVObGxmSCszNlNRVkN1MlRXVzd2cE80bGdhZXJkMFZK
Y0c2Sjhuc290akdFbGxaClVveDhHT1lTdWhxaDh6emlwQnBURERoV1E0ZkRxZWYzNDBNR0JMcCti
UWM5ZUNjUDkyVENvTXlRc2VZUlkwK3hodjREK1lCeDdsVDAKdjZaUEJYKzRRVFRBeHh3Mjh4dXhH
d2J5RjVFUXBJRkpjM1Vicll2Yi9lbnc3VmNhYkRaZkY2dWpYbUR3VkRiNzNicDBaV0UxdEpTVgow
VnN6RmxOcmMzUzQzOFZIT29tWHhZdmFiOHU2SmlYMmR3M3ZZcmlHNnhxTGZjYnlubUFOQys5NlRa
T3hzZFpyYkdFZVFKRXZYaW5qCmtTRjBwb1grNXlFbUVjWEtUMEtCYm1FdlJYR3p0VFZRcTU4d3Vq
V1FoNkgxR21pNDkwaytBalM0ZUxQMjRFblVhMGVNT2pCWGZtWnYKdU9VK1I2RDR5Z0dVS0tsOHhS
TDdLNm13RU5WZjdVSjUrWkRCVklHNVlBUTJHdHVSd2dIRDBBaWc3NWcrSTFPc3NqUFpIaENWdkFP
VwpSZ2hINVc2TXBmQ2ZTTkZtb0hJbEgrYXZqVUJqREVPcm5zOC8wVVRyMXdZN3haSGJWOUpCeDlR
YVM4RHhnZHV4S0V0NDQvU3FjTmhrCjNteWhVUmwvN3pmcTJqNTFBb1A4elJ1Q3N2b1B0a013cXIz
cUdaYlQyYnp5bFZnOHFMQTQzaWlEVHE2djFROENpNk1xSHFheXN1bWsKOHNOUzlwd3loaXA1WHpD
MGJWemZRdTg4dml5TTR1ZGQrMzFnVENLYkhrR2Z4QkFYQ1FMZnJ2QXQxTEgyaUJUMWQ1S3FGaitJ
TWY0cwpYZzF0UUdWVVAvY2pxcC8zVVJEQnljbU51SE1XSmVuaGlDa2k2YmJ0ZUhLVnEzRVVTenlv
blUyMFhDSFo3UWNYQkkzcnpqeUtQQjZKCmc5ejJOZXRwMDVPdkNFTG1GdzhnZFh3eWxnU1BOdjV6
Qm5VMDY3WXJRTFBMeXhBV0VkblJKeXZCcGx5RzZyT3dieXFuSEcvc0FtNzcKL2ZLbTY5SlZuRHJG
dkNXRDNsdTdoZzlaa05NSlhaek9wcUV4L3RYZm5lVlhESDIwbHlpR1M0QW0zOFlZSUNvNmc0cFZC
MHBsaS94cwpESlVDdzlEOVRhZFl4bTlLZkNqSDlPQmJNSjVDVC85OFA4TWZGZlhXSzNKR05IZ1BI
R283VEpVbGI4QWl2NTl6dXBhV0t3enk3WEMxCmxNb2NjUEJtb0hvcWZhbGk0U3V5VkliR2NUTGlQ
SnAwWWNYUkZ3SlRXWWl6NmFUeXc3ejdEdTVOTy9ISldFcjdCcStHamcrdS9aQ1cKSExLVlFrNjI4
bVN1MlVzczE5Snp0N3pWeHk0a3UxNXU2YUM5dHFPNlR3MFgrelBEMEc3NXh5TU4veFpudjlxbk5a
VFVKaFV2MTYxZQpPZ003MmxJNWNpajFQWFFmb3g5NmlvWi9SZDhVQjN6K1ZIODR2bTNOT3RyODRE
TldYQmVtMUZaNFR1MlBFNWRVaXYzQVd0Yng1dHZVCnNYaEprSHpJRUNvLzVDREJ3U2ZQdUFNdWRi
QTFuODJDVWtzTjhvdSt4Z1hMQzg2SktXaEVIYlNjSDRqdm5vbzNQVFN0WUJDOElOeTYKd2NLVDhO
NStRNGNXZzdqQVg3S3dnNlpQYmNvMERDbC9meTRPZzBBcG1vN0FzTjNvaUNrMU5QMjJ6UVoyNTgw
YnpieXVxMGNyNW55NQpyL1hZakxaV2xNaTJHZXoxZldqcWhvd00yT2JSRWo2SVEyakxxRzlkdElQ
dVovYXB5cFBjVTlNYWFNRmM3dlZONEhPcVA4SXBWa290CitxMWN1b1VlbjdyV1lMZzZBUkRPQjJI
SUNRL0JrelNnQ08rOTJzQy9LRkZQU0FxUUJ2NGM0ck5UbDNOS0FtRHZ2UUo4VUFnM20vWm8KM1Vk
TjlQelVaWm1Tb0J5TDdlb0M2aWpld3RuclVNREJTb0YyNFBISzFJWG1KcVA4TnF4QzNTSVg1QU5x
aEVsbmpxZTVEOHNGamUxSQp1eDYzbmNHV1VxRlo5WjdZSkxsNFBvSXZVaUR0amFudjhhL2dJcjl4
SlI3WXJBODVVOElBT1NKcjBWTUxxSEcxZlRoVVAyZzVoTWJCCkxOenEzUERoR3FPeDRrc0piT0FQ
b2ZOZTJ3K216Z0paaGgrZmZUNG55MXN0RDBPUDRVTTUzcnJ1WVlQLzRUOWZvcm9kaHhsNitSSHUK
VGN2ckRYOVp1ZXdVRjVqVU9sODI5WVhNSWl3d0VCbktTdTJLd3VQd0dHWldrb3Y5eWlNcGh2eU5z
OTZuVlZPZjh2MEQzQlkrdzFtQwpsWjRCQkNJdGJkKzRtZFpOZmN3dkE3eng5WGN6UEgydzJmWTQ0
RFBIME9hbjVNMTN3ejFQVUlPWkIzWnNZZjBydHg5QmJZdTRuakJYCi9MZHBWTFAvbm9ZSnNGcmUr
WkEyVG4zUTVFVytROHZRTUV4MWpQclBzR0NHTGNialdwZnFPZEMxUFBRRXRiLytWZ1pSNUdDYm1n
U04KSlZlK3gyNUU0N1luV3JpWWI2a2QxSEw5alR3UHZIOEF0MnpvRU5OdWpDNU45cHJ2bVA0QWxR
M2lyVXg1MUQzMGdtUnJsNVBmTE5jdgpoSVp4QU91T1VQSU9XQ3BFVG5GNjh3MlBMcmtROHhZd1Q5
ODRKRzFmdllPblJBbWU0Rm9hdUNLSTE4WnMxYm1RaWFDL0x6NnpoV2EvClpJOWxSRWxicTN6MzFh
MEkwSnowbVQ2bUE4YkZOWHZtRm5wN05wOURtdEhWY0dTbVhqdW9aR0dVM2dUZW1ObEU4MlkzR2Ft
S2o2TW8KSlhpQjg2VXpRT3JydkJYLytTZkxlYkVTU2tSckxHU1JIR0t4Zjk0cm0rZ25GODdQTko2
Zy9XS0g0Z2I5QlhyeHI0VXJUL05vWk02SwpoalQxSUZLU1h2YitKdnJsaFc5a1pBTE9qMUp0R1Iw
emVvRlN3NEkzR3VqWEY3Nld3YmZ5c3NtMytvR0wyQ1ZuZjZORUwybVVpVTUvCnZ1Z0ZUb08zOExj
WE5YQ2lZZTlUeDlMdFh5OW52VHRvODlwbSt0dUZUektTMElyZnVDMjA0TUVRdWZ5L0IzejdoUThH
N1BUNHhnSFAKUUsrdUNXTC9pOWM4d3crQnFDSHJYN0VEY3ExZjFFYU5YWHlGYVRzVGZZVS91T0NH
MnJSNkV6MSs0ZDhkT1V5VjQxeng4WHdveDF2WAp5UkRpK3JlWDBUTVgvam1qay9nRkV0cWJjUzFD
Zzg0R3NmKzFpMjVrSFJHeTJ3K01JSjdtMGViRW4raUExWDdneHdXNU5sRGkwYXAvClBFS3IvL2xZ
Z0svSHc3NVdUaHdIZ1VFT2VMV3VXRXNMTHJ5YVU2SS9TdkhoZUFUUkJuQUpaalgwdDY3anAvODJN
d3k5OU1MTHVjQzIKQStNRGZGdVgvOUNXTnovMERGWHZQc0VRQTRKVHNSb2ZmdGFuVVQwUlcvbjJm
aUc4d1I4WUlrZnhUTnhvUndFWklSUEVzazNmWjV2TQo0amhMbHptdlJSSDlHR3NJcWs0OGxscC8v
MmZqaGJiZi9ZbmFidm9MbDRNMkk3OFZMelNpaVQwRmpkdlRmMzdYUEp3WTIzMGRrUk5hCnE3ZUlF
MHUwN20xTTNLbXJwOFV2dm5yZGxpaDVCd3p6eEdDK2NYT2JhbXFFTFZJaEdpdUc3K2hNdVhVQ01N
UTFBcE1PSGZUS1EyUGgKSlZpUzVoTCtrRU5Ubzl0aFNWcm9WVVB4OFdISDgycm91akxlR2lUNmJ1
R3ZKaUdJZkZkdnRVcGc3U3lqbVcxVG5jTzJ4TTBCOTgzTQpBVU5Qckx3V0draFRPY3BQWk1GL1c5
Z09MWS9xcFBoaFh0WlBvcC95bHdjRWZmaXhPa09IVEdBVStDQk9GakRrQmlHeDBaSWZUbHFNCnIx
VkdrRFlvWC9TeW5iTkxJL0lGWDM0aEJXRUxIMDBKU0pKT0JzbjU2VCs4aG5ZNGVBUjk4RFRlQ3Zq
VFp4bDY0V2R2Tm1xL1NuTlkKQkpKeVlRc2Y4QkI4aWJYTkJRaEtsaEg3MjdZazIyOTFjZlVTT3JF
UHl0Z3lwTkhacWkrZ3YyOC9rN1UzNG9FNWYxOFAyWGM4OVJregptQm9YODI0QmJqczRrU3BlSjVW
cDJCZjFJMWJ4ZkNqTFVKdmlaWUU5YkxaMmkzUndrUHJYT2hYcnRWV0RMaHEwRk5RZE9HdllQRThJ
CmI1RXZOSTRubzB3eUVDT1gzMVE3TWgyWnRtbnd0cnhzcW5MRUVLbzlkQkkxOHZ5dmtkOG9JM3RX
ZnhVRmZaZ2JmMVZweTV2dkdhRGgKeVN1TlBlNjgxWDZsay9xMzlZdzdnMGdGRmJDczd6UXRzY0NS
UmhDYmhYdVptWDhPMGdtTzRoa1MvNmVTdHlPaEF6YlV4cS8yWlUxbAp1cnFJUk9iUDI1TzAzTlZa
MHhvcmp2RURTN0U2aS9YQTAvcjNsZXJtaE42TFN5cFdxMGFZaXZsSWh4c29TZ1JYM1N4WUNsVjhP
TXJ5CkZQZXFrN1VFbE9yZ0lDNXlTaU14Y0RWZ0dQcW9rN0hRU2pVQmpuSlFPc1ZHM29VQlQrbUM4
dU9Hb1BzUENEN3Z1TlRaNUt0MGtaMmYKZkl1cit1SENVSThLeCs2UWIrMlNDMU8wTDZWODZ4MU5Z
ZTUrSHg2R2hnL1VldFFPWkNmSlY5cnNjVElIS3ljN2gwSktnN1VGeXV6eQoxZGRXRjlmK0tEVTRL
cTdTQ3BaQW8vSkJFUXpsdkNJWnE2RkJvVHcwQmkvbER5clg5MEV1K2VWRUgrV0NHSkpFUXI3eWxS
b1NMYlhrCjhKc3RST1c3TnR0MEVnL0kxbi9neE1rUCt4eHRHWWR5SUZqNWxrdlFmb05HemJQZTl2
SEQvcmVVY2ZMbEdoRlowZnJLVjc3cUZMWkYKdExPL2xVY2VTc1RIWjBxUUdvUitDSzZlQXNuZi9y
Qjg0ZW5lLzBRejIzTGdpNjBUdXFRRERwdW5UbFhIaUttdVE5UzVLQkc0ZFFkYwpveTZVU2hLc0lJ
M0ZWN2pnV21wcGNDNmVwcWZ3c1pPMnNaUkd2aTY0VWhtSSs0WldSa09tK3NhbW92SzFUUHdIaTZU
QktEemNmQVNlCjIzNUxyejRUemk0Y0VNMW5sNitXS0w3SUYzcjhSdjJ2ZkZGbTAySy9XSWtTVzVZ
c1gvRGMzNG1uaitYaE1Lc0R5b0x0ei9KMTZlTFMKcXBzclgvQmdNLzdEZFJiSHBUQ1kybys0VVBt
Q3I3WmJUbUg3UlhmUlMyVWdoN1Nsc3ZJRk0vbzc3cXpKdm81S0wyMVNkUkRmUitWSAplV1dEQlAw
UDN0QlUycDNHUWZuSWlTV2dEY3RYR3VVRTdMaGc4WVNYNEVoYXl6U09vMWRZV0FPbENjdTNWNUpR
MXAxeHRMOGkyTXFPCmt5K3c5dVdyVlNUSEFsUDdKU2ZGU2ZKUnFuaUlMWjRMbGJTV1NSeUVpUlNC
aFgyUHNySStmYWp5aUVPTUxOQXJkNVJwR3JIS3NEd0EKRlF3dFM1S3ZXTUpUT1Vnc05DSTM3SFBn
ZDBjb3UvTEtLM2txcTRPdXV1cXFrc2hidjk2amQ5OFJzOEZRRExQNXFCRGN2SkpDdGpLaApnZnVH
ajZxZ210b3lXdmlCTHN6S0xuZjBtQW9hTWRxK2pXTHU5dTNaTWsrbG1nU2JnMEJYTDI4em54eUV2
c08zcXlMblpEZ2xNekZvCjl6NndUd0NHeklvbExiUnlxWHdaU0J0UUdLbVpUM0Zheng5ckdES3lp
bnJGbm9LVjdKTmN2bzRyNzh2N2xZZU03azJMM3RyRXFtU3IKSi9pVTU3YUg5cUwrL08zZHBlOEFY
MEljMzJBWmNrbThvL2JVRHVoRlRRMjgySU5KNHVwQmVTT3VxdVkzc0gyaUp4eGhubmp4YTZ2NQpT
MHd5N083U2FGcDVEeDdmbi9xUGlOWVg4QmErbUxRSUthaDNaZTlLR2oxcHVMTHVkTHo2N1pXMFpV
UDh5czhrZnlmQlhXWFVac0NxCitsYlR3SjJHMHFwWlN3MktXK2JTYUxwNlFBME4zSFdrWnYyNGc0
YzUxN3l5d00vSEpaUjMzYTZqcU5lQWVGL0gwU2xzN1V3ZVZ2VVgKOUNnVWNiQWUzQktWNmNMY2RO
aGZBdzdraFVFeG9XbkJjbXBab1F1dEZDRmVidTJ1WTZreTgwbEF4VVNNN1VHYlo4dlFjRml1aXdk
NwpRTjk3MXgxOE1OcHkwNng1dkc1QnB3ZFFGTDJlbEc5N1BYOE5pRWNteXZtMHJIREk1cE5zWmVD
ai9KVm4xYjRUcWUydGQ4ampJZUY4CmFDc1AzRmRKL2JoajRTTHlscS9rZk5RZUh3bGxXQ1dORTdO
NFlSYjE3V3VMdUV6MGNrQ1pwTUxCV2ROaExMOXM4bVNpTElkNWhPazYKbTBkL2kzNjM1QjB3Rk1Q
UmpkMFplSlRHaE5qck0wWVI0R05veHczNTZNeis4dThCV0VBVll1R3lNNmRCQlFDY3dZV1VTMGVV
ZSt3LwpMR2JJeGovTXU5aTgraUlmK3lHalVQeGk5SUtNWEg1eStlTGtyYmhRcUUyZDRRSGFKRDNp
K09hQ1lZRlhkd1FzaGlsRWxuNXRKNnhiCnZqeVM2TVA4d3ZsOCtZZnBDc2tuNldZVy9lWFpJSk40
UUkrOGJlQUxJSHgveXB2V0NNcmNmM0VoZFdHQXJZWG9GZWVidkgyck45OWMKTjk2UXZhNEh0TFBW
V0ZGTkhueTdNV2dIYkY4RFN5aThsRGVpUXRUcVRIdkxSK2ZPMWhFdXFyeDA1Qld2M1IzeXNkL1Zx
VkI4bHphZgpkRjUreXNHb0ZEcVdna2NPTldPTDQyNVdzWWdsQUpaQ1ZpbDRaRE9scS9sbmxZM0dX
SUlHMlJrYk9rT2J6YmJPbG5WV0wvT2drWTl2Ck8zdnpaVVAxcnFxeDJoN09LN3c3NHU3dDlydkRv
bFJHNm9IVUE2a0hVZytrSHZnWWVDRHRnRDhHbFpTcW1Ib2c5VURxZ2RRRFBjOEQKYVFmYzgrbzB0
U2oxUU9xQjFBT3BCejRHSGtnNzRJOUJKYVVxcGg1SVBaQjZJUFZBei9OQTJnSDN2RHBOTFVvOWtI
b2c5VURxZ1krQgpCOUlPK0dOUVNhbUtxUWRTRDZRZVNEM1E4enlRZHNBOXIwNVRpMUlQcEI1SVBa
QjY0R1BnZ2JRRC9oaFVVcXBpNm9IVUE2a0hVZy8wClBBK2tIWERQcTlQVW90UURxUWRTRDZRZStC
aDRJTzJBUHdhVmxLcVllaUQxUU9xQjFBTTl6d05wQjl6ejZqUzFLUFZBNm9IVUE2a0gKUGdZZVNE
dmdqMEVscFNxbUhrZzlrSG9nOVVEUDgwRGFBZmU4T2swdFNqMlFlaUQxUU9xQmo0RUgwZzc0WTFC
SnFZcXBCMUlQcEI1SQpQZER6UE5Dak91Q25uMzZhbm52dXVaNVhTNThnaTVZdlgwNlBQLzU0ck1W
cC9jYTZKUVd5QjlhdFcwZFBQdmxrai9ORlkyTWp6Wmd4CmcvNzBwei9SbTIrK2FUN2kzdU9NL0FR
YjFDWGZBODdIbjMvODR4L3BqanZ1b0dYTGxrWFFSNDBhUlVjY2NRVDk5My8vZDZRc0NYRC8KL2Zm
VEthZWNZb29mZmZSUk91YVlZNUpRVS9nMjVvRVhYM3lSSG56d1FYcjQ0WWZwbFZkZW9kTlBQNTJP
UHZyb2dKWnAvUWJja1diWQpBNis5OWhvOThzZ2pwb05DRzlwOTk5M3BqVGZlNkJHK3dZZnEvKzNm
L28zUUFVK2FOSWwrKzl2ZjB0S2xTMm1ISFhZd0Q2amp4bzNyCkVYWiswbzNZYW0vQVgvbktWMHhE
T3YvODgrbTk5OTd6Lzg4Nzd6eDY0b2tuQ3VwOFVZbDRBdGF3ZnYxNlRhYnh4OEFEN2UzdGhJY3UK
M0ZCeDQ2bXFxb3BvbmRadnhDV2ZlQUN1ODBHREJ0R3JyNzVLYUVNOUtWeC8vZlgwL1BQUDA2MjMz
a28vK01FUDZMNzc3cVBxNm1yNgo4TU1QemYyeEo5bjZTYlpscTcwQncrbGxaV1YwMFVVWEJUcGI1
QUV2Tkh6dWM1K2p6WnMzVTJWbEpaMXh4aG1Ga3FmNFc5RURoeHh5CkNPSC9GNy80Qlgzd3dRZW1E
c1BxYkt2MWl4c2kza28rNldGcitBR2pYUGkvODg0N2UxU25ORy9lUFByaEQzOUlaNTExRmxWVVZK
aW0KaGJmZ2FkT21FYVpoUHZPWnorVGQzTFpHdldSVGJsdlRKNXV1M1ZHMjFkNkExYmdoUTRabzBz
VGhmS0F3UzZaWHIxNzAxYTkrbFM2NQo1SkxZRzNnVzByUm9HL0ZBLy83OWpTWjYwM0hWMmhickZ6
ZkQvL3F2LzNMVi9FU210N1lmUm80YzJhUDhqblVzcmEydE5Ianc0SUJkCnh4OS9QUDN2Ly80djZY
VVNLSXpKYk8xNkNhdTByZWtUMW05cjVMZDZCMXhlSGxTaG1MZmZyZUc0VkdiWGVTRGNKcnBPVXZH
Y1Y2eFkKUWVlZWV5NjF0YlVWejZRSFVLWitLSDBsenAwN3Q5Tk10N1Y2MmRiMDZiU0RTOFFnMlB1
VmlHbktKdlZBWnp5d3JUK0ViZGl3d1V4egpZTVgySnpta2Z1aWEyc2NRZEdmQ3RsWXYyNW8rbmZG
dHFXbTM2aHh3cVkxWnVYSWwzWExMTGJUOTl0dlQyV2VmSFdDL2R1MWF1dmZlCmUrbjExMStuMy96
bU4yYXh6N1BQUG1zV04rQ0o4NFFUVHFBTEw3d3c2L0FPVnVnKzg4d3pacVZ1VFUyTldaMzRwUzk5
aWZyMTZ4ZVEKcFJtc1dzUzhKdmczTnpjVGFQYlpaeC82eGplK1lSWWRLWjdHTFMwdFJrZkl1ZTY2
NjZpaG9ZSCs5cmUvRVZaMVkyNjgwTG50SlV1VwptTzBMYjczMUZtSEJ5cWMvL1duYWI3LzlhTjk5
OTZXa1ZaU0Y2RkNvZldvbmJqQ29DeXd5d1NwUHpQOWVmUEhGV3B3WVo2dGZKU3FrCmpvcHBFNnRX
cmFJVFR6eVJaczJhWlVTaWJuVzEvc1NKRXd1dUkrd0N3RXJlMmJObjA2SkZpMmpublhlbXZmYmF5
NnpvcjZ1clU3TUMKY1RGNkJ4amt5S0M5L2ZuUGZ6WnRSdHZzcnJ2dVNwLzYxS2NJTmlMazY0ZEMy
aFA0RnVNUDBNVUZiTjJKVzVENStjOS9uc0xEMW9XMAptemhaY2JCQ2JFSDk0NXBBd0dKRWhKZGVl
c2x2Vzhqai9qUisvSGdrRTBPKzlhSU04ckViN1JJN1ZzSUJiZU9iMy93bVRaMDZsUllzCldPQVhZ
eDNPdDcvOWJaTXZWQitmeVNjbGNlV1ZWM28vL3ZHUGVmSHAxZ2xidG16eDJOZitmMU5UVTBHSzhO
T1Z4MXVhUE42MjR2SGMKb2VIelAvL3pQejRQM2xQcUhYWFVVWDdaVGp2dDVJR0d0eXdaR0RjaVgv
YkpKNS9zZFhSMCtMU2E0R0ZHNy92Zi83N0hIWmYzczUvOQp6THZoaGh1OHd3NDd6TkJ0dDkxMkht
U0V3ejMzM09QMTd0M2I0d1VUWG4xOXZTbCsrKzIzUFY3dDYvRkY1UEZpQkova2hSZGU4SGhWCnVN
Y3JPZzFQeU9GVnZ4N2Y5SHpkK0diczhjM01wOG1WdVB2dXU3MEJBd1o0My9uT2Q3ekZpeGQ3L09E
Z0hYREFBVDQvbm12Mzl0NTcKYnlOanpabzFYcUU2RkdLZnF5dGZ5QjU4L3FNZi9jaURQL2pDOWE2
NDRncVBGeko1MEFsdGdSOXFmSkpjOWF1SWhkUlJaOW9FN0laUAorL2J0YTNSRkhTR1AvMy8rODUr
cVRsNHhQeXlhT2tKYlJIM3hWaXZ2eTEvK3NzY2pBTjdvMGFOTjNtWFVHYjFkUHRuU1YxMTFsYW1I
Cnh4NTd6RndMYUJ0ODR6ZTJRbDhOdWZ4UWFIc0MzMEw5b2Jyd1RncWpIeis0S01qRXZETGFYTGRv
VTFPbVRQSCs3Ly8rejdRM0Y2bVEKZHVQUzVVb1hhZ3R2bi9KNGZ0Zjg0N3FGenZ6QTdNTlF0bkRo
d2x4aXZWejFvZ3dLdFh2Ky9Qa2V2d0FZdmFBYjdpVjZyOFk5bkJmRAplVHgxNU9IZXk4UE5LaVp2
Zlh5Q1QwaEMrMTNTeE5heXU3TWRNRzRRL0lUbVhYUE5OWDdqY0R0Z2Z2UDArRTNMR3p0MnJDa2ZO
bXlZCngyK0JIdStyODFhdlh1MmhJY0lIYUZUNDU2ZTVpQ3Q0TmFMSCs1TDlCZ2NFWGlUaEhYdnNz
WVptNE1DQkhqL3QrblQ4cG1ZNkdmRGoKSjB3ZmpnUTZIc0EvKzluUCtuQiswdld1dmZaYWo3ZmZt
TEk5OTl6VGcweTltR3ByYTQzT1BrR09CSzhrTnZMQngzMmdRRWZNQ3ppTQpESFR5dDk5K3Uvbkho
VlNJRG9YYXArcisvdmUvTjdKLzhwT2ZLTWlQK2VuZmxNRTNiZ2VjcTM2VlFTRjFWSW8yZ1FjdjZI
ckJCUmVvCkNnWEYydVo0MFdDRTdxYy8vYW52QzM2TDg4dExvYmZQTENhQkJ5TGNSUEV3NFFhMG9Z
TVBQdGo3eTEvKzRodVl2RUFBQUNBQVNVUkIKVklKTk9za1BoYlFuTUNyR0g2cE1VZ2VNVGcwUE1x
NFBsVWJqUXRxTjB1U0tPMk1MZUk4Wk04YlVQKzhEemlVcXNUeXBYcFNnR0xzMwpidHpvVFpnd3dl
ZzJkT2hROHlJRGZuaFp3QXNDWG9TU1FpNTlrdWg2S2h4dEJDKytwSW10Wldobk8yRFZtNGZsL0p1
VzJ3RnJPVzZVCnVHSGluNGQ0Rkd4aXZLSGlyUU5sNkNEZHdLZlFHRGdQVjd0Z2srWTllajVQdkNW
bzRCTjVmSGk0QStiaGIxT0dCNEZ3T1BUUVEzMDYKOTIyS2g5SE1nMElZUHltdk42UXZmT0VMRVJR
KzVNTEl3QnNjM2hEQ0lSOGRpckVQRHp1NFNQR1dxMC9PWWRuNlZzbkQ3ZUVpTDF2OQpGbE5IRUZC
c213Q3QzbEI0T0JQWmdnSlBDWmlITFR3TTRRRWpMdUNCRCswUlB1T2gvZ0JLWi9RT01BcGxicnJw
SmlQemExLzdXcWpFCjgzaEkyc01EVkRqazhrTSs3YW16L3REMjdyNEI0dzBlRDkyODhqYXNzcDh2
dHQzNERHSVNuYlVGTEV2WkFjZTF6ODdZRFgvcXZmSzcKMy8ydThRQkdiVTQ5OWRRWWIxaFFyblpp
TVQ4WktlMTNlOHdpTEw1NTgvMHFPZWpTZlN6d3dUeXNHL2dtUjVqalFnZ3ZnUGplOTc1SApLT2Zo
WkRNM2cva1ovVmVlb0h2NTVaY1JtWUE1VFg2TE1OdWlNTy9xQm15blFlQWJiK1JZT1oyWEdqNThl
R0N2SHc5Sitmc0JYVjVKCmFad0toQUM5dytHZ2d3NHlvRTJiTmhFUGFZV0wvYm14YkRvVVl4OFBi
Wm81YmV6bmhTL2pnczV2b1k3Q0lWdjlGbE5INEsvMVYyaWIKQ090V2FCNzZZcHNKNW5yRFcwMlVG
OS9VVEJMckFLNisrbW9GbTdpcjlOWURVTER1QUFjL3VJSGZtSWluTEZ4UVh1bDgyblJuL1JGVwo1
Qi8vK0FmOSs3Ly91emxkamFlS3dzVit2dGgyNHpPSVNaVGFsaGdSblFaMXhtNzRreC9RakE0OEZX
ZTJSV0h1R3ZQdGFTamNBejFxCkVWYmg1bHNLdlJIaU1BOE5XT1hLdzNLRURoQ24wY1FGbmw4MllI
U3MvT3htRGhIQklvU2YvL3puQVhRZXZxSGJicnVOYnJ6eFJnUG4KWVQxekU4YnBOaHIwQm9qT0R6
eUtEWHFENXZuVkNBdnRnRkdnRHdNdVVqNDZGR01mRm1vZzhCeThLeTZRVnRrQllJNU1zWFdVZzYw
cApqbXNUWWJxNGg0VXdUamlQeFdjSTJRN3d3SEdjUFBWZ0ZxbmhwS2RDUWo1NngvSERQbE04Nk9E
aDdMVFRUaU04QktEelIzdkV3OXlCCkJ4NFlSMlpnU1g3UU9zM1dwa3ZwRHg3OU1ndVhzRGd1VzF2
cnFuWlRTbHNTblYxQVFiaGVTbUUzVC9mUkF3ODhZQjdnTDd2c011TDEKQzhRamVubHBGZFluTDZJ
ZWpGVDhYYjRITzBWTjA3ZGhIQTdDQzJBVVhGQ01rMTk0ZnRlc2hNWWhJZmkvOU5KTEMrSlJLREl2
T0RHcgp2WG1vbUhoNDNUeEFoSG53WEE3eHNGQVlYSEErSC91Z0ExWXdJK0RJeVZ5aGtJdTBGSFdV
UzU5czVZWG9DajQ4RDAvWWxvR2diNGNtCkUvckJDbFBVMFp3NWMraWRkOTR4b3lWZHZUOGErdnox
cjM4bEh0SWxyRjdtSVdsekZDSkdMekNpa3kwVTZnZmxWVXAvZ0JkV3BPTlkKU2p3NDhFSW9GUk9K
dTZMZGxOS1dpTUpGQXNMMVVncTc4WkIyODgwMysrZnR4ejNvSjZrYjFpY0o3NU1DN3pGRDBGMVJZ
YmlnRU5EQQpjRU1xSlBEY3RobUMzbU9QUFdqeTVNbUVMVTg4SjJ2T2N5MkVUekc0T0NDQ0Y0YVpv
emw1UVUrQXhWTlBQV1hlMGpzN1pGU0lmZSsrCis2NnZBN2JRNUFxRlhLU2RxYU5jZXVSVFhvaXU0
SWVIRVEzWW9wRXRZRHNkQXMrWm0yMXMyWEJMVllaakRuRmlFZG90QWthRWVLN1AKVElsZ0ZDY3BG
T29INVZOS2YvRGNLZkVDUDhNYVp5ai83bmUvVXpHUnVDdmFUU2x0aVNoY0pDQmNMNld5RzFzdjlj
UzZ5eSsvbk41LwovLzI4TkF6cmt4ZFJEMGI2V0hmQWVEUG95cUEzUUR4UlkwZ3IzNERPNmN3eno2
US8vT0VQeEZzZnpGQmV2clNsd01OWFliQlBGZnQ5CnNROFo4MkVZTXNLYkRQVEJtYkpISG5sazBh
SUt0YytkODQyYmR5NWFFU1lzdG80Nkk5T2xMZlNHZ24yK2V1UFNtNkhMejAxakNCb0IKSFl1bTNm
S3VTdk1XRTdNditaZS8vS1UvZW5MWFhYZGwzZU5jcUI5VTkxTDdBMmNvbjNUU1NZYjlmLzduZndi
V1pxaE14RjNSYmtwdAppNnR2c2Vsd3ZaVENiandRNG1XQ0Y2eWFkb2s4dnR5RUtiaGNJYXhQTHZ5
ZVh2Nng3WUR4bEs2TEFicXFrbkR3Z0FaMFpOa0NOczMvCi9lOS9OeWkvK3RXdnpDZlNlQXNFOFhh
amJHUmRWb2FiTnQ2OGNSTkNoNHlPRHdzb3NPRmZQOXRZclBCQzdjT05TWWRQcDArZm5sTnMKSVJk
cHNYV1VVNGs4RVFyUkZTd3g1Ny9qampzYTdwamJ4YzByS1dDK0RnSDExeDBCQjRMb1d6bm0rZEYy
TUdTSkJ6a0VmS1VNVXc1eApvVkEvS0k5Uyt3TjY0RHBFKzhlb0ZkN29kZnBEWlNMdWluWlRhbHRj
Zll0TmgrdWxGSFpqUFl5T05tQjZEUUVqZlBoa1lxNFExaWNYCmZrOHYzK29kY0Q1UFRlRkt3QXBT
ZEw1WU5OS1ZBWTFNVjB4akFkWE1tVE5qeGFGek8rZWNjK2k0NDQ0ejVmaXVMUUk2NEhDRHc0bFkK
R29xeFhXbXp4VmpneFZ0VmlQY0JFOTVpY0ZyTjE3LytkZlBXbTIwMWNUYWVibG1oOXVFTkdDdW5F
WEFxRng2ZTRnTHFGWUgzWnNjVgp4OEtLcmFOWVpnVUFkUUViVmlrWEdyNzR4UzhhRXREeVh1OVlj
b3k2NkxDZXJvaU9SU3doRUhYRGU4TURIRWVNR0VHWXRzQWlMTFJYCm5BVG5oczc0UWZtVTJoOVlo
SWFUbTdBQURLZkJvUk1PVHlGMVZic3B0UzNxbzBManBIcnByTjFZQzROMUF2aWVPd0x1SzdyU0hH
L0UKU2ZQQlNmb1VhbGRQdzkvcUhiQTdid0xuNmswNHlkRllvWW5oWFF3SjQvaElEZTdxWlJ4dkdB
NHUzN2lPVDJuQ0Z5cnYxektzMEtsaAp4VE1mUmhDNG1ORXBZOGpyVzkvNkZ1Rm1oY0I3WGsyTVl5
L3hyd0ZiajlCNE5lZzNibFVmM0hRUmdLY3d4UzBreHBNbzd5T21jZVBHCjVmUm5tRzgrT2hSakg1
OGc1b3ZDdzBINFRRcCt4SUlqQkhRRXFvY1NaYXZmWXVvSWZJdHRFNkRWTFZQNGZLSUd6Ry9ISFgy
bzVScGoKVGxYbldQR0FGRzV6d05PM1ViUnhyRWgyUTJmMGR2bkVwVEYzR2c0WS90NXR0OTBNV1BW
V25GeCswSHJNMXFZNzZ3K1ZvVG9oeGpBNgpqbk5Gd05lRmNOUXBybUUzRk50dVhCN2hkR2R0QVQ5
ZHBKZHR6ajBzTjV6UFZpL0YybzBIUmh5OWk2a3M1WThYREV5MVljUUUxMmpTClVMVGlGM085aEcz
clVYbXVqSzE2RktWN21BVTcxdU1KZlhONjFKdHZ2dW54UEtiWlNNL3pseDUzWE9hWVBuNkN3MFNE
eHlzMnVZK3kKZ2ZlK0dqaktjTXBMT1BCVG1sL09GMlNnbUR0ZmMrQUJhUGxtNCtIRUlUZmdaQ2FV
NlQrLzBYbjhmVTcvTUlid3dRVjYyaFh3Ky9UcApZL1RCY1pnOEpHeU9LMVErT000Tmh5cndVS1FS
aDZNaHRRejJGQnZjSStQNEFqRkhYUExjajhmRFR4NmY1V3YwK1gvLzcvOTVmTUZFClJPU2pRN0gy
b1c3VlBuNVk4ZUEzMUNzTzNvQmMzYXdQSEp5MHcxdTJmUDF5MVcraGRRVEduV2tUdkpMZHQ0WGZB
b3l1L0dDWWVMQ0cKYjBnbXdWTUJIdW9FdHZKYlU2QVlKd3ZoRkRNZWVvNDlmckF6ZWdjRWhUSTh6
V0wwd2RHZ2J1Q0hKWE5DRm81VkRZZGNmc2luUFlGbgpaL3lCNndwKzVDRmdqOS9BQWlyeXc0dGZU
emlZaGg4RUF1WEZ0SnNBZzVoTVoyemhVUTlmWDU2NkNaeGtGeU1xRVpTclhncTFHeWNHCjhvdUdP
Ym9XNlhEZy9mMiszbkVISWVYU0o4eXZwK2UxM3lWTmRMZkJPSFVITnhKMEVIcFRMaVJHQTBMQWNY
UDg5bW1PbkZONkhLZkgKSDJNd3gwcmlUTnJERHo4OElBTU5tN2NyR0hvK2RNRGpOOFZBT1k2cVJL
ZnZCaHdQeUN2L0FuaTh0OUhEMmNiaHdQTjZIcTlFOW5GeApFOEx4aStqb0VYQWpnOTA0L3hqeTBX
RDMzMzkvSHg5MjhEQ2FoMU9yK0EwNnpENW5Ia2NLOHRCNWdKLzZ4bzBobnhleUdYNkY2RkNvCmZh
N0NPQ01YeHdPcUhyeG4yVVBIeGZPZFJtZCt3L0o0RDdYSFE0ZUdMRmY5dXJ6enJhTlN0QW1jN01W
UDliNGRPQXNYSjVZVkV0RFIKNGtoUytBSWRMdStwOVBqN3d0NHV1K3hpT3VYd0ExSXA5TTZtSHpw
Z0hEbUpoeC9FMEFkSFplTDhjcHlGenFOUEVmSWtQeFRTbnBScApvZjVBTzBHbm9HMEpNUjZNNFVP
MFVSeEJ5OU5VZ1hLY1E4N2ZEVmVSSnM2MzNRU0ljbVFLdFFYdG5BL0lDRHlFd2g0OFhNRDNQRHFV
ClEyS3dPS2xlWEt4ODdYYlBrY2UxNno0WWd4OGYybUxhckZzUHVIZTVPdWVqajZ0YlQwOXJ2MXVH
QklabU1LeVFodXdlZ0ord0tBWHoKSEh5VE5BY3A2T0tpT0Vvc2FNR2NMK1pkd2dGRGN0aGYzQlVC
dy9vWUN1STNHY0tLWmF5MnhmQVJGdnpnSDhQNHNBRWI2UG5KbFBodAp1Q2cxT21NZnZoU0RiNFR5
dzRsLzZBaSt1c0xIQnhhbGl4SVZXa2RLVjB3TVdUeFNZNlllZFBxaEdENm9MNnhheDV3dlRtVGpU
aVR4CkMxdkY4TStYQnUxQzF3aGc0UktHQzNFSURmWWp1eXZady94SzVRZmx1elg4MFZYdFptdllv
bjdNcDE2NnltN1Z3WTN6MGNmRjc4bHAKOUxmd1I5b0I5N0JheGh3a2Z4bUtzQmprUC83alA3SmFo
K016K1cyQitOemNySGhwWWVxQjFBT3BCMUlQbE00RDJnRnY5VVZZcFRNcAo1UVFQWUlzUkQyZVpm
WHE1UElMOXFEdzhud3N0TFU4OWtIb2c5VURxZ1M3d1FOb0JkNEZUdHhaTERPSGlMRm9NYmVpSzRp
UmRQdnJvCkk4S2hCZGcrbFliVUE2a0hVZytrSHVoK0QxUjJ2OGhVWWxkNUFQT25tRC9FWVJ2WUk4
MmZTRFI3Z2JINUh2UFFtSS9pVDl1WlU3SHcKbG93dEo5a09yTzhxUFZPK3FRZFNENlFlU0QxQWxI
YkFQYXdWWUQ0WGV4NXgzQ1QyNTRVREZvL2hneERYWDM5OTdPY0t3L2hwUHZWQQo2b0hVQTZrSHVz
WURhUWZjTlg3ZGFsd0hEUnBrVmpmUG56K2Y4RjFnbkFTRWxkcllDSSszWGQ0SHZOVjBTd1duSGtn
OWtIb2c5WUQxClFOb0JXMS8wcUJTMmp1QS9EYWtIVWcra0hrZzlzRzE2SUYyRXRXM1dTNnBWNm9I
VUE2a0hVZy8wY0Era0hYQVByK0RVdk5RRHFRZFMKRDZRZTJEWTlrSGJBMjJhOXBGcWxIa2c5a0hv
ZzlVQVA5MERhQWZmd0NrN05TejJRZWlEMVFPcUJiZE1EYVFlOGJkWkxxbFhxZ2RRRApxUWRTRC9S
d0Q2UWRjQSt2NE5TODFBT3BCMUlQcEI3WU5qMlFkc0RiWnIya1dxVWVTRDJRZWlEMVFBLzNRTm9C
OS9BS1RzMUxQWkI2CklQVkE2b0Z0MHdOcEI3eHQxa3VxVmVxQjFBT3BCMUlQOUhBUHBCMXdENi9n
MUx6VUE2a0hVZytrSHRnMlBaQjJ3TnRtdmFSYXBSNUkKUFpCNklQVkFEL2RBMmdIMzhBcE96VXM5
a0hvZzlVRHFnVzNUQTJrSHZHM1dTNnBWNm9IVUE2a0hVZy8wY0Era0hYQVByK0RVdk5RRApxUWRT
RDZRZTJEWTlrSGJBMjJhOXBGcWxIa2c5a0hvZzlVQVA5MENYZE1CejU4NmxmLzNyWDlUUTBOREQz
WmVhbDNvZzlVQlA5RUI2CkQrdUp0YnJ0MmRRbEhmQ2RkOTVKbi8zc1oyblJva1hibnNXcFJxa0hV
ZytrSHNqaGdmUWVsc05CYVhGSlBOQWxIWEJKTkV1WmxNd0QKYlcxdEplTlZMS050UVlkaWRVL3BV
ZytrSGtnOTBCVWVLSGtIdkdYTEZscTdkcTNSZGVuU3BkVFIwWkczM2sxTlRiUm16WnFDLzlldgpY
MStRbkx3VitwZ2p3cGRmL3ZLWGFlREFnWFQ4OGNmVEs2KzgwdTBXYlFzNmRMdlIyN0RBMWF0WDA0
MDMzdGh0R25xZVYvRDFuSFFQCndQMmhPMEpuN21IZG9WOHFvK2Q0b0xJVXBqejY2S04wKysyMzA2
eFpzK2p0dDkrbTF0Wld3M2JLbENsVVUxTkR1KzIyRysyNTU1NDAKY2VKRU91ZWNjMmpFaUJHeFlt
Kzc3VGI2NmxlLzZ0UEhJaVVBeThyS3FLNnVqZ1lOR2tTalI0K213dzQ3akk0ODhrZzY2S0NEakE0
SgpaRDBhL052Zi9wYis5S2MvR1JzZmVlUVIyckJoQTczNDRvdmRhdk8yb0VPM0dyeU5DbHUzYmgz
OS9PYy9wOS84NWpmbWV2ajYxNy9lCkxabys4TUFEZE1vcHA1UkVGblQveGplK1VSSmVZU2FsdW9l
RithYjUxQU5aUFhEbGxWZDZQLzd4ai9sQnRmQ3dZc1VLNzl4enovVlkKZ1BrLzRvZ2p2Ri84NGhm
ZTJXZWZiZkovK01NZnZKLzk3R2ZlNmFlZjdwV1hseHRZVlZXVjk3blBmYzVidG14WnJNQ1dsaFp2
enB3NQpIbmZFWGtWRmhjOWJaV2c4Y3VSSWIrZWRkL1ltVEpqZ0RSZ3d3T01PT0JhM2I5KyszdVdY
WCs3VjE5Zkh5dXZKd0U5Lyt0TVJuL0FiClVMZWF2QzNvMEswR2IyUEMwTzV4ZmZmdjM5OXZDME9I
RHUwMkxVODc3VFJmcmw2N3hjWnZ2UEZHeWZYdWludFl5WlZNR2ZZNEQyaS8KUzVvbzFNTFhYbnZO
ZEh5NG1OQUIvdk9mLy9SWmZPYzczekVYblh2QnZQVFNTOTZrU1pQOGk1R0hSYjM1OCtmN05IR0o4
ODQ3ejhkMwpMOXFaTTJkRzBQbXQyM3ZoaFJkTVo4dHZ3QkU2ZmpQMitDazNRdGVUQVQvOTZVOERm
dUJSZ1c0M2QxdlFvZHVOM2dZRThtaUg5NU9mCi9NUy9SdDNycDdzNjRJOCsrc2lyckt3TXRFRlhq
MExTTys2NFk4bTkyaDMzc0pJcm5UTHNFUjdRZnJlb0lXaHNMK0szWE9LbmE3NkcKaVA3MnQ3L1Jx
YWVlYXRKSlAvdnR0eCs5L1BMTGRNd3h4OURUVHo5Tm1MZkZmTlFPTyt5UVJHSldVbU5ZMmcxOSt2
U2gvZmZmM3dXWgpORi9vZE9DQkI1ci83My8vKzhRUEFmN3dLeEF3QkFjZHAwMmJSc2NlZTJ5RXZp
Y0N2dmExcnhrLzMzTExMWFQ0NFlmVEZWZGMwZTFtCmJnczZkTHZSVzFIZzVzMmJDY1ArTjkxMGs3
bTJ4bzhmVDdObno5NHFHdDE4ODgya2krKzQwNmU5OXRyTFREOWhXaXFmd0EvYTlOWmIKYnhuVU04
ODhNeCtTdkhHNjZ4Nld0MElwNGlmU0EwVjF3SmluNWJkWDQ3Q1RUam9wWitlcm5rVW5pZVg5a3lk
UEppelF5aFY0bURtQwp3a1BZRVZnWTBLOWZQM01EYW14c3BGdHZ2ZFV2eGlJT2ZxdW1oUXNYRWpy
eW5oNncrQXJ6ZnZqZldtRmIwR0ZyMmI0MTVENzMzSFBFCmI0djB6anZ2a0Y0ckYxeHdRZUE2NkE2
OTJ0dmJ6UU13VHozUjlkZGZUMS81eWxlb3VycTZJTkY0YU5kdzFsbG5hYklrY1hmZHcwcWkKYk1x
a3gzcWc0RlhRemMzTjVwQU45UWdXT1JVU2hnMGJSand2bkJjSkZsUjFKdno2MTcrbTNyMTdCMWhn
aGVVZi8vakhBQ3pOcEI3bwpLUjdBYW5kMFZ0cjV3cTU5OTkyMzI4MmJNV01HTFZteWhIZ2RDRjE2
NmFVRmQ3NTRTTlpWKzl0dnYzMUpiZWpPZTFpM096NFYrTEh5ClFNRWRNQzRLWGVVTVMrUGVVbk41
QUtzaXd4MWpIQTFXTm5jbW9BUG5SU0FSRm5mY2NVY0VsZ0pTRC9SVUQyRDR0N3ZENzMvL2V6UGEK
ZE1rbGx4UWxHaWZwYWNEd2MyZnZCY29MY1hmZXcxeTVhVHIxUU5nREJYZkFIM3p3UVlBSEwzd0s1
UFBKOE1wa3N5ODFIOXpPNG1BTApWRGg4K09HSFlWQ2FUejJRZXFDRUhzQTJ3Ti85N25kRmN3eDN3
RVV6aWlIOHVOM0RZa3hJUVQzRUF3WFBBV00vcnhzdzFJVEZXTHdTCjJnWG5UTjkxMTEyRSthR3VE
bkY3ampFTWpmbmdmQmVEZExXT0tmL1VBejNOQXovODRRK0xObW54NHNYRXV5WU0vZkRodyttUVF3
NHAKbWxjYzRjZnRIaFpuUXdyckdSNG91QWZFU3NaZXZYcjUxaTlmdnB5KzlLVXYrZmw4RTd6SHQ2
VERTa2x5OVZRdXQzeklrQ0ZwNStzNgpKSTgwVGdkS1ErcUI3dkNBKy9iTFp3aVUvRUg5NDNZUDZ3
NmZweksyamdjS2ZnTkc1NHNUcGg1KytHRmY0M3Z2dmRkcys3bjIybXNKCks1MjNwYUNydFYyZDl0
NTdiemViZDVvUER6RUwwQjUvL0hHemloc25TL0ZoSU9hRUx5eDB3VGFucExkNmpCSmNkTkZGT1dY
aDZmeXEKcTY2SzRHRWIxY1VYWHh5QkF6Qm16Qmk2NFlZYllzc0F4Sll2M3FkTi8vakhQd2p6MzhE
UEZUQkNjTjExMXhGT0NKbzNiNTQ1WGhSMAplK3l4aDFrUWc5WHZtelp0TWx2SmNMcFpybENNRHNv
VEsycWZmLzU1bWo1OXV0bFNzM0xsU3ZyLzdaMjc2K1ZFRzhmankxdlppV0FoCm9qYmVzRnUxRWxG
Y0ZFVWJSWEJoOFFJMkZvbzNWRnhoRjMraUxpd3NDTExkcnBldFZGQVFRUXZ4V29rV29saW9oUWhX
Vm9KL3dMemYKeitEa25Vd21PVWxPa3Q5SjlubmdjSEtaUERQejVKeDU1cm16SWJqMjJtdDlhQXNM
cW1MTVcwUGFBcTcwKy92dnYvZnY5TU1QUC9SUwpWNnpKSVF5RzdFdGtlRU1xdS9qaWk0czc3cmlq
ZVA3NTU0dExMcmtrUlpVOWgwYWtmanh6NW93ZjR4TlBQT0ZENWJLTjdhS253UHZ2CnYxOVNZbXp2
WnhBdmJRMHJpV0VINjZOQUNBanVFOTBzRDBXbnRJKzFBSHQ1UkR2dTVSSng5TUVmMnY3MjIyKzFQ
a2o2MFJVVUUrbEkKK0tHM1Z2azgvZlRUWFZINGR2Lzg4NDk3NnFtbnlzeGMrZ003T1pGVmNOS0g0
cENkNGhhenVNVkVuTkpCT29XRTFKN2pXVEo3a2N4RQpDMzNqOHlRT09ITGtTQ1hybDVpK1Uzckoy
ak5hK0oyWXJaTURpMVA0UjltbjdOKzF0dWtGeG5uWlpaZjVKQW92dlBDQ1UveTIrL1hYClg5MWJi
NzNsSG56d3dVci9TbW1ZUGw2ZWJ6T0dnT1NUVHo1eFlyUisvRElaT0tram5UWWlQcnRhbkhDRlRH
aVBQdnFvSXdGRkcvQWUKRktyajN5ZHpqSDhiSVVzWTJaRzB3YWpjaTl2SnJPR2srV25ycHJ4My9Q
anhDaDUrTjlCeVRsQW9YbVVNY3lYaUdESkhmdjhocXgzSgpjMGl3TXdYTXRZWk5NWGJEdVh3S0JM
NWJoSU8rVTFLQ2pNcWZPaXhRTUVqRjcvbDdjU2FzdnZocHZ5MEQzdHZicTQyUjhmMysrKytkCmgw
UEtURkplTWo4eWM1Rk5DOFpPeWt3WUU0dzV6SjF2bUxNa25sYjhTazVSZVlibmxDU2o5Wm40cGlR
Ky83eVNhOFNYL2JHa1JLZFMKa083ODg4K3Y5VUUvbXhqd0w3Lzg0a2pmU1ZzbDhLamg1NElTTEpT
THBMeGNhMjIySFFNSVZjU2pRbHZsRmZlYnU3Z3pGdWZUcDA5WAo1Z3BUYmNwNHh1OUpZWEJadWpC
ZkdEQloxbVIzOUcwVUsrN0l3SlJMaVVyYVZTV1ppSWVUUFE2L0hmQ0hqNXlUc20ybnVyZ2tCcXlZ
CjRaSk9Eei84OEZRazhYam5XTU1tbllBaFh5d0ZBdDhkeklDWnVWVE81VUljRnBmNG16elFYUmFw
SmlwdXc0QlZoQ0E3dGc4KytLQ3AKdTlwMUZ1UXJyN3pTTHdnd0dwaENEbEpHVDc1clpSL0tOZlhY
a0F4VFJpQTdlbVA3OUlaVW9YNU1uMy8rZVhyTHlYN21mdnp4UjZlQwo0dTdPTys4c0Y3UHdYall4
NEpBdUZLbXpEVjUvL1hXUEc0azRoVzNIQUQ2cDY4dXhLN2ExOVhkRUN0SjB3NkVZOEhSWVRtcHJ6
MlRaCkdJSXowQ1I4QjJZdWM0TDc5Tk5QeS9ldGhDN3V0ZGRlcTdYbjk3OEo3cnZ2dnRwelVuZHZl
bXpVKzB0aXdHalJ3dnY0NktPUFJxVkQKRHRuVWExaXVUN3RtRkJpRkFVTkcyWUpMaVNIOGNlTHZh
NjY1eGcxZGNQb3lZSmc5NnRqYmI3KzkvQk9Ic1NETnlFN2E2ODBIU1JXMQpKNnJMTmdoU2YrZ1BL
WlVGdndtVW5hb3lScExsSTFsdkFsVGM5Q0ZiN0thbTdvY2ZmcWowd1hOdERKaDdZZndVMUdnRHBN
L0xMNy9jCkY5Wm9hOWQzRE9CU0JaMXlIS2hzWmZOdDY4TGZvd2hJR0R2ZnFLc1ZidEw0SEhuSTQv
YmgrS0dISHZMYWpkeURvY2hJYU1zR1p4TjgKODgwM0ZSTUFoVW0yMlpSdTZpOTNmeWtNV0lrN3lr
MnpzdGs1SmN6SVRXZjBhMU91WWFNUDFoQ3VnZ0tCQWZmMmd0YmlVd0V4TzUrdgpsUlNQT2NDQjU1
NTc3dkhPSzJuOFhhNzlwbXZVRndhbkZyWkMwcXpQYXFYSkZGb01mZDFiOGtGVGVpOEFBZnlrNHBO
cXRjQUJwaXZRCkIvbDBBVWw1amM1VkFWODZmMG1oaFNTcWNMdjJqVU5WbkE0VGh5NUtPbTRDTGFh
K0NUbVdOMEZYUjZHQUIyZWpBTEpUaHNQc044NTIKVWhFV1VzVm43NGVMZmNkQSt0QzRWQjd2anV4
cG00QjNxOHBZWlRPY3lLaUYzQVJTVmRkdVBmbmtrNFhzM0pVc1VuRWpZbHRqa0pZaApQczBlRTBJ
amlkdG5oT0kzaGJNWEVRQUdkUXJ3ZjlicTZtOVF5clJ2NnNvNnhtNVg1bDdEdW8zS1dwMFRGQWlj
ZUl4dGhXS0NmWGxBCkVTNHJYU0ROeUt1MGMxYzVDYmdKZDN3ZEd4NWxFbEZEOTdIM3hnTzcrKzY3
L1J6RWFKemlodU5iMldNa25YZ01IRC95eUNQWnR1R2kKR0VUbEdhVG9Oa0J5d3ZFSWFWN0o1TnVh
K251b3V0TXh0VW5BU3RGWmFSOVh1TXAxaHVvWDIyd2I5QjJENGtjclkxRHhqRGIwbFh2eQpIcTg4
eTl5eFZ6ZEI3SnhHVzFUbmJZQVRYRXhQbklXWTM2N0RVaVJnTkUyQnZ2S0UzaGV5anIyRzdjc2ty
Tk9kcDBEZ3U2UEdEQ0dGClVyMEVxWVZFR3ltUWcvWHh4eDh2dnZ6eXk0SUtQV0xJYVpPTjUwaGVW
RlJDZWtRYVJxSklRZlYvdHlyY1RkSDZqei8rMktPbFdwTnMKcldrWHRYT3FxNlR3ODg4L3A1Y3E1
MGg2UWNybUJ0V2lwTEwxWVUyVmh2K2V5Q080SUJSS2pMMlF5anJYWkt0cmFkWXdxV045TlJ2ZQpa
dzVJbGsraS9iR0EwS0tUSjA5VzBPVXFYMVVhUkNlTTg5aXhZOUdWd2hjRWdGNWpBT0ZPU0dXTUU5
Qy92TkFtc2ZGOWpkSG51WUpECnBRdDlxQm56SlVFT2E4bCt3QnhyMkg3TXkvcmNVUW9FVGp6bWxr
R0xvTi9KRXNvUlFnbzAvWEozeTdHWWFPbmswdFIzVGdKT3c1QlUKWmFXQ0Y5eElyVjk4OFVVVDJv
M1hVM3RpT3ZhdTU5aDFOMEc4Nndjdm9UUk5RTWdSYmZDKzdnSjlwVTlzMElUWXBQTkRHekEwZEti
UApHRko3TVpKK1gwanAyZllPK2tyQWpJWGZYMHlmWEczcXZtT2V1djBTSkdDYzVnSmRzWlB2TjR5
MWh1MzNQS3ovM2FSQTRMdGIyNEQxCnAya0VlWTc2MnI5WFhIRkZyYzFubjMzV2FpT3RQZEJ3UWQ2
NHhmWFhYMSs1SzFXdHJ5V3NXTC9LOWE0bmxISUx3STZZRW05RFBxVHAKUkVwdmc5amVTVHRzdkdK
YXRVZklPQ2JuSkovTVlhcnFOdklremxhcVFodUFkSXpkV1RHeXRiR05kU0hVZmczNEZHc2VEanQv
WTgrTApBZHM2VlhrTWRwc0NjZmFyS1pKdkRKMzlIR3ZZMExIWmM4dW53S1FNR1BMY2ROTk5QbnVS
d2pGcTFDS2pFSG1adHdGVWd2eDUwOUtGCjRLVVNrcVM2M3VoeGxnbWdKQnpGalRmZU9QalRsQmty
NEdleGlmTlYweDlacTFKNDg4MDNDekpDVVZkMVNuamdnUWNLSmQrb2RjR20KaGdvMzFKcDk5ZFZY
eTBMcnRZWmJYRWdaTUJ1Q3ZwQnpydHBrQ3VqYmg3VWZsd0pzTHRuZ0FtU3BvbHJhTHNIVWE5Z3V6
ZFhHTWk4RgpKbWZBVEFkNzdYdnZ2VmNjUG55NE1qdlNLeXJXcjNKdHlBbUxMcEpqeXV6d1JNWlRW
MHFJWG1oakJoeEx3NzJRZEd4TTNkYTBaRnRzCkZ3WU40OGVqbWlwU3FiZDF4MjU2TllQQmtqNlJ6
VTBLYkdoZWZQRkZyM1hBWGowbXBMUWVJbTFUT3pZRlBPQU5kcGNDZUQ4SFRkSEIKZ3dlTElacVBx
V2MzOVJvMjlmZ04vMjVTWUJZR3pOUUpCM3JqalRjS2VmRldLQkV6dThxTm5pZms2RDE2OUdqdEth
VGpWMTU1cFhhOQo3UUtoTUFHUXBITUZIY0w5TWI2UmFuRXVDMEIrWW5uY2hsUHZCQ2J2NVVLZTNZ
WGlJOHZyVXg2Z2JtWURjK3V0dDJhN0liUUd5ZURyCnI3L08zaDl5RWVrbkJsVHg1SkR1QXprR3ZC
LzFjUHVNK1Z4dk8zWHU1N0hvTy9VYU50WTREYzl5S05DYkFmZVZKbU5TeUlHbFVPckcKK0ZLUlNq
MlZtejFQbE03Unh4dW5qOEdZKzBqYXFGbGpHSE9NTWQ1d3pLWUVkWGtNQ2drcVR4Vk81WStuVmor
WEhmNTdvQ3hnQllVbgowQzdrNG5saGtOaklmL3JwcC9UUlFlYzVSa2tSaEQ2UTh3Nm5hSVBCYmxL
QXdockU5QVBFUjZmL2d5bEd2Y3RyMkJUek5aeTdTNEhlCkRKalFreUdxd1VDQzFHRnFUT2tTRlRU
TUlyVUQ4b2NqUktWTDRnVEdtVHFOVVlWbktHQzM3UUtwTXhaMllPekIwSWRxVTlkZGQ1My8KZE1F
MWRodlUzcWh4NWJsWEsrT0l0b0FFRm1OQVNuZHdLbzY3RjJvVzlCaFkxSysrK3VyNGtoM3ZFQVZp
OVRPSlRpZ1ZPalhzOGhvMgo5ZHdOLzI1Um9EY0R4bGJUUjVwTXA1dXFDSldxTW0yeTFUbk9XS2lk
VS9zbHpJemRkUmVWSnBKZkRBcVJLSWhUN0FzNGxzQTR1d0FsCkh1TTRYS1JMTmhQdnZQT09qenR0
eStyVUJYK1hOc3AvWE1UcXdQZ1pIS0tJc1NWYlZsck9rVGpwb2VLdDNRQUFDSFZKUkVGVVRabXoK
WWx4Tng4UjNwOERtb3crazd3bHRSdnBiNklQUDJrNUxnZmozTnBmMzg2NnZZZE5TM0xEdkVnVjZN
MkFHSDRjTTlKMU1xcTZrL3UzWQpnSlFOMDB5QlZKaUhEaDN5M3NUcHZmZzhUZjVBV2tPa3Z6NUFZ
ZzZrN3FZYXZqbGNhWHBKMU5ESzVPVHR2bk00WHlGdDRtM2RCa2lUCnFLV1ZCN3JTREh2eHRvQ3FP
RTRuQ1Q1K2E3bXdyS2ErVWdhOFh3a2Rtc1puMS85UGdiLysrcXYwSWNDK1NzcmF1V0RYMTdDNTZH
RDkKN0M4RkJqRmdpclJUSUgwSXhNNUZPQjVSeEw0SllId3BCRy9KOUhwNmpzUklKcWNVeUJQOTNI
UFBwWmNyNTR3cHRSdkNtSlRjbzlLdQo2UVJQWVhielpQN3FrNFdKbk5PeGt4VmV4cWpOWWI1NFFN
OEJPRldGVEU5Ti9WMTQ0WVhldXp5K2o1Zm9HS0JVbEJVMDBCSVArcTRRCnZ5UFVtVG5Idks2NHht
eW40aFZqb2xzRkxyTFlCUk1OT2R4VjVXdTJlYzIxaHMwMklldG9rUlFZeElDWktjNVVzYmR3bDlt
em1HTHoKQ1FERElkVmpFK1RVeFNSVzJGUUFJT0FqYmpWVmwzS1BkSWRuejU0TnpXcmYySkxUaFpz
NDJOdHV1NjFRK2JMV3NDWjI5WGhrSXlXUwpwcEcwZWwwQjVrc2NiZ3BEbmErZ2R3cTVhM0ViN3FQ
MjNnU3BaSm5hOXNQenVmNXkxMEo3TmsycFdTSTRvWVUyVGQvOE51SVVxSVJUClhYREJCVTNOeTlD
WHhnYVpHN2xOWWFaWmVRa2JQcjhIMHE2cTFGNDJ4cnRzUE5GQllISmpvc2RIUVJXNWlrc3Z2YlI0
NXBsbk5tN2EKY24zdmgvbzVIc2NjYTFqY254MGJCVklLREdiQTMzMzNuVjlRdWpySklMa1NSaE9T
SWlCaG5qaHhJaDFQNVR4Vko0YWJYWjNBWUg0cwp5TG00UWlSa2NqNDNnWXJhK3dVbXZzOUNob1Nt
V3JKZU5VemlDT2JGd285dGxBUVdiQ2l3L1pLUG12bjJoZFFaQzhhbUdyMTkwZmoyCk9RZTMzTFVV
T1pzTTV0UUd4SEFIWUpPVDgyRG1mcTYvM0xXQWk3aG8zbGtzOFN2ZFkzSG16Sm5RcFBFYnBoQTJo
ZEN0VGZ1QWlTQ1YKU3RGWXRBRTBTYlVEZi8vOWQ5c2poWXFQRkNwMzUzOG4vTjdRWmlCOXpRbnAv
Nmp2SmlJZDYxZGZmZVZqK3ZrdmsyV01EVzJhZ3p0OQpKajFYclcyZkV6NWN2L2ZlZThQaGJOOXpy
R0d6VGNZNldpUUZlak5nVXYyeFNBTEVnckxRa2Fxd2JaZjl4eDkvZU50cjhDWStjT0NBCkx4bVla
cTlLS2Roa3A4RTVxU3RnVTN6NzdiZDlISEw4RElzdGMyRnh6QUUyS1pKZjVGU3JMS0FrejhCK2pY
TVNEQjVucStQSGovdk0KVzJUOTJ0dmJ5NkhkZUExSHJGdHV1YVZzTjFUNkJVSE9Mc3M3MndTcWxl
dWwvVGJtRXFSazZOUDJQb2FNQVFtWTBveXg5Z0JwQlViYwpCTVJPQjlNQ3FrdzBIR2xpbHZqWnNC
R01yekh2TnNqMW44TVQ0NkRvU0Fwek0rQnZ2LzIyTWdSczZuM0R1MklFcUk3VFVKNit6bkt4Citw
bjFJUFVwaVBzYiszak9OV3pzc1J1K2xWRkF6a1ZPNmxiOW43cURjaXc3T1F3NWltYUxIUDZqeGRM
Smp1TlU3Y2hSaElIckhPdkgKN3BSZ3daOWZkZFZWN3QxMzMyMHR3aURweUtsYWtydi8vdnRMM0tH
UDhFMWZDbjF4V2xnNmxlVmpabW1adTRCTG13bW5oZHRSVHBBaQo4eW5JTTlpUjBEKzBiL3VtM0tL
WWNCWlBpcmZ0WEtvNTN4LzlhckZzYTlwNEQ5cElSVmdidHhZNkowa3MrOXlwVTZjcTdiVXcrcUlX
Cmtpckw5aHdIV2twS2JTM2hOMlFNWlVjNm9OQUJwU1VEemNYc25jd0tsVUx0bEdpVXV0L0pMdTNi
S1pUSmlaSEdhR3JIWWo1TzZVVkwKdkFHL3BIZ25tM3V0UFJlVU1NYXBHbEx0R2NwREtrNDgrd3dY
WldhcFBhTk1aNDN0eDd3aFRaRjcrZVdYYS8welgybHhuTFJYZzdyTApsWDFrbm4xQTVweHlYRXFV
MCtmUlVkcE91WWFOTWtCRHNtb0tCTDViaElNaHM0VTV3Q3hrQTNJMzMzeXpVL2lPWHdnbGVmZy9G
NVZqCmxFbkpQZnZzczA2Mlg4ZGkyUVlwQXdnTDQ2YnZMaldHNlp1eHRPR1M0MVIyZUN6WVVwSDVL
a3ROejB0cUhWd3hLTzJVallCc2EzNlQKazk1ck8rYzVHSXZzbnEzelpBNHdOdG1iSytpZ3Z6UWFm
bk1qVC9CeXZteFNPR2VESlduZktiYldTVEozTFBBcGJEdUdGQjkxai9uOQpzTGtKdEpkemxWUFls
cE1kdXR3Y3NSbVUxcUhDbkZOY1VwczdxY3Y5K0FPdTlGdWFEeWZOaG9NV0FIT1VSRjcybmJibkhQ
cXdXWkZLCk0rM1N5VFRoMktpRTU2Z0NKaCtHV3J1eExzZ0h3WS9sb29zdWFxeEVGc2JDdDhJQy9i
dGw0OWdWNkVOYWhuSk9WQjlqczlRVnBINHUKZjF1TW9XMEQweFhuMEhaanIyRkR4MkhQblZzVUNI
ejNQQTZ3WTJwWHEvL0NPQ0NjSGgvcVRtcW9yZ1d3WFJJcmkwcWRZK3k5ekE5VgpORm0reGdTOHhj
aytKVVk1SnRwV1hLVGRKQjFreUNZbFpscVFBcE1ZWCtiTVdJaVJKclkycDVwdlJiN2xUUnkzb0Qx
Wms3QnA0cUNICmx6UHFabFQyT01nTnFTKzk1YkE2UGY3bm4zOTZleWNaenhncjVvMmxBNzhWSWdP
d3BXTy9SWTNjRlFnSERNNlltSEFlZSt5eHJvL08KMW02dGE5aHNCTFNPV2lrQXY0WHYvcmUxbGQy
c1VJRHdtN1NnUktYQmlDZGRFM2lNMkdVdEN4RzJmcGtOL0dmTWZvYmdndUVUMmpWWApzb1loWTJ4
NmhvMFVNZUZyQWpZLzBrd01taElidUdDdkg0VEFIaklLcklRQy8xbkpQR3dhUmdHamdGSEFLR0FV
V0JRRmpBRXY2blhaCllJMENSZ0dqZ0ZGZ0xSU1lSQVY5MTExMytialF0UFRnV29obTh6QUtHQVhX
VFFGYnc5YjlmbmRsZHBNdzRCdHV1S0hnWTJBVU1Bb1kKQlpaSUFWdkRsdmpXbGpkbVUwRXY3NTNa
aUkwQ1JnR2pnRkZnQlJRd0JyeUNsMmhUTUFvWUJZd0NSb0hsVWNBWThQTGVtWTNZS0dBVQpNQW9Z
QlZaQUFXUEFLM2lKTmdXamdGSEFLR0FVV0I0RmpBRXY3NTNaaUkwQ1JnR2pnRkZnQlJRd0JyeUNs
MmhUTUFvWUJZd0NSb0hsClVjQVk4UExlbVkzWUtHQVVNQW9ZQlZaQUFXUEFLM2lKTmdXamdGSEFL
R0FVV0I0RmpBRXY3NTNaaUkwQ1JnR2pnRkZnQlJRd0JyeUMKbDJoVE1Bb1lCWXdDUm9IbFVjQVk4
UExlbVkzWUtHQVVNQW9ZQlZaQUFXUEFLM2lKTmdXamdGSEFLR0FVV0I0RmZER0d2YjI5NVkzYwpS
bXdVTUFvWUJZd0NSb0VGVWdDZWUvVG8wZUk4SjNqcHBaY1dPQVVic2xIQUtHQVVNQW9ZQlpaSmdX
UEhqaFgvQTNDc0xlUE9pNXl3CkFBQUFBRWxGVGtTdVFtQ0MKCkluZGV4OiBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvYmF0aWsvdGV4dC90ZXh0RWZmZWN0My1leHBlY3RlZC5w
bmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlw
ZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKaVZCT1J3MEtHZ29B
QUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFETzJsRFExQkpRME1nVUhKdlptbHNa
UUFBZUFHRgpsRXRvMUZBVWh2K01LWUswZ3FpMUZwVGdRb3UwSlQ3UWlsRGJhYlhXa1hFWSs5QWl5
RFJ6WnhwTk16R1pHUitJU0VIYytWcUtHeCtJCml5cmlRcnBRY0tVTGtVTHJhMUVFY2FVaWlFSTNV
c2IvSnUxTUtsWXZKUGx5em4vUDY0WUFWUTlUam1ORk5HRFl6cnZKcnFoMjZQQ0EKdG5nQ1ZhaEJO
YmhTaHVlMEp4TDdmYVpXUHVldjZiZFFwR1d5U2NhSzlSMlkrTFJ0OWYxTGoyTHY2NTcyK3A3NStu
bHZOUzRUQW9wRwo2NHBzd0ZzbER3YThWL0xKdkpPbjVvaGtZeWlWSmp2a1JyY24yVUcrUVY2YURm
RmdpTlBDTTRDcU5tcHlodU15VG1RRnVhVm9aR1hNClViSnVwMDJiUENYdGFjOFlwb2I5Um43SVdk
REdsWThCcld1QVJTOHJ0Z0VQR0wwTHJGcGZzVFhVQVN2N2diRXRGZHZQcEQ4ZnBYYmMKeTJ6WjdJ
ZFRxcU9zNlVPcDlITTlzUGdhTUhPMVZQcDFxMVNhdWMwY3JPT1paUlRjb3E5bFljb3JJS2czMk0z
NHlUbGFpSU9lZkZVTApjSk56N0Y4Q3hDNEExejhDR3g0QXl4OERpUnFnWndjaTU5bHVjT1hGS2M0
RjZNZzVwMTB6TzVUWE51djZkcTJkUnl1MGJ0dG9idFJTCmxxWDVMazl6aFNmY29rZzNZOWdxY003
K1dzWjd0YkI3RC9MSi9pTG5oTGQ3bHBXUmRLcVRzMFF6Mi9xU0ZwMjd5WTNrZXhselR6ZTUKZ2Rk
VXh0M1RHN0N5MGN4Mzl3UWM2Yk90T005RmFpSjE5bUQ4QUpueEZkWEpSK1U4Skk5NHhZTXlwbTgv
bHRxWElOZlRuanllaTBsTgpMZmUyblJucTRSbEpWcXd6UXgzeFdYN3RGcEl5N3pwcTdqaVcvODJ6
dHNoekhJWUZBUk0yN3pZMEpOR0ZLSnJnd0VVT0dYcE1La3hhCnBWL1Fhc0xEOGI4cUxTVEt1eXdx
dXZDWmV6NzdlMDZnd04weWZoK2ljWXcwbGlObytqdjltLzVHdjZuZjBiOWVxUzgwVkR3ajdsSFQK
R0wvOG5YRmxabG1OakJ2VUtPUExtb0w0QnF0dHA5ZENsdFpoWGtGUFhsbmZGSzR1WTErcEwzczBt
VU5jakUrSHVoU2hURTBZWkR6Wgp0ZXkrU0xiNEp2eDhjOWtXbWg2MUw4NCtxYXZrZXFPT0habXNm
bkUyWEExci83T3JZTkt5cS9Ea2paQXVQR3VocmxVM3FkMXFpN29ECm1ycExiVk5iMVU2KzdWVDNs
M2YwY2xZbVRySnVsOVduMklPTjAvUldUcm95V3dUL0ZuNHgvQzkxQ1Z1NHBxSEpmMmpDeldWTVMv
aU8KNFBZZmQwajVML3dOQVlVVkRYeExPenNBQUNBQVNVUkJWSGdCN0owSFlCekYxY2ZmM2FsTDdy
MFhEQWFNTWNVUWV1OHRRQUlFQ0JnSQp2ZVFqQ2FHa0FZR0UwQklTMGlCMFFndUIwSHNBVTJJTW1P
b0NicmhYdWNpU3JIWjMrLzNmN00xcGRUcEpkNmVUZE5iK0IvWjJkM1oyCnltOTJyUGRtM3N3RUhE
aWhJd0VTSUFFU0lBRVNJQUVTSUFFU0lJRk9JQkRzaERTWUJBbVFBQW1RQUFtUUFBbVFBQW1RQUFr
WUFsUkEKK0NHUUFBbVFBQW1RQUFtUUFBbVFBQWwwR2dFcUlKMkdtZ21SQUFtUUFBbVFBQW1RQUFt
UUFBbFFBZUUzUUFJa1FBSWtRQUlrUUFJawpRQUlrMEdrRXFJQjBHbW9tUkFJa1FBSWtRQUlrUUFJ
a1FBSWtRQVdFM3dBSmtBQUprQUFKa0FBSmtBQUprRUNuRWFBQzBtbW9tUkFKCmtBQUprQUFKa0FB
SmtBQUprQUFWRUg0REpFQUNKRUFDSkVBQ0pFQUNKRUFDblVhQUNraW5vV1pDSkVBQ0pFQUNKRUFD
SkVBQ0pFQUMKVkVENERaQUFDWkFBQ1pBQUNaQUFDWkFBQ1hRYUFTb2duWWFhQ1pFQUNaQUFDWkFB
Q1pBQUNaQUFDVkFCNFRkQUFpUkFBaVJBQWlSQQpBaVJBQWlUUWFRU29nSFFhYWlaRUFpUkFBaVJB
QWlSQUFpUkFBaVJBQllUZkFBbVFBQW1RQUFtUUFBbVFBQW1RUUtjUm9BTFNhYWlaCkVBbVFBQW1R
QUFtUUFBbVFBQW1RQUJVUWZnTWtRQUlrUUFJa1FBSWtRQUlrUUFLZFJvQUtTS2Voemp5aEpVdVdT
RjFkWGVZUjhNMjAKQ1N4ZHVsUldyVnFWOW50OGdRUklnQVJJZ0FSSWdBUklvSFVDVkVCYTU5TmxU
eDk3N0RFNTl0aGpwWC8vL2pKcTFDZ3BMUzJWN2JiYgpUdjd6bi85MFdKNU9QZlZVT2ZqZ2crUHg5
K25UUjI2KytlYjRmYll1eXN2TDVZRUhIc2hXZEduRmsxakd4SmRWMlJzOWVyU01IRGxTCmR0NTVa
MGxrVUZoWUtIZmVlV2Y4dGE0c1N6d1RhVngwUkg0N0lzNVVpOVJXZlhabDNsSXRBOE9SQUFtUUFB
bVFnTjhJVUFISndSci8KNXovL0thZWZmcm9SZmg5ODhFR1pPM2V1dlBUU1M3TFRUanZKaVNlZUtI
LzYwNTg2SmRlYWg0a1RKMlk5clFzdXVFRCs5YTkvWlQzZQpiRVI0OTkxM3k0b1ZLK1NkZDk2Ump6
LysyTlJEYXd4eXVTekplSFJFZmpzaXptUjV6OFF2bC9PV1NYbjREZ21RQUFtUUFBbDBCd0o1CjNh
RVEzYWtNYjc3NXBweDk5dGxtNU9HblAvMXB2R2hiYjcyMUhIYllZVkpRVUNBMzNYU1RxR0NsdmZF
ZDZmNzg1ejkzU1BUUmFGUUMKZ1VDSHhOM2VTTmVzV1NNVEpreVFmZmZkMTBUVkZvTmNMa3N5Rmgy
UjM0NklNMW5lTS9ITDVieGxVaDYrUXdJa1FBSWtRQUxkZ1FCSApRSEtzRm5YMFkvanc0ZkxqSC84
NGFjNSs5ck9meVdXWFhTWTFOVFhtK1Q3NzdDUFBQZmVjN0xubm5qSnUzRGg1K2VXWHBiNitYcTY1
CjVoclpjY2NkamVuV050dHNJNWRmZnJsczNydzVIcWNLWnIvKzlhL05DSWVhRzExNzdiV2lmbDUz
NElFSGlvN0FlTjE5OTkwbnUreXkKaS9UbzBVTjIzMzEzZWY3NTU3MlBaZi85OTVmWFhudk41SEhF
aUJHaXh4VlhYQ0VORFEwbTNBOS8rRU41KysyMzViMzMzcFBKa3lmTAp5cFVybTd5dk42bmt2NjEw
Tko1VXlxamhyTlBSSlRWeDB4RW56ZHRUVHowbHlSalk4QzJWcFMxR3llck14bW5Qa1VoRTdyampE
dGwrCisrM2pyQlBONzFKaFlPUFRjeWI1ZmVhWlp3d0xyVlBycGsyYlp2eWVmZmJaRnVPMFlmWGNW
Zldackx3ZmZmU1IrVWIxK3gwelpveFIKOWpkczJCRFByakxWTXV2b241by9xaUthYUM2WXJmTEVF
K1VGQ1pBQUNaQUFDZmlOZ0VPWFV3VFErKzZjZE5KSktlZXBwS1RFR1RacwptTFAzM25zN1J4MTFs
UFBwcDU4NnA1eHlpZ1BoeWZuZDczN25QUG5razg0NTU1emo0THQyb0dURTQ3M3h4aHVkNHVKaTUv
YmJiM2RnCkR1VkE0SFl3b3VJY2ROQkI4VEM5ZS9jMmNWaVAyMjY3elFtRlFpWitDT2NPQkR3SEl4
bk8wMDgvYllNNFBYdjJkS0JBT1h2dHRaZnoKMTcvKzFUbnZ2UE5NMnJmZWVxc0pBMEhXZ1FMalFE
bHk3ci8vZnFleXNqTCtycjFJSmY5dHBhTnhwVkpHbTZhZXRSejc3YmVmQThIVQo1TzJycjc1eUVo
bGdCTXFCQ1p4NUxWbFpVbUdVck02OCtkRHJYL3ppRjA1ZVhwNDVROUNQYzRRd0hBK2FDb040WUZ4
a2t0OXdPT3pzCnR0dHV6bFpiYmVWQTZUWEgrUEhqemZjR0pTbHBuTjQwOWJxcjZqT3h2RmhVd0xT
TEk0NDR3bm44OGNkTlBRNGVQTmc1OHNnajQxbFcKcGxybm11ZTMzbnJMdEJuOTVxRm94OE5rcXp6
eENIbEJBaVJBQWlSQUFqNGpJRDRyYjA0WFY0WHhZRERvWUdTaVNUN1JRK3ZNbVRQSApITE5uejNi
MFdMZHVuUW1qd2l6bWhqZ3FES3FycnE1MmR0aGhCK2N2Zi9tTHViYy9reVpOY2c0OTlGQnp1M2J0
V3FOSS9QR1BmN1NQCm5mWHIxenVZNk82Z3h6L3U1eFcrTjI3YzZQVHExY3VaTW1WSy9MbGVxTElF
ODdDNG53cHd1KzY2cTRQUmg3amZ0NzcxTGVlUVF3NkoKM3g5Ly9QRkdXWXA3ZUM1U3liOEdieXVk
Vk12b1NkcGNubnZ1dVE1R2R1TGVYZ2JxNlZWQTlONWJsbFFaSmRhWnh1TjFXSUhMeWMvUApkMzd6
bTk5NHZaM1RUanZOVVlFWlBmREd2eTBHVFY2TzNXU1MzeSsvL05LVSsvcnJyM2V1dlBKSzg1M01u
ejgvSHIwM3pyaG43S0tyCjY5T2J0K25UcHh0bFdKVjA2MVJCVjBYYWZxL0tGSE4rNHZjYVRoVjRM
RXhnWHNsV2VXejZQSk1BQ1pBQUNaQ0FId2x3RGtnT0RYbmgKQXpTNXNlWlZObXRQUFBHRVhIamho
ZmJXbkgvLys5L0xqMzcwSTNPdFppSlFYTXcxaEZ1QndHaXVOYjVGaXhiSlo1OTlac3lSSUR3Wgpm
MzJ1Smo0bm5IQ0N1ZGNmWGUzcDhNTVBGNjg1U3Z3aExqU09pb29LUVcrNHpKZ3hJLzVJVFlRZ3hJ
bXVOcVFtSytyVWJNazd4MFBuCnI2aFpVeW91bGZ6YmVGcExKNU15Mm5nelBhZkR5RnRuaWVscFBH
cXlkc1laWnpSNWRPYVpaOHFqano0cUN4WXNrRzIzM2RZOGE0MUIKazVlVDNLU2FYeWkwOHZPZi8x
d3dvbWJNcVhSZURFWkVrc1RZM0N1WDZsTy9WYzBQbEdZemgrcTQ0NDZUNzM3M3UrYnc1aHlLWHBQ
dgpWOXVKbXRWcDI5QjIwbGI3c25HMXAyNXNIRHlUQUFtUUFBbVFRSGNrUUFVa2gycFY3ZEoxcVYz
MDBEYkpGVXlyekNwWTZxbjdnWGdWCkIvWFRlUlplcDNidU1PR1I5OTkvWDFUcDBEa2dPditqckt6
TUJMUEtBSHJUdmE4SlRMbGFWRUJVa1ZGMzZhV1htblBpano2M0NzaUEKQVFPYVBDNHFLbW8ydjZS
SmdJU2J0dkp2ZzdlV1RpWmx0UEZtZWs2SFVXS2RlZFA4NXB0dmpBQThkT2hRcjdlWkc2UWV5NWN2
anlzZwpyVEZvOG5LU20zVHlxOHF1TG42ZzM5QlpaNTJWSkxhV3ZYS2xQalh2cjc3NnFsSG1kWUVI
UFZTNWd0bWNVYjV0Q1hRT2x0Y05HalRJCjNNNmJOOC9NZThwR2Vieng4NW9FU0lBRVNJQUUvRWFB
azlCenJNWmhybVJHR0dwcmErTTVVMkVWZHVybTBGR0tSSWU1QW5FdjNUeFAKVjh1Q09aZmNjODg5
WmtuWnI3LysydXhwWVFOWkFTdHh0S09xcXNvR2FYYldubDkxNzc3N3JsRnFWTEh4SGpveDNUcnY2
SWYxUy9XYwpTdjV0WEsybGswa1piYnlabnROaDVLMnp4UFQ2OWV1bnBwRUNrNjRtajJCMlorN0hq
aDBiOTIrTlFUeFFDeGZwNUJmemFRUm1ZV2JrClRCY3NTTlhsV24zcUFnQXpaODRVbURUS0xiZmNZ
a1owamo3NmFGbThlSEc4U05wMnZBN21pZVpXOTRmSlZubTg4Zk9hQkVpQUJFaUEKQlB4R2dBcElq
dFc0bXRtb3FkUEpKNThzbUFEY0xIZTJaNy9aZzVqSDFLbFRqZUNxeXNmM3Z2YzlHVEpraUJsOW1E
VnJsaEVlTlpqdQpKNkpPbFFuclZPRDk4TU1QN1cyenM0N01xTk1WdDlTTXhSNjZuNGVhaDlsVnJw
cTltTVJEaGViRUZiZHNzRlR5YjhPMmRzNmtqSzNGCjE5SXpiMW15eFVoTmhkVHBhbUZlcC9mYWk2
K0NjS1l1ay94KzhNRUhnc1VLekFpSXJweW0xK3BublRkTzYyZlBYVjJmM3J4cG5vODUKNWhnenlx
Y21iRG9Db2ladGFvN29IWFhVVmI2OFR0dUpqaFlPSERoUXNsVWViL3k4SmdFU0lBRVNJQUcvRWFB
Q2ttTTFyc3VBNnB3UApYVTVYZHlYWHBWalZsRXAzUnIvb29vdk1IQXhWS25RdVJqSzN4eDU3bVBr
Z3Foam9LSW91YzN2KytlZkx3b1VMNDh2d3FxbVY3aUNOCkNjVkc4TkxkdnpXTUtpa3RPWjNIb2Ji
emFndVAxYTJNRVBmNjY2K2JaVmgxdENHZFBVbFVpTlllYUJYc0V1ZTdwSkwvbHZMbzljK2sKak43
M1U3MzJsa1U1WklPUktrOVlxY2tzWDZ4Q3M1cmRxZUtuZ3I4cWV5cFVaK3JTemE5K1E3b3ZqWTdN
NmZlblM5dnFhSmY2MlZFNgpiNXk1VnAvZXZPa3kxV28rcGN0Q3EvbVp0ZzFkWWhlclhKbGxyQzFU
ckpBbE45eHdnK2pJaDI0QXFodC82aHdZZGRuNlBtMWFQSk1BCkNaQUFDWkNBTHdtZzU1c3VCd204
OE1JTER2YWxjR0IvYmxidWdkRHB3UFRHdWVxcXE1eE5temJGYzR5UkNBY1QwdVAzZXFHcmFPblMK
dkxwaWt4NlhYSEtKV1c1WHIzVzFLM1c2cENwR1djeFN2QnEzTHVPTFNjK3RMc09ycTNGaGhNWXNE
NHZHNGtBUk1zdkRZbjZKaVZOLwpkQlVobUxiRTcvVkNWNWJTWlg2dGcrSml3bWtjNk5XMzN2RnpL
dmxQSloxVXloaFBOSGFSN2lwWWlXVkpoVkd5T2t2TWg2N2loUW5TClpsVTByUi8wdnB1Njk0Wkxo
WUUzdkY2bm05K2YvT1FuNWh1Q2NocVA2dlBQUHpmZmdENUxGbWM4WU95aUsrc3pzYnpZUzhWODY3
ckUKc1g1L1VCb2RLUHZ4TEN0VGpCeWFWYS8wdVM1bi9jdGYvakwrWEMreVZaNG1rZktHQkVpQUJF
aUFCSHhFSUtCbHhSOWF1aHdtb0wyMQpPaTlBSjZtbjZyUmE5VDN0bFZmYi9aYWM5bGlyeVZmaWhQ
U1d3cXUvYnNTbUU2SFZGQ2pUM25qTm44NUI2ZHUzYjlLa1VzMS8wcGNUClBETXBZMElVcmQ0bUsw
czJHR21pbW5lZGQ2Q2I1bVhMZFVSK2s4WHB6VzlYMW1leXZFR0pOM09ZZERUUjY3RFV0Rm5BUWMy
emRHUlEKMjQ5ZFljNGJMcHZsOGNiTGF4SWdBUklnQVJMd0F3RXFJSDZvWlphUkJFZ2dKUUplQlNT
bEZ4aUlCRWlBQkVpQUJFZ2diUUtjQTVJMgpNcjVBQWlSQUFpUkFBaVJBQWlSQUFpU1FLWUhHOVZz
empZSHZrUUFKa0VBM0lmQy8vLzNQckhiVlRZckRZcEFBQ1pBQUNaQkFUaEtnCkNWWk9WZ3N6UlFJ
a1FBSWtRQUlrUUFJa1FBTGRrd0JOc0xwbnZiSlVKRUFDSkVBQ0pFQUNKRUFDSkpDVEJLaUE1R1Mx
TUZNa1FBSWsKUUFJa1FBSWtRQUlrMEQwSlVBSFpBdXUxc3JMU0xCRzZCV1k5YVpaMVNkUmx5NVls
ZmRZZFBKY3VYV3FXMHUwT1pVbW5EQjFkcjdwTQpybTdTbUk3cjZMcVlQWHUyNkJLOWRDUkFBaVJB
QWlSQUFpMFRvQUxTTXB1Y2ZhSzdVVStkT3RYa1QzZEx4eWFDU2ZPcVlYU2Zqdi8rCjk3OUpueWZ6
N05Pbmo5eDg4ODNKSG1YZFQzZDgxLzB0ZE9uVEVTTkdtRE0yM3pQN2cyUXpzZkx5Y3JQamRUYmpU
Q1V1RlpCMXI1U1IKSTBmS3pqdnZuTW9yS1lYcHF2Sm81azQ5OVZUUmI2NDFsMHE5SG5UUVFZWk5T
OEw2bDE5K2FiN2RSeDU1cEVsU2p6MzJtQng3N0xHQwpEUUpsMUtoUlVscGFLdHR0dDUxZ2c4RW00
Ukp2T3FzdWJyenhSdm5Ydi82Vm1EenZTWUFFU0lBRVNJQUVQQVNvZ0hoZ2JBbVhLcGg5CjhjVVg4
djN2Zjc5RHNudjY2YWZMeElrVE95UnViNlNQUC82NFlNZHAyVysvL2VUSko1K1U5OTkvWDY2NDRn
cVpObTJhZk90YjM1SncKT093TjNxN3JDeTY0b0V1RXdydnZ2bHRXckZnaDc3enpqbno4OGNmdEtv
UDM1YTRxanpjUExWMm5XcTlUcGt5UnhZc1h5L1RwMDVORwpwWXFIYnJ4NXdna254Si8vODUvL0ZQ
MCtWVWwrOE1FSFplN2N1ZkxTU3kvSlRqdnRKQ2VlZUtMODZVOS9pb2ROdk9pc3VyanBwcHZrCnV1
dXVrNGFHaHNRczhKNEVTSUFFU0lBRVNDQkdnTXZ3Ym1HZnd0VlhYeTBYWDN4eHhqdVF0MVhjUC8v
NXoyMEZ5Y3J6Ung5OVZDWk4KbW1SR0p1eHU2bnZ0dFpmWmVmcWNjODZSZDk5OVZ3NDg4TUNzcEJX
TlJqdU1WMnNaWExObWpVeVlNRUgyM1hmZjFvS2wvYXlyeXBOSwpSbE90MSs5ODV6dHl5U1dYaUk2
VzdMSEhIazJpMWxFUkhlazQrZVNUcGFTa3hEeDc4ODAzNWV5enp6YWpjN3BMdVhWYmI3MjFISGJZ
CllWSlFVQ0FxL0t0eVZsaFlhQi9IejUxVkZ6b3FzOE1PTzhqZi8vNTN1ZXl5eStMcDg0SUVTSUFF
U0lBRVNLQ1JBRWRBR2xuay9KWDIKcEwvNjZxdHkzSEhIWlp6WGp6NzZTUGJmZjMvVHU2em1UeXJV
YmRpd0lSNmZDdjNhdTJ5ZGhuM3R0ZGVNTUtWbVVucm9TSVczaDFjRgo0aHR1dU1IMFJBOFpNa1RV
Uk93Zi8vaUhuSExLS1RhYVp1ZElKQ0pWVlZYTi9IVmtSM3UvVlpCVDk5dmYvbGFPT09LSVp1RlVD
TlYwCjFMVldKZzN6OXR0dnkzdnZ2U2VUSjArV2xTdFhtbmZ1dSs4KzJXV1hYUXlIM1hmZlhaNS8v
bm5qYjMrMDNNcjZ3Z3N2RkMyVEtrc3EKTEcvZXZGbk9PdXNzR1RSb2tCeHp6REh5MWx0djJWZWFu
TFZIWHMyQ3RKZGUwMzNxcWFkRXkzekhIWGZJOXR0dkgwODMwWFNvTGQ0dApsY2ViZUgxOXZWeHp6
VFd5NDQ0N0doT2xiYmJaUmk2Ly9IS1RkeHV1clhRMG5OYnJyMy85YXpNaXBtWmsxMTU3cmZHemNT
UTdwMXF2ClpXVmxadFJDUjc4MEhhL1R1bEtUS1IwbHNVNUhQNFlQSHk0Ly92R1ByVmVUODg5Kzlq
UHpqZGJVMURUeDE1dk9yZ3NkdGRIMmtPejcKYnBZNWVwQUFDWkFBQ1pDQUh3bWd0NUZ1Q3lGdzVa
VlhPdWd0YnBKYjJOSTdHRGxvNG1kdklIanJiRmpualRmZU1GNFFpQnpZempzUQo2QjJZeWpnd1dY
RUdEeDdzSEhua2tmWVZwM2Z2M3M3dmZ2ZTcrSDNQbmowZENING1qYi8rOWEvT2VlZWRaK0s4OWRa
YjQyRWdwRHJGCnhjV08ra0dnTkdGaG0rK2dKemdlSnZFQ0FxV0pCOEsvYzlkZGR6bVlISndZeE55
Lzhzb3JKdHlISDM0WWZ3NGx3SUVBYTk1cnEweFEKbmh3b0dnNkVjZWYrKys5M01JSGZ1ZTIyMjV4
UUtPUkFRWEtnR0RnUTZoMk13amhQUC8xMFBBMHROeFFQQjhxZVNRZG1ZYWFNbUcvagpISDMwMFE1
TWVod29GczY0Y2VQaTczZ3ZOQzZZbHpsUThreTZYMzMxbGZPTFgvekN5Y3ZMTStkbm4zMDJ6dktC
Qng2SXY5b1c3MlRsCmliOGN1OUJ5YVQxclBXcDlZRVRKTUlRQ0VRL2FWam9hRVBNWlRKbHZ2LzEy
Qi9NYVRIa3h1dURvTjllU1M3VmU5WDM5THZYN3hGeWwKSnRGQjZYTzIybXFySm40WVNYSk9PdW1r
Sm42cDNuUjJYVUNoTitXQ2NwcHFGaG1PQkVpQUJFaUFCSHhGUUZkc29kdENDS2d3REJ2NApKcmxO
UndHQnZiMFJqRDc5OU5ONEhDcWdxZ0NPWG1qamwwd0IyWFhYWGVQUE5aQUs0NGNjY29nSmp4RUZJ
OHg3aGR2cTZtcG40TUNCCmpncU5yVG1Na2ppdzV6ZDVVa0VVazRtZFgvM3FWNDYrYngzbWdqZ1li
WEF3NG1HOWpEQU1reHRuM2JwMVRpcGxPdjc0NDUyampqcksKdkw5eDQwWUhrOTRkOUs3SDQ5TUxG
VzVoemhQM1V3RWRFOGNkalBRWVA4emhNUGxVWmNhNkR6NzR3UGg5L2ZYWDFxdkorZHh6ejNWVQp3
VktuQ2xaK2ZyN3ptOS84cGttWTAwNDd6U2lCR0xVdy9wcHVhN3cxa0xjOFRTTERqYkpUeGU4dmYv
bExrMGNZd1hFT1BmVFF1RjliCjZheGR1OWJVNngvLytNZjRPK3ZYcjNkVXNjUW9XZHd2MlVVcTlh
cnZZYlRFS0xjd0tZeEhveHo2OWV2bnFGSnJuU3FOd1dDd2laOCsKVTBGL3pwdzU1c0RxVTQ0ZStr
MGtjNTFkRjMzNzluVlVZYWNqQVJJZ0FSSWdBUkpvVG9BbVdGdlFzQmQ2MFdYWXNHRXA1eGpWM1NT
cwptdjZvVFQyRWJjRW9nREVQMGxXbklHUzJPa2RDemJMc1BBMk5VTzN1ZFlsVmRaOTk5cGt4TFZJ
N2ZPczBEVjJwcUMwSG9kQk0wbjd4CnhSZU4rWXlhZGFuSmowNU1YN1ZxbFhrZEl4Vm1zcnFhNmxp
bnBsQnFsZ1VoejVnenBWTW16VzlGUllYc3R0dHVNbVBHalBpaGJPYk4KbXllNndwUjFPaWNGSXhi
bTFrN014MmlSZlN4RGh3NDExL3BlVzA3VDFmS2RjY1laVFlLZWVlYVpwcXdMRml5SSs3ZkdPeDZv
aFF0bApvUXNWNkR3aHJmOXZ2dm5HbUlLcG1ST1VreVp2dFphT3hxSG1WTjVKNERyNSsvREREMjhT
UjdLYlZPcFYzNE5TWVhqOCs5Ly9ObW1wCm41cTlRZEVSNVdLZC9ZNFR6YXYwTzlBVnNQVFErdFBE
YXo1bzMwODhkMFpkYUR2VjlrcEhBaVJBQWlSQUFpVFFuQUFWa09aTWN0SkgKQmNpRkN4ZWF1UWZl
RE1MMFNXcHJhNzFlOFd2ZEwwUWRlcFROV2UzdVZjRFRTYm82aDJMOCtQSEd2bC85V25NREJneG84
cmlvcUNodQp0NjlDbGdxU09vL0M2M1RlUkNwTzQ4TG9oRm5CU0FYNWh4NTZ5QWpRM2hXTmRGN0lv
a1dMQkdaWXhxNWVWejdDeUlHSlB0MHlhVHpxCkxyMzBVak0zUStkbjZISDk5ZGNiZi90Y2I3ektu
aXBDNm5UZWpIVldPYkgzcloxVkVWQWx6aW90TnF6T2ExQzNmUGx5NnlXdDhZNEgKYXVWQzU4U29v
cUNyU0kwZE8xWjA0UUtkNTJNRmVmdHFhK25vM0JWMU1OR3p3YzNaeTZUSmc0U2JWT3BWWDFGRlF5
ZUk2endkZFRyLwo1NEFERG9qUEFWSS9MWWNxR1JpNTA5dTQwKzlHdndVOUV1ZlN4QU1sdWVpTXVs
QnU4K2ZQVDVJNnZVaUFCRWlBQkVpQUJLaUFiQ0hmCmdBcjVxampZa1FHYmJWVXVWcTllYlcrYm5P
MkVheFZDcmR0bm4zMWs1c3laQXRNVnVlV1dXMFFuTEdOT2cxa1MxWVpKUEh0SFB4S2YKNlg0TXFo
eFpaY2MrOTQ0a1dEOTcxdDUrbUdnWndkSDYyYk9PRUtnQXFxdGdXYWNLZ2s2azFvbmNMN3p3Z3Fn
eTRKMkluMDZadEJkZgpuY2F2SXdLSmgwNU10eTRkQmNPKzA5Slo2MGtWQUppQU5Ra0NreUZ6NzYy
ajFuZzNlVG5Kalg0Zk9ocWw5WEhQUGZlWUVTYVlpQ1hkCmg2UzFkS3hpNUYyZ1FKTnJiV0oxdXZX
cThXMjc3YlpHZWRYUkRLMkw1NTU3VHM3Q0pQOUVwMHN6NjRpVlY5bldCUkYwUkVxUFZFWm0KYkp5
ZFVSZGFEOW81UUVjQ0pFQUNKRUFDSk5DY0FCV1E1a3h5MWtkN1ZXM1B0TTJrQ3VmYWU2N0xsQ1k2
VEw0MXZlbXc5emVQTUdmQgpyTnlrUXFVS2Zqb0tvc3VtcXFsTll1OXlZbHd0M2V2SWh3cXltQ3dl
RDZMeHZmNzY2L0g3eEF0TU1CYk1oeERkbTBIRGVwM2VhdysxCkxtWHFkYnIvZ3lvZjJ0dXRaa0ZX
dUV1bFRKby9WWkxVYVUrNk9oVjAxVnpKSHJwNW5LNTQ1VjNkeXdUTTBvK2FCNm16UGYwMldyM1gK
VVp6Um8wZGJyemJQM3ZJa0J0Yk5KMVhKVWVWRDkxblJrU2d0KzZ4WnM1cXhUbnpYZTY5N2E2anpL
b0txUU9rb1ZFc3VrM3JWdURBZgp4OVNIMXEwcTJycEViNkxUa1JJMW5kT2xlWlB0RVpQWUxoTGY5
OTUzZEYwb0p4MzlTQnc5OHVhQjF5UkFBaVJBQWlUZ1p3SlVRTGFnCjJ0ZjlFaElGTGUwdDFsMjJW
VEQ3d3gvK1lEYjBlL25sbDAwdnNpNmY2elZsMG5rTWFwNmp5K2lxcVpHT2tHQUZKak9pc09lZWUy
WkUKUWtjbWRMbmRpeTY2U0xES2t6R0YwVGtjYWk3V1dnODdWdlF5UXFmMlhELzg4TU1tWHpyQ2dZ
blNzbXpac2laekFEUmpxb0Jna3JHSgozNXBmcVg4cVpWSUJYMGQ4VkpqV25uMmRBNlBMOEdLU3NE
Rk5VbVZKbDdmVlo4bjJrTkIwMnV0VW9OZDVLOHBlbGFhNnVqcFRmcXd3ClpSU2YxbGdscHUwdFQr
SzhDUDFHVkloWGhVcEhDN1NPenovL2ZGTWZ1b1J3cWs1TnJYVFhjNjBuVlU1MVdWeU5SeFdaMWx5
NjlhcHgKcWFLa1NyR2F3ZW1jSk4zZFBOSHBzc0U2U3FMZnR1N0Vyc3NaNithVnVsK0lmbnM2cDBl
VkxUMjM1VHE2THJEZ2dHaTlaTnFtMnNvLwpuNU1BQ1pBQUNaREFGazhBdlhWMFd3Z0JqRlk0dXZv
VFRGV2E1RmhYb3NLZUZHYnBWWHlRWnFsWFhYMHBjU1VrZlFtMjhvNHVKYXZMCndXcFlDTjBPaExw
NGZNbFd3WUtwVnZ5NVh1aUtRaGg1aWZ0QjBEVXJhV0h2RHJQNmxhNXFwS3M3UVJpTWgwbDJvVXU3
NmtwWnVqcVUKNWtYUHVnSVVsS1Jrd2MwU3hMcTZsbDJaeWdacXEweFFNQnhkOVVuVHdJaURXVDBK
UGVweEJycmNyaTR2ck12N1dxZmh2ZVhXMWJqMApmWXdzMkNBT2RqazNmaGlaaWZ0NUw3d3JMNm0v
cml3RkFkdXM2QVNGdzdDNjZxcXJ2SytZZkhyVDFZZUp2QlBMMHlRQzNPZ0tVbEFnCnpMZWkzd3My
L0hOMEtWMjkxcFdzMUNXV1QvMFMwNEVRN1VDeE5VdnhhbjcxdTRHSlhLdkw4R284NmRhcnZvTzlP
Z3pMdHBhdVZkWWEKVmxkRzAvclFmTUY4elZHT1dCaEJvMHJxT3JNdXNLZU1xV09ZSVNiTkN6MUpn
QVJJZ0FSSXdPOEVBZ29BZjhqcHRnQUMybXV1SmtRLwordEdQV3R4bGVmSGl4YUx6TXBMMUludUxx
S3RZcWMxOXFwUEZ2ZTk2cjNXdWdVNUUxMTVsTmF1eVR1ZG9xRG1Wcm5EVmx0TjVLSnB2CnRlblh5
Y3N0T2UxUjFoNStIZWxKNWxvcmszN20yc3V1SzJkWnArbXErWnFhUDZVekFtSGZ6L1NzdmVNNlI4
QTdvVDNkdUpLVnh4dUgKUHRkUkxoM1Y4ZGFMTjB5cTE1cGZOWDlLMTZRbzFYcE5OUitKNGJSOE9w
OURKNmxuNmpxaUxuUk9sYks2OTk1N004MFczeU1CRWlBQgpFaUNCYmsyQUNzZ1dWcjFxcHFSbVBM
cGlWRFluU1dlS1FlY2JxQkNvS3kzcEVybzZRVnhYMWRJVml1Njg4MDZ6SEd5bWNldDdhdSt2Cmlw
Zk9EMUJUTHpYRDB2a3JkQ1NRaXdSMGdRZU1GSWxPL0U5WFljdkY4akJQSkVBQ0pFQUNKTkFSQktp
QWRBVFZEbzVUVjRtNjRJSUwKakkxK0J5ZVZVdlM2andoMnpUWVR1SFVFQTZaR1prNUZTeU1WS1VV
YUM2UXJmRmxCVHVlWTNIREREZW04enJBazBLa0VkRUs5amxLcQpRazVIQWlSQUFpUkFBaVNRbkFB
VmtPUmNjdHBYSjNqclJHMmQ3SjByVGxkYSt1U1RUNHlaazY2TWhkM0dzNVkxSGYxUUpjUzdSRzdX
CkltZEVKSkJGQW84Ly9yaFpwYTJqRmpQSVlsWVpGUW1RQUFtUUFBbDBHUUVxSUYyR25nbVRBQW1R
QUFtUUFBbVFBQW1RZ1A4SWNCbGUKLzlVNVMwd0NKRUFDSkVBQ0pFQUNKRUFDWFVhQUNraVhvV2ZD
SkVBQ0pFQUNKRUFDSkVBQ0pPQS9BbFJBL0ZmbkxERUprQUFKa0FBSgprQUFKa0FBSmRCa0JLaUJk
aHA0Smt3QUprQUFKa0FBSmtBQUprSUQvQ0ZBQjhWK2RzOFFrUUFJa1FBSWtRQUlrUUFJazBHVUVx
SUIwCkdYb21UQUlrUUFJa1FBSWtRQUlrUUFMK0kwQUZ4SDkxemhLVEFBbVFBQW1RQUFtUUFBbVFR
SmNSb0FMU1plaVpNQW1RQUFtUUFBbVEKQUFtUUFBbjRqd0FWRVAvVk9VdE1BaVJBQWlSQUFpUkFB
aVJBQWwxR2dBcElsNkZud2lSQUFpUkFBaVJBQWlSQUFpVGdQd0pVUVB4WAo1eXd4Q1pBQUNaQUFD
WkFBQ1pBQUNYUVpBU29nWFlhZUNaTUFDWkFBQ1pBQUNaQUFDWkNBL3doUUFmRmZuYlBFSkVBQ0pF
QUNKRUFDCkpFQUNKTkJsQktpQWRCbDZKa3dDSkVBQ0pFQUNKRUFDSkVBQy9pTkFCY1IvZGM0U2t3
QUprQUFKa0FBSmtBQUprRUNYRWFBQzBtWG8KbVRBSmtBQUprQUFKa0FBSmtBQUorSThBRlJELzFU
bExUQUlrUUFJa1FBSWtRQUlrUUFKZFJvQUtTSmVoWjhJa1FBSWtRQUlrUUFJawpRQUlrNEQ4Q1ZF
RDhWK2NzTVFtUUFBbVFBQW1RQUFtUUFBbDBHUUVxSUYyR25nbVRBQW1RQUFtUUFBbVFBQW1RZ1A4
SVVBSHhYNTJ6CnhDUkFBaVJBQWlSQUFpUkFBaVRRWlFTb2dIUVplaVpNQWlSQUFpUkFBaVJBQWlS
QUF2NGpRQVhFZjNYT0VwTUFDWkFBQ1pBQUNaQUEKQ1pCQWx4R2dBdEpsNkprd0NaQUFDWkFBQ1pB
QUNaQUFDZmlQQUJVUS85VTVTMHdDSkVBQ0pFQUNKRUFDSkVBQ1hVYUFDa2lYb1dmQwpKRUFDSkVB
Q0pFQUNKRUFDSk9BL0FsUkEvRmZuTERFSmtBQUprQUFKa0FBSmtBQUpkQmtCS2lCZGhwNEprd0FK
a0FBSmtBQUprQUFKCmtJRC9DRkFCOFYrZHM4UWtRQUlrUUFJa1FBSWtRQUlrMEdVRXFJQjBHWG9t
VEFJa1FBSWtRQUlrUUFJa1FBTCtJMEFGeEg5MXpoS1QKQUFtUUFBbVFBQW1RQUJKMXl3QUFJQUJK
UkVGVUFBbVFRSmNSb0FMU1plaVpNQW1RQUFtUUFBbVFBQW1RQUFuNGp3QVZFUC9WT1V0TQpBaVJB
QWlSQUFpUkFBaVJBQWwxR2dBcElsNkZud2lSQUFpUkFBaVJBQWlSQUFpVGdQd0pVUVB4WDV5d3hD
WkFBQ1pBQUNaQUFDWkFBCkNYUVpBU29nWFlhZUNaTUFDWkFBQ1pBQUNaQUFDWkNBL3doUUFmRmZu
YlBFSkVBQ0pFQUNKRUFDSkVBQ0pOQmxCS2lBZEJsNkprd0MKSkVBQ0pFQUNKRUFDSkVBQy9pTkFC
Y1IvZGM0U2t3QUprQUFKa0FBSmtBQUprRUNYRWFBQzBtWG9tVEFKa0FBSmtBQUprQUFKa0FBSgor
SThBRlJELzFUbExUQUlrUUFJa1FBSWtRQUlrUUFKZFJvQUtTSmVoWjhJa1FBSWtRQUlrUUFJa1FB
SWs0RDhDVkVEOFYrY3NNUW1RCkFBbVFBQW1RQUFtUUFBbDBHUUVxSUYyR25nbVRBQW1RQUFtUUFB
bVFBQW1RZ1A4SVVBSHhYNTJ6eENSQUFpUkFBaVJBQWlSQUFpVFEKWlFTb2dIUVplaVpNQWlSQUFp
UkFBaVJBQWlSQUF2NGprT2UvSXJQRUpFQUN2aWV3ZWJGSWVGTWpCcWZ4TXVsVkc4OGQ3L05tMXdF
Ugo2MWZjVHdLbFE1SW1RVThTSUFFU0lBRVM4QXVCZ0FQbmw4SjJpM0pPUDBwazNmL2NvdGlhMDNN
MFZqcXZueTJ3OWJOaDFGLzljRGdSCm5LTUJjZlNabzJjVmx0ekRQSE9DSmt6bzhBY2tPT1pJQktJ
amdXNUFZUHF4SXF0Zk1HM0FsQ2JXSHVMWGVtSDk5R3lkMTgvckgzSGIKaVdsRDJxYTAzV2liOHJR
dHZRNU0rcUdFOXJ2WnhzWXpDWkFBQ1pBQUNmaVNBRWRBdHJScUQxZUxSQ29hRlE3TnZ3cENWcm13
UXBFVgpsT3p6eEhQc2VjQUlTRkE0WWtLVHhoTlFSU1FDdjVnQVpSU1NhSVBHUUVjQzNZc0FQblB6
blh2YmpaYlEyMzVzaVJQOTlOMlluK25ICkNhZ0NENDhBbEk5NHY0NEdjZy9qRmZlM2tmSk1BaVJB
QWlSQUF2NGp3RGtnVzJLZHE5Qmo1Um9yRk9tOU9qMnJuenJycDljMm5EM0gKbnFzOHBFY0F3cE5l
b0kvVzNEdjZndnE1LzJ0b09oTG9uZ1MwbmRnajFSSnFlT3VhWExzMzhWOXo0VFl5MDV6MHA1T2RF
d2xETWJJOQpGSjJjT0pNakFSSWdBUklnZ1NRRU9BS1NCRXJPZTZrTUE1bkdIRmFlMFh0MWVyYlA3
YjJldmVIc2M0UzEzaHJFZmM5RzRONXFoMjVuCk95Y2FrZWphQlJJb0tKRmduK0dkblR6VDh4c0Ir
NDNiVDkvZTIzYWlaNVhmN2IzeTBUQTJuT2ZzQm9INnJtYU02dlFabEE1emludVkKaTA3NWNlbzNp
N04rcVZGQXREMEZlZ3lRUUdGSnA2VE5SRWlBQkVpQUJFaWdKUUpVUUZvaWs2dit3MDRWNmJOSG8v
Qmo4K250NExRQwprVDdUeWJaTG5yQ2gzSE1SaFByUnA1bnJ1SjI2ZVFkQ0U4NEJjN2dqSVVIMVY5
djEzdU9heHRHQmQwNzFPcWw3OHFjU1dUcExBa1c5CkpYL3ZLVkt3N3hRSkZQZnN3RlFadGE4SWJI
MjF5SWdwYnBIMUc3Zk9lMjM5OUZ5M1ZtVEd4WTFLaU9vWGVXVWl1OS92aHJMdjRXemEKajJvcjZv
ZkRQSW9wSklGZVc3dmhPK2szc3VnamFYajNBV240L0dVSkR0OUpDbys1eWlqMWdiSytFdXpScjVO
eXdXUklnQVJJZ0FSSQpvQ2tCVGtKdnlxUDczYTErVTJUcXdURXBDTVZUYWFqL1BpS0h2SnV6Wlkx
dVdDYlZOKzhuVWx1Tm5sc0ljc0VpOU53T2xKTHo3NWZRCmlBazVtMjltckJzVHFGNHM4dUpvdC8w
WWpRSmx6ZThyOHAxMU9WM29ocytlazlwSC9rK2N1aHJUa2FBZERubmo5NWZpS1hkSXNQZmcKbk00
N00wY0NKRUFDSk5COUNYQUVwUHZXclZzeTdhblZRNTBWbk55N25QeDF3blVTV1R3RHlzZG1JekNa
Q2ZEMTllTFVOMUQ1eU1rYQo4MW1tYkZ2U1ludXZjeEJEdEhLdE9KdFdpelNnTGNVeWErWjY1UlZ5
TkRFSDY0dFpJZ0VTSUFFL0VlQWtkRC9VdGlvZVc0RHlvVlhoClZLK1hocWwzbVF5YkxPUEhDZVZK
YU13dStwaU9CTHFXZ0cxSGVyYlhYWnVqRmxPUHJwd3REZTgvQ0VVZS84eWIxZTRRdExpdmhJWnUK
eDNrZ0xWTGpBeElnQVJJZ2djNGdRQVdrTXlqblFobzUzbHVyaUhUcFVtZnpSZ2t2eEFpSW1sN3BB
ZHY1UUhGdktUN2xobHlneUR6NApuY0FXMEk2MGlweElnemlWNVJKZFBVL3ZUSzNwNkVkbytBVEoz
LzE0Yzg4ZkVpQUJFaUFCRXVncUFqVEI2aXJ5bloydTdhM05rZ0FWClhUdEh3dFArWUJRRVhTRW9O
UDRvQ1czLzdmYVZxcllTQXROY3N5U3dMZzFzWGFDNEZ5Yk9EclczUEpOQTF4RFF0b052UGU2eTFK
YkMKbjk0cjBTVWZ1bTBKMzMzK29UZElvR3hBUEpsTUxsU1JOOHBIYkVORW5Vc1ZDSWF3c2x5eGhJ
WnRtMG1VZkljRVNJQUVTSUFFc2thQQpDa2pXVU9ab1JGYVFWMkhKWHR0emU3SmN2VXFpTXg5M0o0
bXJjTk5yUkxzVkVLZStXdXFmdlJiNWRQY2pVYk4xSjc5VUN2WTV2VDA1CjVic2trQjBDMm02eTNZ
NFFwYk4wbWtTL2ZCSVhXSGtPRzRMbTdYZGx1eFdRNk9LUFhmT3JtQ2F2b3grQnZxTWtNR1I4ZGxn
d0ZoSWcKQVJJZ0FSSm9Cd0dhWUxVRDNoYnhxdTJsdFVxSEZhTGFtWGs3UW1HamIyZDBVR1FpeHZ3
cXVtRWxCREhzSkEybHhxeUFsVjhpK1pPUAphMi8wNW4wbjNDQ2JYM2xhSW10WFpTVStSa0lDMlNC
Z052MUVSSTI3cDdjdlZqVy9pbGF0dzN5cURkYjR5c1FkN0RkY0NnOCtyMzJSCng5Nk9ibHd2OWJN
L2wvQ3E1Ukplc1ZTaU5UclJuWTRFU0lBRVNJQUVVaVBBRVpEVU9HMzVvYnc5dDlrb0RlSkRuMnJq
L214V0k4azAKN3JwcUNVOS96THp0Q21TYTRhQUUrdzVydC9sVnRLWmFvaHZLcGZxaFAwdjkzRGxT
K2JmYlJMQVpXK2x4MzVPUzQwK1JZRm1QVEhQTgo5L3hHd0NyeTJkSzh3VS9ia2V1MFVkbnJ6TUdx
NlZWazlwdXhlVlNJUitkU2hiQ1VkUW4yL3VqWlArT0lqWUxVMENDUjhsVlMrWmViCnBHSHViSW1X
cjVPOGNST2s3TnpMSkRSZ01DYTNGMHBvRU01NStSbW53eGRKZ0FSSWdBUzZQd0VxSU4yL2p0MFNx
dUJraGFkc2xCbHgKcWFLZ3dwTkcyeWhFWlJhNWcva2Y5ZE1mVWVzckk0NlpmZHV3OFdEK3JwbU5m
amdSaktoVVZVak5TNDlMWk0xcXFmL3NRd2t2V3lvUwpRYTdWamorNlNTcnYvNXRVUG55ZkJQc1Br
VDQvdTA3eXQ1c0FPM2tPQ21aV2d6NTVTL1VEL2VEMXlKTFRkbVRhRU9KMm91MlAyRmt6Clh5SUxw
dGxZVFlOU1JUNXYwbUVaNVZqYlVyUmluZFIvOEthRUZ5K1EydmYrSzVGMTJQK2tQbXphYThQY1di
TCtKeGRoc1loU0tUNzAKV0NrNTZsakpHd0Z6cjU0OXpYeXVqQkxsU3lSQUFpUkFBdDJhQUJXUWJs
MjlLSnlWWjJ6SHFyM1BTcms5a2RyTERPSTE1bGNiVjRoZwpwQ0tnZHZERy9BcHlVN0Fnby9rZjBX
b29NeCs5SmJWdnZ5Z05zejZSYUdXVm1UeHM0amI1UTJieHY0UGVYQWs3RXVyVFI2cWZlVXA2CjlP
NHJlY09HWlZBQ3Z1SWJBdDcyMDQ1djNzdExvekg3YzNnbnVIc0RwSEh0WUNReGlyMC8xUHhLNHpU
WnhVK3cvMGpKVDFNQmNhSlIKeExOSklrc1hTT1ZkTjBwa05lWjlWVlNJRTQ2aW5jSk0wdVFyQnNF
VUlpZ05peFpJOWROUFNxOHJycUh5a1VhOU1TZ0prQUFKK0kwQQpGWkR1WHVOV1NMS0NrOTdiNjNh
VTNiVVUwWWd3OXRGT3N4R25lcDNVUG5ldHlaaU9xYWdMNUJWZ3ArWWg2RlZOelR6S2lZUWhLTTJY
Cmh2bGZZaVRsRFltc2hHMzZOM05kOHhNem5LTENtUDduanRVRSt2YVhmSmlPbEg3L0I1STNlaXcy
V3k4MjVpTW1jZjZRUUtjU3dEZVAKb1QrM1diWnZCQzZDeWVlUitSajlNS044S0lRcTlHcCsxVXZO
bzBwU0tsVjBjNlU0dFRWUysvcVRhRWRMcFc3NlcxalNGMzROaUZRWApuSWpQMFhMamw5SmVVamho
WitueGcwdE1HOG9iTlpvamlTbVJaaUFTSUFFUzhDOEJLaUIrcVh1VjYyMFBxeXZqdDcva01VVkd6
YWJhCk5ZRTJqSjNPVjMxdDhxTlowMmdEaFdWU2xNTGVIMmIwQkJOZ3F4LzZIVXl0bGt2RDU5TWhL
R0VwSWJWN2p5MUJhb1F3WXdjUHBhYTAKVFBKR2pwT3lLUmRLM3FneEV1dzNnTUpTKzc4RWY4Umcy
MDNzdTQ5cERGa3NPeEt3YVdRYTYrWUthY0Q4RDQxR3M2bnRNalJpaHpZbgpuNXYyaTdEUjhoVVlP
ZnlQMUUxOURpTWVLOFdweHlnaG1wTzJJZU53TXUwOUx3L3RKbCtLRGpnU280WWpwZlRVc3pEUEJI
N3Q3SXh3CkUrRXZDWkFBQ1pCQWR5ZEFCYVM3MTdDM2ZPMFZianh4cVJCaXBSeVZPVEtOMmduWFNX
VHhESEZxMUV4S1Y3OUN4TnByRzhpWHZMR1QKUFNrMlhyckNVaFRtVmVqcGhZbEk3WXNQd2paOW50
dExDMkZKeHpqTWFJY1JGSkV6VElqTkd6cGFTaysvV1BMR2pKTzhJY09OWHlBVQphb3lVVnlUUUZn
RWowWHNDWmZyUmU2S3dsK1pUMVJ2VHNLeHZldWRvNVZwamZoVUkxK0JGZHlSRkZZSkFHU2Fmd3dR
cm1kTzI1SmdSCkR5d0NNZXNEMmZ6TVA2Q0VyRUZicWpBZEZxN1pJdHBUdk1Gai9ZWmQ5NUs4YlNa
SzhTSEhZTUk1OXVjcHhBZ0xGWTlrZU9sSEFpUkEKQWlUUUFnRXFJQzJBNlRUdmpkTkU2akQvUVYz
Zmc3QUxXUi8zT3R1L1h1RXBMdTFrbm9pcmRLaWdyeklUZmpNVVFKenE5ZEl3OVM2VApFZGNJQlZK
ZEtGOUNXN1dnZk1EVXlxa29sODJQM2lUMU02R0FWS201U0wwUmxod29Ma1lRMGt3RnNJSldTYWtF
QjJMeTdkYVRwT3pNCnl5VFlBNU5pSVN6UmRVTUNFU3dERzRZU3F5Ni9OK1R2QXZlNm8zNnpxSHhv
RmsxMCtMRW1pSmxrTzdweXRydjNCMGI3MUFSTGowQngKSHdsaTc0OWs1bGRPZlMxV2gxc3RWWC83
cWVpeXV0R1ZpekcvQTQzSDg3Nk9taHB6cm9JU3JCYlhSNG9PT2s2S2p6aFJRa05IVU9uSQpwSkw0
RGdtUUFBbVFnQ0ZBQmFRclA0UW96QnMrdys3aDlXdmRYSXo3amNqWW4yVTNSeXFNcTdNQ2t4SE9Y
YS8yL3NZVmhuams2Y1hvCjlyNXVsUERDR1dieXVXczJoWXdXOXBUaWszOGRqMHpOcktTdUJzdC9M
cFBhbDlCRHUzcVpOSHcxQXdJbkpzbkdoQ1cxU3pmYUVPNEQKQTRaamxBTWpIaWRmSUtIQnc3R1VM
M2FWeGlnSWUybmpTRE83aUt3WGFWamUrSzc5dGhwOW1sL1pNQmpSa21BeDZxRWZGTXl5NXVIYQo2
elB6VEpIVlQ3bXhqUDY1eURZM3RqZkc1dTlyRzdMbDBiTzliaDR5TFIrM0hTRTZqYysyMDdSaXdM
dlkrOE9wTEpmb0tvd0V4aUxSCmtjRFF5SWxTc1BzSjhkaDBycFRnQ00rZmdma2QzMGpOdi8rSVVS
Tk1MRzhJdXd0QXhNdWxieU16SlQyaytLRGpwWEN2d3lRMFpLUnIKc2doVEt6b1NJQUVTSUFFU2FB
OEJmL3dsYVZnbXNtQUgwMHR1WUtGWEwrN3N0UlVtN0ZrREdJRUFQZWFodmpnZ09LbndWSXg0ZWgw
aAowbU1QQ0F2dHhGZitQQVE2S0IvYVd4dEZMLzZ5dTBYR1hJMTRYZk9KZUI3YmM1Rk1vUEdXTWNP
NHphQUhCQlNMTHlQVEVTeTlHMTA5CkY0cUJzbll6cXZFR1M5RnIyMmVveVptRCtTRU5NMTZSK2s5
ZWsvQm5id01UbExZNnNESUp1KytZMzBKTUlrZDk1Tzk2b0JST3hySFgKb2VnSkw2RFNrV0g5Sm4y
dEFydDFyN3pRYlJjYXdGYStQWHY5OU5wK1ovYTV2UTlpbEs5a0V0clFQaGoxTzFta2RLS0d6dHpW
bDR1cwpSVnRTcDJrc3YxZGszTFg0a0tEMFpOTnAzT1pialozZHp5OXJLV2c3aUdhNERLK3plU1Bh
MGp5M0hVRUpOMmFNQWhQRFBPekxNV3hiCmswZmQ1RE5hdmx3MlAvd3JpYXhhSWs1ZG5ic1NuQ3J0
K004ZHlNUVpHUW1VOXBiOENkK0M4bktRRk8xM2pBUUtPbmhFS1dzVUdSRUoKa0FBSmtNQ1dRS0Nk
RXZTV1VFVE5JeVNnQ0d5YTFha1FZUSs5dDhKUjRyV0dNWDU0cjJGMTR6c2Jub1dBOHhzSU56RHpH
QVJoYlBpdgpvSnlnWnpjVHQrSSs5NjJSL3lleStBNHNRN3RZcFB4bGtRRkhaeEpiOG5kc09leFpR
MlZCY0ZKaHFYRUVST05NUDFLbnZscnFuZ0UvCnVIaGNVQ1FLOXZvZVRFS3c1S2VPZUx6OEY2eHVO
VStpYTVhaWwxY0RRa0RDS1FBYmQxTWtUSWJOMzJFZjlNd09rZUtqcDBod3dGQUkKUzdCSjUvd094
WnBkcDFXczBMM2ZrbHNaamY2SllleHpteE85ajJ3UXFYeGJwQUxIMGh1aDBFTlpIUE1IS0NVVGJL
ajB6aXNmUmp1RwpVdHIzWU1UNUVVWVVWNG1zZVVaazhFbnB4Wk5LYU0yL0h1cnMyYjNMK05lTU5H
aDAwQUFDR1hZK1JMSDZWY1A3RHpWbUNYa0xEaGdOCkU4U3hFc1dTdk5FVjg2WDI2ZHNrdkhTdU9K
dld1eU9Ic2Zaa2xIL3RBQWlFSkcvOFpNbmZmbmNwMkdWLzA1WkMvUWRsWEM2K1NBSWsKUUFJa1FB
SXRFZkNKQW9MaXEyQ2t5b1pYYU5CcnI4RGt2Y1lqRTFiOTFObjM3RG15RVlySTc2QXdQSUhlMWdj
Z1JPMW5ncVg4by9NKwp5bDl4MHg5OEtnU3lMMFRXdlNxeTVHL1pWVUEwLzRsbFNEbVRMUWZVM2xK
MUdyVzV0QjdHdCswZnMzb1ZlbTJkalZEdU1QbGM2OGJZCnJBZUxKTEprcGpSOC9ESjZhUmVaU2Vi
R0xsMEZKRk4vZXRhUmw1QUVlL1hIU01jeFV2S2RpekhSdGhjR2pySTRjdFIyRWZ3WFFpdmEKZmt0
YWV0c1dXaU5oUHhBTm14amVQcXQ0WGVTTDNVUzJ1aC9mL2ltdHhaYjgyZkw3M0h6MU8wU2tZREJH
YVI1eDIxRkhLQ0RlOG51dgprK2NzVGQvTUlsVHpxMmpWT3JTVmRhZ2V4SUgvellDaXRnZTB5ODEv
dnhETFU4TmtzUTZqaDlyT1RGMjR5bzY1aHVJaGFEOWxwMStKClhjMTN4TExVN29oSm1wbG5jQkln
QVJJZ0FSSkltWUEvRkJBci9OaS83NG1DVUV1NE5MeDlOL0VkKzZ6dUc1RTVHTEdZK0Q1TVNYWnMK
S2FibS9pc2ZnaCs2SVBQUnc5aGpKNUVocDdzS2lJNkE2RWhJOGFqbTcyVHFZOHVRNmZ0SjN2TU9l
SGl2a3dSTjdvVU4weHFtUDRabgpGcXlLVG9BS3BhVGhzOWRnSGxMclRuN1ZsYkUwQnYzUmhHS0tq
bzV3RkIxMnFoUi85eko0YTJYUWRRb0JXMTMyck9oYnU3YlBOSFBlCnNIcXZ6NnhmcEVaa0x0cEFx
QlFqR2NmbzA5U2NqbmhVejNUakduQXNCR21ZYzZrQ3N2NHRrU29zN1Z3MlByVjRVZzFseTZObmU1
M3EKdXkyRTA5RS9qY3FnaUgzZkxRUk42cTJtVnhFc3ZldE9Ic2NJb1NycXFtaXNYQ0IxYXpFYWhH
V3FBMURhamI5cUpqZzBHZlhUY0lIZQovYVhrbEI5TDRiN0hZZlN3TUdrYTlDUUJFaUFCRWlDQmJC
THdod0tpZjluVmVRV0dBQVNkQVpjMDlmTSsxNy9XMFZyb0NGaGRKd3JoCnFHNHBoR01JT21HTWZO
aTRqTVNBbXdoVzM1a05vV25TeCtpQkhlZytiK3RYZTIzVjljZDdLa0FQUEFFMkU4aFRwQnBtS1Zn
VmFwdmYKdXMrejlXdnptcVg0WERuSkJadkpLbGhPWGFXRXAwTlFCSE9MM1p3UnNWTVAzaERIYkcr
dTdpOWdKcUpqZFN5SlloS3R1akFtM2VwOApFSngxcmdkZFp4QkFEU1YrUnlXWXg5RWZKb1RXMmNx
TTM4UERRWjFwRzlLMlU0OTJWUE1sVEtYZVExeDFqWlZ2d2tNaG56dEZaSmZaCmFFZURiQXl0bjFm
YzYrYXBCTDMyWlJOZ3hnV0ZJeDl0c0g2Tk93cXkvUjJ0djUvdTA4VHlwL3Qra3ZDeEw5MHRod0dj
SkZBclhzNmEKK1JKWk1NME5nZnhwZkRxUFF5SmdEMFZmZll5S0F6K3pVbHhSR2Y0dHEzYjk5TmtH
TEx0YnIzV1JXSG10Sk1wSEpFQUNKRUFDSk5BTwpBdjVRUUN3Z3IvQVE2b2xSaDV2dGs5VFBWVkF5
bHY1U1pDUE1wN3hPQmF2bHQ0bU11Y1hybS94Nnc3c1F3dWE1ejRhZTZaN3pJQlFNCitnN2l3TWpJ
VWlnbjQ2NkhRZ0tCTzF2T3loYktJQXZPSFhSQXBCbllyQnZ6cXczTDNiMC9kUFVxNkhyYUsydjJI
TkI4YWkrdDl0amkKWExEN3R5VTRhQ3NKbFBTU3Vta3ZTUGlyVDl4bmVLZnVuV2RNcjIzZXlLMnpV
Q0pHMFNZQnJYVDdIZG5BK1NORmVuL1gzcVYrYmlpSApnbkFsVnE2NnYrazdZYXkwdGZRR21HUDl1
YWwvc2pzZE5Wbjl1SnVuSVdlNklZTDRKMjBvUmxJV1lVNkp0cVh4TjJVK1J5c3hUVzA3CitxMWFs
NlcyNUk1L0lGTEROaEd3VFN6NTJZR0NFZDIwR3VaWG1OY0JaY0xFWWZLSmVGQmZBWnhNakZBNlFn
TzN3aHlQYjZFdDlaYmEKRi83aExtR3QwU0xBNW4vL1dRb21IeVFoektHaUl3RVNJQUVTSUlHT0pn
RHB6eWRPL3lpYnY4U2VjeVpGTDVzc3N1MUxHRDM1Zm1OOApOcDVWR0xrSWI3SjNMWjlYM3FlZGtq
Q3pHZ3ZoYmQvR2NNUE9kdjExMHZ2cXB4djkyM05seTZ6cFdXZjk3SDA3em1iMEk4MzMxVmE5Cjly
bnJUSWVyRmI3TWtyeTJCemEvR0J1bmpaQ1NLYitUd2lNdmxLSmpMOEZPenFkRG5tcjZ1VVpoV3FM
TDhacWxSZFBNQTROblFFQy8KRys5M2xFRVU4VmZ5KzBQSlFEc1lmR0hjSzM2eCtnRjNWREh1MGNM
Rm1xZlEzblJ4Q1h3WFE4OW9ES1R0U0oxT2RsOEpCU1ZiTHJIOApXV3BIT21KaFhBWnNJNWg4SHBt
UC9YQ2dzQnNGSGdxU1hnc1VlN05FZFFDamd6MEhTZW1VbTZYa25KdXh2UFhWVXJEUGllTGtGY1hm
Ck1RcS81R0ZaM2lWb2sxa3FWTGFZTXg0U0lBRVNJSUZ1U2FDcFJOY3RpeGdybEZkNHlPQVBmUk0w
MmhNODloOHc5WUFRNVhVUktCL3IKWTh1QmV2MjkxK0ZLS0JkUHVzcUw5dHE2UXdsdWlENzdpeFNO
ZHAvcFpQUnNPRnRXSzFkNE9iUWpmaXVuMk9qVGlncEw2MFpYZm9XaQp4MFV2ZHdKNVlha1VIbjA1
aEtScnBmVHloeUFvblN4NW95Wmd0V09NQkVINUtOampXRmVvVWh0MkNGcFN1VW5DMzN5RlhtbTlv
ZXNTCkFobDlBSjZjanNLSVlhaVA2MkcvMFNqTWhqYSs1UW5Vd3FVcTh1cjZIb0oyTTl5OTF0OGVt
QWZTYzVmc3RxUEcyTE4rNVZYQzA0MWMKOS80SXozblRxRERhSnQzNVVHaFhQZnFoL1p3cVJTZjhW
SHBjL1cvSjMvR0FlRnNLOXV3bitXTW54ZC9SbmdBMXc0cXNYZ0ptdGhMUwp6UW5Ea3dBSmtBQUpr
RURxQlB5aGdIVEUzMVNzMWlRRHoyNGtiZE9vK2JyUkw5blY2aWNnTUx0MjJUSmtTdE1RcW93TWkv
bXRtNHBKCnRIT2FQbS9QWFhzRnhjUzBFWitxRDFwc2pUclZubE1uWENlUnhUTkVhc0VBZW9QYlc0
dDQ4c3VrNVB4L1NNRWg1MHZCZnFkaDA3TngKV0JYVVl5RVlES0dqR3l0ZjZXcFhzVFJWd3F6L2VD
ck1UNkRVMFhVT0FmdWQyKy9KM21lYWVxZ0hGSWh2dTI5NzQ2eityUFVZYXhhSwpiSGpiRFRQc3JP
Wmg3U2lJVGxLdmdObGV0cHd0cjgxckZ1TDFxT0dxUWFRY1k3UnlyVEc5a29hYStPQ3VYZ1Q3WWZU
dzBnZWhmRndsCmhZZWZMNkZCbzJGMjFkTVRiMEFLRHp3SjgyeXdYTFVtaHg4SFNuekQ1LzlEbTR4
NHd2R1NCRWlBQkVpQUJEcUdnRDhVRVBzMzNRb1AKMldKWnNtTmpURGFObWdXTmZzbXVyUG1Wam5Z
VWoyNGVZdWdVVndqUitCYi92Zm56VEgyMDdOa3NQK0xTbmx2TnBrYmJLRVMxbmtHMQpWYTkvTzFh
dW1MRGx3RzQvYi93KzJQanNBQWxpcmtleTVYUzFaemR2TEhxMkViWlIyVUhxRFhVU1hybTQ5VVQ1
TkhzRXRNTFYyVy9KCjNydSttZjBtMjRnd0RQT3AxdHpLKy9FVW1janJCWFBJNDV1SEhISXFQc3JZ
NGdUWkdrM1VWR3g1YmZtYnA1eTJqN1lqamM0MGh6UkcKSUtJcloyUHZqd2VoTk9DZmNXTjJoVlpZ
MGhlYmNSNW5ka0FQOXV5UHRnVEZQY0dabGE0d29oakloeG1XNmh1eGQ2TWIxa3ZEbkU4VApRdk9X
QkVpQUJFaUFCTEpQd05QRm5QM0ljeVpHS3l5bzhHQ3ZzNUU1M1JrOTBhbEExSktyeG9oR1JXeTFt
bzA0dnczVEU4MlB6Wk05CjYvdDZyWk5vdDlWSnRDWHFrNW16Y1hhQTROUkVHclB4dDVKTE04OURk
MnhlaEI1cENEMTJXZEJBY1M4cFBnVVRqOXR3b1JIakpYK24KQTZYdXJhZkJ4MzNmcWFpUTZIcjBC
RWZDVFVkTTJvaUxqN05Fd0g1ZjdZa3VvQ1oyaU1ER3BkZEJqSXkwNVBURFdmbUErMVEzSUp5Kwpx
M3V0NzlzNDlLd1N2WjZYUDRwMmRCdE1KbHRwbTI0TWJmL2ErRFZrQ3Q5ODJ4RzYwUmpUS1JRclZh
ZDdmNmo1bGRuOTNHVEVMV3R3CitBVEozLzJFcElxSE4rNzhpWHRMYU5SMkV2MWl1dXVOY29YbmZX
bk1IWjFJQkcycHVlTGlmWi9YSkVBQ0pFQUNKTkFlQXY0YUFiR2sKdkVLRTljdmtyQ3RmcWZNS0lr
VmJ1WDdKZnJYWE5oNFd5MTdxc3FSNjZLYUc5bHJQMmd1cTRjeG1oNDhsaXlsMVA1dWVMYlBlMit2
VQpZMmtXMGgyOGNDTnk3YzZiQldudVVWc3AwVlZ6NFEvbHdmTlVWK1VKOWtsaDlSMElSYUVSTU0w
cTZkRTRDZ0tUa1pyLzNBZFdhVWh2Cm5yUjVtU1lCYjhXbCtXcUx3ZXNXdTkra2pWdlBwZHUzR0Z6
V3Y0WWwwSmJGMmdoV3dsTEZYczBWOWRCcmV6aG9ZeHFYczFsa0daVDUKbkhWb2xHanpzWEdRbEhM
cHFDS1AvVDkwOUVQMU1XUEtHTWlUUUdrL0NRM2J0dTA0TUFKU3VNOXg2TnpBKzdGL2I1eTZHcWwr
OG01dwp0ZjlvdEIwTlE1QUFDWkFBQ1pCQUpnVDhOUUppQlp4cy9YMnRlTXRsYm9TY0dQN2VCeVd2
QjkyL3dtdytpTWY5anhYWituWlhPRW9XCjJta1FtYllueklzd3FYMHB6SlZHL2lCWnFQVDh0TXhX
UnM5VytXTThWWDVwTkl0cU9Wc09GSkQ2NTY1dERJQjhPUGtsRUlTd2JHb0sKVHVlRTVHKzlrOVI0
QkNTenBHOUR2ZFJPZlVHS0R6MHhoVmdZSkdNQyt0M29FYXYzak9QeHZxZ2Z6L29YbXNhcnBsTzlE
L1dHYW5wdApKNThYWU9MNXhOaUNEazFETk41OThoM01OMXFCSlgvUmpzWmMxdWlmeVpWdE43Yjg5
cHhKWEVuZlFRSTJqYVRQR3owaml6NDI1bGRXCmFkRW1FZWczRXF2SGpXd00xTm9WOXM2SmxLODBx
MkdKN3J0alJpU2owTlUyWXlSa2x1U1BuOWphMjN4R0FpUkFBaVJBQXUwaTRBOEYKUlArbzJ6L3My
UklhcXI4VUtZZndvMDdqMW5oNzdvL04wSFpXbitadTNZdFFLRmE3L2tQUHhZWnBiZXhkTWVSN0VK
clFHN254WS9mbwpqZVYvMitzc2cvYkdnL2RWYnJUbE5zSlBHM0VhUmFGMmswUTNRT2hSbS9QWUVT
Z3BrL3pKNklsTjBZVkdid2QyTUYycnFJekhFNTZIClhtK2RHNEtKdE1ubWo2UVlOWU8xUlVEclhB
K3ZhKzgzdGZvdUtBaGZ1L0hhZGpRSVMxem45L1dtMG5qZHNFNWs3Yk51K01HbmlmVGEKby9GWnNp
dGQxR0VCekJpclo0dXNlMGVrMzM3SlFxWG1sMWorOXBiZGsyb2NxMmxZbmdkSkxvMzVWZFU2VEVE
ZllKNXErOU5Sa0dEZgpZVkp3TVA1dFNjSHBxR1hoWGtmSjVxZndiMHo4SDBmOEU2Vm1XRDE2bVE2
RmxFYzJVMGlQUVVpQUJFaUFCRWpBUzhBZkpsaGFZcS93CkVQOXI3MFdSeG5VVlZ0YVpmUWorYnNk
V2pOSDRkTlBBVVRlMkhJbnR0ZFY1SS8yT2JEbWNmVEk4TnVxaFFzN2l2MW5mek0rMi9QYWMKZVV6
bVRWZnBjQ1V3MTRTakRXa01HNmFGcDZzNVdXTTQzYTFaVGE5U01yK3krVVgraS9adlZGZzBIMXEz
dFc4OGc3TVdqcTVEQ2RqcQpzK2RNa2V2czU1Vi9GRm1ZTUNxUmg2V3RXMnRIcS82SjR0VzduOUhn
TTlvdTZ2QnozRENhejJ5MEk1dWlMYis5YitkWm96UGZzcWQ5CnRCU2xtbDVGNXJ4bGxBNmRDeFdO
d0tReGhCV3RZSDZsRTg5VGRRR3NLS2RLaUd2Q2hiZDA3NUROTlZJLzQzM2tKY3NGVERWVERFY0MK
SkVBQ0pPQUxBbm0rS0tVdHBQNU5WVUVrMWIrdEtpUkYxVHdCTnVUMXk3QmQ4RXowb2o2QkVZbVhY
V0hYSzN4dEJTV2gxejQycGFibgp1bFV3TTNuSjlSdDBpcXVzTkEzUi9LNzM3dGpQWUFlUlRVaHp4
ZU1pMjkrT1h1SGV6Y08xNVdQemFNdWNUdm5iaU51YWY2UUMxS21ECitkWDBSd3czdTN4dnNMUzNX
YkdualdTYVBBNlc5cERvUnZUK0JtR21FdzY3VzRDZzl6ZTZhWk5FVml5VnZCR2ptNFRuVFRZSjRP
T3gKMzFQOFhJWDVHQXRiVDBUYmtRT2xRVGNOMUhaVS9RbmFFVVlQOVQzYkpqV0dRREVtaS84THk4
TU9hVGsrVmVRMTdkS2RNTnFJOXRHVwpLeDJIWlg3M1IzcFRSVlk5alRUWGlCUU9iT3V0NU0rOWVk
VThXQWJKUTZmczY3WWpSS2Z4MlhiYXl0dlJOZk1sc21DYUd3THY2Q3NCCmpIN2tUVHFzbGJlYVB3
cjI2Q1BSaXZWWURhdEFuRHJVanpyRVYvdm1DMUR5ajRReWs4Ry9OMjRzL0NVQkVpQUJFaUNCVmdu
NFF3R3gKZjlnaHFCcFVHWVduQUFBZ0FFbEVRVlNuOStHVklsL2dUN2ZYVHgvcU16M1VlYy9XMzU3
MXVmbkxYNG9lVzZ5d002aVZlUnFySGtKYwpZWDBET3orbjBHdnJoaFRSM3RzNVAzWVZvR1VQd29i
OS8reVQxTStheDBSbnk1WG9uOGE5Q2t1cVNGaDhyWTArR1BPckRjdEZhcW9SCkRCblNRMjNPWWV0
ZmtPTDhEMi9XaW8rZElyVnZ2d0NaRml0ZjRZRVdSMWZDRXE3YzQ4WFVBZGVnYllIYjg2Ym5vSkRq
c0M3K1FjREQKZm1mV3o5N2JzMzFIenpxZll6eVVqNTZZKzlTU3E1d0I1ZVVMOSttUU5OdlIrcW5J
RDRUc3BmZUtqTHVtcFJSYTk5ZDgyM0xyV1k4cwpPaDEwaUVhVHdXbE14TUZJb3JOcE5jeXYxaUY1
akZqZ2tTb3dJY3o5eUU5VEFSSE1xU283KzJwWmYvbnhpQVdKeDBZUW8vWDErT2NLCjg5RG9TSUFF
U0lBRVNLQ0RDUGpEQkVzRkJTczhLTWhrZ29NTjQzM3U5Vk4vZGVwbjN5L2RSV1FuekFVWmNxRjUx
T0xQNnZ2ZFJ5WG8KalczTFp0MGJ5VEFWc21EYXBXN3hYZTQ1M1Y4cno5aXp2bS96bjI1Y252QXFM
Tm1lVytQZGlzbUdDa3QxejEwSCtTYVdDVDFoZC9OZwo3OEhvOU83aGlUWEZTOHoxS0Q0Y0kwbWVI
RVEzbEV2TnEvOUpNUUlHeTRpQWZqZGFkL2JRU1BUYWZrK0oxOTduR3NhR1UzOTFOcDVlCjZMbmZl
VmJyeW9lR1h3bmx3YmdRRlA1VFk5Y3BuSVo4Rjk5YlR6Zmc0cnVScnRXSVVuZzNNWWpOc3owblBz
L2czdTZobysyakxkTW4Kblh3ZW1ZL1JEek5wSEpuQU9aQlhJb0ZlUXlSUVdKSlc2anBmS2xCVTR1
NnZvOHRhNnhGQjM4ekN1VEJwZkNHdHVCaVlCRWlBQkVpQQpCTkloRU1BZlBmMVQycjFkd3hLUmVh
UHd4eHJGdEtYVmN5clhsb3g5dDhrNzBOLzZZajdDMEo5QWVHckIvTXErNytOemRNTXkyWHpMCi91
TFV3RnpIQ0U2UVJJdjdTTWxGRDBING1ad1JtVTEzWEFNaENUM3Y0UWprU2NTSEl6aDJPK2w5OVUy
U1AzYWJqT0xrUzIwUVdBOGwKZUNXVWJkc0diSnZRMTFwcVQ5NW45ajN2MmVvQ1JlTXg0dmN6YkNy
NGZTZ3EvdWdYYVlOMjBzY05NNTZTMnNkL0FwT3BXdlBObSs5Kwo5R1FwUHYyVzFKYmZUWWpWd1Fw
eUZiKzVGT2FSVTkxMkZCdWR6SiswaC9UNnhhMFM2b001YTNRa1FBSWtRQUlra0dVQy92aExiNFdq
ClpMMndyUUcxUGJiMmZXOVk4d3pTMC9wblJHYnVLekxyS094RkFRR2JyaG1CUU0vQmtyLy9oZWls
SFdtRUhOTUJIU3pNV1BsUW5ibmsKMjFNd2wwWjdiZDNrZERUR0tWOXQ3Tm1iWllBZTJTTVE0eDFY
UW13YjBSU1NYZHZ3aWMvMVhwL1pkMnErUmlmQkZKRXZEOEE4RWN5Wgpva3RLSUxUVlhoSW82Mitl
bVVGSDhBdVU5a2w5K2QzRVdHR0dWVEFablFQcXIzV0JDMjFMa1EzcnNDUVd6YkFTY2ZHZUJFaUFC
RWdnCk93VDhNUWZFQ2pubXIyd01uTzYwUE9EcXBoUzl6L1ZhcFZ1ZGdLNktSYVFTY3hqbXdRYjlV
L2hWTndwUEpoekM2c1QwTHc4V21mQVMKcktiWWErZ0ZxL3QzRkI3eFUzTkUxeTlGYit0VDRxeGU2
QTJTMXJXYXFlZ0tQcUdCd3lTOGRMR3BKak1mcGFwU3FwOTlYSHBkbWxDdgphY1hPd0MwVHdNY2VF
MUxqWVlyM3hLcHVIaE5FYlE5ZVorN3hvM3ZiUk5CdXdwaXJVenRmcFBKRFRBai94bTFIM3ZDYjNo
WDVmRytSClNmL0R2SkJCM2llOEJvRmc3eUZTZHUzSEdFM2NKSFZ2M2kwTm43MG1vYUhicFcxK1pX
R3FHVmJlU0d6dVdkeFRuQ3I4TzJkR1FGQlYKYUZlUnRhc2xPR0JRbTJaaE5pNmVTWUFFU0lBRVND
QlZBdjVRUUN3TnIvQVVMSU1kT1V3KzBuWGFmYi9wYlV4bXZSNUMxRHROMzY2QwpVRFhyYUFoUHNO
RnVaVTVFMDVmOGRSZnNPMEtLanJ5ODNZWFczZEFEdmRFVHZHU0pFWnBjTTZ3b0JLZWxrSFViTUJJ
U216dlQ3cFFZClFaeUFmdE9KQ2tiQkdKZ2huaGtQa3RaRkZTYVZML2s1bFBkWG03Nm1xMlBOT1Vs
a3g2bHNSMDNKeE85VVlTZzYrZ3B6Nkw0ZzdYTDUKaFJoQkdTamhTblN5R0EwVEk0dVlERi83NWl0
U01HRlN1NkxteXlSQUFpUkFBaVNRaklBL1RMQzA1SkNkNHNKVG9oQ1ZqRXhMZm1xZgozdXNna1Iw
Z0hBMzVTZk5RVmRPeFFlRlR6ZjNwazFVQ2dhSWlLZGhoOTNpZEdoTXNURTUzc05KV1pBMU5lTElL
MjBhbTdVYmJVYlpjCjJhNVlYdm9WdEtNZk40K3hBaU1oYXg1dTdrK2ZaZ1FDb2ZZcDJ3WGI3WVI1
VXhoRndVaWxhOU9JeWZEUmlFUXhvaGdweDRnVkhRbVEKQUFtUUFBbGttWUIvRkJDdjhKUXRJV28w
bHQvdGcwbm9pVzdSTC9HSEhDTWxkQjFHd0poMTdYa2d6RTlHd3lRT2NqRTJVZE1KdVExZgp6WkhJ
S2l5eFROYzVCTExSbHJRZDlkdy9ya3lhakd1OHk3RlJJVjJIRTNBaUVTazZDUCtPNlNwYXVobWhM
aFNCMWJCcVhuOUpvcFdiCm9KTzBwOGVtdzdQUEJFaUFCRWlBQkxaQUF2NVFRRHJ5NytlSTY5eHE5
NlpSKzVVN1gyUUwvQ0MycEN3SHNDbWhsTUtVVHJ2bFZVakMKS1ZwZko5WC9lUUw3UjJMdURsMzJD
ZGp2M0NvZTlyNDlLYWxwMTRockcwZFhiSnhWbjJDZXlJcjJ4TXgzVXlBUXdQNDVnWkl5SEtVSQpi
ZUhqRXFPOWxYZmZpVWJGenBRVU1ESUlDWkFBQ1pCQUdnVDhvWUJrVTFoS2hGdTJNM29PUnpVWG5u
UlZIN29PSlpBM2ZBeHMxSGMyCjgyYU4yS1EvMkIzZHFhM0ZidWtiT2pSdDMwYWUySmJzZlh1QjlO
b1BNNnhWQUU1d09rK0Vyc01KNUcrekEvU05Bak1Db2czS2pJTFUKMUdFMzlENVk4cmV1dzlObkFp
UkFBaVJBQXY0aTRBOEZ4SGJxWlV0WVN2eEdpclpLOUJIWlBMZTVIMzJ5U2tCTlF3cDNWOEVWTnZD
NgpGNGl1NEFNVGtyb1Bwa0VCMlpqVnRCaFpDd1JzMjJyaGNjcmVnUkFVK1JGdWNHMm5OdDc2TlNs
SHdZRHRJZUJJOGJFbnVlWldZSytEClVycmFYTTI3YjdsN2pyUW5hcjVMQWlSQUFpUkFBZ2tFL0tH
QXFFRGpkVmE0OGZxMTV6cXFxOGZFbkJXZWRObFJ1ZzRsWUhhTmhwbEkKM3NpeEpoMWpxMjdzMWJH
Q3ozOWZReTh1VFVleVhnSFpianZlREVacTNUdE5JOTVtT3pKQmIrSSt2ODR2TU12d0Jvb3hEd1JP
MjVMKwpKeGhOckgxM3FzL2hzUGdrUUFJa1FBTFpKdUFQQmNUS01QWWNGMjZ5Z0RPQ3VRYVYyQnZF
eHExbmpiOXdlQllpWnhSdEVTaWN2SmNNCnVQZHBHZkN2MTZUSDJSZGpmNUFlbUVDTEdiU0ZSZUpz
NWp5UXR2aWw5VnkvNjJ5MkhXL2lVU2pzOWN1OVB1NTEvc0RtZnZUSk9nRlYKNW51Y2U3a01mUEpO
S1R2cllyUEhqaE1KU0xRVzlRSWxQMXBSa2ZVMEdTRUprQUFKa0lCL0NmaERBYkdDVTBjSVQ1VWY0
QTkwdVBrWApWT1QyeWpkL1FKK09JSkEzZUtqMCtNSEZNdVMxLzhtZ3AxK1I4SElJczVoY1M1ZEZB
cXBjVzBYYlJwdXROclhoQmNRWUd6WDB4bGs2CjBhYkVjeWNRQ0VLQjczSE94V2hEcjhxZy83d0Nw
ZjVjMmZ6c2Z6b2haU1pCQWlSQUFpVGdKd0wrMllqUUt6d2xDbEdaMXJpdVZibnkKRGxjb1U2Rko0
OVZ6SG5adzdybEhwckh5dlhZU3lCc3lWUHBlZDJNN1krSHJTUWw0djNOdm0wb2FPRVZQQndyOHNw
dWFCeTRhSjFJOApwcmsvZlRxRmdMYWpudWRkSktJSEhRbVFBQW1RQUFsa2tZQS9Sa0FzTUJXZTFO
bXplNWY1N3dMOFlkN3dmUFAzQjN3UGFiRDN2VGtZCittelJCS3p5b1lXd1NueDcyNUlxOFFzdkZh
bjZxREZPcTlnTS9zRVdqWXVaSndFU0lBRVNJQUVTU0U3QUh5TWdkbVRDemttMndsTnkKSnEzN3Fz
QlU4WWJJNm4rSXJQZnNlRzdqREdCZmltRS9hVDBPUGlXQkxaRkFiSytWK0VpZi9lWXpLWXZHdGVs
dGthWFg0dnl1RzROWAp3Y252THpMMDRreGk1anNrUUFJa1FBSWtRQUk1VHNBZkNvZ1ZiTHpuYUJX
VWlOODJyUjZ2UUdXdlZWRFNGYTBpTlpna2kwM1JLbDZICnFmcnF4dDVhRzRPTmU5VDFJa1VqckMv
UEpOQzlDR2k3c0cxRFMxYnpoY2lxYTV2NmVaL0hyM0docGxZUnRMdTZwVmk0NFQyMHAvS1cKMzl2
cVR6Qmw3Tm05MkxFMEpFQUNKRUFDSkVBQ2hvQS9GQkF0cWlvSU9nSmlCU0pkT25mVnovV0o2MmY5
OWV5OU5nSHdZOSsxejlRLwo4WHJRT1JqOXVOeSt3VE1KZERNQ2FFVGFqcXpUNzc5MnBudm90VzBQ
M21zTmErKzl6OVZmNDdKKzNuaUhYU2t5OEZRTlFVY0NKRUFDCkpFQUNKTkFOQ2ZoakRvZ1ZnRlRJ
OFFvNmJWV29EV3ZmOTRhM3o5UXZBRDF1K0ZVaTQrN0J0VCtRZWxIdzJrY0VyTUpnejAzYWdZZUQK
OWJmaDlKSDFzOEgwbWZYVDZ5RE1GOGY4RWNmTk5nVFBKRUFDSkVBQ0pFQUMzWkNBUDBaQXZFS090
eExWM3dwSXlhN3RNMzNIKzF6dgo5Vm1vV0tUM3NTSWpyaE1wMlU1OTZVaWdleE5JMWc2U2xkamJk
dXh6NjZkeDZJaWlqU3ZVUjZUZnlXaEh2OEwrTFVOdGFKNUpnQVJJCmdBUklnQVM2S1FGL0tDQzI4
cXpBWSsrdFFHVHY3Ym1KUDBZMHRHZFdKNWVIZW1CK3g5WllHblFDRkk1ZFJQb2NCVC80MDVHQUx3
aWcKWVRScEc3RkNlLzMwV3R1Wk9udXR5b1pnVmJoUUVaNzFGc2tmSUZJd0JtMEk3YWhzYjVGZUI2
T041V3NnT2hJZ0FSSWdBUklnQVI4UQpDRGh3UGlnbmkwZ0NKRUFDSkVBQ0pFQUNKRUFDSkpBREJE
aGhJUWNxZ1ZrZ0FSSWdBUklnQVJJZ0FSSWdBYjhRb0FMaWw1cG1PVW1BCkJFaUFCRWlBQkVpQUJF
Z2dCd2hRQWNtQlNtQVdTSUFFU0lBRVNJQUVTSUFFU01BdkJLaUErS1dtV1U0U0lBRVNJQUVTSUFF
U0lBRVMKeUFFQ1ZFQnlvQktZQlJJZ0FSSWdBUklnQVJJZ0FSTHdDd0VxSUg2cGFaYVRCRWlBQkVp
QUJFaUFCRWlBQkhLQUFCV1FIS2dFWm9FRQpTSUFFU0lBRVNJQUVTSUFFL0VLQUNvaGZhcHJsSkFF
U0lBRVNJQUVTSUFFU0lJRWNJRUFGSkFjcWdWa2dBUklnQVJJZ0FSSWdBUklnCkFiOFFvQUxpbDVw
bU9VbUFCRWlBQkVpQUJFaUFCRWdnQndoUUFjbUJTbUFXU0lBRVNJQUVTSUFFU0lBRVNNQXZCS2lB
K0tXbVdVNFMKSUFFU0lBRVNJQUVTSUFFU3lBRUNWRUJ5b0JLWUJSSWdBUklnQVJJZ0FSSWdBUkx3
Q3dFcUlINnBhWmFUQkVpQUJFaUFCRWlBQkVpQQpCSEtBQUJXUUhLZ0Vab0VFU0lBRVNJQUVTSUFF
U0lBRS9FS0FDb2hmYXBybEpBRVNJQUVTSUFFU0lBRVNJSUVjSUVBRkpBY3FnVmtnCkFSSWdBUkln
QVJJZ0FSSWdBYjhRb0FMaWw1cG1PVW1BQkVpQUJFaUFCRWlBQkVnZ0J3aFFBY21CU21BV1NJQUVT
SUFFU0lBRVNJQUUKU01BdkJLaUErS1dtV1U0U0lBRVNJQUVTSUFFU0lBRVN5QUVDVkVCeW9CS1lC
UklnQVJJZ0FSSWdBUklnQVJMd0N3RXFJSDZwYVphVApCRWlBQkVpQUJFaUFCRWlBQkhLQUFCV1FI
S2dFWm9FRVNJQUVTSUFFU0lBRVNJQUUvRUtBQ29oZmFwcmxKQUVTSUFFU0lBRVNJQUVTCklJRWNJ
RUFGSkFjcWdWa2dBUklnQVJJZ0FSSWdBUklnQWI4UW9BTGlsNXBtT1VtQUJFaUFCRWlBQkVpQUJF
Z2dCd2hRQWNtQlNtQVcKU0lBRVNJQUVTSUFFU0lBRVNNQXZCS2lBK0tXbVdVNFNJQUVTSUFFU0lB
RVNJQUVTeUFFQ1ZFQnlvQktZQlJJZ0FSSWdBUklnQVJJZwpBUkx3Q3dFcUlINnBhWmFUQkVpQUJF
aUFCRWlBQkVpQUJIS0FBQldRSEtnRVpvRUVTSUFFU0lBRVNJQUVTSUFFL0VLQUNvaGZhcHJsCkpB
RVNJQUVTSUFFU0lBRVNJSUVjSUVBRkpBY3FnVmtnQVJJZ0FSSWdBUklnQVJJZ0FiOFFvQUxpbDVw
bU9VbUFCRWlBQkVpQUJFaUEKQkVnZ0J3aFFBY21CU21BV1NJQUVTSUFFU0lBRVNJQUVTTUF2Qktp
QStLV21XVTRTSUFFU0lBRVNJQUVTSUFFU3lBRUNWRUJ5b0JLWQpCUklnQVJJZ0FSSWdBUklnQVJM
d0N3RXFJSDZwYVphVEJFaUFCRWlBQkVpQUJFaUFCSEtBQUJXUUhLZ0Vab0VFU0lBRVNJQUVTSUFF
ClNJQUUvRUlnenk4RlpUbEpnQVJJUUFsRTFpd1hwNlpLSk9DMERDU1EvSkh4MWgvN3FnMW43Mk1Q
SEhFZjJNYzJOZzBXTE9zcndUNEQKclJmUEpFQUNKRUFDSk9BN0FsUkF0cUFxYjVqMW9WVGVlbDVq
am9OUmN4MEl4SVNkUFBmZWlRdERrTEZpZnJHQTdydjJ1WldPN0gxYwpxb29sRVdrNlFCWWNQbDU2
L3ZLcDJFT2VTR0RMSkxENXdWOUovU2YvUmR1QW1oQnJBOXBtdkcwbEFBVkM3MjNUU0d3cWdaRGIx
bUo2ClJoT0Z4QWtIbTNuSFNlRlo0V0huU3ZHcHY0cDc4WUlFU0lBRVNJQUUvRWFBQ3NnV1ZlTmhr
ZnBOSWpIaEp3QVpTSVVvSitxS1NVNDkKN3ZFc0dKT3FqRzhEZWx3UlJwME5GeTl5TTZuS2ZhTENs
eFBHRVE4WXUyaEFyekVkQ1d6aEJBSUZhQ05GRVFuMkd5YUJzcko0YVl4UwpFZnZvalZKdjJwbHRC
YmF4eElPanJkbG5qWDVPcEhrNCs5U3BXaS9PaHZJbWlvNTl4ak1Ka0FBSmtBQUorSWtBRlpBdHFi
YURqaEdjClF0dE9sckpMSDNCejNySzhrN1dTUlZiTWtjMS9PRjZDRU56b1NHQ0xKNENSdzFCUlZJ
clB2RUh5ZHp5MDA0cFQvL2JmcGU2WmEwVzgKbzVJZG5McFR1eG1kQ1JFSmxKUktJTmgwUkxPRGsy
YjBKRUFDSkVBQ0pOQWlBU29nTGFMSnZRY0IyS3dIQ3NJU3pBOUJvT2paYVJrTQpGSmNheFVmVDdp
eTMrZm5ISkcvTWVDbllZWmZPU3BMcCtJUkFNQittVllYaHBDTVlIWWxBUjB5Q1VId0MrYzFIVGpv
cTNmb3Zwa20wCnNsSkNnMGRLc0VkdkNRNFlMTUhpa281S2p2R1NBQW1RQUFtUVFFb0VxSUNraENs
SEFtRzBRd1VZcDJxeDFMMTVaOXgrWFJJNk5sVlIKVVFmakxITldrNnJRcE85SXNOY3djeC8rOG1s
eEtwYWE2MlkvMGNZaEZmdStWSzR4WmlQQndzNFJuS0tWR3lRODV3T3BmdkJXa2FKZQpramR5dlBU
NDRiV1NOM2hJcyt6U2d3VFNKUkNBQXFLbWl3M3YzQ0hoVHg2Rkl0SzByVWhzYmxVOFhqelhWaEVv
N1MvNVIvM2VlRHYxClZWTC83RVh4SU5yRzFNWGJUT3hKM0QrQ1orc1hTa0FWbnp6Y2RJTFQwWS9v
Mm1WU2RkZU40bUErVjJqTVJDays1alRKMzJZSDVLTVkKU3NsUWxCMkZveU1CRWlBQkVpQ0JUaVpB
QmFTVGdiY3JPWmhnR1FHbWVxR0VYN3MrM29PclFvK1pVR3NqajArUWRZVWkvUTJObml3UwpVMENp
WDk0djBVVlRiZWdtWjUzN0VaT2xjSExmVjdValdJanIvTTRSbk9yZWZFSWF2cHFPZk5URFpuNjUx
RzhzbC9VWGZGdWNncDVTCmV0SlpVbnJDS2VoRnptK1NiOTZRUUtvRVZBSFJPU0N5NmdPak1CaTFP
dFptOURyWjVIVDFkM3FPd0srcmdFZ0VFNjYrZVVaOWNjRFoKaFNCaXQxWVJRY3QwbjJOdWlGNEZD
OTM0WGMrTy9RM1AvMFRxM25wWWdyMkxKUUJGM3FsYkwxVi8rUVgrTVlEeU1Xbzc2WG5wTHlWLwo2
L0VkbXduR1RnSWtRQUlrUUFKSkNGQUJTUUlsVjcyQ2ZZZEx3WUdYd3BZN2xrTW9KSzdET1g0TkFV
YzlUUmhISXJQL0pWSzFBcDQyCkxDNWpBbGh3bSsrSTlCeHBSU1JNVW84SlMxYW9zay9zMUkreXdi
SDBPdllVWFRNZmsrM1hTZGtaVjByZStOMmtidHAvcGZyZkQwSVoKcVpLRzJaOUllT2ZKRUp5Mjdk
aE1NUFp1UzZEZ3dQOFRaL0lwYnZsaW4zd2cxbjVzSzdHclkya2dwNlpjb2xOL0tGSm9Hd0k4OFY0
UQpveG1TWHlxaFErOTI0MnJwMTdIdEtoYWc5OVl0aGN5cXYxT0ZmRzlZS29XN0hvSlZ0NjdHeWwv
dlNPM3JUMG5EL0xuNE55UWk0YVh6CnFJQmtsVGdqSXdFU0lBRVNTSlVBRlpCVVNlVkF1R0MvTVZK
d3hIWHA1YVFjdmJ4aG1GdDVGQlNkVE80VVloV2dTV2RKY01SQjZjWFgKd2FFanF4YkF4R3lOaEhx
V1NIRGdVTW5iWmhKTVJVWkl0R0tOMUwzMmpCUk0zRW55Um8vdDRGd3crdTVNSURoaWo3U0s1Mnhh
TFBJQgpsSStFUlJqTUtFcGhuZ1MzUGpHdCtEb2pjTFFTeXNmcXI4MWsrMkQvZmhJYU9FS0tEajBG
SzM4TmxrMDNYb2o1SUdWU3RGZHV0ZjNPCjRNSTBTSUFFU0lBRWNvTUFGWkRjcUljT3kwVUFabE1C
OU56R1IwMlFVcUFBZmpCQjhmcDFXQWJTakxoaDJpTVNXZllsUm5wT2tkQ1EKMGJCc0NVaTB1a0pr
OHdZSjlPNHBvYjY5TVlKVGtHYXNERTRDN1NDQUFRemRFMFROSCtOTy9hREU2NUdMTHJMb0l3bC84
U0lVK0YwbApmenRYNFhJMlYwcDB4ZGRRUW5wSWFGQS8vQnZBeWVpNVdIZk1Fd21RQUFuNGdRQVZr
RzVleTJiQ2JSRUVKODhJaUY2YnVTUmV2elE1ClJEKzZDUlBaNTVtMzRxWmJzSE1QSFg0WEZKdk1K
clk2RFRYaVZLK1NRTjBxeVJzMlZrTERYRk9WdW5mK0xRMXovaWRGaDJBQzdhVDAKZXEvVExCYURr
MEF6QXNZY1M1VVB6NzRmYWxTbGluM2lxRWl6bDl2d2NPYmNKYzdLRCtLaGJGc0s3blVUVnJvYkZQ
ZFA1OEtKWVBNZgptSTFKeFZjU0dMR0Q1TzF3Z0hrOXNtU20xTDUyaitTUEdDUEZ4NTZkVHBRTVN3
SWtRQUlrUUFKWkpVQUZKS3M0Y3kreVlBR3MyakhuCncwN24wQndHZFJsUTFSRlVpc3JVclhwWkFt
dW1tUTBMTlJyZC9kbkU1L3dOZDVrcElKRzViNG5VcnBmZzBER2lTLzhHOGdyRXFZZFMKVXJVS1Ux
b3FKVy9FS0xPVWFLWlo1bnNra0JFQmZPQzZVbGJpYW5QbU04ZG4zeDRYV1ArdXlOTEgwWUF3YlIw
clZjWFB1MTJEYUROVQpRTXJubWxYdUFqMzdTcWczUmd3TFNoQjNHTXI5ZW93a3JzVnFlREJqeE1w
eTJYQk9WRWRYMndraEd4bGhIQ1JBQWlSQUFsc1VBZjdsCjJLS3FLNFBNcW5hUXFHeG9yU2Y2cFJt
MW1uYVozYVIzdjFxQ0I5K0R2UVV3cXRMT2ZVS2NaVkJvbHY5UEN2WTVUVUpiZmN2a0tQelYKdXhK
ZE5RZWpJYU1sMkhkZ3U4MnZvcHV3Zk9yY1JXbVdsc0Y5VDBDN2FyemROZHF1OUdqdnY2Q3EzS2la
NUlUekpYamd2Vml4cXIrRQoybW5XNWF5Yks1RlA3cFhRV0poZjdYVVdNZ205cG55UmhHZTlEQk5H
bURHMlUvbHdvQ3lGMTZ5VGhvWEx6RkUvYnpITUpHdE1PdndoCkFSSWdBUklnZ1ZRSWVQK2twaEtl
WWJZMEFxcG82T0YxVm5qeStxVjVIZEF2UnpkR0hINjR5SUM5SlREOUIrSTBZR1JGNDg3QU9adlgK
aWJONUZRUzZCZ21XOXBGZ3o0RW1sc2hjS0NEbDg2WHcwTXNrYit5T0djU3NuY29PSnJGdmtvcS8v
Vk5xM3Y1TXd1czNpb1NqVXJEOQpXT2wvODA4a2YvamdqT0xsU3o0aW9JcEdvcktoYlNEUkwxMGsr
cjYyendIN2lJdytYUUt6YnNRS2NLc3piMGNOMVNJTkZSSUk0OEFjCmorREFiVXlPb3V1aEpDeDRG
M3VCVEpDQ1BiK2RiaTdqNGNOcnlxWG1yZmVsK3JrM3BXN09Jb2tzWHljRms3YVZYbWVmWU03Qmtp
S1kKVHc2Q1VzVS9MWEZvdkNBQkVpQUJFbWhHZ0g4bG1pSHBoaDRxNUhnVkF4VjR0T2E5ZnVrV1c5
LzFLamFJTHhEQTZscnB4aE1MSDEyTwowWS8xR09ub04wd0NNZVhEbUl6VXdXUWt2MTZDZlFhaWR6
ZzlreFExRDRsdTJpUlZqLzFiNm1mTmsrclgzNWRvVGNDWWNVWEtOMGlrCmZMMHNQK0FzS0R1bDB1
T3M0NlhuV1NkZzlhMnlERXZBMTdvdEFmdXRKeW9iVm5sb1Q4RTFibS83MUd2dmZacHhPeXVuUzNU
eHF4SWMKc3BVRUI3dHpxTXpjcXNxVlVHeGczdGlqRDBZVDAxdkMyb2xFc0JSeERaVDN0NlZoM2tL
anlLdkpaUUE3cStkdk4wb2lHemZKbWl0dQp3YkxFaFpJL2JxVDB2ZVk4eVJzeUFDT1d2U1hVcHll
VmtUVHJrTUZKZ0FSSXdBOEVxSUIwOTFwV0pVRVByN0tSS1BSa3dzQUtYelplClBTTWRlNXQybE12
ZWtHRGxUQW5zY2IwRVIrMXBYZzkvK3BnNDYrWkphTnQ5ak9DVWFwdzY0bEgzMFRTcG4vR3BWRDMv
SXVhUllBUmsKZmFVVWJyK1ZGQjJ3dnhUdk5SbTdXcGRLMVZPdlNjWDlUNk1YZDdWcy9NUERVdkdu
UnlRMGZLQU0rUDNWVXJUTDlxa214M0IrSUdBVgpBMjlaay9sNW42ZHliZU93RGNlMnExVGVUUmFt
Zm9QSXN0Y2tNT3hnQ2UxeWpna1JYZm1GMlhnME9IQ2tCQWVNVFBaV2kzNjEwNlpLClpPMWFxWDc4
VVFtdkxzY29aWVBrYnpWY3lrNDVXZktHRDVXaVBYWkZPM3BWcWw5OFZ4clFqdW8rLzBwV2ZlOEtr
ZElpNlhuS1VkTGoKekc5TC9waGhNTmNzYkRFTlBpQUJFaUFCRXZBZkFTb2czYjNPcllEakxXY3lQ
Ky96Vks1VllOSjRyRk1sQjNQZE0zRk83VHFSdWpXWQpMSS9kb252QmZLUEFIWVZ3S3BmQmRuMlc1
Tzl5a29TMjJidk5xSjI2V25GcWE2VHkzanV3YXRac3FmL3lhNGxpMStlU2d3NlRvdjBPCmtLTGRk
OFBJVHg1V0Z5cEdqMjZ0bEoxd2lCVHRPa0hLci9tOWhGZGgxU0JNcGcxdXJwT0tlNStTMElDK1dD
MklwbGx0UXZkTEFLdkkKZTh1cjM3LzZ0OWRwUEY0RnhGNm5HYStqNWxjMUt6RmhIdU9RcFZobXQ2
Uy9HMFBkT29uTWZRbDcvdXd0QmZ1ZDMyYXNUaDBXZnFqWgpMRFZ2UEF0Ri9uOVNOMTBYbXdoS3dl
NzdTdEhrUGFYNHFHUE5YS3hnS1NhM040VFJybmFFUWw4c2xRKy9nQkdTSmVLZ1BLRWVwUmgxCm5D
OFJ0S3ZDN2NhMm1TWURrQUFKa0FBSitJc0FGWkR1WHQ5V1VmQUtOVlp3OHZxbHk4RUtUVFlPdmMv
UU9WL2ZLN0xtUFFtT09SaDcKRkxqbUlWR01mRWpOV2doUkpWZ1Jxd2VXUEczWk5NcXByNVBhdDU2
U3lOSkZVdmZwTk96d3ZBem1ZUG1TdC9VWTZYbitqMkJ5TWtMeQp4MjVsNW9KSVE0TkVWcStWamJm
ZExUVWZ6Y2F1MEN1UVptOHAySGFNOUwzNmZNa2JoYzBQaHc3QTZrRTlNeXdOWCt0MkJQUWIxeVB4
Ckc3ZHRvRDBGVmdYR0cyK3lkRktNUDFBT1JlRnJMSVBkZDdRRXhoeG0zbkpxb055akhZVUtzVFJ2
Q2RwUjJZQVdZM05xcXFSaDV2dFMKL3lsR1BaWXZrYnBQWm1EMzkxNVNNSDY4RkI5NWt1VHZPQm50
eUpwMW9SMXQzSWlSdzd1azRadmxVdlArVEV5MnlwT0M3ZERtenZpMgpGTzJKRFVSaGdxV21XSFFr
UUFJa1FBSWtrRWlBQ2tnaWtlNTJyOEtOQ2psV1VkRHlXU0hINjZmKzZUaDkxL3YxNkgyRzhRVXF2
eFpNCnlCQVpkWWhJbjNFbUY5RUZMMGwwNlZRSmpkNE50dXpOemFIVXpFcnFhOUhEdWtCcVg3Z0h2
YlQveGVnSGxocDE4cVhIK1ZkQjZSZ0wKZS9RSlVGNTBzeldkaEY2QjFhL21TbmpKQ3BoYTNTdmhk
WlhHTkt0ZzRsanBlK1g1VWpCaEhPYWZZTWxTakpEUWtVQXpBdHFPRWhXRgpST1doMlVzcGVHaWI4
YlpQVFNQVHRvUlJ4RUREUXF6ZWl4R0trVmdjQXM1Wis3bEVQLzJ6QklaTWxOQjJSeHEveEI4blhD
K1IrUjloCjlHS0dhVXZSNm1xSmhvdWs1S1Fmd014cWE4bmZlVy9NaytxRGZPbW1vTlZvUTR1bFlj
RkNxWHppYVdtWWhTVi9Hd0tTaHhIRDNsZGMKaUhZMDNveDRhUHZVVFVUcFNJQUVTSUFFU0NBWkFV
cGJ5YWgwcHQrS1Z5Qjh3M1RDdXI2VFlUNHh5dDYxLzZ3eWdGZHcwaGhWNE5HagpQYzRLVFZiR3NJ
SlR1bkZ1K2xvQzlTdkZLY0srSDhYOVlkcFJCbk1QTE9sWk1WK0M5ZGovWSt4K0VoZzhJUjZyVGl4
M05pN0hhTWRNCnFaLzJwRVEzbEV2NHF5L1FzenRROHJhZktDWGZ2c2dzTXhvczdXSGVDYTljSnBF
MWE2VGk5cHVsQWNxSHN6bUtFWS9CMHVOdzJLYVAKSFMwbFJ4NE1rNjhDTENOTUcvVTQ1QzNzd29s
aUdkdDY5UFRISFQ3S29pejN2TnZ2UFo0R0x2U2JUMnhiM3VlcFhHdjdzVzFJdyt0MQpKbTJ6Rmlh
TW0rYkEvQW9SbEE1R080SjVWQlNiSjBhMExjMkNBbks0QkxkcHFvQkVzTHkxVTdsTzZ0OTVFTXA0
V0JvK2ZRTnRBUlBMCnQ5bFJDZy81Z1JUc2ZLRFpqMGV6RmEyc2tQQTNDMlRUUFgvQkdTdHFWVlRE
MUtwUWVwNTNCdHByU01xK2Q0SUV5MHJSam9vME9KVVAKUTRFL0pFQUNKRUFDTFJHZ0F0SVNtVTd3
ZDZvV1NlRHRveURFb0RmZkNpR2pUaFhaNDlIc3BhNDFuQ2drYVZxWktndzJaNG5DbDk1bgpNZ2Rr
NFQwaUd6K1Y0SGdzNDl0cm5CdDcxVkpzU0loVmUwb3hJbEVLcFNTRURRa2RSQTVNRGUvY0tkRWxY
MHJENTYvQXJ3QW1JdjJrCjlKSTdKVFJpZTJ5d2hxVjdpNkhBYkZvdmtmVnJZVXFDaWVpZmZTUTFV
ekU2VXJFWnZiU2pzU3pwTU9sNzNYVVFySXFodEVEcFlTK3QKcmFCbWVTTUFBQ0FBU1VSQlZORld6
NUVObTJDNkJpRlhuWDQvNW52VlhtNTdyV2ZQZDZ4TE5Kc3c3bk16c2xSUUNDRVZkWW82eXFZTApM
SDVNWlBvWlRiL3p3ejRUNlQwcGU4bW9VcENvR0NUelN6ZEYyNDRzSzN1ZmJqenJwb2tzZjBxa1B4
WndHTEtmKzNZbFJrTTJ6b1FaCll5K1JYa09nWEpTNlpvajFsUkw1RW9zdkxKc2xEUjg4TGs0ZEZK
VmVvNlQ0dTllWXVWYkIvdGp3RS9Xa2MwR2lHOHRoWWpWSGFsOTYKQWlPSUN5U3lCT2FOQTRaTFh2
L1IwdnVxYTdIa0xsYXR3NElPM0l3dzNRcGplQklnQVJMd053RmZLQ0RsUDc5ZHFwN0J6dDE1RUlw
QwoyTG5YbkhIZDVCNENiaDZlWVFKbll4ajFjOUNyaHg3eUVnaFAvYkJKMk1DaEVobzlRZksyK1Ji
VzFOK2xYUUpzWU9IOUVKb2d0UFhhCkRzZjJFQ0NlY1lVSUxEMHJoVm5xd1ZYQlJnVWxLK0RvOTY3
M1d2TmVQL1ZQMStuN05nNFZuTkoxMmp0YkIwVURJeDNTZXp3T01JQnoKNWowb3N2SXRDVTA4VjRJ
ajk0VXBGcGJQM2ZDTlJHYTlJdUdGSDJCbjlDb3M4VGxNOGcvOFAreWF2aU5HUENaQ0FBcWhGN2RX
d3ZNKwpNZVpZOWUrOWhvbmxxOHlrOXJ3Qi9hWG8reWRMd1E0N1lkUURTZzZXQzZYaWtWNWxWVC8v
WDFuL3kxdng3V2o3MFhiaXRpUDNIbTBFCmZ0cFdYSC8zbVdsZjZoY1BqekJvWDhFZVpkaUpHeVp2
VzJPanZFbUhtVTBuMjFVZjMyQU9rWDZIQlRBVGNpTFk0MldUeU1LL2llenkKOS9RSzJWSm9qVnZi
VE9JM25xbXlrSmlPeHErSE91KzE2OVAyYnhUek8rcnhid1pHUUdUa3poSVllb1Q3VHZVU2tkbC9o
Rm5qZUFudAplZ2syOVB3RVMxM1Bnd0wvZ1lSbnZncEZmWjFSVHZJUE9BZnRhQ0xtZUJ4dDN0TmQw
NlByVnNqbXgyK1J5SW9sVXY4VlJpbEwrMkovCkhyU2pLVEJYM0g1bnpLOVNoUi9LSkhkQmI3dCtH
SUlFU0lBRVNLQVpBVjhvSUxyaWtWUnRGZ2RDazFFeWRLZGhDRVdPcmhZVEU1eU0KUHphblV5SEtI
REQxTVFKVkZQY3c4WWpXT3ZpRHZRakNNSFlCL3Z3WnFjZDd3UUhEcE9EQTh5Vi96eWtRc2dxYndX
M1ZRM3YwRnozZwpDaHlxZkpTTkVla0pJYnhxTnZ6dkV4bC9WYXV2cC94UUJacEVCU1FiZ3BQR29m
RmFwK21vWHpwdTlXdFFRTmE3NWM0cmcvQ0tFUTAxCnY2cUI0dUJVbWxWOG9qTnVsZWlLVDNCZ1Jh
dDZWTW1ZZ3lRMC9tZ2NoeU45SFFIQmlFY056RU1XejVUbzJtV3krY2svb2RkMkkrVFEKUENtY3ZK
ZUVSbTRySmQ4NUYzRWhmZ3BMNmRSTzA3QTZ1aEdLWUdKeER3a043UStGUSs5ZGhjTW9GZWJhVlRh
TVVxMEtTdHdQWWFWZQpBbEE0bzVzaEtHT2p2T2ppajdIci9ZY1NmdmV2MkxOaXJCUWU5VFBKbTNo
TTB6UlR1YXRhS0xKMktyNDlmSUM3M0dsV2daS1pQeFZaCitvaklSQ2hNK2E0cFhpcFJ0UmttOGZ2
Vzc5L2JCdHFNSUVtQWx0cVJ0cWRVWGVWWEl0V0xNZnFIRWNCQ3JIeVZWNEovc3pDcVVZOTUKVmJW
ck1kSzNyVGpZR3lReTYyRW9JUGczckRvcW9Vay93RDRldzZEa240eTJBY1ZOVGJicVVUK3JzSEpW
K1RLcCtkZE5VUG8zSW13WQp5dUpvS2R6dlJDbmM0ekF6Z3FpcnhiVkxZVXkxWEF4SEFpUkFBaVRR
YlFuNFFnRXhwaUVRbnZyKytnb3ArN2JhUWF0QUJKZnNqM3d6ClA0UU4xeGx6Qkdmakt1ekt2Vmdp
aXorVnlCd0l6NXVXU01PTFA1UHdqUHVrNk5SN0pUaG9naHR2S3IrcjNvQ3d0QVMyNm9ORlZqeUwK
TnlBdzlOdkRGZUlYM1NXeURZU29RS0xFazByRUNXRTBpc1JvOUQ1UktVbDRyYzFiamNQTFN1K2hV
NlhseXQ4VFdmZXV5UGJYWWlmbwpmYzJyRHJnRUtyN1FCWFhFbWZsN0tCZXdOWTlBaU96Ukg3dWhv
emUzNzliWWtIQ2tDUnRaOVpWRVZ5K1ErcGR1TjJZa0RjdVdRU2tjCmh4M1RNZUYyekU1U2RNaHBF
SzZ3OGsrb3ZWSmlXcVhxeG9FRFVuTFV3ZEx2MTllMHE0elJTcGpJTGYxU0l2UGVrL0NuVDJHaTlI
eXAKZStSc2lVeityaFFjZjBkNnl2eENLT3ZhbnZPd2F0bUgzM2ZiVEU4bzlOVlE1SmM5TERMbTRu
YmxOZjZ5ZmtLSjdTaVpYL3lGRkMrMApEWG5ia2w0bnB0TldWS3FBZlBOMy9QdUJwYXJIWGVpR3Js
b2dnV1hQbVU2WHdBWW9lMnMrUW5PRllsSXlVUElQdUFienFuYkJ2MWM3Cm1yRFJUYXRRQjFqTTRj
bHJNQ2VrQWdvSWx2SXQ2b2ZScWYweDBydUg1TzkwQUNhaHd4UVNKblIwSkVBQ0pFQUNKSkFOQXY1
UVFBd3AKN0lDTkNaSnEvcEd4dzBaZXNzM3VJbnVkQkZ2cTMwQUplVVBxWDRId1hQNjExTjE3bEJT
ZStXOEpEdDh0dGVpL1VjRUpyc2M0a2ZVdwpRVkpCcEdFakJJUXg2TFg4QnN2U3ZvclZiSnBPR2pY
aDAvMnh3bzFYV1VnVWV0S04wNGEzY2V0OXVrSVQ5aVl3NWxlQzBhaUNmdWk5CmhTSUdGMWo5WDVI
TlgwbXdJSVNCSjR3eTdRcGhDZHBTY052VGpQRGt6Z2ZCYUJSNmNzTWYvUk56UXU3QnlBaEdRaUJZ
RlIzOGZjbmYKKzNzU0dqd1d3bEtSaVk4LzJTRVEwQkVHZFpEMTIrdUNQV0RPcy8zK2tvL0RPZVlx
Q1gvNGtEUzhkaDNtSlR3dURmVnJKUCtVeC8rZgp2ZmNBMEt5bzA3M3I3VEE5a2N3RVpzZ2dHU1NE
c0lBQlhmV0tHUU91cUxoK1psblgzWFgzWHNQdXFuZE42MzZHZGEvaEUxUVVFeVlNCm40RENLb0tJ
c3VRZ0tHa0dac2lUcDlONy83OXo1dW1wUHZOMjk5dHB0cnZmcDJhcXp6bDFxdjVWNTZuNnYvWDhL
NXdUUm1QbnlOa3cKaTNqUCtXWGJtNzlQREFqRXZvOWFoTTJPbVlEMVlZRGNIYVI4SWcyUVJqbzBY
dHMybDhrVGMxME5HdzZKM25VeGR2RkU2VHZueFd6aQpRV1ZzWm9aQ2w1aXA2bStMbi9rbnhUS3J4
YWVtMm5aN2h4Ri9VTEZra1lqTUh2WmQvNjNVZmVrbjRpMXltK0wzS1BaM0hCRGYrM2hCCjZCM2Y1
R0VmMXNCbW51RUs0bnRHd0FnWUFTTmdCSnBIb0NVTWtJSCtrMlVrbTkzR3EzOGRyNTJNdGMzc3dT
ZzJnY2Z5RVVoMG5CZGgKUVFKcUhiSFVBRjlzV040aFBrNFhYL1Jkc24rUTI5akFIRUk3RGo0OTFy
R2ZuTHEvOTliVWY5dTNVL2UzWHBxNlhuOVZMRzFZb213YQpIMWwyeEg0UGxnVE5pdEY5a1k1MU1a
SzUrOHRqUmlRTWtIdGlEZnRFR0NESWhpUnhsT001cTJHNjErd3hsMGNhUFVPejZSLzlWYm5jCmJP
NGU1U3dRNmNDbEo3N2szQllmQ2x4NFJHbzc0cjB4TTNKYzFFZG40TjBXSDFQN2ZtcmI5OW5GVXEy
KyszOGJoUFg3cWJiTDNtbFcKZkRtOWZiK1RVK2N4TDJvMmQ4Y2JKUUpoOG9VdWxNdXFsSFRUZGI5
UDY3NTVRZFJQa0g1MEtKWmR4VmFjemVlYjlhZ2pQaTdaR1RvMApPL1pSTGRndTl1NHNqaVZjTVV1
MTc3R2hWOHhPZGNRU3h0ZWw5bjJla2phZGYwYThEalptd0M3L3A5VDU5SDlXTmtNZkg0eFp5STMz
CngvTEZmYVBkUk51aERkSzIrNE9VTTdPNDlzWXc3cThNd2gwekErTnhhdHZJemgzWDFiRDhmalBu
S2pOSG5JN2wxY2gvSDdzcUJpdCsKRW9iSGdXRThiRFkrMkZ2RlN4d3dUdmFNSlZaTG41OXF1ejh2
Nm1kT1dCeXg5SFRGMVlISms4TG9qK1ZhOWRqdmNlK3ZJOXYxRWVmWQoxSEhFQzFQbkNXZkZqTklz
R3g0am8rOFlSc0FJR0FFak1FWUVXc0lBZ1NSQW5uSzM0YkxMMG9hTHZ4MEVLTUpacjg2ZURnWmRO
NThYClh4TXVDRmVFejQ3WGZCYWJhWU5VeldwTEhZZWNrcnFlL2JmeDVxVWpnbHpOU2JOZS9MblVj
MkdzbDc3N2t0Ujd5VHRTNTR1K21XZTEKOWZrOXNUNjlQMFliRno4dENOSTE1ZjFkT2Y5NUVKb29i
RnVNNkQvMDQxaWlkVitRaE4yM1RqK2FrQkJYR0J2Vk5JU1B4NGs0U1FieQp0dGgzQ2gzNnVDcklZ
N3dlTkIzOHdZSGxWOFZhL2wxUFRtbmZ2d3pDdWlRTXVmaDRZTS9hd09XVzFIZDd2SEwzcnAvRnNw
RW5GMi9zCmFkLy9HVkdwNzAxcHpmTFVlZnlac2VUcWhLSHo4cDJKUVlENnplcTRiK1dEYWNNdkxp
bDBvOWdUc2xsZkNrTUZmV0VQQ0dIRmZwSE4KT2hibjZGTUtnMlRXVTg1S3M1NFRJKzFkQzZKZUQw
eGRyL3hhNnZucTZhbit1LzgzOVIvMjB0aHZVQzRSR3JMd2YveGlXUjZXWEQzNAp3OUNWTVB4NzE4
U2JuMzZiMHRLWFJkZzNTa04rdkFZSUJXaWtSL3g2VG9RZTVVWUg1L2sxZVEvbk1OaFgvVFRlZm5W
NlN2dThzWXpKClN5eG03WlRTYVJlWCswRjJPalpleDdzeGRPWHVWTC92c3RSM3pVZFQyK0Z2U2Uz
SG5KdnFjeUllZTBCaTQzbjcza2VHTWZpcXFLLzQKL2JFekFrYkFDQmdCSXpDSkNMU0dBUUpyeW9o
VGdXZDA4bndzcSt2WUUrTkx2ekY2V015RWxHUkpzeUkxbGdlbG50aWNHU09KR3g1Tgo5Y2Z1aWJY
VXQ2YStXeTVORy81d1dlejcrR1RxT0NwR0dHUFl0L09NejZidS8vUGtWTC96SjdGaCtwcDRxMHdz
MVJyS3Nmd0s0dElWClMwVjZZaWtTcnd0bHcrd1ZSd2VadUNSZW8zbEdrS2R2cDNUdjUySXplaE1q
d1VQbFEzZ2pRdE1lNGZqUkVCMWs1YTRxdDRwdkhyZDYKempjYmVvSWtNVndlaGthS0RlaUZXL3pu
Y2M0b2JSRFgyS2hjLzY5L2l0SFp3T09KZTJOdCtrTmhqTXhMZlRkOE9YWDgyWHRpMCt5YwoxSEg0
R2FuN2wrZkZxUG1WTmtDcUdHL0Q2MW1ISDVubW5YbFc2RUZrdXZsVnZMVmkwenFOQXQyTC9VMDlH
Mk9KVDd3Y0lMN2gwbi8vCmRWR3YxNlNlSzJQNTNIMVhwOWx2K0Y0WW5ERTdzdXlZMUhiTW0xTC83
eitaK3E3K1VHbzc0OEtobjRJbGZBLzhJUEtqSVVjZXRNYzkKWWc4SWI0TzYvN3hvMzBHaUtkREsw
S1B1Znd0Q0hxUDk0M0hWOW80c3dzaCt2SzdBTFJPQzNHWmNmSGl3bU9tZ0lMTjJMVGVnazI3Twow
cFNXN1ZGS1lCUDZmZCtOTjh2RkJ2UkhiaTUrdzFKM1orci80MDlpR1Z6TWRNUXNTT2ZScjRvTjZ0
OUxmVGY5S0tWbi9GMHgrOUZNCjlvNWpCSXlBRVRBQ1JtQ3NDTFNJQVRJMFBMTlBmVWFhOTRJemg0
NVF1ZE1mUkxqN0p4K05kZXZucFUzZk9UZVdaTVhyS0pjY1dud0kKci8yWXYwejkxMzRzOWQvOGhh
RU5rTWV1QzBJZGE5WGoreFhGc2hIazcvR2FNRUtPaWlVVWg1WExSbVlIZVlDRTNQK0ZsUGFQVWY1
aQphb2FJWTNBaU56bXBJV3k4eEFsNWtrMnhPRy9XQ0xrM25vdk41NHVlR1V0SFl2UmFyajAydVc1
Nk9LVTcveU5Hc1crT1Y2a0dNZTJKCnhUK2RzUlo5bnpOUzdROC9pazNsTzhUSEJJTjh6dDRoUnNn
UGlsZUI3aFJMc3k1SjlaUGlyVDV4ejI0U0VjamIwT1pzWW9GVmFsKzAKSk0wNTdWbWp5cmp2dnV2
VHhxK2NrL3FXMzVDNjQwVU9YUy8rZEpHKzQ4Uy9pbSszL0h1cTMvWGpxT2NnejNPRFdEZHk5M3cx
WmhHNwpvdzA5TGRyU3J6WWJJR2VYYjM2Ni83d0l1eUptMXNLZ2ZUaG1FdThQZzMrZnYyMGtwZm13
dkswckZXSGoxU05rNVhyVEFHTmx0OVZ4CjlRMHh3eE82TW0rZndDR2VOWGM5TVJPMElneUtOZkds
OHYvNng1amhJSnZ0VSszQTE2YmFIMzhVTDNaWUhRRXg0QkpMU2Z2N2VsTGIKbmlmRnZxb1ZvVXVY
eGR2SVlnREV6Z2dZQVNOZ0JJekFKQ0pBRjlvQ0xucjFhc2Nlblg2eGJJU1pqMUc0dGdXN3B0bG5m
aVIxSEhkVwpET3gycDU3TC8vZEE2clpEWTBReDhxbmZFNlAyUTdtN3ZsZ1Nqb1d4WkdMVnp5Tita
eGdna1E2MzUydkxjcTYvTTlhMUh4b0d5b01SCjUzdmx2YkgrNWJtcnRTd3NkQnlyN05GQnR5V1h0
YmNIVVl3MSt3dkRBSm0vZnhrZUh5Tk10L3h6U2o4N0pneVEveE9rTWZaM3hHYloKZE9TN1U5dlR2
NXpham50ZkdHaTdwLzdmZlNxSVoyOHg2OVMyejZtQlpSZ29iRmptK3c5Mms0WkFzWStLK3E2MEdm
YUdqTVd4ZkhITwpPVitQZW95OVBkZGRHRi9XdnI4UVU1dTNhNnJ0Y1VwUm4vVVZZVmdNNVpoRnBD
eTh3SUNYTjJ3ZjdXYTdRK0pOVUpGMmJoRHlqZmRHCjJ6cWdUSDFmekNSR094bVhxengzSVdzaWpB
L2s1dnJaS0oraENoNGI5dE82VzBNdkR0eXlYNHh2Z2R4OWZrby9mMHBLdjM5TFNyZCsKT0RhZTc1
SFNmdWVrdGhNL2tXb24vTy9BTjR5VlIyOU4vWGRjVkQ3RzNxY1czL2lvUDM1ZjRCa2ZLNHpaS2pz
allBU01nQkV3QXBPSgpRTjcxVFdZKy84MnlnM3hVK0FmcjB5dEJveXJqck5QZkZSTVRNWHA0eDgr
aXc5NVFwRzNiK1VreHN4SHJxZGV2ak5IYmxWdkw2OXNVCkk1WmZLNGtUby8yOGVuZkpjeUxONWxI
ZVpSZ3dIZVgrajhVdktzdDhiNHh3anNjMWVraHFQYktwa3NsUlpRTlJHZzFaa25DTWowMWgKV0hV
c0tKZU5zUHlLVGJQM1hoQUd5UHZMR1pCRlQwL3B4Q0JSejRqOUJZZitkWHhZN2RSWUtySnp2SkZu
U1dDOUx2VmZIK1F6WEcxQgp2RkwwNkROalhmdnZVbSs4a2N4dU1oR0l5cWErSysxcFBHOUlhbHUw
ZjJvL0tNaHdDR1VXUzY0dFhoRmJOSzNIYmxIUTRPT2oxOFlNCldZeitkOGF5S3BiejRmWjhUWEdJ
SWYxNGtjUFpaVG5aaUQxbnI5REh1MkpHNUdmbC9iSCtwVUJGb1NvQ0dvVlZvZ3g3MlNnOSt0a28K
UEJmRThxczFZV3kwejR2Zmp5V2hUM01Md3p4dENFUHUyblBpaldBeGc4amVqNFAvWjByUC9FMUt4
MzRzMVo0VXVNeUtXWkFkNG5jcQpETEwrUC80MDNvSVZTMHZqdlAzWTE0YjAvdFR6aTA5RTNpM1NM
ZVI0K3R3SUdBRWpZQVMyS1FJdDB0TkViOTZnUXllSUpTUmpjVzA3CkxvMFIrajJqeis2THRkVi9H
QkJSbTcrNGxMaHhNekVhdUJNbnNSYTdlTXZURGpGYSs5anZ5enU4YnZmaU1GcCtGUDR5Um16N2d4
eUUKWVlJVXlBVWIwOWNGYVIrUGEvU0lGU0k1SHZGRjJtYmwzZmVGSUVjeDI3SG42N2ZNZnF5UGtk
ZTFkd1E1MmluMndud2dwUVAvT21hRgpYbG9zVTZ2cFEzTHhsZXRhVjVDc1RVL0VDUGV1c1hva1hn
d3dLNHlYSGZjS0locWo2TmQvTzdFOHptNnlFSWdLcG80cmJRbnlPaDdYCnR2U0lRdTRnSFFwakU2
bThJcmFoSzc3OUVYZFlmc1ZIQ0hGLytGaEtseDRjT2hTZUpYNjRCNzhmQnY3THkvTjdQMXNleC9x
M0tGQWwKOGZnZXZSVFdTRWFqdkNwWnA4ZXZpdjB0MzRtbG15ZW10TmNieTd2ci9oaS9LMkdjb1Vm
TFFuOE8vM0JLaC94RExGZGNHTHF5WFJHSAp0OGtsOUlZM1luVUh2ckg4Q2lPeU5qY00vQjNEa0hu
aTd0ampGcjlKZGtiQUNCZ0JJMkFFSmhHQkZqRkFva2V2ZFBUMXZscEpjcW8zClJnTjJrT0ppSHFW
bi9VQ3FlbTlzdG9XVThTYXJxdU90UGJnZG54d2QvWTFsbVNKKzZvMGxKUGkrOElVQkVvZVZzVHhp
eVN0THduZmYKT0daQklJeGgwd3h5WExOaXFZTEpvRGdqWFpBMlQwOCtGWEs2bFFpOUhuUmp6SUN3
UEdaQmtFWGNQZWZGVXJOZkJKRjZUUmdlWndhcApPb3pRd1M0MnJOY09mVU5NRVBXbnZ0OEZtZVFi
RU9IYTVzZVNuZGh3WEYvM2FCQ3FMZlV3T0xHdnhvdEFZV2MwcU4veHpJQVVaZXFjClhlcFFHSlJ5
OWU0MTVXbG5FT1dxNDIxTzkzeTlEQzEwYkhPNkRYZUhFUnN6QW5qZUhvZnIzeEF6QTJIRUYyK1Z1
N2g4Wlc5NVovUi8KODdhdTFEVEJSdUc2Mzh5UjlMbCtOaU92dnljTThUQzJtUUdadFRCbWVmWXNj
K0xEcG5mK1d5eEZPekJtUHQ0VHZ6TmgzRFZ3dGYzRApLSnUzTUQ0K2VGTzhHQ0QwSmx4dGZoZ3Bz
YlN4Zi9XS01FN2FRcjN5UWpVUTRpQWpZQVNNZ0JFd0F1TkFvRVVNa0dCT1ZmTEVkVjg4CmZuLzFS
dk5vOWorK0lpWXJJbjJNMk9McUdDTHhkZlRpelR6emx3MFd0UGFlNHNOZzhRN1NjbVpqOXE1Qkhq
Yjd6amppT3paN3psbW0KdE1OeHBZd1Y1MGRaZzB5TnhVRm9xcVNtVWRoWVpJODJ6VU94RElhOUgz
UEQrR2dQY2dreGxGSFN1emFNa2xnYU1zVGJpb3FSV3o2MAp0c3ZoUVk3aXpXU1AzVlhrM3JiSENi
SCtmN2ZVLzlBZHFmK0JJR1IyazRMQWdLRlJhVXZqblFHcFAvekhjZ1ErKzNaT2ZlWDF4VFBVCmR0
eThQeWg3b3ZxOVlaaHZDa045aDJQRDJQaFR0S0h0UW0vQ3QyLzJuT003Ti90SGZoRXpKUzhLSFFo
RDVmN1BaNUpHZWRwSVo3QjkKOE9OMStVOVFvM3lxOHRmZUZrWlcvSjVnZktBdlduN1YvWENwWCt5
TDJmN1FhcW90MTdGNXYyM1phY1YxLzUwL0xzTTc1NmFPRTk4YwpQNVB4N3I5aUJvU0MyQmtCSTJB
RWpJQVJtQndFV3NRQWFRQmVET21PaHp6MTNmWHJJRUNyWXVuQ1RyRVVhOThpZy80L3hKcnFuaGc1
CjNEVStzdFlSaGtidS9uaGVrS0RvMUplOU1JalFSVEVhR3lPWXZESVV6MmdtWHRlOG9wYnJKMzRm
c3dUSFIvaGo1VGNOY25uTm5qT1EKV1NVMWhFR2N4c014bEZaSFpPS0hjdytIQWNMYnIxaCt0Zk9m
bFRGWFhWck9CbUY4OEIwSFhwODZoS3N0UGlGd2pZOUE4bTJRZGZGYQpYdkRrZGJ6N25GSmcyM2ZQ
YjRObnh1aXczWVFqTUtBck9WbU9YQVlNa3pIa1dOKzRKdlhlOE4yaUhiYnZmWElob2I3eGlmaWV6
bVhGCmVFRnQ2ZVkya3NtdTNmbkZjakJobHpBOEg3NHkydkhxV05hNDJmZG01OTF4am4vNDV6RVRj
R3JaMWxuK0Y2UDhZM0swYmJWMUNlQjYKcERhdnVNTWRjOW5Jck9aVFRjc0hTL25LKzZEbFYzZkZX
NjkrRVBxd2ZjeUFER044aEt6YTNFV1JkcjhvZTJRYys5ZDRQVEt2RWs4eAptNWgyMml2MXhaNnEr
aE1QVkhQMXRSRXdBa2JBQ0JpQkNVT2dSUXlRQmowNjY1NkxWL3VNSHN2K0p4NU1HeS82MjBoWVR4
M0h2THA0CmswODlsZ1QxWHZXSlFsamJ3YkYwS25PUXQvN2J6NHNPUDlnYnI4eGt6OFBjdlZONjFo
MnhRVFQ4Nlp2OTArUDR0UERIWDFLbVh2RzEKTUZoZVU1N2Y5OW55T05xL1BIcVZKSEdkazU3Unlp
UitWVzZGbUc0bGtzM0NyRGxuSkxvelJtajVValZ1MVdXeGxPVDJNRXJPRHFJWQpvOXJEdWJhTzFQ
Ymt0OFhlZ01kUzMyM3hpbDdxTUQ1aVYxc1lJK1hGbTdEQ3FOd1FwTk51Y2hDZ3ppdHV3RENwaEk5
MFNUMXRPUC8vClNmVzFhK01sQThjVzN3QWhUZSt2L3kwSWNYZXFMM3RHdkdSZzJTQXg5VFYzbDB2
MWlpOTZiellrbHIwOHBhZGVsZEpwNFUvWjdQOHMKanZpbHJ5amJhZkZXdVZqdTE3MGkwbjkva015
bUw5Q1hhTHFEWEtPd1FSR2F1R2lraHcxd0hwREUxODNqR3ptRkxyRkhURjgvWi84SAp1clQ5a2ZI
cTduTUhvZzkxMG5aZ1lETjNsOVIvNDNrRFVkcmpiVmkxZUFzV3l4dnJUd1JXZGtiQUNCZ0JJMkFF
SmdtQmprbVNPNlhFCkZ2czlXQ3FWdStqa215RlBiSFpPM1J0VC85ckhZcG5QM2FuM2xsK2tucXUv
RXFQd3ErTkw2SWVtenRQZVdVanQvZFhIRTB0SGFqc3UKUzIySC9FV2VVNHhNL2p4RzdHTnAxZzU3
eGRLSjVlVzlQVjhWNUdIckpTYkZUVjVOdTMzTWZEd2ViNi9oZFZVZE84VXN3VFd4dkN0bQpSTFk3
cWt6ZjdGOElUcFhrUUhBZ1U4TVJuWkhra3hhNWN0VThGSzdqbzcrSzh0OFNzMFBQM0dKODhERTVa
bnJBbUE4U01nTXlqQ3YyCmVqQTJIcHZRK1lCZC82cGI0bHNnQjZlT0o1K1plbjk3WWRUTCthbnpw
TmNWOVRwVzQzS1k3RnY3VnRSdlBaWXMxdk1saTV3VHRuNTkKNmwwUlJqVXVnZ3BONDBPRW02K0wr
bzJaS1RhVjl6KzZQUFhkZlczcStkMjNVeTFtOW1yYjdaUzZ6dngwRWJYdjdpdFQzNjgvR1NzWQph
K1hISmtzSkEzL3JkNXdmNUR1azcvbWlWRnQrY2RsKzkzdEx6S2FkTUJCbjhFbU02aS8vZXJ6ODRT
c3A3ZmQzS2QzKzEzRWVodnppCkZ3K09OdElWajFKdDc2VEoyLzlJTW9hN3Z4bXFJa3ArM2lqTlky
RllyZnhKekZiRVBvLzVCNVV4V01hNElReUdUWStXUzdKaTAvbUkKTHBZeDFuWTlQUFRvbXZqbzQ3
K2xqdFBlSHpxNFhlbzQ2YzJwKzF2bnhsdmxMa3Z0ZXgwM29oaEhNQUpHd0FnWUFTTXdGZ1Jhd2dB
cApnUW5pVWkrb1VYbTVtVHc5OFM4ZlNLcy85cyt4TlNOSWNQdm1MNkhIUnVkYVJ6QUJyc08zZGNh
WHVlTzF2V3lBVGhGZWErOEwwdnVzCitCSjZ2RmUvYTM3cStkVy9wOTVMNC8zNkhXMnA4OC8vUFk2
RGwxL1ZiejJ2SkdxN3gyanRuWjhwUGhhZDlxb1lLZFhhVy9hNmVLTk4KR0NETHY1YlNibWZIeHR1
WVhlRk5Qb2VPY2gwN2hBWmpJM2NRcC9HU0orVGk1YXJYQ3RkeDFjL0NBTGs1Wm5SZXVXWDUxVDNu
UmRqdAo4VDJRcHhkdnZGTFU0WTYxUldHQXhTeEtmZDJxTUF4ak5CZ1hCa3piN2tlbHZoVi9TTjFY
ZkQ1MW5mRytZTUZaWFpleC9IYzhDRERiCnRGVjZsakVHOTczaWlyVHh5c3NML1VCZjBKM1NiejR2
ZEFmOUtuVkk5OXNQT2puTmVlWEhVOXN1ZTZYZTJ5NUptNzd4dXRRV3k0TGEKVCtJRG44Y015bzBa
eHZwdFlVaUV3Vk9idDErcTMvMjFtQ0haTy9ZRW5UUW8zcUFMWnRRV3hIS2t0VGZGckZzWThXMHh1
cytTckhWLwppSm5JSVl6L1FRS3lpNnErME42WmhCbnZMeWh5a00wUngxSG5SVURsVDg5allZRDhO
QXo1MDlQQTI2LzRoZzZ6SDh5dXpndE1tbkZ6Clk5TjU2RkZ0WThqanJYSjkzZkc3Tml2cXJTdHcz
U1gxM2h3ZkpEemloYWw5dHpCMDdJeUFFVEFDUnNBSVREQUNiUk1zYjBxS0s1YnEKYkZXeWtqeXB2
KytQR1JJMmxKYytSbldaTVdHVGVyMHpQblEzTjJZZWRrdHRleCtYWnAzMmhqVDNYVDlOYzE1L2Zv
em9QcDQybm5kVwpmQm45ZndWbmlPVll6LzVZeEhuYW9KenEwY0hYNzJiWlI4anJpdjBpZktGNHAr
T0hudjFRNnFWaHJKRHZJNWNIeVlwWkE0eW5GVEdhCnkvS0wwVGdScDV6VUVJWlJrb2VOUnFiaUNq
eXVrYW04ZEY5SGxsOHgwMUZ2My96Tmd2bmxIVjY5eTl2QU1FQjJIWXlia201MVhMQTAKdFMxNmNx
cXRYeFZmYnI2cmZGc1B5N0RtN0ZpdVoxOGIrSGdaMWxhd2pUc2dMQTMrNVcybU5qYzJMaTliR2lS
MVdlckFMOWs5anJ1bgo5c1c3cDdiRk1STzRNSTc0eFh1bTlxVlBTaDM3SDUwNmozbE9tdjI4ZDZi
NWYvL1ROTy90M3luMjhHejg1cmxwNDVkaVNWQVlsRzFQCmZrV014cjl2cStMVzd3dUN2ZmJlVkor
L1Z4aWY5NVhHME41bmpXeG83bjVPMlM0ZmlMeVdSQjVZVEdQNXRnN0dCanFUdStIYWZCNXYKdUhQ
cEVFZmNjREw1OXNlR0IrSVo0cmVBRjFWMDdWS21ZU2FSL1IvejltMXErVldScUJadmxUdmdaYkVs
cHBaNnIvOUdQRnRQRWR5MgorN0h4Z2ZtbzZYWHh1MlU5S3ZIMVh5TmdCSXlBRVpod0JNWTdmamZo
QlpvTWdhendLUXlNakNEditKNzNKUHhZWFA5RDk2UU5GL3hWCjZ2M2ROMlAvUjNUYzhkckt6cWUr
TS9hRHZINHJjZjIzZnlQVk4zVVhJNlgxcTk4ZEk0eTExRGJTN0FkU2VJdlA0cGZFaHZVdnAzVE4K
c3d2N0piSCtlL2xYWXVUenJWdmxNMlFBend4NStxOVR5aWpCWFVyMkZrZVJudkxPNlA2S09GMXpj
a21haHBOMXp4ZmlldzIvakxjUgpoU0dsVisrdUNlT0R6ZVI4a0pDTnM0MWV1ZHFvUkd3aTN1V0lW
TC96cWhnMS8ybWFkY2lMb3c0NlU4ZmhMMGliTHZsczZybitKMm4yCkM5L2ZLS1hEeG9OQWtONTY3
K0FsV0hOT095M2h4K0w2VnorVU5uempQYW5ucWxqT21EYUVYc1RNeHBKRDBxem54SmU3RzN3SXIv
L20KMElQSXYvYjR2V0dJZkRuMXh6S3RXdWdSelhsWXQreFZLZDM4ZC9FU2g0dkxkdDhXc2U4N0w2
VW5mVEQwZHZCTTViQnlhTi9yNzBucAo4c2dSR1dydkl4WmdXS2xiREk0Ym81dzNoRWRmSmJ1YTlJ
a2JVdnJUZjhTTXhUNmhTMzllM2kyV01ZWmh3b2J5anRDalpwWmZSY3BpCmllTHNIV0xtOE1UNGZz
N0Q4UzJqUHdiK2g4WHN4NjZwZmMrand5ajVXZXAvOEk1VTN5ZGVxT0haeEdwTitOb0lHQUVqWUFU
R2lRQmQKNmN4MzR5VUpGWVRxZmJIa1orRUJxVzNQNDR0MThjeVU5Rno2aWJUcG9yZW5ldVZiRlAw
M2ZpWGlsT1F0OWJVSFVZaHZWdXo1c29yRQpJUzczT0tja0k1QVMrWHVDZ0l6R1FXYVVWa2RHY3F1
anVhT1JTVnpKUUNaNTRJZVN5VElyMXFmekFVYjJ0K0JXL0xEY1VMekgyYkhmCjVmQXlySW0vTEc5
cjIrM29WQStqZ3pkaTFkZkd6RW80M243VmVlUUxpNUhjbmh0KzFvUWtSeGtWQWl6Qm1rQTlxczNm
T1hVZWdtOHMKSWdBQUlBQkpSRUZVKzRJMDYrbHZqSmNJN0ZzVXBmN0F6V25EeDQ5TmZYZitmRkRS
K0ZwMy94MFhGN3JHekNTRENXbkg0MlAveUpNRwp4V3Q0d1N6QjRqTUc2eEd2Z240Z1J2MmJkYmtP
cVoxTGx6aU94MGsydXBQckV1RzVLNzc5RVliRzZsdkQwTmc1REpBWWxNQ3gvT3FPCitQWUhtODkz
aStjY2hXdGI5cFFZSE5rVXVybTJlSVc0OXNSMUhoK0cwSndGcWZmRzBLUGVHRHl4TXdKR3dBZ1lB
U013d1FpMHhBeEkKc1pTcVdFNjFoVUZ0K1BubHFmdVdtMkkwTTlhbHMyRTJqc1Y1bUdTMTdKdzEz
clhPemxnK1BpKzE3YmhMckUzZk81YVRISmk2VG45ago0ZmtXU00rdlBoOXZ3UHBjZkNEdmdyVHgv
dXZTN0hQaURVM3pnaVNFNjN6VmxXT3ZzbDFPU2VuNVZTWXlTbkZIL2Vjb0V6UVovWVFtCm40dTM4
Mng0TU1oVkVKbWIzcFBTYlI5TGFiK1l3Vm0zUEVhVVl6bkozTjJEUEIzV1pLWmx0TGE5bnhyTHNJ
NktWN2hlbkRxZSt2ZkYKcHZPMnhRZUY4UmN6Ukl5SnQzZkVhSDFzc3Uzb0hKVmNSeDRHZ1NESS9U
RURrWDgzWjlOMU42UzEzNHJONUxHM1EvclRWcHlIbkRiMgpUNFZ1b1V0aGQ5ZG1kY1RyWDJlbjl1
MTNUTzJMWXBuV1hvZkU2NU9QTG54NjNydFQ3MTFYeDFMR0Q2UjZ2RnhnNDNrdlRWMHYvRVRxCk9Q
clZSWUZxYzNaS3M5NFJleFhHNm83NzFsaFRsdW40ME4vVHhxbUhRNVhnaUsrbWhCL0o4YXBoakEr
TWxGV1hwM1RSdkZpMkdMOFAKZXdaR2o4ZnYyT0l3U0phT3pnQko4VjJkOW1QK01uVi85NjJwNy9a
THc3QS9NblNtS3pheXp3K0RyU3YwS3ZSb3pTUHhtdkhkUmlxZAo3eHNCSTJBRWpJQVJHQlVDcldH
QXhQQjhsVDVzdU9MS3RPNmlpNkxEaFNERlpzdzR0bTNlUEZ0dVJvZEFSVzlmaE90WWJxSk5jN3JT
CnJHT2VtV1kvOTIyeC92MkExUFUvM3BjNmozdGwydmlWVjZmK2xUZW5UVjg5TTNXZDgrT3lNeDlW
ZGN6QXlHeU1QZjdDR0tYOTEzS2sKZGxQczBiajVnK1dJTksvajdZcTE3TU44KzZNeElyWFVmc2dM
VXUrOTE2WHVINzAvZGIzeUM4RndhekdhL3ZaWWd2V2ZhZFBsRjZUTwpJMktKaWcyUXh2Q05JYlRR
SC9aUFpLNTMrWXEwL29jL2luYStlYk41b1V1bDN0U0tGemVVNFNRcE42ZHpIZWU4ekNGMHEzM3gw
alQ3Cno4K0pmVlZucDQ1OVQwanRiL2xoekNUK2ErcTU3RitDRlA5MXpIQXNTZTM3bjU3bDJNS25Y
YUVyVC9yYk1EcWVrZEp2ejQ1bGFQZUUKSVJLREN5dkQ4K0hCMldFazhOWDNVVGkrL2RHMjVNaXdO
WFpOZmRkZEdNc1lYNUpxaXc2SUpWaEhCZTRucHQ3Zi8vK3A3N1RYcGRvTwppOE9RRE9QVHpnZ1lB
U05nQkl6QUJDSFFJZ1pJOEYyV2JXU3ZFT1Yxb29UTmZ1cXBxZXZ3UXdabVBWamZyUmtRQnRQanU4
Q1JMcjVMCkVLOFFyYTllRlc5YXVqMk1qSGpiMHErL24zcXUvV0dhODRvZ3dLZTlOcFprN1o5bXYr
RUhhZU5ubjVQNjcvMnYxSHZGUjFQbjAvL1gKQkZYVE5CZkRmcFpEM2wvNmRVR2NyZzRDdGZLS2xQ
WTZPOVVYUGcyWVIrZGlHVmE5RnJNYnNWazJ6WWtsTnJHRXBEWW44b2laajQ3OQpqays5OTl5YXVx
LzVZZXI2c3lhWHVvMHU5NWFOWGQwRGdsV1BEczA2NG9nMC8yVkJYcG50WURZUnZTbk9BNnJpT2d3
Tzl1NXNXbGZzCk4raGY5Y2ZVZStlMXFlL0I1YkdYNmg5VHoyOS9rT2ErN2J5WVpkd3h6VHI5cjRz
WnJkNHdRalpkZEc2YTg0NnJVaTFlRDJzWENIVEcKZnFtRnA2YjAzTHVqN1ljaGYvc253c2Z5cTdr
SHBQb0I1NDVlandDVkpZMHg2MEU5MW5zMkVoSjYxQm5MR1orZnVxKzdJbTM2eWFkagpsdXFvR0Np
SUYyTFlHUUVqWUFTTWdCR1lJQVJheGdEWmFncGtNNEJ6VGo0cHpUL3p4YU9DczIvVmZXbkQ5ejha
eTY2K2tUWmU4SjVZCldySmRtblhjaTFOYmJPRHNldGxud3doNWRyd09OanJ1RTJKOSs3d2d5SFpi
RUppM1owcFB2N3k0cnJNRWEvYm84V0ZUYlB1eVdQTmUKNzQxUjJtK2xXYWUrdVRCQTJuYlpNL1hY
MjFML0krd0xhWS92VTZ5SnVnblNaamR1Qk5qL2dkL0tpSStsamUxTGxxVjV6L3NmbzhxagpIcHVt
ZTM3enc3VCtXeDlJUGJmL1BxMy96T3ZUdkhkOUt3eVh0c0lJNmJ2OUY2bSsvRGVwOTVvdnBjNVQz
akVxMlMwUmVkYjJLUjMyCi9zTFhONnlLOXQvRXR6OGFBRlBiZmxuc3pkby85ZDN4cTNqMWJpekRX
bnA0MUVGN0dJcXg5S3BqVnFUb1RIMHI3MGtkZXh6VUlMV0QKaklBUk1BSkd3QWlNRFlHV21WZUhQ
T1VyU0lxTjRVR2U2dm0zUVpyRXNEMWVMVHIvTHorYXVsNzhEOFdHMkkwWHZDL0lib3hJaG12Zgo4
NWpVZHNCellvU3lOMlpJdnQ2a3hOYU1WcHU3Sk1oT3pHU013ZFhtTDBydEJ6MHZ2cHJkbS9ydXY2
V1VFQ081SGZ2SGl3R0MzRzY4CjVMeGlSbVFNb3Aya0FRTG9UdndmNUFxRGhNRHFqVUd4R2w4VWhz
YUp6MDhMM3YyZFdPS3pLRDU4OTl2VWMrVTNpc2dZbUxOTy81dXcKTCtQbERsZDl1YkVBaHc0Z01G
YmpveEFRbTlzN2pudDFMSkdibGZyKzlOc3dNR1BHTjF6bjRjK00zOFpacWZ2bWEyTDJkMDBSNWo5
Rwp3QWdZQVNOZ0JDWUtnWll4UU9CSURPQU91QmdwTDVkbERZU00rbVRPYzkrWTJwOTBjdXBmdlRw
MVgvM2RnZlFkUjUxWmtLZSsyLzV6CklNd25FNHhBZkFDeS80bEhvMUpqMDJ6dnBuaERVbStNME5k
UzV5R3hRVDNlcXRTMzhvRllMdmZIQ2M2MGRjVmhiQXpTbjRBaXZnMVkKdnBrcVc5bzRXb1RhRis2
UjVyN3N2YVVoZjlrV1k2UDlnRk9MMmJIK2grNkxyNmZmTzFxeGp0OGtBclZac1crRWI0RE1YUlFw
T3VMVgp1M2VXS1dQSlZkZlR3ekNKdDJEMTNIcE5rOUljelFnWUFTTmdCSXhBY3dpMGpBRUNlY29I
YXVNandOSHh4dU9QWVFZa2g3YnJwSmNVCjVLbm5saXNIZ3R2M2l0ZkVibXBQZmZmZVBCRG1rd2xH
b0swamRUMy8vZkhtcTAxaC9GMVVrcWpJb2paMys5S3dESU9FTjJIWlRRd0MKeFF4SXJrQ0kzYnlQ
cW5nejB6aXk2VHdtWGhqUU5qdjEvZkdXZ2RGMmpNbTIzWTRxRFBuKzVmSDJKN3RKUTZEajBPZkVo
djlsc1JUdQoycGo2NE8xWDhVSU85R2o5aGpBQ2Q0enY5ZlNGc2Yvd3BPVnZ3VWJBQ0JnQkk5QjZD
TFNNQVFLQnFvN2c5dmZFeHNzWXhSMlBhMSs2CmYySEk5RDhVK3hrMk96N21oZXorTmJGeG5ZenRK
aHdCbHZEVVppOUk3UWVmSGh1YXIwdTlmN3EreUtPMjNjNXA5aGx2akJjR3JFbmQKMThZK2doNS94
MkJDd0VkNXFncEUwOGFJN3gvZnp3aDdEV283N1ZFYUc0K3QzRkxjQll0Uy84YlkweFA3RWV3bUVZ
SFlkTjV4ZU96aAo2ZTVMbTM3MHFXSW1rZHptdlBEY2VNUFczTFRwUDJOMk4rcmF2MldUV0FjV2JR
U01nQkZvTVFUR3h4eW1FMWhWOGhTanQ0eXk0c2ZqCjZyMHgwczVla255d1BiN2tYTytQVGRDOHBj
a0d5SGpnSFRadGJidlllTHVwdDFnQ3QvYmpyMHZyTC9wRXpEeXRUeDE3SDU3YUZ1K1gKTmx6NnZk
VC84QmJEY0ZoaHZqa3NBcUVweGI4OEV2WUhId1ZrUDlWNFhYMTlMS01MV1lPbUtYdERod29EaDV6
c0pndUJZck01YjVXTAozNnBOMS93a3JmblFtYW52b2Z1TC9TQmRwN3cwOVQzNmFOcndrNitOKzdk
eXNzcHZ1VWJBQ0JnQkl6RDlFR2lSdDJDVjVHa1FqWW1MCmdqeU5jd2FrYi9uZGhmRlJXN0Iwb1Bi
NWVGZUtHWkMwM1k3RlczMEdidmhrUWhHb3hYS1JqcU9mRnh0bGY1L1N4alZwNDdjL21UWmMKK0tr
WXRkMHV1RlI4S2IxcmR1cityNnZUN01WN21EeU5FL2w2V0FiOHE3ckM5QmpISGhEazlXOVlGNFQz
b1RCdzJsTGJ6bHMrZXRmLwoyTU9sVWJMNW81N1Z2SDA5Y1FoMEhQQ1UyQWV5UzZySDNxbnVtNjVK
bTk1eVNzd3d6Z3UvUTZxdjI1aDY3N3M3OVQvK1NHcmJJYjQ1ClltY0VqSUFSTUFKR1lKd0l0SWdC
VXBLblFlTzBjVkdTcC9FaHVPR3lINlQrVGZIOWlVTk9HQkRVKzZlYkk2dzlkZXg4d0VDWVR5WUgK
Z2E2VDQ2dlo0Um14WGZPWmQ4WFgwYStOWlR2cnd1QUlZdnQ0VzRUSGtwNTRLMVpxajg5eDI0MGRn
YTF0ajBJV3dVUGNhanF2alpmLwpPTjVtMWhkdk5Uc2lDTytXNzAxMDMzbFRxc1VNU1B2aVdPWm9O
NmtJdEM5OVV0citZMWNYZXJUcEY5OU9HMy84cFpoWmpPKzJQTDZ4Cm1JWHF1Zlc2MkIvQ2EzbnRq
SUFSTUFKR3dBaU1INEhXV1lMVkFLdnhrcWNObC93Z2JibzYzaERUT1QvTlB1MEZBemwwWC9Qell1
UzIKNDhBWVZiVGJKZ2kwNzdvczdmRCtDOU11RjkyWmR2amdCYkduWUZsUkJ4di84OUppby9vMktj
UU16Z1NEcmpEWXMyZlVvcXhxZUJabAp4Tk8rbFN2U21zLy9hN0ZrY2M1elh6TVF2L2V1bStLRG40
K20rcHo0R3ZxU2ZRZkNmVEs1Q0tCSGM4ODhOKzEwM3ZWcHgvKzRJblVjCkZLKzFqcVZ4Zlk4OGxu
cHVDaVBFemdnWUFTTmdCSXpBQkNEUUlqTWdKWGthUEZJTGZkcWFWRFdEYWYrYTFXbnQxNytTMW43
MWM3SEUKcXBZV3ZPbC9wYlpZYm9Yclh4ZExnWDcrZzJKejdxempSdmR4dG1ieWRweVJFWmgxMkhG
cGx5LzlJdld2WFpONjdyZ2w5YTk2TUxYdAp1Yy9JQ1IxakdBUzIxcFppWGpHVWFpemJuTmc3dGVH
eW42WFZuL2xJdkRCZ2RlbzY4YWxwenRPZU41RC8rdTk5T1pZMnh2ZEFUamhqCklNd24yeGFCOW9W
TDA0NGYvbXFSYWM5dE42YmVlMk81YVY5ZmZEUEVzNG5idGlhY214RXdBa1pnNWlIUUlnWklTWjRH
ajlRR2ZRcnkKdE83bnYwbDlqNjBlWExPMWVoZ1djYlBZcE02eFAwWUJ1OE80V0oxNjc3b2pkZDl3
WTZyVk44V3lubnBhOE9aejA1eG52WEFnL2JxdgpmTHBZdXRCNXhFbXBZNjhEQjhKOXN1MFJhSnUv
SUhVZGRmeTJ6M2dHNXNnYmtQaVhyN2NxOUNuK2ROOTZaM3IwSTErc1BEVjZneDVGCmNPaFNMYzc1
Vmt0OXcvclU5OEQ5b1VNeG1yNngxTHZaSjUrYWR2aWZIeDVJMzNQSHpXbkRKUmVuMnF4WmFjNnov
MklnM0NmL2ZRaDAKSG5oWXd0c1pBU05nQkl5QUVaZ0lCRnJFQUNuSjAxWWp0VUdlMXYvMGwybkRU
MzgxQ011Q2FFVklyU09JVTN0L2FvdGo2dWd2em9sWQo2NnFscnFlY2xMWjd3K3RUMTVPUEhFaTc4
VGUvVEdzdnZDQzFCWEdhLzdxL0d3ajNpUkdZTVFoa1ZueG9SZUc2Yi90VDZnbVBrNDROCnZGd3U5
QWM5d3RYUUlYUnFzMTUxN245QVd2Q2FzOUxjNXo1M1lGUzlmL1VUNmJGLy90c3crT00xc0M4NE8v
Wi83RjZrOVI4allBU00KZ0JFd0FrWmc1aURRSWdaSVdXRURwQ2d1NXo3dGhOUzIwL2JGRFhHcUtu
bUNOaFV6SWJIaW9OYlptZHEzbnhlekdrdlQ3R09PVEcwTAo1cGRDTi8vZGNQbWw2YkgzL1VNc3Zh
cWx1YTk5YytyYzcrQkI5MzFoQktZekF1aElzV2hSVmtkY2R4MjBiOXJwYjg0cEhpc0xMcTZsClU4
VUZmd29kaXJkY3paOGRSc1V1WWJnZmxqb1d4MnVVTTllN2ZIbDY5Ty8vS3ZYKzRiN1VjY0NCYWNG
cjM1SGQ5YWtSTUFKR3dBZ1kKQVNNd1V4Qm9FUU5rODJ0NE01WTA3em1uSlB4NFhmY3R0NmJWbi8v
LzBzWXdRQmpabmZmaWw2WUZaNzlwdkdLZDNnaE1MUVFLaXlJVQpLTE1zWmgyOGI4S1AxL1d1ZWlo
bURyK1oxbDd3bFZqUHRTbSs0N0pYMnZtam40Mlp4cTd4aW5aNkkyQUVqSUFSTUFKR1lBb2kwQ0lH
CkNKWUg2OURIVmdOc3ZLeHZqRDBncTllbXZwVVBwNTY3NzAzZE45NlNOdjc2NnRSejE1OEt3Nk50
M3R5MDNibHZTd3ZPZXZuWU1uRXEKSXpDRkVXQjJNTFBmUjEzU1FUcjA4S1B4WFlrVnhkNlJqYis1
TnI3VmN0M0E4c2E1ejNsbTJ1bTkvNURhdGk5bkowZWRrUk1ZQVNOZwpCSXlBRVRBQ1V4NkJXbXd1
SFErdm1QSVBTQUZYdmVORGFjMkZQeDRvcSt3UVBmaFExeHJ1SGRnVG91SGZXTmVPWTAxNyt5NEww
dnlYClBqZHRkODVacVdQaExnTjUrTVFJekNRRW5qai9lK25odi9tWVZLSmNqaFVQS04yb1BtdjVq
cmt0OXdkMExGTzZXcnpFb2EwekJnWm0KZDZVNXA1K1l0anY3cFduMnNWdjJWRlZsK3RvSUdBRWpZ
QVNNZ0JHWUdRaTB5QXhJVkJiRVJ5eG80S1JrUStKRVc2cTBqQ2h5Vld0cgppK1VnOFdYdDJQZlJ2
dXRPcVhQdnBXbldJZnVsT1NjZUVZVHBzREJFV2dmR0xSajVySlVRaUpkWUZUT0kwaFdOVzJ5WlZk
eXNNNXZICk0rb2tDRGRnaU1UdDJwejRjdjJDZWFsOTV4MVR4KzZMVXVmK2U4VmJ5ZzVPYzU5NlhH
cWJPNmVWNFBTekdnRWpZQVNNZ0JGb2FRUmEKWWdha3BXdllEMjhFaklBUk1BSkd3QWdZQVNOZ0JL
WVFBaTM5SmZRcFZBOHVpaEV3QWtiQUNCZ0JJMkFFaklBUmFBa0ViSUMwUkRYNwpJWTJBRVRBQ1Jz
QUlHQUVqWUFTTXdOUkF3QWJJMUtnSGw4SUlHQUVqWUFTTWdCRXdBa2JBQ0xRRUFqWkFXcUthL1pC
R3dBZ1lBU05nCkJJeUFFVEFDUm1CcUlHQURaR3JVZzB0aEJJeUFFVEFDUnNBSUdBRWpZQVJhQWdF
YklDMVJ6WDVJSTJBRWpJQVJNQUpHd0FnWUFTTXcKTlJDd0FUSTE2c0dsTUFKR3dBZ1lBU05nQkl5
QUVUQUNMWUdBRFpDV3FHWS9wQkV3QWtiQUNCZ0JJMkFFaklBUm1Cb0kyQUNaR3ZYZwpVaGdCSTJB
RWpJQVJNQUpHd0FnWWdaWkF3QVpJUzFTekg5SUlHQUVqWUFTTWdCRXdBa2JBQ0V3TkJHeUFUSTE2
Y0NtTWdCRXdBa2JBCkNCZ0JJMkFFakVCTElHQURwQ1dxMlE5cEJJeUFFVEFDUnNBSUdBRWpZQVNt
QmdJMlFLWkdQYmdVUnNBSUdBRWpZQVNNZ0JFd0FrYWcKSlJDd0FkSVMxZXlITkFKR3dBZ1lBU05n
Qkl5QUVUQUNVd01CR3lCVG94NWNDaU5nQkl5QUVUQUNSc0FJR0FFajBCSUkyQUJwaVdyMgpReG9C
STJBRWpJQVJNQUpHd0FnWWdhbUJnQTJRcVZFUExvVVJNQUpHd0FnWUFTTmdCSXlBRVdnSkJHeUF0
RVExK3lHTmdCRXdBa2JBCkNCZ0JJMkFFak1EVVFNQUd5TlNvQjVmQ0NCZ0JJMkFFaklBUk1BSkd3
QWkwQkFJMlFGcWltdjJRUnNBSUdBRWpZQVNNZ0JFd0FrWmcKYWlCZ0EyUnExSU5MWVFTTWdCRXdB
a2JBQ0JnQkkyQUVXZ0lCR3lBdFVjMStTQ05nQkl5QUVUQUNSc0FJR0FFak1EVVFzQUV5TmVyQgpw
VEFDUnNBSUdBRWpZQVNNZ0JFd0FpMkJnQTJRbHFobVA2UVJNQUpHd0FnWUFTTmdCSXlBRVpnYUNO
Z0FtUnIxNEZJWUFTTmdCSXlBCkVUQUNSc0FJR0lHV1FNQUdTRXRVc3gvU0NCZ0JJMkFFaklBUk1B
Skd3QWhNRFFSc2dFeU5lbkFwaklBUk1BSkd3QWdZQVNOZ0JJeEEKU3lCZ0E2UWxxdGtQYVFTTWdC
RXdBa2JBQ0JnQkkyQUVwZ1lDTmtDbVJqMjRGRWJBQ0JnQkkyQUVqSUFSTUFKR29DVVFzQUhTRXRY
cwpoelFDUnNBSUdBRWpZQVNNZ0JFd0FsTURBUnNnVTZNZVhBb2pZQVNNZ0JFd0FrYkFDQmdCSTlB
U0NOZ0FhWWxxOWtNYUFTTmdCSXlBCkVUQUNSc0FJR0lHcGdZQU5rS2xSRHk2RkVUQUNSc0FJR0FF
allBU01nQkZvQ1FSc2dMUkVOZnNoallBUk1BSkd3QWdZQVNOZ0JJekEKMUVEQUJzalVxQWVYd2dn
WUFTTmdCSXlBRVRBQ1JzQUl0QVFDSFMzeGxEUGxJZXYxOGtsMHpKK3JVVmgrZnpUbnRkcmcyTHJX
Y2ZCZApYeG1CNllVQXVpSlB5U2RTZDRaQ0F0MlIvdVRuUThWM3VCRXdBa2JBQ0JpQkdZeUFEWkRw
VUxraVMvMzlLZVUrSjA3NStYaWZxVXFVCjJtS2lMUGU2UDk1OG5ONEliRXNFcEVkOWZTbmhoOUts
aVM0VCtpTDlhVzlQQ2MrMURaR0pSdHJ5aklBUk1BSkdZSm9nWUFOa09sUVUKeEttM3QvVGQzU24x
OUpUbmtDaVJxb2w4RGhrWWtLU09hQ0w0V2JOUzZ1d3N6eUZRaWpPUitWcVdFWmhNQkRBNDBDUDBa
OU9tbEhKZApraDV4bkNnbkEwTjZoUDZnUjExZFczVEplalJSYUZ1T0VUQUNSc0FJVENNRWJJQk05
Y29TYVlJc3JWOWYrblhyVXRxNHNTUlNrMkdFClFJcEVtaUJMYytha05HOWVTblBucGpSN2RtbDhZ
SVRZR1lIcGdnQjZoSzZnUitqUDJyV2xSNmNJd3pDUkVUSlJ6eVFEQkFNZXZVRi8KMEtQNTg4dWo3
dHNJbVNqRUxjY0lHQUVqWUFTbUNRSTJRS1o2UlVHS0lFY2JOcVMwZW5WS2p6MVdlczRKWXpSM0tP
STAwbWp1VU1TSApjQXdNakE4STAvYmJwN1RUVHVXU0ZReVRmQW5KWk9GWExmdFFaWjJzL0MxM1pp
RlExYU9ISDA3cDBVZFRldUtKMHFqSENNRklxYlk3Cm9UQlVPUGVIYXB2U0kyWTkwS01kZGlqMUNG
bm9rUFNJNDJTNVJ1VWVxcnlUVlFiTE5RSkd3QWdZQVNOUVFjQUdTQVdRS1hlcEdSQm0KUERBNkhu
b29wWlVyVTNya2tYSUVsNlVrak96bVRxU0RvMGlWd2lBZlZVL2FuSlJ3enFndEk3WVlIN3Z1V2tw
bkNRa2p1UkFxN3VkcAo4dnpIYzE0dE05ZDVlVEdBSmlQZjhaVFphYWMrQXJRakRIbnBFZnJ6NElP
bFBxMVpVNFpMVi9RMHBNbDk5VDd0a1BhWXQ4bThiWEtPCmNjRU00bmJibFFNR3lOYXNJcnFFL01s
d3lLVzg4c3FqV3VhOHZJcmpveEV3QWtiQUNCaUJTVWJBQnNna0F6eHU4UkNKZk9rSUk3YU0KM3E1
YVZZN2VRcWkwREV1WmlYd1FEdW5pS1BLa0dReUlFVWFFeUZOT1JBakQyR0RVRmdPSHVKb0pZY1pG
c3BUZlJCMlJTMWxWYmkyTApFWkdqdkhqS1ExaGU1b2txZytYTVRBU2tFN1JmZEFhamc5bEVkQW1k
WWphUmRrYzhPYVdoSGNvcmp2UW9iNVBTSmFXbmZhSkhHQ0RrCnkvbUNCVnVXVDA2V0hsRnV5a21l
ZU1wT1hqaDBoM0xrNWJZZWxkajRyeEV3QWtiQUNHd3pCR3lBYkRPb3g1QlJUb1lnRUhqSUJLUUMK
dzBCZXBJZ3NjdEtrK3h4Snd6MElDRE1Zakw1cU0yeVYwRU9reUF1U292WHg1SkhuTTRiSEdUYUp5
azA1SVlnUVFzcE5ubm1aSjNzRwpadGhDK3VhMFJTRFhKYzV6TDkzaXFIZ2NwVyswdzd4TlNqZlFJ
NHdMdkdZRjBSMDVpSDFWdHZJbGp2SlMvSWs2b2pQb0VUckVIaGVPCi9HN2c4aktqU3pqcGYzbmx2
MGJBQ0JnQkkyQUVKaDBCR3lDVER2RTRNb0RBeUdNTWlEeXdpWlVsSGR5cnpvQkFhaUFiaEhNT2Vj
S0kKZ0lSQWhwQUI0Y0JEUUZobXhZZ28xM0tRS1BKajFvTVJXK0pValJYRm5hZ2paUk5wWXFrWm85
SnNGcWJzS2d2UHJPY1dMaHp0ak1CSQpDTkJPMUs2MXQ0bTJoSDdROW1Yc3lpaVFIaEhPaG5YTkl0
QWVJZmpTSmZRSmZaU09JRXR0a2lOdEZ6MWpLU1A1S1I3aGxFZHhSeXAvCnMvY3BGK1ZEL3pYTGd6
NXhqY05Zb2l6c1I4RlJoc2tvUnluZGY0MkFFVEFDUnNBSU5FUWdla0c3S1kyQVNBeWtDYUt6NDQ0
bHdZRDQKaUtCRE9rU2NPSWNrUVpvZWY3eDhOSzRoVXNTQitFQ0NJQ0M3N0ZLU0lnZ1M0U0pEeXBO
d1NOUE9PNWVraFhRWUs0cW5QTWxGWVdNQgpFemw1dWRrY3pCSXpsc2hRYnZLa3ZCZ29JcEdVbDNU
anlYY3NaWFdhNllrQTdVWkdOMFkxYlJvSElSOUtqMmh2M0tNOTBzNjRScGRvCmQ3Uko5QUY5WExp
d2JKOVYvU0FOZWNwSTBTWjA5Qmg5bHJHUzZ4RmxHaytiUmhibFpPWUQvV0dmQzh2TWVBN2s4dXpv
Rk9jOEEyVkQKbCt5TWdCRXdBa2JBQ0d4REJOenpiRU93eDVRVlJBR0NvSkZMaEdBWVFHWWdFcEFO
U0lkSWpFWS9tVUdBeEl1UUVJOVJYTDJOWi9IaQpsSGJiclNSaWhPV0dCWGxDamtTeUlDMk1tdWJ4
WlBRZ24vZzRqYVRxdWd3ZCtTOHlOR3ZEcUMwYjdaY3ZMNCtNM1BLOEhNRUJra2M1CnlOL09DRFNM
Z1BTSXRrUmI1aHFkd29CQWp6VERJWG5vRWVITUh0RGVjRnpqYWVlMFEzUncwYUtVZHQrOWZGRURl
Z0toNTc0YzUraVIKWmwySWcrZWFlN1I5OHVLSW8xeFZYOTRaK2E5a1lTVEpjTUlBZWVDQjhqblFh
ZDVtUjc0OEUrWEk4eDQ1Qjhjd0FrYkFDQmdCSXpBaApDTmdBbVJBWUoxRUlaQUhpRFhIQ1FXWVlR
UlZwcWhJSWlCU2puNHpha2c3aURobmhDREhSTEFxanRzdVdsUVNLV1k2Y09Ja0FhZlFXCnNrVCtI
SkVKMGNHZ3dRakFFMS9sSkEyZXNHWWRNaWczeThTMHlSN1NCSG5pT1Nrek1tVjA4Y3cyUUpwRjEv
RkFnUFpJMjZVTmN5NDkKUWlka2ZOQ3VaUWpReHRBWlpoRm8yK2dVeGdoSEVYZ01HZDRRaHlHUDV4
bzlVZHZuaUNjKytlRzVqNjV4amlOdnRXZnlKcTUwaUNQWAprbGVtR1BvdjZaRkh1VEhrK1EzZ2pY
a3JWcFJsSjE4YzVTUk9ubTk1eDMrTmdCRXdBa2JBQ0d3VEJLSkh0cHZTQ09RRVJrU0cwVmVSCmh5
b1J4ekRBNElCc1FlaFpma0Y4RVM4SUVJUWVNczhTTEVad09lYys4dVZFbmtTR2tFY1lKQWZTSms4
NVZDNWs0SEdrYTRZNElZOW4KUUI3a0RnT0VWNlF5QzBMWklWVEVnVERsc3ozTnlDNUxzdVV2Y3Fw
dUxIS3FNbnc5OVJHZ250Vk9kV1FHUkhwVWJSdTBPL1NIdU9nVApSanJ4SWZHa29aMmpWNFF6cTRB
dU1adENITkxram12eWx5N3BQbm5RN2pHeTFiYlJNL0tRTHBHdTJUYUtIaUdIY21Nc1lZQ2dRM2gw
CmkvSmlmRWluS09ObzVPdVpoSldPS3ArT2l1ZWpFVEFDUnNBSUdJRWhFTEFCTWdRd1V5cFlCSVlq
SklhT1g1NkNpZ2h3RGdFaERvUWQKd29IQndXZ3J4QWFDd2pua0JxS2taUmlRS01KRWpKQWpNaUdD
d2hIaUJWbUN6TERIaEtQeVF4NkdEUTQ1S25NWk12UmZ5ZzRoUWk1RQpEd09FVVdmMnI1QUgrVkp1
NVBFTUluRXEzOUNTeXp2Q2lTTnlkTTFkWktpY09oOUpudTlQWHdSVXg5UzU5SWlub1Uza1I4NWxX
RVBtCmFkdm9oL1NJdERJVTBDL3BFdTJmYytUTHFaM21SL0pEYjlUbWFlZmtRL3ZFK0VBdmtZV2N2
SDFLWnFNak1pbXpESGtNRUhSSWVrUTQKWlVVZXo2Rm5rZnhHTXZNdzZRMUh5cG5yRXMrV1k5dXN6
RnkrejQyQUVUQUNScUNsRUxBQk1sMnFPKy9rSVFGRE9UcC95QTFFQnBJawowaTVTd0ZFRUNoSkNQ
STI0Y204b1I1NGFzWVV3TWJvS3VZRkVrUWRHREtTRWM1R2JvV1RsNGFTaHZCQXc1R0tBNERGR0lF
MFFQOG9uCm9zYzFlZWg1Y2xuNXVRZ1RwQXhQMmZHY2s2Y0lFMWhRWG81NDVBNkhRNTZIejZjZkF0
UTdqcnF1dWx5dmFBTzBDN1ZsdFEzcFlkNSsKMU9ZVlAyOC95azk1a1lmYUpJTUV0SFYwaVNWVGhH
UEFNQ05KT3Vsd283SktubzYwNmR5UXh3QkJOanFGamlLUDhqRW9nU2NmcnBGZApMYU5rY3BRZUla
L3lvYXZrdzVFdzd2Tzh5QkVPSEhPOGNuaytOd0pHd0FnWUFTTVFDRVJQWVRmdEVCaU9NSEF2OTBN
OVhCNG5QeDhxCnZnZ0lSZ0draG1WU0xPM0FjSURJRUE3eEVNRWgva2pFU1dTTXRNeW1RTUlnVHNp
SG5IRWZnME16TlJ4SElrNGlUSkFsRVNVSUdQTHcKRUNmdThjeVVGL25JeE1DQjhQRXN1SnhFbGlI
K085TVJvRTNrcm5xZDMydDAzb3dlRVljMlN0dEVkekFTV0c3SXJCL3RramFldDN2YQpKZGNqbFFW
OWt5R1BIaUVYWFNJUDVOTEdwVWRzUGtkUFpjdzNrcDNyRWVtUkxUMUNKdWVFRVE4OVIzZklRN29r
MmR4ckpMOFJmZzR6CkFrYkFDQmlCbGtIQUJrakxWUFVFUENna1I4WUNCQWNqQkdNQnNnRmhoOWhB
VENBc0VKT1JIUEtxbzdhUUptWS9JRGVRRjRnU3N5dXMKWFdkWkNvUU1JNkZxSUpBZjhzZ2JUemt4
T0NCTGxCR1BYQkV5MGlNTG1jaW43SnpqSUV6eVpZai9Hb0dKUVNBbjl1Z0s3UkxqQTJPZQpOcS9s
a0xSMzJqQnRlaVJkNGo1dEhubFZRNTR3MmpKdG5UYU9YSTRZQ3RLajNFREl5eWNEWG5xRS9tRGM0
TW1IOGhFZjR5UFhVNTRCCkp4MGFhU0Npak8yL1JzQUlHQUVqMEVJSTJBQnBvY29lMTZOQ05IS0RR
VVFITW9JQnd1Z3FSQVhTSWdPRU5EbTVxUllBZVpBdUdRbjUKcUMzM05Hb3JBNEU4TkxJcXVTb1hl
WkszREEvS0I3bERKcDdsWXBSVkJnamtDNE5EcjJFbFA0d1N5QktlYytWUkxiZXZqY0I0RUtETgow
bDVwKytnTXhCN0RtMnZhSEcxWGhqenRjaVFuUFVLVzJyd01lWFFpTitUUkpmU29hc2puZWtUWnFu
cUVQT2tSUi9KUmVkRlREQnUrCnJTSTlZblpSUzdGRytoMFk2Zmw4M3dnWUFTTmdCR1ljQWpaQVps
eVZUdUlEaWFUa1JCL1NnNE93NU1aSEdUcjBYNUZDOW8yOEFBQWcKQUVsRVFWUXcwa0c0UkhBZ05r
T04yakxLaXVFQVNjdkxvdkpnWE9TR0IwWUhvOHZhcjFLVnpWcDd5QlpFQ1JLRmZJN0l4dHNaZ2Ns
QQpRTzFMUmdqdEhUMkMwR01ZU0pjZzh5TzFRKzVMRHUwZkl4dGR3aU1UR2JScGpHMk1CQmtnbXJW
VWVtUklqMGczbkI0aE96ZmttVkdoCjdPZ1JPb1NCdzNVejVaOE1mQzNUQ0JnQkkyQUVwandDTmtE
K3U2cEl4RUpIbFFOeVBSVkgzbFZPam5qSWhVaUxESS9SRUE3aVFsSWcKT3hnR0lrMWFmZ1daZ2No
QW1QQVFxSncwa1JZUFdaUGhJUmtZSGJuaG9UY0JRZlRJRnlNRzBvUThrVDJlUmMrbVoxV2QrRGkx
RVJpcQp2cWFpSGdsSnRUWHBrWFNKby9SSXo2V2owdVpIN3BHR3RxMlpGTTFRRUthbGh0SWoyajFH
anBaRm9ic3lQS1JINktObU96RGVwVS81CkxDSnBOTE9DUHFHTGVka3A0M0RsenAvQjUwYkFDQmdC
STlCeUNMU0dBYUtPVUVkVmMvVjZKTUtpK3pwS3ptaVA1Q3ZpSWJLQkRNaUMKbGdHUngzanpHVzI1
Um9wUHVVZmpoNUtIRE1nS3BFV2p0aEFlTFpIaVB1dktaWUJnZkVDYXdBYThNRm93SERocVhUcnBa
WFNJTUltSQprUWQ1NFNCTEdEZklZMlFZenpuNUVVNGVVeEg3c3ZUL2ZYK3BFNXpxWCtkRllCTi84
cmFzOC9IaXJMTFFKcVJIa3NseEt0YWx5aXo4CmREM2NjVGg0ZVc3YWR0V1Fad1lESGFPOW8wY1lI
bmphTysyYy9EQlFsRlo2aEJFdi9aSHhJZDFFSnZISkV4a1k4SnBkUVVmSlI3cWsKWll6RGxkMzNq
SUFSTUFKR29HVVJpRjVrQmp0MTZocVpFMGtoSEtkamVkV1k4RmZKa2tpTmppSThrakhTa1R4RnZp
SFI2dENSUTZjTgpFUlpKVmg0anlaeHU5NFZCUG1vTDhXSGtGVXpBQWlJRHFjRkRjc0NHVVZlSUVu
RWdReGdzak1yaVJaWWdUeEFtNG1GNGtJYjhaSFJBCndsaUt3c2ZqK0lvMW5uMGdHaGtHZTNDM0t4
RUFPenk2SXozaXFMQm1jQnBPaDhCYTdYdzB1Q3QvNmxlZWNwRVhjcWh2NnBKMmc1K0oKVGhqd0cx
STE1REZJdUM5RG52Yk44aWh3b1M3UkgzQWpIYnFIempUU0kzU1NPT2djOGtpUFBtSnNvRWZvRG5z
LzBDTSt4c2l5UnU1aApuQkIzTkhVNkUrdkl6MlFFaklBUk1BSU5FWWdlWW9ZNmRjNTBzblRRSXZz
aVVkekhOM0lpVE56alhLUkdaSVlqblN1ZWN6cFpmSjZ1CmtWekN5Sit5MEtsREFqaFNSdEpxUkpF
T0hBZUJha1ptR1h2Ni9JVUFVU2Y1cUsyTUJyQUFWd3dRQ0JOSHNBVXppQkxwTUM2SXI1RmEKanBB
bnlVQ3VNQVhEbkRCQmtDQk5HQ0FjOFJBcEdUb1FOdXAwSnVJK2xoYUNqcWpOVWdmeWhPRWI2VkVW
TzY3bHF6cEUvVFRTcFpISwpTcjdVTVVZc2VxVFJmTkpSaDdRYjZoMmRJdStaU0lSekROQUpHUklZ
RGVEQmMrczNCVHpBSHN5NFQ5MkJXMVdQMENVTkJxQkg2QnRPCk9vbWVZTXdNcFVjeWRNaFhla1E1
N0l5QUVUQUNSc0FJWkFqTVhBTkVKRmVqN0hTMk9WSGhQaDE0MWVXZEplZDRPbElJREdRSlQrZWEK
ZXdpUGpCR2xxY3JsbWp6cCtDa1RKQURTVEdmUE5mSWgzSkJoSE5jenNRTUhjOVVOeGhlekdKQWdM
YitDSUlHdGlDbnhpWWNETzRnVwp1TW40NEp5MGhJTWpjYWdERVZBSUU1aUtNSEhFRXdaWnd0Z0Q5
enhQc0VkR3F6dXdCMCtNRG5TSE5vdm5YRVplczNvRXBtclQxQzA2CkErYXFKNDZxQStuYlVIV1Fs
NHZ5b0VPMEFjcWt1cWR1S1J2WHVaOUpkVXJkWUNCSWo4QUJqeTRRTHNNT3ZISG9CL3FDSTAxdWZP
aTMKaUxUZ2lHeWNqRG4waUgwazBpTU1kK2tSNGJrZTZmZFFkVjVLOGw4allBU01nQkV3QWdNSXpF
d0RKQ2U1ZEtpUTFlcWJrT2hnUlZBRwo0Tmg4SXVMRFVaMG9uYmxJazBiVTZaVHhkTDZFNVIydlpP
U3ljK0pONTgrNy8vbVdCbVNBZk9qSUtSY0VUQVNjOEVheWNyblQ2Wnk2CjBjZzFkUU5oeWcwUUVS
K2VpWGpFNGZueE9XbFNHc2d3WkF0c3dZMTZ3S0NBZ0lLblpqbGtlQkNtT29QMFVtZFZyR2NTM3VO
cEd5TDYKRUZjSVBtMFZqejVSTHpMNGlGZkZMTDlXRytZb1BaTGhRVDNsUGpjR2xhNzZETlExYlFP
aVRMblFJNVdKZk5GSDJvVHl5d2NIcXJLbQo2N1hxUnNZaE9LQVQ2Sk4wQW4zQWdSVmgvQVp5WC9V
SlpqSTh1SThzc0FVM2pFRjBLZGNqR1I4eVBLUkgrdTFEbDhnVFR6M2tiYUFzCmlmOGFBU05nQkl5
QUVTZ1FtSmtHQ0k5R1IwcUh5Z2dwcE9tQkIxSmF1YklrS25TMmRNcTR2S05VaDVrZk9SZVJnYWhD
bkNCSkVGbDEKeVBreUh1Nkw4SlE1bEgrcmhBR3lRTG40Q2pKa2prNGJZa0JleWdNU2dDekNab3Fq
WGpScVM5MkFnNHdKREF6ZEY3a0VGMGdTZGRtSQpaRkUvMUFza0NFS2tlcW5XRFVTSys5UWQrTXBZ
UkQ3NElrZjFQbE93SHU5enFNMVNGeEJYMnVxS0ZhVWVVU2Y1U0xrd0pNOHFqc0tXCk9PQU45clJ0
REFVWmlTeUpZeThCdWtSZDRhalhYRzRadXFXTm9NZVVDMks5YWxYWlBzZ0xtVGp5b2E1bnFoN3hH
OFp2QnI4ZjZCQjEKZ283SW1OQnZpbjREaVllQnozM3BIV0hvRm5WZDFTTm1DWWN5NE5FakdSNmtz
eDZWYmM1L2pZQVJNQUpHb0NrRVpxWUJJdUpFeDBvSApDMEhCQUxudnZpMkVuNDVZaElqT1V5UnBP
UEtFTWFCT0dwS2tqY3gwNkJxRkIzWklEM0tRTHdleHpna0RSQUh5QkJHZ2pKUUJwMUZICjVLdURW
L25LR05QM2IxNHZJbzg4UHpoQWtqQkFjTndESC9BR0d4ejNDTVBMVUlGZ3l1aUF2T0twRTd4R2FT
R2ptcUdpWHFnL0dZaU4KeUcyWm0vK0NnT29Ma2lzU2l3RnkvLzJsVGxFUHhLRjlDbFBwVVk1Z3Js
T2NFNytSSGlFdjF5UGlFaTlQang2aHU1Uko3UVRpamFjZApFWmY3YWh1MEQvUUlPVE5GajhCV2hy
cjBRZ1lGR09qM0NDeW9ONTZkMzBLZVh3YUw0dkdiUk4yaEkzaDBpTTNrMGlVTnJxQkhNdUF4CjZN
QlhkUzQ5eXVzcHIzK2ZHd0VqWUFTTWdCR29JQkE5end4MGtDSVJmbzNlTXR2QURBaWVEaHBISjZy
T2xNNDVOeGpLR0NYQlFoNk8KSTNIb2VDRTFMR0VRSWFZajEzM2lWRHRsRVFiS1EvNTR5QVBFUUtS
THBBclN6WDA2ZkkzZVVyN3A3bFFuT1FtQ09FS2VjZ01FSWdQRwpFRW5JRTBld0VpNGltQmdVWUxS
d1lVcExsNmEwYU5HV04vRmd3TW53QUVQa0lET3ZtK21PNTJTWG4vWU0xclJQMmlPa1ZiTjJIS2xI
CjJxVm1HZENuUm5xRUhIbmFnTTZKaXc2cC9wSEhmZXFmZTVMRnRjZ3RhU2tQY2ZNMndUbGhPT3Fh
dGtLYmtoN0orRVRtZEhkZ1FMMW8KZ0lWNnlRMTVubG0vUnp3djhRbkRnUkhZNE1HUit6TFNNRHFX
TFV0cHlaSlNwekErWk1EblMrT3Foa2NwMlgrTmdCRXdBa2JBQ0RTTgp3TXcwUUhqOHZKT0c5RU5H
NktneEdPaTRJU21RRWp5ZEsrUkpSb1BnUXdhRWlNNmVEcDBPVytTSERwMU9ITm1FNGVqTWtaT1RY
Y0lrCmczd2hTcVFsSFhJaFZzVG5TSDZLZzJ6aWFoYWtXcll5eCtuMUZ4ekFpdWVpSGpScXk3a3dB
UWVlRlpJREhoeEpKK0lra29sUmdXZW0KQThORHhBa1NsYzhlNVhXQmJMeGQ4d2hJajFSdmF2Y2Nx
UmZxaDNxQXFEWnFxNlRINXpwQUc2Y2VPYUlIdEllcVBpQVRYVUkrN1VGRQpXZ1lSOFNrRGFhVi94
TU9SWDFXUGh0THhNc1gwK2lzOUFnUDlyc2tBNFhjRGJQUGZGbkRoOXdzblhCU0hlK2dJUmdnekg3
dnRWdW9TCnI5VkZ0NFNiakV2cXdYcFVZdW0vUnNBSUdBRWpNR1lFb25lZndVNmtCNElpcjQ0Wnc0
TU9sazVYNUVtR0FKQ0lPQkdmemxzZE54MisKUmxZNTVpT05rQ1k2YklnWTU1QW5PbXNSQmpwOUNK
TklFL2MwTWt1ZUl0c2lWeEFzUnZGeldjU2JqZzQ4d1JJY2VTNFpJRm9LUWpnNAppZUJBalBCZ29y
cWdEb25ETmVGZ0IzR2lIclYwaEZGYk1LTXVrWVVNRTZiUnR4aGh6bEY2UkZ1WFJ5S2tWTVJWZWtT
ZHFOMFRSK2x6CkhZQWtVLy9VdlhSSmVrbTlvVVB5dEgzQ3FFZGs1YnFJSHRGdWNFckh1ZHFNOUlo
NDZONU0waU4wZ2VlU0h1V3pTR0NKbzkyREczb0EKSnRJSDFTY3lDQWNYOE9aM0VQMUJsMlRJYzAv
cHJFY2xydjVyQkl5QUVUQUM0MFlnZXA4WjZFU2VlRFNkMCtuaTZFenBWTmxncWFVNwprQ2VJRklT
S1RoYW5kREpBSURDUUpaYU02TzFWSXMvc01VRW1JKytRWVMxYklBd0NnQXc2KzV3UVFhUzRoN0ZD
bnVTbk1wSVhKQTJpClRocmlpSVNWcFp0K2YwVkFlUjV3MU93SDV6d3Z6ODh6UW1DRkkwZXVjU0tR
RUM2dzFPZzRhY0FaakJvWmYyVnEveDByQXRLRC9FaDcKQlhjd1o3L040c1hsRWpoSXE0eS9YSTlF
ZUduejFEOTFxS1ZjYkI2bkxSQ09iaUZUcjAxR2w5QkwyZ0M2a3JjaGRBTlBXeUF2NHRBTwpjSlFW
SjJNWFhkS3MySFRYSTU2TjN4UDlSc2dBNFFpR1lJUlJ3WFBLT05mdkVlSGdSVno5ZHVVR2luUUpM
SVVuWWVDcitpeVI5VjhqCllBU01nQkV3QXVOQ1lHWWFJSUpFUklRakhTaWRMUjBxblN2a0JnT0Vw
VHNRS0VpUERBYlNrd1pQaHc1eG9zTVhjWUxvSW90d3dpQkMKN0dYQUVPR0lRVU44R1JsS1R6eU4r
T1lqdHhBRDhpRU1jc0hJSnZId0VLZnBQZ3NDampMQ05Hb0xBUUk3cnJrSDl0UU45UUNwaGN4UwpS
eEJTSE5oQldvbERPdkNYWExEalhIWE1QUk9tRXJlSi9ndXVHUEVZZ0xSTFJzeTFCQTU5b3IzbWhq
ejVxNTZvWjBneWRVL2Rvb2M0CjlBTWpoTGJBVWZ0Q3RKeUkrK1JKZW5TRWVETFEwVFBrMHk2SXd6
bnhsWmYwaVBZalBTSWViV1E2T3RxNkJqTjROdkNTTWNGemEwYUQKZXBBZVVVZGNjdys4d0pjM212
RjdKUU1PdlBESXgxSFAwcWN5eEgrTmdCRXdBa2JBQ0V3WUFqUGJBS25DSlBJRTJZV01RSUlndWhB
bwprVjBSRTRnTWpnNFpEL0dodzJkVVVTT0pFQ0U2ZEVnVkJBZGlMSU9FK0JBQzVOSEpFMWRrQ1BK
RUd1NGhLOCtUZEhoSUVtVms5Qkx5CkFCRVh5U3BMTm4zK2lvQ0NGYzhPWVlJNGdRZlBLdExFczBK
aU1RaFpndzV4NHJuQm56UVFWbVNwUGlCTXdwOGpPSE5QZFRkOUVKcGUKSlVXUFZHZTBVUm1OMUJs
MVdEWGtlVHJxUmZXR2psQ3Z5Rkdia0M1SlQyZ25uTk0rUkk3UkorTExrS2Y5RUFlSDBaTWJJTFFG
NGhORwpmdEpkMmxDdWMyWHE2ZkUzYi9zOE44K0ZYbkRrOXdSSGZmQWJ4U0FJZXNSdkc3OXhoSUVG
MkRIcmhBTWYwcXBla0lFWDV1U0hwNTdzCmpJQVJNQUpHd0FoTUlBS3RaNENJOUVPU0lDTjAyQkI4
aUJPa1NNYUFRRmFuRHduaVBwMDRIVFFFV2pNZWtDSTZjM1hnSXNPRUlZLzQKSWxZaVE4UVJFYUtE
ejBrQWVlR1lhU0UrWmFPY2tDemtUVGRDd0xOQkNNRUhJZ2hwd2tPR3VFZGQ4SXlRcGQxM0w1ZnpZ
SWhnRkhLUAp0R0JOWFVCTThXQkx1SEJGRnZJSlE2YUpVOW1HSnVNdjdVOTZSSnRFajJpcmtGeDhi
b0FvZitvRFQvMlFCa2ZkYVVralIvU0UrK2lHCmlERDFMQU9ra1I1Ujc5SUpqc29ER2FUakdyM0ZT
Q0kvNlJGNlBOMzBpR2NCRDU2dGFzaURHd01VMUFPR0lETzdlakVETXlHRTQvZzkKNGRtbE4rQ012
bkNVYm5FUHJJWGZkTU9wZkZML05RSkd3QWdZZ1NtTVFHc1pJRlNFeUJPZE1BWUFuVGFFQ05JMEZI
RWlIWjB4YWVtWQpNVmdnV2hBYkdRV1FBK0xraElscmlJRTZkOGczbm81ZVJJeHk0Q0FCSWw3SXdF
RVc4SkFzN21uMGRqb1JBbkRoMlhoZWlBM1BnL0hHCkVWeDRGa2doSTdZUXByMzJLbytRcUh6WkNI
VUZEaXpEd3NzSVFTYm40SW84OGdGMzRrOG5uSW9LbjJaL3dCZlNMMTJTUHFGVGhEZHkKeEtWTlVP
ZDRpREh0T2s5RGU2bDZFVzhSWitrUmRVNitlWDY1SGlFSFBhVzkwVTVvVTlJajZWNmpjazYxTVAy
KzZQZUU1NUVoRHlZOApKOCtGc2NFcnFkR2pQZmJZTXJ2TGJ4c1lFZ2Q4TU9qNURXUEpLT256M3lq
OTNoQWZ1VG0yVXcwWGw4Y0lHQUVqWUFTbUpRTFJjN2V3CmcwQTE4amtrM01kQkFFUzJJQzY1Snp6
M1NrUG5MY0pBcDQ2bnN4ZEo1ajV5NVpVUEJCcVNRSHhJRTU1MGtMV2NxQlVGbStKL2VEYVIKUjU1
RHBJbHpjSUE4TXZ1QndjRXJRQ0ZQSENGU0VFZHdGV2FNWWtNZ3dZRjBJcG95N0VTY3dJOTg3Yll0
QWxWZHF1Wk9uZVJ4cUZ0ZAo1L3FUbjNNZlBWRWJrazV3WkRDQWNPSlhkVWp0anZURWxjRWlQV0xn
WURvYUlEd3p6eU5EbnVkQ0Q4QUFnNDdsVml5OVFvZndlc0VHCitvSys0VWlyV1ZVTUV6QkJMam9w
bkdUTTZ6Y0tITzJNZ0JFd0FrYkFDRXdRQXExcmdJaXcwTUhpSWEyTmlLdmljWTlPbXM0ZUwvTEQK
ZllnTWhnR2RPY1JHUm9KSUVCMDhwSUZPSFRtUUJkSXdHb2tublRwNkNCWHBjQkFHMHNrQUlVL2lr
aFlaVTkzeEhEd1h6d0VHa0p0OAoweXozd0FzeUJGRmkyUldHaURiTjhxekNBcU1EZ3NXb3JRd3g4
S1F1Y3VMRU5SZ2llem9SektsZWw0M0twL29GYTlvMXVPTWJ0VS9pCjRybFBIVkYzdEFrUlhlN1Jw
bWtQMURzZVBVSVc5MmhEeEVVZlNDY3lMYjJUSGlrZnlrTzVjSTMwaVBpTnlsbW1tSHAvYyt4bzc0
ME0KZVhRRHd4MGR3bk9PYnNtUTUzbjVEWkVlY1FSbmNCZEdNa0NFTVRoaXZOZ0FtWHB0d2lVeUFr
YkFDRXhqQkZyUEFLRWpGMW1TUVVGbgpDeUhCNWNSZVpBWWlRd2ROeDgrU0JUd0VnSFRxb09uazZk
RHh5S0xUSmgxa2kzaDQ4cU1qNXo0ZXdpQVNRRndJRmdTTUVVclNrVDlICjhzVnpYN0x6Y3BZbG4z
cC9oVFhQRFhFVWFkS29MU1VHTjBnU1JnYytINW1GWElJTFdFS1VaSVJ3NUJvNWtwMFRKOEtFazRu
VHhMY0wKNnBWNm9lMmpGN2xCUVowUlhzV2QrSGpxaHJwaUNSRDdQcVJIM0NNdGRac3ZjYVR1Y2FS
RGgyaEhuT05rN0tOSGVOb0VEajFCRm1rcApHNDQwNkJEcHVVKzc0LzUwMFNNd0Iyc3cwT3hIamgz
UEEyN3NtMEtQbUMzVWJ4RllVQi9JQUROMEkvK3RrbUVDTG1CRS9ZQVQyR0V3CmtzYk9DQmdCSTJB
RWpNQUVJckM1ZDU5QWlWTlpsQWd4SGJrNld6cHhpQkQzNkpoelFrSVl4RWlqdG5UTTdEOTQ0SUh5
eURYM0lUNFEKWnpwL2RmeVFHeEV1R1IvSUl5NkVnUGhhVWtRWWNTa1RNd1JjUXpMSUZ6SkhPREk0
VW5idUk2dEs4b1E5NGZJOER4NlNJYTh3eFJsSwpqdVRwbU1lWGpQeVkzeWNOWlJSMkVCdXc1dms0
NXpuQUNNSUpEbUFISmx4RGVMaUhQT1J6RG1ZeThtU0E4RHpJVjExU0g4SWEzSWJEClNNL2s0K2dS
QUZmd2xWRkFXMFdIYUplRVVYL1VHNDY0K0Z5UGFBZTVIa0YyaVVQOXFpMXdwSjZwZCs1Slp5SEZ5
Q0tjL0RBOGlFdmIKNFJwSGU0QmdhNkNBc3VKSkt3TmtKRDNLMjdMYUljOGtIZUtvdHErNFplN0Qv
MVZjSFNXamV0UjlqankvOEVaM3dCc01hZTg4RTNINAo3YXIrQm9FSHVvTnNIRWV1aVF1MllDU01r
WVBQRFJCd1JML0FtK2UxTXdKR3dBZ1lBU013UVFoRWI5UWlMaWRCZEt4MDRIeFFrRTZZCkRwWnJP
bXc2Y3puQzhTSzVkUHlNM1BJT2ZWNWxTV2VOb3hPSFFPdmJGY2lFSUVFYVNBdlo0VnhFR3RKRTNP
cFNJOGd6c2tUQWtVOTUKUkQ0Z0NNaVRyTHlzWlVtMmxKOTdrQWJ5Uko3SUdlZVVUY1JFTW5TVW5P
cFI5eUV4a29zYzVLbThWWmxneDdQelhKQWxNQVpEcnJsSAptWElDQ1c0aVRjcVBJM21LY0JJSHJ4
RnNDRzl1Z09RanQrUWg4bFY5SGwrUERRSHBFYmlETlNRZmZhQU5FRWJkY0s3Nkk3NEl0SXdJCjJn
RUdDenFFRHFxZGt4YWR5UFdJTmtWNjBpS2Z0aytkVXYvb0N2RzExRWh0SEQzUmpBanBwYWZvRGpM
d3VVNnFySTBRNFo3YU84OUYKSHBTQkk5ZmN3eE52T0RtTlpFdVhwRWZFa1c0aVUyMlg1OWR2RU04
Q2Zuak9DZWNad1U2REdqdzcrQ0JMTXBETk9YRXBPOWlSaGlQWAp5QUlYNmhSZHhhTlh6ZUtFZkRz
allBU01nQkV3QWswaUVMMVJpemc2Y1FncG5TeWROZ1FJQW9HREZOTVo1eDIyNG90RTB4blRLVE9D
CmorY2NJcUxsREJBaFBLT3hJc2ZjSnoyT2pwOXc4c1JZWWM4RDhTRUxoSkVmeElsemlBelhFQWJL
eWhFNXlNTnpiemhIZkFnTXNzaVQKUENBblBEdkxOSGhXU0llZXQxbmlsTXZWYzFNV1pPblplRTdK
bzZ3aW5SQWNNSVBnVUE1a2tZYnlVRGFPa2lGQ3AyY2tiazZjZUI0WgphcEluK1J5cEszQURNOHFu
OGtpZWoyTkhBRHlwVitxUWMyWXlxQnZ3eGhpaER2TTJRRTVxdTdRRkdhUG9rRWcwY1dpVDFDdTZn
VjdRCkppU0xkS3BMMmdMdGpUWkNIUFJJQm9oMEJ6MGlUcTVIeUNBTmNpZ3J6eUNaNU4vSWtWNTZS
SHVuZkxSVG5rOTZSRGpYbEl2NHpiUTEKNHVSdG11ZmsrU2svUjJUbXVxa3k4MXkwYjM2dk9GSUhP
SjVWT3E1eUlhdXFSM29lWkV0L2xSL2xBUlBWRC9LbFc0UmJqMHFzL2RjSQpHQUVqWUFRbUJJSG9P
VnZJMFpGQ1JOU2g4dWhjUTRaRUpISTQ2UGlKQzJHQjFHcDBVQVJYeEZ1ZE9TUWdKOUYwNmlJd0dt
bmtQZ1FMCm9sVmRaaUlDcFh4SlQxNFFCaEVTeWdjWndEZHlJamZFSjAveWdLUVJuMmVGb01qd29m
eFZzdGhJSm1HNVhKNEI4Z2RaUVFibDFyT0kKK0pCR3hBbWl4SE5Bb01DUzV3SXp5a0k2UE5pcERz
Z3JkMXhUVHVFTmFjSnpqU3llaTdxQk5HSGtVQzd5cE82YWZiNDhQNThQalFEdApDRnlwU3p5T01P
cVhPcVJPYVBPNVUzdW1ub2ludXFLZXVFZDdVbHJxbFhaTFc2QU5JMHR0aG12aVVxZHFjOUlsMGhH
RzQwaTdRRFplCmVxUjBYSS9rOHZaT1dXanZ6TXpvdDREOE1IeG93ME8xMjZIeVFEYlBCVmJJb2Yz
cmR3WjVlSjZUNXlXdU1LZE5DM2ZPQ1NlT1pQQ2IKb3JUU1E5TExLVi9oQ002a1ZWN1VCL1VqUGFL
ZXVPYVpoYU5rK1dnRWpJQVJNQUpHWUJ3SXRJNEJRbWVOcHpPbDg2WkRwVVBtU0VlcgpEanNIazN0
NDB0RHgweG5UU1VPa0lERWlCeHk1VmhneTFOa2psMDZlZStSUFp3L2hxQklGcFNFL3lBZ2Vra0tl
cEVXR3lCMnloM0xLCmw3aVFPcEVtOHVVNUlCMFlKSlNCTUVoWlh1NW01RklXaUIrTzhrRm9rQWRK
ZzR4UmJzckI4K3A1T0JKR1hNb0FMc2pBazFiUHAvS1UKMHN1L2VpYlNJbC9FU2NSUGRZUHhvVmtX
d25oZThyR2JPQVJVcDJCTEc1WGpIRDJpanZMMnBQalVQM3FqdXFMZGNFMWJvYzY1bnp2Uwp5U09Q
ZXFUZUNTTXYyamZ0RFQwaW5Hdms0TlQyaUljblBma1Juc2ZsZWlpbk5rZSs2QkhHQnI4YlhGTnUy
cDZXVVNKVHp6MlVQSVVqCmwvSlFWbVR3REdDQ1hEQ1ZibkVrakxnNDhKSG5tdlRvTDE1NkpBTkVl
cUcweEpjampMS0NGK1VtSDJRUVJ2MVJGaGtnSEZWUDVBMzIKdzJHbVBIdzBBa2JBQ0JnQkl6QUNB
cHQ3N0JGaXpiVGJkS1lRRXpwOHlBUWVCeG5LbmNpTzRuRlVSNng3cEtYVHhqQ2hBK2RJcDQ0cwpQ
SjA3amlPZE54MS8zdWtUUjUwNjU1QU9pQUg1UURJZ1BUZ1JCb2hDbnFhOHUrVXZzcmhQZk1nWlpV
WU81Q1FuYnBDVzBSS25YQzdsCkl3L0toM3hreVFEaG1uTElLeDNQVFRsNFJrZ1NyOTNOamFHaFNC
eHlSSnhJaHh5OHlnOUpxaElucnFrYnlrbitkaE9QQURvQXZ2aWMKN09kRWxYUHBDdkYwVFdtb1Z4
eHBxU3ZxRVIyQytIS2tmcWs3NHFrOTAzYVFJVDBoRHVlS2h6ek9kWjg4YVkrMEI1ekMxZFpVaHZM
dQo0TCswT2VMVDFqQTJrRXNiUjZjSTV4dzk0ajdYeEI5T25xUVRoL3dwTzhZMzE4aWdySHBPakI1
a2tpZmh4T0U4VDRjOHdpZ2JyOTFGCnQxUVd3aHVWUlhLUXpXOFM4ZkhrUy9tcEIzN0RaTXh6am81
VFI5SnJQWWVQUnNBSUdBRWpZQVRHaUVEMHpDM2k2SGp4SXJKMHVIUzgKa0FoMXdIU3d1Uk54a2dF
Q1FSTFpwVU9tazZmRHByTm1jN3BHWTBWR0lNdDRTSU5JQk9ma0xYS1Jrd1RPS1FOcE9DY084bkdF
Y3kzWgplYm95eHBhL2xJdDRrQmppUVRRZ1lDSmpYRU4rT0k2R1ZPUnlPVWNHT0lpb0lZK3lTeWJo
ZWg1d3h0akFVUmJpY28zbm5zcENta2FPCjV5QlBzQ05mNm93ano4azlTQktrbGJxQXdFS2N3TTdF
cVJHYVl3OERhOVVGZFVVZDBPN3pXU3pDaVlPVHdVSGJRNCtvSjNTSStxRWQKRUVhOUVzN2VCdmFV
MEc1cEQ5UXQ5MmhUMUR0dGlmeHduSE9mY09Jb1ArNnAzWEVQUnp6YUFtVlJHNUxzUEYwWnUveExP
SExRVjlvYQoxNVFEa3MreklJY3lVaDQ4OFlqZmpGUDVrRWVaU0F1R25FdGY5UHlTcVhJVGo5a1lj
T09jK0JoQkdQT1ViYVN5OEJ6STR2bkpnMmZECmMwNDQ5WkFiSU9nVVllUkhHanNqWUFTTWdCRXdB
aE9BUVBSZUxlVG9mT25zNmJUcHZQT1JRenBnN2hFSGx4TW5TS3lJVXo1Q0sxSVAKY2RLYmdPaWs4
Y2pDUXpMd3lNVkRLT2pvS1lQSVJabGplWjk3T082UkhySkRXZkoweEZFNXk5aGIvaW9QUFF2NVFF
b2dFRGprRUtieQpJYXRhampMbTRMOUR5YVY4M0VNT01wSE51Y29NRmxyQ1FoaGtCeklJT1lTMFlv
QlFGeUtZUXoxWFhtN3dGSEhpbkh2VVVTUGlSTGdJCjQrQW44dFZZRUZCZFU2L1VOWFdZejJSUkg0
VG5qbnFuRG1pRDBpTXQ4OEZnbEI2eEtWM3RVbm9rWFVLdURBcGtxejNRMXZEVmRzTjkKWkhGRUJ1
MUFiWkw0YXFmVmRIbTVsUWQ1azRZanp5QTV5RkI1RzVVaGw1V2Y1eGlTQjg5VjFVOWs0MVUrOHVF
M0NpT0R1S1RCa0NNTworaU5EWHZnanQ1RkRIdmVRUjF4K0cyU0FFRVpkNEZVLy9ONlJEenBMSFpK
V1pXb2szMkZHd0FnWUFTTmdCSnBBSUhxdkZuSHE5T2xrCjZiUVpOVnk4T0tWbHk4ck9XMHNlOHM1
VnhBbnlRZ2RNUjB6SHpOdCtlSXNXSHVPRGNHWkE2SndoTzNUc2tBVTZkODdKVXdSRkhUajUKNUht
cEdsUk80cEdHTXNqbGFSWFc2Q2daT2xJbTVPQUpRNDQ4MTgwNnlkTXhseW01SE9VcFAzbERjSWpM
T1FRS1BLa0Q4SUU4Y1o5NwpsR2s0eDMzaWdhME1FQm1PR0IrcUgwZ3R4QWtpUmIyUmhyTFlqUjhC
MVQwRUdPd3g0cGNzU1dtMzNjcHo2b1gyVGp3NTZoN3lLajJTCm9ZZ2VNZU9Cei9WSTdVWTZ4REhY
SStRaW4vYWd0cWE4ZEZRNWliT3Q5Q2gvWnBWanFDTngwUUhLQjE3Z2c5UHpFSTZYSXc3WUVrOUcK
QjIyYlp3TWZmcjlreUJNMlhGbVFpd3pxVUFZSVI2NzVmY05JUkgvUUl6ejFSVjdTVzVYSlJ5TmdC
SXlBRVRBQ1kwUWdlcUVXY1hUSQo2dXpwc0RWeXUzUnBTYUM0cGdQT08zMFJKenA5UmgxRmNERTIr
SVlCeEpZNGVpMHZlVUNVSUFQSTAvSXV3dW53T2VKSGNvcFhqVnU5CkhrNE9jU0VpZWg3S0tTYzVP
aXE4bVdOVmJwNm1Lazk0UTI1RWxDQTM0TWsxK0lFNWZpVFNoR3prTlNKT2tETUlFN0kxY3BzVEov
TGoKK2F2bHk4dnU4K1lRVVAxVGR4QmlEUGxGaTBwRG5pTWttSHRWcktrRFBFUVd3eENEQXoxQ1Y2
Zy82Z2VEbm5xam50RWo5S2VxUjNrNwpxZVpSZlFMdTQ1SFhxUDFYNHplNkpqMTVJZ1BYU001STVT
aFREdjZyc2cyVk5nOVh1d2NUd3RFWGNNWWc0QnI4cEVlY3E2eURjOXh5ClJScnBINytGTXVhUlFW
cCs2MlFrU28vUUxmS1Q3bTZSNWpNallBU01nQkV3QXFOR29IVU1FS0JSeDB0SFM2ZkxhRHdqdUN3
aGdValIKd2VlZE4yUkRYcU8zRUZ5SUVYRzVCNW1pczRaUWlWUWhDNk1FVWd6aEVta2gvOUc0MGNa
dkpGc3lkR3dVWnl4aHpjZ1Rsc1NGOElCNwpiZ3h3SDROQ0JHOGttWXFQSEl3YXlDdjFTRjFBbEhM
aVJEM2xJN2ZVd1VqeXg0SkRLNllCUnhtQzRJK1JJRDFDTnpCQVZQZkNCL3lwCisxeVBaS3dRVGwy
aEw5SWpqQkVNbEZ5UGlJY2JTejJPSlUyWlcvbFg2WFhNNzQzbnZCbDV4RUZIT0lJcitJS2pmbGNJ
NHo1MXdua1YKKzJyNUpBOWpKVGRBMENuQ0dHalJZQXQ2aFM1eHpXOFplWk9YblJFd0FrYkFDQmlC
Y1NEUWVnYUlPbXM2VW9nckJBb2loS2N6cm5iZQpkUEx5RUZ6aVE0QnhkTW9RSkphUzBGRmpqSEJr
TFR0RVNxUHlPVmtvVTdiT1gvQVVjWUlnaVRTQkFPRzVId2tWRVNmcWpyclNzaE9PCjRBMUJ3b3ZN
Y3FST3FEZklhN1Z1UjhyUDl4c2prTmVuOUFqeWltNVFGK2hIRld2cEVFZjBnZnFEN0ZJdjZFNWZ1
a3NBQUNBQVNVUkIKVkltV05lWjZSSjF5WFRVa0c1ZHFab2VxN1lNckJzQjQ5UWc1NEovL0JsSjMx
QXM2UkIyaE85UU5QdGNqOHFZOGRrYkFDQmdCSTJBRQp4b2hBYXhrZ2dDVHlwQkZEU0RFZE1VUUtY
eVZPQXBaT0Y3SkVYTTR4UHJROGhFNGNlWFRTZUFpVHlLODY4NXd3U0dhckhNRjhJZ2lMCjZvNDZn
Q2hoTkRLTGhZZW9RcFNvUDVFbjZzTDRUMTRyb3o2a1I5Uko3b2ZUSTNSQkpCbzlRWTgwQUVBNHkz
MXlQZUthZXRRTXlPUTkKMGRTWExNekhXMUxrYUJZTHc0TTZRSStZZWNKZzV6NTRxeTZrUzRSUmY5
eTNNd0pHd0FnWUFTTXdSZ1JhendDcEFrVkhXdlhWT0Z3VApCMUpGNTR1aHdpZ3ZoZ2RIaUpmdTBY
bERsdkFhZVNjTjNtNzhDSUN6REJDVysvQktVcjZCQUVGaU5ncFNoY2RoaUZBSEhFMmNTa3dtCjgy
K3pla1FacUtQaDlJZzZrdzVaanlhKzF0QWpqRDErdnpCQVdEYkttN1F3NUhGZ1R2MVFwN2tlY2U3
ZnNoSWovelVDUnNBSUdJRXgKSTJBRFpNelFiVTZvemxoR1JxUGplUE53K2kwSVFKd2dyeGgvR0NB
WUg0eWlnenRMZ0RocWp3NEVDNmM2S2EvOGQ2b2dRTDNrTHErbgo2cjA4bnM4bkJvSGNBTUdRWjY4
SFJoK0dCek84NkpqMmhXQ0k1UFV6TVNXd0ZDTmdCSXlBRVdoUkJHeUFxRlBOajQwYUEvY1pSYWVE
Clpsa0NIVFRFbHlQWGpCZ1NSeU9MZE81NHJqVXkzRWl1dzBhSEFGaUNxd3dRc0dkVUZ0TEVEQWox
d3oyV2s3Qk1DMk5GZFRDNm5CeDcKTkFqaytxUHpSdW1IMHlQcWpyckVTWDkwZEIyV3VFelVYL1FJ
VEpsTnhNaGdCZ1Q4Q2NlUVp6a2oyTE0waTJ2MFMzVkFIZG9aQVNOZwpCSXlBRVJnSEFxMW5nSWdB
YVZrQmhvT01DanBjT3RtcXk5TmdjR2pqT1J0bjJYQ3VrVU02YnpwMExjK2kwellCcnFJNS9tc1JK
NGdSClJpSFhrQ2cyTFdPUVVJOHNLOGxuUXFnYnU0bERJTmVKWElmQUg2eUh3cHY2UXZjdzN0RWRk
RWg2Qk9sRmx2UUlReEp2UFpxNGVzc2wKb1RmOFBtR29ZN0NETzFpak41cFY1QjVHaUdaQ1NETlUz
ZWF5Zlc0RWpJQVJNQUpHWUJnRVdzc0F5VWtUUkFsakF1TUI0a3BIakNGQwpCNXM3MHVBaFRkd25Q
cThIZmZEQmxGYXVMRCtpeHJwcGlKTTZjNGd4bnM1YiswUGNhZWVvanU4Y0xNRWFjcXB6Q0JJa1Nx
TzRFQ253CnordGdmTGs2dFJDUUh0SG0yWHVENFNBOW9qNHd3QnUxZDR3UFBMb25QWHJnZ1ZLUDBD
bjBDRDJqYnFsUGpFajBpSHEySGduOWlUdFMKUnhqcjZBcU8zejdxRGdPRWVxVXV3QjM4cVFmaUVi
OVIzWllTL05jSUdBRWpZQVNNUUZNSXRKNEJRcWRLNXdvQll1U1ZyekRUc1JKRwo1OXZJQUlFMFFi
WXdXQ0JKcE1FQVdiNjhQSWVBNFNDN2RONFFZZDdxQTRseXAxMWlNNUYvSVVEVUUwU1ZjeGtqR0Iv
VUU0NzdrQ2Z3ClZ6d1RweEtiOGZ6TmpRL3BBM3IwOE1NbDV1Z0NtRmV4YnBRT1BjSUFXYkdpMUNO
RzNVbUgzcUJIakx4enRCNk5wOGFHVDV2ckVjWUYKdjRFWUcrZ1N2M3ZVaC9USXYyWERZK203UnNB
SUdBRWowRFFDcldPQWlBRFJzWExPTWlwOXpSempnOUZXT3RqY0FDRmVuaTRuWEE4OQpWSkl1NUdE
VU1Fb0lZZUpOTW55VURTT0VqcHdPM2FPR1RUZklwaU5Dak1DVit1SUlTYUllSUUzVUdmZDFqMk5l
cjAxbjRvaGJJUUMyCk11TEJsSmtMREcvT01lcHA4ekw0OHNTTjlJaFh2bUs0NEZtT1JkMmhSK2lP
OUNqZmcyQTl5aEdkdUhQcVR2cEMzZkU3U0YzSUFKR3UKU2QrNHRqTUNSc0FJR0FFak1BNEVacVlC
UWdlWmUzV3dBQVY1WXBTY1VWczZXenBaakFndDFhbDJyamx4WXVrSUk3d3MyZEpIMHBDRgprUUZS
V3JTbzlMeVpDUkxGeUMzRW1QenRKZ2NCNmt2RWlDUDFKYWU2VkZ0UXVJL05JeURzT09aNlJMdEhG
ekFpd0IzRG5uTjBvV3FBCnFFNmtlMVU5UWc3M1pIeWdSNHNYbDI4NHN4NDFYMWZqaVVuOURxVkh5
TTNid1hqeWNWb2pZQVNNZ0JFd0FvSEF6RFJBVkxVUUpqcFYKQ0JHR2dJd0J5QkxMUFNCTUVCK01p
YUdXRjBDZThNUWpIZVFKenprT0k0UGxWZ3NYcHJSMGFVcTc3VmFlWTVESXFMRUJVbUkxbVg5Rgpr
Q1l6ajFhU0xUdzVWdlZJQmdaR0NMTWUzRWNuTU9yUk1YUU9SMXFjREJEcEVlbXFlc1RNQ2N1dDBL
Tmx5MG85d3BBbkRNTkVlWllTCi9YZXlFRkM5VDVaOHl6VUNSc0FJR0FFakVBak1YQU5FeEFsQ0JJ
R0I0TERNQ3NLRThZSERxR0QwRlVLazBUK1JKdTdyWEVhSWpvUmoKWEdDMFlIendEbjFHYkdXQXNB
U0xjQysvQWtXNzZZd0FiUjNkb0szVDV0RWgyallHQkVzWE1UNHd4dEVqanRLajZqTTMwaVhTWXND
agpKOGhFYjZSSFM1YVUxMW9haVZ6SnFNcjJ0UkV3QWtiQUNCZ0JJekN0RUppWkJnaEVCWEtEOFFG
cFloUVZjZ05KSWh3akJPT0RjNGlOClNGTk9jSFNlSHhVL04ycTA3NE9SVzBac1didXUyUStQMms0
clpYQmhLd2pROXRFTmpBOE1CYlYxREE5MGdEMVJMR0ZFTDJqckhFa2oKbjR0VG1HUWlWM3FFa2FG
OUgrZ1F1b1Mrb3JlYVJTU2RuUkV3QWtiQUNCZ0JJekFqRUppNUJvaUlFek1mekZCQWxpQklqTFF5
QThLcwpCek1hSWsxVVowNXlkTTRSanp5UkprWnNJV1FRSjBnWkgvSENjNDU4N2cyMXBHdEdOQnMv
UkVzZ29IYXZHUXFNYTJZNU1CeG83ekpBCkFFTjZJbUM0bHRNOWRBMlBzU0xqWXlnOVFyZGtmT1E2
S3BrK0dnRWpZQVNNZ0JFd0F0TVdnWmxwZ0ZBZGtCYU1BQXdRUmxNaFFad3oKd3NvSXJnd1FWVjFP
bUFqVE5jZWNPQ0VUUXFabFhWcmFKY0xFUGNnVnhvcGtLQThmamNCMFFvRDJpN0ZBVzJjMmdsbERy
amxuRnBGbApXSVJoeU9ldTJ1NjV4cU5INkVWdWdHQmtvRVBTSTQ2RW9VZkVzeDdseVByY0NCZ0JJ
MkFFak1DTVFHQm1HaUFpT3hnQ0VCcXVJVFRNClVEQnFpL0hSaURoUnBjU1YwN2tNa0p3OElTLzNH
Q1l5UElpdnRKTGxveEdZYmdqUWhtbnp0SE5tOWpqSE9HRDJBK01EUFdJSlZ0VUEKNFRuejlxL3pY
SS9RRlhSR0JyMTBpV3NaSHRhajZkWmlYRjRqWUFTTWdCRXdBazBoVUt1SGF5cm1kSXZFWTJGa1FK
SllOaUtmazZhUgpIbDNFaVNNZVFnUUprNGNvaVN3UlpzSTAzVnFKeXpzU0FoZ1l1UjdKOE1qMWFD
UVp1UjVKUnhycEVMckVmY1VaU2E3dkd3RWpZQVNNCmdCRXdBdE1TZ1pscmdGQWRHQmdRcU53VEp0
OU1sZVhraWZnaVI5V2o0alVqMDNHTXdIUkNRTE1jTWtha1Z6d0Q1ODA0NlFkSCtVWTYKcEhqTnlI
UWNJMkFFaklBUk1BSkdZRm9pTUxNTkVGV0pTSktPMVhCZFY0K055RkFlbHA5WDAvcmFDTXcwQk5D
ZjBlb1FHRFRTRTRYcApPTk93OHZNWUFTTmdCSXlBRVRBQ1F5TFFHZ2JJa0kvdkcwYkFDQmdCSTJB
RWpJQVJNQUpHd0Foc1N3Uml3YldkRVRBQ1JzQUlHQUVqCllBU01nQkV3QWtaZzJ5QmdBMlRiNE94
Y2pJQVJNQUpHd0FnWUFTTmdCSXlBRVFnRWJJQzRHUmdCSTJBRWpJQVJNQUpHd0FnWUFTT3cKelJD
d0FiTE5vSFpHUnNBSUdBRWpZQVNNZ0JFd0FrYkFDTmdBY1Jzd0FrYkFDQmdCSTJBRWpJQVJNQUpH
WUpzaFlBTmttMEh0akl5QQpFVEFDUnNBSUdBRWpZQVNNZ0JHd0FlSTJZQVNNZ0JFd0FrYkFDQmdC
STJBRWpNQTJROEFHeURhRDJoa1pBU05nQkl5QUVUQUNSc0FJCkdBRWpZQVBFYmNBSUdBRWpZQVNN
Z0JFd0FrYkFDQmlCYllhQURaQnRCclV6TWdKR3dBZ1lBU05nQkl5QUVUQUNSc0FHaU51QUVUQUMK
UnNBSUdBRWpZQVNNZ0JFd0F0c01BUnNnMnd4cVoyUUVqSUFSTUFKR3dBZ1lBU05nQkl5QURSQzNB
U05nQkl5QUVUQUNSc0FJR0FFagpZQVMyR1FJMlFMWVoxTTdJQ0JnQkkyQUVqSUFSTUFKR3dBZ1lB
UnNnYmdOR3dBZ1lBU05nQkl5QUVUQUNSc0FJYkRNRWJJQnNNNmlkCmtSRXdBa2JBQ0JnQkkyQUVq
SUFSTUFJMlFOd0dqSUFSTUFKR3dBZ1lBU05nQkl5QUVkaG1DTmdBMldaUU95TWpZQVNNZ0JFd0Fr
YkEKQ0JnQkkyQUViSUM0RFJnQkkyQUVqSUFSTUFKR3dBZ1lBU093elJDd0FiTE5vSFpHUnNBSUdB
RWpZQVNNZ0JFd0FrYkFDTmdBY1JzdwpBa2JBQ0JnQkkyQUVqSUFSTUFKR1lKc2hZQU5rbTBIdGpJ
eUFFVEFDUnNBSUdBRWpZQVNNZ0JHd0FlSTJZQVNNZ0JFd0FrYkFDQmdCCkkyQUVqTUEyUThBR3lE
YUQyaGtaQVNOZ0JJeUFFVEFDUnNBSUdBRWpZQVBFYmNBSUdBRWpZQVNNZ0JFd0FrYkFDQmlCYllh
QURaQnQKQlBXbVRac0djdHF3WVVONjlORkhpK3UxYTljT2hQOTNuenoyMkdQcGhodHVTSDE5ZldN
dVN2NmNZeGJpaEVaZ0ZBamtiVzRpZEl2Mgp2MkxGaWdFOVdMZHUzWkNsc2M0TUNZMXZHQUVqWUFT
TWdCRVlFb0ZhUGR5UWQzMWpRaEM0NktLTDBnRUhISkFPT2VTUTlFLy85RTlwCjl1elphZjc4K2Vt
S0s2NUlUM25LVTlJNzN2R09VZWZUM2QyZFpzMmFOZXAwUXlYNDFhOStsWDd6bTk4a21zUGl4WXZU
cTE3MXFxR2kKTmd4WGVYNzV5MSttKys2N0w3M3lsYTlzR00rQlJtQWlFV2hHdDM3MnM1K2xsNzcw
cGVuVVUwOU5uLy84NTlPaVJZdFNUMDlQK3NBSApQbEMwK2ZQUFA3OEl1K3V1dTlLNzN2V3UxTjdl
bnA3eGpHZWttMjY2S2QxODg4M3BSUzk2VVhyYjI5NjJWYkd0TTF0QjRnQWpZQVNNCmdCRXdBczBo
Z0FGaU4za0lmT0lUbjZoZmZmWFZSUWFQUFBKSWZlN2N1ZldWSzFjVzF3OCsrR0Q5SXgvNVNGT1o5
L2YzRDhSRHprdGUKOHBLQjY0azQrWXUvK0l0NkVLb3hpYXFXNTB0ZitsTDl2UFBPRzVNc0p6SUN6
U0l3R3QwaTdwNTc3bGtQUTNsQS9ELys0ei9XNzczMwozdUo2MWFwVjlZVUxGOVovK3RPZkR0em41
TlpiYjYxLyt0T2ZIaFNtQyt1TWtQRFJDQmdCSTJBRWpNRG9FR0RFMjI2U0VJaGxWdldZCjRSZ2sv
WmhqanFudnUrKys5ZC8rOXJlRHdqLzN1Yy9WOTlsbm4zb3NnU3JDUC9qQkQ5YS85YTF2MVRkdTNG
ai9sMy81bDRJRXZmbk4KYnk3dVliVHN2UFBPOVE5LytNUEZmZUxHeUcwOVpoM3E5OTkvZi8xSFAv
cFIvZGhqajYxLys5dmZycDkyMm1uMWw3Lzg1ZlhMTDcrOApmdmJaWjljUFB2amdPb1pQN29pMzMz
NzcxZC8rOXJmWGYvQ0RIeFMzSUd5Zi9PUW42Mjk4NHh1TEk0RVhYSEJCL1lnampxaC84WXRmCnJC
OTMzSEgxOTczdmZVWGN2RHl4SEtZSU8vTElJK3ZyMTY4dnp2M0hDRXcwQXFQUkxmSis0b2tuNmdz
V0xLaC8vZXRmSHlnS2JWdnUKL2U5L2YzM3Z2ZmZXNVloSDY4eUlFRG1DRVRBQ1JzQUlHSUVoRWJB
Qk1pUTA0Nzl4NmFXWDFwLy8vT2NQRWhScnkrc25uM3h5dmFPagpZNERZRTZHM3Q3Y1lvWlZoRXN0
RGlqQ01DUkg5V0VwU3lMcnR0dHZxKysrL2YzRWV5N2pxUC83eGordXhicjMrN25lL3U0Z2J5MHNL
CitiZmZmbnRob0dEWWlIaTkrdFd2TGd5SkluSDJKNWFuMUpHRmkyVW45ZGUvL3ZYRk9TUEd1Kysr
ZXoyV1ZSVWtMdWJWaXZOWWExK0UKVSs2OFBFV2krSU1CZE5WVlYrblNSeU13b1FpTVJyZVU4VnZm
K3RiNlNTZWRWRnd5MnllZElPQmxMM3RaWWF3ckxzZHJyNzIyanRILwpwamU5cVI3THMvSmJ4Ymwx
Wml0SUhHQUVqSUFSTUFKR29Da0V2QW05dVpWcVk0cDE1NTEzcHAxMjJtbFEyaVZMbGhSN1A5N3pu
dmVrCmM4ODlOMzNxVTU4cTdyUHVQTWhPK3V4blAxdnN3d2dEcFZpTGZ0UlJSNlhQZk9ZelJkd3dY
QVprMVdxMTR2eDczL3RlK3QzdmZwZSsKOElVdnBCakJUVEhEa2tqYjJkbVo5dHBycjlUVjFaVmk2
VWtLSTZLSVQxak1nQXpJYVhSeTRZVVhGdnRWdUllY0UwODhNWDN6bTk4YwoySE95Yk5teVloOEw2
K2dmZnZqaFFvVEtJM25rOTRjLy9FR1hQaHFCQ1VWZ05McWxqTU1BU2IvKzlhL1RkZGRkbHk2KytP
TDBnaGU4ClFMZlNMcnZza3Rhc1dUTnd6Y25SUngrZFloWXZ4UkxERkViOG9IdlZDK3RNRlJGZkd3
RWpZQVNNZ0JFWUdnRWJJRU5qTSs0N2tCcmUKa2lQSHB0WFl5NUhhMnRyU2U5LzczdlNHTjd3aGZm
V3JYOVh0ZE00NTV5UU1pcGoxS0RiTWNvTU40ZGRjYzAyS21aSDB6R2MrY3lDdQpUcFl2WDU1T09P
R0VRaGJ5bnYzc1ordld3TEc2V1oweURPZDRxOUNmL3ZTbmdTZ0hIbmhnR3U1TlFBTVJLeWV4MzZV
UzRrc2pNREVJCmpGYTN5SlVYUWFCREgvLzR4d3NkNUdVUWNyR2tNTjF4eHgycCtsYTZIWGJZSVcy
Ly9mYUtOdVRST2pNa05MNWhCSXlBRVRBQ1JtQXIKQkd5QWJBWEp4QVVjZE5CQjZZRUhIaGdRZU04
OTl5UkdTdVZpMzBWaWhrTXU5bldrTTg0NEkzM29ReDhxakFyQ3YvT2Q3NlRkZHRzdAp4UjZPZ2h3
OTlOQkR4YXdFYjUzQ1BldFp6MHF4RjZRWXBjV3dpR1VsUlhqK2g1bUttQS9MZzdZNjU5V2pldjF1
TEVjcFJvb1ZLVGJpCkZtOFJxc3FRSWNNc2ljcWpOTEhSdmlCOHV2YlJDRXdrQXFQVkxlVWQrNXhT
N0dWS3NUUlNRY1h4ckxQT1NvY2VlbWp4bHJwQk40YTUKc000TUE0NXZHUUVqWUFTTWdCRVlCZ0Vi
SU1PQU05NWJzZUU3N2JycnJpazJraGVpV0NJVkc3WlRiQ3BQc2VrOFhYLzk5ZW1kNzN6bgpvR3lZ
eFlpTjR3TmhmTmNnOW0wa1prOVlNb0k4bGtDeHRBc3l4V3Q4K2FZSVMwVGlyVHpwK09PUFQ1ZGRk
bGtpM1NXWFhKSmlmMGE2CjVaWmIwbmUvKzkyRVVjQVNsQ3V2dkRMRnB0eUJQSmhoNFhXanNiRzJN
R1F3aWc0NzdMRENzUG55bDc5Y3lHWVdKTjRRVktSQlBxL3MKeFJnaWo3dzhMTzlpMlFwTHlpQjBk
a1pnTWhBWWkyNVJEbVlJTVQ2WThjZ2Q3VFZld0ZBc0tYekZLMTZSNGtVTEtWN0NrSGcxNzR0Zgov
T0k4YW5GdW5ka0tFZ2NZQVNOZ0JJeUFFV2dhQVg4SHBHbW94aFl4WHNHYm1FRjQ3V3RmVzN4N0FD
bk1KS3hldmJwWWQxNlZHbSsrClNrOSs4cE5UYkRJdmJoR1htUWFNbUhuejVnMUVqODNmeFRuN1BY
QXM5ZHB4eHgyTDg0bjZ3LzRPOW5Zd016T1N5OHNUcitGTjhhYXYKZE1vcHA0eVV6UGVOd0pnUkdL
MXVLU04wS1Y5K3BYQWRhY3Z4TnJsaTVyRzZmRkZ4aGpwYVo0WkN4dUZHd0FnWUFTTmdCTFlnWUFO
awpDeGFUZHNiSCtmandZTHlhZHNnODJCUjc0NDAzRnJNWkgvM29SNGVNTjlWdk1GUEQ3TXB6bi92
Y3FWNVVsMjhHSU5DTWJrMzF4N1RPClRQVWFjdm1NZ0JFd0FrWmdvaEd3QVRMUmlBNGhqMUZWelZZ
MGlzSlgwZU8xdGVrdGIzbExpdThWTklveUxjSkdlczVwOFJBdTVMUkMKWUxxM3VlbGUvbW5WV0Z4
WUkyQUVqSUFSbUJJSTJBQ1pFdFhnUWhnQkkyQUVqSUFSTUFKR3dBZ1lnZFpBd0p2UVc2T2UvWlJH
d0FnWQpBU05nQkl5QUVUQUNSbUJLSUdBRFpFcFVnd3RoQkl5QUVUQUNSc0FJR0FFallBUmFBd0Vi
SUsxUnozNUtJMkFFaklBUk1BSkd3QWdZCkFTTXdKUkN3QVRJbHFzR0ZNQUpHd0FnWUFTTmdCSXlB
RVRBQ3JZR0FEWkRXcUdjL3BSRXdBa2JBQ0JnQkkyQUVqSUFSbUJJSTJBQ1oKRXRYZ1FoZ0JJMkFF
aklBUk1BSkd3QWdZZ2RaQXdBWklhOVN6bjlJSUdBRWpZQVNNZ0JFd0FrYkFDRXdKQkd5QVRJbHFj
Q0dNZ0JINAp2KzNYTVEwQUFBRENNUCt1c1VHeU9vQnlRWUFBQVFJRUNCQm9DRGdnaloyMUpFQ0FB
QUVDQkFnUUlIQWg0SUJjekNBRUFRSUVDQkFnClFJQUFnWWFBQTlMWVdVc0NCQWdRSUVDQUFBRUNG
d0lPeU1VTVFoQWdRSUFBQVFJRUNCQm9DRGdnaloyMUpFQ0FBQUVDQkFnUUlIQWgKNElCY3pDQUVB
UUlFQ0JBZ1FJQUFnWWFBQTlMWVdVc0NCQWdRSUVDQUFBRUNGd0lPeU1VTVFoQWdRSUFBQVFJRUNC
Qm9DRGdnaloyMQpKRUNBQUFFQ0JBZ1FJSEFoNElCY3pDQUVBUUlFQ0JBZ1FJQUFnWWFBQTlMWVdV
c0NCQWdRSUVDQUFBRUNGd0lPeU1VTVFoQWdRSUFBCkFRSUVDQkJvQ0RnZ2paMjFKRUNBQUFFQ0JB
Z1FJSEFoNElCY3pDQUVBUUlFQ0JBZ1FJQUFnWWFBQTlMWVdVc0NCQWdRSUVDQUFBRUMKRndJT3lN
VU1RaEFnUUlBQUFRSUVDQkJvQ0RnZ2paMjFKRUNBQUFFQ0JBZ1FJSEFoNElCY3pDQUVBUUlFQ0JB
Z1FJQUFnWWFBQTlMWQpXVXNDQkFnUUlFQ0FBQUVDRndJT3lNVU1RaEFnUUlBQUFRSUVDQkJvQ0Rn
Z2paMjFKRUNBQUFFQ0JBZ1FJSEFoNElCY3pDQUVBUUlFCkNCQWdRSUFBZ1lhQUE5TFlXVXNDQkFn
UUlFQ0FBQUVDRndJT3lNVU1RaEFnUUlBQUFRSUVDQkJvQ0RnZ2paMjFKRUNBQUFFQ0JBZ1EKSUhB
aDRJQmN6Q0FFQVFJRUNCQWdRSUFBZ1lhQUE5TFlXVXNDQkFnUUlFQ0FBQUVDRndJT3lNVU1RaEFn
UUlBQUFRSUVDQkJvQ0RnZwpqWjIxSkVDQUFBRUNCQWdRSUhBaDRJQmN6Q0FFQVFJRUNCQWdRSUFB
Z1lhQUE5TFlXVXNDQkFnUUlFQ0FBQUVDRndJT3lNVU1RaEFnClFJQUFBUUlFQ0JCb0NEZ2dqWjIx
SkVDQUFBRUNCQWdRSUhBaDRJQmN6Q0FFQVFJRUNCQWdRSUFBZ1lhQUE5TFlXVXNDQkFnUUlFQ0EK
QUFFQ0Z3SU95TVVNUWhBZ1FJQUFBUUlFQ0JCb0NEZ2dqWjIxSkVDQUFBRUNCQWdRSUhBaDRJQmN6
Q0FFQVFJRUNCQWdRSUFBZ1lhQQpBOUxZV1VzQ0JBZ1FJRUNBQUFFQ0Z3SU95TVVNUWhBZ1FJQUFB
UUlFQ0JCb0NEZ2dqWjIxSkVDQUFBRUNCQWdRSUhBaDRJQmN6Q0FFCkFRSUVDQkFnUUlBQWdZYUFB
OUxZV1VzQ0JBZ1FJRUNBQUFFQ0Z3SU95TVVNUWhBZ1FJQUFBUUlFQ0JCb0NEZ2dqWjIxSkVDQUFB
RUMKQkFnUUlIQWg0SUJjekNBRUFRSUVDQkFnUUlBQWdZYUFBOUxZV1VzQ0JBZ1FJRUNBQUFFQ0Z3
SU95TVVNUWhBZ1FJQUFBUUlFQ0JCbwpDRGdnaloyMUpFQ0FBQUVDQkFnUUlIQWg0SUJjekNBRUFR
SUVDQkFnUUlBQWdZYUFBOUxZV1VzQ0JBZ1FJRUNBQUFFQ0Z3SU95TVVNClFoQWdRSUFBQVFJRUNC
Qm9DRGdnaloyMUpFQ0FBQUVDQkFnUUlIQWg0SUJjekNBRUFRSUVDQkFnUUlBQWdZYUFBOUxZV1Vz
Q0JBZ1EKSUVDQUFBRUNGd0lPeU1VTVFoQWdRSUFBQVFJRUNCQm9DRGdnaloyMUpFQ0FBQUVDQkFn
UUlIQWg0SUJjekNBRUFRSUVDQkFnUUlBQQpnWWFBQTlMWVdVc0NCQWdRSUVDQUFBRUNGd0lPeU1V
TVFoQWdRSUFBQVFJRUNCQm9DRGdnaloyMUpFQ0FBQUVDQkFnUUlIQWg0SUJjCnpDQUVBUUlFQ0JB
Z1FJQUFnWWFBQTlMWVdVc0NCQWdRSUVDQUFBRUNGd0lPeU1VTVFoQWdRSUFBQVFJRUNCQm9DRGdn
aloyMUpFQ0EKQUFFQ0JBZ1FJSEFoNElCY3pDQUVBUUlFQ0JBZ1FJQUFnWWFBQTlMWVdVc0NCQWdR
SUVDQUFBRUNGd0lPeU1VTVFoQWdRSUFBQVFJRQpDQkJvQ0RnZ2paMjFKRUNBQUFFQ0JBZ1FJSEFo
NElCY3pDQUVBUUlFQ0JBZ1FJQUFnWWFBQTlMWVdVc0NCQWdRSUVDQUFBRUNGd0lPCnlNVU1RaEFn
UUlBQUFRSUVDQkJvQ0RnZ2paMjFKRUNBQUFFQ0JBZ1FJSEFoNElCY3pDQUVBUUlFQ0JBZ1FJQUFn
WWFBQTlMWVdVc0MKQkFnUUlFQ0FBQUVDRndJT3lNVU1RaEFnUUlBQUFRSUVDQkJvQ0RnZ2paMjFK
RUNBQUFFQ0JBZ1FJSEFoNElCY3pDQUVBUUlFQ0JBZwpRSUFBZ1lhQUE5TFlXVXNDQkFnUUlFQ0FB
QUVDRndJT3lNVU1RaEFnUUlBQUFRSUVDQkJvQ0RnZ2paMjFKRUNBQUFFQ0JBZ1FJSEFoCjRJQmN6
Q0FFQVFJRUNCQWdRSUFBZ1lhQUE5TFlXVXNDQkFnUUlFQ0FBQUVDRndJT3lNVU1RaEFnUUlBQUFR
SUVDQkJvQ0RnZ2paMjEKSkVDQUFBRUNCQWdRSUhBaDRJQmN6Q0FFQVFJRUNCQWdRSUFBZ1lhQUE5
TFlXVXNDQkFnUUlFQ0FBQUVDRndJT3lNVU1RaEFnUUlBQQpBUUlFQ0JCb0NEZ2dqWjIxSkVDQUFB
RUNCQWdRSUhBaDRJQmN6Q0FFQVFJRUNCQWdRSUFBZ1lhQUE5TFlXVXNDQkFnUUlFQ0FBQUVDCkZ3
SU95TVVNUWhBZ1FJQUFBUUlFQ0JCb0NEZ2dqWjIxSkVDQUFBRUNCQWdRSUhBaDRJQmN6Q0FFQVFJ
RUNCQWdRSUFBZ1lhQUE5TFkKV1VzQ0JBZ1FJRUNBQUFFQ0Z3SU95TVVNUWhBZ1FJQUFBUUlFQ0JC
b0NEZ2dqWjIxSkVDQUFBRUNCQWdRSUhBaDRJQmN6Q0FFQVFJRQpDQkFnUUlBQWdZYUFBOUxZV1Vz
Q0JBZ1FJRUNBQUFFQ0Z3SU95TVVNUWhBZ1FJQUFBUUlFQ0JCb0NEZ2dqWjIxSkVDQUFBRUNCQWdR
CklIQWg0SUJjekNBRUFRSUVDQkFnUUlBQWdZYUFBOUxZV1VzQ0JBZ1FJRUNBQUFFQ0Z3SU95TVVN
UWhBZ1FJQUFBUUlFQ0JCb0NEZ2cKaloyMUpFQ0FBQUVDQkFnUUlIQWg0SUJjekNBRUFRSUVDQkFn
UUlBQWdZYUFBOUxZV1VzQ0JBZ1FJRUNBQUFFQ0Z3SU95TVVNUWhBZwpRSUFBQVFJRUNCQm9DRGdn
aloyMUpFQ0FBQUVDQkFnUUlIQWg0SUJjekNBRUFRSUVDQkFnUUlBQWdZYUFBOUxZV1VzQ0JBZ1FJ
RUNBCkFBRUNGd0lPeU1VTVFoQWdRSUFBQVFJRUNCQm9DRGdnaloyMUpFQ0FBQUVDQkFnUUlIQWg0
SUJjekNBRUFRSUVDQkFnUUlBQWdZYUEKQTlMWVdVc0NCQWdRSUVDQUFBRUNGd0lPeU1VTVFoQWdR
SUFBQVFJRUNCQm9DRGdnaloyMUpFQ0FBQUVDQkFnUUlIQWg0SUJjekNBRQpBUUlFQ0JBZ1FJQUFn
WWFBQTlMWVdVc0NCQWdRSUVDQUFBRUNGd0lPeU1VTVFoQWdRSUFBQVFJRUNCQm9DRGdnaloyMUpF
Q0FBQUVDCkJBZ1FJSEFoNElCY3pDQUVBUUlFQ0JBZ1FJQUFnWWFBQTlMWVdVc0NCQWdRSUVDQUFB
RUNGd0lPeU1VTVFoQWdRSUFBQVFJRUNCQm8KQ0RnZ2paMjFKRUNBQUFFQ0JBZ1FJSEFoNElCY3pD
QUVBUUlFQ0JBZ1FJQUFnWWFBQTlMWVdVc0NCQWdRSUVDQUFBRUNGd0lPeU1VTQpRaEFnUUlBQUFR
SUVDQkJvQ0RnZ2paMjFKRUNBQUFFQ0JBZ1FJSEFoNElCY3pDQUVBUUlFQ0JBZ1FJQUFnWWFBQTlM
WVdVc0NCQWdRCklFQ0FBQUVDRndJT3lNVU1RaEFnUUlBQUFRSUVDQkJvQ0RnZ2paMjFKRUNBQUFF
Q0JBZ1FJSEFoNElCY3pDQUVBUUlFQ0JBZ1FJQUEKZ1lhQUE5TFlXVXNDQkFnUUlFQ0FBQUVDRndJ
T3lNVU1RaEFnUUlBQUFRSUVDQkJvQ0RnZ2paMjFKRUNBQUFFQ0JBZ1FJSEFoNElCYwp6Q0FFQVFJ
RUNCQWdRSUFBZ1lhQUE5TFlXVXNDQkFnUUlFQ0FBQUVDRndJT3lNVU1RaEFnUUlBQUFRSUVDQkJv
Q0RnZ2paMjFKRUNBCkFBRUNCQWdRSUhBaDRJQmN6Q0FFQVFJRUNCQWdRSUFBZ1lhQUE5TFlXVXND
QkFnUUlFQ0FBQUVDRndJT3lNVU1RaEFnUUlBQUFRSUUKQ0JCb0NEZ2dqWjIxSkVDQUFBRUNCQWdR
SUhBaDRJQmN6Q0FFQVFJRUNCQWdRSUFBZ1lhQUE5TFlXVXNDQkFnUUlFQ0FBQUVDRndJTwp5TVVN
UWhBZ1FJQUFBUUlFQ0JCb0NEZ2dqWjIxSkVDQUFBRUNCQWdRSUhBaDRJQmN6Q0FFQVFJRUNCQWdR
SUFBZ1lhQUE5TFlXVXNDCkJBZ1FJRUNBQUFFQ0Z3SU95TVVNUWhBZ1FJQUFBUUlFQ0JCb0NEZ2dq
WjIxSkVDQUFBRUNCQWdRSUhBaDRJQmN6Q0FFQVFJRUNCQWcKUUlBQWdZYUFBOUxZV1VzQ0JBZ1FJ
RUNBQUFFQ0Z3SU95TVVNUWhBZ1FJQUFBUUlFQ0JCb0NEZ2dqWjIxSkVDQUFBRUNCQWdRSUhBaAo0
SUJjekNBRUFRSUVDQkFnUUlBQWdZYUFBOUxZV1VzQ0JBZ1FJRUNBQUFFQ0Z3SU95TVVNUWhBZ1FJ
QUFBUUlFQ0JCb0NEZ2dqWjIxCkpFQ0FBQUVDQkFnUUlIQWg0SUJjekNBRUFRSUVDQkFnUUlBQWdZ
YUFBOUxZV1VzQ0JBZ1FJRUNBQUFFQ0Z3SU95TVVNUWhBZ1FJQUEKQVFJRUNCQm9DRGdnaloyMUpF
Q0FBQUVDQkFnUUlIQWg0SUJjekNBRUFRSUVDQkFnUUlBQWdZYUFBOUxZV1VzQ0JBZ1FJRUNBQUFF
QwpGd0lPeU1VTVFoQWdRSUFBQVFJRUNCQm9DRGdnaloyMUpFQ0FBQUVDQkFnUUlIQWg0SUJjekNB
RUFRSUVDQkFnUUlBQWdZYUFBOUxZCldVc0NCQWdRSUVDQUFBRUNGd0lPeU1VTVFoQWdRSUFBQVFJ
RUNCQm9DRGdnaloyMUpFQ0FBQUVDRldFZ0ZRQUFBUTVKUkVGVUJBZ1EKSUhBaDRJQmN6Q0FFQVFJ
RUNCQWdRSUFBZ1lhQUE5TFlXVXNDQkFnUUlFQ0FBQUVDRndJT3lNVU1RaEFnUUlBQUFRSUVDQkJv
Q0RnZwpqWjIxSkVDQUFBRUNCQWdRSUhBaDRJQmN6Q0FFQVFJRUNCQWdRSUFBZ1lhQUE5TFlXVXND
QkFnUUlFQ0FBQUVDRndJT3lNVU1RaEFnClFJQUFBUUlFQ0JCb0NEZ2dqWjIxSkVDQUFBRUNCQWdR
SUhBaDRJQmN6Q0FFQVFJRUNCQWdRSUFBZ1lhQUE5TFlXVXNDQkFnUUlFQ0EKQUFFQ0Z3SU95TVVN
UWhBZ1FJQUFBUUlFQ0JCb0NEZ2dqWjIxSkVDQUFBRUNCQWdRSUhBaDRJQmN6Q0FFQVFJRUNCQWdR
SUFBZ1lhQQpBOUxZV1VzQ0JBZ1FJRUNBQUFFQ0Z3SU95TVVNUWhBZ1FJQUFBUUlFQ0JCb0NBeFFz
ZXlVcU9JdWZBQUFBQUJKUlU1RXJrSmdnZz09CgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLWxlb3BhcmQvc3ZnL2JhdGlrL3RleHQvdGV4dEVmZmVjdC1leHBlY3RlZC5wbmcKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1p
bWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVV
Z0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFETzJsRFExQkpRME1nVUhKdlptbHNaUUFBZUFHRgps
RXRvMUZBVWh2K01LWUswZ3FpMUZwVGdRb3UwSlQ3UWlsRGJhYlhXa1hFWSs5QWl5RFJ6WnhwTk16
R1pHUitJU0VIYytWcUtHeCtJCml5cmlRcnBRY0tVTGtVTHJhMUVFY2FVaWlFSTNVc2IvSnUxTUts
WXZKUGx5em4vUDY0WUFWUTlUam1ORk5HRFl6cnZKcnFoMjZQQ0EKdG5nQ1ZhaEJOYmhTaHVlMEp4
TDdmYVpXUHVldjZiZFFwR1d5U2NhSzlSMlkrTFJ0OWYxTGoyTHY2NTcyK3A3NStubHZOUzRUQW9w
Rwo2NHBzd0ZzbER3YThWL0xKdkpPbjVvaGtZeWlWSmp2a1JyY24yVUcrUVY2YURmRmdpTlBDTTRD
cU5tcHlodU15VG1RRnVhVm9aR1hNClViSnVwMDJiUENYdGFjOFlwb2I5Um43SVdkREdsWThCcld1
QVJTOHJ0Z0VQR0wwTHJGcGZzVFhVQVN2N2diRXRGZHZQcEQ4ZnBYYmMKeTJ6WjdJZFRxcU9zNlVP
cDlITTlzUGdhTUhPMVZQcDFxMVNhdWMwY3JPT1paUlRjb3E5bFljb3JJS2czMk0zNHlUbGFpSU9l
ZkZVTApjSk56N0Y4Q3hDNEExejhDR3g0QXl4OERpUnFnWndjaTU5bHVjT1hGS2M0RjZNZzVwMTB6
TzVUWE51djZkcTJkUnl1MGJ0dG9idFJTCmxxWDVMazl6aFNmY29rZzNZOWdxY003K1dzWjd0YkI3
RC9MSi9pTG5oTGQ3bHBXUmRLcVRzMFF6Mi9xU0ZwMjd5WTNrZXhselR6ZTUKZ2RkVXh0M1RHN0N5
MGN4Mzl3UWM2Yk90T005RmFpSjE5bUQ4QUpueEZkWEpSK1U4Skk5NHhZTXlwbTgvbHRxWElOZlRu
anllaTBsTgpMZmUyblJucTRSbEpWcXd6UXgzeFdYN3RGcEl5N3pwcTdqaVcvODJ6dHNoekhJWUZB
Uk0yN3pZMEpOR0ZLSnJnd0VVT0dYcE1La3hhCnBWL1Fhc0xEOGI4cUxTVEt1eXdxdXZDWmV6Nzdl
MDZnd04weWZoK2ljWXcwbGlObytqdjltLzVHdjZuZjBiOWVxUzgwVkR3ajdsSFQKR0wvOG5YRmxa
bG1OakJ2VUtPUExtb0w0QnF0dHA5ZENsdFpoWGtGUFhsbmZGSzR1WTErcEwzczBtVU5jakUrSHVo
U2hURTBZWkR6Wgp0ZXkrU0xiNEp2eDhjOWtXbWg2MUw4NCtxYXZrZXFPT0habXNmbkUyWEExci83
T3JZTkt5cS9Ea2paQXVQR3VocmxVM3FkMXFpN29ECm1ycExiVk5iMVU2KzdWVDNsM2YwY2xZbVRy
SnVsOVduMklPTjAvUldUcm95V3dUL0ZuNHgvQzkxQ1Z1NHBxSEpmMmpDeldWTVMvaU8KNFBZZmQw
ajVML3dOQVlVVkRYeExPenNBQUNBQVNVUkJWSGdCN0owSFlCekYxY2ZmbmJvbHk1YmNHd2JUZTYr
QlVFSUxKUjg5aEdvSQpQUkI2YjZiM0VFd0hBd1ljT2lTVWtJUm0wd0toSjNRYkc5dTQyN0xscGk3
dDkvNnpPM3Q3cDd2VDNlbDBzcmovd0dsbnA3eVorYzJ1Cjk3MmRzaUZIbmRDUkFBbVFBQW1RQUFt
UUFBbVFBQW1RUUE0SWhITlFCb3NnQVJJZ0FSSWdBUklnQVJJZ0FSSWdBVU9BQmdndkJCSWcKQVJJ
Z0FSSWdBUklnQVJJZ2dad1JvQUdTTTlRc2lBUklnQVJJZ0FSSWdBUklnQVJJZ0FZSXJ3RVNJQUVT
SUFFU0lBRVNJQUVTSUlHYwpFYUFCa2pQVUxJZ0VTSUFFU0lBRVNJQUVTSUFFU0lBR0NLOEJFaUFC
RWlBQkVpQUJFaUFCRWlDQm5CR2dBWkl6MUN5SUJFaUFCRWlBCkJFaUFCRWlBQkVpQUJnaXZBUkln
QVJJZ0FSSWdBUklnQVJJZ2dad1JvQUdTTTlRc2lBUklnQVJJZ0FSSWdBUklnQVJJZ0FZSXJ3RVMK
SUFFU0lBRVNJQUVTSUFFU0lJR2NFYUFCa2pQVUxJZ0VTSUFFU0lBRVNJQUVTSUFFU0lBR0NLOEJF
aUFCRWlBQkVpQUJFaUFCRWlDQgpuQkdnQVpJejFDeUlCRWlBQkVpQUJFaUFCRWlBQkVpQUJnaXZB
UklnQVJJZ0FSSWdBUklnQVJJZ2dad1JvQUdTTTlRc2lBUklnQVJJCmdBUklnQVJJZ0FSSWdBWUly
d0VTSUFFU0lBRVNJQUVTSUFFU0lJR2NFYUFCa2pQVVA2K0NaczZjS1kyTmpUK3ZScTNpcmZucHA1
OWsKM3J4NXEzZ3RXVDBTSUFFU0lBRVNJQUVTU0U2QUJraHlQb3dORUhqeXlTZGwvLzMzbC83OSs4
dklrU09sdkx4YzFsOS9mZm5yWC84YQpTSlZkNys5Kzl6djUxYTkrNVF1dHFxcVNtMjY2eVQvUGxt
ZlJva1V5ZnZ6NGJJbExTMDVzRzJNenc5aGJmZlhWWmJYVlZwUE5OOTljCllobVVsSlRJblhmZTZX
ZnJ6cmI0bFVqRDB4WDE3UXFaYVRTSlNVbUFCRWlBQkVpQUJKSVFvQUdTQkE2aklnUW1USmdnUng1
NXBGRisKSDMzMFVaazhlYks4K3VxcnN0bG1tOGxCQngwa1k4ZU9qU1R1UWgvcXNQSEdHMmU5aEpO
UFBsbWVlZWFack12TmhzQUhIbmhBNXN5WgpJKys4ODQ1ODhza25waCtTTVZpVjJ4S1BSMWZVdHl0
a3hxczd3MGlBQkVpQUJFaUFCTkluVUpoK0Z1YklOd0p2dmZXV0hIZmNjV2JrCjRmenp6L2Vidi9i
YWE4dWVlKzRweGNYRmNzTU5Od2lVUHJ5TjcwcDMxMTEzZFluNHRyWTJDWVZDWFNLN3MwSVhMRmdn
RzI2NG9leTAKMDA1R1ZFY01WdVcyeEdQUkZmWHRDcG54NnM0d0VpQUJFaUFCRWlDQjlBbHdCQ1I5
Wm5tWEE2TWZ3NGNQbDNQT09TZHUyeSs1NUJJNQo0NHd6cEw2KzNzVHZ1T09POHRKTEw4bjIyMjh2
YTYyMWx2empILytRcHFZbXVmamlpMldUVFRZeFU3ZldXV2NkT2V1c3M2U3VyczZYCkNhWHg2cXV2
TmlNY21HNTA1WlZYQ3NLQ2J0ZGRkeFdNd0FUZHd3OC9MRnRzc1lYMDd0MWJ0dGxtRzNuNTVaZUQw
Ykx6emp2TGE2KzkKWnVvNFlzUUl3ZSs4ODg2VDV1Wm1rKzZQZi95alRKbzBTZDU3N3ozWmFxdXRa
TzdjdVZINWNaSksvVHNxQjNKU2FTUFNXWWZSSlV4eAp3NGdUNnZiODg4OUxQQVkyZmFLMmRNUW9Y
cDlabWZiWTJ0b3FmLzd6bjJXRERUYndXY2RPdjB1RmdaV0hZeWIxL2R2Zi9tWllvRSt0CisrQ0RE
MHpZaXkrK21GQ21UY3NqQ1pBQUNaQUFDWkJBTnhOdzZFaWdBd0w2OXQwNTlOQkRPMGdWaWU3VnE1
Y3piTmd3NXhlLytJV3oKeno3N09KOS8vcm56MjkvKzF0RzFJODZOTjk3b1BQdnNzODd4eHgvdjZL
WHZxSkhoWjd6MjJtdWRzckl5NTdiYmJuTjBPcFNqQ3JlagpJeXJPYnJ2dDVxZnAyN2V2a1dFRGJy
MzFWcWVnb01ESVYrWGNVWVhXMFpFTTU0VVhYckJKbk1yS1NrY05LR2VISFhadzdybm5IdWZFCkUw
ODBaZDl5eXkwbWpTcXlqaG93amhwSHppT1BQT0lzWDc3Y3oyczlxZFMvbzNJZ0s1VTIyakp4UkR0
KytjdGZPbXVzc1lhcDIzZmYKZmVmRU10QVJLRWVud0psczhkcVNDcU40ZlJhc0IveVhYWGFaVTFo
WWFJNnE2UHNjZGUyTW56UVZCbjVpOVdSUzM1YVdGbWZycmJkMgoxbHh6VFVlTlh2TmJkOTExemZX
bVJsSmNtY0V5NlNjQkVpQUJFaUFCRXVoZUF0Szl4YlAwVlowQWxQRndPT3pveUVSVVZaY3NXZUo4
CisrMjM1dmZOTjk4NCtOWFUxSmcwVUdaMWJZZ0RaUkJ1NWNxVnprWWJiZVRjZmZmZDV0eisyWFRU
VFowOTl0akRuQzVjdU5BWUVuZmMKY1llTmRoWXZYdXpvUW5kSDMvajdZVUhsdTdhMjF1blRwNDl6
N0xISCt2SHd3RmpTNldGK0dKVGlMYmZjMHRIUkJ6OXMyMjIzZFhiZgpmWGYvL0lBRERqREdraDhR
OEtSU2Z5VHZxSnhVMnhnbzJuaFBPT0VFUjBkMi9PQWdBd1FHRFJDY0I5dVNLcVBZUG9PY29OTWR1
SnlpCm9pTG51dXV1Q3dZN1J4eHhoRE40OEdCSFI0aE1lRWNNb2pKN0o1blU5OHN2dnpUdHZ1cXFx
NXdMTHJqQVhDYy8vUENETHo0bzB3K2sKaHdSSWdBUklnQVJJWUpVZ3dEVWczVHdDdGFvWHIxZXBx
YUtkWG1YcisvVFRUOHNwcDV4aVQ4M3hUMy82azV4OTl0bkdqL1VLYXJnWQp2eXEzb2dxajhVUGU5
T25UNVlzdnZqRFRrVlM1TitHSXh4U2ZBdzg4MEp6akQzWjcybXV2dlVTTkhUOHM2SUdNcFV1WGly
NE5sMDgvCi9kU1B3aFFoSFdVUjdJU0VIYnZnTUcwcHVNWUQ2MWN3clNrVmwwcjlyWnhrNVdUU1Jp
czMwMk02aklKOUZsc2U1R0RLMnRGSEh4MFYKZGN3eHg4Z1RUendoVTZkT2xmWFdXOC9FSldNUWxU
bk9TYXIxVllOV0xyMzBVdEVSTlRNOUR1dGlkRVFramtRR2tRQUprQUFKa0FBSgpyR29FYUlDc2Fq
MnlpdFVINnlxdzFhNU9vNHFxbVU2dE1ydGdJUkRmQXdrYURnakRPb3VnKy9qamowV244TWo3Nzc4
dk1EcXdCZ1RyClB5b3FLa3d5YXd6bzIvUmdOdEdwWEFrTkVCZ3ljS2VmZnJvNXh2NUJ2RFZBQmd3
WUVCVmRXbHJhYm4xSlZJS1lrNDdxYjVNbkt5ZVQKTmxxNW1SN1RZUlRiWjhFeWYvenhSMlBBRFIw
Nk5CaHMxZ1loWVBiczJiNEJrb3hCVk9ZNEorblVGOFl1TmovQU5UUjY5T2c0MGhoRQpBaVJBQWlS
QUFpU3dLaExnSXZSVnNWZFdzVHJwZENVend0RFEwT0RYRE1ycXIzLzlhL1BES0VXczA3VUNmaEEr
bm9mZHNuUTZsNHdiCk44NXNLZnY5OTkrYmIxcllSRmprRGhjNzJyRml4UXFicE4wUkl5Unc3Nzc3
cmpGcVlOZ0VmMWlZYmwxdzlNT0dwWHBNcGY1V1ZySnkKTW1tamxadnBNUjFHd1Q2TExhOWZ2MzZZ
cmlrNnBTc3FTcWZkbWZOUm8wYjU0Y2tZK0lrU2VOS3ByNjZuRVowV1prYk9zR0VCSFFtUQpBQW1R
QUFtUVFNOGdRQU9rWi9SVHQ5WVMwMnd3MWVtd3d3NFRYUURjcmk3MnpYNjdDQy9nN2JmZk5vb3Jq
SS9ERHo5Y2hnd1pZa1lmCnZ2NzZhNk04SWhtK0p3SUhZOEk2S0x3ZmZmU1JQVzEzeE1nTUhIYmN3
alFwKzhQM1BEQTl6TzV5MVM1am5BQW96YkU3YnRsa3FkVGYKcGsxMnpLU055ZVFsaWd1MkpWdU1N
SzBORHJ1RkJSM09NUUtCRHlWbTZqS3A3NGNmZmlpNldZRVpBY0hPYWZBanpMcWdUQnZHSXdtUQpB
QW1RQUFtUXdLcEJnQWJJcXRFUHEzUXRzTFVxMW54Z08xMThsUnhic1dJcUZiNk1mdXFwcDVvMUdE
QXFzQllqbnR0dXUrM01laEFZCkJoaEZ3VGEzSjUxMGtreWJOczNmaGhkVHJmQkZjRjFRYktaNzRl
dmZTQU1qSlpIRE9nNWRjQzdZWWxaM3R6S2pKNisvL3JyWmhoV2oKRGVsOGt3Ukt0QzZxTndaUTdI
cVhWT3FmcUk3QjhFemFHTXlmcWovWUZuRElCaU1ZVDN2dnZiZlp2aGlLUHFiZHdmQ0Q0ZzlqRHdw
LwpwaTdkK3VJYXduZHBNREtINnc5YitXSzBDMkYybEM0b003WS9NNjBuODVFQUNaQUFDWkFBQ1dT
SEFBMlE3SEQ4MlV2UlhZVUUzMS9BCm1nb3MvTVYzSS9CVmNueUxBZDhId1pRcWhNVnpJMGVPbERG
anhwanBWN3BybFhsYmpqVVlVRjR4ZW1LblhjR1F3TGN1ZFB0ZWt3WUcKQVJZOUoxTnU4Wlh3ZmZm
ZFY4NDg4MHlwcnE0VzNSSExqTEpjZnZubDhhcVNNQXlqUEtpSGJubmJidFFsMWZvbkZCNkl5S1NO
Z2V3cAplV1Bia2kxR2p6Lyt1TjgvdWwyeTZIYkd4Z0RRN1l4VHFsZWlST25XRjJ1SllMdysrT0NE
eHJEVmJaak50YVc3WUpsMVJpZ25WbWFpCnNobE9BaVJBQWlSQUFpU1Fld0lobmViaWJuT1UrN0pa
WWc4bWdNWENXQmVBUmVxcE9seHF5SWUzOHBpN244amhqVFdtZk1VdVNFK1UKSHVINFVDQVdRcSt1
VTRHU0dTekpaS0IrTUVKZ3lNUnpxZFkvWHQ3WXNFemFHQ3NqMlhtOHRtU0RFY3BFM2JFdVJyOU5r
cXdLYWNWMQpSWDNqeVV5clVreE1BaVJBQWlSQUFpVFFKUVJvZ0hRSlZnb2xBUklnQVJJZ0FSSWdB
UklnQVJLSVI0QlRzT0pSWVJnSmtBQUprQUFKCmtBQUprQUFKa0VDWEVLQUIwaVZZS1pRRVNJQUVT
SUFFU0lBRVNJQUVTQ0FlQVJvZzhhZ3dqQVJJZ0FSSWdBUklnQVJJZ0FSSW9Fc0kKMEFEcEVxd1VT
Z0lrUUFJa1FBSWtRQUlrUUFJa0VJOEFEWkI0VkJoR0FpUkFBaVJBQWlSQUFpUkFBaVRRSlFSb2dI
UUoxcTRWdW56NQpjc0dIK240dWJ0bXlaVEpyMXF5ZlMzUGF0ZU9ubjM0eTI5YTJpL2laQjNSMXYr
SWV3QWNSMDNGZDNSZmZmUE9OWVB0Zk9oSWdBUklnCkFSSWdnY1FFYUlBa1pyUEt4dURMejIrLy9i
YXBINzVNamcvM3hYTklnMjlpdlBubW0vR2k0NFpWVlZYSlRUZmRGRGN1MjRINHVqcSsKSllHUEU0
NFlNY0ljRHpua0VQL0RoTmtxYjlHaVJUSisvUGhzaVV0WkRoUmtmSmRrdGRWV2s4MDMzenpsZkIw
bDdLNzJvRjc0V2oydQp1V1F1bFg3ZGJiZmRESnRFeXZxWFgzNXBydDIvL09VdlVVVTkrZVNUc3Yv
Kys1c1BZdUlEa2VYbDViTCsrdXZMWC8vNjE2aDBzU2U1CjZvdHJyNzFXbm5ubW1kamllVTRDSkVB
Q0pFQUNKQkFnUUFNa0FLTW5lS0dZL2U5Ly81T2pqanFxUzZxTHI1dHZ2UEhHWFNJN0tQU3AKcDU0
eVh5ekhsOGVmZmZaWmVmLzk5K1c4ODg2VER6NzRRTGJkZGx0cGFXa0pKdStVLytTVFQrNFdwUkJm
SUo4elo0Njg4ODQ3OHNrbgpuM1NxRGNITTNkV2VZQjBTK1ZQdFYzeXhmc2FNR2ZLZi8vd25yaWdZ
SHZqSTVZRUhIdWpIVDVnd1FYQjl3a2grOU5GSFpmTGt5ZkxxCnE2L0tacHR0SmdjZGRKQ01IVHZX
VHh2cnlWVmYzSERERFRKbXpCaHBibTZPclFMUFNZQUVTSUFFU0lBRVBBS0ZKTkd6Q0Z4MDBVVnkK
Mm1tblpmeTE3NDVhZTlkZGQzV1VKQ3Z4VHp6eGhHeTY2YVptWk1KK3VYeUhIWFl3WDBrLy92amo1
ZDEzMzVWZGQ5MDFLMlcxdGJWMQpHYTlrRlZ5d1lJRnN1T0dHc3ROT095VkxsblpjZDdVbmxZcW0y
cThISDN5dy9PRVBmeENNbG15MzNYWlJvakVxZ3BHT3d3NDdUSHIxCjZtWGkzbnJyTFRudXVPUE02
Tno1NTUvdnAxOTc3YlZsenozM2xPTGlZb0h5RCtPc3BLVEVqN2VlWFBVRlJtVTIybWdqdWUrKysr
U00KTTg2d3hmTklBaVJBQWlSQUFpUVFJTUFSa0FDTVZkMkxOK24vK3RlLzVEZS8rVTNHVmYzNDQ0
OWw1NTEzTm0rWE1mMEpTdDJTSlV0OAplVkQ2OFhiWk9xUjk3YlhYakRLRmFWTDRZYVFpK0lZWEN2
RTExMXhqM2tRUEdUSkVNRVhzd1FjZmxOLys5cmRXVEx0amEydXJyRml4Cm9sMDRSbmJ3OWh1S0hO
ejExMTh2ZSsrOWQ3dDBVRUpSRGx5eU5pSE5wRW1UNUwzMzNwT3R0dHBLNXM2ZGEvSTgvUEREc3NV
V1d4Z08KMjJ5empiejg4c3NtM1A1QnU4SDZsRk5PRWJRSnhoS1U1YnE2T2hrOWVyUU1HalJJOXR0
dlA1azRjYUxORW5YRUczbE1DOEpiZXBUNwovUFBQQzlyODV6Ly9XVGJZWUFPLzNOaXBReDN4VHRT
ZVlPRk5UVTF5OGNVWHl5YWJiR0ttS0syenpqcHkxbGxubWJyYmRCMlZnM1RvCjE2dXZ2dHFNaUdF
YTJaVlhYbW5Dckl4NHgxVDd0YUtpd294YVlQUUw1UVFkK2dwVHBqQktZaDFHUDRZUEh5N25uSE9P
RFlvNlhuTEoKSmVZYXJhK3Zqd3JIU2E3N0FxTTJ1Qi9pWGQvdEtzY0FFaUFCRWlBQkVzaEhBdnEy
a2E2SEVMamdnZ3NjZlZzY1ZWdWRTKy9veUVGVQptRDFSeFJ1cllaMDMzbmpEQktsQzVQVHYzOTlS
aGQ3UnFUS09UbGx4Qmc4ZTdQejYxNysyV1p5K2ZmczZOOTU0bzM5ZVdWbnBxT0puCnlyam5ubnVj
RTA4ODBjaTg1WlpiL0RTcXBEcGxaV1VPd2xTaE5HbDFicjZqYjRMOU5MRWVWU2lOSEZYK25mdnZ2
OS9SeGNHeFNjejUKUC8vNVQ1UHVvNDgrOHVQVkNIQlVnVFg1T21xVEdrK09HaHFPS3VQT0k0ODg0
dWdDZnVmV1cyOTFDZ29LSERXUUhEVU1IRlhxSFIyRgpjVjU0NFFXL0RMUmJEUTlIalQxVGprNExN
MjNVOVRiT3Z2dnU2K2lVSGtjTkMyZXR0ZGJ5OHdROWtLWFR5eHcxOGt5NTMzMzNuWFBaClpaYzVo
WVdGNXZqaWl5LzZMSFY5aXArMUk5N3gydU5uOWp4b0Yvb1ovWWorMEJFbHcxQU5DRDlwUitVZ29h
NW5NRzIrN2JiYkhGM1gKWU5xcm93c09ycmxFTHRWK1JYNWNsN2crZGExU2xEZzErcHcxMTF3ektr
eEhrcHhERHowMEtpelZrMXozaFJyMHBsMXFuS1phUmFZagpBUklnQVJJZ2did2lnQjFiNkhvSUFT
akRPZ2MrcXJicEdDQTYzOTRvUnA5Ly9ya3ZBd29xRkhCOUMyM0M0aGtnVzI2NXBSK1BSRkRHCmQ5
OTlkNU5lUnhTTU1oOVVibGV1WE9rTUhEalFnZEtZek9rb2lhUHorVTJkb0lqcVltTG5paXV1Y0pE
Zk9sMEw0dWhvZzZNakhqYkkKS01NNjVjYXBxYWx4VW1uVEFRY2M0T3l6eno0bWYyMXRyYU9MM2gx
OXUrN0xnd2ZLclU3bjhjT2dvT3ZDY1VkSGVreVlydUV3OVlReApZOTJISDM1b3dyNy8vbnNiRkhV
ODRZUVRIQmhZY0RDd2lvcUtuT3V1dXk0cXpSRkhIR0dNUUIyMU1PRW9OeGx2SkFxMkowcVlub0Fk
CkRMKzc3NzQ3S2twSGNKdzk5dGpERCt1b25JVUxGNXArdmVPT08vdzhpeGN2ZG1CWTZpaVpIeGJQ
azBxL0lwK09saGpqVnFjVSttTEEKb1YrL2ZnNk1XdXRnTkliRDRhZ3d4RUhSLy9iYmI4MVBkNTl5
OE1NMUVjL2x1aStxcTZzZEdPeDBKRUFDSkVBQ0pFQUM3UWx3Q2xZUApHdmJTdCtneWJOaXdsR3Vz
M1IyVkZsTi9NS2RlbFczUlVRQXpQUWk3VHFtU21YU05CS1psMlhVYUVJaDU5OWhpRmU2TEw3NHdV
NHN3CkQ5ODZsSUdkaWpweXFoU2FSZHAvLy92ZnpmUVpUT3ZDbEI4c1RKODNiNTdKcmlNVlpyRTZw
dXBZaDZsUW1KYWxTcDZaenBST20xRGYKcFV1WHl0WmJieTJmZnZxcC93T2JLVk9tQ0hhWXNnNXJV
blRFd3B6YWhmazZXbVNqWmVqUW9jYVBmQjA1bEl2MkhYMzAwVkZKanpubQpHTlBXcVZPbit1SEpl
UHVKRW5qQUFoc1ZZSjBRK3YvSEgzODBVOEV3elVtTms2aGN5Y3FCREV5bkNpNEN4K0x2dmZiYUsw
cEd2Sk5VCitoWDUxS2d3UEo1NzdqbFRGc0l3N1UwTkhRRVg2K3gxSER1OUN0Y0Jkc0RDRC8ySFgz
RDZvTTBmZTh4RlgrQSt4ZjFLUndJa1FBSWsKUUFJazBKNEFEWkQyVEZiSkVDaVEwNlpOTTJzUGdo
WFVxVS9TME5BUURQTDkrRjRJbkw1Uk5rZk11NGVDaDBXNldFT3g3cnJybXZuOQpDRXZtQmd3WUVC
VmRXbHJxejl1SGtnVkZFdXNvZ2c3ckpsSnhrS1dqRTJZSEl5anlqejMybUZHZ2d6c2FZVjNJOU9u
VFJhZGhtWG4xCjJQbElSdzZNK0hUYkJEbHdwNTkrdWxtYmdmVVorRjExMVZVbTNNYmpKR2pzd1JD
Q3c3b1o2Nnh4WXMrVEhXRUl3SWl6Um90TmkzVU4KY0xObno3WkJrb3kzbnlpSkIydGlZQ2hnRjZs
Um8wWUpOaTdBT2grcnlOdXN5Y3JCMmhVNG5hSm5rNXRqa0VsVVJNeEpLdjJLTERBMApzRUFjNjNU
Z3NQNW5sMTEyOGRjQUlRenRnSkdoSTNjNDlSMnVHMXdMK01XdXBmRVR4Zkhrb2kvQTdZY2Zmb2hU
T29OSWdBUklnQVJJCmdBUm9nUFNRYXdCS1Bnd0hPekpncXczall2NzgrZlkwNm1nWFhFTUp0VzdI
SFhlVXI3NzZTblRxaXR4ODg4MkNCY3U2cHNGc2lXclQKeEI2RG94K3hjYnJXd0JnajF0aXg4Y0dS
QkJ0bWozamJyMU8wak9Kb3crd1JJd1JRUUxFTGxuVXdFTENRR2d1NVgzbmxGWUV4RUZ5SQpuMDZi
OEJZZkR2SXhJaEQ3dzhKMDY5SXhNR3llUkVmMEV3d0FuUUlXbFVTbkRKbnpZQjhsNHgyVk9jNEpy
ZytNUnFFL3hvMGJaMGFZCmRJcFkzTytRSkN2SEdrYkJEUXBRWExLRjFlbjJLK1N0dDk1NnhuakZh
QWI2NHFXWFhwTFJ1c2cvMW1GclpveFlCWTF0YklpQUVTbjgKVWhtWnNUSnowUmZvQjd3Y29DTUJF
aUFCRWlBQkVtaFBnQVpJZXlhcmJBamVxdG8zMDdhU1VNN3g5aHpibE1ZNlhYeHIzcWJyZkg4VApw
V3NXek01TlVDcWgrR0VVQk51bVlxcE43TnZsV0ZtSnpqSHlBVVZXRjR2N1NTRHY5ZGRmOTg5alBi
ckFXSFE5aE9EYkRFZ2JkRGpICkcycHNaUnAwK1A0RGpBKzg3Y2EwSUt2Y3BkSW0xTS91dElRMzZY
QlFkREZkeWY3dzhUanNlQlhjM1N0WWZtZjltQjRFWjkvMFczazQKeHlqTzZxdXZib002UEFiYkU1
c1lINStFa1FQajQvREREemM3ZUtIdFgzLzlkVHZXc1htRDUvaTJCbHpRRUlRQmhWR29SQzZUZm9V
cwpYWTlqK2dOOUMwTWJXL1RHT295VVlPb2N0dWFOOTQyWTJQc2lObi93dkt2N0Fwd3craEU3ZWhT
c0EvMGtRQUlrUUFJa2tNOEVhSUQwCm9ON0g5eEppRlMyOExjWlh0cUdZM1g3NzdlYURmdi80eHov
TVcyUnNueHVjeW9SMURKaWVnMjEwTWRVSUl5UzZBNU1aVWRoKysrMHoKSW9HUkNXeTNlK3FwcDRy
dThtU213bUFOQjZhTEpYdkRyanQ2R2FVVGI2NGZmL3h4VXkrTWNPaENhWmsxYTFiVUdnQlVEQWFJ
TGpJMgo4dTMwSzRTbjBpWW8rQmp4Z1RLTk4vdFlBNE50ZUhXUnNKbWFCR01KMjlzaUx0NDNKRkJP
WngwVWVxeGJBWHNZVFkyTmphYjl1c09VCk1YeVNzWW90TzlpZTJIVVJ1RWFneE1PZ3dtZ0Irdmlr
azA0eS9ZRXRoRk4xbUdxRnI1NmpuMkNjWWx0Y3lJRWhrOHlsMjYrUUJVTUoKUmpHbXdXRk5FcjV1
SHV1d2JUQkdTWEJ0NDB2czJNNFlINi9FOTBKdzdXRk5ENmI5NGRpUjYrcSswQTBIQlAyUzZUM1ZV
ZjBaVHdJawpRQUlrUUFJOW5vQytyYVBySVFSMHRNTEI3azg2VlNXcXh0aUpTcjlKWWJaZTFRdlNi
UFdLM1pkaWQwSkNKcDByNzJBcldXd0hpN1NxCmREdXExUG55NHUyQ3BWTzEvSGg0c0tPUWpyejRZ
YXJvbXAyMDlOc2RadmNyN0dxRTNaMVVHZlRUeFBOZ2ExZnNsSVhkb1ZBWEhMRUQKbEJwSjhaS2JM
WWl4dTViZG1jb202cWhOYW1BNDJQVUpaZWlJZzlrOVNkK28rd3l3M1M2MkY4YjJ2dFloZmJEZDJJ
MEwrWFZrd1NaeAo5Q3ZuSmt4SFp2eXdvQ2U0OHhMQ3NiT1VLdGhtUnljMU9BeXJDeSs4TUpqRjFE
TllMaUpqZWNlMkowcUFubUFIS1RVZ3pMV0M2MFUvCitPZGdLMTM0c1pNVlhHejdFQlpiamlyUmpo
cTJaaXRlMUJmWGpVNlJTN29OTCtTazI2L0lvOS9xTUN3NzJyb1dySkVXTzZPaFAxQXYKbmI3bWdL
TnVqQUJSY1YwdSswSy9LV1A2V0tjaHhxMExBMG1BQkVpQUJFZ2czd21FQUVBZjVIUTlnQURlbW1N
SzBkbG5uNTN3Szhzegpac3dRck11STl4WTUyRVRzWW9VNTk2a3VGZy9tRGZxeDFnQUwwZkZXR2RP
cXJNTWFEVXlud2c1WEhUbXNRMEc5TWFjZmk1Y1RPYnhSCnhodCtqUFRFYzhuYWhNc2NiOW14YzVa
MUtCZlQxekQ5S1owUkNKcy8weVBlam1PTlFIQkJlN3F5NHJVbktBUHhHT1hDcUU2d1g0SnAKVXZX
anZwaitsTzZVb2xUN05kVjZ4S1pEKzdDZUE0dlVNM1ZkMFJkWVV3VldEejMwVUtiVllqNFNJQUVT
SUFFUytGa1RvQUhTdzdvWAowNVF3alFjN1JtVnprWFNtR0xEZUFFb2dkbHJDRnJwWUlJNWR0YkJE
MFoxMzNtbTJnODFVTnZKaHZqOE1MNndQd0ZRdlRNUEMraFU2CkVsZ1ZDV0NEQngwcEVpejhUOWRn
V3hYYnd6cVJBQW1RQUFtUVFGY1FvQUhTRlZTN1dDWjJpVHI1NUpQTkhQMHVMaW9sOGZpT2lINDEK
Mnl6Z3hnaUdUalV5YXlvU2pWU2tKTlJMaEIyK3JDS0hOU2JYWEhOTk90bVpsZ1J5U2dBTDZqRktD
WU9jamdSSWdBUklnQVJJSUQ0QgpHaUR4dWF6U29WamdqWVhhV095OXFqanN0UFRaWjUrWmFVN1lH
VXUvTnA2MXFtSDBBMFpJY0l2Y3JBbW5JQkxJSW9Hbm5ucks3TkxXClZac1paTEdxRkVVQ0pFQUNK
RUFDM1VhQUJraTNvV2ZCSkVBQ0pFQUNKRUFDSkVBQ0pKQi9CTGdOYi83MU9WdE1BaVJBQWlSQUFp
UkEKQWlSQUF0MUdnQVpJdDZGbndTUkFBaVJBQWlSQUFpUkFBaVNRZndSb2dPUmZuN1BGSkVBQ0pF
QUNKRUFDSkVBQ0pOQnRCR2lBZEJ0NgpGa3dDSkVBQ0pFQUNKRUFDSkVBQytVZUFCa2orOVRsYlRB
SWtRQUlrUUFJa1FBSWtRQUxkUm9BR1NMZWhaOEVrUUFJa1FBSWtRQUlrClFBSWtrSDhFYUlEa1g1
K3p4U1JBQWlSQUFpUkFBaVJBQWlUUWJRUm9nSFFiZWhaTUFpUkFBaVJBQWlSQUFpUkFBdmxIZ0Fa
SS92VTUKVzB3Q0pFQUNKRUFDSkVBQ0pFQUMzVWFBQmtpM29XZkJKRUFDSkVBQ0pFQUNKRUFDSkpC
L0JHaUE1RitmczhVa1FBSWtRQUlrUUFJawpRQUlrMEcwRWFJQjBHM29XVEFJa1FBSWtRQUlrUUFJ
a1FBTDVSNEFHU1A3MU9WdE1BaVJBQWlSQUFpUkFBaVJBQXQxR2dBWkl0NkZuCndTUkFBaVJBQWlS
QUFpUkFBaVNRZndSb2dPUmZuN1BGSkVBQ0pFQUNKRUFDSkVBQ0pOQnRCR2lBZEJ0NkZrd0NKRUFD
SkVBQ0pFQUMKSkVBQytVZUFCa2orOVRsYlRBSWtRQUlrUUFJa1FBSWtRQUxkUm9BR1NMZWhaOEVr
UUFJa1FBSWtRQUlrUUFJa2tIOEVhSURrWDUregp4U1JBQWlSQUFpUkFBaVJBQWlUUWJRUm9nSFFi
ZWhaTUFpUkFBaVJBQWlSQUFpUkFBdmxIZ0FaSS92VTVXMHdDSkVBQ0pFQUNKRUFDCkpFQUMzVWFB
QmtpM29XZkJKRUFDSkVBQ0pFQUNKRUFDSkpCL0JHaUE1RitmczhVa1FBSWtRQUlrUUFJa1FBSWsw
RzBFYUlCMEczb1cKVEFJa1FBSWtRQUlrUUFJa1FBTDVSNEFHU1A3MU9WdE1BaVJBQWlSQUFpUkFB
aVJBQXQxR2dBWkl0NkZud1NSQUFpUkFBaVJBQWlSQQpBaVNRZndSb2dPUmZuN1BGSkVBQ0pFQUNK
RUFDSkVBQ0pOQnRCR2lBZEJ0NkZrd0NKRUFDSkVBQ0pFQUNKRUFDK1VlQUJrais5VGxiClRBSWtR
QUlrUUFJa1FBSWtRQUxkUm9BR1NMZWhaOEVrUUFJa1FBSWtRQUlrUUFJa2tIOEVhSURrWDUrenhT
UkFBaVJBQWlSQUFpUkEKQWlUUWJRUm9nSFFiZWhaTUFpUkFBaVJBQWlSQUFpUkFBdmxIZ0FaSS92
VTVXMHdDSkVBQ0pFQUNKRUFDSkVBQzNVYUFCa2kzb1dmQgpKRUFDSkVBQ0pFQUNKRUFDSkpCL0JH
aUE1RitmczhVa1FBSWtRQUlrUUFJa1FBSWswRzBFYUlCMEczb1dUQUlrUUFJa1FBSWtRQUlrClFB
TDVSNEFHU1A3MU9WdE1BaVJBQWlSQUFpUkFBaVJBQXQxR2dBWkl0NkZud1NSQUFpUkFBaVJBQWlS
QUFpU1Fmd1JvZ09SZm43UEYKSkVBQ0pFQUNKRUFDSkVBQ0pOQnRCR2lBZEJ0NkZrd0NKRUFDSkVB
Q0pFQUNKRUFDK1VlQUJrais5VGxiVEFJa1FBSWtRQUlrUUFJawpRQUxkUm9BR1NMZWhaOEVrUUFJ
a1FBSWtRQUlrUUFJa2tIOEVhSURrWDUrenhTUkFBaVJBQWlSQUFpUkFBaVRRYlFSb2dIUWJlaFpN
CkFpUkFBaVJBQWlSQUFpUkFBdmxIZ0FaSS92VTVXMHdDSkVBQ0pFQUNKRUFDSkVBQzNVYUFCa2kz
b1dmQkpFQUNKRUFDSkVBQ0pFQUMKSkpCL0JHaUE1RitmczhVa1FBSWtRQUlrUUFJa1FBSWswRzBF
YUlCMEczb1dUQUlrUUFJa1FBSWtRQUlrUUFMNVI0QUdTUDcxT1Z0TQpBaVJBQWlSQUFpUkFBaVJB
QXQxR2dBWkl0NkZud1NSQUFpUkFBaVJBQWlSQUFpU1Fmd1JvZ09SZm43UEZKRUFDSkVBQ0pFQUNK
RUFDCkpOQnRCR2lBZEJ0NkZrd0NKRUFDSkVBQ0pFQUNKRUFDK1VlQUJrais5VGxiVEFJa1FBSWtR
QUlrUUFJa1FBTGRSb0FHU0xlaFo4RWsKUUFJa1FBSWtRQUlrbVN5elRBQUFJQUJKUkVGVVFBSWtr
SDhFYUlEa1g1K3p4U1JBQWlSQUFpUkFBaVJBQWlUUWJRUm9nSFFiZWhaTQpBaVJBQWlSQUFpUkFB
aVJBQXZsSGdBWkkvdlU1VzB3Q0pFQUNKRUFDSkVBQ0pFQUMzVWFBQmtpM29XZkJKRUFDSkVBQ0pF
QUNKRUFDCkpKQi9CR2lBNUYrZnM4VWtRQUlrUUFJa1FBSWtRQUlrMEcwRWFJQjBHM29XVEFJa1FB
SWtRQUlrUUFJa1FBTDVSNEFHU1A3MU9WdE0KQWlSQUFpUkFBaVJBQWlSQUF0MUdnQVpJdDZGbndT
UkFBaVJBQWlSQUFpUkFBaVNRZndSb2dPUmZuN1BGSkVBQ0pFQUNKRUFDSkVBQwpKTkJ0QkdpQWRC
dDZGa3dDSkVBQ0pFQUNKRUFDSkVBQytVZUFCa2orOVRsYlRBSWtRQUlrUUFJa1FBSWtRQUxkUm9B
R1NMZWhaOEVrClFBSWtRQUlrUUFJa1FBSWtrSDhFQ3ZPdnlXd3hDWkNBVDZDdFNhVHBlLy9VZUp6
bzA4Um5CU0xoTXBHQ1BpS0YxWW1UZFZYTThtOUUKbk5abzZjWDlSRXFIUm9lbGU3Wnlwa2p6MHVo
Y3lzVEg0bnU4Sk9ZODVDZkFxWjZKNDZlTHhKa2NmamdTSWFYbnlxb2szR2VJUGZPUApUdjB5YVZz
eXg1ZVBpRkJwYnduM0crYW5pZWRwclprbnp2SkFPN1RjY1BWQUxhTXFYdkswdzFwbXo1VzJGU3Nq
OVFxMHBXalVDQW1WCkZLY3RreGxJZ0FSSWdBVHlnMERQTmtDYVo0bjhzRkhnQWVoMVdsdWc4L0N3
dHo4YmpQTlFxU3BPcWpRVnFzSlNvTDh5bGRObmI1SGUKMjJsY0YyUDU0Z2lSaGE5RzZvMzZobFNa
Mi9rclZaN2FLeUMyMmgwZTM5NUhwT2JmSXJiOTJrNmpCT0c4RFVwUVNCdzlPamczZmh6RApyZzRI
NVFGcDlOZlc0cVlGTjZjMWtzK1hBWjBQY1VaT1dFb092MDhLMTk5VEF5UE9hVmdoeXkvWjBrMmo2
aGpLRFJXVVNaL2JQNHNrCml1TnJYVFJYRnArK2o0UzgraUZmdUdxZzlCLzNqemlwMHd0eW1sdGsw
ZGxYU04wNy96SHR0UFVYYlUrNGZ6OFpQT0ZtS1ZiRkthOWMKODNTUnFadVkvb3g3bitCZWdRc2U0
WTg5RC9jU0tWbFhwR0o3a2VvRFJTcDNkYTlwazdrTC9xejRWdVM5RFYzQnRqNDRWbWhiZHZsdgo1
d3I4Ny9raU01K0p5RllmcnBVUTdoVTl1dmVFQnVKK3dYWHEzeVBCT0UxcjRwQVphUUw1a1E5eVRI
NGRoTVo5cFA2Q3JZNlZrb052CjA1Tm8xL0xWNjFMM3lPbVI4alZ0NFNaN1NzVVpEMGNuakRtcmUz
S3NOTHorckpGdHIvWHlFeTZTOG9OR3g2Uk0vN1R1clhkbDRla1gKaWpTMkdTYW92LzIzcGMvSlIw
aS9LMDVQWHloemtBQUprQUFKNUEyQkx0YTB1NW9qbnVKTDlhZmxCSCsyMkdBWS9IQittT1pybmg4
SgpxMzFSWk01MXFvbjJGUmw0aXNqd0s5UXcwYmU3MlhhTkMwVG1QYWYxYUhickF2bTJialBIaWF4
emVlWWx0dXJieUNhUGh5Y2w1Q2szCnJySUR4Y2RWZm5BTXdhL0trVldBckFJaExhb1VtZkJJbk1r
WGs5WVBhMjFwWDJkWVBvM0xCY3E5bGVVVXhFa1hteFA1NmxlNHlveW4KdURrbHF0eDIwc0g0V0hq
bUpWTDNyN2M5aFF4dDA1K1dFUjdRWHdZL2VtUCtHUitXcWIzK2NLNUlJdmVJbDhERzQyajlYcFIv
YUtzVApxZnZjL2MyL3h6VkdSdDZpeHNqK2ZwS3NlbVo1eW5kc25WYjhUMlR4KzFydUx6cGZuRzJy
SHZWdVVZUENNUVo5S0FTL0t4NUhEVFZjCllIQzQvRFRlQ3pOcDJ4d0poV0NRSUJTU2tGeVBrS054
dml6a1NlQWlhZDM4YmtFSkV2dkJyanhURjNITDk2TTY0YW1iK0k0c1BPTWkKL2ZlejFkVGR0TnZJ
YzZUcXpPT2s2b0tUT2lHZFdVbUFCRWlBQlBLQlFNOWZBNEpuYlBDNWphYzdYREFjL3FCaUJYOXNP
cHUrdFZaawo3bzBpLzlXM3EwdmZnYVRzdWprVFZKNGFIOWJaY25HYzhhRFdHeHA3aGc0eTRJSnQw
eE1UckdGUWdLQXgyR2g0ckZLRk5QQkR2Vkc5CnlEaVRIdUg2TTJFYUR4RndWb1pONDRaRy96Vnhu
ckptMDBlblNIVG0xZG5XMVNzelVlcU93czNJeDFtWFNQMXJrOXpHMkF4YXFZSWgKQTJYb0MzZEw4
ZG9qYldqK0hXM24yQ01Jd0c5L2lZZ2s2NWNHbmRiMTNXOUVmandIRjFZaUNabUZ0NmtoTy92eFNG
NWJiM3VjZm04awpMc3MrcS83anByQ3RNbUY2bmNOSXNNNVBoNENvY0p3akVQZVNTbEMvbXk4NlAx
SzBjd0U1a2RMYnBZb0pRR0Z1dmR5L01kRnBuc0w0CldIU21qbncwNHdXS3JiOWJRdFVGcDlENFNK
TW5rNU1BQ1pCQXZoTG8rUVlJZXM0K1dlM1JodUhjL3FBdFdEL2lJOXBEKy95SWEveFIKNU50OVJW
YnFHOVZzdXRtQk43ZVFHNnhUNDA4aTgxL0p2RFRJZ3JOdGc5K0d3ZXNyTUc2ZzBRczFETUVJc2ZG
V1gzVERQVlhLeUl3SQpjdzBQK3o0WEJjVnpibDdJQ1ZZcFhzcm9zS0NSRkNrek9rMXFaKzYwcTR1
bDdvMUphR0Fna3lPRkk0YklrTC9lSzBWckRBK0U1NkhYCmRnNk9RVDlRNER5SUxlaEhmS3l6K1JH
T3RITnZWOE5hRmRac3VvVjZqMkQwMHRZTkl3OXdPTWR2cm80d050VWdwSFBPdHRVY0l3MnoKOXcy
RUk4cU1NR2lndVNlOFpDWU1jWHB1MHNCajQzRDByMFhQMklZVUkxamo0amhYdHQ0WEtzd1ZZeW9W
SjJWc2tMMlhiSTFpNDFNLwpyNXY0dGl3NjZ3Smxxd2FnVnNRMHc3czRxaTcvby9ROTQ5alVoVEVs
Q1pBQUNaQkFYaFBvMlZPdzNDZWdPNFVJM1dpZXpPVWlBLzVnCm45SnU1NXB3RzY5emt0b2FkR3FR
VGhscHE5ZUhxU3I5SzNYdEJVWStiRG84MnpGMXlWa2g4czErSXB0K0lsSTgwSlhWbWIrMXV2WmcK
eGRkdU9TaWpRS2Q3bGE4dFV2dXhLeFhsNCszdDRQL0xySlRWZnFkVFQzUU5pM1VxRHlMOTlSUzJm
YXF3aGVCZk5sUFgwRHd2T2d2RQpjNnFrVkF5VGduVis2MmJVZEVZbmdvTG4reldwT2NmUjlZZjZq
L0x5UngvUVJGZXBjdTNjZEZRZ042MDdiU1RzSzJ2UjhqczZNOGJICk9SZEovWnR2ZS9YWENuc2FY
Tkdva1RMNGlUdWxVRWRBOHR1QmlSSkFYK0lJRjY0U0dmYUE2OGRmeE1VNlI1VlFMR0RIZmRNOFQ2
Zk4KZlNleS9KMzRpdi9zVzNSOTFlNGlWZEhyaEdKRnBueU82VmUydmpnTzB6VlZzNS9BaGU2S2FH
dlVOUnlhWmkxZHk1R0pXMWRIYlVZYwo2dVlNdEIzaWNXcUtVWTh4ci9VWWJsb3ViUk5QMFV0TDd4
ZkxNbHdvaGZzK2FqTGdIaW9BWEdTRzB5UENrTiszT1RSanFIcWtHeC9uCnJ5a0w4cEhPeEZ0aGNS
TEhCTmw3Q2ZWejg4WWtTT0cwWG8yUG1yTXZsRkNMVHJ1Q2tNQzBzdXByTHBES293NU9RUXFUa0FB
SmtBQUoKa0lCTG9HY2JJSGdRNGprY1BCWlVpZ3k1S2YzK1hhRkd4aXhkZjFIN3o0aWlBQ25OYXFE
TXZsVmtqWnZUbHhtYnc0NSttQWU0UnZaWApwYXpQTmhFREJPRUxYMU9EYUpvYUp2R1YrbGlSVWVk
cjZkcVZHQWVSY0RoYXZ3blFQODdzaWRJNjVUbFhjVEw2akNvb2xhdEo0YzdYCjJpU2RQMEpwTWhZ
T2xKL1lHaVFUNzZZMVNwMnZwU1ZMSHgzbjZCU1Jtbk12TnNhSHpXNUdlRlI3S2x4bmxDNDR2MU1L
QnVqbUEzbnYKbERQNjN1cXo1bjRxRmVsN1NQcGtZSkJnL2NmTUN6UXZwdWg0SXRDVjA4OVZtVHFh
cU5kRHAxeWpHanVML2hFdFlvZ2F6TXNuNjVSSgpOZVJ0bVRQdUYxbnp2TXpLNjdldENINXhYTnph
MXkvVWNyMkN6VUd2ZE4xVUlyek9nWEVrWkI1a1IwamNNWTI0TldrdlhPdUQrdzdWClFuNnZsdTNU
SlFtcG56UkpGcDE3b1RndGFuVHEvZU91K2REeXRTLzczM2lwVkJ6YVJldDhrdFNKVVNSQUFpUkFB
ajJiZ1B0cXVpZTMKQWM5aDgzUU5IRE5wVDhWV0l1dStxb3JIVVc1dSszeUg3UG1xekxRc3kwUnFK
QTlHWE9ZODVaNURKdVFQMkZ0SE8yS1VGQ2d5VUo1eQo1RnlsWEF0RG5ickNhWHN5MFRsOS9PQmhU
MUtzbnpFK0xyaFE2dDZhcURuc0ZCUjRIU25hY0IwWi9OUzlORDZDTE1FMytBdkdwZU1QCkY2dnhm
NWFPUEV4b2Z6M1ZmYVVHd3FSMHBNVlBPL3RSbGEyS01KeTVaclhpMVR1S0RGV0R5YllCY1N1bnVz
WTgvRGx6TUR4UWlTNjQKbVNBV2t0TzZIVFNUbDgvTm5mN2Yrb2tUcGVZOE5TaGhmSGpPTkxHZ1FQ
cmRPb2JHaDRYQ0l3bVFBQW1RUUZvRWVyWUJndWM4Zm5qSQpCbjlwSVFna3hwTjFUVjBJWHRnL0VL
amVWalUrRnI4Y0haYnUyZnpuWERuSVo1VUNHQ0RsYStuV3Y3cDFxSFdJbS9tSXB0VnBKRjNzCkRE
NnIwWGgxU20rVW9vTUsyblpxZytGTisvMXJCblZ5V25UazQ0SUxwSDdpSks5VUxSajlxdjhYYmJx
aERKcHd0eFJVNlhjcjZDSUUKY0NIQW1RdkM5WGJxYjcvRGRHUnZEMWVlbFl2ajRwYzZKZFprRG80
aTR2cm92YWwyckU0Wkc2SlRwbUxyLytOOW5TOHZMUWw2aFJ1VwpHSEd3VU5NU2tEaXhpb054ZzBz
NWRjbHVTcHZlTlk0U0Z4RWJVejlKalk4TEw5QU4rMXpqdy8rM1FZMlBBWGRjTHhXLzBYKy82RWlB
CkJFaUFCRWdnQXdJOTJ3Q0JBZ0pubjdBNFdyK0p5T0JQdUZTMzRUMHVXZzVrMW4rZmdiQkFGc3hi
dC9WRmNNWEcrczJQWVc2Q1lVY0cKRXFxM1dhZDB6RkdEcFl1ZHFZN1ZhRHh1MlZTY3pKUVJsVytu
ZnZnS1RBcnRNdFZSYlE1NTdOU1RqcklaNDBNVnBvYTNKNW4rczIxQgovcEl0TjlPdGR1K1Nnc3Jl
SFluSnYvamdkWm10MWc4NEt2cDZSNGV1L0cvbnBDL1I3WFhyZEtvVm5IZTl5dUFEM1BOZWErZ1Vy
KzFkClAvNmlUZlAxcFVIOTdFaFlGL3A4NWQ1ajZaOW5xVXhjeS81OVlOdWVsdXhBL2hUeTFiOE40
MFBYME9pYUQ4TlM3eUg4SjBWRjB2K3UKVzZYWG5ydW1JSVZKU0lBRVNJQUVTQ0ErZ1o1dGdOZzJl
UTk5ZTlycFl5OGRrYkF5Y2NTdlFhZDBaT3JxZmhCWjhrNGtOeFFJakg1WQpOL1FJTFNQUUZZaWZr
YU8zdDNobHErMkRIWkp0WncwT0l4dHRTc081MVVIRlVzc0U0MlB4UldwODZGdGJPSlRwbGgrU3N1
MjNrWUVQCmpaVndSWGxxd3ZJdFZiQnZVdVRkSWFKZWFtREh5bTFaMG1HMnBBbG1QK1RLRE5aeDhN
R1JMTVBWa0xkeEtCdGJXczk0SUJMZnhUN3YKVmpLbCtNWkNsc28wQm8weDV0MXJPeHB1UjRVb0RN
MmJxbEhrR2gvbmVkT3VOQzlZYXY1d2Faa011UGQyNmJYTGpoMFZ5SGdTSUFFUwpJQUVTU0VvZ29Q
VW1UYmZxUmtMaHdBUFNPcXVBMlBOTWp2ZzZlbEFtL0FXZG1MWXplN3crd0FNQ1VjZitBUU9rYkxp
dVBka2x1c3lhCjkzU1hLcDAzMzhVT1Nna1VKemdvVGRab2NFTTY5OWU4TVRWeXJkS1V1anczYjRC
Wmtxd3dQcFpjZko3VXYvMldxMlJwTnJRSk1rcC8KdVlNTXVPOVBFaTdUa1MyNitBU0M5MHhxeU9Q
TENZYUdpb0pucnIrZ29uMVlxaUV0Sy9RRG5zL3FoYVFaVUVjY2U2MmpVN0EyaWtnWQplcmo2ZFIw
S0hPTHhtekZPZDJ4cVFVaVhPblB2YUhuMlhzcm1mV1Fxampiai9rUVpKZ0NOUzhVaG5ac3BGYU1J
OTlCaXZaZENyV3E4CkdhZDU4WDlabWZTL2I2eVU3YkNkRjg0RENaQUFDWkFBQ1dST29PY2JJRlla
c1F6Y3A3TTl5K3lJclhueDNMWU8vdEkxN1ZsNlI3eUYKblRQZTFScHMzWXFxM1lXelFVbkRqbTVm
NW8vM0JsTmszWS9xK0lxVCtvMHg0cWszMlNuTUc0TlFmbTdUTFlDT3BhZXF3Qm5qNHhJMQpQdDZa
cEYzbVRkZUN3cVMvc2wvdEtnUEczaXFoa3BLT0MyU0s3Qkpvbk9GZXo4RXU3N1ZoNW1YTWYwYlhS
YWtSWXVYaE9PUjMwZktLCjljWEJvSDNkTUp1dVlZNGFMbGxZZXhKZFV1SXp2ZTdnclBIdG5tWGhM
K1RxenhvNHFVcTBSZ2Z1QjY5cUNiUFd2L09tTEw0VXhrZUwKVjMvM2ZncVZWOGlBQis2UjBxMjJT
SmlYRVNSQUFpUkFBaVNRRG9HZWJZQllKU09kRnFlU2R0bkVhRVVIZWZydWxrck85bWtXdmFZZgpO
ZFI1Nko0Q1lSSU0xamUxMkRFbzZJYm9WSklDYjRvUTBxSnRzM1EzSWJ6NTdYS25CWFlCUzlNTWR5
akNVMzRRa3BwenE1TjgvWWN4ClBpNDdWeHJlblJRalZLZGQ3YldYOUwvdFJna1Z4M2tUSDVNNjcw
OXQzNmZlUFIwalcvS3ltd1l5ellXZ3grcjlPczZYS01Xc2g2THYKSVdqVXc0OXBuM3JFYURjczJK
WXUvREs2WHdIVUJ3MzFXS1pxUVB2NU8vQ1lGd1VxM3hUVFFkcGd0RFU4akNHU0pIT0RHaCsxbDJI
TgpCNHdQYllsSjYraW5pdnJJd0Fmdms1Sk5BeHRsQkF1Z253UklnQVJJZ0FReUlOQ3pEUkNyWkdS
VGdWcjVwWDVud0p2cVlZRlc3cXlMCnhqZTNaK2tkNStqaWN6aGJSL2lIajhiZmFGZW9pNk5oaE1B
aExkcUdyWDluUFlHUUxuRStQbTlxUjljVW9xWG8vOEhtcDFLT3JaczUKMnBOQVJtTjhYQTdqWTZJ
WnhURlJYcnBlKyswbjFUZGNKNkhDd2tBT2VoTVNzSHpUN2FSRUFsZitUMlRCSTVGT2g5eXl0ZlZE
aElGcApoNG55eGd0ZnFSdEFMUDIzRzJQcjJIY25uWUkxcW4zcWdmdTRIdzFGT3B0MndadjZBZEFw
N2RObU04UU1UZGdDVVhURW40MWl6T2dlCm11U0w5VDBkaW5mcllqdTVmZktHZDNYa1ErOGxSMGMr
cklQQkVxNnEwcEdQQjZWNGd3MXNNSThrUUFJa1FBSWtrQlVDUGRzQXNjOWcKKzJ5MTU1bWlXZkd4
ZnZsOGQ4M2RHbEZld3ZvR2ZiVnJNNVBZdEVpL1JSQXovYU5jSCtaOXRvNHZiL2h4YmpqYVk5c3l2
ZXNXbzZNSQp2T2tNcmdPSlg3SE1RcTBTRmxHYVVwZmpObC8vNGsyc1plRmxkNXFiWk1ubFo2dng4
WmFHdVBVM1VacXUvT0JEcE9xcXEzUk5mOCsrCnRGTW5sZVdVOWw3S1ZPelNOMFMrMjFQN3JNa1lu
cTRZRlRycVRqM1AwQ0MwVysvaU9yRDFHejQ2ZmczMUMrUXkvQ2kvV05lakdidDQKUzE0ellxREZK
QmxraUYvZlZFUFJicjJSSU45RllFRWtFMkRUdUpuc2RLeGdqb1ozMzVBbFY1d3JvVGI4bStmS1Iz
eEIvNEV5WU56RApVclMyR281MEpFQUNKRUFDSkpCbEFobHFCRm11UmFiaTdQTTFtRDllV0RBZWZx
ekxhS3ZYbjM0Y3NHbVdidFdwaTcwWFBhMWZKUDhICklxTlRqOUoxR0gxMmpBNUw5V3plQkJXbmlo
Z2M2dFdtdjJHajlVOEMxMjluZlZPOHVtNDFPdDFxR2ZybTkzUDlmc0tIT24wbCs0cy8KVFpVODY4
QWFJWGpUbWkxblpVS2UyL3dZdGgwVVpQS0RXY0RCK0tnZGM0NDB2ai9KTlp6TVY5WWhQeVFGSTFl
WHZoZGZhc0lEV2VqdAppRUJzdDJEUmR1TzA1TGtjN1JpbldXMzE1YnB0OUR5OWg3N1JuZDdVMkY3
eGdYdWRJemZrNGpmeU9oMzkyQXNoNlR2VVplNWowZmt3ClZYR3dmdmNqa1J0eG5NalVQMFhIemh3
dnNvSFdvNkEwT2p4TFo2NXk3OTQ3OEJ1REpFdXlqUmh3Tk1hNFRrdE1XYTYrQXRERXFKVTkKQnJQ
QytLZ2RjNjcyWWF1SnQvSnhVbkg0NzZSbzlUV0N5ZWtuQVJJZ0FSSWdnYXdSNk5rR2lIMFMyeU93
dE13VithK3JDQmhLaUxNLwpCTVQ2RVJhajVDTElyTWNZZWFzdWF2MjlPYzNvRDk3YzJycmhHQ3JR
THpaN2IyZmpDWVNDTWVKWWtlK3ZjbU50WGJFWXZRc01FRk0xCkxSTzZaSmM0VTM5WEdYTVZvRUMv
SkNuUUtrdFE1Q0FDV09DTThYSFZPZEx3L2tRVDZNRDQwTzJMYmYxYlpreVhsYzgrSXhXSC9kYk4K
d0wrcEVRQmZnSWJEMFZtbzErQ2FudCtFeHNSNzZSQmwwZ2ZTNE54MmMwaVYvZFh2VUdQaEpDOUJC
b2RGcitwTEFqVnc0R3c5QitsVQp4Y0lLTnl6ZTM4cU5kTTNXbHZwQzRWTTNGdm1hRjR2TTFvWHNx
eDBUTDBlbnc0eXhyT1hnV3JUWGE2ZUZCZ1RnVG9DUjdkMFJHbU03CkxKQ29uVmR6V0daSUg5anF1
K0c5MTZYMmFqVSsydHliMzMxWjRLMjUwa3pMSDN4QVNuZmFXWXBHNlhWQVJ3SWtRQUlrUUFKWkp0
Q3oKNTZuZzRXcC9Gb3hWZ0JDZXpBV2YzMWFHelZPK2hjaW1YNnJpZEVveUNjbmpsbjJpSDE1VEdV
SFhYNmVtbEE0SmhyVDN3d0F4alFwRQpRWEZxVWdVcXk4NXZ0bnBzMDEwRkowc0ZXYUZwaXZNVk9O
K2o2cGFPZkN5OStteHAvUGRFVjVycFAzZThCc2xzVWJWL3VsV2F2dGMxCkEzU3BFNGk5RjVBVFlU
WThlTFQrUk5KdFJ4U05GTmxFUis4NlkzeWdES3loc21YaWlOK3dZeEdUM0dFVUpKZ1BxYWVwSWQ5
RnpoakwKS00rMDN4b0syU3ZNTlJEMDd0UXlYTVFXZExJeVhBRFdhSEZIYWZTVFJ1KzlKclhYcVBG
aFJqNFE2OHFGY0hzdk9ZME5VcVBmMVhFYQpHcElWd0RnU0lBRVNJQUVTeUloQXp6WkEwR1E4WTkz
bnJBdkFQcGVENGZBajNJYkJINXZPeGtGSzNSY2kwOC9SNzNDOGg3UE1uRldjCmJEazRKcHQrWlV2
QkY1Mzc3MnpQM0hxMnFoS0FLU1JkNEt6aVpKb1BCY1FIMC9uQ2pNS2pHazFFYVVwVkpoUTRkYVkr
ZW1odVZvWHAKVEduNDRDME5RaDFkQjJYSjBZWG1rRy9xajcvTkxmcEJ3b3QwaGwyOWw0cUhEZ240
UUFNcEVXWi9nZUFvcitta3FKRElTZE1Na2E5MgowdXYyU2gyVlhCNEpUOGZYT0YrazV1K1JleFY1
UzBmcWFPQ3VIVXNacGx2MEZwUkU1MTN5b1k2Sy9MZmp2Sm1rMElzeE9PMHFtL2VSClh4MWM4TDVM
QnQ5UHBKNUlKOExYOU5IYnN2UTZOVDcwMnptNGE5eFluYjVZM1UrVHV2S3Q1SmFwVTZYMlZoMEZw
aU1CRWlBQkVpQ0IKTEJQbytRWUlnTGpQemNqUmhybFBWemNjVDFWN2puajdsQTJHV1RtWVI3SGti
NjRDOWMwKytxWXd6YTF3VzFYNW5mY0VTb200Z2lxUgpnZjhYT1UvbXc5dmJvRU85ZnJ4ZjYyd3JI
WXpNM0cra0djWEpReE9sNEdRdU41SXpNa0tSWHMwalJnYVVJbWRaclRSOU9FbkZRc25ECndlMm95
dk91a0Q3bllzMkhXNkpWK2xxbVQ1ZmE2Mjl3QS9tM1l3SzJjM0FNK3BFVDV4NWZuRWI1VFVETUg1
c2Z3YTJMZEJlM3EwVysKMEkwWGxxbnluNjdEMm8vWWp3Z09POGJ2LzZUaWlxdDE5T1UzN2V2ZlZk
L1cwWHZUR054ZSt6R3FrRTNueXRiN1F2dkNsUnpzbEdRbAoyWHZKclZIVDV4OW92K2k2R3YrbUNV
blIraHZMZ0FrdlNzblcyL25kYmV1Lzh2bm5wZTYxMTVNVndEZ1NJQUVTSUFFU1NKdEF6MThECmd1
ZXdPNDNaVXpaME85dUJGMFdEc0xxQWYxUVBGcUREc0dqVHQ3TjF1a1ZublU0WGFWM3A1Z3ZLWFBJ
UE5VUitwUXRZZFM1NmtiNGwKVE1VdGZFSGZ4QzkxVTlveWh4eXUzLzdRTjdLcE9HekgrOTgvdVBX
eitWZE0xcTFOMzlRMUtidW5JaUhsTkthcHRneFZQNnppa2JLQQpKQWtoMnloTzR0cTU2Y2gyMCty
NkRveDQySFVleGdCelIwZjZYSFN0OU5ybkFGTjZ3M3Z2U01QYmt5SjExL1FyWDNwRkZhcHRwZncz
Cit5YXBJYU1NQWROUjZzTVJMdFJIMXlxTmRmMzQ2MThma1NBVGhrWG9iVG82MTFLamk5Wm51Q09I
SzNUMDBMOGh2ZlNOcy9RZTJsVmsKdzMvcGhnNi9EQWpwd0J1N2hUWHFsOHIwS3l0MnhHaGQ5L0Zz
cFA3SS85TmZSRGE2UmU5bC9YY2ltMDRWZXJzT0pDNnZUcFpsakdzdAp3M0dzbVIydlUrSVhZdThs
TTBKalpHZzY3MTRxM0hBenFiN3BQZ25yeHdiN1huYWRMRGp5SUdtclhlWUpVbUNhZnZGVjE1aXRl
QXVICkQ0dGZBRU5KZ0FSSWdBUklJRTBDUGRzQWdVS0I1M0R3V0ZDaFN2b2xhV0tBSExWaWxrM1NO
N1pYNmZHZFNIN0lYdjZSeU5lcXlHNnEKYncvMWdkeWhnK0lVckpPS2xxR2pPOHptSnlnc1YwWHJN
SjIrNHNsQmZqaHNKWnBGQXdSVmJETUtQaFFiRkpCQzI1QXNIUWVGeCt4VQpCY1VwSGZsdVdxUFVt
Y1htbWh1eWRDRi8zd3V2bDdJOTl2ZHIwZmVTTWJMZ3k0T2xyV2F4cC91NUY4V1NhMjZVNGswMjB0
MThSdnBwCjZZbERBTGhNLzN2SGdsNDZ6ZW1ZT0FsVENJS3hNVmNWL0hsM3VmY1VzcUFySFRWVXZq
MVFaSXR2OURzZGd6b1d0RlR2dGJydjNIUW0KdjNyNzZKU3VYbWtzaWg2NGwwakpFRFdPNXJydFF4
dngwbUhtNHlKcm50WnhIZEpKNGQ1QUhzZDByL1hVQ25LTmVSUUJJTzc5MFdGTwpiVE5xWTdyWXF5
T01HUHc3VnJUeDFsSjEvYjBTN3FYOXJhNmcvd0RwZTlHVk9vVlJ0K1hGdllaY3lMaHloZFJjY0xF
TWZQUWhDUlVWCm1iVDhRd0lrUUFJa1FBS2RJZEN6RFJDMEhNOWhLT2g0VU1MWm8zdVcrbC9zRU5O
bk4vYzMvVHhWb201elpVRWV5bGp4SDkycTkzbVIKQVlja2wxay9UYmZOblJoSmcvejRsc2ljeDl3
ZlltTHJpSE1iWm84TnFzakI0UnpsNHpqM1JkM3VkSTV1MVR0VVQ3TGpYQVZmWmRseQpzeU0ySWlY
S3dJa0VkK1N6VFRaS2x5cERxSitqMy9ib2U4bXRVcnFMS3BZQlY5QzNTcW91djFwcXpqemREZFcw
eU5KV1h5ZUx6cjFFCkJqLzVpSDRSdlRpUWc5NG9Bb0NkTFZjeVhNek9WNVc3Nms1YXVGZDB5MnZy
V25RamhSOHZFbG4zRVJ1UytEam5vZlp4elF0RlB0ZlIKUVRoY3IvakZ1dGp3d001UEppbmlZY2hu
MndBeHdtRWthN1dzTVJKYnQ4NmNlMzBFMGFsM2w2WkU0aUFuNU5ld29zMjNrNnFyNzVaUQphVmxV
cmNwMjNWMTY3WCtBMUwzNG9tZUV1TkZOWDMwdHRYZmNMVlhublJXVm5pY2tRQUlrUUFJa2tBbUJu
bTJBNE1HS1gvQ0pIUFJuClFnUjVWdGVGbHcwNkxXdnhTOUVTWmx5dUM4UVAwdkxVV0VuazVvelhH
TytKYngvK21Lb3k2KzdvbVNtMjdsNVNtOFVjYlZoc0dZN08KM2Y1eG5FNEh1eUkySnFOelV3V2ow
V2hGdmJyaWJXblduQy9LbGRybU56TEZFcno4NWcxdVlaRWFIMytTMGgxM2o1dTVkSWNkcGZ5dwp3
MlhsMDAvN0NKR3YrZHZ2WmNuTlk2WDZNalVxNmVJVHNOZWJ1U0RpSjBrN3RGcW54dzI3ekIxUnRQ
SWhaS0d1alZyalpoMEZHWkJZCkpLWkN6bnZHdjQzOHl3WWpJaXYxWitYWitzYWVRN0tOczM0Y3ZX
dGNsbjJwaTl2ZkYrbjNDNFJtMGVtWUFVWVh0Q0IzMmxOV1JSdUQKQUcxSTNiNXh3Vmc4N3FpR290
OTZKK2w3NVoxcWxKZkVyV0NmY3k2VXhrOCtscGFmOUdXSFdpdDJtK3NWNHlkSTZiYmJTTmxPTzhU
Tgp4MEFTSUFFU0lBRVNTSlZBRWswNlZSSGRtTTVUVU5zcEpObW8wdkF4RVNuMkNkNmd5ays5R2lh
SkhKN1VjOGU3aWc3U0lGK3dqdGFQCk9Pc1NoZGt5WStPblA2aHlBMitWclp3TWprYTBlV1dybWIz
eXNxazQyZEVMSEYwVXNZMUpYR2xUSGMxbmpBODErUHBlT1RhaDhXR2wKOURuakxQTXhRc05jQmRp
MkxKL3d0TlM5OGJaTnhtTXNnZFM3SlRabjh2TmhhdlNGZFVva25IZDltUTl6TG5uTkRVdjBkLzZ6
YXF3dgpkKzhkMUEwLzVMY3lrQy9vajFkL213OXA0V3grSzJ2cXZXNTRsdjVDdVRmT0h1eDVsdVRq
V3ZaSFZvSnRUMW0rbTc5NHF4Mmw3NWk3CkVob2ZFSWNwV1ZWWDM2QWVQQjYwUVlhWnFZRnV6WHVG
dEN4WWxIS3BURWdDSkVBQ0pFQUM4UWowYkFQRXRzaDc2TnZUckJ3ck50ZjUKNHlNalNoQ0U0c0Zm
LzMxaThZdmYwUG5tUHlXT3R6RkJCY0w2ZzIxQVdQRGM1c094WHFkbXpYa2xHTkk1dnhrQjBlSVNs
ZGNKNmU2NApoeWZidGpORmVXNTE5Sy8rSCs1YkxTWGI3dEpoemxCcHFWUmZlNzErcEs3UXRNY3Qz
LzFiYy9IVjBqSkh0M1dsYTA4ZzJEZlp2QTZ3CkhxdHlKN2U4b055Vm43YXZRekFFMDY5c25YREVE
L254czM3MUdtZkRndWZ3MjN6eHdwRm45bk42cjJaWGtmWnVKVk9pYnl6WThqdDUKTkFhTzNxU21E
TlRmQjVTS1lJV2hlU0dqZU1zZGRSMUh4OU1SU3piWlZIci8vZ1MzSE1NYzkxRkkycGJVNm5xUXkz
VlVCUE5lNlVpQQpCRWlBQkVnZ013STlld29XMm95SGNmQlphQjdPbWNGb2w2dFVGN3hpZHg4OGdP
RWd1MzZ5OGNiOVl4ZWZvejQyejBDZHMxNitnWnZjCmh1RXNuajllMkR5ZEJvWnZGNkJzRzQrdFJJ
ZWx1S1d2VzNMQ3YxQktvRXNZOGFyZGhJMHZZZkswSXZET0ZKS3QwbVNybjRvUU55OVMKb21hcHUr
TDExNWZLVTArVHBYKytVMHQzU3pTTGRwY3RsMFhuWEM2RC9uS3ZmcEMrSUhXQitaQXllRzJsMDBt
cHNDbFpQVG9WeW1wYQpFQjBXUEt2VCsydnBlNUhySGVrTGRGZXVOY2RFcm4rYlByYXVpYzRSL3Uy
bHVsdVg3bnhuMitvMDZyZCtIdGIxS0JkWWFaMDZ3dURBCnZXU25LN2xtYjZkRVJtZEdHMndacHAx
b1NDck9TNmQ1MGpXS0trODRTUnJlLzBDYXZ2emFzSGZ2cDdBMGZ2aUpMTHZ2RWVsejJ1OVQKcVFE
VGtBQnNvNzExQUFBZ0FFbEVRVlFKa0FBSmtFQTdBajNmQU1IRDJDb1ZhSjU1T0xkcloyWUJyVG9O
Qk03S2gyeXM1NGpubW10MAprZnJmM1BKOTNVQVhuNjkvbjA2NjdoOHZSMnBobFJ1TGZLdzdZdGwy
UWZaOG5jS3lZcXBJaFJwSW5YQ21PUUdseGloUWZrR2RFT3huCjlkUXdyVE9Na0Vnai9BUUpQY2hw
bTV3d1VZS0kzc2NlS3czdnZpOE5IMzF1bEVJa2c2eUdUNzZRMmo4L0tGWG5kdUlMOXduS1pIQUMK
QXRpbU4rZzZ1ZzdtUHVLbXRwMlA0NkJEUlVaMmN2SHpVdDFtZStaamtVc1FjcWM5SUxMTytYcC8r
emRzc0thWitTRktaVnZqTnpNaApjWEpCTHU2ajRNdVdPTWxpZzF5alErK21ESm9ZMHBIRTZtdXZs
Zm0vL1owNGRZMWFQTzVKL0JlUzJyRVBTc2syVzBycFZwdkZGc2x6CkVpQUJFaUFCRXVpUVFNK2Vn
bVdWbEE2Ym1VR0NWbjFidWtLVkZsdUdmWUFYRDQ4dkRCOGV4RnZWb091M2QrZU1EOGdhb2lNZCtQ
NkkKTFIvMWdUWS83ZjVnU1ozMFE3UHBwSWc0MlZGbG93Q3BiTGY2dGhGeEVzY0V1ZFhCNkVuNkZR
dnAzUFhxYTYvVzVRZTlUWDVJUU1rdwpzSmJlTTE3cTMvODRwclE4UDdXSVUrK2UxSUUxVG5maDJ6
S1FzMmhnL1B4WTJ6VG5VVGN1V0pjaFI4VlBuMDdveU9QdFJSaVJYNmRHClBJejViRGlqNFd1bHZY
WjZwbmMySkJzWnVBOGdNMTFEQXVtQjB0eEg2V2JXZkVValIwcmY4M1V0VCtBK2hMeVFXa0tMenI1
Y1dtdVgKbXZyeER3bVFBQW1RQUFta1E2Qm5HeUI0RXNKWjVjYWV1NkdkKzdzQ1gyNXVpY2hBR1pC
Zk9pb1NGdlROMCtrYzF0bjZERDNhaG1SKwpET3Q4N1JHcWdGbVprSVI2VEg5RWR6aU5NWGpTTE1Y
aU1zcU5QVWxUUm9mSlBRMG9XUDBPODJnQ1d4MXp0Q2VwWlBUU0ZBNGRLbFdYCnVkTnJVSVdJL3VT
bzRqUkdQOUt0VzhMU3VRUXMzM1E3cVNOKzJEWjN1VTZuZ2x4YkJ2S1U2NmhlUEZlakgvMXNtdXZH
SUE5K1pTTkYKcW40WkwzVjZZZjEzMW0rSXJCWEpZK1ZQeTlKaWRIT0JRYWpyc2owQzRvNCtSRi9I
dHF5T2ptNWRnaDNRVVk3bytJcURENUxTWFpWZgp3S0c1TFhQbjYzcVFhd09oOUpJQUNaQUFDWkJB
YWdSNnRnRmluL2YyMldyUFUydDc0bFRtVGV5ZjNYakl0bktMQnVtaTJ1M2E1MXYrCm1TcGFYMFRD
a2FkUTU2MzMzejhTMWhrZjN0N0d1aVpkUUR0TEY5SjJ3cUZaR0JVd1U2OXNHenNoTHphclZjSWl5
bjlzaXNUbmJuWDAKcjdFZUVxZExGbE8rM3o3UzY5ZDdCWXdQVGEwaVd4Zld5TUp6cm5IZkNpY1Rr
STl4OWw3S1J0dG42MDVLN2FZc2FnRlZlOFNYYnRkUQoyVmpVWmZDUjdqVmd3enB6akwyUElCOGJP
dFRONm94VWt4ZjNFSzR0SExyRVFhN2VTSkR2RnBGS1FUYU5teW1UMFVUYmx1b3hWMGlvClg1Vjc2
b2xGbSt2ZWZFZVdQZkswVGNZakNaQUFDWkFBQ2FSRW9HY2JJUGI1R214cXZMQmdmQ3IrYWFlS0xI
blpUZWxxd3E2Ly8rSDYKOUkremdIbXVqbjRFeTBXZWdZZm80dG5TVkVyck9FMmZUVlJwMjhvb09G
R0pPL24yRmxWMmxSSlhzWUZzdkduTmxqTkttU2ZNbE9WYgpjcW1WWUpXNjFGTEhUMVY5NVVWU01I
aVFhOGZBRWpMTkMwbjkyeC9LMHZ0MDJoeGQrK3NxZU0xbnltZmhYMVM1VnlNK1ZsYlY3cnE3CjNJ
ajJVckV3dlVhTkFldnNaVGdrQzZPSVZ1WnF4MGJ1WC9lQzFKaFcvYmFPYm0zZFNSZFU3czJJWWhi
dkkxTTFjRFRXVFRwcm8vUVYKZ09ZektPMHh3M1lXVkZkSnYydXVSQ1ZjbVNyVXRyUG1oanVsOGF2
dk01VE1iQ1JBQWlSQUF2bElvR2NiSUhnb3c5bWplNWJaWDR4NgoxUDVMWkxJYURndFVJYkVLRUtU
QmorOFpERCszdmV4V1hXUTdIK3MvdkNpYkw1dUtFMFN2cGp2T1FEWit0cXhGK2pHMXBWOGlOaU5u
CnhLaFNBeVhGaXN4SVVLSk1FT3E5dFlVM1ZlUEdLazFRY013b2ltV2FxSndrNGVISzN0TC94akdl
MG9RYXVBRHhkOG5OOTByRFo3ckQKVDc2N0lGKzNvekluZ2wzaXB1cTFPbFduRFlaVUdHUzd5TjNq
YWxmR2x6My9jUTNYRFI1UXZuVzkxZWd1WDgrZWRmNVlObFFYdE91NgpMTGhnTzZlTjA1MzBBdE10
M1JScC9UWEdzcmJUWEx0Qm5tbEpTWndZOTRFcjFnS3l4OFI1QU56WUxDYUpwbytjSk11VU1LN3Ns
enRLCnhlRUh1OTBaRUJkcWJwR0ZmN2hNMmxicXVqazZFaUFCRWlBQkVraUJRR0VLYVZiZEpIZ2ky
NGU5ZlI2M3JsQ0Q0UHJvT3RzNGhGby8KTkFWTUQybXIxM25uYzFTUmYxMzFILzFPaEkyUGxxQzc4
RndWLzgxdHpkLzBKZW9TdHg3SWkxL3BTSkcrV1ppM0hxekRpTitKL084YwpMVXZyaXpiYmVrNjlU
MlNMdTRNcFUvYjcrRHg1YnZXdDRKVEZKRTRJdVJrNG95ZWhHcDFVbUd6UnBkdHRKWlcvUDFLV2pY
dENzUm5CCkxyNldObFdjcnBSaC94b3Y0VW8xTVBQU0tZOWdsNlBQOEJIQWVWZEdoNE5OTUozMXcz
REhoZzB0T29LeC9EKzZiZlVQYmpyRSsyblUKRDdrRFQ5UXBqTDlRVHh5SFVVU2t0OWRNbS9xemJj
U2pXRXpEbXZkMytDS3VRZS8vT1MvcUM0YURJMkZwK295eGpLK2dvLzU2ZEsregpOSVVrU1E0RHgy
bFRxU3JiUldSQkpjbmtkWUJibDdEbXRSMlNMRS95dUw0WG5DVU51ZzF2OHc4ek5TRmVYcmgxYXA0
K1N4WmRmTE1NCkhEc211UURHa2dBSmtBQUprSUFTNk5rR0NMb3dxT2lZYzFXZTVsOGFIUTVsQnM5
ckhLMlNZL1BabzhtTFArcU1FdUY2emQrQnFyUU0KUFNzUUVQQmF4U2tvWjhpUktpTVZCU0VncHlO
dmthNHBHYVlLMHN3SmtaUW9ZcnFlYjN5VGJsZVRtUUp0RlFnSWhUK3Izd0dCd3FOZgpNY2ZXb2JG
SUk0Mkk1NE1DWnlxaytUU25PWW1YTHZXd3ZtZWZKdlh2ZmlSTjM2aUNiSjJLYnA0NVJ4YWVkNk1N
ZXVCYUc1cG5SNFZnCk84Y2UyOVNJWDNCMWhEdnVHN2pnTlI3cnQvRW1ZWncvK0NEaG1tUGpSR2pR
TWpWYzZyNkoxQU95dy9wUDAyQ2Q4cGh0TjBUWFpSVVAKVUVOSkY4Z0hyeXQ4R2IwVEJnanVkMk1r
ZURLdG1aRFY2a2Y5bXhLc2ZMSlMwS211aS9oc1NQckhzSDdzcy84dDE4cmNRMGZyaXh2YwoyR2kz
eXRIcXJQemJhN0o4eDYybDkySDdwaStZT1VpQUJFaUFCUEtLUVBobjBWcjdaTFZITkFyKzRBL1Bh
M3VPZVB2OERvYkJEMmZqCllKOE52MUJrclhHYU53NnFoaGs2aitlTmlGeWJmL0JScnB4cy8xMWRE
YUdnUXoxYmw2bFJvdlB0TTNDbW1aNENZVEJFS1RnWkNHeVgKeFZYRElOWkgyaTVOdkFBNzNVVGpz
bFNuVUhHUjlMLzlHZ2tWRjNzRmFvM1VRSUxTdVBLVmliTHNNUjNKeWxkbk93ZkhvQjg4Y0c2dgph
NXdIL1RpUGRUWS93azFhL1RQb0JKRU5kSHBqT01HYXFMa1B1ZVVFeTYvYVV3MkZnYkhTTzM4ZUx0
THBqRWUzbDdQZ0xSM0JtZEkrClBOVVFNeEtnRGZEYW4rMFJFRE42WWE1WFcwUkhIV0VyYnUrbDdO
V29lTVAxcE8rWnAzaVhobHNQMDJ5dDM2SkxicE9tS1ROczRUeVMKQUFtUUFBbVFRRndDY2JUcXVP
bFd6VUE4OWZEODh4NzY1aGowbzliMlBPaTMrUkFHWjlQWVk3aE1wUG93a2MzK3AxTTJidFF5RWp6
cwo1NDNYT00yRWZQYlhlMHVkdDc0K3BHYmY5ZDlGWlk5cUx4ZlRzREowQnAvWEJEUWllMnFLMXpX
cWxMZytWM3FxMVhUcjRVN3hNUFByClU4MllKRjN4MnFPazZzSS9tQlJSYjZpMWlqVlhqSlhHYjZZ
bXlmMHpqcktYTjQ3V0gyd3V1aEF1TnM2ZXh4NU5XalgwcW5TMFlXTWQKM1ZqclFkMlFRZStwZUE3
VHR4WSs3Y3FHSEN1cks2WmYyZkpYMXpVcWNMWXNjOVJHVHN2OFBzSy9FZVk2dFRMZEVyTDJGOWVy
ZXgvWQpLOWQyU3NkRjJIc0orYk5WdmNvVGo1SFNyVGYzLzcwd2N2SHZaSDJETERqbGNtbHJhT3k0
WWt4QkFpUkFBaVNRdHdSNnRnR0NweDZlCncvYXBpcVAxQjd2VVBxdHRISTZPTmoxY3FaUFFkR0Zx
MmJxNlptTS9uV2Fsb3gxcnF6SzBsYzVuWDFlUHZkWVBTb24yUTdHR0FSSmIKL3VBNGIxZWpjMlor
aGdkODdDZ0lwTlYrb1JyMGgybkxOUmk4dDZwdVpnc29iVkdKTTJpZHpkdGJUWkdlK3VQV0JVcVR6
Wis0a05Sagplby8rclpUdXRJMm5PSG15dFNpbm9Va1duRFFtZFVFL3A1UzRob00vdEMxNEtWZy8w
a1E1alFpVnFYR2hJeFdsRytqNkRsM2dQZmhNCk5UaDBSRzZyK1NMcnZTVFNlK3VvSE8xT0ZqNm42
MGQwRkM5WWZrRnZrUUgvMXk1cDFnSXF0YTdWMjBYRTJiSi9ISzhqaWcyUjhIUjgKeHRCV1FlYVk3
cldlV2tIdWZXQmZFZGhPNlNDdlZzbmVkOGlQcG1iRDRXT2YvVzhkbzN0emxCdHhSakthcjJkTmFz
Z3ZIbk5YTm9xaApEQklnQVJJZ2daOHBnWkErbExMMVRQcVpJbUt6U0lBRVNJQUVTSUFFU0lBRVNJ
QUVza1dnWjQrQVpJc0M1WkFBQ1pBQUNaQUFDWkFBCkNaQUFDZVNFQUEyUW5HQm1JU1JBQWlSQUFp
UkFBaVJBQWlSQUFpQkFBNFRYQVFtUUFBbVFBQW1RQUFtUUFBbVFRTTRJMEFESkdXb1cKUkFJa1FB
SWtRQUlrUUFJa1FBSWtRQU9FMXdBSmtBQUprQUFKa0FBSmtBQUprRURPQ05BQXlSbHFGa1FDSkVB
Q0pFQUNKRUFDSkVBQwpKRUFEaE5jQUNaQUFDWkFBQ1pBQUNaQUFDWkJBemdqUUFNa1phaFpFQWlS
QUFpUkFBaVJBQWlSQUFpUkFBNFRYQUFtUUFBbVFBQW1RCkFBbVFBQW1RUU00STBBREpHV29XUkFJ
a1FBSWtRQUlrUUFJa1FBSWtRQU9FMXdBSmtBQUprQUFKa0FBSmtBQUprRURPQ05BQXlSbHEKRmtR
Q0pFQUNKRUFDSkVBQ0pFQUNKRUFEaE5jQUNaQUFDWkFBQ1pBQUNaQUFDWkJBemdqUUFNa1phaFpF
QWlSQUFpUkFBaVJBQWlSQQpBaVJBQTRUWEFBbVFBQW1RQUFtUUFBbVFBQW1RUU00STBBREpHV29X
UkFJa1FBSWtRQUlrUUFJa1FBSWtRQU9FMXdBSmtBQUprQUFKCmtBQUprQUFKa0VET0NOQUF5Umxx
RmtRQ0pFQUNKRUFDSkVBQ0pFQUNKRUFEaE5jQUNaQUFDWkFBQ1pBQUNaQUFDWkJBemdqUUFNa1oK
YWhaRUFpUkFBaVJBQWlSQUFpUkFBaVJBQTRUWEFBbVFBQW1RQUFtUUFBbVFBQW1RUU00STBBREpH
V29XUkFJa1FBSWtRQUlrUUFJawpRQUlrUUFPRTF3QUprQUFKa0FBSmtBQUprQUFKa0VET0NOQUF5
UmxxRmtRQ0pFQUNKRUFDSkVBQ0pFQUNKRUFEaE5jQUNaQUFDWkFBCkNaQUFDWkFBQ1pCQXpnalFB
TWtaYWhaRUFpUkFBaVJBQWlSQUFpUkFBaVJBQTRUWEFBbVFBQW1RQUFtUUFBbVFBQW1RUU00STBB
REoKR1dvV1JBSWtRQUlrUUFJa1FBSWtRQUlrUUFPRTF3QUprQUFKa0FBSmtBQUprQUFKa0VET0NO
QUF5UmxxRmtRQ0pFQUNKRUFDSkVBQwpKRUFDSkVBRGhOY0FDWkFBQ1pBQUNaQUFDWkFBQ1pCQXpn
alFBTWtaYWhaRUFpUkFBaVJBQWlSQUFpUkFBaVJBQTRUWEFBbVFBQW1RCkFBbVFBQW1RQUFtUVFN
NEkwQURKR1dvV1JBSWtRQUlrUUFJa1FBSWtRQUlrUUFPRTF3QUprQUFKa0FBSmtBQUprQUFKa0VE
T0NOQUEKeVJscUZrUUNKRUFDSkVBQ0pFQUNKRUFDSkVBRGhOY0FDWkFBQ1pBQUNaQUFDWkFBQ1pC
QXpnalFBTWtaYWhaRUFpUkFBaVJBQWlSQQpBaVJBQWlSQUE0VFhBQW1RQUFtUUFBbVFBQW1RQUFt
UVFNNEkwQURKR1dvV1JBSWtRQUlrUUFJa1FBSWtRQUlrUUFPRTF3QUprQUFKCmtBQUprQUFKa0FB
SmtFRE9DTkFBeVJscUZrUUNKRUFDSkVBQ0pFQUNKRUFDSkVBRGhOY0FDWkFBQ1pBQUNaQUFDWkFB
Q1pCQXpnalEKQU1rWmFoWkVBaVJBQWlSQUFpUkFBaVJBQWlSQUE0VFhBQW1RQUFtUUFBbVFBQW1R
QUFtUVFNNEkwQURKR1dvV1JBSWtRQUlrUUFJawpRQUlrUUFJa1FBT0Uxd0FKa0FBSmtBQUprQUFK
a0FBSmtFRE9DTkFBeVJscUZrUUNKRUFDSkVBQ0pFQUNKRUFDSkVBRGhOY0FDWkFBCkNaQUFDWkFB
Q1pBQUNaQkF6Z2pRQU1rWmFoWkVBaVJBQWlSQUFpUkFBaVJBQWlSQUE0VFhBQW1RQUFtUUFBbVFB
QW1RQUFtUVFNNEkKMEFESkdXb1dSQUlrUUFJa1FBSWtRQUlrUUFJa1FBT0Uxd0FKa0FBSmtBQUpr
QUFKa0FBSmtFRE9DTkFBeVJscUZrUUNKRUFDSkVBQwpKRUFDSkVBQ0pFQURoTmNBQ1pBQUNaQUFD
WkFBQ1pBQUNaQkF6Z2pRQU1rWmFoWkVBaVJBQWlSQUFpUkFBaVJBQWlSQUE0VFhBQW1RCkFBbVFB
QW1RQUFtUUFBbVFRTTRJMEFESkdXb1dSQUlrUUFJa1FBSWtRQUlrUUFJa1FBT0Uxd0FKa0FBSmtB
QUprQUFKa0FBSmtFRE8KQ0JUbXJDUVdSQUlrc0VvUmNKcWFwZW1IbVJMcW9GWk9UTHlmdmlBc29i
SVNDVmVVUzBGMW41aFVYWHZhdG5pdU9IVkx2VUs4R25vVgpDL2NmS2FHU1hobFZvSzEybGtqRHNx
aThUclI0YVFmTWk0L2xaSVE0cUpSTjRKT0xrbStqUmRPR0t2cEt1R3F3SDkrMmNwbTAxY3h4Cno0
MnNpTGhRV1lVVURCcm1wdzE2V2hmT2w3YWxnWFpvRld3N0NnWU1rSUtxdnNIa2FmdWRsaFpwbmp6
RDVMUHR0cTBMbm9mNzlwYkMKb1FQVGxzOE1KRUFDSkVBQ1AyOENQZFlBYVptelFINzY1ZEdtZC9T
eDdmVlM4TkdISVBmY2hucUpOTFdtTHl5UVVHbUpGUFF0azhJUgpBNlZvcmVGU3VzVkdVcnJqdHAx
K09OdHk0aDBiLy8wM3FmL0xwU1lxVk5EbUpnbTd4OEoxdHBUeTA1NklsNjNEc0lhSEQ1ZTJXUis2
CjZXSnd4TFpmMm1JR3Zqek54R20xNFI2MzFnSlhuc2FiT0UrUTArSVc0Rmc1bXEvOHBMRlN0T212
VEhxbmZvWFVucjZENW5IVHRYbnAKQmNmQ011ay80ZDl4MjlPNllKNHNPT0pnVlpTODhsU3VrYUhs
aHFzR3lOQlhuNHViTDlYQXhxK255TnlqTGhSWlhoZVZSVXN6NXhaYgo1Y21IU2ZYNXY0OUs4M004
YWY1cHJzemVkYlMyM25hczEwb0x3Z3NPMlhQdlBrUDZVS0ZHYWovaGlGKzR2RWp2bzJGU3N1VkdV
cmJUCmRsSzI4MDVxQkpSMEdiYVZZdytUdG5sVHRXeTlkN1NDL3Iya0paYnNlNEVVNzNGdVJtVzN2
SEdadEg3N056ZXZkMStFSWdCTXVJZkYKdEIvM2hjVmp3M0VlZGIrQWNJdW04eExDRDJlUDZ2UDhq
aFJ0ZDR5VUhYV3ppY2VmNXYrK0lYVVBuaVdpOTVKTmIrKy93czEzbHo0WApQK0NuRFhwV1BIcVgx
TDN5Z2kvWDVNWDlwR1gzT2ZjYzZYM1VVY0hrYWZsaGZNdy82VXBaK2NyYkpwL2ZMdjk2Y1J0YU1H
eWdESDMrCmpyUmtNekVKa0FBSmtFQitFT2l4Qm9qVDFpYU9wMGlxeisydG9BYUFFUCtCYUR2VGZU
QTZVRnJVaGVvMDU3STJhWjB6UlpvK2RXVGwKVTVxaHRFREtkOXRKS2s4OVdZMlN0VzNHckIxYlBw
d2dvYllscWpCcFdXMmVJb2U2cUJMblRIMWRsYXJ2SlR4NDNiVExDNFZyVlJGYQo0dVh6TkIwUFFO
aHFDRjZzNDlrVi9pdFJWVXpnL0hEdlhEeDdCQVpFQ0g0YnJsZU5VWUxDcWhUQnlFQnhUaE5FZUE1
dDB6WnFPQlNlCnNHZW9PQTZFTk5wRTdZK085a3V6dGtQTGdVaGp1QmhsVGRrMEZyVlBuMFpJNDFk
cWZCeHlsbFpyR2RROU42ZDNzSGkwTzZUdkdVZm0KaGZGaDBZRkZxS2hRaXRkYXpWTHhGV3EzWTVI
U0JZVy9vYkQrUmVmbzlSdVNGcEdXQmgySjBMZjB5NVpMNjA5VHBIN3U5OUx3eitlawp0ckpTZW84
ZUxSV0hINjN5TzlkM3FFSFF0VXo5U0tSMmlvUXJ5NlJnNEdwdUZBeWkxbWFSeFpPbDliUHg0dnpx
TEsycnZkQ0R1WlA3ClEwVnRVbERTS3RKN21CcFE3cWlPMi9yRStmenJ4ek8wN2JteFgvVGFoMEZ0
bkdmUWd6bnVHM1BiZVBlUHMyeXAvbHMwVDFtNS96YloKMHZEdlJMaFU2MVBVUjBMVlExMURaTVZL
SFJXWjNTNnR6V09PK2xJanJPMElEUm9nb1Y3dWFFZnIvRVY2L1MvWC91dW9SVkdTb2s1ZwpmQ3hR
NDZQdTcyOUxxTHhNaWtZTzBYYWdKVnExWlN1a1pmWjg5VGxTT0hLb0RIbGVYMHFNaUl6bW1FVDhR
d0lrUUFJa1FBSktvTWNhCklPZzlQTWdMaGd5UTFkNTUzSFNtZmF5NmowTVRsUENQMDlxcVNtMkRx
empOblNmTlV5Wkw0MmVmU05Obi81SEdmNzh1Q3o5NFF5cU8KKzczMFB2NDBOUmJTVjJUaUZkeTJh
SWEwelh4WHA2ejBrdkxMUHBCUXNUZE5SQ3ZjL004cnBlWGp4NlRsczRlbGVKK2I0bVZQR2hZdQpV
Mldqb2tVS0QzeEJRa08zUzVvMllhUUZtREJCZ0t5WHR2R3BrNlhsNnpkMWlDSTZjN2kwVFJXNGN1
bDkvU2RHbXRQY29LTWlXNnNpCmxZU2xpb2V5RmFvYUtQM0h2V1R5dFMxZUpQTVAreitqVENXc1Zn
Y1J4dmc0K0kvU1dydGNldTMxQ3hsNHg2WGFwNm9ZYXI3bEUxNlcKeFZmZFl5UlVuWCtjR2gvSGR5
RHQ1eGRkTkdLb0RKLzBXS2NhMWxaZkx5MVRmNUNtLzMwbWRhLy9VMXFtZkNVcnh0MG1qZSsvS2xW
WAozWkZ3cWxBbWhiWjhwa1o4U1lzVS8rcDRLZDd6OGlnUmpmZHNKVzJMcGtqYkQvK1Vnblgyallw
TDVRVFhuMVBlTE9IZHI1WHcyb2VrCmtpVXJhVm8rR1MrTmZ6MUgyNlhHUnNCaFpDZXNiUzNZYkZm
cE5mcHVFOVA4eGI5azVWM0hTempHV0FsazB6ZzFFRlZXNytOT2s3SzkKRHpOUnkrNjVVVlkrODdo
NTJSRk1tNnJmTlQ3R3lBb2QrUWhYVnVqb3hwK2xaTlAxVFBhV0JUWEd3SWN4VXJqbWNJMGJLNFg2
YnpNZApDWkFBQ1pBQUNjUWowR01ORUtzS2g4TDZobDBmaHBrNWZjTTVlSkRJT212cGxKRWRWY1R4
MHJxNFJsWk1HQ2QxZjVzZ2RVL2RJODZpCjZWSjV3YzFaTVVKYVB2MkxLdGh0VXJqVnJ5WGNKL3JO
WU9IMnZ4Zm4yNGZFK2U0djR1eHhwYjdkVEc4T2U2Z1lDcjhxNzJyVTJEZTMKbVRGSkwxZW9WUG5E
YU1BYmFPdGdTS2pTSktoUHIwbzN0S2xJQ3N5YjNPZzN2RGFMT1JvRFJOdWhqTUlWdlUyUTAxamZY
bjVVcHVRbgpqVjlPa1RtSC9GSGExUGdvMzJ0SEdmVFF0Y3JXdmV5WFB2eTgxRnpsS25YVmw1OHFW
YWNmbVZ6WXp6QVc5eEVNK2M2NmNGbVpGRyswCnNmbFZISEdzR3ZNZnlQSTdyNVRXNlYvTGtvdU9r
cXFibjVDQ0FVTTZXNHkrTkZnaGJaTmZNTmRFNFpaSHRKTlhzTTFvQ2Ixem9iUjkKK1VCR0JnaEdJ
RUs0bmpGQ21VdW41UlhndWxmREllZ3c4b2lSakNoakEyRXc4UFdlVCtUUURtT0VCTzVMakY2WlVS
RTc5VE5SNWpqaApadHJWaVRyeThhb2FIN3F1WStpenQwZU1ENTBPTy9mZ3M2UnA2a3dwWG04Tkdm
TGNIVkk0c0RxT0ZBYVJBQW1RQUFtUWdFdWd4eG9nCmVFeERlY0xQdXJhVjliTHNrUmZzcVhzMFUw
YjBiYUErdEkzVFk2aElwL2lVRkVwQm45NFM3bGN0aGF1dHBtL3JkSHFEdW9McWZ0TG4KanhkSzJT
NjdTdTJZMDZUeHZWZWtidmd3S1QvNkhCT2Y2UjlNR1d2OVNnMFFWY3dMdDNZVjNiYWF5U0pOSzNT
YXhDWVNIclNSaEZmZgpXbVRCdjhYNS9ta0piWFJjV2tVVlFPSFhFUkNaK2FRNFN6N3c4bnAwN0JR
UUM4dnFPRmpVV2pGU1FxUGNONlRPeWxuaVRIa3FVbTZiCnplOGVUVGJvUE9weDdJTFk1Vk5jd3lk
cUJNU2JObElTclNCQnNYT1NUZi9RT0x6WkRzY29WbERNUWpHeUlwVk03R3Y4YXJJNzdRb2oKSDN1
cjhURXVZbnpVM3ZPRUdmbEF5L3BkZTZiME9mSFF4SUorcmpHbVEvSE8ydXRuYldkcjdUSlplSTQ3
QWhmQ1lKVzNQZ2tLdVpsKwpwZjBjMGhsVklSM0pDcFVVcUtGWUllSCsxVktrOTFEeEpwdXJrYUVH
dmJxU0xiYVhvcnRma0tWajFLai80VE5aZnRzWjB1ZTZwMVN4Cjc5dy9PYTNmL0ZVS3dzc2x0UFlP
ZXUrdXFkT1dmcEsyNlcvb2RLQitFbDd6TjFLd2tkNWJuMXdtTXU5ZkdqZE5RcFdqVEgxUy9XT3UK
dlRLOWo2YmNKakw3NlpTeVllYWdGT3NVcWUwZk11bWROcDBLOXZZUnJsbG43eUdOc1d1aXNKN0RP
QngwdWlHNndWa3l3MXo3VWhnOQpBaUpxTEpoUmthSkl1SjJXRlR0ZHl4WHEvZFZwcHJpWGd0T3Qz
UFU2V2xuN2IyRlVoc1FuWnVUanRNdWsvazAxUG5TemdTRlBZZVRECm5TYmFQSE91ek5IUnhSWTls
bXl5amd4NTV2YWNiMGlRdU9hTUlRRVNJQUVTV0ZVSmRFNGI2UFpXUlJRblZLVk41MGJYWEhPdlVa
QngKSHNJMEJEekE4VENHQW9XanZoRzBiK3ZOQWxZdnZtRElZQ2svOERBcFAyUzB2bGtzVm1WcUcr
bDc5VDJ5Yk15UjB2REszVkx5aXoyawpjTlRHRUp1UmE1djJwb1FhZjVMUTREV2xZT1F2eEdtb2xa
Wkh0OUI2dFVyQmdhOUthTFZkcFdBTEhRV1o5SjRhSVBlTHBHbUFoSXBWCmpkRTNwVEpEMngvcmpL
S3BnUmFYUFVlNlFidUplQVpJYU9WMENYMTFnYnUrUTZOTU1tL2RoN3NBVnQrVjJ3VzBaZzU3U01J
Njd6MWMKcnFLREJvaVdFKzZsU2xoUW1VS1kxczhKcVZLVXdLRjY0VUQvbUdRSXhCdGIvTkp3amQ5
TWxubS9PME92aVJVNjdXb25HUnd3UHBiOAo2VkZaY3RNNDA3NEJ0NXd2bGNmOFh4cVNmMFpKbFMx
R1AvdzFDdG8wcDdGSlZtSit2L2FENlF0dzkrNGJyQm15OTQ5L0wzbnhvSUwwCkpUdjhVaXBPdVZo
M1BocXAxMENGOUxseW5OU2V2NCswenZoRUd0OThURXIzUEw1VEFOdStlZFFvMWdXYnUwYThNM21D
T1ArNVNrUkgKMnB3MTV1am9SWldFTnpoWVFqOCtLczdrK3lXMFZaclRHYUdjdy9CYStoK1JaZm9M
T252ZjRKckU1WWdqRGdndkdXRDg3cm5laC9PZgowN1ZlYnBBeFVOU0xsVTN1NG5SbERzTUQrYXd4
b3ZkUlFibWFnckVqSUJnWndmVEtZRGlNUU8yVHFGRVJ0eWovYjFqVDRIN0RXaDNmCnFkK01uS1J4
THpuTkxiTG8zRXVrWWRJa05Td3FaZEJqYW54czRoa2YwMzVTNCtNc2Faa3pYdzNPRGRRd3VjMjgx
UEhMbzRjRVNJQUUKU0lBRUVoRG8wUWFJVVo1aUdnYWRJRlJaSW4yT1B5aWlGRU01aGdFQ1RRRmFn
YU1QNXRaR1hUeTdYTjg4enBmbUg2ZUlzM2lPMUQxMgp1elIvL0pyMHVmWVJWYXA3NjNTU2JhVHNn
TjlMdzkvdmsvcm5icGJlRnp3ZVUxcnFwMjFmUFdhbWpSUnM0VTRiY2ViOVc4OWJqR0VrClArbDZC
elZBUW11cDR2VDUyUktxMTBXMml6NFc2YThqSXFtNjFWWHV3TzNkMUZibjhCUWtYMFF3dkc2R3lF
LzZoamY0TmhUcFlRRG8KQWx3WmVZVC84aFNLa2hIbHZjMTFjUFNWS3hNaklYMGJIWFJHVVlVQ0ZI
RG1qYXhFaHdXaVRTRm1PbGNnSHhiMElsK29PRW0rS0NFNgpxUFROZDdMZzJOTkZWcTZRaW4xM2tn
RjNSMFkrYXE2L1g1YmVvZjJvVS9ld0ZxVDNZWHZINU02alUrOTZzSXVtYmN0aHRCZFVWMGovCm15
NVNUdmErMFZqMGhaNGJ4YmxORGNtV0puTVB0ZWs5MUtJTDBKdi85NTQwZi9HbTFKNzNzZlM5Ym9J
VXJyRysza2VWVW5IaUdGazUKOWpocGZPVk9LZG50S0ZXZWkyMVJhUjBkWFdBZXF2bTNyblhxSmVG
MURqUjVuWVh2bVBzcUZLNVJwZjhka1NHN3FRRnlzbzVlUEN5aApHUStMYkg2MTN2c2xxWmV6bm81
MHJwYkdhRmpMTWgxeCtYMzBmWVRTQ3ZSWHFFTkYyejVoN1JSVEJ6c0FhTzRhNVc5WUlzYU9LRmFz
CllkTDVmOEJmci8zZ2FBZjZ3SXlLZUtOVGZ0cWdCMU93Y0M4SDdtOWpOR3JmQnNPQ1dXTDlUa3V6
TEw3b1lxbWZPRkYzQnF5VUFROXAKLzIza3J2bG9tdnlqekRub0xHblZ0UjlsMjIwaWc1KzQxYXh0
aTVYQmN4SWdBUklnQVJLSVI2REhHaUQ2cmpCZWU0eWhVZENuVktvdgorVVA4K0FTaGpSOU5sQlgz
ajlHRnRQK1ZGZmRkSnBYbnV0dEhsaDE0cWpTOSs1QzBUcGtvcll0K2tvTCtJeEpJU0J6czFLdHk5
Tk9MCkVpN1RONUNZSWdLMzRGMVZMRlN4eHB2bWVjK3FBdkluTlVaVVVWcjNXSkh2YnhHWnFpTVo2
UmdnYTUzaXlrMzE3NEszM0NrbUFRWEYKSU1VVlVibTZ5R2FSTjhleHBHUFA0eFVKUTBKaWpBWk1w
WEtTR2lDcWtlSHRiRXcrS0ZJd2pGSnhUZDk5Snd0MUJ6TnAwSkdQZlhlVgovbis2UVpVMzl6S3ZH
VE5XbHQ3N2pPNzJWU0NEN3IxQ0t2N3ZWNm1JL1BtbTBZN0VmZVFyd1Y1THc2bzNGK2kydXVYNzdK
WlcyMXNYCkw1QVZkMThrelY5T2t1VmpUNU8rdDd5bTEzZVJGT3Qyc1kxcWpMVE4rVXBhdm5wRGlq
YmJKeTI1Tm5IYmQrUGROUXpycTZGZVZDNU8KbTU5WG52VUFBQ0FBU1VSQlZJNGVMbjNQSGZuRG0v
NVplaCtwQVNMOXR4R3AzbHhITVQ3WE1OMjZlYVIzejFsQnlZN1YyMnBlL2FYcQpHaGZxdGFtSjNV
c3NrZ3YzbFJxNU1pTDVRdmFPN2lVNzNRcWpVTlloRFBlU1lOUXpnYk5HU2lob3BLamhrdXBvSW95
UEpaZWVMdzN2ClRIS05qL3Z1a2VJTjFqZWxOWDA3UmVZZGNhWk9jVnNpdlhiYlJnWTlmSk9PZHBV
bXFBbURTWUFFU0lBRVNLQTlBVHdtZTZURDZBZVUKcDlnSHVKMGFrbTZqU3JiWlZmcGVvd3BPWlpF
MGYvS2l0TXo0eG9nSWwvZVI0aTMzTUZNZVdyOVZwVDBENTB4K1V0YzFOT2djOWQxMQpycnE3MWlS
Yzg2YTc2TFJVVzlBOFcwYzgzbmNscjYzS3MyNXZLN09mMGxmNXRSbVVsbUlXZ0lQU0ZIc0ZHTVVw
UlJtSmtxbHNkMkY2ClJHa3lTVEdWQjRaSklvZDhPdm9CNWNsMytzb1lzc3gwRWo4d3ZxZDU4cmRT
ODhjVFJQUURkV1c3Nyt3Ykg1aGlWSFA1VGJMczRTZEYKeWdwa3NDNUV6M3ZqdzBlbzkxRndDQVRY
Qll4QS9OSjBCZFVEcGZMQ2U2UncrRWlSbW1uUy9OSEx2b1NpYmZZM2k2SmJwNzdyaDZYagpjWFRF
SlRSZFJ4RXhHcmJ1Y1NacnFPWkRQYTdRcmJON3U5Zng3T2V4ZDdNcmRwM1R0QTNxL1RIT2xFUTNS
ZmIreHJ0bmNHK2gvTTQ2CnZSZk1TNHJZSGE5MDZtWTRzQzRrdGhpem1CNUdlK0QraGlGZlVLYjNJ
UG80aVlQeFVUdm1QR2w0L3cwSjlhMlFBUS9jN3hzZmpWOSsKTGZPUE9rVS9jbGdqdlhiZlRnYU52
NW5HUnhLV2pDSUJFaUFCRW9oUElQQjRpcDlnMVE0TktLcGVSV0dBUk0xN1RxTUJCVVBYa0pLZApk
Y3RYblcvZC9PbmYvWnhGK29GQXZIVnNtL2UxSDVhV1orckRxa1RyZzMvZDBXNjJ1bG42SFFQZG5o
WmZhMTduRDY2aTh0TVRibHpGCm12b1dkdzk5TlYydkM4ckh1MkZkOFJkS1NLemlaSlJQTDd5VFpS
cERJamlTb2JKTldBZUtyVEVnZy9QZFVRK2pFTGZ2NjJBVm02ZDgKSXpYbjZCb2FHQis3N1NMOWJy
bEozNUlYNlZ2eU5sbDgyVFd5NHVublZWRXFrc0hqYjVUeVgrOFV6SnJYZmtNMXBrODZjdytGaWt1
bApkTytqemYzUy9PVnJQdHZDTlRZMS9lZ3MrTllQUzhzejYxVmRENjlyUEtyWGxkQkFiNXZwV2Jy
aEJLN1p0VS9VRDdqbzIva1dIWTFZCjhJWXJkc1R2ZElSQWQyQmJxb2I5c3EvU0tpcnR4REEyOEFz
NkdCOVpNRURDbURxcVJsZlVOdGNhaG45UG9zS0NaYXZmaklDb2tlTFAKbzBTOEhRRUpHdmd4K1dC
OExMM3ViR244NEhYOVNLdE91N3JyQWQzWnloMzVhUHppQzFsNDRxbmkxQytUWHIvZVdRYmVwOGFI
ZnN5VgpqZ1JJZ0FSSWdBVFNKZEJqRFJBemRVUmJHNldXcWpKaTFoN0VLRlRwUUNuYVlCdWpQTFhP
alNoS29iNER6VnQ0d1hTTE5KMno2QlA5CjRLRk9CZWxWTGFFUis3dTVaK21iV3J5ZEhLWlRVVWI5
WGhVRERaNzlyTDY5YlhiajF6elZEWnVwaTlHN3lrRnhnOUlVVkpKc1dCYXUKQ3N4Uk45TkVBdlUz
YjNJNzJNMEtSa280MW5CUlZtWWFWa0JXME5zODlSdFpjdkZ4T3UycTF1eGVWblhkTFdicUQzYnZX
WHpaWmJMeQpKWjMrVmxFc0F4KzVUWHJ0NHEyVENRcklaejl1SVBSN3dKbU5HMVRKemRRVnJyR3hH
VEZzV3pUVkZ4R3EwTVhoMnJlNno3VWZscFpuCjJzTjZyV3FkMWo0K2ttMk8za2U0Zm9jZjdFNnp3
blg3MHdRM3ZyQmNaUFZqM1BzbzNzWU1FU21kODRFZHlvMWhhT29WdkxjeUxVWGwKbW4vVEFpTWdX
TXRtdmc4U0NHc25Yc3QyRjV4SCt0RTFTaEliTGpBK2x0MThwalI5OUpwdXRWc2gxYmVQazZKMU56
Q2lHei85U0dyTwowR21ldWcxeStiNjd5NEE3cnRjcHBFWHRpbVVBQ1pBQUNaQUFDYVJDSUF1cVpp
ckZaRDhOcG1EaGZ6eUlnODQxUUNJUDNXQmNLdjV3Cjc3NUdlUXExMUVXU3R6YW9vcVBsWlBEQURl
bm9CeFo5aHRZNldqVUM3NEVOQXdSdWhDcE9mVGR4ZnkyTGRCR3ROK295UkEyVmNsMEkKWHYrZFRz
MmE2S2J0aXI5UWtHS1ZKRndSc1dGcGxtMFdqbVBxU0V6Zm1CR1F3RnoyZG1LeFFsZU5EZlJobElN
Y3ZNMk40NXFuZmkyMQpseHlyckdxbDlKZS9rcjVqYnRQOE92S0JPZXlYNlJ6MjExL1ZuWG5LWk9D
NE82VnMrNjNqU01qdklQUGRpY0E2QWVqUjVoNks3WU4wCk1Pa29DTzZYVU1nenFKRzNjYm1SR3k1
VHd5QmRWejlmUXZQMDNzQVd2bXNjNCtaZXJDT0lEVFBVc05mN3BGcEhSRlk3U3VPMTlndisKcWlN
aCtyVnZ1TlZWWWNhMVBGZU5raGFkcXRWVkx0YVFSemtvTnh2L3VzSUF3U2hJVUpiZVcyYU5WUklq
RWJ2cm1YNk15V2QyQmd5RwplVXlNOFhIckdkTDB5Yi9VK0tqVTc3YU1sNksxUGVQam8vZWs1bndk
K1dpdWsvSUQ5cFBxbTY1VDJXZzBIUW1RQUFtUUFBbGtSaURPCm95Z3pRYm5PaFJFUW96d0ZGQ1Vv
VDBieENZU2xXeStuZHJZcm83S3ZuOVZaK0oxNUExL1FiNlFmbHBJSGhzc3NYWGNBWldUVThXNlcK
dXBraVM5NVRZNlpNcDFydDY0YU5WQVVhYVdZOTZwN2pBd3dqVC9MQ3VtZ09PMkJCaHpEUTNHS05Q
MXVLRStUZ0YzQm1lbFdNVVJLSQpOblBUd3pCUUFnb3g0aE1weEMzVHZwSmxWNmxocHlNZnhkdnZM
bjB1MFlYOE1ENmFtblJFNUN4cGVQc3QzZEdydHd5NDcxN2RKbFFYCkpkTzFKd0JESVhpL0dDTVFC
cC8rTW5SdEM2Y1ptZUhxd2I2RXRubGZhcGp1ekRSd1RUOHNaWSt1L1JCczN6eHNQMTN2TWRETmhw
RU8KL09zMVRJMTRXTHk5OU40Y3NMTytsTkFYQjNPZWNkUDAzbEEvOHZKTEhWblVuYXJtL2lYbDR0
Sk9pT3M4Vmg5SDNmRHJyTVA5Q1RudAo3bFBjSjA1QzZjWm93YjJFL3ZTY0NVTy9Cc0lRQmVOanhk
Zy9TTXZucnd0ZXdQUzUrbEVwV3RNMVBocisvWllzdWVJMENlbS9aUlVICkh5cDlyN2hLamFGc05N
eldpa2NTSUFFU0lJRjhKTkJqbnlSbUM5Ny9aKzg4QUN3cHF2Vi9KbTVPYkdSWllNbEllQ2dpZ29J
OFREeXoKWWtBTWlNZ1RGUlVVTUFzQ0p2QTlWRkNDQ0l1b0NMem5RL0gvNUJrUkZFRkVRVUZFQVlr
TEN4dGcwOHhPdlAvejY1NXZwcWIzM3NrNAozTG1uZG51cXU3cnExS212Nm5SOXA3dTZMNS92Nlp0
ZnMwa2FMcEk5SFJsaGI3YmY4b09NUERWdXYzZXZoTTY3L080cjVHbnBNSmZ2ClBPUlBPanI5UmZL
NSs1ck5jakpFZVBEU25BQXNmcTNMbko2bmJmMVczM2NHczhycjBUS3ZyWTkyRXVocEszL2dhU3Z5
ZkdQNVY4UW0KSFFIbDBrWmFKN0xZa2xESmtVaXlaTVMzMzNJcmw1RTVMZ1ducFBQKzIyM2Q1LzNI
M3R6NW1QUThkejQrOWhYUDU4N0hwbFovOHZGZQphN3Y1Vi82amFiNkcvZndMalYvb2pqQVFBcWtS
MFczOEczbm91UEU3bVEwMTdOUm5MMTEzL2srV1ZyL1VIWUxoaGdlVzVTUjh1NlB5CmtpeFZmTmpm
bVdMczRyd3JiSE5rbnZiSUpVcnhKeU05VDBHV245K1hOdFo3T0NCc2FlQTR0YTMwM0hEM2taUEl5
cDR3dXROWVgzUjYKQ25LejMzZEpuUTJYa1Q4VjZldHZuSStONTc3WE9tNzFKeDh6Wjlpc3oxenF6
a2QrcmRyMDYydHM3V2MvNk5ld1RwdjJ4aU5zMWttZgpkbDl2TkNPam9HQWNCZ0tCUUNBUUNOUXNB
c20wVmwwWWFCTHVkL2ZXWFk5c2JYUjZSM2NZeldyN3hUZXMreDgzK0plcXBsclRzdy9OClNuYmUr
V04vWXZFMy94cU12d2V5M1VIRGtPWlo3N3M0SitHODU2SHcwTGR5c3JMdGtVcnhsOUVYK205NHZN
eVBuVmpwVHUxay8xclcKZ2xkN2VkSXU2c3M3Vm52d2lLZVNPREd5RXE3Q0xuMVRYSmJWcnptZUtl
dlBma3RMOGlWWmFUOTNQbkM3YmZqUzRWYlh2dFltN2ZjUwptM0hDMlY3T25ZL1dqZmJrS1VmNzcx
SDgxaG9YekxXNVgxdG1UVHZ2MnErS09PaERJTGNoK3FRdkxkdmpMdmtJbm9Ed1dkeE5QenJUCnV2
NzJHeC9UMDZ4cFgvOXRHZzlkOTF4cnBZZHV0dEtrV1ZhL1M4OVR2K3pNRVA2c3V0RS9kT1h2WTAz
ZDBtd1JOdUtCNVZpOGNEN1QKSGN2WmZUY0tiSkYvOGhhbm5rL3p0dHlUNTEzb1QwZ216L2ZqMnp6
OXBqeHRMUC9LanBLeG5vMTd4bjhSMTVIVWk5emlWUm83d1VZSwpUbmsvOFN5QkxGNEhzeHMyT0Ir
NXNxV3VEbXU1OE4zV2Rmdi8rVExGbVRiamsveDJTNC96OGF1cmJQMVp4N3ZEMFdIVDMzSzB6WHov
ClIvdUpqNE5BSUJBSUJBS0JRR0EwQ0F4eUQyMDBvdjlaWmZ2dTVsRWpSOHl6QTRYc3pxQlB2cVdX
RGRiOTVHUCtLODEvdHZiZlhtSGQKOTkrVWtiSEpyL2ZmanBnK3owb2JWbHJIMVNkbDAzWFRBU2Y2
MG9OaE1Jb045L25UaTJ2Tm1xYjZ1eDV2enRWWmZZUC9PSjRUSTlhdAp6Mzl4ZnhXWEhPbWZMdjJS
THgrNXhHenA4Zm01cmYxbDlEWC80NFRyRzM2bjkrUE9HNHBNcEwrSVlSMkoyS1FpU2FPSk9UOFps
cmpOCk1rdCtlb0lsSStrZDJmVGNvUHU1VXZSVnkxbUgrenNmNjYzeDJTK3o2Y2QrTFhNK3VqZXV0
N1dmT2NvNjd2eVQxYy9kMHVaODhWdlcKdVBYU1FhWFdjb2I4RjlBM2Y5cVJPU2IrOWJETzVRLzFq
UVdIMzM4eHBPK1lYNkxzNnZRblRtNURhOTJHSHZiZitQakREL3dIUGUveApyNCtWYk1wYnp2TGxQ
UFBkaGg2M2poOStJQ1BEalFmNmoydzJUeHNlNVBlN0UrL1YyalpIT09IdXVWemh4RE1jVWljZXFi
eDR2dmlOCjdyQXZ5KzFveDg5Nm1XWlBlNWUvblA1RlQvZmxqTFAySStmWUJtd210U09rYzV3UFdZ
N0dQdEFmeFRxVFduQXFXYUthNW1FL2MwcmMKQm5FK1dyLzU3OWI1Wi8rdEZ2OUF4dFFUTHJmR2JY
cWNqMTljYmh2TyszVDJZNlBUM25xY1RYdkwreFBKc1JzSUJBS0JRQ0FRQ0l3ZQpnYXAyUUpoTXN6
dUJDUTdaOHAxMXErelJBL3p1cUMrYnl2TVFjNmVYdTRJOWFaVHQyYy9lRy9FN3Z2V3o1OWprTjMz
V212WituWFUvCjhiQzFmZnN3SjdxUFd2MzIrMXZEUGs1aWhoUHVkeElFNGVZTFBVMHo4NUo4Vmhm
U0FKbEttUUZuRjd6Uzd4clA4L3IrNUo4TjlhOW0KemZSM0Z1YTh5RjlHMzhuZmNiamJIUkcvNnp2
M1ZlUWNtd0E1YXZJdEpUR2tjWnltK2VHSUFqS0tCTXpUQmx2QlFmOTFKM2ZmZFplZQpsOU83SHZx
VGJmemFZVlpxVzJkTis3ekNwcjQ3ZHo3UXIrMW4zN1d1ZTIvMVBxMnoyYWVkSDg3SEVEcU41VFRZ
UUwrbkhmU1o0OSs5CmZyV3RmTXUvOWRwSVprZXlHVCtmRWRtZWZzcHNMck12dDZGRjI5aVV3OCsw
eGwwT01yNkMxZmJ0dDFwcDdYSnIyRzVmYTNqdUI0YWcKVlpLbGM2TTdEbGZrNDNIcFVmbUp0bFgr
b3JuYkFzN0lWbTlOTXZmc2JuV2tmOHpCYmUreFM4MTJPQzIzczhYK1B0WERaL29TUjM4MwpwT1BM
UHU2MzJMemNhRkxLT1NDa3VmbVBTYUJQaXJhRTRFSGs0MkQyeXlJNVhlMjJhZG5SL3FPUVBjN0hj
VmYwT2g5OHRuclR6NzdsCmx5Zi9pdDB6OWc3blkwdzZNSVFFQW9GQUlCQUlGQkdvYWdlazJCaU9z
N3U2UFk5QXNwdnR2WTlEZlBiTkptRCsrTFRjNE94NzJoVC8KWFlHNS9zTnBPMXJUSGk5d1V2dWE3
TGM1T202NjFOcC9jcm92OFZsamRZdDN0ZVkzWE9yRTJkbnpVRVBKU2QwRDM4cnJFM0hxYXZVbgpH
VTZBRUxQa0hadEw0azd0SWwreTh2RFpudStTM0FHQmZXOTVqQy9sT3RIVC9PN3RXRG9nMGdBNDBz
QnhNUzA5UDlUOW9oekpWRnhCCkRwU3BuNVBpWFVVWDh0c0RMZWUreVoyeGRkYjRySmZiMUtQUGM0
ZXliL2hPZnVWUnR1azMxMWpIMysrMGx2KzZJSHNucEVJVmtkeUwKZ0FPYmhhUlQvQ2xmNDFaTGNt
ZTl4MkhQbHZyZ2ZHVExlbm9jK1NZdjA5eGc5VzVERFhQbVdzUGlIYXhoMStkYjR6UCsxWitNdEZ2
NwpyNzVxbmRmNUY4bTYxMXY5VnJ0WjgySGY4L0t3OG1FRWZ0bmN5OXU4QTh4bTdKd1hYUDVkSDUr
K0xIRWhEdnZDellYTlB0Qi9iSElICkh5ZjMrdExKWC9nWHNsN2l4OXU1N1J6aVM3Q3VjZWRsbVRz
dUoyeGVialFwd0Zkc1dnTHBhRVJudHNnMUk1WEh2clpLd251V1lQSEoKM3Q3UWs5WiszWmY5eWRR
Ry8wQ0RQL2w0M3hYV3NDUi84a0UrWGpDZjhZR3YyWk1mZlpWMTNYMmJiZnJsVlRiNWhhL3JGUkU3
Z1VBZwpFQWdFQW9IQVdDRFF4K0RHUXRvL1hVWXl1WHJkRGZQbjI1SmIvQW5DQ0FMcjF6dHUrUi9y
K09WLytvOEUraklTeU5lc3VUYjVDSDk1CmRwby9tUmhPZU96bi9pVGpRVE4rVkhEZVFYbkpSM3dw
VmNjNmY2cmhTMENtNzFKZTJ1SWpmZW1JT3lDUFgyYTI0NWZjV2NFcDhiUUgKUCtVNi9jUkoxZjIr
bm4ycGpVbUF3RUNhaW41VmtleU1wcktVTkNGbk1OTGtaSWs3NnlXZUhDbDRtZXd1UFo5Rjd0eGtE
WHU5MnFhOAo4L3pNK2VoYTliQjEzdjBIbTdUL2F6eFBzODA4OFd4NzR2alhXSnUvUE52eUwvdmIx
SmNmSmlrUmwwWEF3VTJnSmt2REZsdll3dS83CmUwOGpDS1hPZHV1NC9wdldjZDA1L3M3Rml1d0pw
RTJkWnBOZSt3MWY1ak4zK0JKNWg0cXc3VkY1ek4rSExzbDFYbklrUjV1SHpHbC8KaDluOUorZU9Q
QTRJWVV0ZnpwZzVJQmY0a3F3UCs2QXFEczQ4MjdEL0lxYWN6WXlSK0V5ZlFoOFYrNnk4emw2b1dJ
NEUvMS9ubjBTMgphWE50eXJ1Lzc4N0hIbG54VFZlZlpVMzdIV29OQzVaYXcxWTcyTFNqVDdQMVoz
L1UxcC8vR1grYTlVeDNTcmNyWDAya0JnS0JRQ0FRCkNBUUNJMENnU0Q5SElHS2NpMncyeVk1UUgx
OFRYVDkxcGpYc2VJQTdIQXQ4bnZaL0cxZGEyMFV2dEs3N2ZqVThvZmRkbE9mZjlwMTkKUkFmaUJD
blo1c2o4WExtL0xMdWF2cGM3S3I3TVpQWC95M00wT1hHYjczZitlZUgwY1NkUFl4blFoMDJoZUt6
MGtjVDBTOW8zN0tkMQpsWldwOXhIU2doVHpmMTYyWWM5WDlqb2YzU3NmOEJmUkQ3V1daU2RhMS9K
N01ta05pN2ExNmU4OVBkdGZmOTducmVOK1g3b1dZV0FFCnNqN3BqL2ZBQlNxZnhRbHMzUDBsMW5U
d0I3SmxpOWtTci9ZV2E3L29ZT3U4NlN1VkM1WTdzOTc3YnZXdjNZbVo3azhNZmZ3VDF2N1oKTjMr
Wm5DVlVDd2RZanJqbE96eXpOMnoxVmU2MHJzMksyaFl2OXljbTIrVExHZGY1azVHeERKWEdkYVgw
NGRZOVFqbVZmS3pTbERrMgo1WmovN25VK1d2L3JGUDk0d0ZuV2NzRnh4bzBZd3VSL2ZZUC9ybzQv
RVc1cnRYVmZQRDc3dFBWdzFZNzhnVUFnRUFnRUFvRkFKUVNxCi9BbUl6OHpKNU55OWNhT3QvOWJG
VGxhZFVMSGN3TjBybG8xazcySmt4K3c3Rkg3bnY2NngzdXFuVExJNi83MlArcmxiK1YyL1hhMXgK
ajBPeXJkUjloblgvL2VmVzhhc3YrSXZrdDFubkZiNEU0WkF6cmVGWi8xNEp4NzcwdGpYK0ZPT0hm
dXdWNlJPaExRKzVuRjk2dlpQOQo3dXNnZCtWNTRuSHZoL0s3dC9NUHplVnk5M2IxcGU2QVhPeGs3
RlFYN1U5R25zcVFZRHJpYXBCUmxPUHdiNWFXVnVCcnJmSVZjNFdDCmZ0aXd4NnRzMHVGK0o5MlhY
WFU5ZHE5dC9QSWIvWVhueDUxZzF0dUdyeDFuTTArL0tuc0tNdm1nVjFuN2JUZFo2NCsvYjJ0UFA4
SG0Kbm51bDFVMXkzQ09VUlNCMytmcnc3bDYvenA0ODY0ejhDU0MydzVOQTJVN3Z2b3Z5Zld2eUpW
aVRtak1iYXZEZi9LaGY4Z3hyMkdZdgphMzZCTHh2MHJYdk4vZjQwNUV3cjNYR1pkVjU3c3BWVy84
VWFYKzU5V0lrWnB4cnE2Y2NTdHhkZUxpZmd4Qk9XK0ZMRmdXeGdzanNhCmMxN29UdzNkMFhqOENy
ZTVkL3U0YzZOZjZQRkQvalR4c2ZQOFpmUVg1N0xHNGkvanVseW9sRjR1NzBCcFJUbDBWMStYVlN4
WkxFYkcKMHBUWk51V28vL0VsYzN0bXkxWGIvdXNUMW5HdEx6SDFmNTMvK0tOdCtzSFpOdVZRdi81
NG1IYk1hZFp4MTUrdDg5Ni8ydm9MejdDWgp4MzQ2UzQ4L2dVQWdFQWdFQW9IQWFCR29hZ2NrbjRm
N1p1SlNTNHV0di9paWJNbU9YakR2ZlFtZEYyZjVLa3oyQXEzUDN6MHYzL2JtCjgvU0dyWGV5NW9Q
ZWJrMzdIK25yMlEveFQ0YSsxRHF2UDhPNmZ2dDU2L3paaDdPbFdQVTd1ek15VUhqQTE2aDN0Zm1T
ajVmNTE2NlcKNURrZityYlAvTjIrbk9xMVR0cG1EMVRhODd6VjdCOGY4WmZPcnpGcmY4elgyUy8w
OWUrK2JHdUtQeGxwK1pPbmY5K1hkUjArc0l5aApub1docEN4Rng2N3FxSU5rRFVjUXhEVHJ6bFFw
NTdxN3ZjcmZJYmd3ZHo1Vy9EMXpQcnJYclBhblZmdGI5OG9WL2hVemYrL2o4ck5zCjJ0cytsdFUy
NDVoUFdmc2Q3amplZDQrdFBmdnpOdnVrMDRhalJVM2x6VjlVN3NPNzFOWm1yZGY4eU8yRDM1bGdT
WndQQmh5UG5wZk0KZSsybDU1eGVSczgrZiszMlpkT25XL04raDFuelMwN3czMkZaYXBOZWQ2NTE3
ZjRhLzVyY1VWYjZ5K1hXTlhOTGF6eHdrUDdnTHZ6OQozOHI3UWU5UWRYZTY4K0MyUlZoeVpCWU4r
QWRIbm5kQVZpekxIUkF5TDN5WHYyTjFxanZ6Vjd0dFBlSzJ0WGhBRVVNNkNYVFlTMzBoCk4rbHNZ
eEV5bXlnSUdsUzJGeXJrcVp1eWhVMTUxdyt0ZnNzOWN1Zmp5aE90L2RlWFdjbHZqRFQvMjdIVzlz
TnpiTlBWNTFqVHYveXIKTmU3NExMOUJNOTFtblBSVmUrTERoMW5yMVpkWjgxNzcyK1FEeHRCeEt6
UXBEZ09CUUNBUUNBUnFCNEdxZGtDeVpWTDVMZlBlSHNzNAo3TlNwTnVQSWQvVTkvZkM1T0hzU3dq
c0cyUk1SZDBaSy9nblJqbFluOWF2OVR1MkQvaG5SMjZ6azVMYnQrNSt5emxzdXQ4bEhmY2QvCm1H
dVJOUjNrcE5ZL0hkcDE3U2V0OC8rT3M2WWx6L2YxN0F0NjY5dHM1eDhYNTBuNjBUU09IcndrSjla
dDdsRGMvdjU4SDFJaFlwSEcKN0RmTThUdjdmbmYvc2UvNEozeFA4QVFQQzkvckw2Ty94d25WK1dQ
amdFQk9JRTRGa3JMWk1YV1BKS1R0b3p6SHFyT1NQTTUzT1pQcgpUdGljdnp2UWZOZzNjK2Zqa2I5
YXl6bis1R1BkR24vWitRVTI3ZGhsL21Xc3Y5cmFrOTlnclQveUh4eDgxc0hXdFB0enJXN3lsT3hY
CjBkZTg3ekRiOUwvL1k2MTdQOCttdk9qZkt0VmEyK25lTC9sVGtQNHcxRTJiYmpNLy9MSDhWUWs5
VWFRUHNaK3NiOTJXL0FjQlN4M3UKYkc5Y1kxMXJIckR1aDI2MTBzcS9XL3UxRjFybmJUK3d5VWQv
MTU4czdtVU5PeDlpOW9iditaUEUxMXJYalYreCtoMWY3U1I0bi80Vgpwa2VQdXZQdFg1K3pXYnY2
eStQUHk4K3MrTEV2QjNLYjRFbkczWi9QMHpJOWZMZGMzTzIyelhqaXR6OWEvdVkzQTNaeE8xN2tU
MGI4CkpzQWFmN245c1crNmJaMmN5eG50MzJ6Y0ZvUmdXK2cxRnFGb3A5U25yWkw4YnE4Y095cjFL
WkY5QnRrL0JKQjk2ZXJ5RDFuSGI2LzAKOTYybTJOVDMrQytmNzNhZ2Y1YmN2NDcxNHd0cy9kZVB0
OWxmdU1idHlIOFB5WCtVY1BwUko5bjZjNzlnYS8valU5YTAwKzdXc0hETApTclZHZWlBUUNBUUNn
VUFnTUNRRXF0b0J5V2I0dnZrMWF6RCtTTDBUMEJsSERHRzVWQUlSYTUvNUhZTzJhNzVnM1EvLzJU
WmQvQ2FiCmN1eFAvS25KRkg4aThnRXJQWGlkbFI3NGlYWGQvSi9XK0s5bkpDV1QzVFYvOUdVZnZr
YWR6K2x1K2VyOHhPcmZtckdlSFQxWFhldDMKWDMxakg0NU5YTnhYR3ZFankvb2NrQVgrWk9UK2sv
d1R2ZGM3b2JyVENkVnVubUVVd1hIS0hCRElUUnFLWkNjOU41ejlJZ0dqUGdMdApHaUJrZCtTVjEv
UFY4YlV5RDEzTGI3ZVdyN3Z6c1dHdE5lNzJRaWROL3FTcmFiTGZxZDNibDR4ODBGcXZQTnZXZi9W
RW0vM2xIL3VYCm1XWlkwM2E3Mkl4alArNms2VFI3OG94VHJHblhQYkt2TzJYQzRrOHZBaVZmd2xi
cVREb0Y3TjBKclBQZnI1bDZpTDhETU16UWVkOGYKL0U3NnllNk0zR3liTGpyTXBoejNTNnVmdGRn
YS9CZlF1L2Y5b0hYLy9qLzhpZUxwVnYvNkgxYVdqQk9QU2t2ZjJaZm5nVXZ5OGVxZgpoelUrNkNB
ZlZYYWttSEpxRGpIcGozclpIYjdnT3g0V3VTTy8waDJRUnkvMEp5bWZaSURsNmFQNTZ5cHRGa2lq
N3RFRytrTmJVWmJhCldVem4yTXNVUDhQTFY4aTR6clY5NzFqci9MMi9IK00vRmpudEdQL3h3WjF6
SjIvS0cwKzBqai85eHA4Yy9zMDJYUHhabS9HKzNOR2IKK3BwM1dOdnZmK2RmbWJ2T252ak1SMnp1
T2N2OGlWaVZUeDNsTUl1MFFDQVFDQVFDZ1g4YUF0VTdpMlJFeVg4YWpUdm1hU2plUVUvUApEYkRQ
NU56MG5OZjczZG9EL0M3N3E3TTc2eDNYZmMyYVgreWszMFBqUWFkWSs4VS90YTQvZmNjYUR2UlA5
RFkwYnk3dEhpZE82TFh0CjIvd3BScy81T2lmUWUzMHR6eXZDUUt4OXpwUTdWbnBYaTh1YTZwdS9q
RHZ2N1U2Y3pzMS9VRzJIYzhneHV1Q3JXakluUkZMUUhjZUIKYlN3Qzh0S1E5Vm1hc1BrK2hOaFNR
dXhadWg2ODFWck84OS8vOFBjVEdwNXhpRTA5eHBkaitRdlBDbE5lOTM0blNOZGI1MTIzKzkzYgp6
OWlzai9pWHpEeE1mYVUvQWJucGQ5YjY4NS9iNm85LzFCWmNkSWtUNjl5aFVkbUlIWUYwTEk0U2tN
YnRubTBOeDM3ZldpOTRxLyt3CjU2K3QvWnBUYmZLYkw4aWtOdTUvdkxYZmNyNTEzL3NMLzIyUUIv
d3JjOXR1Vmx0cDArTld0OXcvd0ZEbmw2WnRqK2c3ejFLc2JkeXUKRktSek1lYTgwclNmL3U3SDdJ
T2RlUHZUa0ZaL0tzSVBmODd6SnlLakRaWHNwVkw2YU92cnNWTldkYVpON1NlV0p5RFp0YkF2dGVR
LwpITm4yM2ZkWXh4OS81TXV1cHZzbmVMOW5qVHZzMjVzQm01cDI3RmRzN2NkZWJXMi91TkthOTM2
aFRkcnZ4ZG41V1NkOTN0ci9kcWkxCjMzNmJyYnZ3WEp2MTNnLzJsb3VkUUNBUUNBUUNnVUJndUFo
VXJ3UGlMUzJzdnNyYXpyS3MwWVQ2V1F0dDh1RmZ0VTNudmRvNmJyclkKbWw1NGdpL2I4aGZXRisx
cDlRdDI5M1hsZC9oU3JUOWEzVmI3OWF1bTVKK0lMZDNqdjNVQUtkamV5WkxDRnMveDN5THdiU3pD
bHI0RQo2eEVjRUgrblpPa1gzU25wZVRsM0pMSjdTRXcvWjRNMDd0eU9Ec0pjbXpMa3E5VGxwTWlY
aEZRa1RXcEg4cEp5eVgvM28vV0MxenRoCjNHaE56M3lsVGM0K3dkdmZpZURGOUpuSG4yVnJQdWpF
NmJvZldldHpEcllwQjc4eWt6YjdZNmY2cjZQZlpaMS8vWXUvRDNLMnpUNmgKWjBtYjZxcmhHUHZo
NlVlcGNBYy9TeXM0Z2NPQmlTZFRrOTkyanJWODd0blcrYWNmV3VuVlg4aCtiYnR1OG15cjIrNFFL
OTE5bFhVLwplTDEvMWN3ZDZtSzQ5enV1VTZmVmJlTmZ1WnJpUzZZVXRzejdVNGVqaXJHamV6NWt0
dnk4MFRzZzJBcU9mRG9reDlLT0tzbktISXpLCmxvUnowdDFSMSsvblNUcXUvYkwvOHJtLy8rSXZv
azg5eG4vNWZPbmVtOEhZdVBYT052WHdqOXVHQ3o5cjY3NzZLZHRpWjE5Q3Q4VjgKZjRvMTIrWjg2
a3UyNnIzdnNnM0xsdG1rdlo5cms1LzczTTNLUjBJZ0VBZ0VBb0ZBSURBVUJLcllBWEhpQkhucVI1
UjhRaTR1S1JrSwpDb1U4alR1NGN6RnpXeXM5Y2I5MVAzYVhOV3laTDNlcVc3U3Z2L1Q4RnlzOTlt
Zi9NYk9DQTNML0Q1d2tyL04zTmZ5TzR1dzljNGxQCmVyN2xQVXRONEFyaUMrVmlwVkV5emN2eFVu
OEt3eGUwcHJ2YzZjLzNkZTAzK0JyMjcvbkx0VWR6ZG1SQnhLWkFQak1IcEl6ek1PeEsKa0pHMGll
ck1IWkJTeVpmM1ZCTG1tWGlpVlllajBoTksvaG5YMHNZV3YydnR2OG55emd2OHlWUDVJZHV3NVZL
YmZ2U25iTjFaSjl1NgpMNTl1emJ2N25mZ0ZXMXI5OUJuK3kraG4yT1B2UE1yV1gzS1pUZHBuUDV0
eWtHTVlJVUdnRDI4UzZhdXN2NUljdzkydG43M1k2cGMrCjM3cnZ1OTY2N3IvWmw4MzlXeWFpYnZH
ei9RdHo3b0NzK0lzN0lKdExMZDExU2Y0RXpOK2g2dFhxci8vaHR2VnczNUltblZDTUdQYTEKNlpp
WVFQclVIZjJKeXZ1elExdjBEbitQNUJPK0pQSm52cHp4WGorM1E1NCswci9ZVU9GQmJPYllqeFpF
NlZQb0VEbU81azVJQ29HeQo1N0dmd1pGUDNnRXB0YXpMcnBmTmh4eFgxdmxRK2Ntdk9NTGFidnFW
UDFXODBkWit5WjJRTCtSUHNKcjNlcmJOT1BxOXR2YmM4MnoxCkp6OXBpNjY0MGhybWJxRmlFUWND
Z1VBZ0VBZ0VBa05Hb0R5YkczTHg4Y3RZOFVrSGMrNFlxRlcvWUJkL3NmWkJkMEtXKy9zYzJCZ0MK
Z3dBQUlBQkpSRUZVdVFOU21yb291NnRZOHBkdWk2SDBsMHN6NTZkdWgrVHB4NTFuK2d2bzM4MEpF
QVVnS1RBR2JTbHAwVG1sS2FZYwp2K3k4K0Mzc2VleHIyTmU0QS9LUTM3MGRyUU9DazVDQ3hUNXBZ
K0dBRkVpVFMzWHk0KzhidUFOU0tXUkZjQ2dUQndRQzVkOEw4QmVJCm15bzZINUkzNVpBM1dkc04x
MXZyOWRmYUU2ZC93dVorMWQ4VDhhZFhrL2JZMDJhLy8vMzI1SCtlN1V1eFRyRkZWL25TazRYelZh
eTIKWTNmNCtqbnhFRmFXd2JGOFo1U2hidDZPL3JUak4xWjY4dEZlU1hYVC9La0dkVzVZM1p1bW5k
S0ttNjE3MVYzdU5IcWVyVjZSSjdjOApZbmJyUjkxbWZGQ2lrbXduamFWcW1rWnA1Yy8yZmNuZWxt
LzJjZVR2WnpYTk1WdmcrNDh1ODY5aU9ibmUyZTEwTkFFSGhMclRRTnBZCkJOa2tzUUw3WUpqYWlj
NzF4TmxUTGZveGRVQzRBVUMvMWpjVmN2Yy81RFBKTXo1OGhuVWM0MTh2Ky8ydmJlTlZsOW0wMStY
WG4rbEgKL3J0dHV2RVB0dWwzZjdEVkh6M1o1bDk0enRBK3E5eS9pamdLQkFLQlFDQVFxSEVFcXRZ
QnllNzlNWm15OVlUc3pxQXZPOGdJbEJKSApHSmZhdXZMSnVydVBqZGRCbnBuNHUxTTI0SFA4dWdk
OXZmdTEvbnNUVTh5MmQyTGpvZFN4d2I5YWRiWHpFdGRuZHlkUVRQb2lTR1FRCllVblQwblQyK1hy
UG8xZTZzM0Z4bndPeTRBMytOT1I0ZjluOWovNGs1R2IvVWxEZkdtNktERG5RaE9JN0lCU211V05C
bnZwZ1Eyb1cKc2lkV0NTRlNlbS9jUTZ5Nit6M1ZjaXdML2R5YnY4ek96Qk5PdDdZN1htc2R0OTVp
R3krNzFLYS83Y2dzMS9RampyRFdYOS9penNudgpiTlh4cDlqQzczNHRjMDdLaUtpcHBBenI5S3Rq
M3ZyTm55eU9ESkpTVzN0R2trc3NGK29OOWRhMWlhZGN2UW05TzkxLytWWnVYOXNkCllmWDErYVdw
OUkvTGZFejZZSnIzUEt0YitzYitkcU9Tc2lIR2ovYlRjOHY5YVNHMnN2dzdadHU1N1JDV3VDUC8w
TEo4Mi9GMHQ4OUoKZWZwSS90S1d2c3RRTGdIYktxYU5STGEzS1hNbUhJSmVGQjNQN2swTi9aNFVG
a1dYT3YyRmM1NFFwM2JvNVRaTEt4YnNPVzdZWW9ITgorT0JwOXNTbmo3ZTE1L3luTlQ5cmYydGF1
bDFtTTF0OC9uUDI2R3NPdDlicmJyWjFGM3piWnIzbmlBcFNJamtRQ0FRQ2dVQWdFQ2lQClFOVTZJ
TmtuZUwxTm05MEY3UEtKZDRBN2crVmgyRHkxNjlIN2ZMSjJvalI3cTk2VDNldFhXWGRiZzk5Qjdi
L3NvT3ZQdm03ZFNYTDkKZHE5ekoyUldscjkwbnkvSjJ0VHFqc09CVnZmTUwvVEtHTlpPeDFwLzU4
TmZsSDM4bCs2TTNPOUxSWmE2OCtGRWFjdDN1blB6SmY4cQpsajhGMld1RURnaUtRSnhTSWdpQksr
ZVVrSGNZSVhzM0I3bnViUFNTSmovc2J2UGgxakFBSy9QOHJGdXZTNXhLcWkzM1lqcnA1VUw5CnJE
azI2NlRQMnVvUEhXdHJ2KzRmRVhqTzg2eDVsNTJ6dTdSenp6alZIbm41MjYzMWhsdnR5YTljWW5N
K2ZGUTVFVFdWbHZVUC9kNFQKMkdVc2o0a05MYi9YSFhIdno5bExKTjY2bjF5Wk9SbDFrLzFKUkJK
S0hTM1dlYnYvbUdTM2Z3eGkxeU43ejNULzFkK3I4bkZUdDl0SAovQ1gwNFgrVkt4TTBlVnV6V3c0
MWUrQ2lQZ2RrOW5OOE9lUGUvbFU1ZCtRZi9TOS80dksyM2pxSHRRTmdqSFcvTFBRTEVQOEUxMzdu
CmhuR1EyeExPaEYrTGVzcVYzRTV3Skt4akFGdHlad05IcnpHOUZ1SUk4bFNFZUFoaDhvRXZzY2t2
UGRRL2NYMjFQZkdwajl2OFpkL08KUHVMUU1IKyt6ZjNDYWI2czhjUCtWUEVDbTdUdjNqWjU3ejJH
SURHeUJBS0JRQ0FRQ0FRQ09RSUR6R0JQZjRpWVJ2dE5wVDdoYzBjMwp1Mk0rQ3ZVNy8vNTc2Mzdj
bDM0MHo3SDZ4Yy9vbGRSNXY3Ly80Uk40L2Z4ZGV0UDQxR1huSHkvTDcwanUrczYrOUx1K2w2V1Z0
bjE3CmI5cXdkNXJjbVZua1R6dzZ2V0VQTHVzcnZzMHhUbnE4NWN1djhCOVVlNkl2ZlRoN2tDT0lV
M3FIdEZ6YWNHUW1lVXRPR3JsTG13WkkKVStiQXBZbUYvWkk3ZU4zdFNUblhLYnRyVzNCS0NzWDZI
VTdlLzBDYmR1amhWdHJVNWN0RVBtbjh1QjZCOWVyenpqclZ4MGVEcmZuUwpKZFo2NDIzOXl0WGlR
VTV3KzFsUlRtNVQ0am9DWUxwVzNHZWRmL2ZmQmJGbWE5emV5WDVQNkhydzlzeUc2dWIxMlJDbnV1
LzBsOVZiCi9LbmhndjJzYm92OFhHbWw1MzNjYmE3Qm5aV3RYaTRSdzQ4WCtRdnNEUXV5RDBqWUU3
L3ZLNysxUHdYQkJ1NDd2eTl0SkhzNDdXeHAKUUM3YmFJTTdDNWtkcGYxQm10dFgveWRML1N2S25u
eGdNNG16UWY3c2lkZEFUeUg3aTdGWngzM002aGN1c2ZhLy9OMGQrajZjcGh6MApQSDhmNUMydVI3
YzkvcDZUcld2dCtrTEpPQXdFQW9GQUlCQUlCQ29qVUxVT0NQZldJVThaZ1VyYWw5MFpMSktCNVB4
Z3U2Vk5MYmJ4Cm9rOW5kK0tiRHpqQ2x4emtaTGg3M1VycnV2ZFBYbCt6MVcvVFI2aTY3NzNPU3F1
WFc5Mk03ZnpMUFFkbTRrdnJIN1d1ZXp5OU5NbnEKZG5BSFlqUmgyNk55SitIK1pkN1lIbTloMmc3
K0EyMHY5UjltOHljc0QzNXJaTkxsYktRa1NXbXBVekl5NlJscDZ1ZHN1R3lJVk5ZLwpBOGpFd2Rz
c0QwUXFKV0FEbE5lcFdSLzhrUCt5L2ZiVzhiZjc3SWt2ZlUzSk51WDUrOWpzRDd6RDc3UjMyMlB2
K1l5LzUrTlBtV281ClpMNUg0b0JrWThESHZQZkRTQU0vVHJqaC9JKzQ0K2RQTS9aNW8zOEJxK2Vw
WUdlN2RkN3hxMndjTkd4M1FEL3hIYi8zWCtUMi9QVzcKdjZNM3Zlc3ZWK1FPNjdadjh2ZC9CbjV2
b2JkUXVSMldQeTU1ZTI1SDkxM1VsMlBKNGI3dnVxMjZ3WmRvM2Q2WFB0dzliQ2kxSThwegpEUm9E
TytKSkZQYlFuVDd0UUM3cEhZbWpUcDFKS0pFZnUwbWNqZXptakdPc3kwaVN2ZUp1L2JScE51ZlV6
M3VaQmx2M2pVdHQwODMrCnhLZ256RG5wZmRhODUrN1c4Y0RqdHZKRFgxUnl4SUZBSUJBSUJBS0J3
S0FJakp4bERDcjZxYzJRdllRT2IwcTRFelZtVHo5OHNoeEoKYUwvalpudmlZMisyanJ2dnRycDVP
OXZrMTN5d1YwemJyeTUxNGxSbjlmNnJ6blgrQTE0S0hUZC9ON3NiV2IvSDIzcGZ4dXk2NDcrYwpU
RG0wUzE3bGVXY3I2OGppZVFmbEw2R3ZmOGkvZk9WZjdWRlk2bmR2SVNMMzl0MlYxS2toeFJETmNp
UXBJemREa2xBNWs4dUdUQmFmClJHVkV5dE1yQnBhV1pPV1NUdlUwSEpkK3preEZBWDBuNmlaUHRy
bGYvSnp6cnlaYmQvR1YxbkxkNzNwUHpqbnBLSnU4NzcvNGw1aFcKMjhvUGZyNDN2UlozTWtlK3NG
YUlaWERkdzNUNGhGM0huWCt3SnoveFZ1dTQvVmFybTdtbFRYbnpwM1RLUDJ2OVErdGVzODdxdHR6
RAo3NnJ2Mkp2ZXZlb2Yxblgzalg2emZwbzE3T1pMcFR5VW5DVjMvdm5Lck8vcmRubHJiOTRSN3l3
OUtoL3ZEMTd1eE53ZGQwS2oyL0hXClIvaFNKdCsvMTVjempqU1VjMEN3SSt4cmxBRUhoTEdmTFVQ
c2taVTl5Y0FtMmhNN0tkYmpUenU2Y1BoVHg4alRNam5EZEM0bjdiV1gKelhqWHU3dzk5YmJxdzZk
Wjl6cC9VdVdocnFuUkZweDdtalhNbUdZdC8zdWRyYjNFbDUxR0NBUUNnVUFnRUFnRWhvQkExYjRE
UXRzZwpUOFVwbURYbm5XdmI3TWx6THZHWFFHSFpuZzgzeS9mck9QWUNXY3krZjE2cDFONXFYU3Nm
ODkrSytJTS95WGpZZi8rczJ6OVJ1WlBOCi9PZzNySzdaUDMzcm9Xdk5DbDhIZlpIVit3UTg2WVcr
L0trbmxGcWU5Qi8xK21ubWVEUThxK2NyVlg2dTQ5WXJmZmxQZ3pYdXloM1cKVVFZK3BibU5rNmZi
UCtrazZXSmZrblZJTHBCbEpjMUxmQTI3djZqKzJDLzk4Nzh2SEY1RlFGTWtUcVNWYzBxR0p6bkxE
Zm14Z2lOWQphdmRsSXpiQWtQUDZ1VXRibnk3QmNtbWsxZmsyM05DODI2NDI2d1B2c1NlK2NMNnRQ
UDV6dHVRWDMvYmZOSmpsZDlNYmJNSDVwOWhECkJ4OXBHMzk2ZzYyOTRBcWJkY3hod3hVL0lmTGp5
RytHTEtSMzdTWjc0cXdMM1ZoNjdBWWJJaTl4cnkzMURLS09Wdjk2MVVwcng0YjgKaTFkMWpTVnIy
R29ibS9ISkMveUxWajFQUHpadHROYnZuNVU1cGMwSHUvT2NoUFliOHljZFRYdS8zaDMyNmRtWjdu
dXZkM3RjNWN1eApkdkpsa0tONHowbjF6TnJOYk01Ky91T0ROL2xUdy8vMmQwSGVucC9aL2oxbWZ6
L0hsMkY5eDJ6UE0vMzlycngrRlJzMEJnS2NEZUkwCllGdWJBWnRtR09JK1RnTk9lL0lFSkhOQVBL
MkJKeHdWQWs5QU1tY2plUUtTUFYzME1zV254aFZFOUV1ZTliNmpyZVhhMzFuYkgrNnkKVlo4OHl4
YWNjM0oydm1uYnhUYnZQejlxajcvN0ZGdDk4dG51Mk85cGszYmJvVi9aT0FnRUFvRkFJQkFJQklv
SURNQUdpMW1mZnNkNgpFYjJmWmo3cGw5YTEycHJQZmpNalFwQWhhK2pPSEl1NkxIWVNSUnFoSjcz
ZWowbXJuN2ZBcGg3NlpwdjZXdjhLejlTY2lKUTZPMnpECjJSL0tDRm5UL2krM3hwMzZ5RkQ3VFQr
dzdnMGQxcmpuaTZ5KzUyWDFya2Z2OUI5WnU4dGZHSjluOVR2NU1xa3hDS1h0M21HbFA1eGkKOVEv
NkhjWjkvUE9sL3BzWXh0S3dwZi91anNrcC9wc0cvaFJrcEE1SVNwellkNktmdlRnOFdyMGhPdTV3
cENGYmdwVXgyRFMxYno5YgpVdWZFS24zYW9UUnI5dmFPSU13NjV1M1c4bjgzK3kraS84bFdubkNt
TFZyMnVVeEs0MVlMYmNGWFAyRXJqdnk0clQ3OWZKdTgzek50CjBsNzkzMHNZUVhWVldxUS9VMllZ
ZEsxekIrUS9sdlhhQ280NU50SnJUMjQ3OVUwOWc2ZkhyckNqaGdVTGJNb3JEck9wcjMrN094OHoK
TXp4NFQycjl1Wit3enVXUFdjTk9lMW56ZnEvdHhhblUzV1VkTi95M2sreEdhOXduY2VKLy85L1pT
OVROZTd5cE4rOW9kMHJiSHUwZgpkZkN2WWYzTjJ5VUhCTWRraXhmNGh4NSs3UjkxK0s3WlRuMDNH
SVphWDZuZGN6cUVRakVicy80Q3VOVzdNejFVSVJYeThRUUVaNzdlCmI2ejBCaHhFUDY0YjRFbEdO
Kzk3dUE3OVBpYVFwVzMrWkxKWDdnQTdkWTJOTnYrczAyejVTNDYwOVZmODFLYSs2UGsyL2JVdnlr
cE0KZjgwTHN5L01yZi8yanpKSFpLdWZmdE92bi9uTm13RkV4cWxBSUJBSUJBS0JHa2FnUDBPc0lp
Q1M2YmhYNi9wcFUyMzJjVDEzTmtsMQpmbFRYNEgrY0JXUlBQVWpMbm9JNGtTS3R5UW1DVDVUMWMr
ZFk4NjY3VytPT08vVXVveUpyOTRaMXR1N01EMXZIbjI1eDUyU2hUVHZxCnN5VDNocmJyTHMvSWN0
TytDWEc2NmIrelpTTk56L0V2WW8xbTNYcHZMYTdudEsyc2UvN0xyT3VoLzdQNmV5Nnp1dDAva0ow
dGJYKzAKZGQvOGVhdi94OVZtejE1aGRla3ZSeWZseSsxbUpLbkZ1OTlKaWtnU2E4TzdOemFaemFq
ZjdLTSs1V1JVVEhQSXV6YjQwNDVKU1M5NQpXdVpZMUEwODVQSWxJdjNMaldUWmlIVGpkMERtZisz
VDl2REI3N0NXSDE5djY3LzN2emJqOEZka3A2ZTk3RUNiK2E3WDI3cUx2bThyCjNuMnliZjJMWlU2
YXA2cG9UY1FnblMxbjdHa3Q3ZC9pcEhmMWJ6czJrejMxOEdUMi9iK2VJdFkxK2RlWnBrenlKMHV6
cldtWFoxalQKOWp2Mks5dnR2MkMvNGR4VHJlMzZheHpiR1RiOXZWL3hzaHB4N3UvKytUcnJmT3h4
ZjJLeXZUWHU4TnlzTEQ4KzJmNzdhL3poaXpzbAplNDJkQTJMYnZjbTZyanZKdjRiMUcydFllNi9W
emRvaHIyLzc5MW5wd2QrYTNmRU52Mmt3UEFja2Q1QjlUTmY1WjNHVGxtZExDVXROCnZiYVZuQnJl
TG80OFR4T1Q5ejE0QW9MRGxyM25VVW1hT3lmWkRZRDBDWWc3TGRuN1ZUeXhHVUZvMm01cjIrS1U0
MnpsaVdmYXlwTysKbEQzdGFGeThJSk0wOS9UanJQVjN0MXU3djNPMTZ1UCtoTVNkK3dpQlFDQVFD
QVFDZ1VBbEJBWm1nNVZLUFEzU25RTmxFMzQ2NlVPZQo1bjVpZUFTaVhGTzZXMXFzOVNjL3NKYkx6
cmZ1OVN1dGZ0WjhtL25KaXozMnIvSDBoTTc3NzdUT3UvL216c0ZjYTNwbS9xU2o1QzgyCnQvLzI2
bXpKUk9PenhwQTRlWjExT3g3bEw3Yi8zTHB2KzdZMTlUZ2dkZE1XKzJkK1gydGQvL2lCMWQvaGQz
V2Y4M0dwTjJpY3JTMTMKWWxPWExIZkswNXdjdGphT3pnSHhuaW5uYlBBRXhOenBxeGljTEdWM2V4
T2Q2R1hJbGszcUk2MFZ5MWM0MGJUMUlwdjN4Uk5zNWJHbgoyYXBQZk1VbTcvOU0vMDJEcmJMYzgw
NDUxdG9nVG5mYzdjVHFTN2JRbDJiVlZ1aS9rQkVuZnM2Sjd4dzFCTmpRcG11dnNRMlhmTlc2Cm4x
aGw5ZE9tMjR5UGZOMGFsK1NrWHhWcyttWCs5S041djhTSnYvVW5ibmR0MXJqenZ1NzRiNmVzbzQ3
cm1tZjRjc1kzK2hlM3ZtTjEKL3NPaERjODdOWmU1OUhYVzFiM1k2aDc1aTlXdHVNbnFGdmxTcldF
RW5HM3JhdXpuYkhUaHlQdFN2OUdHN0thQVB4V3NTNStBWkE2SQpQOGxvcjJ3VDJSSXNIQTUvV3FL
Z3BWdkZkN04wZmlqeHpMZS8ybHArOWx0citja045dGo3VDdmRjN6ODd1MmxUNzA3b29tLzZFNUtY
CnZzdldYLzVqbS9LQ2ZXekc2OGZtQ2ZCUTlJbzhnVUFnRUFnRUF0V0ZRT1VackNyYTBUZTVEbGRk
bG9XVTJqdXM2OG0xMW5IZkE5YjYKMnh0dC9hWGZ0dFVuSEc4clhuNndQWG5HRjYzajBTZDh5Y2cr
TnVjclYvcWQzVjM3VmRINlUzL1M0Y1NnK1htSCtwT1VTZG01emp0LwphNTByVnByTjNNRS9QYnBQ
di95alBhamI0UlZPa2haYTF3TjMrY3ZUdC9hS3EzdkdNWm5EMDNYYkpmNmxHaGFlRHpFNGllbmEy
SmdSCi90NFMvb04wM1MxTi9uTHJLSWVGZTRmNWkrUDk1V1JwTEUycEZMd2NkNDdUSlZqY2JjK1di
ZzJ3M0tTU3VEUjl4aHRlYXROOHlVaDMKUzZzOWZ1enBUc3h5ck9vbU5kdUNDNTJJK3BPd2pWZjl6
TlpkOXYvU1loTitQMXZHeUczOEVRUnNxSHZUSnV0YXZjYmE3NzdYbCtIOAp4dFovNjFKYmZlS0g3
TkdYSHV5L1JuK3FkVDY2eGhxMjJkWG1uSFc1TmUrMWY3OWF1dGV0c2JhYmZtbGR2bFN2K2Ztdjd6
M1hkdjFWCitWTkUvNExXV0lmNjNZL01aSGZjY25tdnZkUTFORnZkenU5d2UyaXl6ajljTkx3cUda
L0ZNZXNTc25HTXd6M0tnTE9RL1g2Ty83Q2cKUXE4amtUd1YwVG5GMlljRVhLOStYNVRqcVFoUFRr
YndQcFhrRXM4LzY2UFdNSCsydGQxd202MDk3L0xlVTgyN2JHZHpQL2VoN01iUQpLbjlDMHZHUGgz
dlB4VTRnRUFnRUFvRkFJSkFpVUxWUFFHZ0U1S25EMTVYZnUrQ0FyRTI4cjAwUW5TcStvcTZsSm5v
SEpIdjN3OWV2CkcrdmJpVjFBdHRiZGwyMU5lczQrTnYzd3Q5cVVnMStVQzAzK2x0cmJyZlduLzVz
dFgycTU2dHRPWFAwSHVsd0c4dnkycHpYdjIwZW0Ka21LajJtVTVWNzIvMU41MTQzbTI2YndYWnJJ
eW5iTTk3OFlOSzN4NTFrK3RZZWVYRGFrZTdveG1aT1R1RzZ6bGxEbTV2SXc2K0krKwo4Y1JobEFG
U1Z0ZnU3eEVjc1czK01xekw2NFpFbGZxSTFHWlZPSHpvMVAzUTQvYm9BWHRtTDU5bnk2OTRDakph
cDhncm0zZm1pZFo2CjgrM1dkc3NkZHQvaWd6d2xIekM5NDhLUFYvT0VaSjg5ckhubnBadXBOMUVU
T3U5N3lQNng4SUJldTFFNzVkN0xQMG50UzJOUDc0VXcKL2hIUSs2NklQd0JvM250Zm0vNjYxOXFV
ZjN1WjI5Zm0vZDc2ODZ0OXlSODJVMityajN4K2JvTlVqaDAxVHJhbTU3eEtxb3haWEwvMQovbGFh
NGpjVFZ0OWptMDd0ZTZKSkJYd2dvZnUySDFyandXZjRwNE8zR0ZxZC90UXVXN2E0Y1cxaVJ5NnIw
d0ZvOUcyMGdmYzkzR25mCmROM1Z0dW1YdVhPYy9aYUhYMmY2dlJkU3JNZHZKbUJMYS8wSEE1LzBM
WE02V002VjJhQjZ0bGhvYU1jTjgrYll2Sy80KzFOdk9jbFcKZiticnR1YlVyMmNGNlVrQzBrc2JX
KzJ4ZDU5aVcvMzRmUCtZeHhqZ2tFbU9QNEZBSUJBSUJBSVRCWUhSTTgxeFFpSjFMbEppMUYrZApm
RXJjakVEMTNBSHNzaVpybU9ycjErZk50S1p0RmxqVGp0dllwSC9aelNZZnVKODFMcGpmWDFSeXRP
azN2L0N2L214MFg4UEpPc1NMCjRKTjdWNXRQdnU3SU5ELy9kWG5hR1A5dGVPWVIxdjd6L09WNlJI
TUhPZ3M5ZktManhtVkRka0Q0SFlGT2xvNTRFSDdkUFU4WjZ0MTUKR0UxQXJld3BSbys4bkRDNVJB
aFFSMlV5d2k4ODgrdk5HWUhKeUpMblp3a0p6UnlsVHJTbllkWU1XM2pPcCt5UjEvZDhYcmtIUDdV
ZgpSNlRVdXNsZnBEM1psdmhubDJzaFlFY2FSOElocDVEQTNuOThDWS9NOXZ6SEhEbGZONlhKeWZw
VXQ1Y1ovaDZIMjVDL0p6QnB6MTF0CjhndjI5N1QrQkYvbEZiZit5RC9pUUw5NlA5UTEwdXZ1dExy
elVkZmxQMS80VFArd3cvUlJmc0phRlJYaWhyM2VadTAvL214ZktqY2YKUE5EK2t2K3dYcWMvSFds
NndmdjZ6ZyswbDQzMTNJNzBaS0VYejhiUjJSSFZaazg3V003RmZvODlhUW5WZ0w4RDR0YzRiSWt5
V2JzOApsaDFLejB6b0NQOU1lL0grTnZPZHI3TjFsMXpsRXVnN1FqNWVkRmxxdS8xdnR2cTBjMjNl
WjQvTFQ4ZmZRQ0FRQ0FRQ2dVQ2dCNEU2Cm55eDdXRVpnRWdnRUFvRkFJQkFJQkFLQlFDQVFDQVFD
Z2NCVGk4QUFDL0tmMm9wRGVpQVFDQVFDZ1VBZ0VBZ0VBb0ZBSUJBSTFCNEMKNFlEVVhwOUhpd09C
UUNBUUNBUUNnVUFnRUFnRUFvRnhReUFja0hHRFBpb09CQUtCUUNBUUNBUUNnVUFnRUFnRWFnK0Jj
RUJxcjgragp4WUZBSUJBSUJBS0JRQ0FRQ0FRQ2djQzRJUkFPeUxoQkh4VUhBb0ZBSUJBSUJBS0JR
Q0FRQ0FRQ3RZZEFPQ0MxMStmUjRrQWdFQWdFCkFvRkFJQkFJQkFLQlFHRGNFQWdIWk55Z2o0b0Rn
VUFnRUFnRUFvRkFJQkFJQkFLQjJrTWdISkRhNi9Ob2NTQVFDQVFDZ1VBZ0VBZ0UKQW9GQUlEQnVD
SVFETW03UVI4V0JRQ0FRQ0FRQ2dVQWdFQWdFQW9GQTdTRVFEa2p0OVhtME9CQUlCQUtCUUNBUUNB
UUNnVUFnRUJnMwpCTUlCR1Rmb28rSkFJQkFJQkFLQlFDQVFDQVFDZ1VDZzloQUlCNlQyK2p4YUhB
Z0VBb0ZBSUJBSUJBS0JRQ0FRQ0l3YkF1R0FqQnYwClVYRWdFQWdFQW9GQUlCQUlCQUtCUUNCUWV3
aUVBMUo3ZlI0dERnUUNnVUFnRUFnRUFvRkFJQkFJQk1ZTmdYQkF4ZzM2cURnUUNBUUMKZ1VBZ0VB
Z0VBb0ZBSUJDb1BRVENBYW05UG84V0J3S0JRQ0FRQ0FRQ2dVQWdFQWdFQXVPR1FEZ2c0d1o5VkJ3
SUJBS0JRQ0FRQ0FRQwpnVUFnRUFqVUhnTGhnTlJlbjBlTEE0RkFJQkFJQkFLQlFDQVFDQVFDZ1hG
RElCeVFjWU0rS2c0RUFvRkFJQkFJQkFLQlFDQVFDQVJxCkQ0RndRR3F2ejZQRmdVQWdFQWdFQW9G
QUlCQUlCQUtCd0xnaEVBN0l1RUVmRlFjQ2dVQWdFQWdFQW9GQUlCQUlCQUsxaDBBNElMWFgKNTlI
aVFDQVFDQVFDZ1VBZ0VBZ0VBb0ZBWU53UUNBZGszS0NQaWdPQlFDQVFDQVFDZ1VBZ0VBZ0VBb0hh
UXlBY2tOcnI4Mmh4SUJBSQpCQUtCUUNBUUNBUUNnVUFnTUc0SWhBTXlidEJIeFlGQUlCQUlCQUtC
UUNBUUNBUUNnVUR0SVJBT1NPMzFlYlE0RUFnRUFvRkFJQkFJCkJBS0JRQ0FRR0RjRXdnRVpOK2lq
NGtBZ0VBZ0VBb0ZBSUJBSUJBS0JRS0QyRUFnSHBQYjZQRm9jQ0FRQ2dVQWdFQWdFQW9GQUlCQUkK
akJzQzRZQ01HL1JSY1NBUUNBUUNnVUFnRUFnRUFvRkFJRkI3Q0lRRFVudDlIaTBPQkFLQlFDQVFD
QVFDZ1VBZ0VBZ0V4ZzJCY0VERwpEZnFvT0JBSUJBS0JRQ0FRQ0FRQ2dVQWdFS2c5Qk1JQnFiMCtq
eFlIQW9GQUlCQUlCQUtCUUNBUUNBUUM0NFpBT0NEakJuMVVIQWdFCkFvRkFJQkFJQkFLQlFDQVFD
TlFlQXVHQTFGNmZSNHNEZ1VBZ0VBZ0VBb0ZBSUJBSUJBS0JjVU1nSEpCeGd6NHFEZ1FDZ1VBZ0VB
Z0UKQW9GQUlCQUlCR29QZ1hCQWFxL1BvOFdCUUNBUUNBUUNnVUFnRUFnRUFvSEF1Q0VRRHNpNFFS
OFZCd0tCUUNBUUNBUUNnVUFnRUFnRQpBcldIUURnZ3RkZm4wZUpBSUJBSUJBS0JRQ0FRQ0FRQ2dV
QmczQkFJQjJUY29JK0tBNEZBSUJBSUJBS0JRQ0FRQ0FRQ2dkcERJQnlRCjJ1dnphSEVnRUFnRUFv
RkFJQkFJQkFLQlFDQXdiZ2lFQXpKdTBFZkZnVUFnRUFnRUFvRkFJQkFJQkFLQlFPMGhFQTVJN2ZW
NXREZ1EKQ0FRQ2dVQWdFQWdFQW9GQUlCQVlOd1RDQVJrMzZLUGlRQ0FRQ0FRQ2dVQWdFQWdFQW9G
QW9QWVFDQWVrOXZvOFdod0lCQUtCUUNBUQpDQVFDZ1VBZ0VBaU1Hd0xoZ0l3YjlGRnhJQkFJQkFL
QlFDQVFDQVFDZ1VBZ1VIc0loQU5TZTMwZUxRNEVBb0ZBSUJBSUJBS0JRQ0FRCkNBVEdEWUZ3UU1Z
TitxZzRFQWdFQW9GQUlCQUlCQUtCUUNBUXFEMEV3Z0dwdlQ2UEZnY0NnVUFnRUFnRUFvRkFJQkFJ
QkFMamhrQTQKSU9NR2ZWUWNDQVFDZ1VBZ0VBZ0VBb0ZBSUJBSTFCNEM0WURVWHA5SGl3T0JRQ0FR
Q0FRQ2dVQWdFQWdFQW9GeFF5QWNrSEdEUGlvTwpCQUtCUUNBUUNBUUNnVUFnRUFnRWFnK0JjRUJx
cjgranhZRkFJQkFJQkFLQlFDQVFDQVFDZ2NDNElSQU95TGhCSHhVSEFvRkFJQkFJCkJBS0JRQ0FR
Q0FRQ3RZZEFPQ0MxMStmUjRrQWdFQWdFQW9GQUlCQUlCQUtCUUdEY0VBZ0haTnlnajRvRGdVQWdF
QWdFQW9GQUlCQUkKQkFLQjJrT2dzYXFiWENybDZpdFdZNHJIZFhVNlV6N1dlY1hsYzQxTmFxcGJ1
cSs2RlErM05zbFNuSll2bDVhZUg4NStVVDhkSzVZcwoxYW1ZZE9WUnJMeHBuT1puUDgyYjdxZGxo
cm92MllyVGNwS3RPRDAzVWZlRkEzRzZQNXoyQ3E5SzhYQmtEVFZ2cXF2MlZSWTl0Q2x0Ck9MR3dr
RnpGdzVFeDNMd3Bka1hkVmIvMFFuWXhmN242MHZ5U2tjcVdqSEpsQjB1VHZHSWRrcWw2ZER5WXZE
Z2ZDQVFDZ1VBZ1VITUkKVktjRG9vbXZxOHVzdXp2ZmxFWVhhb0pVZDVhYkNKV215YkxlSHdheHIx
anBrakhhV1BwSlgyTHBxYnFvV3h0cFF3bmw1S2F5a2FGNgpoaUp2c0R6U2F5Q2RpenBKcHRxV1lx
eHpLa09mc2s4YkZBWXFwendEeFpKZHhKNzBTdTFRT3dlU1c4M25oREY0cDNhVTRqNVErNFNQCjhD
Tk8reW50WStVZFNONVF6NkczOUZWTUdrSDFOelQwN1ErMWJtU1VrMTIwcGJ5bXNmdWI0bFpPYjQx
WjJpb2RLYU84eEJ5cm5jcEQKT2VHalBpM2lrNVliU290UzJlWGtJNDg2MEVuNkRiZU9vZWdSZVFL
QlFDQVFDQVNxSG9IcWMwQ1lCSm44T2p2Tk9qck0ydHZ6V0pPdApKc2x5WGFOSm1uT2FHTk1KazBt
ejBTRmgwd1RLK2JSY09ibURwVWxuZEVSbmJTSVYxTkhVMUxlcC9xSFVpMnl3WUJNVzdFczI1OGN5
ClNDZDBGbGJOelgyWWNaNjYxVC9FNktEOHRGUGxoSzN3VVJud1FRYjluSmFqck1qTlVOdUU3RlFm
WkFzZlpCVGxEd2Y3b2Vyd2RNc24KVE1DQ01kUFd0dm1ZSkU4YTFPOUs0MWdiR0twZndDL3RZNDdW
ejBVWmtqWFVXS1JYZW11ODA3L0lSZ2ZHb3JiaDlHWHhtaUpNTkE3QgpvNGpKVVBVdWw2K0luWFFt
Qmo4d296N0dLdTFrUXhmU2FDZDVsRmNZVTAreGpHeUpjK3FidE54USt3UzVSWXpRU2JZay9LV1g2
a0RYCm9kYUJqaEVDZ1VBZ0VBZ0VhZ0lCWndkVkZwZ0VtVlFoQ0JzM21yVzA1SnNJQStlWkxJc2hu
UVRaMTRUSlJNK2t5VFpwVXYrTlNUUWwKTWFtTW92eUJqa1VLMEZINkVqT0JjNDQ2Sms4Mm16clZi
TnEwZkorNkI1dThSUWlRSTdsZ3NtbFRqcEVJU3prOEJ0SjNvSE5nQUdibwpERjVUcHVRNkU2TXo1
K21mMXRhK2ZrRVAycUkyMGs3eUNjOWluMUlXckNpWFlrTWR5SkFPQStuSk9lUWlBM3pBUkJnaEcr
SkVvTitsClZ5by8xUy9QT1hIK0NtOXdacnlzWDUvSFlBUlduQzgzWnRSZklDRjhHQXNpeExJaDhC
U1dqQkhaRVhsVEdjTkJGSDNVbC9RamVtL1kKa1BjcGZZbGM2bUZzVForZWJ4b3I2RGRRU0dWTExy
STFEcEZQbm5LWURDUjNvSFBDVDNhVTZnMTI2RXcvMENmb1JKc1p0NlNwblZ3cgoyQ1NMK3NCSTF4
bmhnejBTNkF2Vms5cmdZSDBpZkpBak8wcDFvazc2TnBWUEdlU1NydjFjaS9nYkNBUUNnVUFnRUFo
WWRUa2dUR1FpClQweUFUenhodG1hTjJaTlA1bVJFcEpVODVTWlZwV2xpWkhLRUFEQ2hwMlJhQkli
SkhUSXdHZ0tseVJ0aUJ5RkFaN2FCYlZleEFBQWcKQUVsRVFWUzFhM05TZ2E3VVBXT0cyWnc1ZmNR
WTNkaWtjN25CaW16SUVVUnAzYm8rMmV5VEJtRWdEMXN4bEV0TDgxU3FsM1RJRVRxRAp6NnhaWmx0
c2tjY2lOWkFVMmtlL1FHN1JFWEtxTmxJUE10VEdZcCtxUHlrSDlzVnlneEZLNUNNVFlpVENoRDdh
R0R2SXBuNTBuam5UCmJQYnNIR3ZHQTl0UTZxQ2VhZ3YwTzlnd0hzRmg5ZXA4dzQ3b0svQUNOL0lV
eDBCNnpMN0dBbGpKK1FCUHhnVjlCcTdFcE9FTTBKZmsKVGVVTUZULzAwVmluSDZVM1l4MjdSeWIx
MEk5ejUvYnByL3JvNjBvaGxZMDhaSU1IOVlEUlFFNFpNZ2V5cFVwdEZYWmdJcjJ4STNRaAprRTU3
NlJOZE05Q0Y4MkJKTzhsUHUyaWoya2NaMlordWpWd0xxSTkrb1J3eVZFNzQ1TFZ1L3BlMk1SNjRs
dUFFZ1EvMnFXc1lzc21ECnZsdzNrVTlBTG1OQ2RlV3A4VGNRQ0FRQ2dVQWdFTWdRcUM0SEJKV1ow
RVRtSVFxUFBtcjIyR1A1aE1nRXlRUk1ZTUxWNUY4dUpvMUoKR0xMSlJNbWtEaEVRR2NVWllJTmdN
N0Z5ZmlURUZIMVQ0dlQ0NDJZclZwZ1JReTQ0ajJ4SWt5WnpKbS9WbGJZamIxbmZYOG1HY0VBTQpW
cTdNc1FBWG5CMDVaSDBsK3NpU2lDZ3hHMEYxcGJIU3N3dzllZEFOck1CbS92ejhqSWdNWmFrYkhl
Z1hTQkQ5aGNOQ0c2bExaSldZCi9NVStWWDlTVHRoUUN5UUhPY1QwSFdYTEJlVEorWkRUQnpaczZB
V1I0enl5SUV6c293dk9KdnZDcEpMOGNuVldTeHB0bzQycERTMWYKbm85SitpcTFvUlRqSWhZY3M1
R0hUWDNLdU1EcEFGZjZtdzA3d3E0STlKM0dTcDR5K0Y5MExvNlJSeDdKYlovK1JHZDB3RTRYTE1q
SgpzblJDTCtsWXFTWmhncjFnazhqa3VySnFWVzVYc2lQeUtXZ2Z2YVNmMHNpVFlpUHNGT3M4T0RD
K3dRYmJKNEFQT2lPTFBrSWZ4aTNYCkRCd2krbzUyb2hQdG9qempHSnNrcE5jYTdJanJERFpBM2Rn
cmpnUjVWWTY2S2dWMG9EN0tZRFBVRHliSVJTZWNFSzQ5eUVZbitsclgKQnB3ZHNJa1FDQVFDZ1VB
Z0VBaVVRYUJuMWlwejV1bVlwQW1SaVprSkVjSUVVWGpvb1h4Q0ZMRmtZbVp5RjlGaGdrd25mOXFt
TlBJeQphVElSUTBBaFQ5eFpoRmhEYkpoOE5aRXlhVk9PTWtNTklrN294b1FOa1hqd1FUTUlGSGNT
bWVBaGJUZ1FrQWQwZ1ZCUUZ6cXBEZVhxCksrSWhnZ0RwWUY5M3M4bW53RDQ2VVMvMUVYTk1lb29i
ZW5Bc25GU2VOUFNDWUVDQzBJOTlDQWpraWZ4cFd5RXJrQ3ZhU0gyMERZeloKcUJkNTZKRDJxUncw
OUVjMjVjQ0RNdFJEdVVwQmJhTXM1STB4Z2p6d0pvWmNvZy8xUXZ5SWtVa2RBOG10VkY4MXBxZDRw
Mk1TVWtuZgpxVjhZQS9RdkdOR3ZhVWlQMlNjUDQ0TCtCVStjRHNZZzh1aGJZVXRlTnVRT05UQTI2
Ui8xS1NTWS9zU09HRi9Vb2Y0a0QvTFJBM3RtCjNLZ2RwSmNMeUFjVGJKM3lFSFpzazNwb0ErT0Yr
c21ud0w3R0d1VTRqd3pTcVljNnRaWERVSG5Ra2ZKZ0IyNDRidUJGR2JXWE1jdlkKUlIvcXdKR2dQ
TGFoR3lUb1FwcHc0bm9pbkdnTCtIQTlReTUyUkRucHF6YWxjWW9KK0NLRDZ3cTRzNEU3MkZBZkdD
TUxHNmN0d2dsOQpJZ1FDZ1VBZ0VBZ0VBbVVROEZteWlvSW0vWFNTWlhKbU1tUmpnaVZBaENFZ3V0
dks1RnNNeU5KRVNVd2VDQU9FQUZJR2VVMkpCK2UxCk1iRU9aWElWUVlHb1Eyb2d3K2pKQlA3d3cv
MGRFQ1p1Nm1jU2g0aXd5UW1wcEwvYVJEMXM0SUljNnRPV2tvd1VQNTBuRm1tQW5JQVoKOVlKZjZn
Q3B2ZWhDWGVnS1VhSk82bEJicVFQY0lFRHFHL3FGOWlBYllncXhvaHhsVXAxSUYzRUNKK1JBbGlp
SFU1aVdVOXZUV0RxSQp1TWxCQldzMlNCenlSWlpvSi9YVGJwRkYyamZVL2szcnJwYjlJdDV5MG5B
K0lKaGdUdnZCSEZzZ0JwdmlHRVNPTnZVangrU0RyTEtsCk5nUStuQU5yWVZ5VVdRbEQ1RE5HMFEz
U3EzSEZ6UWY2VkE0SU5rYWdYeGszT0ppTU84WXliYUR1d1lMYXBKaTZ0WkdtSUoyd0FmUmkKWTUr
eFJUMXlnQ3BoQ01hU1M2ejZGQ05IYlpZdDBUOUt4L21RYzBkYVdnNDlzRG42QUt5d0E5a3ZtSEFP
MlNxbk5pbEdsdXBKblErZQpsSEd6aHhpNXlBRlh5V2FmOGNKMVEyTkc1eVE3NGtBZ0VBZ0VBb0ZB
d0JId0dhUEtnaVpISmxtSUpxU0RDUnF5UXhxVEh3U0VEVExQCmhDakNvNllpZzBtZlNWYWtuUWta
TXM2a3lxU0xiTklJRUlyaXhEcFVNaU1TZ1g0NE5wQUJKbS9JQVdRS0hkQ2JDUnRTd1IxUVNEb3gK
eDlSTFhjV0puR050bXZnaE94QXVTQWJuYUVOS01tZzM3U1dkZmRwTDNaQW44RkJkMUNmODVJVGtT
T1JZU2xkSUhoaUw0SUV6N1ZVZAo0RWpmRUNPZm1McklVeVJkd2dIZHlLYzd6K2pKc2ZvakxaZGlR
am95eUNkU3JhZGprQ2FjUHZDbnZYS3V3QmVzYUFmN2FUdlUzb2tZCmd5bFkwUS9ncFRFUHpxU0JB
Mk9Cc1ZSdURGS2VUWmpUMytDcThhUXh4VEhuQ0JxanlHV2ZNVFlVQjBTNklsUGpBaHRpMDQwQzlO
ZFkKd0Fhd0x4eFdsZ1JoUjVXdUE3bG0rVjkwUVMvYXJuR0IvdWdKUnVYc2lQUENERDNSa2ZhcXJk
Z09zalMyVWp0R1g0N1JsekhJcG55VQo1eno0SXBQNnFZZHJIZktSSzRlSFkvVUhMYUVNYWVoR0hz
cGhEN1FQK1NxbjlxaXM4QlBlakFQS2NwM0M4Y0dCeDQ2SU9VWVh5cVI0CmdYV3hIZFFyMlNuZXNS
OElCQUtCUUNCUTB3ajRURmVGUWNTSFNWSWJFeW9USGNTWmlYRGV2SHd5WklKbnd0WWtxQW1YL0V6
VUlrdE0KcUd5UUdVMzA1SVVrTU1sQ1lwREZQZ1Joc0lsVkV6bnlrUWtSbDlQQnhFNDY3U0FmZWtB
TUlOMlFLdktoQThza3BEOTZGQU50RW1tQwpMT0s0MEM1SVhyRU95b3JRSUpzNkNPZ0JXVUVQWk5I
T0ZEL3dGQ0Vpditva0hiSUJ5VU5QeW9FemJhRWUra1d5SVZEb3hMSE9VMThhCjBqNU55NEUzc2lx
VlE0YktVay9SK2RCeU53Z3I3VVJIc0VKdjNoZGdxUjFrRlNlRU5uRitzTDVOOWE2MmZlRk9MQnNB
V3pEV0dJQ28KYWhraVkwcGpzR2hENEU1WmtWMndad3d6dmtoakxFc21NdVRRZ0RQaklTWGtsWEJV
SGZRdGNwSFBSbDJrMFFZRjJzQzQ1enpqbTQxMgpVQy9qcUZKOTlMZnNpSEVnZTBEUFNuYWt1bWdq
dUhCTU9mUmxEQWxEeHBpY0lOS0ZJVEgxb2hkNXdUblZWZjJrOWtzK2VHTWZISmV6CkNjcXhxVzls
UzlRbCsrTWNjbFdIOEZNNXRRMzhVdWNEQjBUT0IzbDF6YUdOaXhibHRrUTdhTTlBZUt1K2lBT0JR
Q0FRQ0FScUZvSHEKY2tDWTlEUnBhcCtKbENCSEFUTE1oTGpWVnJrVHdpUUoyZEhFcjNLYW9DRU5F
QnVJQkd1bXVYdUtzNERUQUdsbElvV1VGTy91VlNJegp1VGE1bmlKbmtCaGtRb3pZSjUzeWtETDBo
eHdRNDRRb0g3RW1jL1FuajlxZ09qaUdPQ0dIZGhNZ1RlaEt1eUFTYWkvbmFET2tEVDBnCkVwd2pq
OGdNeElHeWtJbkZpM09TVGxxUk9LRTdhVGdkWUVQZDVFTWZTQTRCMmJTcHVFbWZZcXd5UXkyWFZl
Si9rSzkyRlowUFBmbVEKOHdGV3RHL2h3bng4TUVab2EwcjhCdXRYMVZ2TmNSRjdqdWs3MnM1WW96
L0JhTW1TbkZUU3h4cUR0RnZsd1o2eHcxaGpYR05EV3NvbAp6QmxyakVuWkVMTFpaOHpTSDlRNVVG
QWQySVljSEd5RFl3SjZTUVl4WXdGZDVJUlFoajZYZzR3ZEZVTnFSNVRuT0xVakVYMlZReWZzCkNE
MndJd0lZTVBhUkwzdmtPclQxMW4wWWNpMUo2MmNmREtnTCt3RVhybGZZRm5XaVJ5VjdRQWYxZzJM
MDBINnhIT2NvTTFBNTJrNS8KZ2wvUitVaWZmQ0FiUFhIZXNTSGF5UFdDWS9wWFdOTWZ0Q0ZDSUJB
SUJBS0JRQ0JRUU1CbnZ5b01USUFFWWlZNEpuSW1iWkVHSm43SQpFK1NTQ1RHZCtDbkR4a1FzQndH
U2d1UEJ4SWtzMGtuRENXRWloa3dSODFRRm9zRjU2aHNvYURKUGlaUHVERk9PdWhUUWhZQmM4bEFY
CkJJcDluakxRTG9oS2NUSlBDUXpsMFFsaUlCM1JRVmhKdmh3cjVFR2lJQnZFa0NmSzR2UUlQMGdv
OWFma0V4M1lJQmVrZzYzSUpQV2gKay9RVTF1Vmk5RW1EOUN5WE4wMUx5NEFiZGFJLy9VVS9GWmRk
aVFpRERVUjB5eTF6d2dScFlsOVB5c0NZUEtuK2FWMFRmWjkyMDM2UgpaNUZMTU1LR3dFZjlDaGIw
aWZCbjdEQldaVVBrWXl3TGU0ZzZ6b25HTlAzRmVmVjVKV3hURzJXY0lvZU5mY296aGlIdDZJNHN4
Z0oxCk0vN0pSMzFzZ3ptWWxHRThNNVlKNElCRFFMdW9CejAwQmpuUE1YWk5tOUNCZmVuRmVjcUNH
UmhDek5rWWUrbDFpRHJaMEIwWnNpWHAKUUgyYy8yY0U2cUpOUTNFKzBBZk1hUnZYV093SUo0UnJC
VzJrN2JRaG5JOS9SczlGSFlGQUlCQUlWQzBDUHZOTmdKQVNDQ1pBSmtLVwoyR2hTaEZReDBST1li
QWxNdUd3aVQ1QnZpQUNUTUlRQ0VnTlJnckJEYnVXUWtMOUk3SE9KZlgrcGd6emtwYnpJRUNTTk5B
Z09EZ2lrCkE5MUpveTdLaWN6Z2hLaE8zVkZVRzFTVENJeUlzK1JTdDlxbnZNUWlHQ0pOUFBGQk5v
UUJXWkJNY0FBL2lMbndTNGtUY3NqTEJzbGcKUXg3SFlGYlVrZnhQUmFCOTREV1k4d0cyNEl4amhV
TUtZVXFkai9SdVBMclRqbG9NNmsrd1lremdlSUlaUkpQeGtOb1ErSUE5Ry8yZwpjVVU1eG9QR1BX
T2ZNVThmRWJPUnhqalJHQjBJYStUakFLZzh6Z1MyaEF6T01WN1owSmxqYkllOHlOWmRmRGs5dEVl
T01qcW1nYmJUCjl4ckgyQkY1cFNPeTAwQTZPaUNIT2pXRzBBTjlzUmV3SUIwTXNTV2NJSFF0MXEw
eFJ6b2J4N291L1RQR0ltMmpQZWd0ek5KbFYrbVQKRHpEZytxQWJGT1djRHpDZ0hmOE0zZE0raWYx
QUlCQUlCQUtCcWtKZzRqZ2dJaEJNL2t6ME9DSVFBQkVQenFlQmlaZUpuc2tYc3NHawpDWEdDc09p
SkIwUkpCQWhpd3pGa1MrUTNsWmZ1YzE3bElGMlFKaEVuempGSm94c2Jla0ZpY0RoRXpuQThVckpG
dmJSTEJDbXRpL0lpClVMU0JkbWtqSC9zSzZFNGUyZ0pCQWlmSUZuTFJpMzNxQVk4VVA5SlMvRVF1
aUZVMzVaR3ZjNnJ6cVlpRkwvV0JWYVVuSDZuendaMTgKM2JGbEh3ZVZzU0VNMUphblF0OXFrS2wr
Wkh3d0RzQ0ZNY0k0Z0hReUp0SXhRSnMwenJBaDhuTWV6Qm5MV3M3SW1NWVdTR2ZjRVhOTQpHWlV2
TjJZNFJ4N3lJME0yUkg5akQ1UkJKNXdqOUdSTWNJNjZPWjg2OHBURkVVQVdiWlBOcFAyQ1BOck9P
ZG1SMnBqRzdLTVgrV2dQCk9tQWZzaVBLWWsvbE1BUWp6aXVvM1duTS9qL0xqb1F4N2RFMWFDRG5n
K3RWMGZuZ0dHenBnM0ErMUxNUkJ3S0JRQ0FRQ0F5Q3dNUncKUUdna0U3Zklnd2dBRXlMa29FaWd5
Yy9rUzJEeXBTemtoQWxXWkl1eXlOTWtMZElFMFdGVCtWeEszMS9sRjNHU00wRU1ZU0dJT0RGeApv
eXRPQ2pJaEhteTZFNm1uSU1WMTFibVV2ci9vci9aWDBvdmN0QWY1dEkxNjJVUzZWRDRsVU9RVGhw
U3RGQ2hMVUp3ZlBUVi93VWw5CkFURXRPaDhzd1dKcERQaWpPeGlYY3o3b2F6a2ZBN1h0cVduRjAx
ZHFjUnpJbGtUY3kybE9uMUFPNG8vRHdzWVlCMzhSYnZKZ2EyenMKRHpST3FZUHo5RE15NWNUamxC
ZVhYL0ZrQVVjU21lakkrS1ljL1U4NXlyQ3hUNTl6TGFCTmxjWXE2ZEk1Yld1cUwrT0Z1dGlLTmtS
NQpOdktrdGlRY1U5bmxkS0NlY3VtcExtT3hUejMwQlRpQkdVNWEwZm5RNzhLZ1Q3a25IemdmY2dE
VjEvOE0zY2VpL1NFakVBZ0VBb0ZBCllGd1I4Smw0QWdZbXdYSmIybFJObEV6RUlndVFnM1FqUGQx
U21hbXNkRjhUTzhRSnNxUTd0K3d6MlNPZnU0VmE1Z1NKZ1JRcFAzbUsKZDI4aDJoQUFKbm4wa2U1
cHZkb2Y3TnhRMnBEbVNmZFZ4M2pGa0V6SUpZNGNNUTRhdndQQnkrWnNPQjg0SkdBSXBuSStXQ3Fp
ZDRMUwpKeCtRUXZDTVVCbUJ0UC9aTHdiR3UwSXhyMnlIOCt3ejlwVldUcGJrRUVPT0ljYllRdXJF
Yzh3NHdJWndLT2hQYklrMFpHTXJiSXdSCmJBN25RNDY4eURJMlI5N2hoRlRmZEgrb01sSnNobHJt
cWNxbmF4VDRnak40OGNRcS9kUXV6Z2RPRzNxRGMvR2RENXdQM1JnSjUrT3AKNnFtUUd3Z0VBb0hB
aEVWZzRqa2dUSzVzRUJJMkpsaTJsQ2pSbmNySE9RZ3JEZ0FiKzVCYnprT1k1Q0F3eWJJdkVsV0po
RkFuRXpzRQpTSGRnY1VLWTVEbkhYWGVjQ2NnUTVBbVpFR0hPNjA0dE9xaXMwclJjaUx5VjZwNm93
MVQ5S2VkRHBFbDNiUG5VYmpubmc1ZC9pODZICm5ueUU4MUYrdE1ndVpEdGdycTFJMnBXWC9zQjJH
UE00Q01TTVlXUlFCcXdaOXppRmVnSkJ1a2g1VVJQa3lpNXhJbkJBc0NGaTZxRXMKOGlEQVBBRmhv
eTdLa1ErYlFRYzJqbkZBU01QZWh2SVVwS2pQUkRvdVlndk80TVB2NUdCSGV1Y0QzT21mY2s4KzlG
NFFUcUN1aWJWMgpUWnBJWXlMYUVnZ0VBb0hBT0NBd2NSd1FUYXlRSlRrVWtDR0lDaUVsVCtSbGc3
VGdMRERaTWdtelFWZ294OFFNY1dJcFNib09mcUM3CmZkS0IrbkVvUklaRW5OQWpkVUM0UXk5NTVL
RWVqdEZIRG9sMElpL25tZkRUdGlCeklnZjFGZjBLK1FRbjBsTFN4Qzh6OCtTRDh4QmMKaUNrdm5P
dWREL2FMNUxPV01CenErTUFlWkJPcFF5SG51WWhaYWtQa1llbWJ2bmJGTVgyR3c0NE5RV1RaSUsy
cEUxSk9OM1NnTEE1RQo2b2dqRTd1a1BMWkFQMk1YYkNwRC9aeGpuQ0FEVzhMNVlDT05NdWdqNGx5
dS9vbWFsbDZmd0FYTXVOYmh5T3NwNG1PUDlUMzU0S1lICkw5RHJVN3ZFeFNjZmpJbHdQaWJxaUls
MkJRS0JRQ0R3bENFd01Sd1FUYXg2OHNEa0N2bUhqSEFPMHArU0p4RW5rVnBJRHA4UTVTNDYKTWNk
TXpoQWRKbUdlVmtCY0lGQ2s2U2xJc1Z0RWdpQnZ5RUFITnBFeFNBOEVESm5JWThQaElGQUg2ZFJQ
L3ZUdUxUS1FwN3UzbGVyUApKVTJzdi9TVnlDZ0VFb3pCbHlVaWtDYnUyTElQWG1BSnZqZ2JQUDNR
NTBIRCtSaDhUSUFyRzg1elN2d2g4NUQrMUlib0V3TDVPYWZ4CmpoUElramo2UXc0QWZjSzRaWHl6
eVlZcVBjbEROakxseENOSHpnTjZFZEFGbWJJaFl1bk92dXFRRE1yTGtlZmFRSnZRcTViSWM0b3IK
R0FnUHNPRzZweVdNSEpNWGZMa2U4U1U4YkluM3FNTDV5TWRmL0EwRUFvRkFJQkFZTlFMVjc0QXdX
VUkrUkZJaDY2eG5obVNRempGTwpRM3FYanZTMERDUUg4Z1J4NG00Z0V6UUJNZ3RwZ3NBT2hUd2hF
eWVJdTRvNERFem0xTTh4ZXFJSDVFZ09DSk04VGdublNHTkRiOHBBCm50QkQ1QWw1eU9IdWJhMHNI
eXIyRWM0WjJJQUxSSmNuSDhTa1FTYkJsejdqampoM2J0bllCM05JYXkwNWJ2a0lIdnJmZE93eTVy
QWgKeGhwMnhiZ1VZVWNpNHpXMU94d1FiQWlIbjNMWUVYMUNudFNHNkF2R1BIMVJhUXhUUms0Ti9Z
d2M5VG0yUlQramx3Z3l1dEcvbEVNUApIQkRPa1lmeTJCRzZRYmhwRjJua2t3N3BkV0hvYUZWWFR2
V1ZIREt3a0cxeDNjTUJ3WmF3TC9LQURkY2xjS1RQdVA2eHpJMWorbE5qCm9SYXdxNjZlRG0wRGdV
QWdFS2dhQkNhT0E4TEVDVm1DQkRGQkVpQWVFSG9tVXowQjBXUXN3cFhlN1lXZ1FQUjF4NWV5VE1C
c0VKdUIKSmw5TjZKQWJFU2NSSG5RVGNZSXc2UzR0OGlGaWxDVmRaQW9palJ3Y0RtU0lQS0VIWkl2
MlFhWW5NZ0VvRWxINkZaeG9NNFFVUnhIbgpnM1FSU3ZxY3ZvWjgwbGRza0NuaHBURkF2Z2g5Q01n
bUlQaXBEWkdlMmxBNjN1Z0xOc3FBUDNaRHZ4UnRpRDdBZVpjTk1lYlZINms4CmFTT1oyQ1YxSXcr
NVBCWGtISDJMRFdCRDJBdnlxQU5kU1pkOWtZN2RJSWV5c2lOa29ROWwwdXVDNnA5b3NmcVdheHJY
RTlyUE5RZHMKdVM3aGdMRHNDbnVpRHduQ2hYNENiemJzaU91U0hNZHlmWmVYanIrQlFDQVFDQVFD
Z2NDZ0NGUy9BMElUbVZ3aFFzUk11QVNPSVIyNgowNW1uNW44aE11VFZVeE1JQ3BNdlpJVTBKbHBO
dWhBWmlBM0hJazdsaUN6MVNoNnlpc1FKbVNKSTNFbEVyblJESDlKRXFpQkh5SUFnCkVNc0JZWjg4
S29jVE1oR0RTQk40c2crV0VCNGNPNDdCQWNlRGRCRlRTQlBudEUxRVhKN0tOb240QzNQd2xnMkpl
S2Fray93cWd3TkMKUDJoREJ2MUJPV3lHOGN4NHg0WkloOFNtc3RRdStnNjdaTndqU3c0SU1YVlFC
aG5ZQ282RzdzaFRENEY2WkVmRTJBazJ6UWJ4bGgweApqamhQdVluK1ZFeVlnaC9YTFJ3TytwVStB
R2R3d1piQWhHUHdVTi9TRjJ3NlJsYUVRQ0FRQ0FRQ2dVQmdEQkNvZmdkRWhCUFN3d1RLClpBbFJJ
WWJFeUdsSXdkS0VTaGttWmdnS2R3ZVptSm1rS1k5Y1lvNlZKaG5GaVpqamxEZ3hxVU9PSVU3STVq
eGtCeElHOFpIekFSbGoKd2llR1dPR2djRjUzWjlFZllvQXN5Qk55dVpOTWVkcFYxRXY2VFlTWVBs
Si9DbHNJSlgwaXdrc2VZVUE2L1FmZU9DaHM0RWRlc0JYcApKVitFL2dnd1B0bGtEOEtWR0x1UURR
azc1ZWM4bU5OUDRNN0dQb0V4VEwrbFFlVVVwK2ZZUng0NnFBOFo5MnpZZ0VpejdFUTNCZVRRCklC
TWJvMTdPNlR3MmcwNk1CemtnN05NdWpRdkcwRVFONENKTXdaQjk3QUo3QUcvc2d6UmRoK2hqeXBB
TzdsekRaRXRncXVzTytTTUUKQW9GQUlCQUlCQUlqUktENkhaQzA0VXlva0I0bVZDWmJOa0p4c21T
Q1RmT1JuN0trNnh4bG1ZUWhLa3pZeEJ4RGdwRW40b3Q4eWlCRAprN1ljRUNadTBwalVtYmdweXda
cElvMDZWUjU1RUNoSUVYbEVFS2dYRXFZNy9wQUM3djdxN3ExSVlTNXBZdnd0OWdFWVFpS0ZIVmlC
CklZUUlITUFlSE9oVE1BY3Iza1hnYVJHRU5NV3FPQlltQm1LamJ3V1lLN0RQMkpROXlaRkl4NXJP
RTZkbEpZTjArZ1ZuQXZzUmllVlkKNDV0K1pGT2dESGJIbU5mVEQyeUpNWThzK3BHTjhzU1VwVzdP
RWRpbmZ6bUhIU2tQZFNJanRhTmFXYzRJcHZRZk5zUStNWGlBRFRZRQpocklSc0FkTE1DUWZlUEZl
aU41L0ExT1ZZU3lrZlpmM1FQd05CQUtCUUNBUUNBU0doRUQxT3lCTWhKb01tUnlaV0hsQ29QWGhI
RVBtCjB3QlJTUjBRSm1RMkpsM1NtWUNaakNGTkxGblFVd2xOMnB4bjhpV21ic29VaVJPVHR4d1F5
a2xIRVNaSWx0SW9xN3BKUytWQ0NDQmoKM0wxbFl4OUNrSktCdEcwVFlSK01SRWJwRnpBaERjeHg1
UFFFaVdQd0lROTRVZ2FpQ1dsSzc0SnJESkJmbUU4RW5NYXlEUnJQMkJBRQpIL3h3NE9UazZRbVM2
Z1JyTnNZK3ppSGpsejZnTHhqUDRNdzUra00ycEg2akR1U3BQOGlMTFBvU09YSVc5TlFQQjRaekJK
VkJObm14Ck1lb2pVRGU2SUV2OVRFelpWS1pzVThzWjBZZDhFekhvZWdNdTRBUVdZSWdkWVJmMENU
RUJQTUVhSE1FWDU0OTNROGpEeGpXSGNzVysKeTB2SDMwQWdFQWdFQW9GQVlNZ0lGSmo1a01zOXZU
SkNIa1JxY0JiNGFvdCtMRXRFWFFTRENWa0VWK1NKQ1plSkY1SkN6RVFNaVlIcwo4MFVmSmwxTjJN
U3FpNGtjV1pKRFdTYnRkS2tIc2tXQ1JKaTRRMDhaaUo3T1VSWmlSQXhaZ0NoQUdOZ2tVM0w1SW8y
SW9aeVZwMWVQCmpGNmJ0SS9BbVFEMk9KWjgzUW9uakdQd29aOGd1ZUFFZHVBTHR0elpwZi9aSjY4
Y1J6RFhlTWdsMS9aZjRRR3haQU5qN0lmUHJ1cUYKYmRKVHpOTCtvUTlrUXpnRWJEZ2pqSEZzaXFk
UjRGL2NSR1RwWHprZ3lLRTh0cEE2SU5SSFBkZ1FNamxIZjJJdjJDT0J2bGRaNmhmcApwZ3o3akEv
R0JodGpocktNRWZUU0dNc2xUWnkvYVQvUkgyQU9iclNiNnlRYjEwemFEMmJZRVE2OHJvWHNZME95
Slp3VjhDWS80MkdpClhuOG16Z2lJbGdRQ2dVQWc4TFJFd0dlaktnK2FCT1VVc0xSQ1AwSUhVWVdv
UXpBR0kwOGlOU2xCZ1F3eElUUFpJb09KV0J2SFRMNEUKbklVaWNkSmRWc2dQZFVPTUlFMlFZZkl6
b2FNejV5QmY1SU1nTWVFVDYyNHl4SW42S1l0dXhNamk3aTI2aUZEa21reTh2N1Fkbk1DTAp2dVgz
Q05qb1c5b1BQdlFSL1VHUUV3ZnBCV3MyOG9rNGlUQXB6a3ZWOWwvWkVCaUNkV3BET0NJUVZNNFZi
UWh5QzZtVll5RHlUMytBClArT1ljYzJZVlQvU0YvUWxtL29FdWNpaEwzRUtLRWNaK2xLT0FubDBE
aHRCSGphTEROa2hNckFieXBFSGZXUkg2Q3E1MkJGNUtFL2IKR0NQSVFPWkVDclNaQUhac1hDdG9L
OWNPbkV0K3FKTnJKVTZtOE9SSkIvdVVCUi93NXltSTdJaVlzYURyRG5LRmYxNWIvQTBFQW9GQQpJ
QkFJQkFaRllHSTRJRXlZRUNmSWpTWlhmb1FPb3NveEpDVWxGMHl1a1A3MHJpdVRMY1NKeVpZSmxq
eVFGRWdNa3l3VEw4NE1kNGZaClVnY0NBZ2JSWWJLbURPUkp4SWx6bEVjT3BBaTU3Rk9IU0RCcGtr
RjVOc2lXN3R4U0h2SWtCNFI5U0NKa2dYYlROdkpNcEVCN3dBZWMKYUNkM2F1blByYmZPTjRneGZR
SnAxUjFjUFRVQ1h6WVJKL29xSlU3Q0s0aFQzNGdaekliQXJ6akdHTGVRZmpiR0tqYkVHSlVOa1o4
eApqMjJRamgzU1Y5Z2tHLzFLR29HK1F3Yjl4dmlXSFNDVDh0S1BkTWE4SEUrTmYyUmd6M0ppc0VI
a2NHT0FOSFJFRnVVNUp4dE5uL0JRCngwUUs0TThtN0JqdnRCZm5nK3ZqdHR2bVB6SklYNUFIN09r
UGNPUjZwRDRCSzlLNXZyS1ZzNldKaHQxRUdnZlJsa0FnRUFnRW5vWUkKVkw4REFxaE1za3l1VEpL
UUdpWlpDQ3NUTFVTZENUT2RJQ0ZPMmlBbVRMYVFFeHdMOG5JT01pU25BbWNDNXdSWkVCamxGWGtT
K1lMdwppTmpnUUVCOFVpZUg4OGltUEhjUVJSQklreDZVNHp3NlVaWjA1SkJHM2VuZFcra3JXVS9E
QVRZaWxWTFNSTnRTMGlRSGhQNEZmN0FoCkJpZjZBY0lKZHNUZ3hXOGNGSWtUWTRYeG9IcEdwT1FF
S3lRYnd1SERZV05zc2RRUFI2K2NEZEg4b2cxaEx4cVRzaUhHTFgxQmpHMWcKUjhRYzAxK1FYT3Ft
enlnUENlWThmY2MrWmVsYjVDa1A1K2ozMUltWFBob0gyQkZsa1M4N29qN0pwdzdzRVQzMGxKUnhn
UzRUS2FoZgpzUkhzQUx2UkUyS2VnT2dtRGZuQUJyc0FXN0FETC9xTGZXS3VqWXdONUNBUDUwK1lV
WDZpWVRlUnhrRzBKUkFJQkFLQnB4a0NFOGNCClllSmtNb1NVTUZIaWlIQzNsWTBKTTNWQTZBU1JK
MkpJU25vM2xna1hrZ05KWVZJV2NZR3c2TWtHa3pTRWlQSnlWQ2hESHNwd25na1oKQXMxRUxTZUJ1
cEF2QXF3QmdSeklFMlNKYzVSaGt1ZVlJQjNRU2VRSllrN2IwcnZBZWU3cS95c01hSnNjRUlnVGhF
bU9KWDBOenVTVgoweUhpcVdNUkozQmlZMnlvUDlRSFFaenlzUW9lakZQWkVHUVRjczVXeVlZWWFS
cTdqRkhLRWhqajJBSU9NemJETVdSZk5pUUhoSDRpClVGYm5zU09WWWZ6THJyRUg5SlBOVXE3WWQz
STJPRWMvMDkvWUhQSXBsK29sKytZSkFQbVFUVjBUS2VnYVJQdTRGdUtBTEZ5WTJ4SDIKaElQSnRZ
OTg0QXRHWU1VMWpZMTlYZE40SHc0NXNxUFVDV0hzeUo0bUVuN1Jsa0FnRUFnRUFvR25CQUdmY1Nk
SVlBSmxBb1JBUUNUWQpJQ0FRSWpiT2xRdE11SkFXOG9xZ1FFaDBKeGQ1VE1MRlNSbml5MFpaU0Mr
RVNRNEllZEdIeVZvVFA1TS9oRTY2Y0w0WXFCK3lsTjVsCkZCSGpIUFdJMUJIcjdpMUVBRDNMeVN6
V1VRM0h0SVAyZ0JWa2gvN2dianp2ZlJEamtJQ244b0FOUkJiQ0JDYmdSQi9RSHh5bnhBbDUKeUtX
L1JaZ21FbmFqN1Yrd0wyZEh3cXVTZk94QXpnSFl5NFlZeTZSekhudkJBUkN4cGM4WTd3VFNjZHpw
TXpiMk9VOVpiQWlTakUwUwpjMHg2T1p0bUxHZzhvQWY5algxZ1I2cVBNVUVkY3VTMW5IRWcyOHkx
ckw2LzZrc3d3SkhFZHJDaDFJN0FTRGJIVFJENkFodVNMZEZ2CnV2YXd2STc4MnNCTWZjSCtSTGtH
VlY5UGg4YUJRQ0FRQ0ZRVkFqNkxUOURBUkZqY3lqV1ZQRXpTa0JZbVVDWnFDQTZ4U0JmbklFb1EK
R0pHWTlEZ2xUa3phbktNc0pGa1RQakdUOW1DVE5FUU40b1FjN2g2emhoNmlSQnAxUTZRNFptTWZv
b2RjNm9OSVQ0U2dmb1BZMEEvcApuWGpkalFkSDJzc0dabUFqNGdSWkVza3RFaWRrMGIrVVI3NmNq
NG1DM1ZqM3YvcENjU1g1d3ErY0Rla2M1TFpvUTlnSzZmUVg0eG5ICmdKaStwRTRjRHZxY08vZVFa
bXlLL2xPL2xkTkg5b3JOSUFzYllrTTI5U0ZiRGdneHRvWmN4dHBBY3N2VjlTdjBuVjRBQUNBQVNV
UkIKVkhSUEEwUGF4QVp1d2xOMnBPc2MrUWpnZ01OQmYyQTdiT0JGdjRHbjN1V1JBeUpiUWo3WFVU
a2p1YlQ0R3dnRUFvRkFJQkFJbEVWZwo0am9nWlpzN2pFUklESUc0dUVGNFJhWlM0c1JUQ1k3Snow
VFBuVldXT2JCQm5rakRVZEJrbjlmUS95OWxtZWh4YXZRbEp5WjNKbjdxCmhCQkFtamltUG82UkMv
R0RBQXdrdTM5TlQrOGoyaUpDSTFJTFdVb2RCN1VYRWdTaEFtTVJKMGdsK3hBbkNGV1JPS1d5Sklj
NHd0Z2gKd0ZpdUZEaUhIZUVRRURQZUdjK003ZlRwQjJOYlM0YUllUW9DK2NVbUJncHlOSkFKcVdi
Y1lCc2NjNDQ2VWtlZUd3UTRwN3JwTUpEcwphanBIbXpXK2FadHNpVmczTFlRbHpnTzJCTVk4YmNS
K3NDTTVJZURGUHM0YytlU0V5SW1oUFBWcHF5YWNRdGRBSUJBSUJBS0JmeW9DCkU5Y0JnZUFVdDNM
UWlnaUpxSEszajRtWEdPSUtXU0VQa3pnVE5SdjdwS1ZMRXlCTzNHMGxqVHlRSHQ1VjRLVnBYdmJV
SjRFSGMwQWcKWTdwekM2bW1MaHdQNU9yT01DUUtNaUN5cHVWaUlnRGwybG1OYWJROXhWM1lreWFT
UTB5N0lVUGdBSFpGNG9UelFWcEtuQ0JRYkNKaApxYnhxeE9xcDBMbG9QeHlYQzhvbkcxSWZWTElo
K291K0JIUHNpN0dOUThCNFpvUGtNdWJwSDV4SzN2dmhpMDNFZXBKSStZRUM1ZWx6CjVDR0hRRDNv
U0RwMWNFNTJSRDNZRzJSYXV1V2xxdjh2T0E5a1I3U1FQTFFieHdSSERKenBSM0RTeGpIOXhIVW9Y
ZFlJdm5Kb1VwdXQKZnVTaUJZRkFJQkFJQkFKUEVRSVR4d0dCQk9uSkJLU0dUWVNJaVpXSnNSalNN
cEFsRVJKSUNTU2Z1My9JWUhLR3FFSk8yQ0JRbEMxSApuS2lYdkpCaFh2Q0VOUEhKU3h3UTd1WU81
aVJJTHBNOGNxZ2ZQZVI4SUo5amRHUWpIWUl3RWUvZTBsOWdYOXlLL1VqZmdwV0lFMzBwCjBrUXM0
Z1I1U29rVFRvdnUzbXFNSUl2NmFqR2s5aUFiWW95emlWaVd3NFZ5RUg1d2xuT2MyaERsQ1l4OTJS
RDlCYzV5RkNpSC9XbWMKYzQ3KzRTa2lUejRXTCs1elFDQzg5TmRBQWJtTUEyeU93RDZ5R1FQb2lV
N1VpWE1xTzhKbXFWTU9VbDV5NHYyVlBSVmJSanE0MGtjNApZNm16eGpVSHg0MDBzQVF6bkE3d1lw
TVRJdXlRVmU2YVc2d3pqZ09CUUNBUUNBUnFFb0dKNFlDa3hBbGl3UVFwMHM2RXlLUlpuQXdwCkkr
SWtrczhYazFhc3lEL2R5dDF5eUFwRURCbE1zcEFaU0M0VEwwSEVWc1NKQ1JxWlRNYVFHZTZxNG5p
d2ZoMGlKWEtUbDY3OEYzMGcKYUpBbzJnRkpRaDhJRXpwQnFrV2VxQnY1NkNMbmlNbS9sa0pLbk9n
anNOWmRidkJqUElBcGFlQUZUdVdJRTJPRXZxMDEvQmdycVQxZwpRMkFGZG93M3hqOXBSUnRTT1J4
LzRjdFk1ZFBIYlBveFFzNUJiTUVjWWtzZllTUEk0NXpHTTMxRGZjcFBQdTdFTTc3MURnaDJSZjhO
CjFrZXlRK3FWczRFTnNlR0lrRWI3cUZQT0V2WktPcmFIYm9QVk1SRnRqSGJUMy9RUFQzSEJYV09C
ZnBJdEVhZGZtT082S0NjRXpJVmYKTFdJNEVjZEZ0Q2tRQ0FRQ2dURkd3R2VhQ1JEa1NFRENJUlVR
Q29nR1pGTEVuQWt4RFpTQk9PRmdNSmxDZkNpREE3SjhlYjdQaEV1QQpPRUY4ZU9GYjY4a3BUem5J
RE02QVNBMzFNQm1URnlKTURPa2lEZUxFNUR4UVFDNTVpS2tUQWlZNTZJZE9rQ1RxbzUxczdGTVBk
VUNlCkJxdGpvUHFyOVJ5NDAyNDVmL1I3U3B6WWg5aUtPTWtKRVhFQ040Z1hjdGl2TmVMRWVNTVda
RU1RY3h3SXNBQXo4S3BrUXpqS2pFbHMKU0E0SU5zVFRKdXdSTzhPR3NCM0dLZU9hWStUUko1U2pQ
dXlJZmtJZS9VSit4ajhiKzNKY2h0SS90QWY1eUVydGlIMTBSRi9hbFRyeQo2RUU5dEpXeFVHdGpR
TFl2RzZBUHdKNHh3WFZIRzhmMEYzMnI5OVJrUjJCSC8yQ0w0S2RZc2lNT0JBS0JRQ0FRQ0FRY2dl
cDNRQ0FhCnVnUExQaE9qZm9tWmlSTHlqeU9Ta2lmeXBlVWdJcEFQeUR5a2lVa1ZPWkFYQ0Mya1NY
ZGhJU2pJNHh3VE1nU0d2T3lUeGdRTVVZTG8Kc0ZFL010SkplYUNoeDZUTlJoMHBhWU1JSUl2NjBM
ZDQ5NWI2MDdiV0lua1NjUUkzK2t6RUNhekFoMlA2dUVpY3lFKy9nVG1FQ1RtMQpSSnhTVzJCc3lv
WVlzNmtORmNlVXl1RzR5QUdoTEk0eWRpU2lqeHhzQVJ2aWlTQjlnMDBRR01zNDBKUWpwajdxNFR5
MlJsNWlDQzc5Ckl5Y3hMMTM1THpMb1EvcVZzdFNQRFJGempMMlhjK1RKdzNsMFRxOFpsV3VhZUdl
RUhYaHpMU3MrVWNSSkJEdnNpT3RSOGRPODVaeVEKaVlkU3RDZ1FDQVFDZ1VCZ0ZBaFVsd1BDeEpo
dUVBU09DWkIvaUJBRUU1S0NVd0twZ1Z4Q0pwUXZ6OTNmQVdFeWhhQkNnTmdnSjhoaQpJb1VBc1Fh
ZEwxbEJuaUF3eUdNU1ZobGk3dVNpVCtvMFFKdzRGckV0NmlCZGlqSDVJRStVZ3d5aEF4dDFpOVJS
bndnQU9yTVBlYU8rCmdlN2VJbHNiK3JKUmx6YWxLUS94VUVOYVJuSWtsMWhwYWI3aXZ2SU1WcTZj
VHNpaVhEbmlSQit4cWEvcFk0Z3lUaHNiUkV0OUpaS0wKdklrV0t1Rk5PNHMyeExGc1NKaWtlQlFk
RUd5Q2NTZ2JBbXM1SDN5UVFUOTh4MWpHd1VDK25ILzZRMDgvS0pNNjhleVR2NXdPcVQ3RgpmY1lT
WlNoTEgxT3ZuQkNJTStNQm02RnVqdEViSGJBdHJoKzByOUlZU0hFYzZwaXRKQ3ZWTzVYTHZtUVRN
N2JScVpJdElVZmxpK1ZVCm5saDVGS2YxYTU5OHdvN3JXTG1sV0hJOHdRNkhVN2JFTlF2TTZVZDBW
VHNrTytKQUlCQUlCQUtCbWtlZ3Vod1FkWmNtVXlaSUpqazIKMGlBT0VBaElPdVFHUWxHSi9ET1Jz
NUdQY3BBbE52WUpUS0pNdkJBblhpTG5KVmhlS21lU1pVS2xIT1NGalRLa01lbnFUaXRraC9JaQpU
cHdmVG1EaXBsMXlhTGdMeVlhRGhaNTY2a043SVZJUU9kSWhCY0tqV0o5MElFWSsrSUVQamhhQmZj
cVNMcUpDdXNxeFh5a29UMUcyCjVCT3pJVnVrSkpXVjlxbktnUEZnNVZJWjdGTS9kWWgwUXB6QUpu
VkE2SGR3QWp2d1pDMDcyTkoza0Yzd1FBYXkxSzVpUGRWK25PSk4KbjdQUkw0eWhTamFVdGhsY1Vo
dWlyeWpMaGowd1BobTcyQXVPT3piRWhqMWhHL1NySEVLTlhjcWdoNXh1T1F2MENmbkxqWnRVcCtJ
KwpPbEtHc3NpZ1h2b1p1VGhXNkV4UW0yazN1cUEvNTJoZnVmNVhtdVF6VnFpRGNjTzRZcCt0MGxq
UGF4MzRMN0xWUjJBaStXcVAraXUxClV5UVd5NkVURy9tUVFUbjBLcFlycHcyeXlFcy9naDNYT2wx
dmlNRUpIR2t6VGh6WDNkU1c1TkNqYzRSQUlCQUlCQUtCUUNCQndHZVgKS2d1YVlKbElJWmtRQzBn
T2QxNlpGQW1RQjhnTkV5T1RYM0d5UlFaQkJFb3g2Wm8wY1I1NEtaVzd0aEFudm1iRk1lY2hMSlNC
TUJIUQpSU1JKUzdVZ09hU0p6S0xEY0lJbWY5cUlMaEFuaUJ4T0ZlMkNERUFveUVkN1NXTkRKM1Ny
Rk5CREpJYTJnQjNFbXpaUmozU21UVVhjCktzbFVPcm9nTyswYlpKTW0yWExJSkpzeWJCeFREcDNR
Z2Z5UUgySUlhWXFqeXFqZVlzeDVFU2ZxRjNFU3VlUThoQW05d0U0T0N1T0gKdk1LUjh4TXhnRFVi
NHllMUlUbHB0Qmxjd0FNc1JGaFRMTUNRb0xHVzJoQXlrYzNZWXR6cUsxWTQ4WXhoMGhVMFh0RkhZ
NE0rSXgvMgp4ajVqZ3JFeGt2NUl4eFZqQ2Z2a1JnTFhDNEtjSHZTWERhbi8xYlk4Wi8rL3lFVWZq
WFhaRVZpeHp4aFdlOGdydlBwTHFYeEVmdVNEClkycW42Q1piS3RvRTBxZ0xIVGlIM2FBTHRrMDYr
OGhDSnJLbFZ5WGRVaDJReFRVTlc1R2RNRWFRZzgwZ0M0ZUVjNHdqWXVwRlh6QlMKWFpWYkhHY0Nn
VUFnRUFnRWFnaUI2bkpBbUJDWnlFUlVJU2NRQ2lZODBpRVZUSXJzTXpHbWs2dzZWWk50R2l1L3lB
VGtnVHQra0NEdQoyRUpZcUllSm43d1FFL0l5eVpNWGtzWEV6cWI4VE5aTTJrejJsQmx1U0NkLzFR
R1Jnd0FnanpaVFA2U0NtRFMxcVZKZG5DY2Z1cU9iCjJraDdJQSswajdaSUprUm1NSmxwWGNpbURN
UkxaRStraERaQUtFa3ZFalBwQkg0cUo4ZWdYTG5CZE9JOGZRLzJsRWNIeUJBeGJTV2QKdTdXUVQv
VVJaVGhIbWphT0I2c3JiWDgxN05NZTRVMC9GRzJJY1ZXMEljcG9TOXVvTk1rRTg5UXVHRjhpL05n
RjlrUjk0QTh4WmF4bwp2SkFPN2dUS01kWXBTN3JHQy9VTU4xQUd2YkFSeGhaakVObU1CL1JnVERB
R0dDY2NnNDNxb2Y4cmhTS0d5RVVXOW9rOFhTK2tleXEzCmtreWxTK2VpblpKTzM0QUoxeGZacWE1
emxFL0hQYlpNZnlLSCt0R3hlRjFTVzFWM01aWXV0SVA2YUpjY0MvS1Nqak5QUHRwTlhZVFUKaHZL
VStCc0lCQUtCUUNBUUNQUWlVSDBPU0RyQk1xR0trRU11ZE1jVzRwQk8rT2trcTMxaU51U3hpVGd4
aVRMUlFvS1l3Tm5ZMTJTUApiRWdBRXk5RUFPZUVzaEFxQ0RRVHRKYVpjQXpCUXBlUkJNb2hHNTBn
RHR4cFpHTG5HR2NMdmRHTmpUVHFVdnZLMWFmMnluRkJWK2xOCmpBeElJdkpTM1FlU3FYcklnNzZR
T0RrTkVCWDBSMjloQTU2Y0oxMTlWT3hUaUJ3NlVsN2xSSnhVVHZWV2l0TzJNamJvTXhGclpHb3AK
Ry9Kb0wzblFIVjBvTzVRMlY2cjc2WnllOWhOak9yVWh4bk5xUThKQldDaW1mZWs1K3JHU0RkRnYy
cENmT3NzYUs0d0orb1krUUJiNQo1SURJN3RRdnc4VVdQVFcra0NVQ1RUM1V4OWhFRDNDZ1h1eGFk
YVh0VGVzbG5mS01uWFNzMHpia0lZTjZOTmFSVC82aEJ1bU1QSFJFCkZ2aFFGekh0S0dlbnlFOGRP
cTVOQk1ZM01ta2Y1WkNKN01HdUYzbnBYSGZ5WWpmVXo3V0M2eEJwNk1KVFdZNXB0K3hVYmE2RW9X
UkgKSEFnRUFvRkFJRkNUQ1BnTVVtV0JpVnpFaFltWkNZNkptY21XeVovSk1iMXpXWndBZFV5TUxE
WW1VbVF5S1RPSklvK055WldOaVpkego1R1VDWnA5MGlESnBUUENhZ0pua0lSNmE1RVZtUmdJek9x
SWI5U0dYT3BESFBrU1I4K2dtQWkzeWhFN2xBdmtwanp6MEF5dmtReHJVCkx1bVBNekpVc3ErNmtK
MlNNdlNnSG5BQ1gvYUxwRXo5a1BZcGNxUWY2ZVYwb3R4Z2dmcHBIN2dnZzNFaC9TQk5PRGhGRE1H
Rytra2YKU2gyRDZmQjBQRS83d0pVeERDR2xuWXgzN21TWHN5SGFVTVJDK0lDeGNBWmI4Sk1OSVYr
MnhIamlIUDFCb0M4MGRtVTc5QWU2VVlZeAp5VmdaeVRqTWErajdpMzdvUm4zSXBXNTBZVCt0TXgy
YkdnTjlVdnJ2SVZNWWNoM2lPQjNyR3JPMGhibzVYOFN3djhTK0kvSlJQemltCmRvQit3Z3FiUjMv
YUpQbElBTiswbmNqUXRRSXNLVU5aMHNrN1ZKMkVJVExBajNKZ2lDekdqYTRsNmp0aThCbE91L3NR
aUwxQUlCQUkKQkFLQkNZNUFEeHVva2xZeTZXa2laSUpMSjBHZWhEQUpRcVNaSUlzaG5XaTFqeXcy
Sm5zbVl4RW9KbFp0VEtLa2s0ZEFma2dBNUlwOQpKbVJJREhXU2w4bWZOTGFVR09TbGgvZFg3VVZ1
Mmw0UkorcWtEdXJrL0ZCSUJlMUFIdm9qbjdLUVR0b2s4b0x1cEErSG9FaFg5RUVYCmdrZ2VmU0pD
eFRua0l4djhpdVU0cGgyMFVUcHhQRkpNcVFPZEtJOXN0UjFTaG1ORTREeDFTRGVPS1RjUmcvRFdt
S0tON0lQM2FHeEkKT0lNZDh1aDdNQ1VtalUzaktSMjMyb2V3TTA2UVF4bjFCVEkwVmtiYUg3U1o4
WWRjNnFNT3hqZUVubXVHeGdWamhIckpSMzdTeXdYSgpvMDJVSVZBR0RHa0QrbzVtUEVrK09PS0Fv
QXYxY0ozQkpxZ1gvVWtyMnFucXBwM3NZK2VVVXh2SlR4dlJiNkEyNXEzcSt5dWRhQ2NCCkRKR0JB
Nkp4UXg3T3AzV2dBK2xzRVFLQlFDQVFDQVFDZ1I0RTZrb2VxZ29OMUdXU2h6aEFJTFZ4ek9UTStj
R2FwTWxRRXlPVEtaT3gKTmlaTk5oMXpucnlTVFYxc1RPekU2RU1ndjhnV01jZVVIVzJnWGNVNk9T
WWdIMTBoSzlUSnZ2VE5jL1QvV3c2L29peTFRZTN2TDZIeQprV1NEUjdGZnBLZGtwM3FxSEhxb0hE
Sm85MERsS212Uy8wd3FuenJvTitwUnZ4WHJHTXUrNjYvSjArTW94VU40RTRQTmFHd0lIQmt6CjlL
MDIyUURuMkFqbDZxZHUwckV6eXFiakJCbXkyVnpDOFA4aVczYVV0cGswQW5Xb1R2VS9hWlZDMmdh
TnFhZGl6S2E2RnNjck5pK2MKaFMzdElWOWFybHdiS2FlK3FkVEdjdW1TVDVzcjFZSHM5SG8wRnYx
WFRwZElDd1FDZ1VBZ0VLaGFCS3JQQVFGcWtRa21RMjJrYVJ0SwpkNGpRS0dZQ1o3OFk2N3hrcWc3
VlMwd2FRV1UxNFZLMldEN1BPYnkvQTlXcGVxbGIyMkIxSXErb1AybVVrd3kxWlRCWnhaWklWNUV4
CkhROG0rNm5VQ1IybFI5cHU5Z25vTnBoK2VjNko4N2VJdDhheGNCcEtTelUyRkd2TUZHT2RUMldX
cTUvejVHV1REVWxXV25haysycGIKT2daSUkxQW5kV21USHZuWjhuK0xiWkQ4a2NncVYwTWwrY0tr
bks3U1FXMlVET1FyZjFxK1hMMkRwVW1tNnREWW9WeXg3YXByTUpseApQaEFJQkFLQlFLQ21FS2hP
QjBSZHhFUklVSndmYlg2c2RNVk1rc1dRcHFYN3hYdzZWcDJLU1ZjNXhjbzdsckhxVXp5YWVpVkQ4
V2hrCkZkc29tWXFIS2x2NUZRKzFYTEgrU3NlU3F6ak5wMzVUbko2YnFQdkNRYkhhV1R4V3V1SnlH
S1ZwNmI3S2xJdFZqMkx5cUt6aWN1VkcKazZhNkZFdVc2bE9zOU1GaXlWRk1mc2xRUEppTWdjNUxy
dUpVWnJxZnlsQmUwclN2dklyVC9DUFpsMXpGcVF6Vm9UZzlGL3VCUUNBUQpDQVFDTlk5QWRUc2dO
ZDk5QVVBZ0VBZ0VBb0ZBSUJBSUJBS0JRQ0JRWFFqMExNcXVMcVZEMjBBZ0VBZ0VBb0ZBSUJBSUJB
S0JRQ0FRCnFFNEV3Z0dwem40THJRT0JRQ0FRQ0FRQ2dVQWdFQWdFQW9HcVJDQWNrS3JzdGxBNkVB
Z0VBb0ZBSUJBSUJBS0JRQ0FRcUU0RXdnR3AKem40THJRT0JRQ0FRQ0FRQ2dVQWdFQWdFQW9HcVJD
QWNrS3JzdGxBNkVBZ0VBb0ZBSUJBSUJBS0JRQ0FRcUU0RXdnR3B6bjRMclFPQgpRQ0FRQ0FRQ2dV
QWdFQWdFQW9HcVJDQWNrS3JzdGxBNkVBZ0VBb0ZBSUJBSUJBS0JRQ0FRcUU0RXdnR3B6bjRMclFP
QlFDQVFDQVFDCmdVQWdFQWdFQW9HcVJDQWNrS3JzdGxBNkVBZ0VBb0ZBSUJBSUJBS0JRQ0FRcUU0
RXdnR3B6bjRMclFPQlFDQVFDQVFDZ1VBZ0VBZ0UKQW9HcVJDQWNrS3JzdGxBNkVBZ0VBb0ZBSUJB
SUJBS0JRQ0FRcUU0RXdnR3B6bjRMclFPQlFDQVFDQVFDZ1VBZ0VBZ0VBb0dxUkNBYwprS3JzdGxB
NkVBZ0VBb0ZBSUJBSUJBS0JRQ0FRcUU0RXdnR3B6bjRMclFPQlFDQVFDQVFDZ1VBZ0VBZ0VBb0dx
UkNBY2tQL2YzbjJGClNGS3VZUUQreldMQUhGSE1tREZuVVM5RUVVSEZnRmtSUmN5S2VPR05FUlVE
SWhnUURCaFFGRE9pSWdaUXpBa3haOFNjRlhPMlR2MEYKMWM3Tzd1ek9yT001WDUvdjZZdWREalhk
My8rODB6RHZWRlh2VU1abWFBSUVDQkFnUUlBQUFRTERLYUNBREdkdXBpWkFnQUFCQWdRSQpFQ0F3
bEFJS3lGREdabWdDQkFnUUlFQ0FBQUVDd3ltZ2dBeG5icVltUUlBQUFRSUVDQkFnTUpRQ0NzaFF4
bVpvQWdRSUVDQkFnQUFCCkFzTXBvSUFNWjI2bUprQ0FBQUVDQkFnUUlEQ1VBZ3JJVU1abWFBSUVD
QkFnUUlBQUFRTERLYUNBREdkdXBpWkFnQUFCQWdRSUVDQXcKbEFJS3lGREdabWdDQkFnUUlFQ0FB
QUVDd3ltZ2dBeG5icVltUUlBQUFRSUVDQkFnTUpRQ0NzaFF4bVpvQWdRSUVDQkFnQUFCQXNNcApv
SUQ4bDNMNzlkZGZCNi8wODg4L2w2Ky8vcnE3L2NNUFB3enUvMTlmK2VhYmI4cUxMNzVZL3Z6eno1
a2VaZVE2Wi9wSmZDT0JDUWlNCi9KbWJqUGRXL2ZuLytPT1BCKytESDMvOGNjeHB2R2ZHcFBFQUFR
SUVDQkFZVTJDV3ByMk0rYWdISmtYZ3R0dHVLNnV1dW1wWmM4MDEKeSttbm4xN21ubnZ1TXQ5ODg1
V0hIMzY0Ykw3NTV1WFlZNCtkOE92ODl0dHZaYzQ1NTV6dzk0MzFEWTgrK21oNTZxbW5TdjF4V0hM
SgpKY3QrKyswMzFxYlR2TCtmNTVGSEhpa2ZmUEJCMldlZmZhYTVuVHNKVEtiQWVONWI5OTEzWDls
amp6M0sxbHR2WFM2Ly9QS3l4QkpMCmxOOS8vNzJjY2NZWjNjLzhOZGRjMDkzM3pqdnZsQk5PT0tI
TU50dHNaZHR0dHkwdnYveHllZVdWVjhxdXUrNWFqajc2NktuRzlwNloKaXNRZEJBZ1FJRUJnZkFL
MWdMajhld0lYWEhCQjgrU1RUM1l2OE5WWFh6WHp6RE5QODlsbm4zVzNQLzMwMCtiY2M4OGQxNHYv
OWRkZgpnKzNxOCt5KysrNkQyNU54WmYvOTkyL2FYNmhtNnFsR3ozUFZWVmMxVjE5OTlVdzlsMjhp
TUY2QmlieTM2cmJMTGJkYzB4Ymx3ZE9mCmR0cHB6ZnZ2djkvZC92enp6NXZGRjErOHVmZmVld2VQ
MXl1dnZmWmFjL0hGRjA5eFgzL0RlNmFYOEpVQUFRSUVDRXhNb1A3RjIrVmYKRW1nUHMycmFQUnhU
UFB1R0cyN1lyTFRTU3Mwenp6d3p4ZjJYWFhaWnMrS0tLemJ0SVZEZC9XZWVlV1p6ODgwM043Lzg4
a3R6OXRsbgpkNzhFSFhIRUVkMWp0YlFzc3NnaXpUbm5uTk05WHJkdC8zTGJ0SHNkbWc4Ly9MQzUr
KzY3bTQwMjJxaTU1WlpibW0yMjJhYlphNis5Cm1vY2VlcWc1OE1BRG16WFdXS09weFdma3BXNjM4
c29yTjhjY2MweHo1NTEzZGcvVlg5Z3V2UERDNXJERER1dSsxanV2di83NlpwMTEKMW1tdXZQTEta
dU9OTjI1T09lV1VidHVSODdTSHczVDNyYmZlZXMxUFAvM1VYZmNQZ2NrV21NaDdxNzcydDk5KzI4
dy8vL3pORFRmYwpNQmlsL216M2wxTlBQYlZaWVlVVitwc3ovT285TTBNaUd4QWdRSUFBZ1RFRkZK
QXhhZjc1QXc4ODhFQ3o4ODQ3VC9GRTdiSGx6WlpiCmJ0bk1QdnZzZzEvczZ3Wi8vUEZIOXhmYXZw
aTBoNGQwOTlVeTBmK2kzeDVLMGozWDY2Ky8zcXl5eWlyZDlmWXdydWFlZSs1cDJ1UFcKbXhOUFBM
SGJ0ajI4cEh2K045NTRveXNvdGRqMHYzZ2RjTUFCWFpIb3ZubkVQKzNoS1UxOXJucHBEenRwRGpu
a2tPNTYvWXZ4c3NzdQoyN1NIVlhXL3hMWDcxYnJyN2JIMjNmMTE3cEh6ZE4vVS9sTUwwQk5QUE5I
ZjlKWEFwQXBNNUwzVnYvQlJSeDNWYkxIRkZ0M051cmV2CmYwL1VPL2JjYzgrdXJQZmIxcS9QUHZ0
c1Uwdi80WWNmM3JTSFo0MThxTHZ1UFRNVmlUc0lFQ0JBZ01DNEJKeUVQcjRqMVdacXE3ZmYKZnJz
c3ZQRENVM3p2VWtzdDFaMzdjZEpKSjVYampqdXVYSFRSUmQzajliano5cGVkY3VtbGwzYm5ZYlFG
cFRzV2ZmMzExeStYWEhKSgp0MjFiWEFiUE5jc3NzM1RYNzdqamp2TGNjOCtWSzY2NG9yUi93UzN0
SHBaU3YzZU9PZVlveXkrL2ZKbHJycmxLZStoSmFVdEV0MzI5CnI5MERNbmllYVYyNThjWWJ1L05W
Nm1QMWVUYmJiTE55MDAwM0RjNDVXV2FaWmJyeldPcHg5RjkrK1dYM0ZQMDgvZlBWMTN2cnJiZjYK
bTc0U21GU0JpYnkzK2hkdUMwaDUvUEhIeS9QUFAxL3V1dXV1c3NzdXUvUVBsVVVYWGJSOC8vMzNn
OXYxeWdZYmJGRGF2WGlsUGNTdwp0Q1YraXNkRzMvQ2VHUzNpTmdFQ0JBZ1FHRnRBQVJuYjVoOC9V
bitwcVorUzAxL3FTYXZ0dVJ4bDFsbG5MU2VmZkhJNTlOQkR5M1hYClhkYy9YQTQrK09CU0MwVzcx
Nk03WWJZK1VFOElmL3JwcDB1N1o2UnN0OTEyZzIzN0t4OTk5RkhaZE5OTnUrZXF6N2ZERGp2MER3
MisKamo1WnZjNHd2VXY5VktGMzMzMTNzTWxxcTYxV3B2ZEpRSU1OUjExcHozY1pkWStiQkNaSFlL
THZyZnFxOVlNZzZudm8vUFBQNzk2RAo5Y01nK2t0N1NHRjU4ODAzeStoUHBWdHd3UVhMQWdzczBH
ODI1bGZ2bVRGcFBFQ0FBQUVDQktZU1VFQ21JcG04TzFaZmZmWHl5U2VmCkRKN3d2ZmZlSy9VdnBm
MmxQZStpMUQwYy9hVTlyNlBzdE5OTzVheXp6dXBLUmIzLzFsdHZMVXN2dlhScHorSG9mam42NG9z
dnVyMFMKOVZPbjZtWDc3YmN2N2JrZzNWOXBhN0ZvRHl2cDdoLzVUOTFUMGU0UEczblhWTmZyUjQv
Mkg3L2JIbzdTL2FXNDM2ZzlFYmY3RktIUgp6OUVYbWJxWHBKK24vNTcyUlB2dUY3Nyt0cThFSmxO
Z291K3QvclhiODV4S2V5NVRhUStON08vcXZ1Njc3NzVscmJYVzZqNmxib29ICnBuUERlMlk2T0I0
aVFJQUFBUUxURVZCQXBvUHpUeDlxVC9ndWl5MjJXR2xQSk8rZXFoNGkxWjZ3WGRxVHlrdDcwbmw1
NFlVWHl2SEgKSHovRnk5UzlHTzJKNDRQNzZ2OXIwSjYzVWVyZWszcklTSDIrZWdoVVBiU3IvakpW
UDhhMy9wOGk5UkNSOWxONXlpYWJiRkllZlBEQgpVci92L3Z2dkwrMzVHZVhWVjE4dHQ5OStlNm1s
b0I2Qzh0aGpqNVgycE56QmE5UTlMUFhqUnRzVGE3c2lVMHZSMm11djNSV2JhNis5CnRudnV1aGVr
L1lTZzdudnE4OWVQN0sxbHFMN0d5SG5xNFYzMXNKVjZTRm45aGM2RndMOGhNRFB2clRwSDNVTll5
MGZkNHpIeVVuOWUKMnc5ZzZBNHAzSHZ2dlV2N1FRdWwvUkNHVWorYWQ3ZmRkaHU1YVhmZGUyWXFF
bmNRSUVDQUFJRnhDL2gvUU1aTk5YTWJ0aC9CVytvZQpoSU1PT3FqN3Z3ZnFzOVE5Q2Q5OTkxMTMz
UG5vWjIwLythcXN1KzY2cFQzSnZIdW9ibHYzTk5RU00rKzg4dzQyYjAvKzdxN1g4ejNxCnBSN3F0
ZEJDQzNYWEordWZlbjVIUGJlajdwbVowV1hrUE8zSDhKYjJrNzdLVmx0dE5hTnY4emlCbVJhWTZI
dXJmNkg2WGhwNStGVi8KZi8rMS9peTNueWJYN1hrY2ZmaGl2ODFZWDcxbnhwSnhQd0VDQkFnUStG
dEFBZm5iNGwrN1Z2OXp2dm9mRDdZZlRUdm1hOVNUWWw5Ngo2YVZ1YjhaNTU1MDM1bmJSSDZoN2F1
cmVsUjEzM0RINnFPYjdQeEFZejNzcitqSzlaNkluWkQ0Q0JBZ1FtR3dCQldTeVJjZDR2dnBYCjFY
NXZ4YlEycWY4cmV2dXh0ZVhJSTQ4czdmOVhNSzFOaHVLK0dhMXpLQlpoeUtFU0dQYWZ1V0dmZjZo
K1dBeExnQUFCQWlFRUZKQVEKTVJpQ0FBRUNCQWdRSUVDQVFBNEJKNkhueU5rcUNSQWdRSUFBQVFJ
RUNJUVFVRUJDeEdBSUFnUUlFQ0JBZ0FBQkFqa0VGSkFjT1ZzbApBUUlFQ0JBZ1FJQUFnUkFDQ2tp
SUdBeEJnQUFCQWdRSUVDQkFJSWVBQXBJalo2c2tRSUFBQVFJRUNCQWdFRUpBQVFrUmd5RUlFQ0JB
CmdBQUJBZ1FJNUJCUVFITGtiSlVFQ0JBZ1FJQUFBUUlFUWdnb0lDRmlNQVFCQWdRSUVDQkFnQUNC
SEFJS1NJNmNyWklBQVFJRUNCQWcKUUlCQUNBRUZKRVFNaGlCQWdBQUJBZ1FJRUNDUVEwQUJ5Wkd6
VlJJZ1FJQUFBUUlFQ0JBSUlhQ0FoSWpCRUFRSUVDQkFnQUFCQWdSeQpDQ2dnT1hLMlNnSUVDQkFn
UUlBQUFRSWhCQlNRRURFWWdnQUJBZ1FJRUNCQWdFQU9BUVVrUjg1V1NZQUFBUUlFQ0JBZ1FDQ0Vn
QUlTCklnWkRFQ0JBZ0FBQkFnUUlFTWdob0lEa3lOa3FDUkFnUUlBQUFRSUVDSVFRVUVCQ3hHQUlB
Z1FJRUNCQWdBQUJBamtFRkpBY09Wc2wKQVFJRUNCQWdRSUFBZ1JBQ0NraUlHQXhCZ0FBQkFnUUlF
Q0JBSUllQUFwSWpaNnNrUUlBQUFRSUVDQkFnRUVKQUFRa1JneUVJRUNCQQpnQUFCQWdRSTVCQlFR
SExrYkpVRUNCQWdRSUFBQVFJRVFnZ29JQ0ZpTUFRQkFnUUlFQ0JBZ0FDQkhBSUtTSTZjclpJQUFR
SUVDQkFnClFJQkFDQUVGSkVRTWhpQkFnQUFCQWdRSUVDQ1FRMEFCeVpHelZSSWdRSUFBQVFJRUNC
QUlJYUNBaElqQkVBUUlFQ0JBZ0FBQkFnUnkKQ0NnZ09YSzJTZ0lFQ0JBZ1FJQUFBUUloQkJTUUVE
RVlnZ0FCQWdRSUVDQkFnRUFPQVFVa1I4NVdTWUFBQVFJRUNCQWdRQ0NFZ0FJUwpJZ1pERUNCQWdB
QUJBZ1FJRU1naG9JRGt5TmtxQ1JBZ1FJQUFBUUlFQ0lRUVVFQkN4R0FJQWdRSUVDQkFnQUFCQWpr
RUZKQWNPVnNsCkFRSUVDQkFnUUlBQWdSQUNDa2lJR0F4QmdBQUJBZ1FJRUNCQUlJZUFBcElqWjZz
a1FJQUFBUUlFQ0JBZ0VFSkFBUWtSZ3lFSUVDQkEKZ0FBQkFnUUk1QkJRUUhMa2JKVUVDQkFnUUlB
QUFRSUVRZ2dvSUNGaU1BUUJBZ1FJRUNCQWdBQ0JIQUlLU0k2Y3JaSUFBUUlFQ0JBZwpRSUJBQ0FF
RkpFUU1oaUJBZ0FBQkFnUUlFQ0NRUTBBQnlaR3pWUklnUUlBQUFRSUVDQkFJSWFDQWhJakJFQVFJ
RUNCQWdBQUJBZ1J5CkNDZ2dPWEsyU2dJRUNCQWdRSUFBQVFJaEJCU1FFREVZZ2dBQkFnUUlFQ0JB
Z0VBT0FRVWtSODVXT2thdWdRQUFDbkZKUkVGVVNZQUEKQVFJRUNCQWdRQ0NFZ0FJU0lnWkRFQ0JB
Z0FBQkFnUUlFTWdob0lEa3lOa3FDUkFnUUlBQUFRSUVDSVFRVUVCQ3hHQUlBZ1FJRUNCQQpnQUFC
QWprRUZKQWNPVnNsQVFJRUNCQWdRSUFBZ1JBQ0NraUlHQXhCZ0FBQkFnUUlFQ0JBSUllQUFwSWpa
NnNrUUlBQUFRSUVDQkFnCkVFSkFBUWtSZ3lFSUVDQkFnQUFCQWdRSTVCQlFRSExrYkpVRUNCQWdR
SUFBQVFJRVFnZ29JQ0ZpTUFRQkFnUUlFQ0JBZ0FDQkhBSUsKU0k2Y3JaSUFBUUlFQ0JBZ1FJQkFD
QUVGSkVRTWhpQkFnQUFCQWdRSUVDQ1FRMEFCeVpHelZSSWdRSUFBQVFJRUNCQUlJYUNBaElqQgpF
QVFJRUNCQWdBQUJBZ1J5Q0NnZ09YSzJTZ0lFQ0JBZ1FJQUFBUUloQkJTUUVERVlnZ0FCQWdRSUVD
QkFnRUFPQVFVa1I4NVdTWUFBCkFRSUVDQkFnUUNDRWdBSVNJZ1pERUNCQWdBQUJBZ1FJRU1naG9J
RGt5TmtxQ1JBZ1FJQUFBUUlFQ0lRUVVFQkN4R0FJQWdRSUVDQkEKZ0FBQkFqa0VGSkFjT1ZzbEFR
SUVDQkFnUUlBQWdSQUNDa2lJR0F4QmdBQUJBZ1FJRUNCQUlJZUFBcElqWjZza1FJQUFBUUlFQ0JB
ZwpFRUpBQVFrUmd5RUlFQ0JBZ0FBQkFnUUk1QkJRUUhMa2JKVUVDQkFnUUlBQUFRSUVRZ2dvSUNG
aU1BUUJBZ1FJRUNCQWdBQ0JIQUlLClNJNmNyWklBQVFJRUNCQWdRSUJBQ0FFRkpFUU1oaUJBZ0FB
QkFnUUlFQ0NRUTBBQnlaR3pWUklnUUlBQUFRSUVDQkFJSWFDQWhJakIKRUFRSUVDQkFnQUFCQWdS
eUNDZ2dPWEsyU2dJRUNCQWdRSUFBQVFJaEJCU1FFREVZZ2dBQkFnUUlFQ0JBZ0VBT0FRVWtSODVX
U1lBQQpBUUlFQ0JBZ1FDQ0VnQUlTSWdaREVDQkFnQUFCQWdRSUVNZ2hvSURreU5rcUNSQWdRSUFB
QVFJRUNJUVFVRUJDeEdBSUFnUUlFQ0JBCmdBQUJBamtFRkpBY09Wc2xBUUlFQ0JBZ1FJQUFnUkFD
Q2tpSUdBeEJnQUFCQWdRSUVDQkFJSWVBQXBJalo2c2tRSUFBQVFJRUNCQWcKRUVKQUFRa1JneUVJ
RUNCQWdBQUJBZ1FJNUJCUVFITGtiSlVFQ0JBZ1FJQUFBUUlFUWdnb0lDRmlNQVFCQWdRSUVDQkFn
QUNCSEFJSwpTSTZjclpJQUFRSUVDQkFnUUlCQUNBRUZKRVFNaGlCQWdBQUJBZ1FJRUNDUVEwQUJ5
Wkd6VlJJZ1FJQUFBUUlFQ0JBSUlhQ0FoSWpCCkVBUUlFQ0JBZ0FBQkFnUnlDQ2dnT1hLMlNnSUVD
QkFnUUlBQUFRSWhCQlNRRURFWWdnQUJBZ1FJRUNCQWdFQU9BUVVrUjg1V1NZQUEKQVFJRUNCQWdR
Q0NFZ0FJU0lnWkRFQ0JBZ0FBQkFnUUlFTWdob0lEa3lOa3FDUkFnUUlBQUFRSUVDSVFRVUVCQ3hH
QUlBZ1FJRUNCQQpnQUFCQWprRUZKQWNPVnNsQVFJRUNCQWdRSUFBZ1JBQ0NraUlHQXhCZ0FBQkFn
UUlFQ0JBSUllQUFwSWpaNnNrUUlBQUFRSUVDQkFnCkVFSkFBUWtSZ3lFSUVDQkFnQUFCQWdRSTVC
QlFRSExrYkpVRUNCQWdRSUFBQVFJRVFnZ29JQ0ZpTUFRQkFnUUlFQ0JBZ0FDQkhBSUsKU0k2Y3Ja
SUFBUUlFQ0JBZ1FJQkFDQUVGSkVRTWhpQkFnQUFCQWdRSUVDQ1FRMEFCeVpHelZSSWdRSUFBQVFJ
RUNCQUlJYUNBaElqQgpFQVFJRUNCQWdBQUJBZ1J5Q0NnZ09YSzJTZ0lFQ0JBZ1FJQUFBUUloQkJT
UUVERVlnZ0FCQWdRSUVDQkFnRUFPQVFVa1I4NVdTWUFBCkFRSUVDQkFnUUNDRWdBSVNJZ1pERUNC
QWdBQUJBZ1FJRU1naG9JRGt5TmtxQ1JBZ1FJQUFBUUlFQ0lRUVVFQkN4R0FJQWdRSUVDQkEKZ0FB
QkFqa0VGSkFjT1ZzbEFRSUVDQkFnUUlBQWdSQUNDa2lJR0F4QmdBQUJBZ1FJRUNCQUlJZUFBcElq
WjZza1FJQUFBUUlFQ0JBZwpFRUpBQVFrUmd5RUlFQ0JBZ0FBQkFnUUk1QkJRUUhMa2JKVUVDQkFn
UUlBQUFRSUVRZ2dvSUNGaU1BUUJBZ1FJRUNCQWdBQ0JIQUlLClNJNmNyWklBQVFJRUNCQWdRSUJB
Q0FFRkpFUU1oaUJBZ0FBQkFnUUlFQ0NRUTBBQnlaR3pWUklnUUlBQUFRSUVDQkFJSWFDQWhJakIK
RUFRSUVDQkFnQUFCQWdSeUNDZ2dPWEsyU2dJRUNCQWdRSUFBQVFJaEJCU1FFREVZZ2dBQkFnUUlF
Q0JBZ0VBT0FRVWtSODVXU1lBQQpBUUlFQ0JBZ1FDQ0VnQUlTSWdaREVDQkFnQUFCQWdRSUVNZ2hv
SURreU5rcUNSQWdRSUFBQVFJRUNJUVFVRUJDeEdBSUFnUUlFQ0JBCmdBQUJBamtFRkpBY09Wc2xB
UUlFQ0JBZ1FJQUFnUkFDQ2tpSUdBeEJnQUFCQWdRSUVDQkFJSWVBQXBJalo2c2tRSUFBQVFJRUNC
QWcKRUVKQUFRa1JneUVJRUNCQWdBQUJBZ1FJNUJCUVFITGtiSlVFQ0JBZ1FJQUFBUUlFUWdnb0lD
RmlNQVFCQWdRSUVDQkFnQUNCSEFJSwpTSTZjclpJQUFRSUVDQkFnUUlCQUNBRUZKRVFNaGlCQWdB
QUJBZ1FJRUNDUVEwQUJ5Wkd6VlJJZ1FJQUFBUUlFQ0JBSUlhQ0FoSWpCCkVBUUlFQ0JBZ0FBQkFn
UnlDQ2dnT1hLMlNnSUVDQkFnUUlBQUFRSWhCQlNRRURFWWdnQUJBZ1FJRUNCQWdFQU9BUVVrUjg1
V1NZQUEKQVFJRUNCQWdRQ0NFZ0FJU0lnWkRFQ0JBZ0FBQkFnUUlFTWdob0lEa3lOa3FDUkFnUUlB
QUFRSUVDSVFRVUVCQ3hHQUlBZ1FJRUNCQQpnQUFCQWprRUZKQWNPVnNsQVFJRUNCQWdRSUFBZ1JB
Q0NraUlHQXhCZ0FBQkFnUUlFQ0JBSUllQUFwSWpaNnNrUUlBQUFRSUVDQkFnCkVFSkFBUWtSZ3lF
SUVDQkFnQUFCQWdRSTVCQlFRSExrYkpVRUNCQWdRSUFBQVFJRVFnZ29JQ0ZpTUFRQkFnUUlFQ0JB
Z0FDQkhBSUsKU0k2Y3JaSUFBUUlFQ0JBZ1FJQkFDQUVGSkVRTWhpQkFnQUFCQWdRSUVDQ1FRMEFC
eVpHelZSSWdRSUFBQVFJRUNCQUlJYUNBaElqQgpFQVFJRUNCQWdBQUJBZ1J5Q0NnZ09YSzJTZ0lF
Q0JBZ1FJQUFBUUloQkJTUUVERVlnZ0FCQWdRSUVDQkFnRUFPQVFVa1I4NVdTWUFBCkFRSUVDQkFn
UUNDRWdBSVNJZ1pERUNCQWdBQUJBZ1FJRU1naG9JRGt5TmtxQ1JBZ1FJQUFBUUlFQ0lRUVVFQkN4
R0FJQWdRSUVDQkEKZ0FBQkFqa0VGSkFjT1ZzbEFRSUVDQkFnUUlBQWdSQUNDa2lJR0F4QmdBQUJB
Z1FJRUNCQUlJZUFBcElqWjZza1FJQUFBUUlFQ0JBZwpFRUpBQVFrUmd5RUlFQ0JBZ0FBQkFnUUk1
QkJRUUhMa2JKVUVDQkFnUUlBQUFRSUVRZ2dvSUNGaU1BUUJBZ1FJRUNCQWdBQ0JIQUlLClNJNmNy
WklBQVFJRUNCQWdRSUJBQ0FFRkpFUU1oaUJBZ0FBQkFnUUlFQ0NRUTBBQnlaR3pWUklnUUlBQUFR
SUVDQkFJSWFDQWhJakIKRUFRSUVDQkFnQUFCQWdSeUNDZ2dPWEsyU2dJRUNCQWdRSUFBQVFJaEJC
U1FFREVZZ2dBQkFnUUlFQ0JBZ0VBT0FRVWtSODVXU1lBQQpBUUlFQ0JBZ1FDQ0VnQUlTSWdaREVD
QkFnQUFCQWdRSUVNZ2hvSURreU5rcUNSQWdRSUFBQVFJRUNJUVFVRUJDeEdBSUFnUUlFQ0JBCmdB
QUJBamtFRkpBY09Wc2xBUUlFQ0JBZ1FJQUFnUkFDQ2tpSUdBeEJnQUFCQWdRSUVDQkFJSWVBQXBJ
alo2c2tRSUFBQVFJRUNCQWcKRUVKQUFRa1JneUVJRUNCQWdBQUJBZ1FJNUJCUVFITGtiSlVFQ0JB
Z1FJQUFBUUlFUWdnb0lDRmlNQVFCQWdRSUVDQkFnQUNCSEFJSwpTSTZjclpJQUFRSUVDQkFnUUlC
QUNBRUZKRVFNaGlCQWdBQUJBZ1FJRUNDUVEwQUJ5Wkd6VlJJZ1FJQUFBUUlFQ0JBSUlhQ0FoSWpC
CkVBUUlFQ0JBZ0FBQkFnUnlDQ2dnT1hLMlNnSUVDQkFnUUlBQUFRSWhCQlNRRURFWWdnQUJBZ1FJ
RUNCQWdFQU9BUVVrUjg1V1NZQUEKQVFJRUNCQWdRQ0NFZ0FJU0lnWkRFQ0JBZ0FBQkFnUUlFTWdo
b0lEa3lOa3FDUkFnUUlBQUFRSUVDSVFRVUVCQ3hHQUlBZ1FJRUNCQQpnQUFCQWprRUZKQWNPVnNs
QVFJRUNCQWdRSUFBZ1JBQ0NraUlHQXhCZ0FBQkFnUUlFQ0JBSUlmQWZ3RDNVYi82bEVCeUFRQUFB
QUJKClJVNUVya0pnZ2c9PQoKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1sZW9wYXJk
L3N2Zy9jdXN0b20vc3ZnLWZvbnRzLWluLWh0bWwtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fu
bm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUg
PSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFB
QUpZQ0FZQUFBQ2Fkb0p3QUFBRE8ybERRMUJKUTBNZ1VISnZabWxzWlFBQWVBR0YKbEV0bzFGQVVo
ditNS1lLMGdxaTFGcFRnUW91MEpUN1FpbERiYWJYV2tYRVkrOUFpeURSelp4cE5NekdaR1IrSVNF
SGMrVnFLR3grSQppeXJpUXJwUWNLVUxrVUxyYTFFRWNhVWlpRUkzVXNiL0p1MU1LbFl2SlBseXpu
L1A2NFlBVlE5VGptTkZOR0RZenJ2SnJxaDI2UENBCnRuZ0NWYWhCTmJoU2h1ZTBKeEw3ZmFaV1B1
ZXY2YmRRcEdXeVNjYUs5UjJZK0xSdDlmMUxqMkx2NjU3MitwNzUrbmx2TlM0VEFvcEcKNjRwc3dG
c2xEd2E4Vi9MSnZKT241b2hrWXlpVkpqdmtScmNuMlVHK1FWNmFEZkZnaU5QQ000Q3FObXB5aHVN
eVRtUUZ1YVZvWkdYTQpVYkp1cDAyYlBDWHRhYzhZcG9iOVJuN0lXZERHbFk4QnJXdUFSUzhydGdF
UEdMMExyRnBmc1RYVUFTdjdnYkV0RmR2UHBEOGZwWGJjCnkyelo3SWRUcXFPczZVT3A5SE05c1Bn
YU1ITzFWUHAxcTFTYXVjMGNyT09aWlJUY29xOWxZY29ySUtnMzJNMzR5VGxhaUlPZWZGVUwKY0pO
ejdGOEN4QzRBMXo4Q0d4NEF5eDhEaVJxZ1p3Y2k1OWx1Y09YRktjNEY2TWc1cDEwek81VFhOdXY2
ZHEyZFJ5dTBidHRvYnRSUwpscVg1TGs5emhTZmNva2czWTlncWNNNytXc1o3dGJCN0QvTEovaUxu
aExkN2xwV1JkS3FUczBRejIvcVNGcDI3eVkza2V4bHpUemU1CmdkZFV4dDNURzdDeTBjeDM5d1Fj
NmJPdE9NOUZhaUoxOW1EOEFKbnhGZFhKUitVOEpJOTR4WU15cG04L2x0cVhJTmZUbmp5ZWkwbE4K
TGZlMm5SbnE0UmxKVnF3elF4M3hXWDd0RnBJeTd6cHE3amlXLzgyenRzaHpISVlGQVJNMjd6WTBK
TkdGS0pyZ3dFVU9HWHBNS2t4YQpwVi9RYXNMRDhiOHFMU1RLdXl3cXV2Q1plejc3ZTA2Z3dOMHlm
aCtpY1l3MGxpTm8ranY5bS81R3Y2bmYwYjllcVM4MFZEd2o3bEhUCkdMLzhuWEZsWmxtTmpCdlVL
T1BMbW9MNEJxdHRwOWRDbHRaaFhrRlBYbG5mRks0dVkxK3BMM3MwbVVOY2pFK0h1aFNoVEUwWVpE
eloKdGV5K1NMYjRKdng4YzlrV21oNjFMODQrcWF2a2VxT09IWm1zZm5FMlhBMXIvN09yWU5LeXEv
RGtqWkF1UEd1aHJsVTNxZDFxaTdvRAptcnBMYlZOYjFVNis3VlQzbDNmMGNsWW1Uckp1bDlXbjJJ
T04wL1JXVHJveVd3VC9GbjR4L0M5MUNWdTRwcUhKZjJqQ3pXVk1TL2lPCjRQWWZkMGo1TC93TkFZ
VVZEWHhMT3pzQUFDQUFTVVJCVkhnQjdMMVhrQnhKbXVmbnBiVUVDcUtnQ3hwb01hM1Z5TzZaMmIz
VmU3dDcKdTB2YTh1NkJ4aVhOdUVjN1BuQXB6aWlPWm55Z01CcnQrTUNsR1htVWE2czRjeXRuZHFh
bnA2ZDFveHRvTkxUV29nb2xVRm9MZnY4SQpSSlpuVnJoSHBJak1pTWovWjViSXlBZ1BGejhQQVA3
Rko3eG1UVVJSU0lBRVNJQUVTSUFFU0lBRVNJQUVTS0FNQkdyTDBBYWJJQUVTCklBRVNJQUVTSUFF
U0lBRVNJQUdIQUJVUVBnZ2tRQUlrUUFJa1FBSWtRQUlrUUFKbEkwQUZwR3lvMlJBSmtBQUprQUFK
a0FBSmtBQUoKa0FBVkVENERKRUFDSkVBQ0pFQUNKRUFDSkVBQ1pTTkFCYVJzcU5rUUNaQUFDWkFB
Q1pBQUNaQUFDWkFBRlJBK0F5UkFBaVJBQWlSQQpBaVJBQWlSQUFtVWpRQVdrYktqWkVBbVFBQW1R
QUFtUUFBbVFBQW1RQUJVUVBnTWtRQUlrUUFJa1FBSWtRQUlrUUFKbEkwQUZwR3lvCjJSQUprQUFK
a0FBSmtBQUprQUFKa0FBVkVENERKRUFDSkVBQ0pFQUNKRUFDSkVBQ1pTTkFCYVJzcU5rUUNaQUFD
WkFBQ1pBQUNaQUEKQ1pBQUZSQStBeVJBQWlSQUFpUkFBaVJBQWlSQUFtVWpRQVdrYktqWkVBbVFB
QW1RQUFtUUFBbVFBQW1RQUJVUVBnTWtRQUlrUUFJawpRQUlrUUFJa1FBSmxJMEFGcEd5bzJSQUpr
QUFKa0FBSmtBQUprQUFKa0FBVkVENERKRUFDSkVBQ0pFQUNKRUFDSkVBQ1pTTkFCYVJzCnFOa1FD
WkFBQ1pBQUNaQUFDWkFBQ1pBQUZSQStBeVJBQWlSQUFpUkFBaVJBQWlSQUFtVWpRQVdrYktqWkVB
bVFBQW1RQUFtUUFBbVEKQUFtUUFCVVFQZ01rUUFJa1FBSWtRQUlrUUFJa1FBSmxJMEFGcEd5bzJS
QUprQUFKa0FBSmtBQUprQUFKa0FBVkVENERKRUFDSkVBQwpKRUFDSkVBQ0pFQUNaU05BQmFSc3FO
a1FDWkFBQ1pBQUNaQUFDWkFBQ1pBQUZSQStBeVJBQWlSQUFpUkFBaVJBQWlSQUFtVWpRQVdrCmJL
alpFQW1RQUFtUUFBbVFBQW1RQUFtUUFCVVFQZ01rUUFJa1FBSWtRQUlrUUFJa1FBSmxJMEFGcEd5
bzJSQUprQUFKa0FBSmtBQUoKa0FBSmtBQVZFRDRESkVBQ0pFQUNKRUFDSkVBQ0pFQUNaU05BQmFS
c3FOa1FDWkFBQ1pBQUNaQUFDWkFBQ1pBQUZSQStBeVJBQWlSQQpBaVJBQWlSQUFpUkFBbVVqUUFX
a2JLalpFQW1RQUFtUUFBbVFBQW1RQUFtUVFEMFJrRURTQ056NC9acWtkWm45SlFFU0lBRVNJSUZJ
CkNBejgwVm9rOWJKU0VvaVNBQzBnVWRKbDNTUkFBaVJBQWlSQUFpUkFBaVJBQWxrRXFJQms0ZUFQ
RWlBQkVpQUJFaUFCRWlBQkVpQ0IKS0FsUUFZbVNMdXNtQVJJZ0FSSWdBUklnQVJJZ0FSTElJa0FG
SkFzSGY1QUFDWkFBQ1pBQUNaQUFDWkFBQ1VSSmdBcElsSFJaTndtUQpBQW1RQUFtUUFBbVFBQW1R
UUJZQktpQlpPUGlEQkVpQUJFaUFCRWlBQkVpQUJFZ2dTZ0pVUUtLa3k3cEpnQVJJZ0FSSWdBUkln
QVJJCmdBU3lDRkFCeWNMQkh5UkFBaVJBQWlSQUFpUkFBaVJBQWxFU29BSVNKVjNXVFFJa1FBSWtR
QUlrUUFJa1FBSWtrRVdBQ2tnV0R2NGcKQVJJZ0FSSWdBUklnQVJJZ0FSS0lrZ0FWa0NqcHNtNFNJ
QUVTSUFFU0lBRVNJQUVTSUlFc0FsUkFzbkR3QndtUUFBbVFBQW1RQUFtUQpBQW1RUUpRRXFJQkVT
WmQxa3dBSmtBQUprQUFKa0FBSmtBQUpaQkdnQXBLRmd6OUlnQVJJZ0FSSWdBUklnQVJJZ0FTaUpF
QUZKRXE2CnJKc0VTSUFFU0lBRVNJQUVTSUFFU0NDTEFCV1FMQno4UVFJa1FBSWtRQUlrUUFJa1FB
SWtFQ1VCS2lCUjBtWGRKRUFDSkVBQ0pFQUMKSkVBQ0pFQUNXUVNvZ0dUaDRBOFNJQUVTSUFFU0lB
RVNJQUVTSUlFb0NWQUJpWkl1NnlZQkVpQUJFaUFCRWlBQkVpQUJFc2dpUUFVawpDd2Qva0FBSmtB
QUprQUFKa0FBSmtBQUpSRW1BQ2tpVWRGazNDWkFBQ1pBQUNaQUFDWkFBQ1pCQUZnRXFJRms0K0lN
RVNJQUVTSUFFClNJQUVTSUFFU0NCS0FsUkFvcVRMdWttQUJFaUFCRWlBQkVpQUJFaUFCTElJVUFI
SndzRWZKRUFDSkVBQ0pFQUNKRUFDSkVBQ1VSS2cKQWhJbFhkWk5BaVJBQWlSQUFpUkFBaVJBQWlT
UVJZQUtTQllPL2lBQkVpQUJFaUFCRWlBQkVpQUJFb2lTQUJXUUtPbXliaElnQVJJZwpBUklnQVJJ
Z0FSSWdnU3dDVkVDeWNQQUhDWkFBQ1pBQUNaQUFDWkFBQ1pCQWxBU29nRVJKbDNXVEFBbVFBQW1R
QUFtUUFBbVFBQWxrCkVhQUNrb1dEUDBpQUJFaUFCRWlBQkVpQUJFaUFCS0lrUUFVa1NycXNtd1JJ
Z0FSSWdBUklnQVJJZ0FSSUlJc0FGWkFzSFB4QkFpUkEKQWlSQUFpUkFBaVJBQWlRUUpRRXFJRkhT
WmQwa1FBSWtRQUlrUUFJa1FBSWtRQUpaQk9xemZ2RUhDWkFBQ1hnRTZocVVxbS9LK1RRcQp0YnFp
MU1xU2ZCYmQ3NlY1cFJhbXZidmk5OTNjSVdOb1Zzb1pqL1FmM3pVMTB2ZGxHWXQ4TXQ4eXBzVlpw
WllYNGpjR3Z4NmxkVngrClkrVTVFaUFCRWlDQlZCR2dBcEtxNmVSZ1NLQUlBbGpRZG01VnFnT2ZM
YkpReitPZkJ5ems1eWFVbXBYUDNMaFNrME1WVWtwRXNlamEKcGxUN1pxWGFlcFZxN1hFVmpueXdR
QUdabTFScWZrbys4ajM3V0tucFVhbGhMWjlhU2x3MlllUHEzZTBxcmlXbVVQTHFsa1dKSHJ1ZApY
N1dOclVwMTc4anZubktVZHA3VGtmQXQ1VHNPdkdTWWVCaSsva0pLNHQrZGxpNy9PMmZHbEpyQjMw
TUtDWkJBR2dqa3NjSkl3M0E1CkJoSWdnU3dDV0tSdjN1OHFIbzB0V1pmeStsRXIvNVMwYlhJLzNv
MVFTTWJ2dTU5WlVVcWlsS1oyR2NjK3BUYnRWYXBCckIzRkNLdysKSFgzdXg2c0hGcCtwWVZleG1o
d3NuM0tWMUhGdE8ySmVTSHBNNC9BTlJUTmZCYVM1VTZsZFg0bEQ3N1A3TUhSRkZPVThGSkI4eDRH
WApER2QvSUJaQ3NYaEdKVDI3bE9vYjhLOTk4QklWRUg4eVBFc0NpU1JBQlNTUjA4Wk9rMENSQktC
NGJEL3VXZ3VLck1wNE85NWs0clA5Cm1DellaNVFhdnE3VXlBM1hiY3Q0VTU0WG9HenNsTVZnejA3
WHJTclAyME1YaDl0V2Q3Lzd3VTFRcmtadnllZE9OQXV5dEk0ck5IQVcKakIwQnZHVFlmbFNwdTEv
RXJtdnNFQW1RUVBJSVVBRkozcHl4eHlSUU9JRldVVHo2STFZOC9IclgxQ2FLd2pPdU1qSjZVNm1o
cXhKdgpJVXBKTWRJbmxwc2RUK2Z2WWxWTW05NjlVS3gyUHV1MkQzZXptNStXVHJGSzY3ZzhkdnhP
TGdGWUoyQnBLZmJ2Ym5JSnNPY2tRQUlsCklrQUZwRVFnV1EwSnhKNEEzR0w2bjRyV1VoQUVBWEVs
V3c2S204VUJjYzE2SUF2M1R5UzBZalhvcnV6cmVCTzcvM1hYYlN6N1N2bC8KMVVnaXdhN3RFdThn
d2UxdzB5cEcwanF1WXBqdzNuZ1J3UE9PRnhpM1RzU3JYK3dOQ1pCQTRnakl2eVlVRWlDQlZCT29x
Vk5xM3l2dQoyM3BrZjRxRG9CODlFc2lMUlhjK1VpY0wvVVBmaUlmeWtVKy9nOHFtZFZ4QjQrYjE1
QkZBZ2dGVG9IanlSc01la3dBSlZJaEFudi83ClY2aVhiSllFU0tBd0FnMFNXSDdnRFRjYlZOZ2Ex
aVRiRXpKWlRReTZzUTdJQ29VUDB1M2lXZ05TODByc2hmZmRMQUhnblpKNUNsbTAKb2hSWUdRNTlT
eFkvRWdRY1ZtWWV1NW1za0Y1M2FjNU5zNHZqVmJHNk9QM1gwZ3dqN2dMWnM3QzRLcWVpbHRaeGha
MGpsb3NmQWFUYQpycFVYRjM2Q3Z4dXdwRjcvME84cXo1RUFDWkJBS0FKVVFFSmhZaUVTU0NBQkxL
aVB2S1ZVMk94V3lBZzBkTmxWUEd5WmJyRC9oNUlVCnRibUN0SjVRUkpBR0Y5K21CVXp1ZldGLzcz
NGhuUElCbDY2eHUwbzlramdUcENZMXlZTFBHRkFXMWdnbkM1YWtCTVYzMUc5NzB6aXUKZTJkY3R6
UVQrM0tjeC9PSUdDR2JRQmt0dFR5NlZwbHNUVWdaWFNvQkYveDdBQ3VsbnlBaEE3TGVNUzJ1SHgy
ZUl3RVNDRUdBQ2tnSQpTQ3hDQXNraklHOHBCMTRMcDN6QU12RGd2R1NvdWlYREZBdEhvWUpGQzdK
YzRRTUxDV0pPRUxSYUNrVUViaC9JZEdVVEtCNElrSVhpCkFXdE5vUUlGeTBzZmpEcWdnQ0JtWlpQ
MElWK1hzYUErcEhWY1NGVmNTY0V6ZC9oTmV3OFc1Ym0vL1ptOVRDRlhzU2dmdTFQSW5mRzYKNThF
NU4rdWJ5Um9JNWU3S3UvSHFNM3REQWlTUUdBSlVRQkl6VmV3b0NlUkJBQm1uNEU0VUpLTzNsYnB6
MHQzZFBLaHNQdGRoUWJsMwpXaFNDUzY0aXNya0lSUVNMeVYzUDJWdkhobkkzUG5MMzZyQ1h6UDhx
VXU2QzBmMno3bDRqeUZLRnJGN0ZTbHJIVlN5WFV0eS81eVZ4Ck8rdzIxd1FYbyt2eXZCU2pxSnBy
VDhjVldGVHc3OFBtdmY3amdYVVFsczVLSzV2K3ZlTlpFaUNCbUJPb2pYbi8yRDBTSUlGOENXQXoK
cjYySGd1OTZlTkhOWm9QRldGU0NCZDVkVVVUTy9jRGR4SytRZHJyRjhvRTRDWlBBOG5IdC9XaVVE
NzFOV0ViZ29vYXgzSmUzdzRnagpLVWJTT3E1aW1KVGlYbGplZXVYdmdFMXVpMEk1TzJZcndXc2c4
RkFzbzdaL0g0SmMzRWlSQkVpQUJBd0VxSUFZd1BBMENTU1NBUHplCjk3eG83em9DeWJFQWc0dEZ1
UVJ1WGxmZkU2dUl4QWJrbTNaMzB4NTdMeDljRUYvMGNpNG1oZCtnS0crWDNyYkhtTmg3TFM1ZEtS
MVgKMExpanZJNDM4Z2lRdGduYzlQTGQvZHhXWDVxdndhMFNHNGlhQkZZbXZQQ2drQUFKa0VDZUJL
aUE1QW1NeFVrZzFnVHc5aGQ3YmRoawpVTnlpRUtkUkNZRUY0ZEk3c2pQNmRMaldZZm5vMkdJdXU3
b3NDNlJyNXV0UlhvRnIxc1dmdUJhZTVhWDhXa3JydVBLalVOclNUWktOCmJlQlZld1l6YkJvSkpa
Z1NuZ0QrdmJEdGNWUHB2WVhDajRRbFNZQUVZa1NBQ2tpTUpvTmRJWUdpQ0NEd2U5TmVleFVJa0VY
QWVTVUYKbWFrdS9OaDFad3F5aGpUS290SVVCSXN4WUVGcFd4eEZQazZ4aGlEbzNja01sa2RqYVIx
WEhnaEtXdFRaeFBFTlViNGJ6TlhPaTlKNwo0Mk81TG5OR0NVOEFLYmhoTlRJSjBuQnYybWU2eXZN
a1FBSWs0RXVBQ29ndkZwNGtnUVFTMkNvN2pOc3lUbUdoZnVOVEdWZ01GbUN3ClhPQk5OTDV0RXBS
Q09Ld2x4ZFpHSmE2bGRWeVZZSWsyc2RHbWJYOFlQUHZZdDZLaXltcWw0SlNnWFNnZ1VFUk0wbi9N
L20rUDZUNmUKSndFU3FGb0NWRUNxZHVvNThGUVJ3SnRmWkdleUNWd3BGbWRzSmVKM0xXaWhiZ3VR
amQ5bzFudVUxbkd0ajdCOFIvM0gzWFN4cGhZUgo4M1R6aExzaHBha016OXNKNEVVQmtsYVlCQnVl
SWxVMWhRUklnQVJDRXFBQ0VoSVVpNUZBckFsQStiQzVueml4RWhXSyt5Z0tuT3huClloUDQvU2RT
MGpxdU1rOUc5dzVKODN6VTNpZ3lPVTA4c0pmaDFXQUNDRWEzYmR6b3hKOVpYT0NDVzJBSkVpQ0JL
aUpBQmFTS0pwdEQKVFRHQnJ1MzJ3U0dmZjc1eEN2WWF5M01WKzN2WUpLa0tTRnJIWlp1clVsL0RC
cEY3WDdiSENEMitaMzl6WCtvK3Biayt4R3ZaNHNlUQpXQUZLQ0lVRVNJQUVRaENnQWhJQ0VvdVFR
S3dKSU82anJkZmNSYmlnREYwMVg0L3pGWnZmT2ZyZDNGbjYzY25Md1NPdDR5b0hPN1JSCko0dmQv
YS9iTTc3TmpydjczSlNyVDlYUURsNWt6RTJhUjdwRjNMQWFKQmtHaFFSSWdBUUNDRkFCQ1FERXl5
UVFld0xZOGJ6RzhsY1oKRzY0dFRNVitHTDRkUktwYm15RGw4SFlKZ0UyYXBIVmNaWmtIY1Y5RHVs
MmI5UXNLSG5ZNlQycU1VRms0RnRLSXZNeXc3UitFYkdSSgovUHRZQ0FyZVF3SWtVQlFCeTZxbHFI
cDVNd21RUUxrSTJQYkpRQittUjhyVms5SzNndzBNa1Q3Vkpsc2srNWR0TVdxN3QxTFgwanF1CmN2
RGMrWXhTblZ2TkxjRlZDT2wyazVad3dUeWllRjBadjIvZitIUHpQdm43MkJhdlByTTNKRUFDc1NO
QUJTUjJVOElPa1VDZUJOcjcKN0Rja1dRSEJ5S1prcncrYjFNby9ZMGZlVktxcjMxWXFmdGZTT3E0
b1NmZnVVV3JySVhzTGQ3K1VaMmJZWG9aWGl5TncvNno1ZmxoagpnM2FqTjkvTkt5UkFBbFZDZ0Fw
SWxVdzBoNWxTQWpXSS8raXhEMjVhTmg5TXNtQ2pQOFN4MktTK1Nha0RieWkxNXdXbEdoUHk5ald0
CjQ3TE5VekhYV3VVNXgvemFaT1NtVXNQWGJDVjRyUlFFcGg2NW00Q2E2dXJaSmZ1eVNKSUFDZ21R
QUFrWUNJakRKb1VFU0NDeEJCcGsKNFcyTC81aVgySStnZ09lNER4NWpnTnRIejg3Z25tNGVVQXFm
R2RsdC9mRmQrZHlMcnl0T1dzY1ZQRXY1bDRDQ2lhQnoyMGFic1BUZApPWlYvM2FXK1kvZnpTdTE4
dHRTMUJ0YzNMR20ya1hLNFhBSXJpTWtWcmtiaWRIWThyZFMxRDhyVkc3WkRBaVNRTUFKVVFCSTJZ
ZXd1CkNXUVJ3TUxNSmtuZEtUeDNUTmcxSGJFdVNQVVpSbUFWd2dmeEF0aTdZRllVRXVjam1aRVFB
RzdienlCTS9hVXFrOVp4bFlvUDZvR0MKRGVXanNkVmM2NkxFQ2wzL1dDeGxFdjlSYWNGK1BMWTll
YUxxSHhJeWxGUHc5d2tLdnVuRkFGS0RJMEZHMGwxQXk4bVViWkZBRlJFbwo4NzlZVlVTV1F5V0Jj
aEFJV3BBSDdUZFJqajZXb2cwRUZOLzZ6RjJJNHUxcVBvS0ZLejdZdE02VGxTVlhFWUV5Z25TdGMw
OFVrM0puClRVcnJ1RHpPcGZqZTlaeTdrRFhWaFRtNy9xRlkrdVpOSlhnK0tnTDN6N2wvcjB4L0p4
RUxjdVhkcUZwbnZTUkFBZ2ttUUFVa3daUEgKcnBPQUNyS0FZS0dkRnNGdTFuZS9VQW9MVXRPQ0or
eFk4WVlhYjJmeDhRUnhKdk95eHdGaVptYkVuV2RLUHVYSXBKVFdjWGxjaS9tRwpPMTJmZkd4eSsz
UFh1bVVydzJ2UkVFQjY3OUZiNHZZb21hLzhwRU1TWk1BU012SFE3eXJQa1FBSlZERUJLaUJWUFBr
Y2Vnb0lZRU0yCm02VEZBdUtOY2ZpNjZ6NjFUL2FCS0xYTENaUWFCTTdpNHkxNm9ZeU1TbUR6bU1T
VHJDNTd2U2o5ZDFySFZRd3BLSWU3UmRtMHlkQmwKbVpzN3RoSzhGalVCN0k3ZXU5c2Nud01yQ0JX
UXFHZUI5Wk5BNGdpSWN5MkZCRWdnc1FTQ1hMQldGaE03TkdQSHNaaTU4Q00zTU4xWQpxRVFYMmpk
SjVxVVhsWHIybDVYYSs3TEVvY2diM2Fna3JlTXFoRmREaTJ3MitKbzl3Y0xFb0ZMM0pCQ2FVbGtD
Mk5NR0NyUkpXcnRkCkJjVjBuZWRKZ0FTcWtnQXRJRlU1N1J4MGFnaGc1MkdibER1bXdkYVhVbDZE
YXhSMnVrWVdubTFIbzFVTTBHOXczclRIL1NBRjZjMVAKbFZxS0lPWWdyZVBLWis2ZG9ITkpxZHpR
Ykw0TEdjUnVmaUxYeFcwdWJvS3NjNVg0ZTFmSmx3MFBMN3B1V0tiZysvN2pibGE2b0hUYQpjWnRM
OW9jRVNDQXlBZ0dybDhqYVpjVWtRQUtsSUJDMDZEQXRDRXJSZGh6cW1KUk5DdkZwN25EVDd5SWpq
eTFiVWluNmpHeGNSNzhyClFmR2loS0R0S0NTdDR3ckRDaFluMjk0MmlHdEMwSGxjNDV2dW5xNCt0
ekQ4T3dSM09OTUdoRTN0N3Q5UG02VWt6TFBCTWlSQUFxa2gKUUFVa05WUEpnVlFsZ2FBWWo2QWc5
YlJBd3h2eGUxKzZueVpSUmpwRlNZQ2lBUGNQYkV4WWJOQjZMaWZzdjNMZ2ErNmlDNW1Bb25vVApu
OVp4NWZMMGZtT1hjMWlhVElJMzZMQStnUXNsWGdTR3JrcnMxQUd6NVdyN1VUZGd2UkxXb1hpUllt
OUlnQVNFQUJVUVBnWWtrR1FDCmdRcElRSkI2a3NkdTZqc3k4d3pqODhRdkhlNVRMWjN5RVdYRUN6
TEhkMUQ4aktsKzd6eVVtbTFIM0QwZnlyRUJYbHJINWZIc0VIZTYKSGJKdmkwMFE4TXlBWmh1aHls
MURrb1pCY2NWQ2xqby9RVnpQbG9OUzVwTGZWWjRqQVJLb01nSlVRS3Bzd2puY2xCRllFWDl6bXhT
Nwp5TGJWblpScldCak5qTGtmdmMrd2pNRFZweFdmWHZlNEVKZTF2djJTc2xmaVFyQXBXemtsVGVO
cWtya1lrTXhtTmtzVmRyYkhBcGNTClh3TFlqWDJMV0xFd24zNnk5YkQ3WWlDdTduTitmZVk1RWlD
QlNBaFFBWWtFS3lzbGdUSVJDTEtBQktYcExWTTNZOWtNQXI3eDBSVUgKK0twajM0SmVjUU95eFNI
a0Rtam5zMjVXcmpnRTJTWnRYTEJRN1plZ2M1dXlqTTBpc1JFbEpkNEVzQlA5UTdGU0lXT2NuMkNP
WVRXOApmOWJ2S3MrUkFBbFVFUUdtNGEyaXllWlFVMGdnU0FHQjZ4RWxQSUdGYWFVZWlTLzdwYmVW
T3Y5RHBVYmtqVzRZUWVCN3o2NHdKU3RUCkpzN2oydnVTNnhwbklvT3NVZ2c2Wit5QWlWQzh6by9l
Vm1wdXd0eW5MUWZNY1NMbXUzaUZCRWdnWlFTb2dLUnNRam1jS2lNUWxQSVQKUWVpSWQ2RGtUd0NC
enJkUEtuWDFmYkdVekFYZnYybHZjSms0bElqVHVMWWZFOFZOTXBlWkJHL1VyMy9zYmo1cEtzUHo4
U1BnSkdZdwpkQXNXTDh3N2hRUklvS29KVUFHcDZ1bm40Qk5QQUFzMHhEZllCTm1nS0lVVG1CeFU2
dkpQZzkvQXQyMlNOaVF3UFNsUzZYRjE5UWN2ClJKSFNkbm80S1VUWlQ0L0F4QU9adDFIdjE4YnZ6
ZnZNY1NJYlMvTU1DWkJBQ2dsUUFVbmhwSEpJVlVZQUFkQTJvUUppb3hQdUd1SXEKZ2dLZzYrVE5i
bXZDckUyVkdsZXp1QWJ1a3pnQlc5QTVBcHE5VEdiaFpvbWw0a1RBRnVlQnpTWk5lNGJFYVF6c0N3
bVFRR1FFcUlCRQpocFlWazBDWkNBUXFJSDMyaFY2WnVwbjRaZ1psbzdXZzdEME5FZ3VTTkNuM3VK
QnBiUC9yYnZwaUU2dnBFYVh1Zm1HNnl2TkpJQURMCjFZUllEMDJDbUNtNmg1cm84RHdKcEo0QUZa
RFVUekVIbUhvQ2NNRkNTbGFUWU1HSHJFNlU0Z2pBM1EzQjNEYXhaWEt5M1ZmSmErVWUKMXo1SnQ0
dWQ2MDJ5T0N0eEh4L0ozbzdDbTVKc0FnOGsyNVVwTXh5c1h6dWVUdmI0MkhzU0lJR0NDVkFCS1Jn
ZGJ5U0JtQkRBUXMzbQpiNDF1YnBQOCs1VGlDY3dIS0NCd3cwcWlsR3RjV0hCMmJUTVRRcVlyS0I5
SXJrQkpQZ0drVDliVFhPZU9DQ212Mnpmbm51VnZFaUNCCktpQkFCYVFLSnBsRHJBSUNRYnREdytl
K2UwY1ZnSWg0aUlpWnNNbFNRaGZPNVJnWFhHNndCNFJOYm4rdTFPeGpXd2xlU3hxQkIrZnMKMWl4
YVFaSTJvK3d2Q1pTRUFCV1FrbUJrSlNSUVlRSWpOK1d0OGFLOUU5dVAycS96YWpDQm9KM1M0VDZV
UklsNlhDM2Rzam1kN1BkaApFOFNpak4yeGxlQzFKQktBMitMSUxYUFBZUUdCSllSQ0FpUlFWUVNv
Z0ZUVmRIT3dxU1dBR0JCc29HZVQxaDVKZXhvakpTUm8wWXV4CnhHMG5kMnc0YUpPd0NraGF4K1hI
Qm52UklPaTh0czd2cW5zT0ZyejdaOHpYZVNYWkJCNWVzS2V4Wmthc1pNOHZlMDhDQlJDZ0FsSUEK
Tk41Q0FyRWs4T2lhWkdteUJLT2owOXVQaTgrMVpNV3F0SFR2Vk9ycFh3eFdNQTUvVTZsZFg3RXZY
c3MxRmloTUhSWjJlTk83RkdMRApRdlEzcmVQYU1CY1NhRHp3bW4zUEIyeU1lUFBURFhmeVJJb0k0
TzhGL24weVNhdFl5SHAzbTY3eVBBbVFRQW9KVUFGSjRhUnlTRlZLCllFVmNzSVl0LzhrREN6TFA3
SHRGS2J5VnJvUWcvejhVaXYyeUtBMWpBVUVmdHh4VTZ1aDNsR3JyclVTUDE5dmNKSm5Fc0l1elNm
SjEKSDBycnVIUSttR3ViMG9hMHh0Yy9ERTV2ck5mSjQyUVNHTHhrbitkK2VUbUNmeDhvSkVBQ1ZV
R0FmOXVyWXBvNXlLb2hNSFRGL3A4OApRRFMyeUJ2NE4rV3RkSHQ1c2NCOTZmQzNYSVVpMzVhUnRo
VjlocXRHSlJZcFlCWGtKako2Sjk5UnVlbG8wemd1a05pMFQrYjZnSmtKCjByUEM4Z0VMQ0NYOUJQ
Q0NCSEUrSnNIZnNSNG15akRoNFhrU1NCc0JLaUJwbTFHT3A3b0pJSDNwelJQbTNQc2VuV2I1ei83
SVcvYTMKMDE3WllyL2grNzlWMGdBWGE4V0E5UVl4TE1kK1RxbSsvZVZ6eTJvUWhTMW80enhzdUxa
UTRFSTZqZU5xMjZUVTd1ZnRUdzZ5SXdWbApiN1BYd0t0SkkvQklYcEFzelp0N0hkWXFhcTZCVjBp
QUJCSkN3T0pQa0pBUnNKc2tRQUxaQkNZZXlKdkdpN0pZUDVaOVB2Y1hOczA3CitIV2xIa3BaV0U1
c214bm0zaHZtTnhRUEtBcGJKZlZxUXdsZHZxQThZWEVMaThUSURkZTNQR3pzUlpoKzYyV1FvV2RB
TnM2REVtSVMKN0YxUmlsMjcwekt1aG1iWHhhN1c4bjVyN0s0OG8rS1NRNmt1QXZpN2dvRDBJT1cw
dXFod3RDUlFsUVNvZ0ZUbHRIUFFxU2Z3NEx4Uwp5SG9WbE40Uzdrend2WWFyRE53akVFT0NSVUl4
QW5jcDdEbUNHQWNzUnFNU0tGRFlWMkxySVhlenM4ZjNsWnA2SkM1bzR1cFJqSUJKCmp3VEpRM2tL
czBrYWxMMmdIZEx6NlUrU3h3VjJzQmJaRkRiczgzSDdzM3lJc0d5YUNPQ2xBU3lpVFcxcEdoWEhR
Z0lra0NjQktpQjUKQW1OeEVrZ01BZmpYdzgwS0NrR1FJQ2g5NXpQdWduNXlTS25KUWZuSWR4akxB
Z0t6TzdhNE8xeDNiaXYvd2dLTFhtVFF3UWR4QlZqZwpRaEZCLzJkR3d5bFVXUFEzdExvKzZKc0h3
aXRPYU1mbTF4N0UzWFk5aWVOQ2ZCSGNyMndDTjV0RDM3U1ZLTysxcWVIU3BnQjJGSHBSCnZzc3RT
SUlRbElxNzNIM3lhdzkvUitGK2gyUVlGQklnZ2FvbFFBV2thcWVlQTA4OUFXUVl1dlNPK3g5OWx5
Z0dZUVFMOFY3WnNSb2YKQ1BhMWdNODJQb2d2V1Z0MU0yaEJZWUYxQTkrNEp5NkNlQXBreThMSDIz
VWJHelE2L2ZmR0liL1JieXlXOGFZZTQ3RHRVZUUzdHRvVgpWYlAwVUsxZE8ySGY1ZG52M2tMT0ZU
c3U5TGRsUWEzTmhHZ2NDL0pySCtROXJ0cCtNYnI5MXJ5cTZYdGJ6ZnprVmJVNkthNXlmb0pnClk4
RmZMbW5ZODBBdDNaYk9tV1J4em5TbHNQTmxIbCttazlNam1jUFlIMEJad3QvUGxxN1lkNVVkSkFF
U2lJWUFGWkJvdUxKV0VvZ0gKQWJnalhYdmZqWmZBZi9oWXlPWWp5RndWdFBsZVB2WHBaYUhNS0hr
YkdyVkFRWEtVcEU1clM0MUhicWphOWxrMWYrcVlLQ1NycXJadApUcTFPckZ1UDZ2dUhWRjN2cEty
YkxCYVdoUVUxOThkaS9WakZHTUpMamF5OVcvNlJkT2ZRQjJwbHNrc3QzOXVtRnEvdFVtc0xCYXpJ
ClE0NnJ0bnRTdFgzcmhKcDU1NVZnMnJEb1FQbkkwdzJ2RmpyZlAxWnErbjl0VWsyL3VVMjF2SFRP
VVVKTVpHcWFGbFR6Q3hkVS9iWVIKdFRyVnBtWi85cEphVzJ3UUpXbGV0WDd0cEtxVFB0YzByS2pW
K1VhMThxaFhMZDdZSmIrWFZmTnpGMVZOa3p6VE5Xdk9mY3YzdDZqRgpxM3ZWNnJROHB6blNzTytl
YW43NmlyUXhxaGF1N2hiT3U5WHlYU2ppZWY0ZDBPcXRQeW9HeFo4ZlU0dVBicWpGUzJJcG94Uk80
UDVaCnBRNTh0ZkQ3ZVNjSmtFQ2lDVkFCU2ZUMHNmTWtFSklBWEI1bXg1VGErM0w0L1RkQ1ZwMTNN
VmhtaG0rNDdpSTR0c200eEhYQVNoR3gKbGFXMmMwcTFmdldVV3JxelhUVi81WkpxUEhqYmVZTy90
dENvYWxybERmbHFqYXJybVpSRjdBNDErMmVpME55Vk43akJ5L21OSXhOOQphL1dCR0dSVXMxcVoy
YXFhbnJvdEMvSHphdXA3MzVaRmRPbDk0dEgzOXAvN1VNMjgrMUtXTXJXaFkxQTRFRGVFWkFRRmpB
dEsxZnpmCnlKM1ROV3BsdUVldHpZcFZ5U0ExelF1cTQxZmVVYlB2djZnV3poeDJsQXkxN1A1WFZO
ODNwaHAyRHFtcHYvMjZvM2pVZGsycmh0MFAKVmRzM1BsTnJ5M1ZxZGE1WlRmMzFkeDBGcEw3dnNX
bzhjRWQxL3FNZnFzbnZ2NlZXSDYrL1RZY2lVOXMycXhhdTdIVVVrTHJlQ1ljRApyREp6bng5WFN6
Y2t4aWRQUmFSMnU0UUUvYnVpZTM3Y0lJclFaU29naHZrTmZSb1owR0MxQ1JObkZicFNGaVFCRWtn
S0FTb2dTWmtwCjlwTUVpaVV3TGl2Zjh6K1U0UEJERW1BdGIyL0xuZkp5UWZ4L0VPUU81U05zeGkw
c2loOWVjb1BDTisrTExHM3c2bVNIbXZ5VFgxQjEKc2dER0FobHYyWmNmOWpuV0NmZnRlbzBzZ3Q5
VmEzY2tlOU5kZVFOZm9NQUZxazZHc1RvaWI5SC9Za0l0L21TSDZ2NHZKbFJ0OTFUZQpDa2h0eDR4
akJmRHRTcDBvRkN0MXF1MmJuNm1GY3dmVnlwQms4eklKRm9HM1BpODRqWENOclB2cnhHTnZTVjVv
dzdWcTZmWU9VMHZPCitlYm5MNmhsNlEvNDVzclNuWDQxZC9LWTZ2akY5OVRzZXk4SS96MXFZYnhU
TFE5dUZndEp2V3I3K2tuVitXdnZxT2tmdnFHV0gyeHgKUG5DdlduMmNiZDFhRTBWbDRadzg1MkxK
YW4zOXRGaEo5b2pTc1VzMVAzOWV0YjMxaVZvKzFpZjF2MmgyRTh2dEdINExVaVhoSzZwaApUZnF6
c2U4b1FzbVRBS3dnMkJ1SVFnSWtVSFVFcUlCVTNaUnp3RlZOQUxFUTk4KzRhWHI3RGtnMkdnbVdS
VHhFVkFKRlkxemVkSTdkCkxuelBoelZaK2VGK0s5a0FZUUFBSUFCSlJFRlVmSnJFSldyVGJqZTdW
MHUzdk1TdUtWblBvV2g0cmp3dDR1cXpQTGhKRnZqaTJvT0EKL0VmWDFFcmZzS3J6VzF2TG9yVDVP
N0lJbDVmcUN6K1RVQmxKSm1hVFZRbXhxTjBpSldSY2RTMTNaUEVzOTd6OWhZeHBqek91bXA0Vwo1
dzA3M3VJdmZIbFlyWXpKT0NFTlM2cFI0aGxxTzJZZGEwRFRzZXRxOHM5K1R1cXBkYTgvK2JQbHRk
T3FZZGVnRS9jQUpXWHgrazdICmlyTTJLNVlrVHhBSS9HUmN6cmQzdm9EdmVubUVWbTZHdjdGKys3
RGpEbVc2WStITEkycFZsSTYyTno5VnNJRE1uend1MWhBM3NIM3EKYjc3cHVHaDEvUHBQMVBRUHZx
WldSbnJzOFIycnRjS3ZTMXpuSmh4cnkreDdMNm1GaS9zZEphVGoxOTlXVTMvMUxZZC8vVEY1dEw0
cQo0eEQ5Y3Y1SDBqTW9Hem15S3Q1cEMyOEw3dm9hTmZmQjh6bFg4WE5OTlI2NnJSYXZ5RHptYVYz
eHFhdzZUa0g1aFNVa0tGdGZkZERnCktFbWdxZ2hRQWFtcTZlWmdTZUFKQWJnK0lYMHNOZ1pEeXR4
MmVhUGJJWjh3R2JOc0VMR3duWnNRMXdwWlpTT1lHWXZjUE9NSmJOVTcKbS8zQktvSlB2Ymo1SUxn
ZUgyVGhLcFVpaFRGSTBQYmE4SDJ4R01FeU1PMTBhZm1lNkFBdnlxVitDWXQ1V1lZbFExdjhSTkQ5
VXlueQpyaWdSTitYNDM1TmgvL2V5ZnBXeUpsbVIreHFlbGpwZWt5NkxEamoxMzBySkdXbGpSc1kw
ZkY1MS9QTWFOZlA5cldKVmFGTWR2L3hUCk5RSExqTGgvTlIwWEpVamNqR0NkYWRwMzM0bFhVZld5
VWw2cWRkeVVWcWRiMU1wNGgxcTRNQ0FMODI1WnFKOXlmcmU4OXFXemlGK1QKY2RXMVA1RHdpU0cx
ZkdJb015NVRQMjNuNi9hSXdpVWNscjRVSG1KOFdIVVIyVzVadjdaV28yb1J4MkVSV0RXbS92cWJx
djNuUDFBMQpZczJaTy9HTVcxb1VDc1NMd0lyUzhVdnZLaWdrVUVKczRpZ2dpTnQ1SWl2RHZXcnFM
OTlVbmIveEk5WDZ5aG0xSUVwdGt4Z0VaLzlmCkNhTC9QVGN1ZXU1UFhDV3g1VmRrcnFUcFpUSGE0
ZnFTS0plTkw2L0tnT3U4NmpMZlVLeGdjY0kzM01WZ2RmRVVwMHdoSG13a0FDc0kKc3VlVjhHWEN4
a1o0aGdSSUlHNEVxSURFYlViWUh4SW9Kd0VvQjhoSWd3OEVpL3FPelJKUkxCOWtpVUxzUloxOG5J
Qm5zWlFnV3hTcwpHa3NMc2lwNzhvRlZCWitaTVZmeENJcnJjRnNxL3M5bGFYUDBsdnRCYlZCQW1q
dGxCU2tmZkVPWlF0L3I1Sjg1cEFyMnZySFF3YmpSClR3VHBMei81ZGhRbmVTTTdQYXJVNzhyNXdh
dXlTRi92NXFwY3dxSzc5WGRFOGZoVW12a3RXVE5KMklhekVEL3BsbHU2SU4zWWIxRkEKcEl2MXN0
aXQyeVp2M0w4aDJHVHRCV1ZrUmZDdmlMNkRhMnZUYTJybDlLQjhaQWpQU2RucHYxTnQvM0JGVGY4
Zk85VEtoSXluV2F3QgozMWhVelMrSlJXaCtRVFVjdUNmS3lXMDFMWXZ4MXE5OUpoYVNLVFg3bytO
S2ZWUHUrZU1qYW0xOFJzWWtsY200V3Y1Z1VhM0liWmk2ClFxVCtrRFQvWGNFM0lmMStWdnA3Uk9x
NkxoemtVWEVFYm5Zbi85eGE5YW9vYjdVMTQxTHVzcldjekpDYStsTFdwdi9wWmJYMDA4dHEKK2RK
NjhYbncvbVY1VE45NFcwMytWM0tNd2daWkVmMms4ZGZrNGlucDE1cGJDRitMZlRJSGJ3NnF0YjJE
YXVFREdaTTh2dk4vTC9QNgptOEpjNXFIMXR3WFp2NVNDY2x2Yjc3bmp4WHcxdmpTbjV2NzB6OFVs
VE1wS0grcGt2cFg4bFZoNDM2MjdZZnN0Qld0Sjg2OWRkK3FiCis1NTdQblovNHVWQXdGeVZwYy80
ZTNmcUw4clNGQnNoQVJLSUR3RXFJUEdaQy9hRUJDcFBBSXY2eC9mY2oxOXZzSGlIaFNDT2dsVTEK
TEMvNDJBVDdhemdadUd5RjVGck9NQkcvVVNQNjEvemZ5WHBURnNNMURiSW9sY1UwdkcwYW5wTnpX
RS9MOVRYcGhrbnF0c2gxcVFjQwpKVVpKVjdDSWIvMDNSUm01NEZwVXNKakhXL2NsTExpbHZycGR5
ODQ5Sytka1hoUSswcVM0Q3psRE9QMEQxZlNXM1BjVE9YbnEvMU9MCmM2dXEvUS9rbnJuMzFOcVVs
RG4vaVZQZSsyTk5wdGMwZlczL2pyc0luek9zQmV2RTg2M3QzeGFqMW44cGRjeEtINlYvN2ZJYkxt
UlEKcUdybEk5SDFhblhVYTgzL0d3cEx5eS9JTmRHbGxDemliUUlyMDhKN29paDh6V1d1bDhVOE5I
MWQrQjJXYThMT0pDc1AzYm1xM1NwOQprL284V2I0clNvTDBvYmJWVmZ5Z05JQTMrZ1RGWWtrOEZk
ZWVXSGFtLzJmdkx0RjFSSUdEOHRWd1RQcjJrUmo4dmk5S2tpaEJ6Vy9LCk5UeDZ3bURxdjROeTR5
b3hLME5TNVlmcjkvT0lCRWlBQkVqQStlK1BHRWlBQkVnZ0pBSFQ2alhrN2JFb0ZrYjVFTVVnMTQx
L1RSYVcKRUN4QUljdFhaYjBxaTlvYVdjUmlRZHJ4bjhtM0tCUExUNjY3cGJML1JJekJ3cnZ1T2Jo
dkxZamlNUHV2WkZIL0wrUmVXVWhqa1l5RgpQT3Jya2tWdGpSaHlhdHVsVGJHT1pFUVd5U2lMaFM2
a2Z1K1Q2ekt1dFVtNUIzMXZscytLZkhJRWlsUERvWnlUOGhNeEtZMHZ5RUhOCnhtdmVHYmlNTFY5
eGxRK2NXem9seDNOeUlCNUo2RU9qS0dHcm92UUV5ZExuVWtLWXdRS1VLdzB2aVZMejcwdC94RHJo
eWZJMStiMUoKRnZQL2xtdWR5UFJSeGdlM04xeXp5YW9vSUpBTjhUdmVmSXFDQUt0VnkrKzRDaGJj
clZhRkk4YmIrTHJjdDA5dTFyaEFnVUxRdldQOQp1ZWhVTFc1eGNvOG9aWmhmUjdHU3I0VjNSUEdR
c1RiL0E3Y00veVFCRWlBQkVsZ25VTDkreUNNU0lBRVNJQUdIZ0N4T2F6cXlXV0NSCkNYRVczZktO
dDkxUURwYk95L0VEVVNUK1Q3a0hDa092VTh6NFJ3MlVBeEhFMW51Q3QrK09LNU1vRDdBb0xJbkgx
T3dmdTMyQSs0OXUKallHaTRMb0NQYmw3VGRyc2ZxSnZ5TUllRnBnMThXcEJkaXBud3ovTklyTWdT
ayt6dk4ySHhXYnBDNjkxK1gzY1BVWk1oMGxxcGI0MQpjVFhLaVBRZnZ4MzNzUkdYUTVCRkEvZkMx
UW1LRitJcmNLOGV0STl6c01BZ1VEOGpvdURBTWdGWHRZay9sR01aYjBad0hHQkZ3WHpCClhRb0t5
TkxKekoyTzRnSXJDTWJzeE9MODU4Sk01aFB6RGt0Um95aEREVWZkZm1LdTRJN2xXRkNrVFNpanNJ
QTVpZ2wrUy8xUS9uQysKWHZycXljS0hvcGkrK0tUT0tlOHN2MG1BQkVpQUJQQ3VqRUlDSkVBQ0pL
QVJnSEtCZUF4ZGFzUlZKMHV3NkpURjhmeFBaVkgvODdMSQpsQVU2TEFFdHY1cFZTazY2aStmTTJT
ZUtUT2EzSEdEUml6ZjVlR00rL3dPcDR6ZmtwUHpyM1BpS1hKUHpkWHZsdHl4NFlSbUFxeGJjCmlo
d3JoOVMxZEZIMGpMZmt0N3lsaC9JRGE4bnlMZmt0L1VPd3ZDZE9uSVlzckdmK2xienAvOGZTTFhF
aDhnUmpYVG9uOTEzeHptejgKUnB0WWtLTWZFTWVpSUcyaS9aVWJVdDgrOTN5WVArRzJ0SGhLckIx
L3NONTMzQWVscU9VZnlsQmExbXZCMkowVXY2THNOUC9TK25tTQpGMzJBNG1ZU1dIWTYvMnVwVHhR
ejNRS0N1WVFGWnU3UHBlNHpjcmNvR0hDWmdzdFZ4My9rY2wvNGtiRDYzMFRwK2VkeUhnckpFNWJn
CkJrVUduQnZmY0Z1R3hRUXVjM0RSMHdWeFF4QlA2WFIvOFU4U0lBRVNJQUZhUVBnTWtBQUprRUFP
Z1dXeGFtQlI3NlJrZldKQndLSTQKTjlzVDNKMlFnbmJ4ZlZtNC9qTzVMZ3RSTEZ4MVFlQzJFMTho
U28zalNpWC82anJ4QjFCYVJJR283WkVGcmlnTGlEUEFtLy9GUjdMRwpQeTZMODM4cTE2Vk51RHEx
L0tJc3ZyL2p4cCtnYnBSRE9FNlR1QWtoeUxualA1YnkwajRXdW5QL1dncElueEZRM2ZxYmNpeUxh
eXllCjUvN1M3ZXV5S0JyVC80dGMrejIzUDdDV3dDS0MrNXErNlM3VTBlN2MzMG83VUhTZWlCT0xJ
WXQwWlByQ29yM2hCVm1nU3oxb0N4bkMKRUNNU1drUnhnK3NaM05pZ3NHRnNVSnBXeDZWUE12N09m
eUZ0bkpiYTF1UWp2SndNVlBJYmJUdHVic0ljeWhiNjdDM3kvZHFHWlFsOApvTlRBZ3RMeGgxS2xL
REkxVWljVXNSVnBFekx6djB2ZC80RTdCdFNIUUh0WVFQQWNJTkVBeHJoNHdsWGF3QXVXbTVuL1Mr
NFJCUXJwCmw1R0lvRW1VeFdYaHRmaWxVNlh6aDZkNGhIRk5XNytMUnlSQUFpU1FmZ0kxa3BvUi84
UlRTQ0F4Qkc3OHZxeThLQ1FRSlFGWnlHUEIKNnNRcmVQOUNpcktBaGFhKzUwWFBIOGsySi85TUZy
V3pzamc5S045emNsMFc0eHRFRnJ5d1htQkJDcmN0TEtxUk9RbnVWbGh3YjNBagpra2NjYjlwWGg5
d0ZOaGJiY0YzS2lQUUZNU0pvZC9LL2tYcWxUbGduOEJaK1RlcjB4RWtiM0NuVmY1RjlIdGZSSHdT
L0k2VXUzSWtRCjFBMHJCOXpKbklCc2I5eGVaVS91Z1FzWUZERXN5TDErSTJnZVZpQW5wYkJXUHRS
aHJmUmhoOVFweWdjQzV5RklkVnkzV2ZxQzhjc24KSThJTjdsSnd5WUxWeFhPSHkxdzNITFQ4dXF1
RXpmNkoxQWZtZDZWZ3p2Z2NDNWF3Z0V1ZFk3VjZTcmkwU25saDRsaFpwRHppYzV6KwplUGNLTjR5
OTZadHV2Yk9peU9qUzhMeXI2RTNJTTBJaGdhZ0lEUHlSOTBCRzFRTHJKWUhTRTZBQ1VucW1yREZp
QWxSQUlnYk02a01UCmdJdVVzeEN2d1AvL1VEb2dYcVltOTFmd240aFRhZmsxM0NndjlqK1FSYlg4
aHZ2UjlQOFlmSytwUk8xMnNTNzhVM0ZYK2s5TUpTcDcKSGdxT2s2RnFzYlQ5UUtBNmxGSzR6a0da
bXhKbFVCY29zWmlueFkvMXN6d21nZElTb0FKU1dwNnNyVHdFOEI2T1FnSWtRQUlrVUFBQgpKNVZ1
QWZlVjRwWjhGUSswaVlWNDZ6OXhYWnBXYnVHTUtCLy9STjc2bjNVT0MvNERmWUZpRTFmSnlpSldv
azRpQ3hheWxUbHVhUEkvCktWSXM1MHF4WEhQcjQyOFNJQUVTU0FzQk1YNVRTSUFFU0lBRXFvRkE0
NnZpS2pRcTFvQmI3bWpoZHRUNEZmY05makhqUjV5RUxZQzkKbUxyamVpK1VEeVFFY0FUdWRPSStG
cFFCTGE1alliOUlnQVJJb053RXFJQ1VtempiSXdFU0lJRUtFWmovaVN5U04wbnc5SDhvWVE3SAp4
UnJ5YjRnYmxnVFFyMG44UlRHQ3VJanAvNm1ZR3BKM0x4UXViSVRvdWNKQnNhdVZ1QlVLQ1pBQUNa
QkFNQUc2WUFVellna1NJQUVTClNBVUJLQnFJVTBBR0syVEd3aUlhRytZVkxSV0lnU202ejBWV2dK
VEJVRDZRdGhkWnVyRC9pcGYxcXNpcWVUc0prQUFKcEo0QUZaRFUKVHpFSFNBSWtRQUlhQVZFV2tO
M0x5ZkNsbmVaaC9nU1Fmbm5sdGdUMS81WllQMFFaaVNMV0pQOWU4UTRTSUFFU2lEOEJLaUR4bnlQ
MgprQVJJZ0FSSUlLWUVzQ2ZJOVA4UTA4NnhXeVJBQWlRUVV3S01BWW5weExCYkpFQUNKRUFDSkVB
Q0pFQUNKSkJHQWxSQTBqaXJIQk1KCmtBQUprQUFKa0FBSmtBQUp4SlFBRlpDWVRneTdSUUlrUUFJ
a1FBSWtRQUlrUUFKcEpFQUZKSTJ6eWpHUkFBbVFBQW1RQUFtUUFBbVEKUUV3SlVBR0o2Y1N3V3lS
QUFpUkFBaVJBQWlSQUFpU1FSZ0pVUU5JNHF4d1RDWkFBQ1pBQUNaQUFDWkFBQ2NTVUFCV1FtRTRN
dTBVQwpKRUFDSkVBQ0pFQUNKRUFDYVNSQUJTU05zOG94a1FBSmtBQUprQUFKa0FBSmtFQk1DVkFC
aWVuRXNGc2tRQUlrUUFJa1FBSWtRQUlrCmtFWUNWRURTT0tzY0V3bVFBQW1RQUFtUUFBbVFBQW5F
bEFBVmtKaE9ETHRGQWlSQUFpUkFBaVJBQWlSQUFta2tRQVVramJQS01aRUEKQ1pBQUNaQUFDWkFB
Q1pCQVRBbFFBWW5weExCYkpFQUNKRUFDSkVBQ0pFQUNKSkJHQWxSQTBqaXJIQk1Ka0FBSmtBQUpr
QUFKa0FBSgp4SlFBRlpDWVRneTdSUUlrUUFJa1FBSWtRQUlrUUFKcEpFQUZKSTJ6eWpHUkFBbVFB
QW1RQUFtUUFBbVFRRXdKVUFHSjZjU3dXeVJBCkFpUkFBaVJBQWlSQUFpU1FSZ0pVUU5JNHF4d1RD
WkFBQ1pBQUNaQUFDWkFBQ2NTVUFCV1FtRTRNdTBVQ0pFQUNKRUFDSkVBQ0pFQUMKYVNSQUJTU05z
OG94a1FBSmtBQUprQUFKa0FBSmtFQk1DVkFCaWVuRXNGc2tRQUlrUUFJa1FBSWtRQUlra0VZQzlX
a2NGTWRFQWlTUQpCNEVhZVE5UjM2aFVuWHpxbTl4ajcvZnFpbElyUy9KWmRMK1g1WHRoV3FtMTFU
d2FZRkVTSUFFU0lBRVNJQUVTV0NkQUJXU2RCWTlJCm9Eb0lOTFFvMWJIbHlhZFBxYWEyL01ZTjVX
TmVsSkM1Q2ZtV3oreTRVbFBEU3EwdTUxZFAxS1doVUczYUU2NlZzZHRLUWJrcXB6UzIKS3RXOW83
Z1dNUmRRRWpNZm1ZUEZXZmRUU1NXeG1MR3RyVDFSY0o5OFkyeVlHeWpDK0Y2YWk2Y0NYTXlZaTNz
SzdIZlBQbFpxZXNSZQpScithN3pqd1FtTGlvVjVENlkveDcxVkxsMys5TTJOS3pZejZYK05aRWlD
QjJCS2dBaExicVdISFNLQ0VCTm8zdTR0eC9FZmUxRjVjCnhiQ1l0SFM2SDdYTHJXdFZGc0xUajVR
YWw0VUlGaU9MTThXMVVZcTdvWHpzK2tyNG1oNWREVisyRkNXYmhXRSsvY3VuVFN6aXNWQ2YKbnhM
bFVPWUZjd0tGc1Z3UzlkaVdGOFFTSjg4WXhvUUZOaGFoYzZJSVYxS2lISE14NHhxNmtwOENrdTg0
OE9MaDdBOUVPWnd2cHBmMgplM3ZrMzVtK0FmOHlnNWVvZ1BpVDRWa1NpRFVCS2lDeG5oNTJqZ1NL
SkFDRlkvc3hzWGFJcFNOS3FSV2xwSE9iKzFIUHVRdkQwVnRLCmpjZ0g3bHVWa0xEV0QvUU5aY3V0
Z0VUSnBLWkdLYnpKeHFkenExSTduaGFsVUJRU2pISDRtbXN4aWJMOUtPdkcyQnFhM1UvN3B2V1cK
WVBrWnYrOStwdkRHWDVRd1N2UUVhbVVac2Yyb1VuZS9pTDR0dGtBQ0pKQWFBbFJBVWpPVkhBZ0ph
QVM2dHJ1TGdqWnRnYVpkanZ3UQo3aEk3bjFXcS95bWx4dTdJd2xjV3ZlVjhRNDIzdUswOTRZZUpz
cmhuZmpMOFBVa3IyU2l1ZHp1ZlVXcnJZYVdHNUsweDNveW5TYUJzCmJUbm9mbUFoR2JucGpoSEhs
R2dKd0RxQjV5a09sczlvUjhyYVNZQUVTa1JBWGx0U1NJQUVVa01BYnlQM3Y2SFVnYThxVlNubFE0
ZFoKVzZmVTVuMUtIZnVPVW9lL3BWUjd4SllZcisxOHJCL0YzT1BkbTZUdmhpWlhPVHo0TlVrODBK
Q2tub2Z2SzVJcGJEdWkxRk8vSU5ZZgpVYnJ3bXhJZEFiaGw5aCtQcm43V1RBSWtrRG9DVkVCU042
VWNVTlVTd0J2OG85K1d3T2IrZUNKQUhFclB6dkwwclhkMy91MFVjay8rCnJjVG5EcmpNNFhuQmM1
TldxUk9GZkp0WWZLQ0lsT3ZaU3l2TG9ISGg3NDhwVUR6b1hsNG5BUktvT2dMeXJ6T0ZCRWdnOFFT
UVRXbnYKeS9KR080Ky8wZ2hVUnZhWXlVRTNvQmV1S2t2eVFURHB5ckpiRnl3cXFCTnZrTEZReFFj
QjZIQlpnblVqam9KNEY3amo1Q3U0QnpFegpDTnF1RmtGQ2drTmZWK3JDajJYZVUreXFoR2Q0MzZ2
eTdGNVU2c0g1YXBuZDBvOFRHY2xNZis4Um13T1h5K3NmbHI1ZDFrZ0NKSkE2CkFubXNWbEkzZGc2
SUJOSkJZSnNFZ082US8vakRDSlFPQk9vK3ZpdUt4NUNiMnRSMFgyNWFYWlQzQklvSkxDMTRxNHcz
NmFaRmlWZSsKbk4rOWU4eXR6VWpHcE5adXBiQlk4aFBjR3hjRkJFRzk0dy84ZXBsOURuTUIva2c3
akpUS3phSlVkTXU4aEUydmpMVE1BN0k0di9LZQoxQ3ZQUnpra2FHd1lUNDE4OE8wcHdZMHlOb3pK
K1hTNDQ4eW5yNWh6SkdUQVcvcWJKOHFmTmhweFVKVklGMXZLdUNZRStzOUpuRlNQCnZQRHdFL3li
QU5mUFNvelRyejg4UndJa0VGc0NWRUJpT3pYc0dBbUVJSUQwbEdHVkR5Z1E5OCs2YVV0RFZHMHRB
dVVFd2VYNFlJR0kKb0hjb0kxaUF3Qis4VW9JRnE4M1Y1dEVWeVhpMVQ1UW1zWFQ0Q1JaV2QwL0ZJ
MHNVOXJ6QWdpOGZtWHBTK040Wk4vdlY1b0Z3YytKawpTenVxMU1NTCtiUldlTmxDeHBiYkdoUW5L
TDlkOGtHbXI3RHhMTEFXSG5sVHFXdnlwcjZjUWROWWxPUHZTOUxsd2Jrbno1UkJpVWZHCnRTdnZK
bjJVN0Q4SmtFREVCS2lBUkF5WTFaTkFaQVJhNUUzKzNoZURxMGY2MWR1ZnVSYVA0Tkw1bDRBeUFv
c0tQbkRwUWFhbFlqZlkKeTc4WDdoMWRvZ0NaRnFKd0s0UDFCd3FTU1FIQnZhZ0RZMG02UU9IRUI2
NWxTRXdBeTQ5TmtFRnE4Rkk4Ti9uejZ6ZjJPUm05Nlg2ZwplRUxaMm5vb25Qc2RyQ0JIMzFMcThr
L2R2Vkw4NnVjNWZ3S3dxSXplRnQ1Ny9hL0RCUktLSVZ3N0tTUkFBaVJnSUNEL0UxTklnQVFTClJ3
QXhHZnRmZDYwUHRzN0RYZUx5TzlFcEg3bHRZMWZrNng5Sm0rK1d4dEtTVzMvUWIxdjJLeWdmOEdG
L2ZNOXU0ZGkwTjZpVlpGMkgKRlFVTDdTRFhzbnB4NGFxVTRsZ3NVY3dyOWpnNTkzZEszUkpsTzB3
OEMvNE83WHVsc2hhN1lzZGRxZnNmU2h3Tm1Kc0VWaEFLQ1pBQQpDVmdJVUFHeHdPRWxFb2duQVhG
OUdIZ3QyTWQvYXRoVlB2SjE0eW5Gb0tlbDdZdHZ5Mkx3YzN1Y1NTbmE4dXFvbDgzcDhPYlZKR1B5
CjFoWUNpODNFQS9mWTcwOVlSOUtXdGhWalJ0ekR5cExmaU5mUElXVnlrZ1V4VHFPMzNLRDZhWEY1
Q2hJa1V3anJ3aGhVVnpWZHg3OHAKdzlmTkk0YTFEZTZoRkJJZ0FSSXdFS0FDWWdERDB5UVFXd0ti
Sk4xbDBNN21XSHhkZlM5NHdSbjFJT0VpYy83dnkyT0I2WlVGanltNApmR2xlK3ZCb2ZiU2pkOWFQ
YzQvZ29wWEdsTHh3V1hwNE1YZTAyYi9MdFU5TGRxdWwvNFd4WGhHclQ1amQ3YmVJMjFiSDF0TDNJ
ZTAxCndsM1BwdEFpSTVicDcyUGEyWEI4SkVBQ2dRU29nQVFpWWdFU2lCTUJzWDRnNjVWTnNDaTQr
V2w4ZlBteEdJUXloTUJvdUdoRkpUYjMKcXpIRWRNamJjVS9nbjQ1QWFKUFk2akxkazRUelFiRXR0
ZkpmUWxxc1A3Q0czRDJ0MUkxUDdIOFhzRWplOTVLTVcxelFLT0VKd00wTgp1NStiQk5uWWtQQ0JR
Z0lrUUFJK0JLaUErRURoS1JLSUxRRzg1Vy91c0hmdjlzbnladmV4OTJiOTZ0RGxjRytrMSs4SWY0
VDlTZUJPCll4TFAvY3E3dnJacUR6UkhYV25jb0ErdU0vTmVxaXdQUnM1M2c3aXlwVW1nZE4yWHpF
MDJRVWF0UGFLRVVQSWpBQVhFRm0vVGY4eE4KcFp4ZnJTeE5BaVJRQlFTb2dGVEJKSE9JS1NLQWZR
eHNndXcwUVcrNWJmY245WnJOWW9FRjk2enMvNUVyUVNsUmJYWG0xcFdrMzBFeApRVmlNcDAyZy9B
WUY0U09GZFB2bXRJMDgydkVndHNqbTFvZG5xZTlBdEgxZzdTUkFBb2trUUFVa2tkUEdUbGNsQVFS
MTJxd2ZjRGtwCjF6NE9jWnNBVzh4R3J2WEQ2L3YwaUxzRHZQYzc5OXRXWjI3WkpQMjJ2YkhHT09D
R2xVWkJFTDdON1E1ajNubzRqU09QZGt3SVJyY3AKdGR1T21GTmpSOXN6MWs0Q0pCQmpBaW45bnli
R3hOazFFaWlVUU5BYmVXUjJpakxHb3RCK1IzMGZOdEhEWGhjbXNRV2MyNndncUJOMQpwMDJDTm9w
Y21FbmJpTjN4SUJicGptd3lhUk5zcUltOWJDamhDY0NkOFlHazVUVUpZbXVnaEZCSWdBUklRQ05B
QlVTRHdVTVNpQzhCCkNaUU55bEJrQ3dpTjc4Q0s3MW52SG5NZHNITFlkcnUyS1NDb05VanBNN2Nj
M3l0QndkWnBWVUF3STNCUHRJMFBBZWxwMndlbUhFOGkKWEQreDU1Qkp0b2diVnRwaWkweGo1WGtT
SUlGUUJLaUFoTUxFUWlSUVlRSnR2ZUxHVUcvdXhPeTRVbGhzVjV0Z0IreWVIZVpSQnlrWQoyTlVa
N0V5Q2pmblFScHJFbHVVSzZZcmgxNTltQ1lxUlFpd0lKVThDNHY3NXdCTG9YeXYvZGdYRnIrWFpJ
b3VUQUFra213QVZrR1RQCkgzdGZMUVN3T1o1TmdnSnNiZmNtK1ZxWExCYnJHdnhIQU5jUUovMnUv
K1hNV1ZPTUNBcWc3cVR1RHA0Wm9IYUFoYUF0dTFjMXVQQUYKUFJNdFhYYVhQZzBuRHpVQzQvZVZt
aG5UVHVRY1lwUExwcmFjay94SkFpUlFyUVNvZ0ZUcnpIUGN5U0lRRkl0UWpkWVB6S0ROUldwaQpV
RFpLV3d5ZVp5eElFY0J2RXB1TGwrbWV1SjdIQnBhMnplRnM3a2x4SFZPKy9ab1RpMWRRS3VKT2Jr
eVlMMWFuL1AyejV0c1FlNFROCkNTa2tRQUlrSUFTb2dQQXhJSUc0RThCLzNHMmI3TDJzUmdXa1h2
YXI2TnhtNW1LemJPaDNJVGg1YWxnL2szME02eFBhU29NRWJRd1gKbGxuU1dRUmFRYnFUUHNMSzlC
K1cyTWtoYzl2STVBY0xFNFVFU0tEcUNWaWN5cXVlRFFHUVFEd0lJSGpURm9lQXQ3bEJxVlhqTVpM
Uwo5Z0tiTXByZTVtTTMrUEdINGR2RHd0dms1Z1lGRUcwOXVocSt2amlXUkJ5UkxWNW1ldFMrZUl6
am1BcnQwNHlNMVNZdHNyRmxxV1gzCjgwcnRmTGJVdFFiWE4zeEQwbk5ic2xRRjE1QmZDVmhCVEJZ
ay9IM2Q4YlJTMXo3SXIwNldKZ0VTU0IwQktpQ3BtMUlPS0hVRWJFSEQKR0d5UU8wbnFnRHdaa00z
OTZySDRvNit0aEI4NS9OZFhaWUZvVXZUUVZwSVZFTVN5N0huSnpxT2NpMVI3VDZLL2ltQjdtOWpp
Wkd6MwoyYTVoRGt6eFNyYjdpcjFtUzE1UmJOMSs5MlBUejhmM1JObmQ2WGRWS2FRNnhvYVAxV2kx
OVNmQ3N5UlFsUVRvZ2xXVjA4NUJKNHBBClVOclVNSEVPaVJwd2lNNWlnZGphWXk2WXJ5c1JMQ1lU
Rm9zSjJvcGlVV29lUWVtdXdJSXo4THE0dmxqZTZsZVQ5UU5rZ3hTUUlLdGoKNldZbm5UWGRsNHhZ
dHJncXhvS2tjOTQ1S2hMSWd3QVZrRHhnc1NnSlZJUkFrQVVrYUhmbmluUTY0a1p0MW85RnhIU0lM
M3ErRXFTMAoyTnJNdDYxeWxXK1ZXSWFqM3pHN2w2RWZ5QlptQ3g0dVYxL0wyUTVjRm0wTFpQU2xW
aXdXbE1JSUxJaGI2T2d0ODcxSWhnQkxDSVVFClNLQnFDVkFCcWRxcDU4QVRReURJQWxLTkNranZi
dlAwQmUzOVlib1RXYk5zTEcxdG11cXMxSG00dU94NVFha2piOWt0SDFBK2Jud3EKN2pDV0lQeEtq
U0hTZGlYcldWRGNWTGxkbHlJZGJ3VXF4KzdvcXhZM1NGcEJLakFwYkpJRTRrT0FNU0R4bVF2MmhB
VDhDUVJaUUtyTgpCUXNwaVJ0Yi9WbmhiS0VLQ0JiajhGM3ZHL0N2RzIyaTdVS3NLLzQxMnM4Mnlw
NEpOamN6QlBSaVh3OHNsT3NheFVXc3cvM2dIaHNmCnIxVkgrZmhFZ3ZYdmUyZXE2eHR1V0xiZHVh
bUFGUGM4SUx2YzhIV2x0aDd5cndmV09TajFoZjU5OWErVlowbUFCQkpDZ0FwSVFpYUsKM2F4aUF2
RGhMNmNndGUyZUY2TnBFYnRRMy91eXVMcHQrM0xNVFNpRmZSNEtGYmhobVJRUTFBazNySElwSUR0
a3p3UjhvcEJWV0Q0KwpscmlYQjFIVW5vdzZnM1o4cjZrcjdUaGdjYkZaQkVyYjJucHRsWHhCOGZD
aVV0aUEwQlI4MzM5Y2xQNkFmWGpXUjhJakVpQ0JGQkdnCkFwS2l5ZVJRVWtyQTVoYUVJZVB0ZHlr
Rm1hQWFXMHBaNDNwZHhmWVZmYk9sa2kzMmJTb3k4eXpPbWkwSTJCVzk5bFJsRnBMckZJczcKbXBF
c1JmZE9Nd3RSa0dVeFNFSEpkeGJ1Q3ZOaW44OTgyNngwZVNnL1E1Zk5HeEEydFl1Q0loWkhXRW9v
SkVBQ1ZVV2d6SzlXcTRvdApCMHNDcFNFUXBJQUV4WWlVcGhmeHFLV3IzL3cyRlVIRnBWamcyZXJB
bTF3b0lVbVVoV214ZW9qTDFhVzNxWHhnL216dVY3aU96R2lVCjRna01YYlZuSGR0KzFKeit1dmpX
V1FNSmtFQk1DVkFCaWVuRXNGc2trQ0d3SXE0Yk5xa21CY1NXaWNxelh0aFloYmsyS201WU5yRzUK
Z05udXE5UTFLTEIzdmxEcS9BOWRkNWRLOVNOTzdjS3QwZVFXNVBXVENvaEhvcmh2V0pJR3hSWExK
QTFpYmQxeTBIU1Y1MG1BQkZKSwpnQXBJU2llV3cwb1JnU0FMU0xGdVRVbEJWUzg3d2lNK3hTUkJh
WFJOOStXZW41OVVhdFlTUjRJZDA5R1hwRWl0L0RPUG5iK0QwczRtClpUeWw2R2NZOXlzcUlLVWc3
ZGFCM2RnWFpzejFiVDBjckJDYTcrWVZFaUNCQkJLZ0FwTEFTV09YcTR4QVVMclFNQm1QMG9Dc2Q1
ZFMKeVB6a0p3anVSUWFyVW9uTkRRdHZ6NU9Va2hlWnNnNTgxUnpYVWlwbVNhb255UDFxVHBSUVN1
a0lJT1BhUTBuTGF4SlljYmNkTVYzbAplUklnZ1JRU1lCQjZDaWVWUTBvWmdTQUxTRXVYbTQ2MVZF
R3plUE5yc3dBRTRVVi9USXBDMEwyMjZ6YjNLL1I1dTJUVUtaVTBOTmxyClFsOGVYYkdYS2ZicXZU
UGhzMVFoMVNtQ2VVMkNCVGVVa0V2dlNBQzl1TVJVdXpSSmltT2JJSnNhcGJRRTROb0lTd2YrZmZD
VExRZmsKNzFSQXZJamZmVHhIQWlTUVNBSlVRQkk1YmV4MFZSR0FCUVFMYkpQUE9oYjc3WnVVbWh3
cURSYWttYjM0NDhMcmV2Wlh4VVdweEptNQpzR2l4N1ltQkJmYldNdnFSWXcrRDVrNmw0SzRWbFdB
ZmhYblpVVHFNM0pITVhJMlNVUWp1WVNZQncvMnZLWFgxQXlraEFmdlZMRWhtCllCTXFJRFpZbUF5
MkFBQWdBRWxFUVZRNmhWKzdmMDRVNFRmODc0ZWxidnN4aVZlU1o1bENBaVNRZWdKMHdVcjlGSE9B
cVNBd05Xd2YKUm51Zi9YclNyOGJSNWNsbWtTazNiOFIzM1Bnb1dHRkJETTN1NTh2ZHUzaTFCNFc5
YTd1OVQ2VlM1dTJ0Vk45VjdEc3pMZkZJSnNHZQpJVUhXS2RPOVBFOENKSkFvQWxSQUVqVmQ3R3pW
RXBnS3NHNjBiMDQzbWpncUlISHJFNnhrMThTNkVlU3loNDBXNFFwVHJZTGQ3RzBXCk9xUXJqdEt5
VmEzY3ZYSGZQK3NkYmZ4R2ZGVi9SSnR2Ym15TlowaUFCQ3BJZ0FwSUJlR3phUklJVFdCUzNLSnNB
Z1drTWNDdjNYWi8Kbks5aHdSakhRSHYwQ1gyTGt6aDdmWHdzSGxZUzlHdVRIVS9MZmlZN2JTWFNl
eTFvSDVkeGVVdFBpWTdBdEZoekp3Yk45ZmRJc2dsVApuSWo1TGw0aEFSSklHQUVxSUFtYk1IYTNT
Z25namV5aXhBU1lCRzRsQ0VST284UjUzNDA0dVdGNWM0OFluaUEvZWp3disxNVdxcTNYCnU2czZ2
aEZuRUtSNDJUS2dWUWVsNkVmNVFLd2dwclRRZURhaElGTklnQVJTVFlBS1NLcW5sNE5MRllFZ042
ek5leVZRdlRGVlExYTEKZFVyMTdEQ1BDWXVZcUQvbTF0MWQwZEhIdU1uSVRhV0dBckowb2QvN0pT
QTRyWll6dnpuWjlhenNnRzdKY0laWXE5bkhmbmZ5WENrSgpJTXVlTFcwMlluVFM3bFphU3A2c2l3
UVNTRUJlQjFGSWdBUVNRV0Q4dmxLYjlwcTdpcmU3ZmZ2dHV3NmI3NDduRmJqTG1MSi9vY2VYCmZo
TDlnaEZCMitEcUorZ2IraGpIdCtiM3ZwUk1YUjMyZ0dzdlBlOWxTYytMR0pJMFM4ZFdlNnBpakgz
b2Nwb0p4R3RzRHlRakZsNHUKSU83RFQyQUZ1ZnhUdnlzOFJ3SWtrQUlDaHIvNUtSZ1poMEFDYVNN
QTMvU2cvVG13bVJjV25Xa1JtL3ZWdkFRTGwrTnRkWkJ5WWV0agpwZWZoeGlkS0JhV1ViWkYwd2dP
dlI3TjNTNlhINzdVUDVYenZpOTR2LzIvODNacDQ2SCtOWjB0UEFQRktJN2ZNOWNJQ0VwU3R6SHcz
CnI1QUFDY1NjQUJXUW1FOFF1MGNDV1FSc3V3bWpZSjBzdEFaa3I0YzR1Z1ZsRFNURUQ3eWQ3NVMz
MWlZSlVneE05K1Y3Zm5wRTRtOW0KelhlaGovWFMxemdLTmgxRVpxeWxlWHZ2c0gvSTdvQUZ1cjJH
R0YrVm1JSTlMOWdUR2F5dUtIWHJSSXpIa05LdVBid2dHMk1LZTVNdwpJNWFKRE0rVFFPSUpVQUZK
L0JSeUFGVkZ3TEdDQlBpb0k0UE1ydWVTandYWmNCQ1FhcEp5S1NCbzM5WVcraGkzbEx3Nk15aFAx
eit5CkwvUlFIakZFMjQ3cWR5Yi9HQzV5Qjc4V1BEOUlEUnRrS1VvK2pmaU5BSnR0UHJwbTdoYzIv
SXp6M3kxenozbUZCRWdnZ0FBVmtBQkEKdkV3Q3NTUHc0SHh3bDdDaFY5TDNlckJsbUlMcjFjSlVN
SWRTbGJBcElHakQxdGRTOWFHWWVtWkdsYnI5ZVhBTi9jZkZMMThVdnpRSQpOclE3OHFiZGlvWnhZ
dFBCUjFmVE1PSmtqbUh3a2ozK0NNK2tLVTRrbVNObXIwbUFCSVFBRlJBK0JpU1FOQUx3VTBlcTFT
RForWXk0CjFZanJpYzJLRUZSSHBhN0RpdFBhWTI0OVNDRXczMW5ZRmJ3ZG41TlV5Q2JCbTlwbWlh
V0lzNEFaWEY1c2dtZGw3MHZKejBDRTJJRWoKYndYUENUWnR2UFdaalFpdlJVMWdSZVpnMEJMODM5
UnV6NFFYZGY5WVB3bVFRQ1FFcUlCRWdwV1Zra0RFQkJCY3ZEQVQzQWgydlQ3dwpkWHNtcWVCYXls
L0M1bmFCdEx0amQ4dmZweUNsSis1V0VCQ0Q5U3lJblpPZVY0TFNzZkJMbXJUM0tYWDRXL0xNZjFY
aWNpenBkcjF4CjNUa3A4VEhpQmtTcExJRkhWK3h4U3JaTWVKWHRPVnNuQVJJb2tBQVZrQUxCOFRZ
U3FDaUI1UVUzdURoTTZsUUVHQi83T1RlVmJEbXMKSWFWb3c2YUFZQ2ZsU2l3YWd4UVFXNThyK3JE
a05JNDMvak5qT1NkemZtTHhqa1Y4RXZhVlFSL2hOblpRRk8zRDN3eG52WUVTZSsrTQpmUytLSENU
OEdTRUJCS0lIV2VjaWJKNVZrd0FKbEorQXBNeWhrQUFKSkpJQWRrZS8rYW03bVZ6UW9yK3hSZHl4
WkQ4THhJVWdrOWFvCnVPTW9XWVNWU3VBdWhRVTRGb0xGdnEzc0VJV3BzZFhjc3lCRndIeG5jVmNX
eGVJMExiRVU3WnY4NjBHZjBmY3c3bkgrTlpUbjdKb3MKOXE1LzZMb28yVGdqbmZOK3NZUmNmVThl
bGRYeTlDMm9GVHpuMkRnUjhSMTQ1dUJxMVNiekVmVDg2L1d1U0dZdy9MMlprTFRXbFBnUQpHTG5o
L3Z1RXVhV1FBQW1rbmdBVmtOUlBNUWVZYWdLSUI3bDNXcW1kWHdtM0NNTi83bnRmZHNzaitCWWY3
TEJ1U3pPYkJWQVdnTmhKCnVrRVcyMjI5c3VBV2x4Zms2MGZLM0ZLSnpaVnBWUmJDdGgyVVM5VUhV
ejFRZmt3S0NPNUIzK091Z0tDZlNNdDdUWlFRdUNzaGRiTkoKTUw5N0pEMXZxVlBVUWxtMXhmakFE
UXg3ZHpqZlQ0NmhMT0dUajdLUk95NjRMVUw1cWtUR0t3UlRiem1ZMjZQb2YrT1pUVUtRUGF4Uwoy
Snh3M3l2Uk0yRUxKRUFDRlNkZytaK240bjFqQjBpQUJNSVFRQnBMYk1xM1R4U0xNSDd2cUxOZTNG
WjZ4VnFCRHdRTE15eEs0ZHJsCmZmRFdHL3Rid0hvQ0JRTWYvQzVtQWVpMlp2NFRDODd1bmVicms2
SndoWEU3TTlkUTNKWEhFbnV5eTZMc1lWZjAybFBCS1crTDYwVnAKN3A0YkY4WGkwK0JOQ0tGVTRm
a0kyb01tbjE3QmNsSHVUZWFtaHBXNjhiSDdmT2ZUMTFLVlJVeU42TzVsRit4amt4U0Jzb1ROVkpH
RQpna0lDSkpCcUFsUkFVajI5SEZ6VkVKZ2NWT3JDajJVeCtXbzRIL2hjTUxDTWxNUDFBUmx2YklJ
RnZPMk5mS1hjcjd3K1F6bUQxYWhyCm0zY20reHZ1WnhoRHBmdVozU3Z6TCt3cmd6MHdrREhOSnYz
SFJBa1JKWGZzdHExVVBLL0I1UW9XQU1RWXhNV1ZMSjZrNHRFclBJK0kKUDZLUUFBbWttZ0FWa0ZS
UEx3ZFhWUVFRbUgzNVhhWGc2b0czaUZGYUt2SUJpd0JUV0E2R3J3Y0hQL2ZLMjNhVFlDRTVMaGFR
U2d1VQpDNU1DZ3I1aERFbFJRTkRmb2N1U3JsYmlQYkIzakUzZ2lnVlhQU1FCU0lMZ2VSbSs1bzRQ
NlhZcHlTQUF0MUpZYmVEYVNTRUJFa2d0CkFTb2dxWjFhRHF3NkNheTVmdFNqdHlTZzg1QWJrd0Jm
K2tvSTlzMFl2YW5VaVBRbHlQS0Ivc0hGcTNPcnVhZmo5K1VOdGlnemxSYjAKQTBvVjNNWDhCR1BB
V09EU2xoUzVJMjVqY0JGQ3pJZEphbXZkb1BSTDc0ZzFaTXBVcXZMbjhkeU4zM04zMkliRmlwSThB
ckNDSUQ2SgpRZ0lra0ZvQ0ZWcVpwSlluQjBZQzhTQUFkeGtzS3UrZmM5UHZiam5nTG9xajd0MnN4
QlZnZ1k1QWNXVHB5a2VRUWN0bXRZbUxWV0ZWCjNxd2pnNUpweDNDTW9VZUNyTEczUVZJRXJrblhQ
MUxxNkZ1dUltTHFOMktIRG41VktTZ2hjVm5jSXpFQmRucUhPeG5tQmM4K0pka0UKWUFHQkphVGNj
VUxKcHNiZWswQ2lDRkFCU2RSMHNiTWtrQ2NCWjVmaGk2NGJDdjR6aDFzRE5tdkR6dDIyeFg3WVpy
QUlSV3BhTEJpZwplQlN6K051MDE5enFrclNEMkl1NENKUWhrd0tDUG01S21BS0NQdU5adWZhQm01
N1hsa29abGhLazU3M3lzMmhpS3BBTkNSWW1LSHJPCnR4ekQ4b1ZqSkNCQXdnVllZUENzNGRqSjRD
YjNVTkpGQUZhUVRvbTFLc1cvVStraXc5R1FRQ29JMUt5SnBHSWtIRVRWRUxqeCsvS0cKbVZJY0Fi
aGxZZjhFS0NUSU9JTTMyL2hnVXpkODYrNUZXUGpCaHg0TFZDZ2NjSEhCRzJkc1psZU13bEhjQ0hn
M0NaQUFDWkNBRUJqNApJeTdqK0NBa2p3QXRJTW1iTS9hWUJJb25nTGZMMlA4REh6K0JBb0szNEFq
a1JWa0tDWkFBQ1pBQUNaQUFDWlNJQUJXUUVvRmtOU1NRCktnS2U2MHVxQnNYQmtBQUprQUFKa0FB
SnhJR0FwRFdoa0FBSmtBQUprQUFKa0FBSmtBQUprRUI1Q0ZBQktROW50a0lDSkVBQ0pFQUMKSkVB
Q0pFQUNKQ0FFcUlEd01TQUJFaUFCRWlBQkVpQUJFaUFCRWlnYkFTb2daVVBOaGtpQUJFaUFCRWlB
QkVpQUJFaUFCS2lBOEJrZwpBUklnQVJJZ0FSSWdBUklnQVJJb0d3RXFJR1ZEellaSWdBUklnQVJJ
Z0FSSWdBUklnQVNvZ1BBWklBRVNJQUVTSUFFU0lBRVNJQUVTCktCc0JLaUJsUTgyR1NJQUVTSUFF
U0lBRVNJQUVTSUFFcUlEd0dTQUJFaUFCRWlBQkVpQUJFaUFCRWlnYkFTb2daVVBOaGtpQUJFaUEK
QkVpQUJFaUFCRWlBQktpQThCa2dBUklnQVJJZ0FSSWdBUklnQVJJb0d3RXFJR1ZEellaSWdBUkln
QVJJZ0FSSWdBUklnQVNvZ1BBWgpJQUVTSUFFU0lBRVNJQUVTSUFFU0tCc0JLaUJsUTgyR1NJQUVT
SUFFU0lBRVNJQUVTSUFFNm9tQUJFaUFCRWlnK2doTTFkZXEwZVk2CjliaXhYczNLOGJ4OEZ1cHEx
Rkp0alZxdHdVZXBWVDhzY28xQ0FpUVFId0ovR0ordXNDY2tFSm9BRlpEUXFGaVFCRWlBQkpKSEFJ
ckcKdmJZR1VUYnExVlJqblpxcnExVXIwQ0dvU0NSdk10bGpFaUFCRWtnSkFTb2dLWmxJRG9NRVNJ
QUVZTEY0ME5xZzdyUTNxc2ROb215SQo4ckZHUllNUEJnbVFBQW1RUU13SVVBR0oyWVN3T3lSQUFp
U1FENEhIamJYcWFsZXpldFRTSU5ZTk1XMVE0Y2dISDh1U0FBbVFBQWxVCmdBQVZrQXBBWjVNa1FB
SWtVQXlCaHkzMTZySW9IV1BpVnJVQ2hZTmhHY1hnNUwwa1FBSWtRQUpsSmtBRnBNekEyUndKa0FB
SkZFSmcKVEN3ZDUzcGIxYkFvSGFzU0tFNGhBUklnQVJJZ2dhUVNvQUtTMUpsanYwbUFCRkpQWUZs
R2VMNjNXZDNxYUZLTFVEcm9YcFg2T2VjQQpTWUFFU0tBYUNGQUJxWVpaNWhoSmdBUVNSV0JTZ3Nl
LzJOd3FjUjN5VHpTVmprVE5IVHRMQWlSQUFpUVFUSUFLU0RBamxpQUJFaUNCCnNoQVlsc3hWSi92
YTFGU0Q3QkViUThWajY5Yjk2c0NCbDUrd1dGTW5UbnhmTFMwdGxJVU5HMGtIZ2JxNkJ2WHFxNzho
ZzNIZENHL2MKT0trZVByeVNqc0Z4RkNSQUFxRUpVQUVKallvRlNZQUVTQ0FhQWtNUzEzR3lyMVhO
aU9Valg4V2p2cjVSSFRyMGVqUWRrMXJ2M2oybgpwcVpHblBwN2UzZW9scFlPNTNodWJqTDF5a2RQ
VDcvYXZ2MlFrZTNhMnFwYVhWMVJLeXRMYW41K1drMU1QTXF3TXQ1VTVSZTZ1cmJLCk05U1pvVEF6
OHpoenpBTVNJSUhxSVVBRnBIcm1taU1sQVJLSUdRR2swUDEwUzN0UkZvK3VyaTJxdjkrOFNDNTJ5
RGR2bnN4VTBkMjkKTFhNOFBqNlVPVTdyQVN3KytiS0ZFZ0tsYlhEd3VtQlpTeXVhZ3NlbFAwTXJL
OHNsVjloZ29XdHQ3WEw2TnprNXJHN2RPbDF3WDNragpDWkJBZEFTb2dFVEhsaldUQUFtUWdDK0JS
VEYwZkNTS3gzQUpZanp3UmprcVdWaVlWWE56VTA3MURRM05xcTJ0TzlQVStQaGc1aml0CkI5M2Qr
Yk9GUXRqVjlhYkNRdnZTcFEvU2lxYmdjZWxNb2F5dHJaVk9TYXVwcVZXN2RqMmw2dXJjcGMzMDlG
akIvZVNOSkVBQzBSS2cKQWhJdFg5Wk9BaVJBQWxrRXZ1eHBWbGU3bTB1MlEvbk16TGk2Y2VOVVZo
dCtQL2J1ZlZiVjF0WTVsK0F1OU9CQnNOODkzS3c4eVZWMApKaWJTYlFHQmExdGJXNDgzZkFXRks1
Y1p5alExdFRqbE5tM2FKZDV6NittUmQrNDhKc3JicExwOSsweW1qbW8vQUI4b2FKNU1USlJXCmll
M28ySnhSUHRCR05TakpIa3QrazBEU0NGQUJTZHFNc2I4a1FBS0pKQUIzcXcrMmRhaDV4SG1VVUlh
RzRPcGpsNmFtTmpVdzhIeW0KME1qSVhWRmFQcy84RG5PZ3U4NHNMeStxdEw5ZGhzS2xLeFJEUXpk
RUFibGtSTlhhMnEyZWVlYmJxcjI5TjFPbXYvOElGWkFNRFNWcwpOb21DMEpBNVUybzNQdjBaUlh4
TzJwWGtERWdla0VBQ0NaVDJmOElFQW1DWFNZQUVTQ0JxQXA5SmdQbmJPenBMcm55RTdiZnU5b0o3
CkNubnpyTmRSNm9WajJIR1VzNXcrWHJRYjlEWjlkblpjZmZubGo3SmNpdUN5VmwvZlZNNXV4N3F0
YkFWaHJlUUtnbDcvMU5TWUpBZkEKVGpvVUVpQ0JPQktnQlNTT3M4SStrUUFKcElMQXRGZzdmdHBm
ZXF0SHZuRDBoUm51elZlQmdHOTlaMmRmcGxsL0JhWkczbkQzeUlLNwpVYzNPVHFyRnhkbE0rVUlQ
MEc1emM1dTRPYlZKRlRYaTBqU2hFSmRTRHVucVdnKzRYMTVla21EcDBjQm00WEtGanhjRWpSdHdQ
RG41CktQQmV2UUFZTmplM3E4YkdGc211TmVQVWlUZjZ4VXVOMU5uczFJdTZ3SEpwYWI3NGFwL1Uw
TkRRSlAzdVVQaGVXSmh4TW9QcFNvRCsKSENMN0ZTeHBwUlJkYVF4U0dNTzBHOTA4aEdtZFpVZ2cz
UVNvZ0tSN2ZqazZFaUNCQ2hING9yZEZYZXVTdDk5YVhFQ0Z1aUorOSt1TAphVGV3ZkQyMkkweWZv
SHg0OFNNbzd5a3dXS0R0M3YyTTZ1M3RWN24rOTFpQVhyLyt1Ymd0WFE3VGhGYW1SbTNidGw5dDJU
S2dObTNhCm1lWFRqMEpZMEQ1Ky9FQmR1ZktKS0RyajJuMmxPNFRpbzhjcXVBcEV1R0RwM0gxUjlE
Z2FXdzhSNUkrVXY5dTNIeFNXbTdLS3JxNnUKeWxnbnhKM3J0T3laY1RYcm11a0h4ckJ0MndGbkhI
QjlhbTN0Rk1XZ09jdXREUGNpQ0J4MUR3NWVkZXBHZkZBK2dtY0EvZDZ4NDBpVworNWxYQjVJWXdI
WHQvdjNMRXBpL0h0UmZDZ1VCYmZUM0gxYklWb2J4UW1IekJNL09jOC85Z3ZjejY5c2JhOWJKSno5
S1BROStiZkFjCkNaQ0FVbFJBK0JTUUFBbVFRSWtKZkxTbFRkMXZFMS8zR0NnZnlBalUwYkVlbDFE
SXdrOS9jNDNGTU5LYklzaDZZT0JGNTQyNkh6NVkKTFk0ZCs0YWptRnkrL0tGZmtRM25FSGR4NU1o
WE55ekE5WUlZeitiTnUwWHAyZW5Fc1VTUlpoVUtnSmRKQ1cySFpRWWxUVmNlRmhmbgpRMWtZb093
ODg4eDN4ZExUcWc4MWMxeGJXK3RZbDQ0Zi81WXM5ZytyQ3hmZWRhd0xtUUkrQitqSDhlUGY5TG1T
ZlFweExuQVYyNy8vCkpiVjM3M1BxOU9rZk9ncGVkaW4vWHdpOFAzYnM2MDhzVlA1bHNHOE02dDYz
N3dWUll0ZTl2c015OWE5MS9TeVVEeWdidVlJeDZWbmIKOU92MzdsM1FmMmFPbzVpSFRPVThJQUVT
eUNKQUJTUUxCMytRQUFtUVFPRUU0RkR5NDEyZGFyYkJ6VFpWZUUybHU5TU5wbDVmK0JVUwptS3Uv
dVliYnpFc3YvZXFHdDkxNDgxOWYzK0M4aWRaN0QwWGwwYU1ic3FoOXFKL2VjSXh5aHcrL2tYbERq
dzMra0tZVnJqcHdRNElyCkZxd3NubVVDaTFrc2JMR1FMZFZpMXV0VWJzYXZzUFhuV29xOERSeTll
djIrRWFoKzVNZ2JXUlltQlBqREtnRzNNN2kxWWVNK0x5QWUKMXFhbm5ucExmZjc1WC9wVmx6a0hW
cmtDcHJCSXdBcUd1WUs3RkZ5eVBJSFM5ZXl6MzFXZmZQSVhnUXJPd01BTG9vQys0TjNxZk1NNgpC
UXNLbmdYWGRhNDE4enpveWdjS2UxYTByQW9LK09FOUQvbmM2dmQzSUtwNXlLZGZMRXNDMVVTQUNr
ZzF6VGJIU2dJa0VCbUJLWW4zCmVIdG5wMXF1WFUvRkdsbGplVlJjNkdKYWIwSjM0WEpqQ0NTTnNM
anVEQS9mVXFPamQ5WFkyQU1uVHNGTnM3ck5zWHpBNVFlQ2M1czMKNzdFcUlIdjNma1ZoQXprSTZr
Vm1yMnZYVHZndWdyZHMyZWNzd0xHZ1JkMndzbnowMFo4Njk1YnFEOTNpNDJaVENoZkRzV1BIMGF3
dQozTHhwVG8rTXZrUGhndUxsQ1Z6TExsLythRU9Hc1o2ZTdjNDR2UjNFb1JEaVB0T2JmTlRYMmJu
WlVUUkdSdTdJUE4yV09rZDllWFozCmIzY3NKZDRPOTNDcGduWEpsdkZyMzc3bnNwUVAxOTN1cE9Q
R0JTWEhFN2hGd1RvQjk2eE5tM1puTENCdWZJaTd2NHhYdHRCdmIrNWYKZlBGWE1yRTNqeDdka2ox
WTNqZFd1Ymc0bDdrVzlUeGtHdUlCQ1pCQUZvSDExMkpacC9tREJFaUFCRWdnTElIaHBqcjE5Mkw1
aUp2eQpnZjdyaTJtOG9RNFRUSzJQRzBIVStsdHlYSVBDY2VMRTk5U1pNejhXMy81TGp2S0I4MUFl
eHNjZnlrN2daL0V6SS9wK0dwbVRUdzZnCm5Pakt4L256NzZwejU5N3hYU3pqbGtlUGJxbzdkODVr
cW5INzUrKzZsQ21VNTRIT0ROYUlsWldsd0JwMjczN2FpZC93Q2tLSnNsbE8Kb0t6b3lnY1VoUysr
K01FRzVRUDF3WHIweFJjL1ZIQi84eVRYK3VDZDk3NXYzdnhDdmYvKy82TXVYbnhQall6Y052TEVm
R0VlZGRFVApEdWpuY1F3MnNEeDVBb3ZINTUvL2xhT3c2TW9IcmtONXc3aVFIVXlQMXltVjlRTnRR
SmxBdTU1eWhuTlE1SERlOUVFWlQ2S2VCNjhkCmZwTUFDV1FUb0FLU3pZTy9TSUFFU0NBdkFvT3lt
L203a3VscVRkNW94MCt5TjM1RE1IVysyWlQweFRqR2g4WHFxVk4vWTFWa29DUkEKR2ZFRTdqNStn
amlSNDhlL2tibDA5ZXFuemx2MHpBbkRBZmJrMEFWdVNxVVN1Q1hwc1JqQmkrVWFDWVErb2c0ZWZD
WFRCU3pLRVNSdgpFcmc2N2R2M2ZPWXkzdGhqa1o2N2dNOFVrQU1zNEI4K1hOODhFZ0hYQ0pnMlNU
N0I1SEFWMDdOVndTcGdFbjJjY09lQzhvRnZtOENxCm9pdWhOc1hNVm8vcG11dG11Tjduc1BXWFl4
NU1mZVo1RXFoMkFsUkFxdjBKNFBoSmdBUUtKbkJmbEkvM3Q3WEhJdGpjYnhEWUZBK0wKUDArQ0Y5
TmV5ZlZ2M1lVTGkxb29GMEdDR0FOOU1ZM2Zmb0kzNmQ0aUdvSHR1bVhEcjd4M3pvMlA4SDRwYXhE
MGVxbHdSM3E4Qys3dwpXOHcyTnJZNjhTaXdZTHorK204N2dkaHdONExBWXZMWlozL3BwS0YxVHZq
OHNXZlBzeGtsQnd0L1dDbkNLSWFJaWRIRkZHU3Rsd2x6CmpMN3JNUnFtekYxOWZYc2xCc2ZOWkFV
RjgvVHBIeGd0SzNxN2lOUFFsUm8vcG5yNWZJOTFKVGxzeW1TMEViZDV5SGZjTEU4Q1NTYkEKR0pB
a3p4NzdUZ0lrVURFQ1E4MzE2cU1ZS3g4QW95L004THVRaFo5ZVI5ajdvZlRvV2FUOGRrM0hQaGRJ
RSt2Sm5UdlpibHZlZWI5dgpiN0h2WFZ0ZVh2QU9pLzdXeDR2S0VHT0NURStlMU5UVVpTM1d2ZlA0
aGlVREdhcHMrMXZBY29IVXhaNGdKV3pZdlRoeUZRTzRIWVdkCkU3U0g4dUR1ZnRvYzViU3VydEZS
aG5TbXVZb083b1VDNGJuSzRmZlkyRDFKRUJBdURiSWVRd1IzTnNTamxGSjBwZEVOTUYrM3ZwbmEK
cWVROG1QckU4eVJRVFFTb2dGVFRiSE9zSkVBQ0pTRXcybGlyM3Q4ZVg4dUhOMGg5WVlZMzFuN1pm
N3l5ZnQrd1R1aHYyY011ZHZWVQp0S2pYN3o3NDN1dHYzWkhTdGJkM2gxODNOcHpUclRxNE9EZVgz
OTRWR3lyVVR1UXFJTG9pcFJYTEhNTFNnNzA1b0VBaFkxZVE3TnIxCmxKT0JDdVV3SjdkdmgxZTg5
TDFZY1AvcXFuMm5ieWdjVVBJd0psZ2hjcm1oamx4Qm5JbWZBb0s5UHZSbjRjNmRjN20zR24vclRG
RzMKN3A1bnZDbmtCU2hPbloxYk1xWDluclhNUmUyZ25QT2dOY3RERWlDQkp3U29nUEJSSUFFU0lJ
RThDTXlLcDgyNy9aMHhqZm5JSG9pKwo4Q3RrNTJuUDNjYXJOYXdMbDc0Z2hHdVIzMDdndVhzM1lB
TytRZ1FMNWpBTC96QjFZNEd1eHlxZ2JqL1hLRjBwUVlBNFhLakNpcTVrCndlMU1EODRPcXNQTFZP
V1Z3ejRqZmdMK3NGWWdlNWJ1K3VSWE52Y2NyQk4raWcyeWozbUNuZTZSL1N5TW9IMDlWVzdZWnlo
TTNTaFQKNko0dDVaaUhzR05nT1JLb1JnSlVRS3B4MWpsbUVpQ0JnZ2pnZmZPUGQzV3AxWmlsMnZV
YkRBSzg0V3JqU2RnM3cxNTVmT3NXRkxnVgpoWFdkMGUrYm1rSVdxZXczOVZqbzYvdFV3SXFneDR6
b2ZRZzZoaHVRbjVJUWRKL2Y5ZHhZaGF0WFA1YU1YdWV6aXVLTis4c3YvN3F6CjhNVUZLRkxZalR2
TWp1OVFYUFJ4NTdwVVpUWGs4d01COHJyNEJab2ZQUGlxdUhnOXZVSHhnTEtDN0ZBSU9NZXhseUZx
YVdsT3ZmamkKcjJaaVV2d1ZoSm9zZHo0b1RtRUZ1N0RyQ2xzaHo2R3RMVjNKTmltN3VmZVhZeDV5
MitSdkVpQ0JiQUpVUUxKNThCY0prQUFKR0FrZwoyOVZpWFRKeWQrZ0xNd3pJZjJGcEhLcHpRYS9E
enkzSGRMZnU4KyszNElScmtQNW0vdEtsRDBJdDRFM3RsZXE4M20vVTZjY01pOXdMCkYzNG1tekgr
V3NhRjdOQ2gxOFFpY004YWVJNzZNRzdkN1F5V2hIeEV0NEFnc0Q5WGdUbDA2SFZSUHA3S1ZBbWxE
dWw0c1YrTFh4d08KQ2tKUnpjNzZOWmk1M3p0QWxqSGRmV3QrM3A3MXlyc1AzL296VklnYm9GNlgz
N0ZlUDFKTTV5cTdmdmRFUFE5K2JmSWNDWkJBTm9GawovRSthM1dmK0lnRVNJSUd5RXpqVDA2d2VT
K0I1VWtTM1FxRFBFeE1iRjVhMnNiaSs5WDJaSW42S1JPYWlkcEM3YjRqZmZibjdpcGl5ClpHblZs
dVZRWDh6YXNpbkJpbkQ3OXBlWlBtRnhmdlRvZXFCNjVrTE9nWmZ4eXp1ZHEwQjQ1LzIrRWYvUjA5
T2Z1WlRMZGZQbTNWbksKQnl4REowNThYeFNRVTBibEE1WHBZOFp2ditjRVdiOTB5VWR4MHVzUHU2
ZUszbGJRc2U0bTZLY3crdDBmNVR6NHRjZHpKRUFDR3dsUQpBZG5JaEdkSWdBUklJSXNBTmhxODNH
M2VjeUdyY0V4KzZHL3ozYmZsNGQ5YVl3allqRTRQZXM1ZDhKcUdxUzg0VWNadlFZdk1TN28wCk5E
VHBQeXR5N01ZcXJDdGNidHlLT1p2U2pSc25zMkpQTm0vZTViaGkyVHF2V3hGUWJta3BmUFl1QklI
cmlsdnVMdWg2WmkxWUdrNmUKL0d1cjR1SDFVNTh2N09maHB3enE3ZUsrL0N3Z2J0cGUzSmR2RWdU
Y1l4TllNblRyalYrc2tkLzlVYzZEWDNzOFJ3SWtzSkVBRlpDTgpUSGlHQkVpQUJESUVzUGYwaHpG
UHQ1dnA3Sk9EdXJvR2lUWG96WndPcXp4a2JwQURmV0dLWU95d2l6djlqYlJwUVp2NzVoLzdsVlJh
CjNGaUY5UTBUZzVqQkZldjgrWjlsWlhTQ0t4WmNta3lTdTdodmFWbVAwVEhkNDUxSFhJY25JeU4z
blhnTzd6Zm11N2QzM1RxQ3VVS00KUnhqUjU5bWtJT2lLS09yTVhjQ2Iya0VNa3M0amlLbXBIdE41
UGJnZFpVeHVacm4zUnpVUHVlM3dOd21RZ0prQUZSQXpHMTRoQVJJZwpBZlh4bGphMWxKQzREMis2
M0dEcTlYL2VUUXRMcjd6ZnQrN0NoZUR6TUw3MXFFZGYwSm9Xbk1oYXBRZU91eG14MW5leTl1dFAx
T2YwCmZxT3RNTzQ4V09qcis1ZGdZYTd2R1pMYjU5eU1WM3JHcmR5eSttOEV1WHNwY0dIZHVIYnRV
LzF5VnJJQlhJQ0NFa2JRWDEzNU04MVgKN2s3bnNEeUVrZTd1N1ZuRlRQVm5GY3JqUnk2L1hNWENW
RlZVODJCcWorZEpnQVEyRWxqL0gycmpOWjRoQVJJZ2dhb21nUDArSHJTdAp2eFZQQ295Tmkrbjg0
ajh3VHQyRks4eGlIUGZrN2h0aVVud1FISzN2Wm83TVVIdjNQb3NxUWdrV3pVOC8vVzJGbmJsTEpi
ckNsVSt3CjlQWHJuMldOQmZ1WjlQY2Y4ZTBXTW9ucGkyUzRWZWtXQXIrYm9Iem84U1hZdUREM1RY
K3VSU0kzeHNHdjNxMWI5NnRYWHZtTnJHUUEKSmdVaDEyS0ZQc25XaEg3Vk91ZHFhK3ZWd01BTDB1
K3ZaY29nWTVkZjFxNU1nUUlPY3NjSnQ4RXdFdFU4aEdtYlpVaUFCRndDVkVENApKSkFBQ1pDQWdj
QkgyeVR0cWV4amtEVFIzYUJndVVCMm9Id2tUQ0M1WDMzNkloN1hUUXRhWEx0NTh6UytNakl3OEtK
Q0N0bmN4YlJYCkFHNUFVS3llZWVZN3pzSjU2OVlCSjZXc2Q3M1liMTNoeWlkWUdzb1VzbUpCYWZI
azBLRlhqWXFGSHJ1QmRMQlBQZldteEhaa0IzbDcKOVdDelBDZ2ZYc2F3aFlVWnNYNTg1bDNPZk9m
dVNMNWp4MkVuaGlkVDRNa0IyQ0pZSFJtOG5uNzZMY25LdFo3VzEwMnpQSlo3aS9NYgppb091T01F
YUEwc1BGQTFkWUJuWnVmT1lldjMxMzNZVUVEMzlya2taMWUvUDl4ZzhkREh0SllOZHozTWxpbm5J
YllPL1NZQUV6QVN5Ci8vVXdsK01WRWlBQkVxZ3FBcGM3bTlSOGZSTGYwV0RqTnozd0Z6dFBJNUls
dk9SYVVQd0N5ZjFxMHhmeHRnVXQ3c1diZkd3RzE5OS8KeUtrSzZXbjM3SGxHd1NxQXhTcmV1aU9P
QVc0MjJHd09pMTVrNXZJRTEwcjFSaDJ4Q3MzTjY3RWJOc1hKYTEvL1JubnNGK0tsd01WQwovOWl4
YjZndnZ2Zzd2Wmh6Zk92V2FXZDNjcytsQ3BzRnZ2YmFiNm1ob1JzUzFJNDlVMVpVYTJ1bjJySmx3
UG4yS29BQ2NQTGszL2ltCitsMWVYbkNVVEc4SGVzU0VRTWxBdjJCcDhqWURiRzBGUTFlaGhzS0U1
OEtMN3doU0VLNWYvenpMdlF4V0VGaWdvS3d0TGMwN3U1SHIKREJFM3BLY2NEbXRGODhZYjVqdlhF
b1JkMzhFVis1UkE4WVpDQktzSWRxclBkVnVMWWg3QzlKbGxTSUFFWEFKVVFQZ2trQUFKa0lBUApn
Zk85RzkrYStoU0wzU2tFbjlmWHI3dU5oVlVlOUlIb0Nvd3BrRnd2N3gzckZwQXdDMDdzLzRHMzVM
Qm1lSUtNUzMxOWU3eWZ4dSt3CmNSTFR6RVVBQUNBQVNVUkJWQTdHQ3JRTEd4V3VJZTFxdU1OcjEw
NUl2M2M3aTE3YzRXNVFlRVQyTjdtVVZRRVcvUmN1dkN1V25PK0sKbGNTMWZDQUwyTTZkUjdQSzZU
L0d4aDQ0OTlnVXJ0eTlTYUJvUUxuQkoxY21KMGZVbFNzZnFlZWUrd2R5cWM2NUhEUmZHTWVPSFVl
eQpkalZIdi8zcXg3NGptQi9kQlN0ZnBTNjN6MzYvUjBadU83RTYrbk1IZHo1OXMwZmM1NWRBSWFw
NThPc256NUVBQ1d3a3NQNDZhZU0xCm5pRUJFaUNCcWlSd1Z2YjhXRW5BYnVkK2s2TmJJWEE5YUdI
cFY0ZStJQTk2TSs3ZG43dHZTQmpGWjNWMVdaMDkrN2I2OU5QdnlVWisKOXNCcExCaXhHU0xleEgv
ODhaODVDM0t2N1dLL2RZVUxkUld5V01aWUxseDRiNE1ybHI0YnZkZFBqQU5qdUgvL1lsWjU3N3Iz
RFVVQgppc1dwVTM4VGFPM0IzaVNuVC84Z0t4N0Zxd2Zmc0hoZ1hHZlAva1QyQi9tZXMvTThMQ1dl
aEJuejU1Ly9sZXgvY3NiWVo0enI5T2tmCnFpKy8vRkZXWUx4dFR4V3YvVUsrTWFhelozOHMxclJy
eGo1aDEzZlRNeHpGUEJReUR0NURBdFZJb0ViK0FxODdybFlqQVk0NWNRUnUKL0g3eWZQSVRCN25L
Ty95OXZkMkpWVUNTUEhXSUtVQmNBbHhudlBnRXVITEJIUXVMY1N6eTB5YUlUNENiR1Z5SG1wczdI
SGNtdUZ2QgpqU2czVzFPWXNVTVJoR3NiNmtUZGk0dXpvcnpNT0l2dzNKaUpNUFg1bFlGU0JTc0Rr
Z0ZBTVVTTUVkeWhTbFcvWDV0QjV4Qkg0ekpzCmQ1UXJ1T2pCL1N4c24wbzlEMEg5TGVYMVAveEQv
OWlkVXJiQnVraWcxQVNvZ0pTYUtPdUxuQUFWa01nUlYzVURWeVgyNC9SbS82RGcKcWdiRHdaTUFD
Y1NTQUJXUVdFNExPeFZBZ0M1WUFZQjRtUVJJb0xvSVhFcllqdWZWTlRzY0xRbVFBQW1RUUJvSVVB
Rkp3eXh5RENSQQpBaVVoTUNsWnIrYnI2T0pYRXBpc2hBUklnQVJJZ0FRTUJLaUFHTUR3TkFtUVFQ
VVJPTHRKTWw4bGNOK1A2cHNwanBnRVNJQUVTQ0RKCkJLaUFKSG4yMkhjU0lJR1NFaGhxV2M4S1ZO
S0tXUmtKa0FBSmtBQUprRUNHQUJXUURBb2VrQUFKVkRPQng0MjFhb1hXajJwK0JEaDIKRWlBQkVp
Q0JNaEdnQWxJbTBHeUdCRWdnM2dRdWR6V0wrMVc4KzhqZWtRQUprQUFKa0VBYUNIQW45RFRNSXNk
QUFpUlFOSUdSNXZULwpjN2g1ODI1MStQQWJHVlluVC81MTRBWjNtY0lWT05pNmRiODZjT0RsSnky
dnlRWjYzNWQ5TWhZcTBCTTJTUUlrUUFJa1VFb0M2ZjhmCnQ1UzBXQmNKa0VCcUNjeEpCcXdnNmU3
ZXJ2cjdEd2NWQzd3K1B6K3RidHo0UExCY3FRdGdnenB2Z3ovc0VJMSsrTW5UVDM5YnRiWjIKWlM1
OThjWGZ5WVoyYzVuZjVUclErNHZOQ0tsOGxJczgyeUVCRWlDQmFBbFFBWW1XTDJzbkFSSklBSUho
cHJwUTJhKzJiaDBRQmVSUQowU042OE9CeTBYVVVVa0YzOTdiTWJSTVRnNWxqL1FDN2tmZjE3Vlcx
dGE1Q2hsMjVLNkY4b0U5NmY4ZkhoL1J1bHVRWTFoVlAwY0xPCjQ3ZHVuUzVKdmF5a3VnandPYXF1
K2Vab1MwT0FDa2hwT0xJV0VpQ0JCQk1ZYkEyWC9hcTdlMnRKUmhuRllqcW9ZMUFzMnRzM1pZcVoK
K3REVnRTV2pmS0R3K0xpL29wS3BLS0tEaG9abTFkYlduYW05MVAyb3FhbFZ1M1k5cGVycTNQOEdw
NmZITW0zeGdBVENFdUJ6RkpZVQp5NUZBTmdFcUlOazgrSXNFU0tBS0NZdzFCZjlUV0ZmWElBdjQz
Z3lkaVlsSGFuVDBYdVozUGdlam8zZnpLVjZTc21FVmkrYm1kalU1Ck9aSnBjMlRrVHVhNG5BZGRY
ZG5LM3NSRWFTMGdIUjJiTThvSHhsVnFCYWVjck5oVzVRandPYW9jZTdhY2JBTEIvK3NtZTN6c1BR
bVEKQUFrRUVwaHBDSTcvd0FJZWJ6czlnUnZWL2ZzWHZaK3gvOWJkbVZaWFYwVEpHUGJ0ODhPSFZ4
UStsUmE5djh2TGk2clVGZ3E5L3JXMQpWVlZxQmFmUy9OaCtlUWp3T1NvUFo3YVNQZ0xyLzV1bWIy
d2NFUW1RQUFtRUlyQllHNXgvVjE5b29OS2tMVmgxOXpFb0gxaDB4MW4wCi9wcmN4WXJwdno2ZlUx
TmphbVZsdVpqcWVHK1ZFdUJ6VktVVHoyRVhUWUFXa0tJUnNnSVNJSUdrRTFnSm9ZRG9Ma0ZSdkpF
UFpsZ2oKTG1BOXFyNitVYzNPVGtwZytHendMVm9KdmY5UnVSc2hiZ05adHVDdWhneGIrQlNpNk1E
UzFOblpsK205ZjhCOGNUeXlGWnppNDF6UQo1K2JtTnRYVTFDYjlybEZ6Y3hNS0FmeWxsK0xHSGRR
ZmpBTnVSVFd5S2VmYzNGVG81NnlscFZQRzN5NzNUQnF6cXdXMXJWOVBDczlTClAwYzZBeDZUUUpv
SlVBRko4K3h5YkNSQUFxRUlCTnNDYWhSY3NEd3B0ZlVEc1NVSEQ3N3FWYSt1WFBsSXpjeU1POHJH
N3QzUHFON2UKZm1kUjZBVk1vK0RDd295NmZ2MXpGU2FqRnVxSDR1S0p5YUxRMnRvdCs0Uzg3aFZU
MTY1OXFxYW1Sak8vL1E0YUcxc2tNOWdSSnoxeAphMnRuVnBHMXRUVlJsc2JWdlhzWG5YNmlibmVC
cmh3M3I4SEJhMW5sdlI5UVBtcHJKVFBaRS9INml6RVV3d01wbExHM0NCYTM2TGNuCm16YnRWTTg5
OXd2ZXo2enZ3Y0dyMHRlcldlZldmOVNvYmR2MnF5MWJCaFRxME9jSFpXQlZlZno0Z2N6bkp3Nkg5
ZnY4ajhyeEhQZzkKWjFBYzkreDVSdlgwNERuYmxNWCs4ZU9Iem5PQW1DZGR3Ry9uem1QeTkyS3Jv
eXcyTkRSbExrTkJ2M256bExwejUxeWVDbWd5ZUpiKwpPY3FnNHdFSlZBMEJLaUJWTTlVY0tBbVFR
S0VFT2pyQ0xlQUxyUitMVjN3Z3E2dXJ6cHR6TE80R0JsNlVoYkxzME80aldNZ2ZPL1lOClJ6RzVm
UGxEbnhMcnAzUTNFU2dGSmdVS2lvN1hENVNibS9QZko4U3JHZlUrODh4M3NoYnozalY4NHkxNlcx
dVBvOVFnVmFtK1FMOTcKOTV4ZU5PdFk3eTk0d0dXc0ZEeWdmSGpqMHh0RXRpMDk0NVorN2Q2OUMv
clB6REVXM2tlT2ZOVlpzR2RPNWh4Z3ZOajhzYmQzcDdQdgpTMUNhMzZpZkE3LzZrUWxzWU9BRnBT
c1ErakI2ZXJhcjU1Ly9KWFhxMU44Nnp3MnlxYUg4cmwzSHMrWlR2d2VLSWhRZFpGMDdmLzZuCitp
WGpjWko0bHZJNU1nTGhCUkpJT1FFcUlDbWZZQTZQQkVpZ2VBSzYreEpxSzdVTFUxZlgrdjRjZUh2
ODRvdS9rcFZ4QzIxaUU3NzYKK29hc1FIaWN4OEw4MGFNYjhxYjlJWDc2aXQ3LzJka0pxV3ZldDV5
KzhJZmxZbm5adk9zNDNnSmpBYTViS3RCSHVPQXNMeTg1cmxodwpTWUsxQWFJckh6WWxDR1YxdHhi
d2VPbWxYeTBKRDkyS2hYYkNpSit5QnViWVVSNEtGZ1JCL2JBUXpNdzhGdmVqR2NjVkMyNU1YbnZZ
ClUyWC8vcGVjNThiMjdFVC9ITmlmTTh6TDZ1cXl6RlYyV21yTTNjR0RyemdXTnlpOTNtYVdIajlz
YWdtbHc5czd4anUvZmZ0QnNYeGQKc2o2YktKczBudDY4ZXVNTTgrMzNISVc1ajJWSUlLMEVxSUNr
ZFdZNUxoSWdnZkFFbml3a1RUZm9DM1BFTkV4T1pydWptTzRMZTE1ZgpjTVBpZ1E4V2c4UER0eVRW
NzEwMU52YkFXZGhqd1l0RktoYUJucnNUem0zZXZNZTZ5TlA3YjFzQVo1Y3pwNzNGMjIyNDdIZ0Nw
ZWJxCjFVL1Z5TWh0cDkvZWVTZ2ZzQURzMkhGRUxBKzdNZ3QyVndreUt6ZjZRcnlVUEQ3NjZFK2Ry
a0hCOHpZZ2ZQVG9scnAwNlgydnl4dSsKY3pkaDNMdjNLd3JXSEFqbWFHam91cmdvbmZDTmU5aXla
Wjk2NnFtM25JVTU1Z256NXZWaFEwTnlJdnJuWUQyMXNjY1Z5aFBjK0lhSApienNXRGlpUGNNT0N0
V1QvL2hjekNpU2VqUmRlK0tWTXQvRk13am8wT25vbkU4QVAxN25qeDcrVlpVMkM5Y2VtSENlUnB6
ZUh4VHhICkdaQThJSUVxSlVBRnBFb25uc01tQVJJSVQwQmZtTU1sQ0l2S1FnUis4Ym5wYjdFUTF1
TVJVQzhXZDFldmZyd2gvZ0lMM3ZIeGgrcnUKM2JQT0czaXZEM0J6TWtsVFUydldHMnVUQWdLWExn
UVJlMklxQjh1SHJuemd6Zi9wMHovMHRhcEFXWU1TaGM4YmIveHVwaCttdXRHMgp5eVBiN2F4VVBL
Qk00RTA5QXFZOVFZeEdycExoWGN2OWhxS25LeC9uejcrckVDTmlra2VQYmtvY3hCbUZSVGJFSFZ1
cmIyQjMxTStCClgvMURRemNrUHVWako1NUlIOFBVMUlnOGV5Tk92QTVjclhTQmhRc3hMWmpUWE1H
emZlZk9XWFgwNk5jeWw5Q3VTWkxLczlqbnlNU0QKNTBtZ21naFFBYW1tMmVaWVNZQUU4aWFRdXpD
SE8wcGYzNTY4NjhFTkZ5OXVmTk91dTBlaHpKa3pQeGFYcXBzNE5BcXVIenIwZXNhaQpBTmNzaytq
V0JKUXh1WUxvU2hiSytTa0pjTGRDWElvbjJLVHd6Sm0zSGJjZDc1emZkMk5qdGhKazZnUHV6ZTFI
Nlhsc3pYQkRlMzdqCnhQbGN3WE53L1BnM01xZGg4YkVwSDE1QkxQSTlCUVRua01sc2JHeGpkcXpv
bjROMTZ3ZjZjZnIwM3pzV0t4eWJKRmRaaG5JQmF3K3MKSmlhQllxSXJJTGx1V2Q1OWFlRHB1ZUJo
VEdHZkkyLzgvQ2FCYWlmQWZVQ3EvUW5nK0VtQUJLd0VkTGNZYThHQWkzaHo3SmM2VjE5dwpJMjF0
a1BLQlpwRGVWVjhFMnRLOTZ2WGp6UzNjbi94RUh5ZktvYis1c252MzAwNThBODRqdzlPRkN6OExW
RDVRVnE4YnY3MnNWampPCkZYMGhIalVQdUJzRlpmbnkrb2NZRG1TTGdyaHYrczk0bDZ6ZnVieXg4
UFlUZlo2aUhqZnFoN3Rja09nTGJKU0ZxNWIrM1BuZGo1Z2QKWFV6UFpwcDQ1dk1jNld4NFRBTFZU
SUFXa0dxZWZZNmRCRWdna0VDdUJRSHVKd2pVelZldzZQTVRmZUVaOWkwcTNJajBvRzdiTHVINgo0
dCsrOEY4UFVQYnJCeGJmK3B0OExFYkR1aTdwWTBUQU1nTGNUYUtYOWV1SDMzMkY4bkF0TVd0K1ZX
YWRnMnZhdG0wSE11ZGdDUWdyClhoQytWOTRVMkIvOXVPM3o2L1ZQLzI1dTdzajhoT3NoVWtNSFNh
NkM1YWZncFlQbnVrVXA3SE1VeEk3WFNhQ2FDRkFCcWFiWjVsaEoKZ0FUeUpxQXZETEV4RzN6NlN5
VklmYXFuZncyNzRFYVFzQzZtKzZDazZHWHQ1WG96VmZvcEtyQitZS0VQd1dMMDl1MHZNK1dERG5T
cgpoczM5Q2twT2xEeWdESFIycnUvbll1S1JPNTRkTzQ1bVpYaENRSDF2NzQ3Y1lyNi9QV2JlUmIv
VXhsRS9CNFhXMzltNTJldTJFeE1TClpsTkpaUC9TeFcrK2s4NnowT2RJNThKakVxaDJBbFJBcXYw
SjRQaEpnQVNNQk53Ri9QckMzRzh4WmJ3NXhJVmM2NHJmd3QrdkduMFIKYmN2S2hYTDZHM2ovSGNX
VnM1bWNYczV2WVk1RnR5ZTRickxvZUdXOGI4U042SXRTRzBOZFVjSDlwZVlCWlV5M0hQbU4wK3Uz
L3AyNwpkd2pTeXhZaXJoWGg4WVpibzM0T1NsRy9iZDcwQWVrcGF1R081V2VkU3pyUFFwOGpuUk9Q
U2FEYUNWQUJxZlluZ09NbkFSSXdFc2hkCndJZGRzQm9yekxtZ3UwZTVpelg3cnVQZTdmcDlVMU5q
bVRTbzNuWHZXN2ZlSUdaamNuTEV1NVQxclMvOFVRNFprSFRCVzN6ZGtwSWIKMTZDWHpUMTJkelZm
RHplME1kVEhGVFVQbStLbWo4RWQrL3BiZmNSQUJNVkI2UGZyeDNCaDhyTWlSRC91ZFhlaHNGeGJX
N3V6TnNHMAp6WnMrUm4wc2ZncGtPbml1dTdPRmZZNTBSandtQVJKUWlnb0lud0lTSUFFU01CRFFG
L0FvRW5ZUlpxaHV3Mm05ZnFTekRTdjZHMjFiCm4vVDZvVlQ0TFg3UnBsNE9BZGE1NVpEbVZ3OUl6
a2NCMGV1R0JTQTNzNUkrWnIxczlEeEdqWXFiM2llazdOWEhmdW5TQjA0d3RsNm0KMk9OeWpqc3NW
MTJSd1BqOGxJbmNjVyswZGczbUZuRlNJS2VKSjJKY29MUlRTSUFFOGlPdy9sb3F2L3RZbWdSSWdB
UlNUMEJmR0pyYwpTUXFGNFBxUjkyVnV0eWtTbVVKeTRPN25zTDVQaHZrK2JGb1lKdDRodTV5ZnF3
MDJyZE1sSHdWRXQ2NUFDVEpaRDZMbjRicWFlZU1JCnM2QkcyZHl4bTdJNmVmWG0reDMxdUF1dFgz
LzJaMmY5TTdqbGp0VzFkdFZsVHZzOW0wbm5pY0hwejNUWTV5Z0RoUWNrUUFJT0FTb2cKZkJCSWdB
Ukl3RUJBWDhEN0xjd050NFU2SFdheDVsZVJ2akRFZFZOY1IzdDdieVpvSE9YOEZvTTQzOUVSWEs2
K3ZnbEZOUW5PSE9VVgp6bDZzYlh3ajdwV0xtZ2NzR2RpVTBaT3d1OW5YMWJtQjk5NTlDT2d1cFVR
OTdrTHIxK2ZOOUl6bGN0Q2ZUVmk3SmlhR2M0dElERTZ5CmVSYjZIRzBBd1JNa1VPVUVxSUJVK1FQ
QTRaTUFDZmdUMkxpQUgvSXZXT0JaM2NYRmRVMEs1NEtsTHd5UmxjdjBSbDZ2SHp1b214UW8KM1oz
TDNXbDk0emh6MjJocFdVL1BhaHQrcnJYRzFBZlVrYnQ0RGFzZ2hPV2hLNU5venk4NEd1ZHpKWGMv
RkR3WHBSUjlucUorRHNMVwp2ekViMmNabndvK0JQaGV1dFd1amExTFNlUmI2SFBueDRqa1NxR1lD
VkVDcWVmWTVkaElnQVNNQmZVR01RaVlMZ3JHQ2dBdjZ3bjk2Ck9yd2Z1ZDR2VzUvMGN0aDNZMmxw
d2JkSCtnSVlRZEorKzFUa0xocTNidDN2VzVkK0V2dEJZTE01WFd6dUtuby9vdUNCT0JaZGNwVXEK
L1pwK1BEUHpPQ3NteHMzZ1ZLTVhLZW80NnVlZ2tQcjF1Y0RnYk0rWlBuajlQdE05U2VkWjZIT2tj
K0l4Q1pDQVVsUkErQlNRQUFtUQpnQThCZlFIdnVwT0VzMUQ0Vk9WN1NxL2Z0akRYYjg1OU14M1dv
bUNyWCsrSHlkVUdsaGJFd0hpQ2UvYnNlY2I3bWZXTlBoNDgrS3A2CjQ0M2ZVVnUzRG1TdW9RNi9u
ZUM5QXZwQzJkWmZyenkrOCtHQnNyckFOU21NSUdaRmozbEJTdUc5ZTU4TmM2dFRCaGFUcDUvK3R1
cnIKMit0N2o4NC9pbkVYVXI4K0YxQmNvVFFFQ2ZadjBSbWJuczJrODlUSENDWmhuNk1nZnJ4T0F0
VkdnRm13cW0zR09WNFNJSUZRQkhSMwpFbGdBbXBwYVF0MlhXMmgrZmlickRUcXU1N29tbWQ0VzU5
YWx2MkhHTmROOXNENWd0MmxQd3BjenVkcXNxWnMzdnhERjRoV3ZTa2ZKCjJMSmx3SEh0Z2pXaHZi
M0gyZVFQWTlPekhIazNtUHFBNjFIelFCc0xDelA0eWdqMjhoZ2R2WnY1N1IwME5yWnMyT0g5NXMz
VDZxbW4KdnVVVlVRTURMenFMN1pzM1QyVXBabDRCWklQQ3doU2JOMEx4QUkrclZ6L3hMbWUrb3g1
MzRmV3ZwNWsxS1JLWlFUdzUwSlVXbkxMTgpkMUo1WWx6RlBFZTRuMElDSk9BU29BTENKNEVFU0lB
RWNnZ2dXRm1QYzhEYjNUZmUrTjJjVXVGK3Z2ZmUvNzFoUWF1L2xVWXRKc3RECmJndjZJcytXbFN1
c29wTGJEOXVpOGM2ZHMyckhqaU9Pc3VEMUMvN3d1VDd4dUlhKzNiOS9VYXdrNjVZQ1c5MjUvU2cx
RC9RcE4rWmoKMjdZRHpxN3JTQXVNTktvSUxvYlM4UERoVlhYdDJxZTRKU09EZzFlZG5jLzcrdzg1
NTJwcmF4MEwwUGJ0aHh3RkRBcnE0dUtjMU5mago3SmVDNXdYWnB6ekJOYitORzZNZWR5SDF1OHJU
K3I0bllhMHllbHR1MXF3NWIvZ2J2cFBLRXdNcDVqbmFBSUluU0tDS0NWQUJxZUxKCjU5QkpnQVQ4
Q2VnTGZmOFM0YzZhRm1MWjFoVnpJSGx1SzdwaVlWc1k2b3RCV0NkeVl6aThldlg2Yk9WUUhudURu
RGp4cjlXUkkyOG8KTE43OUJFSHM5KzlmVXRldmYrWUVsZS9aNDViQ3ZjUER0L3h1Y2M1RnpRT05q
SXpjbHJmeVE5S3Y5VTM1NEU2bDc5S09jcWJnZCt6LwpnVjNVZGJjeXBKVHQ2M3N5U054c2tKR1Jq
WllXRkkxNjNJWFVEeVVNU29nbllaVkJuYXROMmZUcVRTSlA5TDNZNThnYlA3OUpvTm9KClVBR3A5
aWVBNHljQkV0aEFRRjlNYmJpWXh3blQ0azFYRU1LNnVPVHU1MkNxRzkzVEZTaGIvV0hMZVVOR2dQ
cTVjKytvTzNmT2liVmcKczdoZDlUcnVSZFBUajUwM3czZzd2TFEwN3hUZnZIbVhkNXNhRzN1d3dR
cVV1U2dIVWZOQVcxQ096cDc5c2VNNjl2K3pkeDN3Y1JWSApmOVM3ckc1THhtQWJZc0EyeGZRU1E4
QjBDTDBFUWswQ2hONTdpd21ocEJBSW1BUUloTUFYQ0QwR0V1T0U0a0RvdlhmakloZlo2bDJuCjlz
MS9UbnU4ZTNydFRpZFpaZWIzdTd0WDl1M08vSGYzM2M3dTdBdzIwVHVaaVlWQzdhN2V3bnA2dXZq
NTUyakpraExhYUtOdHFiajQKTy9tc3NvVExRc0RGYWg2c0xxTTFheGJ6SG9wNmV4STVIMnk1NDhu
ZnFyU0U5ejcxZDZWckZ3Wm1hekQzTXVUVk5rMmFrWWduZUI5bwpPekx5NjY4aU1OWVJTT0xPRk55
aCsxaEhTK1VmRmdnc1BqVnhIbWlHaFVES3hEcEg0TkdwMFI2UzFqbERJNTZCSk5wbGwrTWlRZncr
CitXUVJtelo5T1d5a1NrL1BGdk1yN0pQQnBtaVlTR0dqdWQyKzM0dmg1T1JVTWRPRDZaWXgxNFBw
R1ZhYm9IeGdnSzBVSElHUmlHY2kKMmxGd2hOeFRYbkpKcmZ0TnZhTUlERk1FZEFWa21GYU1zcVVJ
S0FLS3dFaEZZTUtFRFNQS0IvWlhyRm56N2JBU0JkNjR2RHh5QldFVwpDZ2E4UXdYeEVCVWt2N0dl
WmlUaW1ZaDJOTmJyWGVVZnV3aDh0MHR1N0dLZ2tpc0Npb0Fpb0Fna0NBRjQ0TnA0NDUwanVWVldm
c3FiCnZEc2o1M3FnQ0NnQ2lvQWlvQWlvQXFKdFFCRlFCQlFCUmNBVGdZcUtqYU5zL04wU0Z4Wlcw
RlpiN2M4dWFqTWtTVVBER3ZZbzlhWmIKY3IydUNDZ0Npb0FpTUVZUlVCT3NNVnJ4S3JZaW9BZ29B
a0VRU0VsSm8wMDMzU1d5MmJ5dWJpWHZjMmlTdlE3WU80RjlGTmlBREhlOApKU1hyUjdMRWhtNXMy
b1lITENWRlFCRlFCQlFCUmNDS2dDb2dWalQwV0JGUUJCUUJSU0FLQVhoRk1oNmpFR3dRSHovQ2h1
NVBQLzJ2Clkrd0x2MmYxdmlLZ0NDZ0Npc0RvUjBBVmtORmZ4eXFoSXFBSStDQnd4T0k2bnhSajkz
WmI0WFFLTzliMXh5Q3ByWlV5MzMyRkNqNTcKbnliMjZNcUhQMkthUWhGUUJCU0JzWW1BS2lCanM5
NVZha1ZBRVZBRUFpR1ErZTZybExiMGErb3FxNkR1a3ZIVW01bE5QWmxaUk9rWgpsTlRhVENrTmRa
VGNXTStmT2twYnVZeVNPa09COHRWRWlvQWlvQWdvQW1NWEFWVkF4bTdkcStTS2dDS2dDUGdpd01H
aUtMVzZTajYrCmlUV0JJcUFJS0FLS2dDSVFBQUgxZ2hVQUpFMmlDQ2dDaW9BaW9BZ29Bb3FBSXFB
SUtBS0pRVUFWa01UZ3FMa29Bb3FBSXFBSUtBS0sKZ0NLZ0NDZ0Npa0FBQkZRQkNRQ1NKbEVFRkFG
RlFCRlFCQlFCUlVBUlVBUVVnY1Fnb0FwSVluRFVYQlFCUlVBUlVBUVVBVVZBRVZBRQpGQUZGSUFB
Q3FvQUVBRW1US0FLS2dDS2dDQ2dDaW9BaW9BZ29Bb3BBWWhCUUJTUXhPR291aW9BaW9BZ29Bb3FB
SXFBSUtBS0tnQ0lRCkFBRlZRQUtBcEVrVUFVVkFFVkFFRkFGRlFCRlFCQlFCUlNBeENLZ0NraGdj
TlJkRlFCRlFCQlFCUlVBUlVBUVVBVVZBRVFpQWdDb2cKQVVEU0pJcUFJcUFJS0FLS2dDS2dDQ2dD
aW9BaWtCZ0VWQUZKREk2YWl5S2dDQ2dDaW9BaW9BZ29Bb3FBSXFBSUJFQkFGWkFBSUdrUwpSVUFS
VUFRVUFVVkFFVkFFRkFGRlFCRklEQUtxZ0NRR1I4MUZFVkFFRkFGRlFCRlFCQlFCUlVBUlVBUUNJ
S0FLU0FDUU5Ja2lvQWdvCkFvcUFJcUFJS0FLS2dDS2dDQ1FHQVZWQUVvT2o1cUlJS0FLS2dDS2dD
Q2dDaW9BaW9BZ29BZ0VRVUFVa0FFaWFSQkZRQkJRQlJVQVIKVUFRVUFVVkFFVkFFRW9PQUtpQ0p3
VkZ6VVFRVUFVVkFFVkFFRkFGRlFCRlFCQlNCQUFpb0FoSUFKRTJpQ0NnQ2lvQWlvQWdvQW9xQQpJ
cUFJS0FLSlFVQVZrTVRncUxrb0FvcUFJcUFJS0FLS2dDS2dDQ2dDaWtBQUJGUUJDUUNTSmxFRUZB
RkZRQkZRQkJRQlJVQVJVQVFVCmdjUWdvQXBJWW5EVVhCUUJSVUFSVUFRVUFVVkFFVkFFRkFGRklB
QUNxb0FFQUVtVEtBS0tnQ0tnQ0NnQ2lvQWlvQWdvQW9wQVloQlEKQlNReE9Hb3Vpb0Fpb0Fnb0Fv
cUFJcUFJS0FLS2dDSVFBQUZWUUFLQXBFa1VBVVZBRVZBRUZBRkZRQkZRQkJRQlJTQXhDS2dDa2hn
YwpOUmRGUUJGUUJCUUJSVUFSVUFRVUFVVkFFUWlBZ0NvZ0FVRFNKSXFBSXFBSUtBS0tnQ0tnQ0Nn
Q2lvQWlrQmdFVkFGSkRJNmFpeUtnCkNDZ0Npb0Fpb0Fnb0FvcUFJcUFJQkVCQUZaQUFJR2tTUlVB
UlVBUVVBVVZBRVZBRUZBRkZRQkZJREFLcWdDUUdSODFGRVZBRUZBRkYKUUJGUUJCUUJSVUFSVUFR
Q0lLQUtTQUNRTklraW9BZ29Bb3FBSXFBSUtBS0tnQ0tnQ0NRR0FWVkFFb09qNXFJSUtBS0tnQ0tn
Q0NnQwppb0Fpb0Fnb0FnRVFVQVVrQUVpYVJCRlFCQlFCUlVBUlVBUVVBVVZBRVZBRUVvT0FLaUNK
d1ZGelVRUVVBVVZBRVZBRUZBRkZRQkZRCkJCU0JBQWlvQWhJQUpFMmlDQ2dDaW9BaW9BZ29Bb3FB
SXFBSUtBS0pRVUFWa01UZ3FMa29Bb3FBSXFBSUtBS0tnQ0tnQ0NnQ2lrQUEKQkZJRHBORWtpc0Rv
UlNBbGpYSzNPVXJrYS8zd2FlcHBheGhjV1llNnZBRktrN254N3BSYVVFSHRpMStucnJWZng1MWI3
dmJIeXJNdAo3ejVPdloxdGNlZVRpQWZqa1NtZVp4TEI2MGpJSXdnMjY2cisxMVc1dzczZW9uRHA2
UnJhZDZBRE9NblpoWlMxNlI2VWxKRkxyUjgrClF6M05hL3VsaXVKNUhiOUQrakduRnhRQlJTQm1C
SFFGSkdiSTlJR1Joc0Q2Tnl5anFYZjJrdmtEcy9LZm5KNU5aVDk1UUQ0cDR5cmsKVnRsUEg2VHlj
NStqdFBJWmthUk8xeUkzWXpod0tpK0d4NGM4YWNGZUZ3bzJXUnYvWUVCbEc0d3gwRmpYRkk5TThU
eXpydVVjcXZLRApZRE1VOWUvVVI0ZWkzRVRqN0NSSHdzdm9lK2VoUDY3cmQxTDI1aitrRFg2M2xz
YWY4Z2lWblhBdnBhKzN1YU80STdFdUhRWFJpNHFBCklpQUk2QXFJTm9ReGpVQlBlek90dUhGSHdh
Q3Jab244Wm02ME02VVdyVS9KV2VNaTJEaGRpOXlNNGNDcHZCZ2UxNlNLZ0NMZ2drQ2kKK3FoTDlr
TjJlYWpsV05mdnBOd2RqcU9rNUJTcWZ1UThhbnJsWGlKZWtWRlNCQlNCMFkrQUtpQ2p2NDVWUWk4
RWVydXArS2hiSmNYcQoydytnNGlOK1J5bjVFK1M4OUxpN3FhZWptVTJQdnVsM2JlMTlKMUIzY3pV
VkhYSURaVS9maTVKemlpbTA4aE9xZmVJU2F2OXlrVHhmCmNla2I4bHY5NEdrMGJyZXpxSmYvV0tz
Zk9EbXFQSmdqbVhTTi83MkQ4bjl3QnFYbWo2ZW1OLzVHZFU5ZEhma3pUcXVZU1NYTVovcWsKV2RS
VnZaaTZHNnNvT2JlRTZoZGNUNjBmekpkeTdGOWxwejVHbVpPMzQzVEZiRnJXU0tIbDcxUE5vK2RU
NStyUDdFa2o1Nm5GazZuawo2TnNwWStxTzFGVzdqT3dyRm41NUdsbnNNa2NLd0VGcWhzeDJBdWVt
bCsvaVFjYzlVYmV0SjBITDg4TE9UeVpyZWViWTd4azNPVkVuClhtMGlxRHhXL0hxNG5jSE1xZm4x
KzZseDBUeGhzZkRnNnlscmt6blUrTjgvVXZOcjl4bTJvMzdkZUV3cG1FakZoLytXTXFmdFNrbHAK
V1JTcS9FRGFiY2UzNGZicXg2TWZObEZNdUp4NGxRSDhZcFczNUpnN0hQdW9LVDU3cy8wb2IvWXBq
bjNMcjg1TUh0WmZneTJ3bDN4NQo5YlQ1blVlNWY1MUgxTjFKWHZJaG44enY3VXE1Mi81SXpJNHcw
ZEZaOVFYVlBIRXA1VzMvWTBjNU9sZC9iaTArY216NHNMWVh2R05pCmtzbjJEc1E3Q2M4WDduc0Za
VzkrQUtYa2xWSm45UkpxK00vdnFQbU5CMXg1Ny9qbWxRaGYxZ092OW9aNnd3b0lLUC83UCtQMzFi
YTAKNXA0Zld4L3ZkNXl6OVJHVXQ5T0psTXFZdDd6M09GVS9mQzVqSG9xOFIrMVllSlZmc04rVlVu
N0xPNCtJZk1tNXBUVGh6R2VvdDZ1RApWdDI4dTd4L1MvaC9JSDNpNWxUM3pGeHErL2hmbnZMNzRl
NVdYLzJFMUF1S3dCaEFRQldRTVZESktxSTNBcGxUdHBNRVNidy9vN3VsCmpoV0Zia3JpS3oydHRY
ek9uOWI2ZnRkNmUzcW8vSnlGbExIK1Z0VHcvSzJpcUJUc2VTRk5PT05wV243MU5PcHVXRVVtMzRx
TFg2SGsKdEV4cS96cjhCMjJ1b3p5UU9VK3ZtQ0dEZnF5K0ZPNTdHYlY5L2p5MTh5Y3BJMC9Ld2w0
TThOZFovUzBQUG5lbmxKd2lIaHlVU1I1TwpYK2tUTnVVeVgyWkZxWWIvTkdkVDlzeDlxQ2ZVUW12
dVBOd3BPUkh6TStIc0JaUStZUk5SV0RwWjhjcmlnVytZZ0FqeFBlODhqU3gyCm1jTjVoTDlManJ5
RmNyWTRrTnErZkltYWVGRHRSVUhMYzhNdWlFejl5ZytBZzZPY1NTbStiU0tvUEZiOEdsNjRsUXIy
dVpTVndZS3cKQXNJSzNEaFdWSk15ODZqOTdoLzFZOTljY09ReEpaM0t6M3RPNnJqMWs0V3N5SzVt
MDhUanFQeUNSVlE1ZDZZbzI1NDhCc0RHbE8vMQo2MVZHeDdKM1k1YlhxZC8yZG44M2sxN01iUTRL
dGIxdlVZQTZjNUxEWUl2QmVYZlRHbFlheW5pUzRReHErK0lGYW4zdkNjOSswajYzCnd3QUFJQUJK
UkVGVWdza0UxQUh4ZTZieHBUOFI4ZXgvOXZTOUtXTzlMUnpmUDFZNTdMd1lQcXp0SlI2WlREN3lU
a0lkODNzc2Mrb08KOGg1by9laWZsTDcrTEZGR09wYS81OHE3b3dMaTA5NVFiNFI2NGxjaEprbndy
dktqY1hQT2tja2ZZSjYvNjJuOG5ueUJXdDdseVphKwo5M2dVRmo3bFl6TEhQQWNGSzN1ei9TUG5t
UnZ1eEh2ZlhxUGM3WTRSTXpVbzZsNTExOEg3NU9MOVQvQ1RXZThyQXFNUkFWVkFSbU90CnFreHhJ
MUEzL3dySzIrRllTbVlsb09ieFM2aGo4YXVTVjg3bSswZGR5NXF4cnlnZm9hb3ZxZVg5ZjBpYTdK
bjc4YlZackJ6c0lUT0YKaG9sYVhuWEFvTXBySUlHMGxkZng2c2FhcjZqc1p3L0o3R2oyekgxRkFj
bWF2cWRzQk84SnRkR3l5emFnM280bW1uRFd2MWloMkplZgo2alhGOVB1dG5EdERabE16ZUZZUkt5
WVprN2FrbkMwUGxvMmV2Ynl5WXlmTXFFUDU2TzBLMGJMTHA0Z0NaaThuYUo1dU11ZHVkelFQCkdu
N09nOEhsVkhYWEVUSmJiT2ZEZWg2MFBGZnNBc2hrTFEvSFFYQXd6MWpsek9LVk1DaWtYbTBpcUR6
V2ZFTXJQeFpGT0gzOE5NclkKWUZ0S1lVVTBPU3VmV2ovOU4zWFZmR3RZY2YyMTVwVTlZMitwWXd6
R1Y5KzJIemVmSGg2dnB2TWdpK3RsOXFtOEVuSXhLeUx1N1NaegpvKy83dGhGWFJpdzN2TXBvK2VD
cG1PVjE2N2VtU05mMkVhRE9UQjVPdnl0L001dTY2MWZJcXVhNDNjK21iTjVJRFFYRVM3NDByc2Vr
CmxGVHFab2NYcU52MmIxNmxHalkvd21vak5sODd2WCtjeXJaZXM5WnhrSFpvZmRaK25NV3JNMUEr
ZW5rbFo5bVZHekpQMVFTbEpvT3YKZWZGdXp3Zm5RZHBiemxhSGNadmFtR3FmdWtyZWQwNzVXSy9a
TVVkL2hRSml5SXFGWC9uMXo5NGdrMHZvdDBucE9hSmtkZkc3RXF2UQplTDlpSlFSN1pQRCtSajFu
VE5uZXRlNWl3VDJLeDgwUHBPSWpiemJzeTYvSXlKTllTb3JBYUVaQUZaRFJYTHNxMjZBaGtNWi9t
Q0FNCkNpc3VlREdxbk5UQ2lWSG5MZS9QNXhXUmxWSFhuRTU2TzFya01sWTRRR1lQQ21adFFTR2Vm
WVR5RVlTUytFK3o5S1Q3S1pmLzNIdDcKZStYUEU4L0IxaG9EVGllMUphMTBROG02WStrN29uell5
NGtsVHplWllWNER3aDk2RDg4Y2UxRXM1YmxoNXllVFUvbXhQR09WTTM4TwptNEl3dWJXSldPU3g1
b3M4bTk5OGtHZll6K1RWQ2piUjZWdjFhbnI1YnR6eUpXdGVXZC9iUmRLSFZuOGh5Z2RPUW4wbWVX
bGxHL0VnCnpMdmR4SUtORzJOK1pVQTVIb2k4VHVXNnRvOFkrckZUdnR5NTVETGFNeWhqeWc2K0dM
YXg0Z2o4TWVpR21TZW9ZOG5idE9iZVl4MjkKUDBrQ255OXJIZnUxUTUrc2VKWS83SHhEM2dOUVBr
QnNwb1VWRG5pcGlvWDN0TktONUhHMzlpWTNZLzB5bVBON0NnVEZ5RXBXTFB6YQplMDlybmF4TVow
M2JSVXdTWVU2TGZTaVowMzVBbUdTQ21TMm85WU9uNWRlcjd1TDlUMGd0bWtSSnZLb1pUZUVWNSto
cmVxWUlqQzRFClZBRVpYZldwMGlRQUFRellRVW5KeVpIYzdOZTY2OE1LQld5ak1kc0pzeTFEU2Nr
RDdGWW1yejQrdWh0V1M5YnBiTHFSbEpySnMzTHQKckoxNGx3RzdhaWdmSGNzL1lGdm0zYWludllt
bS9ySFRzT2o0RzFyeGtWeFBMZDdBOFg0OGVkb3pxbjN5TWlyYy8ycGVpVG1JY3JZNgpQR3JtMHA0
MnJ2SnMyUG5KWkM4VDUvRThnK2Y4MmtSYzhpQmpwcVpYL3hKV1FMWTlXZ2E0bUtWdGNkbjdFMzdD
K2J1cmIxYlZLREZJCmxjSjI3eURjOCtNeFhteWtnTDR2dnpLUUxCNTU3WDNVV21iazJOWSsvT29z
OHB6UFFjWjZXMG9LVERUNHlzY21SNVhYYmlhdWIySG0Ka3ozclVNcVl2QTNCdEtqNndkTmx3Z0Na
V2Q4L1BzVkgzUjZvVEpqcEI2V1hieXBtbWRqVEFzSUtUUyt2d25yeExna3RYMzd0elpJMAo1c01N
M2c4SHd1cXVHd1Vwdi9Xalp3Z0tTQ0h2QjBsbXM4WlczdWZSdzVOQmhmdGRMaXNneUx1RlhiUUxl
ZFJkMnhlTEpFbXMvd210CnZJSytyRzhWUFZ5SWZpc0NZd01CNzFITTJNQkFwUndqQ0l6YjZ5S3g1
elhpTnJ4NHUyd3FOT2ZtdDJQSlc1VEdnM0JzQ0U4cm04YW0KTGd0NWhqTDZXdnVTTjNqQXRwclNT
aWJUZU43c0RkLzFTYnpQQStZRTJDaU1HZHhFVWR0bi94SDdhSmpkclAvcmxkUlZ0NXp0eFkycgpT
dWVaTXBoUmdXQStrTG5oenJ4NVBUeEE4dUlKcGlDd3c4WmVrL0duUDBXZHF6NlJ6ZWptbVhqeU5N
K2EzK1kzSDVKQlRNa3g4M2l6Cit6emVCN0lvYk9KaEVsaCtFMUdlbjB5VzRpS0g4VHlEaDdGbng2
dE53SVFPRkV1ZHlBUDhGZUlaOW83S0R5UDFMcHZSK3dhR0prMlEKWC9BSXUvdU1TVnNRTnVCMjFW
VlMzbzdIeTZNd1kwbk9LcEJqTng3anhjYktXNUI2alVkZWV4OUZ2L1VqdnpyejY4ZDVzMCtXRmFt
OApIVStRb3ByZmVsaE1HSEhpaG1FZW15Qm1zUU9BNXJjZkVmUE4xSktwbE1xbWNhWjlPTWxobEFJ
L2VYQi9vREsxZmZFaUdUT2s4ck1XCnlPYjY5SW1ieVo2ejlpVnZldkp1NTgrdnZkblRCemtYekht
VGZONU9KMG55Wm5iWTRVWkJ5c2U3dS9pd1gvTjdja2RSUE5xKy9DOVAKMkRTTEFvTDlJVjA4MllU
MkNQS3F1NEhpN2lhRFhsY0VSaXNDMzAzeGpsWUpWUzVGb0E4QkROcGgxMnMrcVlXVEhMR0JSNlVR
ZTUyQgpsNXJTRSs3aGZSVGoyZHRROURVc21jTnJWdnZYLzVQOE1LQ0dCeTJZUzJGUWwwanFhYW1o
Vld5dmo0RUJOc1ozc3JjdGVOd0NZV1hECmlWclpqcjcxNHdXVXltWlY0MCtmSDU3TmRFcG92Y1pl
dW1yWjh4WldjM0syK0NIQnB2bTdnVThTbXlIRWthYzEvNzVqYkx4RllFTnMKSWkwNTZnOE9LY0tY
RWxLZWoweU9oY2Z6REdlRWV2SnFFd09WUjF5VWNqbVk2Vy84MzU4ZFdmZTdpRDBHVlhjZUpvNE1p
Zzc2SlpXZAorQmRNdFZQMVEyZFNPN2N2WHg3anhNYktsMjhaZllsamxkZmVSOUZ2L2Npdnp2eWV6
OXZ4UkhZSWNEcWJOYVpSL2NKZjg5NnYvL1BGCkVQdHY0QVZyL004NDNoQTdzc0JLUXlPYi9jRExF
aWdlT2F4OERsUW1QRjgxNzBCcS81YVZqVTNuVU9teGY1SjlXNTI4WWR1UGR5c2YKT1BacmIvYjBR
Yzd6MkcwdnpCR3gwbHovN0UyQ3VkdHpRY3FIVjhET3RZc2xDMnhvSjk3MzBmSHQ2NUVOOGRpRXo3
MU83bnZKUDFEYwozV1RRNjRyQWFFVWdpZi9Nd2oxcnRFcW9jbzA2QkJhZjZqenJuMmhCNFpJUjdo
MnQwZEdkcnNHVmFVcmhldFFMTHk1Tjd1WUFBK0V2Cm16Y3FZc014WnVNd0d3a3ZOY21adWJUOEZ6
TmxwY0l0NzJUc0YyQ0ZBbitPUVFsMjNwZ0o3NjUzVnFUaXlUTm8yVTdwRWxHZW4weE8KNWNiempN
bkhxMDNFSzA4Qm02NFZIY2l1UUhtUXRPcjNjMHhSY2YrbUZLd25xM1lTLzRZVkN5djU4VGdRYkV3
NWZtWEVLNjlUSHpWbApldjE2MVpuOU9RUTJCUzI5aFBzOUQxaXhjb2gzaFpVODVXT2xUeFFrSGtS
Mzg0cW1FOFVyaHpXdldHU3lQbWVPa3pMemhVOTQ5WXM0CnJnakF1M25lK3V2VjNxenBnaHpEM2Ew
VDVsN1BKcXo4QVBJUEZIY3ZPWnp1bWZib2RFK3ZLUUxERlFGVlFJWnJ6U2hmcmdnTWxRTGkKeXNB
NnVGRngwZjhJQWNxczFQRGlQS3I1KzVuV1MzbzhXaEhnR2ZiMWIxaktzUS9LcVlwZDc3YTgvZkJv
bFRRczF6Q1gxd3o0bGw0OApNWkNEaWRGZFdTcmR1a2JBdE1kMXpZZVdyd2pFZ29EdUFZa0ZMVTJy
Q0t3akJLb2ZQb2ZnS2hLeElIbzRMZ25zeEVPVjc2OGpiclRZCm9VWWdKYnVJNnYvNVN5bTI1YjBu
aDdyNElTOXZ1TXVMemVJZzYrcm9rSU9rQlNvQ2lvQWlNSUlSMEJXUUVWeDVZNVgxc2JnQ01sYnIK
V3VWV0JCUUJSVUFSOEVaQVYwQzg4ZEc3d3hNQlhRRVpudldpWEkxMEJOaUVKSGVibzBTS1ZuYmhh
R1pLNGNveWk0T1Z3WWErOWVObgpPWEJaMkpiZm1tYWtpKzdMdndzMnZzK045QVFPY3VkdWY2eEkx
Zkx1NDlUYkdmYVNaUlhUNzc0MTdXQWVKL01LVEZKYUJwc2JqWTNnCmFKa2I3eTdlNE9Bc29XdnQx
NEdnSGF5NkdxeDhBd25sa1FqN3hQQStrLzBoY0EzdVFDbDU0L3YyeU5RNzNBMWZDcExHOVdHOW9R
Z28KQWlNV0FWVkFSbXpWS2VQREdRRzQ0Q3o3eVFQQzR2SnJwb3NDZ3ZnQTQwOTdrcjIzcE1qMVZm
TU82cGRtb0RLVi9mUkJjUXNLa3kyNAowUjJPNUlUTmNPUnpvRHpaNjhKSmJ0TkdsdkxHOHU2Ry9n
cUkzLzE0ZUZ6L2htWHNyUzNzQVE0dWNic2JWNHZIb3diMjR0U3g5QzFMCmxrbVVOL3NVS2p6Z2Fo
bU00d1lVNllaRmQxRDlNOWZ5d0RJODZEVDVkVGV1b2FXWHJTOWVoSkMyK0toYkNkSEJRU3R2bnNO
ZXR0akQKMEFpaGdyMHVGTzkyYXg4NG1ab0NLaUNEVVZlQWE3RHlqYmNxOG5iK0tiZUphNzVyUXh3
YkF5NW8xL3o1YURZUHJhTzBDWnV3Qy9NegoyWXZlbmhLVUUrVWdvRi9qZi85RWRSenRIQlFralNR
Y3hWLzI5OE1vRmxWRlV3UWNFVkFGeEJFV3ZhZ0lEQXdCK0pGZmNlT09rb2w0CkdlS2pYSFlmQ2VX
aitwSHpKTm91Kzd2dGwyWmdwWkpzVkljcllCTkZmYUQ1RGNielR0Z01Sam5yT2s4NERiRFd4WENU
dTUzM0VTRWEKZlRvSDBjdmQrbkRLbnJFUEI2M2NQYUtFRk94ekNTRnlmVzlQRHpWeHJBVW9INGgz
VWJqdlpSd2ZaeU5hYzllUlVSRERyWEl1QjBwcwpmdTArZ3Zja0U2Y2hLcEdlakdnRXh1MTVBUlVm
L2x1Um9mM3JWeVJvWitaRzMrZTJzemZCTXhVVTJ2SnpuNlBVd29rYzQrZS9WUGZXCjN3bHhUckRx
bS9tOTJmSmNVbnFPYjVvUkRWSkE1dTN2aDRDUGFUSkZZTlFnb0FySXFLbEtGY1FOQWZqY1Iwd1Av
QWxpWU41WjlRWFYKUEhFcGRYenpDbFZjK29ZOGhrRVRabnRUeDFWSTRLMmFSOC9qYWJ0TytWUEZJ
Q3liWTJJazV4UkwvSTNhSnk2aDlpOFh5WFA0MHkzYwo5d3FPZm53QXJ6eVVjbnlGSmRUd245K3hi
L29IWkFZWWlSQWJBakZDc0FJQ3l2Lyt6eWh6OHJhMDVwNGZSNldCQ1k1WGZ2S3d4MWZKCk1YZXd5
OHdKa3FMMHVMczVxRll6cmIyUEI0d0hYY2ZsYmNkNUYvTWdzcEZDeTkrbm1rZlBKL2kvQjZWeGhQ
VVNucTFPNThqQ1hlenIKSDVHRndVZjlndXM1cHNGOGlWbmdocDlrRU90WGIzYy91VTA5SUFZQ0Fr
Q21jZ3dIREhyck9DNEo5Ym1JOWNJbXBXQ2lESXd5T2NBYgpYR0NHS2o4ZzFGUEh0K0g2amVUUE1V
Z1FRd0E0SVI1SkU4ZlR3SUFLYlFUKy9tdm5YeW14Q3lDU2VjYXRiWlJ4QUVvM1hOM3FBcXNDCklM
UUpxOGxWenRaSDhJRDlSR2wvTGU4OVR0VVBuOXZQclN1ZUF3WmU3UkZwZ2xMakMzK1FHQXBKcVpr
MC9vejUwc2JMVG4yVWxsOCsKV2R3d0kxQWhxUGJKUzZuaDM3K1JZNWlLVlp6L1BDc3NSMUREbEIw
a1hvTGM2UHRDTkcvQmk0UEVJYXEwbmJ6Nm9qMXQwSE92ZWtBZQpwaDY5MmxacThXUU9qSG03Qk41
RXJBZVlGc1ZMYm5WcCtLaCs4RFJ1ZzJleFl0ZEYxYnpDNHRkMm8vamcrRVBqVDNsRTJtL1R5M2Z4
ClJNWTl2bTNDbE9zbGYxUVpMaWRRS3JIeUFXcmd0bFBEcTZ4aFNxSnhlNXduQVVZejFwOGx5Z2V1
cjczdkpIRWRqbU1vSFZnUkFRVkoKSXdrRGZybTFLYnpueXM4UHI3ckJiVFhjQ09mUE9UZXNKSE9n
Mk1ZWHduM1I0T1BXei8zdSs5V2ZlZDVhNy9odmNYcFhkM0w4S1NWRgpZS3dnb0FySVdLbnBNU29u
QnRmbDV6M0hnOWh1R1hBU3IwQmtUOStiSTBwdklRb0lJdDJDb0R4MDgyd3dabkhIN1hZR0IvMTdn
VnJmCm55K0J3dUI5cXVINVcyVkFYN0RuaFJLRFkvblYwOFNzQVBFNE1xZnVJQU43REdEVCtROFl5
Z2dVRUpNM2dwUWgralN4cVFLbHdZeUYKNDRVMGgrTnlXTk1RcC9QS3o2OEtVUWFDQ0NKS0NnSVdk
cmZVVWkrWG1UNWhVdzZZK0xLVWlWbkk3Sm43Y05UbEZscHo1K0c4RnlWUApaRVQwY3p6ZldmMHRa
VzJ5dTBROVR1RVlJbjc0K2ZIa2RqOUtiazVrenRNclpraXdNNndjWUtZZHBoM3QvUEhFaGwzU29v
N1QyZlNqCjlaT0ZZbEtVdS8xeFZIN0JJcXFjTzVOdCtMLzVMdi95NlhJZjhoWWRlQzJoUHJ2cVYw
ajk1Kzl5Q29WV2ZSb1ptQmllSE52R2UwOTQKNHVwV0Z5WlB0QWtyWWVBT014VzB2L3hkVDVOWUg0
aE1Ia1ZKS2Q3dE1jNzlHVENscW5uMEFzcSs1aU5LSzk2QU1CaEhrTTdrakJ3cAp2dW5WdjBUWWdC
bFZaODFTU1pjNWRjY29CUVNCNnlCZjVyUWZpSkxYc2V3OWpsa3pVNEwwSVlQQmFrdGU3UnZsR3N3
OTI5YlpDNlQ5Cm9HOTJjbnZKNGowZ1lZbzk1cEJiWFJvK0tpNStoWkxUTXJsUHZzTHRPdDIzN2ZZ
eElqOGxSOTdDUVVJUDVOV0ZsNmpwOWZ0NVpPL2YKSmt5NXJ2SmJDL0E0UnZ3aG8xUWlBT0IzMUVz
Tno5MHNwNzJoMXZBN2lOK3o2MTM5SWJWOSttOXErK29sYXVHVmtOYjMveUZwUWlzLwo5VTN6WGQ3
ZVIxNXRLclRpbzBqZEkyZ2hJcmZndlFJOEVFRFdrTUhIclo5NzN1Y282a0hmUGRaNngrcVEwN3Zh
OEtTL2lzQllRRUFWCmtMRlF5Mk5ZeHJUeDAvZy9tb045c2ZsSWFPWEgxUDdOcTFUREpsRDJHYzZW
djVrdFViK04zWG8ycjViMGh0cDR0bTRyQ2xWOVNTMTkKZjU3Wk0vZmphN040a0w2SGJMNkU4dEhM
czFuTHJ0eVFaODZyWlVDUXdkZnNWRGYvQ3NyWjZqQWU1R3pNMGNhdkNnK3FiWW15ZUJZKwphSDYy
UitVVVplVHRjQ3dsODU5c3plTTgrNy80VmJsZU9YZUd6TFpsOEtvTFZqY3lKbTFKT1ZzZUxCdmhN
U3VKd1hnUHk3cnNzZzE0CmxyQ0pKcHoxTDdGL1IvVGZvUGc1OFJQUHRjcnJlQlZtelZkVTlyT0ha
TlVLVWV1aGdIaGhBL01QS0IrWXVWN05FZVA1bjUzclBKMXkKdHp1YThtZWZ5aXNoRjBkWWtmelpw
bi9pNVc5VHhnWmJVeDJ2OGpRc3ZJa0s5cmxVVmhhd1NtWm1SczFEVG0yamxSVVFMMXpkNnNMawph
ZisxbDVHMXlSeXlLeUNJVE8vVkhxSDB4a3RZRlVSTTJxU2tKRXBucGQyWThNR2tSdHExSmVOdVZ0
aEVVZUYyWmlXc0tLR05sWjMwClZ4bm9yWDNnRkNvNVpsNGt5V0MxSmE5NmlBVFBZeTVjMnhaampm
WURXWmRkUGtXVWQyc2ZpQWdROE1DdkxtdDU5YkZqMmJzeU9SQkwKMjVYMnZPdlB1WjB2cDZxN2pw
QVYycXdaK3dadUUyN3lCeFNMNjN5eUpNWDdycnRocGVOam1QaW9mZXdpS2p6NFZ4SW9OV2VyUS9t
OQpkeWdWL3ZBWFZQMjNuMHY4bWlCcEhETjN1SmpJTm1Xdk4vd0hvSjhiY3JxUGxZeWc3eDVydlll
V3ZlUDRyalpsNmE4aU1CWVFVQVZrCkxOVHlHSllSTTNDaDFWL0l3QjltU2FDT0pXL1RtbnVQalpq
YXlFVWVmTWs5SGhpQU10aThCSW9IS0oyVm1Jb0xYcFJqOHdVYjUrU2MKSWpudFdQck9kNE0wTmkr
Q2FWYzhsTWF6LzZCRTVZZThrbmd6Zk9sSjkxTXVLejhZWUdMd0tOZDVoaEtEZE13SWdrTEwzeFBs
UTA0cwpYNEh4c3p3emtNUGVqaFo1SENzeElETVE5c0ptM0J3MmwyTkNQVVA1Q0IvM21aZnhYZ1Vy
WVlZV2hJanlVRUNNR1ZSWDMrcEJNcHVaCjlDT0h0dUdIYTdnMTljdkovWUlwZzlzU3lFbUpUV1Bs
RmVUV0h1Vm1uRjlwcFJ1SzhvSEhPOWg4TGExa2l1U1VsSnJPeW5xUkRNcE4KMXNaMHBNc1d3YnVU
KzB2Ylo4L3hDdU9lc2wra21jMWNyQXJJWUxTbFdPckJ0VzJ4N0NEcGR6eUFIakQ1MUdVTHI2eWFB
WHpXOTNhUgo0b0swWFpqZWdhQzhZTzhPS0pZMjRTYS9aQlRnQ3dvK0NLdDNLUndRMDgwaldzUHp2
K2NKbXljcForc2plVTlhZUg5SUNzY3ZLanIwCnBrZ0F6U0JwQXJBa0t5eHU3M2ZUcDhOTUIxakpN
dlZtK1ErSTRzSGhmbWZWVjVJa1NQMVo2ejBxWHoxUkJNWW9Bc2xqVkc0VmU2d2cKd0NaSWxkZHV4
Z3JIY2V5RjVZL1VoUldBeWRzUXpDU2NLSU0zNUlJd1FPam1RU29JK3pxK1BTdUhGcCtSR2ZrMHZI
QmJaRENmWHI2cAptQWhKWXY2eXI2Nlk2MzYvUmprWVNINVFNa0JKeWVHdWpYMG5VRDQ2bG45QVM4
OHZsaGxlS3gvZERhdmxGTFBlMkFzZ3hPWUtFZkxCCkwzT2oyYnpTY0l4c1pJNDhrNGdETmlVVDZw
UEhDeHN6MElESm1LR1UzRkk1TlBmTTljaHZuNkxDV2xuNEVtKzBEcE83Nm1CdEczNjQKSWk5N1hm
UVY0UG1Ud2Z0d1FGaXBzcE5mZTdTbkQzek9aanhGaDl3b3lUR2c2bWJGQXVZclBYM0tJRGFlRzRL
OWZWcnBWRG1GaTFvNwpOYjU0dS9TeHhwZnU1QlhFc0RJWlNUTUliU2xJUFVUS053ZTJ0Z1ZaUWFs
c2ZwWkk4cXBMVTQ1cG4wSGFidTJUbDRuNVpzNldCL0dxCnd1R1NSVnh0d2lhLzRjWHZGeXZJUFox
aHoyZEc2VGZQNVBHK3RoVGVQeWNLeDVhSDhONFAzZ3YzNzE5VDFSMEh5cnNYNlZKNW54YmUKTVVI
U21IeDlmNzNhRk8reE1YMFFMb09Ea3JXZk96MWp2UjlML2Ruek1yeVpkelh1NTh3NlRONm5jRTJz
cEFpTWRnUXNJNDNSTHFySwpOeFlSeUdPVGhTemVtTno4OWlOaVJnV1BMS2xzc2dPVEl5dmx6ZWJO
b0R5QU5ZT3Q1cmNlbHYwSFhUeEFUeXVaVE9ONXczRXIyL3NtCnNlMDJUS2thRjgyVC9RWlFhTEJo
dXZ5c0JiSjVIWGJTS2J3eXN1YWVZNnpaQnpwdSsrSkZHYndOSkQ5RVNJZDVERFp5cDVWTm8xNDIK
cVFIQkJXem1oanZ6UnZPd2dtVVlhdnZzUHpLb1NjN0twL1YvdlpJd3E1MngzdVo5dDlrTnF3OStw
U2ZjS3g2UlZ0eTBrOGx5VUg2OQpzSUhMWWV5NXlKaTBCV0hqZEZkZEpkZmo4Y0tIM1l3cEh1YWMy
Z2JNZFVCdXVPS2V2UzVhUDEySXk0NGtaZkFHYytNNXFwazM0TnNKCisyRzgyaU5XSEdLaGZONk1q
MW5xZEs1dnRCbnNmNmo2ODQ4a0M3aFRyZi9YZFdLV1ZzU2I5TkZ1ZXRycXYrUHZuY2NpSm43V01s
cy8KZklxV1hmU1U5VkxrZUREYVVwQjZpRERnY2dDelRNZ09VOFR4cHo4bDdxc3plSDlMdkJTa0xr
M2VxTk9nYmJmNXpZZkVMQlNyU2lWSAp6K045SUl0ODMxR3h0Z25EbDlPdnRJbC9jcHM0K0RvcTJQ
c2lNYmVEOG9iVk9qalZXSGJWTk5rL0JMZkIyUC9UdnZnMTZtbXBFWE5QCjVJYzljdGh2aEQxR2Zt
bWN5bmU2NXRXbXNOb1o0aFZGVERpVi9mUnZ2TC9yRXhuZ08rV0RhMDc5M0pyVzZYNHM5V2ZOQzhk
Tzc0ZVMKNCs2Uy80K1Z2MmNUMzgvN1QwTFk4OUJ6UldBa0k2QUt5RWl1UGVYZEZ3R1lEV0RXRm5z
ZVFEaHZmT1ZlcW50bWJ0U3plVHVlS0lvRwpCalQxSEEraCtZMy80L3U5NHEybzVLaGJaRThFOWlP
QU1NREZCMyt1VmZNT3BPSWYzY1lldHViSUJ4c0w2NThOenlaTDRoaStFcEVmClBOMWc0eSs4VnVG
VGVmMjJIUEJ3QVh1ZzJac0hWL1BaQk9MdlVSeWh6Rlc4YjZMb29GK0tPVmJueWsvRVZUQTJyUGEw
TjFFdjMzZkQKTDRVM0tzTWRLemJFZHZCZ1l6REpDNXVlNXJWVWRlZGhWSHI4UFNJSCtBRHYxUStk
eWJFblhod3dXNDV0SXluWkUxY1UycTh1ZnJXMQpLeTk1N0tJWlpsQzluUjNjZm03cWEzL1J5WUVC
dkdlNXRjZm8xUDVubVZPMmwvSzZHYjltM2lSY3o1NnVRbjNtSjNnYWZHQndYSGpnCjNJaENCMXpS
UCtxZXVzYS9BRnNLcjc0WWIxdHEvZUFwMzNxd3NkSC9sR2ZLYTluYkdqelY1V3p4UStwZzgwcXN1
TUZzaU5jUys2ZjMKdVJLa0xrMFdzYlpkN0xPQk8yL3NGU3M1Nmc4eTBaSElObUg0Y3Z1dGYvWUdW
dFlhV05HL2dqZnEvMEErZUdlMmNEMzBOSzBWSnc1dApYNzNNa3gwN3lWNDU1TlBEaWdCV24rRjVF
QVJIRDM1cEpHR0FMNjgyaGNmcmVYTTg2alZ6d3gxNVpicEFURTNoWk1PSkhQdTVKYUh6Ci9kNjQz
ejJ4dkI4c2JPaWhJakJxRUVqaVpjRGVVU09OQ2pJbUVGaDhhb3lEQWg0c3B2QXFCYkZwRWN4THJE
VDF6bkR6WDNySmVqdzcKMXlFem9kUWRudDIycG9OcjE1UkNUc016cGQxTi9XZW00S0lTWlVoVVlI
YjNPRkFhYUg3Sk1FRmlPU0lSMkdHZXhNb1JCckYyeXQ3OApRSEdYaVgwUldNR0JKNjdrekZ4YS9v
dVo0V0NHTHZqbDduQzhiRGhlZGR2KzFQYnh2K3paRHRxNUZ6WXBCZXZKS3BYRVh1bHozeHN2Ckkw
SGFScklIcnFaY2UxMlk2L1pmdU5qRlRMeFQrN09uOVd1UDl2UURQWWNNV1Ayejk1K1k4eDJrdGhT
a0h2eDRUY3JJRmZmRDNmV1YKZmtsOTc4ZFNseWF6Z2JiZG9XOFRKV0c4ZURMR0JLVTBzdkJHa2ZB
N2x5OGcwS1habXhXNWo0TWdhYUllY0RseGFWT1IxQ2dIZTFaYwo2dFd2bi92ZE4rWEVXMzlCM3cr
bUhLZGZ3NlBUUGIybUNBeFhCSFFGWkxqV2pQS1ZPQVRZM3Q5dHcyU2tFTmJEN2Q1K0l2ZjRBSnVW
CjRaM0pqWHJiRzZtTFA0bWlnZWFIbVZVcm1VMnIxbXZtdUdEdml5V0FvVG5IYjhPTDg3NkxwTzZD
WDliR3UvR0daWGExT1lUS0IzanoKd3NadGtJSG40aWFQdHVHRnF5blBYaGZtdXYzWHEvM1owL3Ex
UjN2NmdaNEhsY0czbkVGcVMwSHF3WTgzZU16cVRzRGtBY3FKcFM0TgpYd050dTBQZkpxcmQ1V1Ju
SEdhanZaR3YzMitRTlAwZWNyamcwcVlpS1ZHT2kvSVJTWU1EajM0dTZYenVCeW9qcXNEd1NjTDZs
a1BlCmVra1JHTTRJcUFJeW5HdEhlUnQwQktvZlBGM0tNQ3NGZzE3Z01Dd0FleWpnM2hVbUNqMnQ5
V0tiSEtwODM1ZlR1bWV1Wlp2MHNGY3AKMzhRak1JRzJqYUdydE5IZWxvWU9TUzBwVmdUOCtybmYv
VmpMMC9TS2dDSVFSa0JOc0xRbGpEZ0VZamJCR25FU0tzT0tnQ0tnQ0NnQwppa0F3Qk5RRUt4aE9t
bXA0SWFBcklNT3JQcFNiRVlCQUprZEpoc2NjdUNIdDRxQjJTcU1QZ2R6dGp4V2hXdDU5UEJJclpM
aEtPV0o0CjVmZ1J1ZHNjSlRDMmZ2aDBaSDlTckxnT1JmK0RLMjBFcGNTK0VIaS9Vek9aV0dzcFFQ
b0V0WWNBSlEzYkpDT203dzViQkpXeGtZeUEKS2lBanVmYVVkMThFeWk5OGlhTm96M1pNQjdPckpl
ZkMwMDFzVkxEWGhlSVZhKzBESjFPVEtpQ3hnWmVnMUdVL2ZWRGNKc044ckpQZApheWFhNENZVXRQ
VHpGOWlXUGRwbGM2TExpaVUvSjdtSEs2OTJ1ZUN5MlBDNi9KcnBjU3NnZzkzL0VGdGsvR2xQaWpj
NHlBQ1hxTzNzCkxuZTRrRk1iR0M2OGVmRmg1enRSN2NHcnpFVGNLOWozQ25FOWpHQ0RsZGRzSWxt
TzIrTjg4YTdWeS9HRGxwN1BnVHI1dnlSejJnOGsKWUMwaXhTODV0N0IvSEJ3SFpreC9HRzd2R1Fk
VzlaSWlrSEFFVkFGSk9LU2E0WEJDb0dQcDIrTGRLb2s5cFJqM2krMGNLd04vR0NZeQo4SERpVjNr
SmhrRG1SanVMMjJBVEtUM1lVeU0vMVVpV3U2ZTltVmJjR0k2dklWN0tobWwxd00xdFVuSUtWVDl5
SGpXeHkyNGFvRGUxClJJczVVdHVBbmUrUjBoNFE2NFBvT2tvYlAwMjhmaUVlanZrdlFSQkJCR050
L2VnWmRvMGNidHNkMzc0UlNQbElkTHZRL0JTQmtZYUEKS2lBanJjYVUzNWdRcUgzMGZFbVBDTHhU
NW9WbnNtczRQa1RIa2pjaithUndoTjVpRHJhV3lRRUw0Y295VlBrQjFUNXhDZUdQQklUQQpXU1ZI
Mzg0QnQzYVVPQ0wyU09kbEhLUXdjL0oybEp4YnpJcE5JL3VhZjU5cXVOek8xWjlKSURlWWpEUy9m
cjhFTDBSK2hRZGZ6MzlnCmM4UTNmdk5yOStGUzNJVEFlNWl4YlhubkVXcjR6KytZaDFLYWNPWXpv
blN0dXBuOTNmUGdxZVM0dTltOTd1WVMrd1FlcStBaXRPaVEKR3loNytsNlVuRk5NSVk3OUFYbmJP
YkJaUEZSeGFSZ254Q2dZeDhIdFV2SW5FSTZiL3Zmbk1LNGNod1ZCeUdyblh5bW1MRW5wT1ZSKwov
Z3RTMUtyZnoyRkZzSm55NTV6TGNVdU9KZ1JPYTN6aFZybUgrQ09JWlFKVEdDZ2FuVlZmU0N5QnZP
MS9MR1VnVVNuTDFzUFByNzN2CkJNYjdjM2t1NkJkd0tPVFp6ZXpORCtEVmxGS0plQThNbTk4SXIz
NVk4L0hEektzTklCK0RVZldEcHpGR1o3RlgwaTZxNWhXMFdLamsKbURzYzVUWjVaRysySHdkVE8w
VUNZelp4SU1NNmptMWhCczkrL0pzOFl2azFNZ1d0ZDJKdlJNVkhoZXNXc1N2Z3RTbVNCOGV2UWZC
TQpCT0cwOCs3WC8yTGhHV205K2pzd1JuOEM1WE4wYndUWVczUFBqK1U4bGk4akYvcTMxQWxIQ1c5
KzUxRitMNXpIZm1sS0JtelRBQUFnCkFFbEVRVlE3eWErOURIYmI5K1BQM0xlM1Z6KyszZm9VNG5E
Z3ZRQ3k5bGw3ZTNCN0huM1NydzI3WWRieHpTdXhWRjIvdEpqRXduc2QKd1ZvenBtekh3UjlmNE5o
SXUwVFM0UmdLU0FiSFBnRzFmZmJkYXBrZnp5YVRuSzJQNENDZkoxSXF0NU9XOXg2bjZvZlBEZVNP
Mnp5dgp2NHJBU0VSQUZaQ1JXR3ZLYytJUVNFbW44dk9lby9RSm0waGtjL2lzejkzK09DcS9ZQkZW
enAwcENzZUVzeGZJZmZ3SmRhNzlob052Cm1VQlc0WGdrNlJNMnBmYXZYNmJ1WmdUdG04M21XZnR3
OEswV1duUG40UndSK0YwcTJPZFM4VENGNk9tVW1rSGplS0NWbEpsSDdYZUgKbzA0UFJKaXU2c1dV
eVgrS0lBeWVzemZiUDNLT1lHQ0lScHk3M1RFU3NSdUtGWHp2bDUrelVMeGVOVHgvcXd6ZUMvYThV
R0ovTEw5Ngptcis3WWdkbVRmbnA1ZFBGNXovMnh4UWRlQzBoM3k0RWRPUEJmZjR1cDBnQU1sRXVl
SGJaUEpQRXNWa1FpU1cxYUgyNTF2NzEvNlNFCnRJcVpVaStJWFlJQkx2RXoyUnhNTVdPOUxTUTRI
Z0krQXYyZTFsbytyK1d4YlpjRFp4NlgyUDRjOFU0UTBBMzFDZ1VwZmYxWm9vejAKVTBBQ1lPYlZC
c0NGa2JmaTRsY29tZU5wdEg4ZCs2QUlRUUc5NUM0KzhoWnByOEN5Y04vTEpFcTJtQTRGNE44REtk
ZGJScWJBOVc3QgpJWW54QjBYeTRNQ1hDQ3JYajNmVWswLy9rNHlDZnZuMGQyQk1hRXZNSHRvRitu
UThaT1JDMis5dVdzT0Q3ekpXUE0rZ3RpOWVvTmIzCm51RDNpZnM3WTlEYlBndmt4NSs1YjIrdlhu
eVRSNS9xWFBPMVk5czE1VWg3OEhnZUV4TmU3eTFNcE9BOTd2UytHS2dDQWlXKzdhdVgKS0ljbktq
STRlS2NvSS96K1JyVDNESDVuWU9JS1pGWkF3aXNtZkNHR2ZqZHV6am5jMXFxbG5lVHZlcG9vT1Mz
dlBpYjU2cGNpTUZvUgpVQVZrdE5hc3loVUlnZXdaZTR0eWdjSFBhbzRJam9CWlNUeEl5ZDN1YU1x
ZmZhb01HS0NjSU5ydnNzdW55SUIzd2xuL2tqMGduRmpLCnFKdzdRMmIzTW5pMnRMdXhpakltYlNt
UjE3R0JGUkdDTVVCTzUrWDdqQTIyNWRuWENwbEphLzMwM3hMOEx4Q1RIb2tRNVJ5RFVyalIKeGNv
Q1p2TzdtQWZNSkNOeU80SXJ3dFlhaWhDaU8yZk4yRmZTaHFxK3BKYjMveUU1WjgvY1QvNUlzemJa
dzNIMjM2UDRxRnVWMTgyUwpUZmtUTDMrYlpkMmE2aFpjVHcwTGJ4SUZEQ3N1V01rd3F4dFJEenFj
d053aEtZVURSN0twWEdqbHg5VCt6YXRVd3lZeFdIM0NodUM4CkhZNmxaQjVvMXp6T0sxV0xYM1hJ
d2Z0U0ZxK3VRUG1BdmZheUt6Y014elBnQVVNR1g3TlRGcThVQVY4dnpMemFBRlo0REdGRkRuVVIK
czhMRUdkVE52OEpUYnNHZlk5V1UvZXdoV1RsQy9VTUJDY0svNFMrZTMwVFV1eXZ2dkZMbzEvOWk0
ZG12djljK2NUSGxiSFVZbDdreApSMGUvYXNCN1AxYitacmIwTzh6MGo5djliTXJtUGdBRnhLdTlE
SGJidCtMbHhwOUpZMit2WG54blR0bkJ0VTlCQ2ZEcnMxNTkwcThOClk4TEg3WDFoWkJuSUw1UUtL
Q0NRRVVvT0NOSGRDL2UvU3Q0TjZSdHNReWxZQWU5b29mWnZYNWY3Zmp4Ykp6cnM5WUFWY2xWQUJF
YjkKR3NVSXFBSXlpaXRYUmZOSElLMTBJMG1FRFlaUVBrQWhOcDBDcFpWdHhMT3lTK1c0WStrN29u
eklpZVVyaVFmM3BTZmRUN2s4YU9ubApRRlVZNUlOZ1F3NUZCb05Qek43Qk5Da1hwa09Jbk0zVTlQ
TGQ4anZRcjU3V09wbE56NXEyaTh6RXdhd0tkdXZZRUFsbEE3TnFvTllQCm5wYmZOQjVZZ2FBUVZW
endvaHlicjlUQ2llWXdybDhURXdRUjFhR0F3TVFHMU5Xd1NuNlRPVnA4UDBweWptcmZ4Z29hNmdR
RFFaaHMKZ0RxV3ZFMXI3ajAySVI2SjBuakdYZkpFdmZaaEJCTWhwOWxTUDh4ODI0Q1VGUDVxZVgr
K2Y0QTJTL3BZRHMyZXBzN3FiK1V4c3ovRwpqLzlZeW5CS0cxZTkyekp5NWIxMFEwbnAxdjlzMmZp
ZSt2VjMzd3hpVGNEdkJCQ1VUbEFHRDJEOTJzdGd0MzFoeEh3NThHZHU0ZGZhClh2MzRqcVZQV2Nz
d3gxN1B3MFFUNVBiZWFuang5a0Y5WHhnbkJEREJTdUlWVEJCV3M3RHFrYmZ6U1ZTdzEwVnlyZjJy
bDhYRURpY3gKOVR0VEQvdytBamxOaE1nTi9WSUVSaEVDcW9DTW9zcFVVV0pId0F5T2pXS0FIRko0
SHdVSTkwSXJQcExqMU9JTjVOZitCWHR4S0I4ZAp5eitnVlRmdlJqM3RUVFQxajUxUnlacGUvVXRZ
QWVFOUR2Z1R4d3BGeXdmekkybXdpVEcxYUJMUDlIL0srMC9lajF3UGVnRDdZeWdnCmhid2ZKSmxO
QTFwNW53ZG00Z3IzdTF4V1FKQlBDN3M5QlhXemNnRHFyRjRpczdCWVBURUVjNmlFVUo4aWg4akNR
dXdwSmt6bXZFdVUKdFNSV1BwS3pFUHlRelY3c3hHWXdsZGR1Sm01YllVcVdQZXRReXBpOERjRlVB
WUhCb095QnNBazBIaktLWW5yNXBsemhiRy9ES3lFZwpXV0d4OGVPSFdaQTJFQStQVHM4RWt0dlVh
UjlHZnZ3N2xSUFhOYjk2RDVLcGpYZS8vaGNrUzJzYXYvNXVUWnZJNDR6MXRwVHNFQjNjCnQ3ME1j
dHQza3N2S245TjlYUFBqMjY5UCtiVmRyK2Q5MnpDM0c2LzNSYzZzdzFoeHlKRDlHZDFOVlc0aXVs
NFByZmlZVjdmRHBuU1kKM09tc1djcXJ2ZCt3cWRSem9vRGtiSFc0UEF1bHhKQXZ6eWFoNVRkajBp
dzV3MHE2a2lJdzJoRkkwSWhqdE1PazhvMVdCTEMwRHJ2dgpqRWxiRURaMGQ5VlZVdDZPeDR1NFdB
S0g2UTlzZnJHdllmenBUNG5MVjJ4R053VFRMQkRNbkRJMzNKblMyZnpLVGlHZS9leW8vSkQzCkwy
d3V0MlF2U04rQUZ4ZEtUN2hYVmx0VzNCVGV4R2gvM3U4Y2NRcUtEL3MxbDcraktCNXRYLzZYRmFG
bVVVQmdZNDBWQ2ZBQWdyeGQKRGFzcHJXUXlqZWZOODNnV00zb3dPd0ZmV0swWmJNS01lWWhuK3FC
UWxQMzBiN3czNUJQQ0FNRktlYnYrbkpXcVhhbjU3VWZFVkN5MQpaQ3Fsc3JsY1R5aThxdExCbnN6
U1dDbkV4dVcwc21uVSt1bkN5T3FUTlIrMzQ3WXZYb3lZcXBXZnRVQTJDS2RQM0l4U2NvcDQwL0V4
ClVZLzVZV1o0OG1vRFVSa080TVJKYnIvcy9QZ2ZpanIzNDlIdHZsLy9jM3ZPN2JwZmYzZDdMdDdy
ZWJOUGxsWFB2QjFQa0N5YTMzcFkKekRseDR0WmVCcnZ0VzJWeDRzOTYzM3JzOTY3ejYxTitiZGZy
K2VxL24rWDUza3JtbFdXdjkwWEpjWGRKMzRaTDVlN1A0eG5jOThxSwpCNXhpWU5JRDdRaGtOcHli
aVJCelhlN0Y4SzZWZW1DbkdIazduU1Q1TnJNVENTVkZZTFFqb0FySWFLOWhsYzhUQWV3bnFMcnpN
Q285Ci9oNHFPdWlYa2hhckdOWHNLYXVkQjZtZ1d2WW1WSHpFN3lobml4OVNCNXNwWWFZdUpidUE3
eVN4YWROVHZPS3dnTzNzOTJZRlpUNjEKdlAxM2VjYitCYk9vaktOdWtabjdSdllPWlNpbGNKSW9I
MjFmdnNSN0dWNHpsMlA2aGJldHpyV0xLYTEwcW14ZUpONzMwY0YyeU5oQQpDN3RrYkxCbSt6TEpz
NmVsaHVDQnFJUjV3UjRCZkVCUXZQQVpLcXAvN21iQkZFcFRNbU1aV3Y1ZXhMV2w4TU43Y3VEVkpt
ZkxnNFVsCjdORnBaQXpybnBrcjU0M3NOU2w5NGt6WjY0QkJRZVd2dG81SkFRRU9WZk1PcE9JZjNj
WjdVK2JJQjZ0QjljL2UyQThDUDh5d29UeEkKRytpWGNSd1huT1QyeThhUGY3L24xK2w5M2dEczFm
OWk1UzFJZjQ4MVQ2LzBlVHVlS01vK0J1LzFDMy9OZTZ6K0Q4dDJudTBGYlgwdwoyNzZWWDBmK3JB
a3N4Mzd2T3I4KzVkZDJ2WjczYThQSm5lMmVtRm5FaVBzUTNxL3dyZ0cxOHpFSXF5bG1jZ2w3L2VB
QjBaQWZ6eVlkCmZ2UFk5WE1hbXh2MmRuYndPK2ltY0R1eEp0QmpSV0FVSXBERXk2TGhrY2tvRkU1
RkdwMElMRDdWZWQvQVFLVk5LVmhQVmdNa1JnRVAKZkt5RURlVXdGK3F1ZHg2a1l3WU9teFB4cCtO
RUJmdGZ6WjZoNW9xQ0FOZXpobkozT0o3S1R2b3JyYnB0ZjRLTDNLRWt1QnhPS1Z5UApldUh0Snc2
emhBSHp5cHUrVThhVnUyS0tnVm9LYjZZbk5nM3JybHZ1V0J6Y0RsTjNpRmVwR2h6dkI3bVl4SHRU
VUU0M205eFpONHc3ClBldUZtVjhiY01vdjNtdnh5dTNGZjd5OERNVnpmdjB2SGg2OCtuczgrVm1m
bVhwbitHOTE2U1hjdjNoQ0FLdW9hS2RXOG13dmc5ejIKZy9CbjVkVjY3TWwzWDBLdlBoV2s3WG85
NzlxR0EyQm1sV01vajExNXRqQUJsNzFPN2NTU3hQWFExS2RyQXIyaENBeERCSFFGWkJoVwppcksw
YmhCd1V5N0FEUWFtM1JadlJuWU9lOWpWcGl2eEhvTjhOaWtDTmI1OFYxU3lySTEza3htMG9WWSt3
QVEyaVhleDE2UjFScnpwCjJ3dHpPQVdBVXVCRm1ORWVLUFcyTjFJWGY0S1FGMmFlYlNCSTVqR2tp
VmR1TC81aktIN0lrL3IxdjNnWThteDc4V1RvOUF6UDcwV2MKSE5qdWU3YVhJV3I3MktmbHhwK04z
Y2lwSjk5OXFiejZWSkMyNi9XOGF4c09nRmxFaUNFK2NPWFp3a2VzOVdCNVZBOFZnUkdKZ0NvZwpJ
N0xhbE9tUmhFQktkaEhWL3pOczN0WHkzcE5Sck5jOWN5MUh6VzJOdXFZbmlvQWlNTElSZ0tNRTBF
Qlc1Z1lUZ2VITzMyREtybmtyCkFvckE4RUJBVGJDR1J6MG9GekVnTUZnbVdER3dvRWtWQVVWQUVW
QUVGSUZoZ1lDYVlBMkxhbEFtWWtSQVYwQmlCRXlUajAwRWNyYy8KVmdSdmVmZHh0Z3pxRXZld3VO
REs3bTJEekhKR1BkOFhIMk5zSXRsZjZuV0J6Ym9vczcva2liM2lLeE9iQXVadWM1UVVHclRkSnBa
RApqaGE5OGU3aVVhNTk4ZXNTdERKby9yNnlCYzNJSjkxUWxlUERSdURiUThadkF0dk9rUEVjR01Y
b2hIREZqYUNwMkhjRUw0RXdHWE82CkZ2MlVuaWtDaWtDc0NLZ0NFaXRpbW41TUlsRDJrd2RFN3FY
cy9hU1hvKzZhOCtYWFRBK2tnSmowZUw2N0lleEsxZzVrMlU4ZkZKZWQKMVErZkkrNSs3ZmRIMm5s
UWVZSmdrMmpaMTBXWmlaYkJucCtmVEhEN2F0SUViYmYyTWdaNlhyRFhoZUo1YmUwREoxUFQycThk
czNOcQpONFp2ci83am1GbU1Gd2VqSENkNVltUkxranZsTXhqOG9qQjdXWWxzTzRQRmN6eVkycDlC
ckpQeHB6M0ovaTlTNUJiYzlrSjIrelVUCm1ORCt2Tis1SFZlLzlIcGZFUmpOQ0tnQ01wcHJWMlVi
RkFRUVkyUEZqZUZZSU9JeEswR2xaRzYwTXdja1hKKzliWTFMVUk3ck5wdlIKSnMrNlJYUGdwUTlX
dXgwNFo5RTVqTFoya3loNUVwVlBOTnJPWi9heVJrcmJjWlltK05WY2RvY0w1YVA2a2ZNSXJ0T0pW
N3RMVDd5dgozN1hnT1VhbnRPTWFmVmZQRklHeGhZQXFJR09ydnNla3RIQnZXSFRJRFpROWZTOUt6
aW5taU9PZlVPMFRsMUQ3bDRzRWo0cEwzNUJmCitLbEhZTHRVZHNuYXhJR2c2amorQi82QStoRjdi
eW8rNmxhNWpKZ2E4SENTVmpHVFkydmN5b0VJWjFGWDlXS09tbHRGS0xkK3dmVWMKSytTN3FPZlpt
KzFIZWJOUDZWZEd5VEYzc0N2WUNaSm42WEYzYzBEQlpscDczd2tjeTZONndMeEg1SHZwVHhLUkhl
VTA4bkVUeHlNcApQdnkzNGo4ZnNVSnE1MThwNWdaZ1lxQ1l1Y25UdWZwemtkSHB5dzBicEMzam9J
bVprN2Rqdm9yRlZTWDg3ZGM4ZWo0aEJnb0ljUlBnCm94K21FMURnT3F1K29Kb25McVdPYjE2Uisy
NWZPVnNmd2NHL1RxVFVjUlhVOHQ3alZQM3d1ZUl1MVU5K3Yvc1J6SU8ycVQ0Ry9lUkUKdVlYN1hz
RlJxUS9nMWJKU2lXamY4Si9mY2R5QThBb2RzbkhGMGFIZGVzbFJkTWlOYkRLMUd6Vy8vZ0FIcWJ4
ZE9DdzZsQU5lY29CSQo5SlhtMS83cTIwNVNpeWRUeWRHM0U0SjNJcjRGVEZtOHlLM2RtR2RjWmVN
RWZ0akZYQ2VwR1RUK2xFZWtYemF4OTdxbVYrNkp1WjI1CnlZTllROUwzR0V1NGFBMVZmaUR2cEk1
dncrOGlJNi81ZGN2SDNQZkN4YXVPemZQV1g3ZXk3Tzg4ZzJmMWc2ZnhlK1VzTVUydDVwV3QKV012
elMrL1Z0NzN1V1dVeXgxNWxRVzZzZ0lEeXYvOHpmdDlzSzZ2YjltdHI3dmt4cFJSTTlLdy9KMnlJ
Zzg4NnZlTlQ4c2JIOWU0eQpNdW12SWpCU0VVZ2VxWXdyMzRwQUlBUTQxa1Q1T1F2bER3VWVxQnFl
djRVamttOUJFODU0V21KUUlBOUVDOGVuNU9oNWxNeDJ2MWlGCktOejNNaGxvdVpWaG5rbGkyK2lr
akR3cEkydVQzU1Y1Wi9XM1BPRGFRZkpNUVh3UUN4VWZlWXRqR1lqR2prQjRvSjdXV2xaZ1Z2TjUK
VDBKNE43eVdIUFVIU3VhWUY0anFYblRndFRScDd1ZWlNR0VnbTcvTEtaUzdYVjhFOEFSZzVpaFB0
NE15RndBYkpFbWZzQ20xZi8weQpLMDMzQ0RiWk0vZWh3cjdBa1ZEK3lzOTdUcUlJUTVGcWZ2dGhI
cHlQbDNxMlpPOTRPRzdPT2RRckE0TXlkcFY4R2dlYlBKQUR4Zm0wCkdiLzdYRklFOHhqYUZCajBr
cE80cmFIZGp0dmpYREhWYS8zb1h6eDR6UkJseENxY1d4dERHc01YMnEyZm5CMnM1Q0Y5L2k2bmhy
UG4KQVRuY1NlTWFJcFQ3UFMvOG5yMkFGYUw5ZVFZNWxZTmxmaVB0TDV5WmN5d2Z2M2JqSlpzbmRo
YlpnL2J6RXU2cmFBKzlIT1N1NmZYNwpaWkloMW5ibUtBOEhNRVUrVUpoRGxSL0tCRVhtUnJPcC9J
SkZsTXJCNkp6SU1SOUxmM0xGSlVCYnRaZm5WbFpVMjdIZ1dYSHhLNkxFCkEzL2ZObUV2ekljL3I3
N3RkYzllakp6N2xBVzVxUTlUeE9OQUlGZW5hNVNTN2x0L0Jpc3JOazY0cGhaUGlmdmQ1U2lqWGxR
RVJoQUMKcW9DTW9NcFNWbU5ISUl0WFBUTFczNHBDVlY5U3kvdi9vTGJQbnFQUXFrOTVJSlRMa2Jm
M2lNcXc4cnBaVlBtTDZkVDhWamlhdVlrUwpIcFhJNFNScitwNHlxTzhKdGRHeXl6YWdOWGNkd1pI
SXpVeG1kSnhQdHpMcTVsOFJXWDJvZWZ3U3FycmpJSW1NbTBqZVVmYnlxNzVICkhVdmZFU25xZUhV
Rzh0WTlmWTJjWS9VQWxBak1uT1RwY3JINWwwTDV5dzBiM0srY080TlhQQzdnK3ZzUHRienptRHlD
S09uWUtKbzIKZmhxUGUxSmwxU2kwOG1PZW5mOGpMVWM5dnZPb3BQUDZXdm1iMmJUeWh1Mm80WVUv
U0xLc1RUZ3F1aytiOGJ0dkxjOUxKbXM2Yyt3bApaeGF2OG1TeVlndUZhZG1WRzlLYWU0N2grcHNa
NFQyU1I4QjI3Q2RISy9jWE9GaEF4UG0wc21tVXZlbWUzRy95V0JGOFJlTEgrRDBQCkxOTW5iTUtC
K0VLMDdQSXB0T2JPdzdsZnZON0hablMvTUx6N3RSc3ZQTDJ3TS9uajF5c1BreTUzdTZORjJlcXFY
VTVWM0o4eGV4MVAKTzNPU0o3MXNJOEVGSzBLcmI5dVBWenBQcEJaV21wUFRNaWwvZHAreVp4anAr
M1hLeDlxZjNHVHlxeU5iTVhMcVY1YjltVnBlaVZ4eAo0dzY4ZW5pT2I5K3hQK3ZIbnhmbVh2ZnM1
ZURjcnl6STNWVy9RaDZ0ZmVvcXFubjRiSEs2bGoxajc4RDFaOFhHQ2RlazlLeTQzMTFPCk11bzFS
V0FrSWFBbVdDT3B0cFRYbUJGSW03Q3hQSlBPZzlTS0MxNk1lajYxY0dMVWVXOUhpNXhqQlFNVWRD
OEdWa3hBb2VYdmNjREMKSmpsMis0cWxqRVR6YnVLTmROV3ZwSXdOdGhiVE1mRFoxUmZzRDZzam9F
U1hLNWtHK0hMREpvazNnWmFlZEQvbGJuVVl4MDNyNWVDRgo0VUVDYkxXVGVEYXk3ZE4vVTJqMUZ6
d28ySmhndmdicVdQSTJyYm4zMkloUzUxbzg1eWZwKzVReXJGeUYySHdMNU5abVlBYm1kVjl1Cjlu
MjV5V1JOWTQ3OTVFeXJtQ0ZKb1VCR2dwYXhXWlhkekN4b21YNzEzTnZWenF0SmovQ2crR1RLWWV6
VHlyNG41VGU5ZHAvOCtqMmYKbkJWdVQ4SXZyK29sZ3R4azg4UE9xdTY0NVdIbER5YWJvSTVsNzVJ
SnZEZWdkbWJKUEsxMEl6bERtK1ZsenI3anNDbGhHaXNuOFpDYgpUSDUxRkU5WjltZGEzcC9QampW
V3l1WDhPV3pDeU9UV2QrU201Y3VQdjRZWGIzZnQyN0hXaDE5WkZyWThEMk9wUHlzMlRwbkdLb05U
CkhucE5FUmlwQ0tnQ01sSnJUdmtPaEVBM0Q3WkJuZFZMWkJiZG1EbmhHc3hDSEtuUEZBcFJnb05R
ZDhOcVNaYk9wa0JKcVprODQ5dk8KMm90TDNpWkRoekl3dUFZbEpZY1hKZ2VOOTc1QlQwUStOdlVL
VTdqOFJKVnJsNmV2RVA4Zkd6YXd3WWJ5MGJIOEExcDE4MjRFKy9tcApmK3o4TGg4Mm02aThkak54
TVp1NTRVNlVQZXRReXBpOERjRzh5Z1JjK3k2eDgxRUc3OTBCWWUrT24vd3dLUUlsdWszNXlXa1Vy
L1J5Ck5uV0JDUlhQeW9Pd3I2S25sYzFIN0dURDBYN2JUMDZrYitKOUhxS0FzUHZlMU1MMUNLdDhV
RXBBZnM5RHlRV2xGbThndjBHL0FyVWIKbTJ4KzJEbVdiY3ZEbXFiMnljdW9jUCtyS1dmTGcxajVP
cHhhM3VWVnR6amJtVjBlby9CYnpUTlRja3VsZUhQUHlvczV0dWRqcmtmOQoybVR5cTZPb1p5MG5n
Y3F5cERlSHNaYm5tNTdsY2V2Yk5ZK2M3M3JQcWQvN2xtV0U4UGsxZFJSci9TSGJmcmpHMmFaOFdO
VGJpc0NJClFNQm5sRFFpWkZBbUZRRlhCTm8rZjU1bitGZFRXc2xrR3M4Ym1lSFhQWWxOSFRDajI3
aG9IalcvK2FEcnMwRnZ3Q3dJTnNPWThWMy8KMXl1cHEyNDU3ei9Zdk85eFoxdDNwN3c3bHJ4RmFU
eFl3MFo0bUx5MEwzbGowSGwzNGlOUm1ObmxhZjEwWVdUMXdxbGN0MnN3NFFIQgpIV2JtaGp2enZw
VXRvNUxtOGI2RUxON01pNEV4ek94U1M2WlNLcHRKWUxEc1Izazh1NS9DRzd2emRqcEpramF6OHdF
LytWcy9XVGdvCjllSW5aOXNYTDFJWEswaHdrbEIrMWdJeE1VdWZ1Qm1sNUJTSk9aYWZyUGI3Zm5L
aWIyQjFwWFBOMTVReGFZc3dQbnl0dDcxUmpuMmYKNS9wQXY4Q2VvL0duUHlXdXBiRVozWStjMm8z
Zk0zN1krVDF2djkvODVrUHNicnVOU282WkozdkQydGhoQmVKWHhOUE83UEswTDMxTAo5aFlBMDRM
OXJ1VDNSU1hsN1hpOHNDQ0tqcDJadm5ON1B1aFBmdVJiUnk3dnYzaktBaSt4bHVlWFBwbjMwTGxo
SG11Lzl5c3I2SDhCCjhzRitqbGpyRC9qWWNVMHBtc1Q1YkJuWHV3djVLU2tDSXhrQlZVQkdjdTBw
Nzc0STlMVFVFRHhWbFJ4MWk4UWZNUHM2OEtlUFR5SUkKWmF4aVcrNGkzaFFOYzZ4TzlySUY4NkIw
TnBuQmJIMVFnbWNoMk50amN5bytsYi9hZXRCNWQrSXRVWmc1eVdObThaM0tkYnZXK3NGVAoxUHJ4
QXJiaDNwc0hzdlBaWGo2OFI4ZWtoeTA5dk9GZ1R3Z0k1NDNzUXJQdW1ia21pZXR2SHJ2ZFRPT052
NzJkSFZULzdFM3NUZXIvCk9HMnZKKzZKd3NmT2xKK2NLTGRxM29GVS9LUGIyTnNYNzFYaEQxYjA2
cCs5MFo1Vm9QT2djbUFETnB3V2dKcGV2VTkrOGVYN1BIdVEKcTJWUGNzVkgvSTQzYy8rUU90amtF
Zldma2wzQVQ3c3I1azd0SmxLb3k0RWZkaTZQZVY2R3B6aTRaY1crR3pod2FPWlZrSGphbVpNOApW
WGNlUnFYSDN5UHZERENCOTBUMVEyZFNPeXVaYnVTVWoxdGFjOTIzamt4QzIyODhaU0dMV012elM1
L01EZ0RjTU1lZU5iZDdObkhrCjFLOHNwMmVjcmlFd1lUejFoN3pzdU5ZOGRtRk1Namp4bzljVWda
R0tRQkl2Q1lidExrYXFCTXIzbUVOZzhhbnVneGN2TU9EdU1vWE4KU0hyaDRhU3B5aXRwelBleU56
K1F1bXErNVUyTUsxbUoyRXk4RldHaiszTGVKTnk1NnBPWThrdUdPVVozU0RZQW13Y0hrM2RUaHRO
dgpJc3Axa3NlcExMOXJtQTBsSG5CaklOR1BrcExaeGVWNE1YM3I1aFdvV0FpdU9URlREOHp0NUNl
LzMzMTdma0hPUGVYc3l5Q0o5K3RBCjNtN2V2OVBMTHBzSFNnT1Z3K3Q1T0FwSXppcGc1U00yaFQr
ZWRoTUV1d0ZoTmFCMjFyOWZweFNzSnl1eUVrL0l5ZVczQTdQeDRJSnMKdk9ySW9SaTVGRzlaOFpU
bnlwOFg1bDczM0lUaTY2NWxlVHpqZEN1ZStrTStVYmpHS1lPVm42bDM2akRPaW9jZWp3d0VWQUVa
R2ZXawpYRm9RaUZjQnNXU1I4TU9LaS81SENESmxwWVlYNTFITjM4KzBYdEpqUlVBUlVBUVVBVVVn
b1Fpb0FwSlFPRFd6SVVKQVRiQ0dDR2d0ClpuUWpBQmVVY0ptYnpPWWxQYTMxWXVzYnFueC9kQXV0
MGlrQ2lvQWlvQWdvQW9xQUloQUhBcXFBeEFHYVBxSUkyQkVJTFh1SDhGRlMKQkJRQlJVQVJVQVFV
QVVWQUVmQkdRQlVRYjN6MDdoaEJBSzVNc2FrUjl1cndsSVdOaG5ZS2tzYjZETHptZ0ZyZWZWeGli
dGpQcldtZApqcVBTczMxNExydENCYlYrK0xUc0Q0bTYzK252OGNtcERMOXJRMUdHSHc5Ujk5bjlM
S0tjSS9DZ3VNUHM2b2k2YlQzQnZnUFVtZXlUCmdHdmtZVVNRb1pkNTcybXJIMFpjZmNkSzVzYTdp
L2VxOXNXdmt6WGczWGNwK2g4TnU3YlNuMFc1a3NyeFRES25iQzk5Q0gwcGtUUlMKTUVpa3pKcVhN
d0xhRnB4eDBhdUtnRUZBRlJDRGhQNk9XUVFRUTJEOGFVK0s1eXFBc1BMM2UxQTd1MXEwVXBBMDF2
UTRMdnZKQTNKcAo2ZWN2OENDNHJkKzVQYjM5M1BwOGI2Z2w4dnp5YTZiTDRNbDZIL2tQbE1wKytp
QVA3c3Nrb3JIWk9KL29NZ3IydllLS0RyNU9nb3RWClhyT0pzRHh1ai9QRlUxSXZ4eU5aZW42UnlK
WTU3UWNTT0JKUnY1ZWNXOGd1VVZ0b3dwbi9sR2pHVUQ1QThGeUZvSGp3SGtTV0RieDUKTy8rVUNn
KzRoajJTVFFxblkxLzdjSjI1NXM5SE84ZkxrRlRocjRId1o4bkc4VENObzRMbi8rQk1sbUZQQ2RT
R1JOM04xZXdaNTA5VQp4NUdYUWV2ZnNDekNOODdoN3JOajZkdFUrL2pGTkpRbWZRVjdYU2hlNDlZ
K2NESTFPVVN3SDRxMkF2a0hnN0kyM28xS2o3MlQyK0RuCm9zd25zb3hFOTVkRThqWWE4bkpxZCt0
Q3J2SUxYNktzNzgxMkxMcW5yWUhmV1FXUjk3VjUvenNtMW91S3dCaEdRQldRTVZ6NUtub1kKQWJq
YWhOdmM2a2ZPb3laMjMyb2R6QnFNZ3FReGFRZmp0NmU5bVZiY0dJNmhJQjV6QnFFUWJLS0hHK0dn
RWVEallRR0tBTkYxbE1hUgo2YkZDZ1JXQXJFMTJsNndRZ0RGem85blUrdEV6N1BvMExHdkh0MitJ
OG9FRUVxVjh4VWNjbmZvZGR1VmF4QUVIRDZIOFhVNmx0aThXClJWenpqdHZ6QWlvKy9MZVNYL3ZY
cjFDSTAyZHU5SDNLNXJnZzR1M0tLV0NmcEE1L0RZUS9TemI5RHBQU2M2ajgzT2M0bU45RWF2dnkK
djFUMzF0OGxYa25ZbFdqL2dVdzd4NFJCZ0VzSnJNZ0tTOFo2QzJuWkZWTWpXUFFyWUlndkRFVmJH
U3lSRUNzbVZQbWhyRW9PVmhtYQo3K0FnTUZ6YUhTWUZzSUtaeEI2c3pQc0xmUmJLaDRsS1B6Z0lh
SzZLd09oQlFCV1EwVk9YS29rTEFpa0ZFMlZRbXNuQjZ1QitNVlQ1CkFkVStjUWxoY0Z0eXpCMkUx
UTFRL3ZkL1JwbVR0K1dnYmorT3lza3RqVmUrVVJrNG5hUm0wUGhUSG1GWHFoT282ZVc3V1BHNXh5
blYKZDlkNnU2bjRxRnZsSEhGTmV1MG1Wdzc1WWNCZGRNZ05sRDE5TDByT0thWVF4eWVCM08wY1ZN
MU9rQkc4Z0VxUHU1dDYyTFhyMnZ0TwppQ1RMM213L3lwdDlpZ1RCYStKZ2ZYVWMzOEVvYXJHVWd6
OXVFN1F4WThwMnZETHhBdnZCM3lWU0RvNmhnR1J3UkhOUTIyZFFXTUswCmlsZW1Rc3ZmTTZkVWNl
a2JiRXF6WFlRUHVLYkZ5Z2VvNFlVL1VBMDdCZ2hURW8zYjR6d0pMTmQzd2ZWbklQeVZjYURMek1u
YnNhSlQKTERLR2xyOVBOWStlVDUyclA2T005V2VKOG9HQzE5NTNrcmhzeGpFVUU2eUkyS21SK1Vk
TUVxeWFUSnI3R2RkTkdlZXhGYlYvL2JJOQpLWG1WaThUQUNZUVlCQWh5aVVDRzlqcE1MWjdNQWZk
dVp5VnZSNG1qQXRNMU54cXF0b0x5STd4elRJNXh1NTBwYlJUeE9acis5K2R3Cm4rYjRMNjBmL1pO
cTUxOFpNWnYwd2lOdjlxbVV0L05QUkxTdTJxVzA1cTRqNWRpdkx4cytxaDg4amZrNGkrT3ZkRkUx
cnc2NVVjN1cKUjNCd3l4TXBkVndGdGJ6M09LOHFuaXR1bnQzeThTb2Z3UXJ4am1wNTV4RnErTS92
eElYcmhET2ZrUUh3cXB0WmVXZGVTcmpQcGsvYwpYR0xmdEgzOEw0a3RnVmhDVUhBeG9kQlo5UVhW
UEhHcEJKYjA2Njl1UE5wbFJUNkZ2S0tadmZrQnZISmFTcDNWUzRTLzVqY2VpTlNiCkhTKy9zcjNx
enEzZElZWUtKaDJjM3UvZzJVMGV4QkJ4dzhndXEvMjhsdnMxS0NrMWs2Yk1DNjgrMS9CS2JNZVNO
KzFKS1ZIdnpuNFoKNndWRllJUWprRHpDK1ZmMkZRRnZCRkxTcWZ5ODUrU1BCck9lclIvTWwxbjI4
Z3NXVVNvSG9JT0pDN0dKRGdnRDQrN20vakVtSE5QNAo1T3ZORkZISmtiZHdjTFlEV1pGb0p3UjZD
MElZYk9PVHhQc2c3TlF2djZRVUtqOW5vU2hWTGU4OVNRM1AzN0xPQnZVQUFDQUFTVVJCClZNS3o2
RnRJZkpLVWNlWDJ4d1VIQkxVRDliVFdVbmZqYXVydHd3WFhpcG5mWk40Zmd4V1N3bjB2a3o5N1hH
ZG1ZaW9IZzZXMnIxNlMKUnpQWURqOWpnMjBvT1RPUFZ6WENpZ1VHRVNDekFoSmVrWkJMb253azg4
cEg0WUcvcE5JVC95clBJanA0S3crNFFJaS9ncnhBQ0NyNApIZlZTdzNNM0I0dERNUUQrMGlkc0tn
cEMwLy91RWZ5eVorNURoUnljRWhSYStha0VEY1R4ZWxkL1NPTlBmWnp5ZHo5SE1HM2xHWGxYClly
TTBRejJoVm5NWTlldFZMaEthZGxOeTlEem5PdVQyTk9Ic0JUeFEycDlYQWxPcGMrMDNqR04rWHhu
OVkrNmdQd3hKVzdIeXpvRUEKd1JPaXFpTW80cVM1bjFQNnBGa3k4TTNmNVJUSzNlNllQbjY1SFhq
VWc4Uk00WFlPVE5CZWhBTDBaWU5oeGNXdmlHS0JNcnhvM0p4egp1UDkwaXVLWXYrdHAwdGVSM2pF
Zm4vSzdxaGZMY3psYmg1VWwxQlB5Z1FrUVZzaUk2dy95NHhvbVY5SXFac283TDIrbmswUTVhMzc3
CllkazNoZjRmcEw4NjhtZ1hGbTNtaktkWnNUOVh6RFpiUC9vWFQrNWtpRExpS21lQWQ0VlgzVG0y
T3c1bzZmVitkK1BGRXlPN3JBTTgKVDlpN2M0Qjg2T09Ld0hCRFFGZEFobHVOS0Q4SlJRQ21OK2s4
aTR6bzJLczVXam1QblBnL09KMy9zSSttZko0TnJYM2lZc3JaNmpCTwpzekZIYmI2cTM5NFBNRk0z
LzRwK2FUQWo2WmV2bXlCUzlxNC9aNTZXVTlWZFI3QUMxT21XTk5CMXAveXladXdyTSthaHFpOEpK
aWVnCjdKbjc4YlZaYkRLd0I4K3VoL2VubUFJZ1k5NE94MUl5S3hnMWovUHEwT0pYelMzNXJieHVG
bld0K1lyS2Z2YVFLSE9JS0k5OU1sbTgKdW9LWithRGxJRE1vRlRrOGE1bzVaUWZXZHNKS1QrTi8v
MGlGKzE4bGVhV3pVcEtDVllTT0Ztci85dlVvUHBKekNqbmRsWEt0dHl0RQo3ZCs4eG5tRUIrbHBQ
SXNQd3NDdnUyR2xITWZ6RlM5L2xYTm55QXg5QnEraWRUZFdVY2FrTFNVNk94d2JRS21yZmV3aUtq
ejRWenlRCnp1WDJkS2g4Q24vNEM2cisyOC9aaE96aEtGYnplRFVPOVpYWlo1N1dzZndEVnNEZWow
cGpUcnpLdFFZcGRLM0RUZVpJV3dhZXl5NmYKSXJ4T09PdGZzZ2VFMFRURlJINkhzcTJZUW9WMzNv
c3k4ZkszV2ZIY211b1dYRThOQzIraWduMHVsVlUrelBRM3ZoQmVJZlRDby9uTgp2MUVYSzljVlBD
bGhLTWc3d3FURnpIZkhzbmVqbEhOenovcTc4amV6SmVvN1ZpM0g3WDQyOTdrNTdJemlzVWdTYXo1
KzVkYy9lNE1vCmZPaG5XREhEaWtNWHR5K3NaS0Vmd2hRb09UMWIrRUtrZVNqMjJDZlZ6ZVpBb1pV
ZmN4OTVsV3JZdkZTY2FNVFFYNjA4Umhqdk84amkKMVFORWlFZGZXM2JsaHJ6NlZDM0tEY3drcldU
Tkk4aTd3cXZ1bk5wZExPOWhLeTh3QVhYRHlNcC9JbzVkKzEwTWRaRUlQalFQUldDNApJYUFLeUhD
ckVlVW5vUWlrbFc0aytZVldmeUhLQjA1Q2JCSURTaXNMMzVPVEdMOEdraS9Nb2tBWXlQUTByWW14
NVA3Sm5mSkxZNFVLCmxNNS90QlVYdkJqMUVQWWh4RXJHcnJteitsdDUxT3dUaWFjY3M4RWZKbGhK
YVptU1g5c1hiSXJGNWo5NU81OUVCWHRkSk5mYXYySnoKSTV0eTFzVm1Ia3N2bVNRenkyVW5QVUNG
KzEwT2pVTk13cUJrZ3JCQ2hGVWVlTCtLaCtMaEw0a0hnS1VuM1UrNXJNejI5dmJLNEZONAo0YjFG
VUhneGpHOTQvdmVzREQ1Sm1NazIrMUpTT0c1TTBhRTM5Vk5Bc3ZwV2dxQ0VRWUdzZnZCMGtkTXVU
NUJ5elRPdWRjZ3JnYUNPCnBlK0k4bUhTeC92cldzNEEybVJ2MytwUFYvMUtVVUNNQ2FKNFFtTkd6
WXBOTEhnWStXTHB5eTN2encrbTNISWJBQUZUa0gxZ2JzMG4KcTg4RTBlMGQxY1A3bHJDZktXdmFM
ckx5Q0pOSzdGV0Rvd1pNTk1DUkFhajFnN0JIcjdaUC95MU9IakNwQW5OS1VNZVN0Mm5OdmNleQpT
Vi93OTRLVlI4bkU4cFZXTVVQT3BNMzBsWTkrMlBITks1WlU3QUhRZ2xmK0hEWkRZM0o3SncxbDNj
RWtEWGc3WWVUa0FURktxQmhQCkJxTS94TWlDSmxjRWhpVUNxb0FNeTJwUnBoS0ZnQm1nd0x1VG9a
VGNVamswOTh6MVdIN05zL0hrVy92a1pUeUxmelhQamgvRXMrQ0gKUjgyTXhzS0RTZXVVWHpjUDFF
Q3d5OGFzb2pHWndUV1kyVGdSQnM0Z2JBWjNwYjRWQ3g1bFM1SjR5Z210K0poWENOYUlFb0ZCVkdm
TgpVbmIxK2cydmpEd25DZ2d3QVVFcE1RU0ZCL2JqU05kZFh5bWZUdlppbEY0eG5kTDZCdENZN2Ux
aGs3WmtWbXJHelRsUFZyZk04MWhSCmdKa0lWa2F3MFIwZXNtQVc1ZVJaS2g3K01CTUw1UU1yRmF0
dTNvMWdsejcxajkrdGJFSGhTT1oyMThvS1NNTy9meTBmS0NMalQzbVkKellvbWlpMTVyOFZWTUR4
N05iLzlTSGhtMldFVndzamxWNjVKRi9WcnEwTnMxQWVsRm04UWxjenJaS2phU2o4ZWVBVlRxSy85
bWRVdgoxczdrY2p4NERLUXY5K1BQZGlHRHpjUkFXQkZ6b3lEbFkxOFVGSkJDM2c4Q00wT1lIVUk1
aFFLT0ZSQlFpM0VwekthVGxkZHVKbTY3CnhZbkJyRU1wWS9JMjNDZk9FWWNOU0J2TGV3SHA3WVNW
RmxCNk9adWlzY0p2Smdxd3lnS0Z5WW44M2hWQjZzN2U3b0pnNThRTHpHN2QKTUlLeW56UHJNREVw
d3g2MDdpYjN1blBNMisyaXJkLzU0ZUdXalY1WEJFWUxBczRqa2RFaW5jb3g1aEdBT1Exc2h6TW1i
VUhZek5sVgpWMGw1T3g0dnVGaE5JbUlGYWlENU5yLzVrR3lJTGpsbUhtLzhuY2Rla1JiMURUUmo1
U0tjM2lrLzhOZkZYcFRTU2liemZvUEhKTFlKClZodGdidGE0YUI0MXYvbGd2OEk2Mkl0TEdnOUNz
VkU1cld3YXRYNjZzRjhhKzRWNHlzRmdFY29GTm9CQzJVRWVJTFBoM0NoQTVqcnUKWWUvSnhDdmZs
ejBXbmFzK2s4RXl6RTlBclorRnpXa3c4S24vNTNYaTVyZGc3NHQ0MExXdGVNSEM3RE9jQ3l5N2Fw
cWtMejNoWGxuOQpXbkZUZUtPN1hJejZpcDAvbUMrQllBcVR1ZUhPdkQ5aHk2Z2NzY2tiTGxxeDE2
Vjk4V3ZVMDFJajVsbEloRTNVVnVVRDErQk5KOGhNCnJGKzV5TXVQWUtLRC9VL1lYekgrOUtjSUxw
aXhHZDJMaHE2dGVISFIvMTQ4ZUtDZEpmb2RrVGY3WkRZakxPSDlJaWNKazgzc3VNR04KZ3BTUDJF
VEZoLzJhMjlhT29uakFreG84NDBFQndaNE5yQXlGZUVVVmxNZm1uVmhCZ3dLTDFiUFVrcW1VeXFh
b1BhRTI2V3V4dmhlYworTWJlSzJNR1ZuN1dBbXArNTFIWlU1T1NVOFJPUEk1eGVzUzNiUEFIY3V0
RHVHZHZkKzFMMlZ0Y0hPOTNMNHhRVHNseGR4RmtnVXYyCjdzOFRwSUFnWXd1aDNoTlJGNVlzOVZB
UkdGRUlxQUl5b3FwTG1ZMFZBUXppcXU0OGpFcVB2NGVLK2pZRVkzWWFNOHp0L0NjYUx3MDAKWDNq
eWdXdGYyRkdYOEFaYnR6L3RvUHc1NVFkdldTVkgzU0oyNG1hd0RnVU1IeWVDbDZUMGlUTkZNWUJ5
VVBtcnJaMlNSVjNEUURyVwpjcEFCdkYraERGQTdINE13MDlqQmpnSXkxdHVjQnhXMVVYc2VNQ0RI
aWdjR1ZoSHpKQjQwMTdOWG9PWlgveUxQNHd2MjhraGJzTjhWCmxMVXhtNmp3QjRQU2xnK2VZbk8z
dFpSU09FbVVqN1l2WCtKOUxxOUZuck1meE1wZksrZmYrdkVDM2hPek53L2k1MGZjQXB0OFE2cysK
NWMzM0w4dW1ZZXpEQVdGVE9mYSt3RHRSdk9SWGJxQjhlZU45TFhzMUt6N2lkN3haK29mVXdTWjZt
T0dHZVJpdmh6bG1NWlJ0eFpFQgpsNHRCOEVobVQzaFdHbWhmdHVabGp2TzRiMk5sRHJGcTRCQUJI
czNjS0VqNThLVFd1WFl4NXpsVitnN3hxa2NINzQrQzB3enNsNElTCmExYUJZSW9JRDA4NVd4NHNS
ZUs4a1UyMjZwNlpTNzN0alhIMVZ6dnY2UGRWOHc2azRoL2R4cDYyNXNnSHE2ejF6OTVvVHhvNTkz
dFgKd016TXF3OGhJNmQyRjgvNzNRdWpDTU9EZk9DSHh5QVhyOWtyQXVzY2dTUmUwZ3l2WGE5elZw
UUJSU0FZQW90UGRSNFUrVDJkVXJDZQo3RG1RT0JvODZFb1VEVmEraWVJUHJvZFRDdGVqWG5qNUNt
Qk9BRk1oNmc3SlFENFdIbUl0SjVhOFRWcHM2SWE3WUppZGlCbUlNY2t4CkNTeS9NTmxDckpGdVZy
ak1Da1B1RHNkVDJVbC9wVlczN1U5d1Y1cG9Tb2FwSHcvRU1MaHdKUFlFbE1LYmgwSHdOQWFuQ0lr
ZzMzSUQKRkFKc0JTODJjUXRLdzdXdE9PRUJNejYwVVhnbWc4dHQ3RStvK21ONGtHN2tUV1JmUnZ2
RHloTDZVbEJLV1BrY24wTGFHWnRiZHRjdApkeXcrVWYwVjdxOVJGdlpjV1owZU9CYmFkOUdyYktl
NnMrZmwxTzVpeGk0QVJ2WnlCK3ZjQzQ4Z1pVNjlVNGR4UVhEU05NTUxBVlZBCmhsZDlLRGNCRUlo
WEFRbVF0U1laNVFpVW52QVhTbWR2UWl0K3lTNUpsY1lVQW1iUERZVHVaYzlwcTI5bkpmU1RaOGNV
QmlyczZFUkEKRlpEUldhK2pYU28xd1JydE5henlLUUtLUUFTQnVtZXU1ZjAzclpGelBSZzdDTUJr
cWZydlo0dnJXTVFEaXRkTDJ0aEJUQ1ZWQkJRQgpSV0R3RU5BVmtNSERWbk1lSkFSMEJXU1FnTlZz
RlFGRlFCRlFCRVljQXJvQ011S3FUQmxtQkhRRlJKdUJJakRXRUVqTm9GU09rd0d2ClVkaXdQUmlV
dWZIdTRsV3BmZkhyN0RyMzY4RW93amxQUklYZTVpaTUxOHB1U1JNaTMyRGs2Y3k5WGgwQUFybmJI
eXRQdDd6N09HLysKRG50VUdrQjI2K3pSZGRaM0FrZ2N4VnZ0MHNUM3RRQThqSlFrbzZVOWpoUzhs
YytSaDRBcUlDT3Z6cFRqRVlJQS9xd3J6Zys3bUxXegozUFRxZmJUMnIyRVhuZlo3ZzNXZXZka0JF
alU2algzM0ozR0FQRkJuMVZmVThPSnQxTWlmUkZMQlhoZUs5NjIxRDV4TVRVT29nTUNGCko5emRn
cFpmTXowaENvaFRubVUvZlpBUUE2YjY0WFBFYlcwaXNSc0plUTFIK1UyOUwyV3ZhdDBOSTFjQldW
ZDlKMGk3cy9MV3dxNTMKRGVhbXI4WFRMdUo1SmdpdlE1bkdTUWFEelVodmowT0pvNVkxdGhCUUJX
UnMxYmRLTzRRSVlJWEJ4S2hBc1Nuc2tRa0J3VUJEUFVPYgp0OU5QcVBTRWU2UnNyRXEwZi9XU2VL
N0oyZklReW1QUFVJbFdRS1NnZGZDRjJBZ3JiZ3pIc0JCdlp3bmd3U25QekkxMmx0Z2tKaUo4CkFv
b1pVVm1NZGZsSFZHVU5Fck9KNmhlam9TMk5CaGtHcVpsb3RvcUFLd0txZ0xoQ296ZEdDd0p3aDFt
NDd4V1V2ZmtCUEd0ZEtsR0EKR3hBLzRvMEh4RjgrNGxGa2Jib0h1eUFkeHlzQ1gwaGNobzV2WHZH
OEZ3U2IwUEwzYVBVdGUvWWxUYUlKWjhGWFAwbndxYnAvL2xLTwp3VnZSSVRkUTl2UzlLRG1ubUtO
emY4SVJ2QytoOWk4WHlmMktTOStRWC9pL1I0REFWSFozMmNSQnplbzRiZ01GZENVTTk2cEZoLzgy
Cm5NOUxkMUgxMzM3T3gyRzNqVFc1RjRsTFVybkpYMlVjdERCejhuWWN0YnRZWElpR2xyOVBOWStl
enpFNFBwTWtocC9xQjAramNidWQKeGQ2RXVxaWFWemtRYUsvazZOc2xnQjE4N0NNaXNwV0dRazRw
cjdlYmlvKzZWUTRSbndTS251SFpEY09pUTI2a3pJMTNvK2JYSCtBZwpqYmZMczBXSGN0QTNqam1D
WjVwZisydFVub2lYQVZmQW9OTGo3dWJBY00yMDlyNFRPQ1pEdFdkZElqYURXMXVUekR5KzBFYXdv
dGI4Cit2MFNTQkpKQ3crK25ySTJtU094UkpwZnU0OVNPS0o2TWRjeitJWmJ6MURsQjlLV09yNTln
NUxTYzZqOC9IQzhsVlcvbnlQdVV2UG4Kbk12OEhDMUJLUnRmQ0dQbXdVTGtWc2t4ZHpqS2ovZzZi
dVZISGc1d1lPckwzc2I4MnBBOWE2KzJuRGY3Vk1yYitTZnNsbm9OeHdrNgpuRjNsZGhKbXNWTkxw
a2pNanFBS3VWY1o0TWZJNHRiMmtNYXY3eUJORUlxVXhUR0d4dTEycHRRUjRnTTEvZS9QNFhyaDlv
ZDRJYlh6CnI0d0V1ZlREMUpNM1cxOXo2eGVGQjEzbitrNXhhMHQrZlNrSUhsNzlBYzlIOEJyQXV4
WDV1TW1BZTZEc3pmYWp2Tm1uT0w2Ny9mQVAKNTZEZmlzRG9SRUFWa05GWnJ5cVZRWUR0OXllYzhi
UUUvSU5QZnZ3QnAzTWdPQ2dqSGF3Z2xKLzNuTVJ0d0I4MXNWbFNOZ2VTeTFodgpDekhkY2JzSDVT
UldLdGovS2pGSjZ1M3VvalYzSHhYMndNTXhJY3JQV1VnWjdCYTI0ZmxiWlNCYnNPZUZ3dS95cTZk
SkdrUTVCcVZYCnpDQU03QkVSdkhEZnl5U3FjSHRmQkhFL1h0SW5iczVSZmNNS1FkMC9yK1hrMy9t
TVJ4QTBCTzh6bEQ1aFU0azJqZ0JubWQrYnpUenYKd3dIeldtZ05CbWxNaHArS2kxK2haSTZzanVC
aEJJelBYa0RwRXpZUnBhVno3VGNjQUhEM3ZpdzVac3NReWRsWFlJVEhKT1lMWkhoMgp3N0NEbGF5
Q2ZTNlJDTXlpZ1BBZW1YeU9KcDJjbVVkcjdnM3ZLekI1SUU5RVhrYlFOVVNqNldtdGxhQ0pjT3Zx
VlpkUUxnZlNuam80CnluWEJQcGV5WWxjUVZrQ1l4M0dza0NZeGorMTMvNGpySUYzeVJ4MjBmckpR
WW96a2JuOGNsVit3aUNybnp1U0I5dG9JRGtrY0d3SXQKQUcwSmNyVi8vVC9BRkpnYzVXYzBJSjli
K1YzY0pvS1N3VHFxalFWb1EvYjh2ZG95bEVyVWNRNi9CNG9PL0NYWFlRMHJZMGRSYU1YSAoxUFJL
ZUtYUW5wL1R1VmNaU0c5a2NXdDd2bjNIcVZDWGE1R3l5cWRML1NPeWZkR0IxeExlS1YwSUxNbVRM
L203bkVJSWlpa0tweCttCnJGQjc5bXVMZks3OWd0OTNYaGc1dGlXZnZoVEllNWxQZjBCN2pPQTFn
SGNycXNKUkJwYmJVUEdSdHppL3UvM3c1N2dxU29yQWFFWWcKZVRRTHA3SXBBbGs4NjRkbzQ3MDh3
N25zeWcwbDRuamxMMlpTd3d0L29MVHgwM2hzbkNvRC85REtqMlVtZWZrdnBsTXoyelo3M1lzVgpW
VVRITGp6Z0dubXM5c2xMeGZ3SkoxbTg2Z0hsSTFUMUpRZEYrd2UxZmZhY0RBNlNNM041Wm51UHFH
SXFyNXRGbGVEdHJiL0xkUlBaClBDcVJ5MGtheitxQ29QeGd4amVkRmF6SnR6WkdQbVltRUdrcTU4
N2dGWThMbUpmL1VNczdqK0dTUkZUR0tvcVZhbmxWWk1XTk84Z2UKQ016Q1krQ0ppT1BMTHA4aXln
cGNub2FwZDhqa3RQTG5kT3lHWVN0amo4M3FpQUtmVmphTnNqZmRVNVFQS0ZkZGE3N3FsMVhkL0Nz
aQpNOGcxajE5Q1ZYY2NKRkd2dmVweW9PMEprZHdSSFQ2ZDIyekdCdHRTOW94OWVNVXVYK3FwcSta
YlB0OWI2Z0JLNnVyYjl1TVZtUk01Ckd2dkRvaVRtODJ4L0lzbEovdlN5alJKZWZsUWJpNkd2R0Zt
OTJqSUNVMWJkZFNSaDFXYmNuaGRRRVFjbnhERldRMkp4MCt4Vmh1RUQKdjI1dHo2L3ZXUE1JZW95
eWxsLzFQZXBZK280OFVyZmdlbmwzMUQwZGZnZGh0UmZrOS82SmxUZW5kZ0VIRkY0WU9UMkRDUEpl
ZlVtWQo5L21LcFQrNDFZMVBFWkhiVGpKWUhXKzQ1ZStIZjZRQVBWQUVSaWtDdWdJeVNpdFd4UW9q
a01held5RDhHZmZ3ako0UW13NWdGUU9ECjZ0RHFMM2pndExHWTBraTZKVy9MckhmYnAvOTJ2WWRW
ZzZDVVdyUUJtM2I4alRkOUo3Tmk4eGpCOU10UUdwY0x3cUN5NG9JWHpXWDUKVFMyY0dIWGUyOUVp
NTUzVjM4cHZMSHNQdXRoYkRRaktGaFFielA1aDFqK1ZvNk5ET1VuT3lBbmY1dzNjcFNmZFQ3bGJI
VWE5dmIzaApTT040amxlR2tuaEdzVmRTaGI4UVJicTdZYVdjd0RRTUpCanppb0NkaGtwT2U3bjJj
emNNTVJodGZ2c1J5cDk5TXVXdzdHbGwzNU5ICm05aXNLU2o1eWRqdzR1MERhMDhjK2IzNXpRZkZ0
Q1ozK3gvTEJuancxdlR5M2NKaVd1bEc4b3YyYktLcmgvck01dEpZT1lpaUpLemQKSkpaaUtqOWcw
VkZ0ak0zRlFFSDZDdElsQldqTFVDN3JucGtyNWttOC9FbDFULzlDVEREeGZCQUtVb2JKeDYzdFli
QU5jdXM3NXZsWQpmbzBDMVZXL2twWFZyU1A3emJyNlp0U1RPWEk1eUsvTlFzRUZEWVMzV0RDU3d2
akxqeStUenVzM2x2Ym9WamRlK2NkeXp5My9STWdaCkN4K2FWaEVZYmdpb0FqTGNha1Q1U1NnQzNX
eDZBRXBuejA4d2Q0Q3ROd2g3RkhwRGJWUjU3V2JpU2pKenc1MG9lOWFoc2tsODNKeHoKcU9hUjgx
M3ZWVDk0dXVUaCs4Vm1NdU41VDBVSzc2Y0lyZjZjdlY3OUpPcVJiaDRnZ0Rxcmw4Z3NJY3g2RE1G
TXhwRk1HbFlRZ2xKbwp4VWM4dTl2TXMvcTViUGQrRXE4Q0hVdXJmcnNMei94ZXlJT3YzMFN5eWQ3
OGg2SjhkQ3ovZ0ZiZHZKdk1DRS85WXhpdlNDS0hBK1FQClNpM2V3T0V1UXo1RWNqb1c3blRSQWNN
bW1PUkFBV0VYdmxETWVyaHRRQ2x4SXlob0lDaVdJRjhadVV5M3RoYTBQVFc5K3Bld0FzTDcKTmpD
dzYycXNvaFlPcUFjeWcwdDQ1aktVa2xzcWgzS1A5K3FBNXlSV1BwTFpHUUljSkF5RTdQTDdsaitR
d3ZoWlgzeHQrUWRweTFEaQo4M2M5TGZJa0ZPbEczaS9SdzZ1RVFTaElHZjN5c2JVOXY3N1Q3L2xZ
THZUMmhGT2Jkd1diTnZWZGtCOC9US0c4Z056NnRkeTBmZG5iClJSQ003TS80OFdVcjB2RTBydlpv
cXh2SGpGMHUybVZ3VEdiTFB4RnlPcGFqRnhXQkVZS0F5eWhuaEhDdmJDb0NQZ2kwZmZHaUROU3cK
ZWJ2OHJBVmlYcFUrY1RQZUUxRkU3VXZlcEt4cHU4cEFFeVpRcVNWVEtaVk5XVEQ0ekdQN2NMZDdQ
a1ZHYnVmenhrUGo5WXJZL0duOApLUTlIN21GMkVwdk51eHBXOHlyRVpGRlVXajk4aGpjUFo4b3Nm
T09pZVRMakhYbGdBQWN3TDZwbHM2RVMzcHlkdS9VUnNnclM4dDdqCmtZM0VKbXVZVUlIZ2RqWnp3
NTBwZmRLVzVwYm5iL3MzcjhyZUQ5aWNqei85S1hGTG16RTE3SWtLRDdieFhwV2hrTk9UU1orYldC
SHIKWFBNMVpVemFRbEppdGFHM3ZkSDFxWTRsYjFFYUsxd1l0TUpzcTMzSkc1NHlKck5pTU5EMkZP
SjlJQjJWSC9JZXBjMkZMN1FSbzFBRApZOWlpZy8rQy9hNmtycnBLeXR2eGVFblg4dTVqWWxZVTRs
VkF0RWVzeUlWV2ZVSTVzdzV6bGMvdlJqLzVsNzdsV2I1ZmZuNzNZMjFECi9tMDVpVXBQL0t1WXpz
R3BBMnRuN0EzdVdNRm05YTE3UjFhUnZQanlMOFByNmZBOXY3N2puMFA4S1h3eFpRVWMrK2JjK3JW
VHlmWjIKMGR1MzJ1YjFUckUvNDllWDBEZjl5SzgvK0QwZjYzMjdESzJmTHZUTndoZi9BSEw2RnFJ
SkZJRmhqSUFxSU1PNGNwUzFnU1BRdzV0TApxK1lkU01VL3VvMDlYYzJSRDFZYTZwKzlVVFlHd2pO
UnpwWUhTMEd3bjI5ODVWNHh5NENkdE51OW9Gd1oweWFreC80Q2ZBeGhzQXZlCjRLbXA1S2hiWklP
NjJkZUJ3U00raWFSRzN2TUNFelI0cElIWlZmNzNmeWJaZDlVdWwvMG5PR25sZlFhdEh5OWcyL0M5
V1pHWXozc0kKd3Z0TmZQbmcyZlZhOXNvRkx6ZzVXL3lRT3RoOERDdFBLYnhobXRjSWhsUk9YMTQ5
RWpTeGh5bHMyZ1VoVG9zWHdhc1I2aE5lcmZDcAovTlhXbm5XWjNOays0UFlFZnBxNGZXWndlOEdN
SzJickRjRXNzT3JPdzZqMCtIdGtQd091WTA5RDlVTm5VanNyNGFENjUyNldPc3JjCmNFZlp6QTR2
YlZtYjdDNzNZdjF5a3Qrdi9GakxzS2FQdGEvNHRlVnhlMTNFL2Y0Z1huMzhsckFDaFpVaGNickEv
UjRPSStyWk5NdVAKL01yd2UxN3UrL1NkUUhuRW1jZ1gwemg0NjljdXJ0L1c5NTNTN3htZnZoUkUz
Q0Q5SVVnK1FkTTR5ZUQzckMvK2Zobm9mVVZnaENPUQp4SDlrd1cwNVJyaXd5djdvUUdEeHFmSFpz
Q2V4N1hNS3I0VEFpMG92dTA0VlNrcVdhOFFtVDkxMXk2TUI4cm9YblhMQVozQ2Jtc0ttClA3MDg0
OWpkVkRYZy9Md3lTTXJJbzVSeEU2SnhzRHlBMlhwaUpRMS9rTEVROXRUQXZLZTczbDE1R2tvNVkr
RTkzclRKTUhQcURza20KZHBPSHE0d0phRThGKzEvTlN0SmNYbFY2Z2VCTzE0bFNDdGFUbFRTSmc4
S0R5Q2hpenpzcDQ4bzk2eWdxdmMrSmsveWU1ZnZrRitTMgpLNzRPRDhmYmxoMnljcjJVaURLQzlC
MVhCaEp3d3d2VGVIaXp0NHNnR05tZmdWaGVmQVVWZTdEYm81VVBKeG1zOTkyT0J5cm4xRHQxCkdP
ZUdyVjRmdmdpb0FqSjg2MFk1YzBFZ1hnWEVKVHU5ckFpTURBUjREOVA2Tnl5bFZGWWdxdGoxTHJ4
Y0tTa0Npb0Fpb0FxSXRvR1IKaUlDYVlJM0VXbE9lRlFGRllNd2hrSkpkUlBWOUFTeGIzbnR5ek1t
dkFpc0Npb0Fpb0FpTUhnUlVBUms5ZGFtU0tBS0t3Q2hHQUtaNQpqZi85NHlpV1VFVlRCQlFCUlVB
UkdDc0lxQUl5Vm1wNnJNckpaaXU1N0ZvVjFQcmgwMUcyK21NVkVqZTVjN2NQUi8xdWVmZnhTT3dB
CnQ3U2ovVHJjTk1NUkFlemY0WjBzbHRndkJodkYweUF4Q243MVBaTDRTZ3lJNldEM280VGtIMUNX
eElPb09Tb0NJeGNCVlVCR2J0MHAKNXdFUWdQdkhzcDg4SUNtWFh6TjkyQ2tnWlQ5OVVJTEtWVDk4
anJpdkRTQlNvQ1R4NUd0d1dzb2JuTHNiMmdLVk14b1RJWGJCK05PZQpsQUNNa0cvbDcvZWdkblp6
NjBWT2VJOUdQSjNrOU1KbHFPNnRmOE15U2kyYUpNWEJyd3FDOFlWV2ZrdzEzSzg2dm4xandHd00x
bnRrCnVPSTVZTUFDWk9DRXFSTWVnOTJQRXBGL1VGa0N3S0pKRklFeGc0QXFJR09tcXNlbW9BakF0
K0xHY0V3SzhRbzB6R0RJM0dobkhqaXQKejk2anhpV1VzOEhLTjZGTUR0UE1jbmM0VHBTUDZrZk9F
N2UzWlBjazVjRDNXTUY3dU12Wi92VXIxTVV1b0xPbS9ZQXlwMnpQa3cvLwpSOHV2Q2tlMmQ2aTJ3
SmNHNnoweTNQRU1ERkFjQ1owd0hhbDRqQ1paNHFoS2ZVUVJpQXNCVlVEaWdrMGZHakVJOUhaVE1R
ZmdBeUhtClJtOW5HMVZjR3A0UmJYenBUeEpaT2lWL0F1RzRpZU1xRkIvK1c0blgwUHJSUHpsNDM1
VVIweHZ6VFBOcjkxRWVCeGhNSFZjaFFRMXIKSGoxUGdzR2xGRXdNUDh1QkRlRlNNVlQ1Z1FRYU5M
T3Y1dm5xQjAvak1zK2lYZ3hxT1NvN3lnYVZIbmMzOWJCcjRMWDNuU0N4T2pJbgpiMGZKSEVFZGdj
QkN5OStubWtmUHA4N1ZuMGxha3hkOHp5TVFIb0lzSXBoYUhjZml3R0M1NUpnN0hQUHQ1R2pzc1ZC
eWJna1ZIWElEClpVL2ZpNUp6T0pyN3lrOUVwdll2RjBrMmlKT0NHQmd3VllJQzFWbjFCZFU4Y1Nr
aHFKL1h2YUJZdWNtSHdyM3lGK1k4dnJ6S0IzWlkKQVFFaFZrcm01RzA1Y3Z5UFBYSWpWN3pOUTlt
YjdSZHVNN1o2d24wL2pFMGVicitSdGhCRFd5NDc5VEdXeTcxOXVXR2J0LzJQSGR0VgpOOGVYOFdv
bmhrZHIyNjkrNE9RQjFhRWJIZzBjbkxIbHJZY29kL3ZqV1BtNG40aE5Zd3o1WVoxV01WT0NkYVpQ
bWtWZDFZdXBteVBOCjQ1bjZCZGR6akp6NTd1OFJsMzVveW5YN2RldW5pTjhpN3lHWGQ0bGJmdWE2
Vy8yaFgvcGg0SGZmbE9IMGl3Q1k2RHN0N3p4Q0RmLzUKSFpkVlNoUE9mSVo2dXpwbzFjMGNid2J2
Sm43UHBVL2NYR0l0dFgzOHJ5aE1FVWZJNlgxb3l2THFSeWFOMnkva0t0ejNDdWJ2QUY1eApMdVg0
TDB1RXgrWTN3cXZqMXVmOCtvZGJlN2IrenpqSkVxcDhuOUxYMjVLYU9kNlFCQkhsUWdzUHZwNWo4
Y3lSdlYzNGIxRlNCTVlTCkFxcUFqS1hhSHFPeVprN1pUaVJQNmh1TW1QUDA4dWs4eUZndGtYNFJn
SzVnend0bDloUi9VUG03bk1MUm9qK2x4aGZDeW90NUJ2ZTYKbTlid0gyVVpLeEpuVU5zWEw4Z2Vn
Zkx6bnFQMENadFE2eWNMSlU4TWdNb3ZXRVNWYzJkUzE5cHZlRFkyekVQRnhUd0k0R2pubUtsdAor
L0svckloMGM2ZysvbTl1cmVWSTByWFV5eEhUMHlkc3l2ZGZwdTdtR2g2a3plWWdoZnR3ZFBZV1du
UG40U0tIeVN1OVlvWUVVOFFLClN1RytsMG5FY1pnS0lTSzJVNzR4VlQvSGl5Zy9aeUZsckw4Vk5U
eC9xeWhId0dmQ0dVL1Q4cXVuaVVJQ21SRXZCTW9iSmFld29ySTMKUituZVFzemMzTzRoWW5CUXJO
emt3MERSTlg4ZVpIbFNTcnBuK2NBT1VldUp4NjFRL2xBSGZ1U0hkL0dSdHpqV0UvbGdqSGcxZmhS
cApDekcwWmEvMjVZV3RvNXc5UFo3dEJESVlIcTF0MzZzY0RKVGpKUVR6UkgvSTNmWm9IdmlHcU80
ZlY0U3o4c0VhTTlobzc0ajZEVGtSCm9CQkJHbE55aXNSRUVwa1lPZnE5UjF6Nm9aOE1qbmp5MjhD
dmYzamw2NG5yNHRlOTY2cHhqZmQ5bi9ZSXBjMWdCQVVrZTdQOUkrZVoKRys1RTdZdGZvOXp0amlH
WUsyR0NCbVRTQTFOSFBOQVgrOGkxSDVrRWJyK2NOOTVibVZOM2tENk55YVgwOVdlSk11S2tnSGox
RHhSaAplTGEyWit0MU4xbENLejZtZko2OFN1WUFyYUtBcEdiUU9KNUFTc3JNbzNaMnE2MmtDSXcx
QkZRQmdDSVpSd0FBSUFCSlJFRlVHV3MxCnJ2SkdFS2k4am1jNjEzNU5FeTkvbXpJMjJKcnFlS2F6
WWVGTlZMRFBwVEtqaTVsOW80Q1loMWIrWnJaRStjWnMxN2pkejZac1RvT1YKRENnZmlLUysrcmI5
aUVmL1BMWk01ei9iby9rUDUxUmVOYmpZUEU2MXZKTFJzZXhkVVRSQ3k5Nmh2QjJPcFdRZU1OVThm
Z2wxTEg1VgowbFhPblNFemdSazgrNDVaMkl4SlcwcTBkbXlJamdSUTVKVEMvNXF2cU94blBPUExL
eEVZZkVFQnFadC9oV08rRVNZQ0hHVHhxZ2VVCmoxRFZsNUZJNmRrejkrTnJzM2hndG9jb1JFa3BI
THl4clVGczdkdS9lWlZxMkdRSm03ZWhOTG5keTU2eGQyQ3MzT1JMR3ovTk5YOC8KMFlLVW43UFZZ
Y3pqeGh6ZC9TcmZ2Ujhvenc5dk56bjhNSFlhSExuSkYwdGI5bXBmWHRoaUk3Njl2V2JOMk5lem5W
aGxzTFo5cjNMYwpaQXh5UFkvTjV3ejE4RDZRdExMdnlTb0kycXhmZTRieTBSTnFvMldYL1g5N1p3
Sm1SMVVsNFB0Nlg5S2RkTHF6ZE1JU0V3ZzdHRUVrCk9BbExFQVdIT0JJUlpBQmhIRVFZRUJRVkJS
UkJCV1JHQmhWazBBK0dBUVZCVUFOSVFKRXdLdHV3WnBBbGpBUkltdXhKSitsOW4zUHUKZTlWNTc2
VzI5L3AxcGJ2cnY5L1gvZXBWM2JyM252L2VxbGVuN3JubjdDN1hXWXVaZXNIRDlwcVNDOW9wMHZY
VHEzOWRNNmZ0ZEJzMwpPb01ROWw2U1Z0VGdwaC9Yb1BHbU0xbCtqTkw3Y3JEQ3RJMzJ2eTZ4THo2
MGpFUlp0WDNBNzVYN2w4N1E2cjFKWjBKVStkRDdYNStZCnlXVW5OeDdwZWZMbFhDa3p0YXA4RE1o
OWV1WGxzMlJXZTZORU9DdzI1YkxQTGZsZEgrbjMzL1R4bkYyT3F5eWljTlNkOEcxVEp2ZXYKOHQw
L2FJcGx2QlZWMXByMjEzNXZlamU5blYwRTN5RXc1Z21nZ0l6NUxrWkFMd0s2VUZWVDc1YlZWZ0ZS
OHl6N1BmV21yMGdpcCsrUQpaSUdySnYwUjFWVCt2c1BFOU9qLzdIYjMydVZXK2RBdjNXdVQ1bEts
ay9ld3g1eC9iUzh2bGdYZXE1MnZPM3dtNUFkNjBsbDNtSEh5CkVLeUxhWjBmNm9UTU1LaFNrLzRv
Tk5EVlpzL1h0N1dhQ3JtT3BGUWV3RFhwaitXMGk1ZmFiZWRmU2QxMHMzWHBqU0xqY3Z1Z3J1WmoK
bXJyZWVkNnN2KzAwMHlFL3FGN0hTaWNsZVlSaDVTV2ZYL2xCM3FweXFkK1JkNmlmWG5JRU1jNmwz
ckJqT1doODVjbzJGeG5TeDc2YQo2M21Oa2FBKzlPT2l6aHphbHoxb1NpYk5ORlBFMUt6dWhDdE1s
NWkrbE5UUHNLZDVqZWYrbms1N3ZIdlZTMWI1OEtzais1aFgvMmJuCkMvTjlxT1BUci8rQytrcE5Q
alY1TVFwcWYzOTdzNTNaclp3OTMxU0krWmlhYnJZOGVadHNIMmxVVVZVRlI1UDJUejRwWDg2bE1r
T2wKcWV2ZEY1TEtoMzRSMDF5M21iYWc2eVA5L3BzK25yWEl3Q1FLV092LzNHWE5mc2VwT1dQTlpI
dEt5NStUOTgvQTg4a0FnVEZHQUFWawpqSFVvNHVSQlFHWXNiRW9wRjBiTVNsSTdVcDg3ZnBTTExh
OG1WU1o2VXdxTDg0T2krNHZGL2xtVGM4eCtjZm1uU29hbVJGR1IvZFEzCm9LcDhkSzFhSm5iVFJ4
bTFCNTk1YzQ4OTV2bFB6S0JzY3Rvdlg3TEw5VHpYNDBDZktHV2ExRlphM3dpcVNaZVRFa1Z5MjVE
dlRWY2QKWUYwY3EzbEYxWndUVGZtTVE4ejRCUmZLVE1pWFBZOTF2UGtuVzB4T3JKeTZIZm5FTE1P
cjdvMTNuZWMwMC9YVDZZK2M2bmN0S1hObgpLTjVaY2dReXpxd2kzTGVBc1J3NHZnTFlac3VadHd3
QjlWVFBXU1JycWNwTngrdGlVaWp4VDhLbXZwWU45bTJ5T3B4UTg4cGlNWGNwCmx6VWR1bjVKazlk
NFZpNmF5c1M4TDFGU0lXL3JSU0hSY1o1THl1cmZNS2RtOHh6eStQVGgyckg4Q2Rza1R3WmlNcVhK
NjdnOUdQQ3YKL1pXSHhBSEFmRk1uNjBHS3hMU29YZFo1OU11TGtycmpMN1V6SUhwNm03aEQ5MHJa
UEZ6ejVjalplWWxUMXJoUGNrMlF6SVJvMHRsYQpWWnJTVStEMWtaNDVZTnRObHBhbi9qT3BnSWlK
b0NvN09rUFVKdXVMbkpUdnVIZk81eE1DbzRsQWpuZlkwU1FhYllWQTRRblV6RHZiCnZybXFtZnRa
VzNqcmMvZll0UmRxdjF5KzYwRkdGMkwyTmplWm1ybG4yT050TDk3bjJ3aGRFMUZhdjd0ZFRGNDZl
YllaU09pS0VQbHgKbEIrbmlsa2ZObVZpZnBWUHlpNjMvVFZabStKaTl1QlZkb2VZY3ZWdVhXdEtH
MmJZTjhrYUN5TWhhMWZVUEVudGw0dms3VjJsdk9WcwpmZjVlYTZKVjBqRFRsSWg1bFpxdzFCenhC
YzlqV202K3JKeTIrcFh2NVBINkxFVDlibVc3OFhiTGw3NHZpTEcrTFMxMDBuVVJtcnpHClZ4RGJi
RGs3MzNuV2Q1eDR5UkJVVDhQcFA3WHJMOVFGY3Q4YjRSV1EydmxmTU5iTVRoUUpOV1ZTeGJuOTFV
ZGtsdkpOMzNicTJpMWQKODZNbU1idGRKeThWbWxmSmVxWURVL2lUMTJUcVMwRS9kdUQ1N25ORHVq
Nzh1QWFOTjJYZ2Q4MTc5V1U2RUwxUDFDKzZUdTVkYzYzaQpvZXZjZEgyTktpQzZka0pubTd0VHM4
ZnA1em5iMlR6MHZqWFUxTEY4cVgzUVYxT3d4Z3VXV09jaFpkTVBzT05yL2EyblpoUWZkSDFrClpB
NzQ0aWFMeXQ3VjlMK0RZOHV1QlVrcFJGcGN2dU0rb0NrY2hzQ0lKSUFDTWlLN2hVYU5WQUkxYzgr
MEQrWDZRN1hsMGV0TTY3TS8KbDZZT21IVzNMREtUenJqVlRQekVkMnpUZGVaaTQ5M25tMDc1OGZO
TDZ1bXBiUHIrZGcySHJ1Tm91dnFEOHRad2lhbVVCZDFUemx0cwoycDcvcGQvcG5zZDJLUGQ3Qitl
a2dQUzNiYkpld3hwT3ZzSGFiNnNOdHlaVnJ2U3ZTRXhXMU50Tzlmdi9JYmxmMXI5c0UzT0w1b2V1
CnRGNnh2STROZEc3TG01V3RTTnNnZFhtVjcrVHgrbFR6bm56N3lxdE0zZS9HMnkrL0hndGlISFIr
UHNmYmx6M2dPNzZDMkxySnFkN2wKdk1hSlZ4dUQ2dkU2TDJpL3ZuMDNacjUxaE5BcDhUKzJQSHkx
cksxNjJwN20xMDd0aXpXeWZrdXZYMTNFM2lNekptcjJxSTRROUZvZQpydVRHY3lqajA0K3JYbnRC
RFB5T2gyR2dudnA2TnF3d3BXSUMxeUh4aEl5WUhYVzkvWXgxNWxBc0psNjZBRnp2bDE3SmpZZFgz
ckQ3CnRXL1gzYlRRMUoveVk3azNMYkIvcXBodWVlVGFIWW9JdWo1Mk9NRm5oNXNzK2hKSXpkTEs1
YjZxTXlUYnhQTWlDUUp4SlpDUWk4RDcKYmhCWEtzZzlvZ21zT0dmNDNraDZDVDd6bHVSbDh1NGx1
MWhUQW4xYmF2cVNiNVBUenltZXNJdWRLYkF4UjBMRWozRE9WWmVWV2w2LwpMT3JXcERNTWF1YWtQ
NTVEU2RubDVsT1d1aFV1cmhPNTFTdFV1amxNb2tnV3kwK1J4c3BpZEhsam5KSDhqcVV5NXN2S25o
NmkvSXoyCnVId1pVdjB1NWVtdWZIbDdNdmFvWjZpN2ZjZFhDTFp1Y3VZc1E0aDZoaXFuMi9sZTdh
dzZjR0hTZkV2ZTB1c2JjdldjVkZReHpxejYKOXY0RkRSTHExaVkzbm5tUHp4QmN2Umc0YlFzNjd1
UWJyazgzSG9Xb0t5SHIrdlNlcGQ3WjBoZVVaNWZ0ZTMxa1p3NzRuaTNMaEk5Lwp5MHhjZUtWVjBO
YjgrNEtBczhNZGRuNmZ3dVVtRndSR0JnRVVrSkhSRDdRaUJ3STdWUUg1Mm5UZlJlUTVpRUZXQ0VC
Z0JCR1k5dFcvCkdBMkVsNTYyTHIzSmJQcmwrZW03MklaQS9nVEVKZkJ1MTd3cmNhUWF6VHB4dmR2
Mi9EMzVsNVYySmdwSUdndzJSdzBCVExCR1RWZlIKMEoxSndGbmM3TXhRN015MlVEY0VJRkI0QXVw
QlMxM0lhcHlHL3ZZdDR0WHRPWWxYOFhMaEs2TEUyQklvcnBwb3R2d3VhYWJiOXRKdgpZc3NCd1NH
Z0JKZ0JZUnlNT2dJN1l3WmsxRUdpd1JDQUFBUWdFQXNDeklERW9wdkhuSkRNZ0l5NUxrVWdDSXhj
QXVNK2RKcHRYTnVMCjl4c243a3FoVzZzTCtEVml2VVpiN243dmxVSVhIM2w1UTJPV01OV0huR3dE
TitxaVlMOFlOTDZDaWVuSU9DbEhVN3U0VVkxNkpuQm8KREh3bDJ5a0hLL1k2MmtaZDc1VG81Qm9N
TmFwVUVJNDdlU3lFWmpWYTJobGFJREpDWUd3UlNBWWZHRnN5SVEwRU1nanNkczFLbzIrSQpuQi9m
aklNajlNdmt6OTFsR2k5NnpKUTJKb05vamRCbStqYkxUWWJKLzNTbjBULzF3VDhjcVV4aVBreTk0
SGRtd2tlL0p0NnlzaGJHCkQ2RkNOMW44aXNzMXYyOVpRMkkySUhFdHlpenpodE51OGFzbTQxaDIr
OVZ0cjlOM3hlT25aZVNONG90VDkzQ05teWhrU0s5andyRmYKc1R3cjl6b3lmZmNPMjluOXNFT0dI
SGNVZ3VQT0hndGhSUjR0N1F3ckQva2dNTllJTUFNeTFub1VlY1lFQVYwTXErNUFDeG5kUEdvdwow
Y3VRTUEybi9rVEVUSmoxdDU4bGIrbTNGRXprWEdYSk5YL0JHdXBTVU9zemR4Z2JZTzNnVDhublFw
bkJlTUFsVithdTdQWnJMSWYzCnJwMXJNMWtQYjVuWitUWk1CTEw3WVppcXlhblkwVElXUmtzN2M0
SlBaZ2lNSVFJb0lHT29NeEVsUHdKRjR4ck14RTllWTZyMlBkWVUKVmRmYnFNbWJmMzJKNlh6ekNW
dmc1SFB1TXhVekRoVVhxL1h5VUx2TmRLOTYyV3o2MVplTityelhOTzNyejlyUGpYZWRLMUZ1TDVE
ZwpaNzFtNDUxbkQrNVhmL0MxUi82TDBVQllMYy8rd2pRLzhDMXhzZHRyejNIN3B3L1J4YlZUN2FG
SnAvOU1BbnExbWcyM2Y5YkdJNmovCjFMK1pDZ2tBcUc0eTFjUkkyOWtsOFE2OFVxS3MyalIrV2Z6
eFMxS1hqK3A2c25iQlJSSjM1RE5HQTR0dGUveUg5cGpHMWRBNEpKWDcKSEdPVm5wNTF5ODJtWDMv
ZGRMMzFwTWp0ejhjV2tQWFBTd1luVzlVQng1dWFlWjkzWlpKUGZWcHUxVUVMVGNYTXd5U3k4QU1T
N093RgpweXJidDJyeW9nL2lOdkNYSEtuN2g2dE41ZDRMSkg3SHphYjE2ZHQ5WmZTU3BXZnRHNE4x
cEc5NDVkZDRFcm4yWDNxNTFRZWZaR29PClAxTTg2RXd6YlMvZGJ6YmVjNUYxM1J5R2w4Wm5HU2NL
aUk3eklBWEVxLzMxSnlmSGlzYUtVUE01Wjl4dis5Ti8yT2pPT21aMXUwVmkKRzFnNVpVeHAzSWZO
aXk4M0duOUZVNWkycHN1Y3ZlMDNib29uVFBmbE85aGVuK3N4YkJuWjEzcVFYQ1gxTTB6RFoyNDA1
VFBuMmpnMgpZV1p5dlBxaHIzV2o3LzFLMjFKMzNHV2liUDY5TlVYVXlPWmIvL0FEaVZsMDV5Qk9Q
NDZCbkFiNlRQWll5SkJ2NDlzU2hYNmQ3ZXN0ClM2NldhUGFQaGJvSEJUSDB1MGNOQ3BhKzRkTE9R
Tm5TejNmWkRuTytueHdhcUZaZkJyUzljSy90RTNYUk8vWDhoNnhyOXpYWEgyMS8KRnhya25sODIv
VUFiVTZsRElzbVRJREJXQ1dDQ05WWjdGcm5DRVVnVW04WUxIelcxZi9mUDhsRDNHN1AxanpkSWxO
cURiQXlBWW5HVgpxS2xzNmo2bTgyOS9sZ2VyVytXSGRhMEU1dnVZcVVzRkhOVGpHdUZYLzZaOTdV
bjdnS2o1MC9jM2ZFWWloNWVQc3pNYWRjZDl3eW9RCk5vUEhQNDBVcm9HeU5QVzNiN1oxaWlHTmFm
elNZMVpKNkpaSXV1M0xGb3ZMMEhtbThlSW5UTW1rV1I0bHlXNEpwdWEwTHlIeE9qVHAKeklydTAw
OU5wUkkxV3N1dU9md3MrOERZS3E0aGkydW1XQTZ5ZUNDUWp5MGs2NStyREgzYmxhNzZUOS9nemlU
UCtyVDY4aGtmdEsxbwpmUzR6ZUdPWFJCOVdlV3VQL21LeWxTWGxacndvaEpxL1V5STFCOGtZSkV1
eTBPMy9YZlBuMjMvYml6WGpGMXhvQmlScWNuSHRaRk43CnhMbW1XaFN1b0xZN3AvZXMvcXRWckVz
Yjl6R3FsUG9sMS9aTDN3Mk9JN0d0MStSOGJ6ajVSeEl2bzlhdWFaaTQ4Q3F6NjVWdkdEV0YKMDNV
NHRmTS9iOFlkbW9vMlBZUytkZHJyT1c2S3l3S3ZqOEgyZWwyUE9aU1JjYTBIeVNXOHBuNXhpYWs2
NE9NUzNMQkVBdlc5WlhrbApaZktPYWVUYUQvMzkvdGVqMWlYeFM4WWZjNUh3bnl6WDg4UHlzcUxj
S2lNT1EvMzA1Q2pIQWptbDVVbm9XTWlXYjlNN1Z0SFNjclFOClllNUJRZVBZOXg2bEFua2tSeGJi
VHNuamZNLzFudXdVSDNoK3dGam8zYmpDdHFINjRFL2JJblZNYUptVmU4NlQ2UEdIVzVaNnZlZysK
ZmNGRWdzQllKb0FDTXBaN0Y5a0NDVlRLckllNjN1eGU5NlpwZS9tMzltMWQ5NXJYYkFDeXlyMlBz
ZWMzWGJtZnpIaGNMTWYrSUcrdQo3clA3TkFKNFFwU0s5TFJaWmtYZXUvWXdlVE45WWZwdTAvVGRP
YWJwMi9zYTU4SFlpU3Fla1NudFMvUGl5d2JmR0crNi94S3o3aWVmCk1HV1Q5eEJGYUcvNzluU3RS
R3plY1B1WjFvZDhVV21GcVoxM1R0clp1VytXVHBrdHYvOGxkcWFsV3g1VWRWWmdsYmIzaFY5SlJQ
WmcKUG00MXVzbVF2dGpXaTBtKzlXa2J5a1NSMHFRUDIrbEpaMFQ2MmphYk1wR3pmUGNQbXFyOVBp
YXpQTFcyUDNzM3ZSMG9ZNUFzNlhYcAp0bHYrUXZUZjZuK2RaMVpmYzZqWit2aVBiSlU2ZzVNTEwx
MlFuMGdrVEZuanZ0bE56dmp1MXY3MHZzdklMRiswTDFkOWMwL1Q5VzV5CjFxbFozbnJyZUc5KzhB
cWJWV2ZWTkFXMVZjM0RkdjN1M3pMK25KY0F0Z0Q1NXpWdXF2YjdhT2pyb3hCbHBGL3JRWEpwUCtt
MU85RGIKYlZaZStqNnovcFpQMmVqZ1NabTg0d0M3OVVPcHZHend1MTlWeXF5VHpnS3FvcnJ5OGxs
bS9hMm5TbC9zUHpobWdqZzZ4L1hUaTFONgpIdDNPVjc3MGNvSVkrdDJqMHNzSnV4MVdOcS95dk00
UGtxUDlyMHZzeXlYdFEzMFJvTE5VdlRKYnBFbC9GNndiYUZsdnBTOU5OR282CkNRSmptUUFtV0dP
NWQ1RXRrRURwMUwxc0huMDRuWGJ4MG96OEpYWFQ1VWVpeWt3NjZ3NHo3Z09Mek1EQXdPQ1BRa0pt
RmhMeXhqVDkKOGFIdDVjV3VYb1lHdXRwc3VUMWltcUFwbjNVZHBaUDJzT2QycjExdTVCY3N0WjAw
QVNzVjVTUlVrb2RQdDlUeDJ1K05sbHNtTE5UawpTMVBYTzgrYjliZWRab0w0dUpVWFpwOFhrNkhV
cHc5bm1ub2x5bkZHNnUyeTVtYmpqenBmSEJIOFkvS3RyR1JvK1hOUzFxSFVtVkdQCno1ZUM5SitN
UDAzT2czNjVQR2gyaTZtY0pxL3hhdyttL3ZWdFhXdTNkTWFzNjkzbjBnOE5hWHVndTkyZTN5c1J4
TXQzUDNqUXU1blQKRHpvN29pbUljM2RYaXl5WUw3ZDV0Ly9MSExPZTR5YUg2Nk1RWmFSZjYyclNx
TW1yRDFUWjFhVDlwak9hUTBsQkRJdXFKOXJpYlYxaQpxbVdUbUNLcEtXVjY4bUtRYXg3TjcxeDNv
ZVR6dUFjRnliVjE2WTJlOXlqSHZDKzk3VUhiWWVUM0s4UHIvQ0E1K3R1YlpUYjlTVk01CmU3NmRD
VmV6MzVZbmI1UHRJMDNsZnNjWk5hL1QxTDdzUWIvcU9RYUJNVUVBQldSTWRDTkM1RXVnVHg2YU5L
bWR0TTUwT0taUHVrL04KSmV6aVhWRSt1bFl0TTJ1dVA4cXV3NWg1YzQ4ZXpqMmx6S3BFa3drOFY1
VWRUWW1pNUNTbDh6Qm5UUnBTWnhlTC9iQW01MWhxZCthSApyRFhSc3ZUTmQxR2xCbGhyemp5dTM4
UzhwdW1xQTZ5YlZUVURxSnB6b3BnbkhXSk5manFXUDJIemUvR3hCejMrWmN2Z21pMkxTVkIvCnVK
YVIydG03ZWFYWVR1OXZpc1VHdnQ5NStFb2RhM25xUCswNkJWMzdva3Fsdm5Wc0V6TTJUV0hxRENW
THFpNzl5TTd2OUZITy9aZFcKcHJOWkx1Wk5tdFRPUGt6Ym5mUFVObDJUY2dwSzJlMFB5bStQcHhU
andmRXQ1a0xKbEJ6TFFXMGQ2RzR6SzJVV01sVEtHamQ1OFMxRQpHZExZSUxsVUtkTlVVcis3L2N6
bFgzWS9CTlhseks2V2lhbWRta1labVFuUnBHdE9YSy85TEFhdWJRdkk0N2k2OXBRdnhEMG9TQzRq
CmJmQzZSemxCWWwzYkhyUXpRTGFnMDdWZE5xWHUxNEZ5U09iMlZ4NnlDa2lkckFjcHFxZ3g3YkxP
bzE5ZVV0VWRmNmxkQzZMbHRZbXIKYXhJRXhqb0JGSkN4M3NQSU4waGcvTEZmM1c2UExudjFyVnJI
RzMrVUIvaTFwclJoaHBraWk4M2IvL2Noc1ptdU1OV2lkT2lDNWY3dQpEbnUrdW5Tc21QVmhzVzEv
LzJCNXc3bWhVWmhMNVlGRkY2K1hUcDV0T3VXTnRkcUVsKzk2a05HRmpMM05UYVptN2htMkNXMHYz
dWZaCkZIMDczUzF2WGxXaG1QeTVYNWp1TmErYTZqbUxNdkxYSFBFRitVRTh3clErZjY4MVF5dHBt
R2xLeEtSRlpRL2lvd3ZadlZLMkRPMnYKUGVxVmRYRC9VT3JUQnlGZFhGczZaUzl4RUpDNVFMeGJU
QnE2Wk8xTStTNEgycnJzWXZUVXcxbVlPdDFrOFRPUnlNNmZiLzhOZ3BHTgptbmxuVytWSzErcG9h
aFdIQm1IYWJqUExQK2Z0YkkrTWdhQ1UzZjR3ZlJkVVppNXREU29yKzdpV25jLzFrVjVPdm1VRXlp
WFhsVHF2CktKa3d6VXc1N3dHai9IVXhlcGlVM1ErZDd6enJlNzlxZi9WUnExeXJ3NHZHQzVaWU04
cXk2UWVZWXBrWlVYT3M0VWlkSzU2MkwyYTgKNUF0ekR3cGlXQ1JyU2J6dVVjTWhVNzVsQnNtaDkw
djlqYWxmZEozOG5zeTFpa2VIckVOVGoxMnFnT2phRDUxSjFQc1ZDUUpqblFBSwp5Rmp2WWVRYkpH
QWZQbE1Qb0xwVHpTalV5NGg2OVdrNCtRWnJnK3U4UWRRSGZQM1Q2WEsxMjlYZ2RsUE9XeXpyTGpJ
WE9BOFdYdUFOCjlaeWxiL1BWTTVYK05YM3ZZTFB1bGtWbTBobTNtb21wQmZEcVZXbmozZWVienVW
TGZXdmY4dGoxcHY2a0g5Z2Z2S0txQ2VMRjZ5V3gKMno1NjhCeDlJNjRlWm5SZGl5Yjl2azNNQXRS
ejBrRG5ObDgrZzRXNGJMako0Skl0WTFkLzI2YTg2K3NTdVRUcExJY3UwczlPYXVwUQpMdjJzYjVX
M2lhY21KNFdwMDAwV1B3WEVMWCsrL2VlMHMrYXcwNjI1eTBCUGw5bnl5UGRGQWZtNUhCb0l4VXZO
cmlwazBYM1BoaFdoCmdnaTZ0ZDlwUjc2ZllUam5YYlo0MlJvcVh6WGx5YWVNUUxsa0JtQ3plTDdU
YTdENm9CTk1sNWgyNnRncGxtdFI1amg5UlhickI3LzcKbGJabDNVMExUZjBwUHhhUGRySkdTUDUw
Vm5mTEk5ZjYxak9rZzZMSVcvbkVRNS9LMXkwdmM5UlpSN3A4UWZlZ0lJWkZQWjJlOTZnaAp0YjNB
SndmSm9kV3A5MFM5RGtzbnpaUVhDSS9MRGJmTHJnbnFhOTBrTHhqcXJTTVF2YTVKRUJqckJCTHlZ
OHhJSCt1OVBNYmtXM0dPCi80OTJ2dUtxYTl2aXVsM01nTHl0N0d0SkxneDB5dEkzY0RyZHJqOHdV
U1oxMDJqNnVqTWVHb3NuN0dKbmFXdzhCaDkzdmhudEZPOHMKdXFDM2IwdFR4dTdCTDRraThhNDBS
V3cxU2t4Zjg2ckIzZWtiZm56UzgyVnZ1OG1RbmNmdGU4NzFTZHVuWC9hQ0xMTGV4N3duQ3B0agpH
dUtVUGVIajN6SVRGMTVwZi9UVkpiRmJDcW96VjFuYzh1ZlZmNm5HcWhtVnZrM1hNWkdkL05vKzZj
ei9zak5tNjI4OVRkYkQvQ0w3ClZNL3ZidTMzekp6REFiKzI1bENNYTlhaDhIVUt6TGNNUDduVWFZ
V2FRWHBlZzA3bExwOXUvZUJYbHhhUmtMVTNlazMzeVpvb2RiODkKM01uS0o2WmVlditZZXNIRDlv
WE9CbkZIcm02WmJRcTZCNlVhNkNsWGlIdlVjTXVZUy9tZWN1UlNTTWk4R21pWEJJSFJSZ0FGWkxU
MQpHTzAxdzZXQWdIYjBFeWlmZWJpNFEvNkxkV0c1K3QrT3NETTRWaXF4aDkvdG1uY2xoa2FqV2Zl
elU2d0hzZEV2YlRnSnFnODV4VXc1CisyNWZ4U3RjU2VTQ1FEZ0NyZ3BJdUZQSmxRY0JGSkE4b0hI
S1RpZUFDZFpPN3dJYUFBRUlGSXBBMTRxbnhNM3BTVFpXUnVua1BRY0QKRWhaWFRUUmJmdmNkVzQz
R2U0bFBFdWNERmVPTUx0UlZVMElTQktJZ29HdXMybVVodFpxd2tpQUFBUWk0RVdBR3hJMEsrMFkw
QVdaQQpSblQzMERnSVFBQUNFSWlRQURNZ0VjS21xb0lSWUFha1lDZ3BLRTRFS3ZZNjJucTE2Vnp4
ak5raFNKdVkrNHc3NUdTTFE5OEM5bmRzCkhUcWE0U2h6NksxS2xoQmgyOVNkcUFhMlUzdHo5U2FU
VHd3QVIreHhIenJOYnJhOWVQOWc3QXJubVAyTVVLNk1ldm15OHdtRTdQdkEKTVJSU2trS1ZFN0s2
dkxLTmhqYm1KUmduUVFBQ080VUFDc2hPd1U2bG81M0FoR08vc24yUjVZYS9aWWlqTG5zbi85T2Rk
dCtxSy9ZdAppQUl5SEdWbU5EcUhMNU0vZDVjTjVxY1IzOVdsYUZSdDA1Z3NVODc5amNSR0tiYXRY
ZjN2eDVoT2NiK2FiM0w2NkYzeFJOTzNOZWx1Ck9iMnNxT1JLcjFPM2Q3dG1wU21adUt2ZHJUNUNy
QnRUaWU2K1NYaDN2ZjFzZG5hK0R3TUJ0NzdQSHZkYWJkQVljbXRhb2NweEszczQKOStVajYzQzJo
N0loQUlIUlRRQUZaSFQzSDYwZmdRVFVwL3Q3MXliOS9GdFBWUVZvNDNDVW1XK3pLdmI0c0R3Zzd6
WVkwVDJxdG8wVApON1NxZkd5ODkwczJlckFKNndFc1QwR2prc3VyZVdvLzN5dnVXaXRuSHlueEFU
NGtEN3MvTjZ1K3VhZFhkdllYa0lCYjMyZVArM3lyCksxUTUrZGJQZVJDQUFBUkdBZ0VVa0pIUUM3
UmhXQWxNbGdDREZUTU9OVVhpWTExZG1IYXZldGxzK3RXWHJUOTJyWGphMTVOdmxkWG4KdmdiKzB5
QmVMUkxrclZsODl6c1B1U1gxTTB6RFoyNjBBY1EwVG9hYUFubW1nVDVUZi9JUDdXSDEyVC9RMHhG
WXg4UlBYbXNxOWpySwp0RDV6cHdSQXZOR2VPL0ZFQ1ZZbEFRSzFYYTFQLzljT1paWk8yMS9pbC94
UWdpUE9NYjBiVjlqSTJPcW1kY3VTcTIwY2pPSUowMDI5CitPYlhNdFFsWkhmVE1yUDUxNWNNdmtW
MzVONTQxN2tTSmZ3Q2lSZlFhemFLMjB3L1hnMm4va1FXZUUrMTdadDArczhra0ZhcjJYRDcKWjNk
b20xTzJIOU9nOXFmejFYcDFCa1JUN2QvOXM0MXBzZjdXZi9SdHErYlYrQ1lhUjBYTnRvb3F4NXVl
ZGN2TnBsOS8zWFM5dFgxeApyQVl2ckpuMytSMzczYVVmd3pMMWsxdmJGU1p0bFlXOGJjL2RiY1o5
NkhSUlB1NUlSclpPbmFqOVBQR1QxNWlxZlk4MVJkWDFwbnYxCnE3WnZPOTk4d3ViUTQzWEhYU2JN
L2w1bXF5WVpqV1MvOVE4L2tOZ2hkNXJRTXZ6cFAyejBlTzN2YmJLdDdsVHRlQkttN2EvOHpteGUK
ZlBtZ0NWeFFlN0xsRGQwR24yc3lsem8xZUtlT243WVg3clVjMUszdDFQTWZzcEduMTF3dk1YRms3
RGZJZUM2YmZxQ05mNlB4Z2RLdgpZWTNoNFRidUhiazh4NUNUSWZYcGRmMDQyZnpLR1c1NXc1WmZm
ZkJKcHVid004V2ozRFRUOXRMOVp1TTlGN202aFhaazRoTUNFSUNBCkd3RVVFRGNxN0J0VEJNcW03
aVBlV1A1c05OQlR4Wjd6eEhUcVl4TGx1MDI4SlgzS3lxblJaeldWVGR2UEJ1SFR0L3QxeDMzRFJw
bTIKSmo1aUR6NzFpMHRNMmRTOXJRTFRzK0V0VXlsclFKTEpQU2FKVTJaQ3p0WGtmUGVxbzB1VW9n
a2Z1OFNhTTFrRnBLVGMxRXFFOHFLSwpHclArdHVSYUJhY01MVE5SWG1NYUwzelVya1BSQ05BOUc5
KzJ3UVUxNG5HeHhpd3BMak9OWDNyTXRsbWpJMnRnTUgyUWJiejRDZE4wCjVmNnlidVd0d1RaTis5
cVRwa2lpdnpzZWEveDRhVjBhMkV5bDdtL2ZMTkduTjV1QnZ0N0Jzc0xLRzloK1MyMzdQNjNYU0Qx
R2NLb1MKcVgycHlhK3RxdUFvQTQzZm9nL1FSbVpQcWlTZ1pQa3VCMlVvSVBXZnZzRzkzNlg4ZE9h
NU1QWHFaOXZva1A4MEtLYU9SUTJzT05EYgpiWnAvZTFueVRJbW5vSDFmdnRzSHpOWS8vdEFxZ1JN
KzhoVXo5VjhlTkt1K05WdlliTFRiRlRNUHM2eFVXU2piYlk1VlJscWZ2eWYwCnVDaHIzTmVPRzQx
d1BYSGhWVWJyMEJrWlZXaHE1My9lZEs5NXpXeDdYQlR0b1BaSUhJcU1sTVBZOU9TWVk1MnFvRHQ5
cVlwWTFRRWYKSC94ZU1ldHdvOUc4eHgxNnFyMytWRkhYNU9UWE1lMDE3aDI1L01hUWswYy84eTVu
dU9YTm9menhDeTYwWTZ5NGRyTGNvODYxN3AzYgpYcnd2WFV5MklRQUJDQVFTS0FyTVFRWUlqSElD
VFZmdUp6TWVGNXVPMS84Z2IwQ1RQNVFhOVZzWE1xZW5wdS9PTVUzZjN0ZTBQcGVNCmR1NUVSYS9j
ZTRGOWtOZUh3SldYdnM4cUxsMXZQNU02TmJjQVVGNTF0TC84VzNsWTNHcWpuNWRPbm0ycTl2bUlW
VDZzR2M3Ni8wdHYKcHQydTNQY2pWdm5vNys0d0s3K3h1MW4vMDVNR1p6WTBpbTdWZmgrMWJkYlpt
clUvUGw1bUtjNjBzUzlVMGFpZGQwNUdlWnRsTnVpOQphdytUTjVrWDJ2MSt2Sm9YWHpiNDFudlQv
WmVZZFQvNXhJNkw4Tk5LOTVJM3FQMXBSZGhOclZjZmZqVnRmdUNic2g3aWkzYmJyNjJsClUyYkxz
M0dKZlVEdmxqVVUyLzc3WnJOSysvZUZYOWx6blg5ZWJYU09PNSs1TUExYnBsTzIyNmRHUHE4LzhW
cFR2dXRCZG5aSzNRb2IKZVJpdWxGa1BWVDY2MTcxcDJtVGNkTHorbUZVRzFOMXU1ZDdIbUVxWm9W
RGxZMEFpVksrOGZKWlpmK3VwTXE3M04xc2YvMUZPNDBKbApVSk92cm5kZnNNMXJscGsxdlQ2YUg3
ekNmdGRaSlUxQjdiR1owdjRWZ21PdWRhb0xZbFVPemp4Z0FBQVE2a2xFUVZTY2xWdWlyTm9xClk3
M2Jrc0ZHOVRyWC9icnVvMnZsaXpaS2VWcHo3V2JRdUEvYjMvbVdNOXp5NWxMKzZuK2RaMVpmYzZn
ZFR3cEg3NDhrQ0VBQUFya1MKWUFZa1YyTGtIMVVFRXZKUU1lbXNPOHk0RHl3eXVxQzNML1VRcTJz
SkV2SW1ObDE5R09ocXM3THBiSUltTmRuUlZEcHBsdjNVQnpGOQo2eitVNUZYSFFHK25hWDMrWGxF
T3pqYlYwbGI3c0NrVnRUeDl1MnQxK21aY1UvZXFseVRLY2NzT2VVb243WkU4dm5hNTZDUDlxZTNY
CjdXZnA1T1F4NTZTMmx4ZkxJdXpWOW1zdXZKenovVDY5NUExcXYxK1p6ckdndG5hODludlRMZktY
VGQzTHFMbVlwcTUzbnJjelN1bmUKczd6YTZOVGpmT2JDTkd5WlR0bHVuNm9RdGk5NzBKUk1tbW1t
aUJsaDNRbFhtSzZtbDQyYUEyb3FFd1ZyMnNWTDdiYnpyNlJ1dXBoawpUYlJmN1hpVjJSQ2J4SnhN
emM3R0wvaVMvYXBjZ3NhRkxuN1gxTHRsdFNuZi9lQkJUMkc5cVJtTklvbTByYWxVK0dyeWFvODlt
UGF2CkVCeHpyYk8vdmRuTzhGWE9ubTlORXRWMHJlWEoyMlQ3U0ZPNTMzSDJqYjQyVVhubmt3clIz
MXF2VnpuRExXOU81Y3Q5VkpPam1KYUwKc2t1Q0FBUWdrQ3NCRkpCY2laRi9WQkZRdTI5VlBycFdM
VE5ycmovSzlIZTJtSmszOS9qTElHOUtiVXI5MEhhLzk0cjlXbEsvdS85NQp1UnpOcWtOUGJaRjFI
bFlCRVJlK0pYVzdpSmxZaDFWSzNJcnQyN3JXN2k0VE02TkVTWVdZNkhTS3hyVDljblllRXEwNVZx
cUFZckY3CjErUWNTKzNPK0FqRFN4VTVUWW1pSENaUXMrUU5hbjlHb3p5K0JMWlZUTGFhcmpyQXVr
UldNNXVxT1NlYThobUh5RVA0aFRZdzN3N0YKWnJVeCs3akRMU2VtTG1WV3oxa2thM0xLWmViaWo2
YXZKZmtXUHJzdS9kN1hzc0gwYm5wYi90NnhwbERGVlJOa05tU09YZStoeDNWZApoODRBNlp0OUp5
VmtERGd6ZDJXTit5VFhqY2hNaUNaZHQ1U1hEQ2tGVmpUNFpEWDlTWVZXSHBmdDl6NVJVRFI1dGNj
ZVRQdVhWeHNjCkdWTnR5TFZPcmI3OWxZZGtRZjk4VXlmclFkUzBzVjNXZWZUTFM0ZTY0eSsxYTBF
MFQ1dTR6ZlpLb2NaOVZqdmR5c3Fubk9HV041L3kKZFN4cTZrdk5KSVVkMTI1TTJBY0JDTVNQd1BZ
bmx2akpqc1F4SUtCbVU1clV2S0ppMW9kbHdmYjdjNWE2ODYybnJDMjkyc0pQT2U4Qgo2M3EyZkdi
U3kxWE9oZm1jb0crb2U5Yi9UUjR5RDdLNVd2L25MalBRdWMzMUREVW4wN1VRUlpXMVpyZnJWcHZl
NWxXeXR1SEFWTjZFClhiK2k5dVphbGk3QTdXMXVNalZ6ejdESC9leTF3L0RxZXVjNVV5ckttQzdZ
VjNPeDl0Y2VkVzJqMzg2Zzl2dWQ2eHdMYW11TnJLR3AKbEFYNE9yT2twa29sRFROTmlaaW1xV0tY
VCtvUWw3LzVNTTJ1cStIMG54cGRxNk51aFB2ZThGWkFhdWQvSVdreUpVcW1yajlTUmFQOQoxVWRr
SWYyYm9raXNOYVVOTSt6TWlNWkRTWWhwbmM2YzJRalVzdVpIell2VW1VTGpCVXVzeVZuWjlBTnNu
VHFyVWdnWjBtVlNMbjd0CjBYR2NuZ3JCTWRjNnRYN2xWTDlJSER2TW1tc1ZqNDQzLzF0ZVNMUmFC
VVRYZStoTVQ3ZVlZSG1sUW94N0xUdWZjb1piM2x6S3I1RloKMm1KeGNsQnorRmtXVmFzNDdOQVVk
bHpielB5REFBUmlUd0FGSlBaRFlHd0RhRi8yZ0x6cFhDSjI2aDhWNVdHeHJJTklydS9JU1dyeApr
TE5aUEdLcEo1enFnMDR3WFdMbW9xWmMra1phNWdGeUtpb29jOHN6ZDlnRnY1cXY1YW5iUGJQM3Qy
MHlhMlJ0eDhSUGZNY3VWTzRSCkwwaHFWcWFMZG5XV1IwMk0xdDJ5eUV3NjQxYWJSd3ZTL1J2dlB0
OTBMbC9xV1c0WVh1cmhxV3o2L3RhN2xIcVlhdnJld1o3bGVSMEkKYXIvWGVlbjdnOXFxNjEvVUM1
YXU5OUdrMzdlSjJVM3pRMWVtRnhONk8xK21vU3ZJeXFodjY0MlpiOWNHZFVyOGp5MFBYMjI2WkxH
MApKdld1MW5EeURYYTJ3NW54VUNWVC81VHR1cHNXbXZwVGZpemV2eGJZUDFWZXRqeHliZDdqd2xi
cThVL3I4MnRQOW1tRjRKaHJuZHFHCm5yV3ZtNTROSzhTa2NxWmRPRzE2dTJUZDFEUFdvVUd4ZU1q
VHhmck9yRTUybS9WN0ljWjl2dVVNdDd5NWxLOXJrOVFzZGFDblM4YlUKOThXejJzL2RjTEVQQWhD
QWdDK0JoRXdIcCtiVmZmTnhFQUlqaHNDS2MzSi82QzlTejFEeUVLWS90UGttWGJSZVZEbEJsSStt
Zklzbwo2SGxWQnk1TW11akltMXQ5dzYxZWtIUWg4aXBaY0t3QkFwMVVQR0VYKzRiY3hpUUpHVHNq
REM5MVpXcjZ1dTBEc2xOWExwOWgyeDlVCnBtOWJFMFhpUG5XS05VL3JrMW1pUXFWOG1CYXE3dlJ5
MUwxeXNaanJEYWhuTUJkenJvU3MwMUQ1KzJUZHhvQzRURTVQd3lGRFVIdlMKNjlmdFFyUWgxenF6
MjVEcjk2R09lNmUrZk1zWmJubkRsSzh1ZTNVR1ZxOS8wczRuTVBNV0h1TjJmaS9RZ2x3Sm9JRGtT
b3o4TzUxQQpQZ3JJVG0vME1EUmcybGYvWWpTb1dYcmF1dlFtcyttWDU2ZnZHckhibzczOUl4WXNE
WU1BQkdKRkFBVWtWdDA5Wm9URkJHdk1kQ1dDCnhJMkEydk5iOTZGaUN0YmZ2c1hhbG5lTGw2VFJr
a1o3KzBjTFo5b0pBUWhBQUFJUUdHa0VtQUVaYVQxQ2V3SUpNQU1TaUlnTUVJQUEKQkNBUUV3TE1n
TVNrbzhlWW1EbjQwUnhqa2lNT0JDQUFBUWhBQUFJUWdBQUVJQkE1QVJTUXlKRlRJUVFnQUFFSVFB
QUNFSUFBQk9KTApBQVVrdm4yUDVCQ0FBQVFnQUFFSVFBQUNFSWljQUFwSTVNaXBFQUlRZ0FBRUlB
QUJDRUFBQXZFbGdBSVMzNzVIY2doQUFBSVFnQUFFCklBQUJDRVJPQUFVa2N1UlVDQUVJUUFBQ0VJ
QUFCQ0FBZ2ZnU3dBMXZmUHNleVNFQUFRaEFBQUlRZ0FBRUlCQTVBV1pBSWtkT2hSQ0EKQUFRZ0FB
RUlRQUFDRUlndkFSU1ErUFk5a2tNQUFoQ0FBQVFnQUFFSVFDQnlBaWdna1NPblFnaEFBQUlRZ0FB
RUlBQUJDTVNYQUFwSQpmUHNleVNFQUFRaEFBQUlRZ0FBRUlCQTVBUlNReUpGVElRUWdBQUVJUUFB
Q0VJQUFCT0pMQUFVa3ZuMlA1QkNBQUFRZ0FBRUlRQUFDCkVJaWNBQXBJNU1pcEVBSVFnQUFFSUFB
QkNFQUFBdkVsZ0FJUzM3NUhjZ2hBQUFJUWdBQUVJQUFCQ0VST0FBVWtjdVJVQ0FFSVFBQUMKRUlB
QUJDQUFnZmdTUUFHSmI5OGpPUVFnQUFFSVFBQUNFSUFBQkNJbmdBSVNPWElxaEFBRUlBQUJDRUFB
QWhDQVFId0pvSURFdCsrUgpIQUlRZ0FBRUlBQUJDRUFBQXBFVFFBR0pIRGtWUWdBQ0VJQUFCQ0FB
QVFoQUlMNEVVRURpMi9kSURnRUlRQUFDRUlBQUJDQUFnY2dKCm9JQkVqcHdLSVFBQkNFQUFBaENB
QUFRZ0VGOENLQ0R4N1hza2h3QUVJQUFCQ0VBQUFoQ0FRT1FFVUVBaVIwNkZFSUFBQkNBQUFRaEEK
QUFJUWlDOEJGSkQ0OWoyU1F3QUNFSUFBQkNBQUFRaEFJSElDS0NDUkk2ZENDRUFBQWhDQUFBUWdB
QUVJeEpjQUNraDgreDdKSVFBQgpDRUFBQWhDQUFBUWdFRGtCRkpESWtWTWhCQ0FBQVFoQUFBSVFn
QUFFNGtzQUJTUytmWS9rRUlBQUJDQUFBUWhBQUFJUWlKd0FDa2prCnlLa1FBaENBQUFRZ0FBRUlR
QUFDOFNXQUFoTGZ2a2R5Q0VBQUFoQ0FBQVFnQUFFSVJFNEFCU1J5NUZRSUFRaEFBQUlRZ0FBRUlB
Q0IKK0JKQUFZbHYzeU01QkNBQUFRaEFBQUlRZ0FBRUlpZUFBaEk1Y2lxRUFBUWdBQUVJUUFBQ0VJ
QkFmQW1nZ01TMzc1RWNBaENBQUFRZwpBQUVJUUFBQ2tSTkFBWWtjT1JWQ0FBSVFnQUFFSUFBQkNF
QWd2Z1JRUU9MYjkwZ09BUWhBQUFJUWdBQUVJQUNCeUFtZ2dFU09uQW9oCkFBRUlRQUFDRUlBQUJD
QVFYd0lvSVBIdGV5U0hBQVFnQUFFSVFBQUNFSUJBNUFSUVFDSkhUb1VRZ0FBRUlBQUJDRUFBQWhD
SUx3RVUKa1BqMlBaSkRBQUlRZ0FBRUlBQUJDRUFnY2dJb0lKRWpwMElJUUFBQ0VJQUFCQ0FBQVFq
RWx3QUtTSHo3SHNraEFBRUlRQUFDRUlBQQpCQ0FRT1FFVWtNaVJVeUVFSUFBQkNFQUFBaENBQUFU
aVN3QUZKTDU5aitRUWdBQUVJQUFCQ0VBQUFoQ0luQUFLU09USXFSQUNFSUFBCkJDQUFBUWhBQUFM
eEpZQUNFdCsrUjNJSVFBQUNFSUFBQkNBQUFRaEVUZ0FGSkhMa1ZBZ0JDRUFBQWhDQUFBUWdBSUg0
RWtBQmlXL2YKSXprRUlBQUJDRUFBQWhDQUFBUWlKNEFDRWpseUtvUUFCQ0FBQVFoQUFBSVFnRUI4
Q2FDQXhMZnZrUndDRUlBQUJDQUFBUWhBQUFLUgpFMEFCaVJ3NUZVSUFBaENBQUFRZ0FBRUlRQ0Mr
QkZCQTR0djNTQTRCQ0VBQUFoQ0FBQVFnQUlISUNhQ0FSSTZjQ2lFQUFRaEFBQUlRCmdBQUVJQkJm
QWlnZzhlMTdKSWNBQkNBQUFRaEFBQUlRZ0VEa0JGQkFJa2RPaFJDQUFBUWdBQUVJUUFBQ0VJZ3ZB
UlNRK1BZOWtrTUEKQWhDQUFBUWdBQUVJUUNCeUFpZ2drU09uUWdoQUFBSVFnQUFFSUFBQkNNU1hB
QXBJZlBzZXlTRUFBUWhBQUFJUWdBQUVJQkE1QVJTUQp5SkZUSVFRZ0FBRUlRQUFDRUlBQUJPSkxB
QVVrdm4yUDVCQ0FBQVFnQUFFSVFBQUNFSWljQUFwSTVNaXBFQUlRZ0FBRUlBQUJDRUFBCkF2RWxn
QUlTMzc1SGNnaEFBQUlRZ0FBRUlBQUJDRVJPQUFVa2N1UlVDQUVJUUFBQ0VJQUFCQ0FBZ2ZnU1FB
R0piOThqT1FRZ0FBRUkKUUFBQ0VJQUFCQ0luZ0FJU09YSXFoQUFFSUFBQkNFQUFBaENBUUh3Sm9J
REV0KytSSEFJUWdBQUVJQUFCQ0VBQUFwRVRRQUdKSERrVgpRZ0FDRUlBQUJDQUFBUWhBSUw0RVVF
RGkyL2RJRGdFSVFBQUNFSUFBQkNBQWdjZ0pvSUJFanB3S0lRQUJDRUFBQWhDQUFBUWdFRjhDCktD
RHg3WHNraHdBRUlBQUJDRUFBQWhDQVFPUUVVRUFpUjA2RkVJQUFCQ0FBQVFoQUFBSVFpQzhCRkpE
NDlqMlNRd0FDRUlBQUJDQUEKQVFoQUlISUNLQ0NSSTZkQ0NFQUFBaENBQUFRZ0FBRUl4SmNBQ2to
OCt4N0pJUUFCQ0VBQUFoQ0FBQVFnRURrQkZKRElrVk1oQkNBQQpBUWhBQUFJUWdBQUU0a3NBQlNT
K2ZZL2tFSUFBQkNBQUFRaEFBQUlRaUp3QUNramt5S2tRQWhDQUFBUWdBQUVJUUFBQzhTV0FBaExm
CnZrZHlDRUFBQWhDQUFBUWdBQUVJUkU0QUJTUnk1RlFJQVFoQUFBSVFnQUFFSUFDQitCSkFBWWx2
M3lNNUJDQUFBUWhBQUFJUWdBQUUKSWllQUFoSTVjaXFFQUFRZ0FBRUlRQUFDRUlCQWZBbWdnTVMz
NzVFY0FoQ0FBQVFnQUFFSVFBQUNrUk5BQVlrY09SVkNBQUlRZ0FBRQpJQUFCQ0VBZ3ZnUlFRT0xi
OTBnT0FRaEFBQUlRZ0FBRUlBQ0J5QW1nZ0VTT25Bb2hBQUVJUUFBQ0VJQUFCQ0FRWHdJb0lQSHRl
eVNICkFBUWdBQUVJUUFBQ0VJQkE1QVJRUUNKSFRvVVFnQUFFSUFBQkNFQUFBaENJTHdFVWtQajJQ
WkpEQUFJUWdBQUVJQUFCQ0VBZ2NnSW8KSUpFanAwSUlRQUFDRUlBQUJDQUFBUWpFbHdBS1NIejdI
c2toQUFFSVFBQUNFSUFBQkNBUU9RRVVrTWlSVXlFRUlBQUJDRUFBQWhDQQpBQVRpU3dBRkpMNTlq
K1FRZ0FBRUlBQUJDRUFBQWhDSW5BQUtTT1RJcVJBQ0VJQUFCQ0FBQVFoQUFBTHhKWUFDRXQrK1Iz
SUlRQUFDCkVJQUFCQ0FBQVFoRVRnQUZKSExrVkFnQkNFQUFBaENBQUFRZ0FJSDRFa0FCaVcvZkl6
a0VJQUFCQ0VBQUFoQ0FBQVFpSjRBQ0VqbHkKS29RQUJDQUFBUWhBQUFJUWdFQjhDYUNBeExmdmtS
d0NFSUFBQkNBQUFRaEFBQUtSRTBBQmlSdzVGVUlBQWhDQUFBUWdBQUVJUUNDKwpCRkJBNHR2M1NB
NEJDRUFBQWhDQUFBUWdBSUhJQ2FDQVJJNmNDaUVBQVFoQUFBSVFnQUFFSUJCZkFpZ2c4ZTE3Sklj
QUJDQUFBUWhBCkFBSVFnRURrQkZCQUlrZE9oUkNBQUFRZ0FBRUlRQUFDRUlndkFSU1ErUFk5a2tN
QUFoQ0FBQVFnQUFFSVFDQnlBaWdna1NPblFnaEEKQUFJUWdBQUVJQUFCQ01TWEFBcElmUHNleVNF
QUFRaEFBQUlRZ0FBRUlCQTVBUlNReUpGVElRUWdBQUVJUUFBQ0VJQUFCT0pMQUFVawp2bjJQNUJD
QUFBUWdBQUVJUUFBQ0VJaWNBQXBJNU1pcEVBSVFnQUFFSUFBQkNFQUFBdkVsZ0FJUzM3NUhjZ2hB
QUFJUWdBQUVJQUFCCkNFUk9BQVVrY3VSVUNBRUlRQUFDRUlBQUJDQUFnZmdTUUFHSmI5OGpPUVFn
QUFFSVFBQUNFSUFBQkNJbmdBSVNPWElxaEFBRUlBQUIKQ0VBQUFoQ0FRSHdKb0lERXQrK1JIQUlR
Z0FBRUlBQUJDRUFBQXBFVFFBR0pIRGtWUWdBQ0VJQUFCQ0FBQVFoQUlMNEVVRURpMi9kSQpEZ0VJ
UUFBQ0VJQUFCQ0FBZ2NnSm9JQkVqcHdLSVFBQkNFQUFBaENBQUFRZ0VGOENLQ0R4N1hza2h3QUVJ
QUFCQ0VBQUFoQ0FRT1FFClVFQWlSMDZGRUlBQUJDQUFBUWhBQUFJUWlDOEJGSkQ0OWoyU1F3QUNF
SUFBQkNBQUFRaEFJSElDL3c4RG4yR0JHaTJYUVFBQUFBQkoKUlU1RXJrSmdnZz09CgpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL2N1c3RvbS9zdmctZm9udHMtd2l0
aC1uby1lbGVtZW50LXJlZmVyZW5jZS1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlz
cGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxp
Y2F0aW9uL29jdGV0LXN0cmVhbQoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlB
QUFDYWRvSndBQUFETzJsRFExQkpRME1nVUhKdlptbHNaUUFBZUFHRgpsRXRvMUZBVWh2K01LWUsw
Z3FpMUZwVGdRb3UwSlQ3UWlsRGJhYlhXa1hFWSs5QWl5RFJ6WnhwTk16R1pHUitJU0VIYytWcUtH
eCtJCml5cmlRcnBRY0tVTGtVTHJhMUVFY2FVaWlFSTNVc2IvSnUxTUtsWXZKUGx5em4vUDY0WUFW
UTlUam1ORk5HRFl6cnZKcnFoMjZQQ0EKdG5nQ1ZhaEJOYmhTaHVlMEp4TDdmYVpXUHVldjZiZFFw
R1d5U2NhSzlSMlkrTFJ0OWYxTGoyTHY2NTcyK3A3NStubHZOUzRUQW9wRwo2NHBzd0ZzbER3YThW
L0xKdkpPbjVvaGtZeWlWSmp2a1JyY24yVUcrUVY2YURmRmdpTlBDTTRDcU5tcHlodU15VG1RRnVh
Vm9aR1hNClViSnVwMDJiUENYdGFjOFlwb2I5Um43SVdkREdsWThCcld1QVJTOHJ0Z0VQR0wwTHJG
cGZzVFhVQVN2N2diRXRGZHZQcEQ4ZnBYYmMKeTJ6WjdJZFRxcU9zNlVPcDlITTlzUGdhTUhPMVZQ
cDFxMVNhdWMwY3JPT1paUlRjb3E5bFljb3JJS2czMk0zNHlUbGFpSU9lZkZVTApjSk56N0Y4Q3hD
NEExejhDR3g0QXl4OERpUnFnWndjaTU5bHVjT1hGS2M0RjZNZzVwMTB6TzVUWE51djZkcTJkUnl1
MGJ0dG9idFJTCmxxWDVMazl6aFNmY29rZzNZOWdxY003K1dzWjd0YkI3RC9MSi9pTG5oTGQ3bHBX
UmRLcVRzMFF6Mi9xU0ZwMjd5WTNrZXhselR6ZTUKZ2RkVXh0M1RHN0N5MGN4Mzl3UWM2Yk90T005
RmFpSjE5bUQ4QUpueEZkWEpSK1U4Skk5NHhZTXlwbTgvbHRxWElOZlRuanllaTBsTgpMZmUyblJu
cTRSbEpWcXd6UXgzeFdYN3RGcEl5N3pwcTdqaVcvODJ6dHNoekhJWUZBUk0yN3pZMEpOR0ZLSnJn
d0VVT0dYcE1La3hhCnBWL1Fhc0xEOGI4cUxTVEt1eXdxdXZDWmV6NzdlMDZnd04weWZoK2ljWXcw
bGlObytqdjltLzVHdjZuZjBiOWVxUzgwVkR3ajdsSFQKR0wvOG5YRmxabG1OakJ2VUtPUExtb0w0
QnF0dHA5ZENsdFpoWGtGUFhsbmZGSzR1WTErcEwzczBtVU5jakUrSHVoU2hURTBZWkR6Wgp0ZXkr
U0xiNEp2eDhjOWtXbWg2MUw4NCtxYXZrZXFPT0habXNmbkUyWEExci83T3JZTkt5cS9Ea2paQXVQ
R3VocmxVM3FkMXFpN29ECm1ycExiVk5iMVU2KzdWVDNsM2YwY2xZbVRySnVsOVduMklPTjAvUldU
cm95V3dUL0ZuNHgvQzkxQ1Z1NHBxSEpmMmpDeldWTVMvaU8KNFBZZmQwajVML3dOQVlVVkRYeExP
enNBQUNBQVNVUkJWSGdCN2QwRGxDMUx0aTdnN051MmJkdTJlZHUyYmQ2Mis3WnQyN1p0MjdadAo1
NHMvM3N0NnEycFhiVlR2ZmZyRTdDL0hPTDJyYXEzTUZmSE5yQjd4WjBaa0hXQnUyMlFqUUlBQUFR
SUVDQkFnUUlEQWZpRHdYL3ZCClovZ0lBZ1FJRUNCQWdBQUJBZ1FJZEFFQnhJbEFnQUFCQWdRSUVD
QkFnTUIrSmlDQTdHZlVQb2dBQVFJRUNCQWdRSUFBQVFIRU9VQ0EKQUFFQ0JBZ1FJRUNBd0g0bUlJ
RHNaOVEraUFBQkFnUUlFQ0JBZ0FBQkFjUTVRSUFBQVFJRUNCQWdRSURBZmlZZ2dPeG4xRDZJQUFF
QwpCQWdRSUVDQUFBRUJ4RGxBZ0FBQkFnUUlFQ0JBZ01CK0ppQ0E3R2ZVUG9nQUFRSUVDQkFnUUlB
QUFRSEVPVUNBQUFFQ0JBZ1FJRUNBCndING1JSURzWjlRK2lBQUJBZ1FJRUNCQWdBQUJBY1E1UUlB
QUFRSUVDQkFnUUlEQWZpWWdnT3huMUQ2SUFBRUNCQWdRSUVDQUFBRUIKeERsQWdBQUJBZ1FJRUNC
QWdNQitKaUNBN0dmVVBvZ0FBUUlFQ0JBZ1FJQUFBUUhFT1VDQUFBRUNCQWdRSUVDQXdING1JSURz
WjlRKwppQUFCQWdRSUVDQkFnQUFCQWNRNVFJQUFBUUlFQ0JBZ1FJREFmaWF3VndMSVgvN3lsK25I
UC83eFhtLzBILzd3aCtsSFAvclJ0by83CnB6LzlhZnJCRDM2dzdmMzN4bzUvLy92ZnR6ek1JeDd4
aU9rakgvbklscTkvK2N0Zm5tS3dmOTUrOTd2ZlRUZTR3UTMyV1JOZjhwS1gKVEs5NHhTdjIyZkUz
Ty9BM3Yvbk42Wi8vL09kbUwrMnpuLzM4NXorZnJudmQ2MDZuT01VcHByZTg1UzE3OVhPKy92V3ZU
L004Ny9LWQpILzd3aDZjTFh2Q0MwN25QZmU1LzZmZnVoei84NGZUSFAvNXhsNS9uRFFRSUVDQkFn
TUIvcHNDV0FlVHBUMy82ZEs5NzNXdjYyOS8rCjFnZkJYLzNxVjljSnZlTWQ3NWdlODVqSFROZTV6
bldtbTkvODV0TXkwUDdTbDc0MFhmR0tWNXp1ZU1jN3Judi9ubjd6Z1E5OFlMckEKQlM0d0hlQUFC
OWpUWGZ2N1AvV3BUMDNuT2M5NWV2djM5QUFmKzlqSHByLys5YTk3dXRzTzczL2M0eDQzM2ZlKzk5
M2g1OHNQM3ZDRwpOMHdmL09BSGwyL1gvUnZIazUvODVOT0JEblNnZFQvZnYzM3oyYzkrZGtwSTJG
ZmIyOTcydHVuZDczNzNYajk4Z3QrbExuV3A2YUVQCmZlaTZZOS81em5lZUh2M29SL2ZnK3QzdmZu
ZmRhL3ZxbXdUNHkxLys4djMzS0tIMEd0ZTR4blNoQzExb2V1dGIzL292ZldSQ3gyMXYKZTl2cHFV
OTk2aTUvano3M3VjOU50Ny85N2FkWHYvclYweWxQZWNycFFROTYwTFkrTytmOHJXOTk2K21nQnoz
b3R2YTNFd0VDQkFnUQpJRkJmWU5NQThyV3ZmVzI2NlUxdk9uM21NNS9wQTVIVG5lNTAwMjF1YzVz
K01Eci8rYzgvWGZqQ0Y1NnVkYTFyVGQvKzlyZW5KenpoCkNkTXpudkdNNlZqSE9sWWZ0R2ZRZitw
VG4zcktRT3Ezdi8zdHRnUno1VC9IZjg1em5qTWQ3V2hIMitOamZPYzczK2toNk1sUGZ2SjAKdk9N
ZGI0LzNUeCsrOHBXdjdQRitxenRrVUhuUGU5NXp1c2hGTHJMNjQzVmY1MHJ4Zi8zWHBpV1lmdkdM
WC9Ud3NYOGZ5S1VQMncySgo2ekMyK0daZkhQOG5QL2xKdjlKL2hqT2NZWHJBQXg2dzlzbjN1OS85
cGdUdEJKQ2MvNjk2MWF2V1h0dVhYeVRJNTV3N3kxbk9NdVhjCnpaMjdFNXpnQk5PVG52U2tmK2xq
NzM3M3UvYzdrdzk1eUVOMmVaeWIzZXhtdmQrSFB2U2hwN09kN1d6OXYxM3V0T0VOejMzdWM2Y1gK
dnZDRlUvNDk0QUVQdU9GVjN4SWdRSUFBQVFJRS9xL0FwcGZYVDN6aUUwK1podkxSajM2MEQ0Ui8v
ZXRmVCtjOTczbW5xMTN0YXROeApqbk9jUHVDOHlsV3VNaDM1eUVlZURuV29RNjFaSHVRZ0IrbDNI
REl0NXpTbk9jMTBtTU1jWnUyMVhYM3hqMy84WThwL0djem0ySTk4CjVDT25rNTNzWkx2YWJlMzFY
TzNOb0Q5dHlCWGtEUDdQZU1ZenJyMitKMThjODVqSDdGZkFFNlMydTczem5lL3N1NTdyWE9mYTho
QngKT3ZDQkQ3enA2NWtDTk1JZ0xuMkkrYjdhZG1hMDNjODh4Q0VPMGUvcVpYcmJPYzV4am42WTk3
M3ZmZE96bi8zczZmT2YvM3dQaFFuVQplMlA2WHFZbUh2YXdoNTBPZnZDRGI5bmNCT1Y4ZnJhakgv
M28wK0VPZDdncC9kN1p1YlBWd1JKZThsbHZmL3ZicDVlLy9PVlQ3bXpzCktpRG1MdGFmLy96bkhv
QnkzRXdGMjkxdCtieGN0TWpkbzA5KzhwTlRmRzBFQ0JBZ1FJQUFnYTBFTnIvODN0NmRvSkdwVkRl
NXlVMm0KZ3gzc1lOTTV6M25PNmJqSFBlN2FZQ1ozUlRKWTI3Zzk3R0VQbTM3em05OU1tVHF6SjF0
Q1J3WmNtYjZScTdBYjU2Ry83bld2bTY1dwpoU3RNT2Y0eTNXdjErRGU2MFkzNkFPb09kN2hESDd4
ZDhwS1huSEwxZkR2YjZVOS8razM3dGlmSHlrRHNWS2M2MVpyWFp2dG0wQmZiCnpiYmNHVWsvMy9X
dWQyMDZIejloTFhlZk1uWG5YNTBDbGVDV3ErU3A5NXZmL09ZcGc4bjN2dmU5bXpWcmg1K3Q5aUhU
OHE1ODVTdFAKdVpPUVkrNXF5eDIwbkY4M3Z2R04rNVgvemQ2L2V2ek5YdC9PejNKK1BmQ0JENXl5
N2lMVDdUSk5LZE1JNzNLWHUvUzdkci8vL2UrbgpyYzd2WFgxZUJ1UVorT2Y0RDMvNHc2ZWNoei83
MmMrMjNDM1R2QkkyRTNxejVlNWk3cG9sR09WYzNwTXRkKzF5bkR2ZDZVN1RMVzV4Cml5bDNRSDc1
eTEvdWNoM1JlOTd6bnY3N3ZiUFBTc0RQZWJhNkppbkh6cHFWYTE3em1yMk9XUXVVMEp3TEZqWUNC
QWdRSUVDQXdGWUMKV3dhUTFSMnlEbVRqVktEVG52YTAweGUvK01VK1VML2IzZTdXcDExa255eGkv
ZGEzdmpVZDhZaEg3SWZJbGR4Y0dUM0dNWTR4NWM1SwoxajFzdG1XNjFiV3ZmZTBwVjRNeklMdnJY
ZSs2Tm5oLzJ0T2UxcWRqWlZyWDYxLy8rdWtlOTdqSERvZklZRHpoNWJHUGZXeS9DNU0xCktKc0Zs
UjEyYkQvNDlLYy9QVjM2MHBmdVYyNHZlOW5MOW1sYldZT1J1eGdaekdWZ3ZicGxnUDc4NXo5L2Ja
cFcxb3M4NjFuUG1uNzEKcTEvMUtTOFptT1hxZWZxOGNmdjR4ejgrdmVoRkw1b3k4TXhDM2NNZi92
QWIzOUsvajE5Q3hsT2U4cFErSnovdHkxMnBaY3NVb2RqRwpJbTE4NVN0ZnVieTBXLzhtUE1iMXdR
OSs4SlRBbGZabUFKbTdSNWU1ekdWNnpmTDFFNS80eEIwV0ZDZGc1dlBlOUtZMzlRRnArcENGCjRn
a3h5OEw2VzkzcVZqdTBJK2RScnN4bnlsRUd4MmM5NjFsNzZFeXdQZC81enRmN201MWluNms4K1Rj
RCtpTWM0UWc3SEd2NVFhd1QKWW5JVmYwKzJuS2NKR3BsbWxVWGFDYXN2ZmVsTCsvZTVncitjMzZs
MTdxWmxIY1d1Rm5MSE5JUHhUQ0hNdVpCMVZKLzR4Q2ZXRGRvMwp0akVQV2NpZHhHWExaNS81ekdm
ZWNwOTQ1SGNvZHdnVHhsUERCSldUbk9Ra1BiUW5TS1VkY2NrNW12ZnU2bzVFN3RJYzZVaEhXcHF3
CjltL0NYODc5MUNMVE1hOTYxYXQyNjV4NzcyN3JjbEtYQk5YOGYwUFcxSHpvUXgvcTdkblY1NjE5
Z0M4SUVDQkFnQUNCLzBpQjNRb2cKa2RtNEdQcjR4ei8rOUlVdmZLRVArazk0d2hQMkJhd1poT2NL
YkFhRHVhcWFRVmltYm1WQW02dmRWN3JTbGFablB2T1pteTd3UHVRaApEemxsVG42bXE3ei8vZS92
QTc1bC9VY0dRTG5Ea2ZVY3Q3dmQ3ZnJyV2V5YXdlNnk1VE16c00yV2hkMlpUcE83T0x2YWNtY2x4
M3pCCkMxN1FwNnRrY0oyQmZUNHpvZWdvUnpuSzlOLy8vZDlURnJVbldPVUtmeGFXWi9GeTdqNGtm
T1FLZnRZVlpDQ2VlZndaZU9icWV2cTAKYkJuTVpYQ2FBWGl1aUdmUWxwOWx5czFtMnhKZUVzU3lM
aUR2UzFESVZKME1oQk5pTWhDTVdZNGJzNjIyKzl6blByME91U3VWL3FVZQp1VXFmS1hJWmVIN2pH
OStZc3JibjRoZS9lRitZblJya2lVZy8vZWxQKzEyQlRLZkxJRDFibnRDVUFmL3lkTEtzODBuYjRu
Vzk2MTF2Ck92YXhqOTMzU2Yxek5mK0dON3hoYjMvYWx4Q1ZVSkZ6SlB2bjMzZ2x3TVlrb1N4cmpY
S3NmSGJhbDZ2cFd4bWxQZkZNaUVnYlY3Y00KdmhOcXR0cmltLzFTOTlRNEQxUElzYklXSW5lZmNu
Nm5QZmw1enUvYzFjbmFrSzIyaE9hYzMrbHZRbUhDd1MxdmVjdis5cDFOcGN0NQprSnFzYm1sYmds
OCsvK3huUDNzUEdEbWZza0E4ZHdxLy8vM3Y5M003dGN2dlFONmZ1eDlaT0o1Z2tMdHErWDFKdmRP
ZVhVM0J5aFM2CmpXMTQvT01mMy91VFd1VDhTbkJPVy9QN2tuTWg1MHZPKzlRd0FmS2lGNzFvRHlz
Smx2dHlTdDZxazY4SkVDQkFnQUNCTVFVMlhRT3kKc1NzWjhHNGN4T1FLZmU0d1pNQ1JxOGtaVEMr
RDBBeVNNcmpMb0QxWFE1ZDU5cG1Xc3JNdFYxa3oyTnU0TUR1QklBUFlERzd6bVJuWQpaMUNYT3l0
NWY2N1M1Z3JzMWE5KzlUNzR6eHo2M2QzUy9seXR6N1NjL0pjcFQ1bUdsQ3ZMdWNxY2Z1YUtkaGJX
dnV4bEwrdFgvak5vCnpwWHhQQzBvNzBzWXlQZlpNbzBwZDA0U1JsYW5vaVJJNUtwNjdsWmt5d0E3
cHBuQ3N0bVdFSkJCY0FaKzJTOTNRbktsL0hLWHUxd1AKU3JsN2tydEJHUWpHWkhVdHpzYmp4U2tE
eFF3azg1a1o1S2M5MlRLWVRiaE1qVFBJemJHeUFEb0JKRk9UTXJEUEU1a1NXaEkrRW5xeQpybUQ1
dkRlKzhZM2RJY0VpYTRieTVLN2M2VWg0U05qTU5LUTQ1VE15M1NsM3diSjk3M3ZmNjhFazRTb0Qy
Tnp0eVJTZkJMcjczLy8rCi9UMzVueGhtLzYyMmhPQUVzOVV0MDRUKzUzLytaenJxVVkrNit1TzFy
L05aTVVqQVRhaE5HTXVBZlhWTDNXT1N1d3VaK3BlMU9na2cKQ2F1YmJRbUd1Wk9RMExWc3l4VEF4
V3I1K2VxL3NmcDJDK2NKdHdrQm1mcVZwM05kLy9yWDcrZElnblFXeXNjdHRjdGRzT1g4em5tVwor
aTFUdFhJSEsvL0ZLL1hhM1MxdFNQMFM0aE5xNHBGemEza0tWMzRmRTJJenBUQjlTbERMNzBNQ1o5
cVYzOXZjZ2JFUklFQ0FBQUVDCkJIWkhZTGZ1Z09UcWJnWmpxOXV5ZHVGTVp6cFQvM0dlNHBPcFRO
a1NPREpJelFBd0EraGNEYzZnSlZOZWRyYmw5YzBXWlovMHBDZnQKVi80elNNd1YzVHlsSjFOTkxu
R0pTL1FCZVFhVW1mNlJ3ZE5tKysvc005UEdUTi9LRmZPczIwZy8wN2NNVERNSXpaYjFLQWs1R1VR
bgpmR1RMd0N0clZqSU5LWXQrbDdzdE9WNEc4UmtFSmpSbGNKY3Q0U3poWk5reVdNMlY5NTB0MU05
bnBWL0xsanN2bWZhU1FXbENRcTZJClo4Q2JhV3VaenJUVmx2YkZMclhJblpxbGRubC9CdUVKYzVs
U0ZkZlh2T1kxYTAvdVNzaEo2RXZBeW5TN0JJT3NCVm9kVU9kNHNjZ0EKTkczTm8xd3pZTSt4c20v
dVNtVUFuVkN3V3B1OFB3UGUzR1ZLWHhLUTh0bXJSamtmc2wrT3Y5V1dBZmpHT3lUNXZOeGgyZXpP
UXdKTwo3bFJrUy9CTWdFbkFYVzFiWHN0Vi9BeThWOC92dERlL0M1dHRDZHQ1YU1McW5jSmxBTCt6
S1VrSm1UbHY4OGpyWlNwVzJwM2E1M2NvCjUvN3pudmU4NmJwdFlYak96ZFZ3bnZlblJqSFBWS3VF
Mm15YjlXZXpOaTgveSs5cndtV21VNlV0bVc2MkdPVTlDVU9ab25laUU1MW8KYlRwZXBrdm1UbGlt
M2VVdTJHcS9sK1A2bHdBQkFnUUlFQ0N3bWNCdUJaQU1XSmZCelhLUUpVemtTbjIyM0luSUZmVE1V
YzhBS29QZQpyQ0hJVmZEY0hjaWFqQXpPTXhEZmFzdnJtUTYwTWV4a2FsQ3VEdWR2ZzJTcVNhYnk1
RXAwcG9Ja2hPUnVTeDZmbXYwemJTV0R6TjNkClh2emlGL2RCYndhL0Y3dll4ZnBWM2x5Vlg2NHk1
empwV3dMRHhrRlc3cGlrL3hud0xWTlljaWNvUDh0OCtVeEJ5MVNXYlBGS1VGcTIKM0RuSWxKYWRi
UWs0eTlPUjhyNjRab0Z5QnMzcGR3SlNna0h1MEd5MWxtVDErQWtFT1ViQzFyS2xUemxtQnZtcFUz
eVh2aStPbWVhVgpLL1A1bk5VK1pLRjVnbG42a2ZZa2pDUm9waGFaeXJRc3ZzNGRqb1N5V0M5YnBr
ZGw4Snc3VVBuYzNIbGE3c0FzNzRsUnRwMDV4WHUxCkxtbFBCdEM1RTdEeE1kQUpKZm5iTWdrc3Vk
dVMwSkZ3a1BObXVZTzFmSGJPNDRTTjVmek9VN0d5cFkrYmJUbjI2Z0x0VEZYS25hTnMKTWQ5cXk0
QS9kN0V5MVNvaGJObVczNkhsK3dUaTNBM0tuWWxseTFQYU1zMHF0Z2tDMlQ5QlpyUCtMUHRzOW0v
Tyt6aGsvVk9DVis1eQpySnJtUE0vZGw5UnhPU2R5bkFTVFBDNDYreTVUOUZhUEg1UFVZbU1kVnQv
amF3SUVDQkFnUU9BL1QyQzNBa2dHNEt0WDRzTzBPcjBvCjMyY1FrcXV6R1lUbGFtb1cwdWFLZWFh
VFpCQ1N1eU1aRkdhUitGWmJCcVVadEM4RHo3d3ZBL3RNNmNvZ0puOXZKQVA1WEIzTzRDWlQKZW5J
WElGZXBNNGpMMWZ5RWwweVZXcmFON1Z4K252ZGx6VW9Hckptem4zMHlpTXJuWkRDOHVtVUFsaTNo
S0FQK2JCbWd4aVJQRzhxQQpmVmwva3VrMG1hcVNxOFdad3BRRnpKa2VsakNSTUpZdEEvZVlMQ0d1
LzNDVC84aytHY3duRUMxYkJwdnBaNjU2Sjh4bGtYUE1NdjFzCmQ3YUVsb1MwMVMxUGYzclVveDQx
cGUwSk41djk4Y1FNZ05QUDFHWVpoT2ZLZkQ0Ny9jZ2dOcTluVFVLdXpPZjdERTZ6TFhlU1Z2dVIK
YVhTNUE1RUhCK1RjeWJtUy9WS1RaVnZPbFFTOHJiWUVyN1E3Vys3dzVGSFJDUmRaazVCK0xuY3Nz
c0E4bnRkdGR4Snl4eXNEN0p5bgptYXFVS1lRSlI4dmdPdjFad2xNL2NQdWZETUJ6NTJjMVpDeXY1
ZCtFOUlTM0JQWGNMY2kwdWVXdVZNN1ZuVzE1WDZhOExWcytJM2ZqClZ2K0d6RWJESERQblZ1NlF4
Q2wzTHpKTkwydVQwcCtjRzB0WWpOL2lzSHpHNnIvNXZjM3ZhODdUYkxsNzk5clh2bmJ0TFFtVjhk
d1kKcEhKT1pFczR6WG14MUR1TytmM0kzYm5VSUU4Q3N4RWdRSUFBQVFJRTFnVGFRSHlYVzF2Y09y
ZnBRbk1ieUt5OXR5MzBudHZWMjdYdgo4MFU3Nk55ZXdETzN3REszeGJCekc0alA3V3JzM0FicGN4
dG96dTBxNzl5bTg2emJaK00zYlZySDNBYlljNXRtTkxjQjQ5eENRWDlMClBxOEZnYm5kV1puYmxK
RjF1N1dyNEhPYmt6NjM2VTV6Vys4d3QwSHAzQWF5YzFzQVA3ZmdzKzY5eXpkdGNEYTN3ZkxjQnNK
em15N1UKOTJ2VFN1WTIzV3B1ZytHNURmNld0ODV0TURpM0srQnpXMnN3dHpVT2M3dXJNYmRCMWR5
bVB2WDM1TFBiNEd4dWZ6eXh2OTd1bHZTZgpwMTF0RURhM3EraHpDd2k5L2UxSzlkd0d5WE1MSTNN
YitNMXRzTHYyT1J1L2FGZWk1emJsYW01WDdPZTJabUhPdmkxc3pXMitmbjlyClczL1NYMHRiV2dE
YXVQdW0zN2M3RlhPN0M3RERhMjJSOWR5bVF2WFgyc0xzdVlXOGRYWnRVRHUzeGVKem04clYyOUFX
MnMvdHp0VGMKN25UTWJRMUNQMTZib3RUUGt6Ykk3Njh0SDlKQ1hmZHBDNnVYSC9WLzIwQzcyN2Qx
TGQydHJTV1kyMVMydWQwdG05c0M3cmtOcG52LwoybFNrZGZ1dGZ0TVd1M2ZIOUt2ZDRabmJuYXor
Y2dzN2N3c05jd3U5L1R4SVBkdjZpYlZkODFtcFp4dVl6eTAwOUhPdVBWUmdidXVVCmVoMWIwSnhi
cU9qbjFMSlR6cXQycDJUNWR0Mi9iY0Rlei85NDVOektsbk12dnhNdDRLMTc3OFp2OHJ2UzFnS3Qv
YmlGd2JuZDRWdjcKUGwrazVqbFd1d1BTZjk3V2pQUnpOT2R2V3lqZnpWcUFuMXQ0bkhQZTVIZXpC
ZmQrTHJkcGkrdU90ZGszTGRET2JWMVFmMm5wUzM1bgoyMVBTK2puUlF0WGM3cHoxODNqWlA1NXBV
N3N6MXR1ZjM1MzJjSWhlK3hhVTV4YVFlcnRhd0ZwMjhTOEJBZ1FJRUNCQVlNNGRnMTF1CjdTN0Uz
SzZvcmcyc3NrTUdsZTJxN2RxK0djaGxNTkxtd3E4RmxRekUyaFNSdWYxRjV6NHczTmxnZXpsUUJp
NFozTGFyMUgxZ3VQdzgKLzdicEpYTzdDekxuUFZ0dGFVY0NRYnNxUEdmUXRLdXRUZnZwZld0M0pP
WjJCYmdQU0JONlZnZXI3VTdMM0thZnpPM1Jwbk5iaUR5MwpoZFY5a0xkNjdGZ2tYRzNzWTBKSWdr
TDYxSzVhejIydHhkd1dZUGRkMnhYa3VWMjVYajNNRGwvbnVCbkl0aXY0Yzd0Yk03Y3J5K3ZlCmsz
QzBxMk9zN3REdWNNd1p2RzYydFRVcmMvcTYyWlp3MHE2dzk1ZmF0TEM1WFJYdmRXaDNRZm9BZjlr
bmc5OTJWMnB1ZDNtV0gvVi8KMjkyR2RZUDU1Y1g0NVAyeHlaYVEyNmJVOVVGdHZrL3dlVllMa3p2
YlVyY01qbFBMMVMxbUNXNDVCemR1N1c3RnVqYkdKQUV2ZysrYwp0Mm4vUnRlMlhtZHVkOEUySG1y
dCs5VnpKai9NZWRxbVNmWHcydTZvckwxdjR4ZDVyZDJSV2Z2OTJpcHd0WFVlRzNmdDlVcGQyaDJj
CnVkMlpXbnM5NTNEQ1EvYko3OFN1dHB5ZmJRclcydHNTaXU1OTczdlBiU3JaV3J2V1h2eC9YK1I4
VE1oTFB4UGlFdWp6TzdCYSsvd08KYm5XK2JUeWU3d2tRSUVDQUFJSC9ESUVEcEpzdE9PeVZMV3NM
TWhWb2RhSHNYam53di9rZ1dadVFKenhsbmNQZTNQTDQyVHpCYVhYQgo3OTQ4L3Q0OFZxWkxaYjFH
cG4rdGJsa2JrNmRyWlJIMHp0WnFyTzZ6SjE5bnVsUVc4bWM2Mjc5N3k3U21QSVo1ZFgzRXJ0cVU2
VnlaClJyaTZ2bU96ZlRMTkwxTzRsc2N2Yi9hZWZmbXpkN1ZwaDNsQ1c2YXg3ZTdXUWtxZnNwZHBp
RFlDQkFnUUlFQ0F3TzRLN05VQXNyc2YKNm4wRUNLd1h5SlBBOHNjY056NVNlUDI3OXQxMytlT0Zl
ZGhESG85c0kwQ0FBQUVDQkFqc1M0SGRXb1MrTHh2ZzJBVCswd1hhRktaKwpaK25mZGZjai92bkw2
ZWR0ZnpUVVJvQUFBUUlFQ0JEWTF3THVnT3hyWWNjbnNBdUJ0a2JqM3o1dHNhMTcyZUVwVjd0b3Rw
Y0pFQ0JBCmdBQUJBdHNTRUVDMnhXWW5BZ1FJRUNCQWdBQUJBZ1MySTJBSzFuYlU3RU9BQUFFQ0JB
Z1FJRUNBd0xZRUJKQnRzZG1KQUFFQ0JBZ1EKSUVDQUFJSHRDQWdnMjFHekR3RUNCQWdRSUVDQUFB
RUMyeElRUUxiRlppY0NCQWdRSUVDQUFBRUNCTFlqSUlCc1I4MCtCQWdRSUVDQQpBQUVDQkFoc1Mw
QUEyUmFiblFnUUlFQ0FBQUVDQkFnUTJJNkFBTElkTmZzUUlFQ0FBQUVDQkFnUUlMQXRBUUZrVzJ4
MklrQ0FBQUVDCkJBZ1FJRUJnT3dJQ3lIYlU3RU9BQUFFQ0JBZ1FJRUNBd0xZRUJKQnRzZG1KQUFF
Q0JBZ1FJRUNBQUlIdENBZ2cyMUd6RHdFQ0JBZ1EKSUVDQUFBRUMyeElRUUxiRlppY0NCQWdRSUVD
QUFBRUNCTFlqSUlCc1I4MCtCQWdRSUVDQUFBRUNCQWhzUzBBQTJSYWJuUWdRSUVDQQpBQUVDQkFn
UTJJNkFBTElkTmZzUUlFQ0FBQUVDQkFnUUlMQXRBUUZrVzJ4MklrQ0FBQUVDQkFnUUlFQmdPd0lD
eUhiVTdFT0FBQUVDCkJBZ1FJRUNBd0xZRUJKQnRzZG1KQUFFQ0JBZ1FJRUNBQUlIdENBZ2cyMUd6
RHdFQ0JBZ1FJRUNBQUFFQzJ4SVFRTGJGWmljQ0JBZ1EKSUVDQUFBRUNCTFlqSUlCc1I4MCtCQWdR
SUVDQUFBRUNCQWhzUzJDdkJKQy8vT1V2MDQ5Ly9PTnROV0JuTy8zaEQzK1lmdlNqSCszcwpMVHQ5
N1U5Lyt0UDBneC84WUtmdjJkY3YvdjN2ZjkveUl4N3hpRWRNSC9uSVI3WjgvY3RmL3ZJVWcvM3o5
cnZmL1c2NndRMXVzTSthCitKS1h2R1I2eFN0ZXNjK092OW1Cdi9uTmIwNy8vT2MvTjN1cDdNK3Vl
YzFyVG4vOTYxOTMyYi9IUGU1eDB4bk9jSWJwRnJlNHhUVFAKOHk3ZnY5VWJ2djcxcjIvMWtwOFRJ
RUNBQUFFQ3hRVzJEQ0JQZi9yVHAzdmQ2MTdUMy83MnR6NEkvdXBYdjdxTzRoM3ZlTWYwbU1jOApa
cnJPZGE0ejNmem1ONStXZ2ZhWHZ2U2w2WXBYdk9KMHh6dmVjZDM3OS9TYkQzemdBOU1GTG5DQjZR
QUhPTUNlN3RyZi82bFBmV282Cnozbk8wOXUvcHdmNDJNYyt0bHVEc1YwZE40TzErOTczdmx1KzdR
MXZlTVAwd1E5K2NOUFg0M2p5azU5OE90Q0JEclRwNi91WEgzNzIKczUrZEVoTDIxZmEydDcxdGV2
ZTczNzNYRDUvZ2Q2bExYV3A2NkVNZnV1N1lkNzd6bmFkSFAvclJQYmgrOTd2ZlhmZGExVy8rK01j
LwpUaTk4NFF1bmIzLzcyenZ0WWx3U0hHTDMrdGUvZm5ybk85KzUwL2R2OW1JdUNsemhDbGVZM3ZX
dWQyMzJzcDhSSUVDQUFBRUMvd0VDCm13YVFyMzN0YTlOTmIzclQ2VE9mK2N6MG9BYzlhRHJkNlU0
MzNlWTJ0NW11Y1kxclRPYy8vL21uQzEvNHd0TzFybld0UG1CNXdoT2UKTUQzakdjK1lqbldzWS9W
QmV3YjlwejcxcWFkYzNmL3RiMys3TGNKYytjL3huL09jNTB4SE85clI5dmdZMy9uT2Qzb0lldktU
bnp3ZAo3M2pIMitQOTA0ZXZmT1VyZTd6ZjZnNjVLM1RQZTk1enVzaEZMckw2NDNWZi8vQ0hQNXor
Njc4MkxjSDBpMS84b29lUGd4NzBvT3YyCjJiOTlrejVzTnlUdVRsLzJ4ZkYvOHBPZlRCZTg0QVg3
bGZ3SFBPQUJhODI0My8zdU55Vm9aNkNkOC85VnIzclYybXVWdjhoZHh0ek4KMkZrZHYvLzk3MDlQ
ZWNwVGVtQTc4SUVQUEYzeWtwZWNqbk9jNCt3eFMzNnZUM0dLVTB3M3V0R045bmhmT3hBZ1FJQUFB
UUkxQkRhOQp2SDdpRTU5NHlqU1VqMzcwbzMwZy9PdGYvM282NzNuUE8xM3RhbGZyZzQ0TVZLNXls
YXRNUno3eWthZERIZXBRYXhJSE9jaEIraDJIClRNczV6V2xPTXgzbU1JZFplMjFYWC96akgvK1k4
dDl5N0VjKzhwSFR5VTUyc2wzdHR2WjZCbEFaOUtjTkNVb1ovSi94akdkY2UzMVAKdmpqbU1ZL1py
NEFuU0cxM1c2NE9uK3RjNTlyeUVISEtZRzZ6TFZPQURuakFBMjcyMHY3cVorbER6UGZWdGpPajdY
N21JUTV4aUg1WApMOVBiem5HT2MvVER2Tzk5NzV1ZS9leG5UNS8vL09kN0tFeWczaHZUOXpJMThi
Q0hQZXgwOElNZmZMdk4zZWY3eFRqYlZ1ZGlYbnZXCnM1NDFYZjNxVjUrV1FKd0xEN3U3NWE1SCt2
K2tKejFweXYrWDNQLys5OS9kWGIyUEFBRUNCQWdRS0NpdytlWDMxdEZjM2N4VXFwdmMKNUNiVHdR
NTJzT21jNXp6bmROempIbmZ0S21udWltU3d0bkY3Mk1NZU52M21ONytaTW5WbVQ3WUVtZ3pXYjMz
clcwK0hQdlNocDNPZgorOXpyMW4rODduV3Y2MU0zY3Z4bHV0ZnE4WE5GOVN4bk9jdDBoenZjWWNx
QUtsZG9jL1Y4Tzl2cFQzLzZUZnUySjhmNjVDYy9PWjNxClZLZGE4OXBzM3ovLytjL2RkclBYY21j
ay9jeFVsYzNXd1NTc1pSQjQrY3RmL2wrZUFwWGc5cENIUEtUWCs4MXZmdk9VTzJEdmZlOTcKTjJ2
V0RqOWI3VU9tNVYzNXlsZWVjaWNoeDl6Vmxpay9PYjl1Zk9NYlQ3bHJ0ZG0yZXZ6Tlh0L096M0or
UGZDQkQ1eCsvdk9mVDVsdQpkOXZiM3JaUEk3ekxYZTdTNzlyOS92ZS83M2Y5Tmp1L2QvVjVHV3kv
L09Vdjc4ZC8rTU1mM3MvRG4vM3NaN3ZhYmRQWE05VXBnLzVNCkMxdEN3cVp2M09TSDZkdHJYdk9h
VFY3WjhVY3h6cGJmODYyMm5BOUxXTnZxUFdualMxLzYwblV2NTV6SVhjemNhYnI3M2U4KzNmdmUK
OTU1eU55VlRPMjBFQ0JBZ1FJREFmNmJBbGdGa2xTT0RoZVhLNS9MejA1NzJ0Tk1Ydi9qRlBsQy8y
OTN1TmozM3VjL3RMMlZxeTdlKwo5YTNwaUVjOFl2OCtnNUlNb0k1eGpHTk11Yk9TZFErYmJabHVk
ZTFyWDN2S3RLbGMvYi9yWGUrNk5uaC8ydE9lMXFkalpWcFg1cDdmCjR4NzMyT0VRR1l3bnZEejJz
WS90ZzV1c1Fka3NxT3l3WS92QnB6Lzk2ZW5TbDc3MGxDdmpsNzNzWmZ1MHJhekJ5RjJNTzkzcFRs
TUcKVWF0YkJ1alBmLzd6MTZacFpmRnVyaEQvNmxlLzZvdnhmL25MWC9hcjUrbnp4dTNqSC8vNDlL
SVh2V2pLK29MTXZULzg0USsvOFMzOQorL2dsWkdUYXl5bFBlY3JldnR5VldyWk1FWXB0TE5MR1Y3
N3lsY3RMdS9WdkJ0ZHhmZkNESHp3bGNPVnFmeGFUNSs3UlpTNXptVjZ6CmZQM0VKejZ4dDNQMW9B
bVkrYnczdmVsTi9VNUMrcENGNGdreHk4TDZXOTNxVnF1NzlLOXpIcjM5N1cvdmE0Y3lHRDNyV2Mv
YVEyZUMKN2ZuT2Q3N2UzN3d4OWxtVGtIOHpvRC9DRVk2d3c3R1dIOFE2SVNaclVmWmt5M21hb0pG
cFZsblhrTENhd1hPK3ozbXduTitwZGU2bQpQZldwVDkzbG91dVlaakYzcGhEbVhNZzZxazk4NGhP
NzlTQ0JCTDhFOEh4MjFsUzk1UzF2NmVkelROTzIxQ0piN3Rya1hML1NsYTdVCjE3Q3NQc1RnZTkv
N1hnK2orY3lzMzdyOTdXL2ZwekwrNy8vKzc1UnBaNnRiYXBIUFROMFNWckx0ekRraE9IYzhOMjQ1
YnM2Rjk3em4KUGIydXQ3emxMYWZyVzNtbENnQUFJQUJKUkVGVVh2ZTYvYnhNd0l6ekc5LzR4djZl
QkwrMEpiOXZPN3Zic3ZFemZFK0FBQUVDQkFnVQpFMmhUbDNhNUhmV29SNTNib0diZCsxcjRtTnND
NmJtdENabmJRR3R1QStiNW1jOTg1dHl1cHM1dG9ESzNRZnZjQm9kekc5ek9iVUY1Ci8za0xGWE83
WWorM3ErUHJqclY4ay9lMTZTcHpHM2d2UCtyL3RzSHAzQVpML2VzMlFKemIzWmk1QlkyNVhXRmVl
MStiTGphM093NXoKdTNNd3Q4SGYyczkzOWNWclgvdmFPY2R2NjFYbU5oRHRYN2NCN2R5dUJzOHRF
TTF0a2ZMY3d0ZmM3bWpNTFFETWJlQTN0OEhnM0tabgp6VzB1ZSs5TFc0Zy90N1V5L2FPT2ZleGp6
MjNRMk4vWEJtSnJIOThHMG4yL3ZLOHQzcC9iMUp3OFFtaiswSWMrdFBhZTFTL2FWSlgrCmVodXM5
YmExdXdSem05STJ0eXZSY3d0bzh5RVBlY2kxZnNiMWRyZTczZXJ1Njc1dVY1M250cTVsZnV0YjN6
cm51QzFzemZuWmkxLzgKNHJtRmtMbE5vWnJiSUxMdms3NmM3V3huNjU5OW9RdGRhRzZEeHZtRUp6
emgzQWJpL2ZYVW9kMnRtaC8vK01mUGJXQTV0d0EwNTMycAphd3NOL1QxcDQwbE9jcEwrOHhacTVq
WVFuZHNVcC9saUY3dFlyOXZMWHZheStYclh1MTQvTjlwZ2ZhMC84VzBoc2gvelVZOTYxTnl1CmxN
OXRPdHo4Z2hlOFlGMS9WcjlwQytENytiYjZzM3o5dk9jOWIyN1RCamYrZU8zN05sanY1MHBjMDVh
TmZtM1FQN2ZwZ1BQWnozNzIKdVlYTDNvNDJMWEJ0LzQxZjVKeHRVd2E3eWZKYWV3aEJkMnpyaVpZ
ZmJmcHZ6ckdjS3kwVXpPMmhCUE9aejN6bXVRWGhlZm04dGk1bApiaUZ2YmlHeG0rVmNiK0ZwclNi
dERzdmMxbGIwdXJTN0ZQUFJqMzcwT1g0NXY5cGR3YmtGNGZsd2h6dmMzTUpmLy95WTV4eG9RV1p1
CndYOXVkMnptRmo0MmJkdnl3L2JrcTM3dUxkKzM4RHZuOTZUZEplMTF6bm1TMy85OFpuNDNjczYw
YVZmOUhNcysyVCtPTmdJRUNCQWcKUUlCQXJ1cnVjanZLVVk3U0IrQ3JiMnhYUHZ0Z1l4blVaRUNh
Z1dpMmRoVzAvNWVBa0xDd3UxdTcydDRIS2h2ZjM5Wnk5RUhwRjc3dwpoVG1EMTdhd3V3K2UyaHFK
T1lFa241ZEJXNXRXTTUvZ0JDZll1UHRPdjg5Z3FWM2RYdmVlZG1XL0QwN2JsZUgrOCt0Zi8vcHpt
NmJUCkI2SHRpblAvV1FhRjdTcHVINGhuQU4rbUVQV2ZaeUI3MFl0ZWRMN3FWYS9hQjVITGdiTi9C
cHJMRnI4TWNOdmRoT1ZITy94Ny9PTWYKdjRlNzVZVjIxNkFIdldWd25FRjJCdW50RHNqY3J0SXZi
OXZoMzNhbnBmY3hkVXlZak5PeVpTRGVycnJQN1VyNG5JRnN3bFdiOXROcgoyKzQyemUxT1RROFRD
VnQ1YjF2VVAyZnd1V3l4Ync4bzZEVkpIOXZUeDNyNFBOT1p6dFQzVGFCSVdFcXdqTm15WlhEZG5u
STJ0eXY5CmM4SlpBbC9DV2J1enM3eWwvNXQ5RThLMjJ0cVYvdjdacTY5bmNKNUJlSnNtdVByanRh
L2JuYkVlbURJd2owVUd4MjE5d3RycitTSWgKT1lQcERNNnp0VHRlYy9xMDFkYWUxTlVIK1FrUnk1
WmdtR01rT0d5MTVYTnlIbjM0d3g5ZTk1YUUzNFNTL0x6ZFdabmJtcFE1WWFsTgpNVnozdm54ZWdu
ZnFsKzJuUC8xcGIwZmVtODl1MCtGNnZYSk9wZ1k1VDFQTHozM3VjMnZIU1RCb1V4N1h2dC9zaS95
ZUpQUzNLWUU5Ck1MWTdHM01DVnJhY1grMHUxdHp1L3ZUUFRBM1RyM3lmMzQzVUwvL21Bb09OQUFF
Q0JBZ1FJTEJiVTdBeUphcFJ0ZkhNLzkrVytlSnQKVU5aL21DZEhaV3BGdHN3VmJ3T2NxUTEycDB3
NXlycU5UTDNKbEplZGJYbDlzNmtaSnozcFNhY3NFczQ2anh2ZThJWlR1MExmcDZsYwo0aEtYbUM1
M3VjdjFxVHZ0VHNKMHBDTWRhZFA5ZC9hWmFXT210R1JLVmRadHBKL3BXeHRvcjAwankzcVVUTVBL
STNHenppUmJwcE5sCnlreW1JV1dCN2ZKRW9Cd3ZVNzh5YmVyOTczLy8ybHozVENuS21wcGx5K0xr
RmdoMnVsQS9uNVYrTFZzZTZadHBNbGtzM1lMVzlPcFgKdjdvL2tTelQxaktkYWFzdDdZdGRhcEVw
TTB2dDh2N016ODlpOTB5amlXdldEU3hQN3NvVXNYWkhwMDhaeTNTN0xCN09XcURWQncvawplTEZv
ZHp4Nld6UHRKNDlaemJHeWJ4N1ZuUG4vbVRxMFd0dThQOU9tTXZVdWZjbkMvM3oycWxIT2greVg0
MisxWlQxQkN4dnJYczduClpjclFab3Y0TTEwdTA1ZXlaWnBZQzdWOUt0dHEyL0phR3pEM3hlaXI1
M2ZhbTkrRnpiWTg5amtQVFZoOWJISzc0OVRmbW1sVlcyMTUKZjZiYnBiWlpPNUtuY0dXTFQrcVZu
K2QzSy9YTk9iaTBaemxlem85TUU4c1V3bXlaSnBYSEMyZTZYdnFmR3FaZW1mYVg3ek0xSytkNAox
aWN0Vzg3Rm5Sbm5mZm1kem1PbFc3RG94MDVic3Q0blc4NnZQS0FpVDgzTDUrY3o0NWNwYUZuTW45
Ly91RzgwN2p2N0h3SUVDQkFnClFPQS9UbUMzQWtnR0dPM0s2anFjSlV6a0NUL1oycFNMUHBjOGMv
WXowTWsrbWJmZXBtWDBBVkxXWkdSd25vSDRWbHRlLzhZM3ZyRkQKMkxuNHhTL2VGN2EzSzZoOTNV
VUdXKzFPUTUrN254Q1NlZnNadUdYL3JLM1luVCtvdHJTaFRVUHFnOTRNZnRzVW9UNHd5NExvTm1W
bAplVXZ2V3dacHE0UEx2Smc1N2VsLzFtSmtYVVMyTE9qTno5b2RrTDRPb04wWjZqK1BWOVowTEZ2
bXhXOWNWN084dHZ5YmdKUGd0V3h4ClRUaklvRG45enNBMXdTQnJEclphUzdMc20zOFRDSEtNaEsx
bFM1OXl6QXhBTTVETjQ0ZVh2aStPK2NOemVlaEFQbWUxRHhtTVppQ2EKZnFROUNTTUptcW5Gelc1
MnMybFpmSjAxSGdsbHNWNjJyUG5JUURWclFmSzU3Y3A2UDM5VzErM0VLTnZPbk9LOVdwZTBKK3Mx
c3A1bAo0Mk9nRTByeXQyVVNXUEszU3pJZ1RqakllWk0yckc0NWp4TTJsdk03QStsczZlTm1XNDZk
c0xSc2VXaEN1eVBZdjQzNVZsc2VOcEFhClo4MUp3bGpXNDZRZTJUZmhLcUVrYmN0YW5iUjFkV0Y4
SHRXYzM1Y2NJLzh0Vzg3TGhOdUUxYVdHT1Q4UzFoT1VWbzJ6VDlabDdjdzQKNzBsb3kzSGJuWlMx
aHp1czlpc2hKNStYSUxsOFpvNlovdy9JT3BVNGJ2YkhCOVAzL081dHZNQ1J6N1FSSUVDQUFBRUNO
UVgrLzZobApKLzNMRmVyVksvRjVheDZudWJwbGNKUkJVQVpoV1VEYnBrVDFLK2E1R3BzQlllNk9a
RkNZUmVKYmJlZHJnOUlzM2wwR25ubGZCdlo1ClFsWUdrL2w3SXhuSTU4NUFCbng1Z2xIdUF1U3Fj
UDQrU2E3bVp5RFRwbW10ZmNUR2RpNHY1SDF0NmtrZlFHY2hkL2JKQUNtZms4SHcKNnBhQlY3WU05
akxnejVZQmFrenlGNkV6WU0rVi9teHR2VU1QTVNjNjBZbjYwNVd5Z0RrRHNJU0poTEZzR2JqSFpB
bHgvWWViL0UvMgp5V0IrOVFsUkdUeW1uN25Ua0RDWEJjY3h5OU9TZG1kTGFObjRCL2J5OUtlMlpx
QzNQZUZtc3orZW1EdEM2V2Rxc3d6QzJ4U3cvdG5wClI4SmJYczhpOUZ3RnovY1pJR2ZMWjJaYjdV
ZWJXdFh2UU9UQkFUbDNjbmNsKzZVbXk3YWNLd2w0VzIwWldNYzhXKzRZNUVwOHdrVUcKeXVubmNz
Y2lDOHpqZWQyMlFEcDN2QkphY3A1bXdYMFdTaWNjTFFQbjlHY0pULzNBN1gveWVPZ01zbGREeHZK
YS9zMWRwWVMzQlBVcwo2RStnV081SzVWemRiTXQ1a0QrRUdNLzh2WjJFbHR3NVRJaEtuYk4venMw
TTdGUGZoSkswZmVsdnpyR2NoL2t2d1M5YitwdnpONzh6CldXaStPckJQRUV3L3NxZzlkK2V5NWE1
Zmd2M09qUE8rL000bC9PU3pjcWNuNFNQdFhiWjhma0ozREZjL00rZE5QQlA4bGdkVlpKLzgKWHVi
Y1RpaktFL055M3RnSUVDQkFnQUNCL3hDQk5salk1WmE1K1ZrL3NEcjNQNHRsMjVTbmRmczJzajVm
UFF0UU15YytjOVBiMWVXNQpEZEw3NHVJczZHMVRRZGJ0cy9HYkxHeHRBK3k1VFRPYTI0Q3hMd3pQ
ZS9KNUxRajBoYTFaYUx1NlplRjdHOXowUmJ6dGlWdDl3VzdtCnRaKzNMVUxlYXYxQUZnMjNRVTlm
bjVCRjE5a3Y4KzR6Rjc0Tmh0ZXRLOGdDOU16Qno0TDY5dGZKKzdxUDlwamZ1VTE5NnMzSVo3Y0IK
V1Y4SW5OZXp3RHhiMnRYK2FHT2ZlNTkxRldsL0ZxaTNRWEpmc05zQ1cxOU0zTis4eWY5a3JVY2Jm
UGIxREZsbmtYMWIySnJiMDZINgp1N09BUEdzZDBwWXNiTitkcmQycDZHc3ZOcjQzYXdXeWZpYnJN
ckxvdXcwNDE5bGx6bjk3MnRuY3BuTDFOdVRCQSszTzFOenVkS3l0ClMyaFRsUHA1MGdiNS9iWGxN
N0xBUHo1WjQ3TzZ0Y0Y4WC9EZUJxSGR0VTNobWR0VXRybmRMZXZyZXJKbUp2MWJYYSt3dW4rK2Jr
OWYKNnV0MTBxODhBS0JkVGU5dnlWcUhyTEhKSXZpY0IrMnVRbitJd0xKL1BpdjFiQVAydm00aTUx
d1cwbWROU0JaMDV5RUxMVlQwYzJyWgpKd3ZCMjkySTVkdDEvK1poQmpuLzQ1RnpLMXZPdmZ5c0Ji
eDE3MTIrYVFQenZuNm0zWW1aMC82OEx3ODVhS0c5cjR0cFFhTjd4TE9GCmtia043dnY2bkp5TGJW
cFRQNS95bnFYdk9RZXk5dWcrOTdsUC80Z3NaRjhlTHBBZlpLMVExb0prOFhtT2tkK3huSi90eVZU
OTRRdEwKdTdiNk43L1h5MXFWTmhXeW41dHBSODZKOXVTdWJobnYxVFZWN1k4NjlrWHBMUnoyaHps
a2pWVE81VFpOcnYvL1NYN2Y4M0NDdE1GRwpnQUFCQWdRSS9HY0k1R3JsTHJjc2xNNFRqcGFCVlhi
SW9ISVpqT1Q3RE9ReTJNb2k1Q1dvNVAzdDZtWmY0SnVCWVFaY3U5cmFsZCsrCjhEcURwQ3lvWGQy
eTRMamRCWm56bnEyMnRDT0JJQXRtZDdiNGQ5ay9DODNUdHd5YXNzQTgrK2RwV0hraTA3SzFPeTF6
dTNyY24rcVYKQVZVVzF5Y2NyRzZ4U0xqYTJNZUVrQVNGRE5qYmxmQStJTXhpN216dDZ2QzZKd3V0
SG0vNU9zZk5RTFpkd2UrTHU5c1Y2T1dsL20vQwpVWjQ2dGJ0YkZ2Si82MXZmMnZUdDdhcjRuTDV1
dGlXY3RFY0M5NWZhdEpuK1JLWFVZZVBUcHVMUzdrcnQ4S1N6TERaZlhhQzlmRVo4Cjh2N1laTXU1
a3djTDVFbE4yUko4bnJXTHB5ZWxibGtrdmp3MG9PL1kvaWRtR2V6bUhOeTQ1Y2xVN1E3RTJvOWpr
b0NYSUpIek5xOXQKZE0xVHlOcGRzTFY5Tm42eGVzN2t0ZmhrOFhZRysxbmd2OVdXRUpFKzVpbFNT
N2hjM3R2dUl2Vnpadlc4eXRQTUVoS1gzNDgybGEzLwpqaVU4N2F4OUNUZFpuSjR0Qzl2YkhZeCt2
aVpzdGJ0WG05Wm5hVWYrelpPejBzWnNxV1VDVElMcnpnSmkvQk9RcytWSmVtbGp6clBWCkxlRmt0
UmFyci9tYUFBRUNCQWdRcUNkd2dIU3BCWWU5c21WdFFhYUtyTTVIM3lzSC9qY2ZKSDhuSVg4VnZs
MXAzcXN0eWQ5UHlaei8KWlZIMFhqMzRYajVZRm14bnZVYW1mNjF1V1J1VHYzMnhPK3NJVnZmYjNh
OHo1U2hUaWZMSEF2L2RXNmE4WmVIMTZwcVRYYldwQlljKwpqVEJySS83ZFc2YTU1ZS9jdEZDMFEx
TXlaUzEvcVR6VExiZmFVb05NcDh1MHd0M2RXbUR2MHpIejhBSWJBUUlFQ0JBZ1FDQUNleldBCklD
VkFvSzVBL29oZzFyTXNEMWFvMjFNOUkwQ0FBQUVDQlBhbHdHNHRRdCtYRFhCc0FnVEdFR2pUNVha
NERQQVlMZGRLQWdRSUVDQkEKWVA4azRBN0kvcWthMmtKZ2Z5elExc2IwcDEvdGo1dW9hUVFJRUNC
QWdNQUFBZ0xJQUVYU1JBSUVDQkFnUUlBQUFRSlZCRXpCcWxKSgovU0JBZ0FBQkFnUUlFQ0F3Z0lB
QU1rQ1JOSkVBQVFJRUNCQWdRSUJBRlFFQnBFb2w5WU1BQVFJRUNCQWdRSURBQUFJQ3lBQkYwa1FD
CkJBZ1FJRUNBQUFFQ1ZRUUVrQ3FWMUE4Q0JBZ1FJRUNBQUFFQ0F3Z0lJQU1VU1JNSkVDQkFnQUFC
QWdRSVZCRVFRS3BVVWo4SUVDQkEKZ0FBQkFnUUlEQ0FnZ0F4UUpFMGtRSUFBQVFJRUNCQWdVRVZB
QUtsU1NmMGdRSUFBQVFJRUNCQWdNSUNBQURKQWtUU1JBQUVDQkFnUQpJRUNBUUJVQkFhUktKZldE
QUFFQ0JBZ1FJRUNBd0FBQ0FzZ0FSZEpFQWdRSUVDQkFnQUFCQWxVRUJKQXFsZFFQQWdRSUVDQkFn
QUFCCkFnTUlDQ0FERkVrVENSQWdRSUFBQVFJRUNGUVJFRUNxVkZJL0NCQWdRSUFBQVFJRUNBd2dJ
SUFNVUNSTkpFQ0FBQUVDQkFnUUlGQkYKUUFDcFVrbjlJRUNBQUFFQ0JBZ1FJRENBZ0FBeVFKRTBr
UUFCQWdRSUVDQkFnRUFWQVFHa1NpWDFnd0FCQWdRSUVDQkFnTUFBQWdMSQpBRVhTUkFJRUNCQWdR
SUFBQVFKVkJBU1FLcFhVRHdJRUNCQWdRSUFBQVFJRENBZ2dBeFJKRXdrUUlFQ0FBQUVDQkFoVUVS
QkFxbFJTClB3Z1FJRUNBQUFFQ0JBZ01JQ0NBREZBa1RTUkFnQUFCQWdRSUVDQlFSVUFBcVZKSi9T
QkFnQUFCQWdRSUVDQXdnSUFBTWtDUk5KRUEKQVFJRUNCQWdRSUJBRlFFQnBFb2w5WU1BQVFJRUNC
QWdRSURBQUFJQ3lBQkYwa1FDQkFnUUlFQ0FBQUVDVlFRRWtDcVYxQThDQkFnUQpJRUNBQUFFQ0F3
Z0lJQU1VU1JNSkVDQkFnQUFCQWdRSVZCRVFRS3BVVWo4SUVDQkFnQUFCQWdRSURDQWdnQXhRSkUw
a1FJQUFBUUlFCkNCQWdVRVZBQUtsU1NmMGdRSUFBQVFJRUNCQWdNSUNBQURKQWtUU1JBQUVDQkFn
UUlFQ0FRQlVCQWFSS0pmV0RBQUVDQkFnUUlFQ0EKd0FBQ0FzZ0FSZEpFQWdRSUVDQkFnQUFCQWxV
RUJKQXFsZFFQQWdRSUVDQkFnQUFCQWdNSUNDQURGRWtUQ1JBZ1FJQUFBUUlFQ0ZRUgpFRUNxVkZJ
L0NCQWdRSUFBQVFJRUNBd2dJSUFNVUNSTkpFQ0FBQUVDQkFnUUlGQkZRQUNwVWtuOUlFQ0FBQUVD
QkFnUUlEQ0FnQUF5ClFKRTBrUUFCQWdRSUVDQkFnRUFWQVFHa1NpWDFnd0FCQWdRSUVDQkFnTUFB
QWdMSUFFWFNSQUlFQ0JBZ1FJQUFBUUpWQkFTUUtwWFUKRHdJRUNCQWdRSUFBQVFJRENBZ2dBeFJK
RXdrUUlFQ0FBQUVDQkFoVUVSQkFxbFJTUHdnUUlFQ0FBQUVDQkFnTUlDQ0FERkFrVFNSQQpnQUFC
QWdRSUVDQlFSVUFBcVZKSi9TQkFnQUFCQWdRSUVDQXdnSUFBTWtDUk5KRUFBUUlFQ0JBZ1FJQkFG
UUVCcEVvbDlZTUFBUUlFCkNCQWdRSURBQUFJQ3lBQkYwa1FDQkFnUUlFQ0FBQUVDVlFRRWtDcVYx
QThDQkFnUUlFQ0FBQUVDQXdnSUlBTVVTUk1KRUNCQWdBQUIKQWdRSVZCRVFRS3BVVWo4SUVDQkFn
QUFCQWdRSURDQWdnQXhRSkUwa1FJQUFBUUlFQ0JBZ1VFVkFBS2xTU2YwZ1FJQUFBUUlFQ0JBZwpN
SUNBQURKQWtUU1JBQUVDQkFnUUlFQ0FRQlVCQWFSS0pmV0RBQUVDQkFnUUlFQ0F3QUFDQXNnQVJk
SkVBZ1FJRUNCQWdBQUJBbFVFCkJKQXFsZFFQQWdRSUVDQkFnQUFCQWdNSUNDQURGRWtUQ1JBZ1FJ
QUFBUUlFQ0ZRUkVFQ3FWRkkvQ0JBZ1FJQUFBUUlFQ0F3Z0lJQU0KVUNSTkpFQ0FBQUVDQkFnUUlG
QkZRQUNwVWtuOUlFQ0FBQUVDQkFnUUlEQ0FnQUF5UUpFMGtRQUJBZ1FJRUNCQWdFQVZBUUdrU2lY
MQpnd0FCQWdRSUVDQkFnTUFBQWdMSUFFWFNSQUlFQ0JBZ1FJQUFBUUpWQkFTUUtwWFVEd0lFQ0JB
Z1FJQUFBUUlEQ0FnZ0F4UkpFd2tRCklFQ0FBQUVDQkFoVUVSQkFxbFJTUHdnUUlFQ0FBQUVDQkFn
TUlDQ0FERkFrVFNSQWdBQUJBZ1FJRUNCUVJVQUFxVkpKL1NCQWdBQUIKQWdRSUVDQXdnSUFBTWtD
Uk5KRUFBUUlFQ0JBZ1FJQkFGUUVCcEVvbDlZTUFBUUlFQ0JBZ1FJREFBQUlDeUFCRjBrUUNCQWdR
SUVDQQpBQUVDVlFRRWtDcVYxQThDQkFnUUlFQ0FBQUVDQXdnSUlBTVVTUk1KRUNCQWdBQUJBZ1FJ
VkJFUVFLcFVVajhJRUNCQWdBQUJBZ1FJCkRDQWdnQXhRSkUwa1FJQUFBUUlFQ0JBZ1VFVkFBS2xT
U2YwZ1FJQUFBUUlFQ0JBZ01JQ0FBREpBa1RTUkFBRUNCQWdRSUVDQVFCVUIKQWFSS0pmV0RBQUVD
QkFnUUlFQ0F3QUFDQXNnQVJkSkVBZ1FJRUNCQWdBQUJBbFVFQkpBcWxkUVBBZ1FJRUNCQWdBQUJB
Z01JQ0NBRApGRWtUQ1JBZ1FJQUFBUUlFQ0ZRUkVFQ3FWRkkvQ0JBZ1FJQUFBUUlFQ0F3Z0lJQU1V
Q1JOSkVDQUFBRUNCQWdRSUZCRlFBQ3BVa245CklFQ0FBQUVDQkFnUUlEQ0FnQUF5UUpFMGtRQUJB
Z1FJRUNCQWdFQVZBUUdrU2lYMWd3QUJBZ1FJRUNCQWdNQUFBZ0xJQUVYU1JBSUUKQ0JBZ1FJQUFB
UUpWQkFTUUtwWFVEd0lFQ0JBZ1FJQUFBUUlEQ0FnZ0F4UkpFd2tRSUVDQUFBRUNCQWhVRVJCQXFs
UlNQd2dRSUVDQQpBQUVDQkFnTUlDQ0FERkFrVFNSQWdBQUJBZ1FJRUNCUVJVQUFxVkpKL1NCQWdB
QUJBZ1FJRUNBd2dJQUFNa0NSTkpFQUFRSUVDQkFnClFJQkFGUUVCcEVvbDlZTUFBUUlFQ0JBZ1FJ
REFBQUlDeUFCRjBrUUNCQWdRSUVDQUFBRUNWUVFFa0NxVjFBOENCQWdRSUVDQUFBRUMKQXdnSUlB
TVVTUk1KRUNCQWdBQUJBZ1FJVkJFUVFLcFVVajhJRUNCQWdBQUJBZ1FJRENBZ2dBeFFKRTBrUUlB
QUFRSUVDQkFnVUVWQQpBS2xTU2YwZ1FJQUFBUUlFQ0JBZ01JQ0FBREpBa1RTUkFBRUNCQWdRSUVD
QVFCVUJBYVJLSmZXREFBRUNCQWdRSUVDQXdBQUNBc2dBClJkSkVBZ1FJRUNCQWdBQUJBbFVFQkpB
cWxkUVBBZ1FJRUNCQWdBQUJBZ01JQ0NBREZFa1RDUkFnUUlBQUFRSUVDRlFSRUVDcVZGSS8KQ0JB
Z1FJQUFBUUlFQ0F3Z0lJQU1VQ1JOSkVDQUFBRUNCQWdRSUZCRlFBQ3BVa245SUVDQUFBRUNCQWdR
SURDQWdBQXlRSkUwa1FBQgpBZ1FJRUNCQWdFQVZBUUdrU2lYMWd3QUJBZ1FJRUNCQWdNQUFBZ0xJ
QUVYU1JBSUVDQkFnUUlBQUFRSlZCQVNRS3BYVUR3SUVDQkFnClFJQUFBUUlEQ0FnZ0F4UkpFd2tR
SUVDQUFBRUNCQWhVRVJCQXFsUlNQd2dRSUVDQUFBRUNCQWdNSUNDQURGQWtUU1JBZ0FBQkFnUUkK
RUNCUVJVQUFxVkpKL1NCQWdBQUJBZ1FJRUNBd2dJQUFNa0NSTkpFQUFRSUVDQkFnUUlCQUZRRUJw
RW9sOVlNQUFRSUVDQkFnUUlEQQpBQUlDeUFCRjBrUUNCQWdRSUVDQUFBRUNWUVFFa0NxVjFBOENC
QWdRSUVDQUFBRUNBd2dJSUFNVVNSTUpFQ0JBZ0FBQkFnUUlWQkVRClFLcFVVajhJRUNCQWdBQUJB
Z1FJRENBZ2dBeFFKRTBrUUlBQUFRSUVDQkFnVUVWQUFLbFNTZjBnUUlBQUFRSUVDQkFnTUlDQUFE
SkEKa1RTUkFBRUNCQWdRSUVDQVFCVUJBYVJLSmZXREFBRUNCQWdRSUVDQXdBQUNBc2dBUmRKRUFn
UUlFQ0JBZ0FBQkFsVUVCSkFxbGRRUApBZ1FJRUNCQWdBQUJBZ01JQ0NBREZFa1RDUkFnUUlBQUFR
SUVDRlFSRUVDcVZGSS9DQkFnUUlBQUFRSUVDQXdnSUlBTVVDUk5KRUNBCkFBRUNCQWdRSUZCRlFB
Q3BVa245SUVDQUFBRUNCQWdRSURDQWdBQXlRSkUwa1FBQkFnUUlFQ0JBZ0VBVkFRR2tTaVgxZ3dB
QkFnUUkKRUNCQWdNQUFBZ0xJQUVYU1JBSUVDQkFnUUlBQUFRSlZCQVNRS3BYVUR3SUVDQkFnUUlB
QUFRSURDQWdnQXhSSkV3a1FJRUNBQUFFQwpCQWhVRVJCQXFsUlNQd2dRSUVDQUFBRUNCQWdNSUND
QURGQWtUU1JBZ0FBQkFnUUlFQ0JRUlVBQXFWSkovU0JBZ0FBQkFnUUlFQ0F3CmdJQUFNa0NSTkpF
QUFRSUVDQkFnUUlCQUZRRUJwRW9sOVlNQUFRSUVDQkFnUUlEQUFBSUN5QUJGMGtRQ0JBZ1FJRUNB
QUFFQ1ZRUUUKa0NxVjFBOENCQWdRSUVDQUFBRUNBd2dJSUFNVVNSTUpFQ0JBZ0FBQkFnUUlWQkVR
UUtwVVVqOElFQ0JBZ0FBQkFnUUlEQ0FnZ0F4UQpKRTBrUUlBQUFRSUVDQkFnVUVWQUFLbFNTZjBn
UUlBQUFRSUVDQkFnTUlDQUFESkFrVFNSQUFFQ0JBZ1FJRUNBUUJVQkFhUktKZldECkFBRUNCQWdR
SUVDQXdBQUNBc2dBUmRKRUFnUUlFQ0JBZ0FBQkFsVUVCSkFxbGRRUEFnUUlFQ0JBZ0FBQkFnTUlD
Q0FERkVrVENSQWcKUUlBQUFRSUVDRlFSRUVDcVZGSS9DQkFnUUlBQUFRSUVDQXdnSUlBTVVDUk5K
RUNBQUFFQ0JBZ1FJRkJGUUFDcFVrbjlJRUNBQUFFQwpCQWdRSURDQWdBQXlRSkUwa1FBQkFnUUlF
Q0JBZ0VBVkFRR2tTaVgxZ3dBQkFnUUlFQ0JBZ01BQUFnTElBRVhTUkFJRUNCQWdRSUFBCkFRSlZC
QVNRS3BYVUR3SUVDQkFnUUlBQUFRSURDQWdnQXhSSkV3a1FJRUNBQUFFQ0JBaFVFUkJBcWxSU1B3
Z1FJRUNBQUFFQ0JBZ00KSUNDQURGQWtUU1JBZ0FBQkFnUUlFQ0JRUlVBQXFWSkovU0JBZ0FBQkFn
UUlFQ0F3Z0lBQU1rQ1JOSkVBQVFJRUNCQWdRSUJBRlFFQgpwRW9sOVlNQUFRSUVDQkFnUUlEQUFB
SUN5QUJGMGtRQ0JBZ1FJRUNBQUFFQ1ZRUUVrQ3FWMUE4Q0JBZ1FJRUNBQUFFQ0F3Z0lJQU1VClNS
TUpFQ0JBZ0FBQkFnUUlWQkVRUUtwVVVqOElFQ0JBZ0FBQkFnUUlEQ0FnZ0F4UUpFMGtRSUFBQVFJ
RUNCQWdVRVZBQUtsU1NmMGcKUUlBQUFRSUVDQkFnTUlDQUFESkFrVFNSQUFFQ0JBZ1FJRUNBUUJV
QkFhUktKZldEQUFFQ0JBZ1FJRUNBd0FBQ0FzZ0FSZEpFQWdRSQpFQ0JBZ0FBQkFsVUVCSkFxbGRR
UEFnUUlFQ0JBZ0FBQkFnTUlDQ0FERkVrVENSQWdRSUFBQVFJRUNGUVJFRUNxVkZJL0NCQWdRSUFB
CkFRSUVDQXdnSUlBTVVDUk5KRUNBQUFFQ0JBZ1FJRkJGUUFDcFVrbjlJRUNBQUFFQ0JBZ1FJRENB
Z0FBeVFKRTBrUUFCQWdRSUVDQkEKZ0VBVkFRR2tTaVgxZ3dBQkFnUUlFQ0JBZ01BQUFnTElBRVhT
UkFJRUNCQWdRSUFBQVFKVkJBU1FLcFhVRHdJRUNCQWdRSUFBQVFJRApDQWdnQXhSSkV3a1FJRUNB
QUFFQ0JBaFVFUkJBcWxSU1B3Z1FJRUNBQUFFQ0JBZ01JQ0NBREZBa1RTUkFnQUFCQWdRSUVDQlFS
VUFBCnFWSkovU0JBZ0FBQkFnUUlFQ0F3Z0lBQU1rQ1JOSkVBQVFJRUNCQWdRSUJBRlFFQnBFb2w5
WU1BQVFJRUNCQWdRSURBQUFJQ3lBQkYKMGtRQ0JBZ1FJRUNBQUFFQ1ZRUUVrQ3FWMUE4Q0JBZ1FJ
RUNBQUFFQ0F3Z0lJQU1VU1JNSkVDQkFnQUFCQWdRSVZCRVFRS3BVVWo4SQpFQ0JBZ0FBQkFnUUlE
Q0FnZ0F4UUpFMGtRSUFBQVFJRUNCQWdVRVZBQUtsU1NmMGdRSUFBQVFJRUNCQWdNSUNBQURKQWtU
U1JBQUVDCkJBZ1FJRUNBUUJVQkFhUktKZldEQUFFQ0JBZ1FJRUNBd0FBQ0FzZ0FSZEpFQWdRSUVD
QkFnQUFCQWxVRUJKQXFsZFFQQWdRSUVDQkEKZ0FBQkFnTUlDQ0FERkVrVENSQWdRSUFBQVFJRUNG
UVJFRUNxVkZJL0NCQWdRSUFBQVFJRUNBd2dJSUFNVUNSTkpFQ0FBQUVDQkFnUQpJRkJGUUFDcFVr
bjlJRUNBQUFFQ0JBZ1FJRENBZ0FBeVFKRTBrUUFCQWdRSUVDQkFnRUFWQVFHa1NpWDFnd0FCQWdR
SUVDQkFnTUFBCkFnTElBRVhTUkFJRUNCQWdRSUFBQVFKVkJBU1FLcFhVRHdJRUNCQWdRSUFBQVFJ
RENBZ2dBeFJKRXdrUUlFQ0FBQUVDQkFoVUVSQkEKcWxSU1B3Z1FJRUNBQUFFQ0JBZ01JQ0NBREZB
a1RTUkFnQUFCQWdRSUVDQlFSVUFBcVZKSi9TQkFnQUFCQWdRSUVDQXdnSUFBTWtDUgpOSkVBQVFJ
RUNCQWdRSUJBRlFFQnBFb2w5WU1BQVFJRUNCQWdRSURBQUFJQ3lBQkYwa1FDQkFnUUlFQ0FBQUVD
VlFRRWtDcVYxQThDCkJBZ1FJRUNBQUFFQ0F3Z0lJQU1VU1JNSkVDQkFnQUFCQWdRSVZCRVFRS3BV
VWo4SUVDQkFnQUFCQWdRSURDQWdnQXhRSkUwa1FJQUEKQVFJRUNCQWdVRVZBQUtsU1NmMGdRSUFB
QVFJRUNCQWdNSUNBQURKQWtUU1JBQUVDQkFnUUlFQ0FRQlVCQWFSS0pmV0RBQUVDQkFnUQpJRUNB
d0FBQ0FzZ0FSZEpFQWdRSUVDQkFnQUFCQWxVRUJKQXFsZFFQQWdRSUVDQkFnQUFCQWdNSUNDQURG
RWtUQ1JBZ1FJQUFBUUlFCkNGUVJFRUNxVkZJL0NCQWdRSUFBQVFJRUNBd2dJSUFNVUNSTkpFQ0FB
QUVDQkFnUUlGQkZRQUNwVWtuOUlFQ0FBQUVDQkFnUUlEQ0EKZ0FBeVFKRTBrUUFCQWdRSUVDQkFn
RUFWQVFHa1NpWDFnd0FCQWdRSUVDQkFnTUFBQWdMSUFFWFNSQUlFQ0JBZ1FJQUFBUUpWQkFTUQpL
cFhVRHdJRUNCQWdRSUFBQVFJRENBZ2dBeFJKRXdrUUlFQ0FBQUVDQkFoVUVSQkFxbFJTUHdnUUlF
Q0FBQUVDQkFnTUlDQ0FERkFrClRTUkFnQUFCQWdRSUVDQlFSVUFBcVZKSi9TQkFnQUFCQWdRSUVD
QXdnSUFBTWtDUk5KRUFBUUlFQ0JBZ1FJQkFGUUVCcEVvbDlZTUEKQVFJRUNCQkRpbUFKQUFBVDhV
bEVRVlFnUUlEQUFBSUN5QUJGMGtRQ0JBZ1FJRUNBQUFFQ1ZRUUVrQ3FWMUE4Q0JBZ1FJRUNBQUFF
QwpBd2dJSUFNVVNSTUpFQ0JBZ0FBQkFnUUlWQkVRUUtwVVVqOElFQ0JBZ0FBQkFnUUlEQ0FnZ0F4
UUpFMGtRSUFBQVFJRUNCQWdVRVZBCkFLbFNTZjBnUUlBQUFRSUVDQkFnTUlDQUFESkFrVFNSQUFF
Q0JBZ1FJRUNBUUJVQkFhUktKZldEQUFFQ0JBZ1FJRUNBd0FBQ0FzZ0EKUmRKRUFnUUlFQ0JBZ0FB
QkFsVUVCSkFxbGRRUEFnUUlFQ0JBZ0FBQkFnTUlDQ0FERkVrVENSQWdRSUFBQVFJRUNGUVJFRUNx
VkZJLwpDQkFnUUlBQUFRSUVDQXdnSUlBTVVDUk5KRUNBQUFFQ0JBZ1FJRkJGUUFDcFVrbjlJRUNB
QUFFQ0JBZ1FJRENBZ0FBeVFKRTBrUUFCCkFnUUlFQ0JBZ0VBVkFRR2tTaVgxZ3dBQkFnUUlFQ0JB
Z01BQUFnTElBRVhTUkFJRUNCQWdRSUFBQVFKVkJBU1FLcFhVRHdJRUNCQWcKUUlBQUFRSURDQWdn
QXhSSkV3a1FJRUNBQUFFQ0JBaFVFUkJBcWxSU1B3Z1FJRUNBQUFFQ0JBZ01JQ0NBREZBa1RTUkFn
QUFCQWdRSQpFQ0JRUlVBQXFWSkovU0JBZ0FBQkFnUUlFQ0F3Z0lBQU1rQ1JOSkVBQVFJRUNCQWdR
SUJBRlFFQnBFb2w5WU1BQVFJRUNCQWdRSURBCkFBSUN5QUJGMGtRQ0JBZ1FJRUNBQUFFQ1ZRUUVr
Q3FWMUE4Q0JBZ1FJRUNBQUFFQ0F3Z0lJQU1VU1JNSkVDQkFnQUFCQWdRSVZCRVEKUUtwVVVqOElF
Q0JBZ0FBQkFnUUlEQ0FnZ0F4UUpFMGtRSUFBQVFJRUNCQWdVRVZBQUtsU1NmMGdRSUFBQVFJRUNC
QWdNSUNBQURKQQprVFNSQUFFQ0JBZ1FJRUNBUUJVQkFhUktKZldEQUFFQ0JBZ1FJRUNBd0FBQ0Fz
Z0FSZEpFQWdRSUVDQkFnQUFCQWxVRUJKQXFsZFFQCkFnUUlFQ0JBZ0FBQkFnTUlDQ0FERkVrVENS
QWdRSUFBQVFJRUNGUVJFRUNxVkZJL0NCQWdRSUFBQVFJRUNBd2dJSUFNVUNSTkpFQ0EKQUFFQ0JB
Z1FJRkJGUUFDcFVrbjlJRUNBQUFFQ0JBZ1FJRENBZ0FBeVFKRTBrUUFCQWdRSUVDQkFnRUFWQVFH
a1NpWDFnd0FCQWdRSQpFQ0JBZ01BQUFnTElBRVhTUkFJRUNCQWdRSUFBQVFKVkJBU1FLcFhVRHdJ
RUNCQWdRSUFBQVFJRENBZ2dBeFJKRXdrUUlFQ0FBQUVDCkJBaFVFUkJBcWxSU1B3Z1FJRUNBQUFF
Q0JBZ01JQ0NBREZBa1RTUkFnQUFCQWdRSUVDQlFSVUFBcVZKSi9TQkFnQUFCQWdRSUVDQXcKZ0lB
QU1rQ1JOSkVBQVFJRUNCQWdRSUJBRlFFQnBFb2w5WU1BQVFJRUNCQWdRSURBQUFJQ3lBQkYwa1FD
QkFnUUlFQ0FBQUVDVlFRRQprQ3FWMUE4Q0JBZ1FJRUNBQUFFQ0F3Z0lJQU1VU1JNSkVDQkFnQUFC
QWdRSVZCRVFRS3BVVWo4SUVDQkFnQUFCQWdRSURDQWdnQXhRCkpFMGtRSUFBQVFJRUNCQWdVRVZB
QUtsU1NmMGdRSUFBQVFJRUNCQWdNSUNBQURKQWtUU1JBQUVDQkFnUUlFQ0FRQlVCQWFSS0pmV0QK
QUFFQ0JBZ1FJRUNBd0FBQ0FzZ0FSZEpFQWdRSUVDQkFnQUFCQWxVRUJKQXFsZFFQQWdRSUVDQkFn
QUFCQWdNSUNDQURGRWtUQ1JBZwpRSUFBQVFJRUNGUVJFRUNxVkZJL0NCQWdRSUFBQVFJRUNBd2dJ
SUFNVUNSTkpFQ0FBQUVDQkFnUUlGQkZRQUNwVWtuOUlFQ0FBQUVDCkJBZ1FJRENBZ0FBeVFKRTBr
UUFCQWdRSUVDQkFnRUFWQVFHa1NpWDFnd0FCQWdRSUVDQkFnTUFBQWdMSUFFWFNSQUlFQ0JBZ1FJ
QUEKQVFKVkJBU1FLcFhVRHdJRUNCQWdRSUFBQVFJRENBZ2dBeFJKRXdrUUlFQ0FBQUVDQkFoVUVS
QkFxbFJTUHdnUUlFQ0FBQUVDQkFnTQpJQ0NBREZBa1RTUkFnQUFCQWdRSUVDQlFSVUFBcVZKSi9T
QkFnQUFCQWdRSUVDQXdnSUFBTWtDUk5KRUFBUUlFQ0JBZ1FJQkFGUUVCCnBFb2w5WU1BQVFJRUNC
QWdRSURBQUFJQ3lBQkYwa1FDQkFnUUlFQ0FBQUVDVlFRRWtDcVYxQThDQkFnUUlFQ0FBQUVDQXdn
SUlBTVUKU1JNSkVDQkFnQUFCQWdRSVZCRVFRS3BVVWo4SUVDQkFnQUFCQWdRSURDQWdnQXhRSkUw
a1FJQUFBUUlFQ0JBZ1VFVkFBS2xTU2YwZwpRSUFBQVFJRUNCQWdNSUNBQURKQWtUU1JBQUVDQkFn
UUlFQ0FRQlVCQWFSS0pmV0RBQUVDQkFnUUlFQ0F3QUFDQXNnQVJkSkVBZ1FJCkVDQkFnQUFCQWxV
RUJKQXFsZFFQQWdRSUVDQkFnQUFCQWdNSUNDQURGRWtUQ1JBZ1FJQUFBUUlFQ0ZRUkVFQ3FWRkkv
Q0JBZ1FJQUEKQVFJRUNBd2dJSUFNVUNSTkpFQ0FBQUVDQkFnUUlGQkZRQUNwVWtuOUlFQ0FBQUVD
QkFnUUlEQ0FnQUF5UUpFMGtRQUJBZ1FJRUNCQQpnRUFWQVFHa1NpWDFnd0FCQWdRSUVDQkFnTUFB
QWdMSUFFWFNSQUlFQ0JBZ1FJQUFBUUpWQkFTUUtwWFVEd0lFQ0JBZ1FJQUFBUUlECkNBZ2dBeFJK
RXdrUUlFQ0FBQUVDQkFoVUVSQkFxbFJTUHdnUUlFQ0FBQUVDQkFnTUlDQ0FERkFrVFNSQWdBQUJB
Z1FJRUNCUVJVQUEKcVZKSi9TQkFnQUFCQWdRSUVDQXdnSUFBTWtDUk5KRUFBUUlFQ0JBZ1FJQkFG
UUVCcEVvbDlZTUFBUUlFQ0JBZ1FJREFBQUlDeUFCRgowa1FDQkFnUUlFQ0FBQUVDVlFRRWtDcVYx
QThDQkFnUUlFQ0FBQUVDQXdnSUlBTVVTUk1KRUNCQWdBQUJBZ1FJVkJFUVFLcFVVajhJCkVDQkFn
QUFCQWdRSURDQWdnQXhRSkUwa1FJQUFBUUlFQ0JBZ1VFVkFBS2xTU2YwZ1FJQUFBUUlFQ0JBZ01J
Q0FBREpBa1RTUkFBRUMKQkFnUUlFQ0FRQlVCQWFSS0pmV0RBQUVDQkFnUUlFQ0F3QUFDQXNnQVJk
SkVBZ1FJRUNCQWdBQUJBbFVFQkpBcWxkUVBBZ1FJRUNCQQpnQUFCQWdNSUNDQURGRWtUQ1JBZ1FJ
QUFBUUlFQ0ZRUkVFQ3FWRkkvQ0JBZ1FJQUFBUUlFQ0F3Z0lJQU1VQ1JOSkVDQUFBRUNCQWdRCklG
QkZRQUNwVWtuOUlFQ0FBQUVDQkFnUUlEQ0FnQUF5UUpFMGtRQUJBZ1FJRUNCQWdFQVZBUUdrU2lY
MWd3QUJBZ1FJRUNCQWdNQUEKQWdMSUFFWFNSQUlFQ0JBZ1FJQUFBUUpWQkFTUUtwWFVEd0lFQ0JB
Z1FJQUFBUUlEQ0FnZ0F4UkpFd2tRSUVDQUFBRUNCQWhVRVJCQQpxbFJTUHdnUUlFQ0FBQUVDQkFn
TUlDQ0FERkFrVFNSQWdBQUJBZ1FJRUNCUVJVQUFxVkpKL1NCQWdBQUJBZ1FJRUNBd2dJQUFNa0NS
Ck5KRUFBUUlFQ0JBZ1FJQkFGUUVCcEVvbDlZTUFBUUlFQ0JBZ1FJREFBQUlDeUFCRjBrUUNCQWdR
SUVDQUFBRUNWUVFFa0NxVjFBOEMKQkFnUUlFQ0FBQUVDQXdnSUlBTVVTUk1KRUNCQWdBQUJBZ1FJ
VkJFUVFLcFVVajhJRUNCQWdBQUJBZ1FJRENBZ2dBeFFKRTBrUUlBQQpBUUlFQ0JBZ1VFVkFBS2xT
U2YwZ1FJQUFBUUlFQ0JBZ01JQ0FBREpBa1RTUkFBRUNCQWdRSUVDQVFCVUJBYVJLSmZXREFBRUNC
QWdRCklFQ0F3QUFDQXNnQVJkSkVBZ1FJRUNCQWdBQUJBbFVFQkpBcWxkUVBBZ1FJRUNCQWdBQUJB
Z01JQ0NBREZFa1RDUkFnUUlBQUFRSUUKQ0ZRUkVFQ3FWRkkvQ0JBZ1FJQUFBUUlFQ0F3Z0lJQU1V
Q1JOSkVDQUFBRUNCQWdRSUZCRlFBQ3BVa245SUVDQUFBRUNCQWdRSURDQQpnQUF5UUpFMGtRQUJB
Z1FJRUNCQWdFQVZBUUdrU2lYMWd3QUJBZ1FJRUNCQWdNQUFBZ0xJQUVYU1JBSUVDQkFnUUlBQUFR
SlZCQVNRCktwWFVEd0lFQ0JBZ1FJQUFBUUlEQ0FnZ0F4UkpFd2tRSUVDQUFBRUNCQWhVRVJCQXFs
UlNQd2dRSUVDQUFBRUNCQWdNSUNDQURGQWsKVFNSQWdBQUJBZ1FJRUNCUVJVQUFxVkpKL1NCQWdB
QUJBZ1FJRUNBd2dJQUFNa0NSTkpFQUFRSUVDQkFnUUlCQUZRRUJwRW9sOVlNQQpBUUlFQ0JBZ1FJ
REFBQUlDeUFCRjBrUUNCQWdRSUVDQUFBRUNWUVFFa0NxVjFBOENCQWdRSUVDQUFBRUNBd2dJSUFN
VVNSTUpFQ0JBCmdBQUJBZ1FJVkJFUVFLcFVVajhJRUNCQWdBQUJBZ1FJRENBZ2dBeFFKRTBrUUlB
QUFRSUVDQkFnVUVWQUFLbFNTZjBnUUlBQUFRSUUKQ0JBZ01JQ0FBREpBa1RTUkFBRUNCQWdRSUVD
QVFCVUJBYVJLSmZXREFBRUNCQWdRSUVDQXdBQUNBc2dBUmRKRUFnUUlFQ0JBZ0FBQgpBbFVFQkpB
cWxkUVBBZ1FJRUNCQWdBQUJBZ01JQ0NBREZFa1RDUkFnUUlBQUFRSUVDRlFSRUVDcVZGSS9DQkFn
UUlBQUFRSUVDQXdnCklJQU1VQ1JOSkVDQUFBRUNCQWdRSUZCRlFBQ3BVa245SUVDQUFBRUNCQWdR
SURDQWdBQXlRSkUwa1FBQkFnUUlFQ0JBZ0VBVkFRR2sKU2lYMWd3QUJBZ1FJRUNCQWdNQUFBZ0xJ
QUVYU1JBSUVDQkFnUUlBQUFRSlZCQVNRS3BYVUR3SUVDQkFnUUlBQUFRSURDQWdnQXhSSgpFd2tR
SUVDQUFBRUNCQWhVRVJCQXFsUlNQd2dRSUVDQUFBRUNCQWdNSUNDQURGQWtUU1JBZ0FBQkFnUUlF
Q0JRUlVBQXFWSkovU0JBCmdBQUJBZ1FJRUNBd2dJQUFNa0NSTkpFQUFRSUVDQkFnUUlCQUZRRUJw
RW9sOVlNQUFRSUVDQkFnUUlEQUFBSUN5QUJGMGtRQ0JBZ1EKSUVDQUFBRUNWUVFFa0NxVjFBOENC
QWdRSUVDQUFBRUNBd2dJSUFNVVNSTUpFQ0JBZ0FBQkFnUUlWQkVRUUtwVVVqOElFQ0JBZ0FBQgpB
Z1FJRENBZ2dBeFFKRTBrUUlBQUFRSUVDQkFnVUVWQUFLbFNTZjBnUUlBQUFRSUVDQkFnTUlDQUFE
SkFrVFNSQUFFQ0JBZ1FJRUNBClFCVUJBYVJLSmZXREFBRUNCQWdRSUVDQXdBQUNBc2dBUmRKRUFn
UUlFQ0JBZ0FBQkFsVUVCSkFxbGRRUEFnUUlFQ0JBZ0FBQkFnTUkKQ0NBREZFa1RDUkFnUUlBQUFR
SUVDRlFSRUVDcVZGSS9DQkFnUUlBQUFRSUVDQXdnSUlBTVVDUk5KRUNBQUFFQ0JBZ1FJRkJGUUFD
cApVa245SUVDQUFBRUNCQWdRSURDQWdBQXlRSkUwa1FBQkFnUUlFQ0JBZ0VBVkFRR2tTaVgxZ3dB
QkFnUUlFQ0JBZ01BQUFnTElBRVhTClJBSUVDQkFnUUlBQUFRSlZCQVNRS3BYVUR3SUVDQkFnUUlB
QUFRSURDQWdnQXhSSkV3a1FJRUNBQUFFQ0JBaFVFUkJBcWxSU1B3Z1EKSUVDQUFBRUNCQWdNSUND
QURGQWtUU1JBZ0FBQkFnUUlFQ0JRUlVBQXFWSkovU0JBZ0FBQkFnUUlFQ0F3Z0lBQU1rQ1JOSkVB
QVFJRQpDQkFnUUlCQUZRRUJwRW9sOVlNQUFRSUVDQkFnUUlEQUFBSUN5QUJGMGtRQ0JBZ1FJRUNB
QUFFQ1ZRUUVrQ3FWMUE4Q0JBZ1FJRUNBCkFBRUNBd2dJSUFNVVNSTUpFQ0JBZ0FBQkFnUUlWQkVR
UUtwVVVqOElFQ0JBZ0FBQkFnUUlEQ0FnZ0F4UUpFMGtRSUFBQVFJRUNCQWcKVUVWQUFLbFNTZjBn
UUlBQUFRSUVDQkFnTUlDQUFESkFrVFNSQUFFQ0JBZ1FJRUNBUUJVQkFhUktKZldEQUFFQ0JBZ1FJ
RUNBd0FBQwpBc2dBUmRKRUFnUUlFQ0JBZ0FBQkFsVUVCSkFxbGRRUEFnUUlFQ0JBZ0FBQkFnTUlD
Q0FERkVrVENSQWdRSUFBQVFJRUNGUVJFRUNxClZGSS9DQkFnUUlBQUFRSUVDQXdnSUlBTVVDUk5K
RUNBQUFFQ0JBZ1FJRkJGUUFDcFVrbjlJRUNBQUFFQ0JBZ1FJRENBZ0FBeVFKRTAKa1FBQkFnUUlF
Q0JBZ0VBVkFRR2tTaVgxZ3dBQkFnUUlFQ0JBZ01BQUFnTElBRVhTUkFJRUNCQWdRSUFBQVFKVkJB
U1FLcFhVRHdJRQpDQkFnUUlBQUFRSURDQWdnQXhSSkV3a1FJRUNBQUFFQ0JBaFVFUkJBcWxSU1B3
Z1FJRUNBQUFFQ0JBZ01JQ0NBREZBa1RTUkFnQUFCCkFnUUlFQ0JRUlVBQXFWSkovU0JBZ0FBQkFn
UUlFQ0F3Z0lBQU1rQ1JOSkVBQVFJRUNCQWdRSUJBRlFFQnBFb2w5WU1BQVFJRUNCQWcKUUlEQUFB
SUN5QUJGMGtRQ0JBZ1FJRUNBQUFFQ1ZRUUVrQ3FWMUE4Q0JBZ1FJRUNBQUFFQ0F3Z0lJQU1VU1JN
SkVDQkFnQUFCQWdRSQpWQkVRUUtwVVVqOElFQ0JBZ0FBQkFnUUlEQ0FnZ0F4UUpFMGtRSUFBQVFJ
RUNCQWdVRVZBQUtsU1NmMGdRSUFBQVFJRUNCQWdNSUNBCkFESkFrVFNSQUFFQ0JBZ1FJRUNBUUJV
QkFhUktKZldEQUFFQ0JBZ1FJRUNBd0FBQ0FzZ0FSZEpFQWdRSUVDQkFnQUFCQWxVRUJKQXEKbGRR
UEFnUUlFQ0JBZ0FBQkFnTUlDQ0FERkVrVENSQWdRSUFBQVFJRUNGUVJFRUNxVkZJL0NCQWdRSUFB
QVFJRUNBd2dJSUFNVUNSTgpKRUNBQUFFQ0JBZ1FJRkJGUUFDcFVrbjlJRUNBQUFFQ0JBZ1FJRENB
Z0FBeVFKRTBrUUFCQWdRSUVDQkFnRUFWQVFHa1NpWDFnd0FCCkFnUUlFQ0JBZ01BQUFnTElBRVhT
UkFJRUNCQWdRSUFBQVFKVkJBU1FLcFhVRHdJRUNCQWdRSUFBQVFJRENBZ2dBeFJKRXdrUUlFQ0EK
QUFFQ0JBaFVFUkJBcWxSU1B3Z1FJRUNBQUFFQ0JBZ01JQ0NBREZBa1RTUkFnQUFCQWdRSUVDQlFS
VUFBcVZKSi9TQkFnQUFCQWdRSQpFQ0F3Z0lBQU1rQ1JOSkVBQVFJRUNCQWdRSUJBRlFFQnBFb2w5
WU1BQVFJRUNCQWdRSURBQUFJQ3lBQkYwa1FDQkFnUUlFQ0FBQUVDClZRUUVrQ3FWMUE4Q0JBZ1FJ
RUNBQUFFQ0F3Z0lJQU1VU1JNSkVDQkFnQUFCQWdRSVZCRVFRS3BVVWo4SUVDQkFnQUFCQWdRSURD
QWcKZ0F4UUpFMGtRSUFBQVFJRUNCQWdVRVZBQUtsU1NmMGdRSUFBQVFJRUNCQWdNSUNBQURKQWtU
U1JBQUVDQkFnUUlFQ0FRQlVCQWFSSwpKZldEQUFFQ0JBZ1FJRUNBd0FBQ0FzZ0FSZEpFQWdRSUVD
QkFnQUFCQWxVRUJKQXFsZFFQQWdRSUVDQkFnQUFCQWdNSUNDQURGRWtUCkNSQWdRSUFBQVFJRUNG
UVJFRUNxVkZJL0NCQWdRSUFBQVFJRUNBd2dJSUFNVUNSTkpFQ0FBQUVDQkFnUUlGQkZRQUNwVWtu
OUlFQ0EKQUFFQ0JBZ1FJRENBZ0FBeVFKRTBrUUFCQWdRSUVDQkFnRUFWQVFHa1NpWDFnd0FCQWdR
SUVDQkFnTUFBQWdMSUFFWFNSQUlFQ0JBZwpRSUFBQVFKVkJBU1FLcFhVRHdJRUNCQWdRSUFBQVFJ
RENBZ2dBeFJKRXdrUUlFQ0FBQUVDQkFoVUVSQkFxbFJTUHdnUUlFQ0FBQUVDCkJBZ01JQ0NBREZB
a1RTUkFnQUFCQWdRSUVDQlFSVUFBcVZKSi9TQkFnQUFCQWdRSUVDQXdnSUFBTWtDUk5KRUFBUUlF
Q0JBZ1FJQkEKRlFFQnBFb2w5WU1BQVFJRUNCQWdRSURBQUFJQ3lBQkYwa1FDQkFnUUlFQ0FBQUVD
VlFRRWtDcVYxQThDQkFnUUlFQ0FBQUVDQXdnSQpJQU1VU1JNSkVDQkFnQUFCQWdRSVZCRVFRS3BV
VWo4SUVDQkFnQUFCQWdRSURDQWdnQXhRSkUwa1FJQUFBUUlFQ0JBZ1VFVkFBS2xTClNmMGdRSUFB
QVFJRUNCQWdNSUNBQURKQWtUU1JBQUVDQkFnUUlFQ0FRQlVCQWFSS0pmV0RBQUVDQkFnUUlFQ0F3
QUFDQXNnQVJkSkUKQWdRSUVDQkFnQUFCQWxVRUJKQXFsZFFQQWdRSUVDQkFnQUFCQWdNSUNDQURG
RWtUQ1JBZ1FJQUFBUUlFQ0ZRUkVFQ3FWRkkvQ0JBZwpRSUFBQVFJRUNBd2dJSUFNVUNSTkpFQ0FB
QUVDQkFnUUlGQkZRQUNwVWtuOUlFQ0FBQUVDQkFnUUlEQ0FnQUF5UUpFMGtRQUJBZ1FJCkVDQkFn
RUFWQVFHa1NpWDFnd0FCQWdRSUVDQkFnTUFBQWdMSUFFWFNSQUlFQ0JBZ1FJQUFBUUpWQlA0UEFy
Q0tRMzNiVHo4QUFBQUEKU1VWT1JLNUNZSUk9CgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLWxlb3BhcmQvc3ZnL2N1c3RvbS9zdmctZm9udHMtd2l0aG91dC1taXNzaW5nLWdseXBoLWV4
cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJp
bmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgppVkJP
UncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQURPMmxEUTFCSlEwTWdV
SEp2Wm1sc1pRQUFlQUdGCmxFdG8xRkFVaHYrTUtZSzBncWkxRnBUZ1FvdTBKVDdRaWxEYmFiWFdr
WEVZKzlBaXlEUnpaeHBOTXpHWkdSK0lTRUhjK1ZxS0d4K0kKaXlyaVFycFFjS1VMa1VMcmExRUVj
YVVpaUVJM1VzYi9KdTFNS2xZdkpQbHl6bi9QNjRZQVZROVRqbU5GTkdEWXpydkpycWgyNlBDQQp0
bmdDVmFoQk5iaFNodWUwSnhMN2ZhWldQdWV2NmJkUXBHV3lTY2FLOVIyWStMUnQ5ZjFMajJMdjY1
NzIrcDc1K25sdk5TNFRBb3BHCjY0cHN3RnNsRHdhOFYvTEp2Sk9uNW9oa1l5aVZKanZrUnJjbjJV
RytRVjZhRGZGZ2lOUENNNENxTm1weWh1TXlUbVFGdWFWb1pHWE0KVWJKdXAwMmJQQ1h0YWM4WXBv
YjlSbjdJV2RER2xZOEJyV3VBUlM4cnRnRVBHTDBMckZwZnNUWFVBU3Y3Z2JFdEZkdlBwRDhmcFhi
Ywp5MnpaN0lkVHFxT3M2VU9wOUhNOXNQZ2FNSE8xVlBwMXExU2F1YzBjck9PWlpSVGNvcTlsWWNv
cklLZzMyTTM0eVRsYWlJT2VmRlVMCmNKTno3RjhDeEM0QTF6OENHeDRBeXg4RGlScWdad2NpNTls
dWNPWEZLYzRGNk1nNXAxMHpPNVRYTnV2NmRxMmRSeXUwYnR0b2J0UlMKbHFYNUxrOXpoU2Zjb2tn
M1k5Z3FjTTcrV3NaN3RiQjdEL0xKL2lMbmhMZDdscFdSZEtxVHMwUXoyL3FTRnAyN3lZM2tleGx6
VHplNQpnZGRVeHQzVEc3Q3kwY3gzOXdRYzZiT3RPTTlGYWlKMTltRDhBSm54RmRYSlIrVThKSTk0
eFlNeXBtOC9sdHFYSU5mVG5qeWVpMGxOCkxmZTJuUm5xNFJsSlZxd3pReDN4V1g3dEZwSXk3enBx
N2ppVy84Mnp0c2h6SElZRkFSTTI3elkwSk5HRktKcmd3RVVPR1hwTUtreGEKcFYvUWFzTEQ4Yjhx
TFNUS3V5d3F1dkNaZXo3N2UwNmd3TjB5ZmgraWNZdzBsaU5vK2p2OW0vNUd2Nm5mMGI5ZXFTODBW
RHdqN2xIVApHTC84blhGbFpsbU5qQnZVS09QTG1vTDRCcXR0cDlkQ2x0WmhYa0ZQWGxuZkZLNHVZ
MStwTDNzMG1VTmNqRStIdWhTaFRFMFlaRHpaCnRleStTTGI0SnZ4OGM5a1dtaDYxTDg0K3Fhdmtl
cU9PSFptc2ZuRTJYQTFyLzdPcllOS3lxL0RralpBdVBHdWhybFUzcWQxcWk3b0QKbXJwTGJWTmIx
VTYrN1ZUM2wzZjBjbFltVHJKdWw5V24ySU9OMC9SV1Ryb3lXd1QvRm40eC9DOTFDVnU0cHFISmYy
akN6V1ZNUy9pTwo0UFlmZDBqNUwvd05BWVVWRFh4TE96c0FBQ0FBU1VSQlZIZ0I3TjBMdkZSVitm
RHg1M0JBN3FDb0NJa3BndUlsMFVUSXdFc0tnb2lrCkNHcG9KY1lybVJHUlFrcUNlVWROQkJPUnlo
c3Bhb3FhWmlBS3FQZ3ZFRUdVbTVpV0tDb0tkdVFxdDhQWjczb1c3amw3N2pQbjVqeW4KMy81OFlH
YjJaZTFuZjllY21mM01XbXZ2b3NCTndvUUFBZ2dnZ0FBQ0NDQ0FBQUlJMUlCQW5ScllCN3RBQUFF
RUVFQUFBUVFRUUFBQgpCTHdBQ1FodkJBUVFRQUFCQkJCQUFBRUVFS2d4QVJLUUdxTm1Sd2dnZ0FB
Q0NDQ0FBQUlJSUVBQ3duc0FBUVFRUUFBQkJCQkFBQUVFCmFreUFCS1RHcU5rUkFnZ2dnQUFDQ0ND
QUFBSUlrSUR3SGtBQUFRUVFRQUFCQkJCQUFJRWFFeUFCcVRGcWRvUUFBZ2dnZ0FBQ0NDQ0EKQUFJ
a0lMd0hFRUFBQVFRUVFBQUJCQkJBb01ZRVNFQnFqSm9kSVlBQUFnZ2dnQUFDQ0NDQUFBa0k3d0VF
RUVBQUFRUVFRQUFCQkJDbwpNUUVTa0JxalprY0lJSUFBQWdnZ2dBQUNDQ0JBQXNKN0FBRUVFRUFB
QVFRUVFBQUJCR3BNZ0FTa3hxalpFUUlJSUlBQUFnZ2dnQUFDCkNKQ0E4QjVBQUFFRUVFQUFBUVFR
UUFDQkdoTWdBYWt4YW5hRUFBSUlJSUFBQWdnZ2dBQUNKQ0M4QnhCQUFBRUVFRUFBQVFRUVFLREcK
QkVoQWFveWFIU0dBQUFJSUlJQUFBZ2dnZ0FBSkNPOEJCQkJBQUFFRUVFQUFBUVFRcURFQkVwQWFv
MlpIQ0NDQUFBSUlJSUFBQWdnZwpRQUxDZXdBQkJCQkFBQUVFRUVBQUFRUnFUSUFFcE1hbzJSRUND
Q0NBQUFJSUlJQUFBZ2lRZ1BBZVFBQUJCQkJBQUFFRUVFQUFnUm9UCklBR3BNV3AyaEFBQ0NDQ0FB
QUlJSUlBQUFpUWd2QWNRUUFBQkJCQkFBQUVFRUVDZ3hnUklRR3FNbWgwaGdBQUNDQ0NBQUFJSUlJ
QUEKQ1FqdkFRUVFRQUFCQkJCQUFBRUVFS2d4QVJLUUtxRGV0V3VYbEpXVlZVRkpGSUVBQWdnZ2dB
QUNDQ0NBUU8wV3FKdnQ4TmFzV1NPagpSbzNLdGxyT3k4ZVBIeTk3N2JWWHp1c1g2b29mZlBDQlRK
NDhXZWJObXlldnYvNjZCRUVnMy96bU4yWFFvRUh5aTEvOFFobzNibHh3Cm9mL3RienZreVNkM1pv
MnJ1RmlrZWZNaTJYUFBJbW5mdmxoT09LR3VPN2JhbjZ2dTJoVklqeDZiNWVXWFM3M1IwcVhONUZ2
ZmNoaHAKcHNjZjN5RVBQYlJEbGl6WkpaczJCWExVVWNYU3AwODlHVDY4dnV5eFIxR2FyY3BuUC9m
Y0R2bjczM2Y2N2Q5N3IwemF0S2tqMy9sTwpYYm5xcWdaWnZlZlBMM1h2diszbGhhVjUxclJwa2R4
MVY2T1VTeXNiZjhwQ21Za0FBZ2dnZ0FBQ0NHUVJLSEluemtHbWRkNSsrMjA1CjRvZ2pZcXNVRlJX
NUU5SVQ1TnZmL3JZN1NXMHVOOXh3UTJ4WitFVG5yVjI3VnQ1NDR3MzU1ei8vNlUvT3cyVWZmdmlo
SEhEQUFlSEwKR24vODhzc3ZSZi90czg4K0ZkNjNKbVVubm5paS9QdmYvNVppZDdiKzNIUFB5V21u
blNZSEgzeXc2UEdkZE5KSjhzSUxMMGo5K3ZVcgp2SS9xMlBDVFQ4cGNzbFFxRHp5d1E1NTVKamtS
Mlh2dklybjAwdnIrUkhqaHdsSjU4TUVkNGhwMy9IVHNzY1Z5elRVTjVLeXo5cWlPCjBBcWl6Q3V2
L0ZKdXU2MzhwRDVkQXZMWloyVnk0WVZiWlBiczNZbEtZdkNISGxySEpYcE4waVl2cTFlWHlkQ2hY
OHF6enliWGdaYWwKYjV1SEgyNHNBd2FrdC83NXo3K1VTWlBLWTAyTUlYdzljR0E5ZWVTUkp1Rkwv
MWpaK09NSzR3VUNDQ0NBQUFJSUlKQ25RTllFWk1XSwpGWExra1VmNll2VUVlK2JNbWU1WDhmYis5
WC8vKzkrVUovTGJ0bTJMblh6cjlqMTY5QkE5YWRkSld3NjBwZURybUxTYjFCbG5uT0hqCm56aHhZ
b1ZDS0MwdDljblhzbVhML1BhYWlHbWlwYStQT3Vxb1dKa3pac3lRMDA4L1BmYTZrSjdvTC8ySEhM
SlIzbjgvdnR2WUwzOVoKWHlaTUtQKzEvTjU3dDhzbGwzd1pGL3FZTVEzayt1c2J4czJyRFMrMGRl
aXNzN2E0WkxuOGFGSWxJTnUzQjNMS0tadGN5OWRYbVZuNQo2bkhQRGorOGppeGExRXdhTm94dkNm
bjQ0ekk1NXBpTnN1KytSWExzc1hWbDNib3llZlhWVXRtNk5XNXpuNFFzWEppK0JhWmR1dzN5Cm4v
L0UxMTk4Q2J0ZlBmMTBZem43N1BKRXByTHhwOW9IOHhCQUFBRUVFRUFBZ1h3RXN2YXJDUnRJTlBs
NCtlV1hZOGxIcmp2UjFwUFoKczJlN0U2NTkvU1poZWJsdVg1WHJYWC85OVQ2QnFreVptbENGeVll
V0UzWW5XNzU4ZVZ5eDJsSlVxRk54Y1pGMDdKamN0ZWlnZytMZgpEZ01IN3VGYWVPS1A0b1lidHNs
cnI2WCs1VDkrVFR1dlZxM2FKUmRkOUdWYzhwRXUrbUhEdnZUSlIrdldSUzZaclN0ZHV4WkxvL0tj
CkxiYloyMitYeVMyM2JJdTkxaWVscFlGdk9Sazd0cUdzV05IY3QzTE1uTmxVVnE1czdscEw0dTIz
dThhTlJ4L2RFYmQ5K09MZGQzZmwKbEh3MGJTb3VDYTRYYnVZZkt4Ti9YRUc4UUFBQkJCQkFBQUVF
S2lpUWRReElPTGg2ekpneEZlNDZkZmpoaDh1d1ljTkV5d2pMcTJDOApGZDVNVzI1U2RSZkx0OERG
aXhmSGJSSW1HbWVkZFpiMDdObFQ1czZkNjM1SlA4dDN5WXBic2NCZTFJcy9ML1hSSmVaTWpSc1gr
VzVFCmI3MFYvMnUvbmhqcldJWGFNTzNZRWNoNTUyMlJPdkhuL3lrUFRSTVY3WloyNjYwTlpjU0kr
bTZiM1VubTJyVmxyczQzeS96NThVN3oKNXNVbmF0ZGV1MDM2OXEwbi8rLy94WGZOMC9FMWYveGpZ
NWZNYklyYjcvdnZ4NWNYTG56KytaMnVWYktPREJvVVgwNjRQSHpVaExKQgpnL0pFdUxMeGgrWHlp
QUFDQ0NDQUFBSUlWRVlnNjFsazJHS2hKOWVWbWI3Ly9lLzdCQ1FzcnpKbDVidXR0bGhjY01FRlZa
TDhKQ1lnCllTd05HalR3clN2YVJhdHUzYXlzNFdZRi82aGpQeElUa0k4K3l0NzFwK0FQN0tzQVI0
elk2c2U1WEgxMUE3bjg4dmgrVUlrSjJjU0oKMjBXN3FmMzYxdzNpRHE5bHl6cnk5Tk5OM0JpZ0RY
RmRxWll1alU4Z2hnMnJMN3B1cXVtNDQ0cmQrMFpiU2NxWDZ1RC9WSk1tSU5vNgpOV0pFZkJ5cDFv
M09xMno4MGJKNGpnQUNDQ0NBQUFJSVZGUWc5ZGxRcERRZFNOMm5UeC81eGplK0VabWIvOU9PSFR2
Szk3NzNQYW1YCjZxZjNTSEZmZlBGRjVGWDJweHMzYm5RbmJaR3pOcmZKbGkxYllodHExNmp1M2J0
TFNVbEpiRjVsbnJ6Nzdyc1pOOCtXZkd6WXNNRVAKZ3M5WVNJNEw5YmoxRXNEVk9XM1pFaGtVOGRX
T09uUkk2SmRWalFGb3d2cjU1MlcrKzFKVjcyYmF0QjF5MzMzYlplclV4dTZxVmRsTAozMisvT25M
ZGRhbkh2N1JxVlNkcDBIaml1STUweVlmdWVlUEdJQzc1MEl1bzllcVYzRXlsWXpqMEtsMDlleVl2
eTNZRWxZMC9XL2tzClJ3QUJCQkJBQUFFRWNoRkkvUk5yWk1zT0hUcjRxenhGWmxYNDZVc3Z2WlJ5
MjBjZWVjUjFiWG5RRGRwZEpEcUFYYWUrZmZ2SzZOR2oKWFJlZ2J5VnRvNFBmUjR3WUljOC8vN3g4
K3Vtbjd1UnhEMm5YcnAwY2YvenhQbEY2N0xISDVMMzMzdk9YeDlXQjRJbkp4elBQUE9QNgozYS8w
NWZicTFVdEdqaHladEkvRUdkT25UL2RYOUFxM0M1ZnJsYkEwVHAwMHdkSUI5NG1UdHByY2Nzc3Qv
dmhXcjE3dEZ4OXl5Q0hTCnVYTm51ZmJhYStYQUF3K00yMFRqdSt1dXUrTG02WXRUVGpsRnJyNzZh
bG02ZEtuOC92ZS9sNmVlZXNxM3Rnd1pNcVJLdXBjbDdkRE4KU0J6b3JQbmpPZWVVbi94T25icmRY
MVVyY2R2enp0dERoZ3lwNytvemtEUFAzSnk0MkwvKzdXOGJ1S3VKbFpjVnJyUm1UWm1NSGJ0TgpY
bnh4cDZ4YVZlWmFybmEzRE9obGFudjFxdXV1eWhhZkFPblZvblJaUHBOMmJ4bzhlSXVNRzlkSURq
dXMySTFUU24xRnFtaVpJMGRtCmJuSFFnZWZSU2ErR2xlczBmWHI1L3ZmWnA4aGRucmVKZTAvSEg2
ZVdOWGR1cVV0Z3hadTJibDFIZEN5S2RyWHEwYU9lLzZlWFQwNDMKVldmODZmYkpmQVFRUUFBQkJC
QkFJRW5BL2NKYzRlbnp6ei9YbjhlVC9ya2tJcWN5MTY5Zkh3d2NPTkJ2NzFwR2dsZGVlU1Z3WTBT
QwpCeDU0d005cjBhSkY0RTYyNDhweVY5TUtXclZxNVplN0UvN0EzWWNqMkx4NWMvRDN2Lzg5Y0Vt
SW4rOU82UDAyMDZaTkN3WU1HQkEwCmE5Yk16dzlqMWZWMHZ2NXpWOE9LS3ovZGk5Lys5cmRCbXpa
dEF0Y2lGRmVXdnRiNSt1KzIyMjZMMjF5UDVZNDc3Z2hjZ3VTM3VlaWkKaTRKMTY5WUY3aExGUWUv
ZXZmMjhQZmZjTTNDSlJOeDJybFVudVAvKyt3TTN2aVJ1WHovNHdRK0NOOTk4TTNBRDMrUG02M0V0
V2JJawpyb3hzTHdZTWNEZXVrSks0ZnhNbWJJM2I3TlZYZDhZdHIxdTNKUGpUbitMcnRxUmtWekJt
ekpkeDYybTVJMFpzaVpYMXdRZTdna3N1CjJaeTB6clJwMjJQcmhFOWNRaE0wYkxnN3JucjFTb0la
TTNZRXUzYVZCYzgvdjhQWng4Y2J4di9TU3p2Q3pYTjZMQzB0QzdwMTJ4RDAKN2JzcHR2N0VpVnVU
NGx1MnJEUzJQSmNubDEybXpVWGxNZDUrZTd4bnVqSVdMZG9aTkcxYXZ0MzExMytaYnRYZzhzdmo5
eEhkbjliUApoUmR1RGo3OGNGZmE3VE10cUdqOG1jcGtHUUlJSUlBQUFnZ2drQ2lnOStpbzhGVFpC
T1M4ODg1ekoyeTdFNWdmLy9qSGNYRWNkTkJCCmZsbnIxcTBEMThvUVc2WkpRN2pOYTYrOUZwdXZU
MXlyaHovWkR4T1FjS0ZyUllsdG85c09IVG8wWEpUM28ydFJpU3ZMdFhpa0xjTU4KZW8rdDYrNlpF
cmlXbTlpNnExYXRpaTNUbURSWlNweGN0N1c0ZFk0NzdyakFYVTBzT09hWVk5eEplc080WmVQR2pV
dmNQT1ByZEFuSQp0bTFsd2FwVnBTNXgyaHJzdDk4WGJoOGxnU1lDWjV5eDBTVS9PMU9XdVgxN1dT
eHBDRStJcjdpaVBBSFJqVmFzY0plQWlweWM2L01uCm5vaFBRRjU3YldkY2tuSG1tZVVKZ3BaeDl0
bmxTVlBMbGwvNDVPVEZGM2NFbWdUbE05MXd3NWN1aWYzQ0pZTGwyMVZGQW5Mc3NSdGkKeDZqeFpZ
dExFNXlmL1d4TG9JbERvczBwcDJ4MDc1ZnkrTUxqTytLSTlVbnJKbTdicUZGSjRHNXlHRzZTODJP
KzhlZGNNQ3NpZ0FBQwpDQ0NBQUFJUmdkejdpTGl6NUtxYzlOSzhqei8rZUt6SWJ0MjZ4WjdyRTNl
UzdWL3IvVVAwNmxrNjZYZ0gxOUxobit0LzdpUSs5bHlmCmFEZXNYLzd5bDNIenZxNFgyalhycHB0
dWl1MWV1MmU1RnAzWWE1Y2t1VzVEYldLdmh3OGZIamQyUlJja2pydFp1SENodTF6c1JmNisKSTA4
KythUzd3dEh1TGtGMTZ0VHhYZFppaFZYd3laVlhiblZscm5kZGVqYjZBZG1mZmViT2RkMmtkK2JX
RytNZGZYVHFIbnQ2MTIrOQppV0YwS29wL21mTE8zb25yM0hISE50SEx6NGFURG9DUFRwMDdsNzky
alVoK2NMeDJQZHBycjl6ZnhucUR4ZXV2M3liMzM5L1lYUm82CjkrMmljYVI2cmpmMzB6dWloOU9r
U1kweXhsVlNVaWI5KzIrV2UrN1pIamYySTl6K3BaZEtYVmUzTFhGalgvUUdoaXRXWkw4QWdIYlIK
R2pCQXI4b1ZQellxTER2Vlk3N3hweXFEZVFnZ2dBQUNDQ0NBUUM0Q1ZYY0dsc3ZlSXV1RVNVVTRT
MC9JbzFQMFR1V3paczN5ZDFQLwo1Sk5QM0ZXR3lxOVU1Rm95L0IzSG85dnBlSXpCZ3dkSFozMHR6
M1dNU2ppZVJRUFFNUitKVTNSOHkwY2ZmZVF1NzNwcjRpcEpyeSs1CjVCTFJTLys2TGx6dUJITysz
SDc3N2ZLdmYvMHJaZmxKRzJlWm9XTXlWcTl1N2s3c204cjQ4UTFkUXJmNzdhSDMvbWpkZW9PN1hP
MW0KTi82ay9DUTdTM0Y1TDA2OGpPMWVlOFZuTVltSnhyUFBwcjVQUnJvZGYrbDZpdWtkelBWdTc3
MTdKNDg5U2JkZEx2T3Z2bnByTEpIUQpLMnIxNzU5NVZIdUxGblg4L1QvbXpHbml4bk9ranVXVlYw
cmRIZFhMeDRib0pZT3Z2NzZCL09JWDlhVmZ2M3B1N0VyNlAxOGRTdldiCjM1VC9yV1E3aG56anox
WWV5eEZBQUFFRUVFQUFnWFFDNmM5ZzBtMVJSZlBkbUlXNGtwbzBhZUpQMlBXa1hmKzVMa2F4NVc3
TWhEc3AKZnN1ZEJMZjJBODdEQlc0OGhSdVUzTXYvZS9YVlYvMXNOOTRqMW1JU3J2ZDFQTHJ4TEhH
N2piWitoQXZDbXhpR3J6WFJ5alJwa25ibwpvWWZHVmpuNjZLUGxpaXV1OEMwL3NabVZlTktvVVpF
ZnpOMnhZMTBaUHJ5QnZQUlNVOWwvLzkxSmdMWk1QUEhFVGpuNTVFMXVNSDN1CnY2eFhJcHlrbXlD
NmhwNjQ2WU1Qc3JjR1JEZTQvUEl2M1ZYWVJHNjdyZnk5RlYxZTBlZUxGNWZHQnVKZmRsbDl1ZkhH
M01zLzVaUjYKOHJlL05YR0pkQlBaYjcvNGhFdmplZkRCOGlZaEhaUStaa3hEZHdHQ1J1NENCRTNr
N2JlYnU3dlpONU9KRXh1NndmekpyVlBhaXFJMwpMY3cyVlNiK2JHV3pIQUVFRUVBQUFRUVFTQlJJ
T0tWTFhGdzlyei8rK09PazdrWW5uSENDVHpvMDhkQi9pVmVCZXZ2dHQvMFZuMzd5Cms1OGtCZlhD
Q3kvSVNTZWQ1Qk9SNkYzS2sxYXNvUm5hYlN6eGNzSmhkNmxvQ0kwU2JxR3RkMW5QTkNVbUxKbldy
WXBsQnh4UVJ4NTYKeUYwUE5qSjk0WWFGOU9peFdUNzhNTCtULzBnUmFaOTI2bFRleFVwWDJxQkRL
aUtUN2pzNnBidFBSblNkOFBrcnIreVVQL3hoaDd0aQpXVVBSKzVpODk5NnV1SC91MmdEaHFyRkhQ
VVpkVDFzZTBrM3VPZ091UmVKTGY2VXViWm5RWktBaTAybW43VTVFRXQ0U0xzbkk3SHpRClFjWHk4
NTgzY0ZmSGFpcDMzNjEvTy9GN1g3a3ljd0pTVmZISDc1VlhDQ0NBQUFJSUlJQkFlb0hrbjAzVHIx
dGxTLzd6bi84a2xUVmgKd2dTZlFDUXQrR3FHdG43bzVLNDA1ZnJCci9CM0hQOXFVZXhCRXhHOXRP
MmpqejRxWjU5OWRteCtUVC9STGxHSms5NVBKWEZLVEVEMApIaUdmZmZhWit5Vjh2OFJWdjdiWHh4
OWYxOThsWEMrRkcwN3U0bVV5WThaTytlbFBrNDhwWEtjaWo5ZGMwMENlZVdhbnZ6R2dicDk0CkEw
VDlwVDQ2NWRPTmF0bXkzU2ZpQXdlVzN5TW1XbGFxNTJlY3Nmdnl3Y3VXTlhOM0hvOVBqc0wxcjds
bW0vempIN3Y4T0pteFl4UE8KL3NPVmNuenMzTG11UzVJYXlZOSs1QVp4ZkRVVnA5NXR1RGp1OGJM
TEdyZ1dxbnJ1anVvYjNYMUZkaS82OU5QMHlaT3VVWlh4eHdYRApDd1FRUUFBQkJCQkFJSTNBMTlJ
QzRxN2tsQlNPdGhnY2R0aGhhZis1cTBqNWJabzJiZXJIZmJnclRNVjEwd29MMU81YjJrcWk0MFcr
CnJpbFZBcEY0czBTTmJjZU8rREVNZXBQR1ZGMjF2cTdqMFAwMmJGamt4cGNrdjAxZWVxbDhiRUpW
eGFlRDNGOTl0YW0wYmJ0N2YwOC8KdmRPZDNPOU9PcFlzS1hVWElOaTlUeDI4UG1wVUF6ZWVJL000
aTZxS0sxMDVqeisrUTI2K2VadTdCMHNEZDkrUzFNbkhkZGR0ZFdOMApNcmRDUk12djEyOFBmMGYw
Y0Y1MDRIMDRMOU9qSmtyWFgxOGVTNlp4SXRVUmY2YllXSVlBQWdnZ2dBQUNDS2hBOHBsbERiZ2Nm
UERCCnJuOS8vRSs3N3Y0V09lOVpXeE4wc0xsZWFlcFh2L3FWSkxZa2FES2pOK243dXFiMjdkdkhq
VlhST0tJRDBzTzR2dFRMRlVVbUhhaWUKN1U3eGtkVnI3S25lUVR0eFNzaWRFaGRYK1BWM3YxdFgz
bnl6bVI5a3JUZDVQK0dFVGU0S1d1dmx1OS9kSk8zYkY4djU1OWZ6NHlWdQp2cm1oTzFGUEhqTlI0
UjNudWVHQ0JhVnk4Y1ZiNUk0N0d2cHVYYWsyZit1dFVuY0R5bTJpWGRseW5SbzNMbkpYR3l2LzIr
alNKZjlHCnl1N2RkdzlxMXoreFk0OU52WDExeFovcmNiSWVBZ2dnZ0FBQ0NQenZDcVErTzZsbUQ3
MXp1UTZvam5iRmN2ZjA4Q2ZwcWNaS2hPSG8KWGNnMTRaZ3hZNGFmcGQyeTNJMytYUGVYcTl5ZzZl
Rys2MVc0N2p2dnZCTStyZkhIdW5YcnVpNDdSNHJlQVQyY0VwTU5uYjlsUzN4MwpvR09QUFRaY3Zh
QWVkY3hFNG5US0tkWHoxbkdYaUhiZHNIYklhNitWeXRDaDlmMC92ZHF3bnNUWHFWUHhoT09raytx
NThSbUpSMUgrCmV0YXNVdm5yWCtOYmRYN3ptd2J1VXNoRi9tN2o1V3VLUzN4MytUdVJuMzU2UFhl
NTZHSjUrZVh5N1RReDIrUnVWNkpkdnU2K2U3dS8KYTd1MklvV1RkaVBUd2VUTm1wWFBDNWNsUGpa
MncyL09PcXY4Q2xucjE1ZUp0Z3JwWGQvVlAxMENGdWIyMm5xaUNVM2lWSm40RTh2aQpOUUlJSUlB
QUFnZ2drSzlBcGM0aVUvMnFyd0hvL0ZSakhxTEI2UmdOVFI3QzZkTlBQeFYzdC9Ha1M5RnVkNWRm
dXVDQ0M5eDRnNS82CnNSSFBQLys4RzVqN3RoeCsrT0hocHRLeVpVdDNuNHFIeGQwVlhWWjlkVytR
eE12NnhsWjJUOXlkMDJNdjU4NmQ2MzVoLzZZY2ROQkIKc1huNVBORVQ1bFRUTmRkYzQzN0Y3eGRi
Rk1ZVm0rR2VSQk13YmZtNCt1cXJvNHY5cFllak05THRLN3BPcnMvVGhKMjArYWVmbGlVTgpPTjl6
enlKMzM1SHlFMlBkU08rcDhkRkg1VjJORWdlTXA5cGZkRnlKbHJGdFd5QTY3a0t2M3RTbVRaSGNl
V2ZEU2lVZFdtWTRIWFZVCnNlaS9kSk8rWnhNVGtBc3UyQ05wN01mbm41ZTVTL2h1RmgyMC90UlRP
LzIvZEdYcS9QNzlkKzl6elpveWQ2V3FUUzU1S2ZOZHJJWU4KcSsvZTY4bXRPT3ZXbGJuN3ZPeDJ2
T2VlUmo1WjBYSkszWDBjRHo5OG80UmpPbzQ0b281THFCcTVSQ1MrSG5UZDJiTjNpcnVvbkwvWApp
YjZPVGhXTlAxb0d6eEZBQUFFRUVFQUFnY29JNU40M0pNVmVQdnp3d3hSenhkMUxZblhLK2RHWjEx
OS9mZEpKdjd1YnQ3di94SGcvCmZtUDNDZUZmM1JXWGV2aUVRUi9EU1ZzOHloTE9YdlZtZk9ITkRQ
VjV6NTQ5dzlXVGJ1ajM4c3N2KzVQL3BVdVh1bTQwRnlkMWw0cHQKbU9LSnU1dDUzTnpFcTEyRkN6
WEI2dE9uVC9oU0ZpeFlFSmRRNkpnUVRhVENTVytncUdOZ29wTU9TbzlPNmZZVlhTZlg1M3BUdThR
cApQTG1OenIvdHRtMngrMXZvZkRjRXg3VkFOWEYxRjM4eW56aldRTWR1aEZmSzBoYUJJVVBpVzN1
MHJEZmZMRTlZOVBXMTEyNzF5WWMrCjE1c2dUcG15UTE1L3ZkVGQ0RSt0ZHZteEZJbFh4dEoxYTJy
YXZEbnd5Y2U3N3liYnBZdmhPOS9abmVNLzlkUU9uM3pvZXE3cVhmSzkKWGJwMzN5eWFFRVFuYmVI
UVpPM2lpL2R3ZzlITEIvbHJVaEt0SDcwaDRhbW5ibmJKK1diMzkxSmVocmJHakI2OXpWMFd1TEZM
V09McgpxREx4UjJQa09RSUlJSUFBQWdnZ1VDbUJ5RjNSODNwYVVsSVNuSG5tbWZyemY5Sy84ODgv
UDNBbnoxbkxjM2RERDl5ZzhxVHQzWTMyCkFqZXV3ODkzZDBRUDNQMCtmRmx1bkVoczNSLzk2RWVC
dXo5SWJCOHU2WW1WZGRsbGw4WG02NVBycnJzdXRsMFlyMnVoOGZNbVRwd1kKdDI2bUYyN01TZUNT
bTdpeXRCeVh5S1RjekEyRUQ3cDI3UnBiLzdISEhvdXQ1NUt0Mkh6MWN0MnhZc3YweVFjZmZCQzRy
bHl4ZFRSdQpkWEV0Tm5IcjVmdGl4NDZ5NExISHRydXlTMXpaOGYvY1dJdmcwVWUzQjU5K3VzdnRa
MGR3MFVYdWpQdXJkWXFLU29MVFQ5OFl2UDc2CnpwUzdmUEhGSFM2KytQTHExU3NKVGpwcFk5Q2dR
VWx3eGhrYlkyV0ZaZTYxMXhmQjBLRmJncEtTWGI3TWswOU9YaWRjTi9wNHdBRmYKQkwxN2J3em16
Tm1STXBhS3pMejk5cTFKOFMxYlZob3JhdnYyc3VDMDAzS0xMeHJyOHVXN3kzamxGYjJXYjd5UHZq
NzQ0UFhCd3c5dgpDK2JOMnhuY2NzdldvR1hMTDRLNzd0b2E3TnBWRnR1M1B0bTZ0U3hvM1ZxdlE1
eGNodGJsOGNkdkNEcDIzQkFjZHRqNjRObG50OGR0CnF5OHFHMzlTZ2N4QUFBRUVFRUFBQVFRcUtL
Qy95dWMxdVhFWWdldmVGTGh4SE81a0tEbjVDT2ZwY2wzUDNVQXdZL211RmNXZFRQWk8KS2tzVEVE
ZXVJM0F0SWJIdE5RRnhnOWNEZDZmendOMUZQR2pjdUhGdzRva25CbDI2ZFBFbjU3ck1EVTRQZHU2
TVAwbDJkMDlQU3BiYwp2VWFDdSsrK08xWjJ0aWMzM1hTVDMwZDRmTkZIVFF4Y0Y2NUFFNnJFeWJW
MCtKaGNGeXNmK3hsbm5CRzQxaG1mWEdqOGt5Wk5TdHdrCm1EcDFxbDgzdW8vbzg3WnQyOFlsWDBr
RnBKbHg5OTFiWGIwbG44Q21PcW5kZSs4dmdtT08yUkQwN2JzcEdERmlTN0J5WmZuSmVKcmkKL1ls
ejA2Yng1V3RTTTJuU3RtRFRKbmZEREhmeXJQdnYzSGxETUhEZzduTHZ1R05yOE1VWHV4T1FWRWxB
cXRqQ2VjWEZKY0g0OFZ2VApoWlBYL0ZUN2ppWWdFeWNtSnloaEhPa2VtelVyaVVzazdyOS9XM0Rv
b2U0YXhpbVNpQ1pOU29JZi9uQnpzR2JOYm90VXdmLzczNlUrCktkU2tKVnBHdzRZbHdkRkhid2gr
Ly91dGdTYVlxYWFxaUQ5VnVjeERBQUVFRUVBQUFRVHlGU2pTRGR6SjdkYys2YzBKRnk1Y0tLNWwK
UlRwMTZ1UUhjU2RlS1V2dmZLNWpOdnIzNysvamRhMEU4czkvL3RQZjlFK3ZQTld4WTBkcDFhcFZ5
bVBSdzN6MzNYZjlQdmJaWng4NQo3cmpqYXZTU3R6cVdSYnQ4dmZIR0c2SUQ3WFhBdVk1alNUekds
TUVibXZuZi81YTVTK21XdW5vTS9OMjVEemxrZHpjZ2x4UEtpeStXCitzSFQwVUhaMFVQVFFkWjZE
NHpubmlzZjFCMWRudXE1amtmNS9QUG16akY1c0hXcTlRdGhubmE3bWpldjFOM0Z2TXhkNHJqWURW
U3YKNDhZaDFSR1h5T1ljbm80cDBjdjd0bTFiN0Fib0YrVzFiYzQ3WVVVRUVFQUFBUVFRUUtBYUJB
b21BYW1HWTZQSUJJR2lvaThTNXZBUwpnZHdFZ21DdjNGWmtMUVFRUUFBQkJCQkFJSXNBQ1VnV0lC
YlhuTUNwcDI3eWc5RDMzNy9JM2UyK2VkcEwxV3ByMW5ubmJaRnAwM2EzCmxMejFWbFBYK2xXcEM3
clYzRUd5SndRUVFBQUJCQkJBNEg5Y29GSlh3Zm9mdCtQd3ExRGczWGQzeGE2QTFhTkh2YlRKaCs1
U3V5cUYKOThjNDhNQTZTVmQ3cXNLd0tBb0JCQkJBQUFFRUVFQ2dpZ1ZJUUtvWWxPSXFKbkRRUVhW
RVd6NTBldkhGbmU0eXlmR1g2STJXK3NFSAp1OXc5UXJhN3NUUWlreWMzY25lUHozM3NSTFFjbmlP
QUFBSUlJSUFBQWdqVXZBQmRzR3JlbkQybUVaZy92MVJHamRycTdpeGVLZzBiCmlydm5SajNYdGFy
WVhTeWdTUFQrSDJ2V0JPNUdrN3ZraFJkMkQyYS82YWFHMHJrelhhL1NjREliQVFRUVFBQUJCQkFv
U0FFU2tJS3MKbHYvdG9KWXUzWDNUd1k4K0tuTTN0U3p6VjlScTJyUkk5SXBYMy9wV3NYejN1M1hk
bmRKcHZQdmZmcGR3OUFnZ2dBQUNDQ0JnVllBRQp4R3JORVRjQ0NDQ0FBQUlJSUlBQUFnWUYrQm5a
WUtVUk1nSUlJSUFBQWdnZ2dBQUNWZ1ZJUUt6V0hIRWpnQUFDQ0NDQUFBSUlJR0JRCmdBVEVZS1VS
TWdJSUlJQUFBZ2dnZ0FBQ1ZnVklRS3pXSEhFamdBQUNDQ0NBQUFJSUlHQlFnQVRFWUtVUk1nSUlJ
SUFBQWdnZ2dBQUMKVmdWSVFLeldISEVqZ0FBQ0NDQ0FBQUlJSUdCUWdBVEVZS1VSTWdJSUlJQUFB
Z2dnZ0FBQ1ZnVklRS3pXSEhFamdBQUNDQ0NBQUFJSQpJR0JRZ0FURVlLVVJNZ0lJSUlBQUFnZ2dn
QUFDVmdWSVFLeldISEVqZ0FBQ0NDQ0FBQUlJSUdCUWdBVEVZS1VSTWdJSUlJQUFBZ2dnCmdBQUNW
Z1ZJUUt6V0hIRWpnQUFDQ0NDQUFBSUlJR0JRZ0FURVlLVVJNZ0lJSUlBQUFnZ2dnQUFDVmdWSVFL
eldISEVqZ0FBQ0NDQ0EKQUFJSUlHQlFnQVRFWUtVUk1nSUlJSUFBQWdnZ2dBQUNWZ1ZJUUt6V0hI
RWpnQUFDQ0NDQUFBSUlJR0JRZ0FURVlLVVJNZ0lJSUlBQQpBZ2dnZ0FBQ1ZnVklRS3pXSEhFamdB
QUNDQ0NBQUFJSUlHQlFnQVRFWUtVUk1nSUlJSUFBQWdnZ2dBQUNWZ1ZJUUt6V0hIRWpnQUFDCkND
Q0FBQUlJSUdCUWdBVEVZS1VSTWdJSUlJQUFBZ2dnZ0FBQ1ZnVklRS3pXSEhFamdBQUNDQ0NBQUFJ
SUlHQlFnQVRFWUtVUk1nSUkKSUlBQUFnZ2dnQUFDVmdWcUxBSFp2bjI3L1BPZi80dzVKYjZPTGFp
aUovLzk3My9sM1hmZnJhTFNDck9ZelpzM3krclZxNnN0dUd4MQp0R3ZYTGxtNWNtWGEvV3Q4SDMv
OGNkcmxoYlFnMjdGVVphdzF1YStxakR0YldkbmVMNW0yMTIxWHJGZ2g2OWF0eTdSYXhtV1YyYjhX
Ci9PV1hYNHArYnVpVTdlL3FpeSsrOE91bCt5K2ZzcXI3N3poZGpCV2RYMW5ueFAzbWUveFY5ZG0r
Y2VORytlQ0REM3c0bXpadGttM2IKdGlXR1Z1SFhuM3p5aWF4WnMwYUNJUEJsaE8rckNoZkloZ2dn
Z0VBdEU4aWFnRXliTmsyT1BQSklLU29xa3ROUFAxMSsvdk9meTJXWApYU1kvK2NsUDVPaWpheHdX
cUFBQUlBQkpSRUZVajViZXZYdG5KVm00Y0tGODk3dmZsWFBPT2Nldm0vZzZhd0VWV09HM3YvMXRi
SDhWCjJMemdOOUY2YWQyNnRUejAwRVBWRW11Mk9scThlTEYwNnRSSmZ2clRuNmJjL3dNUFBDQjc3
NzIzUFBIRUV5bVhGOUxNYk1kU2xiSFcKNUw2cU11NXNaV1Y3djZUYi91MjMzNVpldlhySmtDRkQ1
SlZYWHBHNzdycEx1blRwSW4vNHd4K2tyS3dzM1daSjh5dTYvMmhCZDl4eApoMzgvYTFKOTBFRUh5
YzZkTzZPTDQ1Ny80QWMvRUkwOTNaUnJXZFg5ZDV3dXZvck9yd3JuNkw0cmN2eVYvV3ovOE1NUDVj
SUxMNVRmCi9PWTNNbW5TSkRuNTVKUDk5OU9iYjc3cFEvdjczLy91NjErLzh3WU9IT2dUNHpCbVRT
eHZ2ZlZXLzMzNGkxLzh3aWV0NGJMUFB2dE0KOUgxeDBra255ZTIzM3k1Ly9PTWY1Ynp6enBQdmZl
OTdjdXFwcDRhckpUMVd4WGRzVXFITVFBQUJCQXBkd1AxQ2szVnlIN2o2TTA0dwpiOTY4dUhVM2JO
Z1F1S1FpYmw2NkYrNExPZGh2di8xaWl4TmZ4eFpVMFpNdFc3WUVuMzc2YVJXVmxseU0rOVV1ZU82
NTU1SVhWR0JPClJjczY0b2dqZ3B0dXVxa0NlOHh0azJ4MTVMNkFBL2ZGbXJhd1ZxMWFCZVBIajAr
N3ZKQVdaRHVXcW95MUp2ZFZsWEZuS3l2Yit5VngKZTNjeUcreXh4eDdCbzQ4K0dyZkkvVm9jNkh2
Yi9jZ1JOei9iaTN6M24xamV4SWtUL1Q3MWM2TnAwNmFKaTJPdjMzbm5uY0NkbkFidQpoNWpZdk1R
bnVaYWwyMVgzMzNGaWJKVjlYVm5ueFAzbmUveVYvV3cvNjZ5emduUFBQVGNXaGt0MEE1ZVFCSTgv
L25oczNzeVpNLzEzCjNzaVJJMlB6d2lldWRTUG8xcTFib051RjAydXZ2UmE0SDF5Q0s2NjRJbkNK
YXpqYlB6N3l5Q1BCbm52dUdUY3Y4VVZWZk1jbWxwbjQKdXFMZk00bmw4Qm9CQkJDb0NvR3NMU0Nh
UUxrdlk1OUg2UzlDMGFsKy9mcHkvLzMzUjJlbGZWNjNibDMvcTFHNFF1THJjSDVWUFRacQoxRWhj
d3BOM2NRNDE2elk3ZHV6d3YzUXRXclFvNjdyWlZzaW5yTVRZcXRzd1hmbmhMOVBGeGNWU3AwNzZ0
MUM2N2JPWjFPVHlYSStsCkttTEtkMStaZm9GUGZDOVVOTDZLbHBNcXRuenFXN3Z4L1BDSFA1VHZm
T2M3L204cEduK0xGaTNreGh0djlKOHR6enp6VEhSUnh1ZjUKN0Q5VlFXM2J0cFZ2ZnZPYi9uUGpz
TU1PUzdXS24zZmZmZmZKTDMvNVMvbnpuLzhzMm8wbjFaUnJXYnB0cm5Hbk1nLzNuV3M5WmlvagpM
Q3Q4VEZkbXJ2R0c1VVFmVTVXWmIza1YvV3dQNDNqLy9mZkZKWkdpbjcwNjZmZWF0bGlzWDc4K1hF
VjY5dXdweHg5L3ZHK0owKzVaCjBja2x6REowNk5EWTk1bWFhbytBZmZmZFY4YU9IZXZyTTdxK3Rx
Sm9TMGltcVNxK1l6T1ZuOC8zVEtaeVdJWUFBZ2hVbFVENnM4Y3MKZTlDVHFhdXV1a3FhTjIvdTE5
UXZZdjFRL3ZXdmZ5MzkrL2YzejkwdlZWbEtLVitjYWZ1Ly92V3ZzczgrKy9ndVZmb2xvVi84K21H
dgpYeEwvL3ZlL2ZTSHVsM2JmOUswbk5qcnVRTDhJOUF0RXA5bXpaOHY1NTU4dkkwYU04TTNpN2Rx
MWt3NGRPc2gvL3ZNZnYxei8wMWgvCi9PTWZ5L0RodzMyWEVGMy81cHR2bHJsejU4YldDWjlvTjVF
WFgzeFI5T1JvOE9EQmZsdnQ3K3QrL2ZKTjdjY2VlMnhzdk1zYmI3emgKeTNPLzh2a3VKdnBhdTY2
RlhhZFNsUlh1SjN6VUw3ekpreWY3TDhtdVhidUdzLzJqamllNCt1cXIvWW1UZHBVTFBYUmhKbFB0
R3JYLwovdnY3TGkrNjdsLys4aGR2Y3VtbGwrckxsSlAyMWY3WnozN21YYlFyM3V1dnY1NXl2ZWhN
ZGIzODhzdjlTWjI2TEZ1MkxMWTRuVmxzCmhhK2VMRml3UUM2NTVCSVpQWHEwM0hERERmNjk0SDV4
OUgyc1U1bm5VdC9aamlWZGJQbkdvb2VRYlYrSng2dnZMZTNtTVdIQ0JIRy8KdE1wYmI3MFZXeVhU
ZXlGY0taZTZUVlZPTHR0bGlpM2NmeTZQMnBWSHV6cHB0ODVVMDJtbm5lWm5QL3p3dy80eGx6cU5s
dlBZWTQrSgovczJkZWVhWi9tUlRsK2w3VDd1Q2FsZXZWTlBCQng4c0J4NTRvRitrM1doU1Rkb0ZS
eitEcnJ6eVNqOW1RTHNhcHBweUtTdTZYYWEvCjQwem1xZW94V203NFBGTVo0VHJoWXo2ZmhkbWNY
VXVDLyt6VnYxM1htaUN1VlZUYXRHa2pPajg2WlRyKzZIb1YrV3lQYnEvUEw3amcKQWxteVpJbDA3
OTdkZjRib1BJMUxQMk9pazM2ZjZXZG8rRmtkTG5NdDMrSmFVY0tYb2wyMmxpOWY3cE9NZXZYcXhl
WkhuMmlYd255bgpmTDVqcy8xOTVQSTlrMjk4ckk4QUFnaFVTc0Q5SXBWMWN2MWtmWE8wU3pnQzkw
RWEvUDczdnc5Y2toRnJ4bllmbElFN01RNjBxVmtuCjk0dFE0TDdvQTllM08xYTJicU5kY3NJcCtq
cVg3VHQzN2h3TUdqUW8zRHh3WHg3QlJSZGRGSHY5dDcvOUxYQ0ppWDlkVWxJU3VDK1AKd0NVdC92
WG5uMzhldUY4MC9UOXRXbmRmWXNIaGh4OGV1T1FodHIwNzJRdGM4dUZmdThHdy9uamRyMktCRzR3
YVd5ZjY1S0NERGdwYwpndUpuNmZHNkU2bEFtN2oxV056SnVXK08xNjRrT3IzODhzdStQSTN4Mldl
ZkRkeVhnWjhmL2hjdEs1d1hQcnBmcmdKMzRoNitERndTCkZiZ3ZhLys2WThlT3dUSEhIQk80SkNs
d0o4eStLMGQ0VExtWXVoT0J1QzVjV2wvUnJnblJPdElkNm5MWFg5bnZXOHZYN2QySm9uK2QKNmo5
ZC9xMXZmU3RROC8vN3YvOEwycmR2SCtpeDZqRmxNNHVXNTFxYXZLZEwzTHlmKy9VNTBHNHc2Y3h6
cWU5TXg1SXB0bnhqMGVQSQp0Sy9vY2Vwek54QTJjR043Z3BkZWVza3Z1dTY2NjJMZEhETzlGL3pL
a2Y4eTFXMm1jakp0bHlrMjNYWGkreVVTVHRKVC9SeHhIMXpCCmxDbFRrcGFGTTl5UEcvN3ZWRi9u
VXFlSit6L2xsRk1DL1JkT1dxOERCZ3dJWHlZOTZ2THdielpkOTgwLy9lbFB3YXhacy95MitobDQK
eUNHSHhIWEZDUXZOcGF4dzNVeC94NW5NTTlWaldMWStaaW9qdWw3NFBOdG5ZVDdPSDMzMGtlOTY2
eEt5d0NYdnZodXZHenNXdUI4Lwp3dDBGbVk0L3R0SlhUeXJ5Mlo1WWhtdlJDTnlQVi83OXQ5ZGVl
d1V1OFU1Y3hiOTJQMllGTFZ1MkROd1BPN0hsYnR4UDRCS1YyR3Q5CjRscnJmRm11WlN4dXZyNXdG
MElKWExJVCs2ZmZFYW1teW43SDV2TDNrZWw3SmxWTXpFTUFBUVNxVXlDdkZoQnRkZEJmemZXZkRv
QU8KdTJUcEwwRDZpN1E3ZWZYSmtEYXBhNU8wL3NyMTZxdXZaazJRY3RuKzRvc3ZsdWVmZjE3MGx6
S2RkR0NmTzVtUE5hTy84TUlMdnVWRgpsN2t2RlhFSlJ1d0tKRG9ZV3J0RUhIWFVVYjdWNUJ2ZitJ
YTRFeFA1MTcvK3BhdjdTWDlwMVZZV25YUmI3YjZsKzNJblpINWVxdi9DCjQzZUpsNVNXbG9wTE1I
eExRcE1tVGZ6VmRNTFdFeDNrcUswcm8wYU44c3QxRUgvaUZKYVZPRitiLy9YWE92MTFXaWNkOU8z
ZUVMSFYKK3ZUcEl5ZWVlS0wvQlUrUEtid3FWUzZtRFJvMGlOV2hGdGl3WWNPNDE3R2R1Q2N1Z2ZD
dFB1RXYweHJ2R1dlY0VWMGw1WE9YSkhwegovU1gvbGx0dWtWV3JWb25XVlRhemFHSGFjcUl0Vmk2
WmtiNTkrL3FXZ2ZuejU2YzF6MWJmMlk0bFUyejV4cEp0WDlIajFPZHVUSVRvCmUvM2IzLzYyWDZR
dGpPRmc1Mnp2aFdoWm1lbzJVem1adHNzVVczVGZ1VHdQcndxa2Z5dnBKbDNtVGpqOTRteDFtcXFN
WC8zcVYrS1MKLzlqZnViWjhaSHJQNnVlV2R2L1NLVjMzVGYwTUNnY1U2OStpWG1sUDV5Vk91WlFW
M1NiZDMzRW04MHoxR0MwN1V4blI5Y0xuK1g0VwpabkxXN3dyOURQMys5Nzh2N2tjazN5cnR4cTM1
VnVxbFM1ZUd1NVIweHg5YjRhc25GZmxzVHl4RDMxZlRwMC8zTGJuYTJxUGRvN1RGCk1YRlNOMjBW
MGRZTmZSL3BOSFhxVlA5WjdsOTg5ZC9hdFd2OXMvRDdJN3BNMzc5NmdRV1haSWwyM1l0K2RrZlhD
NTlYOURzMjE3K1AKZE44ejRmNTVSQUFCQkdwS0lLOEVSRThpOVl0Q3IyYWxUYnJhbFVrbjdZcWpI
NXo2cFJ0TzJyZGJwL0RLSXVIOFZJKzViSzlYRjlGTApYODZaTThjWG9WOWU3aGRBbitUb2w0aE8y
amM0blBTRE52cGhtL2hhdjRTMHUxWTQ2WmZIUC83eGovQ2x2NEpUdW00WTRVcGgrWnA4CmFkOXg5
MnVvLzZlSm1IWXhVYTl3K3QzdmZ1Y3Y3YWxKVUtweEUyRlo0ZnJobzU0UTZVbThma2xxMXdHTlU4
ZGVoRk4wT3oxWkRTMXkKTVEzTHlPVlJreWxOekpvMWF4WmJYYjJqKzQ4dGlEd0oremJyckxCTG5I
WVR5OFVzVW96b2liRit5WVpUdHUwMXJtaHMwZnJPZGl6Wgp5czRubG16N0NvOG5mTlNZOVFSTis2
bHJ3cWF4YUJjdW5iSzlGOEl5c2oxV3RKeE1zV1hiWitMeVF3ODkxTS9Tcm02cEp0ZkNKbnBWCklV
MDh3eWxUblliclJCLzFzMHE3VkduM1JaMzBCNEx3U256UjlYSjlycGNSMTNqMVpGWHJSdi9HOUNS
VlB3c3JPMFhmcTlHLzQwem0KdWRaanBqSlN4WjN2WjJFMlo5MS85RE5QZnpCUk4rMDJGRTdwamo5
Y0huM1VkYVBySjc2Ty9xMUh0NHMrMTg5US9VSElYVmhGRG5KWApQTlB1eElsZHJYUjk3WktxMzJ0
MzMzMjMzMXk3WUo1d3dnblJvaVFjTDVUcTBzMTZSYmV6eno3YnI2L2RkVFcyVEZObHZtTnpjWWk2
ClpZcURaUWdnZ0VCMUM1Um5EQlhZazQ2UjBNbDFOL0FuQzlvMzJsM3R3OC9UL3RmNndhM0xzazI1
YksrL2ZPbXYzL29sb1NlMStpV2cKdjlqcnI5V2FtT2k0azhwTSttV2s0ejcwUzFGUE1EV2hDRStZ
MDVVYmZwaTdxNEg1WDdiMHNyVHBKdGNOUWx4enZqOXhDUWNzUnRjTgp5NHJPQzUvZmUrKzk0cm92
eVcvZHBZVTFvZE9UMmxTL3RvWHI2Mk11cHRIMXN6M1g2OXJyUC8wRkx4cHI5SG0yTXZUWFVLMDdy
Y3RjCnpES1ZWNW50c3gxTHZtVm5Xai9idmxJZFkvZ0xzWjcwNk1sek5ER3V5SHNoMVQ0cVdrNm0y
Rkx0SjkwOFRjUjEwaGF4VkpPZTZHdXIKb3JaNlZYVFNrMTV0YmRUeFlOZGZmNzBmczZFbjl4V2R0
Qi8vbURGanBISGp4ckVpdEdWVGY5bldsaEQ5QWFJNnBrem11ZFpqcGpJUwpZODczc3pCZlovM2Mx
aDh2b2o4WUpjWlFYYSsxMVZ0L3lBaC96TkFXemFlZmZscGNWMWJSeStIKzZFYy9pdHUxdHQ3b2VB
OGRoL2prCmswL0cvYWdVcnFoaituU0tqbThMbCtsaitLTk5SWTYzcXI1anczankrYndPdCtFUkFR
UVFxQTZCdkZwQTBnV2dKd2w2WXFxL0RvV1QKRGhiTTlRUWkxKzNkR0JCNTZxbW4vTFhiOWJtMkRH
ZzNMTzBDa2EyMUlvd3IzYU1PVHRVQjFucmlvOG1DRGpUTU5vWE42Wm9jekpneApJKzZLT0hyczJz
d2ZUdGRjYzQyNGZ2MytWMndkd0pvNGhXVWx6dGRmMWZRa1RYK2gwMjVIMnR5dlNWZTJLVmRUalRP
WFNYOUoxa1F2CjNaZHNMbVhvVGIvMDEvempqanZPSjFUWnpES1ZtWXQ1dXUyekhVdStaV2RhUDl1
K0VtUFVpeFNFZyswVFR4YnlmUytrcTl0czVhVGIKTGxOc2ljZVI3YlcyZ0dpcm5yNlhVLzFJNGNh
RytCOEM5QUlHbFprMDJkKzZkYXUvS0ViWWRhb2k1ZWtORXJVN2pRNmExMS93dzMvaAozN0s3N0c1
RmlzMjZUU2J6YlBVWUZwNnBqSENkNkdORlBndnpjZFliVHVxUFZXRXJlWFRmMWYxY2Z5elExdWpv
cEFtRVhqUWc3TzRYClhhYlBkVEM2L2sxb2R5eE5PQk1udlRDSUcrZmxMNDZpUHpoVXg1VHI1M20y
ZmFmN25zbTJIY3NSUUFDQnFoYklLUUVKdS9Xa3UwdXgKdGo3b0I3aU9Pd2duN1lLa0grdzlldlR3
cy9Ra0lOcmxLZm82bCsyMUVQMlExeVpzL2ZWS2YwblhjU0RhOVV0L2VVdzhXZFArMFJxMwpkdVhR
U1pPS2NQeUl2dGJsMFJNZnZVS0xkbW5RZVBXTE1kcGxRTmRQbkhUZDk5NTd6eWRlR3BkK3NlbmxG
alZaMEYvWjlPcE0ydWRaCkovM2xUSnZpdFFWQXYvd2VmUEJCUDZZaUxETmFWbUtYRkwwS2kxNXBS
aWNkRjZBblFBY2NjSUIvclNmemVoemhwSy9EN2pxNW1Hb2kKb0gyYnRRd2RaNkJ4Ui9jZnJTTTlO
cjNzOHJoeDQvenUxRkpQYlBRTFY2OE1sRzdTYm5MaHBHTS90QnVaZHVYU1h4b3ptWVhiaEk5YQpU
bmhzT2kvYjlwbnFPOXV4WkNzN24xaXk3U3M4dnZCUmI1S21rM2IzVVg5Tll2VjlyTzlWUFdsTDkx
NEl0dzhmTTlWdHB2ZFVwdTB5CnhhWi9aOUgzaThhaDd3dHRnZERXZ1ZTVC9pM29DWkZlMlN3NjZT
VlM3N3p6VGo4LzdPYXB5elBWcVM1UDNML08wODhLclFQOUc5UXIKWWxWMDB0YVBWT05ITlBuVWxr
KzlHbFk0cmlYZmZXVDZPODVrbnV2N0lWTVo0ZWRqTk9ac240VVZjZFlmcE1KSnI4aWxuMk5oeTBH
bQo0dyszaVQ3bSs5a2UzVmEvcHpSWjFPNXo0UlFtY3RFclc0WEw5RkcvWnpRQjBIRWMybDByMWFT
dFlQcWRwSjl2YmtCNDNDcVpQaC9ECkZhdmlPemJiMzBmaTkweTJ2ODh3Tmg0UlFBQ0JhaEZ3SndB
WkozZVpSMy8xS0xmendQM3FGN2d4R0NuWGR3UDEvQldQOU1wUWVvTSsKMTUwcGNIMzkvYnJ1bC92
QW5UejdLNFhvRmFEY3dQUzQxM3Exa1V6YlIzZW9ONFp5Si82eFdhNUxSR3cvNFV6ZG4wc2kvUDcw
U2xidQp4RGR3WFMvODFZWDBab3J1YnRTQlhwWEY5VVAyVjJqUzdkd3ZyWDU5UFU3OTU3cFpCRzR3
Y0tDeHBacDB2N3FlKzhMeFY4NXhTVVhnCnVoYjRlUzRwaXQyazBIWHBDdlMxdTVTcUwwYXZvdUs2
cGdVdWlRZzBUcDBTeS9JenYvclB0VGo0SzBmcFZWSmNOd0IvOHpQM2ExemcKTHBzYnVDVEoxNDFM
QkFLOU9wUHJMeCs0dnMxK1BkMDhtNm5XcFR0QkM5eWcvRUJkWFF1UXY3cVlYclVxc2M3VXdaM0Vl
VWZYUFMxdwozZUdDZnYzNithdWZ1VUdyMFpCano5MkpwYitLa1Y0bHhuVUI4Y2J1NUNXMlBKMVpi
SVd2bnJodWQ0SHJ2dUN2cHFQdngzQkt0NzFlClFTcGJmV2M3bG5SbDV4dUx4cHB0WCtIeDZLTTdL
ZkIvRzY0Ym9IOXY2UldYOU5qMTZtVDZ2blVuUUVIaWV5RzZmZmc4VTkybWUwL3AKdHBtMnl4U2JY
dVVzK2pldTd4ZTltcHo3WVNEamxhNWNpNTYveXBkZW5VcXZycVJYZWRPckpPbDdQVHBscTlOVTc5
ZHdlOWRsMGQ5bwpMbnlkNzZPNzExSGdmdmdJWEFLVDlGbmpXbDhEZDRFTC8zZnZ4a0lFTGlIUHEv
aHNmOGVaekhOOVAyUXF3eVhUU2ZGbStpeXNpTE5MCmF2MTdRNitpNkZxQ2c5Njlld2V1dGNIdk45
dnhKd2FuKzgvM3N6MnhETDBpb242WDZkVUs5VE5LWCt0ei9WeE5OOTF6enoyQnZnOHkKVFhvRk5Y
ZGhBbisxUDljaUZMaXVmLzZLV2E2N2NLQTNwblRKWHNyTnErSTdOdHZmaCs0NDhYc21sNy9QbEFF
ekV3RUVFS2dDZ1NJdAp3NTFJVjlta3JRSTZ3RSt2T2xXUktkdjI3c1RHL3hJZmxwMzRPcHlmNzZQ
MkUzY25RZjVYVnYyRlRYOWRkSGZHRlhlSFhBbXYvSlJZCnB2N1NGUjJMb2I5UzY2OXAydTBtT2xB
OGNidFVyeFBMQ3RmUlh5aTFOVWJqMFd2TVIvdWZoK3RrZTh4a3FyL21hMnVHOXN2VytOTmQKeHo3
Y2g4YWpYUlgwdVBVWE54MHZrMjNTd2NTNmZpcVR5cGpwZml1emZiWmp5YmZzVE90bjIxZWlvZjdL
ckhVU0hxUFdTNzd2aFhSMQptNjJjZE51Rk1hYUtMVnlXK0tpdHB0cEttVzNTTGk3YThxRlhuNHIr
VFdYYkxwZmxmL3pqSC8wdjEzcmZJS3RUS3ZOczlaaDRyS25LClNGeEhYMWZrczFDM1MrZXNMY0hh
UlZiSDRXZ01WVjIvdXU5OEp2MzgwdFlBbDVqNWl6M281M1cyd2VINlBhT1R0Z0pubS9RclZWdWQK
OVBOUlc4aFNmZTVsS3lQVDhreWY1NW0yMDJXSjN6TzUvbjFtSzVmbENDQ0FRTDRDVlo2QTVCdEFJ
YXl2WDV5YWJMaGZtK1BDMGNzSQpheGNRL1JKaFFnQUJXd0w2UTRLZU1PcVBDUHIzbmRoTjA5YlIx
RXkwRmZrc3pPWWNKaUJoOTgyYU9STDJnZ0FDQ0NCUXlBS1Z1Z3BXCklSOVlQckhwb010aHc0YjUr
NWhvZjI3OWxVNS90ZGMrNHlRZitVaXlMZ0tGSWVDNnFmbkJ3enJ1U3Z2bmszemtWaS81ZmhabWM5
WlcKR2gwbnBwZmVaa0lBQVFRUVFDQVVvQVhrS3drZEVLMlh0M1YzUVBZM0tTVHhDTjhpUENKZ1Qw
QzcyYmp4QmY0U3FucmpVYWJjQmZMNQpMTXptckZjemMzZEQ5enZYQWVCNlFRQW1CQkJBQUFFRVNF
QjREeUNBQUFJSUlJQUFBZ2dnZ0VDTkNlUjBHZDRhaTRZZElZQUFBZ2dnCmdBQUNDQ0NBUUswV0lB
R3AxZFhMd1NHQUFBSUlJSUFBQWdnZ1VGZ0NKQ0NGVlI5RWd3QUNDQ0NBQUFJSUlJQkFyUllnQWFu
VjFjdkIKSVlBQUFnZ2dnQUFDQ0NCUVdBSWtJSVZWSDBTREFBSUlJSUFBQWdnZ2dFQ3RGaUFCcWRY
Vnk4RWhnQUFDQ0NDQUFBSUlJRkJZQWlRZwpoVlVmUklNQUFnZ2dnQUFDQ0NDQVFLMFdJQUdwMWRY
THdTR0FBQUlJSUlBQUFnZ2dVRmdDSkNDRlZSOUVnd0FDQ0NDQUFBSUlJSUJBCnJSWWdBYW5WMWN2
QklZQUFBZ2dnZ0FBQ0NDQlFXQUlrSUlWVkgwU0RBQUlJSUlBQUFnZ2dnRUN0RmlBQnFkWFZ5OEVo
Z0FBQ0NDQ0EKQUFJSUlGQllBaVFnaFZVZlJJTUFBZ2dnZ0FBQ0NDQ0FRSzBXSUFHcDFkWEx3U0dB
QUFJSUlJQUFBZ2dnVUZnQ0pDQ0ZWUjlFZ3dBQwpDQ0NBQUFJSUlJQkFyUllnQWFuVjFjdkJJWUFB
QWdnZ2dBQUNDQ0JRV0FJRmw0QXNXN1pNWnMrZVhWaEtSSU1BQWdnZ2dBQUNDQ0NBCkFBSlZJbEJ3
Q2NpZ1FZT2tSNDhlTW5QbXpDbzVRQXBCQUFFRUVFQUFBUVFRUUFDQndoSEltb0RNbVROSGV2WHFK
VVZGUlZLblRoMloKUEhteWJOeTQwUi9CL1BuenBWT25UdEtxVlN1Wk9IR2liTjI2VmZKZFAwcXhZ
TUVDV2JSb2tmVHAwMGZHakJralFSQkVGL01jQVFRUQpRQUFCQkJCQUFBRUVqQXRrVFVCT1BmVlVt
VEZqaGd3WU1NQW5CRzNidHBWbXpacjV3MjdYcnAwMGI5NWNOQkVaT25Tb05HellVUEpkClArbzNh
ZElrNmRLbGkweWRPbFZXclZvbGp6enlTSFF4enhGQUFBRUVFRUFBQVFRUVFNQzRRSkZyWmNpcG1X
SExsaTNTdVhObjMvcXgKWk1rU2FkS2tpWnh6empreWJ0dzQ2ZENoUXhKRHZ1dHYyclRKdDZTTUh6
OWVoZ3daSXZmZGQ1K01IajFhVnE1YzZaT2NwQjB3QXdFRQpFRUFBQVFRUVFBQUJCTXdKNUp5QTZK
RnBTMGUzYnQya1g3OSt2aFdrZi8vK3ZydFV1cVBPWi8wSEhuakF0NktzV2JQR2w2MTUwWWtuCm5p
Z2RPM1lVYlJsaFFnQUJCQkJBQUFFRUVFQUFBZnNDeGRlNktkZkRhTk9tamF4ZnYxNDBXZEN1VXBk
ZmZubkdUZk5aWDh2U3JsMzcKN2JlZkxGKyszUC9UTGwxMzNubW5INE9pWlRFaGdBQUNDQ0NBQUFJ
SUlJQ0FiWUc4V2tEMFVPZk5teWRkdTNhVmZmZmQxM2VQYXRHaQpSVWFCWE5aZnUzYXR0RzdkV2dZ
UEh1d2Z0Mi9mTHFXbHBWS3ZYajE1NTUxMzVQMzMzNWVGQ3hkS2NYRnh4bjJ4RUFFRUVFQUFBUVFR
ClFBQUJCQXBiSUs4RVJNZDE2QldxTHI3NFl0SEw1ZW8vYlExSk4rVzYvcjMzM2lzalJveVFkZXZX
K2FRald0N216WnY5R0pPUkkwZksKOE9IRG80dDRqZ0FDQ0NDQUFBSUlJSUFBQXNZRThrcEFOT0VZ
T0hDZzd4SjE3cm5ueXJScDAyVFdyRm5Tdlh2M2xJZWQ2L3A5Ky9hVgpwazJicHIzcWxWNE42OUpM
TDVYMzNudFBXclpzbVhKZnpFUUFBUVFRUUFBQkJCQkFBSUhDRjhoNkdkN3dFS1pNbVNMYTNVcnZD
YUxUCmhBa1QvSld3TkRIUSszOGtUcm11djJ2WExwazdkNjcwN05renNZallhMDE2MnJkdkx6ZmVl
R05zSGs4UVFBQUJCQkJBQUFFRUVFREEKbmtCT0NjalNwVXZsMWx0dmxiRmp4OGFPY1AvOTk1ZGh3
NGI1Vm9sUm8wYkY1dXVUZk5aZnZIaXh2N1R2eVNlZkhGZEc5SVhlQlBHcQpxNjRTN2FxbDNiU1lF
RUFBQVFRUVFBQUJCQkJBd0taQTFnUkVXeko2OSs0dEpTVWxNbjM2OU5oUnJsaXhRbGF2WHUxZjY1
V3FOQm5SCjVDRGY5Zld1Nm5wWlg3M0JZYVpKTC9tcmQyR3ZYNzkrcHRWWWhnQUNDQ0NBQUFJSUlJ
QUFBZ1Vza05jWWtBSStEa0pEQUFFRUVFQUEKQVFRUVFBQUJBd0paVzBBTUhBTWhJb0FBQWdnZ2dB
QUNDQ0NBZ0JFQkVoQWpGVVdZQ0NDQUFBSUlJSUFBQWdqVUJnRVNrTnBRaXh3RApBZ2dnZ0FBQ0ND
Q0FBQUpHQkVoQWpGUVVZU0tBQUFJSUlJQUFBZ2dnVUJzRVNFQnFReTF5REFnZ2dBQUNDQ0NBQUFJ
SUdCRWdBVEZTClVZU0pBQUlJSUlBQUFnZ2dnRUJ0RUNBQnFRMjF5REVnZ0FBQ0NDQ0FBQUlJSUdC
RWdBVEVTRVVSSmdJSUlJQUFBZ2dnZ0FBQ3RVR0EKQktRMjFDTEhnQUFDQ0NDQUFBSUlJSUNBRVFF
U0VDTVZSWmdJSUlBQUFnZ2dnQUFDQ05RR0FSS1EybENMSEFNQ0NDQ0FBQUlJSUlBQQpBa1lFU0VD
TVZCUmhJb0FBQWdnZ2dBQUNDQ0JRR3dSSVFHcERMWElNQ0NDQUFBSUlJSUFBQWdnWUVTQUJNVkpS
aElrQUFnZ2dnQUFDCkNDQ0FRRzBRSUFHcERiWElNU0NBQUFJSUlJQUFBZ2dnWUVTQUJNUklSUkVt
QWdnZ2dBQUNDQ0NBQUFLMVFZQUVwRGJVSXNlQUFBSUkKSUlBQUFnZ2dnSUFSQVJJUUl4VkZtQWdn
Z0FBQ0NDQ0FBQUlJMUFZQkVwRGFVSXNjQXdJSUlJQUFBZ2dnZ0FBQ1JnUklRSXhVRkdFaQpnQUFD
Q0NDQUFBSUlJRkFiQktvOUFWbTJiSm5NbmoyN05saHhEQWdnZ0FBQ0NDQ0FBQUlJSUZCSmdXcFBR
QVlOR2lROWV2U1FtVE5uClZqSlVOa2NBQVFRUVFBQUJCQkJBQUFIckFsa1RrRGx6NWtpdlhyMmtx
S2hJNnRTcEk1TW5UNWFOR3pmNjQ1NC9mNzUwNnRSSldyVnEKSlJNblRwU3RXN2ZHZVN4WXNFQVdM
Vm9rZmZyMGtURmp4a2dRQkhITDlVVmx5azhxakJrSUlJQUFBZ2dnZ0FBQ0NDQlEwQUpaRTVCVApU
ejFWWnN5WUlRTUdEUEFKUk51MmJhVlpzMmIrb05xMWF5Zk5temNYVFVTR0RoMHFEUnMyakR2WVNa
TW1TWmN1WFdUcTFLbXlhdFVxCmVlU1JSK0tXNjR2S2xKOVVHRE1RUUFBQkJCQkFBQUVFRUVDZ29B
V0tYS3RFY3JORWlwQzNiTmtpblR0MzlxMGZTNVlza1NaTm1zZzUKNTV3ajQ4YU5rdzRkT2lSdHNX
blRKdDh5TW43OGVCa3laSWpjZDk5OU1ucjBhRm01Y3FWUFdoSTN5TGY4eE8xNWpRQUNDQ0NBQUFJ
SQpJSUFBQW9VdmtITUNvb2VpTFIzZHVuV1RmdjM2K1ZhUS92MzcrKzVWcVE3emdRY2U4SzBpYTlh
czhldHFublBpaVNkS3g0NGRSVnRHClVrMzVsSjlxZStZaGdBQUNDQ0NBQUFJSUlJQkFZUXNVWCt1
bVhFTnMwNmFOckYrL1hqUzUwSzVWbDE5K2VkcE5kWmwyMWRwdnYvMWsKK2ZMbC9wOTIwYnJ6emp2
OW1CSXRLM0hLcC96RWJYbU5BQUlJSUlBQUFnZ2dnQUFDaFMrUVZ3dUlIczY4ZWZPa2E5ZXVzdSsr
Ky9ydQpWQzFhdEVnNnlyVnIxMHJyMXExbDhPREIvbkg3OXUxU1dsb3E5ZXJWazNmZWVVZmVmLzk5
V2Jod29SUVhGeWR0bTB2NVNSc3hBd0VFCkVFQUFBUVFRUUFBQkJFd0k1SldBNkRnTnZhTFZ4UmRm
TEhwNVhmMm5yU0dKMDczMzNpc2pSb3lRZGV2VythUWp1bnp6NXMxK3pNakkKa1NObCtQRGgwVVdT
YS9seEcvRUNBUVFRUUFBQkJCQkFBQUVFekFqa2xZQm93akZ3NEVEZmhlcmNjOCtWYWRPbXlheFpz
NlI3OSs1eApCOXkzYjE5cDJyUnB5cXRlNllwNk5heExMNzFVM252dlBXblpzbVZzMjF6TGoyM0FF
d1FRUUFBQkJCQkFBQUVFRURBbGtQVXl2T0hSClRKa3lSYlM3bGQ0VFJLY0pFeWI0SzJGcEloRzkv
OGV1WGJ0azd0eTUwck5uejNEVHBFZE5ZdHEzYnk4MzNuaGpiRm11NWNjMjRBa0MKQ0NDQUFBSUlJ
SUFBQWdpWUU4Z3BBVm02ZEtuY2V1dXRNbmJzMk5nQjdyLy8vakpzMkREZmlqRnExS2pZL01XTEYv
dEw5WjU4OHNteAplWWxQOUthR1YxMTFsV2hYTGUybWxVLzVpV1h4R2dFRUVFQUFBUVFRUUFBQkJP
d0laRTFBdEdXaWQrL2VVbEpTSXRPblQ0OGQyWW9WCksyVDE2dFgrdFY3WlNwTVJUU2IwTHVsNm1W
NjlZV0dtU1MvaHEzZFZmL0xKSi9NcVAxT1pMRU1BQVFRUVFBQUJCQkJBQUlIQ0ZzaHIKREVoaEh3
clJJWUFBQWdnZ2dBQUNDQ0NBUUtFTFpHMEJLZlFESUQ0RUVFQUFBUVFRUUFBQkJCQ3dJMEFDWXFl
dWlCUUJCQkJBQUFFRQpFRUFBQWZNNUdOTVdBQUFnQUVsRVFWUUNKQ0RtcTVBRFFBQUJCQkJBQUFF
RUVFREFqZ0FKaUoyNklsSUVFRUFBQVFRUVFBQUJCTXdMCmtJQ1lyMElPQUFFRUVFQUFBUVFRUUFB
Qk93SWtJSGJxaWtnUlFBQUJCQkJBQUFFRUVEQXZRQUppdmdvNUFBUVFRQUFCQkJCQUFBRUUKN0Fp
UWdOaXBLeUpGQUFFRUVFQUFBUVFRUU1DOEFBbUkrU3JrQUJCQUFBRUVFRUFBQVFRUXNDTkFBbUtu
cm9nVUFRUVFRQUFCQkJCQQpBQUh6QWlRZzVxdVFBMEFBQVFRUVFBQUJCQkJBd0k0QUNZaWR1aUpT
QkJCQUFBRUVFRUFBQVFUTUM1Q0FtSzlDRGdBQkJCQkFBQUVFCkVFQUFBVHNDSkNCMjZvcElFVUFB
QVFRUVFBQUJCQkF3TDBBQ1lyNEtPUUFFRUVBQUFRUVFRQUFCQk93SWtJRFlxU3NpUlFBQkJCQkEK
QUFFRUVFREF2QUFKaVBrcTVBQVFRQUFCQkJCQUFBRUVFTEFqUUFKaXA2NklGQUVFRUVBQUFRUVFR
QUFCOHdJa0lPYXJrQU5BQUFFRQpFRUFBQVFRUVFNQ09BQW1JbmJvaVVnUVFRQUFCQkJCQUFBRUV6
QXZrbllBc1c3Wk1acytlYmY3QU9RQUVFRUFBQVFRUVFBQUJCQkNvCmVZRzhFNUJCZ3daSmp4NDla
T2JNbVRVZkxYdEVBQUVFRUVBQUFRUVFRQUFCMHdKNUpTQUxGaXlRUllzV1NaOCtmV1RNbURFU0JF
SFMKd2MrWk0wZDY5ZW9sUlVWRlVxZE9IWms4ZWJKczNMalJyemQvL256cDFLbVR0R3JWU2laT25D
aGJ0MjZWZk5kUDJpRXpFRUFBQVFRUQpRQUFCQkJCQXdJeEFYZ25JcEVtVHBFdVhMakoxNmxSWnRX
cVZQUExJSTBrSGV1cXBwOHFNR1ROa3dJQUJQa0ZwMjdhdE5Hdld6Sy9YCnJsMDdhZDY4dVdnaU1u
VG9VR25Zc0tIa3UzN1NEcG1CQUFJSUlJQUFBZ2dnZ0FBQ1pnU0tYQ3RHY2pOR2l2QTNiZHJrV3k3
R2p4OHYKUTRZTWtmdnV1MDlHang0dEsxZXU5RWxGNGlaYnRteVJ6cDA3KzlhUEpVdVdTSk1tVGVT
Y2M4NlJjZVBHU1ljT0hSSlhsM3pYVHlxQQpHUWdnZ0FBQ0NDQ0FBQUlJSUZEd0Fqa25JQTg4OElC
dnRWaXpabzF2MGRDODVjUVRUNVNPSFR1S3RveWttclNsbzF1M2J0S3ZYeisvClRmLysvWDMzclZU
cjZyeDgxMDlYRHZNUlFBQUJCQkJBQUFFRUVFQ2dNQVdLcjNWVExxRmRmdm5sUG9uWWI3LzlaUG55
NWY2ZmRxRzYKODg0Ny9aaVBObTNhSkJXajg5YXZYeSthdkdqWExTMGowNVR2K3BuS1loa0NDQ0NB
QUFJSUlJQUFBZ2dVbmtCT0xTQnIxNjZWMXExYgp5K0RCZy8zajl1M2JwYlMwVk9yVnF5ZnZ2UE9P
dlAvKys3Snc0VUlwTGk1T09zSjU4K1pKMTY1ZFpkOTk5L1hkdFZxMGFKRzBUblJHCnZ1dEh0K1U1
QWdnZ2dBQUNDQ0NBQUFJSUZMWkFUZ25JdmZmZUt5TkdqSkIxNjliNXBDTjZTSnMzYi9aak9rYU9I
Q25EaHcrUEx2TGoKT3ZTS1dSZGZmTEhvNVh2MW43YUdwSnQwSEVnKzY2Y3JoL2tJSUlBQUFnZ2dn
QUFDQ0NCUW1BSTVKU0I5Ky9hVnBrMmJwcnpxbFI2VwpYZzNyMGtzdmxmZmVlMDlhdG13Wk8xSk5P
QVlPSE9pN2FKMTc3cmt5YmRvMG1UVnJsblR2M2oyMlR2Ukp2dXRIdCtVNUFnZ2dnQUFDCkNDQ0FB
QUlJRkw1QTFzdnc3dHExUytiT25TczllL1pNZXpTYVpMUnYzMTV1dlBIRzJEcFRwa3dSN1c2bDl3
VFJhY0tFQ2Y1S1dKcW8KNlAwL0VxZDgxMC9jbnRjSUlJQUFBZ2dnZ0FBQ0NDQlErQUpaRTVERml4
ZjdTK21lZlBMSmFZOUdienA0MVZWWGlYYlYwbTVhUzVjdQpsVnR2dlZYR2poMGIyMmIvL2ZlWFlj
T0crVmFTVWFOR3hlYnJrM3pYajl1WUZ3Z2dnQUFDQ0NDQUFBSUlJR0JHSUdzQ29uY3gxOHZvCjZn
MEZNMDE2aVYyOTYvbVRUejRwdlh2M2xwS1NFcGsrZlhwc2t4VXJWc2pxMWF2OWE3MXlsaVlqbXF4
b3kwYys2OGNLNUFrQ0NDQ0EKQUFJSUlJQUFBZ2lZRThocERJaTVveUpnQkJCQUFBRUVFRUFBQVFR
UUtFaUJyQzBnQlJrMVFTR0FBQUlJSUlBQUFnZ2dnSUJKQVJJUQprOVZHMEFnZ2dBQUNDQ0NBQUFJ
STJCUWdBYkZaYjBTTkFBSUlJSUFBQWdnZ2dJQkpBUklRazlWRzBBZ2dnQUFDQ0NDQUFBSUkyQlFn
CkFiRlpiMFNOQUFJSUlJQUFBZ2dnZ0lCSkFSSVFrOVZHMEFnZ2dBQUNDQ0NBQUFJSTJCUWdBYkZa
YjBTTkFBSUlJSUFBQWdnZ2dJQkoKQVJJUWs5VkcwQWdnZ0FBQ0NDQ0FBQUlJMkJRZ0FiRlpiMFNO
QUFJSUlJQUFBZ2dnZ0lCSkFSSVFrOVZHMEFnZ2dBQUNDQ0NBQUFJSQoyQlFnQWJGWmIwU05BQUlJ
SUlBQUFnZ2dnSUJKQVJJUWs5VkcwQWdnZ0FBQ0NDQ0FBQUlJMkJRZ0FiRlpiMFNOQUFJSUlJQUFB
Z2dnCmdJQkpBUklRazlWRzBBZ2dnQUFDQ0NDQUFBSUkyQlFnQWJGWmIwU05BQUlJSUlBQUFnZ2dn
SUJKQVJJUWs5VkcwQWdnZ0FBQ0NDQ0EKQUFJSTJCUWdBYkZaYjBTTkFBSUlJSUFBQWdnZ2dJQkpB
UklRazlWRzBBZ2dnQUFDQ0NDQUFBSUkyQlFnQWJGWmIwU05BQUlJSUlBQQpBZ2dnZ0lCSkFSSVFr
OVZHMEFnZ2dBQUNDQ0NBQUFJSTJCUWdBYkZaYjBTTkFBSUlJSUFBQWdnZ2dJQkpBUklRazlWRzBB
Z2dnQUFDCkNDQ0FBQUlJMkJUSW1vRE1tVE5IZXZYcUpVVkZSVktuVGgyWlBIbXliTnk0MFIvdC9Q
bnpwVk9uVHRLcVZTdVpPSEdpYk4yNlZhcDcKZlp2TVJJMEFBZ2dnZ0FBQ0NDQ0FBQUlxa0RVQk9m
WFVVMlhHakJreVlNQUFDWUpBMnJadEs4MmFOZk42N2RxMWsrYk5tNHNtSWtPSApEcFdHRFJ0S2Rh
OVB0U0dBQUFJSUlJQUFBZ2dnZ0lCZGdTS1hWQVM1aEw5bHl4YnAzTG16Yi8xWXNtU0pOR25TUk00
NTV4d1pOMjZjCmRPalFJYW1JNmw0L2FZZk1RQUFCQkJCQUFBRUVFRUFBZ1lJWHlEa0IwU1BSbG81
dTNicEp2Mzc5ZkN0SS8vNzlwVStmUG1rUHNyclgKVDd0akZpQ0FBQUlJSUlBQUFnZ2dnRUJCQ21U
dGdoV04rdmpqajVkaHc0YkprMDgrS2ZYcTFjdVlmT2gyMWIxK05EYWVJNEFBQWdnZwpnQUFDQ0ND
QVFPRUw1SldBNk9HY2Q5NTUvcWllZnZwcEtTa3B5WHFFMWIxKzFnQllBUUVFRUVBQUFRUVFRQUFC
QkFwR0lLOEVSTWQxCmpCbzFTaDU4OEVGWnQyNmRYSEhGRlJrUHBMclh6N2h6RmlLQUFBSUlJSUFB
QWdnZ2dFREJDZVExQm1UUW9FRXljT0JBZjFuZWM4ODkKVjZaTm15YXpaczJTN3QyN3B6eXc2bDQv
NVU2WmlRQUNDQ0NBQUFJSUlJQUFBZ1Vya0hNQ01tWEtGSG5ycmJma2pqdnU4QWZ6OGNjZgp5MkdI
SGVidkFhSlh4ZEpMOEVhbjZsNC91aStlSTRBQUFnZ2dnQUFDQ0NDQWdBMkI0bXZkbEMzVXBVdVh5
dkRodytXSko1NlF1blhyCit0WDFYaURheGVxWlo1NlJ6WnMzeSttbm54NHJwcnJYaisySUp3Z2dn
QUFDQ0NDQUFBSUlJR0JLSU9zWUVHM0o2TjI3dHg5d1BuMzYKOU5qQnJWaXhRbGF2WHUxZjMzbm5u
ZjdxV0RvdXBMclhqd1hBRXdRUVFBQUJCQkJBQUFFRUVEQW5rSE1YTEhOSFJzQUlJSUFBQWdnZwpn
QUFDQ0NCUWNBSlpXMEFLTG1JQ1FnQUJCQkJBQUFFRUVFQUFBYk1DSkNCbXE0N0FFVUFBQVFRUVFB
QUJCQkN3SjBBQ1lxL09pQmdCCkJCQkFBQUVFRUVBQUFiTUNKQ0JtcTQ3QUVVQUFBUVFRUUFBQkJC
Q3dKMEFDWXEvT2lCZ0JCQkJBQUFFRUVFQUFBYk1DSkNCbXE0N0EKRVVBQUFRUVFRQUFCQkJDd0ow
QUNZcS9PaUJnQkJCQkFBQUVFRUVBQUFiTUNKQ0JtcTQ3QUVVQUFBUVFRUUFBQkJCQ3dKMEFDWXEv
TwppQmdCQkJCQUFBRUVFRUFBQWJNQ0pDQm1xNDdBRVVBQUFRUVFRQUFCQkJDd0owQUNZcS9PaUJn
QkJCQkFBQUVFRUVBQUFiTUNKQ0JtCnE0N0FFVUFBQVFRUVFBQUJCQkN3SjBBQ1lxL09pQmdCQkJC
QUFBRUVFRUFBQWJNQ0pDQm1xNDdBRVVBQUFRUVFRQUFCQkJDd0owQUMKWXEvT2lCZ0JCQkJBQUFF
RUVFQUFBYk1DSkNCbXE0N0FFVUFBQVFRUVFBQUJCQkN3SjBBQ1lxL09pQmdCQkJCQUFBRUVFRUFB
QWJNQwpKQ0JtcTQ3QUVVQUFBUVFRUUFBQkJCQ3dKMEFDWXEvT2lCZ0JCQkJBQUFFRUVFQUFBYk1D
SkNCbXE0N0FFVUFBQVFRUVFBQUJCQkN3Cko1QjNBckpzMlRLWlBYdDJYa2M2Wjg0Y1dicDBhVjdi
UFBIRUUvTEpKNS9rdFEwckk0QUFBZ2dnZ0FBQ0NDQ0FRR0VMRkFWdXlpZkUKNDQ0N1RoWXRXaVRQ
UC8rODlPclZLK3VtbXpadGt2MzMzMTlLUzB2bG5YZmVrUU1PT0NEck5tKzg4WVowNnRSSjJyVnJK
eXRYcnBTNgpkZXRtM1lZVkVFQUFBUVFRUUFBQkJCQkFvUEFGOG1vQldiQmdnVTgrK3ZUcEkyUEdq
SkZjY3BlSEgzNVlpb3VMNWRoamo1V2Jicm9wCko1RkpreWI1QkdUTGxpM3k0SU1QNXJRTkt5R0FB
QUlJSUlBQUFnZ2dnRURoQytUVkFqSm8wQ0I1KysyMzVZVVhYcEJERGpsRXhvOGYKTHhkZWVHSEdv
enpxcUtQa3BKTk9raUZEaGtpWExsMUVXemVPUFBMSXROdXNYNy9ldDVqY2RkZGRQbkc1NnFxcjVG
Ly8rcGMwYmRvMAo3VFlzUUFBQkJCQkFBQUVFRUVBQUFSc0NPYmVBYUZjcUhaY3hlUEJnYWQ2OHVZ
d2RPMVpHakJnaEd6WnNTSHVrcjcvK3V1aVlrWi84CjVDZHk5TkZIKzIxLzlyT2ZaV3c1ZWZUUlI2
Vk9uVHB5M25ubnlZOS8vR001OE1BRGZXdEwycDJ3QUFFRUVFQUFBUVFRUUFBQkJNd0kKNUp5QVRK
czJ6Ui9VRDM3d0EvK29TWVdPMFJnMWFsVGFnNTB5WllwUFBIUThoMDQzMzN5emI4MjQvLzc3MDI3
ejV6Ly8yU2NmVFpvMAprYUtpSXBrOGViTGNjODg5dnV0WDJvMVlnQUFDQ0NDQUFBSUlJSUFBQWlZ
RWN1NkNkY29wcDRpMmd2ejYxNy8yQjZialA1WXNXU0szCjNIS0wvT01mLzVEamp6OCs3b0IzN3R3
cHJWcTFrdTdkdTh1QUFRUDhzckt5TW5uMjJXZGw1c3laZm5ENXZ2dnVHN2VOZHJYcTBLR0QKWEhu
bGxYN01pTzVELzAyWU1NRVBZdGN4S05vNndvUUFBZ2dnZ0FBQ0NDQ0FBQUkyQlhJNm0xKzdkcTNN
blR2WEp3WExseS8zNHppMAplNVVtRkdlZGRaWm90NnBkdTNiRkNiejAwa3UrZTVZbUZOb05TNitj
dFhEaFF0OXFvdU5IUm80Y0diZSt2dEJXbG05ODR4dFN2MzU5CmY5bmVjSnZUVHo5ZFB2dnNNN243
N3J1VHRtRUdBZ2dnZ0FBQ0NDQ0FBQUlJMkJISXFRWGszbnZ2OWVNOTFxMWJKL1hxMVlzN3VzMmIK
Ti90V0MwMG9oZzhmSGx1bVNZa21LNXE0SkU0NmtGM0hoTXlhTmNzUFVBK1g2eUQxRTA0NFFlNjQ0
NDV3VnV6eEwzLzVpeC9JcnBmbApiZDI2ZFd3K1R4QkFBQUVFRUVBQUFRUVFRTUNPUUU0dElNODg4
NHljY2NZWlNjbUhIcWFPMWZqZDczNG4xMXh6aldoTFNUaHBWeXR0CkhVazFIWDc0NFRKMDZGRC9U
MXRSZE5LYkRtb0xTYnB0emovL2ZQbjJ0Ny90dTJlbEtwTjVDQ0NBQUFJSUlJQUFBZ2dnVVBnQ1dS
TVEKN1ZxbHJSZzllL1pNZXpRREJ3NlU5dTNieTQwMzN1algwUnNPYWtLUjZVYUZvMGVQbGc4KytF
QWVldWdodjQxMjJXclVxSkYwN2RvMQo3WDV1dSswMm1UcDFxaDk3a25ZbEZpQ0FBQUlJSUlBQUFn
Z2dnRURCQ21STlFCWXZYaXdiTjI2VWswOCtPZTFCNk5XcTlINGQybFZMCnUybTkvUExMc3ZmZWUy
ZTgzMGVMRmkzazBrc3Y5WVBZZGFENUs2Kzg0cE9QeEM1ZTBaMXFGeTBkREgvcnJiZEdaL01jQVFR
UVFBQUIKQkJCQUFBRUVqQWpVelJhbkpoLzkrdldUdG0zYlpseTFmLy8rc20zYk5qK0FYRnROZnZy
VG4vckw2R2JhU0MvaEc5NlVjSTg5OXZEMwovY2kwdmk3VHkvTHFPQkFtQkJCQUFBRUVFRUFBQVFR
UXNDZVEweUIwZTRkRnhBZ2dnQUFDQ0NDQUFBSUlJRkNJQWxtN1lCVmkwTVNFCkFBSUlJSUFBQWdn
Z2dBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFD
TmdWSVFHelcKRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJ
UUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FURQpaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pX
RzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJClFHeldHMUVq
Z0FBQ0NDQ0FBQUlJSUdCU2dBVEVaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUND
Q0NBQUFJSUlHQlMKZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVqZ0FBQ0NDQ0FB
QUlJSUdCU2dBVEVaTFVSTkFJSUlJQUFBZ2dnZ0FBQwpOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUlJ
R0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVqZ0FBQ0NDQ0FBQUlJCklHQlNn
QVRFWkxVUk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpM
VVJOQUlJSUlBQUFnZ2cKZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUk5B
SUlJSUFBQWdnZ2dBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0NDQQpBQUlJSUdCU2dBVEVaTFVSTkFJSUlJ
QUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFBCkFn
Z2dnQUFDTmdWSVFHeldHMUVqZ0FBQ0NDQ0FBQUlJSUdCU2dBVEVaTFVSTkFJSUlJQUFBZ2dnZ0FB
Q05nVklRR3pXRzFFamdBQUMKQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdW
SVFHeldHMUVqZ0FBQ0NDQ0FBQUlJSUdCU2dBVEVaTFVSTkFJSQpJSUFBQWdnZ2dBQUNOZ1ZJUUd6
V0cxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVq
CmdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJUUd6V0cxRWpnQUFD
Q0NDQUFBSUlJR0JTZ0FURVpMVVIKTkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NB
QUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJUUd6VwpHMUVqZ0FBQ0NDQ0FBQUlJ
SUdCU2dBVEVaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNn
QVRFClpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVqZ0FBQ0NDQ0FBQUlJSUdCU2dBVEVa
TFVSTkFJSUlJQUFBZ2dnZ0FBQ05nVkkKUUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJO
QUlJSUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVqZ0FBQ0NDQ0FBQUlJSUdCUwpnQVRFWkxVUk5BSUlJ
SUFBQWdnZ2dBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFn
Z2dnQUFDCk5nVklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFBQWdnZ2dB
QUNOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUkKSUdCU2dBVEVaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05n
VklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFBQWdnZwpnQUFDTmdWSVFH
eldHMUVqZ0FBQ0NDQ0FBQUlJSUdCU2dBVEVaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pXRzFF
amdBQUNDQ0NBCkFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVqZ0FB
Q0NDQ0FBQUlJSUdCU2dBVEVaTFVSTkFJSUlJQUEKQWdnZ2dBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0ND
QUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVqZ0FBQwpDQ0NBQUFJ
SUlHQlNnQVRFWkxVUk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JT
Z0FURVpMVVJOQUlJCklJQUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRF
WkxVUk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJUUd6V0cxRWoKZ0FBQ0NDQ0FBQUlJSUdCU2dBVEVaTFVS
TkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUgpOQUlJ
SUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVqZ0FBQ0NDQ0FBQUlJSUdCU2dBVEVaTFVSTkFJSUlJQUFB
Z2dnZ0FBQ05nVklRR3pXCkcxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dn
QUFDTmdWSVFHeldHMUVqZ0FBQ0NDQ0FBQUlJSUdCU2dBVEUKWkxVUk5BSUlJSUFBQWdnZ2dBQUNO
Z1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSQpR
R3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJUUd6V0cx
RWpnQUFDQ0NDQUFBSUlJR0JTCmdBVEVaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdB
QUNDQ0NBQUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFBQWdnZ2dBQUMKTmdWSVFHeldHMUVqZ0FBQ0ND
Q0FBQUlJSUdCU2dBVEVaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBQUFJ
SQpJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVqZ0FBQ0NDQ0FBQUlJSUdC
U2dBVEVaTFVSTkFJSUlJQUFBZ2dnCmdBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FU
RVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVqZ0FBQ0NDQ0EKQUFJSUlHQlNnQVRFWkxV
Uk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJ
SUlBQQpBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFB
QWdnZ2dBQUNOZ1ZJUUd6V0cxRWpnQUFDCkNDQ0FBQUlJSUdCU2dBVEVaTFVSTkFJSUlJQUFBZ2dn
Z0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUk5BSUkKSUlBQUFnZ2dnQUFD
TmdWSVFHeldHMUVqZ0FBQ0NDQ0FBQUlJSUdCU2dBVEVaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05nVklR
R3pXRzFFagpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSVFHeldH
MUVqZ0FBQ0NDQ0FBQUlJSUdCU2dBVEVaTFVSCk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJUUd6V0cxRWpn
QUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSVFHelcKRzFFamdBQUND
Q0NBQUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFB
SUlJR0JTZ0FURQpaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBQUFJSUlH
QlNnQVRFWkxVUk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJClFHeldHMUVqZ0FBQ0NDQ0FBQUlJSUdCU2dB
VEVaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlMKZ0FURVpM
VVJOQUlJSUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVqZ0FBQ0NDQ0FBQUlJSUdCU2dBVEVaTFVSTkFJ
SUlJQUFBZ2dnZ0FBQwpOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlB
QUFnZ2dnQUFDTmdWSVFHeldHMUVqZ0FBQ0NDQ0FBQUlJCklHQlNnQVRFWkxVUk5BSUlJSUFBQWdn
Z2dBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2cKZ0FB
Q05nVklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJ
UUd6V0cxRWpnQUFDQ0NDQQpBQUlJSUdCU2dBVEVaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pX
RzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFBCkFnZ2dnQUFDTmdWSVFHeldHMUVq
Z0FBQ0NDQ0FBQUlJSUdCU2dBVEVaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUMK
Q0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVqZ0FBQ0NDQ0FB
QUlJSUdCU2dBVEVaTFVSTkFJSQpJSUFBQWdnZ2dBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUlJ
R0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVqCmdBQUNDQ0NBQUFJSUlHQlNn
QVRFWkxVUk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpM
VVIKTkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUk5B
SUlJSUFBQWdnZ2dBQUNOZ1ZJUUd6VwpHMUVqZ0FBQ0NDQ0FBQUlJSUdCU2dBVEVaTFVSTkFJSUlJ
QUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRFClpMVVJOQUlJSUlBQUFn
Z2dnQUFDTmdWSVFHeldHMUVqZ0FBQ0NDQ0FBQUlJSUdCU2dBVEVaTFVSTkFJSUlJQUFBZ2dnZ0FB
Q05nVkkKUUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdW
SVFHeldHMUVqZ0FBQ0NDQ0FBQUlJSUdCUwpnQVRFWkxVUk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJUUd6
V0cxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDCk5nVklRR3pXRzFF
amdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJUUd6V0cxRWpnQUFD
Q0NDQUFBSUkKSUdCU2dBVEVaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NB
QUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFBQWdnZwpnQUFDTmdWSVFHeldHMUVqZ0FBQ0NDQ0FBQUlJ
SUdCU2dBVEVaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBCkFBSUlJR0JT
Z0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVqZ0FBQ0NDQ0FBQUlJSUdCU2dBVEVa
TFVSTkFJSUlJQUEKQWdnZ2dBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJO
QUlJSUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVqZ0FBQwpDQ0NBQUFJSUlHQlNnQVRFWkxVUk5BSUlJ
SUFBQWdnZ2dBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJCklJQUFB
Z2dnZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFBQWdnZ2dB
QUNOZ1ZJUUd6V0cxRWoKZ0FBQ0NDQ0FBQUlJSUdCU2dBVEVaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05n
VklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUgpOQUlJSUlBQUFnZ2dnQUFDTmdWSVFH
eldHMUVqZ0FBQ0NDQ0FBQUlJSUdCU2dBVEVaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pXCkcx
RWpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVqZ0FB
Q0NDQ0FBQUlJSUdCU2dBVEUKWkxVUk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0ND
QUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSQpRR3pXRzFFamdBQUNDQ0NBQUFJ
SUlHQlNnQVRFWkxVUk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JT
CmdBVEVaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRF
WkxVUk5BSUlJSUFBQWdnZ2dBQUMKTmdWSVFHeldHMUVqZ0FBQ0NDQ0FBQUlJSUdCU2dBVEVaTFVS
TkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBQUFJSQpJR0JTZ0FURVpMVVJOQUlJ
SUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVqZ0FBQ0NDQ0FBQUlJSUdCU2dBVEVaTFVSTkFJSUlJQUFB
Z2dnCmdBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dn
QUFDTmdWSVFHeldHMUVqZ0FBQ0NDQ0EKQUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFBQWdnZ2dBQUNO
Z1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQQpBc3dmcE5nQUFBakdT
VVJCVkFnZ2dBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFn
Z2dnQUFDCk5nVklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFBQWdnZ2dB
QUNOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUkKSUdCU2dBVEVaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05n
VklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFBQWdnZwpnQUFDTmdWSVFH
eldHMUVqZ0FBQ0NDQ0FBQUlJSUdCU2dBVEVaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pXRzFF
amdBQUNDQ0NBCkFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVqZ0FB
Q0NDQ0FBQUlJSUdCU2dBVEVaTFVSTkFJSUlJQUEKQWdnZ2dBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0ND
QUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVqZ0FBQwpDQ0NBQUFJ
SUlHQlNnQVRFWkxVUk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JT
Z0FURVpMVVJOQUlJCklJQUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRF
WkxVUk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJUUd6V0cxRWoKZ0FBQ0NDQ0FBQUlJSUdCU2dBVEVaTFVS
TkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUgpOQUlJ
SUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVqZ0FBQ0NDQ0FBQUlJSUdCU2dBVEVaTFVSTkFJSUlJQUFB
Z2dnZ0FBQ05nVklRR3pXCkcxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dn
QUFDTmdWSVFHeldHMUVqZ0FBQ0NDQ0FBQUlJSUdCU2dBVEUKWkxVUk5BSUlJSUFBQWdnZ2dBQUNO
Z1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSQpR
R3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJUUd6V0cx
RWpnQUFDQ0NDQUFBSUlJR0JTCmdBVEVaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdB
QUNDQ0NBQUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFBQWdnZ2dBQUMKTmdWSVFHeldHMUVqZ0FBQ0ND
Q0FBQUlJSUdCU2dBVEVaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBQUFJ
SQpJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVqZ0FBQ0NDQ0FBQUlJSUdC
U2dBVEVaTFVSTkFJSUlJQUFBZ2dnCmdBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FU
RVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVqZ0FBQ0NDQ0EKQUFJSUlHQlNnQVRFWkxV
Uk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJ
SUlBQQpBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFB
QWdnZ2dBQUNOZ1ZJUUd6V0cxRWpnQUFDCkNDQ0FBQUlJSUdCU2dBVEVaTFVSTkFJSUlJQUFBZ2dn
Z0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlNnQVRFWkxVUk5BSUkKSUlBQUFnZ2dnQUFD
TmdWSVFHeldHMUVqZ0FBQ0NDQ0FBQUlJSUdCU2dBVEVaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05nVklR
R3pXRzFFagpnQUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSVFHeldH
MUVqZ0FBQ0NDQ0FBQUlJSUdCU2dBVEVaTFVSCk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJUUd6V0cxRWpn
QUFDQ0NDQUFBSUlJR0JTZ0FURVpMVVJOQUlJSUlBQUFnZ2dnQUFDTmdWSVFHelcKRzFFamdBQUND
Q0NBQUFJSUlHQlNnQVRFWkxVUk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJUUd6V0cxRWpnQUFDQ0NDQUFB
SUlJR0JTZ0FURQpaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBQUFJSUlH
QlNnQVRFWkxVUk5BSUlJSUFBQWdnZ2dBQUNOZ1ZJClFHeldHMUVqZ0FBQ0NDQ0FBQUlJSUdCU2dB
VEVaTFVSTkFJSUlJQUFBZ2dnZ0FBQ05nVklRR3pXRzFFamdBQUNDQ0NBQUFJSUlHQlMKZ0FURVpM
VVJOQUlJSUlBQUFnZ2dnQUFDTmdWSVFHeldHMUVqZ0FBQ0NDQ0FBQUlJL1AvMjY1Z0VBQUNBWVpo
LzE5VlJpSU9SWFNXdwpGQkFneTl1TUprQ0FBQUVDQkFnUUlQQVVFQ0RQMzZ3bVFJQUFBUUlFQ0JB
Z3NCUVFJTXZiakNaQWdBQUJBZ1FJRUNEd0ZCQWd6OStzCkprQ0FBQUVDQkFnUUlMQVVFQ0RMMjR3
bVFJQUFBUUlFQ0JBZzhCUVFJTS9mckNaQWdBQUJBZ1FJRUNDd0ZCQWd5OXVNSmtDQUFBRUMKQkFn
UUlQQVVFQ0RQMzZ3bVFJQUFBUUlFQ0JBZ3NCUVFJTXZiakNaQWdBQUJBZ1FJRUNEd0ZCQWd6OStz
SmtDQUFBRUNCQWdRSUxBVQpFQ0RMMjR3bVFJQUFBUUlFQ0JBZzhCUVFJTS9mckNaQWdBQUJBZ1FJ
RUNDd0ZCQWd5OXVNSmtDQUFBRUNCQWdRSVBBVUVDRFAzNndtClFJQUFBUUlFQ0JBZ3NCUVFJTXZi
akNaQWdBQUJBZ1FJRUNEd0ZCQWd6OStzSmtDQUFBRUNCQWdRSUxBVUVDREwyNHdtUUlBQUFRSUUK
Q0JBZzhCUVFJTS9mckNaQWdBQUJBZ1FJRUNDd0ZCQWd5OXVNSmtDQUFBRUNCQWdRSVBBVUVDRFAz
NndtUUlBQUFRSUVDQkFnc0JRUQpJTXZiakNaQWdBQUJBZ1FJRUNEd0ZCQWd6OStzSmtDQUFBRUNC
QWdRSUxBVUVDREwyNHdtUUlBQUFRSUVDQkFnOEJRUUlNL2ZyQ1pBCmdBQUJBZ1FJRUNDd0ZCQWd5
OXVNSmtDQUFBRUNCQWdRSVBBVUVDRFAzNndtUUlBQUFRSUVDQkFnc0JRUUlNdmJqQ1pBZ0FBQkFn
UUkKRUNEd0ZCQWd6OStzSmtDQUFBRUNCQWdRSUxBVUVDREwyNHdtUUlBQUFRSUVDQkFnOEJRUUlN
L2ZyQ1pBZ0FBQkFnUUlFQ0N3RkJBZwp5OXVNSmtDQUFBRUNCQWdRSVBBVUVDRFAzNndtUUlBQUFR
SUVDQkFnc0JRUUlNdmJqQ1pBZ0FBQkFnUUlFQ0R3RkJBZ3o5K3NKa0NBCkFBRUNCQWdRSUxBVUVD
REwyNHdtUUlBQUFRSUVDQkFnOEJRUUlNL2ZyQ1pBZ0FBQkFnUUlFQ0N3RkJBZ3k5dU1Ka0NBQUFF
Q0JBZ1EKSVBBVUVDRFAzNndtUUlBQUFRSUVDQkFnc0JRUUlNdmJqQ1pBZ0FBQkFnUUlFQ0R3RkJB
Z3o5K3NKa0NBQUFFQ0JBZ1FJTEFVRUNETAoyNHdtUUlBQUFRSUVDQkFnOEJRUUlNL2ZyQ1pBZ0FB
QkFnUUlFQ0N3RkFod3k5SkQ5ZXZtTEFBQUFBQkpSVTVFcmtKZ2dnPT0KCkluZGV4OiBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtbGVvcGFyZC9zdmcvdGV4dC90ZXh0LXRleHQtMDUtdC1leHBlY3Rl
ZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkg
dHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKaVZCT1J3MEtH
Z29BQUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFETzJsRFExQkpRME1nVUhKdlpt
bHNaUUFBZUFHRgpsRXRvMUZBVWh2K01LWUswZ3FpMUZwVGdRb3UwSlQ3UWlsRGJhYlhXa1hFWSs5
QWl5RFJ6WnhwTk16R1pHUitJU0VIYytWcUtHeCtJCml5cmlRcnBRY0tVTGtVTHJhMUVFY2FVaWlF
STNVc2IvSnUxTUtsWXZKUGx5em4vUDY0WUFWUTlUam1ORk5HRFl6cnZKcnFoMjZQQ0EKdG5nQ1Zh
aEJOYmhTaHVlMEp4TDdmYVpXUHVldjZiZFFwR1d5U2NhSzlSMlkrTFJ0OWYxTGoyTHY2NTcyK3A3
NStubHZOUzRUQW9wRwo2NHBzd0ZzbER3YThWL0xKdkpPbjVvaGtZeWlWSmp2a1JyY24yVUcrUVY2
YURmRmdpTlBDTTRDcU5tcHlodU15VG1RRnVhVm9aR1hNClViSnVwMDJiUENYdGFjOFlwb2I5Um43
SVdkREdsWThCcld1QVJTOHJ0Z0VQR0wwTHJGcGZzVFhVQVN2N2diRXRGZHZQcEQ4ZnBYYmMKeTJ6
WjdJZFRxcU9zNlVPcDlITTlzUGdhTUhPMVZQcDFxMVNhdWMwY3JPT1paUlRjb3E5bFljb3JJS2cz
Mk0zNHlUbGFpSU9lZkZVTApjSk56N0Y4Q3hDNEExejhDR3g0QXl4OERpUnFnWndjaTU5bHVjT1hG
S2M0RjZNZzVwMTB6TzVUWE51djZkcTJkUnl1MGJ0dG9idFJTCmxxWDVMazl6aFNmY29rZzNZOWdx
Y003K1dzWjd0YkI3RC9MSi9pTG5oTGQ3bHBXUmRLcVRzMFF6Mi9xU0ZwMjd5WTNrZXhselR6ZTUK
Z2RkVXh0M1RHN0N5MGN4Mzl3UWM2Yk90T005RmFpSjE5bUQ4QUpueEZkWEpSK1U4Skk5NHhZTXlw
bTgvbHRxWElOZlRuanllaTBsTgpMZmUyblJucTRSbEpWcXd6UXgzeFdYN3RGcEl5N3pwcTdqaVcv
ODJ6dHNoekhJWUZBUk0yN3pZMEpOR0ZLSnJnd0VVT0dYcE1La3hhCnBWL1Fhc0xEOGI4cUxTVEt1
eXdxdXZDWmV6NzdlMDZnd04weWZoK2ljWXcwbGlObytqdjltLzVHdjZuZjBiOWVxUzgwVkR3ajds
SFQKR0wvOG5YRmxabG1OakJ2VUtPUExtb0w0QnF0dHA5ZENsdFpoWGtGUFhsbmZGSzR1WTErcEwz
czBtVU5jakUrSHVoU2hURTBZWkR6Wgp0ZXkrU0xiNEp2eDhjOWtXbWg2MUw4NCtxYXZrZXFPT0ha
bXNmbkUyWEExci83T3JZTkt5cS9Ea2paQXVQR3VocmxVM3FkMXFpN29ECm1ycExiVk5iMVU2KzdW
VDNsM2YwY2xZbVRySnVsOVduMklPTjAvUldUcm95V3dUL0ZuNHgvQzkxQ1Z1NHBxSEpmMmpDeldW
TVMvaU8KNFBZZmQwajVML3dOQVlVVkRYeExPenNBQUNBQVNVUkJWSGdCN0owSm5NemxIOGUvaThX
Njd5enJKckpTSVZKeWRKQ2NPVU1SblZMawpTa2tzbFR2M1ZTVGt5TzJmNUtvUWtiQkpsdHoza1hQ
ZE4vL244K3oreG05bloyWjM1OWlaMmZsOHZkYjhqdWQ4Lzc3em0rZjdITjhuCjZQcjE2L2YyN2Rz
bkZCSWdBUklnQVJJZ0FSSWdBUklnQVJMd0pJRml4WXBKR2hnZjRlSGhuc3lIYVpNQUNaQUFDWkFB
Q1pBQUNaQUEKQ1pDQVJFVkZTUnFEUTdWcTFhUjY5ZXJHS1Q5SmdBUklnQVJJZ0FSSWdBUklnQVJJ
d0MwRVZxOWVMV3ZXck5GcFdRd1FHQjhSRVJGdQp5WUNKa0FBSmtBQUprQUFKa0FBSmtBQUprSUJC
QUhhR1lZQ2tNaTd5a3dSSWdBUklnQVJJZ0FSSWdBUklnQVE4VFlBR2lLY0pNMzBTCklBRVNJQUVT
SUFFU0lBRVNJQUVMQVJvZ0ZoUThJQUVTSUFFU0lBRVNJQUVTSUFFUzhEUUJHaUNlSnN6MFNZQUVT
SUFFU0lBRVNJQUUKU0lBRUxBUm9nRmhROElBRVNJQUVTSUFFU0lBRVNJQUVTTURUQkdpQWVKb3cw
eWNCRWlBQkVpQUJFaUFCRWlBQkVyQVFvQUZpUWNFRApFaUFCRWlBQkVpQUJFaUFCRWlBQlR4T2dB
ZUpwd2t5ZkJFaUFCRWlBQkVpQUJFaUFCRWpBUW9BR2lBVUZEMGlBQkVpQUJFaUFCRWlBCkJFaUFC
RHhOZ0FhSXB3a3pmUklnQVJJZ0FSSWdBUklnQVJJZ0FRdUJOSllqWncvNjlIRTJKdU9SQUFtUUFB
bVFBQW1RQUFtUVFNSUUKK3ZaTk9BeEQrQTBCMXd3UUtFTy9maUlSRVg1VFlSYVVCRURneG0yUlEr
ZnVFVVlLSkZBb1I1Q2tjKzNONWxVcVo2N2NrM05YdkZvRQpadTRCQW1tVlRoWld1dW5QY2xDOU0y
K3FkeWNsWlJISWtWRWtWMFlmMTAzRCtEQStVOVlqQ01qYXVQNHozYnUzQ0VkQkFsSjUvTG5TCk4y
K0k3TmxIQThTZm42Rzlzb2NXVXdaSU9udDNmZi82dWRQM1pNOXAzeThuUzVnMEFwbVVUaFpXdXVu
UGNraTlNeStyZHljbFpSRW8Ka1ZzWklMbjlRRGZ2M2sxWjRBTzhObHdERXVBS3dPcVRBQW1RQUFt
UUFBbVFBQW1RUUhJU29BR1NuTFNaRndtUUFBbVFBQW1RQUFtUQpBQWtFT0FFYUlBR3VBS3crQ1pB
QUNaQUFDWkFBQ1pBQUNTUW5BUm9neVVtYmVaRkFDaVp3NC9vMStYUDFqeks2ejF1eUkvTDNGRnhU
ClZzM2ZDSnc5ZFZ5V3paMG9BN3MwODdlaXM3d3BtTUM5ZS9kazc0NUltVG0ycjh5ZE9EQUYxNVJW
STRINEJGeGZoQjQvVFY0aEFSSUkKTUFLYjF5NlZpUU03eTdHRHUzWE5uM2kyWVlBUllIVjlsY0Iz
b3o2VlJkT0d5NDFyVnlWZFNBWmZMU2JMRldBRXpwdzhLdU0vN3lBYgpWeTNXTlgrMlFlc0FJOERx
QmpvQmpvQUV1Z2F3L3ByQTdWdTN2RXJDMi9tN1d2a0tUOWVXY2YvYkxzRnAvZGo5bEtzUVBCVGYy
N3JoCjdmeGR4ZnBxeDgrazY4RHZYRTJHOFcwUThLWnVlRE52R3lpU2ZDbFgzakQ1ZE16L3BGcWRG
a21PeXdna2tCSUkwQUJKQ1UrUmRYQ1oKd09EdTN2c1JPUFBmTVprMHBLdkxkZkIyQXFuVHBKSHN1
Zko2dXhncEtuOXY2OGFxeGRObDAyOUwvSjVwcmdmQy9MNE92bFlCYit1RwpOOS9aN253VzFFMTMw
bVJhL2tTQUJvZy9QUzJXMVNNRUZudzdWUDc0OVg4ZVNUdWhSTy9jdmkyRHU3MHNGOCtsakkwZmdv
TDh3SmQ4ClFnL0ZSKzU3V3pjTzc5MGhZL3ErSTVpbjd1OUN2WFR2RS9TMmJuanpuZTFla2lMVVRY
Y1RaWHIrUW9BR2lMODhLWmJUSXdUVy83eFEKcGd6N3lDTnBKNVRvWGJXcDB1Z0lMdGhPaUZNZzN2
ZTJibUIrK21mdk45RHJKZ0tSUCt0c240QzNkY09iNzJ6N1ZIaUhCRWdncVFTNApDRDJweEJnK3hS
RDRlZEZVR2ZYcDY0TEdIbVJBNTZiNjg1RW5ucFVYbTcramozRnZ4Znh2WlB2bU5YTGczNzhsVjk0
Q2d2VU9MN1o0ClYxS25UcTNEWEl3K0sraVJPNmM4N1JpQ3FVaTFWUnFYMUwyVkN5Ykw5V3RYSkNo
VktxbFlyYTQ4VmJPeFlQN3kwQjZ0Wk4zeWVUcksKanI5K3QrVGYvSzFQcE9oRGp4cEpPZnpjK2Rk
Nm1UTnhnS1JKRTZ6cmNlVlN0SVNYZjFwYXZkZFhVcW44RExsNTQ3cEUvcjVjNTFlNgozRk82Zm4v
OCtvTTZueXU3Ly9sVEhuNjhtbzZUSTNlb0VTWE81OTkvL0Nxcmw4eVVDK2RPeWVGOU95UnZXRkdw
b3hoVWRyRFkvT3FWClM3Sis1UUxab0l5ODQ0ZjNTSGk1S2lxUGZtcWExZ054MGpaT3R2N3hpdzZM
OUs5ZHZpaUZTNWFWUnlvOUt6WHF0VEtDV0Q3aGNRdWoKVmt0blQ1QlBSaTZReXhmUHk3eHZCc20v
Zi84aFE0Y01raVlOWHJTRTliZURXMG8zQm5kTFdEZk9uejRwUzJhUDE4L3ZySnJHVjZoRQpHZjFj
eTFTb2Fxa3k5T1BYSDc2VEc5ZXZXcTRoWE9OMjNRWDZ2MjNqci9wNitneVpwTUdyblNSLzRRZmwy
S0U5MHV2MTUrWDBpY1A2CjNvTEpRMlNOZXZacDA0V290UlRUTE9rNE9zRG96Zkw1azJUdDB0bDZX
aDZlRDc1TDlWcTlMNVZxMUlzVEZSNnFvQ08vcjVnbm5mdFAKbGN4WmMraTRmNjVlTEpjdm5KZXFM
NzRzVFY3L01FNGM0K1RPblR2eTA2eHhndS9QK1RNbkpmcnNmMUx5a1NlazZSc2ZTVmlSa2thdwpl
Si9IRCsyVnRjdm55QisvTE5McmxpclZxSytaeEF1b0xxQXVTK2Q4cFhScmczYXlFSkl4c3hSNXNL
dzhveFlORjN2b3NYaFJNRzN1CjEvOU5VeHgzUytjdnZsVlQySDZTUlZPR1NXcjFkVnk2YUpia3la
TW5YaHgvdVhEMDRCN3AvbXJDdXJGOXkxcFp0MnlPMHMxTitqMzAKNE1NVnBlbWJIOGY1N2krZHJa
aHUrMFB1eGI1LzA2WkxyOTRuTDBtcFJ5dkwvRzhHeTVuL2ptb3NlT2ZpZlliM2JXTGUyUW14eFBk
bQoxb1RQNU1UaHZaSXhjMWIxVGp1dGRiUmQ5NkdTNjRIOGNhTHYyYjVaZmw4NVgvNDdla0I2ZlBt
OUhObi9yL3k4OEZ2WnJKNXA3dENDCjByQk5aM20wOG5OeDRoZ24wSU1mdmh1cDh6bXU4Z29PVGl0
UFB0OVlmd2RDTW1ZeWdzWDdOTjZEZjZ2M1lZR2lEK24zckwwOFRwODQKb25YejRPNXRjdnJrRWYx
ZUxsNjZuTlJ0K1o2dW0zWGllRDh1bnpkSi8wWlVlN0dGL0U4NVoxajE0d3g1dmxadG1UaDZzSFZ3
bnBPQQpSd25RQVBFb1hpYnV5d1FLRkMwbExUdEV5UFRSdlhVanBIYXp0M1Z4YytUT3B6OHZYNHlX
b1IrMmtpS2xIcEZtYi9hVWExY3Z5YXh4Ci9lU3JBWjNVUzN1NjlQOTJsYVJYWG5XeVpNc3ByM1Vl
SU44TTZTWUxWVU1EOHRuRTVlckhvSWorUTBNTURhU0k4VXNzamFJN2QyN0wKQzAzZmtpdVhMc2hm
NjFmcUh4b2ovMXloQlhRYUNmMjNac2tzR2FMSzkxcVhnWllHMnM2dEc2UjdxNmQwNDdITGdLazZp
YjFSVzJSRQpyM1p5Y1BjLytqeC9vUko2YXMzMnpiOUp2b0xGWTM0Z1ZhUHp5UDZkTWtEVkNXczVE
RUVEYjhhWVBySkZlYm42ZVBoY3lWdWdxRnk3CmNsazZOSHhZdnVqWVNISDVXRnAvOElVUjNQSjUv
dlFKNmQ3eVNVbWxHZzM1Vkg3SER1eVNJL3QyNmpJTW5McEcwZ1FIVzhMZXVubEQKSmcvOVVEY0lY
KzgyVk5wMUd5Sm9VTU9nK1BLalYrV1hSVlBrQTlXUXc2Sk5DRWFzbHFoRzU3V3JsL1g1ZjhjUHlw
RHVMWFU5ME1pZApOR0djWHhzZ2FQQW1wQnU3dG0yVVViM2ZsR1p2OVpUbkdyNm11RzdUei9TM243
NlhsdS8yVVhyZFI3TjU2TEVudFdIU1RUMExHSGFaCnNtYlhMSEd6UnIxWEZQZnVVdTZwbXZMR2gx
OHFBeU85amdOanR0Tm5reVNpZlYxbEtOK1V4NnZWa1pKbEs2bUdaSXpCclFNNStBOVQKdGdhcGFZ
VXdJTVlzM0diUmVYaEorNkpUSTYxSGh1R0tSdWczUTd2SjlhdFhkSXJIVmFNZHVwQWxleTV0dkIv
WXRVMzIvN3RWRzlobwo3SmtGaHN2Z2JpMmthS2xIcGRQbmsvVjNFWWJ5SjY4L3B3M3J6eWV1RU5U
ZldtQVFJRjdaaXRYbHJ0SnZ1SXpHSDhwdGJlaWNPTHhQCnNOWWdROFlzdWhFTURqdVZJVEt1YjN0
WlBIT01OblFNWXg5R3pkUVJIMnVqRzJuQjRJYUJEN2ZVK0o1RGZ2cnBKM250dGRmMHNULysKbHpv
UnVqRmZHYXgvL2I1Q1htNy9xVzRJdzdDRUo3SmZmNWdtZmRRNzhDRmxZRUJxTjM5YjYrWkhyOFU4
aDVxTlg1ZnlUNytnNzZFVApxUGZiTDBqSGZwUEU3QjBxb1hlMmp1emdQelRZdTd4Y1NSc1BRMmV1
MThZUk9rbzZOM3RjUG55bGlnejdmcU5reTVsSDBHRXo0cE8yCjhwc3lvQ0g0RGZoOXhYeVpPS2l6
bEZJRzd0blR4K1hRM2lqNVIzVk1qWmk5U1FvVWV5aE9ycEdxL21QVjlNVTNlZ3lUdGwwSDZYdmoK
UCtzZzAwWitvdlJqdmd5WXNscXNqUkM4dThaLy9wNDIyc3VyVHE2TDU4L0lCbVVnUjY1ZklVTm5y
SmNpcWtQR0xOQ3RNUkZ2cTA2SAo5dEsrMTFpVlhtWnR5SS9wKzdiODlQMTQ2ZmpaTjFLK1NpMGRC
YU5HZUk4ZjJyTmRueGN0K1lnTTc5bEdOcTFab3QrajM2aTZEQi9RCld6SmxzbThZbWZQbU1RbTRn
NERxazZHUVFHQVNRR1BDNk1GRW94dTlUUGdyV0x5MEJqTHM0OVlDWTZETkIvMzFOWVQvWk5SQ3la
UWwKbSs3Wm16cjg0empnMm53d1FEZUdjQkVOWk1nNTFSQmZyMzY0K294ZGJHbUk0WHE2OUNFNnJ4
eDVZb3dkZkJyNXc2QkpqRXdjM0VVSAplN0RNNDViZytISFBtaU8zN3ZWR0F3MVNQTHk4akp3WEtZ
V0toK3Z6SDZhUGtuSlAxcFFKaTNkSTc3RS95SWk1bS9WMU5NTDI3dGlpCmo0My81cXJSbFI5VlEr
dUxiMzdXeGdldTQ0Y1RQZG1RK2Q4T1ViM3IxL1N4K2IrRlU0ZnBSdUhvQlZ0MWd4UDVROUFEdDIv
blgrYWcKdW5HeWVNWm9nZkdCMFE2d3lWZW91THdYOFpXVVV6K2c2QkZFZzlaWWl3Q0RxN1Y2Sm9a
OE43S1hOdmhHcWJ4ZWFQcW1kT3pjemJqbApsNS9wUXh6clJ2VFpVOUxyalpyeTFrY2pwSm9hSFlD
aCs4UXpEYVNUYXF4QlpvM3ZKK2lCTmlSRHBpelNiZkFNYlZoaVJBR2pFaEFZCmRxRUZpdWxSQjhQ
NHdQVUg4aGZXdW1pTThCVlRQYXJRemJLVmF1QjJnaElWdVU0M3d0Rm9ONDlDd0RVekd2d0xwM3hw
U1FPTjBLRXoKTjFqTzBVRHJOWHFoZkQ1cGhVQjNtcjRaTXozeWY5K05zSVRCQVF6anZzcEFncTYv
M1hPa05qNXcvWkVubmhIMHRzUGw3Z0pUUHJnSAp1YWwwRlViYXBHVjd0UWVpa2ZPMlNQTzNQOUgz
ak8rc1BsSC93VER1ODg2TGNsd1o1OTJIekJTTUhPSTlVVWFOTU9KN0E2Nnp2L3BDCjhIMkNRR2U3
RFpxaHl2Q3NQaittUnYzKzJiUkdwdjkyVWo0YU5rZnFObjlENnRTcG8rLzU2MytoWVk1MTR4YzE4
b1AzUmEvUml3UWoKY1hqKzRQdE0vVmZWS0dXMDRKMTZYVDBiUThDMFJmdmUraFFOYW94R1FQQmVl
YlhqNTNHTUQxeFA2SjJOTUk1ay91VEJlcVFNNzBSagpoRGlEYXJqam1aMDZmc2p5M2NEMzRjT2hz
NlRGdXpGbE82cEdQakFpTVduWlB2MHN2MTE1U0JzbDBETjBNSm5sb0dya1I3U3ZvenVHCllHaGpq
UWYrR3NlTzRtSGZEMXVPSFRBYWg5SEphYXVQNjVIR3lTc1BDa1l6a0FlTU43UGdQVHF3UzNQRnVK
cnVBTXF0ZnFmd3UvUjgKbzdiYUdNRzcvNHVPTDZsT21YMDYycFBQdlNSOXhpMjJlQ25FOTZtcUdn
R1p1dXFvTnF3NzkveUN4b2NaTUkrVGhRQU5rR1RCekV4OApuWUQ2aVloVHhHMGJWK2xOOVdvMmVq
M085ZUMwYWZWTEh4ZFhMcHhzYVJUakhMMzY2S2xISXdYVGc3QXAzOGhlcjB2emQzckY2eUZECmVM
TTRzeEFSdy9QNG9Td1lhMWdZNmFFbkRJSXBCb2FnTWZtQWFxaENLcXNmb3llZmIyVGMwa1lZZnNB
Z1dGeHFDSDZRNTN6ZFgwOEIKUU0rNVdXcXBoajZtYlZXdjAxSWJET1o3T0c3eWVnL1ZFTHh2R0tI
M3poakJPS3g2Mnd6QnFBejJhTWltcG1WWlQ3VkNBNkZkMTVocApBWmhLaEdrd2hqeXNlcThOcVY2
M3BlVEpWMGdLcXg5dkdDMVBWN3Qvendqano1L1d1b0dlVEV4VFFtUGJMQTgvWGwzckhndzFUQk14
ClMxR000cW5SRXNpa3dWMEZqU1NrQS9lMGhxRmhEbTgrdHY1dW1PL1pPczZSSzFRM3prdVlER09F
TS9RU0RYcXpZQlRPRURRNjhTd04KZ1dFRlFjODFSdDRNd2RRN2pJeTgvSFl2NDVMbEV4MEc2TEYr
OHJuN09tN2NCQnZvQ0F3WFF6RENBOEdVTTNNZTh5WU4wc2JITS9WYgo2MTV4SXp3K01SSlk1K1Yz
OWFYdlJ2WFM1Y01KM2cvR3FBdW1FYjZpcGh6Q05YV1ZXazJrMnhkZlMrN2M5L1BWa2YzOFA3TnVv
Q01DCkJtVFYyaTlMK2d3WjQ5VHNNZFhoQVVHRE9FcU52Sm9GbzZoNFhsY1ZMNHdpcjF6d3JkeFFJ
MktOMmpydVNERG5iVTdQMFhIK3dpVzEKTVdEdXRFRjRHQ0VRR0kxbU1YUXpqWm8rOVc3dmNaYVJX
M1RDUFBwRXpOUXJqQ3lhQlNNZE1PeXIxR3BxdnF3TmV4aGpNS0tzODBkQQpUSjNGMUY5amRCZ01q
ZmNjUmxzTWdmR05rUStJTFVib2hNR29NMFp4akhBSWkrK1Y4UnVBMzR3bm5xbXZ2NmN0MUVqVjI1
MjhzdzRTCjVhSUVMb0g3Y3kwQ2x3RnJUZ0p3UlJLSHdySzVYK3Z6WVdxWTJyb0JlRUgxUUVNd2JR
UU5veno1Q3Vwei9JZUdIdVk2ZnovK014blUKdGJrYXJxOHM5Vi9wYUxsdjc4Q1pIOU1CMy80cW1E
NWcvSGlpY2JWMXc4OTZQUVR5TWFaOUdIa2FVMmlzNjRQNytRcVcwSFU1ZCthRQpFVnlXemZsYS80
aVZDSzlndVdZY0lNOEJVMVlacC9FK2piek1Od29XS3kxWXdQcmZzUU9XeTJ2VlBISDBpdU1IMjVZ
VWZ2QmgzVGpCCitodjBFQnByYzh6dWZ0SHdUc2xpMWcxTXo0TGhHeHljVHRyWEQ0OVg3YUNnbUQ0
bFRIZXpGcXd0d2xvTEdIMWQxVFNVMTlXMEsvVGEKSnloVzM0MkV3aVBONzlhYzBOT21qTERRVTh5
Ymg5alRTOXl6MWszb3BTRlk0eEdTTWFhODZNRkZRdzNyaEt3Rmh0bm8rWEZIMmN4aApVcWVPKzdN
SHZUUUUwL2xneUVJd054NFNXdEMyYnFKWEh5TWc2S0grYThOS3FkbW9uUTV2NkdhaEVnOUw1bXc1
OUxVVSs1OUpOL0I4Ck1YVVNhOFgrWFBOam5DcmZVbzFoUXpEVjA1aHFoV3Zvc09uOCtiZnlRZlBI
OWNndDFxcGhWTXdZb1REaXhmczA1UjN2bnAwTDlWcTkKSjg4MmJHTjVaeUlZcHM1aG1pcmthdXhV
T1gyaS9qUGVZOVo2aWZ1WXlnckJkRk5ETUxvYnBVWWZzVzdKVmh6c1NZTS9Xd0lPMWxJZwpWamV4
QnNVUVRLTXlwdFBhZTI5aTJocW12ZjJ0MW5pWmZ5T2dteGpOU2VudlRJTVZQMzJiUUh5TjkrM3lz
blFrNEJFQzFqOFcrSkhFCkQrRG8rVnQxcjJaU01rV3ZMQnA2K0tFb29LWnpXYWR0TXkyckg5T2ZW
QTh2ZnN5dEJkTmpNRmZhRUJnQ2FOQmhkQUJyT2lwV3J5c2gKYWtFeHB0b1lVNWFNc0k0K2JaWHg0
SjZZTlNNNXJSWm1Pa3JIMFQzanh4eHpuUTB4NWlTYmU3Mk5lOGJuUTQ4K3FSMEFtSHNCYlpYWApD
Si9pUGsyNmNmTG9mdTNBNEhIbHpPQ1RrZk9UVkZWamhBNXo0TkZiWGFoNFRFTTdvVVRNcktGWG1G
NW5TNkI3Nk4yRllCb2RCTS9zCnh4bGo1TXJsQzVaN3J1b2xwdkNjUExKZmo2Z2wyRWpWcFhEOG42
R1hDR1VzaUVidnNUR0NhRTgzc1dBZjB5WGhoTUk4cW1jMkdCM24KN1A5M3picUJkeWJrZGJXWXUy
cnQ1a21xSEp4dVlDVGsrd21mSzkzSm9FYWNIa2d3dmpsdkJJN2FzazQ3MnJBVkVVNEpqRkVadkRP
aApnMWhmZ2IxTTRGQWplNnp6amFUb3BucXh4OHZLTUF4eTVvbTdtRDFld0VSZU1IVFQwRXRFTTk2
WitENW56NTNYWmtwNFp4cHlSSTNRCkdOOUxhMlpHR0g2U2dEY0kwQUR4Qm5YbTZYTUVyRi9NL3gw
N3FMMzJ3SHVUc1hZaXNZWEdEd1BpNElkaXljeXhVdldGNW5yK3VLUDQKMXZuRDg1YlJLMmVPaDJG
NnN3R3lhT3B3dlZpN2RhY3Y5QnhmcEdQTXNiZE8wNXhPWW82TnFUSVl0VEIrd0JJVEx5bGhvcFZY
TGNnVgpOVC9jbnVSV1huQWc4TUNGQm9LcjliS1hqNjllTjljWGVnazVldUJmL1puVS94N0lWMWd5
WmM2bUc4MGpsUWM0ckxNd2pBVjdhWm56CnY2eThyS0hYMzVhZ2Q5WFFrMHZSNTJSQy8vZGxqL0tD
MUhQVUFqMnFZS3o5TWFkbks1MkVycDA4c2svckFVWkVNQjBsb1Nsa0NhVm4KNno2TUNxTXhpclVM
OWdRZW1oQVczcmNDVWN6UDBxS2Jxb2ZkR1NrYTYxRU02V0JhMjV0cUFiY2pNZWVOY1BCU1prODM0
UlhLTUVDdwoxbTM4NXgzMDFOWE8vYWZvMFpBcHNldjVyTk4wbEwrdGU4WTc4MnlzQnk5YllWeTlo
dmNnQko0VVlZekRFWXExUUM4Tk9YOG1NSFhUCnFEOC9mWmNBRFJEZmZUWXNtUmNKWUZFNDVpVHYz
N2sxeVFZSXZLV2NWRVBtV0d1QmtSQ2pvV2RlNkp0UTFYcU9tS2VuUDFtSFErK2cKSWZBV0JQZS9X
T0NLT2VidUZ2UkNIbFhlcStDbUY2NkRQU0ZZcFBxdjh0eGx1SHkxbFVmYTJONzAvSVVlRERqanc1
cUg0YlFBdmZPWQpBbWcwcXF6RDJUc2YyNis5bW9MeW1sNkFqc1lTUE1DOTNuMkl2ZUR4cm1QWDVn
ay94dlIwVzk4MGVxMWhmTUFUMVRubEtRaGVzT0JWCnlKMWk1SU1HMkFHMURnUUxpdDB0T2RYM0gy
eGpwbGtldHB1OFJUZlYyb0pBRnpDRFlHMU9VdVdDOHZnMGNlQUhla0UwMWliQmZXMlYKbWswczYy
a1NrMTZ0eG04b0Y4LzFiUWFGVnpYSXRqOVhLK2NGZGFTU1dsdlViZEIwdDc5UEROM2NFN1ZaZDJD
NVk0VE91a0w1MVR2VAprRFBLOWE3WjBZTngzZEJMbk51NmI0VGpKd2w0azBBcWIyYk92RW5BVndo
WTkzeUZ4VFlvRmlodkxPWXBRK2J5N2xmckVyQlExU3pvCmJmcXFmMGZsQW5HU1piSHJzWU83ZFVQ
UEhNNzYyRHAvVFB2QUQ0ZjFuN0ZZSEhuRCtNQmlXdk9DY3V0MFhUbkhJbmNJcG9PaFVXbEwKNEkw
RlBZck9TbUcxbndJRUN6bmhOOStXR0hPc3NWQTFFTVdzRzFnVWkwWU5HdDlZdkc5UDVrNGNLSEJo
YXhhNGJZYmhBaTlpNy9ZZQpyMjloSHdDNDlIVWs1dnd4dW1ldGs4WTV2UEJBTUFLSFJpajJQSEMz
OFlIMGthYmhGR0cyY3BKZ1QrQ2RDcHljRWRTNXNGckRBZG1xCjNHVGJFNHR1S3JlbWdTaG0zY0FD
YndqY0w5dGFnNFI3bU5vR3h4eldnc1hTTlpVQmdRWFJUNy9RVEk4K3dYVTR3dHNUYzk0SUE1MHcK
ZE5INjB4Z2xHOTNuVFQzOUVDN1ByZVBieXljcDF3MTN2RmhzRDY5ZXRnUkdMZHhQT3l1R1hpSStY
TGpiRWtNdjA2blJrVkNUa3dkYgpZWG1OQkx4RmdBYUl0OGd6WDU4Z1lIam13VG9LYzJQRm1PYUVS
aHdXbEZzTDNPc09WQnNYVmxOZW9NeUNIempFeFVMV3JLclg3WjFQClJ1dmJpOVM4K1YzYi9qUUgx
Y2RHL29iN3lYZ0I3Rnd3TnBEREJtOG9peUZ3MFJvZE8rU092VVlTSzhaMEUzTjRMS1NFWEZNTGlM
R2cKSG9zWnpZTEZtNWdDWm5qOXdiMzc2ZHd6QjlYSGxudHFHcFVoMk1NQ0RVcmN3K1p0dG1TWEdv
RkJvN3R4dXc5dDNVNngxMnpwQmtiUgpESjNEZmdzd0FLMEZtMXZDR1lGNTN3QzQ1Y1QrTlRDTTBS
akRpQmtNVnhqWHc5VitCM0E1YXkyMjhyY09ZK3NjQzE4aDVuVVJPRGNNCm9ydDM3K0EwVVdMUkdh
dlEyRVFOZ2hIR0JkOSthWFZYOU9haG1EOFBnd2xpVHNkODdPaGVFN1Z1QUFLM3d0QjFhOEdHZGhp
NWc2TUUKdzVPV2RaaVVlbTVMTitDeERHdGlvRk13S0xCZXlDemdqcjAxU3BpODQrRStOc284cmpw
cHNFNEQ4azZ2TWRyTEd6cHVNQnBpTFViZQoxdTlzNjNEVzUzQVlZcmlsdGRiTmc3SEdlbExlbVVx
cHJMUFFUa2V3UVNFRUhWSFcwMmhoVUkxU3Z4R1BxYjEzRERIMDBmZzBydXZQCjJEenV5ZjI4MEFr
RnozOFFhMjkzK3FMNkQ2UFdrTVp0dTN0a2lxSk9uUCtSZ0lzRWFJQzRDSkRSL1p1QTBUdUVsei84
dkVOK1hqaEYKNzhacnpHZWZPYTZ2MmhTcnRxeFFPNXBqWjIvMHpMM1hzS3llTG1DTVNDQWVlclV3
WmNuWVZ3RFgwSnVIRGNud293d2YrTlllZ0F3MwpqL2pCd0QzOFFQMm8xbzBrSkpteXhMakZoVmVr
S2NONjZCOVd2Zm1WbW1LRFhhMGg4TWFDUnRLcDQ0ZjErZFVyRi9VbmpCWnJ1WFFoClpvUUQ4K29O
Z1p0ZGVJeUJZQytPRDVxVTEyNHlNU0l5VHJtYTdOS2lrcnp5ZnI4NFBZbllpUjFpYTk3OC9YdjM4
MGV2K1ZzZmo5UngKTU5xRVJvZFowSlA2ajVvMlVhZEZoemdOYXF4TE1jU1pLUjlHWEYvK3RLY2Iy
T0FOYmtGaEdQWm9YVlZOWGVtc0Y5UmlINHRQMzZ5bApubEZYdGJmSEZFdlZzRTVpZU0vWDlJYUZ4
cjQzdVBsbWorSGFBeEc4NG1BNm43VVkzdzE0ZUlMZ1dXQVR2NFRFMEUwNFJZQkxWYmh6CnhnN1dS
bU1KT29zTk03RkxOZ1QxTU1SYU53Mjl4SDJ6Ym1MTmsrRnRDcHNwWWwrVU9WOFBVS05DSTJLK3Ey
b04xWXN2dHplU3RYaUcKd3dWREQ0MmI1bk56L25CVGltbVVrSEhxZTRWeW04WHdsSWRPQnFPSEhm
ZU5IYnl4S051V1lXZE93MStQYmVuRzlpMi9TWk0zZXVncQp3V2pyMktTY3dFaUd6a3hUZS9XODI2
Q01Xck56VzR3TlZ4RVFVMVcvVm9ieCsvMG1Xb3hGZE55MDdCQ2gwOEZvR2x5aW04WEkyL3FkCmpi
VTRqZ1Q3dGhpakhuQ2tnSkUvR01YWTJQUmtyR2MrR0NLWURtYXNWekowRSs5bDY5RVlRemZQbTli
L1lEM0d1NS9HdkwvUnFkU2oKVFRWdDRPTzdPWE5zWDNsWGVhNkRWMEhzM1dPSW9YTzIxc0ZoelJY
RTJwaDc0OE5oZXNRSDVWeWlOaDAwQy9SMDJieUoybFcwOFR5TQorOFo3TTZXK000MTY4dE0vQ0tU
dTBLRkR4TGh4NDZSNjllcjZMMG5GWHJNR1hVdHFTOTBhU1lyR3dDVGdiUUkzVlNmc0lkVU9oa2NV
CkdCN295VnlqM0VjdW56ZEo3Ujc3Z2w1TWkzMEVzTEFSOTlCenRuSFZEd0szc1hBaisrWkh3L1ZP
MHFnSFBBcXQrbUc2alB2OFhiMHYKQmphMXdtN1NFUHdZSERtd1U2OXp1S1IrSUdGb1BGaW1vbVVm
Z3N4WmMrcUdHWDdNc0JuZmhwOFhDTnlsWXA4SFJ4Sld0SlR1NVlhbgpySVBLclNyaXdrTlNoejRU
OUdnQkduKzdWTzg0WEZyV3FOdEtmOEliRVJvQVoxUlBJRVl0c09QN2pldFh0V0ZsTkE3UnlNT2Nl
dlRpCjRjY2FMT0RCQ09WR0diRmVBN3Zub2k3WTJSMGJaMEh3WTR2UmtDMXJsK2x6VEFHQUwzcE1K
UU1mYkx6MXcvU1Iyc3NRMWdiQWd4QWEKRXNnRGFlQVBVemZnYWhmckhEQ1hHaU5HZzlVR2hQV1VH
K00yYXFkNWhFV2pBL1hGaG1LR054ak1nOFpVTk5RSCt6QVV5aEVrNmZ4NApkZHZacTJvRFMvVm5U
emZnNXJhTU1nNngxd3hjd0tJaGhjMEY0UVkxWTZhczhyRmFQMlFZTDJod1lQZG1qQlRBV0lRWE5h
TVJCcFliCmZsbW9kMXpHODhWMVRPOHdGcVZqTDRZdDY1YnA2VlJMdmgrblI5b2F0dTZzZDdmWEQ5
bk9mM0JidTE3cE1ScHMrTTRnTGh3SmRCa3cKVFUxTG1hTjFaNlV5NW9QVmFFNFJOWFVKbTEwYTA4
QmdoR1AvRURSQ01lb3dmVXh2eTNPK2NlMkt1bGRCYjdpR2thQkt5a0NBanA5VApvenZRZll5OFFO
OWhaSDAwZks1bFozYzAwckE0MmVqOWhpR082WVg0am1IMGNONDNnN1Yrb3pvWHpwL1c4WTE5UXJD
UkhOYUMvYmIwCmUyVWM3eEo0aElNTDVKOFhUWkgvS1dNSEcrNFplelZnRDVHZGYvMHVjeWNOMEEx
RzdDSi9YWlU1WSthczJtTlhXcVdUaFpWdStyUGcKbllsM3B6M2RnSk1NOU5adlZ4c3c0bGxpSkE3
dlZYU0dZRE04N01GaWpFckZiS2JYVE5LcWRXMHZ2ZFkxem5xbXUrbzlCUjJCamtLSApDaXQzeXcv
a0w2TGZiWTdlMlk3WTZqVjRxcm1Dc3VCZEJrY2ZlTisrb0taajFXcnlwdllraVBmWUVyV1JZc1hx
OWJSekFlZ20zckVZCnRjTzZDdWdOdmgvNHpjQWVTWGdQWWtwVlZqV0tXNkRJUS9yOWczY2JwbUp0
VllZN2RBSXV4UEhkM0xsMXZieWlYUERXZitWOVhVeU0KdVAraDZnWTl1bjcxc2phdzRUMEw3MFYw
TUNEZTl4TSswOWR2M3JpbXIySEtLdXFCOVVsUFB0ZFlmVy8rMEp6U3BjK28zNXQ0ZjAvNApBdW5m
azc0VGxtcmRRMmFZM29vcFlkQmJDSDdEc0Y4UHBxMWxWRTRwY21ZVTllZmp1c24ycG41Mi92N2Y2
dFdyWlkxNmxzcjJrS0NvCnFLaDc0ZUhoMHFkUEg0bUlpRWhhM2ZyMkZmWE5GTUVuaFFUOGlNQWxO
ZVBrdDMzcTEwZ0plczdXL0RoVHJxa2ZnWW8xNnVucFUwWlYKYnQyOHFlYlpydEFONTNua0tRQUFJ
QUJKUkVGVUpQUlVvWUdHcVFabTk0ZncyckpuZTB4dkx1TEIvMzhCWlNCQWpxbUZ2bGdvYTViVQp5
amhCdzhZUUxIUkhZeEtObTBkck5KZlU2VElidHhMOFBLNE1JejBOQkZPK1lqZFh1NnNiNmR2VWoz
VnFYWTRycWdGMXlyVDNocEVvCjNFL2V1bjFMenFvR3ZMV2dEc0hxUjlDUTA2b2hDNDlnMkZ3dGoy
ckVZbzUxNW96cEpYTzZtQkNZYW9CR29MV1VyMUpibCsvd3ZpanIKVzhxNHFhMTNWVGR1WUpvUU9D
QXQ5RHpDRUhwVUdYUG1SY1l3Nk5Cb3RpWFlBUnNHVDlWaVFaWnkyUXJuNjlkMm43NG5lMDdIbE5L
cwpHekNJemZ0S2dCY2FlTkE5N0RvT0wwTFFLL04rQXRnUlBkbzBxdlZZbFJmbDJqM1YybEJ5Ukhu
U1FxUGVMRmlzbXllMGtPVVNkbTArCnJmUURQYmFZYXBSWUY3TzNsVjd0M2JGRjZ5QytNN3J4cDFL
OXJnemUvY29nd0hQQ2duYm83OVhMTWIyOGxrelZRZkhTNVcyV0wxMUkKUnRYUWkvbHVJVHhHZCtB
UkROOUJOR3l4TDRMMTNnajcxUGZ2bnRXMEx6UjZDNnJHSk53RTM3cDUzWkwxM1d2bkpTVDRuanoy
NVBPVwphemhBWXhrR0Rzb093Nlc0NnNYR2d1ZnNhZ05OUTZ6ZkE4WjFmRlpXenk1cmh0UlNUZW1t
UDhzYTljNjhIRHRiRDFQOTBKTmU2cEVuCjlCUTB3N0JGL2ZaczM2d2IrbmcyZWRVektWdXhScHlO
U2ZIYzBQZzNCSTFnZ3prTVYzUkdXRXQ0K2FvVzN2YmUyZEhYbEhlb0JHYjQKNFQyK2QyZWs3bVFK
TGFEV1ZDbkRHM0pXZFl6OGQvU2dNb29mMXFQSSs1VHVXMHRHTmZJTVkvcmc3cmpycXhBdXA5TG43
Q2Izd1hqdgpvdjVuVHgyVFRPbFNTL2pETUtJS1c1TEVkTm50bTlkWXpvMER2SHZ4V3hDcGpIOXJn
ZXRzWTUwSjd1RjkrUHZLK1pvM25FcmdIdDZECjBFM3pxSnoxZThCSU43c3lRc0xMVjVFU3VVVWV6
TzNqdXNuMnB2SFkvUG9UZGtaZjlTeVY3VUVEeEsrZkpBdnZOQUd6QWVKMEloNkkKZU9heTJnenJW
b3hoNUlIazNacGtodUFneVJVejI4dXQ2YnFhV0VveVFGeGxZUjBmdmRjbkwvcUhmbG1YUFRuT3M2
UlhpOXhEUE5NUQp5NlNNOVpSa2dDVEg4MGhxSHNlVmJpZGtnQ1ExVFhlRTk2UmV1YU44TkVEY1Fa
RnBKSWFBMlFCSmxaZ0lERU1DSkVBQ0pFQUNKRUFDCkpFQUNKRUFDN2lCQUE4UWRGSmtHQ1pBQUNa
QUFDWkFBQ1pBQUNaQkFvZ2pRQUVrVUpnWWlBUklnQVJJZ0FSSWdBUklnQVJKd0J3RWEKSU82Z3lE
UklnQVJJSU1BSm5EbTJYMzVmUEVrNUtyaVFKQkpuVHg2U3YxYlBUMUljZUEzYS9NdHM1YXdneHJX
MEVSbGVrdzcvdTBWKworamIrM2oxR0dINlNnS2NKUUEvMy9iTmVEdTZJdi9lVHAvTm0raVRnTHdU
ODJGbWx2eUJtT1VtQUJFZ2c1Uk1ZLzFFRE9YRmdoeHpiCnQxMmFmVERDWVlVdm5EMHBQODhjS2pz
M3JaVGorN2RMMFRLVjViSHFqUjNHd2MxZlo0K1E3UnQra3IxL3IxVWJoOTZVQVl1T0trOXEKV2VU
VWtUMnlldDRZaVZ3OVR5NnF0Q0V2dFBsRXUyM1ZKL3lQQkpLQndPN0kxYkwreDhsYXJ5K2RQeVZO
T2c2VHdxVXJKa1BPeklJRQovSThBRFJEL2UyWXNzUnNJd0gxc25kS2U4WGJqU3ZFaWo0cWNpTnVw
NjBweUhvMGJtaVZJeW9WNU5JdUFUQnp1TUI5VWJqRTlJVEhlCjN6eVJza2pCd3NXMUFWS3lSSEVw
bU4zeGQrdE9sanhTdkd0ZkdmbnBFVzJBWkVnZm5HQWNsTHBWdTNkbFRkNGNNbUx6TDdvU0JYT2wK
Vlh1R0JFbFkxdUx5V09saDhsMjJESHBmRDl3c2xDT1ZaYzhUSFRnUi8vbUZONkJFMU1OVFFYemRp
OWVhZldyVHZsZzN3WjVpNENqZAowS2Vma2tkS0Y1ZU9qWmZxWUxtenBOVjZUYjF5UkkzM0FwVUFw
MkFGNnBObnZWTU1BZXlTdTE1dE5KY2NndDNXamQxMGt5TS81dUUvCkJIcU5YaWhUZmoyaU5vNk0y
V2pOVWNteFIwRkl4a3hxejRKS09sanExSW5yQ3d0T20wN3RLVkhka3JRUkwxV3FWSHIva3dwVlg3
VGMKd3pRWUNna2tKd0ZzaEpvN3RJRGFUTENZenRiUXorUXNBL01pQVg4aFFBUEVYNTRVeTBrQ05n
aWdrVFg4azlma3lMNGROdTY2OXhKMgoweDM2WVN1OXU3TjdVMlpxS1lFQU5xTExwVFpRUzRvWW15
WUdLUU1pc1pMS1pLekE4REFMREJSRHpCdmpHZGY0U1FMSlFjRFEwYVRvCmRYS1VpM21RZ0M4UmlQ
djI5cVdTc1N3a1FBSUpFdmgrd3VleWNWWDhYWU1UakpqRUFEZXVYNU1CSHpUUnU4WW5NU3FEazBD
Q0JLd04KaVFRanhBWUlDdUpQV0dKWk1WenlFNkFCa3Z6TW1hUC9FRWpjdUxmLzFJY2xKWUVVUStE
Z251MnlZZVVDT1gvMlB3a3JVbEllZXZSSgpTYVdtcmhSNzZERmR4NWxqKzhyTWNYMzE4U0VWZHQz
eXVmcjQ4V3AxSlYzNkVIMnMwMURUczA0ZE95Z1pNbWVWNHFYTFNlWG5Ha242CmtBejZ2dm0vODJm
K2s5OVh6Sk82TFR1b0JiNjM1STlmRjhtcDQ0Zms2UmVheWVEdUxXWFh0bzA2K0paMXkrVGc3bTFT
S0Y4dUtkZjgKR1hNU1BQWWpBbmZ1M0pISTM1ZExrUWZMU3E2OFlYSXArcHhFUmE2Vm93ZDJTWW53
Q3ZMSUUvZWY3ZVdMMGNyUS9VR2lsUzZXS1BPNApsSDdzS1VrVEhCeXZ0a2YyN1pURGFqVHVxWnJ4
RjVSZmpENHIyemF1a24vLzNxRFdiZVNXOGxWZWlCZmYrc0tkMjdjbGFzdGEyZkhYCjczTDE4a1Vw
WGE2S0ZDMzFxSFd3UkovZnZIRmRkbS9mSkh2KzJTUm9ISlo4dUtJODlOaVRpWTdQZ1A1RjRORGVL
Tm05N1U4NWUrcVkKRkNwUlJzbzlWY3Z5YmpUWDVQenBrN0wrbDRWUzlZWG1ramxiRHNGbzc2YlZQ
OHJsaStmbHllY2JTZjdDRDVxRHh6bUd6dit6ZVkzVworNklsSDVGS05lckh1YzhURWlBQjJ3Um9n
Tmptd3FzazRGVUN5K2ROa3JrVEIwajdYbU9sMUtPVjVhLzFLNlZuMjJla1lvMTYwbjN3CkROMUl4
STlxbG13NTlhakV5YU1IZEJnVSt0RW5udE0vc3QrTitsVG1UeDRzUGI2Y0xTKzkxbFdPSGR3bC9U
czFscDltVDVDSThVc2sKb3pKSVlHakE2RmoxNHd6ZEdNMllLYXM4MDZDMWZOUzZtdXovZDZ0bThP
L2ZmMGp1dkFWa1p5eVJYZW84SkdObXVWU3NxQWdOa0ZncQovdk54WU5jMitYblJGRm16WktZeUtF
N0prT25yNU8rTnY4cUV6OStUZStyZjlhdFhkR1ZlYnYrcHZQSmVYeFYycW56VnY2TytkdTNLCkpm
MVp2VzVMNlRab3VqN0dtcURWS3EyMVMyZkx2cDEvU2NYcWRlTVpJRHYvV2k5ZmRHb2t6emRxcHd6
YTVuTHl5RDZaMFA5OTVVWTMKSmoyMVdseW5aZjRQQnRHQUxrMlZKNnZVMHJCTlp3bkprRmwrWHZp
dGZEL2h2b3ZkcEV5elFtTjBaSzkyMm9ES2x2TUIrWFAxWXBrMApxSXM4OFV3RDZmVFpON3JoYWM2
ZngvNUw0UHExcXpLcTl4dHlTeG1jSmN0V2tpUDdkOHIwMGIwbGI0R2kwcVgvVkdYSVBxVXJ0MnJ4
CmRGazI1MnR0NEdJNjY2T1ZuMU5PREFiSm9tbkRCY1l2Wk1iWVBqSm8ybHFWVG54dlZyTy83aTgv
emhnamJUN29MelVidlM2YjF2d28KdmQ1NFhpNmNPNjNqQmtsOHZkWTMrQjhKa0lEUUFLRVNrSUNQ
RVVCUDhZUXYzcGVXNy9hUjhrL0g5QkpYcWRWRTd0NjlvNDBGRkJjagpJdS8zL1ZvMytCQytTcTJt
MHFodFYwdE50cXhkSnJPLytrTEtWcW9obFo5dHFLOWo1S1IyODNka3lyQ1A1SC9UUmtqTERuMjBL
OVBzCnVmTEs1UXZuNUs3cUVVY2U0ei9ySUkzYmRkYy95dmlCcmxyN1piVlkrSEg1VFRVd0lhOTFH
U2g1OGhVU2VNR2krQitCTk1GcHBWRHgKY0cxOG9QUVRWU084d3RPMTVldWxleVJMOWx6eTA2eHg4
dFdBVGpKdjBpQ3RGN2R2MzVJUmN6YnBYdUMvLy9oVityNWJWMWIvT0ZOcQoxSHRWaldMVTBnQ3Ex
R3lpRFJCYk5MYjl1VnA2djFWTFh1MzR1ZFlyaEVGakRqM0xIWnVVMDFHc0cyb3dncnEyckN6Wmxh
SFE5NXVsCmdzVzlrUER5VmJUKzdvM2Fvczl0R1M0eE4rTCt2Ly9mditYVE4ydEszNitXNmxGQTNH
M3krb2ZTUXhuYWYvejZQNzJBL2VQaE1TT0kKY1dQeXpOOElZR1N2WjlzYWdwSGdGc3FJTnFSUThU
SXliZVFuOHZuN0RXWGNEMUdTTFdjZTlXNThTWGZnUkVXdTA4RkdmTkpXbm5xKwpzVXhiZlZ3dUtp
TUM3MkVZNStNL2UxZEd6TjFzSktVL0p3N3NMRXZuZkNVajUyNlJBc1VlMHRlS2xucEVqK3g5ME94
eGZaNFVBemxPCjRqd2hnUUFna0NvQTZzZ3Frb0JmRVRpNCt4KzVkZk9HbWdad05FNjU4V09aUGlS
am5HdkdpZlVQM2NsakIvUXQ5QnFiQmNZRzVOOXQKZitqUDlCa3lhaU9sVnBNMzlmbVZTeGZVRDNj
ZHFWYW5oUnA5R1NQZmJ6aW5qSnNtK3Q3OS8yaDQzR2ZoZjBjRmlwYVNtbzFmbDh4WgpjK2pDNC9u
Q0dNMmU2d0dCZHlwNHNYb2dmMkZ0bk1Jb2ZhL1BCTXNVRkV6TEtsdXhobzZIcVZRUVROOUN6M0ta
eDZ2cGMvTi9kKy9lCmxhK1ZNWk5CamF6VmZ5Vm1GTVc0andYakZaNis3N1hLdUk3UCtkOE9rZU9I
OWdoR1lRemp3N2hmK2JtWGpNTkVmMDRhM0VWTktYdlcKWW53Z0l2S3ZXcnU1VHVQM0ZmTmx0NXFX
UmZGL0FpdlU2REdtQVRacTJ5MU9aVEN5QzBHSHpmekpRL1F4M24vUHY5UldIK08vRjVxKwpwVWZi
c2lwREhFWUZSdDRnQi9mOEl6QnNETUU3K29mcG82UjYzVllXNDhPNFZ6eTh2UGFFWlp6emt3Ukl3
RFlCam9EWTVzS3JKT0ExCkFoaXBRT01Jdld1NUhnaVRKbS8wMFBzWm9DR0dYdVRFU0UwMTFTV0Qy
cUR0SVRWOXl5dzMxV0p5eUNYMUkyeVczUGtLNmxQa2l4NUEKUTV4ZEhHekU1NmZ2RXNBVXZFdHE1
QXVqV2RhU3IxQUorZS9ZUVcxWTJMcW5oanZpNlJCMHgxcldMSm1sMWd2OUk4ODJiS04xMnZwKwp6
bGl2V1dZREdsT3ZGbnc3VkUyNXlxU254TVNMaytlK3B5MXpQT3R3eG5uVWxuVjY3UWtNNitsaito
aVg5U2ZXUmhseVlOZmZJcy9FCjlGd2IxL2pwZndSbWplK24xeGpOblRRd1h1R3hOZzRPTmZTempy
MmJObDNNZWptYzVzeVRMMDZjWW1yTkhBUlRWYytjUEtJTmM1eC8KTjZxWFlNcVdQV000cDlMUjB5
ZU9TR0pINkpBbWhRUUNqUUFOa0VCNzRxeXZ6eE5Bd3hCVHFqRDlhZXFJbm5yYUZhWTlZWDR5ZXB0
dAppWFZEREkzQkd2VmE2YUF4QzhyL3A5TzVlUDZNdm1iTWJ6YlN3clFjU0pvMHdYbzZpbkhkMXFk
MVhyYkM4SnAvRTdBMzBvWmFwVmVHCkFlU0dtbWVma094VWk4Y2h0b3djWExlbFMxaDdoTFFMRml0
dDgzNVNHM1g3ZGtZaUt5bFE5Q0VwWE9KaGZXejhoL09LMWV2cFUrUkgKOFc4Q1o5Vmk4bk9uVDJq
SEF0YlBHalhyck5aL1FESmt5cUkvRS9vdmJkcjBsaURtZCthT3lCaTlmaUJmWWN2OU9BYzIxalRG
dWM4VApFaUFCcmdHaERwQ0FMeEo0TCtJclBRMExucTMyN29oVUN4dHI2aWtzcjNjZmF0dEFzUEdE
aHgvTWxXclI3Zy9malpRNnlyUFZCMTk4CksrdVZWeTNNYWJiVjhFc3NCMWZpSmpZUGh2TXVBV04v
RGxkTGNlVEF2enFKNE9ENG95TngwamJwNzFFampvMFJsVGh4MUVsaWRQSG8KL3BneVlQcGgvT21F
MWlueTNKOEpITjRYODZ6eDd2UFVzNzZnT25Fd2NnaXhOZXBuNXBjWS9UU0g1ekVKQkJJQnJnRUpw
S2ZOdXZvTgpBVXdWK0dqWWJPazFlcEhrRFN1aXk0MDV4ejNiUGFzV2l0K05Wdy9ySHpxTWVnem8z
RlF2dXV3NjZEdXA4M0o3bSs0bjR5V1VtQXVtCnhtSmlnak5NNEJLQUcxUElxUk9IRWczQkV1ZDQ0
dU00U3R4b0pCcUdqYU93dk9mZkJOTEdHcTN3K09jcE1mUVQ2Y05OT1lVRVNNQTUKQWpSQW5PUEdX
Q1RnTVFLWWU0ODlPU0JQUEZOZnhpL2VvZDNvNGh4N0lteFRJeGpXWW0yQVRCM3hzZmJ1VTZ2Skc1
WjlRNnpqT0h0dQpuWmV6NlRCZXlpY1FWcmlrcnVRT3RRN0RrWmgxS245c0hQUXlZNDhGUjJLT1p5
OWN2dGc5SERiOHNraXVHbTUvYlFUKzVYL1RiRnpsCkpYOGlFRllrWnI4T09OUDQ0OWNmN0JZZGV4
b2RpUjBac3h2SXpvMjgrWXRZUnFIeFBuWWtpZEZQUi9GNWp3UlNNZ0VhSUNuNTZiSnUKZmtrQUhs
eCtVZnMwR0lJZTNOZTdENUVYMVNnR1pNdTY1Y1l0NWJVb1pobVhzWGVEY1dPRDJud1FramxyVHVP
Uy9yeDY1YUwreEFMSwpwRWlxMkh3UTUvcTFtSDBpa2hLZllmMkxnSzFSTm1kcVVLWkNWUjBOT3Yz
UHBqWHhrakRtMWNQYmxpR2xIbm5Dc3NuaGt1L0hHWmN0Cm4zZnZ4T3pQZ0F0bXowU1dBRllIV0Rz
Rlp3cFkvelJIdWFhMkpUOHZuQ0o3MUFhRkZQOG1rRFY3VG91bk0zVENZRDhRYTBFSHo3aCsKNzZx
UjVhTFd0eEoxanVtSjJCUVdzbnplUkwxQTNUcWlvYU5tdmJZT3czTVNDSFFDTkVBQ1hRTllmNThr
Z0kwQnJZMkVCOVVPMUJEegpZdGtIWXFkbm1hZVg3Tis1VlRCUEdiSmsxbGpMRCtUWlU4ZlYzZzR4
bm1FdVJwL1I2ZCs2ZVZPSHV4RzcrZHlORzlkczloTG55QjJxCkdvVXhDOVdOT2ZXWExrVExvVU9j
Z3FBQit1Ri9oaUZwNklDNUNzWUdnZGlvMEZwdXhCcWd0MjdGNkk1eDMxaVVibnppT3R3N3cwVXYK
NU11UFhoVnNtR2tJakk5Zi9qZFZuMktqT095MkRvR2poYm90MzlQSFM5U2VKS3NXejlESHhuL1lw
Tk9RZjdldU53NzFwNUVHVGpBTgpFWkpmZWZTcVZxZWxQcDczeldBWjNlY3R5OVFaYk1vNFkyeUV6
RkdiZnJabzMxdUg0WC8rVGFCbGh3aGRBWXllZFczeGhPemN1a0Z2CktnaGRYakgvRytuenpvdks3
WFNFV3I4Ujh6NjdiZEpqd3lBMkNGeS9mdCtBdVhuenVuRlo3NFdFRTd4VGgvWm9GY2NReHZ0M3ov
Yk4KT3V6dWYvNjBiR2hvaWN3REVpQUJUWUFHQ0JXQkJIeVF3S0U5MjNWRHllamh4UWdIRnBTamQ3
aEd2VmNzSlRhTWt0WEtZQm5WKzAwWgoyS1daWExsOFFhckhOcmpRMjllNmVqN3AyTGljRE83V1F1
MmlQbFBIeGU3VitISCs5c3NQOWZsbTVWWVZnaDQ3cEdWdC9LQUhHZjd0CkllUFVwbHdUMU03WUEz
dDFrTXlaNCs0em9nUHdQNThuZ0Nrb2huR0JScEpacmw2K3FEZTR4TFZ0ZjY2S3MrWUlqZnJ0bTMv
VHdmOVIKOTR4R1B2UjA3NDR0K3ZxaHZkc3RQYzlwZ29QbHd5R3pKSnZhWXdRNjEwbHRQUGhGeDBh
NkIvcnR1cVVzNjVzd2w3NUw4NHBxSitrbApPZzFzd29tUkMramg4SjV0cE1lclZRVWJ2MEdQLzR2
ZDR3WUJQKy80a3ZZVWgyT00ybXo0Sldia0QrZEdlWERjcnRzUWkvN0NnR24zCmZCRnBYQ0dUdk4v
b1VWbTVZTEwwSERsZnN1YklqYUFVUHlkUXNYcGROV1cxaTY0RjNxUGRXejBsVFN0bWtWZXJoY3JZ
ZnUybG5qSnUKSzlXSThYeUdRTVorTmpqK1o5TnFmRmhrNi9xVmx1Ty8vL2pGY296M2NOdXVnN1FU
aEhYTDU4azdTcGZIUkx5dE5qbDhTYjhmODhkTworL3RwOWdUNVRHMThlT0tZY3NsTElRRVNpRU1n
ZFljT0hTTEdqUnNuMWF0WDEzOXg3aVowc2tZTnFXTXFSNDBhQ1lYa2ZSSWdnVVFRCk9LRm1TQjA3
ZVVaeTV5MmdEWW1mdmgrdnBsd3RrNStWOFZIdXFacnlidS94Y1R5dmxIaTRvdDZ4RndzalF6Sm1s
cGZmK1ZRWktaWGsKc1NkcnFzM2pTc2psUzlGU0lyeUN2TkRzYlduVDZRdnR4eDZOd1ZzM3JrdEY5
U09NRGVsbWYvVzVuRlkrN3JIeEZ2NU9IdDB2Ly95NQpXa3FvRVJmc3hXQkl1SnBPZzgzaGJxcFJF
dlJxOS94OHBKUU15MnJjNXFjZkVMaXBaanJObXJ0UVZpc1h6NkVGaStubmpiMWh6cDg1CnFUY2JS
TS90d3FsZjZzWTRkQ0ZqNW14eVVJMFM1QW90cUtjd3dTMTBXdVVnQWZjd1VyRjF3ODk2dndNWXJS
QmN6NjNDUmtXdTFkTUQKOHhVcUx0anJvK3FMTFpTeGNsUHJ6c1VMWnlXc1NDbmRpNHowc1NQMTJ6
MUhLU05oc0dYRFEwdzd4S2hGQnFYVGtOTW5EMHZtYkRtbApkck8zcEdhajE5WGVJdHZrMWZjL2sw
NmZmYU4zbmo1MS9MQk1VMlc3Y1A2MExnUEtzWC9uWDJyeCsyRzE2M29sOWQzSXBEYU5lMFgxClJ0
L1NSdmIxcTVmVnlNaURlaU81SHNyWkE3NXZrSnhxbjgrY0dZUDBNZi96UHdLSHpvdEF4L0d1eERz
S28zUlgxRHNReGlVMjBldysKZUlaeXUxelhVckcxeSthb0ViYnZKRXh0emdtZHdYc1VJN3dQcTAw
MWw4MzVXamF2VzJyUkord0RncEZCWTIrUTBvODlwYWRpM1ZGVApBczhyOTcrUXNoV3J5MXNmanhR
WTRYQ2wzcm4vRkRWMTloMHBsRGNyOWNwQzNja0R0amVkQk9kYjBWYXZYaTFyMUxOVXRvY0VSVVZG
CjNRc1BENWMrZmZwSVJFUkUwa3JhdHkrNm5VVHdTU0VCRW5DWlFPUlJrUk1YazdZK3crVk1uVXdn
TkV1UWxMTzlMWW1US1RLYXB3bGMKdWlIeTJ6Ny8wQzlQczdDVmZnazFDUEpnYmhvZ3R0ajR3N1Ux
U3Jjdkt4MzNOYUZldWVHSnNMM3BCb2plVHdKMlJsLzFMSlh0SVp5Qwo1ZjNud1JLUUFBbVFBQW1R
QUFtUUFBbVFRTUFRb0FFU01JK2FGU1VCRWlBQkVpQUJFaUFCRWlBQjd4T2dBZUw5WjhBU2tBQUpr
QUFKCmtBQUprQUFKa0VEQUVLQUJFakNQbWhVbEFSSWdBUklnQVJJZ0FSSWdBZThUb0FIaS9XZkFF
cEFBQ1pBQUNaQUFDWkFBQ1pCQXdCQ0kKMlVZNVlLckxpcEtBYnhNb3FqWXVoM2NwZjVDUVlIOG9K
Y3RvSm9CblZpN01QL1RMWE83a09zNmNMcmx5WWo2ZUlCQ2VOMGh1S1RlOAp2aWJVSzE5N0lpeVBM
eENnQWVJTFQ0RmxJSUZZQXRsQ1JQQkhJUUZQRUVpanhyeERzM2dpWmFaSkF0NG5rRXZ0NDBJaEFS
THdEd0tjCmd1VWZ6NG1sSkFFU0lBRVNJQUVTSUFFU0lJRVVRWUFHU0lwNGpLd0VDWkFBQ1pBQUNa
QUFDWkFBQ2ZnSEFSb2cvdkdjV0VvU0lBRVMKSUFFU0lBRVNJQUVTU0JFRWFJQ2tpTWZJU3BBQUNa
QUFDWkFBQ1pBQUNaQ0FmeENnQWVJZno0bWxKQUVTSUFFU0lBRVNJQUVTSUlFVQpRWUFHU0lwNGpL
d0VDWkFBQ1pBQUNaQUFDWkFBQ2ZnSEFSb2cvdkdjV0VvU0lBRVNJQUVTSUFFU0lBRVNTQkVFYUlD
a2lNZklTcEFBCkNaQUFDWkFBQ1pBQUNaQ0FmeENnQWVJZno0bWxKQUVTSUFFU0lBRVNJQUVTSUlF
VVFZQUdTSXA0akt3RUNaQUFDWkFBQ1pBQUNaQUEKQ2ZnSEFSb2cvdkdjV0VvU0lBRVNJQUVTSUFF
U0lBRVNTQkVFYUlDa2lNZklTcEFBQ1pBQUNaQUFDWkFBQ1pDQWZ4Q2dBZUlmejRtbApKQUVTSUFF
U0lBRVNJQUVTSUlFVVFZQUdTSXA0akt3RUNUZ2cwTFdyQ1A0b0pPQkxCSTRlRlduV1RHVGVQRjhx
RmN0Q0FqRTZDZDJFCmpsSklnQVE4UW9BR2lFZXdNbEVTOENFQ3k1ZUw0STlDQXI1RTRPSkZrYmx6
UmFLaWZLbFVMQXNKeE9na2RCTTZTaUVCRXZBSUFSb2cKSHNIS1JFbUFCRWlBQkVpQUJFaUFCRWlB
Qkd3Um9BRmlpd3F2a1FBSmtBQUprQUFKa0FBSmtBQUplSVFBRFJDUFlHV2lKRUFDSkVBQwpKRUFD
SkVBQ0pFQUN0Z2pRQUxGRmhkZElnQVJJZ0FSSWdBUklnQVJJZ0FROFFvQUdpRWV3TWxFU0lBRVNJ
QUVTSUFFU0lBRVNJQUZiCkJHaUEyS0xDYXlSQUFpUkFBaVJBQWlSQUFpUkFBaDRoa01ZanFUSlJF
aUFCM3lGdytiTHZsSVVsSVFHRHdKVXJNVWVuVHh0WCtFa0MKdmtIQTBFbERSMzJqVkN3RkNhUW9B
alJBVXRUalpHVkl3QWFCa3lkdFhPUWxFdkF5Z1JNbllnckFmVUM4L0NDWWZUd0NoazRhT2hvdgpB
QytRQUFtNFNzQmxBK1Q2TFpFZDNDdzB3ZWRRTGl6QklBeEFBaVJBQWlSQUFpUkFBaVJBQWltZWdN
c0d5SzI3SWljdTNrdnhvRnl2CllKRHJTVEFGRWlBQkVpQUJFaUFCRWlBQkV2QnpBbHlFN3VjUGtN
VW5BUklnQVJJZ0FSSWdBUklnQVg4aVFBUEVuNTRXeTBvQ0pFQUMKSkVBQ0pFQUNKRUFDZms2QUJv
aWZQMEFXbndSSWdBUklnQVJJZ0FSSWdBVDhpWURIRFpEelovN3phUjYrWGo2ZmhzZkNrUUFKa0FB
SgprQUFKa0FBSmtFQVNDWGpNQU5uMjUycnA4V3BWbVRyaTR5UVdLWG1DKzNyNWtvY0NjeUVCRWlB
QkVpQUJFaUFCRWlDQjVDWGdkZ05rClIrVHYwclBkczlLejdUTVNGYmt1ZVd1VGlOeDh2WHlKcUFL
RGtBQUplSkJBVUZDUXVQTFhyRmt6RDVhT1NTZVZ3THg1ODF4Nm50QUYKcEVIeEhRTDRqcm55SFVW
Y0NnbVFnSGNKdU95RzExejhZNGYyeUowN3Q2WEhsN1BsNHpiVjVmQytIZWJiWGovMjlmSjVIUkFM
a0dJSgpuQ2oybU1qRkZGczluNnJZTmJVMzBva0VXSWRtY2EzSTJIL3AvRFhYMHZCNjdLQ3NJaVhL
aStSOTBLTzZlZjZxNnpWRkdvNmVhVWl3ClNMWVExL0tKVnM4VHVrTkptSUE3T0RsNm50REo3Sm4r
bHZRSkY0VWhTSUFFbkNUZ1ZnTWtmNkVTZ2o5SXdlS2xmYzRBOGZYeU9ma00KR1kwRUVpUVFXYXVk
eUZIdTE1TWdLRGNFaUw1MlR5SVRZRjJudEdzOXNEQStFc3JERFZYeGJCS3BDNHE4K0taSWFLaEhk
WFAvV2RmMQpIbWs0NGgyYUpVaGMzV3gyLzFudXFaVlloY04zekZWeDlEemwwVHBTYnNzV1VacEpJ
UUVTOEJBQnQwL0JNc29aRk9TeHBJMHNYUHIwCjlmSzVWRGxHSmdFU0lBRVNJQUVTSUFFU0lBRWZK
ZURXRVJCMzFYSFA5czBTZlRhdTk2eVFqSm1sVElXcXN1bTNuMFR1M2UvOUtGMnUKaW1UTXJJYnlr
MUUycjEwcTkrNnFMZUJORWxxd3VJUVZLYW12WERoL1JuWnYyMmk1V3p5OGdqck9hem5uQVFtUWdI
TUUzcTFmSmtrUgo2N1RzSUhWZWJwK2tPQXljZkFUK09yUkRKczc2UW1SaTRwMlY5Qjc3ZytRdFVE
VDVDc21ja2tSZzB1Q3VFcmx1ZWFMajRMZnowekdMCkVoMmVBVW1BQkZJR0FaODBRTExuRHBXb0xX
c0ZMekpJb2VMaEVqRkJHUjVLc21UTEtWMWJWSmJpNGVXbHpRZjlKVjM2RFBwNmN2NFgKSEp4T2hu
ellVaGxKcDNTMkhmdE5sRktQVkxZVUlTUkRKcmw1NDdvTTZOeFVhalorWGNMTFAyMjV4d01TSUFI
bkNTUjFYZG1GMk8rbwo4emt5cGljSlhMbDVUUTZmT2lJUzh5cE5WRlo0dDFKOGw4Q1prMGQ4YnZx
MTc5Sml5VWdnY0FuNDVEeXBYQS9rbDRadE9rdUQxaC9vCkozUDIxREZCb3g1eTlNQXVLVmlzdEF5
Y3Nsb2VlL0o1U1JPc1Z2OGxzenp5eERQU3J0c1FTNjVsSzlhUXpObHlXTTdUcGtzditRcy8KcUVk
bTN2cDRwR1RJNU9LS1UwdktQQ0FCRWlBQkVpQUJFaUFCRWlBQi95Ymdrd2FJZ2JSMXB5OGtuMXJV
ZnZsaXRFd2IxVXN1UnArVgo2YU0vbFc2RHBrdjZEQm1OWUY3NXJGNjNsZVJUUThlUUg2YVBpbGVH
ZFN2bVNkWGFMMHY2a09RZm9ZbFhHRjRnQVJJZ0FSSWdBUklnCkFSSWdBUjhoNEpOVHNBdzI2ZEtI
eUFlZlQ1WWVyYXZLMHRrVFpHL1VGcW5kN0IwcCt0Q2pSaEN2ZmFaS2xVb2F0ZXN1WXlMZWxoVUwK
dnBHV0hTSWtVNVpzbHZLcy9uR0dkQjg4dzNMT0F4Skk2UVFHZG1ubXNJb04yM1JSVXhXZmNCaUdO
MzJId0w5Ly95R0xwZzV6V0tDUApoczF4ZUo4M2ZZdkFvcW5ENWQrL045Z3RGS1lTWS9ZQmhRUkln
QVE4VGNDbkRSQlV2blM1cDZSZXEvZjFLTU1SdGEvSXdLbXJQYzBrCjBlay8yNkMxVEIvVFc2TFAv
Q2ZMNW53bFRkN29vZVB1M0xwQlRRMUxLeVhMVmtwMFdneElBdjVPWU4xeXg1dTFWYW1sREpSSC9M
MlcKZ1ZQK015ZVBTa0xQTkhCb3BJeWF3dmhJK0puU0FFa1pUNXUxSUFIZkp1RHpCZ2p3Tlh1cnAv
dzRjNHhjdTNwWjVrNGFLSzNVYUlNdgpTSERhZEZLL1ZVZVpOdklUV1R4anRPbzU2cUxYcEt4YVBG
MmVmNm10THhTUlpRZ2dBb3VVSTVsZHUyeFV1TzkxdVYxQWVZN2JHdjllCk5qVm9WN2h3L091OFFn
THVKTERWaHU0cHpaT0R4WjlYMlV4MFoxWk1pd1FTVFNBNld1VGdRUnZCQzlTVGJlL1ZsMVE3MVQz
OFdVbVAKbUw1R3E2czhKUUVTU0FvQm4xNERZbFFFb3d6RlNwZlRwM08rN2k4SGRtMHpibm45ODBY
bDRoTUw1TStlT2k2L0xmMWVidCs2SmV0WAp6cGNhOVY3eGV0bFlBQklnQVJJZ0FSSWdBUklnQVJM
d05RSStQd0t5WmUweTJiNzVOeGs5L3kvNTdQMkcyci80aUUvYXlyRHZOMHJxCk5ONHZQdFo5dk5E
c0xWazRaWmo2KzFKNXZzcW1YQVJYa0J6S2xUQ0ZCSHlGd0sveis4WXBTcVdhSFpTdTVvcHpqU2Yr
UTJEUHJwMHkKYzhwc1M0R2ZNYnMzQUFBZ0FFbEVRVlN6NXN6RC9VNHNOUHp6NE9jbDgrVHZiZHN0
aFgrNFluVjUrUEZxbG5NZWtBQUprRUJLSXVEOQpGcndEbXBlaXo4bW8zbTlJank5bkM2WTdkZXcz
U2RyWEt5MzdkdjRsOHlZUGx1WnFhcFl2U0lQV25mVWFGWXpNVEJ6VVdkcDJHZVFMCnhXSVpTTUJD
NE5jRmNRMlFNcFdhMGdDeDBQRy9nMTA3bzJUbXVQdlBGSzdKdWVHaS96MUhjNGxYTHA0alB5K1ph
N25VVWgzUkFMSGcKNEFFSmtFQUtJK0N4S1ZpM2J0N1FxREFsS1NHWlBQUkRlYk4yQ2RtNGFuR2Nv
T00vN3lDVmF0VFhDOUZ4QS91RHRIb3Y1a2QzMXJoKwpjbkQzUDNIQ0orWEVIZVV6OGtPNTRKWVhj
a1c1REs1WXZaNXhpNThrUUFJa1FBSWtRQUlrUUFJa1FBSW1BaDR4UUxCdng1N3RtM1EyCmtldVc2
VjNCVFhuR09ieCs5WXAyOVhqaThENVo4djA0eTcwRjN3NlY5VDh2bE5acXQzT3oxRzcydHRyOVBF
U3R0YmdwL1RyVWwvUEsKQTFWU3hSM2xzODZ6Y2R2dStsSzF1aTNWYUUxYTY5czhKd0VTSUFFU0lB
RVNJQUVTSUFFU1VBVGNPZ1hyd3ZrenNtTGVKRG1zM09XVwpOUG43bnpTNHE5NjkvQm5sdGpaRHhz
eHh3R05Ed2ZxdmRwSU55dGg0c2ZrNytoNk1EL2lncjFpOXJxeVkvNDAwYXR2VkVnZm41Wit1CmJU
bWZNdndqYWZCS3AwVHREZUt1OGxreU54MkVGUzJscDRuUis1VUpDZzk5aGtDWlNrM2lsQ1ZkU0pZ
NDUrNDRxVklyYmg3V2FlYksKRzJaOUtjbm5DZVZobldEQjR1SFdseEk4VDJvZTFnbGlMd1ZQUzJq
K01ER1hNMWZlQW03UEVzL0xuSWZiTTFBSlpzMFJKdGE2YWVTVApRZTNoYXFzdkowT21wT211Tyty
aER0MDE2bVh2czJ6NXluTDl0dkpXRnl2TzZLNFIxOTVuUXJxWjBIMTc2WnF2SnpVTlozUTNxWG1Z
Cnk4ZGpFaUFCM3lBUUZCVVZkUzg4UEZ6NjlPa2pFUkVSU1N0VjM3NXk2ZHBkK2ExMUV1TWxMUmUv
Q0wxdDR5cVpQTFM3akppNzJXWjUKNjVRT3NubWRGMG5BWFFUc3V1RlZHV2czdkRZeW9odGVHMUNT
NFpLcjc0TVRGMFVpajk1dnJDWkRrVjNLd3JZYlhzZEpGaTRzQXYzMApCd25ORWlUbFhMU3ZJNCtL
bkxqb1A4L1VINTVMUW1XMDY0WlhSVXgxSmtoU1hiT2RBdDN3MnViaTBhdXF2U2wzNzRyZ2srSzNC
R0JuCjlGWFBVTmtlNHBFcFdINUx4b1dDTDVvMlhPcTkwdEdGRkJpVkJFaUFCRWlBQkVpQUJFaUFC
RkkrQVJvZ1RqN2pjNmRQQ05hdlFEYXQKV1NKN283WkkxZG92TzVrYW81RUFDWkFBQ1pBQUNaQUFD
WkJBWUJCdzZ4cVF3RUFtc21iSkxCbnlZU3U5RDBtUkI4dksvbDEvUzljQgowN2o0UEZBVWdQVWtB
UklnQVJJZ0FSSWdBUkp3bWdBTkVDZlFHWXNnNzl5K0xYdDNSRXFkRnU5S3RUb3RuRWlKVVVnZ2VR
Z0VYYlc5CkJnbHIwVU9UdHFZM2VRck1YQndTQ0FuR2M3UDlUQjFHOU5MTnY2OG1QZVBzeXBsZ1hq
L1J6ZXhxd2J5ckVwT0cvenhUVit2ckMvR0QKbEY0ZXNxT2JRWGQ4b1lRc0F3bWtYQUkwUUp4NHRv
OVhxeVA5Si84aSsvL2Rxblk5THk5bEtsUjFJaFZHSVlIa0k1RDZyTzI4Y3VRUwpseGZQMms2WlZ6
MUpJRnVJZnoyM2xYYjB6eEdqb3BsRVNybTRzTnRSK3I1MnIwZ09FZnhSa28vQXY1ZEYvbkZDTjVP
dmhNeUpCRkl1CkFaY05rQkNWUXJtd3dPdTFLUmYyak5JSy9GRkl3RGNJUFA2NGFyQ1ZzbEdXTHAx
akxnNGJIdTltNXJoZXNlUGQ1d1VTY0FlQkJnMXMKcEhMMGlFam5MaUxObW9vMGJSWXZRUDc4OFM3
eEFnbTRsUUIwektadXpwMGpNa2Z0U2o5OG1FaVkrMTFjdTdVU1RJd0UvSlNBeXdaSQptdFNjd3VH
bno1N0ZUbUVFN0RiWURxK01xYWt0NHlTRk1XQjFmSk9BVGNQNDdpV1I3Zk5FbXBSUmxyTnZscHVs
U3RrRTBBRmpXemQzCnh1aG12cjdVelpTdEFxeWRGd25RQzVZWDRUTnJFaUFCRWlBQkVpQUJFaUFC
RWdnMEFqUkFBdTJKczc0a1FBSWtRQUlrUUFJa1FBSWsKNEVVQ05FQzhDSjlaa3dBSmtBQUprQUFK
a0FBSmtFQ2dFYUFCRW1oUG5QVWxBUklnQVJJZ0FSSWdBUklnQVM4U29BSGlSZmpNbWdSSQpnQVJJ
Z0FSSWdBUklnQVFDalFBTmtFQjc0cXd2Q1pBQUNaQUFDWkFBQ1pBQUNYaVJBQTBRTDhKbjFpUkFB
aVJBQWlSQUFpUkFBaVFRCmFBUm9nQVRhRTJkOVNZQUVTSUFFU0lBRVNJQUVTTUNMQkdpQWVCRStz
eVlCRWlBQkVpQUJFaUFCRWlDQlFDTkFBeVRRbmpqclN3SWsKUUFJa1FBSWtRQUlrUUFKZUpFQUR4
SXZ3bVRVSmtBQUprQUFKa0FBSmtBQUpCQm9CR2lDQjlzUlpYeElnQVJJZ0FSSWdBUklnQVJMdwpJ
Z0VhSUY2RXo2eEpnQVJJZ0FSSWdBUklnQVJJSU5BSTBBQUp0Q2ZPK3BJQUNaQUFDWkFBQ1pBQUNa
Q0FGd25RQVBFaWZHWk5BaVJBCkFpUkFBaVJBQWlSQUFvRkdnQVpJb0QxeDFwY0VTSUFFU0lBRVNJ
QUVTSUFFdkVpQUJvZ1g0VE5yRXZBTEFwY3VpY3liSjdKenAvUEYKUlZ5a2diU2NsWlVyUmZEbnJM
aWpIczdtelhpZUlaQlM5TW9kOWZBTVlhYnFMQUZmZUYrNVE2OWNyWWV6L0JndnhST2dBWkxpSHpF
cgpTQUl1RWpoeVJLUnBVNUU1YzV4UENIR1JCdEp5VmpwM0ZzR2ZzK0tPZWppYk4rTjVoa0JLMFN0
MzFNTXpoSm1xc3dSODRYM2xEcjF5CnRSN084bU84RkU4Z2phczF2SDVMWk1kUlYxTkorZkhMaGFY
OE9yS0dKRUFDSkVBQ0pFQUNKRUFDSkpBUUFaY05rRnQzUlU1Y3ZKZFEKUHJ3dlFXUkFBaVJBQWlS
QUFpUkFBaVJBQWdGUGdGT3dBbDRGQ0lBRVNJQUVTSUFFU0lBRVNJQUVrbzhBRFpEa1k4MmNTSUFF
U0lBRQpTSUFFU0lBRVNDRGdDZEFBQ1hnVklBQVNJQUVTSUFFU0lBRVNJQUVTU0Q0Q3lXS0FITm9i
SmFkUHVPRDl4b004enAvNXo0T3BNMmtTCklBRVNJQUVTSUFFU0lBRVNJQUV6QVk4YklEdi9XaS92
di9TSUxKazExcHl2MTQrMy9ibGFlcnhhVmFhTytOanJaV0VCU0lBRVNJQUUKU0lBRVNJQUVTQ0JR
Q0hqVUFMbDYrYUlNN2ZHSzNMMnJYR1g1aU95SS9GMTZ0bnRXZXJaOVJxSWkxL2xJcVZnTUVpQ0I1
Q0NndGtLVQpvSWdJQ1FvS2N2cHZIalpVcEpDQUF3STdkdXhJbW41QkoxVjZRZUhobG5oOSsvWjFr
QU52a1VBTUFZZnZNaHQ2WlIyK1diTm1SRWtDClhpR1F4cE81anZ1c2c5eTZlY09UV1NRcDdXT0g5
c2lkTzdlbHg1ZXo1ZU0yMWVYd3ZoMUppcy9BSkJDb0JLNW55aTduTTRhS1hIU1MKZ0lwN3FYSjl1
WEVsaThoeDIybWtVMitqek9sdDM5Tlh3MHJMbVR4RjdjWkhHTVJIT2pibFpubzVWYkMweUdIWHZ2
Zm5yOEwxdU0wYwo5TVdRWUpGc0lmYnY4NDU5QXJkVlg5WHB5L2J2eDdzRG5TeFJYa1E5VzBNM3I5
NFV3Wjg5U1pQYTZ2a292ZEppZXFiUjEwUnUzN0dYCmdraUd0REYvT2dUeVJobE0zdzlIK21FLzFi
aDNMbDEzckdmQnFoNjVNc2FOdzdQRUUzRDRqR3pvbFhYS045UWVhSmNjTlcvSzFaVmMKcC9aYjlO
STZQczd4akcvY3RuVkhYVlB2eW5UcW5ablpwRmQyUXJwMCtacXFoME1XNnZzUmV0UzFkNlpMQldU
a0ZFdkEzaysxeXhWZQpzMlNXWExrVUxWVnFOWlVmcG85eU9UMTNKSkMvVUFuQkg2Umc4ZEkwUU53
QmxXa0VCSUh6b1VVbDhvRnlJa2VkM1BOSHhUM1R1SlJjCnZaUlQ1SUR0RWRFTXdVR1NLNU1EbkpX
YnlPR2lxZ3gyNGlObXJveEJ1bkZvTTVVcjJXVGY0N1ZkTmtEMm43MG5rUTQ0aEdZSkVtNDgKYXZN
SkpIZ1JqU0ZIYk9NbEFKMTg4VTNWV010bTBjM29hL2Zrb21yWTJSTVlJUG5VTTdLSTBpc3RwbWQ2
WE8xdDVjZ0F5YUpzam13aApzV2tnYjVUQjlQM1lkOUxKNzRtbFVESDdhemxpa1NtZFNMVmlwbnFZ
NHZJd1lRS08yT3BuYWFWWDFpbkN5RDF6eGNGemZ2NE5LYmcvCjBxS1gxdkZ4ZmtZWjIxZHYyVW5q
Ums3SjBMaUw1TXFqckV5VGJ0cEt4NVZyK0w0NFpLRytIM1htOW5NbEM4WWxBWnNFUERJRjY5VHgK
UXpKelhGL3A5TmszZWpqWlpzNWV2aGdVNUpHcWU3bFd6SjRFU0lBRVNJQUVTSUFFU0lBRWZKdUEy
MGRBc043ank0OWF5eHM5aGttMgpuSG1jcXYyZTdac2wrbXhjNzFRaEdUTkxtUXBWWmROdlA0bmN1
OTlqVUxwY0ZjbVlPYXRUK1RnYmFmUGFwWExQYWwxTGFNSGlFbGFrCnBFN3l3dmt6c252YlJrdnl4
Y01ycU9POGxuTWVrQUFKT0VmZ3M0L1ZDRVphTmYvRmpxUldIY0twVEozQ2RWcDJrRG92dDdjVG1w
ZEoKd0RhQnNSKytKS2VPN3JWOVUxMkZqa0hYdE55OUkrV3loY2tiNWRVMExBb0pKSUhBckJGZFpk
c2Z5MjNIdUh0UGdxNWZrelJwVkdkcAplalhrcGdUdGpFL0hMTElkbmxkSndNOEl1TjBBbVR0eGdC
Uis4R0Y1dk9xTFRxUEluanRVb3Jhc2xVbUR1K28wQ2hVUGw0Z0p5dkJRCmtpVmJUdW5hb3JJVUR5
OHZiVDdvTCtuU1o5RFhrL08vNE9CME11VERsc3BJT3FXejdkaHZvcFI2cExLbENDRVpNc25ORzlk
bFFPZW0KVXJQeDZ4SmUvbW5MUFI2UUFBazRUK0RFTWZ1TlFsdXBYb2o5anRxNngyc2tZSThBakk4
VEJ4SS83NzFnQ1M3R3NNZVMxKzBUT0hmcQpTSkwwekg1S3ZFTUMva2ZBcmZPUWRtMzdVOVl1bXlQ
dHVnMXhpVVN1Qi9KTHd6YWRwVUhyRDNRNlowOGRFelRxSVVjUDdKS0N4VXJMCndDbXI1YkVubjVj
MHdXckZaekxMSTA4OEU2ZU9aU3ZXa016WmNsaEtrVFpkZXNsZitFRTlNdlBXeHlNbFF5YTE4SlpD
QWlSQUFpUkEKQWlSQUFpUkFBaVFnYmpOQXJsMjVMQ043dFpQTy9hZW9VWWtRdDZCdDNla0x5YWNX
alYrK0dDM1RSdldTaTlGblpmcm9UNlhib09tUwpQb04zZTV5cTEyMGwrZFJ3S01UV0l2dDFLK1pK
MWRvdlMvcVE1QitoY1F0OEprSUNKRUFDSkVBQ0pFQUNKRUFDSGlEZ3RpbFlYdy9vCkpNODJiQ1BG
SG5yTWJjV0VJZlBCNTVPbFIrdXFzblQyQk5rYnRVVnFOM3RIaWo3MHFOdnljRGFoVktsU1NhTjIz
V1ZNeE51eVlzRTMKMHJKRGhHVEtvcnloeE1ycUgyZEk5OEV6akZOK2trREFFMWkrWm83c1dqeFNU
YUMzM2U5UnNteGxhZlZXNTREblJBQ3VFZGo0OHp6NQpmZmxjdTRua2VLQ0FmUERwbDNidjh3WUpK
SWJBN20xL3lJSXB3K3dIdlhKRityMzRtdjM3dkVNQ0FVN0FMUWJJN3l2bXk4bGpCK1I5CnRSYkMz
Vks2M0ZOU3I5WDdlcFRoaU5xM1krRFUxZTdPd3VuMG5tM1FXcWFQNlMzUlovNlRaWE8ra2ladjlO
QnA3ZHk2UVUwTlN5c2wKeTFaeU9tMUdKSUdVUm1Edm9TaUozTGJhYnJWU2E3dUVCb2hkUUx5UktB
TEg5aXM5VzJWL3M4alFJcVZWT2pSQUVnV1RnZXdTT1BmZgpVWWQ2cGlQU0FMSExqemRJd0dVREJG
NnZSa2U4SlpXZmZVbG1qZThYaitpL2YvK2hyMkhYOFJsakkvVHhjdzFma3dmeUY5YkhpZm12CjJW
czk1Y2VaWStUYTFjc3lkOUpBYWFWR0czeEJndE9tay9xdE9zcTBrWi9JNGhtajFicVZMbnBOeXFy
RjArWDVsOXI2UWhGWkJoSkkKRW9GQmcyd0ZMeTEzMzlzc2QxTXI3M05iNDk4dlhGanRpUkE3K0Jj
ZExYTHdZUHd3a3JxOFhNMll5OGFOK0pjUUgrbkVreEpOMWFYbQo4UzQ3dW5EeXBDcXlwY3paNVZo
QmRnbzQ0dVdyOXh6cGxWUlUzcWNPcVpMalQ4bjU4ekdmOXY2L3JUWit1NjhUS3BUV0svVnAwUk8x
CkNhRzl6ZUhzSkJxZG82aHNWVHB1cFBHZm5jMDI3VVMzZWRtc3U0OCthak1JTC9vNGdhM1FMWk5l
R2NYRit4THZ6YVRLZGJXL2phRzcKNXZkdVV0T3hGZDdSZTNmN3E4MUViUHcybEN3cDByQ2hyZFI0
alFRU0p1QzZBWExuamx5K2NGNVdMcGpzTUxlZGY2MFgvRUVlcmxBdApTUVlJUmhtS2xTNG5jTTg3
NSt2Kzh1UnpqYVJJeWJJTzgwdXVteThxRjUvdy9IWDIxSEg1YmVuM2V0M0grcFh6WmRUOHY1S3JD
TXlICkJFaUFCRWlBQkVpQUJFaUFCUHlHZ01zR1NPbzBhV1R3ZDJ2dFZ2aW4yZU5sOVk4enBYcmRs
dkppOC9ZNlhLRVNaZXlHdDc2eFplMHkKMmI3NU54bXRHdlNmdmQ5UUl0Y3RseEdmdEpWaDMyOFU1
TzF0d2JxUEY1cTlKUXZWWE5DRlU3NVVucSt5S1JmQkZTU0hjaVZNSVlHVQpRdURVeVoyeWJjMXNT
M1V5WnMwamxaNkwrVDViTHZLQUJGd2tjUGJNR1prNWRreWNWRnAyNkJQbm5DY2s0QTRDTThmMmpa
TU05Z3pLCm1qMXhvN1J4SXZLRUJFakFLUUl1dCtDRGdvSUU2elRzeWNaVlAraGJ1UjRJY3hqT1Z2
eEwwZWRrVk84M3BNZVhzd1hUblRyMm15VHQKNjVXV2ZUdi9rbm1UQjB0ek5UWExGNlJCNjg1Nmpj
cUJYZHRrNHFETzByYUxqYkZLWHlnb3kwQUNUaEw0NzJTVS9McmcvZzkybnZ5bAphWUE0eVpMUjdC
TTRmZnFVekJ4M1g4OFFrZ2FJZlY2ODR6d0JhejJyVXFzcERSRG5jVEltQ1NTWmdHMTNORWxPeHJV
SWs0ZCtLRy9XCkxpRWJWeTJPazlENHp6dElwUnIxTFlZTDlnZHA5VjdNajlPc2NmM2s0TzUvNG9S
UHlzbXRtemQwOE51M2JpVVl6Vjc1aklnb0Y5enkKUXE0b2w4RVZxOWN6YnZHVEJFaUFCRWlBQkVp
QUJFaUFCRWpBUk1EckJzajFxMWRrMGRSaGN1THdQbG55L1RoTDBSWjhPMVRXLzd4UQpXcXZkenMx
U3U5bmJlcCtSMjdkdVNyOE85ZVc4OGtDVlZNRytJbnUyYjlMUkl0Y3QwN3VXMjB2RFh2bXN3emR1
MjExZnFxYW1tZ1duClRXdDltK2NrUUFJa1FBSWtRQUlrUUFJa1FBS0tnTXRUc0JLaVdQakJoK1dw
bW8ybFVJbUhiUWJGaG9MMVgrMGtHNVN4OFdMemQzUVkKR0Ivd25sV3hlbDFaTWY4YmFkUzJxeVV1
enNzL1hkdHlQbVg0UjlMZ2xVNkoyaHZrd3ZrenNtTGVKRG1zM1BtV2ZPUUpTeHFUQm5mVgp1NnMv
bzl6cVpzaVkyWElkQjdiS0Z5ZEE3RWxZMFZKNm1oaTlYOW1pdzJ2K1RpQnJ0akFwVTZtSnBScFpj
eFN3SENmMm9FREp5bW9QCkVOdWgweW1idlhnWmRUOEJDWC9xZmhuTVFiRzFTTEI2bTZWVmYyblVz
ZUZGSzA5WXVEbVlaTTBSSnZiU3dKSXl1QUxPa0VEL1FhNjgKWVhIUzVJbjdDR1RPbkVXcTFMTDlq
Qk9iUzU0QzRaWm5ETDB5NUpieWJLV2NOa3JXbkFucmJvbkhha21lZ3FYMWxqWFFLME51M0l3OQpV
dWtFcVQ5RENoU1BxN3ZwUXJKWXltRG9GY0xlVVhFTUQxdEJDWGphc3RaZEl5OSt1b2VBdFo1bHlK
UWxTUW5uVU5QS3k5Vm9Jb1plCkpTbHliR0M4ODZBVEZyMnlUc1JLejJ5OWQxRUdzMTVaSnlGM2xL
NHFCNGEyQk42NFNqMFNWM2R0aGVNMUV2QUVnYUNvcUtoNzRlSGgKMHFkUEg0bUlpRWhhSG4zN3lx
VnJkK1czMWttTWw3UmMvQ0wwdG8yclpQTFE3akppN21hYjVhMVRPc2ptZFY0a0FZOFRLQlByOUdI
Nwo5Z1N6c3UyR1Z6WGNRdFJmTHR1L1lvVUxKOElOcjhyNVhucjFsOFoyR3JseXFvWi9jSkRreWhU
anh0Y3dJS3dMZkRlVDdmaG9hR1pXCmZRZTVNZ1pwQThKd1ZXa2QvNTVxVE41TGJ6dU56Q3J2ZE9s
RUNtWjM3YnNhbWlWSXl0RkdzVVlmLzN6SERoSDEyNk4rZUVUOUFPbjcKbDI2SS9MWXYvdk94NjRZ
M2ZxcHlMKzA5OVJkekEzcGx5S1ZMc1EwOTFhaExkZFh4TTc2YlFaVkJHYU9HWGhscG5Ea2JjeFNr
REpHZwptL2JUdUtmaTNrTWFTZ3k5d3ZFTlZiOUxsM0VVV3daVmxzU0lMVGU4bVpTdVZpdG12d3lK
U1RlUXd5elpFVi9QTER5MmJCSEJYMVBsClJqZDdkc3RsODhGVnBRTm5ydHdUaTE2WmI4WWVwN3Bz
Ky9rWWJualBLRjI0ZXV1ZUdIcGxuVVRRN1NBSlVxNTNiVW5od2pIdjNjUG4KNzhYUksrdXdRZGRW
R25hTVhiTmUyWFhEcXhKTWM4UjJQWkxWRGE5cWIrb2VCSHhTL0pZQTdJeSs2aGtxMjhOZWY2VGYx
czFyQlY4MApiYmpVZTZXajEvSm54aVJBQWlSQUFpUkFBaVJBQWlUZ0R3UlVQdzNGR1FMblRwOFFy
QStCYkZxelJQWkdiZEY3Z0RpVEZ1T1FBQW1RCkFBbVFBQW1RQUFtUVFLQVFVQk1TS0VrbHNHYkpM
Qm55WVN1OUQwbVJCOHZLL2wxL1M5Y0IwN2o0UEtrZ0daNEVTSUFFU0lBRVNJQUUKU0NEZ0NOQUFj
ZUtSRzR2VjdxalZoSHQzUkVxZEZ1OUt0VG90bkVpSlVVakFQd2dFWVNHam5YbnoyZFY4Kzd5eDZ6
ZURyb29jVW44MgpCZlBkMDlpZVN4eGFKR2J4ZDY2TUl2K3BjQmZzcEJHVXluYjhFUFVtQzFWbFFI
d3NJdi9iWG53Vjd1NWQyMmxrejZFV0tLczBrSTRyCmtqMkRLN0VETzI1d2F2Q1AvM3djNnBVMU1q
VnZYbUxudkVPdkRMbDlRZVNtMGdzc0hrZDZqaVNWQkFuV2NSaDZaWVE5ZXlUbUtHWU4KaUhFMS9t
ZVFpbnRYcFFFeDlBckhGMVFaTHNmbXJjdVF5RFVndG5ReUpCZ3BVcHdsWUV2UExHbGRQaUd5SjFK
NXRxZ25Za01mRVE1cgpRSUpUQjRtaFY1YTRwZ043ZXFaOEZPajNEUFQ5cWxwTFpPaVZLYW8reE5v
TmUydEFqUGZ1clR0QmNmVEtPbzFVV0VOaVp3MklXYThjCnZYZXQwK1E1Q2JpREFBMFFKeWcrWHEy
TzlKLzhpK3ovZDZ2YTlieThsS2xRMVlsVUdJVUUvSWNBR2x5cFl4ZmdXcGU2cUZxOFhTb3MKNXVx
L2FsSGxQM2JDV2Njem56ZDgrZjdaNGMwaXArMmtZYThNQlVxS05IejRmaG9yN2NSSENQV2JiMU1x
UGFycVVjcm1MVjVNSmdMcAoxUytTclFYODd0Q3JSZnRVWSs5UUlpc1Nxei9XZXJYcnAwVEdWOEVN
UFRQcjFiLy9pcHo4UGZGcEdDRnRNVEh1OGRNNUFnNlpubExHCngwOWZpd3pwSkJLV3oyRUdTZEty
MkpSeTVJcXI1MG5SSzZNd3huc1g5WENIWGpsNjd4cDU4cE1FM0VuQVpRTUVQVVRsd21KNmV0eFoK
TUY5UHExellNNnFJK0tPUVFNb2gwS0JCMHV1U1AvLzlPRGgySm8zN0tZZzgvbmpTRFFGNHdES0xN
MlV3MThPY0ZvKzlUeUNsNkpVNwo2dUg5cDhFU21BbjR3dnZLSFhybGpucVl1ZkNZQkJJaTRMSUJr
a1oxODVpSDhSTEtrUGRKZ0FSOGw0Q3JJd0F3QkZ4Tnd4MkdnS3RsCjhOMG5GSmdsU3lsNjVZNTZC
S1lHK0c2dGZlRjk1UTY5Y2tjOWZQY3BzV1MrU0VETlZLV1FBQW1RQUFtUUFBbVFBQW1RQUFtUVFQ
SVEKb0FHU1BKeVpDd21RQUFtUUFBbVFBQW1RQUFtUWdDSkFBNFJxUUFJa1FBSWtRQUlrUUFJa1FB
SWtrR3dFYUlBa0cycG1SQUlrUUFJawpRQUlrUUFJa1FBSWtRQU9FT2tBQ0pFQUNKRUFDSkVBQ0pF
QUNKSkJzQkdpQUpCdHFaa1FDSkVBQ0pFQUNKRUFDSkVBQ0pFQURoRHBBCkFpUkFBaVJBQWlSQUFp
UkFBaVNRYkFSb2dDUWJhbVpFQWlSQUFpUkFBaVJBQWlSQUFpUkFBNFE2UUFJa1FBSWtRQUlrUUFJ
a1FBSWsKa0d3RWFJQWtHMnBtUkFJa1FBSWtRQUlrUUFJa1FBSWtRQU9FT2tBQ0pFQUNKRUFDSkVB
Q0pFQUNKSkJzQkdpQUpCdHFaa1FDSkVBQwpKRUFDSkVBQ0pFQUNKRUFEaERwQUFpUkFBaVJBQWlS
QUFpUkFBaVNRYkFSb2dDUWJhbVpFQWlSQUFpUkFBaVJBQWlSQUFpUkFBNFE2ClFBSWtRQUlrUUFJ
a1FBSWtRQUlra0d3RWFJQWtHMnBtUkFJa1FBSWtRQUlrUUFJa1FBSWtRQU9FT2tBQ0pPQ1l3S1ZM
SXZQbWllemMKNlRnYzd5YU93TXFWSXZpanVFNEFPZ25kaEk1U1hDUEE3N2xyL0t4ajgzdHVUY1Q1
YzN6UG82SkVidHh3UGczRzlEa0NORUI4N3BHdwpRQ1RnWXdTT0hCRnAybFJremh3Zks1aWZGcWR6
WnhIOFVWd25BSjJFYmtKSEthNFI0UGZjTlg3V3Nmazl0eWJpL0RtKzUzUG5pbHk4CjZId2FqT2x6
Qk5LNFdxTHJ0MFIySEhVMWxaUWZ2MXhZeXE4amEwZ0NKRUFDSkVBQ0pFQUNKRUFDQ1JGdzJRQzVk
VmZreE1WN0NlWEQKK3hKRUJpUkFBaVJBQWlSQUFpUkFBaVFROEFRNEJTdmdWWUFBU0lBRVNJQUVT
SUFFU0lBRVNDRDVDTkFBU1Q3V3pJa0VTSUFFU0lBRQpTSUFFU0lBRUFwNEFEWkNBVndFQ0lBRVNJ
QUVTSUFFU0lBRVNJSUhrSStBUkErVDYxU3V5Wi90bTJiWHRUN2wyNVhMeTFjYUpuTTZmCitjK0pX
SXhDQWlSQUFpUkFBaVJBQWlSQUFpVGdEQUdYRjZHYk03MFVmVTVtanVzclMrZE1rTnUzbEh1c1dL
bFI3eFY1KytPUmtpbHIKZHVPUzF6KzMvYmxhWm96dUxhR0Zpc3NIbjAvMmVubFlBQklnQVJJZ0FS
SWdBUklnQVJJSUJBSnVHd0c1ZWVPNjlINzdCVmt4ZjVLVQpLUE80bEh1cXBtVE9ta016WExWNHVu
ejQ2dE55NjZiM041SFpFZm03OUd6M3JQUnMrNHhFUmE0TGhHZk1PcElBQ1pDQVJ3Z0VCUVdKCnMz
L2g0ZUVlS1JNVFRWNENaY3FVY1ZvSG9EdUlUL0Z2QXMyYU5YTkpCNkFIbE1BajRMWVJrRW1EdTJx
RFkvTFBoeVJyOWx5YUpLWmYKamUzWFhsYi9PRU1PNzlzaDh5WU5raGJ2OXZZYTVXT0g5c2lkTzdl
bHg1ZXo1ZU0yMVhXWnZGWVlaa3dDZmtUZ2VxYnNjajVqcU5vSQp5bk9GRGdrV3lSYml1ZlI5S2VV
VFlhVTl5dEtYNnBwUVdTNWRGN2tjcTFlM2xWdjM2S3R4WStUS0ZQYzh6aGwwc2tSNWtadnBFODB6
Ck9MVklyb3h4VXZIS3laa3JJcmZ1ZUNWcjI1bUNJVmdtOFh2dWFoMFEvMFFDNzVYY1NnZlN1SzI3
TktiNkR2TjBRcS9pUVZYZjhkQ2oKTytKZE5sK0l2aVp5N2Y1a0VmTXR2enAyUngwU2VoNjUwcVlY
OVJOQlNVRUUzR0tBM0xoK1RiYjl1VXBHell1VXRPblVTeXhXUWpKbQprazZmVFZMclFUYkpzWU83
WmN2dnk3MXFnT1F2VkVMd0J5bFl2RFFOa05qbnhBOFNTSWpBK2RDaUV2bEFPWkdqbnR2ekp6Ukxr
QVRLCmhwMlJsWnQ0bEdWQ3o5T1g3bU1mcVQyeGVuVlROVVpQV3UwclZUQzdnOTVSNk9TTGI0cGN5
WlpvbnBuU2lWUXI1aUROWklJVGRmS2UKWFBiK3BJRDd0UVZEc0V6aTkvejZMZGZlQ1lnZm1jQjdw
YXA2WHBuVmMzT25PTXpUQ2IyS1Z6YjFIYTh6dDErOHkrWUwrOCttakgzVQpvcSs1cGdOZ2t0RHpx
S282d1dpQW1MWEgvNC9kMHFld2FjMlAwdWkxcm5HTUR3Tk5jTnAwVXZuWmh2cjA1SkY5eG1XdmZ3
WUZ1YVhxClhxOEhDMEFDSkVBQ0pFQUNKRUFDSkVBQy9rVEFMU01nRmFyV0VSZ2E5aVJQL3NMNlZ0
NndvdmFDeExrT0QxclJaK042cHdySm1GbksKVktncW0zNzdTZVRlZld1N2RMa3FrakZ6MWpqeFBY
MnllZTFTdVhkWHpSVXdTV2pCNGhKV3BLUytjdUg4R2RtOWJhUGxidkh3Q3VvNApyK1djQnlSQUFp
VGdhUUx2MWsvYTNQbzZMVHRJblpmYmU3cFlURDhaQ1h6MlhrTTVjWGh2NG5LOGUwZktaUXVUTjhx
cmFWaVVGRU1BCjArTWoxeTFQZEgzUWx2bDB6S0pFaDJkQUVuQ1dnRnNNa1BRaEdSem1mL0xJZm4z
L3dZY3JPZ3huM015ZU8xU2l0cXdWZkhFZ2hZcUgKUzhRRVpYZ295Wkl0cDNSdFVWbUtoNWVYTmgv
MGwzVHBIZWV0STduNXYrRGdkRExrdzViS1NEcWxVKzdZYjZLVWVxU3lKWmVRREprRQppL0lIZEc0
cU5SdS9MdUhsbjdiYzR3RUprQUFKSkFjQnJMdExpbHlJZlo4bEpRN0QrallCR0I5SjBZT0NKWHhn
Y1l4dkkvVzcwcDA1CmVTUkpPdUIzRldTQi9aWkFzc3hEMnJjalVvK1F2S1NtYVNWR2NqMlFYeHEy
NlN3TlduK2dnNTg5ZFV6UXFJY2NQYkJMQ2hZckxRT24KckpiSG5ueGUwZ1FuLzZ6QVI1NTRSdHAx
RzZMTGcvL0tWcXdobWJQbHNKeGpIVXord2cvcWtabTNsUHZoREpteVdPN3hnQVJJZ0FSSQpnQVJJ
Z0FSSWdBUUNtWURIRFpBRHU3YnBCZXFOMm5hVDNLRUZrc1M2ZGFjdkpKOWFOSDc1WXJSTUc5VkxM
a2FmbGVtalA1VnVnNlpMCitnemU3YW1wWHJlVjVGTkRsWkFmcG8rS1Y2OTFLK1pKMWRvdlMwS2pR
L0VpOGdJSmtBQUprQUFKa0FBSmtBQUpwR0FDYnBtQzVZalAKTjJvYUZVWUlXbmFJY0JUTTVyMTA2
VVAwSm9FOVdsZVZwYk1ueU42b0xWSzcyVHRTOUtGSGJZWlB6b3VwVXFXU1J1MjZ5NWlJdDJYRgpn
bTkwL1RKbHlXWXBBbHdQZHg4OHczTE9BeElnQVJJd0NBeWNNMXhrdzF6ak5ONW53elpkMUxUT0or
SmQ1NFdVUTJCcy82NXk0dGdSCnV4V3FVcXVaVkttbHZLVlJVaXlCR1JPSHk1OGIxOXV0SDZaMll6
WUloUVJTSWdHUEdpREw1bnd0NTA2ZmtNSFQxMG5xMU1yNXVoTlMKdXJGc09hRUFBQ0FBU1VSQlZO
eFRVcS9WKzNxVTRZaWEwenh3Nm1vblV2Rk1sR2NidEpicFkzcEw5Sm4vWk5tY3I2VEpHejEwUmp1
MwpibEJUdzlKS3liS1ZQSk14VXlVQkV2QnJBdXQyL0NIaVlJa0dHcC95aUY5WGtZVlBnTUNtdGN2
bDRCNzdTbEN3V0xnSURaQUVLUHIzCjdXMWJOc2k2NWZNU3FBUU5rQVFBOGJhZkV2Q1lBZkxQcGpV
eTc1dEJNa0N0MVRDUEREakRxZGxiUGVYSG1XUGsydFhMTW5mU1FHbmwKeEdpS00va21GQWVlditx
MzZpalRSbjRpaTJlTVZqMFZYZlNhRk96OC92eExiUk9LenZzazRITUVCZzJ5VmFUU2N2ZTl6WEkz
dGZJKwp0elgrL2NLRjFRYUM5d2YvNGdjSTBDdUxGb25zMm1XajhxOXVGL25JKy90UTJDaVp6MTZL
amhZNWVOQkc4VklyajAwVjFkOGhkUTkvClZ2TG9vMVlYZU9xUVFIU09vcklWVExmR0Q4YnZlWHdt
dUFLOWhIN0dreEpOWmZ1cnFpUEJ4anUxcEhLWTJiQmh2QmdCZjhIUjl6eEwKeGJjbDFlNjdzczRH
eng0eGZiOEJ6OC9mQUhoa0RRaThYbzN0KzQ3MEdiOGt5ZXMrYkFIRUtFT3gwbXJES1NWenZ1NHZX
RmZpSy9LaQpjbHVKQmZKblR4MlgzNVorTDdkdjNaTDFLK2RMalhxditFb1JXUTRTSUFFU0lBRVNJ
QUVTSUFFUzhCa0NiaDhCdVhEdXRBenUza0l2CkZDOVF0RlM4aXQ2TjNUOERheWdTSTF2V0xwUHRt
MytUMGZQL2tzL2ViNmo5V1kvNHBLME0rMzZqcEU3ajl1SW5wa2h4d21CMDU0Vm0KYjhuQ0tjUFUz
NWZLODFVMjVTSzRndVJRcm9RcEpKQlNDSnc2dVZPMnJabHRxVTdHckhtazBuUHRMZWM4SUFGM0VM
aW85bEJhTW5WTQpuS1RhZDQySWM4NFRFbkFIZ1psais4WkpCdnZnWk0yZUs4NDFucEFBQ1hpT2dG
dGI4RmN2WDVUK25SckxtejJHNjMwNmJCVjd5YXh4CjhuaTFPcEkzcklpdDIzR3VYWW8rSjZONnZ5
RTl2cHl0M2ZoMjdEZEoydGNyTGZ0Mi9pWHpKZytXNW1wcWxpOUlnOWFkOVJvVmpNeE0KSE5SWjJu
YXhNVWJvQ3dWbEdVakFTUUwvbll5U1h4ZmMvOEhPazc4MERSQW5XVEthZlFJWHpwMlNKWlA3eFFs
QUF5UU9EcDY0aWNETQpjZmZmWjBpeVNxMm1ORURjeEpiSmtFQmlDQ1J1R0NJUktkMjRmazM2dHE4
citkVCtGeWVQN2hlc2d6RC8vZSs3a1RLeTErdXlSZTBpCmJtMThUQjc2b2J4WnU0UnNYTFU0VGs3
alArOGdsV3JVRnl4RWgyQi9rRmJ2eGJ3MFpvM3JKd2QzLy9OLzlzNEVMc3BxL2VPL1FkbEIKd1hB
aFVGRnhBeTMvdUtUbFZkdHVxWmxtU3FWZXUzYTd0cGlhV21xM2JxSjFjeWtwdGF4YjVpM1RMS0N5
bEVxcm0xc3JTZVVGMGtRagp4U1ZYUkRZRjhYL09ERE13TSs4TXM3d0RzL3lPbjlkNTM3TSs1L3Mr
ek13ejd6blBZMVRmbm92S0MrZTExZVdTcWZxU0pmbjA3YVJjCjBpMnZUS1hDWlhDL0lTUDBSWHds
QVJJZ0FSSWdBUklnQVJJZ0FSS29RMENWSnlEeVMvekNoOGNnTjN1bjl2anMvZFYxaGpBK25adWEK
WnBSUlVWYUtEVyttUWk3TnlueG5wVEE0ZEYvZTMvL1BjL2o2OHcrd2R2c3hvL3BEaysvRFcyTFR0
elI0Rmt5NUZVdlhmNHZJcU5aRwpkZXE3a0hGRjl1VmthYXRsNy94VUc3VmNCZzlVU3Bia002MTcr
NlJIOGNXR056SDRsbkhpYVUyQWFUR3ZTWUFFU0lBRVNJQUVTSUFFClNJQUVCQUZWREpEc3J6WWpR
TVRzdVByRzBWYWhTcTlSL2E4YmFWUkhCaFM4OVMvVDhZMHdOb2JkY2IrMlRCb2ZlMzcrVmp4SnVB
VmIKM25zZG95Zk5NclNSMTczL05OUncvY2J6Y3pGeXduU2JZb09jRmV1THQyU3N3a0hoenJkckhS
LzdxMFNzRWhsZC9UcmhWamNrTk56UQp0enhSa3Mrb1FzMUZyTmp2SXVkSDcxZEtkSmpuNlFTYVI4
U2l4MVcxTVFtYXQ3QXZxS2luejE5dCtldXlyTnUzdno4UUttS3NScldKCnJadnQwTG05TVNUYXhR
dTNyM1ltZThlbzIzMmNXTEtMcjdiVXpVSndhRE1rWFZ1clowYUZYbmJSOTA4M0liWmpnc1ZaT1hJ
L1REdEwKR25nVDJzV2JqNkhvdFVrMGJocy93TFNMZXE4dGpWRnZ3NW9LVVcwYTU3M0VWSGREd3By
WktySnE5YTdvUFFBVlZjSzdvSVVrNDRBNAptK3p0dzVIN1llOFl6czZKN2IyRGdDWTNOL2RTWW1J
aTVzMmJoNVNVRlB0bU5YOCt6cFZYWS90RU85dlpONHBIMU43OTNaZFkvZHlqCmVDSDlCMFY1aHlk
b0ZQT1pTUUl1SjlDamgyNkluSng2aDFKMnd3dFVCNHNqU3ZtRE1pNU9IVGU4MGMwMFNITCtlM2U5
YzJ5b0NoYmQKOEFvQnF0b3FzNVR1akNWUFgwaGgrWGtZUExJSGZuMXdIdlpObWFlZDhvV0x3TEZp
WXpidElqVmFONmVLYm5qckFhWGtoamNzRUJqYwpxZkhmajdmdHY0UVMzVXJnZW1haGZ2RlBDbTUy
Nnh0RnJiL3orc1pSS2g4azdsZTR1RzlxcHN3OFl6MHo2bnZYTGtBZVk4Y0NrWkZHClJhWVhVaTh0
R1hSTkR5bnJtZDROYjNZaGNOUkUzMDM3OTZWcmkyNTRCWVJCYnkyQVg2Vnd3M3ZqZkRNa2RNTnJo
c1J0TTZTZE1WL1kKRHNMMmdHcDdRTngydGcwazJJWTF6MlBFaEdrTk5CcUhJUUVTSUFFU0lBRVNJ
QUVTSUFIUEpFQUR4TUg3SmlPOHkvMGhNbVZ0eTBSKwo3aTRNR25xbmc3MnhHUW1RQUFtUUFBbVFB
QW1RQUFuNEJnRlY5b0Q0QnFyYVdXN0xYSTluWjQvWHhpSHAwT1VLSE5qN00yWXRYTVBOCjU3V0ll
RVlDSkVBQ0pFQUNKRUFDSkVBQ2lnUm9nQ2hpc1o2cDM2eDJzYW9LK1huWkdIN1hneGc4L0M3cmpW
aEtBaDVNUUNQVzVtdksKbE5jelJ3cW5iMjFVMkw4WkdlTEJnT3dVM1JMTFlNRXhXZ1dXZG9yVEtO
V0R3blQ2RkJhb0VYUFduVmRLUFJQLzZpYkpRMU1HL0M0TwplNU1TeTJDeDBkOGRVaXN4ZjdYM05k
ZzZyNThkWUtuVzM3bXRNdGF0NTkrazdwVTY1M3FkVSt5dDVDaXdMeHZ3RjE0NWEzUlRzWjdJCi9L
TWFPT3NBVDltZjdqM1BXTjh0amVNTCtWYi96cTFzMmZFRk50NDRSeG9nRHR4VkdVanhtZFZmNE1D
ZW43UUJGM3YwR2VSQUwyeEMKQXA1RFFITUJhSEpLV2Q2T1lVQTNMOW84cmp4TGRYTXRzV3doQWpG
NzAwWjhxOVNFRXl5WkxtOHVqbnIwWjA4SjhEOEwrcWZyUmZsLwpkMmJaM1Q3djhjb1RkREQzTXdk
WWV0dmZ1VlhkT0M2TWo0OWZCWjZkRHNSZWJwWHlRZUYzNW9RRFBHV25IVnJvRHFzRCtGQ2h0Yjl6
CitTTVlrM2NSY05vQUNSWTlKTVg2bmdXZkZIdWQwQVI1TUpHQTl4QVlhZXdsMjZhSnhjVFlWTTNu
S3ZYdEt3eXpidlpOT3p6Y3Z2cSsKVWx2cW1DTzY2U3Q4N0oybkl5ejVkNjVNbVgvbnlsd2N5Ylgy
ZDM3WklmRWtWRHdGdWN5Qnp5aEhaR0ViMXhOdzJnQnBLaDZOS2ozbQpkcjNvSElFRVNFQnRBdlor
WVZaN2ZHL3FqMS9ZMUx1YjBqQ2picXJIa3l6Vlk4bS9jL1ZZV3YwN2J5bkdFY3Zkb3V6OFVVYzk2
ZGlUCjJnVG9CVXR0b3V5UEJOeU5RSDQrSUE4bUVuQW5BbnFkM0xyVm5hU2lMQ1FBNkhWU3I2TmtR
Z0lrb0RvQkdpQ3FJMldISkVBQ0pFQUMKSkVBQ0pFQUNKRUFDbGdqUUFMRkVodmtrUUFJa1FBSWtR
QUlrUUFJa1FBS3FFNkFCb2pwU2RrZ0NKRUFDSkVBQ0pFQUNKRUFDSkdDSgpBQTBRUzJTWVR3SWtR
QUlrUUFJa1FBSWtRQUlrb0RvQkdpQ3FJMldISkVBQ0pFQUNKRUFDSkVBQ0pFQUNsZ2pRQUxGRWh2
a2tRQUlrClFBSWtRQUlrUUFJa1FBS3FFNkFCb2pwU2RrZ0NKRUFDSkVBQ0pFQUNKRUFDSkdDSkFB
MFFTMlNZVHdJa1lEdUJXYk1BZVRDUmdEc1IKS0N3RWtwT0JqQXgza29xeWtJQk9KNlZ1U2gxbEln
RWZKRUFEeEFkdk9xZE1BcW9UMkx3WmtBY1RDYmdUZ2VKaUlEMGR5TTExSjZrbwpDd25vZEZMcXB0
UlJKaEx3UVFKTmZYRE9uRElKK0J5QnpBZFhBSG1YWERmdnNVOWllUG9DMS9YUG5qMkN3TGI5bDFC
eTNrWlJtL1lFCnByOENSRWZicFp1RE9ta1FIbWpqR0t6bWxRU3l4VU9EbzhVdWZEKzdlUWFTRHAr
RDBFd21FaUFCRnhIZ0V4QVhnV1czSkVBQ0pFQUMKSkVBQ0pFQUNKRUFDNWdSb2dKZ3pZUTRKa0FB
SmtBQUprQUFKa0FBSmtJQ0xDTkFBY1JGWWRrc0NKRUFDSkVBQ0pFQUNKRUFDSkdCTwpnQWFJT1JQ
bWtBQUprQUFKa0FBSmtBQUprQUFKdUlnQURSQVhnV1czSkVBQ0pFQUNKRUFDSkVBQ0pFQUM1Z1Jv
Z0pnellRNEprQUFKCmtBQUprQUFKa0FBSmtJQ0xDTkFBY1JGWWRrc0NKRUFDSkVBQ0pFQUNKRUFD
SkdCT3dPazRJQldWd29VN0EzbWFrelhKU1lvMXllQWwKQ2FoTUlDc0xPSHhZb2RQa2RUamNxUmRR
WUY0V0VnSzBhbVdlNzBoT2R2OHhJcXF2SXkxdGI4Ty9JOXRadVZQTmdnSUZhVXBiQXZFMwpBRUZC
aXJyWlVoU0hocHEzMjNmQ1BNOWlUa2tFTUd5eVVQSWt1M1F6b1kwUXkrbFBSNHRTc2NCTkNKU1dB
aWVVOU9teTNqZzI0VlZvCmlqc0NtOHlGN1NYZVRwMU9RaWM3Um5lRTBGQW1FdkJKQWs2L3hWWld1
emdna05mY0ZvM1h6SVFUY1U4QzB2all1MWRCdHNUYlVSVXAKZ25ZVktaU3BtSFcwYllLSTZ1dkM0
R0JhV2ZsM3BPSXRhN0N1aWhSMVQxZ1hMY1FYUEprVXlpTXNmRE03V1hvSmxSZDF6ZXI5djFJWQpO
NTJGOFJFbVFzclpvWnVkVzJwb2dOUUwxL01yVklvZlVCVjFNK1J5SUM0RzhCUHZad3A2MDFxTjRP
VkNKNlBESW1tQWVMNGFjUVlPCkVuRGFBSEZ3WERZakFSSm9RQUxIQy9PTVJtdlJKaDVObXdZWTVm
R0NCSndsY09UZ0FSU2RxekIwRXhYZEZpR2g0WVpybnBDQUdnVCsKT0ZxSWcwZlBHcnBxZmxrck5J
K01NbHp6aEFSSXdQMEowQUJ4LzN0RUNVbkFhUUxMNS9RdzZtUGE0aHkwaWhWUExKaElRRVVDLzdq
dgpWaFRzcXpWMjU2YW1ZZUJOWW1rZUV3bW9TQ0IxL2t4OG5wbHU2SEhjZy9Nd2Jzbzh3elZQU0lB
RTNKOEFONkc3L3oyaWhDUkFBaVJBCkFpUkFBaVJBQWlUZ05RUmNib0NjT2ZtSDI4UDZQVDhYSjQ0
ZWNuczVLU0FKa0FBSmtBQUprQUFKa0FBSmVEb0JseGtndTcvZmlqbC8KR1lRM1gzak1yUm45OHVQ
WG1IcmJsY2hjLzVKYnkwbmhTSUFFU0lBRVNJQUVTSUFFU01BYkNLaStCeVF2K3l1c2ZmRko3UDd1
U3kyZgo2UGJ4YnN1cHJLUVl6ODJaZ09wcTRjcUxpUVM4bU1EVDYxeXY0N2VrM0FISXcwSnllajlB
dWxqem5iNEF5TW14TUFLekc1dkFHNS9rCm9PUzhhNldZZkVzUC9KNWZ1OC9FZExRRzN3K1FKMlJK
VEJTNm53TE00ejRFMC92aGl1dkZyNlRocUlKM0tqWEhldWZGWk9SazFlNHoKTWUxYjdtMlM3Mmx1
bmViUDErbGxiaTZRd0QxL2JuMnZmRkE0VlEyUXc3L3Z3OFdMVlppejlGMDhkdmNRSE54ditVUENI
Vml2ZkdvSwpLaSs0K05QU0hTWktHVWhBSlFMU2I3NTBYV21Xd29UTFNpWVNjQU1DRmNJSmw4RzFh
cWsvRU5rQjBBaWZ2Z3F1Zm1VY25BQTZnM09ECnUrYTlJbHk0QUpTVktjeFA2R1JCcCt0eDlvandF
cWV3RnFWYk40VTJ6Q0lCTHlLZ3FnRVMwNzR6NUNGVHUvZ0V0elpBdG1XdVIrbTUKSXVHaFpTdytX
cnZjaTI0cHAwSUNyaU1nZzNZWnZ0elZIU2I2NnJwWFBDZUJSaU1nOWJNMjhHR1lpQU55bzA2V0Fu
T1I0dUpvZ0poVApZWTZhQktUeFVhdVBkWHIyNjRTRFF4ZkRiNWZJazRkSm9nRmlBb1NYWGtkQXdl
NVdaNDRhamN1NmRsckE0MGQreDlzcjUyUDZVNjlECm8yRmdNNmVCc2dNU0lBRVNJQUVTSUFFU0lB
RVNzSkdBcWs5QWJCeXozbXI3Y241QTBTbGo3MW5CSXBoVmp6NkRrTFg5WStDU2lFNWEKa3hLU0Jp
STB2TG4rc3Q1WHVkOWo2ZHlKdUhkT0tpSkU4Q0pIMGc4N1BzRWxrMzBqMGUzaUVkdWhxN2E3czJk
TzR0ZmQzeG02amsvcwpJODdiR0s1NVFnSWtRQUlrUUFJa1FBSWtRQUsrU3NBdERaRElsdEhJM2JV
RHE1Yk0wdDZYOXZHSlNIbEZHQjRpTll1NERMUHVHb0Q0CnhONjQrK0ZuRUJna0Z2SGFrZEpmVzRp
NExqM1JkOUF3TzFvWlYvWDNEOFN6czhjSkkrbTR0bURhZ3RmUTdjb0Joa3JCSVdHNGNMNEMKQzJl
TXhaOXYveHNTZS8vSlVNWVRFbWdNQWswUEtUL3BpeEYvUHNNVGJKZG93NjlBQ1QxVzJ3N014Mm9P
N3FTc1p6a2I3UWZST3dsUQpXb2J5a1BJUTlnL0FGaDVMSUNsV2l1NjhJdXpaQXhUdXNJREI5WDQ3
TEF6TWJCTHdEUUp1YVlCRXRZN0JxTHRuNE1TeFEvaHd6UXM0CmRmd3c1SmQ2bVFwLzI0dDJuUkt3
NkkydENBb0p0ZXN1N2QzOVBYWjhtb2FsNjcrMXE1MXA1U3Y3WDRkN0hua1dxWS9kclMyNm90KzEK
Q0k5b1lhZ1dFQmlFbUxndTJpY3preDliaHFCZzhTMlBpUVJjVENERzBqN3dMWnQxSS8vNUpqTUpM
TFl4cThrTUVuQ2NRRmZkdzJIagpEb3FMZ2MxQ054T0ZCWndndkVpWnBIQ3hONWVKQkZ4SlFPcVlv
bTdtNVNLby9Jd3JoMmJmSk9EekJOelNBTkhmbFluVC80V3NiWms0CklyeHJyVm4rQkNaTVhZQzFL
LzZKZjY3NDBHN2pvN3kwQk11ZXVBZXpGcjhsbnBvRTY0ZHcrSFhJTGVQeHpzdFA0Y2pCZk8wbTlz
bVAKdldEVTE4NHRHUmcwOUU0YUgwWlVlT0ZLQW4zN0F2SXdTMC9vbmlSaXBia0JZbGFYR1NUZ0Fn
S2pSaWwwbWxjSTNKMnNjeE02eXR3QQpVV2pCTEJKUWxZRDhBVWJ4UjVpZk0vRFM2UU9xanNYT1NJ
QUVqQW00dFFFaURZV0huMTZOT1JNSDRaTjNYMEYrN2k0TVRiNGZIYnYzCk1wNkZEVmV2THB5TzYw
ZmRqVTdkLzgrRzJ2Vlg4ZlB6dytoN0hzV0xLZmRoeS91dlk5eVVGSVExaXpBMDNMcHBIUjVkc3M1
d3pSTVMKOEhZQ2QwNUxVNXhpcUhoUTJiS2xXRTdUcTNhWm9tSkZkOGljVldPc0xWM3FEdEpRQmdV
Q0R6MytQRTZlUG10V1VsQ2d5Mm9WNjRYRwpUS0V3MW1iT0JKS0Z3VFptak5uY21hRStnZkVkZXFM
UGxDZUFVTjNxQzlNUm90cG8xNEdaWnZ2ZWRVWUdrQ2JlKzFOVGdWZ3k4VDBGCmNIekdibTJBeUdr
bEpGMkRFZU9uYXA4eUhCSnhSUmE5dWRYdTJYNjE1VDBjTy93YnBvcTlHbXFtNjBkTzFBWmRMRHI1
Qno1Tit6ZkcKM0R0SDIvMHZQMzJEcHY0QjZIckZWV29PeDc1SXdLMEo5TGhLK1l0UmhMREw0K0xj
V3ZSYTRlU1NJSmxvZ09nNHVPSC9mUWJlcUJqcwpNT3duTnhSV0xaSGtjalVaaUZNR1BLUUJvaFpW
cS8xY0Vka2FMYThkS2VMSVJGcXQ1L09GTXNpaDFNMlVGSjlIUVFEMkVYQjdBMFJPCkozbnlQN0Rw
N1JkUlhsYUM5RldMTUY0OGJiQTFYYXlxd29xVXlSaHcvVzFZLzdLSW9teVM5dnlzMncrU203MFQ2
MTVLMFpiZU1PcXYKYUIwVFoxTFQvTkkvSUJDM2pwK0dOY3NleDhaMUs4UytsWm5DOFBESGx4dlg0
c2JiSnBrM1lBNEprSUJUQkRMSFBnbmsxWHJCYzZvegpwY2FpLytFeTJqcVRUeFA0cHVBU0tpL2Fp
T0NNOEhBNC9SV2dZMis3ZEhPUTJMQWZIbWpqR0t6bWxRU3F4WTh6MVZISzcyZVplU3BNCnVlTndK
SFhlaUdnVnVtSVhKS0EyQVk4d1FOYSsrQ1E2SlNSQnV1ZE5lL1VaWEgzRGFIVG9lb1ZOTEtxcUts
Rnk5Z3crZTMrMTFmcS8KL1BnMTVDRlR6ejZEYlRKQVpOMWhkejRBNlZucjFQRWoyUDdKTzlwOUgx
OS85aDZXdi9lakxHWWlBUklnQVJJZ0FSSWdBUklnQVJLbwpROER0RFpCZE96NUZ6Zy9ic1VKOG9Y
OXE2aWhrNzl5TUZ4NmZoTlIzdmtPVHB2V0xMNTlTTEhuTGtwODk0T04zWDhiV1RXOWp5QzNqCk1P
eU9CN1JvMm5mdVVRZVI5Vk81NytQbTVNbjQ0STFVY1N3Vm5xOGloSXZnUG1naFhBa3prUUFKcUV2
ZzdhM2lVZjl4MjM4YTdObHYKQ0hyMkhheXVFT3pONndsc1hQOHlUcDg0YnRzOEs4clI3dGdaRE93
dG5vQXdrWUFkQkhLK3o4RHhvem1LTGZLK01zOXVMbUtYRFJjLwplaktSZ0RjUXFQOGJmQ1BPOGx6
UmFTeC84bDdNV2ZvdXBDRXhiY0VxUERBaUFmdC8rUkVacTVmZ0RyRTBxNzRrTjR2TGZTU1cwbmRm
CmZxUXRpbW9kYTdXZXBmWXlmK1RFR2RvOUtyL3QzWTNYRnMvQXBKbUxyVlZuR1FsNEpRRy9rOHAr
K1Z1SVBadzZ2LzFPVHZ1YkROeXkKVld4NGxJZU5hWnlvUndQRVJsZ2VVaTJ4alVaeGVkVHV6KzJm
UUVmeFcxT2N3cjdaaDlhOWhJSjgydzNkZ1oyVE1ORCs0ZG5DalFsMAovUEZ6UkllS2ZaMnhMWnlT
c3FBS09IaFN1WXVjNzlMRUQ2emlSeFVia3d4QlFBUEVSbGlzNXZZRVhHYUFWRjQ0cjUxOFZXVmx2
UkJXClB6Y2IzM3p4QWU2ZG5ZcXJyaDFocVAveTAxUEU5YTBHdzBER0J4bi8wSHlzV2p3VDYxY3V3
RlZEUm1pRENob2F1T2pFa256NjRhUmMKMGkzdkZ4dmVSR2x4RWZvSnVaaEl3TmNJK0pVcnp6aFlC
UFNLYnFaY1psZHVvZTFmQ08zcWw1VTlpa0JVcUxLNGx2UlB1Yll1TnpMQQpnbTRxMjlMV3VtS1ps
eEdJT0hvQUVRRVZJdnF4Y3hNN0szVE1vbTRxYi85d2JrQzJKZ0VQSWVBU0E2UkVmQW5mbDVPbFJa
Qzk4MU50ClZIQVpuRThwVlpTVllzT2JxYWl1cmtibU95c05Cc2o3LzNrT1gzLytBZFp1UDJiVWJH
anlmWGhMYlBvK0x4NTdMNWh5cXphb1lHUlUKYTZNNmFsNVlrczkwak5zblBhbzFRQWFMcFZ6K0Fl
SWRoNGtFdkpDQVlqd0hMNXducCtSNUJPYUlINnVaU01EZENIVHJKbHlRaTBNcApmUzVXaHlzdndG
S3F6VHdTOEM0Q3Fob2daOCtjeEphTVZUZ28zT1YydmJLL2dkU3FKYk8wMGN1dkUyNXJRMEpGNk5F
NlNVWXp2L1V2CjAvR05NRGFHM1hHL3RrUWFIOUk3VmI4aHQyRExlNjlqOUtRYTMveWlWRjczL3RO
UVF3OXZQRDhYSXlkTWR5ZzJpT3drcmt0UFhQUG4KMjlHK2MwOURuM1ZQbE9Tclc2NC9qKzNZVGJ0
TWpONnY5RVQ0U2dLZVNTRGpySWd4SVgzYk81aGloUy84L3YxcjMvOGM3SWJOdkp6QQpmei8vREpY
bDV2Rk1GS2Q5NkpBdVc3bzhyZEhONXMyYjQ4WWJiMVNzemt3UzBCUFlWVjZDQ3VsZVBNL3hKOGhq
NlBwWmo1T3ZLaEpRCjFRQnBIaG1Gc1grZmE3ZDQ5ODVlS3BaZkxUVzBHejNwRWNPNTZjbUk4UStK
dUNBUG1XWTdmSDN0aUFtUWg3VmtLcDlTM1p5c2JXZ2YKbjZoYW9FT2xNWmhIQWlUZ2VnSmpaZEMz
c1dNZEhtaXNhSnNtQTNNeGtZQVZBbk1mbllFOXZ3aUR3cDRrNHkzSVE2UkVFUk1rSjRlLwpuOXVE
enhmci9ydm9PRGJKSUpaT3BFdVh1RmJNQ1h4c2FvR0FxZ2FJaFRGOEludkRtdWN4WXNJMG41Z3JK
MGtDcmlTUUpWWnZIajZzCk1NSWc4U05GN3MwS0JlNlZkYVlNeUJZMmpMV2t5cVo4YXdPd3JFRUps
SWExUm9GZkI2REFmTmlXTFVVdzdWRHovQXUyeGhreGI2ck4KS1JmYksrdlRzNFEyUUJBLzVTMFE5
SjdzMGxMZ3hBbUYrUWlkUE5aZWVHZkwvVnloMFBZc3EzcldLZ2tkb3p0Q2hEUmhJZ0c3Q1BDdAp5
UzVjdFpWUG56Z3FscE0xZzF5aWxiVXRFL201dS9EWTg0NHYyNmp0bVdjazROc0VwUEd4ZDY4Q2cv
WTNLV1M2WDFaRjFTVWNMYTd2CkYwUHVjbmEvTytlNFJKVUJvU2pTQ0c5SlJlWjlSRmo0Wm5heHVq
NGRNZStyYms3VnhmcjFySE5MRFEyUXV0Qzg5Rno2K2lsUzBEMEkKbmF3SWNUNlN1OVgzczdCb1JJ
ZEYwZ0R4VXQxeTViUm9nRGhBZDF2bWVqdzdlN3cyRGttSExsZmd3TjZmTVd2aEdtNCtkNEFsbTVB
QQpDWkFBQ1pBQUNaQUFDZmdXQVQvZm1xNDZzdzBKMC9ubHUxaFZoZnk4YkVqUFhJT0gzNlZPNSt5
RkJFaUFCRWlBQkVpQUJFaUFCTHlZCkFKK0FPSEJ6K3c0ZWptZFdmNEVEZTM0U1VjOTdvMGVmUVE3
MHdpWWtRQUlrUUFJa1FBSWtRQUlrNEhzRW5EWkFna1VQU2JHK3Q1NDUKS2ZZNm9TM3lZQ0lCRWlB
QkVpQUJFaUFCRWlBQkVyQ1ZnTk1HU05NbUZpTEoyaW9CNjVFQUNaQUFDWkFBQ1pBQUNaQUFDZmdN
QWFjTgpFSjhoeFltU2dLOFNrQUdzUk13QnBLUUE4K1kxS29XbjExVXJqaTg5RGNYRktSWXgwNXNK
ekordjAwc1pvQzhoUWJXWnZ2RkpEa3JPCm0zZjMwMC9tZWN3aEFVVUNQWHJvc3EzRWFsbjhTcG9O
SHZNVWUyY21DWGc4QVJvZ0huOExPUUVTSUFGN0NVaS8rZEoxcFZrS2l6SEwKWWdZSnVDT0JpOElX
MTd0ZURRa0JBZ0xjVVVySzVDMEVMbHdBeWtTTUk3T2tpVUJCcCt0eDlrZzRvT0RXcUZzM3N4Yk1J
QUV0QVJvZwpWQVFTSUFHZkl5Q0RkdW0vdkJsTlB2cHFvMHRla0lDN0VxZ1VYd2dMQ25UU3lhZC9O
RURjOVU1NWgxelMrTkRybTlHTS9Ecmg0TkRGCjhOc2xjdVZoa21pQW1BRGhwWUdBZ3IxcUtPTUpD
WkFBQ1pBQUNaQUFDWkFBQ1pBQUNhaEtnQWFJcWpqWkdRbVFBQW1RQUFtUUFBbVEKQUFtUWdEVUNY
SUpsalE3TFNJQUUzSXBBMDBQS0xyOWp4QnI0NFhic1FkN3dLMUJ5eUsybVJtSGNpTURnVHNwNmxy
UFJmaUY3SndGSwp5MUFlVWg3Qy9nSFl3bU1KSk1WSzBaMVhoRDE3Z01JZEZqQW8rKzJ3VUpuWkpO
QndCR2lBTkJ4cmprUUNKR0FEZ1JnSDlvRTcwc1lHClVWaUZCSXdJZE8xcWRHblRSYmpZbTh0RUFx
NGtJSFhNa200R0JibHlaUFpOQW80VG9BSGlPRHUySkFFU2NBR0J2bjBCZVRDUmdMc1IKR0RYSzNT
U2lQQ1FBeUI5Z0xQMEk4OUlxRWlJQjl5UkFBOFE5N3d1bElnSHZJcENSQWFTbEFhbXBRS3gyM1lI
Ynp1L09hVUpPaFJRYQpDclJzcVZCZ2toWFZ4cjNuWnlJdUwyZk4wakZZdXJSQldUejArUE00ZWZx
czJaaUtub2JNYWdGQkljMFZjcG5sTlFRS0M0R1pNNEhrClpHRE1HSWVuTlg3eVRQUzVmcXpEN2Rt
UUJGeEZnQWFJcThpeVh4SWdnVm9DTWxCY2Vyb3VhRnh0cmx1ZTliaEsrY09ld1E3ZDhuWTUKTDlU
bXpibytHdGdBNlRQd1JzVmdoMkVNZHVqOFBmV0dIb3FMZGUrWk1naXNFd2JJRlVuOTBUTCtLbThn
d2psNEdRRWFJRjUyUXprZApFbkFGZ2FPZGV5Tzc0M0FnNzVKajNjdTIwOXNBWjhSaG9ZL29aaHJv
Tm1VNk5nUmJlVDZCY3lMNitQYjlkdWlZRFhwbFNpVXNFTEMwCnlkeTBMcSs5bDBDbWhmY2g3WXdk
MENzelVtT2Z4UEQwQldiWnpDQUJFdEFSb0J0ZWFnSUprQUFKa0FBSmtBQUprQUFKa0VDREVhQUIK
MG1Db09SQUprQUFKa0FBSmtBQUprQUFKa0FDWFlGRUhTSUFFU0tBT0FiK1R5bjc1VzRTQlM4VHFj
T0twY3dRUzIyaFFlZEc4ajkyZgptK2ZWbDlPeEJ4Q240UHNnMkwrK2xpejNkZ0lkTHdQazhsWm5V
MEVWY1BDa2NpOGFzWFNTaVFUc0pVQUR4RjVpckU4Q0pPRFZCUHpLCmxhY1hMQUo2UlRkVExtTXVD
ZGhMSUNwVXVZVWwvVk91cmN1TkRLQnVXdVBqeTJVUndZQThuRTFuaFk0NW9wdk9qc3YyM2t1QUJv
ajMKM2x2T2pBUkl3QUlCeG5Pd0FJYlpqVTVnenB4R0Y0RUNrSUFaZ1c3ZEFIa3drWUJhQkxnSFJD
MlM3SWNFU0lBRVNJQUVTSUFFU0lBRQpTS0JlQWpSQTZrWEVDaVJBQWlSQUFpUkFBaVJBQWlSQUFt
b1JjSG9KVmtXbGNPdGZxSlk0M3RzUDR4dDQ3NzMxcHBsdDJLQXdtK0pZCmxOKzhDS2Y5T2dBRjV1
VXlPcmlNRWw1Zk9oY1ZnL09WSWdoRGlYSk5wUTI1eWpVdDU4b05sMnFzZDdZOEFrc2FnMEJwS1hE
aWhNTEkKVWlmakkwV2hVTUNhb09KaXJ5eXFhdmJjUmdsOU1FMHkxa2gyM2Mrcy9qV0JKK3ZtbVRZ
eXVaWjdnYmdmeUFTS2oxMWVFSXBXWENHTwpjOENGQ3dxVDczd0QvcGlZQ0d3eUw3TXBxR2xKQkNL
VGJvRFFjQ1lTOEVvQ1Roc2dsV0pqNXRGaU93SkhlU1ZHV3laVjg0bG9TMVhXCklZRkdJckIzcjlM
QXpWQWRmd09xTmVMdnZNaThYSDZZMnBMT0J6ZERXYlY0NkZwcCtmM2lhQk5iZXJKY1IzcDdvUUZp
bVkrbmxsU0sKSDdxS0ZIUVBtaFpBQzNHVWlabkpRNlJMQVpmRW9Uc3ZFKzFNMHdYdFoxYWQzTFlK
dWdzN1BzZGtNTU5vOEQyOURrV2ZPNjBTZWxRbQozc3ZLaFk2ZFY5QXpoRVdnSWxZWXh3cDZWUzdl
QmdORm9IT3JxVElJYU5PUkJvaFZTQ3owWkFKT0d5Q2VQSG5LVGdJa1lCdUI4eFhuCmNLYndvS0Z5
MDRBZ3RHalYwWERORXhKUWc4QUY4VlB5d2Z4OVJsMjFpNjh4RUl4eWVVRUN6aEU0bUo5bjFFRjB1
M2o0QjlSWXBlSHEKMVFBQUlBQkpSRUZVcmtZbHZDQUJFbkFGQVJvZ3JxREtQa25BeXdqOHVtY3ox
djluckdGV3JXSVNNRzFKanVHYUp5U2dCb0VEKy9QeAo0RWdSMUtKTzJwUXJmbXBtSWdHVkNaanEy
Y29QYzBCalYyWEk3STRFckJBUUR3S1pTSUFFU0lBRVNJQUVTSUFFU0lBRVNLQmhDRFNJCkFmSjdm
aTVPSEQzVU1ETnlZQlIzbDgrQktiRUpDWkFBQ1pBQUNaQUFDWkFBQ2JnbEFaY2JJTC84K0RXbTNu
WWxNdGUvNUpZQTNGMCsKdDRSR29VaUFCRWlBQkVpQUJFaUFCRWpBUVFJdTNRTlNWbEtNNStaTVFI
VzFlNjdoZFhmNUhMeW5iRVlDcWhQbzJXc01FdGM1OTNmOAowcHA1eUhwa3EwWForbDQvQnZPV3Ax
a3NSM3E2cm14czdWNFV5NVZaNG9rRXVuVlBnTE43UHY2Yk5oOWZwaSt3T1Azb0RnbDRiWk9LCis1
Znl4R2JtUk9GdU5TVUZtRGZQNHJnc2NDOEN6dXJadDU5bElIVjJzdFZKUGUza2U2YlZ6bTBwbkQ5
ZnA1ZTV1VUFDblRuWWdveDEKR282QVN3MlFsVTlOUWVVRjRYVGRUWk83eStlbTJDZ1dDVmdrSVAz
aGw5VzRReldxcEluQXhhYkNkeWtUQ1RReWdVdlNtM1JkbDc1aApNVHFKNnViVnlPanZiMXVNbTBh
ZUVvZjNjQUpHK3FpZlM2ay9OSmNuWVkrZmNPVzdSNTlaK3hvajFEWTh2UGFhWnlUZ2FRUmNab0Jz
CnkxeVAwbk5GR0hqVFdIeTBkcm5iY1hGMytkd09HQVVpQVJzSVNPT2pvRUNob2w4bm5BL2twNlVD
R1dZMU1JR0xGMDEwTlBwcW5RUUYKNW9MSUdEZTJCTmswYjhrY0VyQ2RnT0o3SnNMdysxWDM0WCtu
UkQ4Zm12YzFjaVRRclp0NVBuTkl3Rk1JdUdRUHlQRWp2K1B0bGZNeAovYW5Yb2RHNFg3QW1kNWZQ
VTVTSGNwSUFDWkFBQ1pBQUNaQUFDWkNBdlFSVWZ3SWk5M3NzblRzUjk4NUpSY1JscmV5VlIxdC9Y
ODRQCktEcjFoMUhiNE5CdzlPZ3pDRm5iUHhhaGJtc2pLU2NrRFVSb2VIT2p1dFl1MUpEdmh4MmY0
SkxKdmhZWnhDaTJRMWZ0MEdmUG5NU3YKdTc4emlCR2YyRWVjdHpGYzg0UUVTSUFFU0lBRVNJQUVT
SUFFZkpXQTZnWkkrbXNMRWRlbEovb09HdVl3MDhpVzBjamR0UU9ybHN6Uwo5dEUrUGhFcHJ3akRR
NlJtRVpkaDFsMERFSi9ZRzNjLy9Bd0NnMEswK2JiK3A0WjgvdjZCZUhiMk9HRWtIZGNPTzIzQmEr
aDI1UUNECkNNRWhZYmh3dmdJTFo0ekZuMi8vR3hKNy84bFF4aE1TOEVRQ2Z1V0EzeUhscDVtOWsy
cVhBdXdSYTVVTGR5alBVSE5CdWIyK2RxRHEKNzBiNm52bnFLUVRDeFRhaDRRbm1lbUpOcjB6bnBp
a3piMSszanNZNVh3cDF1K0s1QnhOUTBqUERkTkl6Z1dVcHdHVHgyWjNRd3BCZAo5K1RJRDliMXJH
NWRucE1BQ1pnVFVQVWpmKy91NzdIajB6UXNYZit0K1VoMjVFUzFqc0dvdTJmZ3hMRkQrSEROQ3po
MS9ERGtsM3FaCkNuL2JpM2FkRXJEb2phMElDZ20xbzFkQUxmbXU3SDhkN25ua1dhUStkcmQyL0N2
NlhZdndpTm8zcVlEQUlNVEVkZEUrbVpuODJESUUKQmR0bkpOazFLVlltQVJVSmROVTl4TE9yUjI2
RXRBc1hLenRBUU9xWXJicjU3YzhPRE1BbUpPQUNBbklQa1ZJSzRWY0NKU3pNOHpFQwpxaGtnNWFV
bFdQYkVQWmkxK0MzeFZDSllGWXdUcC84TFdkc3ljZVQzZlZpei9BbE1tTG9BYTFmOEUvOWM4YUhk
eG9mYThnMjVaVHplCmVma3BIRG1Zcjkxa1AvbXhGNHptdkhOTEJnWU52WlBHaHhFVlhyZzdnVkdq
M0YxQ3l1ZUxCS1RISDNuWWtyNzQycFphckVNQ3JpY1EKRitmNk1UZ0NDWGdxQWRVTWtGY1hUc2Yx
bys1R3ArNy9weG9MYWNnOC9QUnF6Sms0Q0orOCt3cnljM2RoYVBMOTZOaTlsOTFqcUMyZgpuNThm
UnQvektGNU11UTliM244ZDQ2YWtJS3haN2M4ZFd6ZXR3Nk5MMXRrdEp4dVFnTGNTdU9iR21laHhq
WElNRC9sQkhkVW0xclZUCkx5d0VaczRFa3BPQk1XTmNPeFo3YnpRQ3cwWW1JeXhheE9Vd1NTZE9B
S1dsRUQ5ZTJiNW4wS1FMMTExbVpBQnBhVUJxS2hEcjRyOEQKMTgzQ3AzcnUzVzhBNXFhS2UrYnRh
Wlp1S1R5V0x2WDJtWEorRFV4QUZRUGtxeTN2NGRqaDN6QlY3SVZRT3lVa1hZTVI0NmRxbnpJYwoy
cCtIUlc5dXRYc0lWOGwzL2NpSldQdmlreWc2K1FjK1RmczN4dHc3Unl2Ykx6OTlnNmIrQWVoNnhW
VjJ5OG9HSk9DdEJOcDE2bzlMCkljcC9FNzNzLzAzQmZrekZ4ZEFHTTVSQjQyaUEyTS9QUTFwMDZ0
SWQxWkhkemFRdEtEQ0ovMkZXb3hFelpLQTRHV2d6SmFVUmhlRFEKOWhDSXZqeEdoQm53Z1I4eU5t
L1dZYUVCWW85NnNLNE5CSncyUUtSWHFSVXBrekhnK3R1dy9tWHo2TE43ZnRidEI4bk4zb2wxTDZW
bwpSYnBoMUYvUk9pYk9CdkYwVlpJbi93T2IzbjRSNVdVbFNGKzFDT1BGMHdaYjA4V3FLcGZKNXg4
UWlGdkhUOE9hWlk5ajQ3b1ZZdC9LClRHRjQrT1BMald0eDQyMlRiQldSOVVpQUJHd2tjTEJqRW5D
bTFndWVhYk15RVFneEpNQTB0K2I2alBCRU4vMFZvR052SU05eUgxWTMKcDFyb210bmVSYUE2Uk9p
SGNGSmZLbzZEWjh6blZpU2NNdXdUVDFTMHlVYTlNdTFsVUNjTjVLWjdKdDhsY0xKRUJHNnR2SVJx
M1JaWApNeENhSU9IMDA4SitrVjJuQWZHYnJQWFVjVGlTT205RXRQVmFMQ1dCUmlIZ3ZBRWlvanFW
bkQyRHo5NWZiWFVDdi96NE5lUWhVODgrCmcrMHlRT1JUaGs0SlNaRHVlZE5lZlFaWDN6QWFIYnBl
WVhVOGZXRlZWYVZMNVJ0MjV3T1FuclZPSFQrQzdaKzhvOTMzOGZWbjcySDUKZXovcVJlQXJDWkFB
Q1pBQUNaQUFDWkFBQ1pCQURRR25EWkFtVFp0aXlWc1cvRzZLUVQ1KzkyVnMzZlEyaHR3eURzUHVl
RUE3YlB2TwpQV3krQWJ0MmZJcWNIN1pqaGZoQy85VFVVY2pldVJrdlBENEpxZTk4QnpsMmZVaytw
WENsZkhMZng4M0prL0hCRzZuaVdDbzhYMFVJCkY4RjkwRUs0RW1ZaUFSSlFsMERtQjh1QnlFaUxu
WWI0YStEZnBMYTRaNzhoNk5sM2NHMEd6MGpBQmdMZmYvSXlTb3VQbzRuUXBVQ0YKcHhUU1pYUlEw
eG8zckJYbGFIZnNEQWIyRmsvV21FakFEZ0paWDJTZ0lEOEhaV1VXR2xWcm9LbXFMUXR0M2dwWDNh
RDdIbFdieXpNUwo4RXdDOVgrRHIyZGVNdEs1M0tkaEtYMzM1VWZhb3FqV3NWYnJLYlUvVjNRYXk1
KzhGM09Xdmd0cFNFeGJzQW9QakVqQS9sOStSTWJxCkpiaERMTTJxTDhuTjRxNlNUei8yeUlrenRI
dFVmdHU3RzY4dG5vRkpNeGZyaS9oS0FpUlFROER2bkZoT1lDRkdRNUl0KzI2L3lVRG0KWnJGTzNv
NDBUdFNsQVdJSE1DK29lbmt6NWFWTnhmbEE4VW5iSnZoOTVrb2NQMXpmK3BiYXZnWjJUc0xBMmt1
ZStRQ0J5R0FnS2JiRwpDSFZ3dnM5dVQ4ZTJUMjEvVDJzVmswQUR4RUhXYk9aK0JNUUsxOFpQcTUr
YmpiOFA3WXp2dnR4b0pNekxUMC9CVmRmZWFqQWdaSHlRCjhRL04xOVpadjNJQkNuNzluMUY5VjEx
WWtrOC9ucFJMdXVXVnFiUzRDUDJHak5BWDhaVUVTS0NHZ0Vic3o5QUdOQlRyNTAxZm81c0IKOVI2
RnRuOGhKSFRmSlJBbW5sZ282Vkt3Q0VCb3FuZVdybUY1aTVEdmd1WE1qUWdFK1N2cm1aTHVXY3Fy
KzdUV3FITmVrSUFQRUhENgpDWWl6akNyS1NySGh6VlRJemV5Wjc2d1VCb2Z1eS92Ny8za09YMy8r
QWRadVAyWTB4TkRrKy9DVzJQUjlYanoyWGpEbFZtM1F3OGlvCjFrWjExTHl3SkovcEdMZFBlaFJm
YkhnVGc4VlNNLzhBUzd0Z1RWdnhtZ1M4aTBDM2JyVlIwYjFyWnB5TnB4T3dKOGJOSzY5Nyttd3AK
dnpjU0NCS2IwaHZFWTZBM3d1T2MzSTZBeXcyUXVDNDljYzJmYjBmN3pqMFZKeStqbWQvNmwrbjRS
aGdidys2NFgxdEhHaC9TZTFhLwpJYmRneTN1dlkvU2tXWWEyOHJyM240WWFydDk0Zmk1R1RwanVV
R3dRMllrajhoa0dyM01TMjdHYmRwa1l2Vi9WZ2NKVEVuQXpBaWRMCnptRFA5MThBSjMrektGbDVu
dlZsRlFNR0RCQkI4V3lNaW1keEZCWjRNNEd5MG5QYS9Zclc1bmk2alFiQjRsZDBiWkp1ZUdXU0xr
L3oKZEUvNkVvVzc2TzdkdSt2eStUOEpXQ0N3YzdPSUlXTXBIVGlBSStmT0lMS09YcGxXalJWeFov
cjM3MitheldzU2NEa0JseHNnMTQ2WQpBSGxZUy9mT1hncDU2TlBvU1kvb1Q4MWVSNHgvU01RRmVj
Z3MzOUVNUitSVEdpc25heHZheHllcUdvaFJhUnpta1FBSk9FNWd6OUVECldQU3hjL0dLMGtXOGhq
R01JK0w0VGZDQmxpZVBIc0tpbWNuMnoxUUd5cXhKS1NrcG1EZHZudjZTcnlTZ1NNQW1QYXVqVjZh
ZGpCMDcKVnNUQTlJR0FpcVlUNTNXakUzQzVBZExvTTJ3Z0FUYXNlUjRqSmt4cm9ORTREQWw0TDRH
c0xPRHdZWVg1RFJJL1V1VGVyRkJnZTFaVgpvTmc1Nm1RNmNBcklMclRjU2FUdzI5K2hoZVZ5bG5n
ZmdkS3cxaWp3NndBVTZPWjI1SWp6Y3p4eTFycWV5YWNuM1YyMyt0ajVDYkFICmp5Qndwc3k2bnFI
L0dDUjlhK1VwaTBmTWtrSzZJd0VhSUE3ZWxkTW5qaUlrdEJua0VyS3NiWm5JejkyRng1N25INm1E
T05tTUJBd0UKcFBHeGQ2L2hzdmFrL1UyMTV3NmVWZnZwMTd3NDJJRm9kcWJzRW80V1c5dWxyS0VC
NGpoZWoyeFpHUkNLSW8yd09vdDA0cDhUQWVhYwpUU1hucmV1WjNHemZ2YlgxNVlMT3lzRDIzaytn
b3NxNm5xRnRBdkN0OTNQZ0RCdWVBQTBRQjVodnkxeVBaMmVQMThZaDZkRGxDaHpZCit6Tm1MVnpE
emVjT3NHUVRFaUFCRWlBQkVpQUJFaUFCM3lMZ0ZtNTRQUTE1U0pqd0dTclN4YW9xNU9kbFEzcm1H
ano4TGsrYkJ1VWwKQVJJZ0FSSWdBUklnQVJJZ2dRWW53Q2NnRGlEdk8zZzRubG45QlE3cytVbEVQ
ZStOSG4wR09kQUxtNUFBQ1pBQUNaQUFDWkFBQ1pDQQo3eEZ3MmdBSkZqMDRHdzNVRTdFbnhWNG54
SllIRXdtUUFBbVFBQW1RQUFtUUFBbVFnSzBFbkRaQW1qYlJSUU8xZFVEV0l3RVNJQUVTCklBRVNJ
QUVTSUFFUzhGMENUaHNndm91T015Y0JIeUVnQTZPSm9HaElTWUVJVE5Db2szNTZYYlhpK0JFUklx
aG9uR0lSTTcyWndQejUKT3IyVWdmd1NoTGNlbGRJYm4rU2c1THg1WnovOVpKN0hIQkpRSk5Damh5
NDdKMGV4V0dZdWZpV3RIbzk2RnB1eWdBUThuZ0FORUkrLwpoWndBQ1pDQUtZR2lHbmVvUnZtbC9p
Z1BZWUFPSXlhOGNGc0NGUlhDcTIrTkhrc0RtNGtFWEVtZ3RCU29yRlFZSVN3R2U5cmRDT3d4Ckx3
c1BCMkppelBPWlF3SzJFS0FCWWdzbDFpRUJFdkFvQWdVRlN1S0c0WFJVWjZVQzVwR0EyeEdReG9k
ZWozdjFjanZ4S0pDWEVUaHgKb3RiZ05acGE5TlVvSEh3TjhLRlJydmFpYTFjYUlPWlVtR01yQWJy
aHRaVVU2NUVBQ1pBQUNaQUFDWkFBQ1pBQUNUaE5nQWFJMHdqWgpBUW1RQUFtUUFBbVFBQW1RQUFt
UWdLMEV1QVRMVmxLc1J3SWswT2dFbWg3U0tNb1FFd0lNcjdNSE9XZWpZalg0RlNtM1Y2N05YRjhs
Ck1MaVRzcDVZMGl0VFRrMU9LYmMzcmNkcjN5YVFGQ3ZuVDEzeGJTM3czZG5UQVBIZGU4K1prNEJi
RW5Ca1U2TWpiZHh5OGhUS3JRbkkKTmUrMnBJQkNXMnF4RGdtUUFBbjRMZ0VhSUw1Nzd6bHpFbkJM
QW4zN0F2SmdJZ0YzSXpCcWxHMFNaZjFrV3ozV0lnRVNJQUZmSlVBRAp4RmZ2UE9kTkFnMUpJQ01E
U0VzRFVsT0JXTzI2ZzRZYzNUQld1N2dCdUhPYWtFTWh0V3dGaElxbFhQV2xicjBHMUZlRjVaNUVZ
TllzCm5iUkxsNm9tZFV4c1c4eE5OZGV6MGpMZ3hISGJobWtWSzJMdk1Qa3VnVUx4R0czbVRDQTVH
Umd6eGlJSEpUMnpXRm1oSUtwTjQ3MGYKSzRqRExCOGlRQVBFaDI0MnAwb0NqVVpBQm9wTFQ5Y0Zq
V3MwSVlEbUVUSG9FYS84WVI0WEJ6RGVRaVBlbk1ZYWV2Tm0zY2dxR2lEaApJa0RDd0p2TTlheXVh
OTNHbWk3SDlSQUN4Y1c2OTB3WkJOYUtBYUtrWng0eVE0cnA0d1JvZ1BpNEFuRDZKR0FMZ2FPZGV5
Tzc0M0FnCjc1SXQxYzNyeUxiVDJ3Qm54R0doaitobUd1ZzJaWm8zWjQ1dkVEZ25vbzl2MzIrSGp0
bWdWNmJrd2dJQlM1dk1UZXZ5Mm5zSlpGcDQKSDlMTzJBRzlNaU0xOWtrTVQxOWdsczBNRWlBQkhR
RzY0YVVta0FBSmtBQUprQUFKa0FBSmtBQUpOQmdCR2lBTmhwb0RrUUFKa0FBSgprQUFKa0FBSmtB
QUpjQWtXZFlBRVNNQm5DR2pFRWgrL2s4cCs5enYyQU9KVTJJOFo3Tzh6T0RsUkN3U2tEaVRGbXV0
WlFSVnc4S1NGClJsYXlsWlltK2pleDBvQkZQa05BU2M4Y21YeHhQbERzZ0c0Nk1oYmJrSUFrUUFP
RWVrQUNKT0F6QkRUVkl1eFh1ZkowSXdPQTZHYksKWmN3bEFYc0lOQlZyQzVSMDZhelFNVDhMK21l
dGY2VytyTlZubWU4UVVFczNnc1Y3b3lPNjZUdWtPVk8xQ2RBQVVac28reU1CRW1oMApBblBtTkxv
SUZJQUV6QWgwNndiSWc0a0UzSTJBclRGdTNFMXV5dU81QkxnSHhIUHZIU1VuQVJJZ0FSSWdBUkln
QVJJZ0FZOGpRQVBFCjQyNFpCU1lCRWlBQkVpQUJFaUFCRWlBQnp5WGc5QktzaWtyaDFyL1Fjd0Uw
bE9SS213Z2JhbXlPUXdLMkV0aXdRYUZtY1N6S2IxNkUKMDM0ZGdBTHo4cFl0UlFUeFVQTjgwNXh6
VVRFNFh5bUNNSlNZbHVpdUt5OHE1OXVUMi9FeUVVd3cySjRXck9zSkJFcExSUVR4RXdxUwpTcDJN
anhTRlFnSFA2c3JGUG05VTFlei9qaEw2WUpwa3JKSHN1cDlaL1dzQ0J0Yk5NMjFrY2kzWDNhdTE5
dDZrYTE1NkNJRUxRdEdLCks4UnhEcmh3UVVIb3pqZmdqNG1Kd0Niek1obndOQzdPUE44b3B5UUNr
VWszUUdnNEV3bDRKUUduRFpCS3NYSHBhTEVkZ2FPOEVxTXQKazZyNVJMU2xLdXVRUUNNUjJMdFhh
ZUJtcUk2L0FkVWE4WGRlWkY1dWEvVHc4OEhOVUZZdEhycFdXbjYvT09xa1p4OFp6SkFHaVBrOQo4
dlNjU3ZGRGw0d2licFkwTFlBVzRpZ1RKZklRNlZMQUpYSG96c3RFTzlOMFFmdVpWU2UzYllMdXdv
N1BNUm5NTUJwOFQ2OUQwZWRPCnE0UWVsWW4zc25LaFkrY1Y5QXhoRWFpSUZjYXhnbDZWaTdmQlFC
SG8zR3FxREFMYWRLUUJZaFVTQ3oyWmdOTUdpQ2RQbnJLVEFBblkKUnVCOHhUbWNLVHhvcU53MElB
Z3RXblUwWFBPRUJOUWdjRUg4bEh3d2Y1OVJWKzNpYXd3RW8xeGVrSUJ6QkE3bTV4bDFFTjB1SHY0
QgpOWmFyVVFrdlNJQUVYRUdBQm9ncnFMSlBFdkF5QXIvdTJZejEveGxybUZXcm1BUk1XNUpqdU9Z
SkNhaEI0TUQrZkR3NFVnUmtxWk0yCjVZcWZtcGxJUUdVQ3BucTI4c01jME5oVkdUSzdJd0VyQk1T
RFFDWVNJQUVTSUFFU0lBRVNJQUVTSUFFU2FCZ0NMbmtDVWxGV2lrTUgKZmtGMWRUWGFkVXBBY0do
WXc4ekd3VkYrejg5RlNHZ3p0SXh1NjJBUGJFWUNKRUFDSkVBQ0pFQUNKRUFDSkdBTEFWV2ZnSndy
T28xLwpQek1kZDE3ZEFqUHU2SWRaZC9YSDJIN05zSFR1UkpTY1BXT0xQQTFlNTVjZnY4YlUyNjVF
NXZxWEdueHNEa2dDSkVBQ0pFQUNKRUFDCkpFQUN2a1pBdFNjZ0Y4NVg0TW43YmhZYkNIUFJ1VWRm
QkllRVlWL09EemgzOWpTKzNMZ1crL095c1N4amw5amtKZHlIdUVrcUt5bkcKYzNNbWFKL1V1SWxJ
RklNRTNKSkF6MTVqa0xqT3ViWDRMNjJaaDZ4SHRscWNYOS9yeDJEZThqU0w1ZlVXN05vRmpMb2Yy
TEFHU09ERwo1WHA1dVdHRmJ0MFQ0T3llai8rbXpjZVg2UXNzemk2NlF3SmUyOVRBKzVkNjFPeHJ5
V25nY1MxU1lJR3pldmJ0WnhsSW5aMXNGZVRUClRyNW5XdTFjamNJOHNSRS9VYmdLVGtrQjVzMVRv
MGYyUVFJMkUxRE5BRm0xWkJiQ203ZkE2czkvUi9QSUtLMEE1YVVsZUduQkE5aTYKYVIwTzdzOUR4
cXJGdU92QkoyMFd6dFVWVno0MUJaVVhoRk40SmhJZ0FWVUlTSC80WlRYdVVJMDYxRVRnWWxQMytm
SEJTRFplK0JTQgpTOUtiZEYyWHZtRXh1dm5YemFzaDR1OXZXNHdibndMSXlhcE93RWdmOWIyWCtr
TnplUkwyK0FsWHZudjBtYld2TVVKdHc4TnJyM2xHCkFwNUdRQlVENUh4Rk9YWi8veVdXWjJRaklG
RDRycTVKY3UvSDlLZFdpU2NoV1RoYzhDdDJmYlhaYlF5UWJabnJVWHF1Q0FOdkdvdVAKMWk3WGk4
eFhFaUFCSndoSTQ2T2dRS0VEdjA0NEg4aFBTd1V5ekdwZ0FoZEZ3RXNqSFkyK1dpZEJnYmtnTXNh
TkxVRTJ6VnN5aHdScwpKMkNrajRabVlmajlxdnZ3djFNaTQwTkRwdUZrNUVpZ1d6ZkRKVTlJd09N
SXFMSUhKR3ZiSm96KzZ5d2o0ME5QUWk2NUduRDlLTzNsCnNVUDc5ZG1OK25yOHlPOTRlK1Y4WVJ5
OURvMkd3YVFhOVdad2NCSWdBUklnQVJJZ0FSSWdBWjhpb01vVGtENkRobHZkMjlFcUprNEwKdFUx
c1I1dmd5cjBqUmFmK01Lb2JIQnFPSG4wR0lXdjd4eUxVYlcwazVZU2tnUWdOYjI1VTE5cUY5TXds
TjhYZk95Y1ZFWmUxc2xiVgpZdGtQT3o3QkpkRlAzU1NER01WMjZLck5PbnZtSkg3ZC9aMmhPRDZ4
anpodlk3am1DUW1RQUFtUUFBbVFBQW1RQUFuNEtnRlZESkNnCjRCQ3IvSTRkT3FBdDc5S3puOVY2
K3NMSWx0SEkzYlVEY2wrSlRPM2pFNUh5aWpBOFJHb1djWm53cmpVQThZbTljZmZEenlBd3lQclkK
MmtaMS9rdC9iU0hpdXZSRTMwSEQ2dVRhZCtydkg0aG5aNDhUUnRKeGJjTnBDMTVEdHlzSEdEcVJH
L0RscHZ5Rk04Yml6N2YvRFltOQovMlFvNHdrSmVDSUJ2M0xBNzVEeTA4TGVTYlZMQWZhSXRjcUZP
NVJucUxtZzNGNWZPMUNWZHlOOWIzejFSQUxoZ2NEd0JITTlzYVpYCnB2UFVsSm0zcjF0SFkvemJV
ZDBpbnZzUUFTVTlNMHcvUFJOWWxnSk1GcC9kQ1MwTTJYVlBqdnhnWGMvcTF1VTVDWkNBT1lFRytj
aVgKSHJEa1VxemJ4REl0VzFKVTZ4aU11bnNHVGh3N2hBL1h2SUJUeHc5cnZXckp0b1cvN2RYR0Zs
bjB4bFlFaFlUYTBwMmh6dDdkMzJQSApwMmxZdXY1YlE1NGpKMWYydnc3M1BQSXNVaCs3Vzl2OGlu
N1hJanlpOWsxSzdvT0ppZXVpZlRJeitiRmxxTTlBYzBRR3RpRUJWeERvCnFudUlaMWZYM0FocEZ5
NVdkb0NBMURGYmRmUGJueDBZZ0UxSXdBVUU1QjRpcFJSaTMrK21TbDB3andROG5vRExEWkRmOXU3
V2JsQlAKbnZ3UHV3UDlUWnorTDJSdHk4U1IzL2RoemZJbk1HSHFBcXhkOFUvOGM4V0hkaHNmMGlQ
WHNpZnV3YXpGYjRtbkpzRk8zN2dodDR6SApPeTgvaFNNSDg3V2IyQ2MvOW9KUm56dTNaR0RRMER0
cGZCaFI0WVc3RXhpbDI2N2w3bUpTUGg4aklEMyt5TU9XOU1YWHR0UmlIUkp3ClBZRzRPTmVQd1JG
SXdGTUp1TndBZVYwc281SlBDTVpOU2JHYmtUUVVIbjU2TmVaTUhJUlAzbjBGK2JtN01EVDVmblRz
M3N2dXZsNWQKT0IzWGo3b2JuYnIvbjkxdGxScjQrZmxoOUQyUDRzV1UrN0RsL2RlMTh3dHJWdnR6
aDNROS9PaVNkVXBObVVjQ1BrbmdtaHRub3NjMQpZeFhuTGorb285ckVLcGE1VldaR0JwQ1dCcVNt
QXJFZUlLOWJ3V3NZWVlhTlRFWll0SWh0WUpKT25BQktTeUYrdkxKOXo2QkpGKzU5Ck9hdG1oY0hT
cGU0dHA1ZEkxN3ZmQU14TkZlOEZUTllKRkJZQ00yY0N5Y25BbURIVzY3TFVwd2k0MUFENU5PMVZu
RDV4RkV2VzdrU1QKSmswY0FwdVFkQTFHakorcWZjcHdTTVFTV2ZUbVZydjcrV3JMZXpoMitEZE1G
WHMxMUV6WGo1eUl0UzgraWFLVGYrRFR0SDlqekwxegp0TjMvOHRNM2FPb2ZnSzVYWEtYbWNPeUxC
RHlhUUx0Ty9YRXBSUGx2b3BmOXZ5azBEb3ZjWENBOVhSZTRxM0VrNEtqMUVPalVwVHVxCkk3dWIx
U29vTUluL1lWYkR3ek0yYjlaTmdBWklnOXpJNk10amhCdC9mcUd1RjNaeHNlNDlVd1k4cEFGU0x5
NWZxdUF5QStSL1dkdVEKOGZwaUxCUjdOZW8rR1hBRXJseSt0ZW50RjFGZVZvTDBWWXN3M282bktS
ZXJxckFpWmJKd0JYd2IxcjlzSGgxM3o4KzYvU0M1MlR1eAo3cVVVclhnM2pQb3JXdGQ0N3JJbXI5
elhjdXY0YVZpejdIRnNYTGRDN0Z1WktRd1BmMjNrOXh0dm0yU3RLY3RJZ0FSY1FHRFBOYmNoCis0
endPSmRYNnlsUDFXRTZEa2RTNTQySVZyVlRkdVpwQkE2ZnZZUjk0b21Leldsc1RRQmVPL1N5YzB1
Z1MwdHVkTGFac1JkV3ZCUUEKVkxWVmZpL2JkUm9RdjhrNmw4UjdaZlN3eVVoeXJoZTJKZ0dIQ0xq
RUFKRmVyMTZhZnovbXZaeHA5NzRQcFZuSXB3eWRFcEpFUU1NZgprUGJxTTdqNmh0SG8wUFVLcGFw
bWVWVlZsU2c1ZXdhZnZiL2FyS3h1eGk4L2ZnMTV5TlN6ejJDYkRCQlpkOWlkRDBCNjFqcDEvQWky
CmYvS09kdC9IMTUrOWgrWHYvU2lMbVVpQUJFaUFCRWlBQkVpQUJFaUFCT29RVU4wQU9YdjZCSlk4
ZWhjZVdid1diVHVhaCttVWNUaGsKa25zb2JFbTdkbnlLbkIrMlk0WDRRdi9VMUZISTNya1pMencr
Q2FudmZJY21UZXNYWHo2bFdQS1dCYitnUW9DUDMzMFpXemU5alNHMwpqTU93T3g3UWl0Uytjdzli
Uk5QV2tVOTNiazZlakEvZVNCWEhVdUg1S2tLNENPNkRGc0tWTUJNSmtFRERFdGhXa0lOOXF4ZUxo
ZjYyCk9acG9MbUlCRFJjL0lqQ1JnRDBFZnY1dUc3SyszbVo3azd4Y2pCdWl2UC9KOWs1WTA5Y0lI
RC95QzNLeTNsV2N0dlN3RlJSa1hqUjgKM0JRMGo0d3lMMkFPQ2JnWmdmcS93ZHNoY0ZsSk1aNlpm
anYrUHVkNWJad09wYWFaNjFlaTcrRGhhQlBiUWFuWUtPOWMwV2tzZi9KZQp6Rm42cnRhTjc3UUZx
L0RBaUFUcy8rVkhaS3hlZ2p2RTBxejZralIwNUQ0U1MrbTdMei9TRmtXMWpyVmF6MUo3bVQ5eTRn
enRIaFhwCjhldTF4VE13YWFiNEFzUkVBaVJnUk1Edm5JZ2hhaUZHUTVJYSs3ay96a2JxdmwzNDc5
WjNqTWExZHRHdVV3SU5FR3VBUExEczhtWWEKeUhnaXBxazRIeWcrYVpwci9icEZHS0NrbTV0ZTM0
YTNWODYzM3Rpa2xBYUlDUkFQdjR3VXYzRWt4YXF6Ukc3MzU4b3dUdXpQeFgvZgp0MC9QQnQ0MGxn
YUlNazdtdWhrQjFReVE4eFhsbVAvQUxiaGN4TDg0Vm5oQWU5U2RhM0hSS1JTSUwraG5UaDRUbThv
ZnFsdUUxYy9OCnhqZGZmSUI3WjZmaXFtdEhHTXBlZm5xS3VMN1ZZQmpJK0NEakg1cVBWWXRuWXYz
S0JiaHF5QWh0VUVGREF4ZWRXSkpQUDV5VVM3cmwKL1dMRG15Z3RMa0kvSVJjVENaQ0FNUUhOQmNE
U3gzVjBNK082RGwyVkhvWGZ4WXNPTldVajd5RVFKb3dQZVppbVlQSHdYUWJVdENmSgpOa3E2MmRR
eG55cjJETTI2Yms0Z3lGL29oampVU0JiMWttOW5hdUJsSDI1S1FCVURwS3F5RWdzZkhnTzVrVnNl
MXZaYm1McXRxeWdyCnhZWTNVeUdYWm1XK3M5SmdnTHovbitmdzllY2ZZTzMyWTBib2hpYmZoN2ZF
cG05cDhDeVljcXMycUdCa1ZHdWpPbXBlV0pMUGRJemIKSnoycU5VQUdpNlZjL2dGaTV4Z1RDZmdn
Z1c1aTFhVThtRWpBM1Fnd3hvMjczUkhLb3ljd1o0Nyt6UGoxdFRYQSt2OFk1L0dLQkx5RgpnQ29H
U1BaWG14RWcxbHhmZmVOb3Exemtmb3orMTQwMHFpT2ptZC82bCtuNFJoZ2J3KzY0WDFzbWpRL3Bu
YXJma0Z1dzViM1hNWHBTCmJRUjFlZDM3VDBNTmZiengvRnlNbkREZG9kZ2dzcE80TGoxeHpaOXZS
L3ZPUFExOTFqMVJrcTl1dWY0OFZ1eDNrZk9qOXlzOUViNlMKZ0hjUzJGVmVnZ3JwOGpUUGNSYzBZ
K2lPMGp1VlE4Vlo3Zi8xRit6ZVpvZU9uVDJyRzEzR3FxbEpOOTEwRThKbEdIa21FckJBNEhoRgpL
VEtrZS9FNmVtT2hxc1hzQVFNR2lFQ2hOa1lLdGRnTEMzeU5nQ29HaURRVTVPRm91bmYyVXJIOGFx
bWgrZWhKanhqT1RVL2s4aTNUCkpWeW1kZXk1dm5iRUJNakRXaktWVDZsdWpuQTczRDQrVWJWQWgw
cGpNSThFU0tEeENmeTc2RGcyeWNCYVRxUkxsNVJkYXpyUkpadDYKR1lHUFAwekRpOC9hdC81Zmky
QnM3V2IzWFBIRk1pRWh3Y3ZJY0RwcUV0aDk1Zy9NK2EvWWhDTGpHem1ZMGtWYi9xamlJRHdmYnFh
SwpBZUxEL0F4VDM3RG1lWXlZTU0xd3pSTVNJQUhYRURoOEdNaktVdWpiZnd5S1d1d0VqaDFRS0ZR
dnF6eThCVkJ5eHFrT3N3dXROKzk0CkdSQWhOcmt5ZVErQmd1aitRSUg1ZkVKQ2dGYXR6UFBMSzgz
ejdNM0pFeXVZSzZ6c3I1TDdXNVQydU5nN0R1dTdQNEdsVWFOTUFBQWcKQUVsRVFWU0NBZ1VaTDRU
aVFQZWJnUjh0N0lKWGFLS1VkZUFVWVBFOXJTUUNrVWszb0lOU1ErYjVOQUVhSUE3ZWZobmhQU1Mw
R2VRUwpyYXh0bWNqUDNZWEhucTk5OU8xZ3QyeEdBaVJRRDRGendwdlczcjBLbFpva29pSTRVcUZB
M2F5cVFPY3RnNlBGMXArQVJBdFBUalJBCjFMMXZqZDFiVVZoYkVZcmRkaW1xTGxyWEVWdDZPbEZ5
Q2NGV2RFMXUxbysyNkJyQ2xoRll4MU1JRkNucVhnRE9SclozZWdwbnlpN0IKNG50YVpSRFFwaU1O
RUtjcGUxOEhORUFjdUtmYk10ZmoyZG5qdFhGSU9uUzVBZ2YyL294WkM5ZHc4N2tETE5tRUJFaUFC
RWlBQkVpQQpCRWpBdHdqWUZnM1F0NWpVTzl1UU1OMHo3WXRWVmNqUHk0YjB6RFY0K0YzMXRtTUZF
aUFCRWlBQkVpQUJFaUFCRXZCMUFud0M0b0FHCnlFQ0t6NnorQWdmMi9LUU51TmlqenlBSGVtRVRF
aUFCRWlBQkVpQUJFaUFCRXZBOUFrNGJJTUdpQjdXaWdYb1MvcVRZNjRTNDhtQWkKQVJJZ0FSSWdB
UklnQVJJZ0FSS3dsWURUQm9pTUNFc3ZHcmJpWmowU0lBRVNJQUVTSUFFU0lBRVM4RzBDVGhzZ3Zv
MlBzeWNCRHlDUQpuKzhCUXFvajRsMzNwK0ZTaUxMM29GNjkxQm1EdmFoRVFLK1hXN2NDOCthcDFH
bkRkRFAxMFhtNCthL21Na3RYcDhyZWhocEdMbzZpCkVnR3BrekpKSFczRU9DcTNqQnFEVGJuVk9s
bjRQd2w0R1FFYUlGNTJRemtkRWlBQjV3bGN1QUNVbFNuMG80bkErVUJHbGxZZ3d5dzMKSkZBc1hG
WkxnOGpmSHdnTmRVTUJLWkpYRVZBMHZrdjlvYms4Q1h2OGhJdjBQZWJUbFFIVXcvbVdhZzdHQjNK
b2dQakFUZVlVU1lBRQo3Q01nalEvRndGMStuVkRTTE5hK3psaWJCQnFKd0JFUnRMTktJNEphUnRB
QWFhUmI0RlBES3I1bklneS9YM1VmL2llQ0ZlSkRjeHdqClJ3TGR1cG5uTThmN0NkQU5yL2ZmWTg2
UUJFaUFCRWlBQkVpQUJFaUFCTnlHQUEwUXQ3a1ZGSVFFU0lBRVNJQUVTSUFFU0lBRXZKOEEKbDJC
NS96M21ERW5BWndnMGtZLzVUNGsxSndwcCtEaUZUQXRaZThSYTVjSWRGZ3E1SjlRQ0dOL0o3dEpT
Z3k0dHplZTc0VmVnNUpCNQp2cldjbUJCZ2VJSjVqVStEbFBYWXZDWnp2SldBOURBNlBFRWRQY2pa
cUV4Sm83VFhUYmtxYzBsQVZRSTBRRlRGeWM1SWdBUmNUVUJ1CldPemExZFdqc0g4U3NKK0EzRkJy
YjNLa2piMWpzRDRKV0hyUFBIcWFiRWlnY1FqUUFHa2M3aHlWQkVqQVFRTHlDeHUvdERrSWo4MWMK
U3FCdlgwQWVUQ1RnYmdSR2pWS1c2RVN4Y2o1elNjRFZCR2lBdUpvdyt5Y0JFdkFxQXRmY09CTTly
aG1yT0tlNE9NVnNacEtBM1FTRwpqVXhHV0hTaVdic1RKNERTVXJOc3hZem1sN1ZWekdjbUNlZ0o5
TzQzQUhOVDAvU1hEcjEyNnpYQW9YWnM1TnNFYUlENDl2M243RW1BCkJPd2swSzVUZnhIczhDckZW
Z3gycUlpRm1RNFE2TlNsTzZvanU1dTFaTEJETXlUTWNJSkE5T1V4R0hqVEdDZDZZRk1TY0l3QURS
REgKdUxFVkNYZ1VnY3dIVndCNXloSEMxWnFJV3BzbDFaS0gvVFE4Z1czN0w2SGt2STNqTnUwSlRI
OEZpSTYyU3pjSGRkSWdQTkRHTVZqTgpLd2xrRndKSGkxMzRmbmJ6RENRZFBnZWhtVXdrUUFJdUlr
QTN2QzRDeTI1SmdBUklnQVJJZ0FSSWdBUklnQVRNQ2RBQU1XZkNIQklnCkFSSWdBUklnQVJJZ0FS
SWdBUmNSNEJJc0Y0Rmx0eVJBQXQ1SndPOGNjS2xNMlRkL1VxdzZjNDRNVnFjZjl1SzVCQzV2cHJ6
VXJEZ2YKS0Q1cDM3eGFoQUZLdXNtbGJQWng5TWJhOHIwbUtWYjUvY3plK2U3K1hMbUY1cUp5UG5O
OW13QU5FTisrLzV3OUNaQ0FuUVEwRndCTApIOWN5Y0JnVENhaEJJRXpzYzVHSGFRb1dnVEQ5eWsx
enJWL0xOdFJONjR4OHRUVElYK2lHT05SSTl1cWxHbU95RDg4bFFBUEVjKzhkCkpTY0JFbkFSZ1c3
ZEFIa3drWUM3RWJBVXo4SGQ1S1E4dmtkZ3poemZtek5uN0RnQjdnRnhuQjFia2dBSmtBQUprQUFK
a0FBSmtBQUoKMkVtQUJvaWR3RmlkQkVpQUJFaUFCRWlBQkVpQUJFakFjUUpPTDhHcXFCUXUzQXNk
RjhCWFdpcHRBUFNWdVhPZURVTWdLd3M0ZkZoaApyT1IxT055cEYxQmdYaFlTQXJScVpaN1BIQkpR
azBCQmdVSnZwUzJCK0J1QW9DQkYzV3dwaWtOREZkb3hpd1JVSWlBanlzdkk4bWJwCnN0NG92bmtS
Z2dzVGdBMW1wZUF5T0hNbXpDRUJld2s0YllCVWlzMXRMZzBJWk8rTTNMYStwVzJyYmlzd0JmTXdB
dEw0Mkx0WFFlakUKMjFFVktZSjJGU21VTVlzRUdvQkFrYUx1Q2V1aVJVZmQ2QXJsRVJFTklCaUg4
R2tDbGVJSFZFWGRETGtjeGZFeGtCN3ZvUFNlNnRQVQpPSGtTVUllQTB3YUlPbUt3RnhJZ0FWY1NP
RjZZWjlSOWl6YnhhTm8wd0NpUEZ5VGdMSUVqQncrZzZGeUZvWnVvNkxZSUNRMDNYUE9FCkJOUWc4
TWZSUWh3OGV0YlFWZlBMV3FGNVpKVGhtaWNrUUFMdVQ0QUdpUHZmSTBwSUFrNFRXRDZuaDFFZjB4
Ym5vRldzV0Y3QVJBSXEKRXZqSGZiZWlZRit0c1RzM05RMERieHFqNGdqc2lnU0ExUGt6OFhsbXVn
SEZ1QWZuWWR5VWVZWnJucEFBQ2JnL0FXNUNkLzk3UkFsSgpnQVJJZ0FSSWdBUklnQVJJd0dzSXVO
d0FPWFB5RDdlRFZWRldpbjA1UDJEdjd1OVJYbHJpZHZKUklCSWdBUklnQVJJZ0FSSWdBUkx3ClZn
SXVXNEsxKy91dFdMZmlTVVMzajhmRFQ2OTJDMzduaWs3ajdaWHo4VW5hSzZpU3U4OXEwclVqSnVD
K3g1WWhySG1rUG91dkpFQUMKSkVBQ0pFQUNKRUFDSkVBQ0xpQ2d1Z0dTbC8wVjFyNzRKSFovOTZW
V1hHbUF1RU82Y0w0Q1Q5NTNNdzdtNTZKemo3NElEZ25UUGdVNQpkL1kwdnR5NEZ2dnpzckVzWXhm
OEF3TGRRVnpLUUFLcUVuaDZuWEJYNThxVUx0WmpweThBY25KY09Rcjdkbk1DYjN5U2c1THpiaVJr
Cm50aVBrcGdJcEtRQTg3aEh3STN1akZPaUxINGx6Zk85Yjg2ZnI5UEwzRndnZ2Z2eG5GSUlOdlpJ
QXFvdXdUcjgrejVjdkZpRk9VdmYKUmJ0Tzd2VUh0V3JKTElRM2I0SFZuLytPWjlmdXhJSlhQOFhx
endvdzVKYngyaHQzY0g4ZU1sWXQ5c2liU0tGSmdBUklnQVJJZ0FSSQpnQVJJd0ZNSXFHcUF4TFR2
ako1OUIydmQ0YldMZHg4RDVIeEZPWFovL3lXZVdMSEJ5RlZmY0dnWXBqKzFDakZ4WGJUM2E5ZFht
ejNsCnZsRk9FaUFCRWlBQkVpQUJFaUFCRXZCSUFxb2FJSFVKYURRdTY3cnVNRGFkWjIzYmhORi9u
WVdBUUJGeDF5VEpKVmNEcmgrbHpUMTIKYUw5SktTOUpnQVJJZ0FSSWdBUklnQVJJZ0FUVUpLRDZI
aEExaEpNZXFvcE9HWHZQQ2hiQnJIcjBHWVNzN1I4RGwwUlU1NXFVa0RRUQpvZUhOOVplS3IzMEdE
YmU2dDZOVlRKeTJYWnZZam9ydFRUTi8yUEVKTGxVYnI2bVBiaGVQMkE1ZHRWWFBuam1KWDNkL1oy
Z1duOWhICm5MY3hYUE9FQkVpQUJFaUFCRWlBQkVpQUJIeVZnRnNhSUpFdG81Rzdhd2ZrdmcyWjJz
Y25JdVVWWVhpSTFDemlNc3k2YXdEaUUzdmoKN29lZlFXQlFpRGJmMm45QndkYnJIRHQwUU51OFM4
OSsxcm94bFBuN0IrTFoyZU9Fa1hSY216ZHR3V3ZvZHVVQVE3bmM0QzQzdlMrYwpNUlovdnYxdlNP
ejlKME1aVDBpZ01RZzBQYVJSSERaRy9Ha01UMUFzc2k5VGJrQm44bmtDZ3pzcDYxbk9SdnZSOUU0
Q3VuV3p2eDFiCmVEK0JwRmc1UjJWZHMyZjJlL1lBaFR2c2FjRzZKRUFDYWhGd1N3TWtxblVNUnQw
OUF5ZU9IY0tIYTE3QXFlT0h0VjZyNUtRTGY5dXIKM2VDKzZJMnRDQW9KVllXRDlJQWxsMkxkSnBa
cDJaS3U3SDhkN25ua1dhUStkcmUyK2hYOXJrVjRSQXREVTduVVMrNHJrVTltSmd2Mwp2dlVaUUlh
R1BDRUJKd2pFeEZob3ZLVm1iOU9mYnpLcllMR05XVTFta0lEakJMcnFIZzRiZDFCY0RHd1d1cGtv
TE9BRTRhbktKSVdICm0yVHdrZ1JVSmlCMVRGRTM4NFJucWx6aFFlMG04WjdackpuS283STdFaUFC
U2NBdERSRDlyWms0L1YvSTJwYUpJOEs3MXBybFQyREMKMUFWWXUrS2YrT2VLRDFVelBuN2J1MXU3
UVQxNThqL1FNcnF0ZnVoNlg2WDNySGRlZmdwSER1YmpvN1hMaGFIeGdsR2JuVnN5TUdqbwpuVFEr
aktqd3dwVUUrdllGNUdHV25xZ3hyRmVhR3lCbWRabEJBaTRnTUVxM3pjNjQ1N3hDNE81a25TdlNV
ZVlHaUhGbFhwR0ErZ1RrCkR6Q0tQOEw4bkFHOG5RSThUaGU1NmxObmp5U2dJK0RXQmtoZ1VMQTJp
T0djaVlQd3lidXZJRDkzRjRZbTM0K08zWHVwZHY5ZUY4dTgKNUJPTWNWTlM3T3JUejg4UG8rOTVG
QyttM0ljdDc3K3ViUi9XTE1MUXg5Wk42L0Rva25XR2E1NlFBQWw0Qm9Ia1pQR2wySWswWU1BQQp6
Smd4dzRrZTJMU3hDY3lhTlF1SERoMXlXSXkyYmR0aTZkS2xEcmRudzhZbjhMd1E0WnVaTTUxNkFw
S1dsdGI0RTZFRUpPQ21CTnphCkFKSE1FcEt1d1lqeFU3VlBHUTZKV0IyTDN0eXFHc3BQMDE3RjZS
TkhzVVRFQlduU3BJbmQvVjQvY3FJMjZHTFJ5VC93YWRxL01lYmUKT2RvK2Z2bnBHelQxRDBEWEs2
Nnl1MDgySUFFU2FGd0M2VEtvb3BPSkJvaVRBQnU1K1dheE5DeFhCb2h6TUNXSzRJYzBRQnlFNXli
Tgp2aEZ5cE1zbGdrd2tRQUl1SWVEMkJvaWN0VndldGVudEYxRmVWb0wwVllzdzNzNm5GVXJrL3Bl
MURSbXZMOFpDc1plazdwTUxwYnFXCjh1UytrVnZIVDhPYVpZOWo0N29WWXQvS1RHRjQrR3NqcTk5
NDJ5Ukx6WmhQQWw1SklIUHNrMEJlclljNnI1eWtEWk02V253Sm1mVncKR0o3Zy9BWmFHMFJwOENy
YjlsK3lQUkw2R2VFWmNQb3JRTWZlcnRNYkI4YzRWK0djSHN2MjllbkFJTEZoUHp5d3dXK1J5d2ZN
Rml2cgo1TitBUjZlT3czRzA4MGZBdm15bnBtRlZCOFFZU1owM0l0cXBFZGlZQkR5WGdQc0U2N0RD
Y08yTFQ2SlRRcEsyUnRxcnowRHUyM0FtClNhOVhMODIvSC9OZXpyUnIzNGZTbU1QdWZFQzdRZjdV
OFNQWS9zazdxS3FzeE5lZnZZZHJSMHhRcXM0OEVpQUJFaUFCRWlBQkVpQUIKRXZCcEFtNy9CR1RY
amsrUjg4TjJySGp2Unp3MWRSU3lkMjdHQzQ5UFF1bzczNkZKVS92RlAzdjZCSlk4ZWhjZVdid1di
VHVhKzNpcwpyb252SWZkNDJKTGswNU9ia3lmamd6ZFN4YkZVZUw2S0VDNkMrNkNGY0NYTVJBSWtv
QzZCdDErYWIxZUhQZnNOUWMrK2crMXF3OHJ1ClRTRHpuWmR4dHNZRmVyMlNWcFNqM2JFekdOaGJQ
R1ZoOGhvQ096ZG40R0MrN1V2a21sL1dDc1BGajRWTUpFQUM3a1BBL20vd0RTajcKdWFMVFdQN2t2
Wml6OUYydG05eHBDMWJoZ1JFSjJQL0xqOGhZdlFSM2lLVlo5cVN5a21JOE0vMTIvSDNPODlvNElr
cHRNOWV2Uk4vQgp3OUVtdG9OU3NXTGV5SWt6dEh0VTVKT1oxeGJQd0tTWml4WHJNWk1FU01BNUFt
K3Z0TThBR1NlR293SGlISE4zYTUzNTlrczRLUFlECjJwb0dkazdDUUZzcnM1NUhFTmk1T1EzU0NM
RTF0ZXVVUUFQRVZsaXNSd0lOUk1DMm4va2RFS2J5d25sdEs3a2txYjYwK3JuWitQdlEKenZqdXk0
MUdWVjkrZWdxdXV2Wlc3VVowV1NEamc0eC9TUGNGWlAzS0JTajQ5WDlHOWExZG5CZS9oTTEvNEJa
Y0x1SnpIQ3M4b04ybgo4ZVhHdFliWEQ5OWFobVZQL0EyN1JKUnpVK1BEa256NjhhUmMwaTJ2VEtY
RlJlZzNaSVMraUs4a1FBSWtRQUlrUUFJa1FBSWtRQUoxCkNMamtDVWlKK0JLK0x5ZExPMHoyemsr
MVVjRmxjRDZsVkZGV2lnMXZwa0l1ZmNwOFo2VXdPSFJmM3QvL3ozUDQrdk1Qc0hiN01hTm0KUTVQ
dncxdGkwN2MwS0JaTXVSVkwxMytMeUtqV1JuVk1MNlFSdFBEaE1jak4zcWs5UG50L3RXa1Z3L1hj
VkdPM2VaYmtNelNvT2JsOQowcVA0WXNPYkdIekxPUEcwSnNDMG1OY2tRQUlrUUFJa1FBSWtRQUlr
UUFLQ2dLb0d5Tmt6SjdFbFk1WDI4WGpYSy9zYkFLOFNzVGJrCkk5RHJoTnZha0ZBUmVyUk9rdEhN
Yi8zTGRId2pqSTFoZDl5dkxaSEd4NTZmdnhWUEVtN0JsdmRleCtoSnN3d3Q1SFh2UHcwMVhML3gK
L0Z5TW5ERGRhbXlRN0s4MkkwREVGTG42eHRHR2Rrb24wcXRWLyt0R0doVXB5V2RVb2VZaVZ1d25r
ZTNwL1VxSkR2TjhnY0RPM0crRgp6M3lOeGFsMjZ6VkEreFRUWWdVV2VEeUJIM1oraHBPbnoxcWNS
L3Y0UkxUdDFOMWlPUXM4bjhEdTdHK3hkNy9sR0NwUmJXTFJyYzczCkE4K2ZNV2RBQWlUZ0NBRlZE
WkRta1ZFWSsvZTVkc3R4Nyt5bGtJYytqWjcwaVA3VTdIWEUrSWRFWEpDSHpQS3RaVWhEUmg2T0ps
UDUKbFBySkVXNTk1WWRycCs3L3AxVE1QQkx3ZWdLTDBrWG9MbmxZU1BMcDRzQ2J4bGdvWmJZM0VI
anhYek5Rc00veS9veHhEODRUUVZ2bgplY05VT1FjTEJOYTltb3JQTXkzSDBwSHZBYVlyRFN4MHhX
d1NJQUV2SnFDcUFlTEZuT3FkMm9ZMXoyUEVoR24xMW1NRkV2QmtBbGxpClplWGh3d296R0NSK1FN
aTlXYUdBV1NUUXVBUkt3MXFqd0U4NEZTa3dsNk5sU3lBMDFEeWZPU1NnRm9IU1V1REVDWVhlaEU0
VzM3d0kKd1QvRUFyK2FsNDhhWlo3SEhCTHdKZ0kwUUJ5OG16S0Nla2hvTThnbFdsbmJNcEdmdXd1
UFBXKzdWdzRIaDJVekVtaFVBdEw0Mkx0WApRWVQyTnlsa01vc0VHcDlBWlVBb2lqUXRnQ0p6V1NJ
aXpQT1lRd0pxRXBCK2VJb1VkQTlDSjR2amI0RGZVVEdhUEpoSXdNY0kwQUJ4CjRJWnZ5MXlQWjJl
UDE4WWg2ZERsQ2h6WSt6Tm1MVnpEemVjT3NHUVRFaUFCRWlBQkVpQUJFaUFCM3lMZ01qZTgzb3d4
Skt5WmRub1gKcTZxUW41Y042WmxyOFBDN3ZIbktuQnNKa0FBSmtBQUprQUFKa0FBSnFFS0FUMEFj
d0NnREZUNnorZ3NjMlBPVE5xQmhqejZESE9pRgpUVWlBQkVpQUJFaUFCRWlBQkVqQTl3ZzRiWUFF
aXg2U1lpMjczdlJXcEVteDE0bXB5WU9KQkVpQUJFaUFCRWlBQkVpQUJFakFWZ0pPCkd5Qk5td0RS
dWhWSnRvN0plaVJBQWlSQUFpUkFBaVJBQWlSQUFqNUt3R2tEeEVlNWNkb2s0RHNFOGtSY2g4UkVJ
Q1VGdU5KeURJZW4KMTFVck1wR2VodUxpRkl2c3p0eVVxenlHM1IxWmFkQVFZMWdaM3FPTDN2Z2tC
eVhuWFR1RmxSL2xHQWJvL05KOGRGazVIOXMrek1ITwprZ1JEdnJNbmRjZHd0aTlmYTcvNGxUUWNM
YjdrMG1rM1JCeVJ1Y01tQTJQSEFwR1JEczFsMEswOUFIRjh0S1pXWHgzcWlJMUl3RXNKCmNCTzZs
OTVZVG9zRVNJQUVTSUFFU0lBRVNJQUUzSkVBRFJCM3ZDdVVpUVJJZ0FSSWdBUklnQVJJZ0FTOGxB
QU5FQys5c1p3V0NaQUEKQ1pBQUNaQUFDWkFBQ2JnakFSb2c3bmhYS0JNSmtBQUprQUFKa0FBSmtB
QUplQ2tCYmtMMzBodkxhWkZBUXhOb2VralpIWGRNQ0RCYwp2ZjNCRFQwdGptY0hnY0dkbEhWQXNZ
dThZOEN5KzNYT0RmN1NSN0ZLdlptdGRPTU5qdGZnMjQxMmpGM1RjZThrb0Z1M2VrZGhCVHNJCkpN
WEt5dmJmQ3p1R2NIM1Y5RXlobXluQTVEOEJDUzBjR3k5SXg2QjNDdzBLZHpqV0JWdVJnRGNUb0FI
aXpYZVhjeU1CbFFuRXhOamYKb1NOdDdCK0ZMWHlkUU5ldTloTUlEN2UvRFZ1UWdEMEVwSTQ1b3B2
MmpNRzZKT0NKQkdpQWVPSmRvOHdrMEVnRSt2WUY1TUZFQXU1RwpZTlFvZDVPSThwQUFJSCtBNFk4
dzFBUVNNQ2ZBUFNEbVRKaERBaVNnTm9HTURDQTVHU2dzZEx6bldiTUFlVGlhNU5oU0Jpa0xFd25v
CkNiaURYcW54OTZHZkQxKzlnNEFhNzFkcTZKV3pmeC9lY1RjNEN4Y1FvQUhpQXFqc2tnUkl3SVJB
Ymk2UW5nNFVGNXNVMkhHNWVUTWcKRDBlVEhGdktJR1ZoSWdFOUFYZlFLelgrUHZUejRhdDNFRkRq
L1VvTnZYTDI3OE03N2dabjRRSUNYSUxsQXFqc2tnUzhqY0RSenIyUgozWEU0a09kZ2hHUFpkbm9i
NEl3NExQUVIzVXdEM1FaV2I2UEgrZGhLNEp5SW9yNTl2eDA2Wm9OZW1ZNGRGZ2pZdFZuZXRBTmVl
d1dCClRBdnZROXJKT2FCWFpsREdQb25oNlF2TXNwbEJBaVNnSThBbklOUUVFaUFCRWlBQkVpQUJF
aUFCRWlDQkJpTkFBNlRCVUhNZ0VpQUIKRWlBQkVpQUJFaUFCRWlBQkdpRFVBUklnQVJJZ0FSSWdB
UklnQVJJZ2dRWWpRQU9rd1ZCeklCSWdBUklnQVJJZ0FSSWdBUklnQVJvZwoxQUVTSUFFU0lBRVNJ
QUVTSUFFU0lJRUdJMEF2V0EyR21nT1JBQWswTm9IRFFvQnZwR3RLSjJLQkRCZ3dRQVFXY3lBa2ZH
TlBudU0zCkdJRno1ODRKajlGMnVJeld1NGFXYmZMeXRISW1KaWFpZS9mdURTWXpCL0pNQWhuVzNz
c1U5TXAwbHJHeHNlamZ2NzlwTnE5SndPVUUKYUlDNEhERUhJQUVTY0JjQzN3aEJ4c3BZSVBKd01L
V0x0bVBHakhHd05adjVBb0ZEaHc1aDdOaXg5azkxNWt4RG01U1VGTXliTjg5dwp6Uk1TVUNKZ2s1
N1YwU3ZUUG1UN3RMUTAwMnhlazRETENUaHRnRlJVaWg5c0NsMHVwOGNQd1BnR0huOExmV0lDR3pZ
b1RMTTRGdVUzCkw4SnB2dzVBZ1hsNXk1WkFhS2g1dm1uT3VhZ1luSzhVUVJoS1RFdDAxNVVYbGZN
TnVmM0g0R0RIM3NEL0REbG1KMUZDanBBQXMyeGQKUmtrRWZybm1OdUNyRHl4VXNDMzd3Q2tnMjhw
N1htUUkwS0dGYlgyeGxtMEVTa3VCRXljVTZrcWRqSThVaGVMR245V1ZWNG1YS28zdQpQT295OHpZ
eTFvalIvUk42cFUxMTd1bFJFYlBTbWo0MkR3S2FCOWYwTGZRS3d5WURyWktBbWo1K1BXSStycjA1
UjhSOGpPUTA2U0RZCkgramUyaVNUbHcxRzRJSlF0T0lLY1p3RExseFFHTGJ6RGZoallpS3d5Yndz
UXFoTVhCeHdVdWgxbVZKYjJhVG9jb1RjbjRxb1Z2RUcKdlRMdnlmbWNNMlhXOVF6aTd5UHAyd3pu
QjJJUEpHQkNvS25KdGQyWGxkWEEwV0k3QWtmWlBZSzNOS2o1UlBTVzZYQWVYa2xnNzE2bAphVFZE
ZGZ3TnFOYUl2L01pODNMNVlXcExPaC9jREdYVll0dFpwZVgzaTZOTnJQVFVOZ0ZIMjRvbEtjWGlU
Y2RDcXJ5b3NXeUFWQWFoCnFFMUhDeTF0eno1VGRxbWU5endORFJEYmNkcFVzMUw4MEZXa29IdlFD
RXV2aFRqRWx5anRJVjR1QlZ3U2g2N2JNdEhPTkYzUWZtYlYKeVJWNnBVMTFQc2VPaVBNcUt3Wnhx
ZmpTV0ZaWjg1NHU5QXFkaGZFUkZpMTBVNmZieDBzczYzaWRrYTJlbHB5M3JtY3lvR0wzMXZ4Ywpz
UXJSaFlWVlFvL0t4SHRadWRDeDh3cDZockFJVk1RSzQ3aU9YdW5GS1Jkdmc0SEZ3Z0FSUDhiSVBo
U1QrTEVtSkQ0SmxXSEN1RmJvClE3R05BNWtWVmRiMURQTHY0MXNIT21ZVEVxaUhnTk1HU0QzOXM1
Z0VTTUFMQ0p5dk9JY3poUWNOTTJrYUVJUVdyWnovTW0vbzBNYVQKbzRmM0FScnhzNk9GVkJHc1Fa
RDRaVmlmbWwvV0NzMGpvL1NYZkhWekFoZkVUOGtIODhVOXJwUGF4ZGNZQ0hYeVhIMTY0dkFCVkpS
Ygoxck5pOGVXL09MRG15My94V1lTY093TnFtYXZ2aXJyOUg4elg3YlhSOXhyZExoNytBWlllbitw
cnFmdDYrbzlDbkRsYjgrak90R3Z4CnR4QjByRUFZS09KUlc4M2p0b0RBSUxScDIvRHZ1NmFpOFpv
RTFDQkFBMFFOaXV5REJMeWN3Szk3Tm1QOWYyclh0TGVLU2NDMEpUa04KUHV1bkhodG0xNWpqSHB5
SGNWUG0yZFdHbFJ1UHdJSDkrWGh3WkE4akFUYmxXbjdpWlZSUnhZc1hIeDJKbzc4WmYwRzExdjFB
OFFSawo3cEFickZWaG1ac1JNTld6bFIvbW9LR04zZlhMWmlMckM5dVhON1hybElDVkh6WDgrNjZi
M1RxSzR5VUV4SU5BSmhJZ0FSSWdBUklnCkFSSWdBUklnQVJKb0dBSU44Z1RrOS94Y2hJUTJROHZv
dGcwenEzcEdxU2dyeGFFRHY2QzZ1aHJ5RjRYZzBMQjZXckNZQkVpQUJFaUEKQkVpQUJFaUFCRWhB
RFFJdWZ3THl5NDlmWStwdFZ5SnovVXRxeU90VUgrZUtUdVBmejB6SG5WZTN3SXc3K21IV1hmMHh0
bDh6TEowNwpFU1ZuenpqVk54dVRBQW1RQUFtUUFBbVFBQW1RQUFuVVQ4Q2xUMERLU29yeDNKd0oy
aWNOOVl2aTJob1h6bGZneWZ0dUZoc2NjOUc1ClIxOEVoNFJoWDg0UE9IZjJOTDdjdUJiNzg3S3hM
R09YMklRbWRoY3lrUUFKR0JIbzJXc01FdGM1dHhiL3BUWHprUFhJVnFOKzYxNzAKdlg0TTVpMVBx
NXZGY3g4ajBLMTdBcHpkOC9IZnRQbjRNbjJCUlhMUkhSTHcyaWF1bzdjSXlFY0tuTld6YnovTFFP
cnNaS3Uwbm5ieQpQZE5xNXl3a0FROG40RklEWk9WVFUxQjVRVGhkZDRPMGFza3NoRGR2Z2RXZi8y
N3dpbE5lV29LWEZqeUFyWnZXNGVEK1BHU3NXb3k3CkhuelNEYVNsQ0NUZ21RU2tQL3d5NlJMVk5H
a2ljTEdwYmNhOWpQa2czYTZhcGJBWXM2ejZNaXFFSXlPRCs5WlNmNVNIQ0pldFRENU4KNEpMd2Vt
clFDVWxDcjFkMTNQektPdmFrQy82aEtCSTZybmRUWFNKaVF6aWI2dXF1cmE2dW5SMlQ3ZDJid0VY
eEc1QmVkME5DQURXZApkbGw3MzkzVDdrWmdqem1iOEhBZ3h2NjNaZk9PbU9PVEJGeG1nR3pMWEkv
U2MwVVllTk5ZZkxSMmVhUENQVjlSanQzZmY0bmxHZG1RCmJ1ejBTZTc5bVA3VUt2RWtKQXVIQzM3
RnJxODIwd0RSdytFckNUaEFRQm9mQlFVS0RmMDY0WHlnK0xTeUljbUFjL29QV2FQcTBWY2IKWGRw
eUlmdXBsU2NNcDZNNjI5S01kYnlZd0VVUjM2TldKOFJFOVhwVlVEdHBXY2VlVkJiZUdnVkN4MUdn
YS9YSEgvYTBWcTViVjNkNwo5Vkt1dzF6ZklsQXBmdURSNjI1Y25Mb0dpTFgzM2NMQjF3QWZtclB1
MnBVR2lEa1Y1dGhLd0NWN1FJNGYrUjF2cjV3dnZ0eS9EbzJtCjhRTWxaVzNiaE5GL25XVmtmT2dC
eVNWWEE2NGZwYjA4ZG1pL1BwdXZKRUFDSkVBQ0pFQUNKRUFDSkVBQ0xpQ2craE1RNlZsS2J1cSsK
ZDA0cUlrUVFNRWVTM0p0UmRNcjRKNlRnMEhEMDZETUlXZHMvRnFGdWE1K1BKeVFOUkdoNGM2dkQ5
QmswM09yZWpsWXhjZHIyYldJNwpXdTFIWC9qRGprOXdTY3l6YnBKQmpHSTdpSjhEUkRwNzVpUisz
ZjJkb1RnK3NZODRiMk80NWdrSmtBQUprQUFKa0FBSmtBQUorQ29CCjFRMlE5TmNXSXE1TFQvUWRa
Ri9Bc0xvM0lMSmxOSEozN1lEY3R5RlQrL2hFcEx3aURBK1Jta1ZjSnJ4WERVQjhZbS9jL2ZBekNB
d1MKQ3lIclNVSEIxdXNjTzNSQTIwT1hudjNxNlVsWDdPOGZpR2RuanhORzBuRnR4clFGcjZIYmxR
TU1iZVVHZDducGZlR01zZmp6N1g5RApZdTgvR2NwNFFnS2VTTUN2SFBBN3BQdzBzM2NTMEsyYmJs
Wjd4RHJod2gzS005UmNVRzZ2cngybytydVJ2bWUrZWdxQjhFQmdlSUs1Cm5salRLOU81YWNyTTI5
ZXRvekgrN2FodUVjOTlpSUNTbmhtbW41NEpMRXNCSm92UDdnVGxmV05IZnJDdVo0YStlRUlDSktC
SVFOV1AKL0wyN3Y4ZU9UOU93ZFAyM2lvUFptaG5WT2dhajdwNkJFOGNPNGNNMUwrRFU4Y05hcjFX
eWZlRnZlN1d4T3hhOXNSVkJJYUcyZG1tMQpudlNBSlpkaTNTYVdhZG1TcnV4L0hlNTU1Rm1rUG5h
M3R2b1YvYTVGZUVUdG01VGNaeElUMTBYN1pHYnlZOHRRbndGa3k1aXNRd0lOClFVQ3U2YlUzeVky
SVRDVGdTZ0pTeDJ6VnpXOS9kcVVrN0pzRWJDZGd5WG1BM0VET1JBSytUa0ExQTBSNmxGcjJ4RDJZ
dGZndDhWUWkKV0JXdUU2Zi9DMW5iTW5IazkzMVlzL3dKVEppNkFHdFgvQlAvWFBHaGFzYkhiM3Qz
YXplb0owLytoMTJCRW9mY01oN3Z2UHdVamh6TQoxMjZ5bi96WUMwWnozcmtsQTRPRzNrbmp3NGdL
TDl5ZHdDamRkaWgzRjVQeStSZ0I2V25IVm04N1gzenRZM0E0WGJjbEVCZm50cUpSCk1CSm9kQUtx
R1NDdkxweU82MGZkalU3ZC8wKzFTVWxENXVHblYyUE94RUg0NU4xWGtKKzdDME9UNzBmSDd1cTVC
SGxkTFBPU1R6REcKVFVteFMyNC9QeitNdnVkUnZKaHlIN2E4LzdxMmZWaXpDRU1mMHJYdm8wdldH
YTU1UWdLK1R1Q2FHMmVpeHpWakZUSElEK3FvTnJHSwpaWFV6NzVqOWJ0MUx3M2xUOFU0V0xINzNh
QmFvUVlBNEx5alFGYldLVFRUVWtTZnR1Z3lBcFQ2Q2hJTThmMzhoUjZqMXBSWGRldFV1CnR6VHFu
QmR1UVdEWXlHU0VSUnZmZHltWTlQSWpYWTBHaFZqZk15anJEcjBuRmVmTHowS3ZWekpQcG5ONjkv
MnFwUkFBQUNBQVNVUkIKVkxwVmdLYXFWaythdHpEVzNlYVh0VFhvbVY2dlpIdnBYbHE2MTVWSmMx
NjByOTNPcU11czg3K3A3dFlwNHFrYkVPamRid0RtcHFZNQpKY2xOZDgzRWxVUEcxdXFWYVcvVkdt
aUU1eXQ5VXRMZGU1OTYxMGl2OUhVTnI1V2lEd3RlM1d4OTN6WDB4Uk1TVUpHQUtnYklWMXZlCnc3
SER2MkdxMkF1aGRrcEl1Z1lqeGsvVlBtVTRKR0oxTEhwenEycERmSnIyS2s2Zk9Jb2xhM2VpU1pN
bWR2ZDcvY2lKV1B2aWt5ZzYKK1FjK1RmczN4dHc3Ujl2SEx6OTlnNmIrQWVoNnhWVjI5OGtHSk9D
dEJOcDE2bzlMSWNwL0U3YTZHVTI4Wm93aW5zQUFRQzdUa2NaRAppRGdQKzBteEdwcTFpRUhpNWNw
OWhJY0JnV0lQUXJ2STJpK1d5cjB3MTUwSmRPclNIZFdSM2MxRWxFYXBvbnRuczVwQWZDOFI5MEQ0
CmlOVHJsYjdLeVZPNk0vbWwwTnFlcHNEZ2NPaDFWYTlYc3VWNUVSYnJYSW11RHorNVY0WDdVWFF3
UFBELzZNdGpSSmdCNWZjU1c2Y1QKMzdNL0x1OTJGZlI2WmRwT0dybWFHb1BWdEV4L25YVHRHQ085
MHVmclh6VVZvZzloTUNzbFc5OTNsZG95andTY0plQzBBU0s5WHExSQptU3hjMmQ2RzlTK2JSNS9k
ODdOdVAwaHU5azZzZXlsRksrOE5vLzZLMWpXZXAyeVpnRndldGVudEYxRmVWb0wwVllzdzNzNm5G
VXBqCi9DOXJHekplWDR5RllpOUozU2NYU25VdDVjbDlJN2VPbjRZMXl4N0h4blVyeEw2Vm1jTHc4
TmRHVnIveHRrbVdtakdmQkVpQUJFaUEKQkVpQUJFaUFCSHlXd1ArM2R4YndVaFZmSEQrZ2RDTWcz
UjJDaENJb0tTcmQzWWgwTjRpVWlIUkpDWWcwMHFBZ0lPQWZFRUVsUktVRgpSRUJFdWx2NXorL2ly
aHR6OTIzY2ZXL2ZlNy96WWRsNzUwN2Q3OTU5TzJkbXpqbUJLeUFxWXRQdEc5ZGs4Nm81SGlFZStY
R1g0QVVwClVMUzBUd29JVmhteTVTMnNBZ2J1bFdVelIwaUoxMnRKbGx3dmVHelAwMFY0dlpvNnRK
ME1ucjdlSjdzUFhaMlZHclFYZVA2NmN2RzgKN05qd21XSDNzV3Z6U3BtODhrZGRkcWFSQUFtUUFB
bVFBQW1RQUFtUVFMUW1FTEFDOG96YUpEdDZnWW5mVFlYMnk2WFRaZHU2eFZLbQpTaU9wVkwrOUFU
dFRqdnhlUTkvM3pVWTV1SGVIZktRRzlPOTNyaUg3ZDI2U2llKzJsUEdmZlM5bzIxZTVjZldTak83
ZFVIcU5XaWdaCnN2N3JPOVNoRXF6b1FHRGo0WTFnOWVTdGVtMWs5ZHp4NmpWT2ViNUtxbHdFRjVY
a3lwVXdoUVJJZ0FSSWdBUklnQVJJZ0FSSXdKbUEKN3lONDUvSkdwSFBZYVpqSjkvLzczTGlVNHZu
MDRpbWZydnl0NjFkbDhxRFcwbmZjVXNOTmJwZGhzNlY5MWJ4eThzaVBzbUxPYUttdgp0bWI1SW5k
djM1UVJYV3ZMTzMwbkdIRkVkR1hYTDVrbXhVcFhsdFRwcytndWE5T3FOK3R1MktqQW85YXNVZDJs
Wlk5UjJueE1KSUhvClRDQ21NdUI5WWhLam9iQ0REZS9ORXlJM0wrdEp4Yml0dDgrQXZsOVVmV1VU
S1VOeXhCUDVlWXUrUFBiMVA0bXRyeU5QRVpHMHFwNFUKeWhZa0VJbW5ETmtwRVVjZ2JlSVlnbmdp
cnVMcHVYTE5HME01TXhEMXovWmMyYTUvY2VqcGtiR24zbVJmUFhJOHdTT0dPcFRZbmlzYwpuLzlU
Wko5NnZpRXhsRDJJSnlOMEk5Ty8vemwrUDJ6cHNYdzNXN1FWNWJzRkJKSXBweGVGMHovOWpQMnQ3
cGF5NzNpZzdEeHN6NVZyClBZYnh1SEpjb0pPc2FoNDNjM3BsczVZMGh0Tno1WnJYTUdJM3NUVnlm
SzU4K1g2NHRzRnpFdkNIUU1BS2lEK051cGFaTTdhUDdONjYKV2xyM0dTOHZsNjFxdnp4OWVFZDFY
czJ1dUNBK1NPTk9RMlgycUI2eVpOb3dlYmxNVlNQb29iMkFoNE1IOSsvSjBQWlZKSzJLejNIaAoz
Q25qNVpqOTV2VXJjbG9wRU5jdVgxQkc3NTBjTDRsWi8yeVowQys0NWQyNlpwN2N1WGxkWGxMOW9w
QUFDVGdUTUF4M25aUHNaMmtTCjJ3OGxudnF4Uk9CRHJaaWtKMHVsdG5hbS9hK0VhWGxrVVo2UWRK
SkpoUlhLN1ZDSExnL1RRcDlBUXFWODRPVXFIcDhyMTh6L1BtZXUKejlXWDExd3plamkvKy9TYTQz
TVY2NmJJQVYvcStMZDZ4KytIaHhaNUtSd0p4RlVURFdrQ25HeXdmYTQrUFZmLzNtTXk1V3dENWZH
eQo0cm55NmZzUmpwelpWTlFsRU9FS3lQMjdkMlROdlBHQ3JVL3JQNXRtVjBCV2ZUcFdkbTFaTFF0
M1hIQ2lYN0ZlVzFtZ2pMNmhVQXpyCldNMEllcGdzeGZOT2VWeFBIaXZmaHg5MnF5TXdoTWZMazcy
S3ExczlzLzY1dGxHN1pXOURBU210dHByRmlxMytNbEJJSUJvU1FFUjAKVzFSMGYyL2ZpbGdrZmZ2
NjJ6ckxSVlVDb2ZCY1dmSDlpS3FmVDNTK3IwRC9YbG54WEZueC9Zak9ueUh2M1hjQ1FWZEFNdWNz
SUNYZgpxQzJaY2hUUTlnN1J6S3MxN1NxN2xiSlJxWDQ3SXcrVUQzalBlcWxNRmZscTVTZFNxMlZQ
ZTFtY0YzbXRvdjE4N29SK1VyMUpWNCt4ClFmWi91MGxpcTVnaUpTclVzcGZUSGNDclZmRnkxWjB1
NmZybmxPSGZrL1RLbmdUbDZmMUtSNGRwSkVBQ0pFQUNKRUFDSkVBQ0pQQ1UKUU5BVmtMSlZtd2hl
bnFSMW4zRnErOVU0ZTVaYUxYdlpqMTBQc0QzS2RZdVVheDdYY3lneWVQa3JydjNUMVhOUXVmWE5s
RDJmcFlFWQpkZTB3alFSSWdBUklnQVJJZ0FSSWdBUWlNd0h2WEQxRjVqc01wNzZ2bVQ5QnFqYnBF
azZ0c1JrU0lBRVNJQUVTSUFFU0lBRVNpSndFCnFJRDQrYmtoZ2pyc1F5Qjd0cStYRTRmMkdURkEv
S3lPeFVpQUJFaUFCRWlBQkVpQUJFZ2dXaEFJK2hhc3FFaHgrL29sTXFaUFl5TU8KU1phY0w4aXBZ
ejlKencvbjAvZzhLbjdZdkNjU0lBRVNJQUVTSUFFU0lBRkxDWEFGeEErYzhSTSs5Um42OStQSGN1
THdmb0ZucnRLVgpHL3BSRTR1UUFBbVFBQW1RQUFtUUFBbVFRUFFpd0JVUVB6NXZCQ29jTVdlcm5E
cDZ3QWhvbUw5b0tUOXFZUkVTSUFFU0lBRVNJQUVTCklBRVNpSDRFQWxaQTRxa2FBbzBHR2hteEYw
NWZUblViTHdvSmtBQUprQUFKa0FBSmtBQUprSUMzQkFKV1FKNTk1bWtrVG04YlpENFMKSUFFU0lB
RVNJQUVTSUFFU0lJSG9TNEEySU5IM3MrZWRrNEIzQkE0ZkZva1JRMlRvVU8veU14Y0poQmNCUEpO
NE52R01Va2dnbEFqawp6eStDRjRVRVNFQkxnQXFJRmdzVFNZQUVTSUFFU0lBRVNJQUVTSUFFZ2tH
QUNrZ3dxTEpPRWlBQkVpQUJFaUFCRWlBQkVpQUJMUUVxCklGb3NUQ1FCRWlBQkVpQUJFaUFCRWlB
QkVnZ0dBU29nd2FES09rbUFCRWlBQkVpQUJFaUFCRWlBQkxRRXFJQm9zVENSQkVpQUJFaUEKQkVp
QUJFaUFCRWdnR0FTb2dBU0RLdXNrQVJJZ0FSSWdBUklnQVJJZ0FSTFFFcUFDb3NYQ1JCSWdBUkln
QVJJZ0FSSWdBUklnZ1dBUQpvQUlTREtxc2t3UklnQVRNQ1BUc0tZSVhoUVJDaWNDNWN5TDE2b21z
V0JGS3ZXSmZTT0RwTTdsc21jak5tNlFSaFFoUUFZbENIeVp2CmhRUklJQklRMkxSSkJDOEtDWVFT
QVF6dWxpOFhPWFFvbEhyRnZwREEwMmNTd1VZZlBDQ05LRVRnMlNoMEw3d1ZFaUNCSUJINE0wY1IK
MlorMXNvbzQvU1JJTFlpa1NSeERDcWNQV3ZXc09CSVF1S1hHRnp0Tyt2Q000Wm5zbWxya21ucDUr
V3dtakNOU09wdUtuazZKMWdUVwplM3BlL0hpdTNHRFdIU1NWbHc5elMyWUNDWkRBVXdKY0FlR1RR
QUlrUUFJa1FBSWtRQUlrUUFJa0VHNEVxSUNFRzJvMlJBSWtRQUlrClFBSWtRQUlrUUFJa1FBV0V6
d0FKa0FBSmtBQUprQUFKa0FBSmtFQzRFYUFDRW02bzJSQUprQUFKa0FBSmtBQUprQUFKa0FBVkVE
NEQKSkVBQ0pFQUNKRUFDSkVBQ0pFQUM0VWFBWHJEQ0RUVWJJZ0VTSUlHb1JXQkZBREVqRXAwOUsy
OUdMUnpSOG00MmI5NHNOMjdjOFB2ZQpreVJKSWhVcVZQQzdQQXRHUElIdnZ2dE96aUdPVEFCU3Aw
NmRBRXF6YUdRa1FBVWtNbjVxN0RNSmtBQUpoQUNCdW5Ycit0Mkx2S29rCkkwNzRqUzlrQ25idjNs
MkZEdkgvazh5WEw1OGNQSGd3Wk82SEhmR2R3UGp4NDFVSUdSVkRKZ0I1OHNRSDk5c0J0TU9pb1VN
Z1lBWGsKL2lQbGZqMHd4VGQwYUFTeEo0eHZFRVM0ck5veUFtdldhS3E2bVY3dXZUVlNyc2JNSW5M
YS9YcktsQ0lKRXJpbk04V2N3UDdpYXJhUApmemNOUU9mVjVQbUZmMW5nOStUeWJXZHVLUktLM0xr
amN1bVNjN3B4aG1jeWV6SjFVVDJBbWtuNHpKazFaVUlrNmNoZkl2ZlUvWWFNCjNFNHFVcW1OU0ty
Q1BqMmJnZDREeXU4UDQ3dVFWNFY1aWZ0c3lKQnk2c2pGaXlKMzd6b2xQVDFKVTF6V2xCb25vdm1i
bWk2ZFNMRmkKSXI5ZFZTRnNkR1UxMVlWeWtoWDM0UEVaVU05a25vVEpKRjRvUTJEZmZDWVE4RmY2
MFQ4aWY5Nms1aG8yZVFhK0Nwc1JjMFEwZ1dQSApkRDFJTFA5a2YxMytpYUcrNTlmZHJ5ZFY0eGFL
YndUK3pLRG0vL2wzMDRCMis4RVQrMi9JdzcvVllPNlI2KzlKREhta0JxblhOYytlCnhFZ3VrbHk5
TUlpTFpBTzVpN2VmeU8xUUN1ejhLSzVJRHFWOEpFemowN1A1K0cvWHo4dTM3d0xLaHpXR3lKRXlS
c2dxSUZBK3RNOW0Kd2d4eU8xTkdFZTNmMUtjS0NBYnVZZDI3YnpRakp2Zjl4NEU5QStpMVJ3N3Ft
Y3dSV3oyZmxDaEZJR0FGSkVyUjRNMlFBQWxvQ1R5NApmMHV1blR0anYvYXMrakZJbmlxci9ad0hv
VWZnekluRFBuVXF5WE9wSkVteUZENlZzVHJ6bzBjUDVjL2ZmbldxTm1PeWZFN25QUEdlCndJV3pw
K1RoZy92ZUZiaDVRK0xmdWlZUit3UjQxMVVyY3JsK1A5Smt6QzZ4WXNlMm91cVFxdU95V2w2OGUv
dW0xMzJLSFNldXBNN0EKdisxZUEyTkd2d2xRQWZFYkhRdVNRUFFoY1B6b0psbnlhVjM3RGFkS2wx
ZTZqRDVvUCtkQjZCSG9VRDIvVDUxcTFHR3dOT280MktjeQpWbWUrY09hRXZOKzBnRk8xNnc2cFpY
YUtYd1NHZGF3bVowNTZyNGkrcWxaQStwVjUzYSsySWxzaDErL0h0TFVISldOMldDWkZMWms5CnVv
ZnMzTFRDNjV2S21DMnZUUHVjZjl1OUJzYU1maE9nRzE2LzBiRWdDWkFBQ1pBQUNaQUFDWkFBQ1pD
QXJ3U0NzZ0p5Lys0ZE9YdnEKaVB6enp6OENiVHBlQW1WRkdFSVM2djBMSVZUc0NnbVFBQW1RQUFt
UUFBbVFBQWxZU3NCU0JlVFc5YXV5ZU5wUTJiQnNoanlHMWVDLwpVclpxRTJuYmY1SWtUS0s4bFVT
Z2hIci9JaEFObXlZQkVpQUJFaUFCRWlBQkVpQ0JjQ0ZnbVFJQ1E3ZEJiZCtTTXljT1NZNzh4U1Jl
Ci9JVHk2OEc5Y3V2R1ZmbmZGd3ZsNU9IOU1tbkZQbVhrRlNkY2JzeTFrVkR2bjJ0L2VVNENvVVNn
UUtFNmttOFI5K0piOVpsVUdWSmYKQkM4VDZUZCttYno2WmgyVHExRTNPUVAybis5VXJyQ2lnYlNv
bUY5Ty8ycHVueEVLTmpsUitXTUlCZHVpdnUzcXlaYjF5MDB4NDI4QQovaFpRU0NBcUVyQk1BWms5
dXFja1NwSmM1bXo1M2U1SjVkNmQyekoxV0h2WnRtNlJZUWkzWXZZb2FkaGhVSVJ3RFBYK1JRZ1VO
a29DCkpCQTBBbi84SVhMcmxxYjZqQ3JxY3dDQjJ6UTFNb2tFTENId01GWUN1UjVEK2RYV3VEeU9I
MThrQ2pxSnNvUWJLN0dHd01PSEpqRlYKMURONVBYbFdlWEFydGx3KzZ0NVc3dHp1YVV3SmZRS1dL
Q0FQN3QrVG4zLzRuMHhlc1YvZ3dzMG1zUDNvK3Y1c3RSS3lSLzQ0ZlZ6MgpmYnNwUWhTUVVPK2Zq
UmZmU1lBRW9nNkJQWHRVQ0FCZERJRFNFMFEyVEl3Nk44bzdpVElFN2laNlhrN0h6S1lOT0lxZ2ps
UkFvc3hICkhaSTNncGdxcDA5cnVxYWV5WXpaSzBqTVAvK1JuV3ZkcjFNQmNXY1NHVklzOFlLMVov
czZxZFdpcDVQeVlidDViTGw2cFh3TjQvVEMKMlpPMjVIQjlEL1graFNzTU5rWUNKRUFDSkVBQ0pF
QUNKRUFDRVVqQWtoV1FvcVVxZTdUdFNKVXVzM0dMcWRON0Y5d0d0aVBYci96bApoQ1ZlZ2tTU3Yy
Z3AyYlBqUzVFbi8wWGR6RnY0VlVtUUtJbFRYdGNUcS91Mzk1c044a1I1K0hJVUJERktueVdYa1hU
ajJtVTUvdlAzCjlzdlo4eFZWeDZudDV6d2dBUklnQVJJZ0FSSWdBUklnZ2VoS3dCSUZKRzQ4dFRu
VWd5QWFLeVJuZ1pjODVQcnZVcktVYWVUUXZtOEUKZGh1UVRObnp5WkFaU3ZGUWtqanBjOUt6NFN1
U1BWOFJhZDV0aE1TSjY3bHRsTEc2ZjdGaXhaRXhmUm9wSmVraXFwY3V3MlpKN29LdgpHTWY0RHdi
NE1Ici9zSHRkZWFQMjI1S3Z5R3YyYXp3Z2djaElJT1k5a1poblkyaTdYcVN3Q0pmQXRXaVk2Q09C
Mk0rSVpFem0vSnhWCnpodERqcXA5MytlKzhiRXlsYjF5STkvTHNFVDBJSURueWxTV3J4ZVpORVNr
amZydHpwdmNOQnN1ckRrdWN2dXN4eXk4U0FJa29DRmcKaVFLaXFkY3BDUjZ3c0JXcnB0cW01WTJr
ZUQ2ZDFHamVYUzVkT0N0cjUwK1VLeGYvTUFiMUtIdnV0Mk5HYkpHUmM3ZEozUGdKdktrdQp6RHkr
OXE5ZzhYTFNxdGNZR2QrL3VWSDNDeStWbFVSSi8vc2pCVHVZZEpsekdpc3piWlQ3NGJBVW9EQTd5
QXdrRUU0RWNqMWR4UE9wCnRVU0pmTXJPekNUZ013RThZLzQ4bXo0M3hBSWs0Q09CZE9sOExLQ3kr
MVBHOTFaWWdnUkNtMERRRlpEZmp2MXNHS2pYYXpOQVVxYkoKNEJPTlpsMC9rRDNiMTh2NTMzK1Yr
Wk1IU3BQT3cyVGhSKy9KZXgrdHRVejU4TGQvWmFvMGxzK212eS9uejV5UXp4ZE9samI5blkxSwpk
MzYxUWtwVmJFRGx3NmRQbkpram1rQ05wK1phRWQwTnRrOENUZ1F3WU9PZ3pRa0pUMEtFUUxGaUlu
aFJTSUFFZkNNUWRBWGtFN1dOCkNpc0VqVG9POGExbktuZWN1UEdrMi9BNTByZFpLZG13ZElhY09M
UlBLdFpySjFuekZQSzVMck1DL3ZZdlpzeVlVcXRWYjVreXBLMTgKdGVvVDQvNFNKazVxYndhdWgz
dVBYbVEvNXdFSmtBQUoyQWcwNkxMTWR1ajBua0F0NnFaTXFiYTBGZnB2UzZkVEJoOU9mSTBmZ0sy
dQp2b3F2YlRqV24rckNPWkhSUFJ5VG90VnhwM2NueU9Xck4wenYyWi9QdzdXeWQvcE5rRHUzM052
UWVocFNoWk1rVCs5YVJaam5abTJFCldmRGZER0haY0hwYlQyVE0xN2hORHlsYXZxNXAxMU9rOXYz
emNLMnNSdk1lS3FaUVBkZGswM04vUGc5ZjJ6QnRuQmVpRllHZ0tpQWIKbDgyVXE1ZitsTkVMZDhv
eno2ak52WDVJM3NJbHBXcmp6c1lxdzltVGgyWGt2RzErMUtJdkVtai95bGR2Smd1bkRKTHJsLytT
amNzKwpsanF0K3hvTkhUbXdXNTZORlZ0eXZmQ3l2bUdta2dBSlJHc0MrVi9XQnhsTXF1WXc0TzdV
Q2dtUFFJYUJ0Skh3eEdFcmJqUFMxbEgwCjFRcHkrMEZ3dS85aUNSVnpSaU1KRDJnUy9Vd3lhOFBQ
NnFKVnNSY0tGNWVVMllNN1RzaGRzTGhJd2VCaURZODJnbnNIckQwaUNGamkKaGxmWDhWLzJiSmNW
bjR5U29SOXZFTWVWQVYzZXNOS3dmUXNyRHZmdTNwYmxzMGVHbGQycjYxYjBEM1l0MVJwM01kcjdZ
dEZIOHZqUgpJK01Za2Q4cjFHenBWVCtZaVFSSWdBUklnQVJJZ0FSSWdBU2lFNEdnS0NEd2VqVjFh
RHNaUEgyOXozWWZPdmhZWmNpV1Y3bmFVYkpzCjVnaUIzVVlnWW1YL0tqVm9ieGpJWDdsNFhuWnMr
TXhRUW5adFhpbGxxellKcElzc1N3SWtRQUlrUUFJa1FBSWtRQUpSa29EbENzaU4KcTVka2RPK0cw
bXZVUXNtUU5iY2J0SDlVL0F5OHZKVjkzMnlVZzN0M3lPZ0YzMGpoVjkrVXZ4OC9sb252dGpUZXZh
M0RNWi9WL2NQcQp6bHYxMmhoTnJKNDdUdmJ0M0toY0JCZVY1TXFWTUlVRVNJQUVTSUFFU0lBRVNJ
QUVTTUNaZ0tVMklIZHYzNVFSWFd2TE8zMG5HSEU2Cm5KdDZlcloreVRRcFZycXlwRTZmUlhmWktl
M1c5YXN5ZVZCcjZUdHVxZUhHdDh1dzJkSythbDQ1ZWVSSFdURm50TlJYVzdOOEVhdjcKWjJ1N2Vy
UHVobzBLVm1abWplb3VMWHVNc2wzaU93bVFBQW00RVloNVdSK0RJSGxDa2NLQjI1MjZ0UmVLQ2Mv
ZWZzb2dUZUlZa2lpOQpua2NvOXR1cVB1VkxIVU1lL1cxVmJiN1Y4L01XMy9JamQ5Yjh5ajRwZ3A3
TmVMRjg3MjlrS0pIMU9SRTgvNVNuQkU0L0ZqbHoyWVJHCkJIMVhUSHJEWkFzSVdLYUFQTGgvVDRh
MnJ5SnBWZnlMQytkT0dTL0gvdDI4ZmtWT3F3SDZ0Y3NYbEZGNUo4ZExNbWRzSDltOWRiVzAKN2pO
ZVhpNWIxWDV0K3ZDTzZyeWF3QkFkZ3ZnZ2pUc05sZG1qZXNpU2FjUGs1VEpWSlhQT0F2YjhuZzZD
MFQ5YmUrZ1gzUEp1WFROUAo3dHk4TGkrcGZsRklnQVJJd0l3QUFqdnFKSjVhSEU2VFdIY2xDcVlw
WlF1U0tLNTZSWmQ3Zm5yTHh2OHByQWxqNVZDajk0ZG16NStuCkdwTEZqa2JQcGljUUZsNUxHazhF
TDhwVEFqZlVNMmIyYk1aNFFrcFJqWUFsQ2dpTXJ6L3NWa2NPN2Q5cHZEYXZtbVBLeWRWdDQvMjcK
ZDJUTnZQSEd0cXoxbjAyekt5Q3JQaDBydTdhc2xvVTdMampWVmJGZVcxa3c2VjJCUWpHc1l6VVp0
K1E3U1piaWVhYzhyaWZCNko5cgpHN1ZiOWpZVWtOSlZHcW5WR3ZVdG9wQUFDVVJyQW95cEVxMC8v
cEMrK2I1OVE3cDc3RncwSlpCYjdkckhTeXYzVmFxYW9DbkpaMWVMCkp6SW1XcUtBN1A5Mms4UldN
VHRLVktqbGtRRzhSaFV2VjkwcEQ2S1pWMnZhVlhZclphTlMvWGJHTlNnZlIzLzZUcTBrVkpHdlZu
NGkKdFZyK0YwRWQ1MFZlcTJpdlkrNkVmbEs5U1ZlUHNVR3M3cCs5Y1llRDlNcmVCZmRINzFjT1VI
aElBaVJBQWlSQUFpUkFBaVJBQWk0RQpMRkZBb0NqZzVhKzA3ak5PYmI4YVp5OWVxMlV2KzdIckFi
WnZ1VzdoY3MzamVtNTEvMXpyeC9sQjVYWVlnYU95NVhsUmQ1bHBKRUFDCkpFQUNKRUFDSkVBQ0pF
QUNpb0RsWHJDaUs5VTE4eWRJMVNaUFk0SkVWd2E4YnhJZ0FSSWdBUklnQVJJZ0FSSUlpd0FWa0xB
SW1WeEgKaEhmWXIwRDJiRjh2Snc3dGsxSVZHNWprWmpJSmtBQUprQUFKa0FBSmtBQUprQUFJV0xJ
Rks3cWgzTDUraVl6cDAxaWVlZlpaeVpMegpCVGwxN0NmcCtlRjhHcDlIdHdlQjkwc0NKRUFDSkVB
Q0pFQUNKT0F6QWE2QStJeE1KSDdDcHo0akVSVHh4T0g5QXM5Y3BTczM5S01tCkZpRUJFaUFCRWlB
QkVpQUJFaUNCNkVXQUt5QitmTjRJcERoaXpsWTVkZlNBRVhBeGY5RlNmdFRDSWlSQUFpUkFBaVJB
QWlSQUFpUVEKL1FnRXJJQWdobWY4V05FdmttZnhWOHNKWHQ3Sy9uUGU1bVErRXJDWVFQRTZUeXZr
TTJneFdGWVhFSUhiU1VVcXRSRkpWVmdrUkovTgpaUEZGc2lRUDZDNVptQVJJZ0FSSVFFTWdZQVVF
d1NudlBtS0lTZzFicDZTN2o1eE9lVUlDNFVjZ1E5Nm5iZDNrOXpUOG9MT2xNQWs4CmlpdVNReWtm
Q2RPSWhPeXpHWU1LU0pnZkpET1FBQW1RZ084RWFBUGlPek9XSUFFU0lBRVNJQUVTSUFFU0lBRVM4
Sk1BRlJBL3diRVkKQ1pBQUNaQUFDWkFBQ1pBQUNaQ0E3d1NvZ1BqT2pDVklnQVJJZ0FSSWdBUkln
QVJJZ0FUOEpFQUZ4RTl3TEVZQ0pFQUNKRUFDSkVBQwpKRUFDSk9BN0FTb2d2ak5qQ1JJZ0FSSWdB
UklnQVJJZ0FSSWdBVDhKVUFIeEV4eUxrUUFKa0FBSmtBQUprQUFKa0FBSitFNkFDb2p2CnpGaUNC
RWlBQkVpQUJFaUFCRWlBQkVqQVR3SlVRUHdFeDJJa1FBSWtRQUlrUUFJa1FBSWtRQUsrRTZBQzRq
c3psaUFCRWlBQkVpQUIKRWlBQkVpQUJFdkNUUU1DUjBQMXMxMTdzeXNYenhuSGlwQ2trVnV6WTlu
UWVrQUFKa0FBSmtJQS9CQjQrdUMrM2JseVZtREdma1dRcApudmVuQ3BZaEFSSWdBUklJSW9FSVh3
RnBYamE5NEhYc2wrK0RlSnVzbWdSSWdBUklJTG9RK1A1L254dS9LNTFyRjRvdXQ4ejdKQUVTCklJ
RklSU0RDRlpCSVJZdWRKUUVTSUFFU0lBRVNJQUVTSUFFU0NJZ0FGWkNBOExGd3NBajgvZmZmY3Yv
dW5XQlZINVI2STJPZmd3S0MKbFpJQUNaQUFDWkFBQ1pDQUJ3SVJiZ1Bpb1crOEZBMEozTDkzVjJh
UDdpRmZyNTB2Mk1lZHMwQXg2VHgwbG1USjlVTEkwb2lNZlE1WgptRkdrWS90MmJwTGNCWXRMZ2tS
SklzVWQ0Um4rODh3Sk9mLzdyOGJyNzc4ZlM3ck1PZFVybDZUTmxFUGl4b3NmS2U2RG5TUUJFaUFC
CkVvZ2NCTUpWQWJsNys2YWNQUEtqbkR5OFgwNFlyMzEyU3FONjFKY3N1UXRLNWh3RkpITk85Vkx2
R2JMbFVZYnBjZXg1UEIyZzN1bkQKTzNuSzR2VzFaNStOSlltU0pKZUVlQ1ZPWmh3blM1RmE4aFl1
YWZ3b2UxMFJNL3BNWVByd2pySjF6VHg3dWVPLzdKR0JyU3ZJdE04UApTWkprS2V6cG9YUVFHZnNj
U3Z5aVVsLzJmck5CRm40MFNFNGMyaWZqbHV5V1hDKzhITEszZC8zS1JWazhiYWg4Ly9WYXNUa0RN
ZXRzCnFyU1pwSGFyM3ZKV3ZiYnl6RFBQbUdXTHNQU0w1OCtvMzViOTl0K1dYdy91TWZweS9mSmYw
cUZhZnVNM0pWT08vSkxwMzkrWDU5TmwKbGhneFlrUllmOWt3Q1pBQUNVUjNBdUdpZ055K2VWM21U
dWdubTViUGtpZFBudGlaTy80QTNMaDZVZmFyV1VPOGJCSXpaa3pKcFdZUgpLNm9mdlZmZnJDdXg0
OFMxWFhKN2g4S1FOVmRCK2YzRUlUbWpYdkNBRWd4NUxsVmFLZkJTV1NuNGNqbDVyV0o5emd4YUNC
a0txcVB5CllhdjZ4dFZMc25Qak1xbmNzSU10S1dUZUkyT2ZRd1plRk9ySWdkMWJaTUhrOStUWXo2
SHZUQU5iRzFmUEd5OHI1NHkyYjNNczhGSVoKeVo2M2lERlF4OS9aYzZlT3l0bFRSNHo3K2V1UDAz
THgvTy9HQk0rR1pSOUwyd0dUcFVDeDBpSHg2V0hpYWNxUXR2THJ3YjFPL2NGdgpoMDF3SDJkT0ho
YlpzTlNXSlBIaUo1VGk1V3RJcGZydEpNK0xKZXpwUENBQkVpQUJFZ2dmQWtGWFFMYXZYeUt6Um5V
WHpMWkJzS0pSCm9XWkxLZnpxbTVJMWR5RnBWU0dMa1Q1ODltWkpyR2E0ajZ1WnE0Tjd0c3UyZFl2
a24zLytrU00vN2pKZXMwWjJsNWE5UnNzYnRWb1oKK1YzL3d3eGRoMEhUakdTVVEvbjVrOTZWeXhm
T3VXWjFPbjgyVml4SmxUYXpVaVFTQ0k1djM3Z21OMjljTWQ2ZE12NTdncGxDMUkzWAp2RWtEcEVI
YmdmSm1uWGZvUWxnSHk4ZTBhNWN2bUphNGV1bFAwMnNSZVNFeTlqa2llVVcxdG4vK1lac3NVaXNl
aC9idmpCUzNocTFoCkU5OXRLYmJuTm1XYWpOSng4SFFwK2xwRmJmOGZQM29rUzZZUGsrV3pSOG8v
eWk3cjlQRmZwSCtMc2xMM25YN1N2TnNJYlpud1NMeDMKNTdZc25ESkl2bGc0MmZpZFFKdXBNMlNW
OHRXYlMrR1NieGdyVUZnUlQ2cGM4TTc4OHJpeE1vSlZrVjJiVjhuUm43NlRlM2R2eS8rKwpXR2k4
c3Vjckl0Mkd6ekdVci9Eb085c2dBUklnQVJJUUNab0M4dWpoQXhuUnJZN3MyYjdlemhuNytidVBt
Q2Nac3VZMjBqRFl0MG5NClo1OTl1dlZLYmIrQ2tsR2pXWGVaT3F5OWZVWVJLeHFUMzJ0dDFQZnVw
SlcyWXRwM3pINlZxOVpVa2o3M3ZBeHE4NVkyRHhKTHZsSGIKNkk5dWZ6T1VtRDlPSDVlOU83NDBY
ci9zM1c3OEFEdFdodVg5R1I5MGx0Vnp4MG4vQ2NzRlAyUVUvd21renBCTmJYdExwbFgrY2haNAp5
ZitLZzFneU12WTVpRGlpVGRXSDkzOXJESUIvL3Y1L2tlYWVvWHk4MzZtNlBINzAwT2h6Mm96Wlpl
S0tmUkkvUVNMVGU4Q2tUTk11Cjc4dExaYXBJditabEJIL1hJY3RualpRYytZcEtpUXExVE1zRzZ3
S1VvQ0h0S3p0TkxsVnAzRWxhZEI5cFg1RStkZVNBdlhuY0gxWnMKOEtyWm9xZHNXVDFYUGgzWFIy
NWV2Mkxrd1hhNWJ2V0tHclptNWFzM3M1ZmpBUW1RQUFtUVFQQUkvTGRPYldFYkdMeVA2ZFBZU2Zs
NAo0ZVd5TW1iUkxydnlFVlp6V2ZNVWtyR0xkeGsvZm81NWY5ejFsZU9weDJQTWhNR1Ewa3hLVjJw
by84Rnl6UU1sQm9wU3pSWTk1SU01ClcyVHlpdjJHVWFsclBweGppOEs3Yjc4dXNGZWcrRThBZThz
N3ZEZE5CUTl6Zml4ZmViMm12RnkycXY4VkI3RmtaT3h6RUhGRSthcVAKL2Z5RE1hblJwK2xyRXBt
VUQ5aElmTmk5amwzNWlLbSthejFITGZTb2ZEaCttTEJscWRPNnIyT1NUQnpZU2htdW4zUktDL1lK
dG9KaApVc2x4WmJ2ZHV4OUpPN1V0VERlUjVOb2ZiUHV0VUt1bGZMeittT1F2V3NwK0dTczlXSG1u
a0FBSmtBQUpoQThCNTVHZVJXMnVYenpWCldPcTJWWWY5dGxqaTl0VjRFVDhXOWR1K0syV3JOckZW
NWZNN1BMaVlTYUtrejVsZGNrdUhZZnlZWis0M3FnQUFJQUJKUkVGVVJkK2EKMmlIY3VYWERNSmJH
N0J6RmZ3S2xsRjNOMk1XN3BXcmp6c1lxRnA2YkFSTlgrRjloT0pTTWpIME9CeXhScW9uTGYvMGhR
enRVbFJGZAphMG42TExtbDk1akZNa210SHJUdU85NU5ZUTdGRzUveFFTZTd2UWY2VjZwaUEyVWc3
OXVxWXAyMyt3cTJiTmtFOWsvVFZiM2hKYkFmCkhOZTNxVGh1eHl6MHl1dW1mNU05OVN0UjB1VEdx
bldLMU9rOVplTTFFaUFCRWlDQklCR3dmQXZXald1WFpmN2tnVTdkaGZFd2JEVDgKbFU1RFBwYmZm
ejBvcDQ3K3Q2enViVjN3WG1XVlFDRnEwMytTL0hYdU40RzNHMWZCRC9LOGlRTms4TFF2WEMveDNB
Y0MyS3FIVjJTUwp5TmpueU1RM292dDZYOWtNd0JsR0VXVXI0VGlSa2kzUGkvS05NbTRPWmVQekMy
ZFB5US9iMWpraHpPWEhsc1k0Y2VOSkVXVzd0MUU1CkU3SEpvWDNmQ09MZk9ES3hYYlA2ZmR1NnhX
NjJOaTE2alBUYm0xV1M1Q25WNU1aS3dXcVdiVnVhMVgxbWZTUkFBaVJBQW5vQ2xxK0EKNE1mNDNw
MWJUcTFseTF2WTZkelhFL3p3ZFIzK2lhL0ZqUHlKZlZqbDhLWUIvTkMyR3pqRk5DdHNYazRkL2Nu
ME9pK1FBQWxFUGdMcApzK1F5N0NCMEErMk0yZktHOUExOW96ekl1UXBjbnZzakdiUG5jeXIyUU1V
UCtUMmNWbjAzTHAvcDFQWXpzQnRVYm5VREVVd2MxR2plClBaQXFXSllFU0lBRVNNQVBBcFlySUQ5
c2M1LzlEL1JIQXZlRm1VWVlUZm9xTVdOYTc3TStkZm9zaGhjdnM3NThzZWdqczB0TUp3RVMKaUdJ
RW5sZC9EMEpaREJlMExoMjBlU1YwU1E3ek5GMG1kNXU2OEZqOXdSWlhyTFk0U25vVkpCRkc4b0ZL
cWJmcUIxb0Z5NU1BQ1pBQQpDZmhJd0hJRkJBYlpybkxsNGgrdVNYNmRsM3l6amwvbGdsSG9wZEpW
VEt2RmRqRUtDWkJBOUNBUXc4VnBRcWpkOVRXTkMrdFRLbjZHClAyTHpIT1ZZTm40NFJIdUg4Ym1y
d0JiRU1hNlU2M1Z2eitId0JDNThLU1JBQWlSQUF1Rkh3SElGNU9HRGUyNjl0OHBiVE1rS3RkM3EK
anFpRUZLa3ptRFo5NGR3cDAydThRQUlrUUFMaFNTQ3B4ZzdPMzFXTGM3OGRkZXQ2YmhVc050aWkr
MTJCYS9iZmp2MXNTZE9oOU50aQp5UTJ4RWhJZ0FSSUljUUtXS3lBNm8rL3YxYmFzdng4L0RoZ0Y0
bXdzM25rcDRIcXNxTUNUOTVTYnloQWZnYklvSkJBU0JPcldGY0dMCkVpMEpaSEt4MndDRW43Ny9X
ZzU4dDlWbkhuK2NQdVpVSnVsenFlVDVkSm1kMHJ3K1NaWk1wRTBia1NKRndpeWkrMTFCb2QxYlY0
ZFoKMXBzTXpWUlF4WTZEWjNpVGxYbWlBNEhCZzBVdHI0bmtEVzM3cnVqd1VmQWVveTRCeXhVUXVL
aDBGV3hKUWxSeUt5UjJuTGhXVkJOdwpIZmZ2M2ZGWUJ6eG1VVWlBQkVnZ29nbGtNREdTbnpxMG5U
eDhjTi9yN3NIRElZSVpPa3F4VXBVZFQ0TjIvRnlxZEFKMzdxNnliT1lJCkk3SzVhN3F2NTNBdVlJ
VTlpYS90TWo4SmtBQUpSRmNDbGlzZ3hjdFYxN0pjT1dlTW15dEliY1pJa25oSnN5ZloxblY0N1lv
YlA0SHQKMU5MM1J3OGZDb0tLL2ZIN3I0S0FqOUZCTUVpNmN2RjhRTGNLVjZHSWJQL2QxMnZsNjg4
WENLSWYzMWNlZklJbFZ2UloxemU0ZXNabgpmL2JrRVNPU3N4Vjc0SFh0Mk5Kd0gyZFB1Vys3c1Yz
SE8xWTMwYWQ5MzJ4VTdtaC9rTnMzcnp0ZTl2c1k5NFo2RHlyalk2dnE5THN6CmtiZ2dnZ2pHaWgz
SDdRNFFSSEQycUI1dTZXWUpTNllQYy9Kd0NOZnFiL2NaWjViZDBuUjR2Q3BhcXBKYm5YajJSdmFv
WjQ5cTdwYUIKQ1NSQUFpUkFBaUZKd1BJNElQQ1RqK1h5YTVjdnVOMHdvcU1qc0Z6Sk4wTEhsc090
azE0bVlHQmtKbWs5UkY4M0syT1dEb1VEMGQ5MwpibG91KzcvZEpJN2VhNkRvWk1xUlg3TGtLaWg1
Q3BXUXN0V2FldTJQSDlHRVR4M3p6VjF3MS9jL2tXS2FRWUN0NzE4cy9FaVd6aHBoCk85Vys1OHhm
VEFaTi9WeDd6VFh4NkUvZnllWlZjMlRIbDU5SkRSV1J2bkhISWE1Wndqdy9jWGkvZkRLNnB4dzVz
RXY1K24va2xCK3IKVkRBK3pWZmtOWUZUZ1RUS3k5cjZKVk9sMENzVjVGVS9IUjVZMFdmSFR2NSs0
cEI4Ly9YblNubi9RazRxdytGSER4ODRYaFpFdEU2bgpucmNpcjc1bHZGNTR1WnpYejRCVFJRNG5V
TXoyNzl4b1BITS9iRjluUEY5akZ1NTB5UEgwRU1yR3lqbWo1ZnYvZmU2MnhmTGxzdFdrClVjZkJo
dmM2dDRKZUpFRGhITk83a1J6Y3U4UEkvV3lzMk5Lb3cyQ3AxNmEvRjZXWnhaRkFzaFRQUy9WbTNX
VEY3RkdPeWNieGwwdG4KR0liY0hRWk44eGhQNDl4dngyU0R5bXNUUEhkOXhpNlJoSW1UMnBLQy92
NUc3YmRGNTFJWVVkRUh2Zk9tOUJ1L2pNYmtRZjhVMkFBSgprQUFKV0VQQWNnVUVnK0xtYWovdHhJ
R3QzSHFJK0NBZmRxOXJCUFI2cDk4RXQrdVJKUUd6NlYrdm5XL2EzV0t2dWMvVW1XYjJjQUhCCnc2
WVA3eWlYL2p5cnpmWGcvajA1L3NzZTQ3VnB4V3hadDNpS2RCNDJ5NnRCWDRzZW8yVEhocytNd2Iz
T3c0eXR3ZmdKRTB1RGR1OEoKREUyektsZklucVJNbGNZQ2w2VDcxT0IxL1pKcFRsbnhYRFR1TkZR
d01QVWttTm5mcnZxMWZmMWl3UXl0djNMN3hqVmoyOStHWlI4YgpBeXpNQWxkcTBONVEyT0xFamEr
WW5oSEViUG5mRnd0a3krcTV4c3ZXbG11c0ExdTYyYnRWZlhhc0h3TytPV043dTYwYVl0WTVZZUpr
Cjh1ZlprOFpzOUQvcVdVVDdlSzJaTjhGUVJwcDBIcVlVcUxvZUI1U09iZUg0cnZwdTdsSFAyNjR0
cTJUdmppOEZ6NVpObnJpc3RDRXEKK09UMzNsWUs4VmUyTEc3dlVFcjJLT1dsMndlZkdoSHQzVEo0
U01ES3gxZzFXV0ZUUHBBVmdlS3dqVE54c2hUeVZ0MTNQSlRtSlIyQgp1cTM3eVZmcWI0VE9peFcr
SXcvdTMxV3hsdVpvbGRjTEt2RHFlKys4NGFSa3R1bzUydmlib0dzcldHa3ZscWhnS05uNCsrSXFt
R2pvClhQdEZRZERhMHBVYXVGN21PUW1RQUFtUVFJZ1JzRndCd2YyVnI5SGMyT3FDN1M0NndRL2U0
ZjA3cGNPZzZickxJWi8yM2RZMWFodVUKdTF0SWREeW1jc2xadWtxamdPNEJnNzhKQTFvWU05Q29L
SDNXM1BKR3JWYVNLWHQrZ1VLQTdVTkhmdG90aDlUc3NPUFdKUHdJZDYvLwprdFJzM2tQTlBnOFJE
UHJOSktzS1JJWlh2WGY2Uys4bXJ4cVI1blY1TVhOYXEyVlAzU1czdEVSSmt4dkIybDRxVTBWeGVF
WWM0NkZnCmRySllhZjErOFRNbkRzdTNYNjB3N2hjei9vRUtGTVQzTzFXM1IwMnVxVlpQb0hBNUJw
SExvSmdXTHZtR21sRWZJS043TjVSZmZ0aG0KYjlaMWxjRit3ZUhBNmo0N1ZDMkxwZzZScFI5L0lG
QXVJTWxUcHBHM2U0K1ZZb3ByL0FTSjdGblAvMzVDVnMwZGF5aFB0a2pPMkdZMgpxbWNEV2J0Z2tv
cnl2TUlvYXkrZ09ZRHloZFUxR0NUYjZ0QmtzeWZ0VWNySmhQN050UU5aZTZaL0Q3QkZjTHpLR3pk
ZUFpbFJvWmJyClpkUHo4MmRPeUM5N3RtdXZZeGFlQ29nV2pjZkVCTXBWYnRNdXcyWHFzUGJhZk5p
VytKZFNOSHFPV2lCUWNtMXk2c2dCR2RhcG1tQ1YKQVlLdHBWZ0pmZTJ0ZXJZczRmcmVjZkIwNmRH
d3VGeS8vSmRidTVqZ3dxclpnVjJieGRkSkJMZkttRUFDSkVBQ0pCQlVBcGJiZ0tDMwoyTnJTYS9R
aXlWbmdKZFBPWTZENTd0dmxUYStINmdVTStxYTkzOEcwZTIvVWFhMFVoWHltMThPNkFPWGovWTdW
akVFaE9EYnRPbHltCmYzNUlLUUc5cE1ocmIwbWVGMHRJMVNhZHBjK1l4VEpqM1ZIajNMRk9ERnBo
YnpPc1ExVzNMVWVPK1d6SFVHaUd6dmhTNHNTTGIwdHkKZXNlV0tYOEVnU050VXFoNGVhM3lBVTlo
N2FybWxUN05YcE5keXB1TnAyMXR0cnE4ZWNkZTlVTkt3WVZrejF2WVRmbHdyQVBiVTRaOQp2RUU5
cS8vZHA2ZUJlTEQ2akQ1aGl4Z0c3RXVtRGJNckg2K1VyNkUrNXlOU3VuSkRKK1VEK2RObXlpNmRs
T2Vlc1l0M0dTc0RTTFBKCjBRTzdwWHU5WXZMcndiMjJKTzM3bGpWemxYM0ZOZkhHdVFOV3RmQmNZ
UllkS3hIb1U5TXU3MHZ0VnIwRm43R1p3anRyVkhlZmpKMnYKZXJEM1Fld0hpbjhFS3Radkt6VmJt
RThtNER2VHFXWkJ0U3E0eUdnQXE2bzlHNzFpVno3d25aN3cyUThScG55Z1UxQ09Cay85d3ZUdgpG
ZkpzWHYycHpKdklyWHBnUVNFQkVpQ0JVQ1VRRkFVRU54dFhEV2cvK0dTTEZGVTJJV2JpdUNjZk01
dU9zL2xtWlNJeUhWdUNzQlhoCnh0VkwybTdreUY5VXNEWEJYOEhNL2ZET05lenVNVEhyWFYvTjBK
dDUxSXFYSUtFTVZZUG4zSVZlY1dzU2JqWTlLVXFPQmVCU3VGcVQKTG81SjltT3ptV2g3QnBPRFUw
Y1AySy9VZnJ1UC9kanhBUHY2ZTQxY0lFdSt2U3dmcmZ4UlB0dDlWY0F3RU1IcTBOSVp3KzFWWU51
Vgo0OHFIL1lMREFReDBzVUtEL2tBZXFlMCtaaEtNUHR2YUd0V3JnV0VnYnp2SGdBK0tQSlJFVHdJ
bGEvU0NieVJoa21STzJmQjk2dCt5CnJKejJFQmh6NUx4dGhnS3o5THRyMHFEOWUwN2xiU2ZZRWpW
M2ZEKzFIYkNUeEZNck1LMTZqWkU1bTA5TGI5VzMrbTNmbFpZOVI4bncKVHpiTG1JWGZTcExrS1cz
RjdPL1lRdmpWeWsvczUyRWR3SzRKUnNjNnlacTdrQzZaYVY0U2VMdjNHSUV0aFpuQXljRzRmazJs
WTQwWAo1S1BCYlF5Ykk2eWV0Qjg0UlNZczJ5TVpzdVV4S3hwdTZmZ2JNV3IrRHNQVzBLeFIyMi9M
YlJVclpOM2lxVjVOeHBqVnhYUVNJQUVTCklBSHJDUVJOQVVGWE1VQWVOTzBMd1o1MEdDMTZrdTNy
bDhnN2IyV1h1UlA2aDV6SEcreVB4d0NzZmJWOG9vdjBqdnNxcUl4L2gzMjgKTWN6Qm9pY0dxejhk
cXd6T054dFpDcjN5dXRSbzN0MVRkdU1hdHVUMEdiTkVtdytEUG04RGp0VnEwY3NZWExwV3RHM2RJ
b0ZpNUtzYwoyTDNGS0pJK1N5NWwxUDI2dG5pczJMRUZzVjFzQ2hhVTFpYWRobW56ZXB1NFR4bnFP
M3FHeXBTamdGZEZNYk5hdm5vekkrOWpGME52Cnh3cUMwV2ZVajFXcjNWdFdPellsdmRVcWw5bXFn
bE5HZFFMT3JmdU1kMDJXKzNmdkdFb3RiR0k4Q1Q2REpzcEc1N25uMDdsbHd6TzAKNHBQUmtsRzVj
NTI0YksreEpRK2ZsYXNnb3JTWmd3SFlsWGdyaVpNK0o3QlpjQlVvaWkxNmpIUk41cm1QQkdBblVi
MXBWNCtsNERvZApnbFhzbVY4ZWw4b05PeGpiU3owV0NzZUxVTG9ucTBrTDJJVjRFaWdpTXo3b0xP
MnE1RloyWlV1Yy9qWjRLc2RySkVBQ0pFQUN3U1VRClZBVUVYWWROUklOMkE0MFpXZ3lTUEFsY2Zz
SlRDeFFSTFA4N0RpUTlsYlA2R2p4UFllL3pWOG9EMDhnZTlhVjUyZlRHQUV5M05RZEIKdUFaTVdp
a2Z6Tmtpc0lId1YwNGYvMFVXVGhsa0w0NlpaVzhsVmRxTThzTExaYlhaRjB6V3oycTdaa2JmSzlS
czZab3MyUElDWTJKZgo1TlRSbitUTXljTkdrU3FOT3RrVkRHL3FTQmZHTXhKV0hTZVZIWXlqM0xw
eHhmSFU0M0VOWlRzRDhiUUNvcXNnMEQ3RGM5YThpUU9jCnFvWWRUVmpmRjZjQzZ1UjFaWHVsZXc0
dW5EMGxIdzFSQWQrOGtDdzVYOURtZ2hNQ3JMSmcyNWNuZ2JGLzVwenVTdDh2ZTdmN05BdU4KU1l1
MkF5WkxGbVduaEdCM3NCL0NESHlXWFByK2Vlb1RyemtUd045a09BSEJxZ2FPUGNtdkIvZkl4aFd6
UEdXSnNHdkc5c21aRzQxNwpDVXRSaHlFOXZERDJWUFlqc0pXamtBQUprQUFKUkN3Qno3OCtGdllO
QTVpUFZoMlF1dS8wQzNNMTVKWmFOc2Z5ZisvR0plVzNZejliCjJBdm5xcmFvdmNLemxZdldTZSsx
bGhIZDZraXZSaVdrUmZtTVVydElmT2xTUjgyd3FYUVk2TUs0MFZXd2JRbjJHZGlmWCtMMW1xNlgK
ZlQ3L1pFd3Yrd0FOTmlRRmlwWDJxUTY0WWRVSlZpTE10b3k1NXNjc3AwNDJMUDFZbDJ5YUJzOVNF
QXdLeWxadFlwcFBkd0VHeTRHSQpxd0lDaHdIZUNnelRVeXN2WHQ0WW9UdldHV2lmNTZsVlA1dkJ1
YTNleWcwNzJnNTllcS9ldEpzMi83ZGZyVFRjK0dvdk9pVEdWOXR0CmROSm43R2R1Vzd4MCtaQldY
Tm10dU1vRDVkclhWL3VOcW8wN0dWdnpGdTY0SUlQVlNtcG10VFdMWWgwQmZOK3hRdTBwWmhFbWdS
Wk0KR21qRTJzQnFXcWdKVnU2d21qTjF6UzlhNWR1MXYvQWFDTnNvYkNmRXlqYUZCRWlBQkVnZ1ln
aUVtd0tDMjhNV0Nyam94ZEk1WWkrRQpKWmdaaGxlbk5mTW5CbVUxWkt0eXBRdlhwWWcxc1d2ektp
T2lMcnk5NkFMOEpVcVMzSWhmQW4vNUgzOTVUT1p1UFdQWVorZ0NmSVYxClg2N1hzVWZmdHZVSzE4
eTJMTG1XY3p6SHZua3pnWWNqYndUeEpIUnRJLzZJMmRZejEzcXhlZ1N1a0ZJVkd3ajJqL3NpTmpz
TVg4bzQKNW4zbTJWaU9wOFpLR2dMWmVTc3ZsbmhES1lMbU5pQzZlZ0xwTTF6TnV0clpZRkNWOThX
U3VxYkNUSU1pQ2dOeG5TeWVPbFNYN0pRVwo2MTg3R0tkRWRlSkxsT2hVYVRLNkZqZk9mVm1OMGxi
QVJNc0pwRlNmVmZLVWFjT3NkK2VtRmRLcmNRbkJTa0lvQ3VMNWpKaXpWWG9xCm03S2t5ckdFSjRG
U0JZY0tYV29WOG5xTHFxZjZlSTBFU0lBRVNNQjNBdUdxZ05pNmg1bk1VZk8zUzQ4UDU5bVNUTjh4
R0VTMDNtSEsKTXhROEVGa3BzRXZCQVBtNVZHblYxcEljSHF0dTJHR1E5Sit3WENyVmJ5ZnB3c2py
c1NMTnhiVkt3WEtVREZuekNHSXQrUEtDZ21RbQp4My81d2V5U1czcVZSdTR6Ny9qQnhwWTRiK1Q3
LzYyVm05Y3VHMW5mcXRmV215S1c1bkZWeE5EM3dXMHJPaWw0bmhxRVcxNjRIZzR2CitYemhaTGVt
NEVJVTlsUCtDQlNGVWlaeEVCRE04TmIxcS81VTYxT1o1T3I3cEpOYnluc1dKWFFJYkZ3K3kxZ05P
SytDcWtLSnpsKzAKbE1mT1lac29WZytPL0xqTFk3Nkl2RmkyYW1PWnVmNlk0YUV0ckg1QW1ZSUxj
dDEzTUt5eXZFNENKRUFDSkJBWUFiMnJtY0RxOUxwMApPUlc1RzI1SElmQjY4L2ZqeDZabEVUUnVR
S3R5TWtTNWpFMWlNc05yV3Rqa0FyeDBPVzUxbXErMkdpeWJxWS9ramExYW1aVkJzMjZQCnZVbjFY
aWRqWU9nb1U0YTJjendOK1BqRzFZdGUxMUZNUlFSUG1TYURXL0JEckJJaEVybVpkeUpiQXpaRkJY
djNjNzFnN29iWmx0L3EKZDNpT2NqWG14dllmUkg3SGxwTm1YVC93NkNnQTl4NWVBdVArbnpTclU0
SGFPWlN2MWt6V0xacmlkaHRReHVBZHpkOG83MjRWbWlTWQpiVWw3L1BpUlNRa21oeWNCYkQyeWJT
OUZ1L0JjTnZDak5aSkhlZE5EWkhSTStNQWVUeWZZSGp0SUtmUlliUWpVWTUydWZpdlM0RFd1CmVM
bnFodEU1YkZ6dzNPT2xFMng5blBsaE40SHJaem80MEJGaUdnbVFBQWtFaDBDRXJJRG9iZ1dlbk1J
S2JvV1lCbE9HQkc5V0hZYXYKaUdlZ0UveFFqZXhSei9JdENJaGc3V3FqZ1VHK2xhODd0MjdvYmtt
YkJwZTFGZXU1SzBEWExsOFFSTGYySk5pbVpkdEs5bFpkNzR5ZQpQZFhuejdVcXluWUNYcFJjQlFN
UXVPTnNVem1YTWNqeXBPeTZsZzNXT1F4OGRaOE5JcDBISWhnWW1obXc2eFNlUU5waTJjaEZBQ3Rn
Cjc3WXFiOWkyb2Vmdy9qWmg2UStHOG9GenJQREMwNW1uV0Vhd2lYdXZ6WnRCdGM5RFg2eVF4RXE1
Z3N0ZWJDLzFKUER5dG1QRFVrOVoKZUkwRVNJQUVTTUJDQWlHamdDUlJubTc2anZ0TXpjU3Q5dWpm
SGJQYmU3L1pZQ0dDLzZyQ2JCbGNuK3Bja1NJWEFyQWhUb2VWeHBpSApOUFlKTTc0NEltdC9lbWpa
Q3dhOHZzaWJLcGlpenE0QkVldzlDVlpKSUFocVdMWktZMDlaZzNZTnNUQ2FkLy9RdEg1RVVKNDJy
SU8wClZ3RVE0V0FnSXNYVllON1dsd1NKa3RvTy9YNDNDd0pxODA3bWQ4VXNHR2tKWEZQUGZyOFda
WnlDVTNaNWY3WlQ1SFBjWE1ic2VXWGMKWjk5N2RDQUJ0ODREVzFlUVAwNGZEM2tlZVF1WE5CeWcx
R25kMTZNREZLejhJQTRLaFFSSWdBUklJUGdFUWtZQnNkMHFsczZuclBuWgphV3VVN1pydGZZYnlZ
R0syUmNDV3g5OTNiRWVBclllWjBTMzJRVTk0dDRYcGtyNnY3Vjc4ODR4YkVhdzJSS1NBd2F0djFu
WHJBbFkzCjROSlZKOWhPWkZOQVNsZFNVYnZEQ0o2bnE4T3FOQVJhQzh1TzQveVpFNGFMWlRnNWdH
ZWNpSkRySmx2akVPd3ZVRW1SV3IrVjdNYTEKUzRGV3pmS1JsTUJvRmVqU0Z0OER0NER2aWRtS0wr
Szg5Qnc1WCtCMHcyemJKVlp1b2N4SEJva2RKNjYwVUJNVDJIYXJXeUhGUGNCTAoyOEtQQmtXRzIy
RWZTWUFFU0NEU0V3ZzVCUVJFWWVNeGZQWm1iVndLWElmeDRKWTFjM0VZRklITFlGMVFOMXRqY0du
Nm1VTzBiVnU2ClArODNyejgxMkhZc0c5RUtDUHFpTTBaSHVsbE1nSDFxVmNvV3lUNml0bCtoZnhC
NGtYcW43M2dWc1h2MDB3UVAvMk5iWDY5R3J3amMKSUQrNGY4OURUdXN2dVc2OXM3VmdNK0szbmZ2
emJ1YUp5b3E2L2VrUHkwUXNBWGl4Y3ZTMmh0WGVwcDNmRDdOVDJKTDEvc3hOcGk2WQpZVk8wYitl
bU1Pc0psUXl3K1p1NGZLL3BscXgxaTZlNGJZa05sYjZ6SHlSQUFpUVFsUWlFcEFJQ3dKaDE2ekJv
dWphb0dhNmZEbUo4CkVOU1BBWGpweWcxeHFKVkZVd2JMZDErdjFWN3pKVkhuR2VqU2hiTytWQkdV
dkZEQ1lORHRLb2lkZ3VqQ3JtSXpQcythdTVDS25sek0KOVhLRW5OZHEyVXZlbTdKV0VMUEZrOER0
OHVxNTQ2VmpqUUp5NXNUVEFJcWU4bHQxN1pHSm9lOGx6YXFZcjIybU1ER21mM0QvcnE5VgpNWDhr
SjREVllpallqbEtnV0JsSmxqSzFZNUxwTVJ4dndJN0N6TDN0M0FuOUxGc1JOdTJFaFJkZzk0S3R0
dkNDNkNyNFcvRDdpVU91CnlUd25BUklnQVJLd21FRElLaUM0ejFpeFkwdVBFZk8wV3dET25qcGlN
UXIzNmpvUG1Ta1pzK1Yxdi9CdnlyaStUUVArc1hLTlc0R3EKZlhHYmE5bzVDeTVVMXJqa3ZYN2xv
bEs4MWpqVmJrUkwzN0hlU0tzWUFhNTNuVHJqY3ZKeTJhb3kvZlBEeHBhc3NLSStZM3RaLzVabApC
ZHZzd2tNU2FZemwwYTRsQ29qSkZpeXo3U2ZoY2I5c0kySUliRncrMCsyWk1uUFZiTlpER0tVUFZS
NElkZCtoMzQ3K0ZHSGJHTTM2CkcxWjY5cnlGcFg3YmQ3WFp3dU8zUmRzd0UwbUFCRWdnR2hFSWFR
VUVuMFBXUElXVWQ2ejZiaDlKZVB4SUlFTHdnRWtySlY1OGZVeUcKZTNkdkcwYnBNTWowVjNUeE8w
TEZ6ejVzT1JJbWRqZUlkbzJNdm1YMVhDT1NOM2lWcnRMSVh4UkJLNGVZR3RpU0JlOCsrUXEvNnJF
ZApiSXZxMzZLcy9Ibm1wTWQ4Vmx5RXJZMU9yRkJBZE04VjJrcVNUTittcmg5TWl4b0VkQk1hMmZN
Vjhmbm1zQ0phU2JteTFzbTUzNDdxCmtrTTZyWDZiZHcySEdhNmRESS9mRnRjMmVVNENKRUFDMFky
QXBRckkvbSsva2xXZmpyV2NvVzVMRDJiaTRjOCsyQUozcHQwKytOUzAKR1F4VVIvYXNMekRDOWtk
MHMrQVlnSG9iZWR5Zk5yMHRFeWR1UEtsUXE1VmJkdXo3UHYvN0NTTWQ3bTIvV3ZXSmNXd1luMXRn
UU8zVwpvRVVKVUdaSExkZ2gvY1l2ZGZQODQ5Z0VZaDNNR3RYZE1Ta294MllScUxHaXBOdm01a3Nu
YnFqdmgwN01qTk4xZVprV05Ram90aFNsClNwUEpyNXVEM1loT3VRMjJBckpvNmhETEF5REMwUWky
akxvS0FqTlNTSUFFU0lBRWdrdkFVZ1hrTDJVY3ZueldTTDhINDJhM21pMVAKWWJkTGNQVnF0akxo
bGpuQWhKSnYxSmFhTFhxWTFuSmc5eGFaTTdhMzZYVlBGN0xrZkVGNythdVZUd2YxMm9zK0pzSTQv
S0RHM2E4MwoxVlNxMzE2YkRkczZJRDkvL3orN1o2eFEyMzZsN2JoS2hJZXZHZXVPZUF5cytNTzJk
U3BJNE5kbVZWaVNucS9JYTlwNm9OU2Qvald3CmJXQlhMcDNYMXAxZkdlRlNvZzhCVEl5Y08rVzhP
Z0hiaDBSSmsvc0ZJVUdpSkNyQTZNdHVaVjNiY01zUVlBTGNsUWZEOFVnMnRSWEwKVlpJOTk3eHJF
czlKZ0FSSWdBUXNKbUNwQW9LK1lmWllGOXNpa0g3cjNKSmlUeks4SFlXWHRPZytVc3dHak9qRDJ2
a1RaZXZhK1Q1MwpKKytMSmJWbE5xMmNIZkFzT0NyR1lIWmN2NlpHZEdOdFEyRWtwc21ZVFlxOCtw
WmJMZ3dHSGoxOEtKdFd6REt1WVUrMVA5czYzQ29PCk1LRnpyVUpleFltQlc4NkdIUWJKdU1XNzVm
bDBtYld0aGhWNFVWdkloOFJVYVROSzJrdzV0Q1crOXVOWmNxd0lrWjExWXVaMlZaZVgKYVpHZkFM
eWVQWHI0d09sR0VGUVZxMnorU3Zxc3VkMktQbnIwMEMzTjZnUjhIMkVrYnFYRWorL3U4anBUamdK
V05zRzZTSUFFU0lBRQpOQVFzVjBEUXhuZGJuWTJVTmUzNmxLUUwyQmJlUHhMd3l0VnYzRkpUVHpD
NElVUnBQL2J6RHo3ZEd6elI2QWFoQ0ppMzh0TXhQdFdsCnk0d3RjVmlsTURPNDFKVnhUZE81NU1Y
QUJzckhMaFVZRXZKV2lCaWZRd0hlOTgxRzExc3dQWWZTQkpmUE9udU0zNDcvYkZyT3FndkYKU2xY
U1ZyVnQzYUtBRkZEZEFETjEraXlTS1VkK2JYdE1qSm9FRWl1WDVycUpHc1RCOFZjeVpNM2pWalI1
eWpSdWFWWW5ZTnZ0c1orKwpzN1RhRTBmMnU5V1hPU2NWRURjb1RDQUJFaUFCaXdrRVJRSFpyRnkx
bXNVNDhLZi92eDdhNjFiTWJPWEFOZVBmZno5MlRmTDdITW9DCmxCQ2QrMFpVaXBuR0Q3clU5SGwy
OFEyTm5RWHFXNnoyUFo4ODhpTU8vUkpzdTFvd2VhQmd0UWdCSHYyVklxOVYxSzRTekI3ZFV3MlMK
SHhwYjRXRC9FU3J5NCs3TlBuVUZxenhOdXd4M0szUG41blczTktzVHFqWHRxdlh5ZHZQNkZmbGgr
enEvbXp1dFVaNXFLcmZFdXNHbwozNDJ3WU1nVGVFWnR0M3J1K1hSdS9RekV6Z0hmZVZmeDVDM1FO
VzhnNXlzK0dSMUljYmV5Snc3dGMwcUxGVHRPU0t6a09uV0tKeVJBCkFpUVFCUWtFUlFHNXA0ekRG
MDhiYWhrdTF4K0psQ3JHUVprcWpiMnEvL1pOY3c5Vi9zUkV5RiswbElxb085SzBiY3c4ZjlDbGx0
dTIKQjlNQzZzTHJOVnRxSTYvLy9maXhERzFmeGEvWUZBZSsyeXFEMjd4bHpLTFhhek1nb0lFblhH
OVdhdUJ1QzJJYmlNRHpGVHhOV1NGUApUTFpZbUtYcjJzUis5RDk4TkNRdFY2MnBtNHRSM2Y1d1hY
dG1mVE5MZDZ3RDI3L0tWV3ZtbUdRL1Jzd1Zmd1JlMmI3LzN4ZE9SUkhECm9ZSjZ6c0pEc08zUENr
SDhDZ1M1Mjd6cVUzSDlHMkJGL1pHNURpaW9SdzdzRnF3S2hDVXZsYTdpbGtXM3F1eVd5U1JCWjlS
ZXZId04Kazl6V0ptTWIxc0c5T3l5cDlPTDVNK0lhbUJOQlZPbXEyaEs4cklRRVNJQUVQQklJaWdL
Q0ZqY3MrMWdRWlRwUTJhc2liSjl3V1FHQgorMFRFQ1BGR3NDWEhUTEROeVIrcDFiS25sS2hReTdU
b3NaKy9sNm5EM0Fmc1pnV1NQcGRLektLSFE2SHAyNnlVVDl1S3RxOWZZaWd1CmlPd05nMnRmZmY3
citnbHZXSmdkMUltVnh1ZDNidWxYSFc2YnBPdjZnN1JWYzN6YnZnYWJrR1F1MjBoeTVpOW1WcjFU
ZXFCOWJ0aCsKa05iZE1aNzlDOHF4ZzYreWJmMWlZMlhLc2R6YnZjWUs3akVzZWZ6NFVWaFp3cngr
NTlhTk1QT0VsZUdQMDhlbFMrMFhaWERiaWpMcAp2YmVsVzcxaXl1VjFUYmwvOTA1WVJjUDkrdCth
d0p6QjZnU1VzbW5ET2tpamtpbWxkK09TMHFSVWFobmZ2N25jdTNQYnRNbXlWWnU0ClhZT1RDd3pB
L1pIZlhlTGtJRkFodHZlRmwzejhZVmU1Znkvd2dKcExwZzl6NmpLK0gzWGY2ZWVVeGhNU0lBRVNJ
SUhnRUFpYUFnSkQKeDBGcUJqNlFvRzYvcVdqbm8zclVkekk4Zk9YMW1sS2g5dHRlMDNDZDRYSXNl
TzN5QmNkVG40N2htbGRudTJHckJMRXhQbDg0MlhZYQo1anUyQUVFUjBRbVVxTUh0S3NtSDNlc2Fz
NTVtTTh3WXNHS2dOcVpQWTJNRkprZitvdEo5eE55QVZqOXMvY0dzb0U2UlFSdTZpT20yCmNyNitZ
MlpYSjdxSThicDh0alE0QkxoODRaenROTXgzYko5emZSNXlGM29sekhMSUVHaWZZWXplYytRQ3Q3
YndIWm95dUkxYmVsZ0oKbTFmTmNjcUMxY0t5VmIxYk1UUnozMnRiN1hLcTJPVGt4bFg5ckx5M1c5
cGdhRHltZHlNNTk5c3hweGErKzNxdFlQQVphbkw1TC8xego1bXI4YlVXLzU0N3ZKMTh1bmVGVTFk
ZWZMNUNaSHJqa2ViR0UyM2NYZlpzL2FZQlRQZDZjSE5xM1V3N3QzMm5QaXRYUk52MG0ycy9ECjR3
Q0JENGQzcWk1UXh2eVZGYk5IcVpVMTUrOUo1NkV6SlR4c1dmenRNOHVSQUFtUVFGUld4cWM5QUFB
TGEwbEVRVlFpRURRRkJKQXcKY0I3UXNweHNXN2ZZWjJhWW5SdlN2cklnMko5TjRNR256NWpGZ24z
TjNzaXQ2MWZscUFlanhVQ1c4dU9yZUJjSVVnaDN3R1l5ZTFRUAoyYmxwaGRsbHAzUzR0MncvY0tw
VG11dkp0MSt0TkdZOVc3NmVTWWEwcXl5VEI3MGpJM3ZVVXpQRmhhVnVzY1JHbW0yckN2Wjl2emRs
CnJTQ1doMVZTcFdGSHQ2ck1WbTdjTW5xWm9ET2VSbEV6cjA1bTFXTEFqRUdzdC9FMHNKMEZBMzZi
d08xeWxseDZGOG0yUExaM0svcGMKckhSbHd5dVhyVTdiTzdiU3JmOXN1dTAwekhjNEJYQzBHOHFR
TFk5MGVNL3pjK1ZZcWRtOVhEei91Mk0yajhkbU1XeThEYkNJTFhRbgpEcnNiQjZQUjdXcDFCMXNU
UTBrdS9uRmEyeDJzNGxncDhEcjM1Vkw5c3dDN08wK3JJRzBIVEhhTGZZTy95M0FoN3EyQSt6U1hs
ZDFtCjNVWklSQmh0NDNzeG9GVjV2N2FuWW9WNDdvVCtUcmZkdHY4a3BhUzdyeFE1WmVJSkNaQUFD
WkNBWlFRc1ZVQ3dUYWZUa0krZERKWXgKT3p5MmJ4UHByeFFSREtERDJrSngrYTgvNUpNeHZhUmRs
ZHh5UlIxREVPK2pRZnYzWktBYVVKdHRBOUlSV2J0d2t0dFdGTWQ4KzNadQpER2cvY1dibFVhanpr
Sm1PVlRvZFl5WjNiTi9HNG0xTUQ4UWJlYnYzV0tjNmRDZVkyY2RxQitxRmduUHE2QUVuUlEyQndn
Wk4vZHp5CjJUeXNkamdHaFlSN1pLdU56K0g5U1NkdzdYenB6N082UzZacG1LbWQ4RzRMd1ZZMFQy
SnNhM20vZ3owTG9xVjdzdk94Wi96M3dLbysKTis0NFJKcXJBWjJyekJqZXlXM1cyelVQenMrZVBD
S1RCcmF5WDBLUXRaSHp0a3Y4aEludGFaNE9zRnA1NXVSaGJSYkhXVzl0aG44VApvZkNaMmE3czJy
TEtVMUg3TlUvYkp2RlorV083WmEvYzRnTW9lei92MmFhdDlTYzFTTFpTcnFyWUxwNFVhazhLWGhM
bERXdjBnbS9jClZtMEhxUzF1SzlWMlJiTlZWVnYvcjEyNklDTzYxUlpIK3c4bzZYWGU3bVBMRXRU
M1hxTVdTblhsc01GeEcrRlJOV25RdVhZaG1UR2kKaXpIUjVPa2VjTzNJajd1TVZYbXNFTnNFZ1dZ
SFRGd2hWWnQwdGlYeG5RUklnQVJJSUJ3SVBOT3hZOGNoMDZaTmt6Smx5aGd2bjlyYwp2bDBlUG40
aXZ4Y3NZeFNEZHlpNE5jVk1PZllFWDduNGgzM21Hck9FT3pjdGx6WHpKOGlQdXpiTGdlKzJHRDhh
Unc3c01zcGl0V0xaCnh4L0lQRFV6aFI4V2VLK0NzbEd0U1JmcHIzNGdYbEl6eEloYzYwbnc0NHdC
Rk9xSFMxek1sb1lsVzlmT1U3Tm9oMVRkc2RWV3BaaVMKSUdFU04yTmtUM1ZnOXUvR3RVdkszbVdQ
Tmh1VUVCZ0VJM280N2pHZUdneWFiYlZDQlhuVXRwOW4xSDBlVklNYVR6K28yc1pVSWdhZApJejdk
S2pwWG1XWmxmRWwvTmxZY3U1dGxlTy9DbGpnckJNYTB5Mlo5S0loL29ydHZwSjFRTmtWWWxVaWVL
cTFwazNpKzd0NithYi8rCis2OEhqZjRpQW5pYURObmNQdHRUUnc0WVc5dXdyUU9DSUd0NDNyQWlG
WlpZMVdmSGR2SVZlZFVZSk83YnVjRnBwbi9QOXZYeTEvblQKa2xGNU5ITTFra1d3T2N6cURsY2Uy
R3ozWHZEbGNqSmt4bnFWTjdsajlhYkhzTmVhTlBCdHQyMW90Z0xIZnRvdDJmTVdVWDNMYmt0eQpl
OGVxNWJqK3paeFdZQnd6SVNBbXZ0ZjVDcjltNmtrTytjRWVjWFVjVjZSczlXVEpYZEFZaU5yT0kr
cjl0dktRaGxnNHN6N3NacXowCjZ2cUJ3ZnJEQi9jVXM1eGVQVSs2T2h6VG9FaXVuamRPcTRUZ2Iy
T3JYbVBVNnZDemprV2NqbEcrYkpVbVJxQllHS0dETDc1WFdBWEIKeW1uOEJJbU5sODJoQkZZOC9s
VHVldkYzZTBUWFdvSXRzUkFNMnJGbHNITEQvNVIycDRhQ2NJTEpEc1FqZXFOMmErTjM0UHp2eDVV
ZAp5QjJCbzRmanYveGdUTVpzV2o1TDNjdFcrVVg5N1R5dTNLSGJ0dkRoYzVpbUpoaStXRFJGL2p4
NzB1aGRxclNaNUoyK0U2U2ptakNECmwwQXpTUlFuaHFUeFRuODNxNExwSkVBQ1ZoQlE0MDMxQjB1
a2JGa3JhbU1kRVVSZzI3WnRzbDE5bGtyM2tCaUhEaDE2a2k5ZlBoazgKZUxBTUdUTEV0eTROSFNx
Mzd2MGpPNXFabDhNQWI4K085U28reHZmR0t5ejN2Tmc2aElFT1p0dmhIU3FGeG9Xa3JwUFlRdE92
ZVdtbgpRWnN1WDFocCtDRWYvc2tXeVc4U3BWcFhIbHNqMERidTBSdXAzcXliK3ZFYjd6RXJCb1FU
MVd3MkJ0RGVDRlk5YXF2WlNDaHNqck9FCjNwVDFKUS8yanJjb245Rndzeng1NVk5SzRTbm9TM0du
dlBqTVlBaUttWHRQczdkT2hkUkpzaFNwalVGRHJWYTlwWERKTjV3dW8yOFkKVk1FdEtBWlpqdlla
aVBXUkpWZEJTWkU2dmRxdWNzdUlFSDMyMUJIRHhpaDFocXhxMWVORHcyamZxVUtYazJEMDJhVUo0
eFFyZ2ZNbgpEaERzNzNjVTdMblBXZUFsUTBsSmtqeVZvZVJqZGNpMldnZzJHSWg2YS9PQnJTZ1lZ
RjQ0ZThxeEdkTmp1Q3dHMjJwTnVrckI0dVdNCmZGalpoTmM3YjUvVjU1UUNpYytoN2p2OVZYRFBW
N1Z0clZFS0NMWXdPZ29tSkVaOCtyV2hwRHVtaDlmeHh5TzZxa21UM1ladDBmVXIKZjJrVlpiTys0
UGxLOFh4NlkvS2hsSEpaWGNKUHhSMXhmZWFNZFY5MXdBcHhrMDVEelpwM1M4Y3FLajR6S0ZHdWlo
NCtIMHlVUVBsdwozTzRHeGJCaGg4SEdCRk5ZazBGdURWcWNnSDd0MmZHbFdzSGVia3hrNGJ2dXll
WUdrMk9ZbE1FRUdRTEtRaEh6eHBGSm1zUXhwSEI2Cml6dlA2a2lBQkh3bm9NYWI2c2RhQk8rVVNF
c0Flc1pROVJrcTNVUE1wOHNzdXIyc2VRb0pYamJCS3NETkcxY005NGN3TEI3V3NacHgKcWJVYWtK
ZXAzTWpqNm9DdER0MTcyb3pacGZkby9mWWRYWDVQYWVuVWpLVXZnaCt5Z1pOWHk4RjlPN3dxbGti
MU5TeUJBdmJScWdOeQpXRzBqMnZIbFo4WXNKVmFVYk51Sk1CQk4rdHp6eG84cFpnWkxxTzFic0Vz
SnRtQVEyTExuYU5tdnRxOEZvbnlnbnhqb21NVkE4ZVkrCmRCSE1zWSs3YXVQT3h2WXpLQ0pZRVlN
eWg3Z0htRFhGdm54c1dVdXBWa1N3bWdEM29YZ3Y4WG90cndZa3dlaXo3bDZoZVBmNGNKNUEKeWRx
NWNabnNWc0U5TWNESGlocnNtaHh0bTZCd0lzNExQTE85VXI2bVR5NlJZVmVGS1BhK1NzbzBHZTFG
RUJtN29Sb0EreXE2K0JTMgpPbW9vSlIyc3YxVDJMM0Fra1ZtdGZEVm85NTRhUk9hMlpRbjM5Nklx
YUtTWnd1UkxaL0MzeWwrcDJhS25paHNUUzVhcTFXSndTWmc0CnFTQytTNTIzKy9wVUpaVHdMc05t
R1pNV0I5U0tNYjRYeGt0OVI3QmFEZHM3ckthbXk1eFQ4UGN3clhvdjlNcnJncTFjb1NBSURGdTgK
WERYamhmNUFJY0ZLTkNZYzhMdnl3N1oxc25ydU9HUGxhZGpNamNwTzVRVkw3ZUZDZ1FIN1FBSWtR
QUtSbVVEUVYwRENnbE1sWDB3agp5OGo1MjMxYWRRaXIzcWg2SFZ0c0hpa0RhNng0UUFtaFJCOENV
TjZoaE1KYkY3YWZRQUhGaXNkenFkSjVwVHhGSDFMUjQwNFI3eVZoCmttU1czeXdHOHhqZ1IyYjVS
aW50bzNvMkVNUy9XYmo5VDc5dmhTc2dmcU5qUVJLd2xnQlhRS3psR1VHMWhlc0tTQVRkWTVSdDFs
dUQKNGlnTElCcmZXQ0psejRFWDdJNG9KQkFNNVFOVUk3dnl3U2VEQkVpQUJFZ2c5QWx3Q2ozMFB5
UDJrQVJJZ0FSSWdBUklnQVJJZ0FTaQpEQUVxSUZIbW8rU05rQUFKa0FBSmtBQUprQUFKa0VEb0U2
QUNFdnFmRVh0SUFpUkFBaVJBQWlSQUFpUkFBbEdHUUlSYkdvNVp1Tk9BCm1Va0Y5YU9RQUFtUUFB
bVFRS0FFQ2lydmJ2aHRRWHduQ2dtUUFBbVFRT2dSaUhBRkpNK0xKVUtQQ250RUFpUkFBaVFRYVFr
Z1dHZGkKL3JaRTJzK1BIU2NCRW9qNkJMZ0ZLK3AveHJ4REVpQUJFaUFCRWlBQkVpQUJFZ2daQWxS
QVF1YWpZRWRJZ0FSSWdBUklnQVJJZ0FSSQpJT29Ub0FJUzlUOWozaUVKa0FBSmtBQUprQUFKa0FB
SmhBd0JLaUFoODFHd0l5UkFBaVJBQWlSQUFpUkFBaVFROVFsUUFZbjZuekh2CmtBUklnQVJJZ0FS
SWdBUklnQVJDaGdBVmtKRDVLTmdSRWlBQkVpQUJFaUFCRWlBQkVvajZCT3h1ZUxkdDJ5WkRoZ3p4
Nlk1THF6S1AKSG9zc3ZqWFVwM0xNVEFJa1FBSWtRQUtoVGlCaG5CaVNOa21vOTVMOUk0R29Ud0Rq
VGZubkg5bm00emcxNnBPSlhIY0lYY01tTVE0ZApPdlFrWDc1OHRuT2YzZ2VyM0ZoQ3dUdUZCRWlB
QkVpQUJFaUFCRWlBQkt3bXdQR20xVVFqdGo2bGUwaU0rL2Z2UHpsNThxUmZQVWt4CmRhcWttalpO
OXRadjUxZDVGaUlCRWlBQkVpQ0JVQ1VRUDNZTVNaa3dWSHZIZnBGQTlDR1FjdnAwdWRTK3ZWenEx
Q242M0hRVXZ0TnMKMmJMSi93RXM3STZsRVNMaGdnQUFBQUJKUlU1RXJrSmdnZz09CgpJbmRleDog
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWxlb3BhcmQvc3ZnL3RleHQvdGV4dC10ZXh0LTA2LXQt
ZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEg
YmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KCmlW
Qk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBRE8ybERRMUJKUTBN
Z1VISnZabWxzWlFBQWVBR0YKbEV0bzFGQVVoditNS1lLMGdxaTFGcFRnUW91MEpUN1FpbERiYWJY
V2tYRVkrOUFpeURSelp4cE5NekdaR1IrSVNFSGMrVnFLR3grSQppeXJpUXJwUWNLVUxrVUxyYTFF
RWNhVWlpRUkzVXNiL0p1MU1LbFl2SlBseXpuL1A2NFlBVlE5VGptTkZOR0RZenJ2SnJxaDI2UENB
CnRuZ0NWYWhCTmJoU2h1ZTBKeEw3ZmFaV1B1ZXY2YmRRcEdXeVNjYUs5UjJZK0xSdDlmMUxqMkx2
NjU3MitwNzUrbmx2TlM0VEFvcEcKNjRwc3dGc2xEd2E4Vi9MSnZKT241b2hrWXlpVkpqdmtScmNu
MlVHK1FWNmFEZkZnaU5QQ000Q3FObXB5aHVNeVRtUUZ1YVZvWkdYTQpVYkp1cDAyYlBDWHRhYzhZ
cG9iOVJuN0lXZERHbFk4QnJXdUFSUzhydGdFUEdMMExyRnBmc1RYVUFTdjdnYkV0RmR2UHBEOGZw
WGJjCnkyelo3SWRUcXFPczZVT3A5SE05c1BnYU1ITzFWUHAxcTFTYXVjMGNyT09aWlJUY29xOWxZ
Y29ySUtnMzJNMzR5VGxhaUlPZWZGVUwKY0pOejdGOEN4QzRBMXo4Q0d4NEF5eDhEaVJxZ1p3Y2k1
OWx1Y09YRktjNEY2TWc1cDEwek81VFhOdXY2ZHEyZFJ5dTBidHRvYnRSUwpscVg1TGs5emhTZmNv
a2czWTlncWNNNytXc1o3dGJCN0QvTEovaUxuaExkN2xwV1JkS3FUczBRejIvcVNGcDI3eVkza2V4
bHpUemU1CmdkZFV4dDNURzdDeTBjeDM5d1FjNmJPdE9NOUZhaUoxOW1EOEFKbnhGZFhKUitVOEpJ
OTR4WU15cG04L2x0cVhJTmZUbmp5ZWkwbE4KTGZlMm5SbnE0UmxKVnF3elF4M3hXWDd0RnBJeTd6
cHE3amlXLzgyenRzaHpISVlGQVJNMjd6WTBKTkdGS0pyZ3dFVU9HWHBNS2t4YQpwVi9RYXNMRDhi
OHFMU1RLdXl3cXV2Q1plejc3ZTA2Z3dOMHlmaCtpY1l3MGxpTm8ranY5bS81R3Y2bmYwYjllcVM4
MFZEd2o3bEhUCkdMLzhuWEZsWmxtTmpCdlVLT1BMbW9MNEJxdHRwOWRDbHRaaFhrRlBYbG5mRks0
dVkxK3BMM3MwbVVOY2pFK0h1aFNoVEUwWVpEeloKdGV5K1NMYjRKdng4YzlrV21oNjFMODQrcWF2
a2VxT09IWm1zZm5FMlhBMXIvN09yWU5LeXEvRGtqWkF1UEd1aHJsVTNxZDFxaTdvRAptcnBMYlZO
YjFVNis3VlQzbDNmMGNsWW1Uckp1bDlXbjJJT04wL1JXVHJveVd3VC9GbjR4L0M5MUNWdTRwcUhK
ZjJqQ3pXVk1TL2lPCjRQWWZkMGo1TC93TkFZVVZEWHhMT3pzQUFDQUFTVVJCVkhnQjdOMEhlQlJG
RzhEeE4vUlFFNW9FQW9RbVZjUWdIMWdSYkNnV1ZFRHMKQlVWRlJRRUxWcW9pRmxSVVZDeW9pRWdI
R3lKS0VRVUVRWkd1Z0pRSVNDZVVBRksrbVEyMzNDV2I1Sks3emUzdC91ZDVMdG5ibloyZAorVTBn
OTJaMlptTU9Iang0Zk0yYU5VSkNBQUVFRUVBQUFRUVFRQUFCQk93VXFGV3JsaFRTd1VmRGhnM3R2
QTVsSTRBQUFnZ2dnQUFDCkNDQ0FBQUt5Yk5reUtlUnphTm15cFZ4d3dRVyt0M3hIQUFFRUVFQUFB
UVFRUUFBQkJNSWlNSFBtVEprMWE1WlJsaG1BNk9DalQ1OCsKWWJrQWhTQ0FBQUlJSUlBQUFnZ2dn
QUFDUGdFZFovZ0NrQUsrblh4SEFBRUVFRUFBQVFRUVFBQUJCT3dXSUFDeFc1anlFVUFBQVFRUQpR
QUFCQkJCQXdCUWdBREVwMkVBQUFRUVFRQUFCQkJCQUFBRzdCUWhBN0JhbWZBUVFRQUFCQkJCQUFB
RUVFREFGQ0VCTUNqWVFRQUFCCkJCQkFBQUVFRUVEQWJnRUNFTHVGS1I4QkJCQkFBQUVFRUVBQUFR
Uk1BUUlRazRJTkJCQkFBQUVFRUVBQUFRUVFzRnVBQU1SdVljcEgKQUFFRUVFQUFBUVFRUUFBQlU0
QUF4S1JnQXdFRUVFQUFBUVFRUUFBQkJPd1dJQUN4VzVqeUVVQUFBUVFRUUFBQkJCQkF3QlFnQURF
cAoyRUFBQVFRUVFBQUJCQkJBQUFHN0JRaEE3QmFtZkFRUVFBQUJCQkJBQUFFRUVEQUZDRUJNQ2pZ
UVFBQUJCQkJBQUFFRUVFREFiZ0VDCkVMdUZLUjhCQkJCQUFBRUVFRUFBQVFSTUFRSVFrNElOQkJC
QUFBRUVFRUFBQVFRUXNGdUFBTVJ1WWNwSEFBRUVFRUFBQVFRUVFBQUIKVTRBQXhLUmdBd0VFRUVB
QUFRUVFRQUFCQk93V0lBQ3hXNWp5RVVBQUFRUVFRQUFCQkJCQXdCUWdBREVwMkVBQUFRUVFRQUFC
QkJCQQpBQUc3QlFoQTdCYW1mQVFRUUFBQkJCQkFBQUVFRURBRkNFQk1DallRUUFBQkJCQkFBQUVF
RUVEQWJnRUNFTHVGS1I4QkJCQkFBQUVFCkVFQUFBUVJNQVFJUWs0SU5CQkJBQUFFRUVFQUFBUVFR
c0Z1QUFNUnVZY3BIQUFFRUVFQUFBUVFRUUFBQlU0QUF4S1JnQXdFRUVFQUEKQVFRUVFBQUJCT3dX
SUFDeFc1anlFVUFBQVFRUVFBQUJCQkJBd0JRZ0FERXAyRUFBQVFRUVFBQUJCQkJBQUFHN0JRaEE3
QmFtZkFRUQpRQUFCQkJCQUFBRUVFREFGQ0VCTUNqWVFRQUFCQkJCQUFBRUVFRURBYmdFQ0VMdUZL
UjhCQkJCQUFBRUVFRUFBQVFSTUFRSVFrNElOCkJCQkFBQUVFRUVBQUFRUVFzRnVBQU1SdVljcEhB
QUVFRUVBQUFRUVFRQUFCVTRBQXhLUmdBd0VFRUVBQUFRUVFRQUFCQk93V0lBQ3gKVzVqeUVVQUFB
UVFRUUFBQkJCQkF3QlFnQURFcDJFQUFBUVFRUUFBQkJCQkFBQUc3QlFoQTdCYW1mQVFRUUFBQkJC
QkFBQUVFRURBRgpDRUJNQ2pZUVFBQUJCQkJBQUFFRUVFREFiZ0VDRUx1RktSOEJCQkJBQUFFRUVF
QUFBUVJNQVFJUWs0SU5CQkJBQUFFRUVFQUFBUVFRCnNGdUFBTVJ1WWNwSEFBRUVFRUFBQVFRUVFB
QUJVNEFBeEtSZ0F3RUVFRUFBQVFRUVFBQUJCT3dXSUFDeFc1anlFVUFBQVFRUVFBQUIKQkJCQXdC
UWdBREVwMkVBQUFRUVFRQUFCQkJCQUFBRzdCUWhBN0JhbWZBUVFRQUFCQkJCQUFBRUVFREFGQ0VC
TUNqWVFRQUFCQkJCQQpBQUVFRUVEQWJnRUNFTHVGS1I4QkJCQkFBQUVFRUVBQUFRUk1BUUlRazRJ
TkJCQkFBQUVFRUVBQUFRUVFzRnVBQU1SdVljcEhBQUVFCkVFQUFBUVFRUUFBQlU0QUF4S1JnQXdF
RUVFQUFBUVFRUUFBQkJPd1dJQUN4VzVqeUVVQUFBUVFRUUFBQkJCQkF3QlFnQURFcDJFQUEKQVFR
UVFBQUJCQkJBQUFHN0JRaEE3QmFtZkFRUVFBQUJCQkJBQUFFRUVEQUZDRUJNQ2pZUVFBQUJCQkJB
QUFFRUVFREFiZ0VDRUx1RgpLUjhCQkJCQUFBRUVFRUFBQVFSTUFRSVFrNElOQkJCQUFBRUVFRUFB
QVFRUXNGdUFBTVJ1WWNwSEFBRUVFRUFBQVFRUVFBQUJVNEFBCnhLUmdBd0VFRUVBQUFRUVFRQUFC
Qk93V0lBQ3hXNWp5RVVBQUFRUVFRQUFCQkJCQXdCUWdBREVwMkVBQUFRUVFRQUFCQkJCQUFBRzcK
QlFoQTdCYW1mQVFRUUFBQkJCQkFBQUVFRURBRkNFQk1DallRUUFBQkJCQkFBQUVFRUVEQWJnRUNF
THVGS1I4QkJCQkFBQUVFRUVBQQpBUVJNQVFJUWs0SU5CQkJBQUFFRUVFQUFBUVFRc0Z1QUFNUnVZ
Y3BIQUFFRUVFQUFBUVFRUUFBQlU0QUF4S1JnQXdFRUVFQUFBUVFRClFBQUJCT3dXSUFDeFc1anlF
VUFBQVFRUVFBQUJCQkJBd0JRZ0FERXAyRUFBQVFRUVFBQUJCQkJBQUFHN0JRaEE3QmFtZkFRUVFB
QUIKQkJCQUFBRUVFREFGQ0VCTUNqWVFRQUFCQkJCQUFBRUVFRURBYmdFQ0VMdUZLUjhCQkJCQUFB
RUVFRUFBQVFSTUFRSVFrNElOQkJCQQpBQUVFRUVBQUFRUVFzRnVBQU1SdVljcEhBQUVFRUVBQUFR
UVFRQUFCVTRBQXhLUmdBd0VFRUVBQUFRUVFRQUFCQk93V0lBQ3hXNWp5CkVVQUFBUVFRUUFBQkJC
QkF3QlFnQURFcDJFQUFBUVFRUUFBQkJCQkFBQUc3QlFoQTdCYW1mQVFRUUFBQkJCQkFBQUVFRURB
RkNFQk0KQ2pZUVFBQUJCQkJBQUFFRUVFREFiZ0VDRUx1RktSOEJCQkJBQUFFRUVFQUFBUVJNQVFJ
UWs0SU5CQkJBQUFFRUVFQUFBUVFRc0Z1QQpBTVJ1WWNwSEFBRUVFRUFBQVFRUVFBQUJVNEFBeEtS
Z0F3RUVFRUFBQVFRUVFBQUJCT3dXSUFDeFc1anlFVUFBQVFRUVFBQUJCQkJBCndCUWdBREVwMkVB
QUFRUVFRQUFCQkJCQUFBRzdCUWhBN0JhbWZBUVFRQUFCQkJCQUFBRUVFREFGQ0VCTUNqWVFRQUFC
QkJCQUFBRUUKRUVEQWJnRUNFTHVGS1I4QkJCQkFBQUVFRUVBQUFRUk1BUUlRazRJTkJCQkFBQUVF
RUVBQUFRUVFzRnVBQU1SdVljcjNyc0RldlNMagp4b21zV0JIZEJyVERXZjFIZnppclA1eFNtMm5U
UlBTTGhBQUNDRVNCQUFGSUZIUVNWWXhTZ1kwYlJUcDBFQmt6SmtvYmNLTGF0TU5aCi9VZC9PS3Mv
bkZLYjd0MUY5SXVFQUFJSVJJRUFBVWdVZEJKVlJBQUJCQkJBQUFFRUVFREFMUUlFSUc3cFNkcUJB
QUlJSUlBQUFnZ2cKZ0VBVUNCQ0FSRUVuVVVVRUVFQUFBUVFRUUFBQkJOd2lRQURpbHA2a0hRZ2dn
QUFDQ0NDQUFBSUlSSUZBb1pEcjJMdDN5RVZRQUFLdQpGTmkyTGIxWk0yYUlIRHNXdlUya0hjN3FP
L29qZi91amI5Lzh2UjVYUXdBQkJEd2dFRm9Bb3Y5ajd0ZFBwRStmaUZOdDJoUHhLbENCCkxBVGlp
NHZFRnM3aW9KdDN4OFNrdDA1L0x4REZnNDIwdzFrL3BmUkgvdldITC9qd2ZjKy9LM01sQkJCQXdO
VUNvUVVnbXViWlowVWMKTUFyeTIvTGpydTZvYUc1Y2NtS014SmFPNWhia3NlN0xsNHNNSFNweXdR
V08rRGVTeDFhSTBJNDgwOWx5SXYxaEMydVdoVWJ6NkdXVwpqZUlBQWdnZ0VGbUJLUDZ6YkdUaHVE
b0NDQ0NBUUdnQzZqR2RFcU5HMEdQVXFFNWVYK1Awd3o1SkNDQ0FBQUpSSlJENkNFaFVOWmZLCklw
Qy9BZ2RMeHN1dUVna2lxZlpkVjkvZUZoZHJYL202Wk5vUnZDLzlFYnpWNFdJbDFBL1gvdUJQc01p
NTY0REk1bXorZmVWSGYxaFUKaTEwSUlJQUFBdGtJRUlCa2c4TWhCRUlWMkpWUVV4YWRraXlTWXQ4
dGdnbWxZeVE1TWRTYVpuOCs3Y2pleC84by9lR3ZrZjMyL3JoVApSTGFzelQ1VERrZlg3amd1aTdM
NTk1VWYvWkZERlRtTUFBSUlJSkJCZ0Z1d01vRGs1OXYrRDdTVFFUMDc1WGpKWVBQbFdGQTJHZkxq
Ckd0bGNua01JSUlBQUFnZ2dnQUFDSGhGZ0JDU0NIYjE5eTBZcFhMUllqalVJTmwrT0JXV1RJVCt1
a2MzbE9ZUUFBcmtRbUxVL1ZSNS8KNG5xUllqbi8vK0VyOXRtM3ZwQktWV3Y2M3ZJZEFRUVFRQUNC
aUFrUWdFU01YdVRWTVF1TWlaZitWZGkrSlVXV0xmcEpXbDUrY21URQpLcC8vT2VIWXpvOXJoS09l
MFZiR3pxTkg1Tlp1bDhuTzNkc3RxMzdCRlRmS0k0TSt0VHpHVGdTeUV0aDc3S2hzeU9XdFM0Y1BI
Y3lxCk9QWWpnQUFDQ0NDUXJ3TGNncFd2M0lFWEs2Q2VEYUZYZnZHbEkvLzlKeS8wdkY1MmJkdnMy
MlY4ejVndjRHQ1kzdVRITmNKVTFhZ3EKcG16QlF0S2pTeC9MT2xlc1hGMjZQcU9XNlNVaGdBQUND
Q0NBQUFJZUVuRE5DRWpLMzZ2a24zVi9tbDFYb1ZKVktWcThoS1NzWFducwpLM2RLRmFuZFFFMEd6
aUxwdnc3Kyt1TTMwdkRNODQwY0MyWjlMYnQzL0NzdFdsOHRpVFhxWmpwcjFSL3paYzJLUlZLb2NC
R3AwL0JNCnFWRzNjYVk4ZWpUamx4bGZ5TEdqUjZWRy9TWlN0VVk5S1ZPMmdwbnYwTUUwbVRkOXNq
SGFvYmNIUHR4ZVZ2NCtWNnBVcnlNL1RSMHIKdGVvblMwSzFXdUtmenp4WmJXemR0RUZXL0Q1SDl1
emNLdFZxTjVTR3llZEo0U0pGL0xQSTZtVUw1Y0QrdmRMNGZ4ZkluMHNXeU5KZgpmNVJHcW8ybm50
WXNJSi9WTllJOVZ4ZWs3WCtiTTAzVjlZRFVhZFJNYWpkc0tzVkxsQXE0aGxmZk5HblVYSzY1dmFk
TS9PZ1ZrMEFICmZJKytPRktLbC9UaUExSk1CallRUUFBQkJCQkF3SU1DcmdsQUVxcldrbVVMWjhz
YnZidEloWVNxOHY2M2E5UUM4ekhTOTc0cjVOTDIKZDhucHpWdG4yYjNUdnhnaEg3ejBpUG9ndjAx
dTZQcXN6UHRoa3BTS0syZVU5OWxiZmVTSjE4WkpzL012Tjg3ZnQyZVh2UGIwblJKZgp2cEpjMnVG
dUk4QjU0bzVXNm5oYjQ2L1pzU1ZLR3ZsbWZ6dEdkQkRUOWRtM0pYWFhObm4ybnN2a2dkN3ZHQUhJ
L3IxNzVQdEpIOG1JCklVK0xEbnowN1ZZNy92MUhxdGRwSkwvT25pSkhWY0J5TU8yQTdFdmRKWk5I
dkI2UXo5ZUlpUjhOTnVyWjhaNm5qTHJvZXU3ZHZVTWUKVVI5cWRUQzBKZVZ2ZWZXSjI0emJ1ZHFv
ZWs3LzRoTlZqKzJ5WE4zZU5meVZ4NlQvKzk5Smt4WVhpbFZkZ2ozWFY1ZFpYNCtTU1orOApLcjBH
ajVGdGFsNUx2NjVYU3BvS2V1bzBPbFBxTm00aDd3NGQ0c3ZxMmUrM1B2U2NMSjczZzZ4ZCtidGgw
T25lWjZUK0dXZDcxaU5TCkRWK1l0azhHdmRsTEpENCt5eXJvbjJNU0FnZ2dnQUFDQ05nbjRKb0Fw
R0NoUWthZ3NlcVBYK1M3OFIvSUgvTm55SkgvRHNzWloxOHMKMTkzNWFMYUNyYSs2UmY1Y3VrQytH
dm1tSEQxeVJONllrUDRoY2RuQ24rVEpPMXZMMEg3M3liQnYvbFNqQzBYbExiVzlXNDA0UERWawpn
bkg3bEI1VjBYL0Y3bmYvVlJKYnZLUUtPTkp2cVprdy9HVzU2dVp1VWl5MnVIcFZGLzBCVk5kSHB4
S2x5c2pWdHp4a2pIN29vRW1uCnl0VnJ5eG5uWENMalAzeEo2cDNlUWk1cWQ1dXhYMytJMTZNa3Zu
eDY1MDlUeDhuSHJ6MGg3M3kxVWlvbDFqRHkxYXc3VWU2OXFvSDAKZitCcUdUcDVxYkcvNTZBUmN1
ZkZOWlRGVEhsKytIUXByMGFCZG16ZEpMZTFTalNNZEFCaVZSZGRaakRuNmd2cmdPek5QdmZJVFEv
MgprMU9xSkJrdjNlN1AzeGtnZC9SOFVVNXIxdEtvbjllLzZKR3BSMS82VEI3dTBGUnExR3NpMTkv
N3ROZEpJdEwrelVmK2s1L20veENSCmEzTlJCQkJBQUFFRUVFZ1hjRTBBNHV2UXV4NTdSUmIrOUsw
TTdkOVZmZUJPbE41dmYrMDdsTzMzTW5IbGplUG5YSEtkbWE5aDAzT2wKOVZXM3lyUUpIeHEzTWhW
VEFZWWUyYmhaZmRqMm43dlI5THpMak9Eam05SHZpQjZSMEIvMEN4UW9LQ1BmN0czY0dsV3IvaG5H
Q01uZQpQVHZNc3ZWRzhSS2xBOHJ4SGZRdjJ5cmZKNjg5S1ZWcjFqZURENTJuWkpsNFNUNzdFalhT
TWNLbzc1VTNQNmlDaXppalNIMTlYU2VkCnlsV3NyRWFJcXNtbTlYOFo3MzFmTXRZbDJIUFhybG9z
YVFmMnFkdk1qdmlLa2diSjV4cmI2LzVjNHBrQVpOQWdzL2wrR3czazJBTy8KeXJHQzZoa2dSa3hi
VHk2N2VZalVhblNoTEZsU1VKS1MxQU1FMDd2STc1ekliZ2JYanNBNlJsTTdGbCttT21wNGg4QUdP
UGhkVnYxQgpPeHpjYVhaWHJXTkhrYkZqczc2SzM3eENNMU1IOVRNL2hwRTkwNE1OQkJDSXVJRHJK
cUhyMFlnSCt3NlR6UnZXcUZ1UlRqZEdJRUpSClBsWE5aOURwMzMvV0dVR0kzdGFCalg4cVdMQ2cx
R3R5bHJGcnZmclFyVk9IdTN2SmRuVmJWZmVPell3UmdzT0gwcVJzQmZWRTdHQ1MKMVMrUUUrY2Qy
SmNxbXphc2xuSVo2cUFQK3o3NDY2QWd1MVJFTGYxN1ZQMGxPQzhwNDduNnRqRWRNUDArOTN1enVG
Smx5aHJibGF2VgpOdmV4a1M3dzkvSVpzbVY5OXYyREZRSUlJSUFBQWdnZzRHWUIxd1VndXJPS0Zs
TzNQYWtKNkYrTmVrdFdMMThVVXYvRm5waElYVHErCnZCeFVmK25YS2VYdjlJbnQvZ1hYYjVKK1Az
L2FnYjNHYmoxNWZmQ29lVkk1NlZUNWR1eDdSaUN5OGNTRWVQL3pyTFl6am9ENDV6bVkKdHQ5NGEx
bUhFM01LOVB5TC9FcGxsTXRWNm5heUpRdG1HWlBjOVhWbmZUTkt6cnF3blRROXIwMStWU01xcnZQ
N3p5Tmw4WnpQWk1KNwpuZFY4bkUxUlVXZGZKYmR1V1NIVHgvYzFYNzk4LzdidkVOOFJRQUFCQkJC
QUFJRmNDYmd1QU5FclBuMzZ4clB5aXZyd1g3Um9yTHoyCjFCMXE3a1hlL3RxdkpYZHMvY2Y0QzMv
U3FhY1p0MVBwZlhvbHFZeEp6d3ZScVZxdGhzWjNIV3pVVkN0ZnZUbGhzWEhMbGg2MStHaXcKbXZ3
YVJJcVJrMHZ6WnN5dVIxRktsbzZUTFJ2WEdpTXMvc2YzN0VpdlEzVzFJbForcHJzZkgyd0VIRlBH
dkN0amhnMDBWdTk2OHZYeAorVmtGeDE5cjE3WjE4dVh3cmtZOTAvYnRsUEh2M0NiSGo2dGJzNklr
L2J0bG1VeWZvQUtRRTY5ZnZuc3JTbXBPTlJGQUFBRUVFRURBCmFRS3VDMERlRy9pd3RML3JjZEVm
d3U5ODVDWFI4eERHREhzK2FQZU1Id3JuZmo5UldsMTVzM0g3VklQa2MwVGZWdlRYc2wvVmFFajYK
U0lTdllMMThycjROcTJxdCtzYXUwZThPTUw0WEtseFlPcWtKeDNvbHF0WHF2TUIwWEk0Zk8yYnUw
Z0dUVGdmVVU0NERVMkMraTY2NQp3emk4TEVNZ3RHTHhYR05aWUYzZjdKTC9OVS9tQzd6R3lmMkJX
MWJudnZkQ2QyT1oyWWY2dnk4ZHV6eWh2RzZ5bk5zU1dKSjMzaDFUCkQ0MGIrOVpOY2lqdDVNalVt
cVUveUpUUEIzc0hnWllpZ0FBQ0NDQ0FBQUluQkZ3VmdQdzRaYlNhRUwzWFhESzNUY2N1eGpNOFJn
OTcKenJoRktKaGVIL3ZlUVBudmNQcHFWWk0rZmxWUzFkSzJ0ejZjSHNEb1ZiQzZEZmpBV0ExcjJB
c1BtOFd0KzJ1cE1WS2lIeXJudTMxSwpMOEc3UWdVbHZyUkhMWUY3YmhzMWVkQXY3ZHErUlk2cEFF
UWYwNm15ZXY2SFRub2tZYzYwQ2NhdFcvcDl4bnczUDlCUDlJak1pRGVlCk1lcW44L3gzK0pEb1lP
bjI3Z09sVXRXYWVwYzUwVnlQNHZpU2Z0N0hsbi8rTnBiTDFkZjJwWXpYOEUxU3orbmNYZHUyR0Vz
RnYvcmsKN2FKZmJ3OTRRRDU4K1RINWV0UlEyWm5oZ1lxK2EzbnQrNHlKL1dYRFh5ZC9Gbnp0SC8z
T2srcFpNci81M3ZJZEFRUVFRQUFCQkJEdwpoSUJyVnNINjQ1Y1p4a1AvS2xjLzFWZ2FWcThLOWE5
NkZvWis2SjUrU044UGt6ODI1b1prZkFCZnhsNXVlbTRiZWZIUkc0d1A5UHJaCklpOTkrbFBBd3dN
Yk5UMVBob3o3VFQ1NS9TbnBvNTR4b2dNQlBlZmkxZEVMcEdMbGFtWnhyZFRTdnQrTmU5OTR1S0Yr
K0tBZWxmaGYKeXl1TTQ3dlZyVkxmamgxbXJFWlZYajB3Y2N5N3owbWJqdmVvbGEzcXlkMjlYcFda
WDQwMG50L1I3cmJ1eG5LMmV0V3FqUGtHZi82TApmRGEwcjd6NHlBM3BEMHBVRThGdjdOcGIvbmRC
K2pYMGNydTZuTE12dmxhdHlGVkFyWXcxWE01WHp4c1pyYTZsNTZmb3BKY0tiblhsCkxlcllCd0Yx
YVhIaE5lb1pJeE56UEZjL1hDKytRaVc1K3RhSFpjbjhtY1p5di92MzdsYlBOa2t6Ym52VFJpK1Bu
Q1BKaVEyTTYzbngKeTRIOU8yVDdwbFhTcUhuN1RNMHZYbHlNb0ZHdlV1YjBWQ1l1TWFBTlpjcFdk
WHFWTGV1WHNSMyttWFIvWkhpT3AvOWhSMjNucFIxTwpmT2hsWHRxUnNTUEtWd3BjRkNUamNkNGpn
QUFDQ0RoUHdEVUJTT1BtclVTLy9KTWVDWGlnejd2K3UzTGNycVdlNjNISmRaMnp6YWVmCjJkRnI4
T2hzODl6N1pOWVAzNHNyVjlHNExjdXFBUDE4RVAzeUpYMzdsbFhTcTFIcDBZNnNrbDV1Vndjekdk
T3RENlhmR3VhLzMrb2EKcHpWTGZ5SzhmejZyYzlldlhtWThNSEhJK01ESi9ucEVSby9pTFBqeGE3
bTZwWGNEa09JbHlzbjFENDd5WnpTM25iaDhyVm01REJ2VgprbHBJcHpQSFpOZ2JmVyt6YTRkYitv
TjJSTi9QSlRWR0FBRUV2Q2JncWx1d3ZOWjVrVzZ2dmxYdDZjNFhTNk9tbVlNVmZidGFSZlZnClFy
MFVNZ2tCQkJCQUFBRUVFRUFBQVorQWEwWkFmQTNLNi9kOXFidU1VM2R2L3pldlJYanV2T1BIanhu
UEV4bi80WXZHNUhjOUFiOWsKNlhoWm81WSsvblBKZkdQN3VzNlBlYzZGQmlPQUFBSUlJSUFBQWdo
a0xVQUFvbXowRTh6MUU4NTFHdlZPZjJQeTlNWFgzbUc4NTB2VwpBdm8yc0VFalpodnpXU1lNZjBr
MnJGbXVuclJleFpoM2M1bWEwMUwveEhOSnNpNkJJd2dnZ0FBQ0NDQ0FBQUplRTNCTkFKSlFPaWJQ
CmZYZnJiWjFGdi94VDRTSjVMOCsvSExkdkp6U3BMLzlya2o3WFJDOWg3RnNGekwvZHNZWDkzM2xy
Tythb1NNd0I2NStsK0NJaWxVcUgKN2hHdkprL2JuV2hIOE1MMFIvQldidm01Q3I3RjVFUUFBUVFR
MEFLdUNVQ1NRMW9JUlgwU0pJVkJ3UHFEZGhnS2p0b2lZdFNLemdWMwpXRmUvWmttUmVpSDkzRnFY
YThkZTJtR0hhdDdMcEQveWJzZVpDQ0NBQUFLUkYzQk5BQko1U21yZ1pZR3JyODU5NjZ0VXlmMDVk
cDlCCk8rd1d6bDM1OUVmdXZEeVJ1MGNQa1k2Qno1VEtzZDJKVWZLWGpod2JRZ1lFRUhDTEFBR0lX
M3FTZGtSVW9GNjlpRjQrYkJlbkhXR2oKREV0QjlFZFlHTjFWU0lzVzdtb1ByVUVBQVU4S3NBeXZK
N3VkUmlPQUFBSUlJSUFBQWdnZ0VCa0JBcERJdUhOVkJCQkFBQUVFRUVBQQpBUVE4S1VBQTRzbHVw
OUVJSUlBQUFnZ2dnQUFDQ0VSR2dBQWtNdTVjRlFFRUVFQUFBUVFRUUFBQlR3b1FnSGl5MjJrMEFn
Z2dnQUFDCkNDQ0FBQUtSRVNBQWlZdzdWMFVBQVFRUVFBQUJCQkJBd0pNQ0JDQ2U3SFlhalFBQ0ND
Q0FBQUlJSUlCQVpBUUlRQ0xqemxVUlFBQUIKQkJCQUFBRUVFUENrQUFHSUo3dWRSaU9BQUFJSUlJ
QUFBZ2dnRUJrQkFwREl1SE5WQkJCQUFBRUVFRUFBQVFROEtVQUE0c2x1cDlFSQpJSUFBQWdnZ2dB
QUNDRVJHZ0FBa011NWNGUUVFRUVBQUFRUVFRQUFCVHdvUWdIaXkyMmswQWdnZ2dBQUNDQ0NBQUFL
UkVTQUFpWXc3ClYwVUFBUVFRUUFBQkJCQkF3Sk1DQkNDZTdIWWFqUUFDQ0NDQUFBSUlJSUJBWkFR
SVFDTGp6bFVSUUFBQkJCQkFBQUVFRVBDa0FBR0kKSjd1ZFJnY2xNRzJhaUg2UkVFQUFBUVFRUUFB
QkJNSW1VQ2hzSlZFUUFtNFQ2TjQ5dlVWTGw3cXRaYlFIQVFRUVFBQUJCQkNJbUFBagpJQkdqNThJ
SUlJQUFBZ2dnZ0FBQ0NIaFBnQURFZTMxT2l4RkFBQUVFRUVBQUFRUVFpSmdBQVVqRTZMa3dBZ2dn
Z0FBQ0NDQ0FBQUxlCkV5QUE4VjZmMDJJRUVFQUFBUVFRUUFBQkJDSW1RQUFTTVhvdWpBQUNDQ0NB
QUFJSUlJQ0E5d1FJUUx6WDU3UVlBUVFRUUFBQkJCQkEKQUlHSUNSQ0FSSXllQ3lPQUFBSUlJSUFB
QWdnZzREMEJBaER2OVRrdFJnQUJCQkJBQUFFRUVFQWdZZ0k4aURCaTlGdzRHZ1EySnpZUQpTYlcz
cGdtbDdTMmYwaEZBQUFFRUVFQUFBU2NKRUlBNHFUZW9pK01FRnAzVlhpVGx1SzMxYXRzZ3h0YnlL
UndCQkJCQUFBRUVFSENTCkFMZGdPYWszcUFzQ0NDQ0FBQUlJSUlBQUFpNFhJQUJ4ZVFmVFBBUVFR
QUFCQkJCQUFBRUVuQ1RBTFZoTzZnM3E0amlCbDhlL0lUUDcKWEc5WnI3SVZFdVROU1g5STZiaHls
c2ZaaVFBQ0NDQ0FBQUlJSUpCWmdCR1F6Q2JzUWNBVTZOcTJzMVNzWE4xODc3L1JZK0RIQkIvKwpJ
R3dqZ0FBQ0NDQ0FBQUpCQ0JDQUJJRkVGdThLRkM5V1hCNTljYVFVS0JENFQrV2EyM3RLazdNdThp
NE1MVWNBQVFRUVFBQUJCUElvCkVQaXBLbytGY0JvQ2JoYW9mOGJaMHVuZVo4d20xcXpYUkc1OTZE
bnpmVWdiYytlSzlPd1pVaEdjakFBQ0NDQ0FBQUlJUkpNQUFVZzAKOVJaMWpaakE5ZmMrTGZXYW5D
VkZpOFhLb3k5OUpvV0xGQWxQWFZKU1JLWk9EVTlabElJQUFnZ2dnQUFDQ0VTQkFKUFFvNkNUcUtL
OQpBcE1taWF4YVpYR05XNWJLa2FycUdTQy82Mk1GcGUzdEkyWHRzdW15STdXZUhGMG5rcFNrOTVN
UVFBQUJCQkJBQUFFRWNpUEFDRWh1CnRNanJhWUV0NnhjYkFZaW5FV2c4QWdnZ2dBQUNDQ0FRb2dB
QlNJaUFuTzROZ2RSZG0yVENlNTFsOFp6UDVQZWZSM3FqMGJRU0FRUVEKUUFBQkJCQ3dRWUFBeEFa
VWluU1h3UEhqeDJYOE83ZEoycjZkUnNPK0hONVZkdnk3emwyTnBEVUlJSUFBQWdnZ2dFQStDUkNB
NUJNMApsNGxlZ1orL0dTeHJsdjVnTnVCUTJsNzU2S1diNU9qUm8rWStOaEJBQUFFRUVFQUFBUVND
RTNETkpQU3ZsNnZKd2lSSENpUW54a2hDCmFVZFdMY2RLYlZyM20wd2IvV1NtZkgrdm1DdWozeGtn
Tjk3Zk85TXhkaUNBQUFJSUlJQUFBZ2hrTGVDYUFDVHJKbklFZ2J3TExGOHcKVWVxZmVYV21BZ29Y
RmtuNWU2V2s3dDdCMDlBejZiQURBUVFRUUFBQkJCRElXb0FBSkdzYmppQWdGM1hvWjZrUUY4Y3l2
Sll3N0VRQQpBUVFRUUFBQkJISVFJQURKQVlqRENOZ3RzS2hGZXpXY1l1OVZraFB0TFovU0VVQUFB
UVFRUUFDQllBVUlRSUtWc2lIZjlpMHBFbE9nCmdKU3JXRG5iMG9QTmwyMGhPUnpNajJ2a1VBWFBI
dDVjdFlGSXF0MXptR0k4NjB2REVVQUFBUVFRUU1CWkFnUWdFZXlQaHp1ZUtZV0wKRkpQaDM2L0x0
aGJCNXN1MmtCd081c2MxY3FnQ2h4RkFBQUVFRUVBQUFRUThJRUFBRXNGT3Z2S21CMVVBVWpSVERR
N3NTNVhpSlU4dQpHNVZWdmt3bmhyQWpQNjRSUXZVaWRtck1BZXVSZzFqVlBXRloyV3ZqY2pGR1FD
TFdRaTZNQUFJSUlJQUFBZ2prcndBQlNQNTZCMXp0CitudWVDbml2M3l6NDhSdjVaOTJmMHU3V2g4
MWpWdm5NZzJIYXlJOXJoS21xK1ZwTXdSM1dseXRiWGlRczh5cm1qWk92cXo1cmZSSDIKSW9BQUFn
Z2dnQUFDTGhRZ0FIRlFwNmI4dlVwZTZYV0xkTHJuYVFmVnl2MVZhZFpNcEY2OTNMV3pWS25jNVNj
M0FnZ2dnQUFDQ0NDQQpRTHFBYXdLUWVkTy9rSisvR3lmSGp4K1hpZ25WNUpMMmQwbWx4QnF5TDNX
M2ZQWFptN0o1dzJxNTh1WnVVcnRCY3FhK1Azem9vQ3o4CjZWdjU4WnZQNWRhSG5wTWx2ODZTT2Qr
Tmw5MDcvcFh6TCs4azE5emVVMkppVHQ2S3MzUGJacG40MFN1aWI1WGF2V09yVksvVFNLNVYKZVVx
V2lUZkxQckIvcjh6OGFxU2txZSs2blA4T0g1SzJuYnBLMVZyMWpUeUhEcWJKcjJxMFk5WTNvK1RK
MThiSit0WEw1SW5iVzhtKwpQYnZraDhrZnk0cmY1OGdsMTkwbGpjNDhQeUNmN3dMNktkeGZqM3BM
TnFqejl1emFMbVhpeTB1YkRsMmtkc09tUmhidDhPZVNCVEpuCjJuaUpyNUFnNTdYcEtKTStmbFdX
TGZ4UlRtdDJnZHpXZmFBVVVCUGdkY3BZbDl5Y3E4L1hkWm4wOFdDam5WdFMvcGI0Y3FkSW5VYk4K
akxhV0tGbEdqUlNvU2RZT1RsV3FPTGh5VkEwQkJCQkFBQUVFRUhDWlFQb25VQmMwcWtYcnExVHdj
Y3o0MEY5TEJSazYrTkNwWk9rNApTYWhhUzRvV0syNFpmT2c4ODJkK0pSKy8rb1RNL25hTXZEZW91
L3lyUGtRM2IzV1Y2TURrdzVjZk00N3BmRHF0WER4UHVsMTNocHg1CjN1WHlZTjloOHNpZ1QyWEpn
cGx5MzFVTlpkMWZTOU16cWE4NlFEbnkzMkc1N3M1SDVjNUhYakllV0xkTEJTSTY3ZCs3UjJaOE1V
TGUKNk5ORjVrMmZiT3hMckZGUHVqLy9rYkY5NGRXM1NZK0JueGdmNGpQbTB4a09waDJReDI4OVg3
WnQzaUQzUHZXbUVjQlVVRUZYanh0YQpxR0RyTGFPTXJadld5OVJ4NzhuNEQxOVM3ZnRTUmd4NVdt
cldPMTBxVnE1dTdOUEJpRTVXZFFuMlhLTUE5V1hJczNmSm1oVy9TZWRIClg1YkhYaHBsR0wzK29B
WW1RQUFBSUFCSlJFRlVUR2VaT3ZZOUk1ano1ZU43aEFUR2poVnAxQ2hDRitleUNDQ0FBQUlJSUlC
QW9JQnIKQWhEZHJKc2Y2R2Y4VlgvNkY1OEV0SExCajEvTFpkZmZHN0RQLzgyNWw3YVhzeTY2eHRp
bFAvemYwcTIveW4rUHZESnFucFJWb3dlVApQbmxOZG0zWG94aUg1YlduN3BEa2N5NlYwMXUwTnZM
SGxpZ3BQVld3c0d2N0Zubjk2VHZsMkxGanh2N3ZKMzRraDFTZ29KTWVQYm4yCmprZU1nRVMvTDFH
cWpMVHAyRVhxTlc2aDN4cXBZTUdDNW9UMFFvV0xxSUFwVmoxaHUyeW1mRHJ6cUtGOWphZHczOUp0
Z0JSU2orVFcKNWVzNUhFbDFUcFAzWCt3cEc5ZXVsRk9xSk1sdER6K2ZYcmo2K2xEL0Q2VFZsVGRM
enhkR0dPZjhNWCtHY2N5cUxzR2Vxd3ZZdkdHTgovRERwWTJtc1JsVjBLbHlraUZ4ODdaM0dkdFB6
MnNqbDJiZ2JtVHp5NVo5L1ZQQzYwdUpWN1dMWlhiS0s3TjR0bVY3Nzkzc0VoMllpCmdBQUNDQ0NB
Z0tjRVhITUxsdTYxU2xWcnl0a1hYeWMvVFIxclRPU3VrblNxSER5d1g3WnQyaUExNmpiT3RtT0xx
T1Z3ZldYNE11cmcKUXQvSzlmbmIvV1hkbjM4WUgvVDFQQTE5cTVOLzB0ZXRrRkJWL2xyNnEyeFlz
MXdGQW8yazN1a3RqRkdIZzJuN3BjUGRUeGlqTC9yVwpKdjlVc0ZCNjhPQy9UMi83Mys2bDMyZk1O
MlhNdTFLdGRrTXBValM5empxUFRvMmJ0NUsxSzMrWEg2ZDhMamZkMzBjRkdrV00vV1hpCks1aGw2
bFczS2xaT2toMWIxU2RpdjVUeEdzR2VxMjlIMDJtVHVzWE5sK28zT2N2WTNMTnptMitYNTc4dldD
Q3lhcFVGUTh0WDVVaUMKK3JsWWwvbVlmdHA2aVJLWjk3TUhBUVFRUUFBQkJCQ0laZ0ZYallEb2pt
amYrVEdqUHlhcU9RazZ6ZjFob3B5cjVqL2tOVld1VnRzNApWWCtZMXNHRlRzV0tselMrKzM5cDJQ
UTg0MjNLMmhYR2R6M0hvbWE5SmpMNjNlZWt5MlYxWlBHODZXWVE0SCtlNWJiZmZKT014M2RzCjNX
VE1QWW5OcGc0YjE2VFhJZU81dnZkR2dKTWhHUElkeStsN3huUHJObTR1dWk2L3pmbk9QRlhYc1dD
aFF0TDRmNjNNZld3Z2dBQUMKQ0NDQUFBSUlJS0FGWEJlQTZFbllwemR2TGRNbmYySk16dGFqSVMz
YjNwRG4zajV5NUQvalhEM0tVVnhOcU5acGxab0hrakZWclpVKwowVHEyUlByek8vUWNsSmRHemxH
akg3Mk0rUi9QM0gySnpQcDZWTWJUTE45bkhBSHh6MVQ4UlBsL0xwbHYzdTdsTzE3dFJCMzhueUhp
Ck8yYlhkMzBMMkZOdlREUnVRUnYreXVQRy9JOXZ4dzZUYnYzZU55ZmMyM1Z0dDVRNzVMRkc0di9h
dVhXdFc1cEdPeEJBQUFFRUVFQUEKZ1V3Q3JndEFkQXV2VTZNZ2VnTDVwME9lVWJjcDZia1U1VEkx
UE5nZG05Yi9KYVhLbEpXa1V4c2JJeHI2dktWcUphbU1hZDJxUDR6NQpKelhybm00YzBvR1BuZyto
NTJHOE5tYUJsQ2xiVWNaOStHTEcweXpmWjd4Vnl6K1R2aTBzb1ZvdFkvTDR1aitYK0IrU3YxVWRk
TktUCjhQTXoxVkJ0dnFqZDdjYUl4MkcxdXBlZUUzUGgxYmZtWnhXaStscGIvMWt1L3E4amh3OUdk
WHVvUEFJSUlJQUFBZ2dna0oyQUt3T1EKNUhNdWtScHF4U2M5VjZKMUxqOEkrODliME12VDZnbldl
aFNqV0d4eFl4V3BjeTY1enBoNHJlZUMrQ2U5Yks2ZTZCNWZvWkt4Kzh0UAozekFQSjUxNm1qRUJY
Qy9GNjUrT3F0R1ZZMm9KVzEvQVVUcE9QZDFPSmIyNmxVNTZDV0dkTXViVGs4OTFXakRySytPNzc0
dXVnMTdsCjZ1SnI3akIyNlZXNGRQS1ZiN3hSWC9TOEZIMWQvNVR4R3NHZXE1ZmdmYnJ6UlhMbSta
ZUxublN1NTZINEwwZnNmdzIyRVVBQUFRUVEKUUFBQkJCQndaUUNpdTFVL2x5TytmQ1ZqeGFyY2RQ
T290L3ZKbk84bnl0SmZmNVErOTdXVjVtcDUzM2EzOVRDTDZQck1VUFVjalpieQovRVBYaVo1cmNm
VElFV09WTEQxQzRyL3ExRi9MZnBWUFhudkttSy94N3ovcjFQTTNaaHZQR1BFVnBKOTJycC85b1lN
RC9Ud1F2WHBXCjVlcDFqTkdhOFIrOEtDOCtlcU1SWUZqbE8vK3k2NDFWcno1L1o0QjY5c2w0dGJy
V2Y4WXpQNWJNbnlsUHZEclduSnoreTR3dmpNdjkKdFhTQjhYd1IvVVl2STd6ajMzOGtaZDBxMmJR
K2ZlSzQxVFdDUFhmZm5wM0doUDlldDEwZzF5WVhseHZQclNoM1hKUWsrdjMzS25nagpJWUFBQWdn
Z2dBQUNDQ0RnTCtDcVZiRDhHMWF5ZEx4eEc1QmUzalkzNmE3SFhqRUNBMzNyMVMwUDlwY0d5ZWNF
bkY2bWJBVjU3c01mClpLNEtVcVpOSEc1ODJOZTNQUFVlK21YQUpQTys3MDVSSXhpN1JNK0hxSkpV
VndaK05NTU1EUFREQy9WcVZYYytrbjVMbGg2UjBBOUsKMUt0MkRmeDRwaXljUFVYcU56bGIzV3BW
MjNqR2lGVSt2VlR3V1JlMms0VS9UNVhsZ3grWHFqWHJ5NEFQcHBtM20rblZxV0pMbEpMSApYL25j
cUw5K3VLSmVQbGlQcnZqMnJWMzVteFNOTFpHcExpdlZTRW93NTU2aTVybG9qMDczUG1PMGZhOEtS
dmJ2M1cwODJEQnRmNnA2CmhzcWp4Z01TazIrNklzQ1FONEVDbmJxTkNkaFJwbHpWZ1BlOFFRQUJC
QkJBQUFFRTNDVGcyZ0RrQnpVSi9ZNmVnM0xkVjNyNTJVdE8KUE1jaXE1UDFFOFQxclZqNmxWWFNv
eVJacGJoeUZZMG5rMXNkcjY2VzE5VXZYOUpQTU04cTZRbjN2aWVmWjh5am4xOWlkVzZ3K3pLVwpw
OTlibmZ2MXFLR3lkODhPNHlHRUdjL1JJejl6cGsxUXV3bEFNdHI0djIvVXZMMy9XN1lSUUFBQkJC
QkFBQUZYQzdnbUFORnpFZlFjCmlDclY2aGgvMGRlOXBoK29GMnp5elpQd2ZRLzJQQy9uTzdBdlZk
NTl2cHQwVnFOR1ZtbnVENU9rV2N1MlZvZllsODhDWDNkNFZtUjUKNEhOb3dsMkZ0ZzFpd2wwazVT
R0FBQUlJSUlDQUN3VmNFNERvQ2RrREhreC9tcmxlaHZiTmlZdHoxVjFiVXRLWFBsMy8xMUxqb1lH
NQpPdG1qbWJWelk3WGs4UWZxNmV0Ly9ETGR1QTFNMy9xMmV2a2kyYjNqWDJOT1RHS051aDdWb2Rr
SUlJQUFBZ2dnZ0FBQ1ZnS3VDVUQwCi9JYXJiMzNZbVBSOTlTMFBHYXRCV1RYWWF0OFhudzR4em12
ZTZpcmpnWHFIRGg2UXk5V0tWcVNjQmZSY0Z6M0pmYkVLUURhY21GU3YKbCtCTlByZU41SGIrVGM1
WEl3Y0NDQ0NBQUFJSUlJQkF0QXU0SmdCcFVTdFdXcnp4YXA3Nkk3blhRK284L1NMbFhxQ1FOS3Qr
bHR6WQo5cXdzVDQyUHpmSVFCNVJBZ2UzV3R5NlZMU21TbkJnR29ybmpaTkZaekRNSmd5UkZJSUFB
QWdnZ2dFQVlCRndUZ0NTa1A0QThEQ1FVCmdVRCtDaFJJczc1ZTdER1JzUHhjcHl5M3ZnQjdFVUFB
QVFRUVFBQ0JDQWk0SmdDSmdCMlhSQ0JvZ1hidGdzNUtSZ1FRUUFBQkJCQkEKd05VQ0JDQ3U3bDRh
aDBDNndFL0w1b21VdHI3VlMrZW8xK1FzS1g5S2xieHpwYVNJL0xOUzVPS0w4MTRHWnlLQUFBSUlJ
SUNBSndRSQpRRHpSelRUUzZ3SXZqRlh6by9Rcmk5UnI4Qmc1OTlJUTVvbk1uYXZLN3lleWRHa1dW
MkEzQWdnZ2dBQUNDQ0NRTGtBQXdrOENBaTRSCldMQkFEVUw4WTlHWTg5VnpXcGExc1RqQUxnUVFR
QUFCQkJCQUlQOEZDRUR5MzV3ckltQ0xnQTQrVnEyeUtMcjZwUlk3MllVQUFnZ2cKZ0FBQ0NFUkdv
RUJrTHN0VkVVQUFBUVFRUUFBQkJCQkF3SXNDQkNCZTdIWGFqQUFDQ0NDQUFBSUlJSUJBaEFRSVFD
SUV6MlVSUUFBQgpCQkJBQUFFRUVQQ2lBQUdJRjN1ZE5pT0FBQUlJSUlBQUFnZ2dFQ0VCQXBBSXdY
TlpCQkJBQUFFRUVFQUFBUVM4S01BcVdGN3NkZHJzCk9ZRUJJNDladGprdVRpUXB5ZklRT3hGQUFB
RUVFRUFBQVZzRUNFQnNZYVZRQkx3bnNEbXhnVWlxdmUxT0tHMXYrWlNPQUFJSUlJQUEKQXZZTEVJ
RFliOHdWRVBDRXdLS3oxSlBVVTQ3YjJ0YTJEV0pzTFovQ0VVQUFBUVFRUU1CK0FlYUEyRy9NRlJC
QUFBRUVFRUFBQVFRUQpRT0NFQUNNZy9DZ2dnRUJZQkxxKzFWTmtSTitneTJwNzQvM1N0dE45UWVj
bkl3SUlJSUFBQWdpNFE0QUF4QjM5U0NzUXlGYWcwRWJyClc1ZXFGQmRwcTZadWhKekc5cE1OMjFK
RXRnVmYwcDRkVzRQUFRFNEVFRUFBQVFRUWNJMEFBWWhydXBLR2VGMmdTcFhjQytUbG5OeGYKaFRN
UVFBQUJCQkJBQUlHVEFnUWdKeTNZUWlDcUJabzFFOUV2RWdJSUlJQUFBZ2dnNEdRQkpxRTd1WGVv
R3dJSW5CU1lPMWVrcDVwbgpRa0lBQVFRUVFBQ0JxQllnQUlucTdxUHlDSGhJSUVYTk1aazYxVU1O
cHFrSUlJQUFBZ2k0VTRCYnNOelpyN1FLQVZzRUprMFNXYlhLCm91aGJsb3Iwc3A3b2JwR2JYUWdn
Z0FBQ0NDRGdZUUZHUUR6YytUUWRBUVFRUUFBQkJCQkFBSUg4RmlBQXlXOXhyb2NBQWdnZ2dBQUMK
Q0NDQWdJY0ZDRUE4M1BrMEhRRUVFRUFBQVFRUVFBQ0IvQllnQU1sdmNhNkhBQUlJSUlBQUFnZ2dn
SUNIQlFoQVBOejVOQjBCQkJCQQpBQUVFRUVBQWdmd1dZQldzL0JibmVnaTRWS0JSOC9hV0xTdGNX
S1JFaWN5SHF0VnVtSGxuRG52Rzdka2pNbTVjRHJteVBweVltQ2d0CldyVElPZ05IRUVBQUFRUVFR
TUIyQVFJUTI0bTVBQUxlRU9qVWJZeGxRK1BpUkpLU0xBL2xlbWNIL1N5UURoMXlmWjd2aEE3cTNE
RmoKck92cHk4TjNCQkJBQUFFRUVMQlhnQURFWGw5S1J3QUJCd25zT2lDeVNNVXcyYVhreE95T2Nn
d0JCQkJBQUFFRVFoVWdBQWxWa1BNUgpRQ0JxQkE0ZU9TNmJVNC9uVUY4ZXFKZ0RFSWNSUUFBQkJC
QUlTWUJKNkNIeGNUSUNDQ0NBQUFJSUlJQUFBZ2prUm9BUmtOeG9rUmNCCkJMSVVpRGxnUFhJUVcx
b2tRYjFDVGh1WGgxd0VCU0NBQUFJSUlJQkE1QVVJUUNMZkI5UUFBVmNJRk54aDNZeXk1VVhDTXE5
aVh0NVgKdjdLdUdYc1JRQUFCQkJCQUlCSUNCQ0NSVU9lYUNFU3BRTE5tSXZYcTVhN3lwVXJsTGor
NUVVQUFBUVFRUU1EZEFnUWc3dTVmV29kQQpXQVdxVkFscmNSU0dBQUlJSUlBQUFoNFVZQks2Qnp1
ZEppT0FBQUlJSUlBQUFnZ2dFQ2tCUmtBaUpjOTFFVURBVXVDZmYwVDI3clU0ClZPMWlrV1hMTEE2
d0N3RUVFRUFBQVFTaVNZQUFKSnA2aTdvaTRBR0JCUXRFVnEyeWFHakxWMFdtdkdaeGdGMElJSUFB
QWdnZ0VFMEMKM0lJVlRiMUZYUkZBQUFFRUVFQUFBUVFRaUhJQkFwQW83MENxandBQ0NDQ0FBQUlJ
SUlCQU5Ba1FnRVJUYjFGWEJCQkFBQUVFRUVBQQpBUVNpWElBQUpNbzdrT29qZ0FBQ0NDQ0FBQUlJ
SUJCTkFnUWcwZFJiMUJVQkJCQkFBQUVFRUVBQWdTZ1hZQldzS085QXFvK0Fsd1E2CmRSdGoyZHdT
SlVRcVZMQThGTEN6ZktYRWdQZThRUUFCQkJCQUFJSDhGeUFBeVg5enJvZ0FBbmtVYU5TOHZlV1pj
WEVpU1VtV2g5aUoKQUFJSUlJQUFBZzRUNEJZc2gzVUkxVUVBQVFRUVFBQUJCQkJBd00wQ0JDQnU3
bDNhaGdBQ0NDQ0FBQUlJSUlDQXd3UUlRQnpXSVZRSApBUVFRUUFBQkJCQkFBQUUzQ3pBSHhNMjlT
OXNRY0psQWdlMHhsaTBxVzFJa21mbmxsamJzUkFBQkJCQkF3R2tDQkNCTzZ4SHFnd0FDCldRb1VT
TE0rRkh0TUpLRzA5VEgySW9BQUFnZ2dnSUN6QkFoQW5OVWYxQVlCend1MGErZDVBZ0FRUUFBQkJC
Qnd0UUJ6UUZ6ZHZUVE8KOFFMVHBvbm9Gd2tCQkJCQUFBRUVFUENJQUNNZ0h1bG9tdWxRZ2U3ZDB5
dTJkS2xESzBpMUVFQUFBUVFRUUFDQjhBb3dBaEplVDBwRApBQUVFRUVBQUFRUVFRQUNCYkFRSVFM
TEI0UkFDQ0NDQUFBSUlJSUFBQWdpRVY0QUFKTHllbElZQUFnZ2dnQUFDQ0NDQUFBTFpDQkNBClpJ
UERJUVFRUUFBQkJCQkFBQUVFRUFpdkFBRkllRDBwRFFFRUVFQUFBUVFRUUFBQkJMSVJJQURKQm9k
RENDQ0FBQUlJSUlBQUFnZ2cKRUY0QkFwRHdlbElhQWdnZ2dBQUNDQ0NBQUFJSVpDTkFBSklORG9j
UVFBQUJCQkJBQUFFRUVFQWd2QUlFSU9IMXBEUUVFRUFBQVFRUQpRQUFCQkJESVJvQUFKQnNjRGlH
QUFBSUlJSUFBQWdnZ2dFQjRCUWhBd3V0SmFRZ2dnQUFDQ0NDQUFBSUlJSkNOQUFGSU5qZ2NRZ0FC
CkJCQkFBQUVFRUVBQWdmQUtFSUNFMTVQU0VFQUFBUVFRUUFBQkJCQkFJQnNCQXBCc2NEaUVBQUlJ
SUlBQUFnZ2dnQUFDNFJVZ0FBbXYKSjZVaGdBQUNDQ0NBQUFJSUlJQkFOZ0lFSU5uZ2NBZ0JCQkJB
QUFFRUVFQUFBUVRDSzBBQUVsNVBTa01BQVFRUVFBQUJCQkJBQUlGcwpCQWhBc3NIaEVBSmhFK2pZ
VVNRbUp2TnIyVElSL2JJNnBzOGhJWUFBQWdnZ2dBQUNMaE1nQUhGWmg5SWNCQkJBQUFFRUVFQUFB
UVNjCkxFQUE0dVRlb1c0SUlJQUFBZ2dnZ0FBQ0NMaE1nQURFWlIxS2N4QkFBQUVFRUVBQUFRUVFj
TElBQVlpVGU0ZTZJWUFBQWdnZ2dBQUMKQ0NEZ01nRUNFSmQxS00xQkFBRUVFRUFBQVFRUVFNREpB
Z1FnVHU0ZDZvWUFBZ2dnZ0FBQ0NDQ0FnTXNFQ0VCYzFxRTBCd0VFRUVBQQpBUVFRUUFBQkp3c1Fn
RGk1ZDZnYkFnZ2dnQUFDQ0NDQUFBSXVFeUFBY1ZtSDBod0VFRUFBQVFRUVFBQUJCSndzUUFEaTVO
NmhiZ2dnCmdBQUNDQ0NBQUFJSXVFeUFBTVJsSFVwekVFQUFBUVFRUUFBQkJCQndzZ0FCaUpON2g3
b2hnQUFDQ0NDQUFBSUlJT0F5Z1VJdWF3L04KUWNDWkFqMTZpSFRzbUx1NkpTYm1Mais1RVVBQUFR
UVFRQUNCS0JBZ0FJbUNUcUtLTGhCbzBjSUZqYUFKQ0NDQUFBSUlJSUJBNkFMYwpnaFc2SVNVZ2dB
QUNDQ0NBQUFJSUlJQkFrQUlFSUVGQ2tRMEJCQkJBQUFFRUVFQUFBUVJDRnlBQUNkMlFFaEJBQUFF
RUVFQUFBUVFRClFDQklBUUtRSUtISWhnQUNDQ0NBQUFJSUlJQUFBcUVMRUlDRWJrZ0pDQ0NBQUFJ
SUlJQUFBZ2dnRUtRQUFVaVFVR1JEQUFFRUVFQUEKQVFRUVFBQ0IwQVVJUUVJM3BBUUVFRUFBQVFR
UVFBQUJCQkFJVW9BQUpFZ29zaUdBQUFJSUlJQUFBZ2dnZ0VEb0FnUWdvUnRTQWdJSQpJSUFBQWdn
Z2dBQUNDQVFwUUFBU0pCVFpFRUFBQVFRUVFBQUJCQkJBSUhRQkFwRFFEU2tCQVFRUVFBQUJCQkJB
QUFFRWdoUWdBQWtTCmltd0lJSUFBQWdnZ2dBQUNDQ0FRdWdBQlNPaUdsSUFBQWdnZ2dBQUNDQ0NB
QUFKQkNoQ0FCQWxGTmdRUVFBQUJCQkJBQUFFRUVBaGQKZ0FBa2RFTktRQUFCQkJCQUFBRUVFRUFB
Z1NBRkNFQ0NoQ0liQWdnZ2dBQUNDQ0NBQUFJSWhDNUFBQks2SVNVZ2dBQUNDQ0NBQUFJSQpJSUJB
a0FJRUlFRkNrUTBCQkJCQUFBRUVFRUFBQVFSQ0Z5QUFDZDJRRWhCQUFBRUVFRUFBQVFRUVFDQklB
UUtRSUtISWhnQUNDQ0NBCkFBSUlJSUFBQXFFTEVJQ0Via2dKQ0NDQUFBSUlJSUFBQWdnZ0VLUUFB
VWlRVUdSREFBRUVFRUFBQVFRUVFBQ0IwQVVJUUVJM3BBUUUKRUVBQUFRUVFRQUFCQkJBSVVvQUFK
RWdvc2lHQUFBSUlJSUFBQWdnZ2dFRG9BZ1Fnb1J0U0FnSUlJSUFBQWdnZ2dBQUNDQVFwUUFBUwpK
QlRaRUVBQUFRUVFRQUFCQkJCQUlIUUJBcERRRFNrQkFRUVFRQUFCQkJCQUFBRUVnaFFnQUFrU2lt
d0lJSUFBQWdnZ2dBQUNDQ0FRCnVnQUJTT2lHbElBQUFnZ2dnQUFDQ0NDQUFBSkJDaENBQkFsRk5n
UVFRQUFCQkJCQUFBRUVFQWhkZ0FBa2RFTktRQUFCQkJCQUFBRUUKRUVBQWdTQUZDRUNDaENJYkFn
Z2dnQUFDQ0NDQUFBSUloQzVBQUJLNklTVWdnQUFDQ0NDQUFBSUlJSUJBa0FJRUlFRkNrUTJCWEF1
awpwSWgwN0NneWJseXVUK1VFQkJCQUFBRUVFRURBclFJRUlHN3RXZG9WZVlIVVZKR3hZMFdXTFl0
OFhhZ0JBZ2dnZ0FBQ0NDRGdFQUVDCkVJZDBCTlZBQUFFRUVFQUFBUVFRUU1BTEFnUWdYdWhsMm9n
QUFnZ2dnQUFDQ0NDQWdFTUVDRUFjMGhGVUF3RUVFRUFBQVFRUVFBQUIKTHdnUWdIaWhsMmtqQWdn
Z2dBQUNDQ0NBQUFJT0VTQUFjVWhIVUEwRUVFQUFBUVFRUUFBQkJMd2dRQURpaFY2bWpRZ2dnQUFD
Q0NDQQpBQUlJT0VTQUFNUWhIVUUxRUVBQUFRUVFRQUFCQkJEd2dnQUJpQmQ2bVRZaWdBQUNDQ0NB
QUFJSUlPQVFnVUlPcVFmVlFNQ1ZBcnNUCmFzcmFpc2tpNnFIb2RxWDQ0aUkxeXRwVk91VWlnQUFD
Q0NDQUFBTGhGU0FBQ2E4bnBTRVFJSkJXTWw0Mmwwd1FTVDBlc0QrOGIySUkKUU1JTFNta0lJSUFB
QWdnZ1lLTUF0MkRaaUV2UkNDQ0FBQUlJSUlBQUFnZ2dFQ2pBQ0VpZ0IrOFFDS3ZBcnFOSDVLZjUz
NHRzWDJ0WgpidEhZRXRMcy9Nc3RqN0VUQVFRUVFBQUJCQkJ3b3dBQmlCdDdsVFk1UmlDdVFFSDVk
c1pFK2YzTitaWjF1di9adHkzM3N4TUJCQkJBCkFBRUVFSENyQUxkZ3ViVm5hWmNqQkdKaVlxVEhQ
WDJsVkpuTXM4U2J0N3BLTHJ2K0hrZlVrMG9nZ0FBQ0NDQ0FBQUw1SlVBQWtsL1MKWE1lekFtWGp5
c3REQXo0SWFIL1pDZ21aOWdWazRBMENDQ0NBQUFJSUlPQlNBUUlRbDNZc3pYS1dRSXZXVjB1Ymps
M01TdlVZK0xHVQpqaXRudm5mMHh2TGxJbW9rUi9yMmRYUTFxUndDQ0NDQUFBSUlSSWNBYzBDaW81
K29wY01GVnE2MHFPQ21VcktyMW9XeU95Wk9aTGRJCmgzc0d5K0o1cytTTWM2NlFwUG9YeWVIRElr
V0tXSnpITGdRUVFBQUJCQkJBd01VQ0JDQXU3bHlhbG44Q2t5ZGJYYXVxSEx0c2tCd3IKb0o0QnNr
NGZMeTZ0MncrU21nMWF5VHIxUGltSkFFU3JrQkJBQUFFRUVFREFXd0xjZ3VXdC9xYTFFUlE0Zk9p
QVRCMzF1RXlmd0sxTQpFZXdHTG8wQUFnZ2dnQUFDRVJaZ0JDVENIY0RsdlNNdzVkTWVzbjN6S3VO
VjUvUTJhZ1RrSXU4MG5wWWlnQUFDQ0NDQUFBSW5CQmdCCjRVY0JnWHdRV1BIclpGa3dmWmg1cFhG
djN5cDc5K3d3MzdPQkFBSUlJSUFBQWdoNFJjQTFJeUNiVTczU1pkNXFaM3lzU0xIQzBkM20KMUYy
YlpNSjduUU1hc1cvM0ZubHZZR2ZwOTg2a2dQMjhRUUFCQkJCQUFBRUUzQzdnbWdCa1VZcWE2RXR5
blVCeVlvd2tSSEVBY3Z6NApjUm4vem0yU3RtOW5wcjVaTlBzTG1UTDZYUjVHbUVtR0hRZ2dnQUFD
Q0NEZ1pnSFhCQ0J1N2lUYUZyMENhUWQyU2JQV1hZeFh4bFpVCnFDQlN0bHp4akx0NWp3QUNDQ0NB
QUFJSXVGcUFBTVRWM1V2aklpMVF2RVJaYWRTOGcyVTE5REs4Y2VvUklTUUVFRUFBQVFRUVFNQkwK
QWdRZ1h1cHQyb3BBSGdVMjEya3FpMnEyRlZsdTM2Mk9DYVZqSkRreGp4WGtOQVFRUUFBQkJCQ0lH
Z0hQcjRJMWIvcGtXYlBpdDZqcApNRjlGcDAwWUxqTysvTlQzTnN2dndlYkxzb0FnRHVUSE5ZS29C
bGtRUUFBQkJCQkFBQUVFb2tEQTh3SElSNE43U1ltU1phS2dxd0tyCitPSExqNHF1ZTA0cDJIdzVs
WlBkOGZ5NFJuYlg1eGdDQ0NDQUFBSUlJSUJBOUFoNCtoYXNEYXVYUytFaVJhVlMxWnJSMDJNbmF0
ci8KL2Ura1lNSEE3anQ2NUlqOHZXcXgxRzdZMUd5UFZUN3pZSmcyOHVNYVlhcHF2aGNUYzBpa3dQ
WVl5K3ZXYkNTU0ZJWmJqbUtqZUpVdwpTeGgySW9BQUFnZ2dnSUNyQlFJL3dicTZxWmtiTitmN0NY
TDJSZGRtUGhBRmUybzNTTTVVeTQ5ZmUxTEtWa2dJQ0VDczhtVTZNY1FkCitYR05FS3NZc2ROampv
bkVwRmxmUHI2SVNFSnA2MlBzUlFBQkJCQkFBQUVFM0NyZzdRQmsyZ1RwOGNJblllbmJnMmtIakJH
SndrV0sKeUw3VTNiSnZ6ODVzUjFiMjdOb3VoUW9WbGhLbHNyNzlhK3VtOVZLb2NCRWpxRGgyN0pn
VUtCQjR4OXlCZmFsU3ZHVDZKMWo5UElrSgp3MStXem8rK0xQclpFekV4Si8vcTdwL1B2N0dIRHgx
VVQrUGVLZVVxVnZiZkhiQzliODh1S1ZrbTN0aW42MU1ob1ZwQTJiN01WdGNJCjlseGR4cTd0Lzhx
aGd3ZWtVbUlOWDVGUjlmM3h4Nk9xdWxRV0FRUVFRQUFCQkJDSW1JQnJBcEIxZnkyVno5L3VKM3BT
ZVh6NVN2TGsKYStPbFdQR1Mwdi8rcTR3UHpUZmMzMXNhTlQzUGhONlM4cmNjUExCUGt1bzBVdWQ4
SVVPZTZTd0g5cWRLeTh0dmtCdTY5alkrQ090QQo0dU5YbjVCZlozOGpUdzJaS0ZaLzZmOTE5aFNa
L3NVSStXWEdGL0xVNnhOazBzZURaZkV2MDBYZkRuWHFhYzNrU2JXdi9DbFZ6T3ZPCitIS2tmRGZo
QTZsM2VndEpXYnRTMXE5ZUpuYys4cEswYUgyVm1VZTM1YXVSYjhqcExTNlViWnMzeXBjamg4Z2pn
MFpLdzZibnluK0gKRDh2OG1WL0s3Ry9IeUVKMTdiRUxVdFZ0VjMvSUQ1TS9OczcvZnVKdytXUCtE
TG0wL1YxR0hmenorUzZ3Y2MwS2VlL0ZIbkpLNVNRcApVTENnTFB6cFd6bS96ZldxM2M4YXQ2VHBh
Mzd4NmVzeVJ3Vm9MVnBmTFhWVlhUOVJveXZhVEFjSUwzNzZreEVVV2RVbDJITjlkZG0wCmZyVzgw
VWM5SitQOHk0MjJ6dnI2TTZuZDZFeXBXck8rSkNiVmxlU2U5L3F5OGgyQjBBVDI3aFdaT2xXa1lV
T1IrdlZESzR1ekVVQUEKQVFRUVFDRFBBb0YvVXM5ek1aRS9VUWNTUFY4WUlWVnJOVkIvVGQ4aVpj
cFdsS0xGWWlXdS9DblM1NTF2QW9JUFhkdTUzMCtVc3k2Ngp4cWk0L3ZEZi9xNWVjdVMvLzFSZ2NK
YjVWL2lTcGVPa3VpcTMzVzA5TElNUGZmS3BwLzNQQ0dRT3FSR1FMMGE4YmdRVEkzLzhWNjY5CjR4
SDVjOGtDZWZXSjI0eHI2QytUUG5sTlBuaXBwenl0Z3BuYkhuNWVCVFVUNU54TDJzdUFCOXZKOTVQ
U0F3aWRiOHl3NTZYUm1TM2wKdkRZZFZUazk1Y3FidXFtNkhkYUgxT2pHTWFuYnVMbXMrL01QT1h6
NG9MR3ZSdDNHY25PMy9zYjJaZGZmSzcySGZpbko1MXlhS1ovTwprUEwzS25tNDQ1bHk1WTBQeVAy
OTM1YjdubjVUQlRlZnlvU1BYcEdCM2RPZlYxRldqWWcwVk1IYXYvK3NrL216dmpMYTkrYWtKWWF2
CkRrSStmMmVBY1MycnVnUjdyaTVBQjJuUGRidEdHcHh4anVGMXo1T3ZTL0s1YldUUlQxT2xWdjB6
bE1INXhuWDRna0JZQkRadUZPbWcKZnNiSGpBbExjUlNDQUFJSUlJQUFBbmtUY0UwQW9wdXZKNVIz
Zis0ajR4YWs5MTU0V040ZThJQjA2L2UrMnE5dXRzK1FqUGtmRjUrYwovM0c1K3VCZXFreFptYXor
OHE5dllmSWxuZStDSzI3eXZjMzB2WFJjT2FsMVlqNUdwL3Vla2FSVFR6TnVXYnJ6a1JlTkQvRjZO
RVJQCmR0KzFiWXVNR1BLMFhIajFiUUczWGJXL3U1ZHhhOVg3YWtRaWJmOCtvL3hWaStmSlQxUEhx
dEVPTllOWnBWWlgzbXpVVFc4WEtWcE0KeWxkS2xDcEpwd2JVVXgvVHlYZnJWVmI1aGcxOHlCZ2hh
dFpTUGRQaFJOS2pNVTNVYU12OG1WOFpvMEVGMWFpSURvQjBxdDJncVZ4eQpYV2NwRmx0YzFlTW1v
MjNyLzF4aUhMTzZSckRuNmdKV0wxOW9qQUNWUCtYa1RHdzlFcUtUYm52Vld2eVYyc0RJeHkrVEpx
bEFPZVByCjEwU1oyZVlGV1ZlZ2hxeGJKNWxlKy9mbll3VzVGQUlJSUlBQUFnaEV2WUNyQWhEZEd6
WHJuUzRkdXp3cGMzK1lKTlhVYUVoaWpicVoKT21ubnRzM3FkcDhOeHVpRjcyQ3g0aVdrN1kzM0c3
ZEYvZnJqTjhadVBRSlFzblM4bElrdjc4dG0rYjFBVERxakRvRDgwMWtYdGpQZQpwcXhiSmN0Lysx
bjBLRWxDMVZyK1dhUjRpVkpTbys3cGFzN0lMbU5VUXg5czJmWkc0MWF5aHpzMms5L21URk1Cd3ls
U3MzNlRnUE5VCnFHRUdHd0VIL09aK3BPOC9tVStQOE9pQXFGS0dPdWg4RFpMUE5iSXZXVERUK080
TFpJdzNmbC9LeEZjd2JsWHoyNlUyVDE1RDd3LzIKM05qaXBZeGlWdncreC9pdXZ5U3AwUnlkOU53
WFV2NExyRm9sa3VtMXViU3NxMzJSN0k0cEs3dDNTNmFYK3JFaUlZQUFBZ2dnZ0FBQwpRUXU0TGdE
UkxiL2syczRHZ0g1UW41N0hrVEhwNEtSNXE2c3lmVkMrOHFZSGpSRUdQWmxicDVsZmpaU0wydDF1
Yk9mbFM3eGFrVXFuCjQyb0N1WjdBclpPZVo1SXg2ZHVkZE5JQmowNDNQOWhQYm5xZ3IyeGNzMXll
dWZ0U0dkci9mdVAyTU9OZ0NGOTA0S1Z2ZTlJVHhqTW0KWHgyMm5xaER4dU4ydks5V3U0RXhZclRv
NTZuS1JkMmZyOUlmdjh4UWMzYXFHbk5QN0xnbVplWk40TkRCdmJJMVpibjUycmwxYmQ0Swo0aXdF
RUVBQUFRUVE4THlBS3dPUVllcjJLMzBMbFA3QS9kNmc3cGs2ZWE2YVhHMjEvSzRlNmJqNDJqdGx5
WUpaNnZhZ1JmTDd2QitrCnFacVRrTmNHaXJCdUFBQWdBRWxFUVZTMGQvY080MVE5b2ZxVUU2czdM
ZjMxeDB6RnhhcFJFSjE4ZVhTUWNJTzZuV3Z3NTc4WUU5bS8KK2Z4dEdUNDR1R1dXc2hwOTBPWHIx
YTRLRlM1czNQcDA4RURnZlRNWjY2RHo1MGQ2Y2NSc3FWeTlqdlM1OTNJMTkyV2dFWFFOL0dobQp3
RzFxK1ZFUHJwRzl3SjhycDhxUXh4dVpyMDlmUHJsb1F2Wm5jaFFCQkJCQUFBRUVFQWdVY0YwQU1u
WGMrMUxqMU1iR3BPYUxycmxkCmZsQ1R1eGZPL3RaczlkN2RPMlhkNnFWWlRuQys1dmFleHB5TTE5
V3FXSHIrUThGQ2VWOG9iTlVmdnhpVDEvVmNodnBxY3J1ZUZMOTgKMFUraWw5VDFUeXQvbjZzbXpW
Y3dic1hTK3o4YjJzYzRyQjhvT09pVEg2V2h1ajNxNSsvR0dmdXkrdUs3RGN3M1dkMHFuMjZMbnR0
eAo3T2hSV2JsNGJrQVczL3N6enI0a1lML2RiMWFxK1M2dHJyaFpkQ0RTc2NzVDB2WFpvZVlpQUha
Zm0vSVJRQUFCQkJCQUFBRUU4bC9BClZRSEk1ZzFyWk9xNDk2VEQzVThZa3AwZmVkbDRUb1plNWxV
L2QwT25YOVFTdG1lZWQxbVdnWVZlWnZZY3RUTFYzeXNYeThYWDNHR2MKRSt3WC85RU52VFN1bnND
dWw5alZveEx4RlNySmpmZjNNVzRKKy9HYno4MGlEeDFNVTZ0bHpaYzdlcjVvVFBUV0IvUngzMjFT
ZWw1SgpEVFgvSTdGR1BmTWN2WEVvYmI5eE81VmVDbGNuL1h3T25YNmYrNzNvNTN2b1c1bDB5cGp2
bmllSEdQTXJ2bGFqS3Y2VDdaZXFVUjg5Ck1iM3B1WmNhNS9sR2J3NGZPdmtVUFoxZnJ6Q1dkdUoy
S1NPanhUV0NQVmZQZTlHcllPbjVPSG9DL0Ivelo4cXFQK2JMN2gxYmZVWHoKSFFFRUVFQUFBUVFR
UU1CbEFubi84NzdESVBRSDdqZjczR05NWXRZZnV2WEtWL3YzN3BZS2xhb2FLeTMxdmErdDNQdlVt
MnI1M1FscQpWYWU3c3EzOXBSM3VWdk14L2hZOVJ5RTNhZTJLMzJTd1duWlgzODZrUDlBLytlbzRh
ZHk4bFZuRWRYYytxdWFZeE1xN3ozZVRUZXYvClV1VTNsQmxmanBCN25ucER6VFU1dVZ5dkRsaDZx
MXVTOU8xZ1I5VU1YejFpOFdEZllVWTUrc1A1dDJPSHlZb1RJeGhEKzkwbjE2cHkKOWFwWWV0bGEv
VUcrMjNWbnFDVjIzekdXeTgyWXIyck5lc1pvdzh1UDNTUXZQbktERVd6cEFLaUlHcDE1YU1DSHhq
VjJiTjBrbjd6KwpsTEd0SjYxUG16QmN6cis4azN6NnhqTkdZS1NESTMyNzFJVnFmc3cwOVV3VC8y
dTBWcXQ4VFJuOWRvN25YdGY1TVNrYVcwSk5yajlECnhydzMwTWp2LzBVSGlZKzhPRkx0U244SW92
OHh0aEZBQUFFRUVFQUFBUVNpVnlCbTJiSmx4eHVxQjNQMTd0MWIrdlRwazd1VzlPMHIKNm40aUVm
MDl3dW5yNVNlWHpzMnVLci9NME0vSXVNUllzamVyZk4rT1NmK3czNlpqbDZ5eUJPd2ZOYlNmakh5
cmo3dyticUZVVEtodQpURFEvcFVwU1FCNy9OM3FKMlhWcUtkc1k5V1R6cERxbkdmTXkvSS9yMWFy
ME1UMHlVSzVpRmN0bGhQM3orN2IxQ0lWK0VLQ2V4SjNkClhCQ2RYK2ZWSTBZN3QyMVNFOEVicTlX
KzRuekY1TnQzUFZLakgvU29KLy9ySjdMcmdGR1BDT2tBWjRGNi9ramo1cTNseWU1ZEpDSDkKWWUv
NVZpOHZYMmpRSU92V0g0dFYvOVRMVy84YlMwb1NpUXZEajA5QzZSaEpQcmtpczNWRlF0bTdmSG42
UXdqMS8zUHEvenNTQWprSwpPT2gzWEk1MUpRTUNDQ0RnY0FFZFovUlYvNitxMkVNS09ieXVZYTll
ODFaWFpsdm1VVFhhb0ZmUDZqdnM1THlSYkUvSWNMQlVYRm5SCnIreVN2cTJxam5yYWQxWkpUeFRY
U2Q4T2xwdWtnNDZLbGROdnhjcnBQSjIzY3ZYYXhpdW52SFlkZi83aDl0SlVQVEN4VXRXYXhzdi8K
T25wVkx2MUVkeElDNFJRNFdESmVkcFZRcTlObFhnZ3ViSmVKVmY5ODQxVEFSa0lBQVFRUVFBQUJh
d0hQQlNCV0RIcTFMUDMwOFNyVgpUMVczYXkxVlQrTysxSnlQWVpVLzQ3NGpSOUlmaEtEL29rOEtU
bUQvM2oxcWNZQXB4bXBYRjZlbFAraFFuNm5udEt4ZCtidk0vbmEwCmRMcjNtZUFLSXhjQ1FRcnNT
cWdwaTA1SkZrbXhIczBKc3Boc3M5aytrcFB0MVRtSUFBSUlJSUNBOHdVSVFGUWZiVnl6UXI3NjdD
MmoKdC9TS1UzcWlkckJwKzVZVVdheVc2OVZwOXBUUnhwS3lPVDI0TU5peTNaeXZSS2t5YWs3T0d6
TDIvUmVrUTdOU2F1U211dkhRUngwTQp0bXg3Zzl4MGYxODFsNmFrbXdsb0d3SUlJSUFBQWdnZzRF
a0JBaERWN2FlM2FDMHZmemJIbUh0d1dyTUxncDV6b1g5aTlBVHVLMjU4CndIanA5M3J5K1RtWFhL
YzNTVGtJdEwyaHEralhwdldyWmNPYVpWTCtsRVNwWHFkUnR2TnpjaWlTd3dnZ2dBQUNDQ0NBQUFJ
T0YzQk4KQU5LMlFVeEkxRzBibkpXbjg5czJJTmpJRTV6L1NRM3FxSGY2UlhLcVFBRzFHbk9CamRi
L3hwcXFPNXJxQmE0UzdkUm1VQzhFRUVBQQpBUVFRY0lDQWF3SVFCMWhTQlFTaVhxQnUzZHczb1ZT
cDNKL0RHUWdnZ0FBQ0NDRGdYUUVDRU8vMlBTMUhJSk5BdTNhWmRyRURBUVFRClFBQUJCQkFJcXdB
QlNGZzVLUXdCQkp3c3NEQnRud3g2czVkNnZtWFdEN2pzTlhpTWs1dWdWdkJLRWVuUlE2UmpSNUgy
N1oxZFYycUgKQUFJSUlJQ0FoUUFCaUFVS3V4QkF3SjBDbTlXUzJUL05UMSsxTG1wYm1Kb3FNblpz
K2tNVkNVQ2l0aHVwT0FJSUlPQmxBUUlRTC9jKwpiVWZBcFFMV1QzUnZJSXN2VTQ5Nkg5N0JwYTJt
V1FnZ2dBQUNDRVNIUUlIb3FDYTFSQUFCQkJCQUFBRUVFRUFBQVRjSUVJQzRvUmRwCkF3SUlJSUFB
QWdnZ2dBQUNVU0pBQUJJbEhVVTFFVUFBQVFRUVFBQUJCQkJ3Z3dBQmlCdDZrVFlnZ0FBQ0NDQ0FB
QUlJSUJBbEFnUWcKVWRKUlZCTUJCQkJBQUFFRUVFQUFBVGNJc0FxV0czcVJOaUNBUUZBQ1plSVNw
VkZ6NjJkbkZDOHVVcVJJVU1XUUNRRUVFRUFBQVFSQwpFQ0FBQ1FHUFV4RkFJTG9FcWlXMWtFNW5X
ajlvTUNsSkpDNHV1dHBEYlJGQUFBRUVFSWhHQVFLUWFPdzE2b3dBQXA0VzJKMVFVOVpXClRGWlBS
YmVQSVY2TkNOVW9hMS81bEl3QUFnZ2c0RjBCQWhEdjlqMHRSd0NCS0JWSUt4a3ZtMHNtaUtRZXQ3
RUZNUVFnTnVwU05BSUkKSU9CbEFRSVFML2MrYlVjQWdhZ1UySGZzcUd6NFo2MUltZGlnNjU5UXJi
WVVacEpMMEY1a1JBQUJCQkN3VDRBQXhENWJTa1lBQVljSgp4QndWaVRrUVkxbXJlRFVCdlZKcHkw
TzUycWx2WGJJN3pkeWZLbDJmdUQ1WGx4azZlYWxVcTkwZ1YrZVFHUUVFRUVBQUFUc0VDRURzClVL
Vk1CQkJ3cEVETVlaR0NPNnlyVnJPa1NMMUU2MlBzUlFBQkJCQkFBSUh3Q1JDQWhNK1NraEJBd0NF
Q1YxK2QrNHBVcVpMN2N6Z0QKQVFRUVFBQUJCSEl2UUFDU2V6UE9RQUFCaHd2VXErZndDbEk5QkJC
QUFBRUVQQ3pBazlBOTNQazBIUUVFRUlpWXdQTGxha0tPbW8vVAp0Mi9FcXNDRkVVQUFBUVFpSThB
SVNHVGN1U29DQ0NDUW84REtsUlpaTnBXU3JaVk9FOW1pVnNFaUlZQUFBZ2dnRUlVQ0JDQlIyR2xV
CkdRRUV2Q0V3ZWJKVk82dktzak51RnZuZDhxRFZDZXhEQUFFRUVFREFVUUxjZ3VXbzdxQXlDQ0NB
QUFJSUlJQUFBZ2k0VzRBQXhOMzkKUytzUVFBQUJCQkJBQUFFRUVIQ1VBQUdJbzdxRHlpQ0FBQUlJ
SUlBQUFnZ2c0RzRCQWhCMzl5K3RRd0FCQkJCQUFBRUVFRURBVVFJRQpJSTdxRGlxREFBSUlJSUFB
QWdnZ2dJQzdCVmdGeTkzOVMrc1FRTUNGQXRXU3pwSk8zY1pZdHF4Q1JaRVN4VE1mS3A5UU5mUE9D
TytaCnA2NC9lSXhxeDdKbGVhNUpqeDQ5cEVXTEZuaytueE1SUUFBQkJQSmZnQUFrLzgyNUlnSUlJ
QkNTUUptNEt0S29kbnZMTXBLU1JPTGkKTEE4NWJtZUtxdEZZL1VCQy9jcGo2dGl4WXg3UDVEUUVF
RUFBZ1VnSkVJQkVTcDdySW9BQUFoNFgyRldwWnNnUFZGeTQ4YmpFTGorZQpwV1JDNlJoSlRzenlN
QWNRUUFBQkJDSWd3QnlRQ0tCelNRUVFRQUFCQkJCQUFBRUV2Q3BBQU9MVm5xZmRDQ0NBQUFJSUlJ
QUFBZ2hFClFJQmJzQ0tBemlVUlFBQ0JVQVJpRG9rVTJCNWpXVVROUmlKSlliamxLTGF3WmZIc1JB
QUJCQkJBSUdRQkFwQ1FDU2tBQVFRUXlGK0IKbUdNaU1XblcxNHd2SXBKUTJ2b1lleEZBQUFFRUVI
Q0NBQUdJRTNxQk9pQ0FBQUlXQW84L2JyR1RYUWdnZ0FBQ0NFUzVBSE5Bb3J3RApxVDRDQ0NDQUFB
SUlJSUFBQXRFa1FBQVNUYjFGWFJGQUFBRUVFRUFBQVFRUWlISUJic0dLOGc2aytnZ2dnSURUQlNa
TnNxaGhhcUlzCk8rTW1rU245TFE2eUN3RUVFRURBelFJRUlHN3VYZHFHQUFJSU9FQmcxU3FyU3BT
V3JaVWFXeDFnSHdJSUlJQ0F5d1c0QmN2bEhVenoKRUVBQUFRUVFRQUFCQkJCd2tnQUJpSk42Zzdv
Z2dBQUNDQ0NBQUFJSUlPQnlBUUlRbDNjd3pVTUFBUVFRUUFBQkJCQkF3RWtDQkNCTwo2ZzNxZ2dB
Q0NDQ0FBQUlJSUlDQXl3VUlRRnpld1RRUEFRUVFRQUFCQkJCQUFBRW5DYkFLbHBONmc3b2dnQUFD
SGhJNHJVbDdhVGp5Cm1HV0xrNUpFNHVJc0Q3RVRBUVFRUUNES0JSZ0JpZklPcFBvSUlJQUFBZ2dn
Z0FBQ0NFU1RBQUZJTlBVV2RVVUFBUVFRUUFBQkJCQkEKSU1vRkNFQ2l2QU9wUGdJSUlJQUFBZ2dn
Z0FBQzBTUkFBQkpOdlVWZEVVQUFBUVFRUUFBQkJCQ0ljZ0Vtb1VkNUIxSjlCQkJBSUZvRgpDcVNK
Rk5nWVkxbjlwc2tpOWVwWkhtSW5BZ2dnZ0VDVUN4Q0FSSGtIVW4wRUVFREE2UUoxNithK2hxVks1
ZjRjemtBQUFRUVFpQTRCCkFwRG82Q2RxaVFBQ0NFU3RRTHQyVVZ0MUtvNEFBZ2dnWUlNQWMwQnNR
S1ZJQkJCQUFBRUU4bFdnWjA4Ui9TSWhnQUFDVVNCQUFCSUYKblVRVkVVQUFBUVFReUZaZzZsUVIv
U0loZ0FBQ1VTQkFBQklGblVRVkVVQUFBUVFRUUFBQkJCQndpd0FCaUZ0NmtuWWdnQUFDQ0NDQQpB
QUlJSUJBRkFnUWdVZEJKVkJFQkJCQkFBQUVFRUVBQUFiY0lFSUM0cFNkcEJ3SUlJSUFBQWdnZ2dB
QUNVU0JBQUJJRm5VUVZFVUFBCkFRUVFRQUFCQkJCd2l3QUJpRnQ2a25ZZ2dBQUNDQ0NBQUFJSUlC
QUZBZ1FnVWRCSlZCRUJCQkJBQUFFRUVFQUFBYmNJRUlDNHBTZHAKQndJSUlJQUFBZ2dnZ0FBQ1VT
QkFBQklGblVRVkVVQUFBUVFRUUFBQkJCQndpd0FCaUZ0NmtuWWdnQUFDQ0NDQUFBSUlJQkFGQWdR
ZwpVZEJKVkJFQkJCQkFBQUVFRUVBQUFiY0lFSUM0cFNkcEJ3SUlJSUFBQWdnZ2dBQUNVU0JBQUJJ
Rm5VUVZFVUFBQVFRUVFBQUJCQkJ3Cml3QUJpRnQ2a25ZZ2dBQUNDQ0NBQUFJSUlCQUZBZ1FnVWRC
SlZCRUJCQkJBQUFFRUVFQUFBYmNJRUlDNHBTZHBCd0lJSUlBQUFnZ2cKZ0FBQ1VTQlFLQXJxU0JV
UlFBQUJCQkJBUUF2TW15ZVNrcExaWXMrZTlIM2p4bVUrbHBnbzBxSkY1djNzUVFBQkJDSWtRQUFT
SVhndQppd0FDQ0NDQVFLNEZCZzhXR1RzMjY5TTZkTWg4VE84Yk15YnpmdllnZ0FBQ0VSTGdGcXdJ
d1hOWkJCQkFBQUVFRUVBQUFRUzhLRUFBCjRzVmVwODBJSUlBQUFnZ2dnQUFDQ0VSSWdBQWtRdkJj
RmdFRUVFQUFBUVFRUUFBQkx3b1FnSGl4MTJrekFnZ2dnQUFDQ0NDQUFBSVIKRWlBQWlSQThsMFVB
QVFRUVFBQUJCQkJBd0lzQ0JDQmU3SFhhakFBQ0NDQ0FBQUlJSUlCQWhBUUlRQ0lFejJVUlFBQUJC
QkJBQUFFRQpFUENpQUFHSUYzdWROaU9BQUFJSUlJQUFBZ2dnRUNFQkFwQUl3WE5aQkJCQUFBRUVF
RUFBQVFTOEtFQUE0c1ZlcDgwSUlJQUFBZ2dnCmdBQUNDRVJJZ0FBa1F2QmNGZ0VFRUVBQUFRUVFR
QUFCTHdvUWdIaXgxMmt6QWdnZ2dBQUNDQ0NBQUFJUkVpZ1VvZXR5V1FRUVFBQUIKQkJESXJjQ1lN
Yms5Zy93SUlJQ0E0d1FZQVhGY2wxQWhCQkJBQUFFRUVFQUFBUVRjSzBBQTR0NitwV1VJSUlBQUFn
Z2dnQUFDQ0RoTwpnQURFY1YxQ2hSQkFBQUVFRUVBQUFRUVFjSzhBQVloNys1YVdJWUFBQWdnZ2dB
QUNDQ0RnT0FFQ0VNZDFDUlZDQUFFRUVFQUFBUVFRClFNQzlBZ1FnN3UxYldvWUFBZ2dnZ0FBQ0ND
Q0FnT01FQ0VBYzF5VlVDQUVFRUVBQUFRUVFRQUFCOXdvUWdMaTNiMmtaQWdnZ2dBQUMKQ0NDQUFB
S09FeUFBY1Z5WFVDRUVFRUFBQVFRUVFBQUJCTndyUUFEaTNyNmxaUWdnZ0FBQ0NDQ0FBQUlJT0U2
QUFNUnhYVUtGRUVBQQpBUVFRUUFBQkJCQndyd0FCaUh2N2xwWWhnQUFDQ0NDQUFBSUlJT0E0QVFJ
UXgzVUpGVUlBQVFRUVFBQUJCQkJBd0wwQ0JDRHU3VnRhCmhnQUNDQ0NBQUFJSUlJQ0E0d1FJUUJ6
WEpWUUlBUVFRUUFBQkJCQkFBQUgzQ2hDQXVMZHZhUmtDQ0NDQUFBSUlJSUFBQW80VElBQngKWEpk
UUlRUVFRQUFCQkJCQUFBRUUzQ3RBQU9MZXZxVmxDQ0NBQUFJSUlJQUFBZ2c0VG9BQXhIRmRRb1VR
UUFBQkJCQkFBQUVFRUhDdgpBQUdJZS91V2xpR0FBQUlJSUlBQUFnZ2c0RGdCQWhESGRRa1ZRZ0FC
QkJCQUFBRUVFRURBdlFJRUlPN3RXMXFHQUFJSUlJQUFBZ2dnCmdJRGpCQWhBSE5jbFZBZ0JCQkJB
QUFFRUVFQUFBZmNLRUlDNHQyOXBHUUlJSUlBQUFnZ2dnQUFDamhNZ0FIRmNsMUFoQkJCQUFBRUUK
RUVBQUFRVGNLMEFBNHQ2K3BXVUlJSUFBQWdnZ2dBQUNDRGhPZ0FERWNWMUNoUkJBQUFFRUVFQUFB
UVFRY0s4QUFZaDcrNWFXSVlBQQpBZ2dnZ0FBQ0NDRGdPQUVDRU1kMUNSVkNBQUVFRUVBQUFRUVFR
TUM5QWdRZzd1MWJXb1lBQWdnZ2dBQUNDQ0NBZ09NRUNFQWMxeVZVCkNBRUVFRUFBQVFRUVFBQUI5
d29RZ0xpM2Iya1pBZ2dnZ0FBQ0NDQ0FBQUtPRXlBQWNWeVhVQ0VFRUVBQUFRUVFRQUFCQk53clFB
RGkKM3I2bFpRZ2dnQUFDQ0NDQUFBSUlPRTZBQU1SeFhVS0ZFRUFBQVFRUVFBQUJCQkJ3cndBQmlI
djdscFloZ0FBQ0NDQ0FBQUlJSU9BNApBUUlReDNVSkZVSUFBUVFRUUFBQkJCQkF3TDBDQkNEdTdW
dGFoZ0FDQ0NDQUFBSUlJSUNBNHdRSVFCelhKVlFJQVFRUVFBQUJCQkJBCkFBSDNDaENBdUxkdmFS
a0NDQ0NBQUFJSUlJQUFBbzRUSUFCeFhKZFFJUVFRUUFBQkJCQkFBQUVFM0N0QUFPTGV2cVZsQ0ND
QUFBSUkKSUlBQUFnZzRUb0FBeEhGZFFvVVFRQUFCQkJCQUFBRUVFSEN2QUFHSWUvdVdsaUdBQUFJ
SUlJQUFBZ2dnNERnQkFoREhkUWtWUWdBQgpCQkJBQUFFRUVFREF2UUlFSU83dFcxcUdBQUlJSUlB
QUFnZ2dnSURqQkFoQUhOY2xWQWdCQkJCQUFBRUVFRUFBQWZjS0VJQzR0MjlwCkdRSUlJSUFBQWdn
Z2dBQUNqaE1nQUhGY2wxQWhCQkJBQUFFRUVFQUFBUVRjSzBBQTR0NitwV1VJSUlBQUFnZ2dnQUFD
Q0RoT2dBREUKY1YxQ2hSQkFBQUVFRUVBQUFRUVFjSzhBQVloNys1YVdJWUFBQWdnZ2dBQUNDQ0Rn
T0FFQ0VNZDFDUlZDQUFFRUVFQUFBUVFRUU1DOQpBZ1FnN3UxYldvWUFBZ2dnZ0FBQ0NDQ0FnT01F
Q0VBYzF5VlVDQUVFRUVBQUFRUVFRQUFCOXdvUWdMaTNiMmtaQWdnZ2dBQUNDQ0NBCkFBS09FeUFB
Y1Z5WFVDRUVFRUFBQVFRUVFBQUJCTndyUUFEaTNyNmxaUWdnZ0FBQ0NDQ0FBQUlJT0U2QUFNUnhY
VUtGRUVBQUFRUVEKUUFBQkJCQndyd0FCaUh2N2xwWWhnQUFDQ0NDQUFBSUlJT0E0QVFJUXgzVUpG
VUlBQVFRUVFBQUJCQkJBd0wwQ0JDRHU3VnRhaGdBQwpDQ0NBQUFJSUlJQ0E0d1FJUUJ6WEpWUUlB
UVFRUUFBQkJCQkFBQUgzQ2hDQXVMZHZhUmtDQ0NDQUFBSUlJSUFBQW80VElBQnhYSmRRCklRUVFR
QUFCQkJCQUFBRUUzQ3RRS05TbUhUa3FzaTAxMUZJNEh3RUVFRUFBQVdjSnhQMG5FbHZRV1hXaU5n
Z2dnSUFiQkVJT1FOS08KaUN4S09lNEdDOXFBQUFJSUlJQ0FLWERHQVJXQWxETGZzb0VBQWdnZ0VD
WUJic0VLRXlURklJQUFBZ2dnZ0FBQ0NDQ0FRTTRDQkNBNQpHNUVEQVFRUVFBQUJCQkJBQUFFRXdp
UkFBQkltU0lwQkFBRUVFRUFBQVFRUVFBQ0JuQVVJUUhJMklnY0NDQ0NBQUFJSUlJQUFBZ2lFClNZ
QUFKRXlRRklNQUFnZ2dnQUFDQ0NDQUFBSTVDeENBNUd4RURnUVFRQUFCQkJCQUFBRUVFQWlUQUFG
SW1DQXBCZ0VFRUVBQUFRUVEKUUFBQkJISVdJQURKMllnY0NDQ0FBQUlJSUlBQUFnZ2dFQ1lCQXBB
d1FWSU1BZ2dnZ0FBQ0NDQ0FBQUlJNUN4QUFKS3pFVGtRUUFBQgpCQkJBQUFFRUVFQWdUQUlSRDBB
ZXZmbGMwYSsxS3hlSHFVa1Vnd0FDQ0NEZ1pZSEY4NllidjFmNlAzQzFseGxvT3dJSUlPQllnVUtS
CnJ0bUszK1lZVlRpd1B6WFNWZUg2Q0NDQUFBSXVFRWpkdlYzMDc1YTQ4cWU0b0RVMEFRRUVFSENm
UU1SSFFOeEhTb3NRUUFBQkJCQkEKQUFFRUVFQWdLNEdJajRCa1ZUSDJlMWZnOTduZnkvZVRQcFo5
cWJ1azhmOWF5VlUzZDVOQ2hRczdHaVFhNit4bzBDaXYzSkgvL25QOAp6MnhHNG4ycHUyWFh0czF5
N1BneEtWZXhpcFFzSFpjeEMrOFJRQUFCQkJBSWkwQkVBcER0Ly80amE1WXZrdFhMRjVxTm1ETDZI
ZG04CmZyVWtuWHFhVkszVlFJckZGamVQQmJPeGZVdUsvRHh0ZkRCWmM4eFRxRkJoS1ZtbXJKUlNy
NUtsNDQzdlpjcFZsT0lsU3VWNExobEMKRTVnMlliaTgva3huczVCZmYveEdGczZlSWdNK21DWXhN
VEhtZmlkdFJHT2RuZVRucHJvY1REc2dYMzMycGt6NDhDWHBOK3hicWQydwpxV09ibDdwN2g4eVpO
a0htZkQ5QmxpNllKWWNQSFF5b2E5RmlzVkk1NlZRNTc5S09jc0VWTjBuRnl0VUNqanZ0emRHalIy
WGoyaFhHCjc1WTVKMzRYSE5pN1IwWU43U2ZWMWUrVjZuVWFTVUxWV2xLZ0FBUC9UdXM3Nm9NQUF0
NFR5TGNBUkU4S25ERDhaU1BvMkxOeld5YnAKV1YrUEV2M1NTWC9RMUw4bzlDK04wNXExbE5aWDNa
cmpYK04yYmQ4aW43L2RYL2J1MlptcDdIRHRxRkh2ZE9Ndjh2cXY4bzNPUEY5SwpsQ29UcnFJcFJ3
a2NQWEpFaHIzd2NDYUx4YjlNTno0b25YUEpkWm1PUlhwSE5OWTUwbVp1dkw3KzhQN041Mi9MMlBk
ZkVOLy9iMGVQCkhuRmtVL1hQN09RUnI2c1A1bjBsN2NBK3M0NXg2bzhzZFJzM2wvM3FRL3VtOVgv
SlRqVWE4cmRhSEVTL1BubjlLV25lNmtxNXYvYzcKVXJaQ2dubE9wRGYwU05Qa0VhL0p6OStObDNW
Ly9wRXBpTkw5TXZLdFBtWTFkVkNsLzhDbC85QjE5a1hYeXBublgwNUFZdXF3Z1FBQwpDT1NmZ08w
QmlQNWwvUDZMUFdYR2w1K2FyU3BUdG9JME9lc2lxZGU0aGJ3NzhDRmovMDMzOTVFalIvNlR2NVl1
a0QrWHpKZE5HMVliCnI3bmZUNVNQQnZlUzh5L3ZKRGMvMEUvS1YwbzB5L0hmcU5Qb1RCazFaN3Zz
MnY2djhZdm9pMCtIeUlKWlgvdG5DWG5iOTh0NDhpZXYKU1lHQ0JlV2lkcmZMRGZjOUt4VVNxb1pj
TmdXSWJFbFpLMm43OTFwU3JGbnhtemd4QUluR09sc0Nzek5QQXY4ZFBpVGZqbjFQeGd4NwpYdjNm
c3lWUFplVG5TZHMyYjVRKzk3V1Y5WDh0TlM5N1djZDc1TXFiSHBScXRSdVkrL1RHYjNPbUdYL1VX
YmJvSjJQL0x6TytsT1dMCmZwWUgrcnpyaUgrTGVwTDVtMzN1a2ZXcmw1bjFybDY3b1p4eHppVnlZ
RitxZkRmK0ErTVBWM2M5TmxqK1ZMOVg5TytXdFN0L2w5WEwKRmhxdjd5ZCtaUHpmZmNXTkQwaTdX
N3RMd1VLMi96bzA2OGtHQWdnZzRIVUJXLy9IL1dIeUovTGVvTzZ5Yjg4dXc3bFE0U0p5UzdmKwpj
czN0UFkyL091bjl2Z0RrdE9acVZLSHBlVWErUXdmVGpGL280ejk4VWZSZnVQUmZzZlF2Q3gyTTNQ
dlVtOUxxeXB1eTdMZDR0ZXBKCmZQbUw1WXl6THpaR1hENTgrYkVzOHlaVXEyVUVOZW0zZkpVdzd0
bldkVXJkczBQMnF0c1RVdGF1bEFYcUZpRDlpK3Y0OGVNQjVSeFQKdy8zNkY5ejBMMFpJMjA3M3FY
WU5rR0xGU3dUazRVM3VCTXBXcUp6bENSVXFPVFBJaThZNlo0bk1nYUFGOVA5TDB5WjhLS09IUFNm
Ngo5czlvU0pzM3JKRW43N3hRdG0zZVlGYTNZNWNuNWRhSEJwanYvVGYwLzZHTm03ZVdkd1k4SUZQ
R3ZHc2MwaVBNQTd0M01JS1FOaDN1CjlzK2ViOXY2TnJmMzFlOFZIZmo1VXFYRUd2THc4eCtadjBP
bWpIN1grUCs1VUpHaWN0RTF0eHN2blZjYnZQM2NBN0xvcDZuR3FUb2cKRy83SzR6Sjd5bWpwK2NJ
SU5UcFMzMWNrM3hGQUFBRUViQlN3N1diWTc5UXY1MWVmdk4wTVB1TExWNUloNHhiSmRYYyttdU9R
dHg0bQoxNEhLVzVPV1NJUGtjOHptNjFzRDN1cDNyL2srcDQzTE8zVTE1bTlrbGUvNkxrOUp5N1kz
U0UxMWExWGw2clhWUGM3VnBXYjlKdEtrCnhZVnlYcHVPY2tQWFoyWHc1L1BrMDluL3lvMWRlNnNB
cFVpbW9vNzhkOWk0bmFIM3ZaZXJ2OTZmdkowaFUwWjI1Q2dRVzZLa1hINTkKNXY3Vm8xNTZCTXlK
S1JycjdFVEhhS21Udm4xSi85L1c1ZkpUMWY5RjkwVk44TEZuMTNicGRWdkxnT0RqMmpzZXlUTDQ4
UFZIUVRYUwplMy92dCtYc2k2LzE3VEsrRCszZlZSYjkvRjNBdnZ4NG8vMEg5YncrSVBobzBmcHFl
WFBpSDJid2tWMDk5QitkK3IwN1JYb05IaU9sCjQ4cVpXVmVyT1luNkZtRVNBZ2dnZ0VEK0NOZ1Nn
QmhENDcyN0JMVGd3YjdETWczeEIyU3dlRk5GVFlEczgvYlhvci9uSmVtSjdMVWEKSkdkNWFvV0U0
Q1pWbG9rdkx6ZmUzMXZlbXJ6RXVIZllxc0JsQzJkTDczc3ZJd2l4d3NuRnZydDd2U2J0T3o5bXJO
K3ZBOUdtNTdhUgpGejZhNmVqNU50Rlk1MXgwQ1ZtVmdKN2dyRWM3NzdtaW5udzY1Qm1wVmY4TWFY
L1g0d0YvSUhFeTFKQm43cElkV3plWlZTeXNSZ1k2CjNOWExmSi9UaHA3N29lZUkrSkllQWRZakla
dlV3aUg1bVQ1NnRWZkFyYlhsS2xhV2g1OGJudXZSNTNNdmJTKzlYaDFyM0VxYm4vWG4KV2dnZ2dB
QUM2UUpoRDBEMFg2ajBYd2FQSFR0bUdwOTdhUWY1M3dWWG1POXpzMUc4WkdsNWVzaEVpUzFlTWpl
bm1Ybmp5bVg5SUNvOQpqeU0zcVVyMU9rWkFsTlVrVEgxLzlPZnY5TTlOa2VUTklGQzRTQkc1dmNj
TDh1bXN6VEx1MTMzUzk5MXZwRkxWbWhseU9ldHROTmJaCldZTE9yODF5TlE5Q3o0bDRlTUNIOHNu
TWYrU3BJUlBrOXU0RFphQUtqdlZmMVoyYzlDcHR2OHo0SXFDS2VvUzNWRnpaZ0gzWnZkRi8KaEdu
VG9VdEFGajFmUzk5aW0xOXByWm9NcitmZithY3VUN3llNHdJbC92bjl0eHYvN3dLNW84Y2cvMTFz
STRBQUFnamtrMERZQTVCZgoxWktwNi81Y0VsQjlQZUU4bEtUdnk3M3ZtYmZ5VklTZUV4TE9wRzhI
MG45eHl5cDkvZmxRTlgvRXZwVzRzcnF1Ry9jN2RkbmQ3S3lqCnNjN1p0WWRqNlFKNk5iNmVMM3hp
ckg3bmI2SnZVYXBacjRuL0xrZHQ2NUdiVVcvM3kxU255eXh1ZGN5VUtjT09sbTF2ekxCSGpOR0kK
aGJPL3piVGZqaDM2RmluL1AyenBhNXl1YnBjTkpWMXplNDg4LzNFc2xPdHlMZ0lJSU9CMWdiQUhJ
TE8vSFozSnRFYmR4cG4yNVhiSAplVzJ1RnowYWt0dFV1SERSM0o2U1kvNWt0Y3BLWlRVYVlwVU9I
dGh2UEFmQTZoajcvdC9lZWNCSlRieDkvSGtWVWVrZ1JTbUNvQlJCClFKQW1SZWtkcElQMDNuc3ZS
KzhkRVFRT0ZKQW1YVUdrU0RsNmxTWk5LVXFSSWxWVUVQVFBPNytCbk5sa3NwdmRaSmU3ODNrK243
dE4KSmpPVHlYZjNidWVaZVFvVFlBSXhqMENxZEptaTdFTWhjTWUxWDM3MkdGKzhoSWtwUzg0Q0ht
VjJUdEtrejZ4VXRtYU42V2FudWFNNgpEeDg4b04yYlZucjBnZWlEYmlSTE5PN3NlTnlFVDVnQUUy
QUNUQ0FvQkZ4WFFNNmZQbTRhNkhPeFh6Q1YrVnNBTTVkOFJTdjUyeXhvCjlZdFdyR2ZaOTlIOUVa
YlgrQUlUWUFJeGk4RHpmaVpORGVYVEk4R3JVVjd5RW0zT1dOZDRqcUFkUmpsLzVqZ2RGWWtNZ3lt
STNJWEYKSGIyNDhiMkMvaER0NjBWT01xdEh5OGRNZ0Frd2dhQVRjRjBCdVhQem1tblFSL2R0TVpV
RlVoQ1Y4a0I0YzR5L2N1RnNJSS9IYlpnQQpFMkFDcmhIQXJzSHhnenRNL1NWMmtFaXdTRmwxTkxw
MVMyZWE3dU5tZ2VwN1JVdVc2UFErY01nUDFFZlI2YjI1UFJOZ0Fremd2MHJBCmRkeUVxdnNBQUNB
QVNVUkJWQVVrdmk2MG9RYjFpTWhrN1lia0tsaWEyZzJZN2taWGp2dElta0tkRUJFZFg3OXlRV2Ix
ZG53VDdvQUoKTUFFbUVDQUI1QzlDb2tTaldBWFJNTlpUbmNQc1NaWHZhTWY2cFVHTkFLajZYc0g0
RHU5MjU3dWxkcXN3S2xXdHFlcVJ1WXdKTUFFbQp3QVNDUU1CMUJTU3BJbUVjTXVqQ09kMnB4SDcr
QlhxL2d0a1IwbW0vZ2JUSHFwbVZ3RkVTbVhoWm1BQVRZQUpQaXdDeWY2dkVpUUtDCi9wRFR5U2hR
ZEU0ZDNXTXNkdTM4cGVTcFNCWGdZZTZrdnBHNXBwemNEUDR0V2Q1KzEwa1gzSllKTUFFbXdBVDhJ
T0M2QXBKYjdGS28KWkZ6UCtpSUoxZ1hWcFdoWnBzOG1iSHdBaFBlRm95ZEwxQ01BNWZDdisvZWkz
c0I0UkV6QVpRSXFzeVhjNGpteGtPTkVyRUtibnp5MAp5MG0zWHRzaTRhZEtRY0QvNFhHOUc5Q2pS
NCs4dHVlTFRJQUpNQUVtRUxVSXhISjdPQVZLVktIdzBWMElpYXIwY3ZmT1RScmVxUm9OCm1McmFJ
NkdWdms1ME9yNG12dmlzQkN1TXF0VTZxL3EreW1ITGZXalhCanF3WXgxZEYwcmN6Vjh2MDhPSGYx
RzZOOTZpMXpMbGtKbmMKTTJUSjVWZGMvK1dmamZQSWl1eHJETGhlc21vVGVTK3J1c2lUc0hmTGFx
dkxzanhGNnRmb2d3YWR2TmJSTG1KU2NYajNSdHF3NGpQSworRlplcWx5L28zYko5aXZ5MHF4ZEdr
NUlGSGxCT010ZVBIZEttcVc4TE1hUjlvMXNsUGIxYkpRMWQySEtucThvWVZjTDJaMFRKa2ttCkU4
M1p2b211b2h0ajFuVW5EeStmUDBON3RxeWlzeWNPMHUwYlYrbVcrTUhmRjhhWktFbHlTdjFhWnNw
ZHVBeTlrUzBQUGZPTU8yc0sKRC82NkwzY3RZVnJ6OThNSDFGc2tiVE1LUXJ6dTNMQk0vQ3luaXor
ZG9pdGluUEVTSmhIanlVVEZLemVVMmVzREhRODRmcjF3S3ExYgpOcE51WGI5Q0djV3pOZWcwWEh6
bXN4bUh3ZWNXQk83ZXZxRzhBcDVPUkxVRGd2NkNxWUNnLzhLbGF4SnlMUmxsWDhUWE5HZENiL241
CkNQVHpadXlUejVrQUUyQUNUQ0M0QkZ4WFFKQW5vM3p0TnJScS9tVFR5SC84ZmorMXE1cUR1bzJh
UnprZHhtODNkUjdpZ3IxaVFtZ2wKVHZPZWFQMytjZmNPelp2Y256WitPVWRwMG5WT0pPYmF2R3Fl
ckk3SmMrM1dZVlN0Y1hlSzlkeHpXaGRlWGgrSkdQNnI2Y3JGYzE3cQpQTDZVOGEwOGxDbDdma0pt
Y20veS9BdHg2UGZmYnRIMys3Y3FsUnNvRWFtRnFZTXYrZm4wTVlwWXZZQTJyNTRYdVd0bUZmYllX
MTlICjlteW1UNGExRTRySENhbGNJR2NBTXF0am5GQWd2OXUrVmlSb0UrOWorQWo1YkRBZmhHTXJr
cHNoMDdVLzR0YVl0WHRpQXI1bDlYeGEKTE1hRzhmdVNCVk1IVVh3eCtTOWJzeVZWYmRJOW9QQ2tp
REswZjlzYTJyNXVxWHpWb2c1bHpwSGZkUHYxeXorbHhkT0htVDQvOS83OApYYjczVUVhL21ERk1M
amhBMmZOWFlGcXpKSHhrWkRNb3R1aHozTUxkWHBYZ3lBWjhJUDhXVlJodTZqS2lxNjc3S3JOU1FJ
emhmbjMxCjQrLzEwaldhMDRvNTQwMWhoZEhQMGxtakNkOHYrRzVKbk14c0l1YnZ2YmcrRTJBQ1RJ
QUpCSmVBNndvSWh2dGhtd0cwYStNSzRZeDkKMFRUNjI5ZXZVbGl6VWxTOVdVK3hvbTF2SmR6VXlW
TXVRS0pGVEc2dEpIK3hENnd1MlM3SEpIRGE4UFlFWHBBM3NyMGpWK3pqeEUxQQpwNDhma0YrMmVn
ZFRISDgrcVI5dCsrWUxhajhvWENnTWViM2VxMnJqYm9TZlE3dStwU0h0S2x1YUpSVXFYWjE2alYv
c3RTL3Q0cHU1CkNoSis3dC83a3dhMUx1OFJtck95MlBWbzFtT2M1YzdRaGJNbnhjUjNDVzFmdTVn
d21YY3FDNllNSWt6S0lWQW1NREZCUWt1OVlBVi8KNjVxRk5IVklXK0ZBZTVjdS9mU0R2S3pucXE5
dlBIWjd6RnIvbUVoTkdkeWFUaDg3b0JWUi9tS1ZLVy9SaW5MWEsxNkN4SFQ1d2huNQpPVmc5LzJP
NVE0Q0syR1dFd29Ka21IWEUzNkNkbmFiZnhDbzVKdmZJRi9HZDJHSHo5ZXhJc2pteFh4TlRadTNJ
Z2VvT29EajFyRitZClJzNko4Q3RiK0oxYjEybVptRkFhQldPYlBiNG5EWjZ4MW5pSnp4VUVubjh4
cnFLVXlLa0NZbVdDaGM5Zk1BVStnSzM2VHFiQmJkWGgKMkErTFlDZFk0T295ZkU0d2g4RjlNd0Vt
d0FTWWdBc0VncUtBeEUrVWhBWis4alYxcjFkSVR1eU00OFRxTGxZMzkyOWRZN3dVNWMvLwpmdmlR
d2tkMnRod25Wdm56aVltaUUvbHEza2MwWThSajVReTdEMUFvak1rY01RNTg0WTdxV3N0amR3VEtV
YmNQQzFDVGJtTUlXWDU5CkNYWnJ1bzlaU0VQYnE1VW1tTkw0S3krSXZBaklrNkxsQmtEa25JYkNm
TVpvbGdiVHNzWGh3Mm5uK21XdUtCM2FPS0ZVYWNwSDNQZ0oKNVdkUnRTcUtMTllZNSt0djVxYXVn
cGtXT0FBbVIxWVNyREZyOTl1OTZTc2EzYTAyd1FRSzhsS0tWTlJ1NEhUS1U2U2NWa1crcGt6Nwp1
dGpOS1UxVkczV1ZTc2ZDcVlNanIyUG5iT2FvTHZURDBiM1VjY2dzcnp0WHJjcG5KaWdoZGdUbWF3
TmFscVdybDM2UzFXTTlGMXVhClc0R2IxZXIzRGJIYVBuVklHeG9TdnM3T0xXU2Q4MElCTldhODFo
cWZQWFZZTytSWEh3UVNLQ0lTb3NuMWE1ZDh0UFIrT1ZZczlRNXIKc0JVUWpBcmhjcHQwRzAyZmp1
MmhIT1NkbTcvU2dGYmxLRjNHdDVUWHVaQUpNQUVtd0FTaUJnRjNETVlWejRJdmdNSFR2eUdyTDBF
MApPWGZxU0dUTFMySnlFOVVGazZMeHd1RVJFMytWSUR4bDJ3R2ZtQ2JhcXJwV1pYcmw0eDB4NlJ3
MWQ2dEorVUJibUZsaEFqb2tmTDBwCmlSWVVQR1FuM2laMkUreEkvbUtWTE9QZy8zTCt0SjB1VEhW
dVhQMTNrbE85YVUvQzZxVlI0TWZ5UURpRU4rczVucWF2T1VYZFI4OG4KS0F4T0JCT1FzYjNxUjNh
QlhSNlY4aEZaUVJ4Z1o2VExpTG1SUlY0VmtDQ01XYnZ4aHVXZjBmQ09WU09WanhmanhKT3IvVWJs
UTZ1UApWNWplMVcwN2tOcjBuNm92bHNkYjF5eWkzbzJLeWgwcDA4VW5CVEJwbXIzeFBBMmF0a2I2
MlZqVmcrMTl0N3J2U3VVRFN2R0FxYXRvCjJZRS82T01WaCtuVERlZG80WTdyVkwvREVHVnptRTdC
dDhhdUlPS1JsU1JUUk5tenF2dGZMMC8yeXF0S0JOaFZWU1dNVlZaV0ZGcnQKa3Yzdm43OUQ0Z3lP
ditsNjdmOVZ1QlZESkN6RVFQNFN1N0V4S2ZpSjZsbTVqQWt3QVNZUUhRa0VUUUVCREVRdEdiOW9q
MWhoenVXVAp6ZVFCTGFpZk1NMDZmZnc3bjNXZlJnV1l4ZlJzVUlTMkNoTW5sU0FiY3Y4cHEvejJI
ZEQzaFIwRGJlY0R1d2JkUm40dUo1ajZPc1pqCm1GcjFHcWNlRTB4bGJ0KzRabXlpUEsvWFR2MkZI
dkgxUW1WOVg0VmFBclE0OFJKUXNVb05sTlhqaU96RGpidU9rcG1JVTZWOWc1QmwKdVhHWFVjcTZk
Z3UzQzZkcHpXd05iVEpsejJlcktaU3dyTGtLeWJwUWpLd2tHR1BHdlU0ZTNrMGZEMnJwc2ZMZmZu
QzRjSkxQYWpVVQpqL0p5dFZvUmZveUNYWkJKNG5OZ0phKzhtb0hndHdVbjlxRXoxNU1xcXpkTTAv
bzJMU0YzTTF2MysxaitUZWQ1cnp4aEIwa1Q3SHJXCmF0bFhtdGxwWmZyWHJkOHMwcDk2UGNidWpw
V1BHSHhjV093UnlKYTdpR1ZGQkJjSVZCNDhlTHc3WjJ5ZklIRlNSNHN2eHY2OG5kZHUKMVUrYWh1
TC9pemVCYVdXTGNobmxnb3pkblQ1di9mRTFKc0FFbUFBVGNJZEFVQlVRRFBIbE5PbHA3SUpkMHQv
QWFJSmpmQVNZem5TcQo4WTR3UWFsRDEzVXI2TVo2b1RyL1UzeDU3UkRtUVNPNzFLTE90ZkxTaVlN
N2xiY3VVcllXVFZ0MWdyTG5mVjk1M1U3aHZUOStwNGw5CkcwZFdyZFdpcisxUXZwZzhnck5Sc1Bx
M1JQZ0UySkgwV1hJU2RseU1nZ21zdHBwb3ZHWjFqbDBJYlplb1pKWEdZb2NtbmxWVlUvbWIKVDVR
QTB3V2JCV2NNQ3F5VkhieXFPL2dsUWJ6dGdLamFPUjB6SmtZanU5VDBTRjZKU0ZLRnk5UlUzYzZ5
ckZHWGtmUlM4cFNtNjlnSgpROVF6WDRMSkhLSk5HUVdtTlRDN0dUeDlMWld2MDhaNDJlTzhmSjIy
MGhuZW8xQ2NZQmZFSCtreWNxNk1UcWExZ2JsWC9ZNURPVm1jCkJzVEdhN3BNMlMzL2grd1EwY3ND
RmV4YXFzVEtPVjFWMTQweStLZE5YbjVJK3AxNTZ3ODdOaXRtajZkbXBUUFFzay9IaUwvdmg5NnEK
OHpVbXdBU1lBQk1JQVlHZ0t5QjRCcGdMd1c1MzdJS2RKa2RnMVROaWw2RlZoY3p5U3dOaFZJTWxW
MFVFcUZOSDlranpFRXpTVnM2ZApLRmZLaG5lcVRpM0tacVNhZVJQU2lNNDFwSE8wYWd6cE0rZVVK
bEk5eGk0azdGZzRrWGtmOTQrMHJZZlpXckhLNmwwRHEzc1VLbDFECmVXbnRraGsrSFl1MWhoVSti
S3NkZXJ4K3MzaTZ4N212RTd4L1doam1zb3BWZVcvdG5lWlBNU29nVmtxamFneTVSQTRiVE1JZmV2
RUIKVWJWek9tWkVPak1HYkVDQUJsOEt1M0VzR0R2TTNWU3lVRGprdzRIY2wyQVZXeVZoVTc2aUhQ
bUxxUzU1bEQwWE96WVZGZ3E1VVdDUwpkK3RKUUFYak5kVTVRbG1QbkxORm11YmhkVjdFWmFyVm9v
K3FLcGRaRUVCSTJsSlYxZG05c2Fod1NVUjhDMFFRNlU0bG9WWkFNSVlVCnFkTEpJQWN0UmVRNjFl
NmRmcHp3VmZwc1hFL3FVTzF0R2FsUGY0MlBtUUFUWUFKTUlMUUVRcUtBYUk4RWM1aVBsaDZrdXUw
R0tYMEMKdEhwNFJRaFErREYwclpNL01qcVIvcm9ieHpCUjZscW5BUFZ2VVVZNGM5ZVdqcnRZS1VO
ZUE1WHZBMVpoM3hLN0hMQjFoekkxY2NsKwpzVXI3Mkd6SHlYaCsvKzAyUVZIUUpKZnc3VkQ1VEdq
WFZhOVFobFNDcEh0MkorRUlVYXZhU1VHb1gwUzJzaXNiUkloV1NMWjNpa2duClpidnRVQzkyYkxP
dmlEL3RqVGtPbHM0Y2FXdmlqWHM4R3l1VzJNVXFTbitMRlZOL3hNbVlzZE8zZnRrczArMWc0aFNJ
RkJGbWJIZ08Kb3lBODdvclp2bmRCRUtKWUpkaVJzU3RwMG50R0c5UGEvWGI3dW5abzZ4VUtHRXp6
OERseXF1VFp1bUVNckZTcFhnZmw1d0dQK3NXMApvUUU5c1JZdHp0ajRhU2dnR0FNVXJZcjEydE1u
WHgyekZRRGt2TWdIMUt2aCt6TDZuUmJzd2Znc2ZNNEVtQUFUWUFMQkpSQlNCUVNQCmdoWFNPaUpm
eFZUeFpXRm5rZ1dma0E3VmM5RzNLNTl1YUVYczRIeXgreGFOK0d5VHRIVkhiZ1Mza2w2dEZUc01N
SmZTSk5zNzcybUgKdGwrUlZNOUtqdXpiWW5YSm94d1R2bksxV251VTRRUXJoM1p0K0JFNjl1ekpR
N0tQZ096MXhSaWNpSEh5Qy9PbUFhM0sybzcwaERGbgp6bEhBdnlFNEdQT1hjeWVZVEw2dytnKy9q
RUFrb2RqQmVLZHdXV1hUMVF1bitEUS84WGZYUlhVamxSa1k2bGtseGxQMXdXWHVFTURuCkNMbUJW
TExwcTgvOUNnNkFJQnh6Si9hVnU4YXEvZ0xKMWFQcUo5Q3k1Q25UVXRqSFh3cGZ2Sy9rem9pdmZ0
WXMra1NhL05ySnMrT3IKTDc3T0JKZ0FFMkFDL2hFd0w1WDYxejdnMmtoT2hrZzZGYkw2MW9Fd09Z
ZC94TlZMNTJURW40QnZhbWlJblF5RXpYMUJ4TXVIcjhEMApZZTNwMkhmYkRiVWVueUt4SWtMUytr
ckdwMnpzb3hBVEFiMnNFbUY0djEwNVcxL2s4eGdSYUt6a2hpSWZpMVZkK0d6TW14d1dHWWxKCnF3
Y2xxWlRJaE81TDFpMmRLYXZBak96ZGtsVjlWWGY5T2hReHpmOUU2L3lIby90RWFPSjNxWU53NnNa
cXVqZUJQMDBvWmZlbUwwMjMKUTBaekoxSzBZdjNIQ1JZTm5VQ1JQSGxrTjJVVG1kK0RLZkV0d3Iv
ZXYvZEhNRy9MZlZzUStGQkVTZHNuRWt3aWNhbFJFSDRiRWVEZwpUK0ZOc0lzNmZYZ0hyMEZDY2hZ
bzZhMkxrRjFEcU42Lzd2OHBkN1Y5M1JTN0lkM3JGWlFCUkpERGlJVUpNQUVtd0FSQ1E4RDM3RDgw
CjR4QkpDVHVTbGYyNU5nVGtPb0FUb1ZzQzUrRzMzeTBwbzNXbHo1eURlbzcvZ2hJbFRhSHNIcUVj
NFJ2aXRnTWpITGJ4SmFnWEpPSTcKZVdpWFh6K1laRnVKUDZZdmlHYjBYcms2cHE3US85a1RqM2My
VEJlZkZNQnNic3ZYQytSWjhROGErWXpnWmRXUGszTDR6cWhXOFpIaApIR1lYRS9vMGloSUJEdkNN
eUtkeCtmd1owK1A2Q2h0c2FtQW9RQjRhcTNER0NQUVFiRkh4RC9ZOXVYOXJBdkRCQzV1OFVya3JB
Qk1rCkJFRG8wNlM0alBBSHZ4Q1liVUpaUFhQaW9FaHErUWwxcko1YjVuVENialFpeGFrK1d6Q1JR
N0xVcUNieEV5YVIzeTNlUHBNd2dlM1gKckNRaHNTZ0xFMkFDVElBSmhJYkFVOXNCTVQ1ZUFiRmFY
bE9FOFp3eG9pTjVDLzI2WU1wQUdSMEkyKzF1QzB4ZmVvNWRKRU9PYWs3VQorbnNjTzdCTnJnSWkx
NGRiOHYzK3JhYXVrSGd1WVpKa3B2SkFDeEltOXErdjhzSVpmY09LejB5M2c1K0tLdCtFVmhHTy9B
aDdDU2xUCm83bFdITkpYaEh3dVU2TUZXVG5PYi94eXJzeVBBdHY0NnMxNlVid0VpVUk2UHYzTlZP
ODlyc2VONXl3WENuS0Q1TWhmWFBveTZlK0gKNDFNaTNDL0xmNDhBL2w4aXAxQy81cVhvb21LaWZX
VFBac0tQbGVEdnBHN2JRZkp6MWFheTJkd3paLzRTcnBta1dvMGhrUEpuaGZMVgp2TmNFS2lRaXlr
MEthNnA4ZHZRTFJRd0pNMkZpeThJRW1BQVRZQUxCSnhCbEZCQThLdXpYa1l5dVlLbnFjcVZhbTh6
cU1XQjFEcVlBCnNQVU5ocnlWNXoxcTFIbUVaYVpkVEd6aDhGMjJWa3RYYm8rc3owYkJKUHIxckxt
TnhTRTd4LzBSTUFBUnd2U3llZlY4bVdFZENSZFYKc203WlkvTXJPT3FuU3BkUlZTVWtaUTA2RHFQ
andwUU9PMGtxd1dSajZhelIwdkcvUnZQZVZLbGVSK21icEtvYnpESjlza2I5ZmVMRwpkNjRVV1Nh
aHUya3ZMNHgrUEh3Y013akFIMlR5c29NaUpQTllXanhqdU56cDhQVmsySlV1VXE2MjhOdnJMLzgv
STBpSFNuSVZMS1VxCmpqSmxXWElXa00rT0RPb3dwMVhKMGIxYmFQT3ErVlMwWWwzVlpTNWpBa3lB
Q1RBQkZ3bEVHUk1zL1RPOVc2SUtqUmNabWxPKytycSsKT1BKNHorWlZkR0Q3dXNoenR3K1FhYmVB
R0lPVlRCdmVucjRYdXlGdWlDbzVsakdTa3h2MzhiY1BWVWhlS0lRUmF4WXF1MEptWlppTgpRUUp5
UGxmMkdsZ2h6TWhHZmI0dE1yR2dWUzh3dlpCaE9hdS9MUk1CV3RVTFZ2bWRXNzhxdS9hV0NGSFpR
RkZvcFlEOGRzdS9TRlNLCnJya29HaFBBN2hnU1JzN1pmSW02aWtTbkNOLzltakEvaGVucGkzSGl5
VERwQ0dKUXBWRVhHakY3TTMwdXdoKzM2dk9SVkQ3dzJOamwKTkFxaUErWjVyNEt4T01xZDQ5bGI5
cGxFbllaK0trTER4MWFPYjlhWXJyWVVNMlZqTG1RQ1RJQUpNQUhiQktLa0FvTFJwOG1RaFliTwoy
aUMvRkZWUGMyUlBjTGZLT3cvN2pLeWl1aUEzeVFqaEQzTHRsL09xb2ZsVnB2TFB1UG5yWmIvNkNF
WmxURXhVUGpsV3BrM2E3Z2ZhCkZDaHVyYndGWTZ5cVBtRXlNa1JrOWk1V3FiN3Fza2Nab3VCMHIx
dFFacUZIMHJKUWlWVStoVjh2Ty85Y0pYczVqZkl4ZmhkSkJWbVkKQVA0K3NOTGZTL2k5WVZjRWVW
YVc3UHROaHJJZE9PMXJhdHA5TEdFM1dKL3RIbzdvU0V4cWxPTEM3eXF4aGUrY3NXNVVPQzlScFJF
aApiNGhLYnQrNFJoY01Qbm1xZWx6R0JKZ0FFMkFDemdoRVdRVUVqd1c3NVdZOTFWditGODhGMTJF
UVNkMzZURnBtR2ZVS3p1UERPbFJ4CnZGcW1tdkNlTzNYWTJidnFRbXVzRnBhdTNzelVFOExzd2hs
VkwzaUdUY0szQWxKQ09wK3JWeGYxYlVKeGpGd3FYVWJNb1NIaDYraVYKVnpONHZlV2pSNC9vS3hG
OWJHajdLcVlJWUY0Yk9yZ1lKMjRDWmV0ZlhWQnNrMW9vSUMvR2phKzhKeGN5QVY4RWxpdnl5TUM1
dTFxVApIcjZhUnJuck1LRkZBQktWc0RPNmlncVhNUUVtd0FUY0pSQ2xGUkE4S2liQnF2Q0lvWWpk
bms2RWRJVkR1SlVnU3N3a2tjelFpU0JLCmkxSHNKZzQwdG5QN3ZHek5Wa3JIVW9UazFjdXVqU3Zw
N3BPVmRUaUFSelhCUkdQS3lxTlV1MVUvUzlNTGJjd0h0cStsd1cwcWhrUUoKc1FvMDRNWU95RXNw
VW1tUDVQSHFiMEFDajhaODhwOGxnR2h0dThYZnVWR3dVNW95cmRwVTFsZzNxcDEzR0R4VEdUSHZ3
dGtUVVcybwpQQjRtd0FTWVFJd2o0S29DZ2krcFUwZk1XL1JPcVNIQ2lsR3VYRHhMRHg4OE1CYTdm
bDYwWWowcVY5dWNuRSs3MGRadnZxQWw0U08xClU3OWZWUXJJdVIrT3lFendmbmZtY29Qa0tWOVYy
bllqMU82ZlQ2SmQ0WmJybG9UTE8rZklWeXpLVGthd0cxS3YvV0NhdHZxRUNISlEKelN1cFE3czMw
dUx3RVY3cnVISFJTaG40OWNvRng5MnJBamlnMDRRdkpYZmNOM2Z3M3lNd1oySWZ3aTZoVVdxSVNI
S2hrQ1BDUWR4dAowOVJrcjZTaDFPa3ptNGJQQ29nSkNSY3dBU2JBQkZ3bjRLb0NnaHdERS9zMWRu
MlFHVVJVSnBVOGV2US9WYkhyWmMxN1RwQUpDNjA2Cm5qdXBMKzNidXNicXN0ZnlsMU9uTjExSENP
RHQ2NWFZeWdNdFFBWmovQVFpS21kMDVQdUlXTDFBZG5mbHd0bkl4SDl1UlFZTFpKeDIKMnlBQlp1
OEpTMmprbkMzUytkYXEzWEtSYndhNVg0SXBWcDlybUxSZHYzckowYTF2V2ZnUklmRW1DeFB3aDhE
K2JkOG8veC9CbHlKOQpscHorZEJWdzNVWFRodERheFRNQ2JtL1ZNRU1XODNmTG93RC9WMXJkZzh1
WkFCTmdBa3pBVE1CVkJRVGR3elFLeWF6Y0ZKVXorQ3NpClFoWld0VU1oejhXT0xTZXR5TzZ0RXF3
TWp1bitJVjA4ZDBwMTJXdFo1cmZmVlY1Zjg0Vjd1VWFRTzZWampkektGVXpselhXRk9RdVUKVURy
akl5Y0laUDJ5V2ZJVjVrVDVpMzBnajUvbXI4OC9DclAxUGlBaitvUkZlNmxtaXo1S016T0U2bDIv
L1BHekJldDVFR3JaS2cvSgpqdlZMSGQzMnhyVmZsTzF6aXZ3Z0xFekFMb0g3OS82a3FZUGJtS29q
ekhhclB1cHd0cWJLTGhYczJtUTJBWFBhZGFxMGI1aTZTSmZ4CkxWTVpGekFCSnNBRW1JQzdCRnhY
UURBOGxhMndrMkdySE01RC9TV0I3ZnJ1WXhZb2JZYnhiTWdjUEtSZFpmcmo3aDIvSGpYdDYxbVYK
bVlXUmVSeW1RRTdsK0hjN1pNei93cVZyV283ZDJ6M2daRnEram5rQ0F2K1hFeUxzcnBhd3NHU1Z4
c0svNGpsdlhZWGsyc1l2NTlDTwpEY3RzM1F2amJkQnhLSFVlUGtkWi82ZFRSNVRsYmhVKzg4d3pN
ckdicXI5dkZZa2dWZldzeW03K2FsWkFubi9oUmVGUFZjaXFDWmN6CkFSTUJMRjVjKytWbmozS0Vz
RVhDVnF0OFFCNlZYVHc1ZC9Ld2FTeE91NytnQ0dZUzZ1OFdwOC9BN1prQUUyQUMwWkZBVUJTUWIx
Zk8KcG4rRUdaRmJnc2hMUm5rdFV3NWprZkw4RVpudGxwVVZiUlRDbWJsdXUwR1dOUy85OUlQY0Nm
SEgzQWtUZkRoeXFnUU83djRxTlBwKwprT2RpYk05NmhNaEhLbE1xZlYxdng0aHM5ZnlMY1V4Vkp2
UnVTRnJPa3RMVm01dXVQNjJDUXpzMytIVnJoQ090V0xlOXFjMHZMdS9rCm1XNGdDcXljOXM4SjVR
ZEtYcUJpbkRTaW4xTFZtb1ZzMXpEUWNYTzdxRU1BWnFCSVdtaVVKdDFHaDh6MHluaHZiY2ZWV0I3
b3VaUHYKbGtEdnllMllBQk5nQWt5QUtDZ0tDTXl3bks3ZzZ0K2NINC90MTUrS3JOWFBVd214NG01
SHNETmhKZi84ODdmVkpjdHlKUEY2cDBnNQp5K3V3bDU0ckhEYjlrYksxV2ltcnd3ZGhmTzhHQVRu
Ykk4Rmh2NllsNUlwaGhRL2JFY0lLQnlweDR5ZWtvaFhxbXByL2N2NjBMSU9aCmxxOHd0NmJHUVN3
NGNXZ24zZnZqZDcvdVVLMUpkMU45bGVtZnFaTERBaWkxbVhQa1YvYnk3WXJaeW5KZmhWRCtkMzI3
d3FQYXM3RmkKaWVSeVhUM0tvc3VKdis5bGRIbXVxRHpPby9zaXhPSkZmZE1RaTMvUWtDclY2MkFx
RDFYQmlqbmp5Y3E4ME44eDRMdkJ1TWlRUFY5UgpnbmtaQ3hOZ0FreUFDUVNYUUZBVUVBejU4OGxo
SHBHU0FuME1SRDQ1ZFhpM1IzT3NHaWUxQ0RQcVVWR2NhT0ZoamVVNFJ5NFBmd1U3CkZ0MUVCdUVV
cWRKWk5sMDZhelJGZkwzUThycnh3dXZDeVQ2cmhXa01zcjRQYWxQQkw1YTNybCtsM28yS3lud2RH
R2VWaGwyTXQvVDcKdkh5ZHRwWnRyRmJ4TFJ0NHVYRC8zaC9LcS9mL3RLOVEvUDN3SVdrK0tzck9G
SVZKWDA1TmlRd1JvdDdJbGtkUjAxemtkTXlJenFXUwpDQkZ0VEpVblJsVlhYL2FkQ0NWc2pCaUU5
d2hSelh5Skt0S1JyemJHNjMvZHYyY3M4dnNjRWU0K0hkdURhdVpMUkRYeUpxQm1wVFA0CjlUZmw5
dzJkTkZCRWgzTFNuYSsyaDNkdm9yNU5TbEREWW1tb1Y4UDNhZStXMWI2YStIWDlweCsvRi9sd1Bx
Qy9Iejd3YUZlblRYOUMKZ3RhbktYOEpuNVRQUCtybnloQjJHcFIwZEZxdm5mcHYwWlViY2lkTWdB
a3dBU1lRU1NCb0NzaHRNUW5HbDVpVHlRaWlMU0VuZzk0TQpDUk5GT0E3YkZhdHMwMml2bVEvWjdV
dXJGeTloWXVvOWNhbmNpZEhLaksrVHdwcWFFdllaNitqUFcvYWRySFNHUmgxRUYydGRJWXVNClJP
TnRnZ2lIVVNnL2JTcGxwWi9GSkFLbVZ3T21yaWFNMTZtOGxpbTdNaDhMSnUzNWkxVjIybjFrKzd0
aTUwWWwzaFJKVmYyVllxWFUKbnpETjRJckpqVjR5dm1WUEFYRTZadXdnVldsa1ZoS3hpN1ZvMmxE
OWtHd2RhMzQ1V3VYVXIyV2l4bDFIYTZkZVg2MDRlL3ZjR1R1OApjL09hc1VpZXc3SGZya3dmMFVH
YS8yZzdtRmN1bnFNeFBlcUtuZFhaZHJzSVdUMnJoUXgvbU5rZDdQWjFTNm12Mk5rOHZHY1QzUkNS
CjByN2Z2NVVHdDYxRUc1YTdveGpBSkdsQWl6SWUvM1BoSzlWMTVGeXEyM2FnM1dFR3RSNCtBeXZu
VEhCMGoxTkg5Z2puZXMvdzZ1OVgKK0ZENVA4N1JqYmd4RTJBQ1RJQUpLQWtFVFFIQjNZN3MyU3dk
czYyK29KVWplbElJUDRveFBUNzBtTVFuU0p4VVpMVmVUNG1UcHZEVwpOUElhVEZIT25qd1VlVzQ4
K0VYNGJBUXEyTFZvM2U5ankrYVliTUVwL1pyTnJOYnBNK2VnaWw1TUcyQjJNTEpMTFdwU01oM05I
TjJWCnZsMDVodzRLWHdkTVNKQ0haRksvcG1LVk9EM05IdDlMN3ZyQXdiblh1Qy9vMWRmZnRCeWp2
eGRVdXlBbHF6WngxZm5jYWpMLzI2M3IKZmcwWHZCWitZbjgxRStHRTcrbDJXUkN1Tm12dUlyYnU2
Y2FZRzNVZUtlNVgySFMvSlROSDB0a1QxcDloWXdOTTFQZHVXUlZaRElmaApIbU1XMGdzS0g1N0lT
cm9ESzZYY3FselhOUEx3OW8ycmtjZjZneHRYTHVwUExZK3hlMk1WY25YMmhORGtuYkFjbk9MQzFV
cy9LVXBKCmhIRStyeXgzVWpodFdEdGw4L0JSblIzNzNhMWVNSVc2MVMzb1llS0V4WXVoTXpjUThp
RkZKY0gvd0tVelJ3VVVYaHp2RjVRMnZVS2MKcTFCcDZqVFVIU1V1S25IaXNUQUJKc0FFb2lxQlo5
d2NXTFk4NzVFeHpDZFc3MXVXejBScnZwam04US9mMjMyUnpEQ3NXU21DK1pFbQphVEprRWNySE9r
cWpTQnlsMVRHK2ZyZGpIV0VueGtvUU1lbjJEZlZxclZVYmZYbXBhazBKMForc0JDdVVqLzB3N0Ux
RU1BbkZhcmczCmdWOElWdjhtOW0xTVljMUxDNldrSmlGSkdGYTk5Yy9Tck9kNHlsMjRqTGV1L0w1
V3NHUTFTbVJRL3R4MlByZUsvSFg4NEE2L2Q5TVcKenhoTzI5WXV0dldjODBXMEgwMFFiaG01UWhC
KzJZNjRNV2I0YVBUOWFEbGx6bG5BNDViSUNUT2tmV1Zib1lWaGVqYTZXMjFoT3ZOUQo5b0V3MVdF
ZmYybmJZUmhCQzFRUjU5RFp4Yk1uUGNibDdXU1hJbU0yNnA4NnV0ZGJzOGhyM3NKWjR6Tis5L2JO
eUxwUCt3QzdzNmVPCmVKcUlhbVA2NlllajJxRXJyL2piMS8rTjZ6dkZUdEhsSno1WituSTd4MGdn
TzZ4ak5abzJyTDJIMlJYOGs4WXQyRVVJV2YyMEJmOW4Ka3IzaWFVSTRlMEp2NmxJckx4MDdzTjNX
OExBZ3RYNzVwOVN6UVJFUDg5c2laV3RSbjRuTFhGMUlzVFVncnNRRW1BQVQrQThUY0ZVQgpnWEl3
ZE5ZR0dqTi9CK1V1OU8va0Z4TWJ4Skt2VXpBcGplaGNnNzVlT0pWMmIvcUtmdnorWCtmeU04ZS9F
eXZXUTZoN3ZVTFV0VTcrCnlPUjJTQnpYWmNRY21yTHlLR1hJOHJhdHR3cG1YNWlranhVbUc5NEU5
Y0phbEphN0NJRkc3V29kTm9YU1o4NXBlUnM0YW5lb2xwT3cKdXVock53UVQzcjZUbG91a2gvWk1m
MVEzeFlwM2h5RXpnK0lvQ2xPTU1ycG9WNWlnNFAxeFM4NktNSnRXdmh1LzM3bEYyQTN3OTMwYQox
YlcyM0JYU3IzYnF4L3ZQMzMrTE1NVWphTXZxK2JJWWlnRENMU1Bzc2gxeGM4eFFmSVovdXBFS2xL
amljV3RNUEh2VUwwd0l0d0FyClF3QUFDUlpKUkVGVWNHQWxkOFFPVVZqelVvVHd6WkFYNDhTandU
UFdpci9EMGxaTlBNckJBUWsxWWZhb0V1d213Y1RQbHlCSzBZbUQKTzVYVnRxNVo2UEUzcjZ3a0Ny
MTlwc0FvZnFJa1ZrMURXZzVmcTQ4SHRyUlVDbGJPblJENWZyZ3hzUGppMmVHRFppWFlJZlpITGdp
bApjbHl2Qm5LQlNCKzBBRUUyeGkzY0pSZDhvb3BEOW52bGFsUDROejlTaDhIaGxGTGtnTkxrdFBq
ZWdFTFJ1RVJhbWpHaWt6VFJ3ODZ3CnRpdjFQL0c1M3IzcFM1bzZwSzMwSS9vb3JCbGRmN0lUaCsr
b1NVc1BVSSt4OW5jSXRmdnlLeE5nQWt5QUNUZ2o4SC9IamgxN2xEVnIKVmhvd1lBQU5IRGpRdjk0
R0RhSzc5LzVIV3h1bzI4R3NaZDJ5bWJRdjRtczZmL3FZN2UxeW1BK2x5ZkFtbGF2ZG1rcUwwS0Yy
OGt0ZwpGVy9PeE42RVZVZEVOdkVuRkM0ZUdxdkYrTEpOa3o2TERMWHJ6eGN2ekY0NmlVUi9VTFI4
U1dxaHBOVVNQaXplVEJyZ2VMeGc2aUJhCkpySnhZd1hjcmlDeFhadXdxWTRVR0YvM1FvWnVtSUZo
WEgyRUg4eTdKYXY2YW1KNUhhWTJCN2F0cFF0blQ0aUo2VDVDNUIxZmdzaFUKN3hRdUswekxzaElV
SUdNd2dFYkZYNDJjWU9qN1FpU3ZJbVZyRXhnbFRaRmFtRnZkRmZjOUtmMXE0QzhES1ZpcUdqWHNO
RUlrWHZ4MwpncVB2QThmQkdMUHhIdmpzcmw4NlV3WnlNSm92WXZ6dmk0aGtTS0NXTUVseVlTNXpT
Wm82WWpkUDg1ZklWN1FpTmU4MTBldEVYcnNuCkhKb1A3ZjZXZHF4Zlpvb0lwTlhSWHVIdkE1TzdW
ek5rbGF2aW1wS0dIUXVFYk4yL2RRMmROQVNNME5wcXIxRHc0QkFQQjMrOGZ5OGwKVDZsZDhuakZp
cngrVXF4ZGJONXJBbFd1MzFFN0RlbnJQdkY4Rjg0Y2w1OHY3QlJoNTh2WDN5Y1VCanhyanZ6RjVP
Y083eGtXVWdLTgpHamU4VTNYYXVXRzU2Ymx6RlN3bEZVN1RCVU1CRk15OUVhdWxRejlNOWZSK0t2
RGxxdDA2akdCZUdwVUZZNFo1NzRZVm44ci9HZGhwCnRpdklYWUpjT0xWYTlCVW1qNFY4Tm50NzVt
QktHZjkvUk9LN2pvVUpNQUVtd0FTY0VZQ2VNVWo4UHhXNkI4VnkxcFgzMWkrblNTOG0KZE1QbEQ3
NzRFRTRYazAzWXpNT21IMDYybTFmTms1MWcwcFN6UUVrNVFVU09EN3MyNjlvSUhqeTRMNzlNMDc2
UmpmQVRxQ0EwcjlWcQp1VldmV0xIdEx1enMxeTBOdDZyaVVlN0xNUjloaHNFTkUyYnNDQ0FydHBY
cEJSU250L0s4VDJWcnRYVFZHZHhqd0xvVFJCOHJYcW1CCjNLSEtWN1NTN29yL2g4aWJzbi9iR3Rr
UXE3ZFFBT3dJSnQzNFNaejBaWk1DRWpkK0ltb2hKdDg1Uk1adk9OUWUzUjlCcDhWT0c1UlMKS01Q
ZkxKNGVlUXRNaGxPa2VvMEtGUCtBcW9vd3ZGa001aytSRlhVSHdSaXpybnQ1Q0FXOFRNMFdWRVNz
K2lMczZOWTFpd2ozaGVDWgpWTGtMc1BPVjU3M3lNbWtrRkRTN2NuRG5lcnA4NFF3aHlBQitmQWs0
NGdlN0VKb0NBaityYzZjTzAwdmlzMkhuUFlTUHlENHhDVTcyCmNocExCYVRqa0ZseXRWK2JiT056
amh3OFR6TUVMTXhKcjErNUlCRWh3QU0rTjNaRjQ0YjZXR0FJVkFGcDIvOFQ4Yi9nS2lIQnFDWlEK
R0RvSVhsYUNmREtIaGJJRWhlbVljRnJYL3Y5QU9jcVVQUi9CL3dHNWlKQVVOVG9JeGcyRkRqOFFM
SXI4SU16NzRITWp2MXZFOXdvKwpqOWlKdy85U0pGSjkvYzNjbEVGd3dzSVMvcjVZbUFBVFlBSk00
T2tTQ09vT2lKMUhxNUQxOFpmQnlMa1JsRTNoaEd1bmo1aGVCMlpIClA0dWRuUnNpdS9WTjRWeU44
SmdKa3lTakpNbFNTb1VOazdOUUNxSkx3U25aVGxqWFVJN0wxNzNnRzNIMTBqbnBaSXZKYi9KVTZl
aloKWjUvMTFTeEtYTWR1emRGOVcyVGtJN0JINk4vRUw2V1FTdGdyd2lUbGJiRUNIa2RNaW1PYVlB
Y0lpeFhZK1lMQ3lFSnlkL2Q3c1ZzSQpwUlNMUE5uekZ2WEtwa1haakFSVFVPd1dZdWNRaWdZbTR6
bnpsNGd5NW14dXY2L3cvWUw1Slh6VzVrVmNEcmg3M2dFSkdCMDNaQUpNCmdBbVlDSVJzQjhSMFp5
NElpQUFteWVtejVMVHRUQnpRVGZ4b0JGK1Y2S1o4NFBGZ3lvY1ZVSC9NNi96QUV0U3E4Sy95SndC
RFVBY1QKd3M2aGFPT0g1VjhDV01GSHdqejgySkVoTTlkVHdzVEpDT1pITEV5QUNUQUJKc0FFb2dJ
QlhsS01DdThDajRFSk1BRW1FQ1FDUmorcApJTjJHdTJVQ1RJQUpNQUVtWUpzQUc4UGFSc1VWbVFB
VFlBSk1nQWt3QVNiQUJKZ0FFM0JLZ0JVUXB3UzVQUk5nQWt5QUNUQUJKc0FFCm1BQVRZQUsyQ1R4
MUV5d3RxazNTNUtsc0Q1b3JNZ0Vtd0FTWUFCT3dJb0NnQmZodWlSTXZnVlVWTG1jQ1RJQUpNSUdu
U09DcEt5QXQKZWs5OGlvL1B0MllDVElBSk1JR1lSZ0M1VnV3bXJvMXB6ODdQd3dTWUFCT0lEZ1RZ
QkNzNnZFczhSaWJBQkpnQUUyQUNUSUFKTUFFbQpFRU1Jc0FJU1E5NUlmZ3dtd0FTWUFCTmdBa3lB
Q1RBQkpoQWRDTEFDRWgzZUpSNGpFMkFDVElBSk1BRW13QVNZQUJPSUlRUllBWWtoCmJ5US9CaE5n
QWt5QUNUQUJKc0FFbUFBVGlBNEVXQUdKRHU4U2o1RUpNQUVtd0FTWUFCTmdBa3lBQ2NRUUFxeUF4
SkEza2grRENUQUIKSnNBRW1BQVRZQUpNZ0FsRUJ3S3NnRVNIZDRuSHlBU1lBQk5nQWt5QUNUQUJK
c0FFWWdnQlZrQml5QnZKajhFRW1BQVRZQUpNZ0FrdwpBU2JBQktJREFWWkFvc083eEdOa0FreUFD
VEFCSnNBRW1BQVRZQUl4aElEalRPanhSdzJtSWpFRUJqOEdFMkFDVElBSk1BR05RUHdKCmc0bjY5
OWRPK1pVSk1BRW13QVJjSXVCTUFSa3dRQTRqdmt1RDRXNllBQk5nQWt5QUNVUVpBZ01IRWozNW5v
c3lZK0tCTUFFbXdBUmkKQUFGbkNnZ0E4RC9uR1BBeDRFZGdBa3lBQ1RBQkpzQUVtQUFUWUFLaElj
QStJS0hoekhkaEFreUFDVEFCSnNBRW1BQVRZQUpNUUJCZwpCWVEvQmt5QUNUQUJKc0FFbUFBVFlB
Sk1nQW1FakFBcklDRkR6VGRpQWt5QUNUQUJKc0FFbUFBVFlBSk1nQlVRL2d3d0FTYkFCSmdBCkUy
QUNUSUFKTUFFbUVESUNySUNFRERYZmlBa3dBU2JBQkpnQUUyQUNUSUFKTUFGV1FQZ3p3QVNZQUJO
Z0FreUFDVEFCSnNBRW1FREkKQ0xBQ0VqTFVmQ01td0FTWUFCTmdBa3lBQ1RBQkpzQUVXQUhoendB
VFlBSk1nQWt3QVNiQUJKZ0FFMkFDSVNQQUNraklVUE9ObUFBVApZQUpNZ0Frd0FTYkFCSmdBRTJB
RmhEOERUSUFKTUFFbXdBU1lBQk5nQWt5QUNZU01BQ3NnSVVQTk4ySUNUSUFKTUFFbXdBU1lBQk5n
CkFrd2dsb1pneTVZdE5IRGdRTzJVWDVrQUUyQUNUSUFKTUFFbXdBU1lBQk5nQXE0UWdLNmhTYVFD
RWhFUlFmaGhZUUpNZ0Frd0FTYkEKQkpnQUUyQUNUSUFKQkl2QS85Mi9mLy9SbVRObmd0VS85OHNF
bUFBVFlBSk1nQWt3QVNiQUJKZ0FFNUFFTW1USVFQOFBZd3NLWlQwaQprdzRBQUFBQVNVVk9SSzVD
WUlJPQoKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvVzNDLVNWRy0xLjEvYW5p
bWF0ZS1lbGVtLTI0LXQtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZp
bGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKCmlW
Qk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFlQUFBQUZvQ0FZQUFBQ1BOeWdnQUFBRE8ybERRMUJKUTBN
Z1VISnZabWxzWlFBQWVBR0YKbEV0bzFGQVVoditNS1lLMGdxaTFGcFRnUW91MEpUN1FpbERiYWJY
V2tYRVkrOUFpeURSelp4cE5NekdaR1IrSVNFSGMrVnFLR3grSQppeXJpUXJwUWNLVUxrVUxyYTFF
RWNhVWlpRUkzVXNiL0p1MU1LbFl2SlBseXpuL1A2NFlBVlE5VGptTkZOR0RZenJ2SnJxaDI2UENB
CnRuZ0NWYWhCTmJoU2h1ZTBKeEw3ZmFaV1B1ZXY2YmRRcEdXeVNjYUs5UjJZK0xSdDlmMUxqMkx2
NjU3MitwNzUrbmx2TlM0VEFvcEcKNjRwc3dGc2xEd2E4Vi9MSnZKT241b2hrWXlpVkpqdmtScmNu
MlVHK1FWNmFEZkZnaU5QQ000Q3FObXB5aHVNeVRtUUZ1YVZvWkdYTQpVYkp1cDAyYlBDWHRhYzhZ
cG9iOVJuN0lXZERHbFk4QnJXdUFSUzhydGdFUEdMMExyRnBmc1RYVUFTdjdnYkV0RmR2UHBEOGZw
WGJjCnkyelo3SWRUcXFPczZVT3A5SE05c1BnYU1ITzFWUHAxcTFTYXVjMGNyT09aWlJUY29xOWxZ
Y29ySUtnMzJNMzR5VGxhaUlPZWZGVUwKY0pOejdGOEN4QzRBMXo4Q0d4NEF5eDhEaVJxZ1p3Y2k1
OWx1Y09YRktjNEY2TWc1cDEwek81VFhOdXY2ZHEyZFJ5dTBidHRvYnRSUwpscVg1TGs5emhTZmNv
a2czWTlncWNNNytXc1o3dGJCN0QvTEovaUxuaExkN2xwV1JkS3FUczBRejIvcVNGcDI3eVkza2V4
bHpUemU1CmdkZFV4dDNURzdDeTBjeDM5d1FjNmJPdE9NOUZhaUoxOW1EOEFKbnhGZFhKUitVOEpJ
OTR4WU15cG04L2x0cVhJTmZUbmp5ZWkwbE4KTGZlMm5SbnE0UmxKVnF3elF4M3hXWDd0RnBJeTd6
cHE3amlXLzgyenRzaHpISVlGQVJNMjd6WTBKTkdGS0pyZ3dFVU9HWHBNS2t4YQpwVi9RYXNMRDhi
OHFMU1RLdXl3cXV2Q1plejc3ZTA2Z3dOMHlmaCtpY1l3MGxpTm8ranY5bS81R3Y2bmYwYjllcVM4
MFZEd2o3bEhUCkdMLzhuWEZsWmxtTmpCdlVLT1BMbW9MNEJxdHRwOWRDbHRaaFhrRlBYbG5mRks0
dVkxK3BMM3MwbVVOY2pFK0h1aFNoVEUwWVpEeloKdGV5K1NMYjRKdng4YzlrV21oNjFMODQrcWF2
a2VxT09IWm1zZm5FMlhBMXIvN09yWU5LeXEvRGtqWkF1UEd1aHJsVTNxZDFxaTdvRAptcnBMYlZO
YjFVNis3VlQzbDNmMGNsWW1Uckp1bDlXbjJJT04wL1JXVHJveVd3VC9GbjR4L0M5MUNWdTRwcUhK
ZjJqQ3pXVk1TL2lPCjRQWWZkMGo1TC93TkFZVVZEWHhMT3pzQUFDQUFTVVJCVkhnQjdaMEhsQnpG
MVlXZmN0d2tCQ0lKSkJBaTU0d0l3Z1NiWUlMSndkZ1kKREJnVFJERFJDRW1ZbktQSllCTk5NdGtF
WTM3QUp1Y3NNaUluN2E0MktLeWsvdDh0dG9hYW51N3BucG1lMlFuM25iTTdIYXFxcTcvZQpuZHV2
NmxWVkwwL3Q1Sk5QRmhvSmtBQUprQUFKa0VCcENFeWVQRm42NHRlVUtWTmswcVJKcGJrcXIwSUNK
RUFDSkVBQ05Vd0F1Z3ZyCmkxOFRKMDRVZXNFZ1FTTUJFaUFCRWlDQjRoT1lQMysrOUM3K1pYZ0ZF
aUFCRWlBQkVpQUJQd0VLc0o4STkwbUFCRWlBQkVpZ0JBUW8Kd0NXQXpFdVFBQW1RQUFtUWdKOEFC
ZGhQaFBza1FBSWtRQUlrVUFJQ0ZPQVNRT1lsU0lBRVNJQUVTTUJQZ0FMc0o4SjlFaUFCRWlBQgpF
aWdCQVFwd0NTRHpFaVJBQWlSQUFpVGdKMEFCOWhQaFBnbVFBQW1RQUFtVWdBQUZ1QVNRZVFrU0lB
RVNJQUVTOEJPZ0FQdUpjSjhFClNJQUVTSUFFU2tDQUFsd0N5THdFQ1pBQUNaQUFDZmdKVUlEOVJM
aFBBaVJBQWlSQUFpVWdRQUV1QVdSZWdnUklnQVJJZ0FUOEJDakEKZmlMY0p3RVNJQUVTSUlFU0VL
QUFsd0F5TDBFQ0pFQUNKRUFDZmdJVVlEOFI3cE1BQ1pBQUNaQkFDUWhRZ0VzQW1aY2dBUklnQVJJ
ZwpBVDhCQ3JDZkNQZEpnQVJJZ0FSSW9BUUVLTUFsZ014TGtBQUprQUFKa0lDZkFBWFlUNFQ3SkVB
Q0pFQUNKRkFDQWhUZ0VrRG1KVWlBCkJFaUFCRWpBVDRBQzdDZkNmUklnQVJJZ0FSSW9BUUVLY0Fr
Zzh4SWtRQUlrUUFJazRDZEFBZllUNFQ0SmtBQUprQUFKbElBQUJiZ0UKa0hrSkVpQUJFaUFCRXZB
VG9BRDdpWENmQkVpQUJFaUFCRXBBZ0FKY0FzaThCQW1RQUFtUUFBbjRDVkNBL1VTNFR3SWtRQUlr
UUFJbApJRUFCTGdGa1hvSUVTSUFFU0lBRS9BUW93SDRpM0NjQkVpQUJFaUNCRWhDZ0FKY0FNaTlC
QWlSQUFpUkFBbjRDRkdBL0VlNlRBQW1RCkFBbVFRQWtJVUlCTEFKbVhJQUVTSUFFU0lBRS9BUXF3
bndqM1NZQUVTSUFFU0tBRUJDakFKWURNUzVBQUNaQUFDWkNBbndBRjJFK0UKK3lSQUFpUkFBaVJR
QWdJVTRCSkFUdklTM3R5NVNSYkhza2lBQkVpQUJIcUlBQVc0aDhEbmVsbHYvbnhwdWYxMm1UMSt2
TXo4OE1OYwpzek05Q1pBQUNaQkFtUkdnQUpmWkF3bXJUc3VrU2RKNDNIRXk4S3V2WlBiWlo0Y2w0
M0VTSUFFU0lJRUtJVUFCcnBBSE5lRFh2NWI1CmZmdWEyalk4K3FpMHYvSktoZFNjMVNRQkVpQUJF
Z2dpUUFFT29sS0d4d1l2czR5MDdMZWZxVmt2L1QzL3pEUExzSmFzRWdtUUFBbVEKUUZ3Q0ZPQzRw
SG80M2N5UFA1YUd3dzZUbVNOSG1wclV2L0NDekhqODhSNnVGUzlQQWlSQUFpU1FMd0VLY0w3a1Nw
U3Y0ODAzcFczMwozYVhmOXR2THZMWTI2ZEsrWUd0OXRDOFl3VmswRWlBQkVpQ0J5aU5BQVM3VFp6
Ym4rKytsK2ZqalpmQ09PMHFkZXJ0OU96cWs0NXh6CnBINzhlR241eFM5TXJZZE1uU3F0ZDk5ZHBu
ZkFhcEVBQ1pBQUNXUWpRQUhPUnFjSHpzM3Y2cExtcTY2U1hwdHRKazIzM1NhOXVqM2MKMXAvOVRB
WWVkSkNwMGFDSkU2VnI2RkN6UGVEQ0MyWCtuRGs5VUZOZWtnUklnQVJJb0JBQ0ZPQkM2Q1djZDk3
TW1kTDVxMTlKMHhsbgpTTC8yZGxONjU1Z3hNdVA2NjZWQlJYblE2TkhtMklBUkk2VDlpQ1BNdGpk
d29NejU5dHVFYThMaVNJQUVTSUFFaWszZ3gzRXR4YjRLCnk4OUtvUE9ERDZUcjFGTmwvcEpMaXFl
ZXI3ejl0a2svZS9od0dYanZ2U0tlSnpQKzcvOU04N010cUZHSEpiVTBORWpETDM4cFhhMnQKMHFs
NUJxK3dnajNOVHhJZ0FSSWdnVEluUUFIdTRRYzA2NHN2Wk9BMjI4aGduV0t5cTY1T1BJMXNublhI
SFdiQ2pRSG9COWJtNWtIUApQQ05Edi81YU91KzdUd1l2dTZ5cGNhOCtmYVIrMjIybFdiM2p1a3N1
RVZsZ0Fabi8wRVBTdTErL0hyNGpYcDRFU0lBRVNDQU9BVFpCCng2R1VjQnB2M2p5Wjlja25wdFNC
aXkwbUhTdXVhTGI3YVpSemg0cm9MSjN4eWxvVHhGaEZ1cmZtbVFPaDdUWkVQNk9jd1NyQXlEZFkK
eTJ2VmJSb0prQUFKa0VCbEVLQUFsL2c1dGFrMzI2bk54cjEzMmtsbTY3U1NzSG0vL2EzNXhLOStO
OThzamVyWnRxMjFWdW9ZWnNCcQoxa2s0aHA1K3VqbldjdGRkTWt1YnFydCsrRUZtSFhPTU9kYTIr
dXJTZjczMVVubTRRUUlrUUFJa1VONEVLTUFsZWo2elB2OWMydDk2ClMvcWNkSkpnK0ZEL2xoYVpN
MkdDOFdMcnQ5cEtabXRnRld5bzl1VzJ2L3l5OU5aMFh1K2ZIcytBWFhlVldlKy9MMjBhcE5YNHB6
L0oKb0duVFpOWnBwMG5qZHR2SmpHdXVrVHIxbEllc3ZIS0o3b2FYSVFFU0lBRVNLSlRBVDkvd2ha
YkUvSUVFRU5rOFhTZk02TGZsbHVKcApmNjVjZXFuTUhUVElwSzE3OFVWcFB2OTgwMi9ic2VlZXFm
eGROOTRvUTFaYVNWcFViR0c5dFgrNGp3WmREZGw1WjZsNzdUVnpiSjVHClA4L1hDR2tZeGdiVFNJ
QUVTSUFFS29zQUJiakl6d3ZyOXc3VlpRVDd6SjR0ZGErK0tuUGc0ZjdsTDZtck5sMSt1Y3g0Nmlt
cFV3R0cKcU1McXRSKzRxN2xaaHFpbm14cnZxME9OTUFjMERCTnhkRDN5aUF6ckhvcjA0MUgrSmdF
U0lBRVNxQ1FDRk9BaVA2MitHdG5jNFFqbApRSjNOcXU3blA1Zm1ibyszbHc0eEduRDAwYVlwZW9i
Mi9jSWcxbTMvK0lmMDEyRkk3WC84WTZxRzdUck1xTzJXVzZSUnZXZ0ViOUZJCmdBUklnQVFxbHdB
Rk9NRm5GellqVmVOdXV3bkVFelpRaHhPMVhuYVpOUHo1ejlLdXpjd3dERGVhcFNMZFg1dVpyUTI2
OVZZenozT0QKQm1naElLdFp2ZVloOTl3amRldXNZNVB3a3dSSWdBUklvSUlKVUlBVGVIanoxV09k
cmtPRXVqYlpST1o4OTExR2liMDBtTXJUb0NwcgpEZGRlSzVqcnVhOEtjWmRPcGdHcjEram92dnZ2
YjVQSW9NOCtrN1lubjVUZS9mdExuWHJEVFh2c0lTaUhSZ0lrUUFJa1VCMEUrSTJlCndITnMxZUNx
WVJwTU5VRDdhVHZPT2l1d1JIaXVkaEdGUHJObW1RaG1OQ1BQMUNacHI5ZVB2YnNESFBGdUhUOWUr
bmRQUFJsWUlBK1MKQUFtUUFBbFVOQUVLY0o2UHIvUGRkNlVGMDBTcURUendRTUZZWFZqalAvOHA3
YSsvYnJiOXZ3YWVjRUlxMEtwUkE2M2FubnRPNm5XUgpoZWJ1UlJhUXZuT3BwV1NHZXNnTk9yUm9v
RTVOU1NNQkVpQUJFcWhPQWhUZ0hKOXIxL1RwMG56aWlUSklKOU9vMXlobGpOa2RwS0xaCnV2ZmVw
aVFFVlhsVHBnU1dDbyszVlNmVXNOYjdsRk5NOEZXVDl2KzJJREFMNWY3clgxS3ZUZGswRWlBQkVp
Q0I2aVpBQVk3NWZNMHkKZ2VxVkNwWUoxQUFwTEJPSThibDlEenZNREJtcU8veHdtVE5zbUNtdDdw
VlhwRVVEcHZ3MlY2ZU1ITExYWGpKcjRZWE5xU0h2dkNNdAoycitMZVowYnRUKzQ2WGUvazE3ZG5y
US9ML2RKZ0FSSWdBU3Fpd0FGT09iemJKMDhXWnAwNXFsK00yYVlISGFXcW9FNm5XVG5VVWRKCkgx
MmZOMjI0a2ZZRll4SU9HT1pzYnRZcEp1ZHJjM09uQm12TlVzOFpOa09uanV5LzVwcG1tNzlJZ0FS
SWdBUnFpd0FGT09iejdxT1QKWDFqckdEdFdadi83MzlLMnhocm1VTU1UVDBqTEZWY0loaHQxTExl
Y09XYUdHLzMxcjZhZnQzUDc3YVZKbzZEN2EvTjFBOGIzTHIrOAp6UGpiMzZUK3BwdGtTUGZxUnJa
c2ZwSUFDWkFBQ2RRR0FRcHd6T2RjditHRzBybjAwaVoxLzIrK2tYNExMaWo5TlBKNXJucStzQWJk
CmJuL3BKWm52RERkcTFGbXVNTU1WbXBwaGN3Y1BsaFp0cWg0NGFwU2dQQm9Ka0FBSmtFRHRFcUFB
Tzg4ZVMvek4rdkpMNTBqNjVtenQKdjRYMWEyMlZWbTFTN3ExVFI4N3M5bml4WEdCL0ZkY0J5eXlU
R202RVl6QlBmNXJWQzU3MzJHTXlUR2UyNmoxZ2dEbk9YeVJBQWlSQQpBclZMZ0FMYy9ld3hKS2hU
VnhhYXY4OCtnb0NySUt2WHhSQ3N4enRVdmR0ZUdwQ0ZCUldzWVJ6d1RJMW9IcWpyK2M3ckZ0bTJW
VmVWCmpqdnZsS2J6enBNQkN5MWtrL0tUQkVpQUJFaWd4Z244T0hpMUJpQWdBaG56TXZ0dGxpNTJi
NWIxMDNHNTFwcDFMRytUTHYvbnR6NUQKaHNqMEhYYVFZYnBhVVg5ZExNRWFGbEdBTUdOS3lZYi8v
VSttYS81ZUdwalZxNmxKR3J0WE5MSnArVWtDSkVBQ0pFQUNJRkQxSHJCWgpEbEM5VDIvampXVnVk
d1F6YnR3ZXh6S0JtQlFEaG1GRXpUcUd0M0dubmN4KzBLOUJ2L21OYVZLMjUxcTIzbHE2SG4xVXVu
UVkwWHdkClRtUThYMjE2YnRMeHZoUmZTNG1mSkVBQ0pFQUNmZ0pWTDhCenRFKzM3dTkvTjhPSDJ1
Njd6OXgvMi9QUFM5Zm1tOHN3WFZVSTAwSmkKRnF2cEtxeTl0WSsyU2Z0NVoydVFWYk5HS3djWkp0
MllNVzVjNmxRZm5hTjU0S0tMeWxBZFRqUkRwNVhrTW9FcE5Od2dBUklnQVJMSQpRcURxQlhpUVJp
N1B2T2dpNDUzMnZmdHVnNktmemtqVnI2VWxoYVgxMUZObG1NN24zRXNYUHBpdTBjejl0dGhDR25X
MW9rNWR1emZRCnRKL1kydndycjdTYjBxaDl5QU1YWHp5MXp3MFNJQUVTSUFFU0NDTlE5UUtNRzYv
WDV1ZFduZVp4cUU0Yk9ldnp6ODFhdXU2VWtQMnYKdjk3TTYyeThZcDBvQTE0eFpycWFGektsSk9a
dm5qbHlwTXpSUHQ3NTJvUk5Jd0VTSUFFU0lJRmNDVlIxRUJhV0NXelJoUTE2YVpOeQowNlJKMHFh
VFhnelY1bUpZd3gvK0lMTTBPaGtUWnBoeHVocTliQTFOMHBobXN1NkZGNlQxL3Z1bFlkdHQ3U256
aVdVQjU1NTl0dlRUCjhwcnE2OVBPY1ljRVNJQUVTSUFFNGhDb2VBODRiTWhRNjhNUHkyeGQ0R0NZ
OXNzMmF0UnkrMnV2U1oxTy9XalgxTzB6YUZCcVNrZ0wKcWxNbnlHaTk2aXJqTGR0akE4NDhVK2Fy
Uit5M3VyWFhscjRVWHo4VzdwTUFDWkFBQ2NRa1VMRUMzRGwxcXN6UUZZalFmK3VhUGQ1dwo4TUZt
VVh0elRsY282bnI2YVRlWjJXN1VJVVZ0cTY4dVhUcUVxUG5ZWTJXZ3JrVFVvTTNMZzdWWmVhNEtO
R3lnQm5HMU9QMjg1aUIvCmtRQUprQUFKa0VDQkJDcXVDYnBMeDkrMmE2QlVnNjVJaEptbTVtc3pj
YWRHTHZjYlBqenR1T1hTT1dhTXpELzlkR25xbnJmWkhyZWYKZmJVcDJkUHh3VTJhZi82Y09USmQ1
Mit1MTUrKzNRc3BkT2s1ak9lbGtRQUprQUFKa0VDU0JDcEtnTnQxMXFrQkJ4d2dUVG9WcERVRQpT
ODErNWhtWnBSTnRETlBGRGZ6V1MwVjE4RW9yK1ErbjlnZU5IbTIyMFdUZFg0VjYyR2VmbVgyc2R0
U2lNMThOT2Zwb2FWcGdnVlI2CmJwQUFDWkFBQ1pCQUVnUXFxZ2w2b002N1BMOWZ2N1Q3bmoxaWhO
VHJyRlVOT3ZIRnJFVVdrWGtZU25UZ2dkTFpMYXlEcGswemdWaHAKbVh3NzhLcUg2QktCZzdyRmQ0
YjI3ODdVOVh5YlZKRDdVM3g5dExoTEFpUkFBaVNRQklHS0V1QysybGVMdFhkbjZUamVyb1lHYy85
WQpqN2RWNTJYdW85TkJkbW5UZEpkNnNzT09PVWJtNnJBamEyaFNudlBkZDNZMzQ3T2ZOakczSVNw
YXkyM1JNY1AxMnJ3OWVJVVZNdEx4CkFBbVFBQW1RQUFra1JhQ2lCQmczM2FqTnd2MGZlVVRhSjB4
SU1XalF5T1haS3NTSVRCNjR4QkxtZVAybW0wcXJqditGOVcxdmx3N3QKNjgxbThLQlJidU0yMjJS
THhuTWtRQUlrUUFJa2tBaUJpaE5nRENQQ01vQ051czV1aHk3OUI4UEVHWjFubkpFQnBML09ab1V4
dmJERwp1KzZTampmZXlFaGpEL1RXcG11VVN5TUJFaUFCRWlDQlVoQ29PQUcyVUhxcHNNNVRnYlhX
cUJObXRMLzBrdDAxbjVpR3NxVjdEZDllCk9oUnBmc2pNVm1tWnVFTUNKRUFDSkVBQ0pTQlFzUUlN
TnZVYmJpaXR1cWdDckJkK3FjQjZHaFh0V3IwMlZXUEtTRmlkVGtXSm1hMW8KSkVBQ0pFQUNKTkRU
QkNwYWdBRnZ3UEhIbThobmJBOTk4MDFwMGFGSXpScEVaUTJ6VlhYb05KTTJPbnFvOWczVFNJQUVT
SUFFU0tDbgpDVlRVT09BZ1dBTjEra2dzSlRoTUE3RmdtUE1aMWpKa2lEVCs4cGRtdTNIMzNXWDIr
UEV5VEtPY2FTUkFBaVJBQWlSUURnUXEzZ01HCnhINEJYdTFBbmNONVh2Y2N6cjM2OURFcklKVURj
TmFCQkVpQUJFaUFCRUNnS2dUWTAvRy9yczFwYkpTWk9tTldiOStrSFc0YWJwTUEKQ1pBQUNaQkFU
eEtvQ2dIdW85SFFYcTllWnNoUjg2OS9MYjBmZjF5YTl0bEg0UG5TU0lBRVNJQUVTS0FjQ1ZSOEh6
Q2dEdEc1bnB0VgpoQWVNR3lkTjNXT0R5eEUyNjBRQ0pFQUNKRUFDbGtCVkNEQnVwdW0zdjdYM3hF
OFNJQUVTSUFFU0tIc0NWZEVFWGZhVVdVRVNJQUVTCklBRVM4QkdnQVB1QWNKY0VTSUFFU0lBRVNr
R0FBbHdLeXJ3R0NaQUFDWkFBQ2ZnSVVJQjlRTGhMQWlSQUFpUkFBcVVnUUFFdUJXVmUKZ3dSSWdB
UklnQVI4QktvbUN0cDNYd1h2ZnZEQkIvTE5OOS9FS21mWXNHR3kvUExMeDBwYnpFUS8vUENEM0hm
ZmZmTDg4OC9MU2pvMAphejlkNDNqQWdBSEZ2R1RCWlgvNzdiZnluLy84UjBhUEhpMXI2M3JPdlhX
NXlYSTIxUFc1NTU2VG9VT0h5amE2ZHZSU1N5MVZ6dFZsCjNVaUFCTXFZQUFVNDVPRk0wWldWYnJ6
eFJ0bGdndzNNbCt5Z1FZUGsybXV2bGJsejV4cGh3K2RubjMwbVR6enhoR3k1NVpieTRJTVAKaHBS
VW1zT3paOCtXblhiYVNjN1VLVGhIamh3cFAvLzV6Mlg2OU9ueVoyZkp4dExVSk41VlBGMGU4amM2
aHpmcWVMd3VxQUdPMlAvWAp2LzVseERoZUthVk50ZXV1dThyVFR6OHRUYnE2MXB1NjhNY3h4eHdq
OTk1N3IyeXh4UmFsclFpdlJnSWtVQlVFS01BaGozSG16Smx5CnpUWFh5TDc3N3B0S0FVR0c4RjU2
NmFVcHovTHV1KytXaXk2NktKVW15WTEzMzMxWEZsbGtFV2xvYUlnczlyenp6ak5wMWwxM1hmUDUK
eUNPUHlOSzZIbks1R2w1dzdybm5Idm5paXkrTU56bE9KMUhCOXJiYmJpdlBQUE9NMU9zcVZvVllM
dXppWEFmUEdTODROOTk4cy9UVgp0YWdmZmZSUjgrSjF3Z2tuVUlEakFHUWFFaUNCREFMbDNkNlhV
ZDNTSFJnNGNLRHNvOU5aUnRrT08rd2dDeTIwVUZTeW5NOTNkbmJLCkxydnNJak5teklpVjk4VVhY
eFRVMmRyUGZ2WXpXWExKSmUxdVdYMSs5ZFZYdW5UekZQbXRUcDZDcGx4cmh4MTJtTHo5OXR0eTVa
VlgKMmtONWZlYktMdW9pODNXTmFUVGw3N2JiYmtaOGtSNWU3L3JycnkvejVzMkx5czd6SkVBQ0pC
QklnQUljaUVVRUhtV2ZtSE5KWDN6eAp4Um1sd0p1RHQ1eVBvVGtaWC9abzVrUlRMWDZ5R2M1RHVH
QkI2V2ZwcWxENGdVSDhnc3I3L3Z2dnBiVzExYVFKK29VOHFCY00yMEZwClcxcGFCR0lWWlhmY2NZ
ZEp0OUZHRzZVbGhjZSs0SUlMbXFiL3RCTzY4K21ubjVxNjQzaTJhOFJsRjNXLzd2WFJMNzNWVmx1
NWg4dzIKUlBsM3YvdGR4bkVjaUZ2ZndNdzhTQUlrVUJNRUtNQWhqeGxDRU5kc1dnalQ2YWVmTHZ2
dnY3OGNlZVNSZ3VDc0UwODhNZVVsUVZEUgpqNGd2Ym5pbjhGclJWRHAyN0ZqWmZQUE41YW1ubmpL
WHZPNjY2K1NOTjk0dzJ5aHJ1KzIyQ3hROEpFQy85RjU3N1NVZmYveXh2UHJxCnEyWWIrNTkvL3Jr
SnhqcjAwRU5sTVYwSCtaVlhYcEh0dDk5ZUZsMTBVVG5paUNOTTJmaDEwMDAzQ2J4bHZIQ2d1WDNa
WlpjMS9abzIKQVlMUkprNmNhUHJCSDM3NFlUbjc3TE5saVNXV2tBVVdXTUEweVVLSUgzcm9JVk4v
Y01CeE5IOW5zMmVmZmRhY1J1Q1YzM0RzdGRkZQpFM2l4TURBNzhNQURUZUFUbW4vQkRmMndZUmJG
THVwK3c4cjFILy9uUC84cHE2eXlpdnpoRDM5SU81VnJmZE15YzRjRVNLQzJDRXlhCk5NblRMMWpW
RGxvVWdjR0RCOE1WOWRTYkRFeXFvdXRkY3NrbHFYUHFHWnYwS3NxcFk4aTcybXFyZWYzNzkvZlVT
L0krK2VRVGI4TU4KTi9UVWMwdWx3Y1pCQngxazhuNzk5ZGRweDhOMmhnOGY3cW1RcHAxV3I5aVVq
VHFyOEh2YWIrbXBvSHZhbDIzU25YLysrZDZJRVNNOAo5VnhUK2JSUDAxejMrdXV2TjhkVXlMM0RE
ei9jSE5PQU5FK0RwVHh0ZHZWVXlNeXg4ZVBIZStlY2M0Nm5RdXhwUkxPblVjSGVxRkdqClV1VUZi
YUNlcU5QVXFWTXpUbSs2NmFibTNIdnZ2V2ZPN2JISEh1WmFOaUd1OWRoamo5bmR3TTh3ZG5IdU43
QkE1NkMrR0huNkltUHEKdU1ZYWEzZ3Z2ZlNTYzliejhxbHZXZ0hjSVFFU3FIb0NWbmZwQVNmMHZx
V0NJVmRjY1lXb0lNbEhIMzFrZmxaZGRWVlQrdFZYWDUyNgpDcnhmRlRmVGpEdGh3Z1E1NUpCREJP
ZFZrRk5wM0kxZXVzeGl2b2FoVVlpR2hzSDdoWmQ5MVZWWEdTOVpoZDFFU0NQeTJBM3lPdTY0CjQw
elRPeno0OXZaMjR6M2I1bGNNYTlwNDQ0M05VQ0VWR2hreVpJajAweldYanpycUtCTTBCUThZMTlD
WGlwUUhHMVIzMjYvdDlsbmIKZE9BRFF4QWNETjd5N2JmZm5tciszbnZ2dlUzTGdqa1o4Y3RsRi9k
K0k0b1V0QWlzczg0Nm9pOU44dkxMTDV1K1lEVHJXeXVrdnJZTQpmcElBQ2RRR0FRcHdRczhaemJN
UTBUdnZ2TlAwWVNKaStuRmRsM2p5NU1scGtkUzRISVFaMGJOb3hseGhoUlZNczI5WU5Wd1JDVXVU
CjdiZ1YxekZqeHFRbCs5Ly8vaWNkSFIwWmtkSjFkWFdtZmhnZTlQcnJyNXM4ZG15dS9jUkIxQXZE
Y2R4ak9LNGVOVDZNZUp1TmdGOW8KQm9mWlBtVTNDWnFlVWVZeTNjdEs3cm5ubm9JSVpJd1JSdVF4
eXRjV0JEZEw2TGJMTHBmN0RTMVFUeURvRHM4T3c2YlFOQTVPZUtHeQpWa2g5YlJuOEpBRVNxQTBD
Rk9DRW52T0hIMzVvdkQ3MCthTFAxUDNCTWIvQm00UkFRS2dSdkZScVE1QVF6SHFqN3ZWdGNCUTgy
V3dHCjd6Zk10QTBwN0pUcFE4Ykp0cmEyakRRNE5tclVLTUc0YXhpaXBmR0RJRE9NdC83akgvOG9Y
VjFkR2ZtaURpUnh2KzQxOEpLQThjc3cKOUw5YlM2cSt0angra2dBSlZDOEJDbkJDejFiN1lJMUho
d0FpdnlGcXQ3bTVPZTB3bXAvUE91c3MrZkxMTDlPQ290SVM2WTdyeGZuUApGYkp2QTZDZWZQTEpq
R0xnQmNOc21vd0VCUjVBRXk0TUx5MStRL0RZaWl1dW1EcU1TUEtUVGpySkJHRWgzMldYWFNiSEhu
dHM2bnkyCkRaZWR2WmNrN3hjQllSaUNsbFI5czkwTHo1RUFDVlFmQVFwd0RzL1VEbjhKOHU0d0po
UUd6OWQvSHJOVHpaa3pKM1VsOVBraWd2Ym8KbzQ4MnpkTm93a1Frc1d1MmFkZk41NTR2ZEJ2MTFh
QXkrZTkvLzVzeHJBY1RZVUJZYkI5MjJMWDg5eG1Xem44Y1E2elFESTFtZTlmZwpwWDczM1hjbVV0
d2UxMkFGczdubW1tc0t4QlBlT1lZeFpiTWdka25jci8rYWI3MzFsaG5ldGVPT082Wk81VlBmVkda
dWtBQUoxQlFCCkNuRE14NDJBSkR1V0ZuTXUrMjJ6elRZekV6TTg4TUFEWmpZblRFMkptWjRRTklT
cElXM2ZLTHcrQkVMWjVrdU42alZCVUFjY2NJQmcKYktvMURQV0IzWC8vL2FZLzlZVVhYckNuTWo0
eEZBaDlrYmFaMVUxZ203Y3hMdG0xaFJkZVdDQVc4TXh2dmZYVzFDa0VQMkV1YVhqbgpFR2dZeW9h
aHo5ZzFYQmZCVGE3aEdNeWYxazJEdnZMVFRqdk5OTDlqT2s5cm1JQURYdTd1dSs5dUQ1bTYyV1p5
QkdpaC8zZTU1WlpMCm5RL2FDR0tYeS8zNnkwU1RONFliUWZqdEN4RmVQakFqR3Vwc3I0ZDhZSmxy
ZmYzWDR6NEprRUNORU5BdllRNUQwbS9UYlBiM3YvL2QKMjNycnJjM1FFLzJ6TU1OOTlNczNJNHQ2
YjU1R1FhZlNZZGpTdWVlZW0wcW5FL2w3R2x6azZaU0dub3FhT2E2QzdPbkNDU2FQaW8rbgo0bWVP
WTRpT1RzZG9qbXRnajZmQlNhbHkzQTMxVnMzUUY5UUxQNmVjY29xblkzNU5rc3N2djl6VHBsZHpI
RU9mMVBOMnM1cHRESlhTCnNic2UvZzQwMnRqVE1jZWVldVNwZEJxODVLMjMzbnFtREEyRThuU01y
NmRSdjU3MnhacGo2bTJhdngvdHUvWCs5cmUvZVlzdnZyZzUKcnJONGVlb2hwc29KMmdCWDNQUEpK
NTlzaGwzdHZQUE9uaTZBa1pZVXc1cDBta3BQcHdYMWNEOEhIM3l3cDMydWFXbjhPOW5ZUmQydgp2
eXpzcXdCNytvTGw2Y1FzaGhYcWdPRmFRZmVYVDMyRHJzbGpKRUFDMVV2QTZtNHZiS0JwRmRHNnRH
UUl3Sk9GWjRnSk5zS0dGOFc1CkVqeHVlTER3M29wcGlFYkd4QjlvdWwxNTVaWE4wS0ppWHM5Zk5q
eDNSRlFIemY4TTd4UDFtalp0bWhrU0ZaZG5ObmI1M2krOGVwU0wKeVViQ0xOLzZocFhINHlSQUF0
VkhBSG9MM2VWaURFVjR0Z2pJd2sraGhuR3l4UlpmMUJGTnUydXR0VmFoMWMwN1A0S1p3c3hHV3Rz
ZwpxckIwL3VQWjJPVjd2eGozako5c2xtOTlzNVhKY3lSQUF0VkpnSDNBMWZsY2VWY2tRQUlrUUFK
bFRvQUNYT1lQaU5XclBBS3p0V21wCkxjK0ZPQ3J2YmxsakVpQ0JmQW13Q1RwZmNzeEhBdDBFNW1w
RWRJc0s3Zy9hWHoxZGZ6cFVnSnY2OXBVMXU4ZFRFeFFKa0FBSkJCR2cKQUFkUjRURVNpRW1nUTlj
RGZsYlhiRWJvdDJ1dEtzanpWWmg3NjJ4bk5CSWdBUklJSXNBbTZDQXFQRVlDTVFrTTFnanRmZ0Vp
aTFXUgoyMVNjYVNSQUFpUVFSb0FDSEVhR3gwa2dCZ0ZNZDdsZ3lKellhSmFta1FBSmtFQVlBUXB3
R0JrZUo0R1lCQllNV1VxU0Fod1RJSk9SClFJMFNvQURYNklQbmJTZEhBQUZYUWY5SUZPRGtHTE1r
RXFoR0FrSGZHOVY0bjd3bkVpZ2FnVDdhREQwc29CbTZTNE93RUtSRkl3RVMKSUlFZ0FoVGdJQ284
UmdJUkJPYXB1THBqZmRrUEhBR01wMG1BQkRJSWNCaFNCaEllSUlGTUFqb3R2SWxxTm1OOU5iZ0t6
Y3Q5MWZQZAp1S0hCck5rOFBNQURSaWxJdDVoTzlVa2pBUklnQVQ4QkNyQ2ZDUGRKb0p0QXB6WWZU
MWNCeGVRYStNU0VHNjZoaVJsRGplcTFEM2lBCkRrZXE3OU5IWnZpYW5Oa1A3QkxqTmdtUWdFdUFB
dXpTNEhaTkUralNHYXlzNFA2Z2dqdEw5Nk1NNlNIQU1IakJmZ0dlcVdWZ2Frb0kKTkkwRVNJQUVY
QUlVWUpjR3QydU9BSnFXUDlRbEJ0RzBuTS9FR2ZDT1IrbXFWVEQwQTMra1pma05zMkl0RkRKVXla
K1creVJBQXJWRApnQUpjTzgrNjV1OFVZdHZlM2F3TXdSMnFUY1pqQncrVzczVWJ4L014TkVPalhF
eklVWWVtYVAyY3JmdXVvUm1hQXV3UzRUWUprQUFJClVJRDVkMUQxQk9ab0UvRFV6azdUdkF6QnRH
Wm5hUjZtd2hsWGdQdDNEemxDSGd3OUd1aHJXc2FrSEovUG5tMHZZVDdaRDV5R2d6c2sKUUFMZEJD
akEvRk9vS2dMV0czVnZDZ3NpZktOZXJ0L1FQd3VEa0U3emlhWk5pNTViVExTQk5Bdm9EN3ptYkla
K1lMOEFvMmtidzVZdwpYcGhHQWlSQUFwWUFCZGlTNEdkRkVzQ0tRK2hqdGNGVGlGUmVYNGNHdVli
aFFsZ3d3ZlYrY1I1QlZoQnNDQ3lrOFNmZitNZmNkcGhSCkxpc2F3VE9HUkxzTjJpZ1hkUXlhck9Q
SEsvRTNDWkJBTFJLZ0FOZmlVNi93ZTRiSVF1UmU3K2d3UTRSY3NjT3ROYXUzMjZTZXFHdEQKMUhQ
MU53WEQvNTJqWlNGQ3VWR0ZzMWxGMGpWY3AxTkZPc3JyZGZOQXJDRzAzL2s4Ymx5YkF1eVM0allK
a0FBRm1IOERaVThBdzNqcwpXRndFVDhGalhYbm9VT08xK3NVWE4vUEZuRGtaQW94bEExc0M3aFRO
MEJCZ2VLNStBVVp5WEE5NXJaZU4vWkU2c2NZaVdTYlhRRFIwCmtBQUhYSjZIU0lBRWFwZ0FCYmlH
SDM2NTN6cWFoNTl2YThzWUhvVG1acHlERUg3cjh6UnhUOStxQUhjTkdpVDlWRGl0RFE3cHU1MnAK
L2JQd2Z1R2RZamlTM3o3Ull4L05uSm5XcEl3eHd0a0UySjBWQzU0NnlnOWJNY2wvUGU2VEFBblVE
Z0VLY08wODY0cTdVd3p0UVQrcwozOUNYaTZobE5ET2plZGdmd1l5bTVhOVVoSmZvSHArTC9QQmln
OHdHWW1FV0sxd3JhTFlyZno1NDQ5bXN2MTVyT1IzZU5FUS9HMVI4CmMrbER6bFl1ejVFQUNWUVhn
ZUJ2cGVxNlI5NU5CUk5BNUhHUXdRdUdMUjdTRlB5bENyQnJvUjZ3TmtIRElQWm9obzVqNkRmMmk3
NC8KSCtxRkZ3U0tyNThNOTBtQUJDd0JDckFsd2MraUVzQlkzSzlWRktjRk5QTm11M0NZS0tJdkZy
YUlqcnNOOHBJaGtPaTN0UmJsQVNOZApMa0ZTVVY2d3ZTNmF5ckZxMHFkNjN5OXJjM3JjZkRZL1Aw
bUFCS3FYUUx4WC91cTlmOTVaRVFrZ0dobXpUS0hQMUhxTTZCT0ZkeGpYCk02elRwdUdnSVVTSW1R
SDNTUUFBSUFCSlJFRlVLc1lRSkl5dGhRaC9GakNPOXdzOWhpWmdHSzZIU1RQODh6dWpEOWhhbU5q
Yjg4aVAKTlBES285TGlmai9Xdm1ONDZ1N3dwenJsa1l2UTIydnprd1JJb1BvSTBBT3V2bWZhSTNj
RVQ4OXZtTnppVS8yeDRvdnprRHZYTS9Ybgo4ZStqYVJoUnozNUR3N0VkVmhUV0RBMlAyKzNURGZL
Q01XMGtoQnlHWm1yL3pGYm1oUDVhcDY1T050VHh4U3NNR1NJalZQRGRBQytiCkJ1VllEdGpHNUIr
dStDSWRYa1pvSkVBQ0pBQUNGR0QrSGVSTkFONGp2TXpYMjl2bHlkWldNLzdXTFN5cS85Wk5tMjA3
cWh5TThRMFQKYVlpd05hUUxNaHVJaFhOaG5xM2ZjN2JsZENpRHo3UjUrVFZsOEVSTFMybzFKT3U1
MjNUMkV5OGphSTZua1FBSmtFQ21hMEVtSkJCQwp3RjJ1RDAycnJuQWhpMy84YlppWW9mOTJhUjBt
Rk5leWxUT211eHg0d1VIamVQR0NZRDNrSUE4WWRZQzRXbkdHMlBzRHVKQUc5NHNGCkZTQ2UyTVk5
b0QvWHYvQUNqcUhaMndaMUJVMkJpZndMYTFrMEVpQ0IyaVpBQWE3dDU1LzE3dEdNaW1aZUNBYUV4
Yi9XclQvek4rcHQKamxWQnhEQWNtRzNTOVh1UEtBZE53MEhCVS80eXNUOUlQZGRCV3FaZjhESEhN
bDRLMEJ5TXlTK3dVQUlpbEYxREdnUkJZYVdpcUVobwo1QXZ5cEhFYzl3WVdibk02anZzTlRjeWp1
dytpcjljdndCaFU1ZWZoTDRQN0pFQUN0VUdBVGRDMThaenp1a3Q0bEM5cjB5b21vNGdTClgxd0Ew
b2Z4dDY2RmVhKzVSZ09IbHFOMWhDSEl5bnE2N3ZXeERjOGNGdVlCdTRGWWVIbEE4N0hmN05oai8z
SC9QdnEzc2ZBQ3pOWVoKWTVXWFVBOTlOWjI5YTN4alkycjlZSDllN3BNQUNkUVdBUXB3YlQzdm5P
NFdYbWV1aHBXQWJDQVM4a2IxMzhZdFB5eHkyQlh5eFZUawpNcWZ0RURQOENhS0lBS3VnTy9KNzFs
WTQ0OWJOVFFmcHRjRmg4TnczMXNDdDllcnJ6YnJEbUNHTEt5SzV0TGhOQXJWTklPajdxTGFKCmxN
SGRZKzVqVEtmWTB3YkJDaEswYlBXQ21MbDlzV0ZOdXE1d1ppdlBuZ3NUUlRTUFc4T2N6bWlLOWh1
YXU5R0VERU1hdi9rRk9PeWwKd1ovUDdzTmZocmlpK1gxOUZWczN2MjJPdDJuNVNRSWtRQUtXQVB1
QUxZa2Uvc1I0V1lnU0JNWDJNMjZtWCtvSTVpbkUwSStMNW1QMApsZVk2SDdFZE8rc1hLTlFIL2Jj
UVJaVHQ3OU9FRjJ3OVZ0dWtpNzVZMTdES0VQS0ZEZnR4MDJJYi9ieVlMdExmRkk2Nm9Ra1ozaVlN
CnpkQkI4ME4vb0dOeTM5TWZkMWlTeWFDLy9QZG5wby9VNDJHeHluZ2lxQXVFRnZlSjdiamptdTAx
K1VrQ0pFQUNGT0F5K1J2QVRFbXUKNTRocW9kOFJnVVc1R29iR21DaGRGWE5NaGdIcFEzTnlyZ0tN
NndZRlA0M1NPWmFYMWgrOEhLQi9HT0xtR2xZQ2doZHZ2VTBJdFYrQQprUjUxUkxOeFhJUFkrUVhZ
bEtQM3VYaTNBQ01OK25vaDhLNzVnN1BjY3hCbE55Z016Y1JZUU1IMXJsR21FVnc5amlrbTR3YVF1
ZGZoCk5nbVFBQW00QkNqQUxvMGUzSWFvTld2QWsyc1FqVGlEVmR6bCt1QkYrNGZHb0V5L3AraGVK
OXMySW9kZElVSmFlTlBXTThjc1ZINEIKUmovb2wrb0ZqKzRlSWdSUnhJUWNma05kY3hKZ0ZiOVAv
SVhvUHNweEE3Q3dEVzgzRit2VWw1WjZMZDhhaGh6QmU4ZkxBK29mMTFPMworZmxKQWlSQUFsRUVm
dnJHaVVySjgwVWxBTzhLMGJldXAyZ21iT2oyN055TEk2QUkzcksveWRwTkU3UU5JVjBzb0x5Z3RQ
WllVQ0NXCmJTSkhHcnVXcmwra0VYbU1sd29JTmJ4SjlMeW0rNlEvanExRndKWVZjM3ZOc00rNDVT
eXFBb3lYQXYvMXdzckZjVFNIMXpzSklPS3UKcUR1bnVFa0NKRUFDaVJDZ0FDZUNNWmxDbGxUQmVy
T2pJMVdZdjlrVU15NWhYQ21HdXZ3NDBDV1ZOTlpHcmsyK0tEUm82RTZIcjNrWApndWNYWUFnYXhz
VGF5Rjkva3k3S3RrTjdNRVkzanFHZkZVRmQvdWtjMFh5TUZ4ZnJ3YUo1R0o2NUhYNFVWamI2YnVI
ZExxQmwyam1qCnc5THlPQW1RQUFra1RTRGVOMS9TVjYyQzh1QzV3Y05LY2xqSkNCV0REN1haMHdZ
Rm9XblpOZlIvMmlFdTd2RnMyL0E4SVM3d3NDRTAKdVZyUTVCVVFQRGVBQ3BISENJRktEN01TUVRD
V1had2VRdWNYYWRRRllob213UEMwclplUEY0R3h1c1l1eXZFTE1NcEIyVmFBc1EvdgoxUy9BOE9a
VC9iaktJbWcrWitTbGtRQUprRUFwQ09UK2pWeUtXcFhwTlJCdGl5OTZLd3JvdjdSVElTWlJaVFRG
d2d0K3Q3UFRGT2VmCnlCLzlrZjZKTG9LdWk2WnMyM2NKejdPUWw0U3d2aytJSThUZDhnaXFCeUs3
clZDalBrRUdsbWlxaHJsOTJmRFczUllBMUdPc3Bna3IKQitsdE9TZ0xvbTY4YitSUjBVWStHeW1O
OHpRU0lBRVM2R2tDd2QrS1BWMnJNcmsrZ28xTVg2dUtMcjdncldkcXF3ZnhrTzVBSTNzcwo3aWY2
Y2MwMGoxb0dSQXl6SktFL0ZVMm5IMnIvSmNUWDd3RkRTSUlNY2RMSVo0VW15YkduRU84Qit1TVA3
SHBMbThyOUx3aEJkY05jCnpKajMyUzVPNE04REJsUDFoUU1zL1UzYmJua1FjZ1JLWVZhcG9Da25V
UTZZdWk4YllFb2pBUklnZ1hJbFFBSDJQUmswTFgra2ZhMFEKM0tBaEwyNXluTGR6RWJ2SGc3WlJM
dm9wcmNjSXdYQWJtQ0ZBaTZoSERRRlpTajFDbE8yZnNCOENQVVIvL0VLRi9tQ0luQjMyRTNSOQpI
TU9ZWUhpdWJsTnRXRnIzT0pxaFoydDlYZk1McVh2TzNVWTBOTzRIM2oyOFVQL2N5R0FRdEphdlc0
YmRCanMwTGVORnc2NXk1SHI3CnVRL1lzaVh6a3dSSWdBUktUNEFDN0dNT29jQ1h1OS9iOVNWTDdj
SkR4cENWSUxOTjFoQnpwTXNtV2hBWENEQnNaSGVUYkZDWkVKK08Ka0NFOU5yL05COUUzL2FoYU51
b0EwWWRZWXo1aTExTzA2Y00rMFhmYUhIWXk0amc4WjR3TEJpUFUzUy9BRWRuVFR1TWx4VVlubzk4
WgpBVmxKZXZ0cEYrTU9DWkFBQ1JTWkFBVTRBREE4Tlg4QVQwQXljd2pDWmdVNHFzazZyQXdjTjgz
WjJSSjBuME1RVVpESGFBWGNSQjlyCm5WQWVqZ1dKUG9RWTVjUzFvRUNzdUhtUkRzM1FSb0NWYTY2
R2lHWUlyUTJlUW43MGE5TklnQVJJb05JSjhKc3M0QW5peXo2T0FLUEoKMHpZanY2ZjltTk1DUE5P
QTRnTVB3VlBFREZaMlhkckFSSG9RWW9UcitvY2h3Y3Q4dXJVMVl3YW9vSElnenJrSWNOQllZSCs1
NkpjMQozcm5lZ3p1V0dla1F0V3luaTBSWjJWb1hjRzhtYWx2dkUrVmhxRkRjY2NMK09uR2ZCRWlB
Qk1xWkFBVTQ0T2xBNUtJTWFSRGtZNXR5CjQ0aFVXSm1JSm9aWGh5Q2lLTVAxSUZEd1lsMnoweW02
eDhLMklZakxoSjBNT0I0MEZoakpJSTRqMExTczlVRndsRzIrZDhjeTIrTHcKUW9PSWNRZy9oaWU1
aHJ3b0E0SUxycGFwbTRiYkpFQUNKRkJ0QktLVnB0cnVPTWI5dUJQL293a1U0dVkzZUt1dVVFQThK
SWZwRHlGcQp0bGtXNHB2TFpQNFFLNzhBKyt1WGJSLzl3cGhsSzI3L2FkandIUVNKTGVIcnJ3NGJF
MnlEc1ZEMzcxU013Y3VLYmxUd1dMWjc0VGtTCklBRVNxRlFDRk9DUUo3ZXNUdm9BOFlVNFBOSFNr
dEhraXpHcUVESjRiekEwSFFjTjF3a3AzbmlPaUZ6T3grQkZJbEk3anZYVGV3anEKQjBiL3NEL0tP
cXc4Y0FnYStvUDc5eHRlU3VBVmY2a2lhdzJFRUhtTllWVVE2SVUwQ0l4R0FpUkFBclZPZ0FJYzho
ZmdUazBZMU9TTApiQWpBc2dLTWZYaDFkcUlNaUJZOFBBeVQrVEJBTE5FUG02OEFvK2szekROSFV6
Z0VHdGRHY3k2aXIxOTNwcmRFUFdHNGZsd0JSbnFVCk84Y251RUVDakxTWW1oSXRCT0NCdXFDK3VY
ajRLSU5HQWlSQUF0Vk9nQUljNHdsRHpJS2FmQ0ZpbUxuS0dpYkRRTk15aE1jTkhrS2YKcDM4aUM0
enpSZE0yaERSWFExOHJ4QldCVi9Cd2JWTXV4TTQvY3hYcUVoUzBCUTg0RjBNa2RLdFBnQ0d5R09y
a0Q1SkNrL3JhdWpBOQpqUVJJZ0FSSUlKd0FCVGljVGVvTVJDeW95UmZlSlNhM3NONGQwdUhIYnhC
R3Qwa1c1OUdyakxWNjgxbWpGL2xIcS9EakJ4NjJYd0J4CjNob0VIaThEZnZIRWNLVTRVZGUySEgr
UW1ZMTZSaFQ0ajQzd05pVS9TWUFFU0lBRTRoQ2dBTWVnQkFFTFdtd0E0Z1BQT0VoMDNXSngKM2kv
QU9BOHZORjhCamp1YkZVUTJ6TXVHQng4MTdNbmVCNXJhc1ppRGVjblFUK3huRTM2Ymo1OGtRQUlr
UUFMQkJDakF3VnpTanBwbAo4RlJFc2JpQTN5Q2lrUUtzZ2hWazZFTk8ydHdGRFNDdy9xWnY5M3Fv
KzBqM1FKWnRSR3piQ1VleUpPTXBFaUFCRWlDQm1BU0NsU0ZtCjVscEtCdTh2VUlBaG9oSFJ6Qmp1
QTQvUkg3VFVxYzNBZHJXZ2ZGbGk3RENhd2lHMkVGVC9OYktWaTN4QmZialo4dkFjQ1pBQUNaQkEK
TWdRb3dERTVHaTgzWUp4djNBVVpFQ2dWSkk0UVRrUU41MlBJKzBwN2U4WVFxYmhsSVRnTHMxSVZP
dFZrM09zeEhRbVFBQW1Rd0U4RQpLTUEvc2NpNmxXMmNMenpKcU9aWkJHSUZUVlVKcnpWZkFZWlhu
VGxGU1BodFFIQVJvWXk2NElVZ0tvQXJ2Q1NlSVFFU0lBRVNLSlFBCkJUZ0hndkNDN1RoZk54dEVO
RXFBSVh5Qnc0SFFoSjJub1drYkl1cWZlOWt0emcyZVFoM2MyYnZjZE53bUFSSWdBUklvTFFFS2NB
NjgKNFRrR0NYQ2NZQ29JSHdRUTNySnJtRkdyVFkvVjZibDhESjZzSzhBWUIyekhCZU16N25TVCtW
eWJlVWlBQkVpQUJQSW5rTiszZnY3WApxK2ljbVB3aXlOQ1BhbGY3Q1RwdmowRVEvUUtNYy9DZzh4
WGc0ZnBTZ0dBdUs3cHhoeFhaT3ZHVEJFaUFCRWlnWndoZ0lSNWFUQUtZCkZ4cE51a0VHRVkweWVO
QkJobUNxZksxSnkxeFZWMlVhcVpOeVVIenpwY2g4SkVBQ0pGQjZBc0V1WGVuclVURlhoS2NaRk0z
OHRTNCsKWU1iZ3FoQ3ZvQXM1QkVVV283ODJhQTVuZU1WMlJxMFBQdmhBdnZubW0xZzhoZzBiSnNz
dnYzeXN0SldZYUs1eWVlYVpaK1ROTjkrVQplcDNhY3ErOTlxckUyMkNkU1lBRVNDQ1FBQVU0RUV2
NFFRUmlCVVV6UTBSdDh6TDZoSU1FR0ROSFFjQy85WG04N294YVU2Wk1rUnR2CnZGRTIyR0FEV1dx
cHBYU0k4U0M1OXRwckJXSzAzMzc3bWMvUFB2dE1ubmppQ2RseXl5M2x3UWNmREs5c0JaLzV2Ly83
UHpuaWlDTmsKdSsyMmswTVBQVlNHRHg5ZXdYZkRxcE1BQ1pCQUpnRUtjQ2FUd0NOWU9BRVRjUVJO
eHVIUGdPYm9zQm1tSU9CK0FVYWpOaWJrZ00zVQpzY2JYWEhPTjdMdnZ2bVlmdnlESUVPQkxMNzFV
Qm5TUEdiNzc3cnZsb29zdVNxVkpjdVBkZDkrVlJSWlpSQm9hR2hJcE50ZnlEajc0CllMbnV1dXZr
c2NjZU15OGlpVlNDaFpBQUNaQkFtUkZnSDNETUI0Sm01emQxV1Q4ME5VY1pQR0hNTUJWazhJQmhE
ZG9jamNVVTF0VCsKMjAxMGZWdzdGbmlnSHR0bm4zMkNzcVlkMjJHSEhXU2hoUlpLTzViRVRtZG5w
K3l5eXk0eVk4YU1KSXFUWE11NzdMTEw1SzkvL2F0YwpjTUVGRk45RW5nQUxJUUVTS0ZjQ0ZPQ1lU
OFl1eUJBbk9ieGx6SkFWWkdpYUhxK0NpK1g2c0I0d2dxanNha3BJZjk1NTUwbWZrRUF2CmYza1hY
M3l4LzVCODhjVVh4bHZPT0JIandHeGRObkczM1hZemZhNTRnUWg3aWZBWGhYd3Z2L3h5aG1qbldo
N0tPUExJSTJXZGRkYVIKQXc4ODBIK1pqUDFQUC8xVXZ2cnFLM044Zm5jTFFrWWlIaUFCRWlDQk1p
VkFBWTc1WU95Q0RER1RwL3FEZzlLSHJVNkV0QXN1dUdCUQpsc0JqTmkyRTh2VFRUNWY5OTkvZkNC
aUNzMDQ4OFVTWjEvMFNnQ0NtWFhmZDFUUmZMN25ra3ZMaWl5OEttb1hIamgwcm0yKyt1VHoxCjFG
T21mRFQ3dnZIR0cyWWJaYUgvdGJXMU5mRGFPUGpoaHgrYWN0RkVqakxYV0dNTk9lV1VVMUxwY3kz
dnozLytzMEMwOTk1N2I3bjEKMWx2bCtPT1BOODNzbjMvK2VhcE1iT0IrSU5EUFBmZWMzSHp6ellK
N2V2cnBwOVBTY0ljRVNJQUV5cDBBKzRCemVFSm9QZzdyQThhYgpqRHZOWTlod3BSd3VGenZwMFVj
ZmJRSzJycjc2YXBQbmtrc3VNWUZMZFhWMWN0eHh4OGxLSzYwa045eHdnNnkzM25yeTl0dHZtNlpy
CmlQYUlFU05NRUZkL1hla0lkdEJCQjhscnI3MG1sMTkrdVVtUDg5a01RV0V0TFMxeTIyMjNtV1Fv
QjMzWEVFYzBqK2RhSGdRVjlzb3IKcjhpNGNlUE1jb2VublhhYVRKdzRVZTY4ODA3WmJMUE56SGtj
MjNiYmJZMzRtd1A2YTA2TXJnR2JscDhrUUFJa1VBNEVLTUE1UEFVegpqdGRaa0FIRGl1eTh5aEJm
dHlrNWgySUxTdnJlZSsvSkZWZGNZYnpCano3NnlKUzE2cXFybWs4SU1nUVlodUN0NjYrL1h0WmVl
MjJaCk1HR0NkR2xBR2M1YjhUV0puRjl4MXZxMUltbXpMYmJZWW1ZVElyN0ZGbHZZdytZenFqd012
NW8rZmJxc3VlYWFKdXJiWm9iUWJyTEoKSnNhN2g5ZU8rM2oyMldkTnNOcE9PKzFrOXVFeDI2Wm9t
NCtmSkVBQ0pGRHVCQ2pBT1R3aFRIU3hoQXBBZzRvdHZPRitPakZIVDl2RApEejlzUkJRZW9tdVRK
MC9PNkV1R01KOXd3Z21DYzhjY2M0d3N1K3l5YnBhMDdTakJST0pUVHozVjVHblhGWm5RWlB6a2sw
K2EvZSsrCis4NTh1citpeXZ2NDQ0OU44dFZYWDkzTlpnS3hJUFFZZHZYV1cyK1padTQ5OTl6VFhC
c3ZFK2VlZTY0Uit5aHZQYTFRN3BBQUNaQkEKR1JDZ0FPZjRFTWJxSkJ2bFpPaUhSYVF4K256akJH
K2gyZGlPTlVZZmE2TUdoT1ZyNkdNKzQ0d3o1UFhYWHplQ09HclVLTk4wblU5NQpvMGVQTnRrd0RN
dHZLNis4c2hIZ2FkT21HUUZHL2VFSjQwVUNZNkV4YkFsUjAvMDBvSTFHQWlSQUFwVkNvT2RkdUVv
aFZhYjF4QVFWCkNGeENzNi9mRUJuYzNOeWNkaGpOejJlZGRaWjgrZVdYWnFLTHRKUE9UcFRIaXFU
bzc4VjQ1SnR1dWtuR2pCbmo1TTdjakNvUDRvMUoKUjlDODdEY2JiTGJFRWt1WVV4Z1RmZEpKSjVs
bWQwUk1ZK2pTc2NjZTY4L0dmUklnQVJJb2F3SVU0TEorUEQ5V3pnNnhDUm9XdFA3Ngo2NXRFQ0ZU
eW56L3p6RFBUZ3BQUTU3dktLcXNJZ3JZZ251Z1RmdWloaDlJSTlPNXVWbzhLYXNKc1hBanNXbmZk
ZGFXdk5zZkRaczJhCmxWWVdkdUtXaHpJT1AveHdFMW45L2ZmZnA1WHp3Z3N2eU9LTEwyNkN5WEJp
MHFSSjVqejZpOUhzdmRGR0c4a2RkOXhoanZFWENaQUEKQ1ZRS0FRcHdtVDhwOUs5YVlmdmhoeDh5
YW92SVlJandBdzg4WUNLRE1UWGxQZmZjWTRieWpCdzUwa1E2SXhPYXFxKzY2aW96dEFmNwo1NXh6
anBucDZvQUREaEJYOEt5WGVmLzk5d3V1RGZFTE1qUjNRelJ2dWVVVzB6ZUxkQWdHZzAyZE9sWFFY
QXlMV3g3U29uOGFudlQ1CjU1K1BYV09vQTRZWXdXdTNBV1BvYjdZVGhhQXBlclhWVnBQbGxsdk9a
dUVuQ1pBQUNWUUVBUXB3R1Q4bWVKaVlHTU1hWnNoQ2M2dmYKN3IzM1hoay9mcndaVXJUTk50c0ln
cFF3SmhmUndiREhIMzljdHRwcUs0RWdkK2hzWGpBTUg4SStQRm5rc1VLNzQ0NDdtb1VQTUpRSQpQ
eGpDRkdTTExycW9pYkRHeThHbW0yNXF4dU9pdmhoYmZPR0ZGOHA5OTkxbnNzVXRENGt4YkFwRGtS
QnM5ZHZmL3RZRVdPMjg4ODVtCkxQQWVlK3lScWdhYXM3ZmVlbXNUTFEzUlIxLzBsVmRlbVRyUERS
SWdBUktvQkFLOXREblBReE1uQWxwb2xVMEFudXpYWDM5dFJOQjYKaS9uY0VVUVZBcjN3d2d0SFpv
ZUhpcjViR3dDR3Z5WDAwYnJYejZVOGU4RzJ0amF6S3RUU1N5OXR4Z1BiNC9qRUVDbzBiY1BMeHRB
bgo5MXB1T202VEFBbVFRRGtTZ043aXU1SlIwT1g0ZFBLc0V3S3lrbGcxQ1BOUnh4RmZWSE9vem1Y
dEdvVFJMNGk1bEdmTGdqZU1ueUN6CjBjNDJjam9vRFkrUkFBbVFRTGtUWUJOMHVUOGgxbzhFU0lB
RVNLQXFDVkNBcS9LeDhxWklnQVJJZ0FUS25RQUZ1TnlmRU90SEFpUkEKQWlSUWxRUW93Rlg1V0hs
VEpFQUNKRUFDNVU2QUFsenVUNGoxSXdFU0lBRVNxRW9DRk9DcWZLeThLUklnQVJJZ2dYSW5RQUV1
OXlmRQorcEVBQ1pBQUNWUWxBUXB3VlQ1VzNoUUprQUFKa0VDNUU2QUFsL3NUWXYxSWdBUklnQVNx
a2dBRnVDb2ZLMitLQkVpQUJFaWczQWxRCmdNdjlDYkYrSkVBQ0pFQUNWVW1BQWx5Vmo1VTNSUUlr
UUFJa1VPNEVLTURsL29SWVB4SWdBUklnZ2Fva1FBR3V5c2ZLbXlJQkVpQUIKRWloM0FoVGdjbjlD
ckI4SmtBQUprRUJWRXFBQVYrVmo1VTJSQUFtUUFBbVVPd0VLY0xrL0lkYVBCRWlBQkVpZ0tnbFFn
S3Z5c2ZLbQpTSUFFU0lBRXlwMEFCYmpjbnhEclJ3SWtRQUlrVUpVRStsYmxYVlh3VFgzd3dRZnl6
VGZmeExxRFljT0d5ZkxMTHg4cmJTVWxldTY1CjUrVFZWMStWa1NOSHl2cnJyeTlOVFUyVlZIM1ds
UVJJZ0FSaUVhQUF4OEpVdWtSVHBreVJHMis4VVRiWVlBTlphcW1sWk5DZ1FYTHQKdGRmSzNMbHpa
Yi85OWpPZm4zMzJtVHp4eEJPeTVaWmJ5b01QUGxpNnloWDVTak5tekpCOTl0bEh4bzRkYSs0VlFv
d1hEUERZZlBQTgppM3gxRms4Q0pFQUNwU1ZBQVM0dDc4aXJ6Wnc1VTY2NTVoclpkOTk5VTJraFFC
RGdTeSs5VkFZTUdHQ08zMzMzM1hMUlJSZWwwaVM1CjhlNjc3OG9paXl3aURRME5pUlFidDd3Ly9l
bFA4dW1ubndydURiYnNzc3RLUzB1TGJMUE5OdkxLSzYvSUNpdXNrRWg5V0FnSmtBQUoKbEFNQjln
R1h3MU53NmpCdzRFRGpCVHFIQWpkMzJHRUhXV2loaFFMUEZYS3dzN05UZHRsbEY0RTNtb1RGTGUr
TEw3NHdMeDUrVDNmOAorUEV5Wjg0Y09lMjAwNUtvRHNzZ0FSSWdnYkloUUFFdW0wZnhZMFhPTys4
ODZkT25UNnhhWFh6eHhSbnBJR1R3bHZPeDJiTm55MjY3CjdTWnZ2dm1tZUo1bmZ1S1VnM3d2di94
eWhtam5VaDZ1T1cvZXZJeiszaFZYWEZFR0R4NHNkOXh4aDh5ZlB6K3RPdkNXdi9ycUszUE0KZnk0
dElYZElnQVJJb0F3SlVJREw3S0VzdU9DQ3NXdGswMElzVHovOWRObC8vLzNseUNPUEZBUm5uWGpp
aVViUVVCakViZGRkZHpYTgoxMHN1dWFTOCtPS0xnbVpoOUxYQzQzenFxYWZNTmErNzdqcDU0NDAz
ekRiSzJtNjc3YVMxdGRYc0IvMzY4TU1QVGJsb0lrZVphNnl4CmhweHl5aW1wcExtVTkvMzMzNXQ4
Nzd6elRpby9OdkF5c3NvcXF3akVmTnEwYWVZYzd1ZkFBdzhVOUJIZmZQUE5nbnQ2K3VtbjAvSngK
aHdSSWdBVEtuUUQ3Z012OUNjV28zOUZISDIwQ3RxNisrbXFUK3BKTExwRkREejFVNnVycTVMampq
cE9WVmxwSmJyamhCbGx2dmZYawo3YmZmTmszWEVPMFJJMGFZSUs3Ky9mdWJmQWNkZEpDODl0cHJj
dm5sbDV2ME9KL05FQlNHUHRyYmJydk5KRU01Nkx1R09LSjVQSmZ5CjhESUFlLzc1NTgybis2dGZ2
Mzd1cm1tTzNuYmJiWTM0MnhOb3BxYVJBQW1RUUNVUm9BZGNTVThyb0s3dnZmZWVYSEhGRllLKzBv
OCsKK3NqOHJMcnFxaWFsRldUc0lIanIrdXV2TjgzS0V5Wk1rRU1PT1VSdzNvcXZ2K2hldlhyNUQy
WHNqeHMzVGlDRTFoWmJiREd6Q1JIMwpXMVI1YTYrOXRubEJlUC85OStYUlJ4OU5aWWVYUFhYcVZC
TVFCazhYOXV5eno4cnR0OTl1dkdMczc3MzMzc2JyeHphTkJFaUFCQ3FGCkFEM2dTbmxTSWZWOCtP
R0hqWWplZWVlZGFTa21UNTZjMFpjTVlUN2hoQk1FNTQ0NTVoZ1RaWnlXeWRtSkVrd2tQZlhVVTAy
Tzl2WjIKdWZYV1crWEpKNTgwKzk5OTk1MzVkSC9GS2UrV1cyNlJuWGJheVRSOTQ0VUNRN0FndXZD
eTExMTNYYkZsN0xubm51YmFFTzF6enoxWAp0dGhpQytQTnU5ZmpOZ21RQUFtVU93RUtjTGsvb1lq
NndVTkVwREg2Zk9NRWI2SFoySTQxUHY3NDQ2V3hzVEhpQ3VHbkVUUjF4aGxuCnlPdXZ2MjRFY2RT
b1VhYnBPanhIOWpQSS84SUxMd2k4NEsrLy9scFdYMzExZWVpaGgrU0NDeTZRdmZiYUs1VVo5WWRI
anhjSmpJVSsKK09DRFRScC9VM1VxQXpkSWdBUklvQXdKc0FtNkRCOUtMbFVhUG55NGFZb05hdlpG
WkhCemMzTmFjV2grUHV1c3MrVExMNytVSTQ0NApJdTJjdTJPOVRmZVlmeHY5dlJpemU5Tk5OOG1Z
TVdQOHA5UDI0NVNIREwxNzl6YWUrU2FiYkdKRUZzRmxDTzc2L2U5L255b1BVZDRuCm5YU1NDY0ph
WjUxMTVMTExMcE5qanowMmRaNGJKRUFDSkZBSkJDakFGZkNVN0JBYkJFNzVEVk0xd2laT25KZ3hi
T2pNTTg4MFkyaHQKSHZUNUlxSVlRVnNRVC9RSnc4TjBEUUlJaXdwcXdteGNDT3hDMDNEZnZqODJw
TXlhTmNzdHltekhMUzhqb3g0NDZxaWpUQVEzaGx2WgpjcEJ1MHFSSitKQTExMXpUTkh0dnRORkda
cGlTT2NoZkpFQUNKRkFoQkNqQVpmNmcwTDlxaGUySEgzN0lxTzFtbTIxbTVrdCs0SUVIClRFQVVw
cWE4NTU1N1RHQVM1bEsya2N4b3FyN3FxcXNFemM2d2M4NDV4d1EySFhEQUFXS0hBT0g0RWtzc2dR
KzUvLzc3QmRkR2szQ1EKb2JrYndvdCsyN2ZlZXN1a1F6QVlERUZUZHNoUTNQTGNhOEREaGVlTG9V
VzRQcWJsZEEzOXpYYWlFRFJGcjdiYWFyTGNjc3U1U2JoTgpBaVJBQW1WUGdBSmN4bzhJSGlZbXhy
Q0dlWkxSM09xM2UrKzlWeEMwQlBIRnRJMElVa0t6TGFLRFlZOC8vcmhzdGRWV1puR0RqbzRPCmN3
eUJUUkJvZUxMSVk0VjJ4eDEzbFByNmVqT1VDTU9KTUlRcHlCWmRkRkV6eEFrdkI1dHV1cWtaajR2
NllqalJoUmRlS1BmZGQ1L0oKRnJjOEpNYVk0My84NHg4Q2p4WmVQNFlrUVZ6OWh1YnNyYmZlMnN5
UkRkRkhYL1NWVjE3cFQ4WjlFaUFCRWlockFyMjBPYy9EbHgwQwpXbWlWVFFDZUxJS1hJSUpodzR2
aTNDRkVGUUs5OE1JTFJ5YUhsNHhvWlJzQWhyOGxlTER1OWVPV2Q5ZGRkOG5TU3k5dFJOK1dGMVNC
CnJxNHUweVFOTHh0RG45eHJCYVhuTVJJZ0FSSW9Kd0xRVzN4WE1ncTZuSjVLZ1hWQlFCWitDalhN
UngxSGZIR2RvVU9IcGwwT2ZiVisKUVl4YjNxOSs5YXUwc3NKMmJMVHo2TkdqdzVMd09BbVFBQW1V
UFFFMlFaZjlJMklGU1lBRVNJQUVxcEVBQmJnYW55cnZpUVJJZ0FSSQpvT3dKVUlETC9oR3hnaVJB
QWlSQUF0VklnQUpjalUrVjkwUUNKRUFDSkZEMkJDakFaZitJV0VFU0lBRVNJSUZxSkVBQnJzYW55
bnNpCkFSSWdBUklvZXdJY2hsU0dqMmlHanFOOXZxMnRvSnB0M3RSVVVQNWNNOC9YYVRJZjE3SERt
Wk5sL2xqU2FCM2F0TFNPRjZhUlFEa1EKbUsxak1KL1NpVit5V1QrZDhHV1RBaFlyeVZZMno1RUFD
TkFENXQ5QklnUjY2NWZWRUoyZU1zeUdaamtYbG9mSFNhQllCT0o4OGNWSgpVNno2c2R6YUlNQy9z
ZHA0emlXNXkyd2ltKzFjU1NySGk1Q0FRd0F2akZFV0owMVVHVHhQQXRrSVVJQ3owZUc1bkFpRWlT
eSs2Z1oxCnI3S1VVNEZNVEFKRkloRG5peTlPbWlKVmo4WFdDQUgramRYSWd5N0ZiWVlKTUpxbTZV
MlU0Z253R25FSllFR1BLQitZZjdOeGFUSmQKdmdRb3dQbVNZNzRNQW1FQ0hIWThvd0FlSUlFU0Vv
ajY4dXNUbzVtNmhOWGxwYXFRUU5UZllCWGVNbStwV0FRR2FqTnozNEF2TFFwdwpzWWl6M0VJSVJI
bTQvSElzaEM3enhpSEF2N0U0bEpnbU5vRWhBWDI5Rk9EWStKaXdoQVNpdnZ5aUJMcUVWZVdscXBS
QTFOOWdsZDQyCmI2dFlCSUxFTnVoWXNhN1Bja2tnTG9Fb2dlV1hZMXlTVEpjdkFVN0VrUys1SXVh
cjc5dFgzSWswM3Vub2tDL216TWw2eGVVR0Q1YkYKQnd6SVNQT2tUbzR4UnlmSktKYU4wZ2syeGpn
VGJQakZGazNTYUpyMjIvU3VMbm01dmQxL09MSDlKbVc0WmwxZFl1WE42NTVvcE5BQwpoMm05MWdp
cDF4UDZyTHF5UEtzUi9mckp5cjcxbC9PcHo3TXpaa2o3dkhtaFdSdTFqbXQxMS9IeDVtWUpUeWtT
TlZsRmgxN25HYjFlCk5sdEFyN2Q2OS9YK3JkY3JoZ1hWTTZxUE4wcWdpMUZQbGxsYkJESy9HV3Zy
L25tM0NSUHdDN0IvUCtITGxheTRtVHB6VWhJMks2RnkKa3FoTG5ESUdSVXlnZ2hjR3ZKeUVXWno3
amJwR1dObUZIby82OG9zNlgrajFtWjhFK0RmR3Y0RkVDZmdGMTcrZjZNVktXRmdjSVlsVApIWlRq
WlJHc09HV1VNazJjOGR2WjJHUTdaKzhqempWczJpUS9venpjcVBOSjFvVmwxU1lCQ25CdFB2ZWkz
WFUvYlc0ZTRFUkNWNHNBCno4elNaSnRkNjhWbUFBQWZvRWxFUVZRTFRQalJ4ZXdTeUtVdWNkTEdF
VWZNcXh4bVpTM0FZWlh1UHM0dnh3aEFQRjB3QWZZQkY0eVEKQmZnSmpHdG9TQjJLbXV3Z2xiRE1O
K0lJU2R4YlFGa0RBdnJGNCtZdlpickJFVTNRcUVzMk50bk8yZnVJY3cyYk5zblBLQTgzcW84NAp5
YnF3ck5va3dKZTgybnp1UmIxcmZMSFpIOHc0VkEyV1ZCOHdXQ1JaVnJIWnh2R0FzNGxzTnUvWTFq
MG9TTStlSytabjFKZGYxUGxpCjFvMWwxd1lCL28zVnhuUG1YUlpJSUp2STVGcDBrbVhsZXUxYzB4
Y3F3RkgzaXVqa29NbGJjcTFuUHVtalBPQ284L2xjazNsSXdDWEEKSm1pWEJyZkxpc0F5T3J3Snc0
bnlzYVMvMUtPRUpKYzZKdFdmbk1zMTgwMEw3eFJ0R09GeHpvVTFRY2NSZUxmdUVPeDhQT2FndjRj
bwo3eVBxdkZzdmJwTkFQZ1R5KzNiTDUwck0weU1FSUdMWnhuRysyOW1adFY0WUU3cHcvLzZoYWVw
aTlCR0dabzQ0Z1M5bmpJbnVhY013Cm0yeUJVL1hLWUZIZkdPeXB5alZNdEpJVTgyS3pnUmNJd2N2
V2JCNTJQM08wcnpzOFBPdkhtdWZhL3p0Qy94WXg1ajBKaStyanBRZWMKQkdXV2tZMUF6Mys3WmFz
ZHp4Vk1ZQkdmTVBnTHpDWVVTSXVwSllNbStQQ1hVODM3WVFKajd4a3ZDWDVHSDgyY0dTcmEyY1RN
bGxsTwpuM2dSeWxibnNIN2VzT1B1dmVYcUFidDVDOTJPOG5DanpoZDZmZVluQWY2TjhXK0FCQ0lJ
UkFtd08rektGcFV0eWptcVBGdEd1WHhHCmlTUmFXTG9DaGlMRnVjOThtcE9UNGhMbDRVYWRUNm9l
TEtkMkNWQ0FhL2ZaODg1akVzam0vYUdJL3VvaCtxMS9sdWh2TXhZNFFMRDgKWlpUTGZweVpxb0xF
TnVpWS81Nml4TjJmUHNuOXpLZVdYbnJVK2ZUVTNDT0IzQW13Q1RwM1pzeFJJZ0p0T3ZsRkg1MHpP
aDlEMEUxRApRdjNIVVVJU0pMWkJvdXplQjBROUtvMmJ2aWUzNDRqa2JPMG45OCs4SGNVTjk1UnJI
ekRtbHY1ODl1eEFIUENtaCt0ODJYRXR5c09OCk9oLzNPa3hIQW1FRUtNQmhaSGk4eHdsOFBHdFcz
blZJY2pHR3FLamxvT2Jtb0dQdXpVQ2NmcHF1eEQxVGZ0dHhCRGhJYklPT3VYZUgKNk9xZzVuczNq
WCs3ZWU1Y3dVK1FZYUdMbkFRNHFCRG5XRlNRbHBPVW15U1FGd0cyc3VTRmpabHFpVUNVa0FSNXNr
RmVzY3NzcWt3MwpiVTl2eCttbkRib2ZlTVhaRE9YMjVFUXRVUjR1dnh5elBUMmVTNElBLzhhU29N
Z3lxcHBBWkI5d1FIOXZrQ2k3a0tMS2ROUDI5RGJ1CnBVOUVKWUlFT09pWVcwd2N6OXBObi9SMmxJ
Y2JKZEJKMTRmbDFSNEJDbkR0UFhQZWNRNEU1a2VNQVVaZmM5QVhkVlRUYXBRNDVWREYKa2lTTkNz
VHkzdzlXZklvYWhwUnIvMi9TTnhyMTVSZDFQdW42c0x6YUk4QSs0TnA3NXJ6akhBajRoU1VvNi9z
Qms1bGttN2dEWlVUMQpLd2RkcHllUHdWdHR6N0lpbEY5czBmeWN2UUZhcEtjOTRLQVhKNWR4MUhr
M0xiZEpJQjhDRk9COHFERlB6UkNJYWlxZXEwTHphVWhVCmJqWkljWVE5Vy81U240c1NTOXdQdkY3
YnArc1g1S0Q2UnBVWmxDZkpZMUVlYnRUNUpPdkNzbXFUQUFXNE5wOTdqOTgxSW1BeHIyKysKMXFW
ZjlxV3dZZ21sbmJ3QzZ5ZFhna1dKSlo0R3ZIN2I5QjZIVzFTWnhlYUN2NzlzVTZsRzlSRVh1MzRz
di9vSlVJQ3IveG1YNVIwMgo2WGpOVFJvYjg2N2IwNjJ0MGxtQ3lTeWlQT0M4YjBBem91eUtFZUFZ
YzM1RGRPM3dxMWdDSEtOTVAxOE1MOE44MEVFV0oxcmJ6VmVuClphMWJYKzhlNGpZSmxKUUFCYmlr
dUhteFNpTVFSMGp5dlNlVVhTbGYvM0c4VmR5UEhkc2N4UzNmWlFpSHFHajc1OTNPbHovemtVQlAK
RTZpTTlxK2Vwc1RyMXl5QktDRXBCRXd4dmV0QzZoV1VONDRBdS8yK1VkemlsQmRVRHg0amdXb2lR
QUd1cHFmSmUwbWNRREdqbGFORQpLdkdiS2FCQVJBVGIvdDJ3WXR6N2NiZUQwbE9BZzZqd1dLMFJZ
Qk4wR1Q3eEdUclYzdk50YlRuVkRPdjZ1bXY3YnQ3VWxGTitKczRrCmdESEFVYk01WmVhS2Z5Uktw
T0tYVkpxVUdBczhPMlFhU05TZ1JjL1plWnFqdlB1b2NjV2x1S00zMnR1enJwV05wVGlYU1dqdDRW
TGMKRDY5UmVRUW93SlgzektxaXhoaSswNWxsWEduVVRVWXQ5QjZWUDg3NU9BS1p6Wk9icC9lWWJU
eHdsRWo1Ni9pREN0eHpNMmI0RDhmYQpYM3JRb0p6bVNRNHFGUGZhRW5TaSs5Z01mWjR6QXNaRUIy
WEp4aTBvdlQzMnpadzUwcHJsSmNDbTgzOWl3cFExNjlLWGl3QlAvQjJHCjJkeUVGdk1JSzUvSFNZ
QUN6TCtCSGlFQUwvOWw5VURLMmFJRUdGL3E0eHBzMkZIbW5VelhsWnl5M1dOVStmNFNJUlpZSVNv
ZkMxcXYKTjlkeThoWE5vT3ZrV3hhR24zWGx3YUNRSVc5QjllY3hFa2lDQVB1QWs2RElNcXFTUUpS
QVJpMjRFRFVmTkFRMW13ZFdibER6RmMyZworMGl5cktEeWVZd0VLb0VBQmJnU25oTHIyQ01Fb3Bx
SW93UTJTcUJ4VThVTThrb2FXbEw5dHBoK0pkY3h1MG5mQzhzamdYSWdRQUV1Cmg2ZkFPcFFsZ1VJ
OVlEUjdSczMxRlhXTmNnS1RsTmZhMDhzUWxoTlQxcVcyQ1ZDQWEvdjU4KzZ6RUlqeWdPMnNUMkZG
WUY3a0tDODQKNmhwaFpmZkVjZHhMRWw4WVNRbDVUekRnTlVrZ1NRSkovRDhsV1IrV1JRSmxReURL
TzQwU1Y5eElWRE4xMURYS0JvWldCQzhVU1RRZApVNERMNmFteUxqMUpnQUxjay9SNTdiSWxFR2M5
MnloeHhjMUZlY21WNUFIamZwSll3emVwdm1UVWgwWUNsVXlBdzVESzhPblY2L2pEClVrMmtzVmtQ
VGRneFRCZGpLTlU5NXZPSTRlMGx3V2Exb1VOalg3NlF4U2xpWDBRVHJsZkFBZ1M1M0U4dWRiSnBT
L2szTWI2QXhVQnMKZmZsSkFvVVFvQWRjQ0QzbUpRRVNJQUVTSUlFOENWQ0E4d1RIYkNSQUFpUkFB
aVJRQ0FFS2NDSDBtSmNFU0lBRVNJQUU4aVJBQWM0VApITE9SQUFtUUFBbVFRQ0VFS01DRjBHTmVF
aUFCRWlBQkVzaVRBQVU0VDNETVJnSWtRQUlrUUFLRkVLQUFGMEtQZVVtQUJFaUFCRWdnClR3SVU0
RHpCTVJzSmtBQUprQUFKRkVLQUFsd0lQZVlsQVJJZ0FSSWdnVHdKVUlEekJNZHNKRUFDSkVBQ0pG
QUlBUXB3SWZTWWx3UkkKZ0FSSWdBVHlKRUFCemhNY3M1RUFDWkFBQ1pCQUlRUW93SVhRWTE0U0lB
RVNJQUVTeUpNQUJUaFBjTXhHQWlSQUFpUkFBb1VRb0FBWApRbzk1U1lBRVNJQUVTQ0JQQWhUZ1BN
RXhHd21RQUFtUUFBa1VRb0FDWEFnOTVpVUJFaUFCRWlDQlBBbFFnUE1FeDJ3a1FBSWtRQUlrClVB
Z0JDbkFoOUppWEJFaUFCRWlBQlBJa1FBSE9FeHl6a1FBSmtBQUprRUFoQkNqQWhkQmpYaElnQVJJ
Z0FSTElrd0FGT0U5d3pFWUMKSkVBQ0pFQUNoUkNnQUJkQ2ozbEpnQVJJZ0FSSUlFOENGT0E4d1RF
YkNaQUFDWkFBQ1JSQ2dBSmNDRDNtSlFFU0lBRVNJSUU4Q1ZDQQo4d1RIYkNSQUFpUkFBaVJRQ0FF
S2NDSDBtSmNFU0lBRVNJQUU4aVJBQWM0VEhMT1JBQW1RQUFtUVFDRUVLTUNGMEdOZUVpQUJFaUFC
CkVzaVRBQVU0VDNETVJnSWtRQUlrUUFLRkVLQUFGMEtQZVVtQUJFaUFCRWdnVHdJVTREekJNUnNK
a0FBSmtBQUpGRUtBQWx3SVBlWWwKQVJJZ0FSSWdnVHdKVUlEekJNZHNKRUFDSkVBQ0pGQUlBUXB3
SWZTWWx3UklnQVJJZ0FUeUpFQUJ6aE1jczVFQUNaQUFDWkJBSVFRbwp3SVhRWTE0U0lBRVNJQUVT
eUpNQUJUaFBjTXhHQWlSQUFpUkFBb1VRb0FBWFFvOTVTWUFFU0lBRVNDQlBBb2tLY0h0N3U4eWFO
U3ZQCnFqQWJDWkJBT1JIZy8zTTVQUTNXcFJvSkpDckE0OGVQbDVOT09xa2FPZkdlU0tEbUNQRC91
ZVllT1crNHhBUVNGZUFTMTczcUx0ZlYKMVNYdnYvOStTZTZybE5jcXlRM3hJaVJBQWlSUVlRVDZG
bHJmam80T2VlMjExK1RsbDErV3p6Ly9YSjU2NmltNTZxcXJaT1dWVjVZVgpWMXhSNnVycUFpL3gr
T09QeS9QUFB4OTR6bit3VDU4KzB0RFFJTU9HRFpQaHc0Zkw2cXV2THZYMTlmNWtGYjMvK3V1dnk4
OS8vblA1Cit1dXZaZXV0dDVZSEhuaWdhUGRUeW1zVjdTWjZxT0JISG5sRXJyamlDcm56empzVHI4
RUZGMXdnczJmUHpybmNBUU1HeUlRSkUzTE8KRjVRaDMvL25vTEo0akFSSUlJTEFwRW1UdklrVEoz
cTVtdmIxZXRyYzdQWHYzOThiT0hDZ3Q4VVdXM2hOVFUzZUtxdXM0bW5UbGFmQwo2L1hxMWN2YmJM
UE52T2VlZXk2amVCVUI3NXh6enZGVWREeXRZazQvS3NqZU91dXM0NTE1NXBtZWZtRmtsRjJKQnc0
KytPQTBCdnB5ClVyVGJLT1cxaW5ZVEpTNzRQLy81ajdmaGhodWFaOVRZMkpqNDFmLzczLyttUGY5
Yy9pZVdYMzc1Z3V0VDZQOXp3UlZnQVNSUVF3U3MKN3ViVkJQM0pKNThZRC9lVVUwNHgzdHFubjM0
cThBd1dYbmhoMlhMTExRWGU3WmRmZmlsSEhubWtQUEhFRTdMdXV1dktMcnZza3ZZcQpBQS81cUtP
T2tvY2Vla2dPUGZUUXRIUFlnUmVOTXI3Ly9udjU0SU1QNUgvLys1K2NjY1lac3VxcXE4cThlZk9N
OTN6c3NjZkswa3N2CkxmZmZmMzlHL2tvN3NOeHl5NldxREk5bTlPalJxZjJrTjBwNXJhVHJYdXJ5
VkJobDAwMDNsWi85N0dlQzdXSVovdDd6dFIxMzNESGYKckNaZkV2L1BCVldBbVVtZ1JnbmszQVE5
Wjg0YzJYWFhYVTFmNWJoeDQweFRYTy9lbVRvK2RPaFFVUTlYMUZPVjNYYmJUZTY5OTk1UQp4QkRu
aXkrK09IVmVQV3JaZDk5OUJVM1BzQVVXV01BSTdRWWJiQ0JISEhHRS9QNzN2NWUvLy8zdjVoeWFi
SC8xcTEvSlhYZmRKZHR1CnU2MDVWb20vOXR0dlA1a3hZNFpvYTRFY2ROQkJwcW05V1BkUnltc1Y2
eDZLWFM2NlZjNDY2eXpSbDNJWk5XcVVhRXVQNEcrL0dOYmMKM0N5MzNYYWJhSXVSYkw3NTVxYnJC
dDB0MkE4enhBclkvNEdkZHRvcExGbms4V0w4UDBkZWxBbElnQVFNZ1p3RitNSUxMNVFYWG5qQgpa
RWJFYzVENHVtd2gxczg4ODR4Y2R0bGw3dUcwYlhqT3J2WHQyemNsdnU1eGJPT0w4RzkvKzV0b002
QmNkTkZGNWpRQ2lpQmFIMzMwCmtUbnZ6MU1KKzRNSEQ1WVRUenl4SkZVdDViVktja05GdU1pUUlV
UGt1dXV1Uy8wOXpaOC9QeVY0MllReG42cmc3eG4vUjJndDJtaWoKaldJVmNkeHh4NWwwYUNsWlk0
MDFZdVVKU2xTTS8rZWc2L0FZQ1pCQUpvRk0xelV6VGRxUmYvLzczNm45RlZaWUliV2RiUU5OMGRt
RQpldENnUVduWjQzekJ3WXR6N1lzdnZpaEtZSXg3RFc3WERvRXhZOGFreEJkM3ZkUlNTNlZ1SGw1
eGtvYWdMb2h3WFBIRnRlKzQ0dzVUCkJiVCtGR0xGK0g4dXBEN01Td0sxUkNCbkFYN3p6VGRUZk41
Nzc3M1VkcmFOa1NOSG1xYm9iR2x5UFljK1pEVFR1ZWJXelQzT2JSSW8KbEFCYVphekZlVUcwYWFN
KzBmeTh6ejc3U0M3TnlLKzg4b3A4K09HSHB1aGM4Z1hWeGYyZjZjbi81NkM2OFJnSlZEdUJuQVY0
MldXWApUVEZCRTExY1EyQldrb1l2UVF4emN1MnJyNzV5ZDdsTkFtVlBRRWNPeVBISEg1OVRQVysv
L1hhVGZ0RkZGNVgxMWxzdnA3eit4T1h5Ci8reXZGL2RKb0JZSS9QUmFIL051MTFwckxSUGxqT1Ez
M1hTVGlRNzkzZTkrRjVrN1d4TjBaT2FBQkhQbnpqWGpqOTFUaUlqTzFSQlIKL2RaYmI4bjA2ZE5O
WkRjQ3ZzS3NzN05UME5RZFp1aVhYbkRCQmROT3c4TkJKTGZmVU5jd0pvZ3FSMS8zSW9zczRzK1d0
bzl4MXhqVAppeWhXOUFXdXROSktndFlHTkpGaVNsQi8wMzVhNXU2ZHVOZHk4K0tlRUtTRU1kN29o
b2h6SFRjL3RsRm5CQUNOSFRzMmRRcEJhQysrCitLTDg4TU1QSnZJWVk3N2pXR3RycTRtS3g4eE4v
ZnIxaTVPbG90TllBVWIwYzZIZWVMbjhQMWYwQTJIbFNTQlBBamw3d0gvODR4L04KcEJqMmVvaElQ
dm5razgzUUlIdXNGSjhJQk1NWHRtc1lvaFRYRUVHNjhjWWJtM3RCUGd3MXdSYytoT3pHRzI4TUxB
WWU5bUdISFdaRQpCOExoL21BbzFkTlBQNTJSRHdKNStPR0haNlJGNEpockxTMHRjdjMxMTVzWEd0
VEJCcnE1YWV3MlhoYis4SWMvbURMLzhZOS9tT0ZhCkNLYUJHS0pPaUJhLzlOSkxiZktNejF5dVpU
TkRNSGZmZlhmREJ5OEdhUHJFbHpkRVdNZWhHaTcrNTJIejJrOUU3bUlvMmRwcnIyM0sKK2VjLy8y
bE96Wnc1VXhCVXRQamlpNHVPR3pkUjlnak13M2JReTRzdEQ1OFlucmJZWW91WjRXK0lWc2E5VmJP
OSt1cXJabGdlN3JIUQo1bWVVVVM3L3o2Z0xqUVJxam9BZEVKekxHT2liYjc0NVk5SUFEU0R4dEVu
TU8vcm9vM01weXFUOTdMUFAwc3JESkI1UmR1Q0JCNmJsCjBTQVpUd1VnS3B1blhwZUhpU2gwSmkx
dnlwUXBuczdjWlNZSzBWbUlQUFZlVTJYcWVPYlE4dFR6VDZYVFB4aFB4OVZtdmE1NjJaNksKanNt
akFwUktpK01hZk9QcDhDa3pvUW5Lc2ovMzNITlBLcDI3Z2ZwakVoS2swNmhaOTVUMzhjY2ZlMHN1
dWFRNTk1ZS8vQ1h0WEQ3WApzZ1hvQzRuaHBjTHJxZmZsNmN1RHAxSEJIaVlMT2VHRUV6eE1qSUw2
cVBmdDZiaHVteTMxcVZId25uWVhwTzdOM2lOWTZCaHZUMThjCnpEbE01SUtKWGV4NWZPSTVvTzVo
dHRkZWU2V2x4M01zaG9HbnJSZnEyVk9ta2ZLbUh2aGIxVmFnUktxUjlQOXpJcFZpSVNSUXhRU3MK
N29yZHlQVmVkZHl1cDgxOXFTOGwrK1drZlZLZURnZktxYmhjQkJnaXEyLythZGZGbDdaNmpKSFho
SGlwMSt2cEVCTWp2UDRNYjd6eApocWVCWGFteTFidjNKMG50YjdYVlZxbDArREtFS0dVem5jakJs
SzNOMktsa3lLTVRtSGphck8wZGM4d3hxZkxBVXNkTnA5SzVHenI1CmlVbTM1cHBydW9kVDJ4QmhI
V2FVTWJ0WlB0ZENvWGloc3MvMnlTZWZURjNIM1RqMzNITlRhWkJXaDV5NXB6MzFjRDF0NnZaMDRw
VzAKZERyKzIxdG9vWVc4My96bU54NW1tb0tnNkZTTUhvVFpYaE9mR2lXY1ZwNjdNM255NUxTMGp6
NzZxSHM2c2UxeUVXQnQ0VEQzdS8vKworeWQyYnlnb3lmL25SQ3ZHd2tpZ0NnbFkzYzFiZ01GRW0v
ODhiUzVOK3dMRUY2Yk81T1RwTEZXaEhxU2ZaNVFBNDR2NXBaZGU4czQvCi8zempiYnBmenF1dHRs
cWdtUHF2Z1gxNFI4Z0xFUXN6NjJIWWF6ejg4TU9CU2JXNU9lMit3enhXWk5ZbVkrUFpRV1REVENO
UVk1Vm4KcDBQVVlWaGhSWG5hck9ocGsyN28rYmpYd2oxcUg2T3AxNjkvL2V2UThuQkNJM2xUOWRk
SldEeHRzZzVNNzdZeWFHU3hkL1hWVndlbQpzMEtENTZDVHNnU213Y0h2dnZ2T08rQ0FBenkwZ1B6
NXozODJubmxvNGdKT2xJTUFhNzk3aXZHRER6NVl3TjBFWjAzcS96bTRkQjRsCkFSS3dCQklSWUJR
R2p3NWlpeTlUSzFyMmM4U0lFYWJKMGw0MDdOTXZ3Q2dMYzBoalhtazBlL285YmN6RnU4TU9PM2ph
WjVxMWVkSzkKSGtUUWVyZFRwMDUxVDZWdHc4dXo5Y2ZuM252dm5YYmUzZEVKRUZKcGRRRUY5MVRh
OWwvLytsY2paRHAwSk8yNHV3UFAzcjF1bUtCcgprSmhKcDR0VGhNNkRyV003UFoweHpDMCtiVHZP
dGVBeDYxQ3ZWSjBnMnRsczJyUnBLYkhHZmZ6aUY3OElUQTdQM2Q0blBPQXdnMWRzCjArbFVwbUhK
U25hOEhBUVlMeGhnZ3I5L3RCUVV3NUw0Znk1R3ZWZ21DVlFUQVN2QU9RZGg2UmRBbWlFQ0ZvRTFX
QTFKQlRmdDNEZmYKZkdQbWdFYUFEV1lTaW10SWl5aGVCT0pvLzUrb0dLU3lZcklDQk9ZZ2dFZS9w
RU1qaVZNWnVqY3dyU0NDbHhDd28ySWhtSUFnNkFkVApXN3FHQ09rd1F3Q0xOY3hwallqaUlGTXZ6
MHd4NkU3bTRFL25qOTROaTI1ZFlva2xURlpFL21MMUpFUkMrMDI5Wk5samp6MzhoMVA3CmNhNTF5
eTIzaURiSm16d1lBNXV0N2tpRTZHc0VzbGtERDIyMXNMdXBUMFIzV3d1TEFzZDVkM2lOdmpEWkxE
WDlhU2Zmd0pTckxzY2sKb1JUai96bkorckVzRXFnbUFnVUxzSVdCaVRFUXhZcWhJQm9JWkErYlQx
MjFTTlNUVER1V2JRZlRBR0xpZTIzK2xidnZ2anR0YUFtVwpPeno3N0xPelpRODhwNTZ0T1k0Rkh0
UTdDLzJCY0dFT2F2dURoU0RDWGg2UUZ1TTRZVWdEb2ZVYkprMkFFR25RbVA5VVh2dmJiNzk5Ckto
OFlhUk84R1E2bWI0ZXA0MWpNQVpIR2haZ3JuaEI5T3k5M3RqSzFtVHJ0dEJYd3RJTXhkekNreXhx
aXBHdmRNR0hHdSsrK2F6QWsKRWYwY3hUUEovK2VvYS9FOENkUXFnY1FFMkFMRTBCUjhXV0J1WnRm
Z1VlV3phdEg2NjY4djU1MTNubHVVbVROWis4RFNqa1h0dlBQTwpPeVlKaHJaZ0RISGNIMjJ1RGZX
eTRTMjRZNkN2dmZaYVU2NWJGNnh5QTA5K3UrMjJjdy9udmEzOXlPS3Vab1F4czNpNXdYekFXSkVx
CktYTm5TSXJ5ZnUwMThheGNlL3Z0dDkxZGJoZEF3STc5eGNzcFdqNUtaVW4vUDVlcTNyd09DVlFD
Z2NRRkdEZU5sWkMwMzFNdXYvenkKTkFhNXp2aGpNeDl5eUNGcFRhcndOdmZjYzArSjJ6U0pwbkJN
SGdHelhvUXR1OUJQak1lMXpjWHdydSs3Nzc1VWtaaTRRNGQ0bUpXZAovTTIrcVVRNWJrRDAwUXFB
VmFaY3cvaFFmREZqNWFsdnYvM1dQWlhYdGl2QTJacUszY0xSRE8xYXR1WjdOeDIzb3dsWUFkWlln
N3dtClBvbStRbmlLcFArZnc2L0VNeVJRV3dTS0lzQVdJWnBkTWMrdE5YaEVHanhpZDNQNmhDZnBU
ajJKUGxBMHgrSXp5bHhCUXA5cGUzdDcKVkpiWTV6R2pGWnEwcldGaWZXdjQwb1FIamNsS2tqUk1H
QUlSMXNBZ3dkS05ybUZadTlWWFh6MzJ5NG1iMTkxMlh4alFaeDdIc01xUwpPNU5ZWE9HT1UzWXRw
OEgvalczQktYVHhoVUk0SnZuL1hFZzltSmNFcW9WQVRnSU00VUtUWnk0MmNlTEVWSEo0cm5FbmZF
OWw2dDVBCjA5dWRkOTVwWmw2eTUrQUJ3eE1PNjZPMTZmeE5xSEU5WjVzLzZ0TU54dEp4cUtKamNV
MFc5QW5yUkJKbTFxZW9Nbkk5anlBY0xGOEkKTDFNand0T3l3eE5IUUpUMSt0Tk94dHpCdEpiVzRn
b3cwc05ic3VhV1lZL3hNM2NDMXZ2Rnk5WTIyMnlUZXdFaE9Ycnkvem1rU2p4TQpBalZGSUNjQlJr
Q1JqcUhOQ1JBOFJCMHlrMU9lc01TWU9CNzlySzZoTDFoblkzSVBaV3hEdkRGeHZUVi9HZlo0MENj
aXNCRU1sczEwClVvNlV5T0psQU40Nm1yb1JKSlZVOEpXOXZuL0JDYnhjSUNMOHNjY2VTN3RIcER2
OTlOTnR0cHcvM2RZR05LWGJsNHFvZ3R3b2NyZU0KcUh3OEgwN0FDdkFXVzJ5UjlnSWFuaVBlbVo3
K2Y0NVhTNllpZ2VvbGtKTUFBd09pa25NeEJEdlpabWMwYTdxcnIrUlNqazI3ODg0NwpDOVlYZGcx
UjFnanl5bWFZcjlnYUJCTFJ6WEhzcEpOT01nc0VaRXVMcGxiMEJWdkRLbEU2RzVSWlRPR1h2L3ls
UFp6SXA5dmM3UmFvCk0yM0pjODg5SnpwMk9uVVkzbmkraHVocTE4TG14M2JUWUppWGZkWTRybU4r
M2RQY3pvTUFtcDV0WDNveG9wOTcrdjg1RHlUTVFnSlYKUXlCbkFjWllWenNlTVE0RkJQTmdUQzhN
aXg4RWpWL0Vxaml1UlRVcFEzRDlpNWZyekZCbUxMSmJqcnV0OHorbmR1SFY2a1FWYWVPTApVeWVk
RFN4MGNPV1ZWd3FDd0tJTTBkQzJQeFplSUJaRHdER01vVTNTMElkdCt3UDk1V0lZR0lMZnJCVXlm
R2ZYWFhjMWl5ellzckJRCmhEdlV5UjUzUDdHU2tUVjBEYmd2UGZaNHNUNmovbWFLZGQxaWwydi8x
L0R5bWxRa3ZWdm5ZdncvdStWem13UklJSnhBemdLTW9uVG0KSzdNQ1QzaXhQNTJ4WTJNUktheXpm
L3gwd3RtQzUrUmFSMGRIbWlmbG5zTTJSQTNpaU9FOTFpQTI2QXQxQTY3c09YeGk2VFozdFNRTQpp
Y0lMZ2M3QzVTWXoyL0Rhc2JxUVR2UXZtTUFqVGhNNmdvK3dXcEJydVFSZjRaNWQ4Kys3NTl4QUwv
YzR0akdCQlNLbFlSaENFbVQrCnN2Mzd5SU1YSlZ6SFJuanIvTjVwRWQ1QjVVS2tZZWdIRGh1ckRi
WnhETTNlMXJLSks1cmE4V3d4YmxpbnJKUkNYanJzOVlJKzNjbGcKZ3M1SEhVTzkvdlNuUDhtWU1X
UE15MS9jUUVEYi9Jeng5WGJNZWRTMWNqMmY5UDl6cnRkbmVoS29WUUo1Q1RDK2pORzhHTFQ4bmd2
eQpvb3N1U2kyTHB4UDJDMlpvQ3JLZ29VRll1aTZiWVVtOFcyKzlOYzNEaEpnaU1qb28rQWhDY3Rw
cHA2V042WDMyMldmTkdycklnLzVTCkNBNitKT0c1VFpnd1FiREVvRTU2bjYwYWFlZmNZQ3dNQ2ZK
UFNKS1cyTGVqY3hxbkhRbDdrVUFpTktIckNrTnA2ZTBPaGx6aHl4NzMKNjBhZzIvUDRqSHN0dERL
NEx4R1llU3dzaUE1TituWjVRY1FKdUgzdTdyWGQrOHEyZENBQ3lheEIvTnhoVWZZNFBpKzU1QkxU
TGRMVwoxaVo0QWNBeWs4VXdkOFl4WE12ZmFoTjFUYXlkZmM0NTU0aE9SeW82SjdtcGExUWVCQXZh
eVV5SzBmeHNyNS8wLzdNdGw1OGtRQUlSCkJOUXJ6Vmc1SjJ6T1RTd0xwOE5jekJ6TldxeFpZRUNi
R3MwaUNWaldEM01IWXc1Zi9hSkpMVCtIK1p4MWJHeFlrWjZ1bDVzMjV6REsKeFErV29jUEtQbEdt
bnBaSmIvUGhFMHZmWWZFRzlad3lzdDkxMTEyZWVvZ1plZHo4S2w2ZWltOWV5NzNacFFKVmpES3VI
WFlBOWNSOAoybTRkeG8wYloxWVI4dWV4ODFtcmwybFdFSExQWXg1ZnpKR05jalQ2M0QyVjJzN2xX
c2lFWjQ3Rkt6QS9OOHJGSWdrcURLbnlzSUY1Cm9MRU1JbFpoVWdGTU8rZnVZUGxFOXg1eEwvckM0
Q1l4Mi9vQ2xiSG9CdjVPZ3d3TE5iaGxodDEzVU42NHgzQy9tSC9adlE2V2FNekYKOFBmazVzKzIw
cFl0Rjl5UlIyTU1QTzNXc0ljVCt5ekcvM05pbFdOQkpGREZCS3p1aXQzSTlWNDF3dGVzdUtQRFhU
eGRDTjNER3I3NApzdEMrS2c4ckZHRzFIb2gxa0FqaVdsaitESXMxdUY5S1FkczZkN09uemNGWnE2
ZGpJd1BMd1VJT0VBZS9ZUjFiSFNLVHRuaUF2Ylo2CnZ4N3VMVis3NFlZYlBOUlp2YmJJSXJCaWtQ
YTFlaG9wSGxoL2JXSTNTeTlxQzBHcUxLdytwVk5nR2lGRW5iRUdML2F4V2hHMjhmTHgKd0FNUHBO
TGJqWHl1WmZQaUUydjZMclBNTXFsNllnMWtyS3VNWlJhMTc5dThSS21YNm1aSmJXdWZ0YWN0QWlr
UnQ2enhpWld6OERkawpSVjJqeGowZDU1eTZqcHNXblB6TERlSkZDK3Z6SWgzcXA1NXE2cnFGYk9E
RkVNdGVZc0VOdkpDNTliRGJlTG5VYmdkUHZmRElTK2xFCktlWmVrVmViOTgwYTFGR1p0TXZFWEJk
TGFCYmJDdjEvTG5iOVdENEpWQk1CcTd1OXNLRWlLYnF1cW40M0ZHYm9jOFQ0MDdEK3Y4SksKVHo0
M0p2RkE0QkNhd05FM2gvbHZ3NXBPNDE0ZGkwZGc0Z1NVVlF4REU2NnVvV3VLUmxNb211clJoSWpK
T1ZTQXpHSVR4Yml1TFJQTgovSmduR2o4SURFSlhCSjY3ZnlFT203NFVuK2d2UmxNdFpnZEQwM3U1
R3NiUVk5Z2N1aWZzTXd5cksvcktNWXNhRE9PcE1kVm9xYTNTCi9wOUx6WWZYSTRGOENVQnZvYnZK
aHVqbVc1c2V5b2ZnS3N3TmpaK2tESXNXRkV0OFVVZjNpMXRiSGN3WGN5bS9uREhkSkg3OGszOGsK
eFMrZmNqQURseTVabUUvV2t1WkJvSjUvd1lxd0NpRFFNS3dQUHl3UGo1TUFDVlFXZ2J5Q3NDcnJG
bGxiRWlBQkVpQUJFaWcvQW9sNgp3SWlTeGN4WE5CSWdnY29ud1AvbnluK0d2SVB5SnBDb0FHUFlE
bzBFU0tBNkNQRC91VHFlSSsraWZBbXdDYnA4bncxclJnSWtRQUlrClVNVUVLTUJWL0hCNWF5UkFB
aVJBQXVWTGdBSmN2cytHTlNNQkVpQUJFcWhpQWhUZ0tuNjR2RFVTSUFFU0lJSHlKVUFCTHQ5bnc1
cVIKQUFtUUFBbFVNUUVLY0JVL1hONGFDWkFBQ1pCQStSS2dBSmZ2czJITlNJQUVTSUFFcXBnQUJi
aUtIeTV2alFSSWdBUklvSHdKVUlETAo5OW13WmlSQUFpUkFBbFZNZ0FKY3hRK1h0MFlDSkVBQ0pG
QytCQ2pBNWZ0c1dETVNJQUVTSUlFcUprQUJydUtIeTFzakFSSWdBUklvClh3SVU0UEo5TnF3WkNa
QUFDWkJBRlJNd3F5Rk5tVEtsaW0rUnQwWUNKRUFDSkVBQzVVTUFtanR4NGtUcDVhbE5uank1Zkdy
R21wQUEKQ1pBQUNaQkFsUk00K2VTVDVmOEJyY3lXYmE4aFpkc0FBQUFBU1VWT1JLNUNZSUk9CgpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9XM0MtU1ZHLTEuMS9mb250cy1nbHlw
aC0wMi10LWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtl
ZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5nCgppVkJPUncwS0dn
b0FBQUFOU1VoRVVnQUFBZUFBQUFGb0NBWUFBQUNQTnlnZ0FBQURPMmxEUTFCSlEwTWdVSEp2Wm1s
c1pRQUFlQUdGCmxFdG8xRkFVaHYrTUtZSzBncWkxRnBUZ1FvdTBKVDdRaWxEYmFiWFdrWEVZKzlB
aXlEUnpaeHBOTXpHWkdSK0lTRUhjK1ZxS0d4K0kKaXlyaVFycFFjS1VMa1VMcmExRUVjYVVpaUVJ
M1VzYi9KdTFNS2xZdkpQbHl6bi9QNjRZQVZROVRqbU5GTkdEWXpydkpycWgyNlBDQQp0bmdDVmFo
Qk5iaFNodWUwSnhMN2ZhWldQdWV2NmJkUXBHV3lTY2FLOVIyWStMUnQ5ZjFMajJMdjY1NzIrcDc1
K25sdk5TNFRBb3BHCjY0cHN3RnNsRHdhOFYvTEp2Sk9uNW9oa1l5aVZKanZrUnJjbjJVRytRVjZh
RGZGZ2lOUENNNENxTm1weWh1TXlUbVFGdWFWb1pHWE0KVWJKdXAwMmJQQ1h0YWM4WXBvYjlSbjdJ
V2RER2xZOEJyV3VBUlM4cnRnRVBHTDBMckZwZnNUWFVBU3Y3Z2JFdEZkdlBwRDhmcFhiYwp5Mnpa
N0lkVHFxT3M2VU9wOUhNOXNQZ2FNSE8xVlBwMXExU2F1YzBjck9PWlpSVGNvcTlsWWNvcklLZzMy
TTM0eVRsYWlJT2VmRlVMCmNKTno3RjhDeEM0QTF6OENHeDRBeXg4RGlScWdad2NpNTlsdWNPWEZL
YzRGNk1nNXAxMHpPNVRYTnV2NmRxMmRSeXUwYnR0b2J0UlMKbHFYNUxrOXpoU2Zjb2tnM1k5Z3Fj
TTcrV3NaN3RiQjdEL0xKL2lMbmhMZDdscFdSZEtxVHMwUXoyL3FTRnAyN3lZM2tleGx6VHplNQpn
ZGRVeHQzVEc3Q3kwY3gzOXdRYzZiT3RPTTlGYWlKMTltRDhBSm54RmRYSlIrVThKSTk0eFlNeXBt
OC9sdHFYSU5mVG5qeWVpMGxOCkxmZTJuUm5xNFJsSlZxd3pReDN4V1g3dEZwSXk3enBxN2ppVy84
Mnp0c2h6SElZRkFSTTI3elkwSk5HRktKcmd3RVVPR1hwTUtreGEKcFYvUWFzTEQ4YjhxTFNUS3V5
d3F1dkNaZXo3N2UwNmd3TjB5ZmgraWNZdzBsaU5vK2p2OW0vNUd2Nm5mMGI5ZXFTODBWRHdqN2xI
VApHTC84blhGbFpsbU5qQnZVS09QTG1vTDRCcXR0cDlkQ2x0WmhYa0ZQWGxuZkZLNHVZMStwTDNz
MG1VTmNqRStIdWhTaFRFMFlaRHpaCnRleStTTGI0SnZ4OGM5a1dtaDYxTDg0K3FhdmtlcU9PSFpt
c2ZuRTJYQTFyLzdPcllOS3lxL0RralpBdVBHdWhybFUzcWQxcWk3b0QKbXJwTGJWTmIxVTYrN1ZU
M2wzZjBjbFltVHJKdWw5V24ySU9OMC9SV1Ryb3lXd1QvRm40eC9DOTFDVnU0cHFISmYyakN6V1ZN
Uy9pTwo0UFlmZDBqNUwvd05BWVVWRFh4TE96c0FBQ0FBU1VSQlZIZ0I3WjBKK0J4Rm5mY3JRb0pL
b29DRWdJcEFFcEFiQWdpRW00UndDQUtLCkJoU0IzVlVYeEFVQ2dxSkNEcFlGRjVBVmNIV1I5VVJR
VkJBUTJFQU9CQU1oeWhVdXVTOUZEWkZERXE1dzlGdmZmcTJodStmcW51bnUKcWVuNS9KNG5tVDdx
K05Xbi9qUGZydW82aGdUV3BrMmJaakFJUUFBQ0VJQUFCTW9oTUdQR0RMTzgvanZsbEZQTTlPblR5
OG1WWENBQQpBUWhBQUFJRFRFQzZLMXRlLzAyZE90WFFDaFlKREFJUWdBQUVJRkE4Z1RmZmZOTzhy
ZmhzeUFFQ0VJQUFCQ0FBZ1NRQkJEaEpoSE1JClFBQUNFSUJBQ1FRUTRCSWdrd1VFSUFBQkNFQWdT
UUFCVGhMaEhBSVFnQUFFSUZBQ0FRUzRCTWhrQVFFSVFBQUNFRWdTUUlDVFJEaUgKQUFRZ0FBRUls
RUFBQVM0Qk1sbEFBQUlRZ0FBRWtnUVE0Q1FSemlFQUFRaEFBQUlsRUVDQVM0Qk1GaENBQUFRZ0FJ
RWtBUVE0U1lSegpDRUFBQWhDQVFBa0VFT0FTSUpNRkJDQUFBUWhBSUVrQUFVNFM0UndDRUlBQUJD
QlFBZ0VFdUFUSVpBRUJDRUFBQWhCSUVrQ0FrMFE0Cmh3QUVJQUFCQ0pSQUFBRXVBVEpaUUFBQ0VJ
QUFCSklFRU9Ba0VjNGhBQUVJUUFBQ0pSQkFnRXVBVEJZUWdBQUVJQUNCSkFFRU9FbUUKY3doQUFB
SVFnRUFKQkJEZ0VpQ1RCUVFnQUFFSVFDQkpBQUZPRXVFY0FoQ0FBQVFnVUFJQkJMZ0V5R1FCQVFo
QUFBSVFTQkpBZ0pORQpPSWNBQkNBQUFRaVVRQUFCTGdFeVdVQUFBaENBQUFTU0JCRGdKQkhPSVFB
QkNFQUFBaVVRUUlCTGdFd1dFSUFBQkNBQWdTUUJCRGhKCnBFTG5Eenp3Z05FL2JIQUlyTC8rK21i
SWtDRmUvcE52R0FRZzhCWUJCUGd0RnBVN3V2YmFhNDMrWVlORFlJODk5dkMyc0Q3NzVpMDAKSEtz
MEFRUzR3dFdMQUZlNGNwc1V6V2VSODltM0pqaTVESUZDQ1N4ZmFPb2szak1DeTVZdE16ZmNjRU9Z
djQ2SERSdldNMS9JdUR3QwpPKys4YzFqWHFuT2ZUSDkvOGcyREFBVGVJa0FMK0MwV2xUcjY3Vzkv
YTE1ODhjWHduNDZ4d1NDdzRvb3JtaDEzM05HN3dzb24rWVpCCkFBSnZFVUNBMzJKUnFhUG91OS9v
Y2FVS1NXRWFFdkN4cTlkSG54ckM0eUlFU2lTQUFKY0l1OHlzb3FJYlBTN1RCL0xxRFFFZnhjNUgK
bjNwVE8rUUtnYmNJSU1CdnNhak0wYUpGaTh6ZGQ5OWRLNCtPZFEwYkRBS2JiTEtKR1RWcWxEZUZs
Uy95Q1lNQUJPSUVFT0E0ajBxYwp6Wnc1MHdSQlVDdUxqblVOR3d3Q21nZTg1NTU3ZWxOWStTS2ZN
QWhBSUU0QUFZN3pxTVJab3k3blJ0Y3FVVmdLMFpDQVQxMitQdm5TCkVCWVhJZEFqQWdod2o4QVhs
YTFhdTdObno2NUxYdGVpcmVLNkFGeW9GSUhkZHR2TmkxYW5Xcjd5QllNQUJPb0pJTUQxVFByNnlt
MjMKM1dZV0wxNWNWd1pkMHoxc01BaU1IRG5TYkxubGxqMHZySHlRTHhnRUlGQlBBQUd1WjlMWFYx
cDFOYmU2MTR0Q1Q1OCszZWhmbnVicgpPc2pPcnp6TDJpNHRIN3ArZmZDaEhTZnVRNkJYQkJEZ1hw
RXZLTjlXSXR2cVhrSHVORTFXd2p0anhvendYOTRpM0RUVEFidmhnL2o1CjRNT0FWVHZGN1NNQ0NI
QWZWVlk3VjVjc1dXSnV1ZVdXcHNGMFQyRjZiVTU4blI4U1lrVFkwY2p2Yzl0dHR6VWpSb3pJTDhH
TUtTbHYKK1lCQkFBS05DU0RBamJuMDVkVTVjK2FZMTE1N3JhbnZ1cWN3dmJTaytEcGZFR0ZISXIv
UG9VT0htb2tUSithWFlNYVVsTGQ4d0NBQQpnY1lFRU9ER1hQcnlhcHE1dm1uQ0ZGWDRadUxyOGtP
RUhZbjhQbnM1SDdpWGVlZEhrSlFnVUJ3QkJMZzR0cVduUEd2V3JMWjVwZ25UCk5wRU9BclFUWDVj
a0l1eEk1UE01YWRLa2ZCTHFJSlZlNXQyQnUwU0JRT2tFRU9EU2tSZVQ0WU1QUG1nZWZmVFJ0b2ty
ak1LV2FXbkYKMS9tRUNEc1MzWCtPSGozYXJMZmVldDBubERFRjVhbThNUWhBb0RrQkJMZzVtNzY2
azJXRWM1YXczVUxJS3I0dVAwVFlrZWorc3hjagprWHVSWi9la1NBRUM1UkpBZ012bFhWaHVXVVEx
UzlodUhPNVVmRjJlaUxBajBkMW5MOFN3RjNsMlI0bllFQ2lmQUFKY1B2UGNjMXkyCmJKbTU0WVli
VXFlcnNJcFRwSFVydnM0M1JOaVI2UHh6NTUxM05zT0dEZXM4Z1l3eGxaZnl4Q0FBZ2RZRUVPRFdm
UHJpN3J4NTg4elMKcFV0VCs2cXdpbE9VNVNXK3pqOUUySkhvN0hQNDhPRm1oeDEyNkN4eUI3R1Vs
L0xFSUFDQjFnUVE0Tlo4K3VKdUoxM0tuY1JKQXlOdgo4WFY1SXNLT1JHZWZaWFlKbDVsWFp6U0lC
UUUvQ0NEQWZ0UkRWMTUwSXFhZHhHbm5aRkhpNi9KRmhCMko3SjlsaW1LWmVXVW5RUXdJCitFTUFB
ZmFuTGpyeVpOR2lSZWF1dSs3S0hGZHhGRGN2SzFwOG5aK0lzQ09SN1hQVFRUYzFvMGFOeWhhcGc5
REtRM2xoRUlCQWV3SUkKY0h0R1hvZFFTN2FUZlg0Vko2OVdjRm5pNnlvQ0VYWWswbjlxTjZZeVdx
YktRM2xoRUlCQWV3SUljSHRHWG9mb1JrUzdpZXVnbEMyKwpMbDlFMkpGSS8xbVdBS2YzaUpBUUdH
d0NDSEFmMTc5YXNkMHNMYW00bmJTZUhiSmVpYS9MSHhGMkpOSjlhbW5JSWx1blNwdmxKOVBWCkJh
RWdJQUlJY0IvL0hkeCsrKzFtOGVMRkhaZEFjWlZHSjlacjhYVStJOEtPUlB2UGtTTkhtaTIyMktK
OXdBNURLRzNsZ1VFQUF1a0kKSU1EcE9Ia1pLbzh1NUU3UzhFVjhYYVVnd281RSs4OGl1NkdMVEx0
OXlRZ0JnZjRqZ0FEM1g1M1ZQTzVFUEd1Ui8zR1FOUTNmeE5lVgpCeEYySkZwL0ZpbVNSYWJkdWxU
Y2hVQi9Fa0NBKzdQZXpKSWxTOHo4K2ZPNzlsNXBLQzFzTUFpTUh6L2VqQmd4SXZmQ0trMmxqVUVB
CkF1a0pJTURwV1hrVmNzNmNPZWExMTE3cjJpZWxvYlRTbWxyQTA2Wk5TeHU4dEhEeVNiNWhyUWtN
SFRyVVRKdzRzWFdnRHU0cVRhV04KUVFBQzZRa2d3T2xaZVJVeWE5ZHhLK2V6cHVXYkNDTytyV3Ez
L2w0UlhjVkZwRm52T1ZjZ1VDMENDSENmMXVkMTExMlhtK2VkcE9XTApDQ08rMmY4TWR0OTk5K3lS
MnNRb0lzMDJXWEliQW4xUEFBSHV3eXA4NktHSHpLT1BQcHFiNTBwTGFXYTFYb3N3NHB1MXh2NS8r
TkdqClI1dDExMTIzczhnTllpa3RwWWxCQUFMWkNDREEyWGg1RVRwcmwzRWFwenROczFjaWpQaW1x
ZFhtWWZMc01zNHpyZVllY3djQzFTT0EKQVBkaG5YWXFscTJLMmsyYVpZc3c0dHVxSnRQZHkxTTA4
MHdybmZlRWdrQTFDQ0RBZlZhUEdyWDhtOS84Sm5ldmxXWTNvNnJMRW1IRQpONStxMzJXWFhYSVp0
YXlSejBvTGd3QUVzaE5BZ0xNejYybU1lZlBtbWFWTGwrYnVnOUpVMnQxWTBTS00rSFpUTy9HNHc0
Y1BOenZzCnNFUDhZZ2RuU2tOcFlSQ0FRSFlDQ0hCMlpqMk4wVTFYY1R2SDgwaTdLQkZHZk52Vlh2
YjdlWFFkNTVGR2RzK0pBWUZxRUVDQSs2d2UKOHhESlprWE9LKzI4UlJqeGJWWmozVjNQUXp6elNL
TzdVaEFiQXYxTEFBSHVvN3BidEdpUldiaHdZV0VlSzIzbGtZZmxKY0tJYng2MQowVGlOelRiYnpJ
d2FOYXJ4elJSWEZWZHBZQkNBUUdjRUVPRE91UFVrbGhiTTZHYi8zblpPSysxT0Z1Vm9sbTYzSW96
NE5pT2J6M1h0CjM5dk5BaHFLVytUK3d2bVVrbFFnNEM4QkJOamZ1cW56TEs4dTRycUVJeGZ5enFO
VEVVWjhJNVZTNEdFM1hjamR4QzJ3U0NRTmdiNGgKZ0FEM1NWV3BkVHByMXF6Q3ZWVWVlYmV5czRv
dzRsdDROZGN5bURScFVrZXRXTFY4RlJlREFBUTZKNEFBZDg2dTFKaDMzSEdIZWZycApwd3ZQVTNr
b3I3d3RyUWdqdm5tVGI1M2VhcXV0WnNhTkc5YzZVSU83aXFPNEdBUWcwRGtCQkxoemRxWEduRGx6
Wm1uNUZaVlhPeEZHCmZFdXI0bGhHZSs2NVordzh6VWtuY2RLa1N4Z0lEQklCQkxoUGFqdnZkN090
aWwxa1hzMUVHUEZ0VlNQRjN1dmtYVzRuY1lvdEJhbEQKb1A4SUlNQjlVR2RMbGl3eDgrZlBMODFU
NWFVOGk3S2tDQ08rUlpGT2wrNzQ4ZVBOaUJFajBnVzJvUlJXY1RBSVFLQTdBc3QzRjUzWQpaUkNZ
TzNkdVYrczBaL1ZSYTBJcnovMzIyeTlyMU5UaEpjTE9vc2Z1R3AvbEVkQjZ6aE1tVERCWFhIRkZx
a3dWVm5Fd0NFQ2dPd0lJCmNIZjhTb2xkWkpkd3N3SW96eUlGV1BrV0lieDVqK0J1eHFkcTE5V2xu
RmFBNlg2dVd1MVRubDRSb0F1NlYrUXo1SnZuNGhocHMrMUYKbm1sOUkxeitCTElzeUpFbGJQNmVr
aUlFcWtNQUFmYThMaDkrK0dIenlDT1BsTzZsOGxUZTJHQVFHRE5takJrN2RtemJ3aXFNd21JUQpn
RUQzQkJEZzdoa1dta0l2dXA5ZGdYcVp0L09Cei9JSXBPbGFUaE9tUEkvSkNRTDlUUUFCOXJ6K2Vp
bUN2Y3piODJxcHBIdHB4RFZOCm1FckNvVkFRS0lBQUFsd0ExTHlTMUdqazY2Ky9QcS9rTXFlanZP
VUROaGdFZHQxMTE1YWptelh5V1dFd0NFQWdId0lJY0Q0Y0MwbmwKcHB0dU1rdVhMaTBrN1RTSktt
LzVnQTBHZ2VIRGg1dnR0OSsrYVdGMVQyRXdDRUFnSHdJSWNENGNDMG5GaHk1Z0gzd29CQzZKTmlU
UQpxb3U1MWIyR2lYRVJBaEJvU1FBQmJvbW50emQ5RUQ4ZmZPaHRMUXhXN3ExRXR0Vzl3YUpFYVNH
UUR3RUVPQitPdWFlaVhZbnV2UFBPCjNOUE5tcUI4S0dNWHBxeCtFYjRZQXB0dnZubkRYWTYwODVI
dVlSQ0FRSDRFRU9EOFdPYWFraGJDOEdGVkovbkFvaHk1VnEzWGlXbWYKMzBZTGJlaWE3bUVRZ0VC
K0JCRGcvRmptbXBKUFhiOCsrWklyWkJKclNLQlJWM09qYXcwamN4RUNFRWhOQUFGT2phcThnTDYx
T24xcApqWmRYQTRPZFU3SzEyNnhWUE5pVUtEMEV1aWVBQUhmUE1QY1U3cmpqRHEvZXUrb2RzSHpD
Qm9PQTN2ZU9HemV1VmxnZDZ4b0dBUWprClN3QUJ6cGRuTHFuNTJPWHJvMCs1d0NhUmhnU2lYYzdS
NDRhQnVRZ0JDSFJFQUFIdUNGdXhrWHdVT3g5OUtyWVdCanYxcU9oR2p3ZWIKQ3FXSFFMNEVFT0I4
ZVhhZG1sYWZ1dm5tbTd0T0orOEU1Rk12VitYS3V6eWsxNXJBZHR0dEY2NTZwWld2ZEl4QkFBTDVF
MENBODJmYQpWWXB6NTg3MWN2MWxyUWt0MzdEQklLQjFueWRNbUJEKzB6RUdBUWprVHdBQnpwOXBW
eW42M05YcnMyOWRRU2R5UXdMcWVxYjd1U0VhCkxrSWdGd0xMNTVJS2llUkd3R2VSODltMzNDcUFo
R29FRU44YUNnNGdVQWdCQkxnUXJKMG4rdkRERDNjZW1aZ1F5SkhBbURGamNreU4KcENBQWdTUUJ1
cUNUUkRpSEFBUWdBQUVJbEVBQUFTNEJNbGxBQUFJUWdBQUVrZ1FRNENRUnppRUFBUWhBQUFJbEVF
Q0FTNEJNRmhDQQpBQVFnQUlFa0FRUTRTWVJ6Q0VBQUFoQ0FRQWtFRU9BU0lKTUZCQ0FBQVFoQUlF
a0FBVTRTNFJ3Q0VJQUFCQ0JRQWdFRXVBVElaQUVCCkNFQUFBaEJJRWtDQWswUTRod0FFSUFBQkNK
UkFBQUV1QVRKWlFBQUNFSUFBQkpJRUVPQWtFYzRoQUFFSVFBQUNKUkJBZ0V1QVRCWVEKZ0FBRUlB
Q0JKQUVFT0VtRWN3aEFBQUlRZ0VBSkJCRGdFaUNUQlFRZ0FBRUlRQ0JKQUFGT0V1RWNBaENBQUFR
Z1VBSUJCTGdFeUdRQgpBUWhBQUFJUVNCSkFnSk5FT0ljQUJDQUFBUWlVUUFBQkxnRXlXVUFBQWhD
QUFBU1NCQkRnSkJIT0lRQUJDRUFBQWlVUVFJQkxnRXdXCkVJQUFCQ0FBZ1NRQkJEaEpoSE1JUUFB
Q0VJQkFDUVFRNEJJZ2t3VUVJQUFCQ0VBZ1NRQUJUaExoSEFJUWdBQUVJRkFDQVFTNEJNaGsKQVFF
SVFBQUNFRWdTUUlDVFJEaUhBQVFnQUFFSWxFQUFBUzRCTWxsQUFBSVFnQUFFa2dRUTRDUVJ6aUVB
QVFoQUFBSWxFRUNBUzRCTQpGaENBQUFRZ0FJRWtBUVE0U1lSekNFQUFBaENBUUFrRUVPQVNJSk1G
QkNBQUFRaEFJRWtBQVU0UzRSd0NFSUFBQkNCUUFnRUV1QVRJClpBRUJDRUFBQWhCSUVrQ0FrMFE0
aHdBRUlBQUJDSlJBQUFFdUFUSlpRQUFDRUlBQUJKSUVFT0FrRWM0aEFBRUlRQUFDSlJCQWdFdUEK
VEJZUWdBQUVJQUNCSkFFRU9FbUVjd2hBQUFJUWdFQUpCQkRnRWlDVEJRUWdBQUVJUUNCSkFBRk9F
dUVjQWhDQUFBUWdVQUlCQkxnRQp5R1FCQVFoQUFBSVFTQkpBZ0pORU9JY0FCQ0FBQVFpVVFBQUJM
Z0V5V1VBQUFoQ0FBQVNTQkJEZ0pCSE9JUUFCQ0VBQUFpVVFRSUJMCmdFd1dFSUFBQkNBQWdTUUJC
RGhKaEhNSVFBQUNFSUJBQ1FRUTRCSWdrd1VFSUFBQkNFQWdTUUFCVGhMaEhBSVFnQUFFSUZBQ0FR
UzQKQk1oa0FRRUlRQUFDRUVnU1FJQ1RSRGlIQUFRZ0FBRUlsRUFBQVM0Qk1sbEFBQUlRZ0FBRWtn
UVE0Q1FSemlFQUFRaEFBQUlsRUVDQQpTNEJNRmhDQUFBUWdBSUVrQVFRNFNZUnpDRUFBQWhDQVFB
a0VFT0FTSUpNRkJDQUFBUWhBSUVrQUFVNFM0UndDRUlBQUJDQlFBZ0VFCnVBVElaQUVCQ0VBQUFo
QklFa0NBazBRNGh3QUVJQUFCQ0pSQUFBRXVBVEpaUUFBQ0VJQUFCSklFRU9Ba0VjNGhBQUVJUUFB
Q0pSQkEKZ0V1QVRCWVFnQUFFSUFDQkpBRUVPRW1FY3doQUFBSVFnRUFKQkJEZ0VpQ1RCUVFnQUFF
SVFDQkpBQUZPRXVFY0FoQ0FBQVFnVUFJQgpCTGdFeUdRQkFRaEFBQUlRU0JKQWdKTkVPQytjd0pO
UFBtbk9QZmRjYzgwMTE1alhYMys5OFB5S3pPRFBmLzZ6ZWZubGw0dk1nclFoCkFJR0tFa0NBSzFx
eHZoYnI5dHR2TjV0c3NvazU1cGhqek41NzcyM1dYMzk5ODh0Zi90SlhkNXY2OWNvcnI1ajk5OS9m
dk85OTd6T3IKcnJxcU9lS0lJOHhUVHozVk5EdzNPaVB3eGh0dm1BY2VlTUNJTndhQnFoRkFnQ3RX
b3pmZmZMTTU2YVNUekM5KzhRdnoybXV2ZVZXNgpOOTk4MHh4MjJHSG1oUmRlcVBuMXlDT1BtRTk4
NGhObXYvMzJNMy83Mjk5cTEzMC9PUEhFRTgwVlYxd1J1dm5TU3krWjg4OC9QM3lZCk9PKzg4MHdR
Qkw2NzN4ZitQZjc0NDJiampUY091WTRhTmNwOCtjdGZOczgvLzN4ZitJNlRFRWhEQUFGT1E2bFB3
dno4NXo4M08rNjQKby9tUC8vZ1BNM255WkxQZWV1dUZRdXlMKzNQbXpESDMzSE5QUTNldXZQSktN
Mzc4ZUtNdVhkL3RMMy81aS9uMnQ3OWQ1K2JTcFV2TgowVWNmYlE0NDRBQmFiSFYwc2wzUVE4eEJC
eDFrN3IvLy9qQ2lIdHJPT09NTTg4RVBmckF2ZTB5eWxaN1FnMElBQWE1SVRULzMzSE5oCk42aGFt
YzdVZ3BBUXE2djAyV2VmZFpkNzlybmNjc3UxelB2aGh4ODJYL3ppRjF1RzhlSG1mZmZkMTdKMzRW
ZS8rcFU1NFlRVGZIQzEKYjMyNCt1cXJ6WUlGQytyOGYvcnBwOE1lazM3NE82bHpuZ3NRU0JCQWdC
TkErdlgwcHovOXFaRUlOekoxbFc2Ly9mYm1tV2VlYVhTNwp0R3NUSmt3d3A1eHlTc3Y4VmxoaGha
YjNmYmk1eXk2N21MMzIycXVsSy9QbnoyOTVuNXV0Q2JpV2I3TlFaNTk5dHJuZ2dndWEzZVk2CkJQ
cUNBQUxjRjlYVTNzbjN2T2M5TFFQcEIrM1VVMDl0R2FhTW15ZWZmTEs1N3JycnpOcHJyMTJYM1R2
ZThRNmorNzZiV3ZMcU10YzcKeVdhdCtxT09Pc3IzWW5qdDMyYy8rOW53L1c4ckp6V2dENE5BUHhO
QWdQdTU5aUsrSDNqZ2dlYXJYLzFxNUVyOTRXcXJyVlovc1FkWApKazJhWlA3d2h6K0U3NnBYWG5u
bDBJTzN2ZTF0NFVDbU1XUEc5TUNqN0ZrdXYvenk1dXRmLzdyNS9lOS9iM2JhYWFkWUFocmRmZWlo
Cmg4YXVjWktOd0VvcnJXUnV1dW1tcGh6Rm40ZWNiRXdKN1IrQklkT25Udy8wM25ER2pCbitlWWRI
bVFuTW1qWExISDc0NGVheHh4NkwKeFYxenpUV04zbDBPSHo0OGRyM1hKeHBCUEhmdVhDUGgzV0NE
RFhydFRzZjVYMy85OWViaWl5ODI3MzN2ZTQxR1NLczFqK1ZEUUg4Zgp4eDEzbkZtNGNHRXRRUTAw
YlBmQVdRdk1BUVE4SXlDOWxlNGl3SjVWVEI3dXZQcnFxK2FjYzg0eFo1MTFsbG04ZUxGUmEyTG16
SmxtCm0yMjJ5U041MG9CQTZRUTBLdnFxcTY0S0YyL1pkdHR0dytsc3BUdEJoaERJaVlBVDRPVnpT
bzlrUENLZ2dVeGYrdEtYekpRcFU4SXUKVWkxMjBlNGRzVWZ1NHdvRTZnZ01HVExFZk9Rakh3bi8x
ZDNrQWdUNmxBQUMzS2NWbDhidFljT0doYU9mMDRRbERBUWdBQUVJbEV1QQpRVmpsOGlZM0NFQUFB
aENBUUVnQUFlWVBBUUlRZ0FBRUlOQURBZ2h3RDZDVEpRUWdBQUVJUUlCM3dQd045SlRBc21YTHds
MkV0TmJ2CjI5Lys5bkN3bUhZWDZqZXJTam42alR2K1FxQ2ZDU0RBL1Z4N2ZlcTcxcWorOFk5L0hL
NG1kZGRkZDlXdHE2d1IyMXR2dmJYWlk0ODkKd3JXczExaGpEUzlMV3BWeTlCS3V0bkRVL0Y3dEVh
MkhNTTFUWDJ1dHRjSjU0YU5IanpZYVNOaXBhZXFTZGdmVDN0TmFDUzQ2ajdqVApOSWtIZ1R3Sk1B
ODRUNXA5bnBZV3hiamxsbHVNZnZnYUxSWFpiZkcwT01qVXFWT04xcTNXUHE5cFRDc2VhYXRDTFZH
NTJXYWJwWWxTCmVKaXFsS053VUMweXVQenl5OE4xd2UrNDQ0Nm1vYlRNcC80T3RRT1NwdEp0dU9H
RzRmS1UycUp3eFJWWHJJdW4rZThTV1ludXZIbnoKekEwMzNGRGI0bElMbytqdkc0T0FEd1RjUEdB
RTJJZmF5T0NEZm1TMDR0S3ZmLzFybzlhajl0QWRNV0pFK0NNMWJ0eTRzT1dvRGUvSApqaDFySkY3
dFRBdDFhTE9HYTY2NXhzeWVQZHNzV2JMRWZQakRIemJhalNZdlUwdEVpNEpJZkR2ZFdGM3pRRC8x
cVUrWmIzempHMFo3CncvYkNxbEtPWHJDTDVxazF0TFcxWUtlbXZ3V3RuUGJ1ZDcrN2xzU0xMNzVv
dExkMHN6Mnd0OWhpQzNQYmJiZlZ3bk1BZ1Y0U2NBTGMKL2hlNmwxNlNkNHpBejM3MnMzQzd2dVNl
dVgvLys5L05uLzcwSjZQOWRwMXBiV1VKbGNSWngwbDcvZlhYdzgzTkplQkowM0tLZVptVwpXenY0
NElPTmZHOWs2bUxVKzlOMkp2Rzc2S0tMd3RXUXRNclhZWWNkMWk1S3J2ZXJVbzVjb1hTUTJGZSs4
cFd1eEZkWjZtOUJXMWRtCk1lMEdoa0hBTndJSXNHODEwc0FmaWFYV2QvNys5Ny9mNEc3alN4SU1i
Unl2ZjFrdHp4K3JiMzNyV3pIeGZmLzczMiswMDQwMkxGQlgKb2daZXFYeDYvNmQzcW1xbHFPdFFl
K28yNmpMVXc4WS8vZE0vaFMxMmJVZjNybmU5SzJ2eE9ncGZsWEowVlBpY0lxbSt0SUZGTDB6agpD
VEFJZUVkQW16SFlya0g3VUluNVNNQjJxUVYyQ2I3QS91R1U4cysybG9PLy92V3Z1YUhZY2NjZFE3
OXRTenc0N2JUVGdwZGZmamxWCjJsYVFnelBQUEROUXZHWmx0KzhHQTd1clVxcjB1ZzFVbFhKMHk2
SFQrTC83M2U4Q3UwUnEwN3BzVnNkNVhGOWxsVlVDKytxalU5ZUoKQjRIY0NUamQ1UjJ3L1liN2JN
Y2NjMHc0aXJNc0gzZmZmWGR6N2JYWDVwYWR1cDZYTGwxcVB2YXhqeG43UTVnNVhZMlMvZmpIUHg0
TwpEbXNVV1MxZzdjMjc4ODQ3TjdxZDI3V3FsQ00zSUJrU1VtK014aVZvTnk3Wm5udnVhYjd3aFMr
RWcvM2UrYzUzaHVNQ3RKdlVrVWNlCm1TRlZFL1orYkxUUlJtRTYranZRNnhZTjdudisrZWZEc1JI
UFBQT01VWS9KRVVjY2tUbnRUSTRRR0FJWkNiaDN3QWh3Um5CbEJ0ZG8KemgxMjJDRjg1NlY4OVdP
eit1cXJtd2NlZUNCODU5dXRMNXJ1c2V1dXU0YWJ5bXRBMXozMzNCT0tyMjN0ZFp0MHJ2RnRxem44
MGI3eAp4aHNicHFzUnJwZGRkbGtZcG1FQVR5NVdwUnhaY1M1WXNNQm9CeU1KNU9tbm54NktvUVpT
SlUzVHo1NTk5dG5rNWRpNUJsTWRjc2doCjRTdU1kZGRkTjNhUEV3ajBDd0Vud0x3RDlyakdiQmRz
S0w3NllkSUFKUGNlU3lPSjFlS3ozWG90dmRlQ0Z1dXNzMDY0TjNCeXNOV0UKQ1JQQzk2amFPY21a
N1djeGpYNFkzZjFlZlVwZzlVNVkwNUEwMkN4cEVqWk5WZEwwSnJXMGZiV3FsQ01yWC9WOGFBUzhX
cUxONW5RLwo5OXh6RGQvNXU3ejIybXN2ODdXdmZZM05SUndRUGl0Qm9INTRiQ1dLVlkxQ2FFQ1NS
RmR6SlozNHFtUWF1TFRQUHZzMExLVG1UbXFRCjBxMjMzaHJ1QlN5UmZ2REJCK3MydTFjWFlGUjhs
WmlQNHVzS3FSOXhEWVJxWmhwSlBYbnlaUE9Ubi95a1dSQXZybGVsSEZsZ3FxV3EKSi81bTRxdTBU
ajMxMUlaVDFEVDNWNFB5TkUwdXo4R0JXZnduTEFTS0lvQUFGMFUyaDNTZmVPSUpNM1BtVExQbW1t
dldwZlovLy9kLwpkZGYwWXlYQi9jRVBmbUMyM0hMTDJ2MlZWMTdaYU9wTzFMVFlScitaV3JuYmJM
Tk5VN2YxL3UvUVF3ODE1NTkvZnRNd1B0eW9Tam55CllxbUh4ZVRmcHg0R1R6enh4UERoYzZlZGRz
b3JLOUtCZ0ZjRUVHQ3ZxaVB1VExNV3FicGo1OCtmSHd1c3pjcjFyazN2eUJyWnBFbVQKVFBTZDJl
MjMzOTRvbVBmWE5DaXRsYWtiWFYyZFdyRERaNnRLT2JwbHJOY0hlbWlLcm95bW5obTljdEg3NG02
V291eldOK0pEb0dnQwpDSERSaEhOT1h5ditUSmt5SlpicVFRY2RGQTVDMGpxNnJleUFBdzZvM1Q3
dXVPUEMxYlJxRi9ya0lMcjZVU3VYanovK2VLTXlKdDk5CnQ0cFQ1cjJxbEtOYlpxb25PNVdzbHN6
UW9VUERVZTJmL09RbmE5YzRnRUJWQ1RBS3VzOXFWdUliN2E3VHNwRmFTakxOc3BOejU4NDEKRXlk
T2pKVjRxNjIyQ3E5cDFheG1MZTVZQkh1aUg4bG1TLzRsdytaNXJoR3k2bDV2TkJDcldUN3lWUXQr
YUQzaGtTTkhtcFZXV2lrYwpqYXZyVlNtSDNpdnIvYmZHQnZTVGFUblZmZmZkdCtheS92NjB6S29l
S0RFSVZKa0FvNkQ3c0hhMXdQeDU1NTFYODF6dmZDKzU1SkpVCjRxdEltdEtrcVNCYTc5bVozci9w
WHhiVFVwWEo1VEN6eEM4enJCNFVOSWl0MGFML1ZTbUhlR29hbWRiYjdoZHo4M09qL21xVU0rSWIK
SmNKeDFRblFCZDBuTmF4TkdEN3ptYzhZTFdvZzA1U1dTeSs5Tk55K0xXMFI5RDd0d0FNUFRCdWNj
SDFFSU92YXlMMHUyZ2tubkJCNwppTlBEb1YwZHFOZHVrVDhFU2lXQUFKZUt1L1BNMU8yczZVVE9O
RzFEVzdSbHRaTk9PaWxzQldlTlIzaS9DZWhWUXIvWXZmZmVhNzczCnZlL1YzTlZxV0JkZWVHRzRJ
RXp0SWdjUUdBQUNDSEFmVkxLV2NveHUzNllWc1pJRHNkSVdRNnRmcWVXc3JtaXNHZ1Mwd1lYbWRm
ZUwKYVc5bjE1TWpuL1ZRdUxiZDl4ZUR3S0FSUUlEN29NYTF1SVRXdFhXbTZSbU50aGgwOTl0OWFr
cVNscDA4K3Vpanc4RkovVFo0cDEzNQpCdVcrWGtOb1hXVU5ydE5jNzM0d0xhT3FhWFRPOUI2KzA0
ZEpsd2FmRU9oWEFpeEYyUWMxcDIzY25HazBiN05Wc0Z5WU5KOGYrTUFICllxT3AwOFFoREFTNkpm
Q2Q3M3dubHNTeHh4NGJqbWVJWGVRRUFnTkNnQmF3NXhXOWNPRkNFMTAwUS9zQ3A1MHU1SG5SY0cv
QUNHaEUKZW5TcFVQVzhhRzlvREFLRFNnQUI5cnptazFzRGFtcytEQUw5U0VCL3k5RlhLZXJKMGJ4
c0RBS0RTZ0FCOXJ6bTU4eVpVL05RbzU0YgpyUXRkQzhBQkJEd21jUG5sbDhlODAvS3BHQVFHbVFB
QzdISHRhMTNqbTI2NnFlYmgrUEhqYThjY1FLRGZDTXllUFR2bXN2YWl4aUF3CnlBUVFZSTlyWDBz
dWF1MW5aeHFBaFVHZ0h3a3NYcnpZYUhjdlo5cXJtdDRjUjRQUFFTV0FBSHRjOC9mZmYzL01PMzZ3
WWpnNDZTTUMKRHozMFVNemJmdHdPTTFZQVRpQ1FBd0VFT0FlSVJTV1JYRys1M1c1SFJmbEJ1aERv
bGtCeXFjelZWMSs5MnlTSkQ0RytKNEFBZTF5RgpMN3p3UXN5N2JoYmZpQ1hFQ1FSS0pxQ2RyS0tt
NVNjeENBdzZBUVRZNDcrQWwxNTZLZWFkbHFURUlOQ1BCS0k3Y01uL1hteG4yWS9jCjhMbmFCQkJn
aitzM3VVUmtza3ZhWTlkeERRSXhBa25CVFFweUxEQW5FQmdRQWdpd3h4V2RYTjgzT1NqTFk5ZHhE
UUl4QWxxM09tcVAKUC81NDlKUmpDQXdrQVFUWTQycFA3aEJ6NDQwM2V1d3Rya0dnT1lHUkkwZkdi
ajc2NktQbWxWZGVpVjNqQkFLRFJnQUI5cmpHTjlsawprOWk2ejlwSkpyb25zTWV1NHhvRVlnVFdX
V2VkMlBucnI3OXU1czJiRjd2R0NRUUdqUUFDN0hHTnF3dDZ3dzAzakhtWTNFMG1kcE1UCkNIaEtZ
Tk5OTjYzejdMTExMcXU3eGdVSURCSUJCTmp6MnQ1MzMzMWpIcDUvL3ZtRzkyY3hKSnowQVFGMVFX
KzAwVVl4VDdVelVuS3EKWFN3QUp4Q29PQUVFMlBNSy92U25QeDN6OE9XWFh3NjNjSHZqalRkaTF6
bUJnTzhFRGpqZ2dKaUxHZ2w5NnFtbnhxNXhBb0ZCSW9BQQplMTdiNm9MZVk0ODljdTFIZXdBQUhy
UkpSRUZVWWw1cWg2U2pqanJLYUxNR0RBTDlRdURRUXcrTmpXbVEzOS84NWpmTmdnVUwrcVVJCitB
bUJYQWtnd0xuaUxDYXgwMDQ3elNSWHdkSzdZUDJnSlJmcktNWURVb1ZBOXdUR2pCbGpQdnJSajhZ
UzB2eGc3WEhOYTVVWUZrNEcKaEFBQzNBY1Z2Y1VXVzVqUGYvN3pkWjdxSFpydXpaMDd0KzRlRnlE
Z0k0RVpNMmJVUFV4cTE2K2RkOTdaM0hmZmZUNjZqRThRS0l3QQpBbHdZMm53VFB2UE1NK3NHc1Nn
SFRVMmFPSEZpK08vS0s2L01mWWsvemRjODU1eHp6RzY3N1dZV0xseVliNkZJYmVBSWJMenh4dWJZ
Clk0K3RLL2VUVHo1cHR0NTZhL1BkNzM3WHZQbm1tM1gzaTdpZ1BIbU5Vd1JaMGt4TEFBRk9TNnJI
NGJTUzBGVlhYV1ZXVzIyMWhwNm8KRmJ6ZmZ2dVpOZFpZd3h4ODhNSG1lOS83bnJuenpqc3pMWGFn
SHo3Tk03N3d3Z3ZONXo3M09hTXVRLzJiTW1XSzBhQXYvWGhpRU9pVwpnQVplYmJEQkJuWEphTy9y
d3c4L1BPelZtVFZyVnQzOWJpOUliRys5OVZhalZ6cGJicmxsK0VDckIxZ01BcjBpc0h5dk1pYmY3
QVMwCk1wWUdZS2sxdW1qUm9vWUpQUFBNTStiaWl5OE8veW5Ba0NGRFFsRWVOV3FVV1dXVlZZelds
eDQ2ZEdqNDVDOVJmZlhWVjQwMmVWQzgKUC83eGowYWpySk1tWWIvb29vdk1jc3N0bDd6Rk9RUXlF
OURmNE9XWFgyNjIyV1liOC96eno5ZkZWMC9MN3J2dmJ0WmRkMTF6eUNHSApoTytOTlJneE9RNmlM
bUxpZ3Y2ZTc3cnJydkJCOU9hYmJ6Yno1ODgzenozM1hCaHE3Tml4NWplLytZMVpmLzMxRTdFNGhV
QjVCSVpNCm56NDlVTXRINzJhdy9pQ2d6YzAxbU9YZWUrOHQxR0cxdWs4Ly9YUno5TkZIMTQxZUxU
UmpFaDhJQXJObnp6Yjc3TE5QK0JEWXJzQXIKcnJpaUdUZHVuTkdLV2l1dHRGTDRiOWl3WVdGM3RS
NGlOUmhSWXY3MDAwK2JKNTU0d2p6MjJHTU5CeWpxZ2ZUSUk0ODBaNXh4aG1GTAp4SGJVdVY4VUFl
bXRkSmNXY0ZHRUMweFhMUU5OM1RqKytPTUxlV2VtbG9ibUg2dXJjTTAxMXl5d0pDUTl5QVRVazZO
eEMvdnZ2My9ECm5wY29HM1ZQYStuS2JwYXYxUGZtZ2dzdUNBZDhSZFBtR0FLOUlzQTc0RjZSN3pK
ZnRRZzBGZW1XVzI0eGUrKzlkNWVwL2Yvb2FsSG8KL2JGYTFqLzYwWThRMzF5b2trZ3JBdXBxbHFp
dXRkWmFyWUoxZFU4OU9iYW5MK3lPMW1ockRBSytFRUNBZmFtSkR2MzQwSWMrRkE3TwowbGFGVTZk
T05adHZ2bm1tZDdWcTRVNmVQTm44OEljL0RMdnZOTFdKOTJJZFZnYlJPaUtncVhRYU1LaXBkbG5m
ODdiS1VGM1ZHbkd0ClZ6YlRwazBMeHorMENzODlDSlJOZ0hmQVpSTXZJVDh0OFhmMzNYY2JUU0hT
WUMxMTMybkFsVm9DZXUrbGtkUnFjWXdlUGRwb2NCWUcKQVY4STZFSHk3TFBQTnBkY2NrbEg2MFJy
Z09GT08rMWtEanp3d0xBM2gvZTh2dFFzZmtRSjhBNDRTcU5peHlOR2pERGJiYmRkK0s5aQpSYU00
RlNlZzNoZk5CVDd2dlBQQ0JXYlVQWDNiYmJlRkQ1TlBQZlZVYldDVmhGWi81NnV1dW1vNHBVbFQ1
TGJhYXF0d1ByeXVZeERvCkJ3SU13dXFIV3NKSENBd1lnUlZXV01Ic3RkZGU0YjlvMFRXWGQ5bXla
VWIzTVFqME93SGVBZmQ3RGVJL0JBYUlnS1lSSWI0RFZPRVYKTHlvQ1hQRUtwbmdRZ0FBRUlPQW5B
UVRZejNyQkt3aEFBQUlRcURnQkJMamlGVXp4SUFBQkNFREFUd0lJc0ovMWdsY1FnQUFFSUZCeApB
Z2h3eFN1WTRrRUFBaENBZ0o4RUVHQS82d1d2SUFBQkNFQ2c0Z1FRNElwWE1NV0RBQVFnQUFFL0NT
REFmdFlMWGtFQUFoQ0FRTVVKCklNQVZyMkNLQndFSVFBQUNmaEpBZ1Ayc0Y3eUNBQVFnQUlHS0Uw
Q0FLMTdCRkE4Q0VJQUFCUHdrZ0FEN1dTOTRCUUVJUUFBQ0ZTZUEKQUZlOGdpa2VCQ0FBQVFqNFNR
QUI5ck5lOEFvQ0VJQUFCQ3BPQUFHdWVBVlRQQWhBQUFJUThKTUFBdXhudmVBVkJDQUFBUWhVbkFB
QwpYUEVLcG5nUWdBQUVJT0FuQVFUWXozckJLd2hBQUFJUXFEZ0JCTGppRlV6eElBQUJDRURBVHdJ
SXNKLzFnbGNRZ0FBRUlGQnhBZ2h3CnhTdVk0a0VBQWhDQWdKOEVFR0EvNndXdklBQUJDRUNnNGdR
UTRJcFhNTVdEQUFRZ0FBRS9DU0RBZnRZTFhrRUFBaENBUU1VSklNQVYKcjJDS0J3RUlRQUFDZmhK
QWdQMnNGN3lDQUFRZ0FJR0tFMENBSzE3QkZBOENFSUFBQlB3a2dBRDdXUzk0QlFFSVFBQUNGU2VB
QUZlOApnaWtlQkNBQUFRajRTUUFCOXJOZThBb0NFSUFBQkNwT0FBR3VlQVZUUEFoQUFBSVE4Sk1B
QXV4bnZlQVZCQ0FBQVFoVW5BQUNYUEVLCnBuZ1FnQUFFSU9BbkFRVFl6M3JCS3doQUFBSVFxRGdC
QkxqaUZVenhJQUFCQ0VEQVR3SUlzSi8xZ2xjUWdBQUVJRkJ4QWdod3hTdVkKNGtFQUFoQ0FnSjhF
RUdBLzZ3V3ZJQUFCQ0VDZzRnUVE0SXBYTU1XREFBUWdBQUUvQ1NEQWZ0WUxYa0VBQWhDQVFNVUpJ
TUFWcjJDSwpCd0VJUUFBQ2ZoSkFnUDJzRjd5Q0FBUWdBSUdLRTBDQUsxN0JGQThDRUlBQUJQd2tn
QUQ3V1M5NEJRRUlRQUFDRlNlQUFGZThnaWtlCkJDQUFBUWo0U1FBQjlyTmU4QW9DRUlBQUJDcE9B
QUd1ZUFWVFBBaEFBQUlROEpNQUF1eG52ZUFWQkNBQUFRaFVuQUFDWFBFS3BuZ1EKZ0FBRUlPQW5B
UVRZejNyQkt3aEFBQUlRcURnQkJMamlGVXp4SUFBQkNFREFUd0lJc0ovMWdsY1FnQUFFSUZCeEFn
aHd4U3VZNGtFQQpBaENBZ0o4RUVHQS82d1d2SUFBQkNFQ2c0Z1FRNElwWE1NV0RBQVFnQUFFL0NT
REFmdFlMWGtFQUFoQ0FRTVVKSU1BVnIyQ0tCd0VJClFBQUNmaEpBZ1Ayc0Y3eUNBQVFnQUlHS0Uw
Q0FLMTdCRkE4Q0VJQUFCUHdrZ0FEN1dTOTRCUUVJUUFBQ0ZTZUFBRmU4Z2lrZUJDQUEKQVFqNFNR
QUI5ck5lOEFvQ0VJQUFCQ3BPQUFHdWVBVlRQQWhBQUFJUThKTUFBdXhudmVBVkJDQUFBUWhVbkFB
Q1hQRUtwbmdRZ0FBRQpJT0FuQVFUWXozckJLd2hBQUFJUXFEZ0JCTGppRlV6eElBQUJDRURBVHdJ
SXNKLzFnbGNRZ0FBRUlGQnhBZ2h3eFN1WTRrRUFBaENBCmdKOEVFR0EvNndXdklBQUJDRUNnNGdR
UTRJcFhNTVdEQUFRZ0FBRS9DU0RBZnRZTFhrRUFBaENBUU1VSklNQVZyMkNLQndFSVFBQUMKZmhK
QWdQMnNGN3lDQUFRZ0FJR0tFMENBSzE3QkZBOENFSUFBQlB3a2dBRDdXUzk0QlFFSVFBQUNGU2VB
QUZlOGdpa2VCQ0FBQVFqNApTUUFCOXJOZThBb0NFSUFBQkNwT0FBR3VlQVZUUEFoQUFBSVE4Sk5B
cmdLOGRPbFM4OG9yci9oWlVyeUNBQVF5RWVEN25Ba1hnU0dRCm1VQ3VBcnpMTHJ1WWswOCtPYk1U
UklBQUJQd2p3UGZadnpyQm8yb1J5RldBcTRXbS9OSzg5dHByNXFHSEhpb2w0ekx6S3FWQVpBSUIK
Q0VDZ3p3Z3MzNjIvTDc3NG9sbTRjS0c1L2ZiYnpaLys5Q2Z6MjkvKzFseHd3UVZtazAwMk1SdHR0
SkVaTVdKRXd5eXV2LzU2ODd2ZgovYTdodmVURjVaWmJ6cno3M2U4MnE2eXlpbGwxMVZYTnVISGp6
THZlOWE1a3NMNCt2K3V1dTh3ZWUreGgvdnJYdjVvUGYvakQ1dXFyCnJ5NnNQR1htVlZnaGVwVHdk
ZGRkWjg0Ly8zeHo2YVdYNXU3Qk43LzVUZlBxcTY5bVRuZUZGVll3VTZaTXlSeXZVWVJPdjgrTjB1
SWEKQkNEUWhzRDA2ZE9EcVZPbkJsbk52dXNOYkhkek1HellzT0R0YjM5N01HblNwR0RsbFZjT050
MTAwOEIyWFFWV2VJTWhRNFlFRXlkTwpEQllzV0ZDWHZCV0I0S3l6emdxczZBVFd4VXovckNBSFcy
KzlkZkNmLy9tZmdmM0JxRXU3SHk4Y2VlU1JNUWIyNGFTd1lwU1pWMkdGCktEbmh1WFBuQmp2c3NF
TllSeXV0dEZMdXVjK2JOeTlXLzFtK0V4dHNzRUhYL25UN2ZlN2FBUktBd0FBUmNMcmJVUmYwNDQ4
L0hyWncKLy8zZi96MXNyVDN4eEJOR0xZUFZWMS9kN0w3NzdrYXQyei8vK2MvbXVPT09NemZjY0lQ
WlpwdHR6Q2MrOFluWW80QmF5Ri84NGhmTgp6Smt6elZGSEhSVzdweE8xb3BYRzMvNzJOL1B3d3cr
Ym0yNjZ5WHo5NjE4M20yMjJtWG5qalRmQzF2T1h2L3hsTTJiTUdIUFZWVmZWCnhlKzNDK3V2djM3
TlpiVm8xbGxubmRwNTNnZGw1cFczNzJXblo0WFI3THJycm1iQ2hBbEd4MFdaL3Q0N3RZOSs5S09k
UmczajVmRjkKN3NvQklrTmdRQWxrN29KZXRteVptVHg1Y3ZpdWN2dnR0dys3NHQ3MnRub2RIejU4
dUxFdFhHTmJxdWJBQXc4MFYxNTVaVlBFRXVmegp6anV2ZHQrMnFNMC8vL00vRzNVOXk5N3pudmVF
UXJ2ZGR0dVpZNDg5MW56dWM1OHpQLzd4ajhONzZyTDkyTWMrWmk2NzdES3p6ejc3CmhOZjY4Yi9Q
Zk9ZejVvVVhYakMydDhBY2NjUVJZVmQ3VWVVb002K2l5bEIwdW5xdGNzWVpaeGo3VUc3V1hudHRZ
M3Q2alA3Mmk3RG4Kbm52Ty9Qem5QemUyeDhqc3R0dHU0YXNidlc3UmVUUFRXQUgzSFRqZ2dBT2FC
V3Q3dllqdmM5dE1DUUFCQ0lRRU1ndndPZWVjWTM3LworOStIa1RYaXVaSDRSdGxLck9mUG4yKysv
ZTF2UnkvSGp0VnlqdHJ5eXk5ZkU5L29kUjNyaC9CSFAvcVJzZDJBNXR4enp3MXZhMENSClJPdlJS
eDhON3lmajlNUDVPOS81VHZPMXIzMnRGRmZMekt1VUFoV1F5WW9ycm1oKzhJTWYxUDZlM256enpa
cmd0UkxHVGx6UjM3TysKUitvdDJuSEhIVk1sY2VLSko0YmgxRk95eFJaYnBJclRLRkFSMytkRytY
QU5BaENvSjFEZmRLMFBFN3N5ZS9iczJ2bUdHMjVZTzI1MQpvSzdvVmtMOWpuZThJeFk5elErY1du
RlJlK3FwcHdvWkdCUE5nK1BCSVRCMjdOaWErS3JVbzBlUHJoVmVyZUk4VFlPNkpNSnB4VmQ1Ci8v
S1h2d3hkVU85UE4xYkU5N2tiZjRnTGdVRWlrRm1BNzdubm5ocWZCeDk4c0hiYzZtRE5OZGNNdTZK
YmhjbDZUKytRMVUwWHRhaHYKMGVzY1E2QmJBdXFWY1pibUFkR0ZiZmVwN3VkRER6M1VaT2xHdnVP
T084d2pqendTSnAwbFhpTmZvdCtaWG42ZkcvbkdOUWhVblVCbQpBZjdnQno5WVk2SXV1clNtZ1Zs
NW1uNEVOYzBwYW4vNXkxK2lweHhEd0hzQ2R1YUErY3BYdnBMSnoxLzg0aGRoK1BlKzk3MW0yMjIz
CnpSUTNHZGlYNzNQU0w4NGhNQWdFM25xc1QxbmFyYmJhS2h6bHJPQVhYWFJST0RyMFgvN2xYOXJH
YnRVRjNUWnlnd0N2di81Nk9QODQKZWtzam9yT2FSbFRmZSsrOTV0bG5udzFIZG12QVZ6Tjc2YVdY
akxxNm01bmVTNDhjT1RKMld5MGNqZVJPbW54dHhrU2p5dld1ZTQwMQoxa2hHaTUxcjNyWG05R29V
cTk0RmJyenh4a2E5RGVvaTFaS2d5YTc5V09SL25LVE5LeHBYWmRJZ0pjM3gxbXVJTlBsRTQrdFlQ
bXNBCjBIcnJyVmU3cFVGb3Q5NTZxM25tbVdmQ2tjZWE4NTNHL3Y3M3Y0ZWo0clZ5MDlDaFE5TkU2
ZXN3VG9BMStybmIxcmd2MytlK3JoQ2MKaDBDSEJESzNnTC93aFMrRWkySzQvRFFpZWRxMGFlSFVJ
SGV0akU4TkJOTVBkdFEwUlNtdGFRVHBUanZ0RkpaRjhUVFZSRC80RXJLZgovT1FuRFpOUkMvdm9v
NDhPUlVmQ0VmMm5xVlEzMzN4elhUd0o1REhISEZNWFZnUEhvdmI4ODgrYkgvN3doK0VEalh4d0E5
MmlZZHl4CkhoWSsvL25QaDJsZWNza2w0WFF0RGFhUkdNb25qUmIvNy8vK2J4ZTg3ak5MWGk2eUJQ
T2dndzRLK2VqQlFGMmYrdkdXQ050NXFDR1gKWkgyNHVPNVRJM2MxbGV4REgvcFFtTTZ2ZnZXcjhO
YkxMNzlzTktqby9lOS92N0h6eHNOUjlocVlwK05HRHk4dVBYMXFldHI3M3ZlKwpjUHFiUml1cmJG
VzJPKys4TTV5V3B6SjIyLzJzTkh6NVBzc1hEQUlEUjhCTkNNNHlCL3JpaXkrdVd6VEFEaUFKYkpk
WWNQenh4MmRKCktnejd4ei8rTVphZUZ2Rm9aNGNmZm5nc2poMGtFMWdCYUJjdHNLMnVRQXRSMkpX
MGdsTk9PU1d3SzNlRkM0WFlWWWdDMjNxdHBXbm4KTXpkTno3YjhhK0hzSDB4ZzU5VzJ6TmUyc2dN
ck9tRWNLMEMxc0xwdUI5OEVkdnBVdUtDSjBuTC9ycmppaWxxNDZJSDgxeUlrQ21kSAp6VVp2Qlk4
OTlsaXcxbHByaGZkT1BmWFUyTDFPOG5JSjJBZVNrSmNWM3NDMnZnTDc4QkRZVWNHQkZndjU2bGUv
R21oaEZQbGpXOStCCm5kZnRvdFUrN1NqNHdMNHVxSlhObFZFczdCenZ3RDQ0aFBlMGtJc1dkbkgz
OWFsNmtPL043T0NERDQ2RlZ6MFdZZUxwL0pLZnZUSTcKVWo3MFEzK3J0aGNvRnpmeS9qN240aFNK
UUtEQ0JKenVHbmVRdGF4MjNtNWd1L3RxUDBydXg4bStrd3JzZEtCTXlXVVJZSW1zZmZLUAo1YXNm
YmR0aWJKdW54TXUyZWdNN3hTUVUzbVNFdSsrK083QUR1MnBwMjlaOU1ranRmSys5OXFxRjA0K2hS
S21WMllVY3dyUnROM1l0Cm1PTFlCVXdDMjYwZGZPbExYNnFsSjVaMjNuUXRYUFRBTG40U2h0dHl5
eTJqbDJ2SEVtRTd6YWh1ZGJOTzhsS2llcUJ5ZFh2ampUZlcKOG9rZWZPTWIzNmlGVVZnNzVTeDZP
N0F0M01CMmRRZDI0WlZZT0R2L08xaHR0ZFdDd3c0N0xOQktVeElVdXhSaklHRjJlZXJUamhLTwpw
UmM5bVRGalJpenNyRm16b3Jkek8vWkZnRzBQUjFqZXozNzJzN21WVFFubCtYM08xVEVTZzBBRkNU
amQ3VmlBeGNSMi93VzJ1elQyCkE2Z2ZUTHVTVTJCWHFXcmFna3p5YkNmQSttRys3YmJiZ3YvNnIv
OEtXNXZSSCtmTk45KzhvWmdtODlDNVdrZUtLeEZyWnE2RjRmSzQKOXRwckd3YTEzYzJ4Y2pkcnNT
cXk3VElPVzNZUzJXWm1SNkNtU3M4dGgyaW5ZVFZMS3JEZGlvSHQwbTE2UDIxZUtxTjl4eGo2ZGNn
aApoelJOVHpmc1NONmEvM1lSbHNCMldUY01IKzFsc0NPTGcvLzkzLzl0R000SmplckJMc3JTTUl3
dUxsNjhPUGpYZi8zWFFEMGdKNTEwClV0Z3lieHE0aXhzK0NMQjk3MTVqZk0wMTEzUlJtc1pSOC9v
K04wNmRxeENBZ0NPUWl3QXJNYlhvSkxiNk1YV2k1VDVIalJvVmRsbTYKVEp0OUpnVllhV2tOYWEw
cnJXN1BaRXRiYS9IdXYvLytnWDFuMnJKN01wcWZSTkMxYmg5NDRJSG9yZGl4V25uT2YzMSsrdE9m
anQyUApudGdGRUdwaDdRWUswVnV4NCs5ODV6dWhrTm1wSTdIcjBSTzE3S1A1TmhOME8wZ3NER2Mz
cDJpNkRyYWQyeG5ZRmNPaXljZU8wK1NsCkZyT2Q2bFh6U2FMZHlwNTg4c21hV0tzY2UrNjVaOFBn
YXJtN2Nxb0YzTXpVS25iaDdGS216WUtWZHQwSEFkWURocGpvNzE4OUJVVlkKSHQvbkl2d2lUUWhV
aVlBVDRNeURzT3dQUU13MEFsWURhN1Fia2hYYzJMMUZpeGFGYTBCcmdJMVdFa3ByQ3F0UnZCcUlZ
OS8vR1NzRwp0YWhhckVBRGN6U0F4LzVJTngxSlhJdndqd010SzZqQlN4cXdZOFhDYUFHQ1J2KzB0
R1hVTkVLNm1Xa0Fpek90YWEwUnhZM010dkxDCkpRYWppemtrd3lWSDd6WWIzZnFCRDN3Z2pLcVJ2
OW85U1NPaGsyWmJ5ZWFUbi94azhuTHRQRTFlUC8zcFQ0M3RrZy9qYUE1c0s5OFYKU0tPdk5aRE5t
WGpZWGd0M1d2dlU2RzVuelVhQjYzNTBlbzE5WUhKUkJ2clRMYjZoSlZlakhQT0VVc1QzT1UvL1NB
c0NWU0xRdFFBNwpHRm9ZUTZOWU5SWEVEZ1J5bDhOUHUydVJzUzNKMkxWV0oxb0dVQXZmMis1ZmMv
bmxsOGVtbG1pN3d6UFBQTE5WOUliM2JNczJ2SzROCkhtenJyT2svQ1pmV29IYi90QkZFczRjSGhk
VThUcG5DU0dpVHBrVVRKRVIyMEZqeVZrZm4rKzIzWHkyZUdOa3UrSEE2bUgwNnJGM1gKWmc0YWFk
eU5SY1ZUb3UvVzVXNlZwdTJtanQxMkFoNjdtUEpFVTdxY2FaVDBvSnNXekxqLy92dERESG1NZm03
SE04L3ZjN3U4dUErQgpRU1dRbXdBN2dKcWFvaDhMcmMwY05iV29PdG0xYVB6NDhlYnNzOCtPSmhX
dW1XemZnY1d1dFR2NXd4LytFQWJSMUJiTklVNzd6M2JYCk5tMWxxN1VRblFQOS9lOS9QMHczNm90
MnVWRkxmdDk5OTQxZTd2all2a2MyMGQyTU5HZFdEemRhRDFnN1V1VmwwUldTMnJWK1haNnEKcTZq
ZGQ5OTkwVk9PdXlEZzV2N3E0VlE5SDJWWjN0L25zdndtSHdqMEE0SGNCVmlGMWs1STlyMm4rWi8v
K1o4WWc2d3IvcmpJLy9adgoveGJyVWxWcjgxT2YrcFJKMnpXcHJuQXRIaUZ6clFpWGRyZWZtby9y
dW92VnV2NzFyMzlkUzFJTGQ5Z3BIdUhPVHNsdTMxcWdqQWNTCmZmVUNhSmVwcUdsK3FINll0ZlBV
MDA4L0hiM1YwWEZVZ0Z0MUZVY1RWemQwMUZwMTMwZkRjZHllZ0JOZ085YWdvNFZQMnVmUVBFVGUK
MytmbU9YRUhBb05Gb0JBQmRnalY3YXAxYnAycFJXUUhqN2pUVEo5cVNVYVhudFE3VUhYSDZyT2RS
UVZKNzB5WExsM2FMa3JxKzFyUgpTbDNhenJTd3ZqUDlhS29GcmNWSzhqUXRHQ0lSdGdPRGpMWnVq
SnEydFJzM2JsenFoNU5vM09oeDlJRkI3OHpUbUhaWmlxNGtsbGE0CjA2UTl5R0gwdlhFOU9OMXV2
dEFOeHp5L3o5MzRRVndJVklWQUpnR1djS25MTTR0Tm5UcTFGbHd0MTdRTHZ0Y2kvZU5BWFcrWFhu
cHAKdVBLU3U2Y1dzRnJDemQ3UnVuREpMdFMwTFdjWHY5MW5kRENXbllkcTdGemNNSXJlQ2R1RkpN
SlZuOXFsa2ZXK0J1Rm8rMEsxTXUySQo4RmgwdGNRMUlNcTErbU0zVTU1b1dVdG5hUVZZNGRWYWNo
Wk53MTNqTXpzQjEvclZ3OWJlZSsrZFBZRW1NWHI1Zlc3aUVwY2hNRkFFCk1nbXdCaFRaT2JTWkFL
bUZhS2ZNWklyVExMQVdqdGQ3MXFqcFhiQmRqU2w2cWU1WTRxMkY2NTBsMDNEWEczMXFCTFlHZzdV
eXV5aEgKVFdUMU1LRFd1cnE2TlVncXI4RlhMdi9raGhONnVOQ0k4RGx6NXNUS3FIQ25uMzY2aTVi
NU05cmJvSzUwOTFEUkxxSG9LUEpvR3UzaQpjYjg1QVNmQWt5Wk5pajJBTm8rUjdrNnZ2OC9wdkNR
VUJLcExJSk1BQzROR0pXY3hEWFp5M2M3cTFvenV2cElsSFJmMjR4Ly91TkgrCndsSFRLR3NOOG1w
bFdxL1ltUVJTbzV2VDJNa25ueHh1RU5BcXJMcGE5UzdZbVhhSnNxdEJoWnNwZk9RakgzR1hjL21N
ZG5kSEU3UXIKYlprRkN4WVlPM2U2ZGxtdDhVNU5vNnVqMW14OTdHZ1lUZk55ZGEzcmRzNXY5RGJI
SFJCUTE3TjdsMTdFNk9kZWY1ODdRRUlVQ0ZTRwpRR1lCMWx4WE54OHhEUVVONXRHY1hwazJQMmcw
ZjFHNzRrU3RYWmV5QkRlNWVibGRHU3FjaXh4TkozcHMxMyt1bmFwVmF4ZXFpTTB2CnJ0Mk1IR2lq
Zys5Kzk3dEdnOERhbVVaRHUvZXhhZ1ZxTXdSZDB4emFQRTN2c04zN3dHUzZtZ2Ftd1cvT3VwbStN
M255NUhDVEJaZVcKTm9xSVRuVnkxNk9mMnNuSW1WNE5SQjk2M1BXaVB0djl6UlNWYjlIcHV1K2FI
bDd6R2trZjlibUk3M00wZlk0aEFJSG1CRElMc0pLeQpLMStGTy9BMFQvYXRPMjV1ckVZSzI5VS8z
cm9ST1ZMTEtXb3Z2dmhpckNVVnZhZGppWnJFVWRON25FbHM5QzQwT3VESzNkT250bTZMCjdwYWtL
VkY2SUxDcmNFV0RoY2RxdFd0M0lidlF2OUVDSG1tNjBEWDRTTHNGUlMzTDRDdVZPV3JKOCtpOTZF
Q3Y2SFVkYXdFTGpaU1cKYVFwSkkwdW1uVHhYSEQwb0tSODN3dHV1N3gwYjRkMG9YWW0wVE8rQm04
M1ZGdHMwcG01dlo2M0VWVjN0cWx2Tkc3WkxWcHB1SGpwYwpmbzArbzR2Qk5McmY3cHI4T3VHRUU4
ellzV1BEaDcrMEF3RmQ5N1BtMTdzNTUrM3l5bm8vNys5ejF2d0pENEZCSmRDUkFPdkhXTjJMCmpi
YmZpNEk4OTl4emE5dmkyUVg3alZab2FtU05wZ1pwNjdwV3BpM3hmdmF6bjhWYW1CSlRqWXh1TlBo
SVFuTGFhYWZGNXZUZWNzc3QKNFI2NmlxUDNwUkljL1VpcTVUWmx5aFNqTFFidG92ZXQzSWpkaXc3
RzBwU2c1SUlrc2NDSkU3dW1jZXhLc3djSkJWSVh1dDFoS0JiZQpuV2pLbFg3c1ZkN29DSFIzWDU5
cDgxSXZRL1FoUWl1UE5SdEVweTU5dDcyZ3hnbEUzN2xIODQ2V3E5WFdnUnBJNWt6aUY1MFc1YTdy
CjgxdmYrbGI0V21USmtpVkdEd0RhWnJJSWk2NDRwcnlTdlRidDh0VGUyV2VkZFpheHk1RWF1eVo1
Nkd1N09Cb3M2Qll6S2FMNzJlV2YKOS9mWnBjc25CQ0RRaG9CdGxkYnRuTk5zelUxdEMyZW51WVJy
Tk50a3d3MEdiRmRqdUVtQ3R2WFQyc0ZhdzlmKzBOUzJuOU42em5adQpiTE1rQTd0ZmJtek5ZYVdy
ZjlxR1Rqdjd0RFBiMGdyRHUzajYxTlozMnJ6QnRwenFvbDkyMldXQmJTSFd4WW5HdCtJVldQSHRh
THMzCnQxV2dGYU82dkp0ZGtKOWFUenZxdy9iYmJ4L3VJcFNNNDlhenRxM01jQWVoNkgydDQ2czFz
cFdPSFgwZXZWVTd6cEtYSXFuT3RYbUYKMXVkV3V0b2t3UXBETFQwZGFCMW9iWU9vWFppc0FNYnVS
VSswZldLMGpDcUxmV0NJQmdtUDdRTlUzYVliK2p0dFpOcW9JWnBtczNJMwppcHYybXNxcjlaZWor
V2lMeGl5bXY2ZG8vRlk3YmJsMHhWMXg3QmlEd0w3V2NKZHoreXppKzV5YmN5UUVnUW9UY0xwcjNF
SFdzdG9SCnZ1R09PM2E2UzJBM1FnKzBoNjkrTE95N3FrQTdGR20zSG9sMUl4RlVYdHIrVEpzMVJI
K1VHaDNidFpzRDJ4M2MwajA3TjdKaE90ckkKUWVLUU5PMWphNmZJeERZUGNIbmIxbStnc25WcUYx
NTRZU0NmYmF1dGJSTGFNY2krYXczc1NQR0cvdHN1OW5EclJkdERVRXRMdTAvWgpKVEJESVpUUDJv
Tlg1OXF0U01kNitMajY2cXRyNGQxQkozbTV1UHJVbnI3cnJydHV6VS90Z2F4OWxiWE5vbjMzSFQ1
RTJWWnFORXJ0CjJMNnpEbXlQUUUzRUhXdDlhdWNzL1EwNVViZWp4Z003ejdtV1R6U3NPQ1czRzlT
RGx2Ym5WVGo1WjF1cXRYeTdPZENEb2JhOTFJWWIKZWlDTCt1R085WEJwWHpzRXRoWGVOaXU3VUVw
WVZzVzEzZnZoSHRUdEl0bFhKbUcrMmtLemFPdjIrMXkwZjZRUGdTb1JjTG83UkFkVwpKSTNkVjlY
K05uUm5ldWVvK2FmTjN2OTFsM3Irc2JXSWh3WU9xUXRjNythMC9tMnpydE8wdVd2ekNDMmNvTFNL
TUhYaDJqMTB3NlRWCkZhcXVlblVoYW5FT0swRGhaaE5GNU92U1ZEZS8xb25XUHcwTTBxc0kxWHR5
SXc0WHZveFB2UzlXVjYxV0IxUFh1NittT2ZTYU5xZlgKRTY0T20vbXFkK1ZhUlUybStkUmFhclJz
NjdmdmM5bDh5QThDblJLUTNrcDM4eDJpMjZrM1BZcW53VlZhRzFyLzhqSnRXbENVK01ySAo2QSsz
N1hVSWY1akwvSEhXY3BQNmwxejhJeTkrbmFTakZianNsb1dkUkMwMWpnYnFKVGVzYU9hQUJobzJl
NGZmTEE3WElRQ0IvaUxRCjBTQ3MvaW9pM2tJQUFoQ0FBQVQ4STVCckMxaWpaTFh5RlFZQkNQUS9B
YjdQL1YrSGxNQnZBcmtLc0tidFlCQ0FRRFVJOEgydVJqMVMKQ244SjBBWHRiOTNnR1FRZ0FBRUlW
SmdBQWx6aHlxVm9FSUFBQkNEZ0x3RUUyTis2d1RNSVFBQUNFS2d3QVFTNHdwVkwwU0FBQVFoQQp3
RjhDQ0xDL2RZTm5FSUFBQkNCUVlRSUljSVVybDZKQkFBSVFnSUMvQkJCZ2Yrc0d6eUFBQVFoQW9N
SUVFT0FLVnk1Rmd3QUVJQUFCCmZ3a2d3UDdXRFo1QkFBSVFnRUNGQ1NEQUZhNWNpZ1lCQ0VBQUF2
NFNRSUQ5clJzOGd3QUVJQUNCQ2hOQWdDdGN1UlFOQWhDQUFBVDgKSllBQSsxczNlQVlCQ0VBQUFo
VW1FTzZHZE1vcHAxUzRpQlFOQWhDQUFBUWc0QThCYWU3VXFWUE5rTURhakJrei9QRU1UeUFBQVFo
QQpBQUlWSnpCdDJqVHovd0M5QnZHR0cydzJCQUFBQUFCSlJVNUVya0pnZ2c9PQoKSW5kZXg6IExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvYmF0aWsvdGV4dC90ZXh0UG9zaXRpb24yLWV4cGVj
dGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFy
eSB0eXBlLgpzdm46bWltZS10eXBlID0gaW1hZ2UvcG5nCgppVkJPUncwS0dnb0FBQUFOU1VoRVVn
QUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQURPMmxEUTFCSlEwTWdVSEp2Wm1sc1pRQUFlQUdGCmxF
dG8xRkFVaHYrTUtZSzBncWkxRnBUZ1FvdTBKVDdRaWxEYmFiWFdrWEVZKzlBaXlEUnpaeHBOTXpH
WkdSK0lTRUhjK1ZxS0d4K0kKaXlyaVFycFFjS1VMa1VMcmExRUVjYVVpaUVJM1VzYi9KdTFNS2xZ
dkpQbHl6bi9QNjRZQVZROVRqbU5GTkdEWXpydkpycWgyNlBDQQp0bmdDVmFoQk5iaFNodWUwSnhM
N2ZhWldQdWV2NmJkUXBHV3lTY2FLOVIyWStMUnQ5ZjFMajJMdjY1NzIrcDc1K25sdk5TNFRBb3BH
CjY0cHN3RnNsRHdhOFYvTEp2Sk9uNW9oa1l5aVZKanZrUnJjbjJVRytRVjZhRGZGZ2lOUENNNENx
Tm1weWh1TXlUbVFGdWFWb1pHWE0KVWJKdXAwMmJQQ1h0YWM4WXBvYjlSbjdJV2RER2xZOEJyV3VB
UlM4cnRnRVBHTDBMckZwZnNUWFVBU3Y3Z2JFdEZkdlBwRDhmcFhiYwp5MnpaN0lkVHFxT3M2VU9w
OUhNOXNQZ2FNSE8xVlBwMXExU2F1YzBjck9PWlpSVGNvcTlsWWNvcklLZzMyTTM0eVRsYWlJT2Vm
RlVMCmNKTno3RjhDeEM0QTF6OENHeDRBeXg4RGlScWdad2NpNTlsdWNPWEZLYzRGNk1nNXAxMHpP
NVRYTnV2NmRxMmRSeXUwYnR0b2J0UlMKbHFYNUxrOXpoU2Zjb2tnM1k5Z3FjTTcrV3NaN3RiQjdE
L0xKL2lMbmhMZDdscFdSZEtxVHMwUXoyL3FTRnAyN3lZM2tleGx6VHplNQpnZGRVeHQzVEc3Q3kw
Y3gzOXdRYzZiT3RPTTlGYWlKMTltRDhBSm54RmRYSlIrVThKSTk0eFlNeXBtOC9sdHFYSU5mVG5q
eWVpMGxOCkxmZTJuUm5xNFJsSlZxd3pReDN4V1g3dEZwSXk3enBxN2ppVy84Mnp0c2h6SElZRkFS
TTI3elkwSk5HRktKcmd3RVVPR1hwTUtreGEKcFYvUWFzTEQ4YjhxTFNUS3V5d3F1dkNaZXo3N2Uw
Nmd3TjB5ZmgraWNZdzBsaU5vK2p2OW0vNUd2Nm5mMGI5ZXFTODBWRHdqN2xIVApHTC84blhGbFps
bU5qQnZVS09QTG1vTDRCcXR0cDlkQ2x0WmhYa0ZQWGxuZkZLNHVZMStwTDNzMG1VTmNqRStIdWhT
aFRFMFlaRHpaCnRleStTTGI0SnZ4OGM5a1dtaDYxTDg0K3FhdmtlcU9PSFptc2ZuRTJYQTFyLzdP
cllOS3lxL0RralpBdVBHdWhybFUzcWQxcWk3b0QKbXJwTGJWTmIxVTYrN1ZUM2wzZjBjbFltVHJK
dWw5V24ySU9OMC9SV1Ryb3lXd1QvRm40eC9DOTFDVnU0cHFISmYyakN6V1ZNUy9pTwo0UFlmZDBq
NUwvd05BWVVWRFh4TE96c0FBQ0FBU1VSQlZIZ0I3SjBKM0UzVi92Ky81bmxLTXFTUWpEZHlSV2tp
aENKUmxCU1ZWQ3BECk1pWTNVNlN1RzBsUnhDMHFNcnZsaDhwVWljeGtpdmdMWFdTZVovdS9QdXUy
OTJzL3h6N1BzODg1KzV6bm5IMCs2L1U2ejFsbkRkKzEKMW51dnRaLzEzZXU3MXM1Z0tDZDBKRUFD
SkVBQ0pFQUNKRUFDSkVBQ0pCQURBaGxqVUFhTElBRVNJQUVTSUFFU0lBRVNJQUVTSUFGTgpnQW9J
T3dJSmtBQUprQUFKa0FBSmtBQUprRURNQ0ZBQmlSbHFGa1FDSkVBQ0pFQUNKRUFDSkVBQ0pFQUZo
SDJBQkVpQUJFaUFCRWlBCkJFaUFCRWdnWmdTb2dNUU1OUXNpQVJJZ0FSSWdBUklnQVJJZ0FSS2dB
c0krUUFJa1FBSWtRQUlrUUFJa1FBSWtFRE1DVkVCaWhwb0YKa1FBSmtBQUprQUFKa0FBSmtBQUpV
QUZoSHlBQkVpQUJFaUFCRWlBQkVpQUJFb2daQVNvZ01VUE5na2lBQkVpQUJFaUFCRWlBQkVpQQpC
S2lBc0ErUUFBbVFBQW1RQUFtUUFBbVFBQW5FakFBVmtKaWhaa0VrUUFJa1FBSWtRQUlrUUFJa1FB
SlVRTmdIU0lBRVNJQUVTSUFFClNJQUVTSUFFWWthQUNrak1VTE1nRWlBQkVpQUJFaUFCRWlBQkVp
QUJLaURzQXlSQUFpUkFBaVJBQWlSQUFpUkFBakVqUUFVa1pxaFoKRUFtUUFBbVFBQW1RQUFtUUFB
bVFBQlVROWdFU0lBRVNJQUVTSUFFU0lBRVNJSUdZRWFBQ0VqUFVMSWdFL0VuZzh1WEwvbXdZVzBV
QwpKRUFDSkVBQ0pCQVZBbFJBb29LVlFxTkZvRTJiTnBJaFE0WlVQKys4ODQ1bnhSODhlRkErK2VT
VG9QTHV2dnZ1RkhYSm1ER2o1TStmClg2cFZxeWFqUjQ4T21pL2NpQUlGQ3NqYmI3OXRaUStzWDJD
OGxkQmp6NmxUcDZScjE2NVNyRmd4eVp3NXM1UW9VVUlHRFJva0Z5OWUKOUxna2lpTUJFaUFCRWlB
QkV2QWJnY3grYXhEYjQyOEM3ZHExay9yMTYxdU43TktsaTU3OHZ2enl5MWJZMy8vK2Q4c2ZxUWZs
blRsegpScDUrK3VtZ29pcFVxQ0N2di82NmpqY01RNDRkT3laVHAwNFY1SVY3L3ZubjliY1hmNTU0
NGdtcFZLbVNKU3F3Zm9IeFZrS1BQUysrCitLSjgvZlhYMHFOSEQ2bFRwNDU4OWRWWDBxOWZQemw3
OXF5ODhjWWJIcGRHY1NSQUFpUkFBaVJBQW40aWtFRk5tQXcvTllodFNTNEMKNWNxVmt5cFZxc2lY
WDM0WmxZWS85TkJEY3Y3OGVaazllN2FqZkt5QVlBVmc0Y0tGS2VKaGxnVEZKRisrZkxKOCtmSVVj
VjcrU0t0KwpYcFpseW9LQ2RkVlZWK2tWa0gvKzg1OW1zRFJ2M2x4KytPRUgyYjkvdnhWR0R3bVFB
QW1RQUFtUUFBa0VFcUFKVmlBUi92WVZnWEhqCnhrblZxbFVsVDU0OGN1dXR0K29uOVdZRFo4NmNx
VTJsdnZubUd6TklsaTVkcXNObXpab2xuVHAxa2tXTEZzbVBQLzZvdy9idTNXdWwKUzhzRFV5eXNW
UHoyMjI5VzBrdVhMc203Nzc0ckZTdFd0T296WThZTUt4NmVGU3RXU0sxYXRYUjhxVktsQkNablI0
NGNzZExVcmwxYgpQdjMwVS8zYnFYNzJlQ1J5VXliS0E0T09IVHZLZGRkZHB6L2R1bldUQ3hjdVdP
WGFQWkE1YXRRb3dTcUkzYUcrSjA2Y0VPNEpzVk9oCm53UklnQVJJZ0FSSUlKQUFGWkJBSXZ6dEd3
TFlDd0x6cDdKbHkrcEorKzIzM3k1Tm1qUVJjOUxmdUhGamdhTHcwa3N2YWRNaG1BOWgKd3A4OWUz
WkJIRDQzM0hDRGxDeFpVanAwNktDVkFyZHdUcDgrclNmMVpjcVVzYkxBUktsNzkrN1NyRmt6K2Z6
enovWEt6Y01QUDJ3cApGTmhYMGJCaFE4bVpNNmQ4L1BISEF2T3l1WFBuQ3N5cVRMZDI3VnJadDIr
Zi91bFVQM3M4RXFWVkp0SWdUOXUyYldYMTZ0WHkybXV2CnlmMzMzeTlnTjN6NGNFUmY0YkQ2QWE1
UU9Fd0hwV1BTcEVsYXlRTlRPaElnQVJJZ0FSSWdBUklJU2dBbVdIUWtrS2dFbEhKaFBQcm8KbzFk
VS8ralJvNFl5ZnpLZWV1cXBGSEdQUFBLSW9aUUNLK3lYWDM0eHNtYk5hdlR2Mzk5USt4bU1YTGx5
R1dyVndvcHYyclNwb1pRQwo2M2VnNTY2NzdqTFVpb2FoSnQvNk0zSGlSRU90Y2hoMzNIRUhUQnVO
TDc3NFFtZlp2WHUza1NWTEZrTnQxRTRoNHZISEh6ZUtGQ2xpCktETXY0K2VmZjlaNTFxeFpZNlda
TW1XS29WWTZERFhCMTJGcWc3dngxbHR2V2ZHQjliUEh1eWtUZ3ZMbXpXdmNjc3N0VmhrSXUrMjIK
MjR4Nzc3MFhYbGRPS1M2R09oekFVQ3RJcnRJekVRbVFBQW1RQUFtUVFQSVM0Q2Iwb0tvWkl4S1pB
SjdxWTY5QzllclZaZFdxVlZaVApZUDZrSnZXQzA2T3V2dnBxdWVtbW02UjM3OTZpSnZWNnI4Zjc3
Nzh2cFV1WHR0Szc4V3phdEVrZWUrd3hLMm1tVEpuMHlzbjQ4ZU9sClpjdVdPaHoxZ1VsVDY5YXRy
WFR3UFBua2s2S1VGTm0rZmJzMnpjTHFoMUtTOUFiMkJ4OThVTytyd042S2NKeWJNc3VYTDY5Rncz
UUwKcDR1WkRpczNXN2R1TlgrbStqMWt5QkI1ODgwMzlTbFlOV3JVU0RVdEkwbUFCRWlBQkVpQUJF
aUF0aExzQTc0a3NIUG5UdDB1bUU3aApTRnp6bzFZNmRMZ1pqeCt2dlBLS3FHY1FranQzN2xSUHU5
SVpIZjdBdEV1dE51alBIMy84b2MyNU1IbTNLeHYvNy8vOVB6M0J4N0cxCmRsZThlSEg5RS9sUS9y
eDU4eVJidG16YVZBc2I3TEdQQkdIaE9EZGxtbklMRlNwa2V2VTN6TkRjN09YQTZWODRDUXRjWWI1
RlJ3SWsKUUFJa1FBSWtRQUpwRWFBQ2toWWh4aWNrQWJ3UEF3Nm5NbUZ2UmVBSEc5Tk5OM0RnUUZI
bVVYckRkdCsrZmMxZzE5OVFHS0JJNEdPKwpGeU13YzhHQ0JiV1NvMHpEVWtRZE9uUkkvOFplRXpo
bDBpVWJObXlRelpzM0MwNll3Z2xjalJvMWt0OS8vMTNIaC9MSGJabVFhVi85CmNGc0dsQSs4K3dN
YjYvdjA2ZU0yRzlPUkFBbVFBQW1RQUFra09RRXFJRW5lQWZ6YWZCeUJDL2VmLy94SGIrcUdhUk0r
a3lkUGxoZGUKZU1FNjRXblpzbVY2dy9YZ3dZTmx3SUFCMm84dzAyRmk3bVlsd0V3ZjdCdW1YM0E0
VmN2dThCc3JIOWpvam5JZmVPQUJmZW9WVEtPdwpZUjNtV1RoMVN1MExzV2V6L0tuVnowMlpscUFR
UGUrOTk1NVdQc2FPSFN2MmQ3Q0VLSWJKU1lBRVNJQUVTSUFFa3BBQUZaQWt2T2pKCjBHVHNZY0Jl
Q2h6RE8zTGtTRDJwLy9iYmIvWFJ1bGlwd0txRmVlcVYybkN0ajVURnNiWllHY0ZKV0lpRGczS0Ex
UWlzcE9DRmhPRTYKdkt2a3Z2dnVFeHh2QzBYajNMbHpXam5DYVZOUWlLQkl3TndLeC9BaXpVNWxR
b1pqZi9FV2R1d3BnWm1YazB1dGZtN0tkSktaVmhqcQpoWDB6TUdzRFJ5aEo5Zy9maHA0V1FjYVRB
QW1RQUFtUVFKSVRTTjc5OTJ5NUh3Z0VPd1VMYlZQdnp6RFVKbTlEdlNoUW55NVZ0R2hSCjQ3bm5u
alBVRWJtNjZWMjdkdFVuWUczY3VORkNzVzdkT3AwZWNYQkthZEduUktuYmhLRldLNngwcGdlbllO
MXp6ejNtejFTL0R4dzQKWUtnTjVZWTZwbGFmR0hYTk5kY1lQWHYyVEpGSEhSRnMzSG5ublZhZGxi
Smt6Smt6eDBwalArVUtnWUgxQzR4M1V5Wk93VkxtWGxZWgo4RHo3N0xPR1VqQlNoSmsvMVBHOG1p
ZVlPSDNVNW44ektiOUpnQVJJZ0FSSWdBUkk0QW9DZkJONmtpdWd5ZEI4N0tQQUptK1lPWVd6CjEw
R05HcjJDZ3ZkZmVPR3drb0ozZWRqZm94RW85L2p4NDNyZmlsS2FBcU91K08ybWZtN0t2RUl3QTBp
QUJFaUFCRWlBQkVnZ0NnU28KZ0VRQktrV1NBQW1RQUFtUUFBbVFBQW1RQUFrNEUrQWVFR2N1RENV
QkVpQUJFaUFCRWlBQkVpQUJFb2dDQVNvZ1VZQktrU1JBQWlSQQpBaVJBQWlSQUFpUkFBczRFcUlB
NGMyRW9DWkFBQ1pBQUNaQUFDWkFBQ1pCQUZBaFFBWWtDVklva0FSSWdBUklnQVJJZ0FSSWdBUkp3
CkprQUZ4SmtMUTBtQUJFaUFCRWlBQkVpQUJFaUFCS0pBZ0FwSUZLQlNKQW1RQUFtUUFBbVFBQW1R
QUFtUWdETUJLaURPWEJoS0FpUkEKQWlSQUFpUkFBaVJBQWlRUUJRSlVRS0lBbFNKSmdBUklnQVJJ
Z0FSSWdBUklnQVNjQ1ZBQmNlYkNVQklnQVJJZ0FSSWdBUklnQVJJZwpnU2dRb0FJU0JhZ1VTUUlr
UUFJa1FBSWtRQUlrUUFJazRFeUFDb2d6RjRhU0FBbVFBQW1RQUFtUUFBbVFBQWxFZ1FBVmtDaEFw
VWdTCklBRVNJQUVTSUFFU0lBRVNJQUZuQWxSQW5Ma3dsQVJJZ0FSSWdBUklnQVJJZ0FSSUlBb0Vx
SUJFQVNwRmtnQUprQUFKa0FBSmtBQUoKa0FBSk9CT2dBdUxNaGFFa1FBSWtRQUlrUUFJa1FBSWtR
QUpSSUVBRkpBcFFLWklFU0lBRVNJQUVTSUFFU0lBRVNNQ1pBQlVRWnk0TQpKUUVTSUFFU0lBRVNJ
QUVTSUFFU2lBSUJLaUJSZ0VxUkpFQUNKRUFDSkVBQ0pFQUNKRUFDemdTb2dEaHpZU2dKa0FBSmtB
QUprQUFKCmtBQUprRUFVQ0ZBQmlRSlVpaVFCRWlBQkVpQUJFaUFCRWlBQkVuQW1RQVhFbVF0RFNZ
QUVTSUFFU0lBRVNJQUVTSUFFb2tDQUNrZ1UKb0ZJa0NaQUFDWkFBQ1pBQUNaQUFDWkNBTXdFcUlN
NWNHRW9DSkVBQ0pFQUNKRUFDSkVBQ0pCQUZBbFJBb2dDVklrbUFCRWlBQkVpQQpCRWlBQkVpQUJK
d0pVQUZ4NXNKUUVpQUJFaUFCRWlBQkVpQUJFaUNCS0JDZ0FoSUZxQlJKQWlSQUFpUkFBaVJBQWlS
QUFpVGdUSUFLCmlETVhocElBQ1pBQUNaQUFDWkFBQ1pBQUNVU0JBQldRS0VDbFNCSWdBUklnQVJJ
Z0FSSWdBUklnQVdjQ1ZFQ2N1VENVQkVpQUJFaUEKQkVpQUJFaUFCRWdnQ2dTb2dFUUJLa1dTQUFt
UUFBbVFBQW1RQUFtUUFBazRFOGpzSEp5WW9hZE9uWkx0MjdjN1ZqNXIxcXhTc0dCQgpLVlNva0dO
OE5BS1BIRGtpdTNmdmxqeDU4a2lwVXFWMEVaY3ZYNVlOR3paby8wMDMzU1FaTTFJSGpBYjdaSkla
Yi8wK21kaWpyVTdqCjNHc0d2Rzk0VFpUeVNJQUVTSUFFMHBOQUJrTzU5S3lBbDJWLy8vMzNVcXRX
clZSRkZpMWFWRnEyYkNsOSsvYVZ2SG56cHBvMmxNZ2YKZnZoQlRwOCtMUTBhTkxDeWpSczNUdHEy
YlN2MTZ0V1RiNzc1Um9lZk9ISENLdmZvMGFPU0wxOCtLejA5SkJBT2dmVHM5K0hVTjVaNQpuTWFs
MStVN2pYT3Z5K0I5dzJ1aWxFY0NKRUFDSkpDZUJIejcrTDFNbVRKU3RteFo2MU9pUkFuSm5qMjc3
TjI3VjRZT0hTcDE2dFRSCkNvTVg4QWNNR0NBMWE5YVViZHUyZVNHT01rZ2diQUt4N1BkaFZ6SkdH
VGt1WXdTYXhaQUFDWkFBQ1pCQWlBUjhaWUpsYi92NjlldTEKd21FUHUzVHBrc3lZTVVPZWZQSkpX
YlZxbFF3ZlBseDY5ZXBsVHhLV2Y5MjZkWTc1R2pac0tJc1dMWktycnJyS01aNkJKT0ExZ1ZqMgpl
Ni9yN3JXOFlPUFM2M0k0enIwbVNua2tRQUlrUUFKK0orRGJGUkNuQzVjcFV5WnAzcnk1ZE96WVVV
ZFBuejdkS1psbllVV0tGTkVtCllaVXFWZkpNSmdXUlFLZ0VZdDN2UTYxZm9xZm5PRS8wSzhqNmt3
QUprQUFKeEpxQWIxZEFVZ05ac1dKRkhYM3MyREhIWkljUEg1YXAKVTZmS3p6Ly9MQWNPSEJCTTRJ
b1hMNjczZHpScTFFZ3laTWlnODhHY2ErTEVpWmJwMWNLRkMrWDgrZk5TdlhwMXVmdnV1MlhqeG8w
eQpiOTQ4S1ZteXBEejg4TU9PWmRrRER4MDZKT1BIanhkc3k2bFdyWm8yNjdMSDAwOENrUkJJcTk5
SEl0c3ByOXR4NUpRM2tyQzB4bVVrCnNwM3loanJPbldSRUVzYjdSaVQwbUpjRVNJQUVTQ0JkQ0dB
VHVsL2M0c1dMc2FGZWY4NmNPUk8wV1owNmRkSnBXclZxZFVXYVNaTW0KR2VyVUtrdU9LYy84cmx1
M3JxR1VESjN2cDU5K2NrelhyVnMzSFQ5MjdGZ2RyemFoVytVY1AzN2N5cU0yb1Z2aGFoSmhWS2xT
UmNlcAovU1NHMm5ScXhkRkRBcWtSOEtMZnB5WS9uTGhReGxFNDhsUExrOWE0VEMxdk9IRk80endj
T2FubDRYMGpOVHFNSXdFU0lBRVNTRFFDClNXV0NkZkRnUVhubm5YZGs1TWlSK2lTcTNyMTdwMUQ2
Tm0zYUpFb3BrWk1uVDBxZlBuMzBrYjQ0ZlFhYnkvdjE2NmVQekowL2Y3NU0KbURCQjU2dGN1Ykxl
UzRJTjdYQTllL2JVdnp0MzdxeC91LzJEMDdCd1V0YmF0V3RGS1RneVo4NGN5WjA3dDl2c1RFY0Nx
UkpJcTkrbgptam1NeUZESFVSaEZwSnJGcTNHWmFpRnhFTW43Umh4Y0JGYUJCRWlBQkVnZ0xBSytO
Y0VLM1BoOTRjSUZ1WGp4b29hRWQzSk1uanhaCnlwY3Zud0xhcUZHamRKcldyVnRMLy83OXJiZ2Ji
N3hSSDl1N2RldFcrZUtMTDJUSmtpWHl6RFBQU0s1Y3VhUnExYXFTUDM5K25SWm0KV3ZnZGlvTVpX
UDM2OVdYMTZ0VnkvLzMzQy9hbDRMUXVPaElJaDBBNC9UNmNjbExMRStvNFNrMVdPSEZlak10d3lv
MWxIdDQzWWttYgpaWkVBQ1pBQUNYaE53TGNySU1vRVMrd2ZVL2tBd045Ly8xMEdEUm9rZi83NVp3
cWUzYnQzbDdsejUrclZqaFFSZi8zQWl3UGhzRUxpCmhWTm1GWHBmeVlvVks2UkpreVl5YytaTUto
OWVnRTFpR2ZZK0Q3K2JmdTgxcmxpUEk2L3JIKy95ZU4rSTl5dkUrcEVBQ1pBQUNhUkYKd0xjcklO
aUltaTFiTnF2OTJCeU96WnBMbHk2Vk45NTRRMC8yWVNxeWN1VksvYVp5Skx6Kyt1djFCMzRjMlF0
RlpjZU9IYkpseXhhOQpRZ0hUS0RpOGxkZ0wxN2h4WXpHUEN1M1FvWVBnYmUxMEpCQUpnWEQ2ZlNU
bE9lV045VGh5cW9PZnczamY4UFBWWmR0SWdBUklJRGtJCitGWUJnVmxVb0NsVDRjS0ZCU2NCWWI4
RnpLOWdValY2OUdqcDJyV3JkYlhWQmxZWk9IQ2dmbjhIbmlDYkRpZGZGU3hZMFB6cHlUZVUKRDVo
dDdkbXpSOXExYXlkNGh3UE1SK2hJSUZ3QzRmYjdjTXNMbGkrVzR5aFlIZndhenZ1R1g2OHMyMFVD
SkVBQ3lVUEF0eVpZcVYxQwpQS0hGWm04NDdPY3czYXhacy9UUnQxanBnQzE5aXhZdHJOV1NmZnYy
U1pjdVhjeWtubnhqcjhubXpac0ZlMHl3MHRLalJ3OVA1RklJCkNUZ1JDTmJ2bmRKR0VoYnJjUlJK
WFJNeEwrOGJpWGpWV0djU0lBRVNJQUU3QWQrdWdOZ2I2ZVRQa2lXTERqYmY2YUdPTHhOMVBLODIK
dmNKcXhBY2ZmS0RmLzJIUGUrVElFZjBUYWIxd0kwYU0wS2RkalJrelJuQ1NGamJ2NGtXSnRXdlg5
a0k4WlpEQUZRUUMrLzBWQ1NJTQpTSTl4RkdHVkV5NDc3eHNKZDhsWVlSSWdBUklnZ1FBQ1Nia0Nn
bU5KRnl4WW9GR29kMi9vYjJ4STM3VnJsL2JqVGVsNCtXQ2dXN1JvCmtRN0MvaEM3c3lzeDluQzMv
bnZ1dVVlZWZmWlovUUpDbks3bDFTWjN0K1V6WFhJUWNPcjNYcmM4a25Ia2RWMGlIWmRlMThkcmVi
eHYKZUUyVThraUFCRWlBQkdKRndMY0tDRGFkbnp0M3p2cWNQWHRXYjBLZlBYdTJOci9DTVpiWWI5
R21UUnZOV3IxOFVESm4vdCtDRU42QQpIdWh3YWhaT3E0S0RMTHZMa1NPSC9ybHo1MDU3Y0VqK0lV
T0dTTEZpeFFReWFJb1ZFam9tdGhFSXRkL2JzbnJpaldRY2VWSUJteEF2CnhxVk5YRng2ZWQrSXk4
dkNTcEVBQ1pBQUNhUkJ3TGNtV1BueTVVdTE2VEJGR1RkdW5ONEVqb1E1YythVWxpMWI2cGNNdG0v
Zlh0YXMKV1NNNGRoY25aOEdtZmZueTVWS2pSZzFadG15WjRLUWh1eXRkdXJUK09XellNSmszYjU3
Z2xKckJnd2ZiazZUcFIzM3hnc1NtVFp2SwpoeDkrS00yYU5iUDJxYVNabVFsSTRDOENvZlo3cjhG
Rk1vNjhyb3NYNDlMck9ua3RqL2NOcjRsU0hnbVFBQW1RUUV3SUpOcXIyMU9yCjcrTEZpN0U1dy9H
alRLcU1BZ1VLR09wRmdZYmE2MkdvbzNXdkVLVk1ud3kxd2ROQVdyc2NwWWdZMDZaTk01UXlZaWpG
eGNpWU1hT2gKVmlxcy9NcTB4YmpycnJ1c1BIZmVlYWVPR3p0MnJBNVRwMjVaYWRVWi9sWTY5U1pq
Szl6MFBQcm9venErUklrU0J0TFNrVUJhQkNMdAo5Mm5KRHpVKzNIRVVhamxwcFE4Mkx0UEtGMnE4
MHpnUFZVWmE2WG5mU0lzUTQwbUFCRWlBQkJLSlFBWlVOaWFhVGdJVmdsVVB2Q01FCjcvc29XYktr
S0dYQVZlMzM3OSt2WDM0SVV5cSswOE1WTWlieU1ZRnd4NUhYU0RndXZTWktlU1JBQWlSQUFpUVFH
UUVxSUpIeFkyNFMKSUFFU0lBRVNJQUVTSUFFU0lJRVFDUGgyRTNvSURKaVVCRWlBQkVpQUJFaUFC
RWlBQkVnZ1JnU29nTVFJTklzaEFSSWdBUklnQVJJZwpBUklnQVJJUW9RTENYa0FDSkVBQ0pFQUNK
RUFDSkVBQ0pCQXpBbFJBWW9hYUJaRUFDWkFBQ1pBQUNaQUFDWkFBQ1ZBQllSOGdBUklnCkFSSWdB
UklnQVJJZ0FSS0lHUUVxSURGRHpZSklnQVJJZ0FSSWdBUklnQVJJZ0FTb2dMQVBrQUFKa0FBSmtB
QUprQUFKa0FBSnhJd0EKRlpDWW9XWkJKRUFDSkVBQ0pFQUNKRUFDSkVBQ1ZFRFlCMGlBQkVpQUJF
aUFCRWlBQkVpQUJHSkdnQXBJekZDeklCSWdBUklnQVJJZwpBUklnQVJJZ0FTb2c2ZFFITGw2OG1F
NGxzMWdTSUFFU0lBRVNJQUVTSUFFU1NEOEN2bGRBamg0OUtzT0hEdytaY0xqNTdBWDE2TkZECmhn
d1pJb1VLRlpLREJ3OWFVWFBtekpFSEgzelErZzNQZ0FFRDVOWmJiNVhLbFN2THhvMGJyVGluOEdC
eXJVd3VQVTV5L3ZHUGY4aTkKOTk0cmpSbzFrdlhyMTF1U29sa1BxeEI2UENNUWJ2OE5ONSs5NGs3
OXFrT0hEbEtuVGgxcDBLQ0JmUGZkZC9ia2N2andZU2xldkxqcwoyYlBIQ285bWYzT3FuMWY5L3JQ
UFBoUElDdWJzZk8zK1lPbGpIVDVseWhRQkg2K2NFK3RnZlNHYTE5eXI5bEFPQ1pBQUNaQ0FOd1I4
CnFZQ2NQSGxTUm80Y0thdFhyNWJkdTNmTGdnVUxRcVlWYmo1N1FYbno1cFhjdVhOTHZuejVKRmV1
WERycW80OCtrdWVlZTA0dVhicGsKSlVVOWx5MWJKa3VYTHBVUkkwWllFNEJnNFU1eUxXRWhlQUxs
N05peFE1WXNXYUluaUQxNzlwUi8vdk9mV3ByYmVzeWVQVnNtVFpvawpGeTVjQ0tFV1RPb1ZnWGp0
OTRzV0xaTGp4NC9yY1RoMjdOZ3JKdWd2dnZpaW5EdDN6c0xndHI5WkdVTDBlTjN2UXluZWZsK3gr
ME9SCkVjMjB6Wm8xazhHREIzdFdSQ0RyWUgzQjdUWG5QY2F6UzBOQkpFQUNKSkN1QkRLbmEra2VG
NzUxNjFiNTRJTVA5RVRub1ljZWtoSWwKU3NqcnI3K3VGWkh4NDhkTHExYXQ5RW9EVmhneVpjb2tI
VHQybER2dnZGTkdqeDR0Vzdac2thRkRod29tM21YS2xORjU4RThSK1o1OAo4a21ycGs1cDgrZlBy
eFVlSzVIeXZQWFdXM29sSVdmT25McXNIRGx5Nk9nVEowN0k5T25UZGIzTTlELysrS004OE1BRE9s
MnRXclhrCnFhZWUwbEhCd3JGQ0VTalhsUFhTU3k5Sml4WXRCSEoyN3R3cHZYcjFFa3dxb0pEWlhi
RDY0YW5zZi8vN1gvbjExMThsUTRZTUlkV2oKUW9VSzh1Njc3OHJBZ1FQbGtVY2VrWGJ0MmttUklr
WHN4ZElmQlFMeDN1L0xsU3NuYjcvOXRtNTV0bXpaWk5ldVhSYUZjZVBHQ2ZyTgpIMy84WVlVbFdy
KzNLbTd6WEw1ODJmRmVNMnJVS090K2hJY081ajBtMkwxcDFxeFpnbFdWWDM3NVJkNS8vMzE5VDBF
eG16WnRFcXdrCjRBRUhIbVo4K3VtbitnSEdKNTk4SXJqSFFLSEQ2Z05XTWpHbU1SYlBuajJySDhq
Z0FRaVVQdVJyMzc2OWJOKytYZDlQK3ZidHE4ZisKdW5YcjlFb3NWbXF6WnMwcTMzLy92UzdybVdl
ZTBYS2ZmdnBwclZCV3JGaFJWcTVjS1FzWExwU3BVNmU2dXNjRTZ3dHVyem52TWJaTwpSaThKa0FB
SkpESUJ3eWRPVFdTTXdvVUxHek5tekREVVAxYXJWY3FNeUZEbVR2cTNXZ2t4MUQ5YzdUOTI3Smlo
SnZMYWovVDE2OWMzCmxFSmlORzNhMUZDVEI4T2V6eEttUEU1cEVhYWUrcWY0UUVZd3A1UWRYWjRa
MzdWclYrUExMNzgwZnhybHk1YzMxQk5qSTFpNGxkREIKTTNmdVhPUHh4eC9YTWNvVXhKZ3dZWUt1
czV2Nm5UNTkybmpzc2NlTTZ0V3JHOFdLRlRQVXhFUExDYlVlYXFKaktJWEhVRTgvRFRXeApjS2ds
Zzd3aWtFajlIbjBhNCt6amp6L1d6ZCsyYlp0eDMzMzNHV28vbEtFZUJCaHFSVUNIaDlyZmtDa2Ur
ajNxZ2ZIV3UzZHZJOWk5CnhuNWZzZnVEcGYvaWl5K01ldlhxUVhRS3AxWXBES1ZnR0dmT25ORmxL
U1hDVUt1UHhtMjMzYWJ2WDBycE1LNjU1aG85OWxldFdtVk0KbXpaTjUxZktxcUVtOGRxdlZxT01a
NTk5VnZ0eExkVHFyREY1OG1TamUvZnVXdFl0dDl5aTQ5UURDU3ZQdi83MUwwTTlwTkhoYWpYRAp1
UGJhYTdVLzFIdGdZRjhJOVpyekhxT3g4dzhKa0FBSkpDd0IzNnlBTkcvZVhKdit3SVJKVFVha2Jk
dTJvaWJTS1hSRFBORlQvNHdGCmFlRXlaODRzU2hIUkpsTDkrL2VYMjIrL1hjZWJULzVUWlA3clI4
YU1HU1V3clZKNkJLWlZkamRvMENDcFZxMmFQU2lvSDJZS3AwNmQKc3VKVmI5SlBOb09GV3drZFBH
cXlJcSs4OG9yZWN6Sno1a3hac1dLRjROdE4vZFRFVUs4YVRadzRVVDgxdmZubW0rVzMzMzRUdC9Y
QQpVOS81OCtjTG5tcmpLU3prWVY4TFhmUUlKRXEvMzdkdm4yQlZFay9jOGJRZkRrL2lhOVNvSVdQ
R2pCSEVxOG03N3J0dSs1dWRhbnIyCmUzczlUSCt3ZTQwWkgvaWRXdm9xVmFybzVCalhHRjl3V0hY
QW5vbXFWYXRLNmRLbDljb2p3bXZYcnExWExtSDJxUjRpeU42OWUvVXEKSkZaM3NVcFNvRUFCeTBS
eTgrYk5Vck5tVFdTVEcyKzhVWCt3QjhSMFdFV0Z3eXFtVW5TMEh5dkY1djYxTys2NFE5OURFZUgy
SG9PMApUbjNCN1RYblBRWUU2VWlBQkVnZzhRbjRSZ0hKa3llUFBQLzg4L29Ec3dhWVNwMC9mMTcv
dzFWUDUvU1Z3ajliOVpSZm16TGdIK3FiCmI3NHB5SWQwWGJwMDBSTWhtRFhBVGhrbVdtWSsrMlYy
U290L3lPcEpyajJaWk0rZVBjWHYxSDVna3E1V1FLUk5temFDZlJqWXRBNGwKS0ZoNGFyS2dJR0dD
Qi9NeWJQcEZQZHpXejl5dkF2a3d2Y0NrQU01dFBhQzRiTml3UVp0Z1lWSkVGMzBDaWREdk1lR0VL
ZEI3NzcybgpUUjVOS3VxcHQ2VjQ0MkVBVEJuUmY5MzJOMU1PdnRPejM5dnJZZnFEM1d2czl4VzdQ
MWg2eUVNNnVHSERodWx2L01HRVg2MTA2Z00yCnNHY0Q5enNvSTh1WEw5ZHBZSFlGN2xCQ3VuWHJw
aFU5M050Z01nV1RLamlZY243OTlkZlN1blZyZmQ4SnZENjRKb0VPaWg0T0VXamMKdUxHK1Q1cW4r
Ym05eHdUckMyNnZPZTh4Z1ZlRXYwbUFCRWdnUVFrazdOcU55NHJEMUtwa3laS0dXclhRSmxJdnZQ
Q0NvZjU1R3VwSgpvUUVUQkRqMVpORlEreGEwSCtudzI1NVBSL3oxeHltdFBkNk5QOUFFQzNsZzlx
Qk9DRExVcW9PaEpnbVdtR0RoVmdJSGozcnFhV1RKCmtzVlFkdU1Pc2NHRFlOYWdKaVBhREF1bU11
cHBxSlU0bkhwWW1lbUpPUUY3LzRYNVhYcjJlelh4TlpSeVlTajdmK3VEdm1aM2RoTXMKaElmVDMr
S2gzNXNtV01HWTI2K0wzUjhzUFV5d1huMzFWVHNxN1ljcDFkMTMzMjJvL1YzYVpCTG1YRERCZ25t
VlVtYU1TcFVxR1Y5OQo5WlZPQzFOS21HYXBCeE9HMnNkaGxDcFZ5bEI3UlBUOVVLMUM2ZnRoM2Jw
MURiVW5KWVVKRmt5ODRHQk9pbnNvSEV5Kyt2VHBvODNDCmNDOVVLeWM2M08yZjFQcENPTmZjYmJs
TVJ3SWtRQUlrRUY4RU1xQTZDYW83dWE0Mmx1MnhtcUVtNVRxUG12em9KL3g0YXBxYUM4eVgKV2xv
djRyQXFZMjVXdDhzTEZtNVBZL2Z2Mzc5ZldyWnNHZGJwWDVBVHJMeGc0ZmF5Nlk4ZkFvSDlOMTc3
ZlRCaW9mYTNlT3ozVHN6dAoxOFh1QndlbjlNSDRJRndwTWRxRUZINnNvbUwxdDErL2Z2citacTZj
SUE3bHdNd1RLMmFCRG1XNlhiR0ZmS1VzaVZKbzlNRWRuVHQzCjFpYXZnVExEL1IzcU5RKzNIT1lq
QVJJZ0FSSklYd0pYcnJHbmIzMmlVam9VRGJ1eTRmYWZiV0MrcUZUT0p0UkorVUIwc0hCYlZzdXIK
TnBHSzJnU3J6Y21zd0JBOXdjb0xGaDZpZUNhUEVZSEEvaHV2L1Q0WWpsRDZXN3oyZXlmbTl1dGk5
NE9EVS9wZ2ZCQ092UjZtZzlrbQo1RGx4UTdpVDhvRzhvWlNwVmtMMENYY3d6OFQrRXB4NjU2Vnpx
cnVYOGltTEJFaUFCRWdnUGdna3hRcElmS0NPVFMydzBvTjlLdnhICkhodmVMQ1UrQ0xEZngvWTZZ
RFhGZkxkUmJFdG1hU1JBQWlSQUFuNGdRQVhFRDFlUmJTQUJFaUFCRWlBQkVpQUJFaUNCQkNHUStp
YUkKQkdrRXEwa0NKRUFDSkVBQ0pFQUNKRUFDSkpBWUJLaUFKTVoxWWkxSmdBUklnQVJJZ0FSSWdB
Ukl3QmNFcUlENDRqS3lFU1JBQWlSQQpBaVJBQWlSQUFpU1FTaWJqNndBQUlBQkpSRUZVR0FTb2dD
VEdkV0l0U1lBRVNJQUVTSUFFU0lBRVNNQVhCS2lBK09JeXNoRWtRQUlrClFBSWtRQUlrUUFJa2tC
Z0VxSUFreG5WaUxVbUFCRWlBQkVpQUJFaUFCRWpBRndTb2dQamlNcklSSkVBQ0pFQUNKRUFDSkVB
Q0pKQVkKQktpQUpNWjFZaTFKZ0FSSWdBUklnQVJJZ0FSSXdCY0VxSUQ0NGpLeUVTUkFBaVJBQWlS
QUFpUkFBaVNRR0FTb2dDVEdkV0l0U1lBRQpTSUFFU0lBRVNJQUVTTUFYQktpQStPSXlzaEVrUUFJ
a1FBSWtRQUlrUUFJa2tCZ0VxSUFreG5WaUxVbUFCRWlBQkVpQUJFaUFCRWpBCkZ3U29nUGppTXJJ
UkpFQUNKRUFDSkVBQ0pFQUNKSkFZQktpQUpNWjFZaTFKZ0FSSWdBUklnQVJJZ0FSSXdCY0VxSUQ0
NGpLeUVTUkEKQWlSQUFpUkFBaVJBQWlTUUdBU29nQ1RHZFdJdFNZQUVTSUFFU0lBRVNJQUVTTUFY
QktpQStPSXlzaEVrUUFJa1FBSWtRQUlrUUFJawprQmdFcUlBa3huVmlMVW1BQkVpQUJFaUFCRWlB
QkVqQUZ3UXkrNklWZnpYaTFLbFRzbjM3ZHNjbVpjMmFWUW9XTENpRkNoVnlqRS9FCndNT0hEOHVl
UFhza2I5NjhVckpreVlpYjRMVzhpQ3RFQWE0SUpGdS9kd1VsaG9tT0hEa2l1M2Z2bGp4NThraXBV
cVdpVXZMbHk1ZGwKdzRZTld2Wk5OOTBrR1RQeTJWRlVRRk1vQ1pBQUNaQkFUQWo0NnIvWXFsV3I1
T2FiYjNiOFZLaFFRYTY1NWhvcFZxeVlkTzNhVlk0ZgpQeDRUd0lHRlhMeDRVZDU1NXgwNWNlSkVZ
RlRJdnlkUG5xemIycUZEaDVEek9tWHdXcDVUR1F6em5rQWk5SHZ2VysxTzRnOC8vQ0R6CjVzMXps
empNVkRObXpORGpzRjI3ZG1GS1NEc2JsRXp6M3ViRnZTUHRFcG1DQkVpQUJFaUFCS0pId0ZjS2lC
MVRtVEpscEd6WnN0YW4KUklrU2tqMTdkdG03ZDY4TUhUcFU2dFNwSTZkUG43Wm5pYm9meWtlVkts
V2tXN2R1QWo4ZENYaE5JQjc3dmRkdGRDdHZ3SUFCVXJObQpUZG0yYlp2YkxFeEhBaVJBQWlSQUFp
UVFBd0srTXNHeTgxcS9mcjFXT094aGx5NWRFanl0ZlBMSkp3VlBqWWNQSHk2OWV2V3lKNG1xCkgw
ckh4bzBiUFN1alNaTW1ncFVkbUpiUmtRQUl4R08vVDY4cnMyN2R1cGdVM2JCaFExbTBhSkZjZGRW
Vk1TbVBoWkFBQ1pBQUNaQkEKb2hQdzdRcUkwNFhKbENtVE5HL2VYRHAyN0tpanAwK2Y3cFFzWWNL
S0ZpMHF0V3JWRXRpRTA1RkFNQUorNi9mQjJwbGU0VVdLRk5IagpzRktsU3VsVkJaWkxBaVJBQWlS
QUFnbEZ3TGNySUtsZGhZb1ZLK3JvWThlT3BaYk1pc1BtN0NsVHBzalBQLzhzQnc0Y2tNeVpNOHQx
CjExMG5EUm8wRUR6OXpKQWhnNVUybUdmaHdvV3lZc1VLSzNya3lKR1NJMGNPYWQyNmRkZ2I0L0cw
Kzd2dnZwTWJicmhCbWpadGFzbU8KaG1mSmtpVzYvV2pyRTA4OG9mZlRSS01jeW93ZWdWRDdmYVEx
d2JpWk9uV3FOVzZnQ0JVdlhseVBtMGFOR3JrYU4rSFVBV2FXRXlkTwp0RXl2TVBiT256OHYxYXRY
bDd2dnZqc2NrYW5td2FvbTlwbmdJSWlISDM0NDFiVFJpRHgwNkpDTUh6OWVETU9RYXRXcWFiT3ph
SlJECm1TUkFBaVJBQWlUZ0dRSDFUOHMzYnZIaXhZWUNvejluenB3SjJxNU9uVHJwTksxYXRRcWF4
b3hRRXhsRG5XNWp5VFhsbTkvMTZ0VXoKTGx5NFlDWVArdDIrZlh0SEdXdldyQW1hSjYySVVhTkdh
WmxxTXBkV1VsZnh3ZVI5ODgwM2h0by9vOHNhTW1TSUsxbE1GRHNDMGVqMwprZForMHFSSnFZNmJ1
blhyR2tvcGlMUVl4L3cvL2ZTVDQxaFRlNjhjMDBjYU9IYnNXRjBlN2dYUmN1clFES3ROUjQ4ZXRZ
cFJ5b2VoCjlwWHBPTFhmeFZBYjFLMDRla2lBQkVpQUJFZ2dYZ2trbFFuV3dZTUg5UWxVV0gzQTBi
VzllL2RPVlpIRGswMnNVSnc4ZVZMNjl1MnIKai9qRkNUVFkxSXJmT0FyejIyKy9sYzgrK3l4Vk9Z
aDg5ZFZYWmVuU3BWWTYySXhqSDBxNWN1V3NzSGowTEZpd1FMRFg1Tnk1Y3pKaQp4QWk5Z1Q0ZTY4
azZCU2NRYXI4UExzbGR6S1pObTBRcDkzcmM5T25USjhXNDZkZXZueDQzOCtmUGx3a1RKcmdUR0dL
cXlwVXI2N0dGCmd5YmdldmJzcVg5Mzd0dzVSRW54blZ3cElxS1VIbG03ZHEwb2hVN216SmtqdVhQ
bmp1OUtzM1lrUUFJa1FBSWtvQWo0MWdRcmNFT28KV3FXd1RwN0NXZjA0Y3JaOCtmS3BkZ0lvS3Rn
NC90UlRUd2ttVHFhNzhjWWI5ZTlmZi8xVjFKTmVnWG5TMDA4L2JVWTdmc1AwNU9xcgpyN2JpTUVr
cVVLQ0E5VHNlUGVySnVqUnUzRmpPbmowckgzMzBrVHozM0hQeFdFM1d5VWJBaTM1dkV4ZVdWNjJr
NlhFRDViMS8vLzZXCkRJd2JLTzVidDI2Vkw3NzRRbytiWjU1NXhvcjN5cE1yVnk2cFdyV3E1TStm
WDR2RTJNTnZQem1ZajlhdlgxOVdyMTR0OTk5L3YyQS8KRzA3NW95TUJFaUFCRWlDQlJDRGdXd1ZF
bVdBRjVmLzc3Ny9Mb0VHRDlLUWE3d1lKNXZEazlNRUhIOVJIK1RxbE1UZC9ZNFhFYnc3dgpUNENk
UHBTUGYvLzczMW9KODFzYi9kZ2VML3A5cEZ5NmQrOHVEenp3Z09CSVlDZm41M0hqMUY2dncvQU9v
MGNlZVVUdktjUHFKQjZtCjRFV3JkQ1JBQWlSQUFpU1FLQVI4cTRCZ0kycTJiTm1zNjRCTnFOaXND
VE9vTjk1NFEyYk9uQ2t3RlZtNWNxVitnN0dWME9hNS92cnIKQlI4NEhPRUx4UVZ2V3NmS0I1NDh3
dVFCRG04cDlwUGJzbVdMM2x5UGw1L2gvU21QUHZxb241cm42N1o0MGU4akJlUTBibmJzMkNIbwpW
MzRlTjVGeWM1c2ZxNUxtRWNONENTbVZEN2ZrbUk0RVNJQUVTQ0JlQ1BoV0FZSDVSYUJKUXVIQ2hR
VW5BY0Z1R3VaWE1BVVpQWHEwCmZqTjZzQXNDODZxQkF3Y0t6SkhzVDVkeEdwUmYzNzhCSlFzbmZl
RjRVU2hkMkN1RGx6ZlN4VDhCci9wOXBDMVZHOEgxdU1GZXAyUVoKTjVFeWM1c2Z5Z2ZNeXZiczJT
TjQrenBPdzRQWkdSMEprQUFKa0FBSkpBcUJwTnFFYmw0VVBLSEZwazA0S0JqQkhGNWFpUGRzekow
NwpWNzlrN0xISEh0T1RxbG16WnNuKy9mdkZiNXRhVFE1NG9ncXpEdGpwUTlIQ0N4dC8vUEZITTVy
ZkNVckFiYitQdEhrWUgzZ0RPVllJCnNTZWxSWXNXMXFyanZuMzdwRXVYTHBFV2tkVDVzYmRtOCti
TmdqMDFXRm5xMGFOSFV2Tmc0MG1BQkVpQUJCS1BnRzlYUU5LNkZGbXkKWk5GSmdyM0RReDFiSmkr
Ly9MSTJ2WHJ4eFJmbC9mZmYxNmYzMk9VZU9YSkUvMFJhUHptc0VEMzAwRU82U2M4Kys2eU1HVE5H
MnJScApvODArY3ViTTZhZW1KbDFiMHVyM2tRTEJXRkRIWE90eGc2ZnpIM3p3Z2VEOUgzYm4xM0Zq
YjJNMC9UaU5EcWRkWVZ6aXBDOXMrc2NMClZtdlhyaDNOWWltYkJFaUFCRWlBQkR3amtKUXJJRGlX
Rk1mTHdxa3o5QjFoNGtudDd0MjdkUnplbkk0amR3TWR6RXZnc0QvRWpiTXIKTzRtaXRLajNma2l4
WXNYa3Q5OStrOWRlZTgxTk01a21UZ200NmZlUlZ2M1BQLytVWGJ0MmFURVlONEhLQnlKQ0hUZmgx
c2tjYjRreQoxa0p0NXozMzNDTjRRSUQyNFRReFB4NkdFU29UcGljQkVpQUJFa2dNQWxmT3FoT2oz
bW5XRXB2TzhlNEs4NFBUbkxBSmZmYnMyZHI4CkNzZFl3bTRhVC9hZG5IcjVvTjRIZ1RpOEFUM1FZ
U003M3VNQkI5bHVIRXliVEVWbTU4NmRicktrZTVwOCtmSUpqaU9HZSsrOTl3U24KWTlIRkw0Rkkr
MzJrTFV0cjNPRDB1UlVyVnVoaTNJNmJjT3VVSTBjT25UVlJ4bG80N1RRZkVLQ05OTVVLaHlEemtB
QUprQUFKcEFjQgozNXBnWWVLY21vTXB5cmh4NC9SbVRxZDBNSEdBN2Zybm4zOHVNTUdDc29IalE2
SEU0QVF0VEtKcTFLZ2h5NVl0RTV3ODVNYmhpZXdOCk45eWdWeE5nTGdHYmZMeGY0NDQ3N25DVFBk
M1M0S2hQSFBzNVpjb1VyYkJoMHl0TnNkTHRjcVJhY0tUOVBsWGhMaUxSTDFxMmJLbGYKTXRpK2ZY
dFpzMmFOTlc2d04yVDU4dVVoanhzWHhUb21LVjI2dEE0Zk5teVl6SnMzVDcvVFp2RGd3WTVwRXpY
UWZFRFF0R2xUK2ZERApENlZaczJiVy9yWkViUlByVFFJa1FBSWs0SDhDdmwwQkNieDBNQVhCaS8v
d1FqTFlxUC95eXk5cEhpOEw1UUJ2ZE1aVFpld0JlZUdGCkYvU0pVSGh5aXhkL2ZmMzExd0pGQmhO
eTAxd3JzTnpBMzVCVHFGQWh3Vm4rR3pac3NJN1RERXdYYjc5aGQ0NE54VGdoQzI5MXAwc00KQXVI
MCswaGJoajBKMkNpTmwzL2F4ODNwMDZkbDJyUnBlaFVTNHdaakVLZXNSY3ZCQk95dXUrN1NKa29i
TjI3MDdlb2RIaERncUd5WQpZclZ0MjFaT25EZ1JMYVNVU3dJa1FBSWtRQUtlRU1pZy9tbjVhd2Ux
SjFoU0NzR3FCOTRaZ3ZkOWxDeFpVcjhiSTJXSzBIN2g3ZW80ClFoTW1JbmdSb21tckhwb1VwaWFC
K0NiZzliZ0p0N1U0c1E1SEFXTXZFOStaRVM1RjVpTUJFaUFCRWlBQjd3aFFBZkdPSlNXUkFBbVEK
QUFtUUFBbVFBQW1RQUFta1FTQnBUTERTNE1Cb0VpQUJFaUFCRWlBQkVpQUJFaUNCR0JDZ0FoSUR5
Q3lDQkVpQUJFaUFCRWlBQkVpQQpCRWpnZndTb2dMQW5rQUFKa0FBSmtBQUprQUFKa0FBSnhJd0FG
WkNZb1daQkpFQUNKRUFDSkVBQ0pFQUNKRUFDVkVEWUIwaUFCRWlBCkJFaUFCRWlBQkVpQUJHSkdn
QXBJekZDeklCSWdBUklnQVJJZ0FSSWdBUklnQVNvZzdBTWtRQUlrUUFJa1FBSWtRQUlrUUFJeEkw
QUYKSkdhb1dSQUprQUFKa0FBSmtBQUprQUFKa0FBVkVQWUJFaUFCRWlBQkVpQUJFaUFCRWlDQm1C
R2dBaEl6MUN5SUJFaUFCRWlBQkVpQQpCRWlBQkVpQUNnajdnR3NDRnk5ZWRFd2JMTnd4Y1VCZ0pI
a0RSRVhsWjd6WEx5cU5wdENrSjhCK24vUmRnQUJJZ0FSSUlLb0VmSytBCkhEMTZWSVlQSHg0eXhI
RHoyUXZxMGFPSERCa3lSQW9WS2lRSER4N1VVZmZlZTY5VXFGQkJmNW8wYVdJbEh6QmdnTng2NjYx
U3VYSmwKMmJoeG94VnVlb1lPSFNybHk1ZlhuM0xseWtuUm9rWGx3SUVET2pxdHZJWmhTUGZ1M2VX
T08rNlEyclZyeTg2ZE8wMnhrbFplTStHYwpPWFBrd1FjZk5IOWEzMDdoa2NqczBLR0QxS2xUUis2
NjZ5N1pzbVdMVlk2VFRDZStWb1lRUE1Ia09MVU5ZZzhmUGl6Rml4ZVhQWHYyCldLVkVzMzVXSVNG
NHd1Mi9idktkUFh0V0tsYXNHRUp0L3BmVWliTjV2UnMwYUNEZmZmZGRDcGx1T2FmSXBINEVrK2ww
alJJeHJ4UEgKd0hhNCtSMU1UaUwzZXpmdFpob1NJQUVTSUlIMEorQkxCZVRreVpNeWN1UklXYjE2
dGV6ZXZWc1dMRmdRTXVsdzg5a0x5cHMzcitUTwpuVnZ5NWNzbnVYTGxrZ3NYTHNqZXZYdGw4K2JO
K2pOcjFpeWRIUFZjdG15WkxGMjZWRWFNR0NHWUdBUzZMbDI2NkFrNUp1VTllL2FVCisrNjdUeXMy
YnZMKytPT1BzbTNiTnNFM2xMRTJiZHE0TGhjSlAvcm9JM251dWVmazBxVkxLYXJsRk82bVBzRmt6
cDgvWDQ0ZE82YXYKRnhnTUdqUklseGRNWmlEZkZKVUw0WWVUSEtlMm1TSmZmUEZGT1hmdW5QbFQ5
ek9uNnhjb2QvYnMyVEpwMGlUZEQ2ek1IbnJpcGQ4SAphMUlnajBXTEZzbng0OGYxOVI0N2Rxejg0
eC8vU0pIVkxXZDdwbUF5Zy9XaFJNd2J5TkhlaGxEOFRuSVNzZCtIMG1hbUpRRVNJQUVTCmlBOEN2
bEpBdG03ZEtpKy8vTExjZnZ2dHNtL2ZQaWxSb29TTUdqVktUeERIang4dmx5OWZsbjc5K3Nramp6
d2lqejMybUN4WnNrUmYKaGRHalJ3c20rSENZM0gvODhjY3A4dW1Jdi80NHBaMDZkYXArYW84bjkr
Wm4rZkxsZ3RXT08rKzhVeXNVT1hMa2tFMmJOc2wxMTEybgpKNkY0Mm91VkNUZ29CZzg4OElCa3lw
UkphdFdxNWJnQzhsZnh1bDNEaGcyVGQ5OTkxM1hlaFFzWGFvVWxZOGFNZW9VRlNneFl1QzMzCnhJ
a1RNbjM2ZExNSzFyZFRlQ1F5d1E1OG9laXNYNzllcnI3NjZsVGJHTWpYcXBqeXZQVFNTN0o0OFdJ
ZGhCV2ZsaTFiaXR2cmhFeE8KYlVQNHVISGo5T29WVnFGTUY2ek5nZlhEeXRkUFAvMGtmLy83MzZW
Ly8vNzZXcG95SXZtT1JiOC9mLzY4Wm9nMnRXN2QycXB1Sk9NQgpETjkrKzIwdEsxdTJiTEpyMXk1
TGJpaWNyVXpLRTB4bXNHdVVpSGtEKzVXOURjblU3KzN0cHA4RVNJQUVTQ0RCQ0toSnNDK2NtckFZ
CmhRc1hObWJNbUdHb0NhelZKaldSTlpUcGtQNnRWa0tNOXUzYmE3OTYwbTZvZitUYWovVDE2OWMz
T25ic2FEUnQydFJRazNQRG5zOFMKcGp4T2FSR21WamRTZkNBajBLa240SVl5TmRGMVJGa3RXclRR
U2JwMjdXcDgrZVdYVm5KbGFtV29KOFBXYjd0SG1WSVpTdm13Z3R6awpWVTkvRGFXVUdjcTB5MUFy
UTBhV0xGbU1QLy84MDNDVDF5eElLUzJha2ZuYi9BNE05MEptNTg2ZGpXdXZ2ZFpRS3lLNm1GQmtt
dldhCk8zZXU4Zmpqait1ZjZzbTZNV0hDQkgzdDNGd25VMFpnMjlRcWtxRlduZ3hsSDI4b3hkSlFx
MlJoMVUrWk1PbnJvSjVBRzJwaWJCWVgKMW5lcytyMVNlbzF1M2JycE9xSWZLMlZLK3lNWkQyYUQw
ZGN4L3BUaXI0Tzg0QndvTTVRK2xJaDVUWmJKMHUvTjl2S2JCRWlBQkVnZwpNUWxrVGpCOUtXaDFt
emR2cmsxYllNS2svZ2xMMjdadHBYcjE2aW5TdzdaNTFhcFZnclJ3bVRObjFpWS9NSkhDRTJtc25D
QStRNFlNCktmTFpmMkFWSVRDdFVucTBtWkk5SGN5SHFsV3JaZytTaGcwYjZnOENzZitqZE9uU0Fw
dDdtRUtjT25YS1NxdTZramJkc2dMKzhwdzUKYzBhbVRac202OWF0czZMYzVNVVQ5emZlZUVPYmQ2
R04rSTNWQlRkNXJZSmNlcnlRaVJXZTExOS9YU3BWcXFUM3E0UWpzMTY5ZXZMSwpLNi9vdlRjelo4
NlVGU3RXQ0w1aFltSjNUdGZKSG0vM3d3eXRSbzBhTW1iTUdMMTZvWlFhWFliYittSFZDV1ptZUxx
UEZSYXN0R0hmClR5UXVWdjBlKzVMUWYrSHV1ZWNlYTR4RU1oNGdDeXVWRHozMGtLZ0hBOUtxVlNz
RWFYTy9TRGc3eVhSN2pSSXhyNGIyMTU5azZmZjIKTnROUEFpUkFBaVNRZUFSOG80RGt5Wk5Ibm4v
K2VmMkJ2VGRNUTJBMlVxQkFBV3Z2UXMyYU5lWDA2ZFB5L3Z2dkN5YnpiNzc1cGlBZgowc0VFQ3hO
TGJHQ0ZIVG5Nb2RUVDNTdXVxRk5hYk03R25neTd5NTQ5dS8ybjlrTlIyYkJoZzU1Y0h6cDBTSkFt
Zi83OGVoS3FWa0QwCjNvd2RPM2JvdlIxT1NoRE1TREF4dzc0UzAyRUNtMWJldFd2WDZyMHdNRWY3
N2JmZjVOTlBQOVVUU0RkNXpYTGNma2NpRThvVitQVHQKMjFlYmlCVXNXRkJmaDNCa1ltS01DYTFh
YWRKbWNXRHQ5am9GYTZ0NmltNHBpbEJlY2UxUWp0djZUWnc0VWJkdjRNQ0JXdmtNVms0bwo0Ykhx
OTMvNzI5KzArUmlVQll3dktNbHdrWXdIVFBZYk5Xb2s3NzMzbmpaVk5Oc2RDZWRnTXQxY28wVE1h
ekl6djVPbDM1dnQ1VGNKCmtBQUprRUNDRWtqTWhSdjN0WWFwVmNtU0pRMjFhcUZOcEY1NDRRV2pj
ZVBHaGpvTnlsQWJYN1VnOWFUY1VKTkM3VWM2L0xibnM1Zm0KbE5ZZW41b2ZwamZObWpYVEptRmx5
NVkxL3ZPZi8xakpZVm9GODZ5YmI3N1pXTGx5cFJWdTk4QU01cTIzM3JJSGFYOWFlZFVrVWJjWgpa
Y1BzVENraGxveTA4cG9KQTgyUlVnc1BWNmJhMkcwOCt1aWpobG9kTXRTVFhPUC8vdS8vekdJTXR6
S3RETXFqTnZ4cmM3TmZmdm5GCkh1emFINnpORUdBM3djTHZjT3FIZk5GeTl2NExzN05JKzcxUzJB
MjFBcUw3YUtkT25ReTFPcVdySHNsNFVNcStvWlE0USszYnNENFkKSTNZWEt1ZlVaS1oxalJJeHI1
MlY2VS9tZm04eTREY0prQUFKa0VCOEU4aUE2aVdvN3VTNjJqQjl3V3FHMnZ1ZzgrQVkwYXhacytx
bgoxNmtKQ2N5WFd0cFE0bkJhVWM2Y09hOG9INnN5Mkt3ZWpuT1RGMlplT0kwcjBMbkpHNWducmQr
UnlQU3FudnYzNzljYnA4TTVCUzJ0CjlqbkZSOUptSjNtUmhnWDJYeS82ZlR5ME1aSTZKRVBlWk8v
M2tZNGI1aWNCRWlBQkVvZytBVitkZ2hVTUY4d1NUT1VEYVdDT2c3QzAKWEdDK3ROSzdqWWNKbFZQ
NTRTb2ZLTmROWGlmbHcyMWV0MjB6MDdtcGo1azI4TnVMZWs2ZVBGbS9TNlJQbno2QjRxUDJPNUky
UjZOUwpnZjNYaTM0ZkQyMk1wQTUrejh0K0g0MlJSSmtrUUFJa1FBSmVFMGlLRlJDdm9WRmUvQlBB
aWhmMkowUXk0WXovVnJLR0pKQ1NBUHQ5ClNoNzhSUUlrUUFJa0VKOEVxSURFNTNWaHJVaUFCRWlB
QkVpQUJFaUFCRWpBbHdUU3RrUHlaYlBaS0JJZ0FSSWdBUklnQVJJZ0FSSWcKZ2ZRZ1FBVWtQYWl6
VEJJZ0FSSWdBUklnQVJJZ0FSSklVZ0pVUUpMMHdyUFpKRUFDSkVBQ0pFQUNKRUFDSkpBZUJLaUFw
QWQxbGtrQwpKRUFDSkVBQ0pFQUNKRUFDU1VxQUNraVNYbmcybXdSSWdBUklnQVJJZ0FSSWdBVFNn
d0FWa1BTZ3pqSkpnQVJJZ0FSSWdBUklnQVJJCklFa0pVQUZKMGd2UFpwTUFDWkFBQ1pBQUNaQUFD
WkJBZWhDZ0FwSWUxRmttQ1pBQUNaQUFDWkFBQ1pBQUNTUXBBU29nU1hyaDJXd1MKSUFFU0lBRVNJ
QUVTSUFFU1NBOENWRURTZ3pyTEpBRVNJQUVTSUFFU0lBRVNJSUVrSlVBRkpFa3ZQSnROQWlSQUFp
UkFBaVJBQWlSQQpBdWxCZ0FwSWVsQm5tU1JBQWlSQUFpUkFBaVJBQWlTUXBBU29nQ1RwaFdlelNZ
QUVTSUFFU0lBRVNJQUVTQ0E5Q0ZBQlNRL3FMSk1FClNJQUVTSUFFU0lBRVNJQUVrcFFBRlpBa3Zm
QnNOZ21RQUFtUUFBbVFBQW1RQUFta0J3RXFJT2xCbldXU0FBbVFBQW1RQUFtUUFBbVEKUUpJU29B
S1NwQmVlelNZQkVpQUJFaUFCRWlBQkVpQ0I5Q0JBQlNROXFMTk1FaUFCRWlBQkVpQUJFaUFCRWto
U0FwbjkxTzVUcDA3Sgo5dTNiSFp1VU5XdFdLVml3b0JRcVZNZ3hQaHFCUjQ0Y2tkMjdkMHVlUEht
a1ZLbFN1b2pMbHkvTGhnMGJ0UCttbTI2U2pCbXBBMGFECmZUTEpqTGQrbjB6czBWYW5jZTQxQTk0
M3ZDWktlU1JBQWlSQUF1bEpJSU9oWEhwV3dNdXl2Ly8rZTZsVnExYXFJb3NXTFNvdFc3YVUKdm4z
N1N0NjhlVk5ORzBya0R6LzhJS2RQbjVZR0RScFkyY2FOR3lkdDI3YVZldlhxeVRmZmZLUERUNXc0
WVpWNzlPaFJ5WmN2bjVXZQpIaElJaDBCNjl2dHc2aHZMUEU3ajB1dnluY2E1MTJYd3Z1RTFVY29q
QVJJZ0FSSklUd0srZmZ4ZXBrd1pLVnUyclBVcFVhS0VaTStlClhmYnUzU3REaHc2Vk9uWHFhSVhC
Qy9nREJneVFtalZyeXJadDI3d1FSeGtrRURhQldQYjdzQ3NabzR3Y2x6RUN6V0pJZ0FSSWdBUkkK
SUVRQ3ZqTEJzcmQ5L2ZyMVd1R3doMTI2ZEVsbXpKZ2hUejc1cEt4YXRVcUdEeDh1dlhyMXNpY0p5
Nzl1M1RySGZBMGJOcFJGaXhiSgpWVmRkNVJqUFFCTHdta0FzKzczWGRmZGFYckJ4NlhVNUhPZGVF
NlU4RWlBQkVpQUJ2eFB3N1FxSTA0WExsQ21UTkcvZVhEcDI3S2lqCnAwK2Y3cFRNczdBaVJZcG9r
N0JLbFNwNUpwT0NTQ0JVQXJIdTk2SFdMOUhUYzV3bitoVmsvVW1BQkVpQUJHSk53TGNySUttQnJG
aXgKb280K2R1eVlZN0xEaHcvTDFLbFQ1ZWVmZjVZREJ3NElKbkRGaXhmWCt6c2FOV29rR1RKazBQ
bGd6alZ4NGtUTDlHcmh3b1Z5L3Z4NQpxVjY5dXR4OTk5MnljZU5HbVRkdm5wUXNXVkllZnZoaHg3
THNnWWNPSFpMeDQ4Y0x0dVZVcTFaTm0zWFo0K2tuZ1VnSXBOWHZJNUh0CmxOZnRPSExLRzBsWVd1
TXlFdGxPZVVNZDUwNHlJZ25qZlNNU2VzeExBaVJBQWlTUUxnU3dDZDB2YnZIaXhkaFFyejluenB3
SjJxeE8KblRycE5LMWF0Ym9pemFSSmt3eDFhcFVseDVSbmZ0ZXRXOWRRU29iTzk5TlBQem1tNjlh
dG00NGZPM2FzamxlYjBLMXlqaDgvYnVWUgptOUN0Y0RXSk1LcFVxYUxqMUg0U1EyMDZ0ZUxvSVlI
VUNIalI3MU9USDA1Y0tPTW9IUG1wNVVsclhLYVdONXc0cDNFZWpwelU4dkMrCmtSb2R4cEVBQ1pB
QUNTUWFnYVF5d1RwNDhLQzg4ODQ3TW5Ma1NIMFNWZS9ldlZNb2ZaczJiUktsbE1qSmt5ZWxUNTgr
K2toZm5ENkQKemVYOSt2WFRSK2JPbno5ZkpreVlvUE5Wcmx4Wjd5WEJobmE0bmoxNzZ0K2RPM2ZX
djkzK3dXbFlPQ2xyN2RxMW9oUWNtVE5uanVUTwpuZHR0ZHFZamdWUUpwTlh2VTgwY1JtU280eWlN
SWxMTjR0VzRUTFdRT0lqa2ZTTU9MZ0tyUUFJa1FBSWtFQllCMzVwZ0JXNzh2bkRoCmdseThlRkZE
d2pzNUprK2VMT1hMbDA4QmJkU29VVHBONjlhdHBYLy8vbGJjalRmZXFJL3QzYnAxcTN6eHhSZXla
TWtTZWVhWlp5UlgKcmx4U3RXcFZ5WjgvdjA0TE15MzhEc1hCREt4Ky9mcXlldlZxdWYvKyt3WDdV
bkJhRngwSmhFTWduSDRmVGptcDVRbDFIS1VtSzV3NApMOFpsT09YR01nL3ZHN0dremJKSWdBUkln
QVM4SnVEYkZSQmxnaVgyajZsOEFPRHZ2Lzh1Z3dZTmtqLy8vRE1Geis3ZHU4dmN1WFAxCmFrZUtp
TDkrNE1XQmNGZ2g4Y0lwc3dxOXIyVEZpaFhTcEVrVG1UbHpKcFVQTDhBbXNReDduNGZmVGIvM0ds
ZXN4NUhYOVk5M2VieHYKeFBzVll2MUlnQVJJZ0FUU0l1RGJGUkJzUk0yV0xadlZmbXdPeDJiTnBV
dVh5aHR2dktFbit6QVZXYmx5cFg1VE9SSmVmLzMxK2dNLwpqdXlGb3JKanh3N1pzbVdMWHFHQWFS
UWMza3JzaFd2Y3VMR1lSNFYyNk5CQjhMWjJPaEtJaEVBNC9UNlM4cHp5eG5vY09kWEJ6Mkc4CmIv
ajU2ckp0SkVBQ0pKQWNCSHlyZ01Bc0t0Q1VxWERod29LVGdMRGZBdVpYTUtrYVBYcTBkTzNhMWJy
YWFnT3JEQnc0VUwrL0EwK1EKVFllVHJ3b1dMR2orOU9RYnlnZk10dmJzMlNQdDJyVVR2TU1CNWlO
MEpCQXVnWEQ3ZmJqbEJjc1h5M0VVckE1K0RlZDl3NjlYbHUwaQpBUklnZ2VRaDRGc1RyTlF1SVo3
UVlyTTNIUFp6bUc3V3JGbjY2RnVzZE1DV3ZrV0xGdFpxeWI1OSs2UkxseTVtVWsrK3NkZGs4K2JO
CmdqMG1XR25wMGFPSEozSXBoQVNjQ0FUcjkwNXBJd21MOVRpS3BLNkptSmYzalVTOGFxd3pDWkFB
Q1pDQW5ZQnZWMERzalhUeVo4bVMKUlFlYjcvUlF4NWVKT3A1WG0xNWhOZUtERHo3UTcvK3c1ejF5
NUlqK2liUmV1QkVqUnVqVHJzYU1HU000U1F1YmQvR2l4TnExYTNzaApuakpJNEFvQ2dmMytpZ1FS
QnFUSE9JcXd5Z21YbmZlTmhMdGtyREFKa0FBSmtFQUFnYVJjQWNHeHBBc1dMTkFvMUxzMzlEYzJw
Ty9hCnRVdjc4YVowdkh3dzBDMWF0RWdIWVgrSTNkbVZHSHU0Vy84OTk5d2p6ejc3ckg0QklVN1g4
bXFUdTl2eW1TNDVDRGoxZTY5YkhzazQKOHJvdWtZNUxyK3ZqdFR6ZU43d21TbmtrUUFJa1FBS3hJ
dUJiQlFTYnpzK2RPMmQ5enA0OXF6ZWh6NTQ5VzV0ZjRSaEw3TGRvMDZhTgpacTFlUGlpWk0vOXZR
UWh2UUE5ME9EVUxwMVhCUVpiZDVjaVJRLy9jdVhPblBUZ2svNUFoUTZSWXNXSUNHVFRGQ2drZEU5
c0loTnJ2CmJWazk4VVl5amp5cGdFMklGK1BTSmk0dXZieHZ4T1ZsWWFWSWdBUklnQVRTSU9CYkU2
eDgrZktsMm5TWW9vd2JOMDV2QWtmQ25EbHoKU3N1V0xmVkxCdHUzYnk5cjFxd1JITHVMazdOZzA3
NTgrWEtwVWFPR0xGdTJUSERTa04yVkxsMWEveHcyYkpqTW16ZFBjRXJONE1HRAo3VW5TOUtPK2VF
RmkwNlpONWNNUFA1Um16WnBaKzFUU3pNd0VKUEFYZ1ZEN3ZkZmdJaGxIWHRmRmkzSHBkWjI4bHNm
N2h0ZEVLWThFClNJQUVTQ0FtQkJMdDFlMnAxWGZ4NHNYWW5PSDRVU1pWUm9FQ0JRejFva0JEN2ZV
dzFORzZWNGhTcGsrRzJ1QnBJSzFkamxKRWpHblQKcGhsS0dUR1U0bUprekpqUlVDc1ZWbjVsMm1M
Y2RkZGRWcDQ3Nzd4VHg0MGRPMWFIcVZPM3JMVHFESDhyblhxVHNSVnVlaDU5OUZFZApYNkpFQ1FO
cDZVZ2dMUUtSOXZ1MDVJY2FIKzQ0Q3JXY3ROSUhHNWRwNVFzMTNtbWNoeW9qcmZTOGI2UkZpUEVr
UUFJa1FBS0pSQ0FECktoc1RUU2VCQ3NHcUI5NFJndmQ5bEN4WlVwUXk0S3IyKy9mdjF5OC9oQ2tW
MytuaENoa1QrWmhBdU9QSWF5UWNsMTRUcFR3U0lBRVMKSUFFU2lJd0FGWkRJK0RFM0NaQUFDWkFB
Q1pBQUNaQUFDWkJBQ0FSOHV3azlCQVpNU2dJa1FBSWtRQUlrUUFJa1FBSWtFQ01DVkVCaQpCSnJG
a0FEeGdEQVhBQUFnQUVsRVFWUUprQUFKa0FBSmtBQUprQUFKaUZBQllTOGdBUklnQVJJZ0FSSWdB
UklnQVJLSUdRRXFJREZECnpZSklnQVJJZ0FSSWdBUklnQVJJZ0FTb2dMQVBrQUFKa0FBSmtBQUpr
QUFKa0FBSnhJd0FGWkNZb1daQkpFQUNKRUFDSkVBQ0pFQUMKSkVBQ1ZFRFlCMGlBQkVpQUJFaUFC
RWlBQkVpQUJHSkdnQXBJekZDeklCSWdBUklnQVJJZ0FSSWdBUklnQVNvZzdBTWtRQUlrUUFJawpR
QUlrUUFJa1FBSXhJMEFGSkdhb1dSQUprQUFKa0FBSmtBQUprQUFKa0FBVkVQWUJFaUFCRWlBQkVp
QUJFaUFCRWlDQm1CSHd2UUp5CjlPaFJHVDU4ZU15QWhscFFqeDQ5Wk1pUUlWS29VQ0U1ZVBDZ3pu
N3Z2ZmRLaFFvVjlLZEpreWFXeUFFREJzaXR0OTRxbFN0WGxvMGIKTitwd3AveFdoaEE4VG5JNmRP
Z2dkZXJVa1FZTkdzaDMzMzFuU1hPcUJ5S2R3cDNrV29Mb2lScUJST3ozd2ZvYklCMCtmRmlLRnk4
dQplL2Jzc1poRnM3ODU5ZHRnOVhPcUJ5cnBGTzRrMTJ6UVo1OTlKdi80eHovTW4xZDgyNitwM1g5
RnduUUttREpsaXFCOVhqa25WcUZjCkE2ZjhYdFdOY2tpQUJFaUFCQ0lqNEVzRjVPVEprekp5NUVo
WnZYcTE3TjY5V3hZc1dCQVpwU2ptenBzM3IrVE9uVnZ5NWNzbnVYTGwKa2dzWExzamV2WHRsOCti
TitqTnIxaXhkT3RxeWJOa3lXYnAwcVl3WU1jTDZSeCtZUDl5cUJzcFp0R2lSSEQ5K1hMTWJPM2Fz
TlRFSwpWbzlnNFlGeVo4K2VMWk1tVGRMdERMZXV6T2RNSUpIN2ZiRCtacmIweFJkZmxIUG56cGsv
OWRqMnczaXdHdVRDWTcrWDJmMHVzc1lrClNiTm16V1R3NE1HZWxSVjQ3d2pXUjNqdjhRdzVCWkVB
Q1pCQXpBaGtqbGxKTVNobzY5YXQ4c0VISCtoSjgwTVBQU1FsU3BTUTExOS8KWFU5V3hvOGZMOVdx
VlJNOFFjT0UvOUtsUy9McHA1L3FDZjBubjN3aUowNmMwQk1jUERWcjFLaVI0QWxqdTNidDVPelpz
MXFKZWU2NQo1d1NUb0srKytrcm16SmtqV2JObWxlKy8vMTdMZSthWloxSzBidlRvMGJKbHl4WVpP
blNvOU96WlU4cVVLU1A1OCtmWFNwRTk0VnR2CnZTVlk3Y2laTTZka3lwUkpjdVRJSWV2V3JaUHJy
cnRPVDlLdnZ2cHFxVnUzcm1USWtFRisvUEZIZWVDQkIzUzZXclZxeVZOUFBhVkYKQmVhM3kzL3Bw
WmVrUllzV2d2UTdkKzZVWHIxNkNTWUpVTTdzenFrZTVjcVZrN2ZmZmxzbnk1WXRtK3phdFV2N2c5
VWpXSGhnL2JDeQo4KzY3NzhyQWdRUGxrVWNlMFl5TEZDbGlydzc5SVJMd1E3OFAxdCtBWXR5NGNY
bzE4STgvL3JESXVPMXZWZ2JsaWNmeFlLK2Y2Yjk4CitiSmVQY0VxSis0TEhUdDJsRHZ2dkZOR2pS
cGwzY3VnZkdIaWpmdGFxMWF0SE5QajRRVldWWDc1NVJkNS8vMzM5YjBHWld6YXRDbmkKK3lEdW4r
M2J0NWZ0MjdmcisxZmZ2bjNsdi8vOXI3NS9ZWVhXNlI0SkJmTHBwNS9XRHpZcVZxd29LMWV1bElV
TEY4clVxVk9qY2svaQp2Y2ZzVWZ3bUFSSWdnVGdrWVBqRXFVbUtVYmh3WVdQR2pCbUcrdWRvdFdy
OSt2WEdndzgrcUgrcnAzT0dVakNNTTJmT0dHcFZ4RkQvClBBMzFOTjY0N2JiYkRQVlAzMUJLaDNI
Tk5kZm8vS3RXclRLbVRadW04NmtKbnFFbXp0cVA5TGZjY292MnEzKzRWcmdPK09zUHlxOWYKdjc2
aEpnNUcwNlpOdFd5RXFkV05GQitVR2VqVUNvR2hUSjUwTzVCZktSQTZTZGV1WFkwdnYvelNTbDYr
ZkhsRHJWQll2NTA4YytmTwpOUjUvL0hFZHBVdzdqQWtUSnVpMnVhbUhLUTlsb0MwZmYveXhEZ3BX
ajJEaHBwekFiNlhZR1VvUk10UlRUa05OSmdPaitkc2xBYi8wCmU3TzVnZjF0MjdadHhuMzMzV2Rj
dkhqUlVKTndRejM1MTBsRDdXL0lGTS9qQWZYRCtPemR1N2UrTjZuSlBZS01ZOGVPR1dvaXJmMzIK
ZTVuZGozdVpVL292dnZqQ3FGZXZuczVyLytQRmZWQ3RpaHJQUHZ1c0ZvdHI5TkZISHhtVEowODJ1
bmZ2cnUrcFR2ZklmLzNyWDRaNgpJS1B6cU5VTTQ5cHJyOVYrdC9kR3N3MkJmU1RVdnNCN2owbVMz
eVJBQWlTUWZnUjhzd0xTdkhsemJkWUQ4eVExMFpDMmJkdEs5ZXJWClU2aDhMN3p3Z3VCSlhkV3FW
YVYwNmRMNlNUd1MxSzVkVzY4eXdBeXFXTEZpMmdRS1QrV3hnb0ZWa2dJRkNxUXdHY0tLQWh6U0tH
VkcKKysxL01tYk1LUDM3OTVmYmI3OWRsQ0tqWlN2RlNOUS9hWHN5R1RSb2tGNlZzUWMyYk5oUThJ
SEQvZy9VRTZzeE1FYzRkZXFVbFZSMQpHYjJTWXdVNGVOVGtRMTU1NVJXOXQyVG16Sm15WXNVS3di
ZWJla0Rjdm4zN0JDdEplTktKcDZ4d3dlb1JMRnhuc3YzQjA5MzU4K2ZyCnA5cFlkVktLamQ3WFlr
dENid2dFL05MdjBXU24vb2FWeHhvMWFzaVlNV04wdkpxazZ6N3R0ci9aVWNiamVMRFh6L1JqOVFE
M0RWeGIKdU15Wk00dFNSTXpvSzc1VFMxK2xTaFdkSHZjQmpEczRyRHBnZjBvazkwR1lpTmFzV1ZQ
THUvSEdHd1VmN0FFeG5kTTlFcXZDNm1HUQpUbkxISFhmb2R1Rkh0TzVKWmwzTWI5NTdUQkw4SmdF
U0lJSDBKK0FiQlNSUG5qenkvUFBQNnc5TUUyQUdkZjc4ZWEwOHFDZHNtalJzCmlOV0tnTjZVRGx0
bHBNRS80ZVhMbCt0NFRQUXhDWUlTMHExYk56M3hnY2tXVEFWZ2JtVTZUQWhTY3lpM1M1Y3VldEtF
L0NnWC8zalYKazl3VTJiSm56NTdpTjM1QVVkbXdZWU0ySFR0MDZKQWdEY3kzc1BsY3JZQkltelp0
Wk1lT0hYclRPa3l6VW5OUWhLQTR3SVFEbThraAp5MjA5d0FHbWFPKzk5NTQyL3pETENWYVBZT0Zt
UHZONzRzU0p1bjB3d1lKeVJSY1pBYi8wKzJEOVRUM2R0aFJ2akR1TUJmUnJ0LzNOClRqY2V4NE85
ZnFZZkUvdlRwMDlyc3lrODRIanp6VGNGMXhubVdPYTl6TzRQbGg3eWtBNXUyTEJoK2h0L01PR1A5
RDRJODZhdnYvNWEKV3JkdXJlOUhnZmNKcDNza0ZFQWNadEc0Y1dOOVQxU3JXcnBPMGJvbldRMyt5
OE43VHlBUi9pWUJFaUNCOUNPUStrdzYvZW9WVWNsUQpLajc4OEVNdFF5M1g2eE9qOE1TdlpjdVdl
bVZFbVZucFBRM1lYQTE3YUd6NnhoTzdJMGVPYUtVQkUzdGxPaVhLbkVCKy92bG52ZDhECndxQll1
SEd2dnZxcW5yd3JFd1Z0RjQzZldFMXgrcWNjS0Erckg1OS8vcmxlL2NBVFEyVzJvSk5BZWNGbWVu
eGpzb2E2dTNIWW4zTDkKOWRkcmUzR2tSeDNjMUFPck0xQjBzSkprT3V4UENWYVBZT0ZtWHZQN2lT
ZWVNTDM4OXBoQUl2ZjdZUDBOKzU1TWg5Vk5URjZ4LzhwdApmelB6bXQveE5oN01ldG0vMFRZYzFv
Q0pPUTRXd0VNRUtFODRCUXo3UW5BdjY5eTVzK1YvN2JYWEhOUGJaZHI5Zi92YjN5SytEMkp2Cm1q
SlIxWFdFc29UclorNFRzNWRsOTZNOXFMOHk2WlNiYnJwSjczbERmTFR1U2ZheTRlZTlKNUFJZjVN
QUNaQkEraEhJQU91djlDcysKTmlWajZSMVBEck5reWFJTGhEa0R6SzNnc0txQUZaTisvZnJwaVkz
NXhCQnh5QWV6Snp4OWpMWER4QU9iMHpIeHNEczhFY1ZtZGJkdQovLzc5V3ZIeStpU3dZUFVJRnU2
MnZrem5IWUZFN1BlaHRqN1UvcFpJNHdFSFlFRFpzdDhEN05mVTdnYzNwL1NwOGZUaVBvZ3luVlp5
Cm5jckZmUmFuL0trOWQvcVFEaWhSTUpmMXlvWGFGN3dxbDNKSWdBUklnQVJDSitETEZaQkFEUGdI
YnY4bmJpb2ZTSWZWRHNRNVRlb1IKbmg3S0IrcUZrN3FjbkZNOW5kSWhURzBLRmJXcFZhL3FCRXNU
Ym5pd2VnUUxEN2NjNWd1ZlFDTDIrMUJiRzBwL1M3VHg0RFN4dDE5VAp1eC9jbk5Lbnh0T0wrMkFv
WlpZc1dWS2ZmSWY5TzFoMXhtbDRYcnBRK29LWDVWSVdDWkFBQ1pCQTZBU1NZZ1VrZEN6K3lJRlZI
NWlOCjhSK3pQNjRuV3hFWkFZNkh5UGg1bFJ1cnluam5FUjBKa0FBSmtFRHlFcUFDa3J6WG5pMG5B
UklnQVJJZ0FSSWdBUklnZ1pnVFNMbkIKSU9iRnMwQVNJQUVTSUFFU0lBRVNJQUVTSUlGa0lrQUZK
Sm11TnR0S0FpUkFBaVJBQWlSQUFpUkFBdWxNZ0FwSU9sOEFGazhDSkVBQwpKRUFDSkVBQ0pFQUN5
VVNBQ2tneVhXMjJsUVJJZ0FSSWdBUklnQVJJZ0FUU21RQVZrSFMrQUN5ZUJFaUFCRWlBQkVpQUJF
aUFCSktKCkFCV1FaTHJhYkNzSmtBQUprQUFKa0FBSmtBQUpwRE1CS2lEcGZBRllQQW1RQUFtUUFB
bVFBQW1RQUFra0V3RXFJTWwwdGRsV0VpQUIKRWlBQkVpQUJFaUFCRWtobkFsUkEwdmtDc0hnU0lB
RVNJQUVTSUFFU0lBRVNTQ1lDVkVDUzZXcXpyU1JBQWlSQUFpUkFBaVJBQWlTUQp6Z1NvZ0tUekJX
RHhKRUFDSkVBQ0pFQUNKRUFDSkpCTUJLaUFKTlBWWmx0SmdBUklnQVJJZ0FSSWdBUklJSjBKVUFG
SjV3dkE0a21BCkJFaUFCRWlBQkVpQUJFZ2dtUWhRQVVtbXE4MjJrZ0FKa0FBSmtBQUprQUFKa0VB
NkU2QUNrczRYZ01XVEFBbVFBQW1RQUFtUUFBbVEKUURJUm9BS1NURmViYlNVQkVpQUJFaUFCRWlB
QkVpQ0JkQ1pBQlNTZEx3Q0xKd0VTSUFFU0lBRVNJQUVTSUlGa0lrQUZKSm11TnR0SwpBaVJBQWlS
QUFpUkFBaVJBQXVsTUlITTZsKzlwOGFkT25aTHQyN2M3eXN5YU5hc1VMRmhRQ2hVcTVCaWZpSUdI
RHgrV1BYdjJTTjY4CmVhVmt5WklSTjhGcmVSRlhpQUpjRVVpMmZ1OEtTZ3dUSFRseVJIYnYzaTE1
OHVTUlVxVktSYVhreTVjdnk0WU5HN1RzbTI2NlNUSm0KNUxPanFJQ21VQklnQVJJZ2daZ1E4TlYv
c1ZXclZzbk5OOS9zK0tsUW9ZSmNjODAxVXF4WU1lbmF0YXNjUDM0OEpvQURDN2w0OGFLOAo4ODQ3
Y3VMRWljQ29rSDlQbmp4WnQ3VkRodzRoNTNYSzRMVThweklZNWoyQlJPajMzcmZhbmNRZmZ2aEI1
czJiNXk1eG1LbG16SmloCngyRzdkdTNDbEpCMk5paVo1cjNOaTN0SDJpVXlCUW1RQUFtUUFBbEVq
NEN2RkJBN3BqSmx5a2pac21XdFQ0a1NKU1I3OXV5eWQrOWUKR1RwMHFOU3BVMGRPbno1dHp4SjFQ
NVNQS2xXcVNMZHUzUVIrT2hMd21rQTg5bnV2MitoVzNvQUJBNlJtelpxeWJkczJ0MW1ZamdSSQpn
QVJJZ0FSSUlBWUVmR1dDWmVlMWZ2MTZyWERZd3k1ZHVpUjRXdm5razA4S25ob1BIejVjZXZYcVpV
OFNWVCtVam8wYk4zcFdScE1tClRRUXJPekF0b3lNQkVJakhmcDllVjJiZHVuVXhLYnBodzRheWFO
RWl1ZXFxcTJKU0hnc2hBUklnQVJJZ2dVUW40TnNWRUtjTGt5bFQKSm1uZXZMbDA3TmhSUjArZlB0
MHBXY0tFRlMxYVZHclZxaVd3Q2FjamdXQUUvTmJ2ZzdVenZjS0xGQ21peDJHbFNwWFNxd29zbHdS
SQpnQVJJZ0FRU2lvQnZWMEJTdXdvVksxYlUwY2VPSFVzdG1SV0h6ZGxUcGt5Um4zLytXUTRjT0ND
Wk0yZVc2NjY3VGhvMGFDQjQrcGtoClF3WXJiVERQd29VTFpjV0tGVmIweUpFakpVZU9ITks2ZGV1
d044YmphZmQzMzMwbk45eHdnelJ0MnRTU0hRM1BraVZMZFB2UjFpZWUKZUVMdnA0bEdPWlFaUFFL
aDl2dElhNEp4TTNYcVZHdmNRQkVxWHJ5NEhqZU5HalZ5Tlc3Q3FRUE1MQ2RPbkdpWlhtSHNuVDkv
WHFwWApyeTUzMzMxM09DSlR6WU5WVGV3endVRVFEei84Y0twcG94RjU2TkFoR1Q5K3ZCaUdJZFdx
VmRObVo5RW9oekpKZ0FSSWdBUkl3RE1DCjZwK1diOXppeFlzTkJVWi96cHc1RTdSZG5UcDEwbWxh
dFdvVk5JMFpvU1l5aGpyZHhwSnJ5amUvNjlXcloxeTRjTUZNSHZTN2ZmdjIKampMV3JGa1RORTlh
RWFOR2pkSXkxV1F1cmFTdTRvUEorK2FiYnd5MWYwYVhOV1RJRUZleW1DaDJCS0xSN3lPdC9hUkpr
MUlkTjNYcgoxaldVVWhCcE1ZNzVmL3JwSjhleHB2WmVPYWFQTkhEczJMRzZQTndMb3VYVW9SbFdt
NDRlUFdvVm81UVBRKzByMDNGcXY0dWhOcWhiCmNmU1FBQW1RQUFtUVFMd1NTQ29UcklNSEQrb1Rx
TEQ2Z0tOcmUvZnVuYW9paHllYldLRTRlZktrOU8zYlZ4L3hpeE5vc0trVnYzRVUKNXJmZmZpdWZm
ZlpacW5JUStlcXJyOHJTcFV1dGRMQVp4ejZVY3VYS1dXSHg2Rm13WUlGZ3I4bTVjK2RreElnUmVn
TjlQTmFUZFFwTwpJTlIrSDF5U3U1aE5temFKVXU3MXVPblRwMCtLY2RPdlh6ODlidWJQbnk4VEpr
eHdKekRFVkpVclY5WmpDd2ROd1BYczJWUC83dHk1CmM0aVM0anU1VWtSRUtUMnlkdTFhVVFxZHpK
a3pSM0xuemgzZmxXYnRTSUFFU0lBRVNFQVI4SzBKVnVDR1VMVktZWjA4aGJQNmNlUnMKK2ZMbFUr
MEVVRlN3Y2Z5cHA1NFNUSnhNZCtPTk4rcmZ2Lzc2cTZnbnZRTHpwS2VmZnRxTWR2eUc2Y25WVjE5
dHhXR1NWS0JBQWV0MwpQSHJVazNWcDNMaXhuRDE3Vmo3NjZDTjU3cm5uNHJHYXJKT05nQmY5M2lZ
dUxLOWFTZFBqQnNwNy8vNzlMUmtZTjFEY3QyN2RLbDk4CjhZVWVOODg4ODR3Vjc1VW5WNjVjVXJW
cVZjbWZQNzhXaWJHSDMzNXlNQit0WDcrK3JGNjlXdTYvLzM3QmZqYWM4a2RIQWlSQUFpUkEKQW9s
QXdMY0tpRExCQ3NyLzk5OS9sMEdEQnVsSk5kNE5Fc3poeWVtRER6Nm9qL0oxU21OdS9zWUtpZDhj
M3A4QU8zMG9ILy8rOTcrMQpFdWEzTnZxeFBWNzArMGk1ZE8vZVhSNTQ0QUhCa2NCT3pzL2p4cW05
WG9maEhVYVBQUEtJM2xPRzFVazhUTUdMVnVsSWdBUklnQVJJCklGRUkrRllCd1ViVWJObXlXZGNC
bTFDeFdSTm1VRys4OFliTW5EbFRZQ3F5Y3VWSy9RWmpLNkhOYy8zMTF3cytjRGpDRjRvTDNyU08K
bFE4OGVZVEpBeHplVXV3bnQyWExGcjI1SGk4L3cvdFRIbjMwVVQ4MXo5ZHQ4YUxmUndySWFkenMy
TEZEMEsvOFBHNGk1ZVkyUDFZbAp6U09HOFJKU0toOXV5VEVkQ1pBQUNaQkF2QkR3clFJQzg0dEFr
NFRDaFFzTFRnS0MzVFRNcjJBS01ucjBhUDFtOUdBWEJPWlZBd2NPCkZKZ2oyWjh1NHpRb3Y3NS9B
MG9XVHZyQzhhSlF1ckJYQmk5dnBJdC9BbDcxKzBoYnFqYUM2M0dEdlU3Sk1tNGlaZVkyUDVRUG1K
WHQKMmJOSDhQWjFuSVlIc3pNNkVpQUJFaUFCRWtnVUFrbTFDZDI4S0hoQ2kwMmJjRkF3Z2ptOHRC
RHYyWmc3ZDY1K3lkaGpqejJtSjFXegpaczJTL2Z2M2k5ODJ0Wm9jOEVRVlpoMncwNGVpaFJjMi92
ampqMlkwdnhPVWdOdCtIMm56TUQ3d0JuS3NFR0pQU29zV0xheFZ4MzM3CjlrbVhMbDBpTFNLcDgy
TnZ6ZWJObXdWN2FyQ3kxS05IajZUbXdjYVRBQW1RQUFra0hnSGZyb0NrZFNteVpNbWlrd1I3aDRj
NnRreGUKZnZsbGJYcjE0b3N2eXZ2dnY2OVA3N0hMUFhMa2lQNkp0SDV5V0NGNjZLR0hkSk9lZmZa
WkdUTm1qTFJwMDBhYmZlVE1tZE5QVFUyNgp0cVRWN3lNRmdyR2dqcm5XNHdaUDV6LzQ0QVBCK3ov
c3pxL2p4dDdHYVBweEdoMU91OEs0eEVsZjJQU1BGNnpXcmwwN21zVlNOZ21RCkFBbVFBQWw0UmlB
cFYwQndMQ21PbDRWVForZzd3c1NUMnQyN2QrczR2RGtkUis0R09waVh3R0YvaUJ0blYzWVNSV2xS
Ny8yUVlzV0sKeVcrLy9TYXZ2ZmFhbTJZeVRad1NjTlB2STYzNm4zLytLYnQyN2RKaU1HNENsUTlF
aERwdXdxMlRPZDRTWmF5RjJzNTc3cmxIOElBQQo3Y05wWW40OERDTlVKa3hQQWlSQUFpU1FHQVN1
bkZVblJyM1RyQ1UybmVQZEZlWUhwemxoRS9yczJiTzErUldPc1lUZE5KN3NPem4xCjhrRzlEd0p4
ZUFONm9NTkdkcnpIQXc2eTNUaVlOcG1Lek02ZE85MWtTZmMwK2ZMbEV4eEhEUGZlZSs4SlRzZWlp
MThDa2ZiN1NGdVcKMXJqQjZYTXJWcXpReGJnZE4rSFdLVWVPSERwcm9veTFjTnBwUGlCQUcybUtG
UTVCNWlFQkVpQUJFa2dQQXI0MXdjTEVPVFVIVTVSeAo0OGJwelp4TzZXRGlBTnYxenovL1hHQ0NC
V1VEeDRkQ2ljRUpXcGhFMWFoUlE1WXRXeVk0ZWNpTnd4UFpHMjY0UWE4bXdGd0NOdmw0CnY4WWRk
OXpoSm51NnBjRlJuemoyYzhxVUtWcGh3NlpYbW1LbDIrVkl0ZUJJKzMycXdsMUVvbCswYk5sU3Yy
U3dmZnYyc21iTkdtdmMKWUcvSTh1WExReDQzTG9wMVRGSzZkR2tkUG16WU1KazNiNTUrcDgzZ3dZ
TWQweVpxb1BtQW9HblRwdkxoaHg5S3MyYk5yUDF0aWRvbQoxcHNFU0lBRVNNRC9CSHk3QWhKNDZX
QUtnaGYvNFlWa3NGSC81WmRmMGp4ZUZzb0IzdWlNcDhyWUEvTENDeS9vRTZIdzVCWXYvdnI2CjY2
OEZpZ3dtNUthNVZtQzVnYjhocDFDaFFvS3ovRGRzMkdBZHB4bVlMdDUrdys0Y0c0cHhRaGJlNms2
WEdBVEM2ZmVSdGd4N0VyQlIKR2kvL3RJK2IwNmRQeTdScDAvUXFKTVlOeGlCT1dZdVdnd25ZWFhm
ZHBVMlVObTdjNk52Vk96d2d3RkhaTU1WcTI3YXRuRGh4SWxwSQpLWmNFU0lBRVNJQUVQQ0dRUWYz
VDh0Y09hayt3cEJTQ1ZRKzhNd1R2K3loWnNxUitOMGJLRktIOXd0dlZjWVFtVEVUd0lrVFRWajAw
CktVeE5BdkZOd090eEUyNXJjV0lkamdMR1hpYStNeU5jaXN4SEFpUkFBaVJBQXQ0Um9BTGlIVXRL
SWdFU0lBRVNJQUVTSUFFU0lBRVMKU0lOQTBwaGdwY0dCMFNSQUFpUkFBaVJBQWlSQUFpUkFBakVn
UUFVa0JwQlpCQW1RQUFtUUFBbVFBQW1RQUFtUXdQOElVQUZoVHlBQgpFaUFCRWlBQkVpQUJFaUFC
RW9nWkFTb2dNVVBOZ2tpQUJFaUFCRWlBQkVpQUJFaUFCS2lBc0ErUUFBbVFBQW1RQUFtUUFBbVFB
QW5FCmpBQVZrSmloWmtFa1FBSWtRQUlrUUFJa1FBSWtRQUpVUU5nSFNJQUVTSUFFU0lBRVNJQUVT
SUFFWWthQUNrak1VTE1nRWlBQkVpQUIKRWlBQkVpQUJFaUFCS2lEc0F5UkFBaVJBQWlSQUFpUkFB
aVJBQWpFalFBVWtacWhaRUFtUUFBbVFBQW1RQUFtUUFBbVFBQlVROWdGUApDVnk4ZU5GUlhyQnd4
OFFCZ1pIa0RSREZueVJBQWlSQUFpUkFBaVJBQXVsTXdQY0t5TkdqUjJYNDhPSHBqRGw0OFQxNjlK
QWhRNFpJCm9VS0Y1T0RCZ3pyaHZmZmVLeFVxVk5DZkprMmFXSmtIREJnZ3Q5NTZxMVN1WEZrMmJ0
eG9oWnVlb1VPSFN2bnk1ZlduWExseVVyUm8KVVRsdzRJQ09UaXV2WVJqU3ZYdDN1ZU9PTzZSMjdk
cXljK2RPVTZ5a2xkZE1PR2ZPSEhud3dRZk5uOWEzVTNna01qdDA2Q0IxNnRTUgp1KzY2UzdaczJX
S1Y0eVRUaWErVklRU1BreHl6SGcwYU5KRHZ2dnZPa2paNDhHQzUrKzY3ZGYyKy9mWmJLenlhOWJN
SytjdVQzdjMrCjdObXpVckZpeGNCcXBmazdGTTRRZHZqd1lTbGV2TGpzMmJQSGt1M0UyWXI4eXhQ
czJ2a2xyeFBIUUFadWZqdkpDY1l1SHZxOW16WXgKRFFtUUFBbVFRQndRVUJOUDM3a1RKMDRZSDN6
d2diRnExU3BqL2ZyMWhwb1V4MjBiMzNqakRXUGt5SkZHNmRLbGpkT25UeHZuejU4MwoxTVR0aXZx
aUxmZmZmNytoVmdPTVJZc1dHUTBiTnJ3aWpUMWc3Tml4eHROUFA2MkQzT1Q5L3Z2dkRhWHNHSmN1
WFRMV3JWdG4zSFBQClBhN3pJdUdISDM1b1hIdnR0VWI5K3ZWMVB2T1BVN2liK2dTVHFTYjZScXRX
cmJUNFdiTm1XZjVnTWdQNW12VUs5VHRRenNLRkM0M1cKclZ0ck1idDM3elp1dSswMjdVZC91LzMy
MnpYSC8vNzN2L3FhSWNKdC9iNysrbXRqNHNTSnVoOW9nU0g4aWFkK2YrYk1HVU1wMFNIVQovbjlK
M1hJMkJULzY2S1BHMVZkZmJlQWF3QVhqYktiSGQ3QnI1NmU4Z1J6dDdRL0ZIeWduR0x2MDdQZWh0
SWRwU1lBRVNJQUU0b05BCjVqalFnVHlyd3RhdFcwVXBIckpnd1FKNTZLR0hwRVNKRXZMNjY2L0w2
dFdyWmZ6NDhWS3RXalhCMDd2Y3VYT0xtbWpMcDU5K0trdVgKTHBWUFB2bEUxT1JOenAwN0ozamkx
NmhSSThFVDVIYnQyZ21lNUtySmpUejMzSFB5NG9zdnlsZGZmU1Y0b3A4MWExWlJrM1l0NzVsbgpu
a25SaHRHalIrc244MWlSNk5tenA1UXBVMGJ5NTg4dlN0RklrZTZ0dDk0U3JIYmt6SmxUTW1YS0pE
bHk1QkExK1pmcnJydE9KazJhCkpHcGlKWFhyMXBVTUdUTElqei8rS0E4ODhJQk9WNnRXTFhucXFh
ZFN5TEwvMkxkdm53d2JOa3puUWJpYnZHcGlJZmZkZDU5a3pKaFIKcjdCZ1plSHk1Y3V1OHFJTThK
cytmYnJtamQrbWN3cDNVeC9rZDhxTGxRK3MwdUQ2cVVtUFpvUzB3V1FHOGtWYTA3MzAwa3ZTb2tV
TApBVStzK1BUcTFVdWFOV3ZtNmpwaGhlbnR0OS9Xb3JKbHl5YTdkdTNTZnZTUHh4OS9YSytJRkNs
U1JQN3YvLzVQaDd1dEgxYSszbjMzClhSazRjS0E4OHNnanVnOUNUbW91WHZxOVVwNTF2OFNxVzRF
Q0Jhd3FSekllZ25HRzhISGp4dWxWd2ovKytNTXFLeGhuSzRIeUJKUHAKcDd6SjBPL3QxNVIrRWlB
QkVpQ0JCQ01RSDNwUTVMVlFreEdqY09IQ3hvd1pNL1RUWjFPaWZRVkVtUWdZU3NFdzhIUldLU25H
OXUzYgpEVFhSMTArdjFXVGJVRXFIY2MwMTErajhlQm82YmRvMExVWk44S3ludVVoL3l5MjM2SEE4
NFhaNnlvdFZCS3dFZE96WTBXamF0S2tCCjJRaTdjT0ZDaWcvQ0E5M3MyYk1OWmRLajI0SDhhb0tz
azNUdDJ0WDQ4c3N2cmVUSzFNbzRmdnk0OWR2dVVhWlVocHJFV2tGdThpb2wKVFQrNVY2WmRla1Vt
UzVZc3hwOS8vbW00eVdzV3BKU1dLMVpBRUJjWTdvWE16cDA3NnhXWCtmUG42K0pEa1duV2QrN2N1
WVpTRnZUUApmL3pqSDhhRUNSTmNYeWRUQnE0QnJ2WEhIMytzZzVSU28vdkhtMisrYVR6eHhCT2FI
eUpDclo5U2ZQVjF5SnMzcjZFbXhtWnhWM3pIClU3OVhTcS9SclZzM1hVZjBZM05zUkRJZXpBWUhj
dDYyYlp1aEZHYTlJbmpublhkYUt5Q2hjQTZVNmZlOEprcy85SHV6TGZ3bUFSSWcKQVJKSVRBSytX
UUZwM3J5NXFBbStqQmd4UXRRL1dHbmJ0cTFVcjE0OWhUcjR3Z3N2U04rK2ZhVnExYXFpVEo3MGsy
WWt3SjRIckRMawp5NWRQaWhVckpudjM3aFU4ZGNZS0JsWko4RFFYc2sySEorWndTS09VR1RQWStz
WXFRdi8rL1VXWjRvaFNaTFJzcFJqSlJ4OTlaS1dCClo5Q2dRWHBWeGg2b1RLc0VIempzLzBBOXNS
cWpKcUp5NnRRcEs2bnFibm9seHdyNHk0UDZLTVZKcjZTWWNXN3kvdjN2ZnhkbGJxSDUKb2Q3NGpS
VVlOM25OY3R4K2V5RVRLenhZM2FwVXFaSmV2UWhIWnIxNjllU1ZWMTdSZTI5bXpwd3BLMWFzRUh5
N3VVNW9LMWFhc05MVwp2bjE3VVdaaHV2bFl6VkttY25vMUJhczBlTnFPNit5MmZsaDFVa3FWZnJx
UEZTQ2wyT2g5UDhIWXhsTy94NzRrcys4cUV6N2Q3MUh2ClNNWUQ4anR4eG9wa2pSbzFaTXlZTVRw
ZUtZLzZXcnJsN0NUVHozbkIwWFIrNlBkbVcvaE5BaVJBQWlTUW1BUjhzd2s5VDU0ODh2enoKeit2
Skc3N1ZIZ2hac21TSk5sbkNSQkJPN1ozUTVqR2JObTNTWmp3d0RZRmJ2bnk1L3NaRUh4TVRLQ0h2
dlBPT251Q29mUWJhek1xVQpnWVNaTTZldXQ4RVVwVXVYTG5weUJKTXYvTWJtYkNnaDlnOFVvVUNI
ZUNnQ2NJY09IWkxzMmJOcjh5MXNQb2ZKRjl5T0hUdjBwblVvClRZRU9aaVNZbU1ITXpIUnU4cTVk
dTFhYm1vMGFOVXF6UVg3SWQ1UFhMTWZ0ZHlReW9WeEJ1WVBEWkwxZ3dZTDZHb2NqRXhOaktBNXEK
cFVsdmFnZHJ0OWNKL1FTbWV2LzYxNzhzNVFOMVVudEJSSzJNd1d1WjljRmN6MjM5MVA0UGJVSUlF
eXkxSDBTYllhblZLQzNQNlU4OAo5ZnUvL2Uxdjh0TlBQK2xxd3V3UlNqSmNKT01oR0dlMVdpRlZx
bFRSRHdjd0htSGlpT3ZwaG5Nd21YN05xeStDN1k4ZityMnRPZlNTCkFBbVFBQWtrSW9IRVhMaHhY
K3RqeDQ0WkpVdVdOTlNrMVlBcGxUcWR5RkIyL29aYUhkRWIxR0ZTQlZPUm1qVnJHdXBwdXFGcytM
VncKYk1yR3htSnNlRlo3UEl4U3BVb1phbytJTnRtQ0dSY2NUS2dnTzlDcHArcUdta0RxWUpTTDMy
NGRURzlRUDJ5Y0wxdTJyUEdmLy96SAp5Z3JUS3BobjNYenp6Y2JLbFN1dGNMc0haakJxYjRrOVNQ
dlR5cXNtaVVianhvMTEyY3ArM1BqdHQ5OHNHV25sTlJNR21scWxGaDZ1ClRGd0RiRHpHaG5uMUpO
ZFFleXpNWWd5M01xME15cU5XdXd5WW0vM3l5eS8yNERUOVNyRTAxS1RYVUNzYzFnZlhEdVpHMkp5
T0F3UFEKbjVSQ2Fja0twMzVXNWhBOTZkSHZZZHFJd3hIUVJ6dDE2cVRiajJwSE1oNkNjYmJqc0p0
Z0lUd3R6cW5KOUdOZU95dlQ3OWQrYjdhUAozeHJDYlFVQUFDQUFTVVJCVkNSQUFpUkFBdkZOSUFP
cWw0aUtVeWgxeHBOeXJHQ1lUNUxWNUV5YlcwR0cybGVoTjZuMzY5ZFBieXpIClpuRFRJUi9NbnZD
VU9kYnU1TW1UZW5NNm5sYmFIVXlzc0ZrOUhPY21MOXFiSzFldUs4Uzd5WHRGcGpRQ0lwSHBWVDMz
Nzk4dkxWdTIKMUtzT2FWUTNwR2lZVDVtSEM5Z3pSdEptdXh3My92VHE5N0ZzWXpBT2tkUWhHZkw2
dWQ4SDZ4TU1Kd0VTSUFFU2lCOENLV2UzOFZNdgpUMnVDU2J5cGZFQXc5bnFZRG1aR2lNZWszcTU4
SUI3aDZhRjhvR3lZUUFVcUh3Z1BWL2x3bTlkSitYQ2JGK2xDY1pHMHhZdDZUcDQ4CldiK3JvMCtm
UHFGVTIxVmE5SnZBL29TTWtiVFpWY0cyUk9uVjcyUFpSbHR6VTNnanFZUGY4L3E5MzZmb0NQeEJB
aVJBQWlRUWx3U1MKWWdVa0xzbXpVdWxPQUt0aTJKOFF5WVF6M1J2QkNwQkFpQVRZNzBNRXh1UWtR
QUlrUUFLZUU2QUM0amxTQ2lRQkVpQUJFaUFCRWlBQgpFaUFCRWdoR0lDbE1zSUkxbnVFa1FBSWtR
QUlrUUFJa1FBSWtRQUt4SlVBRkpMYThXUm9Ka0FBSmtBQUprQUFKa0FBSkpEVUJLaUJKCmZmblpl
QklnQVJJZ0FSSWdBUklnQVJLSUxRRXFJTEhsemRKSWdBUklnQVJJZ0FSSWdBUklJS2tKVUFGSjZz
dlB4cE1BQ1pBQUNaQUEKQ1pBQUNaQkFiQWxRQVlrdGI1WkdBaVJBQWlSQUFpUkFBaVJBQWtsTmdB
cElVbDkrTnA0RVNJQUVTSUFFU0lBRVNJQUVZa3VBQ2tocwplYk0wRWlBQkVpQUJFaUFCRWlBQkVr
aHFBbFJBa3ZyeXMvRWtRQUlrUUFJa1FBSWtRQUlrRUZzQ1ZFQml5NXVsa1FBSmtBQUprQUFKCmtB
QUprRUJTRTZBQ2t0U1huNDBuQVJJZ0FSSWdBUklnQVJJZ2dkZ1NvQUlTVzk0c2pRUklnQVJJZ0FS
SWdBUklnQVNTbWdBVmtLUysKL0d3OENaQUFDWkFBQ1pBQUNaQUFDY1NXQUJXUTJQSm1hU1JBQWlS
QUFpUkFBaVJBQWlTUTFBU29nQ1QxNVdmalNZQUVTSUFFU0lBRQpTSUFFU0NDMkJLaUF4SlkzU3lN
QkVpQUJFaUFCRWlBQkVpQ0JwQ1pBQlNTcEx6OGJUd0lrUUFJa1FBSWtRQUlrUUFLeEpVQUZKTGE4
CldSb0prQUFKa0FBSmtBQUprQUFKSkRXQnpINXEvYWxUcDJUNzl1Mk9UY3FhTmFzVUxGaFFDaFVx
NUJpZmlJR0hEeCtXUFh2MlNONjgKZWFWa3laSVJOOEZyZVJGWGlBSmNFVWkyZnU4S1Nnd1RIVGx5
UkhidjNpMTU4dVNSVXFWS1JhWGt5NWN2eTRZTkc3VHNtMjY2U1RKbQo1TE9qcUlDbVVCSWdBUkln
Z1pnUThOVi9zVldyVnNuTk45L3MrS2xRb1lKY2M4MDFVcXhZTWVuYXRhc2NQMzQ4Sm9BREM3bDQ4
YUs4Cjg4NDdjdUxFaWNDb2tIOVBuanhadDdWRGh3NGg1M1hLNExVOHB6SVk1ajJCUk9qMzNyZmFu
Y1FmZnZoQjVzMmI1eTV4bUtsbXpKaWgKeDJHN2R1M0NsSkIyTmlpWjVyM05pM3RIMmlVeUJRbVFB
QW1RQUFsRWo0Q3ZGQkE3cGpKbHlralpzbVd0VDRrU0pTUjc5dXl5ZCs5ZQpHVHAwcU5TcFUwZE9u
ejV0enhKMVA1U1BLbFdxU0xkdTNRUitPaEx3bWtBODludXYyK2hXM29BQkE2Um16WnF5YmRzMnQx
bVlqZ1JJCmdBUklnQVJJSUFZRWZHV0NaZWUxZnYxNnJYRFl3eTVkdWlSNFd2bmtrMDhLbmhvUEh6
NWNldlhxWlU4U1ZUK1VqbzBiTjNwV1JwTW0KVFFRck96QXRveU1CRUlqSGZwOWVWMmJkdW5VeEti
cGh3NGF5YU5FaXVlcXFxMkpTSGdzaEFSSWdBUklnZ1VRbjROc1ZFS2NMa3lsVApKbW5ldkxsMDdO
aFJSMCtmUHQwcFdjS0VGUzFhVkdyVnFpV3dDYWNqZ1dBRS9OYnZnN1V6dmNLTEZDbWl4MkdsU3BY
U3F3b3Nsd1JJCmdBUklnQVFTaW9CdlYwQlN1d29WSzFiVTBjZU9IVXN0bVJXSHpkbFRwa3lSbjMv
K1dRNGNPQ0NaTTJlVzY2NjdUaG8wYUNCNCtwa2gKUXdZcmJURFB3b1VMWmNXS0ZWYjB5SkVqSlVl
T0hOSzZkZXV3TjhiamFmZDMzMzBuTjl4d2d6UnQydFNTSFEzUGtpVkxkUHZSMWllZQplRUx2cDRs
R09aUVpQUUtoOXZ0SWE0SnhNM1hxVkd2Y1FCRXFYcnk0SGplTkdqVnlOVzdDcVFQTUxDZE9uR2la
WG1Ic25UOS9YcXBYCnJ5NTMzMzEzT0NKVHpZTlZUZXd6d1VFUUR6LzhjS3Bwb3hGNTZOQWhHVDkr
dkJpR0lkV3FWZE5tWjlFb2h6SkpnQVJJZ0FSSXdETUMKNnArV2I5eml4WXNOQlVaL3pwdzVFN1Jk
blRwMTBtbGF0V29WTkkwWm9TWXloanJkeHBKcnlqZS82OVdyWjF5NGNNRk1IdlM3ZmZ2MgpqakxX
ckZrVE5FOWFFYU5HamRJeTFXUXVyYVN1NG9QSisrYWJid3kxZjBhWE5XVElFRmV5bUNoMkJLTFI3
eU90L2FSSmsxSWROM1hyCjFqV1VVaEJwTVk3NWYvcnBKOGV4cHZaZU9hYVBOSERzMkxHNlBOd0xv
dVhVb1JsV200NGVQV29WbzVRUFErMHIwM0ZxdjR1aE5xaGIKY2ZTUUFBbVFBQW1RUUx3U1NDb1Ry
SU1IRCtvVHFMRDZnS05yZS9mdW5hb2loeWViV0tFNGVmS2s5TzNiVngveGl4Tm9zS2tWdjNFVQo1
cmZmZml1ZmZmWlpxbklRK2VxcnI4clNwVXV0ZExBWnh6NlVjdVhLV1dIeDZGbXdZSUZncjhtNWMr
ZGt4SWdSZWdOOVBOYVRkUXBPCklOUitIMXlTdTVoTm16YUpVdTcxdU9uVHAwK0tjZE92WHo4OWJ1
YlBueThUSmt4d0p6REVWSlVyVjlaakN3ZE53UFhzMlZQLzd0eTUKYzRpUzRqdTVVa1JFS1QyeWR1
MWFVUXFkekprelIzTG56aDNmbFdidFNJQUVTSUFFU0VBUjhLMEpWdUNHVUxWS1laMDhoYlA2Y2VS
cworZkxsVSswRVVGU3djZnlwcDU0U1RKeE1kK09OTityZnYvNzZxNmdudlFMenBLZWZmdHFNL3Yv
dDNRbTBmVlA5QVBEZElGT0ZGWkVrCksxbEpNeXFrTXFVVUlvUzBsa3doV1VXbWhBZ2hTWW95bEtR
TUphSW9yWlFHbVNsSlpGb3lUNlVpMFhULzU3di9uZHQxdSsvM3p2dTkKMys5bnYvMCtaNjMzdS9m
ZGU0YTlQOTl6M3U5OHo5N243Skd2MGZWazRZVVg3bjhYSjBrTExiUlEvL2NTM3pSWDF0TjY2NjJY
SG52cwpzWFRjY2NlbDdiYmJyc1JpS3RPQXdLelk3d2RXTjFOdm01YTBmTnhFOG43QUFRZjAxeEhI
VFNUdU45NTRZenIxMUZQemNiUDExbHYzCnY1OVZiK2FmZi82MC9QTExwd1VYWERDdk1vNjkrTDJt
S2JxUHJyMzIydW5xcTY5TzY2eXpUb3I3MmVJcGZ5WUNCQWdRSURBVkJLcE4KUUpvdVdHUDYvLzcz
djA4SEgzeHdQcW1Pc1VIR211TEs2ZnJycjU4ZjVUdHFudmJtNzJnaHFXMks4Uk9pbjM0a0gxLzV5
bGR5RWxaYgpIV3VzejZ6WTd5ZnJzdnZ1dTZkMTExMDN4U09CUjAwMUh6ZWo2anVyUDRzeGpEYlpa
Sk44VDFtMFRzYkZsQmhvMVVTQUFBRUNCS2FLClFMVUpTTnlJT3ZmY2MvZmpFRGVoeHMyYTBRM3F3
QU1QVEdlZmZYYUtyaUpYWG5sbEhzRzRQK1BBbXlXWFhETEZUMHp4Q045SVhHS2sKOVdqNWlDdVAw
ZVVocGhpbHVLYnBoaHR1eURmWHgrQm5NWDdLdTkvOTdwcXFWM1ZkWnNWK1AxbWdVY2ZOcmJmZW1t
Sy9xdm00bWF4YgoxK1dqVmJKOXhIQU1RaXI1NkNwblBnSUVDQkFvUmFEYUJDUzZYd3gzU1ZoMDBV
VlRQQWtvK2sxSDk2dm9Dbkw4OGNmbmtkSEhDa2gwCnJ6cm9vSU5TZEVjYXZMb2NUNE9xZGZ5TlNM
TGlTVi94ZU5GSXV1SmVtUmk4MFZTK3dLemE3eWRiMCtaRzhIemN4TDFPMCtXNG1heFoKMStVaitZ
aHVaWGZlZVdlSzBkZmphWGpSN2N4RWdBQUJBZ1NtaXNDMHVnbTlEVXBjb1kyYk5tT0tCR09zS1FZ
dGpIRTJ6ai8vL0R6SQoyR2FiYlpaUHFzNDU1NXgwMzMzM3BkcHVhbTBkNG9wcWRPdUlmdnFSYU1X
QWpSZGRkRkg3dGRjcEt0QjF2NTlzOWVMNGlCSElvNFV3CjdrblpkTk5OKzYyTzk5NTdiOXAxMTEw
bnU0bHB2WHpjVzNQOTlkZW51S2NtV3BiMjJHT1BhZTJoOGdRSUVDQXc5UVNxYlFFWkx4UnoKelRW
WG5tV3NNVHlheDVhbEQzM29RN25yMVk0NzdwaU9QdnJvL1BTZXdmVSs5TkJEK2RlWXQ2WXBXb2cy
M0hERFhLVnR0OTAyblhEQwpDV21ycmJiSzNUN21tMisrbXFvNjdlb3kzbjQvV1pBNEZwckhYT2Zq
SnE3T0gzUE1NU25HL3hpY2FqMXVCdXM0TzkvSDAramlhVmR4ClhNYVR2dUttL3hoZ2RmWFZWNStk
bTdWdUFnUUlFQ0F3eXdTbVpRdElQSlkwSGk4YlUvTU0vWkdZY2FYMmpqdnV5Ti9GeU9ueHlOM2gK
S2JxWHhCVDNoM1NaQnBPZHFaSzBOT04rcE1VWFh6emRmUFBOYWUrOTkrNVNUZk1VS3RCbHY1OXMw
ZSsvLy81MCsrMjM1OVhFY1RPYwpmTVFYRXoxdVpyWk03ZkUyVlk2MWlkWnp0ZFZXUzNHQklPb1hU
eE9yOFdFWUV6VXhQd0VDQkFoTURZSC9QYXVlR3VVZXQ1UngwM21NClhkSCt4Tk9jNGliMDg4NDdM
M2UvaXNkWVJyL3B1TEkvYW1vR0g4ejNRY1IzTVFMNjhCUTNzc2M0SGpIRnVydE0wYldwVFdSdXUr
MjIKTG9zODZmTXNzTUFDS1I1SEhOUG5QdmU1RkUvSE1wVXJNTm45ZnJJMUcrKzRpYWZQWFhIRkZY
a3pYWStibVMzVHZQUE9teGVkS3NmYQp6TlN6dlVBUWRkUVZhMllFTFVPQUFBRUNUNFpBdFYydzRz
UjVSbE4wUlRueHhCUHp6WnlqNW9zdUR0RjMvWlJUVGtuUkJTdVNqWGg4CmFDUXg4UVN0T0lsYWFh
V1YwcVdYWHByaXlVTmRwcmdpKzZJWHZTaTNKa1IzaWVpVEgrTnJyTExLS2wwV2Y5TG1pVWQ5eG1N
L3p6amoKakp5d3hVMnZ1bUk5YWVHWTRZWW51OS9QY09VZHZvejlZdlBOTjgrRERPNjAwMDdwbDcv
OFpmKzRpWHRETHIvODhna2ZOeDAyTzNLVwpwWmRlT245KzVKRkhwaC84NEFkNVRKdEREamxrNUx4
VDljUDJBc0VHRzJ5UWpqMzIyTFRSUmh2MTcyK2JxblZTYmdJRUNCQ29YNkRhCkZwRGgwRVZYa0Jq
NEx3WWtpejdxMTE1NzdiaVBsNDNrSUVaMGpxdktjUS9JRGp2c2tKOElGVmR1WStDdmM4ODlOMFVp
RXlma2JYZXQKNGUwTy94N3JXV1NSUlZJOHkvODN2L2xOLzNHYXcvT1Y5bnYwTzQ4Yml1TUpXVEdx
dTJscUNNek1mai9abXNVOUNYR2pkQXorT1hqYwpQUHJvbytuTU04L01yWkJ4M01ReEdFOVptMTFU
ZEFGYmRkVlZjeGVsNjY2N3J0cld1N2hBRUkvS2pxNVkyMnl6VFhyNDRZZG5GNm4xCkVpQkFnQUNC
V1NMd2xPWS9yYnJ1b0o0bExFOWNTYlI2eEpnaE1kN0hVa3N0bGNmR2VPSWNFL3N0UmxlUFIyaEdG
NUVZQ0xIdHF6NngKdFppYlFOa0NzL3E0bWRuYXhoUHI0bEhBY1MrVE1UTm1WdEZ5QkFnUUlFQmcx
Z2xJUUdhZHBUVVJJRUNBQUFFQ0JBZ1FJRENPd0xUcApnaldPZzY4SkVDQkFnQUFCQWdRSUVKZ0RB
aEtRT1lCc0V3UUlFQ0JBZ0FBQkFnUUkvTCtBQk1TZVFJQUFBUUlFQ0JBZ1FJREFIQk9RCmdNd3hh
aHNpUUlBQUFRSUVDQkFnUUVBQ1loOGdRSUFBQVFJRUNCQWdRR0NPQ1VoQTVoaTFEUkVnUUlBQUFR
SUVDQkFnSUFHeER4QWcKUUlBQUFRSUVDQkFnTU1jRUpDQnpqTnFHQ0JBZ1FJQUFBUUlFQ0JDUWdO
Z0hDQkFnUUlBQUFRSUVDQkNZWXdJU2tEbEdiVU1FQ0JBZwpRSUFBQVFJRUNFaEE3QU1FQ0JDWVF3
TC8vT2MvWjNwTFUzSFptYTZzQlFrUUlFQ2dhb0hxRTVBLy9lbFA2YWlqamlvMmlIdnNzVWM2Ci9Q
REQweUtMTEpJZWZQREJYTTYxMWxvcnZmU2xMODAvNzN6bk8vdGwvOFFuUHBGZTk3clhwVmUrOHBY
cHV1dXU2MzgrK09hUVF3NUoKYjN6akc5T3FxNjZhZnZqREgvYS9HbS9aejN6bU0yblpaWmZOUHk5
NXlVdlM4NTczdlBUQUF3L2s1Y2RiTm1iYVo1OTlVcFQ3SGU5NApSL3IxcjMvZGVidTlYaS90dnZ2
dWFaVlZWa21ycjc1NnV1MjIyMmE0N0Npdi9nTGU5QVdtNG43L3dROStNSzJ4eGhycHJXOTlhN3Jn
CmdndjZkWWszZi96akg5TVNTeXlSN3J6enp2N25vL2JMcnZ2SFk0ODlscFpiYnJuK3VycStHYlgr
VWVVWXRiN3ZmLy83YWYzMTEzL0MKVjdVc084cmxDUlgxQ3dFQ0JBZ1FHQkNvTWdGNTVKRkgwaGUr
OElWMDlkVlhwenZ1dUNQOStNYy9IcWh5V1crZi9leG5wMmMrODVscApnUVVXU1BQUFAzLzZ4ei8r
a2U2NTU1NTAvZlhYNTU5enpqa25GempxY3VtbGw2WkxMcmtrZmY3em4wL3hILzd3ZE8yMTE2YnZm
dmU3CjZhYy8vV2s2NDR3ejBwRkhIdGw1MlYxMzNUWGRjTU1OK1dmUFBmZE1iM3ZiMjNKUzFHVzd0
OTU2YS9yRkwzNlJUeHBqMlU5OTZsT2QKdDN2UlJSZWxtMjY2S2NWckpJcGJiYlhWREpjZDlobzJt
TTYvVCtYOS9pYy8rVW42eTEvK2tvL1ZMMy81eXptaEhZemxqanZ1bUI1LwovUEgrUjJQdGw3Tjcv
eGhlLzFqbDZCZjBQMitPTys2NHROMTIyNlYvL2V0Zi9hOXFXbmJZcFY5SmJ3Z1FJRUNBd0FpQnA0
LzRiTXArCmRPT05ONlpqamprbW44UnN1T0dHNllVdmZHSGFkOTk5Y3lKeThza25weFZYWERIRlZk
WTQ0WThUZ2E5KzlhdjVoUDZrazA1S0R6LzgKY0Q3QmlSUDd1SW9mVjVDMzMzNzdGRmRLSTRtSms0
YzRDWW9UL0xpUytZeG5QQ1A5N0djL3krdmJldXV0bjJCMi9QSEg1eFA1YUZXSQpFL0psbGxrbUxi
amdnamtwR3B6eDBFTVB6YTBHODgwM1gzcmEwNTZXNXAxMzNuVE5OZGVrRjd6Z0JlbjAwMDlQQ3kr
OGNGcHp6VFhUClU1N3lsSHlDdnU2NjYrYjUzdnptTjZjdHQ5eHljRlg1ZlpUdFBlOTVUMDRFRmx0
c3NmUzk3MzB2Zng0bjkrTXQyNjdzM252dnpZbEwKTEJOVDEyWEQ2KzY3NzA2Lys5M3Zjbm03TG52
aGhSZm1aT2VwVDMxcWJ0bUpKT2pmLy83M21OdU5WcFpCcjF6SWFmNVBEZnQ5dExvZApkdGhoT1pK
enp6MTN1djMyMi90UlBmSEVFM05yNEYxMzNkWC9iS3o5Y2tiN3g5Ly8vdmQ4M0VUTDNrSUxMZFJm
MTJTTzE3SEswVi81CmY5N0UzNWV6empvci96MXF2NnRwMlJtNXQvWDFTb0FBQVFJRStnSk5GNWdx
cHVZa3BiZm9vb3YydnYzdGIvZWE1S0pmcDZZN1VLL3AKOXBCL2I3b245Wm9Fby9lM3YvMnQxN1NL
OUc2NTVaWmVjNkxmZS8zclg5OXJUbnA3elVsMDc3blBmVzVlL3FxcnJ1cWRlZWFaZWJubQpCSy9Y
ZEluSzcyUCtGVlpZSWI5dlRyajduK2NQL3ZOUGJIL3R0ZGZ1N2J6enpyME5OdGdncnpzK2ExbzNu
dkFUMnh5ZXpqdnZ2RjdUCkJTWFhJNWJmZE5OTjh5d2YrY2hIZXQvNHhqZjZzemZkcFhyTkZlUCs3
L0htQXgvNFFDN2JKei81eWQ0V1cyelJpMlZpNnJKc25ySDUKcCtrTzFmdnNaei9iL3RwcDJVY2Zm
YlMzMldhYjlWNzcydGYyRmw5ODhWNlRtT1hsdTJ5M3VRcmNXM25sbFh0Tmw3SmUwMnJWbTJ1dQp1
WHIzMzM5L3ArMzJDem1OMzlTeTM3Y2hqSDA2anAwdmZlbEwrYU9tZGF6WHRNYjFtdnNmZW05NHd4
dDZ6Y1dBL0htWGZhdGRaL3ZhCnRBajJkdHR0dC94ckhHZnRNVDJaNDNVaTVXaVM2MXkzdGp5MUw5
dlcweXNCQWdRSUVCZ1dxS1lGWk9PTk44N2RsNko3MHZubm41KzIKMldhYjFKd1E5eE90ZUxQRERq
dWtqMy84NDJuNTVaZFBTeSs5ZEdwT3RQUDNjZTlCdERKRU42am1CRHAzZ1lvV2hHakJpRmFTdUZv
YQpYYVBhS1ZvZ1lvcDVtbVNtL2JqL0dsZnpEempnZ05TY1dLY21rY25yYmhLakZOMHdCcWVERHo0
NHQ4b01mdmIydDc4OXhVOU1jZjlICmxETmFGNktMdzEvLyt0ZityRTBnYzB0Ty80UG1UYlFNckxQ
T091bWpILzFvYnVHSnE4cXhqUzdMeG5xaUxrM1NsVnRoMnZWMldiWTUKV2N5dFRhZWRkbG91NjZ0
ZTlhcDA4ODAzZDlydWExN3ptblRnZ1FmbWJtWGhGYjlIeTArWDdiWmxuTTZ2dGV6M0VjTm9mWXVX
eTUxMgoyaW05OTczdnpXR05sc2VWVmxvcG5YRENDZm43cjMzdGEybVhYWGFacWYwajdwdHFqNjNW
Vmx1dDMxSTNtZU4xTXZ2cGRGdDJPaCtuCjZrNkFBQUVDVHhTbzVoNlFaejNyV2VuOTczOS8rdEdQ
ZnBSZm94OTUzSmNRWFp1YUs1eTUxdEhQUExvby9mYTN2ODAzUFVmWGk1Z3UKdi96eS9Cb24rbkVT
RkVuSUVVY2NrVTk4NGg2TTZMYlZyaU5tZlByVFo1eTNSVmVQdUtjaVRwcGkyZmc5Ymo2TkpHVHdK
eEtoNFNtKwpqeFB5bVA3d2h6K2tlZWFaSjNmZmlwdlBvOHRYVEhIUFJkeTBIa25UNE5TMDVPUnVV
UEZaMjZVc3VvcDFXVGFXaVM0aGNiSVhYZFRhCnFjdXk3VDBzc1V4c0wwNnNZdXF5N0s5KzlhdmN4
ZTJMWC94aWprbXNLK3JWWmRtOGtXbitUeTM3ZlJ4MzBmWHgwNS8rZEQvNWlOQTIKclFUcDFhOStk
YjRJRU1kZGRHV01oR0ZtOW8rWHZleGw2ZUtMTDg1N1ROeC9FVWw4VEpNNVhtZW1ISG1qelQvVGJk
bTIzbDRKRUNCQQpnTUNNejZTbnFFK2MyQjk3N0xHNTlIRmphMXo1aktmTmJMNzU1cmxscE9sbWxm
dVlSNUlTeVVqYzlCMnRHZzg5OUZCT0d1SUV1T2s2CmxaL09kTmxsbCtXVDZsaFpuS2gwbWZiYWE2
OThNclh0dHR2bWhDQitqOWFVOFJLWFdIZGNvVDNsbEZOeTYwZmNEeEVuWkRIRlRlRngKTTMyOHhz
bGFsSDE0ZXRlNzNwVys4NTN2NUhYRTA0S2lOU2pxMG1YWldGYzR4Uk8yQnFjdXkwWlNGMWVxd3pl
ZVZoU3RURTFYcWs3YgpqWlBDL2ZiYkw1MTc3cm5wejMvK2MycVR3aTdiSFN5bjl5bTM3RTNWL1Q1
YTZpS3hqcGJMZG9yN29lTGVwWGFLL1htOTlkYkx4K1BNCjdCL1JBcnJSUmh2bC9USmFCOXZqY1RM
SDY4eVVvNjNQZEZ1MnJiZFhBZ1FJRUNEd2xPaVRWVHREM05RY0xSaHhVaHhUbk9oR2Q2dVkKbXZz
cThrM3ErKysvZno2eGlSYVRkb3Jsb3R0VFhHV2UwMU04MFNpNlZNWFYzc0VwdWtuRnplb3ptcUwx
bzcxUmUzQytMc3NPemovNAp2c3V5WTgwejF1ZUQ2dy9uZUFyWThOUmwyZUZsL1A3L0FsTnh2NTlv
N0dabS81aVpaY1lyMTJUV09kMldIYy9TOXdRSUVDQlF2MENWCkxTRERZWXVUK01FVCtUYjVpUG1p
aFNDK0czVlNINTgvR2NsSGxHdXdHMVQ4M2s2anl0bCsxNzZPVmVZdXk3YnJHSDd0c3V4WTg0ejEK
K2VBMlJpVWY4WDJYWlFmWDQvMS9CYWJpZnYvZjBuZDdOelA3eDh3c00xNXBKclBPNmJic2VKYStK
MENBQUlINkJhWkZDMGo5WVZSRApBZ1FJRUNCQWdBQUJBbE5ENEluOWU2WkdtWlZ5QmdMTjQwcG44
SzJ2Q0JBZzhPUUorUHYwNU5uYk1nRUNCRW9Ta0lETXBtakVBSWJMCkxiZmNoTmNlQXlFZWZ2amgr
U2xYRHo3NFlGNCticUNQSitiRURlSnhvL2hZVXd5UUdFL2JHcHk2TEJ0UDZscGpqVFZTTS81SUhz
U3cKWFg0aXk2NjY2cXA1OE1XSkxCdnp4azNyU3l5eFJJcWI1dHRwMUhaSHViVHpUK1IxMUhyYStn
L1hvZjI4aTh1bzlVNmtYTk5sM2xGTwpyZk9jOUk4bjNoMTExRkZqc24vOTYxLy9uOUhZeDV4NTRJ
dmgrbzIzbnNGeURMNGZXT1dUK3ZhTU04NUlVYWRaTVhYOSt6UnNPQ3UyCmJSMEVDQkFnVUphQUJL
U3NlT1JIMkxhUHRZMzdJdUp4b1pkZWVta2VzVDJlQWpUV3lVQ01NUkpQb2hwOFhIQ1haZVBSeFBH
a3NIakMKVmp4WmE1OTk5c2tpWFphTlJ4N0hEZjJ4YkpRcm5tUVVVNWRsODR6TlB6RzYvT09QUDk3
K091YXk4V2pmUVpmK0FoTjhNN3llc2VvdwpVWmZoOVRZRDNlWFI3QWZIajVsZ1VhdWNmZGhwZHZt
UGg5Y01hSmozMi9IbW0rajN3L1ViYi9uQmNneStIMis1T2ZWOVBEV3NHY0IxCjBwdWJ5TituWVVQ
SDBxVDVyWUFBQVFMRkNVeUxtOURubEhvOHBuZkxMYmRNRHp6d1FCNjNvTjF1UEZvMkhxa2JqK0xk
Yzg4OTB6TEwKTEpQSE0yaEcvbTVueWErSEhucG9XbXV0dGZwUHNJcWJVMk5zam5nVWFUeWRLeDRW
SE9zZk5jV1RyODQ2NjZ5MDc3Nzc5ci91c213OApqdlN3d3c3THk4dzk5OXo1OGNUeFM1ZGxvOVZr
bFZWV3lVbFBNK0o4SGtDdzY3SXhYek9LZDJwR28wNTMzWFZYL0pxbnNiWTc3TkxPCkg2L05DUENw
R1RFKys5eDIyMjE1SU1ZNGNlcmlPMVlkSnVveVhMNm9Wd3gwZWRCQkI2Vk5OdGtrYmIvOTlubmd5
c0Z5MS9LK1JQOUIKMjNqVWRyU3lSQUliQ1hvTUxocmp6a1NpZlBMSkorY0VmM2ovaVRGSllvb25p
VVdMWExROHhqRzQ4ODQ3cDJaRTl2U3RiMzJyMC83VgpsbU9zOVF5WG95MVRETVE0YXJzeExsRzBx
bHg3N2JYcDZLT1B6bjh2WWh1ajZuakpKWmVrazA0NnFUOG1VRndraUhwRlMwdnNqOUZLCkcwbFBY
TGlJQ3dGaEU0TkEzbkxMTGZsdlVEeE8rKzY3Nzg0RGswYnJhN1JneERnL01SNVJlRzY5OWRiNTRz
SDczdmUrZkJFaldueXYKdlBMS2RPR0ZGNmI3Nzc4L1ArNDQ2aFBUUlA0K1RlZGpLV1A1aHdBQkF0
TkJJQjdEYTVvMUFrY2VlV1J2dDkxMnl5dHJydHIxbXBQUQovTDc1ajcyMzl0cHI5NXFUbDE0enZr
aXZPUm5weFdmTjFmRW4vTVRudzFNekVGdXZlVlJ3LytObGwxMjIxN1JZOUg4ZmZOTWtPWGs3CjdX
Y1RXVGJXR1dWc1JqWFBpMDlrMlE5LytNTzk1ei8vK2IzbWFuYm5aVys2NmFaZU13NUNyK2tUM210
TzZIck5pVkRuWmR2NnRhL04KeVBlOVppeVMvR3ZUZ3ROclJzdnU3TnV1WTdnTzdlZVRjWWwxTkNk
NXZTWVI2alZYZFh0TmN0V3V0cXJYa3YwRHVybUMzMnRPdm52Tgo0MjU3VFd0ZHJ6bkI3alVKYzYv
cHJwampNS3I4c1E5OTdHTWZ5L00zSitWNXZxYTFyOWVjSE9mM1hZL2Y4ZFl6V0k3QjkxSE9VZHM5
CjlkUlRlMjk1eTF0eUdRYi9HVlhIMDA4L3ZkY01UcHIvM2pSSlI2OFoveWdmRjFkZGRWWHZ6RFBQ
ekl2ZmVPT04vYjlUVFF0b3J4bTcKS0g4ZXgyZlRhdEg3NWplLzJkdDk5OTE3c2E0VlZsZ2hmOWNr
SmYxbG1uR0tlczFGbGZ4NTAycVkvdzdFTC9HMzdORkhIODJmdC85TQo1dTlUckdNNkhFdXRsVmND
QkFqVUxxQUZaQlptbVhHVk5BWVNqR20xMVZicmoxUWVqME05NElBRDBzb3JyNXlhLy96ejV6SGll
WFJMCkdKeWlDOU9LSzY0NCtGSHVraFZqWkxSVHMwT08rWWplZHA3Mk5ib3lkRmsyQmpiY2NNTU44
OVhQdVBJYVU5ZGxZOTRtOGNvdEw2OTQKeFN0U3RFQjBXVGF1dXNhbzZ6RmFmR3kvT1ZGTHUreXlT
NmRsWTV1RFUzTkNscGVOZTJiT1B2dnNkTVVWVitUWExyN3Rlb2JyRUdQRwpUTVlscm5oSDk2Sm81
WW1ydjAxaWwrL2phYmRYMDJ1Si9vTytNUUJoWE0yUEFVcVhYbnJwM0RJMStQMm84a2NMUjB4eDFU
K08yWTAzCjNqai9Ib01YUnJmRGlPMUU5cSt4MXBOWE91S2ZHYzBmSThQSEZNZExsQ09tYUhXSUZw
UGhPcTYrK3VyNTcwMDhlbnp4eFJmUGc2NHUKdHRoaXVUVTJXb0lXV21paDFIWVR2UDc2NjlPYjN2
U212TDRYdi9qRktYN2lIcEIyaWhiWW1HTDVHTHNrcG1qWmJlODdpOWJRZG5ESAplTHo1ZUk4WDd2
SjNJcll4blk2bHFLK0pBQUVDMDBIQVBTQ3pNTW94cXZmRkYxK2MxeGhkRHlKWmlDbTZadTI2NjY3
NVpEdTZMc1R2CjhaOTJKQ0dEUDNIeU1EekZ6ZWZSNVNHbUdDbDZrVVVXNlNjMncvTU8vOTVsMlRq
SmptNFpNZUo2bTN6RWVyb3MyMXhGellsVnpCOG4KQ2M5NXpuTnlONVV1eXpZdExDbE9wT0lFS0U1
YUZseHd3VHdlUzVkbFkzdURVeVI0VWZib0hoTmRxdWFaWjU3T3ZtUFZZVEl1VWJiVApUanN0MzJN
UVhiQmlsUGZvaHRVT2hEbFk5aHJlbCtnLzZCcjM4elF0WkxtYlVwd2tSNWZJNkU0VlhZNWlHbFgr
ZHZrNElXK3UvT2N1ClY1RWt4d1dDR0dlbjYvRTczbm9HeXpINGZxenR4dnBpdnBnaWFZNnVqL0h6
ODUvLy9IL3FHUE5jZnZubDhaSzdYY1UrSFVuSUVVY2MKa1pQLzZNNFZmNDlhaCtqNjFNNGZmMnVh
VnNHOGJQdFBtMXkwdjhkckpHOFhYSEJCL2lpY0ovS1VxNjdIK25RNmxnWnR2U2RBZ0VETgpBbHBB
Wm1GMDQwcHIzSHZRZEMxS2NROUIreC8yWG52dGxVL3ltKzROdVU5MS9CNzNnN1RmejZnSXNhNjR5
VHRlNHdRaWJoVHZPblZaCk5scGQ0bVJqbTIyMjZhLzJtbXV1eWRzYmI3dnJyYmRlYXJwb3BLWmJX
V3E2VytSN1NlSmtyc3QyNDc2V2RvcWI2Mk5kMGIrOHk3THQKY29PdjBSOTl5U1dYelAzNjQvT3c3
ZUk3VmgwbTR4TGIzMktMTGVKbDJreWwrUS9DeDRXQjJMK2JMa2o1SHFjNGh1TEphOUZpTFdJNApy
d0FBRTU1SlJFRlVHYTBHKysyM1g3NmZZWEQvYVplUC9URnVnbzZFNDVGSEhzbUpidXpqOGRObC94
cHZQWVBsaUJQK3RreDc3NzMzCnlPMjI2eHQrSFZYSHVDL2tubnZ1eWZkR1BmVFFRL2tDU0xSTXhQ
SGFkS3RLbDExMldUN21ZbDF4VVdUTk5kZE1rWkJIWGVONGptUGcKOXR0dkg5N1VFMzZQZWFQTVRm
Zk45UEtYdjd6ZjZoRi9xK0tDU3R4RE10YlU5VmlmYnNmU1dGNCtKMENBUUUwQ0JpS2NEZEdNN2du
agpkVCtZNkdZbnM4N1p2V3gwOHhvMWt2bnMzdTZnNFgzMzNaYzIzM3p6bVg2eTBWaDFHTnpHNFB2
SjFHMXdQYlc4bndyKzBYVXF1aUsxClU3VGF4ZFgvYUprYXIveHh3M1lreUpGNFRHWWF0WjdCY2d5
K2orMk1tbjlHMngrc1kzUHZXRTdJOTk5Ly8xejJ0dVVrbG8vdHhENGYKclRuRFUyd3pXaEc3VE5I
U0cxMjRtbnROY25lc1NLS2FlMnE2TE5xZng3SFVwL0NHQUFFQzAwWkFDOGhzQ1BXc1RqNmlpSk5a
NSt4ZQpkbFR5TVNmTEhLMHd6UTNEK1FydnpJWnpyRHFNdGI3Sm1JNjF6cW42K1ZUeEgwdyt3cnB0
eWVoUy9xNG41T1BGY05SNjJuSU1scWxkCno2ajUyKzlHdlE3V01WbzdZdDJqOXRYNGZGVHlFZXVj
eURhWFdtcXAzTDB3N3VlSTFwWjQ4dHRFcDFIbG0rZzZ6RStBQUFFQ1UwdEEKQzhqVWlwZlNqaENJ
cTlqUmhjU0p6QWljT2ZEUlZQZWY2dVdmQXlFZWR4TVRiVUVjZDRWbUlFQ0FBSUdxQlNRZ1ZZZFg1
UWdRSUVDQQpBQUVDQkFpVUpUQzVEczFsMVVWcENCQWdRSUFBQVFJRUNCQW9YRUFDVW5pQUZJOEFB
UUlFQ0JBZ1FJQkFUUUlTa0pxaXFTNEVDQkFnClFJQUFBUUlFQ2hlUWdCUWVJTVVqUUlBQUFRSUVD
QkFnVUpPQUJLU21hS29MQVFJRUNCQWdRSUFBZ2NJRkpDQ0ZCMGp4Q0JBZ1FJQUEKQVFJRUNOUWtJ
QUdwS1pycVFvQUFBUUlFQ0JBZ1FLQndBUWxJNFFGU1BBSUVDQkFnUUlBQUFRSTFDVWhBYW9xbXVo
QWdRSUFBQVFJRQpDQkFvWEVBQ1VuaUFGSThBQVFJRUNCQWdRSUJBVFFJU2tKcWlxUzRFQ0JBZ1FJ
QUFBUUlFQ2hlUWdCUWVJTVVqUUlBQUFRSUVDQkFnClVKT0FCS1NtYUtvTEFRSUVDQkFnUUlBQWdj
SUZKQ0NGQjBqeENCQWdRSUFBQVFJRUNOUWtJQUdwS1pycVFvQUFBUUlFQ0JBZ1FLQncKQVFsSTRR
RlNQQUlFQ0JBZ1FJQUFBUUkxQ1VoQWFvcW11aEFnUUlBQUFRSUVDQkFvWEVBQ1VuaUFGSThBQVFJ
RUNCQWdRSUJBVFFJUwprSnFpcVM0RUNCQWdRSUFBQVFJRUNoZVFnQlFlSU1ValFJQUFBUUlFQ0JB
Z1VKT0FCS1NtYUtvTEFRSUVDQkFnUUlBQWdjSUZKQ0NGCkIwanhDQkFnUUlBQUFRSUVDTlFrSUFH
cEtacnFRb0FBQVFJRUNCQWdRS0J3QVFsSTRRRlNQQUlFQ0JBZ1FJQUFBUUkxQ1VoQWFvcW0KdWhB
Z1FJQUFBUUlFQ0JBb1hFQUNVbmlBRkk4QUFRSUVDQkFnUUlCQVRRSVNrSnFpcVM0RUNCQWdRSUFB
QVFJRUNoZVFnQlFlSU1VagpRSUFBQVFJRUNCQWdVSk9BQktTbWFLb0xBUUlFQ0JBZ1FJQUFnY0lG
SkNDRkIwanhDQkFnUUlBQUFRSUVDTlFrSUFHcEtacnFRb0FBCkFRSUVDQkFnUUtCd0FRbEk0UUZT
UEFJRUNCQWdRSUFBQVFJMUNVaEFhb3FtdWhBZ1FJQUFBUUlFQ0JBb1hFQUNVbmlBRkk4QUFRSUUK
Q0JBZ1FJQkFUUUlTa0pxaXFTNEVDQkFnUUlBQUFRSUVDaGVRZ0JRZUlNVWpRSUFBQVFJRUNCQWdV
Sk9BQktTbWFLb0xBUUlFQ0JBZwpRSUFBZ2NJRkpDQ0ZCMGp4Q0JBZ1FJQUFBUUlFQ05Ra0lBR3BL
WnJxUW9BQUFRSUVDQkFnUUtCd0FRbEk0UUZTUEFJRUNCQWdRSUFBCkFRSTFDVWhBYW9xbXVoQWdR
SUFBQVFJRUNCQW9YRUFDVW5pQUZJOEFBUUlFQ0JBZ1FJQkFUUUlTa0pxaXFTNEVDQkFnUUlBQUFR
SUUKQ2hlUWdCUWVJTVVqUUlBQUFRSUVDQkFnVUpPQUJLU21hS29MQVFJRUNCQWdRSUFBZ2NJRkpD
Q0ZCMGp4Q0JBZ1FJQUFBUUlFQ05RawpJQUdwS1pycVFvQUFBUUlFQ0JBZ1FLQndBUWxJNFFGU1BB
SUVDQkFnUUlBQUFRSTFDVWhBYW9xbXVoQWdRSUFBQVFJRUNCQW9YRUFDClVuaUFGSThBQVFJRUNC
QWdRSUJBVFFJU2tKcWlxUzRFQ0JBZ1FJQUFBUUlFQ2hlUWdCUWVJTVVqUUlBQUFRSUVDQkFnVUpP
QUJLU20KYUtvTEFRSUVDQkFnUUlBQWdjSUZKQ0NGQjBqeENCQWdRSUFBQVFJRUNOUWtJQUdwS1py
cVFvQUFBUUlFQ0JBZ1FLQndBUWxJNFFGUwpQQUlFQ0JBZ1FJQUFBUUkxQ1VoQWFvcW11aEFnUUlB
QUFRSUVDQkFvWEVBQ1VuaUFGSThBQVFJRUNCQWdRSUJBVFFJU2tKcWlxUzRFCkNCQWdRSUFBQVFJ
RUNoZVFnQlFlSU1ValFJQUFBUUlFQ0JBZ1VKT0FCS1NtYUtvTEFRSUVDQkFnUUlBQWdjSUZKQ0NG
QjBqeENCQWcKUUlBQUFRSUVDTlFrSUFHcEtacnFRb0FBQVFJRUNCQWdRS0J3QVFsSTRRRlNQQUlF
Q0JBZ1FJQUFBUUkxQ1VoQWFvcW11aEFnUUlBQQpBUUlFQ0JBb1hFQUNVbmlBRkk4QUFRSUVDQkFn
UUlCQVRRSVNrSnFpcVM0RUNCQWdRSUFBQVFJRUNoZVFnQlFlSU1ValFJQUFBUUlFCkNCQWdVSk9B
QktTbWFLb0xBUUlFQ0JBZ1FJQUFnY0lGSkNDRkIwanhDQkFnUUlBQUFRSUVDTlFrSUFHcEtacnFR
b0FBQVFJRUNCQWcKUUtCd0FRbEk0UUZTUEFJRUNCQWdRSUFBQVFJMUNVaEFhb3FtdWhBZ1FJQUFB
UUlFQ0JBb1hFQUNVbmlBRkk4QUFRSUVDQkFnUUlCQQpUUUlTa0pxaXFTNEVDQkFnUUlBQUFRSUVD
aGVRZ0JRZUlNVWpRSUFBQVFJRUNCQWdVSk9BQktTbWFLb0xBUUlFQ0JBZ1FJQUFnY0lGCkpDQ0ZC
MGp4Q0JBZ1FJQUFBUUlFQ05Ra0lBR3BLWnJxUW9BQUFRSUVDQkFnUUtCd0FRbEk0UUZTUEFJRUNC
QWdRSUFBQVFJMUNVaEEKYW9xbXVoQWdRSUFBQVFJRUNCQW9YRUFDVW5pQUZJOEFBUUlFQ0JBZ1FJ
QkFUUUlTa0pxaXFTNEVDQkFnUUlBQUFRSUVDaGVRZ0JRZQpJTVVqUUlBQUFRSUVDQkFnVUpPQUJL
U21hS29MQVFJRUNCQWdRSUFBZ2NJRkpDQ0ZCMGp4Q0JBZ1FJQUFBUUlFQ05Ra0lBR3BLWnJxClFv
QUFBUUlFQ0JBZ1FLQndBUWxJNFFGU1BBSUVDQkFnUUlBQUFRSTFDVWhBYW9xbXVoQWdRSUFBQVFJ
RUNCQW9YRUFDVW5pQUZJOEEKQVFJRUNCQWdRSUJBVFFJU2tKcWlxUzRFQ0JBZ1FJQUFBUUlFQ2hl
UWdCUWVJTVVqUUlBQUFRSUVDQkFnVUpPQUJLU21hS29MQVFJRQpDQkFnUUlBQWdjSUZKQ0NGQjBq
eENCQWdRSUFBQVFJRUNOUWtJQUdwS1pycVFvQUFBUUlFQ0JBZ1FLQndBUWxJNFFGU1BBSUVDQkFn
ClFJQUFBUUkxQ1VoQWFvcW11aEFnUUlBQUFRSUVDQkFvWEVBQ1VuaUFGSThBQVFJRUNCQWdRSUJB
VFFJU2tKcWlxUzRFQ0JBZ1FJQUEKQVFJRUNoZVFnQlFlSU1ValFJQUFBUUlFQ0JBZ1VKT0FCS1Nt
YUtvTEFRSUVDQkFnUUlBQWdjSUZKQ0NGQjBqeENCQWdRSUFBQVFJRQpDTlFrSUFHcEtacnFRb0FB
QVFJRUNCQWdRS0J3QVFsSTRRRlNQQUlFQ0JBZ1FJQUFBUUkxQ1VoQWFvcW11aEFnUUlBQUFRSUVD
QkFvClhFQUNVbmlBRkk4QUFRSUVDQkFnUUlCQVRRSVNrSnFpcVM0RUNCQWdRSUFBQVFJRUNoZVFn
QlFlSU1ValFJQUFBUUlFQ0JBZ1VKT0EKQktTbWFLb0xBUUlFQ0JBZ1FJQUFnY0lGSkNDRkIwanhD
QkFnUUlBQUFRSUVDTlFrSUFHcEtacnFRb0FBQVFJRUNCQWdRS0J3QVFsSQo0UUZTUEFJRUNCQWdR
SUFBQVFJMUNVaEFhb3FtdWhBZ1FJQUFBUUlFQ0JBb1hFQUNVbmlBRkk4QUFRSUVDQkFnUUlCQVRR
SVNrSnFpCnFTNEVDQkFnUUlBQUFRSUVDaGVRZ0JRZUlNVWpRSUFBQVFJRUNCQWdVSk9BQktTbWFL
b0xBUUlFQ0JBZ1FJQUFnY0lGSkNDRkIwangKQ0JBZ1FJQUFBUUlFQ05Ra0lBR3BLWnJxUW9BQUFR
SUVDQkFnUUtCd0FRbEk0UUZTUEFJRUNCQWdRSUFBQVFJMUNVaEFhb3FtdWhBZwpRSUFBQVFJRUNC
QW9YRUFDVW5pQUZJOEFBUUlFQ0JBZ1FJQkFUUUlTa0pxaXFTNEVDQkFnUUlBQUFRSUVDaGVRZ0JR
ZUlNVWpRSUFBCkFRSUVDQkFnVUpPQUJLU21hS29MQVFJRUNCQWdRSUFBZ2NJRkpDQ0ZCMGp4Q0JB
Z1FJQUFBUUlFQ05Ra0lBR3BLWnJxUW9BQUFRSUUKQ0JBZ1FLQndBUWxJNFFGU1BBSUVDQkFnUUlB
QUFRSTFDVWhBYW9xbXVoQWdRSUFBQVFJRUNCQW9YRUFDVW5pQUZJOEFBUUlFQ0JBZwpRSUJBVFFJ
U2tKcWlxUzRFQ0JBZ1FJQUFBUUlFQ2hlUWdCUWVJTVVqUUlBQUFRSUVDQkFnVUpPQUJLU21hS29M
QVFJRUNCQWdRSUFBCmdjSUZKQ0NGQjBqeENCQWdRSUFBQVFJRUNOUWtJQUdwS1pycVFvQUFBUUlF
Q0JBZ1FLQndBUWxJNFFGU1BBSUVDQkFnUUlBQUFRSTEKQ1VoQWFvcW11aEFnUUlBQUFRSUVDQkFv
WEVBQ1VuaUFGSThBQVFJRUNCQWdRSUJBVFFJU2tKcWlxUzRFQ0JBZ1FJQUFBUUlFQ2hlUQpnQlFl
SU1ValFJQUFBUUlFQ0JBZ1VKT0FCS1NtYUtvTEFRSUVDQkFnUUlBQWdjSUZKQ0NGQjBqeENCQWdR
SUFBQVFJRUNOUWtJQUdwCktacnFRb0FBQVFJRUNCQWdRS0J3QVFsSTRRRlNQQUlFQ0JBZ1FJQUFB
UUkxQ1VoQWFvcW11aEFnUUlBQUFRSUVDQkFvWEVBQ1VuaUEKRkk4QUFRSUVDQkFnUUlCQVRRSVNr
SnFpcVM0RUNCQWdRSUFBQVFJRUNoZVFnQlFlSU1ValFJQUFBUUlFQ0JBZ1VKT0FCS1NtYUtvTApB
UUlFQ0JBZ1FJQUFnY0lGSkNDRkIwanhDQkFnUUlBQUFRSUVDTlFrSUFHcEtacnFRb0FBQVFJRUNC
QWdRS0J3QVFsSTRRRlNQQUlFCkNCQWdRSUFBQVFJMUNVaEFhb3FtdWhBZ1FJQUFBUUlFQ0JBb1hF
QUNVbmlBRkk4QUFRSUVDQkFnUUlCQVRRSVNrSnFpcVM0RUNCQWcKUUlBQUFRSUVDaGVRZ0JRZUlN
VWpRSUFBQVFJRUNCQWdVSk9BQktTbWFLb0xBUUlFQ0JBZ1FJQUFnY0lGSkNDRkIwanhDQkFnUUlB
QQpBUUlFQ05Ra0lBR3BLWnJxUW9BQUFRSUVDQkFnUUtCd0FRbEk0UUZTUEFJRUNCQWdRSUFBQVFJ
MUNVaEFhb3FtdWhBZ1FJQUFBUUlFCkNCQW9YRUFDVW5pQUZJOEFBUUlFQ0JBZ1FJQkFUUUlTa0px
aXFTNEVDQkFnUUlBQUFRSUVDaGVRZ0JRZUlNVWpRSUFBQVFJRUNCQWcKVUpPQUJLU21hS29MQVFJ
RUNCQWdRSUFBZ2NJRkpDQ0ZCMGp4Q0JBZ1FJQUFBUUlFQ05Ra0lBR3BLWnJxUW9BQUFRSUVDQkFn
UUtCdwpBUWxJNFFGU1BBSUVDQkFnUUlBQUFRSTFDVWhBYW9xbXVoQWdRSUFBQVFJRUNCQW9YRUFD
VW5pQUZJOEFBUUlFQ0JBZ1FJQkFUUUlTCmtKcWlxUzRFQ0JBZ1FJQUFBUUlFQ2hlUWdCUWVJTVVq
UUlBQUFRSUVDQkFnVUpPQUJLU21hS29MQVFJRUNCQWdRSUFBZ2NJRkpDQ0YKQjBqeENCQWdRSUFB
QVFJRUNOUWtJQUdwS1pycVFvQUFBUUlFQ0JBZ1FLQndBUWxJNFFGU1BBSUVDQkFnUUlBQUFRSTFD
VWhBYW9xbQp1aEFnUUlBQUFRSUVDQkFvWEVBQ1VuaUFGSThBQVFJRUNCQWdRSUJBVFFJU2tKcWlx
UzRFQ0JBZ1FJQUFBUUlFQ2hlUWdCUWVJTVVqClFJQUFBUUlFQ0JBZ1VKT0FCS1NtYUtvTEFRSUVD
QkFnUUlBQWdjSUZKQ0NGQjBqeENCQWdRSUFBQVFJRUNOUWtJQUdwS1pycVFvQUEKQVFJRUNCQWdR
S0J3QVFsSTRRRlNQQUlFQ0JBZ1FJQUFBUUkxQ1VoQWFvcW11aEFnUUlBQUFRSUVDQkFvWEVBQ1Vu
aUFGSThBQVFJRQpDQkFnUUlCQVRRSVNrSnFpcVM0RUNCQWdRSUFBQVFJRUNoZVFnQlFlSU1ValFJ
QUFBUUlFQ0JBZ1VKT0FCS1NtYUtvTEFRSUVDQkFnClFJQUFnY0lGSkNDRkIwanhDQkFnUUlBQUFR
SUVDTlFrSUFHcEtacnFRb0FBQVFJRUNCQWdRS0J3QVFsSTRRRlNQQUlFQ0JBZ1FJQUEKQVFJMUNV
aEFhb3FtdWhBZ1FJQUFBUUlFQ0JBb1hFQUNVbmlBRkk4QUFRSUVDQkFnUUlCQVRRSVNrSnFpcVM0
RUNCQWdRSUFBQVFJRQpDaGVRZ0JRZUlNVWpRSUFBQVFJRUNCQWdVSk9BQktTbWFLb0xBUUlFQ0JB
Z1FJQUFnY0lGSkNDRkIwanhDQkFnUUlBQUFRSUVDTlFrCklBR3BLWnJxUW9BQUFRSUVDQkFnUUtC
d0FRbEk0UUZTUEFJRUNCQWdRSUFBQVFJMUNVaEFhb3FtdWhBZ1FJQUFBUUlFQ0JBb1hFQUMKVW5p
QUZJOEFBUUlFQ0JBZ1FJQkFUUUlTa0pxaXFTNEVDQkFnUUlBQUFRSUVDaGVRZ0JRZUlNVWpRSUFB
QVFJRUNCQWdVSk9BQktTbQphS29MQVFJRUNCQWdRSUFBZ2NJRkpDQ0ZCMGp4Q0JBZ1FJQUFBUUlF
Q05Ra0lBR3BLWnJxUW9BQUFRSUVDQkFnUUtCd0FRbEk0UUZTClBBSUVDQkFnUUlBQUFRSTFDVWhB
YW9xbXVoQWdRSUFBQVFJRUNCQW9YRUFDVW5pQUZJOEFBUUlFQ0JBZ1FJQkFUUUlTa0pxaXFTNEUK
Q0JBZ1FJQUFBUUlFQ2hlUWdCUWVJTVVqUUlBQUFRSUVDQkFnVUpPQUJLU21hS29MQVFJRUNCQWdR
SUFBZ2NJRkpDQ0ZCMGp4Q0JBZwpRSUFBQVFJRUNOUWtJQUdwS1pycVFvQUFBUUlFQ0JBZ1FLQndB
UWxJNFFGU1BBSUVDQkFnUUlBQUFRSTFDVWhBYW9xbXVoQWdRSUFBCkFRSUVDQkFvWEVBQ1VuaUFG
SThBQVFJRUNCQWdRSUJBVFFJU2tKcWlxUzRFQ0JBZ1FJQUFBUUlFQ2hlUWdCUWVJTVVqUUlBQUFR
SUUKQ0JBZ1VKT0FCS1NtYUtvTEFRSUVDQkFnUUlBQWdjSUZKQ0NGQjBqeENCQWdRSUFBQVFJRUNO
UWtJQUdwS1pycVFvQUFBUUlFQ0JBZwpRS0J3QVFsSTRRRlNQQUlFQ0JBZ1FJQUFBUUkxQ1VoQWFv
cW11aEFnUUlBQUFRSUVDQkFvWEVBQ1VuaUFGSThBQVFJRUNCQWdRSUJBClRRSVNrSnFpcVM0RUNC
QWdRSUFBQVFJRUNoZVFnQlFlSU1ValFJQUFBUUlFQ0JBZ1VKT0FCS1NtYUtvTEFRSUVDQkFnUUlB
QWdjSUYKSkNDRkIwanhDQkFnUUlBQUFRSUVDTlFrSUFHcEtacnFRb0FBQVFJRUNCQWdRS0J3QVFs
STRRRlNQQUlFQ0JBZ1FJQUFBUUkxQ1VoQQphb3FtdWhBZ1FJQUFBUUlFQ0JBb1hFQUNVbmlBRkk4
QUFRSUVDQkFnUUlCQVRRSVNrSnFpcVM0RUNCQWdRSUFBQVFJRUNoZVFnQlFlCklNVWpRSUFBQVFJ
RUNCQWdVSk9BQktTbWFLb0xBUUlFQ0JBZ1FJQUFnY0lGSkNDRkIwanhDQkFnUUlBQUFRSUVDTlFr
SUFHcEtacnEKUW9BQUFRSUVDQkFnUUtCd0FRbEk0UUZTUEFJRUNCQWdRSUFBQVFJMUNVaEFhb3Ft
dWhBZ1FJQUFBUUlFQ0JBb1hFQUNVbmlBRkk4QQpBUUlFQ0JBZ1FJQkFUUUlTa0pxaXFTNEVDQkFn
UUlBQUFRSUVDaGVRZ0JRZUlNVWpRSUFBQVFJRUNCQWdVSk9BQktTbWFLb0xBUUlFCkNCQWdRSUFB
Z2NJRi9nOUJwNFJHYm5Ja1NRQUFBQUJKUlU1RXJrSmdnZz09Cgo=
</data>
<flag name="review"
          id="71508"
          type_id="1"
          status="+"
          setter="krit"
    />
          </attachment>
      

    </bug>

</bugzilla>