<?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>16662</bug_id>
          
          <creation_ts>2007-12-29 00:52:15 -0800</creation_ts>
          <short_desc>CSS3: Implement calc()</short_desc>
          <delta_ts>2014-08-17 11:37:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.w3.org/TR/css3-values/#calc</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>80357</dependson>
    
    <dependson>107482</dependson>
    
    <dependson>54412</dependson>
    
    <dependson>57082</dependson>
    
    <dependson>75815</dependson>
    
    <dependson>75818</dependson>
    
    <dependson>75819</dependson>
    
    <dependson>75822</dependson>
    
    <dependson>75823</dependson>
    
    <dependson>75893</dependson>
    
    <dependson>75896</dependson>
    
    <dependson>75898</dependson>
    
    <dependson>75902</dependson>
    
    <dependson>75998</dependson>
    
    <dependson>76000</dependson>
    
    <dependson>76005</dependson>
    
    <dependson>76006</dependson>
    
    <dependson>76130</dependson>
    
    <dependson>76226</dependson>
    
    <dependson>77960</dependson>
    
    <dependson>78226</dependson>
    
    <dependson>78321</dependson>
    
    <dependson>78325</dependson>
    
    <dependson>78347</dependson>
    
    <dependson>78446</dependson>
    
    <dependson>78603</dependson>
    
    <dependson>79188</dependson>
    
    <dependson>79621</dependson>
    
    <dependson>80379</dependson>
    
    <dependson>80411</dependson>
    
    <dependson>80489</dependson>
    
    <dependson>80813</dependson>
    
    <dependson>81182</dependson>
    
    <dependson>81477</dependson>
    
    <dependson>81478</dependson>
    
    <dependson>82017</dependson>
    
    <dependson>82152</dependson>
    
    <dependson>82161</dependson>
    
    <dependson>84551</dependson>
    
    <dependson>91951</dependson>
    
    <dependson>94158</dependson>
    
    <dependson>105985</dependson>
    
    <dependson>106046</dependson>
    
    <dependson>111149</dependson>
    
    <dependson>136026</dependson>
          <blocked>46590</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Smith">catfish.man</reporter>
          <assigned_to name="Mike Lawther">mikelawther</assigned_to>
          <cc>abarth</cc>
    
    <cc>admwiggin+webkitbugzilla</cc>
    
    <cc>alancutter</cc>
    
    <cc>arv</cc>
    
    <cc>bedney</cc>
    
    <cc>bronislav.klucka</cc>
    
    <cc>buckley.d</cc>
    
    <cc>bugs.webkit.org-19b</cc>
    
    <cc>bugs-webkit</cc>
    
    <cc>bugzilla+webkit</cc>
    
    <cc>buildbot</cc>
    
    <cc>chrisjshull</cc>
    
    <cc>dglazkov</cc>
    
    <cc>donggwan.kim</cc>
    
    <cc>emacemac7</cc>
    
    <cc>eric</cc>
    
    <cc>farukates</cc>
    
    <cc>gsnedders</cc>
    
    <cc>gustavo</cc>
    
    <cc>hamaji</cc>
    
    <cc>hyatt</cc>
    
    <cc>illenberger</cc>
    
    <cc>jdanni</cc>
    
    <cc>jon.rimmer</cc>
    
    <cc>judo.ras</cc>
    
    <cc>kai</cc>
    
    <cc>kennyluck</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>lea</cc>
    
    <cc>macpherson</cc>
    
    <cc>mathias</cc>
    
    <cc>michael.davey</cc>
    
    <cc>mikelawther</cc>
    
    <cc>mike</cc>
    
    <cc>moz</cc>
    
    <cc>nickshanks</cc>
    
    <cc>nicolas.paton</cc>
    
    <cc>noel.gordon</cc>
    
    <cc>ojan</cc>
    
    <cc>paulirish</cc>
    
    <cc>peter</cc>
    
    <cc>phiw2</cc>
    
    <cc>priyajeet.hora</cc>
    
    <cc>rendezvouscp</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>slightlyoff</cc>
    
    <cc>stream</cc>
    
    <cc>syoichi</cc>
    
    <cc>tbassetto+bugzilla</cc>
    
    <cc>webkit.bugzilla</cc>
    
    <cc>webkit</cc>
    
    <cc>webkit</cc>
    
    <cc>webkit.org</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>webmaster</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>xanthor+bz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>65575</commentid>
    <comment_count>0</comment_count>
    <who name="David Smith">catfish.man</who>
    <bug_when>2007-12-29 00:52:15 -0800</bug_when>
    <thetext>This should be extremely useful to web authors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93467</commentid>
    <comment_count>1</comment_count>
      <attachid>23963</attachid>
    <who name="David Smith">catfish.man</who>
    <bug_when>2008-09-30 16:56:35 -0700</bug_when>
    <thetext>Created attachment 23963
Very early prototype

This is wrong in all kinds of exciting ways, but it gets far enough to correctly size the box in this screenshot: http://dscoder.com/calcboxsize.png</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93707</commentid>
    <comment_count>2</comment_count>
      <attachid>24014</attachid>
    <who name="David Smith">catfish.man</who>
    <bug_when>2008-10-02 03:43:38 -0700</bug_when>
    <thetext>Created attachment 24014
Makes %s work, and fixes a number of other things

This now has TODO comments all over it indicating places I&apos;m unsure on. Styles like width:-webkit-calc(100% / 2); work now, where before it would get both the division by 2 and the % width wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185394</commentid>
    <comment_count>3</comment_count>
      <attachid>47600</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-01-28 02:22:43 -0800</bug_when>
    <thetext>Created attachment 47600
full patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185395</commentid>
    <comment_count>4</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-01-28 02:23:33 -0800</bug_when>
    <thetext>Let me explain this patch. First of all, this patch is not small. I&apos;m happy to split this into several chunks, but I&apos;d like to post this patch first and get a chance to receive high level suggestions.

This patch implements CSS3&apos;s calc function (http://www.w3.org/TR/2006/WD-css3-values-20060919/#calc). For now, it is enabled only for width and height and the name of function is -webkit-calc, not calc.

For the lexer, I added dimident because ident accepts &apos;-&apos; and for 10px-5px, the current lexer considers &quot;px-5px&quot; is the dimension of &quot;10&quot;.

As for parser, I didn&apos;t reuse the current parser for other functions and added calc_function target because the kinds of arguments calc functions take are different from other functions.

Changes for Length class would be the most tricky part of this patch. Because Length objects have only 32bits (a single integer) and we don&apos;t want to increase the size of this objects, I embedded the ID of a calc length in the Length object. The ID starts from 0, increase to 0x0fffffff (4bits are for type of length), and return to 0 and increase again. The actual data of calc length can be obtained via hashmap whose key is the ID and value is the pointer to the data. As Length is copied by value, the data of calc length is reference-counted so we can delete them when the length becomes unnecessary.

This patch will be complained by check-webkit-style in CSSParser.cpp. I&apos;m not sure if I should fix this. I guess check-webkit-style is too strict here.

If high level design of this patch sounds, I&apos;ll start creating some patches which refactor code needed to implement calc. Any kind of comments will be really appreciated.

Thanks David for your work. Your patch gave me a good start point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185399</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-28 02:29:31 -0800</bug_when>
    <thetext>Attachment 47600 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/css/CSSParser.cpp:1019:  One space before end of line comments  [whitespace/comments] [5]
WebCore/css/CSSParser.cpp:1020:  One space before end of line comments  [whitespace/comments] [5]
Total errors found: 2


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>185407</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-01-28 03:02:17 -0800</bug_when>
    <thetext>Attachment 47600 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/216612</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>186684</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-01 16:31:23 -0800</bug_when>
    <thetext>Looks like this would break Chromium:
/usr/bin/ld: out/Release/obj.target/../../WebCore/WebCore.gyp/libwebcore.a(CSSParser.o): in function WebCore::CSSParser::parseCalculatedLength(int, WebCore::CSSParserValue*, bool):CSSParser.cpp(.text._ZN7WebCore9CSSParser21parseCalculatedLengthEiPNS_14CSSParserValueEb+0x2a): error: undefined reference to &apos;WebCore::CSSCalcValue::createFromParserValueList(WebCore::CSSParserValueList*)&apos;
collect2: ld returned 1 exit status</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188001</commentid>
    <comment_count>8</comment_count>
      <attachid>47600</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-04 16:35:38 -0800</bug_when>
    <thetext>Comment on attachment 47600
full patch

r- for the chromium build break.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188399</commentid>
    <comment_count>9</comment_count>
      <attachid>48285</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-02-05 21:05:19 -0800</bug_when>
    <thetext>Created attachment 48285
full patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188401</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-05 21:09:04 -0800</bug_when>
    <thetext>Attachment 48285 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/css/CSSParser.cpp:1019:  One space before end of line comments  [whitespace/comments] [5]
WebCore/css/CSSParser.cpp:1020:  One space before end of line comments  [whitespace/comments] [5]
Total errors found: 2


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188415</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-05 22:41:27 -0800</bug_when>
    <thetext>Attachment 48285 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/240305</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188416</commentid>
    <comment_count>12</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-02-05 22:48:30 -0800</bug_when>
    <thetext>&gt; Attachment 48285 [details] did not build on chromium:
&gt; Build output: http://webkit-commit-queue.appspot.com/results/240305

I&apos;m not sure if this failure is related to my patch. The error message:

g++: Internal error: Killed (program cc1plus)
Please submit a full bug report.
See &lt;file:///usr/share/doc/gcc-4.4/README.Bugs&gt; for instructions.
make: *** [out/Release/obj.target/webcore/../../WebCore/svg/SVGAllInOne.o] Error 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188453</commentid>
    <comment_count>13</comment_count>
    <who name="David Smith">catfish.man</who>
    <bug_when>2010-02-06 12:38:19 -0800</bug_when>
    <thetext>Who would be the appropriate reviewer for this area? I&apos;d do it myself but, I&apos;m not a reviewer. I&apos;d love to see this make progress.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190143</commentid>
    <comment_count>14</comment_count>
      <attachid>48285</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-02-12 14:07:30 -0800</bug_when>
    <thetext>Comment on attachment 48285
full patch v2

The changes to Length.h/cpp are layering violation.  The intent of the platform layer is that it has no knowledge of the classes such as those in the dom, css and rendering directories.  This violation needs to be fixed before going forward.

r-.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190436</commentid>
    <comment_count>15</comment_count>
      <attachid>48748</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-02-15 06:07:29 -0800</bug_when>
    <thetext>Created attachment 48748
full patch v3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190437</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-15 06:09:17 -0800</bug_when>
    <thetext>Attachment 48748 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/css/CSSParser.cpp:1019:  One space before end of line comments  [whitespace/comments] [5]
WebCore/css/CSSParser.cpp:1020:  One space before end of line comments  [whitespace/comments] [5]
Total errors found: 2


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190439</commentid>
    <comment_count>17</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-02-15 06:12:39 -0800</bug_when>
    <thetext>&gt; The changes to Length.h/cpp are layering violation.  The intent of the platform
&gt; layer is that it has no knowledge of the classes such as those in the dom, css
&gt; and rendering directories.  This violation needs to be fixed before going
&gt; forward.

Thanks for your review! I updated my patch and we don&apos;t have dependencies from platform/ to css/ anymore. I created a new file CalcValue.h/cpp. CalcValue is created by CSSCalcValue with RenderStyle objects. RenderStyle objects are necessary to resolve EMS and REMS. As EMS and REMS have been already resolved in CalcValue, we don&apos;t need dependencies to CSS from this class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190440</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-15 06:27:07 -0800</bug_when>
    <thetext>Attachment 48748 did not build on gtk:
Build output: http://webkit-commit-queue.appspot.com/results/268548</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190441</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-15 06:28:04 -0800</bug_when>
    <thetext>Attachment 48748 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/268550</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190455</commentid>
    <comment_count>20</comment_count>
      <attachid>48752</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-02-15 07:37:11 -0800</bug_when>
    <thetext>Created attachment 48752
full patch v4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>190458</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-15 07:42:51 -0800</bug_when>
    <thetext>Attachment 48752 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/css/CSSParser.cpp:1019:  One space before end of line comments  [whitespace/comments] [5]
WebCore/css/CSSParser.cpp:1020:  One space before end of line comments  [whitespace/comments] [5]
Total errors found: 2


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202511</commentid>
    <comment_count>22</comment_count>
      <attachid>48752</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-03-22 08:39:24 -0700</bug_when>
    <thetext>Comment on attachment 48752
full patch v4

Holy cow.  This sounds pretty cool, but I&apos;m sorry that we aren&apos;t able to accept this patch at this time.  This patch has been sitting in the review queue for a month and no one seems willing or able to review the patch.  Instead of just letting the patch linger here forever, I&apos;m marking the patch r- (with the lame excuse of a style violation).

My guess is the best way to proceed here is to
(1) contact a reviewer who knows this part of the code,
(2) make sure we want to implement this feature at this time,
(3) get some feedback your approach, and
(4) have the reviewer review your code.

The patch, as it stands, raise the following questions for me:
(A) Are we sure we want to abuse the higher order bits of Length to track this extra state information?  That doesn&apos;t seem to scale well to future code and non 32-bit architectures.
(B) Why are we implementing this as -webkit-calc?  If the spec is ready to be implemented, it seems like we should just implement as calc and save the web the trouble of dealing with our vendor-specific non-sense.
(C) Is there a CSS3 conformance test in this area we can use to test our implementation?

I apologize for the delay in reviewing your patch, but it&apos;s important to communicate with other members of the project before going off and implementing features.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202522</commentid>
    <comment_count>23</comment_count>
    <who name="David Smith">catfish.man</who>
    <bug_when>2010-03-22 09:05:54 -0700</bug_when>
    <thetext>I&apos;ve talked with dhyatt and others about this a number of times on irc, both when I wrote the initial prototype patch, and to try to get some reviewer attention subsequently when it was moved forward again by Shinichiro Hamaji. Some of these issues have already been hashed out. I don&apos;t really understand why this is being r-&apos;d, or why it&apos;s being suggested that it&apos;s been done without any communication with other project members...

If memory serves, Mozilla&apos;s bug on this is currently hung up on potential spec changes; if that&apos;s the case then *that* seems like a possibly valid reason for an r-.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202564</commentid>
    <comment_count>24</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-03-22 10:07:53 -0700</bug_when>
    <thetext>&gt; I&apos;ve talked with dhyatt and others about this a number of times on irc, both
&gt; when I wrote the initial prototype patch, and to try to get some reviewer
&gt; attention subsequently when it was moved forward again by Shinichiro Hamaji.

I don&apos;t see any comments from dhyatt on this bug.

&gt; Some of these issues have already been hashed out.

That might well be true, but it&apos;s impossible to tell that from this bug.

&gt; I don&apos;t really understand
&gt; why this is being r-&apos;d, or why it&apos;s being suggested that it&apos;s been done without
&gt; any communication with other project members...

I&apos;ve r-&apos;d the patch because it&apos;s been sitting in the review queue for over a month with no action and no evidence whether we want this feature at this time.  Somewhere the process broke down with this patch.  We can either let it linger forever in the pending-review pile or try to make progress here.  I&apos;d like to see us make progress.

Contributing code to the project is more than just writing a patch and throwing it over the wall.  It&apos;s important to work with the community and generate support for your patch.  It sounds like you&apos;ve done some of that, but somewhere along the way, that process broke down and this patch got left behind.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>242435</commentid>
    <comment_count>25</comment_count>
    <who name="William J. Edney">bedney</who>
    <bug_when>2010-06-24 04:29:43 -0700</bug_when>
    <thetext>All -

Every time I discuss this feature with other web developers I always get positive feedback, so I consider this feature to be &quot;extremely useful&quot;.

The Mozilla guys have decided to implement this as &apos;-moz-calc()&apos;, but I believe they&apos;re hewing close to the spec itself, so it could probably just be &apos;calc()&apos;:

https://bugzilla.mozilla.org/show_bug.cgi?id=363249

Also, IE9 Preview #3 has now added support for the &apos;calc()&apos; feature.

I&apos;m just sayin... ;-)

Cheers,

- Bill</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249635</commentid>
    <comment_count>26</comment_count>
    <who name="Jon Rimmer">jon.rimmer</who>
    <bug_when>2010-07-11 10:05:43 -0700</bug_when>
    <thetext>So, I found found this bug through it being result #2 on Google for &apos;webkit calc&apos;. I was thinking of using calc in some CSS for a site I&apos;m developing, and knowing that Firefox and IE9 have it, I&apos;d figured it&apos;d almost certainly be in Webkit.

Imagine my delight therefore, upon discovering that actually Webkit doesn&apos;t support it, despite the fact that someone SUBMITTED A PATCH FOR IT 6 MONTHS AGO. It seems the collective developer-power of Apple, Google and however-many other contributors Webkit has, cannot muster the effort required to review a submission of an extremely useful new feature?

Great work guys! Keep it up!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249638</commentid>
    <comment_count>27</comment_count>
    <who name="William J. Edney">bedney</who>
    <bug_when>2010-07-11 10:26:12 -0700</bug_when>
    <thetext>Jon -

I&apos;m going to disagree with your direction here. Snarky comments rarely achieve the objective - I know from personal experience. There are real people sitting on the other end of the connection here who have lots on their plate, including real lives, and while I totally agree that I would *love* to have this patch approved and checked in, this isn&apos;t going to get us anywhere.

I have friends who work at both Apple and Google and, while they are big organizations, the resources aren&apos;t unlimited. Especially Webkit-knowledgable resources.

Yes, it is frustrating to wait. But I have Mozilla Bugzilla bugs that have submitted patches that have waited several *years*, so 6 months is quite short ;-).

Please be patient. I&apos;m sure the Webkit guys know how useful this is. They&apos;ll get to it when they can.

Cheers,

- Bill</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>346787</commentid>
    <comment_count>28</comment_count>
      <attachid>81518</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2011-02-07 14:23:25 -0800</bug_when>
    <thetext>Created attachment 81518
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>346789</commentid>
    <comment_count>29</comment_count>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2011-02-07 14:24:34 -0800</bug_when>
    <thetext>Here is another attempt at getting CSS calc into WebKit :)

This patch implements CSS3 calc(), min() and max() as in the CSS3 Values and Units Editor&apos;s Draft 27 August 2010 http://dev.w3.org/csswg/css3-values/ (direct link at http://www.w3.org/TR/2010/ED-css3-values-20100827 appears broken :( ).

I do not intend to land this patch in one hunk - but in the smallest pieces I can (eg just the lexing stage, then the parsing stage etc). I&apos;ve uploaded the whole patch so as to show how the whole thing fits together. I know it&apos;s not completely polished (that can happen in child bugs).

Thanks to David Smith and Shinichiro Hamaji - this patch builds on your good work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347984</commentid>
    <comment_count>30</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2011-02-08 22:12:15 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; Here is another attempt at getting CSS calc into WebKit :)

Great! I&apos;m very excited to see this work is moving forward again. As Adam suggested me, I think we should discuss high level design of this patch on webkit-dev. Especially, I&apos;m not sure if people like the change for Length, I couldn&apos;t come up with better idea though.

Ah, I&apos;ve just noticed I didn&apos;t reply to Adam, sorry. Thanks Adam for your suggestions. My team decided to work on other project after I wrote the patch so I couldn&apos;t re-start this work so far.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>350890</commentid>
    <comment_count>31</comment_count>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2011-02-14 14:33:54 -0800</bug_when>
    <thetext>Dave Hyatt did run an eye over the patch when I first uploaded it. He made some suggestions on IRC (eg use RefCounted for CalculatedLength - which I&apos;ve already done but not uploaded yet). He said he had some more comments which he&apos;d put in this bug, so I&apos;m waiting on those to see what he reckons.

I got some advice from other reviewers to simply upload a smaller patch for review - which I have done at 54412.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369482</commentid>
    <comment_count>32</comment_count>
      <attachid>86133</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2011-03-17 21:01:20 -0700</bug_when>
    <thetext>Created attachment 86133
Current WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369487</commentid>
    <comment_count>33</comment_count>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2011-03-17 21:20:28 -0700</bug_when>
    <thetext>Yes - I&apos;m still working on this :)

Based on some IRC comments from Dave Hyatt, I&apos;ve been making calc() work with more properties, as well as with tables. To this end, I&apos;ve integrated calc more tightly with CSSPrimitiveValue, so most of the existing machinery and validation logic can be used with minimal modification.

I&apos;d welcome any feedback about this approach. It feels like a better one, since it enabled me to remove a bunch of special case code in CSSParser.cpp and CSSStyleSelector.cpp.

This is still a WIP, so some of the new tests I&apos;ve written are failing (eg tables work for simple values, but fail for percents).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369491</commentid>
    <comment_count>34</comment_count>
    <who name="Chris J. Shull">chrisjshull</who>
    <bug_when>2011-03-17 21:42:50 -0700</bug_when>
    <thetext>Hey Mike (et al), as a web dev who&apos;s going to use the hell out of calc(), I just want to say thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>369495</commentid>
    <comment_count>35</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-03-17 22:03:58 -0700</bug_when>
    <thetext>Attachment 86133 did not build on win:
Build output: http://queues.webkit.org/results/8199049</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372683</commentid>
    <comment_count>36</comment_count>
      <attachid>86745</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2011-03-23 22:55:22 -0700</bug_when>
    <thetext>Created attachment 86745
version after lexer/grammar patch has landed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372689</commentid>
    <comment_count>37</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-03-23 23:25:35 -0700</bug_when>
    <thetext>Attachment 86745 did not build on win:
Build output: http://queues.webkit.org/results/8231778</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399885</commentid>
    <comment_count>38</comment_count>
      <attachid>86745</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-05-06 16:09:30 -0700</bug_when>
    <thetext>Comment on attachment 86745
version after lexer/grammar patch has landed

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

We&apos;re going to deal with this patch in pieces on other bugs.

&gt; Source/WebCore/css/CSSCalcValue.cpp:85
&gt; +    PassOwnPtr&lt;CalcValue&gt; toCalcValue(RenderStyle* style, RenderStyle* rootStyle, double zoom) const

What is this used by?  Seems odd.

&gt; Source/WebCore/css/CSSStyleSelector.cpp:4345
&gt; +                OwnPtr&lt;CalcValue&gt; calcValue = primitiveValue-&gt;getCalcValue()-&gt;toCalcValue(style(), m_rootElementStyle, zoomFactor);

WebCore avoids &quot;get&quot; in function names, normally.

&gt; Source/WebCore/platform/CalcValue.cpp:43
&gt; +    ASSERT(op == &apos;+&apos; || op == &apos;-&apos; || op == &apos;*&apos; || op == &apos;/&apos; || op == &apos;%&apos;);

This goes away with an enum.

&gt; Source/WebCore/platform/CalcValue.cpp:50
&gt; +    switch (m_operator) {

Yeah, just an enum for m_operator and then the compiler helps you! :)

&gt; Source/WebCore/platform/CalcValue.cpp:103
&gt; +    if (m_type == MIN) {
&gt; +        retval = m_list[0]-&gt;evaluate(maxValue);
&gt; +        for (unsigned i = 1; i &lt; m_list.size(); ++i) {
&gt; +            float current = m_list[i]-&gt;evaluate(maxValue);
&gt; +            if (current &lt; retval)
&gt; +                retval = current;
&gt; +        }
&gt; +    } else {
&gt; +        retval = m_list[0]-&gt;evaluate(maxValue);
&gt; +        for (unsigned i = 1; i &lt; m_list.size(); ++i) {
&gt; +            float current = m_list[i]-&gt;evaluate(maxValue);
&gt; +            if (current &gt; retval)
&gt; +                retval = current;
&gt; +        }
&gt; +    }

I&apos;m not sure what this copy/paste code is trying to do.

&gt; Source/WebCore/platform/CalcValue.h:48
&gt; +    enum UnitCategory {
&gt; +        UNumber,
&gt; +        UPercent,
&gt; +        ULength,
&gt; +        UOther
&gt; +    };

I might still pull this enum out, even though there is a bunch of other things in this class.

&gt; Source/WebCore/platform/CalcValue.h:80
&gt; +    virtual float evaluate(float maxValue) const

What&apos;s maxValues?

&gt; Source/WebCore/platform/CalcValue.h:101
&gt; +class CalcMinMaxValueList : public CalcValue {

It&apos;s possible that we coudl avoid having to expose all this CalcValue stuff to platform, if we could design a system whereby we pre-process a calc tree down to a Length in the form: ax + by + c where x and y are containing block width and font size, respecitively.  Not sure if such is possible, but might be worth thinking about.

&gt; Source/WebCore/platform/Length.cpp:255
&gt; +float Length::calculatedCalcFloatValue(int maxValue) const

If you go down this hash road, I might put i in a separate class.  A class which Length can have a static member of.  Or some function in length.cpp has it as a static function local.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458020</commentid>
    <comment_count>39</comment_count>
    <who name="Andrey Romanov">judo.ras</who>
    <bug_when>2011-08-28 13:09:29 -0700</bug_when>
    <thetext>This patch for webkit would be very useful for the web project I am working at (and probably for other web developers as well). Are there chances that it&apos;s gonna be applied in the next 6 months? (want to decide whether to write lots of additional javascript for this feature or not)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458564</commentid>
    <comment_count>40</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-08-29 16:46:57 -0700</bug_when>
    <thetext>&lt;rdar://problem/10042910&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458680</commentid>
    <comment_count>41</comment_count>
      <attachid>105572</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2011-08-29 21:15:14 -0700</bug_when>
    <thetext>Created attachment 105572
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458683</commentid>
    <comment_count>42</comment_count>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2011-08-29 21:28:18 -0700</bug_when>
    <thetext>Thanks very much for the review Eric - I&apos;m sorry for the lengthy delay in getting back to you.

(In reply to comment #38)
&gt; &gt; Source/WebCore/css/CSSCalcValue.cpp:85
&gt; &gt; +    PassOwnPtr&lt;CalcValue&gt; toCalcValue(RenderStyle* style, RenderStyle* rootStyle, double zoom) const
&gt; 
&gt; What is this used by?  Seems odd.

This is used to convert from a CSSCalcValue to a CalcValue. There are two classes to prevent a layering violation between WebCore/css and WebCore/platform.

&gt; &gt; Source/WebCore/css/CSSStyleSelector.cpp:4345
&gt; &gt; +                OwnPtr&lt;CalcValue&gt; calcValue = primitiveValue-&gt;getCalcValue()-&gt;toCalcValue(style(), m_rootElementStyle, zoomFactor);
&gt; 
&gt; WebCore avoids &quot;get&quot; in function names, normally.

Done.

&gt; &gt; Source/WebCore/platform/CalcValue.cpp:43
&gt; &gt; +    ASSERT(op == &apos;+&apos; || op == &apos;-&apos; || op == &apos;*&apos; || op == &apos;/&apos; || op == &apos;%&apos;);
&gt; 
&gt; This goes away with an enum.

Done.

&gt; &gt; Source/WebCore/platform/CalcValue.cpp:50
&gt; &gt; +    switch (m_operator) {
&gt; 
&gt; Yeah, just an enum for m_operator and then the compiler helps you! :)

Done.

&gt; &gt; Source/WebCore/platform/CalcValue.cpp:103
&gt; &gt; +    if (m_type == MIN) {
&gt; &gt; +        retval = m_list[0]-&gt;evaluate(maxValue);
&gt; &gt; +        for (unsigned i = 1; i &lt; m_list.size(); ++i) {
&gt; &gt; +            float current = m_list[i]-&gt;evaluate(maxValue);
&gt; &gt; +            if (current &lt; retval)
&gt; &gt; +                retval = current;
&gt; &gt; +        }
&gt; &gt; +    } else {
&gt; &gt; +        retval = m_list[0]-&gt;evaluate(maxValue);
&gt; &gt; +        for (unsigned i = 1; i &lt; m_list.size(); ++i) {
&gt; &gt; +            float current = m_list[i]-&gt;evaluate(maxValue);
&gt; &gt; +            if (current &gt; retval)
&gt; &gt; +                retval = current;
&gt; &gt; +        }
&gt; &gt; +    }
&gt; 
&gt; I&apos;m not sure what this copy/paste code is trying to do.

These evaluate the min or max of a list. It is a little cut+pastey, but the alternative was to have the min/max test inside the loop, and since it was invariant I wanted to hoist it,

&gt; &gt; Source/WebCore/platform/CalcValue.h:48
&gt; &gt; +    enum UnitCategory {
&gt; &gt; +        UNumber,
&gt; &gt; +        UPercent,
&gt; &gt; +        ULength,
&gt; &gt; +        UOther
&gt; &gt; +    };
&gt; 
&gt; I might still pull this enum out, even though there is a bunch of other things in this class.

Done (and renamed).

&gt; &gt; Source/WebCore/platform/CalcValue.h:80
&gt; &gt; +    virtual float evaluate(float maxValue) const
&gt; 
&gt; What&apos;s maxValues?

It&apos;s the size of the containing box, used for percentage calculation. This argument name was reused from the existing functions that do this calculation.

&gt; &gt; Source/WebCore/platform/CalcValue.h:101
&gt; &gt; +class CalcMinMaxValueList : public CalcValue {
&gt; 
&gt; It&apos;s possible that we coudl avoid having to expose all this CalcValue stuff to platform, if we could design a system whereby we pre-process a calc tree down to a Length in the form: ax + by + c where x and y are containing block width and font size, respecitively.  Not sure if such is possible, but might be worth thinking about.

Hmm - that&apos;s a great idea. It&apos;s definitely possible to trivially simplify the calc expression tree if adjacent nodes can be combined etc. I had thought this could be done in a followup patch - do you reckon it should be attempted upfront?

&gt; &gt; Source/WebCore/platform/Length.cpp:255
&gt; &gt; +float Length::calculatedCalcFloatValue(int maxValue) const
&gt; 
&gt; If you go down this hash road, I might put i in a separate class.  A class which Length can have a static member of.  Or some function in length.cpp has it as a static function local.

Done.

Eric - I&apos;d previously been splitting off what I thought were minimal chunks for separate review/landing. When you did the review, some things in the smaller patch (at https://bugs.webkit.org/show_bug.cgi?id=57082) were confusing without the full context. At this stage, would you prefer that I slice off the parsing stage for review again, or would you prefer to review everything  in context here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458685</commentid>
    <comment_count>43</comment_count>
      <attachid>105572</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-08-29 21:38:32 -0700</bug_when>
    <thetext>Comment on attachment 105572
Patch

Attachment 105572 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/9565329</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458695</commentid>
    <comment_count>44</comment_count>
      <attachid>105572</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-29 22:04:50 -0700</bug_when>
    <thetext>Comment on attachment 105572
Patch

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

New failing tests:
css3/calc/table-calcs.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458714</commentid>
    <comment_count>45</comment_count>
      <attachid>105581</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2011-08-29 22:49:03 -0700</bug_when>
    <thetext>Created attachment 105581
added new files to EFL compile</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>458735</commentid>
    <comment_count>46</comment_count>
      <attachid>105581</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-29 23:44:04 -0700</bug_when>
    <thetext>Comment on attachment 105581
added new files to EFL compile

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

New failing tests:
css3/calc/table-calcs.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459256</commentid>
    <comment_count>47</comment_count>
      <attachid>105581</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-08-30 15:12:40 -0700</bug_when>
    <thetext>Comment on attachment 105581
added new files to EFL compile

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

I don&apos;t feel like I gave you a great review here.  Most of this has been purged from my memory by now.  There are a few style issues, and some possible leaks.  I&apos;m not sure who is your best hope for reviewer here.  Your&apos;e in sydney, right?  You might pick on Luke to get him to sanity check your CSS changes as he&apos;s been in that file as of late.  Ideally beth dakin would look at this, but it may be hard to get some of her time.

&gt; Source/WebCore/css/CSSCalcValue.cpp:52
&gt; +static CalcCategory unitCategory(CSSPrimitiveValue::UnitTypes type)

Don&apos;t we have a header with all these conversion functions to/from CSSPrimativeValue somewhere?

&gt; Source/WebCore/css/CSSCalcValue.cpp:71
&gt; +    default:
&gt; +        return CalcOther;

Do we need this default?  Normally we try and avoid them to let the compiler warn when we forget a case.

&gt; Source/WebCore/css/CSSCalcValue.cpp:79
&gt; +    static PassRefPtr&lt;CSSCalcPrimitiveValue&gt; create(CSSPrimitiveValue* value, bool isInt)

Ick.  Is isInt normally part of the signature?  That really should be an enum.

&gt; Source/WebCore/css/CSSCalcValue.cpp:86
&gt; +        return !m_value-&gt;getDoubleValue();

Normally we don&apos;t have &quot;get&quot; in method names, but I suspect CSSPrimativeValue is just old (not your fault here, obviously).

Will this do the right thing for NaN?

&gt; Source/WebCore/css/CSSCalcValue.cpp:94
&gt; +    PassOwnPtr&lt;CalcValue&gt; toCalcValue(RenderStyle* style, RenderStyle* rootStyle, double zoom) const

Should this be a create function on CalcValue?  to* functions are normally static conversions that don&apos;t return Pass* pointers, but this is OK too.

&gt; Source/WebCore/css/CSSCalcValue.cpp:110
&gt; +        default:
&gt; +            return nullptr;

Please no default:

&gt; Source/WebCore/css/CSSCalcValue.cpp:120
&gt; +    explicit CSSCalcPrimitiveValue(CSSPrimitiveValue* value, bool isInt)
&gt; +        : m_value(value)                 
&gt; +    {
&gt; +        m_category = unitCategory((CSSPrimitiveValue::UnitTypes)value-&gt;primitiveType());
&gt; +        m_isInt = isInt;
&gt; +    }

Ah, so this is your cusomt signature.  Please make this isInt thing an enum.

&gt; Source/WebCore/css/CSSCalcValue.cpp:163
&gt; +        switch (op) {
&gt; +        case &apos;+&apos;:
&gt; +        case &apos;-&apos;:                
&gt; +            if (leftCategory == rightCategory)    
&gt; +                newCategory = leftCategory;
&gt; +            else if (leftCategory != CalcNumber &amp;&amp; rightCategory != CalcNumber)
&gt; +                newCategory = CalcPercent;
&gt; +            else    
&gt; +                return 0;
&gt; +            break;
&gt; +                
&gt; +        case &apos;*&apos;:
&gt; +            if (leftCategory != CalcNumber &amp;&amp; rightCategory != CalcNumber) 
&gt; +                return 0;
&gt; +            
&gt; +            if (leftCategory == CalcNumber)
&gt; +                newCategory = rightCategory;
&gt; +            else 
&gt; +                newCategory = leftCategory;
&gt; +            break;
&gt; +
&gt; +        case &apos;/&apos;:
&gt; +        case &apos;%&apos;:
&gt; +            if (rightCategory != CalcNumber || rightSide-&gt;isZero())
&gt; +                return 0;
&gt; +            newCategory = leftCategory;
&gt; +            break;
&gt; +
&gt; +        default:
&gt; +            ASSERT_NOT_REACHED();
&gt; +            return 0;

This feels like a newCatagoryForOperator helper function, which you call, and then check that CalcCategory is a valid value?

&gt; Source/WebCore/css/CSSCalcValue.cpp:177
&gt; +        return &quot;(&quot; + m_leftSide-&gt;cssText() + m_operator + m_rightSide-&gt;cssText() + &quot;)&quot;;

return makeString(foo, bar, baz) is better.

&gt; Source/WebCore/css/CSSCalcValue.cpp:183
&gt; +        if (!left.get())

You don&apos;t need .get(), there is a bool operator on OwnPtr already.

&gt; Source/WebCore/css/CSSCalcValue.cpp:197
&gt; +        ASSERT(op == &apos;+&apos; || op == &apos;-&apos; || op == &apos;*&apos; || op == &apos;/&apos; || op == &apos;%&apos;);  

Should we make op an Enum instad?  WE could even give that enum the same values as these strings?  Unclear if that woudl be better or not. Certainly would make some of these signatures cleaner.

&gt; Source/WebCore/css/CSSCalcValue.cpp:293
&gt; +    struct Value {
&gt; +        RefPtr&lt;CSSCalcValue&gt; value;
&gt; +    };

I&apos;m confused by why we have this struct.  It could also just be a type-def if you wanted to save typing RefPtr everywhere.

&gt; Source/WebCore/css/CSSCalcValue.cpp:298
&gt; +            return 0;

As an Enum this could return nice semantic enums, like InvalidOperator (which could equal 0).

&gt; Source/WebCore/css/CSSCalcValue.h:73
&gt; +    void setIsInt(bool isInt) { m_isInt = isInt; }

It&apos;s not immediately clear to me why this is externally mutable, but OK.

&gt; Source/WebCore/css/CSSParser.cpp:702
&gt; +        break;            

typo.

&gt; Source/WebCore/css/CSSPrimitiveValue.cpp:105
&gt; +    default:
&gt; +        return CSSPrimitiveValue::CSS_UNKNOWN;

Can we move this out of the default case?  Again, we tend to avoid default: in WebCore where possible.

&gt; Source/WebCore/css/CSSStyleApplyProperty.cpp:335
&gt; +                  return;

indent.

&gt; Source/WebCore/css/CSSStyleSelector.cpp:5223
&gt; +    return *new Length(CSSPrimitiveValue::create(mm, CSSPrimitiveValue::CSS_MM)-&gt;computeLength&lt;Length&gt;(style(), m_rootElementStyle));

How does this ever get deleted?

&gt; Source/WebCore/css/CSSStyleSelector.cpp:5228
&gt; +    return *new Length(CSSPrimitiveValue::create(inch, CSSPrimitiveValue::CSS_IN)-&gt;computeLength&lt;Length&gt;(style(), m_rootElementStyle));

Leak?

&gt; Source/WebCore/platform/CalcValue.cpp:59
&gt; +    switch (op) {
&gt; +    case &apos;+&apos;:
&gt; +        m_operator = CalcAdd;
&gt; +        return;
&gt; +    case &apos;-&apos;:
&gt; +        m_operator = CalcSubtract;
&gt; +        return;
&gt; +    case &apos;*&apos;:
&gt; +        m_operator = CalcMultiply;
&gt; +        return;
&gt; +    case &apos;/&apos;:
&gt; +        m_operator = CalcDivide;
&gt; +        return;
&gt; +    case &apos;%&apos;:
&gt; +        m_operator = CalcMod;
&gt; +        return;
&gt; +    }
&gt; +    ASSERT_NOT_REACHED();

You want a helper function here.  m_operator =

&gt; Source/WebCore/platform/Length.cpp:169
&gt; +    : m_quirk(false), m_type(Calculated), m_isFloat(false)

one per line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477739</commentid>
    <comment_count>48</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-04 10:55:59 -0700</bug_when>
    <thetext>How does this feature affect editing? e.g. can calc be used in font-size property?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478879</commentid>
    <comment_count>49</comment_count>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2011-10-05 19:24:24 -0700</bug_when>
    <thetext>The spec says &quot;The calc(), min(), and max() functions can be used wherever &lt;length&gt;, &lt;frequency&gt;, &lt;angle&gt;, &lt;time&gt;, or &lt;number&gt; values are allowed.&quot;

So I read that as yes, this can be used in the font-size property, for example

  font-size: -webkit-calc(150% - 2px);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478905</commentid>
    <comment_count>50</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-05 20:25:50 -0700</bug_when>
    <thetext>(In reply to comment #49)
&gt; The spec says &quot;The calc(), min(), and max() functions can be used wherever &lt;length&gt;, &lt;frequency&gt;, &lt;angle&gt;, &lt;time&gt;, or &lt;number&gt; values are allowed.&quot;
&gt; 
&gt; So I read that as yes, this can be used in the font-size property, for example
&gt; 
&gt;   font-size: -webkit-calc(150% - 2px);

WebKit supports execCommand(&apos;fontSizeDelta&apos;, false, &apos;5px&apos;); for example. It seems like -webkit-calc will be incompatibile with this particular feature as it is implemented now. We also need to make sure functions like legacyFontSizeFromCSSValue and fontSizeForKeyword work correctly with -webkit-calc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>479141</commentid>
    <comment_count>51</comment_count>
    <who name="Nicholas Shanks">nickshanks</who>
    <bug_when>2011-10-06 07:08:04 -0700</bug_when>
    <thetext>Mike, just out of curiosity, would your code work in background-position as a replacement for offsets only being permitted from the edges?

e.g. I am trying to badge icons in table cells. the icon behind is 48px, horizontally centered, 10px from the top.
The badge icon is 24px and should be overlaid in the bottom-right corner of the main icon, with a small overhang beyond the main icon&apos;s extent. Thus it needs something like background-position: calc(center + 16px) top 62px, top 10px;

This syntax isn&apos;t working in Opera, and I was wondering if I should apply your patch and try it in WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>480761</commentid>
    <comment_count>52</comment_count>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2011-10-09 15:51:47 -0700</bug_when>
    <thetext>The &apos;center&apos; syntax definitely won&apos;t work. I don&apos;t fully grok your example. but I think -webkit-calc(50% - (24px / 2) + 16px) is what you want.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515867</commentid>
    <comment_count>53</comment_count>
      <attachid>118038</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2011-12-06 06:25:35 -0800</bug_when>
    <thetext>Created attachment 118038
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515873</commentid>
    <comment_count>54</comment_count>
      <attachid>118038</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2011-12-06 06:35:54 -0800</bug_when>
    <thetext>Comment on attachment 118038
Patch

This latest patch works on pretty much every property, and comes with lots of new test goodness.

It does not completely work on tables - however the spec now allows a UA in the presence of calc() in a table to act as though &apos;auto&apos; has been specified (&quot;calc() expressions [...] in both auto and fixed layout tables may be treated as if ‘auto’ had been specified&quot;). The other place it does not completely work is for getComputedStyle.

These are arguably corner cases which I reckon can be addressed after landing the main functionality.

I know this patch is large, and I don&apos;t intend to land it as is. I plan to slice off smaller chunks and land those - but the full patch provides context.

I&apos;d appreciate any reviewers comments on this full patch though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515910</commentid>
    <comment_count>55</comment_count>
      <attachid>118050</attachid>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2011-12-06 07:43:45 -0800</bug_when>
    <thetext>Created attachment 118050
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531827</commentid>
    <comment_count>56</comment_count>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2012-01-08 15:14:38 -0800</bug_when>
    <thetext>The parsing stage patch is up at https://bugs.webkit.org/show_bug.cgi?id=57082.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574346</commentid>
    <comment_count>57</comment_count>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2012-03-08 16:02:31 -0800</bug_when>
    <thetext>For those playing along at home:

http://trac.webkit.org/changeset/110148 has landed a major piece of calc functionality - expressions that mix absolute lengths and percentages (eg -webkit-calc(100% - 10px)).

There is still more work to do to enable calc for every single property (eg border-radius does not support calc yet), but calc works for width and height and that should be enough for people to start playing, testing and filing bugs :)

Please note that min() and max() are NOT supported - they have been removed from the latest draft of the spec (http://dev.w3.org/csswg/css3-values/#calc).

If you do file a bug, please prefix the bug description with &apos;CSS3 calc:&apos; and cc me, so it&apos;s easy for me to find them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669862</commentid>
    <comment_count>58</comment_count>
    <who name="j.j.">moz</who>
    <bug_when>2012-07-14 13:55:58 -0700</bug_when>
    <thetext>Mozilla will ship Firefox 16 with unprefixed calc() support.
https://bugzilla.mozilla.org/show_bug.cgi?id=771678
Microsoft supports calc() unprefixed only since IE9.

So I think WebKit should support unprefixed calc() as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672743</commentid>
    <comment_count>59</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-07-18 14:20:14 -0700</bug_when>
    <thetext>(In reply to comment #58)
&gt; Mozilla will ship Firefox 16 with unprefixed calc() support.
&gt; https://bugzilla.mozilla.org/show_bug.cgi?id=771678
&gt; Microsoft supports calc() unprefixed only since IE9.
&gt; 
&gt; So I think WebKit should support unprefixed calc() as well.

In think unprefixing soon is reasonable. We should do an audit of our implementation compared to IE9/FF16 to see how compatible we are (e.g. run out calc tests in those browsers, see if Mozilla has calc tests we could run in WebKit).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675369</commentid>
    <comment_count>60</comment_count>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2012-07-22 16:45:41 -0700</bug_when>
    <thetext>Mozilla has unprefixed calc https://bugzilla.mozilla.org/show_bug.cgi?id=771678.

I&apos;ve filed https://bugs.webkit.org/show_bug.cgi?id=91951 to track our unprefixing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>696623</commentid>
    <comment_count>61</comment_count>
      <attachid>118050</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-08-15 18:59:39 -0700</bug_when>
    <thetext>Comment on attachment 118050
Patch

This patch is done right? As in, it&apos;s been committed in sub parts? Marking R- to remove from the queue. Obviously, feel free to upload something new if there&apos;s still more to do here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697699</commentid>
    <comment_count>62</comment_count>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2012-08-16 17:07:39 -0700</bug_when>
    <thetext>Yes - this patch has been committed in parts.

There are still a couple of dependent bugs here which I&apos;ll close out before closing this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>835972</commentid>
    <comment_count>63</comment_count>
    <who name="Mike Lawther">mikelawther</who>
    <bug_when>2013-02-18 22:36:03 -0800</bug_when>
    <thetext>As calc() support has been in behind a -webkit prefix for almost a year, and has recently been unprefixed, I think it&apos;s time to let go and close out this bug :)

There are some remaining implementation niggles as documented in the bugs linked off this one, but I don&apos;t think we need to keep this bug open for those.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23963</attachid>
            <date>2008-09-30 16:56:35 -0700</date>
            <delta_ts>2008-10-02 03:43:38 -0700</delta_ts>
            <desc>Very early prototype</desc>
            <filename>calcproto1.txt</filename>
            <type>text/plain</type>
            <size>14580</size>
            <attacher name="David Smith">catfish.man</attacher>
            
              <data encoding="base64">SW5kZXg6IHJlbmRlcmluZy9MZW5ndGguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHJlbmRlcmluZy9MZW5n
dGguY3BwCShyZXZpc2lvbiAwKQorKysgcmVuZGVyaW5nL0xlbmd0aC5jcHAJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMTE5IEBACisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTGVuZ3Ro
LmgiCisjaW5jbHVkZSAiQ1NTVmFsdWVMaXN0LmgiCisjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFs
dWUuaCIKKyNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoRnVuY3Rp
b25zLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IENhbGN1bGF0ZWRMZW5ndGhE
YXRhIHsKKyAgICB2b2lkIGdlbmVyYXRlQ2FjaGVkTGVuZ3RoKCkKKyAgICB7CisgICAgICAgIGZs
b2F0IHJlc3VsdCA9IGV2YWx1YXRlKHRva2VuKDApLT5jb21wdXRlTGVuZ3RoRmxvYXQobV9zdHls
ZSksIHRva2VuKDApLCAxLCAwKTsKKyAgICAgICAgbV9jYWNoZWRQaXhlbExlbmd0aCA9IExlbmd0
aChzdGF0aWNfY2FzdDxpbnQ+KHJlc3VsdCksIEZpeGVkKTsKKyAgICB9CisgICAgQ1NTVmFsdWVM
aXN0KiBtX3Rva2VuczsKKyAgICBMZW5ndGggbV9jYWNoZWRQaXhlbExlbmd0aDsKKyAgICBSZW5k
ZXJTdHlsZSogbV9zdHlsZTsKKyAgICAKK3ByaXZhdGU6CisgICAgZmxvYXQgZXZhbHVhdGVPcCAo
ZmxvYXQgbGhzLCBjaGFyIG9wLCBmbG9hdCByaHMpIGNvbnN0CisgICAgeworICAgICAgICBwcmlu
dGYoIiVjIiwgb3ApOworICAgICAgICBzd2l0Y2ggKG9wKQorICAgICAgICB7CisgICAgICAgICAg
ICBjYXNlICcrJzoKKyAgICAgICAgICAgICAgICByZXR1cm4gbGhzICsgcmhzOworICAgICAgICAg
ICAgY2FzZSAnLSc6CisgICAgICAgICAgICAgICAgcmV0dXJuIGxocyAtIHJoczsKKyAgICAgICAg
ICAgIGNhc2UgJyonOgorICAgICAgICAgICAgICAgIHJldHVybiBsaHMgKiByaHM7CisgICAgICAg
ICAgICBjYXNlICcvJzoKKyAgICAgICAgICAgICAgICByZXR1cm4gbGhzIC8gcmhzOworICAgICAg
ICB9CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gMDsKKyAg
ICB9CisgICAgCisgICAgdW5zaWduZWQgcHJlY2VkZW5jZShDU1NQcmltaXRpdmVWYWx1ZSogb3BW
YWx1ZSkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChvcFZhbHVlLT5wcmltaXRpdmVUeXBlKCkg
IT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQVJTRVJfT1BFUkFUT1IpCisgICAgICAgICAgICBy
ZXR1cm4gLTE7CisgICAgICAgIAorICAgICAgICBjaGFyIG9wID0gc3RhdGljX2Nhc3Q8Y2hhcj4o
b3BWYWx1ZS0+Z2V0SWRlbnQoKSk7CisgICAgICAgIAorICAgICAgICBpZihvcCA9PSAnKycgfHwg
b3AgPT0gJy0nKQorICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIHJldHVybiAyOworICAgICAgICAKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICAKKyAgICBDU1NQcmltaXRpdmVWYWx1ZSogdG9r
ZW4odW5zaWduZWQgaW5kZXgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPihtX3Rva2Vucy0+aXRlbShpbmRleCkpOworICAgIH0KKyAg
ICAKKyAgICBmbG9hdCBldmFsdWF0ZSAoZmxvYXQgYWNjLCBDU1NQcmltaXRpdmVWYWx1ZSogbGhz
LCB1bnNpZ25lZCBpbmRleCwgdW5zaWduZWQgbWluUHJlY2VkZW5jZSkgY29uc3QKKyAgICB7Cisg
ICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBvcDsKKyAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUq
IHJoczsKKyAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIG5leHQ7CisgICAgICAgIAorICAgICAg
ICB3aGlsZSAoKG9wID0gdG9rZW4oaW5kZXgrKykpICYmIHByZWNlZGVuY2Uob3ApID49IG1pblBy
ZWNlZGVuY2UpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJocyA9IHRva2VuKGluZGV4KyspOwor
ICAgICAgICAgICAgd2hpbGUgKChuZXh0ID0gdG9rZW4oaW5kZXgpKSAmJiBwcmVjZWRlbmNlKG5l
eHQpID4gcHJlY2VkZW5jZShvcCkpCisgICAgICAgICAgICAgICAgYWNjID0gZXZhbHVhdGUoYWNj
LCByaHMsIGluZGV4LCBwcmVjZWRlbmNlKG5leHQpKTsKKyAgICAgICAgICAgIAorICAgICAgICAg
ICAgLy9UT0RPOiBmaXggdGhpcyB0byBub3QgbmVlZCB0aGUgcGFyc2VyIHZhbHVlIGNvbnZlcnNp
b24KKyAgICAgICAgICAgIGFjYyA9IGV2YWx1YXRlT3AoYWNjLCBzdGF0aWNfY2FzdDxjaGFyPihv
cC0+cGFyc2VyVmFsdWUoKS5pVmFsdWUpLCByaHMtPmNvbXB1dGVMZW5ndGhGbG9hdChtX3N0eWxl
KSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGFjYzsKKyAgICB9Cit9OworCit0eXBlZGVm
IEhhc2hNYXA8aW50LCBDYWxjdWxhdGVkTGVuZ3RoRGF0YSo+IENhbGN1bGF0ZWRMZW5ndGhEYXRh
TWFwOworCitMZW5ndGg6Okxlbmd0aChDU1NWYWx1ZUxpc3QqIG1fdG9rZW5zLCBSZW5kZXJTdHls
ZSogc3R5bGUpCisgICAgOm1fdmFsdWUoV1RGOjpQdHJIYXNoPENTU1ZhbHVlTGlzdCo+OjpoYXNo
KG1fdG9rZW5zKSB8IENhbGN1bGF0ZWQpCit7CisgICAgQ2FsY3VsYXRlZExlbmd0aERhdGEqIGRh
dGEgPSBjYWxjdWxhdGVkTGVuZ3RoRGF0YSgpOworICAgIGRhdGEtPm1fdG9rZW5zID0gbV90b2tl
bnM7CisgICAgZGF0YS0+bV9zdHlsZSA9IHN0eWxlOworfQorCitib29sIExlbmd0aDo6Y2FsY3Vs
YXRlZElzWmVybygpIGNvbnN0Cit7CisgICAgcmV0dXJuIGNhbGN1bGF0ZWRDYWxjVmFsdWUoKSA9
PSAwOworfQorYm9vbCBMZW5ndGg6OmNhbGN1bGF0ZWRJc1Bvc2l0aXZlKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gY2FsY3VsYXRlZENhbGNWYWx1ZSgpID4gMDsKK30KK2Jvb2wgTGVuZ3RoOjpjYWxj
dWxhdGVkSXNOZWdhdGl2ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGNhbGN1bGF0ZWRDYWxjVmFs
dWUoKSA8IDA7Cit9CisgICAgCitmbG9hdCBMZW5ndGg6OmNhbGN1bGF0ZWRDYWxjVmFsdWUoKSBj
b25zdAoreworICAgIENhbGN1bGF0ZWRMZW5ndGhEYXRhKiBkYXRhID0gY2FsY3VsYXRlZExlbmd0
aERhdGEoKTsKKyAgICBkYXRhLT5nZW5lcmF0ZUNhY2hlZExlbmd0aCgpOworICAgIHJldHVybiBk
YXRhLT5tX2NhY2hlZFBpeGVsTGVuZ3RoLnZhbHVlKCk7Cit9CisKK0NhbGN1bGF0ZWRMZW5ndGhE
YXRhKiBMZW5ndGg6OmNhbGN1bGF0ZWRMZW5ndGhEYXRhKCkgY29uc3QKK3sKKyAgICBBU1NFUlQo
dHlwZSgpID09IENhbGN1bGF0ZWQpOworICAgIHN0YXRpYyBDYWxjdWxhdGVkTGVuZ3RoRGF0YU1h
cCogZGF0YU1hcCA9IG5ldyBDYWxjdWxhdGVkTGVuZ3RoRGF0YU1hcDsKKyAgICBDYWxjdWxhdGVk
TGVuZ3RoRGF0YSogZGF0YSA9IGRhdGFNYXAtPmdldChtX3ZhbHVlKTsKKyAgICBpZiAoIWRhdGEp
CisgICAgICAgIGRhdGEgPSBkYXRhTWFwLT5zZXQobV92YWx1ZSwgbmV3IENhbGN1bGF0ZWRMZW5n
dGhEYXRhKS5maXJzdC0+c2Vjb25kOworICAgIHJldHVybiBkYXRhOworfQorCit9CkluZGV4OiBy
ZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHJlbmRlcmluZy9SZW5kZXJJ
bWFnZS5jcHAJKHJldmlzaW9uIDM3MDQ1KQorKysgcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDM5LDYgKzQzOSw3IEBACiAgICAgc3dpdGNoIChzdHlsZSgpLT53
aWR0aCgpLnR5cGUoKSkgewogICAgICAgICBjYXNlIEZpeGVkOgogICAgICAgICBjYXNlIFBlcmNl
bnQ6CisgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDogLy8gRklYTUUgaXMgdGhpcyByaWdodD8KICAg
ICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBjYXNlIEF1dG86CiAgICAgICAgIGNhc2Ug
UmVsYXRpdmU6IC8vIEZJWE1FOiBTaG91bGRuJ3QgdGhpcyBjYXNlIHJldHVybiB0cnVlPwpAQCAt
NDU2LDYgKzQ1Nyw3IEBACiAgICAgc3dpdGNoIChzdHlsZSgpLT5oZWlnaHQoKS50eXBlKCkpIHsK
ICAgICAgICAgY2FzZSBGaXhlZDoKICAgICAgICAgY2FzZSBQZXJjZW50OgorICAgICAgICBjYXNl
IENhbGN1bGF0ZWQ6IC8vRklYTUU6IGlzIHRoaXMgcmlnaHQ/CiAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICAgICAgY2FzZSBBdXRvOgogICAgICAgICBjYXNlIFJlbGF0aXZlOiAvLyBGSVhN
RTogU2hvdWxkbid0IHRoaXMgY2FzZSByZXR1cm4gdHJ1ZT8KSW5kZXg6IHJlbmRlcmluZy9MZW5n
dGguaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvTGVuZ3RoLmgJKHJldmlzaW9uIDM3MDQ1KQor
KysgcmVuZGVyaW5nL0xlbmd0aC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSwxMyArMjUsMTggQEAK
IAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMu
aD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNv
bnN0IGludCB1bmRlZmluZWRMZW5ndGggPSAtMTsKIGNvbnN0IGludCBwZXJjZW50U2NhbGVGYWN0
b3IgPSAxMjg7CiAKLWVudW0gTGVuZ3RoVHlwZSB7IEF1dG8sIFJlbGF0aXZlLCBQZXJjZW50LCBG
aXhlZCwgU3RhdGljLCBJbnRyaW5zaWMsIE1pbkludHJpbnNpYyB9OworZW51bSBMZW5ndGhUeXBl
IHsgQXV0bywgUmVsYXRpdmUsIFBlcmNlbnQsIEZpeGVkLCBTdGF0aWMsIEludHJpbnNpYywgTWlu
SW50cmluc2ljLCBDYWxjdWxhdGVkIH07CisgICAgCitjbGFzcyBDU1NWYWx1ZUxpc3Q7CitjbGFz
cyBSZW5kZXJTdHlsZTsKK3N0cnVjdCBDYWxjdWxhdGVkTGVuZ3RoRGF0YTsKIAogc3RydWN0IExl
bmd0aCB7CiAgICAgTGVuZ3RoKCkKQEAgLTU1LDYgKzYwLDggQEAKICAgICB7CiAgICAgICAgIEFT
U0VSVCh0ID09IFBlcmNlbnQpOwogICAgIH0KKyAgICAKKyAgICBMZW5ndGgoQ1NTVmFsdWVMaXN0
KiB0b2tlbnMsIFJlbmRlclN0eWxlKiBzdHlsZSk7CiAKICAgICBib29sIG9wZXJhdG9yPT0oY29u
c3QgTGVuZ3RoJiBvKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlID09IG8ubV92YWx1ZTsgfQogICAg
IGJvb2wgb3BlcmF0b3IhPShjb25zdCBMZW5ndGgmIG8pIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWUg
IT0gby5tX3ZhbHVlOyB9CkBAIC0xMDksNiArMTE2LDggQEAKICAgICAgICAgc3dpdGNoICh0eXBl
KCkpIHsKICAgICAgICAgICAgIGNhc2UgRml4ZWQ6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHZh
bHVlKCk7CisgICAgICAgICAgICBjYXNlIENhbGN1bGF0ZWQ6CisgICAgICAgICAgICAgICAgcmV0
dXJuIGNhbGN1bGF0ZWRDYWxjVmFsdWUoKTsKICAgICAgICAgICAgIGNhc2UgUGVyY2VudDoKICAg
ICAgICAgICAgICAgICBpZiAocm91bmRQZXJjZW50YWdlcykKICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PGludD4ocm91bmQobWF4VmFsdWUgKiBwZXJjZW50KCkgLyAxMDAu
MCkpOwpAQCAtMTUwLDEwICsxNTksMjYgQEAKICAgICB9CiAKICAgICBib29sIGlzVW5kZWZpbmVk
KCkgY29uc3QgeyByZXR1cm4gcmF3VmFsdWUoKSA9PSB1bmRlZmluZWRMZW5ndGg7IH0KLSAgICBi
b29sIGlzWmVybygpIGNvbnN0IHsgcmV0dXJuICEobV92YWx1ZSAmIH4weEYpOyB9Ci0gICAgYm9v
bCBpc1Bvc2l0aXZlKCkgY29uc3QgeyByZXR1cm4gcmF3VmFsdWUoKSA+IDA7IH0KLSAgICBib29s
IGlzTmVnYXRpdmUoKSBjb25zdCB7IHJldHVybiByYXdWYWx1ZSgpIDwgMDsgfQorICAgIGJvb2wg
aXNaZXJvKCkgY29uc3QgCisgICAgeyAKKyAgICAgICAgaWYgKGlzQ2FsY3VsYXRlZCgpKQorICAg
ICAgICAgICAgcmV0dXJuIGNhbGN1bGF0ZWRJc1plcm8oKTsKKyAgICAgICAgcmV0dXJuICEobV92
YWx1ZSAmIH4weEYpOyAKKyAgICB9CisgICAgYm9vbCBpc1Bvc2l0aXZlKCkgY29uc3QgCisgICAg
eworICAgICAgICBpZiAoaXNDYWxjdWxhdGVkKCkpIAorICAgICAgICAgICAgcmV0dXJuIGNhbGN1
bGF0ZWRJc1Bvc2l0aXZlKCk7CisgICAgICAgIHJldHVybiByYXdWYWx1ZSgpID4gMDsgCisgICAg
fQorICAgIGJvb2wgaXNOZWdhdGl2ZSgpIGNvbnN0IAorICAgIHsgCisgICAgICAgIGlmIChpc0Nh
bGN1bGF0ZWQoKSkKKyAgICAgICAgICAgIHJldHVybiBjYWxjdWxhdGVkSXNOZWdhdGl2ZSgpOwor
ICAgICAgICByZXR1cm4gcmF3VmFsdWUoKSA8IDA7IAorICAgIH0KIAorICAgIGJvb2wgaXNDYWxj
dWxhdGVkKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IENhbGN1bGF0ZWQ7IH0KICAgICBib29s
IGlzQXV0bygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBBdXRvOyB9CiAgICAgYm9vbCBpc1Jl
bGF0aXZlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFJlbGF0aXZlOyB9CiAgICAgYm9vbCBp
c1BlcmNlbnQoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gUGVyY2VudDsgfQpAQCAtMTg2LDYg
KzIxMSwxMyBAQAogICAgIH0KICAgICAKIHByaXZhdGU6CisgICAgCisgICAgYm9vbCBjYWxjdWxh
dGVkSXNaZXJvKCkgY29uc3Q7CisgICAgYm9vbCBjYWxjdWxhdGVkSXNQb3NpdGl2ZSgpIGNvbnN0
OworICAgIGJvb2wgY2FsY3VsYXRlZElzTmVnYXRpdmUoKSBjb25zdDsKKyAgICBmbG9hdCBjYWxj
dWxhdGVkQ2FsY1ZhbHVlKCkgY29uc3Q7CisgICAgCisgICAgQ2FsY3VsYXRlZExlbmd0aERhdGEq
IGNhbGN1bGF0ZWRMZW5ndGhEYXRhKCkgY29uc3Q7CiAgICAgaW50IG1fdmFsdWU7CiB9OwogCklu
ZGV4OiByZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHJlbmRlcmluZy9S
ZW5kZXJWaWRlby5jcHAJKHJldmlzaW9uIDM3MDQ1KQorKysgcmVuZGVyaW5nL1JlbmRlclZpZGVv
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM5LDYgKzEzOSw3IEBACiAgICAgc3dpdGNoIChzdHls
ZSgpLT53aWR0aCgpLnR5cGUoKSkgewogICAgICAgICBjYXNlIEZpeGVkOgogICAgICAgICBjYXNl
IFBlcmNlbnQ6CisgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDogLy9GSVhNRSBpcyB0aGlzIHJpZ2h0
PwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGNhc2UgQXV0bzoKICAgICAgICAg
Y2FzZSBSZWxhdGl2ZTogLy8gRklYTUU6IFNob3VsZG4ndCB0aGlzIGNhc2UgcmV0dXJuIHRydWU/
IEl0IGRvZXNuJ3QgZm9yIGltYWdlcy4KQEAgLTE1Niw2ICsxNTcsNyBAQAogICAgIHN3aXRjaCAo
c3R5bGUoKS0+aGVpZ2h0KCkudHlwZSgpKSB7CiAgICAgICAgIGNhc2UgRml4ZWQ6CiAgICAgICAg
IGNhc2UgUGVyY2VudDoKKyAgICAgICAgY2FzZSBDYWxjdWxhdGVkOiAvL0ZJWE1FIGlzIHRoaXMg
cmlnaHQ/CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgY2FzZSBBdXRvOgogICAg
ICAgICBjYXNlIFJlbGF0aXZlOiAvLyBGSVhNRTogU2hvdWxkbid0IHRoaXMgY2FzZSByZXR1cm4g
dHJ1ZT8gSXQgZG9lc24ndCBmb3IgaW1hZ2VzLgpJbmRleDogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkocmV2aXNpb24gMzcwNDUpCisrKyBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHdvcmtpbmcgY29weSkKQEAgLTY2OCw2ICs2NjgsNyBAQAogCQk2MzE4OUFFMzBFODNBMzMz
MDAwMTJFNDEgLyogTm9kZVJhcmVEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA2MzE4OUFFMjBFODNBMzMzMDAwMTJFNDEgLyogTm9kZVJhcmVEYXRh
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoKTsgfTsgfTsKIAkJNjM0NTlDNjUwRTc5
Q0QzMzAwOEFERkFGIC8qIENTU050aFNlbGVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MzQ1OUM2MzBFNzlDRDMzMDA4QURGQUYgLyogQ1NTTnRo
U2VsZWN0b3IuaCAqLzsgfTsKIAkJNjM0NTlDNjYwRTc5Q0QzMzAwOEFERkFGIC8qIENTU050aFNl
bGVjdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDYzNDU5QzY0MEU3OUNEMzMwMDhBREZBRiAvKiBDU1NOdGhTZWxlY3Rvci5jcHAgKi87IH07CisJ
CTYzOTgyMDlDMEU5MkI4OUUwMDI1Q0FBNiAvKiBMZW5ndGguY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjM5ODIwOUIwRTkyQjg5RTAwMjVDQUE2IC8q
IExlbmd0aC5jcHAgKi87IH07CiAJCTYzRDdCMzJEMEU3OENEM0YwMEY3NjE3QyAvKiBOb2RlUmVu
ZGVyU3R5bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDYzRDdCMzJDMEU3OENEM0YwMEY3NjE3QyAvKiBOb2RlUmVuZGVyU3R5bGUuaCAqLzsgfTsKIAkJ
NjNGNUQ0RjcwRThDNEI3MTAwQzBCRDA0IC8qIEVsZW1lbnRSYXJlRGF0YS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjM3QjdBREUwRTg3NjdCODAwRTMy
MTk0IC8qIEVsZW1lbnRSYXJlRGF0YS5oICovOyB9OwogCQk2NTBGNTNEQzA5RDE1RERBMDBDOUIw
QzggLyogQ1NTR3JhbW1hci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNjUwRjUzREIwOUQxNUREQTAwQzlCMEM4IC8qIENTU0dyYW1tYXIuaCAqLzsgfTsK
QEAgLTUzNzcsNiArNTM3OCw3IEBACiAJCTYzNDU5QzYzMEU3OUNEMzMwMDhBREZBRiAvKiBDU1NO
dGhTZWxlY3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NOdGhTZWxl
Y3Rvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2MzQ1OUM2NDBFNzlDRDMzMDA4
QURGQUYgLyogQ1NTTnRoU2VsZWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQ1NTTnRoU2VsZWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk2MzdCN0FERTBFODc2N0I4MDBFMzIxOTQgLyogRWxlbWVudFJhcmVEYXRhLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVsZW1lbnRSYXJlRGF0YS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk2Mzk4MjA5QjBFOTJCODlFMDAyNUNBQTYgLyogTGVuZ3RoLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExlbmd0aC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYzRDdCMzJDMEU3OENEM0YwMEY3NjE3QyAvKiBOb2RlUmVu
ZGVyU3R5bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTm9kZVJlbmRlclN0
eWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1MEY1M0RCMDlEMTVEREEwMEM5
QjBDOCAvKiBDU1NHcmFtbWFyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
U1NHcmFtbWFyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1MEZCRjI3MEQ5QUYw
NDYwMDhGQzI5MiAvKiBTVkdIS2VybkVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU1ZHSEtlcm5FbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTEzNDg1LDYgKzEzNDg3LDcgQEAKIAkJCQkyRDkwNjYwNDBCRTE0MUQ0MDA5NTY5
OTggLyogTGF5b3V0U3RhdGUuY3BwICovLAogCQkJCTJEOTA2NjA1MEJFMTQxRDQwMDk1Njk5OCAv
KiBMYXlvdXRTdGF0ZS5oICovLAogCQkJCTkzNUM0NzYwMDlBQzRDRDEwMEE2QUFCNCAvKiBMZW5n
dGguaCAqLywKKwkJCQk2Mzk4MjA5QjBFOTJCODlFMDAyNUNBQTYgLyogTGVuZ3RoLmNwcCAqLywK
IAkJCQlBOEVBN0E0RDBBMTkxQTUyMDBBOEVGNUYgLyogTGlzdE1hcmtlckJveC5jcHAgKi8sCiAJ
CQkJQThFQTdBNDkwQTE5MUE1MjAwQThFRjVGIC8qIExpc3RNYXJrZXJCb3guaCAqLywKIAkJCQlB
QkZFN0UxMDBEMzJGQUY1MDA2NkY0RDIgLyogTWVkaWFDb250cm9sRWxlbWVudHMuY3BwICovLApA
QCAtMTc3OTcsNiArMTc4MDAsNyBAQAogCQkJCTkzNTBFNzBEMEU4NzUwMEIwMDE4OUZGRiAvKiBK
U0hUTUxBbGxDb2xsZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQzQzODc4MEU4ODZD
QzcwMDUzM0RENSAvKiBKU0hUTUxJbnB1dEVsZW1lbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkMyNDQxQzQwRThCNjVEMDAwNTUzMjBGIC8qIFNjcm9sbFZpZXcuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJNjM5ODIwOUMwRTkyQjg5RTAwMjVDQUE2IC8qIExlbmd0aC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0g
MDsKIAkJfTsKSW5kZXg6IGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBj
c3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAJKHJldmlzaW9uIDM3MDQ1KQorKysgY3NzL0NTU1N0eWxl
U2VsZWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjkwLDYgKzMyOTAsMTAgQEAKICAgICAg
ICAgICAgICAgICBsID0gTGVuZ3RoKE1pbkludHJpbnNpYyk7CiAgICAgICAgICAgICAgICAgYXBw
bHkgPSB0cnVlOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSBpZiAodmFsdWUtPmlz
VmFsdWVMaXN0KCkpIHsKKyAgICAgICAgICAgICAgICBsID0gTGVuZ3RoKHN0YXRpY19jYXN0PENT
U1ZhbHVlTGlzdCo+KHZhbHVlKSwgbV9zdHlsZSk7CisgICAgICAgICAgICAgICAgYXBwbHkgPSB0
cnVlOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGlmIChpZCAhPSBDU1NQcm9w
ZXJ0eU1heFdpZHRoICYmIHByaW1pdGl2ZVZhbHVlICYmIHByaW1pdGl2ZVZhbHVlLT5nZXRJZGVu
dCgpID09IENTU1ZhbHVlQXV0bykKICAgICAgICAgICAgIGFwcGx5ID0gdHJ1ZTsKSW5kZXg6IGNz
cy9DU1NQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNzcy9DU1NQYXJzZXIuY3BwCShyZXZpc2lv
biAzNzA0NSkKKysrIGNzcy9DU1NQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05ODYsOCAr
OTg2LDEwIEBACiAgICAgICAgICAgICB2YWxpZF9wcmltaXRpdmUgPSAoIWlkICYmIHZhbGlkVW5p
dCh2YWx1ZSwgRkxlbmd0aHxGUGVyY2VudCwgbV9zdHJpY3QpKTsKICAgICAgICAgYnJlYWs7CiAK
LSAgICBjYXNlIENTU1Byb3BlcnR5SGVpZ2h0OiAgICAgICAgICAgICAgIC8vIDxsZW5ndGg+IHwg
PHBlcmNlbnRhZ2U+IHwgYXV0byB8IGluaGVyaXQKLSAgICBjYXNlIENTU1Byb3BlcnR5V2lkdGg6
ICAgICAgICAgICAgICAgIC8vIDxsZW5ndGg+IHwgPHBlcmNlbnRhZ2U+IHwgYXV0byB8IGluaGVy
aXQKKyAgICBjYXNlIENTU1Byb3BlcnR5SGVpZ2h0OiAgICAgICAgICAgICAgIC8vIDxsZW5ndGg+
IHwgY2FsYygpIHwgPHBlcmNlbnRhZ2U+IHwgYXV0byB8IGluaGVyaXQKKyAgICBjYXNlIENTU1By
b3BlcnR5V2lkdGg6ICAgICAgICAgICAgICAgIC8vIDxsZW5ndGg+IHwgY2FsYygpIHwgPHBlcmNl
bnRhZ2U+IHwgYXV0byB8IGluaGVyaXQKKyAgICAgICAgaWYgKHZhbHVlLT51bml0ID09IENTU1Bh
cnNlclZhbHVlOjpGdW5jdGlvbiAmJiBlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZS0+ZnVuY3Rpb24t
Pm5hbWUsICItd2Via2l0LWNhbGMoIikpCisgICAgICAgICAgICByZXR1cm4gcGFyc2VDYWxjdWxh
dGVkTGVuZ3RoKHByb3BJZCwgdmFsdWUsIGltcG9ydGFudCk7CiAgICAgICAgIGlmIChpZCA9PSBD
U1NWYWx1ZUF1dG8gfHwgaWQgPT0gQ1NTVmFsdWVJbnRyaW5zaWMgfHwgaWQgPT0gQ1NTVmFsdWVN
aW5JbnRyaW5zaWMpCiAgICAgICAgICAgICB2YWxpZF9wcmltaXRpdmUgPSB0cnVlOwogICAgICAg
ICBlbHNlCkBAIC0zNzI0LDYgKzM3MjYsMjQgQEAKICAgICAKICAgICByZXR1cm4gZmFsc2U7CiB9
CisgICAgCitib29sIENTU1BhcnNlcjo6cGFyc2VDYWxjdWxhdGVkTGVuZ3RoKGludCBwcm9wSWQs
IENTU1BhcnNlclZhbHVlICphLCBib29sIGltcG9ydGFudCkKK3sKKyAgICBpZiAoYS0+dW5pdCAh
PSBDU1NQYXJzZXJWYWx1ZTo6RnVuY3Rpb24pCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAK
KyAgICBpZiAoIWVxdWFsSWdub3JpbmdDYXNlKGEtPmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1j
YWxjKCIpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgQ1NTUGFyc2VyVmFsdWVM
aXN0KiBhcmdzID0gYS0+ZnVuY3Rpb24tPmFyZ3M7CisgICAgaWYoIWFyZ3MgfHwgYXJncy0+c2l6
ZSgpID09IDApCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAKKyAgICBSZWZQdHI8Q1NTVmFs
dWVMaXN0PiBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVGcm9tUGFyc2VyVmFsdWVMaXN0KGFy
Z3MpOworICAgIAorICAgIGFkZFByb3BlcnR5KHByb3BJZCwgbGlzdC5yZWxlYXNlKCksIGltcG9y
dGFudCk7CisgICAgcmV0dXJuIHRydWU7ICAgCit9CiAKIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUNv
dW50ZXIoaW50IHByb3BJZCwgaW50IGRlZmF1bHRWYWx1ZSwgYm9vbCBpbXBvcnRhbnQpCiB7Cklu
ZGV4OiBjc3MvQ1NTR3JhbW1hci55Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNzcy9DU1NHcmFtbWFyLnkJKHJl
dmlzaW9uIDM3MDQ1KQorKysgY3NzL0NTU0dyYW1tYXIueQkod29ya2luZyBjb3B5KQpAQCAtOTIs
NyArOTIsNyBAQAogCiAlfQogCi0lZXhwZWN0IDQ4CislZXhwZWN0IDYyCiAKICVsZWZ0IFVOSU1Q
T1JUQU5UX1RPSwogCkBAIC0xMzMzLDEwICsxMzMzLDE5IEBACiAgIHwgJywnIG1heWJlX3NwYWNl
IHsKICAgICAgICAgJCQgPSAnLCc7CiAgICAgfQorICB8ICcrJyBtYXliZV9zcGFjZSB7CisgICAg
ICAgICQkID0gJysnOworICAgIH0KKyAgfCAnKicgbWF5YmVfc3BhY2UgeworICAgICAgICAkJCA9
ICcqJzsKKyAgICB9CisgIHwgJy0nIG1heWJlX3NwYWNlIHsKKyAgICAgICAgJCQgPSAnLSc7IAor
ICAgIH0KICAgfCAvKiBlbXB0eSAqLyB7CiAgICAgICAgICQkID0gMDsKLSAgfQotICA7CisgICAg
fQorICAgOwogCiB0ZXJtOgogICB1bmFyeV90ZXJtIHsgJCQgPSAkMTsgfQpJbmRleDogY3NzL0NT
U1BhcnNlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIGNzcy9DU1NQYXJzZXIuaAkocmV2aXNpb24gMzcwNDUp
CisrKyBjc3MvQ1NTUGFyc2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTIyMSw2ICsyMjEsOCBAQAog
ICAgICAgICBpbnQgbGV4KCk7CiAgICAgICAgIAogICAgIHByaXZhdGU6CisgICAgICAgIGJvb2wg
cGFyc2VDYWxjdWxhdGVkTGVuZ3RoKGludCwgQ1NTUGFyc2VyVmFsdWUqLCBib29sKTsKKwogICAg
ICAgICB2b2lkIGNsZWFyUHJvcGVydGllcygpOwogCiAgICAgICAgIHZvaWQgc2V0dXBQYXJzZXIo
Y29uc3QgY2hhciogcHJlZml4LCBjb25zdCBTdHJpbmcmLCBjb25zdCBjaGFyKiBzdWZmaXgpOwpJ
bmRleDogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBjc3MvQ1NTUHJp
bWl0aXZlVmFsdWUuY3BwCShyZXZpc2lvbiAzNzA0NSkKKysrIGNzcy9DU1NQcmltaXRpdmVWYWx1
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3NCw2ICsxNzQsNyBAQAogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIGNhc2UgUmVsYXRpdmU6CiAgICAgICAgIGNhc2UgU3RhdGljOgorICAgICAg
ICBjYXNlIENhbGN1bGF0ZWQ6IC8vWFhYIGlzIHRoaXMgcmlnaHQ/CiAgICAgICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24014</attachid>
            <date>2008-10-02 03:43:38 -0700</date>
            <delta_ts>2010-01-28 02:22:32 -0800</delta_ts>
            <desc>Makes %s work, and fixes a number of other things</desc>
            <filename>calcproto2.txt</filename>
            <type>text/plain</type>
            <size>19624</size>
            <attacher name="David Smith">catfish.man</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lv
biAzNzA0NSkKKysrIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3
b3JraW5nIGNvcHkpCkBAIC02NjgsNiArNjY4LDcgQEAKIAkJNjMxODlBRTMwRTgzQTMzMzAwMDEy
RTQxIC8qIE5vZGVSYXJlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNjMxODlBRTIwRTgzQTMzMzAwMDEyRTQxIC8qIE5vZGVSYXJlRGF0YS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKCk7IH07IH07CiAJCTYzNDU5QzY1MEU3OUNEMzMw
MDhBREZBRiAvKiBDU1NOdGhTZWxlY3Rvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNjM0NTlDNjMwRTc5Q0QzMzAwOEFERkFGIC8qIENTU050aFNlbGVj
dG9yLmggKi87IH07CiAJCTYzNDU5QzY2MEU3OUNEMzMwMDhBREZBRiAvKiBDU1NOdGhTZWxlY3Rv
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MzQ1
OUM2NDBFNzlDRDMzMDA4QURGQUYgLyogQ1NTTnRoU2VsZWN0b3IuY3BwICovOyB9OworCQk2Mzk4
MjA5QzBFOTJCODlFMDAyNUNBQTYgLyogTGVuZ3RoLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzOTgyMDlCMEU5MkI4OUUwMDI1Q0FBNiAvKiBMZW5n
dGguY3BwICovOyB9OwogCQk2M0Q3QjMyRDBFNzhDRDNGMDBGNzYxN0MgLyogTm9kZVJlbmRlclN0
eWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2M0Q3
QjMyQzBFNzhDRDNGMDBGNzYxN0MgLyogTm9kZVJlbmRlclN0eWxlLmggKi87IH07CiAJCTYzRjVE
NEY3MEU4QzRCNzEwMEMwQkQwNCAvKiBFbGVtZW50UmFyZURhdGEuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYzN0I3QURFMEU4NzY3QjgwMEUzMjE5NCAv
KiBFbGVtZW50UmFyZURhdGEuaCAqLzsgfTsKIAkJNjUwRjUzREMwOUQxNUREQTAwQzlCMEM4IC8q
IENTU0dyYW1tYXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDY1MEY1M0RCMDlEMTVEREEwMEM5QjBDOCAvKiBDU1NHcmFtbWFyLmggKi87IH07CkBAIC01
Mzc3LDYgKzUzNzgsNyBAQAogCQk2MzQ1OUM2MzBFNzlDRDMzMDA4QURGQUYgLyogQ1NTTnRoU2Vs
ZWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTTnRoU2VsZWN0b3Iu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjM0NTlDNjQwRTc5Q0QzMzAwOEFERkFG
IC8qIENTU050aFNlbGVjdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IENTU050aFNlbGVjdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjM3
QjdBREUwRTg3NjdCODAwRTMyMTk0IC8qIEVsZW1lbnRSYXJlRGF0YS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBFbGVtZW50UmFyZURhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNjM5ODIwOUIwRTkyQjg5RTAwMjVDQUE2IC8qIExlbmd0aC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMZW5ndGguY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk2M0Q3QjMyQzBFNzhDRDNGMDBGNzYxN0MgLyogTm9kZVJlbmRlclN0
eWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5vZGVSZW5kZXJTdHlsZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NTBGNTNEQjA5RDE1RERBMDBDOUIwQzgg
LyogQ1NTR3JhbW1hci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTR3Jh
bW1hci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NTBGQkYyNzBEOUFGMDQ2MDA4
RkMyOTIgLyogU1ZHSEtlcm5FbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFNWR0hLZXJuRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xMzQ4NSw2ICsxMzQ4Nyw3IEBACiAJCQkJMkQ5MDY2MDQwQkUxNDFENDAwOTU2OTk4IC8q
IExheW91dFN0YXRlLmNwcCAqLywKIAkJCQkyRDkwNjYwNTBCRTE0MUQ0MDA5NTY5OTggLyogTGF5
b3V0U3RhdGUuaCAqLywKIAkJCQk5MzVDNDc2MDA5QUM0Q0QxMDBBNkFBQjQgLyogTGVuZ3RoLmgg
Ki8sCisJCQkJNjM5ODIwOUIwRTkyQjg5RTAwMjVDQUE2IC8qIExlbmd0aC5jcHAgKi8sCiAJCQkJ
QThFQTdBNEQwQTE5MUE1MjAwQThFRjVGIC8qIExpc3RNYXJrZXJCb3guY3BwICovLAogCQkJCUE4
RUE3QTQ5MEExOTFBNTIwMEE4RUY1RiAvKiBMaXN0TWFya2VyQm94LmggKi8sCiAJCQkJQUJGRTdF
MTAwRDMyRkFGNTAwNjZGNEQyIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCAqLywKQEAgLTE3
Nzk3LDYgKzE3ODAwLDcgQEAKIAkJCQk5MzUwRTcwRDBFODc1MDBCMDAxODlGRkYgLyogSlNIVE1M
QWxsQ29sbGVjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0M0Mzg3ODBFODg2Q0M3MDA1
MzNERDUgLyogSlNIVE1MSW5wdXRFbGVtZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUJDMjQ0MUM0MEU4QjY1RDAwMDU1MzIwRiAvKiBTY3JvbGxWaWV3LmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTYzOTgyMDlDMEU5MkI4OUUwMDI1Q0FBNiAvKiBMZW5ndGguY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJ
CX07CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9jc3MvQ1NTR3JhbW1hci55CShyZXZpc2lvbiAzNzA0NSkKKysrIFdlYkNvcmUvY3NzL0NTU0dy
YW1tYXIueQkod29ya2luZyBjb3B5KQpAQCAtOTIsNyArOTIsNyBAQCBzdGF0aWMgaW50IGNzc3l5
bGV4KFlZU1RZUEUqIHl5bHZhbCwgdm9pCiAKICV9CiAKLSVleHBlY3QgNDgKKyVleHBlY3QgNjIK
IAogJWxlZnQgVU5JTVBPUlRBTlRfVE9LCiAKQEAgLTEzMzMsMTAgKzEzMzMsMTkgQEAgb3BlcmF0
b3I6CiAgIHwgJywnIG1heWJlX3NwYWNlIHsKICAgICAgICAgJCQgPSAnLCc7CiAgICAgfQorICB8
ICcrJyBtYXliZV9zcGFjZSB7CisgICAgICAgICQkID0gJysnOworICAgIH0KKyAgfCAnKicgbWF5
YmVfc3BhY2UgeworICAgICAgICAkJCA9ICcqJzsKKyAgICB9CisgIHwgJy0nIG1heWJlX3NwYWNl
IHsKKyAgICAgICAgJCQgPSAnLSc7IAorICAgIH0KICAgfCAvKiBlbXB0eSAqLyB7CiAgICAgICAg
ICQkID0gMDsKLSAgfQotICA7CisgICAgfQorICAgOwogCiB0ZXJtOgogICB1bmFyeV90ZXJtIHsg
JCQgPSAkMTsgfQpJbmRleDogV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCShyZXZpc2lvbiAzNzA0NSkKKysrIFdlYkNvcmUv
Y3NzL0NTU1BhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk4Niw4ICs5ODYsMTAgQEAgYm9v
bCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoaW50IHByb3BJZCwgYgogICAgICAgICAgICAgdmFsaWRf
cHJpbWl0aXZlID0gKCFpZCAmJiB2YWxpZFVuaXQodmFsdWUsIEZMZW5ndGh8RlBlcmNlbnQsIG1f
c3RyaWN0KSk7CiAgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBDU1NQcm9wZXJ0eUhlaWdodDog
ICAgICAgICAgICAgICAvLyA8bGVuZ3RoPiB8IDxwZXJjZW50YWdlPiB8IGF1dG8gfCBpbmhlcml0
Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eVdpZHRoOiAgICAgICAgICAgICAgICAvLyA8bGVuZ3RoPiB8
IDxwZXJjZW50YWdlPiB8IGF1dG8gfCBpbmhlcml0CisgICAgY2FzZSBDU1NQcm9wZXJ0eUhlaWdo
dDogICAgICAgICAgICAgICAvLyA8bGVuZ3RoPiB8IGNhbGMoKSB8IDxwZXJjZW50YWdlPiB8IGF1
dG8gfCBpbmhlcml0CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdpZHRoOiAgICAgICAgICAgICAgICAv
LyA8bGVuZ3RoPiB8IGNhbGMoKSB8IDxwZXJjZW50YWdlPiB8IGF1dG8gfCBpbmhlcml0CisgICAg
ICAgIGlmICh2YWx1ZS0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1ZTo6RnVuY3Rpb24gJiYgZXF1YWxJ
Z25vcmluZ0Nhc2UodmFsdWUtPmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1jYWxjKCIpKQorICAg
ICAgICAgICAgcmV0dXJuIHBhcnNlQ2FsY3VsYXRlZExlbmd0aChwcm9wSWQsIHZhbHVlLCBpbXBv
cnRhbnQpOwogICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVBdXRvIHx8IGlkID09IENTU1ZhbHVl
SW50cmluc2ljIHx8IGlkID09IENTU1ZhbHVlTWluSW50cmluc2ljKQogICAgICAgICAgICAgdmFs
aWRfcHJpbWl0aXZlID0gdHJ1ZTsKICAgICAgICAgZWxzZQpAQCAtMzcyNCw2ICszNzI2LDI0IEBA
IGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUJvcmRlckltYWdlKGludCBwcm8KICAgICAKICAgICByZXR1
cm4gZmFsc2U7CiB9CisgICAgCitib29sIENTU1BhcnNlcjo6cGFyc2VDYWxjdWxhdGVkTGVuZ3Ro
KGludCBwcm9wSWQsIENTU1BhcnNlclZhbHVlICphLCBib29sIGltcG9ydGFudCkKK3sKKyAgICBp
ZiAoYS0+dW5pdCAhPSBDU1NQYXJzZXJWYWx1ZTo6RnVuY3Rpb24pCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAKKyAgICBpZiAoIWVxdWFsSWdub3JpbmdDYXNlKGEtPmZ1bmN0aW9uLT5uYW1l
LCAiLXdlYmtpdC1jYWxjKCIpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgQ1NT
UGFyc2VyVmFsdWVMaXN0KiBhcmdzID0gYS0+ZnVuY3Rpb24tPmFyZ3M7CisgICAgaWYoIWFyZ3Mg
fHwgYXJncy0+c2l6ZSgpID09IDApCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAKKyAgICBS
ZWZQdHI8Q1NTVmFsdWVMaXN0PiBsaXN0ID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVGcm9tUGFyc2Vy
VmFsdWVMaXN0KGFyZ3MpOworICAgIAorICAgIGFkZFByb3BlcnR5KHByb3BJZCwgbGlzdC5yZWxl
YXNlKCksIGltcG9ydGFudCk7CisgICAgcmV0dXJuIHRydWU7ICAgCit9CiAKIGJvb2wgQ1NTUGFy
c2VyOjpwYXJzZUNvdW50ZXIoaW50IHByb3BJZCwgaW50IGRlZmF1bHRWYWx1ZSwgYm9vbCBpbXBv
cnRhbnQpCiB7CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAkocmV2aXNpb24gMzcwNDUpCisrKyBXZWJDb3JlL2Nzcy9D
U1NQYXJzZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjIxLDYgKzIyMSw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgaW50IGxleCgpOwogICAgICAgICAKICAgICBwcml2YXRlOgorICAg
ICAgICBib29sIHBhcnNlQ2FsY3VsYXRlZExlbmd0aChpbnQsIENTU1BhcnNlclZhbHVlKiwgYm9v
bCk7CisKICAgICAgICAgdm9pZCBjbGVhclByb3BlcnRpZXMoKTsKIAogICAgICAgICB2b2lkIHNl
dHVwUGFyc2VyKGNvbnN0IGNoYXIqIHByZWZpeCwgY29uc3QgU3RyaW5nJiwgY29uc3QgY2hhciog
c3VmZml4KTsKSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAJKHJldmlzaW9uIDM3MDQ1
KQorKysgV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xNzQsNiArMTc0LDcgQEAgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKGNv
bgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgUmVsYXRpdmU6CiAgICAgICAgIGNh
c2UgU3RhdGljOgorICAgICAgICBjYXNlIENhbGN1bGF0ZWQ6IC8vWFhYIGlzIHRoaXMgcmlnaHQ/
CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgIGJyZWFrOwog
ICAgIH0KSW5kZXg6IFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCShyZXZpc2lvbiAzNzA0NSkKKysr
IFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjkw
LDYgKzMyOTAsMTAgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KGludAog
ICAgICAgICAgICAgICAgIGwgPSBMZW5ndGgoTWluSW50cmluc2ljKTsKICAgICAgICAgICAgICAg
ICBhcHBseSA9IHRydWU7CiAgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIGlmICh2YWx1
ZS0+aXNWYWx1ZUxpc3QoKSkgeworICAgICAgICAgICAgICAgIGwgPSBMZW5ndGgoc3RhdGljX2Nh
c3Q8Q1NTVmFsdWVMaXN0Kj4odmFsdWUpLCBtX3N0eWxlKTsKKyAgICAgICAgICAgICAgICBhcHBs
eSA9IHRydWU7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgaWYgKGlkICE9IENT
U1Byb3BlcnR5TWF4V2lkdGggJiYgcHJpbWl0aXZlVmFsdWUgJiYgcHJpbWl0aXZlVmFsdWUtPmdl
dElkZW50KCkgPT0gQ1NTVmFsdWVBdXRvKQogICAgICAgICAgICAgYXBwbHkgPSB0cnVlOwpJbmRl
eDogV2ViQ29yZS9yZW5kZXJpbmcvTGVuZ3RoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Jl
bmRlcmluZy9MZW5ndGguY3BwCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvTGVu
Z3RoLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyMTQgQEAKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJMZW5ndGguaCIKKyNpbmNsdWRlICJDU1NWYWx1ZUxpc3QuaCIKKyNpbmNs
dWRlICJDU1NQcmltaXRpdmVWYWx1ZS5oIgorI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCisjaW5j
bHVkZSA8d3RmL0hhc2hGdW5jdGlvbnMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisvL1RP
RE86IGNvcHktcGFzdGUgZnJvbSBDU1NTdHlsZVNlbGVjdG9yLmNwcAorc3RhdGljIExlbmd0aCBj
b252ZXJ0VG9MZW5ndGgoQ1NTUHJpbWl0aXZlVmFsdWUgKnByaW1pdGl2ZVZhbHVlLCBSZW5kZXJT
dHlsZSAqc3R5bGUsIGJvb2wgKm9rID0gMCkKK3sKKyAgICBMZW5ndGggbDsKKyAgICBpZiAoIXBy
aW1pdGl2ZVZhbHVlKSB7CisgICAgICAgIGlmIChvaykKKyAgICAgICAgICAgICpvayA9IGZhbHNl
OworICAgIH0gZWxzZSB7CisgICAgICAgIGludCB0eXBlID0gcHJpbWl0aXZlVmFsdWUtPnByaW1p
dGl2ZVR5cGUoKTsKKyAgICAgICAgaWYgKHR5cGUgPiBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BF
UkNFTlRBR0UgJiYgdHlwZSA8IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfREVHKQorICAgICAgICAg
ICAgbCA9IExlbmd0aChwcmltaXRpdmVWYWx1ZS0+Y29tcHV0ZUxlbmd0aEludEZvckxlbmd0aChz
dHlsZSksIEZpeGVkKTsKKyAgICAgICAgZWxzZSBpZiAodHlwZSA9PSBDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTX1BFUkNFTlRBR0UpCisgICAgICAgICAgICBsID0gTGVuZ3RoKHByaW1pdGl2ZVZhbHVl
LT5nZXREb3VibGVWYWx1ZSgpLCBQZXJjZW50KTsKKyAgICAgICAgZWxzZSBpZiAodHlwZSA9PSBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUikKKyAgICAgICAgICAgIGwgPSBMZW5ndGgocHJp
bWl0aXZlVmFsdWUtPmdldERvdWJsZVZhbHVlKCkgKiAxMDAuMCwgUGVyY2VudCk7CisgICAgICAg
IGVsc2UgaWYgKG9rKQorICAgICAgICAgICAgKm9rID0gZmFsc2U7CisgICAgfQorICAgIHJldHVy
biBsOworfQorCitzdHJ1Y3QgQ2FsY3VsYXRlZExlbmd0aFRva2VuIHsKKyAgICBDYWxjdWxhdGVk
TGVuZ3RoVG9rZW4oQ1NTVmFsdWUqIHRva2VuKSAKKyAgICAgICAgOm1fdG9rZW4odG9rZW4pLAor
ICAgICAgICAgaXNPcGVyYXRvcihmYWxzZSksCisgICAgICAgICBpc051bWJlcihmYWxzZSkKKyAg
ICB7CisgICAgICAgIGlmIChtX3Rva2VuLT5pc1ByaW1pdGl2ZVZhbHVlKCkpCisgICAgICAgIHsK
KyAgICAgICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBwcmltID0gc3RhdGljX2Nhc3Q8Q1NTUHJp
bWl0aXZlVmFsdWUqPihtX3Rva2VuKTsKKyAgICAgICAgICAgIHN3aXRjaCAocHJpbS0+cHJpbWl0
aXZlVHlwZSgpKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGNhc2UgQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU19QQVJTRVJfT1BFUkFUT1I6CisgICAgICAgICAgICAgICAgICAgIGlzT3Bl
cmF0b3IgPSB0cnVlOworICAgICAgICAgICAgICAgICAgICBvID0gc3RhdGljX2Nhc3Q8Y2hhcj4o
bV90b2tlbi0+cGFyc2VyVmFsdWUoKS5pVmFsdWUpOworICAgICAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgICAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEFSU0VSX0lO
VEVHRVI6CisgICAgICAgICAgICAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJF
UjoKKyAgICAgICAgICAgICAgICAgICAgaXNOdW1iZXIgPSB0cnVlOworICAgICAgICAgICAgICAg
ICAgICBuID0gcHJpbS0+Z2V0RmxvYXRWYWx1ZSgpOworICAgICAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICB9CisgICAgfQorICAgICAgICAK
KyAgICBMZW5ndGggcGFyc2UgKFJlbmRlclN0eWxlKiBzKQorICAgIHsKKyAgICAgICAgLy9UT0RP
OiBhc3NlcnQgaXNQcmltaXRpdmVWYWx1ZSgpPworICAgICAgICBpZiAoIW1fdG9rZW4tPmlzUHJp
bWl0aXZlVmFsdWUoKSB8fCBpc09wZXJhdG9yKSB7CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgYm9vbCBvazsKKworICAgICAg
ICBMZW5ndGggbCA9IGNvbnZlcnRUb0xlbmd0aChzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1
ZSo+KG1fdG9rZW4pLCBzLCAmb2spOworCisgICAgICAgIHJldHVybiBsOworICAgIH0KKworICAg
IHVuc2lnbmVkIHByZWNlZGVuY2UoKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKCFpc09wZXJh
dG9yKQorICAgICAgICAgICAgcmV0dXJuIC0xOworCisgICAgICAgIGlmKG8gPT0gJysnIHx8IG8g
PT0gJy0nKQorICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IHJldHVybiAyOworICAgICAgICAKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
ICAgIHJldHVybiAwOworICAgIH0KKyAgICBDU1NWYWx1ZSAqbV90b2tlbjsKKyAgICBjaGFyIG87
CisgICAgZmxvYXQgbjsKKyAgICBib29sIGlzT3BlcmF0b3I7CisgICAgYm9vbCBpc051bWJlcjsK
K307CisgICAgCitzdHJ1Y3QgQ2FsY3VsYXRlZExlbmd0aERhdGEgeworICAgIENhbGN1bGF0ZWRM
ZW5ndGhEYXRhKENTU1ZhbHVlTGlzdCogdG9rZW5zLCBSZW5kZXJTdHlsZSogcykKKyAgICAgICAg
Om1fc3R5bGUocykKKyAgICB7CisgICAgICAgIG1fdG9rZW5zLnJlc2VydmVDYXBhY2l0eSh0b2tl
bnMtPmxlbmd0aCgpKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHRva2Vucy0+
bGVuZ3RoKCk7IGkrKykKKyAgICAgICAgeworICAgICAgICAgICAgLy9UT0RPOiBsZWFrcyBsaWtl
IGEgc2lldmU/CisgICAgICAgICAgICBtX3Rva2Vucy5hcHBlbmQobmV3IENhbGN1bGF0ZWRMZW5n
dGhUb2tlbih0b2tlbnMtPml0ZW0oaSkpKTsKKyAgICAgICAgfQorICAgIH0KKyAgICAKKyAgICB0
eXBlZGVmIEhhc2hNYXA8aW50LCBDYWxjdWxhdGVkTGVuZ3RoRGF0YSo+IENhbGN1bGF0ZWRMZW5n
dGhEYXRhTWFwOworCisgICAgc3RhdGljIENhbGN1bGF0ZWRMZW5ndGhEYXRhTWFwKiBjYWxjdWxh
dGVkTGVuZ3RoRGF0YU1hcCgpCisgICAgeworICAgICAgICBzdGF0aWMgQ2FsY3VsYXRlZExlbmd0
aERhdGFNYXAqIGRhdGFNYXAgPSBuZXcgQ2FsY3VsYXRlZExlbmd0aERhdGFNYXA7CisgICAgICAg
IHJldHVybiBkYXRhTWFwOworICAgIH0KKyAgICAKKyAgICBmbG9hdCB2YWx1ZShpbnQgbWF4VmFs
dWUsIGJvb2wgcm91bmRQZXJjZW50YWdlcykKKyAgICB7CisgICAgICAgIG1fbWF4VmFsdWUgPSBt
YXhWYWx1ZTsKKyAgICAgICAgbV9yb3VuZFBlcmNlbnRhZ2VzID0gcm91bmRQZXJjZW50YWdlczsK
KyAgICAgICAgZmxvYXQgbGhzID0gMDsKKyAgICAgICAgQ2FsY3VsYXRlZExlbmd0aFRva2VuKiBp
bml0aWFsID0gbV90b2tlbnMuYXQoMCk7CisgICAgICAgIGlmIChpbml0aWFsLT5pc051bWJlcikK
KyAgICAgICAgICAgIGxocyA9IGluaXRpYWwtPm47CisgICAgICAgIGVsc2UgaWYgKGluaXRpYWwt
PmlzT3BlcmF0b3IpIHsKKyAgICAgICAgICAgIC8vdWggb2gKKyAgICAgICAgfQorICAgICAgICBl
bHNlCisgICAgICAgICAgICBsaHMgPSBpbml0aWFsLT5wYXJzZShtX3N0eWxlKS5jYWxjVmFsdWUo
bV9tYXhWYWx1ZSwgbV9yb3VuZFBlcmNlbnRhZ2VzKTsKKyAgICAgICAgcmV0dXJuIGV2YWx1YXRl
KGxocywgbV90b2tlbnMuYmVnaW4oKSwgMCk7IC8vVE9ETzogdXNlIGNhbGNNaW5WYWx1ZSwgY2Fs
Y0Zsb2F0VmFsdWUgYXMgYXBwcm9wcmlhdGUKKyAgICB9CisKKyAgICBWZWN0b3I8Q2FsY3VsYXRl
ZExlbmd0aFRva2VuKj4gbV90b2tlbnM7CisgICAgTGVuZ3RoIG1fY2FjaGVkUGl4ZWxMZW5ndGg7
CisgICAgUmVuZGVyU3R5bGUqIG1fc3R5bGU7CisgICAgaW50IG1fbWF4VmFsdWU7CisgICAgYm9v
bCBtX3JvdW5kUGVyY2VudGFnZXM7Citwcml2YXRlOgorICAgIGZsb2F0IGV2YWx1YXRlT3AoZmxv
YXQgbGhzVmFsLCBDYWxjdWxhdGVkTGVuZ3RoVG9rZW4qIG9wLCBDYWxjdWxhdGVkTGVuZ3RoVG9r
ZW4qIHJocykgY29uc3QKKyAgICB7CisgICAgICAgIGlmICghb3AtPmlzT3BlcmF0b3IpeworICAg
ICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIH0KKyAgICAgICAgCisgICAg
ICAgIGZsb2F0IHJoc1ZhbCA9IHJocy0+aXNOdW1iZXIgPyByaHMtPm4gOiByaHMtPnBhcnNlKG1f
c3R5bGUpLmNhbGNWYWx1ZShtX21heFZhbHVlLCBtX3JvdW5kUGVyY2VudGFnZXMpOworICAgICAg
ICAKKyAgICAgICAgaWYgKG9wLT5vID09ICcrJykKKyAgICAgICAgICAgIHJldHVybiBsaHNWYWwg
KyByaHNWYWw7IAorICAgICAgICBlbHNlIGlmIChvcC0+byA9PSAnLScpCisgICAgICAgICAgICBy
ZXR1cm4gbGhzVmFsIC0gcmhzVmFsOyAKKyAgICAgICAgZWxzZSBpZiAob3AtPm8gPT0gJyonKQor
ICAgICAgICAgICAgcmV0dXJuIGxoc1ZhbCAqIHJoc1ZhbDsgCisgICAgICAgIGVsc2UgaWYgKG9w
LT5vID09ICcvJykKKyAgICAgICAgICAgIHJldHVybiBsaHNWYWwgLyByaHNWYWw7IAorICAgLy8g
ICAgZWxzZSBpZiAob3AtPm8gPT0gIm1vZCIpIC8vVE9ETzogc2hvdWxkIGJlIGNhc2UgaW5zZW5z
aXRpdmUKKyAgICAgLy8gICAgICAgcmV0dXJuIGxoc1ZhbCAlIHJoc1ZhbDsgCisgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgCisgICAg
ZmxvYXQgZXZhbHVhdGUgKGZsb2F0IGFjYywgVmVjdG9yPENhbGN1bGF0ZWRMZW5ndGhUb2tlbio+
OjppdGVyYXRvciBpdGVyLCB1bnNpZ25lZCBtaW5QcmVjZWRlbmNlKSBjb25zdAorICAgIHsKKyAg
ICAgICAgaXRlcisrOworICAgICAgICAvL1RPRE86IGNhbGN1bGF0ZSBtaW5QcmVjIGhlcmUgaW5z
dGVhZCBvZiBwYXNzaW5nIGl0PworICAgICAgICBDYWxjdWxhdGVkTGVuZ3RoVG9rZW4qIG9wOwor
ICAgICAgICAKKyAgICAgICAgd2hpbGUgKGl0ZXIgIT0gbV90b2tlbnMuZW5kKCkgJiYgKG9wID0g
KihpdGVyKyspKSAmJiBvcC0+cHJlY2VkZW5jZSgpID49IG1pblByZWNlZGVuY2UpCisgICAgICAg
IHsKKyAgICAgICAgICAgIENhbGN1bGF0ZWRMZW5ndGhUb2tlbiogcmhzID0gKihpdGVyKyspOyAv
L1RPRE86IGl0ZXJhdG9yIHNhZmV0eT8KKyAgICAgICAgICAgIHdoaWxlIChpdGVyICE9IG1fdG9r
ZW5zLmVuZCgpICYmICgqaXRlciktPnByZWNlZGVuY2UoKSA+IG9wLT5wcmVjZWRlbmNlKCkpCisg
ICAgICAgICAgICAgICAgYWNjID0gZXZhbHVhdGUoYWNjLCBpdGVyLCAoKml0ZXIpLT5wcmVjZWRl
bmNlKCkpOworICAgICAgICAgICAgCisgICAgICAgICAgICBhY2MgPSBldmFsdWF0ZU9wKGFjYywg
b3AsIHJocyk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGFjYzsKKyAgICB9Cit9OworCitM
ZW5ndGg6Okxlbmd0aChDU1NWYWx1ZUxpc3QqIHRva2VucywgUmVuZGVyU3R5bGUqIHN0eWxlKQor
ICAgIDptX3ZhbHVlKFdURjo6UHRySGFzaDxDU1NWYWx1ZUxpc3QqPjo6aGFzaCh0b2tlbnMpIHwg
Q2FsY3VsYXRlZCkKK3sKKyAgICAvL1RPRE86IHV1dXV1Z2x5CisgICAgQ2FsY3VsYXRlZExlbmd0
aERhdGE6OkNhbGN1bGF0ZWRMZW5ndGhEYXRhTWFwKiBkYXRhTWFwID0gQ2FsY3VsYXRlZExlbmd0
aERhdGE6OmNhbGN1bGF0ZWRMZW5ndGhEYXRhTWFwKCk7CisgICAgQ2FsY3VsYXRlZExlbmd0aERh
dGEqIGRhdGEgPSBuZXcgQ2FsY3VsYXRlZExlbmd0aERhdGEodG9rZW5zLCBzdHlsZSk7CisgICAg
ZGF0YU1hcC0+c2V0KG1fdmFsdWUsIGRhdGEpOworfQorLyoKK2Jvb2wgTGVuZ3RoOjpjYWxjdWxh
dGVkSXNaZXJvKCkgY29uc3QKK3sKKyAgICByZXR1cm4gY2FsY3VsYXRlZENhbGNWYWx1ZSgpID09
IDA7Cit9Citib29sIExlbmd0aDo6Y2FsY3VsYXRlZElzUG9zaXRpdmUoKSBjb25zdAoreworICAg
IHJldHVybiBjYWxjdWxhdGVkQ2FsY1ZhbHVlKCkgPiAwOworfQorYm9vbCBMZW5ndGg6OmNhbGN1
bGF0ZWRJc05lZ2F0aXZlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gY2FsY3VsYXRlZENhbGNWYWx1
ZSgpIDwgMDsKK30qLworICAgIAorZmxvYXQgTGVuZ3RoOjpjYWxjdWxhdGVkQ2FsY1ZhbHVlKGlu
dCBtYXhWYWx1ZSwgYm9vbCByb3VuZFBlcmNlbnRhZ2VzID0gZmFsc2UpIGNvbnN0Cit7CisgICAg
Q2FsY3VsYXRlZExlbmd0aERhdGEqIGRhdGEgPSBDYWxjdWxhdGVkTGVuZ3RoRGF0YTo6Y2FsY3Vs
YXRlZExlbmd0aERhdGFNYXAoKS0+Z2V0KG1fdmFsdWUpOworICAgIHJldHVybiBkYXRhLT52YWx1
ZShtYXhWYWx1ZSwgcm91bmRQZXJjZW50YWdlcyk7Cit9CisKK2Zsb2F0IExlbmd0aDo6Y2FsY3Vs
YXRlZENhbGNNaW5WYWx1ZShpbnQgbWF4VmFsdWUsIGJvb2wgcm91bmRQZXJjZW50YWdlcyA9IGZh
bHNlKSBjb25zdAoreworICAgIENhbGN1bGF0ZWRMZW5ndGhEYXRhKiBkYXRhID0gQ2FsY3VsYXRl
ZExlbmd0aERhdGE6OmNhbGN1bGF0ZWRMZW5ndGhEYXRhTWFwKCktPmdldChtX3ZhbHVlKTsKKyAg
ICByZXR1cm4gZGF0YS0+dmFsdWUobWF4VmFsdWUsIHJvdW5kUGVyY2VudGFnZXMpOworfQorICAg
IAorZmxvYXQgTGVuZ3RoOjpjYWxjdWxhdGVkQ2FsY0Zsb2F0VmFsdWUoaW50IG1heFZhbHVlKSBj
b25zdAoreworICAgIENhbGN1bGF0ZWRMZW5ndGhEYXRhKiBkYXRhID0gQ2FsY3VsYXRlZExlbmd0
aERhdGE6OmNhbGN1bGF0ZWRMZW5ndGhEYXRhTWFwKCktPmdldChtX3ZhbHVlKTsKKyAgICByZXR1
cm4gZGF0YS0+dmFsdWUobWF4VmFsdWUsIGZhbHNlKTsKK30KKworfQpJbmRleDogV2ViQ29yZS9y
ZW5kZXJpbmcvTGVuZ3RoLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvTGVuZ3Ro
LmgJKHJldmlzaW9uIDM3MDQ1KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvTGVuZ3RoLmgJKHdvcmtp
bmcgY29weSkKQEAgLTI1LDEzICsyNSwxNyBAQAogCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMu
aD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY29uc3QgaW50IHVuZGVmaW5lZExlbmd0aCA9IC0x
OwogY29uc3QgaW50IHBlcmNlbnRTY2FsZUZhY3RvciA9IDEyODsKIAotZW51bSBMZW5ndGhUeXBl
IHsgQXV0bywgUmVsYXRpdmUsIFBlcmNlbnQsIEZpeGVkLCBTdGF0aWMsIEludHJpbnNpYywgTWlu
SW50cmluc2ljIH07CitlbnVtIExlbmd0aFR5cGUgeyBBdXRvLCBSZWxhdGl2ZSwgUGVyY2VudCwg
Rml4ZWQsIFN0YXRpYywgSW50cmluc2ljLCBNaW5JbnRyaW5zaWMsIENhbGN1bGF0ZWQgfTsKKyAg
ICAKK2NsYXNzIENTU1ZhbHVlTGlzdDsKK2NsYXNzIFJlbmRlclN0eWxlOwogCiBzdHJ1Y3QgTGVu
Z3RoIHsKICAgICBMZW5ndGgoKQpAQCAtNTUsNiArNTksOCBAQCBzdHJ1Y3QgTGVuZ3RoIHsKICAg
ICB7CiAgICAgICAgIEFTU0VSVCh0ID09IFBlcmNlbnQpOwogICAgIH0KKyAgICAKKyAgICBMZW5n
dGgoQ1NTVmFsdWVMaXN0KiB0b2tlbnMsIFJlbmRlclN0eWxlKiBzdHlsZSk7CiAKICAgICBib29s
IG9wZXJhdG9yPT0oY29uc3QgTGVuZ3RoJiBvKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlID09IG8u
bV92YWx1ZTsgfQogICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBMZW5ndGgmIG8pIGNvbnN0IHsg
cmV0dXJuIG1fdmFsdWUgIT0gby5tX3ZhbHVlOyB9CkBAIC0xMDksNiArMTE1LDggQEAgc3RydWN0
IExlbmd0aCB7CiAgICAgICAgIHN3aXRjaCAodHlwZSgpKSB7CiAgICAgICAgICAgICBjYXNlIEZp
eGVkOgogICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZSgpOworICAgICAgICAgICAgY2FzZSBD
YWxjdWxhdGVkOgorICAgICAgICAgICAgICAgIHJldHVybiBjYWxjdWxhdGVkQ2FsY1ZhbHVlKG1h
eFZhbHVlLCByb3VuZFBlcmNlbnRhZ2VzKTsKICAgICAgICAgICAgIGNhc2UgUGVyY2VudDoKICAg
ICAgICAgICAgICAgICBpZiAocm91bmRQZXJjZW50YWdlcykKICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PGludD4ocm91bmQobWF4VmFsdWUgKiBwZXJjZW50KCkgLyAxMDAu
MCkpOwpAQCAtMTI1LDYgKzEzMyw4IEBAIHN0cnVjdCBMZW5ndGggewogICAgICAgICBzd2l0Y2gg
KHR5cGUoKSkgewogICAgICAgICAgICAgY2FzZSBGaXhlZDoKICAgICAgICAgICAgICAgICByZXR1
cm4gdmFsdWUoKTsKKyAgICAgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKKyAgICAgICAgICAgICAg
ICByZXR1cm4gY2FsY3VsYXRlZENhbGNNaW5WYWx1ZShtYXhWYWx1ZSwgcm91bmRQZXJjZW50YWdl
cyk7CiAgICAgICAgICAgICBjYXNlIFBlcmNlbnQ6CiAgICAgICAgICAgICAgICAgaWYgKHJvdW5k
UGVyY2VudGFnZXMpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+
KHJvdW5kKG1heFZhbHVlICogcGVyY2VudCgpIC8gMTAwLjApKTsKQEAgLTE0MCw2ICsxNTAsOCBA
QCBzdHJ1Y3QgTGVuZ3RoIHsKICAgICAgICAgc3dpdGNoICh0eXBlKCkpIHsKICAgICAgICAgICAg
IGNhc2UgRml4ZWQ6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGZsb2F0Pih2
YWx1ZSgpKTsKKyAgICAgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gY2FsY3VsYXRlZENhbGNGbG9hdFZhbHVlKG1heFZhbHVlKTsKICAgICAgICAgICAgIGNh
c2UgUGVyY2VudDoKICAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1h
eFZhbHVlICogcGVyY2VudCgpIC8gMTAwLjApOwogICAgICAgICAgICAgY2FzZSBBdXRvOgpAQCAt
MTUwLDEwICsxNjIsMjYgQEAgc3RydWN0IExlbmd0aCB7CiAgICAgfQogCiAgICAgYm9vbCBpc1Vu
ZGVmaW5lZCgpIGNvbnN0IHsgcmV0dXJuIHJhd1ZhbHVlKCkgPT0gdW5kZWZpbmVkTGVuZ3RoOyB9
Ci0gICAgYm9vbCBpc1plcm8oKSBjb25zdCB7IHJldHVybiAhKG1fdmFsdWUgJiB+MHhGKTsgfQot
ICAgIGJvb2wgaXNQb3NpdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIHJhd1ZhbHVlKCkgPiAwOyB9Ci0g
ICAgYm9vbCBpc05lZ2F0aXZlKCkgY29uc3QgeyByZXR1cm4gcmF3VmFsdWUoKSA8IDA7IH0KKyAg
ICBib29sIGlzWmVybygpIGNvbnN0IAorICAgIHsgCisgICAgICAgIGlmIChpc0NhbGN1bGF0ZWQo
KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsvL2NhbGN1bGF0ZWRJc1plcm8oKTsgVE9ETzog
d3RmIHRvIGRvIGFib3V0IHRoaXMKKyAgICAgICAgcmV0dXJuICEobV92YWx1ZSAmIH4weEYpOyAK
KyAgICB9CisgICAgYm9vbCBpc1Bvc2l0aXZlKCkgY29uc3QgCisgICAgeworICAgICAgICBpZiAo
aXNDYWxjdWxhdGVkKCkpIAorICAgICAgICAgICAgcmV0dXJuIHRydWU7Ly9jYWxjdWxhdGVkSXNQ
b3NpdGl2ZSgpOyBUT0RPOiB3dGYgdG8gZG8gYWJvdXQgdGhpcworICAgICAgICByZXR1cm4gcmF3
VmFsdWUoKSA+IDA7IAorICAgIH0KKyAgICBib29sIGlzTmVnYXRpdmUoKSBjb25zdCAKKyAgICB7
IAorICAgICAgICBpZiAoaXNDYWxjdWxhdGVkKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
IC8vIGNhbGN1bGF0ZWRJc05lZ2F0aXZlKCk7IFRPRE86IHd0ZiB0byBkbyBhYm91dCB0aGlzCisg
ICAgICAgIHJldHVybiByYXdWYWx1ZSgpIDwgMDsgCisgICAgfQogCisgICAgYm9vbCBpc0NhbGN1
bGF0ZWQoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gQ2FsY3VsYXRlZDsgfQogICAgIGJvb2wg
aXNBdXRvKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IEF1dG87IH0KICAgICBib29sIGlzUmVs
YXRpdmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gUmVsYXRpdmU7IH0KICAgICBib29sIGlz
UGVyY2VudCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBQZXJjZW50OyB9CkBAIC0xODYsNiAr
MjE0LDE0IEBAIHN0cnVjdCBMZW5ndGggewogICAgIH0KICAgICAKIHByaXZhdGU6CisgICAgCisg
ICAvLyBib29sIGNhbGN1bGF0ZWRJc1plcm8oKSBjb25zdDsKKyAgIC8vIGJvb2wgY2FsY3VsYXRl
ZElzUG9zaXRpdmUoKSBjb25zdDsKKyAgIC8vIGJvb2wgY2FsY3VsYXRlZElzTmVnYXRpdmUoKSBj
b25zdDsKKyAgICBmbG9hdCBjYWxjdWxhdGVkQ2FsY1ZhbHVlKGludCBtYXhWYWx1ZSwgYm9vbCBy
b3VuZFBlcmNlbnRhZ2VzKSBjb25zdDsKKyAgICBmbG9hdCBjYWxjdWxhdGVkQ2FsY01pblZhbHVl
KGludCBtYXhWYWx1ZSwgYm9vbCByb3VuZFBlcmNlbnRhZ2VzKSBjb25zdDsKKyAgICBmbG9hdCBj
YWxjdWxhdGVkQ2FsY0Zsb2F0VmFsdWUoaW50IG1heFZhbHVlKSBjb25zdDsKKwogICAgIGludCBt
X3ZhbHVlOwogfTsKIApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAkocmV2aXNpb24g
MzcwNDUpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQzOSw2ICs0MzksNyBAQCBib29sIFJlbmRlckltYWdlOjppc1dpZHRoU3BlY2lmaWVk
KCkgY29uCiAgICAgc3dpdGNoIChzdHlsZSgpLT53aWR0aCgpLnR5cGUoKSkgewogICAgICAgICBj
YXNlIEZpeGVkOgogICAgICAgICBjYXNlIFBlcmNlbnQ6CisgICAgICAgIGNhc2UgQ2FsY3VsYXRl
ZDogLy8gRklYTUUgaXMgdGhpcyByaWdodD8KICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAg
ICAgICBjYXNlIEF1dG86CiAgICAgICAgIGNhc2UgUmVsYXRpdmU6IC8vIEZJWE1FOiBTaG91bGRu
J3QgdGhpcyBjYXNlIHJldHVybiB0cnVlPwpAQCAtNDU2LDYgKzQ1Nyw3IEBAIGJvb2wgUmVuZGVy
SW1hZ2U6OmlzSGVpZ2h0U3BlY2lmaWVkKCkgY28KICAgICBzd2l0Y2ggKHN0eWxlKCktPmhlaWdo
dCgpLnR5cGUoKSkgewogICAgICAgICBjYXNlIEZpeGVkOgogICAgICAgICBjYXNlIFBlcmNlbnQ6
CisgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDogLy9GSVhNRTogaXMgdGhpcyByaWdodD8KICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBjYXNlIEF1dG86CiAgICAgICAgIGNhc2UgUmVs
YXRpdmU6IC8vIEZJWE1FOiBTaG91bGRuJ3QgdGhpcyBjYXNlIHJldHVybiB0cnVlPwpJbmRleDog
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAkocmV2aXNpb24gMzcwNDUpCisrKyBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJWaWRlby5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzOSw2ICsxMzksNyBA
QCBib29sIFJlbmRlclZpZGVvOjppc1dpZHRoU3BlY2lmaWVkKCkgY29uCiAgICAgc3dpdGNoIChz
dHlsZSgpLT53aWR0aCgpLnR5cGUoKSkgewogICAgICAgICBjYXNlIEZpeGVkOgogICAgICAgICBj
YXNlIFBlcmNlbnQ6CisgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDogLy9GSVhNRSBpcyB0aGlzIHJp
Z2h0PwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGNhc2UgQXV0bzoKICAgICAg
ICAgY2FzZSBSZWxhdGl2ZTogLy8gRklYTUU6IFNob3VsZG4ndCB0aGlzIGNhc2UgcmV0dXJuIHRy
dWU/IEl0IGRvZXNuJ3QgZm9yIGltYWdlcy4KQEAgLTE1Niw2ICsxNTcsNyBAQCBib29sIFJlbmRl
clZpZGVvOjppc0hlaWdodFNwZWNpZmllZCgpIGNvCiAgICAgc3dpdGNoIChzdHlsZSgpLT5oZWln
aHQoKS50eXBlKCkpIHsKICAgICAgICAgY2FzZSBGaXhlZDoKICAgICAgICAgY2FzZSBQZXJjZW50
OgorICAgICAgICBjYXNlIENhbGN1bGF0ZWQ6IC8vRklYTUUgaXMgdGhpcyByaWdodD8KICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBjYXNlIEF1dG86CiAgICAgICAgIGNhc2UgUmVs
YXRpdmU6IC8vIEZJWE1FOiBTaG91bGRuJ3QgdGhpcyBjYXNlIHJldHVybiB0cnVlPyBJdCBkb2Vz
bid0IGZvciBpbWFnZXMuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47600</attachid>
            <date>2010-01-28 02:22:43 -0800</date>
            <delta_ts>2010-02-05 21:05:08 -0800</delta_ts>
            <desc>full patch</desc>
            <filename>bug-16662-20100128022241.patch</filename>
            <type>text/plain</type>
            <size>60566</size>
            <attacher name="Shinichiro Hamaji">hamaji</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0NDNkNDM4Li5lMWVkMTMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDEt
MjggIFNoaW5pY2hpcm8gSGFtYWppICA8aGFtYWppQGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDU1MzOiBJbXBsZW1lbnQgY2Fs
YygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjY2
MgorCisgICAgICAgICogZmFzdC9jc3MvY2FsYy9jYWxjLWVycm9ycy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2NhbGMvY2FsYy1lcnJvcnMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9jc3MvY2FsYy9zaW1wbGUtY2FsY3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2Nzcy9jYWxjL3NpbXBsZS1jYWxjcy5odG1sOiBBZGRlZC4KKwogMjAx
MC0wMS0yNiAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgSG9sZ2VyIEZyZXl0aGVyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9jc3MvY2FsYy9jYWxjLWVycm9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9jYWxjL2NhbGMtZXJyb3JzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi44MDhlMjQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvY2FsYy9jYWxjLWVycm9ycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAor
QWxsIGJveGVzIGJlbG93IHNob3VsZCBiZSAxMDBweCAqIDEwMHB4IGFuZCBncmVlbi4KKworemVy
byBkaXZpc2lvbiA9PiBQQVNTCitub24gbGVuZ3RoID0+IFBBU1MKK251bWJlciArIGxlbmd0aCA9
PiBQQVNTCitsZW5ndGggLSBudW1iZXIgPT4gUEFTUworbGVuZ3RoICogbGVuZ3RoID0+IFBBU1MK
K251bWJlciAvIGxlbmd0aCA9PiBQQVNTCitudW1iZXIgbW9kIGxlbmd0aCA9PiBQQVNTCittb2Qx
MCA9PiBQQVNTCisxbW9kID0+IFBBU1MKK3RvbyBtYW55IG5lc3RzID0+IFBBU1MKK2VuZCB3aXRo
IG9wZXJhdG9yID0+IFBBU1MKK3N0YXJ0IHdpdGggb3BlcmF0b3IgPT4gUEFTUworbm8gZXhwcmVz
c2lvbnMgPT4gUEFTUwordG9vIG1hbnkgcGx1c2VzID0+IFBBU1MKK25vIGJpbmFyeSBvcGVyYXRv
ciA9PiBQQVNTCit0d28gYmluYXJ5IG9wZXJhdG9ycyA9PiBQQVNTCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy9jYWxjL2NhbGMtZXJyb3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9jYWxjL2NhbGMtZXJyb3JzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uMGIwN2I0OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2Nh
bGMvY2FsYy1lcnJvcnMuaHRtbApAQCAtMCwwICsxLDc2IEBACis8aHRtbD4KKzxoZWFkPgorCis8
c3R5bGU+CisjdGVzdCBkaXYgeworICAgIGhlaWdodDogMTAwcHg7CisgICAgYmFja2dyb3VuZC1j
b2xvcjogcmVkOworfQorPC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCitm
dW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2YXIgdGVzdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0ZXN0Iik7CisgICAgZm9yICh2YXIgZWxlbWVudCA9IHRlc3QuZmlyc3RDaGlsZDsgZWxlbWVu
dDsgZWxlbWVudCA9IGVsZW1lbnQubmV4dFNpYmxpbmcpIHsKKyAgICAgICAgdmFyIHdpZHRoID0g
ZWxlbWVudC5vZmZzZXRXaWR0aDsKKyAgICAgICAgdmFyIGVycm9yID0gW107CisgICAgICAgIGlm
ICh3aWR0aCAhPSAxMDApCisgICAgICAgICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCB3aWR0aCBp
cyAxMDAsIGJ1dCBjb21lcyAiICsgd2lkdGgpOworICAgICAgICB2YXIgaGVpZ2h0ID0gZWxlbWVu
dC5vZmZzZXRIZWlnaHQ7CisgICAgICAgIGlmIChoZWlnaHQgIT0gMTAwKQorICAgICAgICAgICAg
ZXJyb3IucHVzaCgiZXhwZWN0ZWQgaGVpZ2h0IGlzIDEwMCwgYnV0IGNvbWVzICIgKyB3aWR0aCk7
CisKKyAgICAgICAgaWYgKGVycm9yID09ICIiKSB7CisgICAgICAgICAgICBlbGVtZW50LnN0eWxl
LmJhY2tncm91bmRDb2xvciA9ICJncmVlbiI7CisgICAgICAgICAgICBlbGVtZW50LmlubmVySFRN
TCArPSAiID0+IFBBU1MiOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZWxlbWVudC5p
bm5lckhUTUwgKz0gIiA9PiBGQUlMOiAiICsgZXJyb3Iuam9pbigiLCAiKTsKKyAgICAgICAgfQor
ICAgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CisK
KzxwPgorICBBbGwgYm94ZXMgYmVsb3cgc2hvdWxkIGJlIDEwMHB4ICogMTAwcHggYW5kIGdyZWVu
LgorPC9wPgorCis8ZGl2IGlkPSJ0ZXN0Ij4KKworPCEtLSB6ZXJvIGRpdmlzaW9uIC0tPgorPGRp
diBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDFleCAvIDApOyI+emVy
byBkaXZpc2lvbjwvZGl2PgorCis8IS0tIHdyb25nIGNvbWJpbmF0aW9uIC0tPgorPGRpdiBzdHls
ZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDIwMCk7Ij5ub24gbGVuZ3RoPC9k
aXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwKzEw
MHB4KTsiPm51bWJlciArIGxlbmd0aDwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3
aWR0aDogLXdlYmtpdC1jYWxjKDMwMHB4LTEwMCk7Ij5sZW5ndGggLSBudW1iZXI8L2Rpdj4KKzxk
aXYgc3R5bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygxMDBweCoxMDBweCk7
Ij5sZW5ndGggKiBsZW5ndGg8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6
IC13ZWJraXQtY2FsYygxMDAvMTAwcHgpOyI+bnVtYmVyIC8gbGVuZ3RoPC9kaXY+Cis8ZGl2IHN0
eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwIG1vZCAxMDBweCk7Ij5u
dW1iZXIgbW9kIGxlbmd0aDwvZGl2PgorCis8IS0tIG1vZCByZXF1aXJlcyB3aGl0ZXNwYWNlcyBh
cm91bmQgdGhlIG9wZXJhdG9yIC0tPgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDog
LXdlYmtpdC1jYWxjKDEgbW9kMTAgKiAyMDBweCk7Ij5tb2QxMCA8L2Rpdj4KKzxkaXYgc3R5bGU9
IndpZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygxbW9kIDEwICogMjAwcHgpOyI+MW1v
ZDwvZGl2PgorCis8IS0tIHRvbyBtYW55IG5lc3RzIHNob3VsZCBiZSByZWplY3RlZCB0byBhdm9p
ZCBzdGFjayBvdmVyZmxvdyAtLT4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6IC13
ZWJraXQtY2FsYygoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKDIwMHB4KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpOyI+dG9vIG1hbnkg
bmVzdHM8L2Rpdj4KKworPCEtLSBpbnZhbGlkIGZvcm11bGFzIC0tPgorPGRpdiBzdHlsZT0id2lk
dGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDIwMHB4Kik7Ij5lbmQgd2l0aCBvcGVyYXRv
cjwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKCsr
MjAwcHgpOyI+c3RhcnQgd2l0aCBvcGVyYXRvcjwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEw
MHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKCk7Ij5ubyBleHByZXNzaW9uczwvZGl2PgorPGRpdiBz
dHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDEwMHB4KysrMTAwcHgpOyI+
dG9vIG1hbnkgcGx1c2VzPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAt
d2Via2l0LWNhbGMoMjAwcHggMjAwcHgpOyI+bm8gYmluYXJ5IG9wZXJhdG9yPC9kaXY+Cis8ZGl2
IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwcHggKiAqIDIpOyI+
dHdvIGJpbmFyeSBvcGVyYXRvcnM8L2Rpdj4KKworPC9kaXY+CisKKzwvYm9keT4KKworPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY2FsYy9zaW1wbGUtY2FsY3MtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY2FsYy9zaW1wbGUtY2FsY3MtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxMjg4M2YKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9jYWxjL3NpbXBsZS1jYWxjcy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyNiBAQAorQWxsIGJveGVzIGJlbG93IHNob3VsZCBiZSAxMDBw
eCAqIDEwMHB4IGFuZCBncmVlbi4KKworNTBweCs1MHB4ID0+IFBBU1MKKzE1MHB4LTUwcHggPT4g
UEFTUworNTBweCoyID0+IFBBU1MKKzIwMHB4LzIgPT4gUEFTUworMTEwMHB4IG1vZCAxMDAwID0+
IFBBU1MKKzEwMCUvMiAod2hlcmUgMTAwJSBpcyAyMDBweCkgPT4gUEFTUworKDEwMHB4KSA9PiBQ
QVNTCisoNTBweCs1MHB4KSA9PiBQQVNTCisoNTBweCkrNTBweCA9PiBQQVNTCis1MHB4Kyg1MHB4
KSA9PiBQQVNTCis1MHB4ICsgNTBweCA9PiBQQVNTCis1MHB4ICsgMjVweCAqIDIgPT4gUEFTUwor
KDI1cHggKyAyNXB4KSAqIDIgPT4gUEFTUworMiAqIDUwcHggPT4gUEFTUworMiAqIDEwMHB4IC8g
MiA9PiBQQVNTCisxMDBweCAvIDUwcHggKiA1MHB4ID0+IFBBU1MKKzEyIG1vZCAxMCAqIDUwcHgg
PT4gUEFTUworKDFlbSAtIDFlbSkgKyAxMDBweCA9PiBQQVNTCisxMDBweCA9PiBQQVNTCisxMDAl
ICogMiA9PiBQQVNTCis1MHB4Kys1MHB4ID0+IFBBU1MKKy01MHB4KzE1MHB4ID0+IFBBU1MKKy01
MHB4LS0xNTBweCA9PiBQQVNTCisoKCgoKCgoMTAwcHgpKSkpKSkpID0+IFBBU1MKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NhbGMvc2ltcGxlLWNhbGNzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9jYWxjL3NpbXBsZS1jYWxjcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjY5ZmNmOTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9jYWxjL3NpbXBsZS1jYWxjcy5odG1sCkBAIC0wLDAgKzEsODggQEAKKzxodG1sPgor
PGhlYWQ+CisKKzxzdHlsZT4KKyN0ZXN0IGRpdiwgI3Rlc3QgZGl2IGRpdiB7CisgICAgaGVpZ2h0
OiAxMDBweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Cit9CisuaGVpZ2h0LXRlc3Qgewor
ICAgIHdpZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6IDIwMHB4OworfQorPC9zdHlsZT4KKworPHNj
cmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2YXIgdGVz
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7CisgICAgZm9yICh2YXIgY2hpbGQg
PSB0ZXN0LmZpcnN0Q2hpbGQ7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLm5leHRTaWJsaW5nKSB7Cisg
ICAgICAgIHZhciBlbGVtZW50ID0gY2hpbGQ7CisgICAgICAgIGlmIChlbGVtZW50LmNsYXNzTmFt
ZSA9PSAid3JhcHBlciIpIHsKKyAgICAgICAgICAgIGVsZW1lbnQgPSBlbGVtZW50LmZpcnN0Q2hp
bGQ7CisgICAgICAgICAgICB3aGlsZSAoZWxlbWVudC50YWdOYW1lICE9ICJESVYiKSBlbGVtZW50
ID0gZWxlbWVudC5uZXh0U2libGluZzsKKyAgICAgICAgfQorCisgICAgICAgIHZhciB3aWR0aCA9
IGVsZW1lbnQub2Zmc2V0V2lkdGg7CisgICAgICAgIHZhciBlcnJvciA9IFtdOworICAgICAgICBp
ZiAod2lkdGggIT0gMTAwKQorICAgICAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgd2lkdGgg
aXMgMTAwLCBidXQgY29tZXMgIiArIHdpZHRoKTsKKyAgICAgICAgdmFyIGhlaWdodCA9IGVsZW1l
bnQub2Zmc2V0SGVpZ2h0OworICAgICAgICBpZiAoaGVpZ2h0ICE9IDEwMCkKKyAgICAgICAgICAg
IGVycm9yLnB1c2goImV4cGVjdGVkIGhlaWdodCBpcyAxMDAsIGJ1dCBjb21lcyAiICsgd2lkdGgp
OworCisgICAgICAgIGlmIChlcnJvciA9PSAiIikgeworICAgICAgICAgICAgZWxlbWVudC5zdHls
ZS5iYWNrZ3JvdW5kQ29sb3IgPSAiZ3JlZW4iOworICAgICAgICAgICAgZWxlbWVudC5pbm5lckhU
TUwgKz0gIiA9PiBQQVNTIjsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBlbGVtZW50Lmlu
bmVySFRNTCArPSAiID0+IEZBSUw6ICIgKyBlcnJvci5qb2luKCIsICIpOworICAgIH0KK30KKzwv
c2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CisKKzxwPgorICBBbGwg
Ym94ZXMgYmVsb3cgc2hvdWxkIGJlIDEwMHB4ICogMTAwcHggYW5kIGdyZWVuLgorPC9wPgorCis8
ZGl2IGlkPSJ0ZXN0Ij4KKworPGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYyg1MHB4KzUw
cHgpOyI+NTBweCs1MHB4PC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDE1
MHB4LTUwcHgpOyI+MTUwcHgtNTBweDwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQt
Y2FsYyg1MHB4KjIpOyI+NTBweCoyPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1j
YWxjKDIwMHB4LzIpOyI+MjAwcHgvMjwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQt
Y2FsYygxMTAwcHggbW9kIDEwMDApOyI+MTEwMHB4IG1vZCAxMDAwPC9kaXY+Cis8ZGl2IHN0eWxl
PSJ3aWR0aDogMjAwcHg7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyIgY2xhc3M9IndyYXBwZXIi
PgorICA8ZGl2IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDEwMCUvMik7Ij4xMDAlLzIgKHdo
ZXJlIDEwMCUgaXMgMjAwcHgpPC9kaXY+Cis8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAtd2Vi
a2l0LWNhbGMoKDEwMHB4KSk7Ij4oMTAwcHgpPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogLXdl
YmtpdC1jYWxjKCg1MHB4KzUwcHgpKTsiPig1MHB4KzUwcHgpPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3
aWR0aDogLXdlYmtpdC1jYWxjKCg1MHB4KSs1MHB4KTsiPig1MHB4KSs1MHB4PC9kaXY+Cis8ZGl2
IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDUwcHgrKDUwcHgpKTsiPjUwcHgrKDUwcHgpPC9k
aXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKCA1MHB4ICsgIDUwcHggKTsiPiA1
MHB4ICsgIDUwcHggPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKCA1MHB4
ICsgMjVweCAqIDIgKTsiPiA1MHB4ICsgMjVweCAqIDIgPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0
aDogLXdlYmtpdC1jYWxjKCAoMjVweCArIDI1cHgpICogMiApOyI+ICgyNXB4ICsgMjVweCkgKiAy
IDwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygyICogNTBweCk7Ij4yICog
NTBweDwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygyICogMTAwcHggLyAy
KTsiPjIgKiAxMDBweCAvIDI8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMo
MTAwcHggLyA1MHB4ICogNTBweCk7Ij4xMDBweCAvIDUwcHggKiA1MHB4PC9kaXY+Cis8ZGl2IHN0
eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDEyIG1vZCAxMCAqIDUwcHgpOyI+MTIgbW9kIDEwICog
NTBweDwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygoMWVtIC0gMWVtKSAr
IDEwMHB4KTsiPigxZW0gLSAxZW0pICsgMTAwcHg8L2Rpdj4KKzxkaXYgc3R5bGU9ImhlaWdodDog
LXdlYmtpdC1jYWxjKDEwMHB4KTsiIGNsYXNzPSJoZWlnaHQtdGVzdCI+MTAwcHg8L2Rpdj4KKzxk
aXYgc3R5bGU9ImhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IiBjbGFzcz0i
d3JhcHBlciI+CisgIDxkaXYgc3R5bGU9ImhlaWdodDogLXdlYmtpdC1jYWxjKDEwMCUgKiAyKTsi
IGNsYXNzPSJoZWlnaHQtdGVzdCI+MTAwJSAqIDI8L2Rpdj4KKzwvZGl2PgorPGRpdiBzdHlsZT0i
d2lkdGg6IC13ZWJraXQtY2FsYyg1MHB4Kys1MHB4KTsiPjUwcHgrKzUwcHg8L2Rpdj4KKzxkaXYg
c3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoLTUwcHgrMTUwcHgpOyI+LTUwcHgrMTUwcHg8L2Rp
dj4KKzxkaXYgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoLTUwcHgtLTE1MHB4KTsiPi01MHB4
LS0xNTBweDwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygoKCgoKCgoMTAw
cHgpKSkpKSkpKTsiPigoKCgoKCgxMDBweCkpKSkpKSk8L2Rpdj4KKworPC9kaXY+CisKKzwvYm9k
eT4KKworPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0NDdkNGU1Li4wN2Q3YmVkIDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk5IEBACisyMDEwLTAxLTI4
ICBTaGluaWNoaXJvIEhhbWFqaSAgPGhhbWFqaUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ1NTMzogSW1wbGVtZW50IGNhbGMo
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2NjIK
KworICAgICAgICBUZXN0czogZmFzdC9jc3MvY2FsYy9jYWxjLWVycm9ycy5odG1sCisgICAgICAg
ICAgICAgICBmYXN0L2Nzcy9jYWxjL3NpbXBsZS1jYWxjcy5odG1sCisKKyAgICAgICAgKiBHTlVt
YWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogY3NzL0NTU0NhbGNWYWx1ZS5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpDU1NDYWxjUHJpbWl0aXZlVmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjppc1plcm8pOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpjc3NUZXh0KToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6ZXZhbHVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlOjpDU1NDYWxjQmluYXJ5T3BlcmF0aW9u
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlOjpp
c1plcm8pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlOjpj
c3NUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZTo6
ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlUGFyc2VyOjpwYXJzZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWVQYXJzZXI6OlZhbHVlOjopOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlUGFyc2VyOjpvcGVyYXRvclZhbHVlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU0NhbGNWYWx1ZVBhcnNlcjo6cGFyc2VWYWx1ZSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NDYWxjVmFsdWVQYXJzZXI6OnBhcnNlVmFsdWVUZXJtKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0NhbGNWYWx1ZVBhcnNlcjo6cGFyc2VWYWx1ZU11bHRpcGxpY2F0aXZlRXhwcmVzc2lv
bik6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWVQYXJzZXI6OnBhcnNlQWRkaXRpdmVW
YWx1ZUV4cHJlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlUGFyc2VyOjpw
YXJzZVZhbHVlRXhwcmVzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWU6OmNy
ZWF0ZUZyb21QYXJzZXJWYWx1ZUxpc3QpOgorICAgICAgICAqIGNzcy9DU1NDYWxjVmFsdWUuaDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWU6OmlzQ2FsY1ZhbHVlKToKKyAg
ICAgICAgKiBjc3MvQ1NTR3JhbW1hci55OgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6aXNDYWxjKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6
cGFyc2VWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlQ2FsY3VsYXRl
ZExlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmxleCk6CisgICAgICAgICog
Y3NzL0NTU1BhcnNlci5oOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyVmFsdWVMaXN0OjppbnNlcnRWYWx1ZUF0KToKKyAgICAg
ICAgKiBjc3MvQ1NTUGFyc2VyVmFsdWVzLmg6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZh
bHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRp
dmVWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6Y29udmVydFRvTGVuZ3RoKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkpOgorICAgICAgICAqIGNzcy9D
U1NTdHlsZVNlbGVjdG9yLmg6CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NWYWx1ZTo6aXNDYWxjVmFsdWUpOgorICAgICAgICAqIGNzcy90b2tlbml6ZXIu
ZmxleDoKKyAgICAgICAgKiBwbGF0Zm9ybS9MZW5ndGguY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q2FsY3VsYXRlZExlbmd0aDo6Q2FsY3VsYXRlZExlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpD
YWxjdWxhdGVkTGVuZ3RoOjpldmFsdWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWxjdWxhdGVk
TGVuZ3RoOjpyZWZDb3VudCk6CisgICAgICAgIChXZWJDb3JlOjpDYWxjdWxhdGVkTGVuZ3RoOjpp
bmNyZW1lbnRSZWZDb3VudCk6CisgICAgICAgIChXZWJDb3JlOjpDYWxjdWxhdGVkTGVuZ3RoOjpk
ZWNyZW1lbnRSZWZDb3VudCk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6Okxlbmd0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGN1bGF0ZWRJc1plcm8pOgorICAgICAgICAoV2Vi
Q29yZTo6TGVuZ3RoOjpjYWxjdWxhdGVkSXNQb3NpdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpM
ZW5ndGg6OmNhbGN1bGF0ZWRJc05lZ2F0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6
Y2FsY3VsYXRlZENhbGNWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGN1bGF0
ZWRDYWxjTWluVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjdWxhdGVkQ2Fs
Y0Zsb2F0VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjppbmNyZW1lbnRDYWxjdWxh
dGVkUmVmKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6ZGVjcmVtZW50Q2FsY3VsYXRlZFJl
Zik6CisgICAgICAgICogcGxhdGZvcm0vTGVuZ3RoLmg6CisgICAgICAgIChXZWJDb3JlOjopOgor
ICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6TGVu
Z3RoOjpvcGVyYXRvcj0pOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjp+TGVuZ3RoKToKKyAg
ICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6dmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3Ro
OjpyYXdWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OnNldFZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6Okxlbmd0aDo6c2V0UmF3VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVu
Z3RoOjpjYWxjVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjTWluVmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjRmxvYXRWYWx1ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpMZW5ndGg6OmlzWmVybyk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmlzUG9z
aXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjppc05lZ2F0aXZlKToKKyAgICAgICAg
KFdlYkNvcmU6Okxlbmd0aDo6aXNDYWxjdWxhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0
aDo6YmxlbmQpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjdWxhdGVkTGVuZ3RoSWQp
OgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvU3RyaW5nSW1wbC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjplcXVhbCk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9TdHJpbmdJbXBsLmg6CisgICAg
ICAgIChXZWJDb3JlOjplcXVhbCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNhbGNIZWlnaHRVc2luZyk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklt
YWdlOjppc1dpZHRoU3BlY2lmaWVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpp
c0hlaWdodFNwZWNpZmllZCk6CisKIDIwMTAtMDEtMjYgIFN0ZXZlIEJsb2NrICA8c3RldmVibG9j
a0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRl
eCAxMDJjZmUyLi43NThkOWZhIDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisr
KyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTU0MCw2ICs1NDAsOCBAQCB3ZWJjb3JlX3Nv
dXJjZXMgKz0gXAogCVdlYkNvcmUvY29uZmlnLmggXAogCVdlYkNvcmUvY3NzL0NTU0JvcmRlcklt
YWdlVmFsdWUuY3BwIFwKIAlXZWJDb3JlL2Nzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmggXAorCVdl
YkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5jcHAgXAorCVdlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5o
IFwKIAlXZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5jcHAgXAogCVdlYkNvcmUvY3NzL0NTU0Nh
bnZhc1ZhbHVlLmggXAogCVdlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmNwcCBcCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCAzMzA0
YmUwLi40MDBkMzJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNv
cmUvV2ViQ29yZS5wcm8KQEAgLTM2MSw2ICszNjEsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBicmlk
Z2UvYy9jX3V0aWxpdHkuY3BwIFwKICAgICBicmlkZ2UvanNjL0JyaWRnZUpTQy5jcHAgXAogICAg
IGNzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmNwcCBcCisgICAgY3NzL0NTU0NhbGNWYWx1ZS5jcHAg
XAogICAgIGNzcy9DU1NDYW52YXNWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NDaGFyc2V0UnVsZS5j
cHAgXAogICAgIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIFwKQEAgLTEwNTUs
NiArMTA1Niw3IEBAIEhFQURFUlMgKz0gXAogICAgIGJyaWRnZS9ydW50aW1lX29iamVjdC5oIFwK
ICAgICBicmlkZ2UvcnVudGltZV9yb290LmggXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVZhbHVl
LmggXAorICAgIGNzcy9DU1NDYWxjVmFsdWUuaCBcCiAgICAgY3NzL0NTU0NhbnZhc1ZhbHVlLmgg
XAogICAgIGNzcy9DU1NDaGFyc2V0UnVsZS5oIFwKICAgICBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggMzZj
YzViNy4uOTVkMWJjMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0y
NjQ2MSw2ICsyNjQ2MSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTQ2FsY1ZhbHVlLmNwcCINCisJCQkJPg0KKwkJCTwvRmls
ZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NDYWxjVmFsdWUuaCIN
CisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNz
c1xDU1NDYW52YXNWYWx1ZS5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4MTkxOWQ4Li45Yzc1NzhkIDEwMDY0
NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDA5OSw2ICs0MDk5
LDggQEAKIAkJQjVBNjg0MjQwRkZBQkVBQTAwRDI0Njg5IC8qIFNRTGl0ZUZpbGVTeXN0ZW0uY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjVBNjg0MjMw
RkZBQkVBQTAwRDI0Njg5IC8qIFNRTGl0ZUZpbGVTeXN0ZW0uY3BwICovOyB9OwogCQlCNUMxMTIz
QjEwMkI2QzQ2MDAwOTY1NzggLyogU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNUMxMTIzOTEwMkI2QzQ2
MDAwOTY1NzggLyogU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5jcHAgKi87IH07CiAJCUI1QzEx
MjNDMTAyQjZDNDYwMDA5NjU3OCAvKiBTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNUMxMTIzQTEwMkI2QzQ2
MDAwOTY1NzggLyogU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5oICovOyB9OworCQlCN0E1RUFE
RDEwRTQ4QzM5MDA4REJDOTkgLyogQ1NTQ2FsY1ZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI3QTVFQURDMTBFNDhDMzkwMDhEQkM5OSAvKiBD
U1NDYWxjVmFsdWUuY3BwICovOyB9OworCQlCN0E1RUFERjEwRTQ4QzRBMDA4REJDOTkgLyogQ1NT
Q2FsY1ZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCN0E1RUFERTEwRTQ4QzRBMDA4REJDOTkgLyogQ1NTQ2FsY1ZhbHVlLmggKi87IH07CiAJCUJD
MDBGMDA0MEUwQTE4NTUwMEZEMDRFMyAvKiBET01GaWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAwRUZGRTBFMEExODU1MDBGRDA0RTMgLyogRE9N
RmlsZS5oICovOyB9OwogCQlCQzAwRjAwNTBFMEExODU1MDBGRDA0RTMgLyogRE9NRmlsZS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMDBFRkZGMEUw
QTE4NTUwMEZEMDRFMyAvKiBET01GaWxlLm1tICovOyB9OwogCQlCQzAwRjAwNjBFMEExODU1MDBG
RDA0RTMgLyogRE9NRmlsZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQzAwRjAwMDBFMEExODU1MDBGRDA0RTMgLyogRE9NRmlsZUludGVy
bmFsLmggKi87IH07CkBAIC01Mjg1LDYgKzUyODcsNyBAQAogCQkJCUE4RDA2QjM5MEEyNjVEQ0Qw
MDVFNzIwMyAvKiBIVE1MTmFtZXMuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovLAogCQkJ
CTE0MDNCQTBGMDlFQjE4RjkwMDc5N0M3RiAvKiBKU0RPTVdpbmRvdy5oIGluIENvcHkgR2VuZXJh
dGVkIEhlYWRlcnMgKi8sCiAJCQkJMTREQzBEMzgwOUZFRDA3MzAwN0IwMjM1IC8qIEpTTm9kZS5o
IGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8sCisJCQkJQjdBNUVBREYxMEU0OEM0QTAwOERC
Qzk5IC8qIENTU0NhbGNWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJbmFtZSA9ICJD
b3B5IEdlbmVyYXRlZCBIZWFkZXJzIjsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nl
c3NpbmcgPSAwOwpAQCAtOTMyNCw2ICs5MzI3LDggQEAKIAkJQjVBNjg0MjMwRkZBQkVBQTAwRDI0
Njg5IC8qIFNRTGl0ZUZpbGVTeXN0ZW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gU1FMaXRlRmlsZVN5c3RlbS5jcHA7IHBhdGggPSBzcWwvU1FMaXRlRmlsZVN5c3Rl
bS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI1QzExMjM5MTAyQjZDNDYwMDA5
NjU3OCAvKiBTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlCNUMxMTIzQTEwMkI2QzQ2MDAwOTY1NzggLyogU1FMVHJh
bnNhY3Rpb25Db29yZGluYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBT
UUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUI3QTVFQURDMTBFNDhDMzkwMDhEQkM5OSAvKiBDU1NDYWxjVmFsdWUuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTQ2FsY1ZhbHVlLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQjdBNUVBREUxMEU0OEM0QTAwOERCQzk5IC8qIENTU0NhbGNWYWx1
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NDYWxjVmFsdWUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMwMEVGRkUwRTBBMTg1NTAwRkQwNEUzIC8qIERP
TUZpbGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NRmlsZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzAwRUZGRjBFMEExODU1MDBGRDA0RTMgLyogRE9N
RmlsZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERPTUZpbGUu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDMDBGMDAwMEUwQTE4NTUwMEZEMDRF
MyAvKiBET01GaWxlSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RE9NRmlsZUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTM1Myw2
ICsxNTM1OCw4IEBACiAJCUY1MjNEMTg0MDJERTQyRTgwMTg2MzVDQSAvKiBjc3MgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUI3QTVFQURFMTBFNDhDNEEw
MDhEQkM5OSAvKiBDU1NDYWxjVmFsdWUuaCAqLywKKwkJCQlCN0E1RUFEQzEwRTQ4QzM5MDA4REJD
OTkgLyogQ1NTQ2FsY1ZhbHVlLmNwcCAqLywKIAkJCQk5M0NBNEM5QzA5REY5M0ZBMDBERjg2Nzcg
LyogbWFrZXRva2VuaXplciAqLywKIAkJCQlBODBFNkNEQTBBMTk4OUNBMDA3RkI4QzUgLyogQ291
bnRlci5oICovLAogCQkJCTkzMDcwNUM3MDlFMEM5NUYwMEIxN0ZFNCAvKiBDb3VudGVyLmlkbCAq
LywKQEAgLTIwNjYxLDYgKzIwNjY4LDcgQEAKIAkJCQk1OUI1OTc3MzExMDg2NTZCMDA3MTU5RTgg
LyogQnJpZGdlSlNDLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzQzRGNkVBMTEwOEY5QTUwMDk5
RDBEQiAvKiBBY2Nlc3NpYmlsaXR5U2Nyb2xsYmFyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTU5
RTg0MjY4MTEwOUU1QUUwMDAzMDVBRCAvKiBKTklCcmlkZ2VKU0MuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJQjdBNUVBREQxMEU0OEMzOTAwOERCQzk5IC8qIENTU0NhbGNWYWx1ZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0g
MDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5jcHAgYi9XZWJD
b3JlL2Nzcy9DU1NDYWxjVmFsdWUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmNmYTQ3NWEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2Nzcy9DU1NDYWxjVmFsdWUu
Y3BwCkBAIC0wLDAgKzEsMzM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNTU0Nh
bGNWYWx1ZS5oIgorCisjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKKyNpbmNsdWRlICJD
U1NTdHlsZVNlbGVjdG9yLmgiCisjaW5jbHVkZSAiQ1NTVmFsdWVMaXN0LmgiCisKKyNpbmNsdWRl
IDxsaW1pdHM+CisjaW5jbHVkZSA8d3RmL093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ1NTQ2FsY1ByaW1pdGl2ZVZh
bHVlIDogcHVibGljIENTU0NhbGNWYWx1ZSB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgQ1NTQ2Fs
Y1ByaW1pdGl2ZVZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlKiB2YWx1ZSkKKyAgICAgICAgOiBtX3Zh
bHVlKHZhbHVlKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNaZXJvKCkgY29u
c3QKKyAgICB7CisgICAgICAgIHJldHVybiAhbV92YWx1ZS0+Z2V0RG91YmxlVmFsdWUoKTsKKyAg
ICB9CisKKyAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3QKKyAgICB7CisgICAgICAg
IHJldHVybiBtX3ZhbHVlLT5jc3NUZXh0KCk7CisgICAgfQorCisgICAgZmxvYXQgZXZhbHVhdGUo
UmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBmbG9hdCBtYXhWYWx1
ZSkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChtX3ZhbHVlLT5wcmltaXRpdmVUeXBlKCkgPT0g
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQVJTRVJfSU5URUdFUikKKyAgICAgICAgICAgIHJldHVy
biBtX3ZhbHVlLT5nZXRGbG9hdFZhbHVlKCk7CisKKyAgICAgICAgYm9vbCBvayA9IHRydWU7Cisg
ICAgICAgIExlbmd0aCBsZW5ndGggPSBDU1NTdHlsZVNlbGVjdG9yOjpjb252ZXJ0VG9MZW5ndGgo
bV92YWx1ZS5nZXQoKSwgc3R5bGUsIHJvb3RTdHlsZSwgMSwgJm9rKTsKKyAgICAgICAgaWYgKCFv
aykKKyAgICAgICAgICAgIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjpxdWlldF9OYU4oKTsK
KyAgICAgICAgcmV0dXJuIGxlbmd0aC5jYWxjVmFsdWUobWF4VmFsdWUpOworICAgIH0KKworcHJp
dmF0ZToKKyAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IG1fdmFsdWU7Cit9OworCitjbGFz
cyBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWUgOiBwdWJsaWMgQ1NTQ2FsY1ZhbHVlIHsKK3B1
YmxpYzoKKyAgICBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWUoQ1NTQ2FsY1ZhbHVlKiBsZWZ0
U2lkZSwgQ1NTQ2FsY1ZhbHVlKiByaWdodFNpZGUsIGNoYXIgb3ApCisgICAgICAgIDogbV9sZWZ0
U2lkZShsZWZ0U2lkZSkKKyAgICAgICAgLCBtX3JpZ2h0U2lkZShyaWdodFNpZGUpCisgICAgICAg
ICwgbV9vcGVyYXRvcihvcCkKKyAgICB7CisgICAgICAgIEFTU0VSVChvcCA9PSAnKycgfHwgb3Ag
PT0gJy0nIHx8IG9wID09ICcqJyB8fCBvcCA9PSAnLycgfHwgb3AgPT0gJyUnKTsKKyAgICB9CisK
KyAgICB2aXJ0dWFsIGJvb2wgaXNaZXJvKCkgY29uc3QKKyAgICB7CisgICAgICAgIC8vIEZJWE1F
OiBXZSBjYW4gcmVqZWN0IG1vcmUgY2FzZXMuCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9
CisKKyAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3QKKyAgICB7CisgICAgICAgIFN0
cmluZyByZXN1bHQgPSAiKCI7CisgICAgICAgIHJlc3VsdC5hcHBlbmQobV9sZWZ0U2lkZS0+Y3Nz
VGV4dCgpKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChtX29wZXJhdG9yKTsKKyAgICAgICAgcmVz
dWx0LmFwcGVuZChtX3JpZ2h0U2lkZS0+Y3NzVGV4dCgpKTsKKyAgICAgICAgcmVzdWx0LmFwcGVu
ZCgnKScpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKworICAgIGZsb2F0IGV2YWx1
YXRlKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZmxvYXQgbWF4
VmFsdWUpIGNvbnN0CisgICAgeworICAgICAgICBmbG9hdCBsZWZ0ID0gbV9sZWZ0U2lkZS0+ZXZh
bHVhdGUoc3R5bGUsIHJvb3RTdHlsZSwgbWF4VmFsdWUpOworICAgICAgICBmbG9hdCByaWdodCA9
IG1fcmlnaHRTaWRlLT5ldmFsdWF0ZShzdHlsZSwgcm9vdFN0eWxlLCBtYXhWYWx1ZSk7CisgICAg
ICAgIHN3aXRjaCAobV9vcGVyYXRvcikgeworICAgICAgICBjYXNlICcrJzoKKyAgICAgICAgICAg
IHJldHVybiBsZWZ0ICsgcmlnaHQ7CisgICAgICAgIGNhc2UgJy0nOgorICAgICAgICAgICAgcmV0
dXJuIGxlZnQgLSByaWdodDsKKyAgICAgICAgY2FzZSAnKic6CisgICAgICAgICAgICByZXR1cm4g
bGVmdCAqIHJpZ2h0OworICAgICAgICBjYXNlICcvJzoKKyAgICAgICAgICAgIGlmICghcmlnaHQp
CisgICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjpxdWll
dF9OYU4oKTsKKyAgICAgICAgICAgIHJldHVybiBsZWZ0IC8gcmlnaHQ7CisgICAgICAgIGNhc2Ug
JyUnOgorICAgICAgICAgICAgaWYgKCFyaWdodCkKKyAgICAgICAgICAgICAgICByZXR1cm4gc3Rk
OjpudW1lcmljX2xpbWl0czxmbG9hdD46OnF1aWV0X05hTigpOworICAgICAgICAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PGludD4obGVmdCkgJSBzdGF0aWNfY2FzdDxpbnQ+KHJpZ2h0KTsKKyAgICAg
ICAgZGVmYXVsdDoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjpxdWlldF9OYU4oKTsKKyAgICAg
ICAgfQorICAgIH0KKworcHJpdmF0ZToKKyAgICBSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBtX2xlZnRT
aWRlOworICAgIFJlZlB0cjxDU1NDYWxjVmFsdWU+IG1fcmlnaHRTaWRlOworICAgIGNoYXIgbV9v
cGVyYXRvcjsKK307CisKKyNkZWZpbmUgQ0hFQ0tfREVQVEhfQU5EX0lOREVYICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBkbyB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg
ICAgKytkZXB0aDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyAgICAgICAgaWYgKGRlcHRoID4gMTAwKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAg
aWYgKCppbmRleCA+PSB0b2tlbnMtPnNpemUoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFwKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9IHdoaWxlICgwKQorCisvKiBBcyBvZiBE
ZWNlbWJlciAyMDA5LCB0aGUgQ1NTIHNwZWMgdXNlcyB0aGUgZ3JhbW1hciB0byByZWplY3Qgc3R1
cGlkCisgKiBjYWxjdWxhdGlvbnMgc3VjaCBhcyAyMHB4KjIwcHguIEFzIHRoZSBvcmlnaW5hbCBn
cmFtbWFyIHdpbGwgaGF2ZSBhCisgKiBidW5jaCBvZiBkdXBsaWNhdGlvbnMgaWYgd2UgaW1wbGVt
ZW50IGl0IHdpdGggbm8gY2hhbmdlLCB3ZSdsbCB1c2UKKyAqIHRoZSBmb2xsb3dpbmcgc2ltcGxp
ZmllZCBncmFtbWFyIGFuZCByZWplY3QgaW52YWxpZCBvcGVyYXRpb25zIGJ5CisgKiBjaGVja2lu
ZyB0eXBlcyBvZiB2YWx1ZXMuCisgKgorICogPHZhbHVlLWV4cHJlc3Npb24+IDo9IDx2YWx1ZS1h
ZGRpdGl2ZS1leHByZXNzaW9uPgorICoKKyAqIDx2YWx1ZS1hZGRpdGl2ZS1leHByZXNzaW9uPiA6
PQorICogICAgPHZhbHVlLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24+IDx2YWx1ZS1hZGRpdGl2
ZS1leHByZXNzaW9uLXRhaWw+CisgKgorICogPHZhbHVlLWFkZGl0aXZlLWV4cHJlc3Npb24tdGFp
bD4gOj0KKyAqICAgIDxlbXB0eT4gfAorICogICAgUysgJysnIFMrIDx2YWx1ZS1tdWx0aXBsaWNh
dGl2ZS1leHByZXNzaW9uPiA8dmFsdWUtYWRkaXRpdmUtZXhwcmVzc2lvbi10YWlsPiB8CisgKiAg
ICBTKyAnLScgUysgPHZhbHVlLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24+IDx2YWx1ZS1hZGRp
dGl2ZS1leHByZXNzaW9uLXRhaWw+CisgKgorICogPHZhbHVlLW11bHRpcGxpY2F0aXZlLWV4cHJl
c3Npb24+CisgKiAgICA8dmFsdWUtdGVybT4gPHZhbHVlLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Np
b24tdGFpbD4gfAorICoKKyAqIDx2YWx1ZS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLXRhaWw+
CisgKiAgICA8ZW1wdHk+IHwKKyAqICAgIFMqICcqJyBTKiA8dmFsdWUtdGVybT4gPHZhbHVlLW11
bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tdGFpbD58CisgKiAgICBTKiAnLycgUyogPHZhbHVlLXRl
cm0+IDx2YWx1ZS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLXRhaWw+fAorICogICAgUysgJ21v
ZCcgUysgPHZhbHVlLXRlcm0+IDx2YWx1ZS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLXRhaWw+
CisgKgorICogPHZhbHVlLXRlcm0+IDo9ICcoJyA8dmFsdWUtZXhwcmVzc2lvbj4gJyknIHwgPGF0
b21pYy1sZW5ndGg+IHwgPG51bWJlcj4KKyAqCisgKiA8YXRvbWljLWxlbmd0aD4gOj0gPG51bWJl
cj48bGVuZ3RoLXVuaXQ+CisgKi8KK2NsYXNzIENTU0NhbGNWYWx1ZVBhcnNlciB7CitwdWJsaWM6
CisgICAgQ1NTQ2FsY1ZhbHVlKiBwYXJzZShDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucykKKyAg
ICB7CisgICAgICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKKyAgICAgICAgVmFsdWUgcmVzdWx0Owor
ICAgICAgICBib29sIG9rID0gcGFyc2VWYWx1ZUV4cHJlc3Npb24odG9rZW5zLCAwLCAmaW5kZXgs
ICZyZXN1bHQpOworICAgICAgICBBU1NFUlQoaW5kZXggPD0gdG9rZW5zLT5zaXplKCkpOworICAg
ICAgICBpZiAoIW9rIHx8IHJlc3VsdC50eXBlICE9IFZhbHVlOjpMZW5ndGggfHwgaW5kZXggIT0g
dG9rZW5zLT5zaXplKCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIHJl
c3VsdC52YWx1ZS5yZWxlYXNlKCk7CisgICAgfQorCitwcml2YXRlOgorICAgIHN0cnVjdCBWYWx1
ZSB7CisgICAgICAgIGVudW0gVHlwZSB7IExlbmd0aCwgTnVtYmVyIH07CisgICAgICAgIE93blB0
cjxDU1NDYWxjVmFsdWU+IHZhbHVlOworICAgICAgICBUeXBlIHR5cGU7CisgICAgfTsKKworICAg
IGNoYXIgb3BlcmF0b3JWYWx1ZShDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucywgdW5zaWduZWQg
aW5kZXgpCisgICAgeworICAgICAgICBpZiAoaW5kZXggPj0gdG9rZW5zLT5zaXplKCkpCisgICAg
ICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgQ1NTUGFyc2VyVmFsdWUqIHZhbHVlID0gdG9rZW5z
LT52YWx1ZUF0KGluZGV4KTsKKyAgICAgICAgaWYgKHZhbHVlLT51bml0ICE9IENTU1BhcnNlclZh
bHVlOjpPcGVyYXRvcikKKyAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgIHJldHVybiB2
YWx1ZS0+aVZhbHVlOworICAgIH0KKworICAgIGJvb2wgcGFyc2VWYWx1ZShDU1NQYXJzZXJWYWx1
ZUxpc3QqIHRva2VucywgdW5zaWduZWQqIGluZGV4LCBWYWx1ZSogcmVzdWx0KQorICAgIHsKKyAg
ICAgICAgQ1NTUGFyc2VyVmFsdWUqIHBhcnNlclZhbHVlID0gdG9rZW5zLT52YWx1ZUF0KCppbmRl
eCk7CisgICAgICAgIGlmIChwYXJzZXJWYWx1ZS0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1ZTo6T3Bl
cmF0b3IgfHwgcGFyc2VyVmFsdWUtPnVuaXQgPT0gQ1NTUGFyc2VyVmFsdWU6OkZ1bmN0aW9uKQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFs
dWUgPSBwYXJzZXJWYWx1ZS0+Y3JlYXRlQ1NTVmFsdWUoKTsKKyAgICAgICAgaWYgKCF2YWx1ZSB8
fCAhdmFsdWUtPmlzUHJpbWl0aXZlVmFsdWUoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUgPSBzdGF0aWNfY2Fz
dDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlLmdldCgpKTsKKyAgICAgICAgcmVzdWx0LT52YWx1
ZSA9IG5ldyBDU1NDYWxjUHJpbWl0aXZlVmFsdWUocHJpbWl0aXZlVmFsdWUpOworICAgICAgICBy
ZXN1bHQtPnR5cGUgPSBwcmltaXRpdmVWYWx1ZS0+cHJpbWl0aXZlVHlwZSgpID09IENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NfUEFSU0VSX0lOVEVHRVIgPyBWYWx1ZTo6TnVtYmVyIDogVmFsdWU6Okxl
bmd0aDsKKworICAgICAgICArKyppbmRleDsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQor
CisgICAgYm9vbCBwYXJzZVZhbHVlVGVybShDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucywgaW50
IGRlcHRoLCB1bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1bHQpCisgICAgeworICAgICAgICBD
SEVDS19ERVBUSF9BTkRfSU5ERVg7CisKKyAgICAgICAgaWYgKG9wZXJhdG9yVmFsdWUodG9rZW5z
LCAqaW5kZXgpID09ICcoJykgeworICAgICAgICAgICAgdW5zaWduZWQgY3VycmVudEluZGV4ID0g
KmluZGV4ICsgMTsKKyAgICAgICAgICAgIGlmICghcGFyc2VWYWx1ZUV4cHJlc3Npb24odG9rZW5z
LCBkZXB0aCwgJmN1cnJlbnRJbmRleCwgcmVzdWx0KSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICAgICAgICAgIGlmIChvcGVyYXRvclZhbHVlKHRva2VucywgY3VycmVudElu
ZGV4KSAhPSAnKScpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAg
KmluZGV4ID0gY3VycmVudEluZGV4ICsgMTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
ICAgICB9CisKKyAgICAgICAgcmV0dXJuIHBhcnNlVmFsdWUodG9rZW5zLCBpbmRleCwgcmVzdWx0
KTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWVNdWx0aXBsaWNhdGl2ZUV4cHJlc3Npb24o
Q1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIGludCBkZXB0aCwgdW5zaWduZWQqIGluZGV4LCBW
YWx1ZSogcmVzdWx0KQorICAgIHsKKyAgICAgICAgQ0hFQ0tfREVQVEhfQU5EX0lOREVYOworCisg
ICAgICAgIGlmICghcGFyc2VWYWx1ZVRlcm0odG9rZW5zLCBkZXB0aCwgaW5kZXgsIHJlc3VsdCkp
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgLy8gPHZhbHVlLW11bHRpcGxp
Y2F0aXZlLWV4cHJlc3Npb24tdGFpbD4KKyAgICAgICAgd2hpbGUgKCppbmRleCA8IHRva2Vucy0+
c2l6ZSgpIC0gMSkgeworICAgICAgICAgICAgY2hhciBvcGVyYXRvckNoYXJhY3RlciA9IG9wZXJh
dG9yVmFsdWUodG9rZW5zLCAqaW5kZXgpOworICAgICAgICAgICAgaWYgKG9wZXJhdG9yQ2hhcmFj
dGVyICE9ICcqJyAmJiBvcGVyYXRvckNoYXJhY3RlciAhPSAnLycgJiYgb3BlcmF0b3JDaGFyYWN0
ZXIgIT0gJyUnKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgKysqaW5kZXg7
CisKKyAgICAgICAgICAgIFZhbHVlIHJoczsKKyAgICAgICAgICAgIGlmICghcGFyc2VWYWx1ZVRl
cm0odG9rZW5zLCBkZXB0aCwgaW5kZXgsICZyaHMpKQorICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgICAgICAgICAgc3dpdGNoIChvcGVyYXRvckNoYXJhY3RlcikgeworICAgICAg
ICAgICAgY2FzZSAnKic6CisgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC0+dHlwZSAhPSByaHMu
dHlwZSkKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0LT50eXBlID0gVmFsdWU6Okxlbmd0aDsK
KyAgICAgICAgICAgICAgICBlbHNlIGlmIChyZXN1bHQtPnR5cGUgPT0gVmFsdWU6Okxlbmd0aCkK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICAgICAgcmVz
dWx0LT52YWx1ZSA9IG5ldyBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWUocmVzdWx0LT52YWx1
ZS5yZWxlYXNlKCksIHJocy52YWx1ZS5yZWxlYXNlKCksIG9wZXJhdG9yQ2hhcmFjdGVyKTsKKyAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgJy8nOgorICAgICAgICAgICAg
Y2FzZSAnJSc6CisgICAgICAgICAgICAgICAgaWYgKHJocy52YWx1ZS0+aXNaZXJvKCkpCisgICAg
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICAgICBpZiAocmVzdWx0
LT50eXBlID09IHJocy50eXBlKQorICAgICAgICAgICAgICAgICAgICByZXN1bHQtPnR5cGUgPSBW
YWx1ZTo6TnVtYmVyOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlc3VsdC0+dHlwZSA9PSBW
YWx1ZTo6TnVtYmVyKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAg
ICAgICAgICAgICByZXN1bHQtPnZhbHVlID0gbmV3IENTU0NhbGNCaW5hcnlPcGVyYXRpb25WYWx1
ZShyZXN1bHQtPnZhbHVlLnJlbGVhc2UoKSwgcmhzLnZhbHVlLnJlbGVhc2UoKSwgb3BlcmF0b3JD
aGFyYWN0ZXIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgZGVmYXVsdDoK
KyAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBBU1NFUlQo
KmluZGV4IDw9IHRva2Vucy0+c2l6ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQor
CisgICAgYm9vbCBwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKENTU1BhcnNlclZhbHVlTGlz
dCogdG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAg
ICB7CisgICAgICAgIENIRUNLX0RFUFRIX0FORF9JTkRFWDsKKworICAgICAgICBpZiAoIXBhcnNl
VmFsdWVNdWx0aXBsaWNhdGl2ZUV4cHJlc3Npb24odG9rZW5zLCBkZXB0aCwgaW5kZXgsIHJlc3Vs
dCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgLy8gPHZhbHVlLWFkZGl0
aXZlLWV4cHJlc3Npb24tdGFpbD4KKyAgICAgICAgd2hpbGUgKCppbmRleCA8IHRva2Vucy0+c2l6
ZSgpIC0gMSkgeworICAgICAgICAgICAgY2hhciBvcGVyYXRvckNoYXJhY3RlciA9IG9wZXJhdG9y
VmFsdWUodG9rZW5zLCAqaW5kZXgpOworICAgICAgICAgICAgaWYgKG9wZXJhdG9yQ2hhcmFjdGVy
ICE9ICcrJyAmJiBvcGVyYXRvckNoYXJhY3RlciAhPSAnLScpCisgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICArKyppbmRleDsKKworICAgICAgICAgICAgVmFsdWUgcmhzOworICAg
ICAgICAgICAgaWYgKCFwYXJzZVZhbHVlTXVsdGlwbGljYXRpdmVFeHByZXNzaW9uKHRva2Vucywg
ZGVwdGgsIGluZGV4LCAmcmhzKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICAgICAgICAgIGlmIChyZXN1bHQtPnR5cGUgIT0gcmhzLnR5cGUpCisgICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICBzd2l0Y2ggKG9wZXJhdG9yQ2hhcmFjdGVyKSB7
CisgICAgICAgICAgICBjYXNlICcrJzoKKyAgICAgICAgICAgIGNhc2UgJy0nOgorICAgICAgICAg
ICAgICAgIHJlc3VsdC0+dmFsdWUgPSBuZXcgQ1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlKHJl
c3VsdC0+dmFsdWUucmVsZWFzZSgpLCByaHMudmFsdWUucmVsZWFzZSgpLCBvcGVyYXRvckNoYXJh
Y3Rlcik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAg
ICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIEFTU0VSVCgqaW5k
ZXggPD0gdG9rZW5zLT5zaXplKCkpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAg
ICBib29sIHBhcnNlVmFsdWVFeHByZXNzaW9uKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCBp
bnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAgICB7CisgICAgICAg
IHJldHVybiBwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKHRva2VucywgZGVwdGgsIGluZGV4
LCByZXN1bHQpOworICAgIH0KK307CisKK1Bhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBDU1NDYWxj
VmFsdWU6OmNyZWF0ZUZyb21QYXJzZXJWYWx1ZUxpc3QoQ1NTUGFyc2VyVmFsdWVMaXN0KiBwYXJz
ZXJWYWx1ZUxpc3QpCit7CisgICAgQ1NTQ2FsY1ZhbHVlUGFyc2VyIHBhcnNlcjsKKyAgICByZXR1
cm4gYWRvcHRSZWYocGFyc2VyLnBhcnNlKHBhcnNlclZhbHVlTGlzdCkpOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NDYWxjVmFsdWUuaCBi
L1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjIyNjI3YTcKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2Nzcy9DU1NDYWxjVmFs
dWUuaApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIg
dGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDU1NDYWxjVmFsdWVfaAorI2RlZmluZSBDU1ND
YWxjVmFsdWVfaAorCisjaW5jbHVkZSAiQ1NTVmFsdWUuaCIKKyNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0Owor
Y2xhc3MgQ1NTVmFsdWVMaXN0OworY2xhc3MgUmVuZGVyU3R5bGU7CisKK2NsYXNzIENTU0NhbGNW
YWx1ZSA6IHB1YmxpYyBDU1NWYWx1ZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8
Q1NTQ2FsY1ZhbHVlPiBjcmVhdGVGcm9tUGFyc2VyVmFsdWVMaXN0KENTU1BhcnNlclZhbHVlTGlz
dCopOworCisgICAgdmlydHVhbCBib29sIGlzQ2FsY1ZhbHVlKCkgY29uc3QgeyByZXR1cm4gdHJ1
ZTsgfQorCisgICAgdmlydHVhbCBib29sIGlzWmVybygpIGNvbnN0ID0gMDsKKworICAgIHZpcnR1
YWwgZmxvYXQgZXZhbHVhdGUoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0
eWxlLCBmbG9hdCBtYXhWYWx1ZSkgY29uc3QgPSAwOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gQ1NTQ2FsY1ZhbHVlX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3Nz
L0NTU0dyYW1tYXIueSBiL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueQppbmRleCA5ZDVlYjZlLi5m
OTdjNjA4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkKKysrIGIvV2ViQ29y
ZS9jc3MvQ1NTR3JhbW1hci55CkBAIC05Nyw3ICs5Nyw3IEBAIHN0YXRpYyBpbnQgY3NzeXlsZXgo
WVlTVFlQRSogeXlsdmFsLCB2b2lkKiBwYXJzZXIpCiAKICV9CiAKLSVleHBlY3QgNTQKKyVleHBl
Y3QgNjIKIAogJW5vbmFzc29jIExPV0VTVF9QUkVDCiAKQEAgLTE3NSw2ICsxNzUsNyBAQCBzdGF0
aWMgaW50IGNzc3l5bGV4KFlZU1RZUEUqIHl5bHZhbCwgdm9pZCogcGFyc2VyKQogJXRva2VuIDxz
dHJpbmc+IFVSSQogJXRva2VuIDxzdHJpbmc+IEZVTkNUSU9OCiAldG9rZW4gPHN0cmluZz4gTk9U
RlVOQ1RJT04KKyV0b2tlbiA8c3RyaW5nPiBDQUxDRlVOQ1RJT04KIAogJXRva2VuIDxzdHJpbmc+
IFVOSUNPREVSQU5HRQogCkBAIC0yNTIsNiArMjUzLDExIEBAIHN0YXRpYyBpbnQgY3NzeXlsZXgo
WVlTVFlQRSogeXlsdmFsLCB2b2lkKiBwYXJzZXIpCiAldHlwZSA8dmFsdWU+IHRlcm0KICV0eXBl
IDx2YWx1ZT4gdW5hcnlfdGVybQogJXR5cGUgPHZhbHVlPiBmdW5jdGlvbgorJXR5cGUgPHZhbHVl
PiBjYWxjX2Z1bmNfdGVybQorJXR5cGUgPGNoYXJhY3Rlcj4gY2FsY19mdW5jX29wZXJhdG9yCisl
dHlwZSA8dmFsdWVMaXN0PiBjYWxjX2Z1bmNfZXhwcgorJXR5cGUgPHZhbHVlTGlzdD4gY2FsY19m
dW5jX3BhcmVuX2V4cHIKKyV0eXBlIDx2YWx1ZT4gY2FsY19mdW5jdGlvbgogCiAldHlwZSA8c3Ry
aW5nPiBlbGVtZW50X25hbWUKICV0eXBlIDxzdHJpbmc+IGF0dHJfbmFtZQpAQCAtMTM3MSw2ICsx
Mzc3LDkgQEAgdGVybToKICAgfCBmdW5jdGlvbiB7CiAgICAgICAkJCA9ICQxOwogICB9CisgIHwg
Y2FsY19mdW5jdGlvbiB7CisgICAgICAkJCA9ICQxOworICB9CiAgIHwgdmFyaWFibGVfcmVmZXJl
bmNlIG1heWJlX3NwYWNlIHsKICAgICAgICQkID0gJDE7CiAgIH0KQEAgLTE0MzgsNiArMTQ0Nywx
MTQgQEAgZnVuY3Rpb246CiAgICAgICAgICQkLmZ1bmN0aW9uID0gZjsKICAgfQogICA7CisKK2Nh
bGNfZnVuY190ZXJtOgorICAgIHRlcm0KKyAgOworCitjYWxjX2Z1bmNfb3BlcmF0b3I6CisgICAg
JysnIG1heWJlX3NwYWNlIHsKKyAgICAgICAgJCQgPSAnKyc7CisgICAgfQorICB8ICctJyBtYXli
ZV9zcGFjZSB7CisgICAgICAgICQkID0gJy0nOworICAgIH0KKyAgfCAnKicgbWF5YmVfc3BhY2Ug
eworICAgICAgICAkJCA9ICcqJzsKKyAgICB9CisgIHwgJy8nIG1heWJlX3NwYWNlIHsKKyAgICAg
ICAgJCQgPSAnLyc7CisgICAgfQorICB8IElERU5UIG1heWJlX3NwYWNlIHsKKyAgICAgICAgaWYg
KGVxdWFsKCJtb2QiLCAkMS5jaGFyYWN0ZXJzLCAkMS5sZW5ndGgpKQorICAgICAgICAgICAgJCQg
PSAnJSc7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIFlZRVJST1I7CisgICAgfQorICA7CisK
K2NhbGNfZnVuY19wYXJlbl9leHByOgorICAgICcoJyBtYXliZV9zcGFjZSBjYWxjX2Z1bmNfZXhw
ciBtYXliZV9zcGFjZSAnKScgbWF5YmVfc3BhY2UgeworICAgICAgICAkJCA9ICQzOworICAgICAg
ICBpZiAoJCQpIHsKKyAgICAgICAgICAgIENTU1BhcnNlclZhbHVlIHY7CisgICAgICAgICAgICB2
LmlkID0gMDsKKyAgICAgICAgICAgIHYudW5pdCA9IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvcjsK
KyAgICAgICAgICAgIHYuaVZhbHVlID0gJygnOworICAgICAgICAgICAgJCQtPmluc2VydFZhbHVl
QXQoMCwgdik7CisgICAgICAgICAgICB2LmlWYWx1ZSA9ICcpJzsKKyAgICAgICAgICAgICQkLT5h
ZGRWYWx1ZSh2KTsKKyAgICAgICAgfQorICAgIH0KKworY2FsY19mdW5jX2V4cHI6CisgICAgY2Fs
Y19mdW5jX3Rlcm0gbWF5YmVfc3BhY2UgeworICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNf
Y2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOworICAgICAgICAkJCA9IHAtPmNyZWF0ZUZsb2F0aW5n
VmFsdWVMaXN0KCk7CisgICAgICAgICQkLT5hZGRWYWx1ZShwLT5zaW5rRmxvYXRpbmdWYWx1ZSgk
MSkpOworICAgIH0KKyAgfCBjYWxjX2Z1bmNfZXhwciBtYXliZV9zcGFjZSBjYWxjX2Z1bmNfdGVy
bSBtYXliZV9zcGFjZSB7CisgICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19jYXN0PENTU1Bh
cnNlcio+KHBhcnNlcik7CisgICAgICAgICQkID0gJDE7CisgICAgICAgIGlmICgkJCkKKyAgICAg
ICAgICAgICQkLT5hZGRWYWx1ZShwLT5zaW5rRmxvYXRpbmdWYWx1ZSgkMykpOworICAgIH0KKyAg
fCBjYWxjX2Z1bmNfZXhwciBjYWxjX2Z1bmNfb3BlcmF0b3IgY2FsY19mdW5jX3Rlcm0geworICAg
ICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOworICAg
ICAgICAkJCA9ICQxOworICAgICAgICBpZiAoJCQpIHsKKyAgICAgICAgICAgIGlmICgkMikgewor
ICAgICAgICAgICAgICAgIENTU1BhcnNlclZhbHVlIHY7CisgICAgICAgICAgICAgICAgdi5pZCA9
IDA7CisgICAgICAgICAgICAgICAgdi51bml0ID0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJhdG9yOwor
ICAgICAgICAgICAgICAgIHYuaVZhbHVlID0gJDI7CisgICAgICAgICAgICAgICAgJCQtPmFkZFZh
bHVlKHYpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgJCQtPmFkZFZhbHVlKHAtPnNpbmtG
bG9hdGluZ1ZhbHVlKCQzKSk7CisgICAgICAgIH0KKyAgICB9CisgIHwgY2FsY19mdW5jX2V4cHIg
Y2FsY19mdW5jX29wZXJhdG9yIGNhbGNfZnVuY19wYXJlbl9leHByIHsKKyAgICAgICAgJCQgPSAk
MTsKKyAgICAgICAgaWYgKCQkKSB7CisgICAgICAgICAgICBpZiAoJDIpIHsKKyAgICAgICAgICAg
ICAgICBDU1NQYXJzZXJWYWx1ZSB2OworICAgICAgICAgICAgICAgIHYuaWQgPSAwOworICAgICAg
ICAgICAgICAgIHYudW5pdCA9IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvcjsKKyAgICAgICAgICAg
ICAgICB2LmlWYWx1ZSA9ICQyOworICAgICAgICAgICAgICAgICQkLT5hZGRWYWx1ZSh2KTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICgkMykKKyAgICAgICAgICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgJDMtPnNpemUoKTsgaSsrKQorICAgICAgICAgICAgICAgICAgICAk
JC0+YWRkVmFsdWUoKiQzLT52YWx1ZUF0KGkpKTsKKyAgICAgICAgfQorICAgIH0KKyAgfCBjYWxj
X2Z1bmNfcGFyZW5fZXhwcgorICB8IGNhbGNfZnVuY19leHByIGVycm9yIHsKKyAgICAgICAgJCQg
PSAwOworICAgIH0KKyAgOworCitjYWxjX2Z1bmN0aW9uOgorICAgIENBTENGVU5DVElPTiBtYXli
ZV9zcGFjZSBjYWxjX2Z1bmNfZXhwciAnKScgbWF5YmVfc3BhY2UgeworICAgICAgICBDU1NQYXJz
ZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOworICAgICAgICBDU1NQYXJz
ZXJGdW5jdGlvbiogZiA9IHAtPmNyZWF0ZUZsb2F0aW5nRnVuY3Rpb24oKTsKKyAgICAgICAgZi0+
bmFtZSA9ICQxOworICAgICAgICBmLT5hcmdzID0gcC0+c2lua0Zsb2F0aW5nVmFsdWVMaXN0KCQz
KTsKKyAgICAgICAgJCQuaWQgPSAwOworICAgICAgICAkJC51bml0ID0gQ1NTUGFyc2VyVmFsdWU6
OkZ1bmN0aW9uOworICAgICAgICAkJC5mdW5jdGlvbiA9IGY7CisgICAgfQorICB8IENBTENGVU5D
VElPTiBtYXliZV9zcGFjZSBlcnJvciB7CisgICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19j
YXN0PENTU1BhcnNlcio+KHBhcnNlcik7CisgICAgICAgIENTU1BhcnNlckZ1bmN0aW9uKiBmID0g
cC0+Y3JlYXRlRmxvYXRpbmdGdW5jdGlvbigpOworICAgICAgICBmLT5uYW1lID0gJDE7CisgICAg
ICAgIGYtPmFyZ3MgPSAwOworICAgICAgICAkJC5pZCA9IDA7CisgICAgICAgICQkLnVuaXQgPSBD
U1NQYXJzZXJWYWx1ZTo6RnVuY3Rpb247CisgICAgICAgICQkLmZ1bmN0aW9uID0gZjsKKyAgICB9
CisgIDsKKwogLyoKICAqIFRoZXJlIGlzIGEgY29uc3RyYWludCBvbiB0aGUgY29sb3IgdGhhdCBp
dCBtdXN0CiAgKiBoYXZlIGVpdGhlciAzIG9yIDYgaGV4LWRpZ2l0cyAoaS5lLiwgWzAtOWEtZkEt
Rl0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyLmNwcAppbmRleCBjYTA3NjgyLi5iODExZWJkIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTI4
LDYgKzI4LDcgQEAKICNpbmNsdWRlICJDU3RyaW5nLmgiCiAjaW5jbHVkZSAiQ1NTVGltaW5nRnVu
Y3Rpb25WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0JvcmRlckltYWdlVmFsdWUuaCIKKyNpbmNsdWRl
ICJDU1NDYWxjVmFsdWUuaCIKICNpbmNsdWRlICJDU1NDYW52YXNWYWx1ZS5oIgogI2luY2x1ZGUg
IkNTU0NoYXJzZXRSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oIgpAQCAt
MTI1LDYgKzEyNiwxMSBAQCBzdGF0aWMgYm9vbCBoYXNQcmVmaXgoY29uc3QgY2hhciogc3RyaW5n
LCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IGNoYXIqIHByZWZpeCkKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKK3N0YXRpYyBib29sIGlzQ2FsYyhDU1NQYXJzZXJWYWx1ZSogdmFsdWUpCit7CisgICAg
cmV0dXJuIHZhbHVlLT51bml0ID09IENTU1BhcnNlclZhbHVlOjpGdW5jdGlvbiAmJiBlcXVhbEln
bm9yaW5nQ2FzZSh2YWx1ZS0+ZnVuY3Rpb24tPm5hbWUsICItd2Via2l0LWNhbGMoIik7Cit9CisK
IENTU1BhcnNlcjo6Q1NTUGFyc2VyKGJvb2wgc3RyaWN0UGFyc2luZykKICAgICA6IG1fc3RyaWN0
KHN0cmljdFBhcnNpbmcpCiAgICAgLCBtX2ltcG9ydGFudChmYWxzZSkKQEAgLTEwMTAsOSArMTAx
NiwxMiBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShpbnQgcHJvcElkLCBib29sIGltcG9y
dGFudCkKICAgICAgICAgICAgIHZhbGlkX3ByaW1pdGl2ZSA9ICghaWQgJiYgdmFsaWRVbml0KHZh
bHVlLCBGTGVuZ3RofEZQZXJjZW50LCBtX3N0cmljdCkpOwogICAgICAgICBicmVhazsKIAotICAg
IGNhc2UgQ1NTUHJvcGVydHlIZWlnaHQ6ICAgICAgICAgICAgICAgLy8gPGxlbmd0aD4gfCA8cGVy
Y2VudGFnZT4gfCBhdXRvIHwgaW5oZXJpdAotICAgIGNhc2UgQ1NTUHJvcGVydHlXaWR0aDogICAg
ICAgICAgICAgICAgLy8gPGxlbmd0aD4gfCA8cGVyY2VudGFnZT4gfCBhdXRvIHwgaW5oZXJpdAot
ICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVBdXRvIHx8IGlkID09IENTU1ZhbHVlSW50cmluc2lj
IHx8IGlkID09IENTU1ZhbHVlTWluSW50cmluc2ljKQorICAgIGNhc2UgQ1NTUHJvcGVydHlIZWln
aHQ6ICAgICAgICAgICAgICAgLy8gPGxlbmd0aD4gfCA8cGVyY2VudGFnZT4gfCBhdXRvIHwgaW5o
ZXJpdCB8IGNhbGMoKQorICAgIGNhc2UgQ1NTUHJvcGVydHlXaWR0aDogICAgICAgICAgICAgICAg
Ly8gPGxlbmd0aD4gfCA8cGVyY2VudGFnZT4gfCBhdXRvIHwgaW5oZXJpdCB8IGNhbGMoKQorICAg
ICAgICBpZiAoaXNDYWxjKHZhbHVlKSkgeworICAgICAgICAgICAgaWYgKHBhcnNlQ2FsY3VsYXRl
ZExlbmd0aChwcm9wSWQsIHZhbHVlLCBpbXBvcnRhbnQpKQorICAgICAgICAgICAgICAgIHJldHVy
biB0cnVlOworICAgICAgICB9IGVsc2UgaWYgKGlkID09IENTU1ZhbHVlQXV0byB8fCBpZCA9PSBD
U1NWYWx1ZUludHJpbnNpYyB8fCBpZCA9PSBDU1NWYWx1ZU1pbkludHJpbnNpYykKICAgICAgICAg
ICAgIHZhbGlkX3ByaW1pdGl2ZSA9IHRydWU7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIC8v
ICMjIyBoYW5kbGUgbXVsdGlsZW5ndGggY2FzZSB3aGVyZSB3ZSBhbGxvdyByZWxhdGl2ZSB1bml0
cwpAQCAtMzgyMyw2ICszODMyLDIyIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVNoYWRvdyhpbnQg
cHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgQ1NT
UGFyc2VyOjpwYXJzZUNhbGN1bGF0ZWRMZW5ndGgoaW50IHByb3BJZCwgQ1NTUGFyc2VyVmFsdWUq
IHBhcnNlclZhbHVlLCBib29sIGltcG9ydGFudCkKK3sKKyAgICBBU1NFUlQoaXNDYWxjKHBhcnNl
clZhbHVlKSk7CisKKyAgICBDU1NQYXJzZXJWYWx1ZUxpc3QqIGFyZ3MgPSBwYXJzZXJWYWx1ZS0+
ZnVuY3Rpb24tPmFyZ3M7CisgICAgaWYgKCFhcmdzIHx8ICFhcmdzLT5zaXplKCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIFJlZlB0cjxDU1NDYWxjVmFsdWU+IGNhbGMgPSBDU1NDYWxj
VmFsdWU6OmNyZWF0ZUZyb21QYXJzZXJWYWx1ZUxpc3QoYXJncyk7CisgICAgaWYgKCFjYWxjLmdl
dCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhZGRQcm9wZXJ0eShwcm9wSWQsIGNh
bGMucmVsZWFzZSgpLCBpbXBvcnRhbnQpOworICAgIHJldHVybiB0cnVlOworfQorCiBib29sIENT
U1BhcnNlcjo6cGFyc2VSZWZsZWN0KGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogewogICAg
IC8vIGJveC1yZWZsZWN0OiA8ZGlyZWN0aW9uPiA8b2Zmc2V0PiA8bWFzaz4KQEAgLTQ2NTAsNiAr
NDY3NSw3IEBAIGludCBDU1NQYXJzZXI6OmxleCh2b2lkKiB5eWx2YWxXaXRob3V0VHlwZSkKICAg
ICBjYXNlIFVOSUNPREVSQU5HRToKICAgICBjYXNlIEZVTkNUSU9OOgogICAgIGNhc2UgTk9URlVO
Q1RJT046CisgICAgY2FzZSBDQUxDRlVOQ1RJT046CiAgICAgY2FzZSBWQVJDQUxMOgogICAgICAg
ICB5eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJzID0gdDsKICAgICAgICAgeXlsdmFsLT5zdHJpbmcu
bGVuZ3RoID0gbGVuZ3RoOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmggYi9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCAzOTIyYTJhLi5iM2Q5N2EzIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApA
QCAtMjI5LDYgKzIyOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgaW50IGxleCgp
OwogICAgICAgICAKICAgICBwcml2YXRlOgorICAgICAgICBib29sIHBhcnNlQ2FsY3VsYXRlZExl
bmd0aChpbnQgcHJvcElkLCBDU1NQYXJzZXJWYWx1ZSosIGJvb2wgaW1wb3J0YW50KTsKKwogICAg
ICAgICB2b2lkIHJlY2hlY2tBdEtleXdvcmQoY29uc3QgVUNoYXIqIHN0ciwgaW50IGxlbik7CiAg
ICAgCiAgICAgICAgIHZvaWQgY2xlYXJQcm9wZXJ0aWVzKCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmNw
cAppbmRleCA1NWVjYjdmLi4wZmJiMDJlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXJWYWx1ZXMuY3BwCisrKyBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5jcHAKQEAgLTQ2
LDcgKzQ2LDE0IEBAIHZvaWQgQ1NTUGFyc2VyVmFsdWVMaXN0OjphZGRWYWx1ZShjb25zdCBDU1NQ
YXJzZXJWYWx1ZSYgdikKICAgICAgICAgbV92YXJpYWJsZXNDb3VudCsrOwogICAgIG1fdmFsdWVz
LmFwcGVuZCh2KTsKIH0KLSAgICAKKwordm9pZCBDU1NQYXJzZXJWYWx1ZUxpc3Q6Omluc2VydFZh
bHVlQXQodW5zaWduZWQgaSwgY29uc3QgQ1NTUGFyc2VyVmFsdWUmIHYpCit7CisgICAgaWYgKHYu
dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BBUlNFUl9WQVJJQUJMRV9GVU5DVElPTl9T
WU5UQVgpIC8vIGlzVmFyaWFibGUoKSBpcyBub3QgaW5saW5lZC4gVGhpcyBpcyBob3QuCisgICAg
ICAgIG1fdmFyaWFibGVzQ291bnQrKzsKKyAgICBtX3ZhbHVlcy5pbnNlcnQoaSwgdik7Cit9CisK
IHZvaWQgQ1NTUGFyc2VyVmFsdWVMaXN0OjpkZWxldGVWYWx1ZUF0KHVuc2lnbmVkIGkpCiB7IAog
ICAgIGlmIChtX3ZhbHVlc1tpXS5pc1ZhcmlhYmxlKCkpCkBAIC04MSw0ICs4OCwzIEBAIFBhc3NS
ZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlclZhbHVlOjpjcmVhdGVDU1NWYWx1ZSgpCiB9CiAKIH0K
LQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmggYi9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXJWYWx1ZXMuaAppbmRleCAxZTk3NjdhLi4xOGIwMzMyIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJW
YWx1ZXMuaApAQCAtNzAsNiArNzAsNyBAQCBwdWJsaWM6CiAgICAgfkNTU1BhcnNlclZhbHVlTGlz
dCgpOwogICAgIAogICAgIHZvaWQgYWRkVmFsdWUoY29uc3QgQ1NTUGFyc2VyVmFsdWUmKTsKKyAg
ICB2b2lkIGluc2VydFZhbHVlQXQodW5zaWduZWQsIGNvbnN0IENTU1BhcnNlclZhbHVlJik7CiAg
ICAgdm9pZCBkZWxldGVWYWx1ZUF0KHVuc2lnbmVkKTsKIAogICAgIHVuc2lnbmVkIHNpemUoKSBj
b25zdCB7IHJldHVybiBtX3ZhbHVlcy5zaXplKCk7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3Nz
L0NTU1ByaW1pdGl2ZVZhbHVlLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNw
cAppbmRleCAxZjJjOWNhLi5jNjI2MGQ0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZS5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCkBA
IC0yNDgsNiArMjQ4LDEwIEBAIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShj
b25zdCBMZW5ndGgmIGxlbmd0aCkKICAgICAgICAgICAgIG1fdHlwZSA9IENTU19QRVJDRU5UQUdF
OwogICAgICAgICAgICAgbV92YWx1ZS5udW0gPSBsZW5ndGgucGVyY2VudCgpOwogICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKKyAgICAgICAgICAgIC8vIFdlIGNh
bid0IGdpdmUgYSBzYW5lIHByaW1pdGl2ZSB2YWx1ZSBmb3IgY2FsYy4KKyAgICAgICAgICAgIG1f
dHlwZSA9IENTU19VTktOT1dOOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgUmVs
YXRpdmU6CiAgICAgICAgIGNhc2UgU3RhdGljOgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcCBiL1dl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCmluZGV4IGQzZWE4YmIuLjdiZWFiZjMgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCisrKyBiL1dlYkNvcmUv
Y3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiQ1NT
U3R5bGVTZWxlY3Rvci5oIgogCiAjaW5jbHVkZSAiQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oIgorI2lu
Y2x1ZGUgIkNTU0NhbGNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0N1cnNvckltYWdlVmFsdWUuaCIK
ICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmgi
CkBAIC0yODE2LDcgKzI4MTcsNyBAQCB2b2lkIENTU1J1bGVTZXQ6OmFkZFJ1bGVzRnJvbVNoZWV0
KENTU1N0eWxlU2hlZXQqIHNoZWV0LCBjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdAogLy8gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogLy8gdGhpcyBpcyBtb3N0bHkgYm9yaW5nIHN0dWZmIG9u
IGhvdyB0byBhcHBseSBhIGNlcnRhaW4gcnVsZSB0byB0aGUgcmVuZGVyc3R5bGUuLi4KIAotc3Rh
dGljIExlbmd0aCBjb252ZXJ0VG9MZW5ndGgoQ1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZh
bHVlLCBSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSBt
dWx0aXBsaWVyID0gMSwgYm9vbCAqb2sgPSAwKQorTGVuZ3RoIENTU1N0eWxlU2VsZWN0b3I6OmNv
bnZlcnRUb0xlbmd0aChDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUsIFJlbmRlclN0
eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIG11bHRpcGxpZXIsIGJv
b2wgKm9rKQogewogICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgdG9sZXJhbnQgb2YgYSBudWxsIHN0
eWxlIHZhbHVlLiBUaGUgb25seSBwbGFjZSBzdHlsZSBpcyB1c2VkIGlzIGluCiAgICAgLy8gbGVu
Z3RoIG1lYXN1cmVtZW50cywgbGlrZSAnZW1zJyBhbmQgJ3B4Jy4gQW5kIGluIHRob3NlIGNhc2Vz
IHN0eWxlIGlzIG9ubHkgdXNlZApAQCAtMzY5OSw3ICszNzAwLDEzIEBAIHZvaWQgQ1NTU3R5bGVT
ZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShpbnQgaWQsIENTU1ZhbHVlICp2YWx1ZSkKICAgICAgICAg
ICAgIEhBTkRMRV9JTklUSUFMX0NPTkRfV0lUSF9WQUxVRShDU1NQcm9wZXJ0eU1hcmdpbkxlZnQs
IE1hcmdpbkxlZnQsIE1hcmdpbikKICAgICAgICAgICAgIEhBTkRMRV9JTklUSUFMX0NPTkQoQ1NT
UHJvcGVydHlUZXh0SW5kZW50LCBUZXh0SW5kZW50KQogICAgICAgICAgICAgcmV0dXJuOwotICAg
ICAgICB9IAorICAgICAgICB9CisgICAgICAgIGlmICh2YWx1ZS0+aXNDYWxjVmFsdWUoKSkgewor
ICAgICAgICAgICAgQ1NTQ2FsY1ZhbHVlKiBjYWxjID0gc3RhdGljX2Nhc3Q8Q1NTQ2FsY1ZhbHVl
Kj4odmFsdWUpOworICAgICAgICAgICAgbCA9IExlbmd0aChjYWxjLCBtX3N0eWxlLmdldCgpLCBt
X3Jvb3RFbGVtZW50U3R5bGUpOworICAgICAgICAgICAgaWYgKGwuaXNDYWxjdWxhdGVkKCkpCisg
ICAgICAgICAgICAgICAgYXBwbHkgPSB0cnVlOworICAgICAgICB9CiAKICAgICAgICAgaWYgKHBy
aW1pdGl2ZVZhbHVlICYmICFhcHBseSkgewogICAgICAgICAgICAgaW50IHR5cGUgPSBwcmltaXRp
dmVWYWx1ZS0+cHJpbWl0aXZlVHlwZSgpOwpAQCAtMzgwMSw2ICszODA4LDEyIEBAIHZvaWQgQ1NT
U3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShpbnQgaWQsIENTU1ZhbHVlICp2YWx1ZSkKICAg
ICAgICAgICAgIEhBTkRMRV9JTklUSUFMX0NPTkRfV0lUSF9WQUxVRShDU1NQcm9wZXJ0eU1pbkhl
aWdodCwgTWluSGVpZ2h0LCBNaW5TaXplKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9
CisgICAgICAgIGlmICh2YWx1ZS0+aXNDYWxjVmFsdWUoKSkgeworICAgICAgICAgICAgQ1NTQ2Fs
Y1ZhbHVlKiBjYWxjID0gc3RhdGljX2Nhc3Q8Q1NTQ2FsY1ZhbHVlKj4odmFsdWUpOworICAgICAg
ICAgICAgbCA9IExlbmd0aChjYWxjLCBtX3N0eWxlLmdldCgpLCBtX3Jvb3RFbGVtZW50U3R5bGUp
OworICAgICAgICAgICAgaWYgKGwuaXNDYWxjdWxhdGVkKCkpCisgICAgICAgICAgICAgICAgYXBw
bHkgPSB0cnVlOworICAgICAgICB9CiAKICAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlICYmICFh
cHBseSkgewogICAgICAgICAgICAgdW5zaWduZWQgc2hvcnQgdHlwZSA9IHByaW1pdGl2ZVZhbHVl
LT5wcmltaXRpdmVUeXBlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVj
dG9yLmggYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKaW5kZXggZmFiNTAwNi4uNGI4
NjgxYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCisrKyBiL1dl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaApAQCAtMjEwLDYgKzIxMCw4IEBAIHB1YmxpYzoK
ICAgICAgICAgICAgIG11dGFibGUgSGFzaFNldDxMaW5rSGFzaCwgTGlua0hhc2hIYXNoPiBtX2xp
bmtzQ2hlY2tlZEZvclZpc2l0ZWRTdGF0ZTsKICAgICAgICAgfTsKIAorICAgICAgICBzdGF0aWMg
TGVuZ3RoIGNvbnZlcnRUb0xlbmd0aChDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUs
IFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIG11bHRp
cGxpZXIgPSAxLCBib29sICpvayA9IDApOworCiAgICAgcHJpdmF0ZToKICAgICAgICAgc3RhdGlj
IFJlbmRlclN0eWxlKiBzX3N0eWxlTm90WWV0QXZhaWxhYmxlOwogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2Nzcy9DU1NWYWx1ZS5oIGIvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAppbmRleCAwYmQ2NDk2
Li40YzdjZTFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCisrKyBiL1dlYkNv
cmUvY3NzL0NTU1ZhbHVlLmgKQEAgLTYxLDYgKzYxLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
Ym9vbCBpc1RpbWluZ0Z1bmN0aW9uVmFsdWUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAg
IHZpcnR1YWwgYm9vbCBpc1ZhbHVlTGlzdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAg
dmlydHVhbCBib29sIGlzV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc0NhbGNWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAKICNpZiBFTkFCTEUoU1ZHKQogICAgIHZpcnR1YWwgYm9vbCBpc1NWR0NvbG9yKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL3Rva2VuaXpl
ci5mbGV4IGIvV2ViQ29yZS9jc3MvdG9rZW5pemVyLmZsZXgKaW5kZXggMTU2OWVlMi4uYWU4ZWY5
OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvdG9rZW5pemVyLmZsZXgKKysrIGIvV2ViQ29yZS9j
c3MvdG9rZW5pemVyLmZsZXgKQEAgLTExLDExICsxMSwxMyBAQCB1bmljb2RlICAgICAgICAgXFx7
aH17MSw2fVsgXHRcclxuXGZdPwogZXNjYXBlICAgICAgICAgIHt1bmljb2RlfXxcXFsgLX5cMjAw
LVwzNzddCiBubXN0YXJ0ICAgICAgICAgW19hLXpBLVpdfHtub25hc2NpaX18e2VzY2FwZX0KIG5t
Y2hhciAgICAgICAgICBbX2EtekEtWjAtOS1dfHtub25hc2NpaX18e2VzY2FwZX0KK2RpbWNoYXIg
ICAgICAgICBbX2EtekEtWjAtOV18e25vbmFzY2lpfXx7ZXNjYXBlfQogc3RyaW5nMSAgICAgICAg
IFwiKFtcdCAhIyQlJigtfl18XFx7bmx9fFwnfHtub25hc2NpaX18e2VzY2FwZX0pKlwiCiBzdHJp
bmcyICAgICAgICAgXCcoW1x0ICEjJCUmKC1+XXxcXHtubH18XCJ8e25vbmFzY2lpfXx7ZXNjYXBl
fSkqXCcKIGhleGNvbG9yICAgICAgICB7aH17M318e2h9ezZ9CiAKIGlkZW50ICAgICAgICAgICAt
P3tubXN0YXJ0fXtubWNoYXJ9KgorZGltaWRlbnQgICAgICAgIHtubXN0YXJ0fXtkaW1jaGFyfSoK
IG5hbWUgICAgICAgICAgICB7bm1jaGFyfSsKIG51bSAgICAgICAgICAgICBbMC05XSt8WzAtOV0q
Ii4iWzAtOV0rCiBpbnRudW0gICAgICAgICAgWzAtOV0rCkBAIC05MCw3ICs5Miw3IEBAIG50aCAg
ICAgICAgICAgICAoLT9bMC05XSpuW1wrLV1bMC05XSspfCgtP1swLTldKm4pCiB7bnVtfXMgICAg
ICAgICAgICAgICAgICB7eXlUb2sgPSBTRUNTOyByZXR1cm4geXlUb2s7fQoge251bX1IeiAgICAg
ICAgICAgICAgICAge3l5VG9rID0gSEVSWjsgcmV0dXJuIHl5VG9rO30KIHtudW19a0h6ICAgICAg
ICAgICAgICAgIHt5eVRvayA9IEtIRVJaOyByZXR1cm4geXlUb2s7fQote251bX17aWRlbnR9ICAg
ICAgICAgICAge3l5VG9rID0gRElNRU47IHJldHVybiB5eVRvazt9Cit7bnVtfXtkaW1pZGVudH0g
ICAgICAgICB7eXlUb2sgPSBESU1FTjsgcmV0dXJuIHl5VG9rO30KIHtudW19JSsgICAgICAgICAg
ICAgICAgIHt5eVRvayA9IFBFUkNFTlRBR0U7IHJldHVybiB5eVRvazt9CiB7aW50bnVtfSAgICAg
ICAgICAgICAgICB7eXlUb2sgPSBJTlRFR0VSOyByZXR1cm4geXlUb2s7fQoge251bX0gICAgICAg
ICAgICAgICAgICAge3l5VG9rID0gRkxPQVRUT0tFTjsgcmV0dXJuIHl5VG9rO30KQEAgLTk5LDYg
KzEwMSw3IEBAIG50aCAgICAgICAgICAgICAoLT9bMC05XSpuW1wrLV1bMC05XSspfCgtP1swLTld
Km4pCiAidXJsKCJ7d317c3RyaW5nfXt3fSIpIiB7eXlUb2sgPSBVUkk7IHJldHVybiB5eVRvazt9
CiAidXJsKCJ7d317dXJsfXt3fSIpIiAgICB7eXlUb2sgPSBVUkk7IHJldHVybiB5eVRvazt9CiAi
LXdlYmtpdC12YXIoInt3fXtpZGVudH17d30iKSIgeyB5eVRvayA9IFZBUkNBTEw7IHJldHVybiB5
eVRvazsgfQorIi13ZWJraXQtY2FsYygiICAgICAgICAge3l5VG9rID0gQ0FMQ0ZVTkNUSU9OOyBy
ZXR1cm4geXlUb2s7IH0KIHtpZGVudH0iKCIgICAgICAgICAgICAgIHt5eVRvayA9IEZVTkNUSU9O
OyByZXR1cm4geXlUb2s7fQogCiBVXCt7cmFuZ2V9ICAgICAgICAgICAgICB7eXlUb2sgPSBVTklD
T0RFUkFOR0U7IHJldHVybiB5eVRvazt9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0xl
bmd0aC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5jcHAKaW5kZXggMzc1N2Q5Mi4uZDdj
N2E0OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguY3BwCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vTGVuZ3RoLmNwcApAQCAtMjUsMTAgKzI1LDE0IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiTGVuZ3RoLmgiCiAKKyNpbmNsdWRlICJDU1NDYWxjVmFsdWUuaCIK
ICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAj
aW5jbHVkZSAiU3RyaW5nQnVmZmVyLmgiCisjaW5jbHVkZSA8bWF0aC5oPgogI2luY2x1ZGUgPHd0
Zi9BU0NJSUNUeXBlLmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKyNpbmNsdWRlIDx3
dGYvSGFzaE1hcC5oPgogCiB1c2luZyBuYW1lc3BhY2UgV1RGOwogCkBAIC0xNDgsNCArMTUyLDE0
OCBAQCBMZW5ndGgqIG5ld0xlbmd0aEFycmF5KGNvbnN0IFN0cmluZyYgc3RyaW5nLCBpbnQmIGxl
bikKICAgICByZXR1cm4gcjsKIH0KIAorY2xhc3MgQ2FsY3VsYXRlZExlbmd0aCB7CitwdWJsaWM6
CisgICAgQ2FsY3VsYXRlZExlbmd0aChDU1NDYWxjVmFsdWUqIGNhbGMsIFJlbmRlclN0eWxlKiBz
dHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSkKKyAgICAgICAgOiBtX2NhbGMoY2FsYykKKyAg
ICAgICAgLCBtX3N0eWxlKHN0eWxlKQorICAgICAgICAsIG1fcm9vdFN0eWxlKHJvb3RTdHlsZSkK
KyAgICAgICAgLCBtX3JlZkNvdW50KDEpCisgICAgeworICAgIH0KKworICAgIGZsb2F0IGV2YWx1
YXRlKGZsb2F0IG1heFZhbHVlKSBjb25zdAorICAgIHsKKyAgICAgICAgZmxvYXQgcmVzdWx0ID0g
bV9jYWxjLT5ldmFsdWF0ZShtX3N0eWxlLCBtX3Jvb3RTdHlsZSwgbWF4VmFsdWUpOworICAgICAg
ICAvLyBGSVhNRTogcmVzdWx0IGlzIE5hTiB3aGVuIHRoZXJlIGlzIGEgZGl2aXNpb24gYnkgemVy
byB3aGljaAorICAgICAgICAvLyAgICAgICAgaXNuJ3QgZm91bmQgYXQgcGFyc2UgdGltZSAoZS5n
LiwgNS8oMTAwJS0yMDBweCkqMTAwcHgpLgorICAgICAgICAvLyAgICAgICAgVGhlcmUgaXMgYSBk
aXNjdXNzaW9uIGFib3V0IHRoaXMgYW5kIGhvcGVmdWxseSBzcGVjCisgICAgICAgIC8vICAgICAg
ICB3aWxsIGhhdmUgdGhlIGRlY2lzaW9uIGZvciB0aGlzIGlzc3VlLgorICAgICAgICAvLyAgICAg
ICAgaHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9QdWJsaWMvd3d3LXN0eWxlLzIwMTBKYW4v
MDAwNy5odG1sCisgICAgICAgIGlmIChpc25hbihyZXN1bHQpKQorICAgICAgICAgICAgcmV0dXJu
IDA7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorCisgICAgaW50IHJlZkNvdW50KCkg
Y29uc3QgeyByZXR1cm4gbV9yZWZDb3VudDsgfQorICAgIGludCBpbmNyZW1lbnRSZWZDb3VudCgp
IHsgcmV0dXJuICsrbV9yZWZDb3VudDsgfQorICAgIGludCBkZWNyZW1lbnRSZWZDb3VudCgpIHsg
cmV0dXJuIC0tbV9yZWZDb3VudDsgfQorCitwcml2YXRlOgorICAgIFJlZlB0cjxDU1NDYWxjVmFs
dWU+IG1fY2FsYzsKKyAgICBSZW5kZXJTdHlsZSogbV9zdHlsZTsKKyAgICBSZW5kZXJTdHlsZSog
bV9yb290U3R5bGU7CisgICAgaW50IG1fcmVmQ291bnQ7Cit9OworCituYW1lc3BhY2UgeworCisv
LyBBcyBMZW5ndGggb25seSBoYXMgMzJiaXQsIHdlIGNhbm5vdCBoYXZlIHRoZSBkYXRhIGZvciBj
YWxjKCkgaW4gdGhlCisvLyBMZW5ndGggb2JqZWN0LiBTbywgd2UgZ2l2ZSBzZXJpYWwgSURzLCB3
aGVyZSAwIDwgSUQgPCAweDBmZmZmZmZmLAorLy8gZm9yIGVhY2ggZGF0YSBhbmQgYWNjZXNzIHRo
ZSBkYXRhIHVzaW5nIHRoaXMgSUQuCit0eXBlZGVmIEhhc2hNYXA8aW50LCBDYWxjdWxhdGVkTGVu
Z3RoKj4gQ2FsY3VsYXRlZExlbmd0aE1hcDsKK0NhbGN1bGF0ZWRMZW5ndGhNYXAqIGdDYWxjdWxh
dGVkTGVuZ3RoTWFwID0gMDsKKworQ2FsY3VsYXRlZExlbmd0aE1hcCogY2FsY3VsYXRlZExlbmd0
aE1hcCgpCit7CisgICAgaWYgKCFnQ2FsY3VsYXRlZExlbmd0aE1hcCkKKyAgICAgICAgZ0NhbGN1
bGF0ZWRMZW5ndGhNYXAgPSBuZXcgQ2FsY3VsYXRlZExlbmd0aE1hcDsKKyAgICByZXR1cm4gZ0Nh
bGN1bGF0ZWRMZW5ndGhNYXA7Cit9CisKK2Zsb2F0IGV2YWx1YXRlQ2FsY3VsYXRlZExlbmd0aE1h
cChpbnQga2V5LCBpbnQgbWF4VmFsdWUpCit7CisKKyAgICBBU1NFUlQoY2FsY3VsYXRlZExlbmd0
aE1hcCgpLT5jb250YWlucyhrZXkpKTsKKyAgICBjb25zdCBDYWxjdWxhdGVkTGVuZ3RoKiBjYWxj
TGVuZ3RoID0gY2FsY3VsYXRlZExlbmd0aE1hcCgpLT5nZXQoa2V5KTsKKyAgICByZXR1cm4gY2Fs
Y0xlbmd0aC0+ZXZhbHVhdGUobWF4VmFsdWUpOworfQorCitpbnQgZ0NhbGN1bGF0ZWRMZW5ndGhJ
ZCA9IDA7CisKK30gLy8gbmFtZXNwYWNlCisKK0xlbmd0aDo6TGVuZ3RoKENTU0NhbGNWYWx1ZSog
Y2FsYywgUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlKQoreworICAg
IC8vIFNraXAgZ0NhbGN1bGF0ZWRMZW5ndGhJZCA9PSAwIGFzIHplcm8ga2V5IGhpdHMgdGhlIGFz
c2VydGlvbiBvZiBIYXNoTWFwLgorICAgIHdoaWxlICghZ0NhbGN1bGF0ZWRMZW5ndGhJZCB8fCBj
YWxjdWxhdGVkTGVuZ3RoTWFwKCktPmNvbnRhaW5zKGdDYWxjdWxhdGVkTGVuZ3RoSWQpKQorICAg
ICAgICBnQ2FsY3VsYXRlZExlbmd0aElkID0gKGdDYWxjdWxhdGVkTGVuZ3RoSWQgKyAxKSAmIDB4
MGZmZmZmZmY7CisgICAgbV92YWx1ZSA9IGdDYWxjdWxhdGVkTGVuZ3RoSWQgKiAxNiB8IENhbGN1
bGF0ZWQ7CisgICAgZ0NhbGN1bGF0ZWRMZW5ndGhJZCA9IChnQ2FsY3VsYXRlZExlbmd0aElkICsg
MSkgJiAweDBmZmZmZmZmOworCisgICAgQ2FsY3VsYXRlZExlbmd0aCogY2FsY0xlbmd0aCA9IG5l
dyBDYWxjdWxhdGVkTGVuZ3RoKGNhbGMsIHN0eWxlLCByb290U3R5bGUpOworICAgIGNhbGN1bGF0
ZWRMZW5ndGhNYXAoKS0+c2V0KGNhbGN1bGF0ZWRMZW5ndGhJZCgpLCBjYWxjTGVuZ3RoKTsKK30K
KworLy8gRklYTUU6IEl0J3MgaW1wb3NzaWJsZSB0byBrbm93IHRoZSBzaWduIG9mIGNhbGMgdmFs
dWVzIHdpdGhvdXQKKy8vICAgICAgICBtYXggdmFsdWUgaWYgdGhlIGNhbGMgZm9ybXVsYSBjb250
YWlucyBwZXJjZW50YW5nZXMuCisvLyAgICAgICAgV2UgYXNzdW1lIGFsbCBjYWxjIHZhbHVlcyBh
cmUgcG9zaXRpdmUgZm9yIG5vdy4KKworYm9vbCBMZW5ndGg6OmNhbGN1bGF0ZWRJc1plcm8oKSBj
b25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBMZW5ndGg6OmNhbGN1bGF0ZWRJ
c1Bvc2l0aXZlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBMZW5ndGg6
OmNhbGN1bGF0ZWRJc05lZ2F0aXZlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
K2ludCBMZW5ndGg6OmNhbGN1bGF0ZWRDYWxjVmFsdWUoaW50IG1heFZhbHVlLCBib29sIC8qIHJv
dW5kUGVyY2VudGFnZXMgKi8pIGNvbnN0Cit7CisgICAgQVNTRVJUKGlzQ2FsY3VsYXRlZCgpKTsK
KyAgICBBU1NFUlQoY2FsY3VsYXRlZExlbmd0aE1hcCgpLT5jb250YWlucyhjYWxjdWxhdGVkTGVu
Z3RoSWQoKSkpOworICAgIGNvbnN0IENhbGN1bGF0ZWRMZW5ndGgqIGNhbGNMZW5ndGggPSBjYWxj
dWxhdGVkTGVuZ3RoTWFwKCktPmdldChjYWxjdWxhdGVkTGVuZ3RoSWQoKSk7CisgICAgZmxvYXQg
cmVzdWx0ID0gY2FsY0xlbmd0aC0+ZXZhbHVhdGUobWF4VmFsdWUpOworICAgIGlmIChpc25hbihy
ZXN1bHQpKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitpbnQg
TGVuZ3RoOjpjYWxjdWxhdGVkQ2FsY01pblZhbHVlKGludCBtYXhWYWx1ZSwgYm9vbCAvKiByb3Vu
ZFBlcmNlbnRhZ2VzICovKSBjb25zdAoreworICAgIEFTU0VSVChpc0NhbGN1bGF0ZWQoKSk7Cisg
ICAgQVNTRVJUKGNhbGN1bGF0ZWRMZW5ndGhNYXAoKS0+Y29udGFpbnMoY2FsY3VsYXRlZExlbmd0
aElkKCkpKTsKKyAgICBjb25zdCBDYWxjdWxhdGVkTGVuZ3RoKiBjYWxjTGVuZ3RoID0gY2FsY3Vs
YXRlZExlbmd0aE1hcCgpLT5nZXQoY2FsY3VsYXRlZExlbmd0aElkKCkpOworICAgIGZsb2F0IHJl
c3VsdCA9IGNhbGNMZW5ndGgtPmV2YWx1YXRlKG1heFZhbHVlKTsKKyAgICBpZiAoaXNuYW4ocmVz
dWx0KSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworZmxvYXQg
TGVuZ3RoOjpjYWxjdWxhdGVkQ2FsY0Zsb2F0VmFsdWUoaW50IG1heFZhbHVlKSBjb25zdAorewor
ICAgIEFTU0VSVChpc0NhbGN1bGF0ZWQoKSk7CisgICAgQVNTRVJUKGNhbGN1bGF0ZWRMZW5ndGhN
YXAoKS0+Y29udGFpbnMoY2FsY3VsYXRlZExlbmd0aElkKCkpKTsKKyAgICBjb25zdCBDYWxjdWxh
dGVkTGVuZ3RoKiBjYWxjTGVuZ3RoID0gY2FsY3VsYXRlZExlbmd0aE1hcCgpLT5nZXQoY2FsY3Vs
YXRlZExlbmd0aElkKCkpOworICAgIGZsb2F0IHJlc3VsdCA9IGNhbGNMZW5ndGgtPmV2YWx1YXRl
KG1heFZhbHVlKTsKKyAgICBpZiAoaXNuYW4ocmVzdWx0KSkKKyAgICAgICAgcmV0dXJuIDA7Cisg
ICAgcmV0dXJuIHJlc3VsdDsKK30KKwordm9pZCBMZW5ndGg6OmluY3JlbWVudENhbGN1bGF0ZWRS
ZWYoKSBjb25zdAoreworICAgIEFTU0VSVChpc0NhbGN1bGF0ZWQoKSk7CisgICAgQVNTRVJUKGNh
bGN1bGF0ZWRMZW5ndGhNYXAoKS0+Y29udGFpbnMoY2FsY3VsYXRlZExlbmd0aElkKCkpKTsKKyAg
ICBDYWxjdWxhdGVkTGVuZ3RoKiBjYWxjTGVuZ3RoID0gY2FsY3VsYXRlZExlbmd0aE1hcCgpLT5n
ZXQoY2FsY3VsYXRlZExlbmd0aElkKCkpOworICAgIGNhbGNMZW5ndGgtPmluY3JlbWVudFJlZkNv
dW50KCk7Cit9CisKK3ZvaWQgTGVuZ3RoOjpkZWNyZW1lbnRDYWxjdWxhdGVkUmVmKCkgY29uc3QK
K3sKKyAgICBBU1NFUlQoaXNDYWxjdWxhdGVkKCkpOworICAgIEFTU0VSVChjYWxjdWxhdGVkTGVu
Z3RoTWFwKCktPmNvbnRhaW5zKGNhbGN1bGF0ZWRMZW5ndGhJZCgpKSk7CisgICAgQ2FsY3VsYXRl
ZExlbmd0aCogY2FsY0xlbmd0aCA9IGNhbGN1bGF0ZWRMZW5ndGhNYXAoKS0+Z2V0KGNhbGN1bGF0
ZWRMZW5ndGhJZCgpKTsKKyAgICBpZiAoIWNhbGNMZW5ndGgtPmRlY3JlbWVudFJlZkNvdW50KCkp
IHsKKyAgICAgICAgZGVsZXRlIGNhbGNMZW5ndGg7CisgICAgICAgIGNhbGN1bGF0ZWRMZW5ndGhN
YXAoKS0+cmVtb3ZlKGNhbGN1bGF0ZWRMZW5ndGhJZCgpKTsKKyAgICB9Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmggYi9X
ZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCmluZGV4IDRmMzY1NzcuLjZlNDk3MTYgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9MZW5n
dGguaApAQCAtMzIsNyArMzIsMTAgQEAgY2xhc3MgU3RyaW5nOwogY29uc3QgaW50IHVuZGVmaW5l
ZExlbmd0aCA9IC0xOwogY29uc3QgaW50IHBlcmNlbnRTY2FsZUZhY3RvciA9IDEyODsKIAotZW51
bSBMZW5ndGhUeXBlIHsgQXV0bywgUmVsYXRpdmUsIFBlcmNlbnQsIEZpeGVkLCBTdGF0aWMsIElu
dHJpbnNpYywgTWluSW50cmluc2ljIH07CitlbnVtIExlbmd0aFR5cGUgeyBBdXRvLCBSZWxhdGl2
ZSwgUGVyY2VudCwgRml4ZWQsIFN0YXRpYywgSW50cmluc2ljLCBNaW5JbnRyaW5zaWMsIENhbGN1
bGF0ZWQgfTsKKworY2xhc3MgQ1NTQ2FsY1ZhbHVlOworY2xhc3MgUmVuZGVyU3R5bGU7CiAKIHN0
cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKICAgICBMZW5ndGgoKQpAQCAtNTcsMTUgKzYw
LDQ1IEBAIHN0cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKICAgICAgICAgQVNTRVJUKHQg
PT0gUGVyY2VudCk7CiAgICAgfQogCisgICAgTGVuZ3RoKENTU0NhbGNWYWx1ZSogY2FsYywgUmVu
ZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlKTsKKworICAgIExlbmd0aChj
b25zdCBMZW5ndGgmIGxlbmd0aCkKKyAgICAgICAgOiBtX3ZhbHVlKGxlbmd0aC5tX3ZhbHVlKQor
ICAgIHsKKyAgICAgICAgaWYgKGlzQ2FsY3VsYXRlZCgpKQorICAgICAgICAgICAgaW5jcmVtZW50
Q2FsY3VsYXRlZFJlZigpOworICAgIH0KKworICAgIExlbmd0aCYgb3BlcmF0b3I9KGNvbnN0IExl
bmd0aCYgbGVuZ3RoKQorICAgIHsKKyAgICAgICAgbV92YWx1ZSA9IGxlbmd0aC5tX3ZhbHVlOwor
ICAgICAgICBpZiAoaXNDYWxjdWxhdGVkKCkpCisgICAgICAgICAgICBpbmNyZW1lbnRDYWxjdWxh
dGVkUmVmKCk7CisgICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisKKyAgICB+TGVuZ3RoKCkK
KyAgICB7CisgICAgICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAgIGRlY3JlbWVu
dENhbGN1bGF0ZWRSZWYoKTsKKyAgICB9CisKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgTGVu
Z3RoJiBvKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlID09IG8ubV92YWx1ZTsgfQogICAgIGJvb2wg
b3BlcmF0b3IhPShjb25zdCBMZW5ndGgmIG8pIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWUgIT0gby5t
X3ZhbHVlOyB9CiAKICAgICBpbnQgdmFsdWUoKSBjb25zdCB7CiAgICAgICAgIEFTU0VSVCh0eXBl
KCkgIT0gUGVyY2VudCk7CisgICAgICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAg
IHJldHVybiB1bmRlZmluZWRMZW5ndGg7CiAgICAgICAgIHJldHVybiByYXdWYWx1ZSgpOwogICAg
IH0KIAotICAgIGludCByYXdWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIChtX3ZhbHVlICYgfjB4Rikg
LyAxNjsgfQorICAgIGludCByYXdWYWx1ZSgpIGNvbnN0CisgICAgeworICAgICAgICBpZiAoaXND
YWxjdWxhdGVkKCkpCisgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkTGVuZ3RoOworICAgICAg
ICByZXR1cm4gKG1fdmFsdWUgJiB+MHhGKSAvIDE2OworICAgIH0KIAogICAgIGRvdWJsZSBwZXJj
ZW50KCkgY29uc3QKICAgICB7CkBAIC03OCwxOSArMTExLDMxIEBAIHN0cnVjdCBMZW5ndGggOiBG
YXN0QWxsb2NCYXNlIHsKIAogICAgIHZvaWQgc2V0VmFsdWUoTGVuZ3RoVHlwZSB0LCBpbnQgdmFs
dWUpCiAgICAgewotICAgICAgICBBU1NFUlQodCAhPSBQZXJjZW50KTsKKyAgICAgICAgQVNTRVJU
KHQgIT0gUGVyY2VudCAmJiB0ICE9IENhbGN1bGF0ZWQpOwogICAgICAgICBzZXRSYXdWYWx1ZSh0
LCB2YWx1ZSk7CiAgICAgfQogCi0gICAgdm9pZCBzZXRSYXdWYWx1ZShMZW5ndGhUeXBlIHQsIGlu
dCB2YWx1ZSkgeyBtX3ZhbHVlID0gdmFsdWUgKiAxNiB8IChtX3ZhbHVlICYgMHg4KSB8IHQ7IH0K
KyAgICB2b2lkIHNldFJhd1ZhbHVlKExlbmd0aFR5cGUgdCwgaW50IHZhbHVlKQorICAgIHsKKyAg
ICAgICAgaWYgKGlzQ2FsY3VsYXRlZCgpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBt
X3ZhbHVlID0gdmFsdWUgKiAxNiB8IChtX3ZhbHVlICYgMHg4KSB8IHQ7CisgICAgfQogCiAgICAg
dm9pZCBzZXRWYWx1ZShpbnQgdmFsdWUpCiAgICAgewogICAgICAgICBBU1NFUlQoIXZhbHVlIHx8
IHR5cGUoKSAhPSBQZXJjZW50KTsKKyAgICAgICAgaWYgKGlzQ2FsY3VsYXRlZCgpKQorICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICBzZXRSYXdWYWx1ZSh2YWx1ZSk7CiAgICAgfQogCi0gICAg
dm9pZCBzZXRSYXdWYWx1ZShpbnQgdmFsdWUpIHsgbV92YWx1ZSA9IHZhbHVlICogMTYgfCAobV92
YWx1ZSAmIDB4Rik7IH0KKyAgICB2b2lkIHNldFJhd1ZhbHVlKGludCB2YWx1ZSkKKyAgICB7Cisg
ICAgICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
bV92YWx1ZSA9IHZhbHVlICogMTYgfCAobV92YWx1ZSAmIDB4Rik7CisgICAgfQogCiAgICAgdm9p
ZCBzZXRWYWx1ZShMZW5ndGhUeXBlIHQsIGRvdWJsZSB2YWx1ZSkKICAgICB7CkBAIC0xMTAsNiAr
MTU1LDggQEAgc3RydWN0IExlbmd0aCA6IEZhc3RBbGxvY0Jhc2UgewogICAgICAgICBzd2l0Y2gg
KHR5cGUoKSkgewogICAgICAgICAgICAgY2FzZSBGaXhlZDoKICAgICAgICAgICAgICAgICByZXR1
cm4gdmFsdWUoKTsKKyAgICAgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKKyAgICAgICAgICAgICAg
ICByZXR1cm4gY2FsY3VsYXRlZENhbGNWYWx1ZShtYXhWYWx1ZSwgcm91bmRQZXJjZW50YWdlcyk7
CiAgICAgICAgICAgICBjYXNlIFBlcmNlbnQ6CiAgICAgICAgICAgICAgICAgaWYgKHJvdW5kUGVy
Y2VudGFnZXMpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KHJv
dW5kKG1heFZhbHVlICogcGVyY2VudCgpIC8gMTAwLjApKTsKQEAgLTEyNiw2ICsxNzMsOCBAQCBz
dHJ1Y3QgTGVuZ3RoIDogRmFzdEFsbG9jQmFzZSB7CiAgICAgICAgIHN3aXRjaCAodHlwZSgpKSB7
CiAgICAgICAgICAgICBjYXNlIEZpeGVkOgogICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZSgp
OworICAgICAgICAgICAgY2FzZSBDYWxjdWxhdGVkOgorICAgICAgICAgICAgICAgIHJldHVybiBj
YWxjdWxhdGVkQ2FsY01pblZhbHVlKG1heFZhbHVlLCByb3VuZFBlcmNlbnRhZ2VzKTsKICAgICAg
ICAgICAgIGNhc2UgUGVyY2VudDoKICAgICAgICAgICAgICAgICBpZiAocm91bmRQZXJjZW50YWdl
cykKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4ocm91bmQobWF4
VmFsdWUgKiBwZXJjZW50KCkgLyAxMDAuMCkpOwpAQCAtMTQxLDYgKzE5MCw4IEBAIHN0cnVjdCBM
ZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKICAgICAgICAgc3dpdGNoICh0eXBlKCkpIHsKICAgICAg
ICAgICAgIGNhc2UgRml4ZWQ6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGZs
b2F0Pih2YWx1ZSgpKTsKKyAgICAgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKKyAgICAgICAgICAg
ICAgICByZXR1cm4gY2FsY3VsYXRlZENhbGNGbG9hdFZhbHVlKG1heFZhbHVlKTsKICAgICAgICAg
ICAgIGNhc2UgUGVyY2VudDoKICAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Zmxv
YXQ+KG1heFZhbHVlICogcGVyY2VudCgpIC8gMTAwLjApOwogICAgICAgICAgICAgY2FzZSBBdXRv
OgpAQCAtMTUxLDEwICsyMDIsMjYgQEAgc3RydWN0IExlbmd0aCA6IEZhc3RBbGxvY0Jhc2Ugewog
ICAgIH0KIAogICAgIGJvb2wgaXNVbmRlZmluZWQoKSBjb25zdCB7IHJldHVybiByYXdWYWx1ZSgp
ID09IHVuZGVmaW5lZExlbmd0aDsgfQotICAgIGJvb2wgaXNaZXJvKCkgY29uc3QgeyByZXR1cm4g
IShtX3ZhbHVlICYgfjB4Rik7IH0KLSAgICBib29sIGlzUG9zaXRpdmUoKSBjb25zdCB7IHJldHVy
biByYXdWYWx1ZSgpID4gMDsgfQotICAgIGJvb2wgaXNOZWdhdGl2ZSgpIGNvbnN0IHsgcmV0dXJu
IHJhd1ZhbHVlKCkgPCAwOyB9CisgICAgYm9vbCBpc1plcm8oKSBjb25zdAorICAgIHsKKyAgICAg
ICAgaWYgKGlzQ2FsY3VsYXRlZCgpKQorICAgICAgICAgICAgcmV0dXJuIGNhbGN1bGF0ZWRJc1pl
cm8oKTsKKyAgICAgICAgcmV0dXJuICEobV92YWx1ZSAmIH4weEYpOworICAgIH0KKyAgICBib29s
IGlzUG9zaXRpdmUoKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKGlzQ2FsY3VsYXRlZCgpKQor
ICAgICAgICAgICAgcmV0dXJuIGNhbGN1bGF0ZWRJc1Bvc2l0aXZlKCk7CisgICAgICAgIHJldHVy
biByYXdWYWx1ZSgpID4gMDsKKyAgICB9CisgICAgYm9vbCBpc05lZ2F0aXZlKCkgY29uc3QKKyAg
ICB7CisgICAgICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAgIHJldHVybiBjYWxj
dWxhdGVkSXNOZWdhdGl2ZSgpOworICAgICAgICByZXR1cm4gcmF3VmFsdWUoKSA8IDA7CisgICAg
fQogCisgICAgYm9vbCBpc0NhbGN1bGF0ZWQoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gQ2Fs
Y3VsYXRlZDsgfQogICAgIGJvb2wgaXNBdXRvKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IEF1
dG87IH0KICAgICBib29sIGlzUmVsYXRpdmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gUmVs
YXRpdmU7IH0KICAgICBib29sIGlzUGVyY2VudCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBQ
ZXJjZW50OyB9CkBAIC0xNzAsNyArMjM3LDExIEBAIHN0cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NC
YXNlIHsKIAogICAgICAgICBpZiAoZnJvbS5pc1plcm8oKSAmJiBpc1plcm8oKSkKICAgICAgICAg
ICAgIHJldHVybiAqdGhpczsKLSAgICAgICAgCisKKyAgICAgICAgLy8gRklYTUU6IFdlIGNhbm5v
dCBoYW5kbGUgYmxlbmQgZm9yIGNhbGMgZm9yIG5vdy4KKyAgICAgICAgaWYgKGlzQ2FsY3VsYXRl
ZCgpIHx8IGZyb20uaXNDYWxjdWxhdGVkKCkpCisgICAgICAgICAgICByZXR1cm4gKnRoaXM7CisK
ICAgICAgICAgTGVuZ3RoVHlwZSByZXN1bHRUeXBlID0gdHlwZSgpOwogICAgICAgICBpZiAoaXNa
ZXJvKCkpCiAgICAgICAgICAgICByZXN1bHRUeXBlID0gZnJvbS50eXBlKCk7CkBAIC0xODcsNiAr
MjU4LDIwIEBAIHN0cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKICAgICB9CiAKIHByaXZh
dGU6CisgICAgYm9vbCBjYWxjdWxhdGVkSXNaZXJvKCkgY29uc3Q7CisgICAgYm9vbCBjYWxjdWxh
dGVkSXNQb3NpdGl2ZSgpIGNvbnN0OworICAgIGJvb2wgY2FsY3VsYXRlZElzTmVnYXRpdmUoKSBj
b25zdDsKKyAgICBpbnQgY2FsY3VsYXRlZENhbGNWYWx1ZShpbnQgbWF4VmFsdWUsIGJvb2wgcm91
bmRQZXJjZW50YWdlcykgY29uc3Q7CisgICAgaW50IGNhbGN1bGF0ZWRDYWxjTWluVmFsdWUoaW50
IG1heFZhbHVlLCBib29sIHJvdW5kUGVyY2VudGFnZXMpIGNvbnN0OworICAgIGZsb2F0IGNhbGN1
bGF0ZWRDYWxjRmxvYXRWYWx1ZShpbnQgbWF4VmFsdWUpIGNvbnN0OworICAgIGludCBjYWxjdWxh
dGVkTGVuZ3RoSWQoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzQ2FsY3VsYXRlZCgp
KTsKKyAgICAgICAgcmV0dXJuIChtX3ZhbHVlICYgfjB4RikgLyAxNjsKKyAgICB9CisgICAgdm9p
ZCBpbmNyZW1lbnRDYWxjdWxhdGVkUmVmKCkgY29uc3Q7CisgICAgdm9pZCBkZWNyZW1lbnRDYWxj
dWxhdGVkUmVmKCkgY29uc3Q7CisKICAgICBpbnQgbV92YWx1ZTsKIH07CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9TdHJpbmdJbXBsLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9TdHJpbmdJbXBsLmNwcAppbmRleCAzYjYxYTBiLi44OTliYTQyIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvU3RyaW5nSW1wbC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L1N0cmluZ0ltcGwuY3BwCkBAIC00NDYsNyArNDQ2LDcgQEAgZmxvYXQgU3RyaW5nSW1w
bDo6dG9GbG9hdChib29sKiBvaykKICAgICByZXR1cm4gY2hhcmFjdGVyc1RvRmxvYXQobV9kYXRh
LCBtX2xlbmd0aCwgb2spOwogfQogCi1zdGF0aWMgYm9vbCBlcXVhbChjb25zdCBVQ2hhciogYSwg
Y29uc3QgY2hhciogYiwgaW50IGxlbmd0aCkKK2Jvb2wgZXF1YWwoY29uc3QgVUNoYXIqIGEsIGNv
bnN0IGNoYXIqIGIsIGludCBsZW5ndGgpCiB7CiAgICAgQVNTRVJUKGxlbmd0aCA+PSAwKTsKICAg
ICB3aGlsZSAobGVuZ3RoLS0pIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9T
dHJpbmdJbXBsLmggYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvU3RyaW5nSW1wbC5oCmluZGV4IGY3
YTlkMDYuLmIzOGJmMDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9TdHJpbmdJ
bXBsLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1N0cmluZ0ltcGwuaApAQCAtMjA1LDYg
KzIwNSw4IEBAIHByaXZhdGU6CiBib29sIGVxdWFsKFN0cmluZ0ltcGwqLCBTdHJpbmdJbXBsKik7
CiBib29sIGVxdWFsKFN0cmluZ0ltcGwqLCBjb25zdCBjaGFyKik7CiBpbmxpbmUgYm9vbCBlcXVh
bChjb25zdCBjaGFyKiBhLCBTdHJpbmdJbXBsKiBiKSB7IHJldHVybiBlcXVhbChiLCBhKTsgfQor
Ym9vbCBlcXVhbChjb25zdCBVQ2hhciogYSwgY29uc3QgY2hhciogYiwgaW50IGxlbmd0aCk7Citp
bmxpbmUgYm9vbCBlcXVhbChjb25zdCBjaGFyKiBhLCBjb25zdCBVQ2hhciogYiwgaW50IGxlbmd0
aCkgeyByZXR1cm4gZXF1YWwoYiwgYSwgbGVuZ3RoKTsgfQogCiBib29sIGVxdWFsSWdub3JpbmdD
YXNlKFN0cmluZ0ltcGwqLCBTdHJpbmdJbXBsKik7CiBib29sIGVxdWFsSWdub3JpbmdDYXNlKFN0
cmluZ0ltcGwqLCBjb25zdCBjaGFyKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCA0YTNm
YTMxLi43MmY3ZTI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
CisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTE1MTYsNyArMTUxNiw3
IEBAIGludCBSZW5kZXJCb3g6OmNhbGNIZWlnaHRVc2luZyhjb25zdCBMZW5ndGgmIGgpCiAgICAg
aWYgKCFoLmlzQXV0bygpKSB7CiAgICAgICAgIGlmIChoLmlzRml4ZWQoKSkKICAgICAgICAgICAg
IGhlaWdodCA9IGgudmFsdWUoKTsKLSAgICAgICAgZWxzZSBpZiAoaC5pc1BlcmNlbnQoKSkKKyAg
ICAgICAgZWxzZSBpZiAoaC5pc1BlcmNlbnQoKSB8fCBoLmlzQ2FsY3VsYXRlZCgpKQogICAgICAg
ICAgICAgaGVpZ2h0ID0gY2FsY1BlcmNlbnRhZ2VIZWlnaHQoaCk7CiAgICAgICAgIGlmIChoZWln
aHQgIT0gLTEpIHsKICAgICAgICAgICAgIGhlaWdodCA9IGNhbGNCb3JkZXJCb3hIZWlnaHQoaGVp
Z2h0KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcCBiL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCBjMTBhYjhlLi5iODg3NWEwIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKKysrIGIvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCkBAIC00OTIsNiArNDkyLDcgQEAgYm9vbCBSZW5k
ZXJJbWFnZTo6aXNXaWR0aFNwZWNpZmllZCgpIGNvbnN0CiAgICAgc3dpdGNoIChzdHlsZSgpLT53
aWR0aCgpLnR5cGUoKSkgewogICAgICAgICBjYXNlIEZpeGVkOgogICAgICAgICBjYXNlIFBlcmNl
bnQ6CisgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKICAgICAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgICAgICBjYXNlIEF1dG86CiAgICAgICAgIGNhc2UgUmVsYXRpdmU6IC8vIEZJWE1FOiBTaG91
bGRuJ3QgdGhpcyBjYXNlIHJldHVybiB0cnVlPwpAQCAtNTA5LDYgKzUxMCw3IEBAIGJvb2wgUmVu
ZGVySW1hZ2U6OmlzSGVpZ2h0U3BlY2lmaWVkKCkgY29uc3QKICAgICBzd2l0Y2ggKHN0eWxlKCkt
PmhlaWdodCgpLnR5cGUoKSkgewogICAgICAgICBjYXNlIEZpeGVkOgogICAgICAgICBjYXNlIFBl
cmNlbnQ6CisgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKICAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgICAgICBjYXNlIEF1dG86CiAgICAgICAgIGNhc2UgUmVsYXRpdmU6IC8vIEZJWE1FOiBT
aG91bGRuJ3QgdGhpcyBjYXNlIHJldHVybiB0cnVlPwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48285</attachid>
            <date>2010-02-05 21:05:19 -0800</date>
            <delta_ts>2010-02-15 06:07:16 -0800</delta_ts>
            <desc>full patch v2</desc>
            <filename>bug-16662-20100205210516.patch</filename>
            <type>text/plain</type>
            <size>60977</size>
            <attacher name="Shinichiro Hamaji">hamaji</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwYTg0OTk2Li5lNTMxZDU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDEt
MjggIFNoaW5pY2hpcm8gSGFtYWppICA8aGFtYWppQGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDU1MzOiBJbXBsZW1lbnQgY2Fs
YygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjY2
MgorCisgICAgICAgICogZmFzdC9jc3MvY2FsYy9jYWxjLWVycm9ycy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2NhbGMvY2FsYy1lcnJvcnMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9jc3MvY2FsYy9zaW1wbGUtY2FsY3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2Nzcy9jYWxjL3NpbXBsZS1jYWxjcy5odG1sOiBBZGRlZC4KKwogMjAx
MC0wMi0wNCAgRnVtaXRvc2hpIFVrYWkgIDx1a2FpQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBTaGluaWNoaXJvIEhhbWFqaS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvY3NzL2NhbGMvY2FsYy1lcnJvcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9j
c3MvY2FsYy9jYWxjLWVycm9ycy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uODA4ZTI0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL2NhbGMvY2FsYy1lcnJvcnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK0FsbCBi
b3hlcyBiZWxvdyBzaG91bGQgYmUgMTAwcHggKiAxMDBweCBhbmQgZ3JlZW4uCisKK3plcm8gZGl2
aXNpb24gPT4gUEFTUworbm9uIGxlbmd0aCA9PiBQQVNTCitudW1iZXIgKyBsZW5ndGggPT4gUEFT
UworbGVuZ3RoIC0gbnVtYmVyID0+IFBBU1MKK2xlbmd0aCAqIGxlbmd0aCA9PiBQQVNTCitudW1i
ZXIgLyBsZW5ndGggPT4gUEFTUworbnVtYmVyIG1vZCBsZW5ndGggPT4gUEFTUworbW9kMTAgPT4g
UEFTUworMW1vZCA9PiBQQVNTCit0b28gbWFueSBuZXN0cyA9PiBQQVNTCitlbmQgd2l0aCBvcGVy
YXRvciA9PiBQQVNTCitzdGFydCB3aXRoIG9wZXJhdG9yID0+IFBBU1MKK25vIGV4cHJlc3Npb25z
ID0+IFBBU1MKK3RvbyBtYW55IHBsdXNlcyA9PiBQQVNTCitubyBiaW5hcnkgb3BlcmF0b3IgPT4g
UEFTUwordHdvIGJpbmFyeSBvcGVyYXRvcnMgPT4gUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9jc3MvY2FsYy9jYWxjLWVycm9ycy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
Y2FsYy9jYWxjLWVycm9ycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjBiMDdiNDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9jYWxjL2Nh
bGMtZXJyb3JzLmh0bWwKQEAgLTAsMCArMSw3NiBAQAorPGh0bWw+Cis8aGVhZD4KKworPHN0eWxl
PgorI3Rlc3QgZGl2IHsKKyAgICBoZWlnaHQ6IDEwMHB4OworICAgIGJhY2tncm91bmQtY29sb3I6
IHJlZDsKK30KKzwvc3R5bGU+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworZnVuY3Rp
b24gdGVzdCgpCit7CisgICAgdmFyIHRlc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVz
dCIpOworICAgIGZvciAodmFyIGVsZW1lbnQgPSB0ZXN0LmZpcnN0Q2hpbGQ7IGVsZW1lbnQ7IGVs
ZW1lbnQgPSBlbGVtZW50Lm5leHRTaWJsaW5nKSB7CisgICAgICAgIHZhciB3aWR0aCA9IGVsZW1l
bnQub2Zmc2V0V2lkdGg7CisgICAgICAgIHZhciBlcnJvciA9IFtdOworICAgICAgICBpZiAod2lk
dGggIT0gMTAwKQorICAgICAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgd2lkdGggaXMgMTAw
LCBidXQgY29tZXMgIiArIHdpZHRoKTsKKyAgICAgICAgdmFyIGhlaWdodCA9IGVsZW1lbnQub2Zm
c2V0SGVpZ2h0OworICAgICAgICBpZiAoaGVpZ2h0ICE9IDEwMCkKKyAgICAgICAgICAgIGVycm9y
LnB1c2goImV4cGVjdGVkIGhlaWdodCBpcyAxMDAsIGJ1dCBjb21lcyAiICsgd2lkdGgpOworCisg
ICAgICAgIGlmIChlcnJvciA9PSAiIikgeworICAgICAgICAgICAgZWxlbWVudC5zdHlsZS5iYWNr
Z3JvdW5kQ29sb3IgPSAiZ3JlZW4iOworICAgICAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgKz0g
IiA9PiBQQVNTIjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGVsZW1lbnQuaW5uZXJI
VE1MICs9ICIgPT4gRkFJTDogIiArIGVycm9yLmpvaW4oIiwgIik7CisgICAgICAgIH0KKyAgICB9
Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorCis8cD4K
KyAgQWxsIGJveGVzIGJlbG93IHNob3VsZCBiZSAxMDBweCAqIDEwMHB4IGFuZCBncmVlbi4KKzwv
cD4KKworPGRpdiBpZD0idGVzdCI+CisKKzwhLS0gemVybyBkaXZpc2lvbiAtLT4KKzxkaXYgc3R5
bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygxZXggLyAwKTsiPnplcm8gZGl2
aXNpb248L2Rpdj4KKworPCEtLSB3cm9uZyBjb21iaW5hdGlvbiAtLT4KKzxkaXYgc3R5bGU9Indp
ZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygyMDApOyI+bm9uIGxlbmd0aDwvZGl2Pgor
PGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDEwMCsxMDBweCk7
Ij5udW1iZXIgKyBsZW5ndGg8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6
IC13ZWJraXQtY2FsYygzMDBweC0xMDApOyI+bGVuZ3RoIC0gbnVtYmVyPC9kaXY+Cis8ZGl2IHN0
eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwcHgqMTAwcHgpOyI+bGVu
Z3RoICogbGVuZ3RoPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Vi
a2l0LWNhbGMoMTAwLzEwMHB4KTsiPm51bWJlciAvIGxlbmd0aDwvZGl2PgorPGRpdiBzdHlsZT0i
d2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDEwMCBtb2QgMTAwcHgpOyI+bnVtYmVy
IG1vZCBsZW5ndGg8L2Rpdj4KKworPCEtLSBtb2QgcmVxdWlyZXMgd2hpdGVzcGFjZXMgYXJvdW5k
IHRoZSBvcGVyYXRvciAtLT4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJr
aXQtY2FsYygxIG1vZDEwICogMjAwcHgpOyI+bW9kMTAgPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0
aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMW1vZCAxMCAqIDIwMHB4KTsiPjFtb2Q8L2Rp
dj4KKworPCEtLSB0b28gbWFueSBuZXN0cyBzaG91bGQgYmUgcmVqZWN0ZWQgdG8gYXZvaWQgc3Rh
Y2sgb3ZlcmZsb3cgLS0+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0
LWNhbGMoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgyMDBweCkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKTsiPnRvbyBtYW55IG5lc3Rz
PC9kaXY+CisKKzwhLS0gaW52YWxpZCBmb3JtdWxhcyAtLT4KKzxkaXYgc3R5bGU9IndpZHRoOiAx
MDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygyMDBweCopOyI+ZW5kIHdpdGggb3BlcmF0b3I8L2Rp
dj4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygrKzIwMHB4
KTsiPnN0YXJ0IHdpdGggb3BlcmF0b3I8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsg
d2lkdGg6IC13ZWJraXQtY2FsYygpOyI+bm8gZXhwcmVzc2lvbnM8L2Rpdj4KKzxkaXYgc3R5bGU9
IndpZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygxMDBweCsrKzEwMHB4KTsiPnRvbyBt
YW55IHBsdXNlczwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtp
dC1jYWxjKDIwMHB4IDIwMHB4KTsiPm5vIGJpbmFyeSBvcGVyYXRvcjwvZGl2PgorPGRpdiBzdHls
ZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDEwMHB4ICogKiAyKTsiPnR3byBi
aW5hcnkgb3BlcmF0b3JzPC9kaXY+CisKKzwvZGl2PgorCis8L2JvZHk+CisKKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NhbGMvc2ltcGxlLWNhbGNzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NhbGMvc2ltcGxlLWNhbGNzLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTI4ODNmCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY2FsYy9zaW1wbGUtY2FsY3MtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMjYgQEAKK0FsbCBib3hlcyBiZWxvdyBzaG91bGQgYmUgMTAwcHggKiAx
MDBweCBhbmQgZ3JlZW4uCisKKzUwcHgrNTBweCA9PiBQQVNTCisxNTBweC01MHB4ID0+IFBBU1MK
KzUwcHgqMiA9PiBQQVNTCisyMDBweC8yID0+IFBBU1MKKzExMDBweCBtb2QgMTAwMCA9PiBQQVNT
CisxMDAlLzIgKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IFBBU1MKKygxMDBweCkgPT4gUEFTUwor
KDUwcHgrNTBweCkgPT4gUEFTUworKDUwcHgpKzUwcHggPT4gUEFTUworNTBweCsoNTBweCkgPT4g
UEFTUworNTBweCArIDUwcHggPT4gUEFTUworNTBweCArIDI1cHggKiAyID0+IFBBU1MKKygyNXB4
ICsgMjVweCkgKiAyID0+IFBBU1MKKzIgKiA1MHB4ID0+IFBBU1MKKzIgKiAxMDBweCAvIDIgPT4g
UEFTUworMTAwcHggLyA1MHB4ICogNTBweCA9PiBQQVNTCisxMiBtb2QgMTAgKiA1MHB4ID0+IFBB
U1MKKygxZW0gLSAxZW0pICsgMTAwcHggPT4gUEFTUworMTAwcHggPT4gUEFTUworMTAwJSAqIDIg
PT4gUEFTUworNTBweCsrNTBweCA9PiBQQVNTCistNTBweCsxNTBweCA9PiBQQVNTCistNTBweC0t
MTUwcHggPT4gUEFTUworKCgoKCgoKDEwMHB4KSkpKSkpKSA9PiBQQVNTCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy9jYWxjL3NpbXBsZS1jYWxjcy5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvY2FsYy9zaW1wbGUtY2FsY3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi42OWZjZjk2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9j
c3MvY2FsYy9zaW1wbGUtY2FsY3MuaHRtbApAQCAtMCwwICsxLDg4IEBACis8aHRtbD4KKzxoZWFk
PgorCis8c3R5bGU+CisjdGVzdCBkaXYsICN0ZXN0IGRpdiBkaXYgeworICAgIGhlaWdodDogMTAw
cHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOworfQorLmhlaWdodC10ZXN0IHsKKyAgICB3
aWR0aDogMTAwcHg7CisgICAgaGVpZ2h0OiAyMDBweDsKK30KKzwvc3R5bGU+CisKKzxzY3JpcHQ+
CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgdmFyIHRlc3QgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpOworICAgIGZvciAodmFyIGNoaWxkID0gdGVz
dC5maXJzdENoaWxkOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC5uZXh0U2libGluZykgeworICAgICAg
ICB2YXIgZWxlbWVudCA9IGNoaWxkOworICAgICAgICBpZiAoZWxlbWVudC5jbGFzc05hbWUgPT0g
IndyYXBwZXIiKSB7CisgICAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5maXJzdENoaWxkOwor
ICAgICAgICAgICAgd2hpbGUgKGVsZW1lbnQudGFnTmFtZSAhPSAiRElWIikgZWxlbWVudCA9IGVs
ZW1lbnQubmV4dFNpYmxpbmc7CisgICAgICAgIH0KKworICAgICAgICB2YXIgd2lkdGggPSBlbGVt
ZW50Lm9mZnNldFdpZHRoOworICAgICAgICB2YXIgZXJyb3IgPSBbXTsKKyAgICAgICAgaWYgKHdp
ZHRoICE9IDEwMCkKKyAgICAgICAgICAgIGVycm9yLnB1c2goImV4cGVjdGVkIHdpZHRoIGlzIDEw
MCwgYnV0IGNvbWVzICIgKyB3aWR0aCk7CisgICAgICAgIHZhciBoZWlnaHQgPSBlbGVtZW50Lm9m
ZnNldEhlaWdodDsKKyAgICAgICAgaWYgKGhlaWdodCAhPSAxMDApCisgICAgICAgICAgICBlcnJv
ci5wdXNoKCJleHBlY3RlZCBoZWlnaHQgaXMgMTAwLCBidXQgY29tZXMgIiArIHdpZHRoKTsKKwor
ICAgICAgICBpZiAoZXJyb3IgPT0gIiIpIHsKKyAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUuYmFj
a2dyb3VuZENvbG9yID0gImdyZWVuIjsKKyAgICAgICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MICs9
ICIgPT4gUEFTUyI7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgZWxlbWVudC5pbm5lckhU
TUwgKz0gIiA9PiBGQUlMOiAiICsgZXJyb3Iuam9pbigiLCAiKTsKKyAgICB9Cit9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorCis8cD4KKyAgQWxsIGJveGVz
IGJlbG93IHNob3VsZCBiZSAxMDBweCAqIDEwMHB4IGFuZCBncmVlbi4KKzwvcD4KKworPGRpdiBp
ZD0idGVzdCI+CisKKzxkaXYgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoNTBweCs1MHB4KTsi
PjUwcHgrNTBweDwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygxNTBweC01
MHB4KTsiPjE1MHB4LTUwcHg8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMo
NTBweCoyKTsiPjUwcHgqMjwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygy
MDBweC8yKTsiPjIwMHB4LzI8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMo
MTEwMHB4IG1vZCAxMDAwKTsiPjExMDBweCBtb2QgMTAwMDwvZGl2PgorPGRpdiBzdHlsZT0id2lk
dGg6IDIwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsiIGNsYXNzPSJ3cmFwcGVyIj4KKyAg
PGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygxMDAlLzIpOyI+MTAwJS8yICh3aGVyZSAx
MDAlIGlzIDIwMHB4KTwvZGl2PgorPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1j
YWxjKCgxMDBweCkpOyI+KDEwMHB4KTwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQt
Y2FsYygoNTBweCs1MHB4KSk7Ij4oNTBweCs1MHB4KTwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6
IC13ZWJraXQtY2FsYygoNTBweCkrNTBweCk7Ij4oNTBweCkrNTBweDwvZGl2PgorPGRpdiBzdHls
ZT0id2lkdGg6IC13ZWJraXQtY2FsYyg1MHB4Kyg1MHB4KSk7Ij41MHB4Kyg1MHB4KTwvZGl2Pgor
PGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYyggNTBweCArICA1MHB4ICk7Ij4gNTBweCAr
ICA1MHB4IDwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYyggNTBweCArIDI1
cHggKiAyICk7Ij4gNTBweCArIDI1cHggKiAyIDwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IC13
ZWJraXQtY2FsYyggKDI1cHggKyAyNXB4KSAqIDIgKTsiPiAoMjVweCArIDI1cHgpICogMiA8L2Rp
dj4KKzxkaXYgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMiAqIDUwcHgpOyI+MiAqIDUwcHg8
L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMiAqIDEwMHB4IC8gMik7Ij4y
ICogMTAwcHggLyAyPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDEwMHB4
IC8gNTBweCAqIDUwcHgpOyI+MTAwcHggLyA1MHB4ICogNTBweDwvZGl2PgorPGRpdiBzdHlsZT0i
d2lkdGg6IC13ZWJraXQtY2FsYygxMiBtb2QgMTAgKiA1MHB4KTsiPjEyIG1vZCAxMCAqIDUwcHg8
L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoKDFlbSAtIDFlbSkgKyAxMDBw
eCk7Ij4oMWVtIC0gMWVtKSArIDEwMHB4PC9kaXY+Cis8ZGl2IHN0eWxlPSJoZWlnaHQ6IC13ZWJr
aXQtY2FsYygxMDBweCk7IiBjbGFzcz0iaGVpZ2h0LXRlc3QiPjEwMHB4PC9kaXY+Cis8ZGl2IHN0
eWxlPSJoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyIgY2xhc3M9IndyYXBw
ZXIiPgorICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IC13ZWJraXQtY2FsYygxMDAlICogMik7IiBjbGFz
cz0iaGVpZ2h0LXRlc3QiPjEwMCUgKiAyPC9kaXY+Cis8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRo
OiAtd2Via2l0LWNhbGMoNTBweCsrNTBweCk7Ij41MHB4Kys1MHB4PC9kaXY+Cis8ZGl2IHN0eWxl
PSJ3aWR0aDogLXdlYmtpdC1jYWxjKC01MHB4KzE1MHB4KTsiPi01MHB4KzE1MHB4PC9kaXY+Cis8
ZGl2IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKC01MHB4LS0xNTBweCk7Ij4tNTBweC0tMTUw
cHg8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoKCgoKCgoKDEwMHB4KSkp
KSkpKSk7Ij4oKCgoKCgoMTAwcHgpKSkpKSkpPC9kaXY+CisKKzwvZGl2PgorCis8L2JvZHk+CisK
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggZGUxYTNmMi4uZDQyOTk4NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5OSBAQAorMjAxMC0wMS0yOCAgU2hp
bmljaGlybyBIYW1hamkgIDxoYW1hamlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENTUzM6IEltcGxlbWVudCBjYWxjKCkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NjYyCisKKyAg
ICAgICAgVGVzdHM6IGZhc3QvY3NzL2NhbGMvY2FsYy1lcnJvcnMuaHRtbAorICAgICAgICAgICAg
ICAgZmFzdC9jc3MvY2FsYy9zaW1wbGUtY2FsY3MuaHRtbAorCisgICAgICAgICogR05VbWFrZWZp
bGUuYW06CisgICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIGNzcy9DU1NDYWxjVmFsdWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6aXNaZXJvKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NDYWxjUHJpbWl0aXZlVmFsdWU6OmV2YWx1YXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0NhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZTo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZTo6aXNaZXJv
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZTo6Y3NzVGV4
dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWU6OmV2YWx1
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZVBhcnNlcjo6cGFyc2UpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlUGFyc2VyOjpWYWx1ZTo6KToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0NhbGNWYWx1ZVBhcnNlcjo6b3BlcmF0b3JWYWx1ZSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NDYWxjVmFsdWVQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTQ2FsY1ZhbHVlUGFyc2VyOjpwYXJzZVZhbHVlVGVybSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NDYWxjVmFsdWVQYXJzZXI6OnBhcnNlVmFsdWVNdWx0aXBsaWNhdGl2ZUV4cHJlc3Npb24pOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlUGFyc2VyOjpwYXJzZUFkZGl0aXZlVmFsdWVF
eHByZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZVBhcnNlcjo6cGFyc2VW
YWx1ZUV4cHJlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjpjcmVhdGVG
cm9tUGFyc2VyVmFsdWVMaXN0KToKKyAgICAgICAgKiBjc3MvQ1NTQ2FsY1ZhbHVlLmg6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjppc0NhbGNWYWx1ZSk6CisgICAgICAg
ICogY3NzL0NTU0dyYW1tYXIueToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OmlzQ2FsYyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNl
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUNhbGN1bGF0ZWRMZW5n
dGgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpsZXgpOgorICAgICAgICAqIGNzcy9D
U1NQYXJzZXIuaDoKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyVmFsdWVzLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1BhcnNlclZhbHVlTGlzdDo6aW5zZXJ0VmFsdWVBdCk6CisgICAgICAgICog
Y3NzL0NTU1BhcnNlclZhbHVlcy5oOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFs
dWUpOgorICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1N0eWxlU2VsZWN0b3I6OmNvbnZlcnRUb0xlbmd0aCk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KToKKyAgICAgICAgKiBjc3MvQ1NTU3R5
bGVTZWxlY3Rvci5oOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5oOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTVmFsdWU6OmlzQ2FsY1ZhbHVlKToKKyAgICAgICAgKiBjc3MvdG9rZW5pemVyLmZsZXg6
CisgICAgICAgICogcGxhdGZvcm0vTGVuZ3RoLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbGN1
bGF0ZWRMZW5ndGg6OkNhbGN1bGF0ZWRMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsY3Vs
YXRlZExlbmd0aDo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsY3VsYXRlZExlbmd0
aDo6cmVmQ291bnQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsY3VsYXRlZExlbmd0aDo6aW5jcmVt
ZW50UmVmQ291bnQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsY3VsYXRlZExlbmd0aDo6ZGVjcmVt
ZW50UmVmQ291bnQpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpMZW5ndGgpOgorICAgICAg
ICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjdWxhdGVkSXNaZXJvKToKKyAgICAgICAgKFdlYkNvcmU6
Okxlbmd0aDo6Y2FsY3VsYXRlZElzUG9zaXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3Ro
OjpjYWxjdWxhdGVkSXNOZWdhdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGN1
bGF0ZWRDYWxjVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjdWxhdGVkQ2Fs
Y01pblZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6Y2FsY3VsYXRlZENhbGNGbG9h
dFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6aW5jcmVtZW50Q2FsY3VsYXRlZFJl
Zik6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmRlY3JlbWVudENhbGN1bGF0ZWRSZWYpOgor
ICAgICAgICAqIHBsYXRmb3JtL0xlbmd0aC5oOgorICAgICAgICAoV2ViQ29yZTo6KToKKyAgICAg
ICAgKFdlYkNvcmU6Okxlbmd0aDo6TGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6
b3BlcmF0b3I9KToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6fkxlbmd0aCk6CisgICAgICAg
IChXZWJDb3JlOjpMZW5ndGg6OnZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6cmF3
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpzZXRWYWx1ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpMZW5ndGg6OnNldFJhd1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6
Y2FsY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6Y2FsY01pblZhbHVlKToKKyAg
ICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6Y2FsY0Zsb2F0VmFsdWUpOgorICAgICAgICAoV2ViQ29y
ZTo6TGVuZ3RoOjppc1plcm8pOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjppc1Bvc2l0aXZl
KToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6aXNOZWdhdGl2ZSk6CisgICAgICAgIChXZWJD
b3JlOjpMZW5ndGg6OmlzQ2FsY3VsYXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmJs
ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6Y2FsY3VsYXRlZExlbmd0aElkKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS90ZXh0L1N0cmluZ0ltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
ZXF1YWwpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvU3RyaW5nSW1wbC5oOgorICAgICAgICAo
V2ViQ29yZTo6ZXF1YWwpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpjYWxjSGVpZ2h0VXNpbmcpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6
aXNXaWR0aFNwZWNpZmllZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6aXNIZWln
aHRTcGVjaWZpZWQpOgorCiAyMDEwLTAyLTA0ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgQnVpbGQgZml4OiBBZGRlZCBhIGZvcndhcmRpbmcgaGVhZGVyLgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUu
YW0KaW5kZXggMTZjODA1Mi4uMGVmYjcwMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC01MzcsNiArNTM3LDggQEAgd2Vi
Y29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2NvbmZpZy5oIFwKIAlXZWJDb3JlL2Nzcy9DU1NC
b3JkZXJJbWFnZVZhbHVlLmNwcCBcCiAJV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5o
IFwKKwlXZWJDb3JlL2Nzcy9DU1NDYWxjVmFsdWUuY3BwIFwKKwlXZWJDb3JlL2Nzcy9DU1NDYWxj
VmFsdWUuaCBcCiAJV2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUuY3BwIFwKIAlXZWJDb3JlL2Nz
cy9DU1NDYW52YXNWYWx1ZS5oIFwKIAlXZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5jcHAgXApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpp
bmRleCA3Y2ZkODlmLi5jYTM0NjE2IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQor
KysgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtODg0LDYgKzg4NCw4IEBACiAgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvbnBydW50aW1lX3ByaXYuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0Jv
cmRlckltYWdlVmFsdWUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1
ZS5oJywKKyAgICAgICAgICAgICdjc3MvQ1NTQ2FsY1ZhbHVlLmNwcCcsCisgICAgICAgICAgICAn
Y3NzL0NTU0NhbGNWYWx1ZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTQ2FudmFzVmFsdWUuY3Bw
JywKICAgICAgICAgICAgICdjc3MvQ1NTQ2FudmFzVmFsdWUuaCcsCiAgICAgICAgICAgICAnY3Nz
L0NTU0NoYXJzZXRSdWxlLmNwcCcsCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIv
V2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCBiZTQyNDRkLi4xODc0ZDhlIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KQEAgLTM2NSw2ICsz
NjUsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBicmlkZ2UvYy9jX3V0aWxpdHkuY3BwIFwKICAgICBi
cmlkZ2UvanNjL0JyaWRnZUpTQy5jcHAgXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmNw
cCBcCisgICAgY3NzL0NTU0NhbGNWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NDYW52YXNWYWx1ZS5j
cHAgXAogICAgIGNzcy9DU1NDaGFyc2V0UnVsZS5jcHAgXAogICAgIGNzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwIFwKQEAgLTEwNTgsNiArMTA1OSw3IEBAIEhFQURFUlMgKz0gXAog
ICAgIGJyaWRnZS9ydW50aW1lX29iamVjdC5oIFwKICAgICBicmlkZ2UvcnVudGltZV9yb290Lmgg
XAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmggXAorICAgIGNzcy9DU1NDYWxjVmFsdWUu
aCBcCiAgICAgY3NzL0NTU0NhbnZhc1ZhbHVlLmggXAogICAgIGNzcy9DU1NDaGFyc2V0UnVsZS5o
IFwKICAgICBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmggXApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggOGJjY2E4My4uZmMyYmZlMyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yNjQ3Nyw2ICsyNjQ3NywxNCBAQAogCQkJCT4N
CiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTQ2Fs
Y1ZhbHVlLmNwcCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8RmlsZQ0KKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGNzc1xDU1NDYWxjVmFsdWUuaCINCisJCQkJPg0KKwkJCTwvRmlsZT4NCisJCQk8
RmlsZQ0KIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NDYW52YXNWYWx1ZS5jcHAiDQogCQkJ
CT4NCiAJCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCBmNGI4YjAyLi5jMjA0MzBmIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtNDEwNSw2ICs0MTA1LDggQEAKIAkJQjVDMTEyM0MxMDJCNkM0NjAw
MDk2NTc4IC8qIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI1QzExMjNBMTAyQjZDNDYwMDA5NjU3OCAvKiBT
UUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmggKi87IH07CiAJCUI3MUZFNkRGMTEwOTFDQjMwMERB
RUY3NyAvKiBQcmludENvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEI3NzZENDNBMTEwNDUyNUQwMEJFQjBFQyAvKiBQcmludENvbnRleHQuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCNzc2RDQz
RDExMDQ1Mjc1MDBCRUIwRUMgLyogUHJpbnRDb250ZXh0LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI3NzZENDNDMTEwNDUyNzUwMEJFQjBFQyAvKiBQ
cmludENvbnRleHQuY3BwICovOyB9OworCQlCN0E1RUFERDEwRTQ4QzM5MDA4REJDOTkgLyogQ1NT
Q2FsY1ZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEI3QTVFQURDMTBFNDhDMzkwMDhEQkM5OSAvKiBDU1NDYWxjVmFsdWUuY3BwICovOyB9Owor
CQlCN0E1RUFERjEwRTQ4QzRBMDA4REJDOTkgLyogQ1NTQ2FsY1ZhbHVlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCN0E1RUFERTEwRTQ4QzRBMDA4REJD
OTkgLyogQ1NTQ2FsY1ZhbHVlLmggKi87IH07CiAJCUJDMDBGMDA0MEUwQTE4NTUwMEZEMDRFMyAv
KiBET01GaWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQzAwRUZGRTBFMEExODU1MDBGRDA0RTMgLyogRE9NRmlsZS5oICovOyB9OwogCQlCQzAwRjAw
NTBFMEExODU1MDBGRDA0RTMgLyogRE9NRmlsZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMDBFRkZGMEUwQTE4NTUwMEZEMDRFMyAvKiBET01GaWxl
Lm1tICovOyB9OwogCQlCQzAwRjAwNjBFMEExODU1MDBGRDA0RTMgLyogRE9NRmlsZUludGVybmFs
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzAwRjAw
MDBFMEExODU1MDBGRDA0RTMgLyogRE9NRmlsZUludGVybmFsLmggKi87IH07CkBAIC01MjkyLDYg
KzUyOTQsNyBAQAogCQkJCTE0MDNCQTBGMDlFQjE4RjkwMDc5N0M3RiAvKiBKU0RPTVdpbmRvdy5o
IGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8sCiAJCQkJMTREQzBEMzgwOUZFRDA3MzAwN0Iw
MjM1IC8qIEpTTm9kZS5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8sCiAJCQkJMDhDN0Ey
QzcxMERDNzQ2MjAwMkQzNjhCIC8qIFNWR05hbWVzLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVy
cyAqLywKKwkJCQlCN0E1RUFERjEwRTQ4QzRBMDA4REJDOTkgLyogQ1NTQ2FsY1ZhbHVlLmggaW4g
SGVhZGVycyAqLywKIAkJCSk7CiAJCQluYW1lID0gIkNvcHkgR2VuZXJhdGVkIEhlYWRlcnMiOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CkBAIC05MzM4LDYgKzkz
NDEsOCBAQAogCQlCNUMxMTIzQTEwMkI2QzQ2MDAwOTY1NzggLyogU1FMVHJhbnNhY3Rpb25Db29y
ZGluYXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTUUxUcmFuc2FjdGlv
bkNvb3JkaW5hdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI3NzZENDNBMTEw
NDUyNUQwMEJFQjBFQyAvKiBQcmludENvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUHJpbnRDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUI3
NzZENDNDMTEwNDUyNzUwMEJFQjBFQyAvKiBQcmludENvbnRleHQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHJpbnRDb250ZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQjdBNUVBREMxMEU0OEMzOTAwOERCQzk5IC8qIENTU0NhbGNWYWx1ZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NDYWxjVmFsdWUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCN0E1RUFERTEwRTQ4QzRBMDA4REJDOTkg
LyogQ1NTQ2FsY1ZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0Nh
bGNWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzAwRUZGRTBFMEExODU1
MDBGRDA0RTMgLyogRE9NRmlsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBE
T01GaWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDMDBFRkZGMEUwQTE4NTUw
MEZEMDRFMyAvKiBET01GaWxlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gRE9NRmlsZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMwMEYwMDAw
RTBBMTg1NTAwRkQwNEUzIC8qIERPTUZpbGVJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBET01GaWxlSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTE1MzY3LDYgKzE1MzcyLDggQEAKIAkJRjUyM0QxODQwMkRFNDJFODAxODYzNUNBIC8q
IGNzcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQjdB
NUVBREUxMEU0OEM0QTAwOERCQzk5IC8qIENTU0NhbGNWYWx1ZS5oICovLAorCQkJCUI3QTVFQURD
MTBFNDhDMzkwMDhEQkM5OSAvKiBDU1NDYWxjVmFsdWUuY3BwICovLAogCQkJCTkzQ0E0QzlDMDlE
RjkzRkEwMERGODY3NyAvKiBtYWtldG9rZW5pemVyICovLAogCQkJCUE4MEU2Q0RBMEExOTg5Q0Ew
MDdGQjhDNSAvKiBDb3VudGVyLmggKi8sCiAJCQkJOTMwNzA1QzcwOUUwQzk1RjAwQjE3RkU0IC8q
IENvdW50ZXIuaWRsICovLApAQCAtMjA2ODMsNiArMjA2OTAsNyBAQAogCQkJCTg0RDBDNDA0MTEx
NUYxRDQwMDE4QUEzNCAvKiBBZmZpbmVUcmFuc2Zvcm0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
Qjc3NkQ0M0QxMTA0NTI3NTAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk5RjcyMzA1MDExMTg0QjQxMDBBRDAxMjYgLyogU2NyaXB0UHJvZmlsZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJQjdBNUVBREQxMEU0OEMzOTAwOERCQzk5IC8qIENTU0NhbGNWYWx1
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1
ZS5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NDYWxjVmFsdWUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmNmYTQ3NWEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2Nzcy9D
U1NDYWxjVmFsdWUuY3BwCkBAIC0wLDAgKzEsMzM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkNTU0NhbGNWYWx1ZS5oIgorCisjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIK
KyNpbmNsdWRlICJDU1NTdHlsZVNlbGVjdG9yLmgiCisjaW5jbHVkZSAiQ1NTVmFsdWVMaXN0Lmgi
CisKKyNpbmNsdWRlIDxsaW1pdHM+CisjaW5jbHVkZSA8d3RmL093blB0ci5oPgorI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ1NTQ2Fs
Y1ByaW1pdGl2ZVZhbHVlIDogcHVibGljIENTU0NhbGNWYWx1ZSB7CitwdWJsaWM6CisgICAgZXhw
bGljaXQgQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlKiB2YWx1ZSkKKyAg
ICAgICAgOiBtX3ZhbHVlKHZhbHVlKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGJvb2wg
aXNaZXJvKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAhbV92YWx1ZS0+Z2V0RG91Ymxl
VmFsdWUoKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3QKKyAg
ICB7CisgICAgICAgIHJldHVybiBtX3ZhbHVlLT5jc3NUZXh0KCk7CisgICAgfQorCisgICAgZmxv
YXQgZXZhbHVhdGUoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBm
bG9hdCBtYXhWYWx1ZSkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChtX3ZhbHVlLT5wcmltaXRp
dmVUeXBlKCkgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQVJTRVJfSU5URUdFUikKKyAgICAg
ICAgICAgIHJldHVybiBtX3ZhbHVlLT5nZXRGbG9hdFZhbHVlKCk7CisKKyAgICAgICAgYm9vbCBv
ayA9IHRydWU7CisgICAgICAgIExlbmd0aCBsZW5ndGggPSBDU1NTdHlsZVNlbGVjdG9yOjpjb252
ZXJ0VG9MZW5ndGgobV92YWx1ZS5nZXQoKSwgc3R5bGUsIHJvb3RTdHlsZSwgMSwgJm9rKTsKKyAg
ICAgICAgaWYgKCFvaykKKyAgICAgICAgICAgIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+Ojpx
dWlldF9OYU4oKTsKKyAgICAgICAgcmV0dXJuIGxlbmd0aC5jYWxjVmFsdWUobWF4VmFsdWUpOwor
ICAgIH0KKworcHJpdmF0ZToKKyAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IG1fdmFsdWU7
Cit9OworCitjbGFzcyBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWUgOiBwdWJsaWMgQ1NTQ2Fs
Y1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWUoQ1NTQ2Fs
Y1ZhbHVlKiBsZWZ0U2lkZSwgQ1NTQ2FsY1ZhbHVlKiByaWdodFNpZGUsIGNoYXIgb3ApCisgICAg
ICAgIDogbV9sZWZ0U2lkZShsZWZ0U2lkZSkKKyAgICAgICAgLCBtX3JpZ2h0U2lkZShyaWdodFNp
ZGUpCisgICAgICAgICwgbV9vcGVyYXRvcihvcCkKKyAgICB7CisgICAgICAgIEFTU0VSVChvcCA9
PSAnKycgfHwgb3AgPT0gJy0nIHx8IG9wID09ICcqJyB8fCBvcCA9PSAnLycgfHwgb3AgPT0gJyUn
KTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNaZXJvKCkgY29uc3QKKyAgICB7CisgICAg
ICAgIC8vIEZJWE1FOiBXZSBjYW4gcmVqZWN0IG1vcmUgY2FzZXMuCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3QKKyAgICB7
CisgICAgICAgIFN0cmluZyByZXN1bHQgPSAiKCI7CisgICAgICAgIHJlc3VsdC5hcHBlbmQobV9s
ZWZ0U2lkZS0+Y3NzVGV4dCgpKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChtX29wZXJhdG9yKTsK
KyAgICAgICAgcmVzdWx0LmFwcGVuZChtX3JpZ2h0U2lkZS0+Y3NzVGV4dCgpKTsKKyAgICAgICAg
cmVzdWx0LmFwcGVuZCgnKScpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKworICAg
IGZsb2F0IGV2YWx1YXRlKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHls
ZSwgZmxvYXQgbWF4VmFsdWUpIGNvbnN0CisgICAgeworICAgICAgICBmbG9hdCBsZWZ0ID0gbV9s
ZWZ0U2lkZS0+ZXZhbHVhdGUoc3R5bGUsIHJvb3RTdHlsZSwgbWF4VmFsdWUpOworICAgICAgICBm
bG9hdCByaWdodCA9IG1fcmlnaHRTaWRlLT5ldmFsdWF0ZShzdHlsZSwgcm9vdFN0eWxlLCBtYXhW
YWx1ZSk7CisgICAgICAgIHN3aXRjaCAobV9vcGVyYXRvcikgeworICAgICAgICBjYXNlICcrJzoK
KyAgICAgICAgICAgIHJldHVybiBsZWZ0ICsgcmlnaHQ7CisgICAgICAgIGNhc2UgJy0nOgorICAg
ICAgICAgICAgcmV0dXJuIGxlZnQgLSByaWdodDsKKyAgICAgICAgY2FzZSAnKic6CisgICAgICAg
ICAgICByZXR1cm4gbGVmdCAqIHJpZ2h0OworICAgICAgICBjYXNlICcvJzoKKyAgICAgICAgICAg
IGlmICghcmlnaHQpCisgICAgICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8
ZmxvYXQ+OjpxdWlldF9OYU4oKTsKKyAgICAgICAgICAgIHJldHVybiBsZWZ0IC8gcmlnaHQ7Cisg
ICAgICAgIGNhc2UgJyUnOgorICAgICAgICAgICAgaWYgKCFyaWdodCkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OnF1aWV0X05hTigpOworICAgICAg
ICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4obGVmdCkgJSBzdGF0aWNfY2FzdDxpbnQ+KHJp
Z2h0KTsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjpxdWlldF9O
YU4oKTsKKyAgICAgICAgfQorICAgIH0KKworcHJpdmF0ZToKKyAgICBSZWZQdHI8Q1NTQ2FsY1Zh
bHVlPiBtX2xlZnRTaWRlOworICAgIFJlZlB0cjxDU1NDYWxjVmFsdWU+IG1fcmlnaHRTaWRlOwor
ICAgIGNoYXIgbV9vcGVyYXRvcjsKK307CisKKyNkZWZpbmUgQ0hFQ0tfREVQVEhfQU5EX0lOREVY
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBkbyB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFwKKyAgICAgICAgKytkZXB0aDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgaWYgKGRlcHRoID4gMTAwKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICAgICAgaWYgKCppbmRleCA+PSB0b2tlbnMtPnNpemUoKSkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9IHdoaWxlICgwKQor
CisvKiBBcyBvZiBEZWNlbWJlciAyMDA5LCB0aGUgQ1NTIHNwZWMgdXNlcyB0aGUgZ3JhbW1hciB0
byByZWplY3Qgc3R1cGlkCisgKiBjYWxjdWxhdGlvbnMgc3VjaCBhcyAyMHB4KjIwcHguIEFzIHRo
ZSBvcmlnaW5hbCBncmFtbWFyIHdpbGwgaGF2ZSBhCisgKiBidW5jaCBvZiBkdXBsaWNhdGlvbnMg
aWYgd2UgaW1wbGVtZW50IGl0IHdpdGggbm8gY2hhbmdlLCB3ZSdsbCB1c2UKKyAqIHRoZSBmb2xs
b3dpbmcgc2ltcGxpZmllZCBncmFtbWFyIGFuZCByZWplY3QgaW52YWxpZCBvcGVyYXRpb25zIGJ5
CisgKiBjaGVja2luZyB0eXBlcyBvZiB2YWx1ZXMuCisgKgorICogPHZhbHVlLWV4cHJlc3Npb24+
IDo9IDx2YWx1ZS1hZGRpdGl2ZS1leHByZXNzaW9uPgorICoKKyAqIDx2YWx1ZS1hZGRpdGl2ZS1l
eHByZXNzaW9uPiA6PQorICogICAgPHZhbHVlLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24+IDx2
YWx1ZS1hZGRpdGl2ZS1leHByZXNzaW9uLXRhaWw+CisgKgorICogPHZhbHVlLWFkZGl0aXZlLWV4
cHJlc3Npb24tdGFpbD4gOj0KKyAqICAgIDxlbXB0eT4gfAorICogICAgUysgJysnIFMrIDx2YWx1
ZS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uPiA8dmFsdWUtYWRkaXRpdmUtZXhwcmVzc2lvbi10
YWlsPiB8CisgKiAgICBTKyAnLScgUysgPHZhbHVlLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24+
IDx2YWx1ZS1hZGRpdGl2ZS1leHByZXNzaW9uLXRhaWw+CisgKgorICogPHZhbHVlLW11bHRpcGxp
Y2F0aXZlLWV4cHJlc3Npb24+CisgKiAgICA8dmFsdWUtdGVybT4gPHZhbHVlLW11bHRpcGxpY2F0
aXZlLWV4cHJlc3Npb24tdGFpbD4gfAorICoKKyAqIDx2YWx1ZS1tdWx0aXBsaWNhdGl2ZS1leHBy
ZXNzaW9uLXRhaWw+CisgKiAgICA8ZW1wdHk+IHwKKyAqICAgIFMqICcqJyBTKiA8dmFsdWUtdGVy
bT4gPHZhbHVlLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tdGFpbD58CisgKiAgICBTKiAnLycg
UyogPHZhbHVlLXRlcm0+IDx2YWx1ZS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLXRhaWw+fAor
ICogICAgUysgJ21vZCcgUysgPHZhbHVlLXRlcm0+IDx2YWx1ZS1tdWx0aXBsaWNhdGl2ZS1leHBy
ZXNzaW9uLXRhaWw+CisgKgorICogPHZhbHVlLXRlcm0+IDo9ICcoJyA8dmFsdWUtZXhwcmVzc2lv
bj4gJyknIHwgPGF0b21pYy1sZW5ndGg+IHwgPG51bWJlcj4KKyAqCisgKiA8YXRvbWljLWxlbmd0
aD4gOj0gPG51bWJlcj48bGVuZ3RoLXVuaXQ+CisgKi8KK2NsYXNzIENTU0NhbGNWYWx1ZVBhcnNl
ciB7CitwdWJsaWM6CisgICAgQ1NTQ2FsY1ZhbHVlKiBwYXJzZShDU1NQYXJzZXJWYWx1ZUxpc3Qq
IHRva2VucykKKyAgICB7CisgICAgICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKKyAgICAgICAgVmFs
dWUgcmVzdWx0OworICAgICAgICBib29sIG9rID0gcGFyc2VWYWx1ZUV4cHJlc3Npb24odG9rZW5z
LCAwLCAmaW5kZXgsICZyZXN1bHQpOworICAgICAgICBBU1NFUlQoaW5kZXggPD0gdG9rZW5zLT5z
aXplKCkpOworICAgICAgICBpZiAoIW9rIHx8IHJlc3VsdC50eXBlICE9IFZhbHVlOjpMZW5ndGgg
fHwgaW5kZXggIT0gdG9rZW5zLT5zaXplKCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAg
ICAgcmV0dXJuIHJlc3VsdC52YWx1ZS5yZWxlYXNlKCk7CisgICAgfQorCitwcml2YXRlOgorICAg
IHN0cnVjdCBWYWx1ZSB7CisgICAgICAgIGVudW0gVHlwZSB7IExlbmd0aCwgTnVtYmVyIH07Cisg
ICAgICAgIE93blB0cjxDU1NDYWxjVmFsdWU+IHZhbHVlOworICAgICAgICBUeXBlIHR5cGU7Cisg
ICAgfTsKKworICAgIGNoYXIgb3BlcmF0b3JWYWx1ZShDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2Vu
cywgdW5zaWduZWQgaW5kZXgpCisgICAgeworICAgICAgICBpZiAoaW5kZXggPj0gdG9rZW5zLT5z
aXplKCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgQ1NTUGFyc2VyVmFsdWUqIHZh
bHVlID0gdG9rZW5zLT52YWx1ZUF0KGluZGV4KTsKKyAgICAgICAgaWYgKHZhbHVlLT51bml0ICE9
IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvcikKKyAgICAgICAgICAgIHJldHVybiAwOworCisgICAg
ICAgIHJldHVybiB2YWx1ZS0+aVZhbHVlOworICAgIH0KKworICAgIGJvb2wgcGFyc2VWYWx1ZShD
U1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucywgdW5zaWduZWQqIGluZGV4LCBWYWx1ZSogcmVzdWx0
KQorICAgIHsKKyAgICAgICAgQ1NTUGFyc2VyVmFsdWUqIHBhcnNlclZhbHVlID0gdG9rZW5zLT52
YWx1ZUF0KCppbmRleCk7CisgICAgICAgIGlmIChwYXJzZXJWYWx1ZS0+dW5pdCA9PSBDU1NQYXJz
ZXJWYWx1ZTo6T3BlcmF0b3IgfHwgcGFyc2VyVmFsdWUtPnVuaXQgPT0gQ1NTUGFyc2VyVmFsdWU6
OkZ1bmN0aW9uKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIFJlZlB0cjxD
U1NWYWx1ZT4gdmFsdWUgPSBwYXJzZXJWYWx1ZS0+Y3JlYXRlQ1NTVmFsdWUoKTsKKyAgICAgICAg
aWYgKCF2YWx1ZSB8fCAhdmFsdWUtPmlzUHJpbWl0aXZlVmFsdWUoKSkKKyAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUg
PSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlLmdldCgpKTsKKyAgICAgICAg
cmVzdWx0LT52YWx1ZSA9IG5ldyBDU1NDYWxjUHJpbWl0aXZlVmFsdWUocHJpbWl0aXZlVmFsdWUp
OworICAgICAgICByZXN1bHQtPnR5cGUgPSBwcmltaXRpdmVWYWx1ZS0+cHJpbWl0aXZlVHlwZSgp
ID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEFSU0VSX0lOVEVHRVIgPyBWYWx1ZTo6TnVtYmVy
IDogVmFsdWU6Okxlbmd0aDsKKworICAgICAgICArKyppbmRleDsKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgfQorCisgICAgYm9vbCBwYXJzZVZhbHVlVGVybShDU1NQYXJzZXJWYWx1ZUxpc3Qq
IHRva2VucywgaW50IGRlcHRoLCB1bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1bHQpCisgICAg
eworICAgICAgICBDSEVDS19ERVBUSF9BTkRfSU5ERVg7CisKKyAgICAgICAgaWYgKG9wZXJhdG9y
VmFsdWUodG9rZW5zLCAqaW5kZXgpID09ICcoJykgeworICAgICAgICAgICAgdW5zaWduZWQgY3Vy
cmVudEluZGV4ID0gKmluZGV4ICsgMTsKKyAgICAgICAgICAgIGlmICghcGFyc2VWYWx1ZUV4cHJl
c3Npb24odG9rZW5zLCBkZXB0aCwgJmN1cnJlbnRJbmRleCwgcmVzdWx0KSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIGlmIChvcGVyYXRvclZhbHVlKHRva2Vu
cywgY3VycmVudEluZGV4KSAhPSAnKScpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICAgICAgKmluZGV4ID0gY3VycmVudEluZGV4ICsgMTsKKyAgICAgICAgICAgIHJldHVy
biB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHBhcnNlVmFsdWUodG9rZW5zLCBp
bmRleCwgcmVzdWx0KTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWVNdWx0aXBsaWNhdGl2
ZUV4cHJlc3Npb24oQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIGludCBkZXB0aCwgdW5zaWdu
ZWQqIGluZGV4LCBWYWx1ZSogcmVzdWx0KQorICAgIHsKKyAgICAgICAgQ0hFQ0tfREVQVEhfQU5E
X0lOREVYOworCisgICAgICAgIGlmICghcGFyc2VWYWx1ZVRlcm0odG9rZW5zLCBkZXB0aCwgaW5k
ZXgsIHJlc3VsdCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgLy8gPHZh
bHVlLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tdGFpbD4KKyAgICAgICAgd2hpbGUgKCppbmRl
eCA8IHRva2Vucy0+c2l6ZSgpIC0gMSkgeworICAgICAgICAgICAgY2hhciBvcGVyYXRvckNoYXJh
Y3RlciA9IG9wZXJhdG9yVmFsdWUodG9rZW5zLCAqaW5kZXgpOworICAgICAgICAgICAgaWYgKG9w
ZXJhdG9yQ2hhcmFjdGVyICE9ICcqJyAmJiBvcGVyYXRvckNoYXJhY3RlciAhPSAnLycgJiYgb3Bl
cmF0b3JDaGFyYWN0ZXIgIT0gJyUnKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgKysqaW5kZXg7CisKKyAgICAgICAgICAgIFZhbHVlIHJoczsKKyAgICAgICAgICAgIGlmICgh
cGFyc2VWYWx1ZVRlcm0odG9rZW5zLCBkZXB0aCwgaW5kZXgsICZyaHMpKQorICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgc3dpdGNoIChvcGVyYXRvckNoYXJhY3Rl
cikgeworICAgICAgICAgICAgY2FzZSAnKic6CisgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC0+
dHlwZSAhPSByaHMudHlwZSkKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0LT50eXBlID0gVmFs
dWU6Okxlbmd0aDsKKyAgICAgICAgICAgICAgICBlbHNlIGlmIChyZXN1bHQtPnR5cGUgPT0gVmFs
dWU6Okxlbmd0aCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAg
ICAgICAgICAgcmVzdWx0LT52YWx1ZSA9IG5ldyBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWUo
cmVzdWx0LT52YWx1ZS5yZWxlYXNlKCksIHJocy52YWx1ZS5yZWxlYXNlKCksIG9wZXJhdG9yQ2hh
cmFjdGVyKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgJy8nOgor
ICAgICAgICAgICAgY2FzZSAnJSc6CisgICAgICAgICAgICAgICAgaWYgKHJocy52YWx1ZS0+aXNa
ZXJvKCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICAg
ICBpZiAocmVzdWx0LT50eXBlID09IHJocy50eXBlKQorICAgICAgICAgICAgICAgICAgICByZXN1
bHQtPnR5cGUgPSBWYWx1ZTo6TnVtYmVyOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlc3Vs
dC0+dHlwZSA9PSBWYWx1ZTo6TnVtYmVyKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICAgICAgICAgICAgICByZXN1bHQtPnZhbHVlID0gbmV3IENTU0NhbGNCaW5hcnlP
cGVyYXRpb25WYWx1ZShyZXN1bHQtPnZhbHVlLnJlbGVhc2UoKSwgcmhzLnZhbHVlLnJlbGVhc2Uo
KSwgb3BlcmF0b3JDaGFyYWN0ZXIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAg
ICAgICBBU1NFUlQoKmluZGV4IDw9IHRva2Vucy0+c2l6ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgfQorCisgICAgYm9vbCBwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKENTU1Bh
cnNlclZhbHVlTGlzdCogdG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUq
IHJlc3VsdCkKKyAgICB7CisgICAgICAgIENIRUNLX0RFUFRIX0FORF9JTkRFWDsKKworICAgICAg
ICBpZiAoIXBhcnNlVmFsdWVNdWx0aXBsaWNhdGl2ZUV4cHJlc3Npb24odG9rZW5zLCBkZXB0aCwg
aW5kZXgsIHJlc3VsdCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgLy8g
PHZhbHVlLWFkZGl0aXZlLWV4cHJlc3Npb24tdGFpbD4KKyAgICAgICAgd2hpbGUgKCppbmRleCA8
IHRva2Vucy0+c2l6ZSgpIC0gMSkgeworICAgICAgICAgICAgY2hhciBvcGVyYXRvckNoYXJhY3Rl
ciA9IG9wZXJhdG9yVmFsdWUodG9rZW5zLCAqaW5kZXgpOworICAgICAgICAgICAgaWYgKG9wZXJh
dG9yQ2hhcmFjdGVyICE9ICcrJyAmJiBvcGVyYXRvckNoYXJhY3RlciAhPSAnLScpCisgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICArKyppbmRleDsKKworICAgICAgICAgICAgVmFs
dWUgcmhzOworICAgICAgICAgICAgaWYgKCFwYXJzZVZhbHVlTXVsdGlwbGljYXRpdmVFeHByZXNz
aW9uKHRva2VucywgZGVwdGgsIGluZGV4LCAmcmhzKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICAgICAgICAgIGlmIChyZXN1bHQtPnR5cGUgIT0gcmhzLnR5cGUpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICBzd2l0Y2ggKG9wZXJhdG9y
Q2hhcmFjdGVyKSB7CisgICAgICAgICAgICBjYXNlICcrJzoKKyAgICAgICAgICAgIGNhc2UgJy0n
OgorICAgICAgICAgICAgICAgIHJlc3VsdC0+dmFsdWUgPSBuZXcgQ1NTQ2FsY0JpbmFyeU9wZXJh
dGlvblZhbHVlKHJlc3VsdC0+dmFsdWUucmVsZWFzZSgpLCByaHMudmFsdWUucmVsZWFzZSgpLCBv
cGVyYXRvckNoYXJhY3Rlcik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBk
ZWZhdWx0OgorICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAg
IEFTU0VSVCgqaW5kZXggPD0gdG9rZW5zLT5zaXplKCkpOworICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWVFeHByZXNzaW9uKENTU1BhcnNlclZhbHVlTGlz
dCogdG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKHRva2Vucywg
ZGVwdGgsIGluZGV4LCByZXN1bHQpOworICAgIH0KK307CisKK1Bhc3NSZWZQdHI8Q1NTQ2FsY1Zh
bHVlPiBDU1NDYWxjVmFsdWU6OmNyZWF0ZUZyb21QYXJzZXJWYWx1ZUxpc3QoQ1NTUGFyc2VyVmFs
dWVMaXN0KiBwYXJzZXJWYWx1ZUxpc3QpCit7CisgICAgQ1NTQ2FsY1ZhbHVlUGFyc2VyIHBhcnNl
cjsKKyAgICByZXR1cm4gYWRvcHRSZWYocGFyc2VyLnBhcnNlKHBhcnNlclZhbHVlTGlzdCkpOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1ND
YWxjVmFsdWUuaCBiL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjIyNjI3YTcKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2Nz
cy9DU1NDYWxjVmFsdWUuaApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDU1NDYWxjVmFsdWVfaAor
I2RlZmluZSBDU1NDYWxjVmFsdWVfaAorCisjaW5jbHVkZSAiQ1NTVmFsdWUuaCIKKyNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ1NTUGFyc2Vy
VmFsdWVMaXN0OworY2xhc3MgQ1NTVmFsdWVMaXN0OworY2xhc3MgUmVuZGVyU3R5bGU7CisKK2Ns
YXNzIENTU0NhbGNWYWx1ZSA6IHB1YmxpYyBDU1NWYWx1ZSB7CitwdWJsaWM6CisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBjcmVhdGVGcm9tUGFyc2VyVmFsdWVMaXN0KENTU1Bh
cnNlclZhbHVlTGlzdCopOworCisgICAgdmlydHVhbCBib29sIGlzQ2FsY1ZhbHVlKCkgY29uc3Qg
eyByZXR1cm4gdHJ1ZTsgfQorCisgICAgdmlydHVhbCBib29sIGlzWmVybygpIGNvbnN0ID0gMDsK
KworICAgIHZpcnR1YWwgZmxvYXQgZXZhbHVhdGUoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJT
dHlsZSogcm9vdFN0eWxlLCBmbG9hdCBtYXhWYWx1ZSkgY29uc3QgPSAwOworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ1NTQ2FsY1ZhbHVlX2gKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueSBiL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueQppbmRl
eCA5ZDVlYjZlLi5mOTdjNjA4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkK
KysrIGIvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55CkBAIC05Nyw3ICs5Nyw3IEBAIHN0YXRpYyBp
bnQgY3NzeXlsZXgoWVlTVFlQRSogeXlsdmFsLCB2b2lkKiBwYXJzZXIpCiAKICV9CiAKLSVleHBl
Y3QgNTQKKyVleHBlY3QgNjIKIAogJW5vbmFzc29jIExPV0VTVF9QUkVDCiAKQEAgLTE3NSw2ICsx
NzUsNyBAQCBzdGF0aWMgaW50IGNzc3l5bGV4KFlZU1RZUEUqIHl5bHZhbCwgdm9pZCogcGFyc2Vy
KQogJXRva2VuIDxzdHJpbmc+IFVSSQogJXRva2VuIDxzdHJpbmc+IEZVTkNUSU9OCiAldG9rZW4g
PHN0cmluZz4gTk9URlVOQ1RJT04KKyV0b2tlbiA8c3RyaW5nPiBDQUxDRlVOQ1RJT04KIAogJXRv
a2VuIDxzdHJpbmc+IFVOSUNPREVSQU5HRQogCkBAIC0yNTIsNiArMjUzLDExIEBAIHN0YXRpYyBp
bnQgY3NzeXlsZXgoWVlTVFlQRSogeXlsdmFsLCB2b2lkKiBwYXJzZXIpCiAldHlwZSA8dmFsdWU+
IHRlcm0KICV0eXBlIDx2YWx1ZT4gdW5hcnlfdGVybQogJXR5cGUgPHZhbHVlPiBmdW5jdGlvbgor
JXR5cGUgPHZhbHVlPiBjYWxjX2Z1bmNfdGVybQorJXR5cGUgPGNoYXJhY3Rlcj4gY2FsY19mdW5j
X29wZXJhdG9yCisldHlwZSA8dmFsdWVMaXN0PiBjYWxjX2Z1bmNfZXhwcgorJXR5cGUgPHZhbHVl
TGlzdD4gY2FsY19mdW5jX3BhcmVuX2V4cHIKKyV0eXBlIDx2YWx1ZT4gY2FsY19mdW5jdGlvbgog
CiAldHlwZSA8c3RyaW5nPiBlbGVtZW50X25hbWUKICV0eXBlIDxzdHJpbmc+IGF0dHJfbmFtZQpA
QCAtMTM3MSw2ICsxMzc3LDkgQEAgdGVybToKICAgfCBmdW5jdGlvbiB7CiAgICAgICAkJCA9ICQx
OwogICB9CisgIHwgY2FsY19mdW5jdGlvbiB7CisgICAgICAkJCA9ICQxOworICB9CiAgIHwgdmFy
aWFibGVfcmVmZXJlbmNlIG1heWJlX3NwYWNlIHsKICAgICAgICQkID0gJDE7CiAgIH0KQEAgLTE0
MzgsNiArMTQ0NywxMTQgQEAgZnVuY3Rpb246CiAgICAgICAgICQkLmZ1bmN0aW9uID0gZjsKICAg
fQogICA7CisKK2NhbGNfZnVuY190ZXJtOgorICAgIHRlcm0KKyAgOworCitjYWxjX2Z1bmNfb3Bl
cmF0b3I6CisgICAgJysnIG1heWJlX3NwYWNlIHsKKyAgICAgICAgJCQgPSAnKyc7CisgICAgfQor
ICB8ICctJyBtYXliZV9zcGFjZSB7CisgICAgICAgICQkID0gJy0nOworICAgIH0KKyAgfCAnKicg
bWF5YmVfc3BhY2UgeworICAgICAgICAkJCA9ICcqJzsKKyAgICB9CisgIHwgJy8nIG1heWJlX3Nw
YWNlIHsKKyAgICAgICAgJCQgPSAnLyc7CisgICAgfQorICB8IElERU5UIG1heWJlX3NwYWNlIHsK
KyAgICAgICAgaWYgKGVxdWFsKCJtb2QiLCAkMS5jaGFyYWN0ZXJzLCAkMS5sZW5ndGgpKQorICAg
ICAgICAgICAgJCQgPSAnJSc7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIFlZRVJST1I7Cisg
ICAgfQorICA7CisKK2NhbGNfZnVuY19wYXJlbl9leHByOgorICAgICcoJyBtYXliZV9zcGFjZSBj
YWxjX2Z1bmNfZXhwciBtYXliZV9zcGFjZSAnKScgbWF5YmVfc3BhY2UgeworICAgICAgICAkJCA9
ICQzOworICAgICAgICBpZiAoJCQpIHsKKyAgICAgICAgICAgIENTU1BhcnNlclZhbHVlIHY7Cisg
ICAgICAgICAgICB2LmlkID0gMDsKKyAgICAgICAgICAgIHYudW5pdCA9IENTU1BhcnNlclZhbHVl
OjpPcGVyYXRvcjsKKyAgICAgICAgICAgIHYuaVZhbHVlID0gJygnOworICAgICAgICAgICAgJCQt
Pmluc2VydFZhbHVlQXQoMCwgdik7CisgICAgICAgICAgICB2LmlWYWx1ZSA9ICcpJzsKKyAgICAg
ICAgICAgICQkLT5hZGRWYWx1ZSh2KTsKKyAgICAgICAgfQorICAgIH0KKworY2FsY19mdW5jX2V4
cHI6CisgICAgY2FsY19mdW5jX3Rlcm0gbWF5YmVfc3BhY2UgeworICAgICAgICBDU1NQYXJzZXIq
IHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOworICAgICAgICAkJCA9IHAtPmNy
ZWF0ZUZsb2F0aW5nVmFsdWVMaXN0KCk7CisgICAgICAgICQkLT5hZGRWYWx1ZShwLT5zaW5rRmxv
YXRpbmdWYWx1ZSgkMSkpOworICAgIH0KKyAgfCBjYWxjX2Z1bmNfZXhwciBtYXliZV9zcGFjZSBj
YWxjX2Z1bmNfdGVybSBtYXliZV9zcGFjZSB7CisgICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRp
Y19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7CisgICAgICAgICQkID0gJDE7CisgICAgICAgIGlm
ICgkJCkKKyAgICAgICAgICAgICQkLT5hZGRWYWx1ZShwLT5zaW5rRmxvYXRpbmdWYWx1ZSgkMykp
OworICAgIH0KKyAgfCBjYWxjX2Z1bmNfZXhwciBjYWxjX2Z1bmNfb3BlcmF0b3IgY2FsY19mdW5j
X3Rlcm0geworICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihw
YXJzZXIpOworICAgICAgICAkJCA9ICQxOworICAgICAgICBpZiAoJCQpIHsKKyAgICAgICAgICAg
IGlmICgkMikgeworICAgICAgICAgICAgICAgIENTU1BhcnNlclZhbHVlIHY7CisgICAgICAgICAg
ICAgICAgdi5pZCA9IDA7CisgICAgICAgICAgICAgICAgdi51bml0ID0gQ1NTUGFyc2VyVmFsdWU6
Ok9wZXJhdG9yOworICAgICAgICAgICAgICAgIHYuaVZhbHVlID0gJDI7CisgICAgICAgICAgICAg
ICAgJCQtPmFkZFZhbHVlKHYpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgJCQtPmFkZFZh
bHVlKHAtPnNpbmtGbG9hdGluZ1ZhbHVlKCQzKSk7CisgICAgICAgIH0KKyAgICB9CisgIHwgY2Fs
Y19mdW5jX2V4cHIgY2FsY19mdW5jX29wZXJhdG9yIGNhbGNfZnVuY19wYXJlbl9leHByIHsKKyAg
ICAgICAgJCQgPSAkMTsKKyAgICAgICAgaWYgKCQkKSB7CisgICAgICAgICAgICBpZiAoJDIpIHsK
KyAgICAgICAgICAgICAgICBDU1NQYXJzZXJWYWx1ZSB2OworICAgICAgICAgICAgICAgIHYuaWQg
PSAwOworICAgICAgICAgICAgICAgIHYudW5pdCA9IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvcjsK
KyAgICAgICAgICAgICAgICB2LmlWYWx1ZSA9ICQyOworICAgICAgICAgICAgICAgICQkLT5hZGRW
YWx1ZSh2KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICgkMykKKyAgICAgICAgICAg
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgJDMtPnNpemUoKTsgaSsrKQorICAgICAgICAg
ICAgICAgICAgICAkJC0+YWRkVmFsdWUoKiQzLT52YWx1ZUF0KGkpKTsKKyAgICAgICAgfQorICAg
IH0KKyAgfCBjYWxjX2Z1bmNfcGFyZW5fZXhwcgorICB8IGNhbGNfZnVuY19leHByIGVycm9yIHsK
KyAgICAgICAgJCQgPSAwOworICAgIH0KKyAgOworCitjYWxjX2Z1bmN0aW9uOgorICAgIENBTENG
VU5DVElPTiBtYXliZV9zcGFjZSBjYWxjX2Z1bmNfZXhwciAnKScgbWF5YmVfc3BhY2UgeworICAg
ICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOworICAg
ICAgICBDU1NQYXJzZXJGdW5jdGlvbiogZiA9IHAtPmNyZWF0ZUZsb2F0aW5nRnVuY3Rpb24oKTsK
KyAgICAgICAgZi0+bmFtZSA9ICQxOworICAgICAgICBmLT5hcmdzID0gcC0+c2lua0Zsb2F0aW5n
VmFsdWVMaXN0KCQzKTsKKyAgICAgICAgJCQuaWQgPSAwOworICAgICAgICAkJC51bml0ID0gQ1NT
UGFyc2VyVmFsdWU6OkZ1bmN0aW9uOworICAgICAgICAkJC5mdW5jdGlvbiA9IGY7CisgICAgfQor
ICB8IENBTENGVU5DVElPTiBtYXliZV9zcGFjZSBlcnJvciB7CisgICAgICAgIENTU1BhcnNlciog
cCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7CisgICAgICAgIENTU1BhcnNlckZ1
bmN0aW9uKiBmID0gcC0+Y3JlYXRlRmxvYXRpbmdGdW5jdGlvbigpOworICAgICAgICBmLT5uYW1l
ID0gJDE7CisgICAgICAgIGYtPmFyZ3MgPSAwOworICAgICAgICAkJC5pZCA9IDA7CisgICAgICAg
ICQkLnVuaXQgPSBDU1NQYXJzZXJWYWx1ZTo6RnVuY3Rpb247CisgICAgICAgICQkLmZ1bmN0aW9u
ID0gZjsKKyAgICB9CisgIDsKKwogLyoKICAqIFRoZXJlIGlzIGEgY29uc3RyYWludCBvbiB0aGUg
Y29sb3IgdGhhdCBpdCBtdXN0CiAgKiBoYXZlIGVpdGhlciAzIG9yIDYgaGV4LWRpZ2l0cyAoaS5l
LiwgWzAtOWEtZkEtRl0pCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCBjYTA3NjgyLi5iODExZWJkIDEwMDY0NAot
LS0gYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1dlYkNvcmUvY3NzL0NTU1BhcnNl
ci5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJDU3RyaW5nLmgiCiAjaW5jbHVkZSAi
Q1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0JvcmRlckltYWdlVmFsdWUu
aCIKKyNpbmNsdWRlICJDU1NDYWxjVmFsdWUuaCIKICNpbmNsdWRlICJDU1NDYW52YXNWYWx1ZS5o
IgogI2luY2x1ZGUgIkNTU0NoYXJzZXRSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTQ3Vyc29ySW1hZ2VW
YWx1ZS5oIgpAQCAtMTI1LDYgKzEyNiwxMSBAQCBzdGF0aWMgYm9vbCBoYXNQcmVmaXgoY29uc3Qg
Y2hhciogc3RyaW5nLCB1bnNpZ25lZCBsZW5ndGgsIGNvbnN0IGNoYXIqIHByZWZpeCkKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKK3N0YXRpYyBib29sIGlzQ2FsYyhDU1NQYXJzZXJWYWx1ZSogdmFs
dWUpCit7CisgICAgcmV0dXJuIHZhbHVlLT51bml0ID09IENTU1BhcnNlclZhbHVlOjpGdW5jdGlv
biAmJiBlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZS0+ZnVuY3Rpb24tPm5hbWUsICItd2Via2l0LWNh
bGMoIik7Cit9CisKIENTU1BhcnNlcjo6Q1NTUGFyc2VyKGJvb2wgc3RyaWN0UGFyc2luZykKICAg
ICA6IG1fc3RyaWN0KHN0cmljdFBhcnNpbmcpCiAgICAgLCBtX2ltcG9ydGFudChmYWxzZSkKQEAg
LTEwMTAsOSArMTAxNiwxMiBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShpbnQgcHJvcElk
LCBib29sIGltcG9ydGFudCkKICAgICAgICAgICAgIHZhbGlkX3ByaW1pdGl2ZSA9ICghaWQgJiYg
dmFsaWRVbml0KHZhbHVlLCBGTGVuZ3RofEZQZXJjZW50LCBtX3N0cmljdCkpOwogICAgICAgICBi
cmVhazsKIAotICAgIGNhc2UgQ1NTUHJvcGVydHlIZWlnaHQ6ICAgICAgICAgICAgICAgLy8gPGxl
bmd0aD4gfCA8cGVyY2VudGFnZT4gfCBhdXRvIHwgaW5oZXJpdAotICAgIGNhc2UgQ1NTUHJvcGVy
dHlXaWR0aDogICAgICAgICAgICAgICAgLy8gPGxlbmd0aD4gfCA8cGVyY2VudGFnZT4gfCBhdXRv
IHwgaW5oZXJpdAotICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVBdXRvIHx8IGlkID09IENTU1Zh
bHVlSW50cmluc2ljIHx8IGlkID09IENTU1ZhbHVlTWluSW50cmluc2ljKQorICAgIGNhc2UgQ1NT
UHJvcGVydHlIZWlnaHQ6ICAgICAgICAgICAgICAgLy8gPGxlbmd0aD4gfCA8cGVyY2VudGFnZT4g
fCBhdXRvIHwgaW5oZXJpdCB8IGNhbGMoKQorICAgIGNhc2UgQ1NTUHJvcGVydHlXaWR0aDogICAg
ICAgICAgICAgICAgLy8gPGxlbmd0aD4gfCA8cGVyY2VudGFnZT4gfCBhdXRvIHwgaW5oZXJpdCB8
IGNhbGMoKQorICAgICAgICBpZiAoaXNDYWxjKHZhbHVlKSkgeworICAgICAgICAgICAgaWYgKHBh
cnNlQ2FsY3VsYXRlZExlbmd0aChwcm9wSWQsIHZhbHVlLCBpbXBvcnRhbnQpKQorICAgICAgICAg
ICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9IGVsc2UgaWYgKGlkID09IENTU1ZhbHVlQXV0
byB8fCBpZCA9PSBDU1NWYWx1ZUludHJpbnNpYyB8fCBpZCA9PSBDU1NWYWx1ZU1pbkludHJpbnNp
YykKICAgICAgICAgICAgIHZhbGlkX3ByaW1pdGl2ZSA9IHRydWU7CiAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgIC8vICMjIyBoYW5kbGUgbXVsdGlsZW5ndGggY2FzZSB3aGVyZSB3ZSBhbGxvdyBy
ZWxhdGl2ZSB1bml0cwpAQCAtMzgyMyw2ICszODMyLDIyIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJz
ZVNoYWRvdyhpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICByZXR1cm4gZmFsc2U7CiB9
CiAKK2Jvb2wgQ1NTUGFyc2VyOjpwYXJzZUNhbGN1bGF0ZWRMZW5ndGgoaW50IHByb3BJZCwgQ1NT
UGFyc2VyVmFsdWUqIHBhcnNlclZhbHVlLCBib29sIGltcG9ydGFudCkKK3sKKyAgICBBU1NFUlQo
aXNDYWxjKHBhcnNlclZhbHVlKSk7CisKKyAgICBDU1NQYXJzZXJWYWx1ZUxpc3QqIGFyZ3MgPSBw
YXJzZXJWYWx1ZS0+ZnVuY3Rpb24tPmFyZ3M7CisgICAgaWYgKCFhcmdzIHx8ICFhcmdzLT5zaXpl
KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIFJlZlB0cjxDU1NDYWxjVmFsdWU+IGNh
bGMgPSBDU1NDYWxjVmFsdWU6OmNyZWF0ZUZyb21QYXJzZXJWYWx1ZUxpc3QoYXJncyk7CisgICAg
aWYgKCFjYWxjLmdldCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBhZGRQcm9wZXJ0
eShwcm9wSWQsIGNhbGMucmVsZWFzZSgpLCBpbXBvcnRhbnQpOworICAgIHJldHVybiB0cnVlOwor
fQorCiBib29sIENTU1BhcnNlcjo6cGFyc2VSZWZsZWN0KGludCBwcm9wSWQsIGJvb2wgaW1wb3J0
YW50KQogewogICAgIC8vIGJveC1yZWZsZWN0OiA8ZGlyZWN0aW9uPiA8b2Zmc2V0PiA8bWFzaz4K
QEAgLTQ2NTAsNiArNDY3NSw3IEBAIGludCBDU1NQYXJzZXI6OmxleCh2b2lkKiB5eWx2YWxXaXRo
b3V0VHlwZSkKICAgICBjYXNlIFVOSUNPREVSQU5HRToKICAgICBjYXNlIEZVTkNUSU9OOgogICAg
IGNhc2UgTk9URlVOQ1RJT046CisgICAgY2FzZSBDQUxDRlVOQ1RJT046CiAgICAgY2FzZSBWQVJD
QUxMOgogICAgICAgICB5eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJzID0gdDsKICAgICAgICAgeXls
dmFsLT5zdHJpbmcubGVuZ3RoID0gbGVuZ3RoOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmggYi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCAzOTIyYTJhLi5iM2Q5N2Ez
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9XZWJDb3JlL2Nzcy9D
U1NQYXJzZXIuaApAQCAtMjI5LDYgKzIyOSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgaW50IGxleCgpOwogICAgICAgICAKICAgICBwcml2YXRlOgorICAgICAgICBib29sIHBhcnNl
Q2FsY3VsYXRlZExlbmd0aChpbnQgcHJvcElkLCBDU1NQYXJzZXJWYWx1ZSosIGJvb2wgaW1wb3J0
YW50KTsKKwogICAgICAgICB2b2lkIHJlY2hlY2tBdEtleXdvcmQoY29uc3QgVUNoYXIqIHN0ciwg
aW50IGxlbik7CiAgICAgCiAgICAgICAgIHZvaWQgY2xlYXJQcm9wZXJ0aWVzKCk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyVmFsdWVzLmNwcAppbmRleCA1NWVjYjdmLi4wZmJiMDJlIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwCisrKyBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVl
cy5jcHAKQEAgLTQ2LDcgKzQ2LDE0IEBAIHZvaWQgQ1NTUGFyc2VyVmFsdWVMaXN0OjphZGRWYWx1
ZShjb25zdCBDU1NQYXJzZXJWYWx1ZSYgdikKICAgICAgICAgbV92YXJpYWJsZXNDb3VudCsrOwog
ICAgIG1fdmFsdWVzLmFwcGVuZCh2KTsKIH0KLSAgICAKKwordm9pZCBDU1NQYXJzZXJWYWx1ZUxp
c3Q6Omluc2VydFZhbHVlQXQodW5zaWduZWQgaSwgY29uc3QgQ1NTUGFyc2VyVmFsdWUmIHYpCit7
CisgICAgaWYgKHYudW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BBUlNFUl9WQVJJQUJM
RV9GVU5DVElPTl9TWU5UQVgpIC8vIGlzVmFyaWFibGUoKSBpcyBub3QgaW5saW5lZC4gVGhpcyBp
cyBob3QuCisgICAgICAgIG1fdmFyaWFibGVzQ291bnQrKzsKKyAgICBtX3ZhbHVlcy5pbnNlcnQo
aSwgdik7Cit9CisKIHZvaWQgQ1NTUGFyc2VyVmFsdWVMaXN0OjpkZWxldGVWYWx1ZUF0KHVuc2ln
bmVkIGkpCiB7IAogICAgIGlmIChtX3ZhbHVlc1tpXS5pc1ZhcmlhYmxlKCkpCkBAIC04MSw0ICs4
OCwzIEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlclZhbHVlOjpjcmVhdGVDU1NWYWx1
ZSgpCiB9CiAKIH0KLQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgg
Yi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaAppbmRleCAxZTk3NjdhLi4xOGIwMzMyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaAorKysgYi9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXJWYWx1ZXMuaApAQCAtNzAsNiArNzAsNyBAQCBwdWJsaWM6CiAgICAgfkNTU1Bh
cnNlclZhbHVlTGlzdCgpOwogICAgIAogICAgIHZvaWQgYWRkVmFsdWUoY29uc3QgQ1NTUGFyc2Vy
VmFsdWUmKTsKKyAgICB2b2lkIGluc2VydFZhbHVlQXQodW5zaWduZWQsIGNvbnN0IENTU1BhcnNl
clZhbHVlJik7CiAgICAgdm9pZCBkZWxldGVWYWx1ZUF0KHVuc2lnbmVkKTsKIAogICAgIHVuc2ln
bmVkIHNpemUoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlcy5zaXplKCk7IH0KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlLmNwcAppbmRleCAxZjJjOWNhLi5jNjI2MGQ0IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWUuY3BwCkBAIC0yNDgsNiArMjQ4LDEwIEBAIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmlt
aXRpdmVWYWx1ZShjb25zdCBMZW5ndGgmIGxlbmd0aCkKICAgICAgICAgICAgIG1fdHlwZSA9IENT
U19QRVJDRU5UQUdFOwogICAgICAgICAgICAgbV92YWx1ZS5udW0gPSBsZW5ndGgucGVyY2VudCgp
OwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKKyAgICAgICAg
ICAgIC8vIFdlIGNhbid0IGdpdmUgYSBzYW5lIHByaW1pdGl2ZSB2YWx1ZSBmb3IgY2FsYy4KKyAg
ICAgICAgICAgIG1fdHlwZSA9IENTU19VTktOT1dOOworICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIGNhc2UgUmVsYXRpdmU6CiAgICAgICAgIGNhc2UgU3RhdGljOgogICAgICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVj
dG9yLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCmluZGV4IGFlZWQ4YWQu
LmFmYjBlZWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCisr
KyBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAj
aW5jbHVkZSAiQ1NTU3R5bGVTZWxlY3Rvci5oIgogCiAjaW5jbHVkZSAiQ1NTQm9yZGVySW1hZ2VW
YWx1ZS5oIgorI2luY2x1ZGUgIkNTU0NhbGNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0N1cnNvcklt
YWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NJ
bXBvcnRSdWxlLmgiCkBAIC0yODYyLDcgKzI4NjMsNyBAQCB2b2lkIENTU1J1bGVTZXQ6OmFkZFJ1
bGVzRnJvbVNoZWV0KENTU1N0eWxlU2hlZXQqIHNoZWV0LCBjb25zdCBNZWRpYVF1ZXJ5RXZhbHVh
dAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogLy8gdGhpcyBpcyBtb3N0bHkgYm9y
aW5nIHN0dWZmIG9uIGhvdyB0byBhcHBseSBhIGNlcnRhaW4gcnVsZSB0byB0aGUgcmVuZGVyc3R5
bGUuLi4KIAotc3RhdGljIExlbmd0aCBjb252ZXJ0VG9MZW5ndGgoQ1NTUHJpbWl0aXZlVmFsdWUq
IHByaW1pdGl2ZVZhbHVlLCBSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5
bGUsIGRvdWJsZSBtdWx0aXBsaWVyID0gMSwgYm9vbCAqb2sgPSAwKQorTGVuZ3RoIENTU1N0eWxl
U2VsZWN0b3I6OmNvbnZlcnRUb0xlbmd0aChDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFs
dWUsIFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIG11
bHRpcGxpZXIsIGJvb2wgKm9rKQogewogICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgdG9sZXJhbnQg
b2YgYSBudWxsIHN0eWxlIHZhbHVlLiBUaGUgb25seSBwbGFjZSBzdHlsZSBpcyB1c2VkIGlzIGlu
CiAgICAgLy8gbGVuZ3RoIG1lYXN1cmVtZW50cywgbGlrZSAnZW1zJyBhbmQgJ3B4Jy4gQW5kIGlu
IHRob3NlIGNhc2VzIHN0eWxlIGlzIG9ubHkgdXNlZApAQCAtMzc0NSw3ICszNzQ2LDEzIEBAIHZv
aWQgQ1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShpbnQgaWQsIENTU1ZhbHVlICp2YWx1
ZSkKICAgICAgICAgICAgIEhBTkRMRV9JTklUSUFMX0NPTkRfV0lUSF9WQUxVRShDU1NQcm9wZXJ0
eU1hcmdpbkxlZnQsIE1hcmdpbkxlZnQsIE1hcmdpbikKICAgICAgICAgICAgIEhBTkRMRV9JTklU
SUFMX0NPTkQoQ1NTUHJvcGVydHlUZXh0SW5kZW50LCBUZXh0SW5kZW50KQogICAgICAgICAgICAg
cmV0dXJuOwotICAgICAgICB9IAorICAgICAgICB9CisgICAgICAgIGlmICh2YWx1ZS0+aXNDYWxj
VmFsdWUoKSkgeworICAgICAgICAgICAgQ1NTQ2FsY1ZhbHVlKiBjYWxjID0gc3RhdGljX2Nhc3Q8
Q1NTQ2FsY1ZhbHVlKj4odmFsdWUpOworICAgICAgICAgICAgbCA9IExlbmd0aChjYWxjLCBtX3N0
eWxlLmdldCgpLCBtX3Jvb3RFbGVtZW50U3R5bGUpOworICAgICAgICAgICAgaWYgKGwuaXNDYWxj
dWxhdGVkKCkpCisgICAgICAgICAgICAgICAgYXBwbHkgPSB0cnVlOworICAgICAgICB9CiAKICAg
ICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlICYmICFhcHBseSkgewogICAgICAgICAgICAgaW50IHR5
cGUgPSBwcmltaXRpdmVWYWx1ZS0+cHJpbWl0aXZlVHlwZSgpOwpAQCAtMzg0Nyw2ICszODU0LDEy
IEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShpbnQgaWQsIENTU1ZhbHVl
ICp2YWx1ZSkKICAgICAgICAgICAgIEhBTkRMRV9JTklUSUFMX0NPTkRfV0lUSF9WQUxVRShDU1NQ
cm9wZXJ0eU1pbkhlaWdodCwgTWluSGVpZ2h0LCBNaW5TaXplKQogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9CisgICAgICAgIGlmICh2YWx1ZS0+aXNDYWxjVmFsdWUoKSkgeworICAgICAg
ICAgICAgQ1NTQ2FsY1ZhbHVlKiBjYWxjID0gc3RhdGljX2Nhc3Q8Q1NTQ2FsY1ZhbHVlKj4odmFs
dWUpOworICAgICAgICAgICAgbCA9IExlbmd0aChjYWxjLCBtX3N0eWxlLmdldCgpLCBtX3Jvb3RF
bGVtZW50U3R5bGUpOworICAgICAgICAgICAgaWYgKGwuaXNDYWxjdWxhdGVkKCkpCisgICAgICAg
ICAgICAgICAgYXBwbHkgPSB0cnVlOworICAgICAgICB9CiAKICAgICAgICAgaWYgKHByaW1pdGl2
ZVZhbHVlICYmICFhcHBseSkgewogICAgICAgICAgICAgdW5zaWduZWQgc2hvcnQgdHlwZSA9IHBy
aW1pdGl2ZVZhbHVlLT5wcmltaXRpdmVUeXBlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9D
U1NTdHlsZVNlbGVjdG9yLmggYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKaW5kZXgg
YWFjMWJhZS4uZTVjZGNhNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rv
ci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaApAQCAtMjEyLDYgKzIxMiw4
IEBAIHB1YmxpYzoKICAgICAgICAgICAgIG11dGFibGUgSGFzaFNldDxMaW5rSGFzaCwgTGlua0hh
c2hIYXNoPiBtX2xpbmtzQ2hlY2tlZEZvclZpc2l0ZWRTdGF0ZTsKICAgICAgICAgfTsKIAorICAg
ICAgICBzdGF0aWMgTGVuZ3RoIGNvbnZlcnRUb0xlbmd0aChDU1NQcmltaXRpdmVWYWx1ZSogcHJp
bWl0aXZlVmFsdWUsIFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwg
ZG91YmxlIG11bHRpcGxpZXIgPSAxLCBib29sICpvayA9IDApOworCiAgICAgcHJpdmF0ZToKICAg
ICAgICAgc3RhdGljIFJlbmRlclN0eWxlKiBzX3N0eWxlTm90WWV0QXZhaWxhYmxlOwogCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oIGIvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaApp
bmRleCAwYmQ2NDk2Li40YzdjZTFmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5o
CisrKyBiL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKQEAgLTYxLDYgKzYxLDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgYm9vbCBpc1RpbWluZ0Z1bmN0aW9uVmFsdWUoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1ZhbHVlTGlzdCgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9vbCBpc0NhbGNWYWx1ZSgpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CiAKICNpZiBFTkFCTEUoU1ZHKQogICAgIHZpcnR1YWwgYm9vbCBp
c1NWR0NvbG9yKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Y3NzL3Rva2VuaXplci5mbGV4IGIvV2ViQ29yZS9jc3MvdG9rZW5pemVyLmZsZXgKaW5kZXggMTU2
OWVlMi4uYWU4ZWY5OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvdG9rZW5pemVyLmZsZXgKKysr
IGIvV2ViQ29yZS9jc3MvdG9rZW5pemVyLmZsZXgKQEAgLTExLDExICsxMSwxMyBAQCB1bmljb2Rl
ICAgICAgICAgXFx7aH17MSw2fVsgXHRcclxuXGZdPwogZXNjYXBlICAgICAgICAgIHt1bmljb2Rl
fXxcXFsgLX5cMjAwLVwzNzddCiBubXN0YXJ0ICAgICAgICAgW19hLXpBLVpdfHtub25hc2NpaX18
e2VzY2FwZX0KIG5tY2hhciAgICAgICAgICBbX2EtekEtWjAtOS1dfHtub25hc2NpaX18e2VzY2Fw
ZX0KK2RpbWNoYXIgICAgICAgICBbX2EtekEtWjAtOV18e25vbmFzY2lpfXx7ZXNjYXBlfQogc3Ry
aW5nMSAgICAgICAgIFwiKFtcdCAhIyQlJigtfl18XFx7bmx9fFwnfHtub25hc2NpaX18e2VzY2Fw
ZX0pKlwiCiBzdHJpbmcyICAgICAgICAgXCcoW1x0ICEjJCUmKC1+XXxcXHtubH18XCJ8e25vbmFz
Y2lpfXx7ZXNjYXBlfSkqXCcKIGhleGNvbG9yICAgICAgICB7aH17M318e2h9ezZ9CiAKIGlkZW50
ICAgICAgICAgICAtP3tubXN0YXJ0fXtubWNoYXJ9KgorZGltaWRlbnQgICAgICAgIHtubXN0YXJ0
fXtkaW1jaGFyfSoKIG5hbWUgICAgICAgICAgICB7bm1jaGFyfSsKIG51bSAgICAgICAgICAgICBb
MC05XSt8WzAtOV0qIi4iWzAtOV0rCiBpbnRudW0gICAgICAgICAgWzAtOV0rCkBAIC05MCw3ICs5
Miw3IEBAIG50aCAgICAgICAgICAgICAoLT9bMC05XSpuW1wrLV1bMC05XSspfCgtP1swLTldKm4p
CiB7bnVtfXMgICAgICAgICAgICAgICAgICB7eXlUb2sgPSBTRUNTOyByZXR1cm4geXlUb2s7fQog
e251bX1IeiAgICAgICAgICAgICAgICAge3l5VG9rID0gSEVSWjsgcmV0dXJuIHl5VG9rO30KIHtu
dW19a0h6ICAgICAgICAgICAgICAgIHt5eVRvayA9IEtIRVJaOyByZXR1cm4geXlUb2s7fQote251
bX17aWRlbnR9ICAgICAgICAgICAge3l5VG9rID0gRElNRU47IHJldHVybiB5eVRvazt9Cit7bnVt
fXtkaW1pZGVudH0gICAgICAgICB7eXlUb2sgPSBESU1FTjsgcmV0dXJuIHl5VG9rO30KIHtudW19
JSsgICAgICAgICAgICAgICAgIHt5eVRvayA9IFBFUkNFTlRBR0U7IHJldHVybiB5eVRvazt9CiB7
aW50bnVtfSAgICAgICAgICAgICAgICB7eXlUb2sgPSBJTlRFR0VSOyByZXR1cm4geXlUb2s7fQog
e251bX0gICAgICAgICAgICAgICAgICAge3l5VG9rID0gRkxPQVRUT0tFTjsgcmV0dXJuIHl5VG9r
O30KQEAgLTk5LDYgKzEwMSw3IEBAIG50aCAgICAgICAgICAgICAoLT9bMC05XSpuW1wrLV1bMC05
XSspfCgtP1swLTldKm4pCiAidXJsKCJ7d317c3RyaW5nfXt3fSIpIiB7eXlUb2sgPSBVUkk7IHJl
dHVybiB5eVRvazt9CiAidXJsKCJ7d317dXJsfXt3fSIpIiAgICB7eXlUb2sgPSBVUkk7IHJldHVy
biB5eVRvazt9CiAiLXdlYmtpdC12YXIoInt3fXtpZGVudH17d30iKSIgeyB5eVRvayA9IFZBUkNB
TEw7IHJldHVybiB5eVRvazsgfQorIi13ZWJraXQtY2FsYygiICAgICAgICAge3l5VG9rID0gQ0FM
Q0ZVTkNUSU9OOyByZXR1cm4geXlUb2s7IH0KIHtpZGVudH0iKCIgICAgICAgICAgICAgIHt5eVRv
ayA9IEZVTkNUSU9OOyByZXR1cm4geXlUb2s7fQogCiBVXCt7cmFuZ2V9ICAgICAgICAgICAgICB7
eXlUb2sgPSBVTklDT0RFUkFOR0U7IHJldHVybiB5eVRvazt9CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BsYXRmb3JtL0xlbmd0aC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5jcHAKaW5kZXgg
Mzc1N2Q5Mi4uZDdjN2E0OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguY3Bw
CisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmNwcApAQCAtMjUsMTAgKzI1LDE0IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTGVuZ3RoLmgiCiAKKyNpbmNsdWRlICJDU1ND
YWxjVmFsdWUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgIlJlbmRl
clN0eWxlLmgiCiAjaW5jbHVkZSAiU3RyaW5nQnVmZmVyLmgiCisjaW5jbHVkZSA8bWF0aC5oPgog
I2luY2x1ZGUgPHd0Zi9BU0NJSUNUeXBlLmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4K
KyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogCiB1c2luZyBuYW1lc3BhY2UgV1RGOwogCkBAIC0x
NDgsNCArMTUyLDE0OCBAQCBMZW5ndGgqIG5ld0xlbmd0aEFycmF5KGNvbnN0IFN0cmluZyYgc3Ry
aW5nLCBpbnQmIGxlbikKICAgICByZXR1cm4gcjsKIH0KIAorY2xhc3MgQ2FsY3VsYXRlZExlbmd0
aCB7CitwdWJsaWM6CisgICAgQ2FsY3VsYXRlZExlbmd0aChDU1NDYWxjVmFsdWUqIGNhbGMsIFJl
bmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSkKKyAgICAgICAgOiBtX2Nh
bGMoY2FsYykKKyAgICAgICAgLCBtX3N0eWxlKHN0eWxlKQorICAgICAgICAsIG1fcm9vdFN0eWxl
KHJvb3RTdHlsZSkKKyAgICAgICAgLCBtX3JlZkNvdW50KDEpCisgICAgeworICAgIH0KKworICAg
IGZsb2F0IGV2YWx1YXRlKGZsb2F0IG1heFZhbHVlKSBjb25zdAorICAgIHsKKyAgICAgICAgZmxv
YXQgcmVzdWx0ID0gbV9jYWxjLT5ldmFsdWF0ZShtX3N0eWxlLCBtX3Jvb3RTdHlsZSwgbWF4VmFs
dWUpOworICAgICAgICAvLyBGSVhNRTogcmVzdWx0IGlzIE5hTiB3aGVuIHRoZXJlIGlzIGEgZGl2
aXNpb24gYnkgemVybyB3aGljaAorICAgICAgICAvLyAgICAgICAgaXNuJ3QgZm91bmQgYXQgcGFy
c2UgdGltZSAoZS5nLiwgNS8oMTAwJS0yMDBweCkqMTAwcHgpLgorICAgICAgICAvLyAgICAgICAg
VGhlcmUgaXMgYSBkaXNjdXNzaW9uIGFib3V0IHRoaXMgYW5kIGhvcGVmdWxseSBzcGVjCisgICAg
ICAgIC8vICAgICAgICB3aWxsIGhhdmUgdGhlIGRlY2lzaW9uIGZvciB0aGlzIGlzc3VlLgorICAg
ICAgICAvLyAgICAgICAgaHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9QdWJsaWMvd3d3LXN0
eWxlLzIwMTBKYW4vMDAwNy5odG1sCisgICAgICAgIGlmIChpc25hbihyZXN1bHQpKQorICAgICAg
ICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorCisgICAgaW50
IHJlZkNvdW50KCkgY29uc3QgeyByZXR1cm4gbV9yZWZDb3VudDsgfQorICAgIGludCBpbmNyZW1l
bnRSZWZDb3VudCgpIHsgcmV0dXJuICsrbV9yZWZDb3VudDsgfQorICAgIGludCBkZWNyZW1lbnRS
ZWZDb3VudCgpIHsgcmV0dXJuIC0tbV9yZWZDb3VudDsgfQorCitwcml2YXRlOgorICAgIFJlZlB0
cjxDU1NDYWxjVmFsdWU+IG1fY2FsYzsKKyAgICBSZW5kZXJTdHlsZSogbV9zdHlsZTsKKyAgICBS
ZW5kZXJTdHlsZSogbV9yb290U3R5bGU7CisgICAgaW50IG1fcmVmQ291bnQ7Cit9OworCituYW1l
c3BhY2UgeworCisvLyBBcyBMZW5ndGggb25seSBoYXMgMzJiaXQsIHdlIGNhbm5vdCBoYXZlIHRo
ZSBkYXRhIGZvciBjYWxjKCkgaW4gdGhlCisvLyBMZW5ndGggb2JqZWN0LiBTbywgd2UgZ2l2ZSBz
ZXJpYWwgSURzLCB3aGVyZSAwIDwgSUQgPCAweDBmZmZmZmZmLAorLy8gZm9yIGVhY2ggZGF0YSBh
bmQgYWNjZXNzIHRoZSBkYXRhIHVzaW5nIHRoaXMgSUQuCit0eXBlZGVmIEhhc2hNYXA8aW50LCBD
YWxjdWxhdGVkTGVuZ3RoKj4gQ2FsY3VsYXRlZExlbmd0aE1hcDsKK0NhbGN1bGF0ZWRMZW5ndGhN
YXAqIGdDYWxjdWxhdGVkTGVuZ3RoTWFwID0gMDsKKworQ2FsY3VsYXRlZExlbmd0aE1hcCogY2Fs
Y3VsYXRlZExlbmd0aE1hcCgpCit7CisgICAgaWYgKCFnQ2FsY3VsYXRlZExlbmd0aE1hcCkKKyAg
ICAgICAgZ0NhbGN1bGF0ZWRMZW5ndGhNYXAgPSBuZXcgQ2FsY3VsYXRlZExlbmd0aE1hcDsKKyAg
ICByZXR1cm4gZ0NhbGN1bGF0ZWRMZW5ndGhNYXA7Cit9CisKK2Zsb2F0IGV2YWx1YXRlQ2FsY3Vs
YXRlZExlbmd0aE1hcChpbnQga2V5LCBpbnQgbWF4VmFsdWUpCit7CisKKyAgICBBU1NFUlQoY2Fs
Y3VsYXRlZExlbmd0aE1hcCgpLT5jb250YWlucyhrZXkpKTsKKyAgICBjb25zdCBDYWxjdWxhdGVk
TGVuZ3RoKiBjYWxjTGVuZ3RoID0gY2FsY3VsYXRlZExlbmd0aE1hcCgpLT5nZXQoa2V5KTsKKyAg
ICByZXR1cm4gY2FsY0xlbmd0aC0+ZXZhbHVhdGUobWF4VmFsdWUpOworfQorCitpbnQgZ0NhbGN1
bGF0ZWRMZW5ndGhJZCA9IDA7CisKK30gLy8gbmFtZXNwYWNlCisKK0xlbmd0aDo6TGVuZ3RoKENT
U0NhbGNWYWx1ZSogY2FsYywgUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0
eWxlKQoreworICAgIC8vIFNraXAgZ0NhbGN1bGF0ZWRMZW5ndGhJZCA9PSAwIGFzIHplcm8ga2V5
IGhpdHMgdGhlIGFzc2VydGlvbiBvZiBIYXNoTWFwLgorICAgIHdoaWxlICghZ0NhbGN1bGF0ZWRM
ZW5ndGhJZCB8fCBjYWxjdWxhdGVkTGVuZ3RoTWFwKCktPmNvbnRhaW5zKGdDYWxjdWxhdGVkTGVu
Z3RoSWQpKQorICAgICAgICBnQ2FsY3VsYXRlZExlbmd0aElkID0gKGdDYWxjdWxhdGVkTGVuZ3Ro
SWQgKyAxKSAmIDB4MGZmZmZmZmY7CisgICAgbV92YWx1ZSA9IGdDYWxjdWxhdGVkTGVuZ3RoSWQg
KiAxNiB8IENhbGN1bGF0ZWQ7CisgICAgZ0NhbGN1bGF0ZWRMZW5ndGhJZCA9IChnQ2FsY3VsYXRl
ZExlbmd0aElkICsgMSkgJiAweDBmZmZmZmZmOworCisgICAgQ2FsY3VsYXRlZExlbmd0aCogY2Fs
Y0xlbmd0aCA9IG5ldyBDYWxjdWxhdGVkTGVuZ3RoKGNhbGMsIHN0eWxlLCByb290U3R5bGUpOwor
ICAgIGNhbGN1bGF0ZWRMZW5ndGhNYXAoKS0+c2V0KGNhbGN1bGF0ZWRMZW5ndGhJZCgpLCBjYWxj
TGVuZ3RoKTsKK30KKworLy8gRklYTUU6IEl0J3MgaW1wb3NzaWJsZSB0byBrbm93IHRoZSBzaWdu
IG9mIGNhbGMgdmFsdWVzIHdpdGhvdXQKKy8vICAgICAgICBtYXggdmFsdWUgaWYgdGhlIGNhbGMg
Zm9ybXVsYSBjb250YWlucyBwZXJjZW50YW5nZXMuCisvLyAgICAgICAgV2UgYXNzdW1lIGFsbCBj
YWxjIHZhbHVlcyBhcmUgcG9zaXRpdmUgZm9yIG5vdy4KKworYm9vbCBMZW5ndGg6OmNhbGN1bGF0
ZWRJc1plcm8oKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBMZW5ndGg6
OmNhbGN1bGF0ZWRJc1Bvc2l0aXZlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwor
Ym9vbCBMZW5ndGg6OmNhbGN1bGF0ZWRJc05lZ2F0aXZlKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKK2ludCBMZW5ndGg6OmNhbGN1bGF0ZWRDYWxjVmFsdWUoaW50IG1heFZhbHVl
LCBib29sIC8qIHJvdW5kUGVyY2VudGFnZXMgKi8pIGNvbnN0Cit7CisgICAgQVNTRVJUKGlzQ2Fs
Y3VsYXRlZCgpKTsKKyAgICBBU1NFUlQoY2FsY3VsYXRlZExlbmd0aE1hcCgpLT5jb250YWlucyhj
YWxjdWxhdGVkTGVuZ3RoSWQoKSkpOworICAgIGNvbnN0IENhbGN1bGF0ZWRMZW5ndGgqIGNhbGNM
ZW5ndGggPSBjYWxjdWxhdGVkTGVuZ3RoTWFwKCktPmdldChjYWxjdWxhdGVkTGVuZ3RoSWQoKSk7
CisgICAgZmxvYXQgcmVzdWx0ID0gY2FsY0xlbmd0aC0+ZXZhbHVhdGUobWF4VmFsdWUpOworICAg
IGlmIChpc25hbihyZXN1bHQpKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gcmVzdWx0
OworfQorCitpbnQgTGVuZ3RoOjpjYWxjdWxhdGVkQ2FsY01pblZhbHVlKGludCBtYXhWYWx1ZSwg
Ym9vbCAvKiByb3VuZFBlcmNlbnRhZ2VzICovKSBjb25zdAoreworICAgIEFTU0VSVChpc0NhbGN1
bGF0ZWQoKSk7CisgICAgQVNTRVJUKGNhbGN1bGF0ZWRMZW5ndGhNYXAoKS0+Y29udGFpbnMoY2Fs
Y3VsYXRlZExlbmd0aElkKCkpKTsKKyAgICBjb25zdCBDYWxjdWxhdGVkTGVuZ3RoKiBjYWxjTGVu
Z3RoID0gY2FsY3VsYXRlZExlbmd0aE1hcCgpLT5nZXQoY2FsY3VsYXRlZExlbmd0aElkKCkpOwor
ICAgIGZsb2F0IHJlc3VsdCA9IGNhbGNMZW5ndGgtPmV2YWx1YXRlKG1heFZhbHVlKTsKKyAgICBp
ZiAoaXNuYW4ocmVzdWx0KSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHJlc3VsdDsK
K30KKworZmxvYXQgTGVuZ3RoOjpjYWxjdWxhdGVkQ2FsY0Zsb2F0VmFsdWUoaW50IG1heFZhbHVl
KSBjb25zdAoreworICAgIEFTU0VSVChpc0NhbGN1bGF0ZWQoKSk7CisgICAgQVNTRVJUKGNhbGN1
bGF0ZWRMZW5ndGhNYXAoKS0+Y29udGFpbnMoY2FsY3VsYXRlZExlbmd0aElkKCkpKTsKKyAgICBj
b25zdCBDYWxjdWxhdGVkTGVuZ3RoKiBjYWxjTGVuZ3RoID0gY2FsY3VsYXRlZExlbmd0aE1hcCgp
LT5nZXQoY2FsY3VsYXRlZExlbmd0aElkKCkpOworICAgIGZsb2F0IHJlc3VsdCA9IGNhbGNMZW5n
dGgtPmV2YWx1YXRlKG1heFZhbHVlKTsKKyAgICBpZiAoaXNuYW4ocmVzdWx0KSkKKyAgICAgICAg
cmV0dXJuIDA7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordm9pZCBMZW5ndGg6OmluY3JlbWVu
dENhbGN1bGF0ZWRSZWYoKSBjb25zdAoreworICAgIEFTU0VSVChpc0NhbGN1bGF0ZWQoKSk7Cisg
ICAgQVNTRVJUKGNhbGN1bGF0ZWRMZW5ndGhNYXAoKS0+Y29udGFpbnMoY2FsY3VsYXRlZExlbmd0
aElkKCkpKTsKKyAgICBDYWxjdWxhdGVkTGVuZ3RoKiBjYWxjTGVuZ3RoID0gY2FsY3VsYXRlZExl
bmd0aE1hcCgpLT5nZXQoY2FsY3VsYXRlZExlbmd0aElkKCkpOworICAgIGNhbGNMZW5ndGgtPmlu
Y3JlbWVudFJlZkNvdW50KCk7Cit9CisKK3ZvaWQgTGVuZ3RoOjpkZWNyZW1lbnRDYWxjdWxhdGVk
UmVmKCkgY29uc3QKK3sKKyAgICBBU1NFUlQoaXNDYWxjdWxhdGVkKCkpOworICAgIEFTU0VSVChj
YWxjdWxhdGVkTGVuZ3RoTWFwKCktPmNvbnRhaW5zKGNhbGN1bGF0ZWRMZW5ndGhJZCgpKSk7Cisg
ICAgQ2FsY3VsYXRlZExlbmd0aCogY2FsY0xlbmd0aCA9IGNhbGN1bGF0ZWRMZW5ndGhNYXAoKS0+
Z2V0KGNhbGN1bGF0ZWRMZW5ndGhJZCgpKTsKKyAgICBpZiAoIWNhbGNMZW5ndGgtPmRlY3JlbWVu
dFJlZkNvdW50KCkpIHsKKyAgICAgICAgZGVsZXRlIGNhbGNMZW5ndGg7CisgICAgICAgIGNhbGN1
bGF0ZWRMZW5ndGhNYXAoKS0+cmVtb3ZlKGNhbGN1bGF0ZWRMZW5ndGhJZCgpKTsKKyAgICB9Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
TGVuZ3RoLmggYi9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCmluZGV4IDRmMzY1NzcuLjZlNDk3
MTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9MZW5ndGguaApAQCAtMzIsNyArMzIsMTAgQEAgY2xhc3MgU3RyaW5nOwogY29uc3Qg
aW50IHVuZGVmaW5lZExlbmd0aCA9IC0xOwogY29uc3QgaW50IHBlcmNlbnRTY2FsZUZhY3RvciA9
IDEyODsKIAotZW51bSBMZW5ndGhUeXBlIHsgQXV0bywgUmVsYXRpdmUsIFBlcmNlbnQsIEZpeGVk
LCBTdGF0aWMsIEludHJpbnNpYywgTWluSW50cmluc2ljIH07CitlbnVtIExlbmd0aFR5cGUgeyBB
dXRvLCBSZWxhdGl2ZSwgUGVyY2VudCwgRml4ZWQsIFN0YXRpYywgSW50cmluc2ljLCBNaW5JbnRy
aW5zaWMsIENhbGN1bGF0ZWQgfTsKKworY2xhc3MgQ1NTQ2FsY1ZhbHVlOworY2xhc3MgUmVuZGVy
U3R5bGU7CiAKIHN0cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKICAgICBMZW5ndGgoKQpA
QCAtNTcsMTUgKzYwLDQ1IEBAIHN0cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKICAgICAg
ICAgQVNTRVJUKHQgPT0gUGVyY2VudCk7CiAgICAgfQogCisgICAgTGVuZ3RoKENTU0NhbGNWYWx1
ZSogY2FsYywgUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlKTsKKwor
ICAgIExlbmd0aChjb25zdCBMZW5ndGgmIGxlbmd0aCkKKyAgICAgICAgOiBtX3ZhbHVlKGxlbmd0
aC5tX3ZhbHVlKQorICAgIHsKKyAgICAgICAgaWYgKGlzQ2FsY3VsYXRlZCgpKQorICAgICAgICAg
ICAgaW5jcmVtZW50Q2FsY3VsYXRlZFJlZigpOworICAgIH0KKworICAgIExlbmd0aCYgb3BlcmF0
b3I9KGNvbnN0IExlbmd0aCYgbGVuZ3RoKQorICAgIHsKKyAgICAgICAgbV92YWx1ZSA9IGxlbmd0
aC5tX3ZhbHVlOworICAgICAgICBpZiAoaXNDYWxjdWxhdGVkKCkpCisgICAgICAgICAgICBpbmNy
ZW1lbnRDYWxjdWxhdGVkUmVmKCk7CisgICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisKKyAg
ICB+TGVuZ3RoKCkKKyAgICB7CisgICAgICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAg
ICAgIGRlY3JlbWVudENhbGN1bGF0ZWRSZWYoKTsKKyAgICB9CisKICAgICBib29sIG9wZXJhdG9y
PT0oY29uc3QgTGVuZ3RoJiBvKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlID09IG8ubV92YWx1ZTsg
fQogICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBMZW5ndGgmIG8pIGNvbnN0IHsgcmV0dXJuIG1f
dmFsdWUgIT0gby5tX3ZhbHVlOyB9CiAKICAgICBpbnQgdmFsdWUoKSBjb25zdCB7CiAgICAgICAg
IEFTU0VSVCh0eXBlKCkgIT0gUGVyY2VudCk7CisgICAgICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkK
KyAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRMZW5ndGg7CiAgICAgICAgIHJldHVybiByYXdW
YWx1ZSgpOwogICAgIH0KIAotICAgIGludCByYXdWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIChtX3Zh
bHVlICYgfjB4RikgLyAxNjsgfQorICAgIGludCByYXdWYWx1ZSgpIGNvbnN0CisgICAgeworICAg
ICAgICBpZiAoaXNDYWxjdWxhdGVkKCkpCisgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkTGVu
Z3RoOworICAgICAgICByZXR1cm4gKG1fdmFsdWUgJiB+MHhGKSAvIDE2OworICAgIH0KIAogICAg
IGRvdWJsZSBwZXJjZW50KCkgY29uc3QKICAgICB7CkBAIC03OCwxOSArMTExLDMxIEBAIHN0cnVj
dCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKIAogICAgIHZvaWQgc2V0VmFsdWUoTGVuZ3RoVHlw
ZSB0LCBpbnQgdmFsdWUpCiAgICAgewotICAgICAgICBBU1NFUlQodCAhPSBQZXJjZW50KTsKKyAg
ICAgICAgQVNTRVJUKHQgIT0gUGVyY2VudCAmJiB0ICE9IENhbGN1bGF0ZWQpOwogICAgICAgICBz
ZXRSYXdWYWx1ZSh0LCB2YWx1ZSk7CiAgICAgfQogCi0gICAgdm9pZCBzZXRSYXdWYWx1ZShMZW5n
dGhUeXBlIHQsIGludCB2YWx1ZSkgeyBtX3ZhbHVlID0gdmFsdWUgKiAxNiB8IChtX3ZhbHVlICYg
MHg4KSB8IHQ7IH0KKyAgICB2b2lkIHNldFJhd1ZhbHVlKExlbmd0aFR5cGUgdCwgaW50IHZhbHVl
KQorICAgIHsKKyAgICAgICAgaWYgKGlzQ2FsY3VsYXRlZCgpKQorICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICBtX3ZhbHVlID0gdmFsdWUgKiAxNiB8IChtX3ZhbHVlICYgMHg4KSB8IHQ7Cisg
ICAgfQogCiAgICAgdm9pZCBzZXRWYWx1ZShpbnQgdmFsdWUpCiAgICAgewogICAgICAgICBBU1NF
UlQoIXZhbHVlIHx8IHR5cGUoKSAhPSBQZXJjZW50KTsKKyAgICAgICAgaWYgKGlzQ2FsY3VsYXRl
ZCgpKQorICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBzZXRSYXdWYWx1ZSh2YWx1ZSk7CiAg
ICAgfQogCi0gICAgdm9pZCBzZXRSYXdWYWx1ZShpbnQgdmFsdWUpIHsgbV92YWx1ZSA9IHZhbHVl
ICogMTYgfCAobV92YWx1ZSAmIDB4Rik7IH0KKyAgICB2b2lkIHNldFJhd1ZhbHVlKGludCB2YWx1
ZSkKKyAgICB7CisgICAgICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgbV92YWx1ZSA9IHZhbHVlICogMTYgfCAobV92YWx1ZSAmIDB4Rik7CisgICAg
fQogCiAgICAgdm9pZCBzZXRWYWx1ZShMZW5ndGhUeXBlIHQsIGRvdWJsZSB2YWx1ZSkKICAgICB7
CkBAIC0xMTAsNiArMTU1LDggQEAgc3RydWN0IExlbmd0aCA6IEZhc3RBbGxvY0Jhc2UgewogICAg
ICAgICBzd2l0Y2ggKHR5cGUoKSkgewogICAgICAgICAgICAgY2FzZSBGaXhlZDoKICAgICAgICAg
ICAgICAgICByZXR1cm4gdmFsdWUoKTsKKyAgICAgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKKyAg
ICAgICAgICAgICAgICByZXR1cm4gY2FsY3VsYXRlZENhbGNWYWx1ZShtYXhWYWx1ZSwgcm91bmRQ
ZXJjZW50YWdlcyk7CiAgICAgICAgICAgICBjYXNlIFBlcmNlbnQ6CiAgICAgICAgICAgICAgICAg
aWYgKHJvdW5kUGVyY2VudGFnZXMpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxpbnQ+KHJvdW5kKG1heFZhbHVlICogcGVyY2VudCgpIC8gMTAwLjApKTsKQEAgLTEyNiw2
ICsxNzMsOCBAQCBzdHJ1Y3QgTGVuZ3RoIDogRmFzdEFsbG9jQmFzZSB7CiAgICAgICAgIHN3aXRj
aCAodHlwZSgpKSB7CiAgICAgICAgICAgICBjYXNlIEZpeGVkOgogICAgICAgICAgICAgICAgIHJl
dHVybiB2YWx1ZSgpOworICAgICAgICAgICAgY2FzZSBDYWxjdWxhdGVkOgorICAgICAgICAgICAg
ICAgIHJldHVybiBjYWxjdWxhdGVkQ2FsY01pblZhbHVlKG1heFZhbHVlLCByb3VuZFBlcmNlbnRh
Z2VzKTsKICAgICAgICAgICAgIGNhc2UgUGVyY2VudDoKICAgICAgICAgICAgICAgICBpZiAocm91
bmRQZXJjZW50YWdlcykKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGlu
dD4ocm91bmQobWF4VmFsdWUgKiBwZXJjZW50KCkgLyAxMDAuMCkpOwpAQCAtMTQxLDYgKzE5MCw4
IEBAIHN0cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKICAgICAgICAgc3dpdGNoICh0eXBl
KCkpIHsKICAgICAgICAgICAgIGNhc2UgRml4ZWQ6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PGZsb2F0Pih2YWx1ZSgpKTsKKyAgICAgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoK
KyAgICAgICAgICAgICAgICByZXR1cm4gY2FsY3VsYXRlZENhbGNGbG9hdFZhbHVlKG1heFZhbHVl
KTsKICAgICAgICAgICAgIGNhc2UgUGVyY2VudDoKICAgICAgICAgICAgICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8ZmxvYXQ+KG1heFZhbHVlICogcGVyY2VudCgpIC8gMTAwLjApOwogICAgICAgICAg
ICAgY2FzZSBBdXRvOgpAQCAtMTUxLDEwICsyMDIsMjYgQEAgc3RydWN0IExlbmd0aCA6IEZhc3RB
bGxvY0Jhc2UgewogICAgIH0KIAogICAgIGJvb2wgaXNVbmRlZmluZWQoKSBjb25zdCB7IHJldHVy
biByYXdWYWx1ZSgpID09IHVuZGVmaW5lZExlbmd0aDsgfQotICAgIGJvb2wgaXNaZXJvKCkgY29u
c3QgeyByZXR1cm4gIShtX3ZhbHVlICYgfjB4Rik7IH0KLSAgICBib29sIGlzUG9zaXRpdmUoKSBj
b25zdCB7IHJldHVybiByYXdWYWx1ZSgpID4gMDsgfQotICAgIGJvb2wgaXNOZWdhdGl2ZSgpIGNv
bnN0IHsgcmV0dXJuIHJhd1ZhbHVlKCkgPCAwOyB9CisgICAgYm9vbCBpc1plcm8oKSBjb25zdAor
ICAgIHsKKyAgICAgICAgaWYgKGlzQ2FsY3VsYXRlZCgpKQorICAgICAgICAgICAgcmV0dXJuIGNh
bGN1bGF0ZWRJc1plcm8oKTsKKyAgICAgICAgcmV0dXJuICEobV92YWx1ZSAmIH4weEYpOworICAg
IH0KKyAgICBib29sIGlzUG9zaXRpdmUoKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKGlzQ2Fs
Y3VsYXRlZCgpKQorICAgICAgICAgICAgcmV0dXJuIGNhbGN1bGF0ZWRJc1Bvc2l0aXZlKCk7Cisg
ICAgICAgIHJldHVybiByYXdWYWx1ZSgpID4gMDsKKyAgICB9CisgICAgYm9vbCBpc05lZ2F0aXZl
KCkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAg
IHJldHVybiBjYWxjdWxhdGVkSXNOZWdhdGl2ZSgpOworICAgICAgICByZXR1cm4gcmF3VmFsdWUo
KSA8IDA7CisgICAgfQogCisgICAgYm9vbCBpc0NhbGN1bGF0ZWQoKSBjb25zdCB7IHJldHVybiB0
eXBlKCkgPT0gQ2FsY3VsYXRlZDsgfQogICAgIGJvb2wgaXNBdXRvKCkgY29uc3QgeyByZXR1cm4g
dHlwZSgpID09IEF1dG87IH0KICAgICBib29sIGlzUmVsYXRpdmUoKSBjb25zdCB7IHJldHVybiB0
eXBlKCkgPT0gUmVsYXRpdmU7IH0KICAgICBib29sIGlzUGVyY2VudCgpIGNvbnN0IHsgcmV0dXJu
IHR5cGUoKSA9PSBQZXJjZW50OyB9CkBAIC0xNzAsNyArMjM3LDExIEBAIHN0cnVjdCBMZW5ndGgg
OiBGYXN0QWxsb2NCYXNlIHsKIAogICAgICAgICBpZiAoZnJvbS5pc1plcm8oKSAmJiBpc1plcm8o
KSkKICAgICAgICAgICAgIHJldHVybiAqdGhpczsKLSAgICAgICAgCisKKyAgICAgICAgLy8gRklY
TUU6IFdlIGNhbm5vdCBoYW5kbGUgYmxlbmQgZm9yIGNhbGMgZm9yIG5vdy4KKyAgICAgICAgaWYg
KGlzQ2FsY3VsYXRlZCgpIHx8IGZyb20uaXNDYWxjdWxhdGVkKCkpCisgICAgICAgICAgICByZXR1
cm4gKnRoaXM7CisKICAgICAgICAgTGVuZ3RoVHlwZSByZXN1bHRUeXBlID0gdHlwZSgpOwogICAg
ICAgICBpZiAoaXNaZXJvKCkpCiAgICAgICAgICAgICByZXN1bHRUeXBlID0gZnJvbS50eXBlKCk7
CkBAIC0xODcsNiArMjU4LDIwIEBAIHN0cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKICAg
ICB9CiAKIHByaXZhdGU6CisgICAgYm9vbCBjYWxjdWxhdGVkSXNaZXJvKCkgY29uc3Q7CisgICAg
Ym9vbCBjYWxjdWxhdGVkSXNQb3NpdGl2ZSgpIGNvbnN0OworICAgIGJvb2wgY2FsY3VsYXRlZElz
TmVnYXRpdmUoKSBjb25zdDsKKyAgICBpbnQgY2FsY3VsYXRlZENhbGNWYWx1ZShpbnQgbWF4VmFs
dWUsIGJvb2wgcm91bmRQZXJjZW50YWdlcykgY29uc3Q7CisgICAgaW50IGNhbGN1bGF0ZWRDYWxj
TWluVmFsdWUoaW50IG1heFZhbHVlLCBib29sIHJvdW5kUGVyY2VudGFnZXMpIGNvbnN0OworICAg
IGZsb2F0IGNhbGN1bGF0ZWRDYWxjRmxvYXRWYWx1ZShpbnQgbWF4VmFsdWUpIGNvbnN0OworICAg
IGludCBjYWxjdWxhdGVkTGVuZ3RoSWQoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKGlz
Q2FsY3VsYXRlZCgpKTsKKyAgICAgICAgcmV0dXJuIChtX3ZhbHVlICYgfjB4RikgLyAxNjsKKyAg
ICB9CisgICAgdm9pZCBpbmNyZW1lbnRDYWxjdWxhdGVkUmVmKCkgY29uc3Q7CisgICAgdm9pZCBk
ZWNyZW1lbnRDYWxjdWxhdGVkUmVmKCkgY29uc3Q7CisKICAgICBpbnQgbV92YWx1ZTsKIH07CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9TdHJpbmdJbXBsLmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9TdHJpbmdJbXBsLmNwcAppbmRleCAzYjYxYTBiLi44OTliYTQyIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvU3RyaW5nSW1wbC5jcHAKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L1N0cmluZ0ltcGwuY3BwCkBAIC00NDYsNyArNDQ2LDcgQEAgZmxv
YXQgU3RyaW5nSW1wbDo6dG9GbG9hdChib29sKiBvaykKICAgICByZXR1cm4gY2hhcmFjdGVyc1Rv
RmxvYXQobV9kYXRhLCBtX2xlbmd0aCwgb2spOwogfQogCi1zdGF0aWMgYm9vbCBlcXVhbChjb25z
dCBVQ2hhciogYSwgY29uc3QgY2hhciogYiwgaW50IGxlbmd0aCkKK2Jvb2wgZXF1YWwoY29uc3Qg
VUNoYXIqIGEsIGNvbnN0IGNoYXIqIGIsIGludCBsZW5ndGgpCiB7CiAgICAgQVNTRVJUKGxlbmd0
aCA+PSAwKTsKICAgICB3aGlsZSAobGVuZ3RoLS0pIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9TdHJpbmdJbXBsLmggYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvU3RyaW5nSW1w
bC5oCmluZGV4IGY3YTlkMDYuLmIzOGJmMDIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9TdHJpbmdJbXBsLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1N0cmluZ0ltcGwu
aApAQCAtMjA1LDYgKzIwNSw4IEBAIHByaXZhdGU6CiBib29sIGVxdWFsKFN0cmluZ0ltcGwqLCBT
dHJpbmdJbXBsKik7CiBib29sIGVxdWFsKFN0cmluZ0ltcGwqLCBjb25zdCBjaGFyKik7CiBpbmxp
bmUgYm9vbCBlcXVhbChjb25zdCBjaGFyKiBhLCBTdHJpbmdJbXBsKiBiKSB7IHJldHVybiBlcXVh
bChiLCBhKTsgfQorYm9vbCBlcXVhbChjb25zdCBVQ2hhciogYSwgY29uc3QgY2hhciogYiwgaW50
IGxlbmd0aCk7CitpbmxpbmUgYm9vbCBlcXVhbChjb25zdCBjaGFyKiBhLCBjb25zdCBVQ2hhciog
YiwgaW50IGxlbmd0aCkgeyByZXR1cm4gZXF1YWwoYiwgYSwgbGVuZ3RoKTsgfQogCiBib29sIGVx
dWFsSWdub3JpbmdDYXNlKFN0cmluZ0ltcGwqLCBTdHJpbmdJbXBsKik7CiBib29sIGVxdWFsSWdu
b3JpbmdDYXNlKFN0cmluZ0ltcGwqLCBjb25zdCBjaGFyKik7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cAppbmRleCA0YTNmYTMxLi43MmY3ZTI5IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTE1
MTYsNyArMTUxNiw3IEBAIGludCBSZW5kZXJCb3g6OmNhbGNIZWlnaHRVc2luZyhjb25zdCBMZW5n
dGgmIGgpCiAgICAgaWYgKCFoLmlzQXV0bygpKSB7CiAgICAgICAgIGlmIChoLmlzRml4ZWQoKSkK
ICAgICAgICAgICAgIGhlaWdodCA9IGgudmFsdWUoKTsKLSAgICAgICAgZWxzZSBpZiAoaC5pc1Bl
cmNlbnQoKSkKKyAgICAgICAgZWxzZSBpZiAoaC5pc1BlcmNlbnQoKSB8fCBoLmlzQ2FsY3VsYXRl
ZCgpKQogICAgICAgICAgICAgaGVpZ2h0ID0gY2FsY1BlcmNlbnRhZ2VIZWlnaHQoaCk7CiAgICAg
ICAgIGlmIChoZWlnaHQgIT0gLTEpIHsKICAgICAgICAgICAgIGhlaWdodCA9IGNhbGNCb3JkZXJC
b3hIZWlnaHQoaGVpZ2h0KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklt
YWdlLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCBhMTRhYjI3
Li5iNGU4Yjc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAK
KysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCkBAIC01NDIsNiArNTQyLDcg
QEAgYm9vbCBSZW5kZXJJbWFnZTo6aXNXaWR0aFNwZWNpZmllZCgpIGNvbnN0CiAgICAgc3dpdGNo
IChzdHlsZSgpLT53aWR0aCgpLnR5cGUoKSkgewogICAgICAgICBjYXNlIEZpeGVkOgogICAgICAg
ICBjYXNlIFBlcmNlbnQ6CisgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKICAgICAgICAgICAgIHJl
dHVybiB0cnVlOwogICAgICAgICBjYXNlIEF1dG86CiAgICAgICAgIGNhc2UgUmVsYXRpdmU6IC8v
IEZJWE1FOiBTaG91bGRuJ3QgdGhpcyBjYXNlIHJldHVybiB0cnVlPwpAQCAtNTU5LDYgKzU2MCw3
IEBAIGJvb2wgUmVuZGVySW1hZ2U6OmlzSGVpZ2h0U3BlY2lmaWVkKCkgY29uc3QKICAgICBzd2l0
Y2ggKHN0eWxlKCktPmhlaWdodCgpLnR5cGUoKSkgewogICAgICAgICBjYXNlIEZpeGVkOgogICAg
ICAgICBjYXNlIFBlcmNlbnQ6CisgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgICAgICBjYXNlIEF1dG86CiAgICAgICAgIGNhc2UgUmVsYXRpdmU6
IC8vIEZJWE1FOiBTaG91bGRuJ3QgdGhpcyBjYXNlIHJldHVybiB0cnVlPwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48748</attachid>
            <date>2010-02-15 06:07:29 -0800</date>
            <delta_ts>2010-02-15 07:27:23 -0800</delta_ts>
            <desc>full patch v3</desc>
            <filename>bug-16662-20100215060727.patch</filename>
            <type>text/plain</type>
            <size>69815</size>
            <attacher name="Shinichiro Hamaji">hamaji</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjYTg5YmYwLi5lY2I3MGUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDIt
MTUgIFNoaW5pY2hpcm8gSGFtYWppICA8aGFtYWppQGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDU1MzOiBJbXBsZW1lbnQgY2Fs
YygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjY2
MgorCisgICAgICAgICogZmFzdC9jc3MvY2FsYy9jYWxjLWVycm9ycy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2NhbGMvY2FsYy1lcnJvcnMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9jc3MvY2FsYy9zaW1wbGUtY2FsY3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2Nzcy9jYWxjL3NpbXBsZS1jYWxjcy5odG1sOiBBZGRlZC4KKwogMjAx
MC0wMi0xNCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY2Fs
Yy9jYWxjLWVycm9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9jYWxjL2Nh
bGMtZXJyb3JzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li44MDhlMjQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY2FsYy9j
YWxjLWVycm9ycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorQWxsIGJveGVzIGJlbG93
IHNob3VsZCBiZSAxMDBweCAqIDEwMHB4IGFuZCBncmVlbi4KKworemVybyBkaXZpc2lvbiA9PiBQ
QVNTCitub24gbGVuZ3RoID0+IFBBU1MKK251bWJlciArIGxlbmd0aCA9PiBQQVNTCitsZW5ndGgg
LSBudW1iZXIgPT4gUEFTUworbGVuZ3RoICogbGVuZ3RoID0+IFBBU1MKK251bWJlciAvIGxlbmd0
aCA9PiBQQVNTCitudW1iZXIgbW9kIGxlbmd0aCA9PiBQQVNTCittb2QxMCA9PiBQQVNTCisxbW9k
ID0+IFBBU1MKK3RvbyBtYW55IG5lc3RzID0+IFBBU1MKK2VuZCB3aXRoIG9wZXJhdG9yID0+IFBB
U1MKK3N0YXJ0IHdpdGggb3BlcmF0b3IgPT4gUEFTUworbm8gZXhwcmVzc2lvbnMgPT4gUEFTUwor
dG9vIG1hbnkgcGx1c2VzID0+IFBBU1MKK25vIGJpbmFyeSBvcGVyYXRvciA9PiBQQVNTCit0d28g
YmluYXJ5IG9wZXJhdG9ycyA9PiBQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy9jYWxjL2NhbGMtZXJyb3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9jYWxjL2NhbGMt
ZXJyb3JzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGIwN2I0OQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NhbGMvY2FsYy1lcnJvcnMu
aHRtbApAQCAtMCwwICsxLDc2IEBACis8aHRtbD4KKzxoZWFkPgorCis8c3R5bGU+CisjdGVzdCBk
aXYgeworICAgIGhlaWdodDogMTAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOworfQor
PC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiB0ZXN0KCkK
K3sKKyAgICB2YXIgdGVzdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7CisgICAg
Zm9yICh2YXIgZWxlbWVudCA9IHRlc3QuZmlyc3RDaGlsZDsgZWxlbWVudDsgZWxlbWVudCA9IGVs
ZW1lbnQubmV4dFNpYmxpbmcpIHsKKyAgICAgICAgdmFyIHdpZHRoID0gZWxlbWVudC5vZmZzZXRX
aWR0aDsKKyAgICAgICAgdmFyIGVycm9yID0gW107CisgICAgICAgIGlmICh3aWR0aCAhPSAxMDAp
CisgICAgICAgICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCB3aWR0aCBpcyAxMDAsIGJ1dCBjb21l
cyAiICsgd2lkdGgpOworICAgICAgICB2YXIgaGVpZ2h0ID0gZWxlbWVudC5vZmZzZXRIZWlnaHQ7
CisgICAgICAgIGlmIChoZWlnaHQgIT0gMTAwKQorICAgICAgICAgICAgZXJyb3IucHVzaCgiZXhw
ZWN0ZWQgaGVpZ2h0IGlzIDEwMCwgYnV0IGNvbWVzICIgKyB3aWR0aCk7CisKKyAgICAgICAgaWYg
KGVycm9yID09ICIiKSB7CisgICAgICAgICAgICBlbGVtZW50LnN0eWxlLmJhY2tncm91bmRDb2xv
ciA9ICJncmVlbiI7CisgICAgICAgICAgICBlbGVtZW50LmlubmVySFRNTCArPSAiID0+IFBBU1Mi
OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgKz0gIiA9
PiBGQUlMOiAiICsgZXJyb3Iuam9pbigiLCAiKTsKKyAgICAgICAgfQorICAgIH0KK30KKzwvc2Ny
aXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CisKKzxwPgorICBBbGwgYm94
ZXMgYmVsb3cgc2hvdWxkIGJlIDEwMHB4ICogMTAwcHggYW5kIGdyZWVuLgorPC9wPgorCis8ZGl2
IGlkPSJ0ZXN0Ij4KKworPCEtLSB6ZXJvIGRpdmlzaW9uIC0tPgorPGRpdiBzdHlsZT0id2lkdGg6
IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDFleCAvIDApOyI+emVybyBkaXZpc2lvbjwvZGl2
PgorCis8IS0tIHdyb25nIGNvbWJpbmF0aW9uIC0tPgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4
OyB3aWR0aDogLXdlYmtpdC1jYWxjKDIwMCk7Ij5ub24gbGVuZ3RoPC9kaXY+Cis8ZGl2IHN0eWxl
PSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwKzEwMHB4KTsiPm51bWJlciAr
IGxlbmd0aDwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1j
YWxjKDMwMHB4LTEwMCk7Ij5sZW5ndGggLSBudW1iZXI8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRo
OiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygxMDBweCoxMDBweCk7Ij5sZW5ndGggKiBsZW5n
dGg8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygx
MDAvMTAwcHgpOyI+bnVtYmVyIC8gbGVuZ3RoPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAw
cHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwIG1vZCAxMDBweCk7Ij5udW1iZXIgbW9kIGxlbmd0
aDwvZGl2PgorCis8IS0tIG1vZCByZXF1aXJlcyB3aGl0ZXNwYWNlcyBhcm91bmQgdGhlIG9wZXJh
dG9yIC0tPgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDEg
bW9kMTAgKiAyMDBweCk7Ij5tb2QxMCA8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsg
d2lkdGg6IC13ZWJraXQtY2FsYygxbW9kIDEwICogMjAwcHgpOyI+MW1vZDwvZGl2PgorCis8IS0t
IHRvbyBtYW55IG5lc3RzIHNob3VsZCBiZSByZWplY3RlZCB0byBhdm9pZCBzdGFjayBvdmVyZmxv
dyAtLT4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKDIwMHB4KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpOyI+dG9vIG1hbnkgbmVzdHM8L2Rpdj4KKwor
PCEtLSBpbnZhbGlkIGZvcm11bGFzIC0tPgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0
aDogLXdlYmtpdC1jYWxjKDIwMHB4Kik7Ij5lbmQgd2l0aCBvcGVyYXRvcjwvZGl2PgorPGRpdiBz
dHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKCsrMjAwcHgpOyI+c3RhcnQg
d2l0aCBvcGVyYXRvcjwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdl
YmtpdC1jYWxjKCk7Ij5ubyBleHByZXNzaW9uczwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEw
MHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDEwMHB4KysrMTAwcHgpOyI+dG9vIG1hbnkgcGx1c2Vz
PC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMjAw
cHggMjAwcHgpOyI+bm8gYmluYXJ5IG9wZXJhdG9yPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDog
MTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwcHggKiAqIDIpOyI+dHdvIGJpbmFyeSBvcGVy
YXRvcnM8L2Rpdj4KKworPC9kaXY+CisKKzwvYm9keT4KKworPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9jc3MvY2FsYy9zaW1wbGUtY2FsY3MtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MvY2FsYy9zaW1wbGUtY2FsY3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxMjg4M2YKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy9jYWxjL3NpbXBsZS1jYWxjcy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwyNiBAQAorQWxsIGJveGVzIGJlbG93IHNob3VsZCBiZSAxMDBweCAqIDEwMHB4IGFuZCBn
cmVlbi4KKworNTBweCs1MHB4ID0+IFBBU1MKKzE1MHB4LTUwcHggPT4gUEFTUworNTBweCoyID0+
IFBBU1MKKzIwMHB4LzIgPT4gUEFTUworMTEwMHB4IG1vZCAxMDAwID0+IFBBU1MKKzEwMCUvMiAo
d2hlcmUgMTAwJSBpcyAyMDBweCkgPT4gUEFTUworKDEwMHB4KSA9PiBQQVNTCisoNTBweCs1MHB4
KSA9PiBQQVNTCisoNTBweCkrNTBweCA9PiBQQVNTCis1MHB4Kyg1MHB4KSA9PiBQQVNTCis1MHB4
ICsgNTBweCA9PiBQQVNTCis1MHB4ICsgMjVweCAqIDIgPT4gUEFTUworKDI1cHggKyAyNXB4KSAq
IDIgPT4gUEFTUworMiAqIDUwcHggPT4gUEFTUworMiAqIDEwMHB4IC8gMiA9PiBQQVNTCisxMDBw
eCAvIDUwcHggKiA1MHB4ID0+IFBBU1MKKzEyIG1vZCAxMCAqIDUwcHggPT4gUEFTUworKDFlbSAt
IDFlbSkgKyAxMDBweCA9PiBQQVNTCisxMDBweCA9PiBQQVNTCisxMDAlICogMiA9PiBQQVNTCis1
MHB4Kys1MHB4ID0+IFBBU1MKKy01MHB4KzE1MHB4ID0+IFBBU1MKKy01MHB4LS0xNTBweCA9PiBQ
QVNTCisoKCgoKCgoMTAwcHgpKSkpKSkpID0+IFBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL2NhbGMvc2ltcGxlLWNhbGNzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9j
YWxjL3NpbXBsZS1jYWxjcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjY5ZmNmOTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9jYWxjL3Np
bXBsZS1jYWxjcy5odG1sCkBAIC0wLDAgKzEsODggQEAKKzxodG1sPgorPGhlYWQ+CisKKzxzdHls
ZT4KKyN0ZXN0IGRpdiwgI3Rlc3QgZGl2IGRpdiB7CisgICAgaGVpZ2h0OiAxMDBweDsKKyAgICBi
YWNrZ3JvdW5kLWNvbG9yOiByZWQ7Cit9CisuaGVpZ2h0LXRlc3QgeworICAgIHdpZHRoOiAxMDBw
eDsKKyAgICBoZWlnaHQ6IDIwMHB4OworfQorPC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2YXIgdGVzdCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0ZXN0Iik7CisgICAgZm9yICh2YXIgY2hpbGQgPSB0ZXN0LmZpcnN0Q2hp
bGQ7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLm5leHRTaWJsaW5nKSB7CisgICAgICAgIHZhciBlbGVt
ZW50ID0gY2hpbGQ7CisgICAgICAgIGlmIChlbGVtZW50LmNsYXNzTmFtZSA9PSAid3JhcHBlciIp
IHsKKyAgICAgICAgICAgIGVsZW1lbnQgPSBlbGVtZW50LmZpcnN0Q2hpbGQ7CisgICAgICAgICAg
ICB3aGlsZSAoZWxlbWVudC50YWdOYW1lICE9ICJESVYiKSBlbGVtZW50ID0gZWxlbWVudC5uZXh0
U2libGluZzsKKyAgICAgICAgfQorCisgICAgICAgIHZhciB3aWR0aCA9IGVsZW1lbnQub2Zmc2V0
V2lkdGg7CisgICAgICAgIHZhciBlcnJvciA9IFtdOworICAgICAgICBpZiAod2lkdGggIT0gMTAw
KQorICAgICAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgd2lkdGggaXMgMTAwLCBidXQgY29t
ZXMgIiArIHdpZHRoKTsKKyAgICAgICAgdmFyIGhlaWdodCA9IGVsZW1lbnQub2Zmc2V0SGVpZ2h0
OworICAgICAgICBpZiAoaGVpZ2h0ICE9IDEwMCkKKyAgICAgICAgICAgIGVycm9yLnB1c2goImV4
cGVjdGVkIGhlaWdodCBpcyAxMDAsIGJ1dCBjb21lcyAiICsgd2lkdGgpOworCisgICAgICAgIGlm
IChlcnJvciA9PSAiIikgeworICAgICAgICAgICAgZWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kQ29s
b3IgPSAiZ3JlZW4iOworICAgICAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgKz0gIiA9PiBQQVNT
IjsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBlbGVtZW50LmlubmVySFRNTCArPSAiID0+
IEZBSUw6ICIgKyBlcnJvci5qb2luKCIsICIpOworICAgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFk
PgorCis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CisKKzxwPgorICBBbGwgYm94ZXMgYmVsb3cgc2hv
dWxkIGJlIDEwMHB4ICogMTAwcHggYW5kIGdyZWVuLgorPC9wPgorCis8ZGl2IGlkPSJ0ZXN0Ij4K
KworPGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYyg1MHB4KzUwcHgpOyI+NTBweCs1MHB4
PC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDE1MHB4LTUwcHgpOyI+MTUw
cHgtNTBweDwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYyg1MHB4KjIpOyI+
NTBweCoyPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDIwMHB4LzIpOyI+
MjAwcHgvMjwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygxMTAwcHggbW9k
IDEwMDApOyI+MTEwMHB4IG1vZCAxMDAwPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMjAwcHg7
IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyIgY2xhc3M9IndyYXBwZXIiPgorICA8ZGl2IHN0eWxl
PSJ3aWR0aDogLXdlYmtpdC1jYWxjKDEwMCUvMik7Ij4xMDAlLzIgKHdoZXJlIDEwMCUgaXMgMjAw
cHgpPC9kaXY+Cis8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoKDEwMHB4
KSk7Ij4oMTAwcHgpPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKCg1MHB4
KzUwcHgpKTsiPig1MHB4KzUwcHgpPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1j
YWxjKCg1MHB4KSs1MHB4KTsiPig1MHB4KSs1MHB4PC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDog
LXdlYmtpdC1jYWxjKDUwcHgrKDUwcHgpKTsiPjUwcHgrKDUwcHgpPC9kaXY+Cis8ZGl2IHN0eWxl
PSJ3aWR0aDogLXdlYmtpdC1jYWxjKCA1MHB4ICsgIDUwcHggKTsiPiA1MHB4ICsgIDUwcHggPC9k
aXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKCA1MHB4ICsgMjVweCAqIDIgKTsi
PiA1MHB4ICsgMjVweCAqIDIgPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxj
KCAoMjVweCArIDI1cHgpICogMiApOyI+ICgyNXB4ICsgMjVweCkgKiAyIDwvZGl2PgorPGRpdiBz
dHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygyICogNTBweCk7Ij4yICogNTBweDwvZGl2PgorPGRp
diBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygyICogMTAwcHggLyAyKTsiPjIgKiAxMDBweCAv
IDI8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMTAwcHggLyA1MHB4ICog
NTBweCk7Ij4xMDBweCAvIDUwcHggKiA1MHB4PC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogLXdl
YmtpdC1jYWxjKDEyIG1vZCAxMCAqIDUwcHgpOyI+MTIgbW9kIDEwICogNTBweDwvZGl2PgorPGRp
diBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygoMWVtIC0gMWVtKSArIDEwMHB4KTsiPigxZW0g
LSAxZW0pICsgMTAwcHg8L2Rpdj4KKzxkaXYgc3R5bGU9ImhlaWdodDogLXdlYmtpdC1jYWxjKDEw
MHB4KTsiIGNsYXNzPSJoZWlnaHQtdGVzdCI+MTAwcHg8L2Rpdj4KKzxkaXYgc3R5bGU9ImhlaWdo
dDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IiBjbGFzcz0id3JhcHBlciI+CisgIDxk
aXYgc3R5bGU9ImhlaWdodDogLXdlYmtpdC1jYWxjKDEwMCUgKiAyKTsiIGNsYXNzPSJoZWlnaHQt
dGVzdCI+MTAwJSAqIDI8L2Rpdj4KKzwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQt
Y2FsYyg1MHB4Kys1MHB4KTsiPjUwcHgrKzUwcHg8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAt
d2Via2l0LWNhbGMoLTUwcHgrMTUwcHgpOyI+LTUwcHgrMTUwcHg8L2Rpdj4KKzxkaXYgc3R5bGU9
IndpZHRoOiAtd2Via2l0LWNhbGMoLTUwcHgtLTE1MHB4KTsiPi01MHB4LS0xNTBweDwvZGl2Pgor
PGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygoKCgoKCgoMTAwcHgpKSkpKSkpKTsiPigo
KCgoKCgxMDBweCkpKSkpKSk8L2Rpdj4KKworPC9kaXY+CisKKzwvYm9keT4KKworPC9odG1sPgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAy
NjQxNWY5Li42ZGFlNjY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMCBAQAorMjAxMC0wMi0xNSAgU2hpbmljaGlybyBI
YW1hamkgIDxoYW1hamlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENTUzM6IEltcGxlbWVudCBjYWxjKCkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NjYyCisKKyAgICAgICAgVGVz
dHM6IGZhc3QvY3NzL2NhbGMvY2FsYy1lcnJvcnMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9j
c3MvY2FsYy9zaW1wbGUtY2FsY3MuaHRtbAorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06Cisg
ICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAq
IFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjc3MvQ1NTQ2FsY1ZhbHVlLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjUHJpbWl0aXZlVmFsdWU6OkNTU0NhbGNQcmlt
aXRpdmVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjUHJpbWl0aXZlVmFsdWU6Omlz
WmVybyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjUHJpbWl0aXZlVmFsdWU6OmNzc1RleHQp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjp0b0NhbGNWYWx1ZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWU6OkNTU0NhbGNC
aW5hcnlPcGVyYXRpb25WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmluYXJ5T3Bl
cmF0aW9uVmFsdWU6OmlzWmVybyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmluYXJ5T3Bl
cmF0aW9uVmFsdWU6OmNzc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9w
ZXJhdGlvblZhbHVlOjp0b0NhbGNWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFs
dWVQYXJzZXI6OnBhcnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZVBhcnNlcjo6
VmFsdWU6Oik6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWVQYXJzZXI6Om9wZXJhdG9y
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlUGFyc2VyOjpwYXJzZVZhbHVl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZVBhcnNlcjo6cGFyc2VWYWx1ZVRlcm0p
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlUGFyc2VyOjpwYXJzZVZhbHVlTXVsdGlw
bGljYXRpdmVFeHByZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZVBhcnNl
cjo6cGFyc2VBZGRpdGl2ZVZhbHVlRXhwcmVzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1ND
YWxjVmFsdWVQYXJzZXI6OnBhcnNlVmFsdWVFeHByZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0NhbGNWYWx1ZTo6Y3JlYXRlRnJvbVBhcnNlclZhbHVlTGlzdCk6CisgICAgICAgICogY3Nz
L0NTU0NhbGNWYWx1ZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZTo6
aXNDYWxjVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnk6CisgICAgICAgICogY3Nz
L0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0NhbGMpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNl
cjo6cGFyc2VDYWxjdWxhdGVkTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6
bGV4KToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAgICAgICogY3NzL0NTU1BhcnNl
clZhbHVlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJWYWx1ZUxpc3Q6Omluc2Vy
dFZhbHVlQXQpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXJWYWx1ZXMuaDoKKyAgICAgICAgKiBj
c3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZl
VmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpjb252ZXJ0VG9MZW5n
dGgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eSk6
CisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuaDoKKyAgICAgICAgKiBjc3MvQ1NTVmFs
dWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjppc0NhbGNWYWx1ZSk6CisgICAgICAg
ICogY3NzL3Rva2VuaXplci5mbGV4OgorICAgICAgICAqIHBsYXRmb3JtL0NhbGNWYWx1ZS5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlOjpDYWxj
QmluYXJ5T3BlcmF0aW9uVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsY0JpbmFyeU9wZXJh
dGlvblZhbHVlOjpldmFsdWF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vQ2FsY1ZhbHVlLmg6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2FsY1ZhbHVlOjp+Q2FsY1ZhbHVlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNhbGNOdW1iZXJWYWx1ZTo6Q2FsY051bWJlclZhbHVlKToKKyAgICAgICAgKFdl
YkNvcmU6OkNhbGNOdW1iZXJWYWx1ZTo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fs
Y0xlbmd0aFZhbHVlOjpDYWxjTGVuZ3RoVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsY0xl
bmd0aFZhbHVlOjpldmFsdWF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vTGVuZ3RoLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbGN1bGF0ZWRMZW5ndGg6OkNhbGN1bGF0ZWRMZW5ndGgpOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FsY3VsYXRlZExlbmd0aDo6ZXZhbHVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FsY3VsYXRlZExlbmd0aDo6cmVmQ291bnQpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fs
Y3VsYXRlZExlbmd0aDo6aW5jcmVtZW50UmVmQ291bnQpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fs
Y3VsYXRlZExlbmd0aDo6ZGVjcmVtZW50UmVmQ291bnQpOgorICAgICAgICAoV2ViQ29yZTo6Y2Fs
Y3VsYXRlZExlbmd0aE1hcCk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6Okxlbmd0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGN1bGF0ZWRJc1plcm8pOgorICAgICAgICAoV2Vi
Q29yZTo6TGVuZ3RoOjpjYWxjdWxhdGVkSXNQb3NpdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpM
ZW5ndGg6OmNhbGN1bGF0ZWRJc05lZ2F0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6
Y2FsY3VsYXRlZENhbGNWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGN1bGF0
ZWRDYWxjTWluVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjdWxhdGVkQ2Fs
Y0Zsb2F0VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjppbmNyZW1lbnRDYWxjdWxh
dGVkUmVmKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6ZGVjcmVtZW50Q2FsY3VsYXRlZFJl
Zik6CisgICAgICAgICogcGxhdGZvcm0vTGVuZ3RoLmg6CisgICAgICAgIChXZWJDb3JlOjopOgor
ICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6TGVu
Z3RoOjpvcGVyYXRvcj0pOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjp+TGVuZ3RoKToKKyAg
ICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6dmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3Ro
OjpyYXdWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OnNldFZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6Okxlbmd0aDo6c2V0UmF3VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVu
Z3RoOjpjYWxjVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjTWluVmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjRmxvYXRWYWx1ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpMZW5ndGg6OmlzWmVybyk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmlzUG9z
aXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjppc05lZ2F0aXZlKToKKyAgICAgICAg
KFdlYkNvcmU6Okxlbmd0aDo6aXNDYWxjdWxhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0
aDo6YmxlbmQpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjdWxhdGVkTGVuZ3RoSWQp
OgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvU3RyaW5nSW1wbC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjplcXVhbCk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9TdHJpbmdJbXBsLmg6CisgICAg
ICAgIChXZWJDb3JlOjplcXVhbCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNhbGNIZWlnaHRVc2luZyk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklt
YWdlOjppc1dpZHRoU3BlY2lmaWVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpp
c0hlaWdodFNwZWNpZmllZCk6CisKIDIwMTAtMDItMTQgIEFkYW0gQmFydGggIDxhYmFydGhAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGUw
YzlkYzYuLjY1YzdjZjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNTM5LDYgKzUzOSw4IEBAIHdlYmNvcmVfc291cmNl
cyArPSBcCiAJV2ViQ29yZS9jb25maWcuaCBcCiAJV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VW
YWx1ZS5jcHAgXAogCVdlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuaCBcCisJV2ViQ29y
ZS9jc3MvQ1NTQ2FsY1ZhbHVlLmNwcCBcCisJV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmggXAog
CVdlYkNvcmUvY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcCBcCiAJV2ViQ29yZS9jc3MvQ1NTQ2FudmFz
VmFsdWUuaCBcCiAJV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwIFwKQEAgLTE0MzYsNiAr
MTQzOCw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9BcmVuYS5j
cHAgXAogCVdlYkNvcmUvcGxhdGZvcm0vQXJlbmEuaCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9BdXRv
ZHJhaW5lZFBvb2wuaCBcCisJV2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUuY3BwIFwKKwlXZWJD
b3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5oIFwKIAlXZWJDb3JlL3BsYXRmb3JtL0NvbnRlbnRUeXBl
LmNwcCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9Db250ZW50VHlwZS5oIFwKIAlXZWJDb3JlL3BsYXRm
b3JtL0NvbnRleHRNZW51LmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBi
L1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDIyYjYxMTcuLjNhNTZjMTQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC04ODcs
NiArODg3LDggQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9ucHJ1bnRpbWVfcHJpdi5oJywK
ICAgICAgICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAnLAogICAgICAgICAgICAg
J2Nzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmgnLAorICAgICAgICAgICAgJ2Nzcy9DU1NDYWxjVmFs
dWUuY3BwJywKKyAgICAgICAgICAgICdjc3MvQ1NTQ2FsY1ZhbHVlLmgnLAogICAgICAgICAgICAg
J2Nzcy9DU1NDYW52YXNWYWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NDYW52YXNWYWx1
ZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwJywKQEAgLTI3NzIsNiAr
Mjc3NCw4IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vQXJlbmEuY3BwJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9BcmVuYS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9BdXRvZHJhaW5lZFBv
b2wuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcCcsCisgICAgICAgICAg
ICAncGxhdGZvcm0vQ2FsY1ZhbHVlLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0NvbnRlbnRU
eXBlLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vQ29udGVudFR5cGUuaCcsCiAgICAgICAg
ICAgICAncGxhdGZvcm0vQ29udGV4dE1lbnUuY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2Vi
Q29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDEzZDYzMTQuLjRiNTFmZTcgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpA
QCAtMzY3LDYgKzM2Nyw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGJyaWRnZS9jL2NfdXRpbGl0eS5j
cHAgXAogICAgIGJyaWRnZS9qc2MvQnJpZGdlSlNDLmNwcCBcCiAgICAgY3NzL0NTU0JvcmRlcklt
YWdlVmFsdWUuY3BwIFwKKyAgICBjc3MvQ1NTQ2FsY1ZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU0Nh
bnZhc1ZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU0NoYXJzZXRSdWxlLmNwcCBcCiAgICAgY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgXApAQCAtNzcxLDYgKzc3Miw3IEBAIFNPVVJD
RVMgKz0gXAogICAgIHBsYXRmb3JtL3RleHQvQXRvbWljU3RyaW5nLmNwcCBcCiAgICAgcGxhdGZv
cm0vdGV4dC9CYXNlNjQuY3BwIFwKICAgICBwbGF0Zm9ybS90ZXh0L0JpZGlDb250ZXh0LmNwcCBc
CisgICAgcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcCBcCiAgICAgcGxhdGZvcm0vQ29udGVudFR5cGUu
Y3BwIFwKICAgICBwbGF0Zm9ybS9Db250ZXh0TWVudS5jcHAgXAogICAgIHBsYXRmb3JtL0Nyb3Nz
VGhyZWFkQ29waWVyLmNwcCBcCkBAIC0xMDYxLDYgKzEwNjMsNyBAQCBIRUFERVJTICs9IFwKICAg
ICBicmlkZ2UvcnVudGltZV9vYmplY3QuaCBcCiAgICAgYnJpZGdlL3J1bnRpbWVfcm9vdC5oIFwK
ICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oIFwKKyAgICBjc3MvQ1NTQ2FsY1ZhbHVlLmgg
XAogICAgIGNzcy9DU1NDYW52YXNWYWx1ZS5oIFwKICAgICBjc3MvQ1NTQ2hhcnNldFJ1bGUuaCBc
CiAgICAgY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oIFwKQEAgLTE0NjcsNiArMTQ3
MCw3IEBAIEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb24uaCBc
CiAgICAgcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaCBcCiAgICAgcGxhdGZvcm0v
QXJlbmEuaCBcCisgICAgcGxhdGZvcm0vQ2FsY1ZhbHVlLmggXAogICAgIHBsYXRmb3JtL0NvbnRl
bnRUeXBlLmggXAogICAgIHBsYXRmb3JtL0NvbnRleHRNZW51LmggXAogICAgIHBsYXRmb3JtL0Ny
b3NzVGhyZWFkQ29waWVyLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5k
ZXggZmY3OTYzYi4uNTQ0MGM1ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CkBAIC0yMTY0MSw2ICsyMTY0MSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUN
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxDYWxjVmFsdWUuY3BwIg0KKwkJCQk+DQor
CQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cQ2Fs
Y1ZhbHVlLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxwbGF0Zm9ybVxDb250ZW50VHlwZS5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpA
QCAtMjY0NzcsNiArMjY0ODUsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQor
CQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0NhbGNWYWx1ZS5jcHAiDQorCQkJCT4NCisJCQk8
L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTQ2FsY1ZhbHVl
LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIu
Llxjc3NcQ1NTQ2FudmFzVmFsdWUuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZTg3MjA2ZC4uMWI0MGRhYiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQxMDgsNiAr
NDEwOCwxMCBAQAogCQlCNUMxMTIzQzEwMkI2QzQ2MDAwOTY1NzggLyogU1FMVHJhbnNhY3Rpb25D
b29yZGluYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQjVDMTEyM0ExMDJCNkM0NjAwMDk2NTc4IC8qIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3Iu
aCAqLzsgfTsKIAkJQjcxRkU2REYxMTA5MUNCMzAwREFFRjc3IC8qIFByaW50Q29udGV4dC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjc3NkQ0M0ExMTA0
NTI1RDAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUI3NzZENDNEMTEwNDUyNzUwMEJFQjBFQyAvKiBQcmlu
dENvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQjc3NkQ0M0MxMTA0NTI3NTAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5jcHAgKi87IH07CisJ
CUI3OThBREU2MTEyOTczQzEwMDE2REI5RSAvKiBDYWxjVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjc5OEFERTQxMTI5NzNDMTAwMTZEQjlF
IC8qIENhbGNWYWx1ZS5jcHAgKi87IH07CisJCUI3OThBREU3MTEyOTczQzEwMDE2REI5RSAvKiBD
YWxjVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEI3OThBREU1MTEyOTczQzEwMDE2REI5RSAvKiBDYWxjVmFsdWUuaCAqLzsgfTsKKwkJQjdBNUVB
REQxMEU0OEMzOTAwOERCQzk5IC8qIENTU0NhbGNWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCN0E1RUFEQzEwRTQ4QzM5MDA4REJDOTkgLyog
Q1NTQ2FsY1ZhbHVlLmNwcCAqLzsgfTsKKwkJQjdBNUVBREYxMEU0OEM0QTAwOERCQzk5IC8qIENT
U0NhbGNWYWx1ZS5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQjdBNUVBREUxMEU0OEM0QTAwOERCQzk5IC8qIENTU0NhbGNWYWx1
ZS5oICovOyB9OwogCQlCQzAwRjAwNDBFMEExODU1MDBGRDA0RTMgLyogRE9NRmlsZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMwMEVGRkUwRTBBMTg1
NTAwRkQwNEUzIC8qIERPTUZpbGUuaCAqLzsgfTsKIAkJQkMwMEYwMDUwRTBBMTg1NTAwRkQwNEUz
IC8qIERPTUZpbGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQzAwRUZGRjBFMEExODU1MDBGRDA0RTMgLyogRE9NRmlsZS5tbSAqLzsgfTsKIAkJQkMw
MEYwMDYwRTBBMTg1NTAwRkQwNEUzIC8qIERPTUZpbGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMwMEYwMDAwRTBBMTg1NTAwRkQwNEUz
IC8qIERPTUZpbGVJbnRlcm5hbC5oICovOyB9OwpAQCAtNTI5OCw2ICs1MzAyLDcgQEAKIAkJCQkx
NDAzQkEwRjA5RUIxOEY5MDA3OTdDN0YgLyogSlNET01XaW5kb3cuaCBpbiBDb3B5IEdlbmVyYXRl
ZCBIZWFkZXJzICovLAogCQkJCTE0REMwRDM4MDlGRUQwNzMwMDdCMDIzNSAvKiBKU05vZGUuaCBp
biBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovLAogCQkJCTA4QzdBMkM3MTBEQzc0NjIwMDJEMzY4
QiAvKiBTVkdOYW1lcy5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8sCisJCQkJQjdBNUVB
REYxMEU0OEM0QTAwOERCQzk5IC8qIENTU0NhbGNWYWx1ZS5oIGluIENvcHkgR2VuZXJhdGVkIEhl
YWRlcnMgKi8sCiAJCQkpOwogCQkJbmFtZSA9ICJDb3B5IEdlbmVyYXRlZCBIZWFkZXJzIjsKIAkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpAQCAtOTM0Nyw2ICs5MzUy
LDEwIEBACiAJCUI1QzExMjNBMTAyQjZDNDYwMDA5NjU3OCAvKiBTUUxUcmFuc2FjdGlvbkNvb3Jk
aW5hdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNRTFRyYW5zYWN0aW9u
Q29vcmRpbmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjc3NkQ0M0ExMTA0
NTI1RDAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQcmludENvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjc3
NkQ0M0MxMTA0NTI3NTAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcmludENvbnRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlCNzk4QURFNDExMjk3M0MxMDAxNkRCOUUgLyogQ2FsY1ZhbHVlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhbGNWYWx1ZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI3OThBREU1MTEyOTczQzEwMDE2REI5RSAvKiBDYWxj
VmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FsY1ZhbHVlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI3QTVFQURDMTBFNDhDMzkwMDhEQkM5OSAvKiBD
U1NDYWxjVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NT
Q2FsY1ZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjdBNUVBREUxMEU0
OEM0QTAwOERCQzk5IC8qIENTU0NhbGNWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDU1NDYWxjVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMw
MEVGRkUwRTBBMTg1NTAwRkQwNEUzIC8qIERPTUZpbGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRE9NRmlsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzAw
RUZGRjBFMEExODU1MDBGRDA0RTMgLyogRE9NRmlsZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IERPTUZpbGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUJDMDBGMDAwMEUwQTE4NTUwMEZEMDRFMyAvKiBET01GaWxlSW50ZXJuYWwuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NRmlsZUludGVybmFsLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xNTE2MCw2ICsxNTE2OSw4IEBACiAJCQkJQkNGQjJGNzQwOTdB
MkUxQTAwQkE3MDNEIC8qIEFyZW5hLmNwcCAqLywKIAkJCQlCQ0ZCMkY3NTA5N0EyRTFBMDBCQTcw
M0QgLyogQXJlbmEuaCAqLywKIAkJCQk1MUUxRUNCMTBDOTFDNTU2MDBEQzI1NUIgLyogQXV0b2Ry
YWluZWRQb29sLmggKi8sCisJCQkJQjc5OEFERTQxMTI5NzNDMTAwMTZEQjlFIC8qIENhbGNWYWx1
ZS5jcHAgKi8sCisJCQkJQjc5OEFERTUxMTI5NzNDMTAwMTZEQjlFIC8qIENhbGNWYWx1ZS5oICov
LAogCQkJCUJDQzhDRkNBMDk4NkNEMjQwMDE0MEJGMiAvKiBDb2xvckRhdGEuZ3BlcmYgKi8sCiAJ
CQkJNDFEMDE1QzkwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmNwcCAqLywKIAkJCQk0
MUQwMTVDODBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuaCAqLywKQEAgLTE1MzgyLDYg
KzE1MzkzLDggQEAKIAkJRjUyM0QxODQwMkRFNDJFODAxODYzNUNBIC8qIGNzcyAqLyA9IHsKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQjdBNUVBREUxMEU0OEM0QTAw
OERCQzk5IC8qIENTU0NhbGNWYWx1ZS5oICovLAorCQkJCUI3QTVFQURDMTBFNDhDMzkwMDhEQkM5
OSAvKiBDU1NDYWxjVmFsdWUuY3BwICovLAogCQkJCTkzQ0E0QzlDMDlERjkzRkEwMERGODY3NyAv
KiBtYWtldG9rZW5pemVyICovLAogCQkJCUE4MEU2Q0RBMEExOTg5Q0EwMDdGQjhDNSAvKiBDb3Vu
dGVyLmggKi8sCiAJCQkJOTMwNzA1QzcwOUUwQzk1RjAwQjE3RkU0IC8qIENvdW50ZXIuaWRsICov
LApAQCAtMTg1MjYsNiArMTg1MzksNyBAQAogCQkJCUJDRTc4OTE2MTEyMEQ2MDgwMDYwRUNFNSAv
KiBJbmxpbmVJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFNzg5ODYxMTIwRTdBNjAw
NjBFQ0U1IC8qIEJpZGlSdW4uaCBpbiBIZWFkZXJzICovLAogCQkJCTlGNkZDMTk3MTEyMkU4MkEw
MEU4MDE5NiAvKiBTY3JpcHREZWJ1Z1NlcnZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjc5OEFE
RTcxMTI5NzNDMTAwMTZEQjlFIC8qIENhbGNWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMDcw
Nyw2ICsyMDcyMSw4IEBACiAJCQkJQkNFNzg5OEIxMTIwRTgwMjAwNjBFQ0U1IC8qIEJpZGlSdW4u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOUY2RkMxOTYxMTIyRTgyQTAwRTgwMTk2IC8qIFNjcmlw
dERlYnVnU2VydmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTc2RkYxN0UzMTEyMzU2NzMwMDFE
NjFCNSAvKiBQbHVnaW5WaWV3Tm9uZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCN0E1RUFERDEw
RTQ4QzM5MDA4REJDOTkgLyogQ1NTQ2FsY1ZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUI3
OThBREU2MTEyOTczQzEwMDE2REI5RSAvKiBDYWxjVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NDYWxjVmFsdWUuY3BwIGIvV2ViQ29yZS9jc3MvQ1NT
Q2FsY1ZhbHVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NWUyYjdl
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmNwcApAQCAtMCww
ICsxLDMyMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NDYWxjVmFsdWUuaCIK
KworI2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTU3R5bGVTZWxl
Y3Rvci5oIgorI2luY2x1ZGUgIkNTU1ZhbHVlTGlzdC5oIgorI2luY2x1ZGUgIkNhbGNWYWx1ZS5o
IgorCisjaW5jbHVkZSA8bGltaXRzPgorI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KKyNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENTU0Nh
bGNQcmltaXRpdmVWYWx1ZSA6IHB1YmxpYyBDU1NDYWxjVmFsdWUgeworcHVibGljOgorICAgIGV4
cGxpY2l0IENTU0NhbGNQcmltaXRpdmVWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZSogdmFsdWUpCisg
ICAgICAgIDogbV92YWx1ZSh2YWx1ZSkKKyAgICB7CisgICAgfQorCisgICAgdmlydHVhbCBib29s
IGlzWmVybygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gIW1fdmFsdWUtPmdldERvdWJs
ZVZhbHVlKCk7CisgICAgfQorCisgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0Cisg
ICAgeworICAgICAgICByZXR1cm4gbV92YWx1ZS0+Y3NzVGV4dCgpOworICAgIH0KKworICAgIFBh
c3NPd25QdHI8Q2FsY1ZhbHVlPiB0b0NhbGNWYWx1ZShSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRl
clN0eWxlKiByb290U3R5bGUpIGNvbnN0CisgICAgeworICAgICAgICBpZiAobV92YWx1ZS0+cHJp
bWl0aXZlVHlwZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEFSU0VSX0lOVEVHRVIpCisg
ICAgICAgICAgICByZXR1cm4gbmV3IENhbGNOdW1iZXJWYWx1ZShtX3ZhbHVlLT5nZXRGbG9hdFZh
bHVlKCkpOworCisgICAgICAgIGJvb2wgb2sgPSB0cnVlOworICAgICAgICBMZW5ndGggbGVuZ3Ro
ID0gQ1NTU3R5bGVTZWxlY3Rvcjo6Y29udmVydFRvTGVuZ3RoKG1fdmFsdWUuZ2V0KCksIHN0eWxl
LCByb290U3R5bGUsIDEsICZvayk7CisgICAgICAgIGlmICghb2spCisgICAgICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgcmV0dXJuIG5ldyBDYWxjTGVuZ3RoVmFsdWUobGVuZ3RoKTsKKyAgICB9
CisKK3ByaXZhdGU6CisgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBtX3ZhbHVlOworfTsK
KworY2xhc3MgQ1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlIDogcHVibGljIENTU0NhbGNWYWx1
ZSB7CitwdWJsaWM6CisgICAgQ1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlKENTU0NhbGNWYWx1
ZSogbGVmdFNpZGUsIENTU0NhbGNWYWx1ZSogcmlnaHRTaWRlLCBjaGFyIG9wKQorICAgICAgICA6
IG1fbGVmdFNpZGUobGVmdFNpZGUpCisgICAgICAgICwgbV9yaWdodFNpZGUocmlnaHRTaWRlKQor
ICAgICAgICAsIG1fb3BlcmF0b3Iob3ApCisgICAgeworICAgICAgICBBU1NFUlQob3AgPT0gJysn
IHx8IG9wID09ICctJyB8fCBvcCA9PSAnKicgfHwgb3AgPT0gJy8nIHx8IG9wID09ICclJyk7Cisg
ICAgfQorCisgICAgdmlydHVhbCBib29sIGlzWmVybygpIGNvbnN0CisgICAgeworICAgICAgICAv
LyBGSVhNRTogV2UgY2FuIHJldHVybiB0cnVlIGZvciBzb21lIGNhc2VzIChlLmcuLCAzIC0gMywg
MyAqIDAsIGFuZCBldGMuKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgdmly
dHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0CisgICAgeworICAgICAgICBTdHJpbmcgcmVzdWx0
ID0gIigiOworICAgICAgICByZXN1bHQuYXBwZW5kKG1fbGVmdFNpZGUtPmNzc1RleHQoKSk7Cisg
ICAgICAgIHJlc3VsdC5hcHBlbmQobV9vcGVyYXRvcik7CisgICAgICAgIHJlc3VsdC5hcHBlbmQo
bV9yaWdodFNpZGUtPmNzc1RleHQoKSk7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoJyknKTsKKyAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKKyAgICBQYXNzT3duUHRyPENhbGNWYWx1ZT4g
dG9DYWxjVmFsdWUoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlKSBj
b25zdAorICAgIHsKKyAgICAgICAgT3duUHRyPENhbGNWYWx1ZT4gbGVmdChtX2xlZnRTaWRlLT50
b0NhbGNWYWx1ZShzdHlsZSwgcm9vdFN0eWxlKSk7CisgICAgICAgIGlmICghbGVmdC5nZXQoKSkK
KyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBPd25QdHI8Q2FsY1ZhbHVlPiByaWdodCht
X3JpZ2h0U2lkZS0+dG9DYWxjVmFsdWUoc3R5bGUsIHJvb3RTdHlsZSkpOworICAgICAgICBpZiAo
IXJpZ2h0LmdldCgpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBuZXcg
Q2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlKGxlZnQucmVsZWFzZSgpLCByaWdodC5yZWxlYXNlKCks
IG1fb3BlcmF0b3IpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBSZWZQdHI8Q1NTQ2FsY1ZhbHVl
PiBtX2xlZnRTaWRlOworICAgIFJlZlB0cjxDU1NDYWxjVmFsdWU+IG1fcmlnaHRTaWRlOworICAg
IGNoYXIgbV9vcGVyYXRvcjsKK307CisKKyNkZWZpbmUgQ0hFQ0tfREVQVEhfQU5EX0lOREVYICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICBkbyB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFwKKyAgICAgICAgKytkZXB0aDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgaWYgKGRlcHRoID4gMTAwKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK
KyAgICAgICAgaWYgKCppbmRleCA+PSB0b2tlbnMtPnNpemUoKSkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICB9IHdoaWxlICgwKQorCisv
KiBBcyBvZiBEZWNlbWJlciAyMDA5LCB0aGUgQ1NTIHNwZWMgdXNlcyB0aGUgZ3JhbW1hciB0byBy
ZWplY3Qgc3R1cGlkCisgKiBjYWxjdWxhdGlvbnMgc3VjaCBhcyAyMHB4KjIwcHguIEFzIHRoZSBv
cmlnaW5hbCBncmFtbWFyIHdpbGwgaGF2ZSBhCisgKiBidW5jaCBvZiBkdXBsaWNhdGlvbnMgaWYg
d2UgaW1wbGVtZW50IGl0IHdpdGggbm8gY2hhbmdlLCB3ZSdsbCB1c2UKKyAqIHRoZSBmb2xsb3dp
bmcgc2ltcGxpZmllZCBncmFtbWFyIGFuZCByZWplY3QgaW52YWxpZCBvcGVyYXRpb25zIGJ5Cisg
KiBjaGVja2luZyB0eXBlcyBvZiB2YWx1ZXMuCisgKgorICogPHZhbHVlLWV4cHJlc3Npb24+IDo9
IDx2YWx1ZS1hZGRpdGl2ZS1leHByZXNzaW9uPgorICoKKyAqIDx2YWx1ZS1hZGRpdGl2ZS1leHBy
ZXNzaW9uPiA6PQorICogICAgPHZhbHVlLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24+IDx2YWx1
ZS1hZGRpdGl2ZS1leHByZXNzaW9uLXRhaWw+CisgKgorICogPHZhbHVlLWFkZGl0aXZlLWV4cHJl
c3Npb24tdGFpbD4gOj0KKyAqICAgIDxlbXB0eT4gfAorICogICAgUysgJysnIFMrIDx2YWx1ZS1t
dWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uPiA8dmFsdWUtYWRkaXRpdmUtZXhwcmVzc2lvbi10YWls
PiB8CisgKiAgICBTKyAnLScgUysgPHZhbHVlLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24+IDx2
YWx1ZS1hZGRpdGl2ZS1leHByZXNzaW9uLXRhaWw+CisgKgorICogPHZhbHVlLW11bHRpcGxpY2F0
aXZlLWV4cHJlc3Npb24+CisgKiAgICA8dmFsdWUtdGVybT4gPHZhbHVlLW11bHRpcGxpY2F0aXZl
LWV4cHJlc3Npb24tdGFpbD4gfAorICoKKyAqIDx2YWx1ZS1tdWx0aXBsaWNhdGl2ZS1leHByZXNz
aW9uLXRhaWw+CisgKiAgICA8ZW1wdHk+IHwKKyAqICAgIFMqICcqJyBTKiA8dmFsdWUtdGVybT4g
PHZhbHVlLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tdGFpbD58CisgKiAgICBTKiAnLycgUyog
PHZhbHVlLXRlcm0+IDx2YWx1ZS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLXRhaWw+fAorICog
ICAgUysgJ21vZCcgUysgPHZhbHVlLXRlcm0+IDx2YWx1ZS1tdWx0aXBsaWNhdGl2ZS1leHByZXNz
aW9uLXRhaWw+CisgKgorICogPHZhbHVlLXRlcm0+IDo9ICcoJyA8dmFsdWUtZXhwcmVzc2lvbj4g
JyknIHwgPGF0b21pYy1sZW5ndGg+IHwgPG51bWJlcj4KKyAqCisgKiA8YXRvbWljLWxlbmd0aD4g
Oj0gPG51bWJlcj48bGVuZ3RoLXVuaXQ+CisgKi8KK2NsYXNzIENTU0NhbGNWYWx1ZVBhcnNlciB7
CitwdWJsaWM6CisgICAgQ1NTQ2FsY1ZhbHVlKiBwYXJzZShDU1NQYXJzZXJWYWx1ZUxpc3QqIHRv
a2VucykKKyAgICB7CisgICAgICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKKyAgICAgICAgVmFsdWUg
cmVzdWx0OworICAgICAgICBib29sIG9rID0gcGFyc2VWYWx1ZUV4cHJlc3Npb24odG9rZW5zLCAw
LCAmaW5kZXgsICZyZXN1bHQpOworICAgICAgICBBU1NFUlQoaW5kZXggPD0gdG9rZW5zLT5zaXpl
KCkpOworICAgICAgICBpZiAoIW9rIHx8IHJlc3VsdC50eXBlICE9IFZhbHVlOjpMZW5ndGggfHwg
aW5kZXggIT0gdG9rZW5zLT5zaXplKCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAg
cmV0dXJuIHJlc3VsdC52YWx1ZS5yZWxlYXNlKCk7CisgICAgfQorCitwcml2YXRlOgorICAgIHN0
cnVjdCBWYWx1ZSB7CisgICAgICAgIGVudW0gVHlwZSB7IExlbmd0aCwgTnVtYmVyIH07CisgICAg
ICAgIE93blB0cjxDU1NDYWxjVmFsdWU+IHZhbHVlOworICAgICAgICBUeXBlIHR5cGU7CisgICAg
fTsKKworICAgIGNoYXIgb3BlcmF0b3JWYWx1ZShDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2Vucywg
dW5zaWduZWQgaW5kZXgpCisgICAgeworICAgICAgICBpZiAoaW5kZXggPj0gdG9rZW5zLT5zaXpl
KCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgQ1NTUGFyc2VyVmFsdWUqIHZhbHVl
ID0gdG9rZW5zLT52YWx1ZUF0KGluZGV4KTsKKyAgICAgICAgaWYgKHZhbHVlLT51bml0ICE9IENT
U1BhcnNlclZhbHVlOjpPcGVyYXRvcikKKyAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAg
IHJldHVybiB2YWx1ZS0+aVZhbHVlOworICAgIH0KKworICAgIGJvb2wgcGFyc2VWYWx1ZShDU1NQ
YXJzZXJWYWx1ZUxpc3QqIHRva2VucywgdW5zaWduZWQqIGluZGV4LCBWYWx1ZSogcmVzdWx0KQor
ICAgIHsKKyAgICAgICAgQ1NTUGFyc2VyVmFsdWUqIHBhcnNlclZhbHVlID0gdG9rZW5zLT52YWx1
ZUF0KCppbmRleCk7CisgICAgICAgIGlmIChwYXJzZXJWYWx1ZS0+dW5pdCA9PSBDU1NQYXJzZXJW
YWx1ZTo6T3BlcmF0b3IgfHwgcGFyc2VyVmFsdWUtPnVuaXQgPT0gQ1NTUGFyc2VyVmFsdWU6OkZ1
bmN0aW9uKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIFJlZlB0cjxDU1NW
YWx1ZT4gdmFsdWUgPSBwYXJzZXJWYWx1ZS0+Y3JlYXRlQ1NTVmFsdWUoKTsKKyAgICAgICAgaWYg
KCF2YWx1ZSB8fCAhdmFsdWUtPmlzUHJpbWl0aXZlVmFsdWUoKSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUgPSBz
dGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlLmdldCgpKTsKKyAgICAgICAgcmVz
dWx0LT52YWx1ZSA9IG5ldyBDU1NDYWxjUHJpbWl0aXZlVmFsdWUocHJpbWl0aXZlVmFsdWUpOwor
ICAgICAgICByZXN1bHQtPnR5cGUgPSBwcmltaXRpdmVWYWx1ZS0+cHJpbWl0aXZlVHlwZSgpID09
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEFSU0VSX0lOVEVHRVIgPyBWYWx1ZTo6TnVtYmVyIDog
VmFsdWU6Okxlbmd0aDsKKworICAgICAgICArKyppbmRleDsKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorCisgICAgYm9vbCBwYXJzZVZhbHVlVGVybShDU1NQYXJzZXJWYWx1ZUxpc3QqIHRv
a2VucywgaW50IGRlcHRoLCB1bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1bHQpCisgICAgewor
ICAgICAgICBDSEVDS19ERVBUSF9BTkRfSU5ERVg7CisKKyAgICAgICAgaWYgKG9wZXJhdG9yVmFs
dWUodG9rZW5zLCAqaW5kZXgpID09ICcoJykgeworICAgICAgICAgICAgdW5zaWduZWQgY3VycmVu
dEluZGV4ID0gKmluZGV4ICsgMTsKKyAgICAgICAgICAgIGlmICghcGFyc2VWYWx1ZUV4cHJlc3Np
b24odG9rZW5zLCBkZXB0aCwgJmN1cnJlbnRJbmRleCwgcmVzdWx0KSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIGlmIChvcGVyYXRvclZhbHVlKHRva2Vucywg
Y3VycmVudEluZGV4KSAhPSAnKScpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICAgICAgKmluZGV4ID0gY3VycmVudEluZGV4ICsgMTsKKyAgICAgICAgICAgIHJldHVybiB0
cnVlOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHBhcnNlVmFsdWUodG9rZW5zLCBpbmRl
eCwgcmVzdWx0KTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWVNdWx0aXBsaWNhdGl2ZUV4
cHJlc3Npb24oQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIGludCBkZXB0aCwgdW5zaWduZWQq
IGluZGV4LCBWYWx1ZSogcmVzdWx0KQorICAgIHsKKyAgICAgICAgQ0hFQ0tfREVQVEhfQU5EX0lO
REVYOworCisgICAgICAgIGlmICghcGFyc2VWYWx1ZVRlcm0odG9rZW5zLCBkZXB0aCwgaW5kZXgs
IHJlc3VsdCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgLy8gPHZhbHVl
LW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tdGFpbD4KKyAgICAgICAgd2hpbGUgKCppbmRleCA8
IHRva2Vucy0+c2l6ZSgpIC0gMSkgeworICAgICAgICAgICAgY2hhciBvcGVyYXRvckNoYXJhY3Rl
ciA9IG9wZXJhdG9yVmFsdWUodG9rZW5zLCAqaW5kZXgpOworICAgICAgICAgICAgaWYgKG9wZXJh
dG9yQ2hhcmFjdGVyICE9ICcqJyAmJiBvcGVyYXRvckNoYXJhY3RlciAhPSAnLycgJiYgb3BlcmF0
b3JDaGFyYWN0ZXIgIT0gJyUnKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
KysqaW5kZXg7CisKKyAgICAgICAgICAgIFZhbHVlIHJoczsKKyAgICAgICAgICAgIGlmICghcGFy
c2VWYWx1ZVRlcm0odG9rZW5zLCBkZXB0aCwgaW5kZXgsICZyaHMpKQorICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgc3dpdGNoIChvcGVyYXRvckNoYXJhY3Rlcikg
eworICAgICAgICAgICAgY2FzZSAnKic6CisgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC0+dHlw
ZSAhPSByaHMudHlwZSkKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0LT50eXBlID0gVmFsdWU6
Okxlbmd0aDsKKyAgICAgICAgICAgICAgICBlbHNlIGlmIChyZXN1bHQtPnR5cGUgPT0gVmFsdWU6
Okxlbmd0aCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAg
ICAgICAgcmVzdWx0LT52YWx1ZSA9IG5ldyBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWUocmVz
dWx0LT52YWx1ZS5yZWxlYXNlKCksIHJocy52YWx1ZS5yZWxlYXNlKCksIG9wZXJhdG9yQ2hhcmFj
dGVyKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgJy8nOgorICAg
ICAgICAgICAgY2FzZSAnJSc6CisgICAgICAgICAgICAgICAgaWYgKHJocy52YWx1ZS0+aXNaZXJv
KCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICAgICBp
ZiAocmVzdWx0LT50eXBlID09IHJocy50eXBlKQorICAgICAgICAgICAgICAgICAgICByZXN1bHQt
PnR5cGUgPSBWYWx1ZTo6TnVtYmVyOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlc3VsdC0+
dHlwZSA9PSBWYWx1ZTo6TnVtYmVyKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICAgICAgICAgICAgICByZXN1bHQtPnZhbHVlID0gbmV3IENTU0NhbGNCaW5hcnlPcGVy
YXRpb25WYWx1ZShyZXN1bHQtPnZhbHVlLnJlbGVhc2UoKSwgcmhzLnZhbHVlLnJlbGVhc2UoKSwg
b3BlcmF0b3JDaGFyYWN0ZXIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
ZGVmYXVsdDoKKyAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAg
ICBBU1NFUlQoKmluZGV4IDw9IHRva2Vucy0+c2l6ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorCisgICAgYm9vbCBwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKENTU1BhcnNl
clZhbHVlTGlzdCogdG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJl
c3VsdCkKKyAgICB7CisgICAgICAgIENIRUNLX0RFUFRIX0FORF9JTkRFWDsKKworICAgICAgICBp
ZiAoIXBhcnNlVmFsdWVNdWx0aXBsaWNhdGl2ZUV4cHJlc3Npb24odG9rZW5zLCBkZXB0aCwgaW5k
ZXgsIHJlc3VsdCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgLy8gPHZh
bHVlLWFkZGl0aXZlLWV4cHJlc3Npb24tdGFpbD4KKyAgICAgICAgd2hpbGUgKCppbmRleCA8IHRv
a2Vucy0+c2l6ZSgpIC0gMSkgeworICAgICAgICAgICAgY2hhciBvcGVyYXRvckNoYXJhY3RlciA9
IG9wZXJhdG9yVmFsdWUodG9rZW5zLCAqaW5kZXgpOworICAgICAgICAgICAgaWYgKG9wZXJhdG9y
Q2hhcmFjdGVyICE9ICcrJyAmJiBvcGVyYXRvckNoYXJhY3RlciAhPSAnLScpCisgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICArKyppbmRleDsKKworICAgICAgICAgICAgVmFsdWUg
cmhzOworICAgICAgICAgICAgaWYgKCFwYXJzZVZhbHVlTXVsdGlwbGljYXRpdmVFeHByZXNzaW9u
KHRva2VucywgZGVwdGgsIGluZGV4LCAmcmhzKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICAgICAgICAgIGlmIChyZXN1bHQtPnR5cGUgIT0gcmhzLnR5cGUpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICBzd2l0Y2ggKG9wZXJhdG9yQ2hh
cmFjdGVyKSB7CisgICAgICAgICAgICBjYXNlICcrJzoKKyAgICAgICAgICAgIGNhc2UgJy0nOgor
ICAgICAgICAgICAgICAgIHJlc3VsdC0+dmFsdWUgPSBuZXcgQ1NTQ2FsY0JpbmFyeU9wZXJhdGlv
blZhbHVlKHJlc3VsdC0+dmFsdWUucmVsZWFzZSgpLCByaHMudmFsdWUucmVsZWFzZSgpLCBvcGVy
YXRvckNoYXJhY3Rlcik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZh
dWx0OgorICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIEFT
U0VSVCgqaW5kZXggPD0gdG9rZW5zLT5zaXplKCkpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICB9CisKKyAgICBib29sIHBhcnNlVmFsdWVFeHByZXNzaW9uKENTU1BhcnNlclZhbHVlTGlzdCog
dG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAgICB7
CisgICAgICAgIHJldHVybiBwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKHRva2VucywgZGVw
dGgsIGluZGV4LCByZXN1bHQpOworICAgIH0KK307CisKK1Bhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVl
PiBDU1NDYWxjVmFsdWU6OmNyZWF0ZUZyb21QYXJzZXJWYWx1ZUxpc3QoQ1NTUGFyc2VyVmFsdWVM
aXN0KiBwYXJzZXJWYWx1ZUxpc3QpCit7CisgICAgQ1NTQ2FsY1ZhbHVlUGFyc2VyIHBhcnNlcjsK
KyAgICByZXR1cm4gYWRvcHRSZWYocGFyc2VyLnBhcnNlKHBhcnNlclZhbHVlTGlzdCkpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NDYWxj
VmFsdWUuaCBiL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmI2YjhjYmUKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2Nzcy9D
U1NDYWxjVmFsdWUuaApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDU1NDYWxjVmFsdWVfaAorI2Rl
ZmluZSBDU1NDYWxjVmFsdWVfaAorCisjaW5jbHVkZSAiQ1NTVmFsdWUuaCIKKyNpbmNsdWRlIDx3
dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBDU1NQYXJzZXJWYWx1ZUxpc3Q7CitjbGFzcyBDU1NWYWx1ZUxpc3Q7
CitjbGFzcyBSZW5kZXJTdHlsZTsKK2NsYXNzIENhbGNWYWx1ZTsKKworY2xhc3MgQ1NTQ2FsY1Zh
bHVlIDogcHVibGljIENTU1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxD
U1NDYWxjVmFsdWU+IGNyZWF0ZUZyb21QYXJzZXJWYWx1ZUxpc3QoQ1NTUGFyc2VyVmFsdWVMaXN0
Kik7CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNDYWxjVmFsdWUoKSBjb25zdCB7IHJldHVybiB0cnVl
OyB9CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNaZXJvKCkgY29uc3QgPSAwOworCisgICAgdmlydHVh
bCBQYXNzT3duUHRyPENhbGNWYWx1ZT4gdG9DYWxjVmFsdWUoUmVuZGVyU3R5bGUqIHN0eWxlLCBS
ZW5kZXJTdHlsZSogcm9vdFN0eWxlKSBjb25zdCA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBDU1NDYWxjVmFsdWVfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9j
c3MvQ1NTR3JhbW1hci55IGIvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55CmluZGV4IDlkNWViNmUu
LmY5N2M2MDggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueQorKysgYi9XZWJD
b3JlL2Nzcy9DU1NHcmFtbWFyLnkKQEAgLTk3LDcgKzk3LDcgQEAgc3RhdGljIGludCBjc3N5eWxl
eChZWVNUWVBFKiB5eWx2YWwsIHZvaWQqIHBhcnNlcikKIAogJX0KIAotJWV4cGVjdCA1NAorJWV4
cGVjdCA2MgogCiAlbm9uYXNzb2MgTE9XRVNUX1BSRUMKIApAQCAtMTc1LDYgKzE3NSw3IEBAIHN0
YXRpYyBpbnQgY3NzeXlsZXgoWVlTVFlQRSogeXlsdmFsLCB2b2lkKiBwYXJzZXIpCiAldG9rZW4g
PHN0cmluZz4gVVJJCiAldG9rZW4gPHN0cmluZz4gRlVOQ1RJT04KICV0b2tlbiA8c3RyaW5nPiBO
T1RGVU5DVElPTgorJXRva2VuIDxzdHJpbmc+IENBTENGVU5DVElPTgogCiAldG9rZW4gPHN0cmlu
Zz4gVU5JQ09ERVJBTkdFCiAKQEAgLTI1Miw2ICsyNTMsMTEgQEAgc3RhdGljIGludCBjc3N5eWxl
eChZWVNUWVBFKiB5eWx2YWwsIHZvaWQqIHBhcnNlcikKICV0eXBlIDx2YWx1ZT4gdGVybQogJXR5
cGUgPHZhbHVlPiB1bmFyeV90ZXJtCiAldHlwZSA8dmFsdWU+IGZ1bmN0aW9uCisldHlwZSA8dmFs
dWU+IGNhbGNfZnVuY190ZXJtCisldHlwZSA8Y2hhcmFjdGVyPiBjYWxjX2Z1bmNfb3BlcmF0b3IK
KyV0eXBlIDx2YWx1ZUxpc3Q+IGNhbGNfZnVuY19leHByCisldHlwZSA8dmFsdWVMaXN0PiBjYWxj
X2Z1bmNfcGFyZW5fZXhwcgorJXR5cGUgPHZhbHVlPiBjYWxjX2Z1bmN0aW9uCiAKICV0eXBlIDxz
dHJpbmc+IGVsZW1lbnRfbmFtZQogJXR5cGUgPHN0cmluZz4gYXR0cl9uYW1lCkBAIC0xMzcxLDYg
KzEzNzcsOSBAQCB0ZXJtOgogICB8IGZ1bmN0aW9uIHsKICAgICAgICQkID0gJDE7CiAgIH0KKyAg
fCBjYWxjX2Z1bmN0aW9uIHsKKyAgICAgICQkID0gJDE7CisgIH0KICAgfCB2YXJpYWJsZV9yZWZl
cmVuY2UgbWF5YmVfc3BhY2UgewogICAgICAgJCQgPSAkMTsKICAgfQpAQCAtMTQzOCw2ICsxNDQ3
LDExNCBAQCBmdW5jdGlvbjoKICAgICAgICAgJCQuZnVuY3Rpb24gPSBmOwogICB9CiAgIDsKKwor
Y2FsY19mdW5jX3Rlcm06CisgICAgdGVybQorICA7CisKK2NhbGNfZnVuY19vcGVyYXRvcjoKKyAg
ICAnKycgbWF5YmVfc3BhY2UgeworICAgICAgICAkJCA9ICcrJzsKKyAgICB9CisgIHwgJy0nIG1h
eWJlX3NwYWNlIHsKKyAgICAgICAgJCQgPSAnLSc7CisgICAgfQorICB8ICcqJyBtYXliZV9zcGFj
ZSB7CisgICAgICAgICQkID0gJyonOworICAgIH0KKyAgfCAnLycgbWF5YmVfc3BhY2UgeworICAg
ICAgICAkJCA9ICcvJzsKKyAgICB9CisgIHwgSURFTlQgbWF5YmVfc3BhY2UgeworICAgICAgICBp
ZiAoZXF1YWwoIm1vZCIsICQxLmNoYXJhY3RlcnMsICQxLmxlbmd0aCkpCisgICAgICAgICAgICAk
JCA9ICclJzsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgWVlFUlJPUjsKKyAgICB9CisgIDsK
KworY2FsY19mdW5jX3BhcmVuX2V4cHI6CisgICAgJygnIG1heWJlX3NwYWNlIGNhbGNfZnVuY19l
eHByIG1heWJlX3NwYWNlICcpJyBtYXliZV9zcGFjZSB7CisgICAgICAgICQkID0gJDM7CisgICAg
ICAgIGlmICgkJCkgeworICAgICAgICAgICAgQ1NTUGFyc2VyVmFsdWUgdjsKKyAgICAgICAgICAg
IHYuaWQgPSAwOworICAgICAgICAgICAgdi51bml0ID0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJhdG9y
OworICAgICAgICAgICAgdi5pVmFsdWUgPSAnKCc7CisgICAgICAgICAgICAkJC0+aW5zZXJ0VmFs
dWVBdCgwLCB2KTsKKyAgICAgICAgICAgIHYuaVZhbHVlID0gJyknOworICAgICAgICAgICAgJCQt
PmFkZFZhbHVlKHYpOworICAgICAgICB9CisgICAgfQorCitjYWxjX2Z1bmNfZXhwcjoKKyAgICBj
YWxjX2Z1bmNfdGVybSBtYXliZV9zcGFjZSB7CisgICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRp
Y19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7CisgICAgICAgICQkID0gcC0+Y3JlYXRlRmxvYXRp
bmdWYWx1ZUxpc3QoKTsKKyAgICAgICAgJCQtPmFkZFZhbHVlKHAtPnNpbmtGbG9hdGluZ1ZhbHVl
KCQxKSk7CisgICAgfQorICB8IGNhbGNfZnVuY19leHByIG1heWJlX3NwYWNlIGNhbGNfZnVuY190
ZXJtIG1heWJlX3NwYWNlIHsKKyAgICAgICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NT
UGFyc2VyKj4ocGFyc2VyKTsKKyAgICAgICAgJCQgPSAkMTsKKyAgICAgICAgaWYgKCQkKQorICAg
ICAgICAgICAgJCQtPmFkZFZhbHVlKHAtPnNpbmtGbG9hdGluZ1ZhbHVlKCQzKSk7CisgICAgfQor
ICB8IGNhbGNfZnVuY19leHByIGNhbGNfZnVuY19vcGVyYXRvciBjYWxjX2Z1bmNfdGVybSB7Cisg
ICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7Cisg
ICAgICAgICQkID0gJDE7CisgICAgICAgIGlmICgkJCkgeworICAgICAgICAgICAgaWYgKCQyKSB7
CisgICAgICAgICAgICAgICAgQ1NTUGFyc2VyVmFsdWUgdjsKKyAgICAgICAgICAgICAgICB2Lmlk
ID0gMDsKKyAgICAgICAgICAgICAgICB2LnVuaXQgPSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3I7
CisgICAgICAgICAgICAgICAgdi5pVmFsdWUgPSAkMjsKKyAgICAgICAgICAgICAgICAkJC0+YWRk
VmFsdWUodik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAkJC0+YWRkVmFsdWUocC0+c2lu
a0Zsb2F0aW5nVmFsdWUoJDMpKTsKKyAgICAgICAgfQorICAgIH0KKyAgfCBjYWxjX2Z1bmNfZXhw
ciBjYWxjX2Z1bmNfb3BlcmF0b3IgY2FsY19mdW5jX3BhcmVuX2V4cHIgeworICAgICAgICAkJCA9
ICQxOworICAgICAgICBpZiAoJCQpIHsKKyAgICAgICAgICAgIGlmICgkMikgeworICAgICAgICAg
ICAgICAgIENTU1BhcnNlclZhbHVlIHY7CisgICAgICAgICAgICAgICAgdi5pZCA9IDA7CisgICAg
ICAgICAgICAgICAgdi51bml0ID0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJhdG9yOworICAgICAgICAg
ICAgICAgIHYuaVZhbHVlID0gJDI7CisgICAgICAgICAgICAgICAgJCQtPmFkZFZhbHVlKHYpOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCQzKQorICAgICAgICAgICAgICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCAkMy0+c2l6ZSgpOyBpKyspCisgICAgICAgICAgICAgICAgICAg
ICQkLT5hZGRWYWx1ZSgqJDMtPnZhbHVlQXQoaSkpOworICAgICAgICB9CisgICAgfQorICB8IGNh
bGNfZnVuY19wYXJlbl9leHByCisgIHwgY2FsY19mdW5jX2V4cHIgZXJyb3IgeworICAgICAgICAk
JCA9IDA7CisgICAgfQorICA7CisKK2NhbGNfZnVuY3Rpb246CisgICAgQ0FMQ0ZVTkNUSU9OIG1h
eWJlX3NwYWNlIGNhbGNfZnVuY19leHByICcpJyBtYXliZV9zcGFjZSB7CisgICAgICAgIENTU1Bh
cnNlciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7CisgICAgICAgIENTU1Bh
cnNlckZ1bmN0aW9uKiBmID0gcC0+Y3JlYXRlRmxvYXRpbmdGdW5jdGlvbigpOworICAgICAgICBm
LT5uYW1lID0gJDE7CisgICAgICAgIGYtPmFyZ3MgPSBwLT5zaW5rRmxvYXRpbmdWYWx1ZUxpc3Qo
JDMpOworICAgICAgICAkJC5pZCA9IDA7CisgICAgICAgICQkLnVuaXQgPSBDU1NQYXJzZXJWYWx1
ZTo6RnVuY3Rpb247CisgICAgICAgICQkLmZ1bmN0aW9uID0gZjsKKyAgICB9CisgIHwgQ0FMQ0ZV
TkNUSU9OIG1heWJlX3NwYWNlIGVycm9yIHsKKyAgICAgICAgQ1NTUGFyc2VyKiBwID0gc3RhdGlj
X2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKTsKKyAgICAgICAgQ1NTUGFyc2VyRnVuY3Rpb24qIGYg
PSBwLT5jcmVhdGVGbG9hdGluZ0Z1bmN0aW9uKCk7CisgICAgICAgIGYtPm5hbWUgPSAkMTsKKyAg
ICAgICAgZi0+YXJncyA9IDA7CisgICAgICAgICQkLmlkID0gMDsKKyAgICAgICAgJCQudW5pdCA9
IENTU1BhcnNlclZhbHVlOjpGdW5jdGlvbjsKKyAgICAgICAgJCQuZnVuY3Rpb24gPSBmOworICAg
IH0KKyAgOworCiAvKgogICogVGhlcmUgaXMgYSBjb25zdHJhaW50IG9uIHRoZSBjb2xvciB0aGF0
IGl0IG11c3QKICAqIGhhdmUgZWl0aGVyIDMgb3IgNiBoZXgtZGlnaXRzIChpLmUuLCBbMC05YS1m
QS1GXSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuY3BwCmluZGV4IGVjNTkwNTUuLmY4M2FiMGIgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAt
MjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkNTdHJpbmcuaCIKICNpbmNsdWRlICJDU1NUaW1pbmdG
dW5jdGlvblZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oIgorI2luY2x1
ZGUgIkNTU0NhbGNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0NhbnZhc1ZhbHVlLmgiCiAjaW5jbHVk
ZSAiQ1NTQ2hhcnNldFJ1bGUuaCIKICNpbmNsdWRlICJDU1NDdXJzb3JJbWFnZVZhbHVlLmgiCkBA
IC0xMjUsNiArMTI2LDExIEBAIHN0YXRpYyBib29sIGhhc1ByZWZpeChjb25zdCBjaGFyKiBzdHJp
bmcsIHVuc2lnbmVkIGxlbmd0aCwgY29uc3QgY2hhciogcHJlZml4KQogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAorc3RhdGljIGJvb2wgaXNDYWxjKENTU1BhcnNlclZhbHVlKiB2YWx1ZSkKK3sKKyAg
ICByZXR1cm4gdmFsdWUtPnVuaXQgPT0gQ1NTUGFyc2VyVmFsdWU6OkZ1bmN0aW9uICYmIGVxdWFs
SWdub3JpbmdDYXNlKHZhbHVlLT5mdW5jdGlvbi0+bmFtZSwgIi13ZWJraXQtY2FsYygiKTsKK30K
KwogQ1NTUGFyc2VyOjpDU1NQYXJzZXIoYm9vbCBzdHJpY3RQYXJzaW5nKQogICAgIDogbV9zdHJp
Y3Qoc3RyaWN0UGFyc2luZykKICAgICAsIG1faW1wb3J0YW50KGZhbHNlKQpAQCAtMTAxMCw5ICsx
MDE2LDEyIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKGludCBwcm9wSWQsIGJvb2wgaW1w
b3J0YW50KQogICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSAoIWlkICYmIHZhbGlkVW5pdCh2
YWx1ZSwgRkxlbmd0aCB8IEZQZXJjZW50LCBtX3N0cmljdCkpOwogICAgICAgICBicmVhazsKIAot
ICAgIGNhc2UgQ1NTUHJvcGVydHlIZWlnaHQ6ICAgICAgICAgICAgICAgLy8gPGxlbmd0aD4gfCA8
cGVyY2VudGFnZT4gfCBhdXRvIHwgaW5oZXJpdAotICAgIGNhc2UgQ1NTUHJvcGVydHlXaWR0aDog
ICAgICAgICAgICAgICAgLy8gPGxlbmd0aD4gfCA8cGVyY2VudGFnZT4gfCBhdXRvIHwgaW5oZXJp
dAotICAgICAgICBpZiAoaWQgPT0gQ1NTVmFsdWVBdXRvIHx8IGlkID09IENTU1ZhbHVlSW50cmlu
c2ljIHx8IGlkID09IENTU1ZhbHVlTWluSW50cmluc2ljKQorICAgIGNhc2UgQ1NTUHJvcGVydHlI
ZWlnaHQ6ICAgICAgICAgICAgICAgLy8gPGxlbmd0aD4gfCA8cGVyY2VudGFnZT4gfCBhdXRvIHwg
aW5oZXJpdCB8IGNhbGMoKQorICAgIGNhc2UgQ1NTUHJvcGVydHlXaWR0aDogICAgICAgICAgICAg
ICAgLy8gPGxlbmd0aD4gfCA8cGVyY2VudGFnZT4gfCBhdXRvIHwgaW5oZXJpdCB8IGNhbGMoKQor
ICAgICAgICBpZiAoaXNDYWxjKHZhbHVlKSkgeworICAgICAgICAgICAgaWYgKHBhcnNlQ2FsY3Vs
YXRlZExlbmd0aChwcm9wSWQsIHZhbHVlLCBpbXBvcnRhbnQpKQorICAgICAgICAgICAgICAgIHJl
dHVybiB0cnVlOworICAgICAgICB9IGVsc2UgaWYgKGlkID09IENTU1ZhbHVlQXV0byB8fCBpZCA9
PSBDU1NWYWx1ZUludHJpbnNpYyB8fCBpZCA9PSBDU1NWYWx1ZU1pbkludHJpbnNpYykKICAgICAg
ICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAg
Ly8gIyMjIGhhbmRsZSBtdWx0aWxlbmd0aCBjYXNlIHdoZXJlIHdlIGFsbG93IHJlbGF0aXZlIHVu
aXRzCkBAIC0zODIzLDYgKzM4MzIsMjIgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlU2hhZG93KGlu
dCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBD
U1NQYXJzZXI6OnBhcnNlQ2FsY3VsYXRlZExlbmd0aChpbnQgcHJvcElkLCBDU1NQYXJzZXJWYWx1
ZSogcGFyc2VyVmFsdWUsIGJvb2wgaW1wb3J0YW50KQoreworICAgIEFTU0VSVChpc0NhbGMocGFy
c2VyVmFsdWUpKTsKKworICAgIENTU1BhcnNlclZhbHVlTGlzdCogYXJncyA9IHBhcnNlclZhbHVl
LT5mdW5jdGlvbi0+YXJnczsKKyAgICBpZiAoIWFyZ3MgfHwgIWFyZ3MtPnNpemUoKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgUmVmUHRyPENTU0NhbGNWYWx1ZT4gY2FsYyA9IENTU0Nh
bGNWYWx1ZTo6Y3JlYXRlRnJvbVBhcnNlclZhbHVlTGlzdChhcmdzKTsKKyAgICBpZiAoIWNhbGMu
Z2V0KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGFkZFByb3BlcnR5KHByb3BJZCwg
Y2FsYy5yZWxlYXNlKCksIGltcG9ydGFudCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wg
Q1NTUGFyc2VyOjpwYXJzZVJlZmxlY3QoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiB7CiAg
ICAgLy8gYm94LXJlZmxlY3Q6IDxkaXJlY3Rpb24+IDxvZmZzZXQ+IDxtYXNrPgpAQCAtNDY1MCw2
ICs0Njc1LDcgQEAgaW50IENTU1BhcnNlcjo6bGV4KHZvaWQqIHl5bHZhbFdpdGhvdXRUeXBlKQog
ICAgIGNhc2UgVU5JQ09ERVJBTkdFOgogICAgIGNhc2UgRlVOQ1RJT046CiAgICAgY2FzZSBOT1RG
VU5DVElPTjoKKyAgICBjYXNlIENBTENGVU5DVElPTjoKICAgICBjYXNlIFZBUkNBTEw6CiAgICAg
ICAgIHl5bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMgPSB0OwogICAgICAgICB5eWx2YWwtPnN0cmlu
Zy5sZW5ndGggPSBsZW5ndGg7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBi
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IDM5MjJhMmEuLmIzZDk3YTMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5o
CkBAIC0yMjksNiArMjI5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBpbnQgbGV4
KCk7CiAgICAgICAgIAogICAgIHByaXZhdGU6CisgICAgICAgIGJvb2wgcGFyc2VDYWxjdWxhdGVk
TGVuZ3RoKGludCBwcm9wSWQsIENTU1BhcnNlclZhbHVlKiwgYm9vbCBpbXBvcnRhbnQpOworCiAg
ICAgICAgIHZvaWQgcmVjaGVja0F0S2V5d29yZChjb25zdCBVQ2hhciogc3RyLCBpbnQgbGVuKTsK
ICAgICAKICAgICAgICAgdm9pZCBjbGVhclByb3BlcnRpZXMoKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvY3NzL0NTU1BhcnNlclZhbHVlcy5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMu
Y3BwCmluZGV4IDU1ZWNiN2YuLjBmYmIwMmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlclZhbHVlcy5jcHAKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmNwcApAQCAt
NDYsNyArNDYsMTQgQEAgdm9pZCBDU1NQYXJzZXJWYWx1ZUxpc3Q6OmFkZFZhbHVlKGNvbnN0IENT
U1BhcnNlclZhbHVlJiB2KQogICAgICAgICBtX3ZhcmlhYmxlc0NvdW50Kys7CiAgICAgbV92YWx1
ZXMuYXBwZW5kKHYpOwogfQotICAgIAorCit2b2lkIENTU1BhcnNlclZhbHVlTGlzdDo6aW5zZXJ0
VmFsdWVBdCh1bnNpZ25lZCBpLCBjb25zdCBDU1NQYXJzZXJWYWx1ZSYgdikKK3sKKyAgICBpZiAo
di51bml0ID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEFSU0VSX1ZBUklBQkxFX0ZVTkNUSU9O
X1NZTlRBWCkgLy8gaXNWYXJpYWJsZSgpIGlzIG5vdCBpbmxpbmVkLiBUaGlzIGlzIGhvdC4KKyAg
ICAgICAgbV92YXJpYWJsZXNDb3VudCsrOworICAgIG1fdmFsdWVzLmluc2VydChpLCB2KTsKK30K
Kwogdm9pZCBDU1NQYXJzZXJWYWx1ZUxpc3Q6OmRlbGV0ZVZhbHVlQXQodW5zaWduZWQgaSkKIHsg
CiAgICAgaWYgKG1fdmFsdWVzW2ldLmlzVmFyaWFibGUoKSkKQEAgLTgxLDQgKzg4LDMgQEAgUGFz
c1JlZlB0cjxDU1NWYWx1ZT4gQ1NTUGFyc2VyVmFsdWU6OmNyZWF0ZUNTU1ZhbHVlKCkKIH0KIAog
fQotCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaCBiL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlclZhbHVlcy5oCmluZGV4IDFlOTc2N2EuLjE4YjAzMzIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1BhcnNl
clZhbHVlcy5oCkBAIC03MCw2ICs3MCw3IEBAIHB1YmxpYzoKICAgICB+Q1NTUGFyc2VyVmFsdWVM
aXN0KCk7CiAgICAgCiAgICAgdm9pZCBhZGRWYWx1ZShjb25zdCBDU1NQYXJzZXJWYWx1ZSYpOwor
ICAgIHZvaWQgaW5zZXJ0VmFsdWVBdCh1bnNpZ25lZCwgY29uc3QgQ1NTUGFyc2VyVmFsdWUmKTsK
ICAgICB2b2lkIGRlbGV0ZVZhbHVlQXQodW5zaWduZWQpOwogCiAgICAgdW5zaWduZWQgc2l6ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fdmFsdWVzLnNpemUoKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9j
c3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwIGIvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUu
Y3BwCmluZGV4IDFmMmM5Y2EuLmM2MjYwZDQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvY3NzL0NTU1By
aW1pdGl2ZVZhbHVlLmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAK
QEAgLTI0OCw2ICsyNDgsMTAgQEAgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVl
KGNvbnN0IExlbmd0aCYgbGVuZ3RoKQogICAgICAgICAgICAgbV90eXBlID0gQ1NTX1BFUkNFTlRB
R0U7CiAgICAgICAgICAgICBtX3ZhbHVlLm51bSA9IGxlbmd0aC5wZXJjZW50KCk7CiAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDYWxjdWxhdGVkOgorICAgICAgICAgICAgLy8gV2Ug
Y2FuJ3QgZ2l2ZSBhIHNhbmUgcHJpbWl0aXZlIHZhbHVlIGZvciBjYWxjLgorICAgICAgICAgICAg
bV90eXBlID0gQ1NTX1VOS05PV047CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBS
ZWxhdGl2ZToKICAgICAgICAgY2FzZSBTdGF0aWM6CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIv
V2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggYWVlZDhhZC4uZTc5MmI0ZCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvV2ViQ29y
ZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTI2LDcgKzI2LDkgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJDU1NTdHlsZVNlbGVjdG9yLmgiCiAKKyNpbmNsdWRlICJDYWxj
VmFsdWUuaCIKICNpbmNsdWRlICJDU1NCb3JkZXJJbWFnZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NT
Q2FsY1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUg
IkNTU0ZvbnRGYWNlUnVsZS5oIgogI2luY2x1ZGUgIkNTU0ltcG9ydFJ1bGUuaCIKQEAgLTI4NjIs
NyArMjg2NCw3IEBAIHZvaWQgQ1NTUnVsZVNldDo6YWRkUnVsZXNGcm9tU2hlZXQoQ1NTU3R5bGVT
aGVldCogc2hlZXQsIGNvbnN0IE1lZGlhUXVlcnlFdmFsdWF0CiAvLyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCiAvLyB0aGlzIGlzIG1vc3RseSBib3Jpbmcgc3R1ZmYgb24gaG93IHRvIGFw
cGx5IGEgY2VydGFpbiBydWxlIHRvIHRoZSByZW5kZXJzdHlsZS4uLgogCi1zdGF0aWMgTGVuZ3Ro
IGNvbnZlcnRUb0xlbmd0aChDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUsIFJlbmRl
clN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIG11bHRpcGxpZXIg
PSAxLCBib29sICpvayA9IDApCitMZW5ndGggQ1NTU3R5bGVTZWxlY3Rvcjo6Y29udmVydFRvTGVu
Z3RoKENTU1ByaW1pdGl2ZVZhbHVlKiBwcmltaXRpdmVWYWx1ZSwgUmVuZGVyU3R5bGUqIHN0eWxl
LCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciwgYm9vbCAqb2spCiB7
CiAgICAgLy8gVGhpcyBmdW5jdGlvbiBpcyB0b2xlcmFudCBvZiBhIG51bGwgc3R5bGUgdmFsdWUu
IFRoZSBvbmx5IHBsYWNlIHN0eWxlIGlzIHVzZWQgaXMgaW4KICAgICAvLyBsZW5ndGggbWVhc3Vy
ZW1lbnRzLCBsaWtlICdlbXMnIGFuZCAncHgnLiBBbmQgaW4gdGhvc2UgY2FzZXMgc3R5bGUgaXMg
b25seSB1c2VkCkBAIC0zNzQ1LDcgKzM3NDcsMTUgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjph
cHBseVByb3BlcnR5KGludCBpZCwgQ1NTVmFsdWUgKnZhbHVlKQogICAgICAgICAgICAgSEFORExF
X0lOSVRJQUxfQ09ORF9XSVRIX1ZBTFVFKENTU1Byb3BlcnR5TWFyZ2luTGVmdCwgTWFyZ2luTGVm
dCwgTWFyZ2luKQogICAgICAgICAgICAgSEFORExFX0lOSVRJQUxfQ09ORChDU1NQcm9wZXJ0eVRl
eHRJbmRlbnQsIFRleHRJbmRlbnQpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0gCisg
ICAgICAgIH0KKyAgICAgICAgaWYgKHZhbHVlLT5pc0NhbGNWYWx1ZSgpKSB7CisgICAgICAgICAg
ICBDU1NDYWxjVmFsdWUqIGNzc0NhbGNWYWx1ZSA9IHN0YXRpY19jYXN0PENTU0NhbGNWYWx1ZSo+
KHZhbHVlKTsKKyAgICAgICAgICAgIE93blB0cjxDYWxjVmFsdWU+IGNhbGNWYWx1ZSA9IGNzc0Nh
bGNWYWx1ZS0+dG9DYWxjVmFsdWUobV9zdHlsZS5nZXQoKSwgbV9yb290RWxlbWVudFN0eWxlKTsK
KyAgICAgICAgICAgIGlmIChjYWxjVmFsdWUuZ2V0KCkpIHsKKyAgICAgICAgICAgICAgICBsID0g
TGVuZ3RoKGNhbGNWYWx1ZS5yZWxlYXNlKCkpOworICAgICAgICAgICAgICAgIGFwcGx5ID0gdHJ1
ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQogCiAgICAgICAgIGlmIChwcmltaXRpdmVWYWx1
ZSAmJiAhYXBwbHkpIHsKICAgICAgICAgICAgIGludCB0eXBlID0gcHJpbWl0aXZlVmFsdWUtPnBy
aW1pdGl2ZVR5cGUoKTsKQEAgLTM4NDcsNiArMzg1NywxNCBAQCB2b2lkIENTU1N0eWxlU2VsZWN0
b3I6OmFwcGx5UHJvcGVydHkoaW50IGlkLCBDU1NWYWx1ZSAqdmFsdWUpCiAgICAgICAgICAgICBI
QU5ETEVfSU5JVElBTF9DT05EX1dJVEhfVkFMVUUoQ1NTUHJvcGVydHlNaW5IZWlnaHQsIE1pbkhl
aWdodCwgTWluU2l6ZSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQorICAgICAgICBp
ZiAodmFsdWUtPmlzQ2FsY1ZhbHVlKCkpIHsKKyAgICAgICAgICAgIENTU0NhbGNWYWx1ZSogY3Nz
Q2FsY1ZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTQ2FsY1ZhbHVlKj4odmFsdWUpOworICAgICAgICAg
ICAgT3duUHRyPENhbGNWYWx1ZT4gY2FsY1ZhbHVlID0gY3NzQ2FsY1ZhbHVlLT50b0NhbGNWYWx1
ZShtX3N0eWxlLmdldCgpLCBtX3Jvb3RFbGVtZW50U3R5bGUpOworICAgICAgICAgICAgaWYgKGNh
bGNWYWx1ZS5nZXQoKSkgeworICAgICAgICAgICAgICAgIGwgPSBMZW5ndGgoY2FsY1ZhbHVlLnJl
bGVhc2UoKSk7CisgICAgICAgICAgICAgICAgYXBwbHkgPSB0cnVlOworICAgICAgICAgICAgfQor
ICAgICAgICB9CiAKICAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlICYmICFhcHBseSkgewogICAg
ICAgICAgICAgdW5zaWduZWQgc2hvcnQgdHlwZSA9IHByaW1pdGl2ZVZhbHVlLT5wcmltaXRpdmVU
eXBlKCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmggYi9XZWJD
b3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKaW5kZXggYWFjMWJhZS4uZTVjZGNhNCAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCisrKyBiL1dlYkNvcmUvY3NzL0NT
U1N0eWxlU2VsZWN0b3IuaApAQCAtMjEyLDYgKzIxMiw4IEBAIHB1YmxpYzoKICAgICAgICAgICAg
IG11dGFibGUgSGFzaFNldDxMaW5rSGFzaCwgTGlua0hhc2hIYXNoPiBtX2xpbmtzQ2hlY2tlZEZv
clZpc2l0ZWRTdGF0ZTsKICAgICAgICAgfTsKIAorICAgICAgICBzdGF0aWMgTGVuZ3RoIGNvbnZl
cnRUb0xlbmd0aChDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUsIFJlbmRlclN0eWxl
KiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIG11bHRpcGxpZXIgPSAxLCBi
b29sICpvayA9IDApOworCiAgICAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljIFJlbmRlclN0eWxl
KiBzX3N0eWxlTm90WWV0QXZhaWxhYmxlOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NW
YWx1ZS5oIGIvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAppbmRleCAwYmQ2NDk2Li40YzdjZTFmIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCisrKyBiL1dlYkNvcmUvY3NzL0NTU1Zh
bHVlLmgKQEAgLTYxLDYgKzYxLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1RpbWlu
Z0Z1bmN0aW9uVmFsdWUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9v
bCBpc1ZhbHVlTGlzdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29s
IGlzV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAg
IHZpcnR1YWwgYm9vbCBpc0NhbGNWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKICNp
ZiBFTkFCTEUoU1ZHKQogICAgIHZpcnR1YWwgYm9vbCBpc1NWR0NvbG9yKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL3Rva2VuaXplci5mbGV4IGIvV2Vi
Q29yZS9jc3MvdG9rZW5pemVyLmZsZXgKaW5kZXggMTU2OWVlMi4uYWU4ZWY5OSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9jc3MvdG9rZW5pemVyLmZsZXgKKysrIGIvV2ViQ29yZS9jc3MvdG9rZW5pemVy
LmZsZXgKQEAgLTExLDExICsxMSwxMyBAQCB1bmljb2RlICAgICAgICAgXFx7aH17MSw2fVsgXHRc
clxuXGZdPwogZXNjYXBlICAgICAgICAgIHt1bmljb2RlfXxcXFsgLX5cMjAwLVwzNzddCiBubXN0
YXJ0ICAgICAgICAgW19hLXpBLVpdfHtub25hc2NpaX18e2VzY2FwZX0KIG5tY2hhciAgICAgICAg
ICBbX2EtekEtWjAtOS1dfHtub25hc2NpaX18e2VzY2FwZX0KK2RpbWNoYXIgICAgICAgICBbX2Et
ekEtWjAtOV18e25vbmFzY2lpfXx7ZXNjYXBlfQogc3RyaW5nMSAgICAgICAgIFwiKFtcdCAhIyQl
Jigtfl18XFx7bmx9fFwnfHtub25hc2NpaX18e2VzY2FwZX0pKlwiCiBzdHJpbmcyICAgICAgICAg
XCcoW1x0ICEjJCUmKC1+XXxcXHtubH18XCJ8e25vbmFzY2lpfXx7ZXNjYXBlfSkqXCcKIGhleGNv
bG9yICAgICAgICB7aH17M318e2h9ezZ9CiAKIGlkZW50ICAgICAgICAgICAtP3tubXN0YXJ0fXtu
bWNoYXJ9KgorZGltaWRlbnQgICAgICAgIHtubXN0YXJ0fXtkaW1jaGFyfSoKIG5hbWUgICAgICAg
ICAgICB7bm1jaGFyfSsKIG51bSAgICAgICAgICAgICBbMC05XSt8WzAtOV0qIi4iWzAtOV0rCiBp
bnRudW0gICAgICAgICAgWzAtOV0rCkBAIC05MCw3ICs5Miw3IEBAIG50aCAgICAgICAgICAgICAo
LT9bMC05XSpuW1wrLV1bMC05XSspfCgtP1swLTldKm4pCiB7bnVtfXMgICAgICAgICAgICAgICAg
ICB7eXlUb2sgPSBTRUNTOyByZXR1cm4geXlUb2s7fQoge251bX1IeiAgICAgICAgICAgICAgICAg
e3l5VG9rID0gSEVSWjsgcmV0dXJuIHl5VG9rO30KIHtudW19a0h6ICAgICAgICAgICAgICAgIHt5
eVRvayA9IEtIRVJaOyByZXR1cm4geXlUb2s7fQote251bX17aWRlbnR9ICAgICAgICAgICAge3l5
VG9rID0gRElNRU47IHJldHVybiB5eVRvazt9Cit7bnVtfXtkaW1pZGVudH0gICAgICAgICB7eXlU
b2sgPSBESU1FTjsgcmV0dXJuIHl5VG9rO30KIHtudW19JSsgICAgICAgICAgICAgICAgIHt5eVRv
ayA9IFBFUkNFTlRBR0U7IHJldHVybiB5eVRvazt9CiB7aW50bnVtfSAgICAgICAgICAgICAgICB7
eXlUb2sgPSBJTlRFR0VSOyByZXR1cm4geXlUb2s7fQoge251bX0gICAgICAgICAgICAgICAgICAg
e3l5VG9rID0gRkxPQVRUT0tFTjsgcmV0dXJuIHl5VG9rO30KQEAgLTk5LDYgKzEwMSw3IEBAIG50
aCAgICAgICAgICAgICAoLT9bMC05XSpuW1wrLV1bMC05XSspfCgtP1swLTldKm4pCiAidXJsKCJ7
d317c3RyaW5nfXt3fSIpIiB7eXlUb2sgPSBVUkk7IHJldHVybiB5eVRvazt9CiAidXJsKCJ7d317
dXJsfXt3fSIpIiAgICB7eXlUb2sgPSBVUkk7IHJldHVybiB5eVRvazt9CiAiLXdlYmtpdC12YXIo
Int3fXtpZGVudH17d30iKSIgeyB5eVRvayA9IFZBUkNBTEw7IHJldHVybiB5eVRvazsgfQorIi13
ZWJraXQtY2FsYygiICAgICAgICAge3l5VG9rID0gQ0FMQ0ZVTkNUSU9OOyByZXR1cm4geXlUb2s7
IH0KIHtpZGVudH0iKCIgICAgICAgICAgICAgIHt5eVRvayA9IEZVTkNUSU9OOyByZXR1cm4geXlU
b2s7fQogCiBVXCt7cmFuZ2V9ICAgICAgICAgICAgICB7eXlUb2sgPSBVTklDT0RFUkFOR0U7IHJl
dHVybiB5eVRvazt9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5jcHAg
Yi9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uODRhYWNmYgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Q2FsY1ZhbHVlLmNwcApAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAq
IE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAq
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkNhbGNWYWx1ZS5oIgorCisjaW5jbHVkZSA8bGltaXRzLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlOjpDYWxjQmluYXJ5T3BlcmF0aW9uVmFs
dWUoQ2FsY1ZhbHVlKiBsZWZ0U2lkZSwgQ2FsY1ZhbHVlKiByaWdodFNpZGUsIGNoYXIgb3ApCisg
ICAgOiBtX2xlZnRTaWRlKGxlZnRTaWRlKQorICAgICwgbV9yaWdodFNpZGUocmlnaHRTaWRlKQor
ICAgICwgbV9vcGVyYXRvcihvcCkKK3sKKyAgICBBU1NFUlQob3AgPT0gJysnIHx8IG9wID09ICct
JyB8fCBvcCA9PSAnKicgfHwgb3AgPT0gJy8nIHx8IG9wID09ICclJyk7Cit9CisKK2Zsb2F0IENh
bGNCaW5hcnlPcGVyYXRpb25WYWx1ZTo6ZXZhbHVhdGUoZmxvYXQgbWF4VmFsdWUpIGNvbnN0Cit7
CisgICAgZmxvYXQgbGVmdCA9IG1fbGVmdFNpZGUtPmV2YWx1YXRlKG1heFZhbHVlKTsKKyAgICBm
bG9hdCByaWdodCA9IG1fcmlnaHRTaWRlLT5ldmFsdWF0ZShtYXhWYWx1ZSk7CisgICAgc3dpdGNo
IChtX29wZXJhdG9yKSB7CisgICAgY2FzZSAnKyc6CisgICAgICAgIHJldHVybiBsZWZ0ICsgcmln
aHQ7CisgICAgY2FzZSAnLSc6CisgICAgICAgIHJldHVybiBsZWZ0IC0gcmlnaHQ7CisgICAgY2Fz
ZSAnKic6CisgICAgICAgIHJldHVybiBsZWZ0ICogcmlnaHQ7CisgICAgY2FzZSAnLyc6CisgICAg
ICAgIGlmICghcmlnaHQpCisgICAgICAgICAgICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxm
bG9hdD46OnF1aWV0X05hTigpOworICAgICAgICByZXR1cm4gbGVmdCAvIHJpZ2h0OworICAgIGNh
c2UgJyUnOgorICAgICAgICBpZiAoIXJpZ2h0KQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVt
ZXJpY19saW1pdHM8ZmxvYXQ+OjpxdWlldF9OYU4oKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PGludD4obGVmdCkgJSBzdGF0aWNfY2FzdDxpbnQ+KHJpZ2h0KTsKKyAgICBkZWZhdWx0Ogor
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVtZXJp
Y19saW1pdHM8ZmxvYXQ+OjpxdWlldF9OYU4oKTsKKyAgICB9Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmggYi9XZWJD
b3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmZlNzBjNzcKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1
ZS5oCkBAIC0wLDAgKzEsOTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIENhbGNWYWx1ZV9oCisjZGVmaW5lIENhbGNWYWx1
ZV9oCisKKyNpbmNsdWRlICJMZW5ndGguaCIKKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ2FsY1ZhbHVlIHsKK3B1YmxpYzoKKyAgICB2aXJ0
dWFsIH5DYWxjVmFsdWUoKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGZsb2F0IGV2YWx1
YXRlKGZsb2F0IG1heFZhbHVlKSBjb25zdCA9IDA7Cit9OworCitjbGFzcyBDYWxjTnVtYmVyVmFs
dWUgOiBwdWJsaWMgQ2FsY1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBDYWxjTnVtYmVy
VmFsdWUoZmxvYXQgdmFsdWUpCisgICAgICAgIDogbV92YWx1ZSh2YWx1ZSkKKyAgICB7CisgICAg
fQorCisgICAgdmlydHVhbCBmbG9hdCBldmFsdWF0ZShmbG9hdCkgY29uc3QKKyAgICB7CisgICAg
ICAgIHJldHVybiBtX3ZhbHVlOworICAgIH0KKworcHJpdmF0ZToKKyAgICBmbG9hdCBtX3ZhbHVl
OworfTsKKworY2xhc3MgQ2FsY0xlbmd0aFZhbHVlIDogcHVibGljIENhbGNWYWx1ZSB7CitwdWJs
aWM6CisgICAgZXhwbGljaXQgQ2FsY0xlbmd0aFZhbHVlKExlbmd0aCBsZW5ndGgpCisgICAgICAg
IDogbV9sZW5ndGgobGVuZ3RoKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGZsb2F0IGV2
YWx1YXRlKGZsb2F0IG1heFZhbHVlKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fbGVu
Z3RoLmNhbGNWYWx1ZShtYXhWYWx1ZSk7CisgICAgfQorCitwcml2YXRlOgorICAgIExlbmd0aCBt
X2xlbmd0aDsKK307CisKK2NsYXNzIENhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZSA6IHB1YmxpYyBD
YWxjVmFsdWUgeworcHVibGljOgorICAgIENhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZShDYWxjVmFs
dWUqIGxlZnRTaWRlLCBDYWxjVmFsdWUqIHJpZ2h0U2lkZSwgY2hhciBvcCk7CisKKyAgICB2aXJ0
dWFsIGZsb2F0IGV2YWx1YXRlKGZsb2F0IG1heFZhbHVlKSBjb25zdDsKKworcHJpdmF0ZToKKyAg
ICBPd25QdHI8Q2FsY1ZhbHVlPiBtX2xlZnRTaWRlOworICAgIE93blB0cjxDYWxjVmFsdWU+IG1f
cmlnaHRTaWRlOworICAgIGNoYXIgbV9vcGVyYXRvcjsKK307CisKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gQ2FsY1ZhbHVlX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vTGVuZ3RoLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmNwcAppbmRleCAzNzU3
ZDkyLi5lZWQ3MmQ2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5jcHAKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguY3BwCkBAIC0yNSwxMCArMjUsMTMgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJMZW5ndGguaCIKIAorI2luY2x1ZGUgIkNhbGNWYWx1
ZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiU3RyaW5nQnVmZmVy
LmgiCisjaW5jbHVkZSA8bWF0aC5oPgogI2luY2x1ZGUgPHd0Zi9BU0NJSUNUeXBlLmg+CiAjaW5j
bHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogCiB1c2lu
ZyBuYW1lc3BhY2UgV1RGOwogCkBAIC0xNDgsNCArMTUxLDEzMiBAQCBMZW5ndGgqIG5ld0xlbmd0
aEFycmF5KGNvbnN0IFN0cmluZyYgc3RyaW5nLCBpbnQmIGxlbikKICAgICByZXR1cm4gcjsKIH0K
IAorY2xhc3MgQ2FsY3VsYXRlZExlbmd0aCB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgQ2FsY3Vs
YXRlZExlbmd0aChQYXNzT3duUHRyPENhbGNWYWx1ZT4gY2FsYykKKyAgICAgICAgOiBtX2NhbGMo
Y2FsYykKKyAgICAgICAgLCBtX3JlZkNvdW50KDEpCisgICAgeworICAgIH0KKworICAgIGZsb2F0
IGV2YWx1YXRlKGZsb2F0IG1heFZhbHVlKSBjb25zdAorICAgIHsKKyAgICAgICAgZmxvYXQgcmVz
dWx0ID0gbV9jYWxjLT5ldmFsdWF0ZShtYXhWYWx1ZSk7CisgICAgICAgIC8vIEZJWE1FOiByZXN1
bHQgaXMgTmFOIHdoZW4gdGhlcmUgaXMgYSBkaXZpc2lvbiBieSB6ZXJvIHdoaWNoCisgICAgICAg
IC8vICAgICAgICBpc24ndCBmb3VuZCBhdCBwYXJzZSB0aW1lIChlLmcuLCA1LygxMDAlLTIwMHB4
KSoxMDBweCkuCisgICAgICAgIC8vICAgICAgICBUaGVyZSBpcyBhIGRpc2N1c3Npb24gYWJvdXQg
dGhpcyBhbmQgaG9wZWZ1bGx5IHNwZWMKKyAgICAgICAgLy8gICAgICAgIHdpbGwgaGF2ZSB0aGUg
ZGVjaXNpb24gZm9yIHRoaXMgaXNzdWUuCisgICAgICAgIC8vICAgICAgICBodHRwOi8vbGlzdHMu
dzMub3JnL0FyY2hpdmVzL1B1YmxpYy93d3ctc3R5bGUvMjAxMEphbi8wMDA3Lmh0bWwKKyAgICAg
ICAgaWYgKGlzbmFuKHJlc3VsdCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0
dXJuIHJlc3VsdDsKKyAgICB9CisKKyAgICBpbnQgcmVmQ291bnQoKSBjb25zdCB7IHJldHVybiBt
X3JlZkNvdW50OyB9CisgICAgaW50IGluY3JlbWVudFJlZkNvdW50KCkgeyByZXR1cm4gKyttX3Jl
ZkNvdW50OyB9CisgICAgaW50IGRlY3JlbWVudFJlZkNvdW50KCkgeyByZXR1cm4gLS1tX3JlZkNv
dW50OyB9CisKK3ByaXZhdGU6CisgICAgT3duUHRyPENhbGNWYWx1ZT4gbV9jYWxjOworICAgIGlu
dCBtX3JlZkNvdW50OworfTsKKworLy8gQXMgTGVuZ3RoIG9ubHkgaGFzIDMyYml0LCB3ZSBjYW5u
b3QgaGF2ZSB0aGUgZGF0YSBmb3IgY2FsYygpIGluIHRoZQorLy8gTGVuZ3RoIG9iamVjdC4gU28s
IHdlIGdpdmUgc2VyaWFsIElEcywgd2hlcmUgMCA8IElEIDwgMHgwZmZmZmZmZiwKKy8vIGZvciBl
YWNoIGRhdGEgYW5kIGFjY2VzcyB0aGUgZGF0YSB1c2luZyB0aGlzIElELgordHlwZWRlZiBIYXNo
TWFwPGludCwgQ2FsY3VsYXRlZExlbmd0aCo+IENhbGN1bGF0ZWRMZW5ndGhNYXA7CitzdGF0aWMg
Q2FsY3VsYXRlZExlbmd0aE1hcCogZ0NhbGN1bGF0ZWRMZW5ndGhNYXAgPSAwOworCitzdGF0aWMg
Q2FsY3VsYXRlZExlbmd0aE1hcCogY2FsY3VsYXRlZExlbmd0aE1hcCgpCit7CisgICAgaWYgKCFn
Q2FsY3VsYXRlZExlbmd0aE1hcCkKKyAgICAgICAgZ0NhbGN1bGF0ZWRMZW5ndGhNYXAgPSBuZXcg
Q2FsY3VsYXRlZExlbmd0aE1hcDsKKyAgICByZXR1cm4gZ0NhbGN1bGF0ZWRMZW5ndGhNYXA7Cit9
CisKK3N0YXRpYyBpbnQgZ0NhbGN1bGF0ZWRMZW5ndGhJZCA9IDA7CisKK0xlbmd0aDo6TGVuZ3Ro
KFBhc3NPd25QdHI8Q2FsY1ZhbHVlPiBjYWxjKQoreworICAgIC8vIFNraXAgZ0NhbGN1bGF0ZWRM
ZW5ndGhJZCA9PSAwIGFzIHplcm8ga2V5IGhpdHMgdGhlIGFzc2VydGlvbiBvZiBIYXNoTWFwLgor
ICAgIHdoaWxlICghZ0NhbGN1bGF0ZWRMZW5ndGhJZCB8fCBjYWxjdWxhdGVkTGVuZ3RoTWFwKCkt
PmNvbnRhaW5zKGdDYWxjdWxhdGVkTGVuZ3RoSWQpKQorICAgICAgICBnQ2FsY3VsYXRlZExlbmd0
aElkID0gKGdDYWxjdWxhdGVkTGVuZ3RoSWQgKyAxKSAmIDB4MGZmZmZmZmY7CisgICAgbV92YWx1
ZSA9IGdDYWxjdWxhdGVkTGVuZ3RoSWQgKiAxNiB8IENhbGN1bGF0ZWQ7CisgICAgZ0NhbGN1bGF0
ZWRMZW5ndGhJZCA9IChnQ2FsY3VsYXRlZExlbmd0aElkICsgMSkgJiAweDBmZmZmZmZmOworCisg
ICAgQ2FsY3VsYXRlZExlbmd0aCogY2FsY0xlbmd0aCA9IG5ldyBDYWxjdWxhdGVkTGVuZ3RoKGNh
bGMpOworICAgIGNhbGN1bGF0ZWRMZW5ndGhNYXAoKS0+c2V0KGNhbGN1bGF0ZWRMZW5ndGhJZCgp
LCBjYWxjTGVuZ3RoKTsKK30KKworLy8gRklYTUU6IEl0J3MgaW1wb3NzaWJsZSB0byBrbm93IHRo
ZSBzaWduIG9mIGNhbGMgdmFsdWVzIHdpdGhvdXQKKy8vICAgICAgICBtYXggdmFsdWUgaWYgdGhl
IGNhbGMgZm9ybXVsYSBjb250YWlucyBwZXJjZW50YW5nZXMuCisvLyAgICAgICAgV2UgYXNzdW1l
IGFsbCBjYWxjIHZhbHVlcyBhcmUgcG9zaXRpdmUgZm9yIG5vdy4KKworYm9vbCBMZW5ndGg6OmNh
bGN1bGF0ZWRJc1plcm8oKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBM
ZW5ndGg6OmNhbGN1bGF0ZWRJc1Bvc2l0aXZlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKworYm9vbCBMZW5ndGg6OmNhbGN1bGF0ZWRJc05lZ2F0aXZlKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKK2ludCBMZW5ndGg6OmNhbGN1bGF0ZWRDYWxjVmFsdWUoaW50IG1h
eFZhbHVlLCBib29sIC8qIHJvdW5kUGVyY2VudGFnZXMgKi8pIGNvbnN0Cit7CisgICAgQVNTRVJU
KGlzQ2FsY3VsYXRlZCgpKTsKKyAgICBBU1NFUlQoY2FsY3VsYXRlZExlbmd0aE1hcCgpLT5jb250
YWlucyhjYWxjdWxhdGVkTGVuZ3RoSWQoKSkpOworICAgIGNvbnN0IENhbGN1bGF0ZWRMZW5ndGgq
IGNhbGNMZW5ndGggPSBjYWxjdWxhdGVkTGVuZ3RoTWFwKCktPmdldChjYWxjdWxhdGVkTGVuZ3Ro
SWQoKSk7CisgICAgZmxvYXQgcmVzdWx0ID0gY2FsY0xlbmd0aC0+ZXZhbHVhdGUobWF4VmFsdWUp
OworICAgIGlmIChpc25hbihyZXN1bHQpKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorCitpbnQgTGVuZ3RoOjpjYWxjdWxhdGVkQ2FsY01pblZhbHVlKGludCBtYXhW
YWx1ZSwgYm9vbCAvKiByb3VuZFBlcmNlbnRhZ2VzICovKSBjb25zdAoreworICAgIEFTU0VSVChp
c0NhbGN1bGF0ZWQoKSk7CisgICAgQVNTRVJUKGNhbGN1bGF0ZWRMZW5ndGhNYXAoKS0+Y29udGFp
bnMoY2FsY3VsYXRlZExlbmd0aElkKCkpKTsKKyAgICBjb25zdCBDYWxjdWxhdGVkTGVuZ3RoKiBj
YWxjTGVuZ3RoID0gY2FsY3VsYXRlZExlbmd0aE1hcCgpLT5nZXQoY2FsY3VsYXRlZExlbmd0aElk
KCkpOworICAgIGZsb2F0IHJlc3VsdCA9IGNhbGNMZW5ndGgtPmV2YWx1YXRlKG1heFZhbHVlKTsK
KyAgICBpZiAoaXNuYW4ocmVzdWx0KSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KKworZmxvYXQgTGVuZ3RoOjpjYWxjdWxhdGVkQ2FsY0Zsb2F0VmFsdWUoaW50IG1h
eFZhbHVlKSBjb25zdAoreworICAgIEFTU0VSVChpc0NhbGN1bGF0ZWQoKSk7CisgICAgQVNTRVJU
KGNhbGN1bGF0ZWRMZW5ndGhNYXAoKS0+Y29udGFpbnMoY2FsY3VsYXRlZExlbmd0aElkKCkpKTsK
KyAgICBjb25zdCBDYWxjdWxhdGVkTGVuZ3RoKiBjYWxjTGVuZ3RoID0gY2FsY3VsYXRlZExlbmd0
aE1hcCgpLT5nZXQoY2FsY3VsYXRlZExlbmd0aElkKCkpOworICAgIGZsb2F0IHJlc3VsdCA9IGNh
bGNMZW5ndGgtPmV2YWx1YXRlKG1heFZhbHVlKTsKKyAgICBpZiAoaXNuYW4ocmVzdWx0KSkKKyAg
ICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordm9pZCBMZW5ndGg6Omlu
Y3JlbWVudENhbGN1bGF0ZWRSZWYoKSBjb25zdAoreworICAgIEFTU0VSVChpc0NhbGN1bGF0ZWQo
KSk7CisgICAgQVNTRVJUKGNhbGN1bGF0ZWRMZW5ndGhNYXAoKS0+Y29udGFpbnMoY2FsY3VsYXRl
ZExlbmd0aElkKCkpKTsKKyAgICBDYWxjdWxhdGVkTGVuZ3RoKiBjYWxjTGVuZ3RoID0gY2FsY3Vs
YXRlZExlbmd0aE1hcCgpLT5nZXQoY2FsY3VsYXRlZExlbmd0aElkKCkpOworICAgIGNhbGNMZW5n
dGgtPmluY3JlbWVudFJlZkNvdW50KCk7Cit9CisKK3ZvaWQgTGVuZ3RoOjpkZWNyZW1lbnRDYWxj
dWxhdGVkUmVmKCkgY29uc3QKK3sKKyAgICBBU1NFUlQoaXNDYWxjdWxhdGVkKCkpOworICAgIEFT
U0VSVChjYWxjdWxhdGVkTGVuZ3RoTWFwKCktPmNvbnRhaW5zKGNhbGN1bGF0ZWRMZW5ndGhJZCgp
KSk7CisgICAgQ2FsY3VsYXRlZExlbmd0aCogY2FsY0xlbmd0aCA9IGNhbGN1bGF0ZWRMZW5ndGhN
YXAoKS0+Z2V0KGNhbGN1bGF0ZWRMZW5ndGhJZCgpKTsKKyAgICBpZiAoIWNhbGNMZW5ndGgtPmRl
Y3JlbWVudFJlZkNvdW50KCkpIHsKKyAgICAgICAgZGVsZXRlIGNhbGNMZW5ndGg7CisgICAgICAg
IGNhbGN1bGF0ZWRMZW5ndGhNYXAoKS0+cmVtb3ZlKGNhbGN1bGF0ZWRMZW5ndGhJZCgpKTsKKyAg
ICB9Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxh
dGZvcm0vTGVuZ3RoLmggYi9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCmluZGV4IDRmMzY1Nzcu
LjkwODMxMDAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9MZW5ndGguaApAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgPHd0Zi9B
c3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3
dGYvTWF0aEV4dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtMzIsNyArMzMsOSBAQCBjbGFzcyBTdHJpbmc7CiBjb25zdCBpbnQg
dW5kZWZpbmVkTGVuZ3RoID0gLTE7CiBjb25zdCBpbnQgcGVyY2VudFNjYWxlRmFjdG9yID0gMTI4
OwogCi1lbnVtIExlbmd0aFR5cGUgeyBBdXRvLCBSZWxhdGl2ZSwgUGVyY2VudCwgRml4ZWQsIFN0
YXRpYywgSW50cmluc2ljLCBNaW5JbnRyaW5zaWMgfTsKK2VudW0gTGVuZ3RoVHlwZSB7IEF1dG8s
IFJlbGF0aXZlLCBQZXJjZW50LCBGaXhlZCwgU3RhdGljLCBJbnRyaW5zaWMsIE1pbkludHJpbnNp
YywgQ2FsY3VsYXRlZCB9OworCitjbGFzcyBDYWxjVmFsdWU7CiAKIHN0cnVjdCBMZW5ndGggOiBG
YXN0QWxsb2NCYXNlIHsKICAgICBMZW5ndGgoKQpAQCAtNTcsMTUgKzYwLDQ1IEBAIHN0cnVjdCBM
ZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKICAgICAgICAgQVNTRVJUKHQgPT0gUGVyY2VudCk7CiAg
ICAgfQogCisgICAgZXhwbGljaXQgTGVuZ3RoKFBhc3NPd25QdHI8Q2FsY1ZhbHVlPiBjYWxjKTsK
KworICAgIExlbmd0aChjb25zdCBMZW5ndGgmIGxlbmd0aCkKKyAgICAgICAgOiBtX3ZhbHVlKGxl
bmd0aC5tX3ZhbHVlKQorICAgIHsKKyAgICAgICAgaWYgKGlzQ2FsY3VsYXRlZCgpKQorICAgICAg
ICAgICAgaW5jcmVtZW50Q2FsY3VsYXRlZFJlZigpOworICAgIH0KKworICAgIExlbmd0aCYgb3Bl
cmF0b3I9KGNvbnN0IExlbmd0aCYgbGVuZ3RoKQorICAgIHsKKyAgICAgICAgbV92YWx1ZSA9IGxl
bmd0aC5tX3ZhbHVlOworICAgICAgICBpZiAoaXNDYWxjdWxhdGVkKCkpCisgICAgICAgICAgICBp
bmNyZW1lbnRDYWxjdWxhdGVkUmVmKCk7CisgICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisK
KyAgICB+TGVuZ3RoKCkKKyAgICB7CisgICAgICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAg
ICAgICAgIGRlY3JlbWVudENhbGN1bGF0ZWRSZWYoKTsKKyAgICB9CisKICAgICBib29sIG9wZXJh
dG9yPT0oY29uc3QgTGVuZ3RoJiBvKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlID09IG8ubV92YWx1
ZTsgfQogICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBMZW5ndGgmIG8pIGNvbnN0IHsgcmV0dXJu
IG1fdmFsdWUgIT0gby5tX3ZhbHVlOyB9CiAKICAgICBpbnQgdmFsdWUoKSBjb25zdCB7CiAgICAg
ICAgIEFTU0VSVCh0eXBlKCkgIT0gUGVyY2VudCk7CisgICAgICAgIGlmIChpc0NhbGN1bGF0ZWQo
KSkKKyAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRMZW5ndGg7CiAgICAgICAgIHJldHVybiBy
YXdWYWx1ZSgpOwogICAgIH0KIAotICAgIGludCByYXdWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuICht
X3ZhbHVlICYgfjB4RikgLyAxNjsgfQorICAgIGludCByYXdWYWx1ZSgpIGNvbnN0CisgICAgewor
ICAgICAgICBpZiAoaXNDYWxjdWxhdGVkKCkpCisgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVk
TGVuZ3RoOworICAgICAgICByZXR1cm4gKG1fdmFsdWUgJiB+MHhGKSAvIDE2OworICAgIH0KIAog
ICAgIGRvdWJsZSBwZXJjZW50KCkgY29uc3QKICAgICB7CkBAIC03OCwxOSArMTExLDMxIEBAIHN0
cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKIAogICAgIHZvaWQgc2V0VmFsdWUoTGVuZ3Ro
VHlwZSB0LCBpbnQgdmFsdWUpCiAgICAgewotICAgICAgICBBU1NFUlQodCAhPSBQZXJjZW50KTsK
KyAgICAgICAgQVNTRVJUKHQgIT0gUGVyY2VudCAmJiB0ICE9IENhbGN1bGF0ZWQpOwogICAgICAg
ICBzZXRSYXdWYWx1ZSh0LCB2YWx1ZSk7CiAgICAgfQogCi0gICAgdm9pZCBzZXRSYXdWYWx1ZShM
ZW5ndGhUeXBlIHQsIGludCB2YWx1ZSkgeyBtX3ZhbHVlID0gdmFsdWUgKiAxNiB8IChtX3ZhbHVl
ICYgMHg4KSB8IHQ7IH0KKyAgICB2b2lkIHNldFJhd1ZhbHVlKExlbmd0aFR5cGUgdCwgaW50IHZh
bHVlKQorICAgIHsKKyAgICAgICAgaWYgKGlzQ2FsY3VsYXRlZCgpKQorICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICBtX3ZhbHVlID0gdmFsdWUgKiAxNiB8IChtX3ZhbHVlICYgMHg4KSB8IHQ7
CisgICAgfQogCiAgICAgdm9pZCBzZXRWYWx1ZShpbnQgdmFsdWUpCiAgICAgewogICAgICAgICBB
U1NFUlQoIXZhbHVlIHx8IHR5cGUoKSAhPSBQZXJjZW50KTsKKyAgICAgICAgaWYgKGlzQ2FsY3Vs
YXRlZCgpKQorICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBzZXRSYXdWYWx1ZSh2YWx1ZSk7
CiAgICAgfQogCi0gICAgdm9pZCBzZXRSYXdWYWx1ZShpbnQgdmFsdWUpIHsgbV92YWx1ZSA9IHZh
bHVlICogMTYgfCAobV92YWx1ZSAmIDB4Rik7IH0KKyAgICB2b2lkIHNldFJhd1ZhbHVlKGludCB2
YWx1ZSkKKyAgICB7CisgICAgICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgbV92YWx1ZSA9IHZhbHVlICogMTYgfCAobV92YWx1ZSAmIDB4Rik7Cisg
ICAgfQogCiAgICAgdm9pZCBzZXRWYWx1ZShMZW5ndGhUeXBlIHQsIGRvdWJsZSB2YWx1ZSkKICAg
ICB7CkBAIC0xMTAsNiArMTU1LDggQEAgc3RydWN0IExlbmd0aCA6IEZhc3RBbGxvY0Jhc2Ugewog
ICAgICAgICBzd2l0Y2ggKHR5cGUoKSkgewogICAgICAgICAgICAgY2FzZSBGaXhlZDoKICAgICAg
ICAgICAgICAgICByZXR1cm4gdmFsdWUoKTsKKyAgICAgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoK
KyAgICAgICAgICAgICAgICByZXR1cm4gY2FsY3VsYXRlZENhbGNWYWx1ZShtYXhWYWx1ZSwgcm91
bmRQZXJjZW50YWdlcyk7CiAgICAgICAgICAgICBjYXNlIFBlcmNlbnQ6CiAgICAgICAgICAgICAg
ICAgaWYgKHJvdW5kUGVyY2VudGFnZXMpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdGF0
aWNfY2FzdDxpbnQ+KHJvdW5kKG1heFZhbHVlICogcGVyY2VudCgpIC8gMTAwLjApKTsKQEAgLTEy
Niw2ICsxNzMsOCBAQCBzdHJ1Y3QgTGVuZ3RoIDogRmFzdEFsbG9jQmFzZSB7CiAgICAgICAgIHN3
aXRjaCAodHlwZSgpKSB7CiAgICAgICAgICAgICBjYXNlIEZpeGVkOgogICAgICAgICAgICAgICAg
IHJldHVybiB2YWx1ZSgpOworICAgICAgICAgICAgY2FzZSBDYWxjdWxhdGVkOgorICAgICAgICAg
ICAgICAgIHJldHVybiBjYWxjdWxhdGVkQ2FsY01pblZhbHVlKG1heFZhbHVlLCByb3VuZFBlcmNl
bnRhZ2VzKTsKICAgICAgICAgICAgIGNhc2UgUGVyY2VudDoKICAgICAgICAgICAgICAgICBpZiAo
cm91bmRQZXJjZW50YWdlcykKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PGludD4ocm91bmQobWF4VmFsdWUgKiBwZXJjZW50KCkgLyAxMDAuMCkpOwpAQCAtMTQxLDYgKzE5
MCw4IEBAIHN0cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKICAgICAgICAgc3dpdGNoICh0
eXBlKCkpIHsKICAgICAgICAgICAgIGNhc2UgRml4ZWQ6CiAgICAgICAgICAgICAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PGZsb2F0Pih2YWx1ZSgpKTsKKyAgICAgICAgICAgIGNhc2UgQ2FsY3VsYXRl
ZDoKKyAgICAgICAgICAgICAgICByZXR1cm4gY2FsY3VsYXRlZENhbGNGbG9hdFZhbHVlKG1heFZh
bHVlKTsKICAgICAgICAgICAgIGNhc2UgUGVyY2VudDoKICAgICAgICAgICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8ZmxvYXQ+KG1heFZhbHVlICogcGVyY2VudCgpIC8gMTAwLjApOwogICAgICAg
ICAgICAgY2FzZSBBdXRvOgpAQCAtMTUxLDEwICsyMDIsMjYgQEAgc3RydWN0IExlbmd0aCA6IEZh
c3RBbGxvY0Jhc2UgewogICAgIH0KIAogICAgIGJvb2wgaXNVbmRlZmluZWQoKSBjb25zdCB7IHJl
dHVybiByYXdWYWx1ZSgpID09IHVuZGVmaW5lZExlbmd0aDsgfQotICAgIGJvb2wgaXNaZXJvKCkg
Y29uc3QgeyByZXR1cm4gIShtX3ZhbHVlICYgfjB4Rik7IH0KLSAgICBib29sIGlzUG9zaXRpdmUo
KSBjb25zdCB7IHJldHVybiByYXdWYWx1ZSgpID4gMDsgfQotICAgIGJvb2wgaXNOZWdhdGl2ZSgp
IGNvbnN0IHsgcmV0dXJuIHJhd1ZhbHVlKCkgPCAwOyB9CisgICAgYm9vbCBpc1plcm8oKSBjb25z
dAorICAgIHsKKyAgICAgICAgaWYgKGlzQ2FsY3VsYXRlZCgpKQorICAgICAgICAgICAgcmV0dXJu
IGNhbGN1bGF0ZWRJc1plcm8oKTsKKyAgICAgICAgcmV0dXJuICEobV92YWx1ZSAmIH4weEYpOwor
ICAgIH0KKyAgICBib29sIGlzUG9zaXRpdmUoKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKGlz
Q2FsY3VsYXRlZCgpKQorICAgICAgICAgICAgcmV0dXJuIGNhbGN1bGF0ZWRJc1Bvc2l0aXZlKCk7
CisgICAgICAgIHJldHVybiByYXdWYWx1ZSgpID4gMDsKKyAgICB9CisgICAgYm9vbCBpc05lZ2F0
aXZlKCkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAg
ICAgIHJldHVybiBjYWxjdWxhdGVkSXNOZWdhdGl2ZSgpOworICAgICAgICByZXR1cm4gcmF3VmFs
dWUoKSA8IDA7CisgICAgfQogCisgICAgYm9vbCBpc0NhbGN1bGF0ZWQoKSBjb25zdCB7IHJldHVy
biB0eXBlKCkgPT0gQ2FsY3VsYXRlZDsgfQogICAgIGJvb2wgaXNBdXRvKCkgY29uc3QgeyByZXR1
cm4gdHlwZSgpID09IEF1dG87IH0KICAgICBib29sIGlzUmVsYXRpdmUoKSBjb25zdCB7IHJldHVy
biB0eXBlKCkgPT0gUmVsYXRpdmU7IH0KICAgICBib29sIGlzUGVyY2VudCgpIGNvbnN0IHsgcmV0
dXJuIHR5cGUoKSA9PSBQZXJjZW50OyB9CkBAIC0xNzAsNyArMjM3LDExIEBAIHN0cnVjdCBMZW5n
dGggOiBGYXN0QWxsb2NCYXNlIHsKIAogICAgICAgICBpZiAoZnJvbS5pc1plcm8oKSAmJiBpc1pl
cm8oKSkKICAgICAgICAgICAgIHJldHVybiAqdGhpczsKLSAgICAgICAgCisKKyAgICAgICAgLy8g
RklYTUU6IFdlIGNhbm5vdCBoYW5kbGUgYmxlbmQgZm9yIGNhbGMgZm9yIG5vdy4KKyAgICAgICAg
aWYgKGlzQ2FsY3VsYXRlZCgpIHx8IGZyb20uaXNDYWxjdWxhdGVkKCkpCisgICAgICAgICAgICBy
ZXR1cm4gKnRoaXM7CisKICAgICAgICAgTGVuZ3RoVHlwZSByZXN1bHRUeXBlID0gdHlwZSgpOwog
ICAgICAgICBpZiAoaXNaZXJvKCkpCiAgICAgICAgICAgICByZXN1bHRUeXBlID0gZnJvbS50eXBl
KCk7CkBAIC0xODcsNiArMjU4LDIwIEBAIHN0cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsK
ICAgICB9CiAKIHByaXZhdGU6CisgICAgYm9vbCBjYWxjdWxhdGVkSXNaZXJvKCkgY29uc3Q7Cisg
ICAgYm9vbCBjYWxjdWxhdGVkSXNQb3NpdGl2ZSgpIGNvbnN0OworICAgIGJvb2wgY2FsY3VsYXRl
ZElzTmVnYXRpdmUoKSBjb25zdDsKKyAgICBpbnQgY2FsY3VsYXRlZENhbGNWYWx1ZShpbnQgbWF4
VmFsdWUsIGJvb2wgcm91bmRQZXJjZW50YWdlcykgY29uc3Q7CisgICAgaW50IGNhbGN1bGF0ZWRD
YWxjTWluVmFsdWUoaW50IG1heFZhbHVlLCBib29sIHJvdW5kUGVyY2VudGFnZXMpIGNvbnN0Owor
ICAgIGZsb2F0IGNhbGN1bGF0ZWRDYWxjRmxvYXRWYWx1ZShpbnQgbWF4VmFsdWUpIGNvbnN0Owor
ICAgIGludCBjYWxjdWxhdGVkTGVuZ3RoSWQoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJU
KGlzQ2FsY3VsYXRlZCgpKTsKKyAgICAgICAgcmV0dXJuIChtX3ZhbHVlICYgfjB4RikgLyAxNjsK
KyAgICB9CisgICAgdm9pZCBpbmNyZW1lbnRDYWxjdWxhdGVkUmVmKCkgY29uc3Q7CisgICAgdm9p
ZCBkZWNyZW1lbnRDYWxjdWxhdGVkUmVmKCkgY29uc3Q7CisKICAgICBpbnQgbV92YWx1ZTsKIH07
CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9TdHJpbmdJbXBsLmNwcCBiL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9TdHJpbmdJbXBsLmNwcAppbmRleCAzNzA0YzRlLi42N2I3MmMw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvU3RyaW5nSW1wbC5jcHAKKysrIGIv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1N0cmluZ0ltcGwuY3BwCkBAIC00NTIsNyArNDUyLDcgQEAg
ZmxvYXQgU3RyaW5nSW1wbDo6dG9GbG9hdChib29sKiBvaykKICAgICByZXR1cm4gY2hhcmFjdGVy
c1RvRmxvYXQobV9kYXRhLCBtX2xlbmd0aCwgb2spOwogfQogCi1zdGF0aWMgYm9vbCBlcXVhbChj
b25zdCBVQ2hhciogYSwgY29uc3QgY2hhciogYiwgaW50IGxlbmd0aCkKK2Jvb2wgZXF1YWwoY29u
c3QgVUNoYXIqIGEsIGNvbnN0IGNoYXIqIGIsIGludCBsZW5ndGgpCiB7CiAgICAgQVNTRVJUKGxl
bmd0aCA+PSAwKTsKICAgICB3aGlsZSAobGVuZ3RoLS0pIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9TdHJpbmdJbXBsLmggYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvU3RyaW5n
SW1wbC5oCmluZGV4IDY1ODQ4YmIuLmI4MzNhZjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9TdHJpbmdJbXBsLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1N0cmluZ0lt
cGwuaApAQCAtMjE2LDYgKzIxNiw4IEBAIHByaXZhdGU6CiBib29sIGVxdWFsKFN0cmluZ0ltcGwq
LCBTdHJpbmdJbXBsKik7CiBib29sIGVxdWFsKFN0cmluZ0ltcGwqLCBjb25zdCBjaGFyKik7CiBp
bmxpbmUgYm9vbCBlcXVhbChjb25zdCBjaGFyKiBhLCBTdHJpbmdJbXBsKiBiKSB7IHJldHVybiBl
cXVhbChiLCBhKTsgfQorYm9vbCBlcXVhbChjb25zdCBVQ2hhciogYSwgY29uc3QgY2hhciogYiwg
aW50IGxlbmd0aCk7CitpbmxpbmUgYm9vbCBlcXVhbChjb25zdCBjaGFyKiBhLCBjb25zdCBVQ2hh
ciogYiwgaW50IGxlbmd0aCkgeyByZXR1cm4gZXF1YWwoYiwgYSwgbGVuZ3RoKTsgfQogCiBib29s
IGVxdWFsSWdub3JpbmdDYXNlKFN0cmluZ0ltcGwqLCBTdHJpbmdJbXBsKik7CiBib29sIGVxdWFs
SWdub3JpbmdDYXNlKFN0cmluZ0ltcGwqLCBjb25zdCBjaGFyKik7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmNwcAppbmRleCBkZjkyNWJhLi44Y2MzOGYzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAg
LTE1MTYsNyArMTUxNiw3IEBAIGludCBSZW5kZXJCb3g6OmNhbGNIZWlnaHRVc2luZyhjb25zdCBM
ZW5ndGgmIGgpCiAgICAgaWYgKCFoLmlzQXV0bygpKSB7CiAgICAgICAgIGlmIChoLmlzRml4ZWQo
KSkKICAgICAgICAgICAgIGhlaWdodCA9IGgudmFsdWUoKTsKLSAgICAgICAgZWxzZSBpZiAoaC5p
c1BlcmNlbnQoKSkKKyAgICAgICAgZWxzZSBpZiAoaC5pc1BlcmNlbnQoKSB8fCBoLmlzQ2FsY3Vs
YXRlZCgpKQogICAgICAgICAgICAgaGVpZ2h0ID0gY2FsY1BlcmNlbnRhZ2VIZWlnaHQoaCk7CiAg
ICAgICAgIGlmIChoZWlnaHQgIT0gLTEpIHsKICAgICAgICAgICAgIGhlaWdodCA9IGNhbGNCb3Jk
ZXJCb3hIZWlnaHQoaGVpZ2h0KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCBhMTRh
YjI3Li5iNGU4Yjc1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5j
cHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCkBAIC01NDIsNiArNTQy
LDcgQEAgYm9vbCBSZW5kZXJJbWFnZTo6aXNXaWR0aFNwZWNpZmllZCgpIGNvbnN0CiAgICAgc3dp
dGNoIChzdHlsZSgpLT53aWR0aCgpLnR5cGUoKSkgewogICAgICAgICBjYXNlIEZpeGVkOgogICAg
ICAgICBjYXNlIFBlcmNlbnQ6CisgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgICAgICBjYXNlIEF1dG86CiAgICAgICAgIGNhc2UgUmVsYXRpdmU6
IC8vIEZJWE1FOiBTaG91bGRuJ3QgdGhpcyBjYXNlIHJldHVybiB0cnVlPwpAQCAtNTU5LDYgKzU2
MCw3IEBAIGJvb2wgUmVuZGVySW1hZ2U6OmlzSGVpZ2h0U3BlY2lmaWVkKCkgY29uc3QKICAgICBz
d2l0Y2ggKHN0eWxlKCktPmhlaWdodCgpLnR5cGUoKSkgewogICAgICAgICBjYXNlIEZpeGVkOgog
ICAgICAgICBjYXNlIFBlcmNlbnQ6CisgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKICAgICAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgICAgICBjYXNlIEF1dG86CiAgICAgICAgIGNhc2UgUmVsYXRp
dmU6IC8vIEZJWE1FOiBTaG91bGRuJ3QgdGhpcyBjYXNlIHJldHVybiB0cnVlPwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48752</attachid>
            <date>2010-02-15 07:37:11 -0800</date>
            <delta_ts>2011-03-23 22:55:02 -0700</delta_ts>
            <desc>full patch v4</desc>
            <filename>bug-16662-20100215073709.patch</filename>
            <type>text/plain</type>
            <size>69794</size>
            <attacher name="Shinichiro Hamaji">hamaji</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjYTg5YmYwLi5lY2I3MGUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDIt
MTUgIFNoaW5pY2hpcm8gSGFtYWppICA8aGFtYWppQGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDU1MzOiBJbXBsZW1lbnQgY2Fs
YygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjY2
MgorCisgICAgICAgICogZmFzdC9jc3MvY2FsYy9jYWxjLWVycm9ycy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2NhbGMvY2FsYy1lcnJvcnMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9jc3MvY2FsYy9zaW1wbGUtY2FsY3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2Nzcy9jYWxjL3NpbXBsZS1jYWxjcy5odG1sOiBBZGRlZC4KKwogMjAx
MC0wMi0xNCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IERhcmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY2Fs
Yy9jYWxjLWVycm9ycy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9jYWxjL2Nh
bGMtZXJyb3JzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li44MDhlMjQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY2FsYy9j
YWxjLWVycm9ycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorQWxsIGJveGVzIGJlbG93
IHNob3VsZCBiZSAxMDBweCAqIDEwMHB4IGFuZCBncmVlbi4KKworemVybyBkaXZpc2lvbiA9PiBQ
QVNTCitub24gbGVuZ3RoID0+IFBBU1MKK251bWJlciArIGxlbmd0aCA9PiBQQVNTCitsZW5ndGgg
LSBudW1iZXIgPT4gUEFTUworbGVuZ3RoICogbGVuZ3RoID0+IFBBU1MKK251bWJlciAvIGxlbmd0
aCA9PiBQQVNTCitudW1iZXIgbW9kIGxlbmd0aCA9PiBQQVNTCittb2QxMCA9PiBQQVNTCisxbW9k
ID0+IFBBU1MKK3RvbyBtYW55IG5lc3RzID0+IFBBU1MKK2VuZCB3aXRoIG9wZXJhdG9yID0+IFBB
U1MKK3N0YXJ0IHdpdGggb3BlcmF0b3IgPT4gUEFTUworbm8gZXhwcmVzc2lvbnMgPT4gUEFTUwor
dG9vIG1hbnkgcGx1c2VzID0+IFBBU1MKK25vIGJpbmFyeSBvcGVyYXRvciA9PiBQQVNTCit0d28g
YmluYXJ5IG9wZXJhdG9ycyA9PiBQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy9jYWxjL2NhbGMtZXJyb3JzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9jYWxjL2NhbGMt
ZXJyb3JzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGIwN2I0OQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2NhbGMvY2FsYy1lcnJvcnMu
aHRtbApAQCAtMCwwICsxLDc2IEBACis8aHRtbD4KKzxoZWFkPgorCis8c3R5bGU+CisjdGVzdCBk
aXYgeworICAgIGhlaWdodDogMTAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOworfQor
PC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiB0ZXN0KCkK
K3sKKyAgICB2YXIgdGVzdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7CisgICAg
Zm9yICh2YXIgZWxlbWVudCA9IHRlc3QuZmlyc3RDaGlsZDsgZWxlbWVudDsgZWxlbWVudCA9IGVs
ZW1lbnQubmV4dFNpYmxpbmcpIHsKKyAgICAgICAgdmFyIHdpZHRoID0gZWxlbWVudC5vZmZzZXRX
aWR0aDsKKyAgICAgICAgdmFyIGVycm9yID0gW107CisgICAgICAgIGlmICh3aWR0aCAhPSAxMDAp
CisgICAgICAgICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCB3aWR0aCBpcyAxMDAsIGJ1dCBjb21l
cyAiICsgd2lkdGgpOworICAgICAgICB2YXIgaGVpZ2h0ID0gZWxlbWVudC5vZmZzZXRIZWlnaHQ7
CisgICAgICAgIGlmIChoZWlnaHQgIT0gMTAwKQorICAgICAgICAgICAgZXJyb3IucHVzaCgiZXhw
ZWN0ZWQgaGVpZ2h0IGlzIDEwMCwgYnV0IGNvbWVzICIgKyB3aWR0aCk7CisKKyAgICAgICAgaWYg
KGVycm9yID09ICIiKSB7CisgICAgICAgICAgICBlbGVtZW50LnN0eWxlLmJhY2tncm91bmRDb2xv
ciA9ICJncmVlbiI7CisgICAgICAgICAgICBlbGVtZW50LmlubmVySFRNTCArPSAiID0+IFBBU1Mi
OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgKz0gIiA9
PiBGQUlMOiAiICsgZXJyb3Iuam9pbigiLCAiKTsKKyAgICAgICAgfQorICAgIH0KK30KKzwvc2Ny
aXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CisKKzxwPgorICBBbGwgYm94
ZXMgYmVsb3cgc2hvdWxkIGJlIDEwMHB4ICogMTAwcHggYW5kIGdyZWVuLgorPC9wPgorCis8ZGl2
IGlkPSJ0ZXN0Ij4KKworPCEtLSB6ZXJvIGRpdmlzaW9uIC0tPgorPGRpdiBzdHlsZT0id2lkdGg6
IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDFleCAvIDApOyI+emVybyBkaXZpc2lvbjwvZGl2
PgorCis8IS0tIHdyb25nIGNvbWJpbmF0aW9uIC0tPgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4
OyB3aWR0aDogLXdlYmtpdC1jYWxjKDIwMCk7Ij5ub24gbGVuZ3RoPC9kaXY+Cis8ZGl2IHN0eWxl
PSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwKzEwMHB4KTsiPm51bWJlciAr
IGxlbmd0aDwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1j
YWxjKDMwMHB4LTEwMCk7Ij5sZW5ndGggLSBudW1iZXI8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRo
OiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygxMDBweCoxMDBweCk7Ij5sZW5ndGggKiBsZW5n
dGg8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygx
MDAvMTAwcHgpOyI+bnVtYmVyIC8gbGVuZ3RoPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAw
cHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwIG1vZCAxMDBweCk7Ij5udW1iZXIgbW9kIGxlbmd0
aDwvZGl2PgorCis8IS0tIG1vZCByZXF1aXJlcyB3aGl0ZXNwYWNlcyBhcm91bmQgdGhlIG9wZXJh
dG9yIC0tPgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDEg
bW9kMTAgKiAyMDBweCk7Ij5tb2QxMCA8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsg
d2lkdGg6IC13ZWJraXQtY2FsYygxbW9kIDEwICogMjAwcHgpOyI+MW1vZDwvZGl2PgorCis8IS0t
IHRvbyBtYW55IG5lc3RzIHNob3VsZCBiZSByZWplY3RlZCB0byBhdm9pZCBzdGFjayBvdmVyZmxv
dyAtLT4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKDIwMHB4KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpOyI+dG9vIG1hbnkgbmVzdHM8L2Rpdj4KKwor
PCEtLSBpbnZhbGlkIGZvcm11bGFzIC0tPgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0
aDogLXdlYmtpdC1jYWxjKDIwMHB4Kik7Ij5lbmQgd2l0aCBvcGVyYXRvcjwvZGl2PgorPGRpdiBz
dHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKCsrMjAwcHgpOyI+c3RhcnQg
d2l0aCBvcGVyYXRvcjwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdl
YmtpdC1jYWxjKCk7Ij5ubyBleHByZXNzaW9uczwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEw
MHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDEwMHB4KysrMTAwcHgpOyI+dG9vIG1hbnkgcGx1c2Vz
PC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMjAw
cHggMjAwcHgpOyI+bm8gYmluYXJ5IG9wZXJhdG9yPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDog
MTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwcHggKiAqIDIpOyI+dHdvIGJpbmFyeSBvcGVy
YXRvcnM8L2Rpdj4KKworPC9kaXY+CisKKzwvYm9keT4KKworPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9jc3MvY2FsYy9zaW1wbGUtY2FsY3MtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MvY2FsYy9zaW1wbGUtY2FsY3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxMjg4M2YKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy9jYWxjL3NpbXBsZS1jYWxjcy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwyNiBAQAorQWxsIGJveGVzIGJlbG93IHNob3VsZCBiZSAxMDBweCAqIDEwMHB4IGFuZCBn
cmVlbi4KKworNTBweCs1MHB4ID0+IFBBU1MKKzE1MHB4LTUwcHggPT4gUEFTUworNTBweCoyID0+
IFBBU1MKKzIwMHB4LzIgPT4gUEFTUworMTEwMHB4IG1vZCAxMDAwID0+IFBBU1MKKzEwMCUvMiAo
d2hlcmUgMTAwJSBpcyAyMDBweCkgPT4gUEFTUworKDEwMHB4KSA9PiBQQVNTCisoNTBweCs1MHB4
KSA9PiBQQVNTCisoNTBweCkrNTBweCA9PiBQQVNTCis1MHB4Kyg1MHB4KSA9PiBQQVNTCis1MHB4
ICsgNTBweCA9PiBQQVNTCis1MHB4ICsgMjVweCAqIDIgPT4gUEFTUworKDI1cHggKyAyNXB4KSAq
IDIgPT4gUEFTUworMiAqIDUwcHggPT4gUEFTUworMiAqIDEwMHB4IC8gMiA9PiBQQVNTCisxMDBw
eCAvIDUwcHggKiA1MHB4ID0+IFBBU1MKKzEyIG1vZCAxMCAqIDUwcHggPT4gUEFTUworKDFlbSAt
IDFlbSkgKyAxMDBweCA9PiBQQVNTCisxMDBweCA9PiBQQVNTCisxMDAlICogMiA9PiBQQVNTCis1
MHB4Kys1MHB4ID0+IFBBU1MKKy01MHB4KzE1MHB4ID0+IFBBU1MKKy01MHB4LS0xNTBweCA9PiBQ
QVNTCisoKCgoKCgoMTAwcHgpKSkpKSkpID0+IFBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL2NhbGMvc2ltcGxlLWNhbGNzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9j
YWxjL3NpbXBsZS1jYWxjcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjY5ZmNmOTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9jYWxjL3Np
bXBsZS1jYWxjcy5odG1sCkBAIC0wLDAgKzEsODggQEAKKzxodG1sPgorPGhlYWQ+CisKKzxzdHls
ZT4KKyN0ZXN0IGRpdiwgI3Rlc3QgZGl2IGRpdiB7CisgICAgaGVpZ2h0OiAxMDBweDsKKyAgICBi
YWNrZ3JvdW5kLWNvbG9yOiByZWQ7Cit9CisuaGVpZ2h0LXRlc3QgeworICAgIHdpZHRoOiAxMDBw
eDsKKyAgICBoZWlnaHQ6IDIwMHB4OworfQorPC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2YXIgdGVzdCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0ZXN0Iik7CisgICAgZm9yICh2YXIgY2hpbGQgPSB0ZXN0LmZpcnN0Q2hp
bGQ7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLm5leHRTaWJsaW5nKSB7CisgICAgICAgIHZhciBlbGVt
ZW50ID0gY2hpbGQ7CisgICAgICAgIGlmIChlbGVtZW50LmNsYXNzTmFtZSA9PSAid3JhcHBlciIp
IHsKKyAgICAgICAgICAgIGVsZW1lbnQgPSBlbGVtZW50LmZpcnN0Q2hpbGQ7CisgICAgICAgICAg
ICB3aGlsZSAoZWxlbWVudC50YWdOYW1lICE9ICJESVYiKSBlbGVtZW50ID0gZWxlbWVudC5uZXh0
U2libGluZzsKKyAgICAgICAgfQorCisgICAgICAgIHZhciB3aWR0aCA9IGVsZW1lbnQub2Zmc2V0
V2lkdGg7CisgICAgICAgIHZhciBlcnJvciA9IFtdOworICAgICAgICBpZiAod2lkdGggIT0gMTAw
KQorICAgICAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgd2lkdGggaXMgMTAwLCBidXQgY29t
ZXMgIiArIHdpZHRoKTsKKyAgICAgICAgdmFyIGhlaWdodCA9IGVsZW1lbnQub2Zmc2V0SGVpZ2h0
OworICAgICAgICBpZiAoaGVpZ2h0ICE9IDEwMCkKKyAgICAgICAgICAgIGVycm9yLnB1c2goImV4
cGVjdGVkIGhlaWdodCBpcyAxMDAsIGJ1dCBjb21lcyAiICsgd2lkdGgpOworCisgICAgICAgIGlm
IChlcnJvciA9PSAiIikgeworICAgICAgICAgICAgZWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kQ29s
b3IgPSAiZ3JlZW4iOworICAgICAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgKz0gIiA9PiBQQVNT
IjsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBlbGVtZW50LmlubmVySFRNTCArPSAiID0+
IEZBSUw6ICIgKyBlcnJvci5qb2luKCIsICIpOworICAgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFk
PgorCis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CisKKzxwPgorICBBbGwgYm94ZXMgYmVsb3cgc2hv
dWxkIGJlIDEwMHB4ICogMTAwcHggYW5kIGdyZWVuLgorPC9wPgorCis8ZGl2IGlkPSJ0ZXN0Ij4K
KworPGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYyg1MHB4KzUwcHgpOyI+NTBweCs1MHB4
PC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDE1MHB4LTUwcHgpOyI+MTUw
cHgtNTBweDwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYyg1MHB4KjIpOyI+
NTBweCoyPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDIwMHB4LzIpOyI+
MjAwcHgvMjwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygxMTAwcHggbW9k
IDEwMDApOyI+MTEwMHB4IG1vZCAxMDAwPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMjAwcHg7
IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyIgY2xhc3M9IndyYXBwZXIiPgorICA8ZGl2IHN0eWxl
PSJ3aWR0aDogLXdlYmtpdC1jYWxjKDEwMCUvMik7Ij4xMDAlLzIgKHdoZXJlIDEwMCUgaXMgMjAw
cHgpPC9kaXY+Cis8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoKDEwMHB4
KSk7Ij4oMTAwcHgpPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKCg1MHB4
KzUwcHgpKTsiPig1MHB4KzUwcHgpPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1j
YWxjKCg1MHB4KSs1MHB4KTsiPig1MHB4KSs1MHB4PC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDog
LXdlYmtpdC1jYWxjKDUwcHgrKDUwcHgpKTsiPjUwcHgrKDUwcHgpPC9kaXY+Cis8ZGl2IHN0eWxl
PSJ3aWR0aDogLXdlYmtpdC1jYWxjKCA1MHB4ICsgIDUwcHggKTsiPiA1MHB4ICsgIDUwcHggPC9k
aXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKCA1MHB4ICsgMjVweCAqIDIgKTsi
PiA1MHB4ICsgMjVweCAqIDIgPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxj
KCAoMjVweCArIDI1cHgpICogMiApOyI+ICgyNXB4ICsgMjVweCkgKiAyIDwvZGl2PgorPGRpdiBz
dHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygyICogNTBweCk7Ij4yICogNTBweDwvZGl2PgorPGRp
diBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygyICogMTAwcHggLyAyKTsiPjIgKiAxMDBweCAv
IDI8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMTAwcHggLyA1MHB4ICog
NTBweCk7Ij4xMDBweCAvIDUwcHggKiA1MHB4PC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogLXdl
YmtpdC1jYWxjKDEyIG1vZCAxMCAqIDUwcHgpOyI+MTIgbW9kIDEwICogNTBweDwvZGl2PgorPGRp
diBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygoMWVtIC0gMWVtKSArIDEwMHB4KTsiPigxZW0g
LSAxZW0pICsgMTAwcHg8L2Rpdj4KKzxkaXYgc3R5bGU9ImhlaWdodDogLXdlYmtpdC1jYWxjKDEw
MHB4KTsiIGNsYXNzPSJoZWlnaHQtdGVzdCI+MTAwcHg8L2Rpdj4KKzxkaXYgc3R5bGU9ImhlaWdo
dDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IiBjbGFzcz0id3JhcHBlciI+CisgIDxk
aXYgc3R5bGU9ImhlaWdodDogLXdlYmtpdC1jYWxjKDEwMCUgKiAyKTsiIGNsYXNzPSJoZWlnaHQt
dGVzdCI+MTAwJSAqIDI8L2Rpdj4KKzwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQt
Y2FsYyg1MHB4Kys1MHB4KTsiPjUwcHgrKzUwcHg8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAt
d2Via2l0LWNhbGMoLTUwcHgrMTUwcHgpOyI+LTUwcHgrMTUwcHg8L2Rpdj4KKzxkaXYgc3R5bGU9
IndpZHRoOiAtd2Via2l0LWNhbGMoLTUwcHgtLTE1MHB4KTsiPi01MHB4LS0xNTBweDwvZGl2Pgor
PGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygoKCgoKCgoMTAwcHgpKSkpKSkpKTsiPigo
KCgoKCgxMDBweCkpKSkpKSk8L2Rpdj4KKworPC9kaXY+CisKKzwvYm9keT4KKworPC9odG1sPgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAy
NjQxNWY5Li42ZGFlNjY2IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMCBAQAorMjAxMC0wMi0xNSAgU2hpbmljaGlybyBI
YW1hamkgIDxoYW1hamlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENTUzM6IEltcGxlbWVudCBjYWxjKCkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NjYyCisKKyAgICAgICAgVGVz
dHM6IGZhc3QvY3NzL2NhbGMvY2FsYy1lcnJvcnMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9j
c3MvY2FsYy9zaW1wbGUtY2FsY3MuaHRtbAorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06Cisg
ICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUucHJvOgorICAgICAgICAq
IFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjc3MvQ1NTQ2FsY1ZhbHVlLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjUHJpbWl0aXZlVmFsdWU6OkNTU0NhbGNQcmlt
aXRpdmVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjUHJpbWl0aXZlVmFsdWU6Omlz
WmVybyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjUHJpbWl0aXZlVmFsdWU6OmNzc1RleHQp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjp0b0NhbGNWYWx1ZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWU6OkNTU0NhbGNC
aW5hcnlPcGVyYXRpb25WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmluYXJ5T3Bl
cmF0aW9uVmFsdWU6OmlzWmVybyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmluYXJ5T3Bl
cmF0aW9uVmFsdWU6OmNzc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9w
ZXJhdGlvblZhbHVlOjp0b0NhbGNWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFs
dWVQYXJzZXI6OnBhcnNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZVBhcnNlcjo6
VmFsdWU6Oik6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWVQYXJzZXI6Om9wZXJhdG9y
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlUGFyc2VyOjpwYXJzZVZhbHVl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZVBhcnNlcjo6cGFyc2VWYWx1ZVRlcm0p
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlUGFyc2VyOjpwYXJzZVZhbHVlTXVsdGlw
bGljYXRpdmVFeHByZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZVBhcnNl
cjo6cGFyc2VBZGRpdGl2ZVZhbHVlRXhwcmVzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1ND
YWxjVmFsdWVQYXJzZXI6OnBhcnNlVmFsdWVFeHByZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0NhbGNWYWx1ZTo6Y3JlYXRlRnJvbVBhcnNlclZhbHVlTGlzdCk6CisgICAgICAgICogY3Nz
L0NTU0NhbGNWYWx1ZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZTo6
aXNDYWxjVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnk6CisgICAgICAgICogY3Nz
L0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0NhbGMpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNl
cjo6cGFyc2VDYWxjdWxhdGVkTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6
bGV4KToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAgICAgICogY3NzL0NTU1BhcnNl
clZhbHVlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJWYWx1ZUxpc3Q6Omluc2Vy
dFZhbHVlQXQpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXJWYWx1ZXMuaDoKKyAgICAgICAgKiBj
c3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZl
VmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpjb252ZXJ0VG9MZW5n
dGgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eSk6
CisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuaDoKKyAgICAgICAgKiBjc3MvQ1NTVmFs
dWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjppc0NhbGNWYWx1ZSk6CisgICAgICAg
ICogY3NzL3Rva2VuaXplci5mbGV4OgorICAgICAgICAqIHBsYXRmb3JtL0NhbGNWYWx1ZS5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlOjpDYWxj
QmluYXJ5T3BlcmF0aW9uVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsY0JpbmFyeU9wZXJh
dGlvblZhbHVlOjpldmFsdWF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vQ2FsY1ZhbHVlLmg6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2FsY1ZhbHVlOjp+Q2FsY1ZhbHVlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNhbGNOdW1iZXJWYWx1ZTo6Q2FsY051bWJlclZhbHVlKToKKyAgICAgICAgKFdl
YkNvcmU6OkNhbGNOdW1iZXJWYWx1ZTo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fs
Y0xlbmd0aFZhbHVlOjpDYWxjTGVuZ3RoVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsY0xl
bmd0aFZhbHVlOjpldmFsdWF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vTGVuZ3RoLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbGN1bGF0ZWRMZW5ndGg6OkNhbGN1bGF0ZWRMZW5ndGgpOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FsY3VsYXRlZExlbmd0aDo6ZXZhbHVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q2FsY3VsYXRlZExlbmd0aDo6cmVmQ291bnQpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fs
Y3VsYXRlZExlbmd0aDo6aW5jcmVtZW50UmVmQ291bnQpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fs
Y3VsYXRlZExlbmd0aDo6ZGVjcmVtZW50UmVmQ291bnQpOgorICAgICAgICAoV2ViQ29yZTo6Y2Fs
Y3VsYXRlZExlbmd0aE1hcCk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6Okxlbmd0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGN1bGF0ZWRJc1plcm8pOgorICAgICAgICAoV2Vi
Q29yZTo6TGVuZ3RoOjpjYWxjdWxhdGVkSXNQb3NpdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpM
ZW5ndGg6OmNhbGN1bGF0ZWRJc05lZ2F0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6
Y2FsY3VsYXRlZENhbGNWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGN1bGF0
ZWRDYWxjTWluVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjdWxhdGVkQ2Fs
Y0Zsb2F0VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjppbmNyZW1lbnRDYWxjdWxh
dGVkUmVmKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6ZGVjcmVtZW50Q2FsY3VsYXRlZFJl
Zik6CisgICAgICAgICogcGxhdGZvcm0vTGVuZ3RoLmg6CisgICAgICAgIChXZWJDb3JlOjopOgor
ICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6TGVu
Z3RoOjpvcGVyYXRvcj0pOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjp+TGVuZ3RoKToKKyAg
ICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6dmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3Ro
OjpyYXdWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OnNldFZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6Okxlbmd0aDo6c2V0UmF3VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVu
Z3RoOjpjYWxjVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjTWluVmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjRmxvYXRWYWx1ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpMZW5ndGg6OmlzWmVybyk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmlzUG9z
aXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjppc05lZ2F0aXZlKToKKyAgICAgICAg
KFdlYkNvcmU6Okxlbmd0aDo6aXNDYWxjdWxhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0
aDo6YmxlbmQpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjdWxhdGVkTGVuZ3RoSWQp
OgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvU3RyaW5nSW1wbC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjplcXVhbCk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9TdHJpbmdJbXBsLmg6CisgICAg
ICAgIChXZWJDb3JlOjplcXVhbCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNhbGNIZWlnaHRVc2luZyk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklt
YWdlOjppc1dpZHRoU3BlY2lmaWVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpp
c0hlaWdodFNwZWNpZmllZCk6CisKIDIwMTAtMDItMTQgIEFkYW0gQmFydGggIDxhYmFydGhAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGUw
YzlkYzYuLjY1YzdjZjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQpAQCAtNTM5LDYgKzUzOSw4IEBAIHdlYmNvcmVfc291cmNl
cyArPSBcCiAJV2ViQ29yZS9jb25maWcuaCBcCiAJV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VW
YWx1ZS5jcHAgXAogCVdlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuaCBcCisJV2ViQ29y
ZS9jc3MvQ1NTQ2FsY1ZhbHVlLmNwcCBcCisJV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmggXAog
CVdlYkNvcmUvY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcCBcCiAJV2ViQ29yZS9jc3MvQ1NTQ2FudmFz
VmFsdWUuaCBcCiAJV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwIFwKQEAgLTE0MzYsNiAr
MTQzOCw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9BcmVuYS5j
cHAgXAogCVdlYkNvcmUvcGxhdGZvcm0vQXJlbmEuaCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9BdXRv
ZHJhaW5lZFBvb2wuaCBcCisJV2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUuY3BwIFwKKwlXZWJD
b3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5oIFwKIAlXZWJDb3JlL3BsYXRmb3JtL0NvbnRlbnRUeXBl
LmNwcCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9Db250ZW50VHlwZS5oIFwKIAlXZWJDb3JlL3BsYXRm
b3JtL0NvbnRleHRNZW51LmNwcCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBi
L1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDIyYjYxMTcuLjNhNTZjMTQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC04ODcs
NiArODg3LDggQEAKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9ucHJ1bnRpbWVfcHJpdi5oJywK
ICAgICAgICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAnLAogICAgICAgICAgICAg
J2Nzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmgnLAorICAgICAgICAgICAgJ2Nzcy9DU1NDYWxjVmFs
dWUuY3BwJywKKyAgICAgICAgICAgICdjc3MvQ1NTQ2FsY1ZhbHVlLmgnLAogICAgICAgICAgICAg
J2Nzcy9DU1NDYW52YXNWYWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NDYW52YXNWYWx1
ZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwJywKQEAgLTI3NzIsNiAr
Mjc3NCw4IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vQXJlbmEuY3BwJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9BcmVuYS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9BdXRvZHJhaW5lZFBv
b2wuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcCcsCisgICAgICAgICAg
ICAncGxhdGZvcm0vQ2FsY1ZhbHVlLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0NvbnRlbnRU
eXBlLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vQ29udGVudFR5cGUuaCcsCiAgICAgICAg
ICAgICAncGxhdGZvcm0vQ29udGV4dE1lbnUuY3BwJywKZGlmZiAtLWdpdCBhL1dlYkNvcmUvV2Vi
Q29yZS5wcm8gYi9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDEzZDYzMTQuLjRiNTFmZTcgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5wcm8KKysrIGIvV2ViQ29yZS9XZWJDb3JlLnBybwpA
QCAtMzY3LDYgKzM2Nyw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGJyaWRnZS9jL2NfdXRpbGl0eS5j
cHAgXAogICAgIGJyaWRnZS9qc2MvQnJpZGdlSlNDLmNwcCBcCiAgICAgY3NzL0NTU0JvcmRlcklt
YWdlVmFsdWUuY3BwIFwKKyAgICBjc3MvQ1NTQ2FsY1ZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU0Nh
bnZhc1ZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU0NoYXJzZXRSdWxlLmNwcCBcCiAgICAgY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgXApAQCAtNzcxLDYgKzc3Miw3IEBAIFNPVVJD
RVMgKz0gXAogICAgIHBsYXRmb3JtL3RleHQvQXRvbWljU3RyaW5nLmNwcCBcCiAgICAgcGxhdGZv
cm0vdGV4dC9CYXNlNjQuY3BwIFwKICAgICBwbGF0Zm9ybS90ZXh0L0JpZGlDb250ZXh0LmNwcCBc
CisgICAgcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcCBcCiAgICAgcGxhdGZvcm0vQ29udGVudFR5cGUu
Y3BwIFwKICAgICBwbGF0Zm9ybS9Db250ZXh0TWVudS5jcHAgXAogICAgIHBsYXRmb3JtL0Nyb3Nz
VGhyZWFkQ29waWVyLmNwcCBcCkBAIC0xMDYxLDYgKzEwNjMsNyBAQCBIRUFERVJTICs9IFwKICAg
ICBicmlkZ2UvcnVudGltZV9vYmplY3QuaCBcCiAgICAgYnJpZGdlL3J1bnRpbWVfcm9vdC5oIFwK
ICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oIFwKKyAgICBjc3MvQ1NTQ2FsY1ZhbHVlLmgg
XAogICAgIGNzcy9DU1NDYW52YXNWYWx1ZS5oIFwKICAgICBjc3MvQ1NTQ2hhcnNldFJ1bGUuaCBc
CiAgICAgY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oIFwKQEAgLTE0NjcsNiArMTQ3
MCw3IEBAIEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb24uaCBc
CiAgICAgcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaCBcCiAgICAgcGxhdGZvcm0v
QXJlbmEuaCBcCisgICAgcGxhdGZvcm0vQ2FsY1ZhbHVlLmggXAogICAgIHBsYXRmb3JtL0NvbnRl
bnRUeXBlLmggXAogICAgIHBsYXRmb3JtL0NvbnRleHRNZW51LmggXAogICAgIHBsYXRmb3JtL0Ny
b3NzVGhyZWFkQ29waWVyLmggXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5k
ZXggZmY3OTYzYi4uNTQ0MGM1ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CkBAIC0yMTY0MSw2ICsyMTY0MSwxNCBAQAogCQkJCT4NCiAJCQk8L0ZpbGU+DQogCQkJPEZpbGUN
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxDYWxjVmFsdWUuY3BwIg0KKwkJCQk+DQor
CQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cQ2Fs
Y1ZhbHVlLmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxwbGF0Zm9ybVxDb250ZW50VHlwZS5jcHAiDQogCQkJCT4NCiAJCQk8L0ZpbGU+DQpA
QCAtMjY0NzcsNiArMjY0ODUsMTQgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0KIAkJCTxGaWxlDQor
CQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0NhbGNWYWx1ZS5jcHAiDQorCQkJCT4NCisJCQk8
L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTQ2FsY1ZhbHVl
LmgiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIu
Llxjc3NcQ1NTQ2FudmFzVmFsdWUuY3BwIg0KIAkJCQk+DQogCQkJPC9GaWxlPg0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZTg3MjA2ZC4uMWI0MGRhYiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQxMDgsNiAr
NDEwOCwxMCBAQAogCQlCNUMxMTIzQzEwMkI2QzQ2MDAwOTY1NzggLyogU1FMVHJhbnNhY3Rpb25D
b29yZGluYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQjVDMTEyM0ExMDJCNkM0NjAwMDk2NTc4IC8qIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3Iu
aCAqLzsgfTsKIAkJQjcxRkU2REYxMTA5MUNCMzAwREFFRjc3IC8qIFByaW50Q29udGV4dC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjc3NkQ0M0ExMTA0
NTI1RDAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUI3NzZENDNEMTEwNDUyNzUwMEJFQjBFQyAvKiBQcmlu
dENvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQjc3NkQ0M0MxMTA0NTI3NTAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5jcHAgKi87IH07CisJ
CUI3OThBREU2MTEyOTczQzEwMDE2REI5RSAvKiBDYWxjVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjc5OEFERTQxMTI5NzNDMTAwMTZEQjlF
IC8qIENhbGNWYWx1ZS5jcHAgKi87IH07CisJCUI3OThBREU3MTEyOTczQzEwMDE2REI5RSAvKiBD
YWxjVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEI3OThBREU1MTEyOTczQzEwMDE2REI5RSAvKiBDYWxjVmFsdWUuaCAqLzsgfTsKKwkJQjdBNUVB
REQxMEU0OEMzOTAwOERCQzk5IC8qIENTU0NhbGNWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCN0E1RUFEQzEwRTQ4QzM5MDA4REJDOTkgLyog
Q1NTQ2FsY1ZhbHVlLmNwcCAqLzsgfTsKKwkJQjdBNUVBREYxMEU0OEM0QTAwOERCQzk5IC8qIENT
U0NhbGNWYWx1ZS5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQjdBNUVBREUxMEU0OEM0QTAwOERCQzk5IC8qIENTU0NhbGNWYWx1
ZS5oICovOyB9OwogCQlCQzAwRjAwNDBFMEExODU1MDBGRDA0RTMgLyogRE9NRmlsZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMwMEVGRkUwRTBBMTg1
NTAwRkQwNEUzIC8qIERPTUZpbGUuaCAqLzsgfTsKIAkJQkMwMEYwMDUwRTBBMTg1NTAwRkQwNEUz
IC8qIERPTUZpbGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQzAwRUZGRjBFMEExODU1MDBGRDA0RTMgLyogRE9NRmlsZS5tbSAqLzsgfTsKIAkJQkMw
MEYwMDYwRTBBMTg1NTAwRkQwNEUzIC8qIERPTUZpbGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMwMEYwMDAwRTBBMTg1NTAwRkQwNEUz
IC8qIERPTUZpbGVJbnRlcm5hbC5oICovOyB9OwpAQCAtNTI5OCw2ICs1MzAyLDcgQEAKIAkJCQkx
NDAzQkEwRjA5RUIxOEY5MDA3OTdDN0YgLyogSlNET01XaW5kb3cuaCBpbiBDb3B5IEdlbmVyYXRl
ZCBIZWFkZXJzICovLAogCQkJCTE0REMwRDM4MDlGRUQwNzMwMDdCMDIzNSAvKiBKU05vZGUuaCBp
biBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovLAogCQkJCTA4QzdBMkM3MTBEQzc0NjIwMDJEMzY4
QiAvKiBTVkdOYW1lcy5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8sCisJCQkJQjdBNUVB
REYxMEU0OEM0QTAwOERCQzk5IC8qIENTU0NhbGNWYWx1ZS5oIGluIENvcHkgR2VuZXJhdGVkIEhl
YWRlcnMgKi8sCiAJCQkpOwogCQkJbmFtZSA9ICJDb3B5IEdlbmVyYXRlZCBIZWFkZXJzIjsKIAkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpAQCAtOTM0Nyw2ICs5MzUy
LDEwIEBACiAJCUI1QzExMjNBMTAyQjZDNDYwMDA5NjU3OCAvKiBTUUxUcmFuc2FjdGlvbkNvb3Jk
aW5hdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNRTFRyYW5zYWN0aW9u
Q29vcmRpbmF0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjc3NkQ0M0ExMTA0
NTI1RDAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQcmludENvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjc3
NkQ0M0MxMTA0NTI3NTAwQkVCMEVDIC8qIFByaW50Q29udGV4dC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcmludENvbnRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlCNzk4QURFNDExMjk3M0MxMDAxNkRCOUUgLyogQ2FsY1ZhbHVlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhbGNWYWx1ZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI3OThBREU1MTEyOTczQzEwMDE2REI5RSAvKiBDYWxj
VmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FsY1ZhbHVlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUI3QTVFQURDMTBFNDhDMzkwMDhEQkM5OSAvKiBD
U1NDYWxjVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NT
Q2FsY1ZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjdBNUVBREUxMEU0
OEM0QTAwOERCQzk5IC8qIENTU0NhbGNWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDU1NDYWxjVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMw
MEVGRkUwRTBBMTg1NTAwRkQwNEUzIC8qIERPTUZpbGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRE9NRmlsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzAw
RUZGRjBFMEExODU1MDBGRDA0RTMgLyogRE9NRmlsZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IERPTUZpbGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUJDMDBGMDAwMEUwQTE4NTUwMEZEMDRFMyAvKiBET01GaWxlSW50ZXJuYWwuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NRmlsZUludGVybmFsLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xNTE2MCw2ICsxNTE2OSw4IEBACiAJCQkJQkNGQjJGNzQwOTdB
MkUxQTAwQkE3MDNEIC8qIEFyZW5hLmNwcCAqLywKIAkJCQlCQ0ZCMkY3NTA5N0EyRTFBMDBCQTcw
M0QgLyogQXJlbmEuaCAqLywKIAkJCQk1MUUxRUNCMTBDOTFDNTU2MDBEQzI1NUIgLyogQXV0b2Ry
YWluZWRQb29sLmggKi8sCisJCQkJQjc5OEFERTQxMTI5NzNDMTAwMTZEQjlFIC8qIENhbGNWYWx1
ZS5jcHAgKi8sCisJCQkJQjc5OEFERTUxMTI5NzNDMTAwMTZEQjlFIC8qIENhbGNWYWx1ZS5oICov
LAogCQkJCUJDQzhDRkNBMDk4NkNEMjQwMDE0MEJGMiAvKiBDb2xvckRhdGEuZ3BlcmYgKi8sCiAJ
CQkJNDFEMDE1QzkwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmNwcCAqLywKIAkJCQk0
MUQwMTVDODBGNEI1QzcxMDA0QTY2MkYgLyogQ29udGVudFR5cGUuaCAqLywKQEAgLTE1MzgyLDYg
KzE1MzkzLDggQEAKIAkJRjUyM0QxODQwMkRFNDJFODAxODYzNUNBIC8qIGNzcyAqLyA9IHsKIAkJ
CWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQjdBNUVBREUxMEU0OEM0QTAw
OERCQzk5IC8qIENTU0NhbGNWYWx1ZS5oICovLAorCQkJCUI3QTVFQURDMTBFNDhDMzkwMDhEQkM5
OSAvKiBDU1NDYWxjVmFsdWUuY3BwICovLAogCQkJCTkzQ0E0QzlDMDlERjkzRkEwMERGODY3NyAv
KiBtYWtldG9rZW5pemVyICovLAogCQkJCUE4MEU2Q0RBMEExOTg5Q0EwMDdGQjhDNSAvKiBDb3Vu
dGVyLmggKi8sCiAJCQkJOTMwNzA1QzcwOUUwQzk1RjAwQjE3RkU0IC8qIENvdW50ZXIuaWRsICov
LApAQCAtMTg1MjYsNiArMTg1MzksNyBAQAogCQkJCUJDRTc4OTE2MTEyMEQ2MDgwMDYwRUNFNSAv
KiBJbmxpbmVJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFNzg5ODYxMTIwRTdBNjAw
NjBFQ0U1IC8qIEJpZGlSdW4uaCBpbiBIZWFkZXJzICovLAogCQkJCTlGNkZDMTk3MTEyMkU4MkEw
MEU4MDE5NiAvKiBTY3JpcHREZWJ1Z1NlcnZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQjc5OEFE
RTcxMTI5NzNDMTAwMTZEQjlFIC8qIENhbGNWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMDcw
Nyw2ICsyMDcyMSw4IEBACiAJCQkJQkNFNzg5OEIxMTIwRTgwMjAwNjBFQ0U1IC8qIEJpZGlSdW4u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOUY2RkMxOTYxMTIyRTgyQTAwRTgwMTk2IC8qIFNjcmlw
dERlYnVnU2VydmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTc2RkYxN0UzMTEyMzU2NzMwMDFE
NjFCNSAvKiBQbHVnaW5WaWV3Tm9uZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCN0E1RUFERDEw
RTQ4QzM5MDA4REJDOTkgLyogQ1NTQ2FsY1ZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUI3
OThBREU2MTEyOTczQzEwMDE2REI5RSAvKiBDYWxjVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NDYWxjVmFsdWUuY3BwIGIvV2ViQ29yZS9jc3MvQ1NT
Q2FsY1ZhbHVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ODdkNGU5
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmNwcApAQCAtMCww
ICsxLDMyMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NDYWxjVmFsdWUuaCIK
KworI2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTU3R5bGVTZWxl
Y3Rvci5oIgorI2luY2x1ZGUgIkNTU1ZhbHVlTGlzdC5oIgorI2luY2x1ZGUgIkNhbGNWYWx1ZS5o
IgorCisjaW5jbHVkZSA8d3RmL093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlIDog
cHVibGljIENTU0NhbGNWYWx1ZSB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgQ1NTQ2FsY1ByaW1p
dGl2ZVZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlKiB2YWx1ZSkKKyAgICAgICAgOiBtX3ZhbHVlKHZh
bHVlKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNaZXJvKCkgY29uc3QKKyAg
ICB7CisgICAgICAgIHJldHVybiAhbV92YWx1ZS0+Z2V0RG91YmxlVmFsdWUoKTsKKyAgICB9CisK
KyAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVy
biBtX3ZhbHVlLT5jc3NUZXh0KCk7CisgICAgfQorCisgICAgUGFzc093blB0cjxDYWxjVmFsdWU+
IHRvQ2FsY1ZhbHVlKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSkg
Y29uc3QKKyAgICB7CisgICAgICAgIGlmIChtX3ZhbHVlLT5wcmltaXRpdmVUeXBlKCkgPT0gQ1NT
UHJpbWl0aXZlVmFsdWU6OkNTU19QQVJTRVJfSU5URUdFUikKKyAgICAgICAgICAgIHJldHVybiBu
ZXcgQ2FsY051bWJlclZhbHVlKG1fdmFsdWUtPmdldEZsb2F0VmFsdWUoKSk7CisKKyAgICAgICAg
Ym9vbCBvayA9IHRydWU7CisgICAgICAgIExlbmd0aCBsZW5ndGggPSBDU1NTdHlsZVNlbGVjdG9y
Ojpjb252ZXJ0VG9MZW5ndGgobV92YWx1ZS5nZXQoKSwgc3R5bGUsIHJvb3RTdHlsZSwgMSwgJm9r
KTsKKyAgICAgICAgaWYgKCFvaykKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1
cm4gbmV3IENhbGNMZW5ndGhWYWx1ZShsZW5ndGgpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBS
ZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IG1fdmFsdWU7Cit9OworCitjbGFzcyBDU1NDYWxjQmlu
YXJ5T3BlcmF0aW9uVmFsdWUgOiBwdWJsaWMgQ1NTQ2FsY1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBD
U1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWUoQ1NTQ2FsY1ZhbHVlKiBsZWZ0U2lkZSwgQ1NTQ2Fs
Y1ZhbHVlKiByaWdodFNpZGUsIGNoYXIgb3ApCisgICAgICAgIDogbV9sZWZ0U2lkZShsZWZ0U2lk
ZSkKKyAgICAgICAgLCBtX3JpZ2h0U2lkZShyaWdodFNpZGUpCisgICAgICAgICwgbV9vcGVyYXRv
cihvcCkKKyAgICB7CisgICAgICAgIEFTU0VSVChvcCA9PSAnKycgfHwgb3AgPT0gJy0nIHx8IG9w
ID09ICcqJyB8fCBvcCA9PSAnLycgfHwgb3AgPT0gJyUnKTsKKyAgICB9CisKKyAgICB2aXJ0dWFs
IGJvb2wgaXNaZXJvKCkgY29uc3QKKyAgICB7CisgICAgICAgIC8vIEZJWE1FOiBXZSBjYW4gcmV0
dXJuIHRydWUgZm9yIHNvbWUgY2FzZXMgKGUuZy4sIDMgLSAzLCAzICogMCwgYW5kIGV0Yy4pCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0
KCkgY29uc3QKKyAgICB7CisgICAgICAgIFN0cmluZyByZXN1bHQgPSAiKCI7CisgICAgICAgIHJl
c3VsdC5hcHBlbmQobV9sZWZ0U2lkZS0+Y3NzVGV4dCgpKTsKKyAgICAgICAgcmVzdWx0LmFwcGVu
ZChtX29wZXJhdG9yKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChtX3JpZ2h0U2lkZS0+Y3NzVGV4
dCgpKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgnKScpOworICAgICAgICByZXR1cm4gcmVzdWx0
OworICAgIH0KKworICAgIFBhc3NPd25QdHI8Q2FsY1ZhbHVlPiB0b0NhbGNWYWx1ZShSZW5kZXJT
dHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUpIGNvbnN0CisgICAgeworICAgICAg
ICBPd25QdHI8Q2FsY1ZhbHVlPiBsZWZ0KG1fbGVmdFNpZGUtPnRvQ2FsY1ZhbHVlKHN0eWxlLCBy
b290U3R5bGUpKTsKKyAgICAgICAgaWYgKCFsZWZ0LmdldCgpKQorICAgICAgICAgICAgcmV0dXJu
IDA7CisgICAgICAgIE93blB0cjxDYWxjVmFsdWU+IHJpZ2h0KG1fcmlnaHRTaWRlLT50b0NhbGNW
YWx1ZShzdHlsZSwgcm9vdFN0eWxlKSk7CisgICAgICAgIGlmICghcmlnaHQuZ2V0KCkpCisgICAg
ICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIG5ldyBDYWxjQmluYXJ5T3BlcmF0aW9u
VmFsdWUobGVmdC5yZWxlYXNlKCksIHJpZ2h0LnJlbGVhc2UoKSwgbV9vcGVyYXRvcik7CisgICAg
fQorCitwcml2YXRlOgorICAgIFJlZlB0cjxDU1NDYWxjVmFsdWU+IG1fbGVmdFNpZGU7CisgICAg
UmVmUHRyPENTU0NhbGNWYWx1ZT4gbV9yaWdodFNpZGU7CisgICAgY2hhciBtX29wZXJhdG9yOwor
fTsKKworI2RlZmluZSBDSEVDS19ERVBUSF9BTkRfSU5ERVggICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICArK2RlcHRo
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XAorICAgICAgICBpZiAoZGVwdGggPiAxMDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBpZiAoKmluZGV4
ID49IHRva2Vucy0+c2l6ZSgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAorICAgIH0gd2hpbGUgKDApCisKKy8qIEFzIG9mIERlY2VtYmVyIDIw
MDksIHRoZSBDU1Mgc3BlYyB1c2VzIHRoZSBncmFtbWFyIHRvIHJlamVjdCBzdHVwaWQKKyAqIGNh
bGN1bGF0aW9ucyBzdWNoIGFzIDIwcHgqMjBweC4gQXMgdGhlIG9yaWdpbmFsIGdyYW1tYXIgd2ls
bCBoYXZlIGEKKyAqIGJ1bmNoIG9mIGR1cGxpY2F0aW9ucyBpZiB3ZSBpbXBsZW1lbnQgaXQgd2l0
aCBubyBjaGFuZ2UsIHdlJ2xsIHVzZQorICogdGhlIGZvbGxvd2luZyBzaW1wbGlmaWVkIGdyYW1t
YXIgYW5kIHJlamVjdCBpbnZhbGlkIG9wZXJhdGlvbnMgYnkKKyAqIGNoZWNraW5nIHR5cGVzIG9m
IHZhbHVlcy4KKyAqCisgKiA8dmFsdWUtZXhwcmVzc2lvbj4gOj0gPHZhbHVlLWFkZGl0aXZlLWV4
cHJlc3Npb24+CisgKgorICogPHZhbHVlLWFkZGl0aXZlLWV4cHJlc3Npb24+IDo9CisgKiAgICA8
dmFsdWUtbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbj4gPHZhbHVlLWFkZGl0aXZlLWV4cHJlc3Np
b24tdGFpbD4KKyAqCisgKiA8dmFsdWUtYWRkaXRpdmUtZXhwcmVzc2lvbi10YWlsPiA6PQorICog
ICAgPGVtcHR5PiB8CisgKiAgICBTKyAnKycgUysgPHZhbHVlLW11bHRpcGxpY2F0aXZlLWV4cHJl
c3Npb24+IDx2YWx1ZS1hZGRpdGl2ZS1leHByZXNzaW9uLXRhaWw+IHwKKyAqICAgIFMrICctJyBT
KyA8dmFsdWUtbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbj4gPHZhbHVlLWFkZGl0aXZlLWV4cHJl
c3Npb24tdGFpbD4KKyAqCisgKiA8dmFsdWUtbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbj4KKyAq
ICAgIDx2YWx1ZS10ZXJtPiA8dmFsdWUtbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbi10YWlsPiB8
CisgKgorICogPHZhbHVlLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tdGFpbD4KKyAqICAgIDxl
bXB0eT4gfAorICogICAgUyogJyonIFMqIDx2YWx1ZS10ZXJtPiA8dmFsdWUtbXVsdGlwbGljYXRp
dmUtZXhwcmVzc2lvbi10YWlsPnwKKyAqICAgIFMqICcvJyBTKiA8dmFsdWUtdGVybT4gPHZhbHVl
LW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tdGFpbD58CisgKiAgICBTKyAnbW9kJyBTKyA8dmFs
dWUtdGVybT4gPHZhbHVlLW11bHRpcGxpY2F0aXZlLWV4cHJlc3Npb24tdGFpbD4KKyAqCisgKiA8
dmFsdWUtdGVybT4gOj0gJygnIDx2YWx1ZS1leHByZXNzaW9uPiAnKScgfCA8YXRvbWljLWxlbmd0
aD4gfCA8bnVtYmVyPgorICoKKyAqIDxhdG9taWMtbGVuZ3RoPiA6PSA8bnVtYmVyPjxsZW5ndGgt
dW5pdD4KKyAqLworY2xhc3MgQ1NTQ2FsY1ZhbHVlUGFyc2VyIHsKK3B1YmxpYzoKKyAgICBDU1ND
YWxjVmFsdWUqIHBhcnNlKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zKQorICAgIHsKKyAgICAg
ICAgdW5zaWduZWQgaW5kZXggPSAwOworICAgICAgICBWYWx1ZSByZXN1bHQ7CisgICAgICAgIGJv
b2wgb2sgPSBwYXJzZVZhbHVlRXhwcmVzc2lvbih0b2tlbnMsIDAsICZpbmRleCwgJnJlc3VsdCk7
CisgICAgICAgIEFTU0VSVChpbmRleCA8PSB0b2tlbnMtPnNpemUoKSk7CisgICAgICAgIGlmICgh
b2sgfHwgcmVzdWx0LnR5cGUgIT0gVmFsdWU6Okxlbmd0aCB8fCBpbmRleCAhPSB0b2tlbnMtPnNp
emUoKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gcmVzdWx0LnZhbHVl
LnJlbGVhc2UoKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgc3RydWN0IFZhbHVlIHsKKyAgICAg
ICAgZW51bSBUeXBlIHsgTGVuZ3RoLCBOdW1iZXIgfTsKKyAgICAgICAgT3duUHRyPENTU0NhbGNW
YWx1ZT4gdmFsdWU7CisgICAgICAgIFR5cGUgdHlwZTsKKyAgICB9OworCisgICAgY2hhciBvcGVy
YXRvclZhbHVlKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCB1bnNpZ25lZCBpbmRleCkKKyAg
ICB7CisgICAgICAgIGlmIChpbmRleCA+PSB0b2tlbnMtPnNpemUoKSkKKyAgICAgICAgICAgIHJl
dHVybiAwOworICAgICAgICBDU1NQYXJzZXJWYWx1ZSogdmFsdWUgPSB0b2tlbnMtPnZhbHVlQXQo
aW5kZXgpOworICAgICAgICBpZiAodmFsdWUtPnVuaXQgIT0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJh
dG9yKQorICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgcmV0dXJuIHZhbHVlLT5pVmFs
dWU7CisgICAgfQorCisgICAgYm9vbCBwYXJzZVZhbHVlKENTU1BhcnNlclZhbHVlTGlzdCogdG9r
ZW5zLCB1bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1bHQpCisgICAgeworICAgICAgICBDU1NQ
YXJzZXJWYWx1ZSogcGFyc2VyVmFsdWUgPSB0b2tlbnMtPnZhbHVlQXQoKmluZGV4KTsKKyAgICAg
ICAgaWYgKHBhcnNlclZhbHVlLT51bml0ID09IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvciB8fCBw
YXJzZXJWYWx1ZS0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1ZTo6RnVuY3Rpb24pCisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSA9IHBhcnNl
clZhbHVlLT5jcmVhdGVDU1NWYWx1ZSgpOworICAgICAgICBpZiAoIXZhbHVlIHx8ICF2YWx1ZS0+
aXNQcmltaXRpdmVWYWx1ZSgpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAg
IENTU1ByaW1pdGl2ZVZhbHVlKiBwcmltaXRpdmVWYWx1ZSA9IHN0YXRpY19jYXN0PENTU1ByaW1p
dGl2ZVZhbHVlKj4odmFsdWUuZ2V0KCkpOworICAgICAgICByZXN1bHQtPnZhbHVlID0gbmV3IENT
U0NhbGNQcmltaXRpdmVWYWx1ZShwcmltaXRpdmVWYWx1ZSk7CisgICAgICAgIHJlc3VsdC0+dHlw
ZSA9IHByaW1pdGl2ZVZhbHVlLT5wcmltaXRpdmVUeXBlKCkgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19QQVJTRVJfSU5URUdFUiA/IFZhbHVlOjpOdW1iZXIgOiBWYWx1ZTo6TGVuZ3RoOworCisg
ICAgICAgICsrKmluZGV4OworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBib29s
IHBhcnNlVmFsdWVUZXJtKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCBpbnQgZGVwdGgsIHVu
c2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAgICB7CisgICAgICAgIENIRUNLX0RFUFRI
X0FORF9JTkRFWDsKKworICAgICAgICBpZiAob3BlcmF0b3JWYWx1ZSh0b2tlbnMsICppbmRleCkg
PT0gJygnKSB7CisgICAgICAgICAgICB1bnNpZ25lZCBjdXJyZW50SW5kZXggPSAqaW5kZXggKyAx
OworICAgICAgICAgICAgaWYgKCFwYXJzZVZhbHVlRXhwcmVzc2lvbih0b2tlbnMsIGRlcHRoLCAm
Y3VycmVudEluZGV4LCByZXN1bHQpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgICAgICAgICAgaWYgKG9wZXJhdG9yVmFsdWUodG9rZW5zLCBjdXJyZW50SW5kZXgpICE9ICcp
JykKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAqaW5kZXggPSBj
dXJyZW50SW5kZXggKyAxOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKwor
ICAgICAgICByZXR1cm4gcGFyc2VWYWx1ZSh0b2tlbnMsIGluZGV4LCByZXN1bHQpOworICAgIH0K
KworICAgIGJvb2wgcGFyc2VWYWx1ZU11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbihDU1NQYXJzZXJW
YWx1ZUxpc3QqIHRva2VucywgaW50IGRlcHRoLCB1bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1
bHQpCisgICAgeworICAgICAgICBDSEVDS19ERVBUSF9BTkRfSU5ERVg7CisKKyAgICAgICAgaWYg
KCFwYXJzZVZhbHVlVGVybSh0b2tlbnMsIGRlcHRoLCBpbmRleCwgcmVzdWx0KSkKKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAvLyA8dmFsdWUtbXVsdGlwbGljYXRpdmUtZXhw
cmVzc2lvbi10YWlsPgorICAgICAgICB3aGlsZSAoKmluZGV4IDwgdG9rZW5zLT5zaXplKCkgLSAx
KSB7CisgICAgICAgICAgICBjaGFyIG9wZXJhdG9yQ2hhcmFjdGVyID0gb3BlcmF0b3JWYWx1ZSh0
b2tlbnMsICppbmRleCk7CisgICAgICAgICAgICBpZiAob3BlcmF0b3JDaGFyYWN0ZXIgIT0gJyon
ICYmIG9wZXJhdG9yQ2hhcmFjdGVyICE9ICcvJyAmJiBvcGVyYXRvckNoYXJhY3RlciAhPSAnJScp
CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICArKyppbmRleDsKKworICAgICAg
ICAgICAgVmFsdWUgcmhzOworICAgICAgICAgICAgaWYgKCFwYXJzZVZhbHVlVGVybSh0b2tlbnMs
IGRlcHRoLCBpbmRleCwgJnJocykpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgICAgICAgICBzd2l0Y2ggKG9wZXJhdG9yQ2hhcmFjdGVyKSB7CisgICAgICAgICAgICBjYXNl
ICcqJzoKKyAgICAgICAgICAgICAgICBpZiAocmVzdWx0LT50eXBlICE9IHJocy50eXBlKQorICAg
ICAgICAgICAgICAgICAgICByZXN1bHQtPnR5cGUgPSBWYWx1ZTo6TGVuZ3RoOworICAgICAgICAg
ICAgICAgIGVsc2UgaWYgKHJlc3VsdC0+dHlwZSA9PSBWYWx1ZTo6TGVuZ3RoKQorICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgICAgICByZXN1bHQtPnZhbHVl
ID0gbmV3IENTU0NhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZShyZXN1bHQtPnZhbHVlLnJlbGVhc2Uo
KSwgcmhzLnZhbHVlLnJlbGVhc2UoKSwgb3BlcmF0b3JDaGFyYWN0ZXIpOworICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAnLyc6CisgICAgICAgICAgICBjYXNlICclJzoK
KyAgICAgICAgICAgICAgICBpZiAocmhzLnZhbHVlLT5pc1plcm8oKSkKKyAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgIGlmIChyZXN1bHQtPnR5cGUgPT0g
cmhzLnR5cGUpCisgICAgICAgICAgICAgICAgICAgIHJlc3VsdC0+dHlwZSA9IFZhbHVlOjpOdW1i
ZXI7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAocmVzdWx0LT50eXBlID09IFZhbHVlOjpOdW1i
ZXIpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgICAg
IHJlc3VsdC0+dmFsdWUgPSBuZXcgQ1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlKHJlc3VsdC0+
dmFsdWUucmVsZWFzZSgpLCByaHMudmFsdWUucmVsZWFzZSgpLCBvcGVyYXRvckNoYXJhY3Rlcik7
CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBkZWZhdWx0OgorICAgICAgICAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIEFTU0VSVCgqaW5kZXggPD0g
dG9rZW5zLT5zaXplKCkpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBib29s
IHBhcnNlQWRkaXRpdmVWYWx1ZUV4cHJlc3Npb24oQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMs
IGludCBkZXB0aCwgdW5zaWduZWQqIGluZGV4LCBWYWx1ZSogcmVzdWx0KQorICAgIHsKKyAgICAg
ICAgQ0hFQ0tfREVQVEhfQU5EX0lOREVYOworCisgICAgICAgIGlmICghcGFyc2VWYWx1ZU11bHRp
cGxpY2F0aXZlRXhwcmVzc2lvbih0b2tlbnMsIGRlcHRoLCBpbmRleCwgcmVzdWx0KSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAvLyA8dmFsdWUtYWRkaXRpdmUtZXhwcmVz
c2lvbi10YWlsPgorICAgICAgICB3aGlsZSAoKmluZGV4IDwgdG9rZW5zLT5zaXplKCkgLSAxKSB7
CisgICAgICAgICAgICBjaGFyIG9wZXJhdG9yQ2hhcmFjdGVyID0gb3BlcmF0b3JWYWx1ZSh0b2tl
bnMsICppbmRleCk7CisgICAgICAgICAgICBpZiAob3BlcmF0b3JDaGFyYWN0ZXIgIT0gJysnICYm
IG9wZXJhdG9yQ2hhcmFjdGVyICE9ICctJykKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgICsrKmluZGV4OworCisgICAgICAgICAgICBWYWx1ZSByaHM7CisgICAgICAgICAgICBp
ZiAoIXBhcnNlVmFsdWVNdWx0aXBsaWNhdGl2ZUV4cHJlc3Npb24odG9rZW5zLCBkZXB0aCwgaW5k
ZXgsICZyaHMpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAg
aWYgKHJlc3VsdC0+dHlwZSAhPSByaHMudHlwZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICAgICAgICAgIHN3aXRjaCAob3BlcmF0b3JDaGFyYWN0ZXIpIHsKKyAgICAgICAg
ICAgIGNhc2UgJysnOgorICAgICAgICAgICAgY2FzZSAnLSc6CisgICAgICAgICAgICAgICAgcmVz
dWx0LT52YWx1ZSA9IG5ldyBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWUocmVzdWx0LT52YWx1
ZS5yZWxlYXNlKCksIHJocy52YWx1ZS5yZWxlYXNlKCksIG9wZXJhdG9yQ2hhcmFjdGVyKTsKKyAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgQVNTRVJUKCppbmRleCA8PSB0b2tl
bnMtPnNpemUoKSk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIGJvb2wgcGFy
c2VWYWx1ZUV4cHJlc3Npb24oQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIGludCBkZXB0aCwg
dW5zaWduZWQqIGluZGV4LCBWYWx1ZSogcmVzdWx0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIHBh
cnNlQWRkaXRpdmVWYWx1ZUV4cHJlc3Npb24odG9rZW5zLCBkZXB0aCwgaW5kZXgsIHJlc3VsdCk7
CisgICAgfQorfTsKKworUGFzc1JlZlB0cjxDU1NDYWxjVmFsdWU+IENTU0NhbGNWYWx1ZTo6Y3Jl
YXRlRnJvbVBhcnNlclZhbHVlTGlzdChDU1NQYXJzZXJWYWx1ZUxpc3QqIHBhcnNlclZhbHVlTGlz
dCkKK3sKKyAgICBDU1NDYWxjVmFsdWVQYXJzZXIgcGFyc2VyOworICAgIHJldHVybiBhZG9wdFJl
ZihwYXJzZXIucGFyc2UocGFyc2VyVmFsdWVMaXN0KSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5oIGIvV2ViQ29yZS9j
c3MvQ1NTQ2FsY1ZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjZi
OGNiZQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5oCkBAIC0w
LDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIENTU0NhbGNWYWx1ZV9oCisjZGVmaW5lIENTU0NhbGNWYWx1ZV9o
CisKKyNpbmNsdWRlICJDU1NWYWx1ZS5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENT
U1BhcnNlclZhbHVlTGlzdDsKK2NsYXNzIENTU1ZhbHVlTGlzdDsKK2NsYXNzIFJlbmRlclN0eWxl
OworY2xhc3MgQ2FsY1ZhbHVlOworCitjbGFzcyBDU1NDYWxjVmFsdWUgOiBwdWJsaWMgQ1NTVmFs
dWUgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0NhbGNWYWx1ZT4gY3JlYXRl
RnJvbVBhcnNlclZhbHVlTGlzdChDU1NQYXJzZXJWYWx1ZUxpc3QqKTsKKworICAgIHZpcnR1YWwg
Ym9vbCBpc0NhbGNWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKworICAgIHZpcnR1YWwg
Ym9vbCBpc1plcm8oKSBjb25zdCA9IDA7CisKKyAgICB2aXJ0dWFsIFBhc3NPd25QdHI8Q2FsY1Zh
bHVlPiB0b0NhbGNWYWx1ZShSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5
bGUpIGNvbnN0ID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IENTU0NhbGNWYWx1ZV9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkgYi9X
ZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkKaW5kZXggOWQ1ZWI2ZS4uZjk3YzYwOCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55CisrKyBiL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIu
eQpAQCAtOTcsNyArOTcsNyBAQCBzdGF0aWMgaW50IGNzc3l5bGV4KFlZU1RZUEUqIHl5bHZhbCwg
dm9pZCogcGFyc2VyKQogCiAlfQogCi0lZXhwZWN0IDU0CislZXhwZWN0IDYyCiAKICVub25hc3Nv
YyBMT1dFU1RfUFJFQwogCkBAIC0xNzUsNiArMTc1LDcgQEAgc3RhdGljIGludCBjc3N5eWxleChZ
WVNUWVBFKiB5eWx2YWwsIHZvaWQqIHBhcnNlcikKICV0b2tlbiA8c3RyaW5nPiBVUkkKICV0b2tl
biA8c3RyaW5nPiBGVU5DVElPTgogJXRva2VuIDxzdHJpbmc+IE5PVEZVTkNUSU9OCisldG9rZW4g
PHN0cmluZz4gQ0FMQ0ZVTkNUSU9OCiAKICV0b2tlbiA8c3RyaW5nPiBVTklDT0RFUkFOR0UKIApA
QCAtMjUyLDYgKzI1MywxMSBAQCBzdGF0aWMgaW50IGNzc3l5bGV4KFlZU1RZUEUqIHl5bHZhbCwg
dm9pZCogcGFyc2VyKQogJXR5cGUgPHZhbHVlPiB0ZXJtCiAldHlwZSA8dmFsdWU+IHVuYXJ5X3Rl
cm0KICV0eXBlIDx2YWx1ZT4gZnVuY3Rpb24KKyV0eXBlIDx2YWx1ZT4gY2FsY19mdW5jX3Rlcm0K
KyV0eXBlIDxjaGFyYWN0ZXI+IGNhbGNfZnVuY19vcGVyYXRvcgorJXR5cGUgPHZhbHVlTGlzdD4g
Y2FsY19mdW5jX2V4cHIKKyV0eXBlIDx2YWx1ZUxpc3Q+IGNhbGNfZnVuY19wYXJlbl9leHByCisl
dHlwZSA8dmFsdWU+IGNhbGNfZnVuY3Rpb24KIAogJXR5cGUgPHN0cmluZz4gZWxlbWVudF9uYW1l
CiAldHlwZSA8c3RyaW5nPiBhdHRyX25hbWUKQEAgLTEzNzEsNiArMTM3Nyw5IEBAIHRlcm06CiAg
IHwgZnVuY3Rpb24gewogICAgICAgJCQgPSAkMTsKICAgfQorICB8IGNhbGNfZnVuY3Rpb24gewor
ICAgICAgJCQgPSAkMTsKKyAgfQogICB8IHZhcmlhYmxlX3JlZmVyZW5jZSBtYXliZV9zcGFjZSB7
CiAgICAgICAkJCA9ICQxOwogICB9CkBAIC0xNDM4LDYgKzE0NDcsMTE0IEBAIGZ1bmN0aW9uOgog
ICAgICAgICAkJC5mdW5jdGlvbiA9IGY7CiAgIH0KICAgOworCitjYWxjX2Z1bmNfdGVybToKKyAg
ICB0ZXJtCisgIDsKKworY2FsY19mdW5jX29wZXJhdG9yOgorICAgICcrJyBtYXliZV9zcGFjZSB7
CisgICAgICAgICQkID0gJysnOworICAgIH0KKyAgfCAnLScgbWF5YmVfc3BhY2UgeworICAgICAg
ICAkJCA9ICctJzsKKyAgICB9CisgIHwgJyonIG1heWJlX3NwYWNlIHsKKyAgICAgICAgJCQgPSAn
Kic7CisgICAgfQorICB8ICcvJyBtYXliZV9zcGFjZSB7CisgICAgICAgICQkID0gJy8nOworICAg
IH0KKyAgfCBJREVOVCBtYXliZV9zcGFjZSB7CisgICAgICAgIGlmIChlcXVhbCgibW9kIiwgJDEu
Y2hhcmFjdGVycywgJDEubGVuZ3RoKSkKKyAgICAgICAgICAgICQkID0gJyUnOworICAgICAgICBl
bHNlCisgICAgICAgICAgICBZWUVSUk9SOworICAgIH0KKyAgOworCitjYWxjX2Z1bmNfcGFyZW5f
ZXhwcjoKKyAgICAnKCcgbWF5YmVfc3BhY2UgY2FsY19mdW5jX2V4cHIgbWF5YmVfc3BhY2UgJykn
IG1heWJlX3NwYWNlIHsKKyAgICAgICAgJCQgPSAkMzsKKyAgICAgICAgaWYgKCQkKSB7CisgICAg
ICAgICAgICBDU1NQYXJzZXJWYWx1ZSB2OworICAgICAgICAgICAgdi5pZCA9IDA7CisgICAgICAg
ICAgICB2LnVuaXQgPSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3I7CisgICAgICAgICAgICB2LmlW
YWx1ZSA9ICcoJzsKKyAgICAgICAgICAgICQkLT5pbnNlcnRWYWx1ZUF0KDAsIHYpOworICAgICAg
ICAgICAgdi5pVmFsdWUgPSAnKSc7CisgICAgICAgICAgICAkJC0+YWRkVmFsdWUodik7CisgICAg
ICAgIH0KKyAgICB9CisKK2NhbGNfZnVuY19leHByOgorICAgIGNhbGNfZnVuY190ZXJtIG1heWJl
X3NwYWNlIHsKKyAgICAgICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4o
cGFyc2VyKTsKKyAgICAgICAgJCQgPSBwLT5jcmVhdGVGbG9hdGluZ1ZhbHVlTGlzdCgpOworICAg
ICAgICAkJC0+YWRkVmFsdWUocC0+c2lua0Zsb2F0aW5nVmFsdWUoJDEpKTsKKyAgICB9CisgIHwg
Y2FsY19mdW5jX2V4cHIgbWF5YmVfc3BhY2UgY2FsY19mdW5jX3Rlcm0gbWF5YmVfc3BhY2Ugewor
ICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwor
ICAgICAgICAkJCA9ICQxOworICAgICAgICBpZiAoJCQpCisgICAgICAgICAgICAkJC0+YWRkVmFs
dWUocC0+c2lua0Zsb2F0aW5nVmFsdWUoJDMpKTsKKyAgICB9CisgIHwgY2FsY19mdW5jX2V4cHIg
Y2FsY19mdW5jX29wZXJhdG9yIGNhbGNfZnVuY190ZXJtIHsKKyAgICAgICAgQ1NTUGFyc2VyKiBw
ID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKTsKKyAgICAgICAgJCQgPSAkMTsKKyAg
ICAgICAgaWYgKCQkKSB7CisgICAgICAgICAgICBpZiAoJDIpIHsKKyAgICAgICAgICAgICAgICBD
U1NQYXJzZXJWYWx1ZSB2OworICAgICAgICAgICAgICAgIHYuaWQgPSAwOworICAgICAgICAgICAg
ICAgIHYudW5pdCA9IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvcjsKKyAgICAgICAgICAgICAgICB2
LmlWYWx1ZSA9ICQyOworICAgICAgICAgICAgICAgICQkLT5hZGRWYWx1ZSh2KTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICQkLT5hZGRWYWx1ZShwLT5zaW5rRmxvYXRpbmdWYWx1ZSgkMykp
OworICAgICAgICB9CisgICAgfQorICB8IGNhbGNfZnVuY19leHByIGNhbGNfZnVuY19vcGVyYXRv
ciBjYWxjX2Z1bmNfcGFyZW5fZXhwciB7CisgICAgICAgICQkID0gJDE7CisgICAgICAgIGlmICgk
JCkgeworICAgICAgICAgICAgaWYgKCQyKSB7CisgICAgICAgICAgICAgICAgQ1NTUGFyc2VyVmFs
dWUgdjsKKyAgICAgICAgICAgICAgICB2LmlkID0gMDsKKyAgICAgICAgICAgICAgICB2LnVuaXQg
PSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3I7CisgICAgICAgICAgICAgICAgdi5pVmFsdWUgPSAk
MjsKKyAgICAgICAgICAgICAgICAkJC0+YWRkVmFsdWUodik7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBpZiAoJDMpCisgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
ICQzLT5zaXplKCk7IGkrKykKKyAgICAgICAgICAgICAgICAgICAgJCQtPmFkZFZhbHVlKCokMy0+
dmFsdWVBdChpKSk7CisgICAgICAgIH0KKyAgICB9CisgIHwgY2FsY19mdW5jX3BhcmVuX2V4cHIK
KyAgfCBjYWxjX2Z1bmNfZXhwciBlcnJvciB7CisgICAgICAgICQkID0gMDsKKyAgICB9CisgIDsK
KworY2FsY19mdW5jdGlvbjoKKyAgICBDQUxDRlVOQ1RJT04gbWF5YmVfc3BhY2UgY2FsY19mdW5j
X2V4cHIgJyknIG1heWJlX3NwYWNlIHsKKyAgICAgICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nh
c3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKTsKKyAgICAgICAgQ1NTUGFyc2VyRnVuY3Rpb24qIGYgPSBw
LT5jcmVhdGVGbG9hdGluZ0Z1bmN0aW9uKCk7CisgICAgICAgIGYtPm5hbWUgPSAkMTsKKyAgICAg
ICAgZi0+YXJncyA9IHAtPnNpbmtGbG9hdGluZ1ZhbHVlTGlzdCgkMyk7CisgICAgICAgICQkLmlk
ID0gMDsKKyAgICAgICAgJCQudW5pdCA9IENTU1BhcnNlclZhbHVlOjpGdW5jdGlvbjsKKyAgICAg
ICAgJCQuZnVuY3Rpb24gPSBmOworICAgIH0KKyAgfCBDQUxDRlVOQ1RJT04gbWF5YmVfc3BhY2Ug
ZXJyb3IgeworICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihw
YXJzZXIpOworICAgICAgICBDU1NQYXJzZXJGdW5jdGlvbiogZiA9IHAtPmNyZWF0ZUZsb2F0aW5n
RnVuY3Rpb24oKTsKKyAgICAgICAgZi0+bmFtZSA9ICQxOworICAgICAgICBmLT5hcmdzID0gMDsK
KyAgICAgICAgJCQuaWQgPSAwOworICAgICAgICAkJC51bml0ID0gQ1NTUGFyc2VyVmFsdWU6OkZ1
bmN0aW9uOworICAgICAgICAkJC5mdW5jdGlvbiA9IGY7CisgICAgfQorICA7CisKIC8qCiAgKiBU
aGVyZSBpcyBhIGNvbnN0cmFpbnQgb24gdGhlIGNvbG9yIHRoYXQgaXQgbXVzdAogICogaGF2ZSBl
aXRoZXIgMyBvciA2IGhleC1kaWdpdHMgKGkuZS4sIFswLTlhLWZBLUZdKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5k
ZXggZWM1OTA1NS4uZjgzYWIwYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNw
cAorKysgYi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5j
bHVkZSAiQ1N0cmluZy5oIgogI2luY2x1ZGUgIkNTU1RpbWluZ0Z1bmN0aW9uVmFsdWUuaCIKICNp
bmNsdWRlICJDU1NCb3JkZXJJbWFnZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTQ2FsY1ZhbHVlLmgi
CiAjaW5jbHVkZSAiQ1NTQ2FudmFzVmFsdWUuaCIKICNpbmNsdWRlICJDU1NDaGFyc2V0UnVsZS5o
IgogI2luY2x1ZGUgIkNTU0N1cnNvckltYWdlVmFsdWUuaCIKQEAgLTEyNSw2ICsxMjYsMTEgQEAg
c3RhdGljIGJvb2wgaGFzUHJlZml4KGNvbnN0IGNoYXIqIHN0cmluZywgdW5zaWduZWQgbGVuZ3Ro
LCBjb25zdCBjaGFyKiBwcmVmaXgpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitzdGF0aWMgYm9v
bCBpc0NhbGMoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlKQoreworICAgIHJldHVybiB2YWx1ZS0+dW5p
dCA9PSBDU1NQYXJzZXJWYWx1ZTo6RnVuY3Rpb24gJiYgZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUt
PmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1jYWxjKCIpOworfQorCiBDU1NQYXJzZXI6OkNTU1Bh
cnNlcihib29sIHN0cmljdFBhcnNpbmcpCiAgICAgOiBtX3N0cmljdChzdHJpY3RQYXJzaW5nKQog
ICAgICwgbV9pbXBvcnRhbnQoZmFsc2UpCkBAIC0xMDEwLDkgKzEwMTYsMTIgQEAgYm9vbCBDU1NQ
YXJzZXI6OnBhcnNlVmFsdWUoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgICAgICAg
ICB2YWxpZFByaW1pdGl2ZSA9ICghaWQgJiYgdmFsaWRVbml0KHZhbHVlLCBGTGVuZ3RoIHwgRlBl
cmNlbnQsIG1fc3RyaWN0KSk7CiAgICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBDU1NQcm9wZXJ0
eUhlaWdodDogICAgICAgICAgICAgICAvLyA8bGVuZ3RoPiB8IDxwZXJjZW50YWdlPiB8IGF1dG8g
fCBpbmhlcml0Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eVdpZHRoOiAgICAgICAgICAgICAgICAvLyA8
bGVuZ3RoPiB8IDxwZXJjZW50YWdlPiB8IGF1dG8gfCBpbmhlcml0Ci0gICAgICAgIGlmIChpZCA9
PSBDU1NWYWx1ZUF1dG8gfHwgaWQgPT0gQ1NTVmFsdWVJbnRyaW5zaWMgfHwgaWQgPT0gQ1NTVmFs
dWVNaW5JbnRyaW5zaWMpCisgICAgY2FzZSBDU1NQcm9wZXJ0eUhlaWdodDogICAgICAgICAgICAg
ICAvLyA8bGVuZ3RoPiB8IDxwZXJjZW50YWdlPiB8IGF1dG8gfCBpbmhlcml0IHwgY2FsYygpCisg
ICAgY2FzZSBDU1NQcm9wZXJ0eVdpZHRoOiAgICAgICAgICAgICAgICAvLyA8bGVuZ3RoPiB8IDxw
ZXJjZW50YWdlPiB8IGF1dG8gfCBpbmhlcml0IHwgY2FsYygpCisgICAgICAgIGlmIChpc0NhbGMo
dmFsdWUpKSB7CisgICAgICAgICAgICBpZiAocGFyc2VDYWxjdWxhdGVkTGVuZ3RoKHByb3BJZCwg
dmFsdWUsIGltcG9ydGFudCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAg
IH0gZWxzZSBpZiAoaWQgPT0gQ1NTVmFsdWVBdXRvIHx8IGlkID09IENTU1ZhbHVlSW50cmluc2lj
IHx8IGlkID09IENTU1ZhbHVlTWluSW50cmluc2ljKQogICAgICAgICAgICAgdmFsaWRQcmltaXRp
dmUgPSB0cnVlOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICAvLyAjIyMgaGFuZGxlIG11bHRp
bGVuZ3RoIGNhc2Ugd2hlcmUgd2UgYWxsb3cgcmVsYXRpdmUgdW5pdHMKQEAgLTM4MjMsNiArMzgz
MiwyMiBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VTaGFkb3coaW50IHByb3BJZCwgYm9vbCBpbXBv
cnRhbnQpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIENTU1BhcnNlcjo6cGFyc2VDYWxj
dWxhdGVkTGVuZ3RoKGludCBwcm9wSWQsIENTU1BhcnNlclZhbHVlKiBwYXJzZXJWYWx1ZSwgYm9v
bCBpbXBvcnRhbnQpCit7CisgICAgQVNTRVJUKGlzQ2FsYyhwYXJzZXJWYWx1ZSkpOworCisgICAg
Q1NTUGFyc2VyVmFsdWVMaXN0KiBhcmdzID0gcGFyc2VyVmFsdWUtPmZ1bmN0aW9uLT5hcmdzOwor
ICAgIGlmICghYXJncyB8fCAhYXJncy0+c2l6ZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBjYWxjID0gQ1NTQ2FsY1ZhbHVlOjpjcmVhdGVGcm9t
UGFyc2VyVmFsdWVMaXN0KGFyZ3MpOworICAgIGlmICghY2FsYy5nZXQoKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgYWRkUHJvcGVydHkocHJvcElkLCBjYWxjLnJlbGVhc2UoKSwgaW1w
b3J0YW50KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBDU1NQYXJzZXI6OnBhcnNlUmVm
bGVjdChpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCkKIHsKICAgICAvLyBib3gtcmVmbGVjdDog
PGRpcmVjdGlvbj4gPG9mZnNldD4gPG1hc2s+CkBAIC00NjUwLDYgKzQ2NzUsNyBAQCBpbnQgQ1NT
UGFyc2VyOjpsZXgodm9pZCogeXlsdmFsV2l0aG91dFR5cGUpCiAgICAgY2FzZSBVTklDT0RFUkFO
R0U6CiAgICAgY2FzZSBGVU5DVElPTjoKICAgICBjYXNlIE5PVEZVTkNUSU9OOgorICAgIGNhc2Ug
Q0FMQ0ZVTkNUSU9OOgogICAgIGNhc2UgVkFSQ0FMTDoKICAgICAgICAgeXlsdmFsLT5zdHJpbmcu
Y2hhcmFjdGVycyA9IHQ7CiAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmxlbmd0aCA9IGxlbmd0aDsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmgKaW5kZXggMzkyMmEyYS4uYjNkOTdhMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTIyOSw2ICsyMjksOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGludCBsZXgoKTsKICAgICAgICAgCiAgICAg
cHJpdmF0ZToKKyAgICAgICAgYm9vbCBwYXJzZUNhbGN1bGF0ZWRMZW5ndGgoaW50IHByb3BJZCwg
Q1NTUGFyc2VyVmFsdWUqLCBib29sIGltcG9ydGFudCk7CisKICAgICAgICAgdm9pZCByZWNoZWNr
QXRLZXl3b3JkKGNvbnN0IFVDaGFyKiBzdHIsIGludCBsZW4pOwogICAgIAogICAgICAgICB2b2lk
IGNsZWFyUHJvcGVydGllcygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFs
dWVzLmNwcCBiL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5jcHAKaW5kZXggNTVlY2I3Zi4u
MGZiYjAyZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmNwcAorKysg
Yi9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwCkBAIC00Niw3ICs0NiwxNCBAQCB2b2lk
IENTU1BhcnNlclZhbHVlTGlzdDo6YWRkVmFsdWUoY29uc3QgQ1NTUGFyc2VyVmFsdWUmIHYpCiAg
ICAgICAgIG1fdmFyaWFibGVzQ291bnQrKzsKICAgICBtX3ZhbHVlcy5hcHBlbmQodik7CiB9Ci0g
ICAgCisKK3ZvaWQgQ1NTUGFyc2VyVmFsdWVMaXN0OjppbnNlcnRWYWx1ZUF0KHVuc2lnbmVkIGks
IGNvbnN0IENTU1BhcnNlclZhbHVlJiB2KQoreworICAgIGlmICh2LnVuaXQgPT0gQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU19QQVJTRVJfVkFSSUFCTEVfRlVOQ1RJT05fU1lOVEFYKSAvLyBpc1Zhcmlh
YmxlKCkgaXMgbm90IGlubGluZWQuIFRoaXMgaXMgaG90LgorICAgICAgICBtX3ZhcmlhYmxlc0Nv
dW50Kys7CisgICAgbV92YWx1ZXMuaW5zZXJ0KGksIHYpOworfQorCiB2b2lkIENTU1BhcnNlclZh
bHVlTGlzdDo6ZGVsZXRlVmFsdWVBdCh1bnNpZ25lZCBpKQogeyAKICAgICBpZiAobV92YWx1ZXNb
aV0uaXNWYXJpYWJsZSgpKQpAQCAtODEsNCArODgsMyBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBD
U1NQYXJzZXJWYWx1ZTo6Y3JlYXRlQ1NTVmFsdWUoKQogfQogCiB9Ci0KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVz
LmgKaW5kZXggMWU5NzY3YS4uMThiMDMzMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyVmFsdWVzLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKQEAgLTcwLDYg
KzcwLDcgQEAgcHVibGljOgogICAgIH5DU1NQYXJzZXJWYWx1ZUxpc3QoKTsKICAgICAKICAgICB2
b2lkIGFkZFZhbHVlKGNvbnN0IENTU1BhcnNlclZhbHVlJik7CisgICAgdm9pZCBpbnNlcnRWYWx1
ZUF0KHVuc2lnbmVkLCBjb25zdCBDU1NQYXJzZXJWYWx1ZSYpOwogICAgIHZvaWQgZGVsZXRlVmFs
dWVBdCh1bnNpZ25lZCk7CiAKICAgICB1bnNpZ25lZCBzaXplKCkgY29uc3QgeyByZXR1cm4gbV92
YWx1ZXMuc2l6ZSgpOyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1
ZS5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKaW5kZXggMWYyYzljYS4u
YzYyNjBkNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCisr
KyBiL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcApAQCAtMjQ4LDYgKzI0OCwxMCBA
QCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoY29uc3QgTGVuZ3RoJiBsZW5n
dGgpCiAgICAgICAgICAgICBtX3R5cGUgPSBDU1NfUEVSQ0VOVEFHRTsKICAgICAgICAgICAgIG1f
dmFsdWUubnVtID0gbGVuZ3RoLnBlcmNlbnQoKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIENhbGN1bGF0ZWQ6CisgICAgICAgICAgICAvLyBXZSBjYW4ndCBnaXZlIGEgc2FuZSBw
cmltaXRpdmUgdmFsdWUgZm9yIGNhbGMuCisgICAgICAgICAgICBtX3R5cGUgPSBDU1NfVU5LTk9X
TjsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFJlbGF0aXZlOgogICAgICAgICBj
YXNlIFN0YXRpYzoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9XZWJDb3JlL2Nzcy9DU1NTdHls
ZVNlbGVjdG9yLmNwcAppbmRleCBhZWVkOGFkLi5lNzkyYjRkIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVj
dG9yLmNwcApAQCAtMjYsNyArMjYsOSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkNTU1N0eWxlU2VsZWN0b3IuaCIKIAorI2luY2x1ZGUgIkNhbGNWYWx1ZS5oIgogI2luY2x1ZGUg
IkNTU0JvcmRlckltYWdlVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NDYWxjVmFsdWUuaCIKICNpbmNs
dWRlICJDU1NDdXJzb3JJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udEZhY2VSdWxlLmgi
CiAjaW5jbHVkZSAiQ1NTSW1wb3J0UnVsZS5oIgpAQCAtMjg2Miw3ICsyODY0LDcgQEAgdm9pZCBD
U1NSdWxlU2V0OjphZGRSdWxlc0Zyb21TaGVldChDU1NTdHlsZVNoZWV0KiBzaGVldCwgY29uc3Qg
TWVkaWFRdWVyeUV2YWx1YXQKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC8vIHRo
aXMgaXMgbW9zdGx5IGJvcmluZyBzdHVmZiBvbiBob3cgdG8gYXBwbHkgYSBjZXJ0YWluIHJ1bGUg
dG8gdGhlIHJlbmRlcnN0eWxlLi4uCiAKLXN0YXRpYyBMZW5ndGggY29udmVydFRvTGVuZ3RoKENT
U1ByaW1pdGl2ZVZhbHVlKiBwcmltaXRpdmVWYWx1ZSwgUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5k
ZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciA9IDEsIGJvb2wgKm9rID0gMCkK
K0xlbmd0aCBDU1NTdHlsZVNlbGVjdG9yOjpjb252ZXJ0VG9MZW5ndGgoQ1NTUHJpbWl0aXZlVmFs
dWUqIHByaW1pdGl2ZVZhbHVlLCBSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290
U3R5bGUsIGRvdWJsZSBtdWx0aXBsaWVyLCBib29sICpvaykKIHsKICAgICAvLyBUaGlzIGZ1bmN0
aW9uIGlzIHRvbGVyYW50IG9mIGEgbnVsbCBzdHlsZSB2YWx1ZS4gVGhlIG9ubHkgcGxhY2Ugc3R5
bGUgaXMgdXNlZCBpcyBpbgogICAgIC8vIGxlbmd0aCBtZWFzdXJlbWVudHMsIGxpa2UgJ2Vtcycg
YW5kICdweCcuIEFuZCBpbiB0aG9zZSBjYXNlcyBzdHlsZSBpcyBvbmx5IHVzZWQKQEAgLTM3NDUs
NyArMzc0NywxNSBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkoaW50IGlk
LCBDU1NWYWx1ZSAqdmFsdWUpCiAgICAgICAgICAgICBIQU5ETEVfSU5JVElBTF9DT05EX1dJVEhf
VkFMVUUoQ1NTUHJvcGVydHlNYXJnaW5MZWZ0LCBNYXJnaW5MZWZ0LCBNYXJnaW4pCiAgICAgICAg
ICAgICBIQU5ETEVfSU5JVElBTF9DT05EKENTU1Byb3BlcnR5VGV4dEluZGVudCwgVGV4dEluZGVu
dCkKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfSAKKyAgICAgICAgfQorICAgICAgICBp
ZiAodmFsdWUtPmlzQ2FsY1ZhbHVlKCkpIHsKKyAgICAgICAgICAgIENTU0NhbGNWYWx1ZSogY3Nz
Q2FsY1ZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTQ2FsY1ZhbHVlKj4odmFsdWUpOworICAgICAgICAg
ICAgT3duUHRyPENhbGNWYWx1ZT4gY2FsY1ZhbHVlID0gY3NzQ2FsY1ZhbHVlLT50b0NhbGNWYWx1
ZShtX3N0eWxlLmdldCgpLCBtX3Jvb3RFbGVtZW50U3R5bGUpOworICAgICAgICAgICAgaWYgKGNh
bGNWYWx1ZS5nZXQoKSkgeworICAgICAgICAgICAgICAgIGwgPSBMZW5ndGgoY2FsY1ZhbHVlLnJl
bGVhc2UoKSk7CisgICAgICAgICAgICAgICAgYXBwbHkgPSB0cnVlOworICAgICAgICAgICAgfQor
ICAgICAgICB9CiAKICAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlICYmICFhcHBseSkgewogICAg
ICAgICAgICAgaW50IHR5cGUgPSBwcmltaXRpdmVWYWx1ZS0+cHJpbWl0aXZlVHlwZSgpOwpAQCAt
Mzg0Nyw2ICszODU3LDE0IEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShp
bnQgaWQsIENTU1ZhbHVlICp2YWx1ZSkKICAgICAgICAgICAgIEhBTkRMRV9JTklUSUFMX0NPTkRf
V0lUSF9WQUxVRShDU1NQcm9wZXJ0eU1pbkhlaWdodCwgTWluSGVpZ2h0LCBNaW5TaXplKQogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CisgICAgICAgIGlmICh2YWx1ZS0+aXNDYWxjVmFs
dWUoKSkgeworICAgICAgICAgICAgQ1NTQ2FsY1ZhbHVlKiBjc3NDYWxjVmFsdWUgPSBzdGF0aWNf
Y2FzdDxDU1NDYWxjVmFsdWUqPih2YWx1ZSk7CisgICAgICAgICAgICBPd25QdHI8Q2FsY1ZhbHVl
PiBjYWxjVmFsdWUgPSBjc3NDYWxjVmFsdWUtPnRvQ2FsY1ZhbHVlKG1fc3R5bGUuZ2V0KCksIG1f
cm9vdEVsZW1lbnRTdHlsZSk7CisgICAgICAgICAgICBpZiAoY2FsY1ZhbHVlLmdldCgpKSB7Cisg
ICAgICAgICAgICAgICAgbCA9IExlbmd0aChjYWxjVmFsdWUucmVsZWFzZSgpKTsKKyAgICAgICAg
ICAgICAgICBhcHBseSA9IHRydWU7CisgICAgICAgICAgICB9CisgICAgICAgIH0KIAogICAgICAg
ICBpZiAocHJpbWl0aXZlVmFsdWUgJiYgIWFwcGx5KSB7CiAgICAgICAgICAgICB1bnNpZ25lZCBz
aG9ydCB0eXBlID0gcHJpbWl0aXZlVmFsdWUtPnByaW1pdGl2ZVR5cGUoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaCBiL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuaAppbmRleCBhYWMxYmFlLi5lNWNkY2E0IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy9D
U1NTdHlsZVNlbGVjdG9yLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCkBA
IC0yMTIsNiArMjEyLDggQEAgcHVibGljOgogICAgICAgICAgICAgbXV0YWJsZSBIYXNoU2V0PExp
bmtIYXNoLCBMaW5rSGFzaEhhc2g+IG1fbGlua3NDaGVja2VkRm9yVmlzaXRlZFN0YXRlOwogICAg
ICAgICB9OwogCisgICAgICAgIHN0YXRpYyBMZW5ndGggY29udmVydFRvTGVuZ3RoKENTU1ByaW1p
dGl2ZVZhbHVlKiBwcmltaXRpdmVWYWx1ZSwgUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHls
ZSogcm9vdFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciA9IDEsIGJvb2wgKm9rID0gMCk7CisKICAg
ICBwcml2YXRlOgogICAgICAgICBzdGF0aWMgUmVuZGVyU3R5bGUqIHNfc3R5bGVOb3RZZXRBdmFp
bGFibGU7CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmggYi9XZWJDb3JlL2Nz
cy9DU1NWYWx1ZS5oCmluZGV4IDBiZDY0OTYuLjRjN2NlMWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
Y3NzL0NTU1ZhbHVlLmgKKysrIGIvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaApAQCAtNjEsNiArNjEs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzVGltaW5nRnVuY3Rpb25WYWx1ZSgpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzVmFsdWVMaXN0KCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNXZWJLaXRDU1NUcmFuc2Zv
cm1WYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGlzQ2Fs
Y1ZhbHVlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogI2lmIEVOQUJMRShTVkcpCiAgICAg
dmlydHVhbCBib29sIGlzU1ZHQ29sb3IoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9jc3MvdG9rZW5pemVyLmZsZXggYi9XZWJDb3JlL2Nzcy90b2tlbml6ZXIu
ZmxleAppbmRleCAxNTY5ZWUyLi5hZThlZjk5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2Nzcy90b2tl
bml6ZXIuZmxleAorKysgYi9XZWJDb3JlL2Nzcy90b2tlbml6ZXIuZmxleApAQCAtMTEsMTEgKzEx
LDEzIEBAIHVuaWNvZGUgICAgICAgICBcXHtofXsxLDZ9WyBcdFxyXG5cZl0/CiBlc2NhcGUgICAg
ICAgICAge3VuaWNvZGV9fFxcWyAtflwyMDAtXDM3N10KIG5tc3RhcnQgICAgICAgICBbX2EtekEt
Wl18e25vbmFzY2lpfXx7ZXNjYXBlfQogbm1jaGFyICAgICAgICAgIFtfYS16QS1aMC05LV18e25v
bmFzY2lpfXx7ZXNjYXBlfQorZGltY2hhciAgICAgICAgIFtfYS16QS1aMC05XXx7bm9uYXNjaWl9
fHtlc2NhcGV9CiBzdHJpbmcxICAgICAgICAgXCIoW1x0ICEjJCUmKC1+XXxcXHtubH18XCd8e25v
bmFzY2lpfXx7ZXNjYXBlfSkqXCIKIHN0cmluZzIgICAgICAgICBcJyhbXHQgISMkJSYoLX5dfFxc
e25sfXxcInx7bm9uYXNjaWl9fHtlc2NhcGV9KSpcJwogaGV4Y29sb3IgICAgICAgIHtofXszfXx7
aH17Nn0KIAogaWRlbnQgICAgICAgICAgIC0/e25tc3RhcnR9e25tY2hhcn0qCitkaW1pZGVudCAg
ICAgICAge25tc3RhcnR9e2RpbWNoYXJ9KgogbmFtZSAgICAgICAgICAgIHtubWNoYXJ9KwogbnVt
ICAgICAgICAgICAgIFswLTldK3xbMC05XSoiLiJbMC05XSsKIGludG51bSAgICAgICAgICBbMC05
XSsKQEAgLTkwLDcgKzkyLDcgQEAgbnRoICAgICAgICAgICAgICgtP1swLTldKm5bXCstXVswLTld
Kyl8KC0/WzAtOV0qbikKIHtudW19cyAgICAgICAgICAgICAgICAgIHt5eVRvayA9IFNFQ1M7IHJl
dHVybiB5eVRvazt9CiB7bnVtfUh6ICAgICAgICAgICAgICAgICB7eXlUb2sgPSBIRVJaOyByZXR1
cm4geXlUb2s7fQoge251bX1rSHogICAgICAgICAgICAgICAge3l5VG9rID0gS0hFUlo7IHJldHVy
biB5eVRvazt9Ci17bnVtfXtpZGVudH0gICAgICAgICAgICB7eXlUb2sgPSBESU1FTjsgcmV0dXJu
IHl5VG9rO30KK3tudW19e2RpbWlkZW50fSAgICAgICAgIHt5eVRvayA9IERJTUVOOyByZXR1cm4g
eXlUb2s7fQoge251bX0lKyAgICAgICAgICAgICAgICAge3l5VG9rID0gUEVSQ0VOVEFHRTsgcmV0
dXJuIHl5VG9rO30KIHtpbnRudW19ICAgICAgICAgICAgICAgIHt5eVRvayA9IElOVEVHRVI7IHJl
dHVybiB5eVRvazt9CiB7bnVtfSAgICAgICAgICAgICAgICAgICB7eXlUb2sgPSBGTE9BVFRPS0VO
OyByZXR1cm4geXlUb2s7fQpAQCAtOTksNiArMTAxLDcgQEAgbnRoICAgICAgICAgICAgICgtP1sw
LTldKm5bXCstXVswLTldKyl8KC0/WzAtOV0qbikKICJ1cmwoInt3fXtzdHJpbmd9e3d9IikiIHt5
eVRvayA9IFVSSTsgcmV0dXJuIHl5VG9rO30KICJ1cmwoInt3fXt1cmx9e3d9IikiICAgIHt5eVRv
ayA9IFVSSTsgcmV0dXJuIHl5VG9rO30KICItd2Via2l0LXZhcigie3d9e2lkZW50fXt3fSIpIiB7
IHl5VG9rID0gVkFSQ0FMTDsgcmV0dXJuIHl5VG9rOyB9CisiLXdlYmtpdC1jYWxjKCIgICAgICAg
ICB7eXlUb2sgPSBDQUxDRlVOQ1RJT047IHJldHVybiB5eVRvazsgfQoge2lkZW50fSIoIiAgICAg
ICAgICAgICAge3l5VG9rID0gRlVOQ1RJT047IHJldHVybiB5eVRvazt9CiAKIFVcK3tyYW5nZX0g
ICAgICAgICAgICAgIHt5eVRvayA9IFVOSUNPREVSQU5HRTsgcmV0dXJuIHl5VG9rO30KZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0v
Q2FsY1ZhbHVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNmIyMDZi
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUuY3BwCkBAIC0w
LDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ2FsY1ZhbHVlLmgiCisK
KyNpbmNsdWRlIDxsaW1pdHM+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworQ2FsY0JpbmFyeU9w
ZXJhdGlvblZhbHVlOjpDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWUoQ2FsY1ZhbHVlKiBsZWZ0U2lk
ZSwgQ2FsY1ZhbHVlKiByaWdodFNpZGUsIGNoYXIgb3ApCisgICAgOiBtX2xlZnRTaWRlKGxlZnRT
aWRlKQorICAgICwgbV9yaWdodFNpZGUocmlnaHRTaWRlKQorICAgICwgbV9vcGVyYXRvcihvcCkK
K3sKKyAgICBBU1NFUlQob3AgPT0gJysnIHx8IG9wID09ICctJyB8fCBvcCA9PSAnKicgfHwgb3Ag
PT0gJy8nIHx8IG9wID09ICclJyk7Cit9CisKK2Zsb2F0IENhbGNCaW5hcnlPcGVyYXRpb25WYWx1
ZTo6ZXZhbHVhdGUoZmxvYXQgbWF4VmFsdWUpIGNvbnN0Cit7CisgICAgZmxvYXQgbGVmdCA9IG1f
bGVmdFNpZGUtPmV2YWx1YXRlKG1heFZhbHVlKTsKKyAgICBmbG9hdCByaWdodCA9IG1fcmlnaHRT
aWRlLT5ldmFsdWF0ZShtYXhWYWx1ZSk7CisgICAgc3dpdGNoIChtX29wZXJhdG9yKSB7CisgICAg
Y2FzZSAnKyc6CisgICAgICAgIHJldHVybiBsZWZ0ICsgcmlnaHQ7CisgICAgY2FzZSAnLSc6Cisg
ICAgICAgIHJldHVybiBsZWZ0IC0gcmlnaHQ7CisgICAgY2FzZSAnKic6CisgICAgICAgIHJldHVy
biBsZWZ0ICogcmlnaHQ7CisgICAgY2FzZSAnLyc6CisgICAgICAgIGlmICghcmlnaHQpCisgICAg
ICAgICAgICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OnF1aWV0X05hTigpOwor
ICAgICAgICByZXR1cm4gbGVmdCAvIHJpZ2h0OworICAgIGNhc2UgJyUnOgorICAgICAgICBpZiAo
IXJpZ2h0KQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+Ojpx
dWlldF9OYU4oKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4obGVmdCkgJSBzdGF0
aWNfY2FzdDxpbnQ+KHJpZ2h0KTsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjpxdWll
dF9OYU4oKTsKKyAgICB9Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmggYi9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1
ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlNzBjNzcKLS0tIC9kZXYv
bnVsbAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5oCkBAIC0wLDAgKzEsOTUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAg
ICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQor
ICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9X
TkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIENhbGNWYWx1ZV9oCisjZGVmaW5lIENhbGNWYWx1ZV9oCisKKyNpbmNsdWRlICJMZW5n
dGguaCIKKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgQ2FsY1ZhbHVlIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5DYWxjVmFsdWUoKQorICAg
IHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGZsb2F0IGV2YWx1YXRlKGZsb2F0IG1heFZhbHVlKSBj
b25zdCA9IDA7Cit9OworCitjbGFzcyBDYWxjTnVtYmVyVmFsdWUgOiBwdWJsaWMgQ2FsY1ZhbHVl
IHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBDYWxjTnVtYmVyVmFsdWUoZmxvYXQgdmFsdWUpCisg
ICAgICAgIDogbV92YWx1ZSh2YWx1ZSkKKyAgICB7CisgICAgfQorCisgICAgdmlydHVhbCBmbG9h
dCBldmFsdWF0ZShmbG9hdCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX3ZhbHVlOwor
ICAgIH0KKworcHJpdmF0ZToKKyAgICBmbG9hdCBtX3ZhbHVlOworfTsKKworY2xhc3MgQ2FsY0xl
bmd0aFZhbHVlIDogcHVibGljIENhbGNWYWx1ZSB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgQ2Fs
Y0xlbmd0aFZhbHVlKExlbmd0aCBsZW5ndGgpCisgICAgICAgIDogbV9sZW5ndGgobGVuZ3RoKQor
ICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGZsb2F0IGV2YWx1YXRlKGZsb2F0IG1heFZhbHVl
KSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fbGVuZ3RoLmNhbGNWYWx1ZShtYXhWYWx1
ZSk7CisgICAgfQorCitwcml2YXRlOgorICAgIExlbmd0aCBtX2xlbmd0aDsKK307CisKK2NsYXNz
IENhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZSA6IHB1YmxpYyBDYWxjVmFsdWUgeworcHVibGljOgor
ICAgIENhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZShDYWxjVmFsdWUqIGxlZnRTaWRlLCBDYWxjVmFs
dWUqIHJpZ2h0U2lkZSwgY2hhciBvcCk7CisKKyAgICB2aXJ0dWFsIGZsb2F0IGV2YWx1YXRlKGZs
b2F0IG1heFZhbHVlKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBPd25QdHI8Q2FsY1ZhbHVlPiBt
X2xlZnRTaWRlOworICAgIE93blB0cjxDYWxjVmFsdWU+IG1fcmlnaHRTaWRlOworICAgIGNoYXIg
bV9vcGVyYXRvcjsKK307CisKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8g
Q2FsY1ZhbHVlX2gKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmNwcCBiL1dl
YkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmNwcAppbmRleCAzNzU3ZDkyLi5lZWQ3MmQ2IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9M
ZW5ndGguY3BwCkBAIC0yNSwxMCArMjUsMTMgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJMZW5ndGguaCIKIAorI2luY2x1ZGUgIkNhbGNWYWx1ZS5oIgogI2luY2x1ZGUgIlBsYXRm
b3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiU3RyaW5nQnVmZmVyLmgiCisjaW5jbHVkZSA8bWF0aC5o
PgogI2luY2x1ZGUgPHd0Zi9BU0NJSUNUeXBlLmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMu
aD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogCiB1c2luZyBuYW1lc3BhY2UgV1RGOwogCkBA
IC0xNDgsNCArMTUxLDEzMiBAQCBMZW5ndGgqIG5ld0xlbmd0aEFycmF5KGNvbnN0IFN0cmluZyYg
c3RyaW5nLCBpbnQmIGxlbikKICAgICByZXR1cm4gcjsKIH0KIAorY2xhc3MgQ2FsY3VsYXRlZExl
bmd0aCB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgQ2FsY3VsYXRlZExlbmd0aChQYXNzT3duUHRy
PENhbGNWYWx1ZT4gY2FsYykKKyAgICAgICAgOiBtX2NhbGMoY2FsYykKKyAgICAgICAgLCBtX3Jl
ZkNvdW50KDEpCisgICAgeworICAgIH0KKworICAgIGZsb2F0IGV2YWx1YXRlKGZsb2F0IG1heFZh
bHVlKSBjb25zdAorICAgIHsKKyAgICAgICAgZmxvYXQgcmVzdWx0ID0gbV9jYWxjLT5ldmFsdWF0
ZShtYXhWYWx1ZSk7CisgICAgICAgIC8vIEZJWE1FOiByZXN1bHQgaXMgTmFOIHdoZW4gdGhlcmUg
aXMgYSBkaXZpc2lvbiBieSB6ZXJvIHdoaWNoCisgICAgICAgIC8vICAgICAgICBpc24ndCBmb3Vu
ZCBhdCBwYXJzZSB0aW1lIChlLmcuLCA1LygxMDAlLTIwMHB4KSoxMDBweCkuCisgICAgICAgIC8v
ICAgICAgICBUaGVyZSBpcyBhIGRpc2N1c3Npb24gYWJvdXQgdGhpcyBhbmQgaG9wZWZ1bGx5IHNw
ZWMKKyAgICAgICAgLy8gICAgICAgIHdpbGwgaGF2ZSB0aGUgZGVjaXNpb24gZm9yIHRoaXMgaXNz
dWUuCisgICAgICAgIC8vICAgICAgICBodHRwOi8vbGlzdHMudzMub3JnL0FyY2hpdmVzL1B1Ymxp
Yy93d3ctc3R5bGUvMjAxMEphbi8wMDA3Lmh0bWwKKyAgICAgICAgaWYgKGlzbmFuKHJlc3VsdCkp
CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisK
KyAgICBpbnQgcmVmQ291bnQoKSBjb25zdCB7IHJldHVybiBtX3JlZkNvdW50OyB9CisgICAgaW50
IGluY3JlbWVudFJlZkNvdW50KCkgeyByZXR1cm4gKyttX3JlZkNvdW50OyB9CisgICAgaW50IGRl
Y3JlbWVudFJlZkNvdW50KCkgeyByZXR1cm4gLS1tX3JlZkNvdW50OyB9CisKK3ByaXZhdGU6Cisg
ICAgT3duUHRyPENhbGNWYWx1ZT4gbV9jYWxjOworICAgIGludCBtX3JlZkNvdW50OworfTsKKwor
Ly8gQXMgTGVuZ3RoIG9ubHkgaGFzIDMyYml0LCB3ZSBjYW5ub3QgaGF2ZSB0aGUgZGF0YSBmb3Ig
Y2FsYygpIGluIHRoZQorLy8gTGVuZ3RoIG9iamVjdC4gU28sIHdlIGdpdmUgc2VyaWFsIElEcywg
d2hlcmUgMCA8IElEIDwgMHgwZmZmZmZmZiwKKy8vIGZvciBlYWNoIGRhdGEgYW5kIGFjY2VzcyB0
aGUgZGF0YSB1c2luZyB0aGlzIElELgordHlwZWRlZiBIYXNoTWFwPGludCwgQ2FsY3VsYXRlZExl
bmd0aCo+IENhbGN1bGF0ZWRMZW5ndGhNYXA7CitzdGF0aWMgQ2FsY3VsYXRlZExlbmd0aE1hcCog
Z0NhbGN1bGF0ZWRMZW5ndGhNYXAgPSAwOworCitzdGF0aWMgQ2FsY3VsYXRlZExlbmd0aE1hcCog
Y2FsY3VsYXRlZExlbmd0aE1hcCgpCit7CisgICAgaWYgKCFnQ2FsY3VsYXRlZExlbmd0aE1hcCkK
KyAgICAgICAgZ0NhbGN1bGF0ZWRMZW5ndGhNYXAgPSBuZXcgQ2FsY3VsYXRlZExlbmd0aE1hcDsK
KyAgICByZXR1cm4gZ0NhbGN1bGF0ZWRMZW5ndGhNYXA7Cit9CisKK3N0YXRpYyBpbnQgZ0NhbGN1
bGF0ZWRMZW5ndGhJZCA9IDA7CisKK0xlbmd0aDo6TGVuZ3RoKFBhc3NPd25QdHI8Q2FsY1ZhbHVl
PiBjYWxjKQoreworICAgIC8vIFNraXAgZ0NhbGN1bGF0ZWRMZW5ndGhJZCA9PSAwIGFzIHplcm8g
a2V5IGhpdHMgdGhlIGFzc2VydGlvbiBvZiBIYXNoTWFwLgorICAgIHdoaWxlICghZ0NhbGN1bGF0
ZWRMZW5ndGhJZCB8fCBjYWxjdWxhdGVkTGVuZ3RoTWFwKCktPmNvbnRhaW5zKGdDYWxjdWxhdGVk
TGVuZ3RoSWQpKQorICAgICAgICBnQ2FsY3VsYXRlZExlbmd0aElkID0gKGdDYWxjdWxhdGVkTGVu
Z3RoSWQgKyAxKSAmIDB4MGZmZmZmZmY7CisgICAgbV92YWx1ZSA9IGdDYWxjdWxhdGVkTGVuZ3Ro
SWQgKiAxNiB8IENhbGN1bGF0ZWQ7CisgICAgZ0NhbGN1bGF0ZWRMZW5ndGhJZCA9IChnQ2FsY3Vs
YXRlZExlbmd0aElkICsgMSkgJiAweDBmZmZmZmZmOworCisgICAgQ2FsY3VsYXRlZExlbmd0aCog
Y2FsY0xlbmd0aCA9IG5ldyBDYWxjdWxhdGVkTGVuZ3RoKGNhbGMpOworICAgIGNhbGN1bGF0ZWRM
ZW5ndGhNYXAoKS0+c2V0KGNhbGN1bGF0ZWRMZW5ndGhJZCgpLCBjYWxjTGVuZ3RoKTsKK30KKwor
Ly8gRklYTUU6IEl0J3MgaW1wb3NzaWJsZSB0byBrbm93IHRoZSBzaWduIG9mIGNhbGMgdmFsdWVz
IHdpdGhvdXQKKy8vICAgICAgICBtYXggdmFsdWUgaWYgdGhlIGNhbGMgZm9ybXVsYSBjb250YWlu
cyBwZXJjZW50YW5nZXMuCisvLyAgICAgICAgV2UgYXNzdW1lIGFsbCBjYWxjIHZhbHVlcyBhcmUg
cG9zaXRpdmUgZm9yIG5vdy4KKworYm9vbCBMZW5ndGg6OmNhbGN1bGF0ZWRJc1plcm8oKSBjb25z
dAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBMZW5ndGg6OmNhbGN1bGF0ZWRJc1Bv
c2l0aXZlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBMZW5ndGg6OmNh
bGN1bGF0ZWRJc05lZ2F0aXZlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2lu
dCBMZW5ndGg6OmNhbGN1bGF0ZWRDYWxjVmFsdWUoaW50IG1heFZhbHVlLCBib29sIC8qIHJvdW5k
UGVyY2VudGFnZXMgKi8pIGNvbnN0Cit7CisgICAgQVNTRVJUKGlzQ2FsY3VsYXRlZCgpKTsKKyAg
ICBBU1NFUlQoY2FsY3VsYXRlZExlbmd0aE1hcCgpLT5jb250YWlucyhjYWxjdWxhdGVkTGVuZ3Ro
SWQoKSkpOworICAgIGNvbnN0IENhbGN1bGF0ZWRMZW5ndGgqIGNhbGNMZW5ndGggPSBjYWxjdWxh
dGVkTGVuZ3RoTWFwKCktPmdldChjYWxjdWxhdGVkTGVuZ3RoSWQoKSk7CisgICAgZmxvYXQgcmVz
dWx0ID0gY2FsY0xlbmd0aC0+ZXZhbHVhdGUobWF4VmFsdWUpOworICAgIGlmIChpc25hbihyZXN1
bHQpKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitpbnQgTGVu
Z3RoOjpjYWxjdWxhdGVkQ2FsY01pblZhbHVlKGludCBtYXhWYWx1ZSwgYm9vbCAvKiByb3VuZFBl
cmNlbnRhZ2VzICovKSBjb25zdAoreworICAgIEFTU0VSVChpc0NhbGN1bGF0ZWQoKSk7CisgICAg
QVNTRVJUKGNhbGN1bGF0ZWRMZW5ndGhNYXAoKS0+Y29udGFpbnMoY2FsY3VsYXRlZExlbmd0aElk
KCkpKTsKKyAgICBjb25zdCBDYWxjdWxhdGVkTGVuZ3RoKiBjYWxjTGVuZ3RoID0gY2FsY3VsYXRl
ZExlbmd0aE1hcCgpLT5nZXQoY2FsY3VsYXRlZExlbmd0aElkKCkpOworICAgIGZsb2F0IHJlc3Vs
dCA9IGNhbGNMZW5ndGgtPmV2YWx1YXRlKG1heFZhbHVlKTsKKyAgICBpZiAoaXNuYW4ocmVzdWx0
KSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworZmxvYXQgTGVu
Z3RoOjpjYWxjdWxhdGVkQ2FsY0Zsb2F0VmFsdWUoaW50IG1heFZhbHVlKSBjb25zdAoreworICAg
IEFTU0VSVChpc0NhbGN1bGF0ZWQoKSk7CisgICAgQVNTRVJUKGNhbGN1bGF0ZWRMZW5ndGhNYXAo
KS0+Y29udGFpbnMoY2FsY3VsYXRlZExlbmd0aElkKCkpKTsKKyAgICBjb25zdCBDYWxjdWxhdGVk
TGVuZ3RoKiBjYWxjTGVuZ3RoID0gY2FsY3VsYXRlZExlbmd0aE1hcCgpLT5nZXQoY2FsY3VsYXRl
ZExlbmd0aElkKCkpOworICAgIGZsb2F0IHJlc3VsdCA9IGNhbGNMZW5ndGgtPmV2YWx1YXRlKG1h
eFZhbHVlKTsKKyAgICBpZiAoaXNuYW4ocmVzdWx0KSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
cmV0dXJuIHJlc3VsdDsKK30KKwordm9pZCBMZW5ndGg6OmluY3JlbWVudENhbGN1bGF0ZWRSZWYo
KSBjb25zdAoreworICAgIEFTU0VSVChpc0NhbGN1bGF0ZWQoKSk7CisgICAgQVNTRVJUKGNhbGN1
bGF0ZWRMZW5ndGhNYXAoKS0+Y29udGFpbnMoY2FsY3VsYXRlZExlbmd0aElkKCkpKTsKKyAgICBD
YWxjdWxhdGVkTGVuZ3RoKiBjYWxjTGVuZ3RoID0gY2FsY3VsYXRlZExlbmd0aE1hcCgpLT5nZXQo
Y2FsY3VsYXRlZExlbmd0aElkKCkpOworICAgIGNhbGNMZW5ndGgtPmluY3JlbWVudFJlZkNvdW50
KCk7Cit9CisKK3ZvaWQgTGVuZ3RoOjpkZWNyZW1lbnRDYWxjdWxhdGVkUmVmKCkgY29uc3QKK3sK
KyAgICBBU1NFUlQoaXNDYWxjdWxhdGVkKCkpOworICAgIEFTU0VSVChjYWxjdWxhdGVkTGVuZ3Ro
TWFwKCktPmNvbnRhaW5zKGNhbGN1bGF0ZWRMZW5ndGhJZCgpKSk7CisgICAgQ2FsY3VsYXRlZExl
bmd0aCogY2FsY0xlbmd0aCA9IGNhbGN1bGF0ZWRMZW5ndGhNYXAoKS0+Z2V0KGNhbGN1bGF0ZWRM
ZW5ndGhJZCgpKTsKKyAgICBpZiAoIWNhbGNMZW5ndGgtPmRlY3JlbWVudFJlZkNvdW50KCkpIHsK
KyAgICAgICAgZGVsZXRlIGNhbGNMZW5ndGg7CisgICAgICAgIGNhbGN1bGF0ZWRMZW5ndGhNYXAo
KS0+cmVtb3ZlKGNhbGN1bGF0ZWRMZW5ndGhJZCgpKTsKKyAgICB9Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmggYi9XZWJD
b3JlL3BsYXRmb3JtL0xlbmd0aC5oCmluZGV4IDRmMzY1NzcuLjkwODMxMDAgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGgu
aApAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVk
ZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgorI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzIs
NyArMzMsOSBAQCBjbGFzcyBTdHJpbmc7CiBjb25zdCBpbnQgdW5kZWZpbmVkTGVuZ3RoID0gLTE7
CiBjb25zdCBpbnQgcGVyY2VudFNjYWxlRmFjdG9yID0gMTI4OwogCi1lbnVtIExlbmd0aFR5cGUg
eyBBdXRvLCBSZWxhdGl2ZSwgUGVyY2VudCwgRml4ZWQsIFN0YXRpYywgSW50cmluc2ljLCBNaW5J
bnRyaW5zaWMgfTsKK2VudW0gTGVuZ3RoVHlwZSB7IEF1dG8sIFJlbGF0aXZlLCBQZXJjZW50LCBG
aXhlZCwgU3RhdGljLCBJbnRyaW5zaWMsIE1pbkludHJpbnNpYywgQ2FsY3VsYXRlZCB9OworCitj
bGFzcyBDYWxjVmFsdWU7CiAKIHN0cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKICAgICBM
ZW5ndGgoKQpAQCAtNTcsMTUgKzYwLDQ1IEBAIHN0cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NCYXNl
IHsKICAgICAgICAgQVNTRVJUKHQgPT0gUGVyY2VudCk7CiAgICAgfQogCisgICAgZXhwbGljaXQg
TGVuZ3RoKFBhc3NPd25QdHI8Q2FsY1ZhbHVlPiBjYWxjKTsKKworICAgIExlbmd0aChjb25zdCBM
ZW5ndGgmIGxlbmd0aCkKKyAgICAgICAgOiBtX3ZhbHVlKGxlbmd0aC5tX3ZhbHVlKQorICAgIHsK
KyAgICAgICAgaWYgKGlzQ2FsY3VsYXRlZCgpKQorICAgICAgICAgICAgaW5jcmVtZW50Q2FsY3Vs
YXRlZFJlZigpOworICAgIH0KKworICAgIExlbmd0aCYgb3BlcmF0b3I9KGNvbnN0IExlbmd0aCYg
bGVuZ3RoKQorICAgIHsKKyAgICAgICAgbV92YWx1ZSA9IGxlbmd0aC5tX3ZhbHVlOworICAgICAg
ICBpZiAoaXNDYWxjdWxhdGVkKCkpCisgICAgICAgICAgICBpbmNyZW1lbnRDYWxjdWxhdGVkUmVm
KCk7CisgICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisKKyAgICB+TGVuZ3RoKCkKKyAgICB7
CisgICAgICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAgIGRlY3JlbWVudENhbGN1
bGF0ZWRSZWYoKTsKKyAgICB9CisKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgTGVuZ3RoJiBv
KSBjb25zdCB7IHJldHVybiBtX3ZhbHVlID09IG8ubV92YWx1ZTsgfQogICAgIGJvb2wgb3BlcmF0
b3IhPShjb25zdCBMZW5ndGgmIG8pIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWUgIT0gby5tX3ZhbHVl
OyB9CiAKICAgICBpbnQgdmFsdWUoKSBjb25zdCB7CiAgICAgICAgIEFTU0VSVCh0eXBlKCkgIT0g
UGVyY2VudCk7CisgICAgICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAgIHJldHVy
biB1bmRlZmluZWRMZW5ndGg7CiAgICAgICAgIHJldHVybiByYXdWYWx1ZSgpOwogICAgIH0KIAot
ICAgIGludCByYXdWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIChtX3ZhbHVlICYgfjB4RikgLyAxNjsg
fQorICAgIGludCByYXdWYWx1ZSgpIGNvbnN0CisgICAgeworICAgICAgICBpZiAoaXNDYWxjdWxh
dGVkKCkpCisgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkTGVuZ3RoOworICAgICAgICByZXR1
cm4gKG1fdmFsdWUgJiB+MHhGKSAvIDE2OworICAgIH0KIAogICAgIGRvdWJsZSBwZXJjZW50KCkg
Y29uc3QKICAgICB7CkBAIC03OCwxOSArMTExLDMxIEBAIHN0cnVjdCBMZW5ndGggOiBGYXN0QWxs
b2NCYXNlIHsKIAogICAgIHZvaWQgc2V0VmFsdWUoTGVuZ3RoVHlwZSB0LCBpbnQgdmFsdWUpCiAg
ICAgewotICAgICAgICBBU1NFUlQodCAhPSBQZXJjZW50KTsKKyAgICAgICAgQVNTRVJUKHQgIT0g
UGVyY2VudCAmJiB0ICE9IENhbGN1bGF0ZWQpOwogICAgICAgICBzZXRSYXdWYWx1ZSh0LCB2YWx1
ZSk7CiAgICAgfQogCi0gICAgdm9pZCBzZXRSYXdWYWx1ZShMZW5ndGhUeXBlIHQsIGludCB2YWx1
ZSkgeyBtX3ZhbHVlID0gdmFsdWUgKiAxNiB8IChtX3ZhbHVlICYgMHg4KSB8IHQ7IH0KKyAgICB2
b2lkIHNldFJhd1ZhbHVlKExlbmd0aFR5cGUgdCwgaW50IHZhbHVlKQorICAgIHsKKyAgICAgICAg
aWYgKGlzQ2FsY3VsYXRlZCgpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBtX3ZhbHVl
ID0gdmFsdWUgKiAxNiB8IChtX3ZhbHVlICYgMHg4KSB8IHQ7CisgICAgfQogCiAgICAgdm9pZCBz
ZXRWYWx1ZShpbnQgdmFsdWUpCiAgICAgewogICAgICAgICBBU1NFUlQoIXZhbHVlIHx8IHR5cGUo
KSAhPSBQZXJjZW50KTsKKyAgICAgICAgaWYgKGlzQ2FsY3VsYXRlZCgpKQorICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICBzZXRSYXdWYWx1ZSh2YWx1ZSk7CiAgICAgfQogCi0gICAgdm9pZCBz
ZXRSYXdWYWx1ZShpbnQgdmFsdWUpIHsgbV92YWx1ZSA9IHZhbHVlICogMTYgfCAobV92YWx1ZSAm
IDB4Rik7IH0KKyAgICB2b2lkIHNldFJhd1ZhbHVlKGludCB2YWx1ZSkKKyAgICB7CisgICAgICAg
IGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgbV92YWx1
ZSA9IHZhbHVlICogMTYgfCAobV92YWx1ZSAmIDB4Rik7CisgICAgfQogCiAgICAgdm9pZCBzZXRW
YWx1ZShMZW5ndGhUeXBlIHQsIGRvdWJsZSB2YWx1ZSkKICAgICB7CkBAIC0xMTAsNiArMTU1LDgg
QEAgc3RydWN0IExlbmd0aCA6IEZhc3RBbGxvY0Jhc2UgewogICAgICAgICBzd2l0Y2ggKHR5cGUo
KSkgewogICAgICAgICAgICAgY2FzZSBGaXhlZDoKICAgICAgICAgICAgICAgICByZXR1cm4gdmFs
dWUoKTsKKyAgICAgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKKyAgICAgICAgICAgICAgICByZXR1
cm4gY2FsY3VsYXRlZENhbGNWYWx1ZShtYXhWYWx1ZSwgcm91bmRQZXJjZW50YWdlcyk7CiAgICAg
ICAgICAgICBjYXNlIFBlcmNlbnQ6CiAgICAgICAgICAgICAgICAgaWYgKHJvdW5kUGVyY2VudGFn
ZXMpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KHJvdW5kKG1h
eFZhbHVlICogcGVyY2VudCgpIC8gMTAwLjApKTsKQEAgLTEyNiw2ICsxNzMsOCBAQCBzdHJ1Y3Qg
TGVuZ3RoIDogRmFzdEFsbG9jQmFzZSB7CiAgICAgICAgIHN3aXRjaCAodHlwZSgpKSB7CiAgICAg
ICAgICAgICBjYXNlIEZpeGVkOgogICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZSgpOworICAg
ICAgICAgICAgY2FzZSBDYWxjdWxhdGVkOgorICAgICAgICAgICAgICAgIHJldHVybiBjYWxjdWxh
dGVkQ2FsY01pblZhbHVlKG1heFZhbHVlLCByb3VuZFBlcmNlbnRhZ2VzKTsKICAgICAgICAgICAg
IGNhc2UgUGVyY2VudDoKICAgICAgICAgICAgICAgICBpZiAocm91bmRQZXJjZW50YWdlcykKICAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4ocm91bmQobWF4VmFsdWUg
KiBwZXJjZW50KCkgLyAxMDAuMCkpOwpAQCAtMTQxLDYgKzE5MCw4IEBAIHN0cnVjdCBMZW5ndGgg
OiBGYXN0QWxsb2NCYXNlIHsKICAgICAgICAgc3dpdGNoICh0eXBlKCkpIHsKICAgICAgICAgICAg
IGNhc2UgRml4ZWQ6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGZsb2F0Pih2
YWx1ZSgpKTsKKyAgICAgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gY2FsY3VsYXRlZENhbGNGbG9hdFZhbHVlKG1heFZhbHVlKTsKICAgICAgICAgICAgIGNh
c2UgUGVyY2VudDoKICAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1h
eFZhbHVlICogcGVyY2VudCgpIC8gMTAwLjApOwogICAgICAgICAgICAgY2FzZSBBdXRvOgpAQCAt
MTUxLDEwICsyMDIsMjYgQEAgc3RydWN0IExlbmd0aCA6IEZhc3RBbGxvY0Jhc2UgewogICAgIH0K
IAogICAgIGJvb2wgaXNVbmRlZmluZWQoKSBjb25zdCB7IHJldHVybiByYXdWYWx1ZSgpID09IHVu
ZGVmaW5lZExlbmd0aDsgfQotICAgIGJvb2wgaXNaZXJvKCkgY29uc3QgeyByZXR1cm4gIShtX3Zh
bHVlICYgfjB4Rik7IH0KLSAgICBib29sIGlzUG9zaXRpdmUoKSBjb25zdCB7IHJldHVybiByYXdW
YWx1ZSgpID4gMDsgfQotICAgIGJvb2wgaXNOZWdhdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIHJhd1Zh
bHVlKCkgPCAwOyB9CisgICAgYm9vbCBpc1plcm8oKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYg
KGlzQ2FsY3VsYXRlZCgpKQorICAgICAgICAgICAgcmV0dXJuIGNhbGN1bGF0ZWRJc1plcm8oKTsK
KyAgICAgICAgcmV0dXJuICEobV92YWx1ZSAmIH4weEYpOworICAgIH0KKyAgICBib29sIGlzUG9z
aXRpdmUoKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKGlzQ2FsY3VsYXRlZCgpKQorICAgICAg
ICAgICAgcmV0dXJuIGNhbGN1bGF0ZWRJc1Bvc2l0aXZlKCk7CisgICAgICAgIHJldHVybiByYXdW
YWx1ZSgpID4gMDsKKyAgICB9CisgICAgYm9vbCBpc05lZ2F0aXZlKCkgY29uc3QKKyAgICB7Cisg
ICAgICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAgIHJldHVybiBjYWxjdWxhdGVk
SXNOZWdhdGl2ZSgpOworICAgICAgICByZXR1cm4gcmF3VmFsdWUoKSA8IDA7CisgICAgfQogCisg
ICAgYm9vbCBpc0NhbGN1bGF0ZWQoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gQ2FsY3VsYXRl
ZDsgfQogICAgIGJvb2wgaXNBdXRvKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IEF1dG87IH0K
ICAgICBib29sIGlzUmVsYXRpdmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gUmVsYXRpdmU7
IH0KICAgICBib29sIGlzUGVyY2VudCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBQZXJjZW50
OyB9CkBAIC0xNzAsNyArMjM3LDExIEBAIHN0cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsK
IAogICAgICAgICBpZiAoZnJvbS5pc1plcm8oKSAmJiBpc1plcm8oKSkKICAgICAgICAgICAgIHJl
dHVybiAqdGhpczsKLSAgICAgICAgCisKKyAgICAgICAgLy8gRklYTUU6IFdlIGNhbm5vdCBoYW5k
bGUgYmxlbmQgZm9yIGNhbGMgZm9yIG5vdy4KKyAgICAgICAgaWYgKGlzQ2FsY3VsYXRlZCgpIHx8
IGZyb20uaXNDYWxjdWxhdGVkKCkpCisgICAgICAgICAgICByZXR1cm4gKnRoaXM7CisKICAgICAg
ICAgTGVuZ3RoVHlwZSByZXN1bHRUeXBlID0gdHlwZSgpOwogICAgICAgICBpZiAoaXNaZXJvKCkp
CiAgICAgICAgICAgICByZXN1bHRUeXBlID0gZnJvbS50eXBlKCk7CkBAIC0xODcsNiArMjU4LDIw
IEBAIHN0cnVjdCBMZW5ndGggOiBGYXN0QWxsb2NCYXNlIHsKICAgICB9CiAKIHByaXZhdGU6Cisg
ICAgYm9vbCBjYWxjdWxhdGVkSXNaZXJvKCkgY29uc3Q7CisgICAgYm9vbCBjYWxjdWxhdGVkSXNQ
b3NpdGl2ZSgpIGNvbnN0OworICAgIGJvb2wgY2FsY3VsYXRlZElzTmVnYXRpdmUoKSBjb25zdDsK
KyAgICBpbnQgY2FsY3VsYXRlZENhbGNWYWx1ZShpbnQgbWF4VmFsdWUsIGJvb2wgcm91bmRQZXJj
ZW50YWdlcykgY29uc3Q7CisgICAgaW50IGNhbGN1bGF0ZWRDYWxjTWluVmFsdWUoaW50IG1heFZh
bHVlLCBib29sIHJvdW5kUGVyY2VudGFnZXMpIGNvbnN0OworICAgIGZsb2F0IGNhbGN1bGF0ZWRD
YWxjRmxvYXRWYWx1ZShpbnQgbWF4VmFsdWUpIGNvbnN0OworICAgIGludCBjYWxjdWxhdGVkTGVu
Z3RoSWQoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzQ2FsY3VsYXRlZCgpKTsKKyAg
ICAgICAgcmV0dXJuIChtX3ZhbHVlICYgfjB4RikgLyAxNjsKKyAgICB9CisgICAgdm9pZCBpbmNy
ZW1lbnRDYWxjdWxhdGVkUmVmKCkgY29uc3Q7CisgICAgdm9pZCBkZWNyZW1lbnRDYWxjdWxhdGVk
UmVmKCkgY29uc3Q7CisKICAgICBpbnQgbV92YWx1ZTsKIH07CiAKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9TdHJpbmdJbXBsLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9T
dHJpbmdJbXBsLmNwcAppbmRleCAzNzA0YzRlLi42N2I3MmMwIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvU3RyaW5nSW1wbC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L1N0cmluZ0ltcGwuY3BwCkBAIC00NTIsNyArNDUyLDcgQEAgZmxvYXQgU3RyaW5nSW1wbDo6dG9G
bG9hdChib29sKiBvaykKICAgICByZXR1cm4gY2hhcmFjdGVyc1RvRmxvYXQobV9kYXRhLCBtX2xl
bmd0aCwgb2spOwogfQogCi1zdGF0aWMgYm9vbCBlcXVhbChjb25zdCBVQ2hhciogYSwgY29uc3Qg
Y2hhciogYiwgaW50IGxlbmd0aCkKK2Jvb2wgZXF1YWwoY29uc3QgVUNoYXIqIGEsIGNvbnN0IGNo
YXIqIGIsIGludCBsZW5ndGgpCiB7CiAgICAgQVNTRVJUKGxlbmd0aCA+PSAwKTsKICAgICB3aGls
ZSAobGVuZ3RoLS0pIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9TdHJpbmdJ
bXBsLmggYi9XZWJDb3JlL3BsYXRmb3JtL3RleHQvU3RyaW5nSW1wbC5oCmluZGV4IDY1ODQ4YmIu
LmI4MzNhZjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9TdHJpbmdJbXBsLmgK
KysrIGIvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1N0cmluZ0ltcGwuaApAQCAtMjE2LDYgKzIxNiw4
IEBAIHByaXZhdGU6CiBib29sIGVxdWFsKFN0cmluZ0ltcGwqLCBTdHJpbmdJbXBsKik7CiBib29s
IGVxdWFsKFN0cmluZ0ltcGwqLCBjb25zdCBjaGFyKik7CiBpbmxpbmUgYm9vbCBlcXVhbChjb25z
dCBjaGFyKiBhLCBTdHJpbmdJbXBsKiBiKSB7IHJldHVybiBlcXVhbChiLCBhKTsgfQorYm9vbCBl
cXVhbChjb25zdCBVQ2hhciogYSwgY29uc3QgY2hhciogYiwgaW50IGxlbmd0aCk7CitpbmxpbmUg
Ym9vbCBlcXVhbChjb25zdCBjaGFyKiBhLCBjb25zdCBVQ2hhciogYiwgaW50IGxlbmd0aCkgeyBy
ZXR1cm4gZXF1YWwoYiwgYSwgbGVuZ3RoKTsgfQogCiBib29sIGVxdWFsSWdub3JpbmdDYXNlKFN0
cmluZ0ltcGwqLCBTdHJpbmdJbXBsKik7CiBib29sIGVxdWFsSWdub3JpbmdDYXNlKFN0cmluZ0lt
cGwqLCBjb25zdCBjaGFyKik7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCBkZjkyNWJhLi44
Y2MzOGYzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBi
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTE1MTYsNyArMTUxNiw3IEBAIGlu
dCBSZW5kZXJCb3g6OmNhbGNIZWlnaHRVc2luZyhjb25zdCBMZW5ndGgmIGgpCiAgICAgaWYgKCFo
LmlzQXV0bygpKSB7CiAgICAgICAgIGlmIChoLmlzRml4ZWQoKSkKICAgICAgICAgICAgIGhlaWdo
dCA9IGgudmFsdWUoKTsKLSAgICAgICAgZWxzZSBpZiAoaC5pc1BlcmNlbnQoKSkKKyAgICAgICAg
ZWxzZSBpZiAoaC5pc1BlcmNlbnQoKSB8fCBoLmlzQ2FsY3VsYXRlZCgpKQogICAgICAgICAgICAg
aGVpZ2h0ID0gY2FsY1BlcmNlbnRhZ2VIZWlnaHQoaCk7CiAgICAgICAgIGlmIChoZWlnaHQgIT0g
LTEpIHsKICAgICAgICAgICAgIGhlaWdodCA9IGNhbGNCb3JkZXJCb3hIZWlnaHQoaGVpZ2h0KTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcCBiL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCBhMTRhYjI3Li5iNGU4Yjc1IDEwMDY0NAot
LS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKKysrIGIvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW1hZ2UuY3BwCkBAIC01NDIsNiArNTQyLDcgQEAgYm9vbCBSZW5kZXJJbWFn
ZTo6aXNXaWR0aFNwZWNpZmllZCgpIGNvbnN0CiAgICAgc3dpdGNoIChzdHlsZSgpLT53aWR0aCgp
LnR5cGUoKSkgewogICAgICAgICBjYXNlIEZpeGVkOgogICAgICAgICBjYXNlIFBlcmNlbnQ6Cisg
ICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAg
ICBjYXNlIEF1dG86CiAgICAgICAgIGNhc2UgUmVsYXRpdmU6IC8vIEZJWE1FOiBTaG91bGRuJ3Qg
dGhpcyBjYXNlIHJldHVybiB0cnVlPwpAQCAtNTU5LDYgKzU2MCw3IEBAIGJvb2wgUmVuZGVySW1h
Z2U6OmlzSGVpZ2h0U3BlY2lmaWVkKCkgY29uc3QKICAgICBzd2l0Y2ggKHN0eWxlKCktPmhlaWdo
dCgpLnR5cGUoKSkgewogICAgICAgICBjYXNlIEZpeGVkOgogICAgICAgICBjYXNlIFBlcmNlbnQ6
CisgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAg
ICAgICBjYXNlIEF1dG86CiAgICAgICAgIGNhc2UgUmVsYXRpdmU6IC8vIEZJWE1FOiBTaG91bGRu
J3QgdGhpcyBjYXNlIHJldHVybiB0cnVlPwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81518</attachid>
            <date>2011-02-07 14:23:25 -0800</date>
            <delta_ts>2011-03-17 21:01:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-16662-20110208092321.patch</filename>
            <type>text/plain</type>
            <size>88610</size>
            <attacher name="Mike Lawther">mikelawther</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5YWFlNDY0OWRlMjg3OTcxMzcwZjgzYmY3ZTNmMmQ3Y2MwZmM1NGVhLi40MDg5YzBk
MjFmMTU1M2ViYzIzNGM3MWRiZDljZDAwOGViOTVkZTFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTEtMDItMDYgIE1pa2UgTGF3dGhlciAgPG1pa2VsYXd0aGVyQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDU1MzOiBJbXBs
ZW1lbnQgY2FsYygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjY2MgorCisgICAgICAgICogY3NzMy9jYWxjL2NhbGMtZXJyb3JzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2NhbGMtZXJyb3JzLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGNzczMvY2FsYy9zaW1wbGUtY2FsY3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBjc3MzL2NhbGMvc2ltcGxlLWNhbGNzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNz
czMvY2FsYy9zaW1wbGUtbWlubWF4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3Nz
My9jYWxjL3NpbXBsZS1taW5tYXguaHRtbDogQWRkZWQuCisKIDIwMTEtMDItMDQgIERpbWl0cmkg
R2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIFJl
bW92ZSBDaHJvbWl1bS1zcGVjaWZpYyBiYXNlbGluZXMgdGhhdCB3ZSBubyBsb25nZXIgbmVlZC4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9jYWxjLWVycm9ycy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY2FsYy1lcnJvcnMtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjgwOGUyNDA0Mjg5NGZkZWViOWQ3MmVhNzVkNGQxOWVmNDZlMTc2ZGYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY2FsYy1lcnJvcnMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMTggQEAKK0FsbCBib3hlcyBiZWxvdyBzaG91bGQgYmUgMTAwcHggKiAxMDBw
eCBhbmQgZ3JlZW4uCisKK3plcm8gZGl2aXNpb24gPT4gUEFTUworbm9uIGxlbmd0aCA9PiBQQVNT
CitudW1iZXIgKyBsZW5ndGggPT4gUEFTUworbGVuZ3RoIC0gbnVtYmVyID0+IFBBU1MKK2xlbmd0
aCAqIGxlbmd0aCA9PiBQQVNTCitudW1iZXIgLyBsZW5ndGggPT4gUEFTUworbnVtYmVyIG1vZCBs
ZW5ndGggPT4gUEFTUworbW9kMTAgPT4gUEFTUworMW1vZCA9PiBQQVNTCit0b28gbWFueSBuZXN0
cyA9PiBQQVNTCitlbmQgd2l0aCBvcGVyYXRvciA9PiBQQVNTCitzdGFydCB3aXRoIG9wZXJhdG9y
ID0+IFBBU1MKK25vIGV4cHJlc3Npb25zID0+IFBBU1MKK3RvbyBtYW55IHBsdXNlcyA9PiBQQVNT
CitubyBiaW5hcnkgb3BlcmF0b3IgPT4gUEFTUwordHdvIGJpbmFyeSBvcGVyYXRvcnMgPT4gUEFT
UwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NhbGMtZXJyb3JzLmh0bWwgYi9M
YXlvdXRUZXN0cy9jc3MzL2NhbGMvY2FsYy1lcnJvcnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yOTg3Y2Zh
ZWI5NWU4ZTM3Zjk1NjdiMDNkNDgxYTlmYTM2MTE0NTU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY3NzMy9jYWxjL2NhbGMtZXJyb3JzLmh0bWwKQEAgLTAsMCArMSw3NiBAQAorPGh0
bWw+Cis8aGVhZD4KKworPHN0eWxlPgorI3Rlc3QgZGl2IHsKKyAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKK30KKzwvc3R5bGU+CisKKzxzY3JpcHQ+CitpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgdmFyIHRlc3QgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgidGVzdCIpOworICAgIGZvciAodmFyIGVsZW1lbnQgPSB0ZXN0LmZp
cnN0Q2hpbGQ7IGVsZW1lbnQ7IGVsZW1lbnQgPSBlbGVtZW50Lm5leHRTaWJsaW5nKSB7CisgICAg
ICAgIHZhciB3aWR0aCA9IGVsZW1lbnQub2Zmc2V0V2lkdGg7CisgICAgICAgIHZhciBlcnJvciA9
IFtdOworICAgICAgICBpZiAod2lkdGggIT0gMTAwKQorICAgICAgICAgICAgZXJyb3IucHVzaCgi
ZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzICIgKyB3aWR0aCk7CisgICAgICAgIHZhciBo
ZWlnaHQgPSBlbGVtZW50Lm9mZnNldEhlaWdodDsKKyAgICAgICAgaWYgKGhlaWdodCAhPSAxMDAp
CisgICAgICAgICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCBoZWlnaHQgb2YgMTAwLCBidXQgd2Fz
ICIgKyB3aWR0aCk7CisKKyAgICAgICAgaWYgKGVycm9yID09ICIiKSB7CisgICAgICAgICAgICBl
bGVtZW50LnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICJncmVlbiI7CisgICAgICAgICAgICBlbGVt
ZW50LmlubmVySFRNTCArPSAiID0+IFBBU1MiOworICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgZWxlbWVudC5pbm5lckhUTUwgKz0gIiA9PiBGQUlMOiAiICsgZXJyb3Iuam9pbigiLCAiKTsK
KyAgICAgICAgfQorICAgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9
InRlc3QoKSI+CisKKzxwPgorICBBbGwgYm94ZXMgYmVsb3cgc2hvdWxkIGJlIDEwMHB4ICogMTAw
cHggYW5kIGdyZWVuLgorPC9wPgorCis8ZGl2IGlkPSJ0ZXN0Ij4KKworPCEtLSB6ZXJvIGRpdmlz
aW9uIC0tPgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDFl
eCAvIDApOyI+emVybyBkaXZpc2lvbjwvZGl2PgorCis8IS0tIHdyb25nIGNvbWJpbmF0aW9uIC0t
PgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDIwMCk7Ij5u
b24gbGVuZ3RoPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0
LWNhbGMoMTAwKzEwMHB4KTsiPm51bWJlciArIGxlbmd0aDwvZGl2PgorPGRpdiBzdHlsZT0id2lk
dGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDMwMHB4LTEwMCk7Ij5sZW5ndGggLSBudW1i
ZXI8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygx
MDBweCoxMDBweCk7Ij5sZW5ndGggKiBsZW5ndGg8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAx
MDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygxMDAvMTAwcHgpOyI+bnVtYmVyIC8gbGVuZ3RoPC9k
aXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwIG1v
ZCAxMDBweCk7Ij5udW1iZXIgbW9kIGxlbmd0aDwvZGl2PgorCis8IS0tIG1vZCByZXF1aXJlcyB3
aGl0ZXNwYWNlcyBhcm91bmQgdGhlIG9wZXJhdG9yIC0tPgorPGRpdiBzdHlsZT0id2lkdGg6IDEw
MHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDEgbW9kMTAgKiAyMDBweCk7Ij5tb2QxMCA8L2Rpdj4K
KzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygxbW9kIDEwICog
MjAwcHgpOyI+MW1vZDwvZGl2PgorCis8IS0tIHRvbyBtYW55IG5lc3RzIHNob3VsZCBiZSByZWpl
Y3RlZCB0byBhdm9pZCBzdGFjayBvdmVyZmxvdyAtLT4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBw
eDsgd2lkdGg6IC13ZWJraXQtY2FsYygoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKDIwMHB4KSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
OyI+dG9vIG1hbnkgbmVzdHM8L2Rpdj4KKyAKKzwhLS0gaW52YWxpZCBmb3JtdWxhcyAtLT4KKzxk
aXYgc3R5bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygyMDBweCopOyI+ZW5k
IHdpdGggb3BlcmF0b3I8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6IC13
ZWJraXQtY2FsYygrKzIwMHB4KTsiPnN0YXJ0IHdpdGggb3BlcmF0b3I8L2Rpdj4KKzxkaXYgc3R5
bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygpOyI+bm8gZXhwcmVzc2lvbnM8
L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygxMDBw
eCsrKzEwMHB4KTsiPnRvbyBtYW55IHBsdXNlczwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEw
MHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDIwMHB4IDIwMHB4KTsiPm5vIGJpbmFyeSBvcGVyYXRv
cjwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDEw
MHB4ICogKiAyKTsiPnR3byBiaW5hcnkgb3BlcmF0b3JzPC9kaXY+CisgCis8L2Rpdj4KKyAKKzwv
Ym9keT4KKyAKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9zaW1w
bGUtY2FsY3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3NpbXBsZS1jYWxj
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTUwODI0ZDUyMGIyNjA4NjIyZWNmZDAyMThkOTZh
ZjRkYzcxMjE3YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9zaW1w
bGUtY2FsY3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjYgQEAKK0FsbCBib3hlcyBiZWxvdyBz
aG91bGQgYmUgMTAwcHggKiAxMDBweCBhbmQgZ3JlZW4uCisKKzUwcHgrNTBweCA9PiBQQVNTCisx
NTBweC01MHB4ID0+IFBBU1MKKzUwcHgqMiA9PiBQQVNTCisyMDBweC8yID0+IFBBU1MKKzExMDBw
eCBtb2QgMTAwMCA9PiBQQVNTCisxMDAlLzIgKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IFBBU1MK
KygxMDBweCkgPT4gUEFTUworKDUwcHgrNTBweCkgPT4gUEFTUworKDUwcHgpKzUwcHggPT4gUEFT
UworNTBweCsoNTBweCkgPT4gUEFTUworNTBweCArIDUwcHggPT4gUEFTUworNTBweCArIDI1cHgg
KiAyID0+IFBBU1MKKygyNXB4ICsgMjVweCkgKiAyID0+IFBBU1MKKzIgKiA1MHB4ID0+IFBBU1MK
KzIgKiAxMDBweCAvIDIgPT4gUEFTUworMTAwcHggLyA1MHB4ICogNTBweCA9PiBQQVNTCisxMiBt
b2QgMTAgKiA1MHB4ID0+IFBBU1MKKygxZW0gLSAxZW0pICsgMTAwcHggPT4gUEFTUworNTBweCsr
NTBweCA9PiBQQVNTCistNTBweCsxNTBweCA9PiBQQVNTCistNTBweC0tMTUwcHggPT4gUEFTUwor
KCgoKCgoKDEwMHB4KSkpKSkpKSA9PiBQQVNTCisxMDBweCA9PiBQQVNTCisxMDAlICogMiA9PiBQ
QVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc2ltcGxlLWNhbGNzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc2ltcGxlLWNhbGNzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTAw
OTMxN2M0YWQ1NWNhMzc0YjcyNzNlMTE2MTc4NGY2ZDMxOGIwMAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NzczMvY2FsYy9zaW1wbGUtY2FsY3MuaHRtbApAQCAtMCwwICsxLDkyIEBA
CitodG1sPg0KKzxoZWFkPg0KKw0KKzxzdHlsZT4NCisud2lkdGgtdGVzdCB7DQorICAgIGhlaWdo
dDogMTAwcHg7DQorICAgIHdpZHRoOiAyNTZweDsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogcmVk
Ow0KK30NCisNCisuaGVpZ2h0LXRlc3Qgew0KKyAgICB3aWR0aDogMTAwcHg7DQorICAgIGhlaWdo
dDogNTBweDsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOw0KK30NCisNCis8L3N0eWxlPg0K
Kw0KKzxzY3JpcHQ+DQoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikNCisgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOw0KKw0KK2Z1bmN0aW9uIHRlc3QoKQ0KK3sN
CisgICAgdmFyIHRlc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpOw0KKyAgICBm
b3IgKHZhciBjaGlsZCA9IHRlc3QuZmlyc3RDaGlsZDsgY2hpbGQ7IGNoaWxkID0gY2hpbGQubmV4
dFNpYmxpbmcpIHsNCisgICAgICAgIHZhciBlbGVtZW50ID0gY2hpbGQ7DQorICAgICAgICBpZiAo
ZWxlbWVudC5jbGFzc05hbWUgPT0gIndyYXBwZXIiKSB7DQorICAgICAgICAgICAgZWxlbWVudCA9
IGVsZW1lbnQuZmlyc3RDaGlsZDsNCisgICAgICAgICAgICB3aGlsZSAoZWxlbWVudC50YWdOYW1l
ICE9ICJESVYiKSBlbGVtZW50ID0gZWxlbWVudC5uZXh0U2libGluZzsNCisgICAgICAgIH0NCisN
CisgICAgICAgIHZhciB3aWR0aCA9IGVsZW1lbnQub2Zmc2V0V2lkdGg7DQorICAgICAgICB2YXIg
ZXJyb3IgPSBbXTsNCisgICAgICAgIGlmICh3aWR0aCAhPSAxMDApDQorICAgICAgICAgICAgZXJy
b3IucHVzaCgiZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzICIgKyB3aWR0aCk7DQorICAg
ICAgICB2YXIgaGVpZ2h0ID0gZWxlbWVudC5vZmZzZXRIZWlnaHQ7DQorICAgICAgICBpZiAoaGVp
Z2h0ICE9IDEwMCkNCisgICAgICAgICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCBoZWlnaHQgb2Yg
MTAwLCBidXQgd2FzICIgKyBoZWlnaHQpOw0KKw0KKyAgICAgICAgaWYgKGVycm9yID09ICIiKSB7
DQorICAgICAgICAgICAgZWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAiZ3JlZW4iOw0K
KyAgICAgICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7DQorICAgICAgICB9
IGVsc2UNCisgICAgICAgICAgICBlbGVtZW50LmlubmVySFRNTCArPSAiID0+IEZBSUw6ICIgKyBl
cnJvci5qb2luKCIsICIpOw0KKyAgICB9DQorfQ0KKzwvc2NyaXB0Pg0KKzwvaGVhZD4NCisNCis8
Ym9keSBvbmxvYWQ9InRlc3QoKSI+DQorDQorPHA+DQorICBBbGwgYm94ZXMgYmVsb3cgc2hvdWxk
IGJlIDEwMHB4ICogMTAwcHggYW5kIGdyZWVuLg0KKzwvcD4NCisNCis8ZGl2IGlkPSJ0ZXN0Ij4N
CisNCis8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYyg1
MHB4KzUwcHgpOyI+NTBweCs1MHB4PC9kaXY+DQorPGRpdiBjbGFzcz0id2lkdGgtdGVzdCIgc3R5
bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMTUwcHgtNTBweCk7Ij4xNTBweC01MHB4PC9kaXY+DQor
PGRpdiBjbGFzcz0id2lkdGgtdGVzdCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoNTBweCoy
KTsiPjUwcHgqMjwvZGl2Pg0KKzxkaXYgY2xhc3M9IndpZHRoLXRlc3QiIHN0eWxlPSJ3aWR0aDog
LXdlYmtpdC1jYWxjKDIwMHB4LzIpOyI+MjAwcHgvMjwvZGl2Pg0KKzxkaXYgY2xhc3M9IndpZHRo
LXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDExMDBweCBtb2QgMTAwMCk7Ij4xMTAw
cHggbW9kIDEwMDA8L2Rpdj4NCis8ZGl2IHN0eWxlPSJ3aWR0aDogMjAwcHg7IGJhY2tncm91bmQt
Y29sb3I6IHdoaXRlOyIgY2xhc3M9IndyYXBwZXIiPg0KKyAgPGRpdiBjbGFzcz0id2lkdGgtdGVz
dCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMTAwJS8yKTsiPjEwMCUvMiAod2hlcmUgMTAw
JSBpcyAyMDBweCk8L2Rpdj4NCis8L2Rpdj4NCis8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHls
ZT0id2lkdGg6IC13ZWJraXQtY2FsYygoMTAwcHgpKTsiPigxMDBweCk8L2Rpdj4NCis8ZGl2IGNs
YXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygoNTBweCs1MHB4KSk7
Ij4oNTBweCs1MHB4KTwvZGl2Pg0KKzxkaXYgY2xhc3M9IndpZHRoLXRlc3QiIHN0eWxlPSJ3aWR0
aDogLXdlYmtpdC1jYWxjKCg1MHB4KSs1MHB4KTsiPig1MHB4KSs1MHB4PC9kaXY+DQorPGRpdiBj
bGFzcz0id2lkdGgtdGVzdCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoNTBweCsoNTBweCkp
OyI+NTBweCsoNTBweCk8L2Rpdj4NCis8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lk
dGg6IC13ZWJraXQtY2FsYyggNTBweCArICA1MHB4ICk7Ij4gNTBweCArICA1MHB4IDwvZGl2Pg0K
KzxkaXYgY2xhc3M9IndpZHRoLXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKCA1MHB4
ICsgMjVweCAqIDIgKTsiPiA1MHB4ICsgMjVweCAqIDIgPC9kaXY+DQorPGRpdiBjbGFzcz0id2lk
dGgtdGVzdCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoICgyNXB4ICsgMjVweCkgKiAyICk7
Ij4gKDI1cHggKyAyNXB4KSAqIDIgPC9kaXY+DQorPGRpdiBjbGFzcz0id2lkdGgtdGVzdCIgc3R5
bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMiAqIDUwcHgpOyI+MiAqIDUwcHg8L2Rpdj4NCis8ZGl2
IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygyICogMTAwcHgg
LyAyKTsiPjIgKiAxMDBweCAvIDI8L2Rpdj4NCis8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHls
ZT0id2lkdGg6IC13ZWJraXQtY2FsYygxMDBweCAvIDUwcHggKiA1MHB4KTsiPjEwMHB4IC8gNTBw
eCAqIDUwcHg8L2Rpdj4NCis8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13
ZWJraXQtY2FsYygxMiBtb2QgMTAgKiA1MHB4KTsiPjEyIG1vZCAxMCAqIDUwcHg8L2Rpdj4NCis8
ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygoMWVtIC0g
MWVtKSArIDEwMHB4KTsiPigxZW0gLSAxZW0pICsgMTAwcHg8L2Rpdj4NCis8ZGl2IGNsYXNzPSJ3
aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYyg1MHB4Kys1MHB4KTsiPjUwcHgr
KzUwcHg8L2Rpdj4NCis8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJr
aXQtY2FsYygtNTBweCsxNTBweCk7Ij4tNTBweCsxNTBweDwvZGl2Pg0KKzxkaXYgY2xhc3M9Indp
ZHRoLXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKC01MHB4LS0xNTBweCk7Ij4tNTBw
eC0tMTUwcHg8L2Rpdj4NCis8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13
ZWJraXQtY2FsYygoKCgoKCgoMTAwcHgpKSkpKSkpKTsiPigoKCgoKCgxMDBweCkpKSkpKSk8L2Rp
dj4NCis8ZGl2IGNsYXNzPSJoZWlnaHQtdGVzdCIgc3R5bGU9ImhlaWdodDogLXdlYmtpdC1jYWxj
KDEwMHB4KTsiPjEwMHB4PC9kaXY+DQorPGRpdiBzdHlsZT0iaGVpZ2h0OiA1MHB4OyBiYWNrZ3Jv
dW5kLWNvbG9yOiB3aGl0ZTsiIGNsYXNzPSJ3cmFwcGVyIj4NCisgIDxkaXYgY2xhc3M9ImhlaWdo
dC10ZXN0IiBzdHlsZT0iaGVpZ2h0OiAtd2Via2l0LWNhbGMoMTAwJSAqIDIpOyI+MTAwJSAqIDI8
L2Rpdj4NCis8L2Rpdj4NCisNCis8L2Rpdj4NCisNCis8L2JvZHk+DQorDQorPC9odG1sPg0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9zaW1wbGUtbWlubWF4LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9zaW1wbGUtbWlubWF4LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43ZDU2NzhjZmM4NDE2YjI3NjljZTFhZDQ5ZjVhNTc1MDE4ZDE3ZmFlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3NpbXBsZS1taW5tYXgtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsMTUgQEAKK0FsbCBib3hlcyBiZWxvdyBzaG91bGQgYmUgMTAwcHggKiAx
MDBweCBhbmQgZ3JlZW4uCisKK21pbigxMDBweCkgPT4gUEFTUworbWluKDE1MHB4LDEwMHB4KSA9
PiBQQVNTCittaW4oMTUwcHgsMTAwcHgsMjAwcHgpID0+IFBBU1MKK21pbig5MHB4ICsgNTBweCwx
MDBweCkgPT4gUEFTUworbWluKDEwMCUsMTAwcHgpIC0gd2hlcmUgMTAwJSBpcyAyMDBweCA9PiBQ
QVNTCittaW4oMTAwcHgsMTAwJSkgLSB3aGVyZSAxMDAlIGlzIDIwMHB4ID0+IFBBU1MKK21heCgx
MDBweCkgPT4gUEFTUworbWF4KDUwcHgsMTAwcHgpID0+IFBBU1MKK21heCg1MHB4LDEwMHB4LDIw
cHgpID0+IFBBU1MKK21heCgxMjBweCAtIDUwcHgsMTAwcHgpID0+IFBBU1MKK21heCgxMDAlLDEw
MHB4KSAtIHdoZXJlIDEwMCUgaXMgNTBweCA9PiBQQVNTCittYXgoMTAwcHgsMTAwJSkgLSB3aGVy
ZSAxMDAlIGlzIDUwcHggPT4gUEFTUworbWluKDIwMHB4LDEwMHB4KSA9PiBQQVNTCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc2ltcGxlLW1pbm1heC5odG1sIGIvTGF5b3V0VGVz
dHMvY3NzMy9jYWxjL3NpbXBsZS1taW5tYXguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNmE4MDZlMjU4NTYx
Y2UyYWQwMWVjNGVmMTcwMzBlZjM0ZGVhNzkyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY3NzMy9jYWxjL3NpbXBsZS1taW5tYXguaHRtbApAQCAtMCwwICsxLDgzIEBACis8aHRtbD4N
Cis8aGVhZD4NCisNCis8c3R5bGU+DQorI3Rlc3QgZGl2LCAjdGVzdCBkaXYgZGl2IHsNCisgICAg
aGVpZ2h0OiAxMDBweDsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwwLDApOw0KK30N
CisuaGVpZ2h0LXRlc3Qgew0KKyAgICB3aWR0aDogMTAwcHg7DQorICAgIGhlaWdodDogMjAwcHg7
DQorfQ0KKzwvc3R5bGU+DQorDQorPHNjcmlwdD4NCitpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQ0KKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7DQorDQorZnVu
Y3Rpb24gdGVzdCgpDQorew0KKyAgICB2YXIgdGVzdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0ZXN0Iik7DQorICAgIGZvciAodmFyIGNoaWxkID0gdGVzdC5maXJzdENoaWxkOyBjaGlsZDsg
Y2hpbGQgPSBjaGlsZC5uZXh0U2libGluZykgew0KKyAgICAgICAgdmFyIGVsZW1lbnQgPSBjaGls
ZDsNCisgICAgICAgIGlmIChlbGVtZW50LmNsYXNzTmFtZSA9PSAid3JhcHBlciIpIHsNCisgICAg
ICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5maXJzdENoaWxkOw0KKyAgICAgICAgICAgIHdoaWxl
IChlbGVtZW50LnRhZ05hbWUgIT0gIkRJViIpIGVsZW1lbnQgPSBlbGVtZW50Lm5leHRTaWJsaW5n
Ow0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgdmFyIHdpZHRoID0gZWxlbWVudC5vZmZzZXRXaWR0
aDsNCisgICAgICAgIHZhciBlcnJvciA9IFtdOw0KKyAgICAgICAgaWYgKHdpZHRoICE9IDEwMCkN
CisgICAgICAgICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMg
IiArIHdpZHRoKTsNCisgICAgICAgIHZhciBoZWlnaHQgPSBlbGVtZW50Lm9mZnNldEhlaWdodDsN
CisgICAgICAgIGlmIChoZWlnaHQgIT0gMTAwKQ0KKyAgICAgICAgICAgIGVycm9yLnB1c2goImV4
cGVjdGVkIGhlaWdodCBvZiAxMDAsIGJ1dCB3YXMgIiArIHdpZHRoKTsNCisNCisgICAgICAgIGlm
IChlcnJvciA9PSAiIikgew0KKyAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENv
bG9yID0gImdyZWVuIjsNCisgICAgICAgICAgICBlbGVtZW50LmlubmVySFRNTCArPSAiID0+IFBB
U1MiOw0KKyAgICAgICAgfSBlbHNlDQorICAgICAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgKz0g
IiA9PiBGQUlMOiAiICsgZXJyb3Iuam9pbigiLCAiKTsNCisgICAgfQ0KK30NCis8L3NjcmlwdD4N
Cis8L2hlYWQ+DQorDQorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPg0KKw0KKzxwPg0KKyAgQWxsIGJv
eGVzIGJlbG93IHNob3VsZCBiZSAxMDBweCAqIDEwMHB4IGFuZCBncmVlbi4NCis8L3A+DQorDQor
PGRpdiBpZD0idGVzdCI+DQorDQorPGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQtbWluKDEwMHB4
KTsiPm1pbigxMDBweCk8L2Rpdj4NCis8ZGl2IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1taW4oMTUw
cHgsMTAwcHgpOyI+bWluKDE1MHB4LDEwMHB4KTwvZGl2Pg0KKzxkaXYgc3R5bGU9IndpZHRoOiAt
d2Via2l0LW1pbigxNTBweCwxMDBweCwyMDBweCk7Ij5taW4oMTUwcHgsMTAwcHgsMjAwcHgpPC9k
aXY+DQorPGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQtbWluKDkwcHggKyA1MHB4LDEwMHB4KTsi
Pm1pbig5MHB4ICsgNTBweCwxMDBweCk8L2Rpdj4NCis8ZGl2IHN0eWxlPSJ3aWR0aDogMjAwcHg7
IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyIgY2xhc3M9IndyYXBwZXIiPg0KKyAgICA8ZGl2IHN0
eWxlPSJ3aWR0aDogLXdlYmtpdC1taW4oMTAwJSwxMDBweCk7Ij5taW4oMTAwJSwxMDBweCkgLSB3
aGVyZSAxMDAlIGlzIDIwMHB4PC9kaXY+DQorPC9kaXY+DQorPGRpdiBzdHlsZT0id2lkdGg6IDIw
MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsiIGNsYXNzPSJ3cmFwcGVyIj4NCisgICAgPGRp
diBzdHlsZT0id2lkdGg6IC13ZWJraXQtbWluKDEwMHB4LDEwMCUpOyI+bWluKDEwMHB4LDEwMCUp
IC0gd2hlcmUgMTAwJSBpcyAyMDBweDwvZGl2Pg0KKzwvZGl2Pg0KKw0KKzxkaXYgc3R5bGU9Indp
ZHRoOiAtd2Via2l0LW1heCgxMDBweCk7Ij5tYXgoMTAwcHgpPC9kaXY+DQorPGRpdiBzdHlsZT0i
d2lkdGg6IC13ZWJraXQtbWF4KDUwcHgsMTAwcHgpOyI+bWF4KDUwcHgsMTAwcHgpPC9kaXY+DQor
PGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQtbWF4KDUwcHgsMTAwcHgsMjBweCk7Ij5tYXgoNTBw
eCwxMDBweCwyMHB4KTwvZGl2Pg0KKzxkaXYgc3R5bGU9IndpZHRoOiAtd2Via2l0LW1heCgxMjBw
eCAtIDUwcHgsMTAwcHgpOyI+bWF4KDEyMHB4IC0gNTBweCwxMDBweCk8L2Rpdj4NCis8ZGl2IHN0
eWxlPSJ3aWR0aDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IiBjbGFzcz0id3JhcHBl
ciI+DQorICAgIDxkaXYgc3R5bGU9IndpZHRoOiAtd2Via2l0LW1heCgxMDAlLDEwMHB4KTsiPm1h
eCgxMDAlLDEwMHB4KSAtIHdoZXJlIDEwMCUgaXMgNTBweDwvZGl2Pg0KKzwvZGl2Pg0KKzxkaXYg
c3R5bGU9IndpZHRoOiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsiIGNsYXNzPSJ3cmFw
cGVyIj4NCisgICAgPGRpdiBzdHlsZT0id2lkdGg6IC13ZWJraXQtbWF4KDEwMHB4LDEwMCUpOyI+
bWF4KDEwMHB4LDEwMCUpIC0gd2hlcmUgMTAwJSBpcyA1MHB4PC9kaXY+DQorPC9kaXY+DQorDQor
PGRpdiBjbGFzcz0iaGVpZ2h0LXRlc3QiIHN0eWxlPSJoZWlnaHQ6IC13ZWJraXQtbWluKDIwMHB4
LCAxMDBweCk7Ij5taW4oMjAwcHgsMTAwcHgpPC9kaXY+DQorDQorPC9kaXY+DQorDQorPC9ib2R5
Pg0KKw0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWU3MDgzZGM1ZGU2YjYwNGIxNDI1YWYwZjQ1
YzdiYTc4ZThiM2Y5ZC4uODY0N2E3MDYxMWIyOTYzZDQ5YTgyMjE2ZjcyYzNhYjM5Y2Q4ZGI0MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDExOSBAQAorMjAxMS0wMi0wNiAgTWlrZSBMYXd0aGVyICA8
bWlrZWxhd3RoZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIENTUzM6IEltcGxlbWVudCBjYWxjKCkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NjYyCisKKyAgICAgICAgVGVzdHM6
IGNzczMvY2FsYy9jYWxjLWVycm9ycy5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvc2lt
cGxlLWNhbGNzLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9zaW1wbGUtbWlubWF4Lmh0
bWwKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToK
KyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0NTU0NhbGNWYWx1ZS5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpDU1NDYWxjUHJpbWl0aXZlVmFs
dWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjppc1plcm8pOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpjc3NUZXh0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6dG9DYWxjVmFsdWUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlOjpDU1NDYWxjQmluYXJ5T3Bl
cmF0aW9uVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZh
bHVlOjppc1plcm8pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZh
bHVlOjpjc3NUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVyYXRpb25W
YWx1ZTo6dG9DYWxjVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY01pbk1heFZhbHVl
TGlzdDo6Q1NTQ2FsY01pbk1heFZhbHVlTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxj
TWluTWF4VmFsdWVMaXN0Ojppc1plcm8pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY01pbk1h
eFZhbHVlTGlzdDo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjTWluTWF4VmFs
dWVMaXN0OjphcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY01pbk1heFZhbHVlTGlz
dDo6dG9DYWxjVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlUGFyc2VyOjpw
YXJzZUNhbGMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlUGFyc2VyOjpwYXJzZU1p
bk1heExpc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlUGFyc2VyOjpvcGVyYXRv
clZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZVBhcnNlcjo6cGFyc2VWYWx1
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWVQYXJzZXI6OnBhcnNlVmFsdWVUZXJt
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZVBhcnNlcjo6cGFyc2VWYWx1ZU11bHRp
cGxpY2F0aXZlRXhwcmVzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWVQYXJz
ZXI6OnBhcnNlQWRkaXRpdmVWYWx1ZUV4cHJlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
Q2FsY1ZhbHVlUGFyc2VyOjpwYXJzZVZhbHVlTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1ND
YWxjVmFsdWVQYXJzZXI6OnBhcnNlVmFsdWVFeHByZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0NhbGNWYWx1ZTo6Y3JlYXRlRnJvbVBhcnNlclZhbHVlTGlzdCk6CisgICAgICAgICogY3Nz
L0NTU0NhbGNWYWx1ZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZTo6
aXNDYWxjVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnk6CisgICAgICAgICogY3Nz
L0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0NhbGMpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNl
cjo6cGFyc2VGaWxsU2hvcnRoYW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFy
c2VDYWxjKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bGV4KToKKyAgICAgICAgKiBj
c3MvQ1NTUGFyc2VyLmg6CisgICAgICAgICogY3NzL0NTU1BhcnNlclZhbHVlcy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXJWYWx1ZUxpc3Q6Omluc2VydFZhbHVlQXQpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUGFyc2VyVmFsdWVMaXN0OjphcHBlbmQpOgorICAgICAgICAqIGNzcy9D
U1NQYXJzZXJWYWx1ZXMuaDoKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKToK
KyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NTdHlsZVNlbGVjdG9yOjpDU1NTdHlsZVNlbGVjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1N0eWxlU2VsZWN0b3I6OmNvbnZlcnRUb0xlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NT
dHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxl
U2VsZWN0b3I6OnBhZ2VTaXplRnJvbU5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVT
ZWxlY3Rvcjo6bW1MZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6
aW5jaExlbmd0aCk6CisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuaDoKKyAgICAgICAg
KiBjc3MvQ1NTVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjppc0NhbGNWYWx1
ZSk6CisgICAgICAgICogY3NzL3Rva2VuaXplci5mbGV4OgorICAgICAgICAqIHBsYXRmb3JtL0Nh
bGNWYWx1ZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2FsY0JpbmFyeU9wZXJhdGlv
blZhbHVlOjpDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fs
Y0JpbmFyeU9wZXJhdGlvblZhbHVlOjpldmFsdWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWxj
TWluTWF4VmFsdWVMaXN0OjpDYWxjTWluTWF4VmFsdWVMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkNhbGNNaW5NYXhWYWx1ZUxpc3Q6OmFwcGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpDYWxjTWlu
TWF4VmFsdWVMaXN0OjpldmFsdWF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vQ2FsY1ZhbHVlLmg6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2FsY1ZhbHVlOjp+Q2FsY1ZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhbGNOdW1iZXJWYWx1ZTo6Q2FsY051bWJlclZhbHVlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNhbGNOdW1iZXJWYWx1ZTo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FsY0xlbmd0aFZhbHVlOjpDYWxjTGVuZ3RoVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fs
Y0xlbmd0aFZhbHVlOjpldmFsdWF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vTGVuZ3RoLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhbGN1bGF0ZWRMZW5ndGg6OkNhbGN1bGF0ZWRMZW5ndGgpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FsY3VsYXRlZExlbmd0aDo6ZXZhbHVhdGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q2FsY3VsYXRlZExlbmd0aDo6cmVmQ291bnQpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FsY3VsYXRlZExlbmd0aDo6aW5jcmVtZW50UmVmQ291bnQpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FsY3VsYXRlZExlbmd0aDo6ZGVjcmVtZW50UmVmQ291bnQpOgorICAgICAgICAoV2ViQ29yZTo6
Y2FsY3VsYXRlZExlbmd0aE1hcCk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6Okxlbmd0aCk6
CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGN1bGF0ZWRJc1plcm8pOgorICAgICAgICAo
V2ViQ29yZTo6TGVuZ3RoOjpjYWxjdWxhdGVkSXNQb3NpdGl2ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpMZW5ndGg6OmNhbGN1bGF0ZWRJc05lZ2F0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0
aDo6Y2FsY3VsYXRlZENhbGNWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGN1
bGF0ZWRDYWxjTWluVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjdWxhdGVk
Q2FsY0Zsb2F0VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjppbmNyZW1lbnRDYWxj
dWxhdGVkUmVmKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6ZGVjcmVtZW50Q2FsY3VsYXRl
ZFJlZik6CisgICAgICAgICogcGxhdGZvcm0vTGVuZ3RoLmg6CisgICAgICAgIChXZWJDb3JlOjpM
ZW5ndGg6Okxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6Om9wZXJhdG9yPSk6Cisg
ICAgICAgIChXZWJDb3JlOjpMZW5ndGg6On5MZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6TGVu
Z3RoOjp2YWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OnJhd1ZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6Okxlbmd0aDo6c2V0VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3Ro
OjpzZXRSYXdWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGNWYWx1ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGNNaW5WYWx1ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpMZW5ndGg6OmNhbGNGbG9hdFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6aXNa
ZXJvKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6aXNQb3NpdGl2ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpMZW5ndGg6OmlzTmVnYXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpp
c0NhbGN1bGF0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjdWxhdGVkTGVuZ3Ro
SWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQm94Ojpjb21wdXRlTG9naWNhbEhlaWdodFVzaW5nKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6Omlz
TG9naWNhbFdpZHRoU3BlY2lmaWVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpp
c0xvZ2ljYWxIZWlnaHRTcGVjaWZpZWQpOgorCiAyMDExLTAyLTA0ICBKZXJlbXkgT3Jsb3cgIDxq
b3Jsb3dAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmVydCBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM3OTUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggYTBjNTlk
YjY5OTYwYWUzZDlmNzA4MTlmN2Q2MmRlNzAzNzNhZjRhYy4uZmIxMjEwMTk4MGIwNTA4ZjA0ZjU1
ODNlNGU4MjFmNThiMDVjN2QzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTk2MCw2ICs5NjAs
OCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9Db3VudGVyLmgg
XAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuaCBcCisJU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NhbGNWYWx1ZS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjVmFsdWUuaCBc
CiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NhbnZhc1ZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0
UnVsZS5jcHAgXApAQCAtMjMwNyw2ICsyMzA5LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vQXV0b2RyYWluZWRQb29sLmggXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1
ZS5jcHAgXAkKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUuaCBcCQogCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRlbnRUeXBlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vQ29udGVudFR5cGUuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1l
bnUuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNjVjYjhmN2I4ODE1ZDRlNTRlNTA2MWE5OWY1YjZl
NmVmYjE3ZTMyMi4uNjYwYmYzNDc0ZGE2NTI1MDZmZjdiMmI2YzZlMmY3MzhmZGQyZGVmOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQpAQCAtMTAwOCw2ICsxMDA4LDggQEAKICAgICAgICAgICAgICdjc3MvQ1NT
Qm9yZGVySW1hZ2VWYWx1ZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTQ2FudmFzVmFsdWUuY3Bw
JywKICAgICAgICAgICAgICdjc3MvQ1NTQ2FudmFzVmFsdWUuaCcsCisgICAgICAgICAgICAnY3Nz
L0NTU0NhbGNWYWx1ZS5jcHAnLAorICAgICAgICAgICAgJ2Nzcy9DU1NDYWxjVmFsdWUuaCcsCiAg
ICAgICAgICAgICAnY3NzL0NTU0NoYXJzZXRSdWxlLmNwcCcsCiAgICAgICAgICAgICAnY3NzL0NT
U0NoYXJzZXRSdWxlLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwJywKQEAgLTM0NTIsNiArMzQ1NCw4IEBACiAgICAgICAgICAgICAncGxhdGZvcm0v
QXN5bmNGaWxlU3lzdGVtLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0FzeW5jRmlsZVN5c3Rl
bUNhbGxiYWNrcy5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaCcs
CisgICAgICAgICAgICAncGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcCcsCisgICAgICAgICAgICAncGxh
dGZvcm0vQ2FsY1ZhbHVlLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0NvbnRlbnRUeXBlLmNw
cCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vQ29udGVudFR5cGUuaCcsCiAgICAgICAgICAgICAn
cGxhdGZvcm0vQ29udGV4dE1lbnUuaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCmluZGV4IDcyNGJmZGZhZTIyNmU4
ODM4MzZmMDI3M2Q0MTFkMjdjMzRmY2M3OTcuLmNkNzgyOTAxMjQ5YTZhNWU5NThkZTFkNjEzN2E4
OWJmYmU2M2E2NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC02NDAsNiArNjQwLDcgQEAgdjggewogCiBT
T1VSQ0VTICs9IFwKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAgXAorICAgIGNzcy9D
U1NDYWxjVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTQ2FudmFzVmFsdWUuY3BwIFwKICAgICBjc3Mv
Q1NTQ2hhcnNldFJ1bGUuY3BwIFwKICAgICBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9u
LmNwcCBcCkBAIC0xMTgxLDYgKzExODIsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBwbGF0Zm9ybS90
ZXh0L0JpZGlDb250ZXh0LmNwcCBcCiAgICAgcGxhdGZvcm0vdGV4dC9IeXBoZW5hdGlvbi5jcHAg
XAogICAgIHBsYXRmb3JtL3RleHQvTG9jYWxpemVkTnVtYmVyTm9uZS5jcHAgXAorICAgIHBsYXRm
b3JtL0NhbGNWYWx1ZS5jcHAgXAogICAgIHBsYXRmb3JtL0NvbnRlbnRUeXBlLmNwcCBcCiAgICAg
cGxhdGZvcm0vQ3Jvc3NUaHJlYWRDb3BpZXIuY3BwIFwKICAgICBwbGF0Zm9ybS9EZXByZWNhdGVk
UHRyTGlzdEltcGwuY3BwIFwKQEAgLTE1NzcsNiArMTU3OSw3IEBAIHY4IHsKIAogSEVBREVSUyAr
PSBcCiAgICAgY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuaCBcCisgICAgY3NzL0NTU0NhbGNWYWx1
ZS5oIFwKICAgICBjc3MvQ1NTQ2FudmFzVmFsdWUuaCBcCiAgICAgY3NzL0NTU0NoYXJzZXRSdWxl
LmggXAogICAgIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaCBcCkBAIC0yMDgyLDYg
KzIwODUsNyBAQCBIRUFERVJTICs9IFwKICAgICBwbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9u
TGlzdC5oIFwKICAgICBwbGF0Zm9ybS9BcmVuYS5oIFwKICAgICBwbGF0Zm9ybS9Bc3luY0ZpbGVT
dHJlYW0uaCBcCisgICAgcGxhdGZvcm0vQ2FsY1ZhbHVlLmggXAogICAgIHBsYXRmb3JtL0NvbnRl
bnRUeXBlLmggXAogICAgIHBsYXRmb3JtL0NvbnRleHRNZW51LmggXAogICAgIHBsYXRmb3JtL0Ny
b3NzVGhyZWFkQ29waWVyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDM0YjcyZTU1NTk0ZDVjYmQ0ZmVlOTJkZjdlODJkMDRi
Y2JiYTdhYzYuLjZkZWZhMGQxNWU1YjE2N2I3MGM1ZmY5NzhiODhiMjFhOWU3ZWY5M2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTEwNjYsNiArMTA2NiwxMCBAQAogCQk0OTA3MDdFNjEyMTlDMDQzMDBEOTBFNTEgLyogQU5HTEVX
ZWJLaXRCcmlkZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDkwNzA3RTQxMjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmNwcCAq
LzsgfTsKIAkJNDkwNzA3RTcxMjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTA3MDdFNTEy
MTlDMDQzMDBEOTBFNTEgLyogQU5HTEVXZWJLaXRCcmlkZ2UuaCAqLzsgfTsKIAkJNDkyODYzOTkx
MjUzQjhGQzAwRjc5MkQ2IC8qIFJlc291cmNlTG9hZEluZm8uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5Mjg2Mzk4MTI1M0I4RkMwMEY3OTJENiAvKiBS
ZXNvdXJjZUxvYWRJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJNDkzQjI5ODcxMkYyNjQxQzAwMjAzOTUxIC8qIENTU0NhbGNWYWx1ZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTNCMjk4NjEy
RjI2NDFDMDAyMDM5NTEgLyogQ1NTQ2FsY1ZhbHVlLmNwcCAqLzsgfTsKKwkJNDkzQjI5ODkxMkYy
NjQyNjAwMjAzOTUxIC8qIENTU0NhbGNWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDkzQjI5ODgxMkYyNjQyNjAwMjAzOTUxIC8qIENTU0NhbGNW
YWx1ZS5oICovOyB9OworCQk0OTNCMjk4QzEyRjI2NDNEMDAyMDM5NTEgLyogQ2FsY1ZhbHVlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5M0IyOThB
MTJGMjY0M0QwMDIwMzk1MSAvKiBDYWxjVmFsdWUuY3BwICovOyB9OworCQk0OTNCMjk4RDEyRjI2
NDNEMDAyMDM5NTEgLyogQ2FsY1ZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0OTNCMjk4QjEyRjI2NDNEMDAyMDM5NTEgLyogQ2FsY1ZhbHVlLmgg
Ki87IH07CiAJCTQ5M0U1RTA5MTJENjQyMDUwMDAyMDA4MSAvKiBQbGF0Zm9ybUNBTGF5ZXJDbGll
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5M0U1
RTA4MTJENjQyMDUwMDAyMDA4MSAvKiBQbGF0Zm9ybUNBTGF5ZXJDbGllbnQuaCAqLzsgfTsKIAkJ
NDk0ODRGQzExMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc0dyYWRpZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5NDg0RkIzMTAyQ0YyM0MwMDE4
N0REMyAvKiBDYW52YXNHcmFkaWVudC5jcHAgKi87IH07CiAJCTQ5NDg0RkMyMTAyQ0YyM0MwMDE4
N0REMyAvKiBDYW52YXNHcmFkaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDk0ODRGQjQxMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc0dyYWRpZW50
LmggKi87IH07CkBAIC03NDQ4LDYgKzc0NTIsMTAgQEAKIAkJNDkwNzA3RTQxMjE5QzA0MzAwRDkw
RTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEFOR0xFV2ViS2l0QnJpZGdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDkwNzA3RTUxMjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFOR0xFV2ViS2l0QnJpZGdlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5Mjg2Mzk4MTI1M0I4RkMwMEY3OTJENiAvKiBSZXNv
dXJjZUxvYWRJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNl
TG9hZEluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDkzQjI5ODYxMkYyNjQx
QzAwMjAzOTUxIC8qIENTU0NhbGNWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBDU1NDYWxjVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0OTNCMjk4ODEyRjI2NDI2MDAyMDM5NTEgLyogQ1NTQ2FsY1ZhbHVlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0NhbGNWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0OTNCMjk4QTEyRjI2NDNEMDAyMDM5NTEgLyogQ2FsY1ZhbHVlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhbGNWYWx1ZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5M0IyOThCMTJGMjY0M0QwMDIwMzk1MSAvKiBDYWxjVmFs
dWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FsY1ZhbHVlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5M0U1RTA4MTJENjQyMDUwMDAyMDA4MSAvKiBQbGF0
Zm9ybUNBTGF5ZXJDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gUGxh
dGZvcm1DQUxheWVyQ2xpZW50Lmg7IHBhdGggPSBjYS9QbGF0Zm9ybUNBTGF5ZXJDbGllbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDk0ODRGQjMxMDJDRjIzQzAwMTg3REQzIC8q
IENhbnZhc0dyYWRpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IENhbnZhc0dyYWRpZW50LmNwcDsgcGF0aCA9IGNhbnZhcy9DYW52YXNHcmFkaWVudC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5NDg0RkI0MTAyQ0YyM0MwMDE4N0REMyAvKiBD
YW52YXNHcmFkaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBDYW52YXNH
cmFkaWVudC5oOyBwYXRoID0gY2FudmFzL0NhbnZhc0dyYWRpZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xODI2OSw2ICsxODI3Nyw4IEBACiAJCUJDRjFBNUJBMDk3ODMyMDkw
MDYxQTEyMyAvKiBwbGF0Zm9ybSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRy
ZW4gPSAoCisJCQkJNDkzQjI5OEExMkYyNjQzRDAwMjAzOTUxIC8qIENhbGNWYWx1ZS5jcHAgKi8s
CisJCQkJNDkzQjI5OEIxMkYyNjQzRDAwMjAzOTUxIC8qIENhbGNWYWx1ZS5oICovLAogCQkJCTQ5
RTkxMkE0MEVGQUM4RTYwMDlEMENBRiAvKiBhbmltYXRpb24gKi8sCiAJCQkJRkQzMTYwNDAxMkIw
MjZBMzAwQzFBMzU5IC8qIGF1ZGlvICovLAogCQkJCTFBRTQyRjY3MEFBNEI4Q0IwMEM4NjEyRCAv
KiBjZiAqLywKQEAgLTE4NTM5LDYgKzE4NTQ5LDggQEAKIAkJCQk5MzA3MDVDNzA5RTBDOTVGMDBC
MTdGRTQgLyogQ291bnRlci5pZGwgKi8sCiAJCQkJQTgwRTZDQkIwQTE5ODlDQTAwN0ZCOEM1IC8q
IENTU0JvcmRlckltYWdlVmFsdWUuY3BwICovLAogCQkJCUE4MEU2Q0REMEExOTg5Q0EwMDdGQjhD
NSAvKiBDU1NCb3JkZXJJbWFnZVZhbHVlLmggKi8sCisJCQkJNDkzQjI5ODYxMkYyNjQxQzAwMjAz
OTUxIC8qIENTU0NhbGNWYWx1ZS5jcHAgKi8sCisJCQkJNDkzQjI5ODgxMkYyNjQyNjAwMjAzOTUx
IC8qIENTU0NhbGNWYWx1ZS5oICovLAogCQkJCUJDNjA0QTQyMERCNTYzNEUwMDIwNDczOSAvKiBD
U1NDYW52YXNWYWx1ZS5jcHAgKi8sCiAJCQkJQkM2MDQ5Q0IwREI1NjBDMjAwMjA0NzM5IC8qIENT
U0NhbnZhc1ZhbHVlLmggKi8sCiAJCQkJRTFFQkJCRDMwQUFDOUI4NzAwMUZFOEUyIC8qIENTU0No
YXJzZXRSdWxlLmNwcCAqLywKQEAgLTIyNDkyLDYgKzIyNTA0LDggQEAKIAkJCQkxNDk0N0ZGRTEy
RjgwQ0QyMDBBMEY2MzEgLyogRG9jdW1lbnRPcmRlcmVkTWFwLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5N0M0NzFEQzEyRjkyNUJEMDA4NjM1NEIgLyogQ29udGVudFNlY3VyaXR5UG9saWN5LmggaW4g
SGVhZGVycyAqLywKIAkJCQlBN0ZFODE5QzEyRkE2Nzc3MDA4NTBDMUUgLyogUHJvZ3Jlc3NCYXJW
YWx1ZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ5M0IyOTg5MTJGMjY0MjYwMDIwMzk1
MSAvKiBDU1NDYWxjVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ5M0IyOThEMTJGMjY0M0Qw
MDIwMzk1MSAvKiBDYWxjVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlG
b3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjI1NTEsNyArMjI1NjUs
NiBAQAogCQkJaXNhID0gUEJYUHJvamVjdDsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAx
NDlDMjg0MzA4OTAyQjExMDA4QTlFRkMgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQ
QlhQcm9qZWN0ICJXZWJDb3JlIiAqLzsKIAkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2Rl
IDIuNCI7Ci0JCQlkZXZlbG9wbWVudFJlZ2lvbiA9IEVuZ2xpc2g7CiAJCQloYXNTY2FubmVkRm9y
RW5jb2RpbmdzID0gMTsKIAkJCWtub3duUmVnaW9ucyA9ICgKIAkJCQlFbmdsaXNoLApAQCAtMjUx
OTQsNiArMjUyMDcsOCBAQAogCQkJCTE0OTQ3RkZEMTJGODBDRDIwMEEwRjYzMSAvKiBEb2N1bWVu
dE9yZGVyZWRNYXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTdDNDcxREIxMkY5MjVCRDAwODYz
NTRCIC8qIENvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5RkRD
OEZGMjEyRkFCMDA2MDA5OUFCMUMgLyogSlNNZW1vcnlJbmZvQ3VzdG9tLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTQ5M0IyOTg3MTJGMjY0MUMwMDIwMzk1MSAvKiBDU1NDYWxjVmFsdWUuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJNDkzQjI5OEMxMkYyNjQzRDAwMjAzOTUxIC8qIENhbGNWYWx1ZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9j
ZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxj
VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjU0NGU5YmZlYTI4MjE4YWQ2MmM0MTE4MTIzNDQxNTNhZGUyMGI1MAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjVmFsdWUuY3BwCkBAIC0wLDAgKzEsNDA2
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNTU0NhbGNWYWx1ZS5oIgorCisjaW5j
bHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NTdHlsZVNlbGVjdG9yLmgi
CisjaW5jbHVkZSAiQ1NTVmFsdWVMaXN0LmgiCisjaW5jbHVkZSAiQ2FsY1ZhbHVlLmgiCisKKyNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDU1NDYWxjUHJpbWl0aXZlVmFsdWUgOiBwdWJsaWMg
Q1NTQ2FsY1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBDU1NDYWxjUHJpbWl0aXZlVmFs
dWUoQ1NTUHJpbWl0aXZlVmFsdWUqIHZhbHVlKQorICAgICAgICA6IG1fdmFsdWUodmFsdWUpCisg
ICAgeworICAgIH0KKworICAgIHZpcnR1YWwgYm9vbCBpc1plcm8oKSBjb25zdAorICAgIHsKKyAg
ICAgICAgcmV0dXJuICFtX3ZhbHVlLT5nZXREb3VibGVWYWx1ZSgpOworICAgIH0KKworICAgIHZp
cnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fdmFs
dWUtPmNzc1RleHQoKTsKKyAgICB9CisKKyAgICBQYXNzT3duUHRyPENhbGNWYWx1ZT4gdG9DYWxj
VmFsdWUoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlKSBjb25zdAor
ICAgIHsKKyAgICAgICAgaWYgKG1fdmFsdWUtPnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX1BBUlNFUl9JTlRFR0VSKQorICAgICAgICAgICAgcmV0dXJuIG5ldyBDYWxj
TnVtYmVyVmFsdWUobV92YWx1ZS0+Z2V0RmxvYXRWYWx1ZSgpKTsKKworICAgICAgICBib29sIG9r
ID0gdHJ1ZTsKKyAgICAgICAgTGVuZ3RoIGxlbmd0aCA9IENTU1N0eWxlU2VsZWN0b3I6OmNvbnZl
cnRUb0xlbmd0aChtX3ZhbHVlLmdldCgpLCBzdHlsZSwgcm9vdFN0eWxlLCAxLCAmb2spOworICAg
ICAgICBpZiAoIW9rKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBuZXcg
Q2FsY0xlbmd0aFZhbHVlKGxlbmd0aCk7CisgICAgfQorCitwcml2YXRlOgorICAgIFJlZlB0cjxD
U1NQcmltaXRpdmVWYWx1ZT4gbV92YWx1ZTsKK307CisKK2NsYXNzIENTU0NhbGNCaW5hcnlPcGVy
YXRpb25WYWx1ZSA6IHB1YmxpYyBDU1NDYWxjVmFsdWUgeworcHVibGljOgorICAgIENTU0NhbGNC
aW5hcnlPcGVyYXRpb25WYWx1ZShDU1NDYWxjVmFsdWUqIGxlZnRTaWRlLCBDU1NDYWxjVmFsdWUq
IHJpZ2h0U2lkZSwgY2hhciBvcCkKKyAgICAgICAgOiBtX2xlZnRTaWRlKGFkb3B0UmVmKGxlZnRT
aWRlKSkKKyAgICAgICAgLCBtX3JpZ2h0U2lkZShhZG9wdFJlZihyaWdodFNpZGUpKQorICAgICAg
ICAsIG1fb3BlcmF0b3Iob3ApCisgICAgeworICAgICAgICBBU1NFUlQob3AgPT0gJysnIHx8IG9w
ID09ICctJyB8fCBvcCA9PSAnKicgfHwgb3AgPT0gJy8nIHx8IG9wID09ICclJyk7CisgICAgfQor
CisgICAgdmlydHVhbCBib29sIGlzWmVybygpIGNvbnN0CisgICAgeworICAgICAgICAvLyBGSVhN
RTogV2UgY2FuIHJldHVybiB0cnVlIGZvciBzb21lIGNhc2VzIChlLmcuLCAzIC0gMywgMyAqIDAs
IGFuZCBldGMuKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgdmlydHVhbCBT
dHJpbmcgY3NzVGV4dCgpIGNvbnN0CisgICAgeworICAgICAgICBTdHJpbmcgcmVzdWx0ID0gIigi
OworICAgICAgICByZXN1bHQuYXBwZW5kKG1fbGVmdFNpZGUtPmNzc1RleHQoKSk7CisgICAgICAg
IHJlc3VsdC5hcHBlbmQobV9vcGVyYXRvcik7CisgICAgICAgIHJlc3VsdC5hcHBlbmQobV9yaWdo
dFNpZGUtPmNzc1RleHQoKSk7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoJyknKTsKKyAgICAgICAg
cmV0dXJuIHJlc3VsdDsKKyAgICB9CisKKyAgICBQYXNzT3duUHRyPENhbGNWYWx1ZT4gdG9DYWxj
VmFsdWUoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlKSBjb25zdAor
ICAgIHsKKyAgICAgICAgT3duUHRyPENhbGNWYWx1ZT4gbGVmdChtX2xlZnRTaWRlLT50b0NhbGNW
YWx1ZShzdHlsZSwgcm9vdFN0eWxlKSk7CisgICAgICAgIGlmICghbGVmdC5nZXQoKSkKKyAgICAg
ICAgICAgIHJldHVybiAwOworICAgICAgICBPd25QdHI8Q2FsY1ZhbHVlPiByaWdodChtX3JpZ2h0
U2lkZS0+dG9DYWxjVmFsdWUoc3R5bGUsIHJvb3RTdHlsZSkpOworICAgICAgICBpZiAoIXJpZ2h0
LmdldCgpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBuZXcgQ2FsY0Jp
bmFyeU9wZXJhdGlvblZhbHVlKGxlZnQucmVsZWFzZSgpLCByaWdodC5yZWxlYXNlKCksIG1fb3Bl
cmF0b3IpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBtX2xl
ZnRTaWRlOworICAgIFJlZlB0cjxDU1NDYWxjVmFsdWU+IG1fcmlnaHRTaWRlOworICAgIGNoYXIg
bV9vcGVyYXRvcjsKK307CisKK2NsYXNzIENTU0NhbGNNaW5NYXhWYWx1ZUxpc3QgOiBwdWJsaWMg
Q1NTQ2FsY1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBlbnVtIFR5cGUgeyBNSU4sIE1BWCB9OworCisg
ICAgQ1NTQ2FsY01pbk1heFZhbHVlTGlzdChUeXBlIHR5cGUpCisgICAgICAgIDogbV90eXBlKHR5
cGUpCisgICAgICAgICwgbV9saXN0KCkKKyAgICB7CisgICAgfQorCisgICAgdmlydHVhbCBib29s
IGlzWmVybygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisg
ICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0CisgICAgeworICAgICAgICBTdHJpbmcg
cmVzdWx0ID0gIigiOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9saXN0LnNp
emUoKTsgKytpKQorICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChtX2xpc3RbaV0uZ2V0KCktPmNz
c1RleHQoKSk7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoJyknKTsKKyAgICAgICAgcmV0dXJuIHJl
c3VsdDsKKyAgICB9CisKKyAgICB2b2lkIGFwcGVuZChDU1NDYWxjVmFsdWUqIHZhbHVlKSAKKyAg
ICB7CisgICAgICAgIG1fbGlzdC5hcHBlbmQoYWRvcHRSZWYodmFsdWUpKTsKKyAgICB9CisKKyAg
ICBQYXNzT3duUHRyPENhbGNWYWx1ZT4gdG9DYWxjVmFsdWUoUmVuZGVyU3R5bGUqIHN0eWxlLCBS
ZW5kZXJTdHlsZSogcm9vdFN0eWxlKSBjb25zdAorICAgIHsKKyAgICAgICAgQ2FsY01pbk1heFZh
bHVlTGlzdCogbGlzdCA9IG5ldyBDYWxjTWluTWF4VmFsdWVMaXN0KG1fdHlwZSA9PSBNSU4gPyBD
YWxjTWluTWF4VmFsdWVMaXN0OjpNSU4gOiBDYWxjTWluTWF4VmFsdWVMaXN0OjpNQVgpOworICAg
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9saXN0LnNpemUoKTsgKytpKQorICAgICAg
ICAgICAgbGlzdC0+YXBwZW5kKG1fbGlzdFtpXS5nZXQoKS0+dG9DYWxjVmFsdWUoc3R5bGUsIHJv
b3RTdHlsZSkpOworCisgICAgICAgIHJldHVybiBsaXN0OworICAgIH0KKworcHJpdmF0ZToKKyAg
ICBUeXBlIG1fdHlwZTsKKyAgICBWZWN0b3I8UmVmUHRyPENTU0NhbGNWYWx1ZT4gPiBtX2xpc3Q7
Cit9OworCisjZGVmaW5lIENIRUNLX0RFUFRIX0FORF9JTkRFWCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICsrZGVw
dGg7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgICAgIGlmIChkZXB0aCA+IDEwMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGlmICgqaW5k
ZXggPj0gdG9rZW5zLT5zaXplKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgfSB3aGlsZSAoMCkKKworLyogQXMgb2YgRGVjZW1iZXIg
MjAwOSwgdGhlIENTUyBzcGVjIHVzZXMgdGhlIGdyYW1tYXIgdG8gcmVqZWN0IHN0dXBpZAorICog
Y2FsY3VsYXRpb25zIHN1Y2ggYXMgMjBweCoyMHB4LiBBcyB0aGUgb3JpZ2luYWwgZ3JhbW1hciB3
aWxsIGhhdmUgYQorICogYnVuY2ggb2YgZHVwbGljYXRpb25zIGlmIHdlIGltcGxlbWVudCBpdCB3
aXRoIG5vIGNoYW5nZSwgd2UnbGwgdXNlCisgKiB0aGUgZm9sbG93aW5nIHNpbXBsaWZpZWQgZ3Jh
bW1hciBhbmQgcmVqZWN0IGludmFsaWQgb3BlcmF0aW9ucyBieQorICogY2hlY2tpbmcgdHlwZXMg
b2YgdmFsdWVzLgorICoKKyAqIDx2YWx1ZS1leHByZXNzaW9uPiA6PSA8dmFsdWUtYWRkaXRpdmUt
ZXhwcmVzc2lvbj4KKyAqCisgKiA8dmFsdWUtYWRkaXRpdmUtZXhwcmVzc2lvbj4gOj0KKyAqICAg
IDx2YWx1ZS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uPiA8dmFsdWUtYWRkaXRpdmUtZXhwcmVz
c2lvbi10YWlsPgorICoKKyAqIDx2YWx1ZS1hZGRpdGl2ZS1leHByZXNzaW9uLXRhaWw+IDo9Cisg
KiAgICA8ZW1wdHk+IHwKKyAqICAgIFMrICcrJyBTKyA8dmFsdWUtbXVsdGlwbGljYXRpdmUtZXhw
cmVzc2lvbj4gPHZhbHVlLWFkZGl0aXZlLWV4cHJlc3Npb24tdGFpbD4gfAorICogICAgUysgJy0n
IFMrIDx2YWx1ZS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uPiA8dmFsdWUtYWRkaXRpdmUtZXhw
cmVzc2lvbi10YWlsPgorICoKKyAqIDx2YWx1ZS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uPgor
ICogICAgPHZhbHVlLXRlcm0+IDx2YWx1ZS1tdWx0aXBsaWNhdGl2ZS1leHByZXNzaW9uLXRhaWw+
IHwKKyAqCisgKiA8dmFsdWUtbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbi10YWlsPgorICogICAg
PGVtcHR5PiB8CisgKiAgICBTKiAnKicgUyogPHZhbHVlLXRlcm0+IDx2YWx1ZS1tdWx0aXBsaWNh
dGl2ZS1leHByZXNzaW9uLXRhaWw+fAorICogICAgUyogJy8nIFMqIDx2YWx1ZS10ZXJtPiA8dmFs
dWUtbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbi10YWlsPnwKKyAqICAgIFMrICdtb2QnIFMrIDx2
YWx1ZS10ZXJtPiA8dmFsdWUtbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbi10YWlsPgorICoKKyAq
IDx2YWx1ZS10ZXJtPiA6PSAnKCcgPHZhbHVlLWV4cHJlc3Npb24+ICcpJyB8IDxhdG9taWMtbGVu
Z3RoPiB8IDxudW1iZXI+CisgKgorICogPGF0b21pYy1sZW5ndGg+IDo9IDxudW1iZXI+PGxlbmd0
aC11bml0PgorICovCitjbGFzcyBDU1NDYWxjVmFsdWVQYXJzZXIgeworcHVibGljOgorICAgIENT
U0NhbGNWYWx1ZSogcGFyc2VDYWxjKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zKQorICAgIHsK
KyAgICAgICAgdW5zaWduZWQgaW5kZXggPSAwOworICAgICAgICBWYWx1ZSByZXN1bHQ7CisgICAg
ICAgIGJvb2wgb2sgPSBwYXJzZVZhbHVlRXhwcmVzc2lvbih0b2tlbnMsIDAsICZpbmRleCwgJnJl
c3VsdCk7CisgICAgICAgIEFTU0VSVChpbmRleCA8PSB0b2tlbnMtPnNpemUoKSk7CisgICAgICAg
IGlmICghb2sgfHwgcmVzdWx0LnR5cGUgIT0gVmFsdWU6Okxlbmd0aCB8fCBpbmRleCAhPSB0b2tl
bnMtPnNpemUoKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gcmVzdWx0
LnZhbHVlLmxlYWtQdHIoKTsKKyAgICB9CisKKyAgICBDU1NDYWxjVmFsdWUqIHBhcnNlTWluTWF4
TGlzdChDU1NDYWxjTWluTWF4VmFsdWVMaXN0OjpUeXBlIHR5cGUsIENTU1BhcnNlclZhbHVlTGlz
dCogdG9rZW5zKQorICAgIHsKKyAgICAgICAgdW5zaWduZWQgaW5kZXggPSAwOworICAgICAgICBD
U1NDYWxjTWluTWF4VmFsdWVMaXN0KiByZXN1bHQgPSBuZXcgQ1NTQ2FsY01pbk1heFZhbHVlTGlz
dCh0eXBlKTsKKworICAgICAgICBib29sIG9rID0gcGFyc2VWYWx1ZUxpc3QodG9rZW5zLCAwLCAm
aW5kZXgsIHJlc3VsdCk7CisgICAgICAgIEFTU0VSVChpbmRleCA8PSB0b2tlbnMtPnNpemUoKSk7
CisgICAgICAgIGlmICghb2sgfHwgaW5kZXggIT0gdG9rZW5zLT5zaXplKCkpCisgICAgICAgICAg
ICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisKK3ByaXZhdGU6Cisg
ICAgc3RydWN0IFZhbHVlIHsKKyAgICAgICAgZW51bSBUeXBlIHsgTGVuZ3RoLCBOdW1iZXIgfTsK
KyAgICAgICAgT3duUHRyPENTU0NhbGNWYWx1ZT4gdmFsdWU7CisgICAgICAgIFR5cGUgdHlwZTsK
KyAgICB9OworCisgICAgY2hhciBvcGVyYXRvclZhbHVlKENTU1BhcnNlclZhbHVlTGlzdCogdG9r
ZW5zLCB1bnNpZ25lZCBpbmRleCkKKyAgICB7CisgICAgICAgIGlmIChpbmRleCA+PSB0b2tlbnMt
PnNpemUoKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBDU1NQYXJzZXJWYWx1ZSog
dmFsdWUgPSB0b2tlbnMtPnZhbHVlQXQoaW5kZXgpOworICAgICAgICBpZiAodmFsdWUtPnVuaXQg
IT0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJhdG9yKQorICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAg
ICAgICAgcmV0dXJuIHZhbHVlLT5pVmFsdWU7CisgICAgfQorCisgICAgYm9vbCBwYXJzZVZhbHVl
KENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCB1bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1
bHQpCisgICAgeworICAgICAgICBDU1NQYXJzZXJWYWx1ZSogcGFyc2VyVmFsdWUgPSB0b2tlbnMt
PnZhbHVlQXQoKmluZGV4KTsKKyAgICAgICAgaWYgKHBhcnNlclZhbHVlLT51bml0ID09IENTU1Bh
cnNlclZhbHVlOjpPcGVyYXRvciB8fCBwYXJzZXJWYWx1ZS0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1
ZTo6RnVuY3Rpb24pCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgUmVmUHRy
PENTU1ZhbHVlPiB2YWx1ZSA9IHBhcnNlclZhbHVlLT5jcmVhdGVDU1NWYWx1ZSgpOworICAgICAg
ICBpZiAoIXZhbHVlIHx8ICF2YWx1ZS0+aXNQcmltaXRpdmVWYWx1ZSgpKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBwcmltaXRpdmVWYWx1
ZSA9IHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4odmFsdWUuZ2V0KCkpOworICAgICAg
ICByZXN1bHQtPnZhbHVlID0gbmV3IENTU0NhbGNQcmltaXRpdmVWYWx1ZShwcmltaXRpdmVWYWx1
ZSk7CisgICAgICAgIHJlc3VsdC0+dHlwZSA9IHByaW1pdGl2ZVZhbHVlLT5wcmltaXRpdmVUeXBl
KCkgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQVJTRVJfSU5URUdFUiA/IFZhbHVlOjpOdW1i
ZXIgOiBWYWx1ZTo6TGVuZ3RoOworCisgICAgICAgICsrKmluZGV4OworICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWVUZXJtKENTU1BhcnNlclZhbHVlTGlz
dCogdG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAg
ICB7CisgICAgICAgIENIRUNLX0RFUFRIX0FORF9JTkRFWDsKKworICAgICAgICBpZiAob3BlcmF0
b3JWYWx1ZSh0b2tlbnMsICppbmRleCkgPT0gJygnKSB7CisgICAgICAgICAgICB1bnNpZ25lZCBj
dXJyZW50SW5kZXggPSAqaW5kZXggKyAxOworICAgICAgICAgICAgaWYgKCFwYXJzZVZhbHVlRXhw
cmVzc2lvbih0b2tlbnMsIGRlcHRoLCAmY3VycmVudEluZGV4LCByZXN1bHQpKQorICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgaWYgKG9wZXJhdG9yVmFsdWUodG9r
ZW5zLCBjdXJyZW50SW5kZXgpICE9ICcpJykKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgICAgICAqaW5kZXggPSBjdXJyZW50SW5kZXggKyAxOworICAgICAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gcGFyc2VWYWx1ZSh0b2tlbnMs
IGluZGV4LCByZXN1bHQpOworICAgIH0KKworICAgIGJvb2wgcGFyc2VWYWx1ZU11bHRpcGxpY2F0
aXZlRXhwcmVzc2lvbihDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucywgaW50IGRlcHRoLCB1bnNp
Z25lZCogaW5kZXgsIFZhbHVlKiByZXN1bHQpCisgICAgeworICAgICAgICBDSEVDS19ERVBUSF9B
TkRfSU5ERVg7CisKKyAgICAgICAgaWYgKCFwYXJzZVZhbHVlVGVybSh0b2tlbnMsIGRlcHRoLCBp
bmRleCwgcmVzdWx0KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAvLyA8
dmFsdWUtbXVsdGlwbGljYXRpdmUtZXhwcmVzc2lvbi10YWlsPgorICAgICAgICB3aGlsZSAoKmlu
ZGV4IDwgdG9rZW5zLT5zaXplKCkgLSAxKSB7CisgICAgICAgICAgICBjaGFyIG9wZXJhdG9yQ2hh
cmFjdGVyID0gb3BlcmF0b3JWYWx1ZSh0b2tlbnMsICppbmRleCk7CisgICAgICAgICAgICBpZiAo
b3BlcmF0b3JDaGFyYWN0ZXIgIT0gJyonICYmIG9wZXJhdG9yQ2hhcmFjdGVyICE9ICcvJyAmJiBv
cGVyYXRvckNoYXJhY3RlciAhPSAnJScpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICArKyppbmRleDsKKworICAgICAgICAgICAgVmFsdWUgcmhzOworICAgICAgICAgICAgaWYg
KCFwYXJzZVZhbHVlVGVybSh0b2tlbnMsIGRlcHRoLCBpbmRleCwgJnJocykpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICBzd2l0Y2ggKG9wZXJhdG9yQ2hhcmFj
dGVyKSB7CisgICAgICAgICAgICBjYXNlICcqJzoKKyAgICAgICAgICAgICAgICBpZiAocmVzdWx0
LT50eXBlICE9IHJocy50eXBlKQorICAgICAgICAgICAgICAgICAgICByZXN1bHQtPnR5cGUgPSBW
YWx1ZTo6TGVuZ3RoOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlc3VsdC0+dHlwZSA9PSBW
YWx1ZTo6TGVuZ3RoKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAg
ICAgICAgICAgICByZXN1bHQtPnZhbHVlID0gbmV3IENTU0NhbGNCaW5hcnlPcGVyYXRpb25WYWx1
ZShyZXN1bHQtPnZhbHVlLmxlYWtQdHIoKSwgcmhzLnZhbHVlLmxlYWtQdHIoKSwgb3BlcmF0b3JD
aGFyYWN0ZXIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSAnLyc6
CisgICAgICAgICAgICBjYXNlICclJzoKKyAgICAgICAgICAgICAgICBpZiAocmhzLnZhbHVlLT5p
c1plcm8oKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAg
ICAgIGlmIChyZXN1bHQtPnR5cGUgPT0gcmhzLnR5cGUpCisgICAgICAgICAgICAgICAgICAgIHJl
c3VsdC0+dHlwZSA9IFZhbHVlOjpOdW1iZXI7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAocmVz
dWx0LT50eXBlID09IFZhbHVlOjpOdW1iZXIpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgICAgICAgICAgICAgIHJlc3VsdC0+dmFsdWUgPSBuZXcgQ1NTQ2FsY0JpbmFy
eU9wZXJhdGlvblZhbHVlKHJlc3VsdC0+dmFsdWUubGVha1B0cigpLCByaHMudmFsdWUubGVha1B0
cigpLCBvcGVyYXRvckNoYXJhY3Rlcik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisg
ICAgICAgIEFTU0VSVCgqaW5kZXggPD0gdG9rZW5zLT5zaXplKCkpOworICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlQWRkaXRpdmVWYWx1ZUV4cHJlc3Npb24oQ1NT
UGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIGludCBkZXB0aCwgdW5zaWduZWQqIGluZGV4LCBWYWx1
ZSogcmVzdWx0KQorICAgIHsKKyAgICAgICAgQ0hFQ0tfREVQVEhfQU5EX0lOREVYOworCisgICAg
ICAgIGlmICghcGFyc2VWYWx1ZU11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbih0b2tlbnMsIGRlcHRo
LCBpbmRleCwgcmVzdWx0KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAv
LyA8dmFsdWUtYWRkaXRpdmUtZXhwcmVzc2lvbi10YWlsPgorICAgICAgICB3aGlsZSAoKmluZGV4
IDwgdG9rZW5zLT5zaXplKCkgLSAxKSB7CisgICAgICAgICAgICBjaGFyIG9wZXJhdG9yQ2hhcmFj
dGVyID0gb3BlcmF0b3JWYWx1ZSh0b2tlbnMsICppbmRleCk7CisgICAgICAgICAgICBpZiAob3Bl
cmF0b3JDaGFyYWN0ZXIgIT0gJysnICYmIG9wZXJhdG9yQ2hhcmFjdGVyICE9ICctJykKKyAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICsrKmluZGV4OworCisgICAgICAgICAgICBW
YWx1ZSByaHM7CisgICAgICAgICAgICBpZiAoIXBhcnNlVmFsdWVNdWx0aXBsaWNhdGl2ZUV4cHJl
c3Npb24odG9rZW5zLCBkZXB0aCwgaW5kZXgsICZyaHMpKQorICAgICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgICAgICAgICAgaWYgKHJlc3VsdC0+dHlwZSAhPSByaHMudHlwZSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIHN3aXRjaCAob3BlcmF0
b3JDaGFyYWN0ZXIpIHsKKyAgICAgICAgICAgIGNhc2UgJysnOgorICAgICAgICAgICAgY2FzZSAn
LSc6CisgICAgICAgICAgICAgICAgcmVzdWx0LT52YWx1ZSA9IG5ldyBDU1NDYWxjQmluYXJ5T3Bl
cmF0aW9uVmFsdWUocmVzdWx0LT52YWx1ZS5sZWFrUHRyKCksIHJocy52YWx1ZS5sZWFrUHRyKCks
IG9wZXJhdG9yQ2hhcmFjdGVyKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
IGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAg
ICAgQVNTRVJUKCppbmRleCA8PSB0b2tlbnMtPnNpemUoKSk7CisgICAgICAgIHJldHVybiB0cnVl
OworICAgIH0KKworICAgIGJvb2wgcGFyc2VWYWx1ZUxpc3QoQ1NTUGFyc2VyVmFsdWVMaXN0KiB0
b2tlbnMsIGludCBkZXB0aCwgdW5zaWduZWQqIGluZGV4LCBDU1NDYWxjTWluTWF4VmFsdWVMaXN0
KiByZXN1bHQpCisgICAgeworICAgICAgICB3aGlsZSAoKmluZGV4IDwgdG9rZW5zLT5zaXplKCkp
IHsKKyAgICAgICAgICAgIFZhbHVlIG5leHQ7CisgICAgICAgICAgICBpZiAoIXBhcnNlVmFsdWVF
eHByZXNzaW9uKHRva2VucywgZGVwdGgsIGluZGV4LCAmbmV4dCkpCisgICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICByZXN1bHQtPmFwcGVuZChuZXh0LnZhbHVlLmxl
YWtQdHIoKSk7CisKKyAgICAgICAgICAgIGNoYXIgb3BlcmF0b3JDaGFyYWN0ZXIgPSBvcGVyYXRv
clZhbHVlKHRva2VucywgKmluZGV4KTsKKyAgICAgICAgICAgIGlmIChvcGVyYXRvckNoYXJhY3Rl
ciAhPSAnLCcpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICArKyppbmRleDsK
KyAgICAgICAgfQorCisgICAgICAgIEFTU0VSVCgqaW5kZXggPD0gdG9rZW5zLT5zaXplKCkpOwor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWVFeHByZXNz
aW9uKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRl
eCwgVmFsdWUqIHJlc3VsdCkKKyAgICB7CisgICAgICAgIHJldHVybiBwYXJzZUFkZGl0aXZlVmFs
dWVFeHByZXNzaW9uKHRva2VucywgZGVwdGgsIGluZGV4LCByZXN1bHQpOworICAgIH0KK307CisK
K1Bhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBDU1NDYWxjVmFsdWU6OmNyZWF0ZUZyb21QYXJzZXJW
YWx1ZUxpc3QoQ1NTUGFyc2VyU3RyaW5nIG5hbWUsIENTU1BhcnNlclZhbHVlTGlzdCogcGFyc2Vy
VmFsdWVMaXN0KQoreyAgICAKKyAgICBDU1NDYWxjVmFsdWVQYXJzZXIgcGFyc2VyOyAgICAKKwor
ICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAiLXdlYmtpdC1jYWxjKCIpKQorICAgICAg
ICByZXR1cm4gYWRvcHRSZWYocGFyc2VyLnBhcnNlQ2FsYyhwYXJzZXJWYWx1ZUxpc3QpKTsKKyAg
ICAKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgIi13ZWJraXQtbWluKCIpKQorICAg
ICAgICByZXR1cm4gYWRvcHRSZWYocGFyc2VyLnBhcnNlTWluTWF4TGlzdChDU1NDYWxjTWluTWF4
VmFsdWVMaXN0OjpNSU4sIHBhcnNlclZhbHVlTGlzdCkpOworICAgIAorICAgIGlmIChlcXVhbEln
bm9yaW5nQ2FzZShuYW1lLCAiLXdlYmtpdC1tYXgoIikpCisgICAgICAgIHJldHVybiBhZG9wdFJl
ZihwYXJzZXIucGFyc2VNaW5NYXhMaXN0KENTU0NhbGNNaW5NYXhWYWx1ZUxpc3Q6Ok1BWCwgcGFy
c2VyVmFsdWVMaXN0KSk7CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4g
MDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NhbGNWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjMxMzFhODZjMjRhNmI2MTE5ZmU5MDU3ZmFjZTJhZTAxYTM4NDFkNzgKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmgKQEAgLTAs
MCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgQ1NTQ2FsY1ZhbHVlX2gKKyNkZWZpbmUgQ1NTQ2FsY1ZhbHVlX2gK
KworI2luY2x1ZGUgIkNTU1BhcnNlclZhbHVlcy5oIgorI2luY2x1ZGUgIkNTU1ZhbHVlLmgiCisj
aW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0OworY2xhc3MgQ1NT
VmFsdWVMaXN0OworY2xhc3MgUmVuZGVyU3R5bGU7CitjbGFzcyBDYWxjVmFsdWU7CisKK2NsYXNz
IENTU0NhbGNWYWx1ZSA6IHB1YmxpYyBDU1NWYWx1ZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBh
c3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBjcmVhdGVGcm9tUGFyc2VyVmFsdWVMaXN0KENTU1BhcnNl
clN0cmluZyBuYW1lLCBDU1NQYXJzZXJWYWx1ZUxpc3QqKTsKKworICAgIHZpcnR1YWwgYm9vbCBp
c0NhbGNWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKworICAgIHZpcnR1YWwgYm9vbCBp
c1plcm8oKSBjb25zdCA9IDA7CisKKyAgICB2aXJ0dWFsIFBhc3NPd25QdHI8Q2FsY1ZhbHVlPiB0
b0NhbGNWYWx1ZShSZW5kZXJTdHlsZSosIFJlbmRlclN0eWxlKiByb290U3R5bGUpIGNvbnN0ID0g
MDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIENTU0NhbGNWYWx1
ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55IGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueQppbmRleCAwM2QyNWQ5N2M5NTY5MGMwN2VjZTZkMzU3
ZDU2NmM4NDgwZGQyMWU1Li41YmFkODBhMjBlYTZmZjQzMThhMTUwNzAyMWY1MDY4MTBjOGU5ZTNl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkKQEAgLTk5LDcgKzk5LDcgQEAgc3RhdGljIGludCBj
c3N5eWxleChZWVNUWVBFKiB5eWx2YWwsIHZvaWQqIHBhcnNlcikKIAogJX0KIAotJWV4cGVjdCA1
MQorJWV4cGVjdCA2NAogCiAlbm9uYXNzb2MgTE9XRVNUX1BSRUMKIApAQCAtMTkwLDYgKzE5MCw5
IEBAIHN0YXRpYyBpbnQgY3NzeXlsZXgoWVlTVFlQRSogeXlsdmFsLCB2b2lkKiBwYXJzZXIpCiAl
dG9rZW4gPHN0cmluZz4gVVJJCiAldG9rZW4gPHN0cmluZz4gRlVOQ1RJT04KICV0b2tlbiA8c3Ry
aW5nPiBOT1RGVU5DVElPTgorJXRva2VuIDxzdHJpbmc+IENBTENGVU5DVElPTgorJXRva2VuIDxz
dHJpbmc+IE1JTkZVTkNUSU9OCisldG9rZW4gPHN0cmluZz4gTUFYRlVOQ1RJT04KIAogJXRva2Vu
IDxzdHJpbmc+IFVOSUNPREVSQU5HRQogCkBAIC0yNzAsNiArMjczLDE0IEBAIHN0YXRpYyBpbnQg
Y3NzeXlsZXgoWVlTVFlQRSogeXlsdmFsLCB2b2lkKiBwYXJzZXIpCiAldHlwZSA8dmFsdWU+IHRl
cm0KICV0eXBlIDx2YWx1ZT4gdW5hcnlfdGVybQogJXR5cGUgPHZhbHVlPiBmdW5jdGlvbgorJXR5
cGUgPHZhbHVlPiBjYWxjX2Z1bmNfdGVybQorJXR5cGUgPGNoYXJhY3Rlcj4gY2FsY19mdW5jX29w
ZXJhdG9yCisldHlwZSA8dmFsdWVMaXN0PiBjYWxjX2Z1bmNfZXhwcgorJXR5cGUgPHZhbHVlTGlz
dD4gY2FsY19mdW5jX2V4cHJfbGlzdAorJXR5cGUgPHZhbHVlTGlzdD4gY2FsY19mdW5jX3BhcmVu
X2V4cHIKKyV0eXBlIDx2YWx1ZT4gY2FsY19mdW5jdGlvbgorJXR5cGUgPHN0cmluZz4gbWluX29y
X21heAorJXR5cGUgPHZhbHVlPiBtaW5fb3JfbWF4X2Z1bmN0aW9uCiAKICV0eXBlIDxzdHJpbmc+
IGVsZW1lbnRfbmFtZQogJXR5cGUgPHN0cmluZz4gYXR0cl9uYW1lCkBAIC0xNDIxLDYgKzE0MzIs
MTIgQEAgdGVybToKICAgfCBmdW5jdGlvbiB7CiAgICAgICAkJCA9ICQxOwogICB9CisgIHwgY2Fs
Y19mdW5jdGlvbiB7CisgICAgICAkJCA9ICQxOworICB9CisgIHwgbWluX29yX21heF9mdW5jdGlv
biB7CisgICAgICAkJCA9ICQxOworICB9CiAgIHwgJyUnIG1heWJlX3NwYWNlIHsgLyogSGFuZGxl
IHdpZHRoOiAlOyAqLwogICAgICAgJCQuaWQgPSAwOyAkJC51bml0ID0gMDsKICAgfQpAQCAtMTQ3
Nyw2ICsxNDk0LDE2MiBAQCBmdW5jdGlvbjoKICAgICAgICAgJCQuZnVuY3Rpb24gPSBmOwogICB9
CiAgIDsKKyAKK2NhbGNfZnVuY190ZXJtOgorICAgIHRlcm0KKyAgOworCitjYWxjX2Z1bmNfb3Bl
cmF0b3I6CisgICAgJysnIG1heWJlX3NwYWNlIHsKKyAgICAgICAgJCQgPSAnKyc7CisgICAgfQor
ICB8ICctJyBtYXliZV9zcGFjZSB7CisgICAgICAgICQkID0gJy0nOworICAgIH0KKyAgfCAnKicg
bWF5YmVfc3BhY2UgeworICAgICAgICAkJCA9ICcqJzsKKyAgICB9CisgIHwgJy8nIG1heWJlX3Nw
YWNlIHsKKyAgICAgICAgJCQgPSAnLyc7CisgICAgfQorICB8IElERU5UIG1heWJlX3NwYWNlIHsK
KyAgICAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKCJtb2QiLCAkMS5jaGFyYWN0ZXJzLCAkMS5s
ZW5ndGgpKQorICAgICAgICAgICAgJCQgPSAnJSc7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IFlZRVJST1I7CisgICAgfQorICA7CisKK2NhbGNfZnVuY19wYXJlbl9leHByOgorICAgICcoJyBt
YXliZV9zcGFjZSBjYWxjX2Z1bmNfZXhwciBtYXliZV9zcGFjZSAnKScgbWF5YmVfc3BhY2Ugewor
ICAgICAgICAkJCA9ICQzOworICAgICAgICBpZiAoJCQpIHsKKyAgICAgICAgICAgIENTU1BhcnNl
clZhbHVlIHY7CisgICAgICAgICAgICB2LmlkID0gMDsKKyAgICAgICAgICAgIHYudW5pdCA9IENT
U1BhcnNlclZhbHVlOjpPcGVyYXRvcjsKKyAgICAgICAgICAgIHYuaVZhbHVlID0gJygnOworICAg
ICAgICAgICAgJCQtPmluc2VydFZhbHVlQXQoMCwgdik7CisgICAgICAgICAgICB2LmlWYWx1ZSA9
ICcpJzsKKyAgICAgICAgICAgICQkLT5hZGRWYWx1ZSh2KTsKKyAgICAgICAgfQorICAgIH0KKwor
Y2FsY19mdW5jX2V4cHI6CisgICAgY2FsY19mdW5jX3Rlcm0gbWF5YmVfc3BhY2UgeworICAgICAg
ICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOworICAgICAg
ICAkJCA9IHAtPmNyZWF0ZUZsb2F0aW5nVmFsdWVMaXN0KCk7CisgICAgICAgICQkLT5hZGRWYWx1
ZShwLT5zaW5rRmxvYXRpbmdWYWx1ZSgkMSkpOworICAgIH0KKyAgfCBjYWxjX2Z1bmNfZXhwciBt
YXliZV9zcGFjZSBjYWxjX2Z1bmNfdGVybSBtYXliZV9zcGFjZSB7CisgICAgICAgIENTU1BhcnNl
ciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7CisgICAgICAgICQkID0gJDE7
CisgICAgICAgIGlmICgkJCkKKyAgICAgICAgICAgICQkLT5hZGRWYWx1ZShwLT5zaW5rRmxvYXRp
bmdWYWx1ZSgkMykpOworICAgIH0KKyAgfCBjYWxjX2Z1bmNfZXhwciBjYWxjX2Z1bmNfb3BlcmF0
b3IgY2FsY19mdW5jX3Rlcm0geworICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxD
U1NQYXJzZXIqPihwYXJzZXIpOworICAgICAgICAkJCA9ICQxOworICAgICAgICBpZiAoJCQpIHsK
KyAgICAgICAgICAgIGlmICgkMikgeworICAgICAgICAgICAgICAgIENTU1BhcnNlclZhbHVlIHY7
CisgICAgICAgICAgICAgICAgdi5pZCA9IDA7CisgICAgICAgICAgICAgICAgdi51bml0ID0gQ1NT
UGFyc2VyVmFsdWU6Ok9wZXJhdG9yOworICAgICAgICAgICAgICAgIHYuaVZhbHVlID0gJDI7Cisg
ICAgICAgICAgICAgICAgJCQtPmFkZFZhbHVlKHYpOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgJCQtPmFkZFZhbHVlKHAtPnNpbmtGbG9hdGluZ1ZhbHVlKCQzKSk7CisgICAgICAgIH0KKyAg
ICB9CisgIHwgY2FsY19mdW5jX2V4cHIgY2FsY19mdW5jX29wZXJhdG9yIGNhbGNfZnVuY19wYXJl
bl9leHByIHsKKyAgICAgICAgJCQgPSAkMTsKKyAgICAgICAgaWYgKCQkKSB7CisgICAgICAgICAg
ICBpZiAoJDIpIHsKKyAgICAgICAgICAgICAgICBDU1NQYXJzZXJWYWx1ZSB2OworICAgICAgICAg
ICAgICAgIHYuaWQgPSAwOworICAgICAgICAgICAgICAgIHYudW5pdCA9IENTU1BhcnNlclZhbHVl
OjpPcGVyYXRvcjsKKyAgICAgICAgICAgICAgICB2LmlWYWx1ZSA9ICQyOworICAgICAgICAgICAg
ICAgICQkLT5hZGRWYWx1ZSh2KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICgkMykK
KyAgICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgJDMtPnNpemUoKTsgaSsr
KQorICAgICAgICAgICAgICAgICAgICAkJC0+YWRkVmFsdWUoKiQzLT52YWx1ZUF0KGkpKTsKKyAg
ICAgICAgfQorICAgIH0KKyAgfCBjYWxjX2Z1bmNfcGFyZW5fZXhwcgorICB8IGNhbGNfZnVuY19l
eHByIGVycm9yIHsKKyAgICAgICAgJCQgPSAwOworICAgIH0KKyAgOworCitjYWxjX2Z1bmNfZXhw
cl9saXN0OgorICAgIGNhbGNfZnVuY19leHByICB7CisgICAgICAgICQkID0gJDE7CisgICAgfSAg
ICAKKyAgICB8IGNhbGNfZnVuY19leHByX2xpc3QgJywnIG1heWJlX3NwYWNlIGNhbGNfZnVuY19l
eHByIHsKKyAgICAgICAgJCQgPSAkMTsKKyAgICAgICAgaWYgKCQkKSB7CisgICAgICAgICAgICBD
U1NQYXJzZXJWYWx1ZSB2OworICAgICAgICAgICAgdi5pZCA9IDA7CisgICAgICAgICAgICB2LnVu
aXQgPSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3I7CisgICAgICAgICAgICB2LmlWYWx1ZSA9ICcs
JzsKKyAgICAgICAgICAgICQkLT5hZGRWYWx1ZSh2KTsKKyAgICAgICAgICAgICQkLT5hcHBlbmQo
KigkNCkpOworICAgICAgICB9CisgICAgfQorICAgIAorCitjYWxjX2Z1bmN0aW9uOgorICAgIENB
TENGVU5DVElPTiBtYXliZV9zcGFjZSBjYWxjX2Z1bmNfZXhwciAnKScgbWF5YmVfc3BhY2Ugewor
ICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwor
ICAgICAgICBDU1NQYXJzZXJGdW5jdGlvbiogZiA9IHAtPmNyZWF0ZUZsb2F0aW5nRnVuY3Rpb24o
KTsKKyAgICAgICAgZi0+bmFtZSA9ICQxOworICAgICAgICBmLT5hcmdzID0gcC0+c2lua0Zsb2F0
aW5nVmFsdWVMaXN0KCQzKTsKKyAgICAgICAgJCQuaWQgPSAwOworICAgICAgICAkJC51bml0ID0g
Q1NTUGFyc2VyVmFsdWU6OkZ1bmN0aW9uOworICAgICAgICAkJC5mdW5jdGlvbiA9IGY7CisgICAg
fQorICB8IENBTENGVU5DVElPTiBtYXliZV9zcGFjZSBlcnJvciB7CisgICAgICAgIENTU1BhcnNl
ciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7CisgICAgICAgIENTU1BhcnNl
ckZ1bmN0aW9uKiBmID0gcC0+Y3JlYXRlRmxvYXRpbmdGdW5jdGlvbigpOworICAgICAgICBmLT5u
YW1lID0gJDE7CisgICAgICAgIGYtPmFyZ3MgPSAwOworICAgICAgICAkJC5pZCA9IDA7CisgICAg
ICAgICQkLnVuaXQgPSBDU1NQYXJzZXJWYWx1ZTo6RnVuY3Rpb247CisgICAgICAgICQkLmZ1bmN0
aW9uID0gZjsKKyAgICB9CisgIDsKKworCittaW5fb3JfbWF4OgorICAgIE1JTkZVTkNUSU9OIHsK
KyAgICAgICAgJCQgPSAkMTsKKyAgICB9CisgICAgfCBNQVhGVU5DVElPTiB7CisgICAgICAgICQk
ID0gJDE7CisgICAgfQorICAgIDsKKworbWluX29yX21heF9mdW5jdGlvbjoKKyAgICBtaW5fb3Jf
bWF4IG1heWJlX3NwYWNlIGNhbGNfZnVuY19leHByX2xpc3QgJyknIG1heWJlX3NwYWNlIHsKKyAg
ICAgICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4ocGFyc2VyKTsKKyAg
ICAgICAgQ1NTUGFyc2VyRnVuY3Rpb24qIGYgPSBwLT5jcmVhdGVGbG9hdGluZ0Z1bmN0aW9uKCk7
CisgICAgICAgIGYtPm5hbWUgPSAkMTsKKyAgICAgICAgZi0+YXJncyA9IHAtPnNpbmtGbG9hdGlu
Z1ZhbHVlTGlzdCgkMyk7CisgICAgICAgICQkLmlkID0gMDsKKyAgICAgICAgJCQudW5pdCA9IENT
U1BhcnNlclZhbHVlOjpGdW5jdGlvbjsKKyAgICAgICAgJCQuZnVuY3Rpb24gPSBmOworICAgIH0g
fAorICAgIG1pbl9vcl9tYXggbWF5YmVfc3BhY2UgZXJyb3IgeworICAgICAgICBDU1NQYXJzZXIq
IHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOworICAgICAgICBDU1NQYXJzZXJG
dW5jdGlvbiogZiA9IHAtPmNyZWF0ZUZsb2F0aW5nRnVuY3Rpb24oKTsKKyAgICAgICAgZi0+bmFt
ZSA9ICQxOworICAgICAgICBmLT5hcmdzID0gMDsKKyAgICAgICAgJCQuaWQgPSAwOworICAgICAg
ICAkJC51bml0ID0gQ1NTUGFyc2VyVmFsdWU6OkZ1bmN0aW9uOworICAgICAgICAkJC5mdW5jdGlv
biA9IGY7CisgIH0KKyAgOworCiAvKgogICogVGhlcmUgaXMgYSBjb25zdHJhaW50IG9uIHRoZSBj
b2xvciB0aGF0IGl0IG11c3QKICAqIGhhdmUgZWl0aGVyIDMgb3IgNiBoZXgtZGlnaXRzIChpLmUu
LCBbMC05YS1mQS1GXSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggMWFlNDVmNWVlMGIw
MTAyZDI4MWI3NDJmY2FjNzQ1ZjhlNzVmYjVhNS4uMzY3MzczZjU0NjZlOTBlZTY2NWY3ZTE3YzU3
ZTQyNDZiZTdlNmMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTI2LDYgKzI2LDcg
QEAKICNpbmNsdWRlICJDU1NQYXJzZXIuaCIKIAogI2luY2x1ZGUgIkNTU0JvcmRlckltYWdlVmFs
dWUuaCIKKyNpbmNsdWRlICJDU1NDYWxjVmFsdWUuaCIKICNpbmNsdWRlICJDU1NDYW52YXNWYWx1
ZS5oIgogI2luY2x1ZGUgIkNTU0NoYXJzZXRSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTQ3Vyc29ySW1h
Z2VWYWx1ZS5oIgpAQCAtODcsNiArODgsMTAgQEAgZXh0ZXJuIGludCBjc3N5eXBhcnNlKHZvaWQq
IHBhcnNlcik7CiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogdXNpbmcgbmFtZXNwYWNlIFdURjsKIAor
Ly8gSEFDSyEKK0ZJTEUqIG1pa2VmcCA9IDA7CisjZGVmaW5lIGRwcmludGYoLi4uKSBkbyB7aWYg
KCFtaWtlZnApIG1pa2VmcCA9IGZvcGVuKCJjc3MtZGVidWcudHh0IiwgInciKTsgZnByaW50Ziht
aWtlZnAsIF9fVkFfQVJHU19fKTsgZmZsdXNoKG1pa2VmcCk7fSB3aGlsZSAoMCkKKwogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgSU5WQUxJRF9OVU1fUEFSU0VE
X1BST1BFUlRJRVMgPSBVSU5UX01BWDsKQEAgLTEyNSw2ICsxMzAsMTQgQEAgc3RhdGljIGJvb2wg
aGFzUHJlZml4KGNvbnN0IGNoYXIqIHN0cmluZywgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBjaGFy
KiBwcmVmaXgpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitzdGF0aWMgYm9vbCBpc0NhbGMoQ1NT
UGFyc2VyVmFsdWUqIHZhbHVlKSAKK3sKKyAgICByZXR1cm4gKHZhbHVlLT51bml0ID09IENTU1Bh
cnNlclZhbHVlOjpGdW5jdGlvbikgCisgICAgICAgICYmIChlcXVhbElnbm9yaW5nQ2FzZSh2YWx1
ZS0+ZnVuY3Rpb24tPm5hbWUsICItd2Via2l0LWNhbGMoIikKKyAgICAgICAgICAgIHx8IGVxdWFs
SWdub3JpbmdDYXNlKHZhbHVlLT5mdW5jdGlvbi0+bmFtZSwgIi13ZWJraXQtbWluKCIpCisgICAg
ICAgICAgICB8fCBlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZS0+ZnVuY3Rpb24tPm5hbWUsICItd2Vi
a2l0LW1heCgiKSk7Cit9CisKIENTU1BhcnNlcjo6Q1NTUGFyc2VyKGJvb2wgc3RyaWN0UGFyc2lu
ZykKICAgICA6IG1fc3RyaWN0KHN0cmljdFBhcnNpbmcpCiAgICAgLCBtX2ltcG9ydGFudChmYWxz
ZSkKQEAgLTEwNjMsMTEgKzEwNzYsMTQgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoaW50
IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgICAgICAgICB2YWxpZFByaW1pdGl2ZSA9ICgh
aWQgJiYgdmFsaWRVbml0KHZhbHVlLCBGTGVuZ3RoIHwgRlBlcmNlbnQsIG1fc3RyaWN0KSk7CiAg
ICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSBDU1NQcm9wZXJ0eUhlaWdodDogICAgICAgICAgICAg
ICAvLyA8bGVuZ3RoPiB8IDxwZXJjZW50YWdlPiB8IGF1dG8gfCBpbmhlcml0Ci0gICAgY2FzZSBD
U1NQcm9wZXJ0eVdpZHRoOiAgICAgICAgICAgICAgICAvLyA8bGVuZ3RoPiB8IDxwZXJjZW50YWdl
PiB8IGF1dG8gfCBpbmhlcml0CisgICAgY2FzZSBDU1NQcm9wZXJ0eUhlaWdodDogICAgICAgICAg
ICAgICAvLyA8bGVuZ3RoPiB8IDxwZXJjZW50YWdlPiB8IGF1dG8gfCBpbmhlcml0IHwgY2FsYygp
IHwgbWluKCkgfCBtYXgoKQorICAgIGNhc2UgQ1NTUHJvcGVydHlXaWR0aDogICAgICAgICAgICAg
ICAgLy8gPGxlbmd0aD4gfCA8cGVyY2VudGFnZT4gfCBhdXRvIHwgaW5oZXJpdCB8IGNhbGMoKSB8
IG1pbigpIHwgbWF4KCkKICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TG9naWNhbFdpZHRoOiAg
CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdExvZ2ljYWxIZWlnaHQ6Ci0gICAgICAgIGlmIChp
ZCA9PSBDU1NWYWx1ZUF1dG8gfHwgaWQgPT0gQ1NTVmFsdWVJbnRyaW5zaWMgfHwgaWQgPT0gQ1NT
VmFsdWVNaW5JbnRyaW5zaWMpCisgICAgICAgIGlmIChpc0NhbGModmFsdWUpKSB7CisgICAgICAg
ICAgICBpZiAocGFyc2VDYWxjKHByb3BJZCwgdmFsdWUsIGltcG9ydGFudCkpCisgICAgICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0gZWxzZSBpZiAoaWQgPT0gQ1NTVmFsdWVBdXRv
IHx8IGlkID09IENTU1ZhbHVlSW50cmluc2ljIHx8IGlkID09IENTU1ZhbHVlTWluSW50cmluc2lj
KQogICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOwogICAgICAgICBlbHNlCiAgICAg
ICAgICAgICAvLyAjIyMgaGFuZGxlIG11bHRpbGVuZ3RoIGNhc2Ugd2hlcmUgd2UgYWxsb3cgcmVs
YXRpdmUgdW5pdHMKQEAgLTE5MTAsNyArMTkyNiw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUZp
bGxTaG9ydGhhbmQoaW50IHByb3BJZCwgY29uc3QgaW50KiBwcm9wZXJ0aWVzLCBpbnQgbnVtUHJv
CiAgICAgICAgICAgICAgICAgICAgIGlmICgocHJvcGVydGllc1tpXSA9PSBDU1NQcm9wZXJ0eUJh
Y2tncm91bmRPcmlnaW4gfHwgcHJvcGVydGllc1tpXSA9PSBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tP
cmlnaW4pICYmICFwYXJzZWRQcm9wZXJ0eVtpXSkgewogICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gSWYgYmFja2dyb3VuZC1vcmlnaW4gd2Fzbid0IHByZXNlbnQsIHRoZW4gcmVzZXQgYmFja2dy
b3VuZC1jbGlwIGFsc28uCiAgICAgICAgICAgICAgICAgICAgICAgICBhZGRGaWxsVmFsdWUoY2xp
cFZhbHVlLCBDU1NJbml0aWFsVmFsdWU6OmNyZWF0ZUltcGxpY2l0KCkpOwotICAgICAgICAgICAg
ICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBwYXJzZWRQcm9wZXJ0eVtpXSA9IGZhbHNl
OwogICAgICAgICAgICAgfQpAQCAtNTQ3Myw2ICs1NDg5LDIzIEBAIGJvb2wgQ1NTUGFyc2VyOjpw
YXJzZVRleHRFbXBoYXNpc1N0eWxlKGJvb2wgaW1wb3J0YW50KQogICAgIHJldHVybiBmYWxzZTsK
IH0KIAorYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ2FsYyhpbnQgcHJvcElkLCBDU1NQYXJzZXJWYWx1
ZSogdmFsdWUsIGJvb2wgaW1wb3J0YW50KSAKK3sKKyAgICBBU1NFUlQoaXNDYWxjKHZhbHVlKSk7
CisKKyAgICBDU1NQYXJzZXJWYWx1ZUxpc3QqIGFyZ3MgPSB2YWx1ZS0+ZnVuY3Rpb24tPmFyZ3Mu
Z2V0KCk7CisgICAgaWYgKCFhcmdzIHx8ICFhcmdzLT5zaXplKCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIFJlZlB0cjxDU1NDYWxjVmFsdWU+IGNhbGMgPSBDU1NDYWxjVmFsdWU6OmNy
ZWF0ZUZyb21QYXJzZXJWYWx1ZUxpc3QodmFsdWUtPmZ1bmN0aW9uLT5uYW1lLCBhcmdzKTsKKwor
ICAgIGlmICghY2FsYy5nZXQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworIAorICAgIGFkZFBy
b3BlcnR5KHByb3BJZCwgY2FsYy5yZWxlYXNlKCksIGltcG9ydGFudCk7CisgICAgcmV0dXJuIHRy
dWU7Cit9CisKIHN0YXRpYyBpbmxpbmUgaW50IHl5ZXJyb3IoY29uc3QgY2hhciopIHsgcmV0dXJu
IDE7IH0KIAogI2RlZmluZSBFTkRfVE9LRU4gMApAQCAtNTUwNSw2ICs1NTM4LDkgQEAgaW50IENT
U1BhcnNlcjo6bGV4KHZvaWQqIHl5bHZhbFdpdGhvdXRUeXBlKQogICAgIGNhc2UgVU5JQ09ERVJB
TkdFOgogICAgIGNhc2UgRlVOQ1RJT046CiAgICAgY2FzZSBOT1RGVU5DVElPTjoKKyAgICBjYXNl
IENBTENGVU5DVElPTjoKKyAgICBjYXNlIE1JTkZVTkNUSU9OOgorICAgIGNhc2UgTUFYRlVOQ1RJ
T046CiAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmNoYXJhY3RlcnMgPSB0OwogICAgICAgICB5eWx2
YWwtPnN0cmluZy5sZW5ndGggPSBsZW5ndGg7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5oCmluZGV4IGQxYjIwNjEyZDFhMGE3MDZlMzc2ZTNhMDJhNzg2NjRlNmE3MTU5YzkuLjVj
ZDBlNjI0M2NiZTM2YmY3ODRhMjNkMzIzODBhZTdjYjk4NzAyNWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmgKQEAgLTE2OCw2ICsxNjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAg
Ym9vbCBwYXJzZVRleHRFbXBoYXNpc1N0eWxlKGJvb2wgaW1wb3J0YW50KTsKIAorICAgICAgICBi
b29sIHBhcnNlQ2FsYyhpbnQgcHJvcElkLCBDU1NQYXJzZXJWYWx1ZSosIGJvb2wgaW1wb3J0YW50
KTsKKwogICAgICAgICBpbnQgeXlwYXJzZSgpOwogCiAgICAgICAgIENTU1BhcnNlclNlbGVjdG9y
KiBjcmVhdGVGbG9hdGluZ1NlbGVjdG9yKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyVmFsdWVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1
ZXMuY3BwCmluZGV4IGRjMGU4MmJmOWM1OWQxZTY0NzA1ZDdlZTYwNzgxMjZkYWZiMzM1ZGMuLjgz
MTViMjNiYzdlNGE4ZjcxZmVlZTkxYWZkYmM1MDI4ZjRkNzNmNDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXJWYWx1ZXMuY3BwCkBAIC00MywxMiArNDMsMjMgQEAgdm9pZCBDU1NQYXJzZXJW
YWx1ZUxpc3Q6OmFkZFZhbHVlKGNvbnN0IENTU1BhcnNlclZhbHVlJiB2KQogewogICAgIG1fdmFs
dWVzLmFwcGVuZCh2KTsKIH0KLSAgICAKKwordm9pZCBDU1NQYXJzZXJWYWx1ZUxpc3Q6Omluc2Vy
dFZhbHVlQXQodW5zaWduZWQgaSwgY29uc3QgQ1NTUGFyc2VyVmFsdWUmIHYpCit7CisgICAgbV92
YWx1ZXMuaW5zZXJ0KGksIHYpOworfQorCiB2b2lkIENTU1BhcnNlclZhbHVlTGlzdDo6ZGVsZXRl
VmFsdWVBdCh1bnNpZ25lZCBpKQogeyAKICAgICBtX3ZhbHVlcy5yZW1vdmUoaSk7CiB9CiAKK3Zv
aWQgQ1NTUGFyc2VyVmFsdWVMaXN0OjphcHBlbmQoQ1NTUGFyc2VyVmFsdWVMaXN0JiByaWdodCkK
K3sKKyAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IHJpZ2h0LnNpemUoKTsgKytpKQor
ICAgICAgICBtX3ZhbHVlcy5hcHBlbmQoKihyaWdodC52YWx1ZUF0KGkpKSk7Cit9CisKIFBhc3NS
ZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlclZhbHVlOjpjcmVhdGVDU1NWYWx1ZSgpCiB7CiAgICAg
UmVmUHRyPENTU1ZhbHVlPiBwYXJzZWRWYWx1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1
ZXMuaAppbmRleCBkMDg0MDkxMWE0MmM3ODhmMjUzZWFjYjA5NWM2YzEwOTk0MWRhMmQ3Li5lMjE1
ZDVmOGFiNzhhMmI5MDgxOWZjYzUxMjZjODY5MDA5ZWFlZTI4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlclZhbHVlcy5oCkBAIC03MSw3ICs3MSw5IEBAIHB1YmxpYzoKICAgICB+Q1NTUGFyc2Vy
VmFsdWVMaXN0KCk7CiAgICAgCiAgICAgdm9pZCBhZGRWYWx1ZShjb25zdCBDU1NQYXJzZXJWYWx1
ZSYpOworICAgIHZvaWQgaW5zZXJ0VmFsdWVBdCh1bnNpZ25lZCwgY29uc3QgQ1NTUGFyc2VyVmFs
dWUmKTsKICAgICB2b2lkIGRlbGV0ZVZhbHVlQXQodW5zaWduZWQpOworICAgIHZvaWQgYXBwZW5k
KENTU1BhcnNlclZhbHVlTGlzdCYgcmlnaHQpOwogCiAgICAgdW5zaWduZWQgc2l6ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fdmFsdWVzLnNpemUoKTsgfQogICAgIENTU1BhcnNlclZhbHVlKiBjdXJyZW50
KCkgeyByZXR1cm4gbV9jdXJyZW50IDwgbV92YWx1ZXMuc2l6ZSgpID8gJm1fdmFsdWVzW21fY3Vy
cmVudF0gOiAwOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAppbmRl
eCA2ZDkzMGJkNjFiZWIxYzU0ZDJiMTUxZGNiZjIyM2M4YjExMDQwODk1Li4zYmRjYjU4MTU1ODEw
Yjk2N2YzODg3MDZiMjAzNmNhYzg5YTliMzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmlt
aXRpdmVWYWx1ZS5jcHAKQEAgLTI2OSw4ICsyNjksMTIgQEAgQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U1ByaW1pdGl2ZVZhbHVlKGNvbnN0IExlbmd0aCYgbGVuZ3RoKQogICAgICAgICAgICAgbV90eXBl
ID0gQ1NTX1BFUkNFTlRBR0U7CiAgICAgICAgICAgICBtX3ZhbHVlLm51bSA9IGxlbmd0aC5wZXJj
ZW50KCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDYWxjdWxhdGVkOiAvLyBG
SVhNRSBpcyB0aGlzIGNvcnJlY3Q/CisgICAgICAgICAgICBtX3R5cGUgPSBDU1NfVU5LTk9XTjsK
KyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFJlbGF0aXZlOgogICAgICAgICBjYXNl
IFN0YXRpYzoKKyAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxl
U2VsZWN0b3IuY3BwCmluZGV4IDdkODE3NGEzZDYxNDczMzBhYTlhNjlmNzQ1ZjlkMWYyMGZkOGIy
OWMuLmZkZjQ4ODlmZWJlNjRjY2U1OWVmY2U1NWRkMWYzMzMwM2MxMzUwMWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTI3LDEwICsyNywxMiBAQAogI2luY2x1
ZGUgIkNTU1N0eWxlU2VsZWN0b3IuaCIKIAogI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgorI2luY2x1
ZGUgIkNhbGNWYWx1ZS5oIgogI2luY2x1ZGUgIkNvbnRlbnREYXRhLmgiCiAjaW5jbHVkZSAiQ291
bnRlckNvbnRlbnQuaCIKICNpbmNsdWRlICJDdXJzb3JMaXN0LmgiCiAjaW5jbHVkZSAiQ1NTQm9y
ZGVySW1hZ2VWYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0NhbGNWYWx1ZS5oIgogI2luY2x1ZGUgIkNT
U0N1cnNvckltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKICNpbmNs
dWRlICJDU1NJbXBvcnRSdWxlLmgiCkBAIC05NCw2ICs5Niw3IEBACiAjaW5jbHVkZSAiV2ViS2l0
Q1NTS2V5ZnJhbWVzUnVsZS5oIgogI2luY2x1ZGUgIldlYktpdENTU1RyYW5zZm9ybVZhbHVlLmgi
CiAjaW5jbHVkZSAiWE1MTmFtZXMuaCIKKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMTIx
LDYgKzEyNCwxMCBAQAogCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCisvLyBIQUNLIQorZXh0ZXJu
IEZJTEUgKm1pa2VmcDsKKyNkZWZpbmUgZHByaW50ZiguLi4pIC8vIGRvIHtpZiAoIW1pa2VmcCkg
bWlrZWZwID0gZm9wZW4oImNzcy1kZWJ1Zy50eHQiLCAidyIpOyBmcHJpbnRmKG1pa2VmcCwgX19W
QV9BUkdTX18pOyBmZmx1c2gobWlrZWZwKTt9IHdoaWxlICgwKQorCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CkBAIC0zNzUsNyArMzgyLDcgQEAgY2xh
c3MgUnVsZVNldCB7CiBwdWJsaWM6CiAgICAgUnVsZVNldCgpOwogICAgIH5SdWxlU2V0KCk7Ci0g
ICAgCisKICAgICB0eXBlZGVmIEhhc2hNYXA8QXRvbWljU3RyaW5nSW1wbCosIFZlY3RvcjxSdWxl
RGF0YT4qPiBBdG9tUnVsZU1hcDsKICAgICAKICAgICB2b2lkIGFkZFJ1bGVzRnJvbVNoZWV0KENT
U1N0eWxlU2hlZXQqLCBjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJiwgQ1NTU3R5bGVTZWxlY3Rv
ciogPSAwKTsKQEAgLTUzNyw3ICs1NDQsNyBAQCBDU1NTdHlsZVNlbGVjdG9yOjpDU1NTdHlsZVNl
bGVjdG9yKERvY3VtZW50KiBkb2N1bWVudCwgU3R5bGVTaGVldExpc3QqIHN0eWxlU2hlZQogICAg
ICAgICBTdHlsZVNoZWV0KiBzaGVldCA9IHN0eWxlU2hlZXRzLT5pdGVtKGkpOwogICAgICAgICBp
ZiAoc2hlZXQtPmlzQ1NTU3R5bGVTaGVldCgpICYmICFzaGVldC0+ZGlzYWJsZWQoKSkKICAgICAg
ICAgICAgIG1fYXV0aG9yU3R5bGUtPmFkZFJ1bGVzRnJvbVNoZWV0KHN0YXRpY19jYXN0PENTU1N0
eWxlU2hlZXQqPihzaGVldCksICptX21lZGl1bSwgdGhpcyk7Ci0gICAgfSAgICAKKyAgICB9CiAg
ICAgLy8gQ29sbGVjdCBhbGwgaWRzIGFuZCBydWxlcyB1c2luZyBzaWJsaW5nIHNlbGVjdG9ycyAo
OmZpcnN0LWNoaWxkIGFuZCBzaW1pbGFyKQogICAgIC8vIGluIHRoZSBjdXJyZW50IHNldCBvZiBz
dHlsZXNoZWV0cy4gU3R5bGUgc2hhcmluZyBjb2RlIHVzZXMgdGhpcyBpbmZvcm1hdGlvbiB0byBy
ZWplY3QKICAgICAvLyBzaGFyaW5nIGNhbmRpZGF0ZXMuCkBAIC0zMDIwLDcgKzMwMjcsNyBAQCBz
dGF0aWMgaW5saW5lIHZvaWQgc2hyaW5rTWFwVmVjdG9yc1RvRml0KFJ1bGVTZXQ6OkF0b21SdWxl
TWFwJiBtYXApCiAgICAgZm9yIChSdWxlU2V0OjpBdG9tUnVsZU1hcDo6aXRlcmF0b3IgaXQgPSBt
YXAuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQogICAgICAgICBpdC0+c2Vjb25kLT5zaHJpbmtU
b0ZpdCgpOwogfQotICAgIAorCiB2b2lkIFJ1bGVTZXQ6OnNocmlua1RvRml0KCkKIHsKICAgICBz
aHJpbmtNYXBWZWN0b3JzVG9GaXQobV9pZFJ1bGVzKTsKQEAgLTMwMzQsNyArMzA0MSw3IEBAIHZv
aWQgUnVsZVNldDo6c2hyaW5rVG9GaXQoKQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogLy8gdGhpcyBpcyBtb3N0bHkgYm9yaW5nIHN0dWZmIG9uIGhvdyB0byBhcHBseSBhIGNlcnRh
aW4gcnVsZSB0byB0aGUgcmVuZGVyc3R5bGUuLi4KIAotc3RhdGljIExlbmd0aCBjb252ZXJ0VG9M
ZW5ndGgoQ1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlLCBSZW5kZXJTdHlsZSogc3R5
bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSBtdWx0aXBsaWVyID0gMSwgYm9vbCAq
b2sgPSAwKQorTGVuZ3RoIENTU1N0eWxlU2VsZWN0b3I6OmNvbnZlcnRUb0xlbmd0aChDU1NQcmlt
aXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUsIFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5
bGUqIHJvb3RTdHlsZSwgZG91YmxlIG11bHRpcGxpZXIsIGJvb2wgKm9rKQogewogICAgIC8vIFRo
aXMgZnVuY3Rpb24gaXMgdG9sZXJhbnQgb2YgYSBudWxsIHN0eWxlIHZhbHVlLiBUaGUgb25seSBw
bGFjZSBzdHlsZSBpcyB1c2VkIGlzIGluCiAgICAgLy8gbGVuZ3RoIG1lYXN1cmVtZW50cywgbGlr
ZSAnZW1zJyBhbmQgJ3B4Jy4gQW5kIGluIHRob3NlIGNhc2VzIHN0eWxlIGlzIG9ubHkgdXNlZApA
QCAtNDAzOCw3ICs0MDQ1LDE2IEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0
eShpbnQgaWQsIENTU1ZhbHVlICp2YWx1ZSkKICAgICAgICAgICAgIEhBTkRMRV9JTklUSUFMX0NP
TkQoQ1NTUHJvcGVydHlUZXh0SW5kZW50LCBUZXh0SW5kZW50KQogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9IAotCisgICAgICAgIGlmICh2YWx1ZS0+aXNDYWxjVmFsdWUoKSkgeworICAg
ICAgICAgICAgQ1NTQ2FsY1ZhbHVlKiBjc3NDYWxjVmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NDYWxj
VmFsdWUqPih2YWx1ZSk7CisgICAgICAgICAgICBPd25QdHI8Q2FsY1ZhbHVlPiBjYWxjVmFsdWUg
PSBjc3NDYWxjVmFsdWUtPnRvQ2FsY1ZhbHVlKG1fc3R5bGUuZ2V0KCksIG1fcm9vdEVsZW1lbnRT
dHlsZSk7CisgICAgICAgICAgICBkcHJpbnRmKCJNYWtpbmcgYSBDYWxjVmFsdWVAMHgleCBmcm9t
IENTU0NhbGNWYWx1ZUAweCV4XG4iLCBjYWxjVmFsdWUuZ2V0KCksIGNzc0NhbGNWYWx1ZSk7Cisg
ICAgICAgICAgICBpZiAoY2FsY1ZhbHVlLmdldCgpKSB7CisgICAgICAgICAgICAgICAgbCA9IExl
bmd0aChjYWxjVmFsdWUucmVsZWFzZSgpKTsKKyAgICAgICAgICAgICAgICBhcHBseSA9IHRydWU7
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgCiAgICAgICAgIGlmIChwcmltaXRp
dmVWYWx1ZSAmJiAhYXBwbHkpIHsKICAgICAgICAgICAgIGludCB0eXBlID0gcHJpbWl0aXZlVmFs
dWUtPnByaW1pdGl2ZVR5cGUoKTsKICAgICAgICAgICAgIGlmIChDU1NQcmltaXRpdmVWYWx1ZTo6
aXNVbml0VHlwZUxlbmd0aCh0eXBlKSkKQEAgLTQxMzQsNiArNDE1MCwxNCBAQCB2b2lkIENTU1N0
eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkoaW50IGlkLCBDU1NWYWx1ZSAqdmFsdWUpCiAgICAg
ICAgICAgICBIQU5ETEVfSU5JVElBTF9DT05EX1dJVEhfVkFMVUUoQ1NTUHJvcGVydHlNaW5IZWln
aHQsIE1pbkhlaWdodCwgTWluU2l6ZSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQor
ICAgICAgICBpZiAodmFsdWUtPmlzQ2FsY1ZhbHVlKCkpIHsKKyAgICAgICAgICAgIENTU0NhbGNW
YWx1ZSogY3NzQ2FsY1ZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTQ2FsY1ZhbHVlKj4odmFsdWUpOwor
ICAgICAgICAgICAgT3duUHRyPENhbGNWYWx1ZT4gY2FsY1ZhbHVlID0gY3NzQ2FsY1ZhbHVlLT50
b0NhbGNWYWx1ZShtX3N0eWxlLmdldCgpLCBtX3Jvb3RFbGVtZW50U3R5bGUpOworICAgICAgICAg
ICAgaWYgKGNhbGNWYWx1ZS5nZXQoKSkgeworICAgICAgICAgICAgICAgIGwgPSBMZW5ndGgoY2Fs
Y1ZhbHVlLnJlbGVhc2UoKSk7CisgICAgICAgICAgICAgICAgYXBwbHkgPSB0cnVlOworICAgICAg
ICAgICAgfQorICAgICAgICB9CiAKICAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlICYmICFhcHBs
eSkgewogICAgICAgICAgICAgdW5zaWduZWQgc2hvcnQgdHlwZSA9IHByaW1pdGl2ZVZhbHVlLT5w
cmltaXRpdmVUeXBlKCk7CkBAIC01ODkwLDE0ICs1OTE0LDIzIEBAIHZvaWQgQ1NTU3R5bGVTZWxl
Y3Rvcjo6YXBwbHlQYWdlU2l6ZVByb3BlcnR5KENTU1ZhbHVlKiB2YWx1ZSkKIAogYm9vbCBDU1NT
dHlsZVNlbGVjdG9yOjpwYWdlU2l6ZUZyb21OYW1lKENTU1ByaW1pdGl2ZVZhbHVlKiBwYWdlU2l6
ZU5hbWUsIENTU1ByaW1pdGl2ZVZhbHVlKiBwYWdlT3JpZW50YXRpb24sIExlbmd0aCYgd2lkdGgs
IExlbmd0aCYgaGVpZ2h0KQogewotICAgIHN0YXRpYyBjb25zdCBMZW5ndGggYTVXaWR0aCA9IG1t
TGVuZ3RoKDE0OCksIGE1SGVpZ2h0ID0gbW1MZW5ndGgoMjEwKTsKLSAgICBzdGF0aWMgY29uc3Qg
TGVuZ3RoIGE0V2lkdGggPSBtbUxlbmd0aCgyMTApLCBhNEhlaWdodCA9IG1tTGVuZ3RoKDI5Nyk7
Ci0gICAgc3RhdGljIGNvbnN0IExlbmd0aCBhM1dpZHRoID0gbW1MZW5ndGgoMjk3KSwgYTNIZWln
aHQgPSBtbUxlbmd0aCg0MjApOwotICAgIHN0YXRpYyBjb25zdCBMZW5ndGggYjVXaWR0aCA9IG1t
TGVuZ3RoKDE3NiksIGI1SGVpZ2h0ID0gbW1MZW5ndGgoMjUwKTsKLSAgICBzdGF0aWMgY29uc3Qg
TGVuZ3RoIGI0V2lkdGggPSBtbUxlbmd0aCgyNTApLCBiNEhlaWdodCA9IG1tTGVuZ3RoKDM1Myk7
Ci0gICAgc3RhdGljIGNvbnN0IExlbmd0aCBsZXR0ZXJXaWR0aCA9IGluY2hMZW5ndGgoOC41KSwg
bGV0dGVySGVpZ2h0ID0gaW5jaExlbmd0aCgxMSk7Ci0gICAgc3RhdGljIGNvbnN0IExlbmd0aCBs
ZWdhbFdpZHRoID0gaW5jaExlbmd0aCg4LjUpLCBsZWdhbEhlaWdodCA9IGluY2hMZW5ndGgoMTQp
OwotICAgIHN0YXRpYyBjb25zdCBMZW5ndGggbGVkZ2VyV2lkdGggPSBpbmNoTGVuZ3RoKDExKSwg
bGVkZ2VySGVpZ2h0ID0gaW5jaExlbmd0aCgxNyk7CisgICAgc3RhdGljIGNvbnN0IExlbmd0aCYg
YTVXaWR0aCA9IG1tTGVuZ3RoKDE0OCk7IAorICAgIHN0YXRpYyBjb25zdCBMZW5ndGgmIGE1SGVp
Z2h0ID0gbW1MZW5ndGgoMjEwKTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBhNFdpZHRoID0g
bW1MZW5ndGgoMjEwKTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBhNEhlaWdodCA9IG1tTGVu
Z3RoKDI5Nyk7CisgICAgc3RhdGljIGNvbnN0IExlbmd0aCYgYTNXaWR0aCA9IG1tTGVuZ3RoKDI5
Nyk7CisgICAgc3RhdGljIGNvbnN0IExlbmd0aCYgYTNIZWlnaHQgPSBtbUxlbmd0aCg0MjApOwor
ICAgIHN0YXRpYyBjb25zdCBMZW5ndGgmIGI1V2lkdGggPSBtbUxlbmd0aCgxNzYpOworICAgIHN0
YXRpYyBjb25zdCBMZW5ndGgmIGI1SGVpZ2h0ID0gbW1MZW5ndGgoMjUwKTsKKyAgICBzdGF0aWMg
Y29uc3QgTGVuZ3RoJiBiNFdpZHRoID0gbW1MZW5ndGgoMjUwKTsKKyAgICBzdGF0aWMgY29uc3Qg
TGVuZ3RoJiBiNEhlaWdodCA9IG1tTGVuZ3RoKDM1Myk7CisgICAgc3RhdGljIGNvbnN0IExlbmd0
aCYgbGV0dGVyV2lkdGggPSBpbmNoTGVuZ3RoKDguNSk7CisgICAgc3RhdGljIGNvbnN0IExlbmd0
aCYgbGV0dGVySGVpZ2h0ID0gaW5jaExlbmd0aCgxMSk7CisgICAgc3RhdGljIGNvbnN0IExlbmd0
aCYgbGVnYWxXaWR0aCA9IGluY2hMZW5ndGgoOC41KTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3Ro
JiBsZWdhbEhlaWdodCA9IGluY2hMZW5ndGgoMTQpOworICAgIHN0YXRpYyBjb25zdCBMZW5ndGgm
IGxlZGdlcldpZHRoID0gaW5jaExlbmd0aCgxMSk7CisgICAgc3RhdGljIGNvbnN0IExlbmd0aCYg
bGVkZ2VySGVpZ2h0ID0gaW5jaExlbmd0aCgxNyk7CisKIAogICAgIGlmICghcGFnZVNpemVOYW1l
IHx8IHBhZ2VTaXplTmFtZS0+cHJpbWl0aXZlVHlwZSgpICE9IENTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NfSURFTlQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTU5NTYsMTQgKzU5ODksMTQgQEAg
Ym9vbCBDU1NTdHlsZVNlbGVjdG9yOjpwYWdlU2l6ZUZyb21OYW1lKENTU1ByaW1pdGl2ZVZhbHVl
KiBwYWdlU2l6ZU5hbWUsIENTU1ByaW0KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotTGVuZ3RoIENT
U1N0eWxlU2VsZWN0b3I6Om1tTGVuZ3RoKGRvdWJsZSBtbSkgY29uc3QKK0xlbmd0aCYgQ1NTU3R5
bGVTZWxlY3Rvcjo6bW1MZW5ndGgoZG91YmxlIG1tKSBjb25zdAogewotICAgIHJldHVybiBMZW5n
dGgoQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShtbSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19N
TSktPmNvbXB1dGVMZW5ndGhJbnRGb3JMZW5ndGgoc3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxl
KSwgRml4ZWQpOworICAgIHJldHVybiAqbmV3IExlbmd0aChDU1NQcmltaXRpdmVWYWx1ZTo6Y3Jl
YXRlKG1tLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX01NKS0+Y29tcHV0ZUxlbmd0aEludEZvckxl
bmd0aChzdHlsZSgpLCBtX3Jvb3RFbGVtZW50U3R5bGUpLCBGaXhlZCk7CiB9CiAKLUxlbmd0aCBD
U1NTdHlsZVNlbGVjdG9yOjppbmNoTGVuZ3RoKGRvdWJsZSBpbmNoKSBjb25zdAorTGVuZ3RoJiBD
U1NTdHlsZVNlbGVjdG9yOjppbmNoTGVuZ3RoKGRvdWJsZSBpbmNoKSBjb25zdAogewotICAgIHJl
dHVybiBMZW5ndGgoQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShpbmNoLCBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX0lOKS0+Y29tcHV0ZUxlbmd0aEludEZvckxlbmd0aChzdHlsZSgpLCBtX3Jvb3RF
bGVtZW50U3R5bGUpLCBGaXhlZCk7CisgICAgcmV0dXJuICpuZXcgTGVuZ3RoKENTU1ByaW1pdGl2
ZVZhbHVlOjpjcmVhdGUoaW5jaCwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19JTiktPmNvbXB1dGVM
ZW5ndGhJbnRGb3JMZW5ndGgoc3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxlKSwgRml4ZWQpOwog
fQogCiB2b2lkIENTU1N0eWxlU2VsZWN0b3I6Om1hcEZpbGxBdHRhY2htZW50KENTU1Byb3BlcnR5
SUQsIEZpbGxMYXllciogbGF5ZXIsIENTU1ZhbHVlKiB2YWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVTZWxlY3Rvci5oCmluZGV4IGNmZGU1ZDBlOWQ4YzE4M2UxYzhhNzRkNDJkZjQ5OTVhNDMy
OWEzY2MuLjA0YzA0OWIwNzU3ODJiZjIwYWJmMDI0NmFjMTg3N2RkY2Q0ZWIxYWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaApAQCAtMjQwLDYgKzI0MCw4IEBAIHB1YmxpYzoK
ICAgICAgICAgICAgIG11dGFibGUgSGFzaFNldDxMaW5rSGFzaCwgTGlua0hhc2hIYXNoPiBtX2xp
bmtzQ2hlY2tlZEZvclZpc2l0ZWRTdGF0ZTsKICAgICAgICAgfTsKIAorICAgICAgICBzdGF0aWMg
TGVuZ3RoIGNvbnZlcnRUb0xlbmd0aChDU1NQcmltaXRpdmVWYWx1ZSosIFJlbmRlclN0eWxlKiwg
UmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIG11bHRpcGxpZXIgPSAxLCBib29sICpvayA9
IDApOworCiAgICAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljIFJlbmRlclN0eWxlKiBzX3N0eWxl
Tm90WWV0QXZhaWxhYmxlOwogCkBAIC0yNzMsOCArMjc1LDggQEAgcHVibGljOgogICAgICAgICB2
b2lkIGFwcGx5UHJvcGVydHkoaW50IGlkLCBDU1NWYWx1ZSopOwogICAgICAgICB2b2lkIGFwcGx5
UGFnZVNpemVQcm9wZXJ0eShDU1NWYWx1ZSopOwogICAgICAgICBib29sIHBhZ2VTaXplRnJvbU5h
bWUoQ1NTUHJpbWl0aXZlVmFsdWUqLCBDU1NQcmltaXRpdmVWYWx1ZSosIExlbmd0aCYgd2lkdGgs
IExlbmd0aCYgaGVpZ2h0KTsKLSAgICAgICAgTGVuZ3RoIG1tTGVuZ3RoKGRvdWJsZSBtbSkgY29u
c3Q7Ci0gICAgICAgIExlbmd0aCBpbmNoTGVuZ3RoKGRvdWJsZSBpbmNoKSBjb25zdDsKKyAgICAg
ICAgTGVuZ3RoJiBtbUxlbmd0aChkb3VibGUgbW0pIGNvbnN0OworICAgICAgICBMZW5ndGgmIGlu
Y2hMZW5ndGgoZG91YmxlIGluY2gpIGNvbnN0OwogI2lmIEVOQUJMRShTVkcpCiAgICAgICAgIHZv
aWQgYXBwbHlTVkdQcm9wZXJ0eShpbnQgaWQsIENTU1ZhbHVlKik7CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ZhbHVlLmgKaW5kZXggZTgwNTNmZTRiOWQ5ZWQzZWQ0NWQ0YzU4ZmEwODhhZDdhZTFjMzNjZi4u
NjhjOGJhNjg4ODE3NDVkNDgwZDhjZmMxMTdlNjUwOGJkNDQ5YjY5NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zh
bHVlLmgKQEAgLTYzLDYgKzYzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1RpbWlu
Z0Z1bmN0aW9uVmFsdWUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9v
bCBpc1ZhbHVlTGlzdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29s
IGlzV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorICAg
IHZpcnR1YWwgYm9vbCBpc0NhbGNWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKICNp
ZiBFTkFCTEUoU1ZHKQogICAgIHZpcnR1YWwgYm9vbCBpc1NWR0NvbG9yKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90b2tlbml6ZXIuZmxl
eCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy90b2tlbml6ZXIuZmxleAppbmRleCBlYjE4Y2I5MGI0YzBi
Y2QxYmY0MzlhZjJhMmEzZjg0MzYzYTA1Njk5Li40YWZkY2RjY2ExZDlkYzdmMjdkNTJhMTBlZjEx
ZTZhYzg5OGRlODQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvdG9rZW5pemVyLmZs
ZXgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3Rva2VuaXplci5mbGV4CkBAIC0xMSwxMCArMTEs
MTIgQEAgdW5pY29kZSAgICAgICAgIFxce2h9ezEsNn1bIFx0XHJcblxmXT8KIGVzY2FwZSAgICAg
ICAgICB7dW5pY29kZX18XFxbIC1+XDIwMC1cMzc3XQogbm1zdGFydCAgICAgICAgIFtfYS16QS1a
XXx7bm9uYXNjaWl9fHtlc2NhcGV9CiBubWNoYXIgICAgICAgICAgW19hLXpBLVowLTktXXx7bm9u
YXNjaWl9fHtlc2NhcGV9CitkaW1jaGFyICAgICAgICAgW19hLXpBLVowLTldfHtub25hc2NpaX18
e2VzY2FwZX0KIHN0cmluZzEgICAgICAgICBcIihbXHQgISMkJSYoLX5dfFxce25sfXxcJ3x7bm9u
YXNjaWl9fHtlc2NhcGV9KSpcIgogc3RyaW5nMiAgICAgICAgIFwnKFtcdCAhIyQlJigtfl18XFx7
bmx9fFwifHtub25hc2NpaX18e2VzY2FwZX0pKlwnCiAKIGlkZW50ICAgICAgICAgICAtP3tubXN0
YXJ0fXtubWNoYXJ9KgorZGltaWRlbnQgICAgICAgIHtubXN0YXJ0fXtkaW1jaGFyfSoKIG5hbWUg
ICAgICAgICAgICB7bm1jaGFyfSsKIG51bSAgICAgICAgICAgICBbMC05XSt8WzAtOV0qIi4iWzAt
OV0rCiBpbnRudW0gICAgICAgICAgWzAtOV0rCkBAIC0xMDEsNyArMTAzLDcgQEAgbnRoICAgICAg
ICAgICAgIFtcKy1dP3tpbnRudW19Km4oW1x0XHJcbiBdKltcKy1dW1x0XHJcbiBdKntpbnRudW19
KT8KIHtudW19cyAgICAgICAgICAgICAgICAgIHt5eVRvayA9IFNFQ1M7IHJldHVybiB5eVRvazt9
CiB7bnVtfUh6ICAgICAgICAgICAgICAgICB7eXlUb2sgPSBIRVJUWjsgcmV0dXJuIHl5VG9rO30K
IHtudW19a0h6ICAgICAgICAgICAgICAgIHt5eVRvayA9IEtIRVJUWjsgcmV0dXJuIHl5VG9rO30K
LXtudW19e2lkZW50fSAgICAgICAgICAgIHt5eVRvayA9IERJTUVOOyByZXR1cm4geXlUb2s7fQor
e251bX17ZGltaWRlbnR9ICAgICAgICAge3l5VG9rID0gRElNRU47IHJldHVybiB5eVRvazt9CiB7
bnVtfSUrICAgICAgICAgICAgICAgICB7eXlUb2sgPSBQRVJDRU5UQUdFOyByZXR1cm4geXlUb2s7
fQoge2ludG51bX0gICAgICAgICAgICAgICAge3l5VG9rID0gSU5URUdFUjsgcmV0dXJuIHl5VG9r
O30KIHtudW19ICAgICAgICAgICAgICAgICAgIHt5eVRvayA9IEZMT0FUVE9LRU47IHJldHVybiB5
eVRvazt9CkBAIC0xMDksNiArMTExLDkgQEAgbnRoICAgICAgICAgICAgIFtcKy1dP3tpbnRudW19
Km4oW1x0XHJcbiBdKltcKy1dW1x0XHJcbiBdKntpbnRudW19KT8KICJub3QoIiAgICAgICAgICAg
ICAgICAgIHt5eVRvayA9IE5PVEZVTkNUSU9OOyByZXR1cm4geXlUb2s7fQogInVybCgie3d9e3N0
cmluZ317d30iKSIge3l5VG9rID0gVVJJOyByZXR1cm4geXlUb2s7fQogInVybCgie3d9e3VybH17
d30iKSIgICAge3l5VG9rID0gVVJJOyByZXR1cm4geXlUb2s7fQorIi13ZWJraXQtY2FsYygiICAg
ICAgICAge3l5VG9rID0gQ0FMQ0ZVTkNUSU9OOyByZXR1cm4geXlUb2s7fQorIi13ZWJraXQtbWlu
KCIgICAgICAgICAge3l5VG9rID0gTUlORlVOQ1RJT047IHJldHVybiB5eVRvazt9CisiLXdlYmtp
dC1tYXgoIiAgICAgICAgICB7eXlUb2sgPSBNQVhGVU5DVElPTjsgcmV0dXJuIHl5VG9rO30KIHtp
ZGVudH0iKCIgICAgICAgICAgICAgIHt5eVRvayA9IEZVTkNUSU9OOyByZXR1cm4geXlUb2s7fQog
CiBVXCt7cmFuZ2V9ICAgICAgICAgICAgICB7eXlUb2sgPSBVTklDT0RFUkFOR0U7IHJldHVybiB5
eVRvazt9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MGE1
NTY1Njk2MTNlYTc1MjUwYjAyMjdkZGZmNWIyYjRkZjIxNWRmCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcApAQCAtMCwwICsxLDEyMSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDYWxjVmFsdWUuaCIKKworI2luY2x1ZGUgPGxp
bWl0cz4KKworLy8gSEFDSyEKK2V4dGVybiBGSUxFICptaWtlZnA7CisjZGVmaW5lIGRwcmludGYo
Li4uKSBkbyB7aWYgKCFtaWtlZnApIG1pa2VmcCA9IGZvcGVuKCJjc3MtZGVidWcudHh0IiwgInci
KTsgZnByaW50ZihtaWtlZnAsIF9fVkFfQVJHU19fKTsgZmZsdXNoKG1pa2VmcCk7fSB3aGlsZSAo
MCkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWU6OkNh
bGNCaW5hcnlPcGVyYXRpb25WYWx1ZShQYXNzT3duUHRyPENhbGNWYWx1ZT4gbGVmdFNpZGUsIFBh
c3NPd25QdHI8Q2FsY1ZhbHVlPiByaWdodFNpZGUsIGNoYXIgb3ApCisgICAgOiBtX2xlZnRTaWRl
KGxlZnRTaWRlKQorICAgICwgbV9yaWdodFNpZGUocmlnaHRTaWRlKQorICAgICwgbV9vcGVyYXRv
cihvcCkKK3sKKyAgICBBU1NFUlQob3AgPT0gJysnIHx8IG9wID09ICctJyB8fCBvcCA9PSAnKicg
fHwgb3AgPT0gJy8nIHx8IG9wID09ICclJyk7Cit9CisKK2Zsb2F0IENhbGNCaW5hcnlPcGVyYXRp
b25WYWx1ZTo6ZXZhbHVhdGUoZmxvYXQgbWF4VmFsdWUpIGNvbnN0Cit7CisgICAgZmxvYXQgbGVm
dCA9IG1fbGVmdFNpZGUtPmV2YWx1YXRlKG1heFZhbHVlKTsKKyAgICBmbG9hdCByaWdodCA9IG1f
cmlnaHRTaWRlLT5ldmFsdWF0ZShtYXhWYWx1ZSk7CisgICAgc3dpdGNoIChtX29wZXJhdG9yKSB7
CisgICAgY2FzZSAnKyc6CisgICAgICAgIGRwcmludGYoIkV2YWwgJWYgKyAlZiA9ICVmXG4iLCBs
ZWZ0LCByaWdodCwgbGVmdCArIHJpZ2h0KTsKKyAgICAgICAgcmV0dXJuIGxlZnQgKyByaWdodDsK
KyAgICBjYXNlICctJzoKKyAgICAgICAgZHByaW50ZigiRXZhbCAlZiAtICVmID0gJWZcbiIsIGxl
ZnQsIHJpZ2h0LCBsZWZ0IC0gcmlnaHQpOworICAgICAgICByZXR1cm4gbGVmdCAtIHJpZ2h0Owor
ICAgIGNhc2UgJyonOgorICAgICAgICBkcHJpbnRmKCJFdmFsICVmICogJWYgPSAlZlxuIiwgbGVm
dCwgcmlnaHQsIGxlZnQgKiByaWdodCk7CisgICAgICAgIHJldHVybiBsZWZ0ICogcmlnaHQ7Cisg
ICAgY2FzZSAnLyc6CisgICAgICAgIGlmICghcmlnaHQpCisgICAgICAgICAgICByZXR1cm4gc3Rk
OjpudW1lcmljX2xpbWl0czxmbG9hdD46OnF1aWV0X05hTigpOworICAgICAgICBkcHJpbnRmKCJF
dmFsICVmIC8gJWYgPSAlZlxuIiwgbGVmdCwgcmlnaHQsIGxlZnQgLyByaWdodCk7CisgICAgICAg
IHJldHVybiBsZWZ0IC8gcmlnaHQ7CisgICAgY2FzZSAnJSc6CisgICAgICAgIGlmICghcmlnaHQp
CisgICAgICAgICAgICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OnF1aWV0X05h
TigpOworICAgICAgICBkcHJpbnRmKCJFdmFsICVkICUlICVkID0gJWRcbiIsIHN0YXRpY19jYXN0
PGludD4obGVmdCksIHN0YXRpY19jYXN0PGludD4ocmlnaHQpLCBzdGF0aWNfY2FzdDxpbnQ+KGxl
ZnQpICUgc3RhdGljX2Nhc3Q8aW50PihyaWdodCkpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8aW50PihsZWZ0KSAlIHN0YXRpY19jYXN0PGludD4ocmlnaHQpOworICAgIGRlZmF1bHQ6Cisg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gc3RkOjpudW1lcmlj
X2xpbWl0czxmbG9hdD46OnF1aWV0X05hTigpOworICAgIH0KK30KKworQ2FsY01pbk1heFZhbHVl
TGlzdDo6Q2FsY01pbk1heFZhbHVlTGlzdChUeXBlIHR5cGUpCisgICAgOiBtX3R5cGUodHlwZSkK
KyAgICAsIG1fbGlzdCgpCit7Cit9CisKK3ZvaWQgQ2FsY01pbk1heFZhbHVlTGlzdDo6YXBwZW5k
KFBhc3NPd25QdHI8Q2FsY1ZhbHVlPiB2YWx1ZSkKK3sKKyAgICBtX2xpc3QuYXBwZW5kKHZhbHVl
KTsKK30KKworZmxvYXQgQ2FsY01pbk1heFZhbHVlTGlzdDo6ZXZhbHVhdGUoZmxvYXQgbWF4VmFs
dWUpIGNvbnN0Cit7CisgICAgaWYgKG1fbGlzdC5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiAw
OworCisgICAgCisgICAgZmxvYXQgcmV0dmFsOworICAgIGlmIChtX3R5cGUgPT0gTUlOKSB7Cisg
ICAgICAgIHJldHZhbCA9IG1fbGlzdFswXS0+ZXZhbHVhdGUobWF4VmFsdWUpOworICAgICAgICBk
cHJpbnRmKCJGaW5kaW5nIG1pbiAuLi5cblJlc3VsdCA9ICVmXG4iLCByZXR2YWwpOworICAgICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgbV9saXN0LnNpemUoKTsgKytpKSB7CisgICAgICAg
ICAgICBmbG9hdCBjdXJyZW50ID0gbV9saXN0W2ldLT5ldmFsdWF0ZShtYXhWYWx1ZSk7CisgICAg
ICAgICAgICBpZiAoY3VycmVudCA8IHJldHZhbCkKKyAgICAgICAgICAgICAgICByZXR2YWwgPSBj
dXJyZW50OworICAgICAgICAgICAgZHByaW50ZigiTmV4dCA9ICVmLCByZXN1bHQgPSAlZlxuIiwg
Y3VycmVudCwgcmV0dmFsKTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIHJldHZh
bCA9IG1fbGlzdFswXS0+ZXZhbHVhdGUobWF4VmFsdWUpOworICAgICAgICBkcHJpbnRmKCJGaW5k
aW5nIG1heCAuLi5cblJlc3VsdCA9ICVmXG4iLCByZXR2YWwpOworICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAxOyBpIDwgbV9saXN0LnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICBmbG9hdCBj
dXJyZW50ID0gbV9saXN0W2ldLT5ldmFsdWF0ZShtYXhWYWx1ZSk7CisgICAgICAgICAgICBpZiAo
Y3VycmVudCA+IHJldHZhbCkKKyAgICAgICAgICAgICAgICByZXR2YWwgPSBjdXJyZW50OworICAg
ICAgICAgICAgZHByaW50ZigiTmV4dCA9ICVmLCByZXN1bHQgPSAlZlxuIiwgY3VycmVudCwgcmV0
dmFsKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJldHVybiByZXR2YWw7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nh
bGNWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmgKbmV3IGZpbGUg
bW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZmIzOTMyZjVlNzAwMGM5Y2NjYjg2ZTNkY2U4MTQ3ZDRiOTk0ZDJlNgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5oCkBAIC0wLDAgKzEsMTEw
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmbmRlZiBDYWxjVmFsdWVfaAorI2RlZmluZSBDYWxjVmFsdWVfaAorCisjaW5jbHVkZSAi
TGVuZ3RoLmgiCisjaW5jbHVkZSA8d3RmL093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzT3du
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIENhbGNWYWx1ZSB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+Q2FsY1ZhbHVlKCkKKyAg
ICB7CisgICAgfQorCisgICAgdmlydHVhbCBmbG9hdCBldmFsdWF0ZShmbG9hdCBtYXhWYWx1ZSkg
Y29uc3QgPSAwOworfTsKKworY2xhc3MgQ2FsY051bWJlclZhbHVlIDogcHVibGljIENhbGNWYWx1
ZSB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgQ2FsY051bWJlclZhbHVlKGZsb2F0IHZhbHVlKQor
ICAgICAgICA6IG1fdmFsdWUodmFsdWUpCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgZmxv
YXQgZXZhbHVhdGUoZmxvYXQpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV92YWx1ZTsK
KyAgICB9CisKK3ByaXZhdGU6CisgICAgZmxvYXQgbV92YWx1ZTsKK307CisKK2NsYXNzIENhbGNM
ZW5ndGhWYWx1ZSA6IHB1YmxpYyBDYWxjVmFsdWUgeworcHVibGljOgorICAgIGV4cGxpY2l0IENh
bGNMZW5ndGhWYWx1ZShMZW5ndGggbGVuZ3RoKQorICAgICAgICA6IG1fbGVuZ3RoKGxlbmd0aCkK
KyAgICB7CisgICAgfQorCisgICAgdmlydHVhbCBmbG9hdCBldmFsdWF0ZShmbG9hdCBtYXhWYWx1
ZSkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2xlbmd0aC5jYWxjVmFsdWUobWF4VmFs
dWUpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBMZW5ndGggbV9sZW5ndGg7Cit9OworCitjbGFz
cyBDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWUgOiBwdWJsaWMgQ2FsY1ZhbHVlIHsKK3B1YmxpYzoK
KyAgICBDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWUoUGFzc093blB0cjxDYWxjVmFsdWU+IGxlZnRT
aWRlLCBQYXNzT3duUHRyPENhbGNWYWx1ZT4gcmlnaHRTaWRlLCBjaGFyIG9wKTsKKworICAgIHZp
cnR1YWwgZmxvYXQgZXZhbHVhdGUoZmxvYXQgbWF4VmFsdWUpIGNvbnN0OworCitwcml2YXRlOgor
ICAgIE93blB0cjxDYWxjVmFsdWU+IG1fbGVmdFNpZGU7CisgICAgT3duUHRyPENhbGNWYWx1ZT4g
bV9yaWdodFNpZGU7CisgICAgY2hhciBtX29wZXJhdG9yOworfTsKKworY2xhc3MgQ2FsY01pbk1h
eFZhbHVlTGlzdCA6IHB1YmxpYyBDYWxjVmFsdWUgeworcHVibGljOgorICAgIGVudW0gVHlwZSB7
IE1JTiwgTUFYIH07CisKKyAgICBleHBsaWNpdCBDYWxjTWluTWF4VmFsdWVMaXN0KFR5cGUpOwor
ICAgIHZvaWQgYXBwZW5kKFBhc3NPd25QdHI8Q2FsY1ZhbHVlPik7CisKKyAgICB2aXJ0dWFsIGZs
b2F0IGV2YWx1YXRlKGZsb2F0KSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBUeXBlIG1fdHlwZTsK
KyAgICBWZWN0b3I8T3duUHRyPENhbGNWYWx1ZT4gPiBtX2xpc3Q7Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBDYWxjVmFsdWVfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xl
bmd0aC5jcHAKaW5kZXggZTJmZDliODdjNjBlMDE4OTdmMmI1NWNhY2JiMTkyYTg3OWZmYWE3OS4u
YmZjZDdmNTZlMmQ3YmUxMDViZTEwYjM5MTI2ODc5YTNjMDBiNzkyYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9MZW5ndGguY3BwCkBAIC0yNSw5ICsyNSwxMyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIkxlbmd0aC5oIgogCisjaW5jbHVkZSAiQ2FsY1ZhbHVlLmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlIDxtYXRoLmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJ
Q1R5cGUuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+CisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L1N0cmluZ0J1ZmZlci5oPgogCiB1c2luZyBuYW1lc3BhY2UgV1RGOwpAQCAtMTQ3LDUgKzE1MSwx
MzYgQEAgTGVuZ3RoKiBuZXdMZW5ndGhBcnJheShjb25zdCBTdHJpbmcmIHN0cmluZywgaW50JiBs
ZW4pCiAKICAgICByZXR1cm4gcjsKIH0KKyAgICAgICAKK2NsYXNzIENhbGN1bGF0ZWRMZW5ndGgg
eworcHVibGljOgorICAgIGV4cGxpY2l0IENhbGN1bGF0ZWRMZW5ndGgoUGFzc093blB0cjxDYWxj
VmFsdWU+IGNhbGMpCisgICAgICAgIDogbV9jYWxjKGNhbGMpCisgICAgICAgICwgbV9yZWZDb3Vu
dCgxKQorICAgIHsKKyAgICB9CisgICAgCisgICAgZmxvYXQgZXZhbHVhdGUoZmxvYXQgbWF4VmFs
dWUpIGNvbnN0CisgICAgeworICAgICAgICBmbG9hdCByZXN1bHQgPSBtX2NhbGMtPmV2YWx1YXRl
KG1heFZhbHVlKTsKKyAgICAgICAgLy8gRklYTUU6IHJlc3VsdCBpcyBOYU4gd2hlbiB0aGVyZSBp
cyBhIGRpdmlzaW9uIGJ5IHplcm8gd2hpY2gKKyAgICAgICAgLy8gICAgICAgIGlzbid0IGZvdW5k
IGF0IHBhcnNlIHRpbWUgKGUuZy4sIDUvKDEwMCUtMjAwcHgpKjEwMHB4KS4KKyAgICAgICAgLy8g
ICAgICAgIFRoZXJlIGlzIGEgZGlzY3Vzc2lvbiBhYm91dCB0aGlzIGFuZCBob3BlZnVsbHkgc3Bl
YworICAgICAgICAvLyAgICAgICAgd2lsbCBoYXZlIHRoZSBkZWNpc2lvbiBmb3IgdGhpcyBpc3N1
ZS4KKyAgICAgICAgLy8gICAgICAgIGh0dHA6Ly9saXN0cy53My5vcmcvQXJjaGl2ZXMvUHVibGlj
L3d3dy1zdHlsZS8yMDEwSmFuLzAwMDcuaHRtbAorICAgICAgICBpZiAoaXNuYW4ocmVzdWx0KSkK
KyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyAg
ICAKKyAgICBpbnQgcmVmQ291bnQoKSBjb25zdCB7IHJldHVybiBtX3JlZkNvdW50OyB9CisgICAg
aW50IGluY3JlbWVudFJlZkNvdW50KCkgeyByZXR1cm4gKyttX3JlZkNvdW50OyB9CisgICAgaW50
IGRlY3JlbWVudFJlZkNvdW50KCkgeyByZXR1cm4gLS1tX3JlZkNvdW50OyB9CisgICAgCitwcml2
YXRlOgorICAgIE93blB0cjxDYWxjVmFsdWU+IG1fY2FsYzsKKyAgICBpbnQgbV9yZWZDb3VudDsK
K307CisKKy8vIEFzIExlbmd0aCBvbmx5IGhhcyAzMmJpdCwgd2UgY2Fubm90IGhhdmUgdGhlIGRh
dGEgZm9yIGNhbGMoKSBpbiB0aGUKKy8vIExlbmd0aCBvYmplY3QuIFNvLCB3ZSBnaXZlIHNlcmlh
bCBJRHMsIHdoZXJlIDAgPCBJRCA8IDB4MGZmZmZmZmYsCisvLyBmb3IgZWFjaCBkYXRhIGFuZCBh
Y2Nlc3MgdGhlIGRhdGEgdXNpbmcgdGhpcyBJRC4KK3R5cGVkZWYgSGFzaE1hcDxpbnQsIENhbGN1
bGF0ZWRMZW5ndGgqPiBDYWxjdWxhdGVkTGVuZ3RoTWFwOworc3RhdGljIENhbGN1bGF0ZWRMZW5n
dGhNYXAqIGdDYWxjdWxhdGVkTGVuZ3RoTWFwID0gMDsKKyAgICAKK3N0YXRpYyBDYWxjdWxhdGVk
TGVuZ3RoTWFwKiBjYWxjdWxhdGVkTGVuZ3RoTWFwKCkKK3sKKyAgICBpZiAoIWdDYWxjdWxhdGVk
TGVuZ3RoTWFwKQorICAgICAgICBnQ2FsY3VsYXRlZExlbmd0aE1hcCA9IG5ldyBDYWxjdWxhdGVk
TGVuZ3RoTWFwOworICAgIHJldHVybiBnQ2FsY3VsYXRlZExlbmd0aE1hcDsKK30KKworCitzdGF0
aWMgaW50IGdDYWxjdWxhdGVkTGVuZ3RoSWQgPSAwOworCitMZW5ndGg6Okxlbmd0aChQYXNzT3du
UHRyPENhbGNWYWx1ZT4gY2FsYykKK3sKKyAgICAvLyBkcHJpbnRmKCJNYWtpbmcgYSBjYWxjdWxh
dGVkIGxlbmd0aCB3aXRoICVwICglZilcbiIsIGNhbGMsIGNhbGMtPmV2YWx1YXRlKDB4ZmZmZmZm
KSk7CisKKyAgICAvLyBTa2lwIGdDYWxjdWxhdGVkTGVuZ3RoSWQgPT0gMCBhcyB6ZXJvIGtleSBo
aXRzIHRoZSBhc3NlcnRpb24gb2YgSGFzaE1hcC4KKyAgICB3aGlsZSAoIWdDYWxjdWxhdGVkTGVu
Z3RoSWQgfHwgY2FsY3VsYXRlZExlbmd0aE1hcCgpLT5jb250YWlucyhnQ2FsY3VsYXRlZExlbmd0
aElkKSkKKyAgICAgICAgZ0NhbGN1bGF0ZWRMZW5ndGhJZCA9IChnQ2FsY3VsYXRlZExlbmd0aElk
ICsgMSkgJiAweDBmZmZmZmZmOworICAgIG1fdmFsdWUgPSBnQ2FsY3VsYXRlZExlbmd0aElkIDw8
IDQgfCBDYWxjdWxhdGVkOworICAgIGdDYWxjdWxhdGVkTGVuZ3RoSWQgPSAoZ0NhbGN1bGF0ZWRM
ZW5ndGhJZCArIDEpICYgMHgwZmZmZmZmZjsKKyAgICAKKyAgICBDYWxjdWxhdGVkTGVuZ3RoKiBj
YWxjTGVuZ3RoID0gbmV3IENhbGN1bGF0ZWRMZW5ndGgoY2FsYyk7CisgICAgY2FsY3VsYXRlZExl
bmd0aE1hcCgpLT5zZXQoY2FsY3VsYXRlZExlbmd0aElkKCksIGNhbGNMZW5ndGgpOworfQorCisv
LyBGSVhNRTogSXQncyBpbXBvc3NpYmxlIHRvIGtub3cgdGhlIHNpZ24gb2YgY2FsYyB2YWx1ZXMg
d2l0aG91dAorLy8gICAgICAgIG1heCB2YWx1ZSBpZiB0aGUgY2FsYyBmb3JtdWxhIGNvbnRhaW5z
IHBlcmNlbnRhZ2VzLgorLy8gICAgICAgIFdlIGFzc3VtZSBhbGwgY2FsYyB2YWx1ZXMgYXJlIHBv
c2l0aXZlIGZvciBub3cuCisKK2Jvb2wgTGVuZ3RoOjpjYWxjdWxhdGVkSXNaZXJvKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgTGVuZ3RoOjpjYWxjdWxhdGVkSXNQb3Np
dGl2ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgTGVuZ3RoOjpjYWxj
dWxhdGVkSXNOZWdhdGl2ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitpbnQg
TGVuZ3RoOjpjYWxjdWxhdGVkQ2FsY1ZhbHVlKGludCBtYXhWYWx1ZSwgYm9vbCAvKiByb3VuZFBl
cmNlbnRhZ2VzICovKSBjb25zdAoreworICAgIEFTU0VSVChpc0NhbGN1bGF0ZWQoKSk7CisgICAg
QVNTRVJUKGNhbGN1bGF0ZWRMZW5ndGhNYXAoKS0+Y29udGFpbnMoY2FsY3VsYXRlZExlbmd0aElk
KCkpKTsKKyAgICBjb25zdCBDYWxjdWxhdGVkTGVuZ3RoKiBjYWxjTGVuZ3RoID0gY2FsY3VsYXRl
ZExlbmd0aE1hcCgpLT5nZXQoY2FsY3VsYXRlZExlbmd0aElkKCkpOworICAgIGZsb2F0IHJlc3Vs
dCA9IGNhbGNMZW5ndGgtPmV2YWx1YXRlKG1heFZhbHVlKTsKKyAgICBpZiAoaXNuYW4ocmVzdWx0
KSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworaW50IExlbmd0
aDo6Y2FsY3VsYXRlZENhbGNNaW5WYWx1ZShpbnQgbWF4VmFsdWUsIGJvb2wgLyogcm91bmRQZXJj
ZW50YWdlcyAqLykgY29uc3QKK3sKKyAgICBBU1NFUlQoaXNDYWxjdWxhdGVkKCkpOworICAgIEFT
U0VSVChjYWxjdWxhdGVkTGVuZ3RoTWFwKCktPmNvbnRhaW5zKGNhbGN1bGF0ZWRMZW5ndGhJZCgp
KSk7CisgICAgY29uc3QgQ2FsY3VsYXRlZExlbmd0aCogY2FsY0xlbmd0aCA9IGNhbGN1bGF0ZWRM
ZW5ndGhNYXAoKS0+Z2V0KGNhbGN1bGF0ZWRMZW5ndGhJZCgpKTsKKyAgICBmbG9hdCByZXN1bHQg
PSBjYWxjTGVuZ3RoLT5ldmFsdWF0ZShtYXhWYWx1ZSk7CisgICAgaWYgKGlzbmFuKHJlc3VsdCkp
CisgICAgICAgIHJldHVybiAwOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2Zsb2F0IExlbmd0
aDo6Y2FsY3VsYXRlZENhbGNGbG9hdFZhbHVlKGludCBtYXhWYWx1ZSkgY29uc3QKK3sKKyAgICBB
U1NFUlQoaXNDYWxjdWxhdGVkKCkpOworICAgIEFTU0VSVChjYWxjdWxhdGVkTGVuZ3RoTWFwKCkt
PmNvbnRhaW5zKGNhbGN1bGF0ZWRMZW5ndGhJZCgpKSk7CisgICAgY29uc3QgQ2FsY3VsYXRlZExl
bmd0aCogY2FsY0xlbmd0aCA9IGNhbGN1bGF0ZWRMZW5ndGhNYXAoKS0+Z2V0KGNhbGN1bGF0ZWRM
ZW5ndGhJZCgpKTsKKyAgICBmbG9hdCByZXN1bHQgPSBjYWxjTGVuZ3RoLT5ldmFsdWF0ZShtYXhW
YWx1ZSk7CisgICAgaWYgKGlzbmFuKHJlc3VsdCkpCisgICAgICAgIHJldHVybiAwOworICAgIHJl
dHVybiByZXN1bHQ7Cit9CisKK3ZvaWQgTGVuZ3RoOjppbmNyZW1lbnRDYWxjdWxhdGVkUmVmKCkg
Y29uc3QKK3sKKyAgICBBU1NFUlQoaXNDYWxjdWxhdGVkKCkpOworICAgIEFTU0VSVChjYWxjdWxh
dGVkTGVuZ3RoTWFwKCktPmNvbnRhaW5zKGNhbGN1bGF0ZWRMZW5ndGhJZCgpKSk7CisgICAgQ2Fs
Y3VsYXRlZExlbmd0aCogY2FsY0xlbmd0aCA9IGNhbGN1bGF0ZWRMZW5ndGhNYXAoKS0+Z2V0KGNh
bGN1bGF0ZWRMZW5ndGhJZCgpKTsKKyAgICBjYWxjTGVuZ3RoLT5pbmNyZW1lbnRSZWZDb3VudCgp
OworfQorCit2b2lkIExlbmd0aDo6ZGVjcmVtZW50Q2FsY3VsYXRlZFJlZigpIGNvbnN0Cit7Cisg
ICAgQVNTRVJUKGlzQ2FsY3VsYXRlZCgpKTsKKyAgICBBU1NFUlQoY2FsY3VsYXRlZExlbmd0aE1h
cCgpLT5jb250YWlucyhjYWxjdWxhdGVkTGVuZ3RoSWQoKSkpOworICAgIENhbGN1bGF0ZWRMZW5n
dGgqIGNhbGNMZW5ndGggPSBjYWxjdWxhdGVkTGVuZ3RoTWFwKCktPmdldChjYWxjdWxhdGVkTGVu
Z3RoSWQoKSk7CisgICAgaWYgKCFjYWxjTGVuZ3RoLT5kZWNyZW1lbnRSZWZDb3VudCgpKSB7Cisg
ICAgICAgIGRlbGV0ZSBjYWxjTGVuZ3RoOworICAgICAgICBjYWxjdWxhdGVkTGVuZ3RoTWFwKCkt
PnJlbW92ZShjYWxjdWxhdGVkTGVuZ3RoSWQoKSk7CisgICAgfQorfSAgICAKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3Ro
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAppbmRleCA5ZGE3MWM3YWE0ZWJl
ZTI5ODIxMGE3NWRhOGJlYjViNGE5YmVlNDhiLi4wYTlhNjAwYzkwMjZhZWI2NDE2YWE3ZTkwYzA1
MDVhNjhjNWEwN2JlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGgu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaApAQCAtMjUsNiArMjUsOCBA
QAogI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAg
LTMyLDkgKzM0LDEyIEBAIGNvbnN0IGludCB1bmRlZmluZWRMZW5ndGggPSAtMTsKIGNvbnN0IGlu
dCBwZXJjZW50U2NhbGVGYWN0b3IgPSAxMjg7CiBjb25zdCBpbnQgaW50TWF4Rm9yTGVuZ3RoID0g
MHg3ZmZmZmZmOyAvLyBtYXggdmFsdWUgZm9yIGEgMjgtYml0IGludAogY29uc3QgaW50IGludE1p
bkZvckxlbmd0aCA9ICgtMHg3ZmZmZmZmIC0gMSk7IC8vIG1pbiB2YWx1ZSBmb3IgYSAyOC1iaXQg
aW50Citjb25zdCBpbnQgbWF4Q2FsY3VsYXRlZExlbmd0aElkID0gMHgwZmZmZmZmZjsKIAotZW51
bSBMZW5ndGhUeXBlIHsgQXV0bywgUmVsYXRpdmUsIFBlcmNlbnQsIEZpeGVkLCBTdGF0aWMsIElu
dHJpbnNpYywgTWluSW50cmluc2ljIH07CitlbnVtIExlbmd0aFR5cGUgeyBBdXRvLCBSZWxhdGl2
ZSwgUGVyY2VudCwgRml4ZWQsIFN0YXRpYywgSW50cmluc2ljLCBNaW5JbnRyaW5zaWMsIENhbGN1
bGF0ZWQgfTsKIAorY2xhc3MgQ2FsY1ZhbHVlOworICAgIAogc3RydWN0IExlbmd0aCB7CiAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CkBAIC02MCwxNSArNjUsNDUgQEAgcHVi
bGljOgogICAgICAgICBBU1NFUlQodCA9PSBQZXJjZW50KTsKICAgICB9CiAKKyAgICBleHBsaWNp
dCBMZW5ndGgoUGFzc093blB0cjxDYWxjVmFsdWU+KTsKKyAgICAKKyAgICBMZW5ndGgoY29uc3Qg
TGVuZ3RoJiBsZW5ndGgpCisgICAgICAgIDogbV92YWx1ZShsZW5ndGgubV92YWx1ZSkKKyAgICB7
CisgICAgICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAgIGluY3JlbWVudENhbGN1
bGF0ZWRSZWYoKTsKKyAgICB9CisgICAgCisgICAgTGVuZ3RoJiBvcGVyYXRvcj0oY29uc3QgTGVu
Z3RoJiBsZW5ndGgpCisgICAgeworICAgICAgICBtX3ZhbHVlID0gbGVuZ3RoLm1fdmFsdWU7Cisg
ICAgICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAgIGluY3JlbWVudENhbGN1bGF0
ZWRSZWYoKTsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0KKyAgICAKKyAgICB+TGVuZ3Ro
KCkKKyAgICB7CisgICAgICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAgIGRlY3Jl
bWVudENhbGN1bGF0ZWRSZWYoKTsKKyAgICB9ICAgCisgICAgCiAgICAgYm9vbCBvcGVyYXRvcj09
KGNvbnN0IExlbmd0aCYgbykgY29uc3QgeyByZXR1cm4gbV92YWx1ZSA9PSBvLm1fdmFsdWU7IH0K
ICAgICBib29sIG9wZXJhdG9yIT0oY29uc3QgTGVuZ3RoJiBvKSBjb25zdCB7IHJldHVybiBtX3Zh
bHVlICE9IG8ubV92YWx1ZTsgfQogCiAgICAgaW50IHZhbHVlKCkgY29uc3QgewogICAgICAgICBB
U1NFUlQodHlwZSgpICE9IFBlcmNlbnQpOworICAgICAgICBpZiAoaXNDYWxjdWxhdGVkKCkpCisg
ICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkTGVuZ3RoOwogICAgICAgICByZXR1cm4gcmF3VmFs
dWUoKTsKICAgICB9CiAKLSAgICBpbnQgcmF3VmFsdWUoKSBjb25zdCB7IHJldHVybiAobV92YWx1
ZSAmIH4weEYpIC8gMTY7IH0KKyAgICBpbnQgcmF3VmFsdWUoKSBjb25zdCAKKyAgICB7IAorICAg
ICAgICBpZiAoaXNDYWxjdWxhdGVkKCkpCisgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkTGVu
Z3RoOworICAgICAgICByZXR1cm4gKG1fdmFsdWUgJiB+MHhGKSAvIDE2OyAKKyAgICB9CiAKICAg
ICBkb3VibGUgcGVyY2VudCgpIGNvbnN0CiAgICAgewpAQCAtODEsMTkgKzExNiwzMSBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIHNldFZhbHVlKExlbmd0aFR5cGUgdCwgaW50IHZhbHVlKQogICAgIHsK
LSAgICAgICAgQVNTRVJUKHQgIT0gUGVyY2VudCk7CisgICAgICAgIEFTU0VSVCh0ICE9IFBlcmNl
bnQgJiYgdCAhPSBDYWxjdWxhdGVkKTsKICAgICAgICAgc2V0UmF3VmFsdWUodCwgdmFsdWUpOwog
ICAgIH0KIAotICAgIHZvaWQgc2V0UmF3VmFsdWUoTGVuZ3RoVHlwZSB0LCBpbnQgdmFsdWUpIHsg
bV92YWx1ZSA9IHZhbHVlICogMTYgfCAobV92YWx1ZSAmIDB4OCkgfCB0OyB9CisgICAgdm9pZCBz
ZXRSYXdWYWx1ZShMZW5ndGhUeXBlIHQsIGludCB2YWx1ZSkgCisgICAgeyAKKyAgICAgICAgaWYg
KGlzQ2FsY3VsYXRlZCgpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBtX3ZhbHVlID0g
dmFsdWUgKiAxNiB8IChtX3ZhbHVlICYgMHg4KSB8IHQ7IAorICAgIH0KIAogICAgIHZvaWQgc2V0
VmFsdWUoaW50IHZhbHVlKQogICAgIHsKICAgICAgICAgQVNTRVJUKCF2YWx1ZSB8fCB0eXBlKCkg
IT0gUGVyY2VudCk7CisgICAgICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgc2V0UmF3VmFsdWUodmFsdWUpOwogICAgIH0KIAotICAgIHZvaWQgc2V0
UmF3VmFsdWUoaW50IHZhbHVlKSB7IG1fdmFsdWUgPSB2YWx1ZSAqIDE2IHwgKG1fdmFsdWUgJiAw
eEYpOyB9CisgICAgdm9pZCBzZXRSYXdWYWx1ZShpbnQgdmFsdWUpIAorICAgIHsgCisgICAgICAg
IGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgbV92YWx1
ZSA9IHZhbHVlICogMTYgfCAobV92YWx1ZSAmIDB4Rik7IAorICAgIH0KIAogICAgIHZvaWQgc2V0
VmFsdWUoTGVuZ3RoVHlwZSB0LCBkb3VibGUgdmFsdWUpCiAgICAgewpAQCAtMTE5LDYgKzE2Niw4
IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICByZXR1cm4gbWF4VmFsdWUgKiByYXdWYWx1ZSgp
IC8gKDEwMCAqIHBlcmNlbnRTY2FsZUZhY3Rvcik7CiAgICAgICAgICAgICBjYXNlIEF1dG86CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIG1heFZhbHVlOworICAgICAgICAgICAgY2FzZSBDYWxjdWxh
dGVkOgorICAgICAgICAgICAgICAgIHJldHVybiBjYWxjdWxhdGVkQ2FsY1ZhbHVlKG1heFZhbHVl
LCByb3VuZFBlcmNlbnRhZ2VzKTsgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICBkZWZhdWx0
OgogICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRMZW5ndGg7CiAgICAgICAgIH0KQEAg
LTEzMyw2ICsxODIsOCBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgaWYgKHJvdW5kUGVyY2Vu
dGFnZXMpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KHJvdW5k
KG1heFZhbHVlICogcGVyY2VudCgpIC8gMTAwLjApKTsKICAgICAgICAgICAgICAgICByZXR1cm4g
bWF4VmFsdWUgKiByYXdWYWx1ZSgpIC8gKDEwMCAqIHBlcmNlbnRTY2FsZUZhY3Rvcik7CisgICAg
ICAgICAgICBjYXNlIENhbGN1bGF0ZWQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGN1bGF0
ZWRDYWxjTWluVmFsdWUobWF4VmFsdWUsIHJvdW5kUGVyY2VudGFnZXMpOyAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgIGNhc2UgQXV0bzoKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIDA7CkBAIC0xNDgsMTUgKzE5OSwyNyBAQCBwdWJsaWM6CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGZsb2F0PihtYXhWYWx1ZSAqIHBlcmNlbnQoKSAv
IDEwMC4wKTsKICAgICAgICAgICAgIGNhc2UgQXV0bzoKICAgICAgICAgICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8ZmxvYXQ+KG1heFZhbHVlKTsKKyAgICAgICAgICAgIGNhc2UgQ2FsY3VsYXRl
ZDoKKyAgICAgICAgICAgICAgICByZXR1cm4gY2FsY3VsYXRlZENhbGNGbG9hdFZhbHVlKG1heFZh
bHVlKTsgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAg
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxmbG9hdD4odW5kZWZpbmVkTGVuZ3RoKTsKICAgICAgICAg
fQogICAgIH0KIAogICAgIGJvb2wgaXNVbmRlZmluZWQoKSBjb25zdCB7IHJldHVybiByYXdWYWx1
ZSgpID09IHVuZGVmaW5lZExlbmd0aDsgfQotICAgIGJvb2wgaXNaZXJvKCkgY29uc3QgeyByZXR1
cm4gIShtX3ZhbHVlICYgfjB4Rik7IH0KLSAgICBib29sIGlzUG9zaXRpdmUoKSBjb25zdCB7IHJl
dHVybiByYXdWYWx1ZSgpID4gMDsgfQotICAgIGJvb2wgaXNOZWdhdGl2ZSgpIGNvbnN0IHsgcmV0
dXJuIHJhd1ZhbHVlKCkgPCAwOyB9CisKKyAgICBib29sIGlzWmVybygpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gaXNDYWxjdWxhdGVkKCkgPyBjYWxjdWxhdGVkSXNaZXJvKCkgOiAhKG1f
dmFsdWUgJiB+MHhGKTsKKyAgICB9CisgICAgYm9vbCBpc1Bvc2l0aXZlKCkgY29uc3QKKyAgICB7
CisgICAgICAgIHJldHVybiBpc0NhbGN1bGF0ZWQoKSA/IGNhbGN1bGF0ZWRJc1Bvc2l0aXZlKCkg
OiByYXdWYWx1ZSgpID4gMDsKKyAgICB9CisgICAgYm9vbCBpc05lZ2F0aXZlKCkgY29uc3QKKyAg
ICB7CisgICAgICAgIHJldHVybiBpc0NhbGN1bGF0ZWQoKSA/IGNhbGN1bGF0ZWRJc05lZ2F0aXZl
KCkgOiByYXdWYWx1ZSgpIDwgMDsKKyAgICB9CiAKICAgICBib29sIGlzQXV0bygpIGNvbnN0IHsg
cmV0dXJuIHR5cGUoKSA9PSBBdXRvOyB9CiAgICAgYm9vbCBpc1JlbGF0aXZlKCkgY29uc3QgeyBy
ZXR1cm4gdHlwZSgpID09IFJlbGF0aXZlOyB9CkBAIC0xNjQsNiArMjI3LDcgQEAgcHVibGljOgog
ICAgIGJvb2wgaXNGaXhlZCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBGaXhlZDsgfQogICAg
IGJvb2wgaXNTdGF0aWMoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3RhdGljOyB9CiAgICAg
Ym9vbCBpc0ludHJpbnNpY09yQXV0bygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBBdXRvIHx8
IHR5cGUoKSA9PSBNaW5JbnRyaW5zaWMgfHwgdHlwZSgpID09IEludHJpbnNpYzsgfQorICAgIGJv
b2wgaXNDYWxjdWxhdGVkKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IENhbGN1bGF0ZWQ7IH0K
IAogICAgIExlbmd0aCBibGVuZChjb25zdCBMZW5ndGgmIGZyb20sIGRvdWJsZSBwcm9ncmVzcykg
Y29uc3QKICAgICB7CkBAIC0xOTAsNiArMjU0LDIwIEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZh
dGU6CisgICAgYm9vbCBjYWxjdWxhdGVkSXNaZXJvKCkgY29uc3Q7CisgICAgYm9vbCBjYWxjdWxh
dGVkSXNQb3NpdGl2ZSgpIGNvbnN0OworICAgIGJvb2wgY2FsY3VsYXRlZElzTmVnYXRpdmUoKSBj
b25zdDsKKyAgICBpbnQgY2FsY3VsYXRlZENhbGNWYWx1ZShpbnQgbWF4VmFsdWUsIGJvb2wgcm91
bmRQZXJjZW50YWdlcykgY29uc3Q7CisgICAgaW50IGNhbGN1bGF0ZWRDYWxjTWluVmFsdWUoaW50
IG1heFZhbHVlLCBib29sIHJvdW5kUGVyY2VudGFnZXMpIGNvbnN0OworICAgIGZsb2F0IGNhbGN1
bGF0ZWRDYWxjRmxvYXRWYWx1ZShpbnQgbWF4VmFsdWUpIGNvbnN0OworICAgIGludCBjYWxjdWxh
dGVkTGVuZ3RoSWQoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzQ2FsY3VsYXRlZCgp
KTsKKyAgICAgICAgcmV0dXJuIChtX3ZhbHVlICYgfjB4RikgLyAxNjsKKyAgICB9CisgICAgdm9p
ZCBpbmNyZW1lbnRDYWxjdWxhdGVkUmVmKCkgY29uc3Q7CisgICAgdm9pZCBkZWNyZW1lbnRDYWxj
dWxhdGVkUmVmKCkgY29uc3Q7CisKICAgICBpbnQgbV92YWx1ZTsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggZTExYzVkODRmMzVlZWI5YzYzYjY4OWE4YmEx
YjI2MDU4NDlhNjA4NS4uMGVkYjI4MTMwODNlYjQ0NjQxYmQ1NWU2MmQyNDcxZjRjMzY4NzIzMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTE4MTAsNyArMTgxMCw3
IEBAIGludCBSZW5kZXJCb3g6OmNvbXB1dGVMb2dpY2FsSGVpZ2h0VXNpbmcoY29uc3QgTGVuZ3Ro
JiBoKQogICAgIGlmICghaC5pc0F1dG8oKSkgewogICAgICAgICBpZiAoaC5pc0ZpeGVkKCkpCiAg
ICAgICAgICAgICBsb2dpY2FsSGVpZ2h0ID0gaC52YWx1ZSgpOwotICAgICAgICBlbHNlIGlmICho
LmlzUGVyY2VudCgpKQorICAgICAgICBlbHNlIGlmIChoLmlzUGVyY2VudCgpIHx8IGguaXNDYWxj
dWxhdGVkKCkpCiAgICAgICAgICAgICBsb2dpY2FsSGVpZ2h0ID0gY29tcHV0ZVBlcmNlbnRhZ2VM
b2dpY2FsSGVpZ2h0KGgpOwogICAgICAgICBpZiAobG9naWNhbEhlaWdodCAhPSAtMSkgewogICAg
ICAgICAgICAgbG9naWNhbEhlaWdodCA9IGNvbXB1dGVCb3JkZXJCb3hMb2dpY2FsSGVpZ2h0KGxv
Z2ljYWxIZWlnaHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKaW5k
ZXggY2I1ODI4ZTU4NDVhODhiYWEyMjRkMDQyMmFhNTlkYjI3YzI3MjUzMy4uYmYyN2RjZDVlMzVh
Mzg4NGMyODQzMmE5Mzc3OTEyMmQzOTA5ZjI5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW1hZ2UuY3BwCkBAIC00MzYsNiArNDM2LDcgQEAgYm9vbCBSZW5kZXJJbWFnZTo6aXNM
b2dpY2FsV2lkdGhTcGVjaWZpZWQoKSBjb25zdAogICAgIHN3aXRjaCAoc3R5bGUoKS0+bG9naWNh
bFdpZHRoKCkudHlwZSgpKSB7CiAgICAgICAgIGNhc2UgRml4ZWQ6CiAgICAgICAgIGNhc2UgUGVy
Y2VudDoKKyAgICAgICAgY2FzZSBDYWxjdWxhdGVkOiAvLyBGSVhNRTogSXMgdGhpcyByaWdodD8K
ICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBjYXNlIEF1dG86CiAgICAgICAgIGNh
c2UgUmVsYXRpdmU6IC8vIEZJWE1FOiBTaG91bGRuJ3QgdGhpcyBjYXNlIHJldHVybiB0cnVlPwpA
QCAtNDUzLDcgKzQ1NCw4IEBAIGJvb2wgUmVuZGVySW1hZ2U6OmlzTG9naWNhbEhlaWdodFNwZWNp
ZmllZCgpIGNvbnN0CiAgICAgc3dpdGNoIChzdHlsZSgpLT5sb2dpY2FsSGVpZ2h0KCkudHlwZSgp
KSB7CiAgICAgICAgIGNhc2UgRml4ZWQ6CiAgICAgICAgIGNhc2UgUGVyY2VudDoKLSAgICAgICAg
ICAgIHJldHVybiB0cnVlOworICAgICAgICBjYXNlIENhbGN1bGF0ZWQ6CisgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsgLy8gRklYTUU6IElzIHRoaXMgcmlnaHQ/CiAgICAgICAgIGNhc2UgQXV0bzoK
ICAgICAgICAgY2FzZSBSZWxhdGl2ZTogLy8gRklYTUU6IFNob3VsZG4ndCB0aGlzIGNhc2UgcmV0
dXJuIHRydWU/CiAgICAgICAgIGNhc2UgU3RhdGljOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86133</attachid>
            <date>2011-03-17 21:01:20 -0700</date>
            <delta_ts>2011-03-23 22:55:13 -0700</delta_ts>
            <desc>Current WIP</desc>
            <filename>bug-16662-20110318150116.patch</filename>
            <type>text/plain</type>
            <size>128665</size>
            <attacher name="Mike Lawther">mikelawther</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODEzMDgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzYzQ4YzdkM2FhMDllMjY3NmMzZTYx
N2UyYTQ0ZjI0OTNlNjM4NDczLi4wODU1NmVkY2FjZjg3NTk3NzkyZGIxMzVlMmM5YjUzNTc5ZDNh
MjRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTEtMDMtMTcgIE1pa2UgTGF3dGhlciAgPG1p
a2VsYXd0aGVyQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBDU1MzOiBJbXBsZW1lbnQgY2FsYygpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjY2MgorCisgICAgICAgICogY3NzMy9j
YWxjL2JvcmRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9ib3Jk
ZXItc3BhY2luZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9ib3Jk
ZXItc3BhY2luZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvYm9yZGVyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9jYWxjLWVycm9ycy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9jYWxjLWVycm9ycy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBjc3MzL2NhbGMvbWFyZ2luLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3Nz
My9jYWxjL21hcmdpbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvbWlubWF4LWVy
cm9ycy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9taW5tYXgtZXJy
b3JzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9wYWRkaW5nLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3BhZGRpbmcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogY3NzMy9jYWxjL3NpbXBsZS1jYWxjcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGNzczMvY2FsYy9zaW1wbGUtY2FsY3MuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9j
YWxjL3NpbXBsZS1taW5tYXgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2Nh
bGMvc2ltcGxlLW1pbm1heC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvdGFibGUt
Y2FsY3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvdGFibGUtY2Fs
Y3MuaHRtbDogQWRkZWQuCisKIDIwMTEtMDMtMTYgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIE5ldyBiYXNlbGluZXMgYmVjYXVzZSB0aGUgcGxheSBidXR0b24g
aXMgbm93IGEgcGF1c2UgYnV0dG9uIGR1ZSB0byByODEzMDAuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvYm9yZGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2Fs
Yy9ib3JkZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkMmJhYzhlYzkyMTlkMzliNDEwZjlm
ZTU0OTFhMjBiYjcwYzEwYjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvYm9yZGVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK1RoaXMgZWxlbWVudCBzaG91
bGQgaGF2ZSBhbiBvdmVyYWxsIGJvcmRlciBvZiAyNSBwaXhlbHMuID0+IFBBU1MKKworVGhpcyBl
bGVtZW50IHNob3VsZCBoYXZlIGEgbGVmdCBib3JkZXIgb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCisK
K1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0IGJvcmRlciBvZiAyNSBwaXhlbHMuID0+
IFBBU1MKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgdG9wIGJvcmRlciBvZiAyNSBwaXhl
bHMuID0+IFBBU1MKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIGJvcmRlciBv
ZiAyNSBwaXhlbHMuID0+IFBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9i
b3JkZXItc3BhY2luZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVy
LXNwYWNpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZlYjJhY2ExYWRlMDg4M2Y2YjRlZTNj
YWExYTI3ZmE0M2RhMTZhYmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvYm9yZGVyLXNwYWNpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKKz0+IFBBU1MKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXItc3BhY2luZy5odG1sIGIvTGF5
b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1zcGFjaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTg5MDBk
ZTg1NTI2NWE3M2MyZjZmZWNhYzkwZTNlZjI5MzJiNWMyYwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXItc3BhY2luZy5odG1sCkBAIC0wLDAgKzEsNjYgQEAK
KzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KK3RkIHsgdmVydGljYWwt
YWxpZ246dG9wOyBwYWRkaW5nOiAwOyB3aWR0aDo1MHB4OyBoZWlnaHQ6NjBweDsgYmFja2dyb3Vu
ZC1jb2xvcjpibHVlOyBib3JkZXI6MXB4IHNvbGlkIGJsYWNrIH0KK3RhYmxlIHsgYm9yZGVyLXNw
YWNpbmc6IC13ZWJraXQtY2FsYygxMHB4ICogMiArIDVweCk7IGJvcmRlcjozcHggc29saWQgYmxh
Y2s7IHBvc2l0aW9uOnJlbGF0aXZlIH0KKzwvc3R5bGU+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHZhciBpbm5lckJvcmRlciA9IDE7CisgICAg
dmFyIG91dGVyQm9yZGVyID0gMzsKKyAgICB2YXIgaW5uZXJXaWR0aCA9IDUwICsgMiAqIGlubmVy
Qm9yZGVyOworICAgIHZhciBpbm5lckhlaWdodCA9IDYwICsgMiAqIGlubmVyQm9yZGVyOworICAg
IHZhciBib3JkZXJTcGFjaW5nID0gMjU7CisgICAgdmFyIHJvd3MgPSAyOworICAgIHZhciBjb2x1
bW5zID0gNTsKKworICAgIHZhciBleHBlY3RlZFdpZHRoID0gaW5uZXJXaWR0aCAqIGNvbHVtbnMg
KyBib3JkZXJTcGFjaW5nICogKGNvbHVtbnMgKyAxKSArIDIgKiBvdXRlckJvcmRlcjsKKyAgICB2
YXIgZXhwZWN0ZWRIZWlnaHQgPSBpbm5lckhlaWdodCAqIHJvd3MgKyBib3JkZXJTcGFjaW5nICog
KHJvd3MgKyAxKSArIDIgKiBvdXRlckJvcmRlcjsKKworICAgIHZhciBlbHQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic3RpbXVsdXMiKTsKKworICAgIHZhciB3aWR0aCA9IGVsdC5vZmZzZXRX
aWR0aDsKKyAgICB2YXIgaGVpZ2h0ID0gZWx0Lm9mZnNldEhlaWdodDsKKworICAgIHZhciBlcnJv
ciA9IFtdOworICAgIGlmICh3aWR0aCAhPSBleHBlY3RlZFdpZHRoKQorICAgICAgICBlcnJvci5w
dXNoKCJleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAiICsgZXhwZWN0ZWRXaWR0aCArICIsIGJ1dCB3
YXMgIiArIHdpZHRoKTsKKyAgICBpZiAoaGVpZ2h0ICE9IGV4cGVjdGVkSGVpZ2h0KQorICAgICAg
ICBlcnJvci5wdXNoKCJleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgIiArIGV4cGVjdGVkSGVpZ2h0
ICsgIiwgYnV0IHdhcyAiICsgaGVpZ2h0KTsKKworICAgIHJlc3VsdCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJyZXN1bHQiKTsKKyAgICBpZiAoZXJyb3IgPT0gIiIpIHsKKyAgICAgICAgZWx0
LnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICJncmVlbiI7CisgICAgICAgIHJlc3VsdC5pbm5lckhU
TUwgKz0gIiA9PiBQQVNTIjsKKyAgICB9IGVsc2UgeworICAgICAgICBlbHQuc3R5bGUuYmFja2dy
b3VuZENvbG9yID0gInJlZCI7CisgICAgICAgIHJlc3VsdC5pbm5lckhUTUwgKz0gIiA9PiBGQUlM
OiAiICsgZXJyb3Iuam9pbigiLCAiKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4gICAgCis8L2hlYWQ+
Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8dGFibGUgaWQ9InN0aW11bHVzIj4KKyAgICA8dHI+
CisgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPHRkPjwvdGQ+
CisgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICA8L3RyPgorICAgIDx0
cj4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8dGQ+PC90
ZD4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDx0ZD48L3RkPgorICAgIDwvdHI+Cis8L3Rh
YmxlPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXIuaHRtbCBiL0xheW91dFRlc3RzL2NzczMv
Y2FsYy9ib3JkZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MDhmMTBkM2JkMTlmOGM5MGYxMzY1YWQ3NGVi
MmQwM2YxMzdmYjliCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2Jv
cmRlci5odG1sCkBAIC0wLDAgKzEsODQgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzND
Ly9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL1JF
Qy1odG1sNDAvbG9vc2UuZHRkIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHZhciBpbm5lcldpZHRoID0gMjAwOwor
ICAgIHZhciBpbm5lckhlaWdodCA9IDEyMDsKKyAgICB2YXIgYm9yZGVyID0gMjU7CisgICAgCisg
ICAgdmFyIHRlc3RzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInAiKTsKKyAgICBm
b3IgKHZhciBpID0gMDsgaSA8IHRlc3RzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhciBlbHQg
PSB0ZXN0c1tpXTsKKyAgICAgICAgdmFyIHdpZHRoID0gZWx0Lm9mZnNldFdpZHRoOworICAgICAg
ICB2YXIgaGVpZ2h0ID0gZWx0Lm9mZnNldEhlaWdodDsKKworICAgICAgICB2YXIgZXhwZWN0ZWRX
aWR0aCA9IGlubmVyV2lkdGg7CisgICAgICAgIHZhciBleHBlY3RlZEhlaWdodCA9IGlubmVySGVp
Z2h0OworICAgICAgICAKKyAgICAgICAgc3dpdGNoIChlbHQuY2xhc3NOYW1lLnNwbGl0KCItIilb
MV0pIHsKKyAgICAgICAgY2FzZSAiYWxsIjoKKyAgICAgICAgICAgIGV4cGVjdGVkV2lkdGggKz0g
MiAqIGJvcmRlcjsKKyAgICAgICAgICAgIGV4cGVjdGVkSGVpZ2h0ICs9IDIgKiBib3JkZXI7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAidG9wIjoKKyAgICAgICAgY2FzZSAiYm90
dG9tIjoKKyAgICAgICAgICAgIGV4cGVjdGVkSGVpZ2h0ICs9IGJvcmRlcjsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlICJsZWZ0IjoKKyAgICAgICAgY2FzZSAicmlnaHQiOgorICAg
ICAgICAgICAgZXhwZWN0ZWRXaWR0aCArPSBib3JkZXI7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorICAgICAgICAKKyAgICAgICAgdmFyIGVycm9yID0gW107CisgICAgICAgIGlmICh3
aWR0aCAhPSBleHBlY3RlZFdpZHRoKQorICAgICAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQg
dG90YWwgd2lkdGggb2YgIiArIGV4cGVjdGVkV2lkdGggKyAiLCBidXQgd2FzICIgKyB3aWR0aCk7
CisgICAgICAgIGlmIChoZWlnaHQgIT0gZXhwZWN0ZWRIZWlnaHQpCisgICAgICAgICAgICBlcnJv
ci5wdXNoKCJleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgIiArIGV4cGVjdGVkSGVpZ2h0ICsgIiwg
YnV0IHdhcyAiICsgaGVpZ2h0KTsKKworICAgICAgICByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInJlc3VsdHMiKTsKKyAgICAgICAgaWYgKGVycm9yID09ICIiKSB7CisgICAgICAg
ICAgICBlbHQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gImdyZWVuIjsKKyAgICAgICAgICAgIGVs
dC5pbm5lckhUTUwgKz0gIiA9PiBQQVNTIjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IGVsdC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAicmVkIjsKKyAgICAgICAgICAgIGVsdC5pbm5l
ckhUTUwgKz0gIiA9PiBGQUlMOiAiICsgZXJyb3Iuam9pbigiLCAiKTsKKyAgICAgICAgfQorICAg
IH0KK30KKzwvc2NyaXB0PgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK3AgeworICAgIHdpZHRo
OjIwMHB4OyBoZWlnaHQ6MTIwcHg7Cit9Cisuc2ltcGxlLWFsbCB7CisgICAgYm9yZGVyOiAtd2Vi
a2l0LWNhbGMoMTNweCArIDEycHgpIHNvbGlkOworfQorCisuc2ltcGxlLWxlZnQgeworICAgIGJv
cmRlci1sZWZ0OiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpIHNvbGlkOworfQorLnNpbXBsZS1y
aWdodCB7CisgICAgYm9yZGVyLXJpZ2h0OiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpIHNvbGlk
OworfQorLnNpbXBsZS10b3AgeworICAgIGJvcmRlci10b3A6IC13ZWJraXQtY2FsYygxM3B4ICsg
MTJweCkgc29saWQ7Cit9Cisuc2ltcGxlLWJvdHRvbSB7CisgICAgYm9yZGVyLWJvdHRvbTogLXdl
YmtpdC1jYWxjKDEzcHggKyAxMnB4KSBzb2xpZDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+ICAgIAor
PGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorICAgIDxwIGNsYXNzPSJzaW1wbGUtYWxsIj5UaGlzIGVs
ZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBib3JkZXIgb2YgMjUgcGl4ZWxzLjwvcD4KKyAg
ICA8cCBjbGFzcz0ic2ltcGxlLWxlZnQiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGxlZnQg
Ym9yZGVyIG9mIDI1IHBpeGVscy48L3A+CisgICAgPHAgY2xhc3M9InNpbXBsZS1yaWdodCI+VGhp
cyBlbGVtZW50IHNob3VsZCBoYXZlIGEgcmlnaHQgYm9yZGVyIG9mIDI1IHBpeGVscy48L3A+Cisg
ICAgPHAgY2xhc3M9InNpbXBsZS10b3AiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHRvcCBi
b3JkZXIgb2YgMjUgcGl4ZWxzLjwvcD4KKyAgICA8cCBjbGFzcz0ic2ltcGxlLWJvdHRvbSI+VGhp
cyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIGJvcmRlciBvZiAyNSBwaXhlbHMuPC9wPgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NhbGMt
ZXJyb3JzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9jYWxjLWVycm9ycy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjVmMzlhOTgyMzYwNzViZjNiOWJkZWU4Yzg4ZGI1MGMx
MjY2MDNlZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9jYWxjLWVy
cm9ycy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0NSBAQAorQWxsIGJveGVzIGJlbG93IHNob3Vs
ZCBiZSAxMDBweCAqIDEwMHB4IGFuZCBncmVlbi4KKworemVybyBkaXZpc2lvbiA9PiBQQVNTCitu
b24gbGVuZ3RoID0+IFBBU1MKK251bWJlciArIGxlbmd0aCA9PiBQQVNTCitsZW5ndGggKyBudW1i
ZXIgPT4gUEFTUworcGVyY2VudCArIG51bWJlciA9PiBQQVNTCitudW1iZXIgKyBwZXJjZW50ID0+
IFBBU1MKK2xlbmd0aCAtIG51bWJlciA9PiBQQVNTCitudW1iZXIgLSBsZW5ndGggPT4gUEFTUwor
cGVyY2VudCAtIG51bWJlciA9PiBQQVNTCitudW1iZXIgLSBwZXJjZW50ID0+IFBBU1MKK2xlbmd0
aCAqIGxlbmd0aCA9PiBQQVNTCitsZW5ndGggKiBwZXJjZW50ID0+IFBBU1MKK3BlcmNlbnQgKiBs
ZW5ndGggPT4gUEFTUworcGVyY2VudCAqIHBlcmNlbnQgPT4gUEFTUworbnVtYmVyIC8gbGVuZ3Ro
ID0+IFBBU1MKK251bWJlciAvIHBlcmNlbnQgPT4gUEFTUworbGVuZ3RoIC8gbGVuZ3RoID0+IFBB
U1MKK2xlbmd0aCAvIHBlcmNlbnQgPT4gUEFTUworcGVyY2VudCAvIGxlbmd0aCA9PiBQQVNTCitw
ZXJjZW50IC8gcGVyY2VudCA9PiBQQVNTCitudW1iZXIgbW9kIGxlbmd0aCA9PiBQQVNTCitudW1i
ZXIgbW9kIHBlcmNlbnQgPT4gUEFTUworbGVuZ3RoIG1vZCBsZW5ndGggPT4gUEFTUworbGVuZ3Ro
IG1vZCBwZXJjZW50ID0+IFBBU1MKK3BlcmNlbnQgbW9kIGxlbmd0aCA9PiBQQVNTCitwZXJjZW50
IG1vZCBwZXJjZW50ID0+IFBBU1MKK21vZDEwID0+IFBBU1MKKzFtb2QgPT4gUEFTUworNzBweCs0
MHB4IG5vIHdoaXRlc3BhY2UgYXJvdW5kICsgPT4gUEFTUworNzBweCArNDBweCBubyB3aGl0ZXNw
YWNlIG9uIHJpZ2h0IG9mICsgPT4gUEFTUworNzBweCsgNDBweCBubyB3aGl0ZXNwYWNlIG9uIGxl
ZnQgb2YgKyA9PiBQQVNTCis3MHB4Ky00MHB4IG5vIHdoaXRlc3BhY2UgYXJvdW5kICsgPT4gUEFT
UworNzBweC00MHB4IG5vIHdoaXRlc3BhY2UgYXJvdW5kIC0gPT4gUEFTUworNzBweCAtNDBweCBu
byB3aGl0ZXNwYWNlIG9uIHJpZ2h0IG9mIC0gPT4gUEFTUworNzBweC0gNDBweCBubyB3aGl0ZXNw
YWNlIG9uIGxlZnQgb2YgLSA9PiBQQVNTCis3MHB4LSs0MHB4IG5vIHdoaXRlc3BhY2UgYXJvdW5k
IC0gPT4gUEFTUwordG9vIG1hbnkgbmVzdHMgPT4gUEFTUworZW5kIHdpdGggb3BlcmF0b3IgPT4g
UEFTUworc3RhcnQgd2l0aCBvcGVyYXRvciA9PiBQQVNTCitubyBleHByZXNzaW9ucyA9PiBQQVNT
Cit0b28gbWFueSBwbHVzZXMgPT4gUEFTUworbm8gYmluYXJ5IG9wZXJhdG9yID0+IFBBU1MKK3R3
byBiaW5hcnkgb3BlcmF0b3JzID0+IFBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMv
Y2FsYy9jYWxjLWVycm9ycy5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NhbGMtZXJyb3Jz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOWRmMTMzYWEzMDkzMzAyNGM0YThiMjViMGEyNjdhZTk5MDYwODBl
NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9jYWxjLWVycm9ycy5o
dG1sCkBAIC0wLDAgKzEsMTA3IEBACis8aHRtbD4KKzxoZWFkPgorCis8c3R5bGU+CisjdGVzdCBk
aXYgeworICAgIGhlaWdodDogMTAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOworfQor
PC9zdHlsZT4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiB0ZXN0KCkK
K3sKKyAgICB2YXIgdGVzdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7CisgICAg
Zm9yICh2YXIgZWxlbWVudCA9IHRlc3QuZmlyc3RDaGlsZDsgZWxlbWVudDsgZWxlbWVudCA9IGVs
ZW1lbnQubmV4dFNpYmxpbmcpIHsKKyAgICAgICAgdmFyIHdpZHRoID0gZWxlbWVudC5vZmZzZXRX
aWR0aDsKKyAgICAgICAgdmFyIGVycm9yID0gW107CisgICAgICAgIGlmICh3aWR0aCAhPSAxMDAp
CisgICAgICAgICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMg
IiArIHdpZHRoKTsKKyAgICAgICAgdmFyIGhlaWdodCA9IGVsZW1lbnQub2Zmc2V0SGVpZ2h0Owor
ICAgICAgICBpZiAoaGVpZ2h0ICE9IDEwMCkKKyAgICAgICAgICAgIGVycm9yLnB1c2goImV4cGVj
dGVkIGhlaWdodCBvZiAxMDAsIGJ1dCB3YXMgIiArIHdpZHRoKTsKKworICAgICAgICBpZiAoZXJy
b3IgPT0gIiIpIHsKKyAgICAgICAgICAgIGVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0g
ImdyZWVuIjsKKyAgICAgICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7Cisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBlbGVtZW50LmlubmVySFRNTCArPSAiID0+IEZB
SUw6ICIgKyBlcnJvci5qb2luKCIsICIpOworICAgICAgICB9CisgICAgfQorfQorPC9zY3JpcHQ+
Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKworPHA+CisgIEFsbCBib3hlcyBi
ZWxvdyBzaG91bGQgYmUgMTAwcHggKiAxMDBweCBhbmQgZ3JlZW4uCis8L3A+CisKKzxkaXYgaWQ9
InRlc3QiPgorCis8IS0tIHplcm8gZGl2aXNpb24gLS0+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAw
cHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMWV4IC8gMCk7Ij56ZXJvIGRpdmlzaW9uPC9kaXY+CisK
KzwhLS0gd3JvbmcgY29tYmluYXRpb24gLS0+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdp
ZHRoOiAtd2Via2l0LWNhbGMoMjAwKTsiPm5vbiBsZW5ndGg8L2Rpdj4KKzxkaXYgc3R5bGU9Indp
ZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygxMCArIDEwcHgpOyI+bnVtYmVyICsgbGVu
Z3RoPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMo
MTBweCArIDEwKTsiPmxlbmd0aCArIG51bWJlcjwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEw
MHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDEwJSArIDEwMCk7Ij5wZXJjZW50ICsgbnVtYmVyPC9k
aXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwICsg
MTAlKTsiPm51bWJlciArIHBlcmNlbnQ8L2Rpdj4KKworPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4
OyB3aWR0aDogLXdlYmtpdC1jYWxjKDMwMHB4IC0gMTAwKTsiPmxlbmd0aCAtIG51bWJlcjwvZGl2
PgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDMwMCAtIDEw
MHB4KTsiPm51bWJlciAtIGxlbmd0aDwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3
aWR0aDogLXdlYmtpdC1jYWxjKDEwMCUgLSAxMCk7Ij5wZXJjZW50IC0gbnVtYmVyPC9kaXY+Cis8
ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwIC0gMTAlKTsi
Pm51bWJlciAtIHBlcmNlbnQ8L2Rpdj4KKworPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0
aDogLXdlYmtpdC1jYWxjKDEwcHgqMTAwcHgpOyI+bGVuZ3RoICogbGVuZ3RoPC9kaXY+Cis8ZGl2
IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMTBweCoxMDAlKTsiPmxl
bmd0aCAqIHBlcmNlbnQ8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6IC13
ZWJraXQtY2FsYygxMCUqMTAwcHgpOyI+cGVyY2VudCAqIGxlbmd0aDwvZGl2PgorPGRpdiBzdHls
ZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDEwJSoxMDAlKTsiPnBlcmNlbnQg
KiBwZXJjZW50PC9kaXY+CisKKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJr
aXQtY2FsYygxMDAvMTBweCk7Ij5udW1iZXIgLyBsZW5ndGg8L2Rpdj4KKzxkaXYgc3R5bGU9Indp
ZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygxMDAvMTAlKTsiPm51bWJlciAvIHBlcmNl
bnQ8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygx
MDBweC8xMHB4KTsiPmxlbmd0aCAvIGxlbmd0aDwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEw
MHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDEwMHB4LzEwJSk7Ij5sZW5ndGggLyBwZXJjZW50PC9k
aXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwJS8x
MHB4KTsiPnBlcmNlbnQgLyBsZW5ndGg8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsg
d2lkdGg6IC13ZWJraXQtY2FsYygxMDAlLzEwJSk7Ij5wZXJjZW50IC8gcGVyY2VudDwvZGl2Pgor
Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwIG1vZCAx
MHB4KTsiPm51bWJlciBtb2QgbGVuZ3RoPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7
IHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwIG1vZCAxMCUpOyI+bnVtYmVyIG1vZCBwZXJjZW50PC9k
aXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwcHgg
bW9kIDEwcHgpOyI+bGVuZ3RoIG1vZCBsZW5ndGg8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAx
MDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygxMDBweCBtb2QgMTAlKTsiPmxlbmd0aCBtb2QgcGVy
Y2VudDwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxj
KDEwMCUgbW9kIDEwcHgpOyI+cGVyY2VudCBtb2QgbGVuZ3RoPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3
aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwJSBtb2QgMTAlKTsiPnBlcmNlbnQg
bW9kIHBlcmNlbnQ8L2Rpdj4KKworPCEtLSBtb2QsICssIC0gcmVxdWlyZSB3aGl0ZXNwYWNlcyBh
cm91bmQgdGhlIG9wZXJhdG9yIC0tPgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDog
LXdlYmtpdC1jYWxjKDEgbW9kMTAgKiAyMDBweCk7Ij5tb2QxMCA8L2Rpdj4KKzxkaXYgc3R5bGU9
IndpZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYygxbW9kIDEwICogMjAwcHgpOyI+MW1v
ZDwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDcw
cHgrNDBweCk7Ij43MHB4KzQwcHggbm8gd2hpdGVzcGFjZSBhcm91bmQgKyA8L2Rpdj4KKzxkaXYg
c3R5bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYyg3MHB4ICs0MHB4KTsiPjcw
cHggKzQwcHggbm8gd2hpdGVzcGFjZSBvbiByaWdodCBvZiArPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3
aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoNzBweCsgNDBweCk7Ij43MHB4KyA0MHB4
IG5vIHdoaXRlc3BhY2Ugb24gbGVmdCBvZiArPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAw
cHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoNzBweCstNDBweCk7Ij43MHB4Ky00MHB4IG5vIHdoaXRl
c3BhY2UgYXJvdW5kICsgPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAt
d2Via2l0LWNhbGMoNzBweC00MHB4KTsiPjcwcHgtNDBweCBubyB3aGl0ZXNwYWNlIGFyb3VuZCAt
IDwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKDcw
cHggLTQwcHgpOyI+NzBweCAtNDBweCBubyB3aGl0ZXNwYWNlIG9uIHJpZ2h0IG9mIC08L2Rpdj4K
KzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYyg3MHB4LSA0MHB4
KTsiPjcwcHgtIDQwcHggbm8gd2hpdGVzcGFjZSBvbiBsZWZ0IG9mIC08L2Rpdj4KKzxkaXYgc3R5
bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQtY2FsYyg3MHB4LSs0MHB4KTsiPjcwcHgt
KzQwcHggbm8gd2hpdGVzcGFjZSBhcm91bmQgLSA8L2Rpdj4KKworPCEtLSB0b28gbWFueSBuZXN0
cyBzaG91bGQgYmUgcmVqZWN0ZWQgdG8gYXZvaWQgc3RhY2sgb3ZlcmZsb3cgLS0+Cis8ZGl2IHN0
eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgyMDBw
eCkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkp
KSkpKSkpKSkpKSkpKSkpKTsiPnRvbyBtYW55IG5lc3RzPC9kaXY+CisgCis8IS0tIGludmFsaWQg
Zm9ybXVsYXMgLS0+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LWNh
bGMoMjAwcHgqKTsiPmVuZCB3aXRoIG9wZXJhdG9yPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDog
MTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoKyArMjAwcHgpOyI+c3RhcnQgd2l0aCBvcGVyYXRv
cjwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1jYWxjKCk7
Ij5ubyBleHByZXNzaW9uczwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDog
LXdlYmtpdC1jYWxjKDEwMHB4ICsgKyArMTAwcHgpOyI+dG9vIG1hbnkgcGx1c2VzPC9kaXY+Cis8
ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LWNhbGMoMjAwcHggMjAwcHgp
OyI+bm8gYmluYXJ5IG9wZXJhdG9yPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdp
ZHRoOiAtd2Via2l0LWNhbGMoMTAwcHggKiAqIDIpOyI+dHdvIGJpbmFyeSBvcGVyYXRvcnM8L2Rp
dj4KKyAKKzwvZGl2PgorIAorPC9ib2R5PgorIAorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL21hcmdpbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvbWFyZ2luLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Yjk0NGVmY2M4ZmUwMTJjYzgzZTcw
MDM5ODQ2MzViZTE0MzA2YmYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9j
YWxjL21hcmdpbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNCBAQAorVGhpcyBlbGVtZW50IHNo
b3VsZCBoYXZlIGFuIG92ZXJhbGwgbWFyZ2luIG9mIDI1IHBpeGVscy4gPT4gUEFTUworCisKK1Ro
aXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGxlZnQgbWFyZ2luIG9mIDI1IHBpeGVscy4gPT4gUEFT
UworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSByaWdodCBtYXJnaW4gb2YgMjUgcGl4ZWxz
LiA9PiBQQVNTCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHRvcCBtYXJnaW4gb2YgMjUg
cGl4ZWxzLiA9PiBQQVNTCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGJvdHRvbSBtYXJn
aW4gb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCisKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGFu
IG92ZXJhbGwgbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBw
eCBtaW51cyA1cHgpLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyNTAsIGJ1dCB3
YXMgMjAwLCBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgMTcwLCBidXQgd2FzIDEyMAorCitUaGlz
IGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBsZWZ0IG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEwJSBvZiBw
YXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4gRkFJTDogZXhwZWN0ZWQgdG90YWwg
d2lkdGggb2YgMjI1LCBidXQgd2FzIDIwMAorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBy
aWdodCBtYXJnaW4gb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1p
bnVzIDVweCkuID0+IEZBSUw6IGV4cGVjdGVkIHRvdGFsIHdpZHRoIG9mIDIyNSwgYnV0IHdhcyAy
MDAKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgdG9wIG1hcmdpbiBvZiAyNSBwaXhlbHMg
KDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4gRkFJTDogZXhwZWN0
ZWQgdG90YWwgaGVpZ2h0IG9mIDE0NSwgYnV0IHdhcyAxMzUKKworVGhpcyBlbGVtZW50IHNob3Vs
ZCBoYXZlIGEgYm90dG9tIG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGgg
b2YgMzAwcHggbWludXMgNXB4KS4gPT4gRkFJTDogZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9mIDE0
NSwgYnV0IHdhcyAxMzUKKworCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9t
YXJnaW4uaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9tYXJnaW4uaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44NTBmN2MwODZlYjU3ZWQ5Y2JiZjVhZDA5NWZiOGJlMWNkZjYxMjU0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL21hcmdpbi5odG1sCkBAIC0wLDAgKzEsMTQyIEBA
Cis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25h
bC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiB0ZXN0KCkK
K3sKKyAgICB2YXIgaW5uZXJXaWR0aCA9IDIwMDsKKyAgICB2YXIgaW5uZXJIZWlnaHQgPSAxMjA7
CisgICAgdmFyIG1hcmdpbiA9IDI1OworICAgIAorICAgIHZhciB0ZXN0cyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCJkaXYiKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRlc3Rz
Lmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhciBvdXRlckVsdCA9IHRlc3RzW2ldOworICAgICAg
ICBpZiAob3V0ZXJFbHQuaWQgPT0gIndyYXBwZXIiKQorICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgICAgICAKKyAgICAgICAgdmFyIGlubmVyRWx0ID0gdGVzdHNbaV0uZ2V0RWxlbWVudHNC
eVRhZ05hbWUoInAiKVswXTsKKyAgICAgICAgdmFyIHdpZHRoID0gb3V0ZXJFbHQub2Zmc2V0V2lk
dGg7CisgICAgICAgIHZhciBoZWlnaHQgPSBvdXRlckVsdC5vZmZzZXRIZWlnaHQ7CisKKyAgICAg
ICAgdmFyIGV4cGVjdGVkV2lkdGggPSBpbm5lcldpZHRoOworICAgICAgICB2YXIgZXhwZWN0ZWRI
ZWlnaHQgPSBpbm5lckhlaWdodDsKKyAgICAgICAgCisgICAgICAgIHN3aXRjaCAoaW5uZXJFbHQu
Y2xhc3NOYW1lLnNwbGl0KCItIilbMV0pIHsKKyAgICAgICAgY2FzZSAiYWxsIjoKKyAgICAgICAg
ICAgIGV4cGVjdGVkV2lkdGggKz0gMiAqIG1hcmdpbjsKKyAgICAgICAgICAgIGV4cGVjdGVkSGVp
Z2h0ICs9IDIgKiBtYXJnaW47CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAidG9w
IjoKKyAgICAgICAgY2FzZSAiYm90dG9tIjoKKyAgICAgICAgICAgIGV4cGVjdGVkSGVpZ2h0ICs9
IG1hcmdpbjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICJsZWZ0IjoKKyAgICAg
ICAgY2FzZSAicmlnaHQiOgorICAgICAgICAgICAgZXhwZWN0ZWRXaWR0aCArPSBtYXJnaW47Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgdmFyIGVycm9y
ID0gW107CisgICAgICAgIGlmICh3aWR0aCAhPSBleHBlY3RlZFdpZHRoKQorICAgICAgICAgICAg
ZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgIiArIGV4cGVjdGVkV2lkdGggKyAi
LCBidXQgd2FzICIgKyB3aWR0aCk7CisgICAgICAgIGlmIChoZWlnaHQgIT0gZXhwZWN0ZWRIZWln
aHQpCisgICAgICAgICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgIiAr
IGV4cGVjdGVkSGVpZ2h0ICsgIiwgYnV0IHdhcyAiICsgaGVpZ2h0KTsKKworICAgICAgICByZXN1
bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKTsKKyAgICAgICAgaWYgKGVy
cm9yID09ICIiKSB7CisgICAgICAgICAgICBpbm5lckVsdC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3Ig
PSAiZ3JlZW4iOworICAgICAgICAgICAgaW5uZXJFbHQuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpbm5lckVsdC5zdHlsZS5iYWNrZ3JvdW5k
Q29sb3IgPSAicmVkIjsKKyAgICAgICAgICAgIGlubmVyRWx0LmlubmVySFRNTCArPSAiID0+IEZB
SUw6ICIgKyBlcnJvci5qb2luKCIsICIpOworICAgICAgICB9CisgICAgfQorfQorPC9zY3JpcHQ+
Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorZGl2IHsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxv
Y2s7Cit9CisKK3AgeworICAgIHdpZHRoOjIwMHB4OyAKKyAgICBoZWlnaHQ6MTIwcHg7CisgICAg
bWFyZ2luOiAwOworfQorLnNpbXBsZS1hbGwgeworICAgIG1hcmdpbjogLXdlYmtpdC1jYWxjKDEz
cHggKyAxMnB4KTsKK30KKy5zaW1wbGUtbGVmdCB7CisgICAgbWFyZ2luLWxlZnQ6IC13ZWJraXQt
Y2FsYygxM3B4ICsgMTJweCk7Cit9Cisuc2ltcGxlLXJpZ2h0IHsKKyAgICBtYXJnaW4tcmlnaHQ6
IC13ZWJraXQtY2FsYygxM3B4ICsgMTJweCk7Cit9Cisuc2ltcGxlLXRvcCB7CisgICAgbWFyZ2lu
LXRvcDogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5zaW1wbGUtYm90dG9tIHsKKyAg
ICBtYXJnaW4tYm90dG9tOiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpOworfQorLnBlcmNlbnQt
YWxsIHsKKyAgIC8qIG1hcmdpbjogLXdlYmtpdC1jYWxjKDEwJSAtIDVweCk7CisgICAgbWFyZ2lu
OiAtbW96LWNhbGMoMTAlIC0gNXB4KTsKKyAgICBtYXJnaW46IGNhbGMoMTAlIC0gNXB4KTsqLwor
ICAgIG1hcmdpbi1sZWZ0OiAxMCU7Cit9CisucGVyY2VudC1sZWZ0IHsKKyAgICBtYXJnaW4tbGVm
dDogLXdlYmtpdC1jYWxjKDEwJSAtIDVweCk7CisgICAgbWFyZ2luLWxlZnQ6IDIwJTsKK30KKy5w
ZXJjZW50LXJpZ2h0IHsKKyAgICBtYXJnaW4tcmlnaHQ6IC13ZWJraXQtY2FsYygxMCUgLSA1cHgp
OworfQorLnBlcmNlbnQtdG9wIHsKKyAgICBtYXJnaW4tdG9wOiAtd2Via2l0LWNhbGMoMTAlIC0g
NXB4KTsKK30KKy5wZXJjZW50LWJvdHRvbSB7CisgICBtYXJnaW4tYm90dG9tOiAtd2Via2l0LWNh
bGMoMTAlIC0gNXB4KTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+ICAgIAorPGJvZHkgb25sb2FkPSJ0
ZXN0KCkiPgorICAgIDxkaXY+CisgICAgICAgIDxwIGNsYXNzPSJzaW1wbGUtYWxsIj5UaGlzIGVs
ZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBtYXJnaW4gb2YgMjUgcGl4ZWxzLjwvcD4KKyAg
ICA8L2Rpdj48YnIvPgorICAgIDxkaXY+CisgICAgICAgIDxwIGNsYXNzPSJzaW1wbGUtbGVmdCI+
VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgbGVmdCBtYXJnaW4gb2YgMjUgcGl4ZWxzLjwvcD4K
KyAgICA8L2Rpdj48YnIvPgorICAgIDxkaXY+CisgICAgICAgIDxwIGNsYXNzPSJzaW1wbGUtcmln
aHQiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0IG1hcmdpbiBvZiAyNSBwaXhlbHMu
PC9wPgorICAgIDwvZGl2Pjxici8+CisgICAgPGRpdj4KKyAgICAgICAgPHAgY2xhc3M9InNpbXBs
ZS10b3AiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHRvcCBtYXJnaW4gb2YgMjUgcGl4ZWxz
LjwvcD4KKyAgICA8L2Rpdj48YnIvPgorICAgIDxkaXY+CisgICAgICAgIDxwIGNsYXNzPSJzaW1w
bGUtYm90dG9tIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gbWFyZ2luIG9mIDI1
IHBpeGVscy48L3A+CisgICAgPC9kaXY+PGJyLz4KKworPGRpdiBpZD0id3JhcHBlciIgc3R5bGU9
IndpZHRoOiAzMDBweDsgYmFja2dyb3VuZC1jb2xvcjogY29ybnNpbGs7IGRpc3BsYXk6IGJsb2Nr
OyI+CisgICAgPGRpdj4KKyAgICAgICAgPHAgY2xhc3M9InBlcmNlbnQtYWxsIj5UaGlzIGVsZW1l
bnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBtYXJnaW4gb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFy
ZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzICAgICA1cHgpLjwvcD4KKyAgICA8L2Rpdj48YnIvPgor
ICAgIAorICAgIAorICAgIDxkaXY+CisgICAgICAgIDxwIGNsYXNzPSJwZXJjZW50LWxlZnQiPlRo
aXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGxlZnQgbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9m
IHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLjwvcD4KKyAgICA8L2Rpdj48YnIvPgor
ICAgIDxkaXY+CisgICAgICAgIDxwIGNsYXNzPSJwZXJjZW50LXJpZ2h0Ij5UaGlzIGVsZW1lbnQg
c2hvdWxkIGhhdmUgYSByaWdodCBtYXJnaW4gb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdp
ZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuPC9wPgorICAgIDwvZGl2Pjxici8+CisgICAgPGRpdj4K
KyAgICAgICAgPHAgY2xhc3M9InBlcmNlbnQtdG9wIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUg
YSB0b3AgbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBt
aW51cyA1cHgpLjwvcD4KKyAgICA8L2Rpdj48YnIvPgorICAgIDxkaXY+CisgICAgICAgIDxwIGNs
YXNzPSJwZXJjZW50LWJvdHRvbSI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIG1h
cmdpbiBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4
KS48L3A+CisgICAgPC9kaXY+PGJyLz4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL21pbm1heC1lcnJvcnMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvY3NzMy9jYWxjL21pbm1heC1lcnJvcnMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjBlMDNiODBkMjJjNTZjYWI1OWYxZTA2ZmYxMjA2OTE2MjQ0M2UwNWQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbWlubWF4LWVycm9ycy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMiBAQAorQWxsIGJveGVzIGJlbG93IHNob3VsZCBiZSAxMDBweCAqIDEwMHB4
IGFuZCBncmVlbi4KKworTUlOCittaXggbGVuZ3RoIGFuZCBudW1iZXIgPT4gUEFTUworbWl4IG51
bWJlciBhbmQgbGVuZ3RoID0+IFBBU1MKK21peCBwZXJjZW50IGFuZCBudW1iZXIgPT4gUEFTUwor
bWl4IG51bWJlciBhbmQgcGVyY2VudCA9PiBQQVNTCitNQVgKK21peCBsZW5ndGggYW5kIG51bWJl
ciA9PiBQQVNTCittaXggbnVtYmVyIGFuZCBsZW5ndGggPT4gUEFTUworbWl4IHBlcmNlbnQgYW5k
IG51bWJlciA9PiBQQVNTCittaXggbnVtYmVyIGFuZCBwZXJjZW50ID0+IFBBU1MKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9taW5tYXgtZXJyb3JzLmh0bWwgYi9MYXlvdXRUZXN0
cy9jc3MzL2NhbGMvbWlubWF4LWVycm9ycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczYWUxMjkxY2E3NmUx
YjVhNmY1NzA1ZTY0ZTYyODliY2E1ZTBiZWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jc3MzL2NhbGMvbWlubWF4LWVycm9ycy5odG1sCkBAIC0wLDAgKzEsNjIgQEAKKzxodG1sPgor
PGhlYWQ+CisKKzxzdHlsZT4KKyN0ZXN0IGRpdiB7CisgICAgaGVpZ2h0OiAxMDBweDsKKyAgICBi
YWNrZ3JvdW5kLWNvbG9yOiByZWQ7Cit9Cis8L3N0eWxlPgorCis8c2NyaXB0PgoraWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHZhciB0ZXN0ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInRlc3QiKTsKKyAgICBmb3IgKHZhciBlbGVtZW50ID0gdGVzdC5maXJzdENo
aWxkOyBlbGVtZW50OyBlbGVtZW50ID0gZWxlbWVudC5uZXh0U2libGluZykgeworICAgICAgICB2
YXIgd2lkdGggPSBlbGVtZW50Lm9mZnNldFdpZHRoOworICAgICAgICB2YXIgZXJyb3IgPSBbXTsK
KyAgICAgICAgaWYgKHdpZHRoICE9IDEwMCkKKyAgICAgICAgICAgIGVycm9yLnB1c2goImV4cGVj
dGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAiICsgd2lkdGgpOworICAgICAgICB2YXIgaGVpZ2h0
ID0gZWxlbWVudC5vZmZzZXRIZWlnaHQ7CisgICAgICAgIGlmIChoZWlnaHQgIT0gMTAwKQorICAg
ICAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyAiICsg
d2lkdGgpOworCisgICAgICAgIGlmIChlcnJvciA9PSAiIikgeworICAgICAgICAgICAgZWxlbWVu
dC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAiZ3JlZW4iOworICAgICAgICAgICAgZWxlbWVudC5p
bm5lckhUTUwgKz0gIiA9PiBQQVNTIjsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGVs
ZW1lbnQuaW5uZXJIVE1MICs9ICIgPT4gRkFJTDogIiArIGVycm9yLmpvaW4oIiwgIik7CisgICAg
ICAgIH0KKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJ0ZXN0
KCkiPgorCis8cD4KKyAgQWxsIGJveGVzIGJlbG93IHNob3VsZCBiZSAxMDBweCAqIDEwMHB4IGFu
ZCBncmVlbi4KKzwvcD4KKworPGRpdiBpZD0idGVzdCI+CisKK01JTgorPGRpdiBzdHlsZT0id2lk
dGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1taW4oMjU2cHgsIDEyMCk7Ij5taXggbGVuZ3RoIGFu
ZCBudW1iZXI8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgd2lkdGg6IC13ZWJraXQt
bWluKDI1NiwgMTIwcHgpOyI+bWl4IG51bWJlciBhbmQgbGVuZ3RoPC9kaXY+Cis8ZGl2IHN0eWxl
PSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LW1pbig1MCUsIDE1MCk7Ij5taXggcGVyY2Vu
dCBhbmQgbnVtYmVyPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Vi
a2l0LW1pbigxNTAsIDUwJSk7Ij5taXggbnVtYmVyIGFuZCBwZXJjZW50PC9kaXY+CisKK01BWAor
PGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyB3aWR0aDogLXdlYmtpdC1tYXgoMjU2cHgsIDEyMCk7
Ij5taXggbGVuZ3RoIGFuZCBudW1iZXI8L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsg
d2lkdGg6IC13ZWJraXQtbWF4KDI1NiwgMTIwcHgpOyI+bWl4IG51bWJlciBhbmQgbGVuZ3RoPC9k
aXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IHdpZHRoOiAtd2Via2l0LW1heCg1MCUsIDE1
MCk7Ij5taXggcGVyY2VudCBhbmQgbnVtYmVyPC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAw
cHg7IHdpZHRoOiAtd2Via2l0LW1heCgxNTAsIDUwJSk7Ij5taXggbnVtYmVyIGFuZCBwZXJjZW50
PC9kaXY+CisKKzwvZGl2PgorIAorPC9ib2R5PgorIAorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY3NzMy9jYWxjL3BhZGRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL3BhZGRpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiOGUzYTc0NDQ1Mjg3MDgz
Y2RjNTJiYjY0NmViNWQyMDU3NzlhOGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvcGFkZGluZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAorVGhpcyBlbGVt
ZW50IHNob3VsZCBoYXZlIGFuIG92ZXJhbGwgcGFkZGluZyBvZiAyNSBwaXhlbHMuID0+IFBBU1MK
KworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgbGVmdCBwYWRkaW5nIG9mIDI1IHBpeGVscy4g
PT4gUEFTUworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSByaWdodCBwYWRkaW5nIG9mIDI1
IHBpeGVscy4gPT4gUEFTUworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSB0b3AgcGFkZGlu
ZyBvZiAyNSBwaXhlbHMuID0+IFBBU1MKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90
dG9tIHBhZGRpbmcgb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCisKK1RoaXMgZWxlbWVudCBzaG91bGQg
aGF2ZSBhbiBvdmVyYWxsIHBhZGRpbmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRo
IG9mIDMwMHB4IG1pbnVzIDVweCkuID0+IFBBU1MKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZl
IGEgbGVmdCBwYWRkaW5nIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBw
eCBtaW51cyA1cHgpLiA9PiBQQVNTCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0
IHBhZGRpbmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVz
IDVweCkuID0+IFBBU1MKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgdG9wIHBhZGRpbmcg
b2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuID0+
IFBBU1MKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIHBhZGRpbmcgb2YgMjUg
cGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuID0+IFBBU1MK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9wYWRkaW5nLmh0bWwgYi9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvcGFkZGluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhNjYxZTkzMjBjNjU4ZDJj
ODM4OGQwN2EzOThhYmNlMjg4YTdiYWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvcGFkZGluZy5odG1sCkBAIC0wLDAgKzEsMTA2IEBACis8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3
LnczLm9yZy9UUi9SRUMtaHRtbDQwL2xvb3NlLmR0ZCI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICB2YXIgaW5uZXJX
aWR0aCA9IDIwMDsKKyAgICB2YXIgaW5uZXJIZWlnaHQgPSAxMjA7CisgICAgdmFyIHBhZGRpbmcg
PSAyNTsKKyAgICAKKyAgICB2YXIgdGVzdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFt
ZSgicCIpOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGVzdHMubGVuZ3RoOyArK2kpIHsKKyAg
ICAgICAgdmFyIGVsdCA9IHRlc3RzW2ldOworICAgICAgICB2YXIgd2lkdGggPSBlbHQub2Zmc2V0
V2lkdGg7CisgICAgICAgIHZhciBoZWlnaHQgPSBlbHQub2Zmc2V0SGVpZ2h0OworCisgICAgICAg
IHZhciBleHBlY3RlZFdpZHRoID0gaW5uZXJXaWR0aDsKKyAgICAgICAgdmFyIGV4cGVjdGVkSGVp
Z2h0ID0gaW5uZXJIZWlnaHQ7CisgICAgICAgIAorICAgICAgICBzd2l0Y2ggKGVsdC5jbGFzc05h
bWUuc3BsaXQoIi0iKVsxXSkgeworICAgICAgICBjYXNlICJhbGwiOgorICAgICAgICAgICAgZXhw
ZWN0ZWRXaWR0aCArPSAyICogcGFkZGluZzsKKyAgICAgICAgICAgIGV4cGVjdGVkSGVpZ2h0ICs9
IDIgKiBwYWRkaW5nOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgInRvcCI6Cisg
ICAgICAgIGNhc2UgImJvdHRvbSI6CisgICAgICAgICAgICBleHBlY3RlZEhlaWdodCArPSBwYWRk
aW5nOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgImxlZnQiOgorICAgICAgICBj
YXNlICJyaWdodCI6CisgICAgICAgICAgICBleHBlY3RlZFdpZHRoICs9IHBhZGRpbmc7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgdmFyIGVycm9yID0g
W107CisgICAgICAgIGlmICh3aWR0aCAhPSBleHBlY3RlZFdpZHRoKQorICAgICAgICAgICAgZXJy
b3IucHVzaCgiZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgIiArIGV4cGVjdGVkV2lkdGggKyAiLCBi
dXQgd2FzICIgKyB3aWR0aCk7CisgICAgICAgIGlmIChoZWlnaHQgIT0gZXhwZWN0ZWRIZWlnaHQp
CisgICAgICAgICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgIiArIGV4
cGVjdGVkSGVpZ2h0ICsgIiwgYnV0IHdhcyAiICsgaGVpZ2h0KTsKKworICAgICAgICByZXN1bHRz
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKTsKKyAgICAgICAgaWYgKGVycm9y
ID09ICIiKSB7CisgICAgICAgICAgICBlbHQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gImdyZWVu
IjsKKyAgICAgICAgICAgIGVsdC5pbm5lckhUTUwgKz0gIiA9PiBQQVNTIjsKKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIGVsdC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAicmVkIjsKKyAg
ICAgICAgICAgIGVsdC5pbm5lckhUTUwgKz0gIiA9PiBGQUlMOiAiICsgZXJyb3Iuam9pbigiLCAi
KTsKKyAgICAgICAgfQorICAgIH0KK30KKzwvc2NyaXB0PgorPHN0eWxlIHR5cGU9InRleHQvY3Nz
Ij4KK3AgeworICAgIHdpZHRoOjIwMHB4OyBoZWlnaHQ6MTIwcHg7IAorfQorLnNpbXBsZS1hbGwg
eworICAgIHBhZGRpbmc6IC13ZWJraXQtY2FsYygxM3B4ICsgMTJweCk7Cit9Cisuc2ltcGxlLWxl
ZnQgeworICAgIHBhZGRpbmctbGVmdDogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5z
aW1wbGUtcmlnaHQgeworICAgIHBhZGRpbmctcmlnaHQ6IC13ZWJraXQtY2FsYygxM3B4ICsgMTJw
eCk7Cit9Cisuc2ltcGxlLXRvcCB7CisgICAgcGFkZGluZy10b3A6IC13ZWJraXQtY2FsYygxM3B4
ICsgMTJweCk7Cit9Cisuc2ltcGxlLWJvdHRvbSB7CisgICAgcGFkZGluZy1ib3R0b206IC13ZWJr
aXQtY2FsYygxM3B4ICsgMTJweCk7Cit9CisucGVyY2VudC1hbGwgeworICAgIHBhZGRpbmc6IC13
ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQorLnBlcmNlbnQtbGVmdCB7CisgICAgcGFkZGluZy1s
ZWZ0OiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKK30KKy5wZXJjZW50LXJpZ2h0IHsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKK30KKy5wZXJjZW50LXRvcCB7
CisgICAgcGFkZGluZy10b3A6IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQorLnBlcmNlbnQt
Ym90dG9tIHsKKyAgIHBhZGRpbmctYm90dG9tOiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKK30K
Kzwvc3R5bGU+Cis8L2hlYWQ+ICAgIAorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorICAgIDxwIGNs
YXNzPSJzaW1wbGUtYWxsIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBwYWRk
aW5nIG9mIDI1IHBpeGVscy48L3A+CisgICAgPHAgY2xhc3M9InNpbXBsZS1sZWZ0Ij5UaGlzIGVs
ZW1lbnQgc2hvdWxkIGhhdmUgYSBsZWZ0IHBhZGRpbmcgb2YgMjUgcGl4ZWxzLjwvcD4KKyAgICA8
cCBjbGFzcz0ic2ltcGxlLXJpZ2h0Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSByaWdodCBw
YWRkaW5nIG9mIDI1IHBpeGVscy48L3A+CisgICAgPHAgY2xhc3M9InNpbXBsZS10b3AiPlRoaXMg
ZWxlbWVudCBzaG91bGQgaGF2ZSBhIHRvcCBwYWRkaW5nIG9mIDI1IHBpeGVscy48L3A+CisgICAg
PHAgY2xhc3M9InNpbXBsZS1ib3R0b20iPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGJvdHRv
bSBwYWRkaW5nIG9mIDI1IHBpeGVscy48L3A+CisKKzxkaXYgc3R5bGU9IndpZHRoOiAzMDBweDsg
YmFja2dyb3VuZC1jb2xvcjogY29ybnNpbGs7Ij4KKyAgICA8cCBjbGFzcz0icGVyY2VudC1hbGwi
PlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhbiBvdmVyYWxsIHBhZGRpbmcgb2YgMjUgcGl4ZWxz
ICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuPC9wPgorICAgIDxwIGNs
YXNzPSJwZXJjZW50LWxlZnQiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGxlZnQgcGFkZGlu
ZyBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS48
L3A+CisgICAgPHAgY2xhc3M9InBlcmNlbnQtcmlnaHQiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2
ZSBhIHJpZ2h0IHBhZGRpbmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMw
MHB4IG1pbnVzIDVweCkuPC9wPgorICAgIDxwIGNsYXNzPSJwZXJjZW50LXRvcCI+VGhpcyBlbGVt
ZW50IHNob3VsZCBoYXZlIGEgdG9wIHBhZGRpbmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50
IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuPC9wPgorICAgIDxwIGNsYXNzPSJwZXJjZW50LWJv
dHRvbSI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIHBhZGRpbmcgb2YgMjUgcGl4
ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuPC9wPgorPC9kaXY+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc2lt
cGxlLWNhbGNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9zaW1wbGUtY2Fs
Y3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwMzk4M2QyYmExMGI5NDBiZTllZGEwNmUxYTg1
YTU2NzEwYTM3YzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc2lt
cGxlLWNhbGNzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ2IEBACitBbGwgYm94ZXMgYmVsb3cg
c2hvdWxkIGJlIDEwMHB4ICogMTAwcHggYW5kIGdyZWVuLgorCitjb250cm9sID0+IFBBU1MKKzUw
cHggKyA1MHB4ID0+IFBBU1MKKzE1MHB4IC0gNTBweCA9PiBQQVNTCis1MHB4ICsgNTBweCAoMiBz
cGFjZXMgYXJvdW5kIG9wZXJhdG9yKSA9PiBQQVNTCisxNTBweCAtIDUwcHggKDIgc3BhY2VzIGFy
b3VuZCBvcGVyYXRvcikgPT4gUEFTUworNTBweCoyID0+IFBBU1MKKzUwcHggKjIgPT4gUEFTUwor
NTBweCogMiA9PiBQQVNTCisyMDBweC8yID0+IFBBU1MKKzIwMHB4IC8yID0+IFBBU1MKKzIwMHB4
LyAyID0+IFBBU1MKKzUwcHgqKDEgKyAxKSA9PiBQQVNTCis1MHB4KigxMiAtIDEwKSA9PiBQQVNT
Cis1MHB4KigxMCAvIDUpID0+IFBBU1MKKzEwcHgqICg1ICogMikgPT4gUEFTUworNTBweCogKDEy
IG1vZCAxMCkgPT4gUEFTUworNTBweCArIDEwcHggKiA1IChvcGVyYXRpb24gb3JkZXIpID0+IFBB
U1MKKzExMDBweCBtb2QgMTAwMCA9PiBQQVNTCisxMDAlLzIgKHdoZXJlIDEwMCUgaXMgMjAwcHgp
ID0+IFBBU1MKKzEwMCUgKyAtMTAwcHggKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IFBBU1MKKzgw
JSAtIDYwcHggKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IFBBU1MKKzMwMHB4IC0gMTAwJSAod2hl
cmUgMTAwJSBpcyAyMDBweCkgPT4gUEFTUworLTEwMHB4ICsgMTAwJSAod2hlcmUgMTAwJSBpcyAy
MDBweCkgPT4gUEFTUworMjAlICsgMzAlICh3aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBQQVNTCis4
MCUgLSAzMCUgKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IFBBU1MKKzEwJSAqIDUgKHdoZXJlIDEw
MCUgaXMgMjAwcHgpID0+IFBBU1MKKzUgKiAxMCUgKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IFBB
U1MKKygxMDBweCkgPT4gUEFTUworKDUwcHggKyA1MHB4KSA9PiBQQVNTCisoNTBweCkgKyA1MHB4
ID0+IFBBU1MKKzUwcHggKyAoNTBweCkgPT4gUEFTUworNTBweCArIDUwcHggPT4gUEFTUworNTBw
eCArIDI1cHggKiAyID0+IFBBU1MKKygyNXB4ICsgMjVweCkgKiAyID0+IFBBU1MKKzIgKiA1MHB4
ID0+IFBBU1MKKzIgKiAxMDBweCAvIDIgPT4gUEFTUworMTIgbW9kIDEwICogNTBweCA9PiBQQVNT
CisoMWVtIC0gMWVtKSArIDEwMHB4ID0+IFBBU1MKKzUwcHggKyArNTBweCA9PiBQQVNTCistNTBw
eCArIDE1MHB4ID0+IFBBU1MKKy01MHB4IC0gLTE1MHB4ID0+IFBBU1MKKygoKCgoKCgxMDBweCkp
KSkpKSkgPT4gUEFTUworMTAwcHggPT4gUEFTUworMTAwJSAqIDIgPT4gUEFTUwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3NpbXBsZS1jYWxjcy5odG1sIGIvTGF5b3V0VGVzdHMv
Y3NzMy9jYWxjL3NpbXBsZS1jYWxjcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxMjY0ODhiZjgzZTkyYjIy
ODUwMWIwZGMzYzZlMWU5MDU2OGFiNTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvc2ltcGxlLWNhbGNzLmh0bWwKQEAgLTAsMCArMSwxMzYgQEAKKzxodG1sPg0KKzxo
ZWFkPg0KKw0KKzxzdHlsZT4NCisud2lkdGgtdGVzdCB7DQorICAgIGhlaWdodDogMTAwcHg7DQor
ICAgIHdpZHRoOiAyNTZweDsNCisgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOw0KK30NCisNCisu
aGVpZ2h0LXRlc3Qgew0KKyAgICB3aWR0aDogMTAwcHg7DQorICAgIGhlaWdodDogNTBweDsNCisg
ICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOw0KK30NCisNCis8L3N0eWxlPg0KKw0KKzxzY3JpcHQ+
DQoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikNCisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOw0KKw0KK2Z1bmN0aW9uIHRlc3Qoem9vbUxldmVscykNCit7DQor
ICAgIHZhciB0ZXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsNCisgICAgZm9y
ICh2YXIgY2hpbGQgPSB0ZXN0LmZpcnN0Q2hpbGQ7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLm5leHRT
aWJsaW5nKSB7DQorICAgICAgICB2YXIgZWxlbWVudCA9IGNoaWxkOw0KKyAgICAgICAgaWYgKGVs
ZW1lbnQuY2xhc3NOYW1lID09ICJ3cmFwcGVyIikgew0KKyAgICAgICAgICAgIGVsZW1lbnQgPSBl
bGVtZW50LmZpcnN0Q2hpbGQ7DQorICAgICAgICAgICAgd2hpbGUgKGVsZW1lbnQudGFnTmFtZSAh
PSAiRElWIikgZWxlbWVudCA9IGVsZW1lbnQubmV4dFNpYmxpbmc7DQorICAgICAgICB9DQorDQor
ICAgICAgICB2YXIgZXJyb3IgPSBbXTsNCisgICAgICAgIGZvciAodmFyIHogPSAwOyB6IDwgem9v
bUxldmVscy5sZW5ndGg7IHorKykgew0KKyAgICAgICAgICAgIHZhciB6b29tID0gem9vbUxldmVs
c1t6XTsNCisgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnpvb20gPSB6b29tOw0KKyAg
ICAgICAgICAgIHZhciB3aWR0aCA9IGVsZW1lbnQub2Zmc2V0V2lkdGg7DQorICAgICAgICAgICAg
aWYgKHdpZHRoICE9IDEwMCkNCisgICAgICAgICAgICAgICAgZXJyb3IucHVzaCgiQHpvb209IiAr
IHpvb20gKyAiIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAiICsgd2lkdGgpOw0KKyAg
ICAgICAgICAgIHZhciBoZWlnaHQgPSBlbGVtZW50Lm9mZnNldEhlaWdodDsNCisgICAgICAgICAg
ICBpZiAoaGVpZ2h0ICE9IDEwMCkNCisgICAgICAgICAgICAgICAgZXJyb3IucHVzaCgiQHpvb209
IiArIHpvb20gKyAiIGV4cGVjdGVkIGhlaWdodCBvZiAxMDAsIGJ1dCB3YXMgIiArIGhlaWdodCk7
DQorICAgICAgICB9DQorICAgICAgICBpZiAoZXJyb3IgPT0gIiIpIHsNCisgICAgICAgICAgICBl
bGVtZW50LnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICJncmVlbiI7DQorICAgICAgICAgICAgZWxl
bWVudC5pbm5lckhUTUwgKz0gIiA9PiBQQVNTIjsNCisgICAgICAgIH0gZWxzZQ0KKyAgICAgICAg
ICAgIGVsZW1lbnQuaW5uZXJIVE1MICs9ICIgPT4gRkFJTDogIiArIGVycm9yLmpvaW4oIjsgIik7
DQorICAgIH0NCisgICAgZG9jdW1lbnQuYm9keS5zdHlsZS56b29tID0gMTsNCit9DQorPC9zY3Jp
cHQ+DQorPC9oZWFkPg0KKw0KKzxib2R5IG9ubG9hZD0idGVzdChbMSwgMl0pOyI+DQorDQorPHA+
DQorICBBbGwgYm94ZXMgYmVsb3cgc2hvdWxkIGJlIDEwMHB4ICogMTAwcHggYW5kIGdyZWVuLg0K
KzwvcD4NCisNCis8ZGl2IGlkPSJ0ZXN0Ij4NCis8ZGl2IHN0eWxlPSJ3aWR0aDoxMDBweDsgaGVp
Z2h0OjEwMHB4OyI+Y29udHJvbDwvZGl2Pg0KKzxkaXYgY2xhc3M9IndpZHRoLXRlc3QiIHN0eWxl
PSJ3aWR0aDogLXdlYmtpdC1jYWxjKDUwcHggKyA1MHB4KTsiPjUwcHggKyA1MHB4PC9kaXY+DQor
PGRpdiBjbGFzcz0id2lkdGgtdGVzdCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMTUwcHgg
LSA1MHB4KTsiPjE1MHB4IC0gNTBweDwvZGl2Pg0KKzxkaXYgY2xhc3M9IndpZHRoLXRlc3QiIHN0
eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDUwcHggICsgIDUwcHgpOyI+NTBweCAgKyAgNTBweCAo
MiBzcGFjZXMgYXJvdW5kIG9wZXJhdG9yKTwvZGl2Pg0KKzxkaXYgY2xhc3M9IndpZHRoLXRlc3Qi
IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDE1MHB4ICAtICA1MHB4KTsiPjE1MHB4ICAtIDUw
cHggKDIgc3BhY2VzIGFyb3VuZCBvcGVyYXRvcik8L2Rpdj4NCis8ZGl2IGNsYXNzPSJ3aWR0aC10
ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYyg1MHB4KjIpOyI+NTBweCoyPC9kaXY+DQor
PGRpdiBjbGFzcz0id2lkdGgtdGVzdCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoNTBweCAq
Mik7Ij41MHB4ICoyPC9kaXY+DQorPGRpdiBjbGFzcz0id2lkdGgtdGVzdCIgc3R5bGU9IndpZHRo
OiAtd2Via2l0LWNhbGMoNTBweCogMik7Ij41MHB4KiAyPC9kaXY+DQorPGRpdiBjbGFzcz0id2lk
dGgtdGVzdCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMjAwcHgvMik7Ij4yMDBweC8yPC9k
aXY+DQorPGRpdiBjbGFzcz0id2lkdGgtdGVzdCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMo
MjAwcHggLzIpOyI+MjAwcHggLzI8L2Rpdj4NCis8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHls
ZT0id2lkdGg6IC13ZWJraXQtY2FsYygyMDBweC8gMik7Ij4yMDBweC8gMjwvZGl2Pg0KKzxkaXYg
Y2xhc3M9IndpZHRoLXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDUwcHgqKDEgKyAx
KSk7Ij41MHB4KigxICsgMSk8L2Rpdj4NCis8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0i
d2lkdGg6IC13ZWJraXQtY2FsYyg1MHB4KigxMiAtIDEwKSk7Ij41MHB4KigxMiAtIDEwKTwvZGl2
Pg0KKzxkaXYgY2xhc3M9IndpZHRoLXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDUw
cHgqKDEwIC8gNSkpOyI+NTBweCooMTAgLyA1KTwvZGl2Pg0KKzxkaXYgY2xhc3M9IndpZHRoLXRl
c3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDEwcHgqICg1ICogMikpOyI+MTBweCogKDUg
KiAyKTwvZGl2Pg0KKzxkaXYgY2xhc3M9IndpZHRoLXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtp
dC1jYWxjKDUwcHgqICgxMiBtb2QgMTApKTsiPjUwcHgqICgxMiBtb2QgMTApPC9kaXY+DQorPGRp
diBjbGFzcz0id2lkdGgtdGVzdCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoNTBweCArIDEw
cHggKiA1KTsiPjUwcHggKyAxMHB4ICogNSAob3BlcmF0aW9uIG9yZGVyKTwvZGl2Pg0KKzxkaXYg
Y2xhc3M9IndpZHRoLXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDExMDBweCBtb2Qg
MTAwMCk7Ij4xMTAwcHggbW9kIDEwMDA8L2Rpdj4NCis8ZGl2IHN0eWxlPSJ3aWR0aDogMjAwcHg7
IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyIgY2xhc3M9IndyYXBwZXIiPg0KKyAgICA8ZGl2IGNs
YXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygxMDAlLzIpOyI+MTAw
JS8yICh3aGVyZSAxMDAlIGlzIDIwMHB4KTwvZGl2Pg0KKzwvZGl2Pg0KKzxkaXYgc3R5bGU9Indp
ZHRoOiAyMDBweDsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IiBjbGFzcz0id3JhcHBlciI+DQor
ICAgIDxkaXYgY2xhc3M9IndpZHRoLXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDEw
MCUgKyAtMTAwcHgpOyI+MTAwJSArIC0xMDBweCAod2hlcmUgMTAwJSBpcyAyMDBweCk8L2Rpdj4N
Cis8L2Rpdj4NCis8ZGl2IHN0eWxlPSJ3aWR0aDogMjAwcHg7IGJhY2tncm91bmQtY29sb3I6IHdo
aXRlOyIgY2xhc3M9IndyYXBwZXIiPg0KKyAgICA8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHls
ZT0id2lkdGg6IC13ZWJraXQtY2FsYyg4MCUgLSA2MHB4KTsiPjgwJSAtIDYwcHggKHdoZXJlIDEw
MCUgaXMgMjAwcHgpPC9kaXY+DQorPC9kaXY+DQorPGRpdiBzdHlsZT0id2lkdGg6IDIwMHB4OyBi
YWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsiIGNsYXNzPSJ3cmFwcGVyIj4NCisgICAgPGRpdiBjbGFz
cz0id2lkdGgtdGVzdCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMzAwcHggLSAxMDAlKTsi
PjMwMHB4IC0gMTAwJSAod2hlcmUgMTAwJSBpcyAyMDBweCk8L2Rpdj4NCis8L2Rpdj4NCis8ZGl2
IHN0eWxlPSJ3aWR0aDogMjAwcHg7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyIgY2xhc3M9Indy
YXBwZXIiPg0KKyAgICA8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJr
aXQtY2FsYygtMTAwcHggKyAxMDAlKTsiPi0xMDBweCArIDEwMCUgKHdoZXJlIDEwMCUgaXMgMjAw
cHgpPC9kaXY+DQorPC9kaXY+DQorPGRpdiBzdHlsZT0id2lkdGg6IDIwMHB4OyBiYWNrZ3JvdW5k
LWNvbG9yOiB3aGl0ZTsiIGNsYXNzPSJ3cmFwcGVyIj4NCisgICAgPGRpdiBjbGFzcz0id2lkdGgt
dGVzdCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMjAlICsgMzAlKTsiPjIwJSArIDMwJSAo
d2hlcmUgMTAwJSBpcyAyMDBweCk8L2Rpdj4NCis8L2Rpdj4NCis8ZGl2IHN0eWxlPSJ3aWR0aDog
MjAwcHg7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyIgY2xhc3M9IndyYXBwZXIiPg0KKyAgICA8
ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYyg4MCUgLSAz
MCUpOyI+ODAlIC0gMzAlICh3aGVyZSAxMDAlIGlzIDIwMHB4KTwvZGl2Pg0KKzwvZGl2Pg0KKzxk
aXYgc3R5bGU9IndpZHRoOiAyMDBweDsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IiBjbGFzcz0i
d3JhcHBlciI+DQorICAgIDxkaXYgY2xhc3M9IndpZHRoLXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdl
YmtpdC1jYWxjKDEwJSAqIDUpOyI+MTAlICogNSAod2hlcmUgMTAwJSBpcyAyMDBweCk8L2Rpdj4N
Cis8L2Rpdj4NCis8ZGl2IHN0eWxlPSJ3aWR0aDogMjAwcHg7IGJhY2tncm91bmQtY29sb3I6IHdo
aXRlOyIgY2xhc3M9IndyYXBwZXIiPg0KKyAgICA8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHls
ZT0id2lkdGg6IC13ZWJraXQtY2FsYyg1ICogMTAlKTsiPjUgKiAxMCUgKHdoZXJlIDEwMCUgaXMg
MjAwcHgpPC9kaXY+DQorPC9kaXY+DQorPCEtLQ0KKyBGSVhNRTogd2hhdCBkbyB3ZSBkbyB3aXRo
IG1vZCBvZiBwZXJjZW50Pw0KKzxkaXYgc3R5bGU9IndpZHRoOiAyMDBweDsgYmFja2dyb3VuZC1j
b2xvcjogd2hpdGU7IiBjbGFzcz0id3JhcHBlciI+DQorICAgIDxkaXYgY2xhc3M9IndpZHRoLXRl
c3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDc1JSBtb2QgMTAwKTsiPjE1MCUgbW9kIDEw
MCAod2hlcmUgMTAwJSBpcyAyMDBweCk8L2Rpdj4NCis8L2Rpdj4NCistLT4NCis8ZGl2IGNsYXNz
PSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygoMTAwcHgpKTsiPigxMDBw
eCk8L2Rpdj4NCis8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQt
Y2FsYygoNTBweCArIDUwcHgpKTsiPig1MHB4ICsgNTBweCk8L2Rpdj4NCis8ZGl2IGNsYXNzPSJ3
aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygoNTBweCkgKyA1MHB4KTsiPig1
MHB4KSArIDUwcHg8L2Rpdj4NCis8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6
IC13ZWJraXQtY2FsYyg1MHB4ICsgKDUwcHgpKTsiPjUwcHggKyAoNTBweCk8L2Rpdj4NCis8ZGl2
IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYyggNTBweCArICA1
MHB4ICk7Ij4gNTBweCArICA1MHB4IDwvZGl2Pg0KKzxkaXYgY2xhc3M9IndpZHRoLXRlc3QiIHN0
eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKCA1MHB4ICsgMjVweCAqIDIgKTsiPiA1MHB4ICsgMjVw
eCAqIDIgPC9kaXY+DQorPGRpdiBjbGFzcz0id2lkdGgtdGVzdCIgc3R5bGU9IndpZHRoOiAtd2Vi
a2l0LWNhbGMoICgyNXB4ICsgMjVweCkgKiAyICk7Ij4gKDI1cHggKyAyNXB4KSAqIDIgPC9kaXY+
DQorPGRpdiBjbGFzcz0id2lkdGgtdGVzdCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMiAq
IDUwcHgpOyI+MiAqIDUwcHg8L2Rpdj4NCis8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0i
d2lkdGg6IC13ZWJraXQtY2FsYygyICogMTAwcHggLyAyKTsiPjIgKiAxMDBweCAvIDI8L2Rpdj4N
Cis8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygxMiBt
b2QgMTAgKiA1MHB4KTsiPjEyIG1vZCAxMCAqIDUwcHg8L2Rpdj4NCis8ZGl2IGNsYXNzPSJ3aWR0
aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygoMWVtIC0gMWVtKSArIDEwMHB4KTsi
PigxZW0gLSAxZW0pICsgMTAwcHg8L2Rpdj4NCis8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHls
ZT0id2lkdGg6IC13ZWJraXQtY2FsYyg1MHB4ICsgICs1MHB4KTsiPjUwcHggKyAgKzUwcHg8L2Rp
dj4NCis8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygt
NTBweCArIDE1MHB4KTsiPi01MHB4ICsgMTUwcHg8L2Rpdj4NCis8ZGl2IGNsYXNzPSJ3aWR0aC10
ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygtNTBweCAtIC0xNTBweCk7Ij4tNTBweCAt
IC0xNTBweDwvZGl2Pg0KKzxkaXYgY2xhc3M9IndpZHRoLXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdl
YmtpdC1jYWxjKCgoKCgoKCgxMDBweCkpKSkpKSkpOyI+KCgoKCgoKDEwMHB4KSkpKSkpKTwvZGl2
Pg0KKzxkaXYgY2xhc3M9ImhlaWdodC10ZXN0IiBzdHlsZT0iaGVpZ2h0OiAtd2Via2l0LWNhbGMo
MTAwcHgpOyI+MTAwcHg8L2Rpdj4NCis8ZGl2IHN0eWxlPSJoZWlnaHQ6IDUwcHg7IGJhY2tncm91
bmQtY29sb3I6IHdoaXRlOyIgY2xhc3M9IndyYXBwZXIiPg0KKyAgPGRpdiBjbGFzcz0iaGVpZ2h0
LXRlc3QiIHN0eWxlPSJoZWlnaHQ6IC13ZWJraXQtY2FsYygxMDAlICogMik7Ij4xMDAlICogMjwv
ZGl2Pg0KKzwvZGl2Pg0KKzwvZGl2Pg0KKw0KKzwvYm9keT4NCisNCis8L2h0bWw+DQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3NpbXBsZS1taW5tYXgtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvY3NzMy9jYWxjL3NpbXBsZS1taW5tYXgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjA2ZjU1M2MwNTkyMGRhZDY2MDQzZTJjY2FhYzRjNDYzZjkzNTkyYmQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc2ltcGxlLW1pbm1heC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxOCBAQAorQWxsIGJveGVzIGJlbG93IHNob3VsZCBiZSAxMDBweCAqIDEwMHB4
IGFuZCBncmVlbi4KKworbWluKDEwMHB4KSA9PiBQQVNTCittaW4oIDEwMHB4ICkgPT4gUEFTUwor
bWluKCgoKDEwMHB4KSkpKSA9PiBQQVNTCittaW4oMTUwcHgsMTAwcHgpID0+IFBBU1MKK21pbigx
NTBweCwxMDBweCwyMDBweCkgPT4gUEFTUworbWluKCAxNTBweCAsMTAwcHggLDIwMHB4KSA9PiBQ
QVNTCittaW4oOTBweCArIDUwcHgsMTAwcHgpID0+IFBBU1MKK21pbigxMDAlLDEwMHB4KSAtIHdo
ZXJlIDEwMCUgaXMgMjAwcHggPT4gUEFTUworbWluKDEwMHB4LDEwMCUpIC0gd2hlcmUgMTAwJSBp
cyAyMDBweCA9PiBQQVNTCittYXgoMTAwcHgpID0+IFBBU1MKK21heCg1MHB4LDEwMHB4KSA9PiBQ
QVNTCittYXgoNTBweCwxMDBweCwyMHB4KSA9PiBQQVNTCittYXgoMTIwcHggLSA1MHB4LDEwMHB4
KSA9PiBQQVNTCittYXgoMTAwJSwxMDBweCkgLSB3aGVyZSAxMDAlIGlzIDUwcHggPT4gUEFTUwor
bWF4KDEwMHB4LDEwMCUpIC0gd2hlcmUgMTAwJSBpcyA1MHB4ID0+IFBBU1MKK21pbigyMDBweCwx
MDBweCkgPT4gUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3NpbXBsZS1t
aW5tYXguaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9zaW1wbGUtbWlubWF4Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNWE4YmU1ZDZlYmZhYTU4Mjc4NTdkZjU2OThlYjRiMmNhZmQyNDc4NAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9zaW1wbGUtbWlubWF4Lmh0bWwKQEAg
LTAsMCArMSw4OSBAQAorPGh0bWw+DQorPGhlYWQ+DQorDQorPHN0eWxlPg0KKy53aWR0aC10ZXN0
IHsNCisgICAgaGVpZ2h0OiAxMDBweDsNCisgICAgd2lkdGg6IDI1NnB4Ow0KKyAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiByZWQ7DQorfQ0KKw0KKy5oZWlnaHQtdGVzdCB7DQorICAgIHdpZHRoOiAxMDBw
eDsNCisgICAgaGVpZ2h0OiA1MHB4Ow0KKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7DQorfQ0K
Kzwvc3R5bGU+DQorDQorPHNjcmlwdD4NCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQ0KKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7DQorDQorZnVuY3Rpb24g
dGVzdCgpDQorew0KKyAgICB2YXIgdGVzdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0
Iik7DQorICAgIGZvciAodmFyIGNoaWxkID0gdGVzdC5maXJzdENoaWxkOyBjaGlsZDsgY2hpbGQg
PSBjaGlsZC5uZXh0U2libGluZykgew0KKyAgICAgICAgdmFyIGVsZW1lbnQgPSBjaGlsZDsNCisg
ICAgICAgIGlmIChlbGVtZW50LmNsYXNzTmFtZSA9PSAid3JhcHBlciIpIHsNCisgICAgICAgICAg
ICBlbGVtZW50ID0gZWxlbWVudC5maXJzdENoaWxkOw0KKyAgICAgICAgICAgIHdoaWxlIChlbGVt
ZW50LnRhZ05hbWUgIT0gIkRJViIpIGVsZW1lbnQgPSBlbGVtZW50Lm5leHRTaWJsaW5nOw0KKyAg
ICAgICAgfQ0KKw0KKyAgICAgICAgdmFyIHdpZHRoID0gZWxlbWVudC5vZmZzZXRXaWR0aDsNCisg
ICAgICAgIHZhciBlcnJvciA9IFtdOw0KKyAgICAgICAgaWYgKHdpZHRoICE9IDEwMCkNCisgICAg
ICAgICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgIiArIHdp
ZHRoKTsNCisgICAgICAgIHZhciBoZWlnaHQgPSBlbGVtZW50Lm9mZnNldEhlaWdodDsNCisgICAg
ICAgIGlmIChoZWlnaHQgIT0gMTAwKQ0KKyAgICAgICAgICAgIGVycm9yLnB1c2goImV4cGVjdGVk
IGhlaWdodCBvZiAxMDAsIGJ1dCB3YXMgIiArIGhlaWdodCk7DQorDQorICAgICAgICBpZiAoZXJy
b3IgPT0gIiIpIHsNCisgICAgICAgICAgICBlbGVtZW50LnN0eWxlLmJhY2tncm91bmRDb2xvciA9
ICJncmVlbiI7DQorICAgICAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgKz0gIiA9PiBQQVNTIjsN
CisgICAgICAgIH0gZWxzZQ0KKyAgICAgICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MICs9ICIgPT4g
RkFJTDogIiArIGVycm9yLmpvaW4oIiwgIik7DQorICAgIH0NCit9DQorPC9zY3JpcHQ+DQorPC9o
ZWFkPg0KKw0KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4NCisNCis8cD4NCisgIEFsbCBib3hlcyBi
ZWxvdyBzaG91bGQgYmUgMTAwcHggKiAxMDBweCBhbmQgZ3JlZW4uDQorPC9wPg0KKw0KKzxkaXYg
aWQ9InRlc3QiPg0KKw0KKzxkaXYgY2xhc3M9IndpZHRoLXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdl
YmtpdC1taW4oMTAwcHgpOyI+bWluKDEwMHB4KTwvZGl2Pg0KKzxkaXYgY2xhc3M9IndpZHRoLXRl
c3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1taW4oIDEwMHB4ICk7Ij5taW4oIDEwMHB4ICk8L2Rp
dj4NCis8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtbWluKCgo
KDEwMHB4KSkpKTsiPm1pbigoKCgxMDBweCkpKSk8L2Rpdj4NCis8ZGl2IGNsYXNzPSJ3aWR0aC10
ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtbWluKDE1MHB4LDEwMHB4KTsiPm1pbigxNTBweCwx
MDBweCk8L2Rpdj4NCis8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJr
aXQtbWluKDE1MHB4LDEwMHB4LDIwMHB4KTsiPm1pbigxNTBweCwxMDBweCwyMDBweCk8L2Rpdj4N
Cis8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtbWluKCAgMTUw
cHggLDEwMHB4ICAsMjAwcHgpOyI+bWluKCAgMTUwcHggICwxMDBweCAgLDIwMHB4KTwvZGl2Pg0K
KzxkaXYgY2xhc3M9IndpZHRoLXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1taW4oOTBweCAr
IDUwcHgsMTAwcHgpOyI+bWluKDkwcHggKyA1MHB4LDEwMHB4KTwvZGl2Pg0KKzxkaXYgc3R5bGU9
IndpZHRoOiAyMDBweDsgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IiBjbGFzcz0id3JhcHBlciI+
DQorICA8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtbWluKDEw
MCUsMTAwcHgpOyI+bWluKDEwMCUsMTAwcHgpIC0gd2hlcmUgMTAwJSBpcyAyMDBweDwvZGl2Pg0K
KzwvZGl2Pg0KKzxkaXYgc3R5bGU9IndpZHRoOiAyMDBweDsgYmFja2dyb3VuZC1jb2xvcjogd2hp
dGU7IiBjbGFzcz0id3JhcHBlciI+DQorICA8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0i
d2lkdGg6IC13ZWJraXQtbWluKDEwMHB4LDEwMCUpOyI+bWluKDEwMHB4LDEwMCUpIC0gd2hlcmUg
MTAwJSBpcyAyMDBweDwvZGl2Pg0KKzwvZGl2Pg0KKw0KKzxkaXYgY2xhc3M9IndpZHRoLXRlc3Qi
IHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1tYXgoMTAwcHgpOyI+bWF4KDEwMHB4KTwvZGl2Pg0KKzxk
aXYgY2xhc3M9IndpZHRoLXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1tYXgoNTBweCwxMDBw
eCk7Ij5tYXgoNTBweCwxMDBweCk8L2Rpdj4NCis8ZGl2IGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHls
ZT0id2lkdGg6IC13ZWJraXQtbWF4KDUwcHgsMTAwcHgsMjBweCk7Ij5tYXgoNTBweCwxMDBweCwy
MHB4KTwvZGl2Pg0KKzxkaXYgY2xhc3M9IndpZHRoLXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtp
dC1tYXgoMTIwcHggLSA1MHB4LDEwMHB4KTsiPm1heCgxMjBweCAtIDUwcHgsMTAwcHgpPC9kaXY+
DQorPGRpdiBzdHlsZT0id2lkdGg6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyIgY2xh
c3M9IndyYXBwZXIiPg0KKyAgPGRpdiBjbGFzcz0id2lkdGgtdGVzdCIgc3R5bGU9IndpZHRoOiAt
d2Via2l0LW1heCgxMDAlLDEwMHB4KTsiPm1heCgxMDAlLDEwMHB4KSAtIHdoZXJlIDEwMCUgaXMg
NTBweDwvZGl2Pg0KKzwvZGl2Pg0KKzxkaXYgc3R5bGU9IndpZHRoOiA1MHB4OyBiYWNrZ3JvdW5k
LWNvbG9yOiB3aGl0ZTsiIGNsYXNzPSJ3cmFwcGVyIj4NCisgIDxkaXYgY2xhc3M9IndpZHRoLXRl
c3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1tYXgoMTAwcHgsMTAwJSk7Ij5tYXgoMTAwcHgsMTAw
JSkgLSB3aGVyZSAxMDAlIGlzIDUwcHg8L2Rpdj4NCis8L2Rpdj4NCisNCis8ZGl2IGNsYXNzPSJo
ZWlnaHQtdGVzdCIgc3R5bGU9ImhlaWdodDogLXdlYmtpdC1taW4oMjAwcHgsIDEwMHB4KTsiPm1p
bigyMDBweCwxMDBweCk8L2Rpdj4NCisNCis8L2Rpdj4NCisNCis8L2JvZHk+DQorDQorPC9odG1s
Pg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJsZS1jYWxjcy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtY2FsY3MtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQ1ZmY1ZjljNmQxMTkzNDIzZjk1YzQzNGI5OTMyZjYwMGQ5N2ZhZWUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtY2FsY3MtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNiBAQAorQWxsIHRhYmxlIGNlbGxzIGJlbG93IHNob3VsZCBiZSAxMDBw
eCAqIDEwMHB4IGFuZCBncmVlbi4KKworY29udHJvbCB3aWR0aDoxMDBweCA9PiBQQVNTCXNpbXBs
ZSAxMDBweCA9PiBQQVNTCTI1cHggKiA0ID0+IFBBU1MKK2NvbnRyb2wgaGVpZ2h0OjEwMHB4ID0+
IFBBU1MJc2ltcGxlIDEwMHB4ID0+IFBBU1MJMjVweCAqIDQgPT4gUEFTUworY29udHJvbCAyNSUg
PT4gUEFTUwlzaW1wbGUgMjUlID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdh
cyAxMzQJMTAlICogMiArIDUlID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdh
cyA2MAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtY2FsY3MuaHRt
bCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJsZS1jYWxjcy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRl
ODNhYWUzODc5MDkzNTMxZmFjZTU0NzcxODMzMTVkMmZhOTA5NGYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtY2FsY3MuaHRtbApAQCAtMCwwICsxLDgzIEBA
Cis8aHRtbD4KKzxoZWFkPgorCis8c3R5bGU+Cisud2lkdGgtdGVzdCB7CisgICAgcGFkZGluZzog
MDsKKyAgICB3aWR0aDogMjU2cHg7IAorICAgIGhlaWdodDogMTAwcHg7CisgICAgYmFja2dyb3Vu
ZC1jb2xvcjogcmVkOworfQorCisuaGVpZ2h0LXRlc3QgeworICAgIHBhZGRpbmc6IDA7CisgICAg
d2lkdGg6IDEwMHB4OworICAgIGhlaWdodDogMjU2cHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjog
cmVkOworfQorCis8L3N0eWxlPgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK2Z1bmN0
aW9uIHRlc3QoKQoreworICAgIHZhciBjZWxscyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
ZXN0IikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRkIik7CisgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBjZWxscy5sZW5ndGg7ICsraSkgeworICAgICAgICB2YXIgY2VsbCA9IGNlbGxzW2ldOworICAg
ICAgICB2YXIgd2lkdGggPSBjZWxsLm9mZnNldFdpZHRoOworICAgICAgICB2YXIgaGVpZ2h0ID0g
Y2VsbC5vZmZzZXRIZWlnaHQ7CisKKyAgICAgICAgdmFyIGVycm9yID0gW107CisgICAgICAgIGlm
ICh3aWR0aCAhPSAxMDApCisgICAgICAgICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgIiArIHdpZHRoKTsKKyAgICAgICAgaWYgKGhlaWdodCAhPSAxMDApCisg
ICAgICAgICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCBoZWlnaHQgb2YgMTAwLCBidXQgd2FzICIg
KyBoZWlnaHQpOworCisgICAgICAgIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cmVzdWx0cyIpOworICAgICAgICBpZiAoZXJyb3IgPT0gIiIpIHsKKyAgICAgICAgICAgIGNlbGwu
c3R5bGUuYmFja2dyb3VuZENvbG9yID0gImdyZWVuIjsKKyAgICAgICAgICAgIGNlbGwuaW5uZXJI
VE1MICs9ICIgPT4gUEFTUyI7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgY2VsbC5pbm5l
ckhUTUwgKz0gIiA9PiBGQUlMOiAiICsgZXJyb3Iuam9pbigiLCAiKTsKKyAgICB9Cit9Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorCis8cD4KKyAgQWxsIHRh
YmxlIGNlbGxzIGJlbG93IHNob3VsZCBiZSAxMDBweCAqIDEwMHB4IGFuZCBncmVlbi4KKzwvcD4K
KworPGRpdiBpZD0idGVzdCI+CisgICAgPHRhYmxlPgorICAgICAgPHRyPgorICAgICAgICAgIDx0
ZCBjbGFzcz0id2lkdGgtdGVzdCIgc3R5bGU9IndpZHRoOiAxMDBweDsiPmNvbnRyb2wgd2lkdGg6
MTAwcHg8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0id2lkdGgtdGVzdCIgc3R5bGU9IndpZHRo
OiAtd2Via2l0LWNhbGMoMTAwcHgpOyAtbW96LWNhbGM6KDEwMHB4KSI+c2ltcGxlIDEwMHB4PC90
ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9IndpZHRoLXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtp
dC1jYWxjKDI1cHggKiA0KTsgLW1vei1jYWxjOigyNXB4ICogNCkiPjI1cHggKiA0PC90ZD4KKyAg
ICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgICA8dGFibGU+CisgICAgICA8dHI+CisgICAgICAg
ICAgPHRkIGNsYXNzPSJoZWlnaHQtdGVzdCIgc3R5bGU9ImhlaWdodDogMTAwcHg7Ij5jb250cm9s
IGhlaWdodDoxMDBweDwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJoZWlnaHQtdGVzdCIgc3R5
bGU9ImhlaWdodDogLXdlYmtpdC1jYWxjKDEwMHB4KTsgLW1vei1jYWxjOigxMDBweCkiPnNpbXBs
ZSAxMDBweDwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJoZWlnaHQtdGVzdCIgc3R5bGU9Imhl
aWdodDogLXdlYmtpdC1jYWxjKDI1cHggKiA0KTsgLW1vei1jYWxjOigyNXB4ICogNCkiPjI1cHgg
KiA0PC90ZD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgICA8dGFibGUgc3R5bGU9Indp
ZHRoOjQwOHB4OyBib3JkZXItc3BhY2luZzogMnB4IDJweCI+CisgICAgICA8dHI+CisgICAgICAg
ICAgPHRkIGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IDI1JTsiPmNvbnRyb2wgMjUl
PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9IndpZHRoLXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdl
YmtpdC1jYWxjKDI1JSk7Ij5zaW1wbGUgMjUlPC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9Indp
ZHRoLXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDEwJSAqIDIgKyA1JSk7Ij4xMCUg
KiAyICsgNSU8L3RkPgorICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgorPC9kaXY+CisKKzxkaXYg
aWQ9InJlc3VsdHMiPjwvZGl2PgorPC9ib2R5PgorCis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTVk
M2UxMTg0ODdlYTAzODg3ZjRlMjQzZjVhNmZkNTNjNTgwZTQyNS4uMTQ2NDRmYzllOTUzNjE5OTgx
ZGY1YTEzODU4M2M1YTkwNzg3M2NiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzNSBAQAorMjAx
MS0wMy0xNyAgTWlrZSBMYXd0aGVyICA8bWlrZWxhd3RoZXJAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENTUzM6IEltcGxlbWVu
dCBjYWxjKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2NjYyCisKKyAgICAgICAgVGVzdHM6IGNzczMvY2FsYy9ib3JkZXItc3BhY2luZy5odG1sCisg
ICAgICAgICAgICAgICBjc3MzL2NhbGMvYm9yZGVyLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMv
Y2FsYy9jYWxjLWVycm9ycy5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvbWFyZ2luLmh0
bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9taW5tYXgtZXJyb3JzLmh0bWwKKyAgICAgICAg
ICAgICAgIGNzczMvY2FsYy9wYWRkaW5nLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9z
aW1wbGUtY2FsY3MuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9jYWxjL3NpbXBsZS1taW5tYXgu
aHRtbAorICAgICAgICAgICAgICAgY3NzMy9jYWxjL3RhYmxlLWNhbGNzLmh0bWwKKworICAgICAg
ICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBX
ZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogY3NzL0NTU0NhbGNWYWx1ZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZTo6dW5pdENhdGVnb3J5KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1
ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6aXNa
ZXJvKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6Y3NzVGV4dCk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjUHJpbWl0aXZlVmFsdWU6OnRvQ2FsY1ZhbHVlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6Q1NTQ2FsY1ByaW1pdGl2
ZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZTo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZTo6
aXNaZXJvKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZTo6
Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWU6
OnRvQ2FsY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVyYXRpb25W
YWx1ZTo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0NhbGNNaW5NYXhWYWx1ZUxpc3Q6OkNTU0NhbGNNaW5NYXhWYWx1ZUxpc3QpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTQ2FsY01pbk1heFZhbHVlTGlzdDo6aXNaZXJvKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0NhbGNNaW5NYXhWYWx1ZUxpc3Q6OmNzc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTQ2FsY01pbk1heFZhbHVlTGlzdDo6YXBwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nh
bGNNaW5NYXhWYWx1ZUxpc3Q6OnRvQ2FsY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nh
bGNWYWx1ZVBhcnNlcjo6cGFyc2VDYWxjKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1
ZVBhcnNlcjo6cGFyc2VNaW5NYXhMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1
ZVBhcnNlcjo6b3BlcmF0b3JWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWVQ
YXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlUGFyc2Vy
OjpwYXJzZVZhbHVlVGVybSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWVQYXJzZXI6
OnBhcnNlVmFsdWVNdWx0aXBsaWNhdGl2ZUV4cHJlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTQ2FsY1ZhbHVlUGFyc2VyOjpwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZVBhcnNlcjo6cGFyc2VWYWx1ZUxpc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlUGFyc2VyOjpwYXJzZVZhbHVlRXhwcmVzc2lvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWU6OmNyZWF0ZUZyb21QYXJzZXJWYWx1ZUxpc3Qp
OgorICAgICAgICAqIGNzcy9DU1NDYWxjVmFsdWUuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpDU1NDYWxjVmFsdWU6OkNTU0NhbGNWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxj
VmFsdWU6OmlzQ2FsY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZTo6Y2F0
ZWdvcnkpOgorICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnk6CisgICAgICAgICogY3NzL0NTU1Bh
cnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0NhbGMpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUGFyc2VyOjp2YWxpZFVuaXQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJz
ZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VDYWxjKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bGV4KToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6
CisgICAgICAgICogY3NzL0NTU1BhcnNlclZhbHVlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXJWYWx1ZUxpc3Q6Omluc2VydFZhbHVlQXQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyVmFsdWVMaXN0OjphcHBlbmQpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXJWYWx1ZXMu
aDoKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OnByaW1pdGl2ZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1ByaW1pdGl2ZVZhbHVlOjppbml0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2
ZVZhbHVlOjpjbGVhbnVwKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpj
b21wdXRlTGVuZ3RoRG91YmxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVl
OjpnZXREb3VibGVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6
Y3NzVGV4dCk6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Z2V0Q2FsY1ZhbHVlKToKKyAgICAgICAgKiBjc3Mv
Q1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9y
Ojpjb252ZXJ0VG9JbnRMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rv
cjo6Y29udmVydFRvRmxvYXRMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxl
Y3Rvcjo6YXBwbHlQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9y
OjpwYWdlU2l6ZUZyb21OYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6
Om1tTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmluY2hMZW5n
dGgpOgorICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmg6CisgICAgICAgICogY3NzL0NT
U1ZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXNDYWxjVmFsdWUpOgorICAg
ICAgICAqIGNzcy90b2tlbml6ZXIuZmxleDoKKyAgICAgICAgKiBwbGF0Zm9ybS9DYWxjVmFsdWUu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZTo6
Q2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbGNCaW5hcnlP
cGVyYXRpb25WYWx1ZTo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsY01pbk1heFZh
bHVlTGlzdDo6Q2FsY01pbk1heFZhbHVlTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpDYWxjTWlu
TWF4VmFsdWVMaXN0OjphcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsY01pbk1heFZhbHVl
TGlzdDo6ZXZhbHVhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL0NhbGNWYWx1ZS5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkNhbGNWYWx1ZTo6fkNhbGNWYWx1ZSk6CisgICAgICAgIChXZWJD
b3JlOjpDYWxjTnVtYmVyVmFsdWU6OkNhbGNOdW1iZXJWYWx1ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpDYWxjTnVtYmVyVmFsdWU6OmV2YWx1YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbGNMZW5n
dGhWYWx1ZTo6Q2FsY0xlbmd0aFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbGNMZW5ndGhW
YWx1ZTo6ZXZhbHVhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL0xlbmd0aC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDYWxjdWxhdGVkTGVuZ3RoOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FsY3VsYXRlZExlbmd0aDo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsY3VsYXRl
ZExlbmd0aDo6Q2FsY3VsYXRlZExlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpjYWxjdWxhdGVk
TGVuZ3RoTWFwKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6TGVuZ3RoKToKKyAgICAgICAg
KFdlYkNvcmU6Okxlbmd0aDo6Y2FsY3VsYXRlZElzWmVybyk6CisgICAgICAgIChXZWJDb3JlOjpM
ZW5ndGg6OmNhbGN1bGF0ZWRJc1Bvc2l0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6
Y2FsY3VsYXRlZElzTmVnYXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjdWxh
dGVkQ2FsY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6Y2FsY3VsYXRlZENhbGNN
aW5WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGN1bGF0ZWRDYWxjRmxvYXRW
YWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmluY3JlbWVudENhbGN1bGF0ZWRSZWYp
OgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpkZWNyZW1lbnRDYWxjdWxhdGVkUmVmKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9MZW5ndGguaDoKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6TGVu
Z3RoKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6b3BlcmF0b3I9KToKKyAgICAgICAgKFdl
YkNvcmU6Okxlbmd0aDo6fkxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OnZhbHVl
KToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6cmF3VmFsdWUpOgorICAgICAgICAoV2ViQ29y
ZTo6TGVuZ3RoOjpzZXRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGNWYWx1
ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGNNaW5WYWx1ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpMZW5ndGg6OmNhbGNGbG9hdFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0
aDo6aXNaZXJvKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6aXNQb3NpdGl2ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpMZW5ndGg6OmlzTmVnYXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6TGVu
Z3RoOjppc1BlcmNlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjppc0NhbGN1bGF0ZWQp
OgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjppbml0RnJvbUxlbmd0aCk6CisgICAgICAgIChX
ZWJDb3JlOjpMZW5ndGg6OmNhbGN1bGF0ZWRMZW5ndGhJZCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjppc0xvZ2lj
YWxXaWR0aFNwZWNpZmllZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6aXNMb2dp
Y2FsSGVpZ2h0U3BlY2lmaWVkKToKKwogMjAxMS0wMy0xNiAgRGF2aWQgTGV2aW4gIDxsZXZpbkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRG1pdHJ5IFRpdG92LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQppbmRleCBiYTAzYTUwYmVkYjgzYTJiZjY1MTMyNzRkZDY5NzM4NDJiMmZhYThm
Li4wNmQ0YTc0ODBlODUzMGU3NGE0YzRkZTgzNGE4Y2U0MzhiMGU4NWFhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5hbQpAQCAtOTc3LDYgKzk3Nyw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNl
L1dlYkNvcmUvY3NzL0NvdW50ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlcklt
YWdlVmFsdWUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5o
IFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmNwcCBcCisJU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NhbGNWYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFs
dWUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFsdWUuaCBcCiAJU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmNwcCBcCkBAIC0yMzM4LDYgKzIzNDAsOCBAQCB3
ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5
c3RlbS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9BdXRvZHJhaW5lZFBvb2wuaCBcCisJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcCBcCQorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0NhbGNWYWx1ZS5oIFwJCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGVudFR5cGUuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZW50VHlwZS5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBkOWQ4YjVh
YTMyNzY4ZTM3YTNlNzA1MTE5MTdlM2FhMDEyZGVhNWIzLi44YzNkODcyMGRkMmE3YTZiYjE3YTE2
YTk2ZTU1M2Q3MzE4N2I2YmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xMjQyLDYgKzEyNDIsOCBA
QAogICAgICAgICAgICAgJ2Nzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmgnLAogICAgICAgICAgICAg
J2Nzcy9DU1NDYW52YXNWYWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NDYW52YXNWYWx1
ZS5oJywKKyAgICAgICAgICAgICdjc3MvQ1NTQ2FsY1ZhbHVlLmNwcCcsCisgICAgICAgICAgICAn
Y3NzL0NTU0NhbGNWYWx1ZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTQ2hhcnNldFJ1bGUuY3Bw
JywKICAgICAgICAgICAgICdjc3MvQ1NTQ2hhcnNldFJ1bGUuaCcsCiAgICAgICAgICAgICAnY3Nz
L0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAnLApAQCAtMjczMSw2ICsyNzMzLDggQEAK
ICAgICAgICAgICAgICdwbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaCcsCiAgICAgICAgICAgICAn
cGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgnLAogICAgICAgICAgICAgJ3BsYXRm
b3JtL0F1dG9kcmFpbmVkUG9vbC5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9DYWxjVmFsdWUu
Y3BwJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9DYWxjVmFsdWUuaCcsCiAgICAgICAgICAgICAn
cGxhdGZvcm0vQ29udGVudFR5cGUuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9Db250ZW50
VHlwZS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9Db250ZXh0TWVudS5jcHAnLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnBybwppbmRleCA1NGMwMDk5YTMwMWI1Nzg4MDEzMmVlMDAwMmE5MjQ4ZWEzZTViYWEzLi45ZWY2
NGJiNGQzZjkyYzk3MGExZjYwNTJjN2E4OTQ4NzY3Mjc0ODE2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwpAQCAt
Mzc4LDYgKzM3OCw3IEBAIHY4IHsKIAogU09VUkNFUyArPSBcCiAgICAgY3NzL0NTU0JvcmRlcklt
YWdlVmFsdWUuY3BwIFwKKyAgICBjc3MvQ1NTQ2FsY1ZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU0Nh
bnZhc1ZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU0NoYXJzZXRSdWxlLmNwcCBcCiAgICAgY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgXApAQCAtOTM2LDYgKzkzNyw3IEBAIFNPVVJD
RVMgKz0gXAogICAgIHBsYXRmb3JtL3RleHQvQmlkaUNvbnRleHQuY3BwIFwKICAgICBwbGF0Zm9y
bS90ZXh0L0h5cGhlbmF0aW9uLmNwcCBcCiAgICAgcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWROdW1i
ZXJOb25lLmNwcCBcCisgICAgcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcCBcCiAgICAgcGxhdGZvcm0v
Q29udGVudFR5cGUuY3BwIFwKICAgICBwbGF0Zm9ybS9Dcm9zc1RocmVhZENvcGllci5jcHAgXAog
ICAgIHBsYXRmb3JtL0RyYWdEYXRhLmNwcCBcCkBAIC0xMzM1LDYgKzEzMzcsNyBAQCB2OCB7CiAK
IEhFQURFUlMgKz0gXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmggXAorICAgIGNzcy9D
U1NDYWxjVmFsdWUuaCBcCiAgICAgY3NzL0NTU0NhbnZhc1ZhbHVlLmggXAogICAgIGNzcy9DU1ND
aGFyc2V0UnVsZS5oIFwKICAgICBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmggXApA
QCAtMTg1Niw2ICsxODU5LDcgQEAgSEVBREVSUyArPSBcCiAgICAgcGxhdGZvcm0vYW5pbWF0aW9u
L0FuaW1hdGlvbkxpc3QuaCBcCiAgICAgcGxhdGZvcm0vQXJlbmEuaCBcCiAgICAgcGxhdGZvcm0v
QXN5bmNGaWxlU3RyZWFtLmggXAorICAgIHBsYXRmb3JtL0NhbGNWYWx1ZS5oIFwKICAgICBwbGF0
Zm9ybS9Db250ZW50VHlwZS5oIFwKICAgICBwbGF0Zm9ybS9Db250ZXh0TWVudS5oIFwKICAgICBw
bGF0Zm9ybS9Dcm9zc1RocmVhZENvcGllci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjOWNmOWIzODJjMjRiYzJlZWViOTNi
NzQ2N2MyNGE0NzIxNDY1MzMwLi4xNThjOWM5N2U1ZWRjOWIyOTY5M2U5OGFlNzJmYTI2MWJhMGVj
NTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC0xMDMwLDYgKzEwMzAsMTAgQEAKIAkJNDkwNzA3RTYxMjE5QzA0MzAwRDkwRTUx
IC8qIEFOR0xFV2ViS2l0QnJpZGdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ5MDcwN0U0MTIxOUMwNDMwMEQ5MEU1MSAvKiBBTkdMRVdlYktpdEJy
aWRnZS5jcHAgKi87IH07CiAJCTQ5MDcwN0U3MTIxOUMwNDMwMEQ5MEU1MSAvKiBBTkdMRVdlYktp
dEJyaWRnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDkwNzA3RTUxMjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmggKi87IH07CiAJ
CTQ5Mjg2Mzk5MTI1M0I4RkMwMEY3OTJENiAvKiBSZXNvdXJjZUxvYWRJbmZvLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTI4NjM5ODEyNTNCOEZDMDBG
NzkyRDYgLyogUmVzb3VyY2VMb2FkSW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTQ5M0IyOTg3MTJGMjY0MUMwMDIwMzk1MSAvKiBDU1NDYWxj
VmFsdWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDkzQjI5ODYxMkYyNjQxQzAwMjAzOTUxIC8qIENTU0NhbGNWYWx1ZS5jcHAgKi87IH07CisJCTQ5
M0IyOTg5MTJGMjY0MjYwMDIwMzk1MSAvKiBDU1NDYWxjVmFsdWUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5M0IyOTg4MTJGMjY0MjYwMDIwMzk1MSAv
KiBDU1NDYWxjVmFsdWUuaCAqLzsgfTsKKwkJNDkzQjI5OEMxMkYyNjQzRDAwMjAzOTUxIC8qIENh
bGNWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0OTNCMjk4QTEyRjI2NDNEMDAyMDM5NTEgLyogQ2FsY1ZhbHVlLmNwcCAqLzsgfTsKKwkJNDkz
QjI5OEQxMkYyNjQzRDAwMjAzOTUxIC8qIENhbGNWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDkzQjI5OEIxMkYyNjQzRDAwMjAzOTUxIC8qIENh
bGNWYWx1ZS5oICovOyB9OwogCQk0OTNFNUUwOTEyRDY0MjA1MDAwMjAwODEgLyogUGxhdGZvcm1D
QUxheWVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0OTNFNUUwODEyRDY0MjA1MDAwMjAwODEgLyogUGxhdGZvcm1DQUxheWVyQ2xpZW50Lmgg
Ki87IH07CiAJCTQ5NDg0RkMxMTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52YXNHcmFkaWVudC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTQ4NEZCMzEw
MkNGMjNDMDAxODdERDMgLyogQ2FudmFzR3JhZGllbnQuY3BwICovOyB9OwogCQk0OTQ4NEZDMjEw
MkNGMjNDMDAxODdERDMgLyogQ2FudmFzR3JhZGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5NDg0RkI0MTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52
YXNHcmFkaWVudC5oICovOyB9OwpAQCAtNzQ4MCw2ICs3NDg0LDEwIEBACiAJCTQ5MDcwN0U0MTIx
OUMwNDMwMEQ5MEU1MSAvKiBBTkdMRVdlYktpdEJyaWRnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBBTkdMRVdlYktpdEJyaWRnZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQ5MDcwN0U1MTIxOUMwNDMwMEQ5MEU1MSAvKiBBTkdMRVdlYktpdEJy
aWRnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBTkdMRVdlYktpdEJyaWRn
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTI4NjM5ODEyNTNCOEZDMDBGNzky
RDYgLyogUmVzb3VyY2VMb2FkSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZXNvdXJjZUxvYWRJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5M0Iy
OTg2MTJGMjY0MUMwMDIwMzk1MSAvKiBDU1NDYWxjVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTQ2FsY1ZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNDkzQjI5ODgxMkYyNjQyNjAwMjAzOTUxIC8qIENTU0NhbGNWYWx1ZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NDYWxjVmFsdWUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDkzQjI5OEExMkYyNjQzRDAwMjAzOTUxIC8qIENhbGNWYWx1
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWxjVmFsdWUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OTNCMjk4QjEyRjI2NDNEMDAyMDM5NTEg
LyogQ2FsY1ZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhbGNWYWx1
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTNFNUUwODEyRDY0MjA1MDAwMjAw
ODEgLyogUGxhdGZvcm1DQUxheWVyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IFBsYXRmb3JtQ0FMYXllckNsaWVudC5oOyBwYXRoID0gY2EvUGxhdGZvcm1DQUxheWVy
Q2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5NDg0RkIzMTAyQ0YyM0Mw
MDE4N0REMyAvKiBDYW52YXNHcmFkaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBDYW52YXNHcmFkaWVudC5jcHA7IHBhdGggPSBjYW52YXMvQ2FudmFzR3JhZGll
bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTQ4NEZCNDEwMkNGMjNDMDAx
ODdERDMgLyogQ2FudmFzR3JhZGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gQ2FudmFzR3JhZGllbnQuaDsgcGF0aCA9IGNhbnZhcy9DYW52YXNHcmFkaWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg0MjQsNiArMTg0MzIsOCBAQAogCQkJCTg5RDA4
RDlEMTIyMjg0NTEwMDEyNDFERiAvKiBBc3luY0ZpbGVTeXN0ZW0uaCAqLywKIAkJCQk4OUQwOEQ5
RTEyMjI4NDUxMDAxMjQxREYgLyogQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmggKi8sCiAJCQkJ
NTFFMUVDQjEwQzkxQzU1NjAwREMyNTVCIC8qIEF1dG9kcmFpbmVkUG9vbC5oICovLAorCQkJCTQ5
M0IyOThBMTJGMjY0M0QwMDIwMzk1MSAvKiBDYWxjVmFsdWUuY3BwICovLAorCQkJCTQ5M0IyOThC
MTJGMjY0M0QwMDIwMzk1MSAvKiBDYWxjVmFsdWUuaCAqLywKIAkJCQlCQ0M4Q0ZDQTA5ODZDRDI0
MDAxNDBCRjIgLyogQ29sb3JEYXRhLmdwZXJmICovLAogCQkJCTQxRDAxNUM5MEY0QjVDNzEwMDRB
NjYyRiAvKiBDb250ZW50VHlwZS5jcHAgKi8sCiAJCQkJNDFEMDE1QzgwRjRCNUM3MTAwNEE2NjJG
IC8qIENvbnRlbnRUeXBlLmggKi8sCkBAIC0xODY3OCw2ICsxODY4OCw4IEBACiAJCQkJOTMwNzA1
QzcwOUUwQzk1RjAwQjE3RkU0IC8qIENvdW50ZXIuaWRsICovLAogCQkJCUE4MEU2Q0JCMEExOTg5
Q0EwMDdGQjhDNSAvKiBDU1NCb3JkZXJJbWFnZVZhbHVlLmNwcCAqLywKIAkJCQlBODBFNkNERDBB
MTk4OUNBMDA3RkI4QzUgLyogQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oICovLAorCQkJCTQ5M0IyOTg2
MTJGMjY0MUMwMDIwMzk1MSAvKiBDU1NDYWxjVmFsdWUuY3BwICovLAorCQkJCTQ5M0IyOTg4MTJG
MjY0MjYwMDIwMzk1MSAvKiBDU1NDYWxjVmFsdWUuaCAqLywKIAkJCQlCQzYwNEE0MjBEQjU2MzRF
MDAyMDQ3MzkgLyogQ1NTQ2FudmFzVmFsdWUuY3BwICovLAogCQkJCUJDNjA0OUNCMERCNTYwQzIw
MDIwNDczOSAvKiBDU1NDYW52YXNWYWx1ZS5oICovLAogCQkJCUUxRUJCQkQzMEFBQzlCODcwMDFG
RThFMiAvKiBDU1NDaGFyc2V0UnVsZS5jcHAgKi8sCkBAIC0xOTc4MCw2ICsxOTc5Miw3IEBACiAJ
CQkJQkNENTMzNjQwRUQ2ODQ4OTAwODg3NDY4IC8qIENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0IxNkMyODA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVk
WFNMU3R5bGVTaGVldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk5NTAwODI0NUU1OTAwMUU5
QUJDIC8qIENhY2hlUG9saWN5LmggaW4gSGVhZGVycyAqLywKKwkJCQk0OTNCMjk4RDEyRjI2NDNE
MDAyMDM5NTEgLyogQ2FsY1ZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RTRFOTFBRDEwRjdG
QjMxMDBBMjc3OUMgLyogQ2FudmFzQ29udGV4dEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTQ5NDg0RkMyMTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52YXNHcmFkaWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNDk0ODRGQzUxMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc1BhdHRlcm4uaCBp
biBIZWFkZXJzICovLApAQCAtMTk4NTQsNiArMTk4NjcsNyBAQAogCQkJCUUxNjk4MDNEMTEzMzU0
MkQwMDg5NDExNSAvKiBDUnVudGltZU9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc1Q0Ey
OEIxMzAzNjVGODAwRTk5QUQ5IC8qIENyeXB0by5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTZE
MDcwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU0JvcmRlckltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICov
LAorCQkJCTQ5M0IyOTg5MTJGMjY0MjYwMDIwMzk1MSAvKiBDU1NDYWxjVmFsdWUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDNjA0OUNDMERCNTYwQzIwMDIwNDczOSAvKiBDU1NDYW52YXNWYWx1ZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTZDRjkwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU0NoYXJz
ZXRSdWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VBNDc5MDA5N0NBQUM4MDA5NEM5RTQgLyog
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTIzMDkwLDYg
KzIzMTA0LDcgQEAKIAkJCQlEMEQxNDFCMjEyQjJCRjUyMDBFMzk2MjAgLyogQ2FjaGVkUmVzb3Vy
Y2VSZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQjE2QzIzMDk3OUMzQkQwMDQ2Nzc0
MSAvKiBDYWNoZWRTY3JpcHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNCMTZDMjcwOTc5QzNC
RDAwNDY3NzQxIC8qIENhY2hlZFhTTFN0eWxlU2hlZXQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
NDkzQjI5OEMxMkYyNjQzRDAwMjAzOTUxIC8qIENhbGNWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk2RTRFOTFBQzEwRjdGQjMxMDBBMjc3OUMgLyogQ2FudmFzQ29udGV4dEF0dHJpYnV0ZXMu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk0ODRGQzExMDJDRjIzQzAwMTg3REQzIC8qIENhbnZh
c0dyYWRpZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5NDg0RkM0MTAyQ0YyM0MwMDE4N0RE
MyAvKiBDYW52YXNQYXR0ZXJuLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjMxNTYsNiArMjMxNzEs
NyBAQAogCQkJCTk3NUNBMjhBMTMwMzY1RjgwMEU5OUFEOSAvKiBDcnlwdG8uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQTgwRTZDRTUwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU0JvcmRlckltYWdlVmFs
dWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM2MDRBNDMwREI1NjM0RTAwMjA0NzM5IC8qIENT
U0NhbnZhc1ZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQ5M0IyOTg3MTJGMjY0MUMwMDIw
Mzk1MSAvKiBDU1NDYWxjVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFFQkJCRDQwQUFD
OUI4NzAwMUZFOEUyIC8qIENTU0NoYXJzZXRSdWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJD
RUE0NzhGMDk3Q0FBQzgwMDk0QzlFNCAvKiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQUEyMUVDQ0EwQUJGMEZCQTAwMkI4MzRDIC8qIENTU0N1cnNv
ckltYWdlVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ2FsY1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjVmFsdWUu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmJkZWZhNTFkZTA4MGMzODZkYTM1YjUxMmYyYWY4NzM0MzYzNjVjMDEK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmNwcApA
QCAtMCwwICsxLDQ0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQor
ICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NDYWxjVmFs
dWUuaCIKKworI2luY2x1ZGUgIkNTU1N0eWxlU2VsZWN0b3IuaCIKKyNpbmNsdWRlICJDU1NWYWx1
ZUxpc3QuaCIKKyNpbmNsdWRlICJMZW5ndGguaCIKKworI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4K
KyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0
YXRpYyBDYWxjVmFsdWU6OlVuaXRDYXRlZ29yeSB1bml0Q2F0ZWdvcnkoQ1NTUHJpbWl0aXZlVmFs
dWU6OlVuaXRUeXBlcyB0eXBlKQoreworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgQ1NT
UHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVI6CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX1BBUlNFUl9JTlRFR0VSOgorICAgICAgICByZXR1cm4gQ2FsY1ZhbHVlOjpVTnVtYmVyOwor
ICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFOgorICAgICAgICByZXR1
cm4gQ2FsY1ZhbHVlOjpVUGVyY2VudDsKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
RU1TOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19FWFM6CisgICAgY2FzZSBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTX1BYOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19D
TToKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTU06CisgICAgY2FzZSBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX0lOOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QVDoK
KyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEM6CisgICAgY2FzZSBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX1JFTVM6CisgICAgICAgIHJldHVybiBDYWxjVmFsdWU6OlVMZW5ndGg7Cisg
ICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIENhbGNWYWx1ZTo6VU90aGVyOworICAgIH0KK30K
KyAgICAKKyAgICAKK2NsYXNzIENTU0NhbGNQcmltaXRpdmVWYWx1ZSA6IHB1YmxpYyBDU1NDYWxj
VmFsdWUgeworcHVibGljOgorCisgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTQ2FsY1ByaW1pdGl2
ZVZhbHVlPiBjcmVhdGUoQ1NTUHJpbWl0aXZlVmFsdWUqIHZhbHVlKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NDYWxjUHJpbWl0aXZlVmFsdWUodmFsdWUpKTsKKyAgICB9
CisgICAgCisgICAgdmlydHVhbCBib29sIGlzWmVybygpIGNvbnN0CisgICAgeworICAgICAgICBy
ZXR1cm4gIW1fdmFsdWUtPmdldERvdWJsZVZhbHVlKCk7CisgICAgfQorCisgICAgdmlydHVhbCBT
dHJpbmcgY3NzVGV4dCgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV92YWx1ZS0+Y3Nz
VGV4dCgpOworICAgIH0KKworICAgIFBhc3NPd25QdHI8Q2FsY1ZhbHVlPiB0b0NhbGNWYWx1ZShS
ZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSB6b29tKSBj
b25zdAorICAgIHsKKyAgICAgICAgc3dpdGNoIChtX2NhdGVnb3J5KSB7CisgICAgICAgIGNhc2Ug
Q2FsY1ZhbHVlOjpVTnVtYmVyOgorICAgICAgICAgICAgcmV0dXJuIG5ldyBDYWxjTnVtYmVyVmFs
dWUobV92YWx1ZS0+Z2V0RmxvYXRWYWx1ZSgpKTsKKyAgICAgICAgY2FzZSBDYWxjVmFsdWU6OlVM
ZW5ndGg6CisgICAgICAgICAgICByZXR1cm4gbmV3IENhbGNOdW1iZXJWYWx1ZShtX3ZhbHVlLT5j
b21wdXRlTGVuZ3RoRmxvYXQoc3R5bGUsIHJvb3RTdHlsZSwgem9vbSkpOworICAgICAgICBjYXNl
IENhbGNWYWx1ZTo6VVBlcmNlbnQ6CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYm9v
bCBvayA9IHRydWU7CisgICAgICAgICAgICAgICAgTGVuZ3RoIGxlbmd0aCA9IENTU1N0eWxlU2Vs
ZWN0b3I6OmNvbnZlcnRUb0Zsb2F0TGVuZ3RoKG1fdmFsdWUuZ2V0KCksIHN0eWxlLCByb290U3R5
bGUsIHpvb20sICZvayk7CisgICAgICAgICAgICAgICAgaWYgKCFvaykKKyAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDYWxjTGVuZ3RoVmFs
dWUobGVuZ3RoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAg
IHJldHVybiAwOworICAgICAgICB9CisgICAgfQorCitwcml2YXRlOgorICAgIGV4cGxpY2l0IENT
U0NhbGNQcmltaXRpdmVWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZSogdmFsdWUpCisgICAgICAgIDog
bV92YWx1ZSh2YWx1ZSkgICAgICAgICAgICAgICAgIAorICAgIHsKKyAgICAgICAgbV9jYXRlZ29y
eSA9IHVuaXRDYXRlZ29yeSgoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyl2YWx1ZS0+cHJp
bWl0aXZlVHlwZSgpKTsKKyAgICB9CisKKyAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IG1f
dmFsdWU7Cit9OworCitjbGFzcyBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWUgOiBwdWJsaWMg
Q1NTQ2FsY1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NDYWxjQmlu
YXJ5T3BlcmF0aW9uVmFsdWU+IGNyZWF0ZShQYXNzUmVmUHRyPENTU0NhbGNWYWx1ZT4gbGVmdFNp
ZGUsIFBhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiByaWdodFNpZGUsIGNoYXIgb3ApCisgICAgewor
ICAgICAgICBDYWxjVmFsdWU6OlVuaXRDYXRlZ29yeSBsZWZ0Q2F0ZWdvcnkgPSBsZWZ0U2lkZS0+
Y2F0ZWdvcnkoKTsKKyAgICAgICAgQ2FsY1ZhbHVlOjpVbml0Q2F0ZWdvcnkgcmlnaHRDYXRlZ29y
eSA9IHJpZ2h0U2lkZS0+Y2F0ZWdvcnkoKTsKKyAgICAgICAgQ2FsY1ZhbHVlOjpVbml0Q2F0ZWdv
cnkgbmV3Q2F0ZWdvcnk7CisgICAgICAgIAorICAgICAgICBzd2l0Y2ggKG9wKSB7CisgICAgICAg
IGNhc2UgJysnOgorICAgICAgICBjYXNlICctJzoKKyAgICAgICAgICAgICAgICAKKyAgICAgICAg
ICAgIGlmIChsZWZ0Q2F0ZWdvcnkgPT0gcmlnaHRDYXRlZ29yeSkgICAgCisgICAgICAgICAgICAg
ICAgbmV3Q2F0ZWdvcnkgPSBsZWZ0Q2F0ZWdvcnk7CisgICAgICAgICAgICBlbHNlIGlmIChsZWZ0
Q2F0ZWdvcnkgPT0gQ2FsY1ZhbHVlOjpVTnVtYmVyIHx8IHJpZ2h0Q2F0ZWdvcnkgPT0gQ2FsY1Zh
bHVlOjpVTnVtYmVyKQorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgZWxz
ZSAgICAKKyAgICAgICAgICAgICAgICBuZXdDYXRlZ29yeSA9IENhbGNWYWx1ZTo6VVBlcmNlbnQ7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgY2FzZSAnKic6
CisgICAgICAgICAgICBpZiAobGVmdENhdGVnb3J5ICE9IENhbGNWYWx1ZTo6VU51bWJlciAmJiBy
aWdodENhdGVnb3J5ICE9IENhbGNWYWx1ZTo6VU51bWJlcikgCisgICAgICAgICAgICAgICAgcmV0
dXJuIDA7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmIChsZWZ0Q2F0ZWdvcnkgPT0gQ2Fs
Y1ZhbHVlOjpVTnVtYmVyKQorICAgICAgICAgICAgICAgIG5ld0NhdGVnb3J5ID0gcmlnaHRDYXRl
Z29yeTsKKyAgICAgICAgICAgIGVsc2UgCisgICAgICAgICAgICAgICAgbmV3Q2F0ZWdvcnkgPSBs
ZWZ0Q2F0ZWdvcnk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlICcvJzoKKyAg
ICAgICAgY2FzZSAnJSc6CisgICAgICAgICAgICBpZiAocmlnaHRDYXRlZ29yeSAhPSBDYWxjVmFs
dWU6OlVOdW1iZXIgfHwgcmlnaHRTaWRlLT5pc1plcm8oKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgICAgIG5ld0NhdGVnb3J5ID0gbGVmdENhdGVnb3J5OworICAgICAgICAg
ICAgYnJlYWs7CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgCisgICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlKGxlZnRT
aWRlLCByaWdodFNpZGUsIG9wLCBuZXdDYXRlZ29yeSkpOworICAgIH0KKyAgICAKKyAgICB2aXJ0
dWFsIGJvb2wgaXNaZXJvKCkgY29uc3QKKyAgICB7CisgICAgICAgIC8vIEZJWE1FOiBXZSBjYW4g
cmV0dXJuIHRydWUgZm9yIHNvbWUgY2FzZXMgKGUuZy4sIDMgLSAzLCAzICogMCwgYW5kIGV0Yy4p
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIFN0cmluZyBjc3NU
ZXh0KCkgY29uc3QKKyAgICB7CisgICAgICAgIFN0cmluZyByZXN1bHQgPSAiKCI7CisgICAgICAg
IHJlc3VsdC5hcHBlbmQobV9sZWZ0U2lkZS0+Y3NzVGV4dCgpKTsKKyAgICAgICAgcmVzdWx0LmFw
cGVuZChtX29wZXJhdG9yKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChtX3JpZ2h0U2lkZS0+Y3Nz
VGV4dCgpKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgnKScpOworICAgICAgICByZXR1cm4gcmVz
dWx0OworICAgIH0KKworICAgIFBhc3NPd25QdHI8Q2FsY1ZhbHVlPiB0b0NhbGNWYWx1ZShSZW5k
ZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSB6b29tKSBjb25z
dAorICAgIHsKKyAgICAgICAgT3duUHRyPENhbGNWYWx1ZT4gbGVmdChtX2xlZnRTaWRlLT50b0Nh
bGNWYWx1ZShzdHlsZSwgcm9vdFN0eWxlLCB6b29tKSk7CisgICAgICAgIGlmICghbGVmdC5nZXQo
KSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBPd25QdHI8Q2FsY1ZhbHVlPiByaWdo
dChtX3JpZ2h0U2lkZS0+dG9DYWxjVmFsdWUoc3R5bGUsIHJvb3RTdHlsZSwgem9vbSkpOworICAg
ICAgICBpZiAoIXJpZ2h0LmdldCgpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJl
dHVybiBuZXcgQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlKGxlZnQucmVsZWFzZSgpLCByaWdodC5y
ZWxlYXNlKCksIG1fb3BlcmF0b3IpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBDU1NDYWxjQmlu
YXJ5T3BlcmF0aW9uVmFsdWUoUGFzc1JlZlB0cjxDU1NDYWxjVmFsdWU+IGxlZnRTaWRlLCBQYXNz
UmVmUHRyPENTU0NhbGNWYWx1ZT4gcmlnaHRTaWRlLCBjaGFyIG9wLCBDYWxjVmFsdWU6OlVuaXRD
YXRlZ29yeSBjYXRlZ29yeSkKKyAgICAgICAgOiBtX2xlZnRTaWRlKGxlZnRTaWRlKQorICAgICAg
ICAsIG1fcmlnaHRTaWRlKHJpZ2h0U2lkZSkKKyAgICAgICAgLCBtX29wZXJhdG9yKG9wKQorICAg
IHsKKyAgICAgICAgQVNTRVJUKG9wID09ICcrJyB8fCBvcCA9PSAnLScgfHwgb3AgPT0gJyonIHx8
IG9wID09ICcvJyB8fCBvcCA9PSAnJScpOyAgCisgICAgICAgIG1fY2F0ZWdvcnkgPSBjYXRlZ29y
eTsKKyAgICB9CisgICAgCisgICAgUmVmUHRyPENTU0NhbGNWYWx1ZT4gbV9sZWZ0U2lkZTsKKyAg
ICBSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBtX3JpZ2h0U2lkZTsKKyAgICBjaGFyIG1fb3BlcmF0b3I7
Cit9OworCitjbGFzcyBDU1NDYWxjTWluTWF4VmFsdWVMaXN0IDogcHVibGljIENTU0NhbGNWYWx1
ZSB7CitwdWJsaWM6CisgICAgZW51bSBMaXN0VHlwZSB7IE1JTiwgTUFYIH07CisKKyAgICBDU1ND
YWxjTWluTWF4VmFsdWVMaXN0KExpc3RUeXBlIHR5cGUpCisgICAgICAgIDogbV9saXN0VHlwZSh0
eXBlKQorICAgICAgICAsIG1fbGlzdCgpCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgYm9v
bCBpc1plcm8oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKwor
ICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdAorICAgIHsKKyAgICAgICAgU3RyaW5n
IHJlc3VsdCA9ICIiOworICAgICAgICBpZiAobV9saXN0VHlwZSA9PSBNSU4pCisgICAgICAgICAg
ICByZXN1bHQuYXBwZW5kKCItd2Via2l0LW1pbigiKTsKKyAgICAgICAgZWxzZSAKKyAgICAgICAg
ICAgIHJlc3VsdC5hcHBlbmQoIi13ZWJraXQtbWF4KCIpOworICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbV9saXN0LnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICByZXN1bHQuYXBw
ZW5kKG1fbGlzdFtpXS5nZXQoKS0+Y3NzVGV4dCgpKTsKKyAgICAgICAgICAgIHJlc3VsdC5hcHBl
bmQoIiwgIik7CisgICAgICAgIH0KKyAgICAgICAgcmVzdWx0LmFwcGVuZCgnKScpOworICAgICAg
ICByZXR1cm4gcmVzdWx0OworICAgIH0KKworICAgIHZvaWQgYXBwZW5kKFBhc3NSZWZQdHI8Q1NT
Q2FsY1ZhbHVlPiB2YWx1ZSkgCisgICAgeworICAgICAgICBtX2xpc3QuYXBwZW5kKHZhbHVlKTsK
KyAgICB9CisKKyAgICBQYXNzT3duUHRyPENhbGNWYWx1ZT4gdG9DYWxjVmFsdWUoUmVuZGVyU3R5
bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgem9vbSkgY29uc3QKKyAg
ICB7CisgICAgICAgIENhbGNNaW5NYXhWYWx1ZUxpc3QqIGxpc3QgPSBuZXcgQ2FsY01pbk1heFZh
bHVlTGlzdChtX2xpc3RUeXBlID09IE1JTiA/IENhbGNNaW5NYXhWYWx1ZUxpc3Q6Ok1JTiA6IENh
bGNNaW5NYXhWYWx1ZUxpc3Q6Ok1BWCk7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBtX2xpc3Quc2l6ZSgpOyArK2kpCisgICAgICAgICAgICBsaXN0LT5hcHBlbmQobV9saXN0W2ld
LmdldCgpLT50b0NhbGNWYWx1ZShzdHlsZSwgcm9vdFN0eWxlLCB6b29tKSk7CisKKyAgICAgICAg
cmV0dXJuIGxpc3Q7CisgICAgfQorCitwcml2YXRlOgorICAgIExpc3RUeXBlIG1fbGlzdFR5cGU7
CisgICAgVmVjdG9yPFJlZlB0cjxDU1NDYWxjVmFsdWU+ID4gbV9saXN0OworfTsKKworI2RlZmlu
ZSBDSEVDS19ERVBUSF9BTkRfSU5ERVggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAorICAgIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICArK2RlcHRoOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBp
ZiAoZGVwdGggPiAxMDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBpZiAoKmluZGV4ID49IHRva2Vucy0+
c2l6ZSgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgIH0gd2hpbGUgKDApCisKK2NsYXNzIENTU0NhbGNWYWx1ZVBhcnNlciB7CitwdWJs
aWM6CisgICAgUGFzc1JlZlB0cjxDU1NDYWxjVmFsdWU+IHBhcnNlQ2FsYyhDU1NQYXJzZXJWYWx1
ZUxpc3QqIHRva2VucykKKyAgICB7CisgICAgICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKKyAgICAg
ICAgVmFsdWUgcmVzdWx0OworICAgICAgICBib29sIG9rID0gcGFyc2VWYWx1ZUV4cHJlc3Npb24o
dG9rZW5zLCAwLCAmaW5kZXgsICZyZXN1bHQpOworICAgICAgICBBU1NFUlQoaW5kZXggPD0gdG9r
ZW5zLT5zaXplKCkpOworICAgICAgICBpZiAoIW9rIAorICAgICAgICAgICAgfHwgKHJlc3VsdC52
YWx1ZS0+aXNDYWxjVmFsdWUoKSAmJiByZXN1bHQudmFsdWUtPmNhdGVnb3J5KCkgPT0gQ2FsY1Zh
bHVlOjpVTnVtYmVyKQorICAgICAgICAgICAgfHwgaW5kZXggIT0gdG9rZW5zLT5zaXplKCkpCisg
ICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIHJlc3VsdC52YWx1ZTsKKyAgICB9
CisKKyAgICBQYXNzUmVmUHRyPENTU0NhbGNWYWx1ZT4gcGFyc2VNaW5NYXhMaXN0KENTU0NhbGNN
aW5NYXhWYWx1ZUxpc3Q6Okxpc3RUeXBlIHR5cGUsIENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5z
KQorICAgIHsKKyAgICAgICAgdW5zaWduZWQgaW5kZXggPSAwOworICAgICAgICBDU1NDYWxjTWlu
TWF4VmFsdWVMaXN0KiByZXN1bHQgPSBuZXcgQ1NTQ2FsY01pbk1heFZhbHVlTGlzdCh0eXBlKTsK
KworICAgICAgICBib29sIG9rID0gcGFyc2VWYWx1ZUxpc3QodG9rZW5zLCAwLCAmaW5kZXgsIHJl
c3VsdCk7CisgICAgICAgIEFTU0VSVChpbmRleCA8PSB0b2tlbnMtPnNpemUoKSk7CisgICAgICAg
IGlmICghb2sgfHwgaW5kZXggIT0gdG9rZW5zLT5zaXplKCkpCisgICAgICAgICAgICByZXR1cm4g
MDsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKHJlc3VsdCk7CisgICAgfQorCitwcml2YXRlOgor
ICAgIHN0cnVjdCBWYWx1ZSB7CisgICAgICAgIFJlZlB0cjxDU1NDYWxjVmFsdWU+IHZhbHVlOwor
ICAgIH07CisKKyAgICBjaGFyIG9wZXJhdG9yVmFsdWUoQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tl
bnMsIHVuc2lnbmVkIGluZGV4KQorICAgIHsKKyAgICAgICAgaWYgKGluZGV4ID49IHRva2Vucy0+
c2l6ZSgpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIENTU1BhcnNlclZhbHVlKiB2
YWx1ZSA9IHRva2Vucy0+dmFsdWVBdChpbmRleCk7CisgICAgICAgIGlmICh2YWx1ZS0+dW5pdCAh
PSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3IpCisgICAgICAgICAgICByZXR1cm4gMDsKKworICAg
ICAgICByZXR1cm4gdmFsdWUtPmlWYWx1ZTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWUo
Q1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3Vs
dCkKKyAgICB7CisgICAgICAgIENTU1BhcnNlclZhbHVlKiBwYXJzZXJWYWx1ZSA9IHRva2Vucy0+
dmFsdWVBdCgqaW5kZXgpOworICAgICAgICBpZiAocGFyc2VyVmFsdWUtPnVuaXQgPT0gQ1NTUGFy
c2VyVmFsdWU6Ok9wZXJhdG9yIHx8IHBhcnNlclZhbHVlLT51bml0ID09IENTU1BhcnNlclZhbHVl
OjpGdW5jdGlvbikKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBSZWZQdHI8
Q1NTVmFsdWU+IHZhbHVlID0gcGFyc2VyVmFsdWUtPmNyZWF0ZUNTU1ZhbHVlKCk7CisgICAgICAg
IGlmICghdmFsdWUgfHwgIXZhbHVlLT5pc1ByaW1pdGl2ZVZhbHVlKCkpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVl
ID0gc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPih2YWx1ZS5nZXQoKSk7CisgICAgICAg
IHJlc3VsdC0+dmFsdWUgPSBDU1NDYWxjUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShwcmltaXRpdmVW
YWx1ZSk7CisKKyAgICAgICAgKysqaW5kZXg7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0K
KworICAgIGJvb2wgcGFyc2VWYWx1ZVRlcm0oQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIGlu
dCBkZXB0aCwgdW5zaWduZWQqIGluZGV4LCBWYWx1ZSogcmVzdWx0KQorICAgIHsKKyAgICAgICAg
Q0hFQ0tfREVQVEhfQU5EX0lOREVYOworCisgICAgICAgIGlmIChvcGVyYXRvclZhbHVlKHRva2Vu
cywgKmluZGV4KSA9PSAnKCcpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGN1cnJlbnRJbmRleCA9
ICppbmRleCArIDE7CisgICAgICAgICAgICBpZiAoIXBhcnNlVmFsdWVFeHByZXNzaW9uKHRva2Vu
cywgZGVwdGgsICZjdXJyZW50SW5kZXgsIHJlc3VsdCkpCisgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgICAgICAgICBpZiAob3BlcmF0b3JWYWx1ZSh0b2tlbnMsIGN1cnJlbnRJ
bmRleCkgIT0gJyknKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAg
ICppbmRleCA9IGN1cnJlbnRJbmRleCArIDE7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICAgICAgfQorCisgICAgICAgIHJldHVybiBwYXJzZVZhbHVlKHRva2VucywgaW5kZXgsIHJlc3Vs
dCk7CisgICAgfQorCisgICAgYm9vbCBwYXJzZVZhbHVlTXVsdGlwbGljYXRpdmVFeHByZXNzaW9u
KENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwg
VmFsdWUqIHJlc3VsdCkKKyAgICB7CisgICAgICAgIENIRUNLX0RFUFRIX0FORF9JTkRFWDsKKwor
ICAgICAgICBpZiAoIXBhcnNlVmFsdWVUZXJtKHRva2VucywgZGVwdGgsIGluZGV4LCByZXN1bHQp
KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIHdoaWxlICgqaW5kZXggPCB0
b2tlbnMtPnNpemUoKSAtIDEpIHsKKyAgICAgICAgICAgIGNoYXIgb3BlcmF0b3JDaGFyYWN0ZXIg
PSBvcGVyYXRvclZhbHVlKHRva2VucywgKmluZGV4KTsKKyAgICAgICAgICAgIGlmIChvcGVyYXRv
ckNoYXJhY3RlciAhPSAnKicgJiYgb3BlcmF0b3JDaGFyYWN0ZXIgIT0gJy8nICYmIG9wZXJhdG9y
Q2hhcmFjdGVyICE9ICclJykKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICsr
KmluZGV4OworCisgICAgICAgICAgICBWYWx1ZSByaHM7CisgICAgICAgICAgICBpZiAoIXBhcnNl
VmFsdWVUZXJtKHRva2VucywgZGVwdGgsIGluZGV4LCAmcmhzKSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIHJlc3VsdC0+dmFsdWUgPSBDU1NDYWxjQmluYXJ5
T3BlcmF0aW9uVmFsdWU6OmNyZWF0ZShyZXN1bHQtPnZhbHVlLCByaHMudmFsdWUsIG9wZXJhdG9y
Q2hhcmFjdGVyKTsKKyAgICAgICAgICAgIGlmICghcmVzdWx0LT52YWx1ZSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKworICAgICAgICBBU1NFUlQoKmluZGV4IDw9
IHRva2Vucy0+c2l6ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgYm9v
bCBwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5z
LCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAgICB7CisgICAg
ICAgIENIRUNLX0RFUFRIX0FORF9JTkRFWDsKKworICAgICAgICBpZiAoIXBhcnNlVmFsdWVNdWx0
aXBsaWNhdGl2ZUV4cHJlc3Npb24odG9rZW5zLCBkZXB0aCwgaW5kZXgsIHJlc3VsdCkpCisgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgd2hpbGUgKCppbmRleCA8IHRva2Vucy0+
c2l6ZSgpIC0gMSkgeworICAgICAgICAgICAgY2hhciBvcGVyYXRvckNoYXJhY3RlciA9IG9wZXJh
dG9yVmFsdWUodG9rZW5zLCAqaW5kZXgpOworICAgICAgICAgICAgaWYgKG9wZXJhdG9yQ2hhcmFj
dGVyICE9ICcrJyAmJiBvcGVyYXRvckNoYXJhY3RlciAhPSAnLScpCisgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICArKyppbmRleDsKKworICAgICAgICAgICAgVmFsdWUgcmhzOwor
ICAgICAgICAgICAgaWYgKCFwYXJzZVZhbHVlTXVsdGlwbGljYXRpdmVFeHByZXNzaW9uKHRva2Vu
cywgZGVwdGgsIGluZGV4LCAmcmhzKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICAgICAgICAgIHJlc3VsdC0+dmFsdWUgPSBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWU6
OmNyZWF0ZShyZXN1bHQtPnZhbHVlLCByaHMudmFsdWUsIG9wZXJhdG9yQ2hhcmFjdGVyKTsKKyAg
ICAgICAgICAgIGlmICghcmVzdWx0LT52YWx1ZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIH0KKworICAgICAgICBBU1NFUlQoKmluZGV4IDw9IHRva2Vucy0+c2l6ZSgp
KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgYm9vbCBwYXJzZVZhbHVlTGlz
dChDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucywgaW50IGRlcHRoLCB1bnNpZ25lZCogaW5kZXgs
IENTU0NhbGNNaW5NYXhWYWx1ZUxpc3QqIHJlc3VsdCkKKyAgICB7CisgICAgICAgIGJvb2wgZmly
c3QgPSB0cnVlOworICAgICAgICB3aGlsZSAoKmluZGV4IDwgdG9rZW5zLT5zaXplKCkpIHsKKyAg
ICAgICAgICAgIFZhbHVlIG5leHQ7CisgICAgICAgICAgICBpZiAoIXBhcnNlVmFsdWVFeHByZXNz
aW9uKHRva2VucywgZGVwdGgsIGluZGV4LCAmbmV4dCkpCisgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgICAgICAgICBpZiAoZmlyc3QpIHsKKyAgICAgICAgICAgICAgICByZXN1
bHQtPm1fY2F0ZWdvcnkgPSBuZXh0LnZhbHVlLT5jYXRlZ29yeSgpOworICAgICAgICAgICAgICAg
IGZpcnN0ID0gZmFsc2U7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIENh
bGNWYWx1ZTo6VW5pdENhdGVnb3J5IGN1cnJlbnQgPSByZXN1bHQtPmNhdGVnb3J5KCk7CisgICAg
ICAgICAgICAgICAgQ2FsY1ZhbHVlOjpVbml0Q2F0ZWdvcnkgaW5jb21pbmcgPSBuZXh0LnZhbHVl
LT5jYXRlZ29yeSgpOworCisgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQgPT0gaW5jb21pbmcp
CisgICAgICAgICAgICAgICAgICAgIHJlc3VsdC0+bV9jYXRlZ29yeSA9IGN1cnJlbnQ7CisgICAg
ICAgICAgICAgICAgZWxzZSBpZiAoY3VycmVudCA9PSBDYWxjVmFsdWU6OlVOdW1iZXIgfHwgaW5j
b21pbmcgPT0gQ2FsY1ZhbHVlOjpVTnVtYmVyKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgICAgICAgICAgZWxzZSAKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0
LT5tX2NhdGVnb3J5ID0gQ2FsY1ZhbHVlOjpVUGVyY2VudDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIAorICAgICAgICAgICAgcmVzdWx0LT5hcHBlbmQobmV4dC52YWx1ZSk7CisKKyAgICAg
ICAgICAgIGNoYXIgb3BlcmF0b3JDaGFyYWN0ZXIgPSBvcGVyYXRvclZhbHVlKHRva2VucywgKmlu
ZGV4KTsKKyAgICAgICAgICAgIGlmIChvcGVyYXRvckNoYXJhY3RlciAhPSAnLCcpCisgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICArKyppbmRleDsKKyAgICAgICAgfQorCisgICAg
ICAgIEFTU0VSVCgqaW5kZXggPD0gdG9rZW5zLT5zaXplKCkpOworICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWVFeHByZXNzaW9uKENTU1BhcnNlclZhbHVl
TGlzdCogdG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkK
KyAgICB7CisgICAgICAgIHJldHVybiBwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKHRva2Vu
cywgZGVwdGgsIGluZGV4LCByZXN1bHQpOworICAgIH0KK307CisKK1Bhc3NSZWZQdHI8Q1NTQ2Fs
Y1ZhbHVlPiBDU1NDYWxjVmFsdWU6OmNyZWF0ZUZyb21QYXJzZXJWYWx1ZUxpc3QoQ1NTUGFyc2Vy
U3RyaW5nIG5hbWUsIENTU1BhcnNlclZhbHVlTGlzdCogcGFyc2VyVmFsdWVMaXN0KQoreyAgICAK
KyAgICBDU1NDYWxjVmFsdWVQYXJzZXIgcGFyc2VyOyAgICAKKworICAgIGlmIChlcXVhbElnbm9y
aW5nQ2FzZShuYW1lLCAiLXdlYmtpdC1jYWxjKCIpKQorICAgICAgICByZXR1cm4gcGFyc2VyLnBh
cnNlQ2FsYyhwYXJzZXJWYWx1ZUxpc3QpOworICAgIAorICAgIGlmIChlcXVhbElnbm9yaW5nQ2Fz
ZShuYW1lLCAiLXdlYmtpdC1taW4oIikpCisgICAgICAgIHJldHVybiBwYXJzZXIucGFyc2VNaW5N
YXhMaXN0KENTU0NhbGNNaW5NYXhWYWx1ZUxpc3Q6Ok1JTiwgcGFyc2VyVmFsdWVMaXN0KTsKKyAg
ICAKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgIi13ZWJraXQtbWF4KCIpKQorICAg
ICAgICByZXR1cm4gcGFyc2VyLnBhcnNlTWluTWF4TGlzdChDU1NDYWxjTWluTWF4VmFsdWVMaXN0
OjpNQVgsIHBhcnNlclZhbHVlTGlzdCk7CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICByZXR1cm4gMDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nh
bGNWYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmExYmIzN2NlNGFmZDFhZDY3ZDVhZjI1N2NjYmU1ZDgzNjAw
MmEyYTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVl
LmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ1NTQ2FsY1ZhbHVlX2gKKyNkZWZpbmUgQ1NTQ2Fs
Y1ZhbHVlX2gKKworI2luY2x1ZGUgIkNTU1BhcnNlclZhbHVlcy5oIgorI2luY2x1ZGUgIkNTU1Zh
bHVlLmgiCisjaW5jbHVkZSAiQ2FsY1ZhbHVlLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgQ1NTUGFyc2VyVmFsdWVMaXN0OworY2xhc3MgQ1NTVmFsdWVMaXN0OworY2xhc3MgUmVuZGVy
U3R5bGU7CitjbGFzcyBDYWxjVmFsdWU7CisKK2NsYXNzIENTU0NhbGNWYWx1ZSA6IHB1YmxpYyBD
U1NWYWx1ZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBj
cmVhdGVGcm9tUGFyc2VyVmFsdWVMaXN0KENTU1BhcnNlclN0cmluZyBuYW1lLCBDU1NQYXJzZXJW
YWx1ZUxpc3QqKTsKKyAgICBDU1NDYWxjVmFsdWUoKSA6IG1fY2F0ZWdvcnkoQ2FsY1ZhbHVlOjpV
T3RoZXIpIHt9CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNDYWxjVmFsdWUoKSBjb25zdCB7IHJldHVy
biB0cnVlOyB9CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNaZXJvKCkgY29uc3QgPSAwOworICAgIAor
ICAgIHZpcnR1YWwgUGFzc093blB0cjxDYWxjVmFsdWU+IHRvQ2FsY1ZhbHVlKFJlbmRlclN0eWxl
KiwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIHpvb20gPSAxLjApIGNvbnN0ID0gMDsK
KyAgICAKKyAgICBDYWxjVmFsdWU6OlVuaXRDYXRlZ29yeSBjYXRlZ29yeSgpIGNvbnN0IHsgcmV0
dXJuIG1fY2F0ZWdvcnk7IH0KKyAgICAKKyAgICBDYWxjVmFsdWU6OlVuaXRDYXRlZ29yeSBtX2Nh
dGVnb3J5OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ1NTQ2Fs
Y1ZhbHVlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55CmluZGV4IDg2NTg2NzQzMzlmNGEwOTVlMjBk
YzIyOGFjYWU1ZDc2ZjYwNDgyZjcuLjdkY2Y5N2I1MThkMWRhYjM5Y2M2MWYzNzFmYzVjZTM5OTZj
N2YxMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueQpAQCAtOTksNyArOTksNyBAQCBzdGF0aWMg
aW50IGNzc3l5bGV4KFlZU1RZUEUqIHl5bHZhbCwgdm9pZCogcGFyc2VyKQogCiAlfQogCi0lZXhw
ZWN0IDUxCislZXhwZWN0IDU1CiAKICVub25hc3NvYyBMT1dFU1RfUFJFQwogCkBAIC0xODMsNiAr
MTgzLDcgQEAgc3RhdGljIGludCBjc3N5eWxleChZWVNUWVBFKiB5eWx2YWwsIHZvaWQqIHBhcnNl
cikKICV0b2tlbiA8bnVtYmVyPiBIRVJUWgogJXRva2VuIDxudW1iZXI+IEtIRVJUWgogJXRva2Vu
IDxzdHJpbmc+IERJTUVOCisldG9rZW4gPHN0cmluZz4gSU5WQUxJRERJTUVOCiAldG9rZW4gPG51
bWJlcj4gUEVSQ0VOVEFHRQogJXRva2VuIDxudW1iZXI+IEZMT0FUVE9LRU4KICV0b2tlbiA8bnVt
YmVyPiBJTlRFR0VSCkBAIC0xOTAsNiArMTkxLDkgQEAgc3RhdGljIGludCBjc3N5eWxleChZWVNU
WVBFKiB5eWx2YWwsIHZvaWQqIHBhcnNlcikKICV0b2tlbiA8c3RyaW5nPiBVUkkKICV0b2tlbiA8
c3RyaW5nPiBGVU5DVElPTgogJXRva2VuIDxzdHJpbmc+IE5PVEZVTkNUSU9OCisldG9rZW4gPHN0
cmluZz4gQ0FMQ0ZVTkNUSU9OCisldG9rZW4gPHN0cmluZz4gTUlORlVOQ1RJT04KKyV0b2tlbiA8
c3RyaW5nPiBNQVhGVU5DVElPTgogCiAldG9rZW4gPHN0cmluZz4gVU5JQ09ERVJBTkdFCiAKQEAg
LTI3MCw2ICsyNzQsMTQgQEAgc3RhdGljIGludCBjc3N5eWxleChZWVNUWVBFKiB5eWx2YWwsIHZv
aWQqIHBhcnNlcikKICV0eXBlIDx2YWx1ZT4gdGVybQogJXR5cGUgPHZhbHVlPiB1bmFyeV90ZXJt
CiAldHlwZSA8dmFsdWU+IGZ1bmN0aW9uCisldHlwZSA8dmFsdWU+IGNhbGNfZnVuY190ZXJtCisl
dHlwZSA8Y2hhcmFjdGVyPiBjYWxjX2Z1bmNfb3BlcmF0b3IKKyV0eXBlIDx2YWx1ZUxpc3Q+IGNh
bGNfZnVuY19leHByCisldHlwZSA8dmFsdWVMaXN0PiBjYWxjX2Z1bmNfZXhwcl9saXN0CisldHlw
ZSA8dmFsdWVMaXN0PiBjYWxjX2Z1bmNfcGFyZW5fZXhwcgorJXR5cGUgPHZhbHVlPiBjYWxjX2Z1
bmN0aW9uCisldHlwZSA8c3RyaW5nPiBtaW5fb3JfbWF4CisldHlwZSA8dmFsdWU+IG1pbl9vcl9t
YXhfZnVuY3Rpb24KIAogJXR5cGUgPHN0cmluZz4gZWxlbWVudF9uYW1lCiAldHlwZSA8c3RyaW5n
PiBhdHRyX25hbWUKQEAgLTEzNjEsNiArMTM3MywxMiBAQCB0ZXJtOgogICB8IGZ1bmN0aW9uIHsK
ICAgICAgICQkID0gJDE7CiAgIH0KKyAgfCBjYWxjX2Z1bmN0aW9uIHsKKyAgICAgICQkID0gJDE7
CisgIH0KKyAgfCBtaW5fb3JfbWF4X2Z1bmN0aW9uIHsKKyAgICAgICQkID0gJDE7CisgIH0KICAg
fCAnJScgbWF5YmVfc3BhY2UgeyAvKiBIYW5kbGUgd2lkdGg6ICU7ICovCiAgICAgICAkJC5pZCA9
IDA7ICQkLnVuaXQgPSAwOwogICB9CkBAIC0xNDE3LDYgKzE0MzUsMTU1IEBAIGZ1bmN0aW9uOgog
ICAgICAgICAkJC5mdW5jdGlvbiA9IGY7CiAgIH0KICAgOworIAorY2FsY19mdW5jX3Rlcm06Cisg
ICAgdGVybQorICA7CisKK2NhbGNfZnVuY19vcGVyYXRvcjoKKyAgICAnKycgV0hJVEVTUEFDRSB7
CisgICAgICAgICQkID0gJysnOworICAgIH0KKyAgfCAnLScgV0hJVEVTUEFDRSB7CisgICAgICAg
ICQkID0gJy0nOworICAgIH0KKyAgfCAnKicgbWF5YmVfc3BhY2UgeworICAgICAgICAkJCA9ICcq
JzsKKyAgICB9CisgIHwgJy8nIG1heWJlX3NwYWNlIHsKKyAgICAgICAgJCQgPSAnLyc7CisgICAg
fQorICB8IElERU5UIG1heWJlX3NwYWNlIHsKKyAgICAgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNl
KCJtb2QiLCAkMS5jaGFyYWN0ZXJzLCAkMS5sZW5ndGgpKQorICAgICAgICAgICAgJCQgPSAnJSc7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIFlZRVJST1I7CisgICAgfQorICA7CisKK2NhbGNf
ZnVuY19wYXJlbl9leHByOgorICAgICcoJyBtYXliZV9zcGFjZSBjYWxjX2Z1bmNfZXhwciBtYXli
ZV9zcGFjZSAnKScgbWF5YmVfc3BhY2UgeworICAgICAgICAkJCA9ICQzOworICAgICAgICBpZiAo
JCQpIHsKKyAgICAgICAgICAgIENTU1BhcnNlclZhbHVlIHY7CisgICAgICAgICAgICB2LmlkID0g
MDsKKyAgICAgICAgICAgIHYudW5pdCA9IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvcjsKKyAgICAg
ICAgICAgIHYuaVZhbHVlID0gJygnOworICAgICAgICAgICAgJCQtPmluc2VydFZhbHVlQXQoMCwg
dik7CisgICAgICAgICAgICB2LmlWYWx1ZSA9ICcpJzsKKyAgICAgICAgICAgICQkLT5hZGRWYWx1
ZSh2KTsKKyAgICAgICAgfQorICAgIH0KKworY2FsY19mdW5jX2V4cHI6CisgICAgY2FsY19mdW5j
X3Rlcm0gbWF5YmVfc3BhY2UgeworICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxD
U1NQYXJzZXIqPihwYXJzZXIpOworICAgICAgICAkJCA9IHAtPmNyZWF0ZUZsb2F0aW5nVmFsdWVM
aXN0KCk7CisgICAgICAgICQkLT5hZGRWYWx1ZShwLT5zaW5rRmxvYXRpbmdWYWx1ZSgkMSkpOwor
ICAgIH0KKyAgfCBjYWxjX2Z1bmNfZXhwciBjYWxjX2Z1bmNfb3BlcmF0b3IgY2FsY19mdW5jX3Rl
cm0geworICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJz
ZXIpOworICAgICAgICAkJCA9ICQxOworICAgICAgICBpZiAoJCQpIHsKKyAgICAgICAgICAgIGlm
ICgkMikgeworICAgICAgICAgICAgICAgIENTU1BhcnNlclZhbHVlIHY7CisgICAgICAgICAgICAg
ICAgdi5pZCA9IDA7CisgICAgICAgICAgICAgICAgdi51bml0ID0gQ1NTUGFyc2VyVmFsdWU6Ok9w
ZXJhdG9yOworICAgICAgICAgICAgICAgIHYuaVZhbHVlID0gJDI7CisgICAgICAgICAgICAgICAg
JCQtPmFkZFZhbHVlKHYpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgJCQtPmFkZFZhbHVl
KHAtPnNpbmtGbG9hdGluZ1ZhbHVlKCQzKSk7CisgICAgICAgIH0KKyAgICB9CisgIHwgY2FsY19m
dW5jX2V4cHIgY2FsY19mdW5jX29wZXJhdG9yIGNhbGNfZnVuY19wYXJlbl9leHByIHsKKyAgICAg
ICAgJCQgPSAkMTsKKyAgICAgICAgaWYgKCQkKSB7CisgICAgICAgICAgICBpZiAoJDIpIHsKKyAg
ICAgICAgICAgICAgICBDU1NQYXJzZXJWYWx1ZSB2OworICAgICAgICAgICAgICAgIHYuaWQgPSAw
OworICAgICAgICAgICAgICAgIHYudW5pdCA9IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvcjsKKyAg
ICAgICAgICAgICAgICB2LmlWYWx1ZSA9ICQyOworICAgICAgICAgICAgICAgICQkLT5hZGRWYWx1
ZSh2KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICgkMykKKyAgICAgICAgICAgICAg
ICAkJC0+YXBwZW5kKCooJDMpKTsKKyAgICAgICAgfQorICAgIH0KKyAgfCBjYWxjX2Z1bmNfcGFy
ZW5fZXhwcgorICB8IGNhbGNfZnVuY19leHByIGVycm9yIHsKKyAgICAgICAgJCQgPSAwOworICAg
IH0KKyAgOworCitjYWxjX2Z1bmNfZXhwcl9saXN0OgorICAgIGNhbGNfZnVuY19leHByICB7Cisg
ICAgICAgICQkID0gJDE7CisgICAgfSAgICAKKyAgICB8IGNhbGNfZnVuY19leHByX2xpc3QgJywn
IG1heWJlX3NwYWNlIGNhbGNfZnVuY19leHByIHsKKyAgICAgICAgJCQgPSAkMTsKKyAgICAgICAg
aWYgKCQkKSB7CisgICAgICAgICAgICBDU1NQYXJzZXJWYWx1ZSB2OworICAgICAgICAgICAgdi5p
ZCA9IDA7CisgICAgICAgICAgICB2LnVuaXQgPSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3I7Cisg
ICAgICAgICAgICB2LmlWYWx1ZSA9ICcsJzsKKyAgICAgICAgICAgICQkLT5hZGRWYWx1ZSh2KTsK
KyAgICAgICAgICAgICQkLT5hcHBlbmQoKigkNCkpOworICAgICAgICB9CisgICAgfQorICAgIAor
CitjYWxjX2Z1bmN0aW9uOgorICAgIENBTENGVU5DVElPTiBtYXliZV9zcGFjZSBjYWxjX2Z1bmNf
ZXhwciAnKScgbWF5YmVfc3BhY2UgeworICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2Fz
dDxDU1NQYXJzZXIqPihwYXJzZXIpOworICAgICAgICBDU1NQYXJzZXJGdW5jdGlvbiogZiA9IHAt
PmNyZWF0ZUZsb2F0aW5nRnVuY3Rpb24oKTsKKyAgICAgICAgZi0+bmFtZSA9ICQxOworICAgICAg
ICBmLT5hcmdzID0gcC0+c2lua0Zsb2F0aW5nVmFsdWVMaXN0KCQzKTsKKyAgICAgICAgJCQuaWQg
PSAwOworICAgICAgICAkJC51bml0ID0gQ1NTUGFyc2VyVmFsdWU6OkZ1bmN0aW9uOworICAgICAg
ICAkJC5mdW5jdGlvbiA9IGY7CisgICAgfQorICAgIHwgQ0FMQ0ZVTkNUSU9OIG1heWJlX3NwYWNl
IGVycm9yIHsKKyAgICAgICAgQ1NTUGFyc2VyKiBwID0gc3RhdGljX2Nhc3Q8Q1NTUGFyc2VyKj4o
cGFyc2VyKTsKKyAgICAgICAgQ1NTUGFyc2VyRnVuY3Rpb24qIGYgPSBwLT5jcmVhdGVGbG9hdGlu
Z0Z1bmN0aW9uKCk7CisgICAgICAgIGYtPm5hbWUgPSAkMTsKKyAgICAgICAgZi0+YXJncyA9IDA7
CisgICAgICAgICQkLmlkID0gMDsKKyAgICAgICAgJCQudW5pdCA9IENTU1BhcnNlclZhbHVlOjpG
dW5jdGlvbjsKKyAgICAgICAgJCQuZnVuY3Rpb24gPSBmOworICAgIH0KKyAgICA7CisKKworbWlu
X29yX21heDoKKyAgICBNSU5GVU5DVElPTiB7CisgICAgICAgICQkID0gJDE7CisgICAgfQorICAg
IHwgTUFYRlVOQ1RJT04geworICAgICAgICAkJCA9ICQxOworICAgIH0KKyAgICA7CisKK21pbl9v
cl9tYXhfZnVuY3Rpb246CisgICAgbWluX29yX21heCBtYXliZV9zcGFjZSBjYWxjX2Z1bmNfZXhw
cl9saXN0ICcpJyBtYXliZV9zcGFjZSB7CisgICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19j
YXN0PENTU1BhcnNlcio+KHBhcnNlcik7CisgICAgICAgIENTU1BhcnNlckZ1bmN0aW9uKiBmID0g
cC0+Y3JlYXRlRmxvYXRpbmdGdW5jdGlvbigpOworICAgICAgICBmLT5uYW1lID0gJDE7CisgICAg
ICAgIGYtPmFyZ3MgPSBwLT5zaW5rRmxvYXRpbmdWYWx1ZUxpc3QoJDMpOworICAgICAgICAkJC5p
ZCA9IDA7CisgICAgICAgICQkLnVuaXQgPSBDU1NQYXJzZXJWYWx1ZTo6RnVuY3Rpb247CisgICAg
ICAgICQkLmZ1bmN0aW9uID0gZjsKKyAgICB9IAorICAgIHwgbWluX29yX21heCBtYXliZV9zcGFj
ZSBlcnJvciB7CisgICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+
KHBhcnNlcik7CisgICAgICAgIENTU1BhcnNlckZ1bmN0aW9uKiBmID0gcC0+Y3JlYXRlRmxvYXRp
bmdGdW5jdGlvbigpOworICAgICAgICBmLT5uYW1lID0gJDE7CisgICAgICAgIGYtPmFyZ3MgPSAw
OworICAgICAgICAkJC5pZCA9IDA7CisgICAgICAgICQkLnVuaXQgPSBDU1NQYXJzZXJWYWx1ZTo6
RnVuY3Rpb247CisgICAgICAgICQkLmZ1bmN0aW9uID0gZjsKKyAgICB9CisgICAgOworCiAvKgog
ICogVGhlcmUgaXMgYSBjb25zdHJhaW50IG9uIHRoZSBjb2xvciB0aGF0IGl0IG11c3QKICAqIGhh
dmUgZWl0aGVyIDMgb3IgNiBoZXgtZGlnaXRzIChpLmUuLCBbMC05YS1mQS1GXSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlci5jcHAKaW5kZXggNTM3ZmNhYzU0YmM1MDk2ZGI0ZTZmYWFmZGNhNTk3ZjU3MDhi
MmJkYi4uMDU1Y2NjN2QzMTIzNDNiMDJjNmE5YTE0YmRkYmQ2MzA3ZTY2MDA4OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5jcHAKQEAgLTEyOCw2ICsxMjgsMTQgQEAgc3RhdGljIGJvb2wgaGFzUHJl
Zml4KGNvbnN0IGNoYXIqIHN0cmluZywgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBjaGFyKiBwcmVm
aXgpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitzdGF0aWMgYm9vbCBpc0NhbGMoQ1NTUGFyc2Vy
VmFsdWUqIHZhbHVlKSAKK3sKKyAgICByZXR1cm4gKHZhbHVlLT51bml0ID09IENTU1BhcnNlclZh
bHVlOjpGdW5jdGlvbikgCisgICAgICAgICYmIChlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZS0+ZnVu
Y3Rpb24tPm5hbWUsICItd2Via2l0LWNhbGMoIikKKyAgICAgICAgICAgIHx8IGVxdWFsSWdub3Jp
bmdDYXNlKHZhbHVlLT5mdW5jdGlvbi0+bmFtZSwgIi13ZWJraXQtbWluKCIpCisgICAgICAgICAg
ICB8fCBlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZS0+ZnVuY3Rpb24tPm5hbWUsICItd2Via2l0LW1h
eCgiKSk7Cit9CisKIENTU1BhcnNlcjo6Q1NTUGFyc2VyKGJvb2wgc3RyaWN0UGFyc2luZykKICAg
ICA6IG1fc3RyaWN0KHN0cmljdFBhcnNpbmcpCiAgICAgLCBtX2ltcG9ydGFudChmYWxzZSkKQEAg
LTQ3MCw1MCArNDc4LDY5IEBAIERvY3VtZW50KiBDU1NQYXJzZXI6OmRvY3VtZW50KCkgY29uc3QK
IGJvb2wgQ1NTUGFyc2VyOjp2YWxpZFVuaXQoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBVbml0cyB1
bml0ZmxhZ3MsIGJvb2wgc3RyaWN0KQogewogICAgIGJvb2wgYiA9IGZhbHNlOwotICAgIHN3aXRj
aCAodmFsdWUtPnVuaXQpIHsKLSAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVS
OgotICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZOdW1iZXIpOwotICAgICAgICBpZiAoIWIgJiYg
KCh1bml0ZmxhZ3MgJiAoRkxlbmd0aCB8IEZBbmdsZSB8IEZUaW1lKSkgJiYgKHZhbHVlLT5mVmFs
dWUgPT0gMCB8fCAhc3RyaWN0KSkpIHsKLSAgICAgICAgICAgIHZhbHVlLT51bml0ID0gKHVuaXRm
bGFncyAmIEZMZW5ndGgpID8gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QWCA6Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICgodW5pdGZsYWdzICYgRkFuZ2xlKSA/IENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfREVHIDogQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19NUyk7Ci0gICAgICAgICAgICBiID0g
dHJ1ZTsKLSAgICAgICAgfQotICAgICAgICBpZiAoIWIgJiYgKHVuaXRmbGFncyAmIEZJbnRlZ2Vy
KSAmJiB2YWx1ZS0+aXNJbnQpCi0gICAgICAgICAgICBiID0gdHJ1ZTsKLSAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0U6Ci0gICAgICAgIGIg
PSAodW5pdGZsYWdzICYgRlBlcmNlbnQpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIENTU1Bh
cnNlclZhbHVlOjpRX0VNUzoKLSAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfRU1TOgot
ICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19SRU1TOgotICAgIGNhc2UgQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU19FWFM6Ci0gICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYOgot
ICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DTToKLSAgICBjYXNlIENTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NfTU06Ci0gICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0lOOgotICAg
IGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QVDoKLSAgICBjYXNlIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfUEM6Ci0gICAgICAgIGIgPSAodW5pdGZsYWdzICYgRkxlbmd0aCk7Ci0gICAgICAg
IGJyZWFrOwotICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19NUzoKLSAgICBjYXNlIENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NfUzoKLSAgICAgICAgYiA9ICh1bml0ZmxhZ3MgJiBGVGltZSk7
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19ERUc6Ci0g
ICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1JBRDoKLSAgICBjYXNlIENTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NfR1JBRDoKLSAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVFVSTjoK
LSAgICAgICAgYiA9ICh1bml0ZmxhZ3MgJiBGQW5nbGUpOwotICAgICAgICBicmVhazsKLSAgICBj
YXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfSFo6Ci0gICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTX0tIWjoKLSAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfRElNRU5TSU9OOgot
ICAgIGRlZmF1bHQ6Ci0gICAgICAgIGJyZWFrOworICAgIGlmIChpc0NhbGModmFsdWUpKSB7Cisg
ICAgICAgIC8vIEZJWE1FOiBpbnRlZ3JhdGUgdGhpcyBwcm9wZXJseSB3aXRoIHRoZSBub24tY2Fs
YyB2YWxpZGF0aW9uIGNvZGUKKyAgICAgICAgaWYgKHBhcnNlQ2FsYyh2YWx1ZSkpIHsKKyAgICAg
ICAgICAgIHN3aXRjaCAobV9wYXJzZWRDYWxjLT5jYXRlZ29yeSgpKSB7CisgICAgICAgICAgICBj
YXNlIENhbGNWYWx1ZTo6VUxlbmd0aDoKKyAgICAgICAgICAgICAgICBiID0gKHVuaXRmbGFncyAm
IEZMZW5ndGgpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBDYWxj
VmFsdWU6OlVQZXJjZW50OgorICAgICAgICAgICAgICAgIGIgPSAodW5pdGZsYWdzICYgRlBlcmNl
bnQpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBDYWxjVmFsdWU6
OlVOdW1iZXI6CisgICAgICAgICAgICAgICAgYiA9ICh1bml0ZmxhZ3MgJiBGTnVtYmVyKTsKKyAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAg
ICBzd2l0Y2ggKHZhbHVlLT51bml0KSB7CisgICAgICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19OVU1CRVI6CisgICAgICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZOdW1iZXIpOworICAg
ICAgICAgICAgaWYgKCFiICYmICgodW5pdGZsYWdzICYgKEZMZW5ndGggfCBGQW5nbGUgfCBGVGlt
ZSkpICYmICghdmFsdWUtPmZWYWx1ZSB8fCAhc3RyaWN0KSkpIHsKKyAgICAgICAgICAgICAgICB2
YWx1ZS0+dW5pdCA9ICh1bml0ZmxhZ3MgJiBGTGVuZ3RoKSA/IENTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NfUFggOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1bml0ZmxhZ3MgJiBGQW5n
bGUpID8gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19ERUcgOiBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NT
X01TKTsKKyAgICAgICAgICAgICAgICBiID0gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIGlmICghYiAmJiAodW5pdGZsYWdzICYgRkludGVnZXIpICYmIHZhbHVlLT5pc0ludCkKKyAg
ICAgICAgICAgICAgICBiID0gdHJ1ZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNl
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRToKKyAgICAgICAgICAgIGIgPSAodW5p
dGZsYWdzICYgRlBlcmNlbnQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ1NT
UGFyc2VyVmFsdWU6OlFfRU1TOgorICAgICAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
RU1TOgorICAgICAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUkVNUzoKKyAgICAgICAg
Y2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0VYUzoKKyAgICAgICAgY2FzZSBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX1BYOgorICAgICAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfQ006
CisgICAgICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19NTToKKyAgICAgICAgY2FzZSBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0lOOgorICAgICAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfUFQ6CisgICAgICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQzoKKyAgICAg
ICAgICAgIGIgPSAodW5pdGZsYWdzICYgRkxlbmd0aCk7CisgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX01TOgorICAgICAgICBjYXNlIENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NfUzoKKyAgICAgICAgICAgIGIgPSAodW5pdGZsYWdzICYgRlRpbWUp
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U19ERUc6CisgICAgICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19SQUQ6CisgICAgICAg
IGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19HUkFEOgorICAgICAgICBjYXNlIENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NfVFVSTjoKKyAgICAgICAgICAgIGIgPSAodW5pdGZsYWdzICYgRkFuZ2xl
KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NfSFo6CisgICAgICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19LSFo6CisgICAgICAg
IGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19ESU1FTlNJT046CisgICAgICAgIGRlZmF1bHQ6
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBpZiAoYiAmJiB1bml0Zmxh
Z3MgJiBGTm9uTmVnICYmIHZhbHVlLT5mVmFsdWUgPCAwKQorICAgICAgICAgICAgYiA9IGZhbHNl
OwogICAgIH0KLSAgICBpZiAoYiAmJiB1bml0ZmxhZ3MgJiBGTm9uTmVnICYmIHZhbHVlLT5mVmFs
dWUgPCAwKQotICAgICAgICBiID0gZmFsc2U7CiAgICAgcmV0dXJuIGI7CiB9CiAKQEAgLTYwMSw2
ICs2MjgsOCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShpbnQgcHJvcElkLCBib29sIGlt
cG9ydGFudCkKICAgICBpZiAoIXZhbHVlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBB
U1NFUlQoIW1fcGFyc2VkQ2FsYy5nZXQoKSk7CisgICAgCiAgICAgaW50IGlkID0gdmFsdWUtPmlk
OwogCiAgICAgLy8gSW4gcXVpcmtzIG1vZGUsIHdlIHdpbGwgbG9vayBmb3IgdW5pdHMgdGhhdCBo
YXZlIGJlZW4gaW5jb3JyZWN0bHkgc2VwYXJhdGVkIGZyb20gdGhlIG51bWJlciB0aGV5IGJlbG9u
ZyB0bwpAQCAtMTg1NSw2ICsxODg0LDEwIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKGlu
dCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICAgICAgcGFyc2VkVmFsdWUgPSBwcmlt
aXRpdmVWYWx1ZUNhY2hlKCktPmNyZWF0ZVZhbHVlKHZhbHVlLT5mVmFsdWUsIChDU1NQcmltaXRp
dmVWYWx1ZTo6VW5pdFR5cGVzKSB2YWx1ZS0+dW5pdCk7CiAgICAgICAgIGVsc2UgaWYgKHZhbHVl
LT51bml0ID49IENTU1BhcnNlclZhbHVlOjpRX0VNUykKICAgICAgICAgICAgIHBhcnNlZFZhbHVl
ID0gQ1NTUXVpcmtQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHZhbHVlLT5mVmFsdWUsIENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NfRU1TKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBBU1NFUlQo
aXNDYWxjKHZhbHVlKSk7CisgICAgICAgICAgICBwYXJzZWRWYWx1ZSA9IENTU1ByaW1pdGl2ZVZh
bHVlOjpjcmVhdGUobV9wYXJzZWRDYWxjLnJlbGVhc2UoKSk7CisgICAgICAgIH0KICAgICAgICAg
bV92YWx1ZUxpc3QtPm5leHQoKTsKICAgICB9CiAgICAgaWYgKHBhcnNlZFZhbHVlKSB7CkBAIC01
NjEyLDYgKzU2NDUsMjIgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVGV4dEVtcGhhc2lzU3R5bGUo
Ym9vbCBpbXBvcnRhbnQpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIENTU1BhcnNlcjo6
cGFyc2VDYWxjKENTU1BhcnNlclZhbHVlKiB2YWx1ZSkgCit7CisgICAgQVNTRVJUKGlzQ2FsYyh2
YWx1ZSkpOworICAgIAorICAgIENTU1BhcnNlclZhbHVlTGlzdCogYXJncyA9IHZhbHVlLT5mdW5j
dGlvbi0+YXJncy5nZXQoKTsKKyAgICBpZiAoIWFyZ3MgfHwgIWFyZ3MtPnNpemUoKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgbV9wYXJzZWRDYWxjID0gQ1NTQ2FsY1ZhbHVlOjpjcmVh
dGVGcm9tUGFyc2VyVmFsdWVMaXN0KHZhbHVlLT5mdW5jdGlvbi0+bmFtZSwgYXJncyk7CisgICAg
CisgICAgaWYgKCFtX3BhcnNlZENhbGMuZ2V0KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAKKyAgICByZXR1cm4gdHJ1ZTsKK30KKyAgICAKIHN0YXRpYyBpbmxpbmUgaW50IHl5ZXJyb3Io
Y29uc3QgY2hhciopIHsgcmV0dXJuIDE7IH0KIAogI2RlZmluZSBFTkRfVE9LRU4gMApAQCAtNTY0
NCw2ICs1NjkzLDkgQEAgaW50IENTU1BhcnNlcjo6bGV4KHZvaWQqIHl5bHZhbFdpdGhvdXRUeXBl
KQogICAgIGNhc2UgVU5JQ09ERVJBTkdFOgogICAgIGNhc2UgRlVOQ1RJT046CiAgICAgY2FzZSBO
T1RGVU5DVElPTjoKKyAgICBjYXNlIENBTENGVU5DVElPTjoKKyAgICBjYXNlIE1JTkZVTkNUSU9O
OgorICAgIGNhc2UgTUFYRlVOQ1RJT046CiAgICAgICAgIHl5bHZhbC0+c3RyaW5nLmNoYXJhY3Rl
cnMgPSB0OwogICAgICAgICB5eWx2YWwtPnN0cmluZy5sZW5ndGggPSBsZW5ndGg7CiAgICAgICAg
IGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IGYwZWZlZTVjZTRiM2I2ODA4NTc0MDVk
NGFlNDU4NWIxZmM4MmY5NDguLjcxODIzOWZkYmUwYmQyODIzZDhjZDA4MzgwYzAwZmNkMWNkYjY3
N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTIzLDYgKzIzLDcgQEAKICNpZm5kZWYgQ1NT
UGFyc2VyX2gKICNkZWZpbmUgQ1NTUGFyc2VyX2gKIAorI2luY2x1ZGUgIkNTU0NhbGNWYWx1ZS5o
IgogI2luY2x1ZGUgIkNTU0dyYWRpZW50VmFsdWUuaCIKICNpbmNsdWRlICJDU1NQYXJzZXJWYWx1
ZXMuaCIKICNpbmNsdWRlICJDU1NQcm9wZXJ0eVNvdXJjZURhdGEuaCIKQEAgLTE3OCw2ICsxNzks
OCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgYm9vbCBwYXJzZVRleHRFbXBoYXNp
c1N0eWxlKGJvb2wgaW1wb3J0YW50KTsKIAorICAgICAgICBib29sIHBhcnNlQ2FsYyhDU1NQYXJz
ZXJWYWx1ZSopOworCiAgICAgICAgIGludCB5eXBhcnNlKCk7CiAKICAgICAgICAgQ1NTUGFyc2Vy
U2VsZWN0b3IqIGNyZWF0ZUZsb2F0aW5nU2VsZWN0b3IoKTsKQEAgLTMyNCw2ICszMjcsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIE93blB0cjxWZWN0b3I8T3duUHRyPE1lZGlhUXVl
cnlFeHA+ID4gPiBtX2Zsb2F0aW5nTWVkaWFRdWVyeUV4cExpc3Q7CiAKICAgICAgICAgVmVjdG9y
PE93blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gPiBtX3JldXNhYmxlU2VsZWN0b3JWZWN0b3I7Cisg
ICAgICAgIAorICAgICAgICBSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBtX3BhcnNlZENhbGM7CiAKICAg
ICAgICAgLy8gZGVmaW5lcyB1bml0cyBhbGxvd2VkIGZvciBhIGNlcnRhaW4gcHJvcGVydHksIHVz
ZWQgaW4gcGFyc2VVbml0CiAgICAgICAgIGVudW0gVW5pdHMgewpAQCAtMzQ0LDcgKzM0OSw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxVbml0
cz4oc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGEpIHwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGIpKTsK
ICAgICAgICAgfQogCi0gICAgICAgIHN0YXRpYyBib29sIHZhbGlkVW5pdChDU1NQYXJzZXJWYWx1
ZSosIFVuaXRzLCBib29sIHN0cmljdCk7CisgICAgICAgIGJvb2wgdmFsaWRVbml0KENTU1BhcnNl
clZhbHVlKiwgVW5pdHMsIGJvb2wgc3RyaWN0KTsKIAogICAgICAgICBmcmllbmQgY2xhc3MgVHJh
bnNmb3JtT3BlcmF0aW9uSW5mbzsKICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlclZhbHVlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFs
dWVzLmNwcAppbmRleCBkYzBlODJiZjljNTlkMWU2NDcwNWQ3ZWU2MDc4MTI2ZGFmYjMzNWRjLi44
MzE1YjIzYmM3ZTRhOGY3MWZlZWU5MWFmZGJjNTAyOGY0ZDczZjQ5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyVmFsdWVzLmNwcApAQCAtNDMsMTIgKzQzLDIzIEBAIHZvaWQgQ1NTUGFyc2Vy
VmFsdWVMaXN0OjphZGRWYWx1ZShjb25zdCBDU1NQYXJzZXJWYWx1ZSYgdikKIHsKICAgICBtX3Zh
bHVlcy5hcHBlbmQodik7CiB9Ci0gICAgCisKK3ZvaWQgQ1NTUGFyc2VyVmFsdWVMaXN0OjppbnNl
cnRWYWx1ZUF0KHVuc2lnbmVkIGksIGNvbnN0IENTU1BhcnNlclZhbHVlJiB2KQoreworICAgIG1f
dmFsdWVzLmluc2VydChpLCB2KTsKK30KKwogdm9pZCBDU1NQYXJzZXJWYWx1ZUxpc3Q6OmRlbGV0
ZVZhbHVlQXQodW5zaWduZWQgaSkKIHsgCiAgICAgbV92YWx1ZXMucmVtb3ZlKGkpOwogfQogCit2
b2lkIENTU1BhcnNlclZhbHVlTGlzdDo6YXBwZW5kKENTU1BhcnNlclZhbHVlTGlzdCYgcmlnaHQp
Cit7CisgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCByaWdodC5zaXplKCk7ICsraSkK
KyAgICAgICAgbV92YWx1ZXMuYXBwZW5kKCoocmlnaHQudmFsdWVBdChpKSkpOworfQorCiBQYXNz
UmVmUHRyPENTU1ZhbHVlPiBDU1NQYXJzZXJWYWx1ZTo6Y3JlYXRlQ1NTVmFsdWUoKQogewogICAg
IFJlZlB0cjxDU1NWYWx1ZT4gcGFyc2VkVmFsdWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFs
dWVzLmgKaW5kZXggZDA4NDA5MTFhNDJjNzg4ZjI1M2VhY2IwOTVjNmMxMDk5NDFkYTJkNy4uZTIx
NWQ1ZjhhYjc4YTJiOTA4MTlmY2M1MTI2Yzg2OTAwOWVhZWUyOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQYXJzZXJWYWx1ZXMuaApAQCAtNzEsNyArNzEsOSBAQCBwdWJsaWM6CiAgICAgfkNTU1BhcnNl
clZhbHVlTGlzdCgpOwogICAgIAogICAgIHZvaWQgYWRkVmFsdWUoY29uc3QgQ1NTUGFyc2VyVmFs
dWUmKTsKKyAgICB2b2lkIGluc2VydFZhbHVlQXQodW5zaWduZWQsIGNvbnN0IENTU1BhcnNlclZh
bHVlJik7CiAgICAgdm9pZCBkZWxldGVWYWx1ZUF0KHVuc2lnbmVkKTsKKyAgICB2b2lkIGFwcGVu
ZChDU1NQYXJzZXJWYWx1ZUxpc3QmIHJpZ2h0KTsKIAogICAgIHVuc2lnbmVkIHNpemUoKSBjb25z
dCB7IHJldHVybiBtX3ZhbHVlcy5zaXplKCk7IH0KICAgICBDU1NQYXJzZXJWYWx1ZSogY3VycmVu
dCgpIHsgcmV0dXJuIG1fY3VycmVudCA8IG1fdmFsdWVzLnNpemUoKSA/ICZtX3ZhbHVlc1ttX2N1
cnJlbnRdIDogMDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2
ZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKaW5k
ZXggMDRmMTA4OWM0ZjU5ZTkyZmVjZWQ4Yzg2MDYwNzhhNmI4NjAxZDQyNi4uNTg5Mjk4OGY0YTdl
ZWYyZTBhZGEzN2MxN2MwZTFmYTEzNzY2YjkyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJp
bWl0aXZlVmFsdWUuY3BwCkBAIC0yMSwxMSArMjEsMTMgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJDU1NQcmltaXRpdmVWYWx1ZS5oIgogCisjaW5jbHVkZSAiQ1NTQ2FsY1ZhbHVl
LmgiCiAjaW5jbHVkZSAiQ1NTSGVscGVyLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCiAjaW5j
bHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkNTU1N0eWxlU2hlZXQuaCIKICNp
bmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCisjaW5jbHVkZSAiQ2FsY1ZhbHVlLmgiCiAjaW5j
bHVkZSAiQ29sb3IuaCIKICNpbmNsdWRlICJDb3VudGVyLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9u
Q29kZS5oIgpAQCAtODcsNiArODksMjIgQEAgc3RhdGljIENTU1RleHRDYWNoZSYgY3NzVGV4dENh
Y2hlKCkKICAgICByZXR1cm4gY2FjaGU7CiB9CiAKK3Vuc2lnbmVkIHNob3J0IENTU1ByaW1pdGl2
ZVZhbHVlOjpwcmltaXRpdmVUeXBlKCkgY29uc3QgCit7CisgICAgaWYgKG1fdHlwZSAhPSBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTX0NBTEMpCisgICAgICAgIHJldHVybiBtX3R5cGU7IAorICAgIAor
ICAgIHN3aXRjaCAobV92YWx1ZS5jYWxjLT5jYXRlZ29yeSgpKSB7CisgICAgY2FzZSBDYWxjVmFs
dWU6OlVOdW1iZXI6CisgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BBUlNF
Ul9JTlRFR0VSOworICAgIGNhc2UgQ2FsY1ZhbHVlOjpVUGVyY2VudDoKKyAgICAgICAgcmV0dXJu
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfQ0FMQ19QRVJDRU5UQUdFOworICAgIGNhc2UgQ2FsY1Zh
bHVlOjpVTGVuZ3RoOgorICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QWDsK
KyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19VTktO
T1dOOworICAgIH0KK30KIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlT3JQcm9wZXJ0
eU5hbWUoaW50IHZhbHVlT3JQcm9wZXJ0eUlEKQogewogICAgIEFTU0VSVF9BUkcodmFsdWVPclBy
b3BlcnR5SUQsIHZhbHVlT3JQcm9wZXJ0eUlEID49IDApOwpAQCAtMTcyLDYgKzE5MCw5IEBAIENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShjb25zdCBMZW5ndGgmIGxlbmd0aCkK
ICAgICAgICAgICAgIG1fdHlwZSA9IENTU19QRVJDRU5UQUdFOwogICAgICAgICAgICAgbV92YWx1
ZS5udW0gPSBsZW5ndGgucGVyY2VudCgpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh
c2UgQ2FsY3VsYXRlZDogLy8gRklYTUUgaXMgdGhpcyBjb3JyZWN0PworICAgICAgICAgICAgbV90
eXBlID0gQ1NTX1VOS05PV047CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBSZWxh
dGl2ZToKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgYnJl
YWs7CkBAIC0yMDgsNiArMjI5LDEzIEBAIHZvaWQgQ1NTUHJpbWl0aXZlVmFsdWU6OmluaXQoUGFz
c1JlZlB0cjxQYWlyPiBwKQogICAgIG1fdmFsdWUucGFpciA9IHAucmVsZWFzZVJlZigpOwogfQog
Cit2b2lkIENTU1ByaW1pdGl2ZVZhbHVlOjppbml0KFBhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBj
KQoreworICAgIG1fdHlwZSA9IENTU19DQUxDOworICAgIG1faGFzQ2FjaGVkQ1NTVGV4dCA9IGZh
bHNlOworICAgIG1fdmFsdWUuY2FsYyA9IGMucmVsZWFzZVJlZigpOworfQorCiBDU1NQcmltaXRp
dmVWYWx1ZTo6fkNTU1ByaW1pdGl2ZVZhbHVlKCkKIHsKICAgICBjbGVhbnVwKCk7CkBAIC0yMzgs
NiArMjY2LDkgQEAgdm9pZCBDU1NQcmltaXRpdmVWYWx1ZTo6Y2xlYW51cCgpCiAgICAgICAgICAg
ICAgICAgbV92YWx1ZS5yZWdpb24tPmRlcmVmKCk7CiAgICAgICAgICAgICBicmVhazsKICNlbmRp
ZgorICAgICAgICBjYXNlIENTU19DQUxDOgorICAgICAgICAgICAgbV92YWx1ZS5jYWxjLT5kZXJl
ZigpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBi
cmVhazsKICAgICB9CkBAIC0zNDAsNyArMzcxLDE3IEBAIGRvdWJsZSBDU1NQcmltaXRpdmVWYWx1
ZTo6Y29tcHV0ZUxlbmd0aERvdWJsZShSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiBy
CiAgICAgICAgICAgICByZXR1cm4gLTEuMDsKICAgICB9CiAKLSAgICBkb3VibGUgcmVzdWx0ID0g
Z2V0RG91YmxlVmFsdWUoKSAqIGZhY3RvcjsKKyAgICBkb3VibGUgdmFsdWU7CisgICAgaWYgKG1f
dHlwZSAhPSBDU1NfQ0FMQykKKyAgICAgICAgdmFsdWUgPSBnZXREb3VibGVWYWx1ZSgpOworICAg
IGVsc2UgeworICAgICAgICBPd25QdHI8Q2FsY1ZhbHVlPiBjYWxjVmFsdWUgPSBtX3ZhbHVlLmNh
bGMtPnRvQ2FsY1ZhbHVlKHN0eWxlLCByb290U3R5bGUsIDEuMCk7CisgICAgICAgIGlmIChjYWxj
VmFsdWUuZ2V0KCkpCisgICAgICAgICAgICB2YWx1ZSA9IGNhbGNWYWx1ZS0+ZXZhbHVhdGUoREJM
X01BWCk7CisgICAgICAgIGVsc2UgCisgICAgICAgICAgICB2YWx1ZSA9IDA7CisgICAgfQorICAg
IGRvdWJsZSByZXN1bHQgPSB2YWx1ZSAqIGZhY3RvcjsKICAgICBpZiAoIWFwcGx5Wm9vbU11bHRp
cGxpZXIgfHwgbXVsdGlwbGllciA9PSAxLjApCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAg
IApAQCAtNDI2LDYgKzQ2NywxOCBAQCBkb3VibGUgQ1NTUHJpbWl0aXZlVmFsdWU6OmdldERvdWJs
ZVZhbHVlKHVuc2lnbmVkIHNob3J0IHVuaXRUeXBlKSBjb25zdAogICAgIHJldHVybiByZXN1bHQ7
CiB9CiAKK2RvdWJsZSBDU1NQcmltaXRpdmVWYWx1ZTo6Z2V0RG91YmxlVmFsdWUoKSBjb25zdAor
eyAKKyAgICBpZiAobV90eXBlICE9IENTU19DQUxDKQorICAgICAgICByZXR1cm4gbV92YWx1ZS5u
dW07IAorICAgIAorICAgIE93blB0cjxDYWxjVmFsdWU+IGNhbGNWYWx1ZSA9IG1fdmFsdWUuY2Fs
Yy0+dG9DYWxjVmFsdWUoMCwgMCwgMS4wKTsKKyAgICBpZiAoY2FsY1ZhbHVlLmdldCgpKQorICAg
ICAgICByZXR1cm4gY2FsY1ZhbHVlLT5ldmFsdWF0ZSgxKTsKKyAgICAKKyAgICByZXR1cm4gMDsK
K30KKwogQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyBDU1NQcmltaXRpdmVWYWx1ZTo6Y2Fu
b25pY2FsVW5pdFR5cGVGb3JDYXRlZ29yeShVbml0Q2F0ZWdvcnkgY2F0ZWdvcnkpCiB7CiAgICAg
Ly8gVGhlIGNhbm9uaWNhbCB1bml0IHR5cGUgaXMgY2hvc2VuIGFjY29yZGluZyB0byB0aGUgd2F5
IENTU1BhcnNlcjo6dmFsaWRVbml0KCkgY2hvb3NlcyB0aGUgZGVmYXVsdCB1bml0CkBAIC04MjMs
NiArODc2LDkgQEAgU3RyaW5nIENTU1ByaW1pdGl2ZVZhbHVlOjpjc3NUZXh0KCkgY29uc3QKICAg
ICAgICAgY2FzZSBDU1NfUEFSU0VSX0lERU5USUZJRVI6CiAgICAgICAgICAgICB0ZXh0ID0gcXVv
dGVDU1NTdHJpbmdJZk5lZWRlZChtX3ZhbHVlLnN0cmluZyk7CiAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBDU1NfQ0FMQzoKKyAgICAgICAgICAgIHRleHQgPSBtX3ZhbHVlLmNhbGMt
PmNzc1RleHQoKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgIH0KIAogICAgIEFTU0VSVCghY3Nz
VGV4dENhY2hlKCkuY29udGFpbnModGhpcykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWUuaAppbmRleCA0OTllOTVjNjdlZTYzZDljYmQ0OTZmNTVmZmMzN2E2NzU3N2Y5MGUwLi42
YjY3MDJlNWZjNWRhZTViN2RkYjc5ODFhZTE0YTU5MDU3MmZhMDdjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJpbWl0aXZlVmFsdWUuaApAQCAtMjksNiArMjksNyBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKK2NsYXNzIENTU0NhbGNWYWx1ZTsKIGNsYXNzIENvdW50ZXI7CiBjbGFzcyBEYXNo
Ym9hcmRSZWdpb247CiBjbGFzcyBQYWlyOwpAQCAtOTMsNyArOTQsMTAgQEAgcHVibGljOgogICAg
ICAgICBDU1NfUkVNUyA9IDEwOCwKIAogICAgICAgICAvLyBUaGlzIGlzIHVzZWQgaW50ZXJuYWxs
eSBmb3IgY291bnRlciBuYW1lcyAoYXMgb3Bwb3NlZCB0byBjb3VudGVyIHZhbHVlcykKLSAgICAg
ICAgQ1NTX0NPVU5URVJfTkFNRSA9IDEwOQorICAgICAgICBDU1NfQ09VTlRFUl9OQU1FID0gMTA5
LAorCisgICAgICAgIENTU19DQUxDID0gMTEwLAorICAgICAgICBDU1NfQ0FMQ19QRVJDRU5UQUdF
ID0gMTExCiAgICAgfTsKICAgICAKICAgICAvLyBUaGlzIGVudW0gZm9sbG93cyB0aGUgQ1NTUGFy
c2VyOjpVbml0cyBlbnVtIGF1Z21lbnRlZCB3aXRoIFVOSVRfRlJFUVVFTkNZIGZvciBmcmVxdWVu
Y2llcy4KQEAgLTEyNCw3ICsxMjgsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNsZWFudXAoKTsK
IAotICAgIHVuc2lnbmVkIHNob3J0IHByaW1pdGl2ZVR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5
cGU7IH0KKyAgICB1bnNpZ25lZCBzaG9ydCBwcmltaXRpdmVUeXBlKCkgY29uc3Q7CiAKICAgICAv
KgogICAgICAqIGNvbXB1dGVzIGEgbGVuZ3RoIGluIHBpeGVscyBvdXQgb2YgdGhlIGdpdmVuIENT
U1ZhbHVlLiBOZWVkIHRoZSBSZW5kZXJTdHlsZSB0byBnZXQKQEAgLTE1MSw3ICsxNTUsNyBAQCBw
dWJsaWM6CiAgICAgCiAgICAgZG91YmxlIGdldERvdWJsZVZhbHVlKHVuc2lnbmVkIHNob3J0IHVu
aXRUeXBlLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAgICAgZG91YmxlIGdldERvdWJsZVZhbHVl
KHVuc2lnbmVkIHNob3J0IHVuaXRUeXBlKSBjb25zdDsKLSAgICBkb3VibGUgZ2V0RG91YmxlVmFs
dWUoKSBjb25zdCB7IHJldHVybiBtX3ZhbHVlLm51bTsgfQorICAgIGRvdWJsZSBnZXREb3VibGVW
YWx1ZSgpIGNvbnN0OwogCiAgICAgdm9pZCBzZXRGbG9hdFZhbHVlKHVuc2lnbmVkIHNob3J0IHVu
aXRUeXBlLCBkb3VibGUgZmxvYXRWYWx1ZSwgRXhjZXB0aW9uQ29kZSYpOwogICAgIGZsb2F0IGdl
dEZsb2F0VmFsdWUodW5zaWduZWQgc2hvcnQgdW5pdFR5cGUsIEV4Y2VwdGlvbkNvZGUmIGVjKSBj
b25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxmbG9hdD4oZ2V0RG91YmxlVmFsdWUodW5pdFR5cGUs
IGVjKSk7IH0KQEAgLTE4MCw2ICsxODQsOCBAQCBwdWJsaWM6CiAKICAgICBEYXNoYm9hcmRSZWdp
b24qIGdldERhc2hib2FyZFJlZ2lvblZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlICE9IENT
U19EQVNIQk9BUkRfUkVHSU9OID8gMCA6IG1fdmFsdWUucmVnaW9uOyB9CiAKKyAgICBDU1NDYWxj
VmFsdWUqIGdldENhbGNWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSAhPSBDU1NfQ0FMQyA/
IDAgOiBtX3ZhbHVlLmNhbGM7IH0KKwogICAgIGludCBnZXRJZGVudCgpIGNvbnN0OwogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBvcGVyYXRvciBUKCkgY29uc3Q7IC8vIERlZmluZWQg
aW4gQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCiAKQEAgLTIxOSw2ICsyMjUsNyBAQCBwcml2
YXRlOgogICAgIHZvaWQgaW5pdChQYXNzUmVmUHRyPFJlY3Q+KTsKICAgICB2b2lkIGluaXQoUGFz
c1JlZlB0cjxQYWlyPik7CiAgICAgdm9pZCBpbml0KFBhc3NSZWZQdHI8RGFzaGJvYXJkUmVnaW9u
Pik7IC8vIEZJWE1FOiBEYXNoYm9hcmQgcmVnaW9uIHNob3VsZCBub3QgYmUgYSBwcmltaXRpdmUg
dmFsdWUuCisgICAgdm9pZCBpbml0KFBhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPik7CiAgICAgYm9v
bCBnZXREb3VibGVWYWx1ZUludGVybmFsKFVuaXRUeXBlcyB0YXJnZXRVbml0VHlwZSwgZG91Ymxl
KiByZXN1bHQpIGNvbnN0OwogCiAgICAgdmlydHVhbCBib29sIGlzUHJpbWl0aXZlVmFsdWUoKSBj
b25zdCB7IHJldHVybiB0cnVlOyB9CkBAIC0yMzYsNiArMjQzLDcgQEAgcHJpdmF0ZToKICAgICAg
ICAgdW5zaWduZWQgcmdiY29sb3I7CiAgICAgICAgIFBhaXIqIHBhaXI7CiAgICAgICAgIERhc2hi
b2FyZFJlZ2lvbiogcmVnaW9uOworICAgICAgICBDU1NDYWxjVmFsdWUqIGNhbGM7CiAgICAgfSBt
X3ZhbHVlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCmluZGV4
IDJhMGI5MjY5NGNiN2EzMjM0ZDVlNzc1NGEyNGYwOTE2MzQwNTMzY2EuLjUzMzkzMGJlZDNmOWY0
ODUwMjczYWY2YWFhMjllYjIxYmM4MjVmMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5jcHAKQEAgLTI4LDEwICsyOCwxMiBAQAogI2luY2x1ZGUgIkNTU1N0eWxlU2VsZWN0
b3IuaCIKIAogI2luY2x1ZGUgIkF0dHJpYnV0ZS5oIgorI2luY2x1ZGUgIkNhbGNWYWx1ZS5oIgog
I2luY2x1ZGUgIkNvbnRlbnREYXRhLmgiCiAjaW5jbHVkZSAiQ291bnRlckNvbnRlbnQuaCIKICNp
bmNsdWRlICJDdXJzb3JMaXN0LmgiCiAjaW5jbHVkZSAiQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oIgor
I2luY2x1ZGUgIkNTU0NhbGNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0N1cnNvckltYWdlVmFsdWUu
aCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NJbXBvcnRSdWxl
LmgiCkBAIC05Nyw2ICs5OSw3IEBACiAjaW5jbHVkZSAiV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5o
IgogI2luY2x1ZGUgIldlYktpdENTU1RyYW5zZm9ybVZhbHVlLmgiCiAjaW5jbHVkZSAiWE1MTmFt
ZXMuaCIKKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJh
cy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMzM5NiwxMiArMzM5OSwxMiBAQCBz
dGF0aWMgTGVuZ3RoIGNvbnZlcnRUb0xlbmd0aChDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZl
VmFsdWUsIFJlbmRlclN0eWxlKiBzdAogICAgIHJldHVybiBsOwogfQogICAgIAotc3RhdGljIExl
bmd0aCBjb252ZXJ0VG9JbnRMZW5ndGgoQ1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVl
LCBSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSBtdWx0
aXBsaWVyID0gMSwgYm9vbCAqb2sgPSAwKQorTGVuZ3RoIENTU1N0eWxlU2VsZWN0b3I6OmNvbnZl
cnRUb0ludExlbmd0aChDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUsIFJlbmRlclN0
eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIG11bHRpcGxpZXIsIGJv
b2wgKm9rKQogewogICAgIHJldHVybiBjb252ZXJ0VG9MZW5ndGgocHJpbWl0aXZlVmFsdWUsIHN0
eWxlLCByb290U3R5bGUsIGZhbHNlLCBtdWx0aXBsaWVyLCBvayk7CiB9CiAKLXN0YXRpYyBMZW5n
dGggY29udmVydFRvRmxvYXRMZW5ndGgoQ1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVl
LCBSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSBtdWx0
aXBsaWVyID0gMSwgYm9vbCAqb2sgPSAwKQorTGVuZ3RoIENTU1N0eWxlU2VsZWN0b3I6OmNvbnZl
cnRUb0Zsb2F0TGVuZ3RoKENTU1ByaW1pdGl2ZVZhbHVlKiBwcmltaXRpdmVWYWx1ZSwgUmVuZGVy
U3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciwg
Ym9vbCAqb2spCiB7CiAgICAgcmV0dXJuIGNvbnZlcnRUb0xlbmd0aChwcmltaXRpdmVWYWx1ZSwg
c3R5bGUsIHJvb3RTdHlsZSwgdHJ1ZSwgbXVsdGlwbGllciwgb2spOwogfQpAQCAtNDMyNSw3ICs0
MzI4LDEyIEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShpbnQgaWQsIENT
U1ZhbHVlICp2YWx1ZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW1pdGl2ZVZhbHVl
LT5pc1F1aXJrVmFsdWUoKSk7CiAgICAgICAgICAgICBlbHNlIGlmICh0eXBlID09IENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSkKICAgICAgICAgICAgICAgICBsID0gTGVuZ3RoKHBy
aW1pdGl2ZVZhbHVlLT5nZXREb3VibGVWYWx1ZSgpLCBQZXJjZW50KTsKLSAgICAgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIGVsc2UgaWYgKHR5cGUgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19D
QUxDX1BFUkNFTlRBR0UpIHsKKyAgICAgICAgICAgICAgICBPd25QdHI8Q2FsY1ZhbHVlPiBjYWxj
VmFsdWUgPSBwcmltaXRpdmVWYWx1ZS0+Z2V0Q2FsY1ZhbHVlKCktPnRvQ2FsY1ZhbHVlKHN0eWxl
KCksIG1fcm9vdEVsZW1lbnRTdHlsZSwgem9vbUZhY3Rvcik7CisgICAgICAgICAgICAgICAgaWYg
KCFjYWxjVmFsdWUuZ2V0KCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgICAgICBsID0gTGVuZ3RoKGNhbGNWYWx1ZS5yZWxlYXNlKCkpOworICAgICAgICAgICAgfSBl
bHNlCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgYXBwbHkgPSB0cnVlOwog
ICAgICAgICB9CkBAIC00NDEyLDE0ICs0NDIwLDE4IEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6
YXBwbHlQcm9wZXJ0eShpbnQgaWQsIENTU1ZhbHVlICp2YWx1ZSkKICAgICAgICAgICAgIEhBTkRM
RV9JTklUSUFMX0NPTkRfV0lUSF9WQUxVRShDU1NQcm9wZXJ0eU1pbkhlaWdodCwgTWluSGVpZ2h0
LCBNaW5TaXplKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0KICAgICAgICAgaWYg
KHByaW1pdGl2ZVZhbHVlICYmICFhcHBseSkgewogICAgICAgICAgICAgdW5zaWduZWQgc2hvcnQg
dHlwZSA9IHByaW1pdGl2ZVZhbHVlLT5wcmltaXRpdmVUeXBlKCk7CiAgICAgICAgICAgICBpZiAo
Q1NTUHJpbWl0aXZlVmFsdWU6OmlzVW5pdFR5cGVMZW5ndGgodHlwZSkpCiAgICAgICAgICAgICAg
ICAgbCA9IExlbmd0aChwcmltaXRpdmVWYWx1ZS0+Y29tcHV0ZUxlbmd0aEludEZvckxlbmd0aChz
dHlsZSgpLCBtX3Jvb3RFbGVtZW50U3R5bGUsIHpvb21GYWN0b3IpLCBGaXhlZCk7CiAgICAgICAg
ICAgICBlbHNlIGlmICh0eXBlID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSkK
ICAgICAgICAgICAgICAgICBsID0gTGVuZ3RoKHByaW1pdGl2ZVZhbHVlLT5nZXREb3VibGVWYWx1
ZSgpLCBQZXJjZW50KTsKLSAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGVsc2UgaWYgKHR5
cGUgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DQUxDX1BFUkNFTlRBR0UpIHsKKyAgICAgICAg
ICAgICAgICBPd25QdHI8Q2FsY1ZhbHVlPiBjYWxjVmFsdWUgPSBwcmltaXRpdmVWYWx1ZS0+Z2V0
Q2FsY1ZhbHVlKCktPnRvQ2FsY1ZhbHVlKHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSwgem9v
bUZhY3Rvcik7CisgICAgICAgICAgICAgICAgaWYgKCFjYWxjVmFsdWUuZ2V0KCkpCisgICAgICAg
ICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICBsID0gTGVuZ3RoKGNhbGNWYWx1
ZS5yZWxlYXNlKCkpOworICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICAgICAgYXBwbHkgPSB0cnVlOwogICAgICAgICB9CkBAIC02MjcxLDE0ICs2Mjgz
LDIzIEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQYWdlU2l6ZVByb3BlcnR5KENTU1Zh
bHVlKiB2YWx1ZSkKIAogYm9vbCBDU1NTdHlsZVNlbGVjdG9yOjpwYWdlU2l6ZUZyb21OYW1lKENT
U1ByaW1pdGl2ZVZhbHVlKiBwYWdlU2l6ZU5hbWUsIENTU1ByaW1pdGl2ZVZhbHVlKiBwYWdlT3Jp
ZW50YXRpb24sIExlbmd0aCYgd2lkdGgsIExlbmd0aCYgaGVpZ2h0KQogewotICAgIHN0YXRpYyBj
b25zdCBMZW5ndGggYTVXaWR0aCA9IG1tTGVuZ3RoKDE0OCksIGE1SGVpZ2h0ID0gbW1MZW5ndGgo
MjEwKTsKLSAgICBzdGF0aWMgY29uc3QgTGVuZ3RoIGE0V2lkdGggPSBtbUxlbmd0aCgyMTApLCBh
NEhlaWdodCA9IG1tTGVuZ3RoKDI5Nyk7Ci0gICAgc3RhdGljIGNvbnN0IExlbmd0aCBhM1dpZHRo
ID0gbW1MZW5ndGgoMjk3KSwgYTNIZWlnaHQgPSBtbUxlbmd0aCg0MjApOwotICAgIHN0YXRpYyBj
b25zdCBMZW5ndGggYjVXaWR0aCA9IG1tTGVuZ3RoKDE3NiksIGI1SGVpZ2h0ID0gbW1MZW5ndGgo
MjUwKTsKLSAgICBzdGF0aWMgY29uc3QgTGVuZ3RoIGI0V2lkdGggPSBtbUxlbmd0aCgyNTApLCBi
NEhlaWdodCA9IG1tTGVuZ3RoKDM1Myk7Ci0gICAgc3RhdGljIGNvbnN0IExlbmd0aCBsZXR0ZXJX
aWR0aCA9IGluY2hMZW5ndGgoOC41KSwgbGV0dGVySGVpZ2h0ID0gaW5jaExlbmd0aCgxMSk7Ci0g
ICAgc3RhdGljIGNvbnN0IExlbmd0aCBsZWdhbFdpZHRoID0gaW5jaExlbmd0aCg4LjUpLCBsZWdh
bEhlaWdodCA9IGluY2hMZW5ndGgoMTQpOwotICAgIHN0YXRpYyBjb25zdCBMZW5ndGggbGVkZ2Vy
V2lkdGggPSBpbmNoTGVuZ3RoKDExKSwgbGVkZ2VySGVpZ2h0ID0gaW5jaExlbmd0aCgxNyk7Cisg
ICAgc3RhdGljIGNvbnN0IExlbmd0aCYgYTVXaWR0aCA9IG1tTGVuZ3RoKDE0OCk7IAorICAgIHN0
YXRpYyBjb25zdCBMZW5ndGgmIGE1SGVpZ2h0ID0gbW1MZW5ndGgoMjEwKTsKKyAgICBzdGF0aWMg
Y29uc3QgTGVuZ3RoJiBhNFdpZHRoID0gbW1MZW5ndGgoMjEwKTsKKyAgICBzdGF0aWMgY29uc3Qg
TGVuZ3RoJiBhNEhlaWdodCA9IG1tTGVuZ3RoKDI5Nyk7CisgICAgc3RhdGljIGNvbnN0IExlbmd0
aCYgYTNXaWR0aCA9IG1tTGVuZ3RoKDI5Nyk7CisgICAgc3RhdGljIGNvbnN0IExlbmd0aCYgYTNI
ZWlnaHQgPSBtbUxlbmd0aCg0MjApOworICAgIHN0YXRpYyBjb25zdCBMZW5ndGgmIGI1V2lkdGgg
PSBtbUxlbmd0aCgxNzYpOworICAgIHN0YXRpYyBjb25zdCBMZW5ndGgmIGI1SGVpZ2h0ID0gbW1M
ZW5ndGgoMjUwKTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBiNFdpZHRoID0gbW1MZW5ndGgo
MjUwKTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBiNEhlaWdodCA9IG1tTGVuZ3RoKDM1Myk7
CisgICAgc3RhdGljIGNvbnN0IExlbmd0aCYgbGV0dGVyV2lkdGggPSBpbmNoTGVuZ3RoKDguNSk7
CisgICAgc3RhdGljIGNvbnN0IExlbmd0aCYgbGV0dGVySGVpZ2h0ID0gaW5jaExlbmd0aCgxMSk7
CisgICAgc3RhdGljIGNvbnN0IExlbmd0aCYgbGVnYWxXaWR0aCA9IGluY2hMZW5ndGgoOC41KTsK
KyAgICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBsZWdhbEhlaWdodCA9IGluY2hMZW5ndGgoMTQpOwor
ICAgIHN0YXRpYyBjb25zdCBMZW5ndGgmIGxlZGdlcldpZHRoID0gaW5jaExlbmd0aCgxMSk7Cisg
ICAgc3RhdGljIGNvbnN0IExlbmd0aCYgbGVkZ2VySGVpZ2h0ID0gaW5jaExlbmd0aCgxNyk7CisK
IAogICAgIGlmICghcGFnZVNpemVOYW1lIHx8IHBhZ2VTaXplTmFtZS0+cHJpbWl0aXZlVHlwZSgp
ICE9IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfSURFTlQpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
QEAgLTYzMzcsMTQgKzYzNTgsMTQgQEAgYm9vbCBDU1NTdHlsZVNlbGVjdG9yOjpwYWdlU2l6ZUZy
b21OYW1lKENTU1ByaW1pdGl2ZVZhbHVlKiBwYWdlU2l6ZU5hbWUsIENTU1ByaW0KICAgICByZXR1
cm4gdHJ1ZTsKIH0KIAotTGVuZ3RoIENTU1N0eWxlU2VsZWN0b3I6Om1tTGVuZ3RoKGRvdWJsZSBt
bSkgY29uc3QKK0xlbmd0aCYgQ1NTU3R5bGVTZWxlY3Rvcjo6bW1MZW5ndGgoZG91YmxlIG1tKSBj
b25zdAogewotICAgIHJldHVybiBMZW5ndGgoQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShtbSwg
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19NTSktPmNvbXB1dGVMZW5ndGhJbnRGb3JMZW5ndGgoc3R5
bGUoKSwgbV9yb290RWxlbWVudFN0eWxlKSwgRml4ZWQpOworICAgIHJldHVybiAqbmV3IExlbmd0
aChDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKG1tLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX01N
KS0+Y29tcHV0ZUxlbmd0aEludEZvckxlbmd0aChzdHlsZSgpLCBtX3Jvb3RFbGVtZW50U3R5bGUp
LCBGaXhlZCk7CiB9CiAKLUxlbmd0aCBDU1NTdHlsZVNlbGVjdG9yOjppbmNoTGVuZ3RoKGRvdWJs
ZSBpbmNoKSBjb25zdAorTGVuZ3RoJiBDU1NTdHlsZVNlbGVjdG9yOjppbmNoTGVuZ3RoKGRvdWJs
ZSBpbmNoKSBjb25zdAogewotICAgIHJldHVybiBMZW5ndGgoQ1NTUHJpbWl0aXZlVmFsdWU6OmNy
ZWF0ZShpbmNoLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0lOKS0+Y29tcHV0ZUxlbmd0aEludEZv
ckxlbmd0aChzdHlsZSgpLCBtX3Jvb3RFbGVtZW50U3R5bGUpLCBGaXhlZCk7CisgICAgcmV0dXJu
ICpuZXcgTGVuZ3RoKENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoaW5jaCwgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19JTiktPmNvbXB1dGVMZW5ndGhJbnRGb3JMZW5ndGgoc3R5bGUoKSwgbV9yb290
RWxlbWVudFN0eWxlKSwgRml4ZWQpOwogfQogCiB2b2lkIENTU1N0eWxlU2VsZWN0b3I6Om1hcEZp
bGxBdHRhY2htZW50KENTU1Byb3BlcnR5SUQsIEZpbGxMYXllciogbGF5ZXIsIENTU1ZhbHVlKiB2
YWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCmluZGV4IGE2MTgzMTQ3MGE5
NTY2ZTI5ZmVhZDhiMGJhOTcwYWMwOTc0N2Q0ZDMuLjY4YzZjY2Q0OTI3MWVjMzM0M2JjMWUwNzQ2
YjA0ZGY5MTE1Zjg2ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNl
bGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaApAQCAt
Mjc3LDYgKzI3Nyw5IEBAIHB1YmxpYzoKICAgICAgICAgICAgIG11dGFibGUgSGFzaFNldDxMaW5r
SGFzaCwgTGlua0hhc2hIYXNoPiBtX2xpbmtzQ2hlY2tlZEZvclZpc2l0ZWRTdGF0ZTsKICAgICAg
ICAgfTsKIAorICAgICAgICBzdGF0aWMgTGVuZ3RoIGNvbnZlcnRUb0ludExlbmd0aChDU1NQcmlt
aXRpdmVWYWx1ZSosIFJlbmRlclN0eWxlKiwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91Ymxl
IG11bHRpcGxpZXIgPSAxLCBib29sICpvayA9IDApOworICAgICAgICBzdGF0aWMgTGVuZ3RoIGNv
bnZlcnRUb0Zsb2F0TGVuZ3RoKENTU1ByaW1pdGl2ZVZhbHVlKiwgUmVuZGVyU3R5bGUqLCBSZW5k
ZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciA9IDEsIGJvb2wgKm9rID0gMCk7
CisKICAgICBwcml2YXRlOgogICAgICAgICBzdGF0aWMgUmVuZGVyU3R5bGUqIHNfc3R5bGVOb3RZ
ZXRBdmFpbGFibGU7CiAKQEAgLTMxMCw4ICszMTMsOCBAQCBwdWJsaWM6CiAgICAgICAgIHZvaWQg
YXBwbHlQcm9wZXJ0eShpbnQgaWQsIENTU1ZhbHVlKik7CiAgICAgICAgIHZvaWQgYXBwbHlQYWdl
U2l6ZVByb3BlcnR5KENTU1ZhbHVlKik7CiAgICAgICAgIGJvb2wgcGFnZVNpemVGcm9tTmFtZShD
U1NQcmltaXRpdmVWYWx1ZSosIENTU1ByaW1pdGl2ZVZhbHVlKiwgTGVuZ3RoJiB3aWR0aCwgTGVu
Z3RoJiBoZWlnaHQpOwotICAgICAgICBMZW5ndGggbW1MZW5ndGgoZG91YmxlIG1tKSBjb25zdDsK
LSAgICAgICAgTGVuZ3RoIGluY2hMZW5ndGgoZG91YmxlIGluY2gpIGNvbnN0OworICAgICAgICBM
ZW5ndGgmIG1tTGVuZ3RoKGRvdWJsZSBtbSkgY29uc3Q7CisgICAgICAgIExlbmd0aCYgaW5jaExl
bmd0aChkb3VibGUgaW5jaCkgY29uc3Q7CiAjaWYgRU5BQkxFKFNWRykKICAgICAgICAgdm9pZCBh
cHBseVNWR1Byb3BlcnR5KGludCBpZCwgQ1NTVmFsdWUqKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWUuaAppbmRleCBhMTAxYzY2NzU2MGQ3ODA0ZTliNDdmNzljNzkwOWI4NmRkZDViYzU4Li44MTdh
NjA2YjU0NDY4YTI5YmJkMWRjMmU1MTBkZGExN2IxMzVjNGYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUu
aApAQCAtNjUsNiArNjUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzVGltaW5nRnVu
Y3Rpb25WYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlz
VmFsdWVMaXN0KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNX
ZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmly
dHVhbCBib29sIGlzQ2FsY1ZhbHVlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogI2lmIEVO
QUJMRShTVkcpCiAgICAgdmlydHVhbCBib29sIGlzU1ZHQ29sb3IoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3Rva2VuaXplci5mbGV4IGIv
U291cmNlL1dlYkNvcmUvY3NzL3Rva2VuaXplci5mbGV4CmluZGV4IGViMThjYjkwYjRjMGJjZDFi
ZjQzOWFmMmEyYTNmODQzNjNhMDU2OTkuLjg4ZmU2OTg2ZDAyZjA2ODJmNDJmZWVhYmZmMWY2YzA0
MmIzMTJkMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy90b2tlbml6ZXIuZmxleAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvdG9rZW5pemVyLmZsZXgKQEAgLTEwMiw2ICsxMDIsNyBA
QCBudGggICAgICAgICAgICAgW1wrLV0/e2ludG51bX0qbihbXHRcclxuIF0qW1wrLV1bXHRcclxu
IF0qe2ludG51bX0pPwoge251bX1IeiAgICAgICAgICAgICAgICAge3l5VG9rID0gSEVSVFo7IHJl
dHVybiB5eVRvazt9CiB7bnVtfWtIeiAgICAgICAgICAgICAgICB7eXlUb2sgPSBLSEVSVFo7IHJl
dHVybiB5eVRvazt9CiB7bnVtfXtpZGVudH0gICAgICAgICAgICB7eXlUb2sgPSBESU1FTjsgcmV0
dXJuIHl5VG9rO30KK3tudW19e2lkZW50fVwrICAgICAgICAgIHt5eVRvayA9IElOVkFMSURESU1F
TjsgcmV0dXJuIHl5VG9rO30KIHtudW19JSsgICAgICAgICAgICAgICAgIHt5eVRvayA9IFBFUkNF
TlRBR0U7IHJldHVybiB5eVRvazt9CiB7aW50bnVtfSAgICAgICAgICAgICAgICB7eXlUb2sgPSBJ
TlRFR0VSOyByZXR1cm4geXlUb2s7fQoge251bX0gICAgICAgICAgICAgICAgICAge3l5VG9rID0g
RkxPQVRUT0tFTjsgcmV0dXJuIHl5VG9rO30KQEAgLTEwOSw2ICsxMTAsOSBAQCBudGggICAgICAg
ICAgICAgW1wrLV0/e2ludG51bX0qbihbXHRcclxuIF0qW1wrLV1bXHRcclxuIF0qe2ludG51bX0p
PwogIm5vdCgiICAgICAgICAgICAgICAgICAge3l5VG9rID0gTk9URlVOQ1RJT047IHJldHVybiB5
eVRvazt9CiAidXJsKCJ7d317c3RyaW5nfXt3fSIpIiB7eXlUb2sgPSBVUkk7IHJldHVybiB5eVRv
azt9CiAidXJsKCJ7d317dXJsfXt3fSIpIiAgICB7eXlUb2sgPSBVUkk7IHJldHVybiB5eVRvazt9
CisiLXdlYmtpdC1jYWxjKCIgICAgICAgICB7eXlUb2sgPSBDQUxDRlVOQ1RJT047IHJldHVybiB5
eVRvazt9CisiLXdlYmtpdC1taW4oIiAgICAgICAgICB7eXlUb2sgPSBNSU5GVU5DVElPTjsgcmV0
dXJuIHl5VG9rO30KKyItd2Via2l0LW1heCgiICAgICAgICAgIHt5eVRvayA9IE1BWEZVTkNUSU9O
OyByZXR1cm4geXlUb2s7fQoge2lkZW50fSIoIiAgICAgICAgICAgICAge3l5VG9rID0gRlVOQ1RJ
T047IHJldHVybiB5eVRvazt9CiAKIFVcK3tyYW5nZX0gICAgICAgICAgICAgIHt5eVRvayA9IFVO
SUNPREVSQU5HRTsgcmV0dXJuIHl5VG9rO30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0NhbGNWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjZhYjg1MmM3ZjE5M2NlZjM4NDU1MmNkYjdhZTVhYzdlYmVjMDYwM2MK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUuY3Bw
CkBAIC0wLDAgKzEsMTA4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNhbGNWYWx1
ZS5oIgorCisjaW5jbHVkZSA8bGltaXRzPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0NhbGNC
aW5hcnlPcGVyYXRpb25WYWx1ZTo6Q2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlKFBhc3NPd25QdHI8
Q2FsY1ZhbHVlPiBsZWZ0U2lkZSwgUGFzc093blB0cjxDYWxjVmFsdWU+IHJpZ2h0U2lkZSwgY2hh
ciBvcCkKKyAgICA6IG1fbGVmdFNpZGUobGVmdFNpZGUpCisgICAgLCBtX3JpZ2h0U2lkZShyaWdo
dFNpZGUpCisgICAgLCBtX29wZXJhdG9yKG9wKQoreworICAgIEFTU0VSVChvcCA9PSAnKycgfHwg
b3AgPT0gJy0nIHx8IG9wID09ICcqJyB8fCBvcCA9PSAnLycgfHwgb3AgPT0gJyUnKTsKK30KKwor
ZmxvYXQgQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlOjpldmFsdWF0ZShmbG9hdCBtYXhWYWx1ZSkg
Y29uc3QKK3sKKyAgICBmbG9hdCBsZWZ0ID0gbV9sZWZ0U2lkZS0+ZXZhbHVhdGUobWF4VmFsdWUp
OworICAgIGZsb2F0IHJpZ2h0ID0gbV9yaWdodFNpZGUtPmV2YWx1YXRlKG1heFZhbHVlKTsKKyAg
ICBzd2l0Y2ggKG1fb3BlcmF0b3IpIHsKKyAgICBjYXNlICcrJzoKKyAgICAgICAgcmV0dXJuIGxl
ZnQgKyByaWdodDsKKyAgICBjYXNlICctJzoKKyAgICAgICAgcmV0dXJuIGxlZnQgLSByaWdodDsK
KyAgICBjYXNlICcqJzoKKyAgICAgICAgcmV0dXJuIGxlZnQgKiByaWdodDsKKyAgICBjYXNlICcv
JzoKKyAgICAgICAgaWYgKCFyaWdodCkKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bWVyaWNf
bGltaXRzPGZsb2F0Pjo6cXVpZXRfTmFOKCk7CisgICAgICAgIHJldHVybiBsZWZ0IC8gcmlnaHQ7
CisgICAgY2FzZSAnJSc6CisgICAgICAgIGlmICghcmlnaHQpCisgICAgICAgICAgICByZXR1cm4g
c3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OnF1aWV0X05hTigpOworICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8aW50PihsZWZ0KSAlIHN0YXRpY19jYXN0PGludD4ocmlnaHQpOworICAgIGRl
ZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gc3Rk
OjpudW1lcmljX2xpbWl0czxmbG9hdD46OnF1aWV0X05hTigpOworICAgIH0KK30KKworQ2FsY01p
bk1heFZhbHVlTGlzdDo6Q2FsY01pbk1heFZhbHVlTGlzdChUeXBlIHR5cGUpCisgICAgOiBtX3R5
cGUodHlwZSkKKyAgICAsIG1fbGlzdCgpCit7Cit9CisKK3ZvaWQgQ2FsY01pbk1heFZhbHVlTGlz
dDo6YXBwZW5kKFBhc3NPd25QdHI8Q2FsY1ZhbHVlPiB2YWx1ZSkKK3sKKyAgICBtX2xpc3QuYXBw
ZW5kKHZhbHVlKTsKK30KKworZmxvYXQgQ2FsY01pbk1heFZhbHVlTGlzdDo6ZXZhbHVhdGUoZmxv
YXQgbWF4VmFsdWUpIGNvbnN0Cit7CisgICAgaWYgKG1fbGlzdC5pc0VtcHR5KCkpCisgICAgICAg
IHJldHVybiAwOworCisgICAgCisgICAgZmxvYXQgcmV0dmFsOworICAgIGlmIChtX3R5cGUgPT0g
TUlOKSB7CisgICAgICAgIHJldHZhbCA9IG1fbGlzdFswXS0+ZXZhbHVhdGUobWF4VmFsdWUpOwor
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgbV9saXN0LnNpemUoKTsgKytpKSB7Cisg
ICAgICAgICAgICBmbG9hdCBjdXJyZW50ID0gbV9saXN0W2ldLT5ldmFsdWF0ZShtYXhWYWx1ZSk7
CisgICAgICAgICAgICBpZiAoY3VycmVudCA8IHJldHZhbCkKKyAgICAgICAgICAgICAgICByZXR2
YWwgPSBjdXJyZW50OworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgcmV0dmFsID0g
bV9saXN0WzBdLT5ldmFsdWF0ZShtYXhWYWx1ZSk7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9
IDE7IGkgPCBtX2xpc3Quc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGZsb2F0IGN1cnJlbnQg
PSBtX2xpc3RbaV0tPmV2YWx1YXRlKG1heFZhbHVlKTsKKyAgICAgICAgICAgIGlmIChjdXJyZW50
ID4gcmV0dmFsKQorICAgICAgICAgICAgICAgIHJldHZhbCA9IGN1cnJlbnQ7CisgICAgICAgIH0K
KyAgICB9CisKKyAgICByZXR1cm4gcmV0dmFsOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhMmQ0OWI0MDJmOGQy
YzY5ZTQzNTI3OGRjZWE3YjgxZGQ3MmRmNGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUuaApAQCAtMCwwICsxLDExNyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ2FsY1Zh
bHVlX2gKKyNkZWZpbmUgQ2FsY1ZhbHVlX2gKKworI2luY2x1ZGUgIkxlbmd0aC5oIgorI2luY2x1
ZGUgPHd0Zi9Pd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDYWxjVmFsdWUg
eworcHVibGljOgorICAgIGVudW0gVW5pdENhdGVnb3J5IHsKKyAgICAgICAgVU51bWJlciwKKyAg
ICAgICAgVVBlcmNlbnQsCisgICAgICAgIFVMZW5ndGgsCisgICAgICAgIFVPdGhlcgorICAgIH07
CisgICAgCisgICAgdmlydHVhbCB+Q2FsY1ZhbHVlKCkKKyAgICB7CisgICAgfQorCisgICAgdmly
dHVhbCBmbG9hdCBldmFsdWF0ZShmbG9hdCBtYXhWYWx1ZSkgY29uc3QgPSAwOworfTsKKworY2xh
c3MgQ2FsY051bWJlclZhbHVlIDogcHVibGljIENhbGNWYWx1ZSB7CitwdWJsaWM6CisgICAgZXhw
bGljaXQgQ2FsY051bWJlclZhbHVlKGZsb2F0IHZhbHVlKQorICAgICAgICA6IG1fdmFsdWUodmFs
dWUpCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgZmxvYXQgZXZhbHVhdGUoZmxvYXQpIGNv
bnN0IAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fdmFsdWU7CisgICAgfQorICAgIAorcHJpdmF0
ZToKKyAgICBmbG9hdCBtX3ZhbHVlOworfTsKKworY2xhc3MgQ2FsY0xlbmd0aFZhbHVlIDogcHVi
bGljIENhbGNWYWx1ZSB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgQ2FsY0xlbmd0aFZhbHVlKExl
bmd0aCBsZW5ndGgpCisgICAgICAgIDogbV9sZW5ndGgobGVuZ3RoKQorICAgIHsKKyAgICB9CisK
KyAgICB2aXJ0dWFsIGZsb2F0IGV2YWx1YXRlKGZsb2F0IG1heFZhbHVlKSBjb25zdAorICAgIHsK
KyAgICAgICAgcmV0dXJuIG1fbGVuZ3RoLmNhbGNWYWx1ZShtYXhWYWx1ZSk7CisgICAgfQorICAg
IAorcHJpdmF0ZToKKyAgICBMZW5ndGggbV9sZW5ndGg7Cit9OworCitjbGFzcyBDYWxjQmluYXJ5
T3BlcmF0aW9uVmFsdWUgOiBwdWJsaWMgQ2FsY1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBDYWxjQmlu
YXJ5T3BlcmF0aW9uVmFsdWUoUGFzc093blB0cjxDYWxjVmFsdWU+IGxlZnRTaWRlLCBQYXNzT3du
UHRyPENhbGNWYWx1ZT4gcmlnaHRTaWRlLCBjaGFyIG9wKTsKKworICAgIHZpcnR1YWwgZmxvYXQg
ZXZhbHVhdGUoZmxvYXQpIGNvbnN0OworCitwcml2YXRlOgorICAgIE93blB0cjxDYWxjVmFsdWU+
IG1fbGVmdFNpZGU7CisgICAgT3duUHRyPENhbGNWYWx1ZT4gbV9yaWdodFNpZGU7CisgICAgY2hh
ciBtX29wZXJhdG9yOworfTsKKworY2xhc3MgQ2FsY01pbk1heFZhbHVlTGlzdCA6IHB1YmxpYyBD
YWxjVmFsdWUgeworcHVibGljOgorICAgIGVudW0gVHlwZSB7IE1JTiwgTUFYIH07CisKKyAgICBl
eHBsaWNpdCBDYWxjTWluTWF4VmFsdWVMaXN0KFR5cGUpOworICAgIHZvaWQgYXBwZW5kKFBhc3NP
d25QdHI8Q2FsY1ZhbHVlPik7CisKKyAgICB2aXJ0dWFsIGZsb2F0IGV2YWx1YXRlKGZsb2F0KSBj
b25zdDsKKworcHJpdmF0ZToKKyAgICBUeXBlIG1fdHlwZTsKKyAgICBWZWN0b3I8T3duUHRyPENh
bGNWYWx1ZT4gPiBtX2xpc3Q7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBDYWxjVmFsdWVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVu
Z3RoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5jcHAKaW5kZXggMjE2OWQ5
OTUzMTc0MWI0MjZhN2YyZDZhYjRjZjUzNjUyNWI3MzM2Ni4uYjk4ODdjNDk4YmFmZWNhZTMyZGRh
ZmMyZjc1Nzk2MDMzMWI3YjM3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TGVuZ3RoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguY3BwCkBAIC0y
NSwxMCArMjUsMTQgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJMZW5ndGguaCIK
IAorI2luY2x1ZGUgIkNhbGNWYWx1ZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisj
aW5jbHVkZSA8bWF0aC5oPgogI2luY2x1ZGUgPHd0Zi9BU0NJSUNUeXBlLmg+CiAjaW5jbHVkZSA8
d3RmL0Fzc2VydGlvbnMuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0
Zi9Pd25BcnJheVB0ci5oPgorI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdCdWZmZXIuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdURjsKQEAgLTE0
OCw1ICsxNTIsMTMzIEBAIFBhc3NPd25BcnJheVB0cjxMZW5ndGg+IG5ld0xlbmd0aEFycmF5KGNv
bnN0IFN0cmluZyYgc3RyaW5nLCBpbnQmIGxlbikKIAogICAgIHJldHVybiByLnJlbGVhc2UoKTsK
IH0KKyAgICAgICAKK2NsYXNzIENhbGN1bGF0ZWRMZW5ndGggOiBwdWJsaWMgUmVmQ291bnRlZDxD
YWxjdWxhdGVkTGVuZ3RoPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2FsY3Vs
YXRlZExlbmd0aD4gY3JlYXRlKFBhc3NPd25QdHI8Q2FsY1ZhbHVlPiBjYWxjKSAKKyAgICB7Cisg
ICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ2FsY3VsYXRlZExlbmd0aChjYWxjKSk7CisgICAg
fQorICAgIAorICAgIGZsb2F0IGV2YWx1YXRlKGZsb2F0IG1heFZhbHVlKSBjb25zdAorICAgIHsK
KyAgICAgICAgZmxvYXQgcmVzdWx0ID0gbV9jYWxjLT5ldmFsdWF0ZShtYXhWYWx1ZSk7CisgICAg
ICAgIC8vIEZJWE1FOiByZXN1bHQgaXMgTmFOIHdoZW4gdGhlcmUgaXMgYSBkaXZpc2lvbiBieSB6
ZXJvIHdoaWNoCisgICAgICAgIC8vICAgICAgICBpc24ndCBmb3VuZCBhdCBwYXJzZSB0aW1lIChl
LmcuLCA1LygxMDAlLTIwMHB4KSoxMDBweCkuCisgICAgICAgIC8vICAgICAgICBUaGVyZSBpcyBh
IGRpc2N1c3Npb24gYWJvdXQgdGhpcyBhbmQgaG9wZWZ1bGx5IHNwZWMKKyAgICAgICAgLy8gICAg
ICAgIHdpbGwgaGF2ZSB0aGUgZGVjaXNpb24gZm9yIHRoaXMgaXNzdWUuCisgICAgICAgIC8vICAg
ICAgICBodHRwOi8vbGlzdHMudzMub3JnL0FyY2hpdmVzL1B1YmxpYy93d3ctc3R5bGUvMjAxMEph
bi8wMDA3Lmh0bWwKKyAgICAgICAgaWYgKGlzbmFuKHJlc3VsdCkpCisgICAgICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9CisgICAgCitwcml2YXRlOgorICAg
IGV4cGxpY2l0IENhbGN1bGF0ZWRMZW5ndGgoUGFzc093blB0cjxDYWxjVmFsdWU+IGNhbGMpCisg
ICAgICAgIDogbV9jYWxjKGNhbGMpCisgICAgeworICAgIH0KKyAgICAKKyAgICBPd25QdHI8Q2Fs
Y1ZhbHVlPiBtX2NhbGM7Cit9OworCisvLyBBcyBMZW5ndGggb25seSBoYXMgMzJiaXQsIHdlIGNh
bm5vdCBoYXZlIHRoZSBkYXRhIGZvciBjYWxjKCkgaW4gdGhlCisvLyBMZW5ndGggb2JqZWN0LiBT
bywgd2UgZ2l2ZSBzZXJpYWwgSURzLCB3aGVyZSAwIDwgSUQgPD0gbWF4Q2FsY3VsYXRlZExlbmd0
aElkTWFzaywKKy8vIGZvciBlYWNoIGRhdGEgYW5kIGFjY2VzcyB0aGUgZGF0YSB1c2luZyB0aGlz
IElELgordHlwZWRlZiB1bnNpZ25lZCBsZW5ndGhNYXBLZXlUeXBlOyAgICAKK3R5cGVkZWYgSGFz
aE1hcDxsZW5ndGhNYXBLZXlUeXBlLCBSZWZQdHI8Q2FsY3VsYXRlZExlbmd0aD4gPiBDYWxjdWxh
dGVkTGVuZ3RoTWFwOworc3RhdGljIENhbGN1bGF0ZWRMZW5ndGhNYXAqIGdDYWxjdWxhdGVkTGVu
Z3RoTWFwID0gMDsKKyAgICAKK3N0YXRpYyBDYWxjdWxhdGVkTGVuZ3RoTWFwKiBjYWxjdWxhdGVk
TGVuZ3RoTWFwKCkKK3sKKyAgICBpZiAoIWdDYWxjdWxhdGVkTGVuZ3RoTWFwKQorICAgICAgICBn
Q2FsY3VsYXRlZExlbmd0aE1hcCA9IG5ldyBDYWxjdWxhdGVkTGVuZ3RoTWFwOworICAgIHJldHVy
biBnQ2FsY3VsYXRlZExlbmd0aE1hcDsKK30KKworc3RhdGljIGxlbmd0aE1hcEtleVR5cGUgZ0Nh
bGN1bGF0ZWRMZW5ndGhJZCA9IDE7CisKK0xlbmd0aDo6TGVuZ3RoKFBhc3NPd25QdHI8Q2FsY1Zh
bHVlPiBjYWxjKQorICAgIDogbV9xdWlyayhmYWxzZSksIG1fdHlwZShDYWxjdWxhdGVkKSwgbV9p
c0Zsb2F0KGZhbHNlKQoreworICAgIC8vIFNraXAgZ0NhbGN1bGF0ZWRMZW5ndGhJZCA9PSAwIGFz
IHplcm8ga2V5IGhpdHMgdGhlIGFzc2VydGlvbiBvZiBIYXNoTWFwLgorICAgIHdoaWxlICghZ0Nh
bGN1bGF0ZWRMZW5ndGhJZCB8fCBjYWxjdWxhdGVkTGVuZ3RoTWFwKCktPmNvbnRhaW5zKGdDYWxj
dWxhdGVkTGVuZ3RoSWQpKQorICAgICAgICBnQ2FsY3VsYXRlZExlbmd0aElkKys7CisgICAgbV9p
bnRWYWx1ZSA9IGdDYWxjdWxhdGVkTGVuZ3RoSWQ7CisgICAgZ0NhbGN1bGF0ZWRMZW5ndGhJZCsr
OworICAgIAorICAgIFJlZlB0cjxDYWxjdWxhdGVkTGVuZ3RoPiBjYWxjTGVuZ3RoID0gQ2FsY3Vs
YXRlZExlbmd0aDo6Y3JlYXRlKGNhbGMpOworICAgIGNhbGN1bGF0ZWRMZW5ndGhNYXAoKS0+c2V0
KGNhbGN1bGF0ZWRMZW5ndGhJZCgpLCBjYWxjTGVuZ3RoKTsgICAgCit9CisKKy8vIEZJWE1FOiBJ
dCdzIGltcG9zc2libGUgdG8ga25vdyB0aGUgc2lnbiBvZiBjYWxjIHZhbHVlcyB3aXRob3V0Cisv
LyAgICAgICAgbWF4IHZhbHVlIGlmIHRoZSBjYWxjIGZvcm11bGEgY29udGFpbnMgcGVyY2VudGFn
ZXMuCisvLyAgICAgICAgV2UgYXNzdW1lIGFsbCBjYWxjIHZhbHVlcyBhcmUgcG9zaXRpdmUgZm9y
IG5vdy4KKworYm9vbCBMZW5ndGg6OmNhbGN1bGF0ZWRJc1plcm8oKSBjb25zdAoreworICAgIHJl
dHVybiBmYWxzZTsKK30KKworYm9vbCBMZW5ndGg6OmNhbGN1bGF0ZWRJc1Bvc2l0aXZlKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBMZW5ndGg6OmNhbGN1bGF0ZWRJc05l
Z2F0aXZlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2ludCBMZW5ndGg6OmNh
bGN1bGF0ZWRDYWxjVmFsdWUoaW50IG1heFZhbHVlLCBib29sIC8qIHJvdW5kUGVyY2VudGFnZXMg
Ki8pIGNvbnN0Cit7CisgICAgQVNTRVJUKGlzQ2FsY3VsYXRlZCgpKTsKKyAgICBBU1NFUlQoY2Fs
Y3VsYXRlZExlbmd0aE1hcCgpLT5jb250YWlucyhjYWxjdWxhdGVkTGVuZ3RoSWQoKSkpOworICAg
IFJlZlB0cjxDYWxjdWxhdGVkTGVuZ3RoPiBjYWxjTGVuZ3RoID0gY2FsY3VsYXRlZExlbmd0aE1h
cCgpLT5nZXQoY2FsY3VsYXRlZExlbmd0aElkKCkpOworICAgIGZsb2F0IHJlc3VsdCA9IGNhbGNM
ZW5ndGgtPmV2YWx1YXRlKG1heFZhbHVlKTsKKyAgICBpZiAoaXNuYW4ocmVzdWx0KSkKKyAgICAg
ICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworaW50IExlbmd0aDo6Y2FsY3Vs
YXRlZENhbGNNaW5WYWx1ZShpbnQgbWF4VmFsdWUsIGJvb2wgLyogcm91bmRQZXJjZW50YWdlcyAq
LykgY29uc3QKK3sKKyAgICBBU1NFUlQoaXNDYWxjdWxhdGVkKCkpOworICAgIEFTU0VSVChjYWxj
dWxhdGVkTGVuZ3RoTWFwKCktPmNvbnRhaW5zKGNhbGN1bGF0ZWRMZW5ndGhJZCgpKSk7CisgICAg
UmVmUHRyPENhbGN1bGF0ZWRMZW5ndGg+IGNhbGNMZW5ndGggPSBjYWxjdWxhdGVkTGVuZ3RoTWFw
KCktPmdldChjYWxjdWxhdGVkTGVuZ3RoSWQoKSk7CisgICAgZmxvYXQgcmVzdWx0ID0gY2FsY0xl
bmd0aC0+ZXZhbHVhdGUobWF4VmFsdWUpOworICAgIGlmIChpc25hbihyZXN1bHQpKQorICAgICAg
ICByZXR1cm4gMDsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitmbG9hdCBMZW5ndGg6OmNhbGN1
bGF0ZWRDYWxjRmxvYXRWYWx1ZShpbnQgbWF4VmFsdWUpIGNvbnN0Cit7CisgICAgQVNTRVJUKGlz
Q2FsY3VsYXRlZCgpKTsKKyAgICBBU1NFUlQoY2FsY3VsYXRlZExlbmd0aE1hcCgpLT5jb250YWlu
cyhjYWxjdWxhdGVkTGVuZ3RoSWQoKSkpOworICAgIFJlZlB0cjxDYWxjdWxhdGVkTGVuZ3RoPiBj
YWxjTGVuZ3RoID0gY2FsY3VsYXRlZExlbmd0aE1hcCgpLT5nZXQoY2FsY3VsYXRlZExlbmd0aElk
KCkpOworICAgIGZsb2F0IHJlc3VsdCA9IGNhbGNMZW5ndGgtPmV2YWx1YXRlKG1heFZhbHVlKTsK
KyAgICBpZiAoaXNuYW4ocmVzdWx0KSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHJl
c3VsdDsKK30KKwordm9pZCBMZW5ndGg6OmluY3JlbWVudENhbGN1bGF0ZWRSZWYoKSBjb25zdAor
eworICAgIEFTU0VSVChpc0NhbGN1bGF0ZWQoKSk7CisgICAgQVNTRVJUKGNhbGN1bGF0ZWRMZW5n
dGhNYXAoKS0+Y29udGFpbnMoY2FsY3VsYXRlZExlbmd0aElkKCkpKTsKKyAgICBSZWZQdHI8Q2Fs
Y3VsYXRlZExlbmd0aD4gY2FsY0xlbmd0aCA9IGNhbGN1bGF0ZWRMZW5ndGhNYXAoKS0+Z2V0KGNh
bGN1bGF0ZWRMZW5ndGhJZCgpKTsKKyAgICBjYWxjTGVuZ3RoLT5yZWYoKTsKK30KKwordm9pZCBM
ZW5ndGg6OmRlY3JlbWVudENhbGN1bGF0ZWRSZWYoKSBjb25zdAoreworICAgIEFTU0VSVChpc0Nh
bGN1bGF0ZWQoKSk7CisgICAgQVNTRVJUKGNhbGN1bGF0ZWRMZW5ndGhNYXAoKS0+Y29udGFpbnMo
Y2FsY3VsYXRlZExlbmd0aElkKCkpKTsKKyAgICBSZWZQdHI8Q2FsY3VsYXRlZExlbmd0aD4gY2Fs
Y0xlbmd0aCA9IGNhbGN1bGF0ZWRMZW5ndGhNYXAoKS0+Z2V0KGNhbGN1bGF0ZWRMZW5ndGhJZCgp
KTsKKyAgICBpZiAoY2FsY0xlbmd0aC0+aGFzT25lUmVmKCkpCisgICAgICAgIGNhbGN1bGF0ZWRM
ZW5ndGhNYXAoKS0+cmVtb3ZlKGNhbGN1bGF0ZWRMZW5ndGhJZCgpKTsKKyAgICBjYWxjTGVuZ3Ro
LT5kZXJlZigpOworfSAgICAKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9MZW5ndGguaAppbmRleCBmMTgzNzI5NTk2ZjZkZTRlNWIxNjA5YjRlODYxZTIzY2VmODEwNDFk
Li42OWUxNGE2MTQwNmJlM2U5NmVhNGI1ODFhZGQ5NDdjZTc2NGNiNThmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9MZW5ndGguaApAQCAtMjYsNiArMjYsOCBAQAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093bkFycmF5
UHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzQsNyArMzYsOSBAQCBjb25zdCBpbnQg
cGVyY2VudFNjYWxlRmFjdG9yID0gMTI4OwogY29uc3QgaW50IGludE1heEZvckxlbmd0aCA9IDB4
N2ZmZmZmZjsgLy8gbWF4IHZhbHVlIGZvciBhIDI4LWJpdCBpbnQKIGNvbnN0IGludCBpbnRNaW5G
b3JMZW5ndGggPSAoLTB4N2ZmZmZmZiAtIDEpOyAvLyBtaW4gdmFsdWUgZm9yIGEgMjgtYml0IGlu
dAogCi1lbnVtIExlbmd0aFR5cGUgeyBBdXRvLCBSZWxhdGl2ZSwgUGVyY2VudCwgRml4ZWQsIElu
dHJpbnNpYywgTWluSW50cmluc2ljIH07CitlbnVtIExlbmd0aFR5cGUgeyBBdXRvLCBSZWxhdGl2
ZSwgUGVyY2VudCwgRml4ZWQsIEludHJpbnNpYywgTWluSW50cmluc2ljLCBDYWxjdWxhdGVkIH07
CisKK2NsYXNzIENhbGNWYWx1ZTsKIAogc3RydWN0IExlbmd0aCB7CiAgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CkBAIC02NiwxNSArNzAsNDEgQEAgcHVibGljOgogICAgICAgIH0KICAgICB9
CiAKKyAgICBleHBsaWNpdCBMZW5ndGgoUGFzc093blB0cjxDYWxjVmFsdWU+KTsKKworICAgIExl
bmd0aChjb25zdCBMZW5ndGgmIGxlbmd0aCkKKyAgICB7CisgICAgICAgIGluaXRGcm9tTGVuZ3Ro
KGxlbmd0aCk7CisgICAgfQorICAgIAorICAgIExlbmd0aCYgb3BlcmF0b3I9KGNvbnN0IExlbmd0
aCYgbGVuZ3RoKQorICAgIHsKKyAgICAgICAgaW5pdEZyb21MZW5ndGgobGVuZ3RoKTsKKyAgICAg
ICAgcmV0dXJuICp0aGlzOworICAgIH0KKyAgICAKKyAgICB+TGVuZ3RoKCkKKyAgICB7CisgICAg
ICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAgIGRlY3JlbWVudENhbGN1bGF0ZWRS
ZWYoKTsKKyAgICB9ICAgCisKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgTGVuZ3RoJiBvKSBj
b25zdCB7IHJldHVybiAoZ2V0RmxvYXRWYWx1ZSgpID09IG8uZ2V0RmxvYXRWYWx1ZSgpKSAmJiAo
bV90eXBlID09IG8ubV90eXBlKSAmJiAobV9xdWlyayA9PSBvLm1fcXVpcmspOyB9CiAgICAgYm9v
bCBvcGVyYXRvciE9KGNvbnN0IExlbmd0aCYgbykgY29uc3QgeyByZXR1cm4gKGdldEZsb2F0VmFs
dWUoKSAhPSBvLmdldEZsb2F0VmFsdWUoKSkgfHwgKG1fdHlwZSAhPSBvLm1fdHlwZSkgfHwgKG1f
cXVpcmsgIT0gby5tX3F1aXJrKTsgfQogCiAgICAgaW50IHZhbHVlKCkgY29uc3QgewogICAgICAg
ICBBU1NFUlQodHlwZSgpICE9IFBlcmNlbnQpOworICAgICAgICBpZiAoaXNDYWxjdWxhdGVkKCkp
CisgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkTGVuZ3RoOwogICAgICAgICByZXR1cm4gcmF3
VmFsdWUoKTsKICAgICB9Ci0KLSAgICBpbnQgcmF3VmFsdWUoKSBjb25zdCB7IHJldHVybiBnZXRJ
bnRWYWx1ZSgpOyB9CisgICAgCisgICAgaW50IHJhd1ZhbHVlKCkgY29uc3QgCisgICAgeyAKKyAg
ICAgICAgaWYgKGlzQ2FsY3VsYXRlZCgpKQorICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZExl
bmd0aDsKKyAgICAgICAgcmV0dXJuIGdldEludFZhbHVlKCk7IAorICAgIH0KIAogICAgIGRvdWJs
ZSBwZXJjZW50KCkgY29uc3QKICAgICB7CkBAIC05NSw2ICsxMjUsOCBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRWYWx1ZShpbnQgdmFsdWUpCiAgICAgewogICAgICAgICBBU1NFUlQoIXZhbHVlIHx8
IHR5cGUoKSAhPSBQZXJjZW50KTsKKyAgICAgICAgaWYgKGlzQ2FsY3VsYXRlZCgpKQorICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICBzZXRWYWx1ZShGaXhlZCwgdmFsdWUpOwogICAgIH0KIApA
QCAtMTIyLDYgKzE1NCw4IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICByZXR1cm4gbWF4VmFs
dWUgKiByYXdWYWx1ZSgpIC8gKDEwMCAqIHBlcmNlbnRTY2FsZUZhY3Rvcik7CiAgICAgICAgICAg
ICBjYXNlIEF1dG86CiAgICAgICAgICAgICAgICAgcmV0dXJuIG1heFZhbHVlOworICAgICAgICAg
ICAgY2FzZSBDYWxjdWxhdGVkOgorICAgICAgICAgICAgICAgIHJldHVybiBjYWxjdWxhdGVkQ2Fs
Y1ZhbHVlKG1heFZhbHVlLCByb3VuZFBlcmNlbnRhZ2VzKTsgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRMZW5ndGg7
CiAgICAgICAgIH0KQEAgLTEzNiw2ICsxNzAsOCBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAg
aWYgKHJvdW5kUGVyY2VudGFnZXMpCiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxpbnQ+KHJvdW5kKG1heFZhbHVlICogcGVyY2VudCgpIC8gMTAwLjApKTsKICAgICAgICAg
ICAgICAgICByZXR1cm4gbWF4VmFsdWUgKiByYXdWYWx1ZSgpIC8gKDEwMCAqIHBlcmNlbnRTY2Fs
ZUZhY3Rvcik7CisgICAgICAgICAgICBjYXNlIENhbGN1bGF0ZWQ6CisgICAgICAgICAgICAgICAg
cmV0dXJuIGNhbGN1bGF0ZWRDYWxjTWluVmFsdWUobWF4VmFsdWUsIHJvdW5kUGVyY2VudGFnZXMp
OyAgICAgICAgICAgICAgICAKICAgICAgICAgICAgIGNhc2UgQXV0bzoKICAgICAgICAgICAgIGRl
ZmF1bHQ6CiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CkBAIC0xNTEsMjEgKzE4NywzNCBAQCBw
dWJsaWM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGZsb2F0PihtYXhWYWx1
ZSAqIHBlcmNlbnQoKSAvIDEwMC4wKTsKICAgICAgICAgICAgIGNhc2UgQXV0bzoKICAgICAgICAg
ICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1heFZhbHVlKTsKKyAgICAgICAgICAg
IGNhc2UgQ2FsY3VsYXRlZDoKKyAgICAgICAgICAgICAgICByZXR1cm4gY2FsY3VsYXRlZENhbGNG
bG9hdFZhbHVlKG1heFZhbHVlKTsgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICBkZWZhdWx0
OgogICAgICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxmbG9hdD4odW5kZWZpbmVkTGVu
Z3RoKTsKICAgICAgICAgfQogICAgIH0KIAogICAgIGJvb2wgaXNVbmRlZmluZWQoKSBjb25zdCB7
IHJldHVybiByYXdWYWx1ZSgpID09IHVuZGVmaW5lZExlbmd0aDsgfQotICAgIGJvb2wgaXNaZXJv
KCkgY29uc3QgeyByZXR1cm4gIWdldEludFZhbHVlKCk7IH0KLSAgICBib29sIGlzUG9zaXRpdmUo
KSBjb25zdCB7IHJldHVybiByYXdWYWx1ZSgpID4gMDsgfQotICAgIGJvb2wgaXNOZWdhdGl2ZSgp
IGNvbnN0IHsgcmV0dXJuIHJhd1ZhbHVlKCkgPCAwOyB9CisKKyAgICBib29sIGlzWmVybygpIGNv
bnN0CisgICAgeworICAgICAgICByZXR1cm4gaXNDYWxjdWxhdGVkKCkgPyBjYWxjdWxhdGVkSXNa
ZXJvKCkgOiAhZ2V0SW50VmFsdWUoKTsKKyAgICB9CisgICAgYm9vbCBpc1Bvc2l0aXZlKCkgY29u
c3QKKyAgICB7CisgICAgICAgIHJldHVybiBpc0NhbGN1bGF0ZWQoKSA/IGNhbGN1bGF0ZWRJc1Bv
c2l0aXZlKCkgOiByYXdWYWx1ZSgpID4gMDsKKyAgICB9CisgICAgYm9vbCBpc05lZ2F0aXZlKCkg
Y29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBpc0NhbGN1bGF0ZWQoKSA/IGNhbGN1bGF0ZWRJ
c05lZ2F0aXZlKCkgOiByYXdWYWx1ZSgpIDwgMDsKKyAgICB9CiAKICAgICBib29sIGlzQXV0bygp
IGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBBdXRvOyB9CiAgICAgYm9vbCBpc1JlbGF0aXZlKCkg
Y29uc3QgeyByZXR1cm4gdHlwZSgpID09IFJlbGF0aXZlOyB9Ci0gICAgYm9vbCBpc1BlcmNlbnQo
KSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gUGVyY2VudDsgfQorICAgIGJvb2wgaXNQZXJjZW50
KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFBlcmNlbnQgfHwgdHlwZSgpID09IENhbGN1bGF0
ZWQ7IH0KICAgICBib29sIGlzRml4ZWQoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gRml4ZWQ7
IH0KICAgICBib29sIGlzSW50cmluc2ljT3JBdXRvKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09
IEF1dG8gfHwgdHlwZSgpID09IE1pbkludHJpbnNpYyB8fCB0eXBlKCkgPT0gSW50cmluc2ljOyB9
CisgICAgYm9vbCBpc0NhbGN1bGF0ZWQoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gQ2FsY3Vs
YXRlZDsgfQogCiAgICAgTGVuZ3RoIGJsZW5kKGNvbnN0IExlbmd0aCYgZnJvbSwgZG91YmxlIHBy
b2dyZXNzKSBjb25zdAogICAgIHsKQEAgLTIwNiw2ICsyNTUsMzUgQEAgcHJpdmF0ZToKICAgICAg
ICAgcmV0dXJuIG1faW50VmFsdWU7CiAgICAgfQogCisgICAgdm9pZCBpbml0RnJvbUxlbmd0aChj
b25zdCBMZW5ndGggJmxlbmd0aCkgCisgICAgeworICAgICAgICBtX3F1aXJrID0gbGVuZ3RoLm1f
cXVpcms7CisgICAgICAgIG1fdHlwZSA9IGxlbmd0aC5tX3R5cGU7CisgICAgICAgIG1faXNGbG9h
dCA9IGxlbmd0aC5tX2lzRmxvYXQ7CisgICAgICAgIAorICAgICAgICBpZiAobV9pc0Zsb2F0KQor
ICAgICAgICAgICAgbV9mbG9hdFZhbHVlID0gbGVuZ3RoLm1fZmxvYXRWYWx1ZTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgbV9pbnRWYWx1ZSA9IGxlbmd0aC5tX2ludFZhbHVlOworICAgICAg
ICAKKyAgICAgICAgaWYgKGlzQ2FsY3VsYXRlZCgpKQorICAgICAgICAgICAgaW5jcmVtZW50Q2Fs
Y3VsYXRlZFJlZigpOworICAgIH0KKyAgICAKKyAgICBib29sIGNhbGN1bGF0ZWRJc1plcm8oKSBj
b25zdDsKKyAgICBib29sIGNhbGN1bGF0ZWRJc1Bvc2l0aXZlKCkgY29uc3Q7CisgICAgYm9vbCBj
YWxjdWxhdGVkSXNOZWdhdGl2ZSgpIGNvbnN0OworICAgIGludCBjYWxjdWxhdGVkQ2FsY1ZhbHVl
KGludCBtYXhWYWx1ZSwgYm9vbCByb3VuZFBlcmNlbnRhZ2VzKSBjb25zdDsKKyAgICBpbnQgY2Fs
Y3VsYXRlZENhbGNNaW5WYWx1ZShpbnQgbWF4VmFsdWUsIGJvb2wgcm91bmRQZXJjZW50YWdlcykg
Y29uc3Q7CisgICAgZmxvYXQgY2FsY3VsYXRlZENhbGNGbG9hdFZhbHVlKGludCBtYXhWYWx1ZSkg
Y29uc3Q7CisgICAgaW50IGNhbGN1bGF0ZWRMZW5ndGhJZCgpIGNvbnN0CisgICAgeworICAgICAg
ICBBU1NFUlQoaXNDYWxjdWxhdGVkKCkpOworICAgICAgICByZXR1cm4gZ2V0SW50VmFsdWUoKTsK
KyAgICB9CisgICAgdm9pZCBpbmNyZW1lbnRDYWxjdWxhdGVkUmVmKCkgY29uc3Q7CisgICAgdm9p
ZCBkZWNyZW1lbnRDYWxjdWxhdGVkUmVmKCkgY29uc3Q7CisKICAgICB1bmlvbiB7CiAgICAgICAg
IGludCBtX2ludFZhbHVlOwogICAgICAgICBmbG9hdCBtX2Zsb2F0VmFsdWU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCA4NDQzOWRlYTgxNDc0NDgxNmM4MzFh
NDM0MDUzZjY2ODA3ODgxZThjLi42Yzc5M2QxMDY0Mjc0ODI5Y2JjMTUxODQ4ZjcyZmQ0OWM3MTE5
YjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKQEAgLTQzNiw2
ICs0MzYsNyBAQCBib29sIFJlbmRlckltYWdlOjppc0xvZ2ljYWxXaWR0aFNwZWNpZmllZCgpIGNv
bnN0CiAgICAgc3dpdGNoIChzdHlsZSgpLT5sb2dpY2FsV2lkdGgoKS50eXBlKCkpIHsKICAgICAg
ICAgY2FzZSBGaXhlZDoKICAgICAgICAgY2FzZSBQZXJjZW50OgorICAgICAgICBjYXNlIENhbGN1
bGF0ZWQ6IC8vIEZJWE1FOiBJcyB0aGlzIHJpZ2h0PwogICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgICAgIGNhc2UgQXV0bzoKICAgICAgICAgY2FzZSBSZWxhdGl2ZTogLy8gRklYTUU6IFNo
b3VsZG4ndCB0aGlzIGNhc2UgcmV0dXJuIHRydWU/CkBAIC00NTIsNiArNDUzLDcgQEAgYm9vbCBS
ZW5kZXJJbWFnZTo6aXNMb2dpY2FsSGVpZ2h0U3BlY2lmaWVkKCkgY29uc3QKICAgICBzd2l0Y2gg
KHN0eWxlKCktPmxvZ2ljYWxIZWlnaHQoKS50eXBlKCkpIHsKICAgICAgICAgY2FzZSBGaXhlZDoK
ICAgICAgICAgY2FzZSBQZXJjZW50OgorICAgICAgICBjYXNlIENhbGN1bGF0ZWQ6IC8vIEZJWE1F
OiBJcyB0aGlzIHJpZ2h0PwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGNhc2Ug
QXV0bzoKICAgICAgICAgY2FzZSBSZWxhdGl2ZTogLy8gRklYTUU6IFNob3VsZG4ndCB0aGlzIGNh
c2UgcmV0dXJuIHRydWU/Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86745</attachid>
            <date>2011-03-23 22:55:22 -0700</date>
            <delta_ts>2011-08-29 21:14:59 -0700</delta_ts>
            <desc>version after lexer/grammar patch has landed</desc>
            <filename>bug-16662-20110324165519.patch</filename>
            <type>text/plain</type>
            <size>106124</size>
            <attacher name="Mike Lawther">mikelawther</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODE4NDkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0ODMzNWUzYjcxZmZhNjQ5YjEyZGRi
YjJjNWNkZmE4ZTI3ZGNmYjMzLi4zMjVhODE2ZTdiZDNjNzFjNTMzZmE3OGI1OWIzNWVhNWM4MDAx
YTUwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTEtMDMtMTcgIE1pa2UgTGF3dGhlciAgPG1p
a2VsYXd0aGVyQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBDU1MzOiBJbXBsZW1lbnQgY2FsYygpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjY2MgorCisgICAgICAgICogY3NzMy9j
YWxjL2JvcmRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9ib3Jk
ZXItc3BhY2luZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9ib3Jk
ZXItc3BhY2luZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvYm9yZGVyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9jYWxjLWVycm9ycy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9jYWxjLWVycm9ycy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBjc3MzL2NhbGMvbWFyZ2luLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3Nz
My9jYWxjL21hcmdpbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvbWlubWF4LWVy
cm9ycy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9taW5tYXgtZXJy
b3JzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9wYWRkaW5nLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3BhZGRpbmcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogY3NzMy9jYWxjL3NpbXBsZS1jYWxjcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGNzczMvY2FsYy9zaW1wbGUtY2FsY3MuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9j
YWxjL3NpbXBsZS1taW5tYXgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2Nh
bGMvc2ltcGxlLW1pbm1heC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvdGFibGUt
Y2FsY3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvdGFibGUtY2Fs
Y3MuaHRtbDogQWRkZWQuCisKIDIwMTEtMDMtMjMgIE1pa2UgTGF3dGhlciAgPG1pa2VsYXd0aGVy
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBPamFuIFZhZmFpLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvYm9yZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZDJiYWM4ZWM5
MjE5ZDM5YjQxMGY5ZmU1NDkxYTIwYmI3MGMxMGIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitUaGlz
IGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBib3JkZXIgb2YgMjUgcGl4ZWxzLiA9PiBQ
QVNTCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGxlZnQgYm9yZGVyIG9mIDI1IHBpeGVs
cy4gPT4gUEFTUworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSByaWdodCBib3JkZXIgb2Yg
MjUgcGl4ZWxzLiA9PiBQQVNTCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHRvcCBib3Jk
ZXIgb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGJv
dHRvbSBib3JkZXIgb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jc3MzL2NhbGMvYm9yZGVyLXNwYWNpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL2JvcmRlci1zcGFjaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZWIyYWNhMWFk
ZTA4ODNmNmI0ZWUzY2FhMWEyN2ZhNDNkYTE2YWJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1zcGFjaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBA
Cis9PiBQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLXNwYWNp
bmcuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXItc3BhY2luZy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjVmNmRjYTcyOWQ3OTM3NjExMDBkYTU1ZDk4ODAyMmMxZDZkMmZiNmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLXNwYWNpbmcuaHRtbApAQCAt
MCwwICsxLDU5IEBACis8IURPQ1RZUEUgSFRNTD4KKzxzdHlsZT4KK3RkIHsgdmVydGljYWwtYWxp
Z246dG9wOyBwYWRkaW5nOiAwOyB3aWR0aDo1MHB4OyBoZWlnaHQ6NjBweDsgYmFja2dyb3VuZC1j
b2xvcjpibHVlOyBib3JkZXI6MXB4IHNvbGlkIGJsYWNrIH0KK3RhYmxlIHsgYm9yZGVyLXNwYWNp
bmc6IC13ZWJraXQtY2FsYygxMHB4ICogMiArIDVweCk7IGJvcmRlcjozcHggc29saWQgYmxhY2s7
IHBvc2l0aW9uOnJlbGF0aXZlIH0KKzwvc3R5bGU+CisKKzx0YWJsZSBpZD0ic3RpbXVsdXMiPgor
ICAgIDx0cj4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8
dGQ+PC90ZD4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDx0ZD48L3RkPgorICAgIDwvdHI+
CisgICAgPHRyPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgICAg
IDx0ZD48L3RkPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgPC90
cj4KKzwvdGFibGU+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7CisKK3ZhciBpbm5lckJvcmRlciA9IDE7Cit2YXIgb3V0ZXJCb3JkZXIgPSAzOwor
dmFyIGlubmVyV2lkdGggPSA1MCArIDIgKiBpbm5lckJvcmRlcjsKK3ZhciBpbm5lckhlaWdodCA9
IDYwICsgMiAqIGlubmVyQm9yZGVyOwordmFyIGJvcmRlclNwYWNpbmcgPSAyNTsKK3ZhciByb3dz
ID0gMjsKK3ZhciBjb2x1bW5zID0gNTsKKwordmFyIGV4cGVjdGVkV2lkdGggPSBpbm5lcldpZHRo
ICogY29sdW1ucyArIGJvcmRlclNwYWNpbmcgKiAoY29sdW1ucyArIDEpICsgMiAqIG91dGVyQm9y
ZGVyOwordmFyIGV4cGVjdGVkSGVpZ2h0ID0gaW5uZXJIZWlnaHQgKiByb3dzICsgYm9yZGVyU3Bh
Y2luZyAqIChyb3dzICsgMSkgKyAyICogb3V0ZXJCb3JkZXI7CisKK3ZhciBlbHQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RpbXVsdXMiKTsKKwordmFyIHdpZHRoID0gZWx0Lm9mZnNldFdp
ZHRoOwordmFyIGhlaWdodCA9IGVsdC5vZmZzZXRIZWlnaHQ7CisKK3ZhciBlcnJvciA9IFtdOwor
aWYgKHdpZHRoICE9IGV4cGVjdGVkV2lkdGgpCisgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90
YWwgd2lkdGggb2YgIiArIGV4cGVjdGVkV2lkdGggKyAiLCBidXQgd2FzICIgKyB3aWR0aCk7Citp
ZiAoaGVpZ2h0ICE9IGV4cGVjdGVkSGVpZ2h0KQorICAgIGVycm9yLnB1c2goImV4cGVjdGVkIHRv
dGFsIGhlaWdodCBvZiAiICsgZXhwZWN0ZWRIZWlnaHQgKyAiLCBidXQgd2FzICIgKyBoZWlnaHQp
OworCityZXN1bHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0Iik7CitpZiAoZXJy
b3IgPT0gIiIpIHsKKyAgICBlbHQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gImdyZWVuIjsKKyAg
ICByZXN1bHQuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7Cit9IGVsc2UgeworICAgIGVsdC5zdHls
ZS5iYWNrZ3JvdW5kQ29sb3IgPSAicmVkIjsKKyAgICByZXN1bHQuaW5uZXJIVE1MICs9ICIgPT4g
RkFJTDogIiArIGVycm9yLmpvaW4oIiwgIik7Cit9Cis8L3NjcmlwdD4gICAgCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvYm9yZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTFiOGUyZGVhYTgzYzZhYTFlNDU4Njc0YTgxYzEw
NmIyNDMzNGUxYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3Jk
ZXIuaHRtbApAQCAtMCwwICsxLDc3IEBACis8IURPQ1RZUEUgSFRNTD4KKzxzdHlsZT4KK3Agewor
ICAgIHdpZHRoOjIwMHB4OyBoZWlnaHQ6MTIwcHg7Cit9Cisuc2ltcGxlLWFsbCB7CisgICAgYm9y
ZGVyOiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpIHNvbGlkOworfQorCisuc2ltcGxlLWxlZnQg
eworICAgIGJvcmRlci1sZWZ0OiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpIHNvbGlkOworfQor
LnNpbXBsZS1yaWdodCB7CisgICAgYm9yZGVyLXJpZ2h0OiAtd2Via2l0LWNhbGMoMTNweCArIDEy
cHgpIHNvbGlkOworfQorLnNpbXBsZS10b3AgeworICAgIGJvcmRlci10b3A6IC13ZWJraXQtY2Fs
YygxM3B4ICsgMTJweCkgc29saWQ7Cit9Cisuc2ltcGxlLWJvdHRvbSB7CisgICAgYm9yZGVyLWJv
dHRvbTogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KSBzb2xpZDsKK30KKzwvc3R5bGU+CisKKzxw
IGNsYXNzPSJzaW1wbGUtYWxsIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBi
b3JkZXIgb2YgMjUgcGl4ZWxzLjwvcD4KKzxwIGNsYXNzPSJzaW1wbGUtbGVmdCI+VGhpcyBlbGVt
ZW50IHNob3VsZCBoYXZlIGEgbGVmdCBib3JkZXIgb2YgMjUgcGl4ZWxzLjwvcD4KKzxwIGNsYXNz
PSJzaW1wbGUtcmlnaHQiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0IGJvcmRlciBv
ZiAyNSBwaXhlbHMuPC9wPgorPHAgY2xhc3M9InNpbXBsZS10b3AiPlRoaXMgZWxlbWVudCBzaG91
bGQgaGF2ZSBhIHRvcCBib3JkZXIgb2YgMjUgcGl4ZWxzLjwvcD4KKzxwIGNsYXNzPSJzaW1wbGUt
Ym90dG9tIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gYm9yZGVyIG9mIDI1IHBp
eGVscy48L3A+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKwordmFyIGlubmVyV2lkdGgg
PSAyMDA7Cit2YXIgaW5uZXJIZWlnaHQgPSAxMjA7Cit2YXIgYm9yZGVyID0gMjU7CisKK3ZhciB0
ZXN0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwIik7Citmb3IgKHZhciBpID0g
MDsgaSA8IHRlc3RzLmxlbmd0aDsgKytpKSB7CisgICAgdmFyIGVsdCA9IHRlc3RzW2ldOworICAg
IHZhciB3aWR0aCA9IGVsdC5vZmZzZXRXaWR0aDsKKyAgICB2YXIgaGVpZ2h0ID0gZWx0Lm9mZnNl
dEhlaWdodDsKKworICAgIHZhciBleHBlY3RlZFdpZHRoID0gaW5uZXJXaWR0aDsKKyAgICB2YXIg
ZXhwZWN0ZWRIZWlnaHQgPSBpbm5lckhlaWdodDsKKworICAgIHN3aXRjaCAoZWx0LmNsYXNzTmFt
ZS5zcGxpdCgiLSIpWzFdKSB7CisgICAgY2FzZSAiYWxsIjoKKyAgICAgICAgZXhwZWN0ZWRXaWR0
aCArPSAyICogYm9yZGVyOworICAgICAgICBleHBlY3RlZEhlaWdodCArPSAyICogYm9yZGVyOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlICJ0b3AiOgorICAgIGNhc2UgImJvdHRvbSI6CisgICAg
ICAgIGV4cGVjdGVkSGVpZ2h0ICs9IGJvcmRlcjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAi
bGVmdCI6CisgICAgY2FzZSAicmlnaHQiOgorICAgICAgICBleHBlY3RlZFdpZHRoICs9IGJvcmRl
cjsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgdmFyIGVycm9yID0gW107CisgICAgaWYg
KHdpZHRoICE9IGV4cGVjdGVkV2lkdGgpCisgICAgICAgIGVycm9yLnB1c2goImV4cGVjdGVkIHRv
dGFsIHdpZHRoIG9mICIgKyBleHBlY3RlZFdpZHRoICsgIiwgYnV0IHdhcyAiICsgd2lkdGgpOwor
ICAgIGlmIChoZWlnaHQgIT0gZXhwZWN0ZWRIZWlnaHQpCisgICAgICAgIGVycm9yLnB1c2goImV4
cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAiICsgZXhwZWN0ZWRIZWlnaHQgKyAiLCBidXQgd2FzICIg
KyBoZWlnaHQpOworCisgICAgcmVzdWx0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1
bHRzIik7CisgICAgaWYgKGVycm9yID09ICIiKSB7CisgICAgICAgIGVsdC5zdHlsZS5iYWNrZ3Jv
dW5kQ29sb3IgPSAiZ3JlZW4iOworICAgICAgICBlbHQuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgZWx0LnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICJyZWQi
OworICAgICAgICBlbHQuaW5uZXJIVE1MICs9ICIgPT4gRkFJTDogIiArIGVycm9yLmpvaW4oIiwg
Iik7CisgICAgfQorfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvbWFyZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9tYXJnaW4tZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRiOTQ0ZWZjYzhmZTAxMmNjODNlNzAwMzk4NDYzNWJlMTQz
MDZiZjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbWFyZ2luLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDI0IEBACitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4g
b3ZlcmFsbCBtYXJnaW4gb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCisKKworVGhpcyBlbGVtZW50IHNo
b3VsZCBoYXZlIGEgbGVmdCBtYXJnaW4gb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCisKK1RoaXMgZWxl
bWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0IG1hcmdpbiBvZiAyNSBwaXhlbHMuID0+IFBBU1MKKwor
VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgdG9wIG1hcmdpbiBvZiAyNSBwaXhlbHMuID0+IFBB
U1MKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIG1hcmdpbiBvZiAyNSBwaXhl
bHMuID0+IFBBU1MKKworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBtYXJn
aW4gb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCku
ID0+IEZBSUw6IGV4cGVjdGVkIHRvdGFsIHdpZHRoIG9mIDI1MCwgYnV0IHdhcyAyMDAsIGV4cGVj
dGVkIHRvdGFsIGhlaWdodCBvZiAxNzAsIGJ1dCB3YXMgMTIwCisKK1RoaXMgZWxlbWVudCBzaG91
bGQgaGF2ZSBhIGxlZnQgbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBv
ZiAzMDBweCBtaW51cyA1cHgpLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyMjUs
IGJ1dCB3YXMgMjAwCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0IG1hcmdpbiBv
ZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4g
RkFJTDogZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgMjI1LCBidXQgd2FzIDIwMAorCitUaGlzIGVs
ZW1lbnQgc2hvdWxkIGhhdmUgYSB0b3AgbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVu
dCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCBoZWln
aHQgb2YgMTQ1LCBidXQgd2FzIDEzNQorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0
b20gbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51
cyA1cHgpLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgMTQ1LCBidXQgd2FzIDEz
NQorCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL21hcmdpbi5odG1sIGIv
TGF5b3V0VGVzdHMvY3NzMy9jYWxjL21hcmdpbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxMjM1ZTJkZDAy
ZmUzNGRmNWViY2I0YmY0NmIwMmZhYzlkYzk5NzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvbWFyZ2luLmh0bWwKQEAgLTAsMCArMSwxMzMgQEAKKzwhRE9DVFlQRSBI
VE1MPgorPHN0eWxlPgorZGl2IHsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cit9CisKK3Ag
eworICAgIHdpZHRoOjIwMHB4OyAKKyAgICBoZWlnaHQ6MTIwcHg7CisgICAgbWFyZ2luOiAwOwor
fQorLnNpbXBsZS1hbGwgeworICAgIG1hcmdpbjogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsK
K30KKy5zaW1wbGUtbGVmdCB7CisgICAgbWFyZ2luLWxlZnQ6IC13ZWJraXQtY2FsYygxM3B4ICsg
MTJweCk7Cit9Cisuc2ltcGxlLXJpZ2h0IHsKKyAgICBtYXJnaW4tcmlnaHQ6IC13ZWJraXQtY2Fs
YygxM3B4ICsgMTJweCk7Cit9Cisuc2ltcGxlLXRvcCB7CisgICAgbWFyZ2luLXRvcDogLXdlYmtp
dC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5zaW1wbGUtYm90dG9tIHsKKyAgICBtYXJnaW4tYm90
dG9tOiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpOworfQorLnBlcmNlbnQtYWxsIHsKKyAgIC8q
IG1hcmdpbjogLXdlYmtpdC1jYWxjKDEwJSAtIDVweCk7CisgICAgbWFyZ2luOiAtbW96LWNhbGMo
MTAlIC0gNXB4KTsKKyAgICBtYXJnaW46IGNhbGMoMTAlIC0gNXB4KTsqLworICAgIG1hcmdpbi1s
ZWZ0OiAxMCU7Cit9CisucGVyY2VudC1sZWZ0IHsKKyAgICBtYXJnaW4tbGVmdDogLXdlYmtpdC1j
YWxjKDEwJSAtIDVweCk7CisgICAgbWFyZ2luLWxlZnQ6IDIwJTsKK30KKy5wZXJjZW50LXJpZ2h0
IHsKKyAgICBtYXJnaW4tcmlnaHQ6IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQorLnBlcmNl
bnQtdG9wIHsKKyAgICBtYXJnaW4tdG9wOiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKK30KKy5w
ZXJjZW50LWJvdHRvbSB7CisgICBtYXJnaW4tYm90dG9tOiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4
KTsKK30KKzwvc3R5bGU+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJzaW1wbGUtYWxsIj5UaGlzIGVs
ZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBtYXJnaW4gb2YgMjUgcGl4ZWxzLjwvcD4KKzwv
ZGl2Pjxici8+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJzaW1wbGUtbGVmdCI+VGhpcyBlbGVtZW50
IHNob3VsZCBoYXZlIGEgbGVmdCBtYXJnaW4gb2YgMjUgcGl4ZWxzLjwvcD4KKzwvZGl2Pjxici8+
Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJzaW1wbGUtcmlnaHQiPlRoaXMgZWxlbWVudCBzaG91bGQg
aGF2ZSBhIHJpZ2h0IG1hcmdpbiBvZiAyNSBwaXhlbHMuPC9wPgorPC9kaXY+PGJyLz4KKzxkaXY+
CisgICAgPHAgY2xhc3M9InNpbXBsZS10b3AiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHRv
cCBtYXJnaW4gb2YgMjUgcGl4ZWxzLjwvcD4KKzwvZGl2Pjxici8+Cis8ZGl2PgorICAgIDxwIGNs
YXNzPSJzaW1wbGUtYm90dG9tIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gbWFy
Z2luIG9mIDI1IHBpeGVscy48L3A+Cis8L2Rpdj48YnIvPgorCis8ZGl2IGlkPSJ3cmFwcGVyIiBz
dHlsZT0id2lkdGg6IDMwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBjb3Juc2lsazsgZGlzcGxheTog
YmxvY2s7Ij4KKzxkaXY+CisgICAgPHAgY2xhc3M9InBlcmNlbnQtYWxsIj5UaGlzIGVsZW1lbnQg
c2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBtYXJnaW4gb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50
IHdpZHRoIG9mIDMwMHB4IG1pbnVzICAgICA1cHgpLjwvcD4KKzwvZGl2Pjxici8+CisKKworPGRp
dj4KKyAgICA8cCBjbGFzcz0icGVyY2VudC1sZWZ0Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUg
YSBsZWZ0IG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHgg
bWludXMgNXB4KS48L3A+Cis8L2Rpdj48YnIvPgorPGRpdj4KKyAgICA8cCBjbGFzcz0icGVyY2Vu
dC1yaWdodCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgcmlnaHQgbWFyZ2luIG9mIDI1IHBp
eGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLjwvcD4KKzwvZGl2
Pjxici8+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJwZXJjZW50LXRvcCI+VGhpcyBlbGVtZW50IHNo
b3VsZCBoYXZlIGEgdG9wIG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGgg
b2YgMzAwcHggbWludXMgNXB4KS48L3A+Cis8L2Rpdj48YnIvPgorPGRpdj4KKyAgICA8cCBjbGFz
cz0icGVyY2VudC1ib3R0b20iPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGJvdHRvbSBtYXJn
aW4gb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCku
PC9wPgorPC9kaXY+PGJyLz4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit2YXIgaW5u
ZXJXaWR0aCA9IDIwMDsKK3ZhciBpbm5lckhlaWdodCA9IDEyMDsKK3ZhciBtYXJnaW4gPSAyNTsK
KwordmFyIHRlc3RzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpOworZm9y
ICh2YXIgaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7ICsraSkgeworICAgIHZhciBvdXRlckVsdCA9
IHRlc3RzW2ldOworICAgIGlmIChvdXRlckVsdC5pZCA9PSAid3JhcHBlciIpCisgICAgICAgIGNv
bnRpbnVlOworICAgICAgICAKKyAgICB2YXIgaW5uZXJFbHQgPSB0ZXN0c1tpXS5nZXRFbGVtZW50
c0J5VGFnTmFtZSgicCIpWzBdOworICAgIHZhciB3aWR0aCA9IG91dGVyRWx0Lm9mZnNldFdpZHRo
OworICAgIHZhciBoZWlnaHQgPSBvdXRlckVsdC5vZmZzZXRIZWlnaHQ7CisKKyAgICB2YXIgZXhw
ZWN0ZWRXaWR0aCA9IGlubmVyV2lkdGg7CisgICAgdmFyIGV4cGVjdGVkSGVpZ2h0ID0gaW5uZXJI
ZWlnaHQ7CisgICAgCisgICAgc3dpdGNoIChpbm5lckVsdC5jbGFzc05hbWUuc3BsaXQoIi0iKVsx
XSkgeworICAgIGNhc2UgImFsbCI6CisgICAgICAgIGV4cGVjdGVkV2lkdGggKz0gMiAqIG1hcmdp
bjsKKyAgICAgICAgZXhwZWN0ZWRIZWlnaHQgKz0gMiAqIG1hcmdpbjsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSAidG9wIjoKKyAgICBjYXNlICJib3R0b20iOgorICAgICAgICBleHBlY3RlZEhl
aWdodCArPSBtYXJnaW47CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgImxlZnQiOgorICAgIGNh
c2UgInJpZ2h0IjoKKyAgICAgICAgZXhwZWN0ZWRXaWR0aCArPSBtYXJnaW47CisgICAgICAgIGJy
ZWFrOworICAgIH0KKyAgICAKKyAgICB2YXIgZXJyb3IgPSBbXTsKKyAgICBpZiAod2lkdGggIT0g
ZXhwZWN0ZWRXaWR0aCkKKyAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90YWwgd2lkdGgg
b2YgIiArIGV4cGVjdGVkV2lkdGggKyAiLCBidXQgd2FzICIgKyB3aWR0aCk7CisgICAgaWYgKGhl
aWdodCAhPSBleHBlY3RlZEhlaWdodCkKKyAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90
YWwgaGVpZ2h0IG9mICIgKyBleHBlY3RlZEhlaWdodCArICIsIGJ1dCB3YXMgIiArIGhlaWdodCk7
CisKKyAgICByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKTsKKyAg
ICBpZiAoZXJyb3IgPT0gIiIpIHsKKyAgICAgICAgaW5uZXJFbHQuc3R5bGUuYmFja2dyb3VuZENv
bG9yID0gImdyZWVuIjsKKyAgICAgICAgaW5uZXJFbHQuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgaW5uZXJFbHQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0g
InJlZCI7CisgICAgICAgIGlubmVyRWx0LmlubmVySFRNTCArPSAiID0+IEZBSUw6ICIgKyBlcnJv
ci5qb2luKCIsICIpOworICAgIH0KK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3NzMy9jYWxjL3BhZGRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L3BhZGRpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiOGUzYTc0NDQ1Mjg3MDgzY2RjNTJi
YjY0NmViNWQyMDU3NzlhOGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvcGFkZGluZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAorVGhpcyBlbGVtZW50IHNo
b3VsZCBoYXZlIGFuIG92ZXJhbGwgcGFkZGluZyBvZiAyNSBwaXhlbHMuID0+IFBBU1MKKworVGhp
cyBlbGVtZW50IHNob3VsZCBoYXZlIGEgbGVmdCBwYWRkaW5nIG9mIDI1IHBpeGVscy4gPT4gUEFT
UworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSByaWdodCBwYWRkaW5nIG9mIDI1IHBpeGVs
cy4gPT4gUEFTUworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSB0b3AgcGFkZGluZyBvZiAy
NSBwaXhlbHMuID0+IFBBU1MKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIHBh
ZGRpbmcgb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBh
biBvdmVyYWxsIHBhZGRpbmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMw
MHB4IG1pbnVzIDVweCkuID0+IFBBU1MKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgbGVm
dCBwYWRkaW5nIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51
cyA1cHgpLiA9PiBQQVNTCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0IHBhZGRp
bmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCku
ID0+IFBBU1MKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgdG9wIHBhZGRpbmcgb2YgMjUg
cGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuID0+IFBBU1MK
KworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIHBhZGRpbmcgb2YgMjUgcGl4ZWxz
ICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuID0+IFBBU1MKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9wYWRkaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvcGFkZGluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlNjgwOTNlYmE3NTY1YzE5ZDI3NjI2
MTY0M2I0NDUxYTAzM2NkMDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvcGFkZGluZy5odG1sCkBAIC0wLDAgKzEsOTkgQEAKKzwhRE9DVFlQRSBIVE1MPgorPHN0eWxl
PgorcCB7CisgICAgd2lkdGg6MjAwcHg7IGhlaWdodDoxMjBweDsgCit9Cisuc2ltcGxlLWFsbCB7
CisgICAgcGFkZGluZzogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5zaW1wbGUtbGVm
dCB7CisgICAgcGFkZGluZy1sZWZ0OiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpOworfQorLnNp
bXBsZS1yaWdodCB7CisgICAgcGFkZGluZy1yaWdodDogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4
KTsKK30KKy5zaW1wbGUtdG9wIHsKKyAgICBwYWRkaW5nLXRvcDogLXdlYmtpdC1jYWxjKDEzcHgg
KyAxMnB4KTsKK30KKy5zaW1wbGUtYm90dG9tIHsKKyAgICBwYWRkaW5nLWJvdHRvbTogLXdlYmtp
dC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5wZXJjZW50LWFsbCB7CisgICAgcGFkZGluZzogLXdl
YmtpdC1jYWxjKDEwJSAtIDVweCk7Cit9CisucGVyY2VudC1sZWZ0IHsKKyAgICBwYWRkaW5nLWxl
ZnQ6IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQorLnBlcmNlbnQtcmlnaHQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQorLnBlcmNlbnQtdG9wIHsK
KyAgICBwYWRkaW5nLXRvcDogLXdlYmtpdC1jYWxjKDEwJSAtIDVweCk7Cit9CisucGVyY2VudC1i
b3R0b20geworICAgcGFkZGluZy1ib3R0b206IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQor
PC9zdHlsZT4KKworPHAgY2xhc3M9InNpbXBsZS1hbGwiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2
ZSBhbiBvdmVyYWxsIHBhZGRpbmcgb2YgMjUgcGl4ZWxzLjwvcD4KKzxwIGNsYXNzPSJzaW1wbGUt
bGVmdCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgbGVmdCBwYWRkaW5nIG9mIDI1IHBpeGVs
cy48L3A+Cis8cCBjbGFzcz0ic2ltcGxlLXJpZ2h0Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUg
YSByaWdodCBwYWRkaW5nIG9mIDI1IHBpeGVscy48L3A+Cis8cCBjbGFzcz0ic2ltcGxlLXRvcCI+
VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgdG9wIHBhZGRpbmcgb2YgMjUgcGl4ZWxzLjwvcD4K
KzxwIGNsYXNzPSJzaW1wbGUtYm90dG9tIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0
b20gcGFkZGluZyBvZiAyNSBwaXhlbHMuPC9wPgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogMzAwcHg7
IGJhY2tncm91bmQtY29sb3I6IGNvcm5zaWxrOyI+CisgICAgPHAgY2xhc3M9InBlcmNlbnQtYWxs
Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBwYWRkaW5nIG9mIDI1IHBpeGVs
cyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLjwvcD4KKyAgICA8cCBj
bGFzcz0icGVyY2VudC1sZWZ0Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBsZWZ0IHBhZGRp
bmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCku
PC9wPgorICAgIDxwIGNsYXNzPSJwZXJjZW50LXJpZ2h0Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhh
dmUgYSByaWdodCBwYWRkaW5nIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAz
MDBweCBtaW51cyA1cHgpLjwvcD4KKyAgICA8cCBjbGFzcz0icGVyY2VudC10b3AiPlRoaXMgZWxl
bWVudCBzaG91bGQgaGF2ZSBhIHRvcCBwYWRkaW5nIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVu
dCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLjwvcD4KKyAgICA8cCBjbGFzcz0icGVyY2VudC1i
b3R0b20iPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGJvdHRvbSBwYWRkaW5nIG9mIDI1IHBp
eGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLjwvcD4KKzwvZGl2
PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3ZhciBpbm5lcldpZHRoID0gMjAwOwor
dmFyIGlubmVySGVpZ2h0ID0gMTIwOwordmFyIHBhZGRpbmcgPSAyNTsKKwordmFyIHRlc3RzID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInAiKTsKK2ZvciAodmFyIGkgPSAwOyBpIDwg
dGVzdHMubGVuZ3RoOyArK2kpIHsKKyAgICB2YXIgZWx0ID0gdGVzdHNbaV07CisgICAgdmFyIHdp
ZHRoID0gZWx0Lm9mZnNldFdpZHRoOworICAgIHZhciBoZWlnaHQgPSBlbHQub2Zmc2V0SGVpZ2h0
OworCisgICAgdmFyIGV4cGVjdGVkV2lkdGggPSBpbm5lcldpZHRoOworICAgIHZhciBleHBlY3Rl
ZEhlaWdodCA9IGlubmVySGVpZ2h0OworICAgIAorICAgIHN3aXRjaCAoZWx0LmNsYXNzTmFtZS5z
cGxpdCgiLSIpWzFdKSB7CisgICAgY2FzZSAiYWxsIjoKKyAgICAgICAgZXhwZWN0ZWRXaWR0aCAr
PSAyICogcGFkZGluZzsKKyAgICAgICAgZXhwZWN0ZWRIZWlnaHQgKz0gMiAqIHBhZGRpbmc7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgInRvcCI6CisgICAgY2FzZSAiYm90dG9tIjoKKyAgICAg
ICAgZXhwZWN0ZWRIZWlnaHQgKz0gcGFkZGluZzsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAi
bGVmdCI6CisgICAgY2FzZSAicmlnaHQiOgorICAgICAgICBleHBlY3RlZFdpZHRoICs9IHBhZGRp
bmc7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICAKKyAgICB2YXIgZXJyb3IgPSBbXTsKKyAg
ICBpZiAod2lkdGggIT0gZXhwZWN0ZWRXaWR0aCkKKyAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0
ZWQgdG90YWwgd2lkdGggb2YgIiArIGV4cGVjdGVkV2lkdGggKyAiLCBidXQgd2FzICIgKyB3aWR0
aCk7CisgICAgaWYgKGhlaWdodCAhPSBleHBlY3RlZEhlaWdodCkKKyAgICAgICAgZXJyb3IucHVz
aCgiZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9mICIgKyBleHBlY3RlZEhlaWdodCArICIsIGJ1dCB3
YXMgIiArIGhlaWdodCk7CisKKyAgICByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InJlc3VsdHMiKTsKKyAgICBpZiAoZXJyb3IgPT0gIiIpIHsKKyAgICAgICAgZWx0LnN0eWxlLmJh
Y2tncm91bmRDb2xvciA9ICJncmVlbiI7CisgICAgICAgIGVsdC5pbm5lckhUTUwgKz0gIiA9PiBQ
QVNTIjsKKyAgICB9IGVsc2UgeworICAgICAgICBlbHQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0g
InJlZCI7CisgICAgICAgIGVsdC5pbm5lckhUTUwgKz0gIiA9PiBGQUlMOiAiICsgZXJyb3Iuam9p
bigiLCAiKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9zaW1wbGUtY2FsY3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L3NpbXBsZS1jYWxjcy1leHBlY3RlZC50eHQKaW5kZXggNDUwZjljZjcyZjRjMzg0ZjhjZTY2NjM4
Yjc2YWU3YmUxOGMwZjI1ZS4uODhlNWIzMWQ1ZTgzYTQ2YjlhYmMxOWQ3ZTUyNDU3MDE1MTkzMjky
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3NpbXBsZS1jYWxjcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3NpbXBsZS1jYWxjcy1leHBlY3RlZC50
eHQKQEAgLTEsNDkgKzEsNDkgQEAKIEFsbCBib3hlcyBiZWxvdyBzaG91bGQgYmUgMTAwcHggKiAx
MDBweCBhbmQgZ3JlZW4uCiAKIGNvbnRyb2wgPT4gUEFTUwotNTBweCArIDUwcHggPT4gRkFJTDog
QHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhw
ZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgMjU2Ci0xNTBweCAtIDUwcHggPT4gRkFJTDogQHpvb209MSBleHBlY3Rl
ZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2Yg
MTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMg
MjU2Ci01MHB4ICsgNTBweCAoMiBzcGFjZXMgYXJvdW5kIG9wZXJhdG9yKSA9PiBGQUlMOiBAem9v
bT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3Rl
ZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEw
MCwgYnV0IHdhcyAyNTYKLTE1MHB4IC0gNTBweCAoMiBzcGFjZXMgYXJvdW5kIG9wZXJhdG9yKSA9
PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29t
PTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVk
IHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTUwcHgqMiA9PiBGQUlMOiBAem9vbT0xIGV4cGVj
dGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdh
cyAyNTYKLTUwcHggKjIgPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1
dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1Njsg
QHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci01MHB4KiAyID0+IEZB
SUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4y
IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lk
dGggb2YgMTAwLCBidXQgd2FzIDI1NgotMjAwcHgvMiA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVk
IHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAx
MDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAy
NTYKLTIwMHB4IC8yID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQg
d2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6
b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotMjAwcHgvIDIgPT4gRkFJ
TDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIg
ZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0
aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci01MHB4KigyKSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVk
IHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAx
MDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAy
NTYKLTUwcHggKigyKSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0
IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBA
em9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTUwcHgqICgyKSA9PiBG
QUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEu
MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdp
ZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTUwcHgqKDEgKyAxKSA9PiBGQUlMOiBAem9vbT0xIGV4
cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0
aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0
IHdhcyAyNTYKLTUwcHgqKDEyIC0gMTApID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGgg
b2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0
IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotNTBw
eCooMTAgLyA1KSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdh
cyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9v
bT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTEwcHgqICg1ICogMikgPT4g
RkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0x
LjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3
aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci01MHB4KiAoMTIgbW9kIDEwKSA9PiBGQUlMOiBAem9v
bT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3Rl
ZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEw
MCwgYnV0IHdhcyAyNTYKLTUwcHggKyAxMHB4ICogNSAob3BlcmF0aW9uIG9yZGVyKSA9PiBGQUlM
OiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBl
eHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRo
IG9mIDEwMCwgYnV0IHdhcyAyNTYKLTExMDBweCBtb2QgMTAwMCA9PiBGQUlMOiBAem9vbT0xIGV4
cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0
aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0
IHdhcyAyNTYKLTEwMCUvMiAod2hlcmUgMTAwJSBpcyAyMDBweCkgPT4gRkFJTDogQHpvb209MSBl
eHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lk
dGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1
dCB3YXMgMjU2Ci0xMDAlICsgLTEwMHB4ICh3aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBGQUlMOiBA
em9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBl
Y3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9m
IDEwMCwgYnV0IHdhcyAyNTYKLTgwJSAtIDYwcHggKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IEZB
SUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4y
IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lk
dGggb2YgMTAwLCBidXQgd2FzIDI1NgotMzAwcHggLSAxMDAlICh3aGVyZSAxMDAlIGlzIDIwMHB4
KSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6
b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVj
dGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLS0xMDBweCArIDEwMCUgKHdoZXJlIDEwMCUg
aXMgMjAwcHgpID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2Fz
IDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29t
PTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotMjAlICsgMzAlICh3aGVyZSAx
MDAlIGlzIDIwMHB4KSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0
IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBA
em9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTgwJSAtIDMwJSAod2hl
cmUgMTAwJSBpcyAyMDBweCkgPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAs
IGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1
NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci0xMCUgKiA1ICh3
aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEw
MCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMg
MjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTUgKiAxMCUg
KHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2Yg
MTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdh
cyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotKDEwMHB4
KSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6
b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVj
dGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLSg1MHB4ICsgNTBweCkgPT4gRkFJTDogQHpv
b209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0
ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAx
MDAsIGJ1dCB3YXMgMjU2Ci0oNTBweCkgKyA1MHB4ID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQg
d2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEw
MCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1
NgotNTBweCArICg1MHB4KSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwg
YnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2
OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTUwcHggKyA1MHB4
ID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpv
b209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0
ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotNTBweCArIDI1cHggKiAyID0+IEZBSUw6IEB6
b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVj
dGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2Yg
MTAwLCBidXQgd2FzIDI1NgotKDI1cHggKyAyNXB4KSAqIDIgPT4gRkFJTDogQHpvb209MSBleHBl
Y3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGgg
b2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3
YXMgMjU2Ci0yICogNTBweCA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwg
YnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2
OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTIgKiAxMDBweCAv
IDIgPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBA
em9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBl
Y3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci0xMiBtb2QgMTAgKiA1MHB4ID0+IEZBSUw6
IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4
cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGgg
b2YgMTAwLCBidXQgd2FzIDI1NgotKDFlbSAtIDFlbSkgKyAxMDBweCA9PiBGQUlMOiBAem9vbT0x
IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3
aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwg
YnV0IHdhcyAyNTYKLTUwcHggKyArNTBweCA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRo
IG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1
dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLS01
MHB4ICsgMTUwcHggPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3
YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpv
b209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci0tNTBweCAtIC0xNTBweCA9
PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29t
PTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVk
IHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLSgoKCgoKCgxMDBweCkpKSkpKSkgPT4gRkFJTDog
QHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhw
ZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgMjU2Ci0xMDBweCA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIGhlaWdo
dCBvZiAxMDAsIGJ1dCB3YXMgNTA7IEB6b29tPTEuMiBleHBlY3RlZCBoZWlnaHQgb2YgMTAwLCBi
dXQgd2FzIDUwOyBAem9vbT0yIGV4cGVjdGVkIGhlaWdodCBvZiAxMDAsIGJ1dCB3YXMgNTAKLTEw
MCUgKiAyID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyA1
MDsgQHpvb209MS4yIGV4cGVjdGVkIGhlaWdodCBvZiAxMDAsIGJ1dCB3YXMgNTA7IEB6b29tPTIg
ZXhwZWN0ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyA1MAorNTBweCArIDUwcHggPT4gUEFTUwor
MTUwcHggLSA1MHB4ID0+IFBBU1MKKzUwcHggKyA1MHB4ICgyIHNwYWNlcyBhcm91bmQgb3BlcmF0
b3IpID0+IFBBU1MKKzE1MHB4IC0gNTBweCAoMiBzcGFjZXMgYXJvdW5kIG9wZXJhdG9yKSA9PiBQ
QVNTCis1MHB4KjIgPT4gUEFTUworNTBweCAqMiA9PiBQQVNTCis1MHB4KiAyID0+IFBBU1MKKzIw
MHB4LzIgPT4gUEFTUworMjAwcHggLzIgPT4gUEFTUworMjAwcHgvIDIgPT4gUEFTUworNTBweCoo
MikgPT4gUEFTUworNTBweCAqKDIpID0+IFBBU1MKKzUwcHgqICgyKSA9PiBQQVNTCis1MHB4Kigx
ICsgMSkgPT4gUEFTUworNTBweCooMTIgLSAxMCkgPT4gUEFTUworNTBweCooMTAgLyA1KSA9PiBQ
QVNTCisxMHB4KiAoNSAqIDIpID0+IFBBU1MKKzUwcHgqICgxMiBtb2QgMTApID0+IFBBU1MKKzUw
cHggKyAxMHB4ICogNSAob3BlcmF0aW9uIG9yZGVyKSA9PiBQQVNTCisxMTAwcHggbW9kIDEwMDAg
PT4gUEFTUworMTAwJS8yICh3aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBQQVNTCisxMDAlICsgLTEw
MHB4ICh3aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBQQVNTCis4MCUgLSA2MHB4ICh3aGVyZSAxMDAl
IGlzIDIwMHB4KSA9PiBQQVNTCiszMDBweCAtIDEwMCUgKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+
IFBBU1MKKy0xMDBweCArIDEwMCUgKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IFBBU1MKKzIwJSAr
IDMwJSAod2hlcmUgMTAwJSBpcyAyMDBweCkgPT4gUEFTUworODAlIC0gMzAlICh3aGVyZSAxMDAl
IGlzIDIwMHB4KSA9PiBQQVNTCisxMCUgKiA1ICh3aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBQQVNT
Cis1ICogMTAlICh3aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBQQVNTCisoMTAwcHgpID0+IFBBU1MK
Kyg1MHB4ICsgNTBweCkgPT4gUEFTUworKDUwcHgpICsgNTBweCA9PiBQQVNTCis1MHB4ICsgKDUw
cHgpID0+IFBBU1MKKzUwcHggKyA1MHB4ID0+IFBBU1MKKzUwcHggKyAyNXB4ICogMiA9PiBQQVNT
CisoMjVweCArIDI1cHgpICogMiA9PiBQQVNTCisyICogNTBweCA9PiBQQVNTCisyICogMTAwcHgg
LyAyID0+IFBBU1MKKzEyIG1vZCAxMCAqIDUwcHggPT4gUEFTUworKDFlbSAtIDFlbSkgKyAxMDBw
eCA9PiBQQVNTCis1MHB4ICsgKzUwcHggPT4gUEFTUworLTUwcHggKyAxNTBweCA9PiBQQVNTCist
NTBweCAtIC0xNTBweCA9PiBQQVNTCisoKCgoKCgoMTAwcHgpKSkpKSkpID0+IFBBU1MKKzEwMHB4
ID0+IFBBU1MKKzEwMCUgKiAyID0+IFBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMv
Y2FsYy9zaW1wbGUtbWlubWF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9z
aW1wbGUtbWlubWF4LWV4cGVjdGVkLnR4dAppbmRleCA3NTk2NjkwOWNhYTgzMmJhMzE0MGQxOWE3
OTMyYjNlNmJmM2EyNmIwLi5kN2FkNDQwMGM0MWE1OGY2NDk3ODZmMjFmMDg0ZWIwNmNlOTIyMDMx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc2ltcGxlLW1pbm1heC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3NpbXBsZS1taW5tYXgtZXhwZWN0ZWQu
dHh0CkBAIC0xLDE4ICsxLDE4IEBACiBBbGwgYm94ZXMgYmVsb3cgc2hvdWxkIGJlIDEwMHB4ICog
MTAwcHggYW5kIGdyZWVuLgogCi1taW4oMTAwcHgpID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9m
IDEwMCwgYnV0IHdhcyAyNTYKLW1pbiggMTAwcHggKSA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgMjU2Ci1taW4oKCgoMTAwcHgpKSkpID0+IEZBSUw6IGV4cGVjdGVkIHdp
ZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLW1pbigxNTBweCwxMDBweCkgPT4gRkFJTDogZXhwZWN0
ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotbWluKDE1MHB4LDEwMHB4LDIwMHB4KSA9PiBG
QUlMOiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci1taW4oIDE1MHB4ICwgMTAw
cHggLDIwMHB4KSA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci1t
aW4oOTBweCArIDUwcHggLDEwMHB4KSA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1
dCB3YXMgMjU2Ci1taW4oMTAwJSwxMDBweCkgLSB3aGVyZSAxMDAlIGlzIDIwMHB4ID0+IEZBSUw6
IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLW1pbigxMDBweCwxMDAlKSAtIHdo
ZXJlIDEwMCUgaXMgMjAwcHggPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2Fz
IDI1NgotbWF4KDEwMHB4KSA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMg
MjU2Ci1tYXgoNTBweCwxMDBweCkgPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQg
d2FzIDI1NgotbWF4KDUwcHgsMTAwcHgsMjBweCkgPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2Yg
MTAwLCBidXQgd2FzIDI1NgotbWF4KDEyMHB4IC0gNTBweCwxMDBweCkgPT4gRkFJTDogZXhwZWN0
ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotbWF4KDEwMCUsMTAwcHgpIC0gd2hlcmUgMTAw
JSBpcyA1MHB4ID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLW1h
eCgxMDBweCwxMDAlKSAtIHdoZXJlIDEwMCUgaXMgNTBweCA9PiBGQUlMOiBleHBlY3RlZCB3aWR0
aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci1taW4oMjAwcHgsMTAwcHgpID0+IEZBSUw6IGV4cGVjdGVk
IGhlaWdodCBvZiAxMDAsIGJ1dCB3YXMgNTAKK21pbigxMDBweCkgPT4gUEFTUworbWluKCAxMDBw
eCApID0+IFBBU1MKK21pbigoKCgxMDBweCkpKSkgPT4gUEFTUworbWluKDE1MHB4LDEwMHB4KSA9
PiBQQVNTCittaW4oMTUwcHgsMTAwcHgsMjAwcHgpID0+IFBBU1MKK21pbiggMTUwcHggLCAxMDBw
eCAsMjAwcHgpID0+IFBBU1MKK21pbig5MHB4ICsgNTBweCAsMTAwcHgpID0+IFBBU1MKK21pbigx
MDAlLDEwMHB4KSAtIHdoZXJlIDEwMCUgaXMgMjAwcHggPT4gUEFTUworbWluKDEwMHB4LDEwMCUp
IC0gd2hlcmUgMTAwJSBpcyAyMDBweCA9PiBQQVNTCittYXgoMTAwcHgpID0+IFBBU1MKK21heCg1
MHB4LDEwMHB4KSA9PiBQQVNTCittYXgoNTBweCwxMDBweCwyMHB4KSA9PiBQQVNTCittYXgoMTIw
cHggLSA1MHB4LDEwMHB4KSA9PiBQQVNTCittYXgoMTAwJSwxMDBweCkgLSB3aGVyZSAxMDAlIGlz
IDUwcHggPT4gUEFTUworbWF4KDEwMHB4LDEwMCUpIC0gd2hlcmUgMTAwJSBpcyA1MHB4ID0+IFBB
U1MKK21pbigyMDBweCwxMDBweCkgPT4gUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL3RhYmxlLWNhbGNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy90
YWJsZS1jYWxjcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDVmZjVmOWM2ZDExOTM0MjNmOTVj
NDM0Yjk5MzJmNjAwZDk3ZmFlZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMv
Y2FsYy90YWJsZS1jYWxjcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitBbGwgdGFibGUg
Y2VsbHMgYmVsb3cgc2hvdWxkIGJlIDEwMHB4ICogMTAwcHggYW5kIGdyZWVuLgorCitjb250cm9s
IHdpZHRoOjEwMHB4ID0+IFBBU1MJc2ltcGxlIDEwMHB4ID0+IFBBU1MJMjVweCAqIDQgPT4gUEFT
UworY29udHJvbCBoZWlnaHQ6MTAwcHggPT4gUEFTUwlzaW1wbGUgMTAwcHggPT4gUEFTUwkyNXB4
ICogNCA9PiBQQVNTCitjb250cm9sIDI1JSA9PiBQQVNTCXNpbXBsZSAyNSUgPT4gRkFJTDogZXhw
ZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDEzNAkxMCUgKiAyICsgNSUgPT4gRkFJTDogZXhw
ZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDYwCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NzczMvY2FsYy90YWJsZS1jYWxjcy5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3RhYmxl
LWNhbGNzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTgzOTAyODg5ZmI5ODFhMTM4NGQyZmRmN2ZkYjUyMWFl
OWIzZDhhYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJsZS1j
YWxjcy5odG1sCkBAIC0wLDAgKzEsNzIgQEAKKzwhRE9DVFlQRSBIVE1MPgorPHN0eWxlPgorLndp
ZHRoLXRlc3QgeworICAgIHBhZGRpbmc6IDA7CisgICAgd2lkdGg6IDI1NnB4OyAKKyAgICBoZWln
aHQ6IDEwMHB4OworICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKK30KKworLmhlaWdodC10ZXN0
IHsKKyAgICBwYWRkaW5nOiAwOworICAgIHdpZHRoOiAxMDBweDsKKyAgICBoZWlnaHQ6IDI1NnB4
OworICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKK30KKworPC9zdHlsZT4KKworPHA+CisgIEFs
bCB0YWJsZSBjZWxscyBiZWxvdyBzaG91bGQgYmUgMTAwcHggKiAxMDBweCBhbmQgZ3JlZW4uCis8
L3A+CisKKzxkaXYgaWQ9InRlc3QiPgorICAgIDx0YWJsZT4KKyAgICAgIDx0cj4KKyAgICAgICAg
ICA8dGQgY2xhc3M9IndpZHRoLXRlc3QiIHN0eWxlPSJ3aWR0aDogMTAwcHg7Ij5jb250cm9sIHdp
ZHRoOjEwMHB4PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9IndpZHRoLXRlc3QiIHN0eWxlPSJ3
aWR0aDogLXdlYmtpdC1jYWxjKDEwMHB4KTsgLW1vei1jYWxjOigxMDBweCkiPnNpbXBsZSAxMDBw
eDwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13
ZWJraXQtY2FsYygyNXB4ICogNCk7IC1tb3otY2FsYzooMjVweCAqIDQpIj4yNXB4ICogNDwvdGQ+
CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPHRhYmxlPgorICAgICAgPHRyPgorICAg
ICAgICAgIDx0ZCBjbGFzcz0iaGVpZ2h0LXRlc3QiIHN0eWxlPSJoZWlnaHQ6IDEwMHB4OyI+Y29u
dHJvbCBoZWlnaHQ6MTAwcHg8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0iaGVpZ2h0LXRlc3Qi
IHN0eWxlPSJoZWlnaHQ6IC13ZWJraXQtY2FsYygxMDBweCk7IC1tb3otY2FsYzooMTAwcHgpIj5z
aW1wbGUgMTAwcHg8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0iaGVpZ2h0LXRlc3QiIHN0eWxl
PSJoZWlnaHQ6IC13ZWJraXQtY2FsYygyNXB4ICogNCk7IC1tb3otY2FsYzooMjVweCAqIDQpIj4y
NXB4ICogNDwvdGQ+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPHRhYmxlIHN0eWxl
PSJ3aWR0aDo0MDhweDsgYm9yZGVyLXNwYWNpbmc6IDJweCAycHgiPgorICAgICAgPHRyPgorICAg
ICAgICAgIDx0ZCBjbGFzcz0id2lkdGgtdGVzdCIgc3R5bGU9IndpZHRoOiAyNSU7Ij5jb250cm9s
IDI1JTwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6
IC13ZWJraXQtY2FsYygyNSUpOyI+c2ltcGxlIDI1JTwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNz
PSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygxMCUgKiAyICsgNSUpOyI+
MTAlICogMiArIDUlPC90ZD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKzwvZGl2PgorCis8
ZGl2IGlkPSJyZXN1bHRzIj48L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit2
YXIgY2VsbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpLmdldEVsZW1lbnRzQnlU
YWdOYW1lKCJ0ZCIpOworZm9yICh2YXIgaSA9IDA7IGkgPCBjZWxscy5sZW5ndGg7ICsraSkgewor
ICAgIHZhciBjZWxsID0gY2VsbHNbaV07CisgICAgdmFyIHdpZHRoID0gY2VsbC5vZmZzZXRXaWR0
aDsKKyAgICB2YXIgaGVpZ2h0ID0gY2VsbC5vZmZzZXRIZWlnaHQ7CisKKyAgICB2YXIgZXJyb3Ig
PSBbXTsKKyAgICBpZiAod2lkdGggIT0gMTAwKQorICAgICAgICBlcnJvci5wdXNoKCJleHBlY3Rl
ZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgIiArIHdpZHRoKTsKKyAgICBpZiAoaGVpZ2h0ICE9IDEw
MCkKKyAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyAi
ICsgaGVpZ2h0KTsKKworICAgIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVz
dWx0cyIpOworICAgIGlmIChlcnJvciA9PSAiIikgeworICAgICAgICBjZWxsLnN0eWxlLmJhY2tn
cm91bmRDb2xvciA9ICJncmVlbiI7CisgICAgICAgIGNlbGwuaW5uZXJIVE1MICs9ICIgPT4gUEFT
UyI7CisgICAgfSBlbHNlCisgICAgICAgIGNlbGwuaW5uZXJIVE1MICs9ICIgPT4gRkFJTDogIiAr
IGVycm9yLmpvaW4oIiwgIik7Cit9Cis8L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLm1rIGIvU291cmNlL1dlYkNv
cmUvQW5kcm9pZC5tawppbmRleCAxYTg0MTkwZThhNzk5YjQ5YWM4NDUzNmJjNmM0N2NhZDBhOTJh
NDE5Li5lNzk3Y2FjMzhhN2YwZDQzMWFkNTBmNWFlN2UyMmIwMGJiMTZjMzQwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9BbmRyb2lkLm1rCisrKyBiL1NvdXJjZS9XZWJDb3JlL0FuZHJvaWQu
bWsKQEAgLTI3LDYgKzI3LDcgQEAgTE9DQUxfU1JDX0ZJTEVTIDo9IFwKIAliaW5kaW5ncy9nZW5l
cmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwIFwKIAlcCiAJY3NzL0NTU0JvcmRlckltYWdl
VmFsdWUuY3BwIFwKKwljc3MvQ1NTQ2FsY1ZhbHVlLmNwcCBcCiAJY3NzL0NTU0NhbnZhc1ZhbHVl
LmNwcCBcCiAJY3NzL0NTU0NoYXJzZXRSdWxlLmNwcCBcCiAJY3NzL0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHAgXApAQCAtNDY1LDYgKzQ2Niw3IEBAIExPQ0FMX1NSQ19GSUxFUyA6PSAk
KExPQ0FMX1NSQ19GSUxFUykgXAogCXBhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNw
cCBcCiAJXAogCXBsYXRmb3JtL0FyZW5hLmNwcCBcCisJcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcCBc
CiAJcGxhdGZvcm0vQ29udGVudFR5cGUuY3BwIFwKIAlwbGF0Zm9ybS9Dcm9zc1RocmVhZENvcGll
ci5jcHAgXAogCXBsYXRmb3JtL0RyYWdEYXRhLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDcwZmM2OTQx
YjQzYTg0OGI0N2M2NDEzYWUxNDI4ZWE3NzU2ODIyMy4uY2Y5NDQ5MjAzZDk0YTM3NWIzMjNhOTY0
ZTM1OTdkNzI3YWM5ZDgwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzNSBAQAorMjAxMS0wMy0x
NyAgTWlrZSBMYXd0aGVyICA8bWlrZWxhd3RoZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENTUzM6IEltcGxlbWVudCBjYWxj
KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NjYy
CisKKyAgICAgICAgVGVzdHM6IGNzczMvY2FsYy9ib3JkZXItc3BhY2luZy5odG1sCisgICAgICAg
ICAgICAgICBjc3MzL2NhbGMvYm9yZGVyLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9j
YWxjLWVycm9ycy5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvbWFyZ2luLmh0bWwKKyAg
ICAgICAgICAgICAgIGNzczMvY2FsYy9taW5tYXgtZXJyb3JzLmh0bWwKKyAgICAgICAgICAgICAg
IGNzczMvY2FsYy9wYWRkaW5nLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9zaW1wbGUt
Y2FsY3MuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9jYWxjL3NpbXBsZS1taW5tYXguaHRtbAor
ICAgICAgICAgICAgICAgY3NzMy9jYWxjL3RhYmxlLWNhbGNzLmh0bWwKKworICAgICAgICAqIEdO
VW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3Jl
LnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogY3NzL0NTU0NhbGNWYWx1ZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6dW5p
dENhdGVnb3J5KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6aXNaZXJvKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6Y3NzVGV4dCk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NDYWxjUHJpbWl0aXZlVmFsdWU6OnRvQ2FsY1ZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZTo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZTo6aXNaZXJv
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZTo6Y3NzVGV4
dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWU6OnRvQ2Fs
Y1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZTo6
Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNN
aW5NYXhWYWx1ZUxpc3Q6OkNTU0NhbGNNaW5NYXhWYWx1ZUxpc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTQ2FsY01pbk1heFZhbHVlTGlzdDo6aXNaZXJvKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0NhbGNNaW5NYXhWYWx1ZUxpc3Q6OmNzc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2Fs
Y01pbk1heFZhbHVlTGlzdDo6YXBwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNNaW5N
YXhWYWx1ZUxpc3Q6OnRvQ2FsY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1
ZVBhcnNlcjo6cGFyc2VDYWxjKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZVBhcnNl
cjo6cGFyc2VNaW5NYXhMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZVBhcnNl
cjo6b3BlcmF0b3JWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWVQYXJzZXI6
OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlUGFyc2VyOjpwYXJz
ZVZhbHVlVGVybSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWVQYXJzZXI6OnBhcnNl
VmFsdWVNdWx0aXBsaWNhdGl2ZUV4cHJlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2Fs
Y1ZhbHVlUGFyc2VyOjpwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0NhbGNWYWx1ZVBhcnNlcjo6cGFyc2VWYWx1ZUxpc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTQ2FsY1ZhbHVlUGFyc2VyOjpwYXJzZVZhbHVlRXhwcmVzc2lvbik6CisgICAgICAg
IChXZWJDb3JlOjpDU1NDYWxjVmFsdWU6OmNyZWF0ZUZyb21QYXJzZXJWYWx1ZUxpc3QpOgorICAg
ICAgICAqIGNzcy9DU1NDYWxjVmFsdWUuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1ND
YWxjVmFsdWU6OkNTU0NhbGNWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWU6
OmlzQ2FsY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZTo6Y2F0ZWdvcnkp
OgorICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnk6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjppc0NhbGMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFy
c2VyOjp2YWxpZFVuaXQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VDYWxjKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1BhcnNlcjo6bGV4KToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAg
ICAgICogY3NzL0NTU1BhcnNlclZhbHVlcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXJWYWx1ZUxpc3Q6Omluc2VydFZhbHVlQXQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2Vy
VmFsdWVMaXN0OjphcHBlbmQpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXJWYWx1ZXMuaDoKKyAg
ICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UHJpbWl0aXZlVmFsdWU6OnByaW1pdGl2ZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJp
bWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
aW1pdGl2ZVZhbHVlOjppbml0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVl
OjpjbGVhbnVwKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjb21wdXRl
TGVuZ3RoRG91YmxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpnZXRE
b3VibGVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Y3NzVGV4
dCk6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NQcmltaXRpdmVWYWx1ZTo6Z2V0Q2FsY1ZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTU3R5
bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpjb252
ZXJ0VG9JbnRMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6Y29u
dmVydFRvRmxvYXRMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6
YXBwbHlQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpwYWdl
U2l6ZUZyb21OYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6Om1tTGVu
Z3RoKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmluY2hMZW5ndGgpOgor
ICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmg6CisgICAgICAgICogY3NzL0NTU1ZhbHVl
Lmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXNDYWxjVmFsdWUpOgorICAgICAgICAq
IGNzcy90b2tlbml6ZXIuZmxleDoKKyAgICAgICAgKiBwbGF0Zm9ybS9DYWxjVmFsdWUuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZTo6Q2FsY0Jp
bmFyeU9wZXJhdGlvblZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbGNCaW5hcnlPcGVyYXRp
b25WYWx1ZTo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsY01pbk1heFZhbHVlTGlz
dDo6Q2FsY01pbk1heFZhbHVlTGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpDYWxjTWluTWF4VmFs
dWVMaXN0OjphcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsY01pbk1heFZhbHVlTGlzdDo6
ZXZhbHVhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL0NhbGNWYWx1ZS5oOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkNhbGNWYWx1ZTo6fkNhbGNWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
YWxjTnVtYmVyVmFsdWU6OkNhbGNOdW1iZXJWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWxj
TnVtYmVyVmFsdWU6OmV2YWx1YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbGNMZW5ndGhWYWx1
ZTo6Q2FsY0xlbmd0aFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbGNMZW5ndGhWYWx1ZTo6
ZXZhbHVhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL0xlbmd0aC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDYWxjdWxhdGVkTGVuZ3RoOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsY3Vs
YXRlZExlbmd0aDo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsY3VsYXRlZExlbmd0
aDo6Q2FsY3VsYXRlZExlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpjYWxjdWxhdGVkTGVuZ3Ro
TWFwKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6TGVuZ3RoKToKKyAgICAgICAgKFdlYkNv
cmU6Okxlbmd0aDo6Y2FsY3VsYXRlZElzWmVybyk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6
OmNhbGN1bGF0ZWRJc1Bvc2l0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6Y2FsY3Vs
YXRlZElzTmVnYXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjdWxhdGVkQ2Fs
Y1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6Y2FsY3VsYXRlZENhbGNNaW5WYWx1
ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGN1bGF0ZWRDYWxjRmxvYXRWYWx1ZSk6
CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmluY3JlbWVudENhbGN1bGF0ZWRSZWYpOgorICAg
ICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpkZWNyZW1lbnRDYWxjdWxhdGVkUmVmKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9MZW5ndGguaDoKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6TGVuZ3RoKToK
KyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6b3BlcmF0b3I9KToKKyAgICAgICAgKFdlYkNvcmU6
Okxlbmd0aDo6fkxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OnZhbHVlKToKKyAg
ICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6cmF3VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVu
Z3RoOjpzZXRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGNWYWx1ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGNNaW5WYWx1ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpMZW5ndGg6OmNhbGNGbG9hdFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6aXNa
ZXJvKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6aXNQb3NpdGl2ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpMZW5ndGg6OmlzTmVnYXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpp
c1BlcmNlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjppc0NhbGN1bGF0ZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6TGVuZ3RoOjppbml0RnJvbUxlbmd0aCk6CisgICAgICAgIChXZWJDb3Jl
OjpMZW5ndGg6OmNhbGN1bGF0ZWRMZW5ndGhJZCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjppc0xvZ2ljYWxXaWR0
aFNwZWNpZmllZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6aXNMb2dpY2FsSGVp
Z2h0U3BlY2lmaWVkKToKKwogMjAxMS0wMy0yMyAgTWlrZSBMYXd0aGVyICA8bWlrZWxhd3RoZXJA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9qYW4gVmFmYWkuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCmluZGV4IDY3NzhlNTZlODdhZDc0YWVkOWJlZGFjMDM1YTAzZWM5NGE0MjM5Mjcu
LjBmN2MwNzg2MWNlODQzYjYzNGI5MzYzMjEwNjFjZjY3ZjI3MjA1NzQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCkBAIC05NzcsNiArOTc3LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9jc3MvQ291bnRlci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1h
Z2VWYWx1ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmgg
XAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjVmFsdWUuY3BwIFwKKwlTb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ2FsY1ZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1
ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwIFwKQEAgLTIzNDIsNiArMjM0NCw4IEBAIHdl
YmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lz
dGVtLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmggXAog
CVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oIFwKKwlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUuY3BwIFwJCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Q2FsY1ZhbHVlLmggXAkKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZW50VHlwZS5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRlbnRUeXBlLmggXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0NvbnRleHRNZW51LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDliZjU3YjE0
N2MyZGFkNTQ3M2I1ODRhYzhjZDI1NzY2YmZjMTY5MWUuLmVjMmI5MjM3NTk0YTA0YmU4ODgxMTZl
NWZjNTY4ZTc5MzI3NjZkYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIyMzAsNiArMjIzMCw4IEBA
CiAgICAgICAgICAgICAnY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuaCcsCiAgICAgICAgICAgICAn
Y3NzL0NTU0NhbnZhc1ZhbHVlLmNwcCcsCiAgICAgICAgICAgICAnY3NzL0NTU0NhbnZhc1ZhbHVl
LmgnLAorICAgICAgICAgICAgJ2Nzcy9DU1NDYWxjVmFsdWUuY3BwJywKKyAgICAgICAgICAgICdj
c3MvQ1NTQ2FsY1ZhbHVlLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NDaGFyc2V0UnVsZS5jcHAn
LAogICAgICAgICAgICAgJ2Nzcy9DU1NDaGFyc2V0UnVsZS5oJywKICAgICAgICAgICAgICdjc3Mv
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCcsCkBAIC0zNDcxLDYgKzM0NzMsOCBAQAog
ICAgICAgICAgICAgJ3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaCcsCiAgICAgICAgICAgICAncGxhdGZv
cm0vQXV0b2RyYWluZWRQb29sLmgnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL0NhbGNWYWx1ZS5j
cHAnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL0NhbGNWYWx1ZS5oJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS9Db250ZW50VHlwZS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0NvbnRlbnRU
eXBlLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0NvbnRleHRNZW51LmNwcCcsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
cHJvCmluZGV4IDJhOTM0MDdiN2UzNmI3MTAyZjkyNThkYjllNmY4YzQ3MTdhM2ZkMjEuLmFlZjI0
NGQ0ZTJlNDM0MzcyNTc3MjUzZmE4YWFiYzdkMzJlODA2ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0z
NzgsNiArMzc4LDcgQEAgdjggewogCiBTT1VSQ0VTICs9IFwKICAgICBjc3MvQ1NTQm9yZGVySW1h
Z2VWYWx1ZS5jcHAgXAorICAgIGNzcy9DU1NDYWxjVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTQ2Fu
dmFzVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwIFwKICAgICBjc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBcCkBAIC05MzgsNiArOTM5LDcgQEAgU09VUkNF
UyArPSBcCiAgICAgcGxhdGZvcm0vdGV4dC9CaWRpQ29udGV4dC5jcHAgXAogICAgIHBsYXRmb3Jt
L3RleHQvSHlwaGVuYXRpb24uY3BwIFwKICAgICBwbGF0Zm9ybS90ZXh0L0xvY2FsaXplZE51bWJl
ck5vbmUuY3BwIFwKKyAgICBwbGF0Zm9ybS9DYWxjVmFsdWUuY3BwIFwKICAgICBwbGF0Zm9ybS9D
b250ZW50VHlwZS5jcHAgXAogICAgIHBsYXRmb3JtL0Nyb3NzVGhyZWFkQ29waWVyLmNwcCBcCiAg
ICAgcGxhdGZvcm0vRHJhZ0RhdGEuY3BwIFwKQEAgLTEzMzcsNiArMTMzOSw3IEBAIHY4IHsKIAog
SEVBREVSUyArPSBcCiAgICAgY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuaCBcCisgICAgY3NzL0NT
U0NhbGNWYWx1ZS5oIFwKICAgICBjc3MvQ1NTQ2FudmFzVmFsdWUuaCBcCiAgICAgY3NzL0NTU0No
YXJzZXRSdWxlLmggXAogICAgIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaCBcCkBA
IC0xODU5LDYgKzE4NjIsNyBAQCBIRUFERVJTICs9IFwKICAgICBwbGF0Zm9ybS9hbmltYXRpb24v
QW5pbWF0aW9uTGlzdC5oIFwKICAgICBwbGF0Zm9ybS9BcmVuYS5oIFwKICAgICBwbGF0Zm9ybS9B
c3luY0ZpbGVTdHJlYW0uaCBcCisgICAgcGxhdGZvcm0vQ2FsY1ZhbHVlLmggXAogICAgIHBsYXRm
b3JtL0NvbnRlbnRUeXBlLmggXAogICAgIHBsYXRmb3JtL0NvbnRleHRNZW51LmggXAogICAgIHBs
YXRmb3JtL0Nyb3NzVGhyZWFkQ29waWVyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA1ZTk3YmIyZWJmNDcxNzIwOTUxMjhlZWNmZTE5Nzc0
Y2UzMDEyY2UwLi40ZDc0MTIzNWQxNTFlNDE5ZjVlMjM4YTExZmZhMzA0NmVlNDU2MGUxIDEwMDc1
NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjU3MzQs
NiArMjU3MzQsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5ccGxhdGZvcm1cQ2FsY1ZhbHVlLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8
RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cQ2FsY1ZhbHVlLmgiCisJCQkJPgor
CQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXENvbnRl
bnRUeXBlLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CkBAIC0zMTYxMCw2ICszMTYxOCwxNCBAQAog
CQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NT
Q2FsY1ZhbHVlLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cY3NzXENTU0NhbGNWYWx1ZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxl
CiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTQ2FudmFzVmFsdWUuY3BwIgogCQkJCT4KIAkJ
CTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCA2ZDFiY2ViZmZkN2E3ZTI2ZjMxNDlhODY0ZWU4YTE2MzU0YTdjM2I3Li5j
Y2M4NjJkZTczNDZjNzhiNzRhNWJkMDhiYTgzMjdjOTdhYzMyZTY4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDMwLDYgKzEw
MzAsMTAgQEAKIAkJNDkwNzA3RTYxMjE5QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5MDcw
N0U0MTIxOUMwNDMwMEQ5MEU1MSAvKiBBTkdMRVdlYktpdEJyaWRnZS5jcHAgKi87IH07CiAJCTQ5
MDcwN0U3MTIxOUMwNDMwMEQ5MEU1MSAvKiBBTkdMRVdlYktpdEJyaWRnZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDkwNzA3RTUxMjE5QzA0MzAwRDkw
RTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmggKi87IH07CiAJCTQ5Mjg2Mzk5MTI1M0I4RkMwMEY3
OTJENiAvKiBSZXNvdXJjZUxvYWRJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0OTI4NjM5ODEyNTNCOEZDMDBGNzkyRDYgLyogUmVzb3VyY2VMb2Fk
SW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTQ5M0IyOTg3MTJGMjY0MUMwMDIwMzk1MSAvKiBDU1NDYWxjVmFsdWUuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDkzQjI5ODYxMkYyNjQxQzAwMjAz
OTUxIC8qIENTU0NhbGNWYWx1ZS5jcHAgKi87IH07CisJCTQ5M0IyOTg5MTJGMjY0MjYwMDIwMzk1
MSAvKiBDU1NDYWxjVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQ5M0IyOTg4MTJGMjY0MjYwMDIwMzk1MSAvKiBDU1NDYWxjVmFsdWUuaCAqLzsg
fTsKKwkJNDkzQjI5OEMxMkYyNjQzRDAwMjAzOTUxIC8qIENhbGNWYWx1ZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTNCMjk4QTEyRjI2NDNEMDAy
MDM5NTEgLyogQ2FsY1ZhbHVlLmNwcCAqLzsgfTsKKwkJNDkzQjI5OEQxMkYyNjQzRDAwMjAzOTUx
IC8qIENhbGNWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDkzQjI5OEIxMkYyNjQzRDAwMjAzOTUxIC8qIENhbGNWYWx1ZS5oICovOyB9OwogCQk0
OTNFNUUwOTEyRDY0MjA1MDAwMjAwODEgLyogUGxhdGZvcm1DQUxheWVyQ2xpZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTNFNUUwODEyRDY0MjA1
MDAwMjAwODEgLyogUGxhdGZvcm1DQUxheWVyQ2xpZW50LmggKi87IH07CiAJCTQ5NDg0RkMxMTAy
Q0YyM0MwMDE4N0REMyAvKiBDYW52YXNHcmFkaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTQ4NEZCMzEwMkNGMjNDMDAxODdERDMgLyogQ2Fu
dmFzR3JhZGllbnQuY3BwICovOyB9OwogCQk0OTQ4NEZDMjEwMkNGMjNDMDAxODdERDMgLyogQ2Fu
dmFzR3JhZGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ5NDg0RkI0MTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52YXNHcmFkaWVudC5oICovOyB9OwpA
QCAtNzQ4NCw2ICs3NDg4LDEwIEBACiAJCTQ5MDcwN0U0MTIxOUMwNDMwMEQ5MEU1MSAvKiBBTkdM
RVdlYktpdEJyaWRnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBB
TkdMRVdlYktpdEJyaWRnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5MDcw
N0U1MTIxOUMwNDMwMEQ5MEU1MSAvKiBBTkdMRVdlYktpdEJyaWRnZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBBTkdMRVdlYktpdEJyaWRnZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0OTI4NjM5ODEyNTNCOEZDMDBGNzkyRDYgLyogUmVzb3VyY2VMb2FkSW5m
by5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZXNvdXJjZUxvYWRJbmZvLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5M0IyOTg2MTJGMjY0MUMwMDIwMzk1MSAv
KiBDU1NDYWxjVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Q1NTQ2FsY1ZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDkzQjI5ODgx
MkYyNjQyNjAwMjAzOTUxIC8qIENTU0NhbGNWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDU1NDYWxjVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NDkzQjI5OEExMkYyNjQzRDAwMjAzOTUxIC8qIENhbGNWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWxjVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0OTNCMjk4QjEyRjI2NDNEMDAyMDM5NTEgLyogQ2FsY1ZhbHVlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhbGNWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0OTNFNUUwODEyRDY0MjA1MDAwMjAwODEgLyogUGxhdGZvcm1DQUxheWVy
Q2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFBsYXRmb3JtQ0FMYXll
ckNsaWVudC5oOyBwYXRoID0gY2EvUGxhdGZvcm1DQUxheWVyQ2xpZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQ5NDg0RkIzMTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52YXNHcmFk
aWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBDYW52YXNHcmFk
aWVudC5jcHA7IHBhdGggPSBjYW52YXMvQ2FudmFzR3JhZGllbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0OTQ4NEZCNDEwMkNGMjNDMDAxODdERDMgLyogQ2FudmFzR3JhZGll
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gQ2FudmFzR3JhZGllbnQuaDsg
cGF0aCA9IGNhbnZhcy9DYW52YXNHcmFkaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTg0MzQsNiArMTg0NDIsOCBAQAogCQkJCTg5RDA4RDlEMTIyMjg0NTEwMDEyNDFERiAv
KiBBc3luY0ZpbGVTeXN0ZW0uaCAqLywKIAkJCQk4OUQwOEQ5RTEyMjI4NDUxMDAxMjQxREYgLyog
QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmggKi8sCiAJCQkJNTFFMUVDQjEwQzkxQzU1NjAwREMy
NTVCIC8qIEF1dG9kcmFpbmVkUG9vbC5oICovLAorCQkJCTQ5M0IyOThBMTJGMjY0M0QwMDIwMzk1
MSAvKiBDYWxjVmFsdWUuY3BwICovLAorCQkJCTQ5M0IyOThCMTJGMjY0M0QwMDIwMzk1MSAvKiBD
YWxjVmFsdWUuaCAqLywKIAkJCQlCQ0M4Q0ZDQTA5ODZDRDI0MDAxNDBCRjIgLyogQ29sb3JEYXRh
LmdwZXJmICovLAogCQkJCTQxRDAxNUM5MEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5j
cHAgKi8sCiAJCQkJNDFEMDE1QzgwRjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmggKi8s
CkBAIC0xODY4OCw2ICsxODY5OCw4IEBACiAJCQkJOTMwNzA1QzcwOUUwQzk1RjAwQjE3RkU0IC8q
IENvdW50ZXIuaWRsICovLAogCQkJCUE4MEU2Q0JCMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NCb3Jk
ZXJJbWFnZVZhbHVlLmNwcCAqLywKIAkJCQlBODBFNkNERDBBMTk4OUNBMDA3RkI4QzUgLyogQ1NT
Qm9yZGVySW1hZ2VWYWx1ZS5oICovLAorCQkJCTQ5M0IyOTg2MTJGMjY0MUMwMDIwMzk1MSAvKiBD
U1NDYWxjVmFsdWUuY3BwICovLAorCQkJCTQ5M0IyOTg4MTJGMjY0MjYwMDIwMzk1MSAvKiBDU1ND
YWxjVmFsdWUuaCAqLywKIAkJCQlCQzYwNEE0MjBEQjU2MzRFMDAyMDQ3MzkgLyogQ1NTQ2FudmFz
VmFsdWUuY3BwICovLAogCQkJCUJDNjA0OUNCMERCNTYwQzIwMDIwNDczOSAvKiBDU1NDYW52YXNW
YWx1ZS5oICovLAogCQkJCUUxRUJCQkQzMEFBQzlCODcwMDFGRThFMiAvKiBDU1NDaGFyc2V0UnVs
ZS5jcHAgKi8sCkBAIC0xOTc5Miw2ICsxOTgwNCw3IEBACiAJCQkJQkNENTMzNjQwRUQ2ODQ4OTAw
ODg3NDY4IC8qIENhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQ0IxNkMyODA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTNGMTk5NTAwODI0NUU1OTAwMUU5QUJDIC8qIENhY2hlUG9saWN5Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQk0OTNCMjk4RDEyRjI2NDNEMDAyMDM5NTEgLyogQ2FsY1ZhbHVl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk2RTRFOTFBRDEwRjdGQjMxMDBBMjc3OUMgLyogQ2FudmFz
Q29udGV4dEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5NDg0RkMyMTAyQ0YyM0Mw
MDE4N0REMyAvKiBDYW52YXNHcmFkaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk0ODRGQzUx
MDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc1BhdHRlcm4uaCBpbiBIZWFkZXJzICovLApAQCAtMTk4
NjYsNiArMTk4NzksNyBAQAogCQkJCUUxNjk4MDNEMTEzMzU0MkQwMDg5NDExNSAvKiBDUnVudGlt
ZU9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc1Q0EyOEIxMzAzNjVGODAwRTk5QUQ5IC8q
IENyeXB0by5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTZEMDcwQTE5ODlDQTAwN0ZCOEM1IC8q
IENTU0JvcmRlckltYWdlVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ5M0IyOTg5MTJGMjY0
MjYwMDIwMzk1MSAvKiBDU1NDYWxjVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNjA0OUND
MERCNTYwQzIwMDIwNDczOSAvKiBDU1NDYW52YXNWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTgwRTZDRjkwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU0NoYXJzZXRSdWxlLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQ0VBNDc5MDA5N0NBQUM4MDA5NEM5RTQgLyogQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTIzMTA0LDYgKzIzMTE4LDcgQEAKIAkJCQlEMEQx
NDFCMjEyQjJCRjUyMDBFMzk2MjAgLyogQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUJDQjE2QzIzMDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRTY3JpcHQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQkNCMTZDMjcwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFhT
TFN0eWxlU2hlZXQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDkzQjI5OEMxMkYyNjQzRDAwMjAz
OTUxIC8qIENhbGNWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTRFOTFBQzEwRjdGQjMx
MDBBMjc3OUMgLyogQ2FudmFzQ29udGV4dEF0dHJpYnV0ZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDk0ODRGQzExMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc0dyYWRpZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTQ5NDg0RkM0MTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52YXNQYXR0ZXJuLmNw
cCBpbiBTb3VyY2VzICovLApAQCAtMjMxNzAsNiArMjMxODUsNyBAQAogCQkJCTk3NUNBMjhBMTMw
MzY1RjgwMEU5OUFEOSAvKiBDcnlwdG8uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgwRTZDRTUw
QTE5ODlDQTAwN0ZCOEM1IC8qIENTU0JvcmRlckltYWdlVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkM2MDRBNDMwREI1NjM0RTAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTQ5M0IyOTg3MTJGMjY0MUMwMDIwMzk1MSAvKiBDU1NDYWxjVmFsdWUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFFQkJCRDQwQUFDOUI4NzAwMUZFOEUyIC8qIENTU0No
YXJzZXRSdWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRUE0NzhGMDk3Q0FBQzgwMDk0QzlF
NCAvKiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QUEyMUVDQ0EwQUJGMEZCQTAwMkI4MzRDIC8qIENTU0N1cnNvckltYWdlVmFsdWUuY3BwIGluIFNv
dXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjVmFsdWUuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJkZWZh
NTFkZTA4MGMzODZkYTM1YjUxMmYyYWY4NzM0MzYzNjVjMDEKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmNwcApAQCAtMCwwICsxLDQ0OCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NDYWxjVmFsdWUuaCIKKworI2luY2x1ZGUgIkNT
U1N0eWxlU2VsZWN0b3IuaCIKKyNpbmNsdWRlICJDU1NWYWx1ZUxpc3QuaCIKKyNpbmNsdWRlICJM
ZW5ndGguaCIKKworI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0YXRpYyBDYWxjVmFsdWU6OlVuaXRD
YXRlZ29yeSB1bml0Q2F0ZWdvcnkoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyB0eXBlKQor
eworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19O
VU1CRVI6CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BBUlNFUl9JTlRFR0VSOgor
ICAgICAgICByZXR1cm4gQ2FsY1ZhbHVlOjpVTnVtYmVyOworICAgIGNhc2UgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19QRVJDRU5UQUdFOgorICAgICAgICByZXR1cm4gQ2FsY1ZhbHVlOjpVUGVyY2Vu
dDsKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfRU1TOgorICAgIGNhc2UgQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19FWFM6CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BY
OgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DTToKKyAgICBjYXNlIENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NfTU06CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0lOOgor
ICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QVDoKKyAgICBjYXNlIENTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NfUEM6CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1JFTVM6Cisg
ICAgICAgIHJldHVybiBDYWxjVmFsdWU6OlVMZW5ndGg7CisgICAgZGVmYXVsdDoKKyAgICAgICAg
cmV0dXJuIENhbGNWYWx1ZTo6VU90aGVyOworICAgIH0KK30KKyAgICAKKyAgICAKK2NsYXNzIENT
U0NhbGNQcmltaXRpdmVWYWx1ZSA6IHB1YmxpYyBDU1NDYWxjVmFsdWUgeworcHVibGljOgorCisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlPiBjcmVhdGUoQ1NTUHJp
bWl0aXZlVmFsdWUqIHZhbHVlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBD
U1NDYWxjUHJpbWl0aXZlVmFsdWUodmFsdWUpKTsKKyAgICB9CisgICAgCisgICAgdmlydHVhbCBi
b29sIGlzWmVybygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gIW1fdmFsdWUtPmdldERv
dWJsZVZhbHVlKCk7CisgICAgfQorCisgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0
CisgICAgeworICAgICAgICByZXR1cm4gbV92YWx1ZS0+Y3NzVGV4dCgpOworICAgIH0KKworICAg
IFBhc3NPd25QdHI8Q2FsY1ZhbHVlPiB0b0NhbGNWYWx1ZShSZW5kZXJTdHlsZSogc3R5bGUsIFJl
bmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSB6b29tKSBjb25zdAorICAgIHsKKyAgICAgICAg
c3dpdGNoIChtX2NhdGVnb3J5KSB7CisgICAgICAgIGNhc2UgQ2FsY1ZhbHVlOjpVTnVtYmVyOgor
ICAgICAgICAgICAgcmV0dXJuIG5ldyBDYWxjTnVtYmVyVmFsdWUobV92YWx1ZS0+Z2V0RmxvYXRW
YWx1ZSgpKTsKKyAgICAgICAgY2FzZSBDYWxjVmFsdWU6OlVMZW5ndGg6CisgICAgICAgICAgICBy
ZXR1cm4gbmV3IENhbGNOdW1iZXJWYWx1ZShtX3ZhbHVlLT5jb21wdXRlTGVuZ3RoRmxvYXQoc3R5
bGUsIHJvb3RTdHlsZSwgem9vbSkpOworICAgICAgICBjYXNlIENhbGNWYWx1ZTo6VVBlcmNlbnQ6
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgYm9vbCBvayA9IHRydWU7CisgICAgICAg
ICAgICAgICAgTGVuZ3RoIGxlbmd0aCA9IENTU1N0eWxlU2VsZWN0b3I6OmNvbnZlcnRUb0Zsb2F0
TGVuZ3RoKG1fdmFsdWUuZ2V0KCksIHN0eWxlLCByb290U3R5bGUsIHpvb20sICZvayk7CisgICAg
ICAgICAgICAgICAgaWYgKCFvaykKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIG5ldyBDYWxjTGVuZ3RoVmFsdWUobGVuZ3RoKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9
CisgICAgfQorCitwcml2YXRlOgorICAgIGV4cGxpY2l0IENTU0NhbGNQcmltaXRpdmVWYWx1ZShD
U1NQcmltaXRpdmVWYWx1ZSogdmFsdWUpCisgICAgICAgIDogbV92YWx1ZSh2YWx1ZSkgICAgICAg
ICAgICAgICAgIAorICAgIHsKKyAgICAgICAgbV9jYXRlZ29yeSA9IHVuaXRDYXRlZ29yeSgoQ1NT
UHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyl2YWx1ZS0+cHJpbWl0aXZlVHlwZSgpKTsKKyAgICB9
CisKKyAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IG1fdmFsdWU7Cit9OworCitjbGFzcyBD
U1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWUgOiBwdWJsaWMgQ1NTQ2FsY1ZhbHVlIHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWU+IGNy
ZWF0ZShQYXNzUmVmUHRyPENTU0NhbGNWYWx1ZT4gbGVmdFNpZGUsIFBhc3NSZWZQdHI8Q1NTQ2Fs
Y1ZhbHVlPiByaWdodFNpZGUsIGNoYXIgb3ApCisgICAgeworICAgICAgICBDYWxjVmFsdWU6OlVu
aXRDYXRlZ29yeSBsZWZ0Q2F0ZWdvcnkgPSBsZWZ0U2lkZS0+Y2F0ZWdvcnkoKTsKKyAgICAgICAg
Q2FsY1ZhbHVlOjpVbml0Q2F0ZWdvcnkgcmlnaHRDYXRlZ29yeSA9IHJpZ2h0U2lkZS0+Y2F0ZWdv
cnkoKTsKKyAgICAgICAgQ2FsY1ZhbHVlOjpVbml0Q2F0ZWdvcnkgbmV3Q2F0ZWdvcnk7CisgICAg
ICAgIAorICAgICAgICBzd2l0Y2ggKG9wKSB7CisgICAgICAgIGNhc2UgJysnOgorICAgICAgICBj
YXNlICctJzoKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmIChsZWZ0Q2F0ZWdvcnkg
PT0gcmlnaHRDYXRlZ29yeSkgICAgCisgICAgICAgICAgICAgICAgbmV3Q2F0ZWdvcnkgPSBsZWZ0
Q2F0ZWdvcnk7CisgICAgICAgICAgICBlbHNlIGlmIChsZWZ0Q2F0ZWdvcnkgPT0gQ2FsY1ZhbHVl
OjpVTnVtYmVyIHx8IHJpZ2h0Q2F0ZWdvcnkgPT0gQ2FsY1ZhbHVlOjpVTnVtYmVyKQorICAgICAg
ICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgZWxzZSAgICAKKyAgICAgICAgICAgICAg
ICBuZXdDYXRlZ29yeSA9IENhbGNWYWx1ZTo6VVBlcmNlbnQ7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgICAgICAKKyAgICAgICAgY2FzZSAnKic6CisgICAgICAgICAgICBpZiAobGVm
dENhdGVnb3J5ICE9IENhbGNWYWx1ZTo6VU51bWJlciAmJiByaWdodENhdGVnb3J5ICE9IENhbGNW
YWx1ZTo6VU51bWJlcikgCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAK
KyAgICAgICAgICAgIGlmIChsZWZ0Q2F0ZWdvcnkgPT0gQ2FsY1ZhbHVlOjpVTnVtYmVyKQorICAg
ICAgICAgICAgICAgIG5ld0NhdGVnb3J5ID0gcmlnaHRDYXRlZ29yeTsKKyAgICAgICAgICAgIGVs
c2UgCisgICAgICAgICAgICAgICAgbmV3Q2F0ZWdvcnkgPSBsZWZ0Q2F0ZWdvcnk7CisgICAgICAg
ICAgICBicmVhazsKKworICAgICAgICBjYXNlICcvJzoKKyAgICAgICAgY2FzZSAnJSc6CisgICAg
ICAgICAgICBpZiAocmlnaHRDYXRlZ29yeSAhPSBDYWxjVmFsdWU6OlVOdW1iZXIgfHwgcmlnaHRT
aWRlLT5pc1plcm8oKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIG5l
d0NhdGVnb3J5ID0gbGVmdENhdGVnb3J5OworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAg
ZGVmYXVsdDoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAg
cmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHJldHVybiBhZG9wdFJlZihu
ZXcgQ1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlKGxlZnRTaWRlLCByaWdodFNpZGUsIG9wLCBu
ZXdDYXRlZ29yeSkpOworICAgIH0KKyAgICAKKyAgICB2aXJ0dWFsIGJvb2wgaXNaZXJvKCkgY29u
c3QKKyAgICB7CisgICAgICAgIC8vIEZJWE1FOiBXZSBjYW4gcmV0dXJuIHRydWUgZm9yIHNvbWUg
Y2FzZXMgKGUuZy4sIDMgLSAzLCAzICogMCwgYW5kIGV0Yy4pCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3QKKyAgICB7Cisg
ICAgICAgIFN0cmluZyByZXN1bHQgPSAiKCI7CisgICAgICAgIHJlc3VsdC5hcHBlbmQobV9sZWZ0
U2lkZS0+Y3NzVGV4dCgpKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZChtX29wZXJhdG9yKTsKKyAg
ICAgICAgcmVzdWx0LmFwcGVuZChtX3JpZ2h0U2lkZS0+Y3NzVGV4dCgpKTsKKyAgICAgICAgcmVz
dWx0LmFwcGVuZCgnKScpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKworICAgIFBh
c3NPd25QdHI8Q2FsY1ZhbHVlPiB0b0NhbGNWYWx1ZShSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRl
clN0eWxlKiByb290U3R5bGUsIGRvdWJsZSB6b29tKSBjb25zdAorICAgIHsKKyAgICAgICAgT3du
UHRyPENhbGNWYWx1ZT4gbGVmdChtX2xlZnRTaWRlLT50b0NhbGNWYWx1ZShzdHlsZSwgcm9vdFN0
eWxlLCB6b29tKSk7CisgICAgICAgIGlmICghbGVmdC5nZXQoKSkKKyAgICAgICAgICAgIHJldHVy
biAwOworICAgICAgICBPd25QdHI8Q2FsY1ZhbHVlPiByaWdodChtX3JpZ2h0U2lkZS0+dG9DYWxj
VmFsdWUoc3R5bGUsIHJvb3RTdHlsZSwgem9vbSkpOworICAgICAgICBpZiAoIXJpZ2h0LmdldCgp
KQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBuZXcgQ2FsY0JpbmFyeU9w
ZXJhdGlvblZhbHVlKGxlZnQucmVsZWFzZSgpLCByaWdodC5yZWxlYXNlKCksIG1fb3BlcmF0b3Ip
OworICAgIH0KKworcHJpdmF0ZToKKyAgICBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWUoUGFz
c1JlZlB0cjxDU1NDYWxjVmFsdWU+IGxlZnRTaWRlLCBQYXNzUmVmUHRyPENTU0NhbGNWYWx1ZT4g
cmlnaHRTaWRlLCBjaGFyIG9wLCBDYWxjVmFsdWU6OlVuaXRDYXRlZ29yeSBjYXRlZ29yeSkKKyAg
ICAgICAgOiBtX2xlZnRTaWRlKGxlZnRTaWRlKQorICAgICAgICAsIG1fcmlnaHRTaWRlKHJpZ2h0
U2lkZSkKKyAgICAgICAgLCBtX29wZXJhdG9yKG9wKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG9w
ID09ICcrJyB8fCBvcCA9PSAnLScgfHwgb3AgPT0gJyonIHx8IG9wID09ICcvJyB8fCBvcCA9PSAn
JScpOyAgCisgICAgICAgIG1fY2F0ZWdvcnkgPSBjYXRlZ29yeTsKKyAgICB9CisgICAgCisgICAg
UmVmUHRyPENTU0NhbGNWYWx1ZT4gbV9sZWZ0U2lkZTsKKyAgICBSZWZQdHI8Q1NTQ2FsY1ZhbHVl
PiBtX3JpZ2h0U2lkZTsKKyAgICBjaGFyIG1fb3BlcmF0b3I7Cit9OworCitjbGFzcyBDU1NDYWxj
TWluTWF4VmFsdWVMaXN0IDogcHVibGljIENTU0NhbGNWYWx1ZSB7CitwdWJsaWM6CisgICAgZW51
bSBMaXN0VHlwZSB7IE1JTiwgTUFYIH07CisKKyAgICBDU1NDYWxjTWluTWF4VmFsdWVMaXN0KExp
c3RUeXBlIHR5cGUpCisgICAgICAgIDogbV9saXN0VHlwZSh0eXBlKQorICAgICAgICAsIG1fbGlz
dCgpCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgYm9vbCBpc1plcm8oKSBjb25zdAorICAg
IHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHZpcnR1YWwgU3RyaW5nIGNz
c1RleHQoKSBjb25zdAorICAgIHsKKyAgICAgICAgU3RyaW5nIHJlc3VsdCA9ICIiOworICAgICAg
ICBpZiAobV9saXN0VHlwZSA9PSBNSU4pCisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCItd2Vi
a2l0LW1pbigiKTsKKyAgICAgICAgZWxzZSAKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoIi13
ZWJraXQtbWF4KCIpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9saXN0LnNp
emUoKTsgKytpKSB7CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKG1fbGlzdFtpXS5nZXQoKS0+
Y3NzVGV4dCgpKTsKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoIiwgIik7CisgICAgICAgIH0K
KyAgICAgICAgcmVzdWx0LmFwcGVuZCgnKScpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAg
IH0KKworICAgIHZvaWQgYXBwZW5kKFBhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiB2YWx1ZSkgCisg
ICAgeworICAgICAgICBtX2xpc3QuYXBwZW5kKHZhbHVlKTsKKyAgICB9CisKKyAgICBQYXNzT3du
UHRyPENhbGNWYWx1ZT4gdG9DYWxjVmFsdWUoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHls
ZSogcm9vdFN0eWxlLCBkb3VibGUgem9vbSkgY29uc3QKKyAgICB7CisgICAgICAgIENhbGNNaW5N
YXhWYWx1ZUxpc3QqIGxpc3QgPSBuZXcgQ2FsY01pbk1heFZhbHVlTGlzdChtX2xpc3RUeXBlID09
IE1JTiA/IENhbGNNaW5NYXhWYWx1ZUxpc3Q6Ok1JTiA6IENhbGNNaW5NYXhWYWx1ZUxpc3Q6Ok1B
WCk7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2xpc3Quc2l6ZSgpOyArK2kp
CisgICAgICAgICAgICBsaXN0LT5hcHBlbmQobV9saXN0W2ldLmdldCgpLT50b0NhbGNWYWx1ZShz
dHlsZSwgcm9vdFN0eWxlLCB6b29tKSk7CisKKyAgICAgICAgcmV0dXJuIGxpc3Q7CisgICAgfQor
Citwcml2YXRlOgorICAgIExpc3RUeXBlIG1fbGlzdFR5cGU7CisgICAgVmVjdG9yPFJlZlB0cjxD
U1NDYWxjVmFsdWU+ID4gbV9saXN0OworfTsKKworI2RlZmluZSBDSEVDS19ERVBUSF9BTkRfSU5E
RVggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIGRvIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgICAgICArK2RlcHRoOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBpZiAoZGVwdGggPiAxMDApICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgICBpZiAoKmluZGV4ID49IHRva2Vucy0+c2l6ZSgpKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgIH0gd2hpbGUgKDAp
CisKK2NsYXNzIENTU0NhbGNWYWx1ZVBhcnNlciB7CitwdWJsaWM6CisgICAgUGFzc1JlZlB0cjxD
U1NDYWxjVmFsdWU+IHBhcnNlQ2FsYyhDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucykKKyAgICB7
CisgICAgICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKKyAgICAgICAgVmFsdWUgcmVzdWx0OworICAg
ICAgICBib29sIG9rID0gcGFyc2VWYWx1ZUV4cHJlc3Npb24odG9rZW5zLCAwLCAmaW5kZXgsICZy
ZXN1bHQpOworICAgICAgICBBU1NFUlQoaW5kZXggPD0gdG9rZW5zLT5zaXplKCkpOworICAgICAg
ICBpZiAoIW9rIAorICAgICAgICAgICAgfHwgKHJlc3VsdC52YWx1ZS0+aXNDYWxjVmFsdWUoKSAm
JiByZXN1bHQudmFsdWUtPmNhdGVnb3J5KCkgPT0gQ2FsY1ZhbHVlOjpVTnVtYmVyKQorICAgICAg
ICAgICAgfHwgaW5kZXggIT0gdG9rZW5zLT5zaXplKCkpCisgICAgICAgICAgICByZXR1cm4gMDsK
KyAgICAgICAgcmV0dXJuIHJlc3VsdC52YWx1ZTsKKyAgICB9CisKKyAgICBQYXNzUmVmUHRyPENT
U0NhbGNWYWx1ZT4gcGFyc2VNaW5NYXhMaXN0KENTU0NhbGNNaW5NYXhWYWx1ZUxpc3Q6Okxpc3RU
eXBlIHR5cGUsIENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zKQorICAgIHsKKyAgICAgICAgdW5z
aWduZWQgaW5kZXggPSAwOworICAgICAgICBDU1NDYWxjTWluTWF4VmFsdWVMaXN0KiByZXN1bHQg
PSBuZXcgQ1NTQ2FsY01pbk1heFZhbHVlTGlzdCh0eXBlKTsKKworICAgICAgICBib29sIG9rID0g
cGFyc2VWYWx1ZUxpc3QodG9rZW5zLCAwLCAmaW5kZXgsIHJlc3VsdCk7CisgICAgICAgIEFTU0VS
VChpbmRleCA8PSB0b2tlbnMtPnNpemUoKSk7CisgICAgICAgIGlmICghb2sgfHwgaW5kZXggIT0g
dG9rZW5zLT5zaXplKCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKHJlc3VsdCk7CisgICAgfQorCitwcml2YXRlOgorICAgIHN0cnVjdCBWYWx1ZSB7Cisg
ICAgICAgIFJlZlB0cjxDU1NDYWxjVmFsdWU+IHZhbHVlOworICAgIH07CisKKyAgICBjaGFyIG9w
ZXJhdG9yVmFsdWUoQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIHVuc2lnbmVkIGluZGV4KQor
ICAgIHsKKyAgICAgICAgaWYgKGluZGV4ID49IHRva2Vucy0+c2l6ZSgpKQorICAgICAgICAgICAg
cmV0dXJuIDA7CisgICAgICAgIENTU1BhcnNlclZhbHVlKiB2YWx1ZSA9IHRva2Vucy0+dmFsdWVB
dChpbmRleCk7CisgICAgICAgIGlmICh2YWx1ZS0+dW5pdCAhPSBDU1NQYXJzZXJWYWx1ZTo6T3Bl
cmF0b3IpCisgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICByZXR1cm4gdmFsdWUtPmlW
YWx1ZTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWUoQ1NTUGFyc2VyVmFsdWVMaXN0KiB0
b2tlbnMsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAgICB7CisgICAgICAgIENT
U1BhcnNlclZhbHVlKiBwYXJzZXJWYWx1ZSA9IHRva2Vucy0+dmFsdWVBdCgqaW5kZXgpOworICAg
ICAgICBpZiAocGFyc2VyVmFsdWUtPnVuaXQgPT0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJhdG9yIHx8
IHBhcnNlclZhbHVlLT51bml0ID09IENTU1BhcnNlclZhbHVlOjpGdW5jdGlvbikKKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlID0gcGFy
c2VyVmFsdWUtPmNyZWF0ZUNTU1ZhbHVlKCk7CisgICAgICAgIGlmICghdmFsdWUgfHwgIXZhbHVl
LT5pc1ByaW1pdGl2ZVZhbHVlKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAg
ICAgQ1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTUHJp
bWl0aXZlVmFsdWUqPih2YWx1ZS5nZXQoKSk7CisgICAgICAgIHJlc3VsdC0+dmFsdWUgPSBDU1ND
YWxjUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShwcmltaXRpdmVWYWx1ZSk7CisKKyAgICAgICAgKysq
aW5kZXg7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIGJvb2wgcGFyc2VWYWx1
ZVRlcm0oQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIGludCBkZXB0aCwgdW5zaWduZWQqIGlu
ZGV4LCBWYWx1ZSogcmVzdWx0KQorICAgIHsKKyAgICAgICAgQ0hFQ0tfREVQVEhfQU5EX0lOREVY
OworCisgICAgICAgIGlmIChvcGVyYXRvclZhbHVlKHRva2VucywgKmluZGV4KSA9PSAnKCcpIHsK
KyAgICAgICAgICAgIHVuc2lnbmVkIGN1cnJlbnRJbmRleCA9ICppbmRleCArIDE7CisgICAgICAg
ICAgICBpZiAoIXBhcnNlVmFsdWVFeHByZXNzaW9uKHRva2VucywgZGVwdGgsICZjdXJyZW50SW5k
ZXgsIHJlc3VsdCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAg
ICBpZiAob3BlcmF0b3JWYWx1ZSh0b2tlbnMsIGN1cnJlbnRJbmRleCkgIT0gJyknKQorICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICppbmRleCA9IGN1cnJlbnRJbmRl
eCArIDE7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIHJl
dHVybiBwYXJzZVZhbHVlKHRva2VucywgaW5kZXgsIHJlc3VsdCk7CisgICAgfQorCisgICAgYm9v
bCBwYXJzZVZhbHVlTXVsdGlwbGljYXRpdmVFeHByZXNzaW9uKENTU1BhcnNlclZhbHVlTGlzdCog
dG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAgICB7
CisgICAgICAgIENIRUNLX0RFUFRIX0FORF9JTkRFWDsKKworICAgICAgICBpZiAoIXBhcnNlVmFs
dWVUZXJtKHRva2VucywgZGVwdGgsIGluZGV4LCByZXN1bHQpKQorICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgICAgIHdoaWxlICgqaW5kZXggPCB0b2tlbnMtPnNpemUoKSAtIDEpIHsK
KyAgICAgICAgICAgIGNoYXIgb3BlcmF0b3JDaGFyYWN0ZXIgPSBvcGVyYXRvclZhbHVlKHRva2Vu
cywgKmluZGV4KTsKKyAgICAgICAgICAgIGlmIChvcGVyYXRvckNoYXJhY3RlciAhPSAnKicgJiYg
b3BlcmF0b3JDaGFyYWN0ZXIgIT0gJy8nICYmIG9wZXJhdG9yQ2hhcmFjdGVyICE9ICclJykKKyAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICsrKmluZGV4OworCisgICAgICAgICAg
ICBWYWx1ZSByaHM7CisgICAgICAgICAgICBpZiAoIXBhcnNlVmFsdWVUZXJtKHRva2VucywgZGVw
dGgsIGluZGV4LCAmcmhzKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAg
ICAgICAgIHJlc3VsdC0+dmFsdWUgPSBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWU6OmNyZWF0
ZShyZXN1bHQtPnZhbHVlLCByaHMudmFsdWUsIG9wZXJhdG9yQ2hhcmFjdGVyKTsKKyAgICAgICAg
ICAgIGlmICghcmVzdWx0LT52YWx1ZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgIH0KKworICAgICAgICBBU1NFUlQoKmluZGV4IDw9IHRva2Vucy0+c2l6ZSgpKTsKKyAg
ICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgYm9vbCBwYXJzZUFkZGl0aXZlVmFsdWVF
eHByZXNzaW9uKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVk
KiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAgICB7CisgICAgICAgIENIRUNLX0RFUFRIX0FORF9J
TkRFWDsKKworICAgICAgICBpZiAoIXBhcnNlVmFsdWVNdWx0aXBsaWNhdGl2ZUV4cHJlc3Npb24o
dG9rZW5zLCBkZXB0aCwgaW5kZXgsIHJlc3VsdCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICAgICAgd2hpbGUgKCppbmRleCA8IHRva2Vucy0+c2l6ZSgpIC0gMSkgeworICAgICAg
ICAgICAgY2hhciBvcGVyYXRvckNoYXJhY3RlciA9IG9wZXJhdG9yVmFsdWUodG9rZW5zLCAqaW5k
ZXgpOworICAgICAgICAgICAgaWYgKG9wZXJhdG9yQ2hhcmFjdGVyICE9ICcrJyAmJiBvcGVyYXRv
ckNoYXJhY3RlciAhPSAnLScpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAr
KyppbmRleDsKKworICAgICAgICAgICAgVmFsdWUgcmhzOworICAgICAgICAgICAgaWYgKCFwYXJz
ZVZhbHVlTXVsdGlwbGljYXRpdmVFeHByZXNzaW9uKHRva2VucywgZGVwdGgsIGluZGV4LCAmcmhz
KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIHJlc3VsdC0+
dmFsdWUgPSBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWU6OmNyZWF0ZShyZXN1bHQtPnZhbHVl
LCByaHMudmFsdWUsIG9wZXJhdG9yQ2hhcmFjdGVyKTsKKyAgICAgICAgICAgIGlmICghcmVzdWx0
LT52YWx1ZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKworICAg
ICAgICBBU1NFUlQoKmluZGV4IDw9IHRva2Vucy0+c2l6ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgfQorCisgICAgYm9vbCBwYXJzZVZhbHVlTGlzdChDU1NQYXJzZXJWYWx1ZUxpc3Qq
IHRva2VucywgaW50IGRlcHRoLCB1bnNpZ25lZCogaW5kZXgsIENTU0NhbGNNaW5NYXhWYWx1ZUxp
c3QqIHJlc3VsdCkKKyAgICB7CisgICAgICAgIGJvb2wgZmlyc3QgPSB0cnVlOworICAgICAgICB3
aGlsZSAoKmluZGV4IDwgdG9rZW5zLT5zaXplKCkpIHsKKyAgICAgICAgICAgIFZhbHVlIG5leHQ7
CisgICAgICAgICAgICBpZiAoIXBhcnNlVmFsdWVFeHByZXNzaW9uKHRva2VucywgZGVwdGgsIGlu
ZGV4LCAmbmV4dCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAg
ICBpZiAoZmlyc3QpIHsKKyAgICAgICAgICAgICAgICByZXN1bHQtPm1fY2F0ZWdvcnkgPSBuZXh0
LnZhbHVlLT5jYXRlZ29yeSgpOworICAgICAgICAgICAgICAgIGZpcnN0ID0gZmFsc2U7CisgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIENhbGNWYWx1ZTo6VW5pdENhdGVnb3J5
IGN1cnJlbnQgPSByZXN1bHQtPmNhdGVnb3J5KCk7CisgICAgICAgICAgICAgICAgQ2FsY1ZhbHVl
OjpVbml0Q2F0ZWdvcnkgaW5jb21pbmcgPSBuZXh0LnZhbHVlLT5jYXRlZ29yeSgpOworCisgICAg
ICAgICAgICAgICAgaWYgKGN1cnJlbnQgPT0gaW5jb21pbmcpCisgICAgICAgICAgICAgICAgICAg
IHJlc3VsdC0+bV9jYXRlZ29yeSA9IGN1cnJlbnQ7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAo
Y3VycmVudCA9PSBDYWxjVmFsdWU6OlVOdW1iZXIgfHwgaW5jb21pbmcgPT0gQ2FsY1ZhbHVlOjpV
TnVtYmVyKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAg
ICAgZWxzZSAKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0LT5tX2NhdGVnb3J5ID0gQ2FsY1Zh
bHVlOjpVUGVyY2VudDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAg
cmVzdWx0LT5hcHBlbmQobmV4dC52YWx1ZSk7CisKKyAgICAgICAgICAgIGNoYXIgb3BlcmF0b3JD
aGFyYWN0ZXIgPSBvcGVyYXRvclZhbHVlKHRva2VucywgKmluZGV4KTsKKyAgICAgICAgICAgIGlm
IChvcGVyYXRvckNoYXJhY3RlciAhPSAnLCcpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICArKyppbmRleDsKKyAgICAgICAgfQorCisgICAgICAgIEFTU0VSVCgqaW5kZXggPD0g
dG9rZW5zLT5zaXplKCkpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBib29s
IHBhcnNlVmFsdWVFeHByZXNzaW9uKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCBpbnQgZGVw
dGgsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAgICB7CisgICAgICAgIHJldHVy
biBwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKHRva2VucywgZGVwdGgsIGluZGV4LCByZXN1
bHQpOworICAgIH0KK307CisKK1Bhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBDU1NDYWxjVmFsdWU6
OmNyZWF0ZUZyb21QYXJzZXJWYWx1ZUxpc3QoQ1NTUGFyc2VyU3RyaW5nIG5hbWUsIENTU1BhcnNl
clZhbHVlTGlzdCogcGFyc2VyVmFsdWVMaXN0KQoreyAgICAKKyAgICBDU1NDYWxjVmFsdWVQYXJz
ZXIgcGFyc2VyOyAgICAKKworICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAiLXdlYmtp
dC1jYWxjKCIpKQorICAgICAgICByZXR1cm4gcGFyc2VyLnBhcnNlQ2FsYyhwYXJzZXJWYWx1ZUxp
c3QpOworICAgIAorICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAiLXdlYmtpdC1taW4o
IikpCisgICAgICAgIHJldHVybiBwYXJzZXIucGFyc2VNaW5NYXhMaXN0KENTU0NhbGNNaW5NYXhW
YWx1ZUxpc3Q6Ok1JTiwgcGFyc2VyVmFsdWVMaXN0KTsKKyAgICAKKyAgICBpZiAoZXF1YWxJZ25v
cmluZ0Nhc2UobmFtZSwgIi13ZWJraXQtbWF4KCIpKQorICAgICAgICByZXR1cm4gcGFyc2VyLnBh
cnNlTWluTWF4TGlzdChDU1NDYWxjTWluTWF4VmFsdWVMaXN0OjpNQVgsIHBhcnNlclZhbHVlTGlz
dCk7CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nh
bGNWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmExYmIzN2NlNGFmZDFhZDY3ZDVhZjI1N2NjYmU1ZDgzNjAwMmEyYTcKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmgKQEAgLTAsMCArMSw2NSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisg
KiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMu
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgQ1NTQ2FsY1ZhbHVlX2gKKyNkZWZpbmUgQ1NTQ2FsY1ZhbHVlX2gKKworI2luY2x1ZGUg
IkNTU1BhcnNlclZhbHVlcy5oIgorI2luY2x1ZGUgIkNTU1ZhbHVlLmgiCisjaW5jbHVkZSAiQ2Fs
Y1ZhbHVlLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ1NTUGFyc2VyVmFsdWVMaXN0
OworY2xhc3MgQ1NTVmFsdWVMaXN0OworY2xhc3MgUmVuZGVyU3R5bGU7CitjbGFzcyBDYWxjVmFs
dWU7CisKK2NsYXNzIENTU0NhbGNWYWx1ZSA6IHB1YmxpYyBDU1NWYWx1ZSB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBjcmVhdGVGcm9tUGFyc2VyVmFsdWVM
aXN0KENTU1BhcnNlclN0cmluZyBuYW1lLCBDU1NQYXJzZXJWYWx1ZUxpc3QqKTsKKyAgICBDU1ND
YWxjVmFsdWUoKSA6IG1fY2F0ZWdvcnkoQ2FsY1ZhbHVlOjpVT3RoZXIpIHt9CisKKyAgICB2aXJ0
dWFsIGJvb2wgaXNDYWxjVmFsdWUoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKKyAgICB2aXJ0
dWFsIGJvb2wgaXNaZXJvKCkgY29uc3QgPSAwOworICAgIAorICAgIHZpcnR1YWwgUGFzc093blB0
cjxDYWxjVmFsdWU+IHRvQ2FsY1ZhbHVlKFJlbmRlclN0eWxlKiwgUmVuZGVyU3R5bGUqIHJvb3RT
dHlsZSwgZG91YmxlIHpvb20gPSAxLjApIGNvbnN0ID0gMDsKKyAgICAKKyAgICBDYWxjVmFsdWU6
OlVuaXRDYXRlZ29yeSBjYXRlZ29yeSgpIGNvbnN0IHsgcmV0dXJuIG1fY2F0ZWdvcnk7IH0KKyAg
ICAKKyAgICBDYWxjVmFsdWU6OlVuaXRDYXRlZ29yeSBtX2NhdGVnb3J5OworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ1NTQ2FsY1ZhbHVlX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlci5jcHAKaW5kZXggYTgyYzA2MDAzM2ZiYzc2OGVjYWQzN2RkMDJlYThlODkyNDU1MWI2
NC4uYTE2MzZjM2NlZmVlODdkZjg0MTdjN2MxODFlNjJlNDhkYTY1MmRkNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1BhcnNlci5jcHAKQEAgLTEyOSw2ICsxMjksMTQgQEAgc3RhdGljIGJvb2wgaGFzUHJlZml4
KGNvbnN0IGNoYXIqIHN0cmluZywgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBjaGFyKiBwcmVmaXgp
CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitzdGF0aWMgYm9vbCBpc0NhbGMoQ1NTUGFyc2VyVmFs
dWUqIHZhbHVlKSAKK3sKKyAgICByZXR1cm4gKHZhbHVlLT51bml0ID09IENTU1BhcnNlclZhbHVl
OjpGdW5jdGlvbikgCisgICAgICAgICYmIChlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZS0+ZnVuY3Rp
b24tPm5hbWUsICItd2Via2l0LWNhbGMoIikKKyAgICAgICAgICAgIHx8IGVxdWFsSWdub3JpbmdD
YXNlKHZhbHVlLT5mdW5jdGlvbi0+bmFtZSwgIi13ZWJraXQtbWluKCIpCisgICAgICAgICAgICB8
fCBlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZS0+ZnVuY3Rpb24tPm5hbWUsICItd2Via2l0LW1heCgi
KSk7Cit9CisKIENTU1BhcnNlcjo6Q1NTUGFyc2VyKGJvb2wgc3RyaWN0UGFyc2luZykKICAgICA6
IG1fc3RyaWN0KHN0cmljdFBhcnNpbmcpCiAgICAgLCBtX2ltcG9ydGFudChmYWxzZSkKQEAgLTQ3
MiwxMCArNDgwLDI4IEBAIERvY3VtZW50KiBDU1NQYXJzZXI6OmRvY3VtZW50KCkgY29uc3QKIGJv
b2wgQ1NTUGFyc2VyOjp2YWxpZFVuaXQoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBVbml0cyB1bml0
ZmxhZ3MsIGJvb2wgc3RyaWN0KQogewogICAgIGJvb2wgYiA9IGZhbHNlOworICAgIGlmIChpc0Nh
bGModmFsdWUpKSB7CisgICAgICAgIC8vIEZJWE1FOiBpbnRlZ3JhdGUgdGhpcyBwcm9wZXJseSB3
aXRoIHRoZSBub24tY2FsYyB2YWxpZGF0aW9uIGNvZGUKKyAgICAgICAgaWYgKHBhcnNlQ2FsYyh2
YWx1ZSkpIHsKKyAgICAgICAgICAgIHN3aXRjaCAobV9wYXJzZWRDYWxjLT5jYXRlZ29yeSgpKSB7
CisgICAgICAgICAgICBjYXNlIENhbGNWYWx1ZTo6VUxlbmd0aDoKKyAgICAgICAgICAgICAgICBi
ID0gKHVuaXRmbGFncyAmIEZMZW5ndGgpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgY2FzZSBDYWxjVmFsdWU6OlVQZXJjZW50OgorICAgICAgICAgICAgICAgIGIgPSAodW5p
dGZsYWdzICYgRlBlcmNlbnQpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
Y2FzZSBDYWxjVmFsdWU6OlVOdW1iZXI6CisgICAgICAgICAgICAgICAgYiA9ICh1bml0ZmxhZ3Mg
JiBGTnVtYmVyKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6
CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9
IGVsc2UgewogICAgIHN3aXRjaCAodmFsdWUtPnVuaXQpIHsKICAgICBjYXNlIENTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NfTlVNQkVSOgogICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZOdW1iZXIpOwot
ICAgICAgICBpZiAoIWIgJiYgKCh1bml0ZmxhZ3MgJiAoRkxlbmd0aCB8IEZBbmdsZSB8IEZUaW1l
KSkgJiYgKHZhbHVlLT5mVmFsdWUgPT0gMCB8fCAhc3RyaWN0KSkpIHsKKyAgICAgICAgICAgIGlm
ICghYiAmJiAoKHVuaXRmbGFncyAmIChGTGVuZ3RoIHwgRkFuZ2xlIHwgRlRpbWUpKSAmJiAoIXZh
bHVlLT5mVmFsdWUgfHwgIXN0cmljdCkpKSB7CiAgICAgICAgICAgICB2YWx1ZS0+dW5pdCA9ICh1
bml0ZmxhZ3MgJiBGTGVuZ3RoKSA/IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUFggOgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAoKHVuaXRmbGFncyAmIEZBbmdsZSkgPyBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX0RFRyA6IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTVMpOwogICAgICAgICAgICAg
YiA9IHRydWU7CkBAIC01MTYsNiArNTQyLDcgQEAgYm9vbCBDU1NQYXJzZXI6OnZhbGlkVW5pdChD
U1NQYXJzZXJWYWx1ZSogdmFsdWUsIFVuaXRzIHVuaXRmbGFncywgYm9vbCBzdHJpY3QpCiAgICAg
fQogICAgIGlmIChiICYmIHVuaXRmbGFncyAmIEZOb25OZWcgJiYgdmFsdWUtPmZWYWx1ZSA8IDAp
CiAgICAgICAgIGIgPSBmYWxzZTsKKyAgICB9CiAgICAgcmV0dXJuIGI7CiB9CiAKQEAgLTYwMyw2
ICs2MzAsOCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShpbnQgcHJvcElkLCBib29sIGlt
cG9ydGFudCkKICAgICBpZiAoIXZhbHVlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBB
U1NFUlQoIW1fcGFyc2VkQ2FsYy5nZXQoKSk7CisgICAgCiAgICAgaW50IGlkID0gdmFsdWUtPmlk
OwogCiAgICAgLy8gSW4gcXVpcmtzIG1vZGUsIHdlIHdpbGwgbG9vayBmb3IgdW5pdHMgdGhhdCBo
YXZlIGJlZW4gaW5jb3JyZWN0bHkgc2VwYXJhdGVkIGZyb20gdGhlIG51bWJlciB0aGV5IGJlbG9u
ZyB0bwpAQCAtMTg2NCw2ICsxODkzLDEwIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKGlu
dCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICAgICAgcGFyc2VkVmFsdWUgPSBwcmlt
aXRpdmVWYWx1ZUNhY2hlKCktPmNyZWF0ZVZhbHVlKHZhbHVlLT5mVmFsdWUsIChDU1NQcmltaXRp
dmVWYWx1ZTo6VW5pdFR5cGVzKSB2YWx1ZS0+dW5pdCk7CiAgICAgICAgIGVsc2UgaWYgKHZhbHVl
LT51bml0ID49IENTU1BhcnNlclZhbHVlOjpRX0VNUykKICAgICAgICAgICAgIHBhcnNlZFZhbHVl
ID0gQ1NTUXVpcmtQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHZhbHVlLT5mVmFsdWUsIENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NfRU1TKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBBU1NFUlQo
aXNDYWxjKHZhbHVlKSk7CisgICAgICAgICAgICBwYXJzZWRWYWx1ZSA9IENTU1ByaW1pdGl2ZVZh
bHVlOjpjcmVhdGUobV9wYXJzZWRDYWxjLnJlbGVhc2UoKSk7CisgICAgICAgIH0KICAgICAgICAg
bV92YWx1ZUxpc3QtPm5leHQoKTsKICAgICB9CiAgICAgaWYgKHBhcnNlZFZhbHVlKSB7CkBAIC01
NjYxLDYgKzU2OTQsMjIgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlTGluZUJveENvbnRhaW4oYm9v
bCBpbXBvcnRhbnQpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgQ1NTUGFyc2VyOjpwYXJz
ZUNhbGMoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlKSAKK3sKKyAgICBBU1NFUlQoaXNDYWxjKHZhbHVl
KSk7CisgICAgCisgICAgQ1NTUGFyc2VyVmFsdWVMaXN0KiBhcmdzID0gdmFsdWUtPmZ1bmN0aW9u
LT5hcmdzLmdldCgpOworICAgIGlmICghYXJncyB8fCAhYXJncy0+c2l6ZSgpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBtX3BhcnNlZENhbGMgPSBDU1NDYWxjVmFsdWU6OmNyZWF0ZUZy
b21QYXJzZXJWYWx1ZUxpc3QodmFsdWUtPmZ1bmN0aW9uLT5uYW1lLCBhcmdzKTsKKyAgICAKKyAg
ICBpZiAoIW1fcGFyc2VkQ2FsYy5nZXQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIAor
ICAgIHJldHVybiB0cnVlOworfQorICAgIAogc3RhdGljIGlubGluZSBpbnQgeXllcnJvcihjb25z
dCBjaGFyKikgeyByZXR1cm4gMTsgfQogCiAjZGVmaW5lIEVORF9UT0tFTiAwCkBAIC01Njk0LDYg
KzU3NDMsOSBAQCBpbnQgQ1NTUGFyc2VyOjpsZXgodm9pZCogeXlsdmFsV2l0aG91dFR5cGUpCiAg
ICAgY2FzZSBGVU5DVElPTjoKICAgICBjYXNlIEFOWUZVTkNUSU9OOgogICAgIGNhc2UgTk9URlVO
Q1RJT046CisgICAgY2FzZSBDQUxDRlVOQ1RJT046CisgICAgY2FzZSBNSU5GVU5DVElPTjoKKyAg
ICBjYXNlIE1BWEZVTkNUSU9OOgogICAgICAgICB5eWx2YWwtPnN0cmluZy5jaGFyYWN0ZXJzID0g
dDsKICAgICAgICAgeXlsdmFsLT5zdHJpbmcubGVuZ3RoID0gbGVuZ3RoOwogICAgICAgICBicmVh
azsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCBjMDNhZmQ5YmFiYjQ5NmNhNGI0MDZiMWQ1OTYw
Yzg2OTZhOTMwZTI3Li43NTY5MDNmODA0NTQ4ZGRmMzk2ZjllMjhmMTQ5ODA0MjUwMTZkMmIwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0yMyw2ICsyMyw3IEBACiAjaWZuZGVmIENTU1BhcnNl
cl9oCiAjZGVmaW5lIENTU1BhcnNlcl9oCiAKKyNpbmNsdWRlICJDU1NDYWxjVmFsdWUuaCIKICNp
bmNsdWRlICJDU1NHcmFkaWVudFZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyVmFsdWVzLmgi
CiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmgiCkBAIC0xNzksNiArMTgwLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIHBhcnNlVGV4dEVtcGhhc2lzU3R5bGUo
Ym9vbCBpbXBvcnRhbnQpOwogCiAgICAgICAgIGJvb2wgcGFyc2VMaW5lQm94Q29udGFpbihib29s
IGltcG9ydGFudCk7CisgICAgICAgIGJvb2wgcGFyc2VDYWxjKENTU1BhcnNlclZhbHVlKik7CiAK
ICAgICAgICAgaW50IHl5cGFyc2UoKTsKIApAQCAtMzMxLDYgKzMzMyw4IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogICAgICAgICBWZWN0b3I8T3duUHRyPENTU1BhcnNlclNlbGVjdG9yPiA+IG1f
cmV1c2FibGVTZWxlY3RvclZlY3RvcjsKIAorICAgICAgICBSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBt
X3BhcnNlZENhbGM7CisKICAgICAgICAgLy8gZGVmaW5lcyB1bml0cyBhbGxvd2VkIGZvciBhIGNl
cnRhaW4gcHJvcGVydHksIHVzZWQgaW4gcGFyc2VVbml0CiAgICAgICAgIGVudW0gVW5pdHMgewog
ICAgICAgICAgICAgRlVua25vd24gICA9IDB4MDAwMCwKQEAgLTM1MCw3ICszNTQsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VW5pdHM+KHN0
YXRpY19jYXN0PHVuc2lnbmVkPihhKSB8IHN0YXRpY19jYXN0PHVuc2lnbmVkPihiKSk7CiAgICAg
ICAgIH0KIAotICAgICAgICBzdGF0aWMgYm9vbCB2YWxpZFVuaXQoQ1NTUGFyc2VyVmFsdWUqLCBV
bml0cywgYm9vbCBzdHJpY3QpOworICAgICAgICBib29sIHZhbGlkVW5pdChDU1NQYXJzZXJWYWx1
ZSosIFVuaXRzLCBib29sIHN0cmljdCk7CiAKICAgICAgICAgZnJpZW5kIGNsYXNzIFRyYW5zZm9y
bU9wZXJhdGlvbkluZm87CiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcmltaXRpdmVWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFs
dWUuY3BwCmluZGV4IDA0ZjEwODljNGY1OWU5MmZlY2VkOGM4NjA2MDc4YTZiODYwMWQ0MjYuLjU4
OTI5ODhmNGE3ZWVmMmUwYWRhMzdjMTdjMGUxZmExMzc2NmI5MjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcApAQCAtMjEsMTEgKzIxLDEzIEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKIAorI2luY2x1ZGUgIkNT
U0NhbGNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0hlbHBlci5oIgogI2luY2x1ZGUgIkNTU1BhcnNl
ci5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKICNpbmNsdWRlICJDU1NTdHlsZVNo
ZWV0LmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgorI2luY2x1ZGUgIkNhbGNWYWx1
ZS5oIgogI2luY2x1ZGUgIkNvbG9yLmgiCiAjaW5jbHVkZSAiQ291bnRlci5oIgogI2luY2x1ZGUg
IkV4Y2VwdGlvbkNvZGUuaCIKQEAgLTg3LDYgKzg5LDIyIEBAIHN0YXRpYyBDU1NUZXh0Q2FjaGUm
IGNzc1RleHRDYWNoZSgpCiAgICAgcmV0dXJuIGNhY2hlOwogfQogCit1bnNpZ25lZCBzaG9ydCBD
U1NQcmltaXRpdmVWYWx1ZTo6cHJpbWl0aXZlVHlwZSgpIGNvbnN0IAoreworICAgIGlmIChtX3R5
cGUgIT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DQUxDKQorICAgICAgICByZXR1cm4gbV90eXBl
OyAKKyAgICAKKyAgICBzd2l0Y2ggKG1fdmFsdWUuY2FsYy0+Y2F0ZWdvcnkoKSkgeworICAgIGNh
c2UgQ2FsY1ZhbHVlOjpVTnVtYmVyOgorICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19QQVJTRVJfSU5URUdFUjsKKyAgICBjYXNlIENhbGNWYWx1ZTo6VVBlcmNlbnQ6CisgICAg
ICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NBTENfUEVSQ0VOVEFHRTsKKyAgICBj
YXNlIENhbGNWYWx1ZTo6VUxlbmd0aDoKKyAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfUFg7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfVU5LTk9XTjsKKyAgICB9Cit9CiBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1
ZU9yUHJvcGVydHlOYW1lKGludCB2YWx1ZU9yUHJvcGVydHlJRCkKIHsKICAgICBBU1NFUlRfQVJH
KHZhbHVlT3JQcm9wZXJ0eUlELCB2YWx1ZU9yUHJvcGVydHlJRCA+PSAwKTsKQEAgLTE3Miw2ICsx
OTAsOSBAQCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoY29uc3QgTGVuZ3Ro
JiBsZW5ndGgpCiAgICAgICAgICAgICBtX3R5cGUgPSBDU1NfUEVSQ0VOVEFHRTsKICAgICAgICAg
ICAgIG1fdmFsdWUubnVtID0gbGVuZ3RoLnBlcmNlbnQoKTsKICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjYXNlIENhbGN1bGF0ZWQ6IC8vIEZJWE1FIGlzIHRoaXMgY29ycmVjdD8KKyAgICAg
ICAgICAgIG1fdHlwZSA9IENTU19VTktOT1dOOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IGNhc2UgUmVsYXRpdmU6CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAg
ICAgICAgIGJyZWFrOwpAQCAtMjA4LDYgKzIyOSwxMyBAQCB2b2lkIENTU1ByaW1pdGl2ZVZhbHVl
Ojppbml0KFBhc3NSZWZQdHI8UGFpcj4gcCkKICAgICBtX3ZhbHVlLnBhaXIgPSBwLnJlbGVhc2VS
ZWYoKTsKIH0KIAordm9pZCBDU1NQcmltaXRpdmVWYWx1ZTo6aW5pdChQYXNzUmVmUHRyPENTU0Nh
bGNWYWx1ZT4gYykKK3sKKyAgICBtX3R5cGUgPSBDU1NfQ0FMQzsKKyAgICBtX2hhc0NhY2hlZENT
U1RleHQgPSBmYWxzZTsKKyAgICBtX3ZhbHVlLmNhbGMgPSBjLnJlbGVhc2VSZWYoKTsKK30KKwog
Q1NTUHJpbWl0aXZlVmFsdWU6On5DU1NQcmltaXRpdmVWYWx1ZSgpCiB7CiAgICAgY2xlYW51cCgp
OwpAQCAtMjM4LDYgKzI2Niw5IEBAIHZvaWQgQ1NTUHJpbWl0aXZlVmFsdWU6OmNsZWFudXAoKQog
ICAgICAgICAgICAgICAgIG1fdmFsdWUucmVnaW9uLT5kZXJlZigpOwogICAgICAgICAgICAgYnJl
YWs7CiAjZW5kaWYKKyAgICAgICAgY2FzZSBDU1NfQ0FMQzoKKyAgICAgICAgICAgIG1fdmFsdWUu
Y2FsYy0+ZGVyZWYoKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OgogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMzQwLDcgKzM3MSwxNyBAQCBkb3VibGUgQ1NTUHJp
bWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGhEb3VibGUoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5k
ZXJTdHlsZSogcgogICAgICAgICAgICAgcmV0dXJuIC0xLjA7CiAgICAgfQogCi0gICAgZG91Ymxl
IHJlc3VsdCA9IGdldERvdWJsZVZhbHVlKCkgKiBmYWN0b3I7CisgICAgZG91YmxlIHZhbHVlOwor
ICAgIGlmIChtX3R5cGUgIT0gQ1NTX0NBTEMpCisgICAgICAgIHZhbHVlID0gZ2V0RG91YmxlVmFs
dWUoKTsKKyAgICBlbHNlIHsKKyAgICAgICAgT3duUHRyPENhbGNWYWx1ZT4gY2FsY1ZhbHVlID0g
bV92YWx1ZS5jYWxjLT50b0NhbGNWYWx1ZShzdHlsZSwgcm9vdFN0eWxlLCAxLjApOworICAgICAg
ICBpZiAoY2FsY1ZhbHVlLmdldCgpKQorICAgICAgICAgICAgdmFsdWUgPSBjYWxjVmFsdWUtPmV2
YWx1YXRlKERCTF9NQVgpOworICAgICAgICBlbHNlIAorICAgICAgICAgICAgdmFsdWUgPSAwOwor
ICAgIH0KKyAgICBkb3VibGUgcmVzdWx0ID0gdmFsdWUgKiBmYWN0b3I7CiAgICAgaWYgKCFhcHBs
eVpvb21NdWx0aXBsaWVyIHx8IG11bHRpcGxpZXIgPT0gMS4wKQogICAgICAgICByZXR1cm4gcmVz
dWx0OwogICAgICAKQEAgLTQyNiw2ICs0NjcsMTggQEAgZG91YmxlIENTU1ByaW1pdGl2ZVZhbHVl
OjpnZXREb3VibGVWYWx1ZSh1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSkgY29uc3QKICAgICByZXR1
cm4gcmVzdWx0OwogfQogCitkb3VibGUgQ1NTUHJpbWl0aXZlVmFsdWU6OmdldERvdWJsZVZhbHVl
KCkgY29uc3QKK3sgCisgICAgaWYgKG1fdHlwZSAhPSBDU1NfQ0FMQykKKyAgICAgICAgcmV0dXJu
IG1fdmFsdWUubnVtOyAKKyAgICAKKyAgICBPd25QdHI8Q2FsY1ZhbHVlPiBjYWxjVmFsdWUgPSBt
X3ZhbHVlLmNhbGMtPnRvQ2FsY1ZhbHVlKDAsIDAsIDEuMCk7CisgICAgaWYgKGNhbGNWYWx1ZS5n
ZXQoKSkKKyAgICAgICAgcmV0dXJuIGNhbGNWYWx1ZS0+ZXZhbHVhdGUoMSk7CisgICAgCisgICAg
cmV0dXJuIDA7Cit9CisKIENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMgQ1NTUHJpbWl0aXZl
VmFsdWU6OmNhbm9uaWNhbFVuaXRUeXBlRm9yQ2F0ZWdvcnkoVW5pdENhdGVnb3J5IGNhdGVnb3J5
KQogewogICAgIC8vIFRoZSBjYW5vbmljYWwgdW5pdCB0eXBlIGlzIGNob3NlbiBhY2NvcmRpbmcg
dG8gdGhlIHdheSBDU1NQYXJzZXI6OnZhbGlkVW5pdCgpIGNob29zZXMgdGhlIGRlZmF1bHQgdW5p
dApAQCAtODIzLDYgKzg3Niw5IEBAIFN0cmluZyBDU1NQcmltaXRpdmVWYWx1ZTo6Y3NzVGV4dCgp
IGNvbnN0CiAgICAgICAgIGNhc2UgQ1NTX1BBUlNFUl9JREVOVElGSUVSOgogICAgICAgICAgICAg
dGV4dCA9IHF1b3RlQ1NTU3RyaW5nSWZOZWVkZWQobV92YWx1ZS5zdHJpbmcpOwogICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ1NTX0NBTEM6CisgICAgICAgICAgICB0ZXh0ID0gbV92
YWx1ZS5jYWxjLT5jc3NUZXh0KCk7CisgICAgICAgICAgICBicmVhazsKICAgICB9CiAKICAgICBB
U1NFUlQoIWNzc1RleHRDYWNoZSgpLmNvbnRhaW5zKHRoaXMpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlLmgKaW5kZXggNDk5ZTk1YzY3ZWU2M2Q5Y2JkNDk2ZjU1ZmZjMzdhNjc1
NzdmOTBlMC4uNmI2NzAyZTVmYzVkYWU1YjdkZGI3OTgxYWUxNGE1OTA1NzJmYTA3YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmgKQEAgLTI5LDYgKzI5LDcgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBDU1NDYWxjVmFsdWU7CiBjbGFzcyBDb3VudGVyOwog
Y2xhc3MgRGFzaGJvYXJkUmVnaW9uOwogY2xhc3MgUGFpcjsKQEAgLTkzLDcgKzk0LDEwIEBAIHB1
YmxpYzoKICAgICAgICAgQ1NTX1JFTVMgPSAxMDgsCiAKICAgICAgICAgLy8gVGhpcyBpcyB1c2Vk
IGludGVybmFsbHkgZm9yIGNvdW50ZXIgbmFtZXMgKGFzIG9wcG9zZWQgdG8gY291bnRlciB2YWx1
ZXMpCi0gICAgICAgIENTU19DT1VOVEVSX05BTUUgPSAxMDkKKyAgICAgICAgQ1NTX0NPVU5URVJf
TkFNRSA9IDEwOSwKKworICAgICAgICBDU1NfQ0FMQyA9IDExMCwKKyAgICAgICAgQ1NTX0NBTENf
UEVSQ0VOVEFHRSA9IDExMQogICAgIH07CiAgICAgCiAgICAgLy8gVGhpcyBlbnVtIGZvbGxvd3Mg
dGhlIENTU1BhcnNlcjo6VW5pdHMgZW51bSBhdWdtZW50ZWQgd2l0aCBVTklUX0ZSRVFVRU5DWSBm
b3IgZnJlcXVlbmNpZXMuCkBAIC0xMjQsNyArMTI4LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBj
bGVhbnVwKCk7CiAKLSAgICB1bnNpZ25lZCBzaG9ydCBwcmltaXRpdmVUeXBlKCkgY29uc3QgeyBy
ZXR1cm4gbV90eXBlOyB9CisgICAgdW5zaWduZWQgc2hvcnQgcHJpbWl0aXZlVHlwZSgpIGNvbnN0
OwogCiAgICAgLyoKICAgICAgKiBjb21wdXRlcyBhIGxlbmd0aCBpbiBwaXhlbHMgb3V0IG9mIHRo
ZSBnaXZlbiBDU1NWYWx1ZS4gTmVlZCB0aGUgUmVuZGVyU3R5bGUgdG8gZ2V0CkBAIC0xNTEsNyAr
MTU1LDcgQEAgcHVibGljOgogICAgIAogICAgIGRvdWJsZSBnZXREb3VibGVWYWx1ZSh1bnNpZ25l
ZCBzaG9ydCB1bml0VHlwZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogICAgIGRvdWJsZSBnZXRE
b3VibGVWYWx1ZSh1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSkgY29uc3Q7Ci0gICAgZG91YmxlIGdl
dERvdWJsZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZS5udW07IH0KKyAgICBkb3VibGUg
Z2V0RG91YmxlVmFsdWUoKSBjb25zdDsKIAogICAgIHZvaWQgc2V0RmxvYXRWYWx1ZSh1bnNpZ25l
ZCBzaG9ydCB1bml0VHlwZSwgZG91YmxlIGZsb2F0VmFsdWUsIEV4Y2VwdGlvbkNvZGUmKTsKICAg
ICBmbG9hdCBnZXRGbG9hdFZhbHVlKHVuc2lnbmVkIHNob3J0IHVuaXRUeXBlLCBFeGNlcHRpb25D
b2RlJiBlYykgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGdldERvdWJsZVZhbHVl
KHVuaXRUeXBlLCBlYykpOyB9CkBAIC0xODAsNiArMTg0LDggQEAgcHVibGljOgogCiAgICAgRGFz
aGJvYXJkUmVnaW9uKiBnZXREYXNoYm9hcmRSZWdpb25WYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
dHlwZSAhPSBDU1NfREFTSEJPQVJEX1JFR0lPTiA/IDAgOiBtX3ZhbHVlLnJlZ2lvbjsgfQogCisg
ICAgQ1NTQ2FsY1ZhbHVlKiBnZXRDYWxjVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgIT0g
Q1NTX0NBTEMgPyAwIDogbV92YWx1ZS5jYWxjOyB9CisKICAgICBpbnQgZ2V0SWRlbnQoKSBjb25z
dDsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgb3BlcmF0b3IgVCgpIGNvbnN0OyAv
LyBEZWZpbmVkIGluIENTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAogCkBAIC0yMTksNiArMjI1
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGluaXQoUGFzc1JlZlB0cjxSZWN0Pik7CiAgICAgdm9p
ZCBpbml0KFBhc3NSZWZQdHI8UGFpcj4pOwogICAgIHZvaWQgaW5pdChQYXNzUmVmUHRyPERhc2hi
b2FyZFJlZ2lvbj4pOyAvLyBGSVhNRTogRGFzaGJvYXJkIHJlZ2lvbiBzaG91bGQgbm90IGJlIGEg
cHJpbWl0aXZlIHZhbHVlLgorICAgIHZvaWQgaW5pdChQYXNzUmVmUHRyPENTU0NhbGNWYWx1ZT4p
OwogICAgIGJvb2wgZ2V0RG91YmxlVmFsdWVJbnRlcm5hbChVbml0VHlwZXMgdGFyZ2V0VW5pdFR5
cGUsIGRvdWJsZSogcmVzdWx0KSBjb25zdDsKIAogICAgIHZpcnR1YWwgYm9vbCBpc1ByaW1pdGl2
ZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQpAQCAtMjM2LDYgKzI0Myw3IEBAIHByaXZh
dGU6CiAgICAgICAgIHVuc2lnbmVkIHJnYmNvbG9yOwogICAgICAgICBQYWlyKiBwYWlyOwogICAg
ICAgICBEYXNoYm9hcmRSZWdpb24qIHJlZ2lvbjsKKyAgICAgICAgQ1NTQ2FsY1ZhbHVlKiBjYWxj
OwogICAgIH0gbV92YWx1ZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NTdHlsZVNlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9y
LmNwcAppbmRleCA3OTg3MjE1Y2M3MTZlMjRlYTRlZDNmYWUwNjA5NGY4YTcxM2ZiYWI0Li5hZWM4
MGQ1MjM5NGM5NDY2NjY0YmFmMjkwYmFiNDY3OTE4MTk2NjYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuY3BwCkBAIC0yOCwxMCArMjgsMTIgQEAKICNpbmNsdWRlICJDU1NT
dHlsZVNlbGVjdG9yLmgiCiAKICNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKKyNpbmNsdWRlICJDYWxj
VmFsdWUuaCIKICNpbmNsdWRlICJDb250ZW50RGF0YS5oIgogI2luY2x1ZGUgIkNvdW50ZXJDb250
ZW50LmgiCiAjaW5jbHVkZSAiQ3Vyc29yTGlzdC5oIgogI2luY2x1ZGUgIkNTU0JvcmRlckltYWdl
VmFsdWUuaCIKKyNpbmNsdWRlICJDU1NDYWxjVmFsdWUuaCIKICNpbmNsdWRlICJDU1NDdXJzb3JJ
bWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udEZhY2VSdWxlLmgiCiAjaW5jbHVkZSAiQ1NT
SW1wb3J0UnVsZS5oIgpAQCAtOTgsNiArMTAwLDcgQEAKICNpbmNsdWRlICJXZWJLaXRDU1NLZXlm
cmFtZXNSdWxlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCIKICNpbmNs
dWRlICJYTUxOYW1lcy5oIgorI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
U3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC0zNDA5LDEyICsz
NDEyLDEyIEBAIHN0YXRpYyBMZW5ndGggY29udmVydFRvTGVuZ3RoKENTU1ByaW1pdGl2ZVZhbHVl
KiBwcmltaXRpdmVWYWx1ZSwgUmVuZGVyU3R5bGUqIHN0CiAgICAgcmV0dXJuIGw7CiB9CiAgICAg
Ci1zdGF0aWMgTGVuZ3RoIGNvbnZlcnRUb0ludExlbmd0aChDU1NQcmltaXRpdmVWYWx1ZSogcHJp
bWl0aXZlVmFsdWUsIFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwg
ZG91YmxlIG11bHRpcGxpZXIgPSAxLCBib29sICpvayA9IDApCitMZW5ndGggQ1NTU3R5bGVTZWxl
Y3Rvcjo6Y29udmVydFRvSW50TGVuZ3RoKENTU1ByaW1pdGl2ZVZhbHVlKiBwcmltaXRpdmVWYWx1
ZSwgUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgbXVs
dGlwbGllciwgYm9vbCAqb2spCiB7CiAgICAgcmV0dXJuIGNvbnZlcnRUb0xlbmd0aChwcmltaXRp
dmVWYWx1ZSwgc3R5bGUsIHJvb3RTdHlsZSwgZmFsc2UsIG11bHRpcGxpZXIsIG9rKTsKIH0KIAot
c3RhdGljIExlbmd0aCBjb252ZXJ0VG9GbG9hdExlbmd0aChDU1NQcmltaXRpdmVWYWx1ZSogcHJp
bWl0aXZlVmFsdWUsIFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwg
ZG91YmxlIG11bHRpcGxpZXIgPSAxLCBib29sICpvayA9IDApCitMZW5ndGggQ1NTU3R5bGVTZWxl
Y3Rvcjo6Y29udmVydFRvRmxvYXRMZW5ndGgoQ1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZh
bHVlLCBSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSBt
dWx0aXBsaWVyLCBib29sICpvaykKIHsKICAgICByZXR1cm4gY29udmVydFRvTGVuZ3RoKHByaW1p
dGl2ZVZhbHVlLCBzdHlsZSwgcm9vdFN0eWxlLCB0cnVlLCBtdWx0aXBsaWVyLCBvayk7CiB9CkBA
IC00MzM4LDcgKzQzNDEsMTIgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5
KGludCBpZCwgQ1NTVmFsdWUgKnZhbHVlKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJp
bWl0aXZlVmFsdWUtPmlzUXVpcmtWYWx1ZSgpKTsKICAgICAgICAgICAgIGVsc2UgaWYgKHR5cGUg
PT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFKQogICAgICAgICAgICAgICAgIGwg
PSBMZW5ndGgocHJpbWl0aXZlVmFsdWUtPmdldERvdWJsZVZhbHVlKCksIFBlcmNlbnQpOwotICAg
ICAgICAgICAgZWxzZQorICAgICAgICAgICAgZWxzZSBpZiAodHlwZSA9PSBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX0NBTENfUEVSQ0VOVEFHRSkgeworICAgICAgICAgICAgICAgIE93blB0cjxDYWxj
VmFsdWU+IGNhbGNWYWx1ZSA9IHByaW1pdGl2ZVZhbHVlLT5nZXRDYWxjVmFsdWUoKS0+dG9DYWxj
VmFsdWUoc3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxlLCB6b29tRmFjdG9yKTsKKyAgICAgICAg
ICAgICAgICBpZiAoIWNhbGNWYWx1ZS5nZXQoKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICAgICAgICAgIGwgPSBMZW5ndGgoY2FsY1ZhbHVlLnJlbGVhc2UoKSk7CisgICAg
ICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICBhcHBs
eSA9IHRydWU7CiAgICAgICAgIH0KQEAgLTQ0MjUsMTQgKzQ0MzMsMTggQEAgdm9pZCBDU1NTdHls
ZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KGludCBpZCwgQ1NTVmFsdWUgKnZhbHVlKQogICAgICAg
ICAgICAgSEFORExFX0lOSVRJQUxfQ09ORF9XSVRIX1ZBTFVFKENTU1Byb3BlcnR5TWluSGVpZ2h0
LCBNaW5IZWlnaHQsIE1pblNpemUpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLQog
ICAgICAgICBpZiAocHJpbWl0aXZlVmFsdWUgJiYgIWFwcGx5KSB7CiAgICAgICAgICAgICB1bnNp
Z25lZCBzaG9ydCB0eXBlID0gcHJpbWl0aXZlVmFsdWUtPnByaW1pdGl2ZVR5cGUoKTsKICAgICAg
ICAgICAgIGlmIChDU1NQcmltaXRpdmVWYWx1ZTo6aXNVbml0VHlwZUxlbmd0aCh0eXBlKSkKICAg
ICAgICAgICAgICAgICBsID0gTGVuZ3RoKHByaW1pdGl2ZVZhbHVlLT5jb21wdXRlTGVuZ3RoSW50
Rm9yTGVuZ3RoKHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSwgem9vbUZhY3RvciksIEZpeGVk
KTsKICAgICAgICAgICAgIGVsc2UgaWYgKHR5cGUgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19Q
RVJDRU5UQUdFKQogICAgICAgICAgICAgICAgIGwgPSBMZW5ndGgocHJpbWl0aXZlVmFsdWUtPmdl
dERvdWJsZVZhbHVlKCksIFBlcmNlbnQpOwotICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ZWxzZSBpZiAodHlwZSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NBTENfUEVSQ0VOVEFHRSkg
eworICAgICAgICAgICAgICAgIE93blB0cjxDYWxjVmFsdWU+IGNhbGNWYWx1ZSA9IHByaW1pdGl2
ZVZhbHVlLT5nZXRDYWxjVmFsdWUoKS0+dG9DYWxjVmFsdWUoc3R5bGUoKSwgbV9yb290RWxlbWVu
dFN0eWxlLCB6b29tRmFjdG9yKTsKKyAgICAgICAgICAgICAgICBpZiAoIWNhbGNWYWx1ZS5nZXQo
KSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIGwgPSBMZW5n
dGgoY2FsY1ZhbHVlLnJlbGVhc2UoKSk7CisgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgICAgICBhcHBseSA9IHRydWU7CiAgICAgICAgIH0KQEAgLTYy
OTksMTQgKzYzMTEsMjMgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphcHBseVBhZ2VTaXplUHJv
cGVydHkoQ1NTVmFsdWUqIHZhbHVlKQogCiBib29sIENTU1N0eWxlU2VsZWN0b3I6OnBhZ2VTaXpl
RnJvbU5hbWUoQ1NTUHJpbWl0aXZlVmFsdWUqIHBhZ2VTaXplTmFtZSwgQ1NTUHJpbWl0aXZlVmFs
dWUqIHBhZ2VPcmllbnRhdGlvbiwgTGVuZ3RoJiB3aWR0aCwgTGVuZ3RoJiBoZWlnaHQpCiB7Ci0g
ICAgc3RhdGljIGNvbnN0IExlbmd0aCBhNVdpZHRoID0gbW1MZW5ndGgoMTQ4KSwgYTVIZWlnaHQg
PSBtbUxlbmd0aCgyMTApOwotICAgIHN0YXRpYyBjb25zdCBMZW5ndGggYTRXaWR0aCA9IG1tTGVu
Z3RoKDIxMCksIGE0SGVpZ2h0ID0gbW1MZW5ndGgoMjk3KTsKLSAgICBzdGF0aWMgY29uc3QgTGVu
Z3RoIGEzV2lkdGggPSBtbUxlbmd0aCgyOTcpLCBhM0hlaWdodCA9IG1tTGVuZ3RoKDQyMCk7Ci0g
ICAgc3RhdGljIGNvbnN0IExlbmd0aCBiNVdpZHRoID0gbW1MZW5ndGgoMTc2KSwgYjVIZWlnaHQg
PSBtbUxlbmd0aCgyNTApOwotICAgIHN0YXRpYyBjb25zdCBMZW5ndGggYjRXaWR0aCA9IG1tTGVu
Z3RoKDI1MCksIGI0SGVpZ2h0ID0gbW1MZW5ndGgoMzUzKTsKLSAgICBzdGF0aWMgY29uc3QgTGVu
Z3RoIGxldHRlcldpZHRoID0gaW5jaExlbmd0aCg4LjUpLCBsZXR0ZXJIZWlnaHQgPSBpbmNoTGVu
Z3RoKDExKTsKLSAgICBzdGF0aWMgY29uc3QgTGVuZ3RoIGxlZ2FsV2lkdGggPSBpbmNoTGVuZ3Ro
KDguNSksIGxlZ2FsSGVpZ2h0ID0gaW5jaExlbmd0aCgxNCk7Ci0gICAgc3RhdGljIGNvbnN0IExl
bmd0aCBsZWRnZXJXaWR0aCA9IGluY2hMZW5ndGgoMTEpLCBsZWRnZXJIZWlnaHQgPSBpbmNoTGVu
Z3RoKDE3KTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBhNVdpZHRoID0gbW1MZW5ndGgoMTQ4
KTsgCisgICAgc3RhdGljIGNvbnN0IExlbmd0aCYgYTVIZWlnaHQgPSBtbUxlbmd0aCgyMTApOwor
ICAgIHN0YXRpYyBjb25zdCBMZW5ndGgmIGE0V2lkdGggPSBtbUxlbmd0aCgyMTApOworICAgIHN0
YXRpYyBjb25zdCBMZW5ndGgmIGE0SGVpZ2h0ID0gbW1MZW5ndGgoMjk3KTsKKyAgICBzdGF0aWMg
Y29uc3QgTGVuZ3RoJiBhM1dpZHRoID0gbW1MZW5ndGgoMjk3KTsKKyAgICBzdGF0aWMgY29uc3Qg
TGVuZ3RoJiBhM0hlaWdodCA9IG1tTGVuZ3RoKDQyMCk7CisgICAgc3RhdGljIGNvbnN0IExlbmd0
aCYgYjVXaWR0aCA9IG1tTGVuZ3RoKDE3Nik7CisgICAgc3RhdGljIGNvbnN0IExlbmd0aCYgYjVI
ZWlnaHQgPSBtbUxlbmd0aCgyNTApOworICAgIHN0YXRpYyBjb25zdCBMZW5ndGgmIGI0V2lkdGgg
PSBtbUxlbmd0aCgyNTApOworICAgIHN0YXRpYyBjb25zdCBMZW5ndGgmIGI0SGVpZ2h0ID0gbW1M
ZW5ndGgoMzUzKTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBsZXR0ZXJXaWR0aCA9IGluY2hM
ZW5ndGgoOC41KTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBsZXR0ZXJIZWlnaHQgPSBpbmNo
TGVuZ3RoKDExKTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBsZWdhbFdpZHRoID0gaW5jaExl
bmd0aCg4LjUpOworICAgIHN0YXRpYyBjb25zdCBMZW5ndGgmIGxlZ2FsSGVpZ2h0ID0gaW5jaExl
bmd0aCgxNCk7CisgICAgc3RhdGljIGNvbnN0IExlbmd0aCYgbGVkZ2VyV2lkdGggPSBpbmNoTGVu
Z3RoKDExKTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBsZWRnZXJIZWlnaHQgPSBpbmNoTGVu
Z3RoKDE3KTsKKwogCiAgICAgaWYgKCFwYWdlU2l6ZU5hbWUgfHwgcGFnZVNpemVOYW1lLT5wcmlt
aXRpdmVUeXBlKCkgIT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19JREVOVCkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwpAQCAtNjM2NSwxNCArNjM4NiwxNCBAQCBib29sIENTU1N0eWxlU2VsZWN0b3I6
OnBhZ2VTaXplRnJvbU5hbWUoQ1NTUHJpbWl0aXZlVmFsdWUqIHBhZ2VTaXplTmFtZSwgQ1NTUHJp
bQogICAgIHJldHVybiB0cnVlOwogfQogCi1MZW5ndGggQ1NTU3R5bGVTZWxlY3Rvcjo6bW1MZW5n
dGgoZG91YmxlIG1tKSBjb25zdAorTGVuZ3RoJiBDU1NTdHlsZVNlbGVjdG9yOjptbUxlbmd0aChk
b3VibGUgbW0pIGNvbnN0CiB7Ci0gICAgcmV0dXJuIExlbmd0aChDU1NQcmltaXRpdmVWYWx1ZTo6
Y3JlYXRlKG1tLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX01NKS0+Y29tcHV0ZUxlbmd0aEludEZv
ckxlbmd0aChzdHlsZSgpLCBtX3Jvb3RFbGVtZW50U3R5bGUpLCBGaXhlZCk7CisgICAgcmV0dXJu
ICpuZXcgTGVuZ3RoKENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUobW0sIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfTU0pLT5jb21wdXRlTGVuZ3RoSW50Rm9yTGVuZ3RoKHN0eWxlKCksIG1fcm9vdEVs
ZW1lbnRTdHlsZSksIEZpeGVkKTsKIH0KIAotTGVuZ3RoIENTU1N0eWxlU2VsZWN0b3I6OmluY2hM
ZW5ndGgoZG91YmxlIGluY2gpIGNvbnN0CitMZW5ndGgmIENTU1N0eWxlU2VsZWN0b3I6OmluY2hM
ZW5ndGgoZG91YmxlIGluY2gpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIExlbmd0aChDU1NQcmltaXRp
dmVWYWx1ZTo6Y3JlYXRlKGluY2gsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfSU4pLT5jb21wdXRl
TGVuZ3RoSW50Rm9yTGVuZ3RoKHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSksIEZpeGVkKTsK
KyAgICByZXR1cm4gKm5ldyBMZW5ndGgoQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShpbmNoLCBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0lOKS0+Y29tcHV0ZUxlbmd0aEludEZvckxlbmd0aChzdHls
ZSgpLCBtX3Jvb3RFbGVtZW50U3R5bGUpLCBGaXhlZCk7CiB9CiAKIHZvaWQgQ1NTU3R5bGVTZWxl
Y3Rvcjo6bWFwRmlsbEF0dGFjaG1lbnQoQ1NTUHJvcGVydHlJRCwgRmlsbExheWVyKiBsYXllciwg
Q1NTVmFsdWUqIHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxl
U2VsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKaW5kZXgg
YTYxODMxNDcwYTk1NjZlMjlmZWFkOGIwYmE5NzBhYzA5NzQ3ZDRkMy4uNjhjNmNjZDQ5MjcxZWMz
MzQzYmMxZTA3NDZiMDRkZjkxMTVmODZkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxl
Y3Rvci5oCkBAIC0yNzcsNiArMjc3LDkgQEAgcHVibGljOgogICAgICAgICAgICAgbXV0YWJsZSBI
YXNoU2V0PExpbmtIYXNoLCBMaW5rSGFzaEhhc2g+IG1fbGlua3NDaGVja2VkRm9yVmlzaXRlZFN0
YXRlOwogICAgICAgICB9OwogCisgICAgICAgIHN0YXRpYyBMZW5ndGggY29udmVydFRvSW50TGVu
Z3RoKENTU1ByaW1pdGl2ZVZhbHVlKiwgUmVuZGVyU3R5bGUqLCBSZW5kZXJTdHlsZSogcm9vdFN0
eWxlLCBkb3VibGUgbXVsdGlwbGllciA9IDEsIGJvb2wgKm9rID0gMCk7CisgICAgICAgIHN0YXRp
YyBMZW5ndGggY29udmVydFRvRmxvYXRMZW5ndGgoQ1NTUHJpbWl0aXZlVmFsdWUqLCBSZW5kZXJT
dHlsZSosIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSBtdWx0aXBsaWVyID0gMSwgYm9v
bCAqb2sgPSAwKTsKKwogICAgIHByaXZhdGU6CiAgICAgICAgIHN0YXRpYyBSZW5kZXJTdHlsZSog
c19zdHlsZU5vdFlldEF2YWlsYWJsZTsKIApAQCAtMzEwLDggKzMxMyw4IEBAIHB1YmxpYzoKICAg
ICAgICAgdm9pZCBhcHBseVByb3BlcnR5KGludCBpZCwgQ1NTVmFsdWUqKTsKICAgICAgICAgdm9p
ZCBhcHBseVBhZ2VTaXplUHJvcGVydHkoQ1NTVmFsdWUqKTsKICAgICAgICAgYm9vbCBwYWdlU2l6
ZUZyb21OYW1lKENTU1ByaW1pdGl2ZVZhbHVlKiwgQ1NTUHJpbWl0aXZlVmFsdWUqLCBMZW5ndGgm
IHdpZHRoLCBMZW5ndGgmIGhlaWdodCk7Ci0gICAgICAgIExlbmd0aCBtbUxlbmd0aChkb3VibGUg
bW0pIGNvbnN0OwotICAgICAgICBMZW5ndGggaW5jaExlbmd0aChkb3VibGUgaW5jaCkgY29uc3Q7
CisgICAgICAgIExlbmd0aCYgbW1MZW5ndGgoZG91YmxlIG1tKSBjb25zdDsKKyAgICAgICAgTGVu
Z3RoJiBpbmNoTGVuZ3RoKGRvdWJsZSBpbmNoKSBjb25zdDsKICNpZiBFTkFCTEUoU1ZHKQogICAg
ICAgICB2b2lkIGFwcGx5U1ZHUHJvcGVydHkoaW50IGlkLCBDU1NWYWx1ZSopOwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZS5oCmluZGV4IGRlNDZmZjllYTExN2UxMzQ3MDYyNjA0ODJjNDIxODQ4ZTRh
ZTdhMDkuLmEzNDYxYWFhMWQ3M2JkMGM1MGNiN2M4ZDg2OTcyZDJjMzFmMjdmMTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NWYWx1ZS5oCkBAIC02Niw3ICs2Niw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wg
aXNWYWx1ZUxpc3QoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBp
c1dlYktpdENTU1RyYW5zZm9ybVZhbHVlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2
aXJ0dWFsIGJvb2wgaXNDU1NMaW5lQm94Q29udGFpblZhbHVlKCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KLSAgICAKKyAgICB2aXJ0dWFsIGJvb2wgaXNDYWxjVmFsdWUoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQorCiAjaWYgRU5BQkxFKFNWRykKICAgICB2aXJ0dWFsIGJvb2wgaXNTVkdDb2xv
cigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzU1ZHUGFpbnQo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vQ2FsY1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNmFiODUyYzdmMTkzY2VmMzg0NTUyY2RiN2FlNWFjN2ViZWMwNjAzYwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5jcHAK
QEAgLTAsMCArMSwxMDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ2FsY1ZhbHVl
LmgiCisKKyNpbmNsdWRlIDxsaW1pdHM+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworQ2FsY0Jp
bmFyeU9wZXJhdGlvblZhbHVlOjpDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWUoUGFzc093blB0cjxD
YWxjVmFsdWU+IGxlZnRTaWRlLCBQYXNzT3duUHRyPENhbGNWYWx1ZT4gcmlnaHRTaWRlLCBjaGFy
IG9wKQorICAgIDogbV9sZWZ0U2lkZShsZWZ0U2lkZSkKKyAgICAsIG1fcmlnaHRTaWRlKHJpZ2h0
U2lkZSkKKyAgICAsIG1fb3BlcmF0b3Iob3ApCit7CisgICAgQVNTRVJUKG9wID09ICcrJyB8fCBv
cCA9PSAnLScgfHwgb3AgPT0gJyonIHx8IG9wID09ICcvJyB8fCBvcCA9PSAnJScpOworfQorCitm
bG9hdCBDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWU6OmV2YWx1YXRlKGZsb2F0IG1heFZhbHVlKSBj
b25zdAoreworICAgIGZsb2F0IGxlZnQgPSBtX2xlZnRTaWRlLT5ldmFsdWF0ZShtYXhWYWx1ZSk7
CisgICAgZmxvYXQgcmlnaHQgPSBtX3JpZ2h0U2lkZS0+ZXZhbHVhdGUobWF4VmFsdWUpOworICAg
IHN3aXRjaCAobV9vcGVyYXRvcikgeworICAgIGNhc2UgJysnOgorICAgICAgICByZXR1cm4gbGVm
dCArIHJpZ2h0OworICAgIGNhc2UgJy0nOgorICAgICAgICByZXR1cm4gbGVmdCAtIHJpZ2h0Owor
ICAgIGNhc2UgJyonOgorICAgICAgICByZXR1cm4gbGVmdCAqIHJpZ2h0OworICAgIGNhc2UgJy8n
OgorICAgICAgICBpZiAoIXJpZ2h0KQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19s
aW1pdHM8ZmxvYXQ+OjpxdWlldF9OYU4oKTsKKyAgICAgICAgcmV0dXJuIGxlZnQgLyByaWdodDsK
KyAgICBjYXNlICclJzoKKyAgICAgICAgaWYgKCFyaWdodCkKKyAgICAgICAgICAgIHJldHVybiBz
dGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6cXVpZXRfTmFOKCk7CisgICAgICAgIHJldHVybiBz
dGF0aWNfY2FzdDxpbnQ+KGxlZnQpICUgc3RhdGljX2Nhc3Q8aW50PihyaWdodCk7CisgICAgZGVm
YXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBzdGQ6
Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6cXVpZXRfTmFOKCk7CisgICAgfQorfQorCitDYWxjTWlu
TWF4VmFsdWVMaXN0OjpDYWxjTWluTWF4VmFsdWVMaXN0KFR5cGUgdHlwZSkKKyAgICA6IG1fdHlw
ZSh0eXBlKQorICAgICwgbV9saXN0KCkKK3sKK30KKwordm9pZCBDYWxjTWluTWF4VmFsdWVMaXN0
OjphcHBlbmQoUGFzc093blB0cjxDYWxjVmFsdWU+IHZhbHVlKQoreworICAgIG1fbGlzdC5hcHBl
bmQodmFsdWUpOworfQorCitmbG9hdCBDYWxjTWluTWF4VmFsdWVMaXN0OjpldmFsdWF0ZShmbG9h
dCBtYXhWYWx1ZSkgY29uc3QKK3sKKyAgICBpZiAobV9saXN0LmlzRW1wdHkoKSkKKyAgICAgICAg
cmV0dXJuIDA7CisKKyAgICAKKyAgICBmbG9hdCByZXR2YWw7CisgICAgaWYgKG1fdHlwZSA9PSBN
SU4pIHsKKyAgICAgICAgcmV0dmFsID0gbV9saXN0WzBdLT5ldmFsdWF0ZShtYXhWYWx1ZSk7Cisg
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkgPCBtX2xpc3Quc2l6ZSgpOyArK2kpIHsKKyAg
ICAgICAgICAgIGZsb2F0IGN1cnJlbnQgPSBtX2xpc3RbaV0tPmV2YWx1YXRlKG1heFZhbHVlKTsK
KyAgICAgICAgICAgIGlmIChjdXJyZW50IDwgcmV0dmFsKQorICAgICAgICAgICAgICAgIHJldHZh
bCA9IGN1cnJlbnQ7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICByZXR2YWwgPSBt
X2xpc3RbMF0tPmV2YWx1YXRlKG1heFZhbHVlKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
MTsgaSA8IG1fbGlzdC5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgZmxvYXQgY3VycmVudCA9
IG1fbGlzdFtpXS0+ZXZhbHVhdGUobWF4VmFsdWUpOworICAgICAgICAgICAgaWYgKGN1cnJlbnQg
PiByZXR2YWwpCisgICAgICAgICAgICAgICAgcmV0dmFsID0gY3VycmVudDsKKyAgICAgICAgfQor
ICAgIH0KKworICAgIHJldHVybiByZXR2YWw7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWEyZDQ5YjQwMmY4ZDJj
NjllNDM1Mjc4ZGNlYTdiODFkZDcyZGY0YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5oCkBAIC0wLDAgKzEsMTE3IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDYWxjVmFs
dWVfaAorI2RlZmluZSBDYWxjVmFsdWVfaAorCisjaW5jbHVkZSAiTGVuZ3RoLmgiCisjaW5jbHVk
ZSA8d3RmL093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENhbGNWYWx1ZSB7
CitwdWJsaWM6CisgICAgZW51bSBVbml0Q2F0ZWdvcnkgeworICAgICAgICBVTnVtYmVyLAorICAg
ICAgICBVUGVyY2VudCwKKyAgICAgICAgVUxlbmd0aCwKKyAgICAgICAgVU90aGVyCisgICAgfTsK
KyAgICAKKyAgICB2aXJ0dWFsIH5DYWxjVmFsdWUoKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0
dWFsIGZsb2F0IGV2YWx1YXRlKGZsb2F0IG1heFZhbHVlKSBjb25zdCA9IDA7Cit9OworCitjbGFz
cyBDYWxjTnVtYmVyVmFsdWUgOiBwdWJsaWMgQ2FsY1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBleHBs
aWNpdCBDYWxjTnVtYmVyVmFsdWUoZmxvYXQgdmFsdWUpCisgICAgICAgIDogbV92YWx1ZSh2YWx1
ZSkKKyAgICB7CisgICAgfQorCisgICAgdmlydHVhbCBmbG9hdCBldmFsdWF0ZShmbG9hdCkgY29u
c3QgCisgICAgeworICAgICAgICByZXR1cm4gbV92YWx1ZTsKKyAgICB9CisgICAgCitwcml2YXRl
OgorICAgIGZsb2F0IG1fdmFsdWU7Cit9OworCitjbGFzcyBDYWxjTGVuZ3RoVmFsdWUgOiBwdWJs
aWMgQ2FsY1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBDYWxjTGVuZ3RoVmFsdWUoTGVu
Z3RoIGxlbmd0aCkKKyAgICAgICAgOiBtX2xlbmd0aChsZW5ndGgpCisgICAgeworICAgIH0KKwor
ICAgIHZpcnR1YWwgZmxvYXQgZXZhbHVhdGUoZmxvYXQgbWF4VmFsdWUpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gbV9sZW5ndGguY2FsY1ZhbHVlKG1heFZhbHVlKTsKKyAgICB9CisgICAg
Citwcml2YXRlOgorICAgIExlbmd0aCBtX2xlbmd0aDsKK307CisKK2NsYXNzIENhbGNCaW5hcnlP
cGVyYXRpb25WYWx1ZSA6IHB1YmxpYyBDYWxjVmFsdWUgeworcHVibGljOgorICAgIENhbGNCaW5h
cnlPcGVyYXRpb25WYWx1ZShQYXNzT3duUHRyPENhbGNWYWx1ZT4gbGVmdFNpZGUsIFBhc3NPd25Q
dHI8Q2FsY1ZhbHVlPiByaWdodFNpZGUsIGNoYXIgb3ApOworCisgICAgdmlydHVhbCBmbG9hdCBl
dmFsdWF0ZShmbG9hdCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgT3duUHRyPENhbGNWYWx1ZT4g
bV9sZWZ0U2lkZTsKKyAgICBPd25QdHI8Q2FsY1ZhbHVlPiBtX3JpZ2h0U2lkZTsKKyAgICBjaGFy
IG1fb3BlcmF0b3I7Cit9OworCitjbGFzcyBDYWxjTWluTWF4VmFsdWVMaXN0IDogcHVibGljIENh
bGNWYWx1ZSB7CitwdWJsaWM6CisgICAgZW51bSBUeXBlIHsgTUlOLCBNQVggfTsKKworICAgIGV4
cGxpY2l0IENhbGNNaW5NYXhWYWx1ZUxpc3QoVHlwZSk7CisgICAgdm9pZCBhcHBlbmQoUGFzc093
blB0cjxDYWxjVmFsdWU+KTsKKworICAgIHZpcnR1YWwgZmxvYXQgZXZhbHVhdGUoZmxvYXQpIGNv
bnN0OworCitwcml2YXRlOgorICAgIFR5cGUgbV90eXBlOworICAgIFZlY3RvcjxPd25QdHI8Q2Fs
Y1ZhbHVlPiA+IG1fbGlzdDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIENhbGNWYWx1ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5n
dGguY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmNwcAppbmRleCAyMTY5ZDk5
NTMxNzQxYjQyNmE3ZjJkNmFiNGNmNTM2NTI1YjczMzY2Li5iOTg4N2M0OThiYWZlY2FlMzJkZGFm
YzJmNzU3OTYwMzMxYjdiMzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9M
ZW5ndGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5jcHAKQEAgLTI1
LDEwICsyNSwxNCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkxlbmd0aC5oIgog
CisjaW5jbHVkZSAiQ2FsY1ZhbHVlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNp
bmNsdWRlIDxtYXRoLmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNpbmNsdWRlIDx3
dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3Rm
L093bkFycmF5UHRyLmg+CisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oPgogCiB1c2luZyBuYW1lc3BhY2UgV1RGOwpAQCAtMTQ4
LDUgKzE1MiwxMzMgQEAgUGFzc093bkFycmF5UHRyPExlbmd0aD4gbmV3TGVuZ3RoQXJyYXkoY29u
c3QgU3RyaW5nJiBzdHJpbmcsIGludCYgbGVuKQogCiAgICAgcmV0dXJuIHIucmVsZWFzZSgpOwog
fQorICAgICAgIAorY2xhc3MgQ2FsY3VsYXRlZExlbmd0aCA6IHB1YmxpYyBSZWZDb3VudGVkPENh
bGN1bGF0ZWRMZW5ndGg+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxDYWxjdWxh
dGVkTGVuZ3RoPiBjcmVhdGUoUGFzc093blB0cjxDYWxjVmFsdWU+IGNhbGMpIAorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYWxjdWxhdGVkTGVuZ3RoKGNhbGMpKTsKKyAgICB9
CisgICAgCisgICAgZmxvYXQgZXZhbHVhdGUoZmxvYXQgbWF4VmFsdWUpIGNvbnN0CisgICAgewor
ICAgICAgICBmbG9hdCByZXN1bHQgPSBtX2NhbGMtPmV2YWx1YXRlKG1heFZhbHVlKTsKKyAgICAg
ICAgLy8gRklYTUU6IHJlc3VsdCBpcyBOYU4gd2hlbiB0aGVyZSBpcyBhIGRpdmlzaW9uIGJ5IHpl
cm8gd2hpY2gKKyAgICAgICAgLy8gICAgICAgIGlzbid0IGZvdW5kIGF0IHBhcnNlIHRpbWUgKGUu
Zy4sIDUvKDEwMCUtMjAwcHgpKjEwMHB4KS4KKyAgICAgICAgLy8gICAgICAgIFRoZXJlIGlzIGEg
ZGlzY3Vzc2lvbiBhYm91dCB0aGlzIGFuZCBob3BlZnVsbHkgc3BlYworICAgICAgICAvLyAgICAg
ICAgd2lsbCBoYXZlIHRoZSBkZWNpc2lvbiBmb3IgdGhpcyBpc3N1ZS4KKyAgICAgICAgLy8gICAg
ICAgIGh0dHA6Ly9saXN0cy53My5vcmcvQXJjaGl2ZXMvUHVibGljL3d3dy1zdHlsZS8yMDEwSmFu
LzAwMDcuaHRtbAorICAgICAgICBpZiAoaXNuYW4ocmVzdWx0KSkKKyAgICAgICAgICAgIHJldHVy
biAwOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyAgICAKK3ByaXZhdGU6CisgICAg
ZXhwbGljaXQgQ2FsY3VsYXRlZExlbmd0aChQYXNzT3duUHRyPENhbGNWYWx1ZT4gY2FsYykKKyAg
ICAgICAgOiBtX2NhbGMoY2FsYykKKyAgICB7CisgICAgfQorICAgIAorICAgIE93blB0cjxDYWxj
VmFsdWU+IG1fY2FsYzsKK307CisKKy8vIEFzIExlbmd0aCBvbmx5IGhhcyAzMmJpdCwgd2UgY2Fu
bm90IGhhdmUgdGhlIGRhdGEgZm9yIGNhbGMoKSBpbiB0aGUKKy8vIExlbmd0aCBvYmplY3QuIFNv
LCB3ZSBnaXZlIHNlcmlhbCBJRHMsIHdoZXJlIDAgPCBJRCA8PSBtYXhDYWxjdWxhdGVkTGVuZ3Ro
SWRNYXNrLAorLy8gZm9yIGVhY2ggZGF0YSBhbmQgYWNjZXNzIHRoZSBkYXRhIHVzaW5nIHRoaXMg
SUQuCit0eXBlZGVmIHVuc2lnbmVkIGxlbmd0aE1hcEtleVR5cGU7ICAgIAordHlwZWRlZiBIYXNo
TWFwPGxlbmd0aE1hcEtleVR5cGUsIFJlZlB0cjxDYWxjdWxhdGVkTGVuZ3RoPiA+IENhbGN1bGF0
ZWRMZW5ndGhNYXA7CitzdGF0aWMgQ2FsY3VsYXRlZExlbmd0aE1hcCogZ0NhbGN1bGF0ZWRMZW5n
dGhNYXAgPSAwOworICAgIAorc3RhdGljIENhbGN1bGF0ZWRMZW5ndGhNYXAqIGNhbGN1bGF0ZWRM
ZW5ndGhNYXAoKQoreworICAgIGlmICghZ0NhbGN1bGF0ZWRMZW5ndGhNYXApCisgICAgICAgIGdD
YWxjdWxhdGVkTGVuZ3RoTWFwID0gbmV3IENhbGN1bGF0ZWRMZW5ndGhNYXA7CisgICAgcmV0dXJu
IGdDYWxjdWxhdGVkTGVuZ3RoTWFwOworfQorCitzdGF0aWMgbGVuZ3RoTWFwS2V5VHlwZSBnQ2Fs
Y3VsYXRlZExlbmd0aElkID0gMTsKKworTGVuZ3RoOjpMZW5ndGgoUGFzc093blB0cjxDYWxjVmFs
dWU+IGNhbGMpCisgICAgOiBtX3F1aXJrKGZhbHNlKSwgbV90eXBlKENhbGN1bGF0ZWQpLCBtX2lz
RmxvYXQoZmFsc2UpCit7CisgICAgLy8gU2tpcCBnQ2FsY3VsYXRlZExlbmd0aElkID09IDAgYXMg
emVybyBrZXkgaGl0cyB0aGUgYXNzZXJ0aW9uIG9mIEhhc2hNYXAuCisgICAgd2hpbGUgKCFnQ2Fs
Y3VsYXRlZExlbmd0aElkIHx8IGNhbGN1bGF0ZWRMZW5ndGhNYXAoKS0+Y29udGFpbnMoZ0NhbGN1
bGF0ZWRMZW5ndGhJZCkpCisgICAgICAgIGdDYWxjdWxhdGVkTGVuZ3RoSWQrKzsKKyAgICBtX2lu
dFZhbHVlID0gZ0NhbGN1bGF0ZWRMZW5ndGhJZDsKKyAgICBnQ2FsY3VsYXRlZExlbmd0aElkKys7
CisgICAgCisgICAgUmVmUHRyPENhbGN1bGF0ZWRMZW5ndGg+IGNhbGNMZW5ndGggPSBDYWxjdWxh
dGVkTGVuZ3RoOjpjcmVhdGUoY2FsYyk7CisgICAgY2FsY3VsYXRlZExlbmd0aE1hcCgpLT5zZXQo
Y2FsY3VsYXRlZExlbmd0aElkKCksIGNhbGNMZW5ndGgpOyAgICAKK30KKworLy8gRklYTUU6IEl0
J3MgaW1wb3NzaWJsZSB0byBrbm93IHRoZSBzaWduIG9mIGNhbGMgdmFsdWVzIHdpdGhvdXQKKy8v
ICAgICAgICBtYXggdmFsdWUgaWYgdGhlIGNhbGMgZm9ybXVsYSBjb250YWlucyBwZXJjZW50YWdl
cy4KKy8vICAgICAgICBXZSBhc3N1bWUgYWxsIGNhbGMgdmFsdWVzIGFyZSBwb3NpdGl2ZSBmb3Ig
bm93LgorCitib29sIExlbmd0aDo6Y2FsY3VsYXRlZElzWmVybygpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGZhbHNlOworfQorCitib29sIExlbmd0aDo6Y2FsY3VsYXRlZElzUG9zaXRpdmUoKSBjb25z
dAoreworICAgIHJldHVybiB0cnVlOworfQorCitib29sIExlbmd0aDo6Y2FsY3VsYXRlZElzTmVn
YXRpdmUoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworaW50IExlbmd0aDo6Y2Fs
Y3VsYXRlZENhbGNWYWx1ZShpbnQgbWF4VmFsdWUsIGJvb2wgLyogcm91bmRQZXJjZW50YWdlcyAq
LykgY29uc3QKK3sKKyAgICBBU1NFUlQoaXNDYWxjdWxhdGVkKCkpOworICAgIEFTU0VSVChjYWxj
dWxhdGVkTGVuZ3RoTWFwKCktPmNvbnRhaW5zKGNhbGN1bGF0ZWRMZW5ndGhJZCgpKSk7CisgICAg
UmVmUHRyPENhbGN1bGF0ZWRMZW5ndGg+IGNhbGNMZW5ndGggPSBjYWxjdWxhdGVkTGVuZ3RoTWFw
KCktPmdldChjYWxjdWxhdGVkTGVuZ3RoSWQoKSk7CisgICAgZmxvYXQgcmVzdWx0ID0gY2FsY0xl
bmd0aC0+ZXZhbHVhdGUobWF4VmFsdWUpOworICAgIGlmIChpc25hbihyZXN1bHQpKQorICAgICAg
ICByZXR1cm4gMDsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitpbnQgTGVuZ3RoOjpjYWxjdWxh
dGVkQ2FsY01pblZhbHVlKGludCBtYXhWYWx1ZSwgYm9vbCAvKiByb3VuZFBlcmNlbnRhZ2VzICov
KSBjb25zdAoreworICAgIEFTU0VSVChpc0NhbGN1bGF0ZWQoKSk7CisgICAgQVNTRVJUKGNhbGN1
bGF0ZWRMZW5ndGhNYXAoKS0+Y29udGFpbnMoY2FsY3VsYXRlZExlbmd0aElkKCkpKTsKKyAgICBS
ZWZQdHI8Q2FsY3VsYXRlZExlbmd0aD4gY2FsY0xlbmd0aCA9IGNhbGN1bGF0ZWRMZW5ndGhNYXAo
KS0+Z2V0KGNhbGN1bGF0ZWRMZW5ndGhJZCgpKTsKKyAgICBmbG9hdCByZXN1bHQgPSBjYWxjTGVu
Z3RoLT5ldmFsdWF0ZShtYXhWYWx1ZSk7CisgICAgaWYgKGlzbmFuKHJlc3VsdCkpCisgICAgICAg
IHJldHVybiAwOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2Zsb2F0IExlbmd0aDo6Y2FsY3Vs
YXRlZENhbGNGbG9hdFZhbHVlKGludCBtYXhWYWx1ZSkgY29uc3QKK3sKKyAgICBBU1NFUlQoaXND
YWxjdWxhdGVkKCkpOworICAgIEFTU0VSVChjYWxjdWxhdGVkTGVuZ3RoTWFwKCktPmNvbnRhaW5z
KGNhbGN1bGF0ZWRMZW5ndGhJZCgpKSk7CisgICAgUmVmUHRyPENhbGN1bGF0ZWRMZW5ndGg+IGNh
bGNMZW5ndGggPSBjYWxjdWxhdGVkTGVuZ3RoTWFwKCktPmdldChjYWxjdWxhdGVkTGVuZ3RoSWQo
KSk7CisgICAgZmxvYXQgcmVzdWx0ID0gY2FsY0xlbmd0aC0+ZXZhbHVhdGUobWF4VmFsdWUpOwor
ICAgIGlmIChpc25hbihyZXN1bHQpKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gcmVz
dWx0OworfQorCit2b2lkIExlbmd0aDo6aW5jcmVtZW50Q2FsY3VsYXRlZFJlZigpIGNvbnN0Cit7
CisgICAgQVNTRVJUKGlzQ2FsY3VsYXRlZCgpKTsKKyAgICBBU1NFUlQoY2FsY3VsYXRlZExlbmd0
aE1hcCgpLT5jb250YWlucyhjYWxjdWxhdGVkTGVuZ3RoSWQoKSkpOworICAgIFJlZlB0cjxDYWxj
dWxhdGVkTGVuZ3RoPiBjYWxjTGVuZ3RoID0gY2FsY3VsYXRlZExlbmd0aE1hcCgpLT5nZXQoY2Fs
Y3VsYXRlZExlbmd0aElkKCkpOworICAgIGNhbGNMZW5ndGgtPnJlZigpOworfQorCit2b2lkIExl
bmd0aDo6ZGVjcmVtZW50Q2FsY3VsYXRlZFJlZigpIGNvbnN0Cit7CisgICAgQVNTRVJUKGlzQ2Fs
Y3VsYXRlZCgpKTsKKyAgICBBU1NFUlQoY2FsY3VsYXRlZExlbmd0aE1hcCgpLT5jb250YWlucyhj
YWxjdWxhdGVkTGVuZ3RoSWQoKSkpOworICAgIFJlZlB0cjxDYWxjdWxhdGVkTGVuZ3RoPiBjYWxj
TGVuZ3RoID0gY2FsY3VsYXRlZExlbmd0aE1hcCgpLT5nZXQoY2FsY3VsYXRlZExlbmd0aElkKCkp
OworICAgIGlmIChjYWxjTGVuZ3RoLT5oYXNPbmVSZWYoKSkKKyAgICAgICAgY2FsY3VsYXRlZExl
bmd0aE1hcCgpLT5yZW1vdmUoY2FsY3VsYXRlZExlbmd0aElkKCkpOworICAgIGNhbGNMZW5ndGgt
PmRlcmVmKCk7Cit9ICAgIAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0xlbmd0aC5oCmluZGV4IDJjOWZhYmM1ZWU2MzUzNDU3YWZjMDczOWFiZmJlMTc3OTY4ZDE4NjUu
LjRlM2IzODljMjIyOGM1YWE5MTBlZTJlOTMyNjc2NWY1Yjg3OTkyMTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0xlbmd0aC5oCkBAIC0yNyw2ICsyNyw4IEBACiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duQXJyYXlQ
dHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0zNCw3ICszNiw5IEBAIGNvbnN0IGludCB1
bmRlZmluZWRMZW5ndGggPSAtMTsKIGNvbnN0IGludCBpbnRNYXhGb3JMZW5ndGggPSAweDdmZmZm
ZmY7IC8vIG1heCB2YWx1ZSBmb3IgYSAyOC1iaXQgaW50CiBjb25zdCBpbnQgaW50TWluRm9yTGVu
Z3RoID0gKC0weDdmZmZmZmYgLSAxKTsgLy8gbWluIHZhbHVlIGZvciBhIDI4LWJpdCBpbnQKIAot
ZW51bSBMZW5ndGhUeXBlIHsgQXV0bywgUmVsYXRpdmUsIFBlcmNlbnQsIEZpeGVkLCBJbnRyaW5z
aWMsIE1pbkludHJpbnNpYyB9OworZW51bSBMZW5ndGhUeXBlIHsgQXV0bywgUmVsYXRpdmUsIFBl
cmNlbnQsIEZpeGVkLCBJbnRyaW5zaWMsIE1pbkludHJpbnNpYywgQ2FsY3VsYXRlZCB9OworCitj
bGFzcyBDYWxjVmFsdWU7CiAKIHN0cnVjdCBMZW5ndGggewogICAgIFdURl9NQUtFX0ZBU1RfQUxM
T0NBVEVEOwpAQCAtNTMsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAgICAgIDogbV9pbnRWYWx1ZSh2
KSwgbV9xdWlyayhxKSwgbV90eXBlKHQpLCBtX2lzRmxvYXQoZmFsc2UpCiAgICAgewogICAgIH0K
LSAgICAKKwogICAgIExlbmd0aChmbG9hdCB2LCBMZW5ndGhUeXBlIHQsIGJvb2wgcSA9IGZhbHNl
KQogICAgIDogbV9mbG9hdFZhbHVlKHYpLCBtX3F1aXJrKHEpLCBtX3R5cGUodCksIG1faXNGbG9h
dCh0cnVlKQogICAgIHsgICAgICAgICAgICAKQEAgLTYxLDkgKzY1LDI4IEBAIHB1YmxpYzoKIAog
ICAgIExlbmd0aChkb3VibGUgdiwgTGVuZ3RoVHlwZSB0LCBib29sIHEgPSBmYWxzZSkKICAgICAg
ICAgOiBtX3F1aXJrKHEpLCBtX3R5cGUodCksIG1faXNGbG9hdCh0cnVlKQotICAgIHsgICAgICAg
ICAgIAotICAgICAgICBtX2Zsb2F0VmFsdWUgPSBzdGF0aWNfY2FzdDxmbG9hdD4odik7ICAgIAor
ICAgIHsKKyAgICAgICAgICAgIG1fZmxvYXRWYWx1ZSA9IHN0YXRpY19jYXN0PGZsb2F0Pih2KTsK
KyAgICAgICB9CisKKyAgICBleHBsaWNpdCBMZW5ndGgoUGFzc093blB0cjxDYWxjVmFsdWU+KTsK
KworICAgIExlbmd0aChjb25zdCBMZW5ndGgmIGxlbmd0aCkKKyAgICB7CisgICAgICAgIGluaXRG
cm9tTGVuZ3RoKGxlbmd0aCk7CisgICAgfQorICAgIAorICAgIExlbmd0aCYgb3BlcmF0b3I9KGNv
bnN0IExlbmd0aCYgbGVuZ3RoKQorICAgIHsKKyAgICAgICAgaW5pdEZyb21MZW5ndGgobGVuZ3Ro
KTsKKyAgICAgICAgcmV0dXJuICp0aGlzOwogICAgIH0KKyAgICAKKyAgICB+TGVuZ3RoKCkKKyAg
ICB7CisgICAgICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAgIGRlY3JlbWVudENh
bGN1bGF0ZWRSZWYoKTsKKyAgICB9ICAgCiAKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgTGVu
Z3RoJiBvKSBjb25zdCB7IHJldHVybiAoZ2V0RmxvYXRWYWx1ZSgpID09IG8uZ2V0RmxvYXRWYWx1
ZSgpKSAmJiAobV90eXBlID09IG8ubV90eXBlKSAmJiAobV9xdWlyayA9PSBvLm1fcXVpcmspOyB9
CiAgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IExlbmd0aCYgbykgY29uc3QgeyByZXR1cm4gKGdl
dEZsb2F0VmFsdWUoKSAhPSBvLmdldEZsb2F0VmFsdWUoKSkgfHwgKG1fdHlwZSAhPSBvLm1fdHlw
ZSkgfHwgKG1fcXVpcmsgIT0gby5tX3F1aXJrKTsgfQpAQCAtNzksMTAgKzEwMiwxOSBAQCBwdWJs
aWM6CiAgICAgfQogICAgIAogICAgIGludCB2YWx1ZSgpIGNvbnN0IHsKKyAgICAgICAgaWYgKGlz
Q2FsY3VsYXRlZCgpKQorICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZExlbmd0aDsKKyAgICAg
ICAgIHJldHVybiBnZXRJbnRWYWx1ZSgpOworICAgIH0KKyAgICAKKyAgICBpbnQgcmF3VmFsdWUo
KSBjb25zdCAKKyAgICB7IAorICAgICAgICBpZiAoaXNDYWxjdWxhdGVkKCkpCisgICAgICAgICAg
ICByZXR1cm4gdW5kZWZpbmVkTGVuZ3RoOwogICAgICAgICByZXR1cm4gZ2V0SW50VmFsdWUoKTsK
ICAgICB9CiAKLSAgICBmbG9hdCBwZXJjZW50KCkgY29uc3QKKyAgICBkb3VibGUgcGVyY2VudCgp
IGNvbnN0CiAgICAgewogICAgICAgICBBU1NFUlQodHlwZSgpID09IFBlcmNlbnQpOwogICAgICAg
ICByZXR1cm4gZ2V0RmxvYXRWYWx1ZSgpOwpAQCAtMTAwLDYgKzEzMiw4IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgc2V0VmFsdWUoaW50IHZhbHVlKQogICAgIHsKKyAgICAgICAgaWYgKGlzQ2FsY3Vs
YXRlZCgpKQorICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBzZXRWYWx1ZShGaXhlZCwgdmFs
dWUpOwogICAgIH0KIApAQCAtMTI3LDYgKzE2MSw4IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50PihtYXhWYWx1ZSAqIHBlcmNlbnQoKSAvIDEwMC4wKTsK
ICAgICAgICAgICAgIGNhc2UgQXV0bzoKICAgICAgICAgICAgICAgICByZXR1cm4gbWF4VmFsdWU7
CisgICAgICAgICAgICBjYXNlIENhbGN1bGF0ZWQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIGNh
bGN1bGF0ZWRDYWxjVmFsdWUobWF4VmFsdWUsIHJvdW5kUGVyY2VudGFnZXMpOyAgICAgICAgICAg
ICAgICAKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVm
aW5lZExlbmd0aDsKICAgICAgICAgfQpAQCAtMTQxLDYgKzE3Nyw4IEBAIHB1YmxpYzoKICAgICAg
ICAgICAgICAgICBpZiAocm91bmRQZXJjZW50YWdlcykKICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIHN0YXRpY19jYXN0PGludD4ocm91bmQobWF4VmFsdWUgKiBwZXJjZW50KCkgLyAxMDAuMCkp
OwogICAgICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KG1heFZhbHVlICogcGVy
Y2VudCgpIC8gMTAwLjApOworICAgICAgICAgICAgY2FzZSBDYWxjdWxhdGVkOgorICAgICAgICAg
ICAgICAgIHJldHVybiBjYWxjdWxhdGVkQ2FsY01pblZhbHVlKG1heFZhbHVlLCByb3VuZFBlcmNl
bnRhZ2VzKTsgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICBjYXNlIEF1dG86CiAgICAgICAg
ICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIHJldHVybiAwOwpAQCAtMTU2LDI1ICsxOTQs
MzQgQEAgcHVibGljOgogICAgICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxmbG9hdD4o
bWF4VmFsdWUgKiBwZXJjZW50KCkgLyAxMDAuMCk7CiAgICAgICAgICAgICBjYXNlIEF1dG86CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGZsb2F0PihtYXhWYWx1ZSk7CisgICAg
ICAgICAgICBjYXNlIENhbGN1bGF0ZWQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGN1bGF0
ZWRDYWxjRmxvYXRWYWx1ZShtYXhWYWx1ZSk7ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ZGVmYXVsdDoKICAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHVuZGVm
aW5lZExlbmd0aCk7CiAgICAgICAgIH0KICAgICB9CiAKICAgICBib29sIGlzVW5kZWZpbmVkKCkg
Y29uc3QgeyByZXR1cm4gdmFsdWUoKSA9PSB1bmRlZmluZWRMZW5ndGg7IH0KKwogICAgIGJvb2wg
aXNaZXJvKCkgY29uc3QgCiAgICAgeyAKLSAgICAgICAgcmV0dXJuIG1faXNGbG9hdCA/ICFtX2Zs
b2F0VmFsdWUgOiAhbV9pbnRWYWx1ZTsKKyAgICAgICAgcmV0dXJuIGlzQ2FsY3VsYXRlZCgpID8g
Y2FsY3VsYXRlZElzWmVybygpIDogbV9pc0Zsb2F0ID8gIW1fZmxvYXRWYWx1ZSA6ICFtX2ludFZh
bHVlOworICAgIH0KKyAgICBib29sIGlzUG9zaXRpdmUoKSBjb25zdAorICAgIHsKKyAgICAgICAg
cmV0dXJuIGlzQ2FsY3VsYXRlZCgpID8gY2FsY3VsYXRlZElzUG9zaXRpdmUoKSA6IGdldEZsb2F0
VmFsdWUoKSA+IDA7CisgICAgfQorICAgIGJvb2wgaXNOZWdhdGl2ZSgpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gaXNDYWxjdWxhdGVkKCkgPyBjYWxjdWxhdGVkSXNOZWdhdGl2ZSgpIDog
Z2V0RmxvYXRWYWx1ZSgpIDwgMDsKICAgICB9Ci0gICAgCi0gICAgYm9vbCBpc1Bvc2l0aXZlKCkg
Y29uc3QgeyByZXR1cm4gZ2V0RmxvYXRWYWx1ZSgpID4gMDsgfQotICAgIGJvb2wgaXNOZWdhdGl2
ZSgpIGNvbnN0IHsgcmV0dXJuIGdldEZsb2F0VmFsdWUoKSA8IDA7IH0KIAogICAgIGJvb2wgaXNB
dXRvKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IEF1dG87IH0KICAgICBib29sIGlzUmVsYXRp
dmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gUmVsYXRpdmU7IH0KLSAgICBib29sIGlzUGVy
Y2VudCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBQZXJjZW50OyB9CisgICAgYm9vbCBpc1Bl
cmNlbnQoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gUGVyY2VudCB8fCB0eXBlKCkgPT0gQ2Fs
Y3VsYXRlZDsgfQogICAgIGJvb2wgaXNGaXhlZCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBG
aXhlZDsgfQogICAgIGJvb2wgaXNJbnRyaW5zaWNPckF1dG8oKSBjb25zdCB7IHJldHVybiB0eXBl
KCkgPT0gQXV0byB8fCB0eXBlKCkgPT0gTWluSW50cmluc2ljIHx8IHR5cGUoKSA9PSBJbnRyaW5z
aWM7IH0KKyAgICBib29sIGlzQ2FsY3VsYXRlZCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBD
YWxjdWxhdGVkOyB9CiAKICAgICBMZW5ndGggYmxlbmQoY29uc3QgTGVuZ3RoJiBmcm9tLCBmbG9h
dCBwcm9ncmVzcykgY29uc3QKICAgICB7CkBAIC0yMTEsNiArMjU4LDM1IEBAIHByaXZhdGU6CiAg
ICAgICAgIHJldHVybiBtX2lzRmxvYXQgPyBtX2Zsb2F0VmFsdWUgOiBtX2ludFZhbHVlOwogICAg
IH0KIAorICAgIHZvaWQgaW5pdEZyb21MZW5ndGgoY29uc3QgTGVuZ3RoICZsZW5ndGgpIAorICAg
IHsKKyAgICAgICAgbV9xdWlyayA9IGxlbmd0aC5tX3F1aXJrOworICAgICAgICBtX3R5cGUgPSBs
ZW5ndGgubV90eXBlOworICAgICAgICBtX2lzRmxvYXQgPSBsZW5ndGgubV9pc0Zsb2F0OworICAg
ICAgICAKKyAgICAgICAgaWYgKG1faXNGbG9hdCkKKyAgICAgICAgICAgIG1fZmxvYXRWYWx1ZSA9
IGxlbmd0aC5tX2Zsb2F0VmFsdWU7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1faW50VmFs
dWUgPSBsZW5ndGgubV9pbnRWYWx1ZTsKKyAgICAgICAgCisgICAgICAgIGlmIChpc0NhbGN1bGF0
ZWQoKSkKKyAgICAgICAgICAgIGluY3JlbWVudENhbGN1bGF0ZWRSZWYoKTsKKyAgICB9CisgICAg
CisgICAgYm9vbCBjYWxjdWxhdGVkSXNaZXJvKCkgY29uc3Q7CisgICAgYm9vbCBjYWxjdWxhdGVk
SXNQb3NpdGl2ZSgpIGNvbnN0OworICAgIGJvb2wgY2FsY3VsYXRlZElzTmVnYXRpdmUoKSBjb25z
dDsKKyAgICBpbnQgY2FsY3VsYXRlZENhbGNWYWx1ZShpbnQgbWF4VmFsdWUsIGJvb2wgcm91bmRQ
ZXJjZW50YWdlcykgY29uc3Q7CisgICAgaW50IGNhbGN1bGF0ZWRDYWxjTWluVmFsdWUoaW50IG1h
eFZhbHVlLCBib29sIHJvdW5kUGVyY2VudGFnZXMpIGNvbnN0OworICAgIGZsb2F0IGNhbGN1bGF0
ZWRDYWxjRmxvYXRWYWx1ZShpbnQgbWF4VmFsdWUpIGNvbnN0OworICAgIGludCBjYWxjdWxhdGVk
TGVuZ3RoSWQoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKGlzQ2FsY3VsYXRlZCgpKTsK
KyAgICAgICAgcmV0dXJuIGdldEludFZhbHVlKCk7CisgICAgfQorICAgIHZvaWQgaW5jcmVtZW50
Q2FsY3VsYXRlZFJlZigpIGNvbnN0OworICAgIHZvaWQgZGVjcmVtZW50Q2FsY3VsYXRlZFJlZigp
IGNvbnN0OworCiAgICAgdW5pb24gewogICAgICAgICBpbnQgbV9pbnRWYWx1ZTsKICAgICAgICAg
ZmxvYXQgbV9mbG9hdFZhbHVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5j
cHAKaW5kZXggODQ0MzlkZWE4MTQ3NDQ4MTZjODMxYTQzNDA1M2Y2NjgwNzg4MWU4Yy4uNmM3OTNk
MTA2NDI3NDgyOWNiYzE1MTg0OGY3MmZkNDljNzExOWIwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW1hZ2UuY3BwCkBAIC00MzYsNiArNDM2LDcgQEAgYm9vbCBSZW5kZXJJbWFn
ZTo6aXNMb2dpY2FsV2lkdGhTcGVjaWZpZWQoKSBjb25zdAogICAgIHN3aXRjaCAoc3R5bGUoKS0+
bG9naWNhbFdpZHRoKCkudHlwZSgpKSB7CiAgICAgICAgIGNhc2UgRml4ZWQ6CiAgICAgICAgIGNh
c2UgUGVyY2VudDoKKyAgICAgICAgY2FzZSBDYWxjdWxhdGVkOiAvLyBGSVhNRTogSXMgdGhpcyBy
aWdodD8KICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBjYXNlIEF1dG86CiAgICAg
ICAgIGNhc2UgUmVsYXRpdmU6IC8vIEZJWE1FOiBTaG91bGRuJ3QgdGhpcyBjYXNlIHJldHVybiB0
cnVlPwpAQCAtNDUyLDYgKzQ1Myw3IEBAIGJvb2wgUmVuZGVySW1hZ2U6OmlzTG9naWNhbEhlaWdo
dFNwZWNpZmllZCgpIGNvbnN0CiAgICAgc3dpdGNoIChzdHlsZSgpLT5sb2dpY2FsSGVpZ2h0KCku
dHlwZSgpKSB7CiAgICAgICAgIGNhc2UgRml4ZWQ6CiAgICAgICAgIGNhc2UgUGVyY2VudDoKKyAg
ICAgICAgY2FzZSBDYWxjdWxhdGVkOiAvLyBGSVhNRTogSXMgdGhpcyByaWdodD8KICAgICAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgICAgICBjYXNlIEF1dG86CiAgICAgICAgIGNhc2UgUmVsYXRp
dmU6IC8vIEZJWE1FOiBTaG91bGRuJ3QgdGhpcyBjYXNlIHJldHVybiB0cnVlPwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105572</attachid>
            <date>2011-08-29 21:15:14 -0700</date>
            <delta_ts>2011-08-29 22:48:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-16662-20110830141511.patch</filename>
            <type>text/plain</type>
            <size>107364</size>
            <attacher name="Mike Lawther">mikelawther</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQwMTkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyMDczOGY1ZjBhNWQyZjAyM2QzMzhi
MmZhMTAyMWIwODNhOGRiNzFlLi5hMWY5MjY4NjFlYmY5YTE3YzNkZDIzZWZlM2M2Y2EyMzMzMGE3
OGU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTAtMDMtMTcgIE1pa2UgTGF3dGhlciAgPG1p
a2VsYXd0aGVyQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBDU1MzOiBJbXBsZW1lbnQgY2FsYygpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjY2MgorCisgICAgICAgICogY3NzMy9j
YWxjL2JvcmRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9ib3Jk
ZXItc3BhY2luZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9ib3Jk
ZXItc3BhY2luZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvYm9yZGVyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9jYWxjLWVycm9ycy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9jYWxjLWVycm9ycy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBjc3MzL2NhbGMvbWFyZ2luLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3Nz
My9jYWxjL21hcmdpbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvbWlubWF4LWVy
cm9ycy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9taW5tYXgtZXJy
b3JzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9wYWRkaW5nLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3BhZGRpbmcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogY3NzMy9jYWxjL3NpbXBsZS1jYWxjcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGNzczMvY2FsYy9zaW1wbGUtY2FsY3MuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9j
YWxjL3NpbXBsZS1taW5tYXgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2Nh
bGMvc2ltcGxlLW1pbm1heC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvdGFibGUt
Y2FsY3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvdGFibGUtY2Fs
Y3MuaHRtbDogQWRkZWQuCisKIDIwMTEtMDgtMjkgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIEZpeCB0ZXN0X2V4cGVjdGF0aW9uLnR4dCB0eXBvLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvYm9yZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZDJiYWM4ZWM5
MjE5ZDM5YjQxMGY5ZmU1NDkxYTIwYmI3MGMxMGIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitUaGlz
IGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBib3JkZXIgb2YgMjUgcGl4ZWxzLiA9PiBQ
QVNTCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGxlZnQgYm9yZGVyIG9mIDI1IHBpeGVs
cy4gPT4gUEFTUworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSByaWdodCBib3JkZXIgb2Yg
MjUgcGl4ZWxzLiA9PiBQQVNTCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHRvcCBib3Jk
ZXIgb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGJv
dHRvbSBib3JkZXIgb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jc3MzL2NhbGMvYm9yZGVyLXNwYWNpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL2JvcmRlci1zcGFjaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZWIyYWNhMWFk
ZTA4ODNmNmI0ZWUzY2FhMWEyN2ZhNDNkYTE2YWJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1zcGFjaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBA
Cis9PiBQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLXNwYWNp
bmcuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXItc3BhY2luZy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjVmNmRjYTcyOWQ3OTM3NjExMDBkYTU1ZDk4ODAyMmMxZDZkMmZiNmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLXNwYWNpbmcuaHRtbApAQCAt
MCwwICsxLDU5IEBACis8IURPQ1RZUEUgSFRNTD4KKzxzdHlsZT4KK3RkIHsgdmVydGljYWwtYWxp
Z246dG9wOyBwYWRkaW5nOiAwOyB3aWR0aDo1MHB4OyBoZWlnaHQ6NjBweDsgYmFja2dyb3VuZC1j
b2xvcjpibHVlOyBib3JkZXI6MXB4IHNvbGlkIGJsYWNrIH0KK3RhYmxlIHsgYm9yZGVyLXNwYWNp
bmc6IC13ZWJraXQtY2FsYygxMHB4ICogMiArIDVweCk7IGJvcmRlcjozcHggc29saWQgYmxhY2s7
IHBvc2l0aW9uOnJlbGF0aXZlIH0KKzwvc3R5bGU+CisKKzx0YWJsZSBpZD0ic3RpbXVsdXMiPgor
ICAgIDx0cj4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8
dGQ+PC90ZD4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDx0ZD48L3RkPgorICAgIDwvdHI+
CisgICAgPHRyPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgICAg
IDx0ZD48L3RkPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgPC90
cj4KKzwvdGFibGU+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7CisKK3ZhciBpbm5lckJvcmRlciA9IDE7Cit2YXIgb3V0ZXJCb3JkZXIgPSAzOwor
dmFyIGlubmVyV2lkdGggPSA1MCArIDIgKiBpbm5lckJvcmRlcjsKK3ZhciBpbm5lckhlaWdodCA9
IDYwICsgMiAqIGlubmVyQm9yZGVyOwordmFyIGJvcmRlclNwYWNpbmcgPSAyNTsKK3ZhciByb3dz
ID0gMjsKK3ZhciBjb2x1bW5zID0gNTsKKwordmFyIGV4cGVjdGVkV2lkdGggPSBpbm5lcldpZHRo
ICogY29sdW1ucyArIGJvcmRlclNwYWNpbmcgKiAoY29sdW1ucyArIDEpICsgMiAqIG91dGVyQm9y
ZGVyOwordmFyIGV4cGVjdGVkSGVpZ2h0ID0gaW5uZXJIZWlnaHQgKiByb3dzICsgYm9yZGVyU3Bh
Y2luZyAqIChyb3dzICsgMSkgKyAyICogb3V0ZXJCb3JkZXI7CisKK3ZhciBlbHQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RpbXVsdXMiKTsKKwordmFyIHdpZHRoID0gZWx0Lm9mZnNldFdp
ZHRoOwordmFyIGhlaWdodCA9IGVsdC5vZmZzZXRIZWlnaHQ7CisKK3ZhciBlcnJvciA9IFtdOwor
aWYgKHdpZHRoICE9IGV4cGVjdGVkV2lkdGgpCisgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90
YWwgd2lkdGggb2YgIiArIGV4cGVjdGVkV2lkdGggKyAiLCBidXQgd2FzICIgKyB3aWR0aCk7Citp
ZiAoaGVpZ2h0ICE9IGV4cGVjdGVkSGVpZ2h0KQorICAgIGVycm9yLnB1c2goImV4cGVjdGVkIHRv
dGFsIGhlaWdodCBvZiAiICsgZXhwZWN0ZWRIZWlnaHQgKyAiLCBidXQgd2FzICIgKyBoZWlnaHQp
OworCityZXN1bHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0Iik7CitpZiAoZXJy
b3IgPT0gIiIpIHsKKyAgICBlbHQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gImdyZWVuIjsKKyAg
ICByZXN1bHQuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7Cit9IGVsc2UgeworICAgIGVsdC5zdHls
ZS5iYWNrZ3JvdW5kQ29sb3IgPSAicmVkIjsKKyAgICByZXN1bHQuaW5uZXJIVE1MICs9ICIgPT4g
RkFJTDogIiArIGVycm9yLmpvaW4oIiwgIik7Cit9Cis8L3NjcmlwdD4gICAgCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvYm9yZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTFiOGUyZGVhYTgzYzZhYTFlNDU4Njc0YTgxYzEw
NmIyNDMzNGUxYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3Jk
ZXIuaHRtbApAQCAtMCwwICsxLDc3IEBACis8IURPQ1RZUEUgSFRNTD4KKzxzdHlsZT4KK3Agewor
ICAgIHdpZHRoOjIwMHB4OyBoZWlnaHQ6MTIwcHg7Cit9Cisuc2ltcGxlLWFsbCB7CisgICAgYm9y
ZGVyOiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpIHNvbGlkOworfQorCisuc2ltcGxlLWxlZnQg
eworICAgIGJvcmRlci1sZWZ0OiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpIHNvbGlkOworfQor
LnNpbXBsZS1yaWdodCB7CisgICAgYm9yZGVyLXJpZ2h0OiAtd2Via2l0LWNhbGMoMTNweCArIDEy
cHgpIHNvbGlkOworfQorLnNpbXBsZS10b3AgeworICAgIGJvcmRlci10b3A6IC13ZWJraXQtY2Fs
YygxM3B4ICsgMTJweCkgc29saWQ7Cit9Cisuc2ltcGxlLWJvdHRvbSB7CisgICAgYm9yZGVyLWJv
dHRvbTogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KSBzb2xpZDsKK30KKzwvc3R5bGU+CisKKzxw
IGNsYXNzPSJzaW1wbGUtYWxsIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBi
b3JkZXIgb2YgMjUgcGl4ZWxzLjwvcD4KKzxwIGNsYXNzPSJzaW1wbGUtbGVmdCI+VGhpcyBlbGVt
ZW50IHNob3VsZCBoYXZlIGEgbGVmdCBib3JkZXIgb2YgMjUgcGl4ZWxzLjwvcD4KKzxwIGNsYXNz
PSJzaW1wbGUtcmlnaHQiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0IGJvcmRlciBv
ZiAyNSBwaXhlbHMuPC9wPgorPHAgY2xhc3M9InNpbXBsZS10b3AiPlRoaXMgZWxlbWVudCBzaG91
bGQgaGF2ZSBhIHRvcCBib3JkZXIgb2YgMjUgcGl4ZWxzLjwvcD4KKzxwIGNsYXNzPSJzaW1wbGUt
Ym90dG9tIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gYm9yZGVyIG9mIDI1IHBp
eGVscy48L3A+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKwordmFyIGlubmVyV2lkdGgg
PSAyMDA7Cit2YXIgaW5uZXJIZWlnaHQgPSAxMjA7Cit2YXIgYm9yZGVyID0gMjU7CisKK3ZhciB0
ZXN0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwIik7Citmb3IgKHZhciBpID0g
MDsgaSA8IHRlc3RzLmxlbmd0aDsgKytpKSB7CisgICAgdmFyIGVsdCA9IHRlc3RzW2ldOworICAg
IHZhciB3aWR0aCA9IGVsdC5vZmZzZXRXaWR0aDsKKyAgICB2YXIgaGVpZ2h0ID0gZWx0Lm9mZnNl
dEhlaWdodDsKKworICAgIHZhciBleHBlY3RlZFdpZHRoID0gaW5uZXJXaWR0aDsKKyAgICB2YXIg
ZXhwZWN0ZWRIZWlnaHQgPSBpbm5lckhlaWdodDsKKworICAgIHN3aXRjaCAoZWx0LmNsYXNzTmFt
ZS5zcGxpdCgiLSIpWzFdKSB7CisgICAgY2FzZSAiYWxsIjoKKyAgICAgICAgZXhwZWN0ZWRXaWR0
aCArPSAyICogYm9yZGVyOworICAgICAgICBleHBlY3RlZEhlaWdodCArPSAyICogYm9yZGVyOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlICJ0b3AiOgorICAgIGNhc2UgImJvdHRvbSI6CisgICAg
ICAgIGV4cGVjdGVkSGVpZ2h0ICs9IGJvcmRlcjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAi
bGVmdCI6CisgICAgY2FzZSAicmlnaHQiOgorICAgICAgICBleHBlY3RlZFdpZHRoICs9IGJvcmRl
cjsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgdmFyIGVycm9yID0gW107CisgICAgaWYg
KHdpZHRoICE9IGV4cGVjdGVkV2lkdGgpCisgICAgICAgIGVycm9yLnB1c2goImV4cGVjdGVkIHRv
dGFsIHdpZHRoIG9mICIgKyBleHBlY3RlZFdpZHRoICsgIiwgYnV0IHdhcyAiICsgd2lkdGgpOwor
ICAgIGlmIChoZWlnaHQgIT0gZXhwZWN0ZWRIZWlnaHQpCisgICAgICAgIGVycm9yLnB1c2goImV4
cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAiICsgZXhwZWN0ZWRIZWlnaHQgKyAiLCBidXQgd2FzICIg
KyBoZWlnaHQpOworCisgICAgcmVzdWx0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1
bHRzIik7CisgICAgaWYgKGVycm9yID09ICIiKSB7CisgICAgICAgIGVsdC5zdHlsZS5iYWNrZ3Jv
dW5kQ29sb3IgPSAiZ3JlZW4iOworICAgICAgICBlbHQuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgZWx0LnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICJyZWQi
OworICAgICAgICBlbHQuaW5uZXJIVE1MICs9ICIgPT4gRkFJTDogIiArIGVycm9yLmpvaW4oIiwg
Iik7CisgICAgfQorfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvbWFyZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9tYXJnaW4tZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRiOTQ0ZWZjYzhmZTAxMmNjODNlNzAwMzk4NDYzNWJlMTQz
MDZiZjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbWFyZ2luLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDI0IEBACitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4g
b3ZlcmFsbCBtYXJnaW4gb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCisKKworVGhpcyBlbGVtZW50IHNo
b3VsZCBoYXZlIGEgbGVmdCBtYXJnaW4gb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCisKK1RoaXMgZWxl
bWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0IG1hcmdpbiBvZiAyNSBwaXhlbHMuID0+IFBBU1MKKwor
VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgdG9wIG1hcmdpbiBvZiAyNSBwaXhlbHMuID0+IFBB
U1MKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIG1hcmdpbiBvZiAyNSBwaXhl
bHMuID0+IFBBU1MKKworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBtYXJn
aW4gb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCku
ID0+IEZBSUw6IGV4cGVjdGVkIHRvdGFsIHdpZHRoIG9mIDI1MCwgYnV0IHdhcyAyMDAsIGV4cGVj
dGVkIHRvdGFsIGhlaWdodCBvZiAxNzAsIGJ1dCB3YXMgMTIwCisKK1RoaXMgZWxlbWVudCBzaG91
bGQgaGF2ZSBhIGxlZnQgbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBv
ZiAzMDBweCBtaW51cyA1cHgpLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyMjUs
IGJ1dCB3YXMgMjAwCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0IG1hcmdpbiBv
ZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4g
RkFJTDogZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgMjI1LCBidXQgd2FzIDIwMAorCitUaGlzIGVs
ZW1lbnQgc2hvdWxkIGhhdmUgYSB0b3AgbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVu
dCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCBoZWln
aHQgb2YgMTQ1LCBidXQgd2FzIDEzNQorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0
b20gbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51
cyA1cHgpLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgMTQ1LCBidXQgd2FzIDEz
NQorCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL21hcmdpbi5odG1sIGIv
TGF5b3V0VGVzdHMvY3NzMy9jYWxjL21hcmdpbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxMjM1ZTJkZDAy
ZmUzNGRmNWViY2I0YmY0NmIwMmZhYzlkYzk5NzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvbWFyZ2luLmh0bWwKQEAgLTAsMCArMSwxMzMgQEAKKzwhRE9DVFlQRSBI
VE1MPgorPHN0eWxlPgorZGl2IHsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cit9CisKK3Ag
eworICAgIHdpZHRoOjIwMHB4OyAKKyAgICBoZWlnaHQ6MTIwcHg7CisgICAgbWFyZ2luOiAwOwor
fQorLnNpbXBsZS1hbGwgeworICAgIG1hcmdpbjogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsK
K30KKy5zaW1wbGUtbGVmdCB7CisgICAgbWFyZ2luLWxlZnQ6IC13ZWJraXQtY2FsYygxM3B4ICsg
MTJweCk7Cit9Cisuc2ltcGxlLXJpZ2h0IHsKKyAgICBtYXJnaW4tcmlnaHQ6IC13ZWJraXQtY2Fs
YygxM3B4ICsgMTJweCk7Cit9Cisuc2ltcGxlLXRvcCB7CisgICAgbWFyZ2luLXRvcDogLXdlYmtp
dC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5zaW1wbGUtYm90dG9tIHsKKyAgICBtYXJnaW4tYm90
dG9tOiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpOworfQorLnBlcmNlbnQtYWxsIHsKKyAgIC8q
IG1hcmdpbjogLXdlYmtpdC1jYWxjKDEwJSAtIDVweCk7CisgICAgbWFyZ2luOiAtbW96LWNhbGMo
MTAlIC0gNXB4KTsKKyAgICBtYXJnaW46IGNhbGMoMTAlIC0gNXB4KTsqLworICAgIG1hcmdpbi1s
ZWZ0OiAxMCU7Cit9CisucGVyY2VudC1sZWZ0IHsKKyAgICBtYXJnaW4tbGVmdDogLXdlYmtpdC1j
YWxjKDEwJSAtIDVweCk7CisgICAgbWFyZ2luLWxlZnQ6IDIwJTsKK30KKy5wZXJjZW50LXJpZ2h0
IHsKKyAgICBtYXJnaW4tcmlnaHQ6IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQorLnBlcmNl
bnQtdG9wIHsKKyAgICBtYXJnaW4tdG9wOiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKK30KKy5w
ZXJjZW50LWJvdHRvbSB7CisgICBtYXJnaW4tYm90dG9tOiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4
KTsKK30KKzwvc3R5bGU+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJzaW1wbGUtYWxsIj5UaGlzIGVs
ZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBtYXJnaW4gb2YgMjUgcGl4ZWxzLjwvcD4KKzwv
ZGl2Pjxici8+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJzaW1wbGUtbGVmdCI+VGhpcyBlbGVtZW50
IHNob3VsZCBoYXZlIGEgbGVmdCBtYXJnaW4gb2YgMjUgcGl4ZWxzLjwvcD4KKzwvZGl2Pjxici8+
Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJzaW1wbGUtcmlnaHQiPlRoaXMgZWxlbWVudCBzaG91bGQg
aGF2ZSBhIHJpZ2h0IG1hcmdpbiBvZiAyNSBwaXhlbHMuPC9wPgorPC9kaXY+PGJyLz4KKzxkaXY+
CisgICAgPHAgY2xhc3M9InNpbXBsZS10b3AiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHRv
cCBtYXJnaW4gb2YgMjUgcGl4ZWxzLjwvcD4KKzwvZGl2Pjxici8+Cis8ZGl2PgorICAgIDxwIGNs
YXNzPSJzaW1wbGUtYm90dG9tIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gbWFy
Z2luIG9mIDI1IHBpeGVscy48L3A+Cis8L2Rpdj48YnIvPgorCis8ZGl2IGlkPSJ3cmFwcGVyIiBz
dHlsZT0id2lkdGg6IDMwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBjb3Juc2lsazsgZGlzcGxheTog
YmxvY2s7Ij4KKzxkaXY+CisgICAgPHAgY2xhc3M9InBlcmNlbnQtYWxsIj5UaGlzIGVsZW1lbnQg
c2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBtYXJnaW4gb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50
IHdpZHRoIG9mIDMwMHB4IG1pbnVzICAgICA1cHgpLjwvcD4KKzwvZGl2Pjxici8+CisKKworPGRp
dj4KKyAgICA8cCBjbGFzcz0icGVyY2VudC1sZWZ0Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUg
YSBsZWZ0IG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHgg
bWludXMgNXB4KS48L3A+Cis8L2Rpdj48YnIvPgorPGRpdj4KKyAgICA8cCBjbGFzcz0icGVyY2Vu
dC1yaWdodCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgcmlnaHQgbWFyZ2luIG9mIDI1IHBp
eGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLjwvcD4KKzwvZGl2
Pjxici8+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJwZXJjZW50LXRvcCI+VGhpcyBlbGVtZW50IHNo
b3VsZCBoYXZlIGEgdG9wIG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGgg
b2YgMzAwcHggbWludXMgNXB4KS48L3A+Cis8L2Rpdj48YnIvPgorPGRpdj4KKyAgICA8cCBjbGFz
cz0icGVyY2VudC1ib3R0b20iPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGJvdHRvbSBtYXJn
aW4gb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCku
PC9wPgorPC9kaXY+PGJyLz4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit2YXIgaW5u
ZXJXaWR0aCA9IDIwMDsKK3ZhciBpbm5lckhlaWdodCA9IDEyMDsKK3ZhciBtYXJnaW4gPSAyNTsK
KwordmFyIHRlc3RzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpOworZm9y
ICh2YXIgaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7ICsraSkgeworICAgIHZhciBvdXRlckVsdCA9
IHRlc3RzW2ldOworICAgIGlmIChvdXRlckVsdC5pZCA9PSAid3JhcHBlciIpCisgICAgICAgIGNv
bnRpbnVlOworICAgICAgICAKKyAgICB2YXIgaW5uZXJFbHQgPSB0ZXN0c1tpXS5nZXRFbGVtZW50
c0J5VGFnTmFtZSgicCIpWzBdOworICAgIHZhciB3aWR0aCA9IG91dGVyRWx0Lm9mZnNldFdpZHRo
OworICAgIHZhciBoZWlnaHQgPSBvdXRlckVsdC5vZmZzZXRIZWlnaHQ7CisKKyAgICB2YXIgZXhw
ZWN0ZWRXaWR0aCA9IGlubmVyV2lkdGg7CisgICAgdmFyIGV4cGVjdGVkSGVpZ2h0ID0gaW5uZXJI
ZWlnaHQ7CisgICAgCisgICAgc3dpdGNoIChpbm5lckVsdC5jbGFzc05hbWUuc3BsaXQoIi0iKVsx
XSkgeworICAgIGNhc2UgImFsbCI6CisgICAgICAgIGV4cGVjdGVkV2lkdGggKz0gMiAqIG1hcmdp
bjsKKyAgICAgICAgZXhwZWN0ZWRIZWlnaHQgKz0gMiAqIG1hcmdpbjsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSAidG9wIjoKKyAgICBjYXNlICJib3R0b20iOgorICAgICAgICBleHBlY3RlZEhl
aWdodCArPSBtYXJnaW47CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgImxlZnQiOgorICAgIGNh
c2UgInJpZ2h0IjoKKyAgICAgICAgZXhwZWN0ZWRXaWR0aCArPSBtYXJnaW47CisgICAgICAgIGJy
ZWFrOworICAgIH0KKyAgICAKKyAgICB2YXIgZXJyb3IgPSBbXTsKKyAgICBpZiAod2lkdGggIT0g
ZXhwZWN0ZWRXaWR0aCkKKyAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90YWwgd2lkdGgg
b2YgIiArIGV4cGVjdGVkV2lkdGggKyAiLCBidXQgd2FzICIgKyB3aWR0aCk7CisgICAgaWYgKGhl
aWdodCAhPSBleHBlY3RlZEhlaWdodCkKKyAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90
YWwgaGVpZ2h0IG9mICIgKyBleHBlY3RlZEhlaWdodCArICIsIGJ1dCB3YXMgIiArIGhlaWdodCk7
CisKKyAgICByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKTsKKyAg
ICBpZiAoZXJyb3IgPT0gIiIpIHsKKyAgICAgICAgaW5uZXJFbHQuc3R5bGUuYmFja2dyb3VuZENv
bG9yID0gImdyZWVuIjsKKyAgICAgICAgaW5uZXJFbHQuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgaW5uZXJFbHQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0g
InJlZCI7CisgICAgICAgIGlubmVyRWx0LmlubmVySFRNTCArPSAiID0+IEZBSUw6ICIgKyBlcnJv
ci5qb2luKCIsICIpOworICAgIH0KK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3NzMy9jYWxjL3BhZGRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L3BhZGRpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiOGUzYTc0NDQ1Mjg3MDgzY2RjNTJi
YjY0NmViNWQyMDU3NzlhOGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvcGFkZGluZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAorVGhpcyBlbGVtZW50IHNo
b3VsZCBoYXZlIGFuIG92ZXJhbGwgcGFkZGluZyBvZiAyNSBwaXhlbHMuID0+IFBBU1MKKworVGhp
cyBlbGVtZW50IHNob3VsZCBoYXZlIGEgbGVmdCBwYWRkaW5nIG9mIDI1IHBpeGVscy4gPT4gUEFT
UworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSByaWdodCBwYWRkaW5nIG9mIDI1IHBpeGVs
cy4gPT4gUEFTUworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSB0b3AgcGFkZGluZyBvZiAy
NSBwaXhlbHMuID0+IFBBU1MKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIHBh
ZGRpbmcgb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBh
biBvdmVyYWxsIHBhZGRpbmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMw
MHB4IG1pbnVzIDVweCkuID0+IFBBU1MKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgbGVm
dCBwYWRkaW5nIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51
cyA1cHgpLiA9PiBQQVNTCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0IHBhZGRp
bmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCku
ID0+IFBBU1MKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgdG9wIHBhZGRpbmcgb2YgMjUg
cGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuID0+IFBBU1MK
KworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIHBhZGRpbmcgb2YgMjUgcGl4ZWxz
ICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuID0+IFBBU1MKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9wYWRkaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvcGFkZGluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlNjgwOTNlYmE3NTY1YzE5ZDI3NjI2
MTY0M2I0NDUxYTAzM2NkMDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvcGFkZGluZy5odG1sCkBAIC0wLDAgKzEsOTkgQEAKKzwhRE9DVFlQRSBIVE1MPgorPHN0eWxl
PgorcCB7CisgICAgd2lkdGg6MjAwcHg7IGhlaWdodDoxMjBweDsgCit9Cisuc2ltcGxlLWFsbCB7
CisgICAgcGFkZGluZzogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5zaW1wbGUtbGVm
dCB7CisgICAgcGFkZGluZy1sZWZ0OiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpOworfQorLnNp
bXBsZS1yaWdodCB7CisgICAgcGFkZGluZy1yaWdodDogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4
KTsKK30KKy5zaW1wbGUtdG9wIHsKKyAgICBwYWRkaW5nLXRvcDogLXdlYmtpdC1jYWxjKDEzcHgg
KyAxMnB4KTsKK30KKy5zaW1wbGUtYm90dG9tIHsKKyAgICBwYWRkaW5nLWJvdHRvbTogLXdlYmtp
dC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5wZXJjZW50LWFsbCB7CisgICAgcGFkZGluZzogLXdl
YmtpdC1jYWxjKDEwJSAtIDVweCk7Cit9CisucGVyY2VudC1sZWZ0IHsKKyAgICBwYWRkaW5nLWxl
ZnQ6IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQorLnBlcmNlbnQtcmlnaHQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQorLnBlcmNlbnQtdG9wIHsK
KyAgICBwYWRkaW5nLXRvcDogLXdlYmtpdC1jYWxjKDEwJSAtIDVweCk7Cit9CisucGVyY2VudC1i
b3R0b20geworICAgcGFkZGluZy1ib3R0b206IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQor
PC9zdHlsZT4KKworPHAgY2xhc3M9InNpbXBsZS1hbGwiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2
ZSBhbiBvdmVyYWxsIHBhZGRpbmcgb2YgMjUgcGl4ZWxzLjwvcD4KKzxwIGNsYXNzPSJzaW1wbGUt
bGVmdCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgbGVmdCBwYWRkaW5nIG9mIDI1IHBpeGVs
cy48L3A+Cis8cCBjbGFzcz0ic2ltcGxlLXJpZ2h0Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUg
YSByaWdodCBwYWRkaW5nIG9mIDI1IHBpeGVscy48L3A+Cis8cCBjbGFzcz0ic2ltcGxlLXRvcCI+
VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgdG9wIHBhZGRpbmcgb2YgMjUgcGl4ZWxzLjwvcD4K
KzxwIGNsYXNzPSJzaW1wbGUtYm90dG9tIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0
b20gcGFkZGluZyBvZiAyNSBwaXhlbHMuPC9wPgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogMzAwcHg7
IGJhY2tncm91bmQtY29sb3I6IGNvcm5zaWxrOyI+CisgICAgPHAgY2xhc3M9InBlcmNlbnQtYWxs
Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBwYWRkaW5nIG9mIDI1IHBpeGVs
cyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLjwvcD4KKyAgICA8cCBj
bGFzcz0icGVyY2VudC1sZWZ0Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBsZWZ0IHBhZGRp
bmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCku
PC9wPgorICAgIDxwIGNsYXNzPSJwZXJjZW50LXJpZ2h0Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhh
dmUgYSByaWdodCBwYWRkaW5nIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAz
MDBweCBtaW51cyA1cHgpLjwvcD4KKyAgICA8cCBjbGFzcz0icGVyY2VudC10b3AiPlRoaXMgZWxl
bWVudCBzaG91bGQgaGF2ZSBhIHRvcCBwYWRkaW5nIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVu
dCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLjwvcD4KKyAgICA8cCBjbGFzcz0icGVyY2VudC1i
b3R0b20iPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGJvdHRvbSBwYWRkaW5nIG9mIDI1IHBp
eGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLjwvcD4KKzwvZGl2
PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3ZhciBpbm5lcldpZHRoID0gMjAwOwor
dmFyIGlubmVySGVpZ2h0ID0gMTIwOwordmFyIHBhZGRpbmcgPSAyNTsKKwordmFyIHRlc3RzID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInAiKTsKK2ZvciAodmFyIGkgPSAwOyBpIDwg
dGVzdHMubGVuZ3RoOyArK2kpIHsKKyAgICB2YXIgZWx0ID0gdGVzdHNbaV07CisgICAgdmFyIHdp
ZHRoID0gZWx0Lm9mZnNldFdpZHRoOworICAgIHZhciBoZWlnaHQgPSBlbHQub2Zmc2V0SGVpZ2h0
OworCisgICAgdmFyIGV4cGVjdGVkV2lkdGggPSBpbm5lcldpZHRoOworICAgIHZhciBleHBlY3Rl
ZEhlaWdodCA9IGlubmVySGVpZ2h0OworICAgIAorICAgIHN3aXRjaCAoZWx0LmNsYXNzTmFtZS5z
cGxpdCgiLSIpWzFdKSB7CisgICAgY2FzZSAiYWxsIjoKKyAgICAgICAgZXhwZWN0ZWRXaWR0aCAr
PSAyICogcGFkZGluZzsKKyAgICAgICAgZXhwZWN0ZWRIZWlnaHQgKz0gMiAqIHBhZGRpbmc7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgInRvcCI6CisgICAgY2FzZSAiYm90dG9tIjoKKyAgICAg
ICAgZXhwZWN0ZWRIZWlnaHQgKz0gcGFkZGluZzsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAi
bGVmdCI6CisgICAgY2FzZSAicmlnaHQiOgorICAgICAgICBleHBlY3RlZFdpZHRoICs9IHBhZGRp
bmc7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICAKKyAgICB2YXIgZXJyb3IgPSBbXTsKKyAg
ICBpZiAod2lkdGggIT0gZXhwZWN0ZWRXaWR0aCkKKyAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0
ZWQgdG90YWwgd2lkdGggb2YgIiArIGV4cGVjdGVkV2lkdGggKyAiLCBidXQgd2FzICIgKyB3aWR0
aCk7CisgICAgaWYgKGhlaWdodCAhPSBleHBlY3RlZEhlaWdodCkKKyAgICAgICAgZXJyb3IucHVz
aCgiZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9mICIgKyBleHBlY3RlZEhlaWdodCArICIsIGJ1dCB3
YXMgIiArIGhlaWdodCk7CisKKyAgICByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InJlc3VsdHMiKTsKKyAgICBpZiAoZXJyb3IgPT0gIiIpIHsKKyAgICAgICAgZWx0LnN0eWxlLmJh
Y2tncm91bmRDb2xvciA9ICJncmVlbiI7CisgICAgICAgIGVsdC5pbm5lckhUTUwgKz0gIiA9PiBQ
QVNTIjsKKyAgICB9IGVsc2UgeworICAgICAgICBlbHQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0g
InJlZCI7CisgICAgICAgIGVsdC5pbm5lckhUTUwgKz0gIiA9PiBGQUlMOiAiICsgZXJyb3Iuam9p
bigiLCAiKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9zaW1wbGUtY2FsY3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L3NpbXBsZS1jYWxjcy1leHBlY3RlZC50eHQKaW5kZXggNDUwZjljZjcyZjRjMzg0ZjhjZTY2NjM4
Yjc2YWU3YmUxOGMwZjI1ZS4uODhlNWIzMWQ1ZTgzYTQ2YjlhYmMxOWQ3ZTUyNDU3MDE1MTkzMjky
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3NpbXBsZS1jYWxjcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3NpbXBsZS1jYWxjcy1leHBlY3RlZC50
eHQKQEAgLTEsNDkgKzEsNDkgQEAKIEFsbCBib3hlcyBiZWxvdyBzaG91bGQgYmUgMTAwcHggKiAx
MDBweCBhbmQgZ3JlZW4uCiAKIGNvbnRyb2wgPT4gUEFTUwotNTBweCArIDUwcHggPT4gRkFJTDog
QHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhw
ZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgMjU2Ci0xNTBweCAtIDUwcHggPT4gRkFJTDogQHpvb209MSBleHBlY3Rl
ZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2Yg
MTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMg
MjU2Ci01MHB4ICsgNTBweCAoMiBzcGFjZXMgYXJvdW5kIG9wZXJhdG9yKSA9PiBGQUlMOiBAem9v
bT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3Rl
ZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEw
MCwgYnV0IHdhcyAyNTYKLTE1MHB4IC0gNTBweCAoMiBzcGFjZXMgYXJvdW5kIG9wZXJhdG9yKSA9
PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29t
PTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVk
IHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTUwcHgqMiA9PiBGQUlMOiBAem9vbT0xIGV4cGVj
dGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdh
cyAyNTYKLTUwcHggKjIgPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1
dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1Njsg
QHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci01MHB4KiAyID0+IEZB
SUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4y
IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lk
dGggb2YgMTAwLCBidXQgd2FzIDI1NgotMjAwcHgvMiA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVk
IHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAx
MDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAy
NTYKLTIwMHB4IC8yID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQg
d2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6
b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotMjAwcHgvIDIgPT4gRkFJ
TDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIg
ZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0
aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci01MHB4KigyKSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVk
IHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAx
MDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAy
NTYKLTUwcHggKigyKSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0
IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBA
em9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTUwcHgqICgyKSA9PiBG
QUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEu
MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdp
ZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTUwcHgqKDEgKyAxKSA9PiBGQUlMOiBAem9vbT0xIGV4
cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0
aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0
IHdhcyAyNTYKLTUwcHgqKDEyIC0gMTApID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGgg
b2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0
IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotNTBw
eCooMTAgLyA1KSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdh
cyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9v
bT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTEwcHgqICg1ICogMikgPT4g
RkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0x
LjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3
aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci01MHB4KiAoMTIgbW9kIDEwKSA9PiBGQUlMOiBAem9v
bT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3Rl
ZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEw
MCwgYnV0IHdhcyAyNTYKLTUwcHggKyAxMHB4ICogNSAob3BlcmF0aW9uIG9yZGVyKSA9PiBGQUlM
OiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBl
eHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRo
IG9mIDEwMCwgYnV0IHdhcyAyNTYKLTExMDBweCBtb2QgMTAwMCA9PiBGQUlMOiBAem9vbT0xIGV4
cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0
aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0
IHdhcyAyNTYKLTEwMCUvMiAod2hlcmUgMTAwJSBpcyAyMDBweCkgPT4gRkFJTDogQHpvb209MSBl
eHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lk
dGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1
dCB3YXMgMjU2Ci0xMDAlICsgLTEwMHB4ICh3aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBGQUlMOiBA
em9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBl
Y3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9m
IDEwMCwgYnV0IHdhcyAyNTYKLTgwJSAtIDYwcHggKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IEZB
SUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4y
IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lk
dGggb2YgMTAwLCBidXQgd2FzIDI1NgotMzAwcHggLSAxMDAlICh3aGVyZSAxMDAlIGlzIDIwMHB4
KSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6
b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVj
dGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLS0xMDBweCArIDEwMCUgKHdoZXJlIDEwMCUg
aXMgMjAwcHgpID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2Fz
IDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29t
PTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotMjAlICsgMzAlICh3aGVyZSAx
MDAlIGlzIDIwMHB4KSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0
IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBA
em9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTgwJSAtIDMwJSAod2hl
cmUgMTAwJSBpcyAyMDBweCkgPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAs
IGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1
NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci0xMCUgKiA1ICh3
aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEw
MCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMg
MjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTUgKiAxMCUg
KHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2Yg
MTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdh
cyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotKDEwMHB4
KSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6
b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVj
dGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLSg1MHB4ICsgNTBweCkgPT4gRkFJTDogQHpv
b209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0
ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAx
MDAsIGJ1dCB3YXMgMjU2Ci0oNTBweCkgKyA1MHB4ID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQg
d2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEw
MCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1
NgotNTBweCArICg1MHB4KSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwg
YnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2
OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTUwcHggKyA1MHB4
ID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpv
b209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0
ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotNTBweCArIDI1cHggKiAyID0+IEZBSUw6IEB6
b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVj
dGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2Yg
MTAwLCBidXQgd2FzIDI1NgotKDI1cHggKyAyNXB4KSAqIDIgPT4gRkFJTDogQHpvb209MSBleHBl
Y3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGgg
b2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3
YXMgMjU2Ci0yICogNTBweCA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwg
YnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2
OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTIgKiAxMDBweCAv
IDIgPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBA
em9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBl
Y3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci0xMiBtb2QgMTAgKiA1MHB4ID0+IEZBSUw6
IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4
cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGgg
b2YgMTAwLCBidXQgd2FzIDI1NgotKDFlbSAtIDFlbSkgKyAxMDBweCA9PiBGQUlMOiBAem9vbT0x
IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3
aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwg
YnV0IHdhcyAyNTYKLTUwcHggKyArNTBweCA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRo
IG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1
dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLS01
MHB4ICsgMTUwcHggPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3
YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpv
b209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci0tNTBweCAtIC0xNTBweCA9
PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29t
PTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVk
IHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLSgoKCgoKCgxMDBweCkpKSkpKSkgPT4gRkFJTDog
QHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhw
ZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgMjU2Ci0xMDBweCA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIGhlaWdo
dCBvZiAxMDAsIGJ1dCB3YXMgNTA7IEB6b29tPTEuMiBleHBlY3RlZCBoZWlnaHQgb2YgMTAwLCBi
dXQgd2FzIDUwOyBAem9vbT0yIGV4cGVjdGVkIGhlaWdodCBvZiAxMDAsIGJ1dCB3YXMgNTAKLTEw
MCUgKiAyID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyA1
MDsgQHpvb209MS4yIGV4cGVjdGVkIGhlaWdodCBvZiAxMDAsIGJ1dCB3YXMgNTA7IEB6b29tPTIg
ZXhwZWN0ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyA1MAorNTBweCArIDUwcHggPT4gUEFTUwor
MTUwcHggLSA1MHB4ID0+IFBBU1MKKzUwcHggKyA1MHB4ICgyIHNwYWNlcyBhcm91bmQgb3BlcmF0
b3IpID0+IFBBU1MKKzE1MHB4IC0gNTBweCAoMiBzcGFjZXMgYXJvdW5kIG9wZXJhdG9yKSA9PiBQ
QVNTCis1MHB4KjIgPT4gUEFTUworNTBweCAqMiA9PiBQQVNTCis1MHB4KiAyID0+IFBBU1MKKzIw
MHB4LzIgPT4gUEFTUworMjAwcHggLzIgPT4gUEFTUworMjAwcHgvIDIgPT4gUEFTUworNTBweCoo
MikgPT4gUEFTUworNTBweCAqKDIpID0+IFBBU1MKKzUwcHgqICgyKSA9PiBQQVNTCis1MHB4Kigx
ICsgMSkgPT4gUEFTUworNTBweCooMTIgLSAxMCkgPT4gUEFTUworNTBweCooMTAgLyA1KSA9PiBQ
QVNTCisxMHB4KiAoNSAqIDIpID0+IFBBU1MKKzUwcHgqICgxMiBtb2QgMTApID0+IFBBU1MKKzUw
cHggKyAxMHB4ICogNSAob3BlcmF0aW9uIG9yZGVyKSA9PiBQQVNTCisxMTAwcHggbW9kIDEwMDAg
PT4gUEFTUworMTAwJS8yICh3aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBQQVNTCisxMDAlICsgLTEw
MHB4ICh3aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBQQVNTCis4MCUgLSA2MHB4ICh3aGVyZSAxMDAl
IGlzIDIwMHB4KSA9PiBQQVNTCiszMDBweCAtIDEwMCUgKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+
IFBBU1MKKy0xMDBweCArIDEwMCUgKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IFBBU1MKKzIwJSAr
IDMwJSAod2hlcmUgMTAwJSBpcyAyMDBweCkgPT4gUEFTUworODAlIC0gMzAlICh3aGVyZSAxMDAl
IGlzIDIwMHB4KSA9PiBQQVNTCisxMCUgKiA1ICh3aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBQQVNT
Cis1ICogMTAlICh3aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBQQVNTCisoMTAwcHgpID0+IFBBU1MK
Kyg1MHB4ICsgNTBweCkgPT4gUEFTUworKDUwcHgpICsgNTBweCA9PiBQQVNTCis1MHB4ICsgKDUw
cHgpID0+IFBBU1MKKzUwcHggKyA1MHB4ID0+IFBBU1MKKzUwcHggKyAyNXB4ICogMiA9PiBQQVNT
CisoMjVweCArIDI1cHgpICogMiA9PiBQQVNTCisyICogNTBweCA9PiBQQVNTCisyICogMTAwcHgg
LyAyID0+IFBBU1MKKzEyIG1vZCAxMCAqIDUwcHggPT4gUEFTUworKDFlbSAtIDFlbSkgKyAxMDBw
eCA9PiBQQVNTCis1MHB4ICsgKzUwcHggPT4gUEFTUworLTUwcHggKyAxNTBweCA9PiBQQVNTCist
NTBweCAtIC0xNTBweCA9PiBQQVNTCisoKCgoKCgoMTAwcHgpKSkpKSkpID0+IFBBU1MKKzEwMHB4
ID0+IFBBU1MKKzEwMCUgKiAyID0+IFBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMv
Y2FsYy9zaW1wbGUtbWlubWF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9z
aW1wbGUtbWlubWF4LWV4cGVjdGVkLnR4dAppbmRleCA3NTk2NjkwOWNhYTgzMmJhMzE0MGQxOWE3
OTMyYjNlNmJmM2EyNmIwLi5kN2FkNDQwMGM0MWE1OGY2NDk3ODZmMjFmMDg0ZWIwNmNlOTIyMDMx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc2ltcGxlLW1pbm1heC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3NpbXBsZS1taW5tYXgtZXhwZWN0ZWQu
dHh0CkBAIC0xLDE4ICsxLDE4IEBACiBBbGwgYm94ZXMgYmVsb3cgc2hvdWxkIGJlIDEwMHB4ICog
MTAwcHggYW5kIGdyZWVuLgogCi1taW4oMTAwcHgpID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9m
IDEwMCwgYnV0IHdhcyAyNTYKLW1pbiggMTAwcHggKSA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgMjU2Ci1taW4oKCgoMTAwcHgpKSkpID0+IEZBSUw6IGV4cGVjdGVkIHdp
ZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLW1pbigxNTBweCwxMDBweCkgPT4gRkFJTDogZXhwZWN0
ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotbWluKDE1MHB4LDEwMHB4LDIwMHB4KSA9PiBG
QUlMOiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci1taW4oIDE1MHB4ICwgMTAw
cHggLDIwMHB4KSA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci1t
aW4oOTBweCArIDUwcHggLDEwMHB4KSA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1
dCB3YXMgMjU2Ci1taW4oMTAwJSwxMDBweCkgLSB3aGVyZSAxMDAlIGlzIDIwMHB4ID0+IEZBSUw6
IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLW1pbigxMDBweCwxMDAlKSAtIHdo
ZXJlIDEwMCUgaXMgMjAwcHggPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2Fz
IDI1NgotbWF4KDEwMHB4KSA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMg
MjU2Ci1tYXgoNTBweCwxMDBweCkgPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQg
d2FzIDI1NgotbWF4KDUwcHgsMTAwcHgsMjBweCkgPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2Yg
MTAwLCBidXQgd2FzIDI1NgotbWF4KDEyMHB4IC0gNTBweCwxMDBweCkgPT4gRkFJTDogZXhwZWN0
ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotbWF4KDEwMCUsMTAwcHgpIC0gd2hlcmUgMTAw
JSBpcyA1MHB4ID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLW1h
eCgxMDBweCwxMDAlKSAtIHdoZXJlIDEwMCUgaXMgNTBweCA9PiBGQUlMOiBleHBlY3RlZCB3aWR0
aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci1taW4oMjAwcHgsMTAwcHgpID0+IEZBSUw6IGV4cGVjdGVk
IGhlaWdodCBvZiAxMDAsIGJ1dCB3YXMgNTAKK21pbigxMDBweCkgPT4gUEFTUworbWluKCAxMDBw
eCApID0+IFBBU1MKK21pbigoKCgxMDBweCkpKSkgPT4gUEFTUworbWluKDE1MHB4LDEwMHB4KSA9
PiBQQVNTCittaW4oMTUwcHgsMTAwcHgsMjAwcHgpID0+IFBBU1MKK21pbiggMTUwcHggLCAxMDBw
eCAsMjAwcHgpID0+IFBBU1MKK21pbig5MHB4ICsgNTBweCAsMTAwcHgpID0+IFBBU1MKK21pbigx
MDAlLDEwMHB4KSAtIHdoZXJlIDEwMCUgaXMgMjAwcHggPT4gUEFTUworbWluKDEwMHB4LDEwMCUp
IC0gd2hlcmUgMTAwJSBpcyAyMDBweCA9PiBQQVNTCittYXgoMTAwcHgpID0+IFBBU1MKK21heCg1
MHB4LDEwMHB4KSA9PiBQQVNTCittYXgoNTBweCwxMDBweCwyMHB4KSA9PiBQQVNTCittYXgoMTIw
cHggLSA1MHB4LDEwMHB4KSA9PiBQQVNTCittYXgoMTAwJSwxMDBweCkgLSB3aGVyZSAxMDAlIGlz
IDUwcHggPT4gUEFTUworbWF4KDEwMHB4LDEwMCUpIC0gd2hlcmUgMTAwJSBpcyA1MHB4ID0+IFBB
U1MKK21pbigyMDBweCwxMDBweCkgPT4gUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL3RhYmxlLWNhbGNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy90
YWJsZS1jYWxjcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDA1MTkyNmVmNmQ1YmUxYTEwMGNi
NTdkY2Q3ZjVlNDQ4ZmJmM2FlYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMv
Y2FsYy90YWJsZS1jYWxjcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitBbGwgdGFibGUg
Y2VsbHMgYmVsb3cgc2hvdWxkIGJlIDEwMHB4ICogMTAwcHggYW5kIGdyZWVuLgorCitjb250cm9s
IHdpZHRoOjEwMHB4ID0+IFBBU1MJc2ltcGxlIDEwMHB4ID0+IFBBU1MJMjVweCAqIDQgPT4gUEFT
UworY29udHJvbCBoZWlnaHQ6MTAwcHggPT4gUEFTUwlzaW1wbGUgMTAwcHggPT4gUEFTUwkyNXB4
ICogNCA9PiBQQVNTCitjb250cm9sIHdpZHRoOjI1JSA9PiBQQVNTCXNpbXBsZSAyNSUgPT4gRkFJ
TDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDEzNQkxMCUgKiAyICsgNSUgPT4gRkFJ
TDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDYwCitjb250cm9sIGhlaWdodDoyNSUg
PT4gUEFTUworc2ltcGxlIDI1JSA9PiBQQVNTCisxMCUgKiAyICsgNSUgPT4gRkFJTDogZXhwZWN0
ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyAxOAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvdGFibGUtY2FsY3MuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJsZS1j
YWxjcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1ZTZhYTFiYmY1NzcxNzAzOWQ0ZjkxMWVmYjg2ZWFiN2Rh
NGMyZmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtY2Fs
Y3MuaHRtbApAQCAtMCwwICsxLDEwMCBAQAorPCFET0NUWVBFIEhUTUw+Cis8c3R5bGU+Cisud2lk
dGgtdGVzdCB7CisgICAgcGFkZGluZzogMDsKKyAgICB3aWR0aDogMjU2cHg7IAorICAgIGhlaWdo
dDogMTAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOworfQorCisud2lkdGgtcGVyY2Vu
dC10ZXN0IHsKKyAgICBwYWRkaW5nOiAwOworICAgIGhlaWdodDogMTAwcHg7CisgICAgYmFja2dy
b3VuZC1jb2xvcjogcmVkOworfQorCisuaGVpZ2h0LXRlc3QgeworICAgIHBhZGRpbmc6IDA7Cisg
ICAgd2lkdGg6IDEwMHB4OworICAgIGhlaWdodDogMjU2cHg7CisgICAgYmFja2dyb3VuZC1jb2xv
cjogcmVkOworfQorCisuaGVpZ2h0LXBlcmNlbnQtdGVzdCB7CisgICAgcGFkZGluZzogMDsKKyAg
ICB3aWR0aDogMTAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOworfQorCis8L3N0eWxl
PgorCis8cD4KKyAgQWxsIHRhYmxlIGNlbGxzIGJlbG93IHNob3VsZCBiZSAxMDBweCAqIDEwMHB4
IGFuZCBncmVlbi4KKzwvcD4KKworPGRpdiBpZD0idGVzdCI+CisgICAgPHRhYmxlPgorICAgICAg
PHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0id2lkdGgtdGVzdCIgc3R5bGU9IndpZHRoOiAxMDBw
eDsiPmNvbnRyb2wgd2lkdGg6MTAwcHg8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0id2lkdGgt
dGVzdCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMTAwcHgpOyAtbW96LWNhbGM6KDEwMHB4
KSI+c2ltcGxlIDEwMHB4PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9IndpZHRoLXRlc3QiIHN0
eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDI1cHggKiA0KTsgLW1vei1jYWxjOigyNXB4ICogNCki
PjI1cHggKiA0PC90ZD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgICA8dGFibGU+Cisg
ICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJoZWlnaHQtdGVzdCIgc3R5bGU9ImhlaWdo
dDogMTAwcHg7Ij5jb250cm9sIGhlaWdodDoxMDBweDwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNz
PSJoZWlnaHQtdGVzdCIgc3R5bGU9ImhlaWdodDogLXdlYmtpdC1jYWxjKDEwMHB4KTsgLW1vei1j
YWxjOigxMDBweCkiPnNpbXBsZSAxMDBweDwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJoZWln
aHQtdGVzdCIgc3R5bGU9ImhlaWdodDogLXdlYmtpdC1jYWxjKDI1cHggKiA0KTsgLW1vei1jYWxj
OigyNXB4ICogNCkiPjI1cHggKiA0PC90ZD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAg
ICA8dGFibGUgc3R5bGU9IndpZHRoOjQxMHB4OyBib3JkZXItc3BhY2luZzogMnB4IDJweCI+Cisg
ICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJ3aWR0aC1wZXJjZW50LXRlc3QiIHN0eWxl
PSJ3aWR0aDogMjUlOyI+Y29udHJvbCB3aWR0aDoyNSU8L3RkPgorICAgICAgICAgIDx0ZCBjbGFz
cz0id2lkdGgtcGVyY2VudC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygyNSUpOyAt
bW96LWNhbGM6KDI1JSkiPnNpbXBsZSAyNSU8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0id2lk
dGgtcGVyY2VudC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygxMCUgKiAyICsgNSUp
OyAtbW96LWNhbGM6KDEwJSAqIDIgKyA1JSkiPjEwJSAqIDIgKyA1JTwvdGQ+CisgICAgICA8L3Ry
PgorICAgIDwvdGFibGU+CisgICAgCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA0MTZweCI+Cisg
ICAgICA8dGFibGUgc3R5bGU9ImhlaWdodDogMjUlIj4KKyAgICAgICAgICA8dHI+PHRkIGNsYXNz
PSJoZWlnaHQtcGVyY2VudC10ZXN0Ij5jb250cm9sIGhlaWdodDoyNSU8L3RkPjwvdHI+CisgICAg
ICA8L3RhYmxlPgorICAgIDwvZGl2PgorICAgIDxkaXYgc3R5bGU9ImhlaWdodDogNDE2cHgiPgor
ICAgICAgPHRhYmxlIHN0eWxlPSJoZWlnaHQ6IC13ZWJraXQtY2FsYygyNSUpOyAtbW96LWNhbGM6
KDI1JSkiPgorICAgICAgICAgIDx0cj48dGQgY2xhc3M9ImhlaWdodC1wZXJjZW50LXRlc3QiPnNp
bXBsZSAyNSU8L3RkPjwvdHI+CisgICAgICA8L3RhYmxlPgorICAgIDwvZGl2PgorICAgIDxkaXYg
c3R5bGU9ImhlaWdodDogNDE2cHgiPgorICAgICAgPHRhYmxlIHN0eWxlPSJoZWlnaHQ6IC13ZWJr
aXQtY2FsYygxMCUgKiAyICsgNSUpKTsgLW1vei1jYWxjOigxMCUgKiAyICsgNSUpKSI+CisgICAg
ICAgICAgPHRyPjx0ZCBjbGFzcz0iaGVpZ2h0LXBlcmNlbnQtdGVzdCI+MTAlICogMiArIDUlPC90
ZD48L3RyPgorICAgICAgPC90YWJsZT4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGlkPSJy
ZXN1bHRzIj48L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit2YXIgY2VsbHMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0
ZCIpOworZm9yICh2YXIgaSA9IDA7IGkgPCBjZWxscy5sZW5ndGg7ICsraSkgeworICAgIHZhciBj
ZWxsID0gY2VsbHNbaV07CisgICAgdmFyIHdpZHRoID0gY2VsbC5vZmZzZXRXaWR0aDsKKyAgICB2
YXIgaGVpZ2h0ID0gY2VsbC5vZmZzZXRIZWlnaHQ7CisKKyAgICB2YXIgZXJyb3IgPSBbXTsKKyAg
ICBpZiAod2lkdGggIT0gMTAwKQorICAgICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgIiArIHdpZHRoKTsKKyAgICBpZiAoaGVpZ2h0ICE9IDEwMCkKKyAgICAg
ICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyAiICsgaGVpZ2h0
KTsKKworICAgIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpOwor
ICAgIGlmIChlcnJvciA9PSAiIikgeworICAgICAgICBjZWxsLnN0eWxlLmJhY2tncm91bmRDb2xv
ciA9ICJncmVlbiI7CisgICAgICAgIGNlbGwuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7CisgICAg
fSBlbHNlCisgICAgICAgIGNlbGwuaW5uZXJIVE1MICs9ICIgPT4gRkFJTDogIiArIGVycm9yLmpv
aW4oIiwgIik7Cit9Cis8L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggMGJjYzUxNTVhNDhhZGU3OGMyYWI1NTc1ZGI2NWVhNTI3ZTk5NzQ3OC4uNWNmZDZi
ZjhhZGU4MWQ0ZjViZDUxM2YxODUyMzg4MzUwOWEwNTM1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDEzNSBAQAorMjAxMS0wMy0xNyAgTWlrZSBMYXd0aGVyICA8bWlrZWxhd3RoZXJAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENT
UzM6IEltcGxlbWVudCBjYWxjKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2NjYyCisKKyAgICAgICAgVGVzdHM6IGNzczMvY2FsYy9ib3JkZXItc3Bh
Y2luZy5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvYm9yZGVyLmh0bWwKKyAgICAgICAg
ICAgICAgIGNzczMvY2FsYy9jYWxjLWVycm9ycy5odG1sCisgICAgICAgICAgICAgICBjc3MzL2Nh
bGMvbWFyZ2luLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9taW5tYXgtZXJyb3JzLmh0
bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9wYWRkaW5nLmh0bWwKKyAgICAgICAgICAgICAg
IGNzczMvY2FsYy9zaW1wbGUtY2FsY3MuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9jYWxjL3Np
bXBsZS1taW5tYXguaHRtbAorICAgICAgICAgICAgICAgY3NzMy9jYWxjL3RhYmxlLWNhbGNzLmh0
bWwKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToK
KyAgICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogY3NzL0NTU0NhbGNWYWx1ZS5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6dW5pdENhdGVnb3J5KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQ
cmltaXRpdmVWYWx1ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRp
dmVWYWx1ZTo6aXNaZXJvKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1
ZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjUHJpbWl0aXZlVmFsdWU6OnRv
Q2FsY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6Q1NT
Q2FsY1ByaW1pdGl2ZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVy
YXRpb25WYWx1ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVy
YXRpb25WYWx1ZTo6aXNaZXJvKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVy
YXRpb25WYWx1ZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmluYXJ5T3Bl
cmF0aW9uVmFsdWU6OnRvQ2FsY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5h
cnlPcGVyYXRpb25WYWx1ZTo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU0NhbGNNaW5NYXhWYWx1ZUxpc3Q6OkNTU0NhbGNNaW5NYXhWYWx1ZUxpc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY01pbk1heFZhbHVlTGlzdDo6aXNaZXJvKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0NhbGNNaW5NYXhWYWx1ZUxpc3Q6OmNzc1RleHQpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTQ2FsY01pbk1heFZhbHVlTGlzdDo6YXBwZW5kKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0NhbGNNaW5NYXhWYWx1ZUxpc3Q6OnRvQ2FsY1ZhbHVlKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0NhbGNWYWx1ZVBhcnNlcjo6cGFyc2VDYWxjKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0NhbGNWYWx1ZVBhcnNlcjo6cGFyc2VNaW5NYXhMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0NhbGNWYWx1ZVBhcnNlcjo6b3BlcmF0b3JWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NDYWxjVmFsdWVQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2Fs
Y1ZhbHVlUGFyc2VyOjpwYXJzZVZhbHVlVGVybSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxj
VmFsdWVQYXJzZXI6OnBhcnNlVmFsdWVNdWx0aXBsaWNhdGl2ZUV4cHJlc3Npb24pOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlUGFyc2VyOjpwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNz
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZVBhcnNlcjo6cGFyc2VWYWx1ZUxp
c3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlUGFyc2VyOjpwYXJzZVZhbHVlRXhw
cmVzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWU6OmNyZWF0ZUZyb21QYXJz
ZXJWYWx1ZUxpc3QpOgorICAgICAgICAqIGNzcy9DU1NDYWxjVmFsdWUuaDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWU6OkNTU0NhbGNWYWx1ZSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NDYWxjVmFsdWU6OmlzQ2FsY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nh
bGNWYWx1ZTo6Y2F0ZWdvcnkpOgorICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnk6CisgICAgICAg
ICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0NhbGMpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjp2YWxpZFVuaXQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VD
YWxjKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bGV4KToKKyAgICAgICAgKiBjc3Mv
Q1NTUGFyc2VyLmg6CisgICAgICAgICogY3NzL0NTU1BhcnNlclZhbHVlcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXJWYWx1ZUxpc3Q6Omluc2VydFZhbHVlQXQpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTUGFyc2VyVmFsdWVMaXN0OjphcHBlbmQpOgorICAgICAgICAqIGNzcy9DU1NQ
YXJzZXJWYWx1ZXMuaDoKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OnByaW1pdGl2ZVR5cGUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjppbml0KToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1ByaW1pdGl2ZVZhbHVlOjpjbGVhbnVwKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1p
dGl2ZVZhbHVlOjpjb21wdXRlTGVuZ3RoRG91YmxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1By
aW1pdGl2ZVZhbHVlOjpnZXREb3VibGVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmlt
aXRpdmVWYWx1ZTo6Y3NzVGV4dCk6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmg6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Z2V0Q2FsY1ZhbHVlKToKKyAg
ICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NT
dHlsZVNlbGVjdG9yOjpjb252ZXJ0VG9JbnRMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
U3R5bGVTZWxlY3Rvcjo6Y29udmVydFRvRmxvYXRMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NT
dHlsZVNlbGVjdG9yOjpwYWdlU2l6ZUZyb21OYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0
eWxlU2VsZWN0b3I6Om1tTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0
b3I6OmluY2hMZW5ndGgpOgorICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmg6CisgICAg
ICAgICogY3NzL0NTU1ZhbHVlLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6aXNDYWxj
VmFsdWUpOgorICAgICAgICAqIGNzcy90b2tlbml6ZXIuZmxleDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9DYWxjVmFsdWUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNhbGNCaW5hcnlPcGVy
YXRpb25WYWx1ZTo6Q2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZTo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
Q2FsY01pbk1heFZhbHVlTGlzdDo6Q2FsY01pbk1heFZhbHVlTGlzdCk6CisgICAgICAgIChXZWJD
b3JlOjpDYWxjTWluTWF4VmFsdWVMaXN0OjphcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fs
Y01pbk1heFZhbHVlTGlzdDo6ZXZhbHVhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL0NhbGNWYWx1
ZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNhbGNWYWx1ZTo6fkNhbGNWYWx1ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDYWxjTnVtYmVyVmFsdWU6OkNhbGNOdW1iZXJWYWx1ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDYWxjTnVtYmVyVmFsdWU6OmV2YWx1YXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNhbGNMZW5ndGhWYWx1ZTo6Q2FsY0xlbmd0aFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6
OkNhbGNMZW5ndGhWYWx1ZTo6ZXZhbHVhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL0xlbmd0aC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDYWxjdWxhdGVkTGVuZ3RoOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FsY3VsYXRlZExlbmd0aDo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FsY3VsYXRlZExlbmd0aDo6Q2FsY3VsYXRlZExlbmd0aCk6CisgICAgICAgIChXZWJDb3Jl
OjpjYWxjdWxhdGVkTGVuZ3RoTWFwKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6TGVuZ3Ro
KToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6Y2FsY3VsYXRlZElzWmVybyk6CisgICAgICAg
IChXZWJDb3JlOjpMZW5ndGg6OmNhbGN1bGF0ZWRJc1Bvc2l0aXZlKToKKyAgICAgICAgKFdlYkNv
cmU6Okxlbmd0aDo6Y2FsY3VsYXRlZElzTmVnYXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6TGVu
Z3RoOjpjYWxjdWxhdGVkQ2FsY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6Y2Fs
Y3VsYXRlZENhbGNNaW5WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGN1bGF0
ZWRDYWxjRmxvYXRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmluY3JlbWVudENh
bGN1bGF0ZWRSZWYpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpkZWNyZW1lbnRDYWxjdWxh
dGVkUmVmKToKKyAgICAgICAgKiBwbGF0Zm9ybS9MZW5ndGguaDoKKyAgICAgICAgKFdlYkNvcmU6
Okxlbmd0aDo6TGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6b3BlcmF0b3I9KToK
KyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6fkxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpM
ZW5ndGg6OnZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6cmF3VmFsdWUpOgorICAg
ICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpzZXRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5n
dGg6OmNhbGNWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGNNaW5WYWx1ZSk6
CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGNGbG9hdFZhbHVlKToKKyAgICAgICAgKFdl
YkNvcmU6Okxlbmd0aDo6aXNaZXJvKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6aXNQb3Np
dGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmlzTmVnYXRpdmUpOgorICAgICAgICAo
V2ViQ29yZTo6TGVuZ3RoOjppc1BlcmNlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpp
c0NhbGN1bGF0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjppbml0RnJvbUxlbmd0aCk6
CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGN1bGF0ZWRMZW5ndGhJZCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklt
YWdlOjppc0xvZ2ljYWxXaWR0aFNwZWNpZmllZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJ
bWFnZTo6aXNMb2dpY2FsSGVpZ2h0U3BlY2lmaWVkKToKKwogMjAxMS0wOC0yOSAgQ2FyeSBDbGFy
ayAgPGNhcnljbGFya0Bnb29nbGUuY29tPgogCiAgICAgICAgIE9ubHkgZW5hYmxlIGZvbnQgc21v
b3RoaW5nIGFzIHJlcXVlc3RlZCAoU2tpYSBvbiBNYWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQppbmRleCA4ZTBlMWMxZGIyNGM0MjIxMWZlMjFlZTI4Y2VhYjY2OGFjZWQzYjg4Li4wNTdj
YWUxZDk3ZmZhMDczYWFhMTEwNzJlOTc0OWQzYTAzOTA2MTc3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KQEAgLTkyNSw2ICs5MjUsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ2hhcnNldFJ1bGUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUu
aCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5jcHAgXAorCVNvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDYWxjVmFsdWUuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0N1cnNvckltYWdlVmFs
dWUuY3BwIFwKQEAgLTIzNjksNiArMjM3MSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0F1dG9kcmFpbmVkUG9vbC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUu
Y3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUuaCBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vQ29sb3JDaG9vc2VyLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vQ29sb3JDaG9vc2VyLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRlbnRUeXBl
LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDRhOWZlNDhiNmRlZThmNzQ5MGY3YjFiOTQw
ZGMzYzk4NjIzYmJhMjQuLmFmZTg5YjVmYzhiYjQ0NGVlZGVkNTRmMmM5Yjc2ZGMzMGM1M2EzMTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC04MTEsNiArODExLDcgQEAgX19aTjdXZWJDb3JlNkVk
aXRvcjdvdXRkZW50RXYKIF9fWk43V2ViQ29yZTZKU05vZGUxM3Zpc2l0Q2hpbGRyZW5FUk4zSlND
MTFTbG90VmlzaXRvckUKIF9fWk43V2ViQ29yZTZKU05vZGUzcHV0RVBOM0pTQzlFeGVjU3RhdGVF
UktOUzFfMTBJZGVudGlmaWVyRU5TMV83SlNWYWx1ZUVSTlMxXzE1UHV0UHJvcGVydHlTbG90RQog
X19aTjdXZWJDb3JlNkpTTm9kZTZzX2luZm9FCitfX1pON1dlYkNvcmU2TGVuZ3RoRDFFdgogX19a
TjdXZWJDb3JlNlJlZ2lvbjV1bml0ZUVSS1MwXwogX19aTjdXZWJDb3JlNlJlZ2lvbjhzdWJ0cmFj
dEVSS1MwXwogX19aTjdXZWJDb3JlNlJlZ2lvbjlpbnRlcnNlY3RFUktTMF8KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQppbmRleCA5MTBhODZkZWFiMWMxNTIxMjg0NzM1NDQ4ZTRjZDk3NGQzYWIzYWFjLi5jZDczMDJm
NWM5MWQ3NjJlNDM5ZDYyNGMwYTE3OWZlNjViN2ZhMjRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0y
MzA2LDYgKzIzMDYsOCBAQAogICAgICAgICAgICAgJ2Nzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmgn
LAogICAgICAgICAgICAgJ2Nzcy9DU1NDYW52YXNWYWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nz
cy9DU1NDYW52YXNWYWx1ZS5oJywKKyAgICAgICAgICAgICdjc3MvQ1NTQ2FsY1ZhbHVlLmNwcCcs
CisgICAgICAgICAgICAnY3NzL0NTU0NhbGNWYWx1ZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NT
Q2hhcnNldFJ1bGUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTQ2hhcnNldFJ1bGUuaCcsCiAg
ICAgICAgICAgICAnY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAnLApAQCAtMjk5
NCw2ICsyOTk2LDggQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmgnLAogICAg
ICAgICAgICAgJ3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oJywKKyAgICAgICAgICAgICdwbGF0
Zm9ybS9DYWxjVmFsdWUuY3BwJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9DYWxjVmFsdWUuaCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vQ29udGVudFR5cGUuY3BwJywKICAgICAgICAgICAgICdw
bGF0Zm9ybS9Db250ZW50VHlwZS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9Db250ZXh0TWVu
dS5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8gYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCA0NzNmZmQzNjA4ZmY1MmRhZWU0NzE2MzczMzg0ZmMw
N2UyZTZmYmVlLi40OGU5MDNlODA3YjAwNGE3MDRmYzdjZjE4MmUxMzNmM2U0YTViYmNmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnBybwpAQCAtMzg1LDYgKzM4NSw3IEBAIHY4IHsKIAogU09VUkNFUyArPSBcCiAgICAg
Y3NzL0NTU0JvcmRlckltYWdlVmFsdWUuY3BwIFwKKyAgICBjc3MvQ1NTQ2FsY1ZhbHVlLmNwcCBc
CiAgICAgY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU0NoYXJzZXRSdWxlLmNw
cCBcCiAgICAgY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgXApAQCAtOTY2LDYg
Kzk2Nyw3IEBAIFNPVVJDRVMgKz0gXAogICAgIHBsYXRmb3JtL3RleHQvTG9jYWxpemVkRGF0ZU5v
bmUuY3BwIFwKICAgICBwbGF0Zm9ybS90ZXh0L0xvY2FsaXplZE51bWJlck5vbmUuY3BwIFwKICAg
ICBwbGF0Zm9ybS90ZXh0L1F1b3RlZFByaW50YWJsZS5jcHAgXAorICAgIHBsYXRmb3JtL0NhbGNW
YWx1ZS5jcHAgXAogICAgIHBsYXRmb3JtL0NvbnRlbnRUeXBlLmNwcCBcCiAgICAgcGxhdGZvcm0v
Q3Jvc3NUaHJlYWRDb3BpZXIuY3BwIFwKICAgICBwbGF0Zm9ybS9EYXRlQ29tcG9uZW50cy5jcHAg
XApAQCAtMTM4OSw2ICsxMzkxLDcgQEAgdjggewogCiBIRUFERVJTICs9IFwKICAgICBjc3MvQ1NT
Qm9yZGVySW1hZ2VWYWx1ZS5oIFwKKyAgICBjc3MvQ1NTQ2FsY1ZhbHVlLmggXAogICAgIGNzcy9D
U1NDYW52YXNWYWx1ZS5oIFwKICAgICBjc3MvQ1NTQ2hhcnNldFJ1bGUuaCBcCiAgICAgY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oIFwKQEAgLTE5MzQsNiArMTkzNyw3IEBAIEhFQURF
UlMgKz0gXAogICAgIHBsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmggXAogICAgIHBs
YXRmb3JtL0FyZW5hLmggXAogICAgIHBsYXRmb3JtL0FzeW5jRmlsZVN0cmVhbS5oIFwKKyAgICBw
bGF0Zm9ybS9DYWxjVmFsdWUuaCBcCiAgICAgcGxhdGZvcm0vQ29udGVudFR5cGUuaCBcCiAgICAg
cGxhdGZvcm0vQ29udGV4dE1lbnUuaCBcCiAgICAgcGxhdGZvcm0vQ3Jvc3NUaHJlYWRDb3BpZXIu
aCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4
IDJkOTIwNjQ1OGE0ZTZlYjUzYWFhMjQ2YjU1OGJkNTQzNmVmNTFhYWMuLjg0Y2Q3NjZkZDM3MGU4
MmU0MmM3MTM2YzAzNDRmMjBkODYxMDgyMzkgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yNjY1MCw2ICsyNjY1MCwxNCBAQAogCQkJCT4KIAkJ
CTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxDYWxjVmFs
dWUuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIu
LlxwbGF0Zm9ybVxDYWxjVmFsdWUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJ
CVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cQ29udGVudFR5cGUuY3BwIgogCQkJCT4KIAkJCTwv
RmlsZT4KQEAgLTMyNzQyLDYgKzMyNzUwLDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZp
bGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NDYWxjVmFsdWUuY3BwIgorCQkJCT4KKwkJ
CTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTQ2FsY1ZhbHVl
LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNz
c1xDU1NDYW52YXNWYWx1ZS5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGNhZmU4YWFiMjgx
NDQyYmEzMzk1NzA5OGE0ZGZhNTMwNWJkZGJjYmUuLjU4MzIzODIwZGYyOTlkYWE3YzcwNWVkZTY1
YThlMjg5Y2NkZDk4NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTExNTYsNiArMTE1NiwxMCBAQAogCQk0OUE1QTRGRTEzRTJG
MDFFMDBDRkRBRTAgLyogUGVlckNvbm5lY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlBNUE0RjgxM0UyRjAxRTAwQ0ZEQUUwIC8qIFBlZXJD
b25uZWN0aW9uLmNwcCAqLzsgfTsKIAkJNDlBNUE0RkYxM0UyRjAxRTAwQ0ZEQUUwIC8qIFBlZXJD
b25uZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0OUE1QTRGOTEzRTJGMDFFMDBDRkRBRTAgLyogUGVlckNvbm5lY3Rpb24uaCAqLzsgfTsKIAkJ
NDlBNUE1MDExM0UyRjAxRTAwQ0ZEQUUwIC8qIFNpZ25hbGluZ0NhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUE1QTRGQjEzRTJGMDFFMDBD
RkRBRTAgLyogU2lnbmFsaW5nQ2FsbGJhY2suaCAqLzsgfTsKKwkJNDlBRTJEOEUxMzRFRTUwQzAw
NzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0OUFFMkQ4QzEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVl
LmNwcCAqLzsgfTsKKwkJNDlBRTJEOEYxMzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlBRTJEOEQx
MzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5oICovOyB9OworCQk0OUFFMkQ5NjEzNEVF
NUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDk0MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUu
Y3BwICovOyB9OworCQk0OUFFMkQ5NzEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUFFMkQ5NTEzNEVF
NUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmggKi87IH07CiAJCTQ5QkUzMEQyMTNEOTc0N0IwMDM4
MDhBOSAvKiBKU1BlZXJDb25uZWN0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QkUzMEQxMTNEOTc0N0IwMDM4MDhBOSAvKiBKU1Bl
ZXJDb25uZWN0aW9uQ3VzdG9tLmNwcCAqLzsgfTsKIAkJNDlCRTMwRjMxM0Q5NzY0NjAwMzgwOEE5
IC8qIEpTUGVlckNvbm5lY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDlCRTMwRUYxM0Q5NzY0NjAwMzgwOEE5IC8qIEpTUGVlckNvbm5lY3Rp
b24uY3BwICovOyB9OwogCQk0OUJFMzBGNDEzRDk3NjQ2MDAzODA4QTkgLyogSlNQZWVyQ29ubmVj
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlC
RTMwRjAxM0Q5NzY0NjAwMzgwOEE5IC8qIEpTUGVlckNvbm5lY3Rpb24uaCAqLzsgfTsKQEAgLTc3
NjIsNiArNzc2NiwxMCBAQAogCQk0OUE1QTRGQTEzRTJGMDFFMDBDRkRBRTAgLyogUGVlckNvbm5l
Y3Rpb24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IFBlZXJDb25uZWN0aW9uLmlkbDsgcGF0
aCA9IHAycC9QZWVyQ29ubmVjdGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQ5QTVBNEZCMTNFMkYwMUUwMENGREFFMCAvKiBTaWduYWxpbmdDYWxsYmFjay5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTaWduYWxpbmdDYWxsYmFjay5oOyBwYXRoID0gcDJw
L1NpZ25hbGluZ0NhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5QTVB
NEZDMTNFMkYwMUUwMENGREFFMCAvKiBTaWduYWxpbmdDYWxsYmFjay5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBuYW1lID0gU2lnbmFsaW5nQ2FsbGJhY2suaWRsOyBwYXRoID0gcDJwL1NpZ25hbGluZ0Nh
bGxiYWNrLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDlBRTJEOEMxMzRFRTUw
QzAwNzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBDU1NDYWxjVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0OUFFMkQ4RDEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0NhbGNWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0OUFFMkQ5NDEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhbGNWYWx1ZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5QUUyRDk1MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFs
dWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FsY1ZhbHVlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5QkUzMEQxMTNEOTc0N0IwMDM4MDhBOSAvKiBKU1Bl
ZXJDb25uZWN0aW9uQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTUGVlckNvbm5lY3Rpb25DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0OUJFMzBFRjEzRDk3NjQ2MDAzODA4QTkgLyogSlNQZWVyQ29ubmVjdGlvbi5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1BlZXJDb25uZWN0aW9uLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlCRTMwRjAxM0Q5NzY0NjAwMzgwOEE5IC8q
IEpTUGVlckNvbm5lY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQ
ZWVyQ29ubmVjdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTkwOTQsNiAr
MTkxMDIsOCBAQAogCQkJCTg5RDA4RDlEMTIyMjg0NTEwMDEyNDFERiAvKiBBc3luY0ZpbGVTeXN0
ZW0uaCAqLywKIAkJCQk4OUQwOEQ5RTEyMjI4NDUxMDAxMjQxREYgLyogQXN5bmNGaWxlU3lzdGVt
Q2FsbGJhY2tzLmggKi8sCiAJCQkJNTFFMUVDQjEwQzkxQzU1NjAwREMyNTVCIC8qIEF1dG9kcmFp
bmVkUG9vbC5oICovLAorCQkJCTQ5QUUyRDk0MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUu
Y3BwICovLAorCQkJCTQ5QUUyRDk1MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuaCAqLywK
IAkJCQlDMzMwQTIyMDEzRUMxOTZCMDAwMEI0NUIgLyogQ29sb3JDaG9vc2VyLmNwcCAqLywKIAkJ
CQlDMzMwQTIyMTEzRUMxOTZCMDAwMEI0NUIgLyogQ29sb3JDaG9vc2VyLmggKi8sCiAJCQkJQkND
OENGQ0EwOTg2Q0QyNDAwMTQwQkYyIC8qIENvbG9yRGF0YS5ncGVyZiAqLywKQEAgLTE5Mzc5LDYg
KzE5Mzg5LDggQEAKIAkJCQk5MzA3MDVDNzA5RTBDOTVGMDBCMTdGRTQgLyogQ291bnRlci5pZGwg
Ki8sCiAJCQkJQTgwRTZDQkIwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU0JvcmRlckltYWdlVmFsdWUu
Y3BwICovLAogCQkJCUE4MEU2Q0REMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NCb3JkZXJJbWFnZVZh
bHVlLmggKi8sCisJCQkJNDlBRTJEOEMxMzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5j
cHAgKi8sCisJCQkJNDlBRTJEOEQxMzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5oICov
LAogCQkJCUJDNjA0QTQyMERCNTYzNEUwMDIwNDczOSAvKiBDU1NDYW52YXNWYWx1ZS5jcHAgKi8s
CiAJCQkJQkM2MDQ5Q0IwREI1NjBDMjAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmggKi8sCiAJ
CQkJRTFFQkJCRDMwQUFDOUI4NzAwMUZFOEUyIC8qIENTU0NoYXJzZXRSdWxlLmNwcCAqLywKQEAg
LTIwNTg0LDYgKzIwNTk2LDcgQEAKIAkJCQlCQ0Q1MzM2NDBFRDY4NDg5MDA4ODc0NjggLyogQ2Fj
aGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQjE2QzI4MDk3
OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRYU0xTdHlsZVNoZWV0LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5M0YxOTk1MDA4MjQ1RTU5MDAxRTlBQkMgLyogQ2FjaGVQb2xpY3kuaCBpbiBIZWFkZXJzICov
LAorCQkJCTQ5QUUyRDk3MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUIxRDVFQ0I1MTM0QjU4REEwMDg3Qzc4RiAvKiBDYWxsYmFja0Z1bmN0aW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCMUU1NDU5MzEzNDYyOUMxMDA5MkE1NDUgLyogQ2FsbGJhY2tU
YXNrLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RTRFOTFBRDEwRjdGQjMxMDBBMjc3OUMgLyogQ2Fu
dmFzQ29udGV4dEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICovLApAQCAtMjA2NjYsNiArMjA2Nzks
NyBAQAogCQkJCUUxNjk4MDNEMTEzMzU0MkQwMDg5NDExNSAvKiBDUnVudGltZU9iamVjdC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTc1Q0EyOEIxMzAzNjVGODAwRTk5QUQ5IC8qIENyeXB0by5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTgwRTZEMDcwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU0JvcmRlcklt
YWdlVmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ5QUUyRDhGMTM0RUU1MEMwMDcyOTIwQSAv
KiBDU1NDYWxjVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNjA0OUNDMERCNTYwQzIwMDIw
NDczOSAvKiBDU1NDYW52YXNWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTZDRjkwQTE5
ODlDQTAwN0ZCOEM1IC8qIENTU0NoYXJzZXRSdWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VB
NDc5MDA5N0NBQUM4MDA5NEM5RTQgLyogQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmggaW4g
SGVhZGVycyAqLywKQEAgLTIzODkyLDYgKzIzOTA2LDcgQEAKIAkJCQlEMEQxNDFCMjEyQjJCRjUy
MDBFMzk2MjAgLyogQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUJDQjE2QzIzMDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRTY3JpcHQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkNCMTZDMjcwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFhTTFN0eWxlU2hlZXQu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDlBRTJEOTYxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGNW
YWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMTgyNzQ5MzEzNENBNEMxMDBCOThDMkQgLyog
Q2FsbGJhY2tGdW5jdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTRFOTFBQzEwRjdGQjMx
MDBBMjc3OUMgLyogQ2FudmFzQ29udGV4dEF0dHJpYnV0ZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDk0ODRGQzExMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc0dyYWRpZW50LmNwcCBpbiBTb3Vy
Y2VzICovLApAQCAtMjM5NjAsNiArMjM5NzUsNyBAQAogCQkJCUUxNjk4MDQ5MTEzMzY0NDcwMDg5
NDExNSAvKiBDUnVudGltZU9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzVDQTI4QTEz
MDM2NUY4MDBFOTlBRDkgLyogQ3J5cHRvLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MEU2Q0U1
MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NCb3JkZXJJbWFnZVZhbHVlLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTQ5QUUyRDhFMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjVmFsdWUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQkM2MDRBNDMwREI1NjM0RTAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxRUJCQkQ0MEFBQzlCODcwMDFGRThFMiAvKiBDU1ND
aGFyc2V0UnVsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0VBNDc4RjA5N0NBQUM4MDA5NEM5
RTQgLyogQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kODFlYzFmMWZkNjVkYzNkZmM2
YzViMjgzYWMzYWY2ZDc1YWJhYWQ4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NhbGNWYWx1ZS5jcHAKQEAgLTAsMCArMSw0NTYgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgor
ICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiQ1NTQ2FsY1ZhbHVlLmgiCisKKyNpbmNsdWRlICJDU1NTdHlsZVNlbGVjdG9y
LmgiCisjaW5jbHVkZSAiQ1NTVmFsdWVMaXN0LmgiCisjaW5jbHVkZSAiTGVuZ3RoLmgiCisKKyNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNs
dWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CisKK3N0YXRpYyBjb25zdCBpbnQgbWF4RXhw
cmVzc2lvbkRlcHRoID0gMTAwOworCitlbnVtIFBhcnNlU3RhdGUgeworICAgIE9LLAorICAgIFRv
b0RlZXAsCisgICAgTm9Nb3JlVG9rZW5zCit9OworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0
YXRpYyBDYWxjQ2F0ZWdvcnkgdW5pdENhdGVnb3J5KENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlw
ZXMgdHlwZSkKK3sKKyAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfTlVNQkVSOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQVJTRVJf
SU5URUdFUjoKKyAgICAgICAgcmV0dXJuIENhbGNOdW1iZXI7CisgICAgY2FzZSBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0U6CisgICAgICAgIHJldHVybiBDYWxjUGVyY2VudDsKKyAg
ICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfRU1TOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19FWFM6CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYOgorICAg
IGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DTToKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfTU06CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0lOOgorICAgIGNh
c2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QVDoKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfUEM6CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1JFTVM6CisgICAgICAg
IHJldHVybiBDYWxjTGVuZ3RoOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBDYWxjT3Ro
ZXI7CisgICAgfQorfQorICAgIAorICAgIAorY2xhc3MgQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlIDog
cHVibGljIENTU0NhbGNWYWx1ZSB7CitwdWJsaWM6CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxD
U1NDYWxjUHJpbWl0aXZlVmFsdWU+IGNyZWF0ZShDU1NQcmltaXRpdmVWYWx1ZSogdmFsdWUsIGJv
b2wgaXNJbnQpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IENTU0NhbGNQcmlt
aXRpdmVWYWx1ZSh2YWx1ZSwgaXNJbnQpKTsKKyAgICB9CisgICAgCisgICAgdmlydHVhbCBib29s
IGlzWmVybygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gIW1fdmFsdWUtPmdldERvdWJs
ZVZhbHVlKCk7CisgICAgfQorCisgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0Cisg
ICAgeworICAgICAgICByZXR1cm4gbV92YWx1ZS0+Y3NzVGV4dCgpOworICAgIH0KKworICAgIFBh
c3NPd25QdHI8Q2FsY1ZhbHVlPiB0b0NhbGNWYWx1ZShSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRl
clN0eWxlKiByb290U3R5bGUsIGRvdWJsZSB6b29tKSBjb25zdAorICAgIHsKKyAgICAgICAgc3dp
dGNoIChtX2NhdGVnb3J5KSB7CisgICAgICAgIGNhc2UgQ2FsY051bWJlcjoKKyAgICAgICAgICAg
IHJldHVybiBhZG9wdFB0cihuZXcgQ2FsY051bWJlclZhbHVlKG1fdmFsdWUtPmdldEZsb2F0VmFs
dWUoKSkpOworICAgICAgICBjYXNlIENhbGNMZW5ndGg6CisgICAgICAgICAgICByZXR1cm4gYWRv
cHRQdHIobmV3IENhbGNOdW1iZXJWYWx1ZShtX3ZhbHVlLT5jb21wdXRlTGVuZ3RoPGZsb2F0Pihz
dHlsZSwgcm9vdFN0eWxlLCB6b29tKSkpOworICAgICAgICBjYXNlIENhbGNQZXJjZW50OgorICAg
ICAgICAgICAgeworICAgICAgICAgICAgICAgIGJvb2wgb2sgPSB0cnVlOworICAgICAgICAgICAg
ICAgIExlbmd0aCBsZW5ndGggPSBDU1NTdHlsZVNlbGVjdG9yOjpjb252ZXJ0VG9GbG9hdExlbmd0
aChtX3ZhbHVlLmdldCgpLCBzdHlsZSwgcm9vdFN0eWxlLCB6b29tLCAmb2spOworICAgICAgICAg
ICAgICAgIGlmICghb2spCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAg
ICAgICAgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgQ2FsY0xlbmd0aFZhbHVlKGxlbmd0aCkp
OworICAgICAgICAgICAgfQorICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisgICAgICAgIH0KKyAgICB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgQ1NTQ2Fs
Y1ByaW1pdGl2ZVZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlKiB2YWx1ZSwgYm9vbCBpc0ludCkKKyAg
ICAgICAgOiBtX3ZhbHVlKHZhbHVlKSAgICAgICAgICAgICAgICAgCisgICAgeworICAgICAgICBt
X2NhdGVnb3J5ID0gdW5pdENhdGVnb3J5KChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKXZh
bHVlLT5wcmltaXRpdmVUeXBlKCkpOworICAgICAgICBtX2lzSW50ID0gaXNJbnQ7CisgICAgfQor
CisgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBtX3ZhbHVlOworfTsKKworY2xhc3MgQ1NT
Q2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlIDogcHVibGljIENTU0NhbGNWYWx1ZSB7CitwdWJsaWM6
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlPiBjcmVh
dGUoUGFzc1JlZlB0cjxDU1NDYWxjVmFsdWU+IGxlZnRTaWRlLCBQYXNzUmVmUHRyPENTU0NhbGNW
YWx1ZT4gcmlnaHRTaWRlLCBjaGFyIG9wKQorICAgIHsKKyAgICAgICAgQ2FsY0NhdGVnb3J5IGxl
ZnRDYXRlZ29yeSA9IGxlZnRTaWRlLT5jYXRlZ29yeSgpOworICAgICAgICBDYWxjQ2F0ZWdvcnkg
cmlnaHRDYXRlZ29yeSA9IHJpZ2h0U2lkZS0+Y2F0ZWdvcnkoKTsKKyAgICAgICAgQ2FsY0NhdGVn
b3J5IG5ld0NhdGVnb3J5OworICAgICAgICAKKyAgICAgICAgc3dpdGNoIChvcCkgeworICAgICAg
ICBjYXNlICcrJzoKKyAgICAgICAgY2FzZSAnLSc6ICAgICAgICAgICAgICAgIAorICAgICAgICAg
ICAgaWYgKGxlZnRDYXRlZ29yeSA9PSByaWdodENhdGVnb3J5KSAgICAKKyAgICAgICAgICAgICAg
ICBuZXdDYXRlZ29yeSA9IGxlZnRDYXRlZ29yeTsKKyAgICAgICAgICAgIGVsc2UgaWYgKGxlZnRD
YXRlZ29yeSAhPSBDYWxjTnVtYmVyICYmIHJpZ2h0Q2F0ZWdvcnkgIT0gQ2FsY051bWJlcikKKyAg
ICAgICAgICAgICAgICBuZXdDYXRlZ29yeSA9IENhbGNQZXJjZW50OworICAgICAgICAgICAgZWxz
ZSAgICAKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgICAgIAorICAgICAgICBjYXNlICcqJzoKKyAgICAgICAgICAgIGlmIChsZWZ0Q2F0
ZWdvcnkgIT0gQ2FsY051bWJlciAmJiByaWdodENhdGVnb3J5ICE9IENhbGNOdW1iZXIpIAorICAg
ICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAobGVm
dENhdGVnb3J5ID09IENhbGNOdW1iZXIpCisgICAgICAgICAgICAgICAgbmV3Q2F0ZWdvcnkgPSBy
aWdodENhdGVnb3J5OworICAgICAgICAgICAgZWxzZSAKKyAgICAgICAgICAgICAgICBuZXdDYXRl
Z29yeSA9IGxlZnRDYXRlZ29yeTsKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGNhc2Ug
Jy8nOgorICAgICAgICBjYXNlICclJzoKKyAgICAgICAgICAgIGlmIChyaWdodENhdGVnb3J5ICE9
IENhbGNOdW1iZXIgfHwgcmlnaHRTaWRlLT5pc1plcm8oKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgICAgIG5ld0NhdGVnb3J5ID0gbGVmdENhdGVnb3J5OworICAgICAgICAg
ICAgYnJlYWs7CisKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgCisgICAg
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlKGxlZnRT
aWRlLCByaWdodFNpZGUsIG9wLCBuZXdDYXRlZ29yeSkpOworICAgIH0KKyAgICAKKyAgICB2aXJ0
dWFsIGJvb2wgaXNaZXJvKCkgY29uc3QKKyAgICB7CisgICAgICAgIC8vIEZJWE1FOiBXZSBjYW4g
cmV0dXJuIHRydWUgZm9yIHNvbWUgY2FzZXMgKGUuZy4sIDMgLSAzLCAzICogMCwgYW5kIGV0Yy4p
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIFN0cmluZyBjc3NU
ZXh0KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAiKCIgKyBtX2xlZnRTaWRlLT5jc3NU
ZXh0KCkgKyBtX29wZXJhdG9yICsgbV9yaWdodFNpZGUtPmNzc1RleHQoKSArICIpIjsKKyAgICB9
CisKKyAgICBQYXNzT3duUHRyPENhbGNWYWx1ZT4gdG9DYWxjVmFsdWUoUmVuZGVyU3R5bGUqIHN0
eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgem9vbSkgY29uc3QKKyAgICB7Cisg
ICAgICAgIE93blB0cjxDYWxjVmFsdWU+IGxlZnQobV9sZWZ0U2lkZS0+dG9DYWxjVmFsdWUoc3R5
bGUsIHJvb3RTdHlsZSwgem9vbSkpOworICAgICAgICBpZiAoIWxlZnQuZ2V0KCkpCisgICAgICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgT3duUHRyPENhbGNWYWx1ZT4gcmlnaHQobV9y
aWdodFNpZGUtPnRvQ2FsY1ZhbHVlKHN0eWxlLCByb290U3R5bGUsIHpvb20pKTsKKyAgICAgICAg
aWYgKCFyaWdodC5nZXQoKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICBy
ZXR1cm4gYWRvcHRQdHIobmV3IENhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZShsZWZ0LnJlbGVhc2Uo
KSwgcmlnaHQucmVsZWFzZSgpLCBtX29wZXJhdG9yKSk7CisgICAgfQorCitwcml2YXRlOgorICAg
IENTU0NhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZShQYXNzUmVmUHRyPENTU0NhbGNWYWx1ZT4gbGVm
dFNpZGUsIFBhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiByaWdodFNpZGUsIGNoYXIgb3AsIENhbGND
YXRlZ29yeSBjYXRlZ29yeSkKKyAgICAgICAgOiBtX2xlZnRTaWRlKGxlZnRTaWRlKQorICAgICAg
ICAsIG1fcmlnaHRTaWRlKHJpZ2h0U2lkZSkKKyAgICAgICAgLCBtX29wZXJhdG9yKG9wKQorICAg
IHsKKyAgICAgICAgQVNTRVJUKG9wID09ICcrJyB8fCBvcCA9PSAnLScgfHwgb3AgPT0gJyonIHx8
IG9wID09ICcvJyB8fCBvcCA9PSAnJScpOyAgCisgICAgICAgIG1fY2F0ZWdvcnkgPSBjYXRlZ29y
eTsKKyAgICAgICAgbV9pc0ludCA9IG1fbGVmdFNpZGUtPmlzSW50KCkgJiYgbV9yaWdodFNpZGUt
PmlzSW50KCk7CisgICAgfQorICAgIAorICAgIFJlZlB0cjxDU1NDYWxjVmFsdWU+IG1fbGVmdFNp
ZGU7CisgICAgUmVmUHRyPENTU0NhbGNWYWx1ZT4gbV9yaWdodFNpZGU7CisgICAgY2hhciBtX29w
ZXJhdG9yOworfTsKKworY2xhc3MgQ1NTQ2FsY01pbk1heFZhbHVlTGlzdCA6IHB1YmxpYyBDU1ND
YWxjVmFsdWUgeworcHVibGljOgorICAgIENTU0NhbGNNaW5NYXhWYWx1ZUxpc3QoTGlzdFR5cGUg
dHlwZSkKKyAgICAgICAgOiBtX2xpc3RUeXBlKHR5cGUpCisgICAgeworICAgIH0KKworICAgIHZp
cnR1YWwgYm9vbCBpc1plcm8oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIH0KKworICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdAorICAgIHsKKyAgICAg
ICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7CisgICAgICAgIGlmIChtX2xpc3RUeXBlID09IENhbGNN
aW4pCisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCItd2Via2l0LW1pbigiKTsKKyAgICAgICAg
ZWxzZSAKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoIi13ZWJraXQtbWF4KCIpOworICAgICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9saXN0LnNpemUoKTsgKytpKSB7CisgICAgICAg
ICAgICByZXN1bHQuYXBwZW5kKG1fbGlzdFtpXS5nZXQoKS0+Y3NzVGV4dCgpKTsKKyAgICAgICAg
ICAgIHJlc3VsdC5hcHBlbmQoIiwgIik7CisgICAgICAgIH0KKyAgICAgICAgcmVzdWx0LmFwcGVu
ZCgnKScpOworICAgICAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7CisgICAgfQorCisgICAg
dm9pZCBhcHBlbmQoUGFzc1JlZlB0cjxDU1NDYWxjVmFsdWU+IHZhbHVlKSAKKyAgICB7CisgICAg
ICAgIG1fbGlzdC5hcHBlbmQodmFsdWUpOworICAgIH0KKworICAgIFBhc3NPd25QdHI8Q2FsY1Zh
bHVlPiB0b0NhbGNWYWx1ZShSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5
bGUsIGRvdWJsZSB6b29tKSBjb25zdAorICAgIHsKKyAgICAgICAgQ2FsY01pbk1heFZhbHVlTGlz
dCogbGlzdCA9IG5ldyBDYWxjTWluTWF4VmFsdWVMaXN0KG1fbGlzdFR5cGUpOworICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9saXN0LnNpemUoKTsgKytpKQorICAgICAgICAgICAg
bGlzdC0+YXBwZW5kKG1fbGlzdFtpXS5nZXQoKS0+dG9DYWxjVmFsdWUoc3R5bGUsIHJvb3RTdHls
ZSwgem9vbSkpOworCisgICAgICAgIHJldHVybiBhZG9wdFB0cihsaXN0KTsKKyAgICB9CisKK3By
aXZhdGU6CisgICAgTGlzdFR5cGUgbV9saXN0VHlwZTsKKyAgICBWZWN0b3I8UmVmUHRyPENTU0Nh
bGNWYWx1ZT4gPiBtX2xpc3Q7Cit9OworCitzdGF0aWMgUGFyc2VTdGF0ZSBjaGVja0RlcHRoQW5k
SW5kZXgoaW50KiBkZXB0aCwgdW5zaWduZWQgaW5kZXgsIENTU1BhcnNlclZhbHVlTGlzdCogdG9r
ZW5zKQoreworICAgICgqZGVwdGgpKys7CisgICAgaWYgKCpkZXB0aCA+IG1heEV4cHJlc3Npb25E
ZXB0aCkKKyAgICAgICAgcmV0dXJuIFRvb0RlZXA7CisgICAgaWYgKGluZGV4ID49IHRva2Vucy0+
c2l6ZSgpKQorICAgICAgICByZXR1cm4gTm9Nb3JlVG9rZW5zOworICAgIHJldHVybiBPSzsKK30K
KworY2xhc3MgQ1NTQ2FsY1ZhbHVlUGFyc2VyIHsKK3B1YmxpYzoKKyAgICBQYXNzUmVmUHRyPENT
U0NhbGNWYWx1ZT4gcGFyc2VDYWxjKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zKQorICAgIHsK
KyAgICAgICAgdW5zaWduZWQgaW5kZXggPSAwOworICAgICAgICBWYWx1ZSByZXN1bHQ7CisgICAg
ICAgIGJvb2wgb2sgPSBwYXJzZVZhbHVlRXhwcmVzc2lvbih0b2tlbnMsIDAsICZpbmRleCwgJnJl
c3VsdCk7CisgICAgICAgIEFTU0VSVChpbmRleCA8PSB0b2tlbnMtPnNpemUoKSk7CisgICAgICAg
IGlmICghb2sgCisgICAgICAgICAgICB8fCAocmVzdWx0LnZhbHVlLT5pc0NhbGNWYWx1ZSgpICYm
IHJlc3VsdC52YWx1ZS0+Y2F0ZWdvcnkoKSA9PSBDYWxjTnVtYmVyKQorICAgICAgICAgICAgfHwg
aW5kZXggIT0gdG9rZW5zLT5zaXplKCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAg
cmV0dXJuIHJlc3VsdC52YWx1ZTsKKyAgICB9CisKKyAgICBQYXNzUmVmUHRyPENTU0NhbGNWYWx1
ZT4gcGFyc2VNaW5NYXhMaXN0KExpc3RUeXBlIHR5cGUsIENTU1BhcnNlclZhbHVlTGlzdCogdG9r
ZW5zKQorICAgIHsKKyAgICAgICAgdW5zaWduZWQgaW5kZXggPSAwOworICAgICAgICBSZWZQdHI8
Q1NTQ2FsY01pbk1heFZhbHVlTGlzdD4gcmVzdWx0ID0gYWRvcHRSZWYobmV3IENTU0NhbGNNaW5N
YXhWYWx1ZUxpc3QodHlwZSkpOworCisgICAgICAgIGJvb2wgb2sgPSBwYXJzZVZhbHVlTGlzdCh0
b2tlbnMsIDAsICZpbmRleCwgcmVzdWx0LmdldCgpKTsKKyAgICAgICAgQVNTRVJUKGluZGV4IDw9
IHRva2Vucy0+c2l6ZSgpKTsKKyAgICAgICAgaWYgKCFvayB8fCBpbmRleCAhPSB0b2tlbnMtPnNp
emUoKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAg
IH0KKworcHJpdmF0ZToKKyAgICBzdHJ1Y3QgVmFsdWUgeworICAgICAgICBSZWZQdHI8Q1NTQ2Fs
Y1ZhbHVlPiB2YWx1ZTsKKyAgICB9OworCisgICAgY2hhciBvcGVyYXRvclZhbHVlKENTU1BhcnNl
clZhbHVlTGlzdCogdG9rZW5zLCB1bnNpZ25lZCBpbmRleCkKKyAgICB7CisgICAgICAgIGlmIChp
bmRleCA+PSB0b2tlbnMtPnNpemUoKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBD
U1NQYXJzZXJWYWx1ZSogdmFsdWUgPSB0b2tlbnMtPnZhbHVlQXQoaW5kZXgpOworICAgICAgICBp
ZiAodmFsdWUtPnVuaXQgIT0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJhdG9yKQorICAgICAgICAgICAg
cmV0dXJuIDA7CisKKyAgICAgICAgcmV0dXJuIHZhbHVlLT5pVmFsdWU7CisgICAgfQorCisgICAg
Ym9vbCBwYXJzZVZhbHVlKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCB1bnNpZ25lZCogaW5k
ZXgsIFZhbHVlKiByZXN1bHQpCisgICAgeworICAgICAgICBDU1NQYXJzZXJWYWx1ZSogcGFyc2Vy
VmFsdWUgPSB0b2tlbnMtPnZhbHVlQXQoKmluZGV4KTsKKyAgICAgICAgaWYgKHBhcnNlclZhbHVl
LT51bml0ID09IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvciB8fCBwYXJzZXJWYWx1ZS0+dW5pdCA9
PSBDU1NQYXJzZXJWYWx1ZTo6RnVuY3Rpb24pCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICAgICAgUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSA9IHBhcnNlclZhbHVlLT5jcmVhdGVDU1NW
YWx1ZSgpOworICAgICAgICBpZiAoIXZhbHVlIHx8ICF2YWx1ZS0+aXNQcmltaXRpdmVWYWx1ZSgp
KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIENTU1ByaW1pdGl2ZVZhbHVl
KiBwcmltaXRpdmVWYWx1ZSA9IHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4odmFsdWUu
Z2V0KCkpOworICAgICAgICByZXN1bHQtPnZhbHVlID0gQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpj
cmVhdGUocHJpbWl0aXZlVmFsdWUsIHBhcnNlclZhbHVlLT5pc0ludCk7CisKKyAgICAgICAgKysq
aW5kZXg7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIGJvb2wgcGFyc2VWYWx1
ZVRlcm0oQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIGludCBkZXB0aCwgdW5zaWduZWQqIGlu
ZGV4LCBWYWx1ZSogcmVzdWx0KQorICAgIHsKKyAgICAgICAgaWYgKGNoZWNrRGVwdGhBbmRJbmRl
eCgmZGVwdGgsICppbmRleCwgdG9rZW5zKSAhPSBPSykKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsgICAgCisgICAgICAgIAorICAgICAgICBpZiAob3BlcmF0b3JWYWx1ZSh0b2tlbnMsICppbmRl
eCkgPT0gJygnKSB7CisgICAgICAgICAgICB1bnNpZ25lZCBjdXJyZW50SW5kZXggPSAqaW5kZXgg
KyAxOworICAgICAgICAgICAgaWYgKCFwYXJzZVZhbHVlRXhwcmVzc2lvbih0b2tlbnMsIGRlcHRo
LCAmY3VycmVudEluZGV4LCByZXN1bHQpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgICAgICAgICAgaWYgKG9wZXJhdG9yVmFsdWUodG9rZW5zLCBjdXJyZW50SW5kZXgpICE9
ICcpJykKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAqaW5kZXgg
PSBjdXJyZW50SW5kZXggKyAxOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0K
KworICAgICAgICByZXR1cm4gcGFyc2VWYWx1ZSh0b2tlbnMsIGluZGV4LCByZXN1bHQpOworICAg
IH0KKworICAgIGJvb2wgcGFyc2VWYWx1ZU11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbihDU1NQYXJz
ZXJWYWx1ZUxpc3QqIHRva2VucywgaW50IGRlcHRoLCB1bnNpZ25lZCogaW5kZXgsIFZhbHVlKiBy
ZXN1bHQpCisgICAgeworICAgICAgICBpZiAoY2hlY2tEZXB0aEFuZEluZGV4KCZkZXB0aCwgKmlu
ZGV4LCB0b2tlbnMpICE9IE9LKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAKKworICAg
ICAgICBpZiAoIXBhcnNlVmFsdWVUZXJtKHRva2VucywgZGVwdGgsIGluZGV4LCByZXN1bHQpKQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIHdoaWxlICgqaW5kZXggPCB0b2tl
bnMtPnNpemUoKSAtIDEpIHsKKyAgICAgICAgICAgIGNoYXIgb3BlcmF0b3JDaGFyYWN0ZXIgPSBv
cGVyYXRvclZhbHVlKHRva2VucywgKmluZGV4KTsKKyAgICAgICAgICAgIGlmIChvcGVyYXRvckNo
YXJhY3RlciAhPSAnKicgJiYgb3BlcmF0b3JDaGFyYWN0ZXIgIT0gJy8nICYmIG9wZXJhdG9yQ2hh
cmFjdGVyICE9ICclJykKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICsrKmlu
ZGV4OworCisgICAgICAgICAgICBWYWx1ZSByaHM7CisgICAgICAgICAgICBpZiAoIXBhcnNlVmFs
dWVUZXJtKHRva2VucywgZGVwdGgsIGluZGV4LCAmcmhzKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICAgICAgICAgIHJlc3VsdC0+dmFsdWUgPSBDU1NDYWxjQmluYXJ5T3Bl
cmF0aW9uVmFsdWU6OmNyZWF0ZShyZXN1bHQtPnZhbHVlLCByaHMudmFsdWUsIG9wZXJhdG9yQ2hh
cmFjdGVyKTsKKyAgICAgICAgICAgIGlmICghcmVzdWx0LT52YWx1ZSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKworICAgICAgICBBU1NFUlQoKmluZGV4IDw9IHRv
a2Vucy0+c2l6ZSgpKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgYm9vbCBw
YXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCBp
bnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAgICB7CisgICAgICAg
IGlmIChjaGVja0RlcHRoQW5kSW5kZXgoJmRlcHRoLCAqaW5kZXgsIHRva2VucykgIT0gT0spCisg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7ICAgIAorCisgICAgICAgIGlmICghcGFyc2VWYWx1ZU11
bHRpcGxpY2F0aXZlRXhwcmVzc2lvbih0b2tlbnMsIGRlcHRoLCBpbmRleCwgcmVzdWx0KSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICB3aGlsZSAoKmluZGV4IDwgdG9rZW5z
LT5zaXplKCkgLSAxKSB7CisgICAgICAgICAgICBjaGFyIG9wZXJhdG9yQ2hhcmFjdGVyID0gb3Bl
cmF0b3JWYWx1ZSh0b2tlbnMsICppbmRleCk7CisgICAgICAgICAgICBpZiAob3BlcmF0b3JDaGFy
YWN0ZXIgIT0gJysnICYmIG9wZXJhdG9yQ2hhcmFjdGVyICE9ICctJykKKyAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgICsrKmluZGV4OworCisgICAgICAgICAgICBWYWx1ZSByaHM7
CisgICAgICAgICAgICBpZiAoIXBhcnNlVmFsdWVNdWx0aXBsaWNhdGl2ZUV4cHJlc3Npb24odG9r
ZW5zLCBkZXB0aCwgaW5kZXgsICZyaHMpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgICAgICAgICAgcmVzdWx0LT52YWx1ZSA9IENTU0NhbGNCaW5hcnlPcGVyYXRpb25WYWx1
ZTo6Y3JlYXRlKHJlc3VsdC0+dmFsdWUsIHJocy52YWx1ZSwgb3BlcmF0b3JDaGFyYWN0ZXIpOwor
ICAgICAgICAgICAgaWYgKCFyZXN1bHQtPnZhbHVlKQorICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgfQorCisgICAgICAgIEFTU0VSVCgqaW5kZXggPD0gdG9rZW5zLT5zaXpl
KCkpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWVM
aXN0KENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRl
eCwgQ1NTQ2FsY01pbk1heFZhbHVlTGlzdCogcmVzdWx0KQorICAgIHsKKyAgICAgICAgYm9vbCBm
aXJzdCA9IHRydWU7CisgICAgICAgIHdoaWxlICgqaW5kZXggPCB0b2tlbnMtPnNpemUoKSkgewor
ICAgICAgICAgICAgVmFsdWUgbmV4dDsKKyAgICAgICAgICAgIGlmICghcGFyc2VWYWx1ZUV4cHJl
c3Npb24odG9rZW5zLCBkZXB0aCwgaW5kZXgsICZuZXh0KSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICAgICAgICAgIGlmIChmaXJzdCkgeworICAgICAgICAgICAgICAgIHJl
c3VsdC0+c2V0Q2F0ZWdvcnkobmV4dC52YWx1ZS0+Y2F0ZWdvcnkoKSk7CisgICAgICAgICAgICAg
ICAgcmVzdWx0LT5zZXRJc0ludChuZXh0LnZhbHVlLT5pc0ludCgpKTsKKyAgICAgICAgICAgICAg
ICBmaXJzdCA9IGZhbHNlOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBD
YWxjQ2F0ZWdvcnkgY3VycmVudCA9IHJlc3VsdC0+Y2F0ZWdvcnkoKTsKKyAgICAgICAgICAgICAg
ICBDYWxjQ2F0ZWdvcnkgaW5jb21pbmcgPSBuZXh0LnZhbHVlLT5jYXRlZ29yeSgpOworCisgICAg
ICAgICAgICAgICAgaWYgKGN1cnJlbnQgPT0gaW5jb21pbmcpCisgICAgICAgICAgICAgICAgICAg
IHJlc3VsdC0+c2V0Q2F0ZWdvcnkoY3VycmVudCk7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAo
Y3VycmVudCAhPSBDYWxjTnVtYmVyICYmIGluY29taW5nICE9IENhbGNOdW1iZXIpCisgICAgICAg
ICAgICAgICAgICAgIHJlc3VsdC0+c2V0Q2F0ZWdvcnkoQ2FsY1BlcmNlbnQpOworICAgICAgICAg
ICAgICAgIGVsc2UgCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
ICAgICAgICAKKyAgICAgICAgICAgICAgICByZXN1bHQtPnNldElzSW50KHJlc3VsdC0+aXNJbnQo
KSAmJiBuZXh0LnZhbHVlLT5pc0ludCgpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAor
ICAgICAgICAgICAgcmVzdWx0LT5hcHBlbmQobmV4dC52YWx1ZSk7CisKKyAgICAgICAgICAgIGlm
IChvcGVyYXRvclZhbHVlKHRva2VucywgKmluZGV4KSAhPSAnLCcpCisgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICArKyppbmRleDsKKyAgICAgICAgfQorCisgICAgICAgIEFTU0VS
VCgqaW5kZXggPD0gdG9rZW5zLT5zaXplKCkpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9
CisKKyAgICBib29sIHBhcnNlVmFsdWVFeHByZXNzaW9uKENTU1BhcnNlclZhbHVlTGlzdCogdG9r
ZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKHRva2VucywgZGVwdGgs
IGluZGV4LCByZXN1bHQpOworICAgIH0KK307CisKK1Bhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBD
U1NDYWxjVmFsdWU6OmNyZWF0ZUZyb21QYXJzZXJWYWx1ZUxpc3QoQ1NTUGFyc2VyU3RyaW5nIG5h
bWUsIENTU1BhcnNlclZhbHVlTGlzdCogcGFyc2VyVmFsdWVMaXN0KQoreyAgICAKKyAgICBDU1ND
YWxjVmFsdWVQYXJzZXIgcGFyc2VyOyAgICAKKworICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShu
YW1lLCAiLXdlYmtpdC1jYWxjKCIpKQorICAgICAgICByZXR1cm4gcGFyc2VyLnBhcnNlQ2FsYyhw
YXJzZXJWYWx1ZUxpc3QpOworICAgIAorICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAi
LXdlYmtpdC1taW4oIikpCisgICAgICAgIHJldHVybiBwYXJzZXIucGFyc2VNaW5NYXhMaXN0KENh
bGNNaW4sIHBhcnNlclZhbHVlTGlzdCk7CisgICAgCisgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNl
KG5hbWUsICItd2Via2l0LW1heCgiKSkKKyAgICAgICAgcmV0dXJuIHBhcnNlci5wYXJzZU1pbk1h
eExpc3QoQ2FsY01heCwgcGFyc2VyVmFsdWVMaXN0KTsKKworICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworICAgIHJldHVybiAwOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQ2FsY1ZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDBlZTQ4NGZiYWQ1NTkwNzg4MjVmNDllMDY5
ZDAwMWUyODJhYTFkZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
YWxjVmFsdWUuaApAQCAtMCwwICsxLDgyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDU1NDYWxjVmFsdWVfaAorI2RlZmlu
ZSBDU1NDYWxjVmFsdWVfaAorCisjaW5jbHVkZSAiQ1NTUGFyc2VyVmFsdWVzLmgiCisjaW5jbHVk
ZSAiQ1NTVmFsdWUuaCIKKyNpbmNsdWRlICJDYWxjVmFsdWUuaCIKKyNpbmNsdWRlIDx3dGYvUGFz
c093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBDU1NQYXJzZXJWYWx1ZUxpc3Q7CitjbGFzcyBDU1NWYWx1ZUxpc3Q7CitjbGFz
cyBSZW5kZXJTdHlsZTsKK2NsYXNzIENhbGNWYWx1ZTsKKworZW51bSBDYWxjQ2F0ZWdvcnkgewor
ICAgIENhbGNOdW1iZXIsCisgICAgQ2FsY1BlcmNlbnQsCisgICAgQ2FsY0xlbmd0aCwKKyAgICBD
YWxjT3RoZXIKK307CisgICAgCitjbGFzcyBDU1NDYWxjVmFsdWUgOiBwdWJsaWMgQ1NTVmFsdWUg
eworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0NhbGNWYWx1ZT4gY3JlYXRlRnJv
bVBhcnNlclZhbHVlTGlzdChDU1NQYXJzZXJTdHJpbmcgbmFtZSwgQ1NTUGFyc2VyVmFsdWVMaXN0
Kik7CisgICAgQ1NTQ2FsY1ZhbHVlKCkgCisgICAgICAgIDogbV9jYXRlZ29yeShDYWxjT3RoZXIp
CisgICAgICAgICwgbV9pc0ludCh0cnVlKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGJv
b2wgaXNDYWxjVmFsdWUoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKKyAgICB2aXJ0dWFsIGJv
b2wgaXNaZXJvKCkgY29uc3QgPSAwOworICAgIAorICAgIHZpcnR1YWwgUGFzc093blB0cjxDYWxj
VmFsdWU+IHRvQ2FsY1ZhbHVlKFJlbmRlclN0eWxlKiwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwg
ZG91YmxlIHpvb20gPSAxLjApIGNvbnN0ID0gMDsKKyAgICAKKyAgICBDYWxjQ2F0ZWdvcnkgY2F0
ZWdvcnkoKSBjb25zdCB7IHJldHVybiBtX2NhdGVnb3J5OyB9CisgICAgdm9pZCBzZXRDYXRlZ29y
eShDYWxjQ2F0ZWdvcnkgY2F0ZWdvcnkpIHsgbV9jYXRlZ29yeSA9IGNhdGVnb3J5OyB9CisgICAg
CisgICAgYm9vbCBpc0ludCgpIGNvbnN0IHsgcmV0dXJuIG1faXNJbnQ7IH0KKyAgICB2b2lkIHNl
dElzSW50KGJvb2wgaXNJbnQpIHsgbV9pc0ludCA9IGlzSW50OyB9CisgICAgCitwcm90ZWN0ZWQ6
ICAgIAorICAgIENhbGNDYXRlZ29yeSBtX2NhdGVnb3J5OworICAgIGJvb2wgbV9pc0ludDsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIENTU0NhbGNWYWx1ZV9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IDEyY2MxYmZlN2M3MmVhZTBhODVjOGEzNjU0OWU5
YzNkYmQxNjdmNGIuLjgxMjhmMmJlOWMyMTIzZGRhNDk5YTVhOWI3YThmYzBmMWUxNDA5MWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0xNjEsNiArMTYxLDE0IEBAIHN0YXRpYyBib29s
IGhhc1ByZWZpeChjb25zdCBjaGFyKiBzdHJpbmcsIHVuc2lnbmVkIGxlbmd0aCwgY29uc3QgY2hh
ciogcHJlZml4KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAorc3RhdGljIGJvb2wgaXNDYWxjTWlu
TWF4KENTU1BhcnNlclZhbHVlKiB2YWx1ZSkgCit7CisgICAgcmV0dXJuICh2YWx1ZS0+dW5pdCA9
PSBDU1NQYXJzZXJWYWx1ZTo6RnVuY3Rpb24pIAorICAgICAgICAmJiAoZXF1YWxJZ25vcmluZ0Nh
c2UodmFsdWUtPmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1jYWxjKCIpCisgICAgICAgICAgICB8
fCBlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZS0+ZnVuY3Rpb24tPm5hbWUsICItd2Via2l0LW1pbigi
KQorICAgICAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUtPmZ1bmN0aW9uLT5uYW1l
LCAiLXdlYmtpdC1tYXgoIikpOworfQorCiBDU1NQYXJzZXI6OkNTU1BhcnNlcihib29sIHN0cmlj
dFBhcnNpbmcpCiAgICAgOiBtX3N0cmljdChzdHJpY3RQYXJzaW5nKQogICAgICwgbV9pbXBvcnRh
bnQoZmFsc2UpCkBAIC02NjAsMTcgKzY2OCwzOCBAQCBEb2N1bWVudCogQ1NTUGFyc2VyOjpkb2N1
bWVudCgpIGNvbnN0CiBib29sIENTU1BhcnNlcjo6dmFsaWRVbml0KENTU1BhcnNlclZhbHVlKiB2
YWx1ZSwgVW5pdHMgdW5pdGZsYWdzLCBib29sIHN0cmljdCkKIHsKICAgICBib29sIGIgPSBmYWxz
ZTsKKyAgICBpZiAoaXNDYWxjTWluTWF4KHZhbHVlKSkgeworICAgICAgICBpZiAoIXBhcnNlQ2Fs
Yyh2YWx1ZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIAorICAgICAgICBz
d2l0Y2ggKG1fcGFyc2VkQ2FsYy0+Y2F0ZWdvcnkoKSkgeworICAgICAgICBjYXNlIENhbGNMZW5n
dGg6CisgICAgICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZMZW5ndGgpOworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIGNhc2UgQ2FsY1BlcmNlbnQ6CisgICAgICAgICAgICBiID0gKHVuaXRm
bGFncyAmIEZQZXJjZW50KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENhbGNO
dW1iZXI6CisgICAgICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZOdW1iZXIpOworICAgICAgICAg
ICAgaWYgKCFiICYmICh1bml0ZmxhZ3MgJiBGSW50ZWdlcikgJiYgbV9wYXJzZWRDYWxjLT5pc0lu
dCgpKQorICAgICAgICAgICAgICAgIGIgPSB0cnVlOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGNhc2UgQ2FsY090aGVyOgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAg
ICAgcmV0dXJuIGI7CisgICAgfQogICAgIHN3aXRjaCAodmFsdWUtPnVuaXQpIHsKICAgICBjYXNl
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSOgogICAgICAgICBiID0gKHVuaXRmbGFncyAm
IEZOdW1iZXIpOwotICAgICAgICBpZiAoIWIgJiYgKCh1bml0ZmxhZ3MgJiAoRkxlbmd0aCB8IEZB
bmdsZSB8IEZUaW1lKSkgJiYgKHZhbHVlLT5mVmFsdWUgPT0gMCB8fCAhc3RyaWN0KSkpIHsKKyAg
ICAgICAgaWYgKCFiICYmICgodW5pdGZsYWdzICYgKEZMZW5ndGggfCBGQW5nbGUgfCBGVGltZSkp
ICYmICghdmFsdWUtPmZWYWx1ZSB8fCAhc3RyaWN0KSkpIHsKICAgICAgICAgICAgIHZhbHVlLT51
bml0ID0gKHVuaXRmbGFncyAmIEZMZW5ndGgpID8gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QWCA6
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICgodW5pdGZsYWdzICYgRkFuZ2xlKSA/IENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NfREVHIDogQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19NUyk7CiAgICAg
ICAgICAgICBiID0gdHJ1ZTsKICAgICAgICAgfQogICAgICAgICBpZiAoIWIgJiYgKHVuaXRmbGFn
cyAmIEZJbnRlZ2VyKSAmJiB2YWx1ZS0+aXNJbnQpCiAgICAgICAgICAgICBiID0gdHJ1ZTsKLSAg
ICAgICAgYnJlYWs7CisgICAgICAgIGJyZWFrOyAgICAgICAgICAgIAogICAgIGNhc2UgQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFOgogICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZQ
ZXJjZW50KTsKICAgICAgICAgYnJlYWs7CkBAIC04MDYsNiArODM1LDkgQEAgaW5saW5lIFBhc3NS
ZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VWYWxpZFByaW1pdGl2ZShp
bnQgaWQsIENTU1AKICAgICAgICAgcmV0dXJuIGNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZSh2
YWx1ZSk7CiAgICAgaWYgKHZhbHVlLT51bml0ID49IENTU1BhcnNlclZhbHVlOjpRX0VNUykKICAg
ICAgICAgcmV0dXJuIENTU1F1aXJrUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZSh2YWx1ZS0+ZlZhbHVl
LCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0VNUyk7CisgICAgaWYgKGlzQ2FsY01pbk1heCh2YWx1
ZSkpCisgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKG1fcGFyc2VkQ2Fs
Yy5yZWxlYXNlKCkpOworCiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTgxOSw2ICs4NTEsMTAgQEAg
Ym9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAg
ICAgaWYgKCF2YWx1ZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgLy8gTm90ZTogbV9w
YXJzZWRDYWxjIGlzIHVzZWQgdG8gcGFzcyB0aGUgY2FsYyB2YWx1ZSB0byBpc1ZhbGlkVW5pdCBh
bmQgdGhlbiBjbGVhcmVkIGF0IHRoZSBlbmQgb2YgdGhpcyBmdW5jdGlvbi4KKyAgICAvLyBGSVhN
RTogVGhpcyBpcyB0byBhdm9pZCBoYXZpbmcgdG8gcGFzcyBwYXJzZWRDYWxjIHRvIGFsbCBpc1Zh
bGlkVW5pdCBjYWxsZXJzLgorICAgIEFTU0VSVCghbV9wYXJzZWRDYWxjKTsKKyAgICAKICAgICBp
bnQgaWQgPSB2YWx1ZS0+aWQ7CiAKICAgICAvLyBJbiBxdWlya3MgbW9kZSwgd2Ugd2lsbCBsb29r
IGZvciB1bml0cyB0aGF0IGhhdmUgYmVlbiBpbmNvcnJlY3RseSBzZXBhcmF0ZWQgZnJvbSB0aGUg
bnVtYmVyIHRoZXkgYmVsb25nIHRvCkBAIC0yMTIzLDYgKzIxNTksNyBAQCBib29sIENTU1BhcnNl
cjo6cGFyc2VWYWx1ZShpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgcGFyc2Vk
VmFsdWUgPSBwYXJzZVZhbGlkUHJpbWl0aXZlKGlkLCB2YWx1ZSk7CiAgICAgICAgIG1fdmFsdWVM
aXN0LT5uZXh0KCk7CiAgICAgfQorICAgIEFTU0VSVCghbV9wYXJzZWRDYWxjKTsKICAgICBpZiAo
cGFyc2VkVmFsdWUpIHsKICAgICAgICAgaWYgKCFtX3ZhbHVlTGlzdC0+Y3VycmVudCgpIHx8IGlu
U2hvcnRoYW5kKCkpIHsKICAgICAgICAgICAgIGFkZFByb3BlcnR5KHByb3BJZCwgcGFyc2VkVmFs
dWUucmVsZWFzZSgpLCBpbXBvcnRhbnQpOwpAQCAtNjM3OCw2ICs2NDE1LDIyIEBAIGJvb2wgQ1NT
UGFyc2VyOjpwYXJzZUZvbnRGZWF0dXJlU2V0dGluZ3MoYm9vbCBpbXBvcnRhbnQpCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCitib29sIENTU1BhcnNlcjo6cGFyc2VDYWxjKENTU1BhcnNlclZhbHVl
KiB2YWx1ZSkgCit7CisgICAgQVNTRVJUKGlzQ2FsY01pbk1heCh2YWx1ZSkpOworICAgIAorICAg
IENTU1BhcnNlclZhbHVlTGlzdCogYXJncyA9IHZhbHVlLT5mdW5jdGlvbi0+YXJncy5nZXQoKTsK
KyAgICBpZiAoIWFyZ3MgfHwgIWFyZ3MtPnNpemUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgbV9wYXJzZWRDYWxjID0gQ1NTQ2FsY1ZhbHVlOjpjcmVhdGVGcm9tUGFyc2VyVmFsdWVM
aXN0KHZhbHVlLT5mdW5jdGlvbi0+bmFtZSwgYXJncyk7CisgICAgCisgICAgaWYgKCFtX3BhcnNl
ZENhbGMuZ2V0KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKyAgICAKIHN0YXRpYyBpbmxpbmUgaW50IHl5ZXJyb3IoY29uc3QgY2hhciopIHsgcmV0
dXJuIDE7IH0KIAogI2RlZmluZSBFTkRfVE9LRU4gMApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4
IDhlM2ZlNzc0NTg4N2NlMzY5YTFkY2ZlN2UxN2I5Y2EyZmYxNmE3MzIuLjgwOTI1Mjg1MjA1Yzdh
ZmY0YWU0N2Q2Y2RiMjJlYWUyMzc3YzQ3MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTIz
LDYgKzIzLDcgQEAKICNpZm5kZWYgQ1NTUGFyc2VyX2gKICNkZWZpbmUgQ1NTUGFyc2VyX2gKIAor
I2luY2x1ZGUgIkNTU0NhbGNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0dyYWRpZW50VmFsdWUuaCIK
ICNpbmNsdWRlICJDU1NQYXJzZXJWYWx1ZXMuaCIKICNpbmNsdWRlICJDU1NQcm9wZXJ0eVNvdXJj
ZURhdGEuaCIKQEAgLTE4Nyw2ICsxODgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IGJvb2wgcGFyc2VUZXh0RW1waGFzaXNTdHlsZShib29sIGltcG9ydGFudCk7CiAKICAgICAgICAg
Ym9vbCBwYXJzZUxpbmVCb3hDb250YWluKGJvb2wgaW1wb3J0YW50KTsKKyAgICAgICAgYm9vbCBw
YXJzZUNhbGMoQ1NTUGFyc2VyVmFsdWUqKTsKIAogICAgICAgICBib29sIHBhcnNlRm9udEZlYXR1
cmVUYWcoQ1NTVmFsdWVMaXN0Kik7CiAgICAgICAgIGJvb2wgcGFyc2VGb250RmVhdHVyZVNldHRp
bmdzKGJvb2wgaW1wb3J0YW50KTsKQEAgLTM0OCw2ICszNTAsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICAgICAgVmVjdG9yPE93blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gPiBtX3JldXNh
YmxlU2VsZWN0b3JWZWN0b3I7CiAKKyAgICAgICAgUmVmUHRyPENTU0NhbGNWYWx1ZT4gbV9wYXJz
ZWRDYWxjOworCiAgICAgICAgIC8vIGRlZmluZXMgdW5pdHMgYWxsb3dlZCBmb3IgYSBjZXJ0YWlu
IHByb3BlcnR5LCB1c2VkIGluIHBhcnNlVW5pdAogICAgICAgICBlbnVtIFVuaXRzIHsKICAgICAg
ICAgICAgIEZVbmtub3duICAgPSAweDAwMDAsCkBAIC0zNjcsNyArMzcxLDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFVuaXRzPihzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oYSkgfCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oYikpOwogICAgICAgICB9
CiAKLSAgICAgICAgc3RhdGljIGJvb2wgdmFsaWRVbml0KENTU1BhcnNlclZhbHVlKiwgVW5pdHMs
IGJvb2wgc3RyaWN0KTsKKyAgICAgICAgYm9vbCB2YWxpZFVuaXQoQ1NTUGFyc2VyVmFsdWUqLCBV
bml0cywgYm9vbCBzdHJpY3QpOwogCiAgICAgICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFs
dWU+IGNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZShDU1NQYXJzZXJWYWx1ZSopOwogICAgICAg
ICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjcmVhdGVQcmltaXRpdmVTdHJpbmdWYWx1
ZShDU1NQYXJzZXJWYWx1ZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlclZhbHVlcy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCmluZGV4
IGNmNmMwN2I4NzZjOTI5ZmFiMzI4YmFmOGE0OTg5ODA4NjgyY2RjYTcuLjRkOTBmY2Q2OWZmNmUw
N2M0YWJjZmI4YmVlNGQxMjc0MzFhMjk5YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXJWYWx1ZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFs
dWVzLmgKQEAgLTU2LDggKzU2LDYgQEAgc3RydWN0IENTU1BhcnNlclZhbHVlIHsKICAgICAgICAg
UV9FTVMgICAgPSAweDEwMDAwMgogICAgIH07CiAgICAgaW50IHVuaXQ7Ci0gICAgCi0gICAgCiAg
ICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gY3JlYXRlQ1NTVmFsdWUoKTsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCmluZGV4IDk4MTZkYTU3NzA3MWUyNzQ2MGJi
MzQ4YTI2YTI5MGU1N2E5YzQ2NDguLmE2ZWFiZDU4ODA3ZjMxMTFkMzg4OTQ0MjQxMDc4MzE0NmZj
MzBjN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcApAQCAtMjEs
MTIgKzIxLDE0IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZl
VmFsdWUuaCIKIAorI2luY2x1ZGUgIkNTU0NhbGNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0hlbHBl
ci5oIgogI2luY2x1ZGUgIkNTU1BhcnNlci5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMu
aCIKICNpbmNsdWRlICJDU1NTdHlsZVNoZWV0LmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jk
cy5oIgogI2luY2x1ZGUgIkNTU1dyYXBTaGFwZXMuaCIKKyNpbmNsdWRlICJDYWxjVmFsdWUuaCIK
ICNpbmNsdWRlICJDb2xvci5oIgogI2luY2x1ZGUgIkNvdW50ZXIuaCIKICNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCkBAIC04Nyw2ICs4OSwyMiBAQCBzdGF0aWMgQ1NTVGV4dENhY2hlJiBjc3NU
ZXh0Q2FjaGUoKQogICAgIHJldHVybiBjYWNoZTsKIH0KIAordW5zaWduZWQgc2hvcnQgQ1NTUHJp
bWl0aXZlVmFsdWU6OnByaW1pdGl2ZVR5cGUoKSBjb25zdCAKK3sKKyAgICBpZiAobV90eXBlICE9
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfQ0FMQykKKyAgICAgICAgcmV0dXJuIG1fdHlwZTsgCisg
ICAgCisgICAgc3dpdGNoIChtX3ZhbHVlLmNhbGMtPmNhdGVnb3J5KCkpIHsKKyAgICBjYXNlIENh
bGNOdW1iZXI6CisgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BBUlNFUl9J
TlRFR0VSOworICAgIGNhc2UgQ2FsY1BlcmNlbnQ6CisgICAgICAgIHJldHVybiBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX0NBTENfUEVSQ0VOVEFHRTsKKyAgICBjYXNlIENhbGNMZW5ndGg6CisgICAg
ICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYOworICAgIGRlZmF1bHQ6CisgICAg
ICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1VOS05PV047CisgICAgfQorfQogc3Rh
dGljIGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWVPclByb3BlcnR5TmFtZShpbnQgdmFsdWVPclBy
b3BlcnR5SUQpCiB7CiAgICAgQVNTRVJUX0FSRyh2YWx1ZU9yUHJvcGVydHlJRCwgdmFsdWVPclBy
b3BlcnR5SUQgPj0gMCk7CkBAIC0xNzQsNiArMTkyLDkgQEAgQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U1ByaW1pdGl2ZVZhbHVlKGNvbnN0IExlbmd0aCYgbGVuZ3RoKQogICAgICAgICAgICAgQVNTRVJU
KGlzZmluaXRlKGxlbmd0aC5wZXJjZW50KCkpKTsKICAgICAgICAgICAgIG1fdmFsdWUubnVtID0g
bGVuZ3RoLnBlcmNlbnQoKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENhbGN1
bGF0ZWQ6IC8vIEZJWE1FIGlzIHRoaXMgY29ycmVjdD8KKyAgICAgICAgICAgIG1fdHlwZSA9IENT
U19VTktOT1dOOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgUmVsYXRpdmU6CiAg
ICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAt
MjEwLDYgKzIzMSwxMyBAQCB2b2lkIENTU1ByaW1pdGl2ZVZhbHVlOjppbml0KFBhc3NSZWZQdHI8
UGFpcj4gcCkKICAgICBtX3ZhbHVlLnBhaXIgPSBwLnJlbGVhc2VSZWYoKTsKIH0KIAordm9pZCBD
U1NQcmltaXRpdmVWYWx1ZTo6aW5pdChQYXNzUmVmUHRyPENTU0NhbGNWYWx1ZT4gYykKK3sKKyAg
ICBtX3R5cGUgPSBDU1NfQ0FMQzsKKyAgICBtX2hhc0NhY2hlZENTU1RleHQgPSBmYWxzZTsKKyAg
ICBtX3ZhbHVlLmNhbGMgPSBjLnJlbGVhc2VSZWYoKTsKK30KKwogdm9pZCBDU1NQcmltaXRpdmVW
YWx1ZTo6aW5pdChQYXNzUmVmUHRyPENTU1dyYXBTaGFwZT4gc2hhcGUpCiB7CiAgICAgbV90eXBl
ID0gQ1NTX1NIQVBFOwpAQCAtMjQ4LDYgKzI3Niw5IEBAIHZvaWQgQ1NTUHJpbWl0aXZlVmFsdWU6
OmNsZWFudXAoKQogICAgICAgICAgICAgICAgIG1fdmFsdWUucmVnaW9uLT5kZXJlZigpOwogICAg
ICAgICAgICAgYnJlYWs7CiAjZW5kaWYKKyAgICAgICAgY2FzZSBDU1NfQ0FMQzoKKyAgICAgICAg
ICAgIG1fdmFsdWUuY2FsYy0+ZGVyZWYoKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBj
YXNlIENTU19TSEFQRToKICAgICAgICAgICAgIG1fdmFsdWUuc2hhcGUtPmRlcmVmKCk7CiAgICAg
ICAgICAgICBicmVhazsKQEAgLTM0Miw3ICszNzMsMTcgQEAgZG91YmxlIENTU1ByaW1pdGl2ZVZh
bHVlOjpjb21wdXRlTGVuZ3RoRG91YmxlKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUq
IHIKICAgICAgICAgICAgIHJldHVybiAtMS4wOwogICAgIH0KIAotICAgIGRvdWJsZSByZXN1bHQg
PSBnZXREb3VibGVWYWx1ZSgpICogZmFjdG9yOworICAgIGRvdWJsZSB2YWx1ZTsKKyAgICBpZiAo
bV90eXBlICE9IENTU19DQUxDKQorICAgICAgICB2YWx1ZSA9IGdldERvdWJsZVZhbHVlKCk7Cisg
ICAgZWxzZSB7CisgICAgICAgIE93blB0cjxDYWxjVmFsdWU+IGNhbGNWYWx1ZSA9IG1fdmFsdWUu
Y2FsYy0+dG9DYWxjVmFsdWUoc3R5bGUsIHJvb3RTdHlsZSwgMS4wKTsKKyAgICAgICAgaWYgKGNh
bGNWYWx1ZS5nZXQoKSkKKyAgICAgICAgICAgIHZhbHVlID0gY2FsY1ZhbHVlLT5ldmFsdWF0ZShG
TFRfTUFYKTsKKyAgICAgICAgZWxzZSAKKyAgICAgICAgICAgIHZhbHVlID0gMDsKKyAgICB9Cisg
ICAgZG91YmxlIHJlc3VsdCA9IHZhbHVlICogZmFjdG9yOwogICAgIGlmICghYXBwbHlab29tTXVs
dGlwbGllciB8fCBtdWx0aXBsaWVyID09IDEuMCkKICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAg
ICAgCkBAIC00MjgsNiArNDY5LDE4IEBAIGRvdWJsZSBDU1NQcmltaXRpdmVWYWx1ZTo6Z2V0RG91
YmxlVmFsdWUodW5zaWduZWQgc2hvcnQgdW5pdFR5cGUpIGNvbnN0CiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIAorZG91YmxlIENTU1ByaW1pdGl2ZVZhbHVlOjpnZXREb3VibGVWYWx1ZSgpIGNvbnN0
Cit7IAorICAgIGlmIChtX3R5cGUgIT0gQ1NTX0NBTEMpCisgICAgICAgIHJldHVybiBtX3ZhbHVl
Lm51bTsgCisgICAgCisgICAgT3duUHRyPENhbGNWYWx1ZT4gY2FsY1ZhbHVlID0gbV92YWx1ZS5j
YWxjLT50b0NhbGNWYWx1ZSgwLCAwLCAxLjApOworICAgIGlmIChjYWxjVmFsdWUuZ2V0KCkpCisg
ICAgICAgIHJldHVybiBjYWxjVmFsdWUtPmV2YWx1YXRlKDEpOworICAgIAorICAgIHJldHVybiAw
OworfQorCiBDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzIENTU1ByaW1pdGl2ZVZhbHVlOjpj
YW5vbmljYWxVbml0VHlwZUZvckNhdGVnb3J5KFVuaXRDYXRlZ29yeSBjYXRlZ29yeSkKIHsKICAg
ICAvLyBUaGUgY2Fub25pY2FsIHVuaXQgdHlwZSBpcyBjaG9zZW4gYWNjb3JkaW5nIHRvIHRoZSB3
YXkgQ1NTUGFyc2VyOjp2YWxpZFVuaXQoKSBjaG9vc2VzIHRoZSBkZWZhdWx0IHVuaXQKQEAgLTgz
MCw2ICs4ODMsOSBAQCBTdHJpbmcgQ1NTUHJpbWl0aXZlVmFsdWU6OmNzc1RleHQoKSBjb25zdAog
ICAgICAgICBjYXNlIENTU19QQVJTRVJfSURFTlRJRklFUjoKICAgICAgICAgICAgIHRleHQgPSBx
dW90ZUNTU1N0cmluZ0lmTmVlZGVkKG1fdmFsdWUuc3RyaW5nKTsKICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIENTU19DQUxDOgorICAgICAgICAgICAgdGV4dCA9IG1fdmFsdWUuY2Fs
Yy0+Y3NzVGV4dCgpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ1NTX1NIQVBF
OgogICAgICAgICAgICAgdGV4dCA9IG1fdmFsdWUuc2hhcGUtPmNzc1RleHQoKTsKICAgICAgICAg
ICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZh
bHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaAppbmRleCA2ZjZk
NGFiMDliMWNlNDI5MTg1ZDZmOTM0YTY1MGU5NjUxYTA0YTQ5Li5jODA0M2UzYjRmNTMyOTE5M2Fj
NmE2MDk1MTJhOTZiZWY1NmU1YTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFs
dWUuaApAQCAtMzAsNiArMzAsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIENT
U0NhbGNWYWx1ZTsKIGNsYXNzIENvdW50ZXI7CiBjbGFzcyBEYXNoYm9hcmRSZWdpb247CiBjbGFz
cyBQYWlyOwpAQCAtOTksNyArMTAwLDEwIEBAIHB1YmxpYzoKICAgICAgICAgQ1NTX0ZST01fRkxP
VyA9IDExMCwKIAogICAgICAgICAvLyBUaGlzIGlzIHVzZWQgYnkgdGhlIENTUyBFeGNsdXNpb25z
IGRyYWZ0Ci0gICAgICAgIENTU19TSEFQRSA9IDExMQorICAgICAgICBDU1NfU0hBUEUgPSAxMTEs
CisKKyAgICAgICAgQ1NTX0NBTEMgPSAxMTIsCisgICAgICAgIENTU19DQUxDX1BFUkNFTlRBR0Ug
PSAxMTMKICAgICB9OwogICAgIAogICAgIC8vIFRoaXMgZW51bSBmb2xsb3dzIHRoZSBDU1NQYXJz
ZXI6OlVuaXRzIGVudW0gYXVnbWVudGVkIHdpdGggVU5JVF9GUkVRVUVOQ1kgZm9yIGZyZXF1ZW5j
aWVzLgpAQCAtMTMyLDcgKzEzNiw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2xlYW51cCgpOwog
Ci0gICAgdW5zaWduZWQgc2hvcnQgcHJpbWl0aXZlVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlw
ZTsgfQorICAgIHVuc2lnbmVkIHNob3J0IHByaW1pdGl2ZVR5cGUoKSBjb25zdDsKIAogICAgIC8q
CiAgICAgICogY29tcHV0ZXMgYSBsZW5ndGggaW4gcGl4ZWxzIG91dCBvZiB0aGUgZ2l2ZW4gQ1NT
VmFsdWUuIE5lZWQgdGhlIFJlbmRlclN0eWxlIHRvIGdldApAQCAtMTUxLDcgKzE1NSw3IEBAIHB1
YmxpYzoKICAgICAKICAgICBkb3VibGUgZ2V0RG91YmxlVmFsdWUodW5zaWduZWQgc2hvcnQgdW5p
dFR5cGUsIEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKICAgICBkb3VibGUgZ2V0RG91YmxlVmFsdWUo
dW5zaWduZWQgc2hvcnQgdW5pdFR5cGUpIGNvbnN0OwotICAgIGRvdWJsZSBnZXREb3VibGVWYWx1
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmFsdWUubnVtOyB9CisgICAgZG91YmxlIGdldERvdWJsZVZh
bHVlKCkgY29uc3Q7CiAKICAgICB2b2lkIHNldEZsb2F0VmFsdWUodW5zaWduZWQgc2hvcnQgdW5p
dFR5cGUsIGRvdWJsZSBmbG9hdFZhbHVlLCBFeGNlcHRpb25Db2RlJik7CiAgICAgZmxvYXQgZ2V0
RmxvYXRWYWx1ZSh1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSwgRXhjZXB0aW9uQ29kZSYgZWMpIGNv
bnN0IHsgcmV0dXJuIGdldFZhbHVlPGZsb2F0Pih1bml0VHlwZSwgZWMpOyB9CkBAIC0xODUsNiAr
MTg5LDggQEAgcHVibGljOgogICAgIERhc2hib2FyZFJlZ2lvbiogZ2V0RGFzaGJvYXJkUmVnaW9u
VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgIT0gQ1NTX0RBU0hCT0FSRF9SRUdJT04gPyAw
IDogbV92YWx1ZS5yZWdpb247IH0KIAogICAgIENTU1dyYXBTaGFwZSogZ2V0U2hhcGVWYWx1ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fdHlwZSAhPSBDU1NfU0hBUEUgPyAwIDogbV92YWx1ZS5zaGFwZTsg
fQorICAgIAorICAgIENTU0NhbGNWYWx1ZSogY3NzQ2FsY1ZhbHVlKCkgY29uc3QgeyByZXR1cm4g
bV90eXBlICE9IENTU19DQUxDID8gMCA6IG1fdmFsdWUuY2FsYzsgfQogCiAgICAgaW50IGdldElk
ZW50KCkgY29uc3Q7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIG9wZXJhdG9yIFQo
KSBjb25zdDsgLy8gRGVmaW5lZCBpbiBDU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTIy
Niw3ICsyMzIsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgaW5pdChQYXNzUmVmUHRyPFBhaXI+KTsK
ICAgICB2b2lkIGluaXQoUGFzc1JlZlB0cjxEYXNoYm9hcmRSZWdpb24+KTsgLy8gRklYTUU6IERh
c2hib2FyZCByZWdpb24gc2hvdWxkIG5vdCBiZSBhIHByaW1pdGl2ZSB2YWx1ZS4KICAgICB2b2lk
IGluaXQoUGFzc1JlZlB0cjxDU1NXcmFwU2hhcGU+KTsKLQorICAgIHZvaWQgaW5pdChQYXNzUmVm
UHRyPENTU0NhbGNWYWx1ZT4pOwogICAgIGJvb2wgZ2V0RG91YmxlVmFsdWVJbnRlcm5hbChVbml0
VHlwZXMgdGFyZ2V0VW5pdFR5cGUsIGRvdWJsZSogcmVzdWx0KSBjb25zdDsKIAogICAgIGRvdWJs
ZSBjb21wdXRlTGVuZ3RoRG91YmxlKFJlbmRlclN0eWxlKiBjdXJyZW50U3R5bGUsIFJlbmRlclN0
eWxlKiByb290U3R5bGUsIGRvdWJsZSBtdWx0aXBsaWVyLCBib29sIGNvbXB1dGluZ0ZvbnRTaXpl
KTsKQEAgLTI0Nyw2ICsyNTMsNyBAQCBwcml2YXRlOgogICAgICAgICBQYWlyKiBwYWlyOwogICAg
ICAgICBEYXNoYm9hcmRSZWdpb24qIHJlZ2lvbjsKICAgICAgICAgQ1NTV3JhcFNoYXBlKiBzaGFw
ZTsKKyAgICAgICAgQ1NTQ2FsY1ZhbHVlKiBjYWxjOwogICAgIH0gbV92YWx1ZTsKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZUFwcGx5UHJvcGVydHkuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAKaW5kZXggODI3ODM2
M2U3NDFiZTI4MjBlZDZjNjlkNDFhYzgzYWVjNmQxZDBiZS4uYTQ1ZGY3ODc2MWZkNTM1OTU4Mzgz
NjlhNzM5YjBiZmE0MDllZmZkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0
eWxlQXBwbHlQcm9wZXJ0eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlQXBw
bHlQcm9wZXJ0eS5jcHAKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJDU1NTdHlsZUFwcGx5UHJvcGVydHkuaCIKIAorI2luY2x1ZGUgIkNTU0NhbGNWYWx1
ZS5oIgogI2luY2x1ZGUgIkNTU0N1cnNvckltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NGbGV4
VmFsdWUuaCIKICNpbmNsdWRlICJDU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgiCkBAIC0zMjgs
NiArMzI5LDEyIEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgc2V0VmFsdWUoc2VsZWN0b3It
PnN0eWxlKCksIGxlbmd0aCk7CiAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFKQogICAgICAgICAgICAgICAgIHNldFZhbHVlKHNl
bGVjdG9yLT5zdHlsZSgpLCBMZW5ndGgocHJpbWl0aXZlVmFsdWUtPmdldERvdWJsZVZhbHVlKCks
IFBlcmNlbnQpKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKHR5cGUgPT0gQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19DQUxDX1BFUkNFTlRBR0UpIHsKKyAgICAgICAgICAgICAgICBPd25QdHI8Q2FsY1Zh
bHVlPiBjYWxjVmFsdWUgPSBwcmltaXRpdmVWYWx1ZS0+Y3NzQ2FsY1ZhbHVlKCktPnRvQ2FsY1Zh
bHVlKHNlbGVjdG9yLT5zdHlsZSgpLCBzZWxlY3Rvci0+cm9vdEVsZW1lbnRTdHlsZSgpLCBzZWxl
Y3Rvci0+c3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKTsKKyAgICAgICAgICAgICAgICBpZiAoIWNh
bGNWYWx1ZS5nZXQoKSkKKyAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAg
ICBzZXRWYWx1ZShzZWxlY3Rvci0+c3R5bGUoKSwgTGVuZ3RoKGNhbGNWYWx1ZS5yZWxlYXNlKCkp
KTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3R5bGVTZWxlY3Rvci5jcHAKaW5kZXggMDg0NWI3YWQ1MGYyNmI1OTYzMjQ2Mzk3ODE0MDIx
ZTc2OTRhMDYxMy4uMWVmNjFmNTc3YTRhMzhmNmI4MWE0ZjhkYTg4OGYwNWM2NWE5YTI0OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtMjksMTAgKzI5LDEyIEBA
CiAjaW5jbHVkZSAiQ1NTU3R5bGVTZWxlY3Rvci5oIgogCiAjaW5jbHVkZSAiQXR0cmlidXRlLmgi
CisjaW5jbHVkZSAiQ2FsY1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ29udGVudERhdGEuaCIKICNpbmNs
dWRlICJDb3VudGVyQ29udGVudC5oIgogI2luY2x1ZGUgIkN1cnNvckxpc3QuaCIKICNpbmNsdWRl
ICJDU1NCb3JkZXJJbWFnZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTQ2FsY1ZhbHVlLmgiCiAjaW5j
bHVkZSAiQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRGYWNlUnVsZS5o
IgogI2luY2x1ZGUgIkNTU0ZvbnRTZWxlY3Rvci5oIgpAQCAtMTA3LDYgKzEwOSw3IEBACiAjaW5j
bHVkZSAiV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuaCIKICNpbmNsdWRlICJXZWJLaXRGb250RmFt
aWx5TmFtZXMuaCIKICNpbmNsdWRlICJYTUxOYW1lcy5oIgorI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgogCkBAIC0zMzM2LDEyICszMzM5LDEyIEBAIHN0YXRpYyBMZW5ndGggY29udmVydFRvTGVuZ3Ro
KENTU1ByaW1pdGl2ZVZhbHVlKiBwcmltaXRpdmVWYWx1ZSwgUmVuZGVyU3R5bGUqIHN0CiAgICAg
cmV0dXJuIGw7CiB9CiAgICAgCi1zdGF0aWMgTGVuZ3RoIGNvbnZlcnRUb0ludExlbmd0aChDU1NQ
cmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUsIFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVy
U3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIG11bHRpcGxpZXIgPSAxLCBib29sICpvayA9IDApCitM
ZW5ndGggQ1NTU3R5bGVTZWxlY3Rvcjo6Y29udmVydFRvSW50TGVuZ3RoKENTU1ByaW1pdGl2ZVZh
bHVlKiBwcmltaXRpdmVWYWx1ZSwgUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9v
dFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciwgYm9vbCAqb2spCiB7CiAgICAgcmV0dXJuIGNvbnZl
cnRUb0xlbmd0aChwcmltaXRpdmVWYWx1ZSwgc3R5bGUsIHJvb3RTdHlsZSwgZmFsc2UsIG11bHRp
cGxpZXIsIG9rKTsKIH0KIAotc3RhdGljIExlbmd0aCBjb252ZXJ0VG9GbG9hdExlbmd0aChDU1NQ
cmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUsIFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVy
U3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIG11bHRpcGxpZXIgPSAxLCBib29sICpvayA9IDApCitM
ZW5ndGggQ1NTU3R5bGVTZWxlY3Rvcjo6Y29udmVydFRvRmxvYXRMZW5ndGgoQ1NTUHJpbWl0aXZl
VmFsdWUqIHByaW1pdGl2ZVZhbHVlLCBSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiBy
b290U3R5bGUsIGRvdWJsZSBtdWx0aXBsaWVyLCBib29sICpvaykKIHsKICAgICByZXR1cm4gY29u
dmVydFRvTGVuZ3RoKHByaW1pdGl2ZVZhbHVlLCBzdHlsZSwgcm9vdFN0eWxlLCB0cnVlLCBtdWx0
aXBsaWVyLCBvayk7CiB9CkBAIC01MTQwLDE0ICs1MTQzLDIzIEBAIHZvaWQgQ1NTU3R5bGVTZWxl
Y3Rvcjo6YXBwbHlQYWdlU2l6ZVByb3BlcnR5KENTU1ZhbHVlKiB2YWx1ZSkKIAogYm9vbCBDU1NT
dHlsZVNlbGVjdG9yOjpwYWdlU2l6ZUZyb21OYW1lKENTU1ByaW1pdGl2ZVZhbHVlKiBwYWdlU2l6
ZU5hbWUsIENTU1ByaW1pdGl2ZVZhbHVlKiBwYWdlT3JpZW50YXRpb24sIExlbmd0aCYgd2lkdGgs
IExlbmd0aCYgaGVpZ2h0KQogewotICAgIHN0YXRpYyBjb25zdCBMZW5ndGggYTVXaWR0aCA9IG1t
TGVuZ3RoKDE0OCksIGE1SGVpZ2h0ID0gbW1MZW5ndGgoMjEwKTsKLSAgICBzdGF0aWMgY29uc3Qg
TGVuZ3RoIGE0V2lkdGggPSBtbUxlbmd0aCgyMTApLCBhNEhlaWdodCA9IG1tTGVuZ3RoKDI5Nyk7
Ci0gICAgc3RhdGljIGNvbnN0IExlbmd0aCBhM1dpZHRoID0gbW1MZW5ndGgoMjk3KSwgYTNIZWln
aHQgPSBtbUxlbmd0aCg0MjApOwotICAgIHN0YXRpYyBjb25zdCBMZW5ndGggYjVXaWR0aCA9IG1t
TGVuZ3RoKDE3NiksIGI1SGVpZ2h0ID0gbW1MZW5ndGgoMjUwKTsKLSAgICBzdGF0aWMgY29uc3Qg
TGVuZ3RoIGI0V2lkdGggPSBtbUxlbmd0aCgyNTApLCBiNEhlaWdodCA9IG1tTGVuZ3RoKDM1Myk7
Ci0gICAgc3RhdGljIGNvbnN0IExlbmd0aCBsZXR0ZXJXaWR0aCA9IGluY2hMZW5ndGgoOC41KSwg
bGV0dGVySGVpZ2h0ID0gaW5jaExlbmd0aCgxMSk7Ci0gICAgc3RhdGljIGNvbnN0IExlbmd0aCBs
ZWdhbFdpZHRoID0gaW5jaExlbmd0aCg4LjUpLCBsZWdhbEhlaWdodCA9IGluY2hMZW5ndGgoMTQp
OwotICAgIHN0YXRpYyBjb25zdCBMZW5ndGggbGVkZ2VyV2lkdGggPSBpbmNoTGVuZ3RoKDExKSwg
bGVkZ2VySGVpZ2h0ID0gaW5jaExlbmd0aCgxNyk7CisgICAgc3RhdGljIGNvbnN0IExlbmd0aCYg
YTVXaWR0aCA9IG1tTGVuZ3RoKDE0OCk7IAorICAgIHN0YXRpYyBjb25zdCBMZW5ndGgmIGE1SGVp
Z2h0ID0gbW1MZW5ndGgoMjEwKTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBhNFdpZHRoID0g
bW1MZW5ndGgoMjEwKTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBhNEhlaWdodCA9IG1tTGVu
Z3RoKDI5Nyk7CisgICAgc3RhdGljIGNvbnN0IExlbmd0aCYgYTNXaWR0aCA9IG1tTGVuZ3RoKDI5
Nyk7CisgICAgc3RhdGljIGNvbnN0IExlbmd0aCYgYTNIZWlnaHQgPSBtbUxlbmd0aCg0MjApOwor
ICAgIHN0YXRpYyBjb25zdCBMZW5ndGgmIGI1V2lkdGggPSBtbUxlbmd0aCgxNzYpOworICAgIHN0
YXRpYyBjb25zdCBMZW5ndGgmIGI1SGVpZ2h0ID0gbW1MZW5ndGgoMjUwKTsKKyAgICBzdGF0aWMg
Y29uc3QgTGVuZ3RoJiBiNFdpZHRoID0gbW1MZW5ndGgoMjUwKTsKKyAgICBzdGF0aWMgY29uc3Qg
TGVuZ3RoJiBiNEhlaWdodCA9IG1tTGVuZ3RoKDM1Myk7CisgICAgc3RhdGljIGNvbnN0IExlbmd0
aCYgbGV0dGVyV2lkdGggPSBpbmNoTGVuZ3RoKDguNSk7CisgICAgc3RhdGljIGNvbnN0IExlbmd0
aCYgbGV0dGVySGVpZ2h0ID0gaW5jaExlbmd0aCgxMSk7CisgICAgc3RhdGljIGNvbnN0IExlbmd0
aCYgbGVnYWxXaWR0aCA9IGluY2hMZW5ndGgoOC41KTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3Ro
JiBsZWdhbEhlaWdodCA9IGluY2hMZW5ndGgoMTQpOworICAgIHN0YXRpYyBjb25zdCBMZW5ndGgm
IGxlZGdlcldpZHRoID0gaW5jaExlbmd0aCgxMSk7CisgICAgc3RhdGljIGNvbnN0IExlbmd0aCYg
bGVkZ2VySGVpZ2h0ID0gaW5jaExlbmd0aCgxNyk7CisKIAogICAgIGlmICghcGFnZVNpemVOYW1l
IHx8IHBhZ2VTaXplTmFtZS0+cHJpbWl0aXZlVHlwZSgpICE9IENTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NfSURFTlQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTUyMDYsMTQgKzUyMTgsMTQgQEAg
Ym9vbCBDU1NTdHlsZVNlbGVjdG9yOjpwYWdlU2l6ZUZyb21OYW1lKENTU1ByaW1pdGl2ZVZhbHVl
KiBwYWdlU2l6ZU5hbWUsIENTU1ByaW0KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotTGVuZ3RoIENT
U1N0eWxlU2VsZWN0b3I6Om1tTGVuZ3RoKGRvdWJsZSBtbSkgY29uc3QKK0xlbmd0aCYgQ1NTU3R5
bGVTZWxlY3Rvcjo6bW1MZW5ndGgoZG91YmxlIG1tKSBjb25zdAogewotICAgIHJldHVybiBDU1NQ
cmltaXRpdmVWYWx1ZTo6Y3JlYXRlKG1tLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX01NKS0+Y29t
cHV0ZUxlbmd0aDxMZW5ndGg+KHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSk7CisgICAgcmV0
dXJuICpuZXcgTGVuZ3RoKENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUobW0sIENTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NfTU0pLT5jb21wdXRlTGVuZ3RoPExlbmd0aD4oc3R5bGUoKSwgbV9yb290RWxl
bWVudFN0eWxlKSk7CiB9CiAKLUxlbmd0aCBDU1NTdHlsZVNlbGVjdG9yOjppbmNoTGVuZ3RoKGRv
dWJsZSBpbmNoKSBjb25zdAorTGVuZ3RoJiBDU1NTdHlsZVNlbGVjdG9yOjppbmNoTGVuZ3RoKGRv
dWJsZSBpbmNoKSBjb25zdAogewotICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRl
KGluY2gsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfSU4pLT5jb21wdXRlTGVuZ3RoPExlbmd0aD4o
c3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxlKTsKKyAgICByZXR1cm4gKm5ldyBMZW5ndGgoQ1NT
UHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShpbmNoLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0lOKS0+
Y29tcHV0ZUxlbmd0aDxMZW5ndGg+KHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSkpOwogfQog
CiB2b2lkIENTU1N0eWxlU2VsZWN0b3I6Om1hcEZpbGxBdHRhY2htZW50KENTU1Byb3BlcnR5SUQs
IEZpbGxMYXllciogbGF5ZXIsIENTU1ZhbHVlKiB2YWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVTZWxlY3Rvci5oCmluZGV4IDdmZmYwZmIyN2ZmNjZiZThkMTNiZTMwZTc1MTRjMzI3YjYxNTU5
ZDUuLjE4YTY0NzE1ODRkZDQ2MGQwNzczMWI0MzdmYzM1MDg0ZmUxNWQ2MzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaApAQCAtMzAwLDYgKzMwMCw5IEBAIHB1YmxpYzoKICAg
ICAgICAgU3R5bGVJbWFnZSogc3R5bGVJbWFnZShDU1NQcm9wZXJ0eUlELCBDU1NWYWx1ZSopOwog
ICAgICAgICBTdHlsZUltYWdlKiBjYWNoZWRPclBlbmRpbmdGcm9tVmFsdWUoQ1NTUHJvcGVydHlJ
RCwgQ1NTSW1hZ2VWYWx1ZSopOwogCisgICAgICAgIHN0YXRpYyBMZW5ndGggY29udmVydFRvSW50
TGVuZ3RoKENTU1ByaW1pdGl2ZVZhbHVlKiwgUmVuZGVyU3R5bGUqLCBSZW5kZXJTdHlsZSogcm9v
dFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciA9IDEsIGJvb2wgKm9rID0gMCk7CisgICAgICAgIHN0
YXRpYyBMZW5ndGggY29udmVydFRvRmxvYXRMZW5ndGgoQ1NTUHJpbWl0aXZlVmFsdWUqLCBSZW5k
ZXJTdHlsZSosIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSBtdWx0aXBsaWVyID0gMSwg
Ym9vbCAqb2sgPSAwKTsKKwogICAgIHByaXZhdGU6CiAgICAgICAgIHN0YXRpYyBSZW5kZXJTdHls
ZSogc19zdHlsZU5vdFlldEF2YWlsYWJsZTsKIApAQCAtMzM1LDggKzMzOCw4IEBAIHB1YmxpYzoK
ICAgICAgICAgdm9pZCBhcHBseVByb3BlcnR5KGludCBpZCwgQ1NTVmFsdWUqKTsKICAgICAgICAg
dm9pZCBhcHBseVBhZ2VTaXplUHJvcGVydHkoQ1NTVmFsdWUqKTsKICAgICAgICAgYm9vbCBwYWdl
U2l6ZUZyb21OYW1lKENTU1ByaW1pdGl2ZVZhbHVlKiwgQ1NTUHJpbWl0aXZlVmFsdWUqLCBMZW5n
dGgmIHdpZHRoLCBMZW5ndGgmIGhlaWdodCk7Ci0gICAgICAgIExlbmd0aCBtbUxlbmd0aChkb3Vi
bGUgbW0pIGNvbnN0OwotICAgICAgICBMZW5ndGggaW5jaExlbmd0aChkb3VibGUgaW5jaCkgY29u
c3Q7CisgICAgICAgIExlbmd0aCYgbW1MZW5ndGgoZG91YmxlIG1tKSBjb25zdDsKKyAgICAgICAg
TGVuZ3RoJiBpbmNoTGVuZ3RoKGRvdWJsZSBpbmNoKSBjb25zdDsKICNpZiBFTkFCTEUoU1ZHKQog
ICAgICAgICB2b2lkIGFwcGx5U1ZHUHJvcGVydHkoaW50IGlkLCBDU1NWYWx1ZSopOwogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NWYWx1ZS5oCmluZGV4IGM1MzVkYTI1ZTExNDk2ZjAwZWEzN2U2YjEyNGQzMWIz
ZjAzMjM3MjUuLjNjNTViZjEzNjJmZGRhZmQyOGRmYzliOGFjMDE2NWE0MWZmNGFlZmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZS5oCkBAIC03MCw3ICs3MCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJv
b2wgaXNWYWx1ZUxpc3QoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9v
bCBpc1dlYktpdENTU1RyYW5zZm9ybVZhbHVlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAg
ICB2aXJ0dWFsIGJvb2wgaXNDU1NMaW5lQm94Q29udGFpblZhbHVlKCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KLSAgICAKKyAgICB2aXJ0dWFsIGJvb2wgaXNDYWxjVmFsdWUoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQorCiAjaWYgRU5BQkxFKFNWRykKICAgICB2aXJ0dWFsIGJvb2wgaXNTVkdD
b2xvcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzU1ZHUGFp
bnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1
ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYTI3ZTNkYjc0ZTM2YzdmNTk2NzE3ZWQ1MjY5MWEyYmQ2ODAzNDNm
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5j
cHAKQEAgLTAsMCArMSwxNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0
aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ2FsY1Zh
bHVlLmgiCisKKyNpbmNsdWRlIDxsaW1pdHM+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworQ2Fs
Y0JpbmFyeU9wZXJhdGlvblZhbHVlOjpDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWUoUGFzc093blB0
cjxDYWxjVmFsdWU+IGxlZnRTaWRlLCBQYXNzT3duUHRyPENhbGNWYWx1ZT4gcmlnaHRTaWRlLCBj
aGFyIG9wKQorICAgIDogbV9sZWZ0U2lkZShsZWZ0U2lkZSkKKyAgICAsIG1fcmlnaHRTaWRlKHJp
Z2h0U2lkZSkKK3sKKyAgICBzd2l0Y2ggKG9wKSB7CisgICAgY2FzZSAnKyc6CisgICAgICAgIG1f
b3BlcmF0b3IgPSBDYWxjQWRkOworICAgICAgICByZXR1cm47CisgICAgY2FzZSAnLSc6CisgICAg
ICAgIG1fb3BlcmF0b3IgPSBDYWxjU3VidHJhY3Q7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNl
ICcqJzoKKyAgICAgICAgbV9vcGVyYXRvciA9IENhbGNNdWx0aXBseTsKKyAgICAgICAgcmV0dXJu
OworICAgIGNhc2UgJy8nOgorICAgICAgICBtX29wZXJhdG9yID0gQ2FsY0RpdmlkZTsKKyAgICAg
ICAgcmV0dXJuOworICAgIGNhc2UgJyUnOgorICAgICAgICBtX29wZXJhdG9yID0gQ2FsY01vZDsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKwor
ZmxvYXQgQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlOjpldmFsdWF0ZShmbG9hdCBtYXhWYWx1ZSkg
Y29uc3QKK3sKKyAgICBmbG9hdCBsZWZ0ID0gbV9sZWZ0U2lkZS0+ZXZhbHVhdGUobWF4VmFsdWUp
OworICAgIGZsb2F0IHJpZ2h0ID0gbV9yaWdodFNpZGUtPmV2YWx1YXRlKG1heFZhbHVlKTsKKyAg
ICBzd2l0Y2ggKG1fb3BlcmF0b3IpIHsKKyAgICBjYXNlIENhbGNBZGQ6CisgICAgICAgIHJldHVy
biBsZWZ0ICsgcmlnaHQ7CisgICAgY2FzZSBDYWxjU3VidHJhY3Q6CisgICAgICAgIHJldHVybiBs
ZWZ0IC0gcmlnaHQ7CisgICAgY2FzZSBDYWxjTXVsdGlwbHk6CisgICAgICAgIHJldHVybiBsZWZ0
ICogcmlnaHQ7CisgICAgY2FzZSBDYWxjRGl2aWRlOgorICAgICAgICBpZiAoIXJpZ2h0KQorICAg
ICAgICAgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjpxdWlldF9OYU4oKTsK
KyAgICAgICAgcmV0dXJuIGxlZnQgLyByaWdodDsKKyAgICBjYXNlIENhbGNNb2Q6CisgICAgICAg
IGlmICghcmlnaHQpCisgICAgICAgICAgICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxmbG9h
dD46OnF1aWV0X05hTigpOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50PihsZWZ0KSAl
IHN0YXRpY19jYXN0PGludD4ocmlnaHQpOworICAgIH0KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OnF1aWV0X05hTigpOwor
fQorCitDYWxjTWluTWF4VmFsdWVMaXN0OjpDYWxjTWluTWF4VmFsdWVMaXN0KExpc3RUeXBlIHR5
cGUpCisgICAgOiBtX3R5cGUodHlwZSkKKyAgICAsIG1fbGlzdCgpCit7Cit9CisKK3ZvaWQgQ2Fs
Y01pbk1heFZhbHVlTGlzdDo6YXBwZW5kKFBhc3NPd25QdHI8Q2FsY1ZhbHVlPiB2YWx1ZSkKK3sK
KyAgICBtX2xpc3QuYXBwZW5kKHZhbHVlKTsKK30KKworZmxvYXQgQ2FsY01pbk1heFZhbHVlTGlz
dDo6ZXZhbHVhdGUoZmxvYXQgbWF4VmFsdWUpIGNvbnN0Cit7CisgICAgaWYgKG1fbGlzdC5pc0Vt
cHR5KCkpCisgICAgICAgIHJldHVybiAwOworICAgIAorICAgIGZsb2F0IHJldHZhbCA9IG1fbGlz
dFswXS0+ZXZhbHVhdGUobWF4VmFsdWUpOworICAgIGlmIChtX3R5cGUgPT0gQ2FsY01pbikgewor
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgbV9saXN0LnNpemUoKTsgKytpKSB7Cisg
ICAgICAgICAgICBmbG9hdCBjdXJyZW50ID0gbV9saXN0W2ldLT5ldmFsdWF0ZShtYXhWYWx1ZSk7
CisgICAgICAgICAgICBpZiAoY3VycmVudCA8IHJldHZhbCkKKyAgICAgICAgICAgICAgICByZXR2
YWwgPSBjdXJyZW50OworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgZm9yICh1bnNp
Z25lZCBpID0gMTsgaSA8IG1fbGlzdC5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgZmxvYXQg
Y3VycmVudCA9IG1fbGlzdFtpXS0+ZXZhbHVhdGUobWF4VmFsdWUpOworICAgICAgICAgICAgaWYg
KGN1cnJlbnQgPiByZXR2YWwpCisgICAgICAgICAgICAgICAgcmV0dmFsID0gY3VycmVudDsKKyAg
ICAgICAgfQorICAgIH0KKworICAgIHJldHVybiByZXR2YWw7Cit9CisKK1Bhc3NSZWZQdHI8Q2Fs
Y3VsYXRlZExlbmd0aD4gQ2FsY3VsYXRlZExlbmd0aDo6Y3JlYXRlKFBhc3NPd25QdHI8Q2FsY1Zh
bHVlPiBjYWxjKSAKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IENhbGN1bGF0ZWRMZW5ndGgo
Y2FsYykpOworfQorCitmbG9hdCBDYWxjdWxhdGVkTGVuZ3RoOjpldmFsdWF0ZShmbG9hdCBtYXhW
YWx1ZSkgY29uc3QKK3sKKyAgICBmbG9hdCByZXN1bHQgPSBtX2NhbGMtPmV2YWx1YXRlKG1heFZh
bHVlKTsKKyAgICAvLyBGSVhNRTogcmVzdWx0IGlzIE5hTiB3aGVuIHRoZXJlIGlzIGEgZGl2aXNp
b24gYnkgemVybyB3aGljaAorICAgIC8vICAgICAgICBpc24ndCBmb3VuZCBhdCBwYXJzZSB0aW1l
IChlLmcuLCA1LygxMDAlLTIwMHB4KSoxMDBweCkuCisgICAgLy8gICAgICAgIFRoZXJlIGlzIGEg
ZGlzY3Vzc2lvbiBhYm91dCB0aGlzIGFuZCBob3BlZnVsbHkgc3BlYworICAgIC8vICAgICAgICB3
aWxsIGhhdmUgdGhlIGRlY2lzaW9uIGZvciB0aGlzIGlzc3VlLgorICAgIC8vICAgICAgICBodHRw
Oi8vbGlzdHMudzMub3JnL0FyY2hpdmVzL1B1YmxpYy93d3ctc3R5bGUvMjAxMEphbi8wMDA3Lmh0
bWwKKyAgICBpZiAoaXNuYW4ocmVzdWx0KSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KKworaW50IEhhbmRsZU1hcDo6aW5zZXJ0KFBhc3NSZWZQdHI8Q2FsY3VsYXRl
ZExlbmd0aD4gY2FsY0xlbmd0aCkKK3sKKyAgICAvLyBTa2lwIG1faW5kZXggPT0gMCBhcyB6ZXJv
IGtleSBoaXRzIHRoZSBhc3NlcnRpb24gb2YgSGFzaE1hcC4KKyAgICB3aGlsZSAoIW1faW5kZXgg
fHwgbV9tYXAtPmNvbnRhaW5zKG1faW5kZXgpKQorICAgICAgICBtX2luZGV4Kys7CisgICAgaW50
IHNldEluZGV4ID0gbV9pbmRleDsKKyAgICBtX2luZGV4Kys7CisgICAgCisgICAgbV9tYXAtPnNl
dChzZXRJbmRleCwgY2FsY0xlbmd0aCk7ICAgCisgICAgCisgICAgcmV0dXJuIHNldEluZGV4Owor
fQorCit2b2lkIEhhbmRsZU1hcDo6cmVtb3ZlKGludCBpbmRleCkKK3sKKyAgICBBU1NFUlQobV9t
YXAtPmNvbnRhaW5zKGluZGV4KSk7CisgICAgbV9tYXAtPnJlbW92ZShpbmRleCk7Cit9CisKK1Bh
c3NSZWZQdHI8Q2FsY3VsYXRlZExlbmd0aD4gSGFuZGxlTWFwOjpnZXQoaW50IGluZGV4KQorewor
ICAgIEFTU0VSVChtX21hcC0+Y29udGFpbnMoaW5kZXgpKTsKKyAgICByZXR1cm4gbV9tYXAtPmdl
dChpbmRleCk7Cit9CisKKyAgICAKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTBkZTVlNmI4ZDc2NzVhMjEzZmI3
N2QxNGRjMWUyYjIwYTE5YTk1MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0NhbGNWYWx1ZS5oCkBAIC0wLDAgKzEsMTU2IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDYWxjVmFsdWVfaAor
I2RlZmluZSBDYWxjVmFsdWVfaAorCisjaW5jbHVkZSAiTGVuZ3RoLmgiCisjaW5jbHVkZSA8d3Rm
L093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworZW51bSBDYWxjT3BlcmF0b3IgeworICAgIENhbGNBZGQsCisgICAgQ2FsY1N1YnRyYWN0
LAorICAgIENhbGNNdWx0aXBseSwKKyAgICBDYWxjRGl2aWRlLAorICAgIENhbGNNb2QKK307CisK
K2NsYXNzIENhbGNWYWx1ZSB7CitwdWJsaWM6CisgICAgCisgICAgdmlydHVhbCB+Q2FsY1ZhbHVl
KCkKKyAgICB7CisgICAgfQorCisgICAgdmlydHVhbCBmbG9hdCBldmFsdWF0ZShmbG9hdCBtYXhW
YWx1ZSkgY29uc3QgPSAwOworfTsKKworY2xhc3MgQ2FsY051bWJlclZhbHVlIDogcHVibGljIENh
bGNWYWx1ZSB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgQ2FsY051bWJlclZhbHVlKGZsb2F0IHZh
bHVlKQorICAgICAgICA6IG1fdmFsdWUodmFsdWUpCisgICAgeworICAgIH0KKworICAgIHZpcnR1
YWwgZmxvYXQgZXZhbHVhdGUoZmxvYXQpIGNvbnN0IAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1f
dmFsdWU7CisgICAgfQorICAgIAorcHJpdmF0ZToKKyAgICBmbG9hdCBtX3ZhbHVlOworfTsKKwor
Y2xhc3MgQ2FsY0xlbmd0aFZhbHVlIDogcHVibGljIENhbGNWYWx1ZSB7CitwdWJsaWM6CisgICAg
ZXhwbGljaXQgQ2FsY0xlbmd0aFZhbHVlKExlbmd0aCBsZW5ndGgpCisgICAgICAgIDogbV9sZW5n
dGgobGVuZ3RoKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGZsb2F0IGV2YWx1YXRlKGZs
b2F0IG1heFZhbHVlKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fbGVuZ3RoLmNhbGNW
YWx1ZShtYXhWYWx1ZSk7CisgICAgfQorICAgIAorcHJpdmF0ZToKKyAgICBMZW5ndGggbV9sZW5n
dGg7Cit9OworCitjbGFzcyBDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWUgOiBwdWJsaWMgQ2FsY1Zh
bHVlIHsKK3B1YmxpYzoKKyAgICBDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWUoUGFzc093blB0cjxD
YWxjVmFsdWU+IGxlZnRTaWRlLCBQYXNzT3duUHRyPENhbGNWYWx1ZT4gcmlnaHRTaWRlLCBjaGFy
IG9wKTsKKworICAgIHZpcnR1YWwgZmxvYXQgZXZhbHVhdGUoZmxvYXQpIGNvbnN0OworCitwcml2
YXRlOgorICAgIE93blB0cjxDYWxjVmFsdWU+IG1fbGVmdFNpZGU7CisgICAgT3duUHRyPENhbGNW
YWx1ZT4gbV9yaWdodFNpZGU7CisgICAgQ2FsY09wZXJhdG9yIG1fb3BlcmF0b3I7Cit9OworCitl
bnVtIExpc3RUeXBlIHsKKyAgICBDYWxjTWluLAorICAgIENhbGNNYXgsIAorfTsKKyAgICAKK2Ns
YXNzIENhbGNNaW5NYXhWYWx1ZUxpc3QgOiBwdWJsaWMgQ2FsY1ZhbHVlIHsKK3B1YmxpYzoKKyAg
ICBleHBsaWNpdCBDYWxjTWluTWF4VmFsdWVMaXN0KExpc3RUeXBlKTsKKyAgICB2b2lkIGFwcGVu
ZChQYXNzT3duUHRyPENhbGNWYWx1ZT4pOworCisgICAgdmlydHVhbCBmbG9hdCBldmFsdWF0ZShm
bG9hdCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgTGlzdFR5cGUgbV90eXBlOworICAgIFZlY3Rv
cjxPd25QdHI8Q2FsY1ZhbHVlPiA+IG1fbGlzdDsKK307CisKKyAgICAKK2NsYXNzIENhbGN1bGF0
ZWRMZW5ndGggOiBwdWJsaWMgUmVmQ291bnRlZDxDYWxjdWxhdGVkTGVuZ3RoPiB7CitwdWJsaWM6
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2FsY3VsYXRlZExlbmd0aD4gY3JlYXRlKFBhc3NPd25Q
dHI8Q2FsY1ZhbHVlPik7ICAgIAorICAgIGZsb2F0IGV2YWx1YXRlKGZsb2F0IG1heFZhbHVlKSBj
b25zdDsKKyAgICAKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgQ2FsY3VsYXRlZExlbmd0aChQYXNz
T3duUHRyPENhbGNWYWx1ZT4gY2FsYykKKyAgICA6IG1fY2FsYyhjYWxjKQorICAgIHsKKyAgICB9
CisgICAgCisgICAgT3duUHRyPENhbGNWYWx1ZT4gbV9jYWxjOworfTsKKworY2xhc3MgSGFuZGxl
TWFwIHsKK3B1YmxpYzoKKyAgICBIYW5kbGVNYXAoKSAKKyAgICA6IG1faW5kZXgoMSkKKyAgICB7
CisgICAgICAgIG1fbWFwID0gbmV3IEhhc2hNYXA8aW50LCBSZWZQdHI8Q2FsY3VsYXRlZExlbmd0
aD4gPjsKKyAgICB9CisgICAgCisgICAgaW50IGluc2VydChQYXNzUmVmUHRyPENhbGN1bGF0ZWRM
ZW5ndGg+KTsKKyAgICB2b2lkIHJlbW92ZShpbnQgaW5kZXgpOworICAgIFBhc3NSZWZQdHI8Q2Fs
Y3VsYXRlZExlbmd0aD4gZ2V0KGludCBpbmRleCk7CisgICAgCitwcml2YXRlOiAgICAgICAgCisg
ICAgaW50IG1faW5kZXg7CisgICAgSGFzaE1hcDxpbnQsIFJlZlB0cjxDYWxjdWxhdGVkTGVuZ3Ro
PiA+KiBtX21hcDsKK307CisKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIENhbGNWYWx1ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5n
dGguY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmNwcAppbmRleCAyMTY5ZDk5
NTMxNzQxYjQyNmE3ZjJkNmFiNGNmNTM2NTI1YjczMzY2Li5kNDMwM2ZiY2VkOGJkN2VmYTZmMGY5
YTZjOTEwZjFkYjAzZjZjMzk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9M
ZW5ndGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5jcHAKQEAgLTI1
LDEwICsyNSwxNCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkxlbmd0aC5oIgog
CisjaW5jbHVkZSAiQ2FsY1ZhbHVlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNp
bmNsdWRlIDxtYXRoLmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNpbmNsdWRlIDx3
dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3Rm
L093bkFycmF5UHRyLmg+CisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oPgogCiB1c2luZyBuYW1lc3BhY2UgV1RGOwpAQCAtMTQ4
LDUgKzE1Miw4NyBAQCBQYXNzT3duQXJyYXlQdHI8TGVuZ3RoPiBuZXdMZW5ndGhBcnJheShjb25z
dCBTdHJpbmcmIHN0cmluZywgaW50JiBsZW4pCiAKICAgICByZXR1cm4gci5yZWxlYXNlKCk7CiB9
CisgICAgCitMZW5ndGg6On5MZW5ndGgoKQoreworICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAg
ICAgICAgZGVjcmVtZW50Q2FsY3VsYXRlZFJlZigpOworfSAgIAorICAgIAorSGFuZGxlTWFwKiBM
ZW5ndGg6OmNhbGNIYW5kbGVzKCkgY29uc3QKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEhh
bmRsZU1hcCwgaGFuZGxlTWFwLCAoKSk7CisgICAgcmV0dXJuICZoYW5kbGVNYXA7Cit9CisKK0xl
bmd0aDo6TGVuZ3RoKFBhc3NPd25QdHI8Q2FsY1ZhbHVlPiBjYWxjKQorICAgIDogbV9xdWlyayhm
YWxzZSksIG1fdHlwZShDYWxjdWxhdGVkKSwgbV9pc0Zsb2F0KGZhbHNlKQoreworICAgIG1faW50
VmFsdWUgPSBjYWxjSGFuZGxlcygpLT5pbnNlcnQoQ2FsY3VsYXRlZExlbmd0aDo6Y3JlYXRlKGNh
bGMpKTsKK30KKyAgICAKKy8vIEZJWE1FOiBJdCdzIGltcG9zc2libGUgdG8ga25vdyB0aGUgc2ln
biBvZiBjYWxjIHZhbHVlcyB3aXRob3V0CisvLyAgICAgICAgbWF4IHZhbHVlIGlmIHRoZSBjYWxj
IGZvcm11bGEgY29udGFpbnMgcGVyY2VudGFnZXMuCisvLyAgICAgICAgV2UgYXNzdW1lIGFsbCBj
YWxjIHZhbHVlcyBhcmUgcG9zaXRpdmUgZm9yIG5vdy4KKworYm9vbCBMZW5ndGg6OmNhbGN1bGF0
ZWRJc1plcm8oKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBMZW5ndGg6
OmNhbGN1bGF0ZWRJc1Bvc2l0aXZlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwor
Ym9vbCBMZW5ndGg6OmNhbGN1bGF0ZWRJc05lZ2F0aXZlKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKK2ludCBMZW5ndGg6OmNhbGN1bGF0ZWRDYWxjVmFsdWUoaW50IG1heFZhbHVl
LCBib29sIC8qIHJvdW5kUGVyY2VudGFnZXMgKi8pIGNvbnN0Cit7CisgICAgQVNTRVJUKGlzQ2Fs
Y3VsYXRlZCgpKTsKKyAgICBSZWZQdHI8Q2FsY3VsYXRlZExlbmd0aD4gY2FsY0xlbmd0aCA9IGNh
bGNIYW5kbGVzKCktPmdldChjYWxjdWxhdGVkTGVuZ3RoSWQoKSk7CisgICAgZmxvYXQgcmVzdWx0
ID0gY2FsY0xlbmd0aC0+ZXZhbHVhdGUobWF4VmFsdWUpOworICAgIGlmIChpc25hbihyZXN1bHQp
KQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitpbnQgTGVuZ3Ro
OjpjYWxjdWxhdGVkQ2FsY01pblZhbHVlKGludCBtYXhWYWx1ZSwgYm9vbCAvKiByb3VuZFBlcmNl
bnRhZ2VzICovKSBjb25zdAoreworICAgIEFTU0VSVChpc0NhbGN1bGF0ZWQoKSk7CisgICAgUmVm
UHRyPENhbGN1bGF0ZWRMZW5ndGg+IGNhbGNMZW5ndGggPSBjYWxjSGFuZGxlcygpLT5nZXQoY2Fs
Y3VsYXRlZExlbmd0aElkKCkpOworICAgIGZsb2F0IHJlc3VsdCA9IGNhbGNMZW5ndGgtPmV2YWx1
YXRlKG1heFZhbHVlKTsKKyAgICBpZiAoaXNuYW4ocmVzdWx0KSkKKyAgICAgICAgcmV0dXJuIDA7
CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworZmxvYXQgTGVuZ3RoOjpjYWxjdWxhdGVkQ2FsY0Zs
b2F0VmFsdWUoaW50IG1heFZhbHVlKSBjb25zdAoreworICAgIEFTU0VSVChpc0NhbGN1bGF0ZWQo
KSk7CisgICAgUmVmUHRyPENhbGN1bGF0ZWRMZW5ndGg+IGNhbGNMZW5ndGggPSBjYWxjSGFuZGxl
cygpLT5nZXQoY2FsY3VsYXRlZExlbmd0aElkKCkpOworICAgIGZsb2F0IHJlc3VsdCA9IGNhbGNM
ZW5ndGgtPmV2YWx1YXRlKG1heFZhbHVlKTsKKyAgICBpZiAoaXNuYW4ocmVzdWx0KSkKKyAgICAg
ICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordm9pZCBMZW5ndGg6OmluY3Jl
bWVudENhbGN1bGF0ZWRSZWYoKSBjb25zdAoreworICAgIEFTU0VSVChpc0NhbGN1bGF0ZWQoKSk7
CisgICAgY2FsY0hhbmRsZXMoKS0+Z2V0KGNhbGN1bGF0ZWRMZW5ndGhJZCgpKS0+cmVmKCk7Cit9
CisKK3ZvaWQgTGVuZ3RoOjpkZWNyZW1lbnRDYWxjdWxhdGVkUmVmKCkgY29uc3QKK3sKKyAgICBB
U1NFUlQoaXNDYWxjdWxhdGVkKCkpOworICAgIFJlZlB0cjxDYWxjdWxhdGVkTGVuZ3RoPiBjYWxj
TGVuZ3RoID0gY2FsY0hhbmRsZXMoKS0+Z2V0KGNhbGN1bGF0ZWRMZW5ndGhJZCgpKTsKKyAgICBp
ZiAoY2FsY0xlbmd0aC0+aGFzT25lUmVmKCkpCisgICAgICAgIGNhbGNIYW5kbGVzKCktPnJlbW92
ZShjYWxjdWxhdGVkTGVuZ3RoSWQoKSk7CisgICAgY2FsY0xlbmd0aC0+ZGVyZWYoKTsKK30gICAg
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0xlbmd0aC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKaW5kZXgg
ZTBiYzI1YmNkZDQ0OTljZTEzODQyNzMxNzlhNDgwY2UwNTMwYWM5ZS4uNjEzZDFjMzM1NTQ4ZDUw
MjgxY2NiOTRiMTM0NjRmOTBmOTJhOThlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vTGVuZ3RoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKQEAg
LTI1LDggKzI1LDEyIEBACiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3
dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzT3duQXJyYXlQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTM0LDggKzM4LDExIEBAIGNvbnN0IGludCB1bmRlZmluZWRMZW5n
dGggPSAtMTsKIGNvbnN0IGludCBpbnRNYXhGb3JMZW5ndGggPSAweDdmZmZmZmY7IC8vIG1heCB2
YWx1ZSBmb3IgYSAyOC1iaXQgaW50CiBjb25zdCBpbnQgaW50TWluRm9yTGVuZ3RoID0gKC0weDdm
ZmZmZmYgLSAxKTsgLy8gbWluIHZhbHVlIGZvciBhIDI4LWJpdCBpbnQKIAotZW51bSBMZW5ndGhU
eXBlIHsgQXV0bywgUmVsYXRpdmUsIFBlcmNlbnQsIEZpeGVkLCBJbnRyaW5zaWMsIE1pbkludHJp
bnNpYyB9OwotCitlbnVtIExlbmd0aFR5cGUgeyBBdXRvLCBSZWxhdGl2ZSwgUGVyY2VudCwgRml4
ZWQsIEludHJpbnNpYywgTWluSW50cmluc2ljLCBDYWxjdWxhdGVkIH07CisgCitjbGFzcyBDYWxj
VmFsdWU7ICAgIAorY2xhc3MgSGFuZGxlTWFwOworICAgIAogc3RydWN0IExlbmd0aCB7CiAgICAg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CkBAIC02NSw2ICs3MiwyMCBAQCBwdWJs
aWM6CiAgICAgICAgIG1fZmxvYXRWYWx1ZSA9IHN0YXRpY19jYXN0PGZsb2F0Pih2KTsgICAgCiAg
ICAgfQogCisgICAgZXhwbGljaXQgTGVuZ3RoKFBhc3NPd25QdHI8Q2FsY1ZhbHVlPik7CisKKyAg
ICBMZW5ndGgoY29uc3QgTGVuZ3RoJiBsZW5ndGgpCisgICAgeworICAgICAgICBpbml0RnJvbUxl
bmd0aChsZW5ndGgpOworICAgIH0KKyAgICAKKyAgICBMZW5ndGgmIG9wZXJhdG9yPShjb25zdCBM
ZW5ndGgmIGxlbmd0aCkKKyAgICB7CisgICAgICAgIGluaXRGcm9tTGVuZ3RoKGxlbmd0aCk7Cisg
ICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisgICAgfkxlbmd0aCgpOworCiAgICAgYm9vbCBv
cGVyYXRvcj09KGNvbnN0IExlbmd0aCYgbykgY29uc3QgeyByZXR1cm4gKGdldEZsb2F0VmFsdWUo
KSA9PSBvLmdldEZsb2F0VmFsdWUoKSkgJiYgKG1fdHlwZSA9PSBvLm1fdHlwZSkgJiYgKG1fcXVp
cmsgPT0gby5tX3F1aXJrKTsgfQogICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBMZW5ndGgmIG8p
IGNvbnN0IHsgcmV0dXJuIChnZXRGbG9hdFZhbHVlKCkgIT0gby5nZXRGbG9hdFZhbHVlKCkpIHx8
IChtX3R5cGUgIT0gby5tX3R5cGUpIHx8IChtX3F1aXJrICE9IG8ubV9xdWlyayk7IH0KIApAQCAt
NzksNiArMTAwLDggQEAgcHVibGljOgogICAgIH0KICAgICAKICAgICBpbnQgdmFsdWUoKSBjb25z
dCB7CisgICAgICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAgIHJldHVybiB1bmRl
ZmluZWRMZW5ndGg7CiAgICAgICAgIHJldHVybiBnZXRJbnRWYWx1ZSgpOwogICAgIH0KIApAQCAt
MTA1LDYgKzEyOCw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0VmFsdWUoaW50IHZhbHVlKQog
ICAgIHsKKyAgICAgICAgaWYgKGlzQ2FsY3VsYXRlZCgpKQorICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICBzZXRWYWx1ZShGaXhlZCwgdmFsdWUpOwogICAgIH0KIApAQCAtMTI5LDYgKzE1NCw4
IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICByZXR1cm4gY2FsY01pblZhbHVlKG1heFZhbHVl
LCByb3VuZFBlcmNlbnRhZ2VzKTsKICAgICAgICAgICAgIGNhc2UgQXV0bzoKICAgICAgICAgICAg
ICAgICByZXR1cm4gbWF4VmFsdWU7CisgICAgICAgICAgICBjYXNlIENhbGN1bGF0ZWQ6CisgICAg
ICAgICAgICAgICAgcmV0dXJuIGNhbGN1bGF0ZWRDYWxjVmFsdWUobWF4VmFsdWUsIHJvdW5kUGVy
Y2VudGFnZXMpOyAgICAgICAgICAgICAgICAKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZExlbmd0aDsKICAgICAgICAgfQpAQCAtMTQ0LDYgKzE3
MSw5IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGlu
dD4ocm91bmQobWF4VmFsdWUgKiBwZXJjZW50KCkgLyAxMDAuMGYpKTsKICAgICAgICAgICAgICAg
ICAvLyBEb24ndCByZW1vdmUgdGhlIGV4dHJhIGNhc3QgdG8gZmxvYXQuIEl0IGlzIG5lZWRlZCBm
b3Igcm91bmRpbmcgb24gMzItYml0IEludGVsIG1hY2hpbmVzIHRoYXQgdXNlIHRoZSBGUFUgc3Rh
Y2suCiAgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4oc3RhdGljX2Nhc3Q8
ZmxvYXQ+KG1heFZhbHVlICogcGVyY2VudCgpIC8gMTAwLjBmKSk7CisgCisgICAgICAgICAgICBj
YXNlIENhbGN1bGF0ZWQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGN1bGF0ZWRDYWxjTWlu
VmFsdWUobWF4VmFsdWUsIHJvdW5kUGVyY2VudGFnZXMpOyAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgIGNhc2UgQXV0bzoKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAg
cmV0dXJuIDA7CkBAIC0xNTksMjYgKzE4OSwzNSBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PGZsb2F0PihtYXhWYWx1ZSAqIHBlcmNlbnQoKSAvIDEwMC4wZik7
CiAgICAgICAgICAgICBjYXNlIEF1dG86CiAgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PGZsb2F0PihtYXhWYWx1ZSk7CisgICAgICAgICAgICBjYXNlIENhbGN1bGF0ZWQ6CisgICAg
ICAgICAgICAgICAgcmV0dXJuIGNhbGN1bGF0ZWRDYWxjRmxvYXRWYWx1ZShtYXhWYWx1ZSk7ICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHVuZGVmaW5lZExlbmd0aCk7CiAgICAgICAgIH0KICAgICB9
CiAKICAgICBib29sIGlzVW5kZWZpbmVkKCkgY29uc3QgeyByZXR1cm4gdmFsdWUoKSA9PSB1bmRl
ZmluZWRMZW5ndGg7IH0KKwogICAgIGJvb2wgaXNaZXJvKCkgY29uc3QgCiAgICAgeyAKLSAgICAg
ICAgcmV0dXJuIG1faXNGbG9hdCA/ICFtX2Zsb2F0VmFsdWUgOiAhbV9pbnRWYWx1ZTsKKyAgICAg
ICAgcmV0dXJuIGlzQ2FsY3VsYXRlZCgpID8gY2FsY3VsYXRlZElzWmVybygpIDogbV9pc0Zsb2F0
ID8gIW1fZmxvYXRWYWx1ZSA6ICFtX2ludFZhbHVlOworICAgIH0KKyAgICBib29sIGlzUG9zaXRp
dmUoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGlzQ2FsY3VsYXRlZCgpID8gY2FsY3Vs
YXRlZElzUG9zaXRpdmUoKSA6IGdldEZsb2F0VmFsdWUoKSA+IDA7CisgICAgfQorICAgIGJvb2wg
aXNOZWdhdGl2ZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gaXNDYWxjdWxhdGVkKCkg
PyBjYWxjdWxhdGVkSXNOZWdhdGl2ZSgpIDogZ2V0RmxvYXRWYWx1ZSgpIDwgMDsKICAgICB9CiAg
ICAgCi0gICAgYm9vbCBpc1Bvc2l0aXZlKCkgY29uc3QgeyByZXR1cm4gZ2V0RmxvYXRWYWx1ZSgp
ID4gMDsgfQotICAgIGJvb2wgaXNOZWdhdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIGdldEZsb2F0VmFs
dWUoKSA8IDA7IH0KLQogICAgIGJvb2wgaXNBdXRvKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09
IEF1dG87IH0KICAgICBib29sIGlzUmVsYXRpdmUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0g
UmVsYXRpdmU7IH0KLSAgICBib29sIGlzUGVyY2VudCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9
PSBQZXJjZW50OyB9CisgICAgYm9vbCBpc1BlcmNlbnQoKSBjb25zdCB7IHJldHVybiB0eXBlKCkg
PT0gUGVyY2VudCB8fCB0eXBlKCkgPT0gQ2FsY3VsYXRlZDsgfQogICAgIGJvb2wgaXNGaXhlZCgp
IGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBGaXhlZDsgfQogICAgIGJvb2wgaXNJbnRyaW5zaWNP
ckF1dG8oKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gQXV0byB8fCB0eXBlKCkgPT0gTWluSW50
cmluc2ljIHx8IHR5cGUoKSA9PSBJbnRyaW5zaWM7IH0KICAgICBib29sIGlzU3BlY2lmaWVkKCkg
Y29uc3QgeyByZXR1cm4gdHlwZSgpID09IEZpeGVkIHx8IHR5cGUoKSA9PSBQZXJjZW50OyB9Cisg
ICAgYm9vbCBpc0NhbGN1bGF0ZWQoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gQ2FsY3VsYXRl
ZDsgfQogCiAgICAgTGVuZ3RoIGJsZW5kKGNvbnN0IExlbmd0aCYgZnJvbSwgZmxvYXQgcHJvZ3Jl
c3MpIGNvbnN0CiAgICAgewpAQCAtMjE1LDYgKzI1NCwzNyBAQCBwcml2YXRlOgogICAgICAgICBy
ZXR1cm4gbV9pc0Zsb2F0ID8gbV9mbG9hdFZhbHVlIDogbV9pbnRWYWx1ZTsKICAgICB9CiAKKyAg
ICB2b2lkIGluaXRGcm9tTGVuZ3RoKGNvbnN0IExlbmd0aCAmbGVuZ3RoKSAKKyAgICB7CisgICAg
ICAgIG1fcXVpcmsgPSBsZW5ndGgubV9xdWlyazsKKyAgICAgICAgbV90eXBlID0gbGVuZ3RoLm1f
dHlwZTsKKyAgICAgICAgbV9pc0Zsb2F0ID0gbGVuZ3RoLm1faXNGbG9hdDsKKyAgICAgICAgCisg
ICAgICAgIGlmIChtX2lzRmxvYXQpCisgICAgICAgICAgICBtX2Zsb2F0VmFsdWUgPSBsZW5ndGgu
bV9mbG9hdFZhbHVlOworICAgICAgICBlbHNlCisgICAgICAgICAgICBtX2ludFZhbHVlID0gbGVu
Z3RoLm1faW50VmFsdWU7CisgICAgICAgIAorICAgICAgICBpZiAoaXNDYWxjdWxhdGVkKCkpCisg
ICAgICAgICAgICBpbmNyZW1lbnRDYWxjdWxhdGVkUmVmKCk7CisgICAgfQorICAgIAorICAgIEhh
bmRsZU1hcCogY2FsY0hhbmRsZXMoKSBjb25zdDsKKyAgICAKKyAgICBib29sIGNhbGN1bGF0ZWRJ
c1plcm8oKSBjb25zdDsKKyAgICBib29sIGNhbGN1bGF0ZWRJc1Bvc2l0aXZlKCkgY29uc3Q7Cisg
ICAgYm9vbCBjYWxjdWxhdGVkSXNOZWdhdGl2ZSgpIGNvbnN0OworICAgIGludCBjYWxjdWxhdGVk
Q2FsY1ZhbHVlKGludCBtYXhWYWx1ZSwgYm9vbCByb3VuZFBlcmNlbnRhZ2VzKSBjb25zdDsKKyAg
ICBpbnQgY2FsY3VsYXRlZENhbGNNaW5WYWx1ZShpbnQgbWF4VmFsdWUsIGJvb2wgcm91bmRQZXJj
ZW50YWdlcykgY29uc3Q7CisgICAgZmxvYXQgY2FsY3VsYXRlZENhbGNGbG9hdFZhbHVlKGludCBt
YXhWYWx1ZSkgY29uc3Q7CisgICAgaW50IGNhbGN1bGF0ZWRMZW5ndGhJZCgpIGNvbnN0CisgICAg
eworICAgICAgICBBU1NFUlQoaXNDYWxjdWxhdGVkKCkpOworICAgICAgICByZXR1cm4gZ2V0SW50
VmFsdWUoKTsKKyAgICB9CisgICAgdm9pZCBpbmNyZW1lbnRDYWxjdWxhdGVkUmVmKCkgY29uc3Q7
CisgICAgdm9pZCBkZWNyZW1lbnRDYWxjdWxhdGVkUmVmKCkgY29uc3Q7ICAgIAorICAgIAogICAg
IHVuaW9uIHsKICAgICAgICAgaW50IG1faW50VmFsdWU7CiAgICAgICAgIGZsb2F0IG1fZmxvYXRW
YWx1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCmluZGV4IDdlYzUz
Y2ZlZTQyZmMyMWZmNWYxMDVkOGRkYzA1MTQwNTk3ODQyMDYuLjdhZmE0NWQ1NWE3ODM4OTBlNmM4
YTAxNTMxYzUwYTM0ZWE2MDRmNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklt
YWdlLmNwcApAQCAtNDY1LDYgKzQ2NSw3IEBAIGJvb2wgUmVuZGVySW1hZ2U6OmlzTG9naWNhbFdp
ZHRoU3BlY2lmaWVkKCkgY29uc3QKICAgICBzd2l0Y2ggKHN0eWxlKCktPmxvZ2ljYWxXaWR0aCgp
LnR5cGUoKSkgewogICAgICAgICBjYXNlIEZpeGVkOgogICAgICAgICBjYXNlIFBlcmNlbnQ6Cisg
ICAgICAgIGNhc2UgQ2FsY3VsYXRlZDogLy8gRklYTUU6IElzIHRoaXMgcmlnaHQ/CiAgICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgY2FzZSBBdXRvOgogICAgICAgICBjYXNlIFJlbGF0
aXZlOiAvLyBGSVhNRTogU2hvdWxkbid0IHRoaXMgY2FzZSByZXR1cm4gdHJ1ZT8KQEAgLTQ4MSw2
ICs0ODIsNyBAQCBib29sIFJlbmRlckltYWdlOjppc0xvZ2ljYWxIZWlnaHRTcGVjaWZpZWQoKSBj
b25zdAogICAgIHN3aXRjaCAoc3R5bGUoKS0+bG9naWNhbEhlaWdodCgpLnR5cGUoKSkgewogICAg
ICAgICBjYXNlIEZpeGVkOgogICAgICAgICBjYXNlIFBlcmNlbnQ6CisgICAgICAgIGNhc2UgQ2Fs
Y3VsYXRlZDogLy8gRklYTUU6IElzIHRoaXMgcmlnaHQ/CiAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICAgICAgY2FzZSBBdXRvOgogICAgICAgICBjYXNlIFJlbGF0aXZlOiAvLyBGSVhNRTog
U2hvdWxkbid0IHRoaXMgY2FzZSByZXR1cm4gdHJ1ZT8K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105581</attachid>
            <date>2011-08-29 22:49:03 -0700</date>
            <delta_ts>2011-12-06 06:25:14 -0800</delta_ts>
            <desc>added new files to EFL compile</desc>
            <filename>bug-16662-20110830154900.patch</filename>
            <type>text/plain</type>
            <size>108086</size>
            <attacher name="Mike Lawther">mikelawther</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQwMTkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyMDczOGY1ZjBhNWQyZjAyM2QzMzhi
MmZhMTAyMWIwODNhOGRiNzFlLi5hMWY5MjY4NjFlYmY5YTE3YzNkZDIzZWZlM2M2Y2EyMzMzMGE3
OGU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTAtMDMtMTcgIE1pa2UgTGF3dGhlciAgPG1p
a2VsYXd0aGVyQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBDU1MzOiBJbXBsZW1lbnQgY2FsYygpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjY2MgorCisgICAgICAgICogY3NzMy9j
YWxjL2JvcmRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9ib3Jk
ZXItc3BhY2luZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9ib3Jk
ZXItc3BhY2luZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvYm9yZGVyLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9jYWxjLWVycm9ycy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9jYWxjLWVycm9ycy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBjc3MzL2NhbGMvbWFyZ2luLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3Nz
My9jYWxjL21hcmdpbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvbWlubWF4LWVy
cm9ycy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9taW5tYXgtZXJy
b3JzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9wYWRkaW5nLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3BhZGRpbmcuaHRtbDogQWRkZWQuCisgICAg
ICAgICogY3NzMy9jYWxjL3NpbXBsZS1jYWxjcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGNzczMvY2FsYy9zaW1wbGUtY2FsY3MuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9j
YWxjL3NpbXBsZS1taW5tYXgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2Nh
bGMvc2ltcGxlLW1pbm1heC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvdGFibGUt
Y2FsY3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvdGFibGUtY2Fs
Y3MuaHRtbDogQWRkZWQuCisKIDIwMTEtMDgtMjkgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIEZpeCB0ZXN0X2V4cGVjdGF0aW9uLnR4dCB0eXBvLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvYm9yZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZDJiYWM4ZWM5
MjE5ZDM5YjQxMGY5ZmU1NDkxYTIwYmI3MGMxMGIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitUaGlz
IGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBib3JkZXIgb2YgMjUgcGl4ZWxzLiA9PiBQ
QVNTCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGxlZnQgYm9yZGVyIG9mIDI1IHBpeGVs
cy4gPT4gUEFTUworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSByaWdodCBib3JkZXIgb2Yg
MjUgcGl4ZWxzLiA9PiBQQVNTCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHRvcCBib3Jk
ZXIgb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGJv
dHRvbSBib3JkZXIgb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jc3MzL2NhbGMvYm9yZGVyLXNwYWNpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL2JvcmRlci1zcGFjaW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZWIyYWNhMWFk
ZTA4ODNmNmI0ZWUzY2FhMWEyN2ZhNDNkYTE2YWJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1zcGFjaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBA
Cis9PiBQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLXNwYWNp
bmcuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXItc3BhY2luZy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjVmNmRjYTcyOWQ3OTM3NjExMDBkYTU1ZDk4ODAyMmMxZDZkMmZiNmUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLXNwYWNpbmcuaHRtbApAQCAt
MCwwICsxLDU5IEBACis8IURPQ1RZUEUgSFRNTD4KKzxzdHlsZT4KK3RkIHsgdmVydGljYWwtYWxp
Z246dG9wOyBwYWRkaW5nOiAwOyB3aWR0aDo1MHB4OyBoZWlnaHQ6NjBweDsgYmFja2dyb3VuZC1j
b2xvcjpibHVlOyBib3JkZXI6MXB4IHNvbGlkIGJsYWNrIH0KK3RhYmxlIHsgYm9yZGVyLXNwYWNp
bmc6IC13ZWJraXQtY2FsYygxMHB4ICogMiArIDVweCk7IGJvcmRlcjozcHggc29saWQgYmxhY2s7
IHBvc2l0aW9uOnJlbGF0aXZlIH0KKzwvc3R5bGU+CisKKzx0YWJsZSBpZD0ic3RpbXVsdXMiPgor
ICAgIDx0cj4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8
dGQ+PC90ZD4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDx0ZD48L3RkPgorICAgIDwvdHI+
CisgICAgPHRyPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgICAg
IDx0ZD48L3RkPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAgPC90
cj4KKzwvdGFibGU+Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7CisKK3ZhciBpbm5lckJvcmRlciA9IDE7Cit2YXIgb3V0ZXJCb3JkZXIgPSAzOwor
dmFyIGlubmVyV2lkdGggPSA1MCArIDIgKiBpbm5lckJvcmRlcjsKK3ZhciBpbm5lckhlaWdodCA9
IDYwICsgMiAqIGlubmVyQm9yZGVyOwordmFyIGJvcmRlclNwYWNpbmcgPSAyNTsKK3ZhciByb3dz
ID0gMjsKK3ZhciBjb2x1bW5zID0gNTsKKwordmFyIGV4cGVjdGVkV2lkdGggPSBpbm5lcldpZHRo
ICogY29sdW1ucyArIGJvcmRlclNwYWNpbmcgKiAoY29sdW1ucyArIDEpICsgMiAqIG91dGVyQm9y
ZGVyOwordmFyIGV4cGVjdGVkSGVpZ2h0ID0gaW5uZXJIZWlnaHQgKiByb3dzICsgYm9yZGVyU3Bh
Y2luZyAqIChyb3dzICsgMSkgKyAyICogb3V0ZXJCb3JkZXI7CisKK3ZhciBlbHQgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgic3RpbXVsdXMiKTsKKwordmFyIHdpZHRoID0gZWx0Lm9mZnNldFdp
ZHRoOwordmFyIGhlaWdodCA9IGVsdC5vZmZzZXRIZWlnaHQ7CisKK3ZhciBlcnJvciA9IFtdOwor
aWYgKHdpZHRoICE9IGV4cGVjdGVkV2lkdGgpCisgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90
YWwgd2lkdGggb2YgIiArIGV4cGVjdGVkV2lkdGggKyAiLCBidXQgd2FzICIgKyB3aWR0aCk7Citp
ZiAoaGVpZ2h0ICE9IGV4cGVjdGVkSGVpZ2h0KQorICAgIGVycm9yLnB1c2goImV4cGVjdGVkIHRv
dGFsIGhlaWdodCBvZiAiICsgZXhwZWN0ZWRIZWlnaHQgKyAiLCBidXQgd2FzICIgKyBoZWlnaHQp
OworCityZXN1bHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0Iik7CitpZiAoZXJy
b3IgPT0gIiIpIHsKKyAgICBlbHQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gImdyZWVuIjsKKyAg
ICByZXN1bHQuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7Cit9IGVsc2UgeworICAgIGVsdC5zdHls
ZS5iYWNrZ3JvdW5kQ29sb3IgPSAicmVkIjsKKyAgICByZXN1bHQuaW5uZXJIVE1MICs9ICIgPT4g
RkFJTDogIiArIGVycm9yLmpvaW4oIiwgIik7Cit9Cis8L3NjcmlwdD4gICAgCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvYm9yZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTFiOGUyZGVhYTgzYzZhYTFlNDU4Njc0YTgxYzEw
NmIyNDMzNGUxYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3Jk
ZXIuaHRtbApAQCAtMCwwICsxLDc3IEBACis8IURPQ1RZUEUgSFRNTD4KKzxzdHlsZT4KK3Agewor
ICAgIHdpZHRoOjIwMHB4OyBoZWlnaHQ6MTIwcHg7Cit9Cisuc2ltcGxlLWFsbCB7CisgICAgYm9y
ZGVyOiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpIHNvbGlkOworfQorCisuc2ltcGxlLWxlZnQg
eworICAgIGJvcmRlci1sZWZ0OiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpIHNvbGlkOworfQor
LnNpbXBsZS1yaWdodCB7CisgICAgYm9yZGVyLXJpZ2h0OiAtd2Via2l0LWNhbGMoMTNweCArIDEy
cHgpIHNvbGlkOworfQorLnNpbXBsZS10b3AgeworICAgIGJvcmRlci10b3A6IC13ZWJraXQtY2Fs
YygxM3B4ICsgMTJweCkgc29saWQ7Cit9Cisuc2ltcGxlLWJvdHRvbSB7CisgICAgYm9yZGVyLWJv
dHRvbTogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KSBzb2xpZDsKK30KKzwvc3R5bGU+CisKKzxw
IGNsYXNzPSJzaW1wbGUtYWxsIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBi
b3JkZXIgb2YgMjUgcGl4ZWxzLjwvcD4KKzxwIGNsYXNzPSJzaW1wbGUtbGVmdCI+VGhpcyBlbGVt
ZW50IHNob3VsZCBoYXZlIGEgbGVmdCBib3JkZXIgb2YgMjUgcGl4ZWxzLjwvcD4KKzxwIGNsYXNz
PSJzaW1wbGUtcmlnaHQiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0IGJvcmRlciBv
ZiAyNSBwaXhlbHMuPC9wPgorPHAgY2xhc3M9InNpbXBsZS10b3AiPlRoaXMgZWxlbWVudCBzaG91
bGQgaGF2ZSBhIHRvcCBib3JkZXIgb2YgMjUgcGl4ZWxzLjwvcD4KKzxwIGNsYXNzPSJzaW1wbGUt
Ym90dG9tIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gYm9yZGVyIG9mIDI1IHBp
eGVscy48L3A+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKwordmFyIGlubmVyV2lkdGgg
PSAyMDA7Cit2YXIgaW5uZXJIZWlnaHQgPSAxMjA7Cit2YXIgYm9yZGVyID0gMjU7CisKK3ZhciB0
ZXN0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwIik7Citmb3IgKHZhciBpID0g
MDsgaSA8IHRlc3RzLmxlbmd0aDsgKytpKSB7CisgICAgdmFyIGVsdCA9IHRlc3RzW2ldOworICAg
IHZhciB3aWR0aCA9IGVsdC5vZmZzZXRXaWR0aDsKKyAgICB2YXIgaGVpZ2h0ID0gZWx0Lm9mZnNl
dEhlaWdodDsKKworICAgIHZhciBleHBlY3RlZFdpZHRoID0gaW5uZXJXaWR0aDsKKyAgICB2YXIg
ZXhwZWN0ZWRIZWlnaHQgPSBpbm5lckhlaWdodDsKKworICAgIHN3aXRjaCAoZWx0LmNsYXNzTmFt
ZS5zcGxpdCgiLSIpWzFdKSB7CisgICAgY2FzZSAiYWxsIjoKKyAgICAgICAgZXhwZWN0ZWRXaWR0
aCArPSAyICogYm9yZGVyOworICAgICAgICBleHBlY3RlZEhlaWdodCArPSAyICogYm9yZGVyOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlICJ0b3AiOgorICAgIGNhc2UgImJvdHRvbSI6CisgICAg
ICAgIGV4cGVjdGVkSGVpZ2h0ICs9IGJvcmRlcjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAi
bGVmdCI6CisgICAgY2FzZSAicmlnaHQiOgorICAgICAgICBleHBlY3RlZFdpZHRoICs9IGJvcmRl
cjsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgdmFyIGVycm9yID0gW107CisgICAgaWYg
KHdpZHRoICE9IGV4cGVjdGVkV2lkdGgpCisgICAgICAgIGVycm9yLnB1c2goImV4cGVjdGVkIHRv
dGFsIHdpZHRoIG9mICIgKyBleHBlY3RlZFdpZHRoICsgIiwgYnV0IHdhcyAiICsgd2lkdGgpOwor
ICAgIGlmIChoZWlnaHQgIT0gZXhwZWN0ZWRIZWlnaHQpCisgICAgICAgIGVycm9yLnB1c2goImV4
cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAiICsgZXhwZWN0ZWRIZWlnaHQgKyAiLCBidXQgd2FzICIg
KyBoZWlnaHQpOworCisgICAgcmVzdWx0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1
bHRzIik7CisgICAgaWYgKGVycm9yID09ICIiKSB7CisgICAgICAgIGVsdC5zdHlsZS5iYWNrZ3Jv
dW5kQ29sb3IgPSAiZ3JlZW4iOworICAgICAgICBlbHQuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgZWx0LnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICJyZWQi
OworICAgICAgICBlbHQuaW5uZXJIVE1MICs9ICIgPT4gRkFJTDogIiArIGVycm9yLmpvaW4oIiwg
Iik7CisgICAgfQorfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvbWFyZ2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9tYXJnaW4tZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRiOTQ0ZWZjYzhmZTAxMmNjODNlNzAwMzk4NDYzNWJlMTQz
MDZiZjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbWFyZ2luLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDI0IEBACitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4g
b3ZlcmFsbCBtYXJnaW4gb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCisKKworVGhpcyBlbGVtZW50IHNo
b3VsZCBoYXZlIGEgbGVmdCBtYXJnaW4gb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCisKK1RoaXMgZWxl
bWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0IG1hcmdpbiBvZiAyNSBwaXhlbHMuID0+IFBBU1MKKwor
VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgdG9wIG1hcmdpbiBvZiAyNSBwaXhlbHMuID0+IFBB
U1MKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIG1hcmdpbiBvZiAyNSBwaXhl
bHMuID0+IFBBU1MKKworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBtYXJn
aW4gb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCku
ID0+IEZBSUw6IGV4cGVjdGVkIHRvdGFsIHdpZHRoIG9mIDI1MCwgYnV0IHdhcyAyMDAsIGV4cGVj
dGVkIHRvdGFsIGhlaWdodCBvZiAxNzAsIGJ1dCB3YXMgMTIwCisKK1RoaXMgZWxlbWVudCBzaG91
bGQgaGF2ZSBhIGxlZnQgbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBv
ZiAzMDBweCBtaW51cyA1cHgpLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyMjUs
IGJ1dCB3YXMgMjAwCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0IG1hcmdpbiBv
ZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4g
RkFJTDogZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgMjI1LCBidXQgd2FzIDIwMAorCitUaGlzIGVs
ZW1lbnQgc2hvdWxkIGhhdmUgYSB0b3AgbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVu
dCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCBoZWln
aHQgb2YgMTQ1LCBidXQgd2FzIDEzNQorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0
b20gbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51
cyA1cHgpLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgMTQ1LCBidXQgd2FzIDEz
NQorCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL21hcmdpbi5odG1sIGIv
TGF5b3V0VGVzdHMvY3NzMy9jYWxjL21hcmdpbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxMjM1ZTJkZDAy
ZmUzNGRmNWViY2I0YmY0NmIwMmZhYzlkYzk5NzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvbWFyZ2luLmh0bWwKQEAgLTAsMCArMSwxMzMgQEAKKzwhRE9DVFlQRSBI
VE1MPgorPHN0eWxlPgorZGl2IHsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cit9CisKK3Ag
eworICAgIHdpZHRoOjIwMHB4OyAKKyAgICBoZWlnaHQ6MTIwcHg7CisgICAgbWFyZ2luOiAwOwor
fQorLnNpbXBsZS1hbGwgeworICAgIG1hcmdpbjogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsK
K30KKy5zaW1wbGUtbGVmdCB7CisgICAgbWFyZ2luLWxlZnQ6IC13ZWJraXQtY2FsYygxM3B4ICsg
MTJweCk7Cit9Cisuc2ltcGxlLXJpZ2h0IHsKKyAgICBtYXJnaW4tcmlnaHQ6IC13ZWJraXQtY2Fs
YygxM3B4ICsgMTJweCk7Cit9Cisuc2ltcGxlLXRvcCB7CisgICAgbWFyZ2luLXRvcDogLXdlYmtp
dC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5zaW1wbGUtYm90dG9tIHsKKyAgICBtYXJnaW4tYm90
dG9tOiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpOworfQorLnBlcmNlbnQtYWxsIHsKKyAgIC8q
IG1hcmdpbjogLXdlYmtpdC1jYWxjKDEwJSAtIDVweCk7CisgICAgbWFyZ2luOiAtbW96LWNhbGMo
MTAlIC0gNXB4KTsKKyAgICBtYXJnaW46IGNhbGMoMTAlIC0gNXB4KTsqLworICAgIG1hcmdpbi1s
ZWZ0OiAxMCU7Cit9CisucGVyY2VudC1sZWZ0IHsKKyAgICBtYXJnaW4tbGVmdDogLXdlYmtpdC1j
YWxjKDEwJSAtIDVweCk7CisgICAgbWFyZ2luLWxlZnQ6IDIwJTsKK30KKy5wZXJjZW50LXJpZ2h0
IHsKKyAgICBtYXJnaW4tcmlnaHQ6IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQorLnBlcmNl
bnQtdG9wIHsKKyAgICBtYXJnaW4tdG9wOiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKK30KKy5w
ZXJjZW50LWJvdHRvbSB7CisgICBtYXJnaW4tYm90dG9tOiAtd2Via2l0LWNhbGMoMTAlIC0gNXB4
KTsKK30KKzwvc3R5bGU+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJzaW1wbGUtYWxsIj5UaGlzIGVs
ZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBtYXJnaW4gb2YgMjUgcGl4ZWxzLjwvcD4KKzwv
ZGl2Pjxici8+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJzaW1wbGUtbGVmdCI+VGhpcyBlbGVtZW50
IHNob3VsZCBoYXZlIGEgbGVmdCBtYXJnaW4gb2YgMjUgcGl4ZWxzLjwvcD4KKzwvZGl2Pjxici8+
Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJzaW1wbGUtcmlnaHQiPlRoaXMgZWxlbWVudCBzaG91bGQg
aGF2ZSBhIHJpZ2h0IG1hcmdpbiBvZiAyNSBwaXhlbHMuPC9wPgorPC9kaXY+PGJyLz4KKzxkaXY+
CisgICAgPHAgY2xhc3M9InNpbXBsZS10b3AiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHRv
cCBtYXJnaW4gb2YgMjUgcGl4ZWxzLjwvcD4KKzwvZGl2Pjxici8+Cis8ZGl2PgorICAgIDxwIGNs
YXNzPSJzaW1wbGUtYm90dG9tIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gbWFy
Z2luIG9mIDI1IHBpeGVscy48L3A+Cis8L2Rpdj48YnIvPgorCis8ZGl2IGlkPSJ3cmFwcGVyIiBz
dHlsZT0id2lkdGg6IDMwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBjb3Juc2lsazsgZGlzcGxheTog
YmxvY2s7Ij4KKzxkaXY+CisgICAgPHAgY2xhc3M9InBlcmNlbnQtYWxsIj5UaGlzIGVsZW1lbnQg
c2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBtYXJnaW4gb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50
IHdpZHRoIG9mIDMwMHB4IG1pbnVzICAgICA1cHgpLjwvcD4KKzwvZGl2Pjxici8+CisKKworPGRp
dj4KKyAgICA8cCBjbGFzcz0icGVyY2VudC1sZWZ0Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUg
YSBsZWZ0IG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHgg
bWludXMgNXB4KS48L3A+Cis8L2Rpdj48YnIvPgorPGRpdj4KKyAgICA8cCBjbGFzcz0icGVyY2Vu
dC1yaWdodCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgcmlnaHQgbWFyZ2luIG9mIDI1IHBp
eGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLjwvcD4KKzwvZGl2
Pjxici8+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJwZXJjZW50LXRvcCI+VGhpcyBlbGVtZW50IHNo
b3VsZCBoYXZlIGEgdG9wIG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGgg
b2YgMzAwcHggbWludXMgNXB4KS48L3A+Cis8L2Rpdj48YnIvPgorPGRpdj4KKyAgICA8cCBjbGFz
cz0icGVyY2VudC1ib3R0b20iPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGJvdHRvbSBtYXJn
aW4gb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCku
PC9wPgorPC9kaXY+PGJyLz4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit2YXIgaW5u
ZXJXaWR0aCA9IDIwMDsKK3ZhciBpbm5lckhlaWdodCA9IDEyMDsKK3ZhciBtYXJnaW4gPSAyNTsK
KwordmFyIHRlc3RzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpOworZm9y
ICh2YXIgaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7ICsraSkgeworICAgIHZhciBvdXRlckVsdCA9
IHRlc3RzW2ldOworICAgIGlmIChvdXRlckVsdC5pZCA9PSAid3JhcHBlciIpCisgICAgICAgIGNv
bnRpbnVlOworICAgICAgICAKKyAgICB2YXIgaW5uZXJFbHQgPSB0ZXN0c1tpXS5nZXRFbGVtZW50
c0J5VGFnTmFtZSgicCIpWzBdOworICAgIHZhciB3aWR0aCA9IG91dGVyRWx0Lm9mZnNldFdpZHRo
OworICAgIHZhciBoZWlnaHQgPSBvdXRlckVsdC5vZmZzZXRIZWlnaHQ7CisKKyAgICB2YXIgZXhw
ZWN0ZWRXaWR0aCA9IGlubmVyV2lkdGg7CisgICAgdmFyIGV4cGVjdGVkSGVpZ2h0ID0gaW5uZXJI
ZWlnaHQ7CisgICAgCisgICAgc3dpdGNoIChpbm5lckVsdC5jbGFzc05hbWUuc3BsaXQoIi0iKVsx
XSkgeworICAgIGNhc2UgImFsbCI6CisgICAgICAgIGV4cGVjdGVkV2lkdGggKz0gMiAqIG1hcmdp
bjsKKyAgICAgICAgZXhwZWN0ZWRIZWlnaHQgKz0gMiAqIG1hcmdpbjsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSAidG9wIjoKKyAgICBjYXNlICJib3R0b20iOgorICAgICAgICBleHBlY3RlZEhl
aWdodCArPSBtYXJnaW47CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgImxlZnQiOgorICAgIGNh
c2UgInJpZ2h0IjoKKyAgICAgICAgZXhwZWN0ZWRXaWR0aCArPSBtYXJnaW47CisgICAgICAgIGJy
ZWFrOworICAgIH0KKyAgICAKKyAgICB2YXIgZXJyb3IgPSBbXTsKKyAgICBpZiAod2lkdGggIT0g
ZXhwZWN0ZWRXaWR0aCkKKyAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90YWwgd2lkdGgg
b2YgIiArIGV4cGVjdGVkV2lkdGggKyAiLCBidXQgd2FzICIgKyB3aWR0aCk7CisgICAgaWYgKGhl
aWdodCAhPSBleHBlY3RlZEhlaWdodCkKKyAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90
YWwgaGVpZ2h0IG9mICIgKyBleHBlY3RlZEhlaWdodCArICIsIGJ1dCB3YXMgIiArIGhlaWdodCk7
CisKKyAgICByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKTsKKyAg
ICBpZiAoZXJyb3IgPT0gIiIpIHsKKyAgICAgICAgaW5uZXJFbHQuc3R5bGUuYmFja2dyb3VuZENv
bG9yID0gImdyZWVuIjsKKyAgICAgICAgaW5uZXJFbHQuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgaW5uZXJFbHQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0g
InJlZCI7CisgICAgICAgIGlubmVyRWx0LmlubmVySFRNTCArPSAiID0+IEZBSUw6ICIgKyBlcnJv
ci5qb2luKCIsICIpOworICAgIH0KK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvY3NzMy9jYWxjL3BhZGRpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L3BhZGRpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBiOGUzYTc0NDQ1Mjg3MDgzY2RjNTJi
YjY0NmViNWQyMDU3NzlhOGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvcGFkZGluZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAorVGhpcyBlbGVtZW50IHNo
b3VsZCBoYXZlIGFuIG92ZXJhbGwgcGFkZGluZyBvZiAyNSBwaXhlbHMuID0+IFBBU1MKKworVGhp
cyBlbGVtZW50IHNob3VsZCBoYXZlIGEgbGVmdCBwYWRkaW5nIG9mIDI1IHBpeGVscy4gPT4gUEFT
UworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSByaWdodCBwYWRkaW5nIG9mIDI1IHBpeGVs
cy4gPT4gUEFTUworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSB0b3AgcGFkZGluZyBvZiAy
NSBwaXhlbHMuID0+IFBBU1MKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIHBh
ZGRpbmcgb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBh
biBvdmVyYWxsIHBhZGRpbmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMw
MHB4IG1pbnVzIDVweCkuID0+IFBBU1MKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgbGVm
dCBwYWRkaW5nIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51
cyA1cHgpLiA9PiBQQVNTCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0IHBhZGRp
bmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCku
ID0+IFBBU1MKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgdG9wIHBhZGRpbmcgb2YgMjUg
cGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuID0+IFBBU1MK
KworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIHBhZGRpbmcgb2YgMjUgcGl4ZWxz
ICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuID0+IFBBU1MKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9wYWRkaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvcGFkZGluZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVlNjgwOTNlYmE3NTY1YzE5ZDI3NjI2
MTY0M2I0NDUxYTAzM2NkMDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvcGFkZGluZy5odG1sCkBAIC0wLDAgKzEsOTkgQEAKKzwhRE9DVFlQRSBIVE1MPgorPHN0eWxl
PgorcCB7CisgICAgd2lkdGg6MjAwcHg7IGhlaWdodDoxMjBweDsgCit9Cisuc2ltcGxlLWFsbCB7
CisgICAgcGFkZGluZzogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5zaW1wbGUtbGVm
dCB7CisgICAgcGFkZGluZy1sZWZ0OiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpOworfQorLnNp
bXBsZS1yaWdodCB7CisgICAgcGFkZGluZy1yaWdodDogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4
KTsKK30KKy5zaW1wbGUtdG9wIHsKKyAgICBwYWRkaW5nLXRvcDogLXdlYmtpdC1jYWxjKDEzcHgg
KyAxMnB4KTsKK30KKy5zaW1wbGUtYm90dG9tIHsKKyAgICBwYWRkaW5nLWJvdHRvbTogLXdlYmtp
dC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5wZXJjZW50LWFsbCB7CisgICAgcGFkZGluZzogLXdl
YmtpdC1jYWxjKDEwJSAtIDVweCk7Cit9CisucGVyY2VudC1sZWZ0IHsKKyAgICBwYWRkaW5nLWxl
ZnQ6IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQorLnBlcmNlbnQtcmlnaHQgeworICAgIHBh
ZGRpbmctcmlnaHQ6IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQorLnBlcmNlbnQtdG9wIHsK
KyAgICBwYWRkaW5nLXRvcDogLXdlYmtpdC1jYWxjKDEwJSAtIDVweCk7Cit9CisucGVyY2VudC1i
b3R0b20geworICAgcGFkZGluZy1ib3R0b206IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQor
PC9zdHlsZT4KKworPHAgY2xhc3M9InNpbXBsZS1hbGwiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2
ZSBhbiBvdmVyYWxsIHBhZGRpbmcgb2YgMjUgcGl4ZWxzLjwvcD4KKzxwIGNsYXNzPSJzaW1wbGUt
bGVmdCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgbGVmdCBwYWRkaW5nIG9mIDI1IHBpeGVs
cy48L3A+Cis8cCBjbGFzcz0ic2ltcGxlLXJpZ2h0Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUg
YSByaWdodCBwYWRkaW5nIG9mIDI1IHBpeGVscy48L3A+Cis8cCBjbGFzcz0ic2ltcGxlLXRvcCI+
VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgdG9wIHBhZGRpbmcgb2YgMjUgcGl4ZWxzLjwvcD4K
KzxwIGNsYXNzPSJzaW1wbGUtYm90dG9tIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0
b20gcGFkZGluZyBvZiAyNSBwaXhlbHMuPC9wPgorCis8ZGl2IHN0eWxlPSJ3aWR0aDogMzAwcHg7
IGJhY2tncm91bmQtY29sb3I6IGNvcm5zaWxrOyI+CisgICAgPHAgY2xhc3M9InBlcmNlbnQtYWxs
Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBwYWRkaW5nIG9mIDI1IHBpeGVs
cyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLjwvcD4KKyAgICA8cCBj
bGFzcz0icGVyY2VudC1sZWZ0Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBsZWZ0IHBhZGRp
bmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCku
PC9wPgorICAgIDxwIGNsYXNzPSJwZXJjZW50LXJpZ2h0Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhh
dmUgYSByaWdodCBwYWRkaW5nIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAz
MDBweCBtaW51cyA1cHgpLjwvcD4KKyAgICA8cCBjbGFzcz0icGVyY2VudC10b3AiPlRoaXMgZWxl
bWVudCBzaG91bGQgaGF2ZSBhIHRvcCBwYWRkaW5nIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVu
dCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLjwvcD4KKyAgICA8cCBjbGFzcz0icGVyY2VudC1i
b3R0b20iPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIGJvdHRvbSBwYWRkaW5nIG9mIDI1IHBp
eGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLjwvcD4KKzwvZGl2
PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3ZhciBpbm5lcldpZHRoID0gMjAwOwor
dmFyIGlubmVySGVpZ2h0ID0gMTIwOwordmFyIHBhZGRpbmcgPSAyNTsKKwordmFyIHRlc3RzID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInAiKTsKK2ZvciAodmFyIGkgPSAwOyBpIDwg
dGVzdHMubGVuZ3RoOyArK2kpIHsKKyAgICB2YXIgZWx0ID0gdGVzdHNbaV07CisgICAgdmFyIHdp
ZHRoID0gZWx0Lm9mZnNldFdpZHRoOworICAgIHZhciBoZWlnaHQgPSBlbHQub2Zmc2V0SGVpZ2h0
OworCisgICAgdmFyIGV4cGVjdGVkV2lkdGggPSBpbm5lcldpZHRoOworICAgIHZhciBleHBlY3Rl
ZEhlaWdodCA9IGlubmVySGVpZ2h0OworICAgIAorICAgIHN3aXRjaCAoZWx0LmNsYXNzTmFtZS5z
cGxpdCgiLSIpWzFdKSB7CisgICAgY2FzZSAiYWxsIjoKKyAgICAgICAgZXhwZWN0ZWRXaWR0aCAr
PSAyICogcGFkZGluZzsKKyAgICAgICAgZXhwZWN0ZWRIZWlnaHQgKz0gMiAqIHBhZGRpbmc7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgInRvcCI6CisgICAgY2FzZSAiYm90dG9tIjoKKyAgICAg
ICAgZXhwZWN0ZWRIZWlnaHQgKz0gcGFkZGluZzsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAi
bGVmdCI6CisgICAgY2FzZSAicmlnaHQiOgorICAgICAgICBleHBlY3RlZFdpZHRoICs9IHBhZGRp
bmc7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICAKKyAgICB2YXIgZXJyb3IgPSBbXTsKKyAg
ICBpZiAod2lkdGggIT0gZXhwZWN0ZWRXaWR0aCkKKyAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0
ZWQgdG90YWwgd2lkdGggb2YgIiArIGV4cGVjdGVkV2lkdGggKyAiLCBidXQgd2FzICIgKyB3aWR0
aCk7CisgICAgaWYgKGhlaWdodCAhPSBleHBlY3RlZEhlaWdodCkKKyAgICAgICAgZXJyb3IucHVz
aCgiZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9mICIgKyBleHBlY3RlZEhlaWdodCArICIsIGJ1dCB3
YXMgIiArIGhlaWdodCk7CisKKyAgICByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InJlc3VsdHMiKTsKKyAgICBpZiAoZXJyb3IgPT0gIiIpIHsKKyAgICAgICAgZWx0LnN0eWxlLmJh
Y2tncm91bmRDb2xvciA9ICJncmVlbiI7CisgICAgICAgIGVsdC5pbm5lckhUTUwgKz0gIiA9PiBQ
QVNTIjsKKyAgICB9IGVsc2UgeworICAgICAgICBlbHQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0g
InJlZCI7CisgICAgICAgIGVsdC5pbm5lckhUTUwgKz0gIiA9PiBGQUlMOiAiICsgZXJyb3Iuam9p
bigiLCAiKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9zaW1wbGUtY2FsY3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L3NpbXBsZS1jYWxjcy1leHBlY3RlZC50eHQKaW5kZXggNDUwZjljZjcyZjRjMzg0ZjhjZTY2NjM4
Yjc2YWU3YmUxOGMwZjI1ZS4uODhlNWIzMWQ1ZTgzYTQ2YjlhYmMxOWQ3ZTUyNDU3MDE1MTkzMjky
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3NpbXBsZS1jYWxjcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3NpbXBsZS1jYWxjcy1leHBlY3RlZC50
eHQKQEAgLTEsNDkgKzEsNDkgQEAKIEFsbCBib3hlcyBiZWxvdyBzaG91bGQgYmUgMTAwcHggKiAx
MDBweCBhbmQgZ3JlZW4uCiAKIGNvbnRyb2wgPT4gUEFTUwotNTBweCArIDUwcHggPT4gRkFJTDog
QHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhw
ZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgMjU2Ci0xNTBweCAtIDUwcHggPT4gRkFJTDogQHpvb209MSBleHBlY3Rl
ZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2Yg
MTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMg
MjU2Ci01MHB4ICsgNTBweCAoMiBzcGFjZXMgYXJvdW5kIG9wZXJhdG9yKSA9PiBGQUlMOiBAem9v
bT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3Rl
ZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEw
MCwgYnV0IHdhcyAyNTYKLTE1MHB4IC0gNTBweCAoMiBzcGFjZXMgYXJvdW5kIG9wZXJhdG9yKSA9
PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29t
PTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVk
IHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTUwcHgqMiA9PiBGQUlMOiBAem9vbT0xIGV4cGVj
dGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdh
cyAyNTYKLTUwcHggKjIgPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1
dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1Njsg
QHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci01MHB4KiAyID0+IEZB
SUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4y
IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lk
dGggb2YgMTAwLCBidXQgd2FzIDI1NgotMjAwcHgvMiA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVk
IHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAx
MDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAy
NTYKLTIwMHB4IC8yID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQg
d2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6
b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotMjAwcHgvIDIgPT4gRkFJ
TDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIg
ZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0
aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci01MHB4KigyKSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVk
IHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAx
MDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAy
NTYKLTUwcHggKigyKSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0
IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBA
em9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTUwcHgqICgyKSA9PiBG
QUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEu
MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdp
ZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTUwcHgqKDEgKyAxKSA9PiBGQUlMOiBAem9vbT0xIGV4
cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0
aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0
IHdhcyAyNTYKLTUwcHgqKDEyIC0gMTApID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGgg
b2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0
IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotNTBw
eCooMTAgLyA1KSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdh
cyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9v
bT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTEwcHgqICg1ICogMikgPT4g
RkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0x
LjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3
aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci01MHB4KiAoMTIgbW9kIDEwKSA9PiBGQUlMOiBAem9v
bT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3Rl
ZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEw
MCwgYnV0IHdhcyAyNTYKLTUwcHggKyAxMHB4ICogNSAob3BlcmF0aW9uIG9yZGVyKSA9PiBGQUlM
OiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBl
eHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRo
IG9mIDEwMCwgYnV0IHdhcyAyNTYKLTExMDBweCBtb2QgMTAwMCA9PiBGQUlMOiBAem9vbT0xIGV4
cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0
aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0
IHdhcyAyNTYKLTEwMCUvMiAod2hlcmUgMTAwJSBpcyAyMDBweCkgPT4gRkFJTDogQHpvb209MSBl
eHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lk
dGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1
dCB3YXMgMjU2Ci0xMDAlICsgLTEwMHB4ICh3aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBGQUlMOiBA
em9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBl
Y3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9m
IDEwMCwgYnV0IHdhcyAyNTYKLTgwJSAtIDYwcHggKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IEZB
SUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4y
IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lk
dGggb2YgMTAwLCBidXQgd2FzIDI1NgotMzAwcHggLSAxMDAlICh3aGVyZSAxMDAlIGlzIDIwMHB4
KSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6
b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVj
dGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLS0xMDBweCArIDEwMCUgKHdoZXJlIDEwMCUg
aXMgMjAwcHgpID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2Fz
IDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29t
PTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotMjAlICsgMzAlICh3aGVyZSAx
MDAlIGlzIDIwMHB4KSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0
IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBA
em9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTgwJSAtIDMwJSAod2hl
cmUgMTAwJSBpcyAyMDBweCkgPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAs
IGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1
NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci0xMCUgKiA1ICh3
aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEw
MCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMg
MjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTUgKiAxMCUg
KHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2Yg
MTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdh
cyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotKDEwMHB4
KSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6
b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVj
dGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLSg1MHB4ICsgNTBweCkgPT4gRkFJTDogQHpv
b209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0
ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAx
MDAsIGJ1dCB3YXMgMjU2Ci0oNTBweCkgKyA1MHB4ID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQg
d2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEw
MCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1
NgotNTBweCArICg1MHB4KSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwg
YnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2
OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTUwcHggKyA1MHB4
ID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpv
b209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0
ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotNTBweCArIDI1cHggKiAyID0+IEZBSUw6IEB6
b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVj
dGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2Yg
MTAwLCBidXQgd2FzIDI1NgotKDI1cHggKyAyNXB4KSAqIDIgPT4gRkFJTDogQHpvb209MSBleHBl
Y3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGgg
b2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3
YXMgMjU2Ci0yICogNTBweCA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwg
YnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2
OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTIgKiAxMDBweCAv
IDIgPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBA
em9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBl
Y3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci0xMiBtb2QgMTAgKiA1MHB4ID0+IEZBSUw6
IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4
cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGgg
b2YgMTAwLCBidXQgd2FzIDI1NgotKDFlbSAtIDFlbSkgKyAxMDBweCA9PiBGQUlMOiBAem9vbT0x
IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3
aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwg
YnV0IHdhcyAyNTYKLTUwcHggKyArNTBweCA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRo
IG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1
dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLS01
MHB4ICsgMTUwcHggPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3
YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpv
b209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci0tNTBweCAtIC0xNTBweCA9
PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29t
PTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVk
IHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLSgoKCgoKCgxMDBweCkpKSkpKSkgPT4gRkFJTDog
QHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhw
ZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgMjU2Ci0xMDBweCA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIGhlaWdo
dCBvZiAxMDAsIGJ1dCB3YXMgNTA7IEB6b29tPTEuMiBleHBlY3RlZCBoZWlnaHQgb2YgMTAwLCBi
dXQgd2FzIDUwOyBAem9vbT0yIGV4cGVjdGVkIGhlaWdodCBvZiAxMDAsIGJ1dCB3YXMgNTAKLTEw
MCUgKiAyID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyA1
MDsgQHpvb209MS4yIGV4cGVjdGVkIGhlaWdodCBvZiAxMDAsIGJ1dCB3YXMgNTA7IEB6b29tPTIg
ZXhwZWN0ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyA1MAorNTBweCArIDUwcHggPT4gUEFTUwor
MTUwcHggLSA1MHB4ID0+IFBBU1MKKzUwcHggKyA1MHB4ICgyIHNwYWNlcyBhcm91bmQgb3BlcmF0
b3IpID0+IFBBU1MKKzE1MHB4IC0gNTBweCAoMiBzcGFjZXMgYXJvdW5kIG9wZXJhdG9yKSA9PiBQ
QVNTCis1MHB4KjIgPT4gUEFTUworNTBweCAqMiA9PiBQQVNTCis1MHB4KiAyID0+IFBBU1MKKzIw
MHB4LzIgPT4gUEFTUworMjAwcHggLzIgPT4gUEFTUworMjAwcHgvIDIgPT4gUEFTUworNTBweCoo
MikgPT4gUEFTUworNTBweCAqKDIpID0+IFBBU1MKKzUwcHgqICgyKSA9PiBQQVNTCis1MHB4Kigx
ICsgMSkgPT4gUEFTUworNTBweCooMTIgLSAxMCkgPT4gUEFTUworNTBweCooMTAgLyA1KSA9PiBQ
QVNTCisxMHB4KiAoNSAqIDIpID0+IFBBU1MKKzUwcHgqICgxMiBtb2QgMTApID0+IFBBU1MKKzUw
cHggKyAxMHB4ICogNSAob3BlcmF0aW9uIG9yZGVyKSA9PiBQQVNTCisxMTAwcHggbW9kIDEwMDAg
PT4gUEFTUworMTAwJS8yICh3aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBQQVNTCisxMDAlICsgLTEw
MHB4ICh3aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBQQVNTCis4MCUgLSA2MHB4ICh3aGVyZSAxMDAl
IGlzIDIwMHB4KSA9PiBQQVNTCiszMDBweCAtIDEwMCUgKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+
IFBBU1MKKy0xMDBweCArIDEwMCUgKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IFBBU1MKKzIwJSAr
IDMwJSAod2hlcmUgMTAwJSBpcyAyMDBweCkgPT4gUEFTUworODAlIC0gMzAlICh3aGVyZSAxMDAl
IGlzIDIwMHB4KSA9PiBQQVNTCisxMCUgKiA1ICh3aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBQQVNT
Cis1ICogMTAlICh3aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBQQVNTCisoMTAwcHgpID0+IFBBU1MK
Kyg1MHB4ICsgNTBweCkgPT4gUEFTUworKDUwcHgpICsgNTBweCA9PiBQQVNTCis1MHB4ICsgKDUw
cHgpID0+IFBBU1MKKzUwcHggKyA1MHB4ID0+IFBBU1MKKzUwcHggKyAyNXB4ICogMiA9PiBQQVNT
CisoMjVweCArIDI1cHgpICogMiA9PiBQQVNTCisyICogNTBweCA9PiBQQVNTCisyICogMTAwcHgg
LyAyID0+IFBBU1MKKzEyIG1vZCAxMCAqIDUwcHggPT4gUEFTUworKDFlbSAtIDFlbSkgKyAxMDBw
eCA9PiBQQVNTCis1MHB4ICsgKzUwcHggPT4gUEFTUworLTUwcHggKyAxNTBweCA9PiBQQVNTCist
NTBweCAtIC0xNTBweCA9PiBQQVNTCisoKCgoKCgoMTAwcHgpKSkpKSkpID0+IFBBU1MKKzEwMHB4
ID0+IFBBU1MKKzEwMCUgKiAyID0+IFBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMv
Y2FsYy9zaW1wbGUtbWlubWF4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9z
aW1wbGUtbWlubWF4LWV4cGVjdGVkLnR4dAppbmRleCA3NTk2NjkwOWNhYTgzMmJhMzE0MGQxOWE3
OTMyYjNlNmJmM2EyNmIwLi5kN2FkNDQwMGM0MWE1OGY2NDk3ODZmMjFmMDg0ZWIwNmNlOTIyMDMx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc2ltcGxlLW1pbm1heC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3NpbXBsZS1taW5tYXgtZXhwZWN0ZWQu
dHh0CkBAIC0xLDE4ICsxLDE4IEBACiBBbGwgYm94ZXMgYmVsb3cgc2hvdWxkIGJlIDEwMHB4ICog
MTAwcHggYW5kIGdyZWVuLgogCi1taW4oMTAwcHgpID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9m
IDEwMCwgYnV0IHdhcyAyNTYKLW1pbiggMTAwcHggKSA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgMjU2Ci1taW4oKCgoMTAwcHgpKSkpID0+IEZBSUw6IGV4cGVjdGVkIHdp
ZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLW1pbigxNTBweCwxMDBweCkgPT4gRkFJTDogZXhwZWN0
ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotbWluKDE1MHB4LDEwMHB4LDIwMHB4KSA9PiBG
QUlMOiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci1taW4oIDE1MHB4ICwgMTAw
cHggLDIwMHB4KSA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci1t
aW4oOTBweCArIDUwcHggLDEwMHB4KSA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1
dCB3YXMgMjU2Ci1taW4oMTAwJSwxMDBweCkgLSB3aGVyZSAxMDAlIGlzIDIwMHB4ID0+IEZBSUw6
IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLW1pbigxMDBweCwxMDAlKSAtIHdo
ZXJlIDEwMCUgaXMgMjAwcHggPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2Fz
IDI1NgotbWF4KDEwMHB4KSA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMg
MjU2Ci1tYXgoNTBweCwxMDBweCkgPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQg
d2FzIDI1NgotbWF4KDUwcHgsMTAwcHgsMjBweCkgPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2Yg
MTAwLCBidXQgd2FzIDI1NgotbWF4KDEyMHB4IC0gNTBweCwxMDBweCkgPT4gRkFJTDogZXhwZWN0
ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotbWF4KDEwMCUsMTAwcHgpIC0gd2hlcmUgMTAw
JSBpcyA1MHB4ID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLW1h
eCgxMDBweCwxMDAlKSAtIHdoZXJlIDEwMCUgaXMgNTBweCA9PiBGQUlMOiBleHBlY3RlZCB3aWR0
aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci1taW4oMjAwcHgsMTAwcHgpID0+IEZBSUw6IGV4cGVjdGVk
IGhlaWdodCBvZiAxMDAsIGJ1dCB3YXMgNTAKK21pbigxMDBweCkgPT4gUEFTUworbWluKCAxMDBw
eCApID0+IFBBU1MKK21pbigoKCgxMDBweCkpKSkgPT4gUEFTUworbWluKDE1MHB4LDEwMHB4KSA9
PiBQQVNTCittaW4oMTUwcHgsMTAwcHgsMjAwcHgpID0+IFBBU1MKK21pbiggMTUwcHggLCAxMDBw
eCAsMjAwcHgpID0+IFBBU1MKK21pbig5MHB4ICsgNTBweCAsMTAwcHgpID0+IFBBU1MKK21pbigx
MDAlLDEwMHB4KSAtIHdoZXJlIDEwMCUgaXMgMjAwcHggPT4gUEFTUworbWluKDEwMHB4LDEwMCUp
IC0gd2hlcmUgMTAwJSBpcyAyMDBweCA9PiBQQVNTCittYXgoMTAwcHgpID0+IFBBU1MKK21heCg1
MHB4LDEwMHB4KSA9PiBQQVNTCittYXgoNTBweCwxMDBweCwyMHB4KSA9PiBQQVNTCittYXgoMTIw
cHggLSA1MHB4LDEwMHB4KSA9PiBQQVNTCittYXgoMTAwJSwxMDBweCkgLSB3aGVyZSAxMDAlIGlz
IDUwcHggPT4gUEFTUworbWF4KDEwMHB4LDEwMCUpIC0gd2hlcmUgMTAwJSBpcyA1MHB4ID0+IFBB
U1MKK21pbigyMDBweCwxMDBweCkgPT4gUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL3RhYmxlLWNhbGNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy90
YWJsZS1jYWxjcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDA1MTkyNmVmNmQ1YmUxYTEwMGNi
NTdkY2Q3ZjVlNDQ4ZmJmM2FlYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMv
Y2FsYy90YWJsZS1jYWxjcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitBbGwgdGFibGUg
Y2VsbHMgYmVsb3cgc2hvdWxkIGJlIDEwMHB4ICogMTAwcHggYW5kIGdyZWVuLgorCitjb250cm9s
IHdpZHRoOjEwMHB4ID0+IFBBU1MJc2ltcGxlIDEwMHB4ID0+IFBBU1MJMjVweCAqIDQgPT4gUEFT
UworY29udHJvbCBoZWlnaHQ6MTAwcHggPT4gUEFTUwlzaW1wbGUgMTAwcHggPT4gUEFTUwkyNXB4
ICogNCA9PiBQQVNTCitjb250cm9sIHdpZHRoOjI1JSA9PiBQQVNTCXNpbXBsZSAyNSUgPT4gRkFJ
TDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDEzNQkxMCUgKiAyICsgNSUgPT4gRkFJ
TDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDYwCitjb250cm9sIGhlaWdodDoyNSUg
PT4gUEFTUworc2ltcGxlIDI1JSA9PiBQQVNTCisxMCUgKiAyICsgNSUgPT4gRkFJTDogZXhwZWN0
ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyAxOAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvdGFibGUtY2FsY3MuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJsZS1j
YWxjcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1ZTZhYTFiYmY1NzcxNzAzOWQ0ZjkxMWVmYjg2ZWFiN2Rh
NGMyZmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtY2Fs
Y3MuaHRtbApAQCAtMCwwICsxLDEwMCBAQAorPCFET0NUWVBFIEhUTUw+Cis8c3R5bGU+Cisud2lk
dGgtdGVzdCB7CisgICAgcGFkZGluZzogMDsKKyAgICB3aWR0aDogMjU2cHg7IAorICAgIGhlaWdo
dDogMTAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOworfQorCisud2lkdGgtcGVyY2Vu
dC10ZXN0IHsKKyAgICBwYWRkaW5nOiAwOworICAgIGhlaWdodDogMTAwcHg7CisgICAgYmFja2dy
b3VuZC1jb2xvcjogcmVkOworfQorCisuaGVpZ2h0LXRlc3QgeworICAgIHBhZGRpbmc6IDA7Cisg
ICAgd2lkdGg6IDEwMHB4OworICAgIGhlaWdodDogMjU2cHg7CisgICAgYmFja2dyb3VuZC1jb2xv
cjogcmVkOworfQorCisuaGVpZ2h0LXBlcmNlbnQtdGVzdCB7CisgICAgcGFkZGluZzogMDsKKyAg
ICB3aWR0aDogMTAwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOworfQorCis8L3N0eWxl
PgorCis8cD4KKyAgQWxsIHRhYmxlIGNlbGxzIGJlbG93IHNob3VsZCBiZSAxMDBweCAqIDEwMHB4
IGFuZCBncmVlbi4KKzwvcD4KKworPGRpdiBpZD0idGVzdCI+CisgICAgPHRhYmxlPgorICAgICAg
PHRyPgorICAgICAgICAgIDx0ZCBjbGFzcz0id2lkdGgtdGVzdCIgc3R5bGU9IndpZHRoOiAxMDBw
eDsiPmNvbnRyb2wgd2lkdGg6MTAwcHg8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0id2lkdGgt
dGVzdCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMTAwcHgpOyAtbW96LWNhbGM6KDEwMHB4
KSI+c2ltcGxlIDEwMHB4PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9IndpZHRoLXRlc3QiIHN0
eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDI1cHggKiA0KTsgLW1vei1jYWxjOigyNXB4ICogNCki
PjI1cHggKiA0PC90ZD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgICA8dGFibGU+Cisg
ICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJoZWlnaHQtdGVzdCIgc3R5bGU9ImhlaWdo
dDogMTAwcHg7Ij5jb250cm9sIGhlaWdodDoxMDBweDwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNz
PSJoZWlnaHQtdGVzdCIgc3R5bGU9ImhlaWdodDogLXdlYmtpdC1jYWxjKDEwMHB4KTsgLW1vei1j
YWxjOigxMDBweCkiPnNpbXBsZSAxMDBweDwvdGQ+CisgICAgICAgICAgPHRkIGNsYXNzPSJoZWln
aHQtdGVzdCIgc3R5bGU9ImhlaWdodDogLXdlYmtpdC1jYWxjKDI1cHggKiA0KTsgLW1vei1jYWxj
OigyNXB4ICogNCkiPjI1cHggKiA0PC90ZD4KKyAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAg
ICA8dGFibGUgc3R5bGU9IndpZHRoOjQxMHB4OyBib3JkZXItc3BhY2luZzogMnB4IDJweCI+Cisg
ICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJ3aWR0aC1wZXJjZW50LXRlc3QiIHN0eWxl
PSJ3aWR0aDogMjUlOyI+Y29udHJvbCB3aWR0aDoyNSU8L3RkPgorICAgICAgICAgIDx0ZCBjbGFz
cz0id2lkdGgtcGVyY2VudC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygyNSUpOyAt
bW96LWNhbGM6KDI1JSkiPnNpbXBsZSAyNSU8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0id2lk
dGgtcGVyY2VudC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygxMCUgKiAyICsgNSUp
OyAtbW96LWNhbGM6KDEwJSAqIDIgKyA1JSkiPjEwJSAqIDIgKyA1JTwvdGQ+CisgICAgICA8L3Ry
PgorICAgIDwvdGFibGU+CisgICAgCisgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiA0MTZweCI+Cisg
ICAgICA8dGFibGUgc3R5bGU9ImhlaWdodDogMjUlIj4KKyAgICAgICAgICA8dHI+PHRkIGNsYXNz
PSJoZWlnaHQtcGVyY2VudC10ZXN0Ij5jb250cm9sIGhlaWdodDoyNSU8L3RkPjwvdHI+CisgICAg
ICA8L3RhYmxlPgorICAgIDwvZGl2PgorICAgIDxkaXYgc3R5bGU9ImhlaWdodDogNDE2cHgiPgor
ICAgICAgPHRhYmxlIHN0eWxlPSJoZWlnaHQ6IC13ZWJraXQtY2FsYygyNSUpOyAtbW96LWNhbGM6
KDI1JSkiPgorICAgICAgICAgIDx0cj48dGQgY2xhc3M9ImhlaWdodC1wZXJjZW50LXRlc3QiPnNp
bXBsZSAyNSU8L3RkPjwvdHI+CisgICAgICA8L3RhYmxlPgorICAgIDwvZGl2PgorICAgIDxkaXYg
c3R5bGU9ImhlaWdodDogNDE2cHgiPgorICAgICAgPHRhYmxlIHN0eWxlPSJoZWlnaHQ6IC13ZWJr
aXQtY2FsYygxMCUgKiAyICsgNSUpKTsgLW1vei1jYWxjOigxMCUgKiAyICsgNSUpKSI+CisgICAg
ICAgICAgPHRyPjx0ZCBjbGFzcz0iaGVpZ2h0LXBlcmNlbnQtdGVzdCI+MTAlICogMiArIDUlPC90
ZD48L3RyPgorICAgICAgPC90YWJsZT4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGlkPSJy
ZXN1bHRzIj48L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit2YXIgY2VsbHMg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0
ZCIpOworZm9yICh2YXIgaSA9IDA7IGkgPCBjZWxscy5sZW5ndGg7ICsraSkgeworICAgIHZhciBj
ZWxsID0gY2VsbHNbaV07CisgICAgdmFyIHdpZHRoID0gY2VsbC5vZmZzZXRXaWR0aDsKKyAgICB2
YXIgaGVpZ2h0ID0gY2VsbC5vZmZzZXRIZWlnaHQ7CisKKyAgICB2YXIgZXJyb3IgPSBbXTsKKyAg
ICBpZiAod2lkdGggIT0gMTAwKQorICAgICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgIiArIHdpZHRoKTsKKyAgICBpZiAoaGVpZ2h0ICE9IDEwMCkKKyAgICAg
ICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyAiICsgaGVpZ2h0
KTsKKworICAgIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpOwor
ICAgIGlmIChlcnJvciA9PSAiIikgeworICAgICAgICBjZWxsLnN0eWxlLmJhY2tncm91bmRDb2xv
ciA9ICJncmVlbiI7CisgICAgICAgIGNlbGwuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7CisgICAg
fSBlbHNlCisgICAgICAgIGNlbGwuaW5uZXJIVE1MICs9ICIgPT4gRkFJTDogIiArIGVycm9yLmpv
aW4oIiwgIik7Cit9Cis8L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CmluZGV4IDU0NWRmNmU4ZGQ2MWM1NDJkMDNmMTBkOWFhNTllNGE0YjljYTE4
YzUuLjIyYzcyN2I3ZmRjYzU5YWFmMGJlZTBiNDczOWYyMTc3MGU2YjU1M2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CkBAIC00MTMsNiArNDEzLDcgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGJp
bmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAKIAogICAgIGNzcy9DU1NC
b3JkZXJJbWFnZVZhbHVlLmNwcAorICAgIGNzcy9DU1NDYWxjVmFsdWUuY3BwCiAgICAgY3NzL0NT
U0NhbnZhc1ZhbHVlLmNwcAogICAgIGNzcy9DU1NDaGFyc2V0UnVsZS5jcHAKICAgICBjc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMTAwMiw2ICsxMDAzLDcgQEAgU0VUKFdl
YkNvcmVfU09VUkNFUwogICAgIHBhZ2UvYW5pbWF0aW9uL0tleWZyYW1lQW5pbWF0aW9uLmNwcAog
CiAgICAgcGxhdGZvcm0vQXJlbmEuY3BwCisgICAgcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcAogICAg
IHBsYXRmb3JtL0NvbnRleHRNZW51LmNwcAogICAgIHBsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5j
cHAKICAgICBwbGF0Zm9ybS9Db250ZW50VHlwZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwYmNjNTE1NWE0
OGFkZTc4YzJhYjU1NzVkYjY1ZWE1MjdlOTk3NDc4Li41Y2ZkNmJmOGFkZTgxZDRmNWJkNTEzZjE4
NTIzODgzNTA5YTA1MzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTM1IEBACisyMDExLTAzLTE3
ICBNaWtlIExhd3RoZXIgIDxtaWtlbGF3dGhlckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ1NTMzogSW1wbGVtZW50IGNhbGMo
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2NjIK
KworICAgICAgICBUZXN0czogY3NzMy9jYWxjL2JvcmRlci1zcGFjaW5nLmh0bWwKKyAgICAgICAg
ICAgICAgIGNzczMvY2FsYy9ib3JkZXIuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9jYWxjL2Nh
bGMtZXJyb3JzLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9tYXJnaW4uaHRtbAorICAg
ICAgICAgICAgICAgY3NzMy9jYWxjL21pbm1heC1lcnJvcnMuaHRtbAorICAgICAgICAgICAgICAg
Y3NzMy9jYWxjL3BhZGRpbmcuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9jYWxjL3NpbXBsZS1j
YWxjcy5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvc2ltcGxlLW1pbm1heC5odG1sCisg
ICAgICAgICAgICAgICBjc3MzL2NhbGMvdGFibGUtY2FsY3MuaHRtbAorCisgICAgICAgICogR05V
bWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUu
cHJvOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAg
ICAgKiBjc3MvQ1NTQ2FsY1ZhbHVlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjp1bml0
Q2F0ZWdvcnkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjppc1plcm8pOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpjc3NUZXh0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6dG9DYWxjVmFsdWUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpDU1NDYWxjUHJpbWl0aXZlVmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlOjpjcmVhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlOjppc1plcm8p
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlOjpjc3NUZXh0
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZTo6dG9DYWxj
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlOjpD
U1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY01p
bk1heFZhbHVlTGlzdDo6Q1NTQ2FsY01pbk1heFZhbHVlTGlzdCk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NDYWxjTWluTWF4VmFsdWVMaXN0Ojppc1plcm8pOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
Q2FsY01pbk1heFZhbHVlTGlzdDo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxj
TWluTWF4VmFsdWVMaXN0OjphcHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY01pbk1h
eFZhbHVlTGlzdDo6dG9DYWxjVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVl
UGFyc2VyOjpwYXJzZUNhbGMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlUGFyc2Vy
OjpwYXJzZU1pbk1heExpc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlUGFyc2Vy
OjpvcGVyYXRvclZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZVBhcnNlcjo6
cGFyc2VWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWVQYXJzZXI6OnBhcnNl
VmFsdWVUZXJtKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZVBhcnNlcjo6cGFyc2VW
YWx1ZU11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxj
VmFsdWVQYXJzZXI6OnBhcnNlQWRkaXRpdmVWYWx1ZUV4cHJlc3Npb24pOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTQ2FsY1ZhbHVlUGFyc2VyOjpwYXJzZVZhbHVlTGlzdCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NDYWxjVmFsdWVQYXJzZXI6OnBhcnNlVmFsdWVFeHByZXNzaW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU0NhbGNWYWx1ZTo6Y3JlYXRlRnJvbVBhcnNlclZhbHVlTGlzdCk6CisgICAg
ICAgICogY3NzL0NTU0NhbGNWYWx1ZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0Nh
bGNWYWx1ZTo6Q1NTQ2FsY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZTo6
aXNDYWxjVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjpjYXRlZ29yeSk6
CisgICAgICAgICogY3NzL0NTU0dyYW1tYXIueToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmlzQ2FsYyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJz
ZXI6OnZhbGlkVW5pdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUNhbGMpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpsZXgpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAg
ICAgKiBjc3MvQ1NTUGFyc2VyVmFsdWVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNl
clZhbHVlTGlzdDo6aW5zZXJ0VmFsdWVBdCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJW
YWx1ZUxpc3Q6OmFwcGVuZCk6CisgICAgICAgICogY3NzL0NTU1BhcnNlclZhbHVlcy5oOgorICAg
ICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQ
cmltaXRpdmVWYWx1ZTo6cHJpbWl0aXZlVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJp
bWl0aXZlVmFsdWU6OmluaXQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6
OmNsZWFudXApOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVM
ZW5ndGhEb3VibGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmdldERv
dWJsZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjc3NUZXh0
KToKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1ByaW1pdGl2ZVZhbHVlOjpnZXRDYWxjVmFsdWUpOgorICAgICAgICAqIGNzcy9DU1NTdHls
ZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmNvbnZl
cnRUb0ludExlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjpjb252
ZXJ0VG9GbG9hdExlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjph
cHBseVByb3BlcnR5KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OnBhZ2VT
aXplRnJvbU5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6bW1MZW5n
dGgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6aW5jaExlbmd0aCk6Cisg
ICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuaDoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWUu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjppc0NhbGNWYWx1ZSk6CisgICAgICAgICog
Y3NzL3Rva2VuaXplci5mbGV4OgorICAgICAgICAqIHBsYXRmb3JtL0NhbGNWYWx1ZS5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6Q2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlOjpDYWxjQmlu
YXJ5T3BlcmF0aW9uVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsY0JpbmFyeU9wZXJhdGlv
blZhbHVlOjpldmFsdWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWxjTWluTWF4VmFsdWVMaXN0
OjpDYWxjTWluTWF4VmFsdWVMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhbGNNaW5NYXhWYWx1
ZUxpc3Q6OmFwcGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpDYWxjTWluTWF4VmFsdWVMaXN0Ojpl
dmFsdWF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vQ2FsY1ZhbHVlLmg6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6Q2FsY1ZhbHVlOjp+Q2FsY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNh
bGNOdW1iZXJWYWx1ZTo6Q2FsY051bWJlclZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbGNO
dW1iZXJWYWx1ZTo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsY0xlbmd0aFZhbHVl
OjpDYWxjTGVuZ3RoVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsY0xlbmd0aFZhbHVlOjpl
dmFsdWF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vTGVuZ3RoLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNhbGN1bGF0ZWRMZW5ndGg6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWxjdWxh
dGVkTGVuZ3RoOjpldmFsdWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWxjdWxhdGVkTGVuZ3Ro
OjpDYWxjdWxhdGVkTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OmNhbGN1bGF0ZWRMZW5ndGhN
YXApOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpMZW5ndGgpOgorICAgICAgICAoV2ViQ29y
ZTo6TGVuZ3RoOjpjYWxjdWxhdGVkSXNaZXJvKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6
Y2FsY3VsYXRlZElzUG9zaXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjdWxh
dGVkSXNOZWdhdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGN1bGF0ZWRDYWxj
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjdWxhdGVkQ2FsY01pblZhbHVl
KToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6Y2FsY3VsYXRlZENhbGNGbG9hdFZhbHVlKToK
KyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6aW5jcmVtZW50Q2FsY3VsYXRlZFJlZik6CisgICAg
ICAgIChXZWJDb3JlOjpMZW5ndGg6OmRlY3JlbWVudENhbGN1bGF0ZWRSZWYpOgorICAgICAgICAq
IHBsYXRmb3JtL0xlbmd0aC5oOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpMZW5ndGgpOgor
ICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpvcGVyYXRvcj0pOgorICAgICAgICAoV2ViQ29yZTo6
TGVuZ3RoOjp+TGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6dmFsdWUpOgorICAg
ICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpyYXdWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5n
dGg6OnNldFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6Y2FsY1ZhbHVlKToKKyAg
ICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6Y2FsY01pblZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6
Okxlbmd0aDo6Y2FsY0Zsb2F0VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjppc1pl
cm8pOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjppc1Bvc2l0aXZlKToKKyAgICAgICAgKFdl
YkNvcmU6Okxlbmd0aDo6aXNOZWdhdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6Omlz
UGVyY2VudCk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmlzQ2FsY3VsYXRlZCk6CisgICAg
ICAgIChXZWJDb3JlOjpMZW5ndGg6OmluaXRGcm9tTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6
Okxlbmd0aDo6Y2FsY3VsYXRlZExlbmd0aElkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OmlzTG9naWNhbFdpZHRo
U3BlY2lmaWVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjppc0xvZ2ljYWxIZWln
aHRTcGVjaWZpZWQpOgorCiAyMDExLTA4LTI5ICBDYXJ5IENsYXJrICA8Y2FyeWNsYXJrQGdvb2ds
ZS5jb20+CiAKICAgICAgICAgT25seSBlbmFibGUgZm9udCBzbW9vdGhpbmcgYXMgcmVxdWVzdGVk
IChTa2lhIG9uIE1hYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDhlMGUxYzFk
YjI0YzQyMjExZmUyMWVlMjhjZWFiNjY4YWNlZDNiODguLjA1N2NhZTFkOTdmZmEwNzNhYWExMTA3
MmU5NzQ5ZDNhMDM5MDYxNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtOTI1
LDYgKzkyNSw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NhbnZhc1ZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDaGFyc2V0UnVsZS5oIFwKKwlTb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ2FsY1ZhbHVlLmNwcCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1
ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5jcHAgXApAQCAtMjM2OSw2
ICsyMzcxLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9Bc3luY0ZpbGVTeXN0ZW0uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0Zp
bGVTeXN0ZW0uaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmgg
XAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5jcHAgXAorCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db2xv
ckNob29zZXIuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db2xvckNob29zZXIuaCBc
CiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGVudFR5cGUuY3BwIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4KaW5kZXggNGE5ZmU0OGI2ZGVlOGY3NDkwZjdiMWI5NDBkYzNjOTg2MjNiYmEyNC4uYWZl
ODliNWZjOGJiNDQ0ZWVkZWQ1NGYyYzliNzZkYzMwYzUzYTMxMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4KQEAgLTgxMSw2ICs4MTEsNyBAQCBfX1pON1dlYkNvcmU2RWRpdG9yN291dGRlbnRFdgogX19a
TjdXZWJDb3JlNkpTTm9kZTEzdmlzaXRDaGlsZHJlbkVSTjNKU0MxMVNsb3RWaXNpdG9yRQogX19a
TjdXZWJDb3JlNkpTTm9kZTNwdXRFUE4zSlNDOUV4ZWNTdGF0ZUVSS05TMV8xMElkZW50aWZpZXJF
TlMxXzdKU1ZhbHVlRVJOUzFfMTVQdXRQcm9wZXJ0eVNsb3RFCiBfX1pON1dlYkNvcmU2SlNOb2Rl
NnNfaW5mb0UKK19fWk43V2ViQ29yZTZMZW5ndGhEMUV2CiBfX1pON1dlYkNvcmU2UmVnaW9uNXVu
aXRlRVJLUzBfCiBfX1pON1dlYkNvcmU2UmVnaW9uOHN1YnRyYWN0RVJLUzBfCiBfX1pON1dlYkNv
cmU2UmVnaW9uOWludGVyc2VjdEVSS1MwXwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDkxMGE4NmRlYWIx
YzE1MjEyODQ3MzU0NDhlNGNkOTc0ZDNhYjNhYWMuLmNkNzMwMmY1YzkxZDc2MmU0MzlkNjI0YzBh
MTc5ZmU2NWI3ZmEyNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIzMDYsNiArMjMwNiw4IEBACiAg
ICAgICAgICAgICAnY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuaCcsCiAgICAgICAgICAgICAnY3Nz
L0NTU0NhbnZhc1ZhbHVlLmNwcCcsCiAgICAgICAgICAgICAnY3NzL0NTU0NhbnZhc1ZhbHVlLmgn
LAorICAgICAgICAgICAgJ2Nzcy9DU1NDYWxjVmFsdWUuY3BwJywKKyAgICAgICAgICAgICdjc3Mv
Q1NTQ2FsY1ZhbHVlLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NDaGFyc2V0UnVsZS5jcHAnLAog
ICAgICAgICAgICAgJ2Nzcy9DU1NDaGFyc2V0UnVsZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCcsCkBAIC0yOTk0LDYgKzI5OTYsOCBAQAogICAg
ICAgICAgICAgJ3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oJywKICAgICAgICAgICAgICdwbGF0
Zm9ybS9Bc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0v
QXV0b2RyYWluZWRQb29sLmgnLAorICAgICAgICAgICAgJ3BsYXRmb3JtL0NhbGNWYWx1ZS5jcHAn
LAorICAgICAgICAgICAgJ3BsYXRmb3JtL0NhbGNWYWx1ZS5oJywKICAgICAgICAgICAgICdwbGF0
Zm9ybS9Db250ZW50VHlwZS5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0NvbnRlbnRUeXBl
LmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0NvbnRleHRNZW51LmNwcCcsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJv
CmluZGV4IDQ3M2ZmZDM2MDhmZjUyZGFlZTQ3MTYzNzMzODRmYzA3ZTJlNmZiZWUuLjQ4ZTkwM2U4
MDdiMDA0YTcwNGZjN2NmMTgyZTEzM2YzZTRhNWJiY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBAIC0zODUs
NiArMzg1LDcgQEAgdjggewogCiBTT1VSQ0VTICs9IFwKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VW
YWx1ZS5jcHAgXAorICAgIGNzcy9DU1NDYWxjVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTQ2FudmFz
VmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwIFwKICAgICBjc3MvQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBcCkBAIC05NjYsNiArOTY3LDcgQEAgU09VUkNFUyAr
PSBcCiAgICAgcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWREYXRlTm9uZS5jcHAgXAogICAgIHBsYXRm
b3JtL3RleHQvTG9jYWxpemVkTnVtYmVyTm9uZS5jcHAgXAogICAgIHBsYXRmb3JtL3RleHQvUXVv
dGVkUHJpbnRhYmxlLmNwcCBcCisgICAgcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcCBcCiAgICAgcGxh
dGZvcm0vQ29udGVudFR5cGUuY3BwIFwKICAgICBwbGF0Zm9ybS9Dcm9zc1RocmVhZENvcGllci5j
cHAgXAogICAgIHBsYXRmb3JtL0RhdGVDb21wb25lbnRzLmNwcCBcCkBAIC0xMzg5LDYgKzEzOTEs
NyBAQCB2OCB7CiAKIEhFQURFUlMgKz0gXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmgg
XAorICAgIGNzcy9DU1NDYWxjVmFsdWUuaCBcCiAgICAgY3NzL0NTU0NhbnZhc1ZhbHVlLmggXAog
ICAgIGNzcy9DU1NDaGFyc2V0UnVsZS5oIFwKICAgICBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uLmggXApAQCAtMTkzNCw2ICsxOTM3LDcgQEAgSEVBREVSUyArPSBcCiAgICAgcGxhdGZv
cm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaCBcCiAgICAgcGxhdGZvcm0vQXJlbmEuaCBcCiAg
ICAgcGxhdGZvcm0vQXN5bmNGaWxlU3RyZWFtLmggXAorICAgIHBsYXRmb3JtL0NhbGNWYWx1ZS5o
IFwKICAgICBwbGF0Zm9ybS9Db250ZW50VHlwZS5oIFwKICAgICBwbGF0Zm9ybS9Db250ZXh0TWVu
dS5oIFwKICAgICBwbGF0Zm9ybS9Dcm9zc1RocmVhZENvcGllci5oIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggMmQ5MjA2NDU4YTRlNmViNTNh
YWEyNDZiNTU4YmQ1NDM2ZWY1MWFhYy4uODRjZDc2NmRkMzcwZTgyZTQyYzcxMzZjMDM0NGYyMGQ4
NjEwODIzOSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKQEAgLTI2NjUwLDYgKzI2NjUwLDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXENhbGNWYWx1ZS5jcHAiCisJCQkJPgorCQkJ
PC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXENhbGNWYWx1
ZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxw
bGF0Zm9ybVxDb250ZW50VHlwZS5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtMzI3NDIsNiAr
MzI3NTAsMTQgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cY3NzXENTU0NhbGNWYWx1ZS5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NDYWxjVmFsdWUuaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0NhbnZhc1ZhbHVlLmNw
cCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggY2FmZThhYWIyODE0NDJiYTMzOTU3MDk4YTRkZmE1
MzA1YmRkYmNiZS4uNTgzMjM4MjBkZjI5OWRhYTdjNzA1ZWRlNjVhOGUyODljY2RkOTg0ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMTE1Niw2ICsxMTU2LDEwIEBACiAJCTQ5QTVBNEZFMTNFMkYwMUUwMENGREFFMCAvKiBQZWVy
Q29ubmVjdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0OUE1QTRGODEzRTJGMDFFMDBDRkRBRTAgLyogUGVlckNvbm5lY3Rpb24uY3BwICovOyB9
OwogCQk0OUE1QTRGRjEzRTJGMDFFMDBDRkRBRTAgLyogUGVlckNvbm5lY3Rpb24uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QTVBNEY5MTNFMkYwMUUw
MENGREFFMCAvKiBQZWVyQ29ubmVjdGlvbi5oICovOyB9OwogCQk0OUE1QTUwMTEzRTJGMDFFMDBD
RkRBRTAgLyogU2lnbmFsaW5nQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QTVBNEZCMTNFMkYwMUUwMENGREFFMCAvKiBTaWduYWxpbmdD
YWxsYmFjay5oICovOyB9OworCQk0OUFFMkQ4RTEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1Zh
bHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5
QUUyRDhDMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjVmFsdWUuY3BwICovOyB9OworCQk0OUFF
MkQ4RjEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUFFMkQ4RDEzNEVFNTBDMDA3MjkyMEEgLyog
Q1NTQ2FsY1ZhbHVlLmggKi87IH07CisJCTQ5QUUyRDk2MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxj
VmFsdWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDlBRTJEOTQxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGNWYWx1ZS5jcHAgKi87IH07CisJCTQ5QUUy
RDk3MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDk1MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxj
VmFsdWUuaCAqLzsgfTsKIAkJNDlCRTMwRDIxM0Q5NzQ3QjAwMzgwOEE5IC8qIEpTUGVlckNvbm5l
Y3Rpb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDlCRTMwRDExM0Q5NzQ3QjAwMzgwOEE5IC8qIEpTUGVlckNvbm5lY3Rpb25DdXN0b20u
Y3BwICovOyB9OwogCQk0OUJFMzBGMzEzRDk3NjQ2MDAzODA4QTkgLyogSlNQZWVyQ29ubmVjdGlv
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUJF
MzBFRjEzRDk3NjQ2MDAzODA4QTkgLyogSlNQZWVyQ29ubmVjdGlvbi5jcHAgKi87IH07CiAJCTQ5
QkUzMEY0MTNEOTc2NDYwMDM4MDhBOSAvKiBKU1BlZXJDb25uZWN0aW9uLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUJFMzBGMDEzRDk3NjQ2MDAzODA4
QTkgLyogSlNQZWVyQ29ubmVjdGlvbi5oICovOyB9OwpAQCAtNzc2Miw2ICs3NzY2LDEwIEBACiAJ
CTQ5QTVBNEZBMTNFMkYwMUUwMENGREFFMCAvKiBQZWVyQ29ubmVjdGlvbi5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBuYW1lID0gUGVlckNvbm5lY3Rpb24uaWRsOyBwYXRoID0gcDJwL1BlZXJDb25uZWN0
aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlBNUE0RkIxM0UyRjAxRTAw
Q0ZEQUUwIC8qIFNpZ25hbGluZ0NhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IFNpZ25hbGluZ0NhbGxiYWNrLmg7IHBhdGggPSBwMnAvU2lnbmFsaW5nQ2FsbGJhY2su
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlBNUE0RkMxM0UyRjAxRTAwQ0ZEQUUw
IC8qIFNpZ25hbGluZ0NhbGxiYWNrLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBTaWduYWxp
bmdDYWxsYmFjay5pZGw7IHBhdGggPSBwMnAvU2lnbmFsaW5nQ2FsbGJhY2suaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0OUFFMkQ4QzEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2Fs
Y1ZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0NhbGNW
YWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5QUUyRDhEMTM0RUU1MEMw
MDcyOTIwQSAvKiBDU1NDYWxjVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ1NTQ2FsY1ZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5QUUyRDk0
MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gQ2FsY1ZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNDlBRTJEOTUxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGNWYWx1ZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDYWxjVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDlCRTMwRDExM0Q5NzQ3QjAwMzgwOEE5IC8qIEpTUGVlckNvbm5lY3Rpb25DdXN0b20u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNQZWVyQ29ubmVjdGlv
bkN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5QkUzMEVGMTNEOTc2
NDYwMDM4MDhBOSAvKiBKU1BlZXJDb25uZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTUGVlckNvbm5lY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0OUJFMzBGMDEzRDk3NjQ2MDAzODA4QTkgLyogSlNQZWVyQ29ubmVjdGlvbi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1BlZXJDb25uZWN0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xOTA5NCw2ICsxOTEwMiw4IEBACiAJCQkJODlE
MDhEOUQxMjIyODQ1MTAwMTI0MURGIC8qIEFzeW5jRmlsZVN5c3RlbS5oICovLAogCQkJCTg5RDA4
RDlFMTIyMjg0NTEwMDEyNDFERiAvKiBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3MuaCAqLywKIAkJ
CQk1MUUxRUNCMTBDOTFDNTU2MDBEQzI1NUIgLyogQXV0b2RyYWluZWRQb29sLmggKi8sCisJCQkJ
NDlBRTJEOTQxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGNWYWx1ZS5jcHAgKi8sCisJCQkJNDlBRTJE
OTUxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGNWYWx1ZS5oICovLAogCQkJCUMzMzBBMjIwMTNFQzE5
NkIwMDAwQjQ1QiAvKiBDb2xvckNob29zZXIuY3BwICovLAogCQkJCUMzMzBBMjIxMTNFQzE5NkIw
MDAwQjQ1QiAvKiBDb2xvckNob29zZXIuaCAqLywKIAkJCQlCQ0M4Q0ZDQTA5ODZDRDI0MDAxNDBC
RjIgLyogQ29sb3JEYXRhLmdwZXJmICovLApAQCAtMTkzNzksNiArMTkzODksOCBAQAogCQkJCTkz
MDcwNUM3MDlFMEM5NUYwMEIxN0ZFNCAvKiBDb3VudGVyLmlkbCAqLywKIAkJCQlBODBFNkNCQjBB
MTk4OUNBMDA3RkI4QzUgLyogQ1NTQm9yZGVySW1hZ2VWYWx1ZS5jcHAgKi8sCiAJCQkJQTgwRTZD
REQwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU0JvcmRlckltYWdlVmFsdWUuaCAqLywKKwkJCQk0OUFF
MkQ4QzEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmNwcCAqLywKKwkJCQk0OUFFMkQ4
RDEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmggKi8sCiAJCQkJQkM2MDRBNDIwREI1
NjM0RTAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmNwcCAqLywKIAkJCQlCQzYwNDlDQjBEQjU2
MEMyMDAyMDQ3MzkgLyogQ1NTQ2FudmFzVmFsdWUuaCAqLywKIAkJCQlFMUVCQkJEMzBBQUM5Qjg3
MDAxRkU4RTIgLyogQ1NTQ2hhcnNldFJ1bGUuY3BwICovLApAQCAtMjA1ODQsNiArMjA1OTYsNyBA
QAogCQkJCUJDRDUzMzY0MEVENjg0ODkwMDg4NzQ2OCAvKiBDYWNoZWRTY3JpcHRTb3VyY2VQcm92
aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCMTZDMjgwOTc5QzNCRDAwNDY3NzQxIC8qIENh
Y2hlZFhTTFN0eWxlU2hlZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRjE5OTUwMDgyNDVFNTkw
MDFFOUFCQyAvKiBDYWNoZVBvbGljeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDlBRTJEOTcxMzRF
RTVGOTAwNzI5MjBBIC8qIENhbGNWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjFENUVDQjUx
MzRCNThEQTAwODdDNzhGIC8qIENhbGxiYWNrRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
CUIxRTU0NTkzMTM0NjI5QzEwMDkyQTU0NSAvKiBDYWxsYmFja1Rhc2suaCBpbiBIZWFkZXJzICov
LAogCQkJCTZFNEU5MUFEMTBGN0ZCMzEwMEEyNzc5QyAvKiBDYW52YXNDb250ZXh0QXR0cmlidXRl
cy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMDY2Niw2ICsyMDY3OSw3IEBACiAJCQkJRTE2OTgwM0Qx
MTMzNTQyRDAwODk0MTE1IC8qIENSdW50aW1lT2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5
NzVDQTI4QjEzMDM2NUY4MDBFOTlBRDkgLyogQ3J5cHRvLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
ODBFNkQwNzBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNDlBRTJEOEYxMzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkM2MDQ5Q0MwREI1NjBDMjAwMjA0NzM5IC8qIENTU0NhbnZhc1Zh
bHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODBFNkNGOTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NT
Q2hhcnNldFJ1bGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRUE0NzkwMDk3Q0FBQzgwMDk0QzlF
NCAvKiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uaCBpbiBIZWFkZXJzICovLApAQCAtMjM4
OTIsNiArMjM5MDYsNyBAQAogCQkJCUQwRDE0MUIyMTJCMkJGNTIwMEUzOTYyMCAvKiBDYWNoZWRS
ZXNvdXJjZVJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNCMTZDMjMwOTc5QzNCRDAw
NDY3NzQxIC8qIENhY2hlZFNjcmlwdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0IxNkMyNzA5
NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk0OUFFMkQ5NjEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUIxODI3NDkzMTM0Q0E0QzEwMEI5OEMyRCAvKiBDYWxsYmFja0Z1bmN0aW9uLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTZFNEU5MUFDMTBGN0ZCMzEwMEEyNzc5QyAvKiBDYW52YXND
b250ZXh0QXR0cmlidXRlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OTQ4NEZDMTEwMkNGMjND
MDAxODdERDMgLyogQ2FudmFzR3JhZGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yMzk2MCw2
ICsyMzk3NSw3IEBACiAJCQkJRTE2OTgwNDkxMTMzNjQ0NzAwODk0MTE1IC8qIENSdW50aW1lT2Jq
ZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3NUNBMjhBMTMwMzY1RjgwMEU5OUFEOSAvKiBD
cnlwdG8uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgwRTZDRTUwQTE5ODlDQTAwN0ZCOEM1IC8q
IENTU0JvcmRlckltYWdlVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDlBRTJEOEUxMzRF
RTUwQzAwNzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzYw
NEE0MzBEQjU2MzRFMDAyMDQ3MzkgLyogQ1NTQ2FudmFzVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJRTFFQkJCRDQwQUFDOUI4NzAwMUZFOEUyIC8qIENTU0NoYXJzZXRSdWxlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDRUE0NzhGMDk3Q0FBQzgwMDk0QzlFNCAvKiBDU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjVmFs
dWUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQ4MWVjMWYxZmQ2NWRjM2RmYzZjNWIyODNhYzNhZjZkNzVhYmFh
ZDgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmNw
cApAQCAtMCwwICsxLDQ1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NDYWxj
VmFsdWUuaCIKKworI2luY2x1ZGUgIkNTU1N0eWxlU2VsZWN0b3IuaCIKKyNpbmNsdWRlICJDU1NW
YWx1ZUxpc3QuaCIKKyNpbmNsdWRlICJMZW5ndGguaCIKKworI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z0J1aWxkZXIuaD4KKworc3RhdGljIGNvbnN0IGludCBtYXhFeHByZXNzaW9uRGVwdGggPSAxMDA7
CisKK2VudW0gUGFyc2VTdGF0ZSB7CisgICAgT0ssCisgICAgVG9vRGVlcCwKKyAgICBOb01vcmVU
b2tlbnMKK307CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIENhbGNDYXRlZ29yeSB1
bml0Q2F0ZWdvcnkoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyB0eXBlKQoreworICAgIHN3
aXRjaCAodHlwZSkgeworICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVI6Cisg
ICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BBUlNFUl9JTlRFR0VSOgorICAgICAgICBy
ZXR1cm4gQ2FsY051bWJlcjsKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VO
VEFHRToKKyAgICAgICAgcmV0dXJuIENhbGNQZXJjZW50OworICAgIGNhc2UgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19FTVM6CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0VYUzoKKyAg
ICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUFg6CisgICAgY2FzZSBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX0NNOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19NTToKKyAgICBj
YXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfSU46CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTX1BUOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQzoKKyAgICBjYXNl
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUkVNUzoKKyAgICAgICAgcmV0dXJuIENhbGNMZW5ndGg7
CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIENhbGNPdGhlcjsKKyAgICB9Cit9CisgICAg
CisgICAgCitjbGFzcyBDU1NDYWxjUHJpbWl0aXZlVmFsdWUgOiBwdWJsaWMgQ1NTQ2FsY1ZhbHVl
IHsKK3B1YmxpYzoKKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0NhbGNQcmltaXRpdmVWYWx1
ZT4gY3JlYXRlKENTU1ByaW1pdGl2ZVZhbHVlKiB2YWx1ZSwgYm9vbCBpc0ludCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlKHZhbHVlLCBp
c0ludCkpOworICAgIH0KKyAgICAKKyAgICB2aXJ0dWFsIGJvb2wgaXNaZXJvKCkgY29uc3QKKyAg
ICB7CisgICAgICAgIHJldHVybiAhbV92YWx1ZS0+Z2V0RG91YmxlVmFsdWUoKTsKKyAgICB9CisK
KyAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVy
biBtX3ZhbHVlLT5jc3NUZXh0KCk7CisgICAgfQorCisgICAgUGFzc093blB0cjxDYWxjVmFsdWU+
IHRvQ2FsY1ZhbHVlKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwg
ZG91YmxlIHpvb20pIGNvbnN0CisgICAgeworICAgICAgICBzd2l0Y2ggKG1fY2F0ZWdvcnkpIHsK
KyAgICAgICAgY2FzZSBDYWxjTnVtYmVyOgorICAgICAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5l
dyBDYWxjTnVtYmVyVmFsdWUobV92YWx1ZS0+Z2V0RmxvYXRWYWx1ZSgpKSk7CisgICAgICAgIGNh
c2UgQ2FsY0xlbmd0aDoKKyAgICAgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgQ2FsY051bWJl
clZhbHVlKG1fdmFsdWUtPmNvbXB1dGVMZW5ndGg8ZmxvYXQ+KHN0eWxlLCByb290U3R5bGUsIHpv
b20pKSk7CisgICAgICAgIGNhc2UgQ2FsY1BlcmNlbnQ6CisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgYm9vbCBvayA9IHRydWU7CisgICAgICAgICAgICAgICAgTGVuZ3RoIGxlbmd0aCA9
IENTU1N0eWxlU2VsZWN0b3I6OmNvbnZlcnRUb0Zsb2F0TGVuZ3RoKG1fdmFsdWUuZ2V0KCksIHN0
eWxlLCByb290U3R5bGUsIHpvb20sICZvayk7CisgICAgICAgICAgICAgICAgaWYgKCFvaykKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICAgICAgcmV0dXJu
IGFkb3B0UHRyKG5ldyBDYWxjTGVuZ3RoVmFsdWUobGVuZ3RoKSk7CisgICAgICAgICAgICB9Cisg
ICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgfQor
ICAgIH0KKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBDU1NDYWxjUHJpbWl0aXZlVmFsdWUoQ1NT
UHJpbWl0aXZlVmFsdWUqIHZhbHVlLCBib29sIGlzSW50KQorICAgICAgICA6IG1fdmFsdWUodmFs
dWUpICAgICAgICAgICAgICAgICAKKyAgICB7CisgICAgICAgIG1fY2F0ZWdvcnkgPSB1bml0Q2F0
ZWdvcnkoKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpdmFsdWUtPnByaW1pdGl2ZVR5cGUo
KSk7CisgICAgICAgIG1faXNJbnQgPSBpc0ludDsKKyAgICB9CisKKyAgICBSZWZQdHI8Q1NTUHJp
bWl0aXZlVmFsdWU+IG1fdmFsdWU7Cit9OworCitjbGFzcyBDU1NDYWxjQmluYXJ5T3BlcmF0aW9u
VmFsdWUgOiBwdWJsaWMgQ1NTQ2FsY1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxDU1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWU+IGNyZWF0ZShQYXNzUmVmUHRyPENTU0Nh
bGNWYWx1ZT4gbGVmdFNpZGUsIFBhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiByaWdodFNpZGUsIGNo
YXIgb3ApCisgICAgeworICAgICAgICBDYWxjQ2F0ZWdvcnkgbGVmdENhdGVnb3J5ID0gbGVmdFNp
ZGUtPmNhdGVnb3J5KCk7CisgICAgICAgIENhbGNDYXRlZ29yeSByaWdodENhdGVnb3J5ID0gcmln
aHRTaWRlLT5jYXRlZ29yeSgpOworICAgICAgICBDYWxjQ2F0ZWdvcnkgbmV3Q2F0ZWdvcnk7Cisg
ICAgICAgIAorICAgICAgICBzd2l0Y2ggKG9wKSB7CisgICAgICAgIGNhc2UgJysnOgorICAgICAg
ICBjYXNlICctJzogICAgICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAobGVmdENhdGVnb3J5
ID09IHJpZ2h0Q2F0ZWdvcnkpICAgIAorICAgICAgICAgICAgICAgIG5ld0NhdGVnb3J5ID0gbGVm
dENhdGVnb3J5OworICAgICAgICAgICAgZWxzZSBpZiAobGVmdENhdGVnb3J5ICE9IENhbGNOdW1i
ZXIgJiYgcmlnaHRDYXRlZ29yeSAhPSBDYWxjTnVtYmVyKQorICAgICAgICAgICAgICAgIG5ld0Nh
dGVnb3J5ID0gQ2FsY1BlcmNlbnQ7CisgICAgICAgICAgICBlbHNlICAgIAorICAgICAgICAgICAg
ICAgIHJldHVybiAwOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgCisgICAg
ICAgIGNhc2UgJyonOgorICAgICAgICAgICAgaWYgKGxlZnRDYXRlZ29yeSAhPSBDYWxjTnVtYmVy
ICYmIHJpZ2h0Q2F0ZWdvcnkgIT0gQ2FsY051bWJlcikgCisgICAgICAgICAgICAgICAgcmV0dXJu
IDA7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmIChsZWZ0Q2F0ZWdvcnkgPT0gQ2FsY051
bWJlcikKKyAgICAgICAgICAgICAgICBuZXdDYXRlZ29yeSA9IHJpZ2h0Q2F0ZWdvcnk7CisgICAg
ICAgICAgICBlbHNlIAorICAgICAgICAgICAgICAgIG5ld0NhdGVnb3J5ID0gbGVmdENhdGVnb3J5
OworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgY2FzZSAnLyc6CisgICAgICAgIGNhc2Ug
JyUnOgorICAgICAgICAgICAgaWYgKHJpZ2h0Q2F0ZWdvcnkgIT0gQ2FsY051bWJlciB8fCByaWdo
dFNpZGUtPmlzWmVybygpKQorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAg
bmV3Q2F0ZWdvcnkgPSBsZWZ0Q2F0ZWdvcnk7CisgICAgICAgICAgICBicmVhazsKKworICAgICAg
ICBkZWZhdWx0OgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAg
ICByZXR1cm4gMDsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uVmFsdWUobGVmdFNpZGUsIHJpZ2h0U2lkZSwgb3As
IG5ld0NhdGVnb3J5KSk7CisgICAgfQorICAgIAorICAgIHZpcnR1YWwgYm9vbCBpc1plcm8oKSBj
b25zdAorICAgIHsKKyAgICAgICAgLy8gRklYTUU6IFdlIGNhbiByZXR1cm4gdHJ1ZSBmb3Igc29t
ZSBjYXNlcyAoZS5nLiwgMyAtIDMsIDMgKiAwLCBhbmQgZXRjLikKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIH0KKworICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdAorICAgIHsK
KyAgICAgICAgcmV0dXJuICIoIiArIG1fbGVmdFNpZGUtPmNzc1RleHQoKSArIG1fb3BlcmF0b3Ig
KyBtX3JpZ2h0U2lkZS0+Y3NzVGV4dCgpICsgIikiOworICAgIH0KKworICAgIFBhc3NPd25QdHI8
Q2FsY1ZhbHVlPiB0b0NhbGNWYWx1ZShSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiBy
b290U3R5bGUsIGRvdWJsZSB6b29tKSBjb25zdAorICAgIHsKKyAgICAgICAgT3duUHRyPENhbGNW
YWx1ZT4gbGVmdChtX2xlZnRTaWRlLT50b0NhbGNWYWx1ZShzdHlsZSwgcm9vdFN0eWxlLCB6b29t
KSk7CisgICAgICAgIGlmICghbGVmdC5nZXQoKSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRy
OworICAgICAgICBPd25QdHI8Q2FsY1ZhbHVlPiByaWdodChtX3JpZ2h0U2lkZS0+dG9DYWxjVmFs
dWUoc3R5bGUsIHJvb3RTdHlsZSwgem9vbSkpOworICAgICAgICBpZiAoIXJpZ2h0LmdldCgpKQor
ICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcg
Q2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlKGxlZnQucmVsZWFzZSgpLCByaWdodC5yZWxlYXNlKCks
IG1fb3BlcmF0b3IpKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgQ1NTQ2FsY0JpbmFyeU9wZXJh
dGlvblZhbHVlKFBhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBsZWZ0U2lkZSwgUGFzc1JlZlB0cjxD
U1NDYWxjVmFsdWU+IHJpZ2h0U2lkZSwgY2hhciBvcCwgQ2FsY0NhdGVnb3J5IGNhdGVnb3J5KQor
ICAgICAgICA6IG1fbGVmdFNpZGUobGVmdFNpZGUpCisgICAgICAgICwgbV9yaWdodFNpZGUocmln
aHRTaWRlKQorICAgICAgICAsIG1fb3BlcmF0b3Iob3ApCisgICAgeworICAgICAgICBBU1NFUlQo
b3AgPT0gJysnIHx8IG9wID09ICctJyB8fCBvcCA9PSAnKicgfHwgb3AgPT0gJy8nIHx8IG9wID09
ICclJyk7ICAKKyAgICAgICAgbV9jYXRlZ29yeSA9IGNhdGVnb3J5OworICAgICAgICBtX2lzSW50
ID0gbV9sZWZ0U2lkZS0+aXNJbnQoKSAmJiBtX3JpZ2h0U2lkZS0+aXNJbnQoKTsKKyAgICB9Cisg
ICAgCisgICAgUmVmUHRyPENTU0NhbGNWYWx1ZT4gbV9sZWZ0U2lkZTsKKyAgICBSZWZQdHI8Q1NT
Q2FsY1ZhbHVlPiBtX3JpZ2h0U2lkZTsKKyAgICBjaGFyIG1fb3BlcmF0b3I7Cit9OworCitjbGFz
cyBDU1NDYWxjTWluTWF4VmFsdWVMaXN0IDogcHVibGljIENTU0NhbGNWYWx1ZSB7CitwdWJsaWM6
CisgICAgQ1NTQ2FsY01pbk1heFZhbHVlTGlzdChMaXN0VHlwZSB0eXBlKQorICAgICAgICA6IG1f
bGlzdFR5cGUodHlwZSkKKyAgICB7CisgICAgfQorCisgICAgdmlydHVhbCBib29sIGlzWmVybygp
IGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgdmlydHVh
bCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0CisgICAgeworICAgICAgICBTdHJpbmdCdWlsZGVyIHJl
c3VsdDsKKyAgICAgICAgaWYgKG1fbGlzdFR5cGUgPT0gQ2FsY01pbikKKyAgICAgICAgICAgIHJl
c3VsdC5hcHBlbmQoIi13ZWJraXQtbWluKCIpOworICAgICAgICBlbHNlIAorICAgICAgICAgICAg
cmVzdWx0LmFwcGVuZCgiLXdlYmtpdC1tYXgoIik7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBtX2xpc3Quc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQo
bV9saXN0W2ldLmdldCgpLT5jc3NUZXh0KCkpOworICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgi
LCAiKTsKKyAgICAgICAgfQorICAgICAgICByZXN1bHQuYXBwZW5kKCcpJyk7CisgICAgICAgIHJl
dHVybiByZXN1bHQudG9TdHJpbmcoKTsKKyAgICB9CisKKyAgICB2b2lkIGFwcGVuZChQYXNzUmVm
UHRyPENTU0NhbGNWYWx1ZT4gdmFsdWUpIAorICAgIHsKKyAgICAgICAgbV9saXN0LmFwcGVuZCh2
YWx1ZSk7CisgICAgfQorCisgICAgUGFzc093blB0cjxDYWxjVmFsdWU+IHRvQ2FsY1ZhbHVlKFJl
bmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIHpvb20pIGNv
bnN0CisgICAgeworICAgICAgICBDYWxjTWluTWF4VmFsdWVMaXN0KiBsaXN0ID0gbmV3IENhbGNN
aW5NYXhWYWx1ZUxpc3QobV9saXN0VHlwZSk7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBtX2xpc3Quc2l6ZSgpOyArK2kpCisgICAgICAgICAgICBsaXN0LT5hcHBlbmQobV9saXN0
W2ldLmdldCgpLT50b0NhbGNWYWx1ZShzdHlsZSwgcm9vdFN0eWxlLCB6b29tKSk7CisKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UHRyKGxpc3QpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBMaXN0VHlw
ZSBtX2xpc3RUeXBlOworICAgIFZlY3RvcjxSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiA+IG1fbGlzdDsK
K307CisKK3N0YXRpYyBQYXJzZVN0YXRlIGNoZWNrRGVwdGhBbmRJbmRleChpbnQqIGRlcHRoLCB1
bnNpZ25lZCBpbmRleCwgQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMpCit7CisgICAgKCpkZXB0
aCkrKzsKKyAgICBpZiAoKmRlcHRoID4gbWF4RXhwcmVzc2lvbkRlcHRoKQorICAgICAgICByZXR1
cm4gVG9vRGVlcDsKKyAgICBpZiAoaW5kZXggPj0gdG9rZW5zLT5zaXplKCkpCisgICAgICAgIHJl
dHVybiBOb01vcmVUb2tlbnM7CisgICAgcmV0dXJuIE9LOworfQorCitjbGFzcyBDU1NDYWxjVmFs
dWVQYXJzZXIgeworcHVibGljOgorICAgIFBhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBwYXJzZUNh
bGMoQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMpCisgICAgeworICAgICAgICB1bnNpZ25lZCBp
bmRleCA9IDA7CisgICAgICAgIFZhbHVlIHJlc3VsdDsKKyAgICAgICAgYm9vbCBvayA9IHBhcnNl
VmFsdWVFeHByZXNzaW9uKHRva2VucywgMCwgJmluZGV4LCAmcmVzdWx0KTsKKyAgICAgICAgQVNT
RVJUKGluZGV4IDw9IHRva2Vucy0+c2l6ZSgpKTsKKyAgICAgICAgaWYgKCFvayAKKyAgICAgICAg
ICAgIHx8IChyZXN1bHQudmFsdWUtPmlzQ2FsY1ZhbHVlKCkgJiYgcmVzdWx0LnZhbHVlLT5jYXRl
Z29yeSgpID09IENhbGNOdW1iZXIpCisgICAgICAgICAgICB8fCBpbmRleCAhPSB0b2tlbnMtPnNp
emUoKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gcmVzdWx0LnZhbHVl
OworICAgIH0KKworICAgIFBhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBwYXJzZU1pbk1heExpc3Qo
TGlzdFR5cGUgdHlwZSwgQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMpCisgICAgeworICAgICAg
ICB1bnNpZ25lZCBpbmRleCA9IDA7CisgICAgICAgIFJlZlB0cjxDU1NDYWxjTWluTWF4VmFsdWVM
aXN0PiByZXN1bHQgPSBhZG9wdFJlZihuZXcgQ1NTQ2FsY01pbk1heFZhbHVlTGlzdCh0eXBlKSk7
CisKKyAgICAgICAgYm9vbCBvayA9IHBhcnNlVmFsdWVMaXN0KHRva2VucywgMCwgJmluZGV4LCBy
ZXN1bHQuZ2V0KCkpOworICAgICAgICBBU1NFUlQoaW5kZXggPD0gdG9rZW5zLT5zaXplKCkpOwor
ICAgICAgICBpZiAoIW9rIHx8IGluZGV4ICE9IHRva2Vucy0+c2l6ZSgpKQorICAgICAgICAgICAg
cmV0dXJuIDA7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorCitwcml2YXRlOgorICAg
IHN0cnVjdCBWYWx1ZSB7CisgICAgICAgIFJlZlB0cjxDU1NDYWxjVmFsdWU+IHZhbHVlOworICAg
IH07CisKKyAgICBjaGFyIG9wZXJhdG9yVmFsdWUoQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMs
IHVuc2lnbmVkIGluZGV4KQorICAgIHsKKyAgICAgICAgaWYgKGluZGV4ID49IHRva2Vucy0+c2l6
ZSgpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIENTU1BhcnNlclZhbHVlKiB2YWx1
ZSA9IHRva2Vucy0+dmFsdWVBdChpbmRleCk7CisgICAgICAgIGlmICh2YWx1ZS0+dW5pdCAhPSBD
U1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3IpCisgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAg
ICByZXR1cm4gdmFsdWUtPmlWYWx1ZTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWUoQ1NT
UGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkK
KyAgICB7CisgICAgICAgIENTU1BhcnNlclZhbHVlKiBwYXJzZXJWYWx1ZSA9IHRva2Vucy0+dmFs
dWVBdCgqaW5kZXgpOworICAgICAgICBpZiAocGFyc2VyVmFsdWUtPnVuaXQgPT0gQ1NTUGFyc2Vy
VmFsdWU6Ok9wZXJhdG9yIHx8IHBhcnNlclZhbHVlLT51bml0ID09IENTU1BhcnNlclZhbHVlOjpG
dW5jdGlvbikKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBSZWZQdHI8Q1NT
VmFsdWU+IHZhbHVlID0gcGFyc2VyVmFsdWUtPmNyZWF0ZUNTU1ZhbHVlKCk7CisgICAgICAgIGlm
ICghdmFsdWUgfHwgIXZhbHVlLT5pc1ByaW1pdGl2ZVZhbHVlKCkpCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlID0g
c3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPih2YWx1ZS5nZXQoKSk7CisgICAgICAgIHJl
c3VsdC0+dmFsdWUgPSBDU1NDYWxjUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShwcmltaXRpdmVWYWx1
ZSwgcGFyc2VyVmFsdWUtPmlzSW50KTsKKworICAgICAgICArKyppbmRleDsKKyAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgfQorCisgICAgYm9vbCBwYXJzZVZhbHVlVGVybShDU1NQYXJzZXJWYWx1
ZUxpc3QqIHRva2VucywgaW50IGRlcHRoLCB1bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1bHQp
CisgICAgeworICAgICAgICBpZiAoY2hlY2tEZXB0aEFuZEluZGV4KCZkZXB0aCwgKmluZGV4LCB0
b2tlbnMpICE9IE9LKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAKKyAgICAgICAgCisg
ICAgICAgIGlmIChvcGVyYXRvclZhbHVlKHRva2VucywgKmluZGV4KSA9PSAnKCcpIHsKKyAgICAg
ICAgICAgIHVuc2lnbmVkIGN1cnJlbnRJbmRleCA9ICppbmRleCArIDE7CisgICAgICAgICAgICBp
ZiAoIXBhcnNlVmFsdWVFeHByZXNzaW9uKHRva2VucywgZGVwdGgsICZjdXJyZW50SW5kZXgsIHJl
c3VsdCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICBpZiAo
b3BlcmF0b3JWYWx1ZSh0b2tlbnMsIGN1cnJlbnRJbmRleCkgIT0gJyknKQorICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICppbmRleCA9IGN1cnJlbnRJbmRleCArIDE7
CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBw
YXJzZVZhbHVlKHRva2VucywgaW5kZXgsIHJlc3VsdCk7CisgICAgfQorCisgICAgYm9vbCBwYXJz
ZVZhbHVlTXVsdGlwbGljYXRpdmVFeHByZXNzaW9uKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5z
LCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAgICB7CisgICAg
ICAgIGlmIChjaGVja0RlcHRoQW5kSW5kZXgoJmRlcHRoLCAqaW5kZXgsIHRva2VucykgIT0gT0sp
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7ICAgIAorCisgICAgICAgIGlmICghcGFyc2VWYWx1
ZVRlcm0odG9rZW5zLCBkZXB0aCwgaW5kZXgsIHJlc3VsdCkpCisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICAgICAgd2hpbGUgKCppbmRleCA8IHRva2Vucy0+c2l6ZSgpIC0gMSkgewor
ICAgICAgICAgICAgY2hhciBvcGVyYXRvckNoYXJhY3RlciA9IG9wZXJhdG9yVmFsdWUodG9rZW5z
LCAqaW5kZXgpOworICAgICAgICAgICAgaWYgKG9wZXJhdG9yQ2hhcmFjdGVyICE9ICcqJyAmJiBv
cGVyYXRvckNoYXJhY3RlciAhPSAnLycgJiYgb3BlcmF0b3JDaGFyYWN0ZXIgIT0gJyUnKQorICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgKysqaW5kZXg7CisKKyAgICAgICAgICAg
IFZhbHVlIHJoczsKKyAgICAgICAgICAgIGlmICghcGFyc2VWYWx1ZVRlcm0odG9rZW5zLCBkZXB0
aCwgaW5kZXgsICZyaHMpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAg
ICAgICAgcmVzdWx0LT52YWx1ZSA9IENTU0NhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZTo6Y3JlYXRl
KHJlc3VsdC0+dmFsdWUsIHJocy52YWx1ZSwgb3BlcmF0b3JDaGFyYWN0ZXIpOworICAgICAgICAg
ICAgaWYgKCFyZXN1bHQtPnZhbHVlKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgfQorCisgICAgICAgIEFTU0VSVCgqaW5kZXggPD0gdG9rZW5zLT5zaXplKCkpOworICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlQWRkaXRpdmVWYWx1ZUV4
cHJlc3Npb24oQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIGludCBkZXB0aCwgdW5zaWduZWQq
IGluZGV4LCBWYWx1ZSogcmVzdWx0KQorICAgIHsKKyAgICAgICAgaWYgKGNoZWNrRGVwdGhBbmRJ
bmRleCgmZGVwdGgsICppbmRleCwgdG9rZW5zKSAhPSBPSykKKyAgICAgICAgICAgIHJldHVybiBm
YWxzZTsgICAgCisKKyAgICAgICAgaWYgKCFwYXJzZVZhbHVlTXVsdGlwbGljYXRpdmVFeHByZXNz
aW9uKHRva2VucywgZGVwdGgsIGluZGV4LCByZXN1bHQpKQorICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgICAgIHdoaWxlICgqaW5kZXggPCB0b2tlbnMtPnNpemUoKSAtIDEpIHsKKyAg
ICAgICAgICAgIGNoYXIgb3BlcmF0b3JDaGFyYWN0ZXIgPSBvcGVyYXRvclZhbHVlKHRva2Vucywg
KmluZGV4KTsKKyAgICAgICAgICAgIGlmIChvcGVyYXRvckNoYXJhY3RlciAhPSAnKycgJiYgb3Bl
cmF0b3JDaGFyYWN0ZXIgIT0gJy0nKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgKysqaW5kZXg7CisKKyAgICAgICAgICAgIFZhbHVlIHJoczsKKyAgICAgICAgICAgIGlmICgh
cGFyc2VWYWx1ZU11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbih0b2tlbnMsIGRlcHRoLCBpbmRleCwg
JnJocykpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICByZXN1
bHQtPnZhbHVlID0gQ1NTQ2FsY0JpbmFyeU9wZXJhdGlvblZhbHVlOjpjcmVhdGUocmVzdWx0LT52
YWx1ZSwgcmhzLnZhbHVlLCBvcGVyYXRvckNoYXJhY3Rlcik7CisgICAgICAgICAgICBpZiAoIXJl
c3VsdC0+dmFsdWUpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisK
KyAgICAgICAgQVNTRVJUKCppbmRleCA8PSB0b2tlbnMtPnNpemUoKSk7CisgICAgICAgIHJldHVy
biB0cnVlOworICAgIH0KKworICAgIGJvb2wgcGFyc2VWYWx1ZUxpc3QoQ1NTUGFyc2VyVmFsdWVM
aXN0KiB0b2tlbnMsIGludCBkZXB0aCwgdW5zaWduZWQqIGluZGV4LCBDU1NDYWxjTWluTWF4VmFs
dWVMaXN0KiByZXN1bHQpCisgICAgeworICAgICAgICBib29sIGZpcnN0ID0gdHJ1ZTsKKyAgICAg
ICAgd2hpbGUgKCppbmRleCA8IHRva2Vucy0+c2l6ZSgpKSB7CisgICAgICAgICAgICBWYWx1ZSBu
ZXh0OworICAgICAgICAgICAgaWYgKCFwYXJzZVZhbHVlRXhwcmVzc2lvbih0b2tlbnMsIGRlcHRo
LCBpbmRleCwgJm5leHQpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAg
ICAgICAgaWYgKGZpcnN0KSB7CisgICAgICAgICAgICAgICAgcmVzdWx0LT5zZXRDYXRlZ29yeShu
ZXh0LnZhbHVlLT5jYXRlZ29yeSgpKTsKKyAgICAgICAgICAgICAgICByZXN1bHQtPnNldElzSW50
KG5leHQudmFsdWUtPmlzSW50KCkpOworICAgICAgICAgICAgICAgIGZpcnN0ID0gZmFsc2U7Cisg
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIENhbGNDYXRlZ29yeSBjdXJyZW50
ID0gcmVzdWx0LT5jYXRlZ29yeSgpOworICAgICAgICAgICAgICAgIENhbGNDYXRlZ29yeSBpbmNv
bWluZyA9IG5leHQudmFsdWUtPmNhdGVnb3J5KCk7CisKKyAgICAgICAgICAgICAgICBpZiAoY3Vy
cmVudCA9PSBpbmNvbWluZykKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0LT5zZXRDYXRlZ29y
eShjdXJyZW50KTsKKyAgICAgICAgICAgICAgICBlbHNlIGlmIChjdXJyZW50ICE9IENhbGNOdW1i
ZXIgJiYgaW5jb21pbmcgIT0gQ2FsY051bWJlcikKKyAgICAgICAgICAgICAgICAgICAgcmVzdWx0
LT5zZXRDYXRlZ29yeShDYWxjUGVyY2VudCk7CisgICAgICAgICAgICAgICAgZWxzZSAKKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgIAorICAgICAgICAg
ICAgICAgIHJlc3VsdC0+c2V0SXNJbnQocmVzdWx0LT5pc0ludCgpICYmIG5leHQudmFsdWUtPmlz
SW50KCkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICByZXN1bHQt
PmFwcGVuZChuZXh0LnZhbHVlKTsKKworICAgICAgICAgICAgaWYgKG9wZXJhdG9yVmFsdWUodG9r
ZW5zLCAqaW5kZXgpICE9ICcsJykKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
ICsrKmluZGV4OworICAgICAgICB9CisKKyAgICAgICAgQVNTRVJUKCppbmRleCA8PSB0b2tlbnMt
PnNpemUoKSk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIGJvb2wgcGFyc2VW
YWx1ZUV4cHJlc3Npb24oQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIGludCBkZXB0aCwgdW5z
aWduZWQqIGluZGV4LCBWYWx1ZSogcmVzdWx0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIHBhcnNl
QWRkaXRpdmVWYWx1ZUV4cHJlc3Npb24odG9rZW5zLCBkZXB0aCwgaW5kZXgsIHJlc3VsdCk7Cisg
ICAgfQorfTsKKworUGFzc1JlZlB0cjxDU1NDYWxjVmFsdWU+IENTU0NhbGNWYWx1ZTo6Y3JlYXRl
RnJvbVBhcnNlclZhbHVlTGlzdChDU1NQYXJzZXJTdHJpbmcgbmFtZSwgQ1NTUGFyc2VyVmFsdWVM
aXN0KiBwYXJzZXJWYWx1ZUxpc3QpCit7ICAgIAorICAgIENTU0NhbGNWYWx1ZVBhcnNlciBwYXJz
ZXI7ICAgIAorCisgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICItd2Via2l0LWNhbGMo
IikpCisgICAgICAgIHJldHVybiBwYXJzZXIucGFyc2VDYWxjKHBhcnNlclZhbHVlTGlzdCk7Cisg
ICAgCisgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICItd2Via2l0LW1pbigiKSkKKyAg
ICAgICAgcmV0dXJuIHBhcnNlci5wYXJzZU1pbk1heExpc3QoQ2FsY01pbiwgcGFyc2VyVmFsdWVM
aXN0KTsKKyAgICAKKyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgIi13ZWJraXQtbWF4
KCIpKQorICAgICAgICByZXR1cm4gcGFyc2VyLnBhcnNlTWluTWF4TGlzdChDYWxjTWF4LCBwYXJz
ZXJWYWx1ZUxpc3QpOworCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIDA7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDYWxjVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjVmFsdWUuaApu
ZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kMGVlNDg0ZmJhZDU1OTA3ODgyNWY0OWUwNjlkMDAxZTI4MmFhMWRlCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5oCkBAIC0wLDAg
KzEsODIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgor
ICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBH
b29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMg
c29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIENTU0NhbGNWYWx1ZV9oCisjZGVmaW5lIENTU0NhbGNWYWx1ZV9oCisK
KyNpbmNsdWRlICJDU1NQYXJzZXJWYWx1ZXMuaCIKKyNpbmNsdWRlICJDU1NWYWx1ZS5oIgorI2lu
Y2x1ZGUgIkNhbGNWYWx1ZS5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENTU1BhcnNl
clZhbHVlTGlzdDsKK2NsYXNzIENTU1ZhbHVlTGlzdDsKK2NsYXNzIFJlbmRlclN0eWxlOworY2xh
c3MgQ2FsY1ZhbHVlOworCitlbnVtIENhbGNDYXRlZ29yeSB7CisgICAgQ2FsY051bWJlciwKKyAg
ICBDYWxjUGVyY2VudCwKKyAgICBDYWxjTGVuZ3RoLAorICAgIENhbGNPdGhlcgorfTsKKyAgICAK
K2NsYXNzIENTU0NhbGNWYWx1ZSA6IHB1YmxpYyBDU1NWYWx1ZSB7CitwdWJsaWM6CisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBjcmVhdGVGcm9tUGFyc2VyVmFsdWVMaXN0KENT
U1BhcnNlclN0cmluZyBuYW1lLCBDU1NQYXJzZXJWYWx1ZUxpc3QqKTsKKyAgICBDU1NDYWxjVmFs
dWUoKSAKKyAgICAgICAgOiBtX2NhdGVnb3J5KENhbGNPdGhlcikKKyAgICAgICAgLCBtX2lzSW50
KHRydWUpCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgYm9vbCBpc0NhbGNWYWx1ZSgpIGNv
bnN0IHsgcmV0dXJuIHRydWU7IH0KKworICAgIHZpcnR1YWwgYm9vbCBpc1plcm8oKSBjb25zdCA9
IDA7CisgICAgCisgICAgdmlydHVhbCBQYXNzT3duUHRyPENhbGNWYWx1ZT4gdG9DYWxjVmFsdWUo
UmVuZGVyU3R5bGUqLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgem9vbSA9IDEuMCkg
Y29uc3QgPSAwOworICAgIAorICAgIENhbGNDYXRlZ29yeSBjYXRlZ29yeSgpIGNvbnN0IHsgcmV0
dXJuIG1fY2F0ZWdvcnk7IH0KKyAgICB2b2lkIHNldENhdGVnb3J5KENhbGNDYXRlZ29yeSBjYXRl
Z29yeSkgeyBtX2NhdGVnb3J5ID0gY2F0ZWdvcnk7IH0KKyAgICAKKyAgICBib29sIGlzSW50KCkg
Y29uc3QgeyByZXR1cm4gbV9pc0ludDsgfQorICAgIHZvaWQgc2V0SXNJbnQoYm9vbCBpc0ludCkg
eyBtX2lzSW50ID0gaXNJbnQ7IH0KKyAgICAKK3Byb3RlY3RlZDogICAgCisgICAgQ2FsY0NhdGVn
b3J5IG1fY2F0ZWdvcnk7CisgICAgYm9vbCBtX2lzSW50OworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gQ1NTQ2FsY1ZhbHVlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5j
cHAKaW5kZXggMTJjYzFiZmU3YzcyZWFlMGE4NWM4YTM2NTQ5ZTljM2RiZDE2N2Y0Yi4uODEyOGYy
YmU5YzIxMjNkZGE0OTlhNWE5YjdhOGZjMGYxZTE0MDkxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNl
ci5jcHAKQEAgLTE2MSw2ICsxNjEsMTQgQEAgc3RhdGljIGJvb2wgaGFzUHJlZml4KGNvbnN0IGNo
YXIqIHN0cmluZywgdW5zaWduZWQgbGVuZ3RoLCBjb25zdCBjaGFyKiBwcmVmaXgpCiAgICAgcmV0
dXJuIGZhbHNlOwogfQogCitzdGF0aWMgYm9vbCBpc0NhbGNNaW5NYXgoQ1NTUGFyc2VyVmFsdWUq
IHZhbHVlKSAKK3sKKyAgICByZXR1cm4gKHZhbHVlLT51bml0ID09IENTU1BhcnNlclZhbHVlOjpG
dW5jdGlvbikgCisgICAgICAgICYmIChlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZS0+ZnVuY3Rpb24t
Pm5hbWUsICItd2Via2l0LWNhbGMoIikKKyAgICAgICAgICAgIHx8IGVxdWFsSWdub3JpbmdDYXNl
KHZhbHVlLT5mdW5jdGlvbi0+bmFtZSwgIi13ZWJraXQtbWluKCIpCisgICAgICAgICAgICB8fCBl
cXVhbElnbm9yaW5nQ2FzZSh2YWx1ZS0+ZnVuY3Rpb24tPm5hbWUsICItd2Via2l0LW1heCgiKSk7
Cit9CisKIENTU1BhcnNlcjo6Q1NTUGFyc2VyKGJvb2wgc3RyaWN0UGFyc2luZykKICAgICA6IG1f
c3RyaWN0KHN0cmljdFBhcnNpbmcpCiAgICAgLCBtX2ltcG9ydGFudChmYWxzZSkKQEAgLTY2MCwx
NyArNjY4LDM4IEBAIERvY3VtZW50KiBDU1NQYXJzZXI6OmRvY3VtZW50KCkgY29uc3QKIGJvb2wg
Q1NTUGFyc2VyOjp2YWxpZFVuaXQoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBVbml0cyB1bml0Zmxh
Z3MsIGJvb2wgc3RyaWN0KQogewogICAgIGJvb2wgYiA9IGZhbHNlOworICAgIGlmIChpc0NhbGNN
aW5NYXgodmFsdWUpKSB7CisgICAgICAgIGlmICghcGFyc2VDYWxjKHZhbHVlKSkKKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIHN3aXRjaCAobV9wYXJzZWRDYWxj
LT5jYXRlZ29yeSgpKSB7CisgICAgICAgIGNhc2UgQ2FsY0xlbmd0aDoKKyAgICAgICAgICAgIGIg
PSAodW5pdGZsYWdzICYgRkxlbmd0aCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2Fz
ZSBDYWxjUGVyY2VudDoKKyAgICAgICAgICAgIGIgPSAodW5pdGZsYWdzICYgRlBlcmNlbnQpOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ2FsY051bWJlcjoKKyAgICAgICAgICAg
IGIgPSAodW5pdGZsYWdzICYgRk51bWJlcik7CisgICAgICAgICAgICBpZiAoIWIgJiYgKHVuaXRm
bGFncyAmIEZJbnRlZ2VyKSAmJiBtX3BhcnNlZENhbGMtPmlzSW50KCkpCisgICAgICAgICAgICAg
ICAgYiA9IHRydWU7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDYWxjT3RoZXI6
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gYjsKKyAgICB9
CiAgICAgc3dpdGNoICh2YWx1ZS0+dW5pdCkgewogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19OVU1CRVI6CiAgICAgICAgIGIgPSAodW5pdGZsYWdzICYgRk51bWJlcik7Ci0gICAgICAg
IGlmICghYiAmJiAoKHVuaXRmbGFncyAmIChGTGVuZ3RoIHwgRkFuZ2xlIHwgRlRpbWUpKSAmJiAo
dmFsdWUtPmZWYWx1ZSA9PSAwIHx8ICFzdHJpY3QpKSkgeworICAgICAgICBpZiAoIWIgJiYgKCh1
bml0ZmxhZ3MgJiAoRkxlbmd0aCB8IEZBbmdsZSB8IEZUaW1lKSkgJiYgKCF2YWx1ZS0+ZlZhbHVl
IHx8ICFzdHJpY3QpKSkgewogICAgICAgICAgICAgdmFsdWUtPnVuaXQgPSAodW5pdGZsYWdzICYg
Rkxlbmd0aCkgPyBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYIDoKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKCh1bml0ZmxhZ3MgJiBGQW5nbGUpID8gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19E
RUcgOiBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX01TKTsKICAgICAgICAgICAgIGIgPSB0cnVlOwog
ICAgICAgICB9CiAgICAgICAgIGlmICghYiAmJiAodW5pdGZsYWdzICYgRkludGVnZXIpICYmIHZh
bHVlLT5pc0ludCkKICAgICAgICAgICAgIGIgPSB0cnVlOwotICAgICAgICBicmVhazsKKyAgICAg
ICAgYnJlYWs7ICAgICAgICAgICAgCiAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BF
UkNFTlRBR0U6CiAgICAgICAgIGIgPSAodW5pdGZsYWdzICYgRlBlcmNlbnQpOwogICAgICAgICBi
cmVhazsKQEAgLTgwNiw2ICs4MzUsOSBAQCBpbmxpbmUgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVW
YWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZVZhbGlkUHJpbWl0aXZlKGludCBpZCwgQ1NTUAogICAgICAg
ICByZXR1cm4gY3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKHZhbHVlKTsKICAgICBpZiAodmFs
dWUtPnVuaXQgPj0gQ1NTUGFyc2VyVmFsdWU6OlFfRU1TKQogICAgICAgICByZXR1cm4gQ1NTUXVp
cmtQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHZhbHVlLT5mVmFsdWUsIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfRU1TKTsKKyAgICBpZiAoaXNDYWxjTWluTWF4KHZhbHVlKSkKKyAgICAgICAgcmV0dXJu
IENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUobV9wYXJzZWRDYWxjLnJlbGVhc2UoKSk7CisKICAg
ICByZXR1cm4gMDsKIH0KIApAQCAtODE5LDYgKzg1MSwxMCBAQCBib29sIENTU1BhcnNlcjo6cGFy
c2VWYWx1ZShpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICBpZiAoIXZhbHVlKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAvLyBOb3RlOiBtX3BhcnNlZENhbGMgaXMgdXNlZCB0
byBwYXNzIHRoZSBjYWxjIHZhbHVlIHRvIGlzVmFsaWRVbml0IGFuZCB0aGVuIGNsZWFyZWQgYXQg
dGhlIGVuZCBvZiB0aGlzIGZ1bmN0aW9uLgorICAgIC8vIEZJWE1FOiBUaGlzIGlzIHRvIGF2b2lk
IGhhdmluZyB0byBwYXNzIHBhcnNlZENhbGMgdG8gYWxsIGlzVmFsaWRVbml0IGNhbGxlcnMuCisg
ICAgQVNTRVJUKCFtX3BhcnNlZENhbGMpOworICAgIAogICAgIGludCBpZCA9IHZhbHVlLT5pZDsK
IAogICAgIC8vIEluIHF1aXJrcyBtb2RlLCB3ZSB3aWxsIGxvb2sgZm9yIHVuaXRzIHRoYXQgaGF2
ZSBiZWVuIGluY29ycmVjdGx5IHNlcGFyYXRlZCBmcm9tIHRoZSBudW1iZXIgdGhleSBiZWxvbmcg
dG8KQEAgLTIxMjMsNiArMjE1OSw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKGludCBw
cm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgICAgICBwYXJzZWRWYWx1ZSA9IHBhcnNlVmFsaWRQ
cmltaXRpdmUoaWQsIHZhbHVlKTsKICAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQoKTsKICAgICB9
CisgICAgQVNTRVJUKCFtX3BhcnNlZENhbGMpOwogICAgIGlmIChwYXJzZWRWYWx1ZSkgewogICAg
ICAgICBpZiAoIW1fdmFsdWVMaXN0LT5jdXJyZW50KCkgfHwgaW5TaG9ydGhhbmQoKSkgewogICAg
ICAgICAgICAgYWRkUHJvcGVydHkocHJvcElkLCBwYXJzZWRWYWx1ZS5yZWxlYXNlKCksIGltcG9y
dGFudCk7CkBAIC02Mzc4LDYgKzY0MTUsMjIgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlRm9udEZl
YXR1cmVTZXR0aW5ncyhib29sIGltcG9ydGFudCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jv
b2wgQ1NTUGFyc2VyOjpwYXJzZUNhbGMoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlKSAKK3sKKyAgICBB
U1NFUlQoaXNDYWxjTWluTWF4KHZhbHVlKSk7CisgICAgCisgICAgQ1NTUGFyc2VyVmFsdWVMaXN0
KiBhcmdzID0gdmFsdWUtPmZ1bmN0aW9uLT5hcmdzLmdldCgpOworICAgIGlmICghYXJncyB8fCAh
YXJncy0+c2l6ZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBtX3BhcnNlZENhbGMg
PSBDU1NDYWxjVmFsdWU6OmNyZWF0ZUZyb21QYXJzZXJWYWx1ZUxpc3QodmFsdWUtPmZ1bmN0aW9u
LT5uYW1lLCBhcmdzKTsKKyAgICAKKyAgICBpZiAoIW1fcGFyc2VkQ2FsYy5nZXQoKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIAorICAgIHJldHVybiB0cnVlOworfQorICAgIAogc3RhdGlj
IGlubGluZSBpbnQgeXllcnJvcihjb25zdCBjaGFyKikgeyByZXR1cm4gMTsgfQogCiAjZGVmaW5l
IEVORF9UT0tFTiAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggOGUzZmU3NzQ1ODg3Y2UzNjlh
MWRjZmU3ZTE3YjljYTJmZjE2YTczMi4uODA5MjUyODUyMDVjN2FmZjRhZTQ3ZDZjZGIyMmVhZTIz
NzdjNDcxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApAQCAtMjMsNiArMjMsNyBAQAogI2lmbmRl
ZiBDU1NQYXJzZXJfaAogI2RlZmluZSBDU1NQYXJzZXJfaAogCisjaW5jbHVkZSAiQ1NTQ2FsY1Zh
bHVlLmgiCiAjaW5jbHVkZSAiQ1NTR3JhZGllbnRWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1BhcnNl
clZhbHVlcy5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5U291cmNlRGF0YS5oIgpAQCAtMTg3LDYg
KzE4OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBwYXJzZVRleHRFbXBo
YXNpc1N0eWxlKGJvb2wgaW1wb3J0YW50KTsKIAogICAgICAgICBib29sIHBhcnNlTGluZUJveENv
bnRhaW4oYm9vbCBpbXBvcnRhbnQpOworICAgICAgICBib29sIHBhcnNlQ2FsYyhDU1NQYXJzZXJW
YWx1ZSopOwogCiAgICAgICAgIGJvb2wgcGFyc2VGb250RmVhdHVyZVRhZyhDU1NWYWx1ZUxpc3Qq
KTsKICAgICAgICAgYm9vbCBwYXJzZUZvbnRGZWF0dXJlU2V0dGluZ3MoYm9vbCBpbXBvcnRhbnQp
OwpAQCAtMzQ4LDYgKzM1MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBWZWN0
b3I8T3duUHRyPENTU1BhcnNlclNlbGVjdG9yPiA+IG1fcmV1c2FibGVTZWxlY3RvclZlY3RvcjsK
IAorICAgICAgICBSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBtX3BhcnNlZENhbGM7CisKICAgICAgICAg
Ly8gZGVmaW5lcyB1bml0cyBhbGxvd2VkIGZvciBhIGNlcnRhaW4gcHJvcGVydHksIHVzZWQgaW4g
cGFyc2VVbml0CiAgICAgICAgIGVudW0gVW5pdHMgewogICAgICAgICAgICAgRlVua25vd24gICA9
IDB4MDAwMCwKQEAgLTM2Nyw3ICszNzEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
ICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VW5pdHM+KHN0YXRpY19jYXN0PHVuc2lnbmVkPihhKSB8
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihiKSk7CiAgICAgICAgIH0KIAotICAgICAgICBzdGF0aWMg
Ym9vbCB2YWxpZFVuaXQoQ1NTUGFyc2VyVmFsdWUqLCBVbml0cywgYm9vbCBzdHJpY3QpOworICAg
ICAgICBib29sIHZhbGlkVW5pdChDU1NQYXJzZXJWYWx1ZSosIFVuaXRzLCBib29sIHN0cmljdCk7
CiAKICAgICAgICAgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY3JlYXRlUHJpbWl0aXZl
TnVtZXJpY1ZhbHVlKENTU1BhcnNlclZhbHVlKik7CiAgICAgICAgIFBhc3NSZWZQdHI8Q1NTUHJp
bWl0aXZlVmFsdWU+IGNyZWF0ZVByaW1pdGl2ZVN0cmluZ1ZhbHVlKENTU1BhcnNlclZhbHVlKik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgKaW5kZXggY2Y2YzA3Yjg3NmM5MjlmYWIz
MjhiYWY4YTQ5ODk4MDg2ODJjZGNhNy4uNGQ5MGZjZDY5ZmY2ZTA3YzRhYmNmYjhiZWU0ZDEyNzQz
MWEyOTlhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaApAQCAtNTYsOCArNTYs
NiBAQCBzdHJ1Y3QgQ1NTUGFyc2VyVmFsdWUgewogICAgICAgICBRX0VNUyAgICA9IDB4MTAwMDAy
CiAgICAgfTsKICAgICBpbnQgdW5pdDsKLSAgICAKLSAgICAKICAgICBQYXNzUmVmUHRyPENTU1Zh
bHVlPiBjcmVhdGVDU1NWYWx1ZSgpOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRp
dmVWYWx1ZS5jcHAKaW5kZXggOTgxNmRhNTc3MDcxZTI3NDYwYmIzNDhhMjZhMjkwZTU3YTljNDY0
OC4uYTZlYWJkNTg4MDdmMzExMWQzODg5NDQyNDEwNzgzMTQ2ZmMzMGM3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCkBAIC0yMSwxMiArMjEsMTQgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDU1NQcmltaXRpdmVWYWx1ZS5oIgogCisjaW5jbHVk
ZSAiQ1NTQ2FsY1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTSGVscGVyLmgiCiAjaW5jbHVkZSAiQ1NT
UGFyc2VyLmgiCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkNTU1N0
eWxlU2hlZXQuaCIKICNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCiAjaW5jbHVkZSAiQ1NT
V3JhcFNoYXBlcy5oIgorI2luY2x1ZGUgIkNhbGNWYWx1ZS5oIgogI2luY2x1ZGUgIkNvbG9yLmgi
CiAjaW5jbHVkZSAiQ291bnRlci5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKQEAgLTg3
LDYgKzg5LDIyIEBAIHN0YXRpYyBDU1NUZXh0Q2FjaGUmIGNzc1RleHRDYWNoZSgpCiAgICAgcmV0
dXJuIGNhY2hlOwogfQogCit1bnNpZ25lZCBzaG9ydCBDU1NQcmltaXRpdmVWYWx1ZTo6cHJpbWl0
aXZlVHlwZSgpIGNvbnN0IAoreworICAgIGlmIChtX3R5cGUgIT0gQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19DQUxDKQorICAgICAgICByZXR1cm4gbV90eXBlOyAKKyAgICAKKyAgICBzd2l0Y2ggKG1f
dmFsdWUuY2FsYy0+Y2F0ZWdvcnkoKSkgeworICAgIGNhc2UgQ2FsY051bWJlcjoKKyAgICAgICAg
cmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEFSU0VSX0lOVEVHRVI7CisgICAgY2FzZSBD
YWxjUGVyY2VudDoKKyAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfQ0FMQ19Q
RVJDRU5UQUdFOworICAgIGNhc2UgQ2FsY0xlbmd0aDoKKyAgICAgICAgcmV0dXJuIENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NfUFg7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NfVU5LTk9XTjsKKyAgICB9Cit9CiBzdGF0aWMgY29uc3QgQXRvbWljU3Ry
aW5nJiB2YWx1ZU9yUHJvcGVydHlOYW1lKGludCB2YWx1ZU9yUHJvcGVydHlJRCkKIHsKICAgICBB
U1NFUlRfQVJHKHZhbHVlT3JQcm9wZXJ0eUlELCB2YWx1ZU9yUHJvcGVydHlJRCA+PSAwKTsKQEAg
LTE3NCw2ICsxOTIsOSBAQCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoY29u
c3QgTGVuZ3RoJiBsZW5ndGgpCiAgICAgICAgICAgICBBU1NFUlQoaXNmaW5pdGUobGVuZ3RoLnBl
cmNlbnQoKSkpOwogICAgICAgICAgICAgbV92YWx1ZS5udW0gPSBsZW5ndGgucGVyY2VudCgpOwog
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDogLy8gRklYTUUgaXMg
dGhpcyBjb3JyZWN0PworICAgICAgICAgICAgbV90eXBlID0gQ1NTX1VOS05PV047CisgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgY2FzZSBSZWxhdGl2ZToKICAgICAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0yMTAsNiArMjMxLDEzIEBAIHZv
aWQgQ1NTUHJpbWl0aXZlVmFsdWU6OmluaXQoUGFzc1JlZlB0cjxQYWlyPiBwKQogICAgIG1fdmFs
dWUucGFpciA9IHAucmVsZWFzZVJlZigpOwogfQogCit2b2lkIENTU1ByaW1pdGl2ZVZhbHVlOjpp
bml0KFBhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBjKQoreworICAgIG1fdHlwZSA9IENTU19DQUxD
OworICAgIG1faGFzQ2FjaGVkQ1NTVGV4dCA9IGZhbHNlOworICAgIG1fdmFsdWUuY2FsYyA9IGMu
cmVsZWFzZVJlZigpOworfQorCiB2b2lkIENTU1ByaW1pdGl2ZVZhbHVlOjppbml0KFBhc3NSZWZQ
dHI8Q1NTV3JhcFNoYXBlPiBzaGFwZSkKIHsKICAgICBtX3R5cGUgPSBDU1NfU0hBUEU7CkBAIC0y
NDgsNiArMjc2LDkgQEAgdm9pZCBDU1NQcmltaXRpdmVWYWx1ZTo6Y2xlYW51cCgpCiAgICAgICAg
ICAgICAgICAgbV92YWx1ZS5yZWdpb24tPmRlcmVmKCk7CiAgICAgICAgICAgICBicmVhazsKICNl
bmRpZgorICAgICAgICBjYXNlIENTU19DQUxDOgorICAgICAgICAgICAgbV92YWx1ZS5jYWxjLT5k
ZXJlZigpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ1NTX1NIQVBFOgogICAg
ICAgICAgICAgbV92YWx1ZS5zaGFwZS0+ZGVyZWYoKTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAt
MzQyLDcgKzM3MywxNyBAQCBkb3VibGUgQ1NTUHJpbWl0aXZlVmFsdWU6OmNvbXB1dGVMZW5ndGhE
b3VibGUoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcgogICAgICAgICAgICAgcmV0
dXJuIC0xLjA7CiAgICAgfQogCi0gICAgZG91YmxlIHJlc3VsdCA9IGdldERvdWJsZVZhbHVlKCkg
KiBmYWN0b3I7CisgICAgZG91YmxlIHZhbHVlOworICAgIGlmIChtX3R5cGUgIT0gQ1NTX0NBTEMp
CisgICAgICAgIHZhbHVlID0gZ2V0RG91YmxlVmFsdWUoKTsKKyAgICBlbHNlIHsKKyAgICAgICAg
T3duUHRyPENhbGNWYWx1ZT4gY2FsY1ZhbHVlID0gbV92YWx1ZS5jYWxjLT50b0NhbGNWYWx1ZShz
dHlsZSwgcm9vdFN0eWxlLCAxLjApOworICAgICAgICBpZiAoY2FsY1ZhbHVlLmdldCgpKQorICAg
ICAgICAgICAgdmFsdWUgPSBjYWxjVmFsdWUtPmV2YWx1YXRlKEZMVF9NQVgpOworICAgICAgICBl
bHNlIAorICAgICAgICAgICAgdmFsdWUgPSAwOworICAgIH0KKyAgICBkb3VibGUgcmVzdWx0ID0g
dmFsdWUgKiBmYWN0b3I7CiAgICAgaWYgKCFhcHBseVpvb21NdWx0aXBsaWVyIHx8IG11bHRpcGxp
ZXIgPT0gMS4wKQogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAKQEAgLTQyOCw2ICs0Njks
MTggQEAgZG91YmxlIENTU1ByaW1pdGl2ZVZhbHVlOjpnZXREb3VibGVWYWx1ZSh1bnNpZ25lZCBz
aG9ydCB1bml0VHlwZSkgY29uc3QKICAgICByZXR1cm4gcmVzdWx0OwogfQogCitkb3VibGUgQ1NT
UHJpbWl0aXZlVmFsdWU6OmdldERvdWJsZVZhbHVlKCkgY29uc3QKK3sgCisgICAgaWYgKG1fdHlw
ZSAhPSBDU1NfQ0FMQykKKyAgICAgICAgcmV0dXJuIG1fdmFsdWUubnVtOyAKKyAgICAKKyAgICBP
d25QdHI8Q2FsY1ZhbHVlPiBjYWxjVmFsdWUgPSBtX3ZhbHVlLmNhbGMtPnRvQ2FsY1ZhbHVlKDAs
IDAsIDEuMCk7CisgICAgaWYgKGNhbGNWYWx1ZS5nZXQoKSkKKyAgICAgICAgcmV0dXJuIGNhbGNW
YWx1ZS0+ZXZhbHVhdGUoMSk7CisgICAgCisgICAgcmV0dXJuIDA7Cit9CisKIENTU1ByaW1pdGl2
ZVZhbHVlOjpVbml0VHlwZXMgQ1NTUHJpbWl0aXZlVmFsdWU6OmNhbm9uaWNhbFVuaXRUeXBlRm9y
Q2F0ZWdvcnkoVW5pdENhdGVnb3J5IGNhdGVnb3J5KQogewogICAgIC8vIFRoZSBjYW5vbmljYWwg
dW5pdCB0eXBlIGlzIGNob3NlbiBhY2NvcmRpbmcgdG8gdGhlIHdheSBDU1NQYXJzZXI6OnZhbGlk
VW5pdCgpIGNob29zZXMgdGhlIGRlZmF1bHQgdW5pdApAQCAtODMwLDYgKzg4Myw5IEBAIFN0cmlu
ZyBDU1NQcmltaXRpdmVWYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0CiAgICAgICAgIGNhc2UgQ1NTX1BB
UlNFUl9JREVOVElGSUVSOgogICAgICAgICAgICAgdGV4dCA9IHF1b3RlQ1NTU3RyaW5nSWZOZWVk
ZWQobV92YWx1ZS5zdHJpbmcpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ1NT
X0NBTEM6CisgICAgICAgICAgICB0ZXh0ID0gbV92YWx1ZS5jYWxjLT5jc3NUZXh0KCk7CisgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDU1NfU0hBUEU6CiAgICAgICAgICAgICB0ZXh0
ID0gbV92YWx1ZS5zaGFwZS0+Y3NzVGV4dCgpOwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCmluZGV4IDZmNmQ0YWIwOWIxY2U0MjkxODVkNmY5
MzRhNjUwZTk2NTFhMDRhNDkuLmM4MDQzZTNiNGY1MzI5MTkzYWM2YTYwOTUxMmE5NmJlZjU2ZTVh
MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oCkBAIC0zMCw2ICszMCw3
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQ1NTQ2FsY1ZhbHVlOwogY2xhc3Mg
Q291bnRlcjsKIGNsYXNzIERhc2hib2FyZFJlZ2lvbjsKIGNsYXNzIFBhaXI7CkBAIC05OSw3ICsx
MDAsMTAgQEAgcHVibGljOgogICAgICAgICBDU1NfRlJPTV9GTE9XID0gMTEwLAogCiAgICAgICAg
IC8vIFRoaXMgaXMgdXNlZCBieSB0aGUgQ1NTIEV4Y2x1c2lvbnMgZHJhZnQKLSAgICAgICAgQ1NT
X1NIQVBFID0gMTExCisgICAgICAgIENTU19TSEFQRSA9IDExMSwKKworICAgICAgICBDU1NfQ0FM
QyA9IDExMiwKKyAgICAgICAgQ1NTX0NBTENfUEVSQ0VOVEFHRSA9IDExMwogICAgIH07CiAgICAg
CiAgICAgLy8gVGhpcyBlbnVtIGZvbGxvd3MgdGhlIENTU1BhcnNlcjo6VW5pdHMgZW51bSBhdWdt
ZW50ZWQgd2l0aCBVTklUX0ZSRVFVRU5DWSBmb3IgZnJlcXVlbmNpZXMuCkBAIC0xMzIsNyArMTM2
LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVhbnVwKCk7CiAKLSAgICB1bnNpZ25lZCBzaG9y
dCBwcmltaXRpdmVUeXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CisgICAgdW5zaWduZWQg
c2hvcnQgcHJpbWl0aXZlVHlwZSgpIGNvbnN0OwogCiAgICAgLyoKICAgICAgKiBjb21wdXRlcyBh
IGxlbmd0aCBpbiBwaXhlbHMgb3V0IG9mIHRoZSBnaXZlbiBDU1NWYWx1ZS4gTmVlZCB0aGUgUmVu
ZGVyU3R5bGUgdG8gZ2V0CkBAIC0xNTEsNyArMTU1LDcgQEAgcHVibGljOgogICAgIAogICAgIGRv
dWJsZSBnZXREb3VibGVWYWx1ZSh1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSwgRXhjZXB0aW9uQ29k
ZSYpIGNvbnN0OwogICAgIGRvdWJsZSBnZXREb3VibGVWYWx1ZSh1bnNpZ25lZCBzaG9ydCB1bml0
VHlwZSkgY29uc3Q7Ci0gICAgZG91YmxlIGdldERvdWJsZVZhbHVlKCkgY29uc3QgeyByZXR1cm4g
bV92YWx1ZS5udW07IH0KKyAgICBkb3VibGUgZ2V0RG91YmxlVmFsdWUoKSBjb25zdDsKIAogICAg
IHZvaWQgc2V0RmxvYXRWYWx1ZSh1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSwgZG91YmxlIGZsb2F0
VmFsdWUsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBmbG9hdCBnZXRGbG9hdFZhbHVlKHVuc2lnbmVk
IHNob3J0IHVuaXRUeXBlLCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QgeyByZXR1cm4gZ2V0VmFs
dWU8ZmxvYXQ+KHVuaXRUeXBlLCBlYyk7IH0KQEAgLTE4NSw2ICsxODksOCBAQCBwdWJsaWM6CiAg
ICAgRGFzaGJvYXJkUmVnaW9uKiBnZXREYXNoYm9hcmRSZWdpb25WYWx1ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fdHlwZSAhPSBDU1NfREFTSEJPQVJEX1JFR0lPTiA/IDAgOiBtX3ZhbHVlLnJlZ2lvbjsg
fQogCiAgICAgQ1NTV3JhcFNoYXBlKiBnZXRTaGFwZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV90
eXBlICE9IENTU19TSEFQRSA/IDAgOiBtX3ZhbHVlLnNoYXBlOyB9CisgICAgCisgICAgQ1NTQ2Fs
Y1ZhbHVlKiBjc3NDYWxjVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgIT0gQ1NTX0NBTEMg
PyAwIDogbV92YWx1ZS5jYWxjOyB9CiAKICAgICBpbnQgZ2V0SWRlbnQoKSBjb25zdDsKICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgb3BlcmF0b3IgVCgpIGNvbnN0OyAvLyBEZWZpbmVk
IGluIENTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApAQCAtMjI2LDcgKzIzMiw3IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBpbml0KFBhc3NSZWZQdHI8UGFpcj4pOwogICAgIHZvaWQgaW5pdChQYXNz
UmVmUHRyPERhc2hib2FyZFJlZ2lvbj4pOyAvLyBGSVhNRTogRGFzaGJvYXJkIHJlZ2lvbiBzaG91
bGQgbm90IGJlIGEgcHJpbWl0aXZlIHZhbHVlLgogICAgIHZvaWQgaW5pdChQYXNzUmVmUHRyPENT
U1dyYXBTaGFwZT4pOwotCisgICAgdm9pZCBpbml0KFBhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPik7
CiAgICAgYm9vbCBnZXREb3VibGVWYWx1ZUludGVybmFsKFVuaXRUeXBlcyB0YXJnZXRVbml0VHlw
ZSwgZG91YmxlKiByZXN1bHQpIGNvbnN0OwogCiAgICAgZG91YmxlIGNvbXB1dGVMZW5ndGhEb3Vi
bGUoUmVuZGVyU3R5bGUqIGN1cnJlbnRTdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91
YmxlIG11bHRpcGxpZXIsIGJvb2wgY29tcHV0aW5nRm9udFNpemUpOwpAQCAtMjQ3LDYgKzI1Myw3
IEBAIHByaXZhdGU6CiAgICAgICAgIFBhaXIqIHBhaXI7CiAgICAgICAgIERhc2hib2FyZFJlZ2lv
biogcmVnaW9uOwogICAgICAgICBDU1NXcmFwU2hhcGUqIHNoYXBlOworICAgICAgICBDU1NDYWxj
VmFsdWUqIGNhbGM7CiAgICAgfSBtX3ZhbHVlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3R5bGVBcHBseVByb3BlcnR5LmNwcAppbmRleCA4Mjc4MzYzZTc0MWJlMjgyMGVkNmM2OWQ0
MWFjODNhZWM2ZDFkMGJlLi5hNDVkZjc4NzYxZmQ1MzU5NTgzODM2OWE3MzliMGJmYTQwOWVmZmRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVBcHBseVByb3BlcnR5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVBcHBseVByb3BlcnR5LmNwcApAQCAt
MjUsNiArMjUsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNTU1N0eWxlQXBw
bHlQcm9wZXJ0eS5oIgogCisjaW5jbHVkZSAiQ1NTQ2FsY1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NT
Q3Vyc29ySW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ZsZXhWYWx1ZS5oIgogI2luY2x1ZGUg
IkNTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCIKQEAgLTMyOCw2ICszMjksMTIgQEAgcHJpdmF0
ZToKICAgICAgICAgICAgICAgICBzZXRWYWx1ZShzZWxlY3Rvci0+c3R5bGUoKSwgbGVuZ3RoKTsK
ICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BF
UkNFTlRBR0UpCiAgICAgICAgICAgICAgICAgc2V0VmFsdWUoc2VsZWN0b3ItPnN0eWxlKCksIExl
bmd0aChwcmltaXRpdmVWYWx1ZS0+Z2V0RG91YmxlVmFsdWUoKSwgUGVyY2VudCkpOworICAgICAg
ICAgICAgZWxzZSBpZiAodHlwZSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NBTENfUEVSQ0VO
VEFHRSkgeworICAgICAgICAgICAgICAgIE93blB0cjxDYWxjVmFsdWU+IGNhbGNWYWx1ZSA9IHBy
aW1pdGl2ZVZhbHVlLT5jc3NDYWxjVmFsdWUoKS0+dG9DYWxjVmFsdWUoc2VsZWN0b3ItPnN0eWxl
KCksIHNlbGVjdG9yLT5yb290RWxlbWVudFN0eWxlKCksIHNlbGVjdG9yLT5zdHlsZSgpLT5lZmZl
Y3RpdmVab29tKCkpOworICAgICAgICAgICAgICAgIGlmICghY2FsY1ZhbHVlLmdldCgpKQorICAg
ICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIHNldFZhbHVlKHNlbGVjdG9y
LT5zdHlsZSgpLCBMZW5ndGgoY2FsY1ZhbHVlLnJlbGVhc2UoKSkpOworICAgICAgICAgICAgfQog
ICAgICAgICB9CiAgICAgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVNlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNw
cAppbmRleCAwODQ1YjdhZDUwZjI2YjU5NjMyNDYzOTc4MTQwMjFlNzY5NGEwNjEzLi4xZWY2MWY1
NzdhNGEzOGY2YjgxYTRmOGRhODg4ZjA1YzY1YTlhMjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1N0eWxlU2VsZWN0b3IuY3BwCkBAIC0yOSwxMCArMjksMTIgQEAKICNpbmNsdWRlICJDU1NTdHls
ZVNlbGVjdG9yLmgiCiAKICNpbmNsdWRlICJBdHRyaWJ1dGUuaCIKKyNpbmNsdWRlICJDYWxjVmFs
dWUuaCIKICNpbmNsdWRlICJDb250ZW50RGF0YS5oIgogI2luY2x1ZGUgIkNvdW50ZXJDb250ZW50
LmgiCiAjaW5jbHVkZSAiQ3Vyc29yTGlzdC5oIgogI2luY2x1ZGUgIkNTU0JvcmRlckltYWdlVmFs
dWUuaCIKKyNpbmNsdWRlICJDU1NDYWxjVmFsdWUuaCIKICNpbmNsdWRlICJDU1NDdXJzb3JJbWFn
ZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udEZhY2VSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTRm9u
dFNlbGVjdG9yLmgiCkBAIC0xMDcsNiArMTA5LDcgQEAKICNpbmNsdWRlICJXZWJLaXRDU1NUcmFu
c2Zvcm1WYWx1ZS5oIgogI2luY2x1ZGUgIldlYktpdEZvbnRGYW1pbHlOYW1lcy5oIgogI2luY2x1
ZGUgIlhNTE5hbWVzLmgiCisjaW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9T
dGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTMzMzYsMTIgKzMz
MzksMTIgQEAgc3RhdGljIExlbmd0aCBjb252ZXJ0VG9MZW5ndGgoQ1NTUHJpbWl0aXZlVmFsdWUq
IHByaW1pdGl2ZVZhbHVlLCBSZW5kZXJTdHlsZSogc3QKICAgICByZXR1cm4gbDsKIH0KICAgICAK
LXN0YXRpYyBMZW5ndGggY29udmVydFRvSW50TGVuZ3RoKENTU1ByaW1pdGl2ZVZhbHVlKiBwcmlt
aXRpdmVWYWx1ZSwgUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBk
b3VibGUgbXVsdGlwbGllciA9IDEsIGJvb2wgKm9rID0gMCkKK0xlbmd0aCBDU1NTdHlsZVNlbGVj
dG9yOjpjb252ZXJ0VG9JbnRMZW5ndGgoQ1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVl
LCBSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSBtdWx0
aXBsaWVyLCBib29sICpvaykKIHsKICAgICByZXR1cm4gY29udmVydFRvTGVuZ3RoKHByaW1pdGl2
ZVZhbHVlLCBzdHlsZSwgcm9vdFN0eWxlLCBmYWxzZSwgbXVsdGlwbGllciwgb2spOwogfQogCi1z
dGF0aWMgTGVuZ3RoIGNvbnZlcnRUb0Zsb2F0TGVuZ3RoKENTU1ByaW1pdGl2ZVZhbHVlKiBwcmlt
aXRpdmVWYWx1ZSwgUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBk
b3VibGUgbXVsdGlwbGllciA9IDEsIGJvb2wgKm9rID0gMCkKK0xlbmd0aCBDU1NTdHlsZVNlbGVj
dG9yOjpjb252ZXJ0VG9GbG9hdExlbmd0aChDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFs
dWUsIFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIG11
bHRpcGxpZXIsIGJvb2wgKm9rKQogewogICAgIHJldHVybiBjb252ZXJ0VG9MZW5ndGgocHJpbWl0
aXZlVmFsdWUsIHN0eWxlLCByb290U3R5bGUsIHRydWUsIG11bHRpcGxpZXIsIG9rKTsKIH0KQEAg
LTUxNDAsMTQgKzUxNDMsMjMgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphcHBseVBhZ2VTaXpl
UHJvcGVydHkoQ1NTVmFsdWUqIHZhbHVlKQogCiBib29sIENTU1N0eWxlU2VsZWN0b3I6OnBhZ2VT
aXplRnJvbU5hbWUoQ1NTUHJpbWl0aXZlVmFsdWUqIHBhZ2VTaXplTmFtZSwgQ1NTUHJpbWl0aXZl
VmFsdWUqIHBhZ2VPcmllbnRhdGlvbiwgTGVuZ3RoJiB3aWR0aCwgTGVuZ3RoJiBoZWlnaHQpCiB7
Ci0gICAgc3RhdGljIGNvbnN0IExlbmd0aCBhNVdpZHRoID0gbW1MZW5ndGgoMTQ4KSwgYTVIZWln
aHQgPSBtbUxlbmd0aCgyMTApOwotICAgIHN0YXRpYyBjb25zdCBMZW5ndGggYTRXaWR0aCA9IG1t
TGVuZ3RoKDIxMCksIGE0SGVpZ2h0ID0gbW1MZW5ndGgoMjk3KTsKLSAgICBzdGF0aWMgY29uc3Qg
TGVuZ3RoIGEzV2lkdGggPSBtbUxlbmd0aCgyOTcpLCBhM0hlaWdodCA9IG1tTGVuZ3RoKDQyMCk7
Ci0gICAgc3RhdGljIGNvbnN0IExlbmd0aCBiNVdpZHRoID0gbW1MZW5ndGgoMTc2KSwgYjVIZWln
aHQgPSBtbUxlbmd0aCgyNTApOwotICAgIHN0YXRpYyBjb25zdCBMZW5ndGggYjRXaWR0aCA9IG1t
TGVuZ3RoKDI1MCksIGI0SGVpZ2h0ID0gbW1MZW5ndGgoMzUzKTsKLSAgICBzdGF0aWMgY29uc3Qg
TGVuZ3RoIGxldHRlcldpZHRoID0gaW5jaExlbmd0aCg4LjUpLCBsZXR0ZXJIZWlnaHQgPSBpbmNo
TGVuZ3RoKDExKTsKLSAgICBzdGF0aWMgY29uc3QgTGVuZ3RoIGxlZ2FsV2lkdGggPSBpbmNoTGVu
Z3RoKDguNSksIGxlZ2FsSGVpZ2h0ID0gaW5jaExlbmd0aCgxNCk7Ci0gICAgc3RhdGljIGNvbnN0
IExlbmd0aCBsZWRnZXJXaWR0aCA9IGluY2hMZW5ndGgoMTEpLCBsZWRnZXJIZWlnaHQgPSBpbmNo
TGVuZ3RoKDE3KTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBhNVdpZHRoID0gbW1MZW5ndGgo
MTQ4KTsgCisgICAgc3RhdGljIGNvbnN0IExlbmd0aCYgYTVIZWlnaHQgPSBtbUxlbmd0aCgyMTAp
OworICAgIHN0YXRpYyBjb25zdCBMZW5ndGgmIGE0V2lkdGggPSBtbUxlbmd0aCgyMTApOworICAg
IHN0YXRpYyBjb25zdCBMZW5ndGgmIGE0SGVpZ2h0ID0gbW1MZW5ndGgoMjk3KTsKKyAgICBzdGF0
aWMgY29uc3QgTGVuZ3RoJiBhM1dpZHRoID0gbW1MZW5ndGgoMjk3KTsKKyAgICBzdGF0aWMgY29u
c3QgTGVuZ3RoJiBhM0hlaWdodCA9IG1tTGVuZ3RoKDQyMCk7CisgICAgc3RhdGljIGNvbnN0IExl
bmd0aCYgYjVXaWR0aCA9IG1tTGVuZ3RoKDE3Nik7CisgICAgc3RhdGljIGNvbnN0IExlbmd0aCYg
YjVIZWlnaHQgPSBtbUxlbmd0aCgyNTApOworICAgIHN0YXRpYyBjb25zdCBMZW5ndGgmIGI0V2lk
dGggPSBtbUxlbmd0aCgyNTApOworICAgIHN0YXRpYyBjb25zdCBMZW5ndGgmIGI0SGVpZ2h0ID0g
bW1MZW5ndGgoMzUzKTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBsZXR0ZXJXaWR0aCA9IGlu
Y2hMZW5ndGgoOC41KTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBsZXR0ZXJIZWlnaHQgPSBp
bmNoTGVuZ3RoKDExKTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBsZWdhbFdpZHRoID0gaW5j
aExlbmd0aCg4LjUpOworICAgIHN0YXRpYyBjb25zdCBMZW5ndGgmIGxlZ2FsSGVpZ2h0ID0gaW5j
aExlbmd0aCgxNCk7CisgICAgc3RhdGljIGNvbnN0IExlbmd0aCYgbGVkZ2VyV2lkdGggPSBpbmNo
TGVuZ3RoKDExKTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBsZWRnZXJIZWlnaHQgPSBpbmNo
TGVuZ3RoKDE3KTsKKwogCiAgICAgaWYgKCFwYWdlU2l6ZU5hbWUgfHwgcGFnZVNpemVOYW1lLT5w
cmltaXRpdmVUeXBlKCkgIT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19JREVOVCkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwpAQCAtNTIwNiwxNCArNTIxOCwxNCBAQCBib29sIENTU1N0eWxlU2VsZWN0
b3I6OnBhZ2VTaXplRnJvbU5hbWUoQ1NTUHJpbWl0aXZlVmFsdWUqIHBhZ2VTaXplTmFtZSwgQ1NT
UHJpbQogICAgIHJldHVybiB0cnVlOwogfQogCi1MZW5ndGggQ1NTU3R5bGVTZWxlY3Rvcjo6bW1M
ZW5ndGgoZG91YmxlIG1tKSBjb25zdAorTGVuZ3RoJiBDU1NTdHlsZVNlbGVjdG9yOjptbUxlbmd0
aChkb3VibGUgbW0pIGNvbnN0CiB7Ci0gICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVh
dGUobW0sIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTU0pLT5jb21wdXRlTGVuZ3RoPExlbmd0aD4o
c3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxlKTsKKyAgICByZXR1cm4gKm5ldyBMZW5ndGgoQ1NT
UHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShtbSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19NTSktPmNv
bXB1dGVMZW5ndGg8TGVuZ3RoPihzdHlsZSgpLCBtX3Jvb3RFbGVtZW50U3R5bGUpKTsKIH0KIAot
TGVuZ3RoIENTU1N0eWxlU2VsZWN0b3I6OmluY2hMZW5ndGgoZG91YmxlIGluY2gpIGNvbnN0CitM
ZW5ndGgmIENTU1N0eWxlU2VsZWN0b3I6OmluY2hMZW5ndGgoZG91YmxlIGluY2gpIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoaW5jaCwgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19JTiktPmNvbXB1dGVMZW5ndGg8TGVuZ3RoPihzdHlsZSgpLCBtX3Jvb3RFbGVt
ZW50U3R5bGUpOworICAgIHJldHVybiAqbmV3IExlbmd0aChDU1NQcmltaXRpdmVWYWx1ZTo6Y3Jl
YXRlKGluY2gsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfSU4pLT5jb21wdXRlTGVuZ3RoPExlbmd0
aD4oc3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxlKSk7CiB9CiAKIHZvaWQgQ1NTU3R5bGVTZWxl
Y3Rvcjo6bWFwRmlsbEF0dGFjaG1lbnQoQ1NTUHJvcGVydHlJRCwgRmlsbExheWVyKiBsYXllciwg
Q1NTVmFsdWUqIHZhbHVlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxl
U2VsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKaW5kZXgg
N2ZmZjBmYjI3ZmY2NmJlOGQxM2JlMzBlNzUxNGMzMjdiNjE1NTlkNS4uMThhNjQ3MTU4NGRkNDYw
ZDA3NzMxYjQzN2ZjMzUwODRmZTE1ZDYzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxl
Y3Rvci5oCkBAIC0zMDAsNiArMzAwLDkgQEAgcHVibGljOgogICAgICAgICBTdHlsZUltYWdlKiBz
dHlsZUltYWdlKENTU1Byb3BlcnR5SUQsIENTU1ZhbHVlKik7CiAgICAgICAgIFN0eWxlSW1hZ2Uq
IGNhY2hlZE9yUGVuZGluZ0Zyb21WYWx1ZShDU1NQcm9wZXJ0eUlELCBDU1NJbWFnZVZhbHVlKik7
CiAKKyAgICAgICAgc3RhdGljIExlbmd0aCBjb252ZXJ0VG9JbnRMZW5ndGgoQ1NTUHJpbWl0aXZl
VmFsdWUqLCBSZW5kZXJTdHlsZSosIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSBtdWx0
aXBsaWVyID0gMSwgYm9vbCAqb2sgPSAwKTsKKyAgICAgICAgc3RhdGljIExlbmd0aCBjb252ZXJ0
VG9GbG9hdExlbmd0aChDU1NQcmltaXRpdmVWYWx1ZSosIFJlbmRlclN0eWxlKiwgUmVuZGVyU3R5
bGUqIHJvb3RTdHlsZSwgZG91YmxlIG11bHRpcGxpZXIgPSAxLCBib29sICpvayA9IDApOworCiAg
ICAgcHJpdmF0ZToKICAgICAgICAgc3RhdGljIFJlbmRlclN0eWxlKiBzX3N0eWxlTm90WWV0QXZh
aWxhYmxlOwogCkBAIC0zMzUsOCArMzM4LDggQEAgcHVibGljOgogICAgICAgICB2b2lkIGFwcGx5
UHJvcGVydHkoaW50IGlkLCBDU1NWYWx1ZSopOwogICAgICAgICB2b2lkIGFwcGx5UGFnZVNpemVQ
cm9wZXJ0eShDU1NWYWx1ZSopOwogICAgICAgICBib29sIHBhZ2VTaXplRnJvbU5hbWUoQ1NTUHJp
bWl0aXZlVmFsdWUqLCBDU1NQcmltaXRpdmVWYWx1ZSosIExlbmd0aCYgd2lkdGgsIExlbmd0aCYg
aGVpZ2h0KTsKLSAgICAgICAgTGVuZ3RoIG1tTGVuZ3RoKGRvdWJsZSBtbSkgY29uc3Q7Ci0gICAg
ICAgIExlbmd0aCBpbmNoTGVuZ3RoKGRvdWJsZSBpbmNoKSBjb25zdDsKKyAgICAgICAgTGVuZ3Ro
JiBtbUxlbmd0aChkb3VibGUgbW0pIGNvbnN0OworICAgICAgICBMZW5ndGgmIGluY2hMZW5ndGgo
ZG91YmxlIGluY2gpIGNvbnN0OwogI2lmIEVOQUJMRShTVkcpCiAgICAgICAgIHZvaWQgYXBwbHlT
VkdQcm9wZXJ0eShpbnQgaWQsIENTU1ZhbHVlKik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgK
aW5kZXggYzUzNWRhMjVlMTE0OTZmMDBlYTM3ZTZiMTI0ZDMxYjNmMDMyMzcyNS4uM2M1NWJmMTM2
MmZkZGFmZDI4ZGZjOWI4YWMwMTY1YTQxZmY0YWVmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKQEAg
LTcwLDcgKzcwLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1ZhbHVlTGlzdCgpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzV2ViS2l0Q1NTVHJhbnNm
b3JtVmFsdWUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0NT
U0xpbmVCb3hDb250YWluVmFsdWUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotICAgIAorICAg
IHZpcnR1YWwgYm9vbCBpc0NhbGNWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisKICNp
ZiBFTkFCTEUoU1ZHKQogICAgIHZpcnR1YWwgYm9vbCBpc1NWR0NvbG9yKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNTVkdQYWludCgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
MjdlM2RiNzRlMzZjN2Y1OTY3MTdlZDUyNjkxYTJiZDY4MDM0M2YyCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcApAQCAtMCwwICsxLDE2NSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
CisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJ
bmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDYWxjVmFsdWUuaCIKKworI2luY2x1ZGUg
PGxpbWl0cz4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDYWxjQmluYXJ5T3BlcmF0aW9uVmFs
dWU6OkNhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZShQYXNzT3duUHRyPENhbGNWYWx1ZT4gbGVmdFNp
ZGUsIFBhc3NPd25QdHI8Q2FsY1ZhbHVlPiByaWdodFNpZGUsIGNoYXIgb3ApCisgICAgOiBtX2xl
ZnRTaWRlKGxlZnRTaWRlKQorICAgICwgbV9yaWdodFNpZGUocmlnaHRTaWRlKQoreworICAgIHN3
aXRjaCAob3ApIHsKKyAgICBjYXNlICcrJzoKKyAgICAgICAgbV9vcGVyYXRvciA9IENhbGNBZGQ7
CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlICctJzoKKyAgICAgICAgbV9vcGVyYXRvciA9IENh
bGNTdWJ0cmFjdDsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgJyonOgorICAgICAgICBtX29w
ZXJhdG9yID0gQ2FsY011bHRpcGx5OworICAgICAgICByZXR1cm47CisgICAgY2FzZSAnLyc6Cisg
ICAgICAgIG1fb3BlcmF0b3IgPSBDYWxjRGl2aWRlOworICAgICAgICByZXR1cm47CisgICAgY2Fz
ZSAnJSc6CisgICAgICAgIG1fb3BlcmF0b3IgPSBDYWxjTW9kOworICAgICAgICByZXR1cm47Cisg
ICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCitmbG9hdCBDYWxjQmluYXJ5T3Bl
cmF0aW9uVmFsdWU6OmV2YWx1YXRlKGZsb2F0IG1heFZhbHVlKSBjb25zdAoreworICAgIGZsb2F0
IGxlZnQgPSBtX2xlZnRTaWRlLT5ldmFsdWF0ZShtYXhWYWx1ZSk7CisgICAgZmxvYXQgcmlnaHQg
PSBtX3JpZ2h0U2lkZS0+ZXZhbHVhdGUobWF4VmFsdWUpOworICAgIHN3aXRjaCAobV9vcGVyYXRv
cikgeworICAgIGNhc2UgQ2FsY0FkZDoKKyAgICAgICAgcmV0dXJuIGxlZnQgKyByaWdodDsKKyAg
ICBjYXNlIENhbGNTdWJ0cmFjdDoKKyAgICAgICAgcmV0dXJuIGxlZnQgLSByaWdodDsKKyAgICBj
YXNlIENhbGNNdWx0aXBseToKKyAgICAgICAgcmV0dXJuIGxlZnQgKiByaWdodDsKKyAgICBjYXNl
IENhbGNEaXZpZGU6CisgICAgICAgIGlmICghcmlnaHQpCisgICAgICAgICAgICByZXR1cm4gc3Rk
OjpudW1lcmljX2xpbWl0czxmbG9hdD46OnF1aWV0X05hTigpOworICAgICAgICByZXR1cm4gbGVm
dCAvIHJpZ2h0OworICAgIGNhc2UgQ2FsY01vZDoKKyAgICAgICAgaWYgKCFyaWdodCkKKyAgICAg
ICAgICAgIHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6cXVpZXRfTmFOKCk7Cisg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KGxlZnQpICUgc3RhdGljX2Nhc3Q8aW50Pihy
aWdodCk7CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBzdGQ6
Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6cXVpZXRfTmFOKCk7Cit9CisKK0NhbGNNaW5NYXhWYWx1
ZUxpc3Q6OkNhbGNNaW5NYXhWYWx1ZUxpc3QoTGlzdFR5cGUgdHlwZSkKKyAgICA6IG1fdHlwZSh0
eXBlKQorICAgICwgbV9saXN0KCkKK3sKK30KKwordm9pZCBDYWxjTWluTWF4VmFsdWVMaXN0Ojph
cHBlbmQoUGFzc093blB0cjxDYWxjVmFsdWU+IHZhbHVlKQoreworICAgIG1fbGlzdC5hcHBlbmQo
dmFsdWUpOworfQorCitmbG9hdCBDYWxjTWluTWF4VmFsdWVMaXN0OjpldmFsdWF0ZShmbG9hdCBt
YXhWYWx1ZSkgY29uc3QKK3sKKyAgICBpZiAobV9saXN0LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0
dXJuIDA7CisgICAgCisgICAgZmxvYXQgcmV0dmFsID0gbV9saXN0WzBdLT5ldmFsdWF0ZShtYXhW
YWx1ZSk7CisgICAgaWYgKG1fdHlwZSA9PSBDYWxjTWluKSB7CisgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IDE7IGkgPCBtX2xpc3Quc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGZsb2F0IGN1
cnJlbnQgPSBtX2xpc3RbaV0tPmV2YWx1YXRlKG1heFZhbHVlKTsKKyAgICAgICAgICAgIGlmIChj
dXJyZW50IDwgcmV0dmFsKQorICAgICAgICAgICAgICAgIHJldHZhbCA9IGN1cnJlbnQ7CisgICAg
ICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgbV9s
aXN0LnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICBmbG9hdCBjdXJyZW50ID0gbV9saXN0W2ld
LT5ldmFsdWF0ZShtYXhWYWx1ZSk7CisgICAgICAgICAgICBpZiAoY3VycmVudCA+IHJldHZhbCkK
KyAgICAgICAgICAgICAgICByZXR2YWwgPSBjdXJyZW50OworICAgICAgICB9CisgICAgfQorCisg
ICAgcmV0dXJuIHJldHZhbDsKK30KKworUGFzc1JlZlB0cjxDYWxjdWxhdGVkTGVuZ3RoPiBDYWxj
dWxhdGVkTGVuZ3RoOjpjcmVhdGUoUGFzc093blB0cjxDYWxjVmFsdWU+IGNhbGMpIAoreworICAg
IHJldHVybiBhZG9wdFJlZihuZXcgQ2FsY3VsYXRlZExlbmd0aChjYWxjKSk7Cit9CisKK2Zsb2F0
IENhbGN1bGF0ZWRMZW5ndGg6OmV2YWx1YXRlKGZsb2F0IG1heFZhbHVlKSBjb25zdAoreworICAg
IGZsb2F0IHJlc3VsdCA9IG1fY2FsYy0+ZXZhbHVhdGUobWF4VmFsdWUpOworICAgIC8vIEZJWE1F
OiByZXN1bHQgaXMgTmFOIHdoZW4gdGhlcmUgaXMgYSBkaXZpc2lvbiBieSB6ZXJvIHdoaWNoCisg
ICAgLy8gICAgICAgIGlzbid0IGZvdW5kIGF0IHBhcnNlIHRpbWUgKGUuZy4sIDUvKDEwMCUtMjAw
cHgpKjEwMHB4KS4KKyAgICAvLyAgICAgICAgVGhlcmUgaXMgYSBkaXNjdXNzaW9uIGFib3V0IHRo
aXMgYW5kIGhvcGVmdWxseSBzcGVjCisgICAgLy8gICAgICAgIHdpbGwgaGF2ZSB0aGUgZGVjaXNp
b24gZm9yIHRoaXMgaXNzdWUuCisgICAgLy8gICAgICAgIGh0dHA6Ly9saXN0cy53My5vcmcvQXJj
aGl2ZXMvUHVibGljL3d3dy1zdHlsZS8yMDEwSmFuLzAwMDcuaHRtbAorICAgIGlmIChpc25hbihy
ZXN1bHQpKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitpbnQg
SGFuZGxlTWFwOjppbnNlcnQoUGFzc1JlZlB0cjxDYWxjdWxhdGVkTGVuZ3RoPiBjYWxjTGVuZ3Ro
KQoreworICAgIC8vIFNraXAgbV9pbmRleCA9PSAwIGFzIHplcm8ga2V5IGhpdHMgdGhlIGFzc2Vy
dGlvbiBvZiBIYXNoTWFwLgorICAgIHdoaWxlICghbV9pbmRleCB8fCBtX21hcC0+Y29udGFpbnMo
bV9pbmRleCkpCisgICAgICAgIG1faW5kZXgrKzsKKyAgICBpbnQgc2V0SW5kZXggPSBtX2luZGV4
OworICAgIG1faW5kZXgrKzsKKyAgICAKKyAgICBtX21hcC0+c2V0KHNldEluZGV4LCBjYWxjTGVu
Z3RoKTsgICAKKyAgICAKKyAgICByZXR1cm4gc2V0SW5kZXg7Cit9CisKK3ZvaWQgSGFuZGxlTWFw
OjpyZW1vdmUoaW50IGluZGV4KQoreworICAgIEFTU0VSVChtX21hcC0+Y29udGFpbnMoaW5kZXgp
KTsKKyAgICBtX21hcC0+cmVtb3ZlKGluZGV4KTsKK30KKworUGFzc1JlZlB0cjxDYWxjdWxhdGVk
TGVuZ3RoPiBIYW5kbGVNYXA6OmdldChpbnQgaW5kZXgpCit7CisgICAgQVNTRVJUKG1fbWFwLT5j
b250YWlucyhpbmRleCkpOworICAgIHJldHVybiBtX21hcC0+Z2V0KGluZGV4KTsKK30KKworICAg
IAorICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFs
dWUuaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5hMGRlNWU2YjhkNzY3NWEyMTNmYjc3ZDE0ZGMxZTJiMjBhMTlhOTUz
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmgK
QEAgLTAsMCArMSwxNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIENhbGNWYWx1ZV9oCisjZGVmaW5lIENhbGNWYWx1ZV9o
CisKKyNpbmNsdWRlICJMZW5ndGguaCIKKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CisjaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIENhbGNPcGVy
YXRvciB7CisgICAgQ2FsY0FkZCwKKyAgICBDYWxjU3VidHJhY3QsCisgICAgQ2FsY011bHRpcGx5
LAorICAgIENhbGNEaXZpZGUsCisgICAgQ2FsY01vZAorfTsKKworY2xhc3MgQ2FsY1ZhbHVlIHsK
K3B1YmxpYzoKKyAgICAKKyAgICB2aXJ0dWFsIH5DYWxjVmFsdWUoKQorICAgIHsKKyAgICB9CisK
KyAgICB2aXJ0dWFsIGZsb2F0IGV2YWx1YXRlKGZsb2F0IG1heFZhbHVlKSBjb25zdCA9IDA7Cit9
OworCitjbGFzcyBDYWxjTnVtYmVyVmFsdWUgOiBwdWJsaWMgQ2FsY1ZhbHVlIHsKK3B1YmxpYzoK
KyAgICBleHBsaWNpdCBDYWxjTnVtYmVyVmFsdWUoZmxvYXQgdmFsdWUpCisgICAgICAgIDogbV92
YWx1ZSh2YWx1ZSkKKyAgICB7CisgICAgfQorCisgICAgdmlydHVhbCBmbG9hdCBldmFsdWF0ZShm
bG9hdCkgY29uc3QgCisgICAgeworICAgICAgICByZXR1cm4gbV92YWx1ZTsKKyAgICB9CisgICAg
Citwcml2YXRlOgorICAgIGZsb2F0IG1fdmFsdWU7Cit9OworCitjbGFzcyBDYWxjTGVuZ3RoVmFs
dWUgOiBwdWJsaWMgQ2FsY1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBDYWxjTGVuZ3Ro
VmFsdWUoTGVuZ3RoIGxlbmd0aCkKKyAgICAgICAgOiBtX2xlbmd0aChsZW5ndGgpCisgICAgewor
ICAgIH0KKworICAgIHZpcnR1YWwgZmxvYXQgZXZhbHVhdGUoZmxvYXQgbWF4VmFsdWUpIGNvbnN0
CisgICAgeworICAgICAgICByZXR1cm4gbV9sZW5ndGguY2FsY1ZhbHVlKG1heFZhbHVlKTsKKyAg
ICB9CisgICAgCitwcml2YXRlOgorICAgIExlbmd0aCBtX2xlbmd0aDsKK307CisKK2NsYXNzIENh
bGNCaW5hcnlPcGVyYXRpb25WYWx1ZSA6IHB1YmxpYyBDYWxjVmFsdWUgeworcHVibGljOgorICAg
IENhbGNCaW5hcnlPcGVyYXRpb25WYWx1ZShQYXNzT3duUHRyPENhbGNWYWx1ZT4gbGVmdFNpZGUs
IFBhc3NPd25QdHI8Q2FsY1ZhbHVlPiByaWdodFNpZGUsIGNoYXIgb3ApOworCisgICAgdmlydHVh
bCBmbG9hdCBldmFsdWF0ZShmbG9hdCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgT3duUHRyPENh
bGNWYWx1ZT4gbV9sZWZ0U2lkZTsKKyAgICBPd25QdHI8Q2FsY1ZhbHVlPiBtX3JpZ2h0U2lkZTsK
KyAgICBDYWxjT3BlcmF0b3IgbV9vcGVyYXRvcjsKK307CisKK2VudW0gTGlzdFR5cGUgeworICAg
IENhbGNNaW4sCisgICAgQ2FsY01heCwgCit9OworICAgIAorY2xhc3MgQ2FsY01pbk1heFZhbHVl
TGlzdCA6IHB1YmxpYyBDYWxjVmFsdWUgeworcHVibGljOgorICAgIGV4cGxpY2l0IENhbGNNaW5N
YXhWYWx1ZUxpc3QoTGlzdFR5cGUpOworICAgIHZvaWQgYXBwZW5kKFBhc3NPd25QdHI8Q2FsY1Zh
bHVlPik7CisKKyAgICB2aXJ0dWFsIGZsb2F0IGV2YWx1YXRlKGZsb2F0KSBjb25zdDsKKworcHJp
dmF0ZToKKyAgICBMaXN0VHlwZSBtX3R5cGU7CisgICAgVmVjdG9yPE93blB0cjxDYWxjVmFsdWU+
ID4gbV9saXN0OworfTsKKworICAgIAorY2xhc3MgQ2FsY3VsYXRlZExlbmd0aCA6IHB1YmxpYyBS
ZWZDb3VudGVkPENhbGN1bGF0ZWRMZW5ndGg+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxDYWxjdWxhdGVkTGVuZ3RoPiBjcmVhdGUoUGFzc093blB0cjxDYWxjVmFsdWU+KTsgICAg
CisgICAgZmxvYXQgZXZhbHVhdGUoZmxvYXQgbWF4VmFsdWUpIGNvbnN0OworICAgIAorcHJpdmF0
ZToKKyAgICBleHBsaWNpdCBDYWxjdWxhdGVkTGVuZ3RoKFBhc3NPd25QdHI8Q2FsY1ZhbHVlPiBj
YWxjKQorICAgIDogbV9jYWxjKGNhbGMpCisgICAgeworICAgIH0KKyAgICAKKyAgICBPd25QdHI8
Q2FsY1ZhbHVlPiBtX2NhbGM7Cit9OworCitjbGFzcyBIYW5kbGVNYXAgeworcHVibGljOgorICAg
IEhhbmRsZU1hcCgpIAorICAgIDogbV9pbmRleCgxKQorICAgIHsKKyAgICAgICAgbV9tYXAgPSBu
ZXcgSGFzaE1hcDxpbnQsIFJlZlB0cjxDYWxjdWxhdGVkTGVuZ3RoPiA+OworICAgIH0KKyAgICAK
KyAgICBpbnQgaW5zZXJ0KFBhc3NSZWZQdHI8Q2FsY3VsYXRlZExlbmd0aD4pOworICAgIHZvaWQg
cmVtb3ZlKGludCBpbmRleCk7CisgICAgUGFzc1JlZlB0cjxDYWxjdWxhdGVkTGVuZ3RoPiBnZXQo
aW50IGluZGV4KTsKKyAgICAKK3ByaXZhdGU6ICAgICAgICAKKyAgICBpbnQgbV9pbmRleDsKKyAg
ICBIYXNoTWFwPGludCwgUmVmUHRyPENhbGN1bGF0ZWRMZW5ndGg+ID4qIG1fbWFwOworfTsKKwor
ICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ2FsY1ZhbHVlX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9MZW5ndGguY3BwCmluZGV4IDIxNjlkOTk1MzE3NDFiNDI2YTdmMmQ2YWI0
Y2Y1MzY1MjViNzMzNjYuLmQ0MzAzZmJjZWQ4YmQ3ZWZhNmYwZjlhNmM5MTBmMWRiMDNmNmMzOTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmNwcApAQCAtMjUsMTAgKzI1LDE0IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTGVuZ3RoLmgiCiAKKyNpbmNsdWRlICJDYWxjVmFs
dWUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgPG1hdGguaD4KICNp
bmNsdWRlIDx3dGYvQVNDSUlDVHlwZS5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+Cisj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvT3duQXJyYXlQdHIuaD4KKyNp
bmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVm
ZmVyLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXVEY7CkBAIC0xNDgsNSArMTUyLDg3IEBAIFBhc3NP
d25BcnJheVB0cjxMZW5ndGg+IG5ld0xlbmd0aEFycmF5KGNvbnN0IFN0cmluZyYgc3RyaW5nLCBp
bnQmIGxlbikKIAogICAgIHJldHVybiByLnJlbGVhc2UoKTsKIH0KKyAgICAKK0xlbmd0aDo6fkxl
bmd0aCgpCit7CisgICAgaWYgKGlzQ2FsY3VsYXRlZCgpKQorICAgICAgICBkZWNyZW1lbnRDYWxj
dWxhdGVkUmVmKCk7Cit9ICAgCisgICAgCitIYW5kbGVNYXAqIExlbmd0aDo6Y2FsY0hhbmRsZXMo
KSBjb25zdAoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoSGFuZGxlTWFwLCBoYW5kbGVNYXAs
ICgpKTsKKyAgICByZXR1cm4gJmhhbmRsZU1hcDsKK30KKworTGVuZ3RoOjpMZW5ndGgoUGFzc093
blB0cjxDYWxjVmFsdWU+IGNhbGMpCisgICAgOiBtX3F1aXJrKGZhbHNlKSwgbV90eXBlKENhbGN1
bGF0ZWQpLCBtX2lzRmxvYXQoZmFsc2UpCit7CisgICAgbV9pbnRWYWx1ZSA9IGNhbGNIYW5kbGVz
KCktPmluc2VydChDYWxjdWxhdGVkTGVuZ3RoOjpjcmVhdGUoY2FsYykpOworfQorICAgIAorLy8g
RklYTUU6IEl0J3MgaW1wb3NzaWJsZSB0byBrbm93IHRoZSBzaWduIG9mIGNhbGMgdmFsdWVzIHdp
dGhvdXQKKy8vICAgICAgICBtYXggdmFsdWUgaWYgdGhlIGNhbGMgZm9ybXVsYSBjb250YWlucyBw
ZXJjZW50YWdlcy4KKy8vICAgICAgICBXZSBhc3N1bWUgYWxsIGNhbGMgdmFsdWVzIGFyZSBwb3Np
dGl2ZSBmb3Igbm93LgorCitib29sIExlbmd0aDo6Y2FsY3VsYXRlZElzWmVybygpIGNvbnN0Cit7
CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIExlbmd0aDo6Y2FsY3VsYXRlZElzUG9zaXRp
dmUoKSBjb25zdAoreworICAgIHJldHVybiB0cnVlOworfQorCitib29sIExlbmd0aDo6Y2FsY3Vs
YXRlZElzTmVnYXRpdmUoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworaW50IExl
bmd0aDo6Y2FsY3VsYXRlZENhbGNWYWx1ZShpbnQgbWF4VmFsdWUsIGJvb2wgLyogcm91bmRQZXJj
ZW50YWdlcyAqLykgY29uc3QKK3sKKyAgICBBU1NFUlQoaXNDYWxjdWxhdGVkKCkpOworICAgIFJl
ZlB0cjxDYWxjdWxhdGVkTGVuZ3RoPiBjYWxjTGVuZ3RoID0gY2FsY0hhbmRsZXMoKS0+Z2V0KGNh
bGN1bGF0ZWRMZW5ndGhJZCgpKTsKKyAgICBmbG9hdCByZXN1bHQgPSBjYWxjTGVuZ3RoLT5ldmFs
dWF0ZShtYXhWYWx1ZSk7CisgICAgaWYgKGlzbmFuKHJlc3VsdCkpCisgICAgICAgIHJldHVybiAw
OworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2ludCBMZW5ndGg6OmNhbGN1bGF0ZWRDYWxjTWlu
VmFsdWUoaW50IG1heFZhbHVlLCBib29sIC8qIHJvdW5kUGVyY2VudGFnZXMgKi8pIGNvbnN0Cit7
CisgICAgQVNTRVJUKGlzQ2FsY3VsYXRlZCgpKTsKKyAgICBSZWZQdHI8Q2FsY3VsYXRlZExlbmd0
aD4gY2FsY0xlbmd0aCA9IGNhbGNIYW5kbGVzKCktPmdldChjYWxjdWxhdGVkTGVuZ3RoSWQoKSk7
CisgICAgZmxvYXQgcmVzdWx0ID0gY2FsY0xlbmd0aC0+ZXZhbHVhdGUobWF4VmFsdWUpOworICAg
IGlmIChpc25hbihyZXN1bHQpKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gcmVzdWx0
OworfQorCitmbG9hdCBMZW5ndGg6OmNhbGN1bGF0ZWRDYWxjRmxvYXRWYWx1ZShpbnQgbWF4VmFs
dWUpIGNvbnN0Cit7CisgICAgQVNTRVJUKGlzQ2FsY3VsYXRlZCgpKTsKKyAgICBSZWZQdHI8Q2Fs
Y3VsYXRlZExlbmd0aD4gY2FsY0xlbmd0aCA9IGNhbGNIYW5kbGVzKCktPmdldChjYWxjdWxhdGVk
TGVuZ3RoSWQoKSk7CisgICAgZmxvYXQgcmVzdWx0ID0gY2FsY0xlbmd0aC0+ZXZhbHVhdGUobWF4
VmFsdWUpOworICAgIGlmIChpc25hbihyZXN1bHQpKQorICAgICAgICByZXR1cm4gMDsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorCit2b2lkIExlbmd0aDo6aW5jcmVtZW50Q2FsY3VsYXRlZFJlZigp
IGNvbnN0Cit7CisgICAgQVNTRVJUKGlzQ2FsY3VsYXRlZCgpKTsKKyAgICBjYWxjSGFuZGxlcygp
LT5nZXQoY2FsY3VsYXRlZExlbmd0aElkKCkpLT5yZWYoKTsKK30KKwordm9pZCBMZW5ndGg6OmRl
Y3JlbWVudENhbGN1bGF0ZWRSZWYoKSBjb25zdAoreworICAgIEFTU0VSVChpc0NhbGN1bGF0ZWQo
KSk7CisgICAgUmVmUHRyPENhbGN1bGF0ZWRMZW5ndGg+IGNhbGNMZW5ndGggPSBjYWxjSGFuZGxl
cygpLT5nZXQoY2FsY3VsYXRlZExlbmd0aElkKCkpOworICAgIGlmIChjYWxjTGVuZ3RoLT5oYXNP
bmVSZWYoKSkKKyAgICAgICAgY2FsY0hhbmRsZXMoKS0+cmVtb3ZlKGNhbGN1bGF0ZWRMZW5ndGhJ
ZCgpKTsKKyAgICBjYWxjTGVuZ3RoLT5kZXJlZigpOworfSAgICAKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAppbmRleCBlMGJjMjViY2RkNDQ5OWNlMTM4
NDI3MzE3OWE0ODBjZTA1MzBhYzllLi42MTNkMWMzMzU1NDhkNTAyODFjY2I5NGIxMzQ2NGY5MGY5
MmE5OGViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaApAQCAtMjUsOCArMjUsMTIgQEAKICNp
bmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2lu
Y2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25BcnJheVB0ci5o
PgorI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAt
MzQsOCArMzgsMTEgQEAgY29uc3QgaW50IHVuZGVmaW5lZExlbmd0aCA9IC0xOwogY29uc3QgaW50
IGludE1heEZvckxlbmd0aCA9IDB4N2ZmZmZmZjsgLy8gbWF4IHZhbHVlIGZvciBhIDI4LWJpdCBp
bnQKIGNvbnN0IGludCBpbnRNaW5Gb3JMZW5ndGggPSAoLTB4N2ZmZmZmZiAtIDEpOyAvLyBtaW4g
dmFsdWUgZm9yIGEgMjgtYml0IGludAogCi1lbnVtIExlbmd0aFR5cGUgeyBBdXRvLCBSZWxhdGl2
ZSwgUGVyY2VudCwgRml4ZWQsIEludHJpbnNpYywgTWluSW50cmluc2ljIH07Ci0KK2VudW0gTGVu
Z3RoVHlwZSB7IEF1dG8sIFJlbGF0aXZlLCBQZXJjZW50LCBGaXhlZCwgSW50cmluc2ljLCBNaW5J
bnRyaW5zaWMsIENhbGN1bGF0ZWQgfTsKKyAKK2NsYXNzIENhbGNWYWx1ZTsgICAgCitjbGFzcyBI
YW5kbGVNYXA7CisgICAgCiBzdHJ1Y3QgTGVuZ3RoIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9D
QVRFRDsKIHB1YmxpYzoKQEAgLTY1LDYgKzcyLDIwIEBAIHB1YmxpYzoKICAgICAgICAgbV9mbG9h
dFZhbHVlID0gc3RhdGljX2Nhc3Q8ZmxvYXQ+KHYpOyAgICAKICAgICB9CiAKKyAgICBleHBsaWNp
dCBMZW5ndGgoUGFzc093blB0cjxDYWxjVmFsdWU+KTsKKworICAgIExlbmd0aChjb25zdCBMZW5n
dGgmIGxlbmd0aCkKKyAgICB7CisgICAgICAgIGluaXRGcm9tTGVuZ3RoKGxlbmd0aCk7CisgICAg
fQorICAgIAorICAgIExlbmd0aCYgb3BlcmF0b3I9KGNvbnN0IExlbmd0aCYgbGVuZ3RoKQorICAg
IHsKKyAgICAgICAgaW5pdEZyb21MZW5ndGgobGVuZ3RoKTsKKyAgICAgICAgcmV0dXJuICp0aGlz
OworICAgIH0KKyAgICB+TGVuZ3RoKCk7CisKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgTGVu
Z3RoJiBvKSBjb25zdCB7IHJldHVybiAoZ2V0RmxvYXRWYWx1ZSgpID09IG8uZ2V0RmxvYXRWYWx1
ZSgpKSAmJiAobV90eXBlID09IG8ubV90eXBlKSAmJiAobV9xdWlyayA9PSBvLm1fcXVpcmspOyB9
CiAgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IExlbmd0aCYgbykgY29uc3QgeyByZXR1cm4gKGdl
dEZsb2F0VmFsdWUoKSAhPSBvLmdldEZsb2F0VmFsdWUoKSkgfHwgKG1fdHlwZSAhPSBvLm1fdHlw
ZSkgfHwgKG1fcXVpcmsgIT0gby5tX3F1aXJrKTsgfQogCkBAIC03OSw2ICsxMDAsOCBAQCBwdWJs
aWM6CiAgICAgfQogICAgIAogICAgIGludCB2YWx1ZSgpIGNvbnN0IHsKKyAgICAgICAgaWYgKGlz
Q2FsY3VsYXRlZCgpKQorICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZExlbmd0aDsKICAgICAg
ICAgcmV0dXJuIGdldEludFZhbHVlKCk7CiAgICAgfQogCkBAIC0xMDUsNiArMTI4LDggQEAgcHVi
bGljOgogCiAgICAgdm9pZCBzZXRWYWx1ZShpbnQgdmFsdWUpCiAgICAgeworICAgICAgICBpZiAo
aXNDYWxjdWxhdGVkKCkpCisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIHNldFZhbHVlKEZp
eGVkLCB2YWx1ZSk7CiAgICAgfQogCkBAIC0xMjksNiArMTU0LDggQEAgcHVibGljOgogICAgICAg
ICAgICAgICAgIHJldHVybiBjYWxjTWluVmFsdWUobWF4VmFsdWUsIHJvdW5kUGVyY2VudGFnZXMp
OwogICAgICAgICAgICAgY2FzZSBBdXRvOgogICAgICAgICAgICAgICAgIHJldHVybiBtYXhWYWx1
ZTsKKyAgICAgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKKyAgICAgICAgICAgICAgICByZXR1cm4g
Y2FsY3VsYXRlZENhbGNWYWx1ZShtYXhWYWx1ZSwgcm91bmRQZXJjZW50YWdlcyk7ICAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICByZXR1cm4gdW5k
ZWZpbmVkTGVuZ3RoOwogICAgICAgICB9CkBAIC0xNDQsNiArMTcxLDkgQEAgcHVibGljOgogICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pihyb3VuZChtYXhWYWx1ZSAq
IHBlcmNlbnQoKSAvIDEwMC4wZikpOwogICAgICAgICAgICAgICAgIC8vIERvbid0IHJlbW92ZSB0
aGUgZXh0cmEgY2FzdCB0byBmbG9hdC4gSXQgaXMgbmVlZGVkIGZvciByb3VuZGluZyBvbiAzMi1i
aXQgSW50ZWwgbWFjaGluZXMgdGhhdCB1c2UgdGhlIEZQVSBzdGFjay4KICAgICAgICAgICAgICAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50PihzdGF0aWNfY2FzdDxmbG9hdD4obWF4VmFsdWUgKiBw
ZXJjZW50KCkgLyAxMDAuMGYpKTsKKyAKKyAgICAgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKKyAg
ICAgICAgICAgICAgICByZXR1cm4gY2FsY3VsYXRlZENhbGNNaW5WYWx1ZShtYXhWYWx1ZSwgcm91
bmRQZXJjZW50YWdlcyk7ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgY2FzZSBBdXRvOgog
ICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICByZXR1cm4gMDsKQEAgLTE1OSwy
NiArMTg5LDM1IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
ZmxvYXQ+KG1heFZhbHVlICogcGVyY2VudCgpIC8gMTAwLjBmKTsKICAgICAgICAgICAgIGNhc2Ug
QXV0bzoKICAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1heFZhbHVl
KTsKKyAgICAgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKKyAgICAgICAgICAgICAgICByZXR1cm4g
Y2FsY3VsYXRlZENhbGNGbG9hdFZhbHVlKG1heFZhbHVlKTsgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxmbG9h
dD4odW5kZWZpbmVkTGVuZ3RoKTsKICAgICAgICAgfQogICAgIH0KIAogICAgIGJvb2wgaXNVbmRl
ZmluZWQoKSBjb25zdCB7IHJldHVybiB2YWx1ZSgpID09IHVuZGVmaW5lZExlbmd0aDsgfQorCiAg
ICAgYm9vbCBpc1plcm8oKSBjb25zdCAKICAgICB7IAotICAgICAgICByZXR1cm4gbV9pc0Zsb2F0
ID8gIW1fZmxvYXRWYWx1ZSA6ICFtX2ludFZhbHVlOworICAgICAgICByZXR1cm4gaXNDYWxjdWxh
dGVkKCkgPyBjYWxjdWxhdGVkSXNaZXJvKCkgOiBtX2lzRmxvYXQgPyAhbV9mbG9hdFZhbHVlIDog
IW1faW50VmFsdWU7CisgICAgfQorICAgIGJvb2wgaXNQb3NpdGl2ZSgpIGNvbnN0CisgICAgewor
ICAgICAgICByZXR1cm4gaXNDYWxjdWxhdGVkKCkgPyBjYWxjdWxhdGVkSXNQb3NpdGl2ZSgpIDog
Z2V0RmxvYXRWYWx1ZSgpID4gMDsKKyAgICB9CisgICAgYm9vbCBpc05lZ2F0aXZlKCkgY29uc3QK
KyAgICB7CisgICAgICAgIHJldHVybiBpc0NhbGN1bGF0ZWQoKSA/IGNhbGN1bGF0ZWRJc05lZ2F0
aXZlKCkgOiBnZXRGbG9hdFZhbHVlKCkgPCAwOwogICAgIH0KICAgICAKLSAgICBib29sIGlzUG9z
aXRpdmUoKSBjb25zdCB7IHJldHVybiBnZXRGbG9hdFZhbHVlKCkgPiAwOyB9Ci0gICAgYm9vbCBp
c05lZ2F0aXZlKCkgY29uc3QgeyByZXR1cm4gZ2V0RmxvYXRWYWx1ZSgpIDwgMDsgfQotCiAgICAg
Ym9vbCBpc0F1dG8oKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gQXV0bzsgfQogICAgIGJvb2wg
aXNSZWxhdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBSZWxhdGl2ZTsgfQotICAgIGJv
b2wgaXNQZXJjZW50KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFBlcmNlbnQ7IH0KKyAgICBi
b29sIGlzUGVyY2VudCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBQZXJjZW50IHx8IHR5cGUo
KSA9PSBDYWxjdWxhdGVkOyB9CiAgICAgYm9vbCBpc0ZpeGVkKCkgY29uc3QgeyByZXR1cm4gdHlw
ZSgpID09IEZpeGVkOyB9CiAgICAgYm9vbCBpc0ludHJpbnNpY09yQXV0bygpIGNvbnN0IHsgcmV0
dXJuIHR5cGUoKSA9PSBBdXRvIHx8IHR5cGUoKSA9PSBNaW5JbnRyaW5zaWMgfHwgdHlwZSgpID09
IEludHJpbnNpYzsgfQogICAgIGJvb2wgaXNTcGVjaWZpZWQoKSBjb25zdCB7IHJldHVybiB0eXBl
KCkgPT0gRml4ZWQgfHwgdHlwZSgpID09IFBlcmNlbnQ7IH0KKyAgICBib29sIGlzQ2FsY3VsYXRl
ZCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBDYWxjdWxhdGVkOyB9CiAKICAgICBMZW5ndGgg
YmxlbmQoY29uc3QgTGVuZ3RoJiBmcm9tLCBmbG9hdCBwcm9ncmVzcykgY29uc3QKICAgICB7CkBA
IC0yMTUsNiArMjU0LDM3IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBtX2lzRmxvYXQgPyBt
X2Zsb2F0VmFsdWUgOiBtX2ludFZhbHVlOwogICAgIH0KIAorICAgIHZvaWQgaW5pdEZyb21MZW5n
dGgoY29uc3QgTGVuZ3RoICZsZW5ndGgpIAorICAgIHsKKyAgICAgICAgbV9xdWlyayA9IGxlbmd0
aC5tX3F1aXJrOworICAgICAgICBtX3R5cGUgPSBsZW5ndGgubV90eXBlOworICAgICAgICBtX2lz
RmxvYXQgPSBsZW5ndGgubV9pc0Zsb2F0OworICAgICAgICAKKyAgICAgICAgaWYgKG1faXNGbG9h
dCkKKyAgICAgICAgICAgIG1fZmxvYXRWYWx1ZSA9IGxlbmd0aC5tX2Zsb2F0VmFsdWU7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIG1faW50VmFsdWUgPSBsZW5ndGgubV9pbnRWYWx1ZTsKKyAg
ICAgICAgCisgICAgICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAgIGluY3JlbWVu
dENhbGN1bGF0ZWRSZWYoKTsKKyAgICB9CisgICAgCisgICAgSGFuZGxlTWFwKiBjYWxjSGFuZGxl
cygpIGNvbnN0OworICAgIAorICAgIGJvb2wgY2FsY3VsYXRlZElzWmVybygpIGNvbnN0OworICAg
IGJvb2wgY2FsY3VsYXRlZElzUG9zaXRpdmUoKSBjb25zdDsKKyAgICBib29sIGNhbGN1bGF0ZWRJ
c05lZ2F0aXZlKCkgY29uc3Q7CisgICAgaW50IGNhbGN1bGF0ZWRDYWxjVmFsdWUoaW50IG1heFZh
bHVlLCBib29sIHJvdW5kUGVyY2VudGFnZXMpIGNvbnN0OworICAgIGludCBjYWxjdWxhdGVkQ2Fs
Y01pblZhbHVlKGludCBtYXhWYWx1ZSwgYm9vbCByb3VuZFBlcmNlbnRhZ2VzKSBjb25zdDsKKyAg
ICBmbG9hdCBjYWxjdWxhdGVkQ2FsY0Zsb2F0VmFsdWUoaW50IG1heFZhbHVlKSBjb25zdDsKKyAg
ICBpbnQgY2FsY3VsYXRlZExlbmd0aElkKCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVChp
c0NhbGN1bGF0ZWQoKSk7CisgICAgICAgIHJldHVybiBnZXRJbnRWYWx1ZSgpOworICAgIH0KKyAg
ICB2b2lkIGluY3JlbWVudENhbGN1bGF0ZWRSZWYoKSBjb25zdDsKKyAgICB2b2lkIGRlY3JlbWVu
dENhbGN1bGF0ZWRSZWYoKSBjb25zdDsgICAgCisgICAgCiAgICAgdW5pb24gewogICAgICAgICBp
bnQgbV9pbnRWYWx1ZTsKICAgICAgICAgZmxvYXQgbV9mbG9hdFZhbHVlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKaW5kZXggN2VjNTNjZmVlNDJmYzIxZmY1ZjEwNWQ4
ZGRjMDUxNDA1OTc4NDIwNi4uN2FmYTQ1ZDU1YTc4Mzg5MGU2YzhhMDE1MzFjNTBhMzRlYTYwNGY1
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCkBAIC00NjUsNiAr
NDY1LDcgQEAgYm9vbCBSZW5kZXJJbWFnZTo6aXNMb2dpY2FsV2lkdGhTcGVjaWZpZWQoKSBjb25z
dAogICAgIHN3aXRjaCAoc3R5bGUoKS0+bG9naWNhbFdpZHRoKCkudHlwZSgpKSB7CiAgICAgICAg
IGNhc2UgRml4ZWQ6CiAgICAgICAgIGNhc2UgUGVyY2VudDoKKyAgICAgICAgY2FzZSBDYWxjdWxh
dGVkOiAvLyBGSVhNRTogSXMgdGhpcyByaWdodD8KICAgICAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgICAgICBjYXNlIEF1dG86CiAgICAgICAgIGNhc2UgUmVsYXRpdmU6IC8vIEZJWE1FOiBTaG91
bGRuJ3QgdGhpcyBjYXNlIHJldHVybiB0cnVlPwpAQCAtNDgxLDYgKzQ4Miw3IEBAIGJvb2wgUmVu
ZGVySW1hZ2U6OmlzTG9naWNhbEhlaWdodFNwZWNpZmllZCgpIGNvbnN0CiAgICAgc3dpdGNoIChz
dHlsZSgpLT5sb2dpY2FsSGVpZ2h0KCkudHlwZSgpKSB7CiAgICAgICAgIGNhc2UgRml4ZWQ6CiAg
ICAgICAgIGNhc2UgUGVyY2VudDoKKyAgICAgICAgY2FzZSBDYWxjdWxhdGVkOiAvLyBGSVhNRTog
SXMgdGhpcyByaWdodD8KICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBjYXNlIEF1
dG86CiAgICAgICAgIGNhc2UgUmVsYXRpdmU6IC8vIEZJWE1FOiBTaG91bGRuJ3QgdGhpcyBjYXNl
IHJldHVybiB0cnVlPwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118038</attachid>
            <date>2011-12-06 06:25:35 -0800</date>
            <delta_ts>2011-12-06 07:43:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-16662-20111207012530.patch</filename>
            <type>text/plain</type>
            <size>462314</size>
            <attacher name="Mike Lawther">mikelawther</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwODI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmZmNTNiMjk5MzRmNTA5
ZmZkODdiMjM2MzJjOGY2M2ZiNjEwNTEwMC4uOTQxMjc2ODMzY2U0M2U4OTZkMDYxZThjYTQwNzZm
MmIwMmJhZTRjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0MSBAQAorMjAxMS0xMi0wNiAgTWlr
ZSBMYXd0aGVyICA8bWlrZWxhd3RoZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENTUzM6IElt
cGxlbWVudCBjYWxjKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2NjYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGVzdHM6IGNzczMvY2FsYy9iYWNrZ3JvdW5kLXBvc2l0aW9uLXBhcnNpbmctZXhwZWN0
ZWQuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9jYWxjL2JhY2tncm91bmQtcG9zaXRpb24tcGFy
c2luZy5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvYmxvY2stbWFzay1vdmVybGF5LWlt
YWdlLW91dHNldC1leHBlY3RlZC5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvYmxvY2st
bWFzay1vdmVybGF5LWltYWdlLW91dHNldC5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMv
Ym9yZGVyLXJhZGl1cy1leHBlY3RlZC5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvYm9y
ZGVyLXJhZGl1cy5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvYm9yZGVyLXNwYWNpbmcu
aHRtbAorICAgICAgICAgICAgICAgY3NzMy9jYWxjL2JvcmRlci5odG1sCisgICAgICAgICAgICAg
ICBjc3MzL2NhbGMvY29sb3ItaHNsLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9jb2xv
ci1yZ2IuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9jYWxjL2NzczMtcmFkaWFsLWdyYWRpZW50
cy1leHBlY3RlZC5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvY3NzMy1yYWRpYWwtZ3Jh
ZGllbnRzLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9mb250LW1vbm9zcGFjZS5odG1s
CisgICAgICAgICAgICAgICBjc3MzL2NhbGMvZm9udC1zaXplLWZyYWN0aW9uYWwuaHRtbAorICAg
ICAgICAgICAgICAgY3NzMy9jYWxjL2ZvbnQtc2l6ZS5odG1sCisgICAgICAgICAgICAgICBjc3Mz
L2NhbGMvZm9udC5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvZ2V0Q29tcHV0ZWRTdHls
ZS1tYXJnaW4tcGVyY2VudGFnZS5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvZ3JhZGll
bnQtY29sb3Itc3RvcHMtZXhwZWN0ZWQuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9jYWxjL2dy
YWRpZW50LWNvbG9yLXN0b3BzLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9pbWctc2l6
ZS1leHBlY3RlZC5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvaW1nLXNpemUuaHRtbAor
ICAgICAgICAgICAgICAgY3NzMy9jYWxjL2xpbmUtaGVpZ2h0Lmh0bWwKKyAgICAgICAgICAgICAg
IGNzczMvY2FsYy9tYXJnaW4uaHRtbAorICAgICAgICAgICAgICAgY3NzMy9jYWxjL211bHRpcGxl
LWJhY2tncm91bmQtc2l6ZS10cmFuc2l0aW9ucy5odG1sCisgICAgICAgICAgICAgICBjc3MzL2Nh
bGMvcGFkZGluZy5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvcmVmbGVjdGlvbi1jb21w
dXRlZC1zdHlsZS5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvc2ltcGxlLWNvbXBvc2l0
ZWQtbWFzay1leHBlY3RlZC5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvc2ltcGxlLWNv
bXBvc2l0ZWQtbWFzay5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvc3ZnLXRyYW5zaXRp
b25zLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy90YWJsZS1jYWxjcy5odG1sCisgICAg
ICAgICAgICAgICBjc3MzL2NhbGMvdGFibGUtZW1wdHktY2VsbHMtZXhwZWN0ZWQuaHRtbAorICAg
ICAgICAgICAgICAgY3NzMy9jYWxjL3RhYmxlLWVtcHR5LWNlbGxzLmh0bWwKKyAgICAgICAgICAg
ICAgIGNzczMvY2FsYy92YWx1ZS1saXN0LW91dC1vZi1ib3VuZHMtY3Jhc2guaHRtbAorICAgICAg
ICAgICAgICAgY3NzMy9jYWxjL3ZlcnRpY2FsLWFsaWduLWJhc2VsaW5lLXJlYWRqdXN0Lmh0bWwK
KyAgICAgICAgICAgICAgIGNzczMvY2FsYy92ZXJ0aWNhbC1hbGlnbi5odG1sCisKKyAgICAgICAg
KiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAg
ICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogV2Vi
Q29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjc3Mv
Q1NTQ2FsY1ZhbHVlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjp1bml0Q2F0ZWdvcnkp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjpjdXN0b21Dc3NUZXh0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZTo6Y2xhbXBUb1JhbmdlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0NhbGNWYWx1ZTo6ZG91YmxlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2Fs
Y1ZhbHVlOjpjb21wdXRlTGVuZ3RoUHgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVl
Ojpjb21wdXRlUGVyY2VudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5v
ZGU6On5DU1NDYWxjRXhwcmVzc2lvbk5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1By
aW1pdGl2ZVZhbHVlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2
ZVZhbHVlOjppc1plcm8pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVl
Ojpjc3NUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6dG9D
YWxjVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpmcm9t
Q2FsY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6ZG91
YmxlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpjb21w
dXRlTGVuZ3RoUHgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpj
b21wdXRlUGVyY2VudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjUHJpbWl0aXZlVmFsdWU6
OkNTU0NhbGNQcmltaXRpdmVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmluYXJ5
T3BlcmF0aW9uOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJh
dGlvbjo6aXNaZXJvKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVyYXRpb246
OmNzc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvbjo6dG9D
YWxjVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvbjo6ZnJv
bUNhbGNWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmluYXJ5T3BlcmF0aW9uOjpk
b3VibGVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmluYXJ5T3BlcmF0aW9uOjpj
b21wdXRlTGVuZ3RoUHgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlv
bjo6Y29tcHV0ZVBlcmNlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJh
dGlvbjo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxj
QmluYXJ5T3BlcmF0aW9uOjpldmFsdWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjTWlu
TWF4TGlzdDo6Q1NTQ2FsY01pbk1heExpc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY01p
bk1heExpc3Q6OmlzWmVybyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjTWluTWF4TGlzdDo6
Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjTWluTWF4TGlzdDo6YXBwZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNNaW5NYXhMaXN0Ojp0b0NhbGNWYWx1ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NDYWxjTWluTWF4TGlzdDo6ZnJvbUNhbGNWYWx1ZSk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NDYWxjTWluTWF4TGlzdDo6ZG91YmxlVmFsdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTQ2FsY01pbk1heExpc3Q6OmNvbXB1dGVMZW5ndGhQeCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NDYWxjTWluTWF4TGlzdDo6Y29tcHV0ZVBlcmNlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6Y2hlY2tEZXB0aEFuZEluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNz
aW9uTm9kZVBhcnNlcjo6cGFyc2VDYWxjKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHBy
ZXNzaW9uTm9kZVBhcnNlcjo6cGFyc2VNaW5NYXhMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlcjo6b3BlcmF0b3JWYWx1ZSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyOjpwYXJzZVZhbHVlVGVybSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6OnBhcnNlVmFsdWVN
dWx0aXBsaWNhdGl2ZUV4cHJlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJl
c3Npb25Ob2RlUGFyc2VyOjpwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlcjo6cGFyc2VWYWx1ZUxpc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyOjpwYXJzZVZhbHVl
RXhwcmVzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWU6OmNyZWF0ZSk6Cisg
ICAgICAgICogY3NzL0NTU0NhbGNWYWx1ZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNT
U0NhbGNFeHByZXNzaW9uTm9kZTo6Y2F0ZWdvcnkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2Fs
Y0V4cHJlc3Npb25Ob2RlOjppc0ludCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVz
c2lvbk5vZGU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1ND
YWxjVmFsdWU6OnRvQ2FsY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZTo6
Y2F0ZWdvcnkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjppc0ludCk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWU6OkNTU0NhbGNWYWx1ZSk6CisgICAgICAgICogY3Nz
L0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2YWx1
ZUZvck5pbmVQaWVjZUltYWdlU2xpY2UpOgorICAgICAgICAoV2ViQ29yZTo6dmFsdWVGb3JSZWZs
ZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OmxpbmVIZWlnaHRGcm9tU3R5bGUpOgorICAgICAg
ICAqIGNzcy9DU1NHcmFkaWVudFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0dyYWRp
ZW50VmFsdWU6OmFkZFN0b3BzKToKKyAgICAgICAgKFdlYkNvcmU6OnBvc2l0aW9uRnJvbVZhbHVl
KToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Bh
cnNlcjo6dmFsaWRVbml0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6Y3JlYXRlUHJp
bWl0aXZlTnVtZXJpY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VW
YWxpZFByaW1pdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUZpbGxQb3NpdGlvbkNvbXBvbmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlV3JhcFNoYXBlUmVjdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlV3JhcFNoYXBlRWxsaXBzZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlV3JhcFNoYXBlUG9seWdvbik6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlZERvdWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXI6OmlzQ2FsY01pbk1heCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmNv
bG9ySW50RnJvbVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VDb2xv
clBhcmFtZXRlcnMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUhTTFBhcmFt
ZXRlcnMpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93UGFyc2VDb250ZXh0OjpTaGFkb3dQYXJz
ZUNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93UGFyc2VDb250ZXh0Ojpjb21taXRM
ZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93UGFyc2VDb250ZXh0Ojpjb21taXRTdHls
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlU2hhZG93KToKKyAgICAgICAg
KFdlYkNvcmU6OkJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQ6OkJvcmRlckltYWdlU2xpY2VQ
YXJzZUNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6Qm9yZGVySW1hZ2VTbGljZVBhcnNlQ29u
dGV4dDo6Y29tbWl0TnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkJvcmRlckltYWdlU2xpY2VQ
YXJzZUNvbnRleHQ6OmNvbW1pdEJvcmRlckltYWdlU2xpY2UpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUGFyc2VyOjpwYXJzZUJvcmRlckltYWdlU2xpY2UpOgorICAgICAgICAoV2ViQ29yZTo6Qm9y
ZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0OjpCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQpOgor
ICAgICAgICAoV2ViQ29yZTo6Qm9yZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0Ojpjb21taXROdW1i
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Qm9yZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0Ojpjb21t
aXRCb3JkZXJJbWFnZVF1YWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUJv
cmRlckltYWdlUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlQ2FsYyk6
CisgICAgICAgICogY3NzL0NTU1BhcnNlci5oOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXJWYWx1
ZXMuaDoKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6aXNWYWxpZENTU1VuaXRUeXBlRm9yRG91YmxlQ29udmVyc2lvbik6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6cHJpbWl0aXZlVHlwZSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmluaXQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJp
bWl0aXZlVmFsdWU6OmNsZWFudXApOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFs
dWU6OmNvbXB1dGVMZW5ndGhEb3VibGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZl
VmFsdWU6OmdldERvdWJsZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZh
bHVlOjpnZXREb3VibGVWYWx1ZUludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1p
dGl2ZVZhbHVlOjpjdXN0b21Dc3NUZXh0KToKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFs
dWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjppc0NhbGN1bGF0ZWQp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmdldFZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjc3NDYWxjVmFsdWUpOgorICAgICAgICAq
IGNzcy9DU1NTdHlsZUFwcGx5UHJvcGVydHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQ
cm9wZXJ0eUxlbmd0aDo6YXBwbHlWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpBcHBseVByb3Bl
cnR5Qm9yZGVyUmFkaXVzOjphcHBseVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxl
Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0VG9MZW5ndGgpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6Y29udmVydFRvSW50TGVuZ3RoKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmNvbnZlcnRUb0Zsb2F0TGVuZ3RoKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6cGFnZVNpemVGcm9tTmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjptbUxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NTdHlsZVNlbGVjdG9yOjppbmNoTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxl
U2VsZWN0b3I6Om1hcEZpbGxTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0
b3I6Om1hcEZpbGxYUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rv
cjo6bWFwRmlsbFlQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9y
OjptYXBOaW5lUGllY2VJbWFnZVNsaWNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2Vs
ZWN0b3I6Om1hcE5pbmVQaWVjZUltYWdlUXVhZCk6CisgICAgICAgICogY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuaDoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTVmFsdWU6OmNzc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmRlc3Ryb3kp
OgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6
OmlzQ2FsY1ZhbHVlKToKKyAgICAgICAgKiBjc3MvU1ZHQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VTVkdWYWx1ZSk6CisgICAgICAgICogcGxhdGZvcm0v
Q2FsY1ZhbHVlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDYWxjRXhwcmVzc2lvbkJp
bmFyeU9wZXJhdGlvbjo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsY01pbk1heExp
c3Q6OkNhbGNNaW5NYXhMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhbGNNaW5NYXhMaXN0Ojph
cHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsY01pbk1heExpc3Q6OmV2YWx1YXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbGNWYWx1ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNh
bGNWYWx1ZTo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SGFuZGxlTWFwOjppbnNlcnQp
OgorICAgICAgICAoV2ViQ29yZTo6SGFuZGxlTWFwOjpyZW1vdmUpOgorICAgICAgICAoV2ViQ29y
ZTo6SGFuZGxlTWFwOjpnZXQpOgorICAgICAgICAqIHBsYXRmb3JtL0NhbGNWYWx1ZS5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkNhbGNFeHByZXNzaW9uTm9kZTo6fkNhbGNFeHByZXNzaW9u
Tm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWxjVmFsdWU6OkNhbGNWYWx1ZSk6CisgICAgICAg
IChXZWJDb3JlOjpDYWxjRXhwcmVzc2lvbk51bWJlcjo6Q2FsY0V4cHJlc3Npb25OdW1iZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FsY0V4cHJlc3Npb25OdW1iZXI6OmV2YWx1YXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhbGNFeHByZXNzaW9uTGVuZ3RoOjpDYWxjRXhwcmVzc2lvbkxlbmd0aCk6
CisgICAgICAgIChXZWJDb3JlOjpDYWxjRXhwcmVzc2lvbkxlbmd0aDo6ZXZhbHVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FsY0V4cHJlc3Npb25CaW5hcnlPcGVyYXRpb246OkNhbGNFeHByZXNz
aW9uQmluYXJ5T3BlcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhhbmRsZU1hcDo6SGFuZGxl
TWFwKToKKyAgICAgICAgKiBwbGF0Zm9ybS9MZW5ndGguY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGVuZ3RoOjp+TGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6Y2FsY0hhbmRsZXMp
OgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6
TGVuZ3RoOjpjYWxjVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjdWxhdGVk
SXNaZXJvKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6Y2FsY3VsYXRlZElzUG9zaXRpdmUp
OgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjdWxhdGVkSXNOZWdhdGl2ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGN1bGF0ZWRDYWxjVmFsdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6TGVuZ3RoOjpjYWxjdWxhdGVkQ2FsY01pblZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6
Okxlbmd0aDo6Y2FsY3VsYXRlZENhbGNGbG9hdFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Okxl
bmd0aDo6aW5jcmVtZW50Q2FsY3VsYXRlZFJlZik6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6
OmRlY3JlbWVudENhbGN1bGF0ZWRSZWYpOgorICAgICAgICAqIHBsYXRmb3JtL0xlbmd0aC5oOgor
ICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6TGVu
Z3RoOjpvcGVyYXRvcj0pOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpvcGVyYXRvcio9KToK
KyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6dmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVu
Z3RoOjpzZXRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGNWYWx1ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGNNaW5WYWx1ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpMZW5ndGg6OmNhbGNGbG9hdFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6aXNa
ZXJvKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6aXNQb3NpdGl2ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpMZW5ndGg6OmlzTmVnYXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpp
c1BlcmNlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjppc1NwZWNpZmllZCk6CisgICAg
ICAgIChXZWJDb3JlOjpMZW5ndGg6OmlzQ2FsY3VsYXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpM
ZW5ndGg6OmluaXRGcm9tTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6Y2FsY3Vs
YXRlZExlbmd0aElkKToKKyAgICAgICAgKiByZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkF1dG9UYWJsZUxheW91dDo6cmVjYWxjQ29sdW1uKToKKyAgICAg
ICAgKFdlYkNvcmU6OkF1dG9UYWJsZUxheW91dDo6Y2FsY0VmZmVjdGl2ZUxvZ2ljYWxXaWR0aCk6
CisgICAgICAgIChXZWJDb3JlOjpBdXRvVGFibGVMYXlvdXQ6OmxheW91dCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNv
bXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFVzaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodFVzaW5nKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRh
YmxlU2VjdGlvbjo6YWRkQ2VsbCk6CisKIDIwMTEtMTEtMTggIEtlbGx5IE5vcnRvbiAgPGtub3J0
b25AZ29vZ2xlLmNvbT4KIAogICAgICAgICBGaXhlcyBzZXZlcmFsIG1vcmUgdm9pZCBmdW5jdGlv
bnMgaW4gUmVuZGVyT2JqZWN0IHRoYXQgcmV0dXJuIHZhbHVlcy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
aW5kZXggZTg2MTYyYjAxOTFhYzM0MDlhZDJiYTQyODJlMjY0YjQ2NmUyMGM0MC4uMjA4ODhkNzVl
ZDFjNTBlMDQ5MWE0MGEzNTEwNDhlYjRjYWU1MzU1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAg
LTQyMSw2ICs0MjEsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgY3NzL0NTU0FzcGVjdFJh
dGlvVmFsdWUuY3BwCiAgICAgY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuY3BwCiAgICAgY3NzL0NT
U0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAKKyAgICBjc3MvQ1NTQ2FsY1ZhbHVlLmNwcAogICAg
IGNzcy9DU1NDYW52YXNWYWx1ZS5jcHAKICAgICBjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwCiAgICAg
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTEwMjUsNiArMTAyNiw3IEBA
IFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBwYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlv
bi5jcHAKIAogICAgIHBsYXRmb3JtL0FyZW5hLmNwcAorICAgIHBsYXRmb3JtL0NhbGNWYWx1ZS5j
cHAKICAgICBwbGF0Zm9ybS9DbG9jay5jcHAKICAgICBwbGF0Zm9ybS9Db250ZXh0TWVudS5jcHAK
ICAgICBwbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbQppbmRleCBkMTg5ODU3ZjRiYmEyZTUwODhlYjQ3ZDY1ZWQwZDI4NmMxNjQ2NWI4Li5kYzBj
YWE5YzAyYzljMzE3ODg2ZjViY2RkNWY1ODc0YmM4MjBkNzJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KQEAgLTk3Niw2ICs5NzYsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDYW52YXNWYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ2hhcnNldFJ1bGUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2hhcnNldFJ1bGUu
aCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5jcHAgXAorCVNvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NDYWxjVmFsdWUuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVk
U3R5bGVEZWNsYXJhdGlvbi5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0Nyb3NzZmFkZVZhbHVl
LmNwcCBcCkBAIC0yNDU5LDYgKzI0NjEsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9B
dXRvZHJhaW5lZFBvb2wuaCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmNw
cCBcCisJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmggXAogCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0Nsb2NrLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2xvY2su
aCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2xvY2tHZW5lcmljLmNwcCBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnBy
aQppbmRleCA0MDcxNjFiZjkwZTJkMmYyNmI2OWE5OTNlYzk1YjllYzc1MTc4NTkzLi44NjJhOTEz
YjgzMGIxOTY5YzMzZjc4YjExZDY0NzFmNTNmMzcxZGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTM5MCw2
ICszOTAsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBjc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAg
XAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTQm9y
ZGVySW1hZ2VWYWx1ZS5jcHAgXAorICAgIGNzcy9DU1NDYWxjVmFsdWUuY3BwIFwKICAgICBjc3Mv
Q1NTQ2FudmFzVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwIFwKICAgICBj
c3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBcCkBAIC0xMDE0LDYgKzEwMTUsNyBA
QCBTT1VSQ0VTICs9IFwKICAgICBwbGF0Zm9ybS90ZXh0L0xvY2FsaXplZERhdGVOb25lLmNwcCBc
CiAgICAgcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZWROdW1iZXJOb25lLmNwcCBcCiAgICAgcGxhdGZv
cm0vdGV4dC9RdW90ZWRQcmludGFibGUuY3BwIFwKKyAgICBwbGF0Zm9ybS9DYWxjVmFsdWUuY3Bw
IFwKICAgICBwbGF0Zm9ybS9DbG9jay5jcHAgXAogICAgIHBsYXRmb3JtL0Nsb2NrR2VuZXJpYy5j
cHAgXAogICAgIHBsYXRmb3JtL0NvbnRlbnRUeXBlLmNwcCBcCkBAIC0xNDg3LDYgKzE0ODksNyBA
QCBIRUFERVJTICs9IFwKICAgICBjc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oIFwKICAgICBjc3Mv
Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmggXAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVZhbHVl
LmggXAorICAgIGNzcy9DU1NDYWxjVmFsdWUuaCBcCiAgICAgY3NzL0NTU0NhbnZhc1ZhbHVlLmgg
XAogICAgIGNzcy9DU1NDaGFyc2V0UnVsZS5oIFwKICAgICBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmggXApAQCAtMjA0OCw2ICsyMDUxLDcgQEAgSEVBREVSUyArPSBcCiAgICAgcGxh
dGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaCBcCiAgICAgcGxhdGZvcm0vQXJlbmEuaCBc
CiAgICAgcGxhdGZvcm0vQXN5bmNGaWxlU3RyZWFtLmggXAorICAgIHBsYXRmb3JtL0NhbGNWYWx1
ZS5oIFwKICAgICBwbGF0Zm9ybS9DbG9jay5oIFwKICAgICBwbGF0Zm9ybS9DbG9ja0dlbmVyaWMu
aCBcCiAgICAgcGxhdGZvcm0vQ29udGVudFR5cGUuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4
IDhlMDQ2YjhmYTkzOTY5Zjk1ZTAyMWVjMWFmMWVmNDkzMDA3ZDgyY2MuLmI3YmExOGFmMjg4MTVh
MjMyOGExMzFjYzc0MmJmNjlmZjhjYTlkYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC04NjYs
NiArODY2LDcgQEAgX19aTjdXZWJDb3JlNkVkaXRvcjdDb21tYW5kQzFFdgogX19aTjdXZWJDb3Jl
NkVkaXRvcjdjb21tYW5kRVJLTjNXVEY2U3RyaW5nRQogX19aTjdXZWJDb3JlNkVkaXRvcjdvdXRk
ZW50RXYKIF9fWk43V2ViQ29yZTZKU05vZGU2c19pbmZvRQorX19aTjdXZWJDb3JlNkxlbmd0aEQx
RXYKIF9fWk43V2ViQ29yZTZSZWdpb241dW5pdGVFUktTMF8KIF9fWk43V2ViQ29yZTZSZWdpb244
c3VidHJhY3RFUktTMF8KIF9fWk43V2ViQ29yZTZSZWdpb245aW50ZXJzZWN0RVJLUzBfCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKaW5kZXggODhkNDU2YzQzMzA2ZjVlYWQxOTIwMDMwZDE0MDM3ZDU3YjE4ODgzMi4u
ODI1ZjhmNTJlZTE5YWZjMjM3MjU2MmRkNGMyMWI4YWY4NWU0YWMxYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQpAQCAtMjM0Myw2ICsyMzQzLDggQEAKICAgICAgICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VT
bGljZVZhbHVlLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NDYW52YXNWYWx1ZS5jcHAnLAogICAg
ICAgICAgICAgJ2Nzcy9DU1NDYW52YXNWYWx1ZS5oJywKKyAgICAgICAgICAgICdjc3MvQ1NTQ2Fs
Y1ZhbHVlLmNwcCcsCisgICAgICAgICAgICAnY3NzL0NTU0NhbGNWYWx1ZS5oJywKICAgICAgICAg
ICAgICdjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTQ2hhcnNl
dFJ1bGUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5j
cHAnLApAQCAtMzA0Niw2ICszMDQ4LDggQEAKICAgICAgICAgICAgICdwbGF0Zm9ybS9Bc3luY0Zp
bGVTeXN0ZW0uaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtQ2FsbGJh
Y2tzLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL0F1dG9kcmFpbmVkUG9vbC5oJywKKyAgICAg
ICAgICAgICdwbGF0Zm9ybS9DYWxjVmFsdWUuY3BwJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9D
YWxjVmFsdWUuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vQ2xvY2suY3BwJywKICAgICAgICAg
ICAgICdwbGF0Zm9ybS9DbG9jay5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9Db250ZW50VHlw
ZS5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpp
bmRleCBjNGM4MThlYjJiMzMwMTA5MWExMWU2ODgwNTgyZGVjNzIyMDc0YjU1Li4yNzY3M2JjMjk1
ODkyN2I5YjJmMDNmOWZkOWFkYzQxMzNmNTNhYzQ0IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMjYyNTgsNiArMjYyNTgsMTQgQEAKIAkJCQk+
CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cQ2Fs
Y1ZhbHVlLmNwcCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5ccGxhdGZvcm1cQ2FsY1ZhbHVlLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUK
IAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXENsb2NrLmNwcCIKIAkJCQk+CiAJCQk8L0Zp
bGU+CkBAIC0zMjM2Miw2ICszMjM3MCwxNCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxl
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTQ2FsY1ZhbHVlLmNwcCIKKwkJCQk+CisJCQk8
L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0NhbGNWYWx1ZS5o
IgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3Nc
Q1NTQ2FudmFzVmFsdWUuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlZGFkNTFmYjU1MTZj
NjBiMDA2YzRmOTEzNTUxNDcyMWViOGI5MjZjLi4yOTNkNDI5ZTM3YjZlOGRhYWVhNmM1YWYxMjhk
N2U4NGJkZWFkOWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC0xMTk1LDYgKzExOTUsMTAgQEAKIAkJNDk5QjNFRDYxMjhDRDMx
NDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTlCM0VENDEyOENEMzE0MDBFNzI2QzIgLyogR3JhcGhp
Y3NMYXllckNBLmNwcCAqLzsgfTsKIAkJNDk5QjNFRDcxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBo
aWNzTGF5ZXJDQS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDk5QjNFRDUxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ5OUIzRUREMTI4REI1
MDIwMEU3MjZDMiAvKiBQbGF0Zm9ybUNBQW5pbWF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OTlCM0VEQzEyOERCNTAxMDBFNzI2QzIgLyogUGxh
dGZvcm1DQUFuaW1hdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTQ5QUUyRDhFMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjVmFsdWUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlBRTJEOEMx
MzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5jcHAgKi87IH07CisJCTQ5QUUyRDhGMTM0
RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDhEMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxj
VmFsdWUuaCAqLzsgfTsKKwkJNDlBRTJEOTYxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGNWYWx1ZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUFFMkQ5
NDEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmNwcCAqLzsgfTsKKwkJNDlBRTJEOTcxMzRF
RTVGOTAwNzI5MjBBIC8qIENhbGNWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDlBRTJEOTUxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGNWYWx1ZS5o
ICovOyB9OwogCQk0OUFGMkQ2OTE0NDM1RDA1MDAxNkE3ODQgLyogRGlzcGxheVJlZnJlc2hNb25p
dG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUFG
MkQ2ODE0NDM1RDA1MDAxNkE3ODQgLyogRGlzcGxheVJlZnJlc2hNb25pdG9yLmggKi87IH07CiAJ
CTQ5QUYyRDZDMTQ0MzVEMjEwMDE2QTc4NCAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlBRjJENkIx
NDQzNUQyMTAwMTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5jcHAgKi87IH07CiAJ
CTQ5QzdCOTkzMTA0MkQyRDMwMDA5RDQ0NyAvKiBKU1dlYkdMQnVmZmVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QzdCOTgwMTA0MkQyRDMwMDA5
RDQ0NyAvKiBKU1dlYkdMQnVmZmVyLmNwcCAqLzsgfTsKQEAgLTgzNzQsNiArODM3OCwxMCBAQAog
CQk0OTlCM0VENDEyOENEMzE0MDBFNzI2QzIgLyogR3JhcGhpY3NMYXllckNBLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IEdyYXBoaWNzTGF5ZXJDQS5jcHA7IHBhdGgg
PSBjYS9HcmFwaGljc0xheWVyQ0EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
OTlCM0VENTEyOENEMzE0MDBFNzI2QzIgLyogR3JhcGhpY3NMYXllckNBLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEdyYXBoaWNzTGF5ZXJDQS5oOyBwYXRoID0gY2EvR3JhcGhp
Y3NMYXllckNBLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5OUIzRURDMTI4REI1
MDEwMEU3MjZDMiAvKiBQbGF0Zm9ybUNBQW5pbWF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IFBsYXRmb3JtQ0FBbmltYXRpb24uaDsgcGF0aCA9IGNhL1BsYXRmb3JtQ0FB
bmltYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDlBRTJEOEMxMzRFRTUw
QzAwNzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBDU1NDYWxjVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0OUFFMkQ4RDEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0NhbGNWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0OUFFMkQ5NDEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhbGNWYWx1ZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ5QUUyRDk1MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFs
dWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FsY1ZhbHVlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5QUYyRDY4MTQ0MzVEMDUwMDE2QTc4NCAvKiBEaXNw
bGF5UmVmcmVzaE1vbml0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlz
cGxheVJlZnJlc2hNb25pdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5QUYy
RDZCMTQ0MzVEMjEwMDE2QTc4NCAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGlzcGxheVJlZnJlc2hNb25pdG9yTWFj
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDlDN0I5ODAxMDQyRDJEMzAwMDlE
NDQ3IC8qIEpTV2ViR0xCdWZmZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNXZWJHTEJ1ZmZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0y
MDA2Miw2ICsyMDA3MCw4IEBACiAJCQkJODlEMDhEOUQxMjIyODQ1MTAwMTI0MURGIC8qIEFzeW5j
RmlsZVN5c3RlbS5oICovLAogCQkJCTg5RDA4RDlFMTIyMjg0NTEwMDEyNDFERiAvKiBBc3luY0Zp
bGVTeXN0ZW1DYWxsYmFja3MuaCAqLywKIAkJCQk1MUUxRUNCMTBDOTFDNTU2MDBEQzI1NUIgLyog
QXV0b2RyYWluZWRQb29sLmggKi8sCisJCQkJNDlBRTJEOTQxMzRFRTVGOTAwNzI5MjBBIC8qIENh
bGNWYWx1ZS5jcHAgKi8sCisJCQkJNDlBRTJEOTUxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGNWYWx1
ZS5oICovLAogCQkJCUMzMzBBMjIwMTNFQzE5NkIwMDAwQjQ1QiAvKiBDb2xvckNob29zZXIuY3Bw
ICovLAogCQkJCUMzMzBBMjIxMTNFQzE5NkIwMDAwQjQ1QiAvKiBDb2xvckNob29zZXIuaCAqLywK
IAkJCQlCQ0M4Q0ZDQTA5ODZDRDI0MDAxNDBCRjIgLyogQ29sb3JEYXRhLmdwZXJmICovLApAQCAt
MjA2MDYsNiArMjA2MTYsOCBAQAogCQkJCUE4MEU2Q0REMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NC
b3JkZXJJbWFnZVZhbHVlLmggKi8sCiAJCQkJQkMyNzRCMzAxNDBFQkVEODAwRUFERkE2IC8qIENT
U0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAgKi8sCiAJCQkJQkMyNzRCMkUxNDBFQkVCMjAwRUFE
RkE2IC8qIENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oICovLAorCQkJCTQ5QUUyRDhDMTM0RUU1
MEMwMDcyOTIwQSAvKiBDU1NDYWxjVmFsdWUuY3BwICovLAorCQkJCTQ5QUUyRDhEMTM0RUU1MEMw
MDcyOTIwQSAvKiBDU1NDYWxjVmFsdWUuaCAqLywKIAkJCQlCQzYwNEE0MjBEQjU2MzRFMDAyMDQ3
MzkgLyogQ1NTQ2FudmFzVmFsdWUuY3BwICovLAogCQkJCUJDNjA0OUNCMERCNTYwQzIwMDIwNDcz
OSAvKiBDU1NDYW52YXNWYWx1ZS5oICovLAogCQkJCUUxRUJCQkQzMEFBQzlCODcwMDFGRThFMiAv
KiBDU1NDaGFyc2V0UnVsZS5jcHAgKi8sCkBAIC0yMTgzOCw2ICsyMTg1MCw3IEBACiAJCQkJRDBC
QzU0NDkxNDQzQUM0QTAwRTEwNURBIC8qIENhY2hlZFN0eWxlU2hlZXRDbGllbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDQjE2QzI4MDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRYU0xTdHlsZVNo
ZWV0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOTk1MDA4MjQ1RTU5MDAxRTlBQkMgLyogQ2Fj
aGVQb2xpY3kuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ5QUUyRDk3MTM0RUU1RjkwMDcyOTIwQSAv
KiBDYWxjVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUIxRDVFQ0I1MTM0QjU4REEwMDg3Qzc4
RiAvKiBDYWxsYmFja0Z1bmN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk2RTRFOTFBRDEwRjdG
QjMxMDBBMjc3OUMgLyogQ2FudmFzQ29udGV4dEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTQ5NDg0RkMyMTAyQ0YyM0MwMDE4N0REMyAvKiBDYW52YXNHcmFkaWVudC5oIGluIEhlYWRl
cnMgKi8sCkBAIC0yMTkyMCw2ICsyMTkzMyw3IEBACiAJCQkJRTE2OTgwM0QxMTMzNTQyRDAwODk0
MTE1IC8qIENSdW50aW1lT2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzVDQTI4QjEzMDM2
NUY4MDBFOTlBRDkgLyogQ3J5cHRvLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODBFNkQwNzBBMTk4
OUNBMDA3RkI4QzUgLyogQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NDlBRTJEOEYxMzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkM2MDQ5Q0MwREI1NjBDMjAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBODBFNkNGOTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTQ2hhcnNldFJ1bGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDRUE0NzkwMDk3Q0FBQzgwMDk0QzlFNCAvKiBDU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24uaCBpbiBIZWFkZXJzICovLApAQCAtMjUxOTQsNiArMjUyMDgs
NyBAQAogCQkJCUJDQjE2QzI5MDk3OUMzQkQwMDQ2Nzc0MSAvKiBDYWNoZWRSZXNvdXJjZUxvYWRl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0IxNkMyMzA5NzlDM0JEMDA0Njc3NDEgLyogQ2Fj
aGVkU2NyaXB0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQjE2QzI3MDk3OUMzQkQwMDQ2Nzc0
MSAvKiBDYWNoZWRYU0xTdHlsZVNoZWV0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQ5QUUyRDk2
MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjE4
Mjc0OTMxMzRDQTRDMTAwQjk4QzJEIC8qIENhbGxiYWNrRnVuY3Rpb24uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNkU0RTkxQUMxMEY3RkIzMTAwQTI3NzlDIC8qIENhbnZhc0NvbnRleHRBdHRyaWJ1
dGVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5NDg0RkMxMTAyQ0YyM0MwMDE4N0REMyAvKiBD
YW52YXNHcmFkaWVudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI1MjYzLDYgKzI1Mjc4LDcgQEAK
IAkJCQlFMTY5ODA0OTExMzM2NDQ3MDA4OTQxMTUgLyogQ1J1bnRpbWVPYmplY3QuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJOTc1Q0EyOEExMzAzNjVGODAwRTk5QUQ5IC8qIENyeXB0by5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBODBFNkNFNTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTQm9yZGVySW1h
Z2VWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0OUFFMkQ4RTEzNEVFNTBDMDA3MjkyMEEg
LyogQ1NTQ2FsY1ZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNjA0QTQzMERCNTYzNEUw
MDIwNDczOSAvKiBDU1NDYW52YXNWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUVCQkJE
NDBBQUM5Qjg3MDAxRkU4RTIgLyogQ1NTQ2hhcnNldFJ1bGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQkNFQTQ3OEYwOTdDQUFDODAwOTRDOUU0IC8qIENTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
YWxjVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNWYWx1ZS5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODgyNTBlYzZjODA2MzFhNzNlODFmMWU5YjQ4MDhiYjIyZDdiNWM3YwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjVmFsdWUuY3BwCkBAIC0wLDAgKzEs
NjY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNTU0NhbGNWYWx1ZS5oIgorCisj
aW5jbHVkZSAiQ1NTU3R5bGVTZWxlY3Rvci5oIgorI2luY2x1ZGUgIkNTU1ZhbHVlTGlzdC5oIgor
I2luY2x1ZGUgIkxlbmd0aC5oIgorCisjaW5jbHVkZSA8d3RmL093blB0ci5oPgorI2luY2x1ZGUg
PHd0Zi9QYXNzT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgor
CitzdGF0aWMgY29uc3QgaW50IG1heEV4cHJlc3Npb25EZXB0aCA9IDEwMDsKKworZW51bSBQYXJz
ZVN0YXRlIHsKKyAgICBPSywKKyAgICBUb29EZWVwLAorICAgIE5vTW9yZVRva2VucworfTsKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgQ2FsY0NhdGVnb3J5IHVuaXRDYXRlZ29yeShD
U1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzIHR5cGUpCit7CisgICAgc3dpdGNoICh0eXBlKSB7
CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUjoKKyAgICBjYXNlIENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NfUEFSU0VSX0lOVEVHRVI6CisgICAgICAgIHJldHVybiBDYWxjTnVt
YmVyOworICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFOgorICAgICAg
ICByZXR1cm4gQ2FsY1BlcmNlbnQ7CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0VN
UzoKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfRVhTOgorICAgIGNhc2UgQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19QWDoKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfQ006
CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX01NOgorICAgIGNhc2UgQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU19JTjoKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUFQ6Cisg
ICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BDOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19SRU1TOgorICAgICAgICByZXR1cm4gQ2FsY0xlbmd0aDsKKyAgICBkZWZhdWx0
OgorICAgICAgICByZXR1cm4gQ2FsY090aGVyOworICAgIH0KK30KKyAgICAKK1N0cmluZyBDU1ND
YWxjVmFsdWU6OmN1c3RvbUNzc1RleHQoKSBjb25zdAoreworICAgIHJldHVybiAiIjsKK30KKyAg
ICAKK2RvdWJsZSBDU1NDYWxjVmFsdWU6OmNsYW1wVG9SYW5nZShkb3VibGUgdmFsdWUpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fbm9uTmVnYXRpdmUgJiYgdmFsdWUgPCAwID8gMCA6IHZhbHVlOwor
fSAgICAKKyAgICAKK2RvdWJsZSBDU1NDYWxjVmFsdWU6OmRvdWJsZVZhbHVlKCkgY29uc3QgCit7
IAorICAgIHJldHVybiBjbGFtcFRvUmFuZ2UobV9leHByZXNzaW9uLT5kb3VibGVWYWx1ZSgpKTsK
K30KKyAgICAKK2RvdWJsZSBDU1NDYWxjVmFsdWU6OmNvbXB1dGVMZW5ndGhQeChSZW5kZXJTdHls
ZSogY3VyclN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciwg
Ym9vbCBjb21wdXRpbmdGb250U2l6ZSkgY29uc3QKK3sKKyAgICByZXR1cm4gY2xhbXBUb1Jhbmdl
KG1fZXhwcmVzc2lvbi0+Y29tcHV0ZUxlbmd0aFB4KGN1cnJTdHlsZSwgcm9vdFN0eWxlLCBtdWx0
aXBsaWVyLCBjb21wdXRpbmdGb250U2l6ZSkpOworfQorICAgIAorZG91YmxlIENTU0NhbGNWYWx1
ZTo6Y29tcHV0ZVBlcmNlbnQoZG91YmxlIG9uZUh1bmRyZWRQZXJjZW50VmFsdWUpIGNvbnN0Cit7
CisgICAgcmV0dXJuIGNsYW1wVG9SYW5nZShtX2V4cHJlc3Npb24tPmNvbXB1dGVQZXJjZW50KG9u
ZUh1bmRyZWRQZXJjZW50VmFsdWUpKTsgICAgCit9ICAgIAorICAgIAorQ1NTQ2FsY0V4cHJlc3Np
b25Ob2RlOjp+Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlKCkgCit7Cit9CisgICAgCitjbGFzcyBDU1ND
YWxjUHJpbWl0aXZlVmFsdWUgOiBwdWJsaWMgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlIHsKK3B1Ymxp
YzoKKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0NhbGNQcmltaXRpdmVWYWx1ZT4gY3JlYXRl
KENTU1ByaW1pdGl2ZVZhbHVlKiB2YWx1ZSwgYm9vbCBpc0ludCkKKyAgICB7CisgICAgICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlKHZhbHVlLCBpc0ludCkpOwor
ICAgIH0KKyAgICAKKyAgICB2aXJ0dWFsIGJvb2wgaXNaZXJvKCkgY29uc3QKKyAgICB7CisgICAg
ICAgIHJldHVybiAhbV92YWx1ZS0+Z2V0RG91YmxlVmFsdWUoKTsKKyAgICB9CisKKyAgICB2aXJ0
dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX3ZhbHVl
LT5jc3NUZXh0KCk7CisgICAgfQorCisgICAgdmlydHVhbCBQYXNzT3duUHRyPENhbGNFeHByZXNz
aW9uTm9kZT4gdG9DYWxjVmFsdWUoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9v
dFN0eWxlLCBkb3VibGUgem9vbSkgY29uc3QKKyAgICB7CisgICAgICAgIHN3aXRjaCAobV9jYXRl
Z29yeSkgeworICAgICAgICBjYXNlIENhbGNOdW1iZXI6CisgICAgICAgICAgICByZXR1cm4gYWRv
cHRQdHIobmV3IENhbGNFeHByZXNzaW9uTnVtYmVyKG1fdmFsdWUtPmdldEZsb2F0VmFsdWUoKSkp
OworICAgICAgICBjYXNlIENhbGNMZW5ndGg6CisgICAgICAgICAgICByZXR1cm4gYWRvcHRQdHIo
bmV3IENhbGNFeHByZXNzaW9uTnVtYmVyKG1fdmFsdWUtPmNvbXB1dGVMZW5ndGg8ZmxvYXQ+KHN0
eWxlLCByb290U3R5bGUsIHpvb20pKSk7CisgICAgICAgIGNhc2UgQ2FsY1BlcmNlbnQ6CisgICAg
ICAgIGNhc2UgQ2FsY1BlcmNlbnRMZW5ndGg6CisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgYm9vbCBvayA9IHRydWU7CisgICAgICAgICAgICAgICAgTGVuZ3RoIGxlbmd0aCA9IENTU1N0
eWxlU2VsZWN0b3I6OmNvbnZlcnRUb0Zsb2F0TGVuZ3RoKG1fdmFsdWUuZ2V0KCksIHN0eWxlLCBy
b290U3R5bGUsIHpvb20sICZvayk7CisgICAgICAgICAgICAgICAgaWYgKCFvaykKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgICAgICAgICAgcmV0dXJuIGFkb3B0
UHRyKG5ldyBDYWxjRXhwcmVzc2lvbkxlbmd0aChsZW5ndGgpKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgY2FzZSBDYWxjUGVyY2VudE51bWJlcjoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgICAgICBjYXNlIENhbGNPdGhlcjoKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICB9CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKworICAgIHZpcnR1YWwgUGFz
c093blB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IGZyb21DYWxjVmFsdWUoQ2FsY0V4cHJlc3Np
b25Ob2RlKikgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyAvLyBG
SVhNRSBjYWxjCisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgQ1NTQ2FsY1ByaW1pdGl2ZVZh
bHVlKDAsIDApKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGRvdWJsZSBkb3VibGVWYWx1ZSgpIGNv
bnN0CisgICAgeworICAgICAgICBzd2l0Y2ggKG1fY2F0ZWdvcnkpIHsKKyAgICAgICAgY2FzZSBD
YWxjTnVtYmVyOgorICAgICAgICBjYXNlIENhbGNQZXJjZW50OiAgICAgICAgICAgICAgICAKKyAg
ICAgICAgICAgIHJldHVybiBtX3ZhbHVlLT5nZXREb3VibGVWYWx1ZSgpOworICAgICAgICBjYXNl
IENhbGNMZW5ndGg6CisgICAgICAgIGNhc2UgQ2FsY1BlcmNlbnRMZW5ndGg6CisgICAgICAgIGNh
c2UgQ2FsY1BlcmNlbnROdW1iZXI6CisgICAgICAgIGNhc2UgQ2FsY090aGVyOgorICAgICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQor
CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9
CisgICAgCisgICAgdmlydHVhbCBkb3VibGUgY29tcHV0ZUxlbmd0aFB4KFJlbmRlclN0eWxlKiBj
dXJyU3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSBtdWx0aXBsaWVyLCBib29s
IGNvbXB1dGluZ0ZvbnRTaXplKSBjb25zdAorICAgIHsKKyAgICAgICAgc3dpdGNoIChtX2NhdGVn
b3J5KSB7CisgICAgICAgIGNhc2UgQ2FsY0xlbmd0aDoKKyAgICAgICAgICAgIHJldHVybiBtX3Zh
bHVlLT5jb21wdXRlTGVuZ3RoPGRvdWJsZT4oY3VyclN0eWxlLCByb290U3R5bGUsIG11bHRpcGxp
ZXIsIGNvbXB1dGluZ0ZvbnRTaXplKTsKKyAgICAgICAgY2FzZSBDYWxjUGVyY2VudDoKKyAgICAg
ICAgY2FzZSBDYWxjTnVtYmVyOgorICAgICAgICAgICAgcmV0dXJuIG1fdmFsdWUtPmdldERvdWJs
ZVZhbHVlKCk7CisgICAgICAgIGNhc2UgQ2FsY1BlcmNlbnRMZW5ndGg6CisgICAgICAgIGNhc2Ug
Q2FsY1BlcmNlbnROdW1iZXI6CisgICAgICAgIGNhc2UgQ2FsY090aGVyOgorICAgICAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAg
ICAgICAKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiAwOyAg
ICAgICAgCisgICAgfQorICAgIAorICAgIHZpcnR1YWwgZG91YmxlIGNvbXB1dGVQZXJjZW50KGRv
dWJsZSBvbmVIdW5kcmVkUGVyY2VudFZhbHVlKSBjb25zdAorICAgIHsKKyAgICAgICAgc3dpdGNo
IChtX2NhdGVnb3J5KSB7CisgICAgICAgIGNhc2UgQ2FsY051bWJlcjoKKyAgICAgICAgICAgIHJl
dHVybiBtX3ZhbHVlLT5nZXREb3VibGVWYWx1ZSgpOworICAgICAgICBjYXNlIENhbGNQZXJjZW50
OiAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIHJldHVybiAobV92YWx1ZS0+Z2V0RG91Ymxl
VmFsdWUoKSAqIG9uZUh1bmRyZWRQZXJjZW50VmFsdWUpIC8gMTAwLjBmOworICAgICAgICBjYXNl
IENhbGNMZW5ndGg6CisgICAgICAgIGNhc2UgQ2FsY1BlcmNlbnRMZW5ndGg6CisgICAgICAgIGNh
c2UgQ2FsY1BlcmNlbnROdW1iZXI6CisgICAgICAgIGNhc2UgQ2FsY090aGVyOgorICAgICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQor
ICAgICAgICAKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiAw
OworICAgIH0KKyAgICAKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgQ1NTQ2FsY1ByaW1pdGl2ZVZh
bHVlKENTU1ByaW1pdGl2ZVZhbHVlKiB2YWx1ZSwgYm9vbCBpc0ludCkKKyAgICAgICAgOiBDU1ND
YWxjRXhwcmVzc2lvbk5vZGUodW5pdENhdGVnb3J5KChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5
cGVzKXZhbHVlLT5wcmltaXRpdmVUeXBlKCkpLCBpc0ludCkKKyAgICAgICAgLCBtX3ZhbHVlKHZh
bHVlKSAgICAgICAgICAgICAgICAgCisgICAgeworICAgIH0KKworICAgIFJlZlB0cjxDU1NQcmlt
aXRpdmVWYWx1ZT4gbV92YWx1ZTsKK307CisKK3N0YXRpYyBjb25zdCBDYWxjQ2F0ZWdvcnkgYWRk
U3VidHJhY3RSZXN1bHRbQ2FsY090aGVyXVtDYWxjT3RoZXJdID0geworICAgIHtDYWxjTnVtYmVy
LCAgICAgICAgQ2FsY090aGVyLCAgICAgICAgIENhbGNQZXJjZW50TnVtYmVyLCBDYWxjUGVyY2Vu
dE51bWJlciwgQ2FsY090aGVyfSwKKyAgICB7Q2FsY090aGVyLCAgICAgICAgIENhbGNMZW5ndGgs
ICAgICAgICBDYWxjUGVyY2VudExlbmd0aCwgQ2FsY090aGVyLCAgICAgICAgIENhbGNQZXJjZW50
TGVuZ3RofSwKKyAgICB7Q2FsY1BlcmNlbnROdW1iZXIsIENhbGNQZXJjZW50TGVuZ3RoLCBDYWxj
UGVyY2VudCwgICAgICAgQ2FsY1BlcmNlbnROdW1iZXIsIENhbGNQZXJjZW50TGVuZ3RofSwKKyAg
ICB7Q2FsY1BlcmNlbnROdW1iZXIsIENhbGNPdGhlciwgICAgICAgICBDYWxjUGVyY2VudE51bWJl
ciwgQ2FsY1BlcmNlbnROdW1iZXIsIENhbGNPdGhlcn0sCisgICAge0NhbGNPdGhlciwgICAgICAg
ICBDYWxjUGVyY2VudExlbmd0aCwgQ2FsY1BlcmNlbnRMZW5ndGgsIENhbGNPdGhlciwgICAgICAg
ICBDYWxjUGVyY2VudExlbmd0aH0sCit9OyAgICAKKyAgICAKK2NsYXNzIENTU0NhbGNCaW5hcnlP
cGVyYXRpb24gOiBwdWJsaWMgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlIHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxDU1NDYWxjQmluYXJ5T3BlcmF0aW9uPiBjcmVhdGUoUGFzc1JlZlB0
cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IGxlZnRTaWRlLCBQYXNzUmVmUHRyPENTU0NhbGNFeHBy
ZXNzaW9uTm9kZT4gcmlnaHRTaWRlLCBDYWxjT3BlcmF0b3Igb3ApCisgICAgeworICAgICAgICBD
YWxjQ2F0ZWdvcnkgbGVmdENhdGVnb3J5ID0gbGVmdFNpZGUtPmNhdGVnb3J5KCk7CisgICAgICAg
IENhbGNDYXRlZ29yeSByaWdodENhdGVnb3J5ID0gcmlnaHRTaWRlLT5jYXRlZ29yeSgpOworICAg
ICAgICBDYWxjQ2F0ZWdvcnkgbmV3Q2F0ZWdvcnkgPSBDYWxjT3RoZXI7CisgICAgICAgIAorICAg
ICAgICBBU1NFUlQobGVmdENhdGVnb3J5ICE9IENhbGNPdGhlciAmJiByaWdodENhdGVnb3J5ICE9
IENhbGNPdGhlcik7CisgICAgICAgIAorICAgICAgICBzd2l0Y2ggKG9wKSB7CisgICAgICAgIGNh
c2UgQ2FsY0FkZDoKKyAgICAgICAgY2FzZSBDYWxjU3VidHJhY3Q6ICAgICAgICAgICAgIAorICAg
ICAgICAgICAgaWYgKGxlZnRDYXRlZ29yeSA9PSBDYWxjT3RoZXIgfHwgcmlnaHRDYXRlZ29yeSA9
PSBDYWxjT3RoZXIpCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICBuZXdD
YXRlZ29yeSA9IGFkZFN1YnRyYWN0UmVzdWx0W2xlZnRDYXRlZ29yeV1bcmlnaHRDYXRlZ29yeV07
CisgICAgICAgICAgICBicmVhazsgICAKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgY2FzZSBD
YWxjTXVsdGlwbHk6CisgICAgICAgICAgICBpZiAobGVmdENhdGVnb3J5ICE9IENhbGNOdW1iZXIg
JiYgcmlnaHRDYXRlZ29yeSAhPSBDYWxjTnVtYmVyKSAKKyAgICAgICAgICAgICAgICByZXR1cm4g
MDsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgbmV3Q2F0ZWdvcnkgPSBsZWZ0Q2F0ZWdvcnkg
PT0gQ2FsY051bWJlciA/IHJpZ2h0Q2F0ZWdvcnkgOiBsZWZ0Q2F0ZWdvcnk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgY2FzZSBDYWxjRGl2aWRlOgorICAg
ICAgICBjYXNlIENhbGNNb2Q6CisgICAgICAgICAgICBpZiAocmlnaHRDYXRlZ29yeSAhPSBDYWxj
TnVtYmVyIHx8IHJpZ2h0U2lkZS0+aXNaZXJvKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7
CisgICAgICAgICAgICBuZXdDYXRlZ29yeSA9IGxlZnRDYXRlZ29yeTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBpZiAobmV3Q2F0ZWdvcnkgPT0gQ2Fs
Y090aGVyKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAKKyAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uKGxlZnRTaWRlLCByaWdodFNp
ZGUsIG9wLCBuZXdDYXRlZ29yeSkpOworICAgIH0KKyAgICAKKyAgICB2aXJ0dWFsIGJvb2wgaXNa
ZXJvKCkgY29uc3QKKyAgICB7CisgICAgICAgIC8vIEZJWE1FIGNhbGM6IFdlIGNhbiByZXR1cm4g
dHJ1ZSBmb3Igc29tZSBjYXNlcyAoZS5nLiwgMyAtIDMsIDMgKiAwLCBhbmQgZXRjLikKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBj
b25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuICIoIiArIG1fbGVmdFNpZGUtPmNzc1RleHQoKSAr
IHN0YXRpY19jYXN0PGNoYXI+KG1fb3BlcmF0b3IpICsgbV9yaWdodFNpZGUtPmNzc1RleHQoKSAr
ICIpIjsKKyAgICB9CisKKyAgICB2aXJ0dWFsIFBhc3NPd25QdHI8Q2FsY0V4cHJlc3Npb25Ob2Rl
PiB0b0NhbGNWYWx1ZShSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUs
IGRvdWJsZSB6b29tKSBjb25zdAorICAgIHsKKyAgICAgICAgT3duUHRyPENhbGNFeHByZXNzaW9u
Tm9kZT4gbGVmdChtX2xlZnRTaWRlLT50b0NhbGNWYWx1ZShzdHlsZSwgcm9vdFN0eWxlLCB6b29t
KSk7CisgICAgICAgIGlmICghbGVmdCkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAg
ICAgICBPd25QdHI8Q2FsY0V4cHJlc3Npb25Ob2RlPiByaWdodChtX3JpZ2h0U2lkZS0+dG9DYWxj
VmFsdWUoc3R5bGUsIHJvb3RTdHlsZSwgem9vbSkpOworICAgICAgICBpZiAoIXJpZ2h0KQorICAg
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgQ2Fs
Y0V4cHJlc3Npb25CaW5hcnlPcGVyYXRpb24obGVmdC5yZWxlYXNlKCksIHJpZ2h0LnJlbGVhc2Uo
KSwgbV9vcGVyYXRvcikpOworICAgIH0KKyAgICAKKyAgICB2aXJ0dWFsIFBhc3NPd25QdHI8Q1NT
Q2FsY0V4cHJlc3Npb25Ob2RlPiBmcm9tQ2FsY1ZhbHVlKENhbGNFeHByZXNzaW9uTm9kZSopIGNv
bnN0CisgICAgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgLy8gRklYTUUgY2FsYwor
ICAgICAgICByZXR1cm4gYWRvcHRQdHIoQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoMCwg
MCkubGVha1JlZigpKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGRvdWJsZSBkb3VibGVWYWx1ZSgp
IGNvbnN0IAorICAgIHsKKyAgICAgICAgcmV0dXJuIGV2YWx1YXRlKG1fbGVmdFNpZGUtPmRvdWJs
ZVZhbHVlKCksIG1fcmlnaHRTaWRlLT5kb3VibGVWYWx1ZSgpKTsKKyAgICB9CisgICAgCisgICAg
dmlydHVhbCBkb3VibGUgY29tcHV0ZUxlbmd0aFB4KFJlbmRlclN0eWxlKiBjdXJyU3R5bGUsIFJl
bmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSBtdWx0aXBsaWVyLCBib29sIGNvbXB1dGluZ0Zv
bnRTaXplKSBjb25zdAorICAgIHsKKyAgICAgICAgY29uc3QgZG91YmxlIGxlZnRWYWx1ZSA9IG1f
bGVmdFNpZGUtPmNvbXB1dGVMZW5ndGhQeChjdXJyU3R5bGUsIHJvb3RTdHlsZSwgbXVsdGlwbGll
ciwgY29tcHV0aW5nRm9udFNpemUpOworICAgICAgICBjb25zdCBkb3VibGUgcmlnaHRWYWx1ZSA9
IG1fcmlnaHRTaWRlLT5jb21wdXRlTGVuZ3RoUHgoY3VyclN0eWxlLCByb290U3R5bGUsIG11bHRp
cGxpZXIsIGNvbXB1dGluZ0ZvbnRTaXplKTsKKyAgICAgICAgcmV0dXJuIGV2YWx1YXRlKGxlZnRW
YWx1ZSwgcmlnaHRWYWx1ZSk7CisgICAgfQorCisgICAgdmlydHVhbCBkb3VibGUgY29tcHV0ZVBl
cmNlbnQoZG91YmxlIG9uZUh1bmRyZWRQZXJjZW50VmFsdWUpIGNvbnN0IAorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGV2YWx1YXRlKG1fbGVmdFNpZGUtPmNvbXB1dGVQZXJjZW50KG9uZUh1bmRyZWRQ
ZXJjZW50VmFsdWUpLCBtX3JpZ2h0U2lkZS0+Y29tcHV0ZVBlcmNlbnQob25lSHVuZHJlZFBlcmNl
bnRWYWx1ZSkpOworICAgIH0KKyAgICAKKworcHJpdmF0ZToKKyAgICBDU1NDYWxjQmluYXJ5T3Bl
cmF0aW9uKFBhc3NSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBsZWZ0U2lkZSwgUGFzc1Jl
ZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IHJpZ2h0U2lkZSwgQ2FsY09wZXJhdG9yIG9wLCBD
YWxjQ2F0ZWdvcnkgY2F0ZWdvcnkpCisgICAgICAgIDogQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlKGNh
dGVnb3J5LCBsZWZ0U2lkZS0+aXNJbnQoKSAmJiByaWdodFNpZGUtPmlzSW50KCkpCisgICAgICAg
ICwgbV9sZWZ0U2lkZShsZWZ0U2lkZSkKKyAgICAgICAgLCBtX3JpZ2h0U2lkZShyaWdodFNpZGUp
CisgICAgICAgICwgbV9vcGVyYXRvcihvcCkKKyAgICB7CisgICAgfQorICAgIAorICAgIGRvdWJs
ZSBldmFsdWF0ZShkb3VibGUgbGVmdFZhbHVlLCBkb3VibGUgcmlnaHRWYWx1ZSkgY29uc3QKKyAg
ICB7CisgICAgICAgIHN3aXRjaCAobV9vcGVyYXRvcikgeworICAgICAgICBjYXNlIENhbGNBZGQ6
CisgICAgICAgICAgICByZXR1cm4gbGVmdFZhbHVlICsgcmlnaHRWYWx1ZTsKKyAgICAgICAgY2Fz
ZSBDYWxjU3VidHJhY3Q6CisgICAgICAgICAgICByZXR1cm4gbGVmdFZhbHVlIC0gcmlnaHRWYWx1
ZTsKKyAgICAgICAgY2FzZSBDYWxjTXVsdGlwbHk6CisgICAgICAgICAgICByZXR1cm4gbGVmdFZh
bHVlICogcmlnaHRWYWx1ZTsKKyAgICAgICAgY2FzZSBDYWxjRGl2aWRlOgorICAgICAgICAgICAg
aWYgKHJpZ2h0VmFsdWUpCisgICAgICAgICAgICAgICAgcmV0dXJuIGxlZnRWYWx1ZSAvIHJpZ2h0
VmFsdWU7CisgICAgICAgICAgICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+Ojpx
dWlldF9OYU4oKTsKKyAgICAgICAgY2FzZSBDYWxjTW9kOgorICAgICAgICAgICAgaWYgKHJpZ2h0
VmFsdWUpCisgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4obGVmdFZhbHVl
KSAlIHN0YXRpY19jYXN0PGludD4ocmlnaHRWYWx1ZSk7CisgICAgICAgICAgICByZXR1cm4gc3Rk
OjpudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsKKyAgICAgICAgfQorICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIAor
ICAgIGNvbnN0IFJlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IG1fbGVmdFNpZGU7CisgICAg
Y29uc3QgUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gbV9yaWdodFNpZGU7CisgICAgY29u
c3QgQ2FsY09wZXJhdG9yIG1fb3BlcmF0b3I7Cit9OworCitjbGFzcyBDU1NDYWxjTWluTWF4TGlz
dCA6IHB1YmxpYyBDU1NDYWxjRXhwcmVzc2lvbk5vZGUgeworcHVibGljOgorICAgIENTU0NhbGNN
aW5NYXhMaXN0KENhbGNMaXN0VHlwZSB0eXBlKQorICAgICAgICA6IENTU0NhbGNFeHByZXNzaW9u
Tm9kZShDYWxjT3RoZXIsIGZhbHNlKQorICAgICAgICAsIG1fbGlzdFR5cGUodHlwZSkKKyAgICB7
CisgICAgfQorCisgICAgdmlydHVhbCBib29sIGlzWmVybygpIGNvbnN0CisgICAgeworICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNv
bnN0CisgICAgeworICAgICAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKKyAgICAgICAgaWYgKG1f
bGlzdFR5cGUgPT0gQ2FsY01pbikKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoIi13ZWJraXQt
bWluKCIpOworICAgICAgICBlbHNlIAorICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgiLXdlYmtp
dC1tYXgoIik7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2xpc3Quc2l6ZSgp
OyArK2kpIHsKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQobV9saXN0W2ldLmdldCgpLT5jc3NU
ZXh0KCkpOworICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgiLCAiKTsKKyAgICAgICAgfQorICAg
ICAgICByZXN1bHQuYXBwZW5kKCcpJyk7CisgICAgICAgIHJldHVybiByZXN1bHQudG9TdHJpbmco
KTsKKyAgICB9CisKKyAgICBib29sIGFwcGVuZChQYXNzUmVmUHRyPENTU0NhbGNFeHByZXNzaW9u
Tm9kZT4gdmFsdWUpIAorICAgIHsKKyAgICAgICAgaWYgKCFtX2xpc3Quc2l6ZSgpKSB7CisgICAg
ICAgICAgICBtX2NhdGVnb3J5ID0gdmFsdWUtPmNhdGVnb3J5KCk7CisgICAgICAgICAgICBtX2lz
SW50ID0gdmFsdWUtPmlzSW50KCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBtX2Nh
dGVnb3J5ID0gYWRkU3VidHJhY3RSZXN1bHRbbV9jYXRlZ29yeV1bdmFsdWUtPmNhdGVnb3J5KCld
OworICAgICAgICAgICAgbV9pc0ludCA9IG1faXNJbnQgJiYgdmFsdWUtPmlzSW50KCk7CisgICAg
ICAgIH0KKyAgICAgICAgCisgICAgICAgIGlmIChtX2NhdGVnb3J5ID09IENhbGNPdGhlcikKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgCisgICAgICAgIG1fbGlzdC5hcHBlbmQo
dmFsdWUpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIFBhc3NP
d25QdHI8Q2FsY0V4cHJlc3Npb25Ob2RlPiB0b0NhbGNWYWx1ZShSZW5kZXJTdHlsZSogc3R5bGUs
IFJlbmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSB6b29tKSBjb25zdAorICAgIHsKKyAgICAg
ICAgQ2FsY01pbk1heExpc3QqIGxpc3QgPSBuZXcgQ2FsY01pbk1heExpc3QobV9saXN0VHlwZSk7
CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2xpc3Quc2l6ZSgpOyArK2kpCisg
ICAgICAgICAgICBsaXN0LT5hcHBlbmQobV9saXN0W2ldLmdldCgpLT50b0NhbGNWYWx1ZShzdHls
ZSwgcm9vdFN0eWxlLCB6b29tKSk7CisKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKGxpc3QpOwor
ICAgIH0KKworICAgIHZpcnR1YWwgUGFzc093blB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IGZy
b21DYWxjVmFsdWUoQ2FsY0V4cHJlc3Npb25Ob2RlKikgY29uc3QKKyAgICB7CisgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOyAvLyBGSVhNRSBjYWxjCisgICAgICAgIHJldHVybiBhZG9wdFB0
cihuZXcgQ1NTQ2FsY01pbk1heExpc3QoQ2FsY01pbikpOworICAgIH0KKworICAgIHZpcnR1YWwg
ZG91YmxlIGRvdWJsZVZhbHVlKCkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChtX2xpc3QuaXNF
bXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIAorICAgICAgICBkb3VibGUg
cmV0dmFsID0gbV9saXN0WzBdLT5kb3VibGVWYWx1ZSgpOworICAgICAgICBpZiAobV9saXN0VHlw
ZSA9PSBDYWxjTWluKSB7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgbV9s
aXN0LnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgZG91YmxlIGN1cnJlbnQgPSBtX2xp
c3RbaV0tPmRvdWJsZVZhbHVlKCk7CisgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQgPCByZXR2
YWwpCisgICAgICAgICAgICAgICAgICAgIHJldHZhbCA9IGN1cnJlbnQ7CisgICAgICAgICAgICB9
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwg
bV9saXN0LnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgZG91YmxlIGN1cnJlbnQgPSBt
X2xpc3RbaV0tPmRvdWJsZVZhbHVlKCk7CisgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQgPiBy
ZXR2YWwpCisgICAgICAgICAgICAgICAgICAgIHJldHZhbCA9IGN1cnJlbnQ7CisgICAgICAgICAg
ICB9CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHJldHVybiByZXR2YWw7CisgICAgfQor
ICAgIAorICAgIHZpcnR1YWwgZG91YmxlIGNvbXB1dGVMZW5ndGhQeChSZW5kZXJTdHlsZSogY3Vy
clN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciwgYm9vbCBj
b21wdXRpbmdGb250U2l6ZSkgY29uc3QKKyAgICB7CisgICAgICAgIGRvdWJsZSByZXR2YWwgPSBt
X2xpc3RbMF0tPmNvbXB1dGVMZW5ndGhQeChjdXJyU3R5bGUsIHJvb3RTdHlsZSwgbXVsdGlwbGll
ciwgY29tcHV0aW5nRm9udFNpemUpOyAgICAgICAgCisgICAgICAgIGlmIChtX2xpc3RUeXBlID09
IENhbGNNaW4pIHsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkgPCBtX2xpc3Qu
c2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICBkb3VibGUgY3VycmVudCA9IG1fbGlzdFtp
XS0+Y29tcHV0ZUxlbmd0aFB4KGN1cnJTdHlsZSwgcm9vdFN0eWxlLCBtdWx0aXBsaWVyLCBjb21w
dXRpbmdGb250U2l6ZSk7ICAgICAgICAKKyAgICAgICAgICAgICAgICBpZiAoY3VycmVudCA8IHJl
dHZhbCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dmFsID0gY3VycmVudDsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkg
PCBtX2xpc3Quc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgICAgICBkb3VibGUgY3VycmVudCA9
IG1fbGlzdFtpXS0+Y29tcHV0ZUxlbmd0aFB4KGN1cnJTdHlsZSwgcm9vdFN0eWxlLCBtdWx0aXBs
aWVyLCBjb21wdXRpbmdGb250U2l6ZSk7ICAgICAgICAKKyAgICAgICAgICAgICAgICBpZiAoY3Vy
cmVudCA+IHJldHZhbCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dmFsID0gY3VycmVudDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgcmV0dXJuIHJldHZhbDsK
KyAgICB9CisgICAgCisgICAgdmlydHVhbCBkb3VibGUgY29tcHV0ZVBlcmNlbnQoZG91YmxlIG9u
ZUh1bmRyZWRQZXJjZW50VmFsdWUpIGNvbnN0CisgICAgeworICAgICAgICBkb3VibGUgcmV0dmFs
ID0gbV9saXN0WzBdLT5jb21wdXRlUGVyY2VudChvbmVIdW5kcmVkUGVyY2VudFZhbHVlKTsgICAg
ICAgIAorICAgICAgICBpZiAobV9saXN0VHlwZSA9PSBDYWxjTWluKSB7CisgICAgICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgbV9saXN0LnNpemUoKTsgKytpKSB7CisgICAgICAgICAg
ICAgICAgZG91YmxlIGN1cnJlbnQgPSBtX2xpc3RbaV0tPmNvbXB1dGVQZXJjZW50KG9uZUh1bmRy
ZWRQZXJjZW50VmFsdWUpOyAgICAgICAgCisgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQgPCBy
ZXR2YWwpCisgICAgICAgICAgICAgICAgICAgIHJldHZhbCA9IGN1cnJlbnQ7CisgICAgICAgICAg
ICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBp
IDwgbV9saXN0LnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAgICAgZG91YmxlIGN1cnJlbnQg
PSBtX2xpc3RbaV0tPmNvbXB1dGVQZXJjZW50KG9uZUh1bmRyZWRQZXJjZW50VmFsdWUpOyAgICAg
ICAgCisgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQgPiByZXR2YWwpCisgICAgICAgICAgICAg
ICAgICAgIHJldHZhbCA9IGN1cnJlbnQ7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAg
ICAgCisgICAgICAgIHJldHVybiByZXR2YWw7CisgICAgfQorICAgIAorcHJpdmF0ZToKKyAgICBD
YWxjTGlzdFR5cGUgbV9saXN0VHlwZTsKKyAgICBWZWN0b3I8UmVmUHRyPENTU0NhbGNFeHByZXNz
aW9uTm9kZT4gPiBtX2xpc3Q7Cit9OworCitzdGF0aWMgUGFyc2VTdGF0ZSBjaGVja0RlcHRoQW5k
SW5kZXgoaW50KiBkZXB0aCwgdW5zaWduZWQgaW5kZXgsIENTU1BhcnNlclZhbHVlTGlzdCogdG9r
ZW5zKQoreworICAgICgqZGVwdGgpKys7CisgICAgaWYgKCpkZXB0aCA+IG1heEV4cHJlc3Npb25E
ZXB0aCkKKyAgICAgICAgcmV0dXJuIFRvb0RlZXA7CisgICAgaWYgKGluZGV4ID49IHRva2Vucy0+
c2l6ZSgpKQorICAgICAgICByZXR1cm4gTm9Nb3JlVG9rZW5zOworICAgIHJldHVybiBPSzsKK30K
KworY2xhc3MgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyIHsKK3B1YmxpYzoKKyAgICBQYXNz
UmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gcGFyc2VDYWxjKENTU1BhcnNlclZhbHVlTGlz
dCogdG9rZW5zKQorICAgIHsKKyAgICAgICAgdW5zaWduZWQgaW5kZXggPSAwOworICAgICAgICBW
YWx1ZSByZXN1bHQ7CisgICAgICAgIGJvb2wgb2sgPSBwYXJzZVZhbHVlRXhwcmVzc2lvbih0b2tl
bnMsIDAsICZpbmRleCwgJnJlc3VsdCk7CisgICAgICAgIEFTU0VSVChpbmRleCA8PSB0b2tlbnMt
PnNpemUoKSk7CisgICAgICAgIGlmICghb2sgfHwgaW5kZXggIT0gdG9rZW5zLT5zaXplKCkpCisg
ICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIHJlc3VsdC52YWx1ZTsKKyAgICB9
CisKKyAgICBQYXNzUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gcGFyc2VNaW5NYXhMaXN0
KENhbGNMaXN0VHlwZSB0eXBlLCBDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucykKKyAgICB7Cisg
ICAgICAgIHVuc2lnbmVkIGluZGV4ID0gMDsKKyAgICAgICAgUmVmUHRyPENTU0NhbGNNaW5NYXhM
aXN0PiByZXN1bHQgPSBhZG9wdFJlZihuZXcgQ1NTQ2FsY01pbk1heExpc3QodHlwZSkpOworCisg
ICAgICAgIGJvb2wgb2sgPSBwYXJzZVZhbHVlTGlzdCh0b2tlbnMsIDAsICZpbmRleCwgcmVzdWx0
LmdldCgpKTsKKyAgICAgICAgQVNTRVJUKGluZGV4IDw9IHRva2Vucy0+c2l6ZSgpKTsKKyAgICAg
ICAgaWYgKCFvayB8fCBpbmRleCAhPSB0b2tlbnMtPnNpemUoKSkKKyAgICAgICAgICAgIHJldHVy
biAwOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKworcHJpdmF0ZToKKyAgICBzdHJ1
Y3QgVmFsdWUgeworICAgICAgICBSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiB2YWx1ZTsK
KyAgICB9OworCisgICAgY2hhciBvcGVyYXRvclZhbHVlKENTU1BhcnNlclZhbHVlTGlzdCogdG9r
ZW5zLCB1bnNpZ25lZCBpbmRleCkKKyAgICB7CisgICAgICAgIGlmIChpbmRleCA+PSB0b2tlbnMt
PnNpemUoKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBDU1NQYXJzZXJWYWx1ZSog
dmFsdWUgPSB0b2tlbnMtPnZhbHVlQXQoaW5kZXgpOworICAgICAgICBpZiAodmFsdWUtPnVuaXQg
IT0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJhdG9yKQorICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAg
ICAgICAgcmV0dXJuIHZhbHVlLT5pVmFsdWU7CisgICAgfQorCisgICAgYm9vbCBwYXJzZVZhbHVl
KENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCB1bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1
bHQpCisgICAgeworICAgICAgICBDU1NQYXJzZXJWYWx1ZSogcGFyc2VyVmFsdWUgPSB0b2tlbnMt
PnZhbHVlQXQoKmluZGV4KTsKKyAgICAgICAgaWYgKHBhcnNlclZhbHVlLT51bml0ID09IENTU1Bh
cnNlclZhbHVlOjpPcGVyYXRvciB8fCBwYXJzZXJWYWx1ZS0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1
ZTo6RnVuY3Rpb24pCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgUmVmUHRy
PENTU1ZhbHVlPiB2YWx1ZSA9IHBhcnNlclZhbHVlLT5jcmVhdGVDU1NWYWx1ZSgpOworICAgICAg
ICBpZiAoIXZhbHVlIHx8ICF2YWx1ZS0+aXNQcmltaXRpdmVWYWx1ZSgpKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgICAgIENTU1ByaW1pdGl2ZVZhbHVlKiBwcmltaXRpdmVWYWx1
ZSA9IHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlKj4odmFsdWUuZ2V0KCkpOworICAgICAg
ICByZXN1bHQtPnZhbHVlID0gQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUocHJpbWl0aXZl
VmFsdWUsIHBhcnNlclZhbHVlLT5pc0ludCk7CisKKyAgICAgICAgKysqaW5kZXg7CisgICAgICAg
IHJldHVybiB0cnVlOworICAgIH0KKworICAgIGJvb2wgcGFyc2VWYWx1ZVRlcm0oQ1NTUGFyc2Vy
VmFsdWVMaXN0KiB0b2tlbnMsIGludCBkZXB0aCwgdW5zaWduZWQqIGluZGV4LCBWYWx1ZSogcmVz
dWx0KQorICAgIHsKKyAgICAgICAgaWYgKGNoZWNrRGVwdGhBbmRJbmRleCgmZGVwdGgsICppbmRl
eCwgdG9rZW5zKSAhPSBPSykKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsgICAgCisgICAgICAg
IAorICAgICAgICBpZiAob3BlcmF0b3JWYWx1ZSh0b2tlbnMsICppbmRleCkgPT0gJygnKSB7Cisg
ICAgICAgICAgICB1bnNpZ25lZCBjdXJyZW50SW5kZXggPSAqaW5kZXggKyAxOworICAgICAgICAg
ICAgaWYgKCFwYXJzZVZhbHVlRXhwcmVzc2lvbih0b2tlbnMsIGRlcHRoLCAmY3VycmVudEluZGV4
LCByZXN1bHQpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAg
aWYgKG9wZXJhdG9yVmFsdWUodG9rZW5zLCBjdXJyZW50SW5kZXgpICE9ICcpJykKKyAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAqaW5kZXggPSBjdXJyZW50SW5kZXgg
KyAxOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKworICAgICAgICByZXR1
cm4gcGFyc2VWYWx1ZSh0b2tlbnMsIGluZGV4LCByZXN1bHQpOworICAgIH0KKworICAgIGJvb2wg
cGFyc2VWYWx1ZU11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbihDU1NQYXJzZXJWYWx1ZUxpc3QqIHRv
a2VucywgaW50IGRlcHRoLCB1bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1bHQpCisgICAgewor
ICAgICAgICBpZiAoY2hlY2tEZXB0aEFuZEluZGV4KCZkZXB0aCwgKmluZGV4LCB0b2tlbnMpICE9
IE9LKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAKKworICAgICAgICBpZiAoIXBhcnNl
VmFsdWVUZXJtKHRva2VucywgZGVwdGgsIGluZGV4LCByZXN1bHQpKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgICAgIHdoaWxlICgqaW5kZXggPCB0b2tlbnMtPnNpemUoKSAtIDEp
IHsKKyAgICAgICAgICAgIGNoYXIgb3BlcmF0b3JDaGFyYWN0ZXIgPSBvcGVyYXRvclZhbHVlKHRv
a2VucywgKmluZGV4KTsKKyAgICAgICAgICAgIGlmIChvcGVyYXRvckNoYXJhY3RlciAhPSBDYWxj
TXVsdGlwbHkgJiYgb3BlcmF0b3JDaGFyYWN0ZXIgIT0gQ2FsY0RpdmlkZSAmJiBvcGVyYXRvckNo
YXJhY3RlciAhPSBDYWxjTW9kKQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
KysqaW5kZXg7CisKKyAgICAgICAgICAgIFZhbHVlIHJoczsKKyAgICAgICAgICAgIGlmICghcGFy
c2VWYWx1ZVRlcm0odG9rZW5zLCBkZXB0aCwgaW5kZXgsICZyaHMpKQorICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgcmVzdWx0LT52YWx1ZSA9IENTU0NhbGNCaW5h
cnlPcGVyYXRpb246OmNyZWF0ZShyZXN1bHQtPnZhbHVlLCByaHMudmFsdWUsIHN0YXRpY19jYXN0
PENhbGNPcGVyYXRvcj4ob3BlcmF0b3JDaGFyYWN0ZXIpKTsKKyAgICAgICAgICAgIGlmICghcmVz
dWx0LT52YWx1ZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKwor
ICAgICAgICBBU1NFUlQoKmluZGV4IDw9IHRva2Vucy0+c2l6ZSgpKTsKKyAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgfQorCisgICAgYm9vbCBwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKENT
U1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFs
dWUqIHJlc3VsdCkKKyAgICB7CisgICAgICAgIGlmIChjaGVja0RlcHRoQW5kSW5kZXgoJmRlcHRo
LCAqaW5kZXgsIHRva2VucykgIT0gT0spCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7ICAgIAor
CisgICAgICAgIGlmICghcGFyc2VWYWx1ZU11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbih0b2tlbnMs
IGRlcHRoLCBpbmRleCwgcmVzdWx0KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg
ICAgICB3aGlsZSAoKmluZGV4IDwgdG9rZW5zLT5zaXplKCkgLSAxKSB7CisgICAgICAgICAgICBj
aGFyIG9wZXJhdG9yQ2hhcmFjdGVyID0gb3BlcmF0b3JWYWx1ZSh0b2tlbnMsICppbmRleCk7Cisg
ICAgICAgICAgICBpZiAob3BlcmF0b3JDaGFyYWN0ZXIgIT0gQ2FsY0FkZCAmJiBvcGVyYXRvckNo
YXJhY3RlciAhPSBDYWxjU3VidHJhY3QpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICArKyppbmRleDsKKworICAgICAgICAgICAgVmFsdWUgcmhzOworICAgICAgICAgICAgaWYg
KCFwYXJzZVZhbHVlTXVsdGlwbGljYXRpdmVFeHByZXNzaW9uKHRva2VucywgZGVwdGgsIGluZGV4
LCAmcmhzKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIHJl
c3VsdC0+dmFsdWUgPSBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uOjpjcmVhdGUocmVzdWx0LT52YWx1
ZSwgcmhzLnZhbHVlLCBzdGF0aWNfY2FzdDxDYWxjT3BlcmF0b3I+KG9wZXJhdG9yQ2hhcmFjdGVy
KSk7CisgICAgICAgICAgICBpZiAoIXJlc3VsdC0+dmFsdWUpCisgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAgQVNTRVJUKCppbmRleCA8PSB0b2tlbnMt
PnNpemUoKSk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIGJvb2wgcGFyc2VW
YWx1ZUxpc3QoQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIGludCBkZXB0aCwgdW5zaWduZWQq
IGluZGV4LCBDU1NDYWxjTWluTWF4TGlzdCogcmVzdWx0KQorICAgIHsKKyAgICAgICAgd2hpbGUg
KCppbmRleCA8IHRva2Vucy0+c2l6ZSgpKSB7CisgICAgICAgICAgICBWYWx1ZSBuZXh0OworICAg
ICAgICAgICAgaWYgKCFwYXJzZVZhbHVlRXhwcmVzc2lvbih0b2tlbnMsIGRlcHRoLCBpbmRleCwg
Jm5leHQpKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgYm9v
bCBvayA9IHJlc3VsdC0+YXBwZW5kKG5leHQudmFsdWUpOworICAgICAgICAgICAgaWYgKCFvaykK
KyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIGlmIChvcGVyYXRv
clZhbHVlKHRva2VucywgKmluZGV4KSAhPSAnLCcpCisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICArKyppbmRleDsKKyAgICAgICAgfQorCisgICAgICAgIEFTU0VSVCgqaW5kZXgg
PD0gdG9rZW5zLT5zaXplKCkpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBi
b29sIHBhcnNlVmFsdWVFeHByZXNzaW9uKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCBpbnQg
ZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAgICB7CisgICAgICAgIHJl
dHVybiBwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKHRva2VucywgZGVwdGgsIGluZGV4LCBy
ZXN1bHQpOworICAgIH0KK307CisKK1Bhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPiBDU1NDYWxjVmFs
dWU6OmNyZWF0ZShDU1NQYXJzZXJTdHJpbmcgbmFtZSwgQ1NTUGFyc2VyVmFsdWVMaXN0KiBwYXJz
ZXJWYWx1ZUxpc3QsIENhbGNQZXJtaXR0ZWRWYWx1ZVJhbmdlIHJhbmdlKQoreyAgICAKKyAgICBD
U1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXIgcGFyc2VyOyAgICAKKyAgICBSZWZQdHI8Q1NTQ2Fs
Y0V4cHJlc3Npb25Ob2RlPiBleHByZXNzaW9uID0gMDsKKyAgICAKKyAgICBpZiAoZXF1YWxJZ25v
cmluZ0Nhc2UobmFtZSwgIi13ZWJraXQtY2FsYygiKSkKKyAgICAgICAgZXhwcmVzc2lvbiA9IHBh
cnNlci5wYXJzZUNhbGMocGFyc2VyVmFsdWVMaXN0KTsgICAgCisgICAgZWxzZSBpZiAoZXF1YWxJ
Z25vcmluZ0Nhc2UobmFtZSwgIi13ZWJraXQtbWluKCIpKQorICAgICAgICBleHByZXNzaW9uID0g
cGFyc2VyLnBhcnNlTWluTWF4TGlzdChDYWxjTWluLCBwYXJzZXJWYWx1ZUxpc3QpOyAgICAKKyAg
ICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCAiLXdlYmtpdC1tYXgoIikpCisgICAg
ICAgIGV4cHJlc3Npb24gPSBwYXJzZXIucGFyc2VNaW5NYXhMaXN0KENhbGNNYXgsIHBhcnNlclZh
bHVlTGlzdCk7CisKKyAgICByZXR1cm4gZXhwcmVzc2lvbiA/IGFkb3B0UmVmKG5ldyBDU1NDYWxj
VmFsdWUoZXhwcmVzc2lvbiwgcmFuZ2UpKSA6IDA7Cit9CisKK1Bhc3NSZWZQdHI8Q1NTQ2FsY1Zh
bHVlPiBDU1NDYWxjVmFsdWU6OmNyZWF0ZShDYWxjVmFsdWUqKQoreworICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOyAvLyBGSVhNRSBjYWxjKCksIG5lZWRlZCBmb3IgZ2V0Q29tcHV0ZWRWYWx1ZQor
ICAgIHJldHVybiAwOworfQorCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NDYWxjVmFsdWUuaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNGIwMWU1YmY2OTgwYmIxMTBmMTUyNjYxYjhjM2Zj
NDMyNzY4YjVlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NhbGNW
YWx1ZS5oCkBAIC0wLDAgKzEsMTE3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBDU1NDYWxjVmFsdWVfaAorI2RlZmluZSBD
U1NDYWxjVmFsdWVfaAorCisjaW5jbHVkZSAiQ1NTUGFyc2VyVmFsdWVzLmgiCisjaW5jbHVkZSAi
Q1NTVmFsdWUuaCIKKyNpbmNsdWRlICJDYWxjVmFsdWUuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc093
blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENTU1BhcnNlclZhbHVlTGlzdDsK
K2NsYXNzIENTU1ZhbHVlTGlzdDsKK2NsYXNzIFJlbmRlclN0eWxlOworY2xhc3MgQ2FsY1ZhbHVl
OworY2xhc3MgQ2FsY0V4cHJlc3Npb25Ob2RlOworCitlbnVtIENhbGNDYXRlZ29yeSB7CisgICAg
Q2FsY051bWJlciA9IDAsCisgICAgQ2FsY0xlbmd0aCwKKyAgICBDYWxjUGVyY2VudCwKKyAgICBD
YWxjUGVyY2VudE51bWJlciwKKyAgICBDYWxjUGVyY2VudExlbmd0aCwKKyAgICBDYWxjT3RoZXIK
K307CisgICAgCitjbGFzcyBDU1NDYWxjRXhwcmVzc2lvbk5vZGUgOiBwdWJsaWMgUmVmQ291bnRl
ZDxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IHsKK3B1YmxpYzoKKyAgICAKKyAgICB2aXJ0dWFsIH5D
U1NDYWxjRXhwcmVzc2lvbk5vZGUoKSA9IDA7ICAgIAorICAgIHZpcnR1YWwgYm9vbCBpc1plcm8o
KSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0ID0gMDsgICAg
CisgICAgdmlydHVhbCBQYXNzT3duUHRyPENhbGNFeHByZXNzaW9uTm9kZT4gdG9DYWxjVmFsdWUo
UmVuZGVyU3R5bGUqLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgem9vbSA9IDEuMCkg
Y29uc3QgPSAwOyAgICAKKyAgICB2aXJ0dWFsIFBhc3NPd25QdHI8Q1NTQ2FsY0V4cHJlc3Npb25O
b2RlPiBmcm9tQ2FsY1ZhbHVlKENhbGNFeHByZXNzaW9uTm9kZSopIGNvbnN0ID0gMDsKKyAgICB2
aXJ0dWFsIGRvdWJsZSBkb3VibGVWYWx1ZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGRvdWJs
ZSBjb21wdXRlTGVuZ3RoUHgoUmVuZGVyU3R5bGUqIGN1cnJTdHlsZSwgUmVuZGVyU3R5bGUqIHJv
b3RTdHlsZSwgZG91YmxlIG11bHRpcGxpZXIgPSAxLjAsIGJvb2wgY29tcHV0aW5nRm9udFNpemUg
PSBmYWxzZSkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgZG91YmxlIGNvbXB1dGVQZXJjZW50KGRv
dWJsZSBvbmVIdW5kcmVkUGVyY2VudFZhbHVlKSBjb25zdCA9IDA7CisgICAgCisgICAgQ2FsY0Nh
dGVnb3J5IGNhdGVnb3J5KCkgY29uc3QgeyByZXR1cm4gbV9jYXRlZ29yeTsgfSAgICAKKyAgICBi
b29sIGlzSW50KCkgY29uc3QgeyByZXR1cm4gbV9pc0ludDsgfQorICAgIAorcHJvdGVjdGVkOgor
ICAgIENTU0NhbGNFeHByZXNzaW9uTm9kZShDYWxjQ2F0ZWdvcnkgY2F0ZWdvcnksIGJvb2wgaXNJ
bnQpCisgICAgICAgIDogbV9jYXRlZ29yeShjYXRlZ29yeSkKKyAgICAgICAgLCBtX2lzSW50KGlz
SW50KQorICAgIHsKKyAgICB9CisgICAgCisgICAgQ2FsY0NhdGVnb3J5IG1fY2F0ZWdvcnk7Cisg
ICAgYm9vbCBtX2lzSW50OworfTsKKyAgICAgICAgCitjbGFzcyBDU1NDYWxjVmFsdWUgOiBwdWJs
aWMgQ1NTVmFsdWUgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0NhbGNWYWx1
ZT4gY3JlYXRlKENTU1BhcnNlclN0cmluZyBuYW1lLCBDU1NQYXJzZXJWYWx1ZUxpc3QqLCBDYWxj
UGVybWl0dGVkVmFsdWVSYW5nZSk7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVl
PiBjcmVhdGUoQ2FsY1ZhbHVlKik7CisKKyAgICBQYXNzUmVmUHRyPENhbGNWYWx1ZT4gdG9DYWxj
VmFsdWUoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUg
em9vbSA9IDEuMCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBDYWxjVmFsdWU6OmNyZWF0
ZShtX2V4cHJlc3Npb24tPnRvQ2FsY1ZhbHVlKHN0eWxlLCByb290U3R5bGUsIHpvb20pLCBtX25v
bk5lZ2F0aXZlID8gQ2FsY1JhbmdlTm9uTmVnYXRpdmUgOiBDYWxjUmFuZ2VBbGwpOworICAgIH0K
KyAgICBDYWxjQ2F0ZWdvcnkgY2F0ZWdvcnkoKSBjb25zdCB7IHJldHVybiBtX2V4cHJlc3Npb24t
PmNhdGVnb3J5KCk7IH0KKyAgICBib29sIGlzSW50KCkgY29uc3QgeyByZXR1cm4gbV9leHByZXNz
aW9uLT5pc0ludCgpOyB9CisgICAgZG91YmxlIGRvdWJsZVZhbHVlKCkgY29uc3Q7CisgICAgZG91
YmxlIGNvbXB1dGVMZW5ndGhQeChSZW5kZXJTdHlsZSogY3VyclN0eWxlLCBSZW5kZXJTdHlsZSog
cm9vdFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciA9IDEuMCwgYm9vbCBjb21wdXRpbmdGb250U2l6
ZSA9IGZhbHNlKSBjb25zdDsKKyAgICBkb3VibGUgY29tcHV0ZVBlcmNlbnQoZG91YmxlIG9uZUh1
bmRyZWRQZXJjZW50VmFsdWUpIGNvbnN0OworICAgICAgICAKKyAgICBTdHJpbmcgY3VzdG9tQ3Nz
VGV4dCgpIGNvbnN0OworICAgIAorcHJpdmF0ZTogICAgCisgICAgQ1NTQ2FsY1ZhbHVlKFBhc3NS
ZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBleHByZXNzaW9uLCBDYWxjUGVybWl0dGVkVmFs
dWVSYW5nZSByYW5nZSkKKyAgICAgICAgOiBDU1NWYWx1ZShDYWxjQ2xhc3MpCisgICAgICAgICwg
bV9leHByZXNzaW9uKGV4cHJlc3Npb24pCisgICAgICAgICwgbV9ub25OZWdhdGl2ZShyYW5nZSA9
PSBDYWxjUmFuZ2VOb25OZWdhdGl2ZSkKKyAgICB7CisgICAgfQorICAgIAorICAgIGRvdWJsZSBj
bGFtcFRvUmFuZ2UoZG91YmxlKSBjb25zdDsKKyAgICAgICAgICAgICAgICAgICAgICAgIAorICAg
IGNvbnN0IFJlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IG1fZXhwcmVzc2lvbjsKKyAgICBj
b25zdCBib29sIG1fbm9uTmVnYXRpdmU7Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gQ1NTQ2FsY1ZhbHVlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggMmU1NzQwODQ3NmEwYjY4ZDEy
Zjc5YWZmYmEzZGQzOGVjMmIwMDYzNC4uYzJhYmY0OTdmMDI1ZmNlMDE2ZDBlNzhjOTk0NjY1MWVj
NmY5MGM2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHAKQEAgLTM1Niw3ICszNTYsMTEgQEAgc3RhdGljIFBhc3NSZWZQdHI8Q1NT
Qm9yZGVySW1hZ2VTbGljZVZhbHVlPiB2YWx1ZUZvck5pbmVQaWVjZUltYWdlU2xpY2UoY29uc3Qg
TmkKICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGxlZnQ7CiAKICAgICBpZiAoaW1hZ2Uu
aW1hZ2VTbGljZXMoKS50b3AoKS5pc1BlcmNlbnQoKSkKLSAgICAgICAgdG9wID0gcHJpbWl0aXZl
VmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUoaW1hZ2UuaW1hZ2VTbGljZXMoKS50b3AoKS52YWx1ZSgp
LCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpOworICAgICAgICBpZiAoaW1hZ2Uu
aW1hZ2VTbGljZXMoKS50b3AoKS5pc0NhbGN1bGF0ZWQoKSkgeworICAgICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7IC8vIEZJWE1FIGNhbGMKKyAgICAgICAgICAgIHRvcCA9IHByaW1pdGl2
ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKDAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VO
VEFHRSk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgdG9wID0gcHJpbWl0aXZlVmFsdWVD
YWNoZS0+Y3JlYXRlVmFsdWUoaW1hZ2UuaW1hZ2VTbGljZXMoKS50b3AoKS52YWx1ZSgpLCBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpOwogICAgIGVsc2UKICAgICAgICAgdG9wID0g
cHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUoaW1hZ2UuaW1hZ2VTbGljZXMoKS50b3Ao
KS52YWx1ZSgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUik7CiAKQEAgLTM2Nyw3ICsz
NzEsMTEgQEAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlPiB2YWx1
ZUZvck5pbmVQaWVjZUltYWdlU2xpY2UoY29uc3QgTmkKICAgICAgICAgbGVmdCA9IHRvcDsKICAg
ICB9IGVsc2UgewogICAgICAgICBpZiAoaW1hZ2UuaW1hZ2VTbGljZXMoKS5yaWdodCgpLmlzUGVy
Y2VudCgpKQotICAgICAgICAgICAgcmlnaHQgPSBwcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVW
YWx1ZShpbWFnZS5pbWFnZVNsaWNlcygpLnJpZ2h0KCkudmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19QRVJDRU5UQUdFKTsKKyAgICAgICAgICAgIGlmIChpbWFnZS5pbWFnZVNsaWNlcygp
LnJpZ2h0KCkuaXNDYWxjdWxhdGVkKCkpIHsKKyAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsgLy8gRklYTUUgY2FsYworICAgICAgICAgICAgICAgIHJpZ2h0ID0gcHJpbWl0aXZl
VmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUoMCwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5U
QUdFKTsKKyAgICAgICAgICAgIH0gZWxzZSAgICAKKyAgICAgICAgICAgICAgICByaWdodCA9IHBy
aW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKGltYWdlLmltYWdlU2xpY2VzKCkucmlnaHQo
KS52YWx1ZSgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpOwogICAgICAgICBl
bHNlCiAgICAgICAgICAgICByaWdodCA9IHByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVl
KGltYWdlLmltYWdlU2xpY2VzKCkucmlnaHQoKS52YWx1ZSgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX05VTUJFUik7CiAKQEAgLTM3Niw3ICszODQsMTEgQEAgc3RhdGljIFBhc3NSZWZQdHI8Q1NT
Qm9yZGVySW1hZ2VTbGljZVZhbHVlPiB2YWx1ZUZvck5pbmVQaWVjZUltYWdlU2xpY2UoY29uc3Qg
TmkKICAgICAgICAgICAgIGxlZnQgPSByaWdodDsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgIGlmIChpbWFnZS5pbWFnZVNsaWNlcygpLmJvdHRvbSgpLmlzUGVyY2VudCgpKQotICAgICAg
ICAgICAgICAgIGJvdHRvbSA9IHByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKGltYWdl
LmltYWdlU2xpY2VzKCkuYm90dG9tKCkudmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19Q
RVJDRU5UQUdFKTsKKyAgICAgICAgICAgICAgICBpZiAoaW1hZ2UuaW1hZ2VTbGljZXMoKS5ib3R0
b20oKS5pc0NhbGN1bGF0ZWQoKSkgeworICAgICAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsgLy8gRklYTUUgY2FsYworICAgICAgICAgICAgICAgICAgICBib3R0b20gPSBwcmlt
aXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZSgwLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BF
UkNFTlRBR0UpOworICAgICAgICAgICAgICAgIH0gZWxzZSAgICAgICAgIAorICAgICAgICAgICAg
ICAgICAgICBib3R0b20gPSBwcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZShpbWFnZS5p
bWFnZVNsaWNlcygpLmJvdHRvbSgpLnZhbHVlKCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVS
Q0VOVEFHRSk7CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgYm90dG9tID0gcHJp
bWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUoaW1hZ2UuaW1hZ2VTbGljZXMoKS5ib3R0b20o
KS52YWx1ZSgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUik7CiAKQEAgLTM4NCw3ICsz
OTYsMTEgQEAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlPiB2YWx1
ZUZvck5pbmVQaWVjZUltYWdlU2xpY2UoY29uc3QgTmkKICAgICAgICAgICAgICAgICBsZWZ0ID0g
cmlnaHQ7CiAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICBpZiAoaW1hZ2UuaW1h
Z2VTbGljZXMoKS5sZWZ0KCkuaXNQZXJjZW50KCkpCi0gICAgICAgICAgICAgICAgICAgIGxlZnQg
PSBwcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZShpbWFnZS5pbWFnZVNsaWNlcygpLmxl
ZnQoKS52YWx1ZSgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpOworICAgICAg
ICAgICAgICAgICAgICBpZiAoaW1hZ2UuaW1hZ2VTbGljZXMoKS5sZWZ0KCkuaXNDYWxjdWxhdGVk
KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyAvLyBG
SVhNRSBjYWxjCisgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gcHJpbWl0aXZlVmFsdWVD
YWNoZS0+Y3JlYXRlVmFsdWUoMCwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFKTsK
KyAgICAgICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0
ID0gcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUoaW1hZ2UuaW1hZ2VTbGljZXMoKS5s
ZWZ0KCkudmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFKTsKICAgICAg
ICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgIGxlZnQgPSBwcmltaXRpdmVWYWx1
ZUNhY2hlLT5jcmVhdGVWYWx1ZShpbWFnZS5pbWFnZVNsaWNlcygpLmxlZnQoKS52YWx1ZSgpLCBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUik7CiAgICAgICAgICAgICB9CkBAIC01MTQsNyAr
NTMwLDEwIEBAIHN0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZUZvclJlZmxlY3Rpb24o
Y29uc3QgU3R5bGVSZWZsZWN0aW9uKiByZWZsZWN0aW9uCiAKICAgICBSZWZQdHI8Q1NTUHJpbWl0
aXZlVmFsdWU+IG9mZnNldDsKICAgICBpZiAocmVmbGVjdGlvbi0+b2Zmc2V0KCkuaXNQZXJjZW50
KCkpCi0gICAgICAgIG9mZnNldCA9IHByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKHJl
ZmxlY3Rpb24tPm9mZnNldCgpLnBlcmNlbnQoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJD
RU5UQUdFKTsKKyAgICAgICAgaWYgKHJlZmxlY3Rpb24tPm9mZnNldCgpLmlzQ2FsY3VsYXRlZCgp
KQorICAgICAgICAgICAgb2Zmc2V0ID0gIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUocmVmbGVj
dGlvbi0+b2Zmc2V0KCkpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBvZmZzZXQgPSBwcmlt
aXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZShyZWZsZWN0aW9uLT5vZmZzZXQoKS5wZXJjZW50
KCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSk7CiAgICAgZWxzZQogICAgICAg
ICBvZmZzZXQgPSB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlKHJlZmxlY3Rpb24tPm9mZnNldCgpLnZh
bHVlKCksIHN0eWxlLCBwcmltaXRpdmVWYWx1ZUNhY2hlKTsKIApAQCAtMTA4OSw3ICsxMTA4LDcg
QEAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGxpbmVIZWlnaHRGcm9tU3R5
bGUoUmVuZGVyU3R5bGUqIHN0eWxlLCBDU1MKICAgICAgICAgLy8gZm9yIGhvdyBoaWdoIHRvIGJl
IGluIHBpeGVscyBkb2VzIGluY2x1ZGUgdGhpbmdzIGxpa2UgbWluaW11bSBmb250IHNpemUgYW5k
IHRoZSB6b29tIGZhY3Rvci4KICAgICAgICAgLy8gT24gdGhlIG90aGVyIGhhbmQsIHNpbmNlIGZv
bnQtc2l6ZSBkb2Vzbid0IGluY2x1ZGUgdGhlIHpvb20gZmFjdG9yLCB3ZSByZWFsbHkgY2FuJ3Qg
ZG8KICAgICAgICAgLy8gdGhhdCBoZXJlIGVpdGhlci4KLSAgICAgICAgcmV0dXJuIHpvb21BZGp1
c3RlZFBpeGVsVmFsdWUoc3RhdGljX2Nhc3Q8aW50PihsZW5ndGgucGVyY2VudCgpICogc3R5bGUt
PmZvbnREZXNjcmlwdGlvbigpLnNwZWNpZmllZFNpemUoKSkgLyAxMDAsIHN0eWxlLCBwcmltaXRp
dmVWYWx1ZUNhY2hlKTsKKyAgICAgICAgcmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWUoc3Rh
dGljX2Nhc3Q8aW50PihsZW5ndGguY2FsY0Zsb2F0VmFsdWUoc3R5bGUtPmZvbnREZXNjcmlwdGlv
bigpLnNwZWNpZmllZFNpemUoKSkpLCBzdHlsZSwgcHJpbWl0aXZlVmFsdWVDYWNoZSk7CiAgICAg
cmV0dXJuIHpvb21BZGp1c3RlZFBpeGVsVmFsdWUobGVuZ3RoLnZhbHVlKCksIHN0eWxlLCBwcmlt
aXRpdmVWYWx1ZUNhY2hlKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0dyYWRpZW50VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUu
Y3BwCmluZGV4IGI1NWI0NzUxZmMxN2ZkOWY1YWJmYTY2MDk0NjRlZGY5NTU1MWYxYTIuLjQ3YWYw
ZjlkYzdiMjIwMzQzMDVkZDZkMmYzYzJlZDViNjc5MjgxNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTR3JhZGllbnRWYWx1ZS5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJDU1NHcmFkaWVudFZhbHVlLmgiCiAKKyNpbmNsdWRlICJDU1NDYWxjVmFs
dWUuaCIKICNpbmNsdWRlICJDU1NTdHlsZVNlbGVjdG9yLmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVL
ZXl3b3Jkcy5oIgogI2luY2x1ZGUgIkdlbmVyYXRvckdlbmVyYXRlZEltYWdlLmgiCkBAIC0xNzQs
NiArMTc1LDE0IEBAIHZvaWQgQ1NTR3JhZGllbnRWYWx1ZTo6YWRkU3RvcHMoR3JhZGllbnQqIGdy
YWRpZW50LCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBSZW5kCiAgICAgICAgICAgICAgICAgICAg
IGdyYWRpZW50TGVuZ3RoID0gZ3JhZGllbnRTaXplLmRpYWdvbmFsTGVuZ3RoKCk7CiAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgICAgIHN0b3BzW2ldLm9mZnNldCA9IChncmFkaWVudExl
bmd0aCA+IDApID8gbGVuZ3RoIC8gZ3JhZGllbnRMZW5ndGggOiAwOworICAgICAgICAgICAgfSBl
bHNlIGlmICh0eXBlID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfQ0FMQ19QRVJDRU5UQUdFX0xF
TkdUSCkgeworICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBOZWVkIHRvIGhvaXN0IGN1dCtwYXN0
ZSBjb2RlCisgICAgICAgICAgICAgICAgaWYgKCFjb21wdXRlZEdyYWRpZW50TGVuZ3RoKSB7Cisg
ICAgICAgICAgICAgICAgICAgIEZsb2F0U2l6ZSBncmFkaWVudFNpemUoZ3JhZGllbnRTdGFydCAt
IGdyYWRpZW50RW5kKTsKKyAgICAgICAgICAgICAgICAgICAgZ3JhZGllbnRMZW5ndGggPSBncmFk
aWVudFNpemUuZGlhZ29uYWxMZW5ndGgoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgZmxvYXQgbGVuZ3RoID0gc3RvcC5tX3Bvc2l0aW9uLT5jc3NDYWxjVmFsdWUoKS0+dG9D
YWxjVmFsdWUoc3R5bGUsIHJvb3RTdHlsZSwgc3R5bGUtPmVmZmVjdGl2ZVpvb20oKSktPmV2YWx1
YXRlKGdyYWRpZW50TGVuZ3RoKTsKKyAgICAgICAgICAgICAgICBzdG9wc1tpXS5vZmZzZXQgPSAo
Z3JhZGllbnRMZW5ndGggPiAwKSA/IGxlbmd0aCAvIGdyYWRpZW50TGVuZ3RoIDogMDsKICAgICAg
ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAg
ICAgICAgICAgICAgICAgc3RvcHNbaV0ub2Zmc2V0ID0gMDsKQEAgLTM4Myw2ICszOTIsOSBAQCBz
dGF0aWMgZmxvYXQgcG9zaXRpb25Gcm9tVmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUqIHZhbHVlLCBS
ZW5kZXJTdHlsZSogc3R5bGUsIFJlbgogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19Q
RVJDRU5UQUdFOgogICAgICAgICByZXR1cm4gdmFsdWUtPmdldEZsb2F0VmFsdWUoKSAvIDEwMC5m
ICogKGlzSG9yaXpvbnRhbCA/IHNpemUud2lkdGgoKSA6IHNpemUuaGVpZ2h0KCkpOwogCisgICAg
Y2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NBTENfUEVSQ0VOVEFHRV9MRU5HVEg6CisgICAg
ICAgIHJldHVybiB2YWx1ZS0+Y3NzQ2FsY1ZhbHVlKCktPnRvQ2FsY1ZhbHVlKHN0eWxlLCByb290
U3R5bGUsIHN0eWxlLT5lZmZlY3RpdmVab29tKCkpLT5ldmFsdWF0ZShpc0hvcml6b250YWwgPyBz
aXplLndpZHRoKCkgOiBzaXplLmhlaWdodCgpKTsKKwogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19JREVOVDoKICAgICAgICAgc3dpdGNoICh2YWx1ZS0+Z2V0SWRlbnQoKSkgewogICAg
ICAgICAgICAgY2FzZSBDU1NWYWx1ZVRvcDoKQEAgLTM5OCw3ICs0MTAsNiBAQCBzdGF0aWMgZmxv
YXQgcG9zaXRpb25Gcm9tVmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWUqIHZhbHVlLCBSZW5kZXJTdHls
ZSogc3R5bGUsIFJlbgogICAgICAgICAgICAgICAgIEFTU0VSVChpc0hvcml6b250YWwpOwogICAg
ICAgICAgICAgICAgIHJldHVybiBzaXplLndpZHRoKCk7CiAgICAgICAgIH0KLQogICAgIGRlZmF1
bHQ6CiAgICAgICAgIHJldHVybiB2YWx1ZS0+Y29tcHV0ZUxlbmd0aDxmbG9hdD4oc3R5bGUsIHJv
b3RTdHlsZSwgem9vbUZhY3Rvcik7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRl
eCBiYjNmMjk0NzBlZTI3ZTU3YmFhNjlhMDNjZTVkYjNmMWI2ZjZiYjM5Li5mMjNmMjE1NmVlNWM2
NmRlNThjZTIxMTI1NGMzZTMxZjA4MmU3MDFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApA
QCAtNjczLDE3ICs2NzMsNTEgQEAgRG9jdW1lbnQqIENTU1BhcnNlcjo6ZmluZERvY3VtZW50KCkg
Y29uc3QKIGJvb2wgQ1NTUGFyc2VyOjp2YWxpZFVuaXQoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBV
bml0cyB1bml0ZmxhZ3MsIGJvb2wgc3RyaWN0KQogewogICAgIGJvb2wgYiA9IGZhbHNlOworICAg
IGlmIChpc0NhbGNNaW5NYXgodmFsdWUpKSB7CisgICAgICAgIGlmICghcGFyc2VDYWxjKHZhbHVl
LCB1bml0ZmxhZ3MgJiBGTm9uTmVnID8gQ2FsY1JhbmdlTm9uTmVnYXRpdmUgOiBDYWxjUmFuZ2VB
bGwpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgc3dpdGNo
IChtX3BhcnNlZENhbGMtPmNhdGVnb3J5KCkpIHsKKyAgICAgICAgY2FzZSBDYWxjTGVuZ3RoOgor
ICAgICAgICAgICAgYiA9ICh1bml0ZmxhZ3MgJiBGTGVuZ3RoKTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIENhbGNQZXJjZW50OgorICAgICAgICAgICAgYiA9ICh1bml0ZmxhZ3Mg
JiBGUGVyY2VudCk7CisgICAgICAgICAgICBpZiAoYiAmJiAodW5pdGZsYWdzICYgRk5vbk5lZykg
JiYgbV9wYXJzZWRDYWxjLT5kb3VibGVWYWx1ZSgpIDwgMCkKKyAgICAgICAgICAgICAgICBiID0g
ZmFsc2U7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDYWxjTnVtYmVyOgorICAg
ICAgICAgICAgYiA9ICh1bml0ZmxhZ3MgJiBGTnVtYmVyKTsKKyAgICAgICAgICAgIGlmICghYiAm
JiAodW5pdGZsYWdzICYgRkludGVnZXIpICYmIG1fcGFyc2VkQ2FsYy0+aXNJbnQoKSkKKyAgICAg
ICAgICAgICAgICBiID0gdHJ1ZTsKKyAgICAgICAgICAgIGlmIChiICYmICh1bml0ZmxhZ3MgJiBG
Tm9uTmVnKSAmJiBtX3BhcnNlZENhbGMtPmRvdWJsZVZhbHVlKCkgPCAwKQorICAgICAgICAgICAg
ICAgIGIgPSBmYWxzZTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENhbGNQZXJj
ZW50TGVuZ3RoOgorICAgICAgICAgICAgYiA9ICh1bml0ZmxhZ3MgJiBGUGVyY2VudCkgJiYgKHVu
aXRmbGFncyAmIEZMZW5ndGgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ2Fs
Y1BlcmNlbnROdW1iZXI6CisgICAgICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZQZXJjZW50KSAm
JiAodW5pdGZsYWdzICYgRk51bWJlcik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2Fz
ZSBDYWxjT3RoZXI6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICAvLyBU
T0RPOiBoYW5kbGUgRk5vbk5lZworICAgICAgICBpZiAoIWIpCisgICAgICAgICAgICBtX3BhcnNl
ZENhbGMucmVsZWFzZSgpOworICAgICAgICByZXR1cm4gYjsKKyAgICB9CiAgICAgc3dpdGNoICh2
YWx1ZS0+dW5pdCkgewogICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVI6CiAg
ICAgICAgIGIgPSAodW5pdGZsYWdzICYgRk51bWJlcik7Ci0gICAgICAgIGlmICghYiAmJiAoKHVu
aXRmbGFncyAmIChGTGVuZ3RoIHwgRkFuZ2xlIHwgRlRpbWUpKSAmJiAodmFsdWUtPmZWYWx1ZSA9
PSAwIHx8ICFzdHJpY3QpKSkgeworICAgICAgICBpZiAoIWIgJiYgKCh1bml0ZmxhZ3MgJiAoRkxl
bmd0aCB8IEZBbmdsZSB8IEZUaW1lKSkgJiYgKCF2YWx1ZS0+ZlZhbHVlIHx8ICFzdHJpY3QpKSkg
ewogICAgICAgICAgICAgdmFsdWUtPnVuaXQgPSAodW5pdGZsYWdzICYgRkxlbmd0aCkgPyBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTX1BYIDoKICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1bml0
ZmxhZ3MgJiBGQW5nbGUpID8gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19ERUcgOiBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX01TKTsKICAgICAgICAgICAgIGIgPSB0cnVlOwogICAgICAgICB9CiAgICAg
ICAgIGlmICghYiAmJiAodW5pdGZsYWdzICYgRkludGVnZXIpICYmIHZhbHVlLT5pc0ludCkKICAg
ICAgICAgICAgIGIgPSB0cnVlOwotICAgICAgICBicmVhazsKKyAgICAgICAgYnJlYWs7ICAgICAg
ICAgICAgCiAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0U6CiAgICAg
ICAgIGIgPSAodW5pdGZsYWdzICYgRlBlcmNlbnQpOwogICAgICAgICBicmVhazsKQEAgLTcyMiw2
ICs3NTYsMTEgQEAgYm9vbCBDU1NQYXJzZXI6OnZhbGlkVW5pdChDU1NQYXJzZXJWYWx1ZSogdmFs
dWUsIFVuaXRzIHVuaXRmbGFncywgYm9vbCBzdHJpY3QpCiAKIGlubGluZSBQYXNzUmVmUHRyPENT
U1ByaW1pdGl2ZVZhbHVlPiBDU1NQYXJzZXI6OmNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZShD
U1NQYXJzZXJWYWx1ZSogdmFsdWUpCiB7CisgICAgaWYgKG1fcGFyc2VkQ2FsYykgeworICAgICAg
ICBBU1NFUlQoaXNDYWxjTWluTWF4KHZhbHVlKSk7CisgICAgICAgIHJldHVybiBDU1NQcmltaXRp
dmVWYWx1ZTo6Y3JlYXRlKG1fcGFyc2VkQ2FsYy5yZWxlYXNlKCkpOworICAgIH0KKyAgICAgICAg
ICAgICAgIAogICAgIEFTU0VSVCgodmFsdWUtPnVuaXQgPj0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U19OVU1CRVIgJiYgdmFsdWUtPnVuaXQgPD0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19LSFopCiAg
ICAgICAgICAgIHx8ICh2YWx1ZS0+dW5pdCA+PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1RVUk4g
JiYgdmFsdWUtPnVuaXQgPD0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19SRU1TKSk7CiAgICAgcmV0
dXJuIHByaW1pdGl2ZVZhbHVlQ2FjaGUoKS0+Y3JlYXRlVmFsdWUodmFsdWUtPmZWYWx1ZSwgc3Rh
dGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcz4odmFsdWUtPnVuaXQpKTsKQEAg
LTgxOSw2ICs4NTgsOSBAQCBpbmxpbmUgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gQ1NT
UGFyc2VyOjpwYXJzZVZhbGlkUHJpbWl0aXZlKGludCBpZCwgQ1NTUAogICAgICAgICByZXR1cm4g
Y3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKHZhbHVlKTsKICAgICBpZiAodmFsdWUtPnVuaXQg
Pj0gQ1NTUGFyc2VyVmFsdWU6OlFfRU1TKQogICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFs
dWU6OmNyZWF0ZUFsbG93aW5nTWFyZ2luUXVpcmsodmFsdWUtPmZWYWx1ZSwgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19FTVMpOworICAgIGlmIChpc0NhbGNNaW5NYXgodmFsdWUpKQorICAgICAgICBy
ZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShtX3BhcnNlZENhbGMucmVsZWFzZSgpKTsK
KwogICAgIHJldHVybiAwOwogfQogCkBAIC04MzIsNiArODc0LDEwIEBAIGJvb2wgQ1NTUGFyc2Vy
OjpwYXJzZVZhbHVlKGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQogICAgIGlmICghdmFsdWUp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIC8vIE5vdGU6IG1fcGFyc2VkQ2FsYyBpcyB1
c2VkIHRvIHBhc3MgdGhlIGNhbGMgdmFsdWUgdG8gdmFsaWRVbml0IGFuZCB0aGVuIGNsZWFyZWQg
YXQgdGhlIGVuZCBvZiB0aGlzIGZ1bmN0aW9uLgorICAgIC8vIEZJWE1FOiBUaGlzIGlzIHRvIGF2
b2lkIGhhdmluZyB0byBwYXNzIHBhcnNlZENhbGMgdG8gYWxsIHZhbGlkVW5pdCBjYWxsZXJzLgor
ICAgIEFTU0VSVCghbV9wYXJzZWRDYWxjKTsKKyAgICAKICAgICBpbnQgaWQgPSB2YWx1ZS0+aWQ7
CiAKICAgICAvLyBJbiBxdWlya3MgbW9kZSwgd2Ugd2lsbCBsb29rIGZvciB1bml0cyB0aGF0IGhh
dmUgYmVlbiBpbmNvcnJlY3RseSBzZXBhcmF0ZWQgZnJvbSB0aGUgbnVtYmVyIHRoZXkgYmVsb25n
IHRvCkBAIC0yMjI0LDYgKzIyNzAsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShpbnQg
cHJvcElkLCBib29sIGltcG9ydGFudCkKICAgICAgICAgcGFyc2VkVmFsdWUgPSBwYXJzZVZhbGlk
UHJpbWl0aXZlKGlkLCB2YWx1ZSk7CiAgICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CiAgICAg
fQorICAgIEFTU0VSVCghbV9wYXJzZWRDYWxjKTsKICAgICBpZiAocGFyc2VkVmFsdWUpIHsKICAg
ICAgICAgaWYgKCFtX3ZhbHVlTGlzdC0+Y3VycmVudCgpIHx8IGluU2hvcnRoYW5kKCkpIHsKICAg
ICAgICAgICAgIGFkZFByb3BlcnR5KHByb3BJZCwgcGFyc2VkVmFsdWUucmVsZWFzZSgpLCBpbXBv
cnRhbnQpOwpAQCAtMjkzMSw4ICsyOTc4LDExIEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU1Bh
cnNlcjo6cGFyc2VGaWxsUG9zaXRpb25Db21wb25lbnQoQ1NTUGFyc2VyVmFsdWVMaXN0KiB2CiAg
ICAgICAgIH0gZWxzZSBpZiAoY3VtdWxhdGl2ZUZsYWdzICYgKFhGaWxsUG9zaXRpb24gfCBBbWJp
Z3VvdXNGaWxsUG9zaXRpb24pKSB7CiAgICAgICAgICAgICBjdW11bGF0aXZlRmxhZ3MgfD0gWUZp
bGxQb3NpdGlvbjsKICAgICAgICAgICAgIGluZGl2aWR1YWxGbGFnID0gWUZpbGxQb3NpdGlvbjsK
LSAgICAgICAgfSBlbHNlCisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBpZiAobV9wYXJz
ZWRDYWxjKQorICAgICAgICAgICAgICAgIG1fcGFyc2VkQ2FsYy5yZWxlYXNlKCk7CiAgICAgICAg
ICAgICByZXR1cm4gMDsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gY3JlYXRlUHJpbWl0aXZl
TnVtZXJpY1ZhbHVlKHZhbHVlTGlzdC0+Y3VycmVudCgpKTsKICAgICB9CiAgICAgcmV0dXJuIDA7
CkBAIC00NzcyLDIyICs0ODIyLDQ3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yKGNvbnN0
IFN0cmluZyAmbmFtZSwgUkdCQTMyJiByZ2IsIGJvb2wgc3RyaWN0KQogICAgIH0KICAgICByZXR1
cm4gZmFsc2U7CiB9CisgICAgCitpbmxpbmUgZG91YmxlIENTU1BhcnNlcjo6cGFyc2VkRG91Ymxl
KENTU1BhcnNlclZhbHVlICp2LCBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlQ29uZGl0aW9uIHJlbGVh
c2VDYWxjKQoreworICAgIGNvbnN0IGRvdWJsZSByZXN1bHQgPSBtX3BhcnNlZENhbGMgPyBtX3Bh
cnNlZENhbGMtPmRvdWJsZVZhbHVlKCkgOiB2LT5mVmFsdWU7CisgICAgaWYgKHJlbGVhc2VDYWxj
ID09IFJlbGVhc2VQYXJzZWRDYWxjVmFsdWUpCisgICAgICAgIG1fcGFyc2VkQ2FsYy5yZWxlYXNl
KCk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworYm9vbCBDU1NQYXJzZXI6OmlzQ2FsY01pbk1h
eChDU1NQYXJzZXJWYWx1ZSogdmFsdWUpIAoreworICAgIHJldHVybiAodmFsdWUtPnVuaXQgPT0g
Q1NTUGFyc2VyVmFsdWU6OkZ1bmN0aW9uKSAKKyAgICAgICAgJiYgKGVxdWFsSWdub3JpbmdDYXNl
KHZhbHVlLT5mdW5jdGlvbi0+bmFtZSwgIi13ZWJraXQtY2FsYygiKQorICAgICAgICAgICAgfHwg
ZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUtPmZ1bmN0aW9uLT5uYW1lLCAiLXdlYmtpdC1taW4oIikK
KyAgICAgICAgICAgIHx8IGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLT5mdW5jdGlvbi0+bmFtZSwg
Ii13ZWJraXQtbWF4KCIpKTsKK30KIAotc3RhdGljIGlubGluZSBpbnQgY29sb3JJbnRGcm9tVmFs
dWUoQ1NTUGFyc2VyVmFsdWUqIHYpCitpbmxpbmUgaW50IENTU1BhcnNlcjo6Y29sb3JJbnRGcm9t
VmFsdWUoQ1NTUGFyc2VyVmFsdWUqIHYpCiB7Ci0gICAgaWYgKHYtPmZWYWx1ZSA8PSAwLjApCisg
ICAgYm9vbCBpc1BlcmNlbnQ7CisgICAgCisgICAgaWYgKG1fcGFyc2VkQ2FsYykKKyAgICAgICAg
aXNQZXJjZW50ID0gbV9wYXJzZWRDYWxjLT5jYXRlZ29yeSgpID09IENhbGNQZXJjZW50OworICAg
IGVsc2UKKyAgICAgICAgaXNQZXJjZW50ID0gdi0+dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX1BFUkNFTlRBR0U7CisKKyAgICBjb25zdCBkb3VibGUgdmFsdWUgPSBwYXJzZWREb3VibGUo
diwgUmVsZWFzZVBhcnNlZENhbGNWYWx1ZSk7CisgICAgCisgICAgaWYgKHZhbHVlIDw9IDAuMCkK
ICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBpZiAodi0+dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTX1BFUkNFTlRBR0UpIHsKLSAgICAgICAgaWYgKHYtPmZWYWx1ZSA+PSAxMDAuMCkKKyAg
ICBpZiAoaXNQZXJjZW50KSB7CisgICAgICAgIGlmICh2YWx1ZSA+PSAxMDAuMCkKICAgICAgICAg
ICAgIHJldHVybiAyNTU7Ci0gICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KHYtPmZWYWx1
ZSAqIDI1Ni4wIC8gMTAwLjApOworICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pih2YWx1
ZSAqIDI1Ni4wIC8gMTAwLjApOwogICAgIH0KIAotICAgIGlmICh2LT5mVmFsdWUgPj0gMjU1LjAp
CisgICAgaWYgKHZhbHVlID49IDI1NS4wKQogICAgICAgICByZXR1cm4gMjU1OwogCi0gICAgcmV0
dXJuIHN0YXRpY19jYXN0PGludD4odi0+ZlZhbHVlKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
aW50Pih2YWx1ZSk7CiB9CiAKIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUNvbG9yUGFyYW1ldGVycyhD
U1NQYXJzZXJWYWx1ZSogdmFsdWUsIGludCogY29sb3JBcnJheSwgYm9vbCBwYXJzZUFscGhhKQpA
QCAtNDgwMiw2ICs0ODc3LDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ29sb3JQYXJhbWV0ZXJz
KENTU1BhcnNlclZhbHVlKiB2YWx1ZSwgaW50KiBjb2xvckFycmF5LCBib28KICAgICAgICAgdW5p
dFR5cGUgPSBGUGVyY2VudDsKICAgICBlbHNlCiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAK
ICAgICBjb2xvckFycmF5WzBdID0gY29sb3JJbnRGcm9tVmFsdWUodik7CiAgICAgZm9yIChpbnQg
aSA9IDE7IGkgPCAzOyBpKyspIHsKICAgICAgICAgdiA9IGFyZ3MtPm5leHQoKTsKQEAgLTQ4MTks
OSArNDg5NSwxMCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VDb2xvclBhcmFtZXRlcnMoQ1NTUGFy
c2VyVmFsdWUqIHZhbHVlLCBpbnQqIGNvbG9yQXJyYXksIGJvbwogICAgICAgICB2ID0gYXJncy0+
bmV4dCgpOwogICAgICAgICBpZiAoIXZhbGlkVW5pdCh2LCBGTnVtYmVyLCB0cnVlKSkKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgY29uc3QgZG91YmxlIHZhbHVlID0gcGFyc2Vk
RG91YmxlKHYsIFJlbGVhc2VQYXJzZWRDYWxjVmFsdWUpOwogICAgICAgICAvLyBDb252ZXJ0IHRo
ZSBmbG9hdGluZyBwb2ludGVyIG51bWJlciBvZiBhbHBoYSB0byBhbiBpbnRlZ2VyIGluIHRoZSBy
YW5nZSBbMCwgMjU2KSwKICAgICAgICAgLy8gd2l0aCBhbiBlcXVhbCBkaXN0cmlidXRpb24gYWNy
b3NzIGFsbCAyNTYgdmFsdWVzLgotICAgICAgICBjb2xvckFycmF5WzNdID0gc3RhdGljX2Nhc3Q8
aW50PihtYXgoMC4wLCBtaW4oMS4wLCB2LT5mVmFsdWUpKSAqIG5leHRhZnRlcigyNTYuMCwgMC4w
KSk7CisgICAgICAgIGNvbG9yQXJyYXlbM10gPSBzdGF0aWNfY2FzdDxpbnQ+KG1heCgwLjAsIG1p
bigxLjAsIHZhbHVlKSkgKiBuZXh0YWZ0ZXIoMjU2LjAsIDAuMCkpOwogICAgIH0KICAgICByZXR1
cm4gdHJ1ZTsKIH0KQEAgLTQ4MzksNyArNDkxNiw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUhT
TFBhcmFtZXRlcnMoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBkb3VibGUqIGNvbG9yQXJyYXksIGJv
CiAgICAgaWYgKCF2YWxpZFVuaXQodiwgRk51bWJlciwgdHJ1ZSkpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAvLyBub3JtYWxpemUgdGhlIEh1ZSB2YWx1ZSBhbmQgY2hhbmdlIGl0IHRvIGJl
IGJldHdlZW4gMCBhbmQgMS4wCi0gICAgY29sb3JBcnJheVswXSA9ICgoKHN0YXRpY19jYXN0PGlu
dD4odi0+ZlZhbHVlKSAlIDM2MCkgKyAzNjApICUgMzYwKSAvIDM2MC4wOworICAgIGNvbG9yQXJy
YXlbMF0gPSAoKChzdGF0aWNfY2FzdDxpbnQ+KHBhcnNlZERvdWJsZSh2LCBSZWxlYXNlUGFyc2Vk
Q2FsY1ZhbHVlKSkgJSAzNjApICsgMzYwKSAlIDM2MCkgLyAzNjAuMDsKICAgICBmb3IgKGludCBp
ID0gMTsgaSA8IDM7IGkrKykgewogICAgICAgICB2ID0gYXJncy0+bmV4dCgpOwogICAgICAgICBp
ZiAodi0+dW5pdCAhPSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3IgJiYgdi0+aVZhbHVlICE9ICcs
JykKQEAgLTQ4NDcsNyArNDkyNCw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUhTTFBhcmFtZXRl
cnMoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBkb3VibGUqIGNvbG9yQXJyYXksIGJvCiAgICAgICAg
IHYgPSBhcmdzLT5uZXh0KCk7CiAgICAgICAgIGlmICghdmFsaWRVbml0KHYsIEZQZXJjZW50LCB0
cnVlKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgY29sb3JBcnJheVtpXSA9
IG1heCgwLjAsIG1pbigxMDAuMCwgdi0+ZlZhbHVlKSkgLyAxMDAuMDsgLy8gbmVlZHMgdG8gYmUg
dmFsdWUgYmV0d2VlbiAwIGFuZCAxLjAKKyAgICAgICAgY29sb3JBcnJheVtpXSA9IG1heCgwLjAs
IG1pbigxMDAuMCwgcGFyc2VkRG91YmxlKHYsIFJlbGVhc2VQYXJzZWRDYWxjVmFsdWUpKSkgLyAx
MDAuMDsgLy8gbmVlZHMgdG8gYmUgdmFsdWUgYmV0d2VlbiAwIGFuZCAxLjAKICAgICB9CiAgICAg
aWYgKHBhcnNlQWxwaGEpIHsKICAgICAgICAgdiA9IGFyZ3MtPm5leHQoKTsKQEAgLTQ4NTYsNyAr
NDkzMyw3IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUhTTFBhcmFtZXRlcnMoQ1NTUGFyc2VyVmFs
dWUqIHZhbHVlLCBkb3VibGUqIGNvbG9yQXJyYXksIGJvCiAgICAgICAgIHYgPSBhcmdzLT5uZXh0
KCk7CiAgICAgICAgIGlmICghdmFsaWRVbml0KHYsIEZOdW1iZXIsIHRydWUpKQogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBjb2xvckFycmF5WzNdID0gbWF4KDAuMCwgbWluKDEu
MCwgdi0+ZlZhbHVlKSk7CisgICAgICAgIGNvbG9yQXJyYXlbM10gPSBtYXgoMC4wLCBtaW4oMS4w
LCBwYXJzZWREb3VibGUodiwgUmVsZWFzZVBhcnNlZENhbGNWYWx1ZSkpKTsKICAgICB9CiAgICAg
cmV0dXJuIHRydWU7CiB9CkBAIC00OTI0LDkgKzUwMDEsOSBAQCBib29sIENTU1BhcnNlcjo6cGFy
c2VDb2xvckZyb21WYWx1ZShDU1NQYXJzZXJWYWx1ZSogdmFsdWUsIFJHQkEzMiYgYykKIC8vIFRo
aXMgY2xhc3MgdHJhY2tzIHBhcnNpbmcgc3RhdGUgZm9yIHNoYWRvdyB2YWx1ZXMuICBJZiBpdCBn
b2VzIG91dCBvZiBzY29wZSAoZS5nLiwgZHVlIHRvIGFuIGVhcmx5IHJldHVybikKIC8vIHdpdGhv
dXQgdGhlIGFsbG93QnJlYWsgYml0IGJlaW5nIHNldCwgdGhlbiBpdCB3aWxsIGNsZWFuIHVwIGFs
bCBvZiB0aGUgb2JqZWN0cyBhbmQgZGVzdHJveSB0aGVtLgogc3RydWN0IFNoYWRvd1BhcnNlQ29u
dGV4dCB7Ci0gICAgU2hhZG93UGFyc2VDb250ZXh0KENTU1Byb3BlcnR5SUQgcHJvcCwgQ1NTUHJp
bWl0aXZlVmFsdWVDYWNoZSogcHJpbWl0aXZlVmFsdWVDYWNoZSkKKyAgICBTaGFkb3dQYXJzZUNv
bnRleHQoQ1NTUHJvcGVydHlJRCBwcm9wLCBDU1NQYXJzZXIqIHBhcmVudCkKICAgICAgICAgOiBw
cm9wZXJ0eShwcm9wKQotICAgICAgICAsIG1fcHJpbWl0aXZlVmFsdWVDYWNoZShwcmltaXRpdmVW
YWx1ZUNhY2hlKQorICAgICAgICAsIG1fcGFyZW50KHBhcmVudCkKICAgICAgICAgLCBhbGxvd1go
dHJ1ZSkKICAgICAgICAgLCBhbGxvd1koZmFsc2UpCiAgICAgICAgICwgYWxsb3dCbHVyKGZhbHNl
KQpAQCAtNDk2OSw3ICs1MDQ2LDcgQEAgc3RydWN0IFNoYWRvd1BhcnNlQ29udGV4dCB7CiAKICAg
ICB2b2lkIGNvbW1pdExlbmd0aChDU1NQYXJzZXJWYWx1ZSogdikKICAgICB7Ci0gICAgICAgIFJl
ZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFsID0gbV9wcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVh
dGVWYWx1ZSh2LT5mVmFsdWUsIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKXYtPnVuaXQp
OworICAgICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbCA9IG1fcGFyZW50LT5jcmVh
dGVQcmltaXRpdmVOdW1lcmljVmFsdWUodik7CiAKICAgICAgICAgaWYgKGFsbG93WCkgewogICAg
ICAgICAgICAgeCA9IHZhbC5yZWxlYXNlKCk7CkBAIC01MDExLDcgKzUwODgsNyBAQCBzdHJ1Y3Qg
U2hhZG93UGFyc2VDb250ZXh0IHsKIAogICAgIHZvaWQgY29tbWl0U3R5bGUoQ1NTUGFyc2VyVmFs
dWUqIHYpCiAgICAgewotICAgICAgICBzdHlsZSA9IG1fcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3Jl
YXRlSWRlbnRpZmllclZhbHVlKHYtPmlkKTsKKyAgICAgICAgc3R5bGUgPSBtX3BhcmVudC0+cHJp
bWl0aXZlVmFsdWVDYWNoZSgpLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUodi0+aWQpOwogICAgICAg
ICBhbGxvd1N0eWxlID0gZmFsc2U7CiAgICAgICAgIGlmIChhbGxvd1gpCiAgICAgICAgICAgICBh
bGxvd0JyZWFrID0gZmFsc2U7CkBAIC01MDIzLDcgKzUxMDAsNyBAQCBzdHJ1Y3QgU2hhZG93UGFy
c2VDb250ZXh0IHsKICAgICB9CiAKICAgICBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5OwotICAgIENT
U1ByaW1pdGl2ZVZhbHVlQ2FjaGUqIG1fcHJpbWl0aXZlVmFsdWVDYWNoZTsKKyAgICBDU1NQYXJz
ZXIqIG1fcGFyZW50OwogCiAgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gdmFsdWVzOwogICAgIFJl
ZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4geDsKQEAgLTUwNDQsNyArNTEyMSw3IEBAIHN0cnVjdCBT
aGFkb3dQYXJzZUNvbnRleHQgewogCiBQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gQ1NTUGFyc2Vy
OjpwYXJzZVNoYWRvdyhDU1NQYXJzZXJWYWx1ZUxpc3QqIHZhbHVlTGlzdCwgaW50IHByb3BJZCkK
IHsKLSAgICBTaGFkb3dQYXJzZUNvbnRleHQgY29udGV4dChzdGF0aWNfY2FzdDxDU1NQcm9wZXJ0
eUlEPihwcm9wSWQpLCBwcmltaXRpdmVWYWx1ZUNhY2hlKCkpOworICAgIFNoYWRvd1BhcnNlQ29u
dGV4dCBjb250ZXh0KHN0YXRpY19jYXN0PENTU1Byb3BlcnR5SUQ+KHByb3BJZCksIHRoaXMpOwog
ICAgIENTU1BhcnNlclZhbHVlKiB2YWw7CiAgICAgd2hpbGUgKCh2YWwgPSB2YWx1ZUxpc3QtPmN1
cnJlbnQoKSkpIHsKICAgICAgICAgLy8gQ2hlY2sgZm9yIGEgY29tbWEgYnJlYWsgZmlyc3QuCkBA
IC01NDEyLDggKzU0ODksOCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VCb3JkZXJJbWFnZVJlcGVh
dChSZWZQdHI8Q1NTVmFsdWU+JiByZXN1bHQpCiAKIGNsYXNzIEJvcmRlckltYWdlU2xpY2VQYXJz
ZUNvbnRleHQgewogcHVibGljOgotICAgIEJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQoQ1NT
UHJpbWl0aXZlVmFsdWVDYWNoZSogcHJpbWl0aXZlVmFsdWVDYWNoZSkKLSAgICA6IG1fcHJpbWl0
aXZlVmFsdWVDYWNoZShwcmltaXRpdmVWYWx1ZUNhY2hlKQorICAgIEJvcmRlckltYWdlU2xpY2VQ
YXJzZUNvbnRleHQoQ1NTUGFyc2VyKiBwYXJlbnQpCisgICAgOiBtX3BhcmVudChwYXJlbnQpCiAg
ICAgLCBtX2FsbG93TnVtYmVyKHRydWUpCiAgICAgLCBtX2FsbG93RmlsbChmYWxzZSkKICAgICAs
IG1fYWxsb3dGaW5hbENvbW1pdChmYWxzZSkKQEAgLTU0MjcsNyArNTUwNCw3IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgY29tbWl0TnVtYmVyKENTU1BhcnNlclZhbHVlKiB2KQogICAgIHsKLSAgICAg
ICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWwgPSBtX3ByaW1pdGl2ZVZhbHVlQ2FjaGUt
PmNyZWF0ZVZhbHVlKHYtPmZWYWx1ZSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpdi0+
dW5pdCk7CisgICAgICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFsID0gbV9wYXJlbnQt
PmNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZSh2KTsKICAgICAgICAgaWYgKCFtX3RvcCkKICAg
ICAgICAgICAgIG1fdG9wID0gdmFsOwogICAgICAgICBlbHNlIGlmICghbV9yaWdodCkKQEAgLTU0
NTQsMTYgKzU1MzEsMTYgQEAgcHVibGljOgogICAgICAgICAvLyBXZSBuZWVkIHRvIGNsb25lIGFu
ZCByZXBlYXQgdmFsdWVzIGZvciBhbnkgb21pc3Npb25zLgogICAgICAgICBBU1NFUlQobV90b3Ap
OwogICAgICAgICBpZiAoIW1fcmlnaHQpIHsKLSAgICAgICAgICAgIG1fcmlnaHQgPSBtX3ByaW1p
dGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NT
UHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsKLSAgICAg
ICAgICAgIG1fYm90dG9tID0gbV9wcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZShtX3Rv
cC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90b3At
PnByaW1pdGl2ZVR5cGUoKSk7Ci0gICAgICAgICAgICBtX2xlZnQgPSBtX3ByaW1pdGl2ZVZhbHVl
Q2FjaGUtPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZl
VmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsKKyAgICAgICAgICAgIG1f
cmlnaHQgPSBtX3BhcmVudC0+cHJpbWl0aXZlVmFsdWVDYWNoZSgpLT5jcmVhdGVWYWx1ZShtX3Rv
cC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90b3At
PnByaW1pdGl2ZVR5cGUoKSk7CisgICAgICAgICAgICBtX2JvdHRvbSA9IG1fcGFyZW50LT5wcmlt
aXRpdmVWYWx1ZUNhY2hlKCktPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVWYWx1ZSgpLCAo
Q1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsKKyAg
ICAgICAgICAgIG1fbGVmdCA9IG1fcGFyZW50LT5wcmltaXRpdmVWYWx1ZUNhY2hlKCktPmNyZWF0
ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRU
eXBlcyltX3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsKICAgICAgICAgfQogICAgICAgICBpZiAoIW1f
Ym90dG9tKSB7Ci0gICAgICAgICAgICBtX2JvdHRvbSA9IG1fcHJpbWl0aXZlVmFsdWVDYWNoZS0+
Y3JlYXRlVmFsdWUobV90b3AtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6
VW5pdFR5cGVzKW1fdG9wLT5wcmltaXRpdmVUeXBlKCkpOwotICAgICAgICAgICAgbV9sZWZ0ID0g
bV9wcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZShtX3JpZ2h0LT5nZXREb3VibGVWYWx1
ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3JpZ2h0LT5wcmltaXRpdmVUeXBl
KCkpOworICAgICAgICAgICAgbV9ib3R0b20gPSBtX3BhcmVudC0+cHJpbWl0aXZlVmFsdWVDYWNo
ZSgpLT5jcmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZh
bHVlOjpVbml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7CisgICAgICAgICAgICBtX2xl
ZnQgPSBtX3BhcmVudC0+cHJpbWl0aXZlVmFsdWVDYWNoZSgpLT5jcmVhdGVWYWx1ZShtX3JpZ2h0
LT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3JpZ2h0
LT5wcmltaXRpdmVUeXBlKCkpOwogICAgICAgICB9CiAgICAgICAgIGlmICghbV9sZWZ0KQotICAg
ICAgICAgICAgIG1fbGVmdCA9IG1fcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUobV9y
aWdodC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV9y
aWdodC0+cHJpbWl0aXZlVHlwZSgpKTsKKyAgICAgICAgICAgICBtX2xlZnQgPSBtX3BhcmVudC0+
cHJpbWl0aXZlVmFsdWVDYWNoZSgpLT5jcmVhdGVWYWx1ZShtX3JpZ2h0LT5nZXREb3VibGVWYWx1
ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3JpZ2h0LT5wcmltaXRpdmVUeXBl
KCkpOwogCiAgICAgICAgIC8vIE5vdyBidWlsZCBhIHJlY3QgdmFsdWUgdG8gaG9sZCBhbGwgZm91
ciBvZiBvdXIgcHJpbWl0aXZlIHZhbHVlcy4KICAgICAgICAgUmVmUHRyPFF1YWQ+IHF1YWQgPSBR
dWFkOjpjcmVhdGUoKTsKQEAgLTU0NzMsMTEgKzU1NTAsMTEgQEAgcHVibGljOgogICAgICAgICBx
dWFkLT5zZXRMZWZ0KG1fbGVmdCk7CiAKICAgICAgICAgLy8gTWFrZSBvdXIgbmV3IGJvcmRlciBp
bWFnZSB2YWx1ZSBub3cuCi0gICAgICAgIHJldHVybiBDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWU6
OmNyZWF0ZShtX3ByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKHF1YWQucmVsZWFzZSgp
KSwgbV9maWxsKTsKKyAgICAgICAgcmV0dXJuIENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZTo6Y3Jl
YXRlKG1fcGFyZW50LT5wcmltaXRpdmVWYWx1ZUNhY2hlKCktPmNyZWF0ZVZhbHVlKHF1YWQucmVs
ZWFzZSgpKSwgbV9maWxsKTsKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgQ1NTUHJpbWl0aXZlVmFs
dWVDYWNoZSogbV9wcmltaXRpdmVWYWx1ZUNhY2hlOworICAgIENTU1BhcnNlciogbV9wYXJlbnQ7
CiAKICAgICBib29sIG1fYWxsb3dOdW1iZXI7CiAgICAgYm9vbCBtX2FsbG93RmlsbDsKQEAgLTU0
OTMsNyArNTU3MCw3IEBAIHByaXZhdGU6CiAKIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUJvcmRlcklt
YWdlU2xpY2UoaW50IHByb3BJZCwgUmVmUHRyPENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZT4mIHJl
c3VsdCkKIHsKLSAgICBCb3JkZXJJbWFnZVNsaWNlUGFyc2VDb250ZXh0IGNvbnRleHQocHJpbWl0
aXZlVmFsdWVDYWNoZSgpKTsKKyAgICBCb3JkZXJJbWFnZVNsaWNlUGFyc2VDb250ZXh0IGNvbnRl
eHQodGhpcyk7CiAgICAgQ1NTUGFyc2VyVmFsdWUqIHZhbDsKICAgICB3aGlsZSAoKHZhbCA9IG1f
dmFsdWVMaXN0LT5jdXJyZW50KCkpKSB7CiAgICAgICAgIGlmIChjb250ZXh0LmFsbG93TnVtYmVy
KCkgJiYgdmFsaWRVbml0KHZhbCwgRkludGVnZXIgfCBGTm9uTmVnIHwgRlBlcmNlbnQsIHRydWUp
KSB7CkBAIC01NTI5LDggKzU2MDYsOCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VCb3JkZXJJbWFn
ZVNsaWNlKGludCBwcm9wSWQsIFJlZlB0cjxDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdQogCiBjbGFz
cyBCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQgewogcHVibGljOgotICAgIEJvcmRlckltYWdl
UXVhZFBhcnNlQ29udGV4dChDU1NQcmltaXRpdmVWYWx1ZUNhY2hlKiBwcmltaXRpdmVWYWx1ZUNh
Y2hlKQotICAgIDogbV9wcmltaXRpdmVWYWx1ZUNhY2hlKHByaW1pdGl2ZVZhbHVlQ2FjaGUpCisg
ICAgQm9yZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0KENTU1BhcnNlciogcGFyZW50KQorICAgIDog
bV9wYXJlbnQocGFyZW50KQogICAgICwgbV9hbGxvd051bWJlcih0cnVlKQogICAgICwgbV9hbGxv
d0ZpbmFsQ29tbWl0KGZhbHNlKQogICAgIHsgfQpAQCAtNTU0Myw5ICs1NjIwLDkgQEAgcHVibGlj
OgogICAgIHsKICAgICAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWw7CiAgICAgICAg
IGlmICh2LT5pZCA9PSBDU1NWYWx1ZUF1dG8pCi0gICAgICAgICAgICB2YWwgPSBtX3ByaW1pdGl2
ZVZhbHVlQ2FjaGUtPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2LT5pZCk7CisgICAgICAgICAgICB2
YWwgPSBtX3BhcmVudC0+cHJpbWl0aXZlVmFsdWVDYWNoZSgpLT5jcmVhdGVJZGVudGlmaWVyVmFs
dWUodi0+aWQpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICB2YWwgPSBtX3ByaW1pdGl2ZVZh
bHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKHYtPmZWYWx1ZSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0
VHlwZXMpdi0+dW5pdCk7CisgICAgICAgICAgICB2YWwgPSBtX3BhcmVudC0+Y3JlYXRlUHJpbWl0
aXZlTnVtZXJpY1ZhbHVlKHYpOwogCiAgICAgICAgIGlmICghbV90b3ApCiAgICAgICAgICAgICBt
X3RvcCA9IHZhbDsKQEAgLTU1NzAsMTcgKzU2NDcsMzIgQEAgcHVibGljOgogICAgICAgICAvLyBX
ZSBuZWVkIHRvIGNsb25lIGFuZCByZXBlYXQgdmFsdWVzIGZvciBhbnkgb21pc3Npb25zLgogICAg
ICAgICBBU1NFUlQobV90b3ApOwogICAgICAgICBpZiAoIW1fcmlnaHQpIHsKLSAgICAgICAgICAg
IG1fcmlnaHQgPSBtX3ByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXRE
b3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0
aXZlVHlwZSgpKTsKLSAgICAgICAgICAgIG1fYm90dG9tID0gbV9wcmltaXRpdmVWYWx1ZUNhY2hl
LT5jcmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVl
OjpVbml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7Ci0gICAgICAgICAgICBtX2xlZnQg
PSBtX3ByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVWYWx1
ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0aXZlVHlwZSgp
KTsKKyAgICAgICAgICAgIGlmIChtX3RvcC0+aXNDYWxjdWxhdGVkKCkpIHsKKyAgICAgICAgICAg
ICAgICBtX3JpZ2h0ID0gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShhZG9wdFJlZihtX3RvcC0+
Y3NzQ2FsY1ZhbHVlKCkpKTsKKyAgICAgICAgICAgICAgICBtX2JvdHRvbSA9IENTU1ByaW1pdGl2
ZVZhbHVlOjpjcmVhdGUoYWRvcHRSZWYobV90b3AtPmNzc0NhbGNWYWx1ZSgpKSk7CisgICAgICAg
ICAgICAgICAgbV9sZWZ0ID0gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShhZG9wdFJlZihtX3Rv
cC0+Y3NzQ2FsY1ZhbHVlKCkpKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg
ICAgbV9yaWdodCA9IG1fcGFyZW50LT5wcmltaXRpdmVWYWx1ZUNhY2hlKCktPmNyZWF0ZVZhbHVl
KG1fdG9wLT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcylt
X3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsKKyAgICAgICAgICAgICAgICBtX2JvdHRvbSA9IG1fcGFy
ZW50LT5wcmltaXRpdmVWYWx1ZUNhY2hlKCktPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVW
YWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0aXZlVHlw
ZSgpKTsKKyAgICAgICAgICAgICAgICBtX2xlZnQgPSBtX3BhcmVudC0+cHJpbWl0aXZlVmFsdWVD
YWNoZSgpLT5jcmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2
ZVZhbHVlOjpVbml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7CisgICAgICAgICAgICB9
CiAgICAgICAgIH0KICAgICAgICAgaWYgKCFtX2JvdHRvbSkgewotICAgICAgICAgICAgbV9ib3R0
b20gPSBtX3ByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVW
YWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0aXZlVHlw
ZSgpKTsKLSAgICAgICAgICAgIG1fbGVmdCA9IG1fcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRl
VmFsdWUobV9yaWdodC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0
VHlwZXMpbV9yaWdodC0+cHJpbWl0aXZlVHlwZSgpKTsKKyAgICAgICAgICAgIGlmIChtX3RvcC0+
aXNDYWxjdWxhdGVkKCkpCisgICAgICAgICAgICAgICAgbV9ib3R0b20gPSBDU1NQcmltaXRpdmVW
YWx1ZTo6Y3JlYXRlKGFkb3B0UmVmKG1fdG9wLT5jc3NDYWxjVmFsdWUoKSkpOworICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgIG1fYm90dG9tID0gbV9wYXJlbnQtPnByaW1pdGl2ZVZh
bHVlQ2FjaGUoKS0+Y3JlYXRlVmFsdWUobV90b3AtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmlt
aXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmltaXRpdmVUeXBlKCkpOworICAgICAgICAg
ICAgaWYgKG1fcmlnaHQtPmlzQ2FsY3VsYXRlZCgpKQorICAgICAgICAgICAgICAgIG1fbGVmdCA9
IENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoYWRvcHRSZWYobV9yaWdodC0+Y3NzQ2FsY1ZhbHVl
KCkpKTsKKyAgICAgICAgICAgIGVsc2UgCisgICAgICAgICAgICAgICAgbV9sZWZ0ID0gbV9wYXJl
bnQtPnByaW1pdGl2ZVZhbHVlQ2FjaGUoKS0+Y3JlYXRlVmFsdWUobV9yaWdodC0+Z2V0RG91Ymxl
VmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV9yaWdodC0+cHJpbWl0aXZl
VHlwZSgpKTsKKyAgICAgICAgfQorICAgICAgICBpZiAoIW1fbGVmdCkgeworICAgICAgICAgICAg
aWYgKG1fcmlnaHQtPmlzQ2FsY3VsYXRlZCgpKQorICAgICAgICAgICAgICAgIG1fbGVmdCA9IENT
U1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoYWRvcHRSZWYobV9yaWdodC0+Y3NzQ2FsY1ZhbHVlKCkp
KTsKKyAgICAgICAgICAgIGVsc2UgCisgICAgICAgICAgICAgICAgbV9sZWZ0ID0gbV9wYXJlbnQt
PnByaW1pdGl2ZVZhbHVlQ2FjaGUoKS0+Y3JlYXRlVmFsdWUobV9yaWdodC0+Z2V0RG91YmxlVmFs
dWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV9yaWdodC0+cHJpbWl0aXZlVHlw
ZSgpKTsKICAgICAgICAgfQotICAgICAgICBpZiAoIW1fbGVmdCkKLSAgICAgICAgICAgICBtX2xl
ZnQgPSBtX3ByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKG1fcmlnaHQtPmdldERvdWJs
ZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fcmlnaHQtPnByaW1pdGl2
ZVR5cGUoKSk7Ci0KICAgICAgICAgLy8gTm93IGJ1aWxkIGEgcXVhZCB2YWx1ZSB0byBob2xkIGFs
bCBmb3VyIG9mIG91ciBwcmltaXRpdmUgdmFsdWVzLgogICAgICAgICBSZWZQdHI8UXVhZD4gcXVh
ZCA9IFF1YWQ6OmNyZWF0ZSgpOwogICAgICAgICBxdWFkLT5zZXRUb3AobV90b3ApOwpAQCAtNTU4
OSwxMSArNTY4MSwxMSBAQCBwdWJsaWM6CiAgICAgICAgIHF1YWQtPnNldExlZnQobV9sZWZ0KTsK
IAogICAgICAgICAvLyBNYWtlIG91ciBuZXcgdmFsdWUgbm93LgotICAgICAgICByZXR1cm4gbV9w
cmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZShxdWFkLnJlbGVhc2UoKSk7CisgICAgICAg
IHJldHVybiBtX3BhcmVudC0+cHJpbWl0aXZlVmFsdWVDYWNoZSgpLT5jcmVhdGVWYWx1ZShxdWFk
LnJlbGVhc2UoKSk7CiAgICAgfQogCiBwcml2YXRlOgotICAgIENTU1ByaW1pdGl2ZVZhbHVlQ2Fj
aGUqIG1fcHJpbWl0aXZlVmFsdWVDYWNoZTsKKyAgICBDU1NQYXJzZXIqIG1fcGFyZW50OwogCiAg
ICAgYm9vbCBtX2FsbG93TnVtYmVyOwogICAgIGJvb2wgbV9hbGxvd0ZpbmFsQ29tbWl0OwpAQCAt
NTYwNiw3ICs1Njk4LDcgQEAgcHJpdmF0ZToKIAogYm9vbCBDU1NQYXJzZXI6OnBhcnNlQm9yZGVy
SW1hZ2VRdWFkKFVuaXRzIHZhbGlkVW5pdHMsIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4mIHJl
c3VsdCkKIHsKLSAgICBCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQgY29udGV4dChwcmltaXRp
dmVWYWx1ZUNhY2hlKCkpOworICAgIEJvcmRlckltYWdlUXVhZFBhcnNlQ29udGV4dCBjb250ZXh0
KHRoaXMpOwogICAgIENTU1BhcnNlclZhbHVlKiB2YWw7CiAgICAgd2hpbGUgKCh2YWwgPSBtX3Zh
bHVlTGlzdC0+Y3VycmVudCgpKSkgewogICAgICAgICBpZiAoY29udGV4dC5hbGxvd051bWJlcigp
ICYmICh2YWxpZFVuaXQodmFsLCB2YWxpZFVuaXRzLCB0cnVlKSB8fCB2YWwtPmlkID09IENTU1Zh
bHVlQXV0bykpIHsKQEAgLTcxMzMsNiArNzIyNSwyMyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VG
b250RmVhdHVyZVNldHRpbmdzKGJvb2wgaW1wb3J0YW50KQogICAgIHJldHVybiBmYWxzZTsKIH0K
IAorYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ2FsYyhDU1NQYXJzZXJWYWx1ZSogdmFsdWUsIENhbGNQ
ZXJtaXR0ZWRWYWx1ZVJhbmdlIHJhbmdlKSAKK3sKKyAgICBBU1NFUlQoaXNDYWxjTWluTWF4KHZh
bHVlKSk7CisgICAgCisgICAgQ1NTUGFyc2VyVmFsdWVMaXN0KiBhcmdzID0gdmFsdWUtPmZ1bmN0
aW9uLT5hcmdzLmdldCgpOworICAgIGlmICghYXJncyB8fCAhYXJncy0+c2l6ZSgpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBBU1NFUlQoIW1fcGFyc2VkQ2FsYyk7CisgICAgbV9wYXJz
ZWRDYWxjID0gQ1NTQ2FsY1ZhbHVlOjpjcmVhdGUodmFsdWUtPmZ1bmN0aW9uLT5uYW1lLCBhcmdz
LCByYW5nZSk7CisgICAgCisgICAgaWYgKCFtX3BhcnNlZENhbGMpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAKKyAgICByZXR1cm4gdHJ1ZTsKK30KKyAgICAKIHN0YXRpYyBpbmxpbmUgaW50
IHl5ZXJyb3IoY29uc3QgY2hhciopIHsgcmV0dXJuIDE7IH0KIAogI2RlZmluZSBFTkRfVE9LRU4g
MApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5oCmluZGV4IDY4OTU4M2M0MjgwMTQyMDA5OTFhZjFmNmU0YWRi
N2RkNGQ5NjA0Y2MuLjI0MDFjZDYyNmJlMjcxYzYwNzI3ZmRjODY0Y2Q5OTBjN2RjMDcxYjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmgKQEAgLTIzLDYgKzIzLDcgQEAKICNpZm5kZWYgQ1NTUGFyc2Vy
X2gKICNkZWZpbmUgQ1NTUGFyc2VyX2gKIAorI2luY2x1ZGUgIkNTU0NhbGNWYWx1ZS5oIgogI2lu
Y2x1ZGUgIkNTU0dyYWRpZW50VmFsdWUuaCIKICNpbmNsdWRlICJDU1NQYXJzZXJWYWx1ZXMuaCIK
ICNpbmNsdWRlICJDU1NQcm9wZXJ0eVNvdXJjZURhdGEuaCIKQEAgLTIwMiw2ICsyMDMsNyBAQCBw
dWJsaWM6CiAgICAgYm9vbCBwYXJzZVRleHRFbXBoYXNpc1N0eWxlKGJvb2wgaW1wb3J0YW50KTsK
IAogICAgIGJvb2wgcGFyc2VMaW5lQm94Q29udGFpbihib29sIGltcG9ydGFudCk7CisgICAgYm9v
bCBwYXJzZUNhbGMoQ1NTUGFyc2VyVmFsdWUqLCBDYWxjUGVybWl0dGVkVmFsdWVSYW5nZSk7CiAK
ICAgICBib29sIHBhcnNlRm9udEZlYXR1cmVUYWcoQ1NTVmFsdWVMaXN0Kik7CiAgICAgYm9vbCBw
YXJzZUZvbnRGZWF0dXJlU2V0dGluZ3MoYm9vbCBpbXBvcnRhbnQpOwpAQCAtMzExLDYgKzMxMyw5
IEBAIHB1YmxpYzoKICAgICB2b2lkIGNvdW50TGluZXMoKTsKICAgICBpbnQgbGV4KCk7CiAKKyAg
ICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjcmVhdGVQcmltaXRpdmVOdW1lcmljVmFs
dWUoQ1NTUGFyc2VyVmFsdWUqKTsKKyAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBj
cmVhdGVQcmltaXRpdmVTdHJpbmdWYWx1ZShDU1NQYXJzZXJWYWx1ZSopOworICAgICAgICAKIHBy
aXZhdGU6CiAgICAgdm9pZCBzZXRTdHlsZVNoZWV0KENTU1N0eWxlU2hlZXQqKTsKIApAQCAtMzcx
LDYgKzM3Niw4IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPE93blB0cjxDU1NQYXJzZXJTZWxlY3Rv
cj4gPiBtX3JldXNhYmxlU2VsZWN0b3JWZWN0b3I7CiAgICAgVmVjdG9yPE93blB0cjxDU1NQYXJz
ZXJTZWxlY3Rvcj4gPiBtX3JldXNhYmxlUmVnaW9uU2VsZWN0b3JWZWN0b3I7CiAKKyAgICBSZWZQ
dHI8Q1NTQ2FsY1ZhbHVlPiBtX3BhcnNlZENhbGM7CisKICAgICAvLyBkZWZpbmVzIHVuaXRzIGFs
bG93ZWQgZm9yIGEgY2VydGFpbiBwcm9wZXJ0eSwgdXNlZCBpbiBwYXJzZVVuaXQKICAgICBlbnVt
IFVuaXRzIHsKICAgICAgICAgRlVua25vd24gICA9IDB4MDAwMCwKQEAgLTM5MCwxMyArMzk3LDE4
IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxVbml0cz4oc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KGEpIHwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGIpKTsKICAgICB9CiAKLSAg
ICBzdGF0aWMgYm9vbCB2YWxpZFVuaXQoQ1NTUGFyc2VyVmFsdWUqLCBVbml0cywgYm9vbCBzdHJp
Y3QpOworICAgIGJvb2wgdmFsaWRVbml0KENTU1BhcnNlclZhbHVlKiwgVW5pdHMsIGJvb2wgc3Ry
aWN0KTsKIAogICAgIGJvb2wgcGFyc2VCb3JkZXJJbWFnZVF1YWQoVW5pdHMsIFJlZlB0cjxDU1NQ
cmltaXRpdmVWYWx1ZT4mKTsKLQotICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNy
ZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZShDU1NQYXJzZXJWYWx1ZSopOwotICAgIFBhc3NSZWZQ
dHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNyZWF0ZVByaW1pdGl2ZVN0cmluZ1ZhbHVlKENTU1BhcnNl
clZhbHVlKik7Ci0KKyAgICBpbnQgY29sb3JJbnRGcm9tVmFsdWUoQ1NTUGFyc2VyVmFsdWUqKTsK
KworICAgIGVudW0gUmVsZWFzZVBhcnNlZENhbGNWYWx1ZUNvbmRpdGlvbiB7CisgICAgICAgIFJl
bGVhc2VQYXJzZWRDYWxjVmFsdWUsCisgICAgICAgIERvTm90UmVsZWFzZVBhcnNlZENhbGNWYWx1
ZQorICAgIH07ICAgIAorICAgIGRvdWJsZSBwYXJzZWREb3VibGUoQ1NTUGFyc2VyVmFsdWUqLCBS
ZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlQ29uZGl0aW9uIHJlbGVhc2VDYWxjID0gRG9Ob3RSZWxlYXNl
UGFyc2VkQ2FsY1ZhbHVlKTsKKyAgICBib29sIGlzQ2FsY01pbk1heChDU1NQYXJzZXJWYWx1ZSop
OworICAgIAogICAgIGZyaWVuZCBjbGFzcyBUcmFuc2Zvcm1PcGVyYXRpb25JbmZvOwogI2lmIEVO
QUJMRShDU1NfRklMVEVSUykKICAgICBmcmllbmQgY2xhc3MgRmlsdGVyT3BlcmF0aW9uSW5mbzsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaAppbmRleCA5MGQyNmE0NmRlODFkZDc5NGZi
NzQ0YTg5NzA0MzA2MDEzMzhmYmYwLi41YTg4MjRlZjg3NmZiOWU3MGFmOTg1YjU0YTJiZjFlNTlk
N2E1YTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCkBAIC01OCw3ICs1OCw2
IEBAIHN0cnVjdCBDU1NQYXJzZXJWYWx1ZSB7CiAgICAgfTsKICAgICBpbnQgdW5pdDsKIAotCiAg
ICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gY3JlYXRlQ1NTVmFsdWUoKTsKIH07CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCmluZGV4IDIyYzc3ZDUxMGI1MTc2ZmU3ODYw
YmZmNzhjN2MwMGE0YmQ0N2E5YjguLmRmNWIyNjA5Y2U4YjIwNWFhYjFjMjhkOTQ1YWVlNTMyZTFm
Yjc2MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNwcApAQCAtMjEs
MTIgKzIxLDE0IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZl
VmFsdWUuaCIKIAorI2luY2x1ZGUgIkNTU0NhbGNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0hlbHBl
ci5oIgogI2luY2x1ZGUgIkNTU1BhcnNlci5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMu
aCIKICNpbmNsdWRlICJDU1NTdHlsZVNoZWV0LmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jk
cy5oIgogI2luY2x1ZGUgIkNTU1dyYXBTaGFwZXMuaCIKKyNpbmNsdWRlICJDYWxjVmFsdWUuaCIK
ICNpbmNsdWRlICJDb2xvci5oIgogI2luY2x1ZGUgIkNvdW50ZXIuaCIKICNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCkBAIC01Miw2ICs1NCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRp
YyBpbmxpbmUgYm9vbCBpc1ZhbGlkQ1NTVW5pdFR5cGVGb3JEb3VibGVDb252ZXJzaW9uKENTU1By
aW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMgdW5pdFR5cGUpCiB7CiAgICAgc3dpdGNoICh1bml0VHlw
ZSkgeworICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OiBDU1NfQ0FMQzoKKyAgICBjYXNlIENT
U1ByaW1pdGl2ZVZhbHVlOjogQ1NTX0NBTENfUEVSQ0VOVEFHRV9OVU1CRVI6CisgICAgY2FzZSBD
U1NQcmltaXRpdmVWYWx1ZTo6IENTU19DQUxDX1BFUkNFTlRBR0VfTEVOR1RIOgogICAgIGNhc2Ug
Q1NTUHJpbWl0aXZlVmFsdWU6OiBDU1NfQ006CiAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6
IENTU19ERUc6CiAgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6IENTU19ESU1FTlNJT046CkBA
IC0xMzcsNiArMTQyLDI3IEBAIHN0YXRpYyBDU1NUZXh0Q2FjaGUmIGNzc1RleHRDYWNoZSgpCiAg
ICAgcmV0dXJuIGNhY2hlOwogfQogCit1bnNpZ25lZCBzaG9ydCBDU1NQcmltaXRpdmVWYWx1ZTo6
cHJpbWl0aXZlVHlwZSgpIGNvbnN0IAoreworICAgIGlmIChtX3ByaW1pdGl2ZVVuaXRUeXBlICE9
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfQ0FMQykKKyAgICAgICAgcmV0dXJuIG1fcHJpbWl0aXZl
VW5pdFR5cGU7IAorICAgIAorICAgIHN3aXRjaCAobV92YWx1ZS5jYWxjLT5jYXRlZ29yeSgpKSB7
CisgICAgY2FzZSBDYWxjTnVtYmVyOgorICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19OVU1CRVI7CisgICAgY2FzZSBDYWxjUGVyY2VudDoKKyAgICAgICAgcmV0dXJuIENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRTsKKyAgICBjYXNlIENhbGNMZW5ndGg6CisgICAg
ICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BYOworICAgIGNhc2UgQ2FsY1BlcmNl
bnROdW1iZXI6CisgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NBTENfUEVS
Q0VOVEFHRV9OVU1CRVI7CisgICAgY2FzZSBDYWxjUGVyY2VudExlbmd0aDoKKyAgICAgICAgcmV0
dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfQ0FMQ19QRVJDRU5UQUdFX0xFTkdUSDsKKyAgICBj
YXNlIENhbGNPdGhlcjoKKyAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVU5L
Tk9XTjsKKyAgICB9CisgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfVU5LTk9XTjsK
K30KIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlT3JQcm9wZXJ0eU5hbWUoaW50IHZh
bHVlT3JQcm9wZXJ0eUlEKQogewogICAgIEFTU0VSVF9BUkcodmFsdWVPclByb3BlcnR5SUQsIHZh
bHVlT3JQcm9wZXJ0eUlEID49IDApOwpAQCAtMjM5LDYgKzI2NSwxMCBAQCBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoY29uc3QgTGVuZ3RoJiBsZW5ndGgpCiAgICAgICAgICAg
ICBBU1NFUlQoaXNmaW5pdGUobGVuZ3RoLnBlcmNlbnQoKSkpOwogICAgICAgICAgICAgbV92YWx1
ZS5udW0gPSBsZW5ndGgucGVyY2VudCgpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh
c2UgQ2FsY3VsYXRlZDoKKyAgICAgICAgICAgIG1fcHJpbWl0aXZlVW5pdFR5cGUgPSBDU1NfQ0FM
QzsKKyAgICAgICAgICAgIG1fdmFsdWUuY2FsYyA9IENTU0NhbGNWYWx1ZTo6Y3JlYXRlKGxlbmd0
aC5jYWxjVmFsdWUoKS5sZWFrUmVmKCkpLmxlYWtSZWYoKTsKKyAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICBjYXNlIFJlbGF0aXZlOgogICAgICAgICBjYXNlIFVuZGVmaW5lZDoKICAgICAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMjgzLDYgKzMxMywxMyBAQCB2b2lkIENTU1By
aW1pdGl2ZVZhbHVlOjppbml0KFBhc3NSZWZQdHI8UGFpcj4gcCkKICAgICBtX3ZhbHVlLnBhaXIg
PSBwLmxlYWtSZWYoKTsKIH0KIAordm9pZCBDU1NQcmltaXRpdmVWYWx1ZTo6aW5pdChQYXNzUmVm
UHRyPENTU0NhbGNWYWx1ZT4gYykKK3sKKyAgICBtX3ByaW1pdGl2ZVVuaXRUeXBlID0gQ1NTX0NB
TEM7CisgICAgbV9oYXNDYWNoZWRDU1NUZXh0ID0gZmFsc2U7CisgICAgbV92YWx1ZS5jYWxjID0g
Yy5sZWFrUmVmKCk7Cit9CisKIHZvaWQgQ1NTUHJpbWl0aXZlVmFsdWU6OmluaXQoUGFzc1JlZlB0
cjxDU1NXcmFwU2hhcGU+IHNoYXBlKQogewogICAgIG1fcHJpbWl0aXZlVW5pdFR5cGUgPSBDU1Nf
U0hBUEU7CkBAIC0zMjMsNiArMzYwLDkgQEAgdm9pZCBDU1NQcmltaXRpdmVWYWx1ZTo6Y2xlYW51
cCgpCiAgICAgICAgICAgICAgICAgbV92YWx1ZS5yZWdpb24tPmRlcmVmKCk7CiAgICAgICAgICAg
ICBicmVhazsKICNlbmRpZgorICAgICAgICBjYXNlIENTU19DQUxDOgorICAgICAgICAgICAgbV92
YWx1ZS5jYWxjLT5kZXJlZigpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ1NT
X1NIQVBFOgogICAgICAgICAgICAgbV92YWx1ZS5zaGFwZS0+ZGVyZWYoKTsKICAgICAgICAgICAg
IGJyZWFrOwpAQCAtNDEzLDEyICs0NTMsMjIgQEAgZG91YmxlIENTU1ByaW1pdGl2ZVZhbHVlOjpj
b21wdXRlTGVuZ3RoRG91YmxlKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHIKICAg
ICAgICAgICAgIC8vIDEgcGMgPT0gMTIgcHQKICAgICAgICAgICAgIGZhY3RvciA9IGNzc1BpeGVs
c1BlckluY2ggKiAxMi4wIC8gNzIuMDsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNl
IENTU19DQUxDX1BFUkNFTlRBR0VfTEVOR1RIOgorICAgICAgICBjYXNlIENTU19DQUxDX1BFUkNF
TlRBR0VfTlVNQkVSOgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAg
ICAgICByZXR1cm4gLTEuMDsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgcmV0dXJuIC0xLjA7CiAgICAgfQogCi0gICAgZG91
YmxlIHJlc3VsdCA9IGdldERvdWJsZVZhbHVlKCkgKiBmYWN0b3I7CisgICAgZG91YmxlIHZhbHVl
OworICAgIGlmIChtX3ByaW1pdGl2ZVVuaXRUeXBlID09IENTU19DQUxDKQorICAgICAgICB2YWx1
ZSA9IG1fdmFsdWUuY2FsYy0+Y29tcHV0ZUxlbmd0aFB4KHN0eWxlLCByb290U3R5bGUsIDEuMCwg
Y29tcHV0aW5nRm9udFNpemUpOworICAgIGVsc2UKKyAgICAgICAgdmFsdWUgPSBnZXREb3VibGVW
YWx1ZSgpOworICAgIAorICAgIGRvdWJsZSByZXN1bHQgPSB2YWx1ZSAqIGZhY3RvcjsKICAgICBp
ZiAoIWFwcGx5Wm9vbU11bHRpcGxpZXIgfHwgbXVsdGlwbGllciA9PSAxLjApCiAgICAgICAgIHJl
dHVybiByZXN1bHQ7CiAKQEAgLTUwNCw2ICs1NTQsMTEgQEAgZG91YmxlIENTU1ByaW1pdGl2ZVZh
bHVlOjpnZXREb3VibGVWYWx1ZSh1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSkgY29uc3QKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQogCitkb3VibGUgQ1NTUHJpbWl0aXZlVmFsdWU6OmdldERvdWJsZVZh
bHVlKCkgY29uc3QKK3sgCisgICAgcmV0dXJuIG1fcHJpbWl0aXZlVW5pdFR5cGUgIT0gQ1NTX0NB
TEMgPyBtX3ZhbHVlLm51bSA6IG1fdmFsdWUuY2FsYy0+ZG91YmxlVmFsdWUoKTsKK30KKwogQ1NT
UHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyBDU1NQcmltaXRpdmVWYWx1ZTo6Y2Fub25pY2FsVW5p
dFR5cGVGb3JDYXRlZ29yeShVbml0Q2F0ZWdvcnkgY2F0ZWdvcnkpCiB7CiAgICAgLy8gVGhlIGNh
bm9uaWNhbCB1bml0IHR5cGUgaXMgY2hvc2VuIGFjY29yZGluZyB0byB0aGUgd2F5IENTU1BhcnNl
cjo6dmFsaWRVbml0KCkgY2hvb3NlcyB0aGUgZGVmYXVsdCB1bml0CkBAIC01MzAsMTIgKzU4NSwx
MyBAQCBib29sIENTU1ByaW1pdGl2ZVZhbHVlOjpnZXREb3VibGVWYWx1ZUludGVybmFsKFVuaXRU
eXBlcyByZXF1ZXN0ZWRVbml0VHlwZSwgZG91YgogewogICAgIGlmICghaXNWYWxpZENTU1VuaXRU
eXBlRm9yRG91YmxlQ29udmVyc2lvbihzdGF0aWNfY2FzdDxVbml0VHlwZXM+KG1fcHJpbWl0aXZl
VW5pdFR5cGUpKSB8fCAhaXNWYWxpZENTU1VuaXRUeXBlRm9yRG91YmxlQ29udmVyc2lvbihyZXF1
ZXN0ZWRVbml0VHlwZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAocmVxdWVzdGVk
VW5pdFR5cGUgPT0gc3RhdGljX2Nhc3Q8VW5pdFR5cGVzPihtX3ByaW1pdGl2ZVVuaXRUeXBlKSB8
fCByZXF1ZXN0ZWRVbml0VHlwZSA9PSBDU1NfRElNRU5TSU9OKSB7Ci0gICAgICAgICpyZXN1bHQg
PSBtX3ZhbHVlLm51bTsKKworICAgIFVuaXRUeXBlcyBzb3VyY2VVbml0VHlwZSA9IHN0YXRpY19j
YXN0PFVuaXRUeXBlcz4ocHJpbWl0aXZlVHlwZSgpKTsKKyAgICBpZiAocmVxdWVzdGVkVW5pdFR5
cGUgPT0gc291cmNlVW5pdFR5cGUgfHwgcmVxdWVzdGVkVW5pdFR5cGUgPT0gQ1NTX0RJTUVOU0lP
TikgeworICAgICAgICAqcmVzdWx0ID0gZ2V0RG91YmxlVmFsdWUoKTsKICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgfQogCi0gICAgVW5pdFR5cGVzIHNvdXJjZVVuaXRUeXBlID0gc3RhdGljX2Nh
c3Q8VW5pdFR5cGVzPihtX3ByaW1pdGl2ZVVuaXRUeXBlKTsKICAgICBVbml0Q2F0ZWdvcnkgc291
cmNlQ2F0ZWdvcnkgPSB1bml0Q2F0ZWdvcnkoc291cmNlVW5pdFR5cGUpOwogICAgIEFTU0VSVChz
b3VyY2VDYXRlZ29yeSAhPSBVT3RoZXIpOwogCkBAIC01NjEsNyArNjE3LDcgQEAgYm9vbCBDU1NQ
cmltaXRpdmVWYWx1ZTo6Z2V0RG91YmxlVmFsdWVJbnRlcm5hbChVbml0VHlwZXMgcmVxdWVzdGVk
VW5pdFR5cGUsIGRvdWIKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBk
b3VibGUgY29udmVydGVkVmFsdWUgPSBtX3ZhbHVlLm51bTsKKyAgICBkb3VibGUgY29udmVydGVk
VmFsdWUgPSBnZXREb3VibGVWYWx1ZSgpOwogCiAgICAgLy8gRmlyc3QgY29udmVydCB0aGUgdmFs
dWUgZnJvbSBtX3ByaW1pdGl2ZVVuaXRUeXBlIHRvIGNhbm9uaWNhbCB0eXBlLgogICAgIGRvdWJs
ZSBmYWN0b3IgPSBjb252ZXJzaW9uVG9DYW5vbmljYWxVbml0c1NjYWxlRmFjdG9yKHNvdXJjZVVu
aXRUeXBlKTsKQEAgLTk0MSw2ICs5OTcsOSBAQCBTdHJpbmcgQ1NTUHJpbWl0aXZlVmFsdWU6OmN1
c3RvbUNzc1RleHQoKSBjb25zdAogICAgICAgICBjYXNlIENTU19QQVJTRVJfSURFTlRJRklFUjoK
ICAgICAgICAgICAgIHRleHQgPSBxdW90ZUNTU1N0cmluZ0lmTmVlZGVkKG1fdmFsdWUuc3RyaW5n
KTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENTU19DQUxDOgorICAgICAgICAg
ICAgdGV4dCA9IG1fdmFsdWUuY2FsYy0+Y3NzVGV4dCgpOworICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIGNhc2UgQ1NTX1NIQVBFOgogICAgICAgICAgICAgdGV4dCA9IG1fdmFsdWUuc2hhcGUt
PmNzc1RleHQoKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0
aXZlVmFsdWUuaAppbmRleCA0MjIwMDQ2ZmZiMzE5YzVmYWZmYjY0NzBlYmFiNmM3MWJiMTYzMzJh
Li43MGE5ZmYxM2JjNmMxODc0NTJkMWY2NmUyYmJlNjNiMmNhZjA5Nzk4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuaApAQCAtMzAsNiArMzAsNyBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKK2NsYXNzIENTU0NhbGNWYWx1ZTsKIGNsYXNzIENvdW50ZXI7CiBjbGFzcyBE
YXNoYm9hcmRSZWdpb247CiBjbGFzcyBQYWlyOwpAQCAtMTAyLDcgKzEwMywxMSBAQCBwdWJsaWM6
CiAgICAgICAgIENTU19TSEFQRSA9IDExMCwKIAogICAgICAgICAvLyBVc2VkIGJ5IGJvcmRlciBp
bWFnZXMuCi0gICAgICAgIENTU19RVUFEID0gMTExCisgICAgICAgIENTU19RVUFEID0gMTExLAor
CisgICAgICAgIENTU19DQUxDID0gMTEyLAorICAgICAgICBDU1NfQ0FMQ19QRVJDRU5UQUdFX05V
TUJFUiA9IDExMywKKyAgICAgICAgQ1NTX0NBTENfUEVSQ0VOVEFHRV9MRU5HVEggPSAxMTQKICAg
ICB9OwogCiAgICAgLy8gVGhpcyBlbnVtIGZvbGxvd3MgdGhlIENTU1BhcnNlcjo6VW5pdHMgZW51
bSBhdWdtZW50ZWQgd2l0aCBVTklUX0ZSRVFVRU5DWSBmb3IgZnJlcXVlbmNpZXMuCkBAIC0xMjAs
NiArMTI1LDcgQEAgcHVibGljOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHR5cGUgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19SRU1TOyB9CiAK
ICAgICBib29sIGlzTGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gaXNVbml0VHlwZUxlbmd0aChtX3By
aW1pdGl2ZVVuaXRUeXBlKTsgfQorICAgIGJvb2wgaXNDYWxjdWxhdGVkKCkgY29uc3QgeyByZXR1
cm4gbV9wcmltaXRpdmVVbml0VHlwZSA9PSBDU1NfQ0FMQzsgfQogCiAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IGNyZWF0ZUlkZW50aWZpZXIoaW50IGlkZW50aWZpZXIp
IHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NQcmltaXRpdmVWYWx1ZShpZGVudGlmaWVyKSk7IH0K
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY3JlYXRlQ29sb3IodW5z
aWduZWQgcmdiVmFsdWUpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NQcmltaXRpdmVWYWx1ZShy
Z2JWYWx1ZSkpOyB9CkBAIC0xNDYsNyArMTUyLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVh
bnVwKCk7CiAKLSAgICB1bnNpZ25lZCBzaG9ydCBwcmltaXRpdmVUeXBlKCkgY29uc3QgeyByZXR1
cm4gbV9wcmltaXRpdmVVbml0VHlwZTsgfQorICAgIHVuc2lnbmVkIHNob3J0IHByaW1pdGl2ZVR5
cGUoKSBjb25zdDsKIAogICAgIC8qCiAgICAgICogY29tcHV0ZXMgYSBsZW5ndGggaW4gcGl4ZWxz
IG91dCBvZiB0aGUgZ2l2ZW4gQ1NTVmFsdWUuIE5lZWQgdGhlIFJlbmRlclN0eWxlIHRvIGdldApA
QCAtMTY1LDcgKzE3MSw3IEBAIHB1YmxpYzoKIAogICAgIGRvdWJsZSBnZXREb3VibGVWYWx1ZSh1
bnNpZ25lZCBzaG9ydCB1bml0VHlwZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogICAgIGRvdWJs
ZSBnZXREb3VibGVWYWx1ZSh1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSkgY29uc3Q7Ci0gICAgZG91
YmxlIGdldERvdWJsZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZS5udW07IH0KKyAgICBk
b3VibGUgZ2V0RG91YmxlVmFsdWUoKSBjb25zdDsKIAogICAgIHZvaWQgc2V0RmxvYXRWYWx1ZSh1
bnNpZ25lZCBzaG9ydCB1bml0VHlwZSwgZG91YmxlIGZsb2F0VmFsdWUsIEV4Y2VwdGlvbkNvZGUm
KTsKICAgICBmbG9hdCBnZXRGbG9hdFZhbHVlKHVuc2lnbmVkIHNob3J0IHVuaXRUeXBlLCBFeGNl
cHRpb25Db2RlJiBlYykgY29uc3QgeyByZXR1cm4gZ2V0VmFsdWU8ZmxvYXQ+KHVuaXRUeXBlLCBl
Yyk7IH0KQEAgLTE3OCw3ICsxODQsNyBAQCBwdWJsaWM6CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBpbmxpbmUgVCBnZXRWYWx1ZSh1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSwgRXhjZXB0aW9u
Q29kZSYgZWMpIGNvbnN0IHsgcmV0dXJuIGNsYW1wVG88VD4oZ2V0RG91YmxlVmFsdWUodW5pdFR5
cGUsIGVjKSk7IH0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgVCBnZXRWYWx1ZSh1
bnNpZ25lZCBzaG9ydCB1bml0VHlwZSkgY29uc3QgeyByZXR1cm4gY2xhbXBUbzxUPihnZXREb3Vi
bGVWYWx1ZSh1bml0VHlwZSkpOyB9Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIFQg
Z2V0VmFsdWUoKSBjb25zdCB7IHJldHVybiBjbGFtcFRvPFQ+KG1fdmFsdWUubnVtKTsgfQorICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBUIGdldFZhbHVlKCkgY29uc3QgeyByZXR1cm4g
Y2xhbXBUbzxUPihnZXREb3VibGVWYWx1ZSgpKTsgfQogCiAgICAgdm9pZCBzZXRTdHJpbmdWYWx1
ZSh1bnNpZ25lZCBzaG9ydCBzdHJpbmdUeXBlLCBjb25zdCBTdHJpbmcmIHN0cmluZ1ZhbHVlLCBF
eGNlcHRpb25Db2RlJik7CiAgICAgU3RyaW5nIGdldFN0cmluZ1ZhbHVlKEV4Y2VwdGlvbkNvZGUm
KSBjb25zdDsKQEAgLTIwMiw2ICsyMDgsOCBAQCBwdWJsaWM6CiAgICAgRGFzaGJvYXJkUmVnaW9u
KiBnZXREYXNoYm9hcmRSZWdpb25WYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJpbWl0aXZlVW5p
dFR5cGUgIT0gQ1NTX0RBU0hCT0FSRF9SRUdJT04gPyAwIDogbV92YWx1ZS5yZWdpb247IH0KIAog
ICAgIENTU1dyYXBTaGFwZSogZ2V0U2hhcGVWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJpbWl0
aXZlVW5pdFR5cGUgIT0gQ1NTX1NIQVBFID8gMCA6IG1fdmFsdWUuc2hhcGU7IH0KKyAgICAKKyAg
ICBDU1NDYWxjVmFsdWUqIGNzc0NhbGNWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJpbWl0aXZl
VW5pdFR5cGUgIT0gQ1NTX0NBTEMgPyAwIDogbV92YWx1ZS5jYWxjOyB9CiAKICAgICBpbnQgZ2V0
SWRlbnQoKSBjb25zdDsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgb3BlcmF0b3Ig
VCgpIGNvbnN0OyAvLyBEZWZpbmVkIGluIENTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApAQCAt
MjU0LDcgKzI2Miw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBpbml0KFBhc3NSZWZQdHI8UXVhZD4p
OwogICAgIHZvaWQgaW5pdChQYXNzUmVmUHRyPERhc2hib2FyZFJlZ2lvbj4pOyAvLyBGSVhNRTog
RGFzaGJvYXJkIHJlZ2lvbiBzaG91bGQgbm90IGJlIGEgcHJpbWl0aXZlIHZhbHVlLgogICAgIHZv
aWQgaW5pdChQYXNzUmVmUHRyPENTU1dyYXBTaGFwZT4pOwotCisgICAgdm9pZCBpbml0KFBhc3NS
ZWZQdHI8Q1NTQ2FsY1ZhbHVlPik7CiAgICAgYm9vbCBnZXREb3VibGVWYWx1ZUludGVybmFsKFVu
aXRUeXBlcyB0YXJnZXRVbml0VHlwZSwgZG91YmxlKiByZXN1bHQpIGNvbnN0OwogCiAgICAgZG91
YmxlIGNvbXB1dGVMZW5ndGhEb3VibGUoUmVuZGVyU3R5bGUqIGN1cnJlbnRTdHlsZSwgUmVuZGVy
U3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIG11bHRpcGxpZXIsIGJvb2wgY29tcHV0aW5nRm9udFNp
emUpOwpAQCAtMjcwLDYgKzI3OCw3IEBAIHByaXZhdGU6CiAgICAgICAgIFBhaXIqIHBhaXI7CiAg
ICAgICAgIERhc2hib2FyZFJlZ2lvbiogcmVnaW9uOwogICAgICAgICBDU1NXcmFwU2hhcGUqIHNo
YXBlOworICAgICAgICBDU1NDYWxjVmFsdWUqIGNhbGM7CiAgICAgfSBtX3ZhbHVlOwogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVBcHBseVByb3BlcnR5LmNwcAppbmRleCA1YTZh
NzJmMzg0NzJlYzM3ZGMzYjdmMDI2OWJlZDc0N2MwNWQ2Y2U5Li43NWUzNmU4MzY5NWM4NDIwMmU3
NTZjNzliN2ZhMmQwOWNkMmI1ZWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
U3R5bGVBcHBseVByb3BlcnR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVB
cHBseVByb3BlcnR5LmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkNTU1N0eWxlQXBw
bHlQcm9wZXJ0eS5oIgogCiAjaW5jbHVkZSAiQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oIgorI2luY2x1
ZGUgIkNTU0NhbGNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0N1cnNvckltYWdlVmFsdWUuaCIKICNp
bmNsdWRlICJDU1NGbGV4VmFsdWUuaCIKICNpbmNsdWRlICJDU1NQcmltaXRpdmVWYWx1ZU1hcHBp
bmdzLmgiCkBAIC0zMTIsNiArMzEzLDggQEAgcHVibGljOgogICAgICAgICAgICAgICAgIHNldFZh
bHVlKHNlbGVjdG9yLT5zdHlsZSgpLCBsZW5ndGgpOwogICAgICAgICAgICAgfSBlbHNlIGlmICh0
eXBlID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSkKICAgICAgICAgICAgICAg
ICBzZXRWYWx1ZShzZWxlY3Rvci0+c3R5bGUoKSwgTGVuZ3RoKHByaW1pdGl2ZVZhbHVlLT5nZXRE
b3VibGVWYWx1ZSgpLCBQZXJjZW50KSk7CisgICAgICAgICAgICBlbHNlIGlmICh0eXBlID09IENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NfQ0FMQ19QRVJDRU5UQUdFX0xFTkdUSCkKKyAgICAgICAgICAg
ICAgICBzZXRWYWx1ZShzZWxlY3Rvci0+c3R5bGUoKSwgTGVuZ3RoKHByaW1pdGl2ZVZhbHVlLT5j
c3NDYWxjVmFsdWUoKS0+dG9DYWxjVmFsdWUoc2VsZWN0b3ItPnN0eWxlKCksIHNlbGVjdG9yLT5y
b290RWxlbWVudFN0eWxlKCksIHNlbGVjdG9yLT5zdHlsZSgpLT5lZmZlY3RpdmVab29tKCkpKSk7
ICAgICAgICAgICAgCiAgICAgICAgIH0KICAgICB9CiAKQEAgLTM2MSwxNiArMzY0LDI1IEBAIHB1
YmxpYzoKIAogICAgICAgICBMZW5ndGggcmFkaXVzV2lkdGg7CiAgICAgICAgIExlbmd0aCByYWRp
dXNIZWlnaHQ7CisgICAgICAgIGJvb2wgY2FuVGVzdFdpZHRoID0gdHJ1ZTsKKyAgICAgICAgYm9v
bCBjYW5UZXN0SGVpZ2h0ID0gdHJ1ZTsKICAgICAgICAgaWYgKHBhaXItPmZpcnN0KCktPnByaW1p
dGl2ZVR5cGUoKSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpCiAgICAgICAg
ICAgICByYWRpdXNXaWR0aCA9IExlbmd0aChwYWlyLT5maXJzdCgpLT5nZXREb3VibGVWYWx1ZSgp
LCBQZXJjZW50KTsKLSAgICAgICAgZWxzZQorICAgICAgICBlbHNlIGlmIChwYWlyLT5maXJzdCgp
LT5wcmltaXRpdmVUeXBlKCkgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DQUxDX1BFUkNFTlRB
R0VfTEVOR1RIKSB7CisgICAgICAgICAgICByYWRpdXNXaWR0aCA9IExlbmd0aChwYWlyLT5maXJz
dCgpLT5jc3NDYWxjVmFsdWUoKS0+dG9DYWxjVmFsdWUoc2VsZWN0b3ItPnN0eWxlKCksIHNlbGVj
dG9yLT5yb290RWxlbWVudFN0eWxlKCksIHNlbGVjdG9yLT5zdHlsZSgpLT5lZmZlY3RpdmVab29t
KCkpKTsKKyAgICAgICAgICAgIGNhblRlc3RXaWR0aCA9IGZhbHNlOworICAgICAgICB9IGVsc2UK
ICAgICAgICAgICAgIHJhZGl1c1dpZHRoID0gTGVuZ3RoKG1heChpbnRNaW5Gb3JMZW5ndGgsIG1p
bihpbnRNYXhGb3JMZW5ndGgsIHBhaXItPmZpcnN0KCktPmNvbXB1dGVMZW5ndGg8aW50PihzZWxl
Y3Rvci0+c3R5bGUoKSwgc2VsZWN0b3ItPnJvb3RFbGVtZW50U3R5bGUoKSwgc2VsZWN0b3ItPnN0
eWxlKCktPmVmZmVjdGl2ZVpvb20oKSkpKSwgRml4ZWQpOwogICAgICAgICBpZiAocGFpci0+c2Vj
b25kKCktPnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRB
R0UpCiAgICAgICAgICAgICByYWRpdXNIZWlnaHQgPSBMZW5ndGgocGFpci0+c2Vjb25kKCktPmdl
dERvdWJsZVZhbHVlKCksIFBlcmNlbnQpOwotICAgICAgICBlbHNlCisgICAgICAgIGVsc2UgaWYg
KHBhaXItPnNlY29uZCgpLT5wcmltaXRpdmVUeXBlKCkgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U19DQUxDX1BFUkNFTlRBR0VfTEVOR1RIKSB7CisgICAgICAgICAgICByYWRpdXNIZWlnaHQgPSBM
ZW5ndGgocGFpci0+c2Vjb25kKCktPmNzc0NhbGNWYWx1ZSgpLT50b0NhbGNWYWx1ZShzZWxlY3Rv
ci0+c3R5bGUoKSwgc2VsZWN0b3ItPnJvb3RFbGVtZW50U3R5bGUoKSwgc2VsZWN0b3ItPnN0eWxl
KCktPmVmZmVjdGl2ZVpvb20oKSkpOworICAgICAgICAgICAgY2FuVGVzdEhlaWdodCA9IGZhbHNl
OworICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIHJhZGl1c0hlaWdodCA9IExlbmd0aChtYXgo
aW50TWluRm9yTGVuZ3RoLCBtaW4oaW50TWF4Rm9yTGVuZ3RoLCBwYWlyLT5zZWNvbmQoKS0+Y29t
cHV0ZUxlbmd0aDxpbnQ+KHNlbGVjdG9yLT5zdHlsZSgpLCBzZWxlY3Rvci0+cm9vdEVsZW1lbnRT
dHlsZSgpLCBzZWxlY3Rvci0+c3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKSkpLCBGaXhlZCk7Ci0g
ICAgICAgIGludCB3aWR0aCA9IHJhZGl1c1dpZHRoLnZhbHVlKCk7Ci0gICAgICAgIGludCBoZWln
aHQgPSByYWRpdXNIZWlnaHQudmFsdWUoKTsKKyAgICAgICAgLy8gQ0FMQ19QRVJDRU5UQUdFX0xF
TkdUSCBjYW5ub3QgYmUgZGV0ZXJtaW5lZCB3aXRob3V0IGtub3dpbmcgcGFyZW50IHNpemUKKyAg
ICAgICAgaW50IHdpZHRoID0gY2FuVGVzdFdpZHRoID8gcmFkaXVzV2lkdGgudmFsdWUoKSA6IDE7
CisgICAgICAgIGludCBoZWlnaHQgPSBjYW5UZXN0SGVpZ2h0ID8gcmFkaXVzSGVpZ2h0LnZhbHVl
KCkgOiAxOwogICAgICAgICBpZiAod2lkdGggPCAwIHx8IGhlaWdodCA8IDApCiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIGlmICghd2lkdGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVT
ZWxlY3Rvci5jcHAKaW5kZXggOGFjZWQwN2JjODRkMDAwZTVmYmE2MDU2MGFiMzZjOTlkMWI5ZjUy
OS4uNGVjOGRjZTI5MzBiYTJiM2FiOGMzMzIzN2Q3ODFhNTA3ZmY4ZmQ4MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcApAQCAtMzAsMTAgKzMwLDEyIEBACiAKICNpbmNs
dWRlICJBdHRyaWJ1dGUuaCIKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgorI2luY2x1ZGUgIkNh
bGNWYWx1ZS5oIgogI2luY2x1ZGUgIkNvbnRlbnREYXRhLmgiCiAjaW5jbHVkZSAiQ291bnRlci5o
IgogI2luY2x1ZGUgIkNvdW50ZXJDb250ZW50LmgiCiAjaW5jbHVkZSAiQ1NTQm9yZGVySW1hZ2VW
YWx1ZS5oIgorI2luY2x1ZGUgIkNTU0NhbGNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0N1cnNvcklt
YWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NG
b250U2VsZWN0b3IuaCIKQEAgLTExMSw2ICsxMTMsNyBAQAogI2luY2x1ZGUgIldlYktpdENTU1Ry
YW5zZm9ybVZhbHVlLmgiCiAjaW5jbHVkZSAiV2ViS2l0Rm9udEZhbWlseU5hbWVzLmgiCiAjaW5j
bHVkZSAiWE1MTmFtZXMuaCIKKyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMjEyNywxOCAr
MjEzMCwyMiBAQCBzdGF0aWMgTGVuZ3RoIGNvbnZlcnRUb0xlbmd0aChDU1NQcmltaXRpdmVWYWx1
ZSogcHJpbWl0aXZlVmFsdWUsIFJlbmRlclN0eWxlKiBzdAogICAgICAgICAgICAgbCA9IExlbmd0
aChwcmltaXRpdmVWYWx1ZS0+Z2V0RG91YmxlVmFsdWUoKSwgUGVyY2VudCk7CiAgICAgICAgIGVs
c2UgaWYgKHR5cGUgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpCiAgICAgICAgICAg
ICBsID0gTGVuZ3RoKHByaW1pdGl2ZVZhbHVlLT5nZXREb3VibGVWYWx1ZSgpICogMTAwLjAsIFBl
cmNlbnQpOworICAgICAgICBlbHNlIGlmICh0eXBlID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
Q0FMQ19QRVJDRU5UQUdFX0xFTkdUSCkKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgICAgICBlbHNlIGlmICh0eXBlID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfQ0FMQ19Q
RVJDRU5UQUdFX05VTUJFUikKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAg
ICAgICBlbHNlIGlmIChvaykKICAgICAgICAgICAgICpvayA9IGZhbHNlOwogICAgIH0KICAgICBy
ZXR1cm4gbDsKIH0KIAotc3RhdGljIExlbmd0aCBjb252ZXJ0VG9JbnRMZW5ndGgoQ1NTUHJpbWl0
aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlLCBSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxl
KiByb290U3R5bGUsIGRvdWJsZSBtdWx0aXBsaWVyID0gMSwgYm9vbCAqb2sgPSAwKQorTGVuZ3Ro
IENTU1N0eWxlU2VsZWN0b3I6OmNvbnZlcnRUb0ludExlbmd0aChDU1NQcmltaXRpdmVWYWx1ZSog
cHJpbWl0aXZlVmFsdWUsIFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHls
ZSwgZG91YmxlIG11bHRpcGxpZXIsIGJvb2wgKm9rKQogewogICAgIHJldHVybiBjb252ZXJ0VG9M
ZW5ndGgocHJpbWl0aXZlVmFsdWUsIHN0eWxlLCByb290U3R5bGUsIGZhbHNlLCBtdWx0aXBsaWVy
LCBvayk7CiB9CiAKLXN0YXRpYyBMZW5ndGggY29udmVydFRvRmxvYXRMZW5ndGgoQ1NTUHJpbWl0
aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlLCBSZW5kZXJTdHlsZSogc3R5bGUsIFJlbmRlclN0eWxl
KiByb290U3R5bGUsIGRvdWJsZSBtdWx0aXBsaWVyID0gMSwgYm9vbCAqb2sgPSAwKQorTGVuZ3Ro
IENTU1N0eWxlU2VsZWN0b3I6OmNvbnZlcnRUb0Zsb2F0TGVuZ3RoKENTU1ByaW1pdGl2ZVZhbHVl
KiBwcmltaXRpdmVWYWx1ZSwgUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0
eWxlLCBkb3VibGUgbXVsdGlwbGllciwgYm9vbCAqb2spCiB7CiAgICAgcmV0dXJuIGNvbnZlcnRU
b0xlbmd0aChwcmltaXRpdmVWYWx1ZSwgc3R5bGUsIHJvb3RTdHlsZSwgdHJ1ZSwgbXVsdGlwbGll
ciwgb2spOwogfQpAQCAtMjY3MSw2ICsyNjc4LDggQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjph
cHBseVByb3BlcnR5KGludCBpZCwgQ1NTVmFsdWUgKnZhbHVlKQogICAgICAgICAgICAgbGVuZ3Ro
ID0gcHJpbWl0aXZlVmFsdWUtPmNvbXB1dGVMZW5ndGg8TGVuZ3RoPihzdHlsZSgpLCBtX3Jvb3RF
bGVtZW50U3R5bGUsIHpvb21GYWN0b3IpOwogICAgICAgICBlbHNlIGlmICh0eXBlID09IENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSkKICAgICAgICAgICAgIGxlbmd0aCA9IExlbmd0
aChwcmltaXRpdmVWYWx1ZS0+Z2V0RG91YmxlVmFsdWUoKSwgUGVyY2VudCk7CisgICAgICAgIGVs
c2UgaWYgKHR5cGUgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DQUxDX1BFUkNFTlRBR0VfTEVO
R1RIKQorICAgICAgICAgICAgbGVuZ3RoID0gTGVuZ3RoKHByaW1pdGl2ZVZhbHVlLT5jc3NDYWxj
VmFsdWUoKS0+dG9DYWxjVmFsdWUobV9wYXJlbnRTdHlsZSwgbV9yb290RWxlbWVudFN0eWxlLCB6
b29tRmFjdG9yKSk7CiAKICAgICAgICAgbV9zdHlsZS0+c2V0VmVydGljYWxBbGlnbihMRU5HVEgp
OwogICAgICAgICBtX3N0eWxlLT5zZXRWZXJ0aWNhbEFsaWduTGVuZ3RoKGxlbmd0aCk7CkBAIC0y
NzM0LDYgKzI3NDMsOCBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkoaW50
IGlkLCBDU1NWYWx1ZSAqdmFsdWUpCiAgICAgICAgICAgICAgICAgc2l6ZSA9IHByaW1pdGl2ZVZh
bHVlLT5jb21wdXRlTGVuZ3RoPGZsb2F0PihtX3BhcmVudFN0eWxlLCBtX3Jvb3RFbGVtZW50U3R5
bGUsIDEuMCwgdHJ1ZSk7CiAgICAgICAgICAgICBlbHNlIGlmICh0eXBlID09IENTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSkKICAgICAgICAgICAgICAgICBzaXplID0gKHByaW1pdGl2
ZVZhbHVlLT5nZXRGbG9hdFZhbHVlKCkgKiBvbGRTaXplKSAvIDEwMC4wZjsKKyAgICAgICAgICAg
IGVsc2UgaWYgKHR5cGUgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DQUxDX1BFUkNFTlRBR0Vf
TEVOR1RIKQorICAgICAgICAgICAgICAgIHNpemUgPSBwcmltaXRpdmVWYWx1ZS0+Y3NzQ2FsY1Zh
bHVlKCktPnRvQ2FsY1ZhbHVlKG1fcGFyZW50U3R5bGUsIG1fcm9vdEVsZW1lbnRTdHlsZSktPmV2
YWx1YXRlKG9sZFNpemUpOwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQpAQCAtMjc3Myw2ICsyNzg0LDE3IEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rv
cjo6YXBwbHlQcm9wZXJ0eShpbnQgaWQsIENTU1ZhbHVlICp2YWx1ZSkKICAgICAgICAgICAgIGxp
bmVIZWlnaHQgPSBMZW5ndGgoKG1fc3R5bGUtPmZvbnRTaXplKCkgKiBwcmltaXRpdmVWYWx1ZS0+
Z2V0SW50VmFsdWUoKSkgLyAxMDAsIEZpeGVkKTsKICAgICAgICAgZWxzZSBpZiAodHlwZSA9PSBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUikKICAgICAgICAgICAgIGxpbmVIZWlnaHQgPSBM
ZW5ndGgocHJpbWl0aXZlVmFsdWUtPmdldERvdWJsZVZhbHVlKCkgKiAxMDAuMCwgUGVyY2VudCk7
CisgICAgICAgIGVsc2UgaWYgKHR5cGUgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DQUxDX1BF
UkNFTlRBR0VfTEVOR1RIKSB7CisgICAgICAgICAgICBkb3VibGUgbXVsdGlwbGllciA9IHpvb21G
YWN0b3I7CisgICAgICAgICAgICBpZiAobV9zdHlsZS0+dGV4dFNpemVBZGp1c3QoKSkgeworICAg
ICAgICAgICAgICAgIGlmIChGcmFtZSogZnJhbWUgPSBtX2NoZWNrZXIuZG9jdW1lbnQoKS0+ZnJh
bWUoKSkKKyAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGllciAqPSBmcmFtZS0+dGV4dFpvb21G
YWN0b3IoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGxpbmVIZWlnaHQgPSBMZW5ndGgo
cHJpbWl0aXZlVmFsdWUtPmNzc0NhbGNWYWx1ZSgpLT50b0NhbGNWYWx1ZShzdHlsZSgpLCBtX3Jv
b3RFbGVtZW50U3R5bGUsIG11bHRpcGxpZXIpKTsKKyAgICAgICAgfSBlbHNlIGlmICh0eXBlID09
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfQ0FMQ19QRVJDRU5UQUdFX05VTUJFUikgeworICAgICAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IH0KICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBtX3N0eWxlLT5z
ZXRMaW5lSGVpZ2h0KGxpbmVIZWlnaHQpOwpAQCAtMzA5OSw2ICszMTIxLDEwIEBAIHZvaWQgQ1NT
U3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShpbnQgaWQsIENTU1ZhbHVlICp2YWx1ZSkKICAg
ICAgICAgfSBlbHNlIGlmIChwcmltaXRpdmVWYWx1ZS0+cHJpbWl0aXZlVHlwZSgpID09IENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKSB7CiAgICAgICAgICAgICBpZiAocHJpbWl0aXZlVmFs
dWUtPmdldEZsb2F0VmFsdWUoKSkKICAgICAgICAgICAgICAgICBzZXRab29tKHByaW1pdGl2ZVZh
bHVlLT5nZXRGbG9hdFZhbHVlKCkpOworICAgICAgICB9IGVsc2UgaWYgKHByaW1pdGl2ZVZhbHVl
LT5wcmltaXRpdmVUeXBlKCkgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DQUxDX1BFUkNFTlRB
R0VfTlVNQkVSKSB7CisgICAgICAgICAgICBjb25zdCBkb3VibGUgem9vbSA9IHByaW1pdGl2ZVZh
bHVlLT5jc3NDYWxjVmFsdWUoKS0+Y29tcHV0ZVBlcmNlbnQoMTAwLjBmKTsKKyAgICAgICAgICAg
IGlmICh6b29tKQorICAgICAgICAgICAgICAgIHNldFpvb20oem9vbSk7CiAgICAgICAgIH0KICAg
ICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTMzNTMsNiArMzM3OSw4IEBAIHZvaWQgQ1NTU3R5bGVT
ZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShpbnQgaWQsIENTU1ZhbHVlICp2YWx1ZSkKICAgICAgICAg
ICAgIGludCB0eXBlID0gcmVmbGVjdFZhbHVlLT5vZmZzZXQoKS0+cHJpbWl0aXZlVHlwZSgpOwog
ICAgICAgICAgICAgaWYgKHR5cGUgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdF
KQogICAgICAgICAgICAgICAgIHJlZmxlY3Rpb24tPnNldE9mZnNldChMZW5ndGgocmVmbGVjdFZh
bHVlLT5vZmZzZXQoKS0+Z2V0RG91YmxlVmFsdWUoKSwgUGVyY2VudCkpOworICAgICAgICAgICAg
ZWxzZSBpZiAodHlwZSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NBTENfUEVSQ0VOVEFHRV9M
RU5HVEgpCisgICAgICAgICAgICAgICAgcmVmbGVjdGlvbi0+c2V0T2Zmc2V0KExlbmd0aChyZWZs
ZWN0VmFsdWUtPm9mZnNldCgpLT5jc3NDYWxjVmFsdWUoKS0+dG9DYWxjVmFsdWUoc3R5bGUoKSwg
bV9yb290RWxlbWVudFN0eWxlLCB6b29tRmFjdG9yKSkpOwogICAgICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgICAgIHJlZmxlY3Rpb24tPnNldE9mZnNldChyZWZsZWN0VmFsdWUtPm9mZnNldCgp
LT5jb21wdXRlTGVuZ3RoPExlbmd0aD4oc3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxlLCB6b29t
RmFjdG9yKSk7CiAgICAgICAgIH0KQEAgLTM1NzIsNiArMzYwMCw4IEBAIHZvaWQgQ1NTU3R5bGVT
ZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShpbnQgaWQsIENTU1ZhbHVlICp2YWx1ZSkKICAgICAgICAg
ICAgIG1fc3R5bGUtPnNldExpbmVDbGFtcChMaW5lQ2xhbXBWYWx1ZShwcmltaXRpdmVWYWx1ZS0+
Z2V0SW50VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpLCBMaW5lQ2xhbXBMaW5l
Q291bnQpKTsKICAgICAgICAgZWxzZSBpZiAodHlwZSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NT
X1BFUkNFTlRBR0UpCiAgICAgICAgICAgICBtX3N0eWxlLT5zZXRMaW5lQ2xhbXAoTGluZUNsYW1w
VmFsdWUocHJpbWl0aXZlVmFsdWUtPmdldEludFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
UEVSQ0VOVEFHRSksIExpbmVDbGFtcFBlcmNlbnRhZ2UpKTsKKyAgICAgICAgZWxzZSBpZiAocHJp
bWl0aXZlVmFsdWUtPnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NB
TENfUEVSQ0VOVEFHRV9OVU1CRVIpCisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0SHlwaGVu
czoKQEAgLTQxMzksMTQgKzQxNjksMjMgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphcHBseVBh
Z2VTaXplUHJvcGVydHkoQ1NTVmFsdWUqIHZhbHVlKQogCiBib29sIENTU1N0eWxlU2VsZWN0b3I6
OnBhZ2VTaXplRnJvbU5hbWUoQ1NTUHJpbWl0aXZlVmFsdWUqIHBhZ2VTaXplTmFtZSwgQ1NTUHJp
bWl0aXZlVmFsdWUqIHBhZ2VPcmllbnRhdGlvbiwgTGVuZ3RoJiB3aWR0aCwgTGVuZ3RoJiBoZWln
aHQpCiB7Ci0gICAgc3RhdGljIGNvbnN0IExlbmd0aCBhNVdpZHRoID0gbW1MZW5ndGgoMTQ4KSwg
YTVIZWlnaHQgPSBtbUxlbmd0aCgyMTApOwotICAgIHN0YXRpYyBjb25zdCBMZW5ndGggYTRXaWR0
aCA9IG1tTGVuZ3RoKDIxMCksIGE0SGVpZ2h0ID0gbW1MZW5ndGgoMjk3KTsKLSAgICBzdGF0aWMg
Y29uc3QgTGVuZ3RoIGEzV2lkdGggPSBtbUxlbmd0aCgyOTcpLCBhM0hlaWdodCA9IG1tTGVuZ3Ro
KDQyMCk7Ci0gICAgc3RhdGljIGNvbnN0IExlbmd0aCBiNVdpZHRoID0gbW1MZW5ndGgoMTc2KSwg
YjVIZWlnaHQgPSBtbUxlbmd0aCgyNTApOwotICAgIHN0YXRpYyBjb25zdCBMZW5ndGggYjRXaWR0
aCA9IG1tTGVuZ3RoKDI1MCksIGI0SGVpZ2h0ID0gbW1MZW5ndGgoMzUzKTsKLSAgICBzdGF0aWMg
Y29uc3QgTGVuZ3RoIGxldHRlcldpZHRoID0gaW5jaExlbmd0aCg4LjUpLCBsZXR0ZXJIZWlnaHQg
PSBpbmNoTGVuZ3RoKDExKTsKLSAgICBzdGF0aWMgY29uc3QgTGVuZ3RoIGxlZ2FsV2lkdGggPSBp
bmNoTGVuZ3RoKDguNSksIGxlZ2FsSGVpZ2h0ID0gaW5jaExlbmd0aCgxNCk7Ci0gICAgc3RhdGlj
IGNvbnN0IExlbmd0aCBsZWRnZXJXaWR0aCA9IGluY2hMZW5ndGgoMTEpLCBsZWRnZXJIZWlnaHQg
PSBpbmNoTGVuZ3RoKDE3KTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBhNVdpZHRoID0gbW1M
ZW5ndGgoMTQ4KTsgCisgICAgc3RhdGljIGNvbnN0IExlbmd0aCYgYTVIZWlnaHQgPSBtbUxlbmd0
aCgyMTApOworICAgIHN0YXRpYyBjb25zdCBMZW5ndGgmIGE0V2lkdGggPSBtbUxlbmd0aCgyMTAp
OworICAgIHN0YXRpYyBjb25zdCBMZW5ndGgmIGE0SGVpZ2h0ID0gbW1MZW5ndGgoMjk3KTsKKyAg
ICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBhM1dpZHRoID0gbW1MZW5ndGgoMjk3KTsKKyAgICBzdGF0
aWMgY29uc3QgTGVuZ3RoJiBhM0hlaWdodCA9IG1tTGVuZ3RoKDQyMCk7CisgICAgc3RhdGljIGNv
bnN0IExlbmd0aCYgYjVXaWR0aCA9IG1tTGVuZ3RoKDE3Nik7CisgICAgc3RhdGljIGNvbnN0IExl
bmd0aCYgYjVIZWlnaHQgPSBtbUxlbmd0aCgyNTApOworICAgIHN0YXRpYyBjb25zdCBMZW5ndGgm
IGI0V2lkdGggPSBtbUxlbmd0aCgyNTApOworICAgIHN0YXRpYyBjb25zdCBMZW5ndGgmIGI0SGVp
Z2h0ID0gbW1MZW5ndGgoMzUzKTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBsZXR0ZXJXaWR0
aCA9IGluY2hMZW5ndGgoOC41KTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBsZXR0ZXJIZWln
aHQgPSBpbmNoTGVuZ3RoKDExKTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBsZWdhbFdpZHRo
ID0gaW5jaExlbmd0aCg4LjUpOworICAgIHN0YXRpYyBjb25zdCBMZW5ndGgmIGxlZ2FsSGVpZ2h0
ID0gaW5jaExlbmd0aCgxNCk7CisgICAgc3RhdGljIGNvbnN0IExlbmd0aCYgbGVkZ2VyV2lkdGgg
PSBpbmNoTGVuZ3RoKDExKTsKKyAgICBzdGF0aWMgY29uc3QgTGVuZ3RoJiBsZWRnZXJIZWlnaHQg
PSBpbmNoTGVuZ3RoKDE3KTsKKwogCiAgICAgaWYgKCFwYWdlU2l6ZU5hbWUgfHwgcGFnZVNpemVO
YW1lLT5wcmltaXRpdmVUeXBlKCkgIT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19JREVOVCkKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNDIwNSwxNCArNDI0NCwxNCBAQCBib29sIENTU1N0eWxl
U2VsZWN0b3I6OnBhZ2VTaXplRnJvbU5hbWUoQ1NTUHJpbWl0aXZlVmFsdWUqIHBhZ2VTaXplTmFt
ZSwgQ1NTUHJpbQogICAgIHJldHVybiB0cnVlOwogfQogCi1MZW5ndGggQ1NTU3R5bGVTZWxlY3Rv
cjo6bW1MZW5ndGgoZG91YmxlIG1tKSBjb25zdAorTGVuZ3RoJiBDU1NTdHlsZVNlbGVjdG9yOjpt
bUxlbmd0aChkb3VibGUgbW0pIGNvbnN0CiB7Ci0gICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVl
OjpjcmVhdGUobW0sIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTU0pLT5jb21wdXRlTGVuZ3RoPExl
bmd0aD4oc3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxlKTsKKyAgICByZXR1cm4gKm5ldyBMZW5n
dGgoQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShtbSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19N
TSktPmNvbXB1dGVMZW5ndGg8TGVuZ3RoPihzdHlsZSgpLCBtX3Jvb3RFbGVtZW50U3R5bGUpKTsK
IH0KIAotTGVuZ3RoIENTU1N0eWxlU2VsZWN0b3I6OmluY2hMZW5ndGgoZG91YmxlIGluY2gpIGNv
bnN0CitMZW5ndGgmIENTU1N0eWxlU2VsZWN0b3I6OmluY2hMZW5ndGgoZG91YmxlIGluY2gpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUoaW5jaCwgQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19JTiktPmNvbXB1dGVMZW5ndGg8TGVuZ3RoPihzdHlsZSgpLCBtX3Jv
b3RFbGVtZW50U3R5bGUpOworICAgIHJldHVybiAqbmV3IExlbmd0aChDU1NQcmltaXRpdmVWYWx1
ZTo6Y3JlYXRlKGluY2gsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfSU4pLT5jb21wdXRlTGVuZ3Ro
PExlbmd0aD4oc3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxlKSk7CiB9CiAKIHZvaWQgQ1NTU3R5
bGVTZWxlY3Rvcjo6bWFwRmlsbEF0dGFjaG1lbnQoQ1NTUHJvcGVydHlJRCwgRmlsbExheWVyKiBs
YXllciwgQ1NTVmFsdWUqIHZhbHVlKQpAQCAtNDM4Nyw2ICs0NDI2LDggQEAgdm9pZCBDU1NTdHls
ZVNlbGVjdG9yOjptYXBGaWxsU2l6ZShDU1NQcm9wZXJ0eUlELCBGaWxsTGF5ZXIqIGxheWVyLCBD
U1NWYWx1ZSogdmEKICAgICAgICAgZmlyc3RMZW5ndGggPSBmaXJzdC0+Y29tcHV0ZUxlbmd0aDxM
ZW5ndGg+KHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSwgem9vbUZhY3Rvcik7CiAgICAgZWxz
ZSBpZiAoZmlyc3RUeXBlID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSkKICAg
ICAgICAgZmlyc3RMZW5ndGggPSBMZW5ndGgoZmlyc3QtPmdldERvdWJsZVZhbHVlKCksIFBlcmNl
bnQpOworICAgIGVsc2UgaWYgKGZpcnN0VHlwZSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NB
TENfUEVSQ0VOVEFHRV9MRU5HVEgpCisgICAgICAgIGZpcnN0TGVuZ3RoID0gTGVuZ3RoKGZpcnN0
LT5jc3NDYWxjVmFsdWUoKS0+dG9DYWxjVmFsdWUoc3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxl
LCB6b29tRmFjdG9yKSk7CiAgICAgZWxzZQogICAgICAgICByZXR1cm47CiAKQEAgLTQzOTYsNiAr
NDQzNyw4IEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6bWFwRmlsbFNpemUoQ1NTUHJvcGVydHlJ
RCwgRmlsbExheWVyKiBsYXllciwgQ1NTVmFsdWUqIHZhCiAgICAgICAgIHNlY29uZExlbmd0aCA9
IHNlY29uZC0+Y29tcHV0ZUxlbmd0aDxMZW5ndGg+KHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHls
ZSwgem9vbUZhY3Rvcik7CiAgICAgZWxzZSBpZiAoc2Vjb25kVHlwZSA9PSBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX1BFUkNFTlRBR0UpCiAgICAgICAgIHNlY29uZExlbmd0aCA9IExlbmd0aChzZWNv
bmQtPmdldERvdWJsZVZhbHVlKCksIFBlcmNlbnQpOworICAgIGVsc2UgaWYgKHNlY29uZFR5cGUg
PT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DQUxDX1BFUkNFTlRBR0VfTEVOR1RIKQorICAgICAg
ICBzZWNvbmRMZW5ndGggPSBMZW5ndGgoc2Vjb25kLT5jc3NDYWxjVmFsdWUoKS0+dG9DYWxjVmFs
dWUoc3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxlLCB6b29tRmFjdG9yKSk7CiAgICAgZWxzZQog
ICAgICAgICByZXR1cm47CiAKQEAgLTQ0MjMsNiArNDQ2Niw4IEBAIHZvaWQgQ1NTU3R5bGVTZWxl
Y3Rvcjo6bWFwRmlsbFhQb3NpdGlvbihDU1NQcm9wZXJ0eUlELCBGaWxsTGF5ZXIqIGxheWVyLCBD
U1NWYWx1CiAgICAgICAgIGwgPSBwcmltaXRpdmVWYWx1ZS0+Y29tcHV0ZUxlbmd0aDxMZW5ndGg+
KHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSwgem9vbUZhY3Rvcik7CiAgICAgZWxzZSBpZiAo
dHlwZSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpCiAgICAgICAgIGwgPSBM
ZW5ndGgocHJpbWl0aXZlVmFsdWUtPmdldERvdWJsZVZhbHVlKCksIFBlcmNlbnQpOworICAgIGVs
c2UgaWYgKHR5cGUgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DQUxDX1BFUkNFTlRBR0VfTEVO
R1RIKQorICAgICAgICBsID0gTGVuZ3RoKHByaW1pdGl2ZVZhbHVlLT5jc3NDYWxjVmFsdWUoKS0+
dG9DYWxjVmFsdWUoc3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxlLCB6b29tRmFjdG9yKSk7CiAg
ICAgZWxzZQogICAgICAgICByZXR1cm47CiAgICAgbGF5ZXItPnNldFhQb3NpdGlvbihsKTsKQEAg
LTQ0NDcsNiArNDQ5Miw4IEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6bWFwRmlsbFlQb3NpdGlv
bihDU1NQcm9wZXJ0eUlELCBGaWxsTGF5ZXIqIGxheWVyLCBDU1NWYWx1CiAgICAgICAgIGwgPSBw
cmltaXRpdmVWYWx1ZS0+Y29tcHV0ZUxlbmd0aDxMZW5ndGg+KHN0eWxlKCksIG1fcm9vdEVsZW1l
bnRTdHlsZSwgem9vbUZhY3Rvcik7CiAgICAgZWxzZSBpZiAodHlwZSA9PSBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX1BFUkNFTlRBR0UpCiAgICAgICAgIGwgPSBMZW5ndGgocHJpbWl0aXZlVmFsdWUt
PmdldERvdWJsZVZhbHVlKCksIFBlcmNlbnQpOworICAgIGVsc2UgaWYgKHR5cGUgPT0gQ1NTUHJp
bWl0aXZlVmFsdWU6OkNTU19DQUxDX1BFUkNFTlRBR0VfTEVOR1RIKQorICAgICAgICBsID0gTGVu
Z3RoKHByaW1pdGl2ZVZhbHVlLT5jc3NDYWxjVmFsdWUoKS0+dG9DYWxjVmFsdWUoc3R5bGUoKSwg
bV9yb290RWxlbWVudFN0eWxlLCB6b29tRmFjdG9yKSk7CiAgICAgZWxzZQogICAgICAgICByZXR1
cm47CiAgICAgbGF5ZXItPnNldFlQb3NpdGlvbihsKTsKQEAgLTQ3MDYsMTggKzQ3NTMsMjkgQEAg
dm9pZCBDU1NTdHlsZVNlbGVjdG9yOjptYXBOaW5lUGllY2VJbWFnZVNsaWNlKENTU1ZhbHVlKiB2
YWx1ZSwgTmluZVBpZWNlSW1hZ2UmIGkKICAgICBRdWFkKiBzbGljZXMgPSBib3JkZXJJbWFnZVNs
aWNlLT5zbGljZXMoKTsKICAgICBpZiAoc2xpY2VzLT50b3AoKS0+cHJpbWl0aXZlVHlwZSgpID09
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSkKICAgICAgICAgYm94Lm1fdG9wID0g
TGVuZ3RoKHNsaWNlcy0+dG9wKCktPmdldERvdWJsZVZhbHVlKCksIFBlcmNlbnQpOworICAgIGVs
c2UgaWYgKHNsaWNlcy0+dG9wKCktPnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTX0NBTENfUEVSQ0VOVEFHRV9MRU5HVEgpCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogICAgIGVsc2UKICAgICAgICAgYm94Lm1fdG9wID0gTGVuZ3RoKHNsaWNlcy0+dG9wKCkt
PmdldEludFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKSwgRml4ZWQpOworCiAg
ICAgaWYgKHNsaWNlcy0+Ym90dG9tKCktPnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX1BFUkNFTlRBR0UpCiAgICAgICAgIGJveC5tX2JvdHRvbSA9IExlbmd0aChzbGlj
ZXMtPmJvdHRvbSgpLT5nZXREb3VibGVWYWx1ZSgpLCBQZXJjZW50KTsKKyAgICBlbHNlIGlmIChz
bGljZXMtPmJvdHRvbSgpLT5wcmltaXRpdmVUeXBlKCkgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U19DQUxDX1BFUkNFTlRBR0VfTEVOR1RIKQorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
ICAgICBlbHNlCiAgICAgICAgIGJveC5tX2JvdHRvbSA9IExlbmd0aCgoaW50KXNsaWNlcy0+Ym90
dG9tKCktPmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpLCBGaXhl
ZCk7CisKICAgICBpZiAoc2xpY2VzLT5sZWZ0KCktPnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpCiAgICAgICAgIGJveC5tX2xlZnQgPSBMZW5ndGgo
c2xpY2VzLT5sZWZ0KCktPmdldERvdWJsZVZhbHVlKCksIFBlcmNlbnQpOworICAgIGVsc2UgaWYg
KHNsaWNlcy0+bGVmdCgpLT5wcmltaXRpdmVUeXBlKCkgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U19DQUxDX1BFUkNFTlRBR0VfTEVOR1RIKQorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
ICAgICBlbHNlCiAgICAgICAgIGJveC5tX2xlZnQgPSBMZW5ndGgoc2xpY2VzLT5sZWZ0KCktPmdl
dEludFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKSwgRml4ZWQpOworICAgIAog
ICAgIGlmIChzbGljZXMtPnJpZ2h0KCktPnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX1BFUkNFTlRBR0UpCiAgICAgICAgIGJveC5tX3JpZ2h0ID0gTGVuZ3RoKHNsaWNl
cy0+cmlnaHQoKS0+Z2V0RG91YmxlVmFsdWUoKSwgUGVyY2VudCk7CisgICAgZWxzZSBpZiAoc2xp
Y2VzLT5yaWdodCgpLT5wcmltaXRpdmVUeXBlKCkgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19D
QUxDX1BFUkNFTlRBR0VfTEVOR1RIKQorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAg
ICBlbHNlCiAgICAgICAgIGJveC5tX3JpZ2h0ID0gTGVuZ3RoKHNsaWNlcy0+cmlnaHQoKS0+Z2V0
SW50VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpLCBGaXhlZCk7CiAgICAgaW1h
Z2Uuc2V0SW1hZ2VTbGljZXMoYm94KTsKQEAgLTQ3NDQsNiArNDgwMiw4IEBAIExlbmd0aEJveCBD
U1NTdHlsZVNlbGVjdG9yOjptYXBOaW5lUGllY2VJbWFnZVF1YWQoQ1NTVmFsdWUqIHZhbHVlKQog
ICAgICAgICBib3gubV90b3AgPSBMZW5ndGgoc2xpY2VzLT50b3AoKS0+Z2V0SW50VmFsdWUoKSwg
UmVsYXRpdmUpOwogICAgIGVsc2UgaWYgKHNsaWNlcy0+dG9wKCktPnByaW1pdGl2ZVR5cGUoKSA9
PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpCiAgICAgICAgIGJveC5tX3RvcCA9
IExlbmd0aChzbGljZXMtPnRvcCgpLT5nZXREb3VibGVWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX1BFUkNFTlRBR0UpLCBQZXJjZW50KTsKKyAgICBlbHNlIGlmIChzbGljZXMtPnRvcCgpLT5w
cmltaXRpdmVUeXBlKCkgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DQUxDX1BFUkNFTlRBR0Vf
TEVOR1RIKQorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICBlbHNlIGlmIChzbGlj
ZXMtPnRvcCgpLT5nZXRJZGVudCgpICE9IENTU1ZhbHVlQXV0bykKICAgICAgICAgYm94Lm1fdG9w
ID0gc2xpY2VzLT50b3AoKS0+Y29tcHV0ZUxlbmd0aDxMZW5ndGg+KHN0eWxlKCksIHJvb3RFbGVt
ZW50U3R5bGUoKSwgem9vbSk7CiAKQEAgLTQ3NTEsNiArNDgxMSw4IEBAIExlbmd0aEJveCBDU1NT
dHlsZVNlbGVjdG9yOjptYXBOaW5lUGllY2VJbWFnZVF1YWQoQ1NTVmFsdWUqIHZhbHVlKQogICAg
ICAgICBib3gubV9yaWdodCA9IExlbmd0aChzbGljZXMtPnJpZ2h0KCktPmdldEludFZhbHVlKCks
IFJlbGF0aXZlKTsKICAgICBlbHNlIGlmIChzbGljZXMtPnJpZ2h0KCktPnByaW1pdGl2ZVR5cGUo
KSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpCiAgICAgICAgIGJveC5tX3Jp
Z2h0ID0gTGVuZ3RoKHNsaWNlcy0+cmlnaHQoKS0+Z2V0RG91YmxlVmFsdWUoQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19QRVJDRU5UQUdFKSwgUGVyY2VudCk7CisgICAgZWxzZSBpZiAoc2xpY2VzLT5y
aWdodCgpLT5wcmltaXRpdmVUeXBlKCkgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DQUxDX1BF
UkNFTlRBR0VfTEVOR1RIKQorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICBlbHNl
IGlmIChzbGljZXMtPnJpZ2h0KCktPmdldElkZW50KCkgIT0gQ1NTVmFsdWVBdXRvKQogICAgICAg
ICBib3gubV9yaWdodCA9IHNsaWNlcy0+cmlnaHQoKS0+Y29tcHV0ZUxlbmd0aDxMZW5ndGg+KHN0
eWxlKCksIHJvb3RFbGVtZW50U3R5bGUoKSwgem9vbSk7CiAKQEAgLTQ3NTgsNiArNDgyMCw4IEBA
IExlbmd0aEJveCBDU1NTdHlsZVNlbGVjdG9yOjptYXBOaW5lUGllY2VJbWFnZVF1YWQoQ1NTVmFs
dWUqIHZhbHVlKQogICAgICAgICBib3gubV9ib3R0b20gPSBMZW5ndGgoc2xpY2VzLT5ib3R0b20o
KS0+Z2V0SW50VmFsdWUoKSwgUmVsYXRpdmUpOwogICAgIGVsc2UgaWYgKHNsaWNlcy0+Ym90dG9t
KCktPnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0Up
CiAgICAgICAgIGJveC5tX2JvdHRvbSA9IExlbmd0aChzbGljZXMtPmJvdHRvbSgpLT5nZXREb3Vi
bGVWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpLCBQZXJjZW50KTsKKyAg
ICBlbHNlIGlmIChzbGljZXMtPmJvdHRvbSgpLT5wcmltaXRpdmVUeXBlKCkgPT0gQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU19DQUxDX1BFUkNFTlRBR0VfTEVOR1RIKQorICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKICAgICBlbHNlIGlmIChzbGljZXMtPmJvdHRvbSgpLT5nZXRJZGVudCgpICE9
IENTU1ZhbHVlQXV0bykKICAgICAgICAgYm94Lm1fYm90dG9tID0gc2xpY2VzLT5ib3R0b20oKS0+
Y29tcHV0ZUxlbmd0aDxMZW5ndGg+KHN0eWxlKCksIHJvb3RFbGVtZW50U3R5bGUoKSwgem9vbSk7
CiAKQEAgLTQ3NjUsNiArNDgyOSw4IEBAIExlbmd0aEJveCBDU1NTdHlsZVNlbGVjdG9yOjptYXBO
aW5lUGllY2VJbWFnZVF1YWQoQ1NTVmFsdWUqIHZhbHVlKQogICAgICAgICBib3gubV9sZWZ0ID0g
TGVuZ3RoKHNsaWNlcy0+bGVmdCgpLT5nZXRJbnRWYWx1ZSgpLCBSZWxhdGl2ZSk7CiAgICAgZWxz
ZSBpZiAoc2xpY2VzLT5sZWZ0KCktPnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTX1BFUkNFTlRBR0UpCiAgICAgICAgIGJveC5tX2xlZnQgPSBMZW5ndGgoc2xpY2VzLT5s
ZWZ0KCktPmdldERvdWJsZVZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSks
IFBlcmNlbnQpOworICAgIGVsc2UgaWYgKHNsaWNlcy0+bGVmdCgpLT5wcmltaXRpdmVUeXBlKCkg
PT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DQUxDX1BFUkNFTlRBR0VfTEVOR1RIKQorICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICBlbHNlIGlmIChzbGljZXMtPmxlZnQoKS0+Z2V0
SWRlbnQoKSAhPSBDU1NWYWx1ZUF1dG8pCiAgICAgICAgIGJveC5tX2xlZnQgPSBzbGljZXMtPmxl
ZnQoKS0+Y29tcHV0ZUxlbmd0aDxMZW5ndGg+KHN0eWxlKCksIHJvb3RFbGVtZW50U3R5bGUoKSwg
em9vbSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9y
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCmluZGV4IGI0ODkzOWNh
NGU1YWQ5MDNiMzhlZjAxMDYxOTBiMGUzNDUzMTI1OTAuLjIyYjc4Y2Y0OWNmZjBiNjA1ZWRhYjBi
ZmUyMzJhMjE1NjA4ZDAxNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHls
ZVNlbGVjdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaApA
QCAtMzAxLDYgKzMwMSw5IEBAIHB1YmxpYzoKICAgICBib29sIGFwcGx5UHJvcGVydHlUb1JlZ3Vs
YXJTdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbHlQcm9wZXJ0eVRvUmVndWxhclN0eWxlOyB9
CiAgICAgYm9vbCBhcHBseVByb3BlcnR5VG9WaXNpdGVkTGlua1N0eWxlKCkgY29uc3QgeyByZXR1
cm4gbV9hcHBseVByb3BlcnR5VG9WaXNpdGVkTGlua1N0eWxlOyB9CiAKKyAgICBzdGF0aWMgTGVu
Z3RoIGNvbnZlcnRUb0ludExlbmd0aChDU1NQcmltaXRpdmVWYWx1ZSosIFJlbmRlclN0eWxlKiwg
UmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIG11bHRpcGxpZXIgPSAxLCBib29sICpvayA9
IDApOworICAgIHN0YXRpYyBMZW5ndGggY29udmVydFRvRmxvYXRMZW5ndGgoQ1NTUHJpbWl0aXZl
VmFsdWUqLCBSZW5kZXJTdHlsZSosIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSBtdWx0
aXBsaWVyID0gMSwgYm9vbCAqb2sgPSAwKTsKKwogcHJpdmF0ZToKICAgICBzdGF0aWMgUmVuZGVy
U3R5bGUqIHNfc3R5bGVOb3RZZXRBdmFpbGFibGU7CiAKQEAgLTMzNyw4ICszNDAsOCBAQCBwcml2
YXRlOgogICAgIHZvaWQgYXBwbHlQcm9wZXJ0eShpbnQgaWQsIENTU1ZhbHVlKik7CiAgICAgdm9p
ZCBhcHBseVBhZ2VTaXplUHJvcGVydHkoQ1NTVmFsdWUqKTsKICAgICBib29sIHBhZ2VTaXplRnJv
bU5hbWUoQ1NTUHJpbWl0aXZlVmFsdWUqLCBDU1NQcmltaXRpdmVWYWx1ZSosIExlbmd0aCYgd2lk
dGgsIExlbmd0aCYgaGVpZ2h0KTsKLSAgICBMZW5ndGggbW1MZW5ndGgoZG91YmxlIG1tKSBjb25z
dDsKLSAgICBMZW5ndGggaW5jaExlbmd0aChkb3VibGUgaW5jaCkgY29uc3Q7CisgICAgTGVuZ3Ro
JiBtbUxlbmd0aChkb3VibGUgbW0pIGNvbnN0OworICAgIExlbmd0aCYgaW5jaExlbmd0aChkb3Vi
bGUgaW5jaCkgY29uc3Q7CiAjaWYgRU5BQkxFKFNWRykKICAgICB2b2lkIGFwcGx5U1ZHUHJvcGVy
dHkoaW50IGlkLCBDU1NWYWx1ZSopOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAppbmRl
eCBhNzFmZTQ0ZjYzOTc1Mzk4YmMwMTUzZmMzYzFjYzMzMWYxNTQxMDJlLi5lZWI2ODY0OGVhY2Zk
ZTRiYjRhNjYwZGUxMjU1NjEyMDcyYTVjYTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKQEAg
LTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJDU1NBc3BlY3RSYXRpb1ZhbHVlLmgiCiAjaW5jbHVk
ZSAiQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0JvcmRlckltYWdlU2xpY2VW
YWx1ZS5oIgorI2luY2x1ZGUgIkNTU0NhbGNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0NhbnZhc1Zh
bHVlLmgiCiAjaW5jbHVkZSAiQ1NTQ3Jvc3NmYWRlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NDdXJz
b3JJbWFnZVZhbHVlLmgiCkBAIC0xNDMsNiArMTQ0LDggQEAgU3RyaW5nIENTU1ZhbHVlOjpjc3NU
ZXh0KCkgY29uc3QKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IENTU0xpbmVCb3hD
b250YWluVmFsdWUqPih0aGlzKS0+Y3VzdG9tQ3NzVGV4dCgpOwogICAgIGNhc2UgRmxleENsYXNz
OgogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgQ1NTRmxleFZhbHVlKj4odGhpcykt
PmN1c3RvbUNzc1RleHQoKTsKKyAgICBjYXNlIENhbGNDbGFzczoKKyAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PGNvbnN0IENTU0NhbGNWYWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7CiAj
aWYgRU5BQkxFKENTU19GSUxURVJTKQogICAgIGNhc2UgV2ViS2l0Q1NTRmlsdGVyQ2xhc3M6CiAg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBXZWJLaXRDU1NGaWx0ZXJWYWx1ZSo+KHRo
aXMpLT5jdXN0b21Dc3NUZXh0KCk7CkBAIC0yNDYsNiArMjQ5LDkgQEAgdm9pZCBDU1NWYWx1ZTo6
ZGVzdHJveSgpCiAgICAgY2FzZSBGbGV4Q2xhc3M6CiAgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2Fz
dDxDU1NGbGV4VmFsdWUqPih0aGlzKTsKICAgICAgICAgcmV0dXJuOworICAgIGNhc2UgQ2FsY0Ns
YXNzOgorICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8Q1NTQ2FsY1ZhbHVlKj4odGhpcyk7Cisg
ICAgICAgIHJldHVybjsKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCiAgICAgY2FzZSBXZWJLaXRD
U1NGaWx0ZXJDbGFzczoKICAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFdlYktpdENTU0ZpbHRl
clZhbHVlKj4odGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCmluZGV4IDkwYjhhZWYyOTAzMjA1ODZj
NGM3YmUxMTJjNmMwNzQ2NmVmMmYxZjguLmVkZjI1NWU5NjM1OGVlZWY1Nzk2NjBkZjdjYmY2YmEx
ZDhjMTg1NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCkBAIC03Nyw2ICs3Nyw3IEBAIHB1YmxpYzoK
ICAgICBib29sIGlzV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2Ns
YXNzVHlwZSA9PSBXZWJLaXRDU1NUcmFuc2Zvcm1DbGFzczsgfQogICAgIGJvb2wgaXNDU1NMaW5l
Qm94Q29udGFpblZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gTGluZUJveENv
bnRhaW5DbGFzczsgfQogICAgIGJvb2wgaXNGbGV4VmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2Ns
YXNzVHlwZSA9PSBGbGV4Q2xhc3M7IH0KKyAgICBib29sIGlzQ2FsY1ZhbHVlKCkgY29uc3Qge3Jl
dHVybiBtX2NsYXNzVHlwZSA9PSBDYWxjQ2xhc3M7IH0KICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMp
CiAgICAgYm9vbCBpc1dlYktpdENTU0ZpbHRlclZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFz
c1R5cGUgPT0gV2ViS2l0Q1NTRmlsdGVyQ2xhc3M7IH0KICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMp
CkBAIC0xMjAsNiArMTIxLDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBXZWJLaXRDU1NUcmFuc2Zv
cm1DbGFzcywKICAgICAgICAgTGluZUJveENvbnRhaW5DbGFzcywKICAgICAgICAgRmxleENsYXNz
LAorICAgICAgICBDYWxjQ2xhc3MsCiAjaWYgRU5BQkxFKENTU19GSUxURVJTKQogICAgICAgICBX
ZWJLaXRDU1NGaWx0ZXJDbGFzcywKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCkBAIC0xODMsNyAr
MTg1LDcgQEAgcHJvdGVjdGVkOgogICAgIGJvb2wgbV9pc0ltcGxpY2l0IDogMTsKIAogcHJpdmF0
ZToKLSAgICB1bnNpZ25lZCBtX2NsYXNzVHlwZSA6IDU7IC8vIENsYXNzVHlwZQorICAgIHVuc2ln
bmVkIG1fY2xhc3NUeXBlIDogNjsgLy8gQ2xhc3NUeXBlCiAgICAgYm9vbCBtX2lzUHJpbWl0aXZl
IDogMTsKICAgICBib29sIG1faXNMaXN0IDogMTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU1ZHQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TVkdDU1NQYXJz
ZXIuY3BwCmluZGV4IGM4ZTcxYjc5MTJlZDA5ZWM4NTJjMTYwZGVmMzU0MDY3NjU3ZjRiOGUuLjBi
MjE2Mjg5N2YwNWI5YzNjODM0OGExNzg0YjAyNmM2M2Y2ZmVmNGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TVkdDU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
VkdDU1NQYXJzZXIuY3BwCkBAIC0zMTQsNiArMzE0LDggQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNl
U1ZHVmFsdWUoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgICAgICAgICBwYXJzZWRW
YWx1ZSA9IENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUodmFsdWUtPmZWYWx1ZSwgKENTU1ByaW1p
dGl2ZVZhbHVlOjpVbml0VHlwZXMpIHZhbHVlLT51bml0KTsKICAgICAgICAgZWxzZSBpZiAodmFs
dWUtPnVuaXQgPj0gQ1NTUGFyc2VyVmFsdWU6OlFfRU1TKQogICAgICAgICAgICAgcGFyc2VkVmFs
dWUgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlQWxsb3dpbmdNYXJnaW5RdWlyayh2YWx1ZS0+
ZlZhbHVlLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0VNUyk7CisgICAgICAgIGlmIChpc0NhbGNN
aW5NYXgodmFsdWUpKQorICAgICAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVh
dGUobV9wYXJzZWRDYWxjLnJlbGVhc2UoKSk7CiAgICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7
CiAgICAgfQogICAgIGlmICghcGFyc2VkVmFsdWUgfHwgKG1fdmFsdWVMaXN0LT5jdXJyZW50KCkg
JiYgIWluU2hvcnRoYW5kKCkpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Q2FsY1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uM2E1OGU5ODQ0OWE1NWQxOWE1NWY5NzYyMjQxOTNiMGU1YjhiMWE5ZAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5jcHAKQEAgLTAs
MCArMSwxNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ2FsY1ZhbHVlLmgiCisK
KyNpbmNsdWRlIDxsaW1pdHM+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZmxvYXQgQ2FsY0V4
cHJlc3Npb25CaW5hcnlPcGVyYXRpb246OmV2YWx1YXRlKGZsb2F0IG1heFZhbHVlKSBjb25zdAor
eworICAgIGZsb2F0IGxlZnQgPSBtX2xlZnRTaWRlLT5ldmFsdWF0ZShtYXhWYWx1ZSk7CisgICAg
ZmxvYXQgcmlnaHQgPSBtX3JpZ2h0U2lkZS0+ZXZhbHVhdGUobWF4VmFsdWUpOworICAgIHN3aXRj
aCAobV9vcGVyYXRvcikgeworICAgIGNhc2UgQ2FsY0FkZDoKKyAgICAgICAgcmV0dXJuIGxlZnQg
KyByaWdodDsKKyAgICBjYXNlIENhbGNTdWJ0cmFjdDoKKyAgICAgICAgcmV0dXJuIGxlZnQgLSBy
aWdodDsKKyAgICBjYXNlIENhbGNNdWx0aXBseToKKyAgICAgICAgcmV0dXJuIGxlZnQgKiByaWdo
dDsKKyAgICBjYXNlIENhbGNEaXZpZGU6CisgICAgICAgIGlmICghcmlnaHQpCisgICAgICAgICAg
ICByZXR1cm4gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OnF1aWV0X05hTigpOworICAgICAg
ICByZXR1cm4gbGVmdCAvIHJpZ2h0OworICAgIGNhc2UgQ2FsY01vZDoKKyAgICAgICAgaWYgKCFy
aWdodCkKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6cXVp
ZXRfTmFOKCk7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KGxlZnQpICUgc3RhdGlj
X2Nhc3Q8aW50PihyaWdodCk7CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
IHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6cXVpZXRfTmFOKCk7Cit9CisKK0Nh
bGNNaW5NYXhMaXN0OjpDYWxjTWluTWF4TGlzdChDYWxjTGlzdFR5cGUgdHlwZSkKKyAgICA6IG1f
dHlwZSh0eXBlKQorICAgICwgbV9saXN0KCkKK3sKK30KKwordm9pZCBDYWxjTWluTWF4TGlzdDo6
YXBwZW5kKFBhc3NPd25QdHI8Q2FsY0V4cHJlc3Npb25Ob2RlPiB2YWx1ZSkKK3sKKyAgICBtX2xp
c3QuYXBwZW5kKHZhbHVlKTsKK30KKworZmxvYXQgQ2FsY01pbk1heExpc3Q6OmV2YWx1YXRlKGZs
b2F0IG1heFZhbHVlKSBjb25zdAoreworICAgIGlmIChtX2xpc3QuaXNFbXB0eSgpKQorICAgICAg
ICByZXR1cm4gMDsKKyAgICAKKyAgICBmbG9hdCByZXR2YWwgPSBtX2xpc3RbMF0tPmV2YWx1YXRl
KG1heFZhbHVlKTsKKyAgICBpZiAobV90eXBlID09IENhbGNNaW4pIHsKKyAgICAgICAgZm9yICh1
bnNpZ25lZCBpID0gMTsgaSA8IG1fbGlzdC5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgZmxv
YXQgY3VycmVudCA9IG1fbGlzdFtpXS0+ZXZhbHVhdGUobWF4VmFsdWUpOworICAgICAgICAgICAg
aWYgKGN1cnJlbnQgPCByZXR2YWwpCisgICAgICAgICAgICAgICAgcmV0dmFsID0gY3VycmVudDsK
KyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkg
PCBtX2xpc3Quc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGZsb2F0IGN1cnJlbnQgPSBtX2xp
c3RbaV0tPmV2YWx1YXRlKG1heFZhbHVlKTsKKyAgICAgICAgICAgIGlmIChjdXJyZW50ID4gcmV0
dmFsKQorICAgICAgICAgICAgICAgIHJldHZhbCA9IGN1cnJlbnQ7CisgICAgICAgIH0KKyAgICB9
CisKKyAgICByZXR1cm4gcmV0dmFsOworfQorCitQYXNzUmVmUHRyPENhbGNWYWx1ZT4gQ2FsY1Zh
bHVlOjpjcmVhdGUoUGFzc093blB0cjxDYWxjRXhwcmVzc2lvbk5vZGU+IHZhbHVlLCBDYWxjUGVy
bWl0dGVkVmFsdWVSYW5nZSByYW5nZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IENhbGNW
YWx1ZSh2YWx1ZSwgcmFuZ2UpKTsKK30KKworZmxvYXQgQ2FsY1ZhbHVlOjpldmFsdWF0ZShmbG9h
dCBtYXhWYWx1ZSkgY29uc3QKK3sKKyAgICBmbG9hdCByZXN1bHQgPSBtX3ZhbHVlLT5ldmFsdWF0
ZShtYXhWYWx1ZSk7CisgICAgLy8gRklYTUU6IHJlc3VsdCBpcyBOYU4gd2hlbiB0aGVyZSBpcyBh
IGRpdmlzaW9uIGJ5IHplcm8gd2hpY2gKKyAgICAvLyAgICAgICAgaXNuJ3QgZm91bmQgYXQgcGFy
c2UgdGltZSAoZS5nLiwgNS8oMTAwJS0yMDBweCkqMTAwcHgpLgorICAgIC8vICAgICAgICBUaGVy
ZSBpcyBhIGRpc2N1c3Npb24gYWJvdXQgdGhpcyBhbmQgaG9wZWZ1bGx5IHNwZWMKKyAgICAvLyAg
ICAgICAgd2lsbCBoYXZlIHRoZSBkZWNpc2lvbiBmb3IgdGhpcyBpc3N1ZS4KKyAgICAvLyAgICAg
ICAgaHR0cDovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9QdWJsaWMvd3d3LXN0eWxlLzIwMTBKYW4v
MDAwNy5odG1sCisgICAgaWYgKGlzbmFuKHJlc3VsdCkpCisgICAgICAgIHJldHVybiAwOworICAg
IHJldHVybiBtX2lzTm9uTmVnYXRpdmUgJiYgcmVzdWx0IDwgMCA/IDAgOiByZXN1bHQ7Cit9CisK
K2ludCBIYW5kbGVNYXA6Omluc2VydChQYXNzUmVmUHRyPENhbGNWYWx1ZT4gY2FsY1ZhbHVlKQor
eworICAgIC8vIFNraXAgbV9pbmRleCA9PSAwIGFzIHplcm8ga2V5IGhpdHMgdGhlIGFzc2VydGlv
biBvZiBIYXNoTWFwLgorICAgIHdoaWxlICghbV9pbmRleCB8fCBtX21hcC0+Y29udGFpbnMobV9p
bmRleCkpCisgICAgICAgIG1faW5kZXgrKzsKKyAgICBpbnQgc2V0SW5kZXggPSBtX2luZGV4Owor
ICAgIG1faW5kZXgrKzsKKyAgICAKKyAgICBtX21hcC0+c2V0KHNldEluZGV4LCBjYWxjVmFsdWUp
OyAgIAorICAgIAorICAgIHJldHVybiBzZXRJbmRleDsKK30KKwordm9pZCBIYW5kbGVNYXA6OnJl
bW92ZShpbnQgaW5kZXgpCit7CisgICAgQVNTRVJUKG1fbWFwLT5jb250YWlucyhpbmRleCkpOwor
ICAgIG1fbWFwLT5yZW1vdmUoaW5kZXgpOworfQorCitQYXNzUmVmUHRyPENhbGNWYWx1ZT4gSGFu
ZGxlTWFwOjpnZXQoaW50IGluZGV4KQoreworICAgIEFTU0VSVChtX21hcC0+Y29udGFpbnMoaW5k
ZXgpKTsKKyAgICByZXR1cm4gbV9tYXAtPmdldChpbmRleCk7Cit9CisKKyAgICAKKyAgICAKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0NhbGNWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ2FsY1ZhbHVlLmgKbmV3IGZp
bGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZGQ2YjI0NGRhMzM5NDdhN2E2ZmIxZGJmYTllNDNmYTc4NTAzYTc4NQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5oCkBAIC0wLDAgKzEs
MTY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6Cisg
KgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAq
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29v
Z2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBDYWxjVmFsdWVfaAorI2RlZmluZSBDYWxjVmFsdWVfaAorCisjaW5jbHVk
ZSAiTGVuZ3RoLmgiCisjaW5jbHVkZSA8d3RmL093blB0ci5oPgorI2luY2x1ZGUgPHd0Zi9QYXNz
T3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBDYWxjT3BlcmF0b3IgeworICAg
IENhbGNBZGQgPSAnKycsCisgICAgQ2FsY1N1YnRyYWN0ID0gJy0nLAorICAgIENhbGNNdWx0aXBs
eSA9ICcqJywKKyAgICBDYWxjRGl2aWRlID0gJy8nLAorICAgIENhbGNNb2QgPSAnJScKK307CisK
K2VudW0gQ2FsY1Blcm1pdHRlZFZhbHVlUmFuZ2UgeworICAgIENhbGNSYW5nZUFsbCwKKyAgICBD
YWxjUmFuZ2VOb25OZWdhdGl2ZQorfTsKKyAgICAgICAgCitjbGFzcyBDYWxjRXhwcmVzc2lvbk5v
ZGUgeworcHVibGljOgorICAgIHZpcnR1YWwgfkNhbGNFeHByZXNzaW9uTm9kZSgpCisgICAgewor
ICAgIH0KKyAgICAKKyAgICB2aXJ0dWFsIGZsb2F0IGV2YWx1YXRlKGZsb2F0IG1heFZhbHVlKSBj
b25zdCA9IDA7Cit9OworICAgIAorY2xhc3MgQ2FsY1ZhbHVlIDogcHVibGljIFJlZkNvdW50ZWQ8
Q2FsY1ZhbHVlPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Q2FsY1ZhbHVlPiBj
cmVhdGUoUGFzc093blB0cjxDYWxjRXhwcmVzc2lvbk5vZGU+IHZhbHVlLCBDYWxjUGVybWl0dGVk
VmFsdWVSYW5nZSk7CisgICAgZmxvYXQgZXZhbHVhdGUoZmxvYXQgbWF4VmFsdWUpIGNvbnN0Owor
ICAgIAorcHJpdmF0ZToKKyAgICBDYWxjVmFsdWUoUGFzc093blB0cjxDYWxjRXhwcmVzc2lvbk5v
ZGU+IHZhbHVlLCBDYWxjUGVybWl0dGVkVmFsdWVSYW5nZSByYW5nZSkKKyAgICAgICAgOiBtX3Zh
bHVlKHZhbHVlKQorICAgICAgICAsIG1faXNOb25OZWdhdGl2ZShyYW5nZSA9PSBDYWxjUmFuZ2VO
b25OZWdhdGl2ZSkKKyAgICB7CisgICAgfQorICAgIAorICAgIE93blB0cjxDYWxjRXhwcmVzc2lv
bk5vZGU+IG1fdmFsdWU7CisgICAgYm9vbCBtX2lzTm9uTmVnYXRpdmU7Cit9OworCitjbGFzcyBD
YWxjRXhwcmVzc2lvbk51bWJlciA6IHB1YmxpYyBDYWxjRXhwcmVzc2lvbk5vZGUgeworcHVibGlj
OgorICAgIGV4cGxpY2l0IENhbGNFeHByZXNzaW9uTnVtYmVyKGZsb2F0IHZhbHVlKQorICAgICAg
ICA6IG1fdmFsdWUodmFsdWUpCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgZmxvYXQgZXZh
bHVhdGUoZmxvYXQpIGNvbnN0IAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fdmFsdWU7CisgICAg
fQorICAgIAorcHJpdmF0ZToKKyAgICBmbG9hdCBtX3ZhbHVlOworfTsKKworY2xhc3MgQ2FsY0V4
cHJlc3Npb25MZW5ndGggOiBwdWJsaWMgQ2FsY0V4cHJlc3Npb25Ob2RlIHsKK3B1YmxpYzoKKyAg
ICBleHBsaWNpdCBDYWxjRXhwcmVzc2lvbkxlbmd0aChMZW5ndGggbGVuZ3RoKQorICAgICAgICA6
IG1fbGVuZ3RoKGxlbmd0aCkKKyAgICB7CisgICAgfQorCisgICAgdmlydHVhbCBmbG9hdCBldmFs
dWF0ZShmbG9hdCBtYXhWYWx1ZSkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2xlbmd0
aC5jYWxjRmxvYXRWYWx1ZShtYXhWYWx1ZSk7CisgICAgfQorICAgIAorcHJpdmF0ZToKKyAgICBM
ZW5ndGggbV9sZW5ndGg7Cit9OworCitjbGFzcyBDYWxjRXhwcmVzc2lvbkJpbmFyeU9wZXJhdGlv
biA6IHB1YmxpYyBDYWxjRXhwcmVzc2lvbk5vZGUgeworcHVibGljOgorICAgIENhbGNFeHByZXNz
aW9uQmluYXJ5T3BlcmF0aW9uKFBhc3NPd25QdHI8Q2FsY0V4cHJlc3Npb25Ob2RlPiBsZWZ0U2lk
ZSwgUGFzc093blB0cjxDYWxjRXhwcmVzc2lvbk5vZGU+IHJpZ2h0U2lkZSwgQ2FsY09wZXJhdG9y
IG9wKQorICAgICAgICA6IG1fbGVmdFNpZGUobGVmdFNpZGUpCisgICAgICAgICwgbV9yaWdodFNp
ZGUocmlnaHRTaWRlKQorICAgICAgICAsIG1fb3BlcmF0b3Iob3ApCisgICAgeworICAgIH0KKwor
ICAgIHZpcnR1YWwgZmxvYXQgZXZhbHVhdGUoZmxvYXQpIGNvbnN0OworCitwcml2YXRlOgorICAg
IE93blB0cjxDYWxjRXhwcmVzc2lvbk5vZGU+IG1fbGVmdFNpZGU7CisgICAgT3duUHRyPENhbGNF
eHByZXNzaW9uTm9kZT4gbV9yaWdodFNpZGU7CisgICAgQ2FsY09wZXJhdG9yIG1fb3BlcmF0b3I7
Cit9OworCitlbnVtIENhbGNMaXN0VHlwZSB7CisgICAgQ2FsY01pbiwKKyAgICBDYWxjTWF4LCAK
K307CisgICAgCitjbGFzcyBDYWxjTWluTWF4TGlzdCA6IHB1YmxpYyBDYWxjRXhwcmVzc2lvbk5v
ZGUgeworcHVibGljOgorICAgIGV4cGxpY2l0IENhbGNNaW5NYXhMaXN0KENhbGNMaXN0VHlwZSk7
CisgICAgdm9pZCBhcHBlbmQoUGFzc093blB0cjxDYWxjRXhwcmVzc2lvbk5vZGU+KTsKKworICAg
IHZpcnR1YWwgZmxvYXQgZXZhbHVhdGUoZmxvYXQpIGNvbnN0OworCitwcml2YXRlOgorICAgIENh
bGNMaXN0VHlwZSBtX3R5cGU7CisgICAgVmVjdG9yPE93blB0cjxDYWxjRXhwcmVzc2lvbk5vZGU+
ID4gbV9saXN0OworfTsKKworICAgIAorY2xhc3MgSGFuZGxlTWFwIHsKK3B1YmxpYzoKKyAgICBI
YW5kbGVNYXAoKSAKKyAgICA6IG1faW5kZXgoMSkKKyAgICB7CisgICAgICAgIG1fbWFwID0gbmV3
IEhhc2hNYXA8aW50LCBSZWZQdHI8Q2FsY1ZhbHVlPiA+OworICAgIH0KKyAgICAKKyAgICBpbnQg
aW5zZXJ0KFBhc3NSZWZQdHI8Q2FsY1ZhbHVlPik7CisgICAgdm9pZCByZW1vdmUoaW50IGluZGV4
KTsKKyAgICBQYXNzUmVmUHRyPENhbGNWYWx1ZT4gZ2V0KGludCBpbmRleCk7CisgICAgCitwcml2
YXRlOiAgICAgICAgCisgICAgaW50IG1faW5kZXg7CisgICAgSGFzaE1hcDxpbnQsIFJlZlB0cjxD
YWxjVmFsdWUgICA+ID4qIG1fbWFwOworfTsKKworICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gQ2FsY1ZhbHVlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0xlbmd0aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguY3BwCmlu
ZGV4IDg1NWQwMmY5MzVhNTE0M2IxNmYyZTY5Y2IwZjliNGU3NWZkY2NjOTkuLjA2YWZmZDk1MGFi
MDZiOTFmMjcwNjUyNDc3OWQ1NzFiYmU4NGEyNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0xlbmd0aC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3Ro
LmNwcApAQCAtMjUsMTAgKzI1LDE0IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
TGVuZ3RoLmgiCiAKKyNpbmNsdWRlICJDYWxjVmFsdWUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0
cmluZy5oIgorI2luY2x1ZGUgPG1hdGguaD4KICNpbmNsdWRlIDx3dGYvQVNDSUlDVHlwZS5oPgog
I2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNp
bmNsdWRlIDx3dGYvT3duQXJyYXlQdHIuaD4KKyNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVmZmVyLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBX
VEY7CkBAIC0xNDgsNSArMTUyLDk1IEBAIFBhc3NPd25BcnJheVB0cjxMZW5ndGg+IG5ld0xlbmd0
aEFycmF5KGNvbnN0IFN0cmluZyYgc3RyaW5nLCBpbnQmIGxlbikKIAogICAgIHJldHVybiByLnJl
bGVhc2UoKTsKIH0KKyAgICAKK0xlbmd0aDo6fkxlbmd0aCgpCit7CisgICAgaWYgKGlzQ2FsY3Vs
YXRlZCgpKQorICAgICAgICBkZWNyZW1lbnRDYWxjdWxhdGVkUmVmKCk7Cit9ICAgCisgICAgCitI
YW5kbGVNYXAqIExlbmd0aDo6Y2FsY0hhbmRsZXMoKSBjb25zdAoreworICAgIERFRklORV9TVEFU
SUNfTE9DQUwoSGFuZGxlTWFwLCBoYW5kbGVNYXAsICgpKTsKKyAgICByZXR1cm4gJmhhbmRsZU1h
cDsKK30KKworTGVuZ3RoOjpMZW5ndGgoUGFzc1JlZlB0cjxDYWxjVmFsdWU+IGNhbGMpCisgICAg
OiBtX3F1aXJrKGZhbHNlKQorICAgICwgbV90eXBlKENhbGN1bGF0ZWQpCisgICAgLCBtX2lzRmxv
YXQoZmFsc2UpCit7CisgICAgbV9pbnRWYWx1ZSA9IGNhbGNIYW5kbGVzKCktPmluc2VydChjYWxj
KTsKK30KKyAgICAKK1Bhc3NSZWZQdHI8Q2FsY1ZhbHVlPiBMZW5ndGg6OmNhbGNWYWx1ZSgpIGNv
bnN0Cit7CisgICAgQVNTRVJUKGlzQ2FsY3VsYXRlZCgpKTsKKyAgICByZXR1cm4gY2FsY0hhbmRs
ZXMoKS0+Z2V0KGNhbGN1bGF0ZWRMZW5ndGhJZCgpKTsKK30KKyAgICAKKy8vIEZJWE1FOiBJdCdz
IGltcG9zc2libGUgdG8ga25vdyB0aGUgc2lnbiBvZiBjYWxjIHZhbHVlcyB3aXRob3V0CisvLyAg
ICAgICAgbWF4IHZhbHVlIGlmIHRoZSBjYWxjIGZvcm11bGEgY29udGFpbnMgcGVyY2VudGFnZXMu
CisvLyAgICAgICAgV2UgYXNzdW1lIGFsbCBjYWxjIHZhbHVlcyBhcmUgcG9zaXRpdmUgZm9yIG5v
dy4KKworYm9vbCBMZW5ndGg6OmNhbGN1bGF0ZWRJc1plcm8oKSBjb25zdAoreworICAgIHJldHVy
biBmYWxzZTsKK30KKworYm9vbCBMZW5ndGg6OmNhbGN1bGF0ZWRJc1Bvc2l0aXZlKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBMZW5ndGg6OmNhbGN1bGF0ZWRJc05lZ2F0
aXZlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2ludCBMZW5ndGg6OmNhbGN1
bGF0ZWRDYWxjVmFsdWUoaW50IG1heFZhbHVlLCBib29sIC8qIHJvdW5kUGVyY2VudGFnZXMgKi8p
IGNvbnN0Cit7CisgICAgQVNTRVJUKGlzQ2FsY3VsYXRlZCgpKTsKKyAgICBSZWZQdHI8Q2FsY1Zh
bHVlPiBjYWxjTGVuZ3RoID0gY2FsY0hhbmRsZXMoKS0+Z2V0KGNhbGN1bGF0ZWRMZW5ndGhJZCgp
KTsKKyAgICBmbG9hdCByZXN1bHQgPSBjYWxjTGVuZ3RoLT5ldmFsdWF0ZShtYXhWYWx1ZSk7Cisg
ICAgaWYgKGlzbmFuKHJlc3VsdCkpCisgICAgICAgIHJldHVybiAwOworICAgIHJldHVybiByZXN1
bHQ7Cit9CisKK2ludCBMZW5ndGg6OmNhbGN1bGF0ZWRDYWxjTWluVmFsdWUoaW50IG1heFZhbHVl
LCBib29sIC8qIHJvdW5kUGVyY2VudGFnZXMgKi8pIGNvbnN0Cit7CisgICAgQVNTRVJUKGlzQ2Fs
Y3VsYXRlZCgpKTsKKyAgICBSZWZQdHI8Q2FsY1ZhbHVlPiBjYWxjTGVuZ3RoID0gY2FsY0hhbmRs
ZXMoKS0+Z2V0KGNhbGN1bGF0ZWRMZW5ndGhJZCgpKTsKKyAgICBmbG9hdCByZXN1bHQgPSBjYWxj
TGVuZ3RoLT5ldmFsdWF0ZShtYXhWYWx1ZSk7CisgICAgaWYgKGlzbmFuKHJlc3VsdCkpCisgICAg
ICAgIHJldHVybiAwOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2Zsb2F0IExlbmd0aDo6Y2Fs
Y3VsYXRlZENhbGNGbG9hdFZhbHVlKGludCBtYXhWYWx1ZSkgY29uc3QKK3sKKyAgICBBU1NFUlQo
aXNDYWxjdWxhdGVkKCkpOworICAgIFJlZlB0cjxDYWxjVmFsdWU+IGNhbGNMZW5ndGggPSBjYWxj
SGFuZGxlcygpLT5nZXQoY2FsY3VsYXRlZExlbmd0aElkKCkpOworICAgIGZsb2F0IHJlc3VsdCA9
IGNhbGNMZW5ndGgtPmV2YWx1YXRlKG1heFZhbHVlKTsKKyAgICBpZiAoaXNuYW4ocmVzdWx0KSkK
KyAgICAgICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwordm9pZCBMZW5ndGg6
OmluY3JlbWVudENhbGN1bGF0ZWRSZWYoKSBjb25zdAoreworICAgIEFTU0VSVChpc0NhbGN1bGF0
ZWQoKSk7CisgICAgY2FsY0hhbmRsZXMoKS0+Z2V0KGNhbGN1bGF0ZWRMZW5ndGhJZCgpKS0+cmVm
KCk7Cit9CisKK3ZvaWQgTGVuZ3RoOjpkZWNyZW1lbnRDYWxjdWxhdGVkUmVmKCkgY29uc3QKK3sK
KyAgICBBU1NFUlQoaXNDYWxjdWxhdGVkKCkpOworICAgIFJlZlB0cjxDYWxjVmFsdWU+IGNhbGNM
ZW5ndGggPSBjYWxjSGFuZGxlcygpLT5nZXQoY2FsY3VsYXRlZExlbmd0aElkKCkpOworICAgIGlm
IChjYWxjTGVuZ3RoLT5oYXNPbmVSZWYoKSkKKyAgICAgICAgY2FsY0hhbmRsZXMoKS0+cmVtb3Zl
KGNhbGN1bGF0ZWRMZW5ndGhJZCgpKTsKKyAgICBjYWxjTGVuZ3RoLT5kZXJlZigpOworfSAgICAK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vTGVuZ3RoLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaAppbmRleCAx
MTllODIzNzY1ZTQwNzQzYzY5NTY1YjgxOGFkYzA5NzMwMDhlMzNjLi45YWRiYzU0YjU3NmZiZTM5
M2VjYTE3MWY0MTY4MTQ3ZWJmOGE5ZDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9MZW5ndGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguaApAQCAt
MjUsMTYgKzI1LDIzIEBACiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3
dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0
Zi9QYXNzT3duQXJyYXlQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNvbnN0IGludCBpbnRNYXhGb3JMZW5ndGggPSAweDdmZmZmZmY7IC8v
IG1heCB2YWx1ZSBmb3IgYSAyOC1iaXQgaW50CiBjb25zdCBpbnQgaW50TWluRm9yTGVuZ3RoID0g
KC0weDdmZmZmZmYgLSAxKTsgLy8gbWluIHZhbHVlIGZvciBhIDI4LWJpdCBpbnQKIAotZW51bSBM
ZW5ndGhUeXBlIHsgQXV0bywgUmVsYXRpdmUsIFBlcmNlbnQsIEZpeGVkLCBJbnRyaW5zaWMsIE1p
bkludHJpbnNpYywgVW5kZWZpbmVkIH07Ci0KK2VudW0gTGVuZ3RoVHlwZSB7IEF1dG8sIFJlbGF0
aXZlLCBQZXJjZW50LCBGaXhlZCwgSW50cmluc2ljLCBNaW5JbnRyaW5zaWMsIENhbGN1bGF0ZWQs
IFVuZGVmaW5lZCB9OworIAorY2xhc3MgQ2FsY1ZhbHVlOyAgICAKK2NsYXNzIEhhbmRsZU1hcDsK
KyAgICAKIHN0cnVjdCBMZW5ndGggewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVi
bGljOgpAQCAtNjQsMTEgKzcxLDI4IEBAIHB1YmxpYzoKICAgICAgICAgbV9mbG9hdFZhbHVlID0g
c3RhdGljX2Nhc3Q8ZmxvYXQ+KHYpOyAgICAKICAgICB9CiAKKyAgICBleHBsaWNpdCBMZW5ndGgo
UGFzc1JlZlB0cjxDYWxjVmFsdWU+KTsKKworICAgIExlbmd0aChjb25zdCBMZW5ndGgmIGxlbmd0
aCkKKyAgICB7CisgICAgICAgIGluaXRGcm9tTGVuZ3RoKGxlbmd0aCk7CisgICAgfQorICAgIAor
ICAgIExlbmd0aCYgb3BlcmF0b3I9KGNvbnN0IExlbmd0aCYgbGVuZ3RoKQorICAgIHsKKyAgICAg
ICAgaW5pdEZyb21MZW5ndGgobGVuZ3RoKTsKKyAgICAgICAgcmV0dXJuICp0aGlzOworICAgIH0K
KyAgICB+TGVuZ3RoKCk7CisKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgTGVuZ3RoJiBvKSBj
b25zdCB7IHJldHVybiAobV90eXBlID09IG8ubV90eXBlKSAmJiAobV9xdWlyayA9PSBvLm1fcXVp
cmspICYmIChpc1VuZGVmaW5lZCgpIHx8IChnZXRGbG9hdFZhbHVlKCkgPT0gby5nZXRGbG9hdFZh
bHVlKCkpKTsgfQogICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBMZW5ndGgmIG8pIGNvbnN0IHsg
cmV0dXJuICEoKnRoaXMgPT0gbyk7IH0KIAogICAgIGNvbnN0IExlbmd0aCYgb3BlcmF0b3IqPShm
bG9hdCB2KQotICAgIHsgICAgICAgIAorICAgIHsgICAgICAgCisgICAgICAgIGlmIChpc0NhbGN1
bGF0ZWQoKSkKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAKICAg
ICAgICAgaWYgKG1faXNGbG9hdCkKICAgICAgICAgICAgIG1fZmxvYXRWYWx1ZSA9IHN0YXRpY19j
YXN0PGZsb2F0PihtX2Zsb2F0VmFsdWUgKiB2KTsKICAgICAgICAgZWxzZSAgICAgICAgCkBAIC03
OSw2ICsxMDMsMTAgQEAgcHVibGljOgogICAgIAogICAgIGludCB2YWx1ZSgpIGNvbnN0CiAgICAg
eworICAgICAgICBpZiAoaXNDYWxjdWxhdGVkKCkpIHsKKyAgICAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KICAgICAgICAgcmV0
dXJuIGdldEludFZhbHVlKCk7CiAgICAgfQogCkBAIC04OCw2ICsxMTYsOCBAQCBwdWJsaWM6CiAg
ICAgICAgIHJldHVybiBnZXRGbG9hdFZhbHVlKCk7CiAgICAgfQogCisgICAgUGFzc1JlZlB0cjxD
YWxjVmFsdWU+IGNhbGNWYWx1ZSgpIGNvbnN0OworCiAgICAgTGVuZ3RoVHlwZSB0eXBlKCkgY29u
c3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8TGVuZ3RoVHlwZT4obV90eXBlKTsgfQogICAgIGJvb2wg
cXVpcmsoKSBjb25zdCB7IHJldHVybiBtX3F1aXJrOyB9CiAKQEAgLTEwNSw2ICsxMzUsOCBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIHNldFZhbHVlKGludCB2YWx1ZSkKICAgICB7CisgICAgICAgIGlm
IChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgc2V0VmFsdWUo
Rml4ZWQsIHZhbHVlKTsKICAgICB9CiAKQEAgLTEzMCw2ICsxNjIsOCBAQCBwdWJsaWM6CiAgICAg
ICAgICAgICAgICAgcmV0dXJuIGNhbGNNaW5WYWx1ZShtYXhWYWx1ZSwgcm91bmRQZXJjZW50YWdl
cyk7CiAgICAgICAgICAgICBjYXNlIEF1dG86CiAgICAgICAgICAgICAgICAgcmV0dXJuIG1heFZh
bHVlOworICAgICAgICAgICAgY2FzZSBDYWxjdWxhdGVkOgorICAgICAgICAgICAgICAgIHJldHVy
biBjYWxjdWxhdGVkQ2FsY1ZhbHVlKG1heFZhbHVlLCByb3VuZFBlcmNlbnRhZ2VzKTsgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICBjYXNlIFJlbGF0aXZlOgogICAgICAgICAgICAgY2FzZSBJ
bnRyaW5zaWM6CiAgICAgICAgICAgICBjYXNlIE1pbkludHJpbnNpYzoKQEAgLTE1MSw2ICsxODUs
OCBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+
KHJvdW5kKG1heFZhbHVlICogcGVyY2VudCgpIC8gMTAwLjBmKSk7CiAgICAgICAgICAgICAgICAg
Ly8gRG9uJ3QgcmVtb3ZlIHRoZSBleHRyYSBjYXN0IHRvIGZsb2F0LiBJdCBpcyBuZWVkZWQgZm9y
IHJvdW5kaW5nIG9uIDMyLWJpdCBJbnRlbCBtYWNoaW5lcyB0aGF0IHVzZSB0aGUgRlBVIHN0YWNr
LgogICAgICAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KHN0YXRpY19jYXN0PGZs
b2F0PihtYXhWYWx1ZSAqIHBlcmNlbnQoKSAvIDEwMC4wZikpOworICAgICAgICAgICAgY2FzZSBD
YWxjdWxhdGVkOgorICAgICAgICAgICAgICAgIHJldHVybiBjYWxjdWxhdGVkQ2FsY01pblZhbHVl
KG1heFZhbHVlLCByb3VuZFBlcmNlbnRhZ2VzKTsgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICBjYXNlIEF1dG86CiAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgICBjYXNl
IFJlbGF0aXZlOgpAQCAtMTczLDYgKzIwOSw4IEBAIHB1YmxpYzoKICAgICAgICAgICAgICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8ZmxvYXQ+KG1heFZhbHVlICogcGVyY2VudCgpIC8gMTAwLjBmKTsK
ICAgICAgICAgICAgIGNhc2UgQXV0bzoKICAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8ZmxvYXQ+KG1heFZhbHVlKTsKKyAgICAgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKKyAgICAg
ICAgICAgICAgICByZXR1cm4gY2FsY3VsYXRlZENhbGNGbG9hdFZhbHVlKG1heFZhbHVlKTsgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICBjYXNlIFJlbGF0aXZlOgogICAgICAgICAgICAgY2Fz
ZSBJbnRyaW5zaWM6CiAgICAgICAgICAgICBjYXNlIE1pbkludHJpbnNpYzoKQEAgLTE4OCwxOCAr
MjI2LDI0IEBAIHB1YmxpYzoKICAgICBib29sIGlzWmVybygpIGNvbnN0IAogICAgIHsKICAgICAg
ICAgQVNTRVJUKCFpc1VuZGVmaW5lZCgpKTsKLSAgICAgICAgcmV0dXJuIG1faXNGbG9hdCA/ICFt
X2Zsb2F0VmFsdWUgOiAhbV9pbnRWYWx1ZTsKKyAgICAgICAgcmV0dXJuIGlzQ2FsY3VsYXRlZCgp
ID8gY2FsY3VsYXRlZElzWmVybygpIDogbV9pc0Zsb2F0ID8gIW1fZmxvYXRWYWx1ZSA6ICFtX2lu
dFZhbHVlOworICAgIH0KKyAgICBib29sIGlzUG9zaXRpdmUoKSBjb25zdAorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGlzVW5kZWZpbmVkKCkgPyBmYWxzZSA6IGlzQ2FsY3VsYXRlZCgpID8gY2FsY3Vs
YXRlZElzUG9zaXRpdmUoKSA6IGdldEZsb2F0VmFsdWUoKSA+IDA7CisgICAgfQorICAgIGJvb2wg
aXNOZWdhdGl2ZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gaXNVbmRlZmluZWQoKSA/
IGZhbHNlIDogaXNDYWxjdWxhdGVkKCkgPyBjYWxjdWxhdGVkSXNOZWdhdGl2ZSgpIDogZ2V0Rmxv
YXRWYWx1ZSgpIDwgMDsKICAgICB9CiAgICAgCi0gICAgYm9vbCBpc1Bvc2l0aXZlKCkgY29uc3Qg
eyByZXR1cm4gaXNVbmRlZmluZWQoKSA/IGZhbHNlIDogZ2V0RmxvYXRWYWx1ZSgpID4gMDsgfQot
ICAgIGJvb2wgaXNOZWdhdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIGlzVW5kZWZpbmVkKCkgPyBmYWxz
ZSA6IGdldEZsb2F0VmFsdWUoKSA8IDA7IH0KLQogICAgIGJvb2wgaXNBdXRvKCkgY29uc3QgeyBy
ZXR1cm4gdHlwZSgpID09IEF1dG87IH0KICAgICBib29sIGlzUmVsYXRpdmUoKSBjb25zdCB7IHJl
dHVybiB0eXBlKCkgPT0gUmVsYXRpdmU7IH0KLSAgICBib29sIGlzUGVyY2VudCgpIGNvbnN0IHsg
cmV0dXJuIHR5cGUoKSA9PSBQZXJjZW50OyB9CisgICAgYm9vbCBpc1BlcmNlbnQoKSBjb25zdCB7
IHJldHVybiB0eXBlKCkgPT0gUGVyY2VudCB8fCB0eXBlKCkgPT0gQ2FsY3VsYXRlZDsgfQogICAg
IGJvb2wgaXNGaXhlZCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBGaXhlZDsgfQogICAgIGJv
b2wgaXNJbnRyaW5zaWNPckF1dG8oKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gQXV0byB8fCB0
eXBlKCkgPT0gTWluSW50cmluc2ljIHx8IHR5cGUoKSA9PSBJbnRyaW5zaWM7IH0KLSAgICBib29s
IGlzU3BlY2lmaWVkKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IEZpeGVkIHx8IHR5cGUoKSA9
PSBQZXJjZW50OyB9CisgICAgYm9vbCBpc1NwZWNpZmllZCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUo
KSA9PSBGaXhlZCB8fCB0eXBlKCkgPT0gUGVyY2VudCB8fCB0eXBlKCkgPT0gQ2FsY3VsYXRlZDsg
fQorICAgIGJvb2wgaXNDYWxjdWxhdGVkKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IENhbGN1
bGF0ZWQ7IH0KIAogICAgIExlbmd0aCBibGVuZChjb25zdCBMZW5ndGgmIGZyb20sIGZsb2F0IHBy
b2dyZXNzKSBjb25zdAogICAgIHsKQEAgLTIzOCw2ICsyODIsMzcgQEAgcHJpdmF0ZToKICAgICAg
ICAgcmV0dXJuIG1faXNGbG9hdCA/IG1fZmxvYXRWYWx1ZSA6IG1faW50VmFsdWU7CiAgICAgfQog
CisgICAgdm9pZCBpbml0RnJvbUxlbmd0aChjb25zdCBMZW5ndGggJmxlbmd0aCkgCisgICAgewor
ICAgICAgICBtX3F1aXJrID0gbGVuZ3RoLm1fcXVpcms7CisgICAgICAgIG1fdHlwZSA9IGxlbmd0
aC5tX3R5cGU7CisgICAgICAgIG1faXNGbG9hdCA9IGxlbmd0aC5tX2lzRmxvYXQ7CisgICAgICAg
IAorICAgICAgICBpZiAobV9pc0Zsb2F0KQorICAgICAgICAgICAgbV9mbG9hdFZhbHVlID0gbGVu
Z3RoLm1fZmxvYXRWYWx1ZTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbV9pbnRWYWx1ZSA9
IGxlbmd0aC5tX2ludFZhbHVlOworICAgICAgICAKKyAgICAgICAgaWYgKGlzQ2FsY3VsYXRlZCgp
KQorICAgICAgICAgICAgaW5jcmVtZW50Q2FsY3VsYXRlZFJlZigpOworICAgIH0KKyAgICAKKyAg
ICBIYW5kbGVNYXAqIGNhbGNIYW5kbGVzKCkgY29uc3Q7CisgICAgCisgICAgYm9vbCBjYWxjdWxh
dGVkSXNaZXJvKCkgY29uc3Q7CisgICAgYm9vbCBjYWxjdWxhdGVkSXNQb3NpdGl2ZSgpIGNvbnN0
OworICAgIGJvb2wgY2FsY3VsYXRlZElzTmVnYXRpdmUoKSBjb25zdDsKKyAgICBpbnQgY2FsY3Vs
YXRlZENhbGNWYWx1ZShpbnQgbWF4VmFsdWUsIGJvb2wgcm91bmRQZXJjZW50YWdlcykgY29uc3Q7
CisgICAgaW50IGNhbGN1bGF0ZWRDYWxjTWluVmFsdWUoaW50IG1heFZhbHVlLCBib29sIHJvdW5k
UGVyY2VudGFnZXMpIGNvbnN0OworICAgIGZsb2F0IGNhbGN1bGF0ZWRDYWxjRmxvYXRWYWx1ZShp
bnQgbWF4VmFsdWUpIGNvbnN0OworICAgIGludCBjYWxjdWxhdGVkTGVuZ3RoSWQoKSBjb25zdAor
ICAgIHsKKyAgICAgICAgQVNTRVJUKGlzQ2FsY3VsYXRlZCgpKTsKKyAgICAgICAgcmV0dXJuIGdl
dEludFZhbHVlKCk7CisgICAgfQorICAgIHZvaWQgaW5jcmVtZW50Q2FsY3VsYXRlZFJlZigpIGNv
bnN0OworICAgIHZvaWQgZGVjcmVtZW50Q2FsY3VsYXRlZFJlZigpIGNvbnN0OyAgICAKKyAgICAK
ICAgICB1bmlvbiB7CiAgICAgICAgIGludCBtX2ludFZhbHVlOwogICAgICAgICBmbG9hdCBtX2Zs
b2F0VmFsdWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQXV0b1RhYmxl
TGF5b3V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9BdXRvVGFibGVMYXlvdXQuY3Bw
CmluZGV4IDg4N2Q1ZmM0MTVhOWZhMTU1YTczNjVkMzkzMDJjZmFkODJiN2FjNTcuLjA2Zjk5MTdi
ZDJiZmYyN2VjYmM1MjU5ZGZkOWY3MDAyZjJkZGY4NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9BdXRvVGFibGVMYXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9BdXRvVGFibGVMYXlvdXQuY3BwCkBAIC04MSwxMCArODEsMTIgQEAgdm9pZCBBdXRv
VGFibGVMYXlvdXQ6OnJlY2FsY0NvbHVtbih1bnNpZ25lZCBlZmZDb2wpCiAKICAgICAgICAgICAg
ICAgICAgICAgTGVuZ3RoIGNlbGxMb2dpY2FsV2lkdGggPSBjZWxsLT5zdHlsZU9yQ29sTG9naWNh
bFdpZHRoKCk7CiAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBXaGF0IGlzIHRoaXMgYXJi
aXRyYXJ5IHZhbHVlPwotICAgICAgICAgICAgICAgICAgICBpZiAoY2VsbExvZ2ljYWxXaWR0aC52
YWx1ZSgpID4gMzI3NjApCi0gICAgICAgICAgICAgICAgICAgICAgICBjZWxsTG9naWNhbFdpZHRo
LnNldFZhbHVlKDMyNzYwKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGNlbGxMb2dpY2FsV2lk
dGguaXNOZWdhdGl2ZSgpKQotICAgICAgICAgICAgICAgICAgICAgICAgY2VsbExvZ2ljYWxXaWR0
aC5zZXRWYWx1ZSgwKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFjZWxsTG9naWNhbFdpZHRo
LmlzQ2FsY3VsYXRlZCgpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2VsbExvZ2lj
YWxXaWR0aC52YWx1ZSgpID4gMzI3NjApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2Vs
bExvZ2ljYWxXaWR0aC5zZXRWYWx1ZSgzMjc2MCk7CisgICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoY2VsbExvZ2ljYWxXaWR0aC5pc05lZ2F0aXZlKCkpCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY2VsbExvZ2ljYWxXaWR0aC5zZXRWYWx1ZSgwKTsKKyAgICAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGNlbGxMb2dpY2FsV2lkdGgudHlwZSgpKSB7
CiAgICAgICAgICAgICAgICAgICAgIGNhc2UgRml4ZWQ6CiAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyBpZ25vcmUgd2lkdGg9MApAQCAtMTA4LDYgKzExMCwxMCBAQCB2b2lkIEF1dG9UYWJsZUxh
eW91dDo6cmVjYWxjQ29sdW1uKHVuc2lnbmVkIGVmZkNvbCkKICAgICAgICAgICAgICAgICAgICAg
ICAgIGlmIChjZWxsTG9naWNhbFdpZHRoLmlzUG9zaXRpdmUoKSAmJiAoIWNvbHVtbkxheW91dC5s
b2dpY2FsV2lkdGguaXNQZXJjZW50KCkgfHwgY2VsbExvZ2ljYWxXaWR0aC52YWx1ZSgpID4gY29s
dW1uTGF5b3V0LmxvZ2ljYWxXaWR0aC52YWx1ZSgpKSkKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb2x1bW5MYXlvdXQubG9naWNhbFdpZHRoID0gY2VsbExvZ2ljYWxXaWR0aDsKICAgICAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICBjYXNlIENhbGN1
bGF0ZWQ6CisgICAgICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRSBjYWxjKCk6IGlzIHRoZXJl
IGFueXRoaW5nIGJldHRlciB3ZSBjYW4gZG8gaGVyZT8KKyAgICAgICAgICAgICAgICAgICAgICAg
IG1faGFzUGVyY2VudCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgICAgICAgICAgY2FzZSBSZWxhdGl2ZToKICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBOZWVkIHRvIHVuZGVyc3RhbmQgdGhpcyBjYXNlIGFuZCB3aGV0aGVyIGl0IG1h
a2VzIHNlbnNlIHRvIGNvbXBhcmUgdmFsdWVzCiAgICAgICAgICAgICAgICAgICAgICAgICAvLyB3
aGljaCBhcmUgbm90IG5lY2Vzc2FyaWx5IG9mIHRoZSBzYW1lIHR5cGUuCkBAIC0zMTgsNiArMzI0
LDEwIEBAIGludCBBdXRvVGFibGVMYXlvdXQ6OmNhbGNFZmZlY3RpdmVMb2dpY2FsV2lkdGgoKQog
ICAgICAgICAgICAgICAgIHRvdGFsUGVyY2VudCArPSBjb2x1bW5MYXlvdXQubG9naWNhbFdpZHRo
LnBlcmNlbnQoKTsKICAgICAgICAgICAgICAgICBhbGxDb2xzQXJlRml4ZWQgPSBmYWxzZTsKICAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKKyAgICAg
ICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgICAgICBhbGxDb2xz
QXJlRml4ZWQgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBicmVhazsgICAgCiAgICAgICAgICAg
ICBjYXNlIEZpeGVkOgogICAgICAgICAgICAgICAgIGlmIChjb2x1bW5MYXlvdXQubG9naWNhbFdp
ZHRoLnZhbHVlKCkgPiAwKSB7CiAgICAgICAgICAgICAgICAgICAgIGZpeGVkV2lkdGggKz0gY29s
dW1uTGF5b3V0LmxvZ2ljYWxXaWR0aC52YWx1ZSgpOwpAQCAtMzU2LDcgKzM2Niw3IEBAIGludCBB
dXRvVGFibGVMYXlvdXQ6OmNhbGNFZmZlY3RpdmVMb2dpY2FsV2lkdGgoKQogICAgICAgICB9CiAK
ICAgICAgICAgLy8gYWRqdXN0IHRhYmxlIG1heCB3aWR0aCBpZiBuZWVkZWQKLSAgICAgICAgaWYg
KGNlbGxMb2dpY2FsV2lkdGguaXNQZXJjZW50KCkpIHsKKyAgICAgICAgaWYgKGNlbGxMb2dpY2Fs
V2lkdGguaXNQZXJjZW50KCkgJiYgIWNlbGxMb2dpY2FsV2lkdGguaXNDYWxjdWxhdGVkKCkpIHsK
ICAgICAgICAgICAgIGlmICh0b3RhbFBlcmNlbnQgPiBjZWxsTG9naWNhbFdpZHRoLnBlcmNlbnQo
KSB8fCBhbGxDb2xzQXJlUGVyY2VudCkgewogICAgICAgICAgICAgICAgIC8vIGNhbid0IHNhdGlm
eSB0aGlzIGNvbmRpdGlvbiwgdHJlYXQgYXMgdmFyaWFibGUKICAgICAgICAgICAgICAgICBjZWxs
TG9naWNhbFdpZHRoID0gTGVuZ3RoKCk7CkBAIC01MDksNiArNTE5LDEwIEBAIHZvaWQgQXV0b1Rh
YmxlTGF5b3V0OjpsYXlvdXQoKQogICAgICAgICAgICAgaGF2ZVBlcmNlbnQgPSB0cnVlOwogICAg
ICAgICAgICAgdG90YWxQZXJjZW50ICs9IGxvZ2ljYWxXaWR0aC5wZXJjZW50KCk7CiAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDYWxjdWxhdGVkOgorICAgICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICBoYXZlUGVyY2VudCA9IHRydWU7CisgICAgICAg
ICAgICBicmVhazsgICAgCiAgICAgICAgIGNhc2UgUmVsYXRpdmU6CiAgICAgICAgICAgICB0b3Rh
bFJlbGF0aXZlICs9IGxvZ2ljYWxXaWR0aC52YWx1ZSgpOwogICAgICAgICAgICAgYnJlYWs7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IGYwNDZkZjQ1ZWFiNjE5NjJm
ZjFlY2MxMzRjMTBjNzFiYjBmMmMyNjcuLmQyNWYxNTI4ZjBiYmNiODY4YzdkOTA1MzI4YzhjMzlh
MGVjYjllZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3gu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC0yMTgw
LDcgKzIxODAsOCBAQCBMYXlvdXRVbml0IFJlbmRlckJveDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNh
bFdpZHRoVXNpbmcoTGVuZ3RoIGxvZ2ljYWxXaWR0aCkgY29ucwogICAgIHN3aXRjaCAobG9naWNh
bFdpZHRoLnR5cGUoKSkgewogICAgICAgICBjYXNlIEZpeGVkOgogICAgICAgICAgICAgcmV0dXJu
IGNvbXB1dGVDb250ZW50Qm94TG9naWNhbFdpZHRoKGxvZ2ljYWxXaWR0aC52YWx1ZSgpKTsKLSAg
ICAgICAgY2FzZSBQZXJjZW50OiB7CisgICAgICAgIGNhc2UgUGVyY2VudDogCisgICAgICAgIGNh
c2UgQ2FsY3VsYXRlZDogewogICAgICAgICAgICAgLy8gRklYTUU6IGNvbnRhaW5pbmdCbG9ja0xv
Z2ljYWxXaWR0aEZvckNvbnRlbnQoKSBpcyB3cm9uZyBpZiB0aGUgcmVwbGFjZWQgZWxlbWVudCdz
IGJsb2NrLWZsb3cgaXMgcGVycGVuZGljdWxhciB0byB0aGUKICAgICAgICAgICAgIC8vIGNvbnRh
aW5pbmcgYmxvY2sncyBibG9jay1mbG93LgogICAgICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ2NDk2CkBAIC0yMjEyLDYgKzIyMTMsNyBAQCBMYXlv
dXRVbml0IFJlbmRlckJveDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodFVzaW5nKExlbmd0
aCBsb2dpY2FsSGVpZ2h0KSBjbwogICAgICAgICBjYXNlIEZpeGVkOgogICAgICAgICAgICAgcmV0
dXJuIGNvbXB1dGVDb250ZW50Qm94TG9naWNhbEhlaWdodChsb2dpY2FsSGVpZ2h0LnZhbHVlKCkp
OwogICAgICAgICBjYXNlIFBlcmNlbnQ6CisgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKICAgICAg
ICAgewogICAgICAgICAgICAgUmVuZGVyT2JqZWN0KiBjYiA9IGlzUG9zaXRpb25lZCgpID8gY29u
dGFpbmVyKCkgOiBjb250YWluaW5nQmxvY2soKTsKICAgICAgICAgICAgIHdoaWxlIChjYi0+aXNB
bm9ueW1vdXMoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlU2VjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVT
ZWN0aW9uLmNwcAppbmRleCAzMWNmZTgwZTk4NjEzNjI1ZDIwZTQ3N2I3OTVkZTdiODQ0MWUwYjg2
Li42NGYxMzI5NDdkYzJjZjBhODMxYTcxOTc4MDMwODc3Yzg2ZmIwMjgzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcApAQCAtMjI2LDYgKzIy
Niw3IEBAIHZvaWQgUmVuZGVyVGFibGVTZWN0aW9uOjphZGRDZWxsKFJlbmRlclRhYmxlQ2VsbCog
Y2VsbCwgUmVuZGVyVGFibGVSb3cqIHJvdykKICAgICAgICAgICAgICAgICAgICAgICAgIChjUm93
TG9naWNhbEhlaWdodC5pc0ZpeGVkKCkgJiYgY1Jvd0xvZ2ljYWxIZWlnaHQudmFsdWUoKSA8IGxv
Z2ljYWxIZWlnaHQudmFsdWUoKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICBtX2dyaWRbaW5z
ZXJ0aW9uUm93XS5sb2dpY2FsSGVpZ2h0ID0gbG9naWNhbEhlaWdodDsKICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSBDYWxjdWxhdGVkOiAvLyBGSVhNRSBj
YWxjKCkKICAgICAgICAgICAgICAgICBjYXNlIFJlbGF0aXZlOgogICAgICAgICAgICAgICAgIGRl
ZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM5Mzc0NmRlZDY0MDc3
NWZjZDdlZjFiNDE1NzVjMmIyZTc3NjY2YWEuLjI3MjIxMzA4ZGNjYjJmYzkxM2E3ODNmYWIyZTVh
MzJlZTAyYjE2ZWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3NiBAQAorMjAxMS0xMi0wNiAgTWlrZSBMYXd0
aGVyICA8bWlrZWxhd3RoZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENTUzM6IEltcGxlbWVu
dCBjYWxjKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE2NjYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBjc3MzL2NhbGMvYmFja2dyb3VuZC1wb3NpdGlvbi1wYXJzaW5nLWV4cGVjdGVkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9iYWNrZ3JvdW5kLXBvc2l0aW9uLXBhcnNpbmcuaHRt
bDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2Jsb2NrLW1hc2stb3ZlcmxheS1pbWFnZS1v
dXRzZXQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2Jsb2NrLW1h
c2stb3ZlcmxheS1pbWFnZS1vdXRzZXQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxj
L2JvcmRlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9ib3JkZXIt
cmFkaXVzLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9ib3JkZXIt
cmFkaXVzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9ib3JkZXItc3BhY2luZy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9ib3JkZXItc3BhY2luZy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvYm9yZGVyLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGNzczMvY2FsYy9jYWxjLWVycm9ycy5odG1sOgorICAgICAgICAqIGNzczMvY2FsYy9j
b2xvci1oc2wtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvY29sb3It
aHNsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9jb2xvci1yZ2ItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvY29sb3ItcmdiLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGNzczMvY2FsYy9jc3MzLXJhZGlhbC1ncmFkaWVudHMtZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2NzczMtcmFkaWFsLWdyYWRpZW50cy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvZm9udC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGNzczMvY2FsYy9mb250LW1vbm9zcGFjZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGNzczMvY2FsYy9mb250LW1vbm9zcGFjZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBj
c3MzL2NhbGMvZm9udC1zaXplLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9j
YWxjL2ZvbnQtc2l6ZS1mcmFjdGlvbmFsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
Y3NzMy9jYWxjL2ZvbnQtc2l6ZS1mcmFjdGlvbmFsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNz
czMvY2FsYy9mb250LXNpemUuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2ZvbnQu
aHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2dldENvbXB1dGVkU3R5bGUtbWFyZ2lu
LXBlcmNlbnRhZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvZ2V0
Q29tcHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBj
c3MzL2NhbGMvZ3JhZGllbnQtY29sb3Itc3RvcHMtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAg
ICAgICogY3NzMy9jYWxjL2dyYWRpZW50LWNvbG9yLXN0b3BzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGNzczMvY2FsYy9pbWctc2l6ZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBj
c3MzL2NhbGMvaW1nLXNpemUuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2xpbmUt
aGVpZ2h0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2xpbmUtaGVp
Z2h0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9tYXJnaW4tZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvbWFyZ2luLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGNzczMvY2FsYy9taW5tYXgtZXJyb3JzLmh0bWw6CisgICAgICAgICogY3NzMy9jYWxjL211
bHRpcGxlLWJhY2tncm91bmQtc2l6ZS10cmFuc2l0aW9ucy1leHBlY3RlZC5wbmc6IEFkZGVkLgor
ICAgICAgICAqIGNzczMvY2FsYy9tdWx0aXBsZS1iYWNrZ3JvdW5kLXNpemUtdHJhbnNpdGlvbnMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvbXVsdGlwbGUtYmFja2dy
b3VuZC1zaXplLXRyYW5zaXRpb25zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9w
YWRkaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3BhZGRpbmcu
aHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3JlZmxlY3Rpb24tY29tcHV0ZWQtc3R5
bGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvcmVmbGVjdGlvbi1j
b21wdXRlZC1zdHlsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvcmVzb3VyY2Vz
L2FscGhhLWdyYWRpZW50LnBuZzogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3Jlc291cmNl
cy9kaWFtb25kLnBuZzogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3Jlc291cmNlcy9tYXNr
LnBuZzogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3Jlc291cmNlcy9yaW5nLnBuZzogQWRk
ZWQuCisgICAgICAgICogY3NzMy9jYWxjL3NpbXBsZS1jYWxjcy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogY3NzMy9jYWxjL3NpbXBsZS1jYWxjcy5odG1sOgorICAgICAgICAqIGNzczMvY2FsYy9z
aW1wbGUtY29tcG9zaXRlZC1tYXNrLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNz
czMvY2FsYy9zaW1wbGUtY29tcG9zaXRlZC1tYXNrLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNz
czMvY2FsYy9zaW1wbGUtbWlubWF4LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBjc3MzL2NhbGMv
c2ltcGxlLW1pbm1heC5odG1sOgorICAgICAgICAqIGNzczMvY2FsYy9zdmctdHJhbnNpdGlvbnMt
ZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvc3ZnLXRyYW5zaXRpb25z
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3N2Zy10cmFuc2l0aW9u
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvdGFibGUtY2FsY3MtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvdGFibGUtY2FsY3MuaHRtbDogQWRkZWQu
CisgICAgICAgICogY3NzMy9jYWxjL3RhYmxlLWVtcHR5LWNlbGxzLWV4cGVjdGVkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGNzczMvY2FsYy90YWJsZS1lbXB0eS1jZWxscy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBjc3MzL2NhbGMvdmFsdWUtbGlzdC1vdXQtb2YtYm91bmRzLWNyYXNoLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy92ZXJ0aWNhbC1hbGlnbi1iYXNlbGluZS1yZWFk
anVzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvdmVydGljYWwtYWxpZ24tZXhw
ZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvdmVydGljYWwtYWxpZ24tZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvdmVydGljYWwtYWxpZ24uaHRt
bDogQWRkZWQuCisKIDIwMTEtMTEtMTggIEFkYW0gS2xlaW4gIDxhZGFta0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgVXNlIGNhbnBsYXkgaW5zdGVhZCBvZiBjYW5wbGF5dGhyb3VnaCBpbiBodHRw
L3Rlc3RzL21lZGlhIHRvIHByZXZlbnQgdGltZW91dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3NzMy9jYWxjL2JhY2tncm91bmQtcG9zaXRpb24tcGFyc2luZy1leHBlY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvY3NzMy9jYWxjL2JhY2tncm91bmQtcG9zaXRpb24tcGFyc2luZy1leHBlY3RlZC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmMzOWIyNjk3MDdjNjI5NTA0ZjM3YzliNmNkNTA3NDQxNGI0MjAxMDEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYmFja2dyb3VuZC1wb3Np
dGlvbi1wYXJzaW5nLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMzcgQEAKKzwhRE9DVFlQRSBo
dG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxLy9FTiIgImh0dHA6Ly93d3cudzMub3Jn
L1RSL2h0bWw0L3N0cmljdC5kdGQiPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgIDx0aXRs
ZT5DU1MgVGVzdDogQ1NTIGJhY2tncm91bmQgcG9zaXRpb246IHBhcnNpbmc8L3RpdGxlPgorICA8
bGluayByZWw9ImF1dGhvciIgdGl0bGU9IklhbiBIaWNrc29uIiBocmVmPSJtYWlsdG86aWFuQGhp
eGllLmNoIj4KKyAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9D
U1MyMS9jb2xvcnMuaHRtbCNiYWNrZ3JvdW5kIj4KKyAgPG1ldGEgbmFtZT0iZmxhZ3MiIGNvbnRl
bnQ9ImludmFsaWQiPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgLmNhc2UgeyBmbG9h
dDogbGVmdDsgYm9yZGVyOiBzb2xpZDsgbWFyZ2luOiAwLjJlbTsgem9vbTowLjUgfSAvKiAxNTAg
eCAxMDAgKi8KKyAgIC50ZXN0IHsgYmFja2dyb3VuZDogI0ZGRkZDQyB1cmwocmVzb3VyY2VzL3Jp
bmcucG5nKSBuby1yZXBlYXQ7IHBhZGRpbmc6IDE2cHg7IH0KKyAgIC5jb250cm9sIHsgd2lkdGg6
IDExOHB4OyBoZWlnaHQ6IDY4cHg7IGJhY2tncm91bmQ6IHVybChyZXNvdXJjZXMvZGlhbW9uZC5w
bmcpIG5vLXJlcGVhdDsgfQorCisgICAuYSAuY29udHJvbCwgLmIgLmNvbnRyb2wsIC5jIC5jb250
cm9sLCAuZCAuY29udHJvbCwgLmUgLmNvbnRyb2wsIC5mIC5jb250cm9sIHsgYmFja2dyb3VuZC1w
b3NpdGlvbjogMTAwJSAxMDAlOyB9CisgICAuY2FzZS5hIC50ZXN0IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogcmlnaHQgYm90dG9tOyB9CisgICAuY2FzZS5iIC50ZXN0IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogYm90dG9tIHJpZ2h0OyB9CisgICAuY2FzZS5jIC50ZXN0IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogMTAwJSBib3R0b207IH0KKyAgIC5jYXNlLmQgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0
aW9uOiByaWdodCAxMDAlOyB9CisgICAuY2FzZS5lIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlv
bjogMTAwJSA1OHB4OyB9CisgICAuY2FzZS5mIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjog
MTA4cHggMTAwJTsgfQorCisgICAuZyAuY29udHJvbCwgLmggLmNvbnRyb2wsIC5pIC5jb250cm9s
LCAuaiAuY29udHJvbCwgLmsgLmNvbnRyb2wsIC5sIC5jb250cm9sLCAubSAuY29udHJvbCB7IGJh
Y2tncm91bmQtcG9zaXRpb246IDU0cHggMjhweDsgfQorICAgLmNhc2UuZyAudGVzdCB7IGJhY2tn
cm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IH0KKyAgIC5jYXNlLmggLnRlc3QgeyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyB9CisgICAuY2FzZS5pIC50ZXN0IHsgYmFja2dyb3Vu
ZC1wb3NpdGlvbjogY2VudGVyIDUwJTsgfQorICAgLmNhc2UuaiAudGVzdCB7IGJhY2tncm91bmQt
cG9zaXRpb246IDUwJSBjZW50ZXI7IH0KKyAgIC5jYXNlLmsgLnRlc3QgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiA1MCU7IH0KKyAgIC5jYXNlLmwgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBj
ZW50ZXI7IH0KKyAgIC5jYXNlLm0gLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1NHB4OyB9
CisKKyAgIC5uIC5jb250cm9sLCAubyAuY29udHJvbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDU0
cHggNTZweDsgfQorICAgLmNhc2UubiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRv
bSBjZW50ZXI7IH0KKyAgIC5jYXNlLm8gLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50
ZXIgYm90dG9tOyB9CisKKyAgIC5wIC5jb250cm9sLCAucSAuY29udHJvbCB7IGJhY2tncm91bmQt
cG9zaXRpb246IDEwOHB4IDI4cHg7IH0KKyAgIC5jYXNlLnAgLnRlc3QgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiByaWdodCBjZW50ZXI7IH0KKyAgIC5jYXNlLnEgLnRlc3QgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiBjZW50ZXIgcmlnaHQ7IH0KKworICAgLnIgLmNvbnRyb2wgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiB0b3AgcmlnaHQ7IH0KKyAgIC5jYXNlLnIwIC50ZXN0IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogcmlnaHQgdG9wOyB9CisgICAuY2FzZS5yMSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRp
b246IHJpZ2h0IDA7IH0KKyAgIC5jYXNlLnIyIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjog
cmlnaHQgMHB4OyB9CisgICAuY2FzZS5yMyAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IHJp
Z2h0IDAlOyB9CisgICAuY2FzZS5yNCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUg
dG9wOyB9CisgICAuY2FzZS5yNSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMDsg
fQorICAgLmNhc2UucjYgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDBweDsgfQor
ICAgLmNhc2UucjcgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDAlOyB9CisgICAu
Y2FzZS5yOCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwOHB4IHRvcDsgfQorICAgLmNh
c2UucjkgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDhweCAwOyB9CisgICAuY2FzZS5y
MTAgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDhweCAwcHg7IH0KKyAgIC5jYXNlLnIx
MSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwOHB4IDAlOyB9CisKKyAgIC5uZWdhdGl2
ZSAuY29udHJvbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAlIDAlOyB9CisgICAubmVnYXRpdmUz
IC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsgfSAvKiBDU1MzIGJhY2tn
cm91bmQgc3VwcG9ydHMgY29tbWEgKi8KKyAgIC5jYXNlLnQxIC50ZXN0IHsgYmFja2dyb3VuZC1w
b3NpdGlvbjogcmlnaHQgYm90dG9tIGJvdHRvbTsgfQorICAgLmNhc2UudDIgLnRlc3QgeyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiBib3R0b20gcmlnaHQgYm90dG9tOyB9CisgICAuY2FzZS50MyAudGVz
dCB7IGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSAxMDAlOyB9CisgICAuY2FzZS50NCAudGVz
dCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgcmlnaHQ7IH0KKyAgIC5jYXNlLnQ1IC50ZXN0
IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIDhweDsgfQorICAgLmNhc2UudDYgLnRlc3Qg
eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyM3B4IHJpZ2h0OyB9CisgICAuY2FzZS50NyAudGVzdCB7
IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciA1MCUgY2VudGVyOyB9CisgICAuY2FzZS50OCAu
dGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCUgNTAlOyB9CisgICAuY2FzZS50OSAu
dGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciA1MCUgNTAlOyB9CisgICAuY2FzZS50
MTAgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUsIDEwMCU7IH0gLyogQ1NTMyBiYWNr
Z3JvdW5kIHN1cHBvcnRzIGNvbW1hICovCisgICAgICAvKiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0
aGUgY29tbWEgZWl0aGVyIGlzCisgICAgICAgICAgIGEpIGludmFsaWQgcGVyIENTUzIuMQorICAg
ICAgICAgICBiKSBoYW5kbGVkIGNvcnJlY3RseSBwZXIgQ1NTMworICAgICAgICAgYW5kIE5PVCBw
YXJzZWQgYXMgYSB2YWxpZCBzZXBhcmF0b3Igb2YgeCBhbmQgeSBvZmZzZXRzLiAqLworICAgLmNh
c2UudDExIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIDU0cHg7IH0KKyAgIC5j
YXNlLnQxMiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwIDUwJTsgfQorICAgLmNhc2Uu
dDEzIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIDEwMDsgfQorICAgLmNhc2Uu
dDE0IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHRib3R0b207IH0KKyAgIC5jYXNl
LnQxNSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgcmlnaHQ7IH0KKyAgIC5jYXNlLnQx
NiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDBweCByaWdodDsgfQorICAgLmNhc2UudDE3
IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgcmlnaHQ7IH0KKyAgIC5jYXNlLnQxOCAu
dGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAxMDAlOyB9CisgICAuY2FzZS50MTkgLnRl
c3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgMTA4cHg7IH0KKyAgIC5jYXNlLnQyMCAudGVz
dCB7IGJhY2tncm91bmQtcG9zaXRpb246IHRvcCB0b3A7IH0KKyAgIC5jYXNlLnQyMSAudGVzdCB7
IGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgcmlnaHQ7IH0KKyAgIC5jYXNlLnQyMiAudGVzdCB7
IGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgbGVmdDsgfQorICA8L3N0eWxlPgorIDwvaGVhZD4K
Kzxib2R5PgorICA8cD5JbiBhbGwgdGhlIGZvbGxvd2luZyBib3hlcywgdGhlIGZ1Y2hzaWEgZGlh
bW9uZCBzaG91bGQgYmUgc3Vycm91bmRlZCBieSBhIHJpbmcuPC9wPgorICA8ZGl2IGNsYXNzPSJj
YXNlIGEiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2
PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGIiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xh
c3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGMiPjxk
aXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2Pgor
ICA8ZGl2IGNsYXNzPSJjYXNlIGQiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRy
b2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGUiPjxkaXYgY2xhc3M9
InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNs
YXNzPSJjYXNlIGYiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2
PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGciPjxkaXYgY2xhc3M9InRlc3QiPjxk
aXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNl
IGgiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2Pjwv
ZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGkiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9
ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGoiPjxkaXYg
Y2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8
ZGl2IGNsYXNzPSJjYXNlIGsiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wi
PjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGwiPjxkaXYgY2xhc3M9InRl
c3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNz
PSJjYXNlIG0iPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2Pjwv
ZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG4iPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYg
Y2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG8i
PjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2
PgorICA8ZGl2IGNsYXNzPSJjYXNlIHAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNv
bnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHEiPjxkaXYgY2xh
c3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjYXNlIHIgcjAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wi
PjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjEiPjxkaXYgY2xhc3M9
InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNs
YXNzPSJjYXNlIHIgcjIiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwv
ZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjMiPjxkaXYgY2xhc3M9InRl
c3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNz
PSJjYXNlIHIgcjQiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2
PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjUiPjxkaXYgY2xhc3M9InRlc3Qi
PjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJj
YXNlIHIgcjYiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2Pjwv
ZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjciPjxkaXYgY2xhc3M9InRlc3QiPjxk
aXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNl
IHIgcjgiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2
PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjkiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYg
Y2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIg
cjEwIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48
L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MSI+PGRpdiBjbGFzcz0idGVzdCI+
PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNh
c2UgbmVnYXRpdmUgdDIiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwv
ZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQzIj48ZGl2IGNs
YXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRp
diBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0NCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0i
Y29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUg
dDUiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2Pjwv
ZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQ2Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48
ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2Fz
ZSBuZWdhdGl2ZSB0NyI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9k
aXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDgiPjxkaXYgY2xh
c3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQ5Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJj
b250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSBu
ZWdhdGl2ZTMgdDEwIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rp
dj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTEiPjxkaXYgY2xh
c3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQxMiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0i
Y29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUg
dDEzIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48
L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTQiPjxkaXYgY2xhc3M9InRlc3Qi
PjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJj
YXNlIG5lZ2F0aXZlIHQxNSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+
PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDE2Ij48ZGl2
IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAg
PGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTciPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xh
c3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0
aXZlIHQxOCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9k
aXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDE5Ij48ZGl2IGNsYXNzPSJ0
ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFz
cz0iY2FzZSBuZWdhdGl2ZSB0MjAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRy
b2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQyMSI+
PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+
CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDIyIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2
IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAKKworPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9iYWNrZ3JvdW5kLXBvc2l0aW9uLXBhcnNpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9iYWNrZ3JvdW5kLXBvc2l0aW9uLXBhcnNpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYzFl
ODY4MWJlNjM4MzFmODZkNjRkYzA0YWE1NzZkODZhMzRkNDNmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JhY2tncm91bmQtcG9zaXRpb24tcGFyc2luZy5odG1sCkBA
IC0wLDAgKzEsMTM3IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwg
NC4wMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9zdHJpY3QuZHRkIj4KKzxodG1s
IGxhbmc9ImVuIj4KKzxoZWFkPgorICA8dGl0bGU+Q1NTIFRlc3Q6IENTUyBiYWNrZ3JvdW5kIHBv
c2l0aW9uOiBwYXJzaW5nPC90aXRsZT4KKyAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJJYW4g
SGlja3NvbiIgaHJlZj0ibWFpbHRvOmlhbkBoaXhpZS5jaCI+CisgIDxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMjEvY29sb3JzLmh0bWwjYmFja2dyb3VuZCI+
CisgIDxtZXRhIG5hbWU9ImZsYWdzIiBjb250ZW50PSJpbnZhbGlkIj4KKyAgPHN0eWxlIHR5cGU9
InRleHQvY3NzIj4KKyAgIC5jYXNlIHsgZmxvYXQ6IGxlZnQ7IGJvcmRlcjogc29saWQ7IG1hcmdp
bjogMC4yZW07IHpvb206MC41IH0gLyogMTUwIHggMTAwICovCisgICAudGVzdCB7IGJhY2tncm91
bmQ6ICNGRkZGQ0MgdXJsKHJlc291cmNlcy9yaW5nLnBuZykgbm8tcmVwZWF0OyBwYWRkaW5nOiAt
d2Via2l0LWNhbGMoMTZweCk7IH0KKyAgIC5jb250cm9sIHsgd2lkdGg6IDExOHB4OyBoZWlnaHQ6
IDY4cHg7IGJhY2tncm91bmQ6IHVybChyZXNvdXJjZXMvZGlhbW9uZC5wbmcpIG5vLXJlcGVhdDsg
fQorCisgICAuYSAuY29udHJvbCwgLmIgLmNvbnRyb2wsIC5jIC5jb250cm9sLCAuZCAuY29udHJv
bCwgLmUgLmNvbnRyb2wsIC5mIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAx
MDAlOyB9CisgICAuY2FzZS5hIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgYm90
dG9tOyB9CisgICAuY2FzZS5iIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIHJp
Z2h0OyB9CisgICAuY2FzZS5jIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1j
YWxjKDEwMCUpIGJvdHRvbTsgfQorICAgLmNhc2UuZCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRp
b246IHJpZ2h0IC13ZWJraXQtY2FsYygxMDAlKTsgfQorICAgLmNhc2UuZSAudGVzdCB7IGJhY2tn
cm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYygxMDAlKSAtd2Via2l0LWNhbGMoNThweCk7IH0K
KyAgIC5jYXNlLmYgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoNTAl
ICsgNTRweCkgLXdlYmtpdC1jYWxjKDUwJSArIDI5cHgpOyB9CisKKyAgIC5nIC5jb250cm9sLCAu
aCAuY29udHJvbCwgLmkgLmNvbnRyb2wsIC5qIC5jb250cm9sLCAuayAuY29udHJvbCwgLmwgLmNv
bnRyb2wsIC5tIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTRweCAyOHB4OyB9Cisg
ICAuY2FzZS5nIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfQor
ICAgLmNhc2UuaCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYyg1MCUp
IC13ZWJraXQtY2FsYyg1MCUpOyB9CisgICAuY2FzZS5pIC50ZXN0IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogY2VudGVyIC13ZWJraXQtY2FsYyg1MCUpOyB9CisgICAuY2FzZS5qIC50ZXN0IHsgYmFj
a2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDUwJSkgY2VudGVyOyB9CisgICAuY2FzZS5r
IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDUwJSk7IH0KKyAgIC5j
YXNlLmwgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH0KKyAgIC5jYXNlLm0g
LnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoNTRweCk7IH0KKworICAg
Lm4gLmNvbnRyb2wsIC5vIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTRweCA1NnB4
OyB9CisgICAuY2FzZS5uIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRl
cjsgfQorICAgLmNhc2UubyAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0
b207IH0KKworICAgLnAgLmNvbnRyb2wsIC5xIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlv
bjogMTA4cHggMjhweDsgfQorICAgLmNhc2UucCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246
IHJpZ2h0IGNlbnRlcjsgfQorICAgLmNhc2UucSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246
IGNlbnRlciByaWdodDsgfQorCisgICAuciAuY29udHJvbCB7IGJhY2tncm91bmQtcG9zaXRpb246
IHRvcCByaWdodDsgfQorICAgLmNhc2UucjAgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBy
aWdodCB0b3A7IH0KKyAgIC5jYXNlLnIxIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogcmln
aHQgMDsgfQorICAgLmNhc2UucjIgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAt
d2Via2l0LWNhbGMoMHB4KTsgfQorICAgLmNhc2UucjMgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0
aW9uOiByaWdodCAtd2Via2l0LWNhbGMoMCUpOyB9CisgICAuY2FzZS5yNCAudGVzdCB7IGJhY2tn
cm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYygxMDAlKSB0b3A7IH0KKyAgIC5jYXNlLnI1IC50
ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDEwMCUpIDA7IH0KKyAgIC5j
YXNlLnI2IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDEwMCUpIC13
ZWJraXQtY2FsYygwcHgpOyB9CisgICAuY2FzZS5yNyAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRp
b246IC13ZWJraXQtY2FsYygxMDAlKSAtd2Via2l0LWNhbGMoMCUpOyB9CisgICAuY2FzZS5yOCAu
dGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYygxMDhweCkgdG9wOyB9Cisg
ICAuY2FzZS5yOSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYygxMDhw
eCkgMDsgfQorICAgLmNhc2UucjEwIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtp
dC1jYWxjKDEwOHB4KSAtd2Via2l0LWNhbGMoMHB4KTsgfQorICAgLmNhc2UucjExIC50ZXN0IHsg
YmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDEwOHB4KSAtd2Via2l0LWNhbGMoMCUp
OyB9CisKKyAgIC5uZWdhdGl2ZSAuY29udHJvbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAlIDAl
OyB9CisgICAubmVnYXRpdmUzIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUw
JTsgfSAvKiBDU1MzIGJhY2tncm91bmQgc3VwcG9ydHMgY29tbWEgKi8KKyAgIC5jYXNlLnQxIC50
ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgYm90dG9tIGJvdHRvbTsgfQorICAgLmNh
c2UudDIgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gcmlnaHQgYm90dG9tOyB9
CisgICAuY2FzZS50MyAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSAtd2Via2l0
LWNhbGMoMTAwJSk7IH0KKyAgIC5jYXNlLnQ0IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjog
LXdlYmtpdC1jYWxjKDEwMCUpIHJpZ2h0OyB9CisgICAuY2FzZS50NSAudGVzdCB7IGJhY2tncm91
bmQtcG9zaXRpb246IGJvdHRvbSAtd2Via2l0LWNhbGMoOHB4KTsgfQorICAgLmNhc2UudDYgLnRl
c3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoMjNweCkgcmlnaHQ7IH0KKyAg
IC5jYXNlLnQ3IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC13ZWJraXQtY2Fs
Yyg1MCUpIGNlbnRlcjsgfQorICAgLmNhc2UudDggLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9u
OiAtd2Via2l0LWNhbGMoNTAlKSAtd2Via2l0LWNhbGMoNTAlKSAtd2Via2l0LWNhbGMoNTAlKTsg
fQorICAgLmNhc2UudDkgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLXdlYmtp
dC1jYWxjKDUwJSkgLXdlYmtpdC1jYWxjKDUwJSk7IH0KKyAgIC5jYXNlLnQxMCAudGVzdCB7IGJh
Y2tncm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYyg1MCUpLCAtd2Via2l0LWNhbGMoMTAwJSk7
IH0gLyogQ1NTMyBiYWNrZ3JvdW5kIHN1cHBvcnRzIGNvbW1hICovCisgICAgICAvKiBUaGlzIHRl
c3QgbWFrZXMgc3VyZSB0aGUgY29tbWEgZWl0aGVyIGlzCisgICAgICAgICAgIGEpIGludmFsaWQg
cGVyIENTUzIuMQorICAgICAgICAgICBiKSBoYW5kbGVkIGNvcnJlY3RseSBwZXIgQ1NTMworICAg
ICAgICAgYW5kIE5PVCBwYXJzZWQgYXMgYSB2YWxpZCBzZXBhcmF0b3Igb2YgeCBhbmQgeSBvZmZz
ZXRzLiAqLworICAgLmNhc2UudDExIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9t
IC13ZWJraXQtY2FsYyg1NHB4KTsgfQorICAgLmNhc2UudDEyIC50ZXN0IHsgYmFja2dyb3VuZC1w
b3NpdGlvbjogNTAgLXdlYmtpdC1jYWxjKDUwJSk7IH0KKyAgIC5jYXNlLnQxMyAudGVzdCB7IGJh
Y2tncm91bmQtcG9zaXRpb246IGJvdHRvbSAxMDA7IH0KKyAgIC5jYXNlLnQxNCAudGVzdCB7IGJh
Y2tncm91bmQtcG9zaXRpb246IHJpZ2h0Ym90dG9tOyB9CisgICAuY2FzZS50MTUgLnRlc3QgeyBi
YWNrZ3JvdW5kLXBvc2l0aW9uOiAwIHJpZ2h0OyB9CisgICAuY2FzZS50MTYgLnRlc3QgeyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoMHB4KSByaWdodDsgfQorICAgLmNhc2UudDE3
IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDAlKSByaWdodDsgfQor
ICAgLmNhc2UudDE4IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIC13ZWJraXQtY2Fs
YygxMDAlKTsgfQorICAgLmNhc2UudDE5IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9w
IC13ZWJraXQtY2FsYygxMDhweCk7IH0KKyAgIC5jYXNlLnQyMCAudGVzdCB7IGJhY2tncm91bmQt
cG9zaXRpb246IHRvcCB0b3A7IH0KKyAgIC5jYXNlLnQyMSAudGVzdCB7IGJhY2tncm91bmQtcG9z
aXRpb246IGxlZnQgcmlnaHQ7IH0KKyAgIC5jYXNlLnQyMiAudGVzdCB7IGJhY2tncm91bmQtcG9z
aXRpb246IGxlZnQgbGVmdDsgfQorICA8L3N0eWxlPgorIDwvaGVhZD4KKzxib2R5PgorICA8cD5J
biBhbGwgdGhlIGZvbGxvd2luZyBib3hlcywgdGhlIGZ1Y2hzaWEgZGlhbW9uZCBzaG91bGQgYmUg
c3Vycm91bmRlZCBieSBhIHJpbmcuPC9wPgorICA8ZGl2IGNsYXNzPSJjYXNlIGEiPjxkaXYgY2xh
c3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjYXNlIGIiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwv
ZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGMiPjxkaXYgY2xhc3M9InRlc3Qi
PjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJj
YXNlIGQiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2
PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGUiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xh
c3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGYiPjxk
aXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2Pgor
ICA8ZGl2IGNsYXNzPSJjYXNlIGciPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRy
b2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGgiPjxkaXYgY2xhc3M9
InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNs
YXNzPSJjYXNlIGkiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2
PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGoiPjxkaXYgY2xhc3M9InRlc3QiPjxk
aXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNl
IGsiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2Pjwv
ZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGwiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9
ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG0iPjxkaXYg
Y2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8
ZGl2IGNsYXNzPSJjYXNlIG4iPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wi
PjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG8iPjxkaXYgY2xhc3M9InRl
c3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNz
PSJjYXNlIHAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2Pjwv
ZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHEiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYg
Y2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIg
cjAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2Pjwv
ZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjEiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xh
c3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjIi
PjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2
PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjMiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9
ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjQiPjxk
aXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2Pgor
ICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjUiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNv
bnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjYiPjxkaXYg
Y2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8
ZGl2IGNsYXNzPSJjYXNlIHIgcjciPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRy
b2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjgiPjxkaXYgY2xh
c3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjYXNlIHIgcjkiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wi
PjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjEwIj48ZGl2IGNsYXNz
PSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBj
bGFzcz0iY2FzZSBuZWdhdGl2ZSB0MSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29u
dHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDIi
PjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2
PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQzIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2
IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBu
ZWdhdGl2ZSB0NCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+
PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDUiPjxkaXYgY2xhc3M9
InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNs
YXNzPSJjYXNlIG5lZ2F0aXZlIHQ2Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250
cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0NyI+
PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+
CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDgiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYg
Y2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5l
Z2F0aXZlIHQ5Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48
L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSBuZWdhdGl2ZTMgdDEwIj48
ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4K
KyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTEiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYg
Y2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5l
Z2F0aXZlIHQxMiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+
PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDEzIj48ZGl2IGNsYXNz
PSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBj
bGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTQiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNv
bnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQx
NSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9k
aXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDE2Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48
ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2Fz
ZSBuZWdhdGl2ZSB0MTciPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwv
ZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQxOCI+PGRpdiBj
bGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxk
aXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDE5Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNz
PSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2
ZSB0MjAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2
PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQyMSI+PGRpdiBjbGFzcz0idGVz
dCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9
ImNhc2UgbmVnYXRpdmUgdDIyIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9s
Ij48L2Rpdj48L2Rpdj48L2Rpdj4KKyAKKworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9ibG9jay1t
YXNrLW92ZXJsYXktaW1hZ2Utb3V0c2V0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3Mz
L2NhbGMvYmxvY2stbWFzay1vdmVybGF5LWltYWdlLW91dHNldC1leHBlY3RlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjI4YzdiY2M5ZTgxMTk0YjA0Y2YzMzA1MDU1NWNlMGEwMmJkZjk5M2EKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYmxvY2stbWFzay1vdmVybGF5LWltYWdl
LW91dHNldC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzxoZWFkPgorPHN0eWxlPgor
LmJsb2NrVGVzdCB7CisgICAgICAgICBtYXJnaW46IDI1cHg7CisgICAgICAgICBwYWRkaW5nOiA1
MHB4OworICAgICAgICAgY29sb3I6d2hpdGU7CisJICAgICBiYWNrZ3JvdW5kLWNvbG9yOm1hcm9v
bjsKKyAgICAgICAgIC13ZWJraXQtbWFzay1ib3gtaW1hZ2U6IHVybChyZXNvdXJjZXMvbWFzay5w
bmcpIDc1IDc1IDc1IDc1IC8gYXV0byAvIDEwMHB4IDA7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+CisgICAgPGRpdiBjbGFzcz0iYmxvY2tUZXN0IiBzdHlsZT0iaGVpZ2h0OjAiPjxkaXYg
c3R5bGU9ImhlaWdodDo0MDBweDsgYmFja2dyb3VuZC1jb2xvcjpncmV5Ij5UaGlzIGNvbnRlbnQg
c2hvdWxkIGJlIG1hc2tlZCB3aXRoIGEgc29mdCBnbG93LjwvZGl2PjwvZGl2PgorPC9ib2R5Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2Jsb2NrLW1hc2stb3ZlcmxheS1pbWFn
ZS1vdXRzZXQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ibG9jay1tYXNrLW92ZXJsYXkt
aW1hZ2Utb3V0c2V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGE1MGMwMjYzNDJjODZhMDc3YTMzZGMyNDU0
YTIyMzQxODZkMDlmZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9i
bG9jay1tYXNrLW92ZXJsYXktaW1hZ2Utb3V0c2V0Lmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPGhl
YWQ+Cis8c3R5bGU+CisuYmxvY2tUZXN0IHsKKyAgICAgICAgIG1hcmdpbjogMjVweDsKKyAgICAg
ICAgIHBhZGRpbmc6IDUwcHg7CisgICAgICAgICBjb2xvcjp3aGl0ZTsKKwkgICAgIGJhY2tncm91
bmQtY29sb3I6bWFyb29uOworICAgICAgICAgLXdlYmtpdC1tYXNrLWJveC1pbWFnZTogdXJsKHJl
c291cmNlcy9tYXNrLnBuZykgNzUgNzUgNzUgNzUgLyBhdXRvIC8gLXdlYmtpdC1jYWxjKDEwMHB4
KSAwOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgY2xhc3M9ImJsb2Nr
VGVzdCIgc3R5bGU9ImhlaWdodDowIj48ZGl2IHN0eWxlPSJoZWlnaHQ6NDAwcHg7IGJhY2tncm91
bmQtY29sb3I6Z3JleSI+VGhpcyBjb250ZW50IHNob3VsZCBiZSBtYXNrZWQgd2l0aCBhIHNvZnQg
Z2xvdy48L2Rpdj48L2Rpdj4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMv
Y2FsYy9ib3JkZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGQyYmFjOGVjOTIxOWQzOWI0MTBmOWZlNTQ5MWEyMGJi
NzBjMTBiMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGFu
IG92ZXJhbGwgYm9yZGVyIG9mIDI1IHBpeGVscy4gPT4gUEFTUworCitUaGlzIGVsZW1lbnQgc2hv
dWxkIGhhdmUgYSBsZWZ0IGJvcmRlciBvZiAyNSBwaXhlbHMuID0+IFBBU1MKKworVGhpcyBlbGVt
ZW50IHNob3VsZCBoYXZlIGEgcmlnaHQgYm9yZGVyIG9mIDI1IHBpeGVscy4gPT4gUEFTUworCitU
aGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSB0b3AgYm9yZGVyIG9mIDI1IHBpeGVscy4gPT4gUEFT
UworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gYm9yZGVyIG9mIDI1IHBpeGVs
cy4gPT4gUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1yYWRp
dXMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXItcmFkaXVzLWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2U1Y2ZmNmZjYmUxMWJiY2ExOGIwYmU4NmExZDk2NWI3
ZDkzMWE5NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXIt
cmFkaXVzLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMiBAQAorPHN0eWxlPgorZGl2IHsKKyAg
ICB3aWR0aDoxMDBweDsKKyAgICBoZWlnaHQ6MTAwcHg7CisgICAgYm9yZGVyOiAycHggc29saWQg
YmxhY2s7Cit9CisucGl4ZWxzIHsKKyAgICBib3JkZXItcmFkaXVzOjUwcHg7Cit9CisucGVyY2Vu
dCB7CisgICAgYm9yZGVyLXJhZGl1czo1MCU7Cit9CisuYm90aCB7CisgICAgYm9yZGVyLXJhZGl1
czo1MCU7Cit9Cis8L3N0eWxlPgorCitUaGlzIHRlc3Qgc2hvdWxkIGhhdmUgdGhyZWUgY2lyY2xl
cy4KKworPGRpdiBjbGFzcz0icGl4ZWxzIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnQiPjwv
ZGl2PgorPGRpdiBjbGFzcz0iYm90aCI+PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvYm9yZGVyLXJhZGl1cy5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRl
ci1yYWRpdXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZDZhNjE2YTM1NDkzZDcyMTBkM2IwZDI1MjFhNWQ1
NmJlMjE2MzM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRl
ci1yYWRpdXMuaHRtbApAQCAtMCwwICsxLDIyIEBACis8c3R5bGU+CitkaXYgeworICAgIHdpZHRo
OjEwMHB4OworICAgIGhlaWdodDoxMDBweDsKKyAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjazsK
K30KKy5waXhlbHMgeworICAgIGJvcmRlci1yYWRpdXM6LXdlYmtpdC1jYWxjKDUwcHgpOworfQor
LnBlcmNlbnQgeworICAgIGJvcmRlci1yYWRpdXM6LXdlYmtpdC1jYWxjKDUwJSk7Cit9CisuYm90
aCB7CisgICAgYm9yZGVyLXJhZGl1czotd2Via2l0LWNhbGMoMjUlICsgMjVweCk7Cit9Cis8L3N0
eWxlPgorCitUaGlzIHRlc3Qgc2hvdWxkIGhhdmUgdGhyZWUgY2lyY2xlcy4KKworPGRpdiBjbGFz
cz0icGl4ZWxzIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnQiPjwvZGl2PgorPGRpdiBjbGFz
cz0iYm90aCI+PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVy
LXNwYWNpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1zcGFj
aW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZWIyYWNhMWFkZTA4ODNmNmI0ZWUzY2FhMWEy
N2ZhNDNkYTE2YWJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2Jv
cmRlci1zcGFjaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACis9PiBQQVNTCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLXNwYWNpbmcuaHRtbCBiL0xheW91dFRl
c3RzL2NzczMvY2FsYy9ib3JkZXItc3BhY2luZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhMjg4NjkzZWZi
NTQwNDY0NDkzOWM3OGQzNjc2Nzk2OWYwZjU2ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvYm9yZGVyLXNwYWNpbmcuaHRtbApAQCAtMCwwICsxLDU5IEBACis8IURP
Q1RZUEUgSFRNTD4KKzxzdHlsZT4KK3RkIHsgdmVydGljYWwtYWxpZ246dG9wOyBwYWRkaW5nOiAw
OyB3aWR0aDotd2Via2l0LWNhbGMoNTBweCk7IGhlaWdodDotd2Via2l0LWNhbGMoNjBweCk7IGJh
Y2tncm91bmQtY29sb3I6Ymx1ZTsgYm9yZGVyOi13ZWJraXQtY2FsYygxcHgpIHNvbGlkIGJsYWNr
IH0KK3RhYmxlIHsgYm9yZGVyLXNwYWNpbmc6IC13ZWJraXQtY2FsYygxMHB4ICogMiArIDVweCk7
IGJvcmRlcjozcHggc29saWQgYmxhY2s7IHBvc2l0aW9uOnJlbGF0aXZlIH0KKzwvc3R5bGU+CisK
Kzx0YWJsZSBpZD0ic3RpbXVsdXMiPgorICAgIDx0cj4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAg
ICAgIDx0ZD48L3RkPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAg
ICAgIDx0ZD48L3RkPgorICAgIDwvdHI+CisgICAgPHRyPgorICAgICAgICA8dGQ+PC90ZD4KKyAg
ICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8dGQ+PC90ZD4KKyAg
ICAgICAgPHRkPjwvdGQ+CisgICAgPC90cj4KKzwvdGFibGU+Cis8ZGl2IGlkPSJyZXN1bHQiPjwv
ZGl2PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3ZhciBpbm5lckJvcmRlciA9IDE7
Cit2YXIgb3V0ZXJCb3JkZXIgPSAzOwordmFyIGlubmVyV2lkdGggPSA1MCArIDIgKiBpbm5lckJv
cmRlcjsKK3ZhciBpbm5lckhlaWdodCA9IDYwICsgMiAqIGlubmVyQm9yZGVyOwordmFyIGJvcmRl
clNwYWNpbmcgPSAyNTsKK3ZhciByb3dzID0gMjsKK3ZhciBjb2x1bW5zID0gNTsKKwordmFyIGV4
cGVjdGVkV2lkdGggPSBpbm5lcldpZHRoICogY29sdW1ucyArIGJvcmRlclNwYWNpbmcgKiAoY29s
dW1ucyArIDEpICsgMiAqIG91dGVyQm9yZGVyOwordmFyIGV4cGVjdGVkSGVpZ2h0ID0gaW5uZXJI
ZWlnaHQgKiByb3dzICsgYm9yZGVyU3BhY2luZyAqIChyb3dzICsgMSkgKyAyICogb3V0ZXJCb3Jk
ZXI7CisKK3ZhciBlbHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RpbXVsdXMiKTsKKwor
dmFyIHdpZHRoID0gZWx0Lm9mZnNldFdpZHRoOwordmFyIGhlaWdodCA9IGVsdC5vZmZzZXRIZWln
aHQ7CisKK3ZhciBlcnJvciA9IFtdOworaWYgKHdpZHRoICE9IGV4cGVjdGVkV2lkdGgpCisgICAg
ZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgIiArIGV4cGVjdGVkV2lkdGggKyAi
LCBidXQgd2FzICIgKyB3aWR0aCk7CitpZiAoaGVpZ2h0ICE9IGV4cGVjdGVkSGVpZ2h0KQorICAg
IGVycm9yLnB1c2goImV4cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAiICsgZXhwZWN0ZWRIZWlnaHQg
KyAiLCBidXQgd2FzICIgKyBoZWlnaHQpOworCityZXN1bHQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicmVzdWx0Iik7CitpZiAoZXJyb3IgPT0gIiIpIHsKKyAgICBlbHQuc3R5bGUuYmFja2dy
b3VuZENvbG9yID0gImdyZWVuIjsKKyAgICByZXN1bHQuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7
Cit9IGVsc2UgeworICAgIGVsdC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAicmVkIjsKKyAgICBy
ZXN1bHQuaW5uZXJIVE1MICs9ICIgPT4gRkFJTDogIiArIGVycm9yLmpvaW4oIiwgIik7Cit9Cis8
L3NjcmlwdD4gICAgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLmh0
bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTU3NzJm
OWJhOTdjMGYwOGIwYzE1M2QwYjA4MTNhM2VmMDk0Nzc1ZAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXIuaHRtbApAQCAtMCwwICsxLDc3IEBACis8IURPQ1RZ
UEUgSFRNTD4KKzxzdHlsZT4KK3AgeworICAgIHdpZHRoOi13ZWJraXQtY2FsYygyMDBweCk7IGhl
aWdodDotd2Via2l0LWNhbGMoMTIwcHgpOworfQorLnNpbXBsZS1hbGwgeworICAgIGJvcmRlcjog
LXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KSBzb2xpZDsKK30KKworLnNpbXBsZS1sZWZ0IHsKKyAg
ICBib3JkZXItbGVmdDogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KSBzb2xpZDsKK30KKy5zaW1w
bGUtcmlnaHQgeworICAgIGJvcmRlci1yaWdodDogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KSBz
b2xpZDsKK30KKy5zaW1wbGUtdG9wIHsKKyAgICBib3JkZXItdG9wOiAtd2Via2l0LWNhbGMoMTNw
eCArIDEycHgpIHNvbGlkOworfQorLnNpbXBsZS1ib3R0b20geworICAgIGJvcmRlci1ib3R0b206
IC13ZWJraXQtY2FsYygxM3B4ICsgMTJweCkgc29saWQ7Cit9Cis8L3N0eWxlPgorCis8cCBjbGFz
cz0ic2ltcGxlLWFsbCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGFuIG92ZXJhbGwgYm9yZGVy
IG9mIDI1IHBpeGVscy48L3A+Cis8cCBjbGFzcz0ic2ltcGxlLWxlZnQiPlRoaXMgZWxlbWVudCBz
aG91bGQgaGF2ZSBhIGxlZnQgYm9yZGVyIG9mIDI1IHBpeGVscy48L3A+Cis8cCBjbGFzcz0ic2lt
cGxlLXJpZ2h0Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSByaWdodCBib3JkZXIgb2YgMjUg
cGl4ZWxzLjwvcD4KKzxwIGNsYXNzPSJzaW1wbGUtdG9wIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhh
dmUgYSB0b3AgYm9yZGVyIG9mIDI1IHBpeGVscy48L3A+Cis8cCBjbGFzcz0ic2ltcGxlLWJvdHRv
bSI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIGJvcmRlciBvZiAyNSBwaXhlbHMu
PC9wPgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3ZhciBpbm5lcldpZHRoID0gMjAw
OwordmFyIGlubmVySGVpZ2h0ID0gMTIwOwordmFyIGJvcmRlciA9IDI1OworCit2YXIgdGVzdHMg
PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgicCIpOworZm9yICh2YXIgaSA9IDA7IGkg
PCB0ZXN0cy5sZW5ndGg7ICsraSkgeworICAgIHZhciBlbHQgPSB0ZXN0c1tpXTsKKyAgICB2YXIg
d2lkdGggPSBlbHQub2Zmc2V0V2lkdGg7CisgICAgdmFyIGhlaWdodCA9IGVsdC5vZmZzZXRIZWln
aHQ7CisKKyAgICB2YXIgZXhwZWN0ZWRXaWR0aCA9IGlubmVyV2lkdGg7CisgICAgdmFyIGV4cGVj
dGVkSGVpZ2h0ID0gaW5uZXJIZWlnaHQ7CisKKyAgICBzd2l0Y2ggKGVsdC5jbGFzc05hbWUuc3Bs
aXQoIi0iKVsxXSkgeworICAgIGNhc2UgImFsbCI6CisgICAgICAgIGV4cGVjdGVkV2lkdGggKz0g
MiAqIGJvcmRlcjsKKyAgICAgICAgZXhwZWN0ZWRIZWlnaHQgKz0gMiAqIGJvcmRlcjsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSAidG9wIjoKKyAgICBjYXNlICJib3R0b20iOgorICAgICAgICBl
eHBlY3RlZEhlaWdodCArPSBib3JkZXI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgImxlZnQi
OgorICAgIGNhc2UgInJpZ2h0IjoKKyAgICAgICAgZXhwZWN0ZWRXaWR0aCArPSBib3JkZXI7Cisg
ICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHZhciBlcnJvciA9IFtdOworICAgIGlmICh3aWR0
aCAhPSBleHBlY3RlZFdpZHRoKQorICAgICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCB0b3RhbCB3
aWR0aCBvZiAiICsgZXhwZWN0ZWRXaWR0aCArICIsIGJ1dCB3YXMgIiArIHdpZHRoKTsKKyAgICBp
ZiAoaGVpZ2h0ICE9IGV4cGVjdGVkSGVpZ2h0KQorICAgICAgICBlcnJvci5wdXNoKCJleHBlY3Rl
ZCB0b3RhbCBoZWlnaHQgb2YgIiArIGV4cGVjdGVkSGVpZ2h0ICsgIiwgYnV0IHdhcyAiICsgaGVp
Z2h0KTsKKworICAgIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIp
OworICAgIGlmIChlcnJvciA9PSAiIikgeworICAgICAgICBlbHQuc3R5bGUuYmFja2dyb3VuZENv
bG9yID0gImdyZWVuIjsKKyAgICAgICAgZWx0LmlubmVySFRNTCArPSAiID0+IFBBU1MiOworICAg
IH0gZWxzZSB7CisgICAgICAgIGVsdC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAicmVkIjsKKyAg
ICAgICAgZWx0LmlubmVySFRNTCArPSAiID0+IEZBSUw6ICIgKyBlcnJvci5qb2luKCIsICIpOwor
ICAgIH0KK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2Nv
bG9yLWhzbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY29sb3ItaHNsLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNDc5YmJjYzE1OTI3MWM3M2IyY2Q0ZjQ5OTMxZjczOGI1
MmNhOWFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLWhz
bC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGVzZSB0d28gc2VudGVuY2VzIHNob3Vs
ZCBiZSB0aGUgc2FtZSBjb2xvcgorVGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNh
bWUgY29sb3IKK1RoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yCitU
aGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcgorUEFTUwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLWhzbC5odG1sIGIvTGF5b3V0VGVzdHMv
Y3NzMy9jYWxjL2NvbG9yLWhzbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4M2JmZjBlMWFlN2YwMjM1MWIw
MmNlOGQwNmFhMGQ0NGIzYzllNDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3Mz
L2NhbGMvY29sb3ItaHNsLmh0bWwKQEAgLTAsMCArMSw0MSBAQAorPHN0eWxlIHR5cGU9InRleHQv
Y3NzIj4KK2RpdiB7Y29sb3I6IHJlZDt9CisjY29udHJvbHNpbXBsZSB7Y29sb3I6IGhzbCgxMjAs
NzUlLDUwJSk7fQorI3NpbXBsZSB7Y29sb3I6IGhzbCgtd2Via2l0LWNhbGMoMTIwKSwtd2Via2l0
LWNhbGMoNzUlKSwtd2Via2l0LWNhbGMoNTAlKSk7fQorCisjY29udHJvbGFscGhhIHtjb2xvcjog
aHNsYSgxMjAsNzUlLDUwJSwwLjcpO30KKyNhbHBoYSB7Y29sb3I6IGhzbGEoLXdlYmtpdC1jYWxj
KDEyMCksLXdlYmtpdC1jYWxjKDc1JSksLXdlYmtpdC1jYWxjKDUwJSksIC13ZWJraXQtY2FsYygw
LjcpKTt9Cis8L3N0eWxlPgorCis8ZGl2IGlkPSJjb250cm9sc2ltcGxlIj5UaGVzZSB0d28gc2Vu
dGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcjwvZGl2PgorPGRpdiBpZD0ic2ltcGxlIj5U
aGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcjwvZGl2PgorPGhyLz4K
KzxkaXYgaWQ9ImNvbnRyb2xhbHBoYSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhl
IHNhbWUgY29sb3I8L2Rpdj4KKzxkaXYgaWQ9ImFscGhhIj5UaGVzZSB0d28gc2VudGVuY2VzIHNo
b3VsZCBiZSB0aGUgc2FtZSBjb2xvcjwvZGl2PgorPGhyLz4KKzxkaXYgaWQ9InJlc3VsdHMiPjwv
ZGl2PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3Rlc3RzID0gWyJzaW1wbGUiLCAi
YWxwaGEiXTsKKwordmFyIHN1Y2Nlc3MgPSB0cnVlOworCitmb3IgKGkgPSAwOyBpIDwgdGVzdHMu
bGVuZ3RoOyBpKyspIHsKKyAgICB2YXIgdGVzdCA9IHRlc3RzW2ldOworICAgIHZhciBleHBlY3Rl
ZCA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRyb2wiICsg
dGVzdCksIG51bGwpLmNvbG9yOworICAgIHZhciBhY3R1YWwgPSBnZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKHRlc3QpLCBudWxsKS5jb2xvcjsKKyAgICBzdWNjZXNzID0g
c3VjY2VzcyAmJiAoYWN0dWFsID09IGV4cGVjdGVkKTsKK30KKwordmFyIHJlc3VsdHMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpOworaWYgKHN1Y2Nlc3MpIHsKKyAgICByZXN1
bHRzLnN0eWxlLmNvbG9yID0gImdyZWVuIjsKKyAgICByZXN1bHRzLmlubmVySFRNTCA9ICJQQVNT
IjsKK30gZWxzZSB7CisgICAgcmVzdWx0cy5zdHlsZS5jb2xvciA9ICJyZWQiOworICAgIHJlc3Vs
dHMuaW5uZXJIVE1MID0gIkZBSUwiOworfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvY29sb3ItcmdiLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMv
Y2FsYy9jb2xvci1yZ2ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlY2MwMGQwMmE3MjBiNzAw
MWRhOWEzZWM4Mzc5N2I4NjJhMzI2NDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvY29sb3ItcmdiLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK1RoZXNlIHR3
byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yCitUaGVzZSB0d28gc2VudGVuY2Vz
IHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcgorVGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUg
dGhlIHNhbWUgY29sb3IKK1RoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNv
bG9yCitUaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcgorVGhlc2Ug
dHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IKK1RoZXNlIHR3byBzZW50ZW5j
ZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yCitUaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBi
ZSB0aGUgc2FtZSBjb2xvcgorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L2NvbG9yLXJnYi5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLXJnYi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjg4MDI5YTg3MGFhMTI2M2ZlZDE1MzY5Nzk4YTJkMGE2YjZjNjQzZjAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY29sb3ItcmdiLmh0bWwKQEAgLTAs
MCArMSw1MyBAQAorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2RpdiB7Y29sb3I6IHJlZDt9Cisj
Y29udHJvbHNpbXBsZSB7Y29sb3I6IHJnYigxMCwxODAsMzApO30KKyNzaW1wbGUge2NvbG9yOiBy
Z2IoLXdlYmtpdC1jYWxjKDEwKSwtd2Via2l0LWNhbGMoMTggKiAxMCksLXdlYmtpdC1jYWxjKDMw
KSk7fQorI2NvbnRyb2xwZXJjZW50c2ltcGxlIHtjb2xvcjogcmdiKDEwJSw5NSUsMzAlKTt9Cisj
cGVyY2VudHNpbXBsZSB7Y29sb3I6IHJnYigtd2Via2l0LWNhbGMoMiUgKyA4JSksLXdlYmtpdC1j
YWxjKDk1JSksLXdlYmtpdC1jYWxjKDMlICogMTApKTt9CisKKyNjb250cm9sYWxwaGEge2NvbG9y
OiByZ2JhKDEwLDE4MCwzMCwwLjcpO30KKyNhbHBoYSB7Y29sb3I6IHJnYmEoLXdlYmtpdC1jYWxj
KDEwKSwtd2Via2l0LWNhbGMoMTgwKSwtd2Via2l0LWNhbGMoMzApLCAtd2Via2l0LWNhbGMoMC4z
NSAqIDIpKTt9CisjY29udHJvbHBlcmNlbnRhbHBoYSB7Y29sb3I6IHJnYmEoMTAlLDk1JSwzMCUs
MC43KTt9CisjcGVyY2VudGFscGhhIHtjb2xvcjogcmdiYSgtd2Via2l0LWNhbGMoMiAqIDUlKSwt
d2Via2l0LWNhbGMoMTAwJSAtIDUlKSwtd2Via2l0LWNhbGMoMzAlKSwtd2Via2l0LWNhbGMoMC4y
ICogMyArIDAuMSkpO30KKzwvc3R5bGU+CisKKzxkaXYgaWQ9ImNvbnRyb2xzaW1wbGUiPlRoZXNl
IHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yPC9kaXY+Cis8ZGl2IGlkPSJz
aW1wbGUiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yPC9kaXY+
Cis8aHIvPgorPGRpdiBpZD0iY29udHJvbHBlcmNlbnRzaW1wbGUiPlRoZXNlIHR3byBzZW50ZW5j
ZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yPC9kaXY+Cis8ZGl2IGlkPSJwZXJjZW50c2ltcGxl
Ij5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCAgYmUgdGhlIHNhbWUgY29sb3I8L2Rpdj4KKzxo
ci8+Cis8ZGl2IGlkPSJjb250cm9sYWxwaGEiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJl
IHRoZSBzYW1lIGNvbG9yPC9kaXY+Cis8ZGl2IGlkPSJhbHBoYSI+VGhlc2UgdHdvIHNlbnRlbmNl
cyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3I8L2Rpdj4KKzxoci8+Cis8ZGl2IGlkPSJjb250cm9s
cGVyY2VudGFscGhhIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCAgYmUgdGhlIHNhbWUgY29s
b3I8L2Rpdj4KKzxkaXYgaWQ9InBlcmNlbnRhbHBoYSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91
bGQgIGJlIHRoZSBzYW1lIGNvbG9yPC9kaXY+Cis8aHIvPgorPGRpdiBpZD0icmVzdWx0cyI+PC9k
aXY+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKwordGVzdHMgPSBbInNpbXBsZSIsICJh
bHBoYSJdOworCit2YXIgc3VjY2VzcyA9IHRydWU7CisKK2ZvciAoaSA9IDA7IGkgPCB0ZXN0cy5s
ZW5ndGg7IGkrKykgeworICAgIHZhciB0ZXN0ID0gdGVzdHNbaV07CisgICAgdmFyIGV4cGVjdGVk
c2ltcGxlID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJv
bCIgKyB0ZXN0KSwgbnVsbCkuY29sb3I7CisgICAgdmFyIGFjdHVhbHNpbXBsZSA9IGdldENvbXB1
dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGVzdCksIG51bGwpLmNvbG9yOworICAg
IHZhciBleHBlY3RlZHBlcmNlbnQgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250cm9scGVyY2VudCIgKyB0ZXN0KSwgbnVsbCkuY29sb3I7CisgICAgdmFyIGFj
dHVhbHBlcmNlbnQgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
ZXJjZW50IiArIHRlc3QpLCBudWxsKS5jb2xvcjsgICAgCisgICAgc3VjY2VzcyA9IHN1Y2Nlc3Mg
JiYgKGFjdHVhbHNpbXBsZSA9PSBleHBlY3RlZHNpbXBsZSkgJiYgKGFjdHVhbHBlcmNlbnQgPT0g
ZXhwZWN0ZWRwZXJjZW50KTsKK30KKwordmFyIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicmVzdWx0cyIpOworaWYgKHN1Y2Nlc3MpIHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9y
ID0gImdyZWVuIjsKKyAgICByZXN1bHRzLmlubmVySFRNTCA9ICJQQVNTIjsKK30gZWxzZSB7Cisg
ICAgcmVzdWx0cy5zdHlsZS5jb2xvciA9ICJyZWQiOworICAgIHJlc3VsdHMuaW5uZXJIVE1MID0g
IkZBSUwiOworfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMv
Y3NzMy1yYWRpYWwtZ3JhZGllbnRzLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvY3NzMy1yYWRpYWwtZ3JhZGllbnRzLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWJjOTJl
OGE2ZmViZTEwZWUzY2I3YmQ1ZDQ5MjAyOGNlZDViMDI1NQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NzczMvY2FsYy9jc3MzLXJhZGlhbC1ncmFkaWVudHMtZXhwZWN0ZWQuaHRtbApA
QCAtMCwwICsxLDcxIEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8aGVhZD4KKyAgPHN0
eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KKyAgICAuYm94IHsKKyAgICAgIGRp
c3BsYXk6IGlubGluZS1ibG9jazsKKyAgICAgIGhlaWdodDogMTIwcHg7CisgICAgICB3aWR0aDog
MjAwcHg7CisgICAgICBtYXJnaW46IDEwcHg7CisgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFj
azsKKyAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CisgICAgfQorCisgICAgLmdy
YWRpZW50MSB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVu
dCg1MHB4IDUwJSwgY2lyY2xlIGNsb3Nlc3Qtc2lkZSwgd2hpdGUsIGJsYWNrKTsKKyAgICAgIGJh
Y2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KDUwcHggNTAlLCBjaXJjbGUgY2xv
c2VzdC1zaWRlLCB3aGl0ZSwgYmxhY2spOworICAgIH0KKyAgICAKKyAgICAuZ3JhZGllbnQyIHsK
KyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KDIwcHggNTBw
eCwgZWxsaXBzZSBjbG9zZXN0LWNvcm5lciwgd2hpdGUsIGJsYWNrKTsKKyAgICAgIGJhY2tncm91
bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KDIwcHggNTBweCwgZWxsaXBzZSBjbG9zZXN0
LWNvcm5lciwgd2hpdGUsIGJsYWNrKTsKKyAgICB9CisKKyAgICAuZ3JhZGllbnQzIHsKKyAgICAg
IGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KDIwJSAyMCUsIGNpcmNs
ZSBjbG9zZXN0LWNvcm5lciwgd2hpdGUsIGJsYWNrKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6
IC1tb3otcmFkaWFsLWdyYWRpZW50KDIwJSAyMCUsIGNpcmNsZSBjbG9zZXN0LWNvcm5lciwgd2hp
dGUsIGJsYWNrKTsKKyAgICB9CisKKyAgICAuZ3JhZGllbnQ0IHsKKyAgICAgIGJhY2tncm91bmQt
aW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGxlZnQsIGNpcmNsZSBjb3ZlciwgcmVkLCBn
cmVlbiAzMCUsIGJsdWUpOworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3Jh
ZGllbnQobGVmdCwgY2lyY2xlIGNvdmVyLCByZWQsIGdyZWVuIDMwJSwgYmx1ZSk7CisgICAgfQor
CisgICAgLmdyYWRpZW50NSB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlh
bC1ncmFkaWVudChlbGxpcHNlIGNvdmVyLCByZWQsIGdyZWVuIDgwcHgsIGJsdWUpOworICAgICAg
YmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBjb3ZlciwgcmVk
LCBncmVlbiA4MHB4LCBibHVlKTsKKyAgICB9CisKKyAgICAuZ3JhZGllbnQ2IHsKKyAgICAgIGJh
Y2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBjb3ZlciwgcmVk
IDIwJSwgZ3JlZW4sIGJsdWUgMTUwJSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJh
ZGlhbC1ncmFkaWVudChjaXJjbGUgY292ZXIsIHJlZCAyMCUsIGdyZWVuLCBibHVlIDE1MCUpOwor
ICAgIH0KKworICAgIC5ncmFkaWVudDcgeworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtp
dC1yYWRpYWwtZ3JhZGllbnQoMjAlIDIwJSwgY2lyY2xlIGNsb3Nlc3QtY29ybmVyLCByZWQgLTUw
JSwgZ3JlZW4sIGJsdWUgMTUwJSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlh
bC1ncmFkaWVudCgyMCUgMjAlLCBjaXJjbGUgY2xvc2VzdC1jb3JuZXIsIHJlZCAtNTAlLCBncmVl
biwgYmx1ZSAxNTAlKTsKKyAgICB9CisKKyAgPC9zdHlsZT4KKyAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgICB2YXIgZHVtcFBpeGVscyA9IHRydWU7CisgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KGR1bXBQaXhlbHMpOworICAgIH0KKyAgPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKworICA8ZGl2IGNsYXNzPSJncmFkaWVudDEgYm94Ij48L2Rpdj4K
KyAgPGRpdiBjbGFzcz0iZ3JhZGllbnQyIGJveCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyYWRp
ZW50MyBib3giPjwvZGl2PgorICA8YnI+CisgIDxkaXYgY2xhc3M9ImdyYWRpZW50NCBib3giPjwv
ZGl2PgorICA8ZGl2IGNsYXNzPSJncmFkaWVudDUgYm94Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz0i
Z3JhZGllbnQ2IGJveCI+PC9kaXY+CisgIDxicj4KKyAgPGRpdiBjbGFzcz0iZ3JhZGllbnQ3IGJv
eCI+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9jc3MzLXJhZGlhbC1ncmFkaWVudHMuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2Fs
Yy9jc3MzLXJhZGlhbC1ncmFkaWVudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NzFlYjdjYzdkMmJlMjA3
ZTRjYzY0Y2RjOGRkYWM3YjdhZjRmYTBjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y3NzMy9jYWxjL2NzczMtcmFkaWFsLWdyYWRpZW50cy5odG1sCkBAIC0wLDAgKzEsNzEgQEAKKzwh
RE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxoZWFkPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3Mi
IG1lZGlhPSJzY3JlZW4iPgorICAgIC5ib3ggeworICAgICAgZGlzcGxheTogaW5saW5lLWJsb2Nr
OworICAgICAgaGVpZ2h0OiAxMjBweDsKKyAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgIG1hcmdp
bjogMTBweDsKKyAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworICAgICAgYmFja2dyb3Vu
ZC1yZXBlYXQ6IG5vLXJlcGVhdDsKKyAgICB9CisKKyAgICAuZ3JhZGllbnQxIHsKKyAgICAgIGJh
Y2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KC13ZWJraXQtY2FsYyg1MHB4
KSAtd2Via2l0LWNhbGMoNTAlKSwgY2lyY2xlIGNsb3Nlc3Qtc2lkZSwgd2hpdGUsIGJsYWNrKTsK
KyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KC13ZWJraXQtY2Fs
Yyg1MHB4KSAtd2Via2l0LWNhbGMoNTAlKSwgY2lyY2xlIGNsb3Nlc3Qtc2lkZSwgd2hpdGUsIGJs
YWNrKTsKKyAgICB9CisgICAgCisgICAgLmdyYWRpZW50MiB7CisgICAgICBiYWNrZ3JvdW5kLWlt
YWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCgtd2Via2l0LWNhbGMoMjBweCkgLXdlYmtpdC1j
YWxjKDUwcHgpLCBlbGxpcHNlIGNsb3Nlc3QtY29ybmVyLCB3aGl0ZSwgYmxhY2spOworICAgICAg
YmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoLXdlYmtpdC1jYWxjKDIwcHgp
IC13ZWJraXQtY2FsYyg1MHB4KSwgZWxsaXBzZSBjbG9zZXN0LWNvcm5lciwgd2hpdGUsIGJsYWNr
KTsKKyAgICB9CisKKyAgICAuZ3JhZGllbnQzIHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13
ZWJraXQtcmFkaWFsLWdyYWRpZW50KC13ZWJraXQtY2FsYygyMCUpIC13ZWJraXQtY2FsYygyMCUp
LCBjaXJjbGUgY2xvc2VzdC1jb3JuZXIsIHdoaXRlLCBibGFjayk7CisgICAgICBiYWNrZ3JvdW5k
LWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudCgtd2Via2l0LWNhbGMoMjAlKSAtd2Via2l0LWNh
bGMoMjAlKSwgY2lyY2xlIGNsb3Nlc3QtY29ybmVyLCB3aGl0ZSwgYmxhY2spOworICAgIH0KKwor
ICAgIC5ncmFkaWVudDQgeworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwt
Z3JhZGllbnQobGVmdCwgY2lyY2xlIGNvdmVyLCByZWQsIGdyZWVuIC13ZWJraXQtY2FsYygzMCUp
LCBibHVlKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KGxl
ZnQsIGNpcmNsZSBjb3ZlciwgcmVkLCBncmVlbiAtd2Via2l0LWNhbGMoMzAlKSwgYmx1ZSk7Cisg
ICAgfQorCisgICAgLmdyYWRpZW50NSB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0
LXJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGNvdmVyLCByZWQsIGdyZWVuIC13ZWJraXQtY2FsYyg4
MHB4KSwgYmx1ZSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVu
dChlbGxpcHNlIGNvdmVyLCByZWQsIGdyZWVuIC13ZWJraXQtY2FsYyg4MHB4KSwgYmx1ZSk7Cisg
ICAgfQorCisgICAgLmdyYWRpZW50NiB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0
LXJhZGlhbC1ncmFkaWVudChjaXJjbGUgY292ZXIsIHJlZCAtd2Via2l0LWNhbGMoMjAlKSwgZ3Jl
ZW4sIGJsdWUgLXdlYmtpdC1jYWxjKDE1MCUpKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1t
b3otcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBjb3ZlciwgcmVkIC13ZWJraXQtY2FsYygyMCUpLCBn
cmVlbiwgYmx1ZSAtd2Via2l0LWNhbGMoMTUwJSkpOworICAgIH0KKworICAgIC5ncmFkaWVudDcg
eworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoLXdlYmtp
dC1jYWxjKDIwJSkgLXdlYmtpdC1jYWxjKDIwJSksIGNpcmNsZSBjbG9zZXN0LWNvcm5lciwgcmVk
IC01MCUsIGdyZWVuLCBibHVlIC13ZWJraXQtY2FsYygxNTAlKSk7CisgICAgICBiYWNrZ3JvdW5k
LWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudCgtd2Via2l0LWNhbGMoMjAlKSAtd2Via2l0LWNh
bGMoMjAlKSwgY2lyY2xlIGNsb3Nlc3QtY29ybmVyLCByZWQgLTUwJSwgZ3JlZW4sIGJsdWUgLXdl
YmtpdC1jYWxjKDE1MCUpKTsKKyAgICB9CisKKyAgPC9zdHlsZT4KKyAgPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CisgICAgICB2YXIgZHVtcFBpeGVscyA9IHRydWU7CisgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KGR1bXBQaXhlbHMpOworICAgIH0KKyAgPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworICA8ZGl2IGNsYXNzPSJncmFkaWVudDEgYm94Ij48L2Rp
dj4KKyAgPGRpdiBjbGFzcz0iZ3JhZGllbnQyIGJveCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9Imdy
YWRpZW50MyBib3giPjwvZGl2PgorICA8YnI+CisgIDxkaXYgY2xhc3M9ImdyYWRpZW50NCBib3gi
PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmFkaWVudDUgYm94Ij48L2Rpdj4KKyAgPGRpdiBjbGFz
cz0iZ3JhZGllbnQ2IGJveCI+PC9kaXY+CisgIDxicj4KKyAgPGRpdiBjbGFzcz0iZ3JhZGllbnQ3
IGJveCI+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NzczMvY2FsYy9mb250LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTBlNWY1YjBlNmE2NzE3N2MyMDllOWExMDFkMjMz
YjA2YTQ4OGJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ZvbnQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorVGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWln
aHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbAorVGhlIGZvbnQgc2l6ZSBhbmQg
bGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbAorVGhlIGZvbnQg
c2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbAor
VGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlk
ZW50aWNhbAorVGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hv
dWxkIGJlIGlkZW50aWNhbAorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L2ZvbnQtbW9ub3NwYWNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250
LW1vbm9zcGFjZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDQ3MWUzMDVkMjBjZjQ0MDg0ZDJh
ZDdhMWYzZDBhYTlhZjg5YTE2ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMv
Y2FsYy9mb250LW1vbm9zcGFjZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUaGUgZm9u
dCBzaXplIGFuZCBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2Fs
CitUaGUgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUg
aWRlbnRpY2FsCitQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1t
b25vc3BhY2UuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250LW1vbm9zcGFjZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmE4ZTRmNWNlMjEzNjcyMDYxODcwY2E4N2FlNGZlYjAzOGZmNDQ0NWEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1tb25vc3BhY2UuaHRt
bApAQCAtMCwwICsxLDQ1IEBACis8c3R5bGU+IAorYm9keSAgICAge2ZvbnQtc2l6ZTogMTJweDt9
CisjY29udHJvbCB7Zm9udDogaXRhbGljIHNtYWxsLWNhcHMgOTAwIDE1MCUvMmVtIG1vbm9zcGFj
ZTt9CisjY2FsYyAgICB7Zm9udDogaXRhbGljIHNtYWxsLWNhcHMgOTAwIC13ZWJraXQtY2FsYygx
NTAlKS8yZW0gbW9ub3NwYWNlO30KKzwvc3R5bGU+CisKKzxkaXY+Cis8c3BhbiBpZD0iY29udHJv
bCI+VGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJl
IGlkZW50aWNhbDwvc3Bhbj4KKzxoci8+Cis8c3BhbiBpZD0iY2FsYyI+VGhlIGZvbnQgc2l6ZSBh
bmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwvc3Bhbj4K
KzwvZGl2PgorPGhyLz4KKzxkaXYgaWQ9InJlc3VsdHMiPjwvZGl2PgorCis8c2NyaXB0PgoraWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7Cit2YXIgY29udHJvbEhlaWdodCA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRyb2wiKSwgbnVsbCkubGluZUhlaWdodDsKK3ZhciBjb250
cm9sU2l6ZSA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRy
b2wiKSwgbnVsbCkuZm9udFNpemU7CisKK3ZhciBzcGFucyA9IGRvY3VtZW50LmdldEVsZW1lbnRz
QnlUYWdOYW1lKCJzcGFuIik7Cit2YXIgc2FtZUhlaWdodCA9IHRydWU7Cit2YXIgc2FtZVNpemUg
PSB0cnVlOworZm9yICh2YXIgaSA9IDA7IGkgPCBzcGFucy5sZW5ndGg7ICsraSkgeworICAgIHZh
ciBjdXJyZW50ID0gc3BhbnNbaV07CisgICAgaWYgKHNhbWVIZWlnaHQpCisgICAgICAgIHNhbWVI
ZWlnaHQgPSBnZXRDb21wdXRlZFN0eWxlKGN1cnJlbnQsIG51bGwpLmxpbmVIZWlnaHQgPT0gY29u
dHJvbEhlaWdodDsKKyAgICBpZiAoc2FtZVNpemUpCisgICAgICAgIHNhbWVTaXplID0gZ2V0Q29t
cHV0ZWRTdHlsZShjdXJyZW50LCBudWxsKS5mb250U2l6ZSA9PSBjb250cm9sU2l6ZTsKK30KKwor
dmFyIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpOworaWYgKHNh
bWVIZWlnaHQgJiYgc2FtZVNpemUpIHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0gImdyZWVu
IjsKKyAgICByZXN1bHRzLmlubmVySFRNTCA9ICJQQVNTIjsKK30gZWxzZSB7CisgICAgcmVzdWx0
cy5zdHlsZS5jb2xvciA9ICJyZWQiOworICAgIHJlc3VsdHMuaW5uZXJIVE1MID0gIkZBSUwiOyAg
ICAKKyAgICBpZiAoIXNhbWVIZWlnaHQpCisgICAgICAgIHJlc3VsdHMuaW5uZXJIVE1MICs9ICI8
cD5MaW5lIGhlaWdodHMgZG8gbm90IG1hdGNoPC9wPiI7CisgICAgaWYgKCFzYW1lU2l6ZSkKKyAg
ICAgICAgcmVzdWx0cy5pbm5lckhUTUwgKz0gIjxwPkZvbnQgc2l6ZXMgZG8gbm90IG1hdGNoPC9w
PiI7Cit9CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2Zv
bnQtc2l6ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1zaXplLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZWVjNDFkN2Q4MTJlMWY1YmRjODk2MDUyZjk5ZGIyMzFi
Njc1M2Q2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ZvbnQtc2l6
ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitUaGUgZm9udCBzaXplIG9mIHRoZXNlIGxp
bmVzIHNob3VsZCBiZSBpZGVudGljYWwgCitUaGUgZm9udCBzaXplIG9mIHRoZXNlIGxpbmVzIHNo
b3VsZCBiZSBpZGVudGljYWwgCitUaGUgZm9udCBzaXplIG9mIHRoZXNlIGxpbmVzIHNob3VsZCBi
ZSBpZGVudGljYWwKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250
LXNpemUtZnJhY3Rpb25hbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9u
dC1zaXplLWZyYWN0aW9uYWwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0NzFlMzA1ZDIwY2Y0
NDA4NGQyYWQ3YTFmM2QwYWE5YWY4OWExNmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jc3MzL2NhbGMvZm9udC1zaXplLWZyYWN0aW9uYWwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MyBAQAorVGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxk
IGJlIGlkZW50aWNhbAorVGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGlu
ZXMgc2hvdWxkIGJlIGlkZW50aWNhbAorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL2ZvbnQtc2l6ZS1mcmFjdGlvbmFsLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMv
Zm9udC1zaXplLWZyYWN0aW9uYWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YjlmNjkzMWU4NmQ0ZWZhYmVh
MjVhZWJhNTc1ZWVlNmNkNzQzMThkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL2ZvbnQtc2l6ZS1mcmFjdGlvbmFsLmh0bWwKQEAgLTAsMCArMSw0NSBAQAorPHN0eWxl
PiAKK2JvZHkgICAgICAgICB7IGZvbnQtc2l6ZTogMTJweDt9CisjY29udHJvbCAgICAge2ZvbnQ6
IG5vcm1hbCA0MDAgODAlLzIuNSBzYW5zLXNlcmlmO30KKyNjYWxjLXJlZHVjZSB7Zm9udDogbm9y
bWFsIDQwMCAtd2Via2l0LWNhbGMoODAlKS8yLjUgc2Fucy1zZXJpZjt9Cis8L3N0eWxlPgorCis8
ZGl2PgorPHNwYW4gaWQ9ImNvbnRyb2wiPlRoZSBmb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0IG9m
IHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWw8L3NwYW4+Cis8aHIvPgorPHNwYW4gaWQ9
ImNhbGMtcmVkdWNlIj5UaGUgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5l
cyBzaG91bGQgYmUgaWRlbnRpY2FsPC9zcGFuPgorPC9kaXY+Cis8aHIvPgorPGRpdiBpZD0icmVz
dWx0cyI+PC9kaXY+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK3ZhciBjb250cm9sSGVp
Z2h0ID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbCIp
LCBudWxsKS5saW5lSGVpZ2h0OwordmFyIGNvbnRyb2xTaXplID0gZ2V0Q29tcHV0ZWRTdHlsZShk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbCIpLCBudWxsKS5mb250U2l6ZTsKKwordmFy
IHNwYW5zID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKTsKK3ZhciBzYW1l
SGVpZ2h0ID0gdHJ1ZTsKK3ZhciBzYW1lU2l6ZSA9IHRydWU7Citmb3IgKHZhciBpID0gMDsgaSA8
IHNwYW5zLmxlbmd0aDsgKytpKSB7CisgICAgdmFyIGN1cnJlbnQgPSBzcGFuc1tpXTsKKyAgICBp
ZiAoc2FtZUhlaWdodCkKKyAgICAgICAgc2FtZUhlaWdodCA9IGdldENvbXB1dGVkU3R5bGUoY3Vy
cmVudCwgbnVsbCkubGluZUhlaWdodCA9PSBjb250cm9sSGVpZ2h0OworICAgIGlmIChzYW1lU2l6
ZSkKKyAgICAgICAgc2FtZVNpemUgPSBnZXRDb21wdXRlZFN0eWxlKGN1cnJlbnQsIG51bGwpLmZv
bnRTaXplID09IGNvbnRyb2xTaXplOworfQorCit2YXIgcmVzdWx0cyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJyZXN1bHRzIik7CitpZiAoc2FtZUhlaWdodCAmJiBzYW1lU2l6ZSkgeworICAg
IHJlc3VsdHMuc3R5bGUuY29sb3IgPSAiZ3JlZW4iOworICAgIHJlc3VsdHMuaW5uZXJIVE1MID0g
IlBBU1MiOworfSBlbHNlIHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0gInJlZCI7CisgICAg
cmVzdWx0cy5pbm5lckhUTUwgPSAiRkFJTCI7ICAgIAorICAgIGlmICghc2FtZUhlaWdodCkKKyAg
ICAgICAgcmVzdWx0cy5pbm5lckhUTUwgKz0gIjxwPkxpbmUgaGVpZ2h0cyBkbyBub3QgbWF0Y2g8
L3A+IjsKKyAgICBpZiAoIXNhbWVTaXplKQorICAgICAgICByZXN1bHRzLmlubmVySFRNTCArPSAi
PHA+Rm9udCBzaXplcyBkbyBub3QgbWF0Y2g8L3A+IjsKK30KKworPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1zaXplLmh0bWwgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvZm9udC1zaXplLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTI4ZmZmNGE4ZGVmNzExOTMzOWQ5
NjRjOTVhNTA3YmRjZmQxMGYxYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMv
Y2FsYy9mb250LXNpemUuaHRtbApAQCAtMCwwICsxLDQwIEBACis8c3R5bGU+IAorI2NvbnRyb2wg
e2ZvbnQtc2l6ZTogMjAwJTt9CisjY2FsYy1wZXJjZW50IHtmb250LXNpemU6IC13ZWJraXQtY2Fs
YygyMDAlKTt9CisjY2FsYy1wZXJjZW50LXBpeGVscyB7Zm9udC1zaXplOiAtd2Via2l0LWNhbGMo
MTUwJSArIDEwcHgpO30KKzwvc3R5bGU+CisKKzxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMjBweDsi
PgorPHNwYW4gaWQ9ImNvbnRyb2wiPlRoZSBmb250IHNpemUgb2YgdGhlc2UgbGluZXMgc2hvdWxk
IGJlIGlkZW50aWNhbDwvc3Bhbj4KKzxici8+Cis8c3BhbiBpZD0iY2FsYy1wZXJjZW50Ij5UaGUg
Zm9udCBzaXplIG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWw8L3NwYW4+Cis8YnIv
PgorPHNwYW4gaWQ9ImNhbGMtcGVyY2VudC1waXhlbHMiPlRoZSBmb250IHNpemUgb2YgdGhlc2Ug
bGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwvc3Bhbj4KKzxoci8+Cis8L2Rpdj4KKzxkaXYgaWQ9
InJlc3VsdHMiPjwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cit2YXIgY29udHJv
bFNpemUgPSAgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJv
bCIpLCBudWxsKS5mb250U2l6ZQorCit2YXIgc3BhbnMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5
VGFnTmFtZSgic3BhbiIpOwordmFyIHNhbWVTaXplID0gdHJ1ZTsKK2ZvciAodmFyIGkgPSAwOyBp
IDwgc3BhbnMubGVuZ3RoOyArK2kpIHsKKyAgICB2YXIgY3VycmVudCA9IHNwYW5zW2ldOworICAg
IGlmIChzYW1lU2l6ZSkKKyAgICAgICAgc2FtZVNpemUgPSBnZXRDb21wdXRlZFN0eWxlKGN1cnJl
bnQsIG51bGwpLmZvbnRTaXplID09IGNvbnRyb2xTaXplOworfQorCit2YXIgcmVzdWx0cyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHRzIik7CitpZiAoc2FtZVNpemUpIHsKKyAgICBy
ZXN1bHRzLnN0eWxlLmNvbG9yID0gImdyZWVuIjsKKyAgICByZXN1bHRzLmlubmVySFRNTCA9ICJQ
QVNTIjsKK30gZWxzZSB7CisgICAgcmVzdWx0cy5zdHlsZS5jb2xvciA9ICJyZWQiOworICAgIHJl
c3VsdHMuaW5uZXJIVE1MID0gIkZBSUwiOyAgICAKKyAgICByZXN1bHRzLmlubmVySFRNTCArPSAi
PHA+Q29tcHV0ZWQgZm9udCBzaXplcyBkbyBub3QgbWF0Y2g8L3A+IjsKK30KKworPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC5odG1sIGIvTGF5b3V0VGVz
dHMvY3NzMy9jYWxjL2ZvbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZjA5MmYzNTBiMzJjYjdhNTcwNGI4
MWRhMGM2ZjllNzYzYmU1YjlhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9j
YWxjL2ZvbnQuaHRtbApAQCAtMCwwICsxLDUzIEBACis8c3R5bGU+IAorI2NvbnRyb2wgICAgICAg
ICAgICAge2ZvbnQ6IDEuNWVtLzYzcHggc2Fucy1zZXJpZjt9CisjY2FsYy1zaXplICAgICAgICAg
ICB7Zm9udDogLXdlYmtpdC1jYWxjKDEuNWVtKS82M3B4IHNhbnMtc2VyaWZ9CisjY2FsYy1oZWln
aHQgICAgICAgICB7Zm9udDogMS41ZW0vLXdlYmtpdC1jYWxjKDEyNnB4IC8gMikgc2Fucy1zZXJp
Zn0KKyNjYWxjLWJvdGggICAgICAgICAgIHtmb250OiAtd2Via2l0LWNhbGMoMS41ZW0pLy13ZWJr
aXQtY2FsYyg2M3B4KSBzYW5zLXNlcmlmfQorI2NhbGMtcGVyY2VudC1zaXplICAge2ZvbnQ6IC13
ZWJraXQtY2FsYygxMDAlICsgMC41ZW0pLzYzcHggc2Fucy1zZXJpZn0KKzwvc3R5bGU+CisKKzxk
aXY+Cis8c3BhbiBpZD0iY29udHJvbCI+VGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2Yg
dGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwvc3Bhbj4KKzxoci8+Cis8c3BhbiBpZD0i
Y2FsYy1zaXplIj5UaGUgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5lcyBz
aG91bGQgYmUgaWRlbnRpY2FsPC9zcGFuPgorPGhyLz4KKzxzcGFuIGlkPSJjYWxjLWhlaWdodCI+
VGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlk
ZW50aWNhbDwvc3Bhbj4KKzxoci8+Cis8c3BhbiBpZD0iY2FsYy1ib3RoIj5UaGUgZm9udCBzaXpl
IGFuZCBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsPC9zcGFu
PgorPGhyLz4KKzxzcGFuIGlkPSJjYWxjLXBlcmNlbnQtc2l6ZSI+VGhlIGZvbnQgc2l6ZSBhbmQg
bGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwvc3Bhbj4KKzwv
ZGl2PgorPGhyLz4KKzxkaXYgaWQ9InJlc3VsdHMiPjwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7Cit2YXIgY29udHJvbEhlaWdodCA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRyb2wiKSwgbnVsbCkubGluZUhlaWdodDsKK3ZhciBjb250cm9s
U2l6ZSA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRyb2wi
KSwgbnVsbCkuZm9udFNpemU7CisKK3ZhciBzcGFucyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlU
YWdOYW1lKCJzcGFuIik7Cit2YXIgc2FtZUhlaWdodCA9IHRydWU7Cit2YXIgc2FtZVNpemUgPSB0
cnVlOworZm9yICh2YXIgaSA9IDA7IGkgPCBzcGFucy5sZW5ndGg7ICsraSkgeworICAgIHZhciBj
dXJyZW50ID0gc3BhbnNbaV07CisgICAgaWYgKHNhbWVIZWlnaHQpCisgICAgICAgIHNhbWVIZWln
aHQgPSBnZXRDb21wdXRlZFN0eWxlKGN1cnJlbnQsIG51bGwpLmxpbmVIZWlnaHQgPT0gY29udHJv
bEhlaWdodDsKKyAgICBpZiAoc2FtZVNpemUpCisgICAgICAgIHNhbWVTaXplID0gZ2V0Q29tcHV0
ZWRTdHlsZShjdXJyZW50LCBudWxsKS5mb250U2l6ZSA9PSBjb250cm9sU2l6ZTsKK30KKwordmFy
IHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpOworaWYgKHNhbWVI
ZWlnaHQgJiYgc2FtZVNpemUpIHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0gImdyZWVuIjsK
KyAgICByZXN1bHRzLmlubmVySFRNTCA9ICJQQVNTIjsKK30gZWxzZSB7CisgICAgcmVzdWx0cy5z
dHlsZS5jb2xvciA9ICJyZWQiOworICAgIHJlc3VsdHMuaW5uZXJIVE1MID0gIkZBSUwiOyAgICAK
KyAgICBpZiAoIXNhbWVIZWlnaHQpCisgICAgICAgIHJlc3VsdHMuaW5uZXJIVE1MICs9ICI8cD5M
aW5lIGhlaWdodHMgZG8gbm90IG1hdGNoPC9wPiI7CisgICAgaWYgKCFzYW1lU2l6ZSkKKyAgICAg
ICAgcmVzdWx0cy5pbm5lckhUTUwgKz0gIjxwPkxpbmUgd2lkdGhzIGRvIG5vdCBtYXRjaDwvcD4i
OworfQorCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9nZXRD
b21wdXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50YWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2NzczMvY2FsYy9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50YWdlLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmJjZjFjZDQzZDk5MjRhN2RlYTU1MjM0MGE4ZjI5Y2JmNGMyNjc4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2dldENvbXB1dGVkU3R5bGUt
bWFyZ2luLXBlcmNlbnRhZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorVGVzdCBjYWxs
aW5nIGdldFByb3BlcnR5VmFsdWUgb24gY29tcHV0ZWQgbWFyZ2luIHN0eWxlcy4KKworbWFyZ2lu
LWxlZnQ6IDMzJQorbWFyZ2luLXRvcDogMTAlCittYXJnaW4tcmlnaHQ6IDBweAorbWFyZ2luLWJv
dHRvbTogMHB4CitUZXN0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZ2V0Q29t
cHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYzZm
YTBhMjZkOTk0MDkzMDMzZTI5ZGZjNTY0MDQ1ODkyMDI2OGRiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3NzMy9jYWxjL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2Uu
aHRtbApAQCAtMCwwICsxLDUxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cisg
ICAgPHN0eWxlPgorICAgICAgICAjZm9vIHsgCisgICAgICAgICAgICBiYWNrZ3JvdW5kOiBwdXJw
bGU7CisgICAgICAgICAgICBib3JkZXI6IC13ZWJraXQtY2FsYygxMHB4KSBkb3VibGUgIzAwMDAw
MDsgCisgICAgICAgICAgICB3aWR0aDogLXdlYmtpdC1jYWxjKDUwJSk7CisgICAgICAgICAgICBo
ZWlnaHQ6IGF1dG87CisgICAgICAgICAgICAKKyAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtd2Vi
a2l0LWNhbGMoMzMlKTsKKyAgICAgICAgICAgIG1hcmdpbi10b3A6IC13ZWJraXQtY2FsYygxMCUp
OworICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOworICAgICAgICAgICAgCisgICAgICAg
ICAgICBwYWRkaW5nLWxlZnQ6IGF1dG87CisgICAgICAgICAgICBsZWZ0OiBhdXRvOworICAgICAg
ICAgICAgY29sb3I6IHdoaXRlOworICAgICAgICAgICAgZm9udDogLXdlYmtpdC1jYWxjKDI0cHgp
ICdMdWNpZGEgR3JhbmRlJzsKKyAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAtd2Via2l0LWNhbGMo
MjRweCk7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIAorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGZ1bmN0aW9uIGxvZyhtc2cpIHsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdjb25zb2xlJykuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobXNnICsg
J1xuJykpOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBmdW5jdGlvbiB0ZXN0KHByb3Ap
IHsKKyAgICAgICAgICAgIHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vJyk7
CisgICAgICAgICAgICBsb2cocHJvcCArICc6ICcgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShk
aXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUocHJvcCkpOworICAgICAgICB9CisgICAgICAgIAor
ICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgdGVzdCgnbWFyZ2lu
LWxlZnQnKTsKKyAgICAgICAgICAgIHRlc3QoJ21hcmdpbi10b3AnKTsKKyAgICAgICAgICAgIHRl
c3QoJ21hcmdpbi1yaWdodCcpOworICAgICAgICAgICAgdGVzdCgnbWFyZ2luLWJvdHRvbScpOwor
ICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVz
dHMoKTsiPgorICAgIDxwPlRlc3QgY2FsbGluZyBnZXRQcm9wZXJ0eVZhbHVlIG9uIGNvbXB1dGVk
IG1hcmdpbiBzdHlsZXMuPC9wPgorICAgIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgorICAgIAor
ICAgIDxkaXYgaWQ9ImZvbyI+VGVzdDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2dyYWRpZW50LWNvbG9yLXN0b3BzLWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZ3JhZGllbnQtY29sb3Itc3RvcHMtZXhwZWN0ZWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45ZDAwNWI5MTVjMzk2YWQxOWQ3MTUxMzc2YTEwZDI5YTQ0ODFhMWZl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2dyYWRpZW50LWNvbG9y
LXN0b3BzLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw1OCBAQAorPCFET0NUWVBFIGh0bWw+CisK
KzxodG1sPgorPGhlYWQ+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+
CisgICAgLmJveCB7CisgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgICBoZWlnaHQ6
IDEyMHB4OworICAgICAgd2lkdGg6IDIwMHB4OworICAgICAgbWFyZ2luOiAxMHB4OworICAgICAg
Ym9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVw
ZWF0OworICAgIH0KKworICAgIC5saW5lYXIxIHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13
ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJlZCAyNSUsIGdyZWVuIDUwJSwgYmx1ZSA3NSUp
OworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmVk
IDI1JSwgZ3JlZW4gNTAlLCBibHVlIDc1JSk7CisgICAgfQorCisgICAgLmxpbmVhcjIgeworICAg
ICAgLyogR3JlZW4gc2hvdWxkIGdldCBzaGlmdGVkIHRvIDUwJSAqLworICAgICAgYmFja2dyb3Vu
ZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmVkIDUwJSwgZ3JlZW4gMzAl
LCBibHVlIDkwJSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVu
dChsZWZ0LCByZWQgNTAlLCBncmVlbiAzMCUsIGJsdWUgOTAlKTsKKyAgICB9CisKKyAgICAubGlu
ZWFyMyB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChy
ZWQgLTUwJSwgZ3JlZW4sIGJsdWUsIGdyZWVuLCBibHVlIDE1MCUpOworICAgICAgYmFja2dyb3Vu
ZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQocmVkIC01MCUsIGdyZWVuLCBibHVlLCBncmVl
biwgYmx1ZSAxNTAlKTsKKyAgICB9CisKKyAgICAubGluZWFyNCB7CisgICAgICBiYWNrZ3JvdW5k
LWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZWQsIGdyZWVuIDEwMHB4LCBi
bHVlKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQs
IHJlZCwgZ3JlZW4gMTAwcHgsIGJsdWUpOworICAgIH0KKworICAgIC5saW5lYXI1IHsKKyAgICAg
IGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJlZCwgZ3Jl
ZW4gMTIwJSwgYmx1ZSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFk
aWVudChsZWZ0LCByZWQsIGdyZWVuIDEyMCUsIGJsdWUpOworICAgIH0KKyAgPC9zdHlsZT4KKyAg
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICB2YXIgZHVtcFBpeGVscyA9IHRy
dWU7CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KGR1bXBQaXhlbHMpOwor
ICAgIH0KKyAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworICA8ZGl2IGNsYXNzPSJsaW5l
YXIxIGJveCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImxpbmVhcjIgYm94Ij48L2Rpdj4KKyAgPGRp
diBjbGFzcz0ibGluZWFyMyBib3giPjwvZGl2PgorICA8YnI+CisgIDxkaXYgY2xhc3M9ImxpbmVh
cjQgYm94Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz0ibGluZWFyNSBib3giPjwvZGl2PgorCis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZ3JhZGllbnQt
Y29sb3Itc3RvcHMuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ncmFkaWVudC1jb2xvci1z
dG9wcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0ZjRlOWJiNDlkMDdlMmQ5YzZjMWNlYzA2N2M4NmFjMDVh
YzFhNzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZ3JhZGllbnQt
Y29sb3Itc3RvcHMuaHRtbApAQCAtMCwwICsxLDU4IEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0
bWw+Cis8aGVhZD4KKyAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KKyAg
ICAuYm94IHsKKyAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICAgIGhlaWdodDogMTIw
cHg7CisgICAgICB3aWR0aDogMjAwcHg7CisgICAgICBtYXJnaW46IDEwcHg7CisgICAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7
CisgICAgfQorCisgICAgLmxpbmVhcjEgeworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtp
dC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmVkIC13ZWJraXQtY2FsYygyNSUpLCBncmVlbiAtd2Vi
a2l0LWNhbGMoNTAlKSwgYmx1ZSAtd2Via2l0LWNhbGMoNzUlKSk7CisgICAgICBiYWNrZ3JvdW5k
LWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZWQgLXdlYmtpdC1jYWxjKDI1JSks
IGdyZWVuIC13ZWJraXQtY2FsYyg1MCUpLCBibHVlIC13ZWJraXQtY2FsYyg3NSUpKTsKKyAgICB9
CisKKyAgICAubGluZWFyMiB7CisgICAgICAvKiBHcmVlbiBzaG91bGQgZ2V0IHNoaWZ0ZWQgdG8g
LXdlYmtpdC1jYWxjKDUwJSkgKi8KKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGlu
ZWFyLWdyYWRpZW50KGxlZnQsIHJlZCAtd2Via2l0LWNhbGMoNTAlKSwgZ3JlZW4gLXdlYmtpdC1j
YWxjKDMwJSksIGJsdWUgLXdlYmtpdC1jYWxjKDkwJSkpOworICAgICAgYmFja2dyb3VuZC1pbWFn
ZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmVkIC13ZWJraXQtY2FsYyg1MCUpLCBncmVl
biAtd2Via2l0LWNhbGMoMzAlKSwgYmx1ZSAtd2Via2l0LWNhbGMoOTAlKSk7CisgICAgfQorCisg
ICAgLmxpbmVhcjMgeworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3Jh
ZGllbnQocmVkIC13ZWJraXQtY2FsYygtNTAlKSwgZ3JlZW4sIGJsdWUsIGdyZWVuLCBibHVlIC13
ZWJraXQtY2FsYygxNTAlKSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1n
cmFkaWVudChyZWQgLXdlYmtpdC1jYWxjKC01MCUpLCBncmVlbiwgYmx1ZSwgZ3JlZW4sIGJsdWUg
LXdlYmtpdC1jYWxjKDE1MCUpKTsKKyAgICB9CisKKyAgICAubGluZWFyNCB7CisgICAgICBiYWNr
Z3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZWQsIGdyZWVuIC13
ZWJraXQtY2FsYygxMDBweCksIGJsdWUpOworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1s
aW5lYXItZ3JhZGllbnQobGVmdCwgcmVkLCBncmVlbiAtd2Via2l0LWNhbGMoMTAwcHgpLCBibHVl
KTsKKyAgICB9CisKKyAgICAubGluZWFyNSB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Vi
a2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZWQsIGdyZWVuIC13ZWJraXQtY2FsYygxMjAlKSwg
Ymx1ZSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0
LCByZWQsIGdyZWVuIC13ZWJraXQtY2FsYygxMjAlKSwgYmx1ZSk7CisgICAgfQorICA8L3N0eWxl
PgorICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPgorICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgIHZhciBkdW1wUGl4ZWxz
ID0gdHJ1ZTsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoZHVtcFBpeGVs
cyk7CisgICAgfQorICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCisgIDxkaXYgY2xhc3M9
ImxpbmVhcjEgYm94Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz0ibGluZWFyMiBib3giPjwvZGl2Pgor
ICA8ZGl2IGNsYXNzPSJsaW5lYXIzIGJveCI+PC9kaXY+CisgIDxicj4KKyAgPGRpdiBjbGFzcz0i
bGluZWFyNCBib3giPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJsaW5lYXI1IGJveCI+PC9kaXY+CisK
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9pbWct
c2l6ZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ltZy1zaXplLWV4cGVj
dGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMDhkYjEyNzA0MzBkOWI1ZDAwYjNkZTc4MTNhMTlkMjEwYjM2
NmY4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9pbWctc2l6ZS1l
eHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzxzdHlsZT4KKy5jb250cm9sIHsgd2lkdGg6
IDUwJTsgfQorLnBpeGVscyB7IHdpZHRoOiAxMDBweDsgfQorLnBlcmNlbnQge3dpZHRoOiA1MCU7
IH0KKy5ib3RoIHt3aWR0aDogMTAwcHg7IH0KKzwvc3R5bGU+CisKKzxkaXYgc3R5bGU9IndpZHRo
OjIwMHB4OyI+CisgICAgPGltZyBjbGFzcz0iY29udHJvbCIgc3JjPSJkYXRhOmltYWdlL3BuZzti
YXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFJQUFBQUNDQVlBQUFCeXRnMGtBQUFBRkVs
RVFWUUlIV1A0ejhEd0h3eUJOSkROOEI4QVFORUcrdDVJazJrQUFBQUFTVVZPUks1Q1lJST0iPgor
ICAgIDxoci8+CisgICAgPGltZyBjbGFzcz0icGl4ZWxzIiBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jh
c2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFGRWxF
UVZRSUhXUDR6OER3SHd5Qk5KRE44QjhBUU5FRyt0NUlrMmtBQUFBQVNVVk9SSzVDWUlJPSI+Cisg
ICAgPGhyLz4KKyAgICA8aW1nIGNsYXNzPSJwZXJjZW50IiBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jh
c2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFGRWxF
UVZRSUhXUDR6OER3SHd5Qk5KRE44QjhBUU5FRyt0NUlrMmtBQUFBQVNVVk9SSzVDWUlJPSI+Cisg
ICAgPGhyLz4KKyAgICA8aW1nIGNsYXNzPSJib3RoIiBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2
NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFGRWxFUVZR
SUhXUDR6OER3SHd5Qk5KRE44QjhBUU5FRyt0NUlrMmtBQUFBQVNVVk9SSzVDWUlJPSI+Cis8L2Rp
dj4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvaW1nLXNpemUuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9pbWctc2l6ZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmEyYzZiOWEzOGUxYWRmODBlMjhkOGIyOGZiOTFkZmY0ZmQ2NzM5OTEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvaW1nLXNpemUuaHRtbApA
QCAtMCwwICsxLDE2IEBACis8c3R5bGU+CisuY29udHJvbCB7IHdpZHRoOiA1MCU7IH0KKy5waXhl
bHMgeyB3aWR0aDogLXdlYmtpdC1jYWxjKDEwMHB4KTsgfQorLnBlcmNlbnQge3dpZHRoOiAtd2Vi
a2l0LWNhbGMoNTAlKTsgfQorLmJvdGgge3dpZHRoOiAtd2Via2l0LWNhbGMoMjUlICsgNTBweCk7
IH0KKzwvc3R5bGU+CisKKzxkaXYgc3R5bGU9IndpZHRoOjIwMHB4OyI+CisgICAgPGltZyBjbGFz
cz0iY29udHJvbCIgc3JjPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNV
aEVVZ0FBQUFJQUFBQUNDQVlBQUFCeXRnMGtBQUFBRkVsRVFWUUlIV1A0ejhEd0h3eUJOSkROOEI4
QVFORUcrdDVJazJrQUFBQUFTVVZPUks1Q1lJST0iPgorICAgIDxoci8+CisgICAgPGltZyBjbGFz
cz0icGl4ZWxzIiBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1Vo
RVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFGRWxFUVZRSUhXUDR6OER3SHd5Qk5KRE44QjhB
UU5FRyt0NUlrMmtBQUFBQVNVVk9SSzVDWUlJPSI+CisgICAgPGhyLz4KKyAgICA8aW1nIGNsYXNz
PSJwZXJjZW50IiBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1Vo
RVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFGRWxFUVZRSUhXUDR6OER3SHd5Qk5KRE44QjhB
UU5FRyt0NUlrMmtBQUFBQVNVVk9SSzVDWUlJPSI+CisgICAgPGhyLz4KKyAgICA8aW1nIGNsYXNz
PSJib3RoIiBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVn
QUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFGRWxFUVZRSUhXUDR6OER3SHd5Qk5KRE44QjhBUU5F
Ryt0NUlrMmtBQUFBQVNVVk9SSzVDWUlJPSI+Cis8L2Rpdj4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbGluZS1oZWlnaHQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2xpbmUtaGVpZ2h0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hZDQ1OWRlN2Q0MjhlYTQxODFkN2JlMmY4NjhiNWRmZmRiNTVhZjAyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2xpbmUtaGVpZ2h0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK1RoZSBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5lcyBz
aG91bGQgYmUgaWRlbnRpY2FsCitUaGUgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxk
IGJlIGlkZW50aWNhbAorVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBp
ZGVudGljYWwKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9saW5lLWhl
aWdodC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2xpbmUtaGVpZ2h0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNWM3ZDEwNjU3ZDBjMzBmMTZiNTI3ODZhMTAwNzAyZmJhYjUxZGRmMAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9saW5lLWhlaWdodC5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzxzdHlsZT4gCitzcGFuIHsgZm9udC1zaXplOiAxNnB4O30KKyNjb250cm9sIHts
aW5lLWhlaWdodDogMjAwJTt9CisjY2FsYy1wZXJjZW50IHtsaW5lLWhlaWdodDogLXdlYmtpdC1j
YWxjKDEwMCUgKiAyKTt9CisjY2FsYy1wZXJjZW50LXBpeGVscyB7bGluZS1oZWlnaHQ6IC13ZWJr
aXQtY2FsYygxMDAlICsgMTZweCk7fQorPC9zdHlsZT4KKworPGRpdj4KKzxzcGFuIGlkPSJjb250
cm9sIj5UaGUgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwv
c3Bhbj4KKzxoci8+Cis8c3BhbiBpZD0iY2FsYy1wZXJjZW50Ij5UaGUgbGluZSBoZWlnaHQgb2Yg
dGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwvc3Bhbj4KKzxoci8+Cis8c3BhbiBpZD0i
Y2FsYy1wZXJjZW50LXBpeGVscyI+VGhlIGxpbmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3Vs
ZCBiZSBpZGVudGljYWw8L3NwYW4+Cis8aHIvPgorPC9kaXY+Cis8ZGl2IGlkPSJyZXN1bHRzIj48
L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwordmFyIGNvbnRyb2xIZWlnaHQgPSAg
Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbCIpLCBudWxs
KS5saW5lSGVpZ2h0OwordmFyIGhlaWdodHMgPSAiIjsKKwordmFyIHNwYW5zID0gZG9jdW1lbnQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKTsKK3ZhciBzYW1lSGVpZ2h0ID0gdHJ1ZTsKK2Zv
ciAodmFyIGkgPSAwOyBpIDwgc3BhbnMubGVuZ3RoOyArK2kpIHsKKyAgICB2YXIgY3VycmVudCA9
IHNwYW5zW2ldOworICAgIHZhciBjdXJyZW50SGVpZ2h0ID0gZ2V0Q29tcHV0ZWRTdHlsZShjdXJy
ZW50LCBudWxsKS5saW5lSGVpZ2h0OworICAgIGlmIChoZWlnaHRzLmxlbmd0aCAhPSAwKQorICAg
ICAgICBoZWlnaHRzID0gaGVpZ2h0cyArICIsICI7CisgICAgaGVpZ2h0cyA9IGhlaWdodHMgKyBj
dXJyZW50SGVpZ2h0OworICAgIGlmIChzYW1lSGVpZ2h0KQorICAgICAgICBzYW1lSGVpZ2h0ID0g
Y3VycmVudEhlaWdodCA9PSBjb250cm9sSGVpZ2h0OworfQorCit2YXIgcmVzdWx0cyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHRzIik7CitpZiAoc2FtZUhlaWdodCkgeworICAgIHJl
c3VsdHMuc3R5bGUuY29sb3IgPSAiZ3JlZW4iOworICAgIHJlc3VsdHMuaW5uZXJIVE1MID0gIlBB
U1MiOworfSBlbHNlIHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0gInJlZCI7CisgICAgcmVz
dWx0cy5pbm5lckhUTUwgPSAiRkFJTCI7ICAgIAorICAgIHJlc3VsdHMuaW5uZXJIVE1MICs9ICI8
cD5Db21wdXRlZCBsaW5lIGhlaWdodHMgZG8gbm90IG1hdGNoOiAiICsgaGVpZ2h0cyArICI8L3A+
IjsKK30KKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbWFy
Z2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9tYXJnaW4tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjRiOTQ0ZWZjYzhmZTAxMmNjODNlNzAwMzk4NDYzNWJlMTQzMDZiZjEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbWFyZ2luLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDI0IEBACitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFs
bCBtYXJnaW4gb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCisKKworVGhpcyBlbGVtZW50IHNob3VsZCBo
YXZlIGEgbGVmdCBtYXJnaW4gb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCisKK1RoaXMgZWxlbWVudCBz
aG91bGQgaGF2ZSBhIHJpZ2h0IG1hcmdpbiBvZiAyNSBwaXhlbHMuID0+IFBBU1MKKworVGhpcyBl
bGVtZW50IHNob3VsZCBoYXZlIGEgdG9wIG1hcmdpbiBvZiAyNSBwaXhlbHMuID0+IFBBU1MKKwor
VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIG1hcmdpbiBvZiAyNSBwaXhlbHMuID0+
IFBBU1MKKworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBtYXJnaW4gb2Yg
MjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuID0+IEZB
SUw6IGV4cGVjdGVkIHRvdGFsIHdpZHRoIG9mIDI1MCwgYnV0IHdhcyAyMDAsIGV4cGVjdGVkIHRv
dGFsIGhlaWdodCBvZiAxNzAsIGJ1dCB3YXMgMTIwCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2
ZSBhIGxlZnQgbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBw
eCBtaW51cyA1cHgpLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyMjUsIGJ1dCB3
YXMgMjAwCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0IG1hcmdpbiBvZiAyNSBw
aXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4gRkFJTDog
ZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgMjI1LCBidXQgd2FzIDIwMAorCitUaGlzIGVsZW1lbnQg
c2hvdWxkIGhhdmUgYSB0b3AgbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0
aCBvZiAzMDBweCBtaW51cyA1cHgpLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2Yg
MTQ1LCBidXQgd2FzIDEzNQorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gbWFy
Z2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgp
LiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgMTQ1LCBidXQgd2FzIDEzNQorCisK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL21hcmdpbi5odG1sIGIvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL21hcmdpbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0NWY5MzliYzExODBkZmJm
NDI0NjFhZTEyZWY2NTljM2FlZDRiNTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvbWFyZ2luLmh0bWwKQEAgLTAsMCArMSwxMzMgQEAKKzwhRE9DVFlQRSBIVE1MPgor
PHN0eWxlPgorZGl2IHsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cit9CisKK3AgeworICAg
IHdpZHRoOi13ZWJraXQtY2FsYygyMDBweCk7IAorICAgIGhlaWdodDotd2Via2l0LWNhbGMoMTIw
cHgpOworICAgIG1hcmdpbjogMDsKK30KKy5zaW1wbGUtYWxsIHsKKyAgICBtYXJnaW46IC13ZWJr
aXQtY2FsYygxM3B4ICsgMTJweCk7Cit9Cisuc2ltcGxlLWxlZnQgeworICAgIG1hcmdpbi1sZWZ0
OiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpOworfQorLnNpbXBsZS1yaWdodCB7CisgICAgbWFy
Z2luLXJpZ2h0OiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpOworfQorLnNpbXBsZS10b3Agewor
ICAgIG1hcmdpbi10b3A6IC13ZWJraXQtY2FsYygxM3B4ICsgMTJweCk7Cit9Cisuc2ltcGxlLWJv
dHRvbSB7CisgICAgbWFyZ2luLWJvdHRvbTogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsKK30K
Ky5wZXJjZW50LWFsbCB7CisgICAvKiBtYXJnaW46IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOwor
ICAgIG1hcmdpbjogLW1vei1jYWxjKC13ZWJraXQtY2FsYygxMCUpIC0gNXB4KTsKKyAgICBtYXJn
aW46IGNhbGMoLXdlYmtpdC1jYWxjKDEwJSkgLSA1cHgpOyovCisgICAgbWFyZ2luLWxlZnQ6IC13
ZWJraXQtY2FsYygxMCUpOworfQorLnBlcmNlbnQtbGVmdCB7CisgICAgbWFyZ2luLWxlZnQ6IC13
ZWJraXQtY2FsYygxMCUgLSA1cHgpOworICAgIG1hcmdpbi1sZWZ0OiAtd2Via2l0LWNhbGMoMjAl
KTsKK30KKy5wZXJjZW50LXJpZ2h0IHsKKyAgICBtYXJnaW4tcmlnaHQ6IC13ZWJraXQtY2FsYygx
MCUgLSA1cHgpOworfQorLnBlcmNlbnQtdG9wIHsKKyAgICBtYXJnaW4tdG9wOiAtd2Via2l0LWNh
bGMoMTAlIC0gNXB4KTsKK30KKy5wZXJjZW50LWJvdHRvbSB7CisgICBtYXJnaW4tYm90dG9tOiAt
d2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKK30KKzwvc3R5bGU+Cis8ZGl2PgorICAgIDxwIGNsYXNz
PSJzaW1wbGUtYWxsIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBtYXJnaW4g
b2YgMjUgcGl4ZWxzLjwvcD4KKzwvZGl2Pjxici8+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJzaW1w
bGUtbGVmdCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgbGVmdCBtYXJnaW4gb2YgMjUgcGl4
ZWxzLjwvcD4KKzwvZGl2Pjxici8+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJzaW1wbGUtcmlnaHQi
PlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0IG1hcmdpbiBvZiAyNSBwaXhlbHMuPC9w
PgorPC9kaXY+PGJyLz4KKzxkaXY+CisgICAgPHAgY2xhc3M9InNpbXBsZS10b3AiPlRoaXMgZWxl
bWVudCBzaG91bGQgaGF2ZSBhIHRvcCBtYXJnaW4gb2YgMjUgcGl4ZWxzLjwvcD4KKzwvZGl2Pjxi
ci8+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJzaW1wbGUtYm90dG9tIj5UaGlzIGVsZW1lbnQgc2hv
dWxkIGhhdmUgYSBib3R0b20gbWFyZ2luIG9mIDI1IHBpeGVscy48L3A+Cis8L2Rpdj48YnIvPgor
Cis8ZGl2IGlkPSJ3cmFwcGVyIiBzdHlsZT0id2lkdGg6IDMwMHB4OyBiYWNrZ3JvdW5kLWNvbG9y
OiBjb3Juc2lsazsgZGlzcGxheTogYmxvY2s7Ij4KKzxkaXY+CisgICAgPHAgY2xhc3M9InBlcmNl
bnQtYWxsIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBtYXJnaW4gb2YgMjUg
cGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzICAgICA1cHgpLjwvcD4K
KzwvZGl2Pjxici8+CisKKworPGRpdj4KKyAgICA8cCBjbGFzcz0icGVyY2VudC1sZWZ0Ij5UaGlz
IGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBsZWZ0IG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEwJSBvZiBw
YXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS48L3A+Cis8L2Rpdj48YnIvPgorPGRpdj4K
KyAgICA8cCBjbGFzcz0icGVyY2VudC1yaWdodCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEg
cmlnaHQgbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBt
aW51cyA1cHgpLjwvcD4KKzwvZGl2Pjxici8+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJwZXJjZW50
LXRvcCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgdG9wIG1hcmdpbiBvZiAyNSBwaXhlbHMg
KDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS48L3A+Cis8L2Rpdj48YnIv
PgorPGRpdj4KKyAgICA8cCBjbGFzcz0icGVyY2VudC1ib3R0b20iPlRoaXMgZWxlbWVudCBzaG91
bGQgaGF2ZSBhIGJvdHRvbSBtYXJnaW4gb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRo
IG9mIDMwMHB4IG1pbnVzIDVweCkuPC9wPgorPC9kaXY+PGJyLz4KKworPHNjcmlwdD4KK2lmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOworCit2YXIgaW5uZXJXaWR0aCA9IDIwMDsKK3ZhciBpbm5lckhlaWdodCA9IDEy
MDsKK3ZhciBtYXJnaW4gPSAyNTsKKwordmFyIHRlc3RzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNC
eVRhZ05hbWUoImRpdiIpOworZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7ICsraSkg
eworICAgIHZhciBvdXRlckVsdCA9IHRlc3RzW2ldOworICAgIGlmIChvdXRlckVsdC5pZCA9PSAi
d3JhcHBlciIpCisgICAgICAgIGNvbnRpbnVlOworICAgICAgICAKKyAgICB2YXIgaW5uZXJFbHQg
PSB0ZXN0c1tpXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgicCIpWzBdOworICAgIHZhciB3aWR0aCA9
IG91dGVyRWx0Lm9mZnNldFdpZHRoOworICAgIHZhciBoZWlnaHQgPSBvdXRlckVsdC5vZmZzZXRI
ZWlnaHQ7CisKKyAgICB2YXIgZXhwZWN0ZWRXaWR0aCA9IGlubmVyV2lkdGg7CisgICAgdmFyIGV4
cGVjdGVkSGVpZ2h0ID0gaW5uZXJIZWlnaHQ7CisgICAgCisgICAgc3dpdGNoIChpbm5lckVsdC5j
bGFzc05hbWUuc3BsaXQoIi0iKVsxXSkgeworICAgIGNhc2UgImFsbCI6CisgICAgICAgIGV4cGVj
dGVkV2lkdGggKz0gMiAqIG1hcmdpbjsKKyAgICAgICAgZXhwZWN0ZWRIZWlnaHQgKz0gMiAqIG1h
cmdpbjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAidG9wIjoKKyAgICBjYXNlICJib3R0b20i
OgorICAgICAgICBleHBlY3RlZEhlaWdodCArPSBtYXJnaW47CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgImxlZnQiOgorICAgIGNhc2UgInJpZ2h0IjoKKyAgICAgICAgZXhwZWN0ZWRXaWR0aCAr
PSBtYXJnaW47CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICAKKyAgICB2YXIgZXJyb3IgPSBb
XTsKKyAgICBpZiAod2lkdGggIT0gZXhwZWN0ZWRXaWR0aCkKKyAgICAgICAgZXJyb3IucHVzaCgi
ZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgIiArIGV4cGVjdGVkV2lkdGggKyAiLCBidXQgd2FzICIg
KyB3aWR0aCk7CisgICAgaWYgKGhlaWdodCAhPSBleHBlY3RlZEhlaWdodCkKKyAgICAgICAgZXJy
b3IucHVzaCgiZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9mICIgKyBleHBlY3RlZEhlaWdodCArICIs
IGJ1dCB3YXMgIiArIGhlaWdodCk7CisKKyAgICByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInJlc3VsdHMiKTsKKyAgICBpZiAoZXJyb3IgPT0gIiIpIHsKKyAgICAgICAgaW5uZXJF
bHQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gImdyZWVuIjsKKyAgICAgICAgaW5uZXJFbHQuaW5u
ZXJIVE1MICs9ICIgPT4gUEFTUyI7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaW5uZXJFbHQuc3R5
bGUuYmFja2dyb3VuZENvbG9yID0gInJlZCI7CisgICAgICAgIGlubmVyRWx0LmlubmVySFRNTCAr
PSAiID0+IEZBSUw6ICIgKyBlcnJvci5qb2luKCIsICIpOworICAgIH0KK30KKzwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL211bHRpcGxlLWJhY2tncm91bmQtc2l6
ZS10cmFuc2l0aW9ucy1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbXVsdGlw
bGUtYmFja2dyb3VuZC1zaXplLXRyYW5zaXRpb25zLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
MjE2ZDY4ZmMxMjcwOWY5MDY0YzJkODU3M2NkMDA5NGYzMTJhYTI2CkdJVCBiaW5hcnkgcGF0Y2gK
bGl0ZXJhbCAxMTUwOQp6Y21lSTJgQnhLSEFJNHtmZkkkSSskWVFFRU14a3RDUHtQdUo0M2EzZzFj
Km9oWjQrVzVVPVR6RUw2OGctV3omfV4KekFRREFoWG5rJFY3UGE3cEhLa0N7RHBYTnx3RlgyNDYp
VEhVMiFgMFB0cl98VXc1UlZtXkhhezUrfj8tckN2KDRfCno9aVpyfDBRTVRnbmJlczgwMnVvREdD
MlVDMHxOalFMZXw1c05FMCk1VmpzNDxTc31aKE1oZHJ6O3VDZk51MG5kYQp6YHdEbCMqNmApcSFy
aHolZikoXnxLMTBZNXkxTWU2MUAyQm9VemBsWGRVejQjO31oV0w7e3lsbWlycDMhRWQrb2gKemFE
UHl7JGkjY0Qjd0YmPEE4Rig7azxyO0MzQyVDR0dMbSkyV3krV0BHUHU5Nm8rU35pQGF2M204R0s8
fmNQaEtECnpfbS1XS14tS0FUSD5sO19WWnBNc2BAPmleJTFScjR4JXR3T249JExfUGQkXmpyTSo8
VDQoKkZnPjs/PlgtRjY7Qgp6TnF2U2JvQ0BRcD0rc3IpKSFEIypEKWhhYnR2MjAlJlIoTUR7YntA
Xld1UjtDP0RXbVMtPSkwWGI5UFUpXm1lXjsKek0mPWFLdnFwTilQQnZzN0gjMmsmbDxtPTdacmll
KC0ySkYpXm0pRUpKMn5td3k0bSlnT2ApX0BndDQ/dXl5MyNlCnpuXnFtanJAbjU1Vnt4MzdDbHE7
d2lVbCpHVnp6elhPMWFgTWBRUE9tRkRtKXZDKW1GbE52QFE+TkBKZj51NTRWPwp6SUJRPEQqWGok
MFBMM1ZDPih2fG5AYm10cjFEXjlPN19UT0hyc3RfJlBCMHFoYXchfCR1THoyfT1WJi1gdFkje0IK
emJaeTI/aVE5RVNJMnNAMz4jdFpKR2pTPFBjYn5Qd3FfJWZZYU54dF9lM0o7fW9kLWojcFAqWDAo
RTxhaWZ6OzQ5CnpmV2poJEFDbTxqMlJ4YHcmUyFVZEV3MHBpdU9NWjQhamtRbWNrYEtOeWk7NiRf
QjxjPmAyIUQpNEsxJEZyO2RDPwp6P1g5dF56Ml5Ub1NAcHZmU3klOVFWZkF0OHJPfT1ibjsofjRx
Kl5MRVN8NyE0XyQwT0hQR1o0RlltUWJXP2BARGkKenIrUGpBc014N0xnT1Q0OUZNQjwqbHZ7TTgq
IUpNdT0wfUBlSzNrV1c1YSM2Q1ReMjM9KDZpVUUtTGJBU3pCKHQqCnpIVFphTyNNRX0qKkR0PG1E
Q3BtJF44YUxQTD4rT25YPXxeb2xYWVY1ekBuVnVYMisydVVGI31tXzQwUEtrVn1nVwp6Knh1Zjhj
eWheSTkjN2dadyhNaUMlfUd+UWl3KHZDMytMVXE5aDVVSlpuUDZQbXRIaUFveUA9QXFCaWR2Jm1B
YlUKemZ0RSUwdzNifWp1YHpDbFFaNzZkNkpHPEZVJWo8JnhJUllvUyg9LWc2eWl+N1I/VDZRITQy
VTIjSF91UlBpJjhNCno5NmZyfG9zO0VJUiZlUipidzF9dHo8blBNTWA1Szl0fXtEVnZXZnBSdjgk
d0dMQ3BNZV9mX0xmcmBITSNDVG1CRwp6V203VmFOPiM8Vm0mVEBjcldhNGYke1ZJd0B9I15SMER1
OE1yZ3U7aF97KVI5VCFGJXI4Rj4wPnh+Tn14WlNlKDMKejdPZzk2R0ErVHJFbXlPJT1ZVTQ3cDZW
OD4qUHM5aGs7b0puTDRrQkdXbnlUVitVUk5xZWhxfSluOX51cF91S0ZQCnpZfWxoOThBIU9Ge2hJ
Zk8+aTRUeWxYP0cwbFprbE51cXc2WTxZLSR0RHRAQSZiWnE9e0BGMnZVYjszfDBKfkZaSgp6R0l1
O341KURrY3s/dGkzSDYyaV9JfCRxfChZN1gkOH11I1VTb1N4eFgpe0NRZklJU3ZxOyYqQFZqO2NP
O3t+PFQKenJzX3RhQlNzV1laPj1Bd3s1VDRaX1Y/TXBgIVAmemdqdUErXiM5JH5LWUFPcz1Bak1s
c0AhKWpWc2A2KkkoQHtECnoyJHpVXmlDQSQmVUJkQX1sKillXkN9UVF4bC1KSypzdjduXm5OQmZI
NWZxYCpIIXZ7MylxZkg+amMhVV53UTFFSgp6ZCt3WlJ8SmY7d2ZtWilyYDJJQVNlaz0hKSZ5UU03
cWJZWiQxPFp2ZTxObmZAZiNoJU9OYENLWnJiZDxlJkI1TjUKelQzeit2REBCRUpAdyp7VDFvdVJ2
WUxtWCZ0Q35yZHtJWTM3aGFHeHFkSGE3enBsWmpTJkghfTspeUJ6cTVYalV1CnprbkZ0Myo3Z1I9
RnYzP2NYdFF5UjM8YypuRHgmYlUtSEZBNXk0OEopLWktakpuOS01TyN+JlFoclVKUFgxPCFWNwp6
ZCpHVHpOWUQ0ZW1lYTtzdVJ+MWVOR0o3aG1SNXM9JE5+TjBMMSl9bTV0ZHJRN0xWZmJnRk1SdWV6
PmMyd0tsWnkKekhwcWNjNXpgWGFnbzhSdXckeWFzNlJnN1drPzJzWGs1JlVhQFgkPWM2djduWlA5
Y15MbkxeWVE1YylTMitUajdhCnpBS1RtOD9gfkEkZF9pRWxvO1A1USpgTmJuPTxfZipAYT5vNUsq
YDNhZTJaVm8oaVZETkFPP3FNbU5sKmsjRmwobQp6KWoxcHY0d3hwZHh8T05iejstOzhuVWBSTyh+
cEdfXk5lVzt1Mz0pdGo2Qm5aWkA2VlBKays2e1dgYitKej0qbEQKekdaZCR2OEshOXQ3VF85K0RJ
S1kze3ZjMEZLWTBhNCUmeSReeFRYVHFeWmh5YDAtcz5XVHNtVTVgRVpVX2c5T098CnohVzY8Mzsh
Wih7PHdKcHFuZ1dyQ0xKT281Xm5uUV5sZ0xDKTBuJi1eaERCIzAoR29FcWdvd1FsTFRtYGhsPmV0
KQp6dlBDbTM1Ji1ubS1AWGUjcSs5SEdmaz9NUnkyVEVuaDsmUCZUa1AyemsjMW9rLUN+RV5NN2t4
P0UldUUzWiVlbkQKWjhLIyE9VC1SUkhQc1FHMjJLLW9UWDNaKkkjJjRVVT5fWSRtCgpsaXRlcmFs
IDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbXVsdGlw
bGUtYmFja2dyb3VuZC1zaXplLXRyYW5zaXRpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2NzczMvY2FsYy9tdWx0aXBsZS1iYWNrZ3JvdW5kLXNpemUtdHJhbnNpdGlvbnMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmJjZTFkYWJhNDI0YmMzNDM1MmI5N2UyZDU0NzNjYTNjZjk3NjA3MTkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbXVsdGlwbGUtYmFja2dy
b3VuZC1zaXplLXRyYW5zaXRpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1BBU1Mg
LSAiLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemUiIHByb3BlcnR5IGZvciAiYm94IiBlbGVtZW50IGF0
IDAuNXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogMjUsMjUKK1BBU1MgLSAiLXdlYmtpdC1tYXNr
LXNpemUiIHByb3BlcnR5IGZvciAiYm94MSIgZWxlbWVudCBhdCAwLjVzIHNhdyBzb21ldGhpbmcg
Y2xvc2UgdG86IDI1LDI1CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9tdWx0
aXBsZS1iYWNrZ3JvdW5kLXNpemUtdHJhbnNpdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL2NzczMv
Y2FsYy9tdWx0aXBsZS1iYWNrZ3JvdW5kLXNpemUtdHJhbnNpdGlvbnMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jMmM1ZTQ2N2EyZTM3NmQzMzUwYjVhNWJiZDIzM2NhYzhmNTQ2NWM1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL211bHRpcGxlLWJhY2tncm91bmQtc2l6ZS10cmFu
c2l0aW9ucy5odG1sCkBAIC0wLDAgKzEsNjcgQEAKKzwhRE9DVFlQRT4KKworPGh0bWw+Cis8aGVh
ZD4KKyAgPHN0eWxlPgorICAgIC5ib3ggeworICAgICAgaGVpZ2h0OiAtd2Via2l0LWNhbGMoMTAw
cHgpOworICAgICAgd2lkdGg6IC13ZWJraXQtY2FsYygxMDBweCk7CisgICAgICBtYXJnaW46IC13
ZWJraXQtY2FsYygxMHB4KTsKKyAgICAgIGJvcmRlcjogLXdlYmtpdC1jYWxjKDFweCkgc29saWQg
YmxhY2s7CisgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OworICAgICAgLXdlYmtp
dC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0OworICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0
aW9uOiAxczsKKyAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVh
cjsKKyAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC1iYWNrZ3JvdW5k
LXNpemUsIC13ZWJraXQtbWFzay1zaXplOworICAgIH0KKyAgICAKKyAgICAjYm94IHsKKyAgICAg
IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vZmFzdC9iYWNrZ3JvdW5kcy9yZXBlYXQvcmVzb3Vy
Y2VzL2dyYWRpZW50LmdpZicpLCB1cmwoJy4uL2Zhc3QvYmFja2dyb3VuZHMvcmVwZWF0L3Jlc291
cmNlcy9ncmFkaWVudC5naWYnKTsKKyAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMCwgLXdl
YmtpdC1jYWxjKDUwcHgpIC13ZWJraXQtY2FsYyg1MHB4KTsKKyAgICAgIC13ZWJraXQtYmFja2dy
b3VuZC1zaXplOiAtd2Via2l0LWNhbGMoMCUpIC13ZWJraXQtY2FsYygwJSksIC13ZWJraXQtY2Fs
Yyg1MCUpIC13ZWJraXQtY2FsYyg1MCUpOworICAgIH0KKyAgICAKKyAgICAjYm94LmZpbmFsIHsK
KyAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiAtd2Via2l0LWNhbGMoNTAlKSAtd2Via2l0
LWNhbGMoNTAlKSwgLXdlYmtpdC1jYWxjKDAlKSAtd2Via2l0LWNhbGMoMCUpOworICAgIH0KKyAg
ICAKKyAgICAjYm94MSB7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5OworICAgICAgLXdl
YmtpdC1tYXNrLWltYWdlOiB1cmwoJy4uL2Zhc3QvYmFja2dyb3VuZHMvcmVwZWF0L3Jlc291cmNl
cy9ncmFkaWVudC5naWYnKSwgdXJsKCcuLi9mYXN0L2JhY2tncm91bmRzL3JlcGVhdC9yZXNvdXJj
ZXMvZ3JhZGllbnQuZ2lmJyk7CisgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IDAgMCwgLXdl
YmtpdC1jYWxjKDUwcHgpIC13ZWJraXQtY2FsYyg1MHB4KTsKKyAgICAgIC13ZWJraXQtbWFzay1z
aXplOiAtd2Via2l0LWNhbGMoMCUpIC13ZWJraXQtY2FsYygwJSksIC13ZWJraXQtY2FsYyg1MCUp
IC13ZWJraXQtY2FsYyg1MCUpOworICAgIH0KKworICAgICNib3gxLmZpbmFsIHsKKyAgICAgIC13
ZWJraXQtbWFzay1zaXplOiAtd2Via2l0LWNhbGMoNTAlKSAtd2Via2l0LWNhbGMoNTAlKSwgLXdl
YmtpdC1jYWxjKDAlKSAtd2Via2l0LWNhbGMoMCUpOworICAgIH0KKworICA8L3N0eWxlPgorICA8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3RyYW5zaXRpb24tdGVzdC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCisgICAgY29uc3QgZXhwZWN0
ZWRWYWx1ZXMgPSBbCisgICAgICAvLyBbdGltZSwgZWxlbWVudC1pZCwgcHJvcGVydHksIGV4cGVj
dGVkLXZhbHVlLCB0b2xlcmFuY2VdCisgICAgICBbMC41LCAnYm94JywgJy13ZWJraXQtYmFja2dy
b3VuZC1zaXplJywgWzI1LCAyNV0sIDRdLAorICAgICAgWzAuNSwgJ2JveDEnLCAnLXdlYmtpdC1t
YXNrLXNpemUnLCBbMjUsIDI1XSwgNF0sCisgICAgXTsKKyAgCisgICAgZnVuY3Rpb24gc2V0dXBU
ZXN0KCkKKyAgICB7CisgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm94JykuY2xhc3NO
YW1lID0gJ2JveCBmaW5hbCc7CisgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm94MScp
LmNsYXNzTmFtZSA9ICdib3ggZmluYWwnOworICAgIH0KKyAgCisgICAgcnVuVHJhbnNpdGlvblRl
c3QoZXhwZWN0ZWRWYWx1ZXMsIHNldHVwVGVzdCwgdXNlUGF1c2VBUEkpOworICA8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorCisgIDxkaXYgaWQ9ImJveCIgY2xhc3M9ImJveCI+PC9kaXY+Cisg
IDxkaXYgaWQ9ImJveDEiIGNsYXNzPSJib3giPjwvZGl2PgorCisgIDxkaXYgaWQ9InJlc3VsdCI+
CisgIDwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvcGFkZGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvcGFk
ZGluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGI4ZTNhNzQ0NDUyODcwODNjZGM1MmJiNjQ2
ZWI1ZDIwNTc3OWE4ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9w
YWRkaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE5IEBACitUaGlzIGVsZW1lbnQgc2hvdWxk
IGhhdmUgYW4gb3ZlcmFsbCBwYWRkaW5nIG9mIDI1IHBpeGVscy4gPT4gUEFTUworCitUaGlzIGVs
ZW1lbnQgc2hvdWxkIGhhdmUgYSBsZWZ0IHBhZGRpbmcgb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCisK
K1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0IHBhZGRpbmcgb2YgMjUgcGl4ZWxzLiA9
PiBQQVNTCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHRvcCBwYWRkaW5nIG9mIDI1IHBp
eGVscy4gPT4gUEFTUworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gcGFkZGlu
ZyBvZiAyNSBwaXhlbHMuID0+IFBBU1MKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGFuIG92
ZXJhbGwgcGFkZGluZyBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHgg
bWludXMgNXB4KS4gPT4gUEFTUworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBsZWZ0IHBh
ZGRpbmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVw
eCkuID0+IFBBU1MKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgcmlnaHQgcGFkZGluZyBv
ZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4g
UEFTUworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSB0b3AgcGFkZGluZyBvZiAyNSBwaXhl
bHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4gUEFTUworCitU
aGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gcGFkZGluZyBvZiAyNSBwaXhlbHMgKDEw
JSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4gUEFTUwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3BhZGRpbmcuaHRtbCBiL0xheW91dFRlc3RzL2NzczMv
Y2FsYy9wYWRkaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWNlYTdjNzM4ZTliZTMwN2YyNTllMTQ0ODUy
ZDY0Y2NhYzUxOWIwOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9w
YWRkaW5nLmh0bWwKQEAgLTAsMCArMSw5OSBAQAorPCFET0NUWVBFIEhUTUw+Cis8c3R5bGU+Citw
IHsKKyAgICB3aWR0aDotd2Via2l0LWNhbGMoMjAwcHgpOyBoZWlnaHQ6LXdlYmtpdC1jYWxjKDEy
MHB4KTsgCit9Cisuc2ltcGxlLWFsbCB7CisgICAgcGFkZGluZzogLXdlYmtpdC1jYWxjKDEzcHgg
KyAxMnB4KTsKK30KKy5zaW1wbGUtbGVmdCB7CisgICAgcGFkZGluZy1sZWZ0OiAtd2Via2l0LWNh
bGMoMTNweCArIDEycHgpOworfQorLnNpbXBsZS1yaWdodCB7CisgICAgcGFkZGluZy1yaWdodDog
LXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5zaW1wbGUtdG9wIHsKKyAgICBwYWRkaW5n
LXRvcDogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5zaW1wbGUtYm90dG9tIHsKKyAg
ICBwYWRkaW5nLWJvdHRvbTogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5wZXJjZW50
LWFsbCB7CisgICAgcGFkZGluZzogLXdlYmtpdC1jYWxjKDEwJSAtIDVweCk7Cit9CisucGVyY2Vu
dC1sZWZ0IHsKKyAgICBwYWRkaW5nLWxlZnQ6IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQor
LnBlcmNlbnQtcmlnaHQgeworICAgIHBhZGRpbmctcmlnaHQ6IC13ZWJraXQtY2FsYygxMCUgLSA1
cHgpOworfQorLnBlcmNlbnQtdG9wIHsKKyAgICBwYWRkaW5nLXRvcDogLXdlYmtpdC1jYWxjKDEw
JSAtIDVweCk7Cit9CisucGVyY2VudC1ib3R0b20geworICAgcGFkZGluZy1ib3R0b206IC13ZWJr
aXQtY2FsYygxMCUgLSA1cHgpOworfQorPC9zdHlsZT4KKworPHAgY2xhc3M9InNpbXBsZS1hbGwi
PlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhbiBvdmVyYWxsIHBhZGRpbmcgb2YgMjUgcGl4ZWxz
LjwvcD4KKzxwIGNsYXNzPSJzaW1wbGUtbGVmdCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEg
bGVmdCBwYWRkaW5nIG9mIDI1IHBpeGVscy48L3A+Cis8cCBjbGFzcz0ic2ltcGxlLXJpZ2h0Ij5U
aGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSByaWdodCBwYWRkaW5nIG9mIDI1IHBpeGVscy48L3A+
Cis8cCBjbGFzcz0ic2ltcGxlLXRvcCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgdG9wIHBh
ZGRpbmcgb2YgMjUgcGl4ZWxzLjwvcD4KKzxwIGNsYXNzPSJzaW1wbGUtYm90dG9tIj5UaGlzIGVs
ZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gcGFkZGluZyBvZiAyNSBwaXhlbHMuPC9wPgorCis8
ZGl2IHN0eWxlPSJ3aWR0aDogMzAwcHg7IGJhY2tncm91bmQtY29sb3I6IGNvcm5zaWxrOyI+Cisg
ICAgPHAgY2xhc3M9InBlcmNlbnQtYWxsIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3Zl
cmFsbCBwYWRkaW5nIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBt
aW51cyA1cHgpLjwvcD4KKyAgICA8cCBjbGFzcz0icGVyY2VudC1sZWZ0Ij5UaGlzIGVsZW1lbnQg
c2hvdWxkIGhhdmUgYSBsZWZ0IHBhZGRpbmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdp
ZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuPC9wPgorICAgIDxwIGNsYXNzPSJwZXJjZW50LXJpZ2h0
Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSByaWdodCBwYWRkaW5nIG9mIDI1IHBpeGVscyAo
MTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLjwvcD4KKyAgICA8cCBjbGFz
cz0icGVyY2VudC10b3AiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHRvcCBwYWRkaW5nIG9m
IDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLjwvcD4K
KyAgICA8cCBjbGFzcz0icGVyY2VudC1ib3R0b20iPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBh
IGJvdHRvbSBwYWRkaW5nIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBw
eCBtaW51cyA1cHgpLjwvcD4KKzwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisK
K3ZhciBpbm5lcldpZHRoID0gMjAwOwordmFyIGlubmVySGVpZ2h0ID0gMTIwOwordmFyIHBhZGRp
bmcgPSAyNTsKKwordmFyIHRlc3RzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInAi
KTsKK2ZvciAodmFyIGkgPSAwOyBpIDwgdGVzdHMubGVuZ3RoOyArK2kpIHsKKyAgICB2YXIgZWx0
ID0gdGVzdHNbaV07CisgICAgdmFyIHdpZHRoID0gZWx0Lm9mZnNldFdpZHRoOworICAgIHZhciBo
ZWlnaHQgPSBlbHQub2Zmc2V0SGVpZ2h0OworCisgICAgdmFyIGV4cGVjdGVkV2lkdGggPSBpbm5l
cldpZHRoOworICAgIHZhciBleHBlY3RlZEhlaWdodCA9IGlubmVySGVpZ2h0OworICAgIAorICAg
IHN3aXRjaCAoZWx0LmNsYXNzTmFtZS5zcGxpdCgiLSIpWzFdKSB7CisgICAgY2FzZSAiYWxsIjoK
KyAgICAgICAgZXhwZWN0ZWRXaWR0aCArPSAyICogcGFkZGluZzsKKyAgICAgICAgZXhwZWN0ZWRI
ZWlnaHQgKz0gMiAqIHBhZGRpbmc7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgInRvcCI6Cisg
ICAgY2FzZSAiYm90dG9tIjoKKyAgICAgICAgZXhwZWN0ZWRIZWlnaHQgKz0gcGFkZGluZzsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSAibGVmdCI6CisgICAgY2FzZSAicmlnaHQiOgorICAgICAg
ICBleHBlY3RlZFdpZHRoICs9IHBhZGRpbmc7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICAK
KyAgICB2YXIgZXJyb3IgPSBbXTsKKyAgICBpZiAod2lkdGggIT0gZXhwZWN0ZWRXaWR0aCkKKyAg
ICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgIiArIGV4cGVjdGVkV2lk
dGggKyAiLCBidXQgd2FzICIgKyB3aWR0aCk7CisgICAgaWYgKGhlaWdodCAhPSBleHBlY3RlZEhl
aWdodCkKKyAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9mICIgKyBl
eHBlY3RlZEhlaWdodCArICIsIGJ1dCB3YXMgIiArIGhlaWdodCk7CisKKyAgICByZXN1bHRzID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKTsKKyAgICBpZiAoZXJyb3IgPT0gIiIp
IHsKKyAgICAgICAgZWx0LnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICJncmVlbiI7CisgICAgICAg
IGVsdC5pbm5lckhUTUwgKz0gIiA9PiBQQVNTIjsKKyAgICB9IGVsc2UgeworICAgICAgICBlbHQu
c3R5bGUuYmFja2dyb3VuZENvbG9yID0gInJlZCI7CisgICAgICAgIGVsdC5pbm5lckhUTUwgKz0g
IiA9PiBGQUlMOiAiICsgZXJyb3Iuam9pbigiLCAiKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9yZWZsZWN0aW9uLWNvbXB1dGVkLXN0eWxl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9yZWZsZWN0aW9uLWNvbXB1dGVk
LXN0eWxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZTc3NDFiNGE3YzU0ZTgzMTU1MTIzOWE3
MGQ4YmQ5MzI1MjE0YzFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L3JlZmxlY3Rpb24tY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjIgQEAK
K1Rlc3QgY2FsbGluZyBnZXRQcm9wZXJ0eVZhbHVlIG9uIGNvbXB1dGVkIHN0eWxlcyBmb3IgLXdl
YmtpdC1ib3JkZXItaW1hZ2UgcHJvcGVydHkuCisKKy13ZWJraXQtYm94LXJlZmxlY3Q6IG5vbmU7
CisgIC13ZWJraXQtYm94LXJlZmxlY3QKKyAgICBnZXRQcm9wZXJ0eVZhbHVlOiAgICBub25lCisg
ICAgZ2V0UHJvcGVydHlDU1NWYWx1ZTogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KKworLXdl
YmtpdC1ib3gtcmVmbGVjdDogYmVsb3c7CisgIC13ZWJraXQtYm94LXJlZmxlY3QKKyAgICBnZXRQ
cm9wZXJ0eVZhbHVlOiAgICBiZWxvdyAwcHggbm9uZQorICAgIGdldFByb3BlcnR5Q1NTVmFsdWU6
IFtvYmplY3QgQ1NTVmFsdWVdCisKKy13ZWJraXQtYm94LXJlZmxlY3Q6IHJpZ2h0IDUwJTsKKyAg
LXdlYmtpdC1ib3gtcmVmbGVjdAorICAgIGdldFByb3BlcnR5VmFsdWU6ICAgIHJpZ2h0IDUwJSBu
b25lCisgICAgZ2V0UHJvcGVydHlDU1NWYWx1ZTogW29iamVjdCBDU1NWYWx1ZV0KKworLXdlYmtp
dC1ib3gtcmVmbGVjdDogYmVsb3cgNXB4IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAg
MCkgMjUgMjUgMjUgMjUgc3RyZXRjaCBzdHJldGNoOworICAtd2Via2l0LWJveC1yZWZsZWN0Cisg
ICAgZ2V0UHJvcGVydHlWYWx1ZTogICAgYmVsb3cgNXB4IC13ZWJraXQtZ3JhZGllbnQobGluZWFy
LCAwIDAsIDAgMCkgMjUgZmlsbCAvIGF1dG8gLyAwcHggc3RyZXRjaAorICAgIGdldFByb3BlcnR5
Q1NTVmFsdWU6IFtvYmplY3QgQ1NTVmFsdWVdCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9yZWZsZWN0aW9uLWNvbXB1dGVkLXN0eWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3Mz
L2NhbGMvcmVmbGVjdGlvbi1jb21wdXRlZC1zdHlsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlMTVkN2Ex
Yzc0NjczYjI0NWI3Y2Y4MTVjM2YzMDUyZmU3YjdjMTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jc3MzL2NhbGMvcmVmbGVjdGlvbi1jb21wdXRlZC1zdHlsZS5odG1sCkBAIC0wLDAg
KzEsNTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+Cisg
ICAgICAgIGRpdiB7IHdpZHRoOiAwOyBoZWlnaHQ6IDAgfQorICAgICAgICAjcmVmbGVjdGlvbk5v
bmUgeyAtd2Via2l0LWJveC1yZWZsZWN0OiBub25lIH0KKyAgICAgICAgI3JlZmxlY3Rpb25EaXJl
Y3Rpb24geyAtd2Via2l0LWJveC1yZWZsZWN0OiBiZWxvdyB9CisgICAgICAgICNyZWZsZWN0aW9u
T2Zmc2V0IHsgLXdlYmtpdC1ib3gtcmVmbGVjdDogcmlnaHQgLXdlYmtpdC1jYWxjKDUwJSkgfQor
ICAgICAgICAjcmVmbGVjdGlvbk1hc2sgeyAtd2Via2l0LWJveC1yZWZsZWN0OiBiZWxvdyAtd2Vi
a2l0LWNhbGMoNXB4KSAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDApIDI1IDI1IDI1
IDI1IHN0cmV0Y2ggc3RyZXRjaDsgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgorICAgICAgICBmdW5jdGlvbiBsb2cobXNnKQorICAgICAgICB7Cisg
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1zZyArICdcbicpKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGZ1bmN0aW9uIHN1YlRlc3Qob2IsIHByb3ApCisgICAgICAgIHsKKyAgICAgICAgICAgIGxv
ZygnICAnICsgcHJvcCk7CisgICAgICAgICAgICBsb2coJyAgICBnZXRQcm9wZXJ0eVZhbHVlOiAg
ICAnICsgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShvYiwgbnVsbCkuZ2V0
UHJvcGVydHlWYWx1ZShwcm9wKSk7CisgICAgICAgICAgICBsb2coJyAgICBnZXRQcm9wZXJ0eUNT
U1ZhbHVlOiAnICsgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShvYiwgbnVs
bCkuZ2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wKSk7CisgICAgICAgIH0KKworICAgICAgICBmdW5j
dGlvbiB0ZXN0KGlkLCB2YWwpCisgICAgICAgIHsKKyAgICAgICAgICAgIGxvZygnLXdlYmtpdC1i
b3gtcmVmbGVjdDogJyArIHZhbCArICc7Jyk7CisgICAgICAgICAgICB2YXIgb2IgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZChpZCk7CisgICAgICAgICAgICBzdWJUZXN0KG9iLCAnLXdlYmtpdC1i
b3gtcmVmbGVjdCcpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQor
ICAgICAgICB7CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAg
ICAgICAgIHRlc3QoJ3JlZmxlY3Rpb25Ob25lJywgJ25vbmUnKTsKKyAgICAgICAgICAgIGxvZygn
Jyk7CisgICAgICAgICAgICB0ZXN0KCdyZWZsZWN0aW9uRGlyZWN0aW9uJywgJ2JlbG93Jyk7Cisg
ICAgICAgICAgICBsb2coJycpOworICAgICAgICAgICAgdGVzdCgncmVmbGVjdGlvbk9mZnNldCcs
ICdyaWdodCA1MCUnKTsKKyAgICAgICAgICAgIGxvZygnJyk7CisgICAgICAgICAgICB0ZXN0KCdy
ZWZsZWN0aW9uTWFzaycsICdiZWxvdyA1cHggLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwg
MCAwKSAyNSAyNSAyNSAyNSBzdHJldGNoIHN0cmV0Y2gnKTsKKyAgICAgICAgfQorICAgIDwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0cygpOyI+CisgICAgPHA+VGVzdCBj
YWxsaW5nIGdldFByb3BlcnR5VmFsdWUgb24gY29tcHV0ZWQgc3R5bGVzIGZvciAtd2Via2l0LWJv
cmRlci1pbWFnZSBwcm9wZXJ0eS48L3A+CisgICAgPHByZSBpZD0iY29uc29sZSI+PC9wcmU+CisK
KyAgICA8ZGl2IGlkPSJyZWZsZWN0aW9uTm9uZSI+PC9kaXY+CisgICAgPGRpdiBpZD0icmVmbGVj
dGlvbkRpcmVjdGlvbiI+PC9kaXY+CisgICAgPGRpdiBpZD0icmVmbGVjdGlvbk9mZnNldCI+PC9k
aXY+CisgICAgPGRpdiBpZD0icmVmbGVjdGlvbk1hc2siPjwvZGl2PgorCis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvcmVzb3VyY2VzL2FscGhhLWdy
YWRpZW50LnBuZyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9yZXNvdXJjZXMvYWxwaGEtZ3JhZGll
bnQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmIxZTUyZjgzYzE1ZmYyYjkxZjVmYWQ5ZjM2YThjYzZiMDU2MTg4
Y2IKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDg4Mwp6Y21aQTBUfVZANTd6Z216P1lJdT07I15k
SXBsfjg4cVdTJDxYYENhb1Q5bm83ViE+ZH1fSk5ob1oxbHliOWchPnkKeiVyNSRyaVZDYEBDS2du
cHR3V0c0RyticDxxWUZiUjFJZyYzMz8rTDBiQWZjUm93TUtqZjhYPUcmd0YtZVhYUiNuCnpMUnRj
Mk9tRXNeR31BU041M2klfGA8QjJweF5RbEp5VWJXKldOMyNha0FBMG1EPWdrQmtJUT8rLXNvaHEh
JkJvRgp6Tz83cyspOWtjNmp2YWpFRU0tZ15aISpmZWtBOWVuKVZBdVkoXzIwck82alhWRnVKIXtD
fnV5Jm9mZ1ZOPWdWZTsKelNJMiQrWmQqeHFjaT96WD9mbXY8dXB1WXF0V05EY0hEMnUyM0gtSnRB
eTItdj10cUIyU2VZeCheNHpMfmlJJnRHCnorVFpvTU5oeD9hWnZEQVZtdylqQFlwTnZYPj1MaVBX
Kk1RPyRpSmJ5Rkd1U1lyJEhNKTV1KUIpcUU2NlMmfDQ1dgp6Z1A/clM1SyQ+b1pKLXNQRmJKdCVw
ZmFNeVZXTipuSnFCZmgtaHElQjF7SCRkNklxZUUyd0RrM1R+PyZOZll5T2YKelM0WGFQel9WfWVe
OGpIZVh7XmJnc0xBND1oem85KkNlQ0pQa2skQ09XWD51eSRkV2tMOGxTflM2QU9rb1AwJko8Cno9
T3ZjbUliUnBlISUlRiZtPyRoTmxBNEBvNiRFfiFNd3k+VVZhMT1sRWNYMD1Zb1E9ZmAySXBPVXFH
fUhQN3xIPAp6VSM7ck54ez8hanUpI0loQWlDVXZKLS1DeWczI3IzYmZ5S2c5RTJ7WEJRKj0hTmJ+
PypvPGdiemx0cS1jcE57P1QKejYqfjN8SShBMTd5JFBjKHFEUD1pJl9qQGVzMGdHN0p0Zi1YQ1c/
UnhMNENDSHkmX3VxRTtfeXk0fGA1ekM/QEkkCnpuZStXcF4tYngqQzdNeC07U21oeShRdVdFRFhM
TDE2d3JNbHFUd1ZfbjM8SX0tRCtQZFFHKjFZPVF1aDVNU1Y4ZQphIzxaKzE/ZUA+Rj9PaDd9WW5a
OGAoaWtZT1p1JCNuZ2dJZFYKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NzczMvY2FsYy9yZXNvdXJjZXMvZGlhbW9uZC5wbmcgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvcmVzb3VyY2VzL2RpYW1vbmQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxMTEyZWZjN2NhYjVi
MjBhODZiYWU5ZTRjMmFlYmQ2OGE1MjMwYjAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDE4OAp6
Y21lQVNATj8ob2xIeWB1VkJxIWlhMHZwXkFUfTJWODw2WlpJPT5mNEYlfTI4SjI5Kn5DLVZ9PlZO
M0ZNY1ZRQEkKej13VWNfYEgrcT1QPXZGPEJlSXgqZm07fWE4NXc1SGtwSyNebXc1V1J2ZnBBQT1D
bHljVGtzJG5DfWlYNTt1cz12CnpkRmxqNUpfWkd6TGtJcjxtLUpWWW1PM2k4eSlCaVlPQFZYTGBJ
a1pRbFYoP1Z0dSlGSG4pLTgrN187S2ZtK1I5ZgplUlpTNEhXOSl2U0BWa0RecUZYPzc3KDhBNVQt
R0B5R3l3cGlLe3N2eQoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL3Jlc291cmNlcy9tYXNrLnBuZyBiL0xheW91dFRlc3RzL2NzczMvY2Fs
Yy9yZXNvdXJjZXMvbWFzay5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjc5NTdlMTM0MzkwNmE3Mzc3NDA3YTc5
ODEyODJhMTg0ZjhhMDA1NApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgODg5Mwp6Y21WO3VCMH1B
WFApPGg7M0t8TGswMDBlMU5KTFRxMDA1LWAwMDUmMTFeQHM2PnZHPTUwMDBrNVgrdUwkTmtjOyoK
elA7emYoWD40VHgwQz0zMFM5dnRtLVBobVdkI2AocSpFfjx4NURfSnIjfCYzOCZtIVR2PURCOyNB
QFFXbExvfj5jCnpzZ05RbWkzJitsI3h6S3hsMnBoT25aa1lscHFfV1YmLSQoM2RpTmheZWFgM1hl
Zkg8PGJKalgqMUYjRWBMUEc7bAp6MDF5LSRNekp9ZFBkTWJ7T3UpU2NHJXhgdDVQKnE5cmlTV1NT
KCg5cXc1NkFUMDAyQ2ZDeHdPdjhrPStwZSthPGsKekVFfkNTJSUyfU5ffElfdzBEenwpYSZpVmg8
TiQhblhBQUVLMDR8UiRZekZ7Ymt6dGA+MEVqT0RhRkttVW8mWlFKCnowTFc0N1l6elI5RGdlT3lZ
fmVjcWZjTXpLLTJpfShBcDMqP0FnPStpOUtvSmAhMnF9ITBJWkl1N25LWnZtamVKIwp6UGJ4Vkcw
R3x6aihnX0wqQGRSS1MwRHp0M1ApWm04K1g/X2s5JiZPZlkpTipIMXlFLU9wbGtoeTMhd25peTgj
SEwKentLSDkyMU10KVYpUXx0ZUUhWTQ4MDA+ViUpcTleSjAwMUQmYFQldEFYdFZfPjA5LUQ+TWg9
Ymt0QmdrNUM8ajJsCnoxIXhOLWhmXlo5PnhDZV8wUkxeaWI+P2tEQkxGQT41Q0sxVWdTYTg8cn4m
alM5UmQ1Q3t5Q0V0OT5aM2BEYXN3cAp6VGdxUHw3JD5ZTkdDYG48KElqRmVlQFRUKVBzIU5KY0Y0
KWRYWVhFQkBZd3ImcFJyUUFpbUdheytKPVVNPTRHdlUKejljQTUhe1lgcG4ySEoqNiM3PzZYV0FU
SGdDak89OyU/aSF5RWpsZW50bWJXKVktUXxoPnwtNWo5WT51UW9zfHplCnp4bG9USnhTbilOYUhv
PVRKekJ9JXlvOX4mZGB8bXpfXmshKDNHQGljM2Ekd2A2WTZ1K2tnfCZeNVhLKFA5PkUoYQp6OG5y
V2VQbUl6cnR5cUomMU14PTNeJUstaSRSLUxWRig8QTZIRnhxdV4yPHxDUEIqN3FQUiZrPlBBNnJV
V355Y0YKeiVvZmFIJWNhWCpKVHNveG9uTCE0PnMtKXooK2olX208IzRGekFDKDVSOXFaVVZ0UHNC
KHArZ3ZTI3I1ZWc9b2NHCnpXIXZUNERgOGNLdEJFeXh1THtAVllVaSNFVWNYdXdUVGleZmRFPE0t
K25hcmo/WUhqVXU0fTVpUV8hNHRfZ0lUKAp6dEx7Q3pkKEhRJDUwb0NQdz5Abnk/P2B5KS1sX0xV
eWJJbStAb2Bzb2BJRmNsPiElVj1lPmBqTFA0MlZrPWpuZXAKelAmdyFgQnQ3KWBkSEp5RzN4Tzll
VWdve0JkKEhjTFleM31SY35vcmwtUGA7el5MTG5jRSNxTW0zS1FTb0grLU9lCnpSUSZqVF43MUY9
RGR3cldwTTlyIXJhUWxjZjBoMF5fTntRblpXY1hURnQ9bF9eZ0d9ODxuT0VWZ0AxZWVBVEJVMwp6
V0clOFVydkdJOG5aRzJ2Xm00Zys8QClPOHg7dT5xMEs4eFlSfWctcjdVaFJfIW88XiE7IStzbW5D
ez5PKkBgJkAKenhyMkM5YEh1QDQyI3R0bmlzbGVMaWZjKCtrWClCP2w1VWxlbEZpdClBbiZ9cFUx
NylHelo1NXdiZCs7Y0tCXzZICnpNYF5UWkVeNW9eOU0oPFMtPXoxPjBBb2xYP2wqRWM7Qk9wckZ4
ZSFfXnRAUyNkNCl4bFd3cTUrPmpzLWd3cXRmYgp6OUklZGpoanUjY2JKalYwentUPjJnUjgzPioq
JXlQO2M8ZVQ/T0ViZz1sIyY5Ji1ieGtxa2w8Mk4/PSUhTjNkMGgKelBOQDcqNWVnZD5PPGZMfjMh
alBAazktc0xJe0g9MkBVaDw1bWJqdyRuQiZkfis5eEN1bkd6UzEje1lWRHZOXmYoCnpSTXpSMzZy
V1ZmR31VeVdiWHZ3bFc/TlFxYzR8Jj11RVFENEprZmx9QTN1QlYtMStsSUZCbGh5NmY5aFBSRzQ0
bgp6VTk0UCFEKFN5ZVFoS3peekZmT3ZNPHU+Oz5HSWY+aGdEVjg9ezJFTz9QfUdvMzBfO2p7O3V2
cGVjNnF+Mkc1KHMKek12MkM/VFRnRmFYYlFaZStzeFZnPCEqYVJRRVNYU3J+NFdZTUIzMThVKXA7
Kz9tUjUrSnBHODs8QHtLXm8zO0RuCnpsY3RfQ1BlWSFXX3NhRkxedig0VDRBYyF+NEVhM1E4Umko
Q2R7T3JAQHxFVlJfMTdJRSpXTUoyb19jJDklPC1NKAp6eFdNQDBNRjBFcDU3ZHZrbE1JdFhwVXpH
PmVIUXZXSGVLfF48KlY0JiNjeGskYSVVYXExbTwzUyZ6cmFXOH4xblQKemp9ckBlaTxyZnNwRVhO
YSVnSFBHdDUxR2VZeXtEMDBEdVB0QWoxX3tNYWFsbylKZTF9Q1c+d2xtJSRMb3FgXkZnCnpQaTEz
YTU5RGEhK35BaHNHMjsjM0pJMD9Wa1N2JVhiWEtAYjxlRiRSO2kxQDVAcVVSeCQofGpwUVo+QH5K
N1otPwp6dmN6NG9hX24teTxVajhvLWc5NH1XTik7aF4qLUBeYjRwRmgkNW82fW5OKXw+TzROZmpo
Py0ockQ2TFEwLTh3YjgKenJ9biQrRGQ7V2gtIVY5NVhoVCNyNTs7SkJWOE05Jjs0X211cmtCaTsm
MyFCa0V4dVQwU25hY1ZaKytJciU5aEpeCnopVUx1bCpnQDQxOUdATDNhUG9GbWE5JW9tKlg3c3w/
SVdBNj9RU1JDJX1BVzI1c3hDV3RFWjZYaH1UKGY4eV5tegp6VmMmQ3BOQmp4Pzt7azwlanpPJEpV
QlU0b3N2JG9APnlJOSNzOENqQHg1R2xpQ0J0N3VCdTZTbmp6eWkwUipMPSoKemxZNUw5aTtlQSV5
QlAwKFRyK193VmRPLTRxSVomNSh5UEJ4UEM2d2tvTUpnT2JHazMoTXJ2TUtSSnZuXmF3Y28kCno+
I1U0eSQ/U1ZNdURRNn0jeHdxVGw2bWoqRlAoS2VDd2d4M2VDLThsZm9qMygjcGM0dUJJVG1SOz5N
RWpPWGA8NAp6T0NPYmBtME1UdlJFJD1aVWlRMTlRaVpMMFF7N09MZERYd3hAUzRjQTw/R011Pmcl
Jl9MXlhLY2Jab1N8V3FlencKelk0MDZFR2hfNG8tUWt3b3QlZGd6Pyl5QmpZMTM8MD5yaV5BKVQj
MUZ5LVZZPFREUmc4c1VFSkx3V2t4a0BfcDM8CnojelhqRm1ZM3VhcDB+YWVyJDJTZ2R8cjtEKEV6
c29KXiVvJDNjJEg5MEVldnI+QEVVaUlzaXlsMEMya2xTZ2A9dQp6c1JQUG9DIW9YKjA3NFlgXk00
M3s4clhtejlFVGh6aGVxZ3g9a05qTVZIMDZTMVE5dHozJFp9bGt1YzttUWo5YnIKeiZ5WG47M01H
b3RMQWp3NFFCfG1aKUN5VzBaSGJPV1VxejIlU1RLNSsydXYremwxX3hxaTd0PEI1WCpgKyRFSU8+
CnphMTF5VFRzbSUkb31acGZVcWA+bVY5OEw8dSp6dTdjJEpCY2lOdGlEUyYldH5kNXB6fnIyJFhD
cEo4UVNPPVA5OQp6I2okTyQkOCFNMzJ+SVRVMmArPnlmZzg5SmRGWGkzZEhIeSZgU2tmZEBUVXJC
MyVuNVk2ST5VezZjIVZ7RFBrLSMKekRqR19fNWxZM2gjbTItRkJyR0o9Yl9uY1Bseko/a3p0ZEds
TkBoO0JZMWNfUGR3RUl1clFOLUlzdWp9cWhBRGROCnp2c0UldSk+UFQ4RHliJUAmWmktdURYdH4y
dCpMV1IqS1dWN297eFU4TDdaVmVAcktiJFY+cjBpI0xNKSZTJiNYZQp6ckhxeEFiKTdCUElvcjI3
TiomNX1UMDg5UygmZnRTPUlVTmFuanghcnA3SSpeRzQ8e0NjTF44e2tfKE94ODh8OUwKejM4dUQl
XkYpTTJ6S2tadWpLKCZ7cnpIP2klcTFuQzxWaHwmdCZxfXxXfCNnY0did3ZsJmlJKjx7Sj9XTTdx
fD1OCnozO1Q9UEZFeTM1UjZNLWdVb30rb3l0ZTBoWFo+KSk+QEQ2VmdYVn5xT1pWQ3pqSV4oR05f
WThvdz8zOFZQNDhiRAp6YXZRJDthJXNmdnQ7VHJVJEo8bD4oXmcrU1d9b35gUy1pRkV2UCU4TXpF
MFlaLSZvbTlyRDE3RkcjVVZpZ0ZZT0EKejIqYGtQWG80T1hnRTw1Y2MwP1JlTFdxYlg7KWxje1N4
NSFhajBfLU9QLXY3V04qbT5oTjw+d29VWkpzUUhGTjtGCno3KElsK1ZZRHp8bXxEIUk/VkJJTXZT
QlQ7KzFNYyo1NiVUd2p7OFFoTFozdUckUk5mTCZkfGRzJktTPSklQjAwcQp6JSMzMzhYQzd3UiYo
ZVVHeiEkSmB2U3pjZnZFe0p+dSRPVns9NGp6Rz1iWWRRPWYtZW5eTjh9PzszZXtvQGBkd3IKekA7
MzxCMyM8djIzTE87c0RPQDZBRjB2K2lnPHZtNkN3NWJ1RUZtdU9MJFlmfXV+ZWtBPHhVd0h0anRI
KndwfUgxCnpAJCM7X3dmQmhacCgley1lVnx5akAzZDAxYT1jMnE+TiZNQ149Z2ZxbnlwJDd3Uj81
bT16aVAzcF5yQ15INiMqIQp6amp8ODQ4aDx4b0d1MVpwRitYcTdZc0Z9TiY/ZClyJXdFQUUqPlRk
eiohakFQej55NXM0Uj00JUVpIz5fbyExcmIKemJ6Y1grI3NLY1gkZV4oaCFfWFRQUUVFOyZJd0JA
PUp+fCp+QXZQO3NAcCN7ZnokQXZoJTlHVmtKeGcmLW9sVEYpCnojQVJLYDV6QjROKTZlZmE9WCpp
OFY2M3BEKiFtSihYO1ptPnJOSEloc15sN0NFISh4cHh7ZXpTSD9RNCMoQTNwVAp6WF8wQ2p5PGdO
dT9valJJZjMqMntAeVk1bHJhczk1aT1rdH5eKUZ7ZjxWSDJkaH5wOU84eiQrZFQmNXA9bGJudEoK
ektKKXsjJGgqWTJKaCZSTkhvbmZZZiEhRn1FVFVQXlhhSnhOTDY4VEhGYVRjPkt6STsyIX5rKFlC
OVN4NTRQKiVVCnppNHNCP3B7U15HKU4zPncrNjB8fj8hfENwVHJ0JntwTDdPdlhYcmoqSEwkdFpT
KTNgWm99UW9uNiNYaGcyKlZkZgp6RlVBaXs/bzh2JT8jIVFBcVZSWnBFdnElXzJIUTF1NShoVSY0
YCghJjZ4U2VrSmRacmoyaXtebkZNZjNhQSVWfD0KelNBPXxvckc9K091OE17YilXdlhPWl5pRk9l
QlF3PXI2Z148KF59P2B0bWBnK3hoVk8+LThwLSVEMEo8ZS1OJmF5CnpSSG12RnRNO21jaEtePkVS
LWNacnVKOFReeSleQDQhXj1qRDJPXkU5T2BKXzFuPTRyNFNzflZtd3lidEY0emBDLQp6UDdRfSRr
RHklPi1QVENLOWA4TDVkJWc5Y2BpYzV+M0plSUUyKGI+bVBtIVkqZ2ZtN1lNSXE3WSRHcWJ6a0dH
dzsKenBIeSkmP3YhPGtibjA2QWdVcXlTUW0kVH0+eypga2FOK0M0ey1YTWx7TDtBY3opR2hwYHFo
TSo8PVcyYz5HZ0lFCnprfmYhY2J2Sz1CQ2JiQis0JjBBITZLZH54ODJVKTZZcjRDIUMtcz9VcFQr
PiE7T0ZQSlVxcnYhXkxwWTwpPzNaNwp6RlhKV2U0fVgtTFQlR3piSl50MDtUa0s1ZloxWV5sX1hx
UDtmMmFNaFUqS0VsVGE1VEFgbT02SGVXYFBLfDhtYG0Kej10fTB3IW03ej8rM008PSltcHtjPFMp
cnpVY1Z9VE98NDY8ZCN+ckwtJj4jRjtNfnlOQFpaU2FYeTJJRzxsOGpmCnpKaWQ4KmJBfjJDYkVm
NmN4QGswa3QkcW1yMDJtRUkweilWU0dYdWxfKCVrKWpFaHNTamNNYzghVT1IQE11LXdNZQp6cDx6
fmIwS2Z3UFl0I3JeQV5ALWZBWipAI01oQ1lzIUlOWlkzSUlYP2goZTY3ZmR2M0MxMFpKSjZlRjlo
ZVVMLWAKekJvaXdEenlsIXVVY3ZVWitrOH1McHExRytQN012eXcqZGU/MEhufjFPOG84OTd+Xlpf
eEU8Uj8zQWVFYTA3KEYzCnpJM1VFLVc7QHI0cjxkV2pIV1ZmfSg4NnA+R202VkU/NFRWMFp+PnJY
ITNhbnwwVXopSmNgeVM1RngoeXFLbXIwNwp6S25QSTQzI2VjT2xSeUVWS1ZBK24yXjhAQUtULTFG
NEo0cEkxYjZgejAkPlUjNWFpflVOQ0NwTyN9Z219MXhPSjUKem5eQ3hgQElfKCQmJDxER0twPSNg
S018KD9WdHk8OSRKWS0kQT48RUZ7Pns3akJ+cFNLeWQlenNMfkEoc1Z4JXlOCno3LWZ0O01qTkFw
UTNuRXMyT3xMVDckdUF2TWh+TmwoWm5jWSljYTxkWDh6PmFzKlQ1PUduenNtY3RKUSZ6emMlXgp6
UldJYFlRVWhEUEl7Kk5kNFdLWHkwSEF7JXxGM3J6PGBvcU4wQUxVajhjcCVAQGVMI0JnQHkpdCRx
XjApbFh1R3oKejZjclRJO0N9JH5yZ0ljWGFpaXp9MDIzYHFMX3QofG9iOD1xbXolcn1ncTdefXty
fHRXY1E/NW9UNll5aUJhSTlNCnpMcDxramFLSklmZWkrIyU/T3RTRFVHfWNQOHxjMXcxdzQoPUBn
dms+PlFUR0d4KDUmdyFzRj9za2lINiNITGYjWgp6VWFtRlorOG9mV0pHeHJfMWFDaThWY1FKT3Rz
cjJfVHwzYFlFKjdTPl5VKyRudnpoWHVKV0libjwlPEMpJUNxJFEKekM5VCFMU3ZseEBeKkQyX3Ni
fT43UzNTPDJQcXA7fiM1LXE/Rj9wRDRPfnRBfVd7KXY+Km1KM3Ribis0eUdjWHgmCnpuUkQtfDNO
ViQ9Rk0rZVNMbzFMVjdefl4oYj5DNkZGZktffnViWmw7QmlZZEUhTHtVQWJvfmtCa0UtR0x6UVZF
Uwp6K1I8QFdZcG8rQFBTP0FTKG91Yj9kNSklQCo+TDgxejU2SH4pZCNCNVZRVD17ZCgwfkB0NT5F
WXp9aD11S3RMaUcKeko+Yn01LVpkQTJgTj9EbyNKWGFYWDdadEgqKSohI1M7Y2dJPTg5NEpFYFFw
dzlvSzFsSnRpTmVDMnYkSnU4Mk5JCno9ZSU7ZmVOQE5GYDZIO2hNaV8tJjQ/ejFsSV9IJlI+cmtE
b2klOT5OdE92LVI0VjghTHp8e1JMczw8VE1oJmBLRQp6OTt5UlZjTTw2ZS13Y296b352ezJMWSU4
T3Ila2k+RnVLPzxTUGokQmMxekJRSmNubzwhV1ZffDQ5Y2tVRzlXVm0Kem5SRXFDdyFUTiNRaXNl
U3l2WXdwX1BFSE97P1g7eUkoVDRPZ2BoQElNcSNAR3F6OWJkZCZlUnQ2KD89JHlFVEItCnpeMUJF
OSNqO3Q0dmAlPGFgfElDKmdZKUs7KEV2c0R2MCE9LUxORmBnSX51b1RLdzFkMSZ5MEpEbGd7ZU8r
fE5qMgp6VjZIbChiLSVYUEsoPTttSzsyWVhJJHgjVWJRbmlhdlNGSkFsSEN4ZjktUUsmeX1CTyh6
TiYySkc3Y0hSPXpaMzEKeiopfFFRTkRPQW5SfVNOPlEhKlcwMHJEZ0hqS0Q8V08+eT43VTVfcG5O
KSkwSWZIeDhPN1FjUDlucD9Jc3MrV2IxCnphPzklTStsSSlCTHc9QlpuP0ROYzV0UHd6PDdtbnpI
eU0tYCNGcVkrWENTWlljbXFgQXghc3pKPlFIWDtiamBwJAp6RDNRfiFWTEpvemdaUyhAWHkldz0o
JSF2OV9jQH1YajxqUCoyMXBJJnhCT3x9bWV4UkMlc3hfc1F2fG5aSDBnTikKemNJail6UiVpc0sy
Y1g/UG9xU1BQWFUzUSFlal48TE1rfT1aZzcpNFIoaEprdDlZNXFiYlowPWA8Kz1TKWVROHpLCnpE
V21hUkhpb25TPmghMWh1dldtLV57e242QjhXKXJZJiNrfFk5Ukg3QWB6O0N1OFVzWmpKX2kocERQ
UHhic1dhSAp6cXpCfEBrVmJBQU9AUThFKG8+ej5jdSpvM3plVklyYUM9NXwociY1MFEmfD56SU5y
Tlg+QTdVJm1LSUYzU3g2KC0Kekx7S3NsbytIN0BoVkJlWDFtdV9lMFFuXnQkbW0pWU96b0VDJHho
RTNvb0tAMnR2QX1TcUs1Rjc8ZEY3JkRiN0ItCnp3Xjd2dFdkK0ZBbUtsKDNgKjUhM2ZocHB7KiNz
ZUZvSEZYdkVQUHcxKU5jMy0+fDVGIWI5IVVVWTsyamAhXm56Jgp6WS12NTdNM1dtMDwoSnh7d3pT
dT8rZmBpeUcycVIjMXNyPWd7JUg7KHBAfkVfWTxvYEd3b2pBSjlNZnllR3JERFUKekVhXj5kdl4j
I3Y1MEtnXkoob218WHlJaFRJMkZRfGo0NUB4OypAcyM8IXNoRDhNbG08aG5OUiRHX2Z3Sik3aip2
Cnp4dWt1I3l8NWQ+dUdgKm8lTyh4czt4USVURnZ2OXt4M3E5dGh5MmV1aEd5biN4YUUtKUVke1lJ
YEp3aTw/RjV2Rwp6VVBvcU5HOWxhcndmOGsrRz91S29yM0pGMyhMXlg0VFNqMWRfY0Yzaj14KnJA
TzYhc35XTTlFR0JpQlhhZEhaSDMKejB+NHc7KExvKUhMYnB6UFoqQEBVeyFkfnNxblM3WjxxPUBD
VnFHJHRhZUdsRm4kKXklK0lPX20rV3c2fmMkME53CnpzMEwtJFFEX1dsS1lNVEBBVSgoWVBvNz1W
UEpWaHF4T2IwN2ZVYFF1TDd9XzNXQ1d4Ki1fYEhQNXR4dz9YdCFpXgp6NXN+e0V8SFFVMyhMdTl1
SiZyX1JxRGp4WWo0UE1TeF4+dzBvWGlXO3BKdVBZV1FSPm50QX1xfUk3KE4+bUR4aE4Kekhfayok
TTAtS1dtUEwwNFNxPS1PZVcjN3FCQlNweXpkdTBCTmoqKn1CREZVPCl8T0cpZ0UzbVdXUns1NzVO
O2RFCnopKklkMSRVQGBFd3ZRJHk3REB8YV5jXnFjR2VBYVQlNnN0bnBQMWlNQjR1TXIzbn1gYzF6
SVlLcGhVQjkxbSNoSQp6WjFQfWlkazshSV9TM0hxWkpCcEA5NnhGaHkpNnBZQ159XyZmfEN2M2sh
IVluSG08YkNHUkgpM2VZe3pDQzRAKSEKekhKWU17UDg3UClXSkgmZnozbzkhc0Fzczt6QHRLVzF8
PUZOKmdXPXAyQn1AdnYyYUdBZWQlUCFyYmshcnFQWWlUCno2dFhSaD8zZ2BeTHwpam9fd31HOXZ1
YHc+ajl7JDVpUWJuLT55XjxzTkFLLUBqSHQ/VGtRY3JZa1VDXzA7aEF3cwp6Q1VrZVY+KFY3NUV5
Z2prJCZYSFpLemhKZFhXKDlhTV49d2hkZns1PFl3YyVlKmwxRzJFZDh3M3Axbnxfa2UpZWEKejJC
Pnd1WGw7e1NMPkZnfD9xd3Vab3plcUVPa1Z3bCMldTJnI3ZYXzRZVE1wbDMzPG9SKm9fVjQ1dHoq
RTlmanxBCno3Km4/VSl9ZFFXVU4yLXZLLXhhYjkxPENvSzFRdXFfQmJXdUk/KXM1SiRYQEJNLTlo
MTwmbmNUSk52JUtBTHo2YAp6eytfZEtXKjVeRGtlTT9eWkwzdm89T3U0K15zJWFBZFQ/ZUFpcEhO
N1QzeDJDLT5Rd2JmZyZmZEsoO2dyLUZOdWAKeilCZTs5TUp4dXdYaD8qSDU0MX4pdFVKLU1tMXVp
ISU7NW92aiU4MUVfTFNURHB0X0RHYzEmc1d3KTluPW96aVFnCnpzTz5XbEgpKkBJWFd4LXl2WTx1
e2g4aHIhZz4xYzBCYVF9VTMoNTlhK3VNYWAzdVN8YHhvRmdPejBTeHVXUzJlewp6N00zfHIxdzx5
cXFjRCYxQXxPWUQoOGBBNGMxKipsOVpgcXl0Mn4wcU9qPU5UTWczPjxwISEjSlN6fTN2YEUxVysK
ekg9YVN9OW5UdEBzbi1heVZmJih2VSEzelQmc0Y4PS02VGplcyZEfGMpdEZLWElUWSloKj9BM1Ex
ZzU8e3NeaXs1Cno7Q2NDT0RsTmkrRFRWWDtTfms1fFRkbzBSMXY7Q0BvKWhzSyZWRyk3SkErZCli
PHoxVyRRMitaTlEqaz08QDU0bgp6JDAjaipfcjJ1MTV1NmQrVUw3aHhqc2hRJlMzZSFQNWRmNzMp
d0A8XjdIZiEjMD0rKzdUUHNnPTxHbGB3QH1UUkYKekVIdWZ2bV49fTE1eWFtNCRTb3RTKXxTXmkl
UyhoezU/UzdXayF5XnVvKEdFISFDc2tGXyU+PDd0cnlSMitXVEJCCno2RzRAXkYxcSVwYUMtbEFL
IS1tWTNRPkVvITFjNXBRKksjWEkzLWowd2MqRypCKzRfWW5ESmxsYyR2TlRVNH1jYQp6M2cxMDko
K2RzTGtSIXZHPX5aPiN0Jkx1PlBLaV9yMld2TGE4ZjhfPnBuckAydGAmWFhKSE1vRGNhST1ATGRq
fjIKekBoTmt5Sjw0NEl1WGlta3RQZFkwTXd4diNFZVk0cmNQbn1KUlBTVkM+R2VqcV9rWT9PJTFV
RXdgTHZKSkRJP1dvCno3d3J3RCRpQ3luLU4jUXIlPEBnb3l7P2dHYkJ6R3kpWU9CSDI7fnFAXjhx
eUVjIytXJnBgMUZvQ1hgZGRYO2RmPQp6N2ptWjcpMkw5Y3A/M3JPSDF+VUVENW5tcDNGWHZxbm92
Iytyd1FlXzhoTVBrWTJENVc8O1dkNm1GVFFjR01lQkgKenMmfEhSWUVWcm1yLXN2bmEld25ERDVy
K2dnbVAqKU8oPl5eKH1aJHJJSzRCSll5NU44c1NXaGJQKS1mMXZxRV9XCno3ZCpvfmJtXj42UEhu
NEFBRDlXeylOcTxtUDdTOXNMLX1yRnZlVnF9czhGNyFmdjQmazcwUmhNKWBXNnVJODcrMAp6aFNM
JERvYTBTUy1lMCZxZ3BMU2hxLXFCb3VFWU43c1AoMmEwK2VoNlpgQmJhYn0mPD8oPntRRUwlQyl7
OWo0SS0KeikofnlESDxWVWV4bj8lTHgoRFo4RE84V0cjKW1fV0pDRT11T1lSYHVLSlZlU3VsemVZ
UmU5fGR3YyY4dTZVeFo3CnoqdH5tYnIyMTZhaV47b3QpRUYmJVl4T3BjKlRgIz55Tyo7MlMpPEl9
SmV6MD5yJGtSPDdEQVJaTGV5fj1iP29CZwp6OFRHJCFWUExmM3h6ZElgVjc+JkB0LV5PVTRxUV5e
VTN8QXwkMmBjO0E4X3hqJiNUOWo5KC0mPlYxZXlEemRFUisKek9tcmdQcUp+QUNWO3ZGd3ozaXAr
LUNFaEMxJHs8JlB7Zk1CampwI3pKRnJrOTJlTnNYYV9yfm9HRURAbzF5QUd8CnpORkMwUEJJSzBX
IXo+Y0ZwPzk4ZjtpISZfd1p0aXhqMD58SE41Qzs1JUJ6RnRsJURuO1VxKkhGMEYxV2lKS3Bzdwp6
aFM0amt5ZndsJTw4PHRrODluXz4yVn5IQkArTG5jaHpZQDIpSWphVF9LbSU2Uj00YUpyQntxOEdZ
OGFaclhpIzQKekNpUGA1VThrY3Y8dDtnJW0wezFKWWUjaW17OXlNJm5MUjA0PDdROE5iLVZwNzt8
aXs9VHtIcjNCJlhEfUFvSyFSCnoqfkZ3UF4rY2EzZU07VUBsfWd4U1l7PHhmeUUmaDReN0FLI0ZY
c0czZWdNX3lRRiEwbUErNGZ6d1FYbCV5ZzNfYwp6T0JQNylvWHdOZnBWZldNQEV1dmMtN19IQzJL
TzVIRG5BZjVVQ2VSKSgwVENuajYrYGA8VHx6O2J6OXdwWkBZQFMKenFVLUNydD01S0hGUEB7UEZN
fCY/d3NweEN3az8hKSYtfEk7NSFeRUIqdnUoV0owYSl2ZlElcnViOyM9NXR0eW5yCnpzdzBRZ2Ng
e2RJOHUoaiZLPksjQ1ZaJH44YXMmdCZwfCpgZV9QNXpyVX1ZVEMpPHhIRWFYOWFCJUlHUVMzREZV
Ugp6eF5YfDhiS2RuV2tSRnNyMGFBcEF2aDZMOThjWV99LXE0PWFwSGM8Tio0Z05TajYrNn43U3dQ
SiRaekBNZipMZV4Kem92WSs3Y19nPkFvI3tETDxkb2kpTDBnI3xwP1ptdiRHYWI+SEl7X3o2U0l+
eCtRdm1kK1V3cFZjU2BUYHNBOE5fCnp4MmJOc0ZTRX04VF9kRD5eKHxAYip8JHpkNFRxaj1vJkom
Xmh5MFJmJG48clpPSjN2PS1wbmJ7dUBPe3ROKC1pTAp6JEZ+MStqI29sRGczK3NReDBiJjlXKnJo
dVZtdWYla1lEME1YM018SUJiZV90cmJIcCEwO3g5PzsmcT4oZXljaVcKek5nMCVfVTwtcW5OMXg5
Y0VyVUA1WH5UOHxCbnplWWN8PThTJHZ9eUslcGtSVyNLSVdXUyRfX0o/ZnZPbTZpUUdkCnpBdXVo
QlpQU3ExOEBqNzlZK2VobzRmI2lhKGFMLTliPW5LeCtBWjdtenJSfXJQU2slMFFYJSVDSlNaKUlO
S0VMcQp6MEEqVylHbiE/JEAqMkV0NSk/dEhfY2xHY1EyMV9wNEAmUSQqSEckPjRkPnNJeVFLJGE8
XkR0QGMxcTczXipkJCgKelk0Mz8qOW51VEtgdWVTbT5ecWYtJlFWbTJQOUJzTiVyQyp0aTUkfjlD
cChfWiF1bWg7eXdVTX54b3NPSjhzflUzCnpZITVENXdsM3EtYE9idXJvOXQqUGYxQmVUbCtueF9m
b2JiaygkWGNOQ3xxYW09Kl9VYi0kTDNsVGdhfEpEZT9eRAp6NWRlK2NyS2pDQmU3Xjt8WDAqbXhU
YEtiS0JVRlBqOCVKNylMfUEtJkFwSiYwSF8lbUxoWkx1clJAUjV9ZUdrWVoKeiYlQiNaMlElJUNY
NWtqaC1APUQrNFE0aWB0VUJkZ2dtWCRnbVA4V3x1VGZZcUp5I1IrZUc0VDVudVFWXzglQCNKCnpq
RVBjYzdPdnM2ajtXbjkxMlVWMStqPil3X0txb3wyRCE+fTxGcCZQJTUlN21mVmB7a2VoTUNnb15q
RkslNypUPwp6dVpIbHB3XypGWTszY0NoYm5DUk9tI3VwJDFaQyFxWGNpdjlzNWtyQygzQHB6QW5p
RVBiSUl1U3FEPjJOZHszY0gKeiUpbXJUTCgheHNufmBVNGR6ZGhlPyEmIyQtZF9vIUY9aHM0Nmte
ZjFzS0ZTYClWO0ZCKjt8YldxISFibVVmWkxnCno0fD5afVN0NFM5XnkqSyRySDBhVE1TSEZsPzFr
YH5KVk1iTDFBJjttc25IRm5tdz9iJXZkIUY/bkt3RSVxSEpmewp6akBCVGM8djhTKS18YDN7MCtW
cXw0XlZOXnNWV200P15yaDJqXk1RQUEmMXAyPkNMIyQ+WElVUDctIXdtJmN1O3AKemROWHZMWl9V
c1JrNX1JND1yM3k1TH5oeUEtKTB9cDs1e0l0Qzd8OH5eQ0pNKylEeXljej5GWVdHNlQwRUotUk91
CnpTdklCPTtsZytXUVh+aVJRI2NAKHhhNSg1WSs3P3s+NEU3QGZeMiQ4KmhjckAlMGh8OG1DPG9z
MFNqZyUxWWB5eQp6YC1gQm5FQ3BHNDljXkppVzZObXI8SDJjPGQybU1JSkV9VzgmaXRPelBEcmVA
VGkob1p5fD85aGphQzZ0TG4qPkwKeldwc1EqUm1ZVnJvcS12LVgwIyM1SihvbX5oT1c4aGV7Znxo
Ym5+LTZkQG1ZTE1xfGgqWSohcHxXSF9eTVhDMEZYCno8Szdya2dKfmZ9cEw8LUE3Vn4/YF9GMztl
Knszd3BVSCQ7NDg/T0JtVDVxdShJYkBHWlg2SHN6KVhBQSFNdmkleAp6WFhtcnZwKj1KRV9Rc2dy
e1hFXkBUMGRSV3BLdFE+LT09dXEqRmQmPkFMQEoyKnMqN31lSXgpYHB8PGFGT2NkNzkKelhBMzBi
bT9pZ0leM05nQWEqOz8zcnB+WG8yMzw2bj4yYigrZ1I8PjIkTW5GQVV9Yj0wPmxyRzBfWl4rZkU/
fmoqCnpvP0gqVzNgUzxRP1JgY1g2PFZlUG1wRztlcngpVDhoKW4zdD8hIUh8Xm5ifDZFfj4lUVZQ
QXVOSH5CMXAkUT5oeAp6OTJLLUo8Yl9FT05kNElZZytlPW1GYXQ4SFhRLWFwRFQyV3A+KTgjdFUq
P0xIU0BzIzBmc21MRXdgdF48blJgfTIKel54UUZXTzkmfmBRQmhkVHotLTROJkB1P085N0Ihe0Qo
ZnlpVkB3dU9ian5ad3lMTURSUzNPWUxWK2MmMD8laHklCnpROVpKe3BHQkdiV1I5dVJ5Xzs4RlJG
Q01gS1B7T0lSS2U4ZzJ0TCpzc302WXZLcmBvTDlKQjIrd19fbig2LWJmZwp6cClMY24/SzQyTGVD
UyVKVWVXUDBzYmBGN19aZ15KSzV2aWVNaCE+Uzc9TEIzV1N9dn15ei1kM3VeSShuYl9gaTkKekJa
M0EmI3ZiI28lUkRTbCl5YE43Vz1rXzZJZGpPVUsyaU9TdUJEUzdvejdnZT9iK2B9XmBqclNwM1kq
IUJANVZFCnpBZjVAbFVhPiRfMG5MdDh1T0YobkJjdHl6YVEzOUw+b1Z1aHRsbWtgKHNYdzFAe25Y
bkNzeDM7JDE+T3xGdXBVMAp6TkVKdmJwUjFGWHR9KmYmOWw4V2dIVjw+SHNhVGNKJH5mV2JGZ0FU
R2BMYUBQU2drXn4jX2FTUilkTnVQXzs3SV8KenRwI05oMUtBQTR1Tk1RI1FzLU9FRnQmblY/V0xM
dD53NDs0UWQqamkqNENaOSk7ajNhX052MFEqLSt8TDVOdGk2CnpuJlB6ODg+M2FWTUBMViVqO0VK
U0ZoPkFuZ2dRKDtZUyZlY2slMVZ3WmZEVnVPS2tyS0U+b2BFVjBmPFgwMDAwMApMTmt2WFh1MG1q
ZmBqPThBCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvcmVzb3VyY2VzL3JpbmcucG5nIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3Jlc291
cmNlcy9yaW5nLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNjFiYjk0ZWJhODY4OWM5ZGE2ZGNkYThhYTM3YjRj
ODllMWUyNjJlCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCA3MTUKemNtVjsrMHlPPUpQKTxoOzNL
fExrMDAwZTFOSkxUcTAwMWZnMDAxZm8xXkBzNiNseSo0MDAwMDFiNWNoXzBJdHApCno9PlB4IzI0
WUpgTDsoSyl7e2E3Pnl7RDReMDAwU2FOTGgwTDAxRmNVMDFGY1YwR2daXzAwMDA3YlYqR2AyaWdT
Xwp6MX52fCM2ZTFgOTAwSyklTF90KG8hX31Gd1BUTm92aFFES3hSJUViWExAYk9jUVhZYT0kZDs5
YkdHJld8R0RrPz0Kem0/I1R0SG9wUTdWVHBFUkteWnt8TEBnRVdhJElndHRgcGx5WjA5Vkl1NENX
TnxNfTBnQDNGOWtOUDY5Q3Biell0CnpMbzs5XlFHQ0FZOUlfJTxuRGFWYHs9U3EybWxBK3lXcEJg
Yy14TDlzMClWR0xZWW1WdD4+Rl5LMlV2MUktVUZRXwp6e35aQiR6PU5oMndaIyF8MCpzZGN8Q0Fe
YEUpQU9XeD0rQn4wPU8mU1JpWmRxYXZjSE16K2VJTnZxYlRKVmJCR1QKekJqQjR2QHQ9fX54QzBD
YGZIUHNHQW1reDFVOFowVFNPRUB6JEdvdFQ7bUklU1JJIUEqS2RmZzFQano9WmtlQk8qCnoxa2hf
PD5LdHgjbCpPLVQoKEM+TEtBRHFSbn1HQnZgKH1vSk9COD5lUSZqSnVXaihvUk5KclUyRTBDK0lu
fGt9aQp6ODM5d09pPmF9SURBUHlrbUhjYmZEYkh6dj8tSXI1c2lKKmJLdmhGSjdPO2lZY1QqcGxn
SUNsU2NKNlIpZDItXmwKek1ve25FZiU7UVMrTE84e2I/Kk8pRChROHYxQ0t4TnM2US0yS2sjZkg5
dlQyQDhGcWFoZVE1eWI5N0RqQ2dieUBxCnowOVdWKG90ZCR0MjdwP0lTcFpEVDs3SjJPRXlFO3oq
MXd5ekdebEdXKXdsbjVjU3hjKiRTUzZHamNUP1I2X1peSwp6MX5xflhkYG5kZFlKRUReU0ZXbmx6
VD8/SFA1eXl1cl4wJTJzRDchXm4/cE9DYzJRaTktV2JAaVpmVUVFMUVYZjUKek9rMjlTKTN+a0ww
JEN8bm1oRWRtWSl3bGkkYXVAJTJjQThMOSlYS2htTSVUX3E2bFFCcUIpZEo/TkVRKShSakFtCnhq
YTx8Mlg/QVBlMUtpdz80SD59QXtkfClIZH1BTlB7c0x6NzlzNTU3THt0QygwMDJvdlBESExrVjFu
NEdHfHZENAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3NzMy9jYWxjL3NpbXBsZS1jYWxjcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvc2ltcGxlLWNhbGNzLWV4cGVjdGVkLnR4dAppbmRleCA0NTBmOWNmNzJmNGMzODRmOGNlNjY2
MzhiNzZhZTdiZTE4YzBmMjVlLi44OGU1YjMxZDVlODNhNDZiOWFiYzE5ZDdlNTI0NTcwMTUxOTMy
OTI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc2ltcGxlLWNhbGNzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc2ltcGxlLWNhbGNzLWV4cGVjdGVk
LnR4dApAQCAtMSw0OSArMSw0OSBAQAogQWxsIGJveGVzIGJlbG93IHNob3VsZCBiZSAxMDBweCAq
IDEwMHB4IGFuZCBncmVlbi4KIAogY29udHJvbCA9PiBQQVNTCi01MHB4ICsgNTBweCA9PiBGQUlM
OiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBl
eHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRo
IG9mIDEwMCwgYnV0IHdhcyAyNTYKLTE1MHB4IC0gNTBweCA9PiBGQUlMOiBAem9vbT0xIGV4cGVj
dGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdh
cyAyNTYKLTUwcHggKyA1MHB4ICgyIHNwYWNlcyBhcm91bmQgb3BlcmF0b3IpID0+IEZBSUw6IEB6
b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVj
dGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2Yg
MTAwLCBidXQgd2FzIDI1NgotMTUwcHggLSA1MHB4ICgyIHNwYWNlcyBhcm91bmQgb3BlcmF0b3Ip
ID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpv
b209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0
ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotNTBweCoyID0+IEZBSUw6IEB6b29tPTEgZXhw
ZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRo
IG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQg
d2FzIDI1NgotNTBweCAqMiA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwg
YnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2
OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTUwcHgqIDIgPT4g
RkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0x
LjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3
aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci0yMDBweC8yID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0
ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9m
IDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2Fz
IDI1NgotMjAwcHggLzIgPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1
dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1Njsg
QHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci0yMDBweC8gMiA9PiBG
QUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEu
MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdp
ZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTUwcHgqKDIpID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0
ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9m
IDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2Fz
IDI1NgotNTBweCAqKDIpID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBi
dXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7
IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotNTBweCogKDIpID0+
IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209
MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQg
d2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotNTBweCooMSArIDEpID0+IEZBSUw6IEB6b29tPTEg
ZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdp
ZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBi
dXQgd2FzIDI1NgotNTBweCooMTIgLSAxMCkgPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0
aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBi
dXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci01
MHB4KigxMCAvIDUpID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQg
d2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6
b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotMTBweCogKDUgKiAyKSA9
PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29t
PTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVk
IHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTUwcHgqICgxMiBtb2QgMTApID0+IEZBSUw6IEB6
b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVj
dGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2Yg
MTAwLCBidXQgd2FzIDI1NgotNTBweCArIDEwcHggKiA1IChvcGVyYXRpb24gb3JkZXIpID0+IEZB
SUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4y
IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lk
dGggb2YgMTAwLCBidXQgd2FzIDI1NgotMTEwMHB4IG1vZCAxMDAwID0+IEZBSUw6IEB6b29tPTEg
ZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdp
ZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBi
dXQgd2FzIDI1NgotMTAwJS8yICh3aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBGQUlMOiBAem9vbT0x
IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3
aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwg
YnV0IHdhcyAyNTYKLTEwMCUgKyAtMTAwcHggKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IEZBSUw6
IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4
cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGgg
b2YgMTAwLCBidXQgd2FzIDI1NgotODAlIC0gNjBweCAod2hlcmUgMTAwJSBpcyAyMDBweCkgPT4g
RkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0x
LjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3
aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci0zMDBweCAtIDEwMCUgKHdoZXJlIDEwMCUgaXMgMjAw
cHgpID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1Njsg
QHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhw
ZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotLTEwMHB4ICsgMTAwJSAod2hlcmUgMTAw
JSBpcyAyMDBweCkgPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3
YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpv
b209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci0yMCUgKyAzMCUgKHdoZXJl
IDEwMCUgaXMgMjAwcHgpID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBi
dXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7
IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotODAlIC0gMzAlICh3
aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEw
MCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMg
MjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTEwJSAqIDUg
KHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2Yg
MTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdh
cyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotNSAqIDEw
JSAod2hlcmUgMTAwJSBpcyAyMDBweCkgPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQg
d2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci0oMTAw
cHgpID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1Njsg
QHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhw
ZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotKDUwcHggKyA1MHB4KSA9PiBGQUlMOiBA
em9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBl
Y3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9m
IDEwMCwgYnV0IHdhcyAyNTYKLSg1MHB4KSArIDUwcHggPT4gRkFJTDogQHpvb209MSBleHBlY3Rl
ZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2Yg
MTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMg
MjU2Ci01MHB4ICsgKDUwcHgpID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAw
LCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAy
NTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotNTBweCArIDUw
cHggPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBA
em9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBl
Y3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci01MHB4ICsgMjVweCAqIDIgPT4gRkFJTDog
QHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhw
ZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgMjU2Ci0oMjVweCArIDI1cHgpICogMiA9PiBGQUlMOiBAem9vbT0xIGV4
cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0
aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0
IHdhcyAyNTYKLTIgKiA1MHB4ID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAw
LCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAy
NTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotMiAqIDEwMHB4
IC8gMiA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7
IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4
cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTEyIG1vZCAxMCAqIDUwcHggPT4gRkFJ
TDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIg
ZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0
aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci0oMWVtIC0gMWVtKSArIDEwMHB4ID0+IEZBSUw6IEB6b29t
PTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVk
IHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAw
LCBidXQgd2FzIDI1NgotNTBweCArICs1MHB4ID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lk
dGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwg
YnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1Ngot
LTUwcHggKyAxNTBweCA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0
IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBA
em9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLS01MHB4IC0gLTE1MHB4
ID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpv
b209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0
ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotKCgoKCgoKDEwMHB4KSkpKSkpKSA9PiBGQUlM
OiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBl
eHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRo
IG9mIDEwMCwgYnV0IHdhcyAyNTYKLTEwMHB4ID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgaGVp
Z2h0IG9mIDEwMCwgYnV0IHdhcyA1MDsgQHpvb209MS4yIGV4cGVjdGVkIGhlaWdodCBvZiAxMDAs
IGJ1dCB3YXMgNTA7IEB6b29tPTIgZXhwZWN0ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyA1MAot
MTAwJSAqIDIgPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCBoZWlnaHQgb2YgMTAwLCBidXQgd2Fz
IDUwOyBAem9vbT0xLjIgZXhwZWN0ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyA1MDsgQHpvb209
MiBleHBlY3RlZCBoZWlnaHQgb2YgMTAwLCBidXQgd2FzIDUwCis1MHB4ICsgNTBweCA9PiBQQVNT
CisxNTBweCAtIDUwcHggPT4gUEFTUworNTBweCArIDUwcHggKDIgc3BhY2VzIGFyb3VuZCBvcGVy
YXRvcikgPT4gUEFTUworMTUwcHggLSA1MHB4ICgyIHNwYWNlcyBhcm91bmQgb3BlcmF0b3IpID0+
IFBBU1MKKzUwcHgqMiA9PiBQQVNTCis1MHB4ICoyID0+IFBBU1MKKzUwcHgqIDIgPT4gUEFTUwor
MjAwcHgvMiA9PiBQQVNTCisyMDBweCAvMiA9PiBQQVNTCisyMDBweC8gMiA9PiBQQVNTCis1MHB4
KigyKSA9PiBQQVNTCis1MHB4ICooMikgPT4gUEFTUworNTBweCogKDIpID0+IFBBU1MKKzUwcHgq
KDEgKyAxKSA9PiBQQVNTCis1MHB4KigxMiAtIDEwKSA9PiBQQVNTCis1MHB4KigxMCAvIDUpID0+
IFBBU1MKKzEwcHgqICg1ICogMikgPT4gUEFTUworNTBweCogKDEyIG1vZCAxMCkgPT4gUEFTUwor
NTBweCArIDEwcHggKiA1IChvcGVyYXRpb24gb3JkZXIpID0+IFBBU1MKKzExMDBweCBtb2QgMTAw
MCA9PiBQQVNTCisxMDAlLzIgKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IFBBU1MKKzEwMCUgKyAt
MTAwcHggKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IFBBU1MKKzgwJSAtIDYwcHggKHdoZXJlIDEw
MCUgaXMgMjAwcHgpID0+IFBBU1MKKzMwMHB4IC0gMTAwJSAod2hlcmUgMTAwJSBpcyAyMDBweCkg
PT4gUEFTUworLTEwMHB4ICsgMTAwJSAod2hlcmUgMTAwJSBpcyAyMDBweCkgPT4gUEFTUworMjAl
ICsgMzAlICh3aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBQQVNTCis4MCUgLSAzMCUgKHdoZXJlIDEw
MCUgaXMgMjAwcHgpID0+IFBBU1MKKzEwJSAqIDUgKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IFBB
U1MKKzUgKiAxMCUgKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IFBBU1MKKygxMDBweCkgPT4gUEFT
UworKDUwcHggKyA1MHB4KSA9PiBQQVNTCisoNTBweCkgKyA1MHB4ID0+IFBBU1MKKzUwcHggKyAo
NTBweCkgPT4gUEFTUworNTBweCArIDUwcHggPT4gUEFTUworNTBweCArIDI1cHggKiAyID0+IFBB
U1MKKygyNXB4ICsgMjVweCkgKiAyID0+IFBBU1MKKzIgKiA1MHB4ID0+IFBBU1MKKzIgKiAxMDBw
eCAvIDIgPT4gUEFTUworMTIgbW9kIDEwICogNTBweCA9PiBQQVNTCisoMWVtIC0gMWVtKSArIDEw
MHB4ID0+IFBBU1MKKzUwcHggKyArNTBweCA9PiBQQVNTCistNTBweCArIDE1MHB4ID0+IFBBU1MK
Ky01MHB4IC0gLTE1MHB4ID0+IFBBU1MKKygoKCgoKCgxMDBweCkpKSkpKSkgPT4gUEFTUworMTAw
cHggPT4gUEFTUworMTAwJSAqIDIgPT4gUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL3NpbXBsZS1jb21wb3NpdGVkLW1hc2stZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2NzczMvY2FsYy9zaW1wbGUtY29tcG9zaXRlZC1tYXNrLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzQ3MmZlOTBhMThmN2IxYWM1YzhiOTQ2Yzk1YmNmYWU4NzllMDg3OAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9zaW1wbGUtY29tcG9zaXRlZC1tYXNrLWV4cGVj
dGVkLmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFPgorCis8aHRtbD4KKzxoZWFkPgor
ICA8dGl0bGU+U2ltcGxlIGNvbXBvc2l0ZWQgbWFza3M8L3RpdGxlPgorICA8c3R5bGUgdHlwZT0i
dGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgorICAgICAgI2NvbnRhaW5lciB7CisgICAgICAgIGhl
aWdodDogNzYwcHg7CisgICAgICAgIHdpZHRoOiAyNjBweDsKKyAgICAgICAgYm9yZGVyOiBzb2xp
ZCBibGFjazsKKyAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgICAgfQorICAgICAg
LmJveCB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDIwMHB4
OworICAgICAgICBoZWlnaHQ6IDIwMHB4OworICAgICAgICBtYXJnaW46IDMwcHg7CisgICAgICAg
IGJvcmRlcjogMTBweCBzb2xpZCBibGFjazsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpyZ2Jh
KDEwMCwgMTAwLCAyNTUsIDAuOCk7CisgICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVy
LWJveDsKKyAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBibGFjayAwIDRweCA0cHg7CisgICAg
ICB9CisKKyAgICAgICNjb250YWluZXIgLm1hc2tlZCB7CisgICAgICAgIC13ZWJraXQtbWFzay1p
bWFnZTogdXJsKHJlc291cmNlcy9hbHBoYS1ncmFkaWVudC5wbmcpOworICAgICAgICAtd2Via2l0
LW1hc2stcmVwZWF0OiByZXBlYXQ7CisgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiA1MHB4Owor
ICAgICAgfQorICAgICAgCisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKworICA8cD5UZXN0
aW5nIG1hc2tzIG9uIGNvbXBvc2l0aW5nIGxheWVycy48L3A+CisgIDxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgICA8ZGl2IGNsYXNzPSJtYXNrZWQgYm94Ij48L2Rpdj4KKyAgICAgIDxkaXYgY2xh
c3M9Im1hc2tlZCBib3giPjwvZGl2PgorICAgICAgPGRpdiBjbGFzcz0ibWFza2VkIGJveCI+PC9k
aXY+CisgIDwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jc3MzL2NhbGMvc2ltcGxlLWNvbXBvc2l0ZWQtbWFzay5odG1sIGIvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL3NpbXBsZS1jb21wb3NpdGVkLW1hc2suaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMjU4OWRlZDE0
NTNhMTM1YjU3ZGRlM2EzY2NlNjU1MjNmZmY5NTdkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL3NpbXBsZS1jb21wb3NpdGVkLW1hc2suaHRtbApAQCAtMCwwICsxLDU0
IEBACis8IURPQ1RZUEU+CisKKzxodG1sPgorPGhlYWQ+CisgIDx0aXRsZT5TaW1wbGUgY29tcG9z
aXRlZCBtYXNrczwvdGl0bGU+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVl
biI+CisgICAgICAjY29udGFpbmVyIHsKKyAgICAgICAgaGVpZ2h0OiA3NjBweDsKKyAgICAgICAg
d2lkdGg6IDI2MHB4OworICAgICAgICBib3JkZXI6IHNvbGlkIGJsYWNrOworICAgICAgICBkaXNw
bGF5OiBpbmxpbmUtYmxvY2s7CisgICAgICB9CisgICAgICAuYm94IHsKKyAgICAgICAgcG9zaXRp
b246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMjAwcHg7CisgICAgICAgIGhlaWdodDogMjAw
cHg7CisgICAgICAgIG1hcmdpbjogMzBweDsKKyAgICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkIGJs
YWNrOworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTAwLCAxMDAsIDI1NSwgMC44KTsK
KyAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OworICAgICAgICAtd2Via2l0
LWJveC1zaGFkb3c6IGJsYWNrIDAgNHB4IDRweDsKKyAgICAgIH0KKworICAgICAgI2NvbnRhaW5l
ciAubWFza2VkLXB4IHsKKyAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwocmVzb3VyY2Vz
L2FscGhhLWdyYWRpZW50LnBuZyk7CisgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IHJlcGVh
dDsKKyAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IC13ZWJraXQtY2FsYyg1MHB4KTsKKyAgICAg
IH0KKyAgICAgIAorICAgICAgI2NvbnRhaW5lciAubWFza2VkLXBlcmNlbnQgeworICAgICAgICAt
d2Via2l0LW1hc2staW1hZ2U6IHVybChyZXNvdXJjZXMvYWxwaGEtZ3JhZGllbnQucG5nKTsKKyAg
ICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogcmVwZWF0OworICAgICAgICAtd2Via2l0LW1hc2st
c2l6ZTogLXdlYmtpdC1jYWxjKDI1JSk7CisgICAgICB9CisgICAgICAKKyAgICAgICNjb250YWlu
ZXIgLm1hc2tlZC1wZXJjZW50LXB4IHsKKyAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwo
cmVzb3VyY2VzL2FscGhhLWdyYWRpZW50LnBuZyk7CisgICAgICAgIC13ZWJraXQtbWFzay1yZXBl
YXQ6IHJlcGVhdDsKKyAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IC13ZWJraXQtY2FsYygxMCUg
KyAzMHB4KTsKKyAgICAgIH0KKyAgICAKKyAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCisg
IDxwPlRlc3RpbmcgbWFza3Mgb24gY29tcG9zaXRpbmcgbGF5ZXJzPC9wPgorICA8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgICAgPGRpdiBjbGFzcz0ibWFza2VkLXB4IGJveCI+PC9kaXY+CisgICAg
ICA8ZGl2IGNsYXNzPSJtYXNrZWQtcGVyY2VudCBib3giPjwvZGl2PgorICAgICAgPGRpdiBjbGFz
cz0ibWFza2VkLXBlcmNlbnQtcHggYm94Ij48L2Rpdj4KKyAgPC9kaXY+CisKKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9zaW1wbGUtbWlubWF4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9zaW1wbGUtbWlubWF4LWV4cGVjdGVk
LnR4dAppbmRleCA3NTk2NjkwOWNhYTgzMmJhMzE0MGQxOWE3OTMyYjNlNmJmM2EyNmIwLi5kN2Fk
NDQwMGM0MWE1OGY2NDk3ODZmMjFmMDg0ZWIwNmNlOTIyMDMxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvc2ltcGxlLW1pbm1heC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvY3NzMy9jYWxjL3NpbXBsZS1taW5tYXgtZXhwZWN0ZWQudHh0CkBAIC0xLDE4ICsxLDE4IEBA
CiBBbGwgYm94ZXMgYmVsb3cgc2hvdWxkIGJlIDEwMHB4ICogMTAwcHggYW5kIGdyZWVuLgogCi1t
aW4oMTAwcHgpID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLW1p
biggMTAwcHggKSA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci1t
aW4oKCgoMTAwcHgpKSkpID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAy
NTYKLW1pbigxNTBweCwxMDBweCkgPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQg
d2FzIDI1NgotbWluKDE1MHB4LDEwMHB4LDIwMHB4KSA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgMjU2Ci1taW4oIDE1MHB4ICwgMTAwcHggLDIwMHB4KSA9PiBGQUlMOiBl
eHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci1taW4oOTBweCArIDUwcHggLDEwMHB4
KSA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci1taW4oMTAwJSwx
MDBweCkgLSB3aGVyZSAxMDAlIGlzIDIwMHB4ID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEw
MCwgYnV0IHdhcyAyNTYKLW1pbigxMDBweCwxMDAlKSAtIHdoZXJlIDEwMCUgaXMgMjAwcHggPT4g
RkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotbWF4KDEwMHB4KSA9PiBG
QUlMOiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci1tYXgoNTBweCwxMDBweCkg
PT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotbWF4KDUwcHgsMTAw
cHgsMjBweCkgPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotbWF4
KDEyMHB4IC0gNTBweCwxMDBweCkgPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQg
d2FzIDI1NgotbWF4KDEwMCUsMTAwcHgpIC0gd2hlcmUgMTAwJSBpcyA1MHB4ID0+IEZBSUw6IGV4
cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLW1heCgxMDBweCwxMDAlKSAtIHdoZXJl
IDEwMCUgaXMgNTBweCA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2
Ci1taW4oMjAwcHgsMTAwcHgpID0+IEZBSUw6IGV4cGVjdGVkIGhlaWdodCBvZiAxMDAsIGJ1dCB3
YXMgNTAKK21pbigxMDBweCkgPT4gUEFTUworbWluKCAxMDBweCApID0+IFBBU1MKK21pbigoKCgx
MDBweCkpKSkgPT4gUEFTUworbWluKDE1MHB4LDEwMHB4KSA9PiBQQVNTCittaW4oMTUwcHgsMTAw
cHgsMjAwcHgpID0+IFBBU1MKK21pbiggMTUwcHggLCAxMDBweCAsMjAwcHgpID0+IFBBU1MKK21p
big5MHB4ICsgNTBweCAsMTAwcHgpID0+IFBBU1MKK21pbigxMDAlLDEwMHB4KSAtIHdoZXJlIDEw
MCUgaXMgMjAwcHggPT4gUEFTUworbWluKDEwMHB4LDEwMCUpIC0gd2hlcmUgMTAwJSBpcyAyMDBw
eCA9PiBQQVNTCittYXgoMTAwcHgpID0+IFBBU1MKK21heCg1MHB4LDEwMHB4KSA9PiBQQVNTCitt
YXgoNTBweCwxMDBweCwyMHB4KSA9PiBQQVNTCittYXgoMTIwcHggLSA1MHB4LDEwMHB4KSA9PiBQ
QVNTCittYXgoMTAwJSwxMDBweCkgLSB3aGVyZSAxMDAlIGlzIDUwcHggPT4gUEFTUworbWF4KDEw
MHB4LDEwMCUpIC0gd2hlcmUgMTAwJSBpcyA1MHB4ID0+IFBBU1MKK21pbigyMDBweCwxMDBweCkg
PT4gUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3N2Zy10cmFuc2l0aW9u
cy1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc3ZnLXRyYW5zaXRpb25zLWV4
cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MGFhZDA0NmIwNTFiNGU2YmFiZjcwN2M3YWJkM2ZkNmZk
YTZkYTUxCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyMDkwNgp6Y21lSWFjfDRTVF5nb1BMTkBl
Tko1KmQtfmdsdTdrQiU8dERMUyR7UiVnempLbCYhS1ElY0smT1VEKzlUbUp1fm0KeiRqKUZld2l5
aiRvQXRSK3d8Oyo8ZT58XyheWmtBRTU3I3g8ZTNvPEc9YlpPQj1XfV56WU9IXjd8SXooU09pVHdh
Cno3QFJYX1YlakNsI0tkQzV3ZzxUTEptYCl1QEpzVHhwM1FCUz51eFQkMHNfNjV1QmorRUpGQT4+
UiNJfHhhYVR8fQp6clErdTllcDwhTk1mdFJ8eTFUUWhkcWVKWjRQWFNxNFA5TiszJWFfKHJ2NShl
SCQyXiNtX25IRVRjVTNyKjc9OTcKejt7RW9VMi19cmdoc3J9OWkoSWdNZV9nTGZnfnNLND4lYjdH
UXR6Pj0odUgxY20zaEwrazlvMF42V15zcV8zKmlTCno4QnMhRUtWOVZ3P19iZkE3PTE2e29YYWFx
e09Xek5HSDxSNDF6akZoVTV4WXohWjAyNT8+ZkJfI1g1TnFZNXRQeQp6aEcpZHRvNzdtUSNGelZZ
UEsjWTBTfTtEYk45Uyg5TW1WbE5qM2U2NHN5VW56VHBuRVh5c1BzMC1nYDlkRzV6TlEKelFsKlEk
ZSowfj9TejxMWXhzdTQrWSM0MCsobjZCRGFjSWNEQTMzRDhUNUxya3czVEkxdXVJaHpVJlhxJD87
NUQzCnp0b1dJT3YtO3Z2YGl8fHI7cUJobSZlPnF7XylYbXghaDdmM0VhVE5man5sV3tQfihiR0BU
Y1JTKiFoYmY9Y15OUAp6Ul5vcF5DYSNVWW9eRS1kQ0NIfnRUNmEyOWJAYzdKQH4zfHNJV0xMN3dE
Y1IwSjRrJDFPdFZAdHl5Tj49dDs2K04KelJLT0pqbGZIfUk+JE5ldkJUeDFuRX0wMG5HOCsjfklf
eHBwR3FSe1IkV242Wig2SXdZND9JNjtWOUtlLWRoSj1NCnpzckNjU3FZOV9Ye1VNXzdfWHM0MUQr
WnBwUyRFc3tUJHhVfCVDSl9JKzNPS2F4YGM+ZGl0YjBZciZKeGZSTE4oUAp6c25DczFgX2dgXndV
bmFGPWUwez84bSZfcUhBald8eTQkZTxtIyMqbl81PndjPiElZmxoU2ZoYEkweyo/UEZJK3wKenFu
eStkUClaQG5JO01VfW15R3xYNj89SmsmZ2ZwPzYkTW9jKyFMbXVINmUkVmBgODskXmV8NDxEbF5A
S2NHR31ECnpjdnFpMWVSOyM9Pkkjd1NAd0xUZUxRPiZtJj9EVU9odn1feSNIYW02QDdYN3V5cFV8
IXNTaE4oeXE9SXh7QlV4NQp6VWNWeW0wST5eY0kxZjlwVndTQEhyT1djKzh0anZsPio/JjhMcTZv
QkF0YVN8YV90Y2dGMk4lMklvNigwPnQqNCQKeiRlSFZ3PU4oWVkhaSlHR2BMb2pkKSs/d1FtRE5W
YEp4YElqR0YtVHhTdWlMak9sVV4oUyRBNjZTOVM5azhGK0gtCnpZPV5WPzd0PGtLYk1ycDJKfnR6
dGlqMiQ3dnFBa0MtTihFSWJKZnFUd2Q1UFJDNmh+dFQmMSo5Xk5vIXteOHUqdwp6KGNiOEV2UUpZ
ek98S349P2phTUNGdz0hfEkraHtLXz5xMDNwOEI/WGU9WkJOJVNHPSEmYzJVcnwwQ2Z9LUZMJmoK
ejdnIVQreT9xZnxjYn1ieT9NfStuOW04K2pNbj9QTXUxTXNpKWo3UjJvcHs3O1lVY1djT15SaC1a
MjVpOGtmJH4kCnpAMTRyPWRHM1NDc09pazRPcG4lUk1aI1EwRygxcVZnbF5pcnokYDtVRElvQ0BT
cyRrcCNsKzBRJUVsP0k5bU4hXwp6JXJAK1A1YSt4OV9sP2FARjc5VUtndDdnNFYpSTdmQzJifktm
c2NvfEhvdm17VUUhIzhmdEBSRENvZE0zX1E4VmUKeipxeCE3bk9pVl9UKFI2YiUmRmFiOSlJcVNh
b0wzRmQkIWxISEs8S3k2alFtJU8+dlJgWDNeR1dCQzc2T01LdWt3Cnp2T2ZOM3JvcHduaF48ZHBW
aUE4X3ZHJCU2ancoelRlRTckPm9aOGZiVGY1elV1MmhBWSsxMERaX311VGtYaCVnYwp6UDVBNndG
LTNwZSQwbUkxUmdsT1pRVU9HPT55TUBYNDtQOHJ0Tm5MNjxzc3xkWVJHPkRHPE4rYnotUzlMIUF3
JDsKek1UK2AqR2N4ZlFSbFFmP2kmZE43JngtS19vb3JjfTFBKjJLQTFfe1RZaHd7TnpDQSszVnpu
eXdaUjYrPj5zJlI5CnpJYWgya1hUZj5sUHNxRzx0TTJUQys0ZlpIcGJAY2omeF5yPERPKj8mUkVg
IXN0bGpKSEgmSC1hO2dqRSlTOEttdQp6MjI7NXtafGdvd3Y3ZklBanxsSUlWWWkrakRfTytEdlpa
VXF5fjRqM1ohNj00VChsSFJkdnxTcVo9VjEyMjN3QHMKejtOdnJ3I3pnSTlLT3NBN2pTQD92YXUw
OWd2V1UlK09JdlBIJmdXQ1dGKVhMe15LfWFhd3FOPmVkVUNgVV5qSzc1CnpXc21XSFQ2ZHhXMnF1
NWNlKTFuP2Z1fWdONkJse30pT01EKyFwPGY8dU5yKVEyTj9RUitEeilAN0N2Sjs7T0xiSAp6QWN6
Xn0teGtnMG1qIUtebkozJGc4PWAtJDRTM2NEMGV+R0U7Qm4kVmM+QjhVWDhtOGNEQmxwfiQpKE9a
TFZ3dlQKemBuNSlIRHwoOD8yPXpSfG1WVmw+TFhON3JXNXU0Jm4jT2xPSzZ0bXdWTXEzP1I9a3xy
UjtvUUx8MCMlPiNiYGc5Cnp1K2RxYF5aekx9cyVafDs/QShKWmY0WnYrJSo/SkFCd0JaZD1kXkpF
ZUI2akJgO0hwZldGJj43V2NLQ3B7VzFEYAp6Sz56T3JaYnR0SDV+Z1N8S3g8O1R8QV92bE17VEQt
VkR2eTsqKnxeR1llM3M0UWs/JTd5LSpIN2lGZCo3S2VtKGgKejUydHE4SkBmY0tNKmpoZnteUWBz
b3ghNztvJnd1PllXbkM4WEl4cWZqOSMwfF5YR1FWZiRlWWBEKlEzfXwzOEY8Cnp2TUM+P15WVSg5
aXNSc1B6bERDJT1hT1RyYSpHe3wqNzQ3LUY9dkJ6RVRvQF8qOy1yMD5GTW5xbGhsQEdWS0k8YQp6
eCpAbkRNLT9ETzNgQVklKCVhYy01Z1ZJdShVO2VMSk1zc0hWc19uaUAmZk9VTnEhSSFqezJhTytf
bj05b3B1NGkKejw+MGR1NG0mM0s/Tkpte1NJNVBwZDtmeiNeZyZMfXw4PE08SiU0YWxPP0A0O3Nx
VEErZGFiZ312MnxCOT1IRFUjCnorKz19Qmw7KzNxIUR5NEZHYzRfQStLeHZGdUVQeWUjbnJ3JFR5
e2c7b2MjeFcjci1UfjMhRmBGY2ZWczMmTF9PIwp6Vz0qVllJeD49K3Mxbyk0bSYoN2cwVTx5IXF3
cEZrdjFuWS1feiVWMC0zPF5JV2JQV0h8RUx2VnAzaHd4dDQ0eWIKejllY0thRDxYeD98SHhxK0hP
YHU7I1VqYDJGYTB0b0NvUHNoZCo7d05pJDB+bnlJPj5XRTchJkdeNVVGdkdlJlpACnojZjlkLTVF
T2xvc3twJmR7ZWpjJCQ9QDNTdG5kQjRZTDUxcygzP0E4NmZXSGhLIzBUVTUlLVE4RFNaeEAtRTtX
aAp6NGo5PU1iTzFFJk5fK1hvdC0/KTBHTSVzVCRNRTMqaEV9OFVCPnVTZDkkKn5ySHtNP1EhKSp4
eGFNV149SDJtWSUKek9+Q2EzRklaTkEpbVgyYzVCQDVCREx1SUZZUGk/TyRldH1ucjU0OEdBPXEk
U0shS1Noaj5ZPEZzTjMyKj54UD90CnpZbGJDQGZoRk9BTmcqd3dSeVRGMDhyWldtTCg5V0k4KHI8
OWVUR3ZudG1WVlZgNkNuemdIOS02a1cxPj08Kko8KQp6NlcocUU9biZ1XilSYDxWYXJkOCYqMSY5
X01nfjBLVEN+MDstaTheeTVtIWFxUF99ZjNBYkAoNVBiP2oqQ25vcVQKeksqI24lVXhaSWRJfVNM
JlhlJDluKT9DMjJxb2d9cUtEa2hNT3g4d3Y/NSpMOEJoajFsalUweHJ3LUF5VD5xJkxfCnpUS0Y0
dzRfNH1OVDBYU30yYH5wb1lBOH07Xm4xaGpMN3k0PXY9OUFGY3ZvXngmJmFIQ0BiZ344IyZsLVky
TiZlTwp6YHkhVWFWZzczcXlvbDtMTGhYRGxoKFFGd0hOS2EqQWc4Wn18NjBHcm08PmJUPHZxZyFj
UCs4MFcqPXcyYkBYflYKemk4OHZAN35sbVIrWGIzUTFWTy02S0taO2JOKT5GI0EjNjVwIzNRb1RC
ZHtjLVJYUndAb3ghfW5leD05PFBZNllhCnpxZm5lYXBUcWlfZztjYDU/cnY+SkBKKkRvYUxuN3FW
T0ZWc3MoKmZCdU9pTEdFMlk3enJnMVBqRjQmUGk8djFFUwp6cVlFMUJOPDIydFJaWVlEQWFWfD92
djEqNj9JNkh1UEpncEp7O2orVDhTdz9fJHY9NyheR1AoeV5TSiRkOz9TQD0Kem8kK3hva2xzNkpF
NH4+VHFlYUNfc2dQU2o+UEw1LSlFPkxOVFdGO35LWDkhTUxvPT9iNGNvUkI/UGl1YCM+TCpCCnor
Nk5QdXFGNDN9an5AITI1bjZnMlFARDUhXl4yPX0jc2tZMFBgWjReQEM3dF9vciEhJmIpK1lmJE98
SjVZSl8qbgp6Ul43SUMyKXhWLVlORGVWUkoyXjxtMzFBQ3V4fSo4RlNaYHBBOCo1NlcoUE9TSkIq
QWhMZjJ9fWZhcEpDPmlRNyQKemxAVm0qRmZ4I3NVPWltTihEQkp7OEJ4YE1fWnJ6MEZRTWgoO1Nz
IWRhR21EdTRqaUNqI3RjZHdtcW5PfWxnfipfCnoyJXJ4a1hoU3s5O0N7d2lJUWl7fVBHZz1GOEg5
X1kjSSNocyRfXipnUjViUSlka1ZfJnZIazUoaUpOenNxVGU8Sgp6PFNiX3FeNWkzRGNAb3lPJHlK
ZDxSZXxzJk53fWhlNkgtSjJNaEhQXzFVYXErSWAlYjgkQCptVVFxcGBqKCZXSHcKemEzcHJ1ND4p
WkF1SGBgV3hseFZiYS0zWUZBUStVOU5KMFNvIz9NZ3RHOHtBRitrQ0opXkpuWWpYUGE8YmdjNUwy
CnpANDl5WmwmZnBDZVN3JkBOS0J1QD9lQlVjLUVjWi1wYldCcDd4RH54KkRgez18MU85K2M3cks0
bGlXJShaJWVXJQp6TWZQRk58OWx3NTlob1N0MTc4Yjt0MiVzMz5QKU4+RXU/LXlRQEAtcFl+aUM1
S0A3aHp3Wj5reCE0THB7e2dHSHoKenNMUkBuSnx2OGNjbTBrfnRIZE4+czkhTSk2WVEpbihTRTQp
bE5FZk87P04yNEFWNlM8MjI2Z3AmP2JIYS1KO2l6CnpVZ1pHKGRmbWpKVkhtQn0wY2hIQTJzUi0h
MWN7VUEjX1Yha3goaDUqQlctcl5wa2dTMSE4M2lVUlJGfCZCcnpDTQp6cERXV3NZdF9pZk9ATE1r
Ziktfk13Rz9IQ1ZscHFsYn5PQG5GVGk1ZkYyR2g/IWwrMi0wJitVQkhJNlJUST1RKW8KemxrbjlX
YUZ4Rk5NUk1gdGJDUlEkPH1CblFXUTApJHFMZHtzcWFtPjNpK2x8V1p0fEl4MUNGNT8hejt6WCp+
Nj1xCnpSb05zKm44cXhtOWImemo0NHpHWGdGNn5Md2d6MlhJfm47Ukx6PnJYSFFLfCFeQCNPRnZi
MFJNJWxHTXRoP1loVgp6dCRBRFFebUp3T0hUIShUVmUmQU03elkrSzdOWWJjam1hLW1LZCNweUQw
UUQ5dn5JfHlvUSpGWSN3ZC0mZFJxPEoKejwpWTdmQT95RzhUXmB5cGhfTWY+Nk9KNU9LLUBmYVNT
XzFyMn5hcDk4TDJzfihBXyVjJjN3WXhBT0VvckJ8OXl1CnpNKUM9Tm8oLXVLPHN8diZLQ2g+WUVh
dT1iLXFfdnBBXiY8dFFgZUNZWHFgd2hvejdkS05WQUtaP3g2TztYbm05Uwp6PHMtJT9eYFZwYyhg
Uis+eWBKZXlqfnF6OTxWK2t6Nm5RUV5OczRlPzh0aUtmPlQ7dyNgP3l2RXJfPn12Qz40LVEKemxD
fU94bGg2KX1IQFJaUW9OOzZid0hjQz82KmA/IVFIfilWIXpjdDM4MXpMKFBXYGxVTmspeUVRJUtW
O3A7Tk9aCnpYRCZrNWY/PmczNz9MME5AXnsyWHVjZTxja2NlS1o2Zz1qRWFfR3U/TjNBfmhNak1y
PWF9ZGdWcD03JDNUUVp3YQp6VG9RZHhhPF4kbFdTckNWd2l+bnBheHRxVG1UK3dzbVo5QmBPRSNY
RFdKS1dtcCFoVSszQUxqbkUyN09LcVV8PHcKelBGIz0wPyNFK3VpYEMkJlhWQkZPeFIlOE5DaEBk
YEohMS1oaVlMWmM7Q3FTWXE5fHlpLTdDKVIpRlhlSS1UTyt9CnoheTIha2x9RkdmKDR9Tj84dCE7
eU4+WT1lVHAhfUhYQlE/cSFsPFU3U09JTGxxTVlWb1NTZWU8JDN1dSozXnk0Qwp6OUU3KnNzeUoq
KCt5ayElNXxRdil2KyllYm1scE8qNiYtdlM2ZFpRMF5rYENXTShEcz5TO2BqWSlNaV5oVjhCMlcK
ejNiQz4rJG8qVntHMWVSK25qKG19RFMyNHZXfFZ0MyYmWSVKSFl0SzApOHxVKWI4P09FUjYoPyVT
R0R3O2BoQVF6CnozTXReOXIwYCpFOGQqM3owKD18PC1eaFN4V0NveSN3b2ZCa1YhRElGO3Z3dEQ7
MD58cDFrV3t7PCFhPlQlXi1Lewp6anBHWHdwTCg/K2d+NkYhZzl8QH5GIWFAOFNteGtEcG0mUmhR
PTVDRig7VEA5SlQrY30xSlM7TnZZflAoZzQ7WkYKempNdSFFe2VtZlV5aHJ5Tl4zVCp1LWwyXlA8
KDw+M3Z8Yi10QDktYDhaNW5yVmNMYU95KXolYm9VKUozZGNle3ZxCnpsT2U0TXlPTjFyIT9ZdUpY
WklGUlZFejVZe2JgWko9b0s0biRLYThgNXhecmVaZ1pXUDVHVyswQlg4NEVANSlZOQp6NFJRU3wj
eHFZV3g/SlhxQSQqNWpiKnxLQyUoJDc0VD0hbjIrMnNkR18zRzhJZnIkeTFpVCF3aU59ZmUyNUhf
QnAKekgzYEg4byk5MEkmPmdHT2czamViLSUmb3ZRJE57MHA/aDcrVXI5dz82OWk9P2pyfjl6QGdn
aFR5OFZHbSRCaTI2CnopNHNJcml7QXM4IVRYdUZNb34/cVRraENMSSppPTgqKCFUa0JXX0c3REdz
cTc9Umx0aVhIKnU+UFM4UjBhWm9MdQp6KEFNWnNOQm45REE/WlJzak81RGtwYipPJWkwOy1abzJn
ZH0mSXM+ZlFhenRZJmBuUTs0PWJSRjlMbDRTPl5YY1QKenElbTZ4MS1HXit1OTwjNUBATyRjcnI1
bnped1VzISNPTCR7OEBXVUF5MkMlTDlZPEUrRiQxZX0tLTs4fDQ3TGEhCnpTUEd5UF5uY2htYCsx
fFFlYT1UckVuRjJNdUdEUkU5ezA7NERKX3c1Ui1yOStwQytWWDZyWT9xdmRfMlkmX002WAp6Ylpo
PmxtMDlvXz0yNzY0JWg+dFlIN3U5KSF6STYzPUUoJH4yPChUNF5uZW8lISZ1aD1JR2ZvfWdSKDNJ
bzNSITQKenZrVT1KbD0+TFUkfGZWcnglUldWdVl2SUtfSiN6WHdhJHsja3d0KGgpWTdGeCkrezBI
ajg7YyM+dUlKSGpKLTB4CnpJVEomai1sUCR1cig8MCtoI3M+M218NHZ2T3p9cyUlczM+RUJPRiFw
M1opajZXbjNfZWM8MzIrVXQrTU0+Uz00YAp6Y0lzcGs2SUpDQHEmdUxfQ2RkX0N5O1J6VmdmbGth
IVB1KHZ2PHw/NE5uVztDd0U5QT9kO084d2M/NW1Ganl+XzMKekA1M0FpKndmMFpEZzhaX2VBcm9n
ZyprLVZ0K3dVRjtDZEh3UF9ZfXZPNkMzYVo1RVRZJHp0O048c1N1QEo5fHFFCno5ODE3ck5TODFA
dCM7S0RUdDNOVSlGS3NDakhxZ3RHfnBiXzhYLXRWYFF1bjF4STA4WlUkNlkrbEF2andiNjNlZgp6
dGomYCFOX3dPRWIrRjxXXlNTfkU+SDBQTlZZTj56WGMmRkRaZ0NATGFsbElXJlVxTHdYfTBRQz5y
ZzNsR3hWKG4KemVqcGF2Wjkybnh1TGRHJm9vVyFGPWNgSDljb35lIzJgOC1rUnQpKzU1Q05eI3Bk
PFlRV153RGpSNlNtWSk2JEd2CnpofUJ5YWNuZEYqPloxajZjeSFqZ1hNajNAbCt7VX1uYn1xVT13
Nl5pcSRkbjY2dHE/aTNjSDFfJFhPe1FiViEkRQp6TEhDPyEzfG5QeTlBbUUpKkJzd2hWTD1EcmYz
Xj5rOWxqZG9DclNgbHZXQmYjY2FJUWRGRkNHVWNLbTRiYGcwJWcKek0tOTw3QlpMJXVZbXV5eDBx
K0hCZXF2emgheC08NlVxbDxwKXJoK2tNWk1KSFRQMjFlcG41Vj8taFd8aVdgQiF5CnpBcHdiOT5Y
Y3VjWGh1MWJeYys5cil2V0olUX5pa3VgMHg3cE1SJXxVeSZIJk8tUWtgc2lQZE05MDBLfXV6eFZ+
TAp6MFVpd2pzSlVZSjBIJi15NHdpdS1hSUtCREJjVGJoalM2JDZMVEdAcTxVOElLeiRGUm5PR0pu
UyVTVlBTeFBVYUkKemdAWEtjLXc8ej47antpUXA+emdBWH4xT0dYPlIzVChPTiohQ0gkbUN3RHU0
U1FHT3ZWc1IwXl5TSVF5QSVONl4hCnojTl9jSm9+IWFLViNyMDlHWXYyVWB6YnlNVjctOGo1dlBa
YUZyK31pajhPdkR4SH5ucmx7Z19mYGl9SUh4OFpzdgp6Zyo7eVpfbWNPSFp+cHdZT341Kk1zbXdG
ZWpCYmZQcEUxJkNyUEBmOGBZTj5Fdj0+Rmw8ejh0XllLPU5BV1MxNTwKeiNfS2hTWkl5PS1OakUj
em0mSFA1MklEczMoUV8+YTUxMGcydj1yakRFejQ2fUlMYjVNODVBdWxRIyEpM2pzZDhSCnppNm5Q
aSYkPyF0RHJ7TlJXYnUodSskZWVAM3E4eFRtX2h1SXVqTkpOJDtwUyVXPTkrZHteXyMjd29Ba3wp
d2J8eQp6Q0hPIUNETmxhSG9Va2NsKy1mOWE0Rj09JjB0am8jOz4yQTBYNUtNLXRRbVhxO1lNczdL
JHYoKEgmRFVHa2J0S1kKenRoI3I1ZFEhNXUkQEZ2QGoqV31CU2B5Sys3WlYpVDt4TEwjIWhhZkI1
QWo1QCEwTWBVXnd2WHFVSXs1ezFyTilNCnpmdmR7OGBeYnElWm0mZWRpcXV1ND12PHAle05nT0oh
QDk4PztPR1JeTkRWdnQxb0NET28kVjdyNHRATnpPaVk0Tgp6TiRmMCE/OWdvYGJea05OSz15M2Zx
ZVYxNWhjaGB3Yk1rbUhvc3M+OE1na0ZYQjNpOEBUM15HQWRMfFc7TGNoRioKenY3O3ZhZlBuVXpM
IWdeeGhSWF4tV3hQTV5NUGVVVEFFMldxbGNEMXB2eGBwUFMmV0t1dXFTbjU2VmJUQStPYSRBCnpD
dylTaTE9e3I5Mzt7WFlmUElaMGYmdj9YbGgjLT1OWSotVWFEdCRELWpRVFMjKT4yU1c4ZEVVcEVx
IUQkZ1RPcAp6M2U8Q3dISCRrRURGN3FzISVsQjlIcWNCQ0RjYXJNd1E/bHBWTkUlUEhpRlRieSpz
Y0Y7KFpRUTRoeWF1OGFXd3gKekR3N0lDRWI4UnVhTjshOCRWPW9Cejh1WWtZYUUkcnZqfHlGPyZT
fk51UTtUVj5HT3tQMCNIWjh4dHhzRDk8RFR1CnomcXBrc3dneXc0cTdeKE0qWmEjN3lhWHpmd3x3
cWBGc0lNSHBUZ1E+dkZ3XlNiIyNWKCRvVHlfeHc4UVp3ZHB1KAp6MW8/LT4wTntsS2xlWkUoeXJj
aFR2MUl6cTdNPjBJYEZsZ0ZkNXBzNTZMVGFgUV9oZHM1e1psQ3NALTJkaDcoKFAKek9gT0x1dXBu
MmZWI1hFQmpTTCREZVZlZHhjMU57Jj53NSp1Qz1IK0QxVXtGMCNkTiNjSCpwTEohU1N+K2plKWRO
CnokIT5eb2Z5UWd4Km0hLSRLPlAqUmVScmN3dnI1R0NReEFtfDQ+QDYoeFgwZkUmbFE/eyN9KThL
TW9meD1ZRnpxZgp6T1RzUmFIOUFlNHNiKXxqP2w1QCNAU0J3P2M2bk5aI1l0TGZrezZQUGhBOzhG
Z3EtNXQkXylFQ3FGdWZsRmQmdXkKeiszQXRgaFBkb2JUe2o1TUJzN29ran0qfk5HLTFfc2M+TzlM
alVrdnRhUE10UV4lcW1RY35xWU8yO2BIbEApOW9yCnpuX2hAZTRmSEB+dEluVT51bWNhflVxLV9N
ZzZqcjAlRC14dyNCMGZQaD5wJlkrNmIzP1lEPz5JVDhsT0t5JWhrbgp6c1M1VlUzN3NEOUxua19M
MVphUV9hXlQlRnlWXjwzWXBUUCglX09gbEYoWkRqPGB9YT57bFJ3fXFJKEN3dH5Xcz0Kem5sQkZA
KDt7NGxGKD8+PlZhWUROWihFZ3EhUmpjRFQjI0RYVmF8U149eUpBZiZrY1FvZUA7S0ZrYnd5SyFr
OW4xCnomYERlVl97eWBfYn52JGIlNTFKSj0mY3IyRFNWLW15b15KYFYmJW9rZCVSYjhoYVVDaWVl
SSVYcU55e2VkODZ6Owp6bjU8WElERSoxKm5QS3wlJFokJjRoZHxubz1PMlMpITFuWlNHMnErZWly
JkstezlBZEVXSGM0bUVVSjl7dTJ8YDMKem1ZTlc+TGR6WV55S1M1Yk9WPzlTdWxOTkd3TGgyRnlw
WWQoQFlwUGtWdz9YVnl+cilRdEY3OE5CQD9DdjQhX35XCnpXYEhIenEyVnM9e3BLUmJRI2wqVTJs
QmpybTVQLUNLZE92UVl+PD1jQDhtYWRqRDZfPFltRktqKkFKaVNiY1AmXwp6WiElQSM1SCtmPjJI
eHFvPiVrJGV2PUVmUC17fnI+ZGg+Ymp1VypSbiZANUcjOVpPITs7YGBLSWlzOUsod1ElVkwKenBk
QHdqWWchfXMleD9jRDVSbU1IaFMxJEZANU16SXJ0cUVCUFY0MDZLaC1oc2VfM3A8Q0c8aCUxOUk4
ck0zMDI3CnpTQUg3JkNrIXUyWVFeSGFJQFd7TE8kSUNtckV4TldoOGtGVz51Q0MhWkl7QiN2ZXw3
fUt8Y31WZXMpLSpsV0hGPwp6Rlcxc3B0fGpIRkVoKi01ISFhPmM0PzFBP050P2h3QG85b2lSNSRW
e194enlMbGpKZmJsVntsQEVvUFh9cEdrU30KemJhfTwtdEdPS1ZSMWcwZ2o7KTtmMjg/WGJTPXUk
REBMPklDJXtEbz9abVozN0JReitYJFNrYDJickt0PShPTnU5Cnp2cnxCczw0Yk1abWhgRntzYWtH
YWp4MD8tZzk7P2xtMHo3eDJkQnMkZTw0R3VtfFVlODslN2B8dUBQKk40ZX1tPwp6Wj13N35KI3Nq
S0sxcmBNWmRvZHtScjshZVlKNjR3bHgjcHIhIWBqZStQQlZBKno0WENsNmJGKV5CP0RHOz80T3gK
ejtJJC1QViU+Tyh8QTQ+a2xLI2ZYOTdrVDtSUWRUSEFyfDhXU3dFNTBibVYlViZ7dGVSV2BwRTQy
fTJ4empPYWtgCno4IWNvdTdKRiNmNTRUS3doMHZLR2N+MjYoRVF3em9YcVVLPEY8I3ApSWV7MUdh
d1dqZT96KD19WD8mRHAzTT9GSQp6a19aJHd5fSk2Uk0xUk19Yzlke20mdE9KOHA3NlBCQ0ZmWGsh
I1NTQ3gtdUlHcz8zZnk0bjN4dVM+X1k1X3wpUEQKekNgb2tRT341UjtuIXtqMnk4bV9FUUxYV1BD
TnJEIylgMWEwc2UyaWA4UGtKaHZCS05kZXxvY1FANnw/MSpPb3QzCnpBMUdPSmVEWC1OfDkjO1Nr
Oyg3Y2FnakJVNT9OMkp0MEF4S0R7V1JNbTFFNkM9VyU1cnNOUHBzYk1oQ0dGd01rJQp6NnVCLU4o
bEk2NDtnKUhwSSolaD5pckNFTDhYa2BIZEh+ZXxQVHx0PkQwRWNlI1I2dVFkRVZJRnA+bSUobSh9
PHQKeiVOeCV7PUxYd35AKz1jMnhMbz1MPzZDYWAjU2xqb2JTYTxaT1E9d3MoajsrWGFMUnoxaCtO
T1k7PyklSUJgJGRGCnpjflpwdV9RU081SGszezRxTHxEbjJXQ09oVWJ+JWRmTXIkIXE7cyhPR0xy
JCk9P3MzJm07Y0p9NTUtWWpPZGNkJQp6ZjlzaSFGX1JiQzVEWkBxMn5CaDx5RFQmbkdXKiQ3YGoq
RkFhfVJyanItejFIVk5KPXN0UmstaU1GWVJPKj5nWXcKekpDYGs+QzBjcXtUYyQ7Y3VjYSV9Mjc2
dHBfeEQrVk45bSV2QU1LbHZJVEduZXFYRyRpQipvfWl5VE93WiEqRzYpCnpqIXw8fUQ5OEFWNmd5
Mkp1P1lwUmk4QFJZO3NePTFOaiN8NHt7REQjWHMxPSReMk9+c3Vfd143RDM/XnFnUntEYAp6bClY
ckQzJTlMQmlmSGtZWUNKK3ZRSmtycjZYMDl2UE1vPX1leXw3az4kXi1AJlokU0gkall8TnRDX3Ni
RX01dVYKeks7c0l2TlBjUVVjREFzWUszfm5qQiR9PUp1elJIZDx5UzgqYFlSWEUwUCFkJHI4Rjc1
eFIrQDIzQE4leEtRdU1HCnpeWmpfUj9MPDxpc3w0VFA9PClUQ2hhZkxeIUMzQW9MMGQkTU92eXox
eDRZTUY0SV9zJmlzMzZ1SGFUTEI5ekhMUAp6MzJ9LSpofWRrP0dgUiF5P0BWUktGcnljfDV9a3xK
Ymx9enNFY3h9OVpgaXl7bXAoOU1RMWc7JmkwZnA+OyZJQ1oKel8kbUghYHotbTZxOyM0dFAyeHlX
cDxfPFBMaHJLMkVuRCVzdCk+dV48czFpYzhWJU9VYl5KQi1kNFNVanNDJTc+Cnp7SUkqRHlrNGZ1
Qnt3SUlfTDc/dHBhNG1jV0lrPiolPnV+QCExU008PVAobWFKZnRJallpaGFMOCp0fVNBP21zZAp6
YVlad2N5PllrXjZrTmFKWUxAcz1xU3QyMFlMbGlmMUxnVXpuTXp2VkM2P3dwaldSZnczLUdARTlW
fVlCZ3l2RTAKenhHPiQzIWNAMCVWQGNiTio0M1lVdDhRJVZEbGFlZyVJbW5PcH0kcjJUTn5vN1V9
WiVpNHVmQn5UcHtIK3ZycFRaCnozfV5wOCUqP0o5P3VMK2s1dGhRZGl+RzJaJG83eFkjaF5rRGFU
M30zbyR1Rj0xKHRnYkpaZDFleDYoPSpZIzwkNQp6LVhDUXVVa1R0TWVEPmRVITtXdmd6MDJ1anE2
VjdSP0V6Z1RDc0BLS1ppfDMkN0ZjVUR5JCR2eiNXeio1I0J+eUUKejkmQG1oJUh6PmBWR0hPYnFK
M3BkbUJDbH1uVjhuZHd+bktWc29DdmhWaXExKkhrXnBfVSVpSCpaZ2RYMzs8ZmRzCnoxMkdecFZr
Ujw2Rzh+Uj8wc2pfOEghRz9qd3xUUVJSTGZnR3d0RUNmYWU3OWs8YnBIOGclPDA4dmF6RlhASmUp
Mwp6PyoyJjttYHpyP2YkNW5lTHZHUG1kRGU4VGpULUZoSWl8ezZzNSQ+Zmx0fH1NXm8kPytFTm11
blZPR2E4LUtxYEkKejhRUEs0YnllTnR0O0hhfTReRzAhN1YrIW8hQjtNenw1VDZuQHxpRGdCK3Qj
Rnk+RDA1am9AcVJNcHVkfTl4RU9hCnokQnl+T1hiZk1nYXUqYVd7bXZwNUdVKilRY2w+R15VWkxy
TE00cWIqek8kXm5UfFY1MXVVJCptLWV3cEFfVn5CNgp6ezUjNE5sOSpiTlZzMktGQkhgeGpMbDdg
VF5+b3o2KWQpNzVkS0FEIyttfntGJig2NnlgQEY7QTZ+cDtBbmNpMjwKejZ4Y0ApVGYzenRIU1ZZ
TSVOTk1CN01sakx4THA4bzM4eFlHY1IlbytjMUUwd0V7flA+PjZReGI1TlR3TThwb1RPCnokPXky
dCZfNj1MP3lSPSRzPmYmaVRJJTM7Y28lWW0oPiUtKF59JkxzbXsjQ2BRWjJSXmxvNnd6Ky0/UHtu
N253egp6dl91Ri1nZ1pgJjZ4YXVSUnFscTU5OEh2Izs8cyRHSGZfdCpHYWIwfXQqbmB3QDZLNzBA
S3JCfFojWChwMVhASzsKemArcEgtKHpnQXJ3diFTbyg2c0JrJH5AckgpdnpiRTYlZVlGLUAtWihP
QnZDX2JNOyNaXlVTKTEzYjdPSXBDelReCnorISFHbExQSXNMKFJ5PyQoT2xlRXR4PUp5MVkyZjdK
SFJ5JV53IX51VHdwb2YpRVQjJnU5VyhlVSFAIX5hSFIpVAp6a3ljNmp5KVhULVpAYnpMc3QkaH0w
Y3lkUTxNM2h5PU9wO3xDS0g0OUBhZzJ1JjVwKlI0bCpDLW9wQWRYJlVKISEKekNpTHs0JVZ+SHds
az9GPCRqK2F5SlMoM0dvMmQrYUM1T3U3NypXSXVUeC1lXkRJSGolKWNqJSktQ1RNZTE9cEJRCno+
Z0BrTG0rdDBWUHl9dTYpUFFLZ1d8dChKelI7VCNHVC1OSGBxQF96K0s0XjJTWiR9MmM8ZnJWTypL
eFdVTmIkOQp6OGx2JjRzVlBPLVNwayY5dD87MHNPZ1pzYlN2Sj9UTW8mVjVzZTxGSGgqNmg4Plcz
aDh1JWt3ekpBMVI1Xld3eVkKelF1e2ZZcnBiVVJZX3dwMHlSeUxNYEpnRnhAOGprJCU4elR0PSZO
QC0pS2NQMDNNTU9HXyY9KSV3WlJFRm4oKEQ5CnptbFk8IyVPOWhRP0NCZys5bGV8Xm1FTDtVZXpm
djJ3RHplRkRjXis/SitsNE9CIz1mJXg8JXM9dnNFXlQ0QFZHSwp6R2dLelV1emdfZ3l5WDF2cGpO
ZHhRKEFHPCFrVlNMZkYla3tTdlhjdztBLSZETCZwdV9GO2hBeTlZP09lYV9aaDQKenw1UmFLe1Aj
THlQPlFzJih1PFQ9U2VtVjlxVS1mYHZxTDJuc3Blczlkalo9SVgtZyFBbU1AeVFHfTJBMEtKYilh
CnpwTWMhdU9MJmJeNkBOM2ZPa3A3WHtVbnE5R0QjSF41eH4xPHt0IU1RI0JhSXVzNiNEbHZONUV3
SkRjIWZRPSt4bgp6PWJ+KlkpQVBhfjkoS0V5NmFEfmFLYz00I2E2MkcySis+QkZkVXNZKEhjO2Zt
MGtgfSppc1NlNTB8TWFfbiEwQEwKejY9fTU0YFZUZj93eU90YEY0RlQhPXYzTChmQ2FRN1I7Nk8z
fE0kNXomJX55KDNrPGF7Z3RsMT5rVzIqO3RxUUE7CnphLSpeTVZPfUB5bnlJd3JnfUVveyFLfHFW
UEhiQ2Y7akdEb2pTTTBOc2I0I0U4JD58T2M7aks8O2dPKSlXOVNXWAp6RlgwUX00V1RmcFFPQG13
MyRkMHVlQ0VCOXFrQlpYcn5aKH4+UGowPD5zNEtpTXRCZyk1NEwxS2ZRckM4MnVQWmIKenVYO3Q3
MT54PG9NM2JmKHtWM05JcG4/UjNzPSEqeXVOSDc9QH1eMyUmczB7IT5Sdm5AY2NuJUVoNVk/ZWFV
cHcyCnpWUzwqNXI3fmM0RE19UFZFYjgyaDFmJkt5QnoyOFY2ZzF+dVclYENTJkF1ZmBTNFp3PU9l
RUkjdXZnQiYtaF5EZAp6Q2hqWHBPRnZXIzxvdGx7ZGc+Xk9AeC1pMjA/VVU9X25LMW9ldHRobyFo
LXg1YDRZcEA0eUghbF98P1g9YiNoXjgKekZQOCYrTWVkMj4wLSRIUElKO1J1S291OVdOcChJZHpB
QVVPISYmV2ZydU90QDk9T0BTemhPcDk4Mz05Iyl8aE0yCnpJbzhfI0kqdlQjPCFlcjVxZCZ0MFBk
QE45Tys9PFg/bX1ATW5yXjwzckYwa2Q0aE0/S0A+RHwwTT1rdFpiS2JeYgp6ZiZHZ2JydCg1Uz9E
TkhTLWFIMHZLOXIrQU5JTHxXbCo9SklST20wd0h0QXVoXyY2U3A5TVlGN0BaMlh7SFlOYFYKelJk
JXdPTiZrN3VvfCU3ZEVPQ3w3JTNsWldsfjVBOVAjLXgmbSRtVXJiel9zKHJBMmkxUnd0UGlYRi1a
eDRfdEd1CnpCa013dCRIZk9oWk1LN1MxNUVHd3hVN3hLIVI/MDEzKiVAfTBxd054IX47XkhkVHhU
b3sqSWMrQlMmPUhZPThYZAp6YTVNY1pFcnM9Y058fnQxS29gaWMwXn1JMkhSJWxEb3ZMfChyaUQo
dVVgXmUpQUhLMUdeYzU0O0otNnJIZmZMUjIKekBzMTBYeWdzanZlKV5ZRldHUTZUZyYwVWNTNnhy
LSVjSikkVn1nUGIzKTNTeiFiYjBXOUUySGRwQ3BLRy1mYTl8CnooN015SG5kS2pZb1AlRWp7SXZL
X3ZGRCR3cG5CUV5sQ045bmI5WHo9R0pXUkE8PFBre2U8YkY+VWhJOEpOTyp6OQp6QXIzNV9gXi15
fWJNPEZWJmZee3Q1cHxec1V8ZEt6VyFhfWVEcH1gVVB4aGlDTnRlbFgwPll9ZCNpK0YxZlcrKiUK
enhHUjlENmQ1cWBHTE1kMTxZQT5sUWRuc1Q+XkpgYzlrPTZBbFNkdkM/fD5tTXZhUHUkbCFSKjxM
T2N+RFQ+MUVfCnoodk9SLXd4V1pNUHdMWTR3KWtXU1ZVN3dlMkBWN2BxNUBLSV80fTBeQT9SYWh0
azBsUy1+JiRYbDRmVj5Qb0JjRQp6MlZQc1ckVFQwfCg3NXtCVCRZPSRuRERWQTU+TFZAbXhOd2cr
aWJ+PllfXyl5IS10XyZUYikjKEo4UVomd2lnbnoKejhuNzZTc25lK0I8WG0tZCZaVnNuPnFkeHEq
QyRCYyhXeVRzI2sqY0pDVTMzWCFHYyhiISFQdn4qO0o9JUtjUEpFCno9ZkNwY2o5K3A2Q3Z5fmsz
RCU/Zmo2eDRhP3UwN3tkSGlIbU95I25zTGZRZC01OTNgMWxGNS1kOU9uVDRNeyYmRAp6dmxYK09x
Uyp6PjMyWW5AX20xUkBPQDItZTA2e1Q/MElAUTghYWFpRFBacDJ0SyYjO0tgQEcmMWxfS0toI3tw
PXEKendYeDxsXkpkd3E9e1AlNT4jPyYtWno2U24pY1k4dWJQNjB5ITxDRXM+e3Q3NkkxdC0qKlMy
RHFFVDcyWCl8cyNtCnpOJER1bGchTHc+bHhLRyN7ZEpvKXVjRUZQZFNhJFlBN359TlYpKy12LXhU
NSFhNThxKXVNUFkmbiZYVDJuYGJgbgp6MmolUzljcXAtck1peUskNlM5e3o4ajdVV2ZUSWgrcWp7
LWtJSHAoLUJ5WEZnQndtdShvfFh4aVAwT09uYjh8VTYKeklVfjlSIWo2e1BRKkdaSEpCVkZRVDBA
bzxDfX1RVDJkOVQ1QlZXMUY0YDlFKGBhUjwmaGZqTzxve2VXe19kfnotCnpTUztZSW0kezIxJWls
RlFtLTBGMHdWUUlHR3g9b0ZLMGVlN3Q5aSo4MlNvUHRxSDt9bjNOeyUwZk0hLUtMJkdKZAp6cER9
fWkrZiNVZy1aQEA1aW85UjI3MV5QTDVqLV8/Yi19MUlTdkhrNiEwME4rezM3OGVfWCpCMkpeZ3BX
YXtPJG0KejRIfHdzZi1penRXSUEqfEU9MFA9NDBlRnxuaGwqZElZZ14qP3Z6MzZPTXBaMz89QkJZ
SWh2UztGREhUZUt6bjBhCnpVK0wxfio9JnsyM2Z7MWNXZS18TnFEb3NObnY3TmFlRXtfPD1YSiVY
ZElvSX4tZi1rKm1HNXp6TFI9RSppeFBTUAp6MXp9S1kmXkUoQkNxSl8+RzN2PjItQktHVSp6ayk0
a2kpbGlEI0dmST5BYVIxc1RqRjdrZHVkUEZJQkI8YGA2aFgKejdFenIwZ0toVithdEJVcERMeW8h
Ri1UQldFNEdOSmp2VEBZQTZaJH02cFFAPVJ+O203WFo1VHF4PXljSDN8UW12CnpFVWdwWmYxUn5w
NWt0Rzw0ampoZipnJCpmbSgxcSp7cTtOXnh+LVNTcUtpVGplP0BnNWYzWW47QWJJdHgmdnNrfgp6
cCkhO2VrNTFac0dPWGswRzR6emtKeipFVz8yN2tDbTN6IUFmM3ZFekstcGMxXmBEWl9efEpkVik5
Szk8dUVodkMKemRFaUpLKW17KG1RNjFaTnIhfGFURHE+XnJgfG9aJGFKfC17QlNlMDdVX3J9ZUQ+
N3hBTnAyeXdJVUtwZD1AaXxCCnp0eUkoY3JuQCMhN05Le1ktOGRGVS01X3MtSElnX0ZFIThoMG1B
cE4qSGpfK1BmbkIwSSRDOClaKVFhPDQmNUI9KQp6NUlCOUklT1Eqb1g7WjJkaGlyVWFGO2YyNGUx
SW9UJEMqbXJKUlNpSjg5RWE4VClkdTJmeW9TYXJycztNYnxUNjMKenYqUG58UHRhOz01d3xONC0p
fF8pQT9kbEVWZG4oZ2Q9QDA5NnJXQW5jRzVNa1VXciF9KUJJQVVlKHhvYj9rU24kCnohY2c7X1ox
aHdgVlNmeysjTGR7Ym9fOyYmMmtWNGc/dmZHQF9MS3RzZF9nfktHIXojcS1FKl8mJFBjO1BTMkQ5
UAp6eUo1M1YxY3dGaD9WTDIwciE5X0pKXyhYMVZ6MH41VWZ1VWtFT2F6WHYkaCtPXnBHKW8+NnQj
Ym9PQHpecyFZP1UKejVqQzNmQnQyK3tXJjskX0txZytSa35oeyMwVj5eTjRCKXFhdn1Cfmc/RStZ
NHJ0YC1tI25DMEp5YVJqcVdoUUpFCnpJYHR3SmxKcDxgKTRZMXlnQ1dnSiVkQFk0cX1WKl9NPU1P
R051cTVsU3UtVilhcCshV018R0hJRHReaG5WPiRAegp6NWwwO1NvJWA4dU4+IWhALShiJXNsMHFE
WmspUH54Um57UUljanJVKjlUMFBFRFVYMk94WE1HMGJMKEolN15UJl4KejwtI2QjdzZDV1cmUEEp
OFZGbFFzVXFlNm0kQShkZ3EoPyRJUCgoPk9wUH41amMhNWsjLT5xTHNzfWshV3QqOCZUCnpjYn5Z
VUg7aTs5N01YMEVYfTw0TiM/U0VVOFJ7JXxsfE96d1pFQ3xKT3BwPlZvKWZwfmVgNC1uVjEtck09
UUN6Twp6XiR2NHM0Sz4tIVZuWSk4Rl9qaGNaXiVOJiNEKG83dyNfbU8/IzEhc2draXtMRSlPSnxu
SWdXUFU2NGF7NittZzwKekkyZkN0RGlvdnxxelQmLWNZc3F2aT05VjxgXjxKMHZ6MTZvYE9hOHR6
dkx9QDBiOTwqKVVRZW8ka30tRSU4QShnCno5Jjhpc3JNMjQwJSlwfVNAc2IjRjNPYTduaV9rYT57
eTQzPkRxXmF+XmYwUlEzd0VJYm9kYSFpUnhwVG5NNlRCMAp6YV9UTXlib15TXik9PSk3Mmd0UHVl
bnx1JWVXSCt4WV9PLUVTaiNRaG1mOT5rIyZyTHhsPiQlcGRxaGl0Pz1fLWIKengmKmZpTHxiYzQt
OVAtTTNwKUYme0pDfU9BVyZkOVgjRFFAJlF9WEExRFNUOUpMeTtBNEcyYTFFXnU9N1p0X2lvCnpa
UUk+VSRackFfcF98JEt3NEspLXpQJGpCbn51RmMlS2hKYihOfT07emdJbFlCZXI3dFJ2TGQ9TE9B
TlErUz47Xgp6dVA/bD9Wckc4Ym9BRihLVGdqVVdfYDlVUFF1X1pBT0puaTZgMk5xeTQjN1Z6JihE
N1hUSXM+bWJ1dFFmaz0yUyoKelpHZkBuX3Ywdm9xVl5zNVY7QmFLe19eYklIdEwlY1N6LWpWbyY1
cjVeRXljWnVuemxCdz59NXwmLTQjQE1fQmdDCnowS05HeFclYDwqOHZ9ekJxZl53elk9M0JPOC1p
fiZeRjNIOTMtQ2dVIyF1Kl9sZ1lhdkZeNChUKnE5bFNnN0BDMwp6WT84ViRpRzd4YndSM3ZqZ0lZ
NG4kZl4jMylgRUhiJTJxb0RhZkJXQ1RxTDV0JntATGF8MihSWHglMlVWJGtGLSMKeiVpYzVhQz4o
OH1mQURwTkpzO0BtKERfKDVidVE9K0h8PVd9ZVVxakFOZENnUjlWTjF8ZERkenhHck0qbHgwXz9R
CnpEJkR4RSleXnMoYVd7M1h0UihCYF85O15kLSREa2N5Vj1ld1hadkwoQGFrY2pLelNtXzV3bnI/
dXhVU3dJRTRXJgp6ekppNTsjS3tiQkI0eUYjS0VGbGttUzUkeElYfnZSdDZmcGNeMT00P1crO254
WE5fUkRRbkkpcXl5TGckZlJ8M0AKejtHJFo4eWUxRzIqeEREJXFpajJWbisqN0VHUn1ad3lHcG91
fEZrSUp4ME89Jm9aWVV8MTZ6Rm8xXmhOJHktUm16CnpoaEtwTU4/JE1MTWVoaXJ6ITMtfnV0ZGAx
e30hZEsxY1p7bU9acUZOemdZVGZhZXd7TlVzdzR6cCFeUD8oZkBQOQp6RX0jQy02KCopYlFrKHg1
OzRkcnElYm9yKiUpZ31mWikpJjJmJT08Zns+Xi1VKDtIQCV6eDlFP1JnfU5Bcm9aS3sKaXplVTNU
PCl6ZG4jOyZyKER2Tmwhb2VDNTFiM3hEZVQ9N3xfSk8yLUxOKHJSXgoKbGl0ZXJhbCAwCkhjbVY/
ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3N2Zy10cmFuc2l0aW9u
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc3ZnLXRyYW5zaXRpb25zLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YTUzMDkyNWVjOTNiMDkwMWM1YmE4YzBiMmVmYjQ0ZGIz
MzRlMTcxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3N2Zy10cmFu
c2l0aW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMSBAQAorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDIxMjogRmFpbGVkIHRvIHBhdXNlICdmaWxsJyB0cmFuc2l0aW9uIG9uIGVsZW1lbnQgJ3Jl
Y3Q3JworRXhhbXBsZQorUEFTUyAtICJmaWxsLW9wYWNpdHkiIHByb3BlcnR5IGZvciAicmVjdDEi
IGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogMC42CitQQVNTIC0gInN0cm9r
ZS13aWR0aCIgcHJvcGVydHkgZm9yICJyZWN0MSIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5n
IGNsb3NlIHRvOiAzCitQQVNTIC0gInN0cm9rZS1vcGFjaXR5IiBwcm9wZXJ0eSBmb3IgInJlY3Qx
IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IDAuNgorUEFTUyAtICJzdHJv
a2UtZGFzaG9mZnNldCIgcHJvcGVydHkgZm9yICJyZWN0MSIgZWxlbWVudCBhdCAxcyBzYXcgc29t
ZXRoaW5nIGNsb3NlIHRvOiA1CitQQVNTIC0gImZpbGwiIHByb3BlcnR5IGZvciAicmVjdDIiIGVs
ZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogMCwxMjcsMTI3CitQQVNTIC0gInN0
cm9rZSIgcHJvcGVydHkgZm9yICJyZWN0MiIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNs
b3NlIHRvOiAxMjcsMCwwCitQQVNTIC0gInN0cm9rZS13aWR0aCIgcHJvcGVydHkgZm9yICJyZWN0
NCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiA4CitQQVNTIC0gInN0cm9r
ZS13aWR0aCIgcHJvcGVydHkgZm9yICJyZWN0NSIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5n
IGNsb3NlIHRvOiA1CitQQVNTIC0gInN0cm9rZS13aWR0aCIgcHJvcGVydHkgZm9yICJyZWN0NiIg
ZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiAxNQorRkFJTCAtICJmaWxsIiBw
cm9wZXJ0eSBmb3IgInJlY3Q3IiBlbGVtZW50IGF0IDFzIGV4cGVjdGVkOiAwLDAsMTI3IGJ1dCBz
YXc6ICNpbnZhbGlkICMwMDAwZmYKK1BBU1MgLSAic3RvcC1jb2xvciIgcHJvcGVydHkgZm9yICJz
dG9wMSIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiAxMjcsMTI3LDAKK1BB
U1MgLSAic3RvcC1vcGFjaXR5IiBwcm9wZXJ0eSBmb3IgInN0b3AxIiBlbGVtZW50IGF0IDFzIHNh
dyBzb21ldGhpbmcgY2xvc2UgdG86IDAuNzUKK1BBU1MgLSAic3Ryb2tlLW1pdGVybGltaXQiIHBy
b3BlcnR5IGZvciAicG9seWxpbmUxIiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2Ug
dG86IDExCitQQVNTIC0gImtlcm5pbmciIHByb3BlcnR5IGZvciAidGV4dDEiIGVsZW1lbnQgYXQg
MXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogNQorUEFTUyAtICJiYXNlbGluZS1zaGlmdCIgcHJv
cGVydHkgZm9yICJ0ZXh0MSIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiA1
CitQQVNTIC0gImZsb29kLW9wYWNpdHkiIHByb3BlcnR5IGZvciAiZmxvb2QxIiBlbGVtZW50IGF0
IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IDAuNQorUEFTUyAtICJmbG9vZC1jb2xvciIgcHJv
cGVydHkgZm9yICJmbG9vZDEiIGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzog
MTI3LDEyNywwCitQQVNTIC0gImxpZ2h0aW5nLWNvbG9yIiBwcm9wZXJ0eSBmb3IgImxpZ2h0MSIg
ZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiAxMjcsMTI3LDAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3N2Zy10cmFuc2l0aW9ucy5odG1sIGIvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL3N2Zy10cmFuc2l0aW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwOTM4OWMz
NGVhMzIzYzk5MWY3MDkyMjExN2U0ZjUxNWU3MWQxYjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jc3MzL2NhbGMvc3ZnLXRyYW5zaXRpb25zLmh0bWwKQEAgLTAsMCArMSwxODUgQEAK
KzxodG1sPgorPGhlYWQ+CisgIDxzdHlsZT4KKworICBzdmcgKiB7CisgICAgICAtd2Via2l0LXRy
YW5zaXRpb24tcHJvcGVydHk6IGZpbGwsIHN0cm9rZSwgZmlsbC1vcGFjaXR5LCBzdHJva2Utb3Bh
Y2l0eSwgc3Ryb2tlLXdpZHRoLCBzdHJva2UtZGFzaG9mZnNldCwgc3Ryb2tlLW1pdGVybGltaXQs
IGtlcm5pbmcsIGJhc2VsaW5lLXNoaWZ0LCBmbG9vZC1jb2xvciwgZmxvb2Qtb3BhY2l0eSwgc3Rv
cC1jb2xvciwgc3RvcC1vcGFjaXR5LCBsaWdodGluZy1jb2xvcjsKKyAgICAgIC13ZWJraXQtdHJh
bnNpdGlvbi1kdXJhdGlvbjogMnM7CisgICAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1
bmN0aW9uOiBsaW5lYXI7CisgIH0KKworICAjcmVjdDEgeworICAgICAgZmlsbDogcmdiKDAsIDAs
IDI1NSk7CisgICAgICBzdHJva2U6IHJlZDsKKyAgICAgIGZpbGwtb3BhY2l0eTogMTsKKyAgICAg
IHN0cm9rZS1vcGFjaXR5OiAxOworICAgICAgc3Ryb2tlLXdpZHRoOiAyOworICAgICAgc3Ryb2tl
LWRhc2hvZmZzZXQ6IDA7CisgICAgICBzdHJva2UtZGFzaGFycmF5OiAxMDsKKyAgfQorICAuYW5p
bWF0aW5nICNyZWN0MSB7CisgICAgICBmaWxsOiByZ2IoMCwgMjU1LCAwKTsKKyAgICAgIHN0cm9r
ZTogYmxhY2s7CisgICAgICBmaWxsLW9wYWNpdHk6IDAuMjsKKyAgICAgIHN0cm9rZS1vcGFjaXR5
OiAwLjI7CisgICAgICBzdHJva2Utd2lkdGg6IDQ7CisgICAgICBzdHJva2UtZGFzaG9mZnNldDog
MTA7CisgIH0KKworICAjcmVjdDIgeworICAgICAgZmlsbDogcmdiKDAsIDAsIDI1NSk7CisgICAg
ICBzdHJva2U6IHJnYigyNTUsIDAsIDApOworICB9CisgIC5hbmltYXRpbmcgI3JlY3QyIHsKKyAg
ICAgIGZpbGw6IHJnYigwLCAyNTUsIDApOworICAgICAgc3Ryb2tlOiByZ2IoMCwgMCwgMCk7Cisg
IH0KKworICAjcmVjdDMgeworICAgICAgZmlsbDogdXJsKCNncmFkaWVudDEpOworICB9CisgIC5h
bmltYXRpbmcgI3JlY3QzIHsKKyAgICAgIGZpbGw6IHVybCgjZ3JhZGllbnQyKTsKKyAgfQorCisg
ICNzdG9wMSB7CisgICAgICBzdG9wLWNvbG9yOiByZ2IoMjU1LDAsMCk7CisgICAgICBzdG9wLW9w
YWNpdHk6IDE7CisgIH0KKyAgLmFuaW1hdGluZyAjc3RvcDEgeworICAgICAgc3RvcC1jb2xvcjog
cmdiKDAsMjU1LDApOworICAgICAgc3RvcC1vcGFjaXR5OiAwLjU7CisgIH0KKworICAjcmVjdDQg
eworICAgICAgc3Ryb2tlOiByZWQ7CisgICAgICBzdHJva2Utd2lkdGg6IC13ZWJraXQtY2FsYygx
cHgpOworICB9CisgIC5hbmltYXRpbmcgI3JlY3Q0IHsKKyAgICAgIHN0cm9rZS13aWR0aDogNG1t
OworICB9CisKKyAgI3JlY3Q1IHsKKyAgICAgIHN0cm9rZTogYmxhY2s7CisgICAgICBzdHJva2Ut
d2lkdGg6IDA7CisgIH0KKyAgLmFuaW1hdGluZyAjcmVjdDUgeworICAgICAgc3Ryb2tlLXdpZHRo
OiAtd2Via2l0LWNhbGMoMTBweCk7CisgIH0KKworICAjcmVjdDYgeworICAgICAgc3Ryb2tlOiBi
bGFjazsKKyAgICAgIHN0cm9rZS13aWR0aDogLXdlYmtpdC1jYWxjKDEwJSk7CisgIH0KKyAgLmFu
aW1hdGluZyAjcmVjdDYgeworICAgICAgc3Ryb2tlLXdpZHRoOiAtd2Via2l0LWNhbGMoMjAlKTsK
KyAgfQorCisgICNyZWN0NyB7CisgICAgICBmaWxsOiB1cmwoI2ludmFsaWQpIGJsYWNrOworICB9
CisgIC5hbmltYXRpbmcgI3JlY3Q3IHsKKyAgICAgIGZpbGw6IHVybCgjaW52YWxpZCkgYmx1ZTsK
KyAgfQorCisgICNwb2x5bGluZTEgeworICAgICAgZmlsbDogbm9uZTsKKyAgICAgIHN0cm9rZTog
YmxhY2s7CisgICAgICBzdHJva2Utd2lkdGg6IDQ7CisgICAgICBzdHJva2UtbWl0ZXJsaW1pdDog
MTI7CisgIH0KKyAgLmFuaW1hdGluZyAjcG9seWxpbmUxIHsKKyAgICAgIHN0cm9rZS1taXRlcmxp
bWl0OiAxMDsKKyAgfQorCisgICN0ZXh0MSB7CisgICAgICBrZXJuaW5nOiAwOworICAgICAgYmFz
ZWxpbmUtc2hpZnQ6IDA7CisgIH0KKyAgLmFuaW1hdGluZyAjdGV4dDEgeworICAgICAga2Vybmlu
ZzogLXdlYmtpdC1jYWxjKDEwcHgpOworICAgICAgYmFzZWxpbmUtc2hpZnQ6IC13ZWJraXQtY2Fs
YygxMHB4KTsKKyAgfQorCisgICNmbG9vZDEgeworICAgICAgZmxvb2Qtb3BhY2l0eTogMTsKKyAg
ICAgIGZsb29kLWNvbG9yOiByZ2IoMjU1LCAwLCAwKTsKKyAgfQorICAuYW5pbWF0aW5nICNmbG9v
ZDEgeworICAgICAgZmxvb2Qtb3BhY2l0eTogMDsKKyAgICAgIGZsb29kLWNvbG9yOiByZ2IoMCwg
MjU1LCAwKTsKKyAgfQorCisgICNsaWdodDEgeworICAgICAgbGlnaHRpbmctY29sb3I6IHJnYigy
NTUsIDAsIDApOworICB9CisgIC5hbmltYXRpbmcgI2xpZ2h0MSB7CisgICAgICBsaWdodGluZy1j
b2xvcjogcmdiKDAsIDI1NSwgMCk7CisgIH0KKyAgPC9zdHlsZT4KKyAgPHNjcmlwdCBzcmM9InJl
c291cmNlcy90cmFuc2l0aW9uLXRlc3QtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQ+
CisgIGNvbnN0IGV4cGVjdGVkVmFsdWVzID0gWworICAvLyBbdGltZSwgZWxlbWVudC1pZCwgcHJv
cGVydHksIGV4cGVjdGVkLXZhbHVlLCB0b2xlcmFuY2VdCisgIFsxLCAicmVjdDEiLCAiZmlsbC1v
cGFjaXR5IiwgMC42LCAwLjFdLCAvLyAxIC0+IDAuMgorICBbMSwgInJlY3QxIiwgInN0cm9rZS13
aWR0aCIsIDMsIDAuNV0sICAgLy8gMiAtPiA0CisgIFsxLCAicmVjdDEiLCAic3Ryb2tlLW9wYWNp
dHkiLCAwLjYsIDAuMV0sIC8vIDEgLT4gMC4yCisgIFsxLCAicmVjdDEiLCAic3Ryb2tlLWRhc2hv
ZmZzZXQiLCA1LCAxXSwgLy8gMCAtPiAxMAorICBbMSwgInJlY3QyIiwgImZpbGwiLCBbMCwgMTI3
LCAxMjddLCAyMF0sIC8vIHJnYigwLCAwLCAyNTUpIC0+IHJnYigwLCAyNTUsIDApCisgIFsxLCAi
cmVjdDIiLCAic3Ryb2tlIiwgWzEyNywgMCwgMF0sIDIwXSwgIC8vIHJnYigyNTUsIDAsIDApIC0+
IHJnYigwLCAwLCAwKQorICBbMSwgInJlY3Q0IiwgInN0cm9rZS13aWR0aCIsIDgsIDFdLCAgLy8g
MXB4IHRvIDRtbQorICBbMSwgInJlY3Q1IiwgInN0cm9rZS13aWR0aCIsIDUsIDFdLCAgLy8gMCB0
byAxMHB4CisgIFsxLCAicmVjdDYiLCAic3Ryb2tlLXdpZHRoIiwgMTUsIDJdLCAgLy8gMTAlIHRv
IDIwJQorICBbMSwgInJlY3Q3IiwgImZpbGwiLCBbMCwgMCwgMTI3XSwgMjBdLCAgLy8gdXJsKCNp
bnZhbGlkKSBibGFjayAtPiB1cmwoI2ludmFsaWQpIGJsdWUKKyAgWzEsICJzdG9wMSIsICJzdG9w
LWNvbG9yIiwgWzEyNywgMTI3LCAwXSwgMjBdLCAvLyByZ2IoMjU1LDAsMCkgLT4gcmdiKDAsIDI1
NSwgMCkKKyAgWzEsICJzdG9wMSIsICJzdG9wLW9wYWNpdHkiLCAwLjc1LCAwLjFdLCAvLyAxIC0+
IDAuNQorICBbMSwgInBvbHlsaW5lMSIsICJzdHJva2UtbWl0ZXJsaW1pdCIsIDExLCAwLjVdLCAv
LyAxMiAtPiAxMCAodGhpcyBpcyBhbiBhYnJ1cHQgY2hhbmdlIGluIHJlbmRlcmluZyBldmVuIHRo
b3VnaCB0aGUgcHJvcGVydHkgYW5pbWF0aW9uIGlzIHNtb290aCkKKyAgWzEsICJ0ZXh0MSIsICJr
ZXJuaW5nIiwgNSwgMV0sIC8vIDAgLT4gMTBweAorICBbMSwgInRleHQxIiwgImJhc2VsaW5lLXNo
aWZ0IiwgNSwgMV0sIC8vIDAgLT4gMTBweAorICBbMSwgImZsb29kMSIsICJmbG9vZC1vcGFjaXR5
IiwgMC41LCAwLjFdLCAvLyAxIC0+IDAKKyAgWzEsICJmbG9vZDEiLCAiZmxvb2QtY29sb3IiLCBb
MTI3LCAxMjcsIDBdLCAyMF0sIC8vIHJnYigwLCAyNTUsIDApIC0+IHJnYigyNTUsIDAsIDApCisg
IFsxLCAibGlnaHQxIiwgImxpZ2h0aW5nLWNvbG9yIiwgWzEyNywgMTI3LCAwXSwgMjBdLCAvLyBy
Z2IoMjU1LCAwLCAwKSAtPiByZ2IoMCwgMjU1LCAwKQorICBdOworICAgIAorICBmdW5jdGlvbiBz
ZXR1cFRlc3QoKQorICB7CisgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVy
JykuY2xhc3NOYW1lID0gJ2FuaW1hdGluZyc7CisgIH0KKworICBydW5UcmFuc2l0aW9uVGVzdChl
eHBlY3RlZFZhbHVlcywgc2V0dXBUZXN0LCB1c2VQYXVzZUFQSSk7CisgIDwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+CisKKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgIDxzdmcgdmlld0JveD0iMCAw
IDE2MCAxMjAiIHdpZHRoPSI0MDBweCIgaGVpZ2h0PSIzMDBweCI+CisgICAgPGRlZnM+CisgICAg
ICA8bGluZWFyR3JhZGllbnQgaWQ9ImdyYWRpZW50MSI+CisgICAgICAgIDxzdG9wIGlkPSJzdG9w
MSIgb2Zmc2V0PSI1JSIvPgorICAgICAgICA8c3RvcCBvZmZzZXQ9Ijk1JSIgc3RvcC1jb2xvcj0i
cmdiKDAsMCwyNTUpIiAvPgorICAgICAgPC9saW5lYXJHcmFkaWVudD4KKyAgICAgIDxsaW5lYXJH
cmFkaWVudCBpZD0iZ3JhZGllbnQyIj4KKyAgICAgICAgPHN0b3Agb2Zmc2V0PSIxMCUiIHN0b3At
Y29sb3I9InJnYigwLDI1NSwyNTUpIiAvPgorICAgICAgICA8c3RvcCBvZmZzZXQ9Ijk1JSIgc3Rv
cC1jb2xvcj0icmdiKDI1NSwgMCwyNTUpIiAvPgorICAgICAgPC9saW5lYXJHcmFkaWVudD4KKyAg
ICAgIDxmaWx0ZXIgaWQ9ImZpbHRlcjEiPgorICAgICAgICA8ZmVGbG9vZCBpZD0iZmxvb2QxIi8+
CisgICAgICAgIDxmZURpZmZ1c2VMaWdodGluZyBpZD0ibGlnaHQxIi8+CisgICAgICA8L2ZpbHRl
cj4KKyAgICA8L2RlZnM+CisgICAgPHJlY3QgaWQ9InJlY3QxIiB4PSIxMCIgeT0iMTAiIHdpZHRo
PSIzMCIgaGVpZ2h0PSIzMCIvPgorICAgIDxyZWN0IGlkPSJyZWN0MiIgeD0iOTAiIHk9IjEwIiB3
aWR0aD0iMzAiIGhlaWdodD0iMzAiLz4KKyAgICA8cmVjdCBpZD0icmVjdDMiIHg9IjkwIiB5PSI2
MCIgd2lkdGg9IjMwIiBoZWlnaHQ9IjIwIi8+CisgICAgPHJlY3QgaWQ9InJlY3Q0IiB4PSIxMCIg
eT0iMTAwIiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiLz4KKyAgICA8cmVjdCBpZD0icmVjdDUiIHg9
IjUwIiB5PSIxMDAiIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCIvPgorICAgIDxyZWN0IGlkPSJyZWN0
NiIgeD0iOTAiIHk9IjEwMCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIi8+CisgICAgPHJlY3QgaWQ9
InJlY3Q3IiB4PSIxMzAiIHk9IjEwMCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIi8+CisgICAgPHBv
bHlsaW5lIGlkPSJwb2x5bGluZTEiIHBvaW50cz0iMTAsNzAgNjAsNzUgMTAsODAiLz4KKyAgICA8
dGV4dCBpZD0idGV4dDEiIHg9IjEwMCIgeT0iNjAiPkV4YW1wbGU8L3RleHQ+CisgIDwvc3ZnPgor
PC9kaXY+CisKKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvdGFibGUtY2FsY3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3RhYmxl
LWNhbGNzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMDUxOTI2ZWY2ZDViZTFhMTAwY2I1N2Rj
ZDdmNWU0NDhmYmYzYWVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L3RhYmxlLWNhbGNzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0FsbCB0YWJsZSBjZWxs
cyBiZWxvdyBzaG91bGQgYmUgMTAwcHggKiAxMDBweCBhbmQgZ3JlZW4uCisKK2NvbnRyb2wgd2lk
dGg6MTAwcHggPT4gUEFTUwlzaW1wbGUgMTAwcHggPT4gUEFTUwkyNXB4ICogNCA9PiBQQVNTCitj
b250cm9sIGhlaWdodDoxMDBweCA9PiBQQVNTCXNpbXBsZSAxMDBweCA9PiBQQVNTCTI1cHggKiA0
ID0+IFBBU1MKK2NvbnRyb2wgd2lkdGg6MjUlID0+IFBBU1MJc2ltcGxlIDI1JSA9PiBGQUlMOiBl
eHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMTM1CTEwJSAqIDIgKyA1JSA9PiBGQUlMOiBl
eHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgNjAKK2NvbnRyb2wgaGVpZ2h0OjI1JSA9PiBQ
QVNTCitzaW1wbGUgMjUlID0+IFBBU1MKKzEwJSAqIDIgKyA1JSA9PiBGQUlMOiBleHBlY3RlZCBo
ZWlnaHQgb2YgMTAwLCBidXQgd2FzIDE4CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMv
Y2FsYy90YWJsZS1jYWxjcy5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3RhYmxlLWNhbGNz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjE3MWM1OTQ2NDE4YzRkZDY0YWUxMGE3ZjA2NDE3NDY3ZTRiOGZh
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJsZS1jYWxjcy5o
dG1sCkBAIC0wLDAgKzEsMTAwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxzdHlsZT4KKy53aWR0aC10
ZXN0IHsKKyAgICBwYWRkaW5nOiAwOworICAgIHdpZHRoOiAtd2Via2l0LWNhbGMoMjU2cHgpOyAK
KyAgICBoZWlnaHQ6IC13ZWJraXQtY2FsYygxMDBweCk7CisgICAgYmFja2dyb3VuZC1jb2xvcjog
cmVkOworfQorCisud2lkdGgtcGVyY2VudC10ZXN0IHsKKyAgICBwYWRkaW5nOiAwOworICAgIGhl
aWdodDogLXdlYmtpdC1jYWxjKDEwMHB4KTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Cit9
CisKKy5oZWlnaHQtdGVzdCB7CisgICAgcGFkZGluZzogMDsKKyAgICB3aWR0aDogLXdlYmtpdC1j
YWxjKDEwMHB4KTsKKyAgICBoZWlnaHQ6IC13ZWJraXQtY2FsYygyNTZweCk7CisgICAgYmFja2dy
b3VuZC1jb2xvcjogcmVkOworfQorCisuaGVpZ2h0LXBlcmNlbnQtdGVzdCB7CisgICAgcGFkZGlu
ZzogMDsKKyAgICB3aWR0aDogLXdlYmtpdC1jYWxjKDEwMHB4KTsKKyAgICBiYWNrZ3JvdW5kLWNv
bG9yOiByZWQ7Cit9CisKKzwvc3R5bGU+CisKKzxwPgorICBBbGwgdGFibGUgY2VsbHMgYmVsb3cg
c2hvdWxkIGJlIDEwMHB4ICogMTAwcHggYW5kIGdyZWVuLgorPC9wPgorCis8ZGl2IGlkPSJ0ZXN0
Ij4KKyAgICA8dGFibGU+CisgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJ3aWR0aC10
ZXN0IiBzdHlsZT0id2lkdGg6IDEwMHB4OyI+Y29udHJvbCB3aWR0aDoxMDBweDwvdGQ+CisgICAg
ICAgICAgPHRkIGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygx
MDBweCk7Ij5zaW1wbGUgMTAwcHg8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0id2lkdGgtdGVz
dCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMjVweCAqIDQpOyI+MjVweCAqIDQ8L3RkPgor
ICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgorICAgIDx0YWJsZT4KKyAgICAgIDx0cj4KKyAgICAg
ICAgICA8dGQgY2xhc3M9ImhlaWdodC10ZXN0IiBzdHlsZT0iaGVpZ2h0OiAxMDBweDsiPmNvbnRy
b2wgaGVpZ2h0OjEwMHB4PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9ImhlaWdodC10ZXN0IiBz
dHlsZT0iaGVpZ2h0OiAtd2Via2l0LWNhbGMoMTAwcHgpOyI+c2ltcGxlIDEwMHB4PC90ZD4KKyAg
ICAgICAgICA8dGQgY2xhc3M9ImhlaWdodC10ZXN0IiBzdHlsZT0iaGVpZ2h0OiAtd2Via2l0LWNh
bGMoMjVweCAqIDQpOyI+MjVweCAqIDQ8L3RkPgorICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgor
ICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6NDEwcHg7IGJvcmRlci1zcGFjaW5nOiAycHggMnB4Ij4K
KyAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9IndpZHRoLXBlcmNlbnQtdGVzdCIgc3R5
bGU9IndpZHRoOiAyNSU7Ij5jb250cm9sIHdpZHRoOjI1JTwvdGQ+CisgICAgICAgICAgPHRkIGNs
YXNzPSJ3aWR0aC1wZXJjZW50LXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDI1JSk7
Ij5zaW1wbGUgMjUlPC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9IndpZHRoLXBlcmNlbnQtdGVz
dCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMTAlICogMiArIDUlKTsiPjEwJSAqIDIgKyA1
JTwvdGQ+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgCisgICAgPGRpdiBzdHlsZT0i
aGVpZ2h0OiA0MTZweCI+CisgICAgICA8dGFibGUgc3R5bGU9ImhlaWdodDogMjUlIj4KKyAgICAg
ICAgICA8dHI+PHRkIGNsYXNzPSJoZWlnaHQtcGVyY2VudC10ZXN0Ij5jb250cm9sIGhlaWdodDoy
NSU8L3RkPjwvdHI+CisgICAgICA8L3RhYmxlPgorICAgIDwvZGl2PgorICAgIDxkaXYgc3R5bGU9
ImhlaWdodDogNDE2cHgiPgorICAgICAgPHRhYmxlIHN0eWxlPSJoZWlnaHQ6IC13ZWJraXQtY2Fs
YygyNSUpOyI+CisgICAgICAgICAgPHRyPjx0ZCBjbGFzcz0iaGVpZ2h0LXBlcmNlbnQtdGVzdCI+
c2ltcGxlIDI1JTwvdGQ+PC90cj4KKyAgICAgIDwvdGFibGU+CisgICAgPC9kaXY+CisgICAgPGRp
diBzdHlsZT0iaGVpZ2h0OiA0MTZweCI+CisgICAgICA8dGFibGUgc3R5bGU9ImhlaWdodDogLXdl
YmtpdC1jYWxjKDEwJSAqIDIgKyA1JSkpOyI+CisgICAgICAgICAgPHRyPjx0ZCBjbGFzcz0iaGVp
Z2h0LXBlcmNlbnQtdGVzdCI+MTAlICogMiArIDUlPC90ZD48L3RyPgorICAgICAgPC90YWJsZT4K
KyAgICA8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGlkPSJyZXN1bHRzIj48L2Rpdj4KKworPHNjcmlw
dD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworCit2YXIgY2VsbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGVzdCIpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZCIpOworZm9yICh2YXIgaSA9IDA7IGkg
PCBjZWxscy5sZW5ndGg7ICsraSkgeworICAgIHZhciBjZWxsID0gY2VsbHNbaV07CisgICAgdmFy
IHdpZHRoID0gY2VsbC5vZmZzZXRXaWR0aDsKKyAgICB2YXIgaGVpZ2h0ID0gY2VsbC5vZmZzZXRI
ZWlnaHQ7CisKKyAgICB2YXIgZXJyb3IgPSBbXTsKKyAgICBpZiAod2lkdGggIT0gMTAwKQorICAg
ICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgIiArIHdpZHRo
KTsKKyAgICBpZiAoaGVpZ2h0ICE9IDEwMCkKKyAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQg
aGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyAiICsgaGVpZ2h0KTsKKworICAgIHJlc3VsdHMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpOworICAgIGlmIChlcnJvciA9PSAiIikgewor
ICAgICAgICBjZWxsLnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICJncmVlbiI7CisgICAgICAgIGNl
bGwuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7CisgICAgfSBlbHNlCisgICAgICAgIGNlbGwuaW5u
ZXJIVE1MICs9ICIgPT4gRkFJTDogIiArIGVycm9yLmpvaW4oIiwgIik7Cit9Cis8L3NjcmlwdD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3Mz
L2NhbGMvdGFibGUtZW1wdHktY2VsbHMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMv
Y2FsYy90YWJsZS1lbXB0eS1jZWxscy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjljY2U2ODEy
ZDNiMDc5MjI0NDM2OGRiODZjMTQyY2YxZmFkMTBhZWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtZW1wdHktY2VsbHMtZXhwZWN0ZWQuaHRtbApAQCAtMCww
ICsxLDI0MiBAQAorPGh0bWw+PGhlYWQ+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPiAKKworLnBl
cmNlbnQgeyB3aWR0aDo1MCU7IH0KKy5maXhlZCB7IHdpZHRoOjQwMHB4OyB9CisuY2VsbDIge2hl
aWdodDoyNXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBhcXVhIH0KKy5ib3JkZXIgeyBib3JkZXI6IDJw
eCBzb2xpZCBncmVlbiB9IAorLnBhZGRpbmcgeyBwYWRkaW5nOiAycHggfSAKKy5tYXJnaW4geyBt
YXJnaW46IDJweCB9IAorLmJnY29sb3IgeyBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3cgfSAKKy5w
cmUgeyB3aGl0ZS1zcGFjZTogcHJlIH0KK3RhYmxlIHsgYm9yZGVyOiAycHggc29saWQgYmxhY2sg
fQorCis8L3N0eWxlPgorPGJvZHkgbGVmdG1hcmdpbj0iMCIgdG9wbWFyZ2luPSIwIj4KKworCis8
dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJv
ZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIiPkZp
cnN0IGNlbGwgZW1wdHksIHNlY29uZCBhdXRvIHdpZHRoPC90ZD4KKzwvdHI+Cis8L3Rib2R5Pgor
PC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9
IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xh
c3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHksIHNlY29uZCBwZXJjZW50IHdpZHRo
PC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIw
IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNz
PSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIGZpeGVkIj5GaXJzdCBjZWxsIGVtcHR5
LCBzZWNvbmQgZml4ZWQgd2lkdGg8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8
dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJv
ZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIHByZSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwy
IHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHkgKHdpdGggc3BhY2UpIGFuZCBoYXMgd2hpdGUtc3Bh
Y2U6cHJlPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRk
aW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRk
IGNsYXNzPSJjZWxsMSBwcmUiPjwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0
IGNlbGwgZW1wdHkgKG5vIHNwYWNlKSBhbmQgaGFzIHdoaXRlLXNwYWNlOnByZTwvdGQ+Cis8L3Ry
PgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBpZD1jIGNlbGxwYWRkaW5nPSIwIiBjZWxs
c3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxs
MSBib3JkZXIiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxsIGVt
cHR5IGJ1dCBoYXMgYm9yZGVyPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRh
YmxlIGlkPWMgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8
dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIHBhZGRpbmciPiA8L3RkPgorPHRkIGNsYXNz
PSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxsIGVtcHR5IGJ1dCBoYXMgcGFkZGluZzwvdGQ+Cis8
L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBpZD1jIGNlbGxwYWRkaW5nPSIxIiBj
ZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJj
ZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHks
IHRhYmxlIGhhcyBjZWxscGFkZGluZzwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisK
Kzx0YWJsZSBpZD1jIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUi
PgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNl
bGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHksIHRhYmxlIGhhcyBjZWxsc3BhY2luZzwvdGQ+
Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBpZD1jIGNlbGxwYWRkaW5nPSIw
IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNz
PSJjZWxsMSBtYXJnaW4iPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBj
ZWxsIGVtcHR5IGJ1dCBoYXMgbWFyZ2luPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4K
KworPHRhYmxlIGlkPWUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAw
JSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIGJnY29sb3IiPiA8L3RkPgorPHRk
IGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxsIGVtcHR5IGJ1dCBoYXMgYmFja2dyb3Vu
ZCBjb2xvcjwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFk
ZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0
ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBy
b3csIGZpcnN0IGNlbGwgZW1wdHk8L3RkPgorPC90cj4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEi
PiB0ZXh0IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPlNlY29uZCByb3csIGZpcnN0
IGNlbGwgbm90IGVtcHR5PC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxl
IGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5Pgor
PHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQi
PkZpcnN0IHJvdywgZmlyc3QgY2VsbCBlbXB0eTwvdGQ+Cis8L3RyPgorPHRyPgorPHRkIGNsYXNz
PSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPlNlY29uZCByb3csIGZp
cnN0IGNlbGwgZW1wdHk8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUg
Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8
dHI+Cis8dGQgY2xhc3M9ImNlbGwxIiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2Vs
bDIgcGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0eSwgaGFzIGNvbHNwYW48L3RkPgorPC90cj4KKzwv
dGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIw
IiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4K
Kzx0ZCBjbGFzcz0iY2VsbDIiPiB0ZXh0IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQi
PkZpcnN0IHJvdywgZmlyc3QgY2VsbCBlbXB0eSwgc2Vjb25kIGNlbGwgbm9uLWVtcHR5PC90ZD4K
KzwvdHI+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBj
bGFzcz0iY2VsbDIiPlNlY29uZCByb3csIGZpcnN0IGNlbGwgZW1wdHkgd2l0aCBjb2xzcGFuPTI8
L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAi
IGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9
ImNlbGwyIj4gdGV4dCA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9
ImNlbGwyIHBlcmNlbnQiPkZpcnN0IHJvdywgZmlyc3QgY2VsbCBub24tZW1wdHksIHNlY29uZCBj
ZWxsIGVtcHR5PC90ZD4KKzwvdHI+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIiBjb2xzcGFuPSIy
Ij4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIiPlNlY29uZCByb3csIGZpcnN0IGNlbGwgZW1wdHkg
d2l0aCBjb2xzcGFuPTI8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUg
Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8
dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgor
PHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCByb3csIGZpcnN0IGFuZCBzZWNvbmQgY2Vs
bCBlbXB0eTwvdGQ+Cis8L3RyPgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSIgY29sc3Bhbj0iMiI+
IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPlNlY29uZCByb3csIGZpcnN0IGNlbGwg
ZW1wdHksIGhhcyBjb2xzcGFuPTI8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8
dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJv
ZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8
L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCByb3csIGZpcnN0IGFuZCBzZWNv
bmQgY2VsbCBlbXB0eTwvdGQ+Cis8L3RyPgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSBwZXJjZW50
IiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+U2Vjb25kIHJv
dywgZmlyc3QgY2VsbCBlbXB0eSwgaGFzIGNvbHNwYW49MiBhbmQgcGVyY2VudCB3aWR0aDwvdGQ+
Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2Vs
bHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2Vs
bDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBl
cmNlbnQiPkZpcnN0IHJvdywgZmlyc3QgYW5kIHNlY29uZCBjZWxsIGVtcHR5PC90ZD4KKzwvdHI+
Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIGZpeGVkIiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBj
bGFzcz0iY2VsbDIgcGVyY2VudCI+U2Vjb25kIHJvdywgZmlyc3QgY2VsbCBlbXB0eSwgaGFzIGNv
bHNwYW49MiBhbmQgZml4ZWQgd2lkdGg8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgor
CitPbmUgZW1wdHkgY2VsbDoKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAi
IHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iIj4gPC90ZD4KKzwvdHI+
Cis8L3Rib2R5PgorPC90YWJsZT4KKworVHdvIGVtcHR5IGNlbGxzOgorPHRhYmxlIGNlbGxwYWRk
aW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRk
IGNsYXNzPSIiPiA8L3RkPgorPHRkIGNsYXNzPSIiPiA8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8
L3RhYmxlPgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3Mz
L2NhbGMvdGFibGUtZW1wdHktY2VsbHMuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJs
ZS1lbXB0eS1jZWxscy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE3N2FkZWM3YzQ2MjE0OWY1NGNiMzA1YmVh
ZTc4NGI2YmE5NWRhMDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMv
dGFibGUtZW1wdHktY2VsbHMuaHRtbApAQCAtMCwwICsxLDI0MiBAQAorPGh0bWw+PGhlYWQ+Cis8
c3R5bGUgdHlwZT0idGV4dC9jc3MiPiAKKworLnBlcmNlbnQgeyB3aWR0aDotd2Via2l0LWNhbGMo
NTAlKTsgfQorLmZpeGVkIHsgd2lkdGg6LXdlYmtpdC1jYWxjKDQwMHB4KTsgfQorLmNlbGwyIHto
ZWlnaHQ6LXdlYmtpdC1jYWxjKDI1cHgpOyBiYWNrZ3JvdW5kLWNvbG9yOiBhcXVhIH0KKy5ib3Jk
ZXIgeyBib3JkZXI6IC13ZWJraXQtY2FsYygycHgpIHNvbGlkIGdyZWVuIH0gCisucGFkZGluZyB7
IHBhZGRpbmc6IC13ZWJraXQtY2FsYygycHgpIH0gCisubWFyZ2luIHsgbWFyZ2luOiAtd2Via2l0
LWNhbGMoMnB4KSB9IAorLmJnY29sb3IgeyBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3cgfSAKKy5w
cmUgeyB3aGl0ZS1zcGFjZTogcHJlIH0KK3RhYmxlIHsgYm9yZGVyOiAtd2Via2l0LWNhbGMoMnB4
KSBzb2xpZCBibGFjayB9CisKKzwvc3R5bGU+Cis8Ym9keSBsZWZ0bWFyZ2luPSIwIiB0b3BtYXJn
aW49IjAiPgorCisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRo
PSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNs
YXNzPSJjZWxsMiI+Rmlyc3QgY2VsbCBlbXB0eSwgc2Vjb25kIGF1dG8gd2lkdGg8L3RkPgorPC90
cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFj
aW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4g
PC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0eSwgc2Vjb25k
IHBlcmNlbnQgd2lkdGg8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUg
Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8
dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgZml4ZWQiPkZp
cnN0IGNlbGwgZW1wdHksIHNlY29uZCBmaXhlZCB3aWR0aDwvdGQ+Cis8L3RyPgorPC90Ym9keT4K
KzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRo
PSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgcHJlIj4gPC90ZD4KKzx0
ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0eSAod2l0aCBzcGFjZSkgYW5k
IGhhcyB3aGl0ZS1zcGFjZTpwcmU8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8
dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJv
ZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIHByZSI+PC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIg
cGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0eSAobm8gc3BhY2UpIGFuZCBoYXMgd2hpdGUtc3BhY2U6
cHJlPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGlkPWMgY2VsbHBh
ZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8
dGQgY2xhc3M9ImNlbGwxIGJvcmRlciI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQi
PkZpcnN0IGNlbGwgZW1wdHkgYnV0IGhhcyBib3JkZXI8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8
L3RhYmxlPgorCis8dGFibGUgaWQ9YyBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdp
ZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgcGFkZGluZyI+IDwv
dGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHkgYnV0IGhhcyBw
YWRkaW5nPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGlkPWMgY2Vs
bHBhZGRpbmc9IjEiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+
Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmly
c3QgY2VsbCBlbXB0eSwgdGFibGUgaGFzIGNlbGxwYWRkaW5nPC90ZD4KKzwvdHI+Cis8L3Rib2R5
PgorPC90YWJsZT4KKworPHRhYmxlIGlkPWMgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIx
IiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4K
Kzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0eSwgdGFibGUgaGFzIGNl
bGxzcGFjaW5nPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGlkPWMg
Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8
dHI+Cis8dGQgY2xhc3M9ImNlbGwxIG1hcmdpbiI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBl
cmNlbnQiPkZpcnN0IGNlbGwgZW1wdHkgYnV0IGhhcyBtYXJnaW48L3RkPgorPC90cj4KKzwvdGJv
ZHk+Cis8L3RhYmxlPgorCis8dGFibGUgaWQ9ZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9
IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgYmdjb2xv
ciI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHkgYnV0
IGhhcyBiYWNrZ3JvdW5kIGNvbG9yPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKwor
PHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRi
b2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBl
cmNlbnQiPkZpcnN0IHJvdywgZmlyc3QgY2VsbCBlbXB0eTwvdGQ+Cis8L3RyPgorPHRyPgorPHRk
IGNsYXNzPSJjZWxsMSI+IHRleHQgPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+U2Vj
b25kIHJvdywgZmlyc3QgY2VsbCBub3QgZW1wdHk8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3Rh
YmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAw
JSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0i
Y2VsbDIgcGVyY2VudCI+Rmlyc3Qgcm93LCBmaXJzdCBjZWxsIGVtcHR5PC90ZD4KKzwvdHI+Cis8
dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+
U2Vjb25kIHJvdywgZmlyc3QgY2VsbCBlbXB0eTwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFi
bGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAl
Ij4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiIGNvbHNwYW49IjIiPiA8L3RkPgor
PHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxsIGVtcHR5LCBoYXMgY29sc3Bhbjwv
dGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIg
Y2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0i
Y2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiI+IHRleHQgPC90ZD4KKzx0ZCBjbGFzcz0i
Y2VsbDIgcGVyY2VudCI+Rmlyc3Qgcm93LCBmaXJzdCBjZWxsIGVtcHR5LCBzZWNvbmQgY2VsbCBu
b24tZW1wdHk8L3RkPgorPC90cj4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiIGNvbHNwYW49IjIi
PiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiI+U2Vjb25kIHJvdywgZmlyc3QgY2VsbCBlbXB0eSB3
aXRoIGNvbHNwYW49MjwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBj
ZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0
cj4KKzx0ZCBjbGFzcz0iY2VsbDIiPiB0ZXh0IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90
ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3Qgcm93LCBmaXJzdCBjZWxsIG5vbi1l
bXB0eSwgc2Vjb25kIGNlbGwgZW1wdHk8L3RkPgorPC90cj4KKzx0cj4KKzx0ZCBjbGFzcz0iY2Vs
bDEiIGNvbHNwYW49IjIiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiI+U2Vjb25kIHJvdywgZmly
c3QgY2VsbCBlbXB0eSB3aXRoIGNvbHNwYW49MjwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFi
bGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAl
Ij4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJj
ZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IHJvdywgZmlyc3Qg
YW5kIHNlY29uZCBjZWxsIGVtcHR5PC90ZD4KKzwvdHI+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwx
IiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+U2Vjb25kIHJv
dywgZmlyc3QgY2VsbCBlbXB0eSwgaGFzIGNvbHNwYW49MjwvdGQ+Cis8L3RyPgorPC90Ym9keT4K
KzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRo
PSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNs
YXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IHJvdywg
Zmlyc3QgYW5kIHNlY29uZCBjZWxsIGVtcHR5PC90ZD4KKzwvdHI+Cis8dHI+Cis8dGQgY2xhc3M9
ImNlbGwxIHBlcmNlbnQiIGNvbHNwYW49IjIiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJj
ZW50Ij5TZWNvbmQgcm93LCBmaXJzdCBjZWxsIGVtcHR5LCBoYXMgY29sc3Bhbj0yIGFuZCBwZXJj
ZW50IHdpZHRoPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxw
YWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgor
PHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBj
bGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3Qgcm93LCBmaXJzdCBhbmQgc2Vjb25kIGNlbGwgZW1w
dHk8L3RkPgorPC90cj4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgZml4ZWQiIGNvbHNwYW49IjIi
PiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5TZWNvbmQgcm93LCBmaXJzdCBjZWxs
IGVtcHR5LCBoYXMgY29sc3Bhbj0yIGFuZCBmaXhlZCB3aWR0aDwvdGQ+Cis8L3RyPgorPC90Ym9k
eT4KKzwvdGFibGU+CisKK09uZSBlbXB0eSBjZWxsOgorPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBj
ZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSIi
PiA8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCitUd28gZW1wdHkgY2VsbHM6Cis8
dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJv
ZHk+Cis8dHI+Cis8dGQgY2xhc3M9IiI+IDwvdGQ+Cis8dGQgY2xhc3M9IiI+IDwvdGQ+Cis8L3Ry
PgorPC90Ym9keT4KKzwvdGFibGU+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NzczMvY2FsYy92YWx1ZS1saXN0LW91dC1vZi1ib3VuZHMtY3Jhc2guaHRtbCBi
L0xheW91dFRlc3RzL2NzczMvY2FsYy92YWx1ZS1saXN0LW91dC1vZi1ib3VuZHMtY3Jhc2guaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44YzRhNTdjODM4ZTliYjM5NDgzMThkMWM0ZWIyYWNjZmM5MGEzOWM2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3ZhbHVlLWxpc3Qtb3V0LW9m
LWJvdW5kcy1jcmFzaC5odG1sCkBAIC0wLDAgKzEsMjYgQEAKKzxoZWFkPgorPHN0eWxlPgorICAg
ICNkaXYgeworICAgICAgICB3aWR0aDogLXdlYmtpdC1jYWxjKDIwMHB4KTsKKyAgICAgICAgaGVp
Z2h0OiAtd2Via2l0LWNhbGMoMjAwcHgpOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOnVybChy
ZXNvdXJjZXMvYmlrZXMuYm1wKTsgCisgICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiAt
d2Via2l0LWNhbGMoNTAlKSAtd2Via2l0LWNhbGMoMTAwJSk7CisgICAgfQorPC9zdHlsZT4KKzwv
aGVhZD4KKworPGJvZHk+CisKKzxkaXYgaWQ9J3Bhc3MnPkZhaWxlZCEgVGhpcyB0ZXN0IHNob3Vs
ZCBub3QgY3Jhc2gsIGFuZCB0aGlzIHRleHQgc2hvdWxkIGJlIGNoYW5nZWQgdG8gYSBwYXNzaW5n
IG1lc3NhZ2UuPC9kaXY+Cis8ZGl2IGlkPSdkaXYnPjwvZGl2PgorCis8c2NyaXB0PgorICAgIHZh
ciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGl2Jyk7CisgICAgdmFyIHN0eWxlID0g
ZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShkaXYpOworICAgIHZhciB2YWx1
ZUxpc3QgPSBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LWJhY2tncm91bmQtc2l6
ZScpOworICAgIHZhciBvbmUgPSB2YWx1ZUxpc3QuaXRlbSgxMDApOworCisgICAgdmFyIHBhc3Mg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFzcycpOworICAgIHBhc3MuaW5uZXJIVE1MID0g
J1BBU1MhIFRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guJzsKKzwvc2NyaXB0
PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3ZlcnRpY2FsLWFs
aWduLWJhc2VsaW5lLXJlYWRqdXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvdmVydGlj
YWwtYWxpZ24tYmFzZWxpbmUtcmVhZGp1c3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNGE0NGEyNDIzOGQ4
ODhkOWIxNzA2NzY2ZDkwZGVmNzFjNTI5MTFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY3NzMy9jYWxjL3ZlcnRpY2FsLWFsaWduLWJhc2VsaW5lLXJlYWRqdXN0Lmh0bWwKQEAgLTAs
MCArMSw1MiBAQAorPGh0bWw+Cis8aGVhZD4KKwk8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorCWh0
bWwgeworCQloZWlnaHQ6IC13ZWJraXQtY2FsYygxMDAlKTsKKwkJd2lkdGg6IC13ZWJraXQtY2Fs
YygxMDAlKTsKKwkJb3ZlcmZsb3c6IGhpZGRlbjsKKwl9CisKKwlib2R5IHsKKwkJZGlzcGxheTog
dGFibGU7CisJCWJvcmRlcjogbm9uZTsKKwkJYm9yZGVyLXNwYWNpbmc6IDA7CisJCW1hcmdpbjog
MDsKKwkJaGVpZ2h0OiAtd2Via2l0LWNhbGMoMTAwJSk7CisJCXdpZHRoOiAtd2Via2l0LWNhbGMo
MTAwJSk7CisJCWJhY2tncm91bmQtY29sb3I6IHJlZDsKKwl9CisKKwkuYm9keSB7CisJCWRpc3Bs
YXk6IHRhYmxlLXJvdzsKKwkJYm9yZGVyOiBub25lOworCX0KKworCS5ib2R5ID4gZGl2IHsKKwkJ
ZGlzcGxheTogdGFibGUtY2VsbDsKKwkJYm9yZGVyOiBub25lOworCQloZWlnaHQ6IC13ZWJraXQt
Y2FsYygxMDAlKTsKKwkJd2lkdGg6IC13ZWJraXQtY2FsYyg1MCUpOworICAgICAgICAgICAgICAg
IGJhY2tncm91bmQtY29sb3I6IHJlZDsKKwl9CisKKyAgICAgICAgZGl2LmNlbGwxIHsKKwkJYm9y
ZGVyOiBub25lOworCQloZWlnaHQ6IC13ZWJraXQtY2FsYygxMDAlKTsKKwkJd2lkdGg6IC13ZWJr
aXQtY2FsYygxMDAlKTsKKwkJYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisJfQorICAgICAgICAK
KyAgICAgICAgZGl2LmNlbGwyIHsKKwkJYm9yZGVyOiBub25lOworCQloZWlnaHQ6IC13ZWJraXQt
Y2FsYyg1MCUpOworCQl3aWR0aDogLXdlYmtpdC1jYWxjKDEwMCUpOworCQliYWNrZ3JvdW5kLWNv
bG9yOiBncmVlbjsKKwl9CisJPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBzdHlsZT0i
cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDt3aWR0aDo1MCU7aGVpZ2h0OjUwJTtiYWNr
Z3JvdW5kLWNvbG9yOmdyZWVuIj48L2Rpdj4KKzxkaXYgY2xhc3M9ImJvZHkiPjxkaXY+PGRpdiBj
bGFzcz0iY2VsbDEiPjwvZGl2PjwvZGl2PjxkaXY+PGRpdiBjbGFzcz0iY2VsbDIiPjwvZGl2Pjwv
ZGl2PjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL3ZlcnRpY2FsLWFsaWduLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL2NzczMvY2Fs
Yy92ZXJ0aWNhbC1hbGlnbi1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYxOTIyNmY5MjFkZTlk
MDEzNmJlZWI0ZTY1NDQyYjZjZDI5YWMyMQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgOTI5NjQK
emNtWl5LYnkhdX4pO0EhKzFfVTxVLTVAMDstNmJqQXJGMlZvd31iK01iUipKOHYqe0cxeVN1dl56
UXd1c29hNEZZCnp7cj1qfEwjKHktVHl1YGBzfVpJc0ZOdXRaanxjPz9nKUEqNHJVVjdgajEmcUFN
Z3MlfnszT1pRLXd5Ym9hfT9LYgp6ZH1uNi0mZUZsajhqOTczXkEpIS1EO0dEYkYkKV9qbn41T0BI
PCNnU0U8Kz1aX2VTcHgqLVJ2U01IUFc3OUdIdVcKekRvVHJya303XyVIOEhtYGhKdGQxNHBKR2sj
MU9gTztJdF9pQV9yKyVxRXh1WGtWfFY4bnUoOGItbEd7PXpMK0pjCno3TFIkKUNPdSlweHFDb2Vs
XmVSWUdFQmM5ek1sI0k9dTdOPV5xJT1ta2RgPkBMTHNlRENKeTZxem0wNWw/b1B7cQp6X3ZyJUhw
X2lAbUF7NnE2NSV6T20qZnIjQ3I3U2RhRF5DJU55SEtkOEVDZ1k4RCVJSU5jfWg2cDBFY1VqJV8o
PE8KektXKCprazZWYHRtKlMrNj5MbUVVZCFaJUNxLXB4SExtWWNWTz5+JTB6UXMoc1piIzdLPmVS
X3pHYEdCKVlpa3VNCnoxQW03bXh1Kn5aPEE5R2B0I1V1cnM4RTJePiRyMSFDNHJSNWhgMzIyY3lr
Kyp0eyFsc0xRRyE2dVkqRlAlb088eAp6bCRnZlVHakk3SDNqJUZxWkFmXjxmKWNmblkzQ291MXk+
QjBiMmQ3SGAzWjQzJmFNb3dZVlpyTElOQzd2IUUhV04KekQpIVMlJGo2QiNfaTg2XntPd3wxX3I1
cHViPG1QaG4zVDEtc3Q8WVlNTG1nOHk1Z2V0Y0cpYyYhKnBTNnshbn1kCnpyaiFNUj1tcXxaQnhF
VD91c0V6P1Z3c3spRmRzZkVkJkxKcWliNlBvU2RVanVsb2t6K01xPWZ7OS1NUmhIRShtfgp6YDV0
Sj0/YytxTkslZWh+QUx2VmVEeStMKl92d15Qc2E/aHVDbndkUEViKEAoZjMzcU9vKmVDMmImJTha
ajMwQjMKelJoUnJ5PG1MYForUVMjelElXypzQGFLcmBhNDVTeVg0SEBXbHxjNnF2dlhEVGJWbng4
TnNFPGhHMlAwQ213JHo2CnprZzAwSXAqU3BwT0QjRlVeeGlgMV9UVzF0YzA9YEFMR1MkZCZhfVZk
LTNsRW13Ujg5O1N5KTBSKUE4cGluTD94JAp6MU02OzNZSjQhPWkxbnUlJTVlak9CKjswbHVBc0pT
cWxDfGteUzV6JHplWkhURWA4ZVEtP09MSXExZkk7JnZ4SjgKenRYK24wcnFqWU9UUF5pYHQrIVVU
S0xscVE9aGBAd3p+RDN3ZG1VQlZTWX5eX3pKdH1eRTV0NVY7eiVjaktvZEhMCnp4RCMqREM2MGRp
KCRCM0ZALWpXUGUhSkk1PjZoWkhzRktubyl1Z2N1X0smWnNNJSZJKVVxXnstMnM2MXdFPDV0eQp6
N3t9Z305OzIxcm1ubUllN2IjNzklaX5ZQENFVkR5Szw+cGBUcURBdXBoJSZsI2VgS3txNCFlWkEq
JG8kazJuZVIKenZ+TkNQbVZwdChVUDVEeVh+MC1tQzJGKnlmNjdhd3EwYnVqTDZgb3hmd3Y4Slp9
IyF0eWh5QkVsKz8lJWhxNDs5CnpyTDZxMTkxUEN0ZipHMGNZMEJPJEo4WmgkWWFIYT8pTTRUfHoy
MGs+e29ZKTRRTzlPIUdRb1o8R1NDQk5mcWVsagp6K1ZiMG5Va1lmPld6b3h+S1omRW4+LU5IQ3kq
Sil7SzFVajNeMUNYLVdSXko2Qiple3VLViZ5Z0YxZy1tY2Z4JGUKemduUEhfZVh1Vz8wU0ZpN19Z
WWJhOzBnfTIpLXxjU0dnWEMhMXFKcW4+WlEmay1kQ0JvU0Y2JEkjSTQhSmVQNW9GCnpRRyFUR3l2
e3pjTDNkRHBgcXdxJDAtPDFAYEA+NnVJWE0/UzlXRWJrNCt9fkM7UjBQaV5uXksqcUhXVyNGYHFO
NAp6SkFTfEdBSjU/SGl4ITlvaS1aenQrSW9rRzQzWSModShZbCR6PUQkbnxNalBldVY3bF5RJS1O
cmNqd19ySmVNOSQKeig7dlRlMT5EKngrSk9+b0lpWD1PS21PMTFLI1ApYyFHTVRfcHwwMHI3M01+
QVdtS1ZyaGxLazQwKGlYMXo8QzxmCnp6SDdrfj09bEZ3M0UtSzgyPm5QXk5JbWNGNH1EeUdmU2Il
JDgyOFAyOTUmXylrblJQS1hOdG00N0hmMFdZXkhoQwp6R2thfnpTZm05RjhSNXNnUEk5KldwR0Mh
bURGN01oUlhPaSNVRVpBekhWRT1QSyQwS2RNQmQoWj4mfjVRYytgR0wKej1EeTR8SWprKkNjcFVY
UUFNYylMRDIxJGBATkFKent4RFMtUGZDUlBqOUE+cns7eWE1OHBpQXVPTXw9RjEldTUtCnoqMlJJ
WFd3a3dySG04ZXJyUyoyVCkkQU9IP2Y2Zng1ZXVCbGlEc08tc3o9dl87OypjdGFePTtGLVg1ZEE5
aiVvZgp6fEpYb0orbz94bD17bzRxQGRyK2dsaDVzMVZUcDh6bm9SX3djRD1LOXdWayVqIWQlc1NR
SU8/KU1IazBtUyVVVnQKem4jMU1JaH0qJC1lKT5kOTVYWkZtcmhAUiVDJDBybzNaR3kmc1c5Q2Ns
RTxzPUBVZX53TCswa1k1N1drfjY+XiU5CnpuJm4xOHd8KTgjcFgwNXZuK0tENGJJJkxXaS1QeThN
NUNQMnlnOF8/UEFhKV9HVXNnQCYoJiVmeDk2dDFHSUZ9Swp6anNBU2pqOEVqZzBvT2wjJW4kVkw2
KGxFZnRsMXszX3cpVWB6YS1iIz9hJGg1JS1EezFSVU1ZYSYke25BOX4zcnQKeiZVJWVtNVp2bnpK
ZjZ4enVaMj1YKzNuOSVJZk18cWU8TlR3aXtYZ3xBME80T01tZ0xiRz9YcVplJn1PN3hSfHc3Cnot
fjZtPytnTFQrUWZiZiVRYDFmQ1FUcn42Sjh6R1p0byhkdXlmMmNGeVB+THFlbWFqMmBGZVdMZG4x
Wng9TnEzaQp6bXNTIz0xQzZjVk4hKysxa0BaJmp6PmZPNkh0TkZTO21oWGhlJXJBeT56UFhQO3FK
TjtmPzM9KGklUDBqZjQpYXgKenBRO3NXdD9QTn1Xfko3Y1p7SGxBOEBvdVFxdTdLblg+WHh1QndK
VTFvaD5Ad0RCMGh6cDhLLVQzJW1yTVBWMShBCno4K0B3ISNtNUppWU4kNEJ0d0h8Rmx3QHYpeWF3
UClhRXVyPmQqOUM7ZFNDSyMqKUgmTCp7X0k2SzlsRiFyYk89Ngp6dnhhRSZkK3dFWWVeM3FSejh9
Z0liOyN8MUduVEpGQkg0X1BxbDV5eThSYEFkUmZuSGMzQU1uNW5DWjszLU0qTH0KenRuRXZ0UnA1
VkxqbU89K2F7ViVNVmZPSW05Ul8yPW1+LWM3ZSFTRG9jSyRCODZyViFjP1ZGRm5ZMz9zMHwxMU1Y
Cno7LVhNQVhJeCk2OTZaaHN3cj0oLWElWV95YHNaekNZd1FgNSFYNzFtPGR2dyh1KG4hXiZRd2ok
aDNTVm41SChqZgp6QWQ+Y0FmNW5lKzgwNFNLSmZAWGtmIz08P2pCTl8kanleY25leUtuPSojNk1B
bWYwRXJrTHY4T0luYntRbzRNUikKempSN1NaX3twQGR7Nm0zOEB8MUsyV19aM3JUZ2Qpayk1Q2Ri
Znw2Qjk8KkB6RmNydUUmNkxXT0FCJH4hcG1UdzNMCnpVRihZa1hkMFAwQ3lweSg0YFJGNj15YzBY
ckxUNyo8UkRRdzZ8M2VhMyE4TD5EYjVMT2FCakNUYVpIdjFST3t1WQp6ZS1AdlhKYngoOUxDTTE4
MkJNbHA5WiZ3R2RKXyZnIzd6P3JTejc/bz9uYHtNT3wyPz5uP21OQU1LQkkhVlFkS0QKejJQdW9z
b1lwaDdVS2k4KEY+b2VDNHF2VG48fHA8Y3J2bkY3bFg/dTBjNGNDfWpvSFBBPlJHU0xgRlVqcGVw
T2VUCno9R3h0b2hQaElvZHJMMEVIclVIelRRMz4/I350PE41MiQ9Y3o5bjB6YyZ8RjxUfntPTj9f
U2B0V0dwM0BuKz1vSwp6VHJQT3ZqREw8QjM2MihnbWBiKHAhYUhid3lsdExHXiooeGJgSE85RSUp
JiVWbFI+QDI1bDdFOGxSKGZMIXV4UXcKejNiY2s7aX1sQ196TUhNPUIlOXRpeTcyWHQmV0xsNEJw
TyZxYE1kNlY4UmtZNnRGM0JocFBTS2lvJEBuIyZ4ZWJlCnpXOypYQkc/NFpVK2FUWClzPl8wI01V
dkNTdj89Y2xWeH1nfmF2O1ZXcz9VfEVPRkpAR0VzXnQ3dEpmO1E7eH4/OQp6PX5lVnpsdWUqeXM/
V05nNE5MQ280Ukl9Y3sjZndZPFh5RCl4IT18MiExSjI3Wk42OVd6Jl5vQj05VCZLdlMyaiYKenJE
c0d1KT1xZEAjUFc1Qjs5WUJ+PnFeKWB6VGticT9RcGRCVEdMNTw9QHcqekpNTFVTM3d8PERoXiVO
Y3dlPE0tCnpaWXcrNVFHZWZQNntuUCRQU0FYJE9nZWRWXyQwUU0+QzVHYFh9U344Qis0JUNrR259
Kz02cF8qN2Fib0Axc303Owp6c3BHTVY4Rld0aFV2VylLcll1R1NpfXJ8QT5XQzhzWD1YSEU2IU99
JSR0MyZtKT1Ce0Q3SStraXVnekRUJSFEKVEKejZufEJ0YTxaWEhiN2tgcF9abzNhRz1VX2s5RVVu
ZmRLZ0skUVI8U3NGYyYlRnt4bTAjUG9nPyhYZCs0QlhsTm80CnpPZEVhVCh2LXNEa1ZGb3VqY0tQ
ei05e0V7SnpPXkNmaTFtNmIpVEpyZDwhajI8ZypZVz1mczRnSi13OD1Nd1NVWgp6VCNMdHBoUWtS
dTg4eHhTRDt2elRYZ29IRig8N25rZ09sZEZiIU1jKWkkeHpGPTM3TFpnTSFWZWNoUVY8YHUzZXoK
ejQ/dW1iU1YkT3dkai1uZ0kpdDNjX3NiK1YtOzleSzgpaUFnUXdnd25LaXBqPnNsbm5memdyMTk5
PVNEMz9sfGprCnpJaGRPc3tLX1Z8Y3o/R2skWHVDeng4ayRmZEQjKjFHdWVvYE8/dm5ZNldsNTMt
fEM4JTtAS1RWUkF1JHhue2MoYQp6KSVZNnF5MjxPLXtyR2hGX1VVQ2RkMFphdypxe25yV2p1QlpK
fWk1alo3blBDP3o0TlBiMjI1N298eDltSkQ7fFAKenBmZEJKb3BLMFRPX2pDWHgxJFF+KzE3OTh3
UnozVk4kKkpGSDw9cV8oY2tUbkJtMURHZEY5S2VMZD44ViZGMWVnCno2ITxidkolRUJaSmcwZG1q
WSh2QUBNRDkpSlBWVVpBdVRecnBJeUg7WUV6Ki1afHNtbCVVTW0mOHstUGo8WDdTewp6aVE1XylH
bU0jOFIkOHw0eGNsKzZUbXE5VzFaMW0rTz9zd0hjMGJ2NCE3LVRmPnBRUmNpKlQ9SkQoWDlQaz0w
eioKejAjc2d1PFlLdUdPbk9lXnN0LUxCKEkzP2VDO3ZTRUxmSnc+b0B8WWBVRjwjJmt2YHxtTm1V
KXU5I19eciN7bntUCnomPWAtKUBiZ0V1a05URy0kQVMrNW1rSW92X2hhaG9GUmhMKW47KlM9eGB8
d19QV0huQjNxI1Q2Y2oxWCRHY2JaJQp6JmtxLXlHcnFSP2h6JSo3KCVuZ0ckYSF6M3kzRUJZMjts
WFhPb31OfENTfGVFeUVESGkrZHhMaHJkQjBTKiRSSSoKelJKb0t1P2tfSzt3WDVAblV9ISttWDkk
WHtuOF5FVElwfTFoN3VgQEtwdSlmaHJDaUlTcEpTNXBycEd8YktiRFc3Cno0Vikpb1h6V3RqYyVn
KmM1eWdBM0NIOElQNj0rSDZXZ3xBSjR+JjRCdG47KlMwKnZ6I2lodm42PT8qcW9FQzFQJAp6c0Mq
KVl1Qk9EVUZtYWNDISt4fmBKZldSMFRyYD4yTH5SVXA0MmErV18pZClfKXUkaHEqdlFBc1RKUjVz
aUMrLUQKempfSEV8al98U2ZUNUZBbFc+QnZ7Z0gqZUlxN0ZANEBhQDg3USQ3SWA9PTR5R2JVYndk
SEBvUWF4VzFPenhHREl+CnprbmN3cWI1My0rPSkofk5tKCQjVlhEdT5hYlh3RXhUMjJWI0RtTU1E
cXh8ampxPypAMzYpU2A3X2pMSXdEXjBpYQp6aGRZUDh3ZjN2KkpNXmN0ZyRGVXw0I1kyWio8M2A0
JXVuZ0lKKlp1a1hBYTVuckA5Vz52MkpXa3w4ckxUbWBQek8Kek0ycWV5OUNrWms1UnBTXiNjR31P
NHZyMDQhZG07JW96bVUjaislK24+UWBXLTs9JjlyVTtaS0Ajbm5sKSskLW0xCnpuTjh5TnNEOEJ4
WStneVZ6NClLTykzX1dLYWopRmR6cTwqQFZITzlsdnhINlJjQCNHVmVodD1DJFdvZnxFZFhzdQp6
WUZrJlNXYDY3RVQ3PE9CPDtNcHAyMkU+SnJZMCY0S2ZlQVhwPUs2ZSpSM08/SHZOUUo2e1doRVV8
NSM/RG4/P04Kenczc0tDaUJCMU97aVA4cEB4aElPWCNRRS1iJkV6M2pFRSptbnlWcj1MV3hYZDI1
PiReemp8NTcrVzNPeGtYVzl6CnpjezBEck95IUZoQVVlcTI/K3Zpayh1fjZpYnVfO143MnZyeyNI
ZDg+IXMmRzwqK0pNOytPWGB3eGNPeylDejdfcwp6eUBvb05iQD9gQmJpPVdTS3JwMUBXVWNlWEB3
bUdGeFVFM0FJVzFjcCoxX3J+VzZmTn01eSp0dEN9Tnc+RGRlTFkKek9WUXZRXjc/Mjw8dSZHR252
QSl9eEF1WCpQbFJ5Qkl8OX5iM3Yhckg1ZE8kRmokSF5NKFhNIWhNdCg/YXI+UHFhCnpJPW53WiQ3
MyZDTHx+S1deI2BYRjZEbUdiTHVPYGIxKUg2KmZfZnlKIWZvcj5hM3JzZjJKYXRzbjstZk5DQjJW
Mwp6YVM4PVJSbT8pRW5SQWhDbzM4VUh5aSNDZDxKN1BAPVVieUcoZ2U1RHRSO3FKbXF0SV9wSENM
MU9EZmVMNl4pJmQKemsjTD8+NUBkbzY1aytTRzlRZk9XaUY8ak9LLXh1PmlfV3Z3XmQwM3l1aDV6
QzExfWVTbnYwNzRXSURNRF4+YklHCnoxelU9NmF+cHc4Knd0NnNhbjslUGFVczhkK3BJb2ttKExC
JjZWM057N29YS2dqQiMwQDs4JiVvKihOeE9gKCV1JAp6dz5RQUImWT5wbVRJSjJHRDlON0hwRDNU
NThnP1MkJXVpeDlfRk9PTVZedFFXQ1dUTGoqaTcqJHFaaztDT3pmZDMKeiUwZHxiYCFpaSo4Yile
RkI1KE0lR2JsT0hsbiRLTXU9KGJPeU9YfjBfYn1aYmEzX1U/TDc+WU8oPTJAMFUlWWwhCnpPY0pA
Myg5MG9Nb0AhUkh3OGJ3SURiITV0Vk5re04xSE8+KXQ9XjV1RmMpTz03UGkwYjdoeyhAPDU5U0lF
a0d0JQp6Y25QYWFuSX16WlhYMDxMNWloUX1pYXQxcS1QMilIZHItZWlfJTZgQT9gKFRpKXVUbE1f
Qj5iVnNRKV8hWVRFRnQKekx7d09ET2hMYmApaSRSSTVBPT1IKCMjPjJ2fiF+Nzd7Tkk4eSVmJjto
Ozs8eCY3VG8kZittcWAlUktVI01PVVhlCnp3PjY5Mis4alpSOSt3bGtIenlDKFluXjNING1EJWZh
cXUtYzUzXzg0SCVRVllWPyNCX2ZHKDF+ZmJFMVZkM3VEYwp6SjZvTzJLLUhBLSZ0TUlDPVFTcnJa
RUdgb1g9O3RjZSgtcT02dUVUQTQhSTwkR2Qme2olZHBYfjFDOz19JiMlKTgKemVUQSg7YXV8JmFr
RVd+PGo0bGM3K2c9dDtXelAlb0xjY2BgR3pXVmxDbUleQXBpfEJDYWklTk1TLTBxPXNAaXlSCnoh
SnNgKSNnYSs5czt1Wj83YFctUlRWLWdtWisodlF0cEx8cGU3MXd2RjMzSnBONDUrKzBAaXA5TXU3
PWw+d2lQaQp6OWRiLTZYdVJ5O1hOJlNuaWA0blRwTj9YUFFmJF50ZiVJZ1FpUGw8MjxZbyZgS2ps
bHNDNFMqVTteMn5rS1FfezEKemBzKktHSWJDU2tXJnFJZ3FjXjtvNi1pLWE8V09pMkdkUENlJlpB
O012WVJMRjZRe210bDNpMzMlfWpnSUcxN0cjCnpjVClOeDY+QFNWSCZKZnsoM2BVTk1jN3BMWm80
bDFaSGFfJmx0ckN1Qk17ZXlFODFMJGlYKFBlUTB1eC1MIXB3ZAp6PGMrSSVkRW5mZHBuSTgoND9Z
VmhQSSFqPDN+RXw7Mll3Mnx7VHE9Q2xsI1Z5Zzs7cj5aeDUoezcjMGJQKiZ0Nk8Kel4pPEwhUjlV
REJlTThpaXhJeWwkWj9zOEkqTigpdE97MCp1KkJPQD1sYzFYZjBEeT90Tn1SNT96QXYkUWlPOV5k
CnprT0xpMjVrbnBiT085VG0hYVRIJFQwN0VwSHFJRTt6PnVDUy1yZkQ+OyRiSjZ2UCVQNXEhfkI2
QW4hfHJjSUJRZgp6Nm1mTDNWIU9kMEcyeDM5czFvYUBvMUg+Xy1teHw3WFY7eWNKclE5YzdvdTQk
OSV3ZEBFOVdoVGg1VUgmI2Z+fCMKei03aT1rJSt6WXszcjQ5OHN+cjs8U2k/cWl2ITtsPzB9e21w
Sy00Y1A8Tyo7RTV0dl56O1B9YSZNaWkoRnBQZXk+Cnpxdz1FcyNEPmhrODUmaFNlbmZnbDJ+Rnc1
TVVGTkhWVWczfiM2X2d8KjVET3BVN3J2TTx5bTdoQEElODRLV1RsbQp6T0JfaytpZWZnO2VjSFh8
Tko2ZDJhe2lSdUBfOzRrKmMtRSp0RlRCIVJHXmAhRXB+b3REKEl0Z0x8OGhHLV8jRm4KempmfjFt
PX5MITRuV1dOWC03YFdXZyQ8OUhFQWk4eVR7R2AjdHZhSmMrSTdqa0puUE9UY3hUc2xHJn55Xmx4
QHtHCnpuSk8rZyZuUmcxejZnQjB0Sn0ob2ZGdlRoK1k0TUs9c0pIVDtkaWUqXz1mV3R2azxAPkNx
e3s7MmY7VigrPCFvaAp6SEhIYzJnfEh0QE1sfTlOSDQ/djdTMFJfeW5Pb3Q8TjFOLTBiUkxoZV5z
YCY0MmxWT1p5RDxmfUg7MFFTQzQjJHQKej1NVlZgdTdiO00qWlAtOW0oNXl4QHklNUY4MUJPez12
YWxIRCNTfDwlMmErdXJEM2A1WkIwOE57SyU+T0BrJEclCnpfOTs4PztAJDBqamU0Wj9uY0lqezhm
VHpxUUdFcnVqRiVicGtkK3UrQHltP1BqPERNMm50QCtuOzhqNzlhJG1VQgp6dn5ET3B2KDg3RVJf
dUxROH0hejVpfG5ROEI/SE9Ge1IzVCZaO3YxWG4/T09LWl5salFGZmgxZXNCfCh6JV80d04Kekc/
fTxISXspJVllfDElSj1jQEEqJDVQb2ZqV2hyMEZlSz17U3h9VUMtUTk7Y21+SHdDPktaJU5vQSpy
dEZLWH57Cno5ZSM2a0hHe1hWbHxiaWMoNTtibWUoSyNwOzlfdmghZTNwZHJBdEJ4K2lTanN1NlhX
fF9aYGpUYnprd0UpPyRZagp6cWB2Rl4qdFNyJit1MiZEcH01KntlfEVCIyhPNThsViNXT350ZEBZ
ZSl+WmE0NllEYWtTZ0NYaG5qdkM0aCY3bXsKelBiJXglUUVTeE8jQV5lITQoQWolU19KfFQ/bktt
fW8wVD9yXk80QFJVJG9JaiFyWDcrQ31nZ0Itakt9NSlLZ35aCnpPNlM+MW5gYU1KYld0VTc+YWNP
WDRQVFU4akNhPlhZfD1DflU1KkE1O3NqPEpuPjM9REAzUV4qI1kzdHdkNGNaWQp6biZ2djR5Vmco
N0BRfiYpb0l9WSFWVlhPWjNnM1JFNlM7X0U5U1o0NVFhRlptJmRCcC04K1Y+Z0h+dllkJVpBWm4K
ejkjIVNtVn09NklrIyZDK2NrRiNINUZAanF6SnJ0dipZbiU1YWhIQ2dQI25XJjtHMkN2VjVGQVle
Yz0rQWZ3LUpyCnpeQCZXODR0RDVqWF4oSlRtUT40bTs/XyhISUZ3eXo8LWZeM1EpNmdnNUJlfX5y
Z0RCVHA4JHJDZyV9fGpLMkg7dwp6bjlxPWQqcDhWVXZKe25ZKkQrentHYTR1NzsjYVI9PkJGRilQ
ZUhLbyhxcjxIb31za0hqblI0UUdhSHRLWGJvSXsKemlXKUVjPGNPaCU5VyROQCZBJERTbVJjcjtr
O1E4aVcrRTFkeCl3IWtDUE1EK0ZRKX0lelN6eyoxdlJ8fUtmcDZZCnppLSFCXnlfN3ttI1g+alJ0
WTsqSihkQ345ej9aRDdmV251cEUpZVFkPSV5YWxHZGMxM1ZWeFliTi1+WlUhcX1IPgp6YFE9Mm04
S0pLemA2Xzw9eG1MZjRuYlJRZld4Rk0lQlk3NXZoKjlJfjkzVDJQQER3ejNrbEJge25re1Z+WXoo
ci0KelJRJGpHRlY0UyhYVnxtJDlLU1Q4KFBAJioqTm9CO2pnSnpPMVp+S3o8YTNZZHkzR2krTXl8
bS1iTDQtRHVoNjB5Cno2YCtpSE1GbXZXRHY8JD0jaGs4VWFTWll1UjF3WTdrQkxqXlc7fUlodWJ8
aEkzSE02PmVhQkdXJWlSdW1GP1B+Iwp6KyNMd0l7K3NwWjxpNGI/OFBKKihOPEh7aTw+Y35QQ2pQ
NEFKendVMjZNTyUyY0xESlhnZH4odG9EZipAeVo1QDAKelNBSVE+Z2phckJSVWxGajFeUjQqNVZi
RjZNajZ0ZC1Te3VEbT0qeVZqZEtkeHZMQnkwRGNaPjxhIVJpbHlRKjh1Cnp7eX5WUFJTWmU0aGhg
JkM1NTRIaSlXN2JCNGttNTZ3eEMzMkVrfEU7SUtGTTZZQW4hUndPcCU5KURNSEl4TTU/SQp6P3k8
cC1AZU5HPF91XjBqXyRVPCVyVzV+OHBhVF9fPzB3e2N8OUpyJVkjJjJmSWV7OWZnOXhoQiliemhA
X2VQe2UKemhTRWBldzQqOVUkQzNrLXglWXU7NyhTVisoN3FvKmdjY2c0LVA/Q3clIXo0PHxObmNG
UCRJI0Vhdmd7PSszOWBhCnpOYWNNTk8jVFFrQW4yanctVWUqNjAqVmlzWnspc0F7T2hKb1RPZjhj
SVoyRlItIWFsNDVRcHZYOTdwYG9tZlUpaQp6Z2pLTyhPdlpFSio5ZSQoRlFXZyhldClheUxNWDY5
LWFRZng8Ti1aekRHb09FcVZjKThGeXVtZURDQSNPb1BsemAKenFEbCQxe1orKk42NWJXQFZkUm9S
P2ZnSV5WX35uPmxucTc0aTJCOU9oZ0QjflhYR0dxJVFldlp8TD5ZWXR+fCM9CnpUbTBaKSolJkhg
JW1namd4WWFjSyNoK3p1aEtgfXR5KTBtb2Azcz1fXl5wM0d1d3RXUmh+UlBPdX41dHIqKWdJJAp6
fDhkIXpzNjI4e1FZJl8wNDAzYXJ1VGJiUVcmYmA8YWU9OzhjSSVYfHAlUzklIWVYJHw4JTc+TW9I
QGElPHpoIT4KeiliYj4rdioyR3JRPDU2fm12SEBkSSlMM2FlZUA7fW1BaG0xVTgpcWg8eiRKQXJU
Q0UkP1dnViZvc3xHN2EyclA8Cno3cDVnbDU4VFZXLWhhSn5IXkslKVM+NWhIQUxqYFJKZWNFdzF4
RSVsYEZBSE5QLUw5eVA8PE5nd1lHeH0xbj5KaQp6LVkjTV5SQyhYS1VqalBPUHlVbDBpaTdtV0o1
IV5pdURoZFAwdmtKKkllVz0kPmxLPUcmeUAjMiVjclNFLUZyTXEKelhzI1ZFcSp5VUc+Z15UR0lk
fiMrQyhwSVJ7d19YRyNZOXljWUNxV0J5JDJpOGdTV2Q1IUlsZ0NDT0drdmV7ZHB7CnpeZHV9Vm1M
TzlXYHUlWDBfeUhoeSplfS19Y008SU56WGFxKkExRDNXbmFNZS0xZjNKfXtxa2w+TGk8MWhmSD8r
eQp6TkBxNyQrT3V9NmA5biozO21XYXtvMXBpZGkqd3YrYUBNd2FBQkFfMVd3Sm4tI3MjMjNsTGI1
Ri1OWCpPZHUwSzwKel9oK04/MUg2Wk9DR3xWc2RDVihfO3tweiFUbn5CZmI8OEw4ITNHbld3JFMh
cztVQ0xLaVUpbC04Q0RsPkNiWUlVCnpRSHJ0T3R5UUIzM3gtOHlDJChIVjJJfFRpZGxCMm9sR0lz
JVc2bEFUWnZ9OUxIdVFZJW9pNjdPeShjM0h4Un5tJgp6PW9DeD05cHolaWxHKXw3cEtEVjN5ciVp
Uy08fVY2bnU5Y3QxQUJFSGQrfThFYi12cDMzR0kyblFSJDsyWEZGV2AKejg5VDR3ZUc+YzI1am9Y
aHg0NmJ4VUMlOTdSN3orVG9HPHVyOURRKUpUazdKbEB5aX5ORHI7fUk2P31GQz92QzFCCnpFNT5k
PTlMKW1+e1FPKjwhK2JhdiFgJGhoVjdnWkh8OUJvfGQ/MHE9UUw+VFhPU3c2a1U1Z0c+djRpeSVS
SXlUVgp6Q31DVlFxKyVGajMhIT8pP0ctP2tyd3QpfVd6KyVFNj5iTGY/RD8/Kjw/KUZeTVdyYURV
cGBHfHh5PDl6Vkc/VU8KenZHTn1QbGRTfWkzLXRQak5rNHMjJDlsWHY7bW9IfUBBSlpfaXhsXnJn
NUlMZlB7Q0R6cmdjI0NWXypkOWpNP1k5Cno/PzYpVT00fit+NCVMQ3p4RUlyOVNSOTlyOyRndyM1
TnFWVT8lbm1FJiVfTyYjQGJHMU9RTWNyOF87OEswVWsoKgp6ZlRVMnNyfDhpcVFQLU57a2VoWkRA
RU1wWCtiUT13N0hgdlRkKTFxPXgmY1daRD8kWE9QUksqRmQ1MHBBQkxPK0YKenBobnY5QHJUcyVs
V05PKiliaXtjcCQmQER2b0M+cCgmSSpTQT0jIzBkaUZeeHVLej9LaU1femE+MmBEdl87ZDVtCnph
ZGVoaXZUIXBxPX1nR2dVUGtsKC1JdCV2PFd3anF2fXs+P3djSTIhQT9WPCorQ01YSHNydWpBa0gr
dlEzciQoVAp6ZHUzfFhlMUIxflNYJGVkQWhhZWI2Z25EMUNLXmB8MVdtOzJUdHNhNENJZ187aSRz
bj8hWCptbjB0YiV8aG1VaTIKeipRWjNrX0ZEWCZvcUhXRkd8cmI5dyREfFhrSW4mN19pbWNraDMw
c00wbV5naD5TPmJfSyo2dUxTNyphQXNHZkokCnp1SWNCVHQ7Sl40K1BkWlFAeEooeFVTTip2Rz8+
aCNhRWxVNDQwQF5PeThOOFdefm01N1NVZChrclc3MXp5KitCIwp6IzNnSmRvb2A4JGx9STQ2cTNe
MU5iSVR6bDJSOWV7ZyZXI3spbHtLZl9hWFA5SysjdSteeW5qcjs2ZnhHVGJFJmwKejNTLWkxYD5m
bEVueDxUQDlGIyEqbmVkbm9Zbzg/UkVsY1hVJFJJQFNUYmNDVik7ZSpKO2Y8cS1gTCU4biM9Sk1X
CnoyeTd2ciZVKH1FeyRVSFVpQD9VZnNiI35VVks1eD88MjBre2ozbjF7RyliZ0lUKnJlKjNrNjMl
Mlg2RzBLKDBZdQp6YzAoRCRDX1hUMUJmeiVOLXtfKykwT00qPEpwJCNZRyU0SipZcmxHU1Y4MyF5
LVVje1k+V21VK191MF9gLSlsaEIKekFpa29aX1IjaC1pWGw/UEJmXmN4PGkpJFpKcFFZdDA5RDFV
PV55emBrYEFKMnRJPmlCWmBJQE0hbj9idj1vT0ZCCnpKYDhec3k1MEtgalZTKVpia0pHMSFQek5N
MyRVd1g3Sn4kZndXPlojTWZZUktyM30/dVJnSjQxYm1IaSUkUE1iYwp6JSYkOHlkYiN3NnxIUWtg
QWN7bEV2fkVLK2lGRG1scXo9NFRLan52dU1ARkV3QTFBJUB1Kj5TRVdPJWRXRn5HZ34KejRlc05u
bmVkUFYqJmY7SisrfjheP1p4S2lue3lUJDVUa1UqUmZeQlV3RlIkaDdvSTY0KSEmfVVmNylDbSRu
Vl85CnpHKVE2PDw0ITtmTUhtRmdCUys2UUg/X1l9QEM9SFBEUF8jVGZWXlFATXAld09oYEhkeEpD
O1MzV3hgeD1wNXokTAp6Y3J+enZCPTgpMWt1aTtYKGNvNUtve0sxdHBlVjNCVCV8IU4jYnVxUjBe
U009OTZtQkE+ZGNJNzJvXjkhTlJ4ODYKeklGZzhESkVRbjdHK1kyaF4qZjB5bWBVSmZpJGM8YSlk
NFh1YChhcDtMPkRhSjhVPCYxYitud3NuTnpyU1R8SH1+CnpPb3J4SERqSV5+NmZReEZEQ1ZKRVcx
fW1CcTVOVm8yMG43c1o4SF9lMjRnVFchdy1wbzFvd1pvZ0V1VGhPdkkoewp6b3xnNWBFQzR6KihR
SC1+ZXhUeCZUQTA4VExeSU5vTmVjfUlUcGdGTnQ4S2p7Vn10UUJhVWRnaUR1I2JpXzRaPGEKekpe
KXFWbn5CUDN6UVNPX183NEA3MmZ6ZmVaQCVCUlJoOTdfQF9XWWohWHdVbmtSRyNOK1JqZHwrVWpl
JklsZjdhCnpnaXlPQGd0S19gd14pOUJGZjhWO2tSdmJkZ1c2VGNiSFQhYUJqVkdTdlJ5LS0yM288
PyZ4P0ApO2hAUHRhQH1EeAp6WTJWO0NPcz4/OV9gc0stUzdydVR7XzN2ITE5PDdnZmlmdlcpNXlD
fD0xcjx+JXIrTjNzX2NyTE54cFJAbjxBQGMKenlUYHk7cWtnbVp1dysjVSs3MWg9JXFkMWVlNT1o
ciYyPiZENyFja0VjQz4yTXpuflQkQ2sme1hQaXxjfDt0N2skCnorU34kNGVeS0VoT1VzcCMwbEJp
aWg9K2dPK21zX1ZxMiF9RWhyeG5xJjw2ak5tZUFGNlFydFZoZW8rNnh1eUI5KQp6XylzYiE+Z3Jv
M05wVzFMZkIlTDlsViRqfGU3aHBOQWg/JUkoMWhPJTJiXjxNSzxZIT5NKU5FWl9RZT94R0J+dCoK
ejZQKk98MDw1TENSeEdEa2o3eWIoZX5UR3pxT0kqSVlQWWRUPFBaMFBIXyt+KVZleCs4e3dQRm4/
N3tGeCt6b3tICnpIczc4ZFdhaXoyR2RfU3hGSV57T0N1Qz5uIWpTVF9BaXkzdSgyWT13RyFTKHM9
Sy0qLSpkUDtaQCtXMm5OOWtWeQp6JWhoOG1HZWw+JCs4VzhjOzs2STZ4WWhyOF8mWU0/SiU2SCFE
WSZWQjF+ZCN0Zykrai1jIz1abGFeVUYxelBVd2cKemxvU0w/K1J8VGdeb3d6bT97UjhAMTduNWMt
Y3h6Qnp3JlVeJTRITEhrdk8/enNZcWYoRiNtOzdgLUBjPCk9cE84CnpVSXB3WmlTYUBFdDxtTnF1
dD5kRCY4R3ZySX1xWik1VG90Z1RTN1RoZX5IZnNuOHNOXyFkSkFwYHsmaiY+P0NkUQp6MDtHVStG
TFkqfnkzNmk0WShhYHlAZVglR1RSUEM3TSpfd3k8JHAyfl97PWFiR2YtMVRkaGVVcm9JaipDJiVM
UmgKendfWHZAKF9NWUlzdT9lTipUN2phdWNuUFNzSm1LP2NeRU9WKHM9dythKTEkRilpeEhHcFR4
Zn0zUmw4ayZiI09qCnozazdPMjhYenF5Y31abSV4N0RgS0NHQHQwI0N6V3ZlNWRqcGxKX0pITTw5
Vzhxdm5pTiRDZVYzXlk5UlclbHgzcQp6NE12PW8tbjF0V3tUa3JFb0QqOVBrVjZFQ2gxJWhBcVNO
TzBmMF9JVHUqdldQZ0NGVihofjskSWg2Nil5THRaOU0Kel9CY2hSYmg2N040YSpMMlNTNmd9ZyZF
fjZobyt8TWRGKm9fYjU3WStZMDBnVnd2P0N4aiUrQmxBMEMkYz5EIVA7CnpoO2U9PXZ2OHJxJHhv
V1haNV9IPGlwfUVMayQpYS02P2taNzBUSz4heVJqYTVeK1ppRi0hWkFKUighVndTeSY4Qwp6JDQ7
ST9IP2pUVTM+ZVY3TTFZVkVZUFFAbktVPCZNKntKTktLdXNjVDhpSWRiJWdQODhua1R5VTBzITdj
dyZkOG4KelNxTnghSWJXclM8aXhMcDQkUzxpVk80dWZmbUxqeTszZkQreEFfQ1AkMyNMNnRmOWsq
V29IKFdsS1Y/S2wtbWRzCnpDe1lYIWhsYisjQG5uVUokVS02Zi12bW1DNk4wYGhpZ0o5UkxHIXQx
cmZScDc+fFF4ampKVkglUXxhP2tBT081Pwp6Pm9BMC0hbk98cTFSWUd3blo9Tm1qQTBITD5HKUZq
cT9RdnUjVn5Sc0NLPXNNPE1mTGtSM1Z+Tm1efjlNUGZtMX4KekFSVT1AYW45fiFzcnE4UjdWM1cy
Wj9ETDJARU9jNW4xOHwmWTxEckM4dj5RfVgtTkQ/PEoyNzFhb3p6KGRYNFF5CnoyWjI8S2olRVBm
bylKRkBHJDEqNCFBe1BFQWIlQjRaUkdrWmt5VyYmdGBQdldedHpCUCZgKUxXc3ZHclZsejJ0Ygp6
MkgmU3pQeFU8UUJoS0p9O29lRXJRfGpna3p4KGlJJml9cTxXbnBCIyZaN01NTmxXZmJOdlBiVmUt
UUN3bk1xVWgKeitnWSF5WjdHSGdqcjI0RDUrQjNRMi12UGJeV30wNDJgdihNLXZkVElRNz0wQThC
MnJYcCpuSDhMYCQ0aW40cWQ1Cnp2SEA5RkZaNGw+dm5aM2FOLVA1YSpCNGIxMF9JPC15cHc9Tisw
WHhZY1M7YGByPCE1UmBJaTYhaHlrQlNtK3BDdgp6cTB4eyo3QVc+MkcmYnxAWGhMOSNBPlNmMnk3
JFB7OHU4OHxHO2VPdUJuZyo4bEBAWWthM3RUS1Zsay1FekdUc3YKeloqWHhqTz9DUzZOPjdhUTV3
Tj5la1kzNT1mdCkxP1Vxb2UhaFNVUUF1TnQpXktDWF5XcS1zKWUtO2xhJjBjRnUxCno3TClTSl5H
bXt+VXNDc2ZmN0QqUWBJMUtpITs5N3pYN2E+RWJaNGEmaGlpdXg+NkcpblZaJkpXSmVsIWthSUtm
Xwp6WElxKVo7OVAhckdacXhWSjNDfSZzb1N0UD8tfSFhdGp+PnJjNUFjZmIqWENBZD5tPE9IZz8o
OGhvfT4kP1hDOFIKeitlZFBAMW1Ee084MHEjMHt6eXppK2A/PE9lNVYwU1MtTTZxTjJeYTY7aHVs
bXtoQUtrcWJCTVorVCFDYHpNJVFaCnpBYGwrblZMSUxEQUg1WXQ8eVNjKkB3cSRKPlNXWXxYaSFY
Rjk/V2FzUihNe1lYZFErYmkhXzYzSDlxbjw/Y3xpcAp6aGQwKTJ7IVlmTUVkQzRyNk5DY09pd2U7
TSFGMzdHMWlfOGkoNkVOQGlGUlRKemdifXYwb3p1O1dfKjclS2JtNmQKektZKC0hMEhqcmp4WWRV
MyFGQUBOZEZGQXVycy1aMmhTWSZ8RDN1b0RedXxwPDNvaEp7P251JUFQfipsaEVZO29oCnpycl9m
PyplPVR2QEl8KkxubTV5Wm5xRk5jd3pjZTBQJEp7QSkyaVJJPGJ6bnctVGAqPlRaZmJhPCRNZGlq
e3RfMQp6ZVU5IUFPWVVuOCpyaUYtXz04NCh5ejBVWElyMW1xYjFsMV9ZPHxHOVBCUml1TDYrP3to
KWVnckYrWjtwRG5sNjQKejtaKTJjVll5LUhUSjRHfnEqQEFlSm0qaSlfU1NrZDg9V2VEPU9sfnYw
RVI3VElOJXdfMkdGN25sY2pmezAyI31GCnpBdVRscnU4fFo4fEtweWlwaExEcTxWZjk1amdiWVhi
ZyQ8ZkIkPiEhYnNAeF9ONVlhVnZNY0ZnPHxgZHhKbyRqbAp6UFE4IWh8QXNjZShkQE1wb0JOclc3
ZkMtcyQ9NzY5Qy0lUCpOa0NzO2F0UURSNSRMZktUVFp3UmRsb3JaYzNmQ2cKemVkQ2BmKEpTO3Zw
dz09STVlVT1CT3RBSnAyTGMhTC1ZajJYPEojdzdDRDVvKntoKSRWSGR6K1FkTzI4MDN9OEpqCnpf
NmxCYlpRQnV9UXU5NWZ1M29kM3E2TSVmdUQlcG01PUlpUHZ8KHBfT1V9Y2tnYH0yO0NRI1BoNDNN
VnoyPEUxNQp6S01rJmE/Mzh9R2szP2drSENebFpsIVF0S20qcW50QG9AK152M0pLZCEwTGB9OXpV
VmxrKjF7PiFkIXNTRHstKSQKenJNbHZSUTVKYD5UdmFweUQpLUB1R1RuZGB5Wm9PY0F3dDdzdVht
UVZWdlFFansqYzk9QXU2Tkt6ZjtzTmU7fF9gCnpBJVgxIVl9JmFlcStDVThmS099Zjltc0NSJW1q
cWgjJCkyfkxINmxoN2pNYlRGN35FTjBNJndMJmBkSkpPZ3F1YAp6cWY8KUQmaDZyM2xSKG8obDRU
eylBbTZFTVlzejxAI3xOOHs5QkgwSXZeVE0jKk02aWc3RUR2QEM2diVUTyNYQlUKemZsfVQ9OVJ4
TUltaiYkeU5pPVg8Wlk9TFFMQkE4N15qTDR+cHtYRCNyNStZXjt4MHgkK3xkRHxLaVBQP15XRSVs
CnpVRmcpVzZxN2x2PEVBQVYmfWUodmxfVSY4ITsxUihzbyhreSE0WjAkNGM3JnRvK3pUaWJnRjR2
PVN0R2pxenJjJQp6R3pBMmtaMmJFQXthUSVUfDRqaSY9Njc3T3QrRFBfKyZlNyopRk8+dT85Vm5s
aDF3THlrQ3hsIzVvbDV9ezRxMzAKem9UbSgqLXl3I0Q+aX5ZeSVKV2Z6KyU0QzVXJCgmZ0loSCRf
JGVeJUZBYHdnTU5mb1NRbDEka15uMzxuQ2JuJGxOCnpsMHJoZi00ZjMrc0FjVXlYd1RxWTN9eFhx
JjxhUT1CYW1Ya2l6dlIyOHFGOC0hfmhfO1VhY0o4SkgxZkZNemk2cAp6aj8wVW8tPHlSVEI2TGM+
Y3I5M01YSCpvJXJ6ZmAldHgxa145cVU/WHBrbWAhcm41JTZsVEdfOE0rc1kyZ3RwKlIKenRoSHxq
KEM9I0F8M25YQTxvYCYwJGJ5RkdqZzhtSUJVez9qLU9KWDVOfEA7SW1TcGYwe0RMPStaN29eQSVS
VGlhCnpPS0Q9NDR2P3VsXytEN0BWS2M9K289bEV2QyFZbHR7fCt3JE5WME9MajJMcU1GYXgtKkc4
cVVOUyhlMyUrViZfYAp6U2c3cTBpdElaOzJNeiQ+dFNHQCNJQ3FwYj8pN1cyaDAye3BMYX1aPSM2
M0xLQEU0eCl1bFh0ZU1ETzc9ckdseHUKeks0bGJxYUc1Y1IwWiN9Q1Z4Rih4UDtrYzJYQ0FVU1Ff
ZnVTUGJ4XiVHWkZZQ2wrYkh6RG8meFQkeHs4Wng1YnUkCnojSWlqamNWWlVDV2R5KEx3REBjPWlU
Y3ZGU3VvRzw7YEQxSWBwWU4wT3VUfi0pQ19odHVZJElGI2FGKVYyTXU1SAp6OUBKKGgjNk1gYzBX
VypDdndTaV9HZGR5T2gqXkdDazEmfWRAYH1VTkZ5O0lqNUZqTChLYz9CdlJ1P2IyPy1uPGoKekZ8
emxRSlJIRkA9Z0dLLU1oN2k9LXxqYWkrSysjeTgwOzZ2KE9uYS1tNkR+T0F5X1BiQyZ8cUQ9KExi
TyZSalM/CnohPnM4eD1eZElMZiYqN0FrQjJJRlNKczNCRXd7XmtgaXJmUnI3PW1+Uz9PZGdkJEQ0
cWJoNj5GJHNfWkh6MEt2eQp6Km54UDlHR1MrUDMkc3BiKzBueUYxb0syaXRMKDJ5MiM3KjJXeFZs
OSt6ZnlDaDF1NkUheXxJZ2NHY14xb0QpO3MKektSUWZ7YUgyYzI3OWxmQ0QyXzVHdmpGMnY1enQt
JiV9PCNOZU83OHFyK1BWU148Vns8TWZgRW5xZVZELTd2NHFsCnpMKEdnSlMydFQ4Qzd0WXA1clpN
N2QmVkpic3FJRjM+bj0wcUd8VV83TDNjVyMmWEk/TVBkVTJwPVh+eiVGMEZqNQp6enQ9bmlXbDE2
SXhXP0k0Wj1hMSl7cXRDIyQ3Kyh0QmtoTipaUUpZbiQ2SG1PVW1TZ1JOMygpUWZ9UzA+PjRUQDwK
emNqPUFJQDAlYHh7YyptNnhTVHc2NGVgZSs+YDVIXncpUSMzZTB3QiFyYHdsSyNTMHtkJGdvaiNI
V19rKykmZn12CnopQ0FkSTEzUjJFPSlYKXFmMUE3VWA8ejwpRWdNJXRgYUliNV58eDNxaXh1cEpA
ez1lRHM+RzxFJjNHUjVoQzRHfQp6Ujw5TT5hYTN+NDJsM3JkeT5+cGNaUnRFbzBvSlQ5cnQ0bD5B
R35VY2k7cDhJNGhGVDx6bEVaOWxCVj5KdTw3dVgKejA0NVV0NHV8ezY7WCErVDUwTzJ5RFNnbSlT
ZSg5O3Y4ajZQVXhZNHMrTzI9blEpTjNqVl9rUGBWcENZMStgd3RBCnpUfGNveGUwJExSdXJKYHxT
WSFqSWBXYVF+dng1ejA/RzwrSXUhfnpzYDZ1UihzbTQlN0pNbjsoc2NUeUtKJWYwTwp6XkAtQEF4
QkFPciZZa3o8Uz1Oa1FWLWxscjQhWmoldGkhaDxkbi1YLUBrUGs8Pn5mVlI/aWtkRit1JGtqYkJx
QVgKekczaUpjcmkpQVpZS2lEVTlEczJwSD5ZK2FSRHJ6SldEPjhEMzBURHpYUkNnPE5ze3Fsaj5L
b0haIygqWnlufCtvCnpMPlZUVnRRfjRyTTRBMTJ2fSlZUC1fKDN9aUBiRz4kMkkqYSZ9Z1p+O2Qw
bj8wbEVFN09FKj1OUGw/PTwybFdERgp6VjkhYiVpYVdiMjA3P002PEU9MzBKO1RDRiE7SXJmJGxh
SHZ2OFkzbzJRdWxJO3VGZzxeeHRge25GajFwYkNjeW4KeiRVJHwhRzIzQH0+cEFSd0UoZEwhVmNE
cFNsNiEyJUlxWUtYK0ozRXsheGVTIUB7NkxlN3VHTktYSmxRI19qM3JPCnokVmlSanp0e2FJOE5+
QSMzfnBBZGN8VUY4KHM+cWRHa2k7PWdFOCExWCs3SWtIVHlreHduOSQxTSFlOTMrO2duPAp6T1RS
SHFrdWxQSTZyLU5nP2ZKQkx6fXRsUHteeSttNllsPk9eekM3JSUkPEA7dERSe3NWIUBqVkMzWD1E
YCUzfmIKekxWPlc0OHFJbGkrQ1JSNk5RPWU1KkpodClvZyEqPDdqK3ZOX0ItWUwlVSkzWGJgMVg/
MzItVEtEQ2peSWUyKXVACnohK0tCU19+aCZTJVEtZ05pQ1FpfTNrSDhGakdGUEMkSitobXlZQlAt
YGkxaXcyP2I+VCRtVWA9RkxfMmM0OX1uUAp6O3l9dFFpNllWUDlZdDJkPllraj0kMlRMJXdvUkkk
bVNuUig+anpTSyloaz5SWVZJdH5PUzRqXlZVWnxLP3NyUkAKek9JVGV3VFF7XzB8OHxYKjlLeFlR
S283LT5UaCYzZz92b2V6YVJpSSUmUD4pNVJ4LW9SanVXWDsyd057dVchP1FoCnpOdjtPUkp4Nlgo
cGMwUV5EalkmKiEmdHt9VUh2Uz5NOHw0K3txeXdmNWZJbXZtY1FOMlNSQEdMb1pfKldZO2wlZAp6
Jk4oUlRDdCVnflgrSlJ3S1BJYVlhbkdZeF89N2xRYE0zRnVWWFolO0ZGV3luaXw/bkN6KW00VmZR
Y0JqIXh1d2YKeipHPHJMakFwc1IzT0FoUm96JE9IVVloYTtfRnNWPXN0a2RyLXg0dzAwV19ObWQh
fkhlK3ZPaWBIamNpaE5NWGF9CnpOUHNXOz15U0o5IWRzMGwwTFhOT0JsaXt3YHRjR3pRSGM4ISNt
TkFxbk48Tl82RlQrUDh+cUl4bDFYOGowai1jbwp6PFQqVStNSEAjTyRWNj5mTkQzaGQpbzh7KHR7
Qj00KDVoOGQlWnhlXnhkMGhqSCVPOHxOVTxoYjtIQyU3NlM/YU4KekBJNXpFOzZHUktxODxqSDt+
QUg2NnBBNmE9Ky07aEwtSFg/Vlh1Km5IN0w+RHcwQXwmRE1GdmJ8RSRaKD9XZEZ9CnpKdGNafFl8
bkJwcWBoVWQ8Y1Vyd0hqMCVeQEw1cVh5b0RmKjVTZnFNa1JYeWlKVnomVzAtUz5MVyY3b2khT0tW
Twp6c09uZilgYHUhQGZTQWJ1TiUoZzFBTDJteXkoWlJkSHBuSHVtYlRgdT0pbillbytUIWJEamQ/
VjxkNVZDOXwjPEsKemBCaV5YTlVHQz5YMEhZWVFWP3FkI3RjVz1RKylNVXtwJSZWd2VJRjVBZ2RS
em1iSWhzejc4V1Z5JCk0cXROakhDCnohLXJJZWpTR1Q2Z3hQKTJeO25OUVluTHorbHxuTWdAa3Ry
S3lyVk9IMm93cCRmPzxNWGU8X2o1PDIwZnstbmxVQQp6QE95TFJxPW8/ejJybWgzZmk5MFo7fjlP
eXZhbjdfIVlnM1hDcGtMdSs/T0FCMXBJTjZFUUIhWUJYOD5yQWkoNGUKelhWe0M+OWtuNDUrNEZg
QDQrRjd6PFBBPXIyVHlvNVBQP1RSUzhjWSMkMHl8PFZaI01yMzxZbnRmRHNSTUkxKiotCnpNNmJY
VTtRK1dnKWszdnh1Zi07PmFsVzFQMWJ5ZUhEMFhgPUdRJGA9dStRN3NSeTZwNFA0U2U3MTRiPlho
WWFYRAp6Zm1MbzxlR0owVXZ3TzxCaX02T0lkcCMkNEFgVzRPeyk1bGA8d3otfFpsSlNLLXxeWVp5
fmE5ZnladGJAe3Z+fXYKemFFOC0pUG9vb2E4Q0NlU2V6KEx5SDJCMytifkFaKnpNKkQ/JDlqZjY2
fmBhfjR7dC1+dCV3MEdrT0MpUUd4XnZ+CnpTJTY3U3laLUhNSGxhZ0FjfjBYTGkzb3RHRTJAYClj
PXhjIU1KMDh7SV5hdGNVO2VAZmwtJF8pQnVUdG9RbiFLTQp6Tmh9PW5zeTlfb0U5fndvdVMqSHlj
RDdgK1QyYjVTN1QpcStCLWNXeUsheFEkKXwociljaX1tYi1AQUBidnxkN0QKejBMRUt2VnU+I1V7
SzB3Z2RjWnttI3tjVz9jd3ZHQkx4X0Y1IzdDOWB1cS18MmA+RSh3dm89YXtNTVpEeSl7Zk9uCnpL
bDslNEdnPm1ZJXFqejh5eWEmYkBqVXZUJEtyQnU/RiMmX09CS0BpR31EKTkxNEtGSyRyQndZVSZG
cmFIOVJLfQp6M0g3VkVER2dnZ3dWPjs1JVk2TXRMRXQqYSFzSHU0SmVLMyp7YmdZVytRQFBibzhg
bnlXQis2NWpFflFldSlpJiMKems2YGtTR1J4K312PWZhQ0FOWjxydVpOdDNwUTlRXkomO2I3QDho
cDN1c2dDS2NocGooMWtvLShDQ1UqSWA4X1VQCnpORTZPUF5mNVE8Ukg9WnhiQkJOdm9fJVR3a2NP
UWU8Y1VmTyNZKURIWn4wYnVfSVV5OT42akpeJmpAUGNZKHIxXwp6YGU4JUNPIVY+THt3YXY+eElp
JlJnU0xweyYlV3lQZStjTzg/eXpzcmc7KSZ6aGhAVnpVU3l9UWt3IT5rZVdXUUkKekcoJFdaWmMo
UlhJYnlNY2cjMUpiKzw9dDtsVG8zNUxoKndzTXdDbiQkXiluWCs8JlJTa1JKPDF3bkV9R3RPJFlN
Cnpre0NmJnByWHBoQGJoTWtvMT5KNjl9R2c2ZjZAWUtOXyF4cT9MdzFjPVpgM0Y7NTIwekdMQS16
ODFAYmFNNElUQAp6U304I24/IXBaT3BKZU92aC1aOWJxLU16fl5APXRtPkY4QmhpMCVDbEdKVHkt
Tj50aXQ7TmE0XmQ7VllzaWdJMVAKeig5YkdxeU9fZEotPVdoNGp0RXV5djVGPiZPQkh3QThRdS1A
OXpxbndTTVd9U2NDOyhhLW1aOWZuRWhQP2dJbkBeCnpUWWA8WksyOHsrMk9fJnFtZ3IoVWV9P08+
UiEjUCskT2UkNmpLOTxoP3RJSDglJWR1QGB0ZHpkdSphcU9SIyVWaQp6VUZ7JElLO1I+TjghV1gx
Mj07Qko1QytjbXYtWVUlN2JaR0AldzhJY3hEa0ktK0hfOyNHT250PVpRKDJ4eFElc0EKelpuZm1t
RCRJU0J1PDFydXtBZ354MlZALVNWS1ghUjVjMV45a2k1WWxzUiRmcXdiKTcmQkEhfkJHKj1QND9h
RWkjCnpoWl4oVTVDb2twY3dFdS1GQ0BoYit4VDdodmFCdSp0NUxqX2Bqej1BeS03YWk+elVCZCs4
YT1MNHAqNU9qaTVsegp6SE5ieVItRDk8UFUtRS0qRHtUQWZ4aEN3fCkqV1ZWbCVgX3dwZzBWT21n
flMrb0JCNjRaQCs2Q1lCT19oQD8qWSMKejQzcjZGaXdmWnU9dWsjZz4qMERlMUdqUD9ie3pYanV7
X250KHhWNTlgMl5qNEhvbHM9OHtWKnxuaGBALStWcVVACnp1N0d0YFVKUC1lT2tee1MhcyN8KEhX
QWlTT0tOPVc8emZHXkx8SmtvQWNDcEJDISM+cz0rKkZvUyk8WFp7JGBgdQp6ZHgjWlVVZFdaSj4j
KENNPiQ2ZUVpa1lKUSYjRV4yPjReKWpoNmNORnBDKXtjP1RePGkwY01kOUA3PWZuNDZ6Xj8Kemhk
TU9pSUl1SXJxXiRzciFoNStiRENpUEwtP016ODVpcDU4JntpTzNqKiE9ZDk+KTx3PnspbjJ1ZipH
eiNLOXckCnpfVFFQOzJKOFJtNlJaPCRWOztqUnU0cU0mIzBzfSNeST87KSNmWGJZZHp9NDU5QVAy
KnRrU0c7ZFVrJXgyUHx9SQp6b3pUQExxWHdYbnhUOVNgU2chUnYxclhgenZ7Jis3aGtJUiomeGJF
e0JGeTlTJjx2KnxAUkQmeDhIZmJZY28zJnoKekd0Zl4lWXtrM0BBeXpEa1g2a3FUaHlIRlI/fDxL
TkspOT9aOUNBZntvMWY8MStzXiNCJmdeciUocHwqJjw+aSFuCnp4JWI8eiFiTXl2KUw8a2E/O2s/
cUtBcUImUD5JYV4xcE4mdks4d0t3OSpoSj9rZiNNTmBJOyVQNnVTWmJIQFgrXgp6N2JlfkItZTc0
SDczdVROXmtvV1B3X2N6fjtgLSFYN1RKdCklMGZQYTxYJGpibkJuaDtuJUBzOTZRa0BAR0Z3RHAK
em9meChTVWR5byVBcV9HKGx7akF5SX4oMH15IX1vaEkmbHs8ZiE1Z05zMkNfMWxGZERaLTUhJVZg
KzAreUgpcnxUCnpoWmJtZnY0fjteLUdNdmRMTlhYWVdBU3hVTT0jSSohK3s7emBpRX4tIyk+OTI2
TzFGTT05I295PEZDKjczTDU/dQp6NnkmOSh2O2U5Nz1BM0lqOVImOUA+SWo7dzE9SGJXdn40Qjx2
KjIjcGQ8MEFNdzROdSZwVXs3NUQmZGJ1d3dZcmwKelBzK3p0IytPcWJhSHtJLT9sPlQraGA9IyUy
WmJmSiNsTykhRSFBKVhrO0lzKGhFb2wxTzFGaGJvenxhWGxIZkpPCnpFKSFzJHRBfUIwNEJXS31a
VVopdT5mJmQhdVIwV2o3MEhDTnZoYjRrdUsyJkQlQWlGSmwhWnhhUDwhJSokWEcyJAp6aVhGcGQ0
YWFLMXpUQnBsT3g0U3MyezJeIyVCMG4rIz53dmtXdD5taU8hTSU/SlkkekdGXz1qKlF9X0tsMUl3
M3MKek5FRmB2N0EtUlhTPCE+eS11cVYtSVFHdCV8RiM0RVZfQS1pVylOWiY0YVVSZXhQIUhTeztv
cypwfngjRHp7KX11Cnp6PW8+QHxJU3FZX19IO1VqMiMkfEp3fEF1UTAxMUstXyp9SCl5Q0Z3YSNU
Rkw8P1Fyd3VobFYlUXYhJjM+RSt6fAp6TzRUMGU9aE01aWh5XiQrSURVOGxaWnpsREwmazk5Y08q
VkFEaXZyIz16amJKKnAkIVQkLVVBNFgqJC09NiEyRngKejZjfE1sPlZ5UzVyQHNqJj9WcVNmJn5x
PG54V0FZcztITVYqTnNWe3w8VzVHR3RRbXYjRTZKRH0meS1ZZ2s7IXVoCnpwT2tnS0N1S2NMUmMo
I09fSWk5cnBOaSpgc1ZEdGcxI2FWfEJ8KGNaVDZoWHphd19MVGAxalp2dllTUFg/KHw1fAp6UXpR
a3NnUHpyNCRLVnRnRnlhbi13PGElbT9ecHdQUG1gNypINk09ZG1qWTFkbytkTFcybF4kQGUwUUxY
UTIlNjYKemVsSzlASHYkKExKelF2QHJfcFBzKjMlaDBwbUFvYFh8Zn1jRksmN25OKiZRKGwrdFNq
N3M9LT1DJmJxJTlhMnJECnp5e3F+RFZeRSskTnFtQW5lYGJDMWRyPSEjcUBtfFhlUEUycylwN19n
ZDYjK3N6UTwkWEBUTWE1WlR5ZENjdTc+MQp6Z20+fntWYjhJJXJidHx1ezc/Kl5sZmchbyFvbyNU
JVFUazJIcUY7TklSSkE8JCV5MHlAelhNWSFWPHU+dX5NT04KeiMzZzJqVl5BeHlRX2huZVImfDYk
QHZqJGBDZjkyYUBWY1E1O0MwQGMrRzZPZ3VEZCZwM3RmYFdkZnghPjd2OFdKCnoyYjQtI2RGXzxw
MjZpbW5nbiQ2UjIlISszeFlkZiFvaW9yd2l4JjRFNX1UeklzaXclN3t7dlVeSnE+MTdSVGtaaAp6
LVh5PmF1OSUpfTRVNnRKS0hUaT9ve19Tb2NRajwmMUhCeyptfnxYUStAfH52bkZUPCVFLTxIKkJL
RihgLU1abloKejFSViF9Y0hARUAoRHAycD15a0VRWEhTfkQ5Z0VlfCstRGNvQChtRDdRUjw0JnBx
S1YlbiZEM1NGPmcmNVhYK154CnphM1AjRSYoSC1fdTx6Y2VXOV9jMj5OYkctbzcjUzYydVB8bipD
Kj4kTnkwXl9Ie3dFVk5AMGhHS29EbGNSd1MjTQp6SHdxOT52QklTLU4kZlI4amB+SSlNYTBGS3R9
YT9sNDt3RWgrJiklQURWR2FydUEpKmBxN2lhbVZRMWx3N2FjfnMKekA5O2pYODZPOV9QbHQxZEYr
cSsqdW1vSHNWYE58JGdPMjwwQTBieThVcjdLRVBII2N9V3o2UHBDRGlJQVklZ2FrCnpgM2YxI0d2
TzczN1NKb0htUyRJVytkdzRweE9QYD85RXdBfTVNVU40IX0mfj04NzN2WE1wTXEwQU5SRV9SNFgy
ZAp6cDlrajZ6Rih1MjxFb1lEWSljXi1IPTtWTmFzUk51THhwbiV6JkQrO3tsb1I5Q0ErbU9rJW9F
alBlT0p4I2doTGwKenleI3E3MFByP1BPUlhyZSl3SGROO0N6QC1SQH16P2JaQE9eOD85NVl7KGV+
YEViZFJLQm15b1E5VV5HZm9aYFd7Cnp4cyVad05lezNGbzxwREA/bGo+MjM/S3ZabXJxKUppT2I7
djQtUE8pcFpCKXlEe3RaXyF2UEdjanJwdE4pJWlyJAp6Y2V6dEc0fVdGPjImb3l8PXF4PnQ/MEwy
XzAjc19MNlBKTFAzPHAzUG8/TTl5Z2NvZUdmNVltQkF5SElTMzY5RWwKejJYbDJjMEVlPnljRldB
PDUjSiEqT1IkQjNQLX1QcW1LJHhNbSokbzZ4dUMpPTJyPTlvY2p9MGRXcjFiZXVjOGErCnpRa156
IWZlMUUwJipneSFRZE9kemFkJlJiazJnXzFYNzNpKi11M3VEXllYOWc1QGM/Mitra0pAd1NebzlQ
Z3dmPQp6YnlUfVAzUTJ6Jmlza1dkVkZod2kjc15WPzUzYXp1bldkc3E0bnx7eWZvK0dRWCF9bUNx
TzY8Xl5JYEBTbWt2WnQKejslX2RAKCElWHx2aTk/KTIqe2pSWSh8O0d6SHBpRzA3UVFPRmpGaSVS
ZGp+IXc/XlohJmdGO15ONkBHNHomNUd9Cnp1KXkyY14jWnxTQUdjJTZAJGN+XjlWPlNEfDVmbn5N
a3xiRXluQClje1V0SzBFR0t1dVUoMiR7U0h6VkFnVjxPKQp6QjF1TjNjSE5IankpMik8SUt2bjko
Z31gZjd4e3BRJil7MXpWISFBJHgpKTQ1bFlOSHY0UiFnWTc9aj1XbXZRbncKei08eEttOTNIPVgh
c1otaW8jYkN9Jj9UOEZ4OzZwKUg5cDMyVW0xWDkyVE8janhJdU84PF8pQTx3cD5KdkRvSGBSCnpB
UXtrdkFeXjxDWjM4QDZhJnk2cGJNbjBWSWFmPlk7OVNUKUwkSlF1PExSJHh6PjFVJSU5e1JSK0VB
an51O2NSVQp6d000PHhScVJHcTFrKHF4ZzNWO25RSE0hZzdqRk0zNXd8QTZreFp8RyFLK3Y8PUpK
KntZUDNYcTJ8Q05XKD5yaEEKelh4dSRpRDdJWmJXb0U+WjRTdCg1NnY/MjNoUSotNzRYU2t4QWE0
RFp6WW0yYDZfV1N5SEg5MT1pQHJWaTNIeD9ICnpTKH1JMkVrTzlxakMrMThib2FeQm5fXipZeile
PSMkUVBOc1lpZFdse1BtU2heJU9jQUF6c054PX18LSUoMlg2Qgp6KzQ4ODB3UUVXXnNQfGBVVClH
SnpXWFpQd3dnNlVyTVhoeCpYZXB5flRNVWQ9by0xUWVDNEx1TGswYUAmYl5aaEQKejw4RldwWnx2
biVSbFhUQ2I9LXlvTSomRCpLKmg/bENFWiM0KmxhV31hekppRmx7OWVVM0V4THA3K3ZLN2lBNnxF
CnpqP3BHJHpwdCVTMTZWYXcmdjFoYk88QUdTRndTUmtMald1SWFFe1RCbDRrXkBHPlJJNGhOOVpn
elZhKnIkKnNCaAp6TCRfZEk9OU9NcXM5KHpAO0N1ND97TCQ1bitteEJYY2x6djkjWkQ3bzNPeSEm
TU5Lb19sOXc2Y2FjOD9GcDAkOT0KentQQiM3TF55RmpCKkwwYVJ+UjJtWHhvbmExVFRBZTRIa2po
KklLTldXP1RIMjUlIW5lQ1R7dTgrc2RBSGlxLSl6Cno3UGI0eyYjamV4VzJkbG1nMithckE0TWhY
aE9WJmJZOUMrJHlAOHBUIWN0SGVXdkpkQDdQR2BNUW42TkN7XkpnZQp6VVFxQ2JZM2VZJCEyJkdQ
QEd+fjFaKndPPGMwIUpnZXpDZnxiTmMjWjNlWl9UbjhkNEZjXlZXWXl3dUR4MntJVjAKemYjd0FM
ZFlnJENFNWMzO1FuLUAoXnU+Kms+UV4yQl87SXtjRX1SeEZqOCM+Tjl5THpgSmBEU15hOXN6dEtu
b0k9CnpefmZaV3l6JnxMXmhIYTt0bykkM2E5QkVidFlGRXxXTUYwdkRGNHxGaFVJd2hHb2Blfmt2
Xj1SKn5haHRRM0g4bwp6VStrXypWaXRGb3s2RChoMDt0Tmh8TmZTY2tPbTBfcXlfMWNoRHs/I2Nj
KE9uTkp3d0dMclNfNGtTXiZDayF9UTMKemtWWmZuWTQmPzxKamRzR2UqYnhBODBYQTVjPCNPTHk0
Sk5tWWttTFNScjQjUnBeUXshI2d8Y0hpKT5uUz4/M2NyCno2NCtYRzJrK0VZY0NleFRVI2RaJUNI
YXx+Jmg9en5Fci0pI3dkcWQlZmA9YGV5a0Y5XjBHcWBsTChRUDQ/YTJqaAp6Q2R4TDZZX1BHYDxk
alhTOCMrVTdiaSpQMmQpQ3pwI1B9QmFYYXF9ZTdsQ2VgO0A2amNgWWlub1p7Mko2M21MIU8Kentn
c1U1UXVrTVFeaUZJeyg7aDYzOENxMkZWR3IzOUZBYjM7Knw2SVR1UHxDPjJTZElYKT9zVmRiP09o
cngzRHxHCnp0JUJLSitncXozR0o7KilnR0NWKmJmeHBwVFFSbUw/algxS2ZaRXJNQmtYOC1HSXRv
aW8lazIybGYxbDlPUXxUNgp6Ozt9fXBaY3VeY0BTPURaSEw+KnlPPVJLbmgpQENmR1NaSjtqJnxp
Wno5M0pOPGtuPXZwSihXa2BXKyYpX2BnejwKelYhaldlQVN8aXUpK0Z6NSk7fCQlaVlfUyleZ01Y
THUmUUtoV095fWtWTl9KfkltcGZ7K2V2TXh5OUk1P0Zwd0RyCnpGN3h9VW1RbjM/TUwob1VAe2kq
N2Q+MD4jXlZ+bHleb0NOWUBVT3I/MClOdjFkbEJXPTRfLWhGSi1SMzUkcE18TAp6R1B+O1A8YkEq
fWRTPHpsWDZlSmUkSSRuOCt1ak5keHJneXtNMU1PeDV9dUhpbHRKQ3Y8MS0wNnNRJDZsPm1nOzEK
ekdDb293UHBTRjlAUVNiMWomPTM8ZH5sTTZ5dTFRQ0BpWGU1ck1xNEoobUMzeGBDamY+UlREJHVa
Z0Y4cTx9WEBECnppJjA0KGhsbmZKNnNnSUNldiZAc2t5VT9yeXx4P0BBbiokKmp9SXNmY05DX3c+
MT4tTTNWV15zTDkrTXJqbz9lTwp6QkE1TjV2cl47eVF9dmBmRWJYOHdmSzt+ejM3ZTFkZ1NQamw7
LUA4PmNLM2JWSEo9dH5VbW5nUlBReSZzakdPd2cKej9XdnROem0/OUE0UEQjfWtpJCVgMlIkK151
YiQ5Z0VySl50bDVKYmpzYCpxPSRHLWFTR0YtRn5FdWpYPjBqUTItCno+aTJsIUc4e3trRUpoMSZY
ODgoTFctZT02VEUwU0kqVjk1TU1wJi05VkZiO2Q/XlBPNGt8SzxOLWs2YFU7ck4mbgp6WklkKVFW
JEhzaGRgPzlSUGkqSUdlY0xFS1B0I0RJSXFSdV5SVW91MVAxJGY1aTt3cWNAcUpPZFIxcEN6N3hZ
V2kKeitqT0N4KDAqaV8lR3lXPSQ4QXBPQzdQU2FfJTVHJXc1QU9fYy1scHhoNkhhQ0dKK2xFdVND
eCooYEBTU2E3YTAoCnozZGBSMHtwK2goRig2T1NnJExWNihSPktXYURoYHMtKnBPT3glKlFPOXc0
JE9ePmBZUzhycHA/ODZNS1M9WX18MAp6ck5HJnZYbX5iNmklJDllNmE1R0UlaEwyTT5iR3lNWUlJ
fEhBWSpiNyk8dkp2V2haPHI2N0JjPy1tQWdWKnxZP3UKeiE3dE9ORSZtXjM1ezJYVVRFNm8ycDh4
YiZsUmU5U3lJOGpZND9oSmcxT2ljPms5YWt8fDhKWDM4YXBCKHAocStGCnpnSTtyISVwPj53NXN8
Wn55RUx3O29rYGdvNklpXzh2YTQ3Ynp3QE1MZypfZlEwRk88TENPNFB6ayQoVWo5bHNOQwp6VzN7
dUpOcjlRITRTRiM7TXtYdFIlRHlGRzc3e3p2SGFWZlptdEdyeFgpP2JTRzxFZW1vbm1mTk1KbXpJ
KSVlRT4KejE3Q3d0cDNCXn4kU29xTVlSQyF1O2x6JD5lR0MkOzhmejUldXxvaGQmLXZRMjA4V2p5
TGVaRHpUaSlpeCMrZ3x5CnpeQn5PcCQ8TWxQaGw5Z0xzJUcwTTRYS016aVIxUkY1aGIhWTlKbnEp
WDV4Nlc2KiZTZHp5YnRaclRAczFoWDBXegp6Z2EwY185dHRCOEkqRXMlM2peQHtza3BuQHVhaVZB
IT1KUjsxeyRAUEleTWVydDxDWWkpezZlcT01JUhBcDFDcUwKelg7WXY7IVhRemcqdVkyUTtrOGNB
XnJOaVRnS1dJZXImVzE3SGMoaHBEe1EoYT19ZnF5e2llejAtVDNRJEw4QUJZCnpAKGh9dWY4fEt2
dm1KYkc/b3tUSkNqMnYzenpsJl5sfDVyPHpOUTcrS1BPeS03fHFVXi1rSkx6ZVRIKmZ7TzRmQgp6
Kz95Pjkrbkd8dDJLKXA0ZFprMiRQdnleKFNhK3c/bHc1I1g4OVZLSF5NZUFeSVVPQXY9REthU05A
X0IlQ1pWLW8KeiRtZTFSaFdZO3pjKGMxaGRzc2lDXig8aXBAaEhmUjg5QSk5JXpVcVVrVHUlWnk4
aGVpaD1zYGw7TF8/bj98bChyCnpZfDZkfCpEeiVvWioocz0xPChGcmcjNCNKMFVvMWIleWUxcnVV
XjN6P1VwaiQ0SntQQ1IxIUxucSN3YGV3eHc2OAp6fEs0YEZUUVZ5KldsY1hgaT9QUyhzUGdoJD1o
fCFtd0A7S2gyKStxNlYoX1otRV9VIXs8M3tGVzFCSEdUZTZ4UVIKemNSTFdpKi13e1FYc2A4ZndB
KHhMSyRhQWA5T3VoI3BBTGJ4cjhhVyN4fXkqejdoZEpOMjNmaXYjLXNkX21ea2hBCnpHRyQkS28+
VU1CPjImKT8he3BvKENVfW5jNGMkJFBHNGJkK3otYXoje1U9bkBsV3g5d3hkdDVtX00xQjM5Mjkt
OQp6YGtlRj4oaXpDKFBsTEwrMXp6V21zIUw9bz1sNzcldyo/e25PbkFFPTRWTUZIJEg4WCVDYXdz
anpmZF8/QUY7UlQKenRZaV5gWEkzNSU5I1JURGFyNUAwfDE2Wi04cW1+eGtabkp8cjVjI3AkRmJV
KHRANzliZk9+anhweT9ZX2FfNl8oCnphUGxhYk5kNiZnMm5DejBYbTc1KTRKZF8mYlNiRnRSdHl5
NjdqJGc2VUZlOGkwRkVjP3lhTkNlOWJUOE1zVUVqYAp6Ujd3Kk1nNHJMSCFjV3ZCYlJHXkpOIXh4
KHhUQW5BSzlNYUpAQ3tKeiQ4OFJhWjhuZGptX3Job3Z+MlhtJCpxNVYKendXfUZjSD5PNT1oKU1r
cl9YNzhPTU9IYDF6dDltKXMoVjY1STNJcDtibXVjK2tsRU9CTFJpNT9Ma2FUZmN0K0kjCnowdl9l
PmQ8aUN8UHhXNyhUVkxsWDNfVzAlSXR6JHhnRDF0RVl7MUhZdmF6IzREVUMtVlBsKVJgJl5OM0Vi
WTN4Xgp6VmtxYExNTHQrek5BR3tHdmw5UkdYMj5BV1lVZjkxU1F8ZE51dksmUXpeSUwtPTF1OGRn
Z2EoOFgxb1gzKDZHVEkKejNeWVJhQ1ljcm0oN3lgLXlgblNsM1RDUiVNdnV9NSZ1PT19PzdlQyh2
SUBQQzM0Nkh7NzlYYH5kfTVlP3ZtNDxKCnpPPXgjSkZvaWVaKVcyRjEmJlkkPGtDX2ZNbSE2OX5F
TlZNQ24qNFNTO3x5akY5aXdMZU9YKzNzMF5SPkFIPlU3Ngp6MlRoNkw3bWlIKjRiVmNqWWo7Tklq
JkkmRUBFZipSPFIycntYeSppfHRXd1ktQjREfko0NVJSKUohWEFXbTMlNUIKemFvTUBXNjhRRlFs
SlQ8NmRudF9gSWdiUXdqZUxEZ2Vtb0lsTCFleUBQWFdWViElNTtaQTlpI0JWbEYyLSY5MSt1CnpN
KDw5ZCY4TitYVDxgK2ZeeT4mVCU8T2VBaFV0RV5kMmluTlNeNmhmfEVMZFJ5NDJndnNUd1dxbFRZ
Szg4OHB4Mgp6SVFzWVpwZUokP0Y+NVFNYDRZM1JgNiNyclhNfVVVMExAbmpDOWVsP1A2KVJ0ezg2
dlBEIVg2Z1lnSEgpcE07S30KenVWWiFUZ2RXMVpOK3VlaEo0VGdUJXY+JlNMNDZJPz5+YF80Uypl
K2ApZHcpKS0/SWBNbkRlQXRuSWhnekhoRCNpCnpDMEVRPkhIUkRMWjU/fipQOXgqKSYoZztIREtU
az1zSSg9bkZIZzFGUz15Y19QcEI0cytrQFBtaXkoXllTcGRrWAp6ZjZmNVM3d2ByK3BUNDBRMkV3
JGdlMFpFJHk9YXZlTDE3UGA5emZIKngwWFZZVSRTPmE+dE5VZmwyNmt1X3FpdEYKemlfcHgpTE9e
VVJAKUVzMVl2byZzPGpQZzN7T2JwMDZDdSl9UXprUFUjMFdIYjc/c29wbEZIKjRHb1JDdzZlKjxm
Cno0QXw5cHBpdj8zRD17Zl5TbFREJlVFclF7MnZ1P3A8SSZmMEI9MlNDel5ROCs1IT9oeVlPUDYy
Y3thcUhDX2QwJAp6XmJ1JDIhQTkteEB4Rl40V2hDSXEqT3YjbSE/QWpmSn5GaTs0fWtkWjFgO1NM
S1BELTQpUS1acUFKa0tZTEJjMkIKemw2d3xVRF97dVpPLWNDKCVnR29AVjJeUmxOVUBLOzhYK01n
TnNKb3xTSnwzPVolZDswNmFDKVZrJUJSRy1ffV9pCnotRTtOKig3SFZCYk5CdGlia3AtQUZRWmkl
RHtOJXhwJHxtYHB9KF8wQk5DTnQ/fSs9P3FeRTdZN2c/d2Z1VDEwWQp6YW88WTN5WXJGb2xuRTlI
Q3VsKiZjVDU+d0tAKFJLZGBKRzhyRTZKWTthcHwrWVJIRDZqaE1OYkB+IUxVU2RRWGgKej0+YzE/
MHxVZThSZmlDdksxaiNodWIlckdrYkVYLTlJIT1vYTF0RG5lNj01d094USFvWFhtRE82JU1eKGYw
NnY1CnpnWlY4bkw1e0pLZn0kcVBkMClTJGBXZkpMTUdwfFM0XlY+MUNzfkkmdkBAYSFoN2J6cXdU
ISQhP294SyFJOHRoYwp6U2AoKllkJEk4YHBiRUtWQ2dFQmNvNUlua01vQCZOMG5AUXVUWjkpaHBA
flpieWNOd0AjUjRLb0cmdk5BQVU3ZW4KejIobUl5QndmZ30/enB1PCUjYWlIZTJOTlpBQUNhalp5
VGd8PytXd2VLNTNURk57a3NoQkJqJDZjeF5hSV52YSs/CnotIWwrMEtgPnktKHA2WFBaRU9QX0ZZ
dXlKeVUwYko0YmlNU0NhfGFOKyt0RjVVJSs+JnA7QzNUKFRSaEZ3dXJzUgp6JEN2IzlGYF5+Vm9v
SkNiNl5DNnMtaFQjbmZEN19XWXhnUVkobG9IKnA+OFVfKUI1STE/UE9UYSQwKmdBR3ZhUHUKelVG
biVDKFZ9a1RZN3JtRmFnVXcoS2EwNV43ezAjailRISlgOTkhOEJlTHpka2FkbiYjUSV1cVJOZTI1
KiF9Uj50CnoobT9tQjJkdyRBJmAzaXZOTmNqMW5ALXF+WTJIcTZScFdrVWIjRyt2VX54VU01ZX1S
RFRmOyQhM1J7VkZzKjxMQwp6RUJtYVd5aTV4X1pjeGo2e20mMzx3a3wxQ3FWZTZjWG1VWjExS0FI
cGhCckIkOTktaVBTRytBJkt5QWZaSD97b28KejFXTjRWSEZieHp1d3x4dTBkY3t6TDBwT2x6bWlJ
YEokMkEkWSZpfVhZOSozJipySkNHa3d0cXxjMX5Nb15OMUcpCnpYVlBfbGdPJUVeVVpILUJuKjA/
PypOcyRaWlkxM1RFMFB4V2hkP1VUe0ZPP3RhQzBVeDI9PTVaNF44bm1kSkNufQp6PXpRNGJkRG8r
by0/YHpiMy1nVUBqb1QyV1g3V0hWIWM8dSZLR0VBPk5tWld3a2g9ezBGZGJrIWVzflZ3Tm1NcXwK
ekpyOXo2TFRyNnIpNWJQTyh1TDh6KHxhdHBrO0ZiTUc4Q28hLVV7fSVwdy1TOF90QmIyKCRWej5g
Q3sjajx4X1BZCno8U19AQ0EmRk1CPEJROGZ4S2dTJUE2QTslN3dkfihlMXo+MkJLY01NYX4yT29K
b29rYjI1MSRfWXY9Y0I5JUF3ZAp6Y20oMkQlQypFdFRJN1BDKnZQSWRrTyNQS2Jse3RiU0xKSGF8
TVgzRTVGO1R9SnY+fi0mJVZPR3MkfkFgNWhsRUcKelBRaXFjWDtgWUtaaGB4JjtqcVAmYUgmX2RY
Sy1EakUjS1p2TjI9IXFpaUB8bSloKGEoXzYzVFJKNnw3PnImaVgqCnp2TzU1QGd6bzc1cSFxdlB1
Unx1TnE3eyR0NCk9fT1sVGZgbDw0VEVjZFhES2JnKF5XZCkmSER5SVNgIy05akVrIwp6VyZsX1op
KCQ2c2RYLT0hVitpaXdoZ25nPUgjKXpWZXRUQyo1YV9uVG1DYCtAR0YjMHU5VnRzMXFAa0sodkVL
UWwKemB0czVuVmtYb3ttNyRlWVJGKEQmOCpkdCZxcjdrREk7QnZaKFc2TCtjfEtlWHt5PXM2XzM9
eWJzRGZ0TiZPYkUoCno5UilGPns5cElxdHM/bjxRMDJlQmh7JFdHYDd7VjtZYVQ5O3U4QEkxYFVD
YCQrSXV7bmt1X1gjOFNmekN0KkE+Vwp6JCoteWAxc3FjPDBMTD0mS2t0PnRxQjtOKzxVTmZJa3Q5
SiMlX21FPDdedm9EVHBRYV5IKlY+OT57fGA9Nk5CJnoKeko+KnZoUHl4V25sc3h1UVIjTHFiempo
emR4bnxRdTByLXx+amoxZi1wXiZYbGYqQHBqQF5qMEkod3l+SyE3dlVICnp7ajdBRntZYllvLWlk
WHw4cGpfTHslbzAySWE5SktZXmk3RERWeikxKXZwUEFkaE44UnBVbGdsSGc0fSRNT1ZSNwp6Ykpt
REBUIVVTbUAkQFU3IzE0MGBsMlk2cVJoejRYKGVRZFQ4WDN5SEdmTmo1ZCFLQVZPRjxYWVhqKkhf
bnR7NTEKeiNpTmxCdksoalUjZDQ+YUBQRClTZV5kfTM7IyN1dCtRTUJYIXc+JXg0KX5gYUskI0tv
djJRfG5eODVkZE0qP29uCnomeDI7e2N0aVlUZ25hTkJAPUkhQDhWMz1UPTlUOCpaP0Mkc25rZEBy
SzlVYTN5e2d8aV9OTkg3T1BxZ3x4TCoxfQp6X3cwdyk3NFN4JHtHTnJPN0pmP345Kn08cmhuKDFJ
ezBRYVY3R0FAWiE2I0ZiT3VGK2IrU2J0c3FvNXwwK1RfeGAKemRhRjs7aHQjOEljMCZkRDM5O21q
YW4hPkIhZWFSNkI2KHQ+cWA5cUEhemoyPjJmUzVPN1k7N30jSjh0IzVEO34wCnpJYDUmMV9AOy1Z
XmAqZWYkJEdYOzt8WnxjWGxeIU1zakROcz8hbDkzUHwxXyNDLUlZd2U/MHdqN3ptTzRBIXI2TQp6
KjBDPmlVeV81fl5weWxiPWMyTGJNM0w/cHlPOyVCYyROTT8hYl9OUSVeSzIteTtNMilaZDVrbVNj
Sl8tYzFgMEAKelhYYUUtKFpHRWolRCkhUko5P0kmQyp5cyVnNjBHRzBCY0lFRm80ME01dXdzNSN7
SFhCKX5fSntHMD1HbXZUZCZsCnooX2U/al5GMntDNmBIb3I2OF82M0dEZUJecmpNRUEhbXxlazxg
dkV+T2QxUWZOLVF9O2BkaGhyaXU+U0NwdjdwIQp6dEJ9b3goJXZ1czN8JHl7c1JvdU51RHljPTlr
JjNMUj9nVmhtKDliJXB3ZX1oeEJYbmZeaz9zYWdaeCRUXikqbE0KemNAYGZEKjhiWndBKjs0V3Bh
P0dIJmNMMj4weEt9WHFBR29XQGglV1o3PkctcV40eGRPcyhOWiQ/I0VacTxKJEw0Cno2OEFxP1hm
XkthcnNBZzZlUnpRO2VKb2FuPG85V19uTnBufipTditqQHd8YH4zTnBRPyh6NFY+K2ZHQig+YEQh
NQp6QEFRcntZaX1iTT1BTjRWKX0yQzVuQilUTCt1YHJ4SCZWVH5SO3RoI1JvVyUqJTx3IXZIbGJI
KEcxd1QlJGRGfEgKeiFxYXYqeipPdUFaJChZeEchTTYtKGtgUmpHfGxHcmRQYX5lQXp4PygxTmlZ
S3QkQD8jLVQhZml5an01IW9CcmJ0CnpWTDJreHNAQklkb2M/aSMpTmtGUHlaXlhEcTFwX1FJX1lE
cTJTV0RFVntWVWo9e1cxbXVFcnV8WWR2YF9oRGZsMgp6QTdKPz5QeTVJaHEyTjUpTiQjJUFJKUNg
U15tTSNkX0tXKkVxPjd7PyVHVkwjbzJQP2godF58fjlXSyFzQVEmQmUKemopXy1LWFlYfTUxU3xi
NVNMPDhgZzxDfDZjKHIlJmAmLXwjKm1gdllAKkpqaGJ2bGQjIURhWTQzdzd+Z2dwRTsqCnpUJW9s
bkR9SipKZ1V1T0AwQHRFc2QjMjNrSHFZJEMqNiVyfiEyOHBJYWBFJSRTUT9ESStjbXhPKXw5Tjd5
SClTKwp6elopK18pUUUlfW9ldyEqZ3g7dkZRcHwjayNLfG4hUkp1MzNWMkI3P0IxVmp0PUg2cDQw
RFgyQk83TmF0dHdtJmMKemd0N2ROUm1fTG5wRncwbVp0cGhocTFWRismdzd5WipsRWAkPndoVV97
MWtBbWskZEJRd0VwQnNIVndfPFleUD9sCnozMCU7eyFvMHMxJn1lNzdKM0RkXnMxJSZydWVpTzgk
d0Y3fDFZcHR4JDYjVHlNOU5ULWtYPDBxezA3MTZYMitGSgp6KUErQiVuPVVkM1MlQUchOF4rKEFP
enFYUlk1Mzs1T0VtdlNhR15FPUN2O287UiNQenR1dm9sRXt3aiRjPzBqezAKenokanwwOGtoOTQ/
YzlRSkE4M0xmQFp3K0lIQG9fVG84VWMyTUxaeUQzdDJoKDxwOSt+bDN4SGp4NFhiYClmRDVKCnok
fnFDclhMMjE4Z2p0e1ZnYntxLTlNMjtoRyttPDtSPVZfQWd1PVhnLS1CZCF3NlhLaSNee0A0WWhY
Qyhzc258UAp6MCtZMjU3b285WUQ5RCVedUsob0xrJmh9ek4tQER+KmZPaC0lLStlTy09TXJQOCQj
aHpCI3lSc3hVOUUkRT1CJHgKeipETz8ySzh3LV42KXpjQUhDcEtLbk1APVo1Z1dHZnYycml2QTNH
QHV4JEhrN2xIdz4pRE1ZO0wqRGFIWmYqPC10CnpJWm5LUmJMVUtsK1pXR0ojVFl1e3N7el58bEd7
Sys9dTdMX2F6clgtRmxpQDNVbV4lelpGOG01OWRMRWxCQ1BYOAp6NyQ8QTV7U2plfERpQ1pRRz9M
P2hYPDBPP2QqVk14STd8YU1gfSEhTEUjPWtRNXdsc1FYVH0ybzdOS25gdnBDPHUKeittTypKa2Iw
KXZWMCg8T0d2Qnh5Pmw2REYpZzZPcE56TiEqXjNZc05AfUV8M0kqUVd8QntGKDFMVmshcmFoVzt6
CnplKipaZHlnMHlgR0NkakJQJEkhUipeNlg2UWBqP0BIaFM5ZWlnb05RLVE5VTYrREhSczk5PXJI
UHZnZThBMENPTgp6QDwlbWRpc1AhNlVKcElsJncwNnl6c3wrcCFkfEM1PEVmQnZOV1hVbG5qUENP
M18yU2deWWEmfj1Ya1VIejZKczAKenlpYEp9U1YhWmFNYEFHXlhSSW1vKTw4aTZTRVQqY09QYyFF
T1JEYj4zUkE1KnBufXUqYE1OQVZZR1lGaXBlaSZ2CnpKNzN3KllnQDNySFpDM2R2Z0pWZkROZTZF
X24leiQ8e3NNVXhQTjdgQU54cGBlQ0E+alR6JTBLYDZyTDZVPlZvNAp6eFozfV9ocDNMfDdsKHtY
VmdlRy1UNjt8Nlhxc3ZxU3RkYSl3XjAhXktgWHEqNmFmd2lLcSZuSFFoOXtWPm4qQVUKej96Jms/
Uz18SXAwPk1hUEYtMVdzTm9WPkBVbmp3MiV1SmN5bSMhQWpHcnBUXzdYM3Yxc25eLTdIKGx1VE1M
JHBvCnpWIUNicnY2MWNvOCkqYGNFOztqbVkkVXF7OWhWcn07I34yJk1ecDxDV1lQS2w9R1AycD9n
Xy1pQDhTb3twRlo+cAp6ST1+OV9aMj01ZD4jenNLO2VFbDQ0NDc5dUpWakR2eF48bT8tcSM/eEFw
c0lHJDZxblRpR25QbmwmYTNORU5fLS0KemtkZE5MMDs2Y2hFVjl1Xypve1RZZUs8c3QhXnU1JnMm
Pko7UXltJm49QHZgOENedVlUaVVxM0hyMHxoTjApT3lICnp5KHV6e0sxIyNvY0Z0ITNkVyhNYU80
SlFDTmgqUlUkajxmZXFOM096S3hwZmMlTip4UjYjUHRZUlgpK3M9I191RAp6YV9Wemx5fHMmc3dT
UXNzK0BwfWMyUShBfkEzSkp9dStYUmtgd28xPVhaPXFHV3g3MTs5JHR+THw5QDF+KzslXyQKejxj
eSglSGl0XzVTQHRNZ1JrZkopbDJoSUx3MDBYZlZSYD5xd19AemhlXzJibTh0K35xbmVgLV96Nj9Q
cHhYdS1SCnp1bGpWdVFkYlkmfE44Vi1YUUEmd3IkYlFVajtQTF9NM1g3I2UxdXJVVHdrMHBYe3h0
b2NBd0c2VXhXN0U+QmhlTAp6KFFuM0xsdVpuOEhRZDByXzd1aUlqRDxGUE5hfC16PEhKKld2cTNp
bUlUc29HPDFfaHklZExkSmVjd2dtSWhXLUsKeio+fGpuVmE3MzVzVzZ7TyVSbmN1JnU4UjYtbXcx
KGkwZDM3PHpRMTNVN1g9YlpDQ3dPYGppOSs9UThnaWRRPkpjCnpYIWhYIUR7TV5YOX1oIyhlY0s0
QUl3U1pha2BsU3VjPjAzNFA0KUpBVXZ4d2VkYHdESVo2eldJP2ViKW1ZK2VUUgp6I1U9bllTOU0x
bFcxKmk3PHhQKXFWZCFrQkN+T3YjRSkoWCRaPXJ7VmZvVk4yUFJmaWxGQE9vPnJqdkx+ZWFDN3MK
elBePygzNDwwcSZsayVQUCQjaD4mRi0mR3VORDdNS3RNXyFZSWk8ZWk7bjtDdjNqNVdZKntVMzNf
dj9kcyNEaUdrCnpCVS1raGNoTGN9V3ckbXteOSNESzc8c3YwbVp5dzlYU3YqTlhkO0R4I0AzRHFx
UH5iYiVlQEsxNWxSc30mI3ckPwp6OWpYeWBkYnhXQz9eVFZeVHJsZEVpQkM/aFRULWNYMXRyaDg7
Zlk+QDc4Qy11PXNuRmImVk5+ZXdvSCM2dkxVV3UKeih9KVdHPlVwcSNmdlVJOGJFR2JoLWZEJjNn
NjVuRys0akRETGd4eGdLMEt7UDVFRXd1ZnA3MmpFfFRwUXYmO2FUCnpoUj5nbmIqJlotV1liX2ol
Wj8wckd7K2oqKS13IXxVJGNxN2dNJDB4LWR5ITM4NkxaX2dDRCUxMGVrQVRTVjMzcgp6YCg9QXF4
cDY+Sk48KFlUZWtUKU8xJjc2YDxvTnRgcGVVYTR7TkFUI2Nqc3VHO0QwUDBrRik2ZEVJIUJ+XlNy
WWAKel48U09rT1o2NU5wLVQ1fio+ZmskVzl0YkhndD1oYkBHOVgxVEZhZDVVaUFfWGFrYms2Tjh1
VmwjMU1KNUdAU0ZlCnp4K1FaJGU2YDQ7TSVqV3VIRX4yVCU1aEVPPHlndG1vQCYjfjdyQWN9TH5i
d3p5QHhQem5XbzBNcl59NXspWlYxegp6I0dHe0VxV1Q+QWk+MCVoYmIwd0ZqQGMtRzlFXz1aRiE/
WkFfMTlSNUZlSn1EKG55VXJtQnNFVG8/K1d0SFM/XmQKel9JJmkjaExaR2tTQTJSYT5PdW1hbjBi
VCFMNWZLd1M2X2wwaTRDOFI+dXdMKmpeQ0lLdiRAYHBXYnkpbFR6KiQoCnpGISszYTZrfWw5dyZZ
PnFSUVMmT2UtU1JxemgpR3BNKkopfVZecE9JWVkyTnRyPFdLdkx2KTdBdmloJEpKYl43SAp6cTRB
anBCZ3h3OVg7VDNTQEBaQkkwKllrSXAoJE1hM2VlN0A/NlR8aDUhe3kmTWF7fGtWcmB8VCo1KUJe
dGRBJlEKekFPM05rPl9aKCkkbWJKSl4ldWAkXzdVaSQtaV8rTCRwbyNmYVpzfSVIWGQ8ZmxSeWYw
KllAc0htTXNUQFVzfDlMCnpgNiFfR1plNkVFK0Z8OW1NNkdgRi09YDgtS0ZkQ1FFMnFgUUcwK3tI
biZIcjZYSik0RTs2ZnlKWEczcWZoIVZNKQp6KEJXZ3NGIWdYe1UkQUpOXz9AaEJrYmtnQitmVkFH
ZzRrMiNpYlByRkEjOE8qOER5SnZ2cDg4fHsoSj07OHgoJTgKenhoYWtLNUxTO008ZlM0MTJZVkJC
IURFb1FeV25xRyR4YFFrTnZnbENWKGlFfmwqYSEqSEJRQm1xNT0wUENFNGdfCnpCJVgkNDd7M0BD
dmU4dTh0MWcqX3JtT3dxSGNkQnNfajBiWXdDaTNvJjZFcGA4aTZKdmRjNy1+dDNhV2prV3AqMgp6
UWlpWWZ4MkJiMWRZRDRhVnc5dGdsdylAaXFSY0tXcTlAdEZIYkVyIWhaZmFMbH5jSUlDYGFfJV9V
fGk/Jjx9LUIKeilYP01TYHtFbEtTfipVWWk3PHc1Vj9EZE4/M0M4KFdqNiU8V0hLNmNDVTdjbEIy
fkhLJWBLQytITjgyPyo/R0x3CnpwZU9nRURnVURTNkVDPm5RbjBRdUgqUmpWKWo3fnM4bnFYfW5e
M2NLQml9UG49RjwkRTI2PzI5YXpwNj80STttMQp6JV5uKT5BNVNYMTBYdXc3dCombE5zN0JOVSYr
USk0SkY0QDktJSZAIV81NFNMP2d6PklhOVJ1VzBhKj9LYldKVDYKem1nZl90eDA9VmwzZmNDIyQ5
S3huKEFePTtUPXM4cFl0fEA9TjZsaF5AMUZJRVd0ME9qTjJeSmYkO0RVVSNXJGd3CnoyM1ImYipB
PiFQNS1CfjRWdzFyWj16ZDl5SVNkQmlRJEd5ND5PakkjMlQpdyN2a20rZiZPYV5gZWsxNmRmMmsl
JAp6YDtwVzBGWiNHRFlNZHZTXlBLeXxjTDl4RHgjbWEwOS1CNTQxJntuZl9kMSt6NU4tbj5SaGVP
emwoRXN8RnlvRVUKenRPXlRCezFkJmIxRXI/PlR+fTAoTjxedGBaQ2pnbnN2fkghPWwqMCQqNUh8
dldzVygyKiZ6MX41JmBGO2Mhc0U7CnpWbWs1NGIoMXZodSEmbyUlOEpJP2N5cHx3UkoqRTZBJSM9
d0JXfGY/OCpwIWV1QkAtPVJnQUkyLXUhRGdyRDJAWQp6WlBvcUAkbFdJbmIyVl8mM1g2Qz5JSiFs
X2hpNTVEJWBYX256UlRNMTFDZjAxSGVCTXY0KEpTIXE/ZmtpNyliNiMKenxBandWKFhicVRSLSU2
akt5RnRWYStkXm5HTlI1TDtCWX0ra3lQXnQlV2wzMDl8fCp6UzdpTjU1NVVyNmZJK2lPCnpeMChe
ezh9fVEwc3FnUj5BLXFrdE19ZXswU1U7cGk4JiQqMy02diR9ZXxqWXIlfTN1VkwoXz9pKGJFKGo1
JSpoNAp6SyNJU2U7eShLMCtFfEN3Zlc9Z2hxRyhtdG4+a2hKZGNDZCUqdFUtZ3JrenMyc1N5dl5O
NUdTRzFlN0F7NVgxK14KemBiZEhJZHcjb143WSNfWEZ0PzBHZkpmQ2hrUnJLe1AzUVM4JkhsWnJ4
cENuLWhgTlpQZkUqMU05Oys5SFVkM1pjCnp7JThsbT1UNTlnTGJHX29mXnpKRSRUezdMRGJVc1lB
Y1Q/Xzl0MXpTSGtsanFCIWRGakBoQWw1NjslLVYxZCp3ZQp6SnRZN0k+b3B2JHlNJlc8P3o0Y0Yr
SlVvbSFDMGk0Uioke0tlVX4wTUdPfS1eMilHb1pBbTkyO2w8MG96VzQ+PTYKekh2eDdJVzxyTHx6
bHYpdllTSSZgMD5VWGs2MX5hK2lGVytNaDV5SDVHVjY9aDBGaWQlbyhkM1k9TExsZV4qfEpUCno1
V1ExQVMpZWU8Rm14TUU7WllJS0NJe2daJmR1YjYxVWF+MGdvS0slRSoqMEtGQ3xhSnFoLWI5RnU2
R1h4cT4kSAp6aU9mUENAUEZgb3E0Vz9tTU96U3g1O0pST3w0SWdsNmJWVyVjc1dhTG1RVyFNSmUk
SiZ7M2tAYWQjY05xbFplZG8KeipUKkVIKmxDZnIoYnxMbEVvaTNleVE1MzdiRj9JUWgjNztKYj9S
O34kaFJzNztWIUo1eDU8Skg8PWpaMjl1biRUCnpocl47KippYElQYERFXl52QWUwWjw+TDs1TCEt
QlY7fXNBNylZeEJvVnxFcnpvd29LSTlzYGpkLWtHYTAwSWBNZAp6eiVEWVZGbEBDc0RGYXlgTXFe
NT05X3R3NC0+PXs8WWs0JW0rOGdrWm4oKWIkdzAwZl4kNyZkPWk8UmNmZ2xXanUKejV8emVMZHYj
MnllRUJDRGtFajMydTwqTXcrOz51Wkc8aCVDMkAkfWAlR2ktKWZ3KUxpdU9ka30jOFh5NEg8WTFQ
CnopcnIpT1FxPkl2PzJIdHI8bWBlQmxNUVFuS09RJEN1JTkld049O04+bmNrSGsoTF8jUyZOV0lf
bCk1V15JUUEjKgp6YXVJUVlXMDN7b0UrKChMVDh1VHc8Jm1EKyYjTVBiO3MlfUhzP0l2ZyhNK2xe
aUR1WEh3V05+WlZyfCtAQCNSMl8Keml3bj9kV3doOV9uKUF+R0JvRlE+VWIzJE55dl8jVGImfjdB
bSRHUTNAMVJ5TV4/RF9gRSVpZXhARWdjYjZsTUdKCnpBVWl6QDxTcWlpYEtAfWZXQEVZTVF+PDst
JSh4R3x4fDVxUUVwbX4+QmNnTFgkXnsjXnpWMHs7bGZyMVQ8YHhFRwp6SXRlfjQ8NzFrOG4qO3Rr
IVM+dV9xVUpXWmB5X09xWW47SnZrQUVYUXVib0NuMkUoNVIrYXhfR1I7Wmx+Jk8waEcKel93Mlgh
SismTUVKXk1GWHMlLXludFJ9TDJjVCZefmB3YUUtN0R4MXRRdDdUJHhMNVAkQChCUn10dEp+X3de
WlpVCno/dnx2cFE/T0ghSWhzQnRKdEVnXnVwQ01Na2N2YTEwSk1fR2dvcF9XOS0zMSFfKXAhU25F
Z251QXRNZyl1QDlyegp6eXZhVmJGVFhidDc1b2RfPHJGVjxoY3B1P0BgPkgwUGoofFNUdFNxZ2FA
O3tnITZqZnpqJU1nUU11eFcmTkxPK0YKemFpb3EkaWFsPX5zYnNUKjg+JX1LaVZNPnJ4UXN8dG47
JF9iKT5xYDRUQmROK0p6U3ZfRXg+PSkmd341bDFIR0lXCnorV1U0RGxaP0Y7RmxIcDthb0p9ViV9
YTRRb2ZXbEduRVNkPlY+XllGRTNPVD1fV28zM3h6YU5+VERAKT8lckhWSQp6R19+fCUpMjA+c0FA
TW08JkRuPnU/XzQzJnJYdzhHZUQhbGRhR05eS0xDcW1tK1RVKFp6YkxwVytLay1kS3dxWDEKemVp
K1NRQ2U1U0NadHt1KXI7ezY5NVRAISVadSpgV2c7Y0UrQFh3PUlnY08pcEVRazEqbSR6TTQrKlY0
PCRXQ0hrCnolUnZPXnlJPTcxQyglOyZGNHw3Q1d6U0FPZShkV3RjU0dAUEtYaVheKXZtKjFLRyY5
Nmk0K3VmbDQtZlFqaTIyYgp6UCVZZygkcDE8dUYqYk5NcFVgekU0UF42O0tpJlA7Zkk8VFhsb15K
X2dfTmg8YGBZdVFMVDBqblBDUE0mb2piakoKekc8LURzb1RuWGBqYVdSTFMoRkpHel4rQF5WMVox
PHlNRDRPMjR6Pil2VHtDSkFBUz5WTHVhbj9JQGZNfGoySFMoCnp7bm44cCQ5aSY0MHVGcl4qR0Fh
Tk48VU0wNFViSSMldT9vaGdgRit4dmlfakMte0VsPXpzUVJyc2RkWTIpM2V+eQp6XnFPX2wyPU96
TD5Bbn5TLTU3KHZFajh2ZWwoNWEkdjMjI1JPcGRTTkJOQCEhd2ApRmZxJn1yaWNqTVVHP141PE8K
emlNeFhQZ1VASnFlakNjKVlxOD5NRGIzJmRuRVkoaDZPUm5BWkpzJl4kQT51RElPWFBxXk5eRCV3
SUkkelVeS2JJCnpqVjlJYzEtUXw0MHA+X0ZqKEQxJndJcUs0aCNuflBBVTdPKCNocDx+PGlXdnBQ
fGYmTD5kc2hRZ3MoPG5CLXJmSAp6VVgxVzlJN3hAZ0NGRll3TmkkSVYoOHsmbTQrYjNIT2hVKzhX
fSUpe21UWGcwZFkoM09yVWZndlg0NmApVTA9bGEKenJVSlpTLSNRR2tBZUhnfCZoWXBKXmVwZEZ6
V3wqI3xDOGIyQWZDTD4jPyZMQXZ7Xz5IQHQlVEc4Wjx9fW9wfHxNCnppNWF+UXUwVVVwU0FQVjU5
UHY/IXhReio+YTBBeSF0JVRpaT56VD5AMSpjZV5IbDRsNjBwZHZ0SHBGVUp6bW1fZwp6SFBjQiVX
MiRCSmMoaUQ0dEhpX0tLck9pP1RyeGl2eTcoM1R3KExrK3YjYSRDNkVKdW0rNGp5fUVVNlZTRlhn
NSQKejspS1V6a3NoRD1GT3AhbHNSMmFLTSgobXJBe1Q1OzkmI219NGdkSk1AK00qdF9oMVFLWVRM
X2ZDbF9fbWkqb0xNCnpNP31YZXUoX1pWUWRXIyFVI1MjYDtQfmBXKno1biRQSThvI25vQEBQQzwj
VShNbnBtVyMxTS1fZ2NvQU5nU2l6MAp6bjdRNnNuY0FoU0UhcU9efDNybkRqKzJYeHYycDMtWXVL
fiFiMGllUHc5Q0dkMWpnSzF6ZE5mLWtCNk9YXl87eSoKem1SaHEqciVIKTRfTCY/N15sYHc0PHtA
UG52T0tyPmR7NDR0eENQWlNBaVBkNi1CbVpnQ1VZNUp7WWQ3Nj50XnF8CnpRU0RCeD9XZDROVUNp
JEgmeSRLTjZ5cUxIdFhjZWRKeDxQI3s2e0prclQtcSExVThoZGxmPD5wM3ZYflNTS05Zbgp6Wl8r
bG95I1M8cDx5K3FSVFgma3p7QTImWi16ISQ8dVFjTU0hfE9yfnIxfHdKQUdFKzU0SExoM0kjRUBs
bV9DflUKejxXZWthMnJkdnZFeUBtWE1ETHZxTStPfHhpd1BxYjs8QihvMykzPWkoSV5yKVozSTty
ZFVzYVQ8aj1BciZ4bDQyCnpVZX59XipxWX1EN3JDY3JZI0UtcmpUIV9aTUo0SUtWPDlFNWVBKFJL
aXxhR2tQNm95fDRVSDYtbUlZTTNSOTNRMwp6bVh2RTRWKnEoIVZxWkctXiM+MDE5I1h7YyomPkUj
PzFjR3FeNjB0QURiWV9weEojSEw0YFd+KDs9amlgQjRTSzEKel8leURIcEhFZmVtcntFSVo1eEhQ
RF9zaWolX1RXYHgrZzlrb3VgQWxePnA2MD9BcExLPihxVjVXNXkjcWJJOztaCnp0SVUmMEFvJWhM
NjN0YTslX1hfKj0pfGBEI0Z2ZU87Y1deYCk9RGcldUw8O3whdWR6am1VeUBiQFNqWl5NMy1TLQp6
WFAzMnlQakR6flQtIU02diF6K1RKaGk5cFNre3w0RiRTYDE/fUE3M3Q4PzBiQ2hgX19NYH0zO299
Tjd8Tyk/U2wKelNyQztwTlApcTY/Nl5od09EVCQ8SHFTckhZPzRObjZvdm4hclhhWH5jfGZeXk8t
K2dULSNAP1QjdiYwXkolfiR4CnpGWmpQRXpDRENMMkxrP18jWU92a1hBVzBhPWFrYHBlJj42akZY
cjNnVkJeOUVVKmxARnRXTTdeVEtCdzEmOCV5aQp6YyRqX1lib25kYlo2KHVsbSZAfjw9az9uK3g7
XyUkOE07Qm49KmNXbS15PXZhc2ZLTjxkUWVBSC1CWHRhdSEwZm4Kem96ckZgRVVwPmJVNFpGND8t
S3Y1aXw5IS0jZnU7TFFQYnl5RU49JU18STIpeXBuM2EyakQtb19CRTtGOyQhI0ZHCnpuLVNWO3o9
Qk0lTGdBSWtZfUQ0bTA8I0tCNyFsWDViOGlKdnJsYURxdkJxbG58TmRkSV5SJCV0ZUJvQUhReVdo
egp6TTItUkBYJmUxWXJeSGxoalgwd3MoTmNAVCVxZjZ0Z3BWZnNHa3hie0ombG1eMkg1VUElbXtT
OHUhSDdNOTckVl8KejAwRkEmQl4+QWAwdWROVFI5Z3ZOTnhaZSkyMyVmWUJ2N3p+elopVSgoR1c5
UlFQbGJObzBpT2U+cjBlVmg+T1NhCnopcW0tdWA4ejVOYFFhR3dZaWc5QClweHJ+K31vSjJAcjZe
JTxXI0pfUXZEaWZDd0VhaXcwbT5POVNAITMxTWJJXgp6Mk9ER2lyZE9Gel5DNX0hRjZjfX0jMmZ4
Zl81SiRodEsrQ19XKUZwRkt+eEdJcmxBbDA8WUFQOVM5ZXx8I3B9O2gKejJ4Zk9fMC14Oz5rdno+
e0s2UFJgMTY3WEVPOWcyIVVyVyV8dnVFN0RKKiFzZWVrV35jLSpmM01YTnJsWWBGRnRVCnpVRjJh
ZmxPJU5tY01mZ054NUowUjk/cTJ2cCs1N31XfmV1ZyREc1RecHZNNURebHZpRTtRNlAqe15yYUV7
SHZwZgp6VX52c3dGfk45I1hlYXJLdHRkS1olPGo0PE0yaG1hcnp4cCExbVl2bSZ6ZmMmSkRQIVRr
QVJDNk9uJEAkZU0qTnEKelh3cGJ1Tl9FczQ/PUQrKjVJelI8UTh9NUMyPC1zeiFUbGxfYTNxTUMx
KU5fQ1hzaHA0IWZxfUB6PnFUQD9XdiF9Cno8RiFtMXgoN0xQUn1zNTBaUV43fDUlPFpOI29keUQl
fmdMc3NSYTR1Q15iK0VzZC0rejI1TjxXSE45Kzx6cjI1PAp6bCZzYlY7czhWNnpnYy1rPWoxMiR4
NjIxKmZvOVF0NVU+fEgtZGtNTWZycUNPMk4/cTk1RitxKnleUjVaeDNLdDMKelM+MCMrb0huTlAz
V3g4PG9qdXFQXkdvb1ZPK2JYa1BjJnYpajNHPXp0UWxYcSFmQCVGQU1eJVh5SF4pMmArZXlPCnoh
ZUUrUHtTRj05bFMjUih4U3cjNHZ3MiFvMW5VbUc9e18yYlNvODxRNl4qTDhoT3A9T1B2PkVjSHtO
QG1TeEx7eQp6OyZlRnl1OytXPWhpa2IzJXE/dEwqdmVfUmZEdXA/SHhPUy13e0ghT2lBVXo9P3x4
RE1jKmRuNUxjN2RrSX5ndDEKejdjSTJvZkBUYiNuQSFoaz5CODZscXVhc3F6NnU4Tlg5KDJgcCM0
TlI4JUlTaDghcEYySz84MjM+I3VvcztMSmd3CnpVfHpgP3F6bzclcDQ9YDQ2QSRfJldkK3VnJkYp
cG1FS3lmOUkmRjkpODBvOUxxVXAtV0YlK1hKVD9sQk95SEcoKgp6SGExcEtTfmdiaDFKPl5wUW5X
bzd1SiFVUUU7ODJMKmF4XjFgS1F8PDg9JEdWODw9Y0o7fWVyemthZShHYHB1d0UKeioqVm0mRDs0
e3Vpcnljdyg+ckBwMihZbm1va2ZuQlBIVHwySEB1JHAyMENSOCN1elNHdk1aYE1nWTVKY3lVa1Fs
CnpCeyk/TFQ/UGYkOUhIPjA9ekh2fXF+YEM3eXUmWWV1ajQ1ciZwdmRBY31nS0RTdX0/cXZndnsw
VndTPTEjY3l1awp6KE5uODJOKz9RTGdvSiMwPio8MFpaZlVlLWZ7Mjd9ZSRpRiNrPF9eblNtWXho
b2RjQmEpQmBAQT9qPGcwcVdlenUKejloKz85KFRLPlVveF50WnNlLUAtcTghVVQySmZJUmZGO2Ay
eGokWDhkNzhJKkdkUlZ5Y04pN0xhUks/WDJBRUN+CnpQJl89PiFMYDRoPUZvKUteLT0wTmhXbENH
SDRKODhhS21RKiolI3c5YTk9UkdHY1hvem9Da3VMbi1mc2F4RXF+IQp6NGs8VUM0IW1PSWJicD8t
LT9LITJqamU8NkkzMnpTSCVqMFYtQF5mVi1uIyp+Un14XzJxN2Q8WSlCQiE4Wj1BXkgKejtBUHJN
WCY8fjNJNCRteXRhWUQ+SzF0enFGeDBOSSlBX2wqMip6TUZ6MFE8ODd2OER0KjhqTiZOWU0/SVc3
TUVYCno3ND9GK1dMYTVeSmZHcDJtXilAOUImenxyZnlPVldOWFgjTUlhNDJLS2lnTF5ne1lpWiN3
K2tSWUJFJD8wfF9lUQp6d1RAT04+flh4VyMoZWZeP0FkQnJ7bFghaE54fmhYdXNHQ3ZSS2Q/PCQ2
aHVsKHhJNWdXcVF6O3J1SVluKnx1KyMKejNtUGRmd2Ukcnh3SVglOXhubnRoanFib0olOXB1Yj5C
SlZxVXJwPnV7WmNEez90eldiZ35GODlvU3BOZGpaMW10Cnp3ZmsjRSFJMU1ZQjJXb3tOTVg9I1Im
VzVRIyFAPipVc1leKz1efkNFV242ZEdoeWdZTUMwfCl1Q2deO2E0bkx4agp6WGBuO24rUGp3dz80
PHNKSU1URzd1WVFPYylyKyslJVdkTncmVnZVOzMkemxPbDExdWQ8PnY1MFk1WTNMSTsmLXwKekZU
WSZwSV9zISh4WFdzZEgjUXtgKyhBIXcwNkZZcW9wS303QzRKZFd0YT4+NV5vI3o9WmI/SGAhUUQy
WCohTEl0CnpxcSM3O2o0X1puRnkjfV51YkN6eFhWKSglQk5wP3Y5QElIfEFNNTtpPjBBPk80Yz44
SWlRK3xzRi0remllTTdXRwp6SVlhSC1XVztFRVAtZDJJM3k4YT04MGJ9PVE4JXwyYiVQbHVEYkVu
ME8qRl5EMnYxQyFUMk5gNEhSX2VrS3hKTXwKelo9bX1qS1lJRWVtdndjWmlzVmg+a3k1N0MkSiQo
PCl2KHV6YlIrXiVKQ3Amb3kldVRxR2RUKCNDdEhOVERnNypgCnowe1Mjd15NTzQ8MTlhJnlPRUdJ
NTVlRHJAPDBCPHU3NiFzRkBZMEJybkdzeDVNdmQoMEROSS1Td1V0dHdgQDhRPgp6ZSYldE1HO045
Wno7QzZAMmx9ZmR0LSQmVVYhSFkxQCM2TVc3KkVtclFfWHxQdSRJeT1VJWpTUXpLfHVRYnx1PTkK
eitxKnxpUTVUO2s8QFludiReOF5pSFpOZlBUIWVVPD9NWiRTPzhVKjhOZkd6PDd9PDA4eWBkZHJY
OXx9b204RXhqCnpGQXdIMlVoRWd4IUVFYmI4YENqUHJMRCVlcn54PU1ITSRlbUBzQDhGT09HK05p
NTYrSUlJb2ZOTkxjfHxwI001JAp6TEYpRVorNFJKKDlnfkp3OVhJTEc0SVhFQXRmcWNMQiVhODle
PjZnQVNXTlNJPU1xRWtTWmAkV0xNd1V2aDw3UGgKemB5MnpJKGZYZGZnaiMzVmpGSW8/Uk0jKFA/
ZXEyK2NIcFoxT1RfcTNvMWZ0cUNhLWN7UD1ibVNPeHx5PTAkXk5hCno8PEMjdmM8cmMmQ3lWN2A4
NHJCeTdhJG9+PmhpLTJHT1l4b0ZNMDJtOVE5dn1wei1ZNXptamMjd0laSDYzQFExeAp6JGBfOTZq
cTtgaUZvMCo/RHA/K002fGleeE95S0swUis3SHB4Wn5LezFrbSZARD9PeE1rTCs2VG1HKGdUMUE7
bmgKenhxQH04az94Tl5LdGR1Qk4+RXQqRzU3dmcrekUzM2k0SXQydSUkdWNsb2tZRXMpNT4lU0I3
eS1xYVRaWGJpNCo/CnpsQHw4UVFiQGI1PDJJNX5hN1p7Tmhlfk54M3QrTTNiMm16bGJoPm5mRXYo
QGR6N1pfTWxkOHRuZEleUklCT25ubgp6ancxRHJ5LTlnU3c3NHA/Q3ZfYmwjeF9JcHZedHU+QVgr
Mj55ZVdMcW9EbVElV3Q4UllhP0g0O2dhTUlWSn0kaV8KenNCZWEwbGxPcHJ7Mk44P2xiLVF9Jjwz
MDdWITROeEFAXyRCeHtUYERzT0lIR3hxMDZYeFFvcDAkbkFoMFE4PTlgCnpOVmY1TztpUFZ0RCVG
KFNLOUZVODNSO1dUVV9+PUx0fWx7MVl+d3RAd0M4KEc1TV47U0J8bCt4Wk82QDtOLTkmVQp6MDt3
byRkP2QqPUNYbmF8JmkwdSoqTTUzO2llPWA1O3B+MHFePV52Qj0qI0xAVTY+cyFOdXJRXk4+cDl0
KyplflQKenZvZHR1aDx3PG48QEd8eyRaP0JfPjh8eTdMVzxRKGpgNkU1O2l6RnVGIXg5R2twa1pT
WHF+bV8rQz90VEBWYiNSCnpeaWAhY0BwIV9TUmo+eFBSLUtpdFppfXdAUzRhaG49c1UmNihMOCt4
R31WTjNOZTskK2NnVj1BUEEzJCFkYz9fJQp6eVBzPn1Qb0VoX2MoeXZzMzgxbG9jSCFKYzhZIXB0
OyhWVDdfNmZHbGtPWF4/aSpYKzhxVng/M20yPnh2cWVJPj0KelN5bWBzU0Q8RGV7e3ohbm5xVVM1
WF5JOWY/Zkx+Yl4qam9DZjZtMC1kZT0oMzA/KzVBPnZgI315c2AmSGBkTTEtCnopenxjVUgleGNV
eSU7WE1uWVVuZElmMTlkSzFnbHtvfFpMT2k0JXR4TXNZPGNIJWRtIXlsSU9sN2NBe2RiOzAhZwp6
Xk92T2ROaj9XQDM4RDcpYUVGYjwqRkR6U2pWIW58ZF8zZDByTXcxQGFWYGtYcFohX1JId0Y4O3Zx
KDllend0KSMKensoXz5QUzA+Pn4rSlRhdWl4dTg5WStOJjBLQUVafCZhTCM7RGg7RXozSFdKJjxY
WUdUZ09tUVlNN3drciZKOWVzCnpjeyg0I016bk9UdC1eU0c9SDAqez1eeGFwJiU/X3JUb2k9K3Z9
cm55aDEtVGM9Nl5xXyo8RWdLPSpVaVdFVzEjcgp6RiFLfW0oJCUwI0B9Tihjcz5IcnteMj1yR193
Jk4tMDklUiprTCNBMjNrUUx7bVFrcitsWGZ1WDBaN0htXmM5Y0gKei1jbFlQZkZnUWpENntaKHVY
PyFwNHtreEZQTUUtNy0kZCRpZ154KDFIKkN+T3E8JTFaQWZuXktkVT1gYjt5dCRfCnpiekwhY1Ze
c0hPYHNjdClme1pXaTFJSVdzMm5IYVlCfD45bGZhPzg2cSp3fDJTPTIzKzRjQFcjb15JQlBaYjAp
fAp6PWdLO2A4XjVEWl5IVCkqNl9xJUR1Uj5IJUojJDtWJUd8RCsqbVY5QSNNMWM2QCQyd3lXM2Bs
QCVQJUdGb0p4RzcKenBDZHM9Xjd7ej1kQlM3UGw9PWxpYSVHKE1RaCQ8eE9AflI3JEtnR31wTWBU
SVAmPU8qcmQjZSZuQlVpVGlZUmg3CnpNRSF6O0t2WkEtKHdgLUtFPERLfmtydXE/em8qQD85Zjh2
fmk3IzMpZ0MkUTtAUGApPU5VQFokdz9rfShaK096JAp6JWx7bUJrJUIxN0drYUQ2I3taRjIpTUZA
ISF6N2dOLSpubll2P2pqNFVHZCVDJUN9MkQ2bHFiRSZuUG9MbmhnRj8KemlHTClUYnsyQmUpU1l1
TTlkbzBLWV4le149RVc+Z1h+eXJ3M2k9cTJpRTRyZmRtV3VvSSlpdDBjc31OZ21VOyM1Cnp3VHsl
JD9TTDBFWFpec1dGbjlJVTE/cit2JDlNbyVkYUt0bEpgSFdGOEFFS3Rrc1NlYkNyKXItKjFZNGNu
NiRYRgp6dXsjVHlKbmhqJWJMQStadEYtaVVyUmh8KFVERiFuNz1UWSgrLXtWI3tfYCtqU2M0eXBQ
TWVxZWNVYjdHP3Iraz8Kekd3RnUmXikjbjZ7fnd4SE5IMypCbWxZRlNzVmBoVkNWWVU+VG4mNmZq
VUNacDd+bS1hNW4wY2E9VVp9V0pUVFlxCnpNaDF5eGEqLTNDeTU/dnJFdkEzNm8/akBnQyF6R0xC
ZiM1R01QcnJ4PT9YQDlqfmEpTENncEdSem1pfGxwTG0+MQp6WWp5d1YzPW1jPj9PazBgTW1AaChZ
S1o/VEhQNlp+Knl3VXoqMT5GZXFlPW9sXk5rJklYQ2VeUG13elduLW9EKGsKekJoWHVEPlh6MkJD
fU9BTEh5MXZWej10WXlCRUcoaFFLen0+e0p+NXp6Um96PFdwcEI4cG9MT31ZMEY0aWE+K1dFCnpO
ZWBELXN7dzw2X2lnc35iNih+NXMhMGheWDNDNTtrTVVkOCZLKEN5UjZ1I3dMRmhMSCVGaXZlZjxs
bSNNQjV8dQp6PHg2KDh6OUQ9UnU2OHFQbFJGXnsla1ZtSlFZSTJBTnlaQXg9NlRLaT8/NEg0MU9I
fDxfKnMrQjFAckNvdXxHbXYKenhqPnc9UVhMbzxlN0wqZ2UqR15DRmtsTyFSaF93SG5wWEpqQ2N3
UE16Q3ViQl9IPG95Sk1ecEZTJFBAekl6UzI/CnpOM0IyfXtpQHAmT3hsajg/Vzg2TzBnTDZZTV9E
fWZ4QCVfYFklTT55aTJmQzVEcWZpSHA0IWYrUGI2SVhVaXdSKwp6P1kkKy0zLUxJR2lAPXV1N0op
MkgoMUB8XkZPXlpIUVV9PDsldSVUUHlmI3VLZTtzaX5IJGRKPWBRZVk0XkxWYGAKeiFvMX0mM3V2
bHQ7MWlORUdkZmpUTyhyXihvc0hTdU5TIThxZnJNZys4JEFGQGw4TUxlS3hhX2QrJTw5cS10a1BA
Cnp2PDhBcEIzP0h+U3ZWa0VhQHV3USM9VTRBSzUycXB1OyMmdDIpfF9eTWFiPXpLYSlqfnh+Nyor
ST8zIy16fDcpWQp6QmUzPGBpMVU0UWEqcno8aiYrXkJpM2xmbTEwLTV5OU08Ul51VFVnJDNOVW9V
P3VXWntfP0ZUN2AzSmFFRUFsPUIKemM/fGlAZlVDIyola2B8bldfck82VC1XaVA0K2UoczhHYDwz
YnpZR29DTlZ+TXlYbzZ3QmNHVlluY1MmTTJmcEBCCnpjK3FrPytoRHlzWSE8WWthdkFnI3JUd3sl
akp2QCFYTih5ejJGTDQjNjl7SEdvKSV8YT9edjNFQD9zT3ZOPV9KIwp6OUk0bWpZKSEpZGBiRWU0
VnFKRUkyOSZpJlFnOHdZOGBMa34xRHVmei1JRD05eW56RU1kSXNgYyl6M2hgWns1MkYKenQpRHlo
RnU1cHUhbVZDRitAJFo4b0VFaSUyRTQxUi1AcD9Sbyk7YGZqJEY7OSNXT0EkeEBIM205dWBUbUdW
ZUVjCnpJSC0jQVMpPF5fe3B6ZF8zWmVuYythJSVsSXBucHVlMyMjJS1NZT97TXx9Y3tfZDxTNzdW
Xkh4cmFSWVk9U19ueQp6VCZyanIhYTY4QHg0e3F7O2RgOFJqeF5se2s2RGg+ZmIkPDFNbkkzRUZU
UiFkU0F8SSVrI2skVVdxUTQ7PF90c3IKeiptSlQ4clZVe24tYHlwcSEra09kNiozdmc2N3JHcTho
OGYtMV91Z0JJP3ohIXJSKGEybFRSfHU2TGp3QCYmTHRkCno5SFFDVWhCa0twPXUoMVNzOTgjODF3
VTApaGpFVV5TU0IzTlM5bXV0JEZPYTFDPDJxU1lhYkFtN1k/JlBRVTg9aQp6K1paXnN1WTs7O0tG
R20oZlYtNTU+KGpAYyUmcj5FdztjS2s3fnZOVjUpPHUlaGImK3JaK3tLUyVZVXRII3IpQ0YKeiEz
eEdKNzdpM2EjSnc1NFUqVmZkbWk0X3ZkSlMyOzxwPk94cEM2fiRFb2JTeE8oc2c8Q3hWell7Sjxa
cEZvSUI9Cnome31FZUR3YCQ7aTdJTz11YWJhYzx5JVdvKHtDZ0x2dDRJRkpadkg8QGdsT1RufUox
NUhaczMzTkpZd21nPURTZwp6T3c+SyZrOERlIVhMNXBsISQ4NDUma20mYDtkbk44VlI9QTllRm87
akViWUxqVGYyNz1OWUtRQmcjNGdQeChjVXUKenBkNl9YKmtFfHNLbnRTcSk+YF5kezIrYz1uTnxZ
TDtubDN3QnAwYXBNSVJYWFc2MWp3YXVCQkU8fD03VzAwcT9wCnpeISpFIzZzKFBfXypyN013RD9A
NzlzczBzXklAPGFJKTs8WUJIT0NZRndtfDE+VjRYP1ZZclE0UGsycHNkeGtvKgp6bjBAciReJWRI
azFDUjlCZ19OUDM7ciQ4UEQ2TEFSZHolakdUT3ZleFk3KUFzY3N2aEdzZXo/OEt8YiVhVjdWS0cK
ekB+fm1zdG8oOSFGQ0Q+P1A4Xj54Q18oYmlNb2BZeDRNc1pzT25TRkF4VERRPSZHb0BAS0BmPSNL
QiRSeihwbGg0Cno1dWwrXjhVN0p3dj5Gd1hCVFZNUmI4cSs9XjB1SDEqO29VcGdPWms1KX1PWnM0
P0NqRTE0QFJiRDttWDcpfmthVQp6PSY+MElRZHMzJVBmK0RUeEkpOGt4U2F2QFZMJkhBMnZnJEIl
Ym4pSj4qcWhyIy0wd3czPk1FNVkrO3VSNlo2Q0cKekVZVCYyPmgldTZufT9mNm1Ma2R0WiN7TT8t
Wk1VYlNPekk0MS08SiFBdl4ldSlaem5rekw9eWt5YmstOTBEa1klCnpqVUxVY1VCPCh9NyotLU8j
PyM9SSE8YEBHYGFEMTdEcWc2MVZlb2ZNdCU/fHxzMTFUQ3k0QncoamhyV2RodUkxKwp6UG1pb00/
ZVhpSFExWkpgNHskQVpObSUrcTl8JDtHOEM9c3BYXiVaKzdCUm5NOEAmUEBlR2lgcW9JYm9AXlhC
fVgKeldqeHElY2hzQyg9Unw0NVFXIz0+O2IzQDRkJW5AaVJURUckdDBGXkFfX0FAMERDQGZ7aXFZ
K3J6V3pzM3l9Y1hZCnpGdndFQmxPWGlILUNnPWpMM1pATSNlbzdSPDBPUUFlKDRhQFUocUd+SDI1
UHxrPzYpOFE+am85UyV0NmklI25HXgp6Tlo3P2NMRVBgNyVza3JmJUo0clhXNWQ2M2Jpfj9+an52
T19UdjFmM0Z2aVZCeypQcDtWVCNBT2NMfFReb24lNncKeks4NFNmdjBuKXtFezhMRHArMW50QWg3
O0A2WXVxfjQyRlA4X0N0PURpPDw8VWVQYmNzMSghanpBPUZxaCRCa0xICnpfQX12OXs8cXZXNzdr
Vzg0ZiNlNWojT1pedUleS0VBKV5VblZUQUNIYntYPVNHU0NiMWpnSm1+Z1Y1fk1WdEohfAp6NXVE
K3RZcXQ0VjQ1S3xNSiNFY0FiVzlUZilmKEZAKVYjdk1iS3pqMVM2TikhcGFYXz8xVllxdHcpRCUj
dUFKTkYKelBxeH11KTRxc0V0LVhHOXMrITRXQSE2SmtQaDFvSE9zOCU1dy1PdWszWGJoYEBfVHBT
PGFfWmxeSzJXdEs0Q2UyCnplbkFAbURiMn1hKjwxe0phaUIxQVdIPCQzWip1Z3JkcUorIU1DTUkm
eVcoPnIjO3ReTXp3YVNabH4kV3QwUntSRwp6P0YofGNwWj47U05sZ29Dd35MYWZqbEhwWWN8VmJS
b3MtYUI0bCs7dSh+MmhMVz17Vjs8QXdyJTFrcENsSmNCb1AKekZNbiFAWVZBYERwOU91QSteQ1dC
aHwlQE9nIVZuJEZUb0l7QGYmTmMhdj1Wail8MShCJT4zRXJIK3ljdF9tKH5eCnpsaUE1fj0zZEVO
cntsUj9JblEpazQkQnpYX30oNyVUZ3IoYmpIaF8+QnB+MlBjRTtpNzUtMSkta0FsRW4jZ2lMfQp6
VjsqdEM+Z01iQylpeyYrPmBifkwmKE0oWWxobz9fX0VqRi0/TV9OJkctbkhzVXA8eFRoSX1uUk94
JXRUO1pCMiYKelUkMzN1PSQkVH5OPmZ5azU5TFBmZHE3cVU/S01rT1BnLXZEV1l0IyFTVm02anhR
SXBmMEBpKSo0YChvPlVUVjt9CnpqOS04NGY7eH5vTEJjS0FyUFk+S0slJHVPJWY8LT5LSCoyRE45
fittO1JBKShKZVBlfDs8Wj9xWFN6d3I3JT8hewp6UzwwWU9Lfm5VWEkqYVZNa1NDdU85TlpQSFdj
MmNJP00+UlYqd21vLT4leCNrZUA+RDY7OW9HUnVFbkNyOWlCZ1AKej5PTENZZHBwZGRGMn5lZUtZ
ay1pYnU4dU08bkg8YndZP0w+QmlfOUN4P3M5aE53TlE+bDFBWXdpUyE/cEdAc31OCnpVeXleSkoj
NTV2IXUhSyg1TFRVUCtUNlcpI21NbSlzXih9akI7OWNvYHxsUSZhfUhubmhxdE5iMV5XTExPODFH
aQp6JjxqPjwoUD5nNXdaRWg7UzBzdlRsYXhQYyoqWVBwVFIlMz9PZGtKU1leSXEpKWB2PVpkZEtV
JUVqazg2S1BocG4Kej8hP1lEdU81YD5PYnMlaHR4TTlfY2tMSEQ8b2N9bk5hOylDXz5JYUdia2Nu
NExqTGtjdXkleVchbkc1WVVfIzNICnpsRCpvdCN7ayRmbkpSVj8/bUhaP29KdikzPUhjdVJFK2p2
a3gyP0dRP1c7fHIqdDtoYzt+UnhgbWtBI3YzeyE+TAp6XnVPNF9oTHtCUl55bG1naj9UYSlhVlpq
RDIxfnA/SipmfjhwI052Vk5JNXBkKThiTncmPFc9Nj9IfH55Jig3VWoKekwqWnFOXmFXJjIlV2Ym
VktxYGsxSGkmZS1mbUR3N2JkMnkjY1ZUT35QWWhraEpKZygxODFseEsrY3FiQiU4enYyCnpTUFh8
QmRjMEA5TjE9Q2hXSnQ/cC08aGJMPTNeI1gkYnVjTGY0SFRtenZXTnw8X3hOallLUENWSipNQEhs
WnN4NAp6Jl87PHMlKWJeJm18JUpKdVJNMWh7eW1DUHl5X0BIcVA+KWIqMVM+VyVHU0VASUslU01W
I3wlNjt8Un5Ub2x+YVcKentuIXokZTtAeHNhUW15NDA0SVdHJlc0eVN0SVJEVDtpSyNIVTRSe3di
SlJ6OzY2U2MzUWpRczEkUktIYXBgI3dOCnpOM1ZRcjJQUCpPTFNfYWxESXBHJmQ5a0Q+Yz9iaDAq
VUR2Y2JKQi1YUHlidjkrZ1lNcVQkSkJHLU8rKU9YZHdOTQp6aHtFO2JMezgtcG1EfV56RDQ+PzNg
Q25CPWlSZ359IWdxQ2lvZDVzKSZPN2B+UmlzdDt7SnAqbHREb2RrREd2bDIKelhXdTJjNyowUiF8
Sm9iVWAoOUZKO3stSSspbX5XKXRTXj5kK1YqMU0mMnFZciVoO2dyZkUxQTB3dDVtLW89PV8yCno+
cHU+ZDw3VjdGWms9YXVVUDUwK2VaMHE8UCk9N198TFpPKHd5UTRGczMhVUwkUzgmRm1SLWNqeVc9
bT83Zk1Xbgp6NHQxQEU3Z30rPW9mTEN7QDVpJjdXSk9MfENoSXw/WkxiSGJpWjErNnR4YHBrOSNW
cEVqOE8lfFN1KkZib0ZKWkcKenZvNnxoRkM8Jllud1d3KnJEaU9fVUxFOWVmNDRBbEpEMXp0e0F5
fHNYM1N7WDFqRFYkUTczMi1LP1BeQSNeM3xYCnpiVWN4eGx1X2h9THxsdX0lPG9JYnordkV1VlRG
T29pfU9mWkVfYCFjWTw0NH0hcGMyeSMtVXtjWlNwWD95MypiRwp6OD9lRCZUdTxTciR4YHNWQGF4
c0JBaUR4QlNwUWdPNT1NcGNkVCFaKjVVM3MyNFJFbiZ6SWghREQ9YSRGVCFYZDkKenVOfDF3SDNt
QzheeVZQazRoKHw4SitCU0hsO0JzQnhWQTVSJERNOHNIP150diFBZW9abntSPEhmJiR7cXhgQiRe
Cnp3aXVmQWg4OEJTZkJgWl89PVo7P3J8MGxKVnNwc3U/dG1paXVlYWNHanV3ZEQwTXFNc0k4QF57
NTJufH5FU1p4SAp6RH1PfHJmY1lKTVpZVGBpdk11MlVEfUFVSyUwRT5xIXNKMUwhMTVNej5XIWox
Jn5vVUtMb1kqfEx2SDR4RkIjK00KejQ7JXB5TnwmVyRgWXZFR3RUdFFKRWE0SHtnZnF0bkNmcVZu
MTZQSiFEfEVNZmx3elJ1WlZzbC1zOCh9bDsqPDdfCno+LUhpaiRCTnZQeVF8XlZ7Rms9JTBMb3Qk
cyFUQlFIe1VxRWZvNilBcDtIMUNYN0l+WlM7NHJLNiU3NEJnKUFfYgp6TH1waDhuVm1vJDAodSVh
Yzc3Qk1Uak1MN1VzZ0QhRHd6ezM0RlF+bk8oYSM3RHpXdEQ4Jmswdm1hXjg/YmlJUVMKejQoRlRl
bFB7TlZxVHk4YG5VKlQmTGB6PlBPaGA+NG1qQ2hSYGRnekpCOE04WDglOSF9NHE4JjNnKFNQS157
K19XCnojYjFrZXlFX0V+Xzh8dDVjak4xSnFOZjVvP1hWa0B1bERzPXolPG1aLTVPfXJecz9mQzx6
RDhvZ2J7Uz9fKUNTcwp6UnB4PW4zMFRFPj5MPSZrXmFedH1PWH5TdGVxRFVJYEEhOSZJb0crdkpX
bSh5TmN4KWk7WS0wREQtT1kodnduY1IKekxMOSFycjNITUY7bno5PTNSOXxBTSN5JDBUQVBxdDYt
T1ZUT1laaTV1clAqMCZ7VTxONiheRWhhT1JTOT9ZXiopCnpgR3V2NUg7Wm0jNSlOd1M1eE1KWnIk
S01yY0tBSFM8NjRlVUdQYzhLRzBEV2ooMWMwKCVnT1NEPWpqbn0jfGBLPwp6SntodVB1K3tLWXJ1
Mk1kPypTT3MzTUBCTERUK3MrdTVWNH4lS2RSOHs5K3NXUEkrJHNnRzVATWRpWGQ3Nz1vdWwKekgo
LU5SWG1FZCZRSUtEZUxhY3hOKWJzeCU/PD41alNvXmw2S3xzMWhMUDl7Z3I5bzFaNX5XKkdJdXd2
Yk48eVRoCnpxKWB4JVpscCEyTz9NKzgtUUN8a1Y0aTJhZjVFcEY9ZDhVQFhWMEc1R3hOS3oxVDxF
UXo2VUQ9Vml+XktLTXVvPgp6ZUMkNGFIcmE4O1o5TzR+XzMjTDA/Y1IlRWQrWFZjWVF8JENQRVUx
fmZKT2VyQjRgbSg+QEN7TXE2U3ZCU1dtdE4KenFrJSs9VUhVUSp2bVJNPiRmbGkkZFVmO3t3V2o+
dGpHQHZVQktFZWJFe0h3Q0g1TzFJdiYrJFk3PHQkKGE8VXx9CnojdE1ZMHM8Jj9gQig4TDQjUmVM
dWxoOHM9OFpASTtsUHt6USRrKUVHZCkwJlZgWCN0KG9eYzBkVUt2eWxLa3NHPwp6Ukl7R3I+R0A0
RGMwUnoqalh3K2FOY309ektPZ1YkP3AzbT1FeVlRaUo2SV87ZikjfVRAdHUyPlFqX3M4a0BkNG8K
enlzSyFJZnQmdFJmRGMjbzJMZmlLRmBVMzdYKi0zU2toJmB8Y1dlI24tWTFpJVNlbWoqUUo2XndI
eTc3YzBveiFWCnpjKUtVfFhKKHc+bXJ4dCgxdiRjNChDKE1zOEw8WV5eRHUhUzFPcXJST0RFMGtF
TXB6amxLV0NBPmpHODMtfHxhbwp6WS1SdkohanopakF9Ml9aLXA+Zy1oKzBnTmRgNHFSbSNaSE1E
LXZ9e09RKEMtY0xvVmklUndIYW84SyRwcFhBKUcKelFLQ28+Y2toeyZ1OE9IUkB7TXZqcEdoPX5U
ZnZka3VrVFE0Znc9cCM2O1FzXk9qNEliOEZ3KGVlWiFXRikxPCNCCnoxLTY1Z0MofVhFc3MjKko3
IyYqbkZ6eU5ZalhFK3loVGE8SVVBb1pFbFVOPHA+VH1Wbj1jX0JhcGpVRDg5SjNzUwp6dis2Nzc4
eVZGLSktenN9YjFUfjJ1QndaMzgmfilCUX1ZSDtMZ2JNVy1IUkxybEowaGJ1O0x5K1lvVCtgTHVv
QiQKej1mTzBhQ3dKSzdMYjVSbXBAaz1mVkF7Wn1JdHsmSEZjcyhIRkF3QjJoPDdFWDRlPCRRNWF5
ekFLNyN4Tj1SeUUmCnopUz1WOWJ5ZFgyMl97Qi1pTGclPUlmRndqYiUwdXRsejl9PEchRnZSSClC
Y0dzLTs4OC0zZndQKnR1fF8kWTU4QQp6OD8qc1VMMlR8UG84UUs1Pyk0Wn1IeGRrbjZnUzlkRUc2
Vld5PipeR21VRzs9RzNDejJXTldyS24zb2hmMD81NDIKelhKUDM7T2F7c2lIZ05gV1dJRkRSRWJS
amM3fmVedyRqTTdtLSMmakYqUnhHZFM/JjlKWl5AYVZRZH5EPSM3MEVsCnoyJEl7dXV3c2xHY2Uo
fkdsT0xxKV5pajhHejJTOUBGP3hVd2NPNTVeP0dGMjAxPkxrOGlLSFghcH1JPXZPdVp0PQp6N3tw
VV56K1pUKDQ7cnJhPU9kcCN4VVhePzthNzV4ZW9vTXkqZDl1WTh2PFUzKD1Db3AzYmM0TDU3eHt0
NiE7NSgKemlZWF5HO3BjT3UxTGR1cWVCV1lgUWNnKCVecmo0ZkY/PyRoLSp8cl45ezNkWlczd0V7
IUctR310ZSYpZUZ1eG0wCnpiI301d2FPJG98N2k9MnJnN31nfEpTc0xWXigxMClLaiRkPUBIRHdT
WEEzYUJnSCsoO1QzRlNpdDE3SWFBUF56RQp6MXVsPjVCY2smcDsoKGRgR2pMenFGV2ktZVIjcWRE
JHQoITdBYmk+OHlsLWQwP097UTImb19+dnJAbE44NiFsQ2YKenQjdVp9NG9WTytUbkVsamhNQVk8
Izc1IzNWbERTaF85OHd6bkdfVDZsUyNjPHVVWiNRSXVzMlBVdCp3bSZ3NWBgCnpqZFhhfT1pQG8o
fEheMyR6NlRffTRkOSVyR2g5VkZmPnh4b0Q3NFEmO15fT3NHYDtXTm4/dz9kSHh5WElqSkZpRgp6
bnFPcXhTbj4+dUlxMmllKGlLdlU+SzYlalJyMU5DYjk9OUlaJDhBPHJiYFV2QFArND5FQT1KSkxU
VFNqIyolVHgKelNgMUJZNTE+dng3MXh+TnViLUUyR1FLNGo3d0t2X0VPM2Zvd1lhd2dzJG9TKWNh
OX1gX1NLZFQrbjE3emohP2A0Cno2X2FEKF5iTztPRl51ODt1OTN5ekNtcHt8Xj0waChkeVB1ZUQo
bkYoX09PfmVKSE97VEwtTTY9WTgyRWszdXJlYQp6JVRSNjEjbWFTbD17X3IwPGZ0bHdzd09aWmMw
UU03ZCEpQkRBSFZBdDJ8VkImUXJiQmR0N3N7TG5IPG17Q2BsZWgKejJySU9ueGZAMCQlX2o3cE17
SS1oZl5tREpzJk81fFRnKEcrTmUoZXs+dyN5IUU7bDtLcyUtOC1PaTEhTHFBViQ4CnpgM1lOTnlA
PkFGRyp7e1p3O2Q8RkJmVkkjNTQoM2pAQCg9M2R2N0BUdEJ6SSotJjMlVitvRXVncU9rM35oa21Z
UQp6NkxQVnBFejkmTGYwMWNkTmlZe2Rme1pDa2NzMj5SITx9SmJ7Qy0yOXlvWS1JQ303ZDc1Snom
fFNvT2ReMnBze0wKekFYbnZHcWMwTTVWNXo/NGx8Vmdwe1NSPmE2LTtKND1RKndzR3hSI2AjOFlj
dVM7V2YmNilCezRtY3h2WD0rSmA+Cno9a00jQDxAPHN2bXNmQklpWnxFT01vO1hHblh6KU0lQTA3
dDtwTkNSRWxaKzB1WGp0ZWlAd0xpPylsRXNXV1IwbQp6Ym5rWGNUREsjPGhxM2huOSthaEA9Yk5t
bm0hQT1gbXdLeyZXVEpDVXNmJk4+YFB3d2UtMzhefnZ1SktuUX5NKVUKelBLeHF5X0p7QHhTXj44
eHgzZjRpazM1R0NpVUR1LWA7RmBIRkRjM3V4PVZ1LT5BY1k/U1lFUTNkP0tuPEE0Nnx3CnpjJUp3
eW45LSptNTkzayFgfWJ0MClDbkhjTmtJb2hyfCRTcz5YQVUoOyojd3l2VU1ifi1fPiF9PGNWfGNM
ZC1WaAp6ZWtoXzstS01SJiEtfFl+RnhqbFp7cCNaV20qOUR0I3piNEgkUURPTTBTTVZhUXxpTWdh
fGBYZVR1cjxxc0IqOyYKenYhPktPLUJMJVgze1NjdjRIWm4zKlNmV0VQcyY0ejReOFh+SHRkYVol
UkNPYyN9clNEbWchUHFUb1UlMkFOeHtQCnpQP1Zgc0RgZml+U1FRQnJmRT12dWxZTjFOUFIyPjhw
aX5CYFp2Nlo2YiM4R2ZlR0ZLbi1DTnJ+UW9xa1ozZTt8Ngp6R0NeJX0zZiExO0pGWjZCeEt2VkA1
ZEZ4R1ljV351WkxtQn1OI3QjWihGYzhLbSg8SzVoZ2xFejR6K3U3bU1QVmwKem98flEpRikhdDU+
RiEoemo8QnV+R0UmQmM2SSRONzltbDl5JSswTHhpUjFMOGtOUm9SIW8oY34mQU5mZTZ3XlE+CnpF
fkxVPHF0ZFQ4PEw7LUZsYHc9UmJsQkdvY3VCK34qYDY3ZkthK1Y8V1I2Sm1zI0h3V2Y1eGFMMjBj
bHsjVz8zaAp6UmFeblNCfXtiZ3A+bEF3Wldvc0dISkM1OyRYN1ZgOG04TE1YWCpefUdjUkhJZD9L
VlJBO3hVcWZZfHY/dTB9fiMKemN4QzEoWSQlQXdkPE84dXsqIXB8bVZqZDFLY1JnRVBWdU5+b3Jr
ZyRQYk53JmB3eHw5TG8oUFlaMW5ac2VJM0R3CnpTMz8kUlQpZ1J+eHZGODR5aGxufkU1bWl0dmxW
SUQ/ZXlEM05ldGd5Jm0pKSZJOFcwUzRtKU9hS1hebj0+c0V3aQp6VmZgP2Urd1R6Qzk+JXlvVXZD
fTd1JHgjKGZCeUw+TFRtenZvVkhyaEdTQUQzSmR8b0k4Km5USzI5dXQrcFpEfVUKekpgSX0weW1M
V0lDTnNnMj03O2NQRX1lSUZgQ0hhOGs1c0E7IW5NY0sjeUpMIVYoQHFfKlleSj8hR1ltWGp7TFk7
CnprWmI4PStwRihUWDhJXmdUTG13ekhgc34yWEVHcFAlNSV9a3dGMGNHSCk1RlVlYyErMyh5WmFt
VDw1cTs2MmZLKAp6Q288VE90WU0+WDtGQjJrYEVxcH44KW1Qd2R2dWV4U0VORk9GckhJOXMtTEli
WmMwUEJFcmVEM1RxN3lBLVQqJmcKejc7bnFlfDEpVHp1YVZDVEo1b3hMSTtQOHdFaGhwaWFKTTNE
eEJQYGVeQUQlLVc/MFZgbz94UWQ+UnBlQFU3IWRWCnpWNk1td0BDZVdDLWRDQk1UdihTQEk9Nk5f
SCF5eFR4d2taNTJBJlBlP1lVcyNFemZCbVFrc3pxWGhOcmJKWDIlUgp6aTU/YTt5KVRjPSteJC0y
ej8he0skY2N5RzJhT2ZzMUA8NElTMUhma0UxRjlpOygwMmxsKCtOQFhSKSZNe3p0aTEKelFeJkol
PzM4eWk/dyg7enohRV94OFNRVFUhTmJtQHBHQ1BKc1ZLaShOI0NzLVNRMmA5Vz9zSHtZfFhCMXR4
ZFhgCnpMYDtGb1YhOWZjSS1lSzJYSShyfHVGN3N4QUlnVHp3RHgjJDd2RUBtNnxDRCFTPTFLOzRA
fFVHX25iSG4lZjliSgp6WFJnWCl4PmNRN3lTdFh5UmlEKE1iVmBtVns5fj92NEl+KjUlfGAzdk0o
OX47Nz9nSHJ2TjRffmgjJTBVWHYlS0sKemZNOzRXJTY8P21US2U2eGozWnRObFo/PS01KjMyQDIx
OUlkbVQjKVBOI2EjaFJRKH5WNjwxZmF5UHc4KkxgMTV0CnpfX3spVjtHSCg+SUkxa3JqcG88bW0+
TUcrelRfMDtEVzZDb3krcWk0Tj0mXjdAbDN5N0lsUTBtT1E8UzR7T1VMMQp6ZEhGKD04Oypwc1V0
O0dIKXg2WUpMYnJUTnVwfT9Xe0tXQ2tycj5aZ1omNHpvI3wyemBwMS16SzkwS1V1KHYtKHYKekZP
aClYfEwrR3xkNCQqUF9AOU0rRGI1P1g5LWlWPndGQFpxJnpyYDl0dnNiVlYpKyp6PTtERnI1RlBQ
VEEtVTlECnpLeEZPMyZtKjh4ZUpDZH1kNUxMWFF1ZmRRMGVEPVEoWFFLMXtgMDAhIUIoPGZFbkxp
enpxYih9SXR0e3NXfjNUTQp6bXNIP3ktTDR8VUFhbXBWQipLM2xPMGVXNzEmN08wSlVqUzVaPD5Z
SGVDNlk8KWItej17UEtrKkg4QDxCcmNuaHkKemNscWMwVUwxNihTdHQmcjk3SE9nTExrTj8mWm1w
fSM3Xz1GJmtzVzVvWD4haUB8d3VtV0BzYXo2Rz9VNDU5aXt7CnpEITEjYGZ4dUN9O35uMzRZMmYq
YCRUXjwtZSReeD5jUG9WXlFvRypiQmJyc0ghPl5RSWJNNndUeTcpTmI7aTQmVQp6NVAwcCYzUUYj
eTI3eCtqSjZIS0ZTVHBHUTAlNVpjKmFPeHZ6YDxGWFhYPjc5TU5kRFdJOTVBMjhtIWVSM1dsVlAK
eik0YGtfc1B0UHorNzMhRXRgUEUqNDNERD5QeHVMV2g9ZVglQSUhWWhoeXxUJkFmflNJYTZUI04p
enN3cT4wfjRECnpeV09qJWBgZE9kYi1LOWVWfUZzOG85YFRZP29DR3xvZnNaS2U8TyM9TEY+PT9w
Q0NaSWl1czFRYmNwSVJYdzw/UQp6KWIoJjFmflo9K284dEBiUzlKT1U3T2pAP2lWWXFKYTh4VkB7
SlFvJSVYdkJkKiVjNnpJU3NAJiVhMVVtdT03QXAKemU/diR6KWJPMHAhKH42Xk17MCElVz4qYlBi
JGxIY3pAeik7eHl+e0FFPmBsX2dDYjQ+N1R8O1E0NkN5Y1hQIU8pCnoxQDtYZld0KzNOdWFicHQw
QXNUREQ3Kkc1bC0jWFd7byl3fTg7M0xQe2BJdzdteGNGNVppWi1BVmJDZ3RmKVM9SAp6Jih8ZFYj
dWAqUCoofDx+XzUofWNEdCFEZ2prQn0kYkt3KSU8VmlAYVI0NiZ3Kj5kZSFUYnxfZjJ5cGx7MEhf
OV4KeisrfkhgQCNXRk1IPDdoKHhWLTV9cGZnK19eZDRkTGA0JiRlNFYyeFVCZSR1OG5ec09iaXRK
PnZfXkZuaWVvMWtuCnpjTCF1ZTNQSH1iYWhwblQqUjgoaHZHMz9YXmZpUSgyPWFpK2wxb3gtRSRL
UX45dHAwQWMkXk07Qm5aelkjb3xEXgp6KzYxKChXTz1ebUxAR1ZpVX1AKHk5MG5AbzgjXkZ7WmY7
S2E3NTk4bktwMk42ZG58fWtULTgxNWlSUmIzZUAwKCsKekF1bEchLUBJVjJAIWJ2fWJJMDV8Xz5q
V2xRMWUlTHd3bTN6JEp4QmNrdUFtfUMpS3Z2bGVTdFhHUVEzcmJ3NWEtCno4PWl4cVlpd1BmQ3h1
Yjg0XzBuRVljM1BwaUwkWiU2cSktVkcheT0tdFZaQXdtWmg+RT0ocGJZQENPQ1JoLSF2dAp6b0xy
SkQySV8tTDwkdGM2JiZzSXkqQ3xWXjVGNGtgQ3s5aEMpP0Zxd21tVTB7ZlBALSEydEVQQFU3PU87
QyFsSz0KejlqeE9xIVJtazAwZkdUfEMhRXFrYFAxbWJTJl9kV1U8cVFNP09DND5eeEIrJmtfSkB6
Tn5rRWF2eGVwPlJ9b3RLCno0VHU8PTFfQSVPVlRLclF0SlhMNT1JO0h7MEBNZ2hqZCZOblpWJio8
VmpHfURKJFFnSm19PkVzSnZuZWBhQHJXWgp6clZiTSFNTUVtJmBrV05iUnI8N3omb0s7UT8mcnNv
JDhNfE8zWkJqb0lzSGcjTXFkPSVONEBjSzRwNl8xazUjbl4KejVgazRlTnZ4amk+TSsyajhoSik3
QE9VUGlwNzg0RjlmZ0l1KHdyb25aK28xJCMpPCRBQmUlKj1wT09WfCYhaENQCnoqRjMqQz9nTmxG
R3NANWcoZkx8Vik0dE9uMTl2eUpuMEx+KGNodHduPSYrRS03ekJZQD5Ha0EoIVZqTCMmYTJedgp6
N34rSU48fFByTUx5a3N2YHlVVGpVIUxqU1VtJmRvNzFaVmxKP3d2T25ORVkpTCoqKzgkOzQjIz9k
KShLRlFtZTIKejRgSjRDRUFnWUxAVTAxVFhIczlYI1coUSNpPH5ZaHp8OXpkaXxpX314U35yX3hE
ezhxej4tOEpySD4tdSkkclNjCnp1U2cqWlo8Vip7KzF2b1Foa2paSiZ6M3JwUjQkMTRBdVMhVnlU
ODl7IVpTLSRkbXNyR1ZuU256YWlCaHtiTHRJVQp6NW9QPFc8ZVZxT2JONkQ4PUN3UWRGcCNCTSZR
fllUVT8jVi1kWCl6TztLcG9HYk5FOXpDYHxZcUkzQUJ3Z0s7czAKeiREUyNFUTk3Q3E2c3h6NUpY
ZGkyaitlTHh6TVNeckRGNztRUG1FPkVCPntZTGEhenA8T0FnNGcjZVlZcVl5OXtQCno5MEdFPTU+
eiRqNHxMKWFxWG9jTj1GVzBoKU4oN3tOcHJ4PyoxIUB8WU9jX3omR299UGkxNVAldTlwbTVqa2x+
dAp6dGtHSV91UjQ+YmFmZjZOMG5BN1VtVTtNfnNlNXxaNHZTYzczPWJYdj8tQWJ5SXJCdj5OTUU2
MVFtT21RRFEqeXUKejZmX2s8QD55Zmk7bFc/R3o3fVlDTVNubWFQTT1UVFQ1X0BXZWF8ZFpkRzx9
QHRVR2wyTUZjOChmaj1oY2tFYFooCnohUkVwblVSYTF5LSZBd2Rsd3diKFBKcWJ3IyVve3s8YjZt
VmtKUXdFKWpuSnlSZjZNdGw4UFZ1M3RYeytGJVVpTAp6PlBOJShjMn1xTE9udVApaDdzVyREZVhI
fEFANjBKe2RiOSQoMkJIKGRRemZDbVR6QWJoTFRuPTBCP2VVWlR1JDcKeihPb3YkYVh7VXEwdj84
ZWlvT15OKH1UNWxySERzLXgxV3ExdTdBOWVuZjdgTVhgKzNOPUJ0VCVPKT1kbUNIcXg3CnpecWcl
UEtZfTZ+NU0qSlRFWC1FX3JpcCtoRWNHbStpTUp5MEVGPiZ+dUFJS1hILXpGUlozSTBhSD5fd0NO
MDg4KQp6U1ZgWEpBdEM1RzttYilpX1hlX2FWJGVJWkpLTyt5QnhlbD8wWHNMT0wxMVFgREI5O3NL
YDhZV3hjWndyUT9TMWAKenlsbGdmb2xjYnU4cENXKzd9KWdaV144d3c+aUtkVndlPHRKPGlpaFZs
Rm1DentmdUtFbWA4YGFOTUlNMGRZOyVZCnpLY3lxejIqSn0oTk9KZ2Q0QnRKJUo5JTBhOVFtZiNq
aU8wdCM+ejVQa0Q/fEZKeFE9SkBVPGVSbmphN193T3c2UAp6RlEodzZBZn0pe1h8SlItSXlCelJE
fTJeYFUtfnA9YGlUXnBWPGBsamxMY2V0ZntSTXN3UmdeTDlUSn0mRGYpTDMKektnLWM/KXVpajBo
SWhtSFpUYXpYcT1Ial5ZVHE+UVA9Yj53SEFHYX1VTmNibDxVNWkxaGNlJFUtVDE1SnB1YT9sCnop
Tks5RCo4ektwYylyYyhQYSorN3tCVThrJkFsLU88ZCF9bkJkR1JWPysxWF5RdDFxOFAqWnJLbklY
anFiZk9Jcwp6X047KikrTkN0eCR0PC0reGR3MEsjam49alRjJVhaS1VzY3wlRnhuSG1+cCh6NkhY
Pks5ckVKXmYjbkN2eFNyKn4KelRUI1ZmJnVWIz5eYUltOU4rcXtqN0dxUztXbTlufUVSWSVFNyFA
KWlmIyEwaFUxbDNkTmpGVCprIzg+b25RViRGCnpkVG07VDxsKDhVWmZRcVQ9UDEwYjI/RlArNmkt
fjZOXnZaV2lCUzx0bDtCIyRKaF80aXZIPko7RSQlKXVtNkR1dQp6b2p9biVTYSspe2VIQnU9QVFG
ZDVydXM/YWFtQU5gaTk0TEZ6TzFLVHZ+cTZHTHRVOEczYV9fUW5QSWVfPn1vSzsKek1mQTlaZXg/
eTFXUSVVRU9XKjV1cWJ2XmcrWDNwfihEfSRFUEZ2fnhXKWY5UnNYTDBmenpGaXl7dzleMC1yUU8w
Cnp6bUR+cXsxb3NWMWVObFA/bXBYfDI7ZlA8Vy1kKSE0JmElaHV0Zjc3TWRYPVU8PEReNW1EcUwm
RVp5VSZAc0JyOwp6bipLdTFtbikhTmd+PVdzJTZPSE5XY1RWYUojbTNhZFdEV1kzWEFJamJoaklI
RzR0UG5eKDYoWEhGfjtXN0NnRisKelFgKzZzbCV2QyZvNlp5JHJ+TmkydG1TRE1qcFkmOUFwaDcq
YEArVmFjeyptI3BeK1FRY2c/PXEhWSNgXnIodGshCnpoKnJuY0F8OTUzK3BwRFZ6QFIyWVcxRkcq
ZCZlSm1tY1gyM0hWdkd3dG1vS0VzIUMzTko0UGRWO1VLVFdnZTRtNwp6aTFraW9MaFlmOU81I0J8
dVl2MHUzUno5K0stTSt3XjEmO3cpTmE5NmxLVVE8UmBgUF9VNiojZCtNOWBoZHwmSWQKenVQQWZm
Mk9EfGM0eU8ybnYzI0QxaDdeMTBZSkZHMG5NXiU8b0VsSVcoYnd5LWJ4YDxuNyVZUjdka15aJFoo
LW0zCnpzJFVvO0khQDQhXms9NXN4T1ArVjE8c01jdFVMZVgyPEBzTldee2RZeUBBTWRBYDhkTDxQ
ZW1oISRtOy0/QzhDOwp6V1JnLVpkbjF+Q3FAWih4WW01bm5rJXkpPDFiQUpGeEd2YFgyXmdacmxK
fjleQF9VeXsxP2NZKWBAalJTRzZlblkKel59cWh8PCFyeCY4YWQmfCVaaXVxcE1MPDZpeGFsVXJ+
O1Y3WiojY1VMeDhyRCtadiskZ2clSkZCKnFVWXlRaztkCnpWfHkqbFdmVWF7VyNgZD9QS0ZuPVJr
fDhLRlVScG9SfjN+P1FUP152PXNIRWkyZlBzSzZ3bkFocz0hTilETjZYJQp6XmdpPGpiPntmaVRw
USEkcTI0Q0g7RVUmVzgtUUJiKkstOHtAUzlXaUQ+KUxnaSFYZlckQzNgKU8mWXtkJG5YSVMKelJ3
KkExcnN0JkhQWF4zN1FiV0xUYUNmMyVRbDV6RDJCcCg8QiFqWjZkNFlGMld8RShOVDlwc0NtZ3le
V14jSUVQCnpTPz95MlAwQkZEeCRMKUswdX5DcyZWNV9XNj9kSjJ1IWAwZGpBVTh6Wng1P1VZS1Zu
YXNDPkpoWSUwNGhtJGlGNAp6LTJMKz9rPGhFZ3JSTmY1cyFSQ0JsQW5CJjlDcUNaQTdTY3ZeNCRI
LT4+S2dWVE17RERodHdLbk5IPXk/amVBP14KejB0R25uRUpXSD0taD1yNnQ+cTxkUUFrPUZSJX1p
fVFHMyolMmhVMW5UcWUjfHNGPUBnSDlgeC1UKCh0KFI9MElhCnpDI3pRcStneSFiUyg7YDBzKCVG
Q3NZdktEI0I1eHtEM3YtdTBJR0BiIzBpQCQoUjdgVnR6aERONmxlfGt2JVUqTAp6I2puKDNrSGBu
U2tTXz9iSUhFc0wxI2VebnMmeD45XztvJmgyZDE2JWNfeEdCUSQ+PTVTY0V2Xm92aGxHVDx2aygK
emoxWUhlNntBTEQ4UzNsUnBwaUZxQ2U5VDZ2XzJtaVhjNDVzQnxxKDU3e3l4SFdNancqPSpLUllH
IVNIZzM2eig2Cnordz9oKkZBeXFJV3l+ZCh8MjVSNiZrTGo4YGVySmAkIUZBKjhzJjBHU1IhPWMp
XnFVQGR5ODdYYztfYGRYYm9NTgp6d1Y2d3hlQkt3ZnthRlVSUV5NdlJ3SG1vQ21zMUcyKDE8JEN5
ekA3PXp+aVRlRGdtTSNrP3tsfmg3K0hpZ3x+TUEKekY7JiF5ZndTTE92T34wRitQJTxOWmFWfGRj
PyVUYHhVMjtuWT0tKF93MW9BYXlDaipHSE9UKDlmLVlQS09BNDhYCnpuMzBCJk4wNztCSmpvQShC
Pll7Z24rTVI9Rz1QUHxiZ01APXcpbUN6TUxOeV4jNHhZaVcjamFFN3o3V00jKEohUgp6Ulp3RUp1
bElofjtlfVRWVit8NHQoaWNKVyZofGY0U1JYYCVnP15gRkZfTGlqZj1aMV96SDV2O09IRllvcWly
UCYKeiY2JVdAaz0ybXp0dmw0Y0ZIUCokZXkxWndOZkA9WEFFWD5AblFqJVp2SHxmV2BjOFlwQ1BG
Yyh6NkZsZEs4Vm8jCnpVRUJuK0ctajQ1MUQrSz1VKThBMWtWVzJ1ZHVhbHVQc3JhVmh4RnZaZTV8
V1pxMmE1ZGRMZTZJKjRnTDNIUDUhawp6N1Z8K3E7V2BpJXFPT1kmVE41V3NkfF8mZkNWMzYxQTM/
cGA9c0loUSRtIzElblhZPm0qeXBkY15GRlFPZl9LIVQKelF4SFJuQ1VWcHIrUnolc3NCST5wV0hP
Szw2VD9APkNXREFAT0ZqOTRyKVhwXlJsUSFGb18/KnFAJEQ/NnZiPGtvCnpXNVNwPHgkQjBRIWZY
QXpiLWI1VEJmQlhae2hpbGFOZklmPnImczslQ0pEUXAycmc1VTgtcF8zSEd7Vi02I0hxPQp6KHdQ
azdZRGF8aSFAPUp9QmckQzZQMDEzN3p2ZEAoKUhMfHVoMUIyUWtie29YNiU5ZlcrTzB2R3JsX0wk
RVFwSFIKekk4RyppZy0mRTsmdHl2MUMqKH1rVVpaOCNMTXRyWnZtX2U0Z1E9NSlRLTUmU21teGZk
RVktOE5rcEs8QjtZdml0CnpWcilNYSNFSXBkVUdJZWc/dVNqd3A8OG1vaWtQez9YRD9SSiswRj9w
YDVQODlsNWBrZno1V34yJHVXVGsyelI2QAp6QXQ3fStlfk1AI1htZCF3LSYjN1pYR1UpZF5LR0U3
cCUwYXloU2FUTmtGKXNRS0NLNkRyTWFnMFktZFReMnNOO1kKenB+PEklQFF+Yj8yeH1ee193VHFk
ZjslI2hfUzMlRCRXbG1lbnlqTTlUNUkmbyl1U1FCa3pmPHthSz9NeDxaKVEmCnorTSRoMlFrdTBU
NUNBbz00SW90TGA/NFBINEUpPFpCSGojJW17LUpycilmSHZ5MkUqPXszfn4lRm0oJj5hc29GfAp6
RzJAeWdzQG9oU1hKa1d2c1Q3SSZZelUwMXtPdzxXVU0lPEtVOGxuNV5uNUModWE4TnpoSjVlO2JB
Sns+aStvLSQKem4tIVcwbGl8SX1VeFgmPC00azM4OV41ZypAKGY1YSVoPysmTGBpX3xGblRATm0k
VjwkeFYzM0x5IVl+WkVucjQ7CnpETUpmOXlWPjIyOThgeVRXbkpkSGdSI2FLckxIdEVWRiFJc2Rk
QHB5TzZAcUFzPFRMQk1Ce3o7OHQ8NkBra31IQwp6KSRWbmwmJEBPQ3RmYGo9dnV9SHVsVztQQ0Z8
ZUp8TSkmODA+V3lkNGNxYjhjbEhFYCprPl8qeEh0YUpOJG80U18KelpZRncoQzctaTw0fUJqTmpL
WDRAbGFnWjkjfkg+eyk4YWYpMFZWRjxhbSNFcDNGZztvLXhfJTNQJWYoYj1RYiZkCnpTZWZYXzs5
WCR7Nno1WCQmak5VWXV3aWNrYzxqakohMDxHeEcqYCokSSpzbiRWTjU5YURhN1luYzVZPnMtTlhR
YAp6Z2dzb35oWWpnYjI4S0FROHo0Sm1zUChYcnFNaEpra2VtSXtmQ3JPI159JEQ0R285UiRNc09z
fk9Pe3tMQUo9a3AKeiVHNjQhVGszbVMxKitzSSVLI1lYSGNkNHJrOEMrfVFZJFBaTjIlX05iU1FL
aVl1fFByM2FIN0xuUSstKEJlTyl3CnpgI0kzWEJXPH5xIyhKOXVJJjt6VExsQytoKzVeNCY2K0N6
fE53QjZZeUU5T1E1fFU0ZyQrfjNEVml2VXgxPkFHLQp6YShONk5NVmhWfGIhJmFTSiU2WiYtayVV
PWNANWswUnpfbipEbDFnfUpafm9ESkB9R2k0R2VEQXFQdE5uRiNZViQKeno3eTNCT34xM21fLVdW
S0g8M348PTRLJTQhUVUqfDY7TTsmMWJlTEZ6dWNwMXM9NXtTMmlYSGtmYXA1bE5oSmNrCno2d3t7
V1VUTXhyNX5CPjxYRnFzclpPSTBhLT0jNjkqZCs4S3VWfFo7aVk9S2ckRH16d1l9IXtXJD5uZ2Q4
R2l4IQp6WF9PcEM8fn57Kz1JR1p8e3tVRyszQC1RbDlVe2twOGwtWihKcDYlWmxlfGBZdio5WGdS
SnZTa0VlTjtxRHlLN2MKeklRWUtIITcwN0MrfiNpbDBZJndGanY3XmEhXzsqWmg0SHF4YXtSYEFe
dEJeJHVnQ00kNWJtREQyKTR8JDxzaDV1Cno0YElPVmY2ezIrcntyYFVONkh5K0Npe0U1Rn54KSVG
ckhFQTQ0VDlJSlFFKDg4ekxPd2M8dWdgRSY9Q2hBPlYhTQp6eWRIQj00Vy04ZWFPczJhZWV2QEU0
UFJJajtBeDszUXFSKSlTbUo5ZjxhfndvZW5uPiskXyZFSUxANURaWmZ4aGYKemJmeV9KS14/dEQq
dHxYbzl+YVYlMzY0aTFuUHhhY1Nwe01lPl51MGxMJEcpbEA9MXQhdVNKOSlfQmB3UW02LXN8CnpY
SV5YSyQ8XjEqZzRRRHZsNXt8fF92R1FuQ1V3UnQ5dm4mPStOeStgN0M3eXhoZkR9R2N+X2tgQDVs
Nz4wZEpkLQp6LSZNbDB6YkNvbVY8NzR4JTJeOCU8Tm9ffGcwMGl2UGJNTUNzZFRLcnQ7ejd5NzQm
OzEjUDwzPihPVX19RiE/YkwKenpiKXFXIXUxXzFeflokcm54dSpIVmx6bzhYcFJvd0AhM35lViFw
eUBVQDw1YCsrJE05QlVtWD1JWmAxe3ZsdCt9CnpBVUEoYUNuRX5VZU4reW1GcFk4PntybipjXjZF
SjRPZnxMayh5VVN4OHoqNHA2OyN2I2VTXzZzQ0YqclBJfkFiWgp6N3oxQXxwI1Z5eUk7QXItbnJK
NTNUa00wWjhwV0EqOE1DKFM/QjU+TWZZPHtYcmNFI1UqPyh0M1JvOUR8KDJpTHIKeno/JEcpKit4
Wmc2QX10KTRYO3J2eyR5TVpyQ0RQSmtkc1l4djFucndzY3FkUU94NFVHI00wdz92MTV3JEhLdHw8
CnpwcnxSKldeXilDMCFCRmJuKmYtVnA8XzUxITxaQlNAfj4lNzVvJE57P2ZiV2IwYjVfQitnXld3
dmo5PFhMfEs/OAp6eiY+P3QtKjMpRkREMTd1JiVAJTA2I0wkVXh+KTklTGhaWH1YY1pnPGw3TH1s
K0gkMnZNbE5jbG8oVWtMaSF0Pn0Kem52NWFQYS0mJjx4YDNnPjl+ZnxGO08wYl9DRmd0MWZgblBz
XjZTI2YyMDRUd0M+Y295alFLdks4bFNqP0dse31fCnpVeTFqfi15OUxOPj51fThePUdZRztoNE18
Sk04emc7TDRrdG1yK1E7N3l4IyZJYXBHeXowUmE0X3BFU2k5a3hOcwp6Zl9+fUBXTVdhS2B4VTs2
PjN7RWpCY2R6YFcmMiYlI3J3S2YzQztNU3J7TXtKUXFBKkMyWHF6eWp5ZnkwaGtEIUYKekl8UjFe
b09+Q3kkfWQtakxCXm9xbEA9ZmdoYVRweFFaeWZKQ3VgZ3FxMj9FX2Apb0ZRPEJwVEZrK25uIz51
PGBaCnooQVB2dDQ3fTdIKzIkZDU7VzlyaHRCdSpiSHclMn1zT18pU0BWRTRvQ0teRzh3WUtgKTJg
RTNuKCp1ZisxSEdgMAp6bXkhc01EdlJiVjZtIXBrKVI2b15YIWo5N01gYFh8b24rUmlpbml7YXkj
VDxPdlp8XkFYXkMqKGgwWUx+TyVOUTsKekkmSH5naSEzIWU+IWVvJCpIJVJEVERWbGNEMkFqP2BA
PWRhVzxWYUpUeFZ9YmxAUEReYStwYUFkV3xxNGAlK1FeCnphYjE4TCgzK2hkMUhrdGI9dkokRjZz
M2Jja09SMF5sfX0rYmF7N0pfd3NFcHY4MTJwPTZIITVxYFFOeUBNNnhqYQp6ZHlGP0Feb3N3JXlG
MS1jeWkoYXBARi1hMVNgMjh1SUF0Rn14RXUyciY9UmI1NmszZn13bU5JJnNsfkhfbEFJKjUKem47
TkBFWj0hWUdoY1NKWTNaKChBMzdxXjMwNDZfKUJFQ3h+RHxgYiQwYWxOMkZ0QWlQQjhOZEBmRDJE
fkZxRlAkCno7I2kmc2lZUXU1Nm05KFAyQjVZdVVFPnJiV14zUFkxdy1iP0hrZn5NUCZ0aGZQcClO
b1VBLVZxNEsme2Utezlqbwp6MG0tKj0qSGtCPDZiWU1ZVW1geXNUO2tDSk5WYWc1Q3lzWlFKYi1z
P1V4cSkhezw1VDJfNTlQTUdBK1YhLUFEfTMKendLPDhAOEdZMnwwN3hkVUxqQGg7bGg4X29eYyVL
Y2FEKyR3SGhEbVJmcjtXPFI/WnU8QXVkR3dzYHVIKihjPFg7CnpFVkJXZEwqZXolVHZZSzRsRk5L
V2xIQ0tBNWdaV1B7SXhFP180fnRAVkdTI0FPMHx4fE1udEw+NWw/NGtJLUI9Xgp6V0BkZ0o4YW08
QV9GamRAcnIpbmtMIUZ0M0IyZGQrYU9HIShWOU1kVm5BcElsIUAjIUUwUkFLN25SSztKWUxaRnYK
ejBGXitlakRCY3Y+KlpNWndvOStZVVM3YklHKnxhUWMrKEYqXyMmWnFDWmBDNGRZKCF1OGYrYWx5
N3ZKPEliV0hjCnpvMWJ4VnlrMEFrRkF1TXA/UzZYbno2ZFNlcVZTZGZYTjNgSnc9Sk1tKyRNb1VP
b3RDVExBMWJpKVRNd2F5UlVBRgp6U1grXy1EeEtjWGpaMCN4TU5PQ1F2czhSQmstM2dXdms7NGFR
VU0taVZ+UzE5YV9BUS1wQnNGeTtleSV5MyUpKGoKekJBPXc4RmtXTStUJWZZJTRTdVV9X3hNNGdB
bTA+fjZFTDw3JUJFaDNDViNQR2E/bTFFRj9iIzlmRE8xYzk7TXAxCnpIWVFPUjV2VmRyYnR5ZHJ7
Ymx6WkpNUnsoY0JlX0JBUno5Tzs0Y35hLUA9I0NHQ3c7XklfRTFvMHUwd1ZHNFlgUwp6e0BqdWV4
UldlP3E7QjB1NWpoYV5jOzg5al9IYEd2NXN+Jno3O3Q/WTMxeWYjMThETkFYbztCRHZDPTI5TTh5
K3oKem12OXstYWxYWl40KnEyKGxlVkFXPFR3bGhDdlZUeXtJWWs8TnpvSnV5c3tORHZ8OT1hZFBH
SSstc3AjIU8teW1hCnoxUX5eaHVjdVRUcyNAbTdXanxRQi18eml2YGc5ZmRuRlN7TFN3VE4wN0Vm
bnlGbmg4Xnt0VEQ2Z2d7bnJmfFo5YQp6SSZMNml1RT93ODt6R1J9VnJVQSszXmtofSo1eFM7YHgx
TzZyOVJyWkhuNio5S1h5VVpvYHt4N21FdlFAQHExXlYKej9YUyVWLVZmfV4kWGY9SlhgWDwtV2g8
Q1dkbyEremFONTs/JHV3eSpNUjtyd1hhY3FNNiZQMH5OIWFiWmFYZlJoCnpEdGRfQ3I+JDVPY1Qy
NitOTEtmLXcjeFhCVjZQR0Zydk9ybmkqNUFGZmBAdiY1UENHYnVgcnUzJGZuQEkpSTtfPAp6WlVf
KHJJP3hqJngmZjgrISktRWdLYSFZcSVlSj89az1GKSsoT3BnQyVoNmo5bCRfa2woPiV0enxHPmkj
NloyVkcKejsteVdhcXErIVBeS0JPfG9AISRiN3luOyQ3Z1pNeG9icyQpUXs9Ml4rR0lET3VDeWpQ
NHZnVTJxI1ZRa2F7Rzk1Cno9T3tuP3htNlhCcX5edkFPR0o/b0NkcCFNKy0/azlrMX07SCROK0NE
ZUE8bl9aZCFEXmAoIUthYU5ean1LS29UbQp6bl5idylyd1YkKEIrYkxEaCEzKztfSCFUa3VjdVhQ
Tk5fJChXdGk/SnszIWo/KCRJbEZWO1gyJXRwM2lGZGI2OHcKejx7THpreGxhJVZOUnQtcSYtfiFX
MmsjaDFzIV5QZmxuU2VTdzNZd3FsfjRsMTF8KCRKMWZgekEjKlpGIyUpN0JnCnptenVWRTZpY3Bj
ZExtcDRfI2gkaFpUOSpJbDJ4UVJDO1FwM0AkMnkzTz13dTxGO357Vj8qQFU3NlptSlF4JXl7Pwp6
eUEwaTlaSylOKGsyfCpPNEtuVmUwbUJhVyRPQ3pRZHI5M3kqUjZZPHl9XmlpQ2BRbUk1WV5VeGln
fn1OdjJBU1UKel9CXmJGSExmMXRAPDtvNlhZZEQ4Xk1fIzZSczBmTkJTOFhAZGkrfF5YTHFaQEw7
cyRORDNkJWI5fS15Wl9keCE2CnooK1RTQz8taTJoOEJfZE9uOGViV0BZRFIlckhLNF8mSUZQeGhA
JVZpSFUycTQ3UX0/P01ZJTdQWXpRQ0N3Qz4yYAp6NTNvKD9HLXx3Kl4za3JiVkt2YDU2TjluYnpu
RCVSWFh+XzY2X2tEcj0xc0NSRDZTPUljenspO1NefjEpTClENDMKejhrYXUwRmZPJk1zcGkxbFR6
aWw+eUpAdH5Yc29YMDsmWklSdFdTbip7d35IZ3tPXkk8NUtxc04raUxUKFQ0SjVSCnp2UEV9UEh7
RTcjeSlRKnw3KlFNRSMrZlp2QGB9WnxvdThoIXB7TXNpPUdKTlMqdVoyNHojLVlqMEZ6cllrUX1B
fgp6cGgoVnJFWjR+NjdYKGZLaGpoQlckfDJtRyNFcUB+Nj1nbWB7Pnl3V1pmYVQpQ3FjcUh2ZD4l
M3ImPyMpdHtLbjIKenZ6TTJmY2AwYGxSVSpKUCMpNzhuQHFVS2dwVCZ9JUlKSUlxPmdoUDU1N01k
eWNVeS0teEZhJUxZOT0pRT4hPzIkCnplc1pleHFUWFk7c3lScnZBKlRjQz1eJi1uRTRjc1gtdmht
WGJhRXVSJTVrNy0jfit+Yzt6cWE1MSNqdEN7fmBsVQp6JD9aUkVlPGh0KWdRWmlJTnklZnpLYUFQ
TWZiMi0rZz12NXBWMlAma0QhdUB+VCEtPkhDRCglJUNSZzRfMm5PJWMKenVGUVZuQy04PVEmVEJA
TFJKaHRwQTlAKntee0ZoRVFGXk09PElMVSh1KlpUQGF1dGtgdmNHXmNKdlVzX1ZHUHZ6Cno+NDU4
cnczNzJoeCNtcl9SM1hzcFJpK1B4YUImdUMpd290THAyd24leE8mc2k2TyQ5QnJOTDtRYjx7aktF
KUclewp6LWRvZ0t3diljX009K3xrb2pmdWNwJWR7eERUNGkmVC1pTT1YJWxKZEZrTFkpd3pjemEl
NHxge0RmKWQzbUo+d1YKejJ2YW1TIzZ0QmY+eU1zSkpuQkEtQlBzITRZVkdqVEo8dz9YKVZBWU8l
TmkmYEw/PikjMHxBUX0rI35+R1pHSyhDCno8Skc2emFvT1ZfcVRtZHNsak9LPSlWVF9EPjZifWE9
X31sX3ptKkFIIzlxNlZzMG1YKCE5emZrJHEjVjhIV0x6Sgp6T3prNCRrVigwMlhXWHpLTU08WD9g
S0EtflJKcn5JUHJraXllLXt0aipQO2RHZmJtOXZUViVUYW9FWWZKb3hvKG8KendgIW8mKGc/d2Fn
U2MkbnNvSGNJdmVrSStJI1A+Vl8jIyFBMkBCWjRpZGxEfjVEQHdjWSh9ay1vKCsoYS1YOVFFCnpV
cXdQR0w/I0YqZnxrZkBjSFhsLUhjP3M8dSUhPis0a3ozS1hlM31NUUR0UDlGbHgzZGZxcWBfcWE9
ZVA1MyVaSgp6aHwxNWpyeWBzbD9iVVNIKy1QRVRAN0NAVDI0VzRESUY0MjJGYTlLY0hedSMmQCtG
bysoYz5qYDYjfXRmcjMkb1oKeiFJeWEmcEctWkJRT3cjdHVYPnR+PiV7SzBuMHAtMmJ0MGJiTFZ6
NzhyIXpAajw9WD58ZnlZSkJgekhmZyUxM0lrCnpOOEhEKiVII3phUEhVKzJ2OXVzP3J7dFNtM3hE
M3M/XjhBWTU+bVdOMi01S0xpIUhISCM9c3BtT0FDTDshTERkWgp6LTZxVHVmPGByYyhFVn1eRi1a
TDAtQzwmMypLKWlEO2AlIT17TGh7T0xvYW0kSysrYiEhVD1YOW1gZTMzcHhDSiUKemkza3pEMXc+
QlhkNXxQclpFKGY7N0xvX1o+aj9EJm5UM0E4emAlcnVwZF5KRWJqbEF6ZDBAUFUkWWx0djJBejUy
CnpESWhFc2ElMWJTamE4Nks5KXE7enRMNHRxOW07dmgqYW1nIXpRPEd0USY3fXl7a01LWkJNS0kl
O2FzaUVEIzJxQwp6JXpSXlIhRD1MWlFUKClwUF92fW85alZkRmpJMD9tezFQblorMEIkczBsaSsh
THJgamVYaEIwOWRTcikwb01qU0MKelFxSTJkYzR3N0h0QSp0OElTXkFePDF9dFoxLVpvU20+PDtL
TFAyMHMtYFAkbDgxQzQ/OTM/LS1Ta0REb1UqU0FkCnpnMH1LPDY/WFNpbW8rekNtNEFRe2BNUG4o
SX0jfHBZSklZUWNTQGwxbmklOG4wYnJWbnoybGJfME9VfUpfNkJ2YQp6LTt3OD0hJmw5ZjNNUiRA
VDlCJTFqIz5fOV4oWWlPSk1fK29LSHxldE81I2QpWl9kQVh0cEo/NFo4ekRBRDJXQj0KemQqfitz
R05fX2ZaaihhRmFOd0N7QXB9NnxzNExJT1pieHFWWmZ3JDxZUSs7cUkhbEVwdHBGWj44IXx7ST9H
Qmx5CnopZWMkcFZhP0ZLTl83S2VQRHFodyFmcj9ETVhle254U2pNfCVJZlh1PkFualM/SFgpYkw3
UUgrJERucSQwa0dEQgp6QndfXjlVJXV+eFZCKD1yJVlyNkMwOHNpPSZMP0l2QjJ5aSp4JWxYUHBf
RSptZDl8V0ltO3xiWnpuQj0pUntAY0cKejt0ZF5RP15qJkMhZWQwYSVEfXd6SlVwUlJkRU10Uj1P
SkNKQHdqZ0doekJxPHA8ZlctaXY0JnAxKHxMakEmISlfCnolT3N7Yz9JTWxKO153fGlxekJJVjwj
Rnh3TE99NWdWeVNIUUFZeXkqNnM9Wi1jeGxIVUIrRkgrO1FtMjY3TFhCXwp6STdEc1c/a1omeUZr
aEdDdnhZTXJhTW5eKlR2N1V0dytKfEQjKld+JVRpeT43UEBuMFEtSHg9SzEjOCVBeih8dEEKenM2
Tlo+dkBzPFFzQnoyY14qKGYzM35Ifj5JOHg4RE8+WHpkKChZIWYjQjhfRDNBNTdeJE5xVEMrPlNo
NSh9Plh4Cno5QGdgSyZ3WXYtUj9tUEhvZyl6dzB3QnM1Jkloa0kmeStacTNQR1klVkdyRm1HdkdL
S3J+OCE8TVJRTWk2flJVOAp6dipQWEVASE4oVHBOc2dYOz5YbkN7bFo0ME5xZEtORDhrcWlmVFBI
VjFsV1EteVVuZSY3Iz4/S2x7RXlOeW9idT8KekFkN3lKVUQtekQlWXItTE1tYyZIZTE1SE4+eUdG
KXFWLVJfRTJrZDU0Qlo4cyh6PXlNZX5WSlVDYSpOZV9hP0NfCnpwR0g8aTR0RyRXQ21FS3cqJnY1
I2drcDRxRDliUUcrKWp1Xnl4bDRKcjBBPHBhayp1UnJfbE15X0Y3PkhYdD9xTgp6JV90UzVzJj84
JT4tNTRvV185RFFueD17MiVRWl9MRGh7bnpGMDw1OU5NJlJyJUBHVm5GeUB3MVgjcmBPRmxsN0UK
ekp+QXB7eU12O0ZqIWpEUzlVWWF6ayZKflNQPil3UD5QZDF2N19se2RiPXJxKFJKZVZqaitBQVEk
U3N9VihCJjROCnpoZXJSSVdUJTJXIU8wXyk8NENofWh7KDF8LVZUTmBIdVFAPjtUUS1oWTd9bTxl
b3ZZV2QqKVd1PUA+NHU0bT1Jawp6Y1l4PSgqUHF8QHN9TFNoKzI/MGVXR3Ixb3phRkRyeVcofkRV
bXFIdllve0BeKzc0PHZoVmItdUZVQTRrMXpqOCoKekhjYSRZd2FmbCVOTU9MX1RPN2BeZWo8KH5n
enBIaDItQ0cyLU55Vz4leUYrdl5VTGo0PVllRiopYXAqUlJ2c2pDCnpSPDJBdj57SVE0N01EN0Vr
biMoNSR9a2N2UkB+R1QjbF5GQTE3XmZIZis1OHYqJjtJUHoxTzsxaXJmQEJqOU1fUwp6RmUwPStS
JURsV2Q7bEV5KnBfYztLfEIqSWllWTJ+TCZTUVN7SWtXOXJHVDJHSj5SUVlhY3Y4Z3Z+Y05JRVU1
bTUKek9TTEhPcDU8T2sjaWckfVVjYGZJa2tAMVFkWjtOVVNAK25HVV91RDhmR1ZsO3t0RytuQUEh
OUxwYFo1e3pDVVRUCnpERTVWUVY/NDUhKT1hXyF1QD1MIUI+ejQjS3FkZyklKW83YkN+QGYmbWNR
JCthTCREPTBWT1ZkZyhrKl9BYTd+VAp6d0stZTJzRlN5OFdRQWhEcCYwV1BoazUtdl42czE4XklM
SX1yfUxiSWVUQWJOeWp3NF9WQT5+eSpDMF9va1ZoWEkKej1GKTc1eWUpNE5VLXl8UikhOUh8YmN9
QUcxZTI5fHRoe0UqTzZtVEppV3x7JnNVN3E4NEUqTitkXnFJeWUjJVNwCnp5dyg3LThLe35USEpY
bXR3YkVeQl49TH1SSVJHMF9tKS1DRkJMfUM+WjVDanJBRHoqZUBfbV9Fb3xnRTsobnpodQp6cUNK
JWU5TGI8cEFseShFU3lFKFB3TXUkRXBIITExSENuckhjclJMTSo8Ul41WE1LK35PUDh+Z3g5R1pZ
XjA1P04KemBBTDVgVX5YVyUtY1Z1Q3IoWFZCenU0Tll5WU1pSk0kTihOKmppcCZoLXVVY2hzXnhD
KWt3QG4pNTZ+MFZSRDY0Cnp4YU9vaSVnb19OaDc3YlZoc0trKHk4Nit+VzlAOVhIb2l8d1phN1ZP
dD83SyMybXdwX0dVZEckeShxZWFJJG1uPAp6dGNZfm50JkRMdmRTMGVid1FWaFZPZTc+P3JjKXdK
Uk1MNTViKUlefXozcDBid2deZ2tIK1FBX0UhYyNJWl5je1kKek0xKVhnXzVNK29pdFlvTjlKQmMt
WVlSTFVtI1dsTCNgNXQ5JSYhamtDeXkwfjZPTHthNStZSGpeY3pefCk8bShgCnozZWIhUGlLLVRS
PntyZ0Bldn0pWWszVjImc1ozcHBWYG50YWVLaWcyV215KlpOKG9ZYlJJWmcrVVhAejtsP28rfgp6
QHFTJTNtK30mP1R9Y1Eqd0d1JW50Vnp6JmBwK0tAMEpVdC1pd35fenp2andJO0ZJI0Q9dm1mUWE4
VHVfSzRDQD8KejMmUEUlWko8TF9FKCgtREYpODNFOzI0T2BTTUNCMjVNb3JxcTQ5S1cqVmE7bkd7
SC1eWlNsblQ5UkMxTWZ4OT1jCnoyPTFTRUd2KVBxMy1pUmpAaDA9enZVb3Nid08mMl48Y0RvPVl3
T0h1MDJJM1JWZHNPY0E5JUdWYkZBWVZraiEtQQp6TT54TlU/Z3pKI0NnOHojJGJEOHBaTTFEWWNw
ODskPGV0VGA4aiZQRVZ7KlJYRlg5cysmKEdreDZfSkVOSUZxcCUKej9DQDg3UXpUX3FxMnZPQF41
JVAqKV9iRzlyN3NuXyRFMnBPU0MoNFQhSmpSSiMxKj4/NnFrVjlQTFkwTyY1PlFuCnpJKkMxIVFC
fiVsbGxJSmlafT85bGtkRjI8YDlGdGVWM30kTWtleFQjUWZ0OTtmWCNlPkRhbHVsJU1sakc5cmdB
bQp6PUlFZFh7I3JnNTM7bSRjXmFYQnZxTDR1SGZmZ2A0ZFU/SmlUb251Xjx6QEt7I2hALVQtK2xx
NV5xaGA+KG1QcjsKenVHIVdLNHZLKXUwd0JBK29LQ35LWEhYU09lPGxnaGB6Vk48N0pvYVArQ0pF
dihQcE99a1F7aVArPCZPektfQFR2CnpqMHk0UVJMVjVzVG5ASDxEKTA/fU9neDxwc2lwIz8hSGdH
OSlqbUYpKHBCMU9OZzZEfF92Nn1LT2RKJiVBVz19Iwp6SEFiSjkhJSF3NGJ6UjNwWWUtJmJ3PVck
ODFzeS0pWHVacX04VnVZcyokWFctdFF2WmV7QHxHRl8oWU15el5FJF4Kelo2VFZMdXd+K2puUEl9
OT9PKjJAJD9KbzVLSUQyLWJ3VnJqXlF5LXtoMSg3ezlVPV87WXVkeUVhWGE2JU5Vbm88CnpiQ0JX
KjsqOCE+LV5ifHk+ZXJ9SGF4cDBAc0k8NVcjKjVNblhBcnRjMVVmO3lKKm11WVBYNHE7Tj5UPDQ3
ZFJ+VAp6dS1WTnZpeCNndmpSaz45NWNiRC1QQW0mYmspSUtCS1lhdj0ySlpxO3pBPVhWTmRwdzgp
NT44a1hTM2Fxa2EwbmcKemkkQlgzVUpGYFNqaTZJX2p6cG5LOU8raG0xQmU7KmYjdmhlP0lKdmct
NT4+K2NfVypASHdCRypQN3wrdW9WbD1iCnprX0xfVjN2TH1HbXk/NTQ8UW80VGtTeDxjTDRELWR4
Yk4/VDhJUkpuJkBFUkZnWGU4MWhpM1FMZy1TYl5ndEd6awp6YHlzSCVMRHtNcm48dDlWS251eSR7
KkkzbShwKms+Sm5hdnl4ITB4ZTduNUJhQHopR2xeTHZLZWIlVVRuMGE8ZG0Kek0jV080S0U8bV8l
QHY2PVA+aU9sTyMxYEd1TlorYGYleyspS3RSWiV3SUZwPjd9JSVYZkNve1ZlTjlvVkJVK0FVCnpt
P3BXfCZRZTQxMlNEZkt2RnhDNUZuQHA/OV9EPExCMFgqNU5wbU09eSUjd0xSSiU7Y0pOcUVsQ2dK
ZjlsU243eQp6UzIwLXp3YGlHeF5tZjJJJXEkb3lhdThINGBhJVh0NHQpMUoxeH18eFNIQVp8KTFw
OTlQaSF+b1k9XkZ2WllkQj4Kek0hMjBFaXJpNTtjQWA0fD9VaWdAMUtwYyt7elFJeVJJcDtLZWMk
Q3Ixe1N4UkE3MExvaGVyUklBKitHalRPcDl5CnptR3g8b2lsRTNOMTVrb0VvZl5jbEhHZUhGPEwk
PFkwY3p0aFNnaHFtTnFxYVdZRUwkVTAmTDFyUTxgYXVORWRzUQp6KCNASW1ueilnZyRaM1RrO0lR
KDBgK18/YWVnNyooPGZfTkMpSWNRcEd2MVMoRjBjTTJpc003STI9aXNQMz8yRzwKelZ6ayoxd2sw
aGc8dUh9b0E5WUlfLWw/K2V6WV5Qb0dJdzxRJjA7WWQtMjYjVyFPI0slWnJKKjtzY016VVN5VyEt
Cnp6Wn1UZForeGUzN3JZLURyeFo9QXo4Vm9GJXFNQGBPfU5Pant4azk+ZitpKCkmcjY2IWhyWmhF
LWhNUmo2Vjl0SQp6K2g+blpBaVIwZXFZQCZjYSRObFZGaCNnezU+T08mKj91aypRbWYhZTZkZjs1
X1hsZjhDVn1ATGBONyhaNml3Pi0KeldqS3F8QCh4WE8zWSpBd0pMbFE2eHo/eUBBYUEhWkAoVVh6
VXt2dHx0RDl+RHg3O1MqdEdAaTc5P2Z1azJ9V3JaCnowZzkmd3d4ZjY5en5EMkZBYlNMMkxgZ3RS
YEsqPUp5JFY9T1QxPiRRSUw4ZGdebSlePj5NPGtJckZyaS03UnNaXgp6UVBRISFAYXtGdE1lRDg9
aVFTX3pfU0NDaSFRN29pQXt1ISlWPz4rbjdNTHFDPCUjZWFHYld7OENpJWUjazIqQFAKeiNXOS07
ZjtFVnYqfStNTjV+Y0dWdWo9bCY7YGRXJHlUIVM9X2RyIWNIUGIrX0ReSWJzTDkjRWMpJS11KWNR
T3dBCnoyZ1NGem55NiVRVlh1TFAlRGchQ3dmckZQRShtcEZfP1JNSldAZHJ8a2o5WGN4UiZCaTl3
QE1xRlY1dXswWm10Zwp6YT8rWT1TfWltN055bDFUeXpoVn50SzBaYEQjTGlVPmt7S1VXTT1NazBY
Pk88S2hFJUIjSUgoWXM9fmlZQzhoekkKekpIOV5QTC1WMURXfHZPSSM2YT1eeVFha0lWWj9MYmd2
QCFEa3RoUER6ZkBTRWdtTys9MSY1PyZ7UGV1I197KFV5CnpZRDwpQ1F4XjZ4KlVUVzsoPz90TSt0
VUNHNUJsKmBoNFVrZmd8N0B4TDluM0xjfnFNeiZPOUR1KitfIz1WUU9XTwp6KmRkamprUjleYk1X
fSpUUSljcSNARTBfaSN7NHdZKno8K0okazk4Zik+Tmd7d0FBZjNpUDI+UWZIXmRSUD5fX1YKekBW
eSVwaDYjKHs4eCl6VldxMCR+V0phbz1mPUlSKEtmQH1haXo3TH0ofEp8R3o5a2c2czkhQ2wpZ0Nt
bHJaeVB8CnpVNXQ0dCpzdjtTJSolendKcFMpTW1gYEg0b3VvRiVeRXVkYXJxSGBlaFBmY3toPW83
K1V7SDRaViM8VHAzaFFacgp6cHV4a1A0M1B4a3Yxdn0waHZvaWs1NjcmYT0ldU90cnlAP2s+TjtU
dTt+d24kajZgXilAZnVOeU0jQlNLPmItVkUKelpZcFN5cUMtRlVOYnhONT9acWdpRnNZQ1JlSCty
LUdJdUw3LVF0fHhXQlM8O2hJc0FqLXNpcXUwbjZ1Xz9nbWRkCnpncl5BdWYycShqdV80RC08JCZr
Wj9NT09lR1VyeT9VQmNwN3FrLWBDJnk4fX0tRWskRGlAU3ZQb1lpSE8/UGBWewp6d1owNClxNFJQ
Q0JXazUrRmhkfUJSZGoqTTRFWFlfTWhYZTImN2xiJiFOOHBnZUA/cmE8eUp4c0smYU1FITJNZ1kK
elEjd3hkNk9eZ2h6VEY2QGoxSW5VZ1dIZHlMdX5oYlN6WVQ8dSk7JEt7fnFwdXRSUFR5ayg9Xzw/
UkA/dUBGZVBZCnpFVl9HVzVUeCNVSFZFZHNxV15RZzZJZCU+KiVvJlZIeW9GTENLU2BwSENWZ1Ji
RCNBd2szcHQ8K0YhUHp1R3tkPgp6RClkVVM2ekJldmxDc2VPTig5Z2NVTD9VZSZsey0xe0BmKWw9
Q356Vk5gIVBCMTZrSHohfF4zbSk1WWQ+QF59dUAKek1Eekc9cyQpQDFqMmZaM0gkfG5UOHxnKVdo
dnUwdj9YdTBncnNiU2JRMj9wczxwWVBiITx7NW8yNChsflF0a0I+CnpoYUdVIU5BXmJoQUdwJTdk
TkFzdk5CNmUhdmE3b0w/Zn56LSZYTD0jdzA+ez9nMHczZ2tQU2c7U0ZZPjR6S0pSbQp6VlNBeUdy
VFdlQUojUXAqKlo2TGJrUzRTWmpRMXV3VzhReUhnNUcwR1pRZklfQ0hneGVvXkxYWTNPaGUqNkh2
VmYKenRrZkNUYUx4cjBoPjF4V15LRHpeSjM0M29qKWRady00K2ZCemdOeyZLQjhxPktKTEE4eXVK
WTBwbTdCQHNaWiFkCnpOU3FpZSN0dU4kLXYzTm5tOV8/YDdgPjQ9Y0xKOFI5fihjcyN3a25LI2lx
dkFKZ1hSOFRVTztabEhkYElWNGh6Rwp6N0dCRylSZmlDUz1+YylzQGtoTUFaVU1qaTRDZT9XYllU
eXY1SnBvNDRVcFpFZUBCZVU2PzUmb3Z9O0kkO3s7IV8KekNtMEg9QEdQfU5yQyM0NElSYT1SUT1u
c2hXKUU0OVRIbnNeNm4/TjlFY0t+O2ooMm8tLWU8WjdIODBwPUd2UVc2CnppdlVHe0JPRFlmRGEz
LT5kSklqMndwNF50MUo2SDU/akRTPHlBeCRTO2Q/YCpScWh6JU4xamBJX1RzI3cwNjxXJQp6QXxJ
NmM+K0hGWk12LTR9VVNkayZNVVdhZlEoI3E5dmlodUAhWnhVTk1se3deJDxyWS1oUS1ZbE53b1hy
czJBTzsKejdASjkmRXkxRm1nPXtwMGExK2ErPTtIdmspMk9IIS11cXw+a3twTG1zIX5zNXdOc2c2
dEZ4c216YUtLWnMwbSFzCnoxUXtsWVlFKil9aD1UM21mUFdsJDY3dSh5PSFKTyFPTSo0THd4fTMx
cUJNZzBePnVRJG9vPiR0QyFoZ0QoUEc2bQp6Yyo+KyoqJXlNNVlMPGMyRz8pREgrU1YwNmtZfFNt
cUthYn1UTms7MiNwayNJaUFaWkl1K1l+UHQyYVlvSnl8clAKemNpYHhxc188ZmxUcyRHdkE+MWxy
RCspQEFlck1oTG9TaCF+dnBAT2piQ0pHcEl1Sk1ZISZsJXpeJWVrQ3tnP0ZJCnokQjRTZT4zfFhB
cyZNWFlgZVI1WGBYMi1gTTIrRVoxZD5nQjI/RklgaDwqYyM7NjYtVD9eKEJsTXY2VHNzNlE9cwp6
ZWx4YGxzeiZFIVE7KjtOZn5Wa0FDeGEzSGU/cFFyMiFmMEk+aVpHRzZLbkdzP2J9ZlJlNE9WdjRL
O1VLMTNndWoKenhNTmNQO1lMRXVgTGdiTDxwOUdVZH5DPVFtOCUtbjRZSlFEWkdJe3BYXnFtT081
eUJqdXxQZmhMQjkjKkQmaXtBCnpzSzFGTHs5cnh0VndxV1lUYTJ2JU5GME8mMFY8VTFNN01hUylA
SGhhNEo1U2UtPXhGQkFqaDk2NDFYLSNkSUcrcgp6aSg9UythS0A8YCs/JEd8b0x1KUpPQG5ESkZo
LWh0YzlUbCp2QSRDfXVee3xAemRaK3VgV3Z1OTxVd1lpd3p0Z04KemhWJj1JRUtFQUpBWjduX2gp
fmw0TkExbENLbX1UMkFGNSh0WT8xSTx6MDBUJTVWTlZeaFl9dDYkVSFTflM8cHFTCnoyOCF3KDw0
ZTVKbyF+UFlCQShkP3d7bGkzanx0I0lxIUlBUW1fVy0wQk5HUiN2UjArITlRPHpIRXJ1aih6eE1w
fQp6VVYtb1dzPUlydXBzc1RpUX0yMVhgX0ZPbER6T1czYiYxY0plfk8mVDJOTjBkX3gtO2dCVkxa
SVVYPld3Xyk3UXsKekl9NlUtYVQ1MD1afDNzd1djNjs1c1p3R1A7JWBiUTxedy1YbUBEUj1JcXtu
ZTxZfWJ5RWVTOTB6Iz1CUDkyOEheCnpfR3tPPHBpeG1AQGV8dVRLXnJ7PkdFJVBEPVBhWHhqcD88
VD9jU3NfdH16Z3dDY0lzcmdMPkR7c2tPMWBIcU97TQp6REN6dDBSb1g3dEZ8d0EpJWJGVjkpMFd2
X3pSKTNsQURDMDFxUG5RbUk1VWJOJlg7fTw7fE5EK2VAMEpPS1IpaUEKens3N2ZuQTYkSE4kZ3U0
PypJI0NGcDYybCZqKkVlbihVSWJkRFRFfjJfNVJWeClLJGdUPkd+YV91aS1fTFZqenxGCnpOVGdV
cktfQ1pZM2QwMWF4UUg8JnI+WSNWfEY/KEp1Q1A7a2hqKjtCMF8jaXpTVk83c098R0VlKCt6TTx0
QClyNgp6eVB5MlYzVWwqO3AyaTxFM149eDQyWV9NSkZUaGEwITNRbWh0NlYxfm96cTFeJFQ8dmF3
U0tlRVRNVyEpb2xhWCgKempIK05URXc0OUc0OXFuTmZ3ISF+ej82YkZ2YT45X19GO0hXQU5rNHo2
YXJyKTl0VyNrSTBGRlU+SS0zejdgdDxWCnpwVE9FJG58TX5YVVVUZFIkczstMkFRaU5COX5jbzBi
I21+MmxPNX5pbWxJO1pidWJ8ayMjNHtUeXFMUmdGWkFregp6PXJfcFN4ZTE8UUF2YFdQbUktJUBu
YFhOU3JDczxuTnBVU3QjZmx9e3lOeUEmM1hxKHR3PjA5OW09PEJWY1c5TlIKelIhfXY4NkAhJHJq
MVVhQ1MxRGl6MFk4Mn4wQVU8RXR8aHg4U0ZNWVBIRmFrcW9wVmc7WUxhRjViSzNMTkV4Q2YlCnp8
MSVhMmojaT91I3ZkMXc8JE1Rd3pweVVgZnIxYUVldTlFQ3NtMmZFd0Y0cFc1P0U5WEdQWC15OXta
clBZUyFYZAp6ZXhNJENmdUxaTCozdnh8bD91JjwoLV9CM0w3e0BuJCFDJWBJdnI0XmR4ZHArS3Ej
fFNYbGJUVTlOY3ZYPyEwNSMKem0yNHtZPGI4bmdYaHlpd1NBWE1lUiZiPmhka2shYysxYCg4KVpS
UCsyfkdmLTE7cj48VXlSckR7bjlNNCEpYDM/CnpiZ2FYakQqbCQhWmdrTTs9P0hYZFpPdyQhLWxz
YXNXVWRZPC1JVVdSZEhSXmtJQE5TUyh1eS0/fEs7KyNBQ0tfPgp6NjlGP05Xdz9rck40eWFvUmIy
SGJgdkxvd3YwPFdiUFlFSXMheCU1X1Y3aTh4I3hvMDApOE02PWVjSmNSKCk7K3sKejNxTHctNlQk
QCFPQHB0aE0+Y2J1UiVYRk5vT3BjIVlPNEYlMHJZOE1KY2JCeHgkbSNfX3BJJWlJaTQqWm4tIW1x
Cno5PWZKNHQxakR2O2xpT3RDOShoOCkpNTZqMGAtb2lhTFFNSEI3dGBRTUZLYWpRRlo7eTw5blFg
ZVJsJVQkd3ROdQp6K0BHPktMNXxFcUUxczFzRjxTWkU1KUIpRmVSUXBYcnwkcnFvS1JAdW0/Znox
V3pYcnwtSlE5NHgxd0xiPkhZSE0KemooanBiZT1iYTZIVUxtUkFyWi1XXkVxYGxybzhoNGNMP19U
Yz0qbWgmPmdVZUhaIzEjJV87b1dlO25kTkhtSCQwCnoyd1BVdC1nWnI/Jkw5dztSNVJFfEM4IzNk
UF5JJEE+S2d9RWM8dGA5QCNXVz1ueHg7OFhxTFVSPzJRTmR3OXB9bwp6XlB9Tn42I2tHdXU2bTAq
aClaXyRCUjJVOV44WHExM1FAVWN5eClfJlZhb2JQcGFJNmNFPDBkdypMZU1pQj1EQygKent1MjUl
MVpNa2lOdlV1RCpecWBqRnUxcGMtNF8zWT5SZDNgT2tnWDglP3AzfFpsVFNId2dIMj84USgqcmVA
bSpVCnotYmpNMjVSJn1rV0J7OG48cFZaKFg2WT05fEdhNC1GeCQ2S3JUdzhVRkU0OW1JeHhNPyR3
YTA2OHNJS0pmaFp4Xgp6aW5gJUhheURwe0dZNGY4LTF4fEcqfTMjdkItJV94aTlpeit7UTVzSjBt
Ymg/cz0hPDckOX0oV0EodD1JIUJ6fnoKenk4bEE4RTxYUVQycSgybVombXlRMVZUJEkkez9eNkNY
V0F+ND59Sl4+bjJGald8Mitaez9ET1kkQXQlSW0lfFdmCnopKXsldT54K3ledEJtIysoc2xWZzxo
cX5TYiVoVn5BalVJYDVCfSNJMSRnM2hVQmBaZ19ARDEwM2x5S3dya0c5bgp6QDkpOTRWaFEwdHlQ
eXJGSzE4UmVpMmRqSDlITTxGZXtkc2tCN3dSZD5LYjRYfEskQ2oteTM+blYqT0BJRT8rcDEKemZj
TWgmKD9JJiRWRkNXQWBIQis3QDkqOF5pdjxwRjtaJE9qVCpkdXVfUGx1VTF9O19qbXV+TG96STdS
YXVidTxSCnpRdiNaUVM4SjNBNV5maUpfLUR0RytyV0QqYWBmR25gUzxINmlYM3FDP2AwayE4alVr
bG98ejhWS0xYbXR5P0hHRAp6Zz04eVQ+QnMrbWs5aVAqJUxvO0ZxVUd2SVJsVm0zSGg9MmMtLUxp
KEJQQXRLNHJXQHl2Kj5AMFY7M3tEOC0lY0EKeio/JGdEb3UzJSFPemBYT3NKI0VyOENvRU9LNDZm
c0JKSDB+MHpNZURicCpwa1E8TCQoejxhUGsyWHlHck5wZmM1Cnp7YDAyIWBxKiNhM2lYU04pKmst
ejtWWTVBTmZ9UWlkNCVAUW4rfnlvZUg+O1JRRm1uYz1kZ31AZ1ZTeCpqZ2pANgp6YmlGdW03UXxw
NUVyP2Zoc3tYbCtjdipwdUJ2V1JKe1A9SE1vaFR2PzJHfmNRO083SXs7UHg4c2M9aGNzRXg/fXgK
ekIzY0dNVWItZ04laUF+cSojU355dSltfkkwP1JEXyt6cGQ4Znh+e2hyMkdWPkUkO1VCO00mUjZe
Rmx8JHNwdEplCnpxZ2VRayRvXkRLRFI9T2gqQ3kpNihKYHp6RGNCQ0M2YXhqenRFdlE9MHZrX0s+
WmFEWno3T3pCekVIS2tSPFM2Kgp6SH1URFNKemx0TWwhfiNJPUdhaGpBZVRXOUE+czwhbzQ8YUZ2
QXB+a0RYRkVlN2RoNTBNRnRkRVd5Pzk2UU01PDsKekFqKXxEXj5ZUkJkWS0zUmJ+K0tzaEFZR095
YzxLYGY+JSZBWiZNMldjWFB9YW8wRUZ8UH1KZlo0dm98YDNpaGkzCnpkM3dSelolTH5CRSQpUy0q
fFgkU3tSc1BPJWl2di0mR0FnVjtpPTU/em9fUmw7aUFrbno5dSQlejk8bCt2IUFHcwp6eVM8c08z
JlVofXdHdCpkaWVGP3VEfU88ODk8cVJ7VHYzbVFPOX1WYWp+OXp2XjBaMzZSSW0qdkNHfSZwZzZI
WU8KeiZKfkhxeS1nb0RpRygtM05IKFNmak9VR0IjMDhhVSt3fEVoQHhMcWwtdGdTNDBZQzlTSjk5
U35qZ3lrPllDIXZvCnpPZ3Z4MTRTfnMpJGJoST1ZOyhXVTZhUkBzM3ZYS34yRml9NHV7cW92clJE
PlhlLTM2YTFMRX51UG1GYSVgdXZydgp6OWY5QjNYTH43ajY+PVkoKkEmSW91VlpvfXRocT1OO0xj
O1lZcGNFTTRnMmRYZkhVSVkyOUsjS0k+eik+I0BaTlIKekNePG15e00meCppUGBoPTF6Szlady0k
SHpQYj4xWkRMQ3kjO2M1UTx4ZEpiekVQNGApTmZRaVBwbTV0UUktNEZJCnpuJVF8MVUmd1Utajg3
V3JPVzQlRTJtMzM9I29LVVhnO0RjQVNidUtReGNtTXp4K21LbUEmS3ora0B1Y2FPPkohKAp6dTJR
ODRCR1JOUFFXTHIkeSRVRUdOUTtFdDU8clN7MGNsRl9BYG0oVk5SIUBGZFQkfEE2JEkoTU4pclU2
b1NGVDcKemBgejMzZTFGZEdHbG9BTEZ8SChRJjkmeTdfa0JKMHZ0T1RzPnQ/M3gqQ3o0REMmPU8k
I21jcipVQXFAU0cycC1JCnopQD9+UlExYWBIb055JF9aQXxqYmZCZ3Uxb1R3K1YrKD9mTGVTTGgo
WkA4N01nJkkxbSRJUlRXX2lUZDR7KlVoaAp6LVlxVzh6U15ga1J+fCkkQGR6QjhpKCRVKVRKM1M/
azFIej5BV00xVXdXYmpCSGtvMW1UPjspIT94QEppZX5peiEKekJ9OGAoRlZrX01PM3QwU09qSnVJ
UVY0PXJ8OXk8aCpSNDZSTHYhVXZ5fDtvO09WN2k5azhYZHdJPGw3KV8wYXxLCnpAJjdkI2lZVlhX
akNAc256NHltQm0hLUthaX5vKjxpZHZFRi09RmNhUk5iSFchNHAwP3c4a0c3JHRkJl4pb1dmSQp6
eSZFO3xJSDBkWmk2X1drdzJkaVg0YkpwRT5HY0w4JG5lcDZ5N0FwQ2ZsV0U0RzV4Q0YwUGFyQiYt
NHwpKiZqOzUKemlvdUdxSzRpenpBbHprakExUF4jQkpENDJIeWdoejtuVGRpeEJoYmJCZ1RfO3tU
QzEmNWxvKG82I0hPQHBGb2pZCno+VDNYcF4qbz4+aH5mO1dZcUstNj8xeSRNKWxfKVIrcXhQTiYz
STtROG9rdXliY3dhKVc+TXJFOTs4KjYxcns5dAp6Kn52a1hzJjhyU0A9YypCKlUhbWR0MGoyVE1D
eCt7eUlgO3NYSWwqbERnKTl+a1lRe25ldFA/QVAyXm81cEV0bFEKelYtKyE9dXNQLVVebUtwbHA3
dFoqZ2ohSmRCJFJuPzBWI3lBTWx1ZD9yeX0jVjZPRHxlY0Z5TCNMSFZOKWh7ZWY7CnorbV9UfEs+
MEhnMVowPjJCTlpWc1pifHRXMW40JDRmeExTKUBQbU5CVit4S2RFKEMhNiYtS3JyMSZ9PzA3IzUr
NAp6SiRjJlNRWHF6aXI9d0o9OzdmV1JxSis3ZDNxOXpLbz5XZUlIYzEtMmpPQlpsPzg0MjB1cFdN
diRsKGE4Wmp5aWsKelI8aUNyOComQiRQYH5iQUd5anI3e2JRV2QqQSEjSHkqSzFPPEVqTXE/fDxE
a3c1Nn52JXRaPFFXZ2RoQmxxeDkhCnpyciNTMEItJihPNWF4U3QlTmkrZEhgMCRwS21JXkFyWnJm
SiZhKm8/O0N8S01idURpbmdzcjUySG1ra1pqczd5Jgp6PTw8VihiczN7TXNTYjYkbEFzZ0JhPWY7
PjAwNSo/MyFrMz4qQ24kYjIheTZVVDsrNTVJam8hdEY3U0F5JT11QjQKek17YTJtUGRoOUBteDkx
SVc4SGAjY2g+IyNBZmoqQiU3RmNhOylHc31sVTErZ0JnM2R0MnoqPTg8blZUK19yPSQ9CnpDKylj
QHU1Sjd9dmh1ZVptfngwcjdybnNzZChSIVNZSDl+XmhuQi1RJlFIcU8jUzFOPmdrZzdeXnQ/dFZ0
WjZVZwp6SDJyKiZpdWEtOFJpYCFVI3p9KmNyOFZmVjBXKC1fNm9aJm40aW83MmdaWENCWjR3anBu
JFBsZVZ0Mk0rZUFHUikKemQkNW8+elF9cXpEU0J5ZGtFQXNCJCtPQ15UO0BDfXtya2Rgb2NpUmFj
aSFUZWNDandNeT0oNHtRKSlmbElsczV2CnplNm43JjkzeWpIQE1SMSo/VzJCJUNrPCtKIUg4Pitx
N25JYyglMFFBNVJDJlVFezgpO2B4S3ZaRmBGSCZVeGB5TAp6U3xDeSkhayR4TylHYnk3VzxMcEVP
OStFdEVMaGpXYDdCREJtMzw4bmdNRSUlXnZeUmNnOGY0SUhUPk9RTUEhSCMKemdwZGg/SXZrZyZg
fFdqSzBBVHdsKGUxNmRNVStFTGBzezdfPEZ6eDhoeSVJKXVKNT10PC16N3M1JiRZbWBtbVFfCnoh
P19UNnJlOF4hQj14S1clajB1Rmt0LTQ7JE92SVdrbGpndGZUQyRrYk8pJVdicFklPDhGMSNlbGZk
TzIxTiVMKAp6NmNPV2hOdElaITctSmR0Mj5Bb0pzI2xydzJuUnVaZWsxQXZscmZuKWZYbHJxOWhs
VjIqTCpzSCZBM195REZ9QjkKemltPjZrYUlkdm9tO0U8djVeWVo/WTQmekUlOT5OS2czRXF7cmIq
LW9nWEByLWhvIW1UZGkhaiVwN2Iwfjd1NnVrCnpaQD4+MHZvPi1Aej4mI3tgK3s/VWwtdzRzMWlS
alYteUZeNTAlRzwlSUxPKVVfZ3FPMm5hIXkrQGpYXnQwKnt1cAp6ZSgrJlBQJXYpSm9ARHhKYDFK
VW1BdVk2M2ZleztBVShNOTJROXwwMWArIU1IdTtXYDducnRjYmtpWS0jWElqVm0Kej45d2JPZUZz
eFo2QnhpelNASmQ9bkZ8NWpgc1MlKSoxJHNkSzhVRm0wRVNzZ0Z3eXJPcGx4bmllQks5ND1yXzxS
CnpoVTdoN0hZM1h2S0REMGRUfGM8fTcwPmdyPTVzX3x5MVJabHloWHhjU2RtNn0pazdoeCpZPE5e
cklUZGU3aEh+Pwp6MDB2cjk3bUFySjJoflFwOE0qN3ZSa35GMG9TbmcyPWBpSWlHdVVKdSlPVm1j
cmBSemt3TFRJK2RwIXc2QjxYJV4KenRDV3skdEVAKCM7OVk4PHVoY1RvUmA/Jl4wM31+e2FiYiU0
cHtJRWhGQ3QkS2F6UWphakFJMDRDRT0yTDZPUDZQCnpAKGx0P2FRZyNiSDtRYUdVLSZMPnQ1JHZZ
LXUjSH4kXkUmajYzcyg+JnpGKjFaMUxKdVlSSFZAbSlkbXFpSDk+ZQp6ej8xT0ZkYWV4PGxTaDhp
Rj8jclF1KSZMO2AqN2VRKEpYIX1nVGg2bjNFRX0kVmpGNzJTb1RnSyVAcXtiPmd7PmYKeiVMSlor
ej9SWjxeS2g9PmhNJHxEbzZ1OCk8PnZ1Rig3MSFnIWlUK3B3X3wkPnclQ1g/aVEpVHs7fj5ETSlN
NU0kCnpPezNJOHEpQFR6PEM0PD9JMzBlfnstQktDKUkyI1dAI2k/TWl5X3MtV357Ylg+PFpmaWxD
PXBwVXZ8PHNjK3lXewp6blQ/eDIwRSR6Tk1WNkA4eTIzfEhtazM3Jnp9QGZ4NVZ5a35uJFBaUTdE
fTJ9WDlhQm5uY3JAeXk5MTRNamp+Tk4KemF2eHFYXkJPVSRze0hsI3g7d31eYGs0SmR3eys/dUNl
dX1MNlViJXVpa2AhYzEqIytQPlRMZSt3PkBfZVd4fkFoCno2JGl5ST9idXdfdXImc1YlcTA9M3Zj
NjEtdUQhNG91MlBTdEhlIWUjVHE4eXNsR0UobyVhJkxAR0NwajNkaGZIRQp6a2xXTDQrdjFBZzQ/
WmglS25uYkZ4TFVkIXthV35eU0QwWTNReTFNOSpnWERWaWdDWFkpRDlmWmduPHRVUU96Z1AKeiRw
RFl3KzApQDhAYnJBcGBgVmx5QWB6ZHpYO3hsJihXI09UbzYjTVYrKml2TlZQI34xRiMxN1EmdE9R
TGwxO0lwCno2Rnl1S0RrV2QzcVJGND9tVVNrNWdwOyQ7O19JOX5HIWxIaTxBTF45ZTZpSSpGSkBt
N3pKSTxwXm1LfCtRVUNpaAp6Vn5ITH1ZVU0jb1o8Xlo7ezg2LTRiRnAmb05qaXJHWjVIJmAkUEU5
NT98WXZgMGVRKG4hTnsqQTw7OWs3eVUtX3wKelIzIUdxK3RQNHs/Q3NKQFBxaWdOQjE/Z3h6e1pP
PCQ9cW9II0Ezdio+YDArVis4OWJwKDZaKCRIbjhMNV9YdEtMCnpeOXtXa2BoITY4PGxjUE9Ib3RG
IzwrYjV5YUxIaXRNdDkmJnpKPntAajJ3bHxZRzB9RjI4JUthejVJOTFDQ0pBUgp6dntXe09vX28y
VVdIYUw5KnomMio+YHF+YEsyWTVETHkmJGBWZDhnSWF8WT00NT5EK0NgbTBUeEc3VDRzdz89JGIK
ektQRnZ7am9nP3B5ZUFic0VMRlZRXm05YTJIPSNZMGJhZEpMR25iT3YjP29ZK1BOY2hxN0A/QlN5
OHdmbGd6THFoCnoxRDJRfjdtPkJhS2M1PHJxJFF7cVpQeUNOP3pRby01aTdhVjcmXkExbShBPjBH
QSpMVEZuOGtBdlJVMGk/R2tpaAp6IV43Sjs5cGApM2pAbWhBLVdRZD1td1BOaXlBKGszbkkzU247
OT5NNnZWcGM9ZTUyVW57eEY/QTVsTEk7c2hMcjIKeiF4ZTdUN0cjbmMwYytHR0hkUEg3YTgtbWVv
YCZORWs1bFcmME8qb29TTUU7YjA1Ylc7bEpQZX5kTHkzVHh9TVZYCno8P21CMmdiTj8pWH4kNjk3
Z2RYfmMmOGUjbm0qblozWXF4UzJSWkYmazxZaUNiV3R9PihgUWQ9XjthLVpKb1d9Kgp6PkkxNkZQ
R0FCUTB1Uj9GWCRpcFReYUNSek9WRXIhU1hiVEdsOFpvYj9eQGpEKVhsMU97cjgqWW4+YSRAZGxy
X0sKemohRzlTNUdDclY7MWBuWm9CU2ZXMyo9O31uRjBZdnBjUi03KCU8YFZ6NHRmeTU8VntJZnhj
biVFfXxVSFlwMVhpCnpLKndTQTBIPXo1MlkyUHJCNnFefHl8MXx2ekl+T1EpS0V2ITVnKThzVFFF
QylyU3xwfllpQ2E8R28pUUZ7YzBjYQp6SFV8ZUVsOGdVbyUrKHJlNkVJKWQmeHZUPWt4XmY2dXQ+
YEhpa0ZLZHcwdX1JKllGfG1GeDR3MihFYjF7NU5za3UKekdUJTNVe1VHcWZxNDFPRCpwNVU0S3pM
SFkxNnBTVzBWZ213RyZEMU1uODE0NHdYUEMtbEtoQDlpdmkmbXZ2KHEoCnp4RU1leHo/PGNMJj1B
ZSVUeCFNNTZKMy0oeHx9eCgzcl5iRWIwU21HYEU9MUQ8KVpCQnktYGQzdEBGRk92UlhofQp6PWpp
SGhPeSF+eT5wczF7TjBmfkxYQWFqJk5RbGhFT18oRzkpTEkmSUdwNTExbjxPMHVPPjd+KjIzLW98
VF8qNEEKemRoQSFlaTBgTDJ1blJ6cl9jO0VkcmAzKz4ye2F0R0pXZ19SdDxFJHdHJFU7JT9tWnxQ
ekVnMjxMMHxtbi1nWmYjCno8S0pANFg1QzFgX14pIV4kZjtDVWRpSndoMV5FeW5tbGMxcV9KcWxV
MUJgT2RDRX51Pio+WSVrMX1RaHVlUlhwJQp6Uz4+VjA5P3BpMHhVQ3chblZxZF9zV297dk9kKT9Q
OGd5K2c/RSsrJnRDbW88JTJTLVQ1RFojJlhpKFdoRjkkQj0Kekc1ZWhrdikhQVpJNStiNDI9JDhj
Tk5hY0kkfHFlZ00pezU5WChQMWxyNXY1KHJBfEVlSG95ZFErdmJLMUduVyRZCnpSVEpzdzxsVEJ4
WjkrMX1vTShGSSVXPFc4SD4mXyZvJitNfk52Qm42VnM5VDBLT2l9IVM/K0J2e1huV0V4cCFhdwp6
cX5iJlQ2WXtuWEh7KWB+P1dOaEMqVnRuY3c3REkrWj5uQ35vbztQTzhYVDIrP29AMDBKYVg0JUBY
WFFJc0w8LXsKenpXIUpLUzlWUl89Zzw1IWs1Nn1hMmN4OWpCantlYyEmNCFCMW1hdEFvSz98NiYo
ZStVODEwXkpuTV9ZfkJ6YyFzCnpnYGhuX0tQdX1MJUFCa3UlfndIJWV4UGUjLU9MaFQ4b3QpZEN6
LVh+YmFxOG1sdUVOe0xteCVEbiNhaTUqfUZnOAp6TGd2dEdDTGZ1TlhyTy00IWNxQ0d1WVMkPUhV
OXZXc3klejQqRHQ1Qm9+PW55NWdUdUBZRjk9Y15vaHVIdjl+JCUKekJlYTxoYlZOPy1ScmFOaldT
O1U/czQxTXxiTFVNSCtFTlMmVUN5QDArQ211fXNYV3xpdEl2TX1ga31CPUE/WWNqCnpRY2JJakUz
P25mKmJoRj5uYmlhb2Z+MmtfYislMVlHfVB+fiFvVCM2REF0JDxVIzd3QVdhcmRfbHxENmIyNnc5
MAp6bWpIU0JNR3V3VUJ1WDlUdjNlaU4rK15MND0zQ1NgIT9lKHlDcDdXQjdEOVdKJU4zRXtSfTZ4
Y2xWQmNPNkl5VU8KemJMWUdEe3JRV2ZIQnFfcT9oS2tee0dyWiF5JlMyKXkmT05uUlVPZFMpTyNk
MFRKSmxHPUVOOEBFfER5aEUhNyFkCnp7TndRaG1rNXNKK01QTTwrYEU9N01ib3h7aHlRZl84b2dp
bmpWcXNobGo9eSlIKnRzMUcwY1dgcHw0PWslK198LQp6K3U0eiM3I0l0VzlhQjUhWklza29ULTtg
Q0lTSjxDeDhIQHZKejkkfCU7e2NnSGhvT2dRP3hmN3VBXjFSWkY9PE8Kejg1dFMpUDV0eG1RJExx
JGw3fCRrXnNJbn1QbDEqcWJQM095RTc1UHJRPH1IUzw4a1F5RD0yUFVINSElTkt4I29oCnp3PHpn
fkU/KHVzYEItPWxkK0I7MjF6VkJOPzlQM2BEdiRlU2IxPypDeCFlYUkrIXRpam1OOX1DNio4bDVp
YU5lYwp6Uy0oJDYtMWtKRFdgOWYteCt4cHgwI1o5ZD0kSXB1Wm4mdSo+ZCh0NykzQmE+SktiVmZZ
fXImdV9PTGoxYj9TO1AKeig2RWxzODw8TmdtS2xyc3EoezclbWRmS1lSPjY4aDkqU3IkZlkqQEdJ
fUFzYyk3NTI9aEEmQHN7ezdjMlMzMSFVCnpLKEFDZ3dKSXwyYlU9ejBqMT5QUTFDezYpY15EYklB
aGp9UlBXNVBwJEUwSGYkSWkwNXshQFchIVh2NDVJWlpMRwp6YjFsS1Z3cHVJMj87LW9sNV9OKjRu
Y2VIS1JxYD9Hb1g3bHtxWWZYKSh0ODl3aT1YKGlYaDFiUW1nQCFnbVVjTm0KejJjTGI9UTZsSkpg
cXc+ViEwcXRGN2M0VkJAI2Z5QU8kITw1cT8oU3xCez5Ua1F7MW9gX0lre2ReTypPIWt4bW1XCno0
VUduQ3cyckpgTDB5ZSt4bXwkcCpeaHt4XkFtO0JxaHM0MHA9YFA+bG1ZN29pcFhyN2ZTWFlLKFBM
QFRFSkVNTwp6M0gkcmtlbyU2MUtiKU05O2lQc3ZzXzUxfjI4Pnh6VyNGd0U1ZHFhRT0hVmZfSDI8
NkpvMyFHTDwjX209bSZqQ3cKei1pbyNeXn5OVyNpe0h+ci05bERRLXQ+dWplNy07Q0ZtSyQwSWN9
JU94bTxvXzkoez44Q2hvaEdAYH1qdlRUOFAqCno5NVVOODNnK2BQZ349bkEwUylydzdQWUhzY0h0
dHg2RSNFTiVeWV9ORUkkTDtKK0xCOXkmcitxISl3OGY/b1plfgp6IUxtITR2QWFpNCpoJFZRTkhF
Tn5kJjF8bW03NX1kSyQwJEVrPHdTb1AmMDh6QnI4JVpCJHsqTHgtPEA5MnB0OUkKemNoZ3RWVikx
Tl9aZStoSWlZZHNCVFc5XkItNkZBUFYkOVZzK1F+Rn5oSlZPcllORjZjeVNRfEB2ZkRFQlluSU9W
CnpFJE0xX15aOSYrTnI9PGNtOHc3LTdKXiZjZVEhXl9nMXY1dmYxIy1zPEdsVHZTKylHRlBSXnRH
S3xjRHh0RG4wKwp6QF4qTHgwdVJ+ZVhYO0lsa1luRGpXTGdPQWNUQT90T2EkKkhDMGFEYldSJVpZ
TGcrRU9uUkFsNVU8d1Qwb3hTO2oKekc/cjtUNUhjZEk2P3FNcUtvKUshYkVsUUIpYnlUKSpIcis8
WHRufnkyUTVuSXdUTHxwQil3WlArc3Y8VnojVldTCno9Qy19KUN+QSozJFg9TFQ4NyRiPktqdUU1
Q2taZG5IZDU9MWEkR2Y7e2RMV1U4QGs9V1AzaX1DJj83dnBIYjAlXgp6KDB2bUExdVdIUG9BPStG
I1hsV1hUdlQ9MXJUY25qWG5nZExCZDRnWXklRUNQUFB6PXw1WmYkbz1hI2NQKEpOYDIKejRObSU1
eXtBPF52YiorXkxxPl99O3lqRUtuZ2kjRTlzVjZvI2VTNlZYYnxUNjtMSEBKXmprUEJeNz8hSCVm
QjhZCnpJZzBKdi00YiZjK2tZO0dPclF5Sil6Mi0lQ2BDfHUkcUI+MTF5elQ4LV5hT1QtfVJ5NFJG
KGRQVmEmfXpBfmFyJgp6UWNoOV5iKnRwSnAhLUA+dGgldTU8M0pKNVpTQUNHQjkxaUVyNjg+XlRu
P1pQV2Q8UXdTSWpZIUUpMk59UFo3cjwKeiVPPVFNVXpgKX1PNGZNWHV+allNXnJlPXhnb3BUbXdl
MEVKMWVZJl9ubThxIyZNLXt1UT9iX2YkcWtGcFp9UkdFCnpuRD1oKV9AJDB3YCFsSWc9I0hOU2lw
T24mX2c1YEZ3WkNMR0psMikmVkxgdTckaEUpOEZkRGtJSHtadkw0az07ZAp6ZUhaYWxHdG59ekFN
S28/QjRXTV5sWE9rJSpkcm9RJWVIKTleOWZwZGc9fTx8bS0pSDJFa31YTk5KWXQ9VFMoKVEKeiY0
KDRgWUhVPkBQa1NHVmFLNyo0aipsb05obTgrMm5JKyYtP15xc2NfS358aUpZM1RvVSY7T2ppU14+
WlpkTWJSCnpzcUFBNEc3QT5VKXQzIVJOVXYjZGxZMztteHokQklYTzE4dzVVaEhORnpwUF9DTjBh
VXAofXFTJSZMY2VHcHVNbwp6WGROUXhSZEJ2KnFCcUQqRjBPOHdvRUR0ODxOfU09Zzl4PWVePzU4
X3MyXzckRGM4OTc5WGdgP1VBZUo2dnZfeSgKekltNSpEM0BSSkshcGh6diF0JVI7OXwoKVcxUEJr
eUw5MWZSRkVpLVBEKlhWYl5OMjZvQHNZZXQzfSY3THFuQmIpCnpQfGNjYj54fjdTLTwpbG55MV5C
N1I4OEJqMzQ0Tk8pRWEoaW5waDRnIyQybmtXfTNUfmtWJVVoeFN5VngtfCtsaQp6OCZ2e2Q3cH5K
SGNGbEdwP3A5R3ItbERhOFlFMTd7YzI5ZCFVKzxNZmdaMVltdW1lK0A4X2Ylaik8cXNOSjtoOzcK
ei1Idj5iQilgJWtifEU5aSs2Uj1vYFJqNSgtJXkteiQ/KWRsam4+ITxePTB+clRkZV45cyk7NzFS
PVFKe1VJZT41Cno0bmpGZj9DfCg3NVM9VTYlMHFFKHYobGZpTWxnI2ZReHUkZkI8UlhvNSsjYnIh
ZiRIRChsSHZsekREQEduPVQ1JAp6Y0A9OE9nLVIoP1R1NUFWaG5TRy1RcFRfTF5qczstMyVVc0p4
eHZqTTdAbjZ0ckU8c2xtSEhKN3cqLXlGYT5tJkgKem0zYDswcUk2cWRPJEU3JmsqbnJUaV5tR2VC
PCNGWkByaW5BS1lUZ0NhPXJKOFJlcDU3RHNLMWYtUX1ndkY/PF5nCnpZa2hDPDV3UW1oZjt+TTYo
citsVHA/djgtdmRGfXdBRSFsIzl2e2s4R3B4NzFlWlcqeyo8K0UpVUVrb0heWjhEJgp6UjVlLXEm
ITtGQ2hOX0koN29+UU5NKD9+ME1Vel5VWUE8RmsmTjYtMDMtZmhlUWI9NWdiMXQ0UEdITjVAb3sq
YisKejR5YWFiPyNEK2UmWkJMYUopSnR4e0FDVkhvZnxUSWFvemcrMGo/SUZkeCpXa2hAUWw1VCZH
V1VPciFnXj9GJk9tCnpVeUVyKEJSP0w7UGtQIzhfO0F4Z21RZGptcjFadWlQUEhxWnIpa2FLMWo+
QiMqNXpQbjJzJVhQKylRNV9Vc3E9Zwp6PnFZfUx6VTVEJjA2fE4rIzdDRGwkU1o4Rl91KV9hNV4h
QkprfXJSZ2JXanF+RWBHbHclbS0oJHBSZ3QrJjxCVH4KemZ8TnQkO2hnMVpqbypPbEdhbE98WjZi
P3BMYlg/STsmSS19aWV1KnZtQSZrQm48VnQ9PUA5Tz97Z3w5KV9VbyNBCnpAYD5IaHBDJWleI1Ij
MithI3ZFYSYqQHg9RTk4LThOPncqJCg4ajhVMXJodzBsYXw2ZVFXRlBASjxlVntuQmtHeAp6LT4h
RypuS2dgVUJxJmRzS2wqZ0kpeiUlJkFBWmZ7ITFWRFFhPTc0UCNpSWx4c0xZKHRyVUo+WVklIVZX
b2NhT3IKejZWPzNpYz1DQ0ZIWGdjMUl6PWtKWGBKPXJtS1hZKGlRSzZUVWpCJjZlbiYzNGg8Qk18
KHRHb3YzMS1HcT0haHt0CnpXQT5QdVd4fTx0eX5WIThPcXk3fTd7WWwrVWY3XkVfS2IkZ3tCdVRr
b3g5NT93VmRrdEQ9Y1VlX1k9RFprMFRpTwp6KlI1aWBYMWs0MHZDSllIa3tWNjRpTiZBUi1POWRp
VThka0VONyVZKFRJO0VYM1hlVihvVzArLVJsT2A7TG5aKGcKenh1M3tCXmhgODIpUCFZdWJHdnI9
Snd9PHY1PTBUQ1VQVndWbHRgRm1sNSNoPkN8Vk1LI3UhajBuPWcrbjBifUU+CnpKQzI4Nm9zQDcq
SCV5djlafEt6bHZfV31paXdZaWBIeztqcCVWaE80K3E7LWw0eVRgRVgjSW9FLUVKZXJmJFphfgp6
PUVHWTwzIUZ8e3RtK25RYmJeK2w9Y1o9dSspRGpmdkZOZUxudVc7dFhIQ2FRTXppKWpxXz4zfU5+
RDE2bz9naS0Kekh+T1RNJlFMejZOXmpqV212S2JtVENtaiZ3NTBFNEByRj5QXmkmSGVvNSs+OVpW
RlRZZjdOOVlefmRhe3lFeFNICnpKRlAtP3ZxNGI3dEhfPEg+eWElJGtqcDxJK14tck1TV144P3ot
fnskZnhMUzwrK0Y7VzEjJjZ9PENOT2RSYmshVwp6YkYtazl6SmVEckVaSVJNX09ed0VSNzcyIz5E
eSNpWGJ4WHlwTlU3SF9xUSpSazN6fnJAcEV6TUEwdW82alVfSGoKekd1e3YoY2lRZSFGZHZ6PDNy
aj1zPlgrNEgxQnVpbEZMZnU/eF9TYTlyNkFxaytzOVpZa0s1JCU+dkt2MXsqPCpICnotIzNqT0Mr
OGchbXgzQWlfZnYkMENlJihec0VPail1OylvPHk3YWN5QGFkMz00XmN9Q04jdihsQC1xbnJmekto
Vgp6MW4raTMmVHBMcjk8fFIoT2l2eHJ0TVYjYz9IcWZPQ209NHVkRStzRz1gYDh2amtVKnxvS1F8
ViZpZnw0dmZ8fCEKelpGaGlza2deZilCNis2ZGRAYXYlZDs+e1khenlnJThAJG1zeVRiKHVvOUFr
bnI4VUBSJHxPUH1BM3VIVj1TT0dBCnpCdCg7O3tCTDlMPGVFUmU0ciRUP2BJIzw1TUZUYSZ7T3hO
fEw8YmtrWUlqeTxtPCVffDBUKnRVezJ6fFhSSW5AJAp6QHE+QHdhWXlXKjt0USQjQG8pQUlmSnNB
N097e3FQNUFRfUcwaGx4YkhJflZJfE4zYSk4WSRyRCRXRHwkPURoeD0KeiheclRgJSo3JmVfQUBU
VSY8K284R3RfVXR7fmtuaEEoZjIoM0I5PHQ+XjVqN3JBYi13MTNuNVcxe2tCYSpxUEIzCnpxeEpm
MFhucT8pUGxIfT1oYGs7KTdVUWpBK0dZQ1p6Xis2JXdadkROJSUjNVNYZVdjPmpmeCsxVU89ZXN6
YTBWOQp6SSE1MlNqeEVlcll4WEA4JmtmcF5wUzdJQClsd3RSNU58MF9aZWBrVXNaRlg9eV5vcCo+
e2JeZlprOU1CbEJ4cTUKek82RzU8KCMmfGwmQk5GKk83IStPX1M9NXs8THdPezt5S0hoViolbHs/
JXl8SzxObWZoe3doI2ctS2BNd3pBeyh+Cno+U04oRGYqfj1CYX13MEhyTH1wIVFWaCUpYGBmTHtq
I1gqJkwweUNnbTQreHhmQmF6WVZxZmk3bV9hZlN2UFklMwp6ZVNSKSpHd1J7b0ZxX1pVRU5ifUxe
UjFaUVNHdzxBP0g0VzhXWTlLSFBSMD89WllYcExPVSswMmJsdkBybFEkNnwKemAtQWpLTWB5X1c5
ZzB7bGFjQGE3R1VtTWleRW4yajBibXEpcFc3Snc5TyQwQ2BMdGdKbHl+SEc1dVd1OWsjdDVTCnpz
SkJaMjFse2N2RWZodmBAVCU4cUhtaE4wMjRHV2c2anNpIUZKYHFVR1F9MCY0TSFXV2ZhREZXblE3
QWZYKWFTbgp6LXBWflZ5VDEzZ3tBdjNOd0crNm5aTkR9d3R3SChrdkJKTjZ5KGomJDZaYF95eD9u
KGg/Pmtpd3VmdDZuKDB6dG0KejIje31VM3g1ZHZkTFI4amBlYGJ0NnF+QGBhJjtYfTtWayVAMT12
KnMhKDxzYG1rSSVwZFlGJSs/SzV6VE5fU15LCnpZWVpmNEZ9NGlLbmdzN254eUI4Nll5IWdYI0h8
eV5ffEwwZmZWYH50VlpHUkwwNkhqWkRsKjA5PyYpN3ZNQUw3Rgp6dnY1eG8yRTxrcm9HM0hKSFpS
MTs3Km16TSpscnZIIVJDRHxyPVlFNm1JLXc/JExiKStaQntwZDQ4RWJ1SWZlXmoKeldHK3NaZmpU
cUZyKnlqJT5tIUtHTCo1KVlpPW0pZDNYI2R3JmAwZVlUWjJGIzczI2VjbWpxJURDTHtyc2c5TGp8
Cno1endafm54cEdlJmx9MkxTeDJgQGAqYGF5WVFVfnIyOFBITkA0NH1JYXYze2drMihDVVN1Q2Ze
eV5saXplTkZlfAp6RDlBbmoxKFhsMl84OGV6cSVeSVV7Q2p1KTZ0TGNjQVRxY2o4Q1dPPjg+dX1L
OyhPVDAwSndlNCpEbylpK3g/fDcKeipZZDJKdzB3JlNXaHp7ND9KMD9xRjgqPUp7YUlPWlQ1SHdD
N2UwVShBREgrd095dCR+YWIjKmdoLVRQP0RNXj5PCnp6VFUjPikoRWxxZ3NWJDFscFRDK15MdiY7
MihrPDg8fkg9bDJlU3Jle1huUjJIN0xLV0d3dmZtKVBvOHh0aHJFawp6e1NZe0k8JH1MOFlyN3RM
QFVhRE8zYzkxWUB+YlB5ST5INVdfOE5oa3NoSkV8Vylne0NsUCg2RHVFbmtjVE9pS2UKemJTMnF9
PjNnJV5NTDIwc0diZWsoIz9HQzFLR2s0c05CUHE3SHNWOCYyUUBWN2NlKSM1MVg1a016e1NvVjgr
bG1gCnpHN2shPGErUX47Sk5yU31SMzEheElPUHk8eEUzKnpkay1LdmIxK25LKEN0Kz4mSn1xUTkh
cVNkRWAtcTtrfiVDTAp6MUc8dCNvRnVUX2I8YXlpal9oP3Q8d1QzNHY3dXhxcSEmUj54PWdOVkBB
aCFgWnBIQ1NtYlR5MytSSDtyTSpjcWcKekhTLWFxX214en1DcXAxRiFzNlMzYGQpMFQ/SyNMQHVR
WnozO0dHVXljRVJHR0NyQilQdl4jcylzVCg2Z2ZnJnBWCnprMXQqKUApQkYoQ1Zsd0w7dD1xcjZf
cTJNO1NebElMRH0zbCY+P29oN2d6Pz1LMkxyPU9LPFcmTjBJNmtNZW1HRgp6YU9CNntqfExxfSk4
UWJjJkYkX3ZGb15EZzV0ST1QUnFZPFJCNW1+TSZae0lrV0shI2N3cSsyeSRJUWJ7RkAmdysKenMq
QXhUdVBBPCs/bHhMQClERzxnRWpTOHhic2VaaEFOS2t1KF8mSWdNSEl4cEVRMy1pQSNscSU+bWNw
RVdCQEglCnpoZkleZUhPfj8jKEVefk8jKWJHcEVoTD45aVpwNTAxSVIjc2lNX2sjd1pwJl52SUxp
KEh+czctPjlAQ2g7aEU/dAp6SUVDSDcjWkVoVXxFJjspP0JMN1RabTlpKUtST0xMSXJnZjdHajxj
UlZ+WHNBdm5aVD1ufWlhRkQrVDJganR1e30KelZOYVgqQkdnJTlzcSt9KE8hXyZySDxmI3pwSGI1
O2w5TGBRVilPZ19KYH5QfDdIWjxeO1ZDZnZlVTFmPlJnUVRLCnp7SXJ+ZXZtWFRfSSZBLSpTZz90
aUpKKlpCc2NldyU8U0JicVlqflBmNzAkLXYydm9mXlBmK096PjhzKj94cD0/Jgp6anhJcjdsNmc0
Vjk/RyNOa3VMaEg0OGxhb3A7d3lsPTVxUlQmVSp0KCRLOzQ0VUBpODhpck04Pzh4X1RvUylgeXMK
ekVlI3p3UTA1fHRvMU1RcCVVZ3ZKJXlJSChYbGxSQ0V6MFJGSyFhWDA+QkdGe087KnNHT2ROTDho
NE1BKiRReStwCnpmUU57Q18kY3s/NENmbn44TllRJndmNSUyckc3e3x8SjlCRkhvRX5pRT02eT40
RSZ8TDNCU3JXX2VQWlRuPGYkSwp6OHBmMEF6NnxAUEN4UmAwQDZUXzlefklFX1d4Tigpe0FXSEIj
UjtPaU1zdWtmWms0VnBBKyNGVXFzMjF5O0slNjUKekBBRWQ3V1ImS2BvS0xkX3I4TENaTlF0MjEk
KjNPJTlyfm96bjZ+Ri1Cand8XlNeblB2a0ItWX02UEVaYjdPVkNLCnp0NDxSZUx3dlpDZFJ3TmlZ
PH5BUSpYKz1aT1Q0fENjbHNyVnczVmA5NCF6ak9XWWZJfFdCKCFPOCpCWGpKVSRBLQp6RjA9Zyl3
anM7KHZRNCU4R18+NTRBIW5nZFM/KFVjTU9TO350KEdAWGpDLUteO2ZxITQjIWJIfiV3SnVqYHNX
bDgKenZocypDRTIxYTFFNmw3ck1eeyp6ZzYwe2RNPnVTRWd7KSVJR0FwfllvIWY1Z2YldDgrYTxS
JEdneCR7KG93fGIhCno5VjB0U0V1Sk5hUTFRP2hXOE0kbiUlMmo3XktKV3spWnw1ZEdDemg9S0Jz
R0xJKSQkc2doRWpII1htaF97emdxZQp6YFlDNnp8SiRsZmhOY0o2WElILVFsXj17NjZuJG0jPURS
UEZMR1BOcSVSQGRCVXJPPjNERT1GdkxXZ0ZlQXlRWHAKemVjV359P3ckZEFzYm13a15gbz9ERXp6
JVpsSV44bGV8NCNPU0toJjl5UUpafT4zOzlGN1Rjd3V4N3pLPDgxQCtJCno5IXBELUJWSiEhc3cy
a0BrOD4lUDRIYEpydz1LIzJYZ2Q4eGdKd3AqTWZnWWlFcDxfPTVrMDwhM3dnMHZAPVZxdwp6UVFt
SlBGRm9GZHZSdzg0TnVrMFB8TGA9KCQrSWA8d3I4KlRlRH0rSns7Mm97UFh1ak9scjFPMkt4XmVe
Ozd2WjsKenY1I3RLMnRneiF5N0xfNUtiUn4lLTlKU1klNkt7QF5pIV5MTHdqbzc9UmZUfl88TlI+
I2FUNjY3U31VKXZtXiUtCnokXjFeS0Y0fklLTTRsZD9AZz4zSXcjM183Z0dhQ3gyYkRESjdOYUJx
cnZJLW5sbWlfOHtNbyhsYzB2JlA/PEw7Zgp6K3ZsNlMqVCZKKWdwZntpTE5XJHh2eCoxZVZPfjch
e3Z+I2txdj9scFFnXlAkVUVVNHYpcXx1aVkjb2Y1bjhiMXsKekdnSDVMJDY3cEVZaVpRcjFIN3Mp
ZHBHdWV3Y3dJbGRrRE5KQD1TUU4wOD5rWiYzNnoxXkkpJmpAKX42c09sQH1wCnorc3o1Uj48eXRH
RFJCKUptVlM0WSNIe2wySHg7WSN3bHxiZSVhPlF0N1Q/T3ZWQTlabnZEcXN7eExOeTRILXhJNgp6
SnxiUH5XdWxDeikrRElKZHN2ZCVUZ2d7KmdUMWVIR2d7KEBiKkR+NnheO0hnQ05QRkEleFlSPEFR
KypNTUB3dUcKejQ+PSpGWEx0NyZnRCYqdz1IYVcwQj1hZkZWM001LUMkZ3lUeEBvSllfeHpSVyhp
ISR0S1J0VVhTPmNgSzE4cTgqCnoqSXpiMmh4ZjU5ZUByPXtqM2BQR3hmTmRnZm5xMTtLTSlre3sq
XkUwX19va2wmaTVlP0w7NkYqQ2VkfUNHN0wlJgp6JXloNShSK3l+d3h+VFB3cmZ8bkZ1PCVBIVlW
Zno+b2lEcn0/Q2JIcmszUldALShHeG12RnooKm5XbDA3Z1gzflQKem9vNyNBPlg9WnwmJXo4IUx1
WDVSbz0jc2BgODtnYHl+OXl2QVgpWHgyXkRnTXppT1ZJJkN3fXVANWt2O2NlYyVNCnp2cT97NT5B
bnU1dH07fl9faFBuRWVodlFVKlBVVzBrJD4oe1M0SkdIRFJEU0E5TWs9NCZoYjk4N1F4bjZRTDI7
SQp6THF6NUc+SFFxMiRXSWI7WkBleEkyej5LSykoU2BjRzkzdjJTUnJpcV9kPWZZKE9ZVyNjUk5o
NE4zO1lrNW1nZ2kKei1uNCU/aHYpcXdERWpaKTRHU0ZCOzEmMitxaHokNztrKlF0bE5PSis4VEJH
fEBnTl9yX1VkMm5WXk1uaGUlcnN9CnpfNXcmLVFednU8MDIxTWYkXlRpZEs2cTx6ZVV8aldOMm9o
ODx6TjVIQTVVS2FZJXkjPDNGLWQqI1Ekcmp2NUVxcAp6PmVePittR19AWDdKSTAtIXFfaHBFVFIx
O09YbHpwOU9NNzVod2tjQ2JzdV53PVY/NH5laGR+Oy13cCt9V2RBJnUKeldPJlkwKkpNfUdqN0lg
O0ZXMVNhVnpDP0R8TH54ek9uOUkwaWVBSkV4amcqbU5kdEMxX0h5OCk4cjtBUWBwLU1ECnplfGgt
PmB8PllOdEt+TztUKmlyNFVgek9jbFltKDZrQXFBRmZSfSUwNHEoeytuZHR6KVMmZV8wbzVmeX1e
djF0Twp6NUZpVCkhT0slUVkwMFlwZF9DfT8pK0U/e1dpfkEqLVg4flhCP205cERUQGd1ezxCWDV4
YVNaeGM4bitySmloWUIKekxCUCloQlB6eGokQH1Nczs8QHRwdlEzMmYraVFPd0w8K3BUIzxZWW57
RGF6KkhNajtDTjlzPTVUbUtBZj82Nz0rCnplT1VeZlQ+SX02JWt1SUEzJWAwIXVJVFVSVGYlRz1E
K0c8VSNEZ3Q9ZTJnczRtY3JYUDsrfiRedUZhYDNha2x5NQp6P0B6VWpDa1RidVp2RT5EZm0za2xX
ZnoySGx6VUIpSysrYHEydHMlJHokKCMoQjdRTFZVeCV8LSNVM3MrSHN7OCoKej9Ab0FPdkYqeHtJ
UCh4JWl6cjBiazZRKj5pPnFsUTg+TjMtZXNKKkIzQX5pSXt5aklMUFNteSk5ZGdJenRWJF9ICnpD
ajs0SWphRXE9LWpiVjdULXIlOFEjRkZta3pTRTlyUEpNaHRtMTd0NG08eWFKLT0wQHdFamRAT3U7
JXkrVmVuSAp6ekw/UiotTUJQPStfaHAyNlF0cDdOKzVYQEo/QCNEdXs+ezIhKkYwMlBuS1cmc29X
QHFLWnhWY1VrV1BMK2VqYVQKejtNfWZhVEVCbWI/c1ZYfUFlJVhZeSg3Zzs8fDZBT04yK08+Q1VO
TEskTWFlfCtaJSVDZjVNe3sjOF87I1VFJjVZCnp3RWs2OXdnPjYpUHZ4XlgkbWl6bVYmdSpYZz98
NnYpMCNtWSN7bmlaKUdNejRiPkBzUnt8RFJeNyljJCFCKko8Nwp6K3J7bn5wSS1faXVoK3dlKFFL
KGhLN1BEKlc4RH5yZSpAdipAQlhyJVooUT8zO3UyWDFvaFh9fTc1ak9KOUV3VVUKej0wV0AzX3po
QFljRG5RYiMmWkU1ezR3KEJWa3BfP2RkNWpkQURmSFpwWUxae0A7Z3N8dGpaZEY4X3dKemAodjJE
CnptVkkoKCRQdkd6LSNrIT0jY043bntING89JnFlITdTRjxWTW5FKEN9c2o+QEh1ZnlyNG5eQ2FL
YmNnPFNqX1pfRQp6VWdzZ2lROyQ7Uy0yUlg2MF5TYFJMc2ErZGd7WWtjejdXJSMlaDV1fTYtRk1X
S2tnQXo0OWdINnpVM0U4Y1JsVkgKeipQfT8pYXVyc0tPTWwjNSoweHd3U303Yis8ZD9RUHJkOU1J
P15ZWHRhNWEjaW9EQilPS2JFRXpuRGB0ZGMhSVY3Cno3QCpLKHN9NiR4MVFKNEhoQXYtdSZpUVo0
RyZUZTlhQmV8aC1ZYncrenlyOEN7YV9DeHB8bHYxakQ2XyomITNrKwp6PGd0VWhfQlpkMEdZU31o
OEo8QSgjJVFWWEFWQiU5cGJIUntRbyZ4bTZGYjIjMUltaihmUkoxU2ZUbzNYME1iK2cKekRMNEl+
YHRfTCRYYStOP189QU1eUV9Dc1gmTWJxOE4qSjM2SXF1a2d3SThIVG07blkqRUFnb1BMRUJJMXFn
aC1iCnpLO0RFKipabipJaH1rbnheVW9tIT5UcHhBKDQqPX5QfXsjJiUrRmNESEcwU0JrN1hzN2Z3
VXBtPXlqbXcjR2Q5VAp6VXAxbHZESTlyOHBQJWxZIWNCeT1PVTF4R2FmNXZpQWk7S0lxTytJdyFH
YXxUIzZFczYySERjYzQ5e2hPcXwxZH0KelNYXmx0czJDeigoc2Y0ZTYjd2tIeU0jLSh7Vyg3ZEgz
TEFNak5YXmB7KFhAcTU/ajcpTEc7aD0xWURudWsxNXVCCno0ayVuSzNoWitpMEdUT3swcDc1city
T31xJl80TGAxJCZuLWZIWUJAe1BjWXhGPDxrbVQ+aDF9X3c0fSFCPnJPbAp6TS1ZJSU8ejxZe3ll
dmFCYVdPRXRMWHp9QnNDVTxZYzRYalV5ZDAmWlo2cUE/Tj96eF5qQVlWc209RUkrMHNBcS0KelA3
PzgyV2ReNH0tcH40YEZZeiZlJXtLOG8xZSh4I2FUbDFHM1JGTFZBRDRfNHg+Jl5PSUxlR31AcEte
Q1hkTFduCnpgKzthPURTZEozOykzTjgwSWFDZ1hidk1sNH14ck9Cdn01NTNJV19RMzZ5aldVP2Ff
ISE5R35HYExYYDJ5M0NvWQp6T0U9P2xFVmJOazJPdl57RCNvVGg3NHBHfmQ8MUJ5RDJQcTRTUXso
TCNHMD1kdW5+VlI3ZHhPUClOaEdwK1p2bXwKelJAWEhjM0ZfI19Iaj16ZyRgX2dxOUJMSnAmY1hp
SjBUZGh+Y3xxaVVCWCR3cEZSfFRfKTVQQ2k0TiVWd0Q1YitZCnola2JQfHorV1lTNzlrMiYxdVFj
cGQ8e2RsU18+NFl0SklsMXt5cUgtRzJ2TnVoXn5SWFBzUVRDeUkmSTkxczxpRQp6RFlwRG5aSjAq
aWBjXiN2TEI5alZzSyp5QD9KeUNzPzt6aHdAaG5gPjQyd0JJUk5vaWR6NTArWHNpJTNmKmlMXmkK
emFeby1NTWE5SUVKKy1+V0hEZTB8RXw+aFcrencwZEElJShMZStUXlohLVk3NnFCfiZEM2opWGVG
M3lCYENYPyh4CnpqQmYoQHp7SGF9QlhEaSptPjUhUVRKfnc0XzwqfWc7NGt2OWt8WGNCJlcmcGp3
OG9OR2w8O1VkSTcqP2hScXJwKgp6dFdvIzBFKUwqMzc8Mn5kYX5wKGJEbUlpNUc2dHlManxveUQy
XjtaaDY/ZGBHMVE2bWtVNiY3cTIxSWtIKnAkbDwKej93c2kySD1HKihvKnZoZ3V3Q1M7Ujt+ST44
eG5MeVZVZjd3cGl4UE9GTm1FejFWaU1icG9pVj91bHE3cmVYUGUtCnpPY0JAZ2ZBPiRCNlRCO2FB
TSQ3ZStuV1UmVS17I3MyZWBlM2lQdlV9czMzTj9YO3pXSmJWej1qKzhyZnBqM1gyegp6VSk/MFVa
M3N4PXVpPjlUcHsqNlIzOD40bz1nUWg8RTRYe2kwU3dDWWglJDlQSCpaeiE5OHg3b0RrdSM9YjdU
YjEKemhvSyFrPEtYYDlwYj5uY0xxcXFZJjUrJU5HX2NMITkpc144O00+O2A/VVVkPGNKYWpNMUp3
LSFhR0FtP25GazgtCnpWeXI0eClle1U8QGB+P1B5a3dTflJISF4ybXNBYXlBa3ppKi08YW5TSndG
WmtXR1lvO09qYWU5VTcoYXheeFNKVwp6dSZiUVYpNmxsUl50JVJDMVItcUh1enFrNF9wZHNJViYk
b0c8RWptQkp5Z0g/NEJ0K0oqVFFjZW0rOD5NT1NXTkgKenEzaTM1PndQYFVgYF4qUHt6dVQ+JV9j
UUJIMjstKUZsfmRaejVCa3VnQklxfUpkOXYmWUx9PDAkSHtyVGUwdk5hCno5aH1GRSZVKlV0Tzky
NWooOUpwOFhBUWVRJEBATkZUUShWbUNyfl9FPUlQayNDZGE9TjlfQXRfVkotc05fRWRvPQp6dzJj
di08TzY7d3ViKy1GNTx3LUNrIWh4NEgxb21wYjZEaFQ0R2l+OTJlejBqWitIZWFvTDt4JVpCbEZO
QjBubHIKej5VNXtRWmooNWkydnlyazcwYWNqVTJVdVQxP1Z1dVFNZWI2MWJncExRRn4mNUpjRm1Z
UUdUT0A9PzgkQTF3ZmBxCnpkTSlUYm9IUDdZc0x9ZWkja1QtWlBTQ3B0THw8RD1sOyhGaE90UVJe
QWEweXJDM2F+NVdEZmF8UGtKbXchREgmcgp6OGorKk4jZyVyKjZKTjhIdWs8cn4wfEctcUdsP34k
YGg5akUjKnJyKC1OdjBEeXtxSHIqN3FsNmh7Szd5Ki18YX4KendeNVUxSH01fDlDNmtUJmc/UXxK
ck16KDt6eDkyKF9AeWIjRlpDKlB1M2FpdVVvcTE7ejBvMGpvOFJPfFgtaU15CnpNfm9RTj4rOTcz
Wmx8OSppbHAkcEFwZ3l8elY+Km87dEIzPVNye0JhUmc8bXo9PTlzWSVnTzBETDhBUCkwYXF2SQp6
bkJGe3tle1N8UmV5O2xgVjAxLTVBZVVjX09OaTkxcW5HVlhSTCQpc1FFR3plYE54aUh3Sy0peVIw
d3hhWHxYRE8KemxTWC0qKXdjbFBVeiU0eFZDP3spezBQJTJtYU1Ve0AqTkspSGQrcWxkR1dRP1Bg
QDtkSGI5dnc8djdBZHkqc0NWCnpNZnc9NWlqRSpDSVNwMjkzbHJmOHhYOVYyVlNJRHlsVkAkVD4y
NjlHOVNlNnhUIVR2UXVSWUYmPjl4e2V4XmxnZwp6S2ZUb29TTThXPzBhfj93fEgjLT1vezktVUo2
JC1IKzNaVDtHfihLNShDeDgpQDlsVVZub1FsOzIybU5zM0FHeGgKemBuI3RWIWNNfDxuXm5faE8m
Q1NtPE1TZjF2UzN4PXdMcjUxfEdAaiMkN3N7ckFfPCF8PGBfYFFXYFJ3e1dIVzU3CnopaktVT2Fv
dVhLTGsrVDZ4NkB8VSs8JSFYZCVxKnNlbT9YelUxOVBZWjRBTz5wZio/Z01fbWY1eEdPRDE2TDxo
ZAp6WjYqdW9xMT9jSHpQPDtzYH1WeEZLeTUlS3heaE9yTzMoNWwlJio9I3FxfSVzUXlyfiRZcmxP
P3ZoTy1QPDc+NV4KeipMaF9mS2pUR1Jmc0JtV3MzJlJAZXk7RHZocF8/YEt9K3xvXz08UkhLVX1N
LVRwcUN4XnVDM2cyI2RBZ0Y+NjF2CnpqZUB7ZFYlMkclazkmblpmM24oRTgze0A8N2B3RmwrPWpn
dEBgdSQmPjNuTEA4SHJyJjwpcjJhVTA4N0NgOTQkJAp6eG0zdEY7akt3MEtZJSFYaGhfdWk3UF8l
TiE+Zn5ARSkxd05zfk1VeE1LfSt0ZUMlbzVWTyh5elZZWVkqZGpXMEYKem93I2QwU0NAfFMzTWFe
Ql40bXZJZSkkLWc2O2xCO0pnT31PJmtVYzBtRXVUV1R6c0ZGdDduNGQ8PDhNTDttSDAlCnp5ViQl
NzZAeUZ4dVd3LU1nc1B0RnRHS0lrQ3YpPTlkI35FQi1AeT5IKyZVV3lTfkh1JEtkZ3xvYVY4dGgw
Ujwhegp6JXckNWhsV18zajJCbSp2OGk0LUg5azk9Z1VpbEhDSmYycEBFWk5+KTBZcDxuRH5Gdzc8
O31RVjJge1cyakJOd3gKekhjSWZxR09oaUA4fW1jOVJZa3olKz07YTB3SFo2Xlp3dTNgT157YjQw
d1ZyR0R0QWpWal5geztKJihKUkQhYU9RCnplMlEkJHloNGkjWUQkeHVsYyt2NEcrNmM7K1oqLX11
MHk1MmQ1JTJmcG88Pl9fQ1dhZWJAU2MybTImfTwjITtBNAp6cngwZGMqTExkYW9JOzN1YSVDbTtO
dzt2QCthSVFNT3d2ekp1I3xBYVNNKClBRSRhMzFHR2JMYFkmI25sQW1gZGoKekQ0ZXpYdE4/Zncr
VFYlMzRJNzI7bndGdVN0P185TDZubXtMeykqOFgyJipIQUBYfFg4TWBYWnhpfjYoRDl6T3cwCno9
ZiRjN2x8N1NfUytCS216MSZUS1hiOyQ8TW1iVEBrTk5ncnpPRyl9PmwwX3lRbUBJRVI4bUNxN2Ra
cVdmQFlXbgp6dGd9XlBIMWpwcGBEMD92ZipjRS1BQ3BofTZgcG9MbUFxUFdVPndAcD8qI1Z7eUZJ
cjE+UD1yPmE2cFUkWlFiZUIKekQ+eSRSRTd4SnJBSGJUP3tDO25wbHB4NTdoYWQ8ODdDRUo+bUdq
UE9RdnpNJmdXOEQ5X3M8bWp6VmBaQyY/JEx0CnpRU1JuMExmWWAxP3NoeT43Rn5QQzU7eXEkRURQ
eEtwb0VJK3ZRMktCOVUmPzAreG5rSU9yfk1QdSVoS21LVlFnOwp6SkhAOWhgcEkxN2Y7WFFjeE1J
RUg1U3A7T3E3djhsVXZXXjhkLWIjRihkQWNJQH5rUmVPc2E1bnMmcjRRRDk/bHcKejg4Pm5XRn5E
dkhDb3QxTihwQDE1SV8oTmRZZ1l7NStjd3d+WURvSSs4WWNnY0p2YUE5R31RVTtEMzxkRyQkTjEz
CnpTVShAYiMwZz0+Pm85U1pnen4rMTJTanh7KStSYXhaNmZtWipXTyRgZntBZUchP2xEe3ljN0tD
SUN9RHZyYntHYQp6MlE+My1mM2FaRSVnSWNqc0BGKGJIZFpHezNCdUhGNmgoMyZjXkAkLW5yJkpK
c1VnKWohRDZpaEhETEw8QSkmMHgKejtQfjtvZ3MyUE9hYGx4Z3cjeFhnKSU7UilIa182dmtZJFk8
UlJ2VFp7PG41USkwNzhfWTdOc1dhPz58SGRiKlRkCnprbyFxYm4hK2pebDkzTkJvYnlFMihQdzBX
Z2BfKzFndTRzdDt1Q35keEBFJTZwRGwlYCZ5Wkx7T2R+YEJDM0MtPgp6SUwlNlN2THB+e3pTKmsm
dFpze2RqakFZNXAhSSFncnRnODY3MkU0dmJkfUtsK35WeXt2XmEjUjtnYDNucFFwM0QKelViRkgw
b21SZ31OIWRRaXc3SElrVEI7bUlEaWRGTHVzdkJ1MmomeCUoQmU4WE9uKm42OHZwK0g3c21BdW8k
ZCFCCnpIbG0wcmo+fmpNPjI5Z05tcyUyI0tobU09VEtDWHs5Y3toTnRxeFZeayFpZDY0eXJNey17
M3FYaXlkR3MyQl4qbAp6ZTRqRmNKeWpheCZePEhARllqeUhHWXg4UXJ8VUY7STleWEVgVTcxdiFg
P2pWR1AoVD53aW5tb2JJVFQtWmA9YmgKek1iMT9WY1JLbFc1M2dpQW5ifHtzXiRXU3hCcDRaOUp0
JXBzV3lxcHx7JVZlMldaK0ZTVyNjZHVERz5mNj0zVHYmCnpYeG51dnI3dTEtelZgR3BafmZXMF5y
WUtQe0dlY04mPlE9OHY9SDskPmtpfE12cDJQVkVAMUokJip4QHlxYmMpcAp6cEwpe2FjaGk4WSs9
SUklKjk3YCglaCR3UjtjS21mVkExfFFDbiVKMUdeZSFqYTYoPEtxOHBEQHF2eEs4cERPRVMKendH
SEQyYkEtNko7PFNsc0IhJTxFTH0lT15xQlRUcipiNz5sWlZkVGU0OG4wUXBoVk4kQF4lKntIIVA9
MGVwIVV2CnpWKTE0YjZGeyg7czZ9QGB2fSROWl94WmsrPnVmanRRTSpgXlI/TTJ1Q3d7M0plVlNz
QUFuSmo7dVROP0FSfTlQbwp6T2xGQWIqQl5wT1lUUCFBMW0kQWRhbWtJMEVhJD5uK25VXlNfbzt2
TWg1NTBvdWVvOG0rcjRgZUc0OEtLIWFmaXcKelAjZ2BBdHlsSXo9SiFrTFltY1RWWDcqWnAmT3JQ
NCs+ZERxSFE+UUI8az41a3oxNjBOSHdwUyU2dEk0SFAye0Z5Cnp7NEY2U0lDeURNOEQ7KCY5ZEsk
JnQxMDRJQmA1LUlIIUVhRSFPWW5TVX5eaTZycW5sX1g0NkF0RnpuKjAmYzBKPgp6M0JvOXd6K0c5
Z05YYUA4NmkyPVJAcD5aRnswPHxVQ1JtST1nKCRASllAQmBPKnwrNSNRbDtDSShzd2JCK3NNPHQK
ekh6eiMzUzlrJj9IcXx7KXFBWihsKV9kYHdjbEUtejt8KzhxTG8zcC1wI3FmQz8zTmJ+c2khcTA8
K2hPMHFzVCFOCnpufnNtVztIPSZxbldsPmBwOHMxMHZHfTBJbGYhRFc1eDQjMyk9O3FhTEIpaX4w
e1J4IXk+K3RVI096RiNmU01Ccgp6d0JXVWNkMXVLZjBiU2w1TzMzZnEyUEY/YCNsX0kpT2lLcUE7
WE5WTTdLVWt0UUtJaGtZPGRVJnAkQT9ieDRQcUYKel5oYTl5c0xBP0Qodn49N254SVNWZWk/NGo7
WHclVipKNkZRV1VOXkwxNigjNWdqVnZ7PlEzY3wrYTYxfEBKI0ckCnopfFRGWiN3MyUodSNPeW54
KEo+c1ghX3lOaz1heCZeS3xFMCN4ZDtrcXxnZDtXai17bVJARDRfczgocihXR1NlNQp6aH1hO3Vw
K2JJaz14LUs0NiNnYGZCd1NlZl8xZ1RhTmo9bitAeDZJQiZraXVQdGFRaUJ0bXQ+Vk5yfWttKnt4
dUoKeipqOSpeZTtFPT5pVXwkflRrI1RmK19ocUM/ZiY/aDVPRkUoRWdvPXI0dTZReGhmMlZ4M29E
Z0FAaVI+WjgyWE9xCnpFKFpGRXR9eT5ARmlyMHt5VCRDbSZLbWVXJHp0c1deeGhlYER7XnA8cntv
dkIodm5LNE58RlA7bT93JiFVNShIUwp6aGZJQGppPCpQM1VkX1lSbUVMRk1TUFY/X29tNEp1P09w
SFZOaHQ8RT0/PFFIMnQ0cWdrJVNnWGZwKT5KNUFVRVgKelRtUW16dD41OUZsazZ7PUpUVn5QViMy
PmEhWnQ5RmNgK1Q8YEYmRilqbDFhU19zOWg+Yz96XlRuPkh4KF5EajN1CnpQcjErfSoxTERwJUtW
eG5VckY/bCtNcGtLQTUzQW56cUoyYkt5aGlteTxZTyhOc15USiUmSEVaNDNWb2dQV2ZvaQp6cVhW
RkcxVmBfZmAzTjFOMTl8KEhsP3Q8ZHcmNTYqbCVoVkI2V3NlaSZ9YFFMS2dQX0B0PFk+KCNGQ0JI
KVNZUzgKej1za3krQmw8T0RIVytmJnstO0V0KHl+UjBiREBBMGZzcC1IVD1eaER4Sl9weEV6UnIq
RmNjND5vX3pYIXF9ZFRrCnp0QGU4VXc7VUVuWGs4V2Mpcms8dCstIWU5Zk1nZm9kPSp7I2pGeSMz
Qml1cjJ7U28oOF9NbnleYnkme3k3OGooeQp6eFFAenBnfEBMdm1LT09YOVRMfSNUPHE+JGliZ0Nk
Qm5lNnktaD9ZKEcqVSk8OUpkJGslcE1ocTM7KF89SGBPe3oKemUzLW9qZ2RwKnhqZl5HNkJDYlRR
djUpJDZMN3Y0UXowRlEqM3wkRGBRRzFibz1PTk9PJnw8TF9qLXd1NnokNyZyCnp5T3A7c1RiOGwk
cDAxamBWPHNSO1l1fiM5P2M9Nj0yRj5JaF8oczhjYzJOQlRXcmc1ajVBa0V9cVpRemVTcWVJXgp6
XmpgezZXSz1yaV9sbmU5NUVOdU4qTXEtOSpBKkNNJChYNEIhaEJXYjlJTiFMLXdRIzY+aypMUFVa
eCF7TWgxYGEKemFKNmdVKGF5RXhePUk+VFJ4bG1wNik8cjVhbldoZE87JS1aXiZaREM4cW96MFRE
VT1laFMpLURVJWQqZWJRZytUCnpidyV9QkgxNlNnbnRRZWglX0lPJlAmcFk/U1V4eDM2eyl8UHVj
en1KWCg7dz8taEp0RUpBPEI5MWl2VkdkSVkzXwp6ZDRjQUhxJTMwZVdBPjglZjgrWiU8cjE3ZUBM
WX4wWHR7a3c5T0dEaXpTSzsrQlJOVTlYdkpRQXBXeCFpaDBKTVQKelApdyNWZCRpOHtlNlA1Q1h7
akBqYVJWK09OTHtzeDNNYTkodEgyfTZMc2R7U2AoMXp9YWFScmJqTDJ3YD1uQyg3CnpjKF5Udj5R
bTNyc247QF8mdEVDe140cmRDVSk/ViRGM2dYLUlRNHFmYz5TQXx6WXA8JmBSaGMmUGB1IVFFRE40
cwp6SzM3bDg0QVJRdkRzOEUjMWpZQm91QDFFNEthU20pI3ZCRjJifT9tJUBYQG8hJXxsOUFxNWZo
aFE/c3hlNmE0Mz0Kem1HYH5QUEw0KXtYajZ4dExDcEEpNElHR0A5U2lGKz1Kbm85dz18dCZySGN3
PFFTUSMrM2pvUDBMeUNve1o4VyUpCnpkTEk0RiNOen5qOXN9QU5KSFF0Vj0rPHY0SDs/QmdKWGsk
QGF6YGMkT3RLekpjUU0tUT17aWJIU1Q8aHpAUEJXKAp6Nk1MPV5Cc2N6JCh8bj09d31WR0Yzb2Ff
djt1IyZ2Y0haRld4cEx5IXI/JSZoQkFNcU9DSFRhaXBxYFlUT0JDTiEKekRtO1lXWkBOTFYqbGVi
NUpvfUppVzd6Sj1nKH50amRIdk93TCZTN1k8YihEcSFUR247PjZXO2UqZTBNfihjXz9SCnopOWM+
T2tONFUwVWN8dlp4QldEUUtSVFNWKUVDe1NSRH5hZSFfNU15LVplQkZSWXZUWWZ0aFN7I3hsaSND
JVdmSwp6WVFtQzAwPD5layNBOCk3WV5mPyN4R3RWZV88bTtQazZgRTZnSTRhfWZLIyRDTHZTR3dK
bns1bnt8a3NpUVV8eE4Kek5JY044T2Qjbmc7YlohQUVaSTZ0SX1FVF9peEZHWXFzI0ImPl50b35D
VEwxWllTRn5xPktpZEVoRjtTd0YwUHM8CnorS35MVispRnB3ciNXKFEoQ21GemVWP211dEMrTCM1
RSNvSkRrSVM8OUooOW5DYThqdHJkK3ZxJV47NyMySHFEXwp6a1JVdDw2UzA1cUNNTzlRYVdINE5X
b0YjPyhvS0w0dGBpYUJ3XlhvQ19wTUxYQU5gR1pCbDAhLSpOa3Z9bD8xYjUKemhhZmxuRyk8K0U8
Z3RAVHVTTzhPe1BaazF2ZTNFM1doUXFvNHZ7ck56QTxubnh6eEJwa3lxZD96IWJfXyl9S0V1CnpR
UnRDNjZ8ND4ybjs7Y0U4c0gyMHZRMXNRKmpqblp3fGoycmFBK0RhZFl8WEB5ZkgxITQ+NmpCdV4o
Ni0tMEhtKQp6JWYoK3JJSHlZSGBXNVJaPCR8MD10aUAyKURyXkMkZWxwY2tmQX1rJWlmZHVOTn0t
dF92TSlfa1QoZkRmcmRMd0sKenYwJTlqQzI5JC1zVSYwZCo4NUZuT1J1TiQyNFEqMFk1Qk9fU34t
TDJMeX0kQVc9JSlYbGFRcDVGV2FWcFlnQSRQCnpfJWhBWD03ZEx7azR7eVJMUytkZXNtKGhpcygo
Oy0xPSR7VDdTTihjS1VTaWEjLWBlPHJCMUVyLVczb0FmRDAwMgp6Q3tSYH5iR3orSWRVTjRxQDAw
cmtOQnhpcDllOTFVZEd+R1MtfiZNakY5dXBTOSZ2a1ZaVD1lbXVwTk0pXzRELUQKekxrPGFUI2My
X0liKCEzcTAlZy1aPFc5KE8oY15WRHdPK2tEUTROUmpHfEkpS2B8Qnt7aFZ5KztBdFdzRzsydyZA
CnpnI0RyKylaMF8/bikzN3UkVk91diY5a2NTal5UPk5za19QWmxGJCZITndhU3w7Km90KWc5fElD
b3piNHltQjVLcAp6QjRSUDVVd2paUy1FMHV2MyNQKmdiNDklS3E1TXtnWkpXKUgwVG0yQy1GQU01
dktiI0tIMF8qc0Y7aVgzeWZjV0UKenB4O0paYjdYdlJvU3x1O0k7a1JOX0p7LT5FSHU2O0pFdSZr
UWlTb1NHciRJKStgbSM/Y34keFR7RmNiQSN9UFI0Cno1SXVYWCY+STAqMlFtRDVpIzRPaittcWwr
O2xjS0smOUZXcTVgN1N6NXp7SmVvd1U+ZUJ8ZWxrO31KYFVMNXx8KAp6ZWJwdFp1RGtrTipDQWRh
Xk9CWTk5XkVoQCkrd29geEA/Q0RzI095OG9ePUgodj5vSSlqZW08fTE9ITxkJXQ0KSUKelJOa0VO
O1VOJTRyaVV6PHZKJXlFLWR0LXJ4X0QyTUZLNk01eXd8ZCpgQD0jUlFZOEE0P0xTMk5qRTJXR3tM
dnApCnpDUDtSPGdeeT4jYTFMd0BgWnFHMHAmfFZ+RTJhXjIld2k7ciNha18tUDB1KV9IakhVWTZV
UDNCVjIlNFghNzU7OAp6bD53bVVWJiM5Sk5zdHh1TzEyY284OGA7MWc/VEF4dGp5JiRjJio4Yytr
TFlpcTxRRnZ7UlRsSkwqIW4lNG4wS0IKeldKNGZRbz9MIUUtU35wdXdYTzJVdjY7VGx3OE5mfU9U
WHxfLVVCcUclI0pRYVA7RWtQOHVjPiM0JUJAPSUzSGhECno0bTNXYlV+YyU9JilDdm44NiYxe2lp
YXtjK2ROUD1vdl9iTWZRfDQ/KjVPNXFFaG5qMEczLSVyeVI9KjtyMWhANwp6RzRvZ3Q5USRDU2Vv
cEVlZzlGTVhYWHg4ZChvJl9STCFQJWZ5TlNCQDxzO0JOeiU1M0ZgUnRQbEE/bEsxKHZpJjwKej9x
fFkrQjlPPztLfHZlZG5sRDtOa1Y0QyFwWFJLUloyRC18eiYtPT8pdSNOOXVXMWR6c1RFPipQMGY3
MG1HSiloCnpuKDQkPEdHQCt+fEtlOHtgQCN2QjlpNG5wS28hVGxOVnMlV3kwdSZUITw0JUxIWWZK
Skh1e2EmZGFXRko8c3d1Kwp6eDs9el5gO0lRbUZrU00tcnloJHAyfSt1dEJ6STxkTnUreHlVQ2dF
fSZmaG0/Q0pZS1gmOXpHKEk3QT51MktOa1gKekdiLW03clQqaEEyX3lvVEhuZE4/c3J0b2A5M2RU
YTRsNnA+MD5UWGcxZTUkMnZuT1l1SD9TYUkoQH1QNy01RjNTCnp6ZTV7O2pfX0xOPVJ7YjZQM1JN
ZSF+ZjU/PlYqNT84IyFzWVhYVE5rQ1BaQ2hiZjlVNHN8JEY1cigjdD0/UFpWIwp6cipwO3soPSE4
UnoldEAqQVlRezNCKXthJmZmN3V6R2FNbmlvbEcjdnEmSGNvdms1OGZTNkw+M2ZjayFIQFAkZF8K
emVNNWs7TVdGRy1jN3Y+LWFRUDVnQXMpU3koSHYhUjdtKFlXe0UkN2xnOD9LNkY5V3FrNU9BO2Aj
ZU5QY05DPFN7CnpANm47ZGVtXzNGaER7JHF7XmgzdXZpNTF5JmdOVlF2al9tK1ViI0RCTVQ3Kjtt
LXk1QGsmeDV5ZHVTPENCOXhzfAp6WGh4VXkqfDFrZyV4ZmQ+LU9pYEpsPDl+P00jZnslR3hnbWIr
b0lsZHMqenZJeU1LZUt6R0N9bnxEWGVya3B3SF4Kelltby15RlUpY2tZIVIlVih0JX1CezRMfC1O
T0lNUCt5fklBX2ReMWs3RUMxRzBBN2o2dCRHJGgjK1g2fXgtZ2E2CnpCNGszTzExXkJNSDtmSDBf
VHIoQi12WUNpMTdMeUlSckhSLU9BXkxvKDhCNiVGU3pMTCQ1dm8tYlBeaWJWZXhiYwp6K2FTXzE2
Yj0wX3pYaFpUZCZTfDM1d1ZaVi1hOVlUTDAyUkBVPXU8RlN1VjFaYlZ9UmY5eWRZaHV4WV5jQWd8
I1kKemg7RWUrPSEzPiE1IURpSjdTKnlgVHBKb0FTNTFnWTQ0TmxBSDZnfFpVU1U+ZGdKcyljczRo
NiYpc0t8fEdCQFBQCno2dlkwdmRKTldIODtuUG1kUU81PHtHfCs8UlJMVkJJMjR9KWdXREhQWX0m
PUIpZSZFMChjYXNJSXwoISVNOUcxMwp6UEs8ZjZafD48WG5AeGZjandYPEBWVXYpSEYmdmkqQW05
b0NtP153NVohYmdGSipyczdeSD5+YzhZUF9EK3xTWF4KeiMhdXFIaTxzPGhMbikyXzw0P05VPEFB
WjE9PnooU1k9WEU4M3EpPU42e3tBa05mWGgwZXFzeG1GfEF5ISYtVUIrCnppVTBHWFdzQU9CVkRx
VC01fnMhZ0w4ckYlUkp1YTVJIyVEQHEzRlF5eDA1UGVBMD9MdyhoVD1zMkM9WmlKYDVoZwp6MjtH
aDFEKW1sIUJwMD16cWcrJihiNStZajYjYDYkPV9wPG0tQUktUTcqLWpjcGNRdEdwYXZraGs+Sjdl
U1p0QHAKejVFRVpxYFR3LXttUWhpelpUdSk4OWZGOTJHKVJ3aHcqZzNyXmJDektiVEAqOGx1e3kr
bDJTP3ROUH4xVXEjIUFzCnpmYEJrfHBMPX1ZejF7byRlPnZhSVM/aXA9X0ZCNXUtZlFOVz1mMG8m
eHZ1TTEyK21kaXQyMUxaTUZiP01DbCswUgp6NHdZdj0yfE4pNmpVWGFaKSpzVVBLendMIXhsOVo/
XzVTQnxJdXxwWTlPRVh4UlJFc35xR0Z6SlZeNHJCRG85XkwKejtyYyRjZGp3XilQITNJa0lnQHdD
TkRHVFp5dlJ+Rjx3JGpfa2RVTTlUJXBVRio3U0QxNDV3KW1lMlNzfnQwPDZCCnpHYjJKTCFQcjl1
PFhsSXdFOEJjU0JYNWM2KHdaJHQ2dSZ3NnBhUTdZeTwtXyMyMm9ad097c1NPPH1oV1JrKzljZQp6
KzUqX0o8Y1Zge3AkUnZJfEJzQGxpVWc9a1hpRVVPdj49ZDBOKF5FKj9rZEl5YV54anR4bHM0TUkp
QlZJYVBjI3wKenN+cz1GSHJISHNqVFJCKj5WNWZ1aVojdG1WLUVuKndlIXkpVHhSVFQwMnV3aXw5
PGEzcyg8bUNVUHlWTDYlOWshCnp1aEwtcj4tZmZmQXVneG1gfm9AM3QwZCR7YTV1d1N5I1I9T2xL
MiRXIUtQJiR3NEQtJUZMeFllaCFjPE9sc3h5fAp6TC00OXgrY20qVWFlYm42Z0Zlb1J7WF9uNTst
VDtgYSluI2RBR3pwKFR1TkZTUGVpfWUxV1pIJktWTFg5eE1LWWUKempNc2J2QEdmaTZNNCMlUShV
UDNecHZiOT5RI09Tc00qTT90Sl43MDs7KWBoMjxEemJORGs+NlYqcC18KWAlZkduCnpRd0UmRiRG
Z2BxWkpXZnhEe1c3OzY1MWwpMz9nSShrO2FFfmh4c09+Kkw7e3U5an1HVS1PeUR2MDx0Wm49NCph
VAp6d1ZoQ3x3QDElJVhuWGFPWWtINjZwNT5vdjNLdTd4KlorZyo7Zjt5VSh9SDleMXlLKSNAP0cl
UEZDMHVkQmcxNEsKejFoQng4d3M2eG5rQX1XSm80Z3tDRT9CPnYoaVZYVDJ1N1Jea2B8OCokakh5
ey1qTWV0PW4oVkdRNSMjZDlIMH1FCnpmeG5ocEBkWmRefE5uYSFzeik7YSVUU2YreUEmNV8hNDBa
Tl5SNE01PD9tWjxXKm1HXnUrcH5vMWJneUhAZm1OWAp6czJDMWApe25qdDBFUnN5QVd1MVcreD4p
UHVwfntoN2B6N2ByS1lfS2FiY3BEUl5XOXVENWIjSW1BIUhBY0EyXzwKenlifUF7Vn1kMioydUNi
OSROZ3dUaUFOc3dyMDltNFBTPUZDRjM+PEU/bHpxeHZGRkNSZHdybEQtcXp6OXteOUxnCnpWRCVp
NlB2MjdMUEQ7S25aaGV0eiVOOHkxNC0haGkwSzdQO2tfQVIqNCZTU2wwXlVvVDBRb0p7REtUZ1Vk
d0NvWQp6Y0tENnlDZEF8d21Fbjw5I25QeSp1fDBlfUE+UkdTcXI2fFp5ektKfnFGTV5GLUo2KkhZ
NGRyciF0RzZmQ0ViT1AKekUzJkRWYllQYW9NfTRtd2sqKkpXXz5gWiloPnl3Xj9wb2dmVWBzQSFg
KzN7X1Nod0kmQHgtRXQ+WExlN3hMKjRHCnpPRkVFR055S0J9Q3skOHJKc3JNMnRkdUdtJFApMFJG
XlRaJDslR1JCNWZePHpkNzBROEJHaXA1JWB9U0d5NnR8Rgp6OWFffmV0ZzNWd2xLXkhDZ2hXTGUj
dUYyNDIjTDBDJG99dlo+bWRCM2Nre3VzdmFXVX1gP3heSkombTZoV3QrLSgKekx3YTB6eldgU3ZK
dzl6YXdzJSVjVXd9RnIzY2I2dGd1ZlQqclV7dDhxPTt9Xm5KN3VgMXNSPUNGTExwZDdkNU5ECnow
SE1ENlkzb0dzPWchO1lWYD1qbS1yej59cnMoK3RYfV9AKkopb31DQi1BR1BrR1pAJGBJTDlyekYz
Zl9galY7OAp6OWBwUmktO1pPYkJ0fDgpPHUtdzZfPWY0UXNsWmRGPk4xQn07OzxWVSZ8OXNTQi1P
PlV7QFdSNSFMJE42RkEwPloKemZ1an0xbUdrSHQrKzNDa2VzVDd+YlBPOWd6N2FxX1hWLWt7Myp8
MVQ9SGc8cmN2IWxBYCNTVEZPUDhZaG52Rk0hCnpeQDhgTTwkNm9pR05mJVRAWEtBM1Y3cFBJSEtM
bHtvX148TVVuPyRudzxVUXA7RVVXIzxHSihfVzJDeENZP0tQIQp6aSF7bjlNfUtvdGZKLTJYfDhj
aFNxaWdCUk5pPlU/QmswZzM3NjE5OEFER2FyRDRGVlRvUXF4IXs3MipXP2tnJjAKejNaUT1vQWYp
OFkrYERHPE41cTFMN3NtPmsxcjBDYU43bmgyMGhtKzRYb3BxSlA4ZnwxX3kxTk5xNDw3IWZDaX03
Cnpufl5VUCpiSVZMXlRgYHwzMHdmck5TSU5NXmBDNEU2NlBuUHAwWkVoPmBMUVJGYjhmYCZvJENe
V1UyaEF7KWdgMwp6SWJyQU1sUz5IdnFoSlJBYDRjMVhGQkY8aT1LTDJjJVN7PFlLN0BaMzgyUiVG
c0VmSWN4fHBgS3tEMEYxdE03byUKemAyWHJoRkQ8aTMwSzBXYjl7VmZiaiQ2OFJLMiNoR3xHdCt2
Q0BDTDwrc2dJeHEpYmAmdTwtN0dkMVY1Z3JAQE9gCnphZUpVZEhrU3JgdGElNmYjTlRBSDx1P2pf
ZlJBRj9jeVh3WSVFdWNnSCteZysoP0M7VmMpMHN0SF5AbyYlN14ocwp6RD5QKD89U0Z+S3soc0x8
dX1eNSt6empIJmlNcztZYGA5T0c7Tz5PQTNNeDs1cSp2PVJVI2Q/KW51N2k1IUI1QGwKejxGPVFy
YHpWcG1afGdEOCYhSSQhUGQjU2IkR0l+b0VJXjArKlN+ZXRmJWxiNT4lYC1MekhGbyhtYHhTOUc0
S0UkCnp8OWhCcVpoUmtMalRPS14yO1dFX0N9Wit5citfQEwlMzw+MkZBcWN6ckdfSF9tfTRwNnZQ
T1ZETm1CZiNoQVB0Jgp6Uj90XmttamdiOUNIQTBfQk9ucUQ/dGhQV0pYe305PT19djR7SiMqQm5W
YksoMGVBNy1CQik1JShVVyN4KWBDPD4KelJaRiVWVXl2Pj9nZmN6c3YmfXlQUiUtPChLO2Zjd0JI
TjVJQjIqQz8pdl5GS2lKV0F3RTJ8Y1htQS0rWEF6TV41CnpDISU1SjRwK21GbnI7KUZtYGpkQFh7
dkspelNGX3B2Y1RUMmY3YlZwR05waCRGJjNyKEZeMzNubVAhSG5zPk8+fgp6WTE3UW5xT0U9V3kk
fW5+UHc9OFY9MmoqWGpzNWI9WiUtdGx2TV5GV0Zga0YpbGQxaVk3MTVgektubzhncmd1MTsKemMy
I28pe2FHPyMmUH1LS0I2fT43O1IpJmBOJTRWNVMzcyZ0Mklud30tekImVHcxRU9CZHFGV0VpeH1t
SkJkLUIqCnp4aWhFP147S343MC0oWmJYdDR8WFJXe3RfeEBrUUxUOHpGeDlKLUluTytifU16WCFO
PUhjeFR7ZkVpbWQkVWFtcQp6YEsoMUtBUDhnQFV5UW56TjVXe1lXPFgpYmN7RiEqPV96MTAhUncw
Qkh5OzRiaFhiRysoSD98UTxwQ3R2JFRIYzkKejhET0xSeitKRWQ3M2hwRHBjVjVnZ3U+YFlqTEEy
fjJwQWkye1UyNSVwZj9qXkBJVT9JaH1SZUV7e29NLTZsSlpNCnpfay1ZV01VMGA+TGRYYCVVbDEt
KDJSS09IVFkjRkQ8dExZMWBrJkBWVFN4ZXd6QiprSUpDTyQ8VFA4Y3QwNEFlTwp6Znt9SzUmI0R0
d254ekRnQ2pNKnlwPjZ0O0ROb0B0S0BJRDlEVDJ+NDlySHghKF5wREtLPjIxbyhpKCpsMmhzcnIK
elVjQlhrVmlIfD8yfmckZjk5RG5TT14qN0U+ZzN8M19+SjlPMC0pLUNvWn4yaUkkKExLZExYWGMy
byF2VWl7b2ghCnpBbUglO3s2PzJWb3JMTzFBZ2NXQTB6IWc0XjxtcE93VTJ3cWx3SEIyUD9eUEdP
PUJWaGVFYW0mVUgwYFghbXwxfQp6VW1eZD1BPGxIYjFQej5ZZ2tLZTVyIz52aXRmTT5qMF59NUxm
fGF5eXkxTWs/M2hFKyV1Q19saTZxZkpfUXdSSGYKejw9cGdMM3QyP0x2eCRtRSg1ay0hREhJIWkx
ZVclUzs+WXF6cylfZ1QreXZTUDF0PGdVUChTUnhxRGlQMyRtUllmCnpOQDQ9aVhvUiFvbFltQk8m
PF5NVlFGNkpGJHNpRF8qbnZ7bS1MXnpFZnRTd05lTXNLIVZ7aWZRP3A5NlFVdXM0Mgp6dENPSmA1
T197QCR4JGhOPVdFeGpTRjhtRm1PWTc7ekFBQTx1SGdCbnU5bWNeOU11czNpfVlkT2xIckU+WTl6
YlIKekpFTD9KbjAyY1FyQl9XZFdiKl4pQDcpRVomJT1AdiQ7IWhPKCpIPih1MUUhQmBBRFc2aVJJ
R3Q1Uzlse0tQdD9LCnp5VERaRmdGbSREMExXMXtHPlJndl8jR0o/V2M9OUNvfldlMG94RDswUmh+
Sy1DRGNpRD1xVT0qVFh6fH1EQlUqTgp6ZTdSIXFrfiUhPngzQ1FtNGEmYTZPTkp1aC1tX3J1WVRz
fUAoPV90ZzU7OX51MWNrYFlHQT8jaj1xazRFISNyTnEKenVmXkt4RFpxLTZ2cXVmWi1ISndXeDRp
elQ3NiVhdEdoaztsdSVwXnNZfmM2U0lgO18yd1lqWGw4JEFBMEhWcCpqCnoxYURQXlZlNUIzSjdW
eFoyKXJMZ2R0SEZIYCQwYHVqQHo7azhhcTVtczFFcD82MilQez8mbmRyZkJ4Xz1aKGNsXgp6d3Bn
QXVkMEBvWE9Lfkg9Qnl1elltVzJJQlNfI2gxNGRubTwxe1NaQFNhSihWbGReRiFOS1kmN15NK31f
eiVib20Kell5cyltdzt7U087OVBGWVg/cWVnemtqXnB1P2MtKyReeSt8WFF2bkIld156aW4jPWVv
NE99ZT5XdytaODl6LWtpCnohTmBgZkIwJjdyUEJiPWMxNn5QbW1yTGhoez9KXjl2YTl3Y0wkTl9L
byEjeiNucX4oay0yQ0J6azFQSjJIITdrZQp6KT4xNVQyO2VIdk5FZTsjc0BaM0AqU01naTF9eE5y
K1VsYUtOb0g5Vj96PFBuSWNyXkV1SSlHLVNsMUImNSVsOHwKenp0QUVjSkMhamArdG48RCMhbkxU
YWhuTEVVMClDNVJ2fHYpRWA1IXExWE5+cFNTKUR0QFpoJHtaWkttaVF+QGp1CnpmaiNnQDZjNyZo
dnVBdnZyLVFwVHd1bVV+eXkqaFdvQHJGU0VOJmIwb1dGNWMzb0tyTHpzUV97ckcyU0ZyYFJTQwp6
TzxnQXxBYEA4NF8/SWBwQTtadUVsQDdYaShpSyQ4SlB8Z2VveUt6JiF9eT5OMj1NYis0ZnQlTDgp
JU5qWXROdV8KejtJciZAU2UpJV9JeG53VjNSQTNfcWIzfn1Ic1h6TyhrOUpsdUJ+YCVBQTRZU3FA
SEotelZiaTVXdzs8WFEwZWMoCnowfmYmWCl3KjNnVjhFXihGYzwyeUBSKDB8R1lGX3FkREhQJiVv
b1FGdWI+PEp6LX40RnZMJT5EKmVGN3FgYFgqOAp6bXBBRXwtT2V+OzlDVig9K2A0NG9pbGMjcXdl
b1ckOWl0ezUrNkozOT94bl9EIXpYTiY2JF9HXyp1JFZ9XiExfj0KemFQN3VmQSFINF5JOz9LV0E0
WEB2Vi0wZk5xRGxILS1sfGMrc35VX1chfHJwZUJxZSt5QXhFMEIzakNvQCojIzIwCnp8SXcoKFZq
TTZCK19RIUo/NG0jUTZuIzMhN2ZsKHtOcS10ZmBMZEg5ZCt3YCQrWkB6b2NZSilDLX42X3FSbV5W
VQp6a2h6IWpQeU1KRWRJOXopKmNOSC1JdzF5WFh6WE5VPFolcFNTdGFIU3cyYE1+QmtvalRPcmZN
OVVUYUJhKE8rTE0KeiRze1FAdVI4a2Y0OSEoWXpndWYzXjM5KiZhTlF2e0k9aT1Maj1aUkk/Wiha
O0tJITVZV3cmPG4/bGJXRTd3M05DCnowaCYrVFNCZl9KKD9aY0tvPno/d1dUWVA9TVhAazFNRTM9
RHlIdE5AJER3Q2h4R3h2Snc1ZWN0TE9TbW9xMU8xSgp6NDF2PntIREJKaFJfRkRHZXl1PG9CJnpG
NW1sWWV7N0czUkdLNjc2aSR9emw1TGszI0BBNzdAWW1JPlRPdGZnRigKenteXiEzaSFxWloraCE+
eyZ9akJaKSRNM0goXkdZVUQoTyEjZ1F7dldwV15+NkBpJXZnRVBuWm9hQD8/LShNZHJMCnpPREEj
UXtqMHU8TEJrYV5MU0xVKVlVfmJaWUxydlF5IWI2KDg5N151Yz0kbChQalR9NSt3Qzl6U0hXVmxL
ZmU3Sgp6N2EtRFpHTVg3Rj9RO0I1OW9IQUBmdzBvK25GbSFsLUN4QmgjdGk9e2tWSmpmUCRpej1K
QGh3MSZfJjREKF5vLUEKelEtdyZ1RloqZTdCfGR8XnVUSCFzTj4pUURxKHczYUZaJVo+e1M2dmtV
JipAIz1URmM3Jm4zJHl2Sk4/TUw3Qy1pCnpzQUFwfTFWYmY7SHxxYDUlR2FOY0Jva3lESHhxajgo
M2JEPE9aOWhyPU44P2xXdjZgJWIyan1WWG9+LWpGJEw7awp6by1oc3RRXmoxemRUMWZfP2JVdCQ8
RnNHcU82PkBobXFLbFJtayU3KGdqKztgUWZFelYrWFppby1UWFlgVXc1flkKejQ1Z19FXjwqYzVk
U0hkfG09T1F9WUxAQFUpR1lURnt4MEpHXk94STdlYCEmTTJ6ZyFwMHV1ZiFSOVVeKm9iR1RRCnox
XkJjSjg5dnpnKTN0ak45KCFgfEBjLUhCVypGJGt3TDYxcF9nX2RaKGhTWiEqJlAkVSV4a347cEt0
MTkkN3N9OAp6QWQ5fCV7M1BRVW8kVl4+SXJ1Ul5sPUVMTDV+dzFgU2taRFpsd044PW9aUzNUb2tR
VEx7KVplPDhRY2UwSWxORHcKentZI2V5PFllZ1ZXUHN9WnZDbWB2OEhpcWNfNnQ8aFN9V0hzUTwr
e14qMVZTNE1ufFdyYjlnWTE2MzN2WHt4aXJrCnpQKGRkSGR2ZWorI3RwI2FVTkJVdWRyOG1NMUYr
KmdfVyZOSWtsbXVaNF8rRlAocVg+ZnUoalV6KV9uJU56dTs7OAp6T0dhR2RfMFAwZmUqeFZxciFC
aU9eem5qd0BfdVduc1VDYz5wd3NkMD1EV01MTE1NZzdEbl8kNTMpc212TThAYHcKengyZCopQGRR
N2h6clE+SXVSb1chKjRtZUNodllfVV9fTGpLeiU/a2gpbVUjT2o+TEVwT2dkITxreHwpYSolLXJ9
CnpTanR+RiljJHokdyp6ZmFSNUNEKj1tU0ZtcztIOW1iLTl+VlpGRlB7ZGRka1B5QmIjQlBPNip+
QnxPRDBARDZ5NAp6JXRGZSNuSmo+d3EySmY8cE1ZSFE7RnNaazI+R1hpYV8/IXw2fT1welRtMyQ3
WUhaQGk2SW1jMWNJczYwVjVTIXAKemg8NUYkSWxXMEMlYHFGS3U1eXlydGomcyE/WGV6bV5rWFRv
MVAtaFBOfFYwS2RxRkN7VyphSmxzRmUkflBsJihrCnpkKHBuRkV9WnU0RWxlIyNVdW9AazV8ejh3
MXBzIXstWmZDfjNXMTNiZnUoR242MXdLVj0/enAoKFB2KmhxdklZdAp6SDI8M34tdDskTFQ9KU92
aXpuI1dhRm0wNT5XQTRzZkxpRXhZWUJgeVFgUmwzWEZPMVcwYFMjeDg7N2JnZ0VEQUUKeiFOOTY+
TiQ0bH55aGpiMz9+YSg5UHBveGF3fGh3d0dgJFIyRk47ZTN6Iz8mT2pGJjdgbUtEbkQkWHNPY1NH
TzdgCnppNVBGJilRc01pP3I0NTN1fk1RdzJ5VTFxM049Z3V0aWF5aTtMPlZ9cWNCKCt6WW9qNFJE
fSFVOUEpI1p1Tys7YAp6dEBHUENGMVdKfHZUJXB6ODhhYVk+WjVeZHF5UT5RQ3Z0TiE/Z291Qkpw
ell9SUY4RVZlSW8hUjFaS1VLb2JoekQKeitvP1lHa35WaUE3YFhPcCREYT52ZkZGVEUwUjVqc1o+
REtRcU99YDlxXmNSWSRPbVM0SFU8SWRycmlBWGlHOVpmCnpadzYzWCNOWGcpRHNwS1A8Zmt6emZS
XjhPSiV9d0NiSFNfYVNhdl8hNEktKEZrXkFIPjlORTxFdUQmZ3xzQzNmOQp6UlNsZ2pVK2p6RTsh
O1dXY0BIcmEzbU59aHFpP3RoYkZVfSZVYCZLSSZSaTdqJnkrS0RYO0NYbmFnbG9kPW8te2QKem4x
LVduTU89VD1LPV5uNmJXYkI8MlVHe216MmZ8OTlra0M/bnFASGxneGAwN2lPWFJ2X21MMFJsIXN4
ZT14THdFCnpga0NvRj1qYmA1NCtnVDYmMn43Xms5VjdJZ3lVRjlwfG5TKD1HVTdWZlRKJUVCM09g
LWpEUTlhU1BSdlAwbnRpNwp6WHFtR3lPaipyPGMhZHstKS05JE1HfFQtVW1FQ2tUJkNfVFBYdlFx
QGVFfXF5MC1faW1TVSN6bV5ZZ0xTK0ljeH0KekdqRzUkOEJTaV9qNnRCKThuKWhvOFZ4dU9ORjVv
KEd5OXFAKjFHY2ZnSStaXmBuMEhLRzI4LX1Oe2F5N0BKUV5RCnpVZ2Q8JShhc1JlLVBZZ0pqPnFF
YmNnaiZfJTk/NllxcHV1THJpV2ZecE02YEVCZX5LfCQqYEQ+UUhtPz57Tz4/LQp6ck50YHdBUWM2
MGkyKnBzRFBNQ1IwOTNDaEwwNVBueyFeeCY9NGlyPCpjRyhLMXg+KVlnfFMhdmdBWjt7VEBjKWgK
ekp3anlHRDtydFE5I3JJX3hVeipaITJ6PFlUcm5Vc0xFKVFyQ2AwVHxvOzRYUmZWTnFoRmJYZ3Mz
bFBkSmg2LUdVCnpLTn5END9gREh1dDt0O1J7ZFE1T2lqeUdRdCQhQndQeTxyMXUjTVJTVylGUldC
UHdRPkFjcGNNQHBySTNkRStSRAp6ODxkSUFIKWBZO2wpd3UmbTRLcDk3dmAtdD5lQH5iKFZHaHhZ
VmlLcGp0PWVwMj9ZTlV5c3UhJUVCekAmcCNXbmQKekQjT0E9OSRESVVUPnhtJVFXTEh+QDNfWTFT
VDxZJlk8NmUkeHAoej9DNiVgJjlrfWdqM2kwVGR3ITVlIXpVYnRjCnotcClWZnVLVTV7YGJ9TTd7
cEFAeiZHTFVPQGNOZVQ4Q051ZnhHYWl5TkVIQCRBUU50Ulg4KEZteVgxK2hnbmhVJAp6S2lLYSFl
KylXeFV+WVpWbllyWiQxe0ozJCU/cV9xR249MEZGYzZ9ZF57ajFPbUtPSFRaVG8oU18wOTZ1VWt7
IUYKejVVKmF4QzFDV1VJTjBgYj4hcWwrXmFBdmVNUSZSNXB2VFJnajE0c2RYWmtUPkZOOXBMbjtZ
YTM9IWdnQzJ4cj9HCnpwZSVIeGlBVWI1Nkw5JHViRDlEd2crRXRIQ0ZsNnxvbURrP28hXzRLeyRM
ek0jM29hKEJXe0E0SjUpVX5AfTBEZQp6MCNQTW5XazdoVF5DcWBFbnVsTiNHLStTKzdUciU9eVAo
cCRreyExT2IpbHdNSzQxenN7fClnbjsqWl9XdV5KR2UKeihaKFZ3LUJQIX0kVzU8Uzh0ailYQE1i
WnRIM0d6a1BlbSthd3NBZD8wc35nTCU9K0dSPkhDfExCWnpscVQ9QEMlCnpMXjAlY1Y4ZU10TlhE
QjZjd00tKHhOfHlZKFI+RzZXOSQlXkpjVlBKel8tZkJub3YyQV9YTkArV2pUbnVAemBYaAp6UUhY
MnRAY31IQG9qbT5Gb0FSdDVgVGtWeS1eeChUWmVeb31VTmlMc0FHc2dWelpHIVhmSXVHcXowN1JA
TkdZU14KemV9WkFxY094SitpfnAoQmZJIz5acjhCb2A4Tl8yWXl5WSptPXZocD5uTUc5NmtZbVR5
SkR1Mjs3VW5NNSFMNG4xCnpwVzYkayRLP14xUHRfJn0hOFBBfj48amNSMjQoU1BOcSU/akFxVFNz
Y1A1LVFZP0glV0tHY0wqRlYoM1dsWXpyewp6eWo3NnZRcDxQOHpsfSUpbnRhaVh1VTkpPmJlP0dL
TkhYQn5nPTBJdmoocWh+Pl5mX1A8V0JSbyE9fGY/NXxqJk0KeihQcXpRNUozXiQwNTxjJTVtXiYo
MzkyTmwqTXFUSSVBRWRTelVZXjRWcmxIbXtBelBeaTdrLXpYMHoyZ2ExZXFmCnpCaWclI0VUbyom
IzdwV2olPko/b2lqNTZYXzlYRWIpeiVkbjxgNj4zUCY9TSFCKz15b0hRfnhGdS1UOFMmYS19Swp6
bmVYMD1KYjZufGVBP0IkMk9qU2ErMUhgVUMqWn5XbGlsfmZFTnlaSEJma0BQUC1UJTU8JVBfemBu
QDx+UDl2R3UKenFPVnMqUDltSjtXOzErfGluT283ajh6SmkqfWhHP2p+bUwxLT97QXpURmxMZ2J7
akJhKj5LdyRab1gwZWkyV0BYCnpkfT16SERmdDhRcXVtRGNiVnUraXVtSTVBSUtLP2F2bVVTK0VP
fkZMaFh6SlcjNDgpa0UtUTRzRUhmM0pGdThfYAp6JTMrb243SF8relk8RWMqODl8fTIoLVB7Vjko
TiN8O041OzY+UTBWc1Z2Y1MpJiliRzA8MX0jPEh5I1IoaTxSUDYKenA2Nl9jKEF1bFpHan5EU1k4
YCFoQT82QEZhc0ZgSXhHP3J+KE44dGQySz5HQmY7SHxrc0tJdXZLWk16cUolVjJDCnomN013end+
RGxHKlVUUX03cCprQlNgPCUyKypTJmhwaSF3ODk3dkpyS21DYjFBNjZRdzRLQUlFNnB8JXM0ZVIr
Rgp6dyFPVXw7Qyg2O0liISZ3I3VtUEA9LU8zKG9aN15zej9Rdjd5YC15cio7XnNQN0FCRTUrK1Mj
R0klfDtIRlMmUmAKej5UZVpmXzRAY3pHZTNrMSFifFVXe0NAa1duZzh5N0lkNCQzVSN6UV5FRGF2
cjdjNnVeWHclb3dAd2JufnR2e15YCnpoQ01tb0AhQj52YkxHI0FQVE5+Yk9zM2V2JV5DQH1IZ2pW
Jm02MzRjXlojTHg/UUN8emVwd29+M1FrKXNFSHZrMQp6PmppTnhwMnVUKWkhV00oUj9ONyRiMykp
R0Y/Vl40akBgS3YpUStZQjYrNGBUe0t3MXIrK1RtMihfMUszLVcyRXsKeik2e3pMNz50cTlraDxS
VVgobUw0dTNvI1hFJHl5VSp4ZEVLd3J9Y05Oe2smIz9NUXJ3Q0tKOUlVK2QtRkNONjdrCnppbWJf
UjRhP09tclE4R2NMdFQhN0x+R01xOUFmcD9CKEdpaFVBNUd1b3Eyaj9nbFN1SXA8MkMkJS1oR3J5
PGFuZgp6emRWT1FeK0spdkF6PVo4UCYhXyk3dFpkOXVrQEdiP2t1bWRYYiYwJk9NbD95VWhBVW1N
UXJwZ0Ywd3krSUg0Mm8KenRzPFhzPi0+MEo4bXlBQCFnKHBCVUdve2tVQGRRRCkjdik3MVJlemAj
QnxUcjt6N3hDKVl8TXtFRzdHSWckKnZ6CnpiXmgkcTx7SUpNWDQoeGdlTEMqdl9kTUN6c058ZUVp
aHJ2PVFLJjx6cSZVUVRaXj9kNFoxKGVVUCVLfXt6T3spOAp6Vz5YbURQI2Z0SE59QVpNUVUtSlRE
JVRIV3ooYX08em43JnF1TiVlNG4mQ0IqV2tQPU9xM0dLIXJ8YCh4JEd8WnoKem84e2RLQGxXPXot
RnlpQi0oS14mUUNwMWMpUSZwUjx6Qn1wOWdYTlkqV2AlOUY9KnM8bzNZYWQlZUZ6YUBiJFJXCnoz
MndCVkw/byp+PmtwP29VZWAkeGlJaW8kOyV+NWIwRW1aRFQ9JXNAJHJkK1dpengyZVd6d0w3az5m
eX40ZkZnPQp6SikqV2VIRTQyKzlxQSMlRW9UbiRnWmI7WjZ3TDJITj4qaGMySHFhUjFicmtHPlNH
WW12IXh9KTZNSG5JI3RiSksKelg+fjZ8TkdkMXJBOEVNZnNZdm9RUmFXdH0+K2QmPVp0fWxnc3FN
YmRzfkhjPD1QfDM/SiNtaGNEcSo+TFI1KjIqCnprbSZIV1BEaS11MFFxezNAPHsqSHk/Y2FEN09H
KGg7a0tsZ2QlVVV4S3ZkfFppWG56K1ZBaWBVSllAI3NESCh+cQp6aEk5UUppeHptbFdSdWthWUlu
bzRefmYtNEx3UWx5d2wjMDghOGI5SzNNOT13YT0hYGEte1E+fmFWK1EmP2JOLU4KekVXX1ArXjU/
dG5uU0RpQyNaLTxFZFV8UXQ5IUk+S24oZy0oK3U2a31oenJ+JjQ4bVlvaztwakhgQy09OzRNOWg0
CnpuJj1wNmRmdkFPc3xCZ0U7NEpDOUZpbDFZP1RlezVQMSYwPmdwZjsqKCMqdGVGU2VCNys2e0Rk
P2c3JHc3VHEpPgp6anRie2UzSXI0fUA4NFlMKUBAPWJRQ2I5dGIxSzEzNmk0P1VTOTA0ek5AS2lS
OzgwK1hfflBMe1pQKm9eRk1nOWkKemJHY0V1WC1ydD51dEQxdjkwM3VfZTckTzRjU2ZCJm95UVNe
YWJNbVl3fjlfenpXb2FSQDU8JC1ndT9fU2smQHpECnp7clpyPmdTdWJLOzRJdnVlN0xXUkpLd2sk
KWNFND5DcTEmTHhoJT5TNkklR2dRKWB6ZD9SISFpSkQwcX1nODl3KAp6Y0xAKEQqR05QelF9OyQ1
dS16Y1BKNn1yZjBeVFZfa0BGSClxTWhnVlV+fH5xejFFdStCUD4yc084c2swYXQqfjIKeiYrZXBM
X3s3USRaRGBmdjkxfTYpTEJHNV9ERGh2UDRnUWF6ZE5XOHt2T1dEQVAxWllAYFR6KE9ecFpBMCs5
R2tLCnprMTwpRlQrZjZBN1B7OChQQG5JVXAwc1NEQUFTfU1FNkZyNz1oVVYreDE4ViFgMEJBKSZm
YlEkZXpOam5APjZ8MQp6VmBLJmVKNygkcl41T0QpP1hNQCZBRDUyYjFvdUgtVjZsK2ZxeG5rezFu
PlFYNnF9a0VNKyM5d1p3SzlkNClOWUsKekVTU3hPa31YYCV5LXdjNXQ1NTBySDBocUQjWkZyb3ow
fkdYRD1gRDR5b08kaUxSaDxHekg4OEBBWUcjQXYtcmpeCnohRH4zMlhpbUYkZk44ZExgbipDOXcl
U091ZVNUSCNZNEpKWHgqPXQ7aX4lTG5MbmdqOHdaMypRY3d7Pm5xbE5YdQp6NSFARzx1aXAzZmhx
JmU3QGZwV2RoJl5uKnIkVFhHPCZgJWJIXzNhJG14Myt2RFdgTG1hJDhMdjJPYF9nMHFwaWMKem0q
dmI/bGM7ZEU7Rm07WSFQcW1kVXJZOUx7ZHYrNHtKZzIxYGBhSH1fT0JSR0EoMzZyeUVZbUo7bVBh
SVFpVFVzCno5Tk87MkMoQHRnSUpRWCpDaGtmOGFefTBjd35kVWwze0NyYGNYPlZHV1NQSGVMRkRt
OEdVM20/c1EkVGBKZVFQSAp6Snk+PHd3dCNtVTdpQzs4cmB4R2ElTjFwKnFGTTJLJDEoP0Q/RWQx
OyhUajJESl56fGNoRD56cElJLX4wJDV5dm0KemxNNDRxc2g4ZXRAQENWdEY5OWZ3OGc0O3E+aFRk
RHc5MmFBMithRT12YktmRHFYRVZ3V14qV0c2R09LMEB8SUFOCnprVmo2TDxZS3FGcSlvbz9WXnZr
VHVaXzJESERKK3dESzwramNMSUk4OE5SSDJPZzIpIVBPWUpEPXJXbj5PVWMjbwp6KE9hRSs8KXs4
bEF4Iz9pdGlWVjR3OCRYYnRNcVQ5SC0pTDZIJFNCPHpKcF8lJlNPfDdoek9LS2oweEhkMzk7WG8K
ek1wSXVVP29ARkhyNkp7NkA9SmAhJioyXyNtZzstMW84Yl8kQC1Ndk4mblA9ZzVwZ3QlJVhsMUA1
aXZ0PXt3QHQtCnpSND1PM15VNml+d1E+VUY2IylnZXBocD41RSpFdz8mLWRJPDQhcnAtcmBkdHRh
VntqTCRIT1d4JlMkeVZlWiFFKAp6elJeZlZkPCp0dV4kdzhBdUsjNVBJdXZ+KGZnejAydlk1KjAr
czRxWmNzVj56dkB8PzV5aCgwZnZvfG5BVlhqLVIKeihTVzRSZEp2czhPRk5CYGF7ZG0tey1WSXdJ
TiNWJSM8QUN5O1pjVm8xeHkpY2x+fFVCdl5EUTxEeyRCfEFScE0xCnpvO3txbzw3YiRgO1Qma0ZB
VDZ6cXU9dXVvVTZKZDdrQFFAbl5YJXVrVXBueFh0NjdAZGUoTW9+WlNJPFF7KFYqQgp6RnJRP2Vh
cXJvc3IrVkBKbiQpa0ZuUVZxVDhrSjI3QCR3MkZxMmArfTx+fDtUck51YjlqNjIkJFk+JmwlfDJE
MzQKeiZWYDs3bkRQcFh6fml3aD1FUmpJMlVOSWZMNHhDU2hGeSptMHFMRDY1eVoxXyZMTnAxb0ZJ
SnBMcnhVSzYkZEB9CnpYUVVSRGt0N0JXOWdtcnpSWWFFekU0Sj5Ge1I1KWgmODZqQlNrelJZVzF7
YyhqWSVDNU0zX3JDamE4bW9jamhHRAp6bSp0PWReMmBTKyQyKkskcXtsVTVsQEJOZ0hLXzhaLURi
MnokVmolKD80SU41NEhxKy0tYUZeXiVKRkBsaFB7VDgKekM0VkdXSHo5e1dOaCZlb3ZudUZQTzBD
KXFSZTByVHI/cDx7eFB7VXNqejF2d0YlbXIzT05ZVnNITDglJDt2fDAjCno3YUBkcztHQWIoQy13
Q1g4dl5pWT9zNTFAY0I1SWdaIzY9Z3lDaHxxWFQ+MzB8RGVlNlJKdGI3YCpwWj17UGVVZgp6cUom
JTN5RDlGb3VhVkpmJWA1ZGU1JVo2bil0XmNaS0l5fjgqSn1vRGsoPiUwJXdQMmFmU0Q/Si16LSpY
NEQreGwKej1fPGEwVn5gNXgwdFgkK3pkTWdCaVYrPmElekpodDBGSFMmMH1NcyU3aDdCTnV2RzZ7
bDZlUDZxRUFfVnFGaytKCnpiQlNKKGdqaGE3XkdUQSNEMVlEMlg1NzA8WUpzRytPKSVlPGJYUXE+
dGlMTU1MWjtgVmlNMTYzLSVSYkh2SGhBUQp6Y2tpdV5NK1Q3fVY8Zk9AKz1Gb0YkV3R5c3BrbEZw
K28tUT5oUkRtN0RfcU0rTkc3PzdlYi1sfXY/cE9RVX4rMG4KekJBRUVBM09vSWBIKSNYIWQtcigt
YVFpfXFHbV91d0I9VjJeZj54NWJ7d3l7VnVidlZwQTtRT01sOVVaZmVgSHdFCnpRb2Z9ZiUwdEZA
Z3VaKCNoREohbjZPI3NBIUd4VGRBPnt9aTRAMlBiclUzNmNUSDBOb3JfSjUxQCtrdGpVTWg3KQp6
PkhibX13a3wwcDtoc2Z9RVVUUzJ5V0FXcSUoVS05WClVb1pnP1YmRDhHPldmYV5CUSopQVl2T2R+
XkBeWHJ3bmMKenZhKWxMRDk5JU4haGR1dCVXdj84Nlk2VzR8TkxRZExsKnI4cFc8PGVGeWxqWFEo
SlZhdWU7bGlATnQhSitfc3IhCnpgUTkxbiVHeGFLPEE4aHAtJl85UUtaYiYzSERzYWFyV3lJbSpJ
dlhqdlV6N2VUOVp6aHhJZFJzNTxwMXBBUVoyJAp6TUBSKHZeeDFyR2FVYUxGbDBGTllreXtmZHk4
enBIbSQwZCVAPEQlMG9VdnA2JCZ1Q08qP2hWMDNHeGxuVDNMVGwKek5QYGlVd1FrbzcoVShiTSNI
PjNFUX08QktjK2NzQF90eW45cl49Zl51cFh2UC07MFlgMEJ3dSRtVFZvNnJgUm8oCnp1OUU7VjEk
e05rTjEoRFgtYHAoVk8/d1JjaUFoJUNMREZDYHYtRWt9Yn1rfVFpcG1hRj4/bSg8VUFWS01GSGgk
JAp6eyspa3RlOSNnKlEySnM0YDBVV3c1c0M+NmR2cEJ0V2RZMSs3LWsje29Bb314VCg/aUBQQklv
ZVlgKDdmYFk/RF8Kej59SG42JmIlKS11TlU9Qz0jOTkmZEo/aTtRJnRycChMamZmdDBNOWljZTZe
MEdlVDg9aW5JUTcldjhnRVFhOEdtCnpNeUFVdl9GIXtfelQlRFAxUncqblIqb0E8RDg3KyZ7SWVl
SEIkVWVOajZBODJVR3pSTlUxX2BJX2RqazBvaVhfPQp6O0kmVTdsaSRvYWVBJStlNVJ2K2JrZU9e
MCVLZHAtKWIyKERgO0d7bmw+WmB6dipscXg8ejgzeVlDVzlUQk01RTwKej94JUwxVl9td056SHQx
XlZHKHtybUVpaGBUY3RrMkcxY3I9Q3I2WHd4NmYrK15WRGM7Q3BrSi04ZDRXT3tfe3x3CnpSYF5P
R2IzfmU5cipSRy0mPGc7NEIlSjdhQFN6ZjVnalhfJm4/PkJrOSRlUyRvWjE3ZmFWcXFNansmMWlD
b3FiZwp6I0FYMnVWTkh9OVJHUz15QXo0TDd7UiVYWmZ7UXc3KXZrNlchNHdiPEBUYzt9UTtrNzAm
WFNGUnFUI2lJd3Y+Vz4KejR8TTFSO0lrY316JTIreiF7JXIpcCFPUmUlLW8hUGVxXlo2VlUySyUq
X25HPWFQRXljRV85JCpXZHtySiphUiNhCno1cE9SWVU1YSN9NU93bnslYHE/X2xRRipeX1RWYz5P
dGpLVUEqOUpDeEYjLXFPIzxqVFRMQy1ZZThMZ1BiNCZyVAp6Znlrc35LNUI5cVNrKWtDcU1Be1Nl
VTxjc1JJKGpEUjVtMSQmKHQ9RVFtczUoNjA4NDtWd3JRNFlpZXJoJFQjam4KekhLKmNhNmpWTXMw
MChfRGJDY3tVSyUzejYxKyhWYEZzLVRkeUZiXzRtaChPS0RFRTR6SU9PV3xYTmVNST5RdzNnCno7
eylpIWhwbCEyRSZXcHwwSkZuQHs3cW1Ke045Q3RZdUE1RjZhTz9mJVByWn5ONHViLXpXKCh7YWo7
WGYhdCsqVgp6UUheJXhrPXIqdU44XkYtdnA2NV4pJj9gXnVMSHd7R3VIVV5pPldgKXU4I2FYWVdT
PlY9bz8+b15PP3pYY01qYz4Kej41cUNVOEtmQ3VCWH15Ti1sKmM7d2FUbURkdH59QE83OyU4Km8t
JiEzdmtrI0xkTztNLXhSJlReVnRkSjh7ZCN0Cno7YXFTQTh3Um8hNHRmK0VASUFxaFJZcEEoc2c1
NlBLaWNURXlaQ1c1dUk2YitfKFdXeSNudXZGWnFXPFhNQlpMagp6dXktUnh4ZyZXRWheLU5CRmUm
bCZkTzkmbislVlklMWRXS3JKNV5ye2stZjNzdCZefDdyWD5mJnVjTUZYekh0SXwKekpzd35scmF6
cm03a0E+NFc7VWZlKShGcGtLcENuUzRWcSVjQFI3K1dNWHBEP2ZiP0piNDdtOHtranZyZyRCQWlB
CnoxQnw0SWNBYT8yaVBncSheJXlXQV5pelJ8ZzNWQGFAbmIoaXFlPmxMMG1ha0xCNU9NYXZxaWFg
NW92N29HJERpfQp6bzVTWjBhKnFzNUZzM3c8MU8hKntUbyNSSml0JW5IXyR5NVVsaTBQeT9HSDxM
ekwoKThhemFvJUNPdF5xejl6XjEKelpkb3NQZDRifD9fX0xtREdIZjQoKUJQeVVOaWdPOSszNlVG
ejRPS21sWT5JMWl1TFpNY3ZucStMKVJ6ZmtkPSR+CnolNHpFKmRoaUcmSnM8NGleYEZ6U2Y7bHM3
REJEQndeKmhsaDVGOVNxYil9Xm1EdGBpI3p4PCNxX1VjX15yRT4kPgp6K3dRJE58MH03Z2NQMWU2
UW5QYXtMVG0mJF98TzI2cShKdUFRP21rbyFIeVhhREV0RVopNGlhZiUkQ2dsYmI4PVgKemd8MDlK
cmxDYCphZVVWXytfI0swamh3RShvZFpINzh3biZvN2ZLZnNnMkk5eDwlb34pVEtyTn1oNk5YJjVX
JE5oCnpgMjlVX2ZLXihNSnY9bnw1SCtCVDYmJWcmRTNlPD92ZHQoUEdXaHlyQCp5aTA1bWBgTmxv
THFzNEZoOUw4N25tVgp6YFQ8XkZZY3Z9ITwwOCZkPFVAJkJmRnhCUitVP0UmdiV6bENnZGM8c1RM
UFlqU0JwLVAjdzxBRnBOVmRLJShsWksKekVINDNFRzNuQzlgQFN5O2JEQ2pWRGcqM1gjT35JNnFV
LTB0e2tgKG1FZT1mJmcyYGQtUkYyMnFzU292JGplLWxVCnpvV1JrYU9WSihid2hwRmFmJUpqNT93
az9fZGdpRmplVD59I1EtPE9UQDw7aUVsM2g0SyZCY0BaTDxtKHopOUcpcwp6T0pqV1RAekk3R2sm
PyZreG9QXkVkTlNndTBeI0BEc0BhXnhOP1RTaSt4cHRPaXBWa20rRik1cjNPQlJNKitpc1oKekdq
UG1jUWBeTm4tZz4hP2psTW40P1kobUhoTjQlLXlFfGo7Tk5mI3VTemxqX0RCKm00Wmo/QGM/Uks5
ZHVEeUhECnotYlptQkk5R2ApPj98JD5MJCtDa2pkPU9CdypmdzNZKDZtcDFISFVKdXlvfVYyIVA2
TXYwWFQ8dS1ZRn0jcE58NAp6XzM/WHhpODsqP0JTcjJnNnMpZ2FwXnpKMEFWPjBCWnZScV9ZYUM0
K3lVSGFsYCthdDBSZGd6M2pQZEtLMVZibHwKeiZ2dER1KUB0cCV6Y2I1Pj8rMjFxaD5KYkpLaXd4
OVBBbjczd1ktbFpQK31tQWl5NiFSJn5LZnBFQU1kQ0o2eVI9CnorV24zbi04PUp2Q0d9M1hWVjU9
VXYpVnNmayZ0PDQ7fkVseGdkeU8/XkxfSXc+fXwye0M+d1lGV1h2NlV0TDMlbAp6ZHdRXlVsZGhK
bUtaaWRRPHZlVkRAe1Fiej4tMyY+XlJFQ0deX3AwRmRNPWdybEpCO0ckPEVsJSZ2QjNFT1o1VXUK
emRWcCV5TGBoV31IcUFBWHU9XncoPHA4eE8pbSlsVGxaUz9lQmRZbERvPm4jUFRyan14SzFLPTt5
Vkx0QnZ8em5JCnpIQnJ9akZgNk9KdGBhcyFLeiZzTlNaTkV1cH00fjh4akUwP04qI3hrQTJ+bUxw
Xn1jYnFsUDwjeiYyTHdiO0p4Twp6KWNhNTY2ND04JFJFTlFvTDhRT2l0eExnY196WC1IYnpfVXdy
c0dLfE1EbXpSNEJtNTtXaEM/I3BRdEdxKjVPWm8KemZHbX4/dXZrRDwoTVFOPUF+UFlNQFFZJlIt
U3o/YUxRSDJpJVdgJVdgMVdNSnJIS3VJY29DbW08ezImayg+KCtACno0bCshbWF0eHhpSk1XaDRS
amlifC1NeW1MUn1VT1FUbC1uWGA+S2l0RTNwdzhjTDJOIW18eXQ1Pz12N31iNDt6JQp6ezRwWTtA
JFAmZ2p4SU9tN0E3dlAjPU9MdmtecSlTSGR2UklocSFRMD5ZfiVienwpZEdWeVdOdD53bVdBQChy
KigKekxFNWQ+Kjs9R25OVUEpPkhSWiRITWBUcWx0YjhTJjVBN3BUPlgkU3RsZXtoRzV6akhNPjBy
JDYqQEojPFNIcSsjCnp4bjlHaF45O2JEUm0jaVUqTElWcyljaEZpUHZYfm0md0V9UTwxaEVXOUAw
c1NXMkpSZnNVMjRzbFpKbVRVfGMmPAp6YHRDXjxPLTkreXw1RU1ucUMmSFArSWQwLVEtQDFzUHMz
IVY3bWRjXkpzSStfI1MpRjQ7YXF5PkREeTU9NS1IQTIKejIkfDZvWW8oZkA5K0c9XkYmITdYan0x
IXpxRWh5KkhEe2BmZlNWPTM5JEltcnNwST1faHkrOWBGRShFYWlWP3N2Cno4cXRrJT9OcnkqMDB5
T0xmbDlUdFJvZyhQcnBSKiZyWkZRTSV7ISN+NUZIblA2dm1xVE47JEora0xYMlpNNilOSgp6TVpe
OUBZMDcyU3BMWlBSallucGNzMDBpZSZ1UWxjbDxVNStObWFXRTFtbFpNeEluazhoK1ozKlZwRzVl
T2JOQzUKenpyVl5Wc1QzXmo/NEFfbEVOM3MhLX01VnA7TF9pJDBUN3NpU2g3NWs2fDxkaz43NiZe
aGdfM2EzaEdgezJsZHsyCnpTKGhoV2JAZTZ8IXZVUjA8fmZ3bi05JHlxRjR6Rz1sWSlFcE5DY0kq
amZkO1U9PFd0a15GZCtOYkFEZz1iU3FheAp6O3NVdm09VTheJU9yI05rcUJmbCg7ViVSY2lWX0lT
OSUjbFJlY2VSPElhMUFKbVY8OyFUVWd2KHsyQkpPVH1IbCYKekZBYmohVVMpfmMkV2p3YVoxUzQl
R1lvXjU4b0FzRGF5Zll0Rmplb2xDJSZPX2s7clgkK3Rfemt1MihaP3NLcz4oCnpZNWBMcFNhYUAp
V3BRMzs0ZTJiQiQ0c197ZEdwVk8tKT9AViFYTmYzT1RKUWlHX0k8aEFUKmNrMml3TitkZkIwOQp6
ZXBPQzB0M2c0alRgTlh0V3RBVCU2VkFgXmRSPjBHQCp+d2s8eHBtJStaTUhVUyFNM3BtKiU2dXZQ
dmU+XilEUkQKemx6WkU0U3ZzVE85UXxBJVEhKG0yU3E0YH1JRlNrfC1LY1d4MCVUVWZubC1rKyZR
czhMTVdSOFZDfCszOW5ufXh4Cno4S3M8aT5TTDdaSVYhdEQ0flRgeEg2fV8wXlFuWVJMYF87d2lE
QX53TCR7TihnWW9iKkJnQm1aO3VKRyNJODxreAp6UXxuOHdFTGVSdC1hQjN7ZWFtJkVKJmtoKl5s
Kl4qVil5R2ghanpUcmtWfmZ5YGRxUCokKTB+R2UhP2R0e3VVSGIKekBJdzUzckpeP2RRKkQ8MTI/
NkZiaU9SUlNub3xYMygyTTNHZDM+JFdyVDBFPj9SdlJ1Mj1USGJnZHZGSWJ2O0J7Cnp6aHZvKVV9
bC08MypMTDUyZUhtLU5XaU4rJmU2fEtOekQrKDY0R0JsJGtPPz8kUERLM3d5JXJFUlJ2OWl2UmZr
bgp6SGB9JkomSERXQmE9MXRsdz18NGVyNjk3QnB8SkphWkd1RDtxNkMzYTV8PEhFdEs9TiNFQG5y
I1ZfbWtTLUhIKnkKejh4czBkKz8mVyNPfClFYit1VEE+NSM1eHpYX1N3NUNva0t+NEAzKXsmPXAw
eXVRTG5hUXlpJDshOHh7MmM4Qj15Cno1MnFFWWItcGpUanFkYHdJPkVkNVJIN1J0Um4wWj9mOEZx
QUxncypWRGcyaio/JHFvSWsrdE1eXn5mcUBVZH50cwp6SjtlPXdeNW5AUS1oMmkwezUrdnwzOzE1
bmgyLWU9Nz9oTVJPfXx1d3IzclpKeHZmJWZsbHhPd3tMOEV7QVNNVGoKem80VkhJdkQwVlhEWmpz
VyhSPnZBVG9oe0JUPkl8QWRpNGQ4Wl5rYFhvWUlieiNqUG9RXil2MD9lUFg2ZkQlSzU+CnojKmF8
cih2M0haSW17blZATHdLKns+PVBIK05uYDRUTUMlZ2d7Qlc0TSU/MWshOTI7cz82WDtSNzV2X2o9
NWI7bwp6WGw0PnNkcHBIKzs4cTdTaiphUl5HYjd7d0dgZ3FgKVBmbktEOFImcFh6N2x7VVhmRiNg
QSo4YWNsZXZNLTNTflYKejR3fD1rPGZ8OU8wZXprMT8jY2h8U1pNLWJrK1FgQmNqI2ooNVB7d0A7
VyopVjNWdz57RXRyTXpwYFBVOS17b0JZCnpyXlRmUylEQSRxcT1efktGKHlUNFYqR0o8bDUwc2JB
ezdsanF2RnBofDl2MiprO3Z3RVVtSXM8aTl1JXh4aS1lTgp6b3kmfkM4USVfMFhJQCtUWWVvS1Vo
bGokXiFhPmUkejtebF5EQjxrJk1lcTJOTTY9Vj15blY1VnxBLTRqKGY+S2cKentgKUpHRnJQcHN1
ODElZ2wwXjYjVDUtJClJPnpfR147fjkkWHJXNj9udGAzWntlciU2dHhmOFU7O3xNUV8oeEloCkxA
eCRXI0NOS1VrRilVc3IKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NzczMvY2FsYy92ZXJ0aWNhbC1hbGlnbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9jc3MzL2NhbGMvdmVydGljYWwtYWxpZ24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2NDAw
NmUwZmEwZWE5OTJmZDFmZmU1MGZjZTI1NGRmMWIwMzhmYTYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jc3MzL2NhbGMvdmVydGljYWwtYWxpZ24tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNzI0IEBACitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg0NTU2CisgIFJlbmRlclZpZXcgYXQg
KDAsMCkgc2l6ZSA3ODV4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg0NTU2CisgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXg0NTU2CisgICAgUmVuZGVyQm9keSB7Qk9E
WX0gYXQgKDgsOCkgc2l6ZSA3Njl4NDU0MAorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDAp
IHNpemUgNzY5eDE4CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDM1
NXgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDM1NTogIlRoZSBzdHlsZSBk
ZWNsYXJhdGlvbnMgd2hpY2ggYXBwbHkgdG8gdGhlIHRleHQgYmVsb3cgYXJlOiIKKyAgICAgIFJl
bmRlckJsb2NrIHtQUkV9IGF0ICgwLDM0KSBzaXplIDc2OXgyNzAKKyAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNTEyeDI3MAorICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDE2MDogIlAge2ZvbnQtc2l6ZTogMTJwdDt9IgorICAgICAgICAgIHRleHQgcnVu
IGF0ICgxNjAsMCkgd2lkdGggMDogIiAiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTUpIHdp
ZHRoIDIxNjogIi5vbmUge3ZlcnRpY2FsLWFsaWduOiBzdWI7fSIKKyAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMjE2LDE1KSB3aWR0aCAwOiAiICIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzMCkg
d2lkdGggMjMyOiAiLnR3byB7dmVydGljYWwtYWxpZ246IHN1cGVyO30iCisgICAgICAgICAgdGV4
dCBydW4gYXQgKDIzMiwzMCkgd2lkdGggMDogIiAiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
NDUpIHdpZHRoIDM2ODogIi50aHJlZSB7dmVydGljYWwtYWxpZ246IHRvcDsgZm9udC1zaXplOiAx
MnB0O30iCisgICAgICAgICAgdGV4dCBydW4gYXQgKDM2OCw0NSkgd2lkdGggMDogIiAiCisgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsNjApIHdpZHRoIDQwMDogIi5mb3VyIHt2ZXJ0aWNhbC1hbGln
bjogdGV4dC10b3A7IGZvbnQtc2l6ZTogMTJwdDt9IgorICAgICAgICAgIHRleHQgcnVuIGF0ICg0
MDAsNjApIHdpZHRoIDA6ICIgIgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDc1KSB3aWR0aCAz
ODQ6ICIuZml2ZSB7dmVydGljYWwtYWxpZ246IG1pZGRsZTsgZm9udC1zaXplOiAxMnB0O30iCisg
ICAgICAgICAgdGV4dCBydW4gYXQgKDM4NCw3NSkgd2lkdGggMDogIiAiCisgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsOTApIHdpZHRoIDM3NjogIi5zaXgge3ZlcnRpY2FsLWFsaWduOiBib3R0b207
IGZvbnQtc2l6ZTogMTJwdDt9IgorICAgICAgICAgIHRleHQgcnVuIGF0ICgzNzYsOTApIHdpZHRo
IDA6ICIgIgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEwNSkgd2lkdGggNDMyOiAiLnNldmVu
IHt2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207IGZvbnQtc2l6ZTogMTJwdDt9IgorICAgICAg
ICAgIHRleHQgcnVuIGF0ICg0MzIsMTA1KSB3aWR0aCAwOiAiICIKKyAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwxMjApIHdpZHRoIDQwODogIi5laWdodCB7dmVydGljYWwtYWxpZ246IGJhc2VsaW5l
OyBmb250LXNpemU6IDEycHQ7fSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDA4LDEyMCkgd2lk
dGggMDogIiAiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTM1KSB3aWR0aCA1MTI6ICIubmlu
ZSB7dmVydGljYWwtYWxpZ246IDUwJTsgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogMTZw
eDt9IgorICAgICAgICAgIHRleHQgcnVuIGF0ICg1MTIsMTM1KSB3aWR0aCAwOiAiICIKKyAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwxNTApIHdpZHRoIDA6ICIgIgorICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDE2NSkgd2lkdGggMjI0OiAiUC5leGFtcGxlIHtmb250LXNpemU6IDE0cHQ7fSIKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMjI0LDE2NSkgd2lkdGggMDogIiAiCisgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMTgwKSB3aWR0aCAxNzY6ICJCSUcge2ZvbnQtc2l6ZTogMTZwdDt9IgorICAg
ICAgICAgIHRleHQgcnVuIGF0ICgxNzYsMTgwKSB3aWR0aCAwOiAiICIKKyAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwxOTUpIHdpZHRoIDE5MjogIlNNQUxMIHtmb250LXNpemU6IDEycHQ7fSIKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMTkyLDE5NSkgd2lkdGggMDogIiAiCisgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMjEwKSB3aWR0aCAzMDQ6ICIudHRvcGFsaWduIHt2ZXJ0aWNhbC1hbGlnbjog
dGV4dC10b3A7fSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzA0LDIxMCkgd2lkdGggMDogIiAi
CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjI1KSB3aWR0aCAyNTY6ICIudG9wYWxpZ24ge3Zl
cnRpY2FsLWFsaWduOiB0b3A7fSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjU2LDIyNSkgd2lk
dGggMDogIiAiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjQwKSB3aWR0aCAyODA6ICIubWlk
YWxpZ24ge3ZlcnRpY2FsLWFsaWduOiBtaWRkbGU7fSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MjgwLDI0MCkgd2lkdGggMDogIiAiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjU1KSB3aWR0
aCAwOiAiICIKKyAgICAgIFJlbmRlckJsb2NrIHtIUn0gYXQgKDAsMzE3KSBzaXplIDc2OXgyIFti
b3JkZXI6ICgxcHggaW5zZXQgIzAwMDAwMCldCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAs
MzM1KSBzaXplIDc2OXg3NgorICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXpl
IDQ5eDUwCisgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMjZ4MTgK
KyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDQ5LDQwKSBzaXplIDEyNngxOAorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDQ5LDQwKSB3aWR0aCAxMjY6ICJUaGUgZmlyc3QgZm91ciB3
b3JkcyIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNzUsMzYpIHNpemUgNzY1eDQw
CisgICAgICAgICAgdGV4dCBydW4gYXQgKDE3NSwzNikgd2lkdGggMjg0OiAiIGluIHRoaXMgc2Vu
dGVuY2Ugc2hvdWxkIGJlIHN1YnNjcmlwdC1hbGlnbmVkLiAiCisgICAgICAgICAgdGV4dCBydW4g
YXQgKDQ1OSwzNikgd2lkdGggMzA2OiAiVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc3VwZXJzY3JpcHRl
ZCB0ZXh0IHNob3VsZCBub3QiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNTgpIHdpZHRoIDI3
MzogImJlIGRpZmZlcmVudCBmcm9tIHRoYXQgb2YgdGhlIHBhcmVudCBlbGVtZW50LiIKKyAgICAg
IFJlbmRlckJsb2NrIHtQfSBhdCAoMCw0MjcpIHNpemUgNzY5eDcyCisgICAgICAgIFJlbmRlcklt
YWdlIHtJTUd9IGF0ICgwLDApIHNpemUgNDl4NTAKKyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFO
fSBhdCAoMCwwKSBzaXplIDEyNngxOAorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
NDksMzApIHNpemUgMTI2eDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDksMzApIHdpZHRo
IDEyNjogIlRoZSBmaXJzdCBmb3VyIHdvcmRzIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDE3NSwzNikgc2l6ZSA3NjV4MzYKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTc1LDM2KSB3
aWR0aCAyOTY6ICIgaW4gdGhpcyBzZW50ZW5jZSBzaG91bGQgYmUgc3VwZXJzY3JpcHQtYWxpZ25l
ZC4gIgorICAgICAgICAgIHRleHQgcnVuIGF0ICg0NzEsMzYpIHdpZHRoIDI5NDogIlRoZSBmb250
IHNpemUgb2YgdGhlIHN1YnNjcmlwdGVkIHRleHQgc2hvdWxkIG5vdCIKKyAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCw1NCkgd2lkdGggMjczOiAiYmUgZGlmZmVyZW50IGZyb20gdGhhdCBvZiB0aGUg
cGFyZW50IGVsZW1lbnQuIgorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDUxNSkgc2l6ZSA3
Njl4NzIKKyAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSA0OXg1MAorICAg
ICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTI2eDE4CisgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0OSwwKSBzaXplIDEyNngxOAorICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDQ5LDApIHdpZHRoIDEyNjogIlRoZSBmaXJzdCBmb3VyIHdvcmRzIgorICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE3NSwzNikgc2l6ZSA3NDZ4MzYKKyAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTc1LDM2KSB3aWR0aCA1NzE6ICIgaW4gdGhpcyBzZW50ZW5jZSBzaG91bGQg
YmUgdG9wLWFsaWduZWQsIHdoaWNoIHdpbGwgYWxpZ24gdGhlaXIgdG9wcyB3aXRoIHRoZSB0b3Ag
b2YgdGhlIHRhbGxlc3QiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNTQpIHdpZHRoIDMyMDog
ImVsZW1lbnQgaW4gdGhlIGxpbmUgKHByb2JhYmx5IHRoZSBvcmFuZ2UgcmVjdGFuZ2xlKS4iCisg
ICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsNjAzKSBzaXplIDc2OXgxMzIKKyAgICAgICAgUmVu
ZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSA0OXg1MAorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDQ5LDM2KSBzaXplIDR4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDksMzYp
IHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUg
NzU0eDExMQorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAor
ICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMjZ4MTgKKyAgICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTMsMjEpIHNpemUgMTI2eDE4CisgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICg1MywyMSkgd2lkdGggMTI2OiAiVGhlIGZpcnN0IGZvdXIgd29y
ZHMiCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNzksMjEpIHNpemUgNzU0eDEx
MQorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE3OSwyMSkgd2lkdGggNTU2OiAiIGluIHRoaXMg
c2VudGVuY2Ugc2hvdWxkIGJlIHRleHQtdG9wLWFsaWduZWQsIgorICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsNTgpIHdpZHRoIDc1NDogIndoaWNoIHNob3VsZCBhbGlnbiB0aGVpciB0b3BzIHdp
dGggdGhlIHRvcCBvZiB0aGUgdGFsbGVzdCB0ZXh0IgorICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsOTUpIHdpZHRoIDEzNjogImluIHRoZSBsaW5lLiIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsNzUxKSBz
aXplIDc2OXg2OAorICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDQ5eDUw
CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDksMTQpIHNpemUgNzM3eDU0CisgICAg
ICAgICAgdGV4dCBydW4gYXQgKDQ5LDE0KSB3aWR0aCA2ODg6ICIgVGhlIGltYWdlIGF0IHRoZSBi
ZWdpbm5pbmcgb2YgdGhpcyBzZW50ZW5jZSBzaG91bGQgYmUgbWlkZGxlLWFsaWduZWQsIHdoaWNo
IHNob3VsZCBhbGlnbiBpdHMgbWlkZGxlIHdpdGggdGhlIgorICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDUwKSB3aWR0aCAzNDY6ICJwb2ludCBkZWZpbmVkIGFzIHRoZSB0ZXh0IGJhc2VsaW5lIHBs
dXMgaGFsZiB0aGUgeC1oZWlnaHQuIgorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDgzNSkg
c2l6ZSA3Njl4MTI0CisgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgNDl4
NTAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0OSwxNSkgc2l6ZSA0eDE4CisgICAg
ICAgICAgdGV4dCBydW4gYXQgKDQ5LDE1KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVySW5s
aW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDczM3gxMjQKKyAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0
ICgwLDApIHNpemUgMTI2eDE4CisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDUz
LDMyKSBzaXplIDEyNngxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTMsMzIpIHdpZHRo
IDEyNjogIlRoZSBmaXJzdCBmb3VyIHdvcmRzIgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMTc5LDApIHNpemUgNzMzeDEyNAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE3OSww
KSB3aWR0aCA1NDQ6ICIgaW4gdGhpcyBzZW50ZW5jZSBzaG91bGQgYmUgMTJwdCBpbiBzaXplIGFu
ZCIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDUwKSB3aWR0aCA3MzM6ICJib3R0b20tYWxp
Z25lZCwgd2hpY2ggc2hvdWxkIGFsaWduIHRoZWlyIGJvdHRvbSB3aXRoIHRoZSIKKyAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDg3KSB3aWR0aCA1MTc6ICJib3R0b20gb2YgdGhlIGxvd2VzdCBl
bGVtZW50IGluIHRoZSBsaW5lLiIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsOTc1KSBzaXplIDc2OXgxNjEK
KyAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSA0OXg1MAorICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDQ5LDE1KSBzaXplIDR4MTgKKyAgICAgICAgICB0ZXh0IHJ1
biBhdCAoNDksMTUpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0
ICgwLDApIHNpemUgNzQ2eDE2MQorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAy
OTN4MTgKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTMsMTkpIHNpemUgMjkz
eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1MywxOSkgd2lkdGggMjkzOiAiVGhlIGZp
cnN0IGVpZ2h0IHdvcmRzIChcImVpZ2h0XCIgaGFzIGEgZGVzY2VuZGVyKSIKKyAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM0NiwwKSBzaXplIDc0NngxNjEKKyAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgzNDYsMCkgd2lkdGggNDAwOiAiIGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGJl
IDEycHQiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1MCkgd2lkdGggNzI1OiAiaW4gc2l6
ZSBhbmQgdGV4dC1ib3R0b20tYWxpZ25lZCwgd2hpY2ggc2hvdWxkIGFsaWduIHRoZWlyIgorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsODcpIHdpZHRoIDY3MTogImJvdHRvbSB3aXRoIHRoZSBi
b3R0b20gb2YgdGhlIGxvd2VzdCB0ZXh0IChpbmNsdWRpbmciCisgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwxMjQpIHdpZHRoIDI5NDogImRlc2NlbmRlcnMpIGluIHRoZSBsaW5lLiIKKyAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJCbG9j
ayB7UH0gYXQgKDAsMTE1Mikgc2l6ZSA3Njl4MTMyCisgICAgICAgIFJlbmRlckltYWdlIHtJTUd9
IGF0ICgwLDApIHNpemUgNDl4NTAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0OSwz
Nikgc2l6ZSA0eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDQ5LDM2KSB3aWR0aCA0OiAiICIK
KyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDc1OXgxMTEKKyAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5k
ZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTI2eDE4CisgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDUzLDM2KSBzaXplIDEyNngxOAorICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoNTMsMzYpIHdpZHRoIDEyNjogIlRoZSBmaXJzdCBmb3VyIHdvcmRzIgorICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTc5LDIxKSBzaXplIDc1OXgxMTEKKyAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgxNzksMjEpIHdpZHRoIDU0NDogIiBpbiB0aGlzIHNlbnRlbmNlIHNob3Vs
ZCBiZSAxMnB0IGluIHNpemUgYW5kIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNTgpIHdp
ZHRoIDc1OTogImJhc2VsaW5lLWFsaWduZWQsIHdoaWNoIHNob3VsZCBhbGlnbiB0aGVpciBiYXNl
bGluZSB3aXRoIHRoZSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDk1KSB3aWR0aCA1MjI6
ICJiYXNlbGluZSBvZiB0aGUgcmVzdCBvZiB0aGUgdGV4dCBpbiB0aGUgbGluZS4iCisgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyQmxvY2sg
e1B9IGF0ICgwLDEzMDApIHNpemUgNzY5eDcyCisgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0
ICgwLDApIHNpemUgNDl4NTAKKyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBz
aXplIDk2eDE0CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0OSwzMSkgc2l6ZSA5
NngxNAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ5LDMxKSB3aWR0aCA5NjogIlRoZSBmaXJz
dCBmb3VyIHdvcmRzIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE0NSwzNikgc2l6
ZSA3MzR4MzYKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTQ1LDM2KSB3aWR0aCA1ODk6ICIgaW4g
dGhpcyBzZW50ZW5jZSBzaG91bGQgaGF2ZSBhIGZvbnQtc2l6ZSBvZiAxMnB4IGFuZCBhIGxpbmUt
aGVpZ2h0IG9mIDE2cHg7IHRoZXkgYXJlIGFsc28gNTAlLSIKKyAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCw1NCkgd2lkdGggNDMwOiAiYWxpZ25lZCwgd2hpY2ggc2hvdWxkIHJhaXNlIHRoZW0gOHB4
IHJlbGF0aXZlIHRvIHRoZSBuYXR1cmFsIGJhc2VsaW5lLiIKKyAgICAgIFJlbmRlckJsb2NrIHtQ
fSBhdCAoMCwxMzg4KSBzaXplIDc2OXgzNgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSA3NDJ4MzYKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA3NDI6
ICJJbiB0aGUgZm9sbG93aW5nIHBhcmFncmFwaCwgYWxsIGltYWdlcyBzaG91bGQgYmUgYWxpZ25l
ZCB3aXRoIHRoZSB0b3Agb2YgdGhlIDE0LXBvaW50IHRleHQsIHdoaWNoIGlzIGlkZW50aWNhbCB0
byB0aGUgZmlyc3QiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDY2MTogInNl
Y3Rpb24gb2YgdGV4dCwgd2hlcmVhcyBhbnkgc2l6ZSB0ZXh0IHNob3VsZCBiZSBhbGlnbmVkIHdp
dGggdGhlIHRleHQgYmFzZWxpbmUgKHdoaWNoIGlzIHRoZSBkZWZhdWx0IHZhbHVlKS4iCisgICAg
ICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTQ0Mikgc2l6ZSA3Njl4MzQ2CisgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwyNSkgc2l6ZSAxMjB4MjIKKyAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwyNSkgd2lkdGggMTIwOiAiVGhpcyBwYXJhZ3JhcGggIgorICAgICAgICBSZW5kZXJJbWFn
ZSB7SU1HfSBhdCAoMTIwLDI1KSBzaXplIDU5eDMwCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMTc5LDI1KSBzaXplIDV4MjIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTc5LDI1KSB3
aWR0aCA1OiAiICIKKyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDQy
Mng1NAorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTg0LDApIHNpemUgNDIyeDU0
CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTg0LDApIHdpZHRoIDQyMjogImNvbnRhaW5zIG1h
bnkgaW1hZ2VzIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDYwNiwyNSkgc2l6ZSA1
eDIyCisgICAgICAgICAgdGV4dCBydW4gYXQgKDYwNiwyNSkgd2lkdGggNTogIiAiCisgICAgICAg
IFJlbmRlckltYWdlIHtJTUd9IGF0ICg2MTEsMjUpIHNpemUgNTl4NTAKKyAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICg2NzAsMjUpIHNpemUgNXgyMgorICAgICAgICAgIHRleHQgcnVuIGF0
ICg2NzAsMjUpIHdpZHRoIDU6ICIgIgorICAgICAgICBSZW5kZXJJbmxpbmUge0JJR30gYXQgKDAs
MCkgc2l6ZSA3NjR4OTEKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDY3NSwyMykg
c2l6ZSA3NjR4OTEKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2NzUsMjMpIHdpZHRoIDg5OiAi
b2YgdmFyeWluZyIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDkwKSB3aWR0aCA2MjogImhl
aWdodHMiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNjIsOTIpIHNpemUgNXgyMgor
ICAgICAgICAgIHRleHQgcnVuIGF0ICg2Miw5Mikgd2lkdGggNTogIiAiCisgICAgICAgIFJlbmRl
ckltYWdlIHtJTUd9IGF0ICg2Nyw5Mikgc2l6ZSA1OXgxMAorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDEyNiw5Mikgc2l6ZSA1eDIyCisgICAgICAgICAgdGV4dCBydW4gYXQgKDEyNiw5
Mikgd2lkdGggNTogIiAiCisgICAgICAgIFJlbmRlcklubGluZSB7U01BTEx9IGF0ICgwLDApIHNp
emUgNjl4MTgKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEzMSw5NSkgc2l6ZSA2
OXgxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEzMSw5NSkgd2lkdGggNjk6ICJhbmQgd2lk
dGhzIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIwMCw5Mikgc2l6ZSA1eDIyCisg
ICAgICAgICAgdGV4dCBydW4gYXQgKDIwMCw5Mikgd2lkdGggNTogIiAiCisgICAgICAgIFJlbmRl
ckltYWdlIHtJTUd9IGF0ICgyMDUsOTIpIHNpemUgNTl4MjAKKyAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgyNjQsOTIpIHNpemUgMTAxeDIyCisgICAgICAgICAgdGV4dCBydW4gYXQgKDI2
NCw5Mikgd2lkdGggMTAxOiAiIGFsbCBvZiB3aGljaCAiCisgICAgICAgIFJlbmRlckltYWdlIHtJ
TUd9IGF0ICgzNjUsOTIpIHNpemUgNTl4NjUKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICg0MjQsOTIpIHNpemUgNXgyMgorICAgICAgICAgIHRleHQgcnVuIGF0ICg0MjQsOTIpIHdpZHRo
IDU6ICIgIgorICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMjYyeDQz
CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0MjksNzUpIHNpemUgMjYyeDQzCisg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDI5LDc1KSB3aWR0aCAyNjI6ICJzaG91bGQgYmUgYWxp
Z25lZCIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2OTEsOTIpIHNpemUgNXgyMgor
ICAgICAgICAgIHRleHQgcnVuIGF0ICg2OTEsOTIpIHdpZHRoIDU6ICIgIgorICAgICAgICBSZW5k
ZXJJbWFnZSB7SU1HfSBhdCAoNjk2LDkyKSBzaXplIDU5eDM1CisgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwyMDQpIHNpemUgMTE4eDIyCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MjA0KSB3aWR0aCAxMTg6ICJ3aXRoIHRoZSB0b3Agb2YgIgorICAgICAgICBSZW5kZXJJbWFnZSB7
SU1HfSBhdCAoMTE4LDIwNCkgc2l6ZSA1OXgzMAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDE3NywyMDQpIHNpemUgNXgyMgorICAgICAgICAgIHRleHQgcnVuIGF0ICgxNzcsMjA0KSB3
aWR0aCA1OiAiICIKKyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDM5
OXgzMgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTgyLDE5Nikgc2l6ZSAxOXgz
MgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE4MiwxOTYpIHdpZHRoIDE5OiAiYSAiCisgICAg
ICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDIzNng4MgorICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyMDEsMTU3KSBzaXplIDIzNng4MgorICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMjAxLDE1Nykgd2lkdGggMjM2OiAiMTQtcG9pbnQiCisgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0MzcsMTk2KSBzaXplIDE0NHgzMgorICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDQzNywxOTYpIHdpZHRoIDE0NDogIiB0ZXh0IGVsZW1lbnQiCisgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTgxLDIwNCkgc2l6ZSA1eDIyCisgICAgICAgICAg
dGV4dCBydW4gYXQgKDU4MSwyMDQpIHdpZHRoIDU6ICIgIgorICAgICAgICBSZW5kZXJJbWFnZSB7
SU1HfSBhdCAoNTg2LDIwNCkgc2l6ZSA1OXg1MAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDY0NSwyMDQpIHNpemUgNXgyMgorICAgICAgICAgIHRleHQgcnVuIGF0ICg2NDUsMjA0KSB3
aWR0aCA1OiAiICIKKyAgICAgICAgUmVuZGVySW5saW5lIHtTTUFMTH0gYXQgKDAsMCkgc2l6ZSA3
NTN4NzAKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDY1MCwyMDcpIHNpemUgNzUz
eDcwCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjUwLDIwNykgd2lkdGggMTAzOiAicmVnYXJk
bGVzcyBvZiB0aGUiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyNTkpIHdpZHRoIDgyOiAi
bGluZSBpbiB3aGljaCIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg4MiwyNTYpIHNp
emUgNXgyMgorICAgICAgICAgIHRleHQgcnVuIGF0ICg4MiwyNTYpIHdpZHRoIDU6ICIgIgorICAg
ICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoODcsMjU2KSBzaXplIDU5eDE1CisgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMTQ2LDI1Nikgc2l6ZSA1eDIyCisgICAgICAgICAgdGV4dCBy
dW4gYXQgKDE0NiwyNTYpIHdpZHRoIDU6ICIgIgorICAgICAgICBSZW5kZXJJbmxpbmUge0JJR30g
YXQgKDAsMCkgc2l6ZSAxNTZ4MjQKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE1
MSwyNTQpIHNpemUgMTU2eDI0CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTUxLDI1NCkgd2lk
dGggMTU2OiAidGhlIGltYWdlcyBhcHBlYXIuIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDMwNywyNTYpIHNpemUgNXgyMgorICAgICAgICAgIHRleHQgcnVuIGF0ICgzMDcsMjU2KSB3
aWR0aCA1OiAiICIKKyAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDMxMiwyNTYpIHNpemUg
NTl4OTAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAg
ICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTgwNikgc2l6ZSA3Njl4MzYKKyAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzQ5eDM2CisgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggNzQ5OiAiSW4gdGhlIGZvbGxvd2luZyBwYXJhZ3JhcGgsIGFsbCBpbWFnZXMg
c2hvdWxkIGJlIGFsaWduZWQgd2l0aCB0aGUgbWlkZGxlIG9mIHRoZSBkZWZhdWx0IHRleHQsIHdo
ZXJlYXMgYW55IHRleHQgc2hvdWxkIGJlIgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3
aWR0aCAzNjI6ICJhbGlnbmVkIHdpdGggdGhlIHRleHQgYmFzZWxpbmUgKHdoaWNoIGlzIHRoZSBk
ZWZhdWx0IHZhbHVlKS4iCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTg1OCkgc2l6ZSA3
Njl4Mjg5CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyMikgc2l6ZSA5OXgxOAor
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIyKSB3aWR0aCA5OTogIlRoaXMgcGFyYWdyYXBoICIK
KyAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDk5LDE4KSBzaXplIDQ5eDMwCisgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTQ4LDIyKSBzaXplIDR4MTgKKyAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTQ4LDIyKSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFO
fSBhdCAoMCwwKSBzaXplIDM1N3g0NgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MTUyLDApIHNpemUgMzU3eDQ2CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTUyLDApIHdpZHRo
IDM1NzogImNvbnRhaW5zIG1hbnkgaW1hZ2VzIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDUwOSwyMikgc2l6ZSA0eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDUwOSwyMikgd2lk
dGggNDogIiAiCisgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICg1MTMsOCkgc2l6ZSA0OXg1
MAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDU2MiwyMikgc2l6ZSAxMjJ4MTgKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNTYyLDIyKSB3aWR0aCAxMjI6ICIgb2YgdmFyeWluZyBoZWln
aHRzICIKKyAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDY4NCwyOCkgc2l6ZSA0OXgxMAor
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDczMywyMikgc2l6ZSA0eDE4CisgICAgICAg
ICAgdGV4dCBydW4gYXQgKDczMywyMikgd2lkdGggNDogIiAiCisgICAgICAgIFJlbmRlcklubGlu
ZSB7U01BTEx9IGF0ICgwLDApIHNpemUgNzYweDc1CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICg3MzcsMjIpIHNpemUgNzYweDc1CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzM3
LDIyKSB3aWR0aCAyMzogImFuZCIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDc5KSB3aWR0
aCA0MjogIndpZHRocyIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0Miw3OSkgc2l6
ZSA0eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDQyLDc5KSB3aWR0aCA0OiAiICIKKyAgICAg
ICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDQ2LDgwKSBzaXplIDQ5eDIwCisgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoOTUsNzkpIHNpemUgODN4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBh
dCAoOTUsNzkpIHdpZHRoIDgzOiAiIGFsbCBvZiB3aGljaCAiCisgICAgICAgIFJlbmRlckltYWdl
IHtJTUd9IGF0ICgxNzgsNTgpIHNpemUgNDl4NjUKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgyMjcsNzkpIHNpemUgMTE5eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDIyNyw3OSkg
d2lkdGggMTE5OiAiIHNob3VsZCBiZSBhbGlnbmVkICIKKyAgICAgICAgUmVuZGVySW1hZ2Uge0lN
R30gYXQgKDM0Niw3Mykgc2l6ZSA0OXgzNQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDM5NSw3OSkgc2l6ZSA0eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDM5NSw3OSkgd2lkdGgg
NDogIiAiCisgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAyMzZ4MzcK
KyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM5OSw2NCkgc2l6ZSAyMzZ4MzcKKyAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgzOTksNjQpIHdpZHRoIDIzNjogIndpdGggdGhlIG1pZGRs
ZSBvZiIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2MzUsNzkpIHNpemUgNHgxOAor
ICAgICAgICAgIHRleHQgcnVuIGF0ICg2MzUsNzkpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5k
ZXJJbWFnZSB7SU1HfSBhdCAoNjM5LDY1KSBzaXplIDQ5eDUwCisgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoNjg4LDc5KSBzaXplIDR4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjg4
LDc5KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBz
aXplIDcwM3gxMTIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDY5Miw3MSkgc2l6
ZSAxMXgyOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDY5Miw3MSkgd2lkdGggMTE6ICJhIgor
ICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAyMDR4NjkKKyAgICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxMjMpIHNpemUgMjA0eDY5CisgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDEyMykgd2lkdGggMjA0OiAiMTQtcG9pbnQiCisgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyMDQsMTU1KSBzaXplIDEyN3gyOAorICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDIwNCwxNTUpIHdpZHRoIDEyNzogIiB0ZXh0IGVsZW1lbnQiCisgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzMxLDE2Mykgc2l6ZSA0eDE4CisgICAgICAgICAg
dGV4dCBydW4gYXQgKDMzMSwxNjMpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJJbWFnZSB7
SU1HfSBhdCAoMzM1LDE0OSkgc2l6ZSA0OXg1MAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDM4NCwxNjMpIHNpemUgNHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgzODQsMTYzKSB3
aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVySW5saW5lIHtTTUFMTH0gYXQgKDAsMCkgc2l6ZSAx
ODl4MTgKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM4OCwxNjMpIHNpemUgMTg5
eDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzg4LDE2Mykgd2lkdGggMTg5OiAicmVnYXJk
bGVzcyBvZiB0aGUgbGluZSBpbiB3aGljaCIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICg1NzcsMTYzKSBzaXplIDR4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTc3LDE2Mykgd2lk
dGggNDogIiAiCisgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICg1ODEsMTY3KSBzaXplIDQ5
eDE1CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNjMwLDE2Mykgc2l6ZSA0eDE4Cisg
ICAgICAgICAgdGV4dCBydW4gYXQgKDYzMCwxNjMpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5k
ZXJJbmxpbmUge0JJR30gYXQgKDAsMCkgc2l6ZSA3MjR4OTQKKyAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDYzNCwxNTgpIHNpemUgNzI0eDk0CisgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoNjM0LDE1OCkgd2lkdGggOTA6ICJ0aGUgaW1hZ2VzIgorICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMjI4KSB3aWR0aCA2MTogImFwcGVhci4iCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoNjEsMjMzKSBzaXplIDR4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjEsMjMzKSB3
aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDY1LDE5OSkgc2l6ZSA0
OXg5MAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAg
IFJlbmRlckJsb2NrIHtQfSBhdCAoMCwyMTYzKSBzaXplIDc2OXgzNgorICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3MzN4MzYKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwwKSB3aWR0aCA3MzM6ICJJbiB0aGUgZm9sbG93aW5nIHBhcmFncmFwaCwgYWxsIGVsZW1lbnRz
IHNob3VsZCBiZSBhbGlnbmVkIHdpdGggdGhlIHRvcCBvZiB0aGUgdGFsbGVzdCBlbGVtZW50IG9u
IHRoZSBsaW5lLCB3aGV0aGVyIHRoYXQiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdp
ZHRoIDE3MzogImVsZW1lbnQgaXMgYW4gaW1hZ2Ugb3Igbm90LiAiCisgICAgICAgICAgdGV4dCBy
dW4gYXQgKDE3MywxOCkgd2lkdGggNTU1OiAiRWFjaCBmcmFnbWVudCBvZiB0ZXh0IGhhcyBiZWVu
IFNQQU5uZWQgYXBwcm9wcmlhdGVseSBpbiBvcmRlciB0byBjYXVzZSB0aGlzIHRvIGhhcHBlbi4i
CisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMjIxNSkgc2l6ZSA3Njl4MjAxCisgICAgICAg
IFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA5NXgxOAorICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDk1eDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCA5NTogIlRoaXMgcGFyYWdyYXBoIgorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDk1LDApIHNpemUgNHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICg5NSwwKSB3
aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDk5LDApIHNpemUgNDl4
MTAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNDgsMCkgc2l6ZSA0eDE4CisgICAg
ICAgICAgdGV4dCBydW4gYXQgKDE0OCwwKSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVySW5s
aW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDM1N3g0NgorICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMTUyLDApIHNpemUgMzU3eDQ2CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTUy
LDApIHdpZHRoIDM1NzogImNvbnRhaW5zIG1hbnkgaW1hZ2VzIgorICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDUwOSwwKSBzaXplIDR4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTA5
LDApIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoNTEzLDApIHNp
emUgNDl4MTAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1NjIsMCkgc2l6ZSA0eDE4
CisgICAgICAgICAgdGV4dCBydW4gYXQgKDU2MiwwKSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVu
ZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDg3eDE4CisgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICg1NjYsMCkgc2l6ZSA4N3gxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDU2NiwwKSB3aWR0aCA4NzogImFuZCBzb21lIHRleHQiCisgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoNjUzLDApIHNpemUgNHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICg2NTMsMCkg
d2lkdGggNDogIiAiCisgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICg2NTcsMCkgc2l6ZSA0
OXgxMAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcwNiwwKSBzaXplIDR4MTgKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNzA2LDApIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJJ
bmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgNzIzeDY0CisgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICg3MTAsMCkgc2l6ZSA3MjN4NjQKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg3
MTAsMCkgd2lkdGggMTM6ICJvZiIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDQ2KSB3aWR0
aCA5NzogInZhcnlpbmcgaGVpZ2h0cyIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg5
Nyw0Nikgc2l6ZSA0eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDk3LDQ2KSB3aWR0aCA0OiAi
ICIKKyAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDEwMSw0Nikgc2l6ZSA0OXgxMAorICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE1MCw0Nikgc2l6ZSA0eDE4CisgICAgICAgICAg
dGV4dCBydW4gYXQgKDE1MCw0Nikgd2lkdGggNDogIiAiCisgICAgICAgIFJlbmRlcklubGluZSB7
QklHfSBhdCAoMCwwKSBzaXplIDkzeDI0CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgxNTQsNDYpIHNpemUgOTN4MjQKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNTQsNDYpIHdp
ZHRoIDkzOiAiYW5kIHdpZHRocyIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyNDcs
NDYpIHNpemUgNHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgyNDcsNDYpIHdpZHRoIDQ6ICIg
IgorICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMjUxLDQ2KSBzaXplIDQ5eDIwCisgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzAwLDQ2KSBzaXplIDR4MTgKKyAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMzAwLDQ2KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVySW5saW5lIHtT
UEFOfSBhdCAoMCwwKSBzaXplIDc1eDE4CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgzMDQsNDYpIHNpemUgNzV4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMDQsNDYpIHdp
ZHRoIDc1OiAiYWxsIG9mIHdoaWNoIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM3
OSw0Nikgc2l6ZSA0eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDM3OSw0Nikgd2lkdGggNDog
IiAiCisgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgzODMsNDYpIHNpemUgNDl4NjUKKyAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0MzIsNDYpIHNpemUgNHgxOAorICAgICAgICAg
IHRleHQgcnVuIGF0ICg0MzIsNDYpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJJbmxpbmUg
e1NQQU59IGF0ICgwLDApIHNpemUgMTExeDE4CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICg0MzYsNDYpIHNpemUgMTExeDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDM2LDQ2
KSB3aWR0aCAxMTE6ICJzaG91bGQgYmUgYWxpZ25lZCIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICg1NDcsNDYpIHNpemUgNHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICg1NDcsNDYp
IHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoNTUxLDQ2KSBzaXpl
IDQ5eDM1CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNjAwLDQ2KSBzaXplIDR4MTgK
KyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjAwLDQ2KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVu
ZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDc1N3gxMDIKKyAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDYwNCw0Nikgc2l6ZSA3NTd4MTAyCisgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoNjA0LDQ2KSB3aWR0aCAxNTM6ICJ3aXRoIHRoZSB0b3AiCisgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwxMTEpIHdpZHRoIDI3OiAib2YiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMjcsMTExKSBzaXplIDR4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjcsMTExKSB3
aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDMxLDExMSkgc2l6ZSA0
OXg1MAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDgwLDExMSkgc2l6ZSA0eDE4Cisg
ICAgICAgICAgdGV4dCBydW4gYXQgKDgwLDExMSkgd2lkdGggNDogIiAiCisgICAgICAgIFJlbmRl
cklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMjh4MTgKKyAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDg0LDExMSkgc2l6ZSAxMjh4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg4NCwxMTEpIHdpZHRoIDEyODogInRoZSB0YWxsZXN0IGVsZW1lbnQgaW4iCisgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMjEyLDExMSkgc2l6ZSA0eDE4CisgICAgICAgICAgdGV4dCBy
dW4gYXQgKDIxMiwxMTEpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBh
dCAoMjE2LDExMSkgc2l6ZSA0OXgxNQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDI2
NSwxMTEpIHNpemUgNHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgyNjUsMTExKSB3aWR0aCA0
OiAiICIKKyAgICAgICAgUmVuZGVySW5saW5lIHtCSUd9IGF0ICgwLDApIHNpemUgMzAxeDI0Cisg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyNjksMTExKSBzaXplIDMwMXgyNAorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDI2OSwxMTEpIHdpZHRoIDMwMTogIndoaWNoZXZlciBsaW5l
IHRoZSBlbGVtZW50cyBhcHBlYXIuIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDU3
MCwxMTEpIHNpemUgNHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICg1NzAsMTExKSB3aWR0aCA0
OiAiICIKKyAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDU3NCwxMTEpIHNpemUgNDl4OTAK
KyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5k
ZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDI0MzIpIHNpemUgNzY5eDIxMDggW2JvcmRlcjogKDFweCBv
dXRzZXQgIzgwODA4MCldCisgICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9IGF0ICgx
LDEpIHNpemUgNzY3eDIxMDYKKyAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDAp
IHNpemUgNzY3eDI2CisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMCwwKSBz
aXplIDc2N3gyNiBbYmdjb2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoMXB4IGluc2V0ICM4MDgwODAp
XSBbcj0wIGM9MCBycz0xIGNzPTJdCisgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1RST05H
fSBhdCAoMCwwKSBzaXplIDE2M3gxOAorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoNCw0KSBzaXplIDE2M3gxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQs
NCkgd2lkdGggMTYzOiAiVEFCTEUgVGVzdGluZyBTZWN0aW9uIgorICAgICAgICAgIFJlbmRlclRh
YmxlUm93IHtUUn0gYXQgKDAsMjYpIHNpemUgNzY3eDIwODAKKyAgICAgICAgICAgIFJlbmRlclRh
YmxlQ2VsbCB7VER9IGF0ICgwLDEwNTMpIHNpemUgMTJ4MjYgW2JnY29sb3I9I0MwQzBDMF0gW2Jv
cmRlcjogKDFweCBpbnNldCAjODA4MDgwKV0gW3I9MSBjPTAgcnM9MSBjcz0xXQorICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDQsNCkgc2l6ZSA0eDE4CisgICAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDQsNCkgd2lkdGggNDogIiAiCisgICAgICAgICAgICBSZW5kZXJUYWJs
ZUNlbGwge1REfSBhdCAoMTIsMjYpIHNpemUgNzU1eDIwODAgW2JvcmRlcjogKDFweCBpbnNldCAj
ODA4MDgwKV0gW3I9MSBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7
UH0gYXQgKDQsNCkgc2l6ZSA3NDd4NzYKKyAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1H
fSBhdCAoMCwwKSBzaXplIDQ5eDUwCisgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFO
fSBhdCAoMCwwKSBzaXplIDEyNngxOAorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICg0OSw0MCkgc2l6ZSAxMjZ4MTgKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDQ5LDQwKSB3aWR0aCAxMjY6ICJUaGUgZmlyc3QgZm91ciB3b3JkcyIKKyAgICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE3NSwzNikgc2l6ZSA3NDF4NDAKKyAgICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgxNzUsMzYpIHdpZHRoIDI4NDogIiBpbiB0aGlzIHNlbnRl
bmNlIHNob3VsZCBiZSBzdWJzY3JpcHQtYWxpZ25lZC4gIgorICAgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDQ1OSwzNikgd2lkdGggMjgyOiAiVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc3VwZXJz
Y3JpcHRlZCB0ZXh0IHNob3VsZCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDU4
KSB3aWR0aCAyOTc6ICJub3QgYmUgZGlmZmVyZW50IGZyb20gdGhhdCBvZiB0aGUgcGFyZW50IGVs
ZW1lbnQuIgorICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDQsOTYpIHNpemUgNzQ3
eDcyCisgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSA0OXg1
MAorICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMjZ4
MTgKKyAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDksMzApIHNpemUg
MTI2eDE4CisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0OSwzMCkgd2lkdGggMTI2
OiAiVGhlIGZpcnN0IGZvdXIgd29yZHMiCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgxNzUsMzYpIHNpemUgNzQxeDM2CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMTc1LDM2KSB3aWR0aCAyOTY6ICIgaW4gdGhpcyBzZW50ZW5jZSBzaG91bGQgYmUgc3VwZXJz
Y3JpcHQtYWxpZ25lZC4gIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ3MSwzNikg
d2lkdGggMjcwOiAiVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc3Vic2NyaXB0ZWQgdGV4dCBzaG91bGQi
CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1NCkgd2lkdGggMjk3OiAibm90IGJl
IGRpZmZlcmVudCBmcm9tIHRoYXQgb2YgdGhlIHBhcmVudCBlbGVtZW50LiIKKyAgICAgICAgICAg
ICAgUmVuZGVyQmxvY2sge1B9IGF0ICg0LDE4NCkgc2l6ZSA3NDd4NzIKKyAgICAgICAgICAgICAg
ICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDQ5eDUwCisgICAgICAgICAgICAgICAg
UmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDEyNngxOAorICAgICAgICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0OSwwKSBzaXplIDEyNngxOAorICAgICAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNDksMCkgd2lkdGggMTI2OiAiVGhlIGZpcnN0IGZvdXIgd29y
ZHMiCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNzUsMzYpIHNpemUg
NzQ2eDM2CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTc1LDM2KSB3aWR0aCA1NzE6
ICIgaW4gdGhpcyBzZW50ZW5jZSBzaG91bGQgYmUgdG9wLWFsaWduZWQsIHdoaWNoIHdpbGwgYWxp
Z24gdGhlaXIgdG9wcyB3aXRoIHRoZSB0b3Agb2YgdGhlIHRhbGxlc3QiCisgICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCw1NCkgd2lkdGggMzIwOiAiZWxlbWVudCBpbiB0aGUgbGluZSAo
cHJvYmFibHkgdGhlIG9yYW5nZSByZWN0YW5nbGUpLiIKKyAgICAgICAgICAgICAgUmVuZGVyQmxv
Y2sge1B9IGF0ICg0LDI3Mikgc2l6ZSA3NDd4MTMyCisgICAgICAgICAgICAgICAgUmVuZGVySW1h
Z2Uge0lNR30gYXQgKDAsMCkgc2l6ZSA0OXg1MAorICAgICAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoNDksMzYpIHNpemUgNHgxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDQ5LDM2KSB3aWR0aCA0OiAiICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQ
QU59IGF0ICgwLDApIHNpemUgNzM1eDExMQorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUg
e1NQQU59IGF0ICgwLDApIHNpemUgMTI2eDE4CisgICAgICAgICAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoNTMsMjEpIHNpemUgMTI2eDE4CisgICAgICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDUzLDIxKSB3aWR0aCAxMjY6ICJUaGUgZmlyc3QgZm91ciB3b3JkcyIKKyAg
ICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTc5LDIxKSBzaXplIDczNXgx
MTEKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE3OSwyMSkgd2lkdGggNTU2OiAi
IGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGJlIHRleHQtdG9wLWFsaWduZWQsIgorICAgICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1OCkgd2lkdGggNjk4OiAid2hpY2ggc2hvdWxkIGFs
aWduIHRoZWlyIHRvcHMgd2l0aCB0aGUgdG9wIG9mIHRoZSB0YWxsZXN0IgorICAgICAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCw5NSkgd2lkdGggMTkyOiAidGV4dCBpbiB0aGUgbGluZS4i
CisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisg
ICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoNCw0MjApIHNpemUgNzQ3eDY4CisgICAg
ICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSA0OXg1MAorICAgICAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDksMTQpIHNpemUgNzM3eDU0CisgICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDksMTQpIHdpZHRoIDY4ODogIiBUaGUgaW1hZ2Ug
YXQgdGhlIGJlZ2lubmluZyBvZiB0aGlzIHNlbnRlbmNlIHNob3VsZCBiZSBtaWRkbGUtYWxpZ25l
ZCwgd2hpY2ggc2hvdWxkIGFsaWduIGl0cyBtaWRkbGUgd2l0aCB0aGUiCisgICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCw1MCkgd2lkdGggMzQ2OiAicG9pbnQgZGVmaW5lZCBhcyB0aGUg
dGV4dCBiYXNlbGluZSBwbHVzIGhhbGYgdGhlIHgtaGVpZ2h0LiIKKyAgICAgICAgICAgICAgUmVu
ZGVyQmxvY2sge1B9IGF0ICg0LDUwNCkgc2l6ZSA3NDd4MTI0CisgICAgICAgICAgICAgICAgUmVu
ZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSA0OXg1MAorICAgICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoNDksMTUpIHNpemUgNHgxOAorICAgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDQ5LDE1KSB3aWR0aCA0OiAiICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbmxp
bmUge1NQQU59IGF0ICgwLDApIHNpemUgNzMzeDEyNAorICAgICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgICAgICAgICBSZW5kZXJJ
bmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTI2eDE4CisgICAgICAgICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoNTMsMzIpIHNpemUgMTI2eDE4CisgICAgICAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDUzLDMyKSB3aWR0aCAxMjY6ICJUaGUgZmlyc3QgZm91ciB3b3Jk
cyIKKyAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTc5LDApIHNpemUg
NzMzeDEyNAorICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTc5LDApIHdpZHRoIDU0
NDogIiBpbiB0aGlzIHNlbnRlbmNlIHNob3VsZCBiZSAxMnB0IGluIHNpemUgYW5kIgorICAgICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1MCkgd2lkdGggNzMzOiAiYm90dG9tLWFsaWdu
ZWQsIHdoaWNoIHNob3VsZCBhbGlnbiB0aGVpciBib3R0b20gd2l0aCB0aGUiCisgICAgICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDg3KSB3aWR0aCA1MTc6ICJib3R0b20gb2YgdGhlIGxv
d2VzdCBlbGVtZW50IGluIHRoZSBsaW5lLiIKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0
ICg0LDY0NCkgc2l6ZSA3NDd4MTYxCisgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30g
YXQgKDAsMCkgc2l6ZSA0OXg1MAorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoNDksMTUpIHNpemUgNHgxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ5LDE1
KSB3aWR0aCA0OiAiICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgw
LDApIHNpemUgNzQ2eDE2MQorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0
ICgwLDApIHNpemUgMjkzeDE4CisgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoNTMsMTkpIHNpemUgMjkzeDE4CisgICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDUzLDE5KSB3aWR0aCAyOTM6ICJUaGUgZmlyc3QgZWlnaHQgd29yZHMgKFwiZWlnaHRcIiBo
YXMgYSBkZXNjZW5kZXIpIgorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgzNDYsMCkgc2l6ZSA3NDZ4MTYxCisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgz
NDYsMCkgd2lkdGggNDAwOiAiIGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGJlIDEycHQiCisgICAg
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDUwKSB3aWR0aCA3MjU6ICJpbiBzaXplIGFu
ZCB0ZXh0LWJvdHRvbS1hbGlnbmVkLCB3aGljaCBzaG91bGQgYWxpZ24gdGhlaXIiCisgICAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDg3KSB3aWR0aCA2NzE6ICJib3R0b20gd2l0aCB0
aGUgYm90dG9tIG9mIHRoZSBsb3dlc3QgdGV4dCAoaW5jbHVkaW5nIgorICAgICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwxMjQpIHdpZHRoIDI5NDogImRlc2NlbmRlcnMpIGluIHRoZSBs
aW5lLiIKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAw
eDAKKyAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICg0LDgyMSkgc2l6ZSA3NDd4MTMy
CisgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSA0OXg1MAor
ICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDksMzYpIHNpemUgNHgxOAor
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ5LDM2KSB3aWR0aCA0OiAiICIKKyAgICAg
ICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgNzIzeDExMQorICAg
ICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAg
ICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTI2eDE4Cisg
ICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTMsMzYpIHNpemUgMTI2
eDE4CisgICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDUzLDM2KSB3aWR0aCAxMjY6
ICJUaGUgZmlyc3QgZm91ciB3b3JkcyIKKyAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMTc5LDIxKSBzaXplIDcyM3gxMTEKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDE3OSwyMSkgd2lkdGggNTQ0OiAiIGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGJlIDEy
cHQgaW4gc2l6ZSBhbmQiCisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDU4KSB3
aWR0aCA3MTI6ICJiYXNlbGluZS1hbGlnbmVkLCB3aGljaCBzaG91bGQgYWxpZ24gdGhlaXIgYmFz
ZWxpbmUgd2l0aCIKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsOTUpIHdpZHRo
IDU2OTogInRoZSBiYXNlbGluZSBvZiB0aGUgcmVzdCBvZiB0aGUgdGV4dCBpbiB0aGUgbGluZS4i
CisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisg
ICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoNCw5NjkpIHNpemUgNzQ3eDcyCisgICAg
ICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSA0OXg1MAorICAgICAg
ICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA5NngxNAorICAgICAg
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0OSwzMSkgc2l6ZSA5NngxNAorICAg
ICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDksMzEpIHdpZHRoIDk2OiAiVGhlIGZpcnN0
IGZvdXIgd29yZHMiCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNDUs
MzYpIHNpemUgNzM0eDM2CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTQ1LDM2KSB3
aWR0aCA1ODk6ICIgaW4gdGhpcyBzZW50ZW5jZSBzaG91bGQgaGF2ZSBhIGZvbnQtc2l6ZSBvZiAx
MnB4IGFuZCBhIGxpbmUtaGVpZ2h0IG9mIDE2cHg7IHRoZXkgYXJlIGFsc28gNTAlLSIKKyAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDU0KSB3aWR0aCA0MzA6ICJhbGlnbmVkLCB3aGlj
aCBzaG91bGQgcmFpc2UgdGhlbSA4cHggcmVsYXRpdmUgdG8gdGhlIG5hdHVyYWwgYmFzZWxpbmUu
IgorICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDQsMTA1Nykgc2l6ZSA3NDd4MzYK
KyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3NDJ4MzYK
KyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDc0MjogIkluIHRoZSBm
b2xsb3dpbmcgcGFyYWdyYXBoLCBhbGwgaW1hZ2VzIHNob3VsZCBiZSBhbGlnbmVkIHdpdGggdGhl
IHRvcCBvZiB0aGUgMTQtcG9pbnQgdGV4dCwgd2hpY2ggaXMgaWRlbnRpY2FsIHRvIHRoZSBmaXJz
dCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA2NjE6ICJzZWN0
aW9uIG9mIHRleHQsIHdoZXJlYXMgYW55IHNpemUgdGV4dCBzaG91bGQgYmUgYWxpZ25lZCB3aXRo
IHRoZSB0ZXh0IGJhc2VsaW5lICh3aGljaCBpcyB0aGUgZGVmYXVsdCB2YWx1ZSkuIgorICAgICAg
ICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDQsMTExMSkgc2l6ZSA3NDd4MzM3CisgICAgICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDI1KSBzaXplIDEyMHgyMgorICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjUpIHdpZHRoIDEyMDogIlRoaXMgcGFyYWdyYXBo
ICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMTIwLDI1KSBzaXplIDU5
eDMwCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNzksMjUpIHNpemUg
NXgyMgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE3OSwyNSkgd2lkdGggNTogIiAi
CisgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDQyMng1
NAorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxODQsMCkgc2l6ZSA0
MjJ4NTQKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE4NCwwKSB3aWR0aCA0MjI6
ICJjb250YWlucyBtYW55IGltYWdlcyIKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDYwNiwyNSkgc2l6ZSA1eDIyCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NjA2LDI1KSB3aWR0aCA1OiAiICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBh
dCAoNjExLDI1KSBzaXplIDU5eDUwCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICg2NzAsMjUpIHNpemUgNXgyMgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDY3
MCwyNSkgd2lkdGggNTogIiAiCisgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtCSUd9IGF0
ICgwLDApIHNpemUgNjkzeDkxCisgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDY3NSwyMykgc2l6ZSA2OTN4OTEKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDY3NSwyMykgd2lkdGggMTg6ICJvZiIKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsOTApIHdpZHRoIDEzMzogInZhcnlpbmcgaGVpZ2h0cyIKKyAgICAgICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDEzMyw5Mikgc2l6ZSA1eDIyCisgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTMzLDkyKSB3aWR0aCA1OiAiICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJ
bWFnZSB7SU1HfSBhdCAoMTM4LDkyKSBzaXplIDU5eDEwCisgICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgxOTcsOTIpIHNpemUgNXgyMgorICAgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDE5Nyw5Mikgd2lkdGggNTogIiAiCisgICAgICAgICAgICAgICAgUmVuZGVySW5s
aW5lIHtTTUFMTH0gYXQgKDAsMCkgc2l6ZSA2OXgxOAorICAgICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgyMDIsOTUpIHNpemUgNjl4MTgKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDIwMiw5NSkgd2lkdGggNjk6ICJhbmQgd2lkdGhzIgorICAgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjcxLDkyKSBzaXplIDV4MjIKKyAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgyNzEsOTIpIHdpZHRoIDU6ICIgIgorICAgICAgICAgICAgICAg
IFJlbmRlckltYWdlIHtJTUd9IGF0ICgyNzYsOTIpIHNpemUgNTl4MjAKKyAgICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMzNSw5Mikgc2l6ZSAxMDF4MjIKKyAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgzMzUsOTIpIHdpZHRoIDEwMTogIiBhbGwgb2Ygd2hpY2ggIgor
ICAgICAgICAgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICg0MzYsOTIpIHNpemUgNTl4NjUK
KyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDQ5NSw5Mikgc2l6ZSA1eDIy
CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDk1LDkyKSB3aWR0aCA1OiAiICIKKyAg
ICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgNjQ0eDE1NQor
ICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1MDAsNzUpIHNpemUgNjQ0
eDE1NQorICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTAwLDc1KSB3aWR0aCAxNDQ6
ICJzaG91bGQgYmUiCisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4Nykgd2lk
dGggMTA5OiAiYWxpZ25lZCIKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDEwOSwyMDQpIHNpemUgNXgyMgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEwOSwy
MDQpIHdpZHRoIDU6ICIgIgorICAgICAgICAgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgx
MTQsMjA0KSBzaXplIDU5eDM1CisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgxNzMsMjA0KSBzaXplIDEyM3gyMgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE3
MywyMDQpIHdpZHRoIDEyMzogIiB3aXRoIHRoZSB0b3Agb2YgIgorICAgICAgICAgICAgICAgIFJl
bmRlckltYWdlIHtJTUd9IGF0ICgyOTYsMjA0KSBzaXplIDU5eDMwCisgICAgICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzNTUsMjA0KSBzaXplIDV4MjIKKyAgICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgzNTUsMjA0KSB3aWR0aCA1OiAiICIKKyAgICAgICAgICAgICAgICBS
ZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgNjY0eDc1CisgICAgICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM2MCwxOTYpIHNpemUgMTl4MzIKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDM2MCwxOTYpIHdpZHRoIDE5OiAiYSAiCisgICAgICAgICAg
ICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMjM2eDgyCisgICAgICAg
ICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzc5LDE1Nykgc2l6ZSAyMzZ4ODIK
KyAgICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzc5LDE1Nykgd2lkdGggMjM2OiAi
MTQtcG9pbnQiCisgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDYxNSwx
OTYpIHNpemUgNjY0eDc1CisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2MTUsMTk2
KSB3aWR0aCA0OTogIiB0ZXh0IgorICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwy
MzkpIHdpZHRoIDg4OiAiZWxlbWVudCIKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDg4LDI0Nykgc2l6ZSA1eDIyCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
ODgsMjQ3KSB3aWR0aCA1OiAiICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBh
dCAoOTMsMjQ3KSBzaXplIDU5eDUwCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgxNTIsMjQ3KSBzaXplIDV4MjIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgx
NTIsMjQ3KSB3aWR0aCA1OiAiICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NNQUxM
fSBhdCAoMCwwKSBzaXplIDE4OXgxOAorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgxNTcsMjUwKSBzaXplIDE4OXgxOAorICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMTU3LDI1MCkgd2lkdGggMTg5OiAicmVnYXJkbGVzcyBvZiB0aGUgbGluZSBpbiB3aGlj
aCIKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM0NiwyNDcpIHNpemUg
NXgyMgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM0NiwyNDcpIHdpZHRoIDU6ICIg
IgorICAgICAgICAgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgzNTEsMjQ3KSBzaXplIDU5
eDE1CisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0MTAsMjQ3KSBzaXpl
IDV4MjIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0MTAsMjQ3KSB3aWR0aCA1OiAi
ICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge0JJR30gYXQgKDAsMCkgc2l6ZSAxNTZ4
MjQKKyAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDE1LDI0NSkgc2l6
ZSAxNTZ4MjQKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQxNSwyNDUpIHdpZHRo
IDE1NjogInRoZSBpbWFnZXMgYXBwZWFyLiIKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDU3MSwyNDcpIHNpemUgNXgyMgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDU3MSwyNDcpIHdpZHRoIDU6ICIgIgorICAgICAgICAgICAgICAgIFJlbmRlckltYWdlIHtJ
TUd9IGF0ICg1NzYsMjQ3KSBzaXplIDU5eDkwCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBh
dCAoNCwxNDY2KSBzaXplIDc0N3gzNgorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDczMHgzNgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggNzMwOiAiSW4gdGhlIGZvbGxvd2luZyBwYXJhZ3JhcGgsIGFsbCBpbWFnZXMgc2hv
dWxkIGJlIGFsaWduZWQgd2l0aCB0aGUgbWlkZGxlIG9mIHRoZSBkZWZhdWx0IHRleHQsIHdoZXJl
YXMgYW55IHRleHQgc2hvdWxkIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgp
IHdpZHRoIDM4MTogImJlIGFsaWduZWQgd2l0aCB0aGUgdGV4dCBiYXNlbGluZSAod2hpY2ggaXMg
dGhlIGRlZmF1bHQgdmFsdWUpLiIKKyAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICg0
LDE1MTgpIHNpemUgNzQ3eDI4OQorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwyMikgc2l6ZSA5OXgxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjIp
IHdpZHRoIDk5OiAiVGhpcyBwYXJhZ3JhcGggIgorICAgICAgICAgICAgICAgIFJlbmRlckltYWdl
IHtJTUd9IGF0ICg5OSwxOCkgc2l6ZSA0OXgzMAorICAgICAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMTQ4LDIyKSBzaXplIDR4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgxNDgsMjIpIHdpZHRoIDQ6ICIgIgorICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7
U1BBTn0gYXQgKDAsMCkgc2l6ZSAzNTd4NDYKKyAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMTUyLDApIHNpemUgMzU3eDQ2CisgICAgICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgxNTIsMCkgd2lkdGggMzU3OiAiY29udGFpbnMgbWFueSBpbWFnZXMiCisgICAgICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1MDksMjIpIHNpemUgNHgxOAorICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDUwOSwyMikgd2lkdGggNDogIiAiCisgICAgICAgICAg
ICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDUxMyw4KSBzaXplIDQ5eDUwCisgICAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1NjIsMjIpIHNpemUgMTIyeDE4CisgICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTYyLDIyKSB3aWR0aCAxMjI6ICIgb2YgdmFyeWluZyBo
ZWlnaHRzICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoNjg0LDI4KSBz
aXplIDQ5eDEwCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMHgwCisgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTTUFMTH0gYXQgKDAsMCkgc2l6
ZSA2OXgxOAorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDc5KSBz
aXplIDY5eDE4CisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDc5KSB3aWR0aCA2
OTogImFuZCB3aWR0aHMiCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2
OSw3OSkgc2l6ZSA0eDE4CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjksNzkpIHdp
ZHRoIDQ6ICIgIgorICAgICAgICAgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICg3Myw4MCkg
c2l6ZSA0OXgyMAorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTIyLDc5
KSBzaXplIDgzeDE4CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTIyLDc5KSB3aWR0
aCA4MzogIiBhbGwgb2Ygd2hpY2ggIgorICAgICAgICAgICAgICAgIFJlbmRlckltYWdlIHtJTUd9
IGF0ICgyMDUsNTgpIHNpemUgNDl4NjUKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDI1NCw3OSkgc2l6ZSAxMTl4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgyNTQsNzkpIHdpZHRoIDExOTogIiBzaG91bGQgYmUgYWxpZ25lZCAiCisgICAgICAgICAgICAg
ICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDM3Myw3Mykgc2l6ZSA0OXgzNQorICAgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDIyLDc5KSBzaXplIDR4MTgKKyAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICg0MjIsNzkpIHdpZHRoIDQ6ICIgIgorICAgICAgICAgICAgICAg
IFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAyMzZ4MzcKKyAgICAgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDI2LDY0KSBzaXplIDIzNngzNworICAgICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDI2LDY0KSB3aWR0aCAyMzY6ICJ3aXRoIHRoZSBtaWRk
bGUgb2YiCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2NjIsNzkpIHNp
emUgNHgxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDY2Miw3OSkgd2lkdGggNDog
IiAiCisgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDY2Niw2NSkgc2l6ZSA0
OXg1MAorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzE1LDc5KSBzaXpl
IDR4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg3MTUsNzkpIHdpZHRoIDQ6ICIg
IgorICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA3MzB4
MTEyCisgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcxOSw3MSkgc2l6
ZSAxMXgyOAorICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzE5LDcxKSB3aWR0aCAx
MTogImEiCisgICAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNp
emUgMjA0eDY5CisgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwx
MjMpIHNpemUgMjA0eDY5CisgICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTIz
KSB3aWR0aCAyMDQ6ICIxNC1wb2ludCIKKyAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMjA0LDE1NSkgc2l6ZSAxMjd4MjgKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDIwNCwxNTUpIHdpZHRoIDEyNzogIiB0ZXh0IGVsZW1lbnQiCisgICAgICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMzEsMTYzKSBzaXplIDR4MTgKKyAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgzMzEsMTYzKSB3aWR0aCA0OiAiICIKKyAgICAgICAgICAgICAg
ICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMzM1LDE0OSkgc2l6ZSA0OXg1MAorICAgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzg0LDE2Mykgc2l6ZSA0eDE4CisgICAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMzg0LDE2Mykgd2lkdGggNDogIiAiCisgICAgICAgICAgICAg
ICAgUmVuZGVySW5saW5lIHtTTUFMTH0gYXQgKDAsMCkgc2l6ZSAxODl4MTgKKyAgICAgICAgICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzg4LDE2Mykgc2l6ZSAxODl4MTgKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM4OCwxNjMpIHdpZHRoIDE4OTogInJlZ2FyZGxl
c3Mgb2YgdGhlIGxpbmUgaW4gd2hpY2giCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICg1NzcsMTYzKSBzaXplIDR4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg1NzcsMTYzKSB3aWR0aCA0OiAiICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1H
fSBhdCAoNTgxLDE2Nykgc2l6ZSA0OXgxNQorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoNjMwLDE2Mykgc2l6ZSA0eDE4CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoNjMwLDE2Mykgd2lkdGggNDogIiAiCisgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtC
SUd9IGF0ICgwLDApIHNpemUgNzI0eDk0CisgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDYzNCwxNTgpIHNpemUgNzI0eDk0CisgICAgICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICg2MzQsMTU4KSB3aWR0aCA5MDogInRoZSBpbWFnZXMiCisgICAgICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDIyOCkgd2lkdGggNjE6ICJhcHBlYXIuIgorICAgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNjEsMjMzKSBzaXplIDR4MTgKKyAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICg2MSwyMzMpIHdpZHRoIDQ6ICIgIgorICAgICAgICAgICAgICAg
IFJlbmRlckltYWdlIHtJTUd9IGF0ICg2NSwxOTkpIHNpemUgNDl4OTAKKyAgICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICAgICAgUmVu
ZGVyQmxvY2sge1B9IGF0ICg0LDE4MjMpIHNpemUgNzQ3eDM2CisgICAgICAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzMzeDM2CisgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA3MzM6ICJJbiB0aGUgZm9sbG93aW5nIHBhcmFncmFwaCwg
YWxsIGVsZW1lbnRzIHNob3VsZCBiZSBhbGlnbmVkIHdpdGggdGhlIHRvcCBvZiB0aGUgdGFsbGVz
dCBlbGVtZW50IG9uIHRoZSBsaW5lLCB3aGV0aGVyIHRoYXQiCisgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggMTczOiAiZWxlbWVudCBpcyBhbiBpbWFnZSBvciBub3Qu
ICIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNzMsMTgpIHdpZHRoIDU1NTogIkVh
Y2ggZnJhZ21lbnQgb2YgdGV4dCBoYXMgYmVlbiBTUEFObmVkIGFwcHJvcHJpYXRlbHkgaW4gb3Jk
ZXIgdG8gY2F1c2UgdGhpcyB0byBoYXBwZW4uIgorICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7
UH0gYXQgKDQsMTg3NSkgc2l6ZSA3NDd4MjAxCisgICAgICAgICAgICAgICAgUmVuZGVySW5saW5l
IHtTUEFOfSBhdCAoMCwwKSBzaXplIDk1eDE4CisgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA5NXgxOAorICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCA5NTogIlRoaXMgcGFyYWdyYXBoIgorICAgICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoOTUsMCkgc2l6ZSA0eDE4CisgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoOTUsMCkgd2lkdGggNDogIiAiCisgICAgICAgICAgICAgICAgUmVuZGVySW1h
Z2Uge0lNR30gYXQgKDk5LDApIHNpemUgNDl4MTAKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDE0OCwwKSBzaXplIDR4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgxNDgsMCkgd2lkdGggNDogIiAiCisgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtT
UEFOfSBhdCAoMCwwKSBzaXplIDM1N3g0NgorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgxNTIsMCkgc2l6ZSAzNTd4NDYKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDE1MiwwKSB3aWR0aCAzNTc6ICJjb250YWlucyBtYW55IGltYWdlcyIKKyAgICAgICAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDUwOSwwKSBzaXplIDR4MTgKKyAgICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICg1MDksMCkgd2lkdGggNDogIiAiCisgICAgICAgICAgICAg
ICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDUxMywwKSBzaXplIDQ5eDEwCisgICAgICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1NjIsMCkgc2l6ZSA0eDE4CisgICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNTYyLDApIHdpZHRoIDQ6ICIgIgorICAgICAgICAgICAgICAgIFJl
bmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA4N3gxOAorICAgICAgICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1NjYsMCkgc2l6ZSA4N3gxOAorICAgICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNTY2LDApIHdpZHRoIDg3OiAiYW5kIHNvbWUgdGV4dCIKKyAgICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDY1MywwKSBzaXplIDR4MTgKKyAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2NTMsMCkgd2lkdGggNDogIiAiCisgICAgICAgICAg
ICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDY1NywwKSBzaXplIDQ5eDEwCisgICAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3MDYsMCkgc2l6ZSA0eDE4CisgICAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNzA2LDApIHdpZHRoIDQ6ICIgIgorICAgICAgICAgICAgICAg
IFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA3MjN4NjQKKyAgICAgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzEwLDApIHNpemUgNzIzeDY0CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICg3MTAsMCkgd2lkdGggMTM6ICJvZiIKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsNDYpIHdpZHRoIDk3OiAidmFyeWluZyBoZWlnaHRzIgor
ICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOTcsNDYpIHNpemUgNHgxOAor
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDk3LDQ2KSB3aWR0aCA0OiAiICIKKyAgICAg
ICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMTAxLDQ2KSBzaXplIDQ5eDEwCisgICAg
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNTAsNDYpIHNpemUgNHgxOAorICAg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE1MCw0Nikgd2lkdGggNDogIiAiCisgICAgICAg
ICAgICAgICAgUmVuZGVySW5saW5lIHtCSUd9IGF0ICgwLDApIHNpemUgOTN4MjQKKyAgICAgICAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTU0LDQ2KSBzaXplIDkzeDI0CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNTQsNDYpIHdpZHRoIDkzOiAiYW5kIHdpZHRo
cyIKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDI0Nyw0Nikgc2l6ZSA0
eDE4CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjQ3LDQ2KSB3aWR0aCA0OiAiICIK
KyAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMjUxLDQ2KSBzaXplIDQ5eDIw
CisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMDAsNDYpIHNpemUgNHgx
OAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMwMCw0Nikgd2lkdGggNDogIiAiCisg
ICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDc1eDE4Cisg
ICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMwNCw0Nikgc2l6ZSA3NXgx
OAorICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzA0LDQ2KSB3aWR0aCA3NTogImFs
bCBvZiB3aGljaCIKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM3OSw0
Nikgc2l6ZSA0eDE4CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzc5LDQ2KSB3aWR0
aCA0OiAiICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMzgzLDQ2KSBz
aXplIDQ5eDY1CisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0MzIsNDYp
IHNpemUgNHgxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQzMiw0Nikgd2lkdGgg
NDogIiAiCisgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXpl
IDExMXgxOAorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0MzYsNDYp
IHNpemUgMTExeDE4CisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0MzYsNDYpIHdp
ZHRoIDExMTogInNob3VsZCBiZSBhbGlnbmVkIgorICAgICAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoNTQ3LDQ2KSBzaXplIDR4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICg1NDcsNDYpIHdpZHRoIDQ6ICIgIgorICAgICAgICAgICAgICAgIFJlbmRlckltYWdlIHtJ
TUd9IGF0ICg1NTEsNDYpIHNpemUgNDl4MzUKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDYwMCw0Nikgc2l6ZSA0eDE4CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoNjAwLDQ2KSB3aWR0aCA0OiAiICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQ
QU59IGF0ICgwLDApIHNpemUgNzA4eDEwMgorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICg2MDQsNDYpIHNpemUgNzA4eDEwMgorICAgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoNjA0LDQ2KSB3aWR0aCAxMDQ6ICJ3aXRoIHRoZSIKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMTExKSB3aWR0aCA3NjogInRvcCBvZiIKKyAgICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDc2LDExMSkgc2l6ZSA0eDE4CisgICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNzYsMTExKSB3aWR0aCA0OiAiICIKKyAgICAgICAgICAgICAgICBS
ZW5kZXJJbWFnZSB7SU1HfSBhdCAoODAsMTExKSBzaXplIDQ5eDUwCisgICAgICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMjksMTExKSBzaXplIDR4MTgKKyAgICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxMjksMTExKSB3aWR0aCA0OiAiICIKKyAgICAgICAgICAgICAgICBS
ZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTI4eDE4CisgICAgICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEzMywxMTEpIHNpemUgMTI4eDE4CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgxMzMsMTExKSB3aWR0aCAxMjg6ICJ0aGUgdGFsbGVzdCBl
bGVtZW50IGluIgorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjYxLDEx
MSkgc2l6ZSA0eDE4CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjYxLDExMSkgd2lk
dGggNDogIiAiCisgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDI2NSwxMTEp
IHNpemUgNDl4MTUKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMxNCwx
MTEpIHNpemUgNHgxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMxNCwxMTEpIHdp
ZHRoIDQ6ICIgIgorICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7QklHfSBhdCAoMCwwKSBz
aXplIDMwMXgyNAorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMTgs
MTExKSBzaXplIDMwMXgyNAorICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzE4LDEx
MSkgd2lkdGggMzAxOiAid2hpY2hldmVyIGxpbmUgdGhlIGVsZW1lbnRzIGFwcGVhci4iCisgICAg
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2MTksMTExKSBzaXplIDR4MTgKKyAg
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2MTksMTExKSB3aWR0aCA0OiAiICIKKyAgICAg
ICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoNjIzLDExMSkgc2l6ZSA0OXg5MAorICAg
ICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3ZlcnRpY2FsLWFsaWduLmh0bWwgYi9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvdmVydGljYWwtYWxpZ24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OGVlOWUyZTE0
ZTI4Zjk2ZTQ3YzQ4NmQ3YTNhMDg2Nzg0ODBiNDExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL3ZlcnRpY2FsLWFsaWduLmh0bWwKQEAgLTAsMCArMSwyOTEgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9F
TiIgImh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAvbG9vc2UuZHRkIj4KKzxIVE1MPgor
PEhFQUQ+Cis8VElUTEU+Q1NTMSBUZXN0IFN1aXRlOiA1LjQuNCB2ZXJ0aWNhbC1hbGlnbjwvVElU
TEU+Cis8TUVUQSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsg
Y2hhcnNldD1pc28tODg1OS0xIj4KKzxNRVRBIGh0dHAtZXF1aXY9IkNvbnRlbnQtU3R5bGUtVHlw
ZSIgY29udGVudD0idGV4dC9jc3MiPgorCis8TElOSyByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRl
eHQvY3NzIiBtZWRpYT0ic2NyZWVuIiBocmVmPSIuLi9yZXNvdXJjZXMvYmFzZS5jc3MiPgorPFNU
WUxFIHR5cGU9InRleHQvY3NzIj4KK1Age2ZvbnQtc2l6ZTogMTJwdDt9Cisub25lIHt2ZXJ0aWNh
bC1hbGlnbjogc3ViO30KKy50d28ge3ZlcnRpY2FsLWFsaWduOiBzdXBlcjt9CisudGhyZWUge3Zl
cnRpY2FsLWFsaWduOiB0b3A7IGZvbnQtc2l6ZTogMTJwdDt9CisuZm91ciB7dmVydGljYWwtYWxp
Z246IHRleHQtdG9wOyBmb250LXNpemU6IDEycHQ7fQorLmZpdmUge3ZlcnRpY2FsLWFsaWduOiBt
aWRkbGU7IGZvbnQtc2l6ZTogMTJwdDt9Cisuc2l4IHt2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyBm
b250LXNpemU6IDEycHQ7fQorLnNldmVuIHt2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207IGZv
bnQtc2l6ZTogMTJwdDt9CisuZWlnaHQge3ZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgZm9udC1z
aXplOiAxMnB0O30KKy5uaW5lIHt2ZXJ0aWNhbC1hbGlnbjogLXdlYmtpdC1jYWxjKDUwJSk7IGZv
bnQtc2l6ZTogLXdlYmtpdC1jYWxjKDEycHgpOyBsaW5lLWhlaWdodDogLXdlYmtpdC1jYWxjKDE2
cHgpO30KKworUC5leGFtcGxlIHtmb250LXNpemU6IDE0cHQ7fQorQklHIHtmb250LXNpemU6IDE2
cHQ7fQorU01BTEwge2ZvbnQtc2l6ZTogMTJwdDt9CisudHRvcGFsaWduIHt2ZXJ0aWNhbC1hbGln
bjogdGV4dC10b3A7fQorLnRvcGFsaWduIHt2ZXJ0aWNhbC1hbGlnbjogdG9wO30KKy5taWRhbGln
biB7dmVydGljYWwtYWxpZ246IG1pZGRsZTt9Cis8L1NUWUxFPgorCis8L0hFQUQ+CisKKzxCT0RZ
PjxQPlRoZSBzdHlsZSBkZWNsYXJhdGlvbnMgd2hpY2ggYXBwbHkgdG8gdGhlIHRleHQgYmVsb3cg
YXJlOjwvUD4KKzxQUkU+UCB7Zm9udC1zaXplOiAxMnB0O30KKy5vbmUge3ZlcnRpY2FsLWFsaWdu
OiBzdWI7fQorLnR3byB7dmVydGljYWwtYWxpZ246IHN1cGVyO30KKy50aHJlZSB7dmVydGljYWwt
YWxpZ246IHRvcDsgZm9udC1zaXplOiAxMnB0O30KKy5mb3VyIHt2ZXJ0aWNhbC1hbGlnbjogdGV4
dC10b3A7IGZvbnQtc2l6ZTogMTJwdDt9CisuZml2ZSB7dmVydGljYWwtYWxpZ246IG1pZGRsZTsg
Zm9udC1zaXplOiAxMnB0O30KKy5zaXgge3ZlcnRpY2FsLWFsaWduOiBib3R0b207IGZvbnQtc2l6
ZTogMTJwdDt9Cisuc2V2ZW4ge3ZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTsgZm9udC1zaXpl
OiAxMnB0O30KKy5laWdodCB7dmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyBmb250LXNpemU6IDEy
cHQ7fQorLm5pbmUge3ZlcnRpY2FsLWFsaWduOiA1MCU7IGZvbnQtc2l6ZTogMTJweDsgbGluZS1o
ZWlnaHQ6IDE2cHg7fQorCitQLmV4YW1wbGUge2ZvbnQtc2l6ZTogMTRwdDt9CitCSUcge2ZvbnQt
c2l6ZTogMTZwdDt9CitTTUFMTCB7Zm9udC1zaXplOiAxMnB0O30KKy50dG9wYWxpZ24ge3ZlcnRp
Y2FsLWFsaWduOiB0ZXh0LXRvcDt9CisudG9wYWxpZ24ge3ZlcnRpY2FsLWFsaWduOiB0b3A7fQor
Lm1pZGFsaWduIHt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO30KKworPC9QUkU+Cis8SFI+Cis8UD4K
KzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9
IjUwIj48U1BBTiBjbGFzcz0ib25lIj5UaGUgZmlyc3QgZm91ciB3b3JkczwvU1BBTj4gaW4gdGhp
cyBzZW50ZW5jZSBzaG91bGQgYmUgc3Vic2NyaXB0LWFsaWduZWQuICBUaGUgZm9udCBzaXplIG9m
IHRoZSBzdXBlcnNjcmlwdGVkIHRleHQgc2hvdWxkIG5vdCBiZSBkaWZmZXJlbnQgZnJvbSB0aGF0
IG9mIHRoZSBwYXJlbnQgZWxlbWVudC4KKzwvUD4KKzxQPgorPElNRyBTUkM9Ii4uL3Jlc291cmNl
cy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iNTAiPjxTUEFOIGNsYXNzPSJ0d28i
PlRoZSBmaXJzdCBmb3VyIHdvcmRzPC9TUEFOPiBpbiB0aGlzIHNlbnRlbmNlIHNob3VsZCBiZSBz
dXBlcnNjcmlwdC1hbGlnbmVkLiAgVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc3Vic2NyaXB0ZWQgdGV4
dCBzaG91bGQgbm90IGJlIGRpZmZlcmVudCBmcm9tIHRoYXQgb2YgdGhlIHBhcmVudCBlbGVtZW50
LgorPC9QPgorPFA+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0lt
YWdlXSIgaGVpZ2h0PSI1MCI+PFNQQU4gY2xhc3M9InRocmVlIj5UaGUgZmlyc3QgZm91ciB3b3Jk
czwvU1BBTj4gaW4gdGhpcyBzZW50ZW5jZSBzaG91bGQgYmUgdG9wLWFsaWduZWQsIHdoaWNoIHdp
bGwgYWxpZ24gdGhlaXIgdG9wcyB3aXRoIHRoZSB0b3Agb2YgdGhlIHRhbGxlc3QgZWxlbWVudCBp
biB0aGUgbGluZSAocHJvYmFibHkgdGhlIG9yYW5nZSByZWN0YW5nbGUpLgorPC9QPgorPFA+Cis8
SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI1
MCI+Cis8U1BBTiBzdHlsZT0iZm9udC1zaXplOiAyMDAlOyI+Cis8U1BBTiBjbGFzcz0iZm91ciI+
VGhlIGZpcnN0IGZvdXIgd29yZHM8L1NQQU4+IGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGJlIHRl
eHQtdG9wLWFsaWduZWQsIHdoaWNoIHNob3VsZCBhbGlnbiB0aGVpciB0b3BzIHdpdGggdGhlIHRv
cCBvZiB0aGUgdGFsbGVzdCB0ZXh0IGluIHRoZSBsaW5lLgorPC9TUEFOPgorPC9QPgorPFA+Cis8
SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI1
MCIgY2xhc3M9ImZpdmUiPgorVGhlIGltYWdlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhpcyBzZW50
ZW5jZSBzaG91bGQgYmUgbWlkZGxlLWFsaWduZWQsIHdoaWNoIHNob3VsZCBhbGlnbiBpdHMgbWlk
ZGxlIHdpdGggdGhlIHBvaW50IGRlZmluZWQgYXMgdGhlIHRleHQgYmFzZWxpbmUgcGx1cyBoYWxm
IHRoZSB4LWhlaWdodC4KKzwvUD4KKzxQPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92Ymxhbmsu
Z2lmIiBhbGlnbj0idG9wIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iNTAiPgorPFNQQU4gc3R5bGU9
ImZvbnQtc2l6ZTogMjAwJTsiPgorPFNQQU4gY2xhc3M9InNpeCI+VGhlIGZpcnN0IGZvdXIgd29y
ZHM8L1NQQU4+IGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGJlIDEycHQgaW4gc2l6ZSBhbmQgYm90
dG9tLWFsaWduZWQsIHdoaWNoIHNob3VsZCBhbGlnbiB0aGVpciBib3R0b20gd2l0aCB0aGUgYm90
dG9tIG9mIHRoZSBsb3dlc3QgZWxlbWVudCBpbiB0aGUgbGluZS4KKzwvU1BBTj4KKzwvUD4KKzxQ
PgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbGlnbj0idG9wIiBhbHQ9IltJ
bWFnZV0iIGhlaWdodD0iNTAiPgorPFNQQU4gc3R5bGU9ImZvbnQtc2l6ZTogMjAwJTsiPgorPFNQ
QU4gY2xhc3M9InNldmVuIj5UaGUgZmlyc3QgZWlnaHQgd29yZHMgKCJlaWdodCIgaGFzIGEgZGVz
Y2VuZGVyKTwvU1BBTj4gaW4gdGhpcyBzZW50ZW5jZSBzaG91bGQgYmUgMTJwdCBpbiBzaXplIGFu
ZCB0ZXh0LWJvdHRvbS1hbGlnbmVkLCB3aGljaCBzaG91bGQgYWxpZ24gdGhlaXIgYm90dG9tIHdp
dGggdGhlIGJvdHRvbSBvZiB0aGUgbG93ZXN0IHRleHQgKGluY2x1ZGluZyBkZXNjZW5kZXJzKSBp
biB0aGUgbGluZS4KKzwvU1BBTj4KKzwvUD4KKzxQPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92
YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iNTAiPgorPFNQQU4gc3R5bGU9ImZvbnQt
c2l6ZTogMjAwJTsiPgorPFNQQU4gY2xhc3M9ImVpZ2h0Ij5UaGUgZmlyc3QgZm91ciB3b3Jkczwv
U1BBTj4gaW4gdGhpcyBzZW50ZW5jZSBzaG91bGQgYmUgMTJwdCBpbiBzaXplIGFuZCBiYXNlbGlu
ZS1hbGlnbmVkLCB3aGljaCBzaG91bGQgYWxpZ24gdGhlaXIgYmFzZWxpbmUgd2l0aCB0aGUgYmFz
ZWxpbmUgb2YgdGhlIHJlc3Qgb2YgdGhlIHRleHQgaW4gdGhlIGxpbmUuCis8L1NQQU4+Cis8L1A+
Cis8UD4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBo
ZWlnaHQ9IjUwIj48U1BBTiBjbGFzcz0ibmluZSI+VGhlIGZpcnN0IGZvdXIgd29yZHM8L1NQQU4+
IGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGhhdmUgYSBmb250LXNpemUgb2YgMTJweCBhbmQgYSBs
aW5lLWhlaWdodCBvZiAxNnB4OyB0aGV5IGFyZSBhbHNvIDUwJS1hbGlnbmVkLCB3aGljaCBzaG91
bGQgcmFpc2UgdGhlbSA4cHggcmVsYXRpdmUgdG8gdGhlIG5hdHVyYWwgYmFzZWxpbmUuCis8L1A+
Cis8UD4KK0luIHRoZSBmb2xsb3dpbmcgcGFyYWdyYXBoLCBhbGwgaW1hZ2VzIHNob3VsZCBiZSBh
bGlnbmVkIHdpdGggdGhlIHRvcCBvZiB0aGUgMTQtcG9pbnQgdGV4dCwgd2hpY2ggaXMgaWRlbnRp
Y2FsIHRvIHRoZSBmaXJzdCBzZWN0aW9uIG9mIHRleHQsIHdoZXJlYXMgYW55IHNpemUgdGV4dCBz
aG91bGQgYmUgYWxpZ25lZCB3aXRoIHRoZSB0ZXh0IGJhc2VsaW5lICh3aGljaCBpcyB0aGUgZGVm
YXVsdCB2YWx1ZSkuCis8L1A+Cis8UCBjbGFzcz0iZXhhbXBsZSI+CitUaGlzIHBhcmFncmFwaAor
PElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0i
MzAiIGNsYXNzPSJ0dG9wYWxpZ24iPgorPFNQQU4gc3R5bGU9ImZvbnQtc2l6ZTogMjUwJTsiPmNv
bnRhaW5zIG1hbnkgaW1hZ2VzPC9TUEFOPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92Ymxhbmsu
Z2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iNTAiIGNsYXNzPSJ0dG9wYWxpZ24iPgorPEJJRz5v
ZiB2YXJ5aW5nIGhlaWdodHM8L0JJRz4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdp
ZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjEwIiBjbGFzcz0idHRvcGFsaWduIj4KKzxTTUFMTD5h
bmQgd2lkdGhzPC9TTUFMTD4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0
PSJbSW1hZ2VdIiBoZWlnaHQ9IjIwIiBjbGFzcz0idHRvcGFsaWduIj4KK2FsbCBvZiB3aGljaAor
PElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0i
NjUiIGNsYXNzPSJ0dG9wYWxpZ24iPgorPFNQQU4gc3R5bGU9ImZvbnQtc2l6ZTogMmVtOyI+c2hv
dWxkIGJlIGFsaWduZWQ8L1NQQU4+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYi
IGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSIzNSIgY2xhc3M9InR0b3BhbGlnbiI+Cit3aXRoIHRoZSB0
b3Agb2YKKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBo
ZWlnaHQ9IjMwIiBjbGFzcz0idHRvcGFsaWduIj4KKzxTUEFOIHN0eWxlPSJmb250LXNpemU6IDE1
MCU7Ij5hIDxTUEFOIHN0eWxlPSJmb250LXNpemU6IDI1MCU7Ij4xNC1wb2ludDwvU1BBTj4gdGV4
dCBlbGVtZW50PC9TUEFOPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9
IltJbWFnZV0iIGhlaWdodD0iNTAiIGNsYXNzPSJ0dG9wYWxpZ24iPgorPFNNQUxMPnJlZ2FyZGxl
c3Mgb2YgdGhlIGxpbmUgaW4gd2hpY2g8L1NNQUxMPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92
YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iMTUiIGNsYXNzPSJ0dG9wYWxpZ24iPgor
PEJJRz50aGUgaW1hZ2VzIGFwcGVhci48L0JJRz4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJs
YW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjkwIiBjbGFzcz0idHRvcGFsaWduIj4KKzwv
UD4KKzxQIGNsYXNzPSJleHBsYWluIj4KK0luIHRoZSBmb2xsb3dpbmcgcGFyYWdyYXBoLCBhbGwg
aW1hZ2VzIHNob3VsZCBiZSBhbGlnbmVkIHdpdGggdGhlIG1pZGRsZSBvZiB0aGUgZGVmYXVsdCB0
ZXh0LCB3aGVyZWFzIGFueSB0ZXh0IHNob3VsZCBiZSBhbGlnbmVkIHdpdGggdGhlIHRleHQgYmFz
ZWxpbmUgKHdoaWNoIGlzIHRoZSBkZWZhdWx0IHZhbHVlKS4KKzwvUD4KKzxQPgorVGhpcyBwYXJh
Z3JhcGgKKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBo
ZWlnaHQ9IjMwIiBjbGFzcz0ibWlkYWxpZ24iPgorPFNQQU4gc3R5bGU9ImZvbnQtc2l6ZTogMjUw
JTsiPmNvbnRhaW5zIG1hbnkgaW1hZ2VzPC9TUEFOPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92
YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iNTAiIGNsYXNzPSJtaWRhbGlnbiI+Citv
ZiB2YXJ5aW5nIGhlaWdodHMKKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0
PSJbSW1hZ2VdIiBoZWlnaHQ9IjEwIiBjbGFzcz0ibWlkYWxpZ24iPgorPFNNQUxMPmFuZCB3aWR0
aHM8L1NNQUxMPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFn
ZV0iIGhlaWdodD0iMjAiIGNsYXNzPSJtaWRhbGlnbiI+CithbGwgb2Ygd2hpY2gKKzxJTUcgU1JD
PSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjY1IiBjbGFz
cz0ibWlkYWxpZ24iPgorc2hvdWxkIGJlIGFsaWduZWQKKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMv
dmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjM1IiBjbGFzcz0ibWlkYWxpZ24iPgor
PFNQQU4gc3R5bGU9ImZvbnQtc2l6ZTogMmVtOyI+d2l0aCB0aGUgbWlkZGxlIG9mPC9TUEFOPgor
PElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0i
NTAiIGNsYXNzPSJtaWRhbGlnbiI+Cis8U1BBTiBzdHlsZT0iZm9udC1zaXplOiAxNTAlOyI+YSA8
U1BBTiBzdHlsZT0iZm9udC1zaXplOiAyNTAlOyI+MTQtcG9pbnQ8L1NQQU4+IHRleHQgZWxlbWVu
dDwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2Vd
IiBoZWlnaHQ9IjUwIiBjbGFzcz0ibWlkYWxpZ24iPgorPFNNQUxMPnJlZ2FyZGxlc3Mgb2YgdGhl
IGxpbmUgaW4gd2hpY2g8L1NNQUxMPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lm
IiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iMTUiIGNsYXNzPSJtaWRhbGlnbiI+Cis8QklHPnRoZSBp
bWFnZXMgYXBwZWFyLjwvQklHPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBh
bHQ9IltJbWFnZV0iIGhlaWdodD0iOTAiIGNsYXNzPSJtaWRhbGlnbiI+Cis8L1A+Cis8UCBjbGFz
cz0iZXhwbGFpbiI+CitJbiB0aGUgZm9sbG93aW5nIHBhcmFncmFwaCwgYWxsIGVsZW1lbnRzIHNo
b3VsZCBiZSBhbGlnbmVkIHdpdGggdGhlIHRvcCBvZiB0aGUgdGFsbGVzdCBlbGVtZW50IG9uIHRo
ZSBsaW5lLCB3aGV0aGVyIHRoYXQgZWxlbWVudCBpcyBhbiBpbWFnZSBvciBub3QuICBFYWNoIGZy
YWdtZW50IG9mIHRleHQgaGFzIGJlZW4gU1BBTm5lZCBhcHByb3ByaWF0ZWx5IGluIG9yZGVyIHRv
IGNhdXNlIHRoaXMgdG8gaGFwcGVuLgorPC9QPgorPFA+Cis8U1BBTiBjbGFzcz0idG9wYWxpZ24i
PlRoaXMgcGFyYWdyYXBoPC9TUEFOPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lm
IiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iMTAiIGNsYXNzPSJ0b3BhbGlnbiI+Cis8U1BBTiBzdHls
ZT0iZm9udC1zaXplOiAyNTAlOyIgY2xhc3M9InRvcGFsaWduIj5jb250YWlucyBtYW55IGltYWdl
czwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2Vd
IiBoZWlnaHQ9IjEwIiBjbGFzcz0idG9wYWxpZ24iPgorPFNQQU4gY2xhc3M9InRvcGFsaWduIj5h
bmQgc29tZSB0ZXh0PC9TUEFOPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBh
bHQ9IltJbWFnZV0iIGhlaWdodD0iMTAiIGNsYXNzPSJ0b3BhbGlnbiI+Cis8U1BBTiBjbGFzcz0i
dG9wYWxpZ24iPm9mIHZhcnlpbmcgaGVpZ2h0czwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNvdXJj
ZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjEwIiBjbGFzcz0idG9wYWxpZ24i
PgorPEJJRyBjbGFzcz0idG9wYWxpZ24iPmFuZCB3aWR0aHM8L0JJRz4KKzxJTUcgU1JDPSIuLi9y
ZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjIwIiBjbGFzcz0idG9w
YWxpZ24iPgorPFNQQU4gY2xhc3M9InRvcGFsaWduIj5hbGwgb2Ygd2hpY2g8L1NQQU4+Cis8SU1H
IFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI2NSIg
Y2xhc3M9InRvcGFsaWduIj4KKzxTUEFOIGNsYXNzPSJ0b3BhbGlnbiI+c2hvdWxkIGJlIGFsaWdu
ZWQ8L1NQQU4+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdl
XSIgaGVpZ2h0PSIzNSIgY2xhc3M9InRvcGFsaWduIj4KKzxTUEFOIHN0eWxlPSJmb250LXNpemU6
IDJlbTsiIGNsYXNzPSJ0b3BhbGlnbiI+d2l0aCB0aGUgdG9wIG9mPC9TUEFOPgorPElNRyBTUkM9
Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iNTAiIGNsYXNz
PSJ0b3BhbGlnbiI+Cis8U1BBTiBjbGFzcz0idG9wYWxpZ24iPnRoZSB0YWxsZXN0IGVsZW1lbnQg
aW48L1NQQU4+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdl
XSIgaGVpZ2h0PSIxNSIgY2xhc3M9InRvcGFsaWduIj4KKzxCSUcgY2xhc3M9InRvcGFsaWduIj53
aGljaGV2ZXIgbGluZSB0aGUgZWxlbWVudHMgYXBwZWFyLjwvQklHPgorPElNRyBTUkM9Ii4uL3Jl
c291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iOTAiIGNsYXNzPSJ0b3Bh
bGlnbiI+Cis8L1A+CisKKworPFRBQkxFIGJvcmRlciBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRp
bmc9IjMiIGNsYXNzPSJ0YWJsZXRlc3QiPgorPFRSPgorPFREIGNvbHNwYW49IjIiIGJnY29sb3I9
InNpbHZlciI+PFNUUk9ORz5UQUJMRSBUZXN0aW5nIFNlY3Rpb248L1NUUk9ORz48L1REPgorPC9U
Uj4KKzxUUj4KKzxURCBiZ2NvbG9yPSJzaWx2ZXIiPiZuYnNwOzwvVEQ+Cis8VEQ+PFA+Cis8SU1H
IFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI1MCI+
PFNQQU4gY2xhc3M9Im9uZSI+VGhlIGZpcnN0IGZvdXIgd29yZHM8L1NQQU4+IGluIHRoaXMgc2Vu
dGVuY2Ugc2hvdWxkIGJlIHN1YnNjcmlwdC1hbGlnbmVkLiAgVGhlIGZvbnQgc2l6ZSBvZiB0aGUg
c3VwZXJzY3JpcHRlZCB0ZXh0IHNob3VsZCBub3QgYmUgZGlmZmVyZW50IGZyb20gdGhhdCBvZiB0
aGUgcGFyZW50IGVsZW1lbnQuCis8L1A+Cis8UD4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJs
YW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjUwIj48U1BBTiBjbGFzcz0idHdvIj5UaGUg
Zmlyc3QgZm91ciB3b3JkczwvU1BBTj4gaW4gdGhpcyBzZW50ZW5jZSBzaG91bGQgYmUgc3VwZXJz
Y3JpcHQtYWxpZ25lZC4gIFRoZSBmb250IHNpemUgb2YgdGhlIHN1YnNjcmlwdGVkIHRleHQgc2hv
dWxkIG5vdCBiZSBkaWZmZXJlbnQgZnJvbSB0aGF0IG9mIHRoZSBwYXJlbnQgZWxlbWVudC4KKzwv
UD4KKzxQPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0i
IGhlaWdodD0iNTAiPjxTUEFOIGNsYXNzPSJ0aHJlZSI+VGhlIGZpcnN0IGZvdXIgd29yZHM8L1NQ
QU4+IGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGJlIHRvcC1hbGlnbmVkLCB3aGljaCB3aWxsIGFs
aWduIHRoZWlyIHRvcHMgd2l0aCB0aGUgdG9wIG9mIHRoZSB0YWxsZXN0IGVsZW1lbnQgaW4gdGhl
IGxpbmUgKHByb2JhYmx5IHRoZSBvcmFuZ2UgcmVjdGFuZ2xlKS4KKzwvUD4KKzxQPgorPElNRyBT
UkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iNTAiPgor
PFNQQU4gc3R5bGU9ImZvbnQtc2l6ZTogMjAwJTsiPgorPFNQQU4gY2xhc3M9ImZvdXIiPlRoZSBm
aXJzdCBmb3VyIHdvcmRzPC9TUEFOPiBpbiB0aGlzIHNlbnRlbmNlIHNob3VsZCBiZSB0ZXh0LXRv
cC1hbGlnbmVkLCB3aGljaCBzaG91bGQgYWxpZ24gdGhlaXIgdG9wcyB3aXRoIHRoZSB0b3Agb2Yg
dGhlIHRhbGxlc3QgdGV4dCBpbiB0aGUgbGluZS4KKzwvU1BBTj4KKzwvUD4KKzxQPgorPElNRyBT
UkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iNTAiIGNs
YXNzPSJmaXZlIj4KK1RoZSBpbWFnZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoaXMgc2VudGVuY2Ug
c2hvdWxkIGJlIG1pZGRsZS1hbGlnbmVkLCB3aGljaCBzaG91bGQgYWxpZ24gaXRzIG1pZGRsZSB3
aXRoIHRoZSBwb2ludCBkZWZpbmVkIGFzIHRoZSB0ZXh0IGJhc2VsaW5lIHBsdXMgaGFsZiB0aGUg
eC1oZWlnaHQuCis8L1A+Cis8UD4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIg
YWxpZ249InRvcCIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjUwIj4KKzxTUEFOIHN0eWxlPSJmb250
LXNpemU6IDIwMCU7Ij4KKzxTUEFOIGNsYXNzPSJzaXgiPlRoZSBmaXJzdCBmb3VyIHdvcmRzPC9T
UEFOPiBpbiB0aGlzIHNlbnRlbmNlIHNob3VsZCBiZSAxMnB0IGluIHNpemUgYW5kIGJvdHRvbS1h
bGlnbmVkLCB3aGljaCBzaG91bGQgYWxpZ24gdGhlaXIgYm90dG9tIHdpdGggdGhlIGJvdHRvbSBv
ZiB0aGUgbG93ZXN0IGVsZW1lbnQgaW4gdGhlIGxpbmUuCis8L1NQQU4+Cis8L1A+Cis8UD4KKzxJ
TUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWxpZ249InRvcCIgYWx0PSJbSW1hZ2Vd
IiBoZWlnaHQ9IjUwIj4KKzxTUEFOIHN0eWxlPSJmb250LXNpemU6IDIwMCU7Ij4KKzxTUEFOIGNs
YXNzPSJzZXZlbiI+VGhlIGZpcnN0IGVpZ2h0IHdvcmRzICgiZWlnaHQiIGhhcyBhIGRlc2NlbmRl
cik8L1NQQU4+IGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGJlIDEycHQgaW4gc2l6ZSBhbmQgdGV4
dC1ib3R0b20tYWxpZ25lZCwgd2hpY2ggc2hvdWxkIGFsaWduIHRoZWlyIGJvdHRvbSB3aXRoIHRo
ZSBib3R0b20gb2YgdGhlIGxvd2VzdCB0ZXh0IChpbmNsdWRpbmcgZGVzY2VuZGVycykgaW4gdGhl
IGxpbmUuCis8L1NQQU4+Cis8L1A+Cis8UD4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5r
LmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjUwIj4KKzxTUEFOIHN0eWxlPSJmb250LXNpemU6
IDIwMCU7Ij4KKzxTUEFOIGNsYXNzPSJlaWdodCI+VGhlIGZpcnN0IGZvdXIgd29yZHM8L1NQQU4+
IGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGJlIDEycHQgaW4gc2l6ZSBhbmQgYmFzZWxpbmUtYWxp
Z25lZCwgd2hpY2ggc2hvdWxkIGFsaWduIHRoZWlyIGJhc2VsaW5lIHdpdGggdGhlIGJhc2VsaW5l
IG9mIHRoZSByZXN0IG9mIHRoZSB0ZXh0IGluIHRoZSBsaW5lLgorPC9TUEFOPgorPC9QPgorPFA+
Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0
PSI1MCI+PFNQQU4gY2xhc3M9Im5pbmUiPlRoZSBmaXJzdCBmb3VyIHdvcmRzPC9TUEFOPiBpbiB0
aGlzIHNlbnRlbmNlIHNob3VsZCBoYXZlIGEgZm9udC1zaXplIG9mIDEycHggYW5kIGEgbGluZS1o
ZWlnaHQgb2YgMTZweDsgdGhleSBhcmUgYWxzbyA1MCUtYWxpZ25lZCwgd2hpY2ggc2hvdWxkIHJh
aXNlIHRoZW0gOHB4IHJlbGF0aXZlIHRvIHRoZSBuYXR1cmFsIGJhc2VsaW5lLgorPC9QPgorPFA+
CitJbiB0aGUgZm9sbG93aW5nIHBhcmFncmFwaCwgYWxsIGltYWdlcyBzaG91bGQgYmUgYWxpZ25l
ZCB3aXRoIHRoZSB0b3Agb2YgdGhlIDE0LXBvaW50IHRleHQsIHdoaWNoIGlzIGlkZW50aWNhbCB0
byB0aGUgZmlyc3Qgc2VjdGlvbiBvZiB0ZXh0LCB3aGVyZWFzIGFueSBzaXplIHRleHQgc2hvdWxk
IGJlIGFsaWduZWQgd2l0aCB0aGUgdGV4dCBiYXNlbGluZSAod2hpY2ggaXMgdGhlIGRlZmF1bHQg
dmFsdWUpLgorPC9QPgorPFAgY2xhc3M9ImV4YW1wbGUiPgorVGhpcyBwYXJhZ3JhcGgKKzxJTUcg
U1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjMwIiBj
bGFzcz0idHRvcGFsaWduIj4KKzxTUEFOIHN0eWxlPSJmb250LXNpemU6IDI1MCU7Ij5jb250YWlu
cyBtYW55IGltYWdlczwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIg
YWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjUwIiBjbGFzcz0idHRvcGFsaWduIj4KKzxCSUc+b2YgdmFy
eWluZyBoZWlnaHRzPC9CSUc+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFs
dD0iW0ltYWdlXSIgaGVpZ2h0PSIxMCIgY2xhc3M9InR0b3BhbGlnbiI+Cis8U01BTEw+YW5kIHdp
ZHRoczwvU01BTEw+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0lt
YWdlXSIgaGVpZ2h0PSIyMCIgY2xhc3M9InR0b3BhbGlnbiI+CithbGwgb2Ygd2hpY2gKKzxJTUcg
U1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjY1IiBj
bGFzcz0idHRvcGFsaWduIj4KKzxTUEFOIHN0eWxlPSJmb250LXNpemU6IDJlbTsiPnNob3VsZCBi
ZSBhbGlnbmVkPC9TUEFOPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9
IltJbWFnZV0iIGhlaWdodD0iMzUiIGNsYXNzPSJ0dG9wYWxpZ24iPgord2l0aCB0aGUgdG9wIG9m
Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0
PSIzMCIgY2xhc3M9InR0b3BhbGlnbiI+Cis8U1BBTiBzdHlsZT0iZm9udC1zaXplOiAxNTAlOyI+
YSA8U1BBTiBzdHlsZT0iZm9udC1zaXplOiAyNTAlOyI+MTQtcG9pbnQ8L1NQQU4+IHRleHQgZWxl
bWVudDwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1h
Z2VdIiBoZWlnaHQ9IjUwIiBjbGFzcz0idHRvcGFsaWduIj4KKzxTTUFMTD5yZWdhcmRsZXNzIG9m
IHRoZSBsaW5lIGluIHdoaWNoPC9TTUFMTD4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5r
LmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjE1IiBjbGFzcz0idHRvcGFsaWduIj4KKzxCSUc+
dGhlIGltYWdlcyBhcHBlYXIuPC9CSUc+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5n
aWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI5MCIgY2xhc3M9InR0b3BhbGlnbiI+Cis8L1A+Cis8
UCBjbGFzcz0iZXhwbGFpbiI+CitJbiB0aGUgZm9sbG93aW5nIHBhcmFncmFwaCwgYWxsIGltYWdl
cyBzaG91bGQgYmUgYWxpZ25lZCB3aXRoIHRoZSBtaWRkbGUgb2YgdGhlIGRlZmF1bHQgdGV4dCwg
d2hlcmVhcyBhbnkgdGV4dCBzaG91bGQgYmUgYWxpZ25lZCB3aXRoIHRoZSB0ZXh0IGJhc2VsaW5l
ICh3aGljaCBpcyB0aGUgZGVmYXVsdCB2YWx1ZSkuCis8L1A+Cis8UD4KK1RoaXMgcGFyYWdyYXBo
Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0
PSIzMCIgY2xhc3M9Im1pZGFsaWduIj4KKzxTUEFOIHN0eWxlPSJmb250LXNpemU6IDI1MCU7Ij5j
b250YWlucyBtYW55IGltYWdlczwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5r
LmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjUwIiBjbGFzcz0ibWlkYWxpZ24iPgorb2YgdmFy
eWluZyBoZWlnaHRzCis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0lt
YWdlXSIgaGVpZ2h0PSIxMCIgY2xhc3M9Im1pZGFsaWduIj4KKzxTTUFMTD5hbmQgd2lkdGhzPC9T
TUFMTD4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBo
ZWlnaHQ9IjIwIiBjbGFzcz0ibWlkYWxpZ24iPgorYWxsIG9mIHdoaWNoCis8SU1HIFNSQz0iLi4v
cmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI2NSIgY2xhc3M9Im1p
ZGFsaWduIj4KK3Nob3VsZCBiZSBhbGlnbmVkCis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFu
ay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSIzNSIgY2xhc3M9Im1pZGFsaWduIj4KKzxTUEFO
IHN0eWxlPSJmb250LXNpemU6IDJlbTsiPndpdGggdGhlIG1pZGRsZSBvZjwvU1BBTj4KKzxJTUcg
U1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjUwIiBj
bGFzcz0ibWlkYWxpZ24iPgorPFNQQU4gc3R5bGU9ImZvbnQtc2l6ZTogMTUwJTsiPmEgPFNQQU4g
c3R5bGU9ImZvbnQtc2l6ZTogMjUwJTsiPjE0LXBvaW50PC9TUEFOPiB0ZXh0IGVsZW1lbnQ8L1NQ
QU4+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVp
Z2h0PSI1MCIgY2xhc3M9Im1pZGFsaWduIj4KKzxTTUFMTD5yZWdhcmRsZXNzIG9mIHRoZSBsaW5l
IGluIHdoaWNoPC9TTUFMTD4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0
PSJbSW1hZ2VdIiBoZWlnaHQ9IjE1IiBjbGFzcz0ibWlkYWxpZ24iPgorPEJJRz50aGUgaW1hZ2Vz
IGFwcGVhci48L0JJRz4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJb
SW1hZ2VdIiBoZWlnaHQ9IjkwIiBjbGFzcz0ibWlkYWxpZ24iPgorPC9QPgorPFAgY2xhc3M9ImV4
cGxhaW4iPgorSW4gdGhlIGZvbGxvd2luZyBwYXJhZ3JhcGgsIGFsbCBlbGVtZW50cyBzaG91bGQg
YmUgYWxpZ25lZCB3aXRoIHRoZSB0b3Agb2YgdGhlIHRhbGxlc3QgZWxlbWVudCBvbiB0aGUgbGlu
ZSwgd2hldGhlciB0aGF0IGVsZW1lbnQgaXMgYW4gaW1hZ2Ugb3Igbm90LiAgRWFjaCBmcmFnbWVu
dCBvZiB0ZXh0IGhhcyBiZWVuIFNQQU5uZWQgYXBwcm9wcmlhdGVseSBpbiBvcmRlciB0byBjYXVz
ZSB0aGlzIHRvIGhhcHBlbi4KKzwvUD4KKzxQPgorPFNQQU4gY2xhc3M9InRvcGFsaWduIj5UaGlz
IHBhcmFncmFwaDwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0
PSJbSW1hZ2VdIiBoZWlnaHQ9IjEwIiBjbGFzcz0idG9wYWxpZ24iPgorPFNQQU4gc3R5bGU9ImZv
bnQtc2l6ZTogMjUwJTsiIGNsYXNzPSJ0b3BhbGlnbiI+Y29udGFpbnMgbWFueSBpbWFnZXM8L1NQ
QU4+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVp
Z2h0PSIxMCIgY2xhc3M9InRvcGFsaWduIj4KKzxTUEFOIGNsYXNzPSJ0b3BhbGlnbiI+YW5kIHNv
bWUgdGV4dDwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJb
SW1hZ2VdIiBoZWlnaHQ9IjEwIiBjbGFzcz0idG9wYWxpZ24iPgorPFNQQU4gY2xhc3M9InRvcGFs
aWduIj5vZiB2YXJ5aW5nIGhlaWdodHM8L1NQQU4+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3Zi
bGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSIxMCIgY2xhc3M9InRvcGFsaWduIj4KKzxC
SUcgY2xhc3M9InRvcGFsaWduIj5hbmQgd2lkdGhzPC9CSUc+Cis8SU1HIFNSQz0iLi4vcmVzb3Vy
Y2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSIyMCIgY2xhc3M9InRvcGFsaWdu
Ij4KKzxTUEFOIGNsYXNzPSJ0b3BhbGlnbiI+YWxsIG9mIHdoaWNoPC9TUEFOPgorPElNRyBTUkM9
Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iNjUiIGNsYXNz
PSJ0b3BhbGlnbiI+Cis8U1BBTiBjbGFzcz0idG9wYWxpZ24iPnNob3VsZCBiZSBhbGlnbmVkPC9T
UEFOPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhl
aWdodD0iMzUiIGNsYXNzPSJ0b3BhbGlnbiI+Cis8U1BBTiBzdHlsZT0iZm9udC1zaXplOiAyZW07
IiBjbGFzcz0idG9wYWxpZ24iPndpdGggdGhlIHRvcCBvZjwvU1BBTj4KKzxJTUcgU1JDPSIuLi9y
ZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjUwIiBjbGFzcz0idG9w
YWxpZ24iPgorPFNQQU4gY2xhc3M9InRvcGFsaWduIj50aGUgdGFsbGVzdCBlbGVtZW50IGluPC9T
UEFOPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhl
aWdodD0iMTUiIGNsYXNzPSJ0b3BhbGlnbiI+Cis8QklHIGNsYXNzPSJ0b3BhbGlnbiI+d2hpY2hl
dmVyIGxpbmUgdGhlIGVsZW1lbnRzIGFwcGVhci48L0JJRz4KKzxJTUcgU1JDPSIuLi9yZXNvdXJj
ZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjkwIiBjbGFzcz0idG9wYWxpZ24i
PgorPC9QPgorPC9URD48L1RSPjwvVEFCTEU+PC9CT0RZPgorPC9IVE1MPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118050</attachid>
            <date>2011-12-06 07:43:45 -0800</date>
            <delta_ts>2012-08-15 18:59:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-16662-20111207024340.patch</filename>
            <type>text/plain</type>
            <size>458723</size>
            <attacher name="Mike Lawther">mikelawther</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxODc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjg5MDhiN2FhMjcxMDky
NWIxYjYxZTk3ODMwYmI4NzljNmY4ZjBmNS4uZmIyZWY4ZTliNjEwM2ViODcwZTlkOGRjODM2NWUw
MDQ2ZDcyM2NmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0MSBAQAorMjAxMS0xMi0wNiAgTWlr
ZSBMYXd0aGVyICA8bWlrZWxhd3RoZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENTUzM6IElt
cGxlbWVudCBjYWxjKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2NjYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGVzdHM6IGNzczMvY2FsYy9iYWNrZ3JvdW5kLXBvc2l0aW9uLXBhcnNpbmctZXhwZWN0
ZWQuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9jYWxjL2JhY2tncm91bmQtcG9zaXRpb24tcGFy
c2luZy5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvYmxvY2stbWFzay1vdmVybGF5LWlt
YWdlLW91dHNldC1leHBlY3RlZC5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvYmxvY2st
bWFzay1vdmVybGF5LWltYWdlLW91dHNldC5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMv
Ym9yZGVyLXJhZGl1cy1leHBlY3RlZC5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvYm9y
ZGVyLXJhZGl1cy5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvYm9yZGVyLXNwYWNpbmcu
aHRtbAorICAgICAgICAgICAgICAgY3NzMy9jYWxjL2JvcmRlci5odG1sCisgICAgICAgICAgICAg
ICBjc3MzL2NhbGMvY29sb3ItaHNsLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9jb2xv
ci1yZ2IuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9jYWxjL2NzczMtcmFkaWFsLWdyYWRpZW50
cy1leHBlY3RlZC5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvY3NzMy1yYWRpYWwtZ3Jh
ZGllbnRzLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9mb250LW1vbm9zcGFjZS5odG1s
CisgICAgICAgICAgICAgICBjc3MzL2NhbGMvZm9udC1zaXplLWZyYWN0aW9uYWwuaHRtbAorICAg
ICAgICAgICAgICAgY3NzMy9jYWxjL2ZvbnQtc2l6ZS5odG1sCisgICAgICAgICAgICAgICBjc3Mz
L2NhbGMvZm9udC5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvZ2V0Q29tcHV0ZWRTdHls
ZS1tYXJnaW4tcGVyY2VudGFnZS5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvZ3JhZGll
bnQtY29sb3Itc3RvcHMtZXhwZWN0ZWQuaHRtbAorICAgICAgICAgICAgICAgY3NzMy9jYWxjL2dy
YWRpZW50LWNvbG9yLXN0b3BzLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy9pbWctc2l6
ZS1leHBlY3RlZC5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvaW1nLXNpemUuaHRtbAor
ICAgICAgICAgICAgICAgY3NzMy9jYWxjL2xpbmUtaGVpZ2h0Lmh0bWwKKyAgICAgICAgICAgICAg
IGNzczMvY2FsYy9tYXJnaW4uaHRtbAorICAgICAgICAgICAgICAgY3NzMy9jYWxjL211bHRpcGxl
LWJhY2tncm91bmQtc2l6ZS10cmFuc2l0aW9ucy5odG1sCisgICAgICAgICAgICAgICBjc3MzL2Nh
bGMvcGFkZGluZy5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvcmVmbGVjdGlvbi1jb21w
dXRlZC1zdHlsZS5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvc2ltcGxlLWNvbXBvc2l0
ZWQtbWFzay1leHBlY3RlZC5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvc2ltcGxlLWNv
bXBvc2l0ZWQtbWFzay5odG1sCisgICAgICAgICAgICAgICBjc3MzL2NhbGMvc3ZnLXRyYW5zaXRp
b25zLmh0bWwKKyAgICAgICAgICAgICAgIGNzczMvY2FsYy90YWJsZS1jYWxjcy5odG1sCisgICAg
ICAgICAgICAgICBjc3MzL2NhbGMvdGFibGUtZW1wdHktY2VsbHMtZXhwZWN0ZWQuaHRtbAorICAg
ICAgICAgICAgICAgY3NzMy9jYWxjL3RhYmxlLWVtcHR5LWNlbGxzLmh0bWwKKyAgICAgICAgICAg
ICAgIGNzczMvY2FsYy92YWx1ZS1saXN0LW91dC1vZi1ib3VuZHMtY3Jhc2guaHRtbAorICAgICAg
ICAgICAgICAgY3NzMy9jYWxjL3ZlcnRpY2FsLWFsaWduLWJhc2VsaW5lLXJlYWRqdXN0Lmh0bWwK
KyAgICAgICAgICAgICAgIGNzczMvY2FsYy92ZXJ0aWNhbC1hbGlnbi5odG1sCisKKyAgICAgICAg
KiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAg
ICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogV2Vi
Q29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBjc3Mv
Q1NTQ2FsY1ZhbHVlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjp1bml0Q2F0ZWdvcnkp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjpjdXN0b21Dc3NUZXh0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZTo6Y2xhbXBUb1JhbmdlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0NhbGNWYWx1ZTo6ZG91YmxlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2Fs
Y1ZhbHVlOjpjb21wdXRlTGVuZ3RoUHgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVl
Ojpjb21wdXRlUGVyY2VudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5v
ZGU6On5DU1NDYWxjRXhwcmVzc2lvbk5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1By
aW1pdGl2ZVZhbHVlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2
ZVZhbHVlOjppc1plcm8pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVl
Ojpjc3NUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6dG9D
YWxjVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpmcm9t
Q2FsY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNQcmltaXRpdmVWYWx1ZTo6ZG91
YmxlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpjb21w
dXRlTGVuZ3RoUHgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ByaW1pdGl2ZVZhbHVlOjpj
b21wdXRlUGVyY2VudCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjUHJpbWl0aXZlVmFsdWU6
OkNTU0NhbGNQcmltaXRpdmVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmluYXJ5
T3BlcmF0aW9uOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJh
dGlvbjo6aXNaZXJvKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNCaW5hcnlPcGVyYXRpb246
OmNzc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvbjo6dG9D
YWxjVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvbjo6ZnJv
bUNhbGNWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmluYXJ5T3BlcmF0aW9uOjpk
b3VibGVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjQmluYXJ5T3BlcmF0aW9uOjpj
b21wdXRlTGVuZ3RoUHgpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlv
bjo6Y29tcHV0ZVBlcmNlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0JpbmFyeU9wZXJh
dGlvbjo6Q1NTQ2FsY0JpbmFyeU9wZXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxj
QmluYXJ5T3BlcmF0aW9uOjpldmFsdWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjTWlu
TWF4TGlzdDo6Q1NTQ2FsY01pbk1heExpc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY01p
bk1heExpc3Q6OmlzWmVybyk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjTWluTWF4TGlzdDo6
Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjTWluTWF4TGlzdDo6YXBwZW5kKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNNaW5NYXhMaXN0Ojp0b0NhbGNWYWx1ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NDYWxjTWluTWF4TGlzdDo6ZnJvbUNhbGNWYWx1ZSk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NDYWxjTWluTWF4TGlzdDo6ZG91YmxlVmFsdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTQ2FsY01pbk1heExpc3Q6OmNvbXB1dGVMZW5ndGhQeCk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NDYWxjTWluTWF4TGlzdDo6Y29tcHV0ZVBlcmNlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6Y2hlY2tEZXB0aEFuZEluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHByZXNz
aW9uTm9kZVBhcnNlcjo6cGFyc2VDYWxjKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNFeHBy
ZXNzaW9uTm9kZVBhcnNlcjo6cGFyc2VNaW5NYXhMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlcjo6b3BlcmF0b3JWYWx1ZSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyOjpwYXJzZVZhbHVlVGVybSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVzc2lvbk5vZGVQYXJzZXI6OnBhcnNlVmFsdWVN
dWx0aXBsaWNhdGl2ZUV4cHJlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJl
c3Npb25Ob2RlUGFyc2VyOjpwYXJzZUFkZGl0aXZlVmFsdWVFeHByZXNzaW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZVBhcnNlcjo6cGFyc2VWYWx1ZUxpc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyOjpwYXJzZVZhbHVl
RXhwcmVzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWU6OmNyZWF0ZSk6Cisg
ICAgICAgICogY3NzL0NTU0NhbGNWYWx1ZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNT
U0NhbGNFeHByZXNzaW9uTm9kZTo6Y2F0ZWdvcnkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2Fs
Y0V4cHJlc3Npb25Ob2RlOjppc0ludCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NDYWxjRXhwcmVz
c2lvbk5vZGU6OkNTU0NhbGNFeHByZXNzaW9uTm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1ND
YWxjVmFsdWU6OnRvQ2FsY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0NhbGNWYWx1ZTo6
Y2F0ZWdvcnkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQ2FsY1ZhbHVlOjppc0ludCk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NDYWxjVmFsdWU6OkNTU0NhbGNWYWx1ZSk6CisgICAgICAgICogY3Nz
L0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2YWx1
ZUZvck5pbmVQaWVjZUltYWdlU2xpY2UpOgorICAgICAgICAoV2ViQ29yZTo6dmFsdWVGb3JSZWZs
ZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OmxpbmVIZWlnaHRGcm9tU3R5bGUpOgorICAgICAg
ICAqIGNzcy9DU1NHcmFkaWVudFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU0dyYWRp
ZW50VmFsdWU6OmFkZFN0b3BzKToKKyAgICAgICAgKFdlYkNvcmU6OnBvc2l0aW9uRnJvbVZhbHVl
KToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Bh
cnNlcjo6dmFsaWRVbml0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6Y3JlYXRlUHJp
bWl0aXZlTnVtZXJpY1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VW
YWxpZFByaW1pdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUZpbGxQb3NpdGlvbkNvbXBvbmVu
dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlV3JhcFNoYXBlUmVjdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlV3JhcFNoYXBlRWxsaXBzZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlV3JhcFNoYXBlUG9seWdvbik6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlZERvdWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXI6OmlzQ2FsY01pbk1heCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmNv
bG9ySW50RnJvbVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VDb2xv
clBhcmFtZXRlcnMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUhTTFBhcmFt
ZXRlcnMpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93UGFyc2VDb250ZXh0OjpTaGFkb3dQYXJz
ZUNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93UGFyc2VDb250ZXh0Ojpjb21taXRM
ZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93UGFyc2VDb250ZXh0Ojpjb21taXRTdHls
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlU2hhZG93KToKKyAgICAgICAg
KFdlYkNvcmU6OkJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQ6OkJvcmRlckltYWdlU2xpY2VQ
YXJzZUNvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6Qm9yZGVySW1hZ2VTbGljZVBhcnNlQ29u
dGV4dDo6Y29tbWl0TnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkJvcmRlckltYWdlU2xpY2VQ
YXJzZUNvbnRleHQ6OmNvbW1pdEJvcmRlckltYWdlU2xpY2UpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTUGFyc2VyOjpwYXJzZUJvcmRlckltYWdlU2xpY2UpOgorICAgICAgICAoV2ViQ29yZTo6Qm9y
ZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0OjpCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQpOgor
ICAgICAgICAoV2ViQ29yZTo6Qm9yZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0Ojpjb21taXROdW1i
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Qm9yZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0Ojpjb21t
aXRCb3JkZXJJbWFnZVF1YWQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZUJv
cmRlckltYWdlUXVhZCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlQ2FsYyk6
CisgICAgICAgICogY3NzL0NTU1BhcnNlci5oOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXJWYWx1
ZXMuaDoKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6aXNWYWxpZENTU1VuaXRUeXBlRm9yRG91YmxlQ29udmVyc2lvbik6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6cHJpbWl0aXZlVHlwZSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmluaXQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJp
bWl0aXZlVmFsdWU6OmNsZWFudXApOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFs
dWU6OmNvbXB1dGVMZW5ndGhEb3VibGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZl
VmFsdWU6OmdldERvdWJsZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZh
bHVlOjpnZXREb3VibGVWYWx1ZUludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1p
dGl2ZVZhbHVlOjpjdXN0b21Dc3NUZXh0KToKKyAgICAgICAgKiBjc3MvQ1NTUHJpbWl0aXZlVmFs
dWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjppc0NhbGN1bGF0ZWQp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTUHJpbWl0aXZlVmFsdWU6OmdldFZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpjc3NDYWxjVmFsdWUpOgorICAgICAgICAq
IGNzcy9DU1NTdHlsZUFwcGx5UHJvcGVydHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlQ
cm9wZXJ0eUxlbmd0aDo6YXBwbHlWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpBcHBseVByb3Bl
cnR5Qm9yZGVyUmFkaXVzOjphcHBseVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxl
Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0VG9MZW5ndGgpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6Y29udmVydFRvSW50TGVuZ3RoKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmNvbnZlcnRUb0Zsb2F0TGVuZ3RoKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6cGFnZVNpemVGcm9tTmFtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjptbUxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NTdHlsZVNlbGVjdG9yOjppbmNoTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxl
U2VsZWN0b3I6Om1hcEZpbGxTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0
b3I6Om1hcEZpbGxYUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rv
cjo6bWFwRmlsbFlQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9y
OjptYXBOaW5lUGllY2VJbWFnZVNsaWNlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2Vs
ZWN0b3I6Om1hcE5pbmVQaWVjZUltYWdlUXVhZCk6CisgICAgICAgICogY3NzL0NTU1N0eWxlU2Vs
ZWN0b3IuaDoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Q1NTVmFsdWU6OmNzc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmRlc3Ryb3kp
OgorICAgICAgICAqIGNzcy9DU1NWYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6
OmlzQ2FsY1ZhbHVlKToKKyAgICAgICAgKiBjc3MvU1ZHQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VTVkdWYWx1ZSk6CisgICAgICAgICogcGxhdGZvcm0v
Q2FsY1ZhbHVlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDYWxjRXhwcmVzc2lvbkJp
bmFyeU9wZXJhdGlvbjo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsY01pbk1heExp
c3Q6OkNhbGNNaW5NYXhMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhbGNNaW5NYXhMaXN0Ojph
cHBlbmQpOgorICAgICAgICAoV2ViQ29yZTo6Q2FsY01pbk1heExpc3Q6OmV2YWx1YXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNhbGNWYWx1ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNh
bGNWYWx1ZTo6ZXZhbHVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SGFuZGxlTWFwOjppbnNlcnQp
OgorICAgICAgICAoV2ViQ29yZTo6SGFuZGxlTWFwOjpyZW1vdmUpOgorICAgICAgICAoV2ViQ29y
ZTo6SGFuZGxlTWFwOjpnZXQpOgorICAgICAgICAqIHBsYXRmb3JtL0NhbGNWYWx1ZS5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkNhbGNFeHByZXNzaW9uTm9kZTo6fkNhbGNFeHByZXNzaW9u
Tm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWxjVmFsdWU6OkNhbGNWYWx1ZSk6CisgICAgICAg
IChXZWJDb3JlOjpDYWxjRXhwcmVzc2lvbk51bWJlcjo6Q2FsY0V4cHJlc3Npb25OdW1iZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FsY0V4cHJlc3Npb25OdW1iZXI6OmV2YWx1YXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhbGNFeHByZXNzaW9uTGVuZ3RoOjpDYWxjRXhwcmVzc2lvbkxlbmd0aCk6
CisgICAgICAgIChXZWJDb3JlOjpDYWxjRXhwcmVzc2lvbkxlbmd0aDo6ZXZhbHVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FsY0V4cHJlc3Npb25CaW5hcnlPcGVyYXRpb246OkNhbGNFeHByZXNz
aW9uQmluYXJ5T3BlcmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkhhbmRsZU1hcDo6SGFuZGxl
TWFwKToKKyAgICAgICAgKiBwbGF0Zm9ybS9MZW5ndGguY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGVuZ3RoOjp+TGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6Y2FsY0hhbmRsZXMp
OgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6
TGVuZ3RoOjpjYWxjVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjdWxhdGVk
SXNaZXJvKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6Y2FsY3VsYXRlZElzUG9zaXRpdmUp
OgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpjYWxjdWxhdGVkSXNOZWdhdGl2ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGN1bGF0ZWRDYWxjVmFsdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6TGVuZ3RoOjpjYWxjdWxhdGVkQ2FsY01pblZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6
Okxlbmd0aDo6Y2FsY3VsYXRlZENhbGNGbG9hdFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Okxl
bmd0aDo6aW5jcmVtZW50Q2FsY3VsYXRlZFJlZik6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6
OmRlY3JlbWVudENhbGN1bGF0ZWRSZWYpOgorICAgICAgICAqIHBsYXRmb3JtL0xlbmd0aC5oOgor
ICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpMZW5ndGgpOgorICAgICAgICAoV2ViQ29yZTo6TGVu
Z3RoOjpvcGVyYXRvcj0pOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpvcGVyYXRvcio9KToK
KyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6dmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TGVu
Z3RoOjpzZXRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGNWYWx1ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpMZW5ndGg6OmNhbGNNaW5WYWx1ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpMZW5ndGg6OmNhbGNGbG9hdFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6aXNa
ZXJvKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6aXNQb3NpdGl2ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpMZW5ndGg6OmlzTmVnYXRpdmUpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjpp
c1BlcmNlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TGVuZ3RoOjppc1NwZWNpZmllZCk6CisgICAg
ICAgIChXZWJDb3JlOjpMZW5ndGg6OmlzQ2FsY3VsYXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpM
ZW5ndGg6OmluaXRGcm9tTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6Okxlbmd0aDo6Y2FsY3Vs
YXRlZExlbmd0aElkKToKKyAgICAgICAgKiByZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkF1dG9UYWJsZUxheW91dDo6cmVjYWxjQ29sdW1uKToKKyAgICAg
ICAgKFdlYkNvcmU6OkF1dG9UYWJsZUxheW91dDo6Y2FsY0VmZmVjdGl2ZUxvZ2ljYWxXaWR0aCk6
CisgICAgICAgIChXZWJDb3JlOjpBdXRvVGFibGVMYXlvdXQ6OmxheW91dCk6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNv
bXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFVzaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveDo6Y29tcHV0ZVJlcGxhY2VkTG9naWNhbEhlaWdodFVzaW5nKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRh
YmxlU2VjdGlvbjo6YWRkQ2VsbCk6CisKIDIwMTEtMTItMDIgIFNoZXJpZmYgQm90ICA8d2Via2l0
LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0
IHIxMDE3MzEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGE3MzZkODRhMzJiZDFjZjkxZjk5NDMx
MTZlNjdiZjU1NmJiMmM1OTcuLmQyN2YwNWExYjI3ZTk1NDhlNmRjYmE4NGM5ZDM2NDliYzRiY2Zj
ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00MjQsNiArNDI0LDcgQEAgU0VUKFdlYkNvcmVf
U09VUkNFUwogICAgIGNzcy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmNwcAogICAgIGNzcy9DU1NCb3Jk
ZXJJbWFnZVZhbHVlLmNwcAogICAgIGNzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwCisg
ICAgY3NzL0NTU0NhbGNWYWx1ZS5jcHAKICAgICBjc3MvQ1NTQ2FudmFzVmFsdWUuY3BwCiAgICAg
Y3NzL0NTU0NoYXJzZXRSdWxlLmNwcAogICAgIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b24uY3BwCkBAIC0xMDI1LDYgKzEwMjYsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGFn
ZS9hbmltYXRpb24vS2V5ZnJhbWVBbmltYXRpb24uY3BwCiAKICAgICBwbGF0Zm9ybS9BcmVuYS5j
cHAKKyAgICBwbGF0Zm9ybS9DYWxjVmFsdWUuY3BwCiAgICAgcGxhdGZvcm0vQ2xvY2suY3BwCiAg
ICAgcGxhdGZvcm0vQ29udGV4dE1lbnUuY3BwCiAgICAgcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVt
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggOWYxODM5ZTc3OGQ5MzFmYTdk
OTY2MzQ3YTY1YTZjYTZmNDJlMWVmZS4uMDE5YTJiYTg4NmM5YjVkODI3MDI2NTYwZTA0MjY2OWI3
OWQ5ZjE0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC05NzQsNiArOTc0LDgg
QEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FudmFzVmFs
dWUuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvY3NzL0NTU0NoYXJzZXRSdWxlLmggXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1ND
YWxjVmFsdWUuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmggXAogCVNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDcm9zc2ZhZGVWYWx1ZS5jcHAgXApAQCAtMjQ1NCw2ICsyNDU2LDggQEAg
d2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVT
eXN0ZW0uY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaCBc
CiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQXV0b2RyYWluZWRQb29sLmggXAorCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0NhbGNWYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DbG9jay5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nsb2NrLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0Nsb2NrR2VuZXJpYy5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnBy
aSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggNDMxNGU0NDFmMWY1NDgzMTFhZDgw
NGE2YzNlY2MyZjVlMmMzYTA1MS4uNWVhMTUzMGUxNTAyYjMxOTVkZWFkYTI4YTZjM2MwN2NkY2Q5
MDFjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9UYXJnZXQucHJpCkBAIC0zODksNiArMzg5LDcgQEAgU09VUkNFUyArPSBcCiAgICAg
Y3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VTbGlj
ZVZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuY3BwIFwKKyAgICBjc3Mv
Q1NTQ2FsY1ZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU0NhbnZhc1ZhbHVlLmNwcCBcCiAgICAgY3Nz
L0NTU0NoYXJzZXRSdWxlLmNwcCBcCiAgICAgY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlv
bi5jcHAgXApAQCAtMTAxMCw2ICsxMDExLDcgQEAgU09VUkNFUyArPSBcCiAgICAgcGxhdGZvcm0v
dGV4dC9Mb2NhbGl6ZWREYXRlTm9uZS5jcHAgXAogICAgIHBsYXRmb3JtL3RleHQvTG9jYWxpemVk
TnVtYmVyTm9uZS5jcHAgXAogICAgIHBsYXRmb3JtL3RleHQvUXVvdGVkUHJpbnRhYmxlLmNwcCBc
CisgICAgcGxhdGZvcm0vQ2FsY1ZhbHVlLmNwcCBcCiAgICAgcGxhdGZvcm0vQ2xvY2suY3BwIFwK
ICAgICBwbGF0Zm9ybS9DbG9ja0dlbmVyaWMuY3BwIFwKICAgICBwbGF0Zm9ybS9Db250ZW50VHlw
ZS5jcHAgXApAQCAtMTQ4MSw2ICsxNDgzLDcgQEAgSEVBREVSUyArPSBcCiAgICAgY3NzL0NTU0Fz
cGVjdFJhdGlvVmFsdWUuaCBcCiAgICAgY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oIFwK
ICAgICBjc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oIFwKKyAgICBjc3MvQ1NTQ2FsY1ZhbHVlLmgg
XAogICAgIGNzcy9DU1NDYW52YXNWYWx1ZS5oIFwKICAgICBjc3MvQ1NTQ2hhcnNldFJ1bGUuaCBc
CiAgICAgY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5oIFwKQEAgLTIwNDAsNiArMjA0
Myw3IEBAIEhFQURFUlMgKz0gXAogICAgIHBsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0
LmggXAogICAgIHBsYXRmb3JtL0FyZW5hLmggXAogICAgIHBsYXRmb3JtL0FzeW5jRmlsZVN0cmVh
bS5oIFwKKyAgICBwbGF0Zm9ybS9DYWxjVmFsdWUuaCBcCiAgICAgcGxhdGZvcm0vQ2xvY2suaCBc
CiAgICAgcGxhdGZvcm0vQ2xvY2tHZW5lcmljLmggXAogICAgIHBsYXRmb3JtL0NvbnRlbnRUeXBl
LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBkMWE5OGQxM2Q5NjgzOGM0YmYzYjVkNWIyNDk0
ZTFiMGVjYTgxNGE3Li4zYTIzY2FkNTUyY2U1MTg0ZjY5ZTU4ZDI2NDFkNzAyMjk2ZjMyNTI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtODY3LDYgKzg2Nyw3IEBAIF9fWk43V2ViQ29yZTZFZGl0
b3I3Q29tbWFuZEMxRXYKIF9fWk43V2ViQ29yZTZFZGl0b3I3Y29tbWFuZEVSS04zV1RGNlN0cmlu
Z0UKIF9fWk43V2ViQ29yZTZFZGl0b3I3b3V0ZGVudEV2CiBfX1pON1dlYkNvcmU2SlNOb2RlNnNf
aW5mb0UKK19fWk43V2ViQ29yZTZMZW5ndGhEMUV2CiBfX1pON1dlYkNvcmU2UmVnaW9uNXVuaXRl
RVJLUzBfCiBfX1pON1dlYkNvcmU2UmVnaW9uOHN1YnRyYWN0RVJLUzBfCiBfX1pON1dlYkNvcmU2
UmVnaW9uOWludGVyc2VjdEVSS1MwXwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGNjNmU4MTM4ZjIxNzdh
ZGNlZTQ1MmExOGI5M2JmOTI2NTdjZTA1MDQuLjEyOTU0ZWU3NTA5N2ZiNDEyMmYxNDY1OTkzMjJh
MjIxNDAwNTRmZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIzNTQsNiArMjM1NCw4IEBACiAgICAg
ICAgICAgICAnY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oJywKICAgICAgICAgICAgICdj
c3MvQ1NTQ2FudmFzVmFsdWUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTQ2FudmFzVmFsdWUu
aCcsCisgICAgICAgICAgICAnY3NzL0NTU0NhbGNWYWx1ZS5jcHAnLAorICAgICAgICAgICAgJ2Nz
cy9DU1NDYWxjVmFsdWUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0NoYXJzZXRSdWxlLmNwcCcs
CiAgICAgICAgICAgICAnY3NzL0NTU0NoYXJzZXRSdWxlLmgnLAogICAgICAgICAgICAgJ2Nzcy9D
U1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwJywKQEAgLTMwNzEsNiArMzA3Myw4IEBACiAg
ICAgICAgICAgICAncGxhdGZvcm0vQXN5bmNGaWxlU3lzdGVtLmgnLAogICAgICAgICAgICAgJ3Bs
YXRmb3JtL0FzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcy5oJywKICAgICAgICAgICAgICdwbGF0Zm9y
bS9BdXRvZHJhaW5lZFBvb2wuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vQ2FsY1ZhbHVlLmNw
cCcsCisgICAgICAgICAgICAncGxhdGZvcm0vQ2FsY1ZhbHVlLmgnLAogICAgICAgICAgICAgJ3Bs
YXRmb3JtL0Nsb2NrLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vQ2xvY2suaCcsCiAgICAg
ICAgICAgICAncGxhdGZvcm0vQ29udGVudFR5cGUuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggNDEyMWRmYmMzY2ZhN2UwYmE4YWQ0NDBl
NWU5NDQxNTkyOWUyZTI1OC4uZGJkOGVlYWYyNjE2NjM2MWNjYWFkNDczMWIxMzc3ZGViNjUwN2I1
MyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAg
LTI2MzE0LDYgKzI2MzE0LDE0IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXENhbGNWYWx1ZS5jcHAiCisJCQkJPgorCQkJPC9GaWxl
PgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXENhbGNWYWx1ZS5oIgor
CQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9y
bVxDbG9jay5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtMzI0MDIsNiArMzI0MTAsMTQgQEAK
IAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENT
U0NhbGNWYWx1ZS5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGNzc1xDU1NDYWxjVmFsdWUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8Rmls
ZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0NhbnZhc1ZhbHVlLmNwcCIKIAkJCQk+CiAJ
CQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggM2YxODNkYmQ5ODZjNGFlNWY0ODUwZmFiYjBhM2ZmNTQ0OTQ0ZjQxYy4u
NjU1ZTAzZDI0NjU4N2Q0ODIwODBjNWI1ODIwZDgzODIwOThhYmRiNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTIwNCw2ICsx
MjA0LDEwIEBACiAJCTQ5OUIzRUQ2MTI4Q0QzMTQwMEU3MjZDMiAvKiBHcmFwaGljc0xheWVyQ0Eu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk5QjNF
RDQxMjhDRDMxNDAwRTcyNkMyIC8qIEdyYXBoaWNzTGF5ZXJDQS5jcHAgKi87IH07CiAJCTQ5OUIz
RUQ3MTI4Q0QzMTQwMEU3MjZDMiAvKiBHcmFwaGljc0xheWVyQ0EuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5OUIzRUQ1MTI4Q0QzMTQwMEU3MjZDMiAv
KiBHcmFwaGljc0xheWVyQ0EuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk0OTlCM0VERDEyOERCNTAyMDBFNzI2QzIgLyogUGxhdGZvcm1DQUFuaW1h
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDk5
QjNFREMxMjhEQjUwMTAwRTcyNkMyIC8qIFBsYXRmb3JtQ0FBbmltYXRpb24uaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0OUFFMkQ4RTEzNEVFNTBD
MDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDhDMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjVmFs
dWUuY3BwICovOyB9OworCQk0OUFFMkQ4RjEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0OUFFMkQ4
RDEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmggKi87IH07CisJCTQ5QUUyRDk2MTM0
RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDlBRTJEOTQxMzRFRTVGOTAwNzI5MjBBIC8qIENhbGNWYWx1
ZS5jcHAgKi87IH07CisJCTQ5QUUyRDk3MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUUyRDk1MTM0
RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuaCAqLzsgfTsKIAkJNDlBRjJENjkxNDQzNUQwNTAw
MTZBNzg0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDlBRjJENjgxNDQzNUQwNTAwMTZBNzg0IC8qIERpc3Bs
YXlSZWZyZXNoTW9uaXRvci5oICovOyB9OwogCQk0OUFGMkQ2QzE0NDM1RDIxMDAxNkE3ODQgLyog
RGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQ5QUYyRDZCMTQ0MzVEMjEwMDE2QTc4NCAvKiBEaXNwbGF5UmVm
cmVzaE1vbml0b3JNYWMuY3BwICovOyB9OwogCQk0OUM3Qjk5MzEwNDJEMkQzMDAwOUQ0NDcgLyog
SlNXZWJHTEJ1ZmZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0OUM3Qjk4MDEwNDJEMkQzMDAwOUQ0NDcgLyogSlNXZWJHTEJ1ZmZlci5jcHAgKi87
IH07CkBAIC04Mzg2LDYgKzgzOTAsMTAgQEAKIAkJNDk5QjNFRDQxMjhDRDMxNDAwRTcyNkMyIC8q
IEdyYXBoaWNzTGF5ZXJDQS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBHcmFwaGljc0xheWVyQ0EuY3BwOyBwYXRoID0gY2EvR3JhcGhpY3NMYXllckNBLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDk5QjNFRDUxMjhDRDMxNDAwRTcyNkMyIC8qIEdy
YXBoaWNzTGF5ZXJDQS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBHcmFwaGlj
c0xheWVyQ0EuaDsgcGF0aCA9IGNhL0dyYXBoaWNzTGF5ZXJDQS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0OTlCM0VEQzEyOERCNTAxMDBFNzI2QzIgLyogUGxhdGZvcm1DQUFuaW1h
dGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBQbGF0Zm9ybUNBQW5pbWF0
aW9uLmg7IHBhdGggPSBjYS9QbGF0Zm9ybUNBQW5pbWF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTQ5QUUyRDhDMTM0RUU1MEMwMDcyOTIwQSAvKiBDU1NDYWxjVmFsdWUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTQ2FsY1ZhbHVlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDlBRTJEOEQxMzRFRTUwQzAwNzI5MjBBIC8q
IENTU0NhbGNWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NDYWxj
VmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDlBRTJEOTQxMzRFRTVGOTAw
NzI5MjBBIC8qIENhbGNWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBDYWxjVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0OUFFMkQ5
NTEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IENhbGNWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OUFG
MkQ2ODE0NDM1RDA1MDAxNkE3ODQgLyogRGlzcGxheVJlZnJlc2hNb25pdG9yLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERpc3BsYXlSZWZyZXNoTW9uaXRvci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0OUFGMkQ2QjE0NDM1RDIxMDAxNkE3ODQgLyogRGlzcGxh
eVJlZnJlc2hNb25pdG9yTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IERpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQ5QzdCOTgwMTA0MkQyRDMwMDA5RDQ0NyAvKiBKU1dlYkdMQnVmZmVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2ViR0xCdWZmZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjAwNzYsNiArMjAwODQsOCBAQAogCQkJCTg5RDA4
RDlEMTIyMjg0NTEwMDEyNDFERiAvKiBBc3luY0ZpbGVTeXN0ZW0uaCAqLywKIAkJCQk4OUQwOEQ5
RTEyMjI4NDUxMDAxMjQxREYgLyogQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzLmggKi8sCiAJCQkJ
NTFFMUVDQjEwQzkxQzU1NjAwREMyNTVCIC8qIEF1dG9kcmFpbmVkUG9vbC5oICovLAorCQkJCTQ5
QUUyRDk0MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuY3BwICovLAorCQkJCTQ5QUUyRDk1
MTM0RUU1RjkwMDcyOTIwQSAvKiBDYWxjVmFsdWUuaCAqLywKIAkJCQlDMzMwQTIyMDEzRUMxOTZC
MDAwMEI0NUIgLyogQ29sb3JDaG9vc2VyLmNwcCAqLywKIAkJCQlDMzMwQTIyMTEzRUMxOTZCMDAw
MEI0NUIgLyogQ29sb3JDaG9vc2VyLmggKi8sCiAJCQkJQkNDOENGQ0EwOTg2Q0QyNDAwMTQwQkYy
IC8qIENvbG9yRGF0YS5ncGVyZiAqLywKQEAgLTIwNjIxLDYgKzIwNjMxLDggQEAKIAkJCQlBODBF
NkNERDBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oICovLAogCQkJCUJD
Mjc0QjMwMTQwRUJFRDgwMEVBREZBNiAvKiBDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwICov
LAogCQkJCUJDMjc0QjJFMTQwRUJFQjIwMEVBREZBNiAvKiBDU1NCb3JkZXJJbWFnZVNsaWNlVmFs
dWUuaCAqLywKKwkJCQk0OUFFMkQ4QzEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmNw
cCAqLywKKwkJCQk0OUFFMkQ4RDEzNEVFNTBDMDA3MjkyMEEgLyogQ1NTQ2FsY1ZhbHVlLmggKi8s
CiAJCQkJQkM2MDRBNDIwREI1NjM0RTAwMjA0NzM5IC8qIENTU0NhbnZhc1ZhbHVlLmNwcCAqLywK
IAkJCQlCQzYwNDlDQjBEQjU2MEMyMDAyMDQ3MzkgLyogQ1NTQ2FudmFzVmFsdWUuaCAqLywKIAkJ
CQlFMUVCQkJEMzBBQUM5Qjg3MDAxRkU4RTIgLyogQ1NTQ2hhcnNldFJ1bGUuY3BwICovLApAQCAt
MjE4NTAsNiArMjE4NjIsNyBAQAogCQkJCUQwQkM1NDQ5MTQ0M0FDNEEwMEUxMDVEQSAvKiBDYWNo
ZWRTdHlsZVNoZWV0Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0IxNkMyODA5NzlDM0JE
MDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNG
MTk5NTAwODI0NUU1OTAwMUU5QUJDIC8qIENhY2hlUG9saWN5LmggaW4gSGVhZGVycyAqLywKKwkJ
CQk0OUFFMkQ5NzEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVlLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCMUQ1RUNCNTEzNEI1OERBMDA4N0M3OEYgLyogQ2FsbGJhY2tGdW5jdGlvbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNkU0RTkxQUQxMEY3RkIzMTAwQTI3NzlDIC8qIENhbnZhc0NvbnRleHRB
dHRyaWJ1dGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OTQ4NEZDMjEwMkNGMjNDMDAxODdERDMg
LyogQ2FudmFzR3JhZGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjE5MzIsNiArMjE5NDUsNyBA
QAogCQkJCUUxNjk4MDNEMTEzMzU0MkQwMDg5NDExNSAvKiBDUnVudGltZU9iamVjdC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTc1Q0EyOEIxMzAzNjVGODAwRTk5QUQ5IC8qIENyeXB0by5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTgwRTZEMDcwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU0JvcmRlckltYWdl
VmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ5QUUyRDhGMTM0RUU1MEMwMDcyOTIwQSAvKiBD
U1NDYWxjVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNjA0OUNDMERCNTYwQzIwMDIwNDcz
OSAvKiBDU1NDYW52YXNWYWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTZDRjkwQTE5ODlD
QTAwN0ZCOEM1IC8qIENTU0NoYXJzZXRSdWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VBNDc5
MDA5N0NBQUM4MDA5NEM5RTQgLyogQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmggaW4gSGVh
ZGVycyAqLywKQEAgLTI1MjEwLDYgKzI1MjI0LDcgQEAKIAkJCQlCQ0IxNkMyOTA5NzlDM0JEMDA0
Njc3NDEgLyogQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNC
MTZDMjMwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFNjcmlwdC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCQ0IxNkMyNzA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVTaGVldC5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk0OUFFMkQ5NjEzNEVFNUY5MDA3MjkyMEEgLyogQ2FsY1ZhbHVl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIxODI3NDkzMTM0Q0E0QzEwMEI5OEMyRCAvKiBDYWxs
YmFja0Z1bmN0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTZFNEU5MUFDMTBGN0ZCMzEwMEEy
Nzc5QyAvKiBDYW52YXNDb250ZXh0QXR0cmlidXRlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0
OTQ4NEZDMTEwMkNGMjNDMDAxODdERDMgLyogQ2FudmFzR3JhZGllbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCkBAIC0yNTI3OSw2ICsyNTI5NCw3IEBACiAJCQkJRTE2OTgwNDkxMTMzNjQ0NzAwODk0MTE1
IC8qIENSdW50aW1lT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3NUNBMjhBMTMwMzY1
RjgwMEU5OUFEOSAvKiBDcnlwdG8uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgwRTZDRTUwQTE5
ODlDQTAwN0ZCOEM1IC8qIENTU0JvcmRlckltYWdlVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJNDlBRTJEOEUxMzRFRTUwQzAwNzI5MjBBIC8qIENTU0NhbGNWYWx1ZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCQzYwNEE0MzBEQjU2MzRFMDAyMDQ3MzkgLyogQ1NTQ2FudmFzVmFsdWUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJRTFFQkJCRDQwQUFDOUI4NzAwMUZFOEUyIC8qIENTU0NoYXJz
ZXRSdWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRUE0NzhGMDk3Q0FBQzgwMDk0QzlFNCAv
KiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDYWxjVmFsdWUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4MjUwZWM2YzgwNjMxYTczZTgxZjFl
OWI0ODA4YmIyMmQ3YjVjN2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ2FsY1ZhbHVlLmNwcApAQCAtMCwwICsxLDY2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJDU1NDYWxjVmFsdWUuaCIKKworI2luY2x1ZGUgIkNTU1N0eWxlU2VsZWN0b3IuaCIK
KyNpbmNsdWRlICJDU1NWYWx1ZUxpc3QuaCIKKyNpbmNsdWRlICJMZW5ndGguaCIKKworI2luY2x1
ZGUgPHd0Zi9Pd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUg
PHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKworc3RhdGljIGNvbnN0IGludCBtYXhFeHByZXNz
aW9uRGVwdGggPSAxMDA7CisKK2VudW0gUGFyc2VTdGF0ZSB7CisgICAgT0ssCisgICAgVG9vRGVl
cCwKKyAgICBOb01vcmVUb2tlbnMKK307CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGlj
IENhbGNDYXRlZ29yeSB1bml0Q2F0ZWdvcnkoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyB0
eXBlKQoreworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19OVU1CRVI6CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BBUlNFUl9JTlRF
R0VSOgorICAgICAgICByZXR1cm4gQ2FsY051bWJlcjsKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfUEVSQ0VOVEFHRToKKyAgICAgICAgcmV0dXJuIENhbGNQZXJjZW50OworICAgIGNh
c2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19FTVM6CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTX0VYUzoKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUFg6CisgICAgY2Fz
ZSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NNOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19NTToKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfSU46CisgICAgY2FzZSBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BUOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U19QQzoKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUkVNUzoKKyAgICAgICAgcmV0
dXJuIENhbGNMZW5ndGg7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIENhbGNPdGhlcjsK
KyAgICB9Cit9CisgICAgCitTdHJpbmcgQ1NTQ2FsY1ZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29u
c3QKK3sKKyAgICByZXR1cm4gIiI7Cit9CisgICAgCitkb3VibGUgQ1NTQ2FsY1ZhbHVlOjpjbGFt
cFRvUmFuZ2UoZG91YmxlIHZhbHVlKSBjb25zdAoreworICAgIHJldHVybiBtX25vbk5lZ2F0aXZl
ICYmIHZhbHVlIDwgMCA/IDAgOiB2YWx1ZTsKK30gICAgCisgICAgCitkb3VibGUgQ1NTQ2FsY1Zh
bHVlOjpkb3VibGVWYWx1ZSgpIGNvbnN0IAoreyAKKyAgICByZXR1cm4gY2xhbXBUb1JhbmdlKG1f
ZXhwcmVzc2lvbi0+ZG91YmxlVmFsdWUoKSk7Cit9CisgICAgCitkb3VibGUgQ1NTQ2FsY1ZhbHVl
Ojpjb21wdXRlTGVuZ3RoUHgoUmVuZGVyU3R5bGUqIGN1cnJTdHlsZSwgUmVuZGVyU3R5bGUqIHJv
b3RTdHlsZSwgZG91YmxlIG11bHRpcGxpZXIsIGJvb2wgY29tcHV0aW5nRm9udFNpemUpIGNvbnN0
Cit7CisgICAgcmV0dXJuIGNsYW1wVG9SYW5nZShtX2V4cHJlc3Npb24tPmNvbXB1dGVMZW5ndGhQ
eChjdXJyU3R5bGUsIHJvb3RTdHlsZSwgbXVsdGlwbGllciwgY29tcHV0aW5nRm9udFNpemUpKTsK
K30KKyAgICAKK2RvdWJsZSBDU1NDYWxjVmFsdWU6OmNvbXB1dGVQZXJjZW50KGRvdWJsZSBvbmVI
dW5kcmVkUGVyY2VudFZhbHVlKSBjb25zdAoreworICAgIHJldHVybiBjbGFtcFRvUmFuZ2UobV9l
eHByZXNzaW9uLT5jb21wdXRlUGVyY2VudChvbmVIdW5kcmVkUGVyY2VudFZhbHVlKSk7ICAgIAor
fSAgICAKKyAgICAKK0NTU0NhbGNFeHByZXNzaW9uTm9kZTo6fkNTU0NhbGNFeHByZXNzaW9uTm9k
ZSgpIAoreworfQorICAgIAorY2xhc3MgQ1NTQ2FsY1ByaW1pdGl2ZVZhbHVlIDogcHVibGljIENT
U0NhbGNFeHByZXNzaW9uTm9kZSB7CitwdWJsaWM6CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxD
U1NDYWxjUHJpbWl0aXZlVmFsdWU+IGNyZWF0ZShDU1NQcmltaXRpdmVWYWx1ZSogdmFsdWUsIGJv
b2wgaXNJbnQpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IENTU0NhbGNQcmlt
aXRpdmVWYWx1ZSh2YWx1ZSwgaXNJbnQpKTsKKyAgICB9CisgICAgCisgICAgdmlydHVhbCBib29s
IGlzWmVybygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gIW1fdmFsdWUtPmdldERvdWJs
ZVZhbHVlKCk7CisgICAgfQorCisgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0Cisg
ICAgeworICAgICAgICByZXR1cm4gbV92YWx1ZS0+Y3NzVGV4dCgpOworICAgIH0KKworICAgIHZp
cnR1YWwgUGFzc093blB0cjxDYWxjRXhwcmVzc2lvbk5vZGU+IHRvQ2FsY1ZhbHVlKFJlbmRlclN0
eWxlKiBzdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIHpvb20pIGNvbnN0Cisg
ICAgeworICAgICAgICBzd2l0Y2ggKG1fY2F0ZWdvcnkpIHsKKyAgICAgICAgY2FzZSBDYWxjTnVt
YmVyOgorICAgICAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDYWxjRXhwcmVzc2lvbk51bWJl
cihtX3ZhbHVlLT5nZXRGbG9hdFZhbHVlKCkpKTsKKyAgICAgICAgY2FzZSBDYWxjTGVuZ3RoOgor
ICAgICAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDYWxjRXhwcmVzc2lvbk51bWJlcihtX3Zh
bHVlLT5jb21wdXRlTGVuZ3RoPGZsb2F0PihzdHlsZSwgcm9vdFN0eWxlLCB6b29tKSkpOworICAg
ICAgICBjYXNlIENhbGNQZXJjZW50OgorICAgICAgICBjYXNlIENhbGNQZXJjZW50TGVuZ3RoOgor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGJvb2wgb2sgPSB0cnVlOworICAgICAgICAg
ICAgICAgIExlbmd0aCBsZW5ndGggPSBDU1NTdHlsZVNlbGVjdG9yOjpjb252ZXJ0VG9GbG9hdExl
bmd0aChtX3ZhbHVlLmdldCgpLCBzdHlsZSwgcm9vdFN0eWxlLCB6b29tLCAmb2spOworICAgICAg
ICAgICAgICAgIGlmICghb2spCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgICAgICAgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgQ2FsY0V4cHJlc3Npb25MZW5ndGgo
bGVuZ3RoKSk7CisgICAgICAgICAgICB9CisgICAgICAgIGNhc2UgQ2FsY1BlcmNlbnROdW1iZXI6
CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgY2FzZSBDYWxjT3Ro
ZXI6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKyAgICB9CisKKyAgICB2aXJ0dWFsIFBhc3NPd25QdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2Rl
PiBmcm9tQ2FsY1ZhbHVlKENhbGNFeHByZXNzaW9uTm9kZSopIGNvbnN0CisgICAgeworICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgLy8gRklYTUUgY2FsYworICAgICAgICByZXR1cm4gYWRv
cHRQdHIobmV3IENTU0NhbGNQcmltaXRpdmVWYWx1ZSgwLCAwKSk7CisgICAgfQorCisgICAgdmly
dHVhbCBkb3VibGUgZG91YmxlVmFsdWUoKSBjb25zdAorICAgIHsKKyAgICAgICAgc3dpdGNoICht
X2NhdGVnb3J5KSB7CisgICAgICAgIGNhc2UgQ2FsY051bWJlcjoKKyAgICAgICAgY2FzZSBDYWxj
UGVyY2VudDogICAgICAgICAgICAgICAgCisgICAgICAgICAgICByZXR1cm4gbV92YWx1ZS0+Z2V0
RG91YmxlVmFsdWUoKTsKKyAgICAgICAgY2FzZSBDYWxjTGVuZ3RoOgorICAgICAgICBjYXNlIENh
bGNQZXJjZW50TGVuZ3RoOgorICAgICAgICBjYXNlIENhbGNQZXJjZW50TnVtYmVyOgorICAgICAg
ICBjYXNlIENhbGNPdGhlcjoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorICAgIAorICAgIHZpcnR1YWwgZG91YmxlIGNv
bXB1dGVMZW5ndGhQeChSZW5kZXJTdHlsZSogY3VyclN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0
eWxlLCBkb3VibGUgbXVsdGlwbGllciwgYm9vbCBjb21wdXRpbmdGb250U2l6ZSkgY29uc3QKKyAg
ICB7CisgICAgICAgIHN3aXRjaCAobV9jYXRlZ29yeSkgeworICAgICAgICBjYXNlIENhbGNMZW5n
dGg6CisgICAgICAgICAgICByZXR1cm4gbV92YWx1ZS0+Y29tcHV0ZUxlbmd0aDxkb3VibGU+KGN1
cnJTdHlsZSwgcm9vdFN0eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRpbmdGb250U2l6ZSk7CisgICAg
ICAgIGNhc2UgQ2FsY1BlcmNlbnQ6CisgICAgICAgIGNhc2UgQ2FsY051bWJlcjoKKyAgICAgICAg
ICAgIHJldHVybiBtX3ZhbHVlLT5nZXREb3VibGVWYWx1ZSgpOworICAgICAgICBjYXNlIENhbGNQ
ZXJjZW50TGVuZ3RoOgorICAgICAgICBjYXNlIENhbGNQZXJjZW50TnVtYmVyOgorICAgICAgICBj
YXNlIENhbGNPdGhlcjoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgICAgICByZXR1cm4gMDsgICAgICAgIAorICAgIH0KKyAgICAKKyAgICB2aXJ0
dWFsIGRvdWJsZSBjb21wdXRlUGVyY2VudChkb3VibGUgb25lSHVuZHJlZFBlcmNlbnRWYWx1ZSkg
Y29uc3QKKyAgICB7CisgICAgICAgIHN3aXRjaCAobV9jYXRlZ29yeSkgeworICAgICAgICBjYXNl
IENhbGNOdW1iZXI6CisgICAgICAgICAgICByZXR1cm4gbV92YWx1ZS0+Z2V0RG91YmxlVmFsdWUo
KTsKKyAgICAgICAgY2FzZSBDYWxjUGVyY2VudDogICAgICAgICAgICAgICAgCisgICAgICAgICAg
ICByZXR1cm4gKG1fdmFsdWUtPmdldERvdWJsZVZhbHVlKCkgKiBvbmVIdW5kcmVkUGVyY2VudFZh
bHVlKSAvIDEwMC4wZjsKKyAgICAgICAgY2FzZSBDYWxjTGVuZ3RoOgorICAgICAgICBjYXNlIENh
bGNQZXJjZW50TGVuZ3RoOgorICAgICAgICBjYXNlIENhbGNQZXJjZW50TnVtYmVyOgorICAgICAg
ICBjYXNlIENhbGNPdGhlcjoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgCitwcml2YXRlOgorICAg
IGV4cGxpY2l0IENTU0NhbGNQcmltaXRpdmVWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZSogdmFsdWUs
IGJvb2wgaXNJbnQpCisgICAgICAgIDogQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlKHVuaXRDYXRlZ29y
eSgoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyl2YWx1ZS0+cHJpbWl0aXZlVHlwZSgpKSwg
aXNJbnQpCisgICAgICAgICwgbV92YWx1ZSh2YWx1ZSkgICAgICAgICAgICAgICAgIAorICAgIHsK
KyAgICB9CisKKyAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IG1fdmFsdWU7Cit9OworCitz
dGF0aWMgY29uc3QgQ2FsY0NhdGVnb3J5IGFkZFN1YnRyYWN0UmVzdWx0W0NhbGNPdGhlcl1bQ2Fs
Y090aGVyXSA9IHsKKyAgICB7Q2FsY051bWJlciwgICAgICAgIENhbGNPdGhlciwgICAgICAgICBD
YWxjUGVyY2VudE51bWJlciwgQ2FsY1BlcmNlbnROdW1iZXIsIENhbGNPdGhlcn0sCisgICAge0Nh
bGNPdGhlciwgICAgICAgICBDYWxjTGVuZ3RoLCAgICAgICAgQ2FsY1BlcmNlbnRMZW5ndGgsIENh
bGNPdGhlciwgICAgICAgICBDYWxjUGVyY2VudExlbmd0aH0sCisgICAge0NhbGNQZXJjZW50TnVt
YmVyLCBDYWxjUGVyY2VudExlbmd0aCwgQ2FsY1BlcmNlbnQsICAgICAgIENhbGNQZXJjZW50TnVt
YmVyLCBDYWxjUGVyY2VudExlbmd0aH0sCisgICAge0NhbGNQZXJjZW50TnVtYmVyLCBDYWxjT3Ro
ZXIsICAgICAgICAgQ2FsY1BlcmNlbnROdW1iZXIsIENhbGNQZXJjZW50TnVtYmVyLCBDYWxjT3Ro
ZXJ9LAorICAgIHtDYWxjT3RoZXIsICAgICAgICAgQ2FsY1BlcmNlbnRMZW5ndGgsIENhbGNQZXJj
ZW50TGVuZ3RoLCBDYWxjT3RoZXIsICAgICAgICAgQ2FsY1BlcmNlbnRMZW5ndGh9LAorfTsgICAg
CisgICAgCitjbGFzcyBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uIDogcHVibGljIENTU0NhbGNFeHBy
ZXNzaW9uTm9kZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTQ2FsY0JpbmFy
eU9wZXJhdGlvbj4gY3JlYXRlKFBhc3NSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBsZWZ0
U2lkZSwgUGFzc1JlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IHJpZ2h0U2lkZSwgQ2FsY09w
ZXJhdG9yIG9wKQorICAgIHsKKyAgICAgICAgQ2FsY0NhdGVnb3J5IGxlZnRDYXRlZ29yeSA9IGxl
ZnRTaWRlLT5jYXRlZ29yeSgpOworICAgICAgICBDYWxjQ2F0ZWdvcnkgcmlnaHRDYXRlZ29yeSA9
IHJpZ2h0U2lkZS0+Y2F0ZWdvcnkoKTsKKyAgICAgICAgQ2FsY0NhdGVnb3J5IG5ld0NhdGVnb3J5
ID0gQ2FsY090aGVyOworICAgICAgICAKKyAgICAgICAgQVNTRVJUKGxlZnRDYXRlZ29yeSAhPSBD
YWxjT3RoZXIgJiYgcmlnaHRDYXRlZ29yeSAhPSBDYWxjT3RoZXIpOworICAgICAgICAKKyAgICAg
ICAgc3dpdGNoIChvcCkgeworICAgICAgICBjYXNlIENhbGNBZGQ6CisgICAgICAgIGNhc2UgQ2Fs
Y1N1YnRyYWN0OiAgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmIChsZWZ0Q2F0ZWdvcnkgPT0g
Q2FsY090aGVyIHx8IHJpZ2h0Q2F0ZWdvcnkgPT0gQ2FsY090aGVyKQorICAgICAgICAgICAgICAg
IHJldHVybiAwOworICAgICAgICAgICAgbmV3Q2F0ZWdvcnkgPSBhZGRTdWJ0cmFjdFJlc3VsdFts
ZWZ0Q2F0ZWdvcnldW3JpZ2h0Q2F0ZWdvcnldOworICAgICAgICAgICAgYnJlYWs7ICAgCisgICAg
ICAgICAgICAgICAgCisgICAgICAgIGNhc2UgQ2FsY011bHRpcGx5OgorICAgICAgICAgICAgaWYg
KGxlZnRDYXRlZ29yeSAhPSBDYWxjTnVtYmVyICYmIHJpZ2h0Q2F0ZWdvcnkgIT0gQ2FsY051bWJl
cikgCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAKKyAgICAgICAgICAg
IG5ld0NhdGVnb3J5ID0gbGVmdENhdGVnb3J5ID09IENhbGNOdW1iZXIgPyByaWdodENhdGVnb3J5
IDogbGVmdENhdGVnb3J5OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgCisg
ICAgICAgIGNhc2UgQ2FsY0RpdmlkZToKKyAgICAgICAgY2FzZSBDYWxjTW9kOgorICAgICAgICAg
ICAgaWYgKHJpZ2h0Q2F0ZWdvcnkgIT0gQ2FsY051bWJlciB8fCByaWdodFNpZGUtPmlzWmVybygp
KQorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgbmV3Q2F0ZWdvcnkgPSBs
ZWZ0Q2F0ZWdvcnk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICAKKyAg
ICAgICAgaWYgKG5ld0NhdGVnb3J5ID09IENhbGNPdGhlcikKKyAgICAgICAgICAgIHJldHVybiAw
OworICAgICAgICAgICAgCisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTQ2FsY0JpbmFy
eU9wZXJhdGlvbihsZWZ0U2lkZSwgcmlnaHRTaWRlLCBvcCwgbmV3Q2F0ZWdvcnkpKTsKKyAgICB9
CisgICAgCisgICAgdmlydHVhbCBib29sIGlzWmVybygpIGNvbnN0CisgICAgeworICAgICAgICAv
LyBGSVhNRSBjYWxjOiBXZSBjYW4gcmV0dXJuIHRydWUgZm9yIHNvbWUgY2FzZXMgKGUuZy4sIDMg
LSAzLCAzICogMCwgYW5kIGV0Yy4pCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAg
ICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAi
KCIgKyBtX2xlZnRTaWRlLT5jc3NUZXh0KCkgKyBzdGF0aWNfY2FzdDxjaGFyPihtX29wZXJhdG9y
KSArIG1fcmlnaHRTaWRlLT5jc3NUZXh0KCkgKyAiKSI7CisgICAgfQorCisgICAgdmlydHVhbCBQ
YXNzT3duUHRyPENhbGNFeHByZXNzaW9uTm9kZT4gdG9DYWxjVmFsdWUoUmVuZGVyU3R5bGUqIHN0
eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgem9vbSkgY29uc3QKKyAgICB7Cisg
ICAgICAgIE93blB0cjxDYWxjRXhwcmVzc2lvbk5vZGU+IGxlZnQobV9sZWZ0U2lkZS0+dG9DYWxj
VmFsdWUoc3R5bGUsIHJvb3RTdHlsZSwgem9vbSkpOworICAgICAgICBpZiAoIWxlZnQpCisgICAg
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgT3duUHRyPENhbGNFeHByZXNzaW9uTm9k
ZT4gcmlnaHQobV9yaWdodFNpZGUtPnRvQ2FsY1ZhbHVlKHN0eWxlLCByb290U3R5bGUsIHpvb20p
KTsKKyAgICAgICAgaWYgKCFyaWdodCkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAg
ICAgICByZXR1cm4gYWRvcHRQdHIobmV3IENhbGNFeHByZXNzaW9uQmluYXJ5T3BlcmF0aW9uKGxl
ZnQucmVsZWFzZSgpLCByaWdodC5yZWxlYXNlKCksIG1fb3BlcmF0b3IpKTsKKyAgICB9CisgICAg
CisgICAgdmlydHVhbCBQYXNzT3duUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gZnJvbUNhbGNW
YWx1ZShDYWxjRXhwcmVzc2lvbk5vZGUqKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7IC8vIEZJWE1FIGNhbGMKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKENTU0Nh
bGNQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKDAsIDApLmxlYWtSZWYoKSk7CisgICAgfQorCisgICAg
dmlydHVhbCBkb3VibGUgZG91YmxlVmFsdWUoKSBjb25zdCAKKyAgICB7CisgICAgICAgIHJldHVy
biBldmFsdWF0ZShtX2xlZnRTaWRlLT5kb3VibGVWYWx1ZSgpLCBtX3JpZ2h0U2lkZS0+ZG91Ymxl
VmFsdWUoKSk7CisgICAgfQorICAgIAorICAgIHZpcnR1YWwgZG91YmxlIGNvbXB1dGVMZW5ndGhQ
eChSZW5kZXJTdHlsZSogY3VyclN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUg
bXVsdGlwbGllciwgYm9vbCBjb21wdXRpbmdGb250U2l6ZSkgY29uc3QKKyAgICB7CisgICAgICAg
IGNvbnN0IGRvdWJsZSBsZWZ0VmFsdWUgPSBtX2xlZnRTaWRlLT5jb21wdXRlTGVuZ3RoUHgoY3Vy
clN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRTaXplKTsKKyAgICAg
ICAgY29uc3QgZG91YmxlIHJpZ2h0VmFsdWUgPSBtX3JpZ2h0U2lkZS0+Y29tcHV0ZUxlbmd0aFB4
KGN1cnJTdHlsZSwgcm9vdFN0eWxlLCBtdWx0aXBsaWVyLCBjb21wdXRpbmdGb250U2l6ZSk7Cisg
ICAgICAgIHJldHVybiBldmFsdWF0ZShsZWZ0VmFsdWUsIHJpZ2h0VmFsdWUpOworICAgIH0KKwor
ICAgIHZpcnR1YWwgZG91YmxlIGNvbXB1dGVQZXJjZW50KGRvdWJsZSBvbmVIdW5kcmVkUGVyY2Vu
dFZhbHVlKSBjb25zdCAKKyAgICB7CisgICAgICAgIHJldHVybiBldmFsdWF0ZShtX2xlZnRTaWRl
LT5jb21wdXRlUGVyY2VudChvbmVIdW5kcmVkUGVyY2VudFZhbHVlKSwgbV9yaWdodFNpZGUtPmNv
bXB1dGVQZXJjZW50KG9uZUh1bmRyZWRQZXJjZW50VmFsdWUpKTsKKyAgICB9CisgICAgCisKK3By
aXZhdGU6CisgICAgQ1NTQ2FsY0JpbmFyeU9wZXJhdGlvbihQYXNzUmVmUHRyPENTU0NhbGNFeHBy
ZXNzaW9uTm9kZT4gbGVmdFNpZGUsIFBhc3NSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBy
aWdodFNpZGUsIENhbGNPcGVyYXRvciBvcCwgQ2FsY0NhdGVnb3J5IGNhdGVnb3J5KQorICAgICAg
ICA6IENTU0NhbGNFeHByZXNzaW9uTm9kZShjYXRlZ29yeSwgbGVmdFNpZGUtPmlzSW50KCkgJiYg
cmlnaHRTaWRlLT5pc0ludCgpKQorICAgICAgICAsIG1fbGVmdFNpZGUobGVmdFNpZGUpCisgICAg
ICAgICwgbV9yaWdodFNpZGUocmlnaHRTaWRlKQorICAgICAgICAsIG1fb3BlcmF0b3Iob3ApCisg
ICAgeworICAgIH0KKyAgICAKKyAgICBkb3VibGUgZXZhbHVhdGUoZG91YmxlIGxlZnRWYWx1ZSwg
ZG91YmxlIHJpZ2h0VmFsdWUpIGNvbnN0CisgICAgeworICAgICAgICBzd2l0Y2ggKG1fb3BlcmF0
b3IpIHsKKyAgICAgICAgY2FzZSBDYWxjQWRkOgorICAgICAgICAgICAgcmV0dXJuIGxlZnRWYWx1
ZSArIHJpZ2h0VmFsdWU7CisgICAgICAgIGNhc2UgQ2FsY1N1YnRyYWN0OgorICAgICAgICAgICAg
cmV0dXJuIGxlZnRWYWx1ZSAtIHJpZ2h0VmFsdWU7CisgICAgICAgIGNhc2UgQ2FsY011bHRpcGx5
OgorICAgICAgICAgICAgcmV0dXJuIGxlZnRWYWx1ZSAqIHJpZ2h0VmFsdWU7CisgICAgICAgIGNh
c2UgQ2FsY0RpdmlkZToKKyAgICAgICAgICAgIGlmIChyaWdodFZhbHVlKQorICAgICAgICAgICAg
ICAgIHJldHVybiBsZWZ0VmFsdWUgLyByaWdodFZhbHVlOworICAgICAgICAgICAgcmV0dXJuIHN0
ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7CisgICAgICAgIGNhc2UgQ2Fs
Y01vZDoKKyAgICAgICAgICAgIGlmIChyaWdodFZhbHVlKQorICAgICAgICAgICAgICAgIHJldHVy
biBzdGF0aWNfY2FzdDxpbnQ+KGxlZnRWYWx1ZSkgJSBzdGF0aWNfY2FzdDxpbnQ+KHJpZ2h0VmFs
dWUpOworICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVp
ZXRfTmFOKCk7CisgICAgICAgIH0KKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
ICAgIHJldHVybiAwOworICAgIH0KKyAgICAKKyAgICBjb25zdCBSZWZQdHI8Q1NTQ2FsY0V4cHJl
c3Npb25Ob2RlPiBtX2xlZnRTaWRlOworICAgIGNvbnN0IFJlZlB0cjxDU1NDYWxjRXhwcmVzc2lv
bk5vZGU+IG1fcmlnaHRTaWRlOworICAgIGNvbnN0IENhbGNPcGVyYXRvciBtX29wZXJhdG9yOwor
fTsKKworY2xhc3MgQ1NTQ2FsY01pbk1heExpc3QgOiBwdWJsaWMgQ1NTQ2FsY0V4cHJlc3Npb25O
b2RlIHsKK3B1YmxpYzoKKyAgICBDU1NDYWxjTWluTWF4TGlzdChDYWxjTGlzdFR5cGUgdHlwZSkK
KyAgICAgICAgOiBDU1NDYWxjRXhwcmVzc2lvbk5vZGUoQ2FsY090aGVyLCBmYWxzZSkKKyAgICAg
ICAgLCBtX2xpc3RUeXBlKHR5cGUpCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgYm9vbCBp
c1plcm8oKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAg
IHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdAorICAgIHsKKyAgICAgICAgU3RyaW5nQnVp
bGRlciByZXN1bHQ7CisgICAgICAgIGlmIChtX2xpc3RUeXBlID09IENhbGNNaW4pCisgICAgICAg
ICAgICByZXN1bHQuYXBwZW5kKCItd2Via2l0LW1pbigiKTsKKyAgICAgICAgZWxzZSAKKyAgICAg
ICAgICAgIHJlc3VsdC5hcHBlbmQoIi13ZWJraXQtbWF4KCIpOworICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgbV9saXN0LnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICByZXN1bHQu
YXBwZW5kKG1fbGlzdFtpXS5nZXQoKS0+Y3NzVGV4dCgpKTsKKyAgICAgICAgICAgIHJlc3VsdC5h
cHBlbmQoIiwgIik7CisgICAgICAgIH0KKyAgICAgICAgcmVzdWx0LmFwcGVuZCgnKScpOworICAg
ICAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7CisgICAgfQorCisgICAgYm9vbCBhcHBlbmQo
UGFzc1JlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+IHZhbHVlKSAKKyAgICB7CisgICAgICAg
IGlmICghbV9saXN0LnNpemUoKSkgeworICAgICAgICAgICAgbV9jYXRlZ29yeSA9IHZhbHVlLT5j
YXRlZ29yeSgpOworICAgICAgICAgICAgbV9pc0ludCA9IHZhbHVlLT5pc0ludCgpOworICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgbV9jYXRlZ29yeSA9IGFkZFN1YnRyYWN0UmVzdWx0W21f
Y2F0ZWdvcnldW3ZhbHVlLT5jYXRlZ29yeSgpXTsKKyAgICAgICAgICAgIG1faXNJbnQgPSBtX2lz
SW50ICYmIHZhbHVlLT5pc0ludCgpOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBpZiAo
bV9jYXRlZ29yeSA9PSBDYWxjT3RoZXIpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgIAorICAgICAgICBtX2xpc3QuYXBwZW5kKHZhbHVlKTsKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorCisgICAgdmlydHVhbCBQYXNzT3duUHRyPENhbGNFeHByZXNzaW9uTm9kZT4gdG9D
YWxjVmFsdWUoUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3Vi
bGUgem9vbSkgY29uc3QKKyAgICB7CisgICAgICAgIENhbGNNaW5NYXhMaXN0KiBsaXN0ID0gbmV3
IENhbGNNaW5NYXhMaXN0KG1fbGlzdFR5cGUpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgbV9saXN0LnNpemUoKTsgKytpKQorICAgICAgICAgICAgbGlzdC0+YXBwZW5kKG1fbGlz
dFtpXS5nZXQoKS0+dG9DYWxjVmFsdWUoc3R5bGUsIHJvb3RTdHlsZSwgem9vbSkpOworCisgICAg
ICAgIHJldHVybiBhZG9wdFB0cihsaXN0KTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIFBhc3NPd25Q
dHI8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiBmcm9tQ2FsY1ZhbHVlKENhbGNFeHByZXNzaW9uTm9k
ZSopIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgLy8gRklYTUUg
Y2FsYworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IENTU0NhbGNNaW5NYXhMaXN0KENhbGNN
aW4pKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGRvdWJsZSBkb3VibGVWYWx1ZSgpIGNvbnN0Cisg
ICAgeworICAgICAgICBpZiAobV9saXN0LmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiAw
OworICAgICAgICAKKyAgICAgICAgZG91YmxlIHJldHZhbCA9IG1fbGlzdFswXS0+ZG91YmxlVmFs
dWUoKTsKKyAgICAgICAgaWYgKG1fbGlzdFR5cGUgPT0gQ2FsY01pbikgeworICAgICAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IG1fbGlzdC5zaXplKCk7ICsraSkgeworICAgICAgICAg
ICAgICAgIGRvdWJsZSBjdXJyZW50ID0gbV9saXN0W2ldLT5kb3VibGVWYWx1ZSgpOworICAgICAg
ICAgICAgICAgIGlmIChjdXJyZW50IDwgcmV0dmFsKQorICAgICAgICAgICAgICAgICAgICByZXR2
YWwgPSBjdXJyZW50OworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IG1fbGlzdC5zaXplKCk7ICsraSkgeworICAgICAg
ICAgICAgICAgIGRvdWJsZSBjdXJyZW50ID0gbV9saXN0W2ldLT5kb3VibGVWYWx1ZSgpOworICAg
ICAgICAgICAgICAgIGlmIChjdXJyZW50ID4gcmV0dmFsKQorICAgICAgICAgICAgICAgICAgICBy
ZXR2YWwgPSBjdXJyZW50OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIAorICAg
ICAgICByZXR1cm4gcmV0dmFsOworICAgIH0KKyAgICAKKyAgICB2aXJ0dWFsIGRvdWJsZSBjb21w
dXRlTGVuZ3RoUHgoUmVuZGVyU3R5bGUqIGN1cnJTdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHls
ZSwgZG91YmxlIG11bHRpcGxpZXIsIGJvb2wgY29tcHV0aW5nRm9udFNpemUpIGNvbnN0CisgICAg
eworICAgICAgICBkb3VibGUgcmV0dmFsID0gbV9saXN0WzBdLT5jb21wdXRlTGVuZ3RoUHgoY3Vy
clN0eWxlLCByb290U3R5bGUsIG11bHRpcGxpZXIsIGNvbXB1dGluZ0ZvbnRTaXplKTsgICAgICAg
IAorICAgICAgICBpZiAobV9saXN0VHlwZSA9PSBDYWxjTWluKSB7CisgICAgICAgICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAxOyBpIDwgbV9saXN0LnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICAg
ICAgZG91YmxlIGN1cnJlbnQgPSBtX2xpc3RbaV0tPmNvbXB1dGVMZW5ndGhQeChjdXJyU3R5bGUs
IHJvb3RTdHlsZSwgbXVsdGlwbGllciwgY29tcHV0aW5nRm9udFNpemUpOyAgICAgICAgCisgICAg
ICAgICAgICAgICAgaWYgKGN1cnJlbnQgPCByZXR2YWwpCisgICAgICAgICAgICAgICAgICAgIHJl
dHZhbCA9IGN1cnJlbnQ7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgbV9saXN0LnNpemUoKTsgKytpKSB7CisgICAg
ICAgICAgICAgICAgZG91YmxlIGN1cnJlbnQgPSBtX2xpc3RbaV0tPmNvbXB1dGVMZW5ndGhQeChj
dXJyU3R5bGUsIHJvb3RTdHlsZSwgbXVsdGlwbGllciwgY29tcHV0aW5nRm9udFNpemUpOyAgICAg
ICAgCisgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQgPiByZXR2YWwpCisgICAgICAgICAgICAg
ICAgICAgIHJldHZhbCA9IGN1cnJlbnQ7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAg
ICAgCisgICAgICAgIHJldHVybiByZXR2YWw7CisgICAgfQorICAgIAorICAgIHZpcnR1YWwgZG91
YmxlIGNvbXB1dGVQZXJjZW50KGRvdWJsZSBvbmVIdW5kcmVkUGVyY2VudFZhbHVlKSBjb25zdAor
ICAgIHsKKyAgICAgICAgZG91YmxlIHJldHZhbCA9IG1fbGlzdFswXS0+Y29tcHV0ZVBlcmNlbnQo
b25lSHVuZHJlZFBlcmNlbnRWYWx1ZSk7ICAgICAgICAKKyAgICAgICAgaWYgKG1fbGlzdFR5cGUg
PT0gQ2FsY01pbikgeworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IG1fbGlz
dC5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgICAgIGRvdWJsZSBjdXJyZW50ID0gbV9saXN0
W2ldLT5jb21wdXRlUGVyY2VudChvbmVIdW5kcmVkUGVyY2VudFZhbHVlKTsgICAgICAgIAorICAg
ICAgICAgICAgICAgIGlmIChjdXJyZW50IDwgcmV0dmFsKQorICAgICAgICAgICAgICAgICAgICBy
ZXR2YWwgPSBjdXJyZW50OworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IG1fbGlzdC5zaXplKCk7ICsraSkgeworICAg
ICAgICAgICAgICAgIGRvdWJsZSBjdXJyZW50ID0gbV9saXN0W2ldLT5jb21wdXRlUGVyY2VudChv
bmVIdW5kcmVkUGVyY2VudFZhbHVlKTsgICAgICAgIAorICAgICAgICAgICAgICAgIGlmIChjdXJy
ZW50ID4gcmV0dmFsKQorICAgICAgICAgICAgICAgICAgICByZXR2YWwgPSBjdXJyZW50OworICAg
ICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIAorICAgICAgICByZXR1cm4gcmV0dmFsOwor
ICAgIH0KKyAgICAKK3ByaXZhdGU6CisgICAgQ2FsY0xpc3RUeXBlIG1fbGlzdFR5cGU7CisgICAg
VmVjdG9yPFJlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+ID4gbV9saXN0OworfTsKKworc3Rh
dGljIFBhcnNlU3RhdGUgY2hlY2tEZXB0aEFuZEluZGV4KGludCogZGVwdGgsIHVuc2lnbmVkIGlu
ZGV4LCBDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucykKK3sKKyAgICAoKmRlcHRoKSsrOworICAg
IGlmICgqZGVwdGggPiBtYXhFeHByZXNzaW9uRGVwdGgpCisgICAgICAgIHJldHVybiBUb29EZWVw
OworICAgIGlmIChpbmRleCA+PSB0b2tlbnMtPnNpemUoKSkKKyAgICAgICAgcmV0dXJuIE5vTW9y
ZVRva2VuczsKKyAgICByZXR1cm4gT0s7Cit9CisKK2NsYXNzIENTU0NhbGNFeHByZXNzaW9uTm9k
ZVBhcnNlciB7CitwdWJsaWM6CisgICAgUGFzc1JlZlB0cjxDU1NDYWxjRXhwcmVzc2lvbk5vZGU+
IHBhcnNlQ2FsYyhDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucykKKyAgICB7CisgICAgICAgIHVu
c2lnbmVkIGluZGV4ID0gMDsKKyAgICAgICAgVmFsdWUgcmVzdWx0OworICAgICAgICBib29sIG9r
ID0gcGFyc2VWYWx1ZUV4cHJlc3Npb24odG9rZW5zLCAwLCAmaW5kZXgsICZyZXN1bHQpOworICAg
ICAgICBBU1NFUlQoaW5kZXggPD0gdG9rZW5zLT5zaXplKCkpOworICAgICAgICBpZiAoIW9rIHx8
IGluZGV4ICE9IHRva2Vucy0+c2l6ZSgpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAg
IHJldHVybiByZXN1bHQudmFsdWU7CisgICAgfQorCisgICAgUGFzc1JlZlB0cjxDU1NDYWxjRXhw
cmVzc2lvbk5vZGU+IHBhcnNlTWluTWF4TGlzdChDYWxjTGlzdFR5cGUgdHlwZSwgQ1NTUGFyc2Vy
VmFsdWVMaXN0KiB0b2tlbnMpCisgICAgeworICAgICAgICB1bnNpZ25lZCBpbmRleCA9IDA7Cisg
ICAgICAgIFJlZlB0cjxDU1NDYWxjTWluTWF4TGlzdD4gcmVzdWx0ID0gYWRvcHRSZWYobmV3IENT
U0NhbGNNaW5NYXhMaXN0KHR5cGUpKTsKKworICAgICAgICBib29sIG9rID0gcGFyc2VWYWx1ZUxp
c3QodG9rZW5zLCAwLCAmaW5kZXgsIHJlc3VsdC5nZXQoKSk7CisgICAgICAgIEFTU0VSVChpbmRl
eCA8PSB0b2tlbnMtPnNpemUoKSk7CisgICAgICAgIGlmICghb2sgfHwgaW5kZXggIT0gdG9rZW5z
LT5zaXplKCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsK
KyAgICB9CisKK3ByaXZhdGU6CisgICAgc3RydWN0IFZhbHVlIHsKKyAgICAgICAgUmVmUHRyPENT
U0NhbGNFeHByZXNzaW9uTm9kZT4gdmFsdWU7CisgICAgfTsKKworICAgIGNoYXIgb3BlcmF0b3JW
YWx1ZShDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucywgdW5zaWduZWQgaW5kZXgpCisgICAgewor
ICAgICAgICBpZiAoaW5kZXggPj0gdG9rZW5zLT5zaXplKCkpCisgICAgICAgICAgICByZXR1cm4g
MDsKKyAgICAgICAgQ1NTUGFyc2VyVmFsdWUqIHZhbHVlID0gdG9rZW5zLT52YWx1ZUF0KGluZGV4
KTsKKyAgICAgICAgaWYgKHZhbHVlLT51bml0ICE9IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvcikK
KyAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgIHJldHVybiB2YWx1ZS0+aVZhbHVlOwor
ICAgIH0KKworICAgIGJvb2wgcGFyc2VWYWx1ZShDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2Vucywg
dW5zaWduZWQqIGluZGV4LCBWYWx1ZSogcmVzdWx0KQorICAgIHsKKyAgICAgICAgQ1NTUGFyc2Vy
VmFsdWUqIHBhcnNlclZhbHVlID0gdG9rZW5zLT52YWx1ZUF0KCppbmRleCk7CisgICAgICAgIGlm
IChwYXJzZXJWYWx1ZS0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3IgfHwgcGFyc2Vy
VmFsdWUtPnVuaXQgPT0gQ1NTUGFyc2VyVmFsdWU6OkZ1bmN0aW9uKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFsdWUgPSBwYXJzZXJWYWx1
ZS0+Y3JlYXRlQ1NTVmFsdWUoKTsKKyAgICAgICAgaWYgKCF2YWx1ZSB8fCAhdmFsdWUtPmlzUHJp
bWl0aXZlVmFsdWUoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBDU1NQ
cmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVW
YWx1ZSo+KHZhbHVlLmdldCgpKTsKKyAgICAgICAgcmVzdWx0LT52YWx1ZSA9IENTU0NhbGNQcmlt
aXRpdmVWYWx1ZTo6Y3JlYXRlKHByaW1pdGl2ZVZhbHVlLCBwYXJzZXJWYWx1ZS0+aXNJbnQpOwor
CisgICAgICAgICsrKmluZGV4OworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBi
b29sIHBhcnNlVmFsdWVUZXJtKENTU1BhcnNlclZhbHVlTGlzdCogdG9rZW5zLCBpbnQgZGVwdGgs
IHVuc2lnbmVkKiBpbmRleCwgVmFsdWUqIHJlc3VsdCkKKyAgICB7CisgICAgICAgIGlmIChjaGVj
a0RlcHRoQW5kSW5kZXgoJmRlcHRoLCAqaW5kZXgsIHRva2VucykgIT0gT0spCisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7ICAgIAorICAgICAgICAKKyAgICAgICAgaWYgKG9wZXJhdG9yVmFsdWUo
dG9rZW5zLCAqaW5kZXgpID09ICcoJykgeworICAgICAgICAgICAgdW5zaWduZWQgY3VycmVudElu
ZGV4ID0gKmluZGV4ICsgMTsKKyAgICAgICAgICAgIGlmICghcGFyc2VWYWx1ZUV4cHJlc3Npb24o
dG9rZW5zLCBkZXB0aCwgJmN1cnJlbnRJbmRleCwgcmVzdWx0KSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIGlmIChvcGVyYXRvclZhbHVlKHRva2VucywgY3Vy
cmVudEluZGV4KSAhPSAnKScpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICAgICAgKmluZGV4ID0gY3VycmVudEluZGV4ICsgMTsKKyAgICAgICAgICAgIHJldHVybiB0cnVl
OworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHBhcnNlVmFsdWUodG9rZW5zLCBpbmRleCwg
cmVzdWx0KTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWVNdWx0aXBsaWNhdGl2ZUV4cHJl
c3Npb24oQ1NTUGFyc2VyVmFsdWVMaXN0KiB0b2tlbnMsIGludCBkZXB0aCwgdW5zaWduZWQqIGlu
ZGV4LCBWYWx1ZSogcmVzdWx0KQorICAgIHsKKyAgICAgICAgaWYgKGNoZWNrRGVwdGhBbmRJbmRl
eCgmZGVwdGgsICppbmRleCwgdG9rZW5zKSAhPSBPSykKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsgICAgCisKKyAgICAgICAgaWYgKCFwYXJzZVZhbHVlVGVybSh0b2tlbnMsIGRlcHRoLCBpbmRl
eCwgcmVzdWx0KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICB3aGlsZSAo
KmluZGV4IDwgdG9rZW5zLT5zaXplKCkgLSAxKSB7CisgICAgICAgICAgICBjaGFyIG9wZXJhdG9y
Q2hhcmFjdGVyID0gb3BlcmF0b3JWYWx1ZSh0b2tlbnMsICppbmRleCk7CisgICAgICAgICAgICBp
ZiAob3BlcmF0b3JDaGFyYWN0ZXIgIT0gQ2FsY011bHRpcGx5ICYmIG9wZXJhdG9yQ2hhcmFjdGVy
ICE9IENhbGNEaXZpZGUgJiYgb3BlcmF0b3JDaGFyYWN0ZXIgIT0gQ2FsY01vZCkKKyAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgICsrKmluZGV4OworCisgICAgICAgICAgICBWYWx1
ZSByaHM7CisgICAgICAgICAgICBpZiAoIXBhcnNlVmFsdWVUZXJtKHRva2VucywgZGVwdGgsIGlu
ZGV4LCAmcmhzKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAg
IHJlc3VsdC0+dmFsdWUgPSBDU1NDYWxjQmluYXJ5T3BlcmF0aW9uOjpjcmVhdGUocmVzdWx0LT52
YWx1ZSwgcmhzLnZhbHVlLCBzdGF0aWNfY2FzdDxDYWxjT3BlcmF0b3I+KG9wZXJhdG9yQ2hhcmFj
dGVyKSk7CisgICAgICAgICAgICBpZiAoIXJlc3VsdC0+dmFsdWUpCisgICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAgQVNTRVJUKCppbmRleCA8PSB0b2tl
bnMtPnNpemUoKSk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIGJvb2wgcGFy
c2VBZGRpdGl2ZVZhbHVlRXhwcmVzc2lvbihDU1NQYXJzZXJWYWx1ZUxpc3QqIHRva2VucywgaW50
IGRlcHRoLCB1bnNpZ25lZCogaW5kZXgsIFZhbHVlKiByZXN1bHQpCisgICAgeworICAgICAgICBp
ZiAoY2hlY2tEZXB0aEFuZEluZGV4KCZkZXB0aCwgKmluZGV4LCB0b2tlbnMpICE9IE9LKQorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAKKworICAgICAgICBpZiAoIXBhcnNlVmFsdWVNdWx0
aXBsaWNhdGl2ZUV4cHJlc3Npb24odG9rZW5zLCBkZXB0aCwgaW5kZXgsIHJlc3VsdCkpCisgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgd2hpbGUgKCppbmRleCA8IHRva2Vucy0+
c2l6ZSgpIC0gMSkgeworICAgICAgICAgICAgY2hhciBvcGVyYXRvckNoYXJhY3RlciA9IG9wZXJh
dG9yVmFsdWUodG9rZW5zLCAqaW5kZXgpOworICAgICAgICAgICAgaWYgKG9wZXJhdG9yQ2hhcmFj
dGVyICE9IENhbGNBZGQgJiYgb3BlcmF0b3JDaGFyYWN0ZXIgIT0gQ2FsY1N1YnRyYWN0KQorICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgKysqaW5kZXg7CisKKyAgICAgICAgICAg
IFZhbHVlIHJoczsKKyAgICAgICAgICAgIGlmICghcGFyc2VWYWx1ZU11bHRpcGxpY2F0aXZlRXhw
cmVzc2lvbih0b2tlbnMsIGRlcHRoLCBpbmRleCwgJnJocykpCisgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgICAgICAgICByZXN1bHQtPnZhbHVlID0gQ1NTQ2FsY0JpbmFyeU9w
ZXJhdGlvbjo6Y3JlYXRlKHJlc3VsdC0+dmFsdWUsIHJocy52YWx1ZSwgc3RhdGljX2Nhc3Q8Q2Fs
Y09wZXJhdG9yPihvcGVyYXRvckNoYXJhY3RlcikpOworICAgICAgICAgICAgaWYgKCFyZXN1bHQt
PnZhbHVlKQorICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorCisgICAg
ICAgIEFTU0VSVCgqaW5kZXggPD0gdG9rZW5zLT5zaXplKCkpOworICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICB9CisKKyAgICBib29sIHBhcnNlVmFsdWVMaXN0KENTU1BhcnNlclZhbHVlTGlzdCog
dG9rZW5zLCBpbnQgZGVwdGgsIHVuc2lnbmVkKiBpbmRleCwgQ1NTQ2FsY01pbk1heExpc3QqIHJl
c3VsdCkKKyAgICB7CisgICAgICAgIHdoaWxlICgqaW5kZXggPCB0b2tlbnMtPnNpemUoKSkgewor
ICAgICAgICAgICAgVmFsdWUgbmV4dDsKKyAgICAgICAgICAgIGlmICghcGFyc2VWYWx1ZUV4cHJl
c3Npb24odG9rZW5zLCBkZXB0aCwgaW5kZXgsICZuZXh0KSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICAgICAgICAgIGJvb2wgb2sgPSByZXN1bHQtPmFwcGVuZChuZXh0LnZh
bHVlKTsKKyAgICAgICAgICAgIGlmICghb2spCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworCisgICAgICAgICAgICBpZiAob3BlcmF0b3JWYWx1ZSh0b2tlbnMsICppbmRleCkgIT0gJywn
KQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgKysqaW5kZXg7CisgICAgICAg
IH0KKworICAgICAgICBBU1NFUlQoKmluZGV4IDw9IHRva2Vucy0+c2l6ZSgpKTsKKyAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgfQorCisgICAgYm9vbCBwYXJzZVZhbHVlRXhwcmVzc2lvbihDU1NQ
YXJzZXJWYWx1ZUxpc3QqIHRva2VucywgaW50IGRlcHRoLCB1bnNpZ25lZCogaW5kZXgsIFZhbHVl
KiByZXN1bHQpCisgICAgeworICAgICAgICByZXR1cm4gcGFyc2VBZGRpdGl2ZVZhbHVlRXhwcmVz
c2lvbih0b2tlbnMsIGRlcHRoLCBpbmRleCwgcmVzdWx0KTsKKyAgICB9Cit9OworCitQYXNzUmVm
UHRyPENTU0NhbGNWYWx1ZT4gQ1NTQ2FsY1ZhbHVlOjpjcmVhdGUoQ1NTUGFyc2VyU3RyaW5nIG5h
bWUsIENTU1BhcnNlclZhbHVlTGlzdCogcGFyc2VyVmFsdWVMaXN0LCBDYWxjUGVybWl0dGVkVmFs
dWVSYW5nZSByYW5nZSkKK3sgICAgCisgICAgQ1NTQ2FsY0V4cHJlc3Npb25Ob2RlUGFyc2VyIHBh
cnNlcjsgICAgCisgICAgUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gZXhwcmVzc2lvbiA9
IDA7CisgICAgCisgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICItd2Via2l0LWNhbGMo
IikpCisgICAgICAgIGV4cHJlc3Npb24gPSBwYXJzZXIucGFyc2VDYWxjKHBhcnNlclZhbHVlTGlz
dCk7ICAgIAorICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsICItd2Via2l0LW1p
bigiKSkKKyAgICAgICAgZXhwcmVzc2lvbiA9IHBhcnNlci5wYXJzZU1pbk1heExpc3QoQ2FsY01p
biwgcGFyc2VyVmFsdWVMaXN0KTsgICAgCisgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2Uo
bmFtZSwgIi13ZWJraXQtbWF4KCIpKQorICAgICAgICBleHByZXNzaW9uID0gcGFyc2VyLnBhcnNl
TWluTWF4TGlzdChDYWxjTWF4LCBwYXJzZXJWYWx1ZUxpc3QpOworCisgICAgcmV0dXJuIGV4cHJl
c3Npb24gPyBhZG9wdFJlZihuZXcgQ1NTQ2FsY1ZhbHVlKGV4cHJlc3Npb24sIHJhbmdlKSkgOiAw
OworfQorCitQYXNzUmVmUHRyPENTU0NhbGNWYWx1ZT4gQ1NTQ2FsY1ZhbHVlOjpjcmVhdGUoQ2Fs
Y1ZhbHVlKikKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgLy8gRklYTUUgY2FsYygpLCBu
ZWVkZWQgZm9yIGdldENvbXB1dGVkVmFsdWUKKyAgICByZXR1cm4gMDsKK30KKworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1Zh
bHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ2FsY1ZhbHVlLmgKbmV3IGZpbGUgbW9kZSAx
MDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTRi
MDFlNWJmNjk4MGJiMTEwZjE1MjY2MWI4YzNmYzQzMjc2OGI1ZQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDYWxjVmFsdWUuaApAQCAtMCwwICsxLDExNyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgQ1NTQ2FsY1ZhbHVlX2gKKyNkZWZpbmUgQ1NTQ2FsY1ZhbHVlX2gKKworI2luY2x1ZGUgIkNT
U1BhcnNlclZhbHVlcy5oIgorI2luY2x1ZGUgIkNTU1ZhbHVlLmgiCisjaW5jbHVkZSAiQ2FsY1Zh
bHVlLmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBDU1NQYXJzZXJWYWx1ZUxpc3Q7CitjbGFzcyBDU1NWYWx1ZUxpc3Q7CitjbGFzcyBS
ZW5kZXJTdHlsZTsKK2NsYXNzIENhbGNWYWx1ZTsKK2NsYXNzIENhbGNFeHByZXNzaW9uTm9kZTsK
KworZW51bSBDYWxjQ2F0ZWdvcnkgeworICAgIENhbGNOdW1iZXIgPSAwLAorICAgIENhbGNMZW5n
dGgsCisgICAgQ2FsY1BlcmNlbnQsCisgICAgQ2FsY1BlcmNlbnROdW1iZXIsCisgICAgQ2FsY1Bl
cmNlbnRMZW5ndGgsCisgICAgQ2FsY090aGVyCit9OworICAgIAorY2xhc3MgQ1NTQ2FsY0V4cHJl
c3Npb25Ob2RlIDogcHVibGljIFJlZkNvdW50ZWQ8Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlPiB7Citw
dWJsaWM6CisgICAgCisgICAgdmlydHVhbCB+Q1NTQ2FsY0V4cHJlc3Npb25Ob2RlKCkgPSAwOyAg
ICAKKyAgICB2aXJ0dWFsIGJvb2wgaXNaZXJvKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgU3Ry
aW5nIGNzc1RleHQoKSBjb25zdCA9IDA7ICAgIAorICAgIHZpcnR1YWwgUGFzc093blB0cjxDYWxj
RXhwcmVzc2lvbk5vZGU+IHRvQ2FsY1ZhbHVlKFJlbmRlclN0eWxlKiwgUmVuZGVyU3R5bGUqIHJv
b3RTdHlsZSwgZG91YmxlIHpvb20gPSAxLjApIGNvbnN0ID0gMDsgICAgCisgICAgdmlydHVhbCBQ
YXNzT3duUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4gZnJvbUNhbGNWYWx1ZShDYWxjRXhwcmVz
c2lvbk5vZGUqKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBkb3VibGUgZG91YmxlVmFsdWUoKSBj
b25zdCA9IDA7CisgICAgdmlydHVhbCBkb3VibGUgY29tcHV0ZUxlbmd0aFB4KFJlbmRlclN0eWxl
KiBjdXJyU3R5bGUsIFJlbmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSBtdWx0aXBsaWVyID0g
MS4wLCBib29sIGNvbXB1dGluZ0ZvbnRTaXplID0gZmFsc2UpIGNvbnN0ID0gMDsKKyAgICB2aXJ0
dWFsIGRvdWJsZSBjb21wdXRlUGVyY2VudChkb3VibGUgb25lSHVuZHJlZFBlcmNlbnRWYWx1ZSkg
Y29uc3QgPSAwOworICAgIAorICAgIENhbGNDYXRlZ29yeSBjYXRlZ29yeSgpIGNvbnN0IHsgcmV0
dXJuIG1fY2F0ZWdvcnk7IH0gICAgCisgICAgYm9vbCBpc0ludCgpIGNvbnN0IHsgcmV0dXJuIG1f
aXNJbnQ7IH0KKyAgICAKK3Byb3RlY3RlZDoKKyAgICBDU1NDYWxjRXhwcmVzc2lvbk5vZGUoQ2Fs
Y0NhdGVnb3J5IGNhdGVnb3J5LCBib29sIGlzSW50KQorICAgICAgICA6IG1fY2F0ZWdvcnkoY2F0
ZWdvcnkpCisgICAgICAgICwgbV9pc0ludChpc0ludCkKKyAgICB7CisgICAgfQorICAgIAorICAg
IENhbGNDYXRlZ29yeSBtX2NhdGVnb3J5OworICAgIGJvb2wgbV9pc0ludDsKK307CisgICAgICAg
IAorY2xhc3MgQ1NTQ2FsY1ZhbHVlIDogcHVibGljIENTU1ZhbHVlIHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxDU1NDYWxjVmFsdWU+IGNyZWF0ZShDU1NQYXJzZXJTdHJpbmcgbmFt
ZSwgQ1NTUGFyc2VyVmFsdWVMaXN0KiwgQ2FsY1Blcm1pdHRlZFZhbHVlUmFuZ2UpOworICAgIHN0
YXRpYyBQYXNzUmVmUHRyPENTU0NhbGNWYWx1ZT4gY3JlYXRlKENhbGNWYWx1ZSopOworCisgICAg
UGFzc1JlZlB0cjxDYWxjVmFsdWU+IHRvQ2FsY1ZhbHVlKFJlbmRlclN0eWxlKiBzdHlsZSwgUmVu
ZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIHpvb20gPSAxLjApIGNvbnN0CisgICAgeworICAg
ICAgICByZXR1cm4gQ2FsY1ZhbHVlOjpjcmVhdGUobV9leHByZXNzaW9uLT50b0NhbGNWYWx1ZShz
dHlsZSwgcm9vdFN0eWxlLCB6b29tKSwgbV9ub25OZWdhdGl2ZSA/IENhbGNSYW5nZU5vbk5lZ2F0
aXZlIDogQ2FsY1JhbmdlQWxsKTsKKyAgICB9CisgICAgQ2FsY0NhdGVnb3J5IGNhdGVnb3J5KCkg
Y29uc3QgeyByZXR1cm4gbV9leHByZXNzaW9uLT5jYXRlZ29yeSgpOyB9CisgICAgYm9vbCBpc0lu
dCgpIGNvbnN0IHsgcmV0dXJuIG1fZXhwcmVzc2lvbi0+aXNJbnQoKTsgfQorICAgIGRvdWJsZSBk
b3VibGVWYWx1ZSgpIGNvbnN0OworICAgIGRvdWJsZSBjb21wdXRlTGVuZ3RoUHgoUmVuZGVyU3R5
bGUqIGN1cnJTdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIG11bHRpcGxpZXIg
PSAxLjAsIGJvb2wgY29tcHV0aW5nRm9udFNpemUgPSBmYWxzZSkgY29uc3Q7CisgICAgZG91Ymxl
IGNvbXB1dGVQZXJjZW50KGRvdWJsZSBvbmVIdW5kcmVkUGVyY2VudFZhbHVlKSBjb25zdDsKKyAg
ICAgICAgCisgICAgU3RyaW5nIGN1c3RvbUNzc1RleHQoKSBjb25zdDsKKyAgICAKK3ByaXZhdGU6
ICAgIAorICAgIENTU0NhbGNWYWx1ZShQYXNzUmVmUHRyPENTU0NhbGNFeHByZXNzaW9uTm9kZT4g
ZXhwcmVzc2lvbiwgQ2FsY1Blcm1pdHRlZFZhbHVlUmFuZ2UgcmFuZ2UpCisgICAgICAgIDogQ1NT
VmFsdWUoQ2FsY0NsYXNzKQorICAgICAgICAsIG1fZXhwcmVzc2lvbihleHByZXNzaW9uKQorICAg
ICAgICAsIG1fbm9uTmVnYXRpdmUocmFuZ2UgPT0gQ2FsY1JhbmdlTm9uTmVnYXRpdmUpCisgICAg
eworICAgIH0KKyAgICAKKyAgICBkb3VibGUgY2xhbXBUb1JhbmdlKGRvdWJsZSkgY29uc3Q7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAKKyAgICBjb25zdCBSZWZQdHI8Q1NTQ2FsY0V4cHJlc3Np
b25Ob2RlPiBtX2V4cHJlc3Npb247CisgICAgY29uc3QgYm9vbCBtX25vbk5lZ2F0aXZlOworfTsK
KyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIENTU0NhbGNWYWx1ZV9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwCmluZGV4IGNiMGZhOGEyZTQ5ZmYwZjA3OTcwYzQ2NTk1ZGFjNGZhOTAyYzI0ZGUuLjE0MTE1
OTQxMmZmOTU5YjM1ZGY1ZmE2ZmJmZDFkNjllNThkN2MzNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0zNjIsNyArMzYy
LDExIEBAIHN0YXRpYyBQYXNzUmVmUHRyPENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZT4gdmFsdWVG
b3JOaW5lUGllY2VJbWFnZVNsaWNlKGNvbnN0IE5pCiAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZh
bHVlPiBsZWZ0OwogCiAgICAgaWYgKGltYWdlLmltYWdlU2xpY2VzKCkudG9wKCkuaXNQZXJjZW50
KCkpCi0gICAgICAgIHRvcCA9IHByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKGltYWdl
LmltYWdlU2xpY2VzKCkudG9wKCkudmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJD
RU5UQUdFKTsKKyAgICAgICAgaWYgKGltYWdlLmltYWdlU2xpY2VzKCkudG9wKCkuaXNDYWxjdWxh
dGVkKCkpIHsKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyAvLyBGSVhNRSBjYWxj
CisgICAgICAgICAgICB0b3AgPSBwcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZSgwLCBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpOworICAgICAgICB9IGVsc2UKKyAgICAg
ICAgICAgIHRvcCA9IHByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKGltYWdlLmltYWdl
U2xpY2VzKCkudG9wKCkudmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdF
KTsKICAgICBlbHNlCiAgICAgICAgIHRvcCA9IHByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZh
bHVlKGltYWdlLmltYWdlU2xpY2VzKCkudG9wKCkudmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19OVU1CRVIpOwogCkBAIC0zNzMsNyArMzc3LDExIEBAIHN0YXRpYyBQYXNzUmVmUHRyPENT
U0JvcmRlckltYWdlU2xpY2VWYWx1ZT4gdmFsdWVGb3JOaW5lUGllY2VJbWFnZVNsaWNlKGNvbnN0
IE5pCiAgICAgICAgIGxlZnQgPSB0b3A7CiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYgKGltYWdl
LmltYWdlU2xpY2VzKCkucmlnaHQoKS5pc1BlcmNlbnQoKSkKLSAgICAgICAgICAgIHJpZ2h0ID0g
cHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUoaW1hZ2UuaW1hZ2VTbGljZXMoKS5yaWdo
dCgpLnZhbHVlKCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSk7CisgICAgICAg
ICAgICBpZiAoaW1hZ2UuaW1hZ2VTbGljZXMoKS5yaWdodCgpLmlzQ2FsY3VsYXRlZCgpKSB7Cisg
ICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7IC8vIEZJWE1FIGNhbGMKKyAgICAg
ICAgICAgICAgICByaWdodCA9IHByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKDAsIENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSk7CisgICAgICAgICAgICB9IGVsc2UgICAg
CisgICAgICAgICAgICAgICAgcmlnaHQgPSBwcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1
ZShpbWFnZS5pbWFnZVNsaWNlcygpLnJpZ2h0KCkudmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19QRVJDRU5UQUdFKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcmlnaHQgPSBwcmlt
aXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZShpbWFnZS5pbWFnZVNsaWNlcygpLnJpZ2h0KCku
dmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpOwogCkBAIC0zODIsNyArMzkw
LDExIEBAIHN0YXRpYyBQYXNzUmVmUHRyPENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZT4gdmFsdWVG
b3JOaW5lUGllY2VJbWFnZVNsaWNlKGNvbnN0IE5pCiAgICAgICAgICAgICBsZWZ0ID0gcmlnaHQ7
CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAoaW1hZ2UuaW1hZ2VTbGljZXMoKS5i
b3R0b20oKS5pc1BlcmNlbnQoKSkKLSAgICAgICAgICAgICAgICBib3R0b20gPSBwcmltaXRpdmVW
YWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZShpbWFnZS5pbWFnZVNsaWNlcygpLmJvdHRvbSgpLnZhbHVl
KCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSk7CisgICAgICAgICAgICAgICAg
aWYgKGltYWdlLmltYWdlU2xpY2VzKCkuYm90dG9tKCkuaXNDYWxjdWxhdGVkKCkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7IC8vIEZJWE1FIGNhbGMKKyAgICAg
ICAgICAgICAgICAgICAgYm90dG9tID0gcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUo
MCwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFKTsKKyAgICAgICAgICAgICAgICB9
IGVsc2UgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgYm90dG9tID0gcHJpbWl0aXZlVmFs
dWVDYWNoZS0+Y3JlYXRlVmFsdWUoaW1hZ2UuaW1hZ2VTbGljZXMoKS5ib3R0b20oKS52YWx1ZSgp
LCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpOwogICAgICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgICAgIGJvdHRvbSA9IHByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVl
KGltYWdlLmltYWdlU2xpY2VzKCkuYm90dG9tKCkudmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19OVU1CRVIpOwogCkBAIC0zOTAsNyArNDAyLDExIEBAIHN0YXRpYyBQYXNzUmVmUHRyPENT
U0JvcmRlckltYWdlU2xpY2VWYWx1ZT4gdmFsdWVGb3JOaW5lUGllY2VJbWFnZVNsaWNlKGNvbnN0
IE5pCiAgICAgICAgICAgICAgICAgbGVmdCA9IHJpZ2h0OwogICAgICAgICAgICAgZWxzZSB7CiAg
ICAgICAgICAgICAgICAgaWYgKGltYWdlLmltYWdlU2xpY2VzKCkubGVmdCgpLmlzUGVyY2VudCgp
KQotICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRl
VmFsdWUoaW1hZ2UuaW1hZ2VTbGljZXMoKS5sZWZ0KCkudmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19QRVJDRU5UQUdFKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGltYWdlLmltYWdl
U2xpY2VzKCkubGVmdCgpLmlzQ2FsY3VsYXRlZCgpKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgLy8gRklYTUUgY2FsYworICAgICAgICAgICAgICAgICAg
ICAgICAgbGVmdCA9IHByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKDAsIENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSk7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZQor
ICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCA9IHByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0
ZVZhbHVlKGltYWdlLmltYWdlU2xpY2VzKCkubGVmdCgpLnZhbHVlKCksIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfUEVSQ0VOVEFHRSk7CiAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAg
ICAgICAgICBsZWZ0ID0gcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUoaW1hZ2UuaW1h
Z2VTbGljZXMoKS5sZWZ0KCkudmFsdWUoKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIp
OwogICAgICAgICAgICAgfQpAQCAtNTIwLDcgKzUzNiwxMCBAQCBzdGF0aWMgUGFzc1JlZlB0cjxD
U1NWYWx1ZT4gdmFsdWVGb3JSZWZsZWN0aW9uKGNvbnN0IFN0eWxlUmVmbGVjdGlvbiogcmVmbGVj
dGlvbgogCiAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBvZmZzZXQ7CiAgICAgaWYgKHJl
ZmxlY3Rpb24tPm9mZnNldCgpLmlzUGVyY2VudCgpKQotICAgICAgICBvZmZzZXQgPSBwcmltaXRp
dmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZShyZWZsZWN0aW9uLT5vZmZzZXQoKS5wZXJjZW50KCks
IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSk7CisgICAgICAgIGlmIChyZWZsZWN0
aW9uLT5vZmZzZXQoKS5pc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAgIG9mZnNldCA9ICBDU1NQ
cmltaXRpdmVWYWx1ZTo6Y3JlYXRlKHJlZmxlY3Rpb24tPm9mZnNldCgpKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgICAgb2Zmc2V0ID0gcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUo
cmVmbGVjdGlvbi0+b2Zmc2V0KCkucGVyY2VudCgpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BF
UkNFTlRBR0UpOwogICAgIGVsc2UKICAgICAgICAgb2Zmc2V0ID0gem9vbUFkanVzdGVkUGl4ZWxW
YWx1ZShyZWZsZWN0aW9uLT5vZmZzZXQoKS52YWx1ZSgpLCBzdHlsZSwgcHJpbWl0aXZlVmFsdWVD
YWNoZSk7CiAKQEAgLTExMDgsNyArMTEyNyw3IEBAIHN0YXRpYyBQYXNzUmVmUHRyPENTU1ByaW1p
dGl2ZVZhbHVlPiBsaW5lSGVpZ2h0RnJvbVN0eWxlKFJlbmRlclN0eWxlKiBzdHlsZSwgQ1NTCiAg
ICAgICAgIC8vIGZvciBob3cgaGlnaCB0byBiZSBpbiBwaXhlbHMgZG9lcyBpbmNsdWRlIHRoaW5n
cyBsaWtlIG1pbmltdW0gZm9udCBzaXplIGFuZCB0aGUgem9vbSBmYWN0b3IuCiAgICAgICAgIC8v
IE9uIHRoZSBvdGhlciBoYW5kLCBzaW5jZSBmb250LXNpemUgZG9lc24ndCBpbmNsdWRlIHRoZSB6
b29tIGZhY3Rvciwgd2UgcmVhbGx5IGNhbid0IGRvCiAgICAgICAgIC8vIHRoYXQgaGVyZSBlaXRo
ZXIuCi0gICAgICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlKHN0YXRpY19jYXN0PGlu
dD4obGVuZ3RoLnBlcmNlbnQoKSAqIHN0eWxlLT5mb250RGVzY3JpcHRpb24oKS5zcGVjaWZpZWRT
aXplKCkpIC8gMTAwLCBzdHlsZSwgcHJpbWl0aXZlVmFsdWVDYWNoZSk7CisgICAgICAgIHJldHVy
biB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlKHN0YXRpY19jYXN0PGludD4obGVuZ3RoLmNhbGNGbG9h
dFZhbHVlKHN0eWxlLT5mb250RGVzY3JpcHRpb24oKS5zcGVjaWZpZWRTaXplKCkpKSwgc3R5bGUs
IHByaW1pdGl2ZVZhbHVlQ2FjaGUpOwogICAgIHJldHVybiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVl
KGxlbmd0aC52YWx1ZSgpLCBzdHlsZSwgcHJpbWl0aXZlVmFsdWVDYWNoZSk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcAppbmRleCBiNTViNDc1MWZjMTdmZDlmNWFi
ZmE2NjA5NDY0ZWRmOTU1NTFmMWEyLi40N2FmMGY5ZGM3YjIyMDM0MzA1ZGQ2ZDJmM2MyZWQ1YjY3
OTI4MTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwCkBAIC0yNiw2
ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ1NTR3JhZGllbnRWYWx1
ZS5oIgogCisjaW5jbHVkZSAiQ1NTQ2FsY1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVTZWxl
Y3Rvci5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJHZW5lcmF0
b3JHZW5lcmF0ZWRJbWFnZS5oIgpAQCAtMTc0LDYgKzE3NSwxNCBAQCB2b2lkIENTU0dyYWRpZW50
VmFsdWU6OmFkZFN0b3BzKEdyYWRpZW50KiBncmFkaWVudCwgUmVuZGVyT2JqZWN0KiByZW5kZXJl
ciwgUmVuZAogICAgICAgICAgICAgICAgICAgICBncmFkaWVudExlbmd0aCA9IGdyYWRpZW50U2l6
ZS5kaWFnb25hbExlbmd0aCgpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBz
dG9wc1tpXS5vZmZzZXQgPSAoZ3JhZGllbnRMZW5ndGggPiAwKSA/IGxlbmd0aCAvIGdyYWRpZW50
TGVuZ3RoIDogMDsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PSBDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX0NBTENfUEVSQ0VOVEFHRV9MRU5HVEgpIHsKKyAgICAgICAgICAgICAgICAvLyBG
SVhNRTogTmVlZCB0byBob2lzdCBjdXQrcGFzdGUgY29kZQorICAgICAgICAgICAgICAgIGlmICgh
Y29tcHV0ZWRHcmFkaWVudExlbmd0aCkgeworICAgICAgICAgICAgICAgICAgICBGbG9hdFNpemUg
Z3JhZGllbnRTaXplKGdyYWRpZW50U3RhcnQgLSBncmFkaWVudEVuZCk7CisgICAgICAgICAgICAg
ICAgICAgIGdyYWRpZW50TGVuZ3RoID0gZ3JhZGllbnRTaXplLmRpYWdvbmFsTGVuZ3RoKCk7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGZsb2F0IGxlbmd0aCA9IHN0b3AubV9w
b3NpdGlvbi0+Y3NzQ2FsY1ZhbHVlKCktPnRvQ2FsY1ZhbHVlKHN0eWxlLCByb290U3R5bGUsIHN0
eWxlLT5lZmZlY3RpdmVab29tKCkpLT5ldmFsdWF0ZShncmFkaWVudExlbmd0aCk7CisgICAgICAg
ICAgICAgICAgc3RvcHNbaV0ub2Zmc2V0ID0gKGdyYWRpZW50TGVuZ3RoID4gMCkgPyBsZW5ndGgg
LyBncmFkaWVudExlbmd0aCA6IDA7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICAgICAgICAgIHN0b3BzW2ldLm9mZnNl
dCA9IDA7CkBAIC0zODMsNiArMzkyLDkgQEAgc3RhdGljIGZsb2F0IHBvc2l0aW9uRnJvbVZhbHVl
KENTU1ByaW1pdGl2ZVZhbHVlKiB2YWx1ZSwgUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW4KICAgICBj
YXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRToKICAgICAgICAgcmV0dXJuIHZh
bHVlLT5nZXRGbG9hdFZhbHVlKCkgLyAxMDAuZiAqIChpc0hvcml6b250YWwgPyBzaXplLndpZHRo
KCkgOiBzaXplLmhlaWdodCgpKTsKIAorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19D
QUxDX1BFUkNFTlRBR0VfTEVOR1RIOgorICAgICAgICByZXR1cm4gdmFsdWUtPmNzc0NhbGNWYWx1
ZSgpLT50b0NhbGNWYWx1ZShzdHlsZSwgcm9vdFN0eWxlLCBzdHlsZS0+ZWZmZWN0aXZlWm9vbSgp
KS0+ZXZhbHVhdGUoaXNIb3Jpem9udGFsID8gc2l6ZS53aWR0aCgpIDogc2l6ZS5oZWlnaHQoKSk7
CisKICAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfSURFTlQ6CiAgICAgICAgIHN3aXRj
aCAodmFsdWUtPmdldElkZW50KCkpIHsKICAgICAgICAgICAgIGNhc2UgQ1NTVmFsdWVUb3A6CkBA
IC0zOTgsNyArNDEwLDYgQEAgc3RhdGljIGZsb2F0IHBvc2l0aW9uRnJvbVZhbHVlKENTU1ByaW1p
dGl2ZVZhbHVlKiB2YWx1ZSwgUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW4KICAgICAgICAgICAgICAg
ICBBU1NFUlQoaXNIb3Jpem9udGFsKTsKICAgICAgICAgICAgICAgICByZXR1cm4gc2l6ZS53aWR0
aCgpOwogICAgICAgICB9Ci0KICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gdmFsdWUtPmNv
bXB1dGVMZW5ndGg8ZmxvYXQ+KHN0eWxlLCByb290U3R5bGUsIHpvb21GYWN0b3IpOwogICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggNzVjN2JjOWRlN2M3ZDU3MzczODRjYWY4MDQw
MTEzZjMzOGJiY2U0ZS4uZTU3NTM5NTViMjE5MWQ2MWExZTZhZDQ5NDY0ZGZiMzU2NGZhOWYwMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTY3NCwxNyArNjc0LDUxIEBAIERvY3VtZW50
KiBDU1NQYXJzZXI6OmZpbmREb2N1bWVudCgpIGNvbnN0CiBib29sIENTU1BhcnNlcjo6dmFsaWRV
bml0KENTU1BhcnNlclZhbHVlKiB2YWx1ZSwgVW5pdHMgdW5pdGZsYWdzLCBib29sIHN0cmljdCkK
IHsKICAgICBib29sIGIgPSBmYWxzZTsKKyAgICBpZiAoaXNDYWxjTWluTWF4KHZhbHVlKSkgewor
ICAgICAgICBpZiAoIXBhcnNlQ2FsYyh2YWx1ZSwgdW5pdGZsYWdzICYgRk5vbk5lZyA/IENhbGNS
YW5nZU5vbk5lZ2F0aXZlIDogQ2FsY1JhbmdlQWxsKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgCisgICAgICAgIHN3aXRjaCAobV9wYXJzZWRDYWxjLT5jYXRlZ29yeSgpKSB7
CisgICAgICAgIGNhc2UgQ2FsY0xlbmd0aDoKKyAgICAgICAgICAgIGIgPSAodW5pdGZsYWdzICYg
Rkxlbmd0aCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDYWxjUGVyY2VudDoK
KyAgICAgICAgICAgIGIgPSAodW5pdGZsYWdzICYgRlBlcmNlbnQpOworICAgICAgICAgICAgaWYg
KGIgJiYgKHVuaXRmbGFncyAmIEZOb25OZWcpICYmIG1fcGFyc2VkQ2FsYy0+ZG91YmxlVmFsdWUo
KSA8IDApCisgICAgICAgICAgICAgICAgYiA9IGZhbHNlOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIGNhc2UgQ2FsY051bWJlcjoKKyAgICAgICAgICAgIGIgPSAodW5pdGZsYWdzICYgRk51
bWJlcik7CisgICAgICAgICAgICBpZiAoIWIgJiYgKHVuaXRmbGFncyAmIEZJbnRlZ2VyKSAmJiBt
X3BhcnNlZENhbGMtPmlzSW50KCkpCisgICAgICAgICAgICAgICAgYiA9IHRydWU7CisgICAgICAg
ICAgICBpZiAoYiAmJiAodW5pdGZsYWdzICYgRk5vbk5lZykgJiYgbV9wYXJzZWRDYWxjLT5kb3Vi
bGVWYWx1ZSgpIDwgMCkKKyAgICAgICAgICAgICAgICBiID0gZmFsc2U7CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgY2FzZSBDYWxjUGVyY2VudExlbmd0aDoKKyAgICAgICAgICAgIGIgPSAo
dW5pdGZsYWdzICYgRlBlcmNlbnQpICYmICh1bml0ZmxhZ3MgJiBGTGVuZ3RoKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIENhbGNQZXJjZW50TnVtYmVyOgorICAgICAgICAgICAg
YiA9ICh1bml0ZmxhZ3MgJiBGUGVyY2VudCkgJiYgKHVuaXRmbGFncyAmIEZOdW1iZXIpOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ2FsY090aGVyOgorICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIH0KKyAgICAgICAgLy8gVE9ETzogaGFuZGxlIEZOb25OZWcKKyAgICAgICAg
aWYgKCFiKQorICAgICAgICAgICAgbV9wYXJzZWRDYWxjLnJlbGVhc2UoKTsKKyAgICAgICAgcmV0
dXJuIGI7CisgICAgfQogICAgIHN3aXRjaCAodmFsdWUtPnVuaXQpIHsKICAgICBjYXNlIENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSOgogICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZOdW1i
ZXIpOwotICAgICAgICBpZiAoIWIgJiYgKCh1bml0ZmxhZ3MgJiAoRkxlbmd0aCB8IEZBbmdsZSB8
IEZUaW1lKSkgJiYgKHZhbHVlLT5mVmFsdWUgPT0gMCB8fCAhc3RyaWN0KSkpIHsKKyAgICAgICAg
aWYgKCFiICYmICgodW5pdGZsYWdzICYgKEZMZW5ndGggfCBGQW5nbGUgfCBGVGltZSkpICYmICgh
dmFsdWUtPmZWYWx1ZSB8fCAhc3RyaWN0KSkpIHsKICAgICAgICAgICAgIHZhbHVlLT51bml0ID0g
KHVuaXRmbGFncyAmIEZMZW5ndGgpID8gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QWCA6CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICgodW5pdGZsYWdzICYgRkFuZ2xlKSA/IENTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NfREVHIDogQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19NUyk7CiAgICAgICAgICAg
ICBiID0gdHJ1ZTsKICAgICAgICAgfQogICAgICAgICBpZiAoIWIgJiYgKHVuaXRmbGFncyAmIEZJ
bnRlZ2VyKSAmJiB2YWx1ZS0+aXNJbnQpCiAgICAgICAgICAgICBiID0gdHJ1ZTsKLSAgICAgICAg
YnJlYWs7CisgICAgICAgIGJyZWFrOyAgICAgICAgICAgIAogICAgIGNhc2UgQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19QRVJDRU5UQUdFOgogICAgICAgICBiID0gKHVuaXRmbGFncyAmIEZQZXJjZW50
KTsKICAgICAgICAgYnJlYWs7CkBAIC03MjMsNiArNzU3LDExIEBAIGJvb2wgQ1NTUGFyc2VyOjp2
YWxpZFVuaXQoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBVbml0cyB1bml0ZmxhZ3MsIGJvb2wgc3Ry
aWN0KQogCiBpbmxpbmUgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gQ1NTUGFyc2VyOjpj
cmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlKQogeworICAg
IGlmIChtX3BhcnNlZENhbGMpIHsKKyAgICAgICAgQVNTRVJUKGlzQ2FsY01pbk1heCh2YWx1ZSkp
OworICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShtX3BhcnNlZENhbGMu
cmVsZWFzZSgpKTsKKyAgICB9CisgICAgICAgICAgICAgICAKICAgICBBU1NFUlQoKHZhbHVlLT51
bml0ID49IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSICYmIHZhbHVlLT51bml0IDw9IENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NfS0haKQogICAgICAgICAgICB8fCAodmFsdWUtPnVuaXQgPj0g
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19UVVJOICYmIHZhbHVlLT51bml0IDw9IENTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NfUkVNUykpOwogICAgIHJldHVybiBwcmltaXRpdmVWYWx1ZUNhY2hlKCktPmNy
ZWF0ZVZhbHVlKHZhbHVlLT5mVmFsdWUsIHN0YXRpY19jYXN0PENTU1ByaW1pdGl2ZVZhbHVlOjpV
bml0VHlwZXM+KHZhbHVlLT51bml0KSk7CkBAIC04MjAsNiArODU5LDkgQEAgaW5saW5lIFBhc3NS
ZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VWYWxpZFByaW1pdGl2ZShp
bnQgaWQsIENTU1AKICAgICAgICAgcmV0dXJuIGNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZSh2
YWx1ZSk7CiAgICAgaWYgKHZhbHVlLT51bml0ID49IENTU1BhcnNlclZhbHVlOjpRX0VNUykKICAg
ICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGVBbGxvd2luZ01hcmdpblF1aXJr
KHZhbHVlLT5mVmFsdWUsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfRU1TKTsKKyAgICBpZiAoaXND
YWxjTWluTWF4KHZhbHVlKSkKKyAgICAgICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVh
dGUobV9wYXJzZWRDYWxjLnJlbGVhc2UoKSk7CisKICAgICByZXR1cm4gMDsKIH0KIApAQCAtODMz
LDYgKzg3NSwxMCBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShpbnQgcHJvcElkLCBib29s
IGltcG9ydGFudCkKICAgICBpZiAoIXZhbHVlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAg
ICAvLyBOb3RlOiBtX3BhcnNlZENhbGMgaXMgdXNlZCB0byBwYXNzIHRoZSBjYWxjIHZhbHVlIHRv
IHZhbGlkVW5pdCBhbmQgdGhlbiBjbGVhcmVkIGF0IHRoZSBlbmQgb2YgdGhpcyBmdW5jdGlvbi4K
KyAgICAvLyBGSVhNRTogVGhpcyBpcyB0byBhdm9pZCBoYXZpbmcgdG8gcGFzcyBwYXJzZWRDYWxj
IHRvIGFsbCB2YWxpZFVuaXQgY2FsbGVycy4KKyAgICBBU1NFUlQoIW1fcGFyc2VkQ2FsYyk7Cisg
ICAgCiAgICAgaW50IGlkID0gdmFsdWUtPmlkOwogCiAgICAgLy8gSW4gcXVpcmtzIG1vZGUsIHdl
IHdpbGwgbG9vayBmb3IgdW5pdHMgdGhhdCBoYXZlIGJlZW4gaW5jb3JyZWN0bHkgc2VwYXJhdGVk
IGZyb20gdGhlIG51bWJlciB0aGV5IGJlbG9uZyB0bwpAQCAtMjIzNSw2ICsyMjgxLDcgQEAgYm9v
bCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAg
ICAgIHBhcnNlZFZhbHVlID0gcGFyc2VWYWxpZFByaW1pdGl2ZShpZCwgdmFsdWUpOwogICAgICAg
ICBtX3ZhbHVlTGlzdC0+bmV4dCgpOwogICAgIH0KKyAgICBBU1NFUlQoIW1fcGFyc2VkQ2FsYyk7
CiAgICAgaWYgKHBhcnNlZFZhbHVlKSB7CiAgICAgICAgIGlmICghbV92YWx1ZUxpc3QtPmN1cnJl
bnQoKSB8fCBpblNob3J0aGFuZCgpKSB7CiAgICAgICAgICAgICBhZGRQcm9wZXJ0eShwcm9wSWQs
IHBhcnNlZFZhbHVlLnJlbGVhc2UoKSwgaW1wb3J0YW50KTsKQEAgLTI5NDIsOCArMjk4OSwxMSBA
QCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NQYXJzZXI6OnBhcnNlRmlsbFBvc2l0aW9uQ29tcG9u
ZW50KENTU1BhcnNlclZhbHVlTGlzdCogdgogICAgICAgICB9IGVsc2UgaWYgKGN1bXVsYXRpdmVG
bGFncyAmIChYRmlsbFBvc2l0aW9uIHwgQW1iaWd1b3VzRmlsbFBvc2l0aW9uKSkgewogICAgICAg
ICAgICAgY3VtdWxhdGl2ZUZsYWdzIHw9IFlGaWxsUG9zaXRpb247CiAgICAgICAgICAgICBpbmRp
dmlkdWFsRmxhZyA9IFlGaWxsUG9zaXRpb247Ci0gICAgICAgIH0gZWxzZQorICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgaWYgKG1fcGFyc2VkQ2FsYykKKyAgICAgICAgICAgICAgICBtX3Bh
cnNlZENhbGMucmVsZWFzZSgpOwogICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KICAg
ICAgICAgcmV0dXJuIGNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZSh2YWx1ZUxpc3QtPmN1cnJl
bnQoKSk7CiAgICAgfQogICAgIHJldHVybiAwOwpAQCAtNDgyMywyMiArNDg3Myw0NyBAQCBib29s
IENTU1BhcnNlcjo6cGFyc2VDb2xvcihjb25zdCBTdHJpbmcgJm5hbWUsIFJHQkEzMiYgcmdiLCBi
b29sIHN0cmljdCkKICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwogfQorICAgIAoraW5saW5lIGRv
dWJsZSBDU1NQYXJzZXI6OnBhcnNlZERvdWJsZShDU1NQYXJzZXJWYWx1ZSAqdiwgUmVsZWFzZVBh
cnNlZENhbGNWYWx1ZUNvbmRpdGlvbiByZWxlYXNlQ2FsYykKK3sKKyAgICBjb25zdCBkb3VibGUg
cmVzdWx0ID0gbV9wYXJzZWRDYWxjID8gbV9wYXJzZWRDYWxjLT5kb3VibGVWYWx1ZSgpIDogdi0+
ZlZhbHVlOworICAgIGlmIChyZWxlYXNlQ2FsYyA9PSBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlKQor
ICAgICAgICBtX3BhcnNlZENhbGMucmVsZWFzZSgpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisK
K2Jvb2wgQ1NTUGFyc2VyOjppc0NhbGNNaW5NYXgoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlKSAKK3sK
KyAgICByZXR1cm4gKHZhbHVlLT51bml0ID09IENTU1BhcnNlclZhbHVlOjpGdW5jdGlvbikgCisg
ICAgICAgICYmIChlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZS0+ZnVuY3Rpb24tPm5hbWUsICItd2Vi
a2l0LWNhbGMoIikKKyAgICAgICAgICAgIHx8IGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLT5mdW5j
dGlvbi0+bmFtZSwgIi13ZWJraXQtbWluKCIpCisgICAgICAgICAgICB8fCBlcXVhbElnbm9yaW5n
Q2FzZSh2YWx1ZS0+ZnVuY3Rpb24tPm5hbWUsICItd2Via2l0LW1heCgiKSk7Cit9CiAKLXN0YXRp
YyBpbmxpbmUgaW50IGNvbG9ySW50RnJvbVZhbHVlKENTU1BhcnNlclZhbHVlKiB2KQoraW5saW5l
IGludCBDU1NQYXJzZXI6OmNvbG9ySW50RnJvbVZhbHVlKENTU1BhcnNlclZhbHVlKiB2KQogewot
ICAgIGlmICh2LT5mVmFsdWUgPD0gMC4wKQorICAgIGJvb2wgaXNQZXJjZW50OworICAgIAorICAg
IGlmIChtX3BhcnNlZENhbGMpCisgICAgICAgIGlzUGVyY2VudCA9IG1fcGFyc2VkQ2FsYy0+Y2F0
ZWdvcnkoKSA9PSBDYWxjUGVyY2VudDsKKyAgICBlbHNlCisgICAgICAgIGlzUGVyY2VudCA9IHYt
PnVuaXQgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFOworCisgICAgY29uc3Qg
ZG91YmxlIHZhbHVlID0gcGFyc2VkRG91YmxlKHYsIFJlbGVhc2VQYXJzZWRDYWxjVmFsdWUpOwor
ICAgIAorICAgIGlmICh2YWx1ZSA8PSAwLjApCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgaWYg
KHYtPnVuaXQgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFKSB7Ci0gICAgICAg
IGlmICh2LT5mVmFsdWUgPj0gMTAwLjApCisgICAgaWYgKGlzUGVyY2VudCkgeworICAgICAgICBp
ZiAodmFsdWUgPj0gMTAwLjApCiAgICAgICAgICAgICByZXR1cm4gMjU1OwotICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8aW50Pih2LT5mVmFsdWUgKiAyNTYuMCAvIDEwMC4wKTsKKyAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PGludD4odmFsdWUgKiAyNTYuMCAvIDEwMC4wKTsKICAgICB9CiAK
LSAgICBpZiAodi0+ZlZhbHVlID49IDI1NS4wKQorICAgIGlmICh2YWx1ZSA+PSAyNTUuMCkKICAg
ICAgICAgcmV0dXJuIDI1NTsKIAotICAgIHJldHVybiBzdGF0aWNfY2FzdDxpbnQ+KHYtPmZWYWx1
ZSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PGludD4odmFsdWUpOwogfQogCiBib29sIENTU1Bh
cnNlcjo6cGFyc2VDb2xvclBhcmFtZXRlcnMoQ1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBpbnQqIGNv
bG9yQXJyYXksIGJvb2wgcGFyc2VBbHBoYSkKQEAgLTQ4NTMsNiArNDkyOCw3IEBAIGJvb2wgQ1NT
UGFyc2VyOjpwYXJzZUNvbG9yUGFyYW1ldGVycyhDU1NQYXJzZXJWYWx1ZSogdmFsdWUsIGludCog
Y29sb3JBcnJheSwgYm9vCiAgICAgICAgIHVuaXRUeXBlID0gRlBlcmNlbnQ7CiAgICAgZWxzZQog
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCiAgICAgY29sb3JBcnJheVswXSA9IGNvbG9ySW50
RnJvbVZhbHVlKHYpOwogICAgIGZvciAoaW50IGkgPSAxOyBpIDwgMzsgaSsrKSB7CiAgICAgICAg
IHYgPSBhcmdzLT5uZXh0KCk7CkBAIC00ODcwLDkgKzQ5NDYsMTAgQEAgYm9vbCBDU1NQYXJzZXI6
OnBhcnNlQ29sb3JQYXJhbWV0ZXJzKENTU1BhcnNlclZhbHVlKiB2YWx1ZSwgaW50KiBjb2xvckFy
cmF5LCBib28KICAgICAgICAgdiA9IGFyZ3MtPm5leHQoKTsKICAgICAgICAgaWYgKCF2YWxpZFVu
aXQodiwgRk51bWJlciwgdHJ1ZSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
IGNvbnN0IGRvdWJsZSB2YWx1ZSA9IHBhcnNlZERvdWJsZSh2LCBSZWxlYXNlUGFyc2VkQ2FsY1Zh
bHVlKTsKICAgICAgICAgLy8gQ29udmVydCB0aGUgZmxvYXRpbmcgcG9pbnRlciBudW1iZXIgb2Yg
YWxwaGEgdG8gYW4gaW50ZWdlciBpbiB0aGUgcmFuZ2UgWzAsIDI1NiksCiAgICAgICAgIC8vIHdp
dGggYW4gZXF1YWwgZGlzdHJpYnV0aW9uIGFjcm9zcyBhbGwgMjU2IHZhbHVlcy4KLSAgICAgICAg
Y29sb3JBcnJheVszXSA9IHN0YXRpY19jYXN0PGludD4obWF4KDAuMCwgbWluKDEuMCwgdi0+ZlZh
bHVlKSkgKiBuZXh0YWZ0ZXIoMjU2LjAsIDAuMCkpOworICAgICAgICBjb2xvckFycmF5WzNdID0g
c3RhdGljX2Nhc3Q8aW50PihtYXgoMC4wLCBtaW4oMS4wLCB2YWx1ZSkpICogbmV4dGFmdGVyKDI1
Ni4wLCAwLjApKTsKICAgICB9CiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC00ODkwLDcgKzQ5Njcs
NyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VIU0xQYXJhbWV0ZXJzKENTU1BhcnNlclZhbHVlKiB2
YWx1ZSwgZG91YmxlKiBjb2xvckFycmF5LCBibwogICAgIGlmICghdmFsaWRVbml0KHYsIEZOdW1i
ZXIsIHRydWUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgLy8gbm9ybWFsaXplIHRoZSBI
dWUgdmFsdWUgYW5kIGNoYW5nZSBpdCB0byBiZSBiZXR3ZWVuIDAgYW5kIDEuMAotICAgIGNvbG9y
QXJyYXlbMF0gPSAoKChzdGF0aWNfY2FzdDxpbnQ+KHYtPmZWYWx1ZSkgJSAzNjApICsgMzYwKSAl
IDM2MCkgLyAzNjAuMDsKKyAgICBjb2xvckFycmF5WzBdID0gKCgoc3RhdGljX2Nhc3Q8aW50Pihw
YXJzZWREb3VibGUodiwgUmVsZWFzZVBhcnNlZENhbGNWYWx1ZSkpICUgMzYwKSArIDM2MCkgJSAz
NjApIC8gMzYwLjA7CiAgICAgZm9yIChpbnQgaSA9IDE7IGkgPCAzOyBpKyspIHsKICAgICAgICAg
diA9IGFyZ3MtPm5leHQoKTsKICAgICAgICAgaWYgKHYtPnVuaXQgIT0gQ1NTUGFyc2VyVmFsdWU6
Ok9wZXJhdG9yICYmIHYtPmlWYWx1ZSAhPSAnLCcpCkBAIC00ODk4LDcgKzQ5NzUsNyBAQCBib29s
IENTU1BhcnNlcjo6cGFyc2VIU0xQYXJhbWV0ZXJzKENTU1BhcnNlclZhbHVlKiB2YWx1ZSwgZG91
YmxlKiBjb2xvckFycmF5LCBibwogICAgICAgICB2ID0gYXJncy0+bmV4dCgpOwogICAgICAgICBp
ZiAoIXZhbGlkVW5pdCh2LCBGUGVyY2VudCwgdHJ1ZSkpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgICAgIGNvbG9yQXJyYXlbaV0gPSBtYXgoMC4wLCBtaW4oMTAwLjAsIHYtPmZWYWx1
ZSkpIC8gMTAwLjA7IC8vIG5lZWRzIHRvIGJlIHZhbHVlIGJldHdlZW4gMCBhbmQgMS4wCisgICAg
ICAgIGNvbG9yQXJyYXlbaV0gPSBtYXgoMC4wLCBtaW4oMTAwLjAsIHBhcnNlZERvdWJsZSh2LCBS
ZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlKSkpIC8gMTAwLjA7IC8vIG5lZWRzIHRvIGJlIHZhbHVlIGJl
dHdlZW4gMCBhbmQgMS4wCiAgICAgfQogICAgIGlmIChwYXJzZUFscGhhKSB7CiAgICAgICAgIHYg
PSBhcmdzLT5uZXh0KCk7CkBAIC00OTA3LDcgKzQ5ODQsNyBAQCBib29sIENTU1BhcnNlcjo6cGFy
c2VIU0xQYXJhbWV0ZXJzKENTU1BhcnNlclZhbHVlKiB2YWx1ZSwgZG91YmxlKiBjb2xvckFycmF5
LCBibwogICAgICAgICB2ID0gYXJncy0+bmV4dCgpOwogICAgICAgICBpZiAoIXZhbGlkVW5pdCh2
LCBGTnVtYmVyLCB0cnVlKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgY29s
b3JBcnJheVszXSA9IG1heCgwLjAsIG1pbigxLjAsIHYtPmZWYWx1ZSkpOworICAgICAgICBjb2xv
ckFycmF5WzNdID0gbWF4KDAuMCwgbWluKDEuMCwgcGFyc2VkRG91YmxlKHYsIFJlbGVhc2VQYXJz
ZWRDYWxjVmFsdWUpKSk7CiAgICAgfQogICAgIHJldHVybiB0cnVlOwogfQpAQCAtNDk3NSw5ICs1
MDUyLDkgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlQ29sb3JGcm9tVmFsdWUoQ1NTUGFyc2VyVmFs
dWUqIHZhbHVlLCBSR0JBMzImIGMpCiAvLyBUaGlzIGNsYXNzIHRyYWNrcyBwYXJzaW5nIHN0YXRl
IGZvciBzaGFkb3cgdmFsdWVzLiAgSWYgaXQgZ29lcyBvdXQgb2Ygc2NvcGUgKGUuZy4sIGR1ZSB0
byBhbiBlYXJseSByZXR1cm4pCiAvLyB3aXRob3V0IHRoZSBhbGxvd0JyZWFrIGJpdCBiZWluZyBz
ZXQsIHRoZW4gaXQgd2lsbCBjbGVhbiB1cCBhbGwgb2YgdGhlIG9iamVjdHMgYW5kIGRlc3Ryb3kg
dGhlbS4KIHN0cnVjdCBTaGFkb3dQYXJzZUNvbnRleHQgewotICAgIFNoYWRvd1BhcnNlQ29udGV4
dChDU1NQcm9wZXJ0eUlEIHByb3AsIENTU1ByaW1pdGl2ZVZhbHVlQ2FjaGUqIHByaW1pdGl2ZVZh
bHVlQ2FjaGUpCisgICAgU2hhZG93UGFyc2VDb250ZXh0KENTU1Byb3BlcnR5SUQgcHJvcCwgQ1NT
UGFyc2VyKiBwYXJlbnQpCiAgICAgICAgIDogcHJvcGVydHkocHJvcCkKLSAgICAgICAgLCBtX3By
aW1pdGl2ZVZhbHVlQ2FjaGUocHJpbWl0aXZlVmFsdWVDYWNoZSkKKyAgICAgICAgLCBtX3BhcmVu
dChwYXJlbnQpCiAgICAgICAgICwgYWxsb3dYKHRydWUpCiAgICAgICAgICwgYWxsb3dZKGZhbHNl
KQogICAgICAgICAsIGFsbG93Qmx1cihmYWxzZSkKQEAgLTUwMjAsNyArNTA5Nyw3IEBAIHN0cnVj
dCBTaGFkb3dQYXJzZUNvbnRleHQgewogCiAgICAgdm9pZCBjb21taXRMZW5ndGgoQ1NTUGFyc2Vy
VmFsdWUqIHYpCiAgICAgewotICAgICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbCA9
IG1fcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUodi0+ZlZhbHVlLCAoQ1NTUHJpbWl0
aXZlVmFsdWU6OlVuaXRUeXBlcyl2LT51bml0KTsKKyAgICAgICAgUmVmUHRyPENTU1ByaW1pdGl2
ZVZhbHVlPiB2YWwgPSBtX3BhcmVudC0+Y3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKHYpOwog
CiAgICAgICAgIGlmIChhbGxvd1gpIHsKICAgICAgICAgICAgIHggPSB2YWwucmVsZWFzZSgpOwpA
QCAtNTA2Miw3ICs1MTM5LDcgQEAgc3RydWN0IFNoYWRvd1BhcnNlQ29udGV4dCB7CiAKICAgICB2
b2lkIGNvbW1pdFN0eWxlKENTU1BhcnNlclZhbHVlKiB2KQogICAgIHsKLSAgICAgICAgc3R5bGUg
PSBtX3ByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2LT5pZCk7Cisg
ICAgICAgIHN0eWxlID0gbV9wYXJlbnQtPnByaW1pdGl2ZVZhbHVlQ2FjaGUoKS0+Y3JlYXRlSWRl
bnRpZmllclZhbHVlKHYtPmlkKTsKICAgICAgICAgYWxsb3dTdHlsZSA9IGZhbHNlOwogICAgICAg
ICBpZiAoYWxsb3dYKQogICAgICAgICAgICAgYWxsb3dCcmVhayA9IGZhbHNlOwpAQCAtNTA3NCw3
ICs1MTUxLDcgQEAgc3RydWN0IFNoYWRvd1BhcnNlQ29udGV4dCB7CiAgICAgfQogCiAgICAgQ1NT
UHJvcGVydHlJRCBwcm9wZXJ0eTsKLSAgICBDU1NQcmltaXRpdmVWYWx1ZUNhY2hlKiBtX3ByaW1p
dGl2ZVZhbHVlQ2FjaGU7CisgICAgQ1NTUGFyc2VyKiBtX3BhcmVudDsKIAogICAgIFJlZlB0cjxD
U1NWYWx1ZUxpc3Q+IHZhbHVlczsKICAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHg7CkBA
IC01MDk1LDcgKzUxNzIsNyBAQCBzdHJ1Y3QgU2hhZG93UGFyc2VDb250ZXh0IHsKIAogUGFzc1Jl
ZlB0cjxDU1NWYWx1ZUxpc3Q+IENTU1BhcnNlcjo6cGFyc2VTaGFkb3coQ1NTUGFyc2VyVmFsdWVM
aXN0KiB2YWx1ZUxpc3QsIGludCBwcm9wSWQpCiB7Ci0gICAgU2hhZG93UGFyc2VDb250ZXh0IGNv
bnRleHQoc3RhdGljX2Nhc3Q8Q1NTUHJvcGVydHlJRD4ocHJvcElkKSwgcHJpbWl0aXZlVmFsdWVD
YWNoZSgpKTsKKyAgICBTaGFkb3dQYXJzZUNvbnRleHQgY29udGV4dChzdGF0aWNfY2FzdDxDU1NQ
cm9wZXJ0eUlEPihwcm9wSWQpLCB0aGlzKTsKICAgICBDU1NQYXJzZXJWYWx1ZSogdmFsOwogICAg
IHdoaWxlICgodmFsID0gdmFsdWVMaXN0LT5jdXJyZW50KCkpKSB7CiAgICAgICAgIC8vIENoZWNr
IGZvciBhIGNvbW1hIGJyZWFrIGZpcnN0LgpAQCAtNTQ2Myw4ICs1NTQwLDggQEAgYm9vbCBDU1NQ
YXJzZXI6OnBhcnNlQm9yZGVySW1hZ2VSZXBlYXQoUmVmUHRyPENTU1ZhbHVlPiYgcmVzdWx0KQog
CiBjbGFzcyBCb3JkZXJJbWFnZVNsaWNlUGFyc2VDb250ZXh0IHsKIHB1YmxpYzoKLSAgICBCb3Jk
ZXJJbWFnZVNsaWNlUGFyc2VDb250ZXh0KENTU1ByaW1pdGl2ZVZhbHVlQ2FjaGUqIHByaW1pdGl2
ZVZhbHVlQ2FjaGUpCi0gICAgOiBtX3ByaW1pdGl2ZVZhbHVlQ2FjaGUocHJpbWl0aXZlVmFsdWVD
YWNoZSkKKyAgICBCb3JkZXJJbWFnZVNsaWNlUGFyc2VDb250ZXh0KENTU1BhcnNlciogcGFyZW50
KQorICAgIDogbV9wYXJlbnQocGFyZW50KQogICAgICwgbV9hbGxvd051bWJlcih0cnVlKQogICAg
ICwgbV9hbGxvd0ZpbGwoZmFsc2UpCiAgICAgLCBtX2FsbG93RmluYWxDb21taXQoZmFsc2UpCkBA
IC01NDc4LDcgKzU1NTUsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNvbW1pdE51bWJlcihDU1NQ
YXJzZXJWYWx1ZSogdikKICAgICB7Ci0gICAgICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4g
dmFsID0gbV9wcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZSh2LT5mVmFsdWUsIChDU1NQ
cmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKXYtPnVuaXQpOworICAgICAgICBSZWZQdHI8Q1NTUHJp
bWl0aXZlVmFsdWU+IHZhbCA9IG1fcGFyZW50LT5jcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUo
dik7CiAgICAgICAgIGlmICghbV90b3ApCiAgICAgICAgICAgICBtX3RvcCA9IHZhbDsKICAgICAg
ICAgZWxzZSBpZiAoIW1fcmlnaHQpCkBAIC01NTA1LDE2ICs1NTgyLDE2IEBAIHB1YmxpYzoKICAg
ICAgICAgLy8gV2UgbmVlZCB0byBjbG9uZSBhbmQgcmVwZWF0IHZhbHVlcyBmb3IgYW55IG9taXNz
aW9ucy4KICAgICAgICAgQVNTRVJUKG1fdG9wKTsKICAgICAgICAgaWYgKCFtX3JpZ2h0KSB7Ci0g
ICAgICAgICAgICBtX3JpZ2h0ID0gbV9wcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZSht
X3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90
b3AtPnByaW1pdGl2ZVR5cGUoKSk7Ci0gICAgICAgICAgICBtX2JvdHRvbSA9IG1fcHJpbWl0aXZl
VmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUobV90b3AtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmlt
aXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmltaXRpdmVUeXBlKCkpOwotICAgICAgICAg
ICAgbV9sZWZ0ID0gbV9wcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZShtX3RvcC0+Z2V0
RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90b3AtPnByaW1p
dGl2ZVR5cGUoKSk7CisgICAgICAgICAgICBtX3JpZ2h0ID0gbV9wYXJlbnQtPnByaW1pdGl2ZVZh
bHVlQ2FjaGUoKS0+Y3JlYXRlVmFsdWUobV90b3AtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmlt
aXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmltaXRpdmVUeXBlKCkpOworICAgICAgICAg
ICAgbV9ib3R0b20gPSBtX3BhcmVudC0+cHJpbWl0aXZlVmFsdWVDYWNoZSgpLT5jcmVhdGVWYWx1
ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMp
bV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7CisgICAgICAgICAgICBtX2xlZnQgPSBtX3BhcmVudC0+
cHJpbWl0aXZlVmFsdWVDYWNoZSgpLT5jcmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUo
KSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7
CiAgICAgICAgIH0KICAgICAgICAgaWYgKCFtX2JvdHRvbSkgewotICAgICAgICAgICAgbV9ib3R0
b20gPSBtX3ByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVW
YWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0aXZlVHlw
ZSgpKTsKLSAgICAgICAgICAgIG1fbGVmdCA9IG1fcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRl
VmFsdWUobV9yaWdodC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0
VHlwZXMpbV9yaWdodC0+cHJpbWl0aXZlVHlwZSgpKTsKKyAgICAgICAgICAgIG1fYm90dG9tID0g
bV9wYXJlbnQtPnByaW1pdGl2ZVZhbHVlQ2FjaGUoKS0+Y3JlYXRlVmFsdWUobV90b3AtPmdldERv
dWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmltaXRp
dmVUeXBlKCkpOworICAgICAgICAgICAgbV9sZWZ0ID0gbV9wYXJlbnQtPnByaW1pdGl2ZVZhbHVl
Q2FjaGUoKS0+Y3JlYXRlVmFsdWUobV9yaWdodC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1p
dGl2ZVZhbHVlOjpVbml0VHlwZXMpbV9yaWdodC0+cHJpbWl0aXZlVHlwZSgpKTsKICAgICAgICAg
fQogICAgICAgICBpZiAoIW1fbGVmdCkKLSAgICAgICAgICAgICBtX2xlZnQgPSBtX3ByaW1pdGl2
ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKG1fcmlnaHQtPmdldERvdWJsZVZhbHVlKCksIChDU1NQ
cmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fcmlnaHQtPnByaW1pdGl2ZVR5cGUoKSk7CisgICAg
ICAgICAgICAgbV9sZWZ0ID0gbV9wYXJlbnQtPnByaW1pdGl2ZVZhbHVlQ2FjaGUoKS0+Y3JlYXRl
VmFsdWUobV9yaWdodC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0
VHlwZXMpbV9yaWdodC0+cHJpbWl0aXZlVHlwZSgpKTsKIAogICAgICAgICAvLyBOb3cgYnVpbGQg
YSByZWN0IHZhbHVlIHRvIGhvbGQgYWxsIGZvdXIgb2Ygb3VyIHByaW1pdGl2ZSB2YWx1ZXMuCiAg
ICAgICAgIFJlZlB0cjxRdWFkPiBxdWFkID0gUXVhZDo6Y3JlYXRlKCk7CkBAIC01NTI0LDExICs1
NjAxLDExIEBAIHB1YmxpYzoKICAgICAgICAgcXVhZC0+c2V0TGVmdChtX2xlZnQpOwogCiAgICAg
ICAgIC8vIE1ha2Ugb3VyIG5ldyBib3JkZXIgaW1hZ2UgdmFsdWUgbm93LgotICAgICAgICByZXR1
cm4gQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlOjpjcmVhdGUobV9wcmltaXRpdmVWYWx1ZUNhY2hl
LT5jcmVhdGVWYWx1ZShxdWFkLnJlbGVhc2UoKSksIG1fZmlsbCk7CisgICAgICAgIHJldHVybiBD
U1NCb3JkZXJJbWFnZVNsaWNlVmFsdWU6OmNyZWF0ZShtX3BhcmVudC0+cHJpbWl0aXZlVmFsdWVD
YWNoZSgpLT5jcmVhdGVWYWx1ZShxdWFkLnJlbGVhc2UoKSksIG1fZmlsbCk7CiAgICAgfQogCiBw
cml2YXRlOgotICAgIENTU1ByaW1pdGl2ZVZhbHVlQ2FjaGUqIG1fcHJpbWl0aXZlVmFsdWVDYWNo
ZTsKKyAgICBDU1NQYXJzZXIqIG1fcGFyZW50OwogCiAgICAgYm9vbCBtX2FsbG93TnVtYmVyOwog
ICAgIGJvb2wgbV9hbGxvd0ZpbGw7CkBAIC01NTQ0LDcgKzU2MjEsNyBAQCBwcml2YXRlOgogCiBi
b29sIENTU1BhcnNlcjo6cGFyc2VCb3JkZXJJbWFnZVNsaWNlKGludCBwcm9wSWQsIFJlZlB0cjxD
U1NCb3JkZXJJbWFnZVNsaWNlVmFsdWU+JiByZXN1bHQpCiB7Ci0gICAgQm9yZGVySW1hZ2VTbGlj
ZVBhcnNlQ29udGV4dCBjb250ZXh0KHByaW1pdGl2ZVZhbHVlQ2FjaGUoKSk7CisgICAgQm9yZGVy
SW1hZ2VTbGljZVBhcnNlQ29udGV4dCBjb250ZXh0KHRoaXMpOwogICAgIENTU1BhcnNlclZhbHVl
KiB2YWw7CiAgICAgd2hpbGUgKCh2YWwgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpKSkgewogICAg
ICAgICBpZiAoY29udGV4dC5hbGxvd051bWJlcigpICYmIHZhbGlkVW5pdCh2YWwsIEZJbnRlZ2Vy
IHwgRk5vbk5lZyB8IEZQZXJjZW50LCB0cnVlKSkgewpAQCAtNTU4MCw4ICs1NjU3LDggQEAgYm9v
bCBDU1NQYXJzZXI6OnBhcnNlQm9yZGVySW1hZ2VTbGljZShpbnQgcHJvcElkLCBSZWZQdHI8Q1NT
Qm9yZGVySW1hZ2VTbGljZVZhbHUKIAogY2xhc3MgQm9yZGVySW1hZ2VRdWFkUGFyc2VDb250ZXh0
IHsKIHB1YmxpYzoKLSAgICBCb3JkZXJJbWFnZVF1YWRQYXJzZUNvbnRleHQoQ1NTUHJpbWl0aXZl
VmFsdWVDYWNoZSogcHJpbWl0aXZlVmFsdWVDYWNoZSkKLSAgICA6IG1fcHJpbWl0aXZlVmFsdWVD
YWNoZShwcmltaXRpdmVWYWx1ZUNhY2hlKQorICAgIEJvcmRlckltYWdlUXVhZFBhcnNlQ29udGV4
dChDU1NQYXJzZXIqIHBhcmVudCkKKyAgICA6IG1fcGFyZW50KHBhcmVudCkKICAgICAsIG1fYWxs
b3dOdW1iZXIodHJ1ZSkKICAgICAsIG1fYWxsb3dGaW5hbENvbW1pdChmYWxzZSkKICAgICB7IH0K
QEAgLTU1OTQsOSArNTY3MSw5IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIFJlZlB0cjxDU1NQ
cmltaXRpdmVWYWx1ZT4gdmFsOwogICAgICAgICBpZiAodi0+aWQgPT0gQ1NTVmFsdWVBdXRvKQot
ICAgICAgICAgICAgdmFsID0gbV9wcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVJZGVudGlmaWVy
VmFsdWUodi0+aWQpOworICAgICAgICAgICAgdmFsID0gbV9wYXJlbnQtPnByaW1pdGl2ZVZhbHVl
Q2FjaGUoKS0+Y3JlYXRlSWRlbnRpZmllclZhbHVlKHYtPmlkKTsKICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgdmFsID0gbV9wcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZSh2LT5mVmFs
dWUsIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKXYtPnVuaXQpOworICAgICAgICAgICAg
dmFsID0gbV9wYXJlbnQtPmNyZWF0ZVByaW1pdGl2ZU51bWVyaWNWYWx1ZSh2KTsKIAogICAgICAg
ICBpZiAoIW1fdG9wKQogICAgICAgICAgICAgbV90b3AgPSB2YWw7CkBAIC01NjIxLDE3ICs1Njk4
LDMyIEBAIHB1YmxpYzoKICAgICAgICAgLy8gV2UgbmVlZCB0byBjbG9uZSBhbmQgcmVwZWF0IHZh
bHVlcyBmb3IgYW55IG9taXNzaW9ucy4KICAgICAgICAgQVNTRVJUKG1fdG9wKTsKICAgICAgICAg
aWYgKCFtX3JpZ2h0KSB7Ci0gICAgICAgICAgICBtX3JpZ2h0ID0gbV9wcmltaXRpdmVWYWx1ZUNh
Y2hlLT5jcmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZh
bHVlOjpVbml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7Ci0gICAgICAgICAgICBtX2Jv
dHRvbSA9IG1fcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUobV90b3AtPmdldERvdWJs
ZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmltaXRpdmVU
eXBlKCkpOwotICAgICAgICAgICAgbV9sZWZ0ID0gbV9wcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVh
dGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0
VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7CisgICAgICAgICAgICBpZiAobV90b3AtPmlz
Q2FsY3VsYXRlZCgpKSB7CisgICAgICAgICAgICAgICAgbV9yaWdodCA9IENTU1ByaW1pdGl2ZVZh
bHVlOjpjcmVhdGUoYWRvcHRSZWYobV90b3AtPmNzc0NhbGNWYWx1ZSgpKSk7CisgICAgICAgICAg
ICAgICAgbV9ib3R0b20gPSBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKGFkb3B0UmVmKG1fdG9w
LT5jc3NDYWxjVmFsdWUoKSkpOworICAgICAgICAgICAgICAgIG1fbGVmdCA9IENTU1ByaW1pdGl2
ZVZhbHVlOjpjcmVhdGUoYWRvcHRSZWYobV90b3AtPmNzc0NhbGNWYWx1ZSgpKSk7CisgICAgICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG1fcmlnaHQgPSBtX3BhcmVudC0+cHJpbWl0
aXZlVmFsdWVDYWNoZSgpLT5jcmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENT
U1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7CisgICAg
ICAgICAgICAgICAgbV9ib3R0b20gPSBtX3BhcmVudC0+cHJpbWl0aXZlVmFsdWVDYWNoZSgpLT5j
cmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpV
bml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7CisgICAgICAgICAgICAgICAgbV9sZWZ0
ID0gbV9wYXJlbnQtPnByaW1pdGl2ZVZhbHVlQ2FjaGUoKS0+Y3JlYXRlVmFsdWUobV90b3AtPmdl
dERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmlt
aXRpdmVUeXBlKCkpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGlmICghbV9i
b3R0b20pIHsKLSAgICAgICAgICAgIG1fYm90dG9tID0gbV9wcmltaXRpdmVWYWx1ZUNhY2hlLT5j
cmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpV
bml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7Ci0gICAgICAgICAgICBtX2xlZnQgPSBt
X3ByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKG1fcmlnaHQtPmdldERvdWJsZVZhbHVl
KCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fcmlnaHQtPnByaW1pdGl2ZVR5cGUo
KSk7CisgICAgICAgICAgICBpZiAobV90b3AtPmlzQ2FsY3VsYXRlZCgpKQorICAgICAgICAgICAg
ICAgIG1fYm90dG9tID0gQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZShhZG9wdFJlZihtX3RvcC0+
Y3NzQ2FsY1ZhbHVlKCkpKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBtX2Jv
dHRvbSA9IG1fcGFyZW50LT5wcmltaXRpdmVWYWx1ZUNhY2hlKCktPmNyZWF0ZVZhbHVlKG1fdG9w
LT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+
cHJpbWl0aXZlVHlwZSgpKTsKKyAgICAgICAgICAgIGlmIChtX3JpZ2h0LT5pc0NhbGN1bGF0ZWQo
KSkKKyAgICAgICAgICAgICAgICBtX2xlZnQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKGFk
b3B0UmVmKG1fcmlnaHQtPmNzc0NhbGNWYWx1ZSgpKSk7CisgICAgICAgICAgICBlbHNlIAorICAg
ICAgICAgICAgICAgIG1fbGVmdCA9IG1fcGFyZW50LT5wcmltaXRpdmVWYWx1ZUNhY2hlKCktPmNy
ZWF0ZVZhbHVlKG1fcmlnaHQtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6
VW5pdFR5cGVzKW1fcmlnaHQtPnByaW1pdGl2ZVR5cGUoKSk7CisgICAgICAgIH0KKyAgICAgICAg
aWYgKCFtX2xlZnQpIHsKKyAgICAgICAgICAgIGlmIChtX3JpZ2h0LT5pc0NhbGN1bGF0ZWQoKSkK
KyAgICAgICAgICAgICAgICBtX2xlZnQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKGFkb3B0
UmVmKG1fcmlnaHQtPmNzc0NhbGNWYWx1ZSgpKSk7CisgICAgICAgICAgICBlbHNlIAorICAgICAg
ICAgICAgICAgIG1fbGVmdCA9IG1fcGFyZW50LT5wcmltaXRpdmVWYWx1ZUNhY2hlKCktPmNyZWF0
ZVZhbHVlKG1fcmlnaHQtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5p
dFR5cGVzKW1fcmlnaHQtPnByaW1pdGl2ZVR5cGUoKSk7CiAgICAgICAgIH0KLSAgICAgICAgaWYg
KCFtX2xlZnQpCi0gICAgICAgICAgICAgbV9sZWZ0ID0gbV9wcmltaXRpdmVWYWx1ZUNhY2hlLT5j
cmVhdGVWYWx1ZShtX3JpZ2h0LT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6
OlVuaXRUeXBlcyltX3JpZ2h0LT5wcmltaXRpdmVUeXBlKCkpOwotCiAgICAgICAgIC8vIE5vdyBi
dWlsZCBhIHF1YWQgdmFsdWUgdG8gaG9sZCBhbGwgZm91ciBvZiBvdXIgcHJpbWl0aXZlIHZhbHVl
cy4KICAgICAgICAgUmVmUHRyPFF1YWQ+IHF1YWQgPSBRdWFkOjpjcmVhdGUoKTsKICAgICAgICAg
cXVhZC0+c2V0VG9wKG1fdG9wKTsKQEAgLTU2NDAsMTEgKzU3MzIsMTEgQEAgcHVibGljOgogICAg
ICAgICBxdWFkLT5zZXRMZWZ0KG1fbGVmdCk7CiAKICAgICAgICAgLy8gTWFrZSBvdXIgbmV3IHZh
bHVlIG5vdy4KLSAgICAgICAgcmV0dXJuIG1fcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFs
dWUocXVhZC5yZWxlYXNlKCkpOworICAgICAgICByZXR1cm4gbV9wYXJlbnQtPnByaW1pdGl2ZVZh
bHVlQ2FjaGUoKS0+Y3JlYXRlVmFsdWUocXVhZC5yZWxlYXNlKCkpOwogICAgIH0KIAogcHJpdmF0
ZToKLSAgICBDU1NQcmltaXRpdmVWYWx1ZUNhY2hlKiBtX3ByaW1pdGl2ZVZhbHVlQ2FjaGU7Cisg
ICAgQ1NTUGFyc2VyKiBtX3BhcmVudDsKIAogICAgIGJvb2wgbV9hbGxvd051bWJlcjsKICAgICBi
b29sIG1fYWxsb3dGaW5hbENvbW1pdDsKQEAgLTU2NTcsNyArNTc0OSw3IEBAIHByaXZhdGU6CiAK
IGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUJvcmRlckltYWdlUXVhZChVbml0cyB2YWxpZFVuaXRzLCBS
ZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+JiByZXN1bHQpCiB7Ci0gICAgQm9yZGVySW1hZ2VRdWFk
UGFyc2VDb250ZXh0IGNvbnRleHQocHJpbWl0aXZlVmFsdWVDYWNoZSgpKTsKKyAgICBCb3JkZXJJ
bWFnZVF1YWRQYXJzZUNvbnRleHQgY29udGV4dCh0aGlzKTsKICAgICBDU1NQYXJzZXJWYWx1ZSog
dmFsOwogICAgIHdoaWxlICgodmFsID0gbV92YWx1ZUxpc3QtPmN1cnJlbnQoKSkpIHsKICAgICAg
ICAgaWYgKGNvbnRleHQuYWxsb3dOdW1iZXIoKSAmJiAodmFsaWRVbml0KHZhbCwgdmFsaWRVbml0
cywgdHJ1ZSkgfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZUF1dG8pKSB7CkBAIC03MTg0LDYgKzcyNzYs
MjMgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlRm9udEZlYXR1cmVTZXR0aW5ncyhib29sIGltcG9y
dGFudCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgQ1NTUGFyc2VyOjpwYXJzZUNhbGMo
Q1NTUGFyc2VyVmFsdWUqIHZhbHVlLCBDYWxjUGVybWl0dGVkVmFsdWVSYW5nZSByYW5nZSkgCit7
CisgICAgQVNTRVJUKGlzQ2FsY01pbk1heCh2YWx1ZSkpOworICAgIAorICAgIENTU1BhcnNlclZh
bHVlTGlzdCogYXJncyA9IHZhbHVlLT5mdW5jdGlvbi0+YXJncy5nZXQoKTsKKyAgICBpZiAoIWFy
Z3MgfHwgIWFyZ3MtPnNpemUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgQVNTRVJU
KCFtX3BhcnNlZENhbGMpOworICAgIG1fcGFyc2VkQ2FsYyA9IENTU0NhbGNWYWx1ZTo6Y3JlYXRl
KHZhbHVlLT5mdW5jdGlvbi0+bmFtZSwgYXJncywgcmFuZ2UpOworICAgIAorICAgIGlmICghbV9w
YXJzZWRDYWxjKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgcmV0dXJuIHRydWU7
Cit9CisgICAgCiBzdGF0aWMgaW5saW5lIGludCB5eWVycm9yKGNvbnN0IGNoYXIqKSB7IHJldHVy
biAxOyB9CiAKICNkZWZpbmUgRU5EX1RPS0VOIDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCBk
N2E5YmJhNThjNzhkZTZjNzg4MGUyYzNlNTc5ZmE2M2VlZWUxYTQwLi4wYTYwYzllMzY4ODIyNzI4
ZTUzNmFjNWZhMjEzOTQxOWQ5ZWE4YWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0yMyw2
ICsyMyw3IEBACiAjaWZuZGVmIENTU1BhcnNlcl9oCiAjZGVmaW5lIENTU1BhcnNlcl9oCiAKKyNp
bmNsdWRlICJDU1NDYWxjVmFsdWUuaCIKICNpbmNsdWRlICJDU1NHcmFkaWVudFZhbHVlLmgiCiAj
aW5jbHVkZSAiQ1NTUGFyc2VyVmFsdWVzLmgiCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlTb3VyY2VE
YXRhLmgiCkBAIC0yMDYsNiArMjA3LDcgQEAgcHVibGljOgogICAgIGJvb2wgcGFyc2VUZXh0RW1w
aGFzaXNTdHlsZShib29sIGltcG9ydGFudCk7CiAKICAgICBib29sIHBhcnNlTGluZUJveENvbnRh
aW4oYm9vbCBpbXBvcnRhbnQpOworICAgIGJvb2wgcGFyc2VDYWxjKENTU1BhcnNlclZhbHVlKiwg
Q2FsY1Blcm1pdHRlZFZhbHVlUmFuZ2UpOwogCiAgICAgYm9vbCBwYXJzZUZvbnRGZWF0dXJlVGFn
KENTU1ZhbHVlTGlzdCopOwogICAgIGJvb2wgcGFyc2VGb250RmVhdHVyZVNldHRpbmdzKGJvb2wg
aW1wb3J0YW50KTsKQEAgLTMxNSw2ICszMTcsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBjb3VudExp
bmVzKCk7CiAgICAgaW50IGxleCgpOwogCisgICAgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1
ZT4gY3JlYXRlUHJpbWl0aXZlTnVtZXJpY1ZhbHVlKENTU1BhcnNlclZhbHVlKik7CisgICAgUGFz
c1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY3JlYXRlUHJpbWl0aXZlU3RyaW5nVmFsdWUoQ1NT
UGFyc2VyVmFsdWUqKTsKKyAgICAgICAgCiBwcml2YXRlOgogICAgIHZvaWQgc2V0U3R5bGVTaGVl
dChDU1NTdHlsZVNoZWV0Kik7CiAKQEAgLTM3NSw2ICszODAsOCBAQCBwcml2YXRlOgogICAgIFZl
Y3RvcjxPd25QdHI8Q1NTUGFyc2VyU2VsZWN0b3I+ID4gbV9yZXVzYWJsZVNlbGVjdG9yVmVjdG9y
OwogICAgIFZlY3RvcjxPd25QdHI8Q1NTUGFyc2VyU2VsZWN0b3I+ID4gbV9yZXVzYWJsZVJlZ2lv
blNlbGVjdG9yVmVjdG9yOwogCisgICAgUmVmUHRyPENTU0NhbGNWYWx1ZT4gbV9wYXJzZWRDYWxj
OworCiAgICAgLy8gZGVmaW5lcyB1bml0cyBhbGxvd2VkIGZvciBhIGNlcnRhaW4gcHJvcGVydHks
IHVzZWQgaW4gcGFyc2VVbml0CiAgICAgZW51bSBVbml0cyB7CiAgICAgICAgIEZVbmtub3duICAg
PSAweDAwMDAsCkBAIC0zOTQsMTMgKzQwMSwxOCBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8VW5pdHM+KHN0YXRpY19jYXN0PHVuc2lnbmVkPihhKSB8IHN0YXRpY19jYXN0
PHVuc2lnbmVkPihiKSk7CiAgICAgfQogCi0gICAgc3RhdGljIGJvb2wgdmFsaWRVbml0KENTU1Bh
cnNlclZhbHVlKiwgVW5pdHMsIGJvb2wgc3RyaWN0KTsKKyAgICBib29sIHZhbGlkVW5pdChDU1NQ
YXJzZXJWYWx1ZSosIFVuaXRzLCBib29sIHN0cmljdCk7CiAKICAgICBib29sIHBhcnNlQm9yZGVy
SW1hZ2VRdWFkKFVuaXRzLCBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+Jik7Ci0KLSAgICBQYXNz
UmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUoQ1NT
UGFyc2VyVmFsdWUqKTsKLSAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjcmVhdGVQ
cmltaXRpdmVTdHJpbmdWYWx1ZShDU1NQYXJzZXJWYWx1ZSopOwotCisgICAgaW50IGNvbG9ySW50
RnJvbVZhbHVlKENTU1BhcnNlclZhbHVlKik7CisKKyAgICBlbnVtIFJlbGVhc2VQYXJzZWRDYWxj
VmFsdWVDb25kaXRpb24geworICAgICAgICBSZWxlYXNlUGFyc2VkQ2FsY1ZhbHVlLAorICAgICAg
ICBEb05vdFJlbGVhc2VQYXJzZWRDYWxjVmFsdWUKKyAgICB9OyAgICAKKyAgICBkb3VibGUgcGFy
c2VkRG91YmxlKENTU1BhcnNlclZhbHVlKiwgUmVsZWFzZVBhcnNlZENhbGNWYWx1ZUNvbmRpdGlv
biByZWxlYXNlQ2FsYyA9IERvTm90UmVsZWFzZVBhcnNlZENhbGNWYWx1ZSk7CisgICAgYm9vbCBp
c0NhbGNNaW5NYXgoQ1NTUGFyc2VyVmFsdWUqKTsKKyAgICAKICAgICBmcmllbmQgY2xhc3MgVHJh
bnNmb3JtT3BlcmF0aW9uSW5mbzsKICNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpCiAgICAgZnJpZW5k
IGNsYXNzIEZpbHRlck9wZXJhdGlvbkluZm87CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyVmFsdWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVz
LmgKaW5kZXggOTBkMjZhNDZkZTgxZGQ3OTRmYjc0NGE4OTcwNDMwNjAxMzM4ZmJmMC4uNWE4ODI0
ZWY4NzZmYjllNzBhZjk4NWI1NGEyYmYxZTU5ZDdhNWExNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXJWYWx1ZXMuaApAQCAtNTgsNyArNTgsNiBAQCBzdHJ1Y3QgQ1NTUGFyc2VyVmFsdWUgewog
ICAgIH07CiAgICAgaW50IHVuaXQ7CiAKLQogICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGNyZWF0
ZUNTU1ZhbHVlKCk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJp
bWl0aXZlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmNw
cAppbmRleCAyMmM3N2Q1MTBiNTE3NmZlNzg2MGJmZjc4YzdjMDBhNGJkNDdhOWI4Li5kZjViMjYw
OWNlOGIyMDVhYWIxYzI4ZDk0NWFlZTUzMmUxZmI3NjAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcmltaXRpdmVWYWx1ZS5jcHAKQEAgLTIxLDEyICsyMSwxNCBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCiAKKyNpbmNsdWRlICJDU1NDYWxj
VmFsdWUuaCIKICNpbmNsdWRlICJDU1NIZWxwZXIuaCIKICNpbmNsdWRlICJDU1NQYXJzZXIuaCIK
ICNpbmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5o
IgogI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJDU1NXcmFwU2hhcGVz
LmgiCisjaW5jbHVkZSAiQ2FsY1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ29sb3IuaCIKICNpbmNsdWRl
ICJDb3VudGVyLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgpAQCAtNTIsNiArNTQsOSBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgaW5saW5lIGJvb2wgaXNWYWxpZENTU1VuaXRU
eXBlRm9yRG91YmxlQ29udmVyc2lvbihDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzIHVuaXRU
eXBlKQogewogICAgIHN3aXRjaCAodW5pdFR5cGUpIHsKKyAgICBjYXNlIENTU1ByaW1pdGl2ZVZh
bHVlOjogQ1NTX0NBTEM6CisgICAgY2FzZSBDU1NQcmltaXRpdmVWYWx1ZTo6IENTU19DQUxDX1BF
UkNFTlRBR0VfTlVNQkVSOgorICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OiBDU1NfQ0FMQ19Q
RVJDRU5UQUdFX0xFTkdUSDoKICAgICBjYXNlIENTU1ByaW1pdGl2ZVZhbHVlOjogQ1NTX0NNOgog
ICAgIGNhc2UgQ1NTUHJpbWl0aXZlVmFsdWU6OiBDU1NfREVHOgogICAgIGNhc2UgQ1NTUHJpbWl0
aXZlVmFsdWU6OiBDU1NfRElNRU5TSU9OOgpAQCAtMTM3LDYgKzE0MiwyNyBAQCBzdGF0aWMgQ1NT
VGV4dENhY2hlJiBjc3NUZXh0Q2FjaGUoKQogICAgIHJldHVybiBjYWNoZTsKIH0KIAordW5zaWdu
ZWQgc2hvcnQgQ1NTUHJpbWl0aXZlVmFsdWU6OnByaW1pdGl2ZVR5cGUoKSBjb25zdCAKK3sKKyAg
ICBpZiAobV9wcmltaXRpdmVVbml0VHlwZSAhPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NBTEMp
CisgICAgICAgIHJldHVybiBtX3ByaW1pdGl2ZVVuaXRUeXBlOyAKKyAgICAKKyAgICBzd2l0Y2gg
KG1fdmFsdWUuY2FsYy0+Y2F0ZWdvcnkoKSkgeworICAgIGNhc2UgQ2FsY051bWJlcjoKKyAgICAg
ICAgcmV0dXJuIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSOworICAgIGNhc2UgQ2FsY1Bl
cmNlbnQ6CisgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0U7
CisgICAgY2FzZSBDYWxjTGVuZ3RoOgorICAgICAgICByZXR1cm4gQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19QWDsKKyAgICBjYXNlIENhbGNQZXJjZW50TnVtYmVyOgorICAgICAgICByZXR1cm4gQ1NT
UHJpbWl0aXZlVmFsdWU6OkNTU19DQUxDX1BFUkNFTlRBR0VfTlVNQkVSOworICAgIGNhc2UgQ2Fs
Y1BlcmNlbnRMZW5ndGg6CisgICAgICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NB
TENfUEVSQ0VOVEFHRV9MRU5HVEg7CisgICAgY2FzZSBDYWxjT3RoZXI6CisgICAgICAgIHJldHVy
biBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1VOS05PV047CisgICAgfQorICAgIHJldHVybiBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTX1VOS05PV047Cit9CiBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5n
JiB2YWx1ZU9yUHJvcGVydHlOYW1lKGludCB2YWx1ZU9yUHJvcGVydHlJRCkKIHsKICAgICBBU1NF
UlRfQVJHKHZhbHVlT3JQcm9wZXJ0eUlELCB2YWx1ZU9yUHJvcGVydHlJRCA+PSAwKTsKQEAgLTIz
OSw2ICsyNjUsMTAgQEAgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKGNvbnN0
IExlbmd0aCYgbGVuZ3RoKQogICAgICAgICAgICAgQVNTRVJUKGlzZmluaXRlKGxlbmd0aC5wZXJj
ZW50KCkpKTsKICAgICAgICAgICAgIG1fdmFsdWUubnVtID0gbGVuZ3RoLnBlcmNlbnQoKTsKICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENhbGN1bGF0ZWQ6CisgICAgICAgICAgICBt
X3ByaW1pdGl2ZVVuaXRUeXBlID0gQ1NTX0NBTEM7CisgICAgICAgICAgICBtX3ZhbHVlLmNhbGMg
PSBDU1NDYWxjVmFsdWU6OmNyZWF0ZShsZW5ndGguY2FsY1ZhbHVlKCkubGVha1JlZigpKS5sZWFr
UmVmKCk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBSZWxhdGl2ZToKICAgICAg
ICAgY2FzZSBVbmRlZmluZWQ6CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAg
LTI4Myw2ICszMTMsMTMgQEAgdm9pZCBDU1NQcmltaXRpdmVWYWx1ZTo6aW5pdChQYXNzUmVmUHRy
PFBhaXI+IHApCiAgICAgbV92YWx1ZS5wYWlyID0gcC5sZWFrUmVmKCk7CiB9CiAKK3ZvaWQgQ1NT
UHJpbWl0aXZlVmFsdWU6OmluaXQoUGFzc1JlZlB0cjxDU1NDYWxjVmFsdWU+IGMpCit7CisgICAg
bV9wcmltaXRpdmVVbml0VHlwZSA9IENTU19DQUxDOworICAgIG1faGFzQ2FjaGVkQ1NTVGV4dCA9
IGZhbHNlOworICAgIG1fdmFsdWUuY2FsYyA9IGMubGVha1JlZigpOworfQorCiB2b2lkIENTU1By
aW1pdGl2ZVZhbHVlOjppbml0KFBhc3NSZWZQdHI8Q1NTV3JhcFNoYXBlPiBzaGFwZSkKIHsKICAg
ICBtX3ByaW1pdGl2ZVVuaXRUeXBlID0gQ1NTX1NIQVBFOwpAQCAtMzIzLDYgKzM2MCw5IEBAIHZv
aWQgQ1NTUHJpbWl0aXZlVmFsdWU6OmNsZWFudXAoKQogICAgICAgICAgICAgICAgIG1fdmFsdWUu
cmVnaW9uLT5kZXJlZigpOwogICAgICAgICAgICAgYnJlYWs7CiAjZW5kaWYKKyAgICAgICAgY2Fz
ZSBDU1NfQ0FMQzoKKyAgICAgICAgICAgIG1fdmFsdWUuY2FsYy0+ZGVyZWYoKTsKKyAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBjYXNlIENTU19TSEFQRToKICAgICAgICAgICAgIG1fdmFsdWUu
c2hhcGUtPmRlcmVmKCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTQxMywxMiArNDUzLDIyIEBA
IGRvdWJsZSBDU1NQcmltaXRpdmVWYWx1ZTo6Y29tcHV0ZUxlbmd0aERvdWJsZShSZW5kZXJTdHls
ZSogc3R5bGUsIFJlbmRlclN0eWxlKiByCiAgICAgICAgICAgICAvLyAxIHBjID09IDEyIHB0CiAg
ICAgICAgICAgICBmYWN0b3IgPSBjc3NQaXhlbHNQZXJJbmNoICogMTIuMCAvIDcyLjA7CiAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDU1NfQ0FMQ19QRVJDRU5UQUdFX0xFTkdUSDoK
KyAgICAgICAgY2FzZSBDU1NfQ0FMQ19QRVJDRU5UQUdFX05VTUJFUjoKKyAgICAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgcmV0dXJuIC0xLjA7CiAgICAgICAgIGRl
ZmF1bHQ6CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgICAgIHJl
dHVybiAtMS4wOwogICAgIH0KIAotICAgIGRvdWJsZSByZXN1bHQgPSBnZXREb3VibGVWYWx1ZSgp
ICogZmFjdG9yOworICAgIGRvdWJsZSB2YWx1ZTsKKyAgICBpZiAobV9wcmltaXRpdmVVbml0VHlw
ZSA9PSBDU1NfQ0FMQykKKyAgICAgICAgdmFsdWUgPSBtX3ZhbHVlLmNhbGMtPmNvbXB1dGVMZW5n
dGhQeChzdHlsZSwgcm9vdFN0eWxlLCAxLjAsIGNvbXB1dGluZ0ZvbnRTaXplKTsKKyAgICBlbHNl
CisgICAgICAgIHZhbHVlID0gZ2V0RG91YmxlVmFsdWUoKTsKKyAgICAKKyAgICBkb3VibGUgcmVz
dWx0ID0gdmFsdWUgKiBmYWN0b3I7CiAgICAgaWYgKCFhcHBseVpvb21NdWx0aXBsaWVyIHx8IG11
bHRpcGxpZXIgPT0gMS4wKQogICAgICAgICByZXR1cm4gcmVzdWx0OwogCkBAIC01MDQsNiArNTU0
LDExIEBAIGRvdWJsZSBDU1NQcmltaXRpdmVWYWx1ZTo6Z2V0RG91YmxlVmFsdWUodW5zaWduZWQg
c2hvcnQgdW5pdFR5cGUpIGNvbnN0CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorZG91YmxlIENT
U1ByaW1pdGl2ZVZhbHVlOjpnZXREb3VibGVWYWx1ZSgpIGNvbnN0Cit7IAorICAgIHJldHVybiBt
X3ByaW1pdGl2ZVVuaXRUeXBlICE9IENTU19DQUxDID8gbV92YWx1ZS5udW0gOiBtX3ZhbHVlLmNh
bGMtPmRvdWJsZVZhbHVlKCk7Cit9CisKIENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMgQ1NT
UHJpbWl0aXZlVmFsdWU6OmNhbm9uaWNhbFVuaXRUeXBlRm9yQ2F0ZWdvcnkoVW5pdENhdGVnb3J5
IGNhdGVnb3J5KQogewogICAgIC8vIFRoZSBjYW5vbmljYWwgdW5pdCB0eXBlIGlzIGNob3NlbiBh
Y2NvcmRpbmcgdG8gdGhlIHdheSBDU1NQYXJzZXI6OnZhbGlkVW5pdCgpIGNob29zZXMgdGhlIGRl
ZmF1bHQgdW5pdApAQCAtNTMwLDEyICs1ODUsMTMgQEAgYm9vbCBDU1NQcmltaXRpdmVWYWx1ZTo6
Z2V0RG91YmxlVmFsdWVJbnRlcm5hbChVbml0VHlwZXMgcmVxdWVzdGVkVW5pdFR5cGUsIGRvdWIK
IHsKICAgICBpZiAoIWlzVmFsaWRDU1NVbml0VHlwZUZvckRvdWJsZUNvbnZlcnNpb24oc3RhdGlj
X2Nhc3Q8VW5pdFR5cGVzPihtX3ByaW1pdGl2ZVVuaXRUeXBlKSkgfHwgIWlzVmFsaWRDU1NVbml0
VHlwZUZvckRvdWJsZUNvbnZlcnNpb24ocmVxdWVzdGVkVW5pdFR5cGUpKQogICAgICAgICByZXR1
cm4gZmFsc2U7Ci0gICAgaWYgKHJlcXVlc3RlZFVuaXRUeXBlID09IHN0YXRpY19jYXN0PFVuaXRU
eXBlcz4obV9wcmltaXRpdmVVbml0VHlwZSkgfHwgcmVxdWVzdGVkVW5pdFR5cGUgPT0gQ1NTX0RJ
TUVOU0lPTikgewotICAgICAgICAqcmVzdWx0ID0gbV92YWx1ZS5udW07CisKKyAgICBVbml0VHlw
ZXMgc291cmNlVW5pdFR5cGUgPSBzdGF0aWNfY2FzdDxVbml0VHlwZXM+KHByaW1pdGl2ZVR5cGUo
KSk7CisgICAgaWYgKHJlcXVlc3RlZFVuaXRUeXBlID09IHNvdXJjZVVuaXRUeXBlIHx8IHJlcXVl
c3RlZFVuaXRUeXBlID09IENTU19ESU1FTlNJT04pIHsKKyAgICAgICAgKnJlc3VsdCA9IGdldERv
dWJsZVZhbHVlKCk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAotICAgIFVuaXRUeXBl
cyBzb3VyY2VVbml0VHlwZSA9IHN0YXRpY19jYXN0PFVuaXRUeXBlcz4obV9wcmltaXRpdmVVbml0
VHlwZSk7CiAgICAgVW5pdENhdGVnb3J5IHNvdXJjZUNhdGVnb3J5ID0gdW5pdENhdGVnb3J5KHNv
dXJjZVVuaXRUeXBlKTsKICAgICBBU1NFUlQoc291cmNlQ2F0ZWdvcnkgIT0gVU90aGVyKTsKIApA
QCAtNTYxLDcgKzYxNyw3IEBAIGJvb2wgQ1NTUHJpbWl0aXZlVmFsdWU6OmdldERvdWJsZVZhbHVl
SW50ZXJuYWwoVW5pdFR5cGVzIHJlcXVlc3RlZFVuaXRUeXBlLCBkb3ViCiAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgZG91YmxlIGNvbnZlcnRlZFZhbHVlID0gbV92YWx1
ZS5udW07CisgICAgZG91YmxlIGNvbnZlcnRlZFZhbHVlID0gZ2V0RG91YmxlVmFsdWUoKTsKIAog
ICAgIC8vIEZpcnN0IGNvbnZlcnQgdGhlIHZhbHVlIGZyb20gbV9wcmltaXRpdmVVbml0VHlwZSB0
byBjYW5vbmljYWwgdHlwZS4KICAgICBkb3VibGUgZmFjdG9yID0gY29udmVyc2lvblRvQ2Fub25p
Y2FsVW5pdHNTY2FsZUZhY3Rvcihzb3VyY2VVbml0VHlwZSk7CkBAIC05NDEsNiArOTk3LDkgQEAg
U3RyaW5nIENTU1ByaW1pdGl2ZVZhbHVlOjpjdXN0b21Dc3NUZXh0KCkgY29uc3QKICAgICAgICAg
Y2FzZSBDU1NfUEFSU0VSX0lERU5USUZJRVI6CiAgICAgICAgICAgICB0ZXh0ID0gcXVvdGVDU1NT
dHJpbmdJZk5lZWRlZChtX3ZhbHVlLnN0cmluZyk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgY2FzZSBDU1NfQ0FMQzoKKyAgICAgICAgICAgIHRleHQgPSBtX3ZhbHVlLmNhbGMtPmNzc1Rl
eHQoKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENTU19TSEFQRToKICAgICAg
ICAgICAgIHRleHQgPSBtX3ZhbHVlLnNoYXBlLT5jc3NUZXh0KCk7CiAgICAgICAgICAgICBicmVh
azsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZS5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmgKaW5kZXggNmMzYmVmYjRmNTY0
NTQ2YzZhM2YwNDBmMjU0NjcyZDIwMzIyY2ViZS4uODM1ZTdjZWJiMzk2YTU3Y2RjYzQyZjA4ZGU5
N2VkNWI2OGNmZjViOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2
ZVZhbHVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmgKQEAg
LTMwLDYgKzMwLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitjbGFzcyBDU1NDYWxjVmFs
dWU7CiBjbGFzcyBDb3VudGVyOwogY2xhc3MgRGFzaGJvYXJkUmVnaW9uOwogY2xhc3MgUGFpcjsK
QEAgLTEwMiw3ICsxMDMsMTEgQEAgcHVibGljOgogICAgICAgICBDU1NfU0hBUEUgPSAxMTAsCiAK
ICAgICAgICAgLy8gVXNlZCBieSBib3JkZXIgaW1hZ2VzLgotICAgICAgICBDU1NfUVVBRCA9IDEx
MQorICAgICAgICBDU1NfUVVBRCA9IDExMSwKKworICAgICAgICBDU1NfQ0FMQyA9IDExMiwKKyAg
ICAgICAgQ1NTX0NBTENfUEVSQ0VOVEFHRV9OVU1CRVIgPSAxMTMsCisgICAgICAgIENTU19DQUxD
X1BFUkNFTlRBR0VfTEVOR1RIID0gMTE0CiAgICAgfTsKIAogICAgIC8vIFRoaXMgZW51bSBmb2xs
b3dzIHRoZSBDU1NQYXJzZXI6OlVuaXRzIGVudW0gYXVnbWVudGVkIHdpdGggVU5JVF9GUkVRVUVO
Q1kgZm9yIGZyZXF1ZW5jaWVzLgpAQCAtMTIxLDYgKzEyNiw3IEBAIHB1YmxpYzoKIAogICAgIGJv
b2wgaXNMZW5ndGgoKSBjb25zdCB7IHJldHVybiBpc1VuaXRUeXBlTGVuZ3RoKG1fcHJpbWl0aXZl
VW5pdFR5cGUpOyB9CiAgICAgYm9vbCBpc1BlcmNlbnRhZ2UoKSBjb25zdCB7IHJldHVybiBtX3By
aW1pdGl2ZVVuaXRUeXBlID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRTsgfQor
ICAgIGJvb2wgaXNDYWxjdWxhdGVkKCkgY29uc3QgeyByZXR1cm4gbV9wcmltaXRpdmVVbml0VHlw
ZSA9PSBDU1NfQ0FMQzsgfQogCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFs
dWU+IGNyZWF0ZUlkZW50aWZpZXIoaW50IGlkZW50aWZpZXIpIHsgcmV0dXJuIGFkb3B0UmVmKG5l
dyBDU1NQcmltaXRpdmVWYWx1ZShpZGVudGlmaWVyKSk7IH0KICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxDU1NQcmltaXRpdmVWYWx1ZT4gY3JlYXRlQ29sb3IodW5zaWduZWQgcmdiVmFsdWUpIHsgcmV0
dXJuIGFkb3B0UmVmKG5ldyBDU1NQcmltaXRpdmVWYWx1ZShyZ2JWYWx1ZSkpOyB9CkBAIC0xNDcs
NyArMTUzLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVhbnVwKCk7CiAKLSAgICB1bnNpZ25l
ZCBzaG9ydCBwcmltaXRpdmVUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9wcmltaXRpdmVVbml0VHlw
ZTsgfQorICAgIHVuc2lnbmVkIHNob3J0IHByaW1pdGl2ZVR5cGUoKSBjb25zdDsKIAogICAgIC8q
CiAgICAgICogY29tcHV0ZXMgYSBsZW5ndGggaW4gcGl4ZWxzIG91dCBvZiB0aGUgZ2l2ZW4gQ1NT
VmFsdWUuIE5lZWQgdGhlIFJlbmRlclN0eWxlIHRvIGdldApAQCAtMTY2LDcgKzE3Miw3IEBAIHB1
YmxpYzoKIAogICAgIGRvdWJsZSBnZXREb3VibGVWYWx1ZSh1bnNpZ25lZCBzaG9ydCB1bml0VHlw
ZSwgRXhjZXB0aW9uQ29kZSYpIGNvbnN0OwogICAgIGRvdWJsZSBnZXREb3VibGVWYWx1ZSh1bnNp
Z25lZCBzaG9ydCB1bml0VHlwZSkgY29uc3Q7Ci0gICAgZG91YmxlIGdldERvdWJsZVZhbHVlKCkg
Y29uc3QgeyByZXR1cm4gbV92YWx1ZS5udW07IH0KKyAgICBkb3VibGUgZ2V0RG91YmxlVmFsdWUo
KSBjb25zdDsKIAogICAgIHZvaWQgc2V0RmxvYXRWYWx1ZSh1bnNpZ25lZCBzaG9ydCB1bml0VHlw
ZSwgZG91YmxlIGZsb2F0VmFsdWUsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBmbG9hdCBnZXRGbG9h
dFZhbHVlKHVuc2lnbmVkIHNob3J0IHVuaXRUeXBlLCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3Qg
eyByZXR1cm4gZ2V0VmFsdWU8ZmxvYXQ+KHVuaXRUeXBlLCBlYyk7IH0KQEAgLTE3OSw3ICsxODUs
NyBAQCBwdWJsaWM6CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgVCBnZXRWYWx1
ZSh1bnNpZ25lZCBzaG9ydCB1bml0VHlwZSwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0IHsgcmV0
dXJuIGNsYW1wVG88VD4oZ2V0RG91YmxlVmFsdWUodW5pdFR5cGUsIGVjKSk7IH0KICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgVCBnZXRWYWx1ZSh1bnNpZ25lZCBzaG9ydCB1bml0VHlw
ZSkgY29uc3QgeyByZXR1cm4gY2xhbXBUbzxUPihnZXREb3VibGVWYWx1ZSh1bml0VHlwZSkpOyB9
Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIFQgZ2V0VmFsdWUoKSBjb25zdCB7IHJl
dHVybiBjbGFtcFRvPFQ+KG1fdmFsdWUubnVtKTsgfQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGlubGluZSBUIGdldFZhbHVlKCkgY29uc3QgeyByZXR1cm4gY2xhbXBUbzxUPihnZXREb3VibGVW
YWx1ZSgpKTsgfQogCiAgICAgdm9pZCBzZXRTdHJpbmdWYWx1ZSh1bnNpZ25lZCBzaG9ydCBzdHJp
bmdUeXBlLCBjb25zdCBTdHJpbmcmIHN0cmluZ1ZhbHVlLCBFeGNlcHRpb25Db2RlJik7CiAgICAg
U3RyaW5nIGdldFN0cmluZ1ZhbHVlKEV4Y2VwdGlvbkNvZGUmKSBjb25zdDsKQEAgLTIwMyw2ICsy
MDksOCBAQCBwdWJsaWM6CiAgICAgRGFzaGJvYXJkUmVnaW9uKiBnZXREYXNoYm9hcmRSZWdpb25W
YWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJpbWl0aXZlVW5pdFR5cGUgIT0gQ1NTX0RBU0hCT0FS
RF9SRUdJT04gPyAwIDogbV92YWx1ZS5yZWdpb247IH0KIAogICAgIENTU1dyYXBTaGFwZSogZ2V0
U2hhcGVWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJpbWl0aXZlVW5pdFR5cGUgIT0gQ1NTX1NI
QVBFID8gMCA6IG1fdmFsdWUuc2hhcGU7IH0KKyAgICAKKyAgICBDU1NDYWxjVmFsdWUqIGNzc0Nh
bGNWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJpbWl0aXZlVW5pdFR5cGUgIT0gQ1NTX0NBTEMg
PyAwIDogbV92YWx1ZS5jYWxjOyB9CiAKICAgICBpbnQgZ2V0SWRlbnQoKSBjb25zdDsKICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgb3BlcmF0b3IgVCgpIGNvbnN0OyAvLyBEZWZpbmVk
IGluIENTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaApAQCAtMjU1LDcgKzI2Myw3IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBpbml0KFBhc3NSZWZQdHI8UXVhZD4pOwogICAgIHZvaWQgaW5pdChQYXNz
UmVmUHRyPERhc2hib2FyZFJlZ2lvbj4pOyAvLyBGSVhNRTogRGFzaGJvYXJkIHJlZ2lvbiBzaG91
bGQgbm90IGJlIGEgcHJpbWl0aXZlIHZhbHVlLgogICAgIHZvaWQgaW5pdChQYXNzUmVmUHRyPENT
U1dyYXBTaGFwZT4pOwotCisgICAgdm9pZCBpbml0KFBhc3NSZWZQdHI8Q1NTQ2FsY1ZhbHVlPik7
CiAgICAgYm9vbCBnZXREb3VibGVWYWx1ZUludGVybmFsKFVuaXRUeXBlcyB0YXJnZXRVbml0VHlw
ZSwgZG91YmxlKiByZXN1bHQpIGNvbnN0OwogCiAgICAgZG91YmxlIGNvbXB1dGVMZW5ndGhEb3Vi
bGUoUmVuZGVyU3R5bGUqIGN1cnJlbnRTdHlsZSwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91
YmxlIG11bHRpcGxpZXIsIGJvb2wgY29tcHV0aW5nRm9udFNpemUpOwpAQCAtMjcxLDYgKzI3OSw3
IEBAIHByaXZhdGU6CiAgICAgICAgIFBhaXIqIHBhaXI7CiAgICAgICAgIERhc2hib2FyZFJlZ2lv
biogcmVnaW9uOwogICAgICAgICBDU1NXcmFwU2hhcGUqIHNoYXBlOworICAgICAgICBDU1NDYWxj
VmFsdWUqIGNhbGM7CiAgICAgfSBtX3ZhbHVlOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlQXBwbHlQcm9wZXJ0eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3R5bGVBcHBseVByb3BlcnR5LmNwcAppbmRleCBlNzE5YzQwZDhhZmZjOThlODQ0NmZkYTU5
OGI5MmRjNDJjY2Q2OGVhLi42NTc3ZGQ2NzViYzZhZjM3NmExMDJiZDQwYTQ3MzRlZGNiZDNmYTIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVBcHBseVByb3BlcnR5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVBcHBseVByb3BlcnR5LmNwcApAQCAt
MjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIkNTU1N0eWxlQXBwbHlQcm9wZXJ0eS5oIgogCiAjaW5j
bHVkZSAiQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oIgorI2luY2x1ZGUgIkNTU0NhbGNWYWx1ZS5oIgog
I2luY2x1ZGUgIkNTU0N1cnNvckltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NGbGV4VmFsdWUu
aCIKICNpbmNsdWRlICJDU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgiCkBAIC0zMzUsNiArMzM2
LDggQEAgcHVibGljOgogICAgICAgICAgICAgICAgIHNldFZhbHVlKHNlbGVjdG9yLT5zdHlsZSgp
LCBsZW5ndGgpOwogICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09IENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfUEVSQ0VOVEFHRSkKICAgICAgICAgICAgICAgICBzZXRWYWx1ZShzZWxlY3Rvci0+
c3R5bGUoKSwgTGVuZ3RoKHByaW1pdGl2ZVZhbHVlLT5nZXREb3VibGVWYWx1ZSgpLCBQZXJjZW50
KSk7CisgICAgICAgICAgICBlbHNlIGlmICh0eXBlID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
Q0FMQ19QRVJDRU5UQUdFX0xFTkdUSCkKKyAgICAgICAgICAgICAgICBzZXRWYWx1ZShzZWxlY3Rv
ci0+c3R5bGUoKSwgTGVuZ3RoKHByaW1pdGl2ZVZhbHVlLT5jc3NDYWxjVmFsdWUoKS0+dG9DYWxj
VmFsdWUoc2VsZWN0b3ItPnN0eWxlKCksIHNlbGVjdG9yLT5yb290RWxlbWVudFN0eWxlKCksIHNl
bGVjdG9yLT5zdHlsZSgpLT5lZmZlY3RpdmVab29tKCkpKSk7ICAgICAgICAgICAgCiAgICAgICAg
IH0KICAgICB9CiAKQEAgLTM4NCwxNiArMzg3LDI1IEBAIHB1YmxpYzoKIAogICAgICAgICBMZW5n
dGggcmFkaXVzV2lkdGg7CiAgICAgICAgIExlbmd0aCByYWRpdXNIZWlnaHQ7CisgICAgICAgIGJv
b2wgY2FuVGVzdFdpZHRoID0gdHJ1ZTsKKyAgICAgICAgYm9vbCBjYW5UZXN0SGVpZ2h0ID0gdHJ1
ZTsKICAgICAgICAgaWYgKHBhaXItPmZpcnN0KCktPnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpCiAgICAgICAgICAgICByYWRpdXNXaWR0aCA9IExl
bmd0aChwYWlyLT5maXJzdCgpLT5nZXREb3VibGVWYWx1ZSgpLCBQZXJjZW50KTsKLSAgICAgICAg
ZWxzZQorICAgICAgICBlbHNlIGlmIChwYWlyLT5maXJzdCgpLT5wcmltaXRpdmVUeXBlKCkgPT0g
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DQUxDX1BFUkNFTlRBR0VfTEVOR1RIKSB7CisgICAgICAg
ICAgICByYWRpdXNXaWR0aCA9IExlbmd0aChwYWlyLT5maXJzdCgpLT5jc3NDYWxjVmFsdWUoKS0+
dG9DYWxjVmFsdWUoc2VsZWN0b3ItPnN0eWxlKCksIHNlbGVjdG9yLT5yb290RWxlbWVudFN0eWxl
KCksIHNlbGVjdG9yLT5zdHlsZSgpLT5lZmZlY3RpdmVab29tKCkpKTsKKyAgICAgICAgICAgIGNh
blRlc3RXaWR0aCA9IGZhbHNlOworICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIHJhZGl1c1dp
ZHRoID0gTGVuZ3RoKG1heChpbnRNaW5Gb3JMZW5ndGgsIG1pbihpbnRNYXhGb3JMZW5ndGgsIHBh
aXItPmZpcnN0KCktPmNvbXB1dGVMZW5ndGg8aW50PihzZWxlY3Rvci0+c3R5bGUoKSwgc2VsZWN0
b3ItPnJvb3RFbGVtZW50U3R5bGUoKSwgc2VsZWN0b3ItPnN0eWxlKCktPmVmZmVjdGl2ZVpvb20o
KSkpKSwgRml4ZWQpOwogICAgICAgICBpZiAocGFpci0+c2Vjb25kKCktPnByaW1pdGl2ZVR5cGUo
KSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpCiAgICAgICAgICAgICByYWRp
dXNIZWlnaHQgPSBMZW5ndGgocGFpci0+c2Vjb25kKCktPmdldERvdWJsZVZhbHVlKCksIFBlcmNl
bnQpOwotICAgICAgICBlbHNlCisgICAgICAgIGVsc2UgaWYgKHBhaXItPnNlY29uZCgpLT5wcmlt
aXRpdmVUeXBlKCkgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DQUxDX1BFUkNFTlRBR0VfTEVO
R1RIKSB7CisgICAgICAgICAgICByYWRpdXNIZWlnaHQgPSBMZW5ndGgocGFpci0+c2Vjb25kKCkt
PmNzc0NhbGNWYWx1ZSgpLT50b0NhbGNWYWx1ZShzZWxlY3Rvci0+c3R5bGUoKSwgc2VsZWN0b3It
PnJvb3RFbGVtZW50U3R5bGUoKSwgc2VsZWN0b3ItPnN0eWxlKCktPmVmZmVjdGl2ZVpvb20oKSkp
OworICAgICAgICAgICAgY2FuVGVzdEhlaWdodCA9IGZhbHNlOworICAgICAgICB9IGVsc2UKICAg
ICAgICAgICAgIHJhZGl1c0hlaWdodCA9IExlbmd0aChtYXgoaW50TWluRm9yTGVuZ3RoLCBtaW4o
aW50TWF4Rm9yTGVuZ3RoLCBwYWlyLT5zZWNvbmQoKS0+Y29tcHV0ZUxlbmd0aDxpbnQ+KHNlbGVj
dG9yLT5zdHlsZSgpLCBzZWxlY3Rvci0+cm9vdEVsZW1lbnRTdHlsZSgpLCBzZWxlY3Rvci0+c3R5
bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKSkpLCBGaXhlZCk7Ci0gICAgICAgIGludCB3aWR0aCA9IHJh
ZGl1c1dpZHRoLnZhbHVlKCk7Ci0gICAgICAgIGludCBoZWlnaHQgPSByYWRpdXNIZWlnaHQudmFs
dWUoKTsKKyAgICAgICAgLy8gQ0FMQ19QRVJDRU5UQUdFX0xFTkdUSCBjYW5ub3QgYmUgZGV0ZXJt
aW5lZCB3aXRob3V0IGtub3dpbmcgcGFyZW50IHNpemUKKyAgICAgICAgaW50IHdpZHRoID0gY2Fu
VGVzdFdpZHRoID8gcmFkaXVzV2lkdGgudmFsdWUoKSA6IDE7CisgICAgICAgIGludCBoZWlnaHQg
PSBjYW5UZXN0SGVpZ2h0ID8gcmFkaXVzSGVpZ2h0LnZhbHVlKCkgOiAxOwogICAgICAgICBpZiAo
d2lkdGggPCAwIHx8IGhlaWdodCA8IDApCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGlm
ICghd2lkdGgpCkBAIC0xMDc0LDcgKzEwODYsOSBAQCBwdWJsaWM6CiAgICAgICAgICAgICBsZW5n
dGggPSBwcmltaXRpdmVWYWx1ZS0+Y29tcHV0ZUxlbmd0aDxMZW5ndGg+KHNlbGVjdG9yLT5zdHls
ZSgpLCBzZWxlY3Rvci0+cm9vdEVsZW1lbnRTdHlsZSgpLCBzZWxlY3Rvci0+c3R5bGUoKS0+ZWZm
ZWN0aXZlWm9vbSgpKTsKICAgICAgICAgZWxzZSBpZiAocHJpbWl0aXZlVmFsdWUtPmlzUGVyY2Vu
dGFnZSgpKQogICAgICAgICAgICAgbGVuZ3RoID0gTGVuZ3RoKHByaW1pdGl2ZVZhbHVlLT5nZXRE
b3VibGVWYWx1ZSgpLCBQZXJjZW50KTsKLQorICAgICAgICBlbHNlIGlmIChwcmltaXRpdmVWYWx1
ZS0+cHJpbWl0aXZlVHlwZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfQ0FMQ19QRVJDRU5U
QUdFX0xFTkdUSCkKKyAgICAgICAgICAgIGxlbmd0aCA9IExlbmd0aChwcmltaXRpdmVWYWx1ZS0+
Y3NzQ2FsY1ZhbHVlKCktPnRvQ2FsY1ZhbHVlKHNlbGVjdG9yLT5zdHlsZSgpLCBzZWxlY3Rvci0+
cm9vdEVsZW1lbnRTdHlsZSgpLCBzZWxlY3Rvci0+c3R5bGUoKS0+ZWZmZWN0aXZlWm9vbSgpKSk7
CisgICAgICAgICAgICAKICAgICAgICAgc2VsZWN0b3ItPnN0eWxlKCktPnNldFZlcnRpY2FsQWxp
Z25MZW5ndGgobGVuZ3RoKTsKICAgICB9CiAKQEAgLTExNjUsNiArMTE3OSwxMCBAQCBwdWJsaWM6
CiAgICAgICAgICAgICByZXNldEVmZmVjdGl2ZVpvb20oc2VsZWN0b3IpOwogICAgICAgICAgICAg
aWYgKGZsb2F0IG51bWJlciA9IHByaW1pdGl2ZVZhbHVlLT5nZXRGbG9hdFZhbHVlKCkpCiAgICAg
ICAgICAgICAgICAgc2VsZWN0b3ItPnNldFpvb20obnVtYmVyKTsKKyAgICAgICAgfSBlbHNlIGlm
IChwcmltaXRpdmVWYWx1ZS0+cHJpbWl0aXZlVHlwZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NfQ0FMQ19QRVJDRU5UQUdFX05VTUJFUikgeworICAgICAgICAgICAgcmVzZXRFZmZlY3RpdmVa
b29tKHNlbGVjdG9yKTsKKyAgICAgICAgICAgIGlmIChkb3VibGUgem9vbSA9IHByaW1pdGl2ZVZh
bHVlLT5jc3NDYWxjVmFsdWUoKS0+Y29tcHV0ZVBlcmNlbnQoMTAwLjBmKSkKKyAgICAgICAgICAg
ICAgICBzZWxlY3Rvci0+c2V0Wm9vbSh6b29tKTsKICAgICAgICAgfQogICAgIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCmluZGV4IDY3OGM3YTM1YWQ3ZGFjNzM3Nzll
OWIyNjYyYmVmZjRlYzY1Y2JjNjAuLjQzZjEyNGViNDkwZDY3MWM2ZWUyMTM4ODRmYzc4Y2EzMzUx
NzA4MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKQEAgLTMwLDEw
ICszMCwxMiBAQAogCiAjaW5jbHVkZSAiQXR0cmlidXRlLmgiCiAjaW5jbHVkZSAiQ2FjaGVkSW1h
Z2UuaCIKKyNpbmNsdWRlICJDYWxjVmFsdWUuaCIKICNpbmNsdWRlICJDb250ZW50RGF0YS5oIgog
I2luY2x1ZGUgIkNvdW50ZXIuaCIKICNpbmNsdWRlICJDb3VudGVyQ29udGVudC5oIgogI2luY2x1
ZGUgIkNTU0JvcmRlckltYWdlVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NDYWxjVmFsdWUuaCIKICNp
bmNsdWRlICJDU1NDdXJzb3JJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udEZhY2VSdWxl
LmgiCiAjaW5jbHVkZSAiQ1NTRm9udFNlbGVjdG9yLmgiCkBAIC0xMTEsNiArMTEzLDcgQEAKICNp
bmNsdWRlICJXZWJLaXRDU1NUcmFuc2Zvcm1WYWx1ZS5oIgogI2luY2x1ZGUgIldlYktpdEZvbnRG
YW1pbHlOYW1lcy5oIgogI2luY2x1ZGUgIlhNTE5hbWVzLmgiCisjaW5jbHVkZSA8d3RmL093blB0
ci5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CiAKQEAgLTIxMDcsMTggKzIxMTAsMjIgQEAgc3RhdGljIExlbmd0aCBjb252ZXJ0VG9MZW5n
dGgoQ1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlLCBSZW5kZXJTdHlsZSogc3QKICAg
ICAgICAgICAgIGwgPSBMZW5ndGgocHJpbWl0aXZlVmFsdWUtPmdldERvdWJsZVZhbHVlKCksIFBl
cmNlbnQpOwogICAgICAgICBlbHNlIGlmICh0eXBlID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
TlVNQkVSKQogICAgICAgICAgICAgbCA9IExlbmd0aChwcmltaXRpdmVWYWx1ZS0+Z2V0RG91Ymxl
VmFsdWUoKSAqIDEwMC4wLCBQZXJjZW50KTsKKyAgICAgICAgZWxzZSBpZiAodHlwZSA9PSBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTX0NBTENfUEVSQ0VOVEFHRV9MRU5HVEgpCisgICAgICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgZWxzZSBpZiAodHlwZSA9PSBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX0NBTENfUEVSQ0VOVEFHRV9OVU1CRVIpCisgICAgICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICAgICAgICAgZWxzZSBpZiAob2spCiAgICAgICAgICAgICAqb2sgPSBm
YWxzZTsKICAgICB9CiAgICAgcmV0dXJuIGw7CiB9CiAKLXN0YXRpYyBMZW5ndGggY29udmVydFRv
SW50TGVuZ3RoKENTU1ByaW1pdGl2ZVZhbHVlKiBwcmltaXRpdmVWYWx1ZSwgUmVuZGVyU3R5bGUq
IHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciA9IDEsIGJv
b2wgKm9rID0gMCkKK0xlbmd0aCBDU1NTdHlsZVNlbGVjdG9yOjpjb252ZXJ0VG9JbnRMZW5ndGgo
Q1NTUHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlLCBSZW5kZXJTdHlsZSogc3R5bGUsIFJl
bmRlclN0eWxlKiByb290U3R5bGUsIGRvdWJsZSBtdWx0aXBsaWVyLCBib29sICpvaykKIHsKICAg
ICByZXR1cm4gY29udmVydFRvTGVuZ3RoKHByaW1pdGl2ZVZhbHVlLCBzdHlsZSwgcm9vdFN0eWxl
LCBmYWxzZSwgbXVsdGlwbGllciwgb2spOwogfQogCi1zdGF0aWMgTGVuZ3RoIGNvbnZlcnRUb0Zs
b2F0TGVuZ3RoKENTU1ByaW1pdGl2ZVZhbHVlKiBwcmltaXRpdmVWYWx1ZSwgUmVuZGVyU3R5bGUq
IHN0eWxlLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciA9IDEsIGJv
b2wgKm9rID0gMCkKK0xlbmd0aCBDU1NTdHlsZVNlbGVjdG9yOjpjb252ZXJ0VG9GbG9hdExlbmd0
aChDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUsIFJlbmRlclN0eWxlKiBzdHlsZSwg
UmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIG11bHRpcGxpZXIsIGJvb2wgKm9rKQogewog
ICAgIHJldHVybiBjb252ZXJ0VG9MZW5ndGgocHJpbWl0aXZlVmFsdWUsIHN0eWxlLCByb290U3R5
bGUsIHRydWUsIG11bHRpcGxpZXIsIG9rKTsKIH0KQEAgLTI3MDksNiArMjcxNiw4IEBAIHZvaWQg
Q1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShpbnQgaWQsIENTU1ZhbHVlICp2YWx1ZSkK
ICAgICAgICAgICAgICAgICBzaXplID0gcHJpbWl0aXZlVmFsdWUtPmNvbXB1dGVMZW5ndGg8Zmxv
YXQ+KG1fcGFyZW50U3R5bGUsIG1fcm9vdEVsZW1lbnRTdHlsZSwgMS4wLCB0cnVlKTsKICAgICAg
ICAgICAgIGVsc2UgaWYgKHR5cGUgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdF
KQogICAgICAgICAgICAgICAgIHNpemUgPSAocHJpbWl0aXZlVmFsdWUtPmdldEZsb2F0VmFsdWUo
KSAqIG9sZFNpemUpIC8gMTAwLjBmOworICAgICAgICAgICAgZWxzZSBpZiAodHlwZSA9PSBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTX0NBTENfUEVSQ0VOVEFHRV9MRU5HVEgpCisgICAgICAgICAgICAg
ICAgc2l6ZSA9IHByaW1pdGl2ZVZhbHVlLT5jc3NDYWxjVmFsdWUoKS0+dG9DYWxjVmFsdWUobV9w
YXJlbnRTdHlsZSwgbV9yb290RWxlbWVudFN0eWxlKS0+ZXZhbHVhdGUob2xkU2l6ZSk7CiAgICAg
ICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC0yNzQ4
LDYgKzI3NTcsMTcgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KGludCBp
ZCwgQ1NTVmFsdWUgKnZhbHVlKQogICAgICAgICAgICAgbGluZUhlaWdodCA9IExlbmd0aCgobV9z
dHlsZS0+Zm9udFNpemUoKSAqIHByaW1pdGl2ZVZhbHVlLT5nZXRJbnRWYWx1ZSgpKSAvIDEwMCwg
Rml4ZWQpOwogICAgICAgICBlbHNlIGlmICh0eXBlID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
TlVNQkVSKQogICAgICAgICAgICAgbGluZUhlaWdodCA9IExlbmd0aChwcmltaXRpdmVWYWx1ZS0+
Z2V0RG91YmxlVmFsdWUoKSAqIDEwMC4wLCBQZXJjZW50KTsKKyAgICAgICAgZWxzZSBpZiAodHlw
ZSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NBTENfUEVSQ0VOVEFHRV9MRU5HVEgpIHsKKyAg
ICAgICAgICAgIGRvdWJsZSBtdWx0aXBsaWVyID0gem9vbUZhY3RvcjsKKyAgICAgICAgICAgIGlm
IChtX3N0eWxlLT50ZXh0U2l6ZUFkanVzdCgpKSB7CisgICAgICAgICAgICAgICAgaWYgKEZyYW1l
KiBmcmFtZSA9IG1fY2hlY2tlci5kb2N1bWVudCgpLT5mcmFtZSgpKQorICAgICAgICAgICAgICAg
ICAgICBtdWx0aXBsaWVyICo9IGZyYW1lLT50ZXh0Wm9vbUZhY3RvcigpOworICAgICAgICAgICAg
fQorICAgICAgICAgICAgbGluZUhlaWdodCA9IExlbmd0aChwcmltaXRpdmVWYWx1ZS0+Y3NzQ2Fs
Y1ZhbHVlKCktPnRvQ2FsY1ZhbHVlKHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSwgbXVsdGlw
bGllcikpOworICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U19DQUxDX1BFUkNFTlRBR0VfTlVNQkVSKSB7CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAgICAgICBlbHNlCiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIG1fc3R5bGUtPnNldExpbmVIZWlnaHQobGluZUhlaWdo
dCk7CkBAIC0zMjU2LDYgKzMyNzYsOCBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJv
cGVydHkoaW50IGlkLCBDU1NWYWx1ZSAqdmFsdWUpCiAgICAgICAgICAgICBpbnQgdHlwZSA9IHJl
ZmxlY3RWYWx1ZS0+b2Zmc2V0KCktPnByaW1pdGl2ZVR5cGUoKTsKICAgICAgICAgICAgIGlmICh0
eXBlID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSkKICAgICAgICAgICAgICAg
ICByZWZsZWN0aW9uLT5zZXRPZmZzZXQoTGVuZ3RoKHJlZmxlY3RWYWx1ZS0+b2Zmc2V0KCktPmdl
dERvdWJsZVZhbHVlKCksIFBlcmNlbnQpKTsKKyAgICAgICAgICAgIGVsc2UgaWYgKHR5cGUgPT0g
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DQUxDX1BFUkNFTlRBR0VfTEVOR1RIKQorICAgICAgICAg
ICAgICAgIHJlZmxlY3Rpb24tPnNldE9mZnNldChMZW5ndGgocmVmbGVjdFZhbHVlLT5vZmZzZXQo
KS0+Y3NzQ2FsY1ZhbHVlKCktPnRvQ2FsY1ZhbHVlKHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHls
ZSwgem9vbUZhY3RvcikpKTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICByZWZs
ZWN0aW9uLT5zZXRPZmZzZXQocmVmbGVjdFZhbHVlLT5vZmZzZXQoKS0+Y29tcHV0ZUxlbmd0aDxM
ZW5ndGg+KHN0eWxlKCksIG1fcm9vdEVsZW1lbnRTdHlsZSwgem9vbUZhY3RvcikpOwogICAgICAg
ICB9CkBAIC0zNDYxLDYgKzM0ODMsOCBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJv
cGVydHkoaW50IGlkLCBDU1NWYWx1ZSAqdmFsdWUpCiAgICAgICAgICAgICBtX3N0eWxlLT5zZXRM
aW5lQ2xhbXAoTGluZUNsYW1wVmFsdWUocHJpbWl0aXZlVmFsdWUtPmdldEludFZhbHVlKENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKSwgTGluZUNsYW1wTGluZUNvdW50KSk7CiAgICAgICAg
IGVsc2UgaWYgKHR5cGUgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFKQogICAg
ICAgICAgICAgbV9zdHlsZS0+c2V0TGluZUNsYW1wKExpbmVDbGFtcFZhbHVlKHByaW1pdGl2ZVZh
bHVlLT5nZXRJbnRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpLCBMaW5l
Q2xhbXBQZXJjZW50YWdlKSk7CisgICAgICAgIGVsc2UgaWYgKHByaW1pdGl2ZVZhbHVlLT5wcmlt
aXRpdmVUeXBlKCkgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19DQUxDX1BFUkNFTlRBR0VfTlVN
QkVSKQorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEh5cGhlbnM6CkBAIC00MTIzLDYgKzQx
NDcsOCBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6Om1hcEZpbGxTaXplKENTU1Byb3BlcnR5SUQs
IEZpbGxMYXllciogbGF5ZXIsIENTU1ZhbHVlKiB2YQogICAgICAgICBmaXJzdExlbmd0aCA9IGZp
cnN0LT5jb21wdXRlTGVuZ3RoPExlbmd0aD4oc3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxlLCB6
b29tRmFjdG9yKTsKICAgICBlbHNlIGlmIChmaXJzdFR5cGUgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU19QRVJDRU5UQUdFKQogICAgICAgICBmaXJzdExlbmd0aCA9IExlbmd0aChmaXJzdC0+Z2V0
RG91YmxlVmFsdWUoKSwgUGVyY2VudCk7CisgICAgZWxzZSBpZiAoZmlyc3RUeXBlID09IENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NfQ0FMQ19QRVJDRU5UQUdFX0xFTkdUSCkKKyAgICAgICAgZmlyc3RM
ZW5ndGggPSBMZW5ndGgoZmlyc3QtPmNzc0NhbGNWYWx1ZSgpLT50b0NhbGNWYWx1ZShzdHlsZSgp
LCBtX3Jvb3RFbGVtZW50U3R5bGUsIHpvb21GYWN0b3IpKTsKICAgICBlbHNlCiAgICAgICAgIHJl
dHVybjsKIApAQCAtNDEzMiw2ICs0MTU4LDggQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjptYXBG
aWxsU2l6ZShDU1NQcm9wZXJ0eUlELCBGaWxsTGF5ZXIqIGxheWVyLCBDU1NWYWx1ZSogdmEKICAg
ICAgICAgc2Vjb25kTGVuZ3RoID0gc2Vjb25kLT5jb21wdXRlTGVuZ3RoPExlbmd0aD4oc3R5bGUo
KSwgbV9yb290RWxlbWVudFN0eWxlLCB6b29tRmFjdG9yKTsKICAgICBlbHNlIGlmIChzZWNvbmRU
eXBlID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSkKICAgICAgICAgc2Vjb25k
TGVuZ3RoID0gTGVuZ3RoKHNlY29uZC0+Z2V0RG91YmxlVmFsdWUoKSwgUGVyY2VudCk7CisgICAg
ZWxzZSBpZiAoc2Vjb25kVHlwZSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NBTENfUEVSQ0VO
VEFHRV9MRU5HVEgpCisgICAgICAgIHNlY29uZExlbmd0aCA9IExlbmd0aChzZWNvbmQtPmNzc0Nh
bGNWYWx1ZSgpLT50b0NhbGNWYWx1ZShzdHlsZSgpLCBtX3Jvb3RFbGVtZW50U3R5bGUsIHpvb21G
YWN0b3IpKTsKICAgICBlbHNlCiAgICAgICAgIHJldHVybjsKIApAQCAtNDE1OSw2ICs0MTg3LDgg
QEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjptYXBGaWxsWFBvc2l0aW9uKENTU1Byb3BlcnR5SUQs
IEZpbGxMYXllciogbGF5ZXIsIENTU1ZhbHUKICAgICAgICAgbCA9IHByaW1pdGl2ZVZhbHVlLT5j
b21wdXRlTGVuZ3RoPExlbmd0aD4oc3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxlLCB6b29tRmFj
dG9yKTsKICAgICBlbHNlIGlmICh0eXBlID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VO
VEFHRSkKICAgICAgICAgbCA9IExlbmd0aChwcmltaXRpdmVWYWx1ZS0+Z2V0RG91YmxlVmFsdWUo
KSwgUGVyY2VudCk7CisgICAgZWxzZSBpZiAodHlwZSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NT
X0NBTENfUEVSQ0VOVEFHRV9MRU5HVEgpCisgICAgICAgIGwgPSBMZW5ndGgocHJpbWl0aXZlVmFs
dWUtPmNzc0NhbGNWYWx1ZSgpLT50b0NhbGNWYWx1ZShzdHlsZSgpLCBtX3Jvb3RFbGVtZW50U3R5
bGUsIHpvb21GYWN0b3IpKTsKICAgICBlbHNlCiAgICAgICAgIHJldHVybjsKICAgICBsYXllci0+
c2V0WFBvc2l0aW9uKGwpOwpAQCAtNDE4Myw2ICs0MjEzLDggQEAgdm9pZCBDU1NTdHlsZVNlbGVj
dG9yOjptYXBGaWxsWVBvc2l0aW9uKENTU1Byb3BlcnR5SUQsIEZpbGxMYXllciogbGF5ZXIsIENT
U1ZhbHUKICAgICAgICAgbCA9IHByaW1pdGl2ZVZhbHVlLT5jb21wdXRlTGVuZ3RoPExlbmd0aD4o
c3R5bGUoKSwgbV9yb290RWxlbWVudFN0eWxlLCB6b29tRmFjdG9yKTsKICAgICBlbHNlIGlmICh0
eXBlID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSkKICAgICAgICAgbCA9IExl
bmd0aChwcmltaXRpdmVWYWx1ZS0+Z2V0RG91YmxlVmFsdWUoKSwgUGVyY2VudCk7CisgICAgZWxz
ZSBpZiAodHlwZSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NBTENfUEVSQ0VOVEFHRV9MRU5H
VEgpCisgICAgICAgIGwgPSBMZW5ndGgocHJpbWl0aXZlVmFsdWUtPmNzc0NhbGNWYWx1ZSgpLT50
b0NhbGNWYWx1ZShzdHlsZSgpLCBtX3Jvb3RFbGVtZW50U3R5bGUsIHpvb21GYWN0b3IpKTsKICAg
ICBlbHNlCiAgICAgICAgIHJldHVybjsKICAgICBsYXllci0+c2V0WVBvc2l0aW9uKGwpOwpAQCAt
NDQ0MiwxOCArNDQ3NCwyOSBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6Om1hcE5pbmVQaWVjZUlt
YWdlU2xpY2UoQ1NTVmFsdWUqIHZhbHVlLCBOaW5lUGllY2VJbWFnZSYgaQogICAgIFF1YWQqIHNs
aWNlcyA9IGJvcmRlckltYWdlU2xpY2UtPnNsaWNlcygpOwogICAgIGlmIChzbGljZXMtPnRvcCgp
LT5wcmltaXRpdmVUeXBlKCkgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFKQog
ICAgICAgICBib3gubV90b3AgPSBMZW5ndGgoc2xpY2VzLT50b3AoKS0+Z2V0RG91YmxlVmFsdWUo
KSwgUGVyY2VudCk7CisgICAgZWxzZSBpZiAoc2xpY2VzLT50b3AoKS0+cHJpbWl0aXZlVHlwZSgp
ID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfQ0FMQ19QRVJDRU5UQUdFX0xFTkdUSCkKKyAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgZWxzZQogICAgICAgICBib3gubV90b3AgPSBM
ZW5ndGgoc2xpY2VzLT50b3AoKS0+Z2V0SW50VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19O
VU1CRVIpLCBGaXhlZCk7CisKICAgICBpZiAoc2xpY2VzLT5ib3R0b20oKS0+cHJpbWl0aXZlVHlw
ZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSkKICAgICAgICAgYm94Lm1f
Ym90dG9tID0gTGVuZ3RoKHNsaWNlcy0+Ym90dG9tKCktPmdldERvdWJsZVZhbHVlKCksIFBlcmNl
bnQpOworICAgIGVsc2UgaWYgKHNsaWNlcy0+Ym90dG9tKCktPnByaW1pdGl2ZVR5cGUoKSA9PSBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NBTENfUEVSQ0VOVEFHRV9MRU5HVEgpCisgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIGVsc2UKICAgICAgICAgYm94Lm1fYm90dG9tID0gTGVu
Z3RoKChpbnQpc2xpY2VzLT5ib3R0b20oKS0+Z2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTX05VTUJFUiksIEZpeGVkKTsKKwogICAgIGlmIChzbGljZXMtPmxlZnQoKS0+cHJpbWl0
aXZlVHlwZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSkKICAgICAgICAg
Ym94Lm1fbGVmdCA9IExlbmd0aChzbGljZXMtPmxlZnQoKS0+Z2V0RG91YmxlVmFsdWUoKSwgUGVy
Y2VudCk7CisgICAgZWxzZSBpZiAoc2xpY2VzLT5sZWZ0KCktPnByaW1pdGl2ZVR5cGUoKSA9PSBD
U1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NBTENfUEVSQ0VOVEFHRV9MRU5HVEgpCisgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIGVsc2UKICAgICAgICAgYm94Lm1fbGVmdCA9IExlbmd0
aChzbGljZXMtPmxlZnQoKS0+Z2V0SW50VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1C
RVIpLCBGaXhlZCk7CisgICAgCiAgICAgaWYgKHNsaWNlcy0+cmlnaHQoKS0+cHJpbWl0aXZlVHlw
ZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSkKICAgICAgICAgYm94Lm1f
cmlnaHQgPSBMZW5ndGgoc2xpY2VzLT5yaWdodCgpLT5nZXREb3VibGVWYWx1ZSgpLCBQZXJjZW50
KTsKKyAgICBlbHNlIGlmIChzbGljZXMtPnJpZ2h0KCktPnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTX0NBTENfUEVSQ0VOVEFHRV9MRU5HVEgpCisgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogICAgIGVsc2UKICAgICAgICAgYm94Lm1fcmlnaHQgPSBMZW5ndGgo
c2xpY2VzLT5yaWdodCgpLT5nZXRJbnRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJF
UiksIEZpeGVkKTsKICAgICBpbWFnZS5zZXRJbWFnZVNsaWNlcyhib3gpOwpAQCAtNDQ4MCw2ICs0
NTIzLDggQEAgTGVuZ3RoQm94IENTU1N0eWxlU2VsZWN0b3I6Om1hcE5pbmVQaWVjZUltYWdlUXVh
ZChDU1NWYWx1ZSogdmFsdWUpCiAgICAgICAgIGJveC5tX3RvcCA9IExlbmd0aChzbGljZXMtPnRv
cCgpLT5nZXRJbnRWYWx1ZSgpLCBSZWxhdGl2ZSk7CiAgICAgZWxzZSBpZiAoc2xpY2VzLT50b3Ao
KS0+cHJpbWl0aXZlVHlwZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSkK
ICAgICAgICAgYm94Lm1fdG9wID0gTGVuZ3RoKHNsaWNlcy0+dG9wKCktPmdldERvdWJsZVZhbHVl
KENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSksIFBlcmNlbnQpOworICAgIGVsc2Ug
aWYgKHNsaWNlcy0+dG9wKCktPnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6
Q1NTX0NBTENfUEVSQ0VOVEFHRV9MRU5HVEgpCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwogICAgIGVsc2UgaWYgKHNsaWNlcy0+dG9wKCktPmdldElkZW50KCkgIT0gQ1NTVmFsdWVBdXRv
KQogICAgICAgICBib3gubV90b3AgPSBzbGljZXMtPnRvcCgpLT5jb21wdXRlTGVuZ3RoPExlbmd0
aD4oc3R5bGUoKSwgcm9vdEVsZW1lbnRTdHlsZSgpLCB6b29tKTsKIApAQCAtNDQ4Nyw2ICs0NTMy
LDggQEAgTGVuZ3RoQm94IENTU1N0eWxlU2VsZWN0b3I6Om1hcE5pbmVQaWVjZUltYWdlUXVhZChD
U1NWYWx1ZSogdmFsdWUpCiAgICAgICAgIGJveC5tX3JpZ2h0ID0gTGVuZ3RoKHNsaWNlcy0+cmln
aHQoKS0+Z2V0SW50VmFsdWUoKSwgUmVsYXRpdmUpOwogICAgIGVsc2UgaWYgKHNsaWNlcy0+cmln
aHQoKS0+cHJpbWl0aXZlVHlwZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFH
RSkKICAgICAgICAgYm94Lm1fcmlnaHQgPSBMZW5ndGgoc2xpY2VzLT5yaWdodCgpLT5nZXREb3Vi
bGVWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpLCBQZXJjZW50KTsKKyAg
ICBlbHNlIGlmIChzbGljZXMtPnJpZ2h0KCktPnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX0NBTENfUEVSQ0VOVEFHRV9MRU5HVEgpCisgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogICAgIGVsc2UgaWYgKHNsaWNlcy0+cmlnaHQoKS0+Z2V0SWRlbnQoKSAhPSBD
U1NWYWx1ZUF1dG8pCiAgICAgICAgIGJveC5tX3JpZ2h0ID0gc2xpY2VzLT5yaWdodCgpLT5jb21w
dXRlTGVuZ3RoPExlbmd0aD4oc3R5bGUoKSwgcm9vdEVsZW1lbnRTdHlsZSgpLCB6b29tKTsKIApA
QCAtNDQ5NCw2ICs0NTQxLDggQEAgTGVuZ3RoQm94IENTU1N0eWxlU2VsZWN0b3I6Om1hcE5pbmVQ
aWVjZUltYWdlUXVhZChDU1NWYWx1ZSogdmFsdWUpCiAgICAgICAgIGJveC5tX2JvdHRvbSA9IExl
bmd0aChzbGljZXMtPmJvdHRvbSgpLT5nZXRJbnRWYWx1ZSgpLCBSZWxhdGl2ZSk7CiAgICAgZWxz
ZSBpZiAoc2xpY2VzLT5ib3R0b20oKS0+cHJpbWl0aXZlVHlwZSgpID09IENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfUEVSQ0VOVEFHRSkKICAgICAgICAgYm94Lm1fYm90dG9tID0gTGVuZ3RoKHNsaWNl
cy0+Ym90dG9tKCktPmdldERvdWJsZVZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VO
VEFHRSksIFBlcmNlbnQpOworICAgIGVsc2UgaWYgKHNsaWNlcy0+Ym90dG9tKCktPnByaW1pdGl2
ZVR5cGUoKSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NBTENfUEVSQ0VOVEFHRV9MRU5HVEgp
CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIGVsc2UgaWYgKHNsaWNlcy0+Ym90
dG9tKCktPmdldElkZW50KCkgIT0gQ1NTVmFsdWVBdXRvKQogICAgICAgICBib3gubV9ib3R0b20g
PSBzbGljZXMtPmJvdHRvbSgpLT5jb21wdXRlTGVuZ3RoPExlbmd0aD4oc3R5bGUoKSwgcm9vdEVs
ZW1lbnRTdHlsZSgpLCB6b29tKTsKIApAQCAtNDUwMSw2ICs0NTUwLDggQEAgTGVuZ3RoQm94IENT
U1N0eWxlU2VsZWN0b3I6Om1hcE5pbmVQaWVjZUltYWdlUXVhZChDU1NWYWx1ZSogdmFsdWUpCiAg
ICAgICAgIGJveC5tX2xlZnQgPSBMZW5ndGgoc2xpY2VzLT5sZWZ0KCktPmdldEludFZhbHVlKCks
IFJlbGF0aXZlKTsKICAgICBlbHNlIGlmIChzbGljZXMtPmxlZnQoKS0+cHJpbWl0aXZlVHlwZSgp
ID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSkKICAgICAgICAgYm94Lm1fbGVm
dCA9IExlbmd0aChzbGljZXMtPmxlZnQoKS0+Z2V0RG91YmxlVmFsdWUoQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19QRVJDRU5UQUdFKSwgUGVyY2VudCk7CisgICAgZWxzZSBpZiAoc2xpY2VzLT5sZWZ0
KCktPnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0NBTENfUEVSQ0VO
VEFHRV9MRU5HVEgpCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIGVsc2UgaWYg
KHNsaWNlcy0+bGVmdCgpLT5nZXRJZGVudCgpICE9IENTU1ZhbHVlQXV0bykKICAgICAgICAgYm94
Lm1fbGVmdCA9IHNsaWNlcy0+bGVmdCgpLT5jb21wdXRlTGVuZ3RoPExlbmd0aD4oc3R5bGUoKSwg
cm9vdEVsZW1lbnRTdHlsZSgpLCB6b29tKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1N0eWxlU2VsZWN0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVj
dG9yLmgKaW5kZXggYzllYTUzZWZlMWFhM2MwMWQxNzUwMTliYjMwMjkzMzdmZWY2MmQ3NC4uNDY5
MTZkYzZjNzgzNTU2MjFmZjdjN2FlM2I1OThiZTQ2Y2Y3NmEzNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3R5bGVTZWxlY3Rvci5oCkBAIC0zMDQsNiArMzA0LDkgQEAgcHVibGljOgogICAgIGJvb2wg
YXBwbHlQcm9wZXJ0eVRvUmVndWxhclN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9hcHBseVByb3Bl
cnR5VG9SZWd1bGFyU3R5bGU7IH0KICAgICBib29sIGFwcGx5UHJvcGVydHlUb1Zpc2l0ZWRMaW5r
U3R5bGUoKSBjb25zdCB7IHJldHVybiBtX2FwcGx5UHJvcGVydHlUb1Zpc2l0ZWRMaW5rU3R5bGU7
IH0KIAorICAgIHN0YXRpYyBMZW5ndGggY29udmVydFRvSW50TGVuZ3RoKENTU1ByaW1pdGl2ZVZh
bHVlKiwgUmVuZGVyU3R5bGUqLCBSZW5kZXJTdHlsZSogcm9vdFN0eWxlLCBkb3VibGUgbXVsdGlw
bGllciA9IDEsIGJvb2wgKm9rID0gMCk7CisgICAgc3RhdGljIExlbmd0aCBjb252ZXJ0VG9GbG9h
dExlbmd0aChDU1NQcmltaXRpdmVWYWx1ZSosIFJlbmRlclN0eWxlKiwgUmVuZGVyU3R5bGUqIHJv
b3RTdHlsZSwgZG91YmxlIG11bHRpcGxpZXIgPSAxLCBib29sICpvayA9IDApOworCiBwcml2YXRl
OgogICAgIHN0YXRpYyBSZW5kZXJTdHlsZSogc19zdHlsZU5vdFlldEF2YWlsYWJsZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZS5jcHAKaW5kZXggNGNlZmRiYzVjMjUyYzI5NmQ5ODg1NDE4ZTg5Mjg5ZGU5
MTUzNThkYy4uYjE0YzQyNWU5YWIzNzljOGM2Y2VlZTU2NmEwY2U1ZGYzMDcyMTFkNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVmFsdWUuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiQ1NTQXNwZWN0
UmF0aW9WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0JvcmRlckltYWdlVmFsdWUuaCIKICNpbmNsdWRl
ICJDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuaCIKKyNpbmNsdWRlICJDU1NDYWxjVmFsdWUuaCIK
ICNpbmNsdWRlICJDU1NDYW52YXNWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0Nyb3NzZmFkZVZhbHVl
LmgiCiAjaW5jbHVkZSAiQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oIgpAQCAtMTQ3LDYgKzE0OCw4IEBA
IFN0cmluZyBDU1NWYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxjb25zdCBDU1NMaW5lQm94Q29udGFpblZhbHVlKj4odGhpcyktPmN1c3RvbUNzc1RleHQo
KTsKICAgICBjYXNlIEZsZXhDbGFzczoKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0
IENTU0ZsZXhWYWx1ZSo+KHRoaXMpLT5jdXN0b21Dc3NUZXh0KCk7CisgICAgY2FzZSBDYWxjQ2xh
c3M6CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBDU1NDYWxjVmFsdWUqPih0aGlz
KS0+Y3VzdG9tQ3NzVGV4dCgpOwogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKICAgICBjYXNlIFdl
YktpdENTU0ZpbHRlckNsYXNzOgogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgV2Vi
S2l0Q1NTRmlsdGVyVmFsdWUqPih0aGlzKS0+Y3VzdG9tQ3NzVGV4dCgpOwpAQCAtMjUwLDYgKzI1
Myw5IEBAIHZvaWQgQ1NTVmFsdWU6OmRlc3Ryb3koKQogICAgIGNhc2UgRmxleENsYXNzOgogICAg
ICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8Q1NTRmxleFZhbHVlKj4odGhpcyk7CiAgICAgICAgIHJl
dHVybjsKKyAgICBjYXNlIENhbGNDbGFzczoKKyAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PENT
U0NhbGNWYWx1ZSo+KHRoaXMpOworICAgICAgICByZXR1cm47CiAjaWYgRU5BQkxFKENTU19GSUxU
RVJTKQogICAgIGNhc2UgV2ViS2l0Q1NTRmlsdGVyQ2xhc3M6CiAgICAgICAgIGRlbGV0ZSBzdGF0
aWNfY2FzdDxXZWJLaXRDU1NGaWx0ZXJWYWx1ZSo+KHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaApp
bmRleCA3NTJiMWUzZTk4NGUzZGRiMzc2MTIxMGE0MWQ5ODk5NzZhYzE1MWY4Li5hMzk5NGM5MTc0
OTNiNGJkMmRlNDY3MGE2OGY1N2Q1ZTQ5MWUwYTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuaApAQCAt
NzcsNiArNzcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1dlYktpdENTU1RyYW5zZm9ybVZhbHVl
KCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gV2ViS2l0Q1NTVHJhbnNmb3JtQ2xhc3M7
IH0KICAgICBib29sIGlzQ1NTTGluZUJveENvbnRhaW5WYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2xhc3NUeXBlID09IExpbmVCb3hDb250YWluQ2xhc3M7IH0KICAgICBib29sIGlzRmxleFZhbHVl
KCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5cGUgPT0gRmxleENsYXNzOyB9CisgICAgYm9vbCBp
c0NhbGNWYWx1ZSgpIGNvbnN0IHtyZXR1cm4gbV9jbGFzc1R5cGUgPT0gQ2FsY0NsYXNzOyB9CiAj
aWYgRU5BQkxFKENTU19GSUxURVJTKQogICAgIGJvb2wgaXNXZWJLaXRDU1NGaWx0ZXJWYWx1ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IFdlYktpdENTU0ZpbHRlckNsYXNzOyB9CiAj
aWYgRU5BQkxFKENTU19TSEFERVJTKQpAQCAtMTI4LDYgKzEyOSw3IEBAIHByb3RlY3RlZDoKICAg
ICAgICAgVW5pY29kZVJhbmdlQ2xhc3MsCiAgICAgICAgIExpbmVCb3hDb250YWluQ2xhc3MsCiAg
ICAgICAgIEZsZXhDbGFzcywKKyAgICAgICAgQ2FsY0NsYXNzLAogI2lmIEVOQUJMRShDU1NfRklM
VEVSUykgJiYgRU5BQkxFKENTU19TSEFERVJTKQogICAgICAgICBXZWJLaXRDU1NTaGFkZXJDbGFz
cywKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1BhcnNlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTUGFyc2VyLmNwcAppbmRleCBjOGU3MWI3OTEy
ZWQwOWVjODUyYzE2MGRlZjM1NDA2NzY1N2Y0YjhlLi4wYjIxNjI4OTdmMDViOWMzYzgzNDhhMTc4
NGIwMjZjNjNmNmZlZjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTUGFy
c2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU1ZHQ1NTUGFyc2VyLmNwcApAQCAtMzE0
LDYgKzMxNCw4IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVNWR1ZhbHVlKGludCBwcm9wSWQsIGJv
b2wgaW1wb3J0YW50KQogICAgICAgICAgICAgcGFyc2VkVmFsdWUgPSBDU1NQcmltaXRpdmVWYWx1
ZTo6Y3JlYXRlKHZhbHVlLT5mVmFsdWUsIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKSB2
YWx1ZS0+dW5pdCk7CiAgICAgICAgIGVsc2UgaWYgKHZhbHVlLT51bml0ID49IENTU1BhcnNlclZh
bHVlOjpRX0VNUykKICAgICAgICAgICAgIHBhcnNlZFZhbHVlID0gQ1NTUHJpbWl0aXZlVmFsdWU6
OmNyZWF0ZUFsbG93aW5nTWFyZ2luUXVpcmsodmFsdWUtPmZWYWx1ZSwgQ1NTUHJpbWl0aXZlVmFs
dWU6OkNTU19FTVMpOworICAgICAgICBpZiAoaXNDYWxjTWluTWF4KHZhbHVlKSkKKyAgICAgICAg
ICAgIHJldHVybiBDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlKG1fcGFyc2VkQ2FsYy5yZWxlYXNl
KCkpOwogICAgICAgICBtX3ZhbHVlTGlzdC0+bmV4dCgpOwogICAgIH0KICAgICBpZiAoIXBhcnNl
ZFZhbHVlIHx8IChtX3ZhbHVlTGlzdC0+Y3VycmVudCgpICYmICFpblNob3J0aGFuZCgpKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNhNThlOTg0NDlhNTVk
MTlhNTVmOTc2MjI0MTkzYjBlNWI4YjFhOWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUuY3BwCkBAIC0wLDAgKzEsMTQxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1
dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIkNhbGNWYWx1ZS5oIgorCisjaW5jbHVkZSA8bGltaXRzPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2Zsb2F0IENhbGNFeHByZXNzaW9uQmluYXJ5T3BlcmF0aW9u
OjpldmFsdWF0ZShmbG9hdCBtYXhWYWx1ZSkgY29uc3QKK3sKKyAgICBmbG9hdCBsZWZ0ID0gbV9s
ZWZ0U2lkZS0+ZXZhbHVhdGUobWF4VmFsdWUpOworICAgIGZsb2F0IHJpZ2h0ID0gbV9yaWdodFNp
ZGUtPmV2YWx1YXRlKG1heFZhbHVlKTsKKyAgICBzd2l0Y2ggKG1fb3BlcmF0b3IpIHsKKyAgICBj
YXNlIENhbGNBZGQ6CisgICAgICAgIHJldHVybiBsZWZ0ICsgcmlnaHQ7CisgICAgY2FzZSBDYWxj
U3VidHJhY3Q6CisgICAgICAgIHJldHVybiBsZWZ0IC0gcmlnaHQ7CisgICAgY2FzZSBDYWxjTXVs
dGlwbHk6CisgICAgICAgIHJldHVybiBsZWZ0ICogcmlnaHQ7CisgICAgY2FzZSBDYWxjRGl2aWRl
OgorICAgICAgICBpZiAoIXJpZ2h0KQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19s
aW1pdHM8ZmxvYXQ+OjpxdWlldF9OYU4oKTsKKyAgICAgICAgcmV0dXJuIGxlZnQgLyByaWdodDsK
KyAgICBjYXNlIENhbGNNb2Q6CisgICAgICAgIGlmICghcmlnaHQpCisgICAgICAgICAgICByZXR1
cm4gc3RkOjpudW1lcmljX2xpbWl0czxmbG9hdD46OnF1aWV0X05hTigpOworICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8aW50PihsZWZ0KSAlIHN0YXRpY19jYXN0PGludD4ocmlnaHQpOworICAg
IH0KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gc3RkOjpudW1lcmljX2xp
bWl0czxmbG9hdD46OnF1aWV0X05hTigpOworfQorCitDYWxjTWluTWF4TGlzdDo6Q2FsY01pbk1h
eExpc3QoQ2FsY0xpc3RUeXBlIHR5cGUpCisgICAgOiBtX3R5cGUodHlwZSkKKyAgICAsIG1fbGlz
dCgpCit7Cit9CisKK3ZvaWQgQ2FsY01pbk1heExpc3Q6OmFwcGVuZChQYXNzT3duUHRyPENhbGNF
eHByZXNzaW9uTm9kZT4gdmFsdWUpCit7CisgICAgbV9saXN0LmFwcGVuZCh2YWx1ZSk7Cit9CisK
K2Zsb2F0IENhbGNNaW5NYXhMaXN0OjpldmFsdWF0ZShmbG9hdCBtYXhWYWx1ZSkgY29uc3QKK3sK
KyAgICBpZiAobV9saXN0LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgCisgICAg
ZmxvYXQgcmV0dmFsID0gbV9saXN0WzBdLT5ldmFsdWF0ZShtYXhWYWx1ZSk7CisgICAgaWYgKG1f
dHlwZSA9PSBDYWxjTWluKSB7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDE7IGkgPCBtX2xp
c3Quc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGZsb2F0IGN1cnJlbnQgPSBtX2xpc3RbaV0t
PmV2YWx1YXRlKG1heFZhbHVlKTsKKyAgICAgICAgICAgIGlmIChjdXJyZW50IDwgcmV0dmFsKQor
ICAgICAgICAgICAgICAgIHJldHZhbCA9IGN1cnJlbnQ7CisgICAgICAgIH0KKyAgICB9IGVsc2Ug
eworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwgbV9saXN0LnNpemUoKTsgKytpKSB7
CisgICAgICAgICAgICBmbG9hdCBjdXJyZW50ID0gbV9saXN0W2ldLT5ldmFsdWF0ZShtYXhWYWx1
ZSk7CisgICAgICAgICAgICBpZiAoY3VycmVudCA+IHJldHZhbCkKKyAgICAgICAgICAgICAgICBy
ZXR2YWwgPSBjdXJyZW50OworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIHJldHZhbDsK
K30KKworUGFzc1JlZlB0cjxDYWxjVmFsdWU+IENhbGNWYWx1ZTo6Y3JlYXRlKFBhc3NPd25QdHI8
Q2FsY0V4cHJlc3Npb25Ob2RlPiB2YWx1ZSwgQ2FsY1Blcm1pdHRlZFZhbHVlUmFuZ2UgcmFuZ2Up
Cit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDYWxjVmFsdWUodmFsdWUsIHJhbmdlKSk7Cit9
CisKK2Zsb2F0IENhbGNWYWx1ZTo6ZXZhbHVhdGUoZmxvYXQgbWF4VmFsdWUpIGNvbnN0Cit7Cisg
ICAgZmxvYXQgcmVzdWx0ID0gbV92YWx1ZS0+ZXZhbHVhdGUobWF4VmFsdWUpOworICAgIC8vIEZJ
WE1FOiByZXN1bHQgaXMgTmFOIHdoZW4gdGhlcmUgaXMgYSBkaXZpc2lvbiBieSB6ZXJvIHdoaWNo
CisgICAgLy8gICAgICAgIGlzbid0IGZvdW5kIGF0IHBhcnNlIHRpbWUgKGUuZy4sIDUvKDEwMCUt
MjAwcHgpKjEwMHB4KS4KKyAgICAvLyAgICAgICAgVGhlcmUgaXMgYSBkaXNjdXNzaW9uIGFib3V0
IHRoaXMgYW5kIGhvcGVmdWxseSBzcGVjCisgICAgLy8gICAgICAgIHdpbGwgaGF2ZSB0aGUgZGVj
aXNpb24gZm9yIHRoaXMgaXNzdWUuCisgICAgLy8gICAgICAgIGh0dHA6Ly9saXN0cy53My5vcmcv
QXJjaGl2ZXMvUHVibGljL3d3dy1zdHlsZS8yMDEwSmFuLzAwMDcuaHRtbAorICAgIGlmIChpc25h
bihyZXN1bHQpKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbV9pc05vbk5lZ2F0aXZl
ICYmIHJlc3VsdCA8IDAgPyAwIDogcmVzdWx0OworfQorCitpbnQgSGFuZGxlTWFwOjppbnNlcnQo
UGFzc1JlZlB0cjxDYWxjVmFsdWU+IGNhbGNWYWx1ZSkKK3sKKyAgICAvLyBTa2lwIG1faW5kZXgg
PT0gMCBhcyB6ZXJvIGtleSBoaXRzIHRoZSBhc3NlcnRpb24gb2YgSGFzaE1hcC4KKyAgICB3aGls
ZSAoIW1faW5kZXggfHwgbV9tYXAtPmNvbnRhaW5zKG1faW5kZXgpKQorICAgICAgICBtX2luZGV4
Kys7CisgICAgaW50IHNldEluZGV4ID0gbV9pbmRleDsKKyAgICBtX2luZGV4Kys7CisgICAgCisg
ICAgbV9tYXAtPnNldChzZXRJbmRleCwgY2FsY1ZhbHVlKTsgICAKKyAgICAKKyAgICByZXR1cm4g
c2V0SW5kZXg7Cit9CisKK3ZvaWQgSGFuZGxlTWFwOjpyZW1vdmUoaW50IGluZGV4KQoreworICAg
IEFTU0VSVChtX21hcC0+Y29udGFpbnMoaW5kZXgpKTsKKyAgICBtX21hcC0+cmVtb3ZlKGluZGV4
KTsKK30KKworUGFzc1JlZlB0cjxDYWxjVmFsdWU+IEhhbmRsZU1hcDo6Z2V0KGludCBpbmRleCkK
K3sKKyAgICBBU1NFUlQobV9tYXAtPmNvbnRhaW5zKGluZGV4KSk7CisgICAgcmV0dXJuIG1fbWFw
LT5nZXQoaW5kZXgpOworfQorCisgICAgCisgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9DYWxjVmFsdWUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0NhbGNWYWx1ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkNmIyNDRkYTMzOTQ3YTdh
NmZiMWRiZmE5ZTQzZmE3ODUwM2E3ODUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9DYWxjVmFsdWUuaApAQCAtMCwwICsxLDE2NyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ2FsY1ZhbHVl
X2gKKyNkZWZpbmUgQ2FsY1ZhbHVlX2gKKworI2luY2x1ZGUgIkxlbmd0aC5oIgorI2luY2x1ZGUg
PHd0Zi9Pd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2VudW0gQ2FsY09wZXJhdG9yIHsKKyAgICBDYWxjQWRkID0gJysnLAorICAgIENh
bGNTdWJ0cmFjdCA9ICctJywKKyAgICBDYWxjTXVsdGlwbHkgPSAnKicsCisgICAgQ2FsY0Rpdmlk
ZSA9ICcvJywKKyAgICBDYWxjTW9kID0gJyUnCit9OworCitlbnVtIENhbGNQZXJtaXR0ZWRWYWx1
ZVJhbmdlIHsKKyAgICBDYWxjUmFuZ2VBbGwsCisgICAgQ2FsY1JhbmdlTm9uTmVnYXRpdmUKK307
CisgICAgICAgIAorY2xhc3MgQ2FsY0V4cHJlc3Npb25Ob2RlIHsKK3B1YmxpYzoKKyAgICB2aXJ0
dWFsIH5DYWxjRXhwcmVzc2lvbk5vZGUoKQorICAgIHsKKyAgICB9CisgICAgCisgICAgdmlydHVh
bCBmbG9hdCBldmFsdWF0ZShmbG9hdCBtYXhWYWx1ZSkgY29uc3QgPSAwOworfTsKKyAgICAKK2Ns
YXNzIENhbGNWYWx1ZSA6IHB1YmxpYyBSZWZDb3VudGVkPENhbGNWYWx1ZT4geworcHVibGljOgor
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPENhbGNWYWx1ZT4gY3JlYXRlKFBhc3NPd25QdHI8Q2FsY0V4
cHJlc3Npb25Ob2RlPiB2YWx1ZSwgQ2FsY1Blcm1pdHRlZFZhbHVlUmFuZ2UpOworICAgIGZsb2F0
IGV2YWx1YXRlKGZsb2F0IG1heFZhbHVlKSBjb25zdDsKKyAgICAKK3ByaXZhdGU6CisgICAgQ2Fs
Y1ZhbHVlKFBhc3NPd25QdHI8Q2FsY0V4cHJlc3Npb25Ob2RlPiB2YWx1ZSwgQ2FsY1Blcm1pdHRl
ZFZhbHVlUmFuZ2UgcmFuZ2UpCisgICAgICAgIDogbV92YWx1ZSh2YWx1ZSkKKyAgICAgICAgLCBt
X2lzTm9uTmVnYXRpdmUocmFuZ2UgPT0gQ2FsY1JhbmdlTm9uTmVnYXRpdmUpCisgICAgeworICAg
IH0KKyAgICAKKyAgICBPd25QdHI8Q2FsY0V4cHJlc3Npb25Ob2RlPiBtX3ZhbHVlOworICAgIGJv
b2wgbV9pc05vbk5lZ2F0aXZlOworfTsKKworY2xhc3MgQ2FsY0V4cHJlc3Npb25OdW1iZXIgOiBw
dWJsaWMgQ2FsY0V4cHJlc3Npb25Ob2RlIHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBDYWxjRXhw
cmVzc2lvbk51bWJlcihmbG9hdCB2YWx1ZSkKKyAgICAgICAgOiBtX3ZhbHVlKHZhbHVlKQorICAg
IHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGZsb2F0IGV2YWx1YXRlKGZsb2F0KSBjb25zdCAKKyAg
ICB7CisgICAgICAgIHJldHVybiBtX3ZhbHVlOworICAgIH0KKyAgICAKK3ByaXZhdGU6CisgICAg
ZmxvYXQgbV92YWx1ZTsKK307CisKK2NsYXNzIENhbGNFeHByZXNzaW9uTGVuZ3RoIDogcHVibGlj
IENhbGNFeHByZXNzaW9uTm9kZSB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgQ2FsY0V4cHJlc3Np
b25MZW5ndGgoTGVuZ3RoIGxlbmd0aCkKKyAgICAgICAgOiBtX2xlbmd0aChsZW5ndGgpCisgICAg
eworICAgIH0KKworICAgIHZpcnR1YWwgZmxvYXQgZXZhbHVhdGUoZmxvYXQgbWF4VmFsdWUpIGNv
bnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9sZW5ndGguY2FsY0Zsb2F0VmFsdWUobWF4VmFs
dWUpOworICAgIH0KKyAgICAKK3ByaXZhdGU6CisgICAgTGVuZ3RoIG1fbGVuZ3RoOworfTsKKwor
Y2xhc3MgQ2FsY0V4cHJlc3Npb25CaW5hcnlPcGVyYXRpb24gOiBwdWJsaWMgQ2FsY0V4cHJlc3Np
b25Ob2RlIHsKK3B1YmxpYzoKKyAgICBDYWxjRXhwcmVzc2lvbkJpbmFyeU9wZXJhdGlvbihQYXNz
T3duUHRyPENhbGNFeHByZXNzaW9uTm9kZT4gbGVmdFNpZGUsIFBhc3NPd25QdHI8Q2FsY0V4cHJl
c3Npb25Ob2RlPiByaWdodFNpZGUsIENhbGNPcGVyYXRvciBvcCkKKyAgICAgICAgOiBtX2xlZnRT
aWRlKGxlZnRTaWRlKQorICAgICAgICAsIG1fcmlnaHRTaWRlKHJpZ2h0U2lkZSkKKyAgICAgICAg
LCBtX29wZXJhdG9yKG9wKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGZsb2F0IGV2YWx1
YXRlKGZsb2F0KSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBPd25QdHI8Q2FsY0V4cHJlc3Npb25O
b2RlPiBtX2xlZnRTaWRlOworICAgIE93blB0cjxDYWxjRXhwcmVzc2lvbk5vZGU+IG1fcmlnaHRT
aWRlOworICAgIENhbGNPcGVyYXRvciBtX29wZXJhdG9yOworfTsKKworZW51bSBDYWxjTGlzdFR5
cGUgeworICAgIENhbGNNaW4sCisgICAgQ2FsY01heCwgCit9OworICAgIAorY2xhc3MgQ2FsY01p
bk1heExpc3QgOiBwdWJsaWMgQ2FsY0V4cHJlc3Npb25Ob2RlIHsKK3B1YmxpYzoKKyAgICBleHBs
aWNpdCBDYWxjTWluTWF4TGlzdChDYWxjTGlzdFR5cGUpOworICAgIHZvaWQgYXBwZW5kKFBhc3NP
d25QdHI8Q2FsY0V4cHJlc3Npb25Ob2RlPik7CisKKyAgICB2aXJ0dWFsIGZsb2F0IGV2YWx1YXRl
KGZsb2F0KSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBDYWxjTGlzdFR5cGUgbV90eXBlOworICAg
IFZlY3RvcjxPd25QdHI8Q2FsY0V4cHJlc3Npb25Ob2RlPiA+IG1fbGlzdDsKK307CisKKyAgICAK
K2NsYXNzIEhhbmRsZU1hcCB7CitwdWJsaWM6CisgICAgSGFuZGxlTWFwKCkgCisgICAgOiBtX2lu
ZGV4KDEpCisgICAgeworICAgICAgICBtX21hcCA9IG5ldyBIYXNoTWFwPGludCwgUmVmUHRyPENh
bGNWYWx1ZT4gPjsKKyAgICB9CisgICAgCisgICAgaW50IGluc2VydChQYXNzUmVmUHRyPENhbGNW
YWx1ZT4pOworICAgIHZvaWQgcmVtb3ZlKGludCBpbmRleCk7CisgICAgUGFzc1JlZlB0cjxDYWxj
VmFsdWU+IGdldChpbnQgaW5kZXgpOworICAgIAorcHJpdmF0ZTogICAgICAgIAorICAgIGludCBt
X2luZGV4OworICAgIEhhc2hNYXA8aW50LCBSZWZQdHI8Q2FsY1ZhbHVlICAgPiA+KiBtX21hcDsK
K307CisKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIENhbGNWYWx1
ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmNwcAppbmRleCA4NTVkMDJmOTM1YTUxNDNiMTZm
MmU2OWNiMGY5YjRlNzVmZGNjYzk5Li4wNmFmZmQ5NTBhYjA2YjkxZjI3MDY1MjQ3NzlkNTcxYmJl
ODRhMjQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGguY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5jcHAKQEAgLTI1LDEwICsyNSwxNCBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkxlbmd0aC5oIgogCisjaW5jbHVkZSAi
Q2FsY1ZhbHVlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlIDxtYXRo
Lmg+CiAjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL093bkFycmF5UHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0
cmluZ0J1ZmZlci5oPgogCiB1c2luZyBuYW1lc3BhY2UgV1RGOwpAQCAtMTQ4LDUgKzE1Miw5NSBA
QCBQYXNzT3duQXJyYXlQdHI8TGVuZ3RoPiBuZXdMZW5ndGhBcnJheShjb25zdCBTdHJpbmcmIHN0
cmluZywgaW50JiBsZW4pCiAKICAgICByZXR1cm4gci5yZWxlYXNlKCk7CiB9CisgICAgCitMZW5n
dGg6On5MZW5ndGgoKQoreworICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgZGVjcmVt
ZW50Q2FsY3VsYXRlZFJlZigpOworfSAgIAorICAgIAorSGFuZGxlTWFwKiBMZW5ndGg6OmNhbGNI
YW5kbGVzKCkgY29uc3QKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEhhbmRsZU1hcCwgaGFu
ZGxlTWFwLCAoKSk7CisgICAgcmV0dXJuICZoYW5kbGVNYXA7Cit9CisKK0xlbmd0aDo6TGVuZ3Ro
KFBhc3NSZWZQdHI8Q2FsY1ZhbHVlPiBjYWxjKQorICAgIDogbV9xdWlyayhmYWxzZSkKKyAgICAs
IG1fdHlwZShDYWxjdWxhdGVkKQorICAgICwgbV9pc0Zsb2F0KGZhbHNlKQoreworICAgIG1faW50
VmFsdWUgPSBjYWxjSGFuZGxlcygpLT5pbnNlcnQoY2FsYyk7Cit9CisgICAgCitQYXNzUmVmUHRy
PENhbGNWYWx1ZT4gTGVuZ3RoOjpjYWxjVmFsdWUoKSBjb25zdAoreworICAgIEFTU0VSVChpc0Nh
bGN1bGF0ZWQoKSk7CisgICAgcmV0dXJuIGNhbGNIYW5kbGVzKCktPmdldChjYWxjdWxhdGVkTGVu
Z3RoSWQoKSk7Cit9CisgICAgCisvLyBGSVhNRTogSXQncyBpbXBvc3NpYmxlIHRvIGtub3cgdGhl
IHNpZ24gb2YgY2FsYyB2YWx1ZXMgd2l0aG91dAorLy8gICAgICAgIG1heCB2YWx1ZSBpZiB0aGUg
Y2FsYyBmb3JtdWxhIGNvbnRhaW5zIHBlcmNlbnRhZ2VzLgorLy8gICAgICAgIFdlIGFzc3VtZSBh
bGwgY2FsYyB2YWx1ZXMgYXJlIHBvc2l0aXZlIGZvciBub3cuCisKK2Jvb2wgTGVuZ3RoOjpjYWxj
dWxhdGVkSXNaZXJvKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgTGVu
Z3RoOjpjYWxjdWxhdGVkSXNQb3NpdGl2ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRydWU7Cit9
CisKK2Jvb2wgTGVuZ3RoOjpjYWxjdWxhdGVkSXNOZWdhdGl2ZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGZhbHNlOworfQorCitpbnQgTGVuZ3RoOjpjYWxjdWxhdGVkQ2FsY1ZhbHVlKGludCBtYXhW
YWx1ZSwgYm9vbCAvKiByb3VuZFBlcmNlbnRhZ2VzICovKSBjb25zdAoreworICAgIEFTU0VSVChp
c0NhbGN1bGF0ZWQoKSk7CisgICAgUmVmUHRyPENhbGNWYWx1ZT4gY2FsY0xlbmd0aCA9IGNhbGNI
YW5kbGVzKCktPmdldChjYWxjdWxhdGVkTGVuZ3RoSWQoKSk7CisgICAgZmxvYXQgcmVzdWx0ID0g
Y2FsY0xlbmd0aC0+ZXZhbHVhdGUobWF4VmFsdWUpOworICAgIGlmIChpc25hbihyZXN1bHQpKQor
ICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitpbnQgTGVuZ3RoOjpj
YWxjdWxhdGVkQ2FsY01pblZhbHVlKGludCBtYXhWYWx1ZSwgYm9vbCAvKiByb3VuZFBlcmNlbnRh
Z2VzICovKSBjb25zdAoreworICAgIEFTU0VSVChpc0NhbGN1bGF0ZWQoKSk7CisgICAgUmVmUHRy
PENhbGNWYWx1ZT4gY2FsY0xlbmd0aCA9IGNhbGNIYW5kbGVzKCktPmdldChjYWxjdWxhdGVkTGVu
Z3RoSWQoKSk7CisgICAgZmxvYXQgcmVzdWx0ID0gY2FsY0xlbmd0aC0+ZXZhbHVhdGUobWF4VmFs
dWUpOworICAgIGlmIChpc25hbihyZXN1bHQpKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1
cm4gcmVzdWx0OworfQorCitmbG9hdCBMZW5ndGg6OmNhbGN1bGF0ZWRDYWxjRmxvYXRWYWx1ZShp
bnQgbWF4VmFsdWUpIGNvbnN0Cit7CisgICAgQVNTRVJUKGlzQ2FsY3VsYXRlZCgpKTsKKyAgICBS
ZWZQdHI8Q2FsY1ZhbHVlPiBjYWxjTGVuZ3RoID0gY2FsY0hhbmRsZXMoKS0+Z2V0KGNhbGN1bGF0
ZWRMZW5ndGhJZCgpKTsKKyAgICBmbG9hdCByZXN1bHQgPSBjYWxjTGVuZ3RoLT5ldmFsdWF0ZSht
YXhWYWx1ZSk7CisgICAgaWYgKGlzbmFuKHJlc3VsdCkpCisgICAgICAgIHJldHVybiAwOworICAg
IHJldHVybiByZXN1bHQ7Cit9CisKK3ZvaWQgTGVuZ3RoOjppbmNyZW1lbnRDYWxjdWxhdGVkUmVm
KCkgY29uc3QKK3sKKyAgICBBU1NFUlQoaXNDYWxjdWxhdGVkKCkpOworICAgIGNhbGNIYW5kbGVz
KCktPmdldChjYWxjdWxhdGVkTGVuZ3RoSWQoKSktPnJlZigpOworfQorCit2b2lkIExlbmd0aDo6
ZGVjcmVtZW50Q2FsY3VsYXRlZFJlZigpIGNvbnN0Cit7CisgICAgQVNTRVJUKGlzQ2FsY3VsYXRl
ZCgpKTsKKyAgICBSZWZQdHI8Q2FsY1ZhbHVlPiBjYWxjTGVuZ3RoID0gY2FsY0hhbmRsZXMoKS0+
Z2V0KGNhbGN1bGF0ZWRMZW5ndGhJZCgpKTsKKyAgICBpZiAoY2FsY0xlbmd0aC0+aGFzT25lUmVm
KCkpCisgICAgICAgIGNhbGNIYW5kbGVzKCktPnJlbW92ZShjYWxjdWxhdGVkTGVuZ3RoSWQoKSk7
CisgICAgY2FsY0xlbmd0aC0+ZGVyZWYoKTsKK30gICAgCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKaW5kZXggMTE5ZTgyMzc2NWU0MDc0M2M2OTU2NWI4
MThhZGMwOTczMDA4ZTMzYy4uOWFkYmM1NGI1NzZmYmUzOTNlY2ExNzFmNDE2ODE0N2ViZjhhOWQw
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoLmgKQEAgLTI1LDE2ICsyNSwyMyBAQAogI2luY2x1
ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL0Zhc3RBbGxvY0Jhc2UuaD4KICNp
bmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVk
ZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093bkFycmF5UHRyLmg+Cisj
aW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgor
I2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBp
bnQgaW50TWF4Rm9yTGVuZ3RoID0gMHg3ZmZmZmZmOyAvLyBtYXggdmFsdWUgZm9yIGEgMjgtYml0
IGludAogY29uc3QgaW50IGludE1pbkZvckxlbmd0aCA9ICgtMHg3ZmZmZmZmIC0gMSk7IC8vIG1p
biB2YWx1ZSBmb3IgYSAyOC1iaXQgaW50CiAKLWVudW0gTGVuZ3RoVHlwZSB7IEF1dG8sIFJlbGF0
aXZlLCBQZXJjZW50LCBGaXhlZCwgSW50cmluc2ljLCBNaW5JbnRyaW5zaWMsIFVuZGVmaW5lZCB9
OwotCitlbnVtIExlbmd0aFR5cGUgeyBBdXRvLCBSZWxhdGl2ZSwgUGVyY2VudCwgRml4ZWQsIElu
dHJpbnNpYywgTWluSW50cmluc2ljLCBDYWxjdWxhdGVkLCBVbmRlZmluZWQgfTsKKyAKK2NsYXNz
IENhbGNWYWx1ZTsgICAgCitjbGFzcyBIYW5kbGVNYXA7CisgICAgCiBzdHJ1Y3QgTGVuZ3RoIHsK
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKQEAgLTY0LDExICs3MSwyOCBA
QCBwdWJsaWM6CiAgICAgICAgIG1fZmxvYXRWYWx1ZSA9IHN0YXRpY19jYXN0PGZsb2F0Pih2KTsg
ICAgCiAgICAgfQogCisgICAgZXhwbGljaXQgTGVuZ3RoKFBhc3NSZWZQdHI8Q2FsY1ZhbHVlPik7
CisKKyAgICBMZW5ndGgoY29uc3QgTGVuZ3RoJiBsZW5ndGgpCisgICAgeworICAgICAgICBpbml0
RnJvbUxlbmd0aChsZW5ndGgpOworICAgIH0KKyAgICAKKyAgICBMZW5ndGgmIG9wZXJhdG9yPShj
b25zdCBMZW5ndGgmIGxlbmd0aCkKKyAgICB7CisgICAgICAgIGluaXRGcm9tTGVuZ3RoKGxlbmd0
aCk7CisgICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisgICAgfkxlbmd0aCgpOworCiAgICAg
Ym9vbCBvcGVyYXRvcj09KGNvbnN0IExlbmd0aCYgbykgY29uc3QgeyByZXR1cm4gKG1fdHlwZSA9
PSBvLm1fdHlwZSkgJiYgKG1fcXVpcmsgPT0gby5tX3F1aXJrKSAmJiAoaXNVbmRlZmluZWQoKSB8
fCAoZ2V0RmxvYXRWYWx1ZSgpID09IG8uZ2V0RmxvYXRWYWx1ZSgpKSk7IH0KICAgICBib29sIG9w
ZXJhdG9yIT0oY29uc3QgTGVuZ3RoJiBvKSBjb25zdCB7IHJldHVybiAhKCp0aGlzID09IG8pOyB9
CiAKICAgICBjb25zdCBMZW5ndGgmIG9wZXJhdG9yKj0oZmxvYXQgdikKLSAgICB7ICAgICAgICAK
KyAgICB7ICAgICAgIAorICAgICAgICBpZiAoaXNDYWxjdWxhdGVkKCkpCisgICAgICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgCiAgICAgICAgIGlmIChtX2lzRmxvYXQpCiAg
ICAgICAgICAgICBtX2Zsb2F0VmFsdWUgPSBzdGF0aWNfY2FzdDxmbG9hdD4obV9mbG9hdFZhbHVl
ICogdik7CiAgICAgICAgIGVsc2UgICAgICAgIApAQCAtNzksNiArMTAzLDEwIEBAIHB1YmxpYzoK
ICAgICAKICAgICBpbnQgdmFsdWUoKSBjb25zdAogICAgIHsKKyAgICAgICAgaWYgKGlzQ2FsY3Vs
YXRlZCgpKSB7CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAg
IHJldHVybiAwOworICAgICAgICB9CiAgICAgICAgIHJldHVybiBnZXRJbnRWYWx1ZSgpOwogICAg
IH0KIApAQCAtODgsNiArMTE2LDggQEAgcHVibGljOgogICAgICAgICByZXR1cm4gZ2V0RmxvYXRW
YWx1ZSgpOwogICAgIH0KIAorICAgIFBhc3NSZWZQdHI8Q2FsY1ZhbHVlPiBjYWxjVmFsdWUoKSBj
b25zdDsKKwogICAgIExlbmd0aFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0
PExlbmd0aFR5cGU+KG1fdHlwZSk7IH0KICAgICBib29sIHF1aXJrKCkgY29uc3QgeyByZXR1cm4g
bV9xdWlyazsgfQogCkBAIC0xMDUsNiArMTM1LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRW
YWx1ZShpbnQgdmFsdWUpCiAgICAgeworICAgICAgICBpZiAoaXNDYWxjdWxhdGVkKCkpCisgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIHNldFZhbHVlKEZpeGVkLCB2YWx1ZSk7CiAgICAgfQog
CkBAIC0xMzAsNiArMTYyLDggQEAgcHVibGljOgogICAgICAgICAgICAgICAgIHJldHVybiBjYWxj
TWluVmFsdWUobWF4VmFsdWUsIHJvdW5kUGVyY2VudGFnZXMpOwogICAgICAgICAgICAgY2FzZSBB
dXRvOgogICAgICAgICAgICAgICAgIHJldHVybiBtYXhWYWx1ZTsKKyAgICAgICAgICAgIGNhc2Ug
Q2FsY3VsYXRlZDoKKyAgICAgICAgICAgICAgICByZXR1cm4gY2FsY3VsYXRlZENhbGNWYWx1ZSht
YXhWYWx1ZSwgcm91bmRQZXJjZW50YWdlcyk7ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
Y2FzZSBSZWxhdGl2ZToKICAgICAgICAgICAgIGNhc2UgSW50cmluc2ljOgogICAgICAgICAgICAg
Y2FzZSBNaW5JbnRyaW5zaWM6CkBAIC0xNTEsNiArMTg1LDggQEAgcHVibGljOgogICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8aW50Pihyb3VuZChtYXhWYWx1ZSAqIHBlcmNl
bnQoKSAvIDEwMC4wZikpOwogICAgICAgICAgICAgICAgIC8vIERvbid0IHJlbW92ZSB0aGUgZXh0
cmEgY2FzdCB0byBmbG9hdC4gSXQgaXMgbmVlZGVkIGZvciByb3VuZGluZyBvbiAzMi1iaXQgSW50
ZWwgbWFjaGluZXMgdGhhdCB1c2UgdGhlIEZQVSBzdGFjay4KICAgICAgICAgICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8aW50PihzdGF0aWNfY2FzdDxmbG9hdD4obWF4VmFsdWUgKiBwZXJjZW50
KCkgLyAxMDAuMGYpKTsKKyAgICAgICAgICAgIGNhc2UgQ2FsY3VsYXRlZDoKKyAgICAgICAgICAg
ICAgICByZXR1cm4gY2FsY3VsYXRlZENhbGNNaW5WYWx1ZShtYXhWYWx1ZSwgcm91bmRQZXJjZW50
YWdlcyk7ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgY2FzZSBBdXRvOgogICAgICAgICAg
ICAgICAgIHJldHVybiAwOwogICAgICAgICAgICAgY2FzZSBSZWxhdGl2ZToKQEAgLTE3Myw2ICsy
MDksOCBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGZsb2F0
PihtYXhWYWx1ZSAqIHBlcmNlbnQoKSAvIDEwMC4wZik7CiAgICAgICAgICAgICBjYXNlIEF1dG86
CiAgICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGZsb2F0PihtYXhWYWx1ZSk7Cisg
ICAgICAgICAgICBjYXNlIENhbGN1bGF0ZWQ6CisgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGN1
bGF0ZWRDYWxjRmxvYXRWYWx1ZShtYXhWYWx1ZSk7ICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgY2FzZSBSZWxhdGl2ZToKICAgICAgICAgICAgIGNhc2UgSW50cmluc2ljOgogICAgICAgICAg
ICAgY2FzZSBNaW5JbnRyaW5zaWM6CkBAIC0xODgsMTggKzIyNiwyNCBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBpc1plcm8oKSBjb25zdCAKICAgICB7CiAgICAgICAgIEFTU0VSVCghaXNVbmRlZmluZWQo
KSk7Ci0gICAgICAgIHJldHVybiBtX2lzRmxvYXQgPyAhbV9mbG9hdFZhbHVlIDogIW1faW50VmFs
dWU7CisgICAgICAgIHJldHVybiBpc0NhbGN1bGF0ZWQoKSA/IGNhbGN1bGF0ZWRJc1plcm8oKSA6
IG1faXNGbG9hdCA/ICFtX2Zsb2F0VmFsdWUgOiAhbV9pbnRWYWx1ZTsKKyAgICB9CisgICAgYm9v
bCBpc1Bvc2l0aXZlKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBpc1VuZGVmaW5lZCgp
ID8gZmFsc2UgOiBpc0NhbGN1bGF0ZWQoKSA/IGNhbGN1bGF0ZWRJc1Bvc2l0aXZlKCkgOiBnZXRG
bG9hdFZhbHVlKCkgPiAwOworICAgIH0KKyAgICBib29sIGlzTmVnYXRpdmUoKSBjb25zdAorICAg
IHsKKyAgICAgICAgcmV0dXJuIGlzVW5kZWZpbmVkKCkgPyBmYWxzZSA6IGlzQ2FsY3VsYXRlZCgp
ID8gY2FsY3VsYXRlZElzTmVnYXRpdmUoKSA6IGdldEZsb2F0VmFsdWUoKSA8IDA7CiAgICAgfQog
ICAgIAotICAgIGJvb2wgaXNQb3NpdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIGlzVW5kZWZpbmVkKCkg
PyBmYWxzZSA6IGdldEZsb2F0VmFsdWUoKSA+IDA7IH0KLSAgICBib29sIGlzTmVnYXRpdmUoKSBj
b25zdCB7IHJldHVybiBpc1VuZGVmaW5lZCgpID8gZmFsc2UgOiBnZXRGbG9hdFZhbHVlKCkgPCAw
OyB9Ci0KICAgICBib29sIGlzQXV0bygpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBBdXRvOyB9
CiAgICAgYm9vbCBpc1JlbGF0aXZlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFJlbGF0aXZl
OyB9Ci0gICAgYm9vbCBpc1BlcmNlbnQoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gUGVyY2Vu
dDsgfQorICAgIGJvb2wgaXNQZXJjZW50KCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFBlcmNl
bnQgfHwgdHlwZSgpID09IENhbGN1bGF0ZWQ7IH0KICAgICBib29sIGlzRml4ZWQoKSBjb25zdCB7
IHJldHVybiB0eXBlKCkgPT0gRml4ZWQ7IH0KICAgICBib29sIGlzSW50cmluc2ljT3JBdXRvKCkg
Y29uc3QgeyByZXR1cm4gdHlwZSgpID09IEF1dG8gfHwgdHlwZSgpID09IE1pbkludHJpbnNpYyB8
fCB0eXBlKCkgPT0gSW50cmluc2ljOyB9Ci0gICAgYm9vbCBpc1NwZWNpZmllZCgpIGNvbnN0IHsg
cmV0dXJuIHR5cGUoKSA9PSBGaXhlZCB8fCB0eXBlKCkgPT0gUGVyY2VudDsgfQorICAgIGJvb2wg
aXNTcGVjaWZpZWQoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gRml4ZWQgfHwgdHlwZSgpID09
IFBlcmNlbnQgfHwgdHlwZSgpID09IENhbGN1bGF0ZWQ7IH0KKyAgICBib29sIGlzQ2FsY3VsYXRl
ZCgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBDYWxjdWxhdGVkOyB9CiAKICAgICBMZW5ndGgg
YmxlbmQoY29uc3QgTGVuZ3RoJiBmcm9tLCBmbG9hdCBwcm9ncmVzcykgY29uc3QKICAgICB7CkBA
IC0yMzgsNiArMjgyLDM3IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBtX2lzRmxvYXQgPyBt
X2Zsb2F0VmFsdWUgOiBtX2ludFZhbHVlOwogICAgIH0KIAorICAgIHZvaWQgaW5pdEZyb21MZW5n
dGgoY29uc3QgTGVuZ3RoICZsZW5ndGgpIAorICAgIHsKKyAgICAgICAgbV9xdWlyayA9IGxlbmd0
aC5tX3F1aXJrOworICAgICAgICBtX3R5cGUgPSBsZW5ndGgubV90eXBlOworICAgICAgICBtX2lz
RmxvYXQgPSBsZW5ndGgubV9pc0Zsb2F0OworICAgICAgICAKKyAgICAgICAgaWYgKG1faXNGbG9h
dCkKKyAgICAgICAgICAgIG1fZmxvYXRWYWx1ZSA9IGxlbmd0aC5tX2Zsb2F0VmFsdWU7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIG1faW50VmFsdWUgPSBsZW5ndGgubV9pbnRWYWx1ZTsKKyAg
ICAgICAgCisgICAgICAgIGlmIChpc0NhbGN1bGF0ZWQoKSkKKyAgICAgICAgICAgIGluY3JlbWVu
dENhbGN1bGF0ZWRSZWYoKTsKKyAgICB9CisgICAgCisgICAgSGFuZGxlTWFwKiBjYWxjSGFuZGxl
cygpIGNvbnN0OworICAgIAorICAgIGJvb2wgY2FsY3VsYXRlZElzWmVybygpIGNvbnN0OworICAg
IGJvb2wgY2FsY3VsYXRlZElzUG9zaXRpdmUoKSBjb25zdDsKKyAgICBib29sIGNhbGN1bGF0ZWRJ
c05lZ2F0aXZlKCkgY29uc3Q7CisgICAgaW50IGNhbGN1bGF0ZWRDYWxjVmFsdWUoaW50IG1heFZh
bHVlLCBib29sIHJvdW5kUGVyY2VudGFnZXMpIGNvbnN0OworICAgIGludCBjYWxjdWxhdGVkQ2Fs
Y01pblZhbHVlKGludCBtYXhWYWx1ZSwgYm9vbCByb3VuZFBlcmNlbnRhZ2VzKSBjb25zdDsKKyAg
ICBmbG9hdCBjYWxjdWxhdGVkQ2FsY0Zsb2F0VmFsdWUoaW50IG1heFZhbHVlKSBjb25zdDsKKyAg
ICBpbnQgY2FsY3VsYXRlZExlbmd0aElkKCkgY29uc3QKKyAgICB7CisgICAgICAgIEFTU0VSVChp
c0NhbGN1bGF0ZWQoKSk7CisgICAgICAgIHJldHVybiBnZXRJbnRWYWx1ZSgpOworICAgIH0KKyAg
ICB2b2lkIGluY3JlbWVudENhbGN1bGF0ZWRSZWYoKSBjb25zdDsKKyAgICB2b2lkIGRlY3JlbWVu
dENhbGN1bGF0ZWRSZWYoKSBjb25zdDsgICAgCisgICAgCiAgICAgdW5pb24gewogICAgICAgICBp
bnQgbV9pbnRWYWx1ZTsKICAgICAgICAgZmxvYXQgbV9mbG9hdFZhbHVlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0F1dG9UYWJsZUxheW91dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0LmNwcAppbmRleCA4ODdkNWZjNDE1YTlmYTE1
NWE3MzY1ZDM5MzAyY2ZhZDgyYjdhYzU3Li4wNmY5OTE3YmQyYmZmMjdlY2JjNTI1OWRmZDlmNzAw
MmYyZGRmODQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQXV0b1RhYmxl
TGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQXV0b1RhYmxlTGF5b3V0
LmNwcApAQCAtODEsMTAgKzgxLDEyIEBAIHZvaWQgQXV0b1RhYmxlTGF5b3V0OjpyZWNhbGNDb2x1
bW4odW5zaWduZWQgZWZmQ29sKQogCiAgICAgICAgICAgICAgICAgICAgIExlbmd0aCBjZWxsTG9n
aWNhbFdpZHRoID0gY2VsbC0+c3R5bGVPckNvbExvZ2ljYWxXaWR0aCgpOwogICAgICAgICAgICAg
ICAgICAgICAvLyBGSVhNRTogV2hhdCBpcyB0aGlzIGFyYml0cmFyeSB2YWx1ZT8KLSAgICAgICAg
ICAgICAgICAgICAgaWYgKGNlbGxMb2dpY2FsV2lkdGgudmFsdWUoKSA+IDMyNzYwKQotICAgICAg
ICAgICAgICAgICAgICAgICAgY2VsbExvZ2ljYWxXaWR0aC5zZXRWYWx1ZSgzMjc2MCk7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmIChjZWxsTG9naWNhbFdpZHRoLmlzTmVnYXRpdmUoKSkKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGNlbGxMb2dpY2FsV2lkdGguc2V0VmFsdWUoMCk7CisgICAgICAg
ICAgICAgICAgICAgIGlmICghY2VsbExvZ2ljYWxXaWR0aC5pc0NhbGN1bGF0ZWQoKSkgeworICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKGNlbGxMb2dpY2FsV2lkdGgudmFsdWUoKSA+IDMyNzYw
KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbGxMb2dpY2FsV2lkdGguc2V0VmFsdWUo
MzI3NjApOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNlbGxMb2dpY2FsV2lkdGguaXNO
ZWdhdGl2ZSgpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbGxMb2dpY2FsV2lkdGgu
c2V0VmFsdWUoMCk7CisgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg
c3dpdGNoIChjZWxsTG9naWNhbFdpZHRoLnR5cGUoKSkgewogICAgICAgICAgICAgICAgICAgICBj
YXNlIEZpeGVkOgogICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWdub3JlIHdpZHRoPTAKQEAg
LTEwOCw2ICsxMTAsMTAgQEAgdm9pZCBBdXRvVGFibGVMYXlvdXQ6OnJlY2FsY0NvbHVtbih1bnNp
Z25lZCBlZmZDb2wpCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2VsbExvZ2ljYWxXaWR0
aC5pc1Bvc2l0aXZlKCkgJiYgKCFjb2x1bW5MYXlvdXQubG9naWNhbFdpZHRoLmlzUGVyY2VudCgp
IHx8IGNlbGxMb2dpY2FsV2lkdGgudmFsdWUoKSA+IGNvbHVtbkxheW91dC5sb2dpY2FsV2lkdGgu
dmFsdWUoKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uTGF5b3V0LmxvZ2lj
YWxXaWR0aCA9IGNlbGxMb2dpY2FsV2lkdGg7CiAgICAgICAgICAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSBDYWxjdWxhdGVkOgorICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gRklYTUUgY2FsYygpOiBpcyB0aGVyZSBhbnl0aGluZyBiZXR0ZXIgd2UgY2Fu
IGRvIGhlcmU/CisgICAgICAgICAgICAgICAgICAgICAgICBtX2hhc1BlcmNlbnQgPSB0cnVlOwor
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgIGNhc2Ug
UmVsYXRpdmU6CiAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRTogTmVlZCB0byB1bmRl
cnN0YW5kIHRoaXMgY2FzZSBhbmQgd2hldGhlciBpdCBtYWtlcyBzZW5zZSB0byBjb21wYXJlIHZh
bHVlcwogICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2hpY2ggYXJlIG5vdCBuZWNlc3Nhcmls
eSBvZiB0aGUgc2FtZSB0eXBlLgpAQCAtMzE4LDYgKzMyNCwxMCBAQCBpbnQgQXV0b1RhYmxlTGF5
b3V0OjpjYWxjRWZmZWN0aXZlTG9naWNhbFdpZHRoKCkKICAgICAgICAgICAgICAgICB0b3RhbFBl
cmNlbnQgKz0gY29sdW1uTGF5b3V0LmxvZ2ljYWxXaWR0aC5wZXJjZW50KCk7CiAgICAgICAgICAg
ICAgICAgYWxsQ29sc0FyZUZpeGVkID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICBjYXNlIENhbGN1bGF0ZWQ6CisgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgICAgICAgICAgICAgYWxsQ29sc0FyZUZpeGVkID0gZmFsc2U7CisgICAg
ICAgICAgICAgICAgYnJlYWs7ICAgIAogICAgICAgICAgICAgY2FzZSBGaXhlZDoKICAgICAgICAg
ICAgICAgICBpZiAoY29sdW1uTGF5b3V0LmxvZ2ljYWxXaWR0aC52YWx1ZSgpID4gMCkgewogICAg
ICAgICAgICAgICAgICAgICBmaXhlZFdpZHRoICs9IGNvbHVtbkxheW91dC5sb2dpY2FsV2lkdGgu
dmFsdWUoKTsKQEAgLTM1Niw3ICszNjYsNyBAQCBpbnQgQXV0b1RhYmxlTGF5b3V0OjpjYWxjRWZm
ZWN0aXZlTG9naWNhbFdpZHRoKCkKICAgICAgICAgfQogCiAgICAgICAgIC8vIGFkanVzdCB0YWJs
ZSBtYXggd2lkdGggaWYgbmVlZGVkCi0gICAgICAgIGlmIChjZWxsTG9naWNhbFdpZHRoLmlzUGVy
Y2VudCgpKSB7CisgICAgICAgIGlmIChjZWxsTG9naWNhbFdpZHRoLmlzUGVyY2VudCgpICYmICFj
ZWxsTG9naWNhbFdpZHRoLmlzQ2FsY3VsYXRlZCgpKSB7CiAgICAgICAgICAgICBpZiAodG90YWxQ
ZXJjZW50ID4gY2VsbExvZ2ljYWxXaWR0aC5wZXJjZW50KCkgfHwgYWxsQ29sc0FyZVBlcmNlbnQp
IHsKICAgICAgICAgICAgICAgICAvLyBjYW4ndCBzYXRpZnkgdGhpcyBjb25kaXRpb24sIHRyZWF0
IGFzIHZhcmlhYmxlCiAgICAgICAgICAgICAgICAgY2VsbExvZ2ljYWxXaWR0aCA9IExlbmd0aCgp
OwpAQCAtNTA5LDYgKzUxOSwxMCBAQCB2b2lkIEF1dG9UYWJsZUxheW91dDo6bGF5b3V0KCkKICAg
ICAgICAgICAgIGhhdmVQZXJjZW50ID0gdHJ1ZTsKICAgICAgICAgICAgIHRvdGFsUGVyY2VudCAr
PSBsb2dpY2FsV2lkdGgucGVyY2VudCgpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh
c2UgQ2FsY3VsYXRlZDoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAg
ICAgICAgaGF2ZVBlcmNlbnQgPSB0cnVlOworICAgICAgICAgICAgYnJlYWs7ICAgIAogICAgICAg
ICBjYXNlIFJlbGF0aXZlOgogICAgICAgICAgICAgdG90YWxSZWxhdGl2ZSArPSBsb2dpY2FsV2lk
dGgudmFsdWUoKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcAppbmRleCBiOWMyNWQ2YTQ2MTIyODFlMGE4ZTRlY2M4NjMyNzUzN2NmYWEzNjA5
Li5mNDFhMDU5MGEwNjNjMjc2MzU1NjcyODI0Y2NjMTc0Njc2MDk3MTE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtMjE3NCw3ICsyMTc0LDggQEAgTGF5b3V0VW5p
dCBSZW5kZXJCb3g6OmNvbXB1dGVSZXBsYWNlZExvZ2ljYWxXaWR0aFVzaW5nKExlbmd0aCBsb2dp
Y2FsV2lkdGgpIGNvbnMKICAgICBzd2l0Y2ggKGxvZ2ljYWxXaWR0aC50eXBlKCkpIHsKICAgICAg
ICAgY2FzZSBGaXhlZDoKICAgICAgICAgICAgIHJldHVybiBjb21wdXRlQ29udGVudEJveExvZ2lj
YWxXaWR0aChsb2dpY2FsV2lkdGgudmFsdWUoKSk7Ci0gICAgICAgIGNhc2UgUGVyY2VudDogewor
ICAgICAgICBjYXNlIFBlcmNlbnQ6IAorICAgICAgICBjYXNlIENhbGN1bGF0ZWQ6IHsKICAgICAg
ICAgICAgIC8vIEZJWE1FOiBjb250YWluaW5nQmxvY2tMb2dpY2FsV2lkdGhGb3JDb250ZW50KCkg
aXMgd3JvbmcgaWYgdGhlIHJlcGxhY2VkIGVsZW1lbnQncyBibG9jay1mbG93IGlzIHBlcnBlbmRp
Y3VsYXIgdG8gdGhlCiAgICAgICAgICAgICAvLyBjb250YWluaW5nIGJsb2NrJ3MgYmxvY2stZmxv
dy4KICAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD00NjQ5NgpAQCAtMjIwNiw2ICsyMjA3LDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmNvbXB1
dGVSZXBsYWNlZExvZ2ljYWxIZWlnaHRVc2luZyhMZW5ndGggbG9naWNhbEhlaWdodCkgY28KICAg
ICAgICAgY2FzZSBGaXhlZDoKICAgICAgICAgICAgIHJldHVybiBjb21wdXRlQ29udGVudEJveExv
Z2ljYWxIZWlnaHQobG9naWNhbEhlaWdodC52YWx1ZSgpKTsKICAgICAgICAgY2FzZSBQZXJjZW50
OgorICAgICAgICBjYXNlIENhbGN1bGF0ZWQ6CiAgICAgICAgIHsKICAgICAgICAgICAgIFJlbmRl
ck9iamVjdCogY2IgPSBpc1Bvc2l0aW9uZWQoKSA/IGNvbnRhaW5lcigpIDogY29udGFpbmluZ0Js
b2NrKCk7CiAgICAgICAgICAgICB3aGlsZSAoY2ItPmlzQW5vbnltb3VzKCkpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAKaW5kZXggMzFjZmU4
MGU5ODYxMzYyNWQyMGU0NzdiNzk1ZGU3Yjg0NDFlMGI4Ni4uNjRmMTMyOTQ3ZGMyY2YwYTgzMWE3
MTk3ODAzMDg3N2M4NmZiMDI4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRhYmxlU2VjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlU2VjdGlvbi5jcHAKQEAgLTIyNiw2ICsyMjYsNyBAQCB2b2lkIFJlbmRlclRhYmxl
U2VjdGlvbjo6YWRkQ2VsbChSZW5kZXJUYWJsZUNlbGwqIGNlbGwsIFJlbmRlclRhYmxlUm93KiBy
b3cpCiAgICAgICAgICAgICAgICAgICAgICAgICAoY1Jvd0xvZ2ljYWxIZWlnaHQuaXNGaXhlZCgp
ICYmIGNSb3dMb2dpY2FsSGVpZ2h0LnZhbHVlKCkgPCBsb2dpY2FsSGVpZ2h0LnZhbHVlKCkpKQog
ICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmlkW2luc2VydGlvblJvd10ubG9naWNhbEhlaWdo
dCA9IGxvZ2ljYWxIZWlnaHQ7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgICAgIGNhc2UgQ2FsY3VsYXRlZDogLy8gRklYTUUgY2FsYygpCiAgICAgICAgICAgICAgICAg
Y2FzZSBSZWxhdGl2ZToKICAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAg
ICAgICBicmVhazsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCAyMTdkNGM4N2YxMGRmNDhiNzI1NmVkOWQwMDRkYTdlNTVkNjc5
N2EwLi40ZjY3OWNhMTM1ODQzNWRlZmYzNzYwOWE0MzYwY2U1YjliYzI3ODg2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNzYgQEAKKzIwMTEtMTItMDYgIE1pa2UgTGF3dGhlciAgPG1pa2VsYXd0aGVyQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBDU1MzOiBJbXBsZW1lbnQgY2FsYygpCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjY2MgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY3NzMy9jYWxjL2JhY2tncm91bmQt
cG9zaXRpb24tcGFyc2luZy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2Nh
bGMvYmFja2dyb3VuZC1wb3NpdGlvbi1wYXJzaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNz
czMvY2FsYy9ibG9jay1tYXNrLW92ZXJsYXktaW1hZ2Utb3V0c2V0LWV4cGVjdGVkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9ibG9jay1tYXNrLW92ZXJsYXktaW1hZ2Utb3V0c2V0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9ib3JkZXItZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvYm9yZGVyLXJhZGl1cy1leHBlY3RlZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvYm9yZGVyLXJhZGl1cy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBjc3MzL2NhbGMvYm9yZGVyLXNwYWNpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBjc3MzL2NhbGMvYm9yZGVyLXNwYWNpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICog
Y3NzMy9jYWxjL2JvcmRlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvY2FsYy1l
cnJvcnMuaHRtbDoKKyAgICAgICAgKiBjc3MzL2NhbGMvY29sb3ItaHNsLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2NvbG9yLWhzbC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBjc3MzL2NhbGMvY29sb3ItcmdiLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
Y3NzMy9jYWxjL2NvbG9yLXJnYi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvY3Nz
My1yYWRpYWwtZ3JhZGllbnRzLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMv
Y2FsYy9jc3MzLXJhZGlhbC1ncmFkaWVudHMuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9j
YWxjL2ZvbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvZm9udC1t
b25vc3BhY2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvZm9udC1t
b25vc3BhY2UuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2ZvbnQtc2l6ZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9mb250LXNpemUtZnJhY3Rpb25h
bC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9mb250LXNpemUtZnJh
Y3Rpb25hbC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvZm9udC1zaXplLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9mb250Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGNzczMvY2FsYy9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50YWdlLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLXBl
cmNlbnRhZ2UuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2dyYWRpZW50LWNvbG9y
LXN0b3BzLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9ncmFkaWVu
dC1jb2xvci1zdG9wcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvaW1nLXNpemUt
ZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL2ltZy1zaXplLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9saW5lLWhlaWdodC1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9saW5lLWhlaWdodC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBjc3MzL2NhbGMvbWFyZ2luLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3Nz
My9jYWxjL21hcmdpbi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvbWlubWF4LWVy
cm9ycy5odG1sOgorICAgICAgICAqIGNzczMvY2FsYy9tdWx0aXBsZS1iYWNrZ3JvdW5kLXNpemUt
dHJhbnNpdGlvbnMtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvbXVs
dGlwbGUtYmFja2dyb3VuZC1zaXplLXRyYW5zaXRpb25zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogY3NzMy9jYWxjL211bHRpcGxlLWJhY2tncm91bmQtc2l6ZS10cmFuc2l0aW9ucy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvcGFkZGluZy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9wYWRkaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGNzczMvY2FsYy9yZWZsZWN0aW9uLWNvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogY3NzMy9jYWxjL3JlZmxlY3Rpb24tY29tcHV0ZWQtc3R5bGUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogY3NzMy9jYWxjL3Jlc291cmNlcy9hbHBoYS1ncmFkaWVudC5wbmc6IEFk
ZGVkLgorICAgICAgICAqIGNzczMvY2FsYy9yZXNvdXJjZXMvZGlhbW9uZC5wbmc6IEFkZGVkLgor
ICAgICAgICAqIGNzczMvY2FsYy9yZXNvdXJjZXMvbWFzay5wbmc6IEFkZGVkLgorICAgICAgICAq
IGNzczMvY2FsYy9yZXNvdXJjZXMvcmluZy5wbmc6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2Fs
Yy9zaW1wbGUtY2FsY3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGNzczMvY2FsYy9zaW1wbGUt
Y2FsY3MuaHRtbDoKKyAgICAgICAgKiBjc3MzL2NhbGMvc2ltcGxlLWNvbXBvc2l0ZWQtbWFzay1l
eHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvc2ltcGxlLWNvbXBvc2l0
ZWQtbWFzay5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2NhbGMvc2ltcGxlLW1pbm1heC1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogY3NzMy9jYWxjL3NpbXBsZS1taW5tYXguaHRtbDoKKyAg
ICAgICAgKiBjc3MzL2NhbGMvc3ZnLXRyYW5zaXRpb25zLWV4cGVjdGVkLnBuZzogQWRkZWQuCisg
ICAgICAgICogY3NzMy9jYWxjL3N2Zy10cmFuc2l0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGNzczMvY2FsYy9zdmctdHJhbnNpdGlvbnMuaHRtbDogQWRkZWQuCisgICAgICAg
ICogY3NzMy9jYWxjL3RhYmxlLWNhbGNzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
Y3NzMy9jYWxjL3RhYmxlLWNhbGNzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNzczMvY2FsYy90
YWJsZS1lbXB0eS1jZWxscy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2Nh
bGMvdGFibGUtZW1wdHktY2VsbHMuaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9jYWxjL3Zh
bHVlLWxpc3Qtb3V0LW9mLWJvdW5kcy1jcmFzaC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3Mz
L2NhbGMvdmVydGljYWwtYWxpZ24tYmFzZWxpbmUtcmVhZGp1c3QuaHRtbDogQWRkZWQuCisgICAg
ICAgICogY3NzMy9jYWxjL3ZlcnRpY2FsLWFsaWduLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAg
ICAgICogY3NzMy9jYWxjL3ZlcnRpY2FsLWFsaWduLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogY3NzMy9jYWxjL3ZlcnRpY2FsLWFsaWduLmh0bWw6IEFkZGVkLgorCiAyMDExLTEyLTAy
ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByMTAxNzMxLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3NzMy9jYWxjL2JhY2tncm91bmQtcG9zaXRpb24tcGFyc2luZy1leHBlY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvY3NzMy9jYWxjL2JhY2tncm91bmQtcG9zaXRpb24tcGFyc2luZy1leHBlY3RlZC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmMzOWIyNjk3MDdjNjI5NTA0ZjM3YzliNmNkNTA3NDQxNGI0MjAxMDEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYmFja2dyb3VuZC1wb3Np
dGlvbi1wYXJzaW5nLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMzcgQEAKKzwhRE9DVFlQRSBo
dG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxLy9FTiIgImh0dHA6Ly93d3cudzMub3Jn
L1RSL2h0bWw0L3N0cmljdC5kdGQiPgorPGh0bWwgbGFuZz0iZW4iPgorPGhlYWQ+CisgIDx0aXRs
ZT5DU1MgVGVzdDogQ1NTIGJhY2tncm91bmQgcG9zaXRpb246IHBhcnNpbmc8L3RpdGxlPgorICA8
bGluayByZWw9ImF1dGhvciIgdGl0bGU9IklhbiBIaWNrc29uIiBocmVmPSJtYWlsdG86aWFuQGhp
eGllLmNoIj4KKyAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9D
U1MyMS9jb2xvcnMuaHRtbCNiYWNrZ3JvdW5kIj4KKyAgPG1ldGEgbmFtZT0iZmxhZ3MiIGNvbnRl
bnQ9ImludmFsaWQiPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgLmNhc2UgeyBmbG9h
dDogbGVmdDsgYm9yZGVyOiBzb2xpZDsgbWFyZ2luOiAwLjJlbTsgem9vbTowLjUgfSAvKiAxNTAg
eCAxMDAgKi8KKyAgIC50ZXN0IHsgYmFja2dyb3VuZDogI0ZGRkZDQyB1cmwocmVzb3VyY2VzL3Jp
bmcucG5nKSBuby1yZXBlYXQ7IHBhZGRpbmc6IDE2cHg7IH0KKyAgIC5jb250cm9sIHsgd2lkdGg6
IDExOHB4OyBoZWlnaHQ6IDY4cHg7IGJhY2tncm91bmQ6IHVybChyZXNvdXJjZXMvZGlhbW9uZC5w
bmcpIG5vLXJlcGVhdDsgfQorCisgICAuYSAuY29udHJvbCwgLmIgLmNvbnRyb2wsIC5jIC5jb250
cm9sLCAuZCAuY29udHJvbCwgLmUgLmNvbnRyb2wsIC5mIC5jb250cm9sIHsgYmFja2dyb3VuZC1w
b3NpdGlvbjogMTAwJSAxMDAlOyB9CisgICAuY2FzZS5hIC50ZXN0IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogcmlnaHQgYm90dG9tOyB9CisgICAuY2FzZS5iIC50ZXN0IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogYm90dG9tIHJpZ2h0OyB9CisgICAuY2FzZS5jIC50ZXN0IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogMTAwJSBib3R0b207IH0KKyAgIC5jYXNlLmQgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0
aW9uOiByaWdodCAxMDAlOyB9CisgICAuY2FzZS5lIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlv
bjogMTAwJSA1OHB4OyB9CisgICAuY2FzZS5mIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjog
MTA4cHggMTAwJTsgfQorCisgICAuZyAuY29udHJvbCwgLmggLmNvbnRyb2wsIC5pIC5jb250cm9s
LCAuaiAuY29udHJvbCwgLmsgLmNvbnRyb2wsIC5sIC5jb250cm9sLCAubSAuY29udHJvbCB7IGJh
Y2tncm91bmQtcG9zaXRpb246IDU0cHggMjhweDsgfQorICAgLmNhc2UuZyAudGVzdCB7IGJhY2tn
cm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IH0KKyAgIC5jYXNlLmggLnRlc3QgeyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyB9CisgICAuY2FzZS5pIC50ZXN0IHsgYmFja2dyb3Vu
ZC1wb3NpdGlvbjogY2VudGVyIDUwJTsgfQorICAgLmNhc2UuaiAudGVzdCB7IGJhY2tncm91bmQt
cG9zaXRpb246IDUwJSBjZW50ZXI7IH0KKyAgIC5jYXNlLmsgLnRlc3QgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiA1MCU7IH0KKyAgIC5jYXNlLmwgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBj
ZW50ZXI7IH0KKyAgIC5jYXNlLm0gLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1NHB4OyB9
CisKKyAgIC5uIC5jb250cm9sLCAubyAuY29udHJvbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDU0
cHggNTZweDsgfQorICAgLmNhc2UubiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRv
bSBjZW50ZXI7IH0KKyAgIC5jYXNlLm8gLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50
ZXIgYm90dG9tOyB9CisKKyAgIC5wIC5jb250cm9sLCAucSAuY29udHJvbCB7IGJhY2tncm91bmQt
cG9zaXRpb246IDEwOHB4IDI4cHg7IH0KKyAgIC5jYXNlLnAgLnRlc3QgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiByaWdodCBjZW50ZXI7IH0KKyAgIC5jYXNlLnEgLnRlc3QgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiBjZW50ZXIgcmlnaHQ7IH0KKworICAgLnIgLmNvbnRyb2wgeyBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiB0b3AgcmlnaHQ7IH0KKyAgIC5jYXNlLnIwIC50ZXN0IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogcmlnaHQgdG9wOyB9CisgICAuY2FzZS5yMSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRp
b246IHJpZ2h0IDA7IH0KKyAgIC5jYXNlLnIyIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjog
cmlnaHQgMHB4OyB9CisgICAuY2FzZS5yMyAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IHJp
Z2h0IDAlOyB9CisgICAuY2FzZS5yNCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUg
dG9wOyB9CisgICAuY2FzZS5yNSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMDsg
fQorICAgLmNhc2UucjYgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDBweDsgfQor
ICAgLmNhc2UucjcgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDAlOyB9CisgICAu
Y2FzZS5yOCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwOHB4IHRvcDsgfQorICAgLmNh
c2UucjkgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDhweCAwOyB9CisgICAuY2FzZS5y
MTAgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDhweCAwcHg7IH0KKyAgIC5jYXNlLnIx
MSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwOHB4IDAlOyB9CisKKyAgIC5uZWdhdGl2
ZSAuY29udHJvbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAlIDAlOyB9CisgICAubmVnYXRpdmUz
IC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsgfSAvKiBDU1MzIGJhY2tn
cm91bmQgc3VwcG9ydHMgY29tbWEgKi8KKyAgIC5jYXNlLnQxIC50ZXN0IHsgYmFja2dyb3VuZC1w
b3NpdGlvbjogcmlnaHQgYm90dG9tIGJvdHRvbTsgfQorICAgLmNhc2UudDIgLnRlc3QgeyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiBib3R0b20gcmlnaHQgYm90dG9tOyB9CisgICAuY2FzZS50MyAudGVz
dCB7IGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSAxMDAlOyB9CisgICAuY2FzZS50NCAudGVz
dCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgcmlnaHQ7IH0KKyAgIC5jYXNlLnQ1IC50ZXN0
IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIDhweDsgfQorICAgLmNhc2UudDYgLnRlc3Qg
eyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyM3B4IHJpZ2h0OyB9CisgICAuY2FzZS50NyAudGVzdCB7
IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciA1MCUgY2VudGVyOyB9CisgICAuY2FzZS50OCAu
dGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCUgNTAlOyB9CisgICAuY2FzZS50OSAu
dGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciA1MCUgNTAlOyB9CisgICAuY2FzZS50
MTAgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUsIDEwMCU7IH0gLyogQ1NTMyBiYWNr
Z3JvdW5kIHN1cHBvcnRzIGNvbW1hICovCisgICAgICAvKiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0
aGUgY29tbWEgZWl0aGVyIGlzCisgICAgICAgICAgIGEpIGludmFsaWQgcGVyIENTUzIuMQorICAg
ICAgICAgICBiKSBoYW5kbGVkIGNvcnJlY3RseSBwZXIgQ1NTMworICAgICAgICAgYW5kIE5PVCBw
YXJzZWQgYXMgYSB2YWxpZCBzZXBhcmF0b3Igb2YgeCBhbmQgeSBvZmZzZXRzLiAqLworICAgLmNh
c2UudDExIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIDU0cHg7IH0KKyAgIC5j
YXNlLnQxMiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwIDUwJTsgfQorICAgLmNhc2Uu
dDEzIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIDEwMDsgfQorICAgLmNhc2Uu
dDE0IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHRib3R0b207IH0KKyAgIC5jYXNl
LnQxNSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgcmlnaHQ7IH0KKyAgIC5jYXNlLnQx
NiAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDBweCByaWdodDsgfQorICAgLmNhc2UudDE3
IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgcmlnaHQ7IH0KKyAgIC5jYXNlLnQxOCAu
dGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAxMDAlOyB9CisgICAuY2FzZS50MTkgLnRl
c3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgMTA4cHg7IH0KKyAgIC5jYXNlLnQyMCAudGVz
dCB7IGJhY2tncm91bmQtcG9zaXRpb246IHRvcCB0b3A7IH0KKyAgIC5jYXNlLnQyMSAudGVzdCB7
IGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgcmlnaHQ7IH0KKyAgIC5jYXNlLnQyMiAudGVzdCB7
IGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgbGVmdDsgfQorICA8L3N0eWxlPgorIDwvaGVhZD4K
Kzxib2R5PgorICA8cD5JbiBhbGwgdGhlIGZvbGxvd2luZyBib3hlcywgdGhlIGZ1Y2hzaWEgZGlh
bW9uZCBzaG91bGQgYmUgc3Vycm91bmRlZCBieSBhIHJpbmcuPC9wPgorICA8ZGl2IGNsYXNzPSJj
YXNlIGEiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2
PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGIiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xh
c3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGMiPjxk
aXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2Pgor
ICA8ZGl2IGNsYXNzPSJjYXNlIGQiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRy
b2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGUiPjxkaXYgY2xhc3M9
InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNs
YXNzPSJjYXNlIGYiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2
PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGciPjxkaXYgY2xhc3M9InRlc3QiPjxk
aXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNl
IGgiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2Pjwv
ZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGkiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9
ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGoiPjxkaXYg
Y2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8
ZGl2IGNsYXNzPSJjYXNlIGsiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wi
PjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGwiPjxkaXYgY2xhc3M9InRl
c3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNz
PSJjYXNlIG0iPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2Pjwv
ZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG4iPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYg
Y2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG8i
PjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2
PgorICA8ZGl2IGNsYXNzPSJjYXNlIHAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNv
bnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHEiPjxkaXYgY2xh
c3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjYXNlIHIgcjAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wi
PjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjEiPjxkaXYgY2xhc3M9
InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNs
YXNzPSJjYXNlIHIgcjIiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwv
ZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjMiPjxkaXYgY2xhc3M9InRl
c3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNz
PSJjYXNlIHIgcjQiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2
PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjUiPjxkaXYgY2xhc3M9InRlc3Qi
PjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJj
YXNlIHIgcjYiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2Pjwv
ZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjciPjxkaXYgY2xhc3M9InRlc3QiPjxk
aXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNl
IHIgcjgiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2
PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjkiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYg
Y2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIg
cjEwIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48
L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MSI+PGRpdiBjbGFzcz0idGVzdCI+
PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNh
c2UgbmVnYXRpdmUgdDIiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwv
ZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQzIj48ZGl2IGNs
YXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRp
diBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0NCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0i
Y29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUg
dDUiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2Pjwv
ZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQ2Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48
ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2Fz
ZSBuZWdhdGl2ZSB0NyI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9k
aXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDgiPjxkaXYgY2xh
c3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQ5Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJj
b250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSBu
ZWdhdGl2ZTMgdDEwIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rp
dj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTEiPjxkaXYgY2xh
c3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQxMiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0i
Y29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUg
dDEzIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48
L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTQiPjxkaXYgY2xhc3M9InRlc3Qi
PjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJj
YXNlIG5lZ2F0aXZlIHQxNSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+
PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDE2Ij48ZGl2
IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAg
PGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTciPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xh
c3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0
aXZlIHQxOCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9k
aXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDE5Ij48ZGl2IGNsYXNzPSJ0
ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFz
cz0iY2FzZSBuZWdhdGl2ZSB0MjAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRy
b2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQyMSI+
PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+
CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDIyIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2
IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAKKworPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9iYWNrZ3JvdW5kLXBvc2l0aW9uLXBhcnNpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9iYWNrZ3JvdW5kLXBvc2l0aW9uLXBhcnNpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYzFl
ODY4MWJlNjM4MzFmODZkNjRkYzA0YWE1NzZkODZhMzRkNDNmCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JhY2tncm91bmQtcG9zaXRpb24tcGFyc2luZy5odG1sCkBA
IC0wLDAgKzEsMTM3IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwg
NC4wMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9zdHJpY3QuZHRkIj4KKzxodG1s
IGxhbmc9ImVuIj4KKzxoZWFkPgorICA8dGl0bGU+Q1NTIFRlc3Q6IENTUyBiYWNrZ3JvdW5kIHBv
c2l0aW9uOiBwYXJzaW5nPC90aXRsZT4KKyAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJJYW4g
SGlja3NvbiIgaHJlZj0ibWFpbHRvOmlhbkBoaXhpZS5jaCI+CisgIDxsaW5rIHJlbD0iaGVscCIg
aHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMjEvY29sb3JzLmh0bWwjYmFja2dyb3VuZCI+
CisgIDxtZXRhIG5hbWU9ImZsYWdzIiBjb250ZW50PSJpbnZhbGlkIj4KKyAgPHN0eWxlIHR5cGU9
InRleHQvY3NzIj4KKyAgIC5jYXNlIHsgZmxvYXQ6IGxlZnQ7IGJvcmRlcjogc29saWQ7IG1hcmdp
bjogMC4yZW07IHpvb206MC41IH0gLyogMTUwIHggMTAwICovCisgICAudGVzdCB7IGJhY2tncm91
bmQ6ICNGRkZGQ0MgdXJsKHJlc291cmNlcy9yaW5nLnBuZykgbm8tcmVwZWF0OyBwYWRkaW5nOiAt
d2Via2l0LWNhbGMoMTZweCk7IH0KKyAgIC5jb250cm9sIHsgd2lkdGg6IDExOHB4OyBoZWlnaHQ6
IDY4cHg7IGJhY2tncm91bmQ6IHVybChyZXNvdXJjZXMvZGlhbW9uZC5wbmcpIG5vLXJlcGVhdDsg
fQorCisgICAuYSAuY29udHJvbCwgLmIgLmNvbnRyb2wsIC5jIC5jb250cm9sLCAuZCAuY29udHJv
bCwgLmUgLmNvbnRyb2wsIC5mIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAx
MDAlOyB9CisgICAuY2FzZS5hIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgYm90
dG9tOyB9CisgICAuY2FzZS5iIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIHJp
Z2h0OyB9CisgICAuY2FzZS5jIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1j
YWxjKDEwMCUpIGJvdHRvbTsgfQorICAgLmNhc2UuZCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRp
b246IHJpZ2h0IC13ZWJraXQtY2FsYygxMDAlKTsgfQorICAgLmNhc2UuZSAudGVzdCB7IGJhY2tn
cm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYygxMDAlKSAtd2Via2l0LWNhbGMoNThweCk7IH0K
KyAgIC5jYXNlLmYgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoNTAl
ICsgNTRweCkgLXdlYmtpdC1jYWxjKDUwJSArIDI5cHgpOyB9CisKKyAgIC5nIC5jb250cm9sLCAu
aCAuY29udHJvbCwgLmkgLmNvbnRyb2wsIC5qIC5jb250cm9sLCAuayAuY29udHJvbCwgLmwgLmNv
bnRyb2wsIC5tIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTRweCAyOHB4OyB9Cisg
ICAuY2FzZS5nIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfQor
ICAgLmNhc2UuaCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYyg1MCUp
IC13ZWJraXQtY2FsYyg1MCUpOyB9CisgICAuY2FzZS5pIC50ZXN0IHsgYmFja2dyb3VuZC1wb3Np
dGlvbjogY2VudGVyIC13ZWJraXQtY2FsYyg1MCUpOyB9CisgICAuY2FzZS5qIC50ZXN0IHsgYmFj
a2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDUwJSkgY2VudGVyOyB9CisgICAuY2FzZS5r
IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDUwJSk7IH0KKyAgIC5j
YXNlLmwgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH0KKyAgIC5jYXNlLm0g
LnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoNTRweCk7IH0KKworICAg
Lm4gLmNvbnRyb2wsIC5vIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTRweCA1NnB4
OyB9CisgICAuY2FzZS5uIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRl
cjsgfQorICAgLmNhc2UubyAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0
b207IH0KKworICAgLnAgLmNvbnRyb2wsIC5xIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlv
bjogMTA4cHggMjhweDsgfQorICAgLmNhc2UucCAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246
IHJpZ2h0IGNlbnRlcjsgfQorICAgLmNhc2UucSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246
IGNlbnRlciByaWdodDsgfQorCisgICAuciAuY29udHJvbCB7IGJhY2tncm91bmQtcG9zaXRpb246
IHRvcCByaWdodDsgfQorICAgLmNhc2UucjAgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBy
aWdodCB0b3A7IH0KKyAgIC5jYXNlLnIxIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogcmln
aHQgMDsgfQorICAgLmNhc2UucjIgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAt
d2Via2l0LWNhbGMoMHB4KTsgfQorICAgLmNhc2UucjMgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0
aW9uOiByaWdodCAtd2Via2l0LWNhbGMoMCUpOyB9CisgICAuY2FzZS5yNCAudGVzdCB7IGJhY2tn
cm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYygxMDAlKSB0b3A7IH0KKyAgIC5jYXNlLnI1IC50
ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDEwMCUpIDA7IH0KKyAgIC5j
YXNlLnI2IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDEwMCUpIC13
ZWJraXQtY2FsYygwcHgpOyB9CisgICAuY2FzZS5yNyAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRp
b246IC13ZWJraXQtY2FsYygxMDAlKSAtd2Via2l0LWNhbGMoMCUpOyB9CisgICAuY2FzZS5yOCAu
dGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYygxMDhweCkgdG9wOyB9Cisg
ICAuY2FzZS5yOSAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYygxMDhw
eCkgMDsgfQorICAgLmNhc2UucjEwIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtp
dC1jYWxjKDEwOHB4KSAtd2Via2l0LWNhbGMoMHB4KTsgfQorICAgLmNhc2UucjExIC50ZXN0IHsg
YmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDEwOHB4KSAtd2Via2l0LWNhbGMoMCUp
OyB9CisKKyAgIC5uZWdhdGl2ZSAuY29udHJvbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAlIDAl
OyB9CisgICAubmVnYXRpdmUzIC5jb250cm9sIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUw
JTsgfSAvKiBDU1MzIGJhY2tncm91bmQgc3VwcG9ydHMgY29tbWEgKi8KKyAgIC5jYXNlLnQxIC50
ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgYm90dG9tIGJvdHRvbTsgfQorICAgLmNh
c2UudDIgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gcmlnaHQgYm90dG9tOyB9
CisgICAuY2FzZS50MyAudGVzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSAtd2Via2l0
LWNhbGMoMTAwJSk7IH0KKyAgIC5jYXNlLnQ0IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjog
LXdlYmtpdC1jYWxjKDEwMCUpIHJpZ2h0OyB9CisgICAuY2FzZS50NSAudGVzdCB7IGJhY2tncm91
bmQtcG9zaXRpb246IGJvdHRvbSAtd2Via2l0LWNhbGMoOHB4KTsgfQorICAgLmNhc2UudDYgLnRl
c3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoMjNweCkgcmlnaHQ7IH0KKyAg
IC5jYXNlLnQ3IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC13ZWJraXQtY2Fs
Yyg1MCUpIGNlbnRlcjsgfQorICAgLmNhc2UudDggLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9u
OiAtd2Via2l0LWNhbGMoNTAlKSAtd2Via2l0LWNhbGMoNTAlKSAtd2Via2l0LWNhbGMoNTAlKTsg
fQorICAgLmNhc2UudDkgLnRlc3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgLXdlYmtp
dC1jYWxjKDUwJSkgLXdlYmtpdC1jYWxjKDUwJSk7IH0KKyAgIC5jYXNlLnQxMCAudGVzdCB7IGJh
Y2tncm91bmQtcG9zaXRpb246IC13ZWJraXQtY2FsYyg1MCUpLCAtd2Via2l0LWNhbGMoMTAwJSk7
IH0gLyogQ1NTMyBiYWNrZ3JvdW5kIHN1cHBvcnRzIGNvbW1hICovCisgICAgICAvKiBUaGlzIHRl
c3QgbWFrZXMgc3VyZSB0aGUgY29tbWEgZWl0aGVyIGlzCisgICAgICAgICAgIGEpIGludmFsaWQg
cGVyIENTUzIuMQorICAgICAgICAgICBiKSBoYW5kbGVkIGNvcnJlY3RseSBwZXIgQ1NTMworICAg
ICAgICAgYW5kIE5PVCBwYXJzZWQgYXMgYSB2YWxpZCBzZXBhcmF0b3Igb2YgeCBhbmQgeSBvZmZz
ZXRzLiAqLworICAgLmNhc2UudDExIC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9t
IC13ZWJraXQtY2FsYyg1NHB4KTsgfQorICAgLmNhc2UudDEyIC50ZXN0IHsgYmFja2dyb3VuZC1w
b3NpdGlvbjogNTAgLXdlYmtpdC1jYWxjKDUwJSk7IH0KKyAgIC5jYXNlLnQxMyAudGVzdCB7IGJh
Y2tncm91bmQtcG9zaXRpb246IGJvdHRvbSAxMDA7IH0KKyAgIC5jYXNlLnQxNCAudGVzdCB7IGJh
Y2tncm91bmQtcG9zaXRpb246IHJpZ2h0Ym90dG9tOyB9CisgICAuY2FzZS50MTUgLnRlc3QgeyBi
YWNrZ3JvdW5kLXBvc2l0aW9uOiAwIHJpZ2h0OyB9CisgICAuY2FzZS50MTYgLnRlc3QgeyBiYWNr
Z3JvdW5kLXBvc2l0aW9uOiAtd2Via2l0LWNhbGMoMHB4KSByaWdodDsgfQorICAgLmNhc2UudDE3
IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLXdlYmtpdC1jYWxjKDAlKSByaWdodDsgfQor
ICAgLmNhc2UudDE4IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIC13ZWJraXQtY2Fs
YygxMDAlKTsgfQorICAgLmNhc2UudDE5IC50ZXN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9w
IC13ZWJraXQtY2FsYygxMDhweCk7IH0KKyAgIC5jYXNlLnQyMCAudGVzdCB7IGJhY2tncm91bmQt
cG9zaXRpb246IHRvcCB0b3A7IH0KKyAgIC5jYXNlLnQyMSAudGVzdCB7IGJhY2tncm91bmQtcG9z
aXRpb246IGxlZnQgcmlnaHQ7IH0KKyAgIC5jYXNlLnQyMiAudGVzdCB7IGJhY2tncm91bmQtcG9z
aXRpb246IGxlZnQgbGVmdDsgfQorICA8L3N0eWxlPgorIDwvaGVhZD4KKzxib2R5PgorICA8cD5J
biBhbGwgdGhlIGZvbGxvd2luZyBib3hlcywgdGhlIGZ1Y2hzaWEgZGlhbW9uZCBzaG91bGQgYmUg
c3Vycm91bmRlZCBieSBhIHJpbmcuPC9wPgorICA8ZGl2IGNsYXNzPSJjYXNlIGEiPjxkaXYgY2xh
c3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjYXNlIGIiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwv
ZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGMiPjxkaXYgY2xhc3M9InRlc3Qi
PjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJj
YXNlIGQiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2
PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGUiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xh
c3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGYiPjxk
aXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2Pgor
ICA8ZGl2IGNsYXNzPSJjYXNlIGciPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRy
b2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGgiPjxkaXYgY2xhc3M9
InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNs
YXNzPSJjYXNlIGkiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2
PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGoiPjxkaXYgY2xhc3M9InRlc3QiPjxk
aXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNl
IGsiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2Pjwv
ZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIGwiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9
ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG0iPjxkaXYg
Y2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8
ZGl2IGNsYXNzPSJjYXNlIG4iPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wi
PjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG8iPjxkaXYgY2xhc3M9InRl
c3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNz
PSJjYXNlIHAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2Pjwv
ZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHEiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYg
Y2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIg
cjAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2Pjwv
ZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjEiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xh
c3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjIi
PjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2
PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjMiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9
ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjQiPjxk
aXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2Pgor
ICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjUiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNv
bnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjYiPjxkaXYg
Y2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8
ZGl2IGNsYXNzPSJjYXNlIHIgcjciPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRy
b2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjgiPjxkaXYgY2xh
c3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2
IGNsYXNzPSJjYXNlIHIgcjkiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wi
PjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIHIgcjEwIj48ZGl2IGNsYXNz
PSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBj
bGFzcz0iY2FzZSBuZWdhdGl2ZSB0MSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29u
dHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDIi
PjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2
PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQzIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2
IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBu
ZWdhdGl2ZSB0NCI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+
PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDUiPjxkaXYgY2xhc3M9
InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNs
YXNzPSJjYXNlIG5lZ2F0aXZlIHQ2Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250
cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0NyI+
PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+
CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDgiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYg
Y2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5l
Z2F0aXZlIHQ5Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48
L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSBuZWdhdGl2ZTMgdDEwIj48
ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4K
KyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTEiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYg
Y2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5l
Z2F0aXZlIHQxMiI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+
PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDEzIj48ZGl2IGNsYXNz
PSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBj
bGFzcz0iY2FzZSBuZWdhdGl2ZSB0MTQiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNv
bnRyb2wiPjwvZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQx
NSI+PGRpdiBjbGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9k
aXY+CisgIDxkaXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDE2Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48
ZGl2IGNsYXNzPSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2Fz
ZSBuZWdhdGl2ZSB0MTciPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwv
ZGl2PjwvZGl2PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQxOCI+PGRpdiBj
bGFzcz0idGVzdCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxk
aXYgY2xhc3M9ImNhc2UgbmVnYXRpdmUgdDE5Ij48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNz
PSJjb250cm9sIj48L2Rpdj48L2Rpdj48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iY2FzZSBuZWdhdGl2
ZSB0MjAiPjxkaXYgY2xhc3M9InRlc3QiPjxkaXYgY2xhc3M9ImNvbnRyb2wiPjwvZGl2PjwvZGl2
PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJjYXNlIG5lZ2F0aXZlIHQyMSI+PGRpdiBjbGFzcz0idGVz
dCI+PGRpdiBjbGFzcz0iY29udHJvbCI+PC9kaXY+PC9kaXY+PC9kaXY+CisgIDxkaXYgY2xhc3M9
ImNhc2UgbmVnYXRpdmUgdDIyIj48ZGl2IGNsYXNzPSJ0ZXN0Ij48ZGl2IGNsYXNzPSJjb250cm9s
Ij48L2Rpdj48L2Rpdj48L2Rpdj4KKyAKKworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9ibG9jay1t
YXNrLW92ZXJsYXktaW1hZ2Utb3V0c2V0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3Mz
L2NhbGMvYmxvY2stbWFzay1vdmVybGF5LWltYWdlLW91dHNldC1leHBlY3RlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjI4YzdiY2M5ZTgxMTk0YjA0Y2YzMzA1MDU1NWNlMGEwMmJkZjk5M2EKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYmxvY2stbWFzay1vdmVybGF5LWltYWdl
LW91dHNldC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzxoZWFkPgorPHN0eWxlPgor
LmJsb2NrVGVzdCB7CisgICAgICAgICBtYXJnaW46IDI1cHg7CisgICAgICAgICBwYWRkaW5nOiA1
MHB4OworICAgICAgICAgY29sb3I6d2hpdGU7CisJICAgICBiYWNrZ3JvdW5kLWNvbG9yOm1hcm9v
bjsKKyAgICAgICAgIC13ZWJraXQtbWFzay1ib3gtaW1hZ2U6IHVybChyZXNvdXJjZXMvbWFzay5w
bmcpIDc1IDc1IDc1IDc1IC8gYXV0byAvIDEwMHB4IDA7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+CisgICAgPGRpdiBjbGFzcz0iYmxvY2tUZXN0IiBzdHlsZT0iaGVpZ2h0OjAiPjxkaXYg
c3R5bGU9ImhlaWdodDo0MDBweDsgYmFja2dyb3VuZC1jb2xvcjpncmV5Ij5UaGlzIGNvbnRlbnQg
c2hvdWxkIGJlIG1hc2tlZCB3aXRoIGEgc29mdCBnbG93LjwvZGl2PjwvZGl2PgorPC9ib2R5Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2Jsb2NrLW1hc2stb3ZlcmxheS1pbWFn
ZS1vdXRzZXQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ibG9jay1tYXNrLW92ZXJsYXkt
aW1hZ2Utb3V0c2V0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGE1MGMwMjYzNDJjODZhMDc3YTMzZGMyNDU0
YTIyMzQxODZkMDlmZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9i
bG9jay1tYXNrLW92ZXJsYXktaW1hZ2Utb3V0c2V0Lmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPGhl
YWQ+Cis8c3R5bGU+CisuYmxvY2tUZXN0IHsKKyAgICAgICAgIG1hcmdpbjogMjVweDsKKyAgICAg
ICAgIHBhZGRpbmc6IDUwcHg7CisgICAgICAgICBjb2xvcjp3aGl0ZTsKKwkgICAgIGJhY2tncm91
bmQtY29sb3I6bWFyb29uOworICAgICAgICAgLXdlYmtpdC1tYXNrLWJveC1pbWFnZTogdXJsKHJl
c291cmNlcy9tYXNrLnBuZykgNzUgNzUgNzUgNzUgLyBhdXRvIC8gLXdlYmtpdC1jYWxjKDEwMHB4
KSAwOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgY2xhc3M9ImJsb2Nr
VGVzdCIgc3R5bGU9ImhlaWdodDowIj48ZGl2IHN0eWxlPSJoZWlnaHQ6NDAwcHg7IGJhY2tncm91
bmQtY29sb3I6Z3JleSI+VGhpcyBjb250ZW50IHNob3VsZCBiZSBtYXNrZWQgd2l0aCBhIHNvZnQg
Z2xvdy48L2Rpdj48L2Rpdj4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMv
Y2FsYy9ib3JkZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGQyYmFjOGVjOTIxOWQzOWI0MTBmOWZlNTQ5MWEyMGJi
NzBjMTBiMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGFu
IG92ZXJhbGwgYm9yZGVyIG9mIDI1IHBpeGVscy4gPT4gUEFTUworCitUaGlzIGVsZW1lbnQgc2hv
dWxkIGhhdmUgYSBsZWZ0IGJvcmRlciBvZiAyNSBwaXhlbHMuID0+IFBBU1MKKworVGhpcyBlbGVt
ZW50IHNob3VsZCBoYXZlIGEgcmlnaHQgYm9yZGVyIG9mIDI1IHBpeGVscy4gPT4gUEFTUworCitU
aGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSB0b3AgYm9yZGVyIG9mIDI1IHBpeGVscy4gPT4gUEFT
UworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gYm9yZGVyIG9mIDI1IHBpeGVs
cy4gPT4gUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1yYWRp
dXMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXItcmFkaXVzLWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2U1Y2ZmNmZjYmUxMWJiY2ExOGIwYmU4NmExZDk2NWI3
ZDkzMWE5NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXIt
cmFkaXVzLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMiBAQAorPHN0eWxlPgorZGl2IHsKKyAg
ICB3aWR0aDoxMDBweDsKKyAgICBoZWlnaHQ6MTAwcHg7CisgICAgYm9yZGVyOiAycHggc29saWQg
YmxhY2s7Cit9CisucGl4ZWxzIHsKKyAgICBib3JkZXItcmFkaXVzOjUwcHg7Cit9CisucGVyY2Vu
dCB7CisgICAgYm9yZGVyLXJhZGl1czo1MCU7Cit9CisuYm90aCB7CisgICAgYm9yZGVyLXJhZGl1
czo1MCU7Cit9Cis8L3N0eWxlPgorCitUaGlzIHRlc3Qgc2hvdWxkIGhhdmUgdGhyZWUgY2lyY2xl
cy4KKworPGRpdiBjbGFzcz0icGl4ZWxzIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnQiPjwv
ZGl2PgorPGRpdiBjbGFzcz0iYm90aCI+PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvYm9yZGVyLXJhZGl1cy5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRl
ci1yYWRpdXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZDZhNjE2YTM1NDkzZDcyMTBkM2IwZDI1MjFhNWQ1
NmJlMjE2MzM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRl
ci1yYWRpdXMuaHRtbApAQCAtMCwwICsxLDIyIEBACis8c3R5bGU+CitkaXYgeworICAgIHdpZHRo
OjEwMHB4OworICAgIGhlaWdodDoxMDBweDsKKyAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjazsK
K30KKy5waXhlbHMgeworICAgIGJvcmRlci1yYWRpdXM6LXdlYmtpdC1jYWxjKDUwcHgpOworfQor
LnBlcmNlbnQgeworICAgIGJvcmRlci1yYWRpdXM6LXdlYmtpdC1jYWxjKDUwJSk7Cit9CisuYm90
aCB7CisgICAgYm9yZGVyLXJhZGl1czotd2Via2l0LWNhbGMoMjUlICsgMjVweCk7Cit9Cis8L3N0
eWxlPgorCitUaGlzIHRlc3Qgc2hvdWxkIGhhdmUgdGhyZWUgY2lyY2xlcy4KKworPGRpdiBjbGFz
cz0icGl4ZWxzIj48L2Rpdj4KKzxkaXYgY2xhc3M9InBlcmNlbnQiPjwvZGl2PgorPGRpdiBjbGFz
cz0iYm90aCI+PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVy
LXNwYWNpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2JvcmRlci1zcGFj
aW5nLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZWIyYWNhMWFkZTA4ODNmNmI0ZWUzY2FhMWEy
N2ZhNDNkYTE2YWJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2Jv
cmRlci1zcGFjaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACis9PiBQQVNTCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLXNwYWNpbmcuaHRtbCBiL0xheW91dFRl
c3RzL2NzczMvY2FsYy9ib3JkZXItc3BhY2luZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhMjg4NjkzZWZi
NTQwNDY0NDkzOWM3OGQzNjc2Nzk2OWYwZjU2ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvYm9yZGVyLXNwYWNpbmcuaHRtbApAQCAtMCwwICsxLDU5IEBACis8IURP
Q1RZUEUgSFRNTD4KKzxzdHlsZT4KK3RkIHsgdmVydGljYWwtYWxpZ246dG9wOyBwYWRkaW5nOiAw
OyB3aWR0aDotd2Via2l0LWNhbGMoNTBweCk7IGhlaWdodDotd2Via2l0LWNhbGMoNjBweCk7IGJh
Y2tncm91bmQtY29sb3I6Ymx1ZTsgYm9yZGVyOi13ZWJraXQtY2FsYygxcHgpIHNvbGlkIGJsYWNr
IH0KK3RhYmxlIHsgYm9yZGVyLXNwYWNpbmc6IC13ZWJraXQtY2FsYygxMHB4ICogMiArIDVweCk7
IGJvcmRlcjozcHggc29saWQgYmxhY2s7IHBvc2l0aW9uOnJlbGF0aXZlIH0KKzwvc3R5bGU+CisK
Kzx0YWJsZSBpZD0ic3RpbXVsdXMiPgorICAgIDx0cj4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAg
ICAgIDx0ZD48L3RkPgorICAgICAgICA8dGQ+PC90ZD4KKyAgICAgICAgPHRkPjwvdGQ+CisgICAg
ICAgIDx0ZD48L3RkPgorICAgIDwvdHI+CisgICAgPHRyPgorICAgICAgICA8dGQ+PC90ZD4KKyAg
ICAgICAgPHRkPjwvdGQ+CisgICAgICAgIDx0ZD48L3RkPgorICAgICAgICA8dGQ+PC90ZD4KKyAg
ICAgICAgPHRkPjwvdGQ+CisgICAgPC90cj4KKzwvdGFibGU+Cis8ZGl2IGlkPSJyZXN1bHQiPjwv
ZGl2PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3ZhciBpbm5lckJvcmRlciA9IDE7
Cit2YXIgb3V0ZXJCb3JkZXIgPSAzOwordmFyIGlubmVyV2lkdGggPSA1MCArIDIgKiBpbm5lckJv
cmRlcjsKK3ZhciBpbm5lckhlaWdodCA9IDYwICsgMiAqIGlubmVyQm9yZGVyOwordmFyIGJvcmRl
clNwYWNpbmcgPSAyNTsKK3ZhciByb3dzID0gMjsKK3ZhciBjb2x1bW5zID0gNTsKKwordmFyIGV4
cGVjdGVkV2lkdGggPSBpbm5lcldpZHRoICogY29sdW1ucyArIGJvcmRlclNwYWNpbmcgKiAoY29s
dW1ucyArIDEpICsgMiAqIG91dGVyQm9yZGVyOwordmFyIGV4cGVjdGVkSGVpZ2h0ID0gaW5uZXJI
ZWlnaHQgKiByb3dzICsgYm9yZGVyU3BhY2luZyAqIChyb3dzICsgMSkgKyAyICogb3V0ZXJCb3Jk
ZXI7CisKK3ZhciBlbHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3RpbXVsdXMiKTsKKwor
dmFyIHdpZHRoID0gZWx0Lm9mZnNldFdpZHRoOwordmFyIGhlaWdodCA9IGVsdC5vZmZzZXRIZWln
aHQ7CisKK3ZhciBlcnJvciA9IFtdOworaWYgKHdpZHRoICE9IGV4cGVjdGVkV2lkdGgpCisgICAg
ZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgIiArIGV4cGVjdGVkV2lkdGggKyAi
LCBidXQgd2FzICIgKyB3aWR0aCk7CitpZiAoaGVpZ2h0ICE9IGV4cGVjdGVkSGVpZ2h0KQorICAg
IGVycm9yLnB1c2goImV4cGVjdGVkIHRvdGFsIGhlaWdodCBvZiAiICsgZXhwZWN0ZWRIZWlnaHQg
KyAiLCBidXQgd2FzICIgKyBoZWlnaHQpOworCityZXN1bHQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicmVzdWx0Iik7CitpZiAoZXJyb3IgPT0gIiIpIHsKKyAgICBlbHQuc3R5bGUuYmFja2dy
b3VuZENvbG9yID0gImdyZWVuIjsKKyAgICByZXN1bHQuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7
Cit9IGVsc2UgeworICAgIGVsdC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAicmVkIjsKKyAgICBy
ZXN1bHQuaW5uZXJIVE1MICs9ICIgPT4gRkFJTDogIiArIGVycm9yLmpvaW4oIiwgIik7Cit9Cis8
L3NjcmlwdD4gICAgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLmh0
bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvYm9yZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTU3NzJm
OWJhOTdjMGYwOGIwYzE1M2QwYjA4MTNhM2VmMDk0Nzc1ZAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NzczMvY2FsYy9ib3JkZXIuaHRtbApAQCAtMCwwICsxLDc3IEBACis8IURPQ1RZ
UEUgSFRNTD4KKzxzdHlsZT4KK3AgeworICAgIHdpZHRoOi13ZWJraXQtY2FsYygyMDBweCk7IGhl
aWdodDotd2Via2l0LWNhbGMoMTIwcHgpOworfQorLnNpbXBsZS1hbGwgeworICAgIGJvcmRlcjog
LXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KSBzb2xpZDsKK30KKworLnNpbXBsZS1sZWZ0IHsKKyAg
ICBib3JkZXItbGVmdDogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KSBzb2xpZDsKK30KKy5zaW1w
bGUtcmlnaHQgeworICAgIGJvcmRlci1yaWdodDogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KSBz
b2xpZDsKK30KKy5zaW1wbGUtdG9wIHsKKyAgICBib3JkZXItdG9wOiAtd2Via2l0LWNhbGMoMTNw
eCArIDEycHgpIHNvbGlkOworfQorLnNpbXBsZS1ib3R0b20geworICAgIGJvcmRlci1ib3R0b206
IC13ZWJraXQtY2FsYygxM3B4ICsgMTJweCkgc29saWQ7Cit9Cis8L3N0eWxlPgorCis8cCBjbGFz
cz0ic2ltcGxlLWFsbCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGFuIG92ZXJhbGwgYm9yZGVy
IG9mIDI1IHBpeGVscy48L3A+Cis8cCBjbGFzcz0ic2ltcGxlLWxlZnQiPlRoaXMgZWxlbWVudCBz
aG91bGQgaGF2ZSBhIGxlZnQgYm9yZGVyIG9mIDI1IHBpeGVscy48L3A+Cis8cCBjbGFzcz0ic2lt
cGxlLXJpZ2h0Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSByaWdodCBib3JkZXIgb2YgMjUg
cGl4ZWxzLjwvcD4KKzxwIGNsYXNzPSJzaW1wbGUtdG9wIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhh
dmUgYSB0b3AgYm9yZGVyIG9mIDI1IHBpeGVscy48L3A+Cis8cCBjbGFzcz0ic2ltcGxlLWJvdHRv
bSI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIGJvcmRlciBvZiAyNSBwaXhlbHMu
PC9wPgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3ZhciBpbm5lcldpZHRoID0gMjAw
OwordmFyIGlubmVySGVpZ2h0ID0gMTIwOwordmFyIGJvcmRlciA9IDI1OworCit2YXIgdGVzdHMg
PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgicCIpOworZm9yICh2YXIgaSA9IDA7IGkg
PCB0ZXN0cy5sZW5ndGg7ICsraSkgeworICAgIHZhciBlbHQgPSB0ZXN0c1tpXTsKKyAgICB2YXIg
d2lkdGggPSBlbHQub2Zmc2V0V2lkdGg7CisgICAgdmFyIGhlaWdodCA9IGVsdC5vZmZzZXRIZWln
aHQ7CisKKyAgICB2YXIgZXhwZWN0ZWRXaWR0aCA9IGlubmVyV2lkdGg7CisgICAgdmFyIGV4cGVj
dGVkSGVpZ2h0ID0gaW5uZXJIZWlnaHQ7CisKKyAgICBzd2l0Y2ggKGVsdC5jbGFzc05hbWUuc3Bs
aXQoIi0iKVsxXSkgeworICAgIGNhc2UgImFsbCI6CisgICAgICAgIGV4cGVjdGVkV2lkdGggKz0g
MiAqIGJvcmRlcjsKKyAgICAgICAgZXhwZWN0ZWRIZWlnaHQgKz0gMiAqIGJvcmRlcjsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSAidG9wIjoKKyAgICBjYXNlICJib3R0b20iOgorICAgICAgICBl
eHBlY3RlZEhlaWdodCArPSBib3JkZXI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgImxlZnQi
OgorICAgIGNhc2UgInJpZ2h0IjoKKyAgICAgICAgZXhwZWN0ZWRXaWR0aCArPSBib3JkZXI7Cisg
ICAgICAgIGJyZWFrOworICAgIH0KKworICAgIHZhciBlcnJvciA9IFtdOworICAgIGlmICh3aWR0
aCAhPSBleHBlY3RlZFdpZHRoKQorICAgICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCB0b3RhbCB3
aWR0aCBvZiAiICsgZXhwZWN0ZWRXaWR0aCArICIsIGJ1dCB3YXMgIiArIHdpZHRoKTsKKyAgICBp
ZiAoaGVpZ2h0ICE9IGV4cGVjdGVkSGVpZ2h0KQorICAgICAgICBlcnJvci5wdXNoKCJleHBlY3Rl
ZCB0b3RhbCBoZWlnaHQgb2YgIiArIGV4cGVjdGVkSGVpZ2h0ICsgIiwgYnV0IHdhcyAiICsgaGVp
Z2h0KTsKKworICAgIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIp
OworICAgIGlmIChlcnJvciA9PSAiIikgeworICAgICAgICBlbHQuc3R5bGUuYmFja2dyb3VuZENv
bG9yID0gImdyZWVuIjsKKyAgICAgICAgZWx0LmlubmVySFRNTCArPSAiID0+IFBBU1MiOworICAg
IH0gZWxzZSB7CisgICAgICAgIGVsdC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAicmVkIjsKKyAg
ICAgICAgZWx0LmlubmVySFRNTCArPSAiID0+IEZBSUw6ICIgKyBlcnJvci5qb2luKCIsICIpOwor
ICAgIH0KK30KKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2Nv
bG9yLWhzbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY29sb3ItaHNsLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNDc5YmJjYzE1OTI3MWM3M2IyY2Q0ZjQ5OTMxZjczOGI1
MmNhOWFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLWhz
bC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGVzZSB0d28gc2VudGVuY2VzIHNob3Vs
ZCBiZSB0aGUgc2FtZSBjb2xvcgorVGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNh
bWUgY29sb3IKK1RoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yCitU
aGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcgorUEFTUwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLWhzbC5odG1sIGIvTGF5b3V0VGVzdHMv
Y3NzMy9jYWxjL2NvbG9yLWhzbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY4M2JmZjBlMWFlN2YwMjM1MWIw
MmNlOGQwNmFhMGQ0NGIzYzllNDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3Mz
L2NhbGMvY29sb3ItaHNsLmh0bWwKQEAgLTAsMCArMSw0MSBAQAorPHN0eWxlIHR5cGU9InRleHQv
Y3NzIj4KK2RpdiB7Y29sb3I6IHJlZDt9CisjY29udHJvbHNpbXBsZSB7Y29sb3I6IGhzbCgxMjAs
NzUlLDUwJSk7fQorI3NpbXBsZSB7Y29sb3I6IGhzbCgtd2Via2l0LWNhbGMoMTIwKSwtd2Via2l0
LWNhbGMoNzUlKSwtd2Via2l0LWNhbGMoNTAlKSk7fQorCisjY29udHJvbGFscGhhIHtjb2xvcjog
aHNsYSgxMjAsNzUlLDUwJSwwLjcpO30KKyNhbHBoYSB7Y29sb3I6IGhzbGEoLXdlYmtpdC1jYWxj
KDEyMCksLXdlYmtpdC1jYWxjKDc1JSksLXdlYmtpdC1jYWxjKDUwJSksIC13ZWJraXQtY2FsYygw
LjcpKTt9Cis8L3N0eWxlPgorCis8ZGl2IGlkPSJjb250cm9sc2ltcGxlIj5UaGVzZSB0d28gc2Vu
dGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcjwvZGl2PgorPGRpdiBpZD0ic2ltcGxlIj5U
aGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcjwvZGl2PgorPGhyLz4K
KzxkaXYgaWQ9ImNvbnRyb2xhbHBoYSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhl
IHNhbWUgY29sb3I8L2Rpdj4KKzxkaXYgaWQ9ImFscGhhIj5UaGVzZSB0d28gc2VudGVuY2VzIHNo
b3VsZCBiZSB0aGUgc2FtZSBjb2xvcjwvZGl2PgorPGhyLz4KKzxkaXYgaWQ9InJlc3VsdHMiPjwv
ZGl2PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3Rlc3RzID0gWyJzaW1wbGUiLCAi
YWxwaGEiXTsKKwordmFyIHN1Y2Nlc3MgPSB0cnVlOworCitmb3IgKGkgPSAwOyBpIDwgdGVzdHMu
bGVuZ3RoOyBpKyspIHsKKyAgICB2YXIgdGVzdCA9IHRlc3RzW2ldOworICAgIHZhciBleHBlY3Rl
ZCA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRyb2wiICsg
dGVzdCksIG51bGwpLmNvbG9yOworICAgIHZhciBhY3R1YWwgPSBnZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKHRlc3QpLCBudWxsKS5jb2xvcjsKKyAgICBzdWNjZXNzID0g
c3VjY2VzcyAmJiAoYWN0dWFsID09IGV4cGVjdGVkKTsKK30KKwordmFyIHJlc3VsdHMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpOworaWYgKHN1Y2Nlc3MpIHsKKyAgICByZXN1
bHRzLnN0eWxlLmNvbG9yID0gImdyZWVuIjsKKyAgICByZXN1bHRzLmlubmVySFRNTCA9ICJQQVNT
IjsKK30gZWxzZSB7CisgICAgcmVzdWx0cy5zdHlsZS5jb2xvciA9ICJyZWQiOworICAgIHJlc3Vs
dHMuaW5uZXJIVE1MID0gIkZBSUwiOworfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvY29sb3ItcmdiLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMv
Y2FsYy9jb2xvci1yZ2ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlY2MwMGQwMmE3MjBiNzAw
MWRhOWEzZWM4Mzc5N2I4NjJhMzI2NDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvY29sb3ItcmdiLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK1RoZXNlIHR3
byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yCitUaGVzZSB0d28gc2VudGVuY2Vz
IHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcgorVGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91bGQgYmUg
dGhlIHNhbWUgY29sb3IKK1RoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNv
bG9yCitUaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBiZSB0aGUgc2FtZSBjb2xvcgorVGhlc2Ug
dHdvIHNlbnRlbmNlcyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3IKK1RoZXNlIHR3byBzZW50ZW5j
ZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yCitUaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCBi
ZSB0aGUgc2FtZSBjb2xvcgorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L2NvbG9yLXJnYi5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2NvbG9yLXJnYi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjg4MDI5YTg3MGFhMTI2M2ZlZDE1MzY5Nzk4YTJkMGE2YjZjNjQzZjAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvY29sb3ItcmdiLmh0bWwKQEAgLTAs
MCArMSw1MyBAQAorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2RpdiB7Y29sb3I6IHJlZDt9Cisj
Y29udHJvbHNpbXBsZSB7Y29sb3I6IHJnYigxMCwxODAsMzApO30KKyNzaW1wbGUge2NvbG9yOiBy
Z2IoLXdlYmtpdC1jYWxjKDEwKSwtd2Via2l0LWNhbGMoMTggKiAxMCksLXdlYmtpdC1jYWxjKDMw
KSk7fQorI2NvbnRyb2xwZXJjZW50c2ltcGxlIHtjb2xvcjogcmdiKDEwJSw5NSUsMzAlKTt9Cisj
cGVyY2VudHNpbXBsZSB7Y29sb3I6IHJnYigtd2Via2l0LWNhbGMoMiUgKyA4JSksLXdlYmtpdC1j
YWxjKDk1JSksLXdlYmtpdC1jYWxjKDMlICogMTApKTt9CisKKyNjb250cm9sYWxwaGEge2NvbG9y
OiByZ2JhKDEwLDE4MCwzMCwwLjcpO30KKyNhbHBoYSB7Y29sb3I6IHJnYmEoLXdlYmtpdC1jYWxj
KDEwKSwtd2Via2l0LWNhbGMoMTgwKSwtd2Via2l0LWNhbGMoMzApLCAtd2Via2l0LWNhbGMoMC4z
NSAqIDIpKTt9CisjY29udHJvbHBlcmNlbnRhbHBoYSB7Y29sb3I6IHJnYmEoMTAlLDk1JSwzMCUs
MC43KTt9CisjcGVyY2VudGFscGhhIHtjb2xvcjogcmdiYSgtd2Via2l0LWNhbGMoMiAqIDUlKSwt
d2Via2l0LWNhbGMoMTAwJSAtIDUlKSwtd2Via2l0LWNhbGMoMzAlKSwtd2Via2l0LWNhbGMoMC4y
ICogMyArIDAuMSkpO30KKzwvc3R5bGU+CisKKzxkaXYgaWQ9ImNvbnRyb2xzaW1wbGUiPlRoZXNl
IHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yPC9kaXY+Cis8ZGl2IGlkPSJz
aW1wbGUiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yPC9kaXY+
Cis8aHIvPgorPGRpdiBpZD0iY29udHJvbHBlcmNlbnRzaW1wbGUiPlRoZXNlIHR3byBzZW50ZW5j
ZXMgc2hvdWxkIGJlIHRoZSBzYW1lIGNvbG9yPC9kaXY+Cis8ZGl2IGlkPSJwZXJjZW50c2ltcGxl
Ij5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCAgYmUgdGhlIHNhbWUgY29sb3I8L2Rpdj4KKzxo
ci8+Cis8ZGl2IGlkPSJjb250cm9sYWxwaGEiPlRoZXNlIHR3byBzZW50ZW5jZXMgc2hvdWxkIGJl
IHRoZSBzYW1lIGNvbG9yPC9kaXY+Cis8ZGl2IGlkPSJhbHBoYSI+VGhlc2UgdHdvIHNlbnRlbmNl
cyBzaG91bGQgYmUgdGhlIHNhbWUgY29sb3I8L2Rpdj4KKzxoci8+Cis8ZGl2IGlkPSJjb250cm9s
cGVyY2VudGFscGhhIj5UaGVzZSB0d28gc2VudGVuY2VzIHNob3VsZCAgYmUgdGhlIHNhbWUgY29s
b3I8L2Rpdj4KKzxkaXYgaWQ9InBlcmNlbnRhbHBoYSI+VGhlc2UgdHdvIHNlbnRlbmNlcyBzaG91
bGQgIGJlIHRoZSBzYW1lIGNvbG9yPC9kaXY+Cis8aHIvPgorPGRpdiBpZD0icmVzdWx0cyI+PC9k
aXY+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKwordGVzdHMgPSBbInNpbXBsZSIsICJh
bHBoYSJdOworCit2YXIgc3VjY2VzcyA9IHRydWU7CisKK2ZvciAoaSA9IDA7IGkgPCB0ZXN0cy5s
ZW5ndGg7IGkrKykgeworICAgIHZhciB0ZXN0ID0gdGVzdHNbaV07CisgICAgdmFyIGV4cGVjdGVk
c2ltcGxlID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJv
bCIgKyB0ZXN0KSwgbnVsbCkuY29sb3I7CisgICAgdmFyIGFjdHVhbHNpbXBsZSA9IGdldENvbXB1
dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGVzdCksIG51bGwpLmNvbG9yOworICAg
IHZhciBleHBlY3RlZHBlcmNlbnQgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250cm9scGVyY2VudCIgKyB0ZXN0KSwgbnVsbCkuY29sb3I7CisgICAgdmFyIGFj
dHVhbHBlcmNlbnQgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJw
ZXJjZW50IiArIHRlc3QpLCBudWxsKS5jb2xvcjsgICAgCisgICAgc3VjY2VzcyA9IHN1Y2Nlc3Mg
JiYgKGFjdHVhbHNpbXBsZSA9PSBleHBlY3RlZHNpbXBsZSkgJiYgKGFjdHVhbHBlcmNlbnQgPT0g
ZXhwZWN0ZWRwZXJjZW50KTsKK30KKwordmFyIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicmVzdWx0cyIpOworaWYgKHN1Y2Nlc3MpIHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9y
ID0gImdyZWVuIjsKKyAgICByZXN1bHRzLmlubmVySFRNTCA9ICJQQVNTIjsKK30gZWxzZSB7Cisg
ICAgcmVzdWx0cy5zdHlsZS5jb2xvciA9ICJyZWQiOworICAgIHJlc3VsdHMuaW5uZXJIVE1MID0g
IkZBSUwiOworfQorPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMv
Y3NzMy1yYWRpYWwtZ3JhZGllbnRzLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvY3NzMy1yYWRpYWwtZ3JhZGllbnRzLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWJjOTJl
OGE2ZmViZTEwZWUzY2I3YmQ1ZDQ5MjAyOGNlZDViMDI1NQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NzczMvY2FsYy9jc3MzLXJhZGlhbC1ncmFkaWVudHMtZXhwZWN0ZWQuaHRtbApA
QCAtMCwwICsxLDcxIEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8aGVhZD4KKyAgPHN0
eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KKyAgICAuYm94IHsKKyAgICAgIGRp
c3BsYXk6IGlubGluZS1ibG9jazsKKyAgICAgIGhlaWdodDogMTIwcHg7CisgICAgICB3aWR0aDog
MjAwcHg7CisgICAgICBtYXJnaW46IDEwcHg7CisgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFj
azsKKyAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CisgICAgfQorCisgICAgLmdy
YWRpZW50MSB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVu
dCg1MHB4IDUwJSwgY2lyY2xlIGNsb3Nlc3Qtc2lkZSwgd2hpdGUsIGJsYWNrKTsKKyAgICAgIGJh
Y2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KDUwcHggNTAlLCBjaXJjbGUgY2xv
c2VzdC1zaWRlLCB3aGl0ZSwgYmxhY2spOworICAgIH0KKyAgICAKKyAgICAuZ3JhZGllbnQyIHsK
KyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KDIwcHggNTBw
eCwgZWxsaXBzZSBjbG9zZXN0LWNvcm5lciwgd2hpdGUsIGJsYWNrKTsKKyAgICAgIGJhY2tncm91
bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KDIwcHggNTBweCwgZWxsaXBzZSBjbG9zZXN0
LWNvcm5lciwgd2hpdGUsIGJsYWNrKTsKKyAgICB9CisKKyAgICAuZ3JhZGllbnQzIHsKKyAgICAg
IGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KDIwJSAyMCUsIGNpcmNs
ZSBjbG9zZXN0LWNvcm5lciwgd2hpdGUsIGJsYWNrKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6
IC1tb3otcmFkaWFsLWdyYWRpZW50KDIwJSAyMCUsIGNpcmNsZSBjbG9zZXN0LWNvcm5lciwgd2hp
dGUsIGJsYWNrKTsKKyAgICB9CisKKyAgICAuZ3JhZGllbnQ0IHsKKyAgICAgIGJhY2tncm91bmQt
aW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGxlZnQsIGNpcmNsZSBjb3ZlciwgcmVkLCBn
cmVlbiAzMCUsIGJsdWUpOworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3Jh
ZGllbnQobGVmdCwgY2lyY2xlIGNvdmVyLCByZWQsIGdyZWVuIDMwJSwgYmx1ZSk7CisgICAgfQor
CisgICAgLmdyYWRpZW50NSB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlh
bC1ncmFkaWVudChlbGxpcHNlIGNvdmVyLCByZWQsIGdyZWVuIDgwcHgsIGJsdWUpOworICAgICAg
YmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBjb3ZlciwgcmVk
LCBncmVlbiA4MHB4LCBibHVlKTsKKyAgICB9CisKKyAgICAuZ3JhZGllbnQ2IHsKKyAgICAgIGJh
Y2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBjb3ZlciwgcmVk
IDIwJSwgZ3JlZW4sIGJsdWUgMTUwJSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJh
ZGlhbC1ncmFkaWVudChjaXJjbGUgY292ZXIsIHJlZCAyMCUsIGdyZWVuLCBibHVlIDE1MCUpOwor
ICAgIH0KKworICAgIC5ncmFkaWVudDcgeworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtp
dC1yYWRpYWwtZ3JhZGllbnQoMjAlIDIwJSwgY2lyY2xlIGNsb3Nlc3QtY29ybmVyLCByZWQgLTUw
JSwgZ3JlZW4sIGJsdWUgMTUwJSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlh
bC1ncmFkaWVudCgyMCUgMjAlLCBjaXJjbGUgY2xvc2VzdC1jb3JuZXIsIHJlZCAtNTAlLCBncmVl
biwgYmx1ZSAxNTAlKTsKKyAgICB9CisKKyAgPC9zdHlsZT4KKyAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgICB2YXIgZHVtcFBpeGVscyA9IHRydWU7CisgICAgICBsYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KGR1bXBQaXhlbHMpOworICAgIH0KKyAgPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKworICA8ZGl2IGNsYXNzPSJncmFkaWVudDEgYm94Ij48L2Rpdj4K
KyAgPGRpdiBjbGFzcz0iZ3JhZGllbnQyIGJveCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImdyYWRp
ZW50MyBib3giPjwvZGl2PgorICA8YnI+CisgIDxkaXYgY2xhc3M9ImdyYWRpZW50NCBib3giPjwv
ZGl2PgorICA8ZGl2IGNsYXNzPSJncmFkaWVudDUgYm94Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz0i
Z3JhZGllbnQ2IGJveCI+PC9kaXY+CisgIDxicj4KKyAgPGRpdiBjbGFzcz0iZ3JhZGllbnQ3IGJv
eCI+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9jc3MzLXJhZGlhbC1ncmFkaWVudHMuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2Fs
Yy9jc3MzLXJhZGlhbC1ncmFkaWVudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NzFlYjdjYzdkMmJlMjA3
ZTRjYzY0Y2RjOGRkYWM3YjdhZjRmYTBjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y3NzMy9jYWxjL2NzczMtcmFkaWFsLWdyYWRpZW50cy5odG1sCkBAIC0wLDAgKzEsNzEgQEAKKzwh
RE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxoZWFkPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3Mi
IG1lZGlhPSJzY3JlZW4iPgorICAgIC5ib3ggeworICAgICAgZGlzcGxheTogaW5saW5lLWJsb2Nr
OworICAgICAgaGVpZ2h0OiAxMjBweDsKKyAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgIG1hcmdp
bjogMTBweDsKKyAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworICAgICAgYmFja2dyb3Vu
ZC1yZXBlYXQ6IG5vLXJlcGVhdDsKKyAgICB9CisKKyAgICAuZ3JhZGllbnQxIHsKKyAgICAgIGJh
Y2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KC13ZWJraXQtY2FsYyg1MHB4
KSAtd2Via2l0LWNhbGMoNTAlKSwgY2lyY2xlIGNsb3Nlc3Qtc2lkZSwgd2hpdGUsIGJsYWNrKTsK
KyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KC13ZWJraXQtY2Fs
Yyg1MHB4KSAtd2Via2l0LWNhbGMoNTAlKSwgY2lyY2xlIGNsb3Nlc3Qtc2lkZSwgd2hpdGUsIGJs
YWNrKTsKKyAgICB9CisgICAgCisgICAgLmdyYWRpZW50MiB7CisgICAgICBiYWNrZ3JvdW5kLWlt
YWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCgtd2Via2l0LWNhbGMoMjBweCkgLXdlYmtpdC1j
YWxjKDUwcHgpLCBlbGxpcHNlIGNsb3Nlc3QtY29ybmVyLCB3aGl0ZSwgYmxhY2spOworICAgICAg
YmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoLXdlYmtpdC1jYWxjKDIwcHgp
IC13ZWJraXQtY2FsYyg1MHB4KSwgZWxsaXBzZSBjbG9zZXN0LWNvcm5lciwgd2hpdGUsIGJsYWNr
KTsKKyAgICB9CisKKyAgICAuZ3JhZGllbnQzIHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13
ZWJraXQtcmFkaWFsLWdyYWRpZW50KC13ZWJraXQtY2FsYygyMCUpIC13ZWJraXQtY2FsYygyMCUp
LCBjaXJjbGUgY2xvc2VzdC1jb3JuZXIsIHdoaXRlLCBibGFjayk7CisgICAgICBiYWNrZ3JvdW5k
LWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudCgtd2Via2l0LWNhbGMoMjAlKSAtd2Via2l0LWNh
bGMoMjAlKSwgY2lyY2xlIGNsb3Nlc3QtY29ybmVyLCB3aGl0ZSwgYmxhY2spOworICAgIH0KKwor
ICAgIC5ncmFkaWVudDQgeworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwt
Z3JhZGllbnQobGVmdCwgY2lyY2xlIGNvdmVyLCByZWQsIGdyZWVuIC13ZWJraXQtY2FsYygzMCUp
LCBibHVlKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KGxl
ZnQsIGNpcmNsZSBjb3ZlciwgcmVkLCBncmVlbiAtd2Via2l0LWNhbGMoMzAlKSwgYmx1ZSk7Cisg
ICAgfQorCisgICAgLmdyYWRpZW50NSB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0
LXJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGNvdmVyLCByZWQsIGdyZWVuIC13ZWJraXQtY2FsYyg4
MHB4KSwgYmx1ZSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVu
dChlbGxpcHNlIGNvdmVyLCByZWQsIGdyZWVuIC13ZWJraXQtY2FsYyg4MHB4KSwgYmx1ZSk7Cisg
ICAgfQorCisgICAgLmdyYWRpZW50NiB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0
LXJhZGlhbC1ncmFkaWVudChjaXJjbGUgY292ZXIsIHJlZCAtd2Via2l0LWNhbGMoMjAlKSwgZ3Jl
ZW4sIGJsdWUgLXdlYmtpdC1jYWxjKDE1MCUpKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1t
b3otcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBjb3ZlciwgcmVkIC13ZWJraXQtY2FsYygyMCUpLCBn
cmVlbiwgYmx1ZSAtd2Via2l0LWNhbGMoMTUwJSkpOworICAgIH0KKworICAgIC5ncmFkaWVudDcg
eworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoLXdlYmtp
dC1jYWxjKDIwJSkgLXdlYmtpdC1jYWxjKDIwJSksIGNpcmNsZSBjbG9zZXN0LWNvcm5lciwgcmVk
IC01MCUsIGdyZWVuLCBibHVlIC13ZWJraXQtY2FsYygxNTAlKSk7CisgICAgICBiYWNrZ3JvdW5k
LWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudCgtd2Via2l0LWNhbGMoMjAlKSAtd2Via2l0LWNh
bGMoMjAlKSwgY2lyY2xlIGNsb3Nlc3QtY29ybmVyLCByZWQgLTUwJSwgZ3JlZW4sIGJsdWUgLXdl
YmtpdC1jYWxjKDE1MCUpKTsKKyAgICB9CisKKyAgPC9zdHlsZT4KKyAgPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICBpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKSB7CisgICAgICB2YXIgZHVtcFBpeGVscyA9IHRydWU7CisgICAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KGR1bXBQaXhlbHMpOworICAgIH0KKyAgPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworICA8ZGl2IGNsYXNzPSJncmFkaWVudDEgYm94Ij48L2Rp
dj4KKyAgPGRpdiBjbGFzcz0iZ3JhZGllbnQyIGJveCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9Imdy
YWRpZW50MyBib3giPjwvZGl2PgorICA8YnI+CisgIDxkaXYgY2xhc3M9ImdyYWRpZW50NCBib3gi
PjwvZGl2PgorICA8ZGl2IGNsYXNzPSJncmFkaWVudDUgYm94Ij48L2Rpdj4KKyAgPGRpdiBjbGFz
cz0iZ3JhZGllbnQ2IGJveCI+PC9kaXY+CisgIDxicj4KKyAgPGRpdiBjbGFzcz0iZ3JhZGllbnQ3
IGJveCI+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2NzczMvY2FsYy9mb250LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTBlNWY1YjBlNmE2NzE3N2MyMDllOWExMDFkMjMz
YjA2YTQ4OGJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ZvbnQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorVGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWln
aHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbAorVGhlIGZvbnQgc2l6ZSBhbmQg
bGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbAorVGhlIGZvbnQg
c2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbAor
VGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlk
ZW50aWNhbAorVGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hv
dWxkIGJlIGlkZW50aWNhbAorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L2ZvbnQtbW9ub3NwYWNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250
LW1vbm9zcGFjZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDQ3MWUzMDVkMjBjZjQ0MDg0ZDJh
ZDdhMWYzZDBhYTlhZjg5YTE2ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMv
Y2FsYy9mb250LW1vbm9zcGFjZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUaGUgZm9u
dCBzaXplIGFuZCBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2Fs
CitUaGUgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUg
aWRlbnRpY2FsCitQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1t
b25vc3BhY2UuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250LW1vbm9zcGFjZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmE4ZTRmNWNlMjEzNjcyMDYxODcwY2E4N2FlNGZlYjAzOGZmNDQ0NWEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1tb25vc3BhY2UuaHRt
bApAQCAtMCwwICsxLDQ1IEBACis8c3R5bGU+IAorYm9keSAgICAge2ZvbnQtc2l6ZTogMTJweDt9
CisjY29udHJvbCB7Zm9udDogaXRhbGljIHNtYWxsLWNhcHMgOTAwIDE1MCUvMmVtIG1vbm9zcGFj
ZTt9CisjY2FsYyAgICB7Zm9udDogaXRhbGljIHNtYWxsLWNhcHMgOTAwIC13ZWJraXQtY2FsYygx
NTAlKS8yZW0gbW9ub3NwYWNlO30KKzwvc3R5bGU+CisKKzxkaXY+Cis8c3BhbiBpZD0iY29udHJv
bCI+VGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJl
IGlkZW50aWNhbDwvc3Bhbj4KKzxoci8+Cis8c3BhbiBpZD0iY2FsYyI+VGhlIGZvbnQgc2l6ZSBh
bmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwvc3Bhbj4K
KzwvZGl2PgorPGhyLz4KKzxkaXYgaWQ9InJlc3VsdHMiPjwvZGl2PgorCis8c2NyaXB0PgoraWYg
KHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCk7Cit2YXIgY29udHJvbEhlaWdodCA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRyb2wiKSwgbnVsbCkubGluZUhlaWdodDsKK3ZhciBjb250
cm9sU2l6ZSA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRy
b2wiKSwgbnVsbCkuZm9udFNpemU7CisKK3ZhciBzcGFucyA9IGRvY3VtZW50LmdldEVsZW1lbnRz
QnlUYWdOYW1lKCJzcGFuIik7Cit2YXIgc2FtZUhlaWdodCA9IHRydWU7Cit2YXIgc2FtZVNpemUg
PSB0cnVlOworZm9yICh2YXIgaSA9IDA7IGkgPCBzcGFucy5sZW5ndGg7ICsraSkgeworICAgIHZh
ciBjdXJyZW50ID0gc3BhbnNbaV07CisgICAgaWYgKHNhbWVIZWlnaHQpCisgICAgICAgIHNhbWVI
ZWlnaHQgPSBnZXRDb21wdXRlZFN0eWxlKGN1cnJlbnQsIG51bGwpLmxpbmVIZWlnaHQgPT0gY29u
dHJvbEhlaWdodDsKKyAgICBpZiAoc2FtZVNpemUpCisgICAgICAgIHNhbWVTaXplID0gZ2V0Q29t
cHV0ZWRTdHlsZShjdXJyZW50LCBudWxsKS5mb250U2l6ZSA9PSBjb250cm9sU2l6ZTsKK30KKwor
dmFyIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpOworaWYgKHNh
bWVIZWlnaHQgJiYgc2FtZVNpemUpIHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0gImdyZWVu
IjsKKyAgICByZXN1bHRzLmlubmVySFRNTCA9ICJQQVNTIjsKK30gZWxzZSB7CisgICAgcmVzdWx0
cy5zdHlsZS5jb2xvciA9ICJyZWQiOworICAgIHJlc3VsdHMuaW5uZXJIVE1MID0gIkZBSUwiOyAg
ICAKKyAgICBpZiAoIXNhbWVIZWlnaHQpCisgICAgICAgIHJlc3VsdHMuaW5uZXJIVE1MICs9ICI8
cD5MaW5lIGhlaWdodHMgZG8gbm90IG1hdGNoPC9wPiI7CisgICAgaWYgKCFzYW1lU2l6ZSkKKyAg
ICAgICAgcmVzdWx0cy5pbm5lckhUTUwgKz0gIjxwPkZvbnQgc2l6ZXMgZG8gbm90IG1hdGNoPC9w
PiI7Cit9CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2Zv
bnQtc2l6ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1zaXplLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZWVjNDFkN2Q4MTJlMWY1YmRjODk2MDUyZjk5ZGIyMzFi
Njc1M2Q2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ZvbnQtc2l6
ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACitUaGUgZm9udCBzaXplIG9mIHRoZXNlIGxp
bmVzIHNob3VsZCBiZSBpZGVudGljYWwgCitUaGUgZm9udCBzaXplIG9mIHRoZXNlIGxpbmVzIHNo
b3VsZCBiZSBpZGVudGljYWwgCitUaGUgZm9udCBzaXplIG9mIHRoZXNlIGxpbmVzIHNob3VsZCBi
ZSBpZGVudGljYWwKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9mb250
LXNpemUtZnJhY3Rpb25hbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9u
dC1zaXplLWZyYWN0aW9uYWwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0NzFlMzA1ZDIwY2Y0
NDA4NGQyYWQ3YTFmM2QwYWE5YWY4OWExNmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jc3MzL2NhbGMvZm9udC1zaXplLWZyYWN0aW9uYWwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MyBAQAorVGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxk
IGJlIGlkZW50aWNhbAorVGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGlu
ZXMgc2hvdWxkIGJlIGlkZW50aWNhbAorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL2ZvbnQtc2l6ZS1mcmFjdGlvbmFsLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMv
Zm9udC1zaXplLWZyYWN0aW9uYWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YjlmNjkzMWU4NmQ0ZWZhYmVh
MjVhZWJhNTc1ZWVlNmNkNzQzMThkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL2ZvbnQtc2l6ZS1mcmFjdGlvbmFsLmh0bWwKQEAgLTAsMCArMSw0NSBAQAorPHN0eWxl
PiAKK2JvZHkgICAgICAgICB7IGZvbnQtc2l6ZTogMTJweDt9CisjY29udHJvbCAgICAge2ZvbnQ6
IG5vcm1hbCA0MDAgODAlLzIuNSBzYW5zLXNlcmlmO30KKyNjYWxjLXJlZHVjZSB7Zm9udDogbm9y
bWFsIDQwMCAtd2Via2l0LWNhbGMoODAlKS8yLjUgc2Fucy1zZXJpZjt9Cis8L3N0eWxlPgorCis8
ZGl2PgorPHNwYW4gaWQ9ImNvbnRyb2wiPlRoZSBmb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0IG9m
IHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWw8L3NwYW4+Cis8aHIvPgorPHNwYW4gaWQ9
ImNhbGMtcmVkdWNlIj5UaGUgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5l
cyBzaG91bGQgYmUgaWRlbnRpY2FsPC9zcGFuPgorPC9kaXY+Cis8aHIvPgorPGRpdiBpZD0icmVz
dWx0cyI+PC9kaXY+CisKKzxzY3JpcHQ+CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKK3ZhciBjb250cm9sSGVp
Z2h0ID0gZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbCIp
LCBudWxsKS5saW5lSGVpZ2h0OwordmFyIGNvbnRyb2xTaXplID0gZ2V0Q29tcHV0ZWRTdHlsZShk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbCIpLCBudWxsKS5mb250U2l6ZTsKKwordmFy
IHNwYW5zID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKTsKK3ZhciBzYW1l
SGVpZ2h0ID0gdHJ1ZTsKK3ZhciBzYW1lU2l6ZSA9IHRydWU7Citmb3IgKHZhciBpID0gMDsgaSA8
IHNwYW5zLmxlbmd0aDsgKytpKSB7CisgICAgdmFyIGN1cnJlbnQgPSBzcGFuc1tpXTsKKyAgICBp
ZiAoc2FtZUhlaWdodCkKKyAgICAgICAgc2FtZUhlaWdodCA9IGdldENvbXB1dGVkU3R5bGUoY3Vy
cmVudCwgbnVsbCkubGluZUhlaWdodCA9PSBjb250cm9sSGVpZ2h0OworICAgIGlmIChzYW1lU2l6
ZSkKKyAgICAgICAgc2FtZVNpemUgPSBnZXRDb21wdXRlZFN0eWxlKGN1cnJlbnQsIG51bGwpLmZv
bnRTaXplID09IGNvbnRyb2xTaXplOworfQorCit2YXIgcmVzdWx0cyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJyZXN1bHRzIik7CitpZiAoc2FtZUhlaWdodCAmJiBzYW1lU2l6ZSkgeworICAg
IHJlc3VsdHMuc3R5bGUuY29sb3IgPSAiZ3JlZW4iOworICAgIHJlc3VsdHMuaW5uZXJIVE1MID0g
IlBBU1MiOworfSBlbHNlIHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0gInJlZCI7CisgICAg
cmVzdWx0cy5pbm5lckhUTUwgPSAiRkFJTCI7ICAgIAorICAgIGlmICghc2FtZUhlaWdodCkKKyAg
ICAgICAgcmVzdWx0cy5pbm5lckhUTUwgKz0gIjxwPkxpbmUgaGVpZ2h0cyBkbyBub3QgbWF0Y2g8
L3A+IjsKKyAgICBpZiAoIXNhbWVTaXplKQorICAgICAgICByZXN1bHRzLmlubmVySFRNTCArPSAi
PHA+Rm9udCBzaXplcyBkbyBub3QgbWF0Y2g8L3A+IjsKK30KKworPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC1zaXplLmh0bWwgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvZm9udC1zaXplLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTI4ZmZmNGE4ZGVmNzExOTMzOWQ5
NjRjOTVhNTA3YmRjZmQxMGYxYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMv
Y2FsYy9mb250LXNpemUuaHRtbApAQCAtMCwwICsxLDQwIEBACis8c3R5bGU+IAorI2NvbnRyb2wg
e2ZvbnQtc2l6ZTogMjAwJTt9CisjY2FsYy1wZXJjZW50IHtmb250LXNpemU6IC13ZWJraXQtY2Fs
YygyMDAlKTt9CisjY2FsYy1wZXJjZW50LXBpeGVscyB7Zm9udC1zaXplOiAtd2Via2l0LWNhbGMo
MTUwJSArIDEwcHgpO30KKzwvc3R5bGU+CisKKzxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMjBweDsi
PgorPHNwYW4gaWQ9ImNvbnRyb2wiPlRoZSBmb250IHNpemUgb2YgdGhlc2UgbGluZXMgc2hvdWxk
IGJlIGlkZW50aWNhbDwvc3Bhbj4KKzxici8+Cis8c3BhbiBpZD0iY2FsYy1wZXJjZW50Ij5UaGUg
Zm9udCBzaXplIG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBpZGVudGljYWw8L3NwYW4+Cis8YnIv
PgorPHNwYW4gaWQ9ImNhbGMtcGVyY2VudC1waXhlbHMiPlRoZSBmb250IHNpemUgb2YgdGhlc2Ug
bGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwvc3Bhbj4KKzxoci8+Cis8L2Rpdj4KKzxkaXYgaWQ9
InJlc3VsdHMiPjwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cit2YXIgY29udHJv
bFNpemUgPSAgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJv
bCIpLCBudWxsKS5mb250U2l6ZQorCit2YXIgc3BhbnMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5
VGFnTmFtZSgic3BhbiIpOwordmFyIHNhbWVTaXplID0gdHJ1ZTsKK2ZvciAodmFyIGkgPSAwOyBp
IDwgc3BhbnMubGVuZ3RoOyArK2kpIHsKKyAgICB2YXIgY3VycmVudCA9IHNwYW5zW2ldOworICAg
IGlmIChzYW1lU2l6ZSkKKyAgICAgICAgc2FtZVNpemUgPSBnZXRDb21wdXRlZFN0eWxlKGN1cnJl
bnQsIG51bGwpLmZvbnRTaXplID09IGNvbnRyb2xTaXplOworfQorCit2YXIgcmVzdWx0cyA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHRzIik7CitpZiAoc2FtZVNpemUpIHsKKyAgICBy
ZXN1bHRzLnN0eWxlLmNvbG9yID0gImdyZWVuIjsKKyAgICByZXN1bHRzLmlubmVySFRNTCA9ICJQ
QVNTIjsKK30gZWxzZSB7CisgICAgcmVzdWx0cy5zdHlsZS5jb2xvciA9ICJyZWQiOworICAgIHJl
c3VsdHMuaW5uZXJIVE1MID0gIkZBSUwiOyAgICAKKyAgICByZXN1bHRzLmlubmVySFRNTCArPSAi
PHA+Q29tcHV0ZWQgZm9udCBzaXplcyBkbyBub3QgbWF0Y2g8L3A+IjsKK30KKworPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZm9udC5odG1sIGIvTGF5b3V0VGVz
dHMvY3NzMy9jYWxjL2ZvbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZjA5MmYzNTBiMzJjYjdhNTcwNGI4
MWRhMGM2ZjllNzYzYmU1YjlhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9j
YWxjL2ZvbnQuaHRtbApAQCAtMCwwICsxLDUzIEBACis8c3R5bGU+IAorI2NvbnRyb2wgICAgICAg
ICAgICAge2ZvbnQ6IDEuNWVtLzYzcHggc2Fucy1zZXJpZjt9CisjY2FsYy1zaXplICAgICAgICAg
ICB7Zm9udDogLXdlYmtpdC1jYWxjKDEuNWVtKS82M3B4IHNhbnMtc2VyaWZ9CisjY2FsYy1oZWln
aHQgICAgICAgICB7Zm9udDogMS41ZW0vLXdlYmtpdC1jYWxjKDEyNnB4IC8gMikgc2Fucy1zZXJp
Zn0KKyNjYWxjLWJvdGggICAgICAgICAgIHtmb250OiAtd2Via2l0LWNhbGMoMS41ZW0pLy13ZWJr
aXQtY2FsYyg2M3B4KSBzYW5zLXNlcmlmfQorI2NhbGMtcGVyY2VudC1zaXplICAge2ZvbnQ6IC13
ZWJraXQtY2FsYygxMDAlICsgMC41ZW0pLzYzcHggc2Fucy1zZXJpZn0KKzwvc3R5bGU+CisKKzxk
aXY+Cis8c3BhbiBpZD0iY29udHJvbCI+VGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2Yg
dGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwvc3Bhbj4KKzxoci8+Cis8c3BhbiBpZD0i
Y2FsYy1zaXplIj5UaGUgZm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5lcyBz
aG91bGQgYmUgaWRlbnRpY2FsPC9zcGFuPgorPGhyLz4KKzxzcGFuIGlkPSJjYWxjLWhlaWdodCI+
VGhlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlk
ZW50aWNhbDwvc3Bhbj4KKzxoci8+Cis8c3BhbiBpZD0iY2FsYy1ib3RoIj5UaGUgZm9udCBzaXpl
IGFuZCBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5lcyBzaG91bGQgYmUgaWRlbnRpY2FsPC9zcGFu
PgorPGhyLz4KKzxzcGFuIGlkPSJjYWxjLXBlcmNlbnQtc2l6ZSI+VGhlIGZvbnQgc2l6ZSBhbmQg
bGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwvc3Bhbj4KKzwv
ZGl2PgorPGhyLz4KKzxkaXYgaWQ9InJlc3VsdHMiPjwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7Cit2YXIgY29udHJvbEhlaWdodCA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImNvbnRyb2wiKSwgbnVsbCkubGluZUhlaWdodDsKK3ZhciBjb250cm9s
U2l6ZSA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRyb2wi
KSwgbnVsbCkuZm9udFNpemU7CisKK3ZhciBzcGFucyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlU
YWdOYW1lKCJzcGFuIik7Cit2YXIgc2FtZUhlaWdodCA9IHRydWU7Cit2YXIgc2FtZVNpemUgPSB0
cnVlOworZm9yICh2YXIgaSA9IDA7IGkgPCBzcGFucy5sZW5ndGg7ICsraSkgeworICAgIHZhciBj
dXJyZW50ID0gc3BhbnNbaV07CisgICAgaWYgKHNhbWVIZWlnaHQpCisgICAgICAgIHNhbWVIZWln
aHQgPSBnZXRDb21wdXRlZFN0eWxlKGN1cnJlbnQsIG51bGwpLmxpbmVIZWlnaHQgPT0gY29udHJv
bEhlaWdodDsKKyAgICBpZiAoc2FtZVNpemUpCisgICAgICAgIHNhbWVTaXplID0gZ2V0Q29tcHV0
ZWRTdHlsZShjdXJyZW50LCBudWxsKS5mb250U2l6ZSA9PSBjb250cm9sU2l6ZTsKK30KKwordmFy
IHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpOworaWYgKHNhbWVI
ZWlnaHQgJiYgc2FtZVNpemUpIHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0gImdyZWVuIjsK
KyAgICByZXN1bHRzLmlubmVySFRNTCA9ICJQQVNTIjsKK30gZWxzZSB7CisgICAgcmVzdWx0cy5z
dHlsZS5jb2xvciA9ICJyZWQiOworICAgIHJlc3VsdHMuaW5uZXJIVE1MID0gIkZBSUwiOyAgICAK
KyAgICBpZiAoIXNhbWVIZWlnaHQpCisgICAgICAgIHJlc3VsdHMuaW5uZXJIVE1MICs9ICI8cD5M
aW5lIGhlaWdodHMgZG8gbm90IG1hdGNoPC9wPiI7CisgICAgaWYgKCFzYW1lU2l6ZSkKKyAgICAg
ICAgcmVzdWx0cy5pbm5lckhUTUwgKz0gIjxwPkxpbmUgd2lkdGhzIGRvIG5vdCBtYXRjaDwvcD4i
OworfQorCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9nZXRD
b21wdXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50YWdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2NzczMvY2FsYy9nZXRDb21wdXRlZFN0eWxlLW1hcmdpbi1wZXJjZW50YWdlLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NmJjZjFjZDQzZDk5MjRhN2RlYTU1MjM0MGE4ZjI5Y2JmNGMyNjc4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2dldENvbXB1dGVkU3R5bGUt
bWFyZ2luLXBlcmNlbnRhZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorVGVzdCBjYWxs
aW5nIGdldFByb3BlcnR5VmFsdWUgb24gY29tcHV0ZWQgbWFyZ2luIHN0eWxlcy4KKworbWFyZ2lu
LWxlZnQ6IDMzJQorbWFyZ2luLXRvcDogMTAlCittYXJnaW4tcmlnaHQ6IDBweAorbWFyZ2luLWJv
dHRvbTogMHB4CitUZXN0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZ2V0Q29t
cHV0ZWRTdHlsZS1tYXJnaW4tcGVyY2VudGFnZS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYzZm
YTBhMjZkOTk0MDkzMDMzZTI5ZGZjNTY0MDQ1ODkyMDI2OGRiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY3NzMy9jYWxjL2dldENvbXB1dGVkU3R5bGUtbWFyZ2luLXBlcmNlbnRhZ2Uu
aHRtbApAQCAtMCwwICsxLDUxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cisg
ICAgPHN0eWxlPgorICAgICAgICAjZm9vIHsgCisgICAgICAgICAgICBiYWNrZ3JvdW5kOiBwdXJw
bGU7CisgICAgICAgICAgICBib3JkZXI6IC13ZWJraXQtY2FsYygxMHB4KSBkb3VibGUgIzAwMDAw
MDsgCisgICAgICAgICAgICB3aWR0aDogLXdlYmtpdC1jYWxjKDUwJSk7CisgICAgICAgICAgICBo
ZWlnaHQ6IGF1dG87CisgICAgICAgICAgICAKKyAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtd2Vi
a2l0LWNhbGMoMzMlKTsKKyAgICAgICAgICAgIG1hcmdpbi10b3A6IC13ZWJraXQtY2FsYygxMCUp
OworICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOworICAgICAgICAgICAgCisgICAgICAg
ICAgICBwYWRkaW5nLWxlZnQ6IGF1dG87CisgICAgICAgICAgICBsZWZ0OiBhdXRvOworICAgICAg
ICAgICAgY29sb3I6IHdoaXRlOworICAgICAgICAgICAgZm9udDogLXdlYmtpdC1jYWxjKDI0cHgp
ICdMdWNpZGEgR3JhbmRlJzsKKyAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAtd2Via2l0LWNhbGMo
MjRweCk7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorICAgIAorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGZ1bmN0aW9uIGxvZyhtc2cpIHsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdjb25zb2xlJykuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobXNnICsg
J1xuJykpOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBmdW5jdGlvbiB0ZXN0KHByb3Ap
IHsKKyAgICAgICAgICAgIHZhciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZm9vJyk7
CisgICAgICAgICAgICBsb2cocHJvcCArICc6ICcgKyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShk
aXYsIG51bGwpLmdldFByb3BlcnR5VmFsdWUocHJvcCkpOworICAgICAgICB9CisgICAgICAgIAor
ICAgICAgICBmdW5jdGlvbiBydW5UZXN0cygpIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
ZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgdGVzdCgnbWFyZ2lu
LWxlZnQnKTsKKyAgICAgICAgICAgIHRlc3QoJ21hcmdpbi10b3AnKTsKKyAgICAgICAgICAgIHRl
c3QoJ21hcmdpbi1yaWdodCcpOworICAgICAgICAgICAgdGVzdCgnbWFyZ2luLWJvdHRvbScpOwor
ICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVz
dHMoKTsiPgorICAgIDxwPlRlc3QgY2FsbGluZyBnZXRQcm9wZXJ0eVZhbHVlIG9uIGNvbXB1dGVk
IG1hcmdpbiBzdHlsZXMuPC9wPgorICAgIDxwcmUgaWQ9ImNvbnNvbGUiPjwvcHJlPgorICAgIAor
ICAgIDxkaXYgaWQ9ImZvbyI+VGVzdDwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2dyYWRpZW50LWNvbG9yLXN0b3BzLWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZ3JhZGllbnQtY29sb3Itc3RvcHMtZXhwZWN0ZWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45ZDAwNWI5MTVjMzk2YWQxOWQ3MTUxMzc2YTEwZDI5YTQ0ODFhMWZl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2dyYWRpZW50LWNvbG9y
LXN0b3BzLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw1OCBAQAorPCFET0NUWVBFIGh0bWw+CisK
KzxodG1sPgorPGhlYWQ+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+
CisgICAgLmJveCB7CisgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgICBoZWlnaHQ6
IDEyMHB4OworICAgICAgd2lkdGg6IDIwMHB4OworICAgICAgbWFyZ2luOiAxMHB4OworICAgICAg
Ym9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVw
ZWF0OworICAgIH0KKworICAgIC5saW5lYXIxIHsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13
ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJlZCAyNSUsIGdyZWVuIDUwJSwgYmx1ZSA3NSUp
OworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmVk
IDI1JSwgZ3JlZW4gNTAlLCBibHVlIDc1JSk7CisgICAgfQorCisgICAgLmxpbmVhcjIgeworICAg
ICAgLyogR3JlZW4gc2hvdWxkIGdldCBzaGlmdGVkIHRvIDUwJSAqLworICAgICAgYmFja2dyb3Vu
ZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmVkIDUwJSwgZ3JlZW4gMzAl
LCBibHVlIDkwJSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVu
dChsZWZ0LCByZWQgNTAlLCBncmVlbiAzMCUsIGJsdWUgOTAlKTsKKyAgICB9CisKKyAgICAubGlu
ZWFyMyB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChy
ZWQgLTUwJSwgZ3JlZW4sIGJsdWUsIGdyZWVuLCBibHVlIDE1MCUpOworICAgICAgYmFja2dyb3Vu
ZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQocmVkIC01MCUsIGdyZWVuLCBibHVlLCBncmVl
biwgYmx1ZSAxNTAlKTsKKyAgICB9CisKKyAgICAubGluZWFyNCB7CisgICAgICBiYWNrZ3JvdW5k
LWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZWQsIGdyZWVuIDEwMHB4LCBi
bHVlKTsKKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQs
IHJlZCwgZ3JlZW4gMTAwcHgsIGJsdWUpOworICAgIH0KKworICAgIC5saW5lYXI1IHsKKyAgICAg
IGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJlZCwgZ3Jl
ZW4gMTIwJSwgYmx1ZSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFk
aWVudChsZWZ0LCByZWQsIGdyZWVuIDEyMCUsIGJsdWUpOworICAgIH0KKyAgPC9zdHlsZT4KKyAg
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICB2YXIgZHVtcFBpeGVscyA9IHRy
dWU7CisgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KGR1bXBQaXhlbHMpOwor
ICAgIH0KKyAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworICA8ZGl2IGNsYXNzPSJsaW5l
YXIxIGJveCI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImxpbmVhcjIgYm94Ij48L2Rpdj4KKyAgPGRp
diBjbGFzcz0ibGluZWFyMyBib3giPjwvZGl2PgorICA8YnI+CisgIDxkaXYgY2xhc3M9ImxpbmVh
cjQgYm94Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz0ibGluZWFyNSBib3giPjwvZGl2PgorCis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZ3JhZGllbnQt
Y29sb3Itc3RvcHMuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9ncmFkaWVudC1jb2xvci1z
dG9wcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0ZjRlOWJiNDlkMDdlMmQ5YzZjMWNlYzA2N2M4NmFjMDVh
YzFhNzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvZ3JhZGllbnQt
Y29sb3Itc3RvcHMuaHRtbApAQCAtMCwwICsxLDU4IEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0
bWw+Cis8aGVhZD4KKyAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KKyAg
ICAuYm94IHsKKyAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICAgIGhlaWdodDogMTIw
cHg7CisgICAgICB3aWR0aDogMjAwcHg7CisgICAgICBtYXJnaW46IDEwcHg7CisgICAgICBib3Jk
ZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7
CisgICAgfQorCisgICAgLmxpbmVhcjEgeworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtp
dC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmVkIC13ZWJraXQtY2FsYygyNSUpLCBncmVlbiAtd2Vi
a2l0LWNhbGMoNTAlKSwgYmx1ZSAtd2Via2l0LWNhbGMoNzUlKSk7CisgICAgICBiYWNrZ3JvdW5k
LWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZWQgLXdlYmtpdC1jYWxjKDI1JSks
IGdyZWVuIC13ZWJraXQtY2FsYyg1MCUpLCBibHVlIC13ZWJraXQtY2FsYyg3NSUpKTsKKyAgICB9
CisKKyAgICAubGluZWFyMiB7CisgICAgICAvKiBHcmVlbiBzaG91bGQgZ2V0IHNoaWZ0ZWQgdG8g
LXdlYmtpdC1jYWxjKDUwJSkgKi8KKyAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGlu
ZWFyLWdyYWRpZW50KGxlZnQsIHJlZCAtd2Via2l0LWNhbGMoNTAlKSwgZ3JlZW4gLXdlYmtpdC1j
YWxjKDMwJSksIGJsdWUgLXdlYmtpdC1jYWxjKDkwJSkpOworICAgICAgYmFja2dyb3VuZC1pbWFn
ZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmVkIC13ZWJraXQtY2FsYyg1MCUpLCBncmVl
biAtd2Via2l0LWNhbGMoMzAlKSwgYmx1ZSAtd2Via2l0LWNhbGMoOTAlKSk7CisgICAgfQorCisg
ICAgLmxpbmVhcjMgeworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3Jh
ZGllbnQocmVkIC13ZWJraXQtY2FsYygtNTAlKSwgZ3JlZW4sIGJsdWUsIGdyZWVuLCBibHVlIC13
ZWJraXQtY2FsYygxNTAlKSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1n
cmFkaWVudChyZWQgLXdlYmtpdC1jYWxjKC01MCUpLCBncmVlbiwgYmx1ZSwgZ3JlZW4sIGJsdWUg
LXdlYmtpdC1jYWxjKDE1MCUpKTsKKyAgICB9CisKKyAgICAubGluZWFyNCB7CisgICAgICBiYWNr
Z3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZWQsIGdyZWVuIC13
ZWJraXQtY2FsYygxMDBweCksIGJsdWUpOworICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1s
aW5lYXItZ3JhZGllbnQobGVmdCwgcmVkLCBncmVlbiAtd2Via2l0LWNhbGMoMTAwcHgpLCBibHVl
KTsKKyAgICB9CisKKyAgICAubGluZWFyNSB7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Vi
a2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZWQsIGdyZWVuIC13ZWJraXQtY2FsYygxMjAlKSwg
Ymx1ZSk7CisgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0
LCByZWQsIGdyZWVuIC13ZWJraXQtY2FsYygxMjAlKSwgYmx1ZSk7CisgICAgfQorICA8L3N0eWxl
PgorICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPgorICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgIHZhciBkdW1wUGl4ZWxz
ID0gdHJ1ZTsKKyAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoZHVtcFBpeGVs
cyk7CisgICAgfQorICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCisgIDxkaXYgY2xhc3M9
ImxpbmVhcjEgYm94Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz0ibGluZWFyMiBib3giPjwvZGl2Pgor
ICA8ZGl2IGNsYXNzPSJsaW5lYXIzIGJveCI+PC9kaXY+CisgIDxicj4KKyAgPGRpdiBjbGFzcz0i
bGluZWFyNCBib3giPjwvZGl2PgorICA8ZGl2IGNsYXNzPSJsaW5lYXI1IGJveCI+PC9kaXY+CisK
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9pbWct
c2l6ZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2ltZy1zaXplLWV4cGVj
dGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMDhkYjEyNzA0MzBkOWI1ZDAwYjNkZTc4MTNhMTlkMjEwYjM2
NmY4OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9pbWctc2l6ZS1l
eHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzxzdHlsZT4KKy5jb250cm9sIHsgd2lkdGg6
IDUwJTsgfQorLnBpeGVscyB7IHdpZHRoOiAxMDBweDsgfQorLnBlcmNlbnQge3dpZHRoOiA1MCU7
IH0KKy5ib3RoIHt3aWR0aDogMTAwcHg7IH0KKzwvc3R5bGU+CisKKzxkaXYgc3R5bGU9IndpZHRo
OjIwMHB4OyI+CisgICAgPGltZyBjbGFzcz0iY29udHJvbCIgc3JjPSJkYXRhOmltYWdlL3BuZzti
YXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFJQUFBQUNDQVlBQUFCeXRnMGtBQUFBRkVs
RVFWUUlIV1A0ejhEd0h3eUJOSkROOEI4QVFORUcrdDVJazJrQUFBQUFTVVZPUks1Q1lJST0iPgor
ICAgIDxoci8+CisgICAgPGltZyBjbGFzcz0icGl4ZWxzIiBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jh
c2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFGRWxF
UVZRSUhXUDR6OER3SHd5Qk5KRE44QjhBUU5FRyt0NUlrMmtBQUFBQVNVVk9SSzVDWUlJPSI+Cisg
ICAgPGhyLz4KKyAgICA8aW1nIGNsYXNzPSJwZXJjZW50IiBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jh
c2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFGRWxF
UVZRSUhXUDR6OER3SHd5Qk5KRE44QjhBUU5FRyt0NUlrMmtBQUFBQVNVVk9SSzVDWUlJPSI+Cisg
ICAgPGhyLz4KKyAgICA8aW1nIGNsYXNzPSJib3RoIiBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2
NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFGRWxFUVZR
SUhXUDR6OER3SHd5Qk5KRE44QjhBUU5FRyt0NUlrMmtBQUFBQVNVVk9SSzVDWUlJPSI+Cis8L2Rp
dj4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvaW1nLXNpemUuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9pbWctc2l6ZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmEyYzZiOWEzOGUxYWRmODBlMjhkOGIyOGZiOTFkZmY0ZmQ2NzM5OTEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvaW1nLXNpemUuaHRtbApA
QCAtMCwwICsxLDE2IEBACis8c3R5bGU+CisuY29udHJvbCB7IHdpZHRoOiA1MCU7IH0KKy5waXhl
bHMgeyB3aWR0aDogLXdlYmtpdC1jYWxjKDEwMHB4KTsgfQorLnBlcmNlbnQge3dpZHRoOiAtd2Vi
a2l0LWNhbGMoNTAlKTsgfQorLmJvdGgge3dpZHRoOiAtd2Via2l0LWNhbGMoMjUlICsgNTBweCk7
IH0KKzwvc3R5bGU+CisKKzxkaXYgc3R5bGU9IndpZHRoOjIwMHB4OyI+CisgICAgPGltZyBjbGFz
cz0iY29udHJvbCIgc3JjPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNV
aEVVZ0FBQUFJQUFBQUNDQVlBQUFCeXRnMGtBQUFBRkVsRVFWUUlIV1A0ejhEd0h3eUJOSkROOEI4
QVFORUcrdDVJazJrQUFBQUFTVVZPUks1Q1lJST0iPgorICAgIDxoci8+CisgICAgPGltZyBjbGFz
cz0icGl4ZWxzIiBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1Vo
RVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFGRWxFUVZRSUhXUDR6OER3SHd5Qk5KRE44QjhB
UU5FRyt0NUlrMmtBQUFBQVNVVk9SSzVDWUlJPSI+CisgICAgPGhyLz4KKyAgICA8aW1nIGNsYXNz
PSJwZXJjZW50IiBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1Vo
RVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFGRWxFUVZRSUhXUDR6OER3SHd5Qk5KRE44QjhB
UU5FRyt0NUlrMmtBQUFBQVNVVk9SSzVDWUlJPSI+CisgICAgPGhyLz4KKyAgICA8aW1nIGNsYXNz
PSJib3RoIiBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVn
QUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFGRWxFUVZRSUhXUDR6OER3SHd5Qk5KRE44QjhBUU5F
Ryt0NUlrMmtBQUFBQVNVVk9SSzVDWUlJPSI+Cis8L2Rpdj4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbGluZS1oZWlnaHQtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2xpbmUtaGVpZ2h0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hZDQ1OWRlN2Q0MjhlYTQxODFkN2JlMmY4NjhiNWRmZmRiNTVhZjAyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2xpbmUtaGVpZ2h0LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK1RoZSBsaW5lIGhlaWdodCBvZiB0aGVzZSBsaW5lcyBz
aG91bGQgYmUgaWRlbnRpY2FsCitUaGUgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxk
IGJlIGlkZW50aWNhbAorVGhlIGxpbmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3VsZCBiZSBp
ZGVudGljYWwKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9saW5lLWhl
aWdodC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL2xpbmUtaGVpZ2h0Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNWM3ZDEwNjU3ZDBjMzBmMTZiNTI3ODZhMTAwNzAyZmJhYjUxZGRmMAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9saW5lLWhlaWdodC5odG1sCkBAIC0wLDAg
KzEsNDYgQEAKKzxzdHlsZT4gCitzcGFuIHsgZm9udC1zaXplOiAxNnB4O30KKyNjb250cm9sIHts
aW5lLWhlaWdodDogMjAwJTt9CisjY2FsYy1wZXJjZW50IHtsaW5lLWhlaWdodDogLXdlYmtpdC1j
YWxjKDEwMCUgKiAyKTt9CisjY2FsYy1wZXJjZW50LXBpeGVscyB7bGluZS1oZWlnaHQ6IC13ZWJr
aXQtY2FsYygxMDAlICsgMTZweCk7fQorPC9zdHlsZT4KKworPGRpdj4KKzxzcGFuIGlkPSJjb250
cm9sIj5UaGUgbGluZSBoZWlnaHQgb2YgdGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwv
c3Bhbj4KKzxoci8+Cis8c3BhbiBpZD0iY2FsYy1wZXJjZW50Ij5UaGUgbGluZSBoZWlnaHQgb2Yg
dGhlc2UgbGluZXMgc2hvdWxkIGJlIGlkZW50aWNhbDwvc3Bhbj4KKzxoci8+Cis8c3BhbiBpZD0i
Y2FsYy1wZXJjZW50LXBpeGVscyI+VGhlIGxpbmUgaGVpZ2h0IG9mIHRoZXNlIGxpbmVzIHNob3Vs
ZCBiZSBpZGVudGljYWw8L3NwYW4+Cis8aHIvPgorPC9kaXY+Cis8ZGl2IGlkPSJyZXN1bHRzIj48
L2Rpdj4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwordmFyIGNvbnRyb2xIZWlnaHQgPSAg
Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udHJvbCIpLCBudWxs
KS5saW5lSGVpZ2h0OwordmFyIGhlaWdodHMgPSAiIjsKKwordmFyIHNwYW5zID0gZG9jdW1lbnQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKTsKK3ZhciBzYW1lSGVpZ2h0ID0gdHJ1ZTsKK2Zv
ciAodmFyIGkgPSAwOyBpIDwgc3BhbnMubGVuZ3RoOyArK2kpIHsKKyAgICB2YXIgY3VycmVudCA9
IHNwYW5zW2ldOworICAgIHZhciBjdXJyZW50SGVpZ2h0ID0gZ2V0Q29tcHV0ZWRTdHlsZShjdXJy
ZW50LCBudWxsKS5saW5lSGVpZ2h0OworICAgIGlmIChoZWlnaHRzLmxlbmd0aCAhPSAwKQorICAg
ICAgICBoZWlnaHRzID0gaGVpZ2h0cyArICIsICI7CisgICAgaGVpZ2h0cyA9IGhlaWdodHMgKyBj
dXJyZW50SGVpZ2h0OworICAgIGlmIChzYW1lSGVpZ2h0KQorICAgICAgICBzYW1lSGVpZ2h0ID0g
Y3VycmVudEhlaWdodCA9PSBjb250cm9sSGVpZ2h0OworfQorCit2YXIgcmVzdWx0cyA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHRzIik7CitpZiAoc2FtZUhlaWdodCkgeworICAgIHJl
c3VsdHMuc3R5bGUuY29sb3IgPSAiZ3JlZW4iOworICAgIHJlc3VsdHMuaW5uZXJIVE1MID0gIlBB
U1MiOworfSBlbHNlIHsKKyAgICByZXN1bHRzLnN0eWxlLmNvbG9yID0gInJlZCI7CisgICAgcmVz
dWx0cy5pbm5lckhUTUwgPSAiRkFJTCI7ICAgIAorICAgIHJlc3VsdHMuaW5uZXJIVE1MICs9ICI8
cD5Db21wdXRlZCBsaW5lIGhlaWdodHMgZG8gbm90IG1hdGNoOiAiICsgaGVpZ2h0cyArICI8L3A+
IjsKK30KKworPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbWFy
Z2luLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9tYXJnaW4tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjRiOTQ0ZWZjYzhmZTAxMmNjODNlNzAwMzk4NDYzNWJlMTQzMDZiZjEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbWFyZ2luLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDI0IEBACitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFs
bCBtYXJnaW4gb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCisKKworVGhpcyBlbGVtZW50IHNob3VsZCBo
YXZlIGEgbGVmdCBtYXJnaW4gb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCisKK1RoaXMgZWxlbWVudCBz
aG91bGQgaGF2ZSBhIHJpZ2h0IG1hcmdpbiBvZiAyNSBwaXhlbHMuID0+IFBBU1MKKworVGhpcyBl
bGVtZW50IHNob3VsZCBoYXZlIGEgdG9wIG1hcmdpbiBvZiAyNSBwaXhlbHMuID0+IFBBU1MKKwor
VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgYm90dG9tIG1hcmdpbiBvZiAyNSBwaXhlbHMuID0+
IFBBU1MKKworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBtYXJnaW4gb2Yg
MjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuID0+IEZB
SUw6IGV4cGVjdGVkIHRvdGFsIHdpZHRoIG9mIDI1MCwgYnV0IHdhcyAyMDAsIGV4cGVjdGVkIHRv
dGFsIGhlaWdodCBvZiAxNzAsIGJ1dCB3YXMgMTIwCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2
ZSBhIGxlZnQgbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBw
eCBtaW51cyA1cHgpLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCB3aWR0aCBvZiAyMjUsIGJ1dCB3
YXMgMjAwCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0IG1hcmdpbiBvZiAyNSBw
aXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4gRkFJTDog
ZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgMjI1LCBidXQgd2FzIDIwMAorCitUaGlzIGVsZW1lbnQg
c2hvdWxkIGhhdmUgYSB0b3AgbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0
aCBvZiAzMDBweCBtaW51cyA1cHgpLiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2Yg
MTQ1LCBidXQgd2FzIDEzNQorCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gbWFy
Z2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgp
LiA9PiBGQUlMOiBleHBlY3RlZCB0b3RhbCBoZWlnaHQgb2YgMTQ1LCBidXQgd2FzIDEzNQorCisK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL21hcmdpbi5odG1sIGIvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL21hcmdpbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0NWY5MzliYzExODBkZmJm
NDI0NjFhZTEyZWY2NTljM2FlZDRiNTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvbWFyZ2luLmh0bWwKQEAgLTAsMCArMSwxMzMgQEAKKzwhRE9DVFlQRSBIVE1MPgor
PHN0eWxlPgorZGl2IHsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cit9CisKK3AgeworICAg
IHdpZHRoOi13ZWJraXQtY2FsYygyMDBweCk7IAorICAgIGhlaWdodDotd2Via2l0LWNhbGMoMTIw
cHgpOworICAgIG1hcmdpbjogMDsKK30KKy5zaW1wbGUtYWxsIHsKKyAgICBtYXJnaW46IC13ZWJr
aXQtY2FsYygxM3B4ICsgMTJweCk7Cit9Cisuc2ltcGxlLWxlZnQgeworICAgIG1hcmdpbi1sZWZ0
OiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpOworfQorLnNpbXBsZS1yaWdodCB7CisgICAgbWFy
Z2luLXJpZ2h0OiAtd2Via2l0LWNhbGMoMTNweCArIDEycHgpOworfQorLnNpbXBsZS10b3Agewor
ICAgIG1hcmdpbi10b3A6IC13ZWJraXQtY2FsYygxM3B4ICsgMTJweCk7Cit9Cisuc2ltcGxlLWJv
dHRvbSB7CisgICAgbWFyZ2luLWJvdHRvbTogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsKK30K
Ky5wZXJjZW50LWFsbCB7CisgICAvKiBtYXJnaW46IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOwor
ICAgIG1hcmdpbjogLW1vei1jYWxjKC13ZWJraXQtY2FsYygxMCUpIC0gNXB4KTsKKyAgICBtYXJn
aW46IGNhbGMoLXdlYmtpdC1jYWxjKDEwJSkgLSA1cHgpOyovCisgICAgbWFyZ2luLWxlZnQ6IC13
ZWJraXQtY2FsYygxMCUpOworfQorLnBlcmNlbnQtbGVmdCB7CisgICAgbWFyZ2luLWxlZnQ6IC13
ZWJraXQtY2FsYygxMCUgLSA1cHgpOworICAgIG1hcmdpbi1sZWZ0OiAtd2Via2l0LWNhbGMoMjAl
KTsKK30KKy5wZXJjZW50LXJpZ2h0IHsKKyAgICBtYXJnaW4tcmlnaHQ6IC13ZWJraXQtY2FsYygx
MCUgLSA1cHgpOworfQorLnBlcmNlbnQtdG9wIHsKKyAgICBtYXJnaW4tdG9wOiAtd2Via2l0LWNh
bGMoMTAlIC0gNXB4KTsKK30KKy5wZXJjZW50LWJvdHRvbSB7CisgICBtYXJnaW4tYm90dG9tOiAt
d2Via2l0LWNhbGMoMTAlIC0gNXB4KTsKK30KKzwvc3R5bGU+Cis8ZGl2PgorICAgIDxwIGNsYXNz
PSJzaW1wbGUtYWxsIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBtYXJnaW4g
b2YgMjUgcGl4ZWxzLjwvcD4KKzwvZGl2Pjxici8+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJzaW1w
bGUtbGVmdCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgbGVmdCBtYXJnaW4gb2YgMjUgcGl4
ZWxzLjwvcD4KKzwvZGl2Pjxici8+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJzaW1wbGUtcmlnaHQi
PlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0IG1hcmdpbiBvZiAyNSBwaXhlbHMuPC9w
PgorPC9kaXY+PGJyLz4KKzxkaXY+CisgICAgPHAgY2xhc3M9InNpbXBsZS10b3AiPlRoaXMgZWxl
bWVudCBzaG91bGQgaGF2ZSBhIHRvcCBtYXJnaW4gb2YgMjUgcGl4ZWxzLjwvcD4KKzwvZGl2Pjxi
ci8+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJzaW1wbGUtYm90dG9tIj5UaGlzIGVsZW1lbnQgc2hv
dWxkIGhhdmUgYSBib3R0b20gbWFyZ2luIG9mIDI1IHBpeGVscy48L3A+Cis8L2Rpdj48YnIvPgor
Cis8ZGl2IGlkPSJ3cmFwcGVyIiBzdHlsZT0id2lkdGg6IDMwMHB4OyBiYWNrZ3JvdW5kLWNvbG9y
OiBjb3Juc2lsazsgZGlzcGxheTogYmxvY2s7Ij4KKzxkaXY+CisgICAgPHAgY2xhc3M9InBlcmNl
bnQtYWxsIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3ZlcmFsbCBtYXJnaW4gb2YgMjUg
cGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzICAgICA1cHgpLjwvcD4K
KzwvZGl2Pjxici8+CisKKworPGRpdj4KKyAgICA8cCBjbGFzcz0icGVyY2VudC1sZWZ0Ij5UaGlz
IGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBsZWZ0IG1hcmdpbiBvZiAyNSBwaXhlbHMgKDEwJSBvZiBw
YXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS48L3A+Cis8L2Rpdj48YnIvPgorPGRpdj4K
KyAgICA8cCBjbGFzcz0icGVyY2VudC1yaWdodCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEg
cmlnaHQgbWFyZ2luIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBt
aW51cyA1cHgpLjwvcD4KKzwvZGl2Pjxici8+Cis8ZGl2PgorICAgIDxwIGNsYXNzPSJwZXJjZW50
LXRvcCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgdG9wIG1hcmdpbiBvZiAyNSBwaXhlbHMg
KDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS48L3A+Cis8L2Rpdj48YnIv
PgorPGRpdj4KKyAgICA8cCBjbGFzcz0icGVyY2VudC1ib3R0b20iPlRoaXMgZWxlbWVudCBzaG91
bGQgaGF2ZSBhIGJvdHRvbSBtYXJnaW4gb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRo
IG9mIDMwMHB4IG1pbnVzIDVweCkuPC9wPgorPC9kaXY+PGJyLz4KKworPHNjcmlwdD4KK2lmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOworCit2YXIgaW5uZXJXaWR0aCA9IDIwMDsKK3ZhciBpbm5lckhlaWdodCA9IDEy
MDsKK3ZhciBtYXJnaW4gPSAyNTsKKwordmFyIHRlc3RzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNC
eVRhZ05hbWUoImRpdiIpOworZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXN0cy5sZW5ndGg7ICsraSkg
eworICAgIHZhciBvdXRlckVsdCA9IHRlc3RzW2ldOworICAgIGlmIChvdXRlckVsdC5pZCA9PSAi
d3JhcHBlciIpCisgICAgICAgIGNvbnRpbnVlOworICAgICAgICAKKyAgICB2YXIgaW5uZXJFbHQg
PSB0ZXN0c1tpXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgicCIpWzBdOworICAgIHZhciB3aWR0aCA9
IG91dGVyRWx0Lm9mZnNldFdpZHRoOworICAgIHZhciBoZWlnaHQgPSBvdXRlckVsdC5vZmZzZXRI
ZWlnaHQ7CisKKyAgICB2YXIgZXhwZWN0ZWRXaWR0aCA9IGlubmVyV2lkdGg7CisgICAgdmFyIGV4
cGVjdGVkSGVpZ2h0ID0gaW5uZXJIZWlnaHQ7CisgICAgCisgICAgc3dpdGNoIChpbm5lckVsdC5j
bGFzc05hbWUuc3BsaXQoIi0iKVsxXSkgeworICAgIGNhc2UgImFsbCI6CisgICAgICAgIGV4cGVj
dGVkV2lkdGggKz0gMiAqIG1hcmdpbjsKKyAgICAgICAgZXhwZWN0ZWRIZWlnaHQgKz0gMiAqIG1h
cmdpbjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAidG9wIjoKKyAgICBjYXNlICJib3R0b20i
OgorICAgICAgICBleHBlY3RlZEhlaWdodCArPSBtYXJnaW47CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgImxlZnQiOgorICAgIGNhc2UgInJpZ2h0IjoKKyAgICAgICAgZXhwZWN0ZWRXaWR0aCAr
PSBtYXJnaW47CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICAKKyAgICB2YXIgZXJyb3IgPSBb
XTsKKyAgICBpZiAod2lkdGggIT0gZXhwZWN0ZWRXaWR0aCkKKyAgICAgICAgZXJyb3IucHVzaCgi
ZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgIiArIGV4cGVjdGVkV2lkdGggKyAiLCBidXQgd2FzICIg
KyB3aWR0aCk7CisgICAgaWYgKGhlaWdodCAhPSBleHBlY3RlZEhlaWdodCkKKyAgICAgICAgZXJy
b3IucHVzaCgiZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9mICIgKyBleHBlY3RlZEhlaWdodCArICIs
IGJ1dCB3YXMgIiArIGhlaWdodCk7CisKKyAgICByZXN1bHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInJlc3VsdHMiKTsKKyAgICBpZiAoZXJyb3IgPT0gIiIpIHsKKyAgICAgICAgaW5uZXJF
bHQuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gImdyZWVuIjsKKyAgICAgICAgaW5uZXJFbHQuaW5u
ZXJIVE1MICs9ICIgPT4gUEFTUyI7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaW5uZXJFbHQuc3R5
bGUuYmFja2dyb3VuZENvbG9yID0gInJlZCI7CisgICAgICAgIGlubmVyRWx0LmlubmVySFRNTCAr
PSAiID0+IEZBSUw6ICIgKyBlcnJvci5qb2luKCIsICIpOworICAgIH0KK30KKzwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL211bHRpcGxlLWJhY2tncm91bmQtc2l6
ZS10cmFuc2l0aW9ucy1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbXVsdGlw
bGUtYmFja2dyb3VuZC1zaXplLXRyYW5zaXRpb25zLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
MjE2ZDY4ZmMxMjcwOWY5MDY0YzJkODU3M2NkMDA5NGYzMTJhYTI2CkdJVCBiaW5hcnkgcGF0Y2gK
bGl0ZXJhbCAxMTUwOQp6Y21lSTJgQnhLSEFJNHtmZkkkSSskWVFFRU14a3RDUHtQdUo0M2EzZzFj
Km9oWjQrVzVVPVR6RUw2OGctV3omfV4KekFRREFoWG5rJFY3UGE3cEhLa0N7RHBYTnx3RlgyNDYp
VEhVMiFgMFB0cl98VXc1UlZtXkhhezUrfj8tckN2KDRfCno9aVpyfDBRTVRnbmJlczgwMnVvREdD
MlVDMHxOalFMZXw1c05FMCk1VmpzNDxTc31aKE1oZHJ6O3VDZk51MG5kYQp6YHdEbCMqNmApcSFy
aHolZikoXnxLMTBZNXkxTWU2MUAyQm9VemBsWGRVejQjO31oV0w7e3lsbWlycDMhRWQrb2gKemFE
UHl7JGkjY0Qjd0YmPEE4Rig7azxyO0MzQyVDR0dMbSkyV3krV0BHUHU5Nm8rU35pQGF2M204R0s8
fmNQaEtECnpfbS1XS14tS0FUSD5sO19WWnBNc2BAPmleJTFScjR4JXR3T249JExfUGQkXmpyTSo8
VDQoKkZnPjs/PlgtRjY7Qgp6TnF2U2JvQ0BRcD0rc3IpKSFEIypEKWhhYnR2MjAlJlIoTUR7YntA
Xld1UjtDP0RXbVMtPSkwWGI5UFUpXm1lXjsKek0mPWFLdnFwTilQQnZzN0gjMmsmbDxtPTdacmll
KC0ySkYpXm0pRUpKMn5td3k0bSlnT2ApX0BndDQ/dXl5MyNlCnpuXnFtanJAbjU1Vnt4MzdDbHE7
d2lVbCpHVnp6elhPMWFgTWBRUE9tRkRtKXZDKW1GbE52QFE+TkBKZj51NTRWPwp6SUJRPEQqWGok
MFBMM1ZDPih2fG5AYm10cjFEXjlPN19UT0hyc3RfJlBCMHFoYXchfCR1THoyfT1WJi1gdFkje0IK
emJaeTI/aVE5RVNJMnNAMz4jdFpKR2pTPFBjYn5Qd3FfJWZZYU54dF9lM0o7fW9kLWojcFAqWDAo
RTxhaWZ6OzQ5CnpmV2poJEFDbTxqMlJ4YHcmUyFVZEV3MHBpdU9NWjQhamtRbWNrYEtOeWk7NiRf
QjxjPmAyIUQpNEsxJEZyO2RDPwp6P1g5dF56Ml5Ub1NAcHZmU3klOVFWZkF0OHJPfT1ibjsofjRx
Kl5MRVN8NyE0XyQwT0hQR1o0RlltUWJXP2BARGkKenIrUGpBc014N0xnT1Q0OUZNQjwqbHZ7TTgq
IUpNdT0wfUBlSzNrV1c1YSM2Q1ReMjM9KDZpVUUtTGJBU3pCKHQqCnpIVFphTyNNRX0qKkR0PG1E
Q3BtJF44YUxQTD4rT25YPXxeb2xYWVY1ekBuVnVYMisydVVGI31tXzQwUEtrVn1nVwp6Knh1Zjhj
eWheSTkjN2dadyhNaUMlfUd+UWl3KHZDMytMVXE5aDVVSlpuUDZQbXRIaUFveUA9QXFCaWR2Jm1B
YlUKemZ0RSUwdzNifWp1YHpDbFFaNzZkNkpHPEZVJWo8JnhJUllvUyg9LWc2eWl+N1I/VDZRITQy
VTIjSF91UlBpJjhNCno5NmZyfG9zO0VJUiZlUipidzF9dHo8blBNTWA1Szl0fXtEVnZXZnBSdjgk
d0dMQ3BNZV9mX0xmcmBITSNDVG1CRwp6V203VmFOPiM8Vm0mVEBjcldhNGYke1ZJd0B9I15SMER1
OE1yZ3U7aF97KVI5VCFGJXI4Rj4wPnh+Tn14WlNlKDMKejdPZzk2R0ErVHJFbXlPJT1ZVTQ3cDZW
OD4qUHM5aGs7b0puTDRrQkdXbnlUVitVUk5xZWhxfSluOX51cF91S0ZQCnpZfWxoOThBIU9Ge2hJ
Zk8+aTRUeWxYP0cwbFprbE51cXc2WTxZLSR0RHRAQSZiWnE9e0BGMnZVYjszfDBKfkZaSgp6R0l1
O341KURrY3s/dGkzSDYyaV9JfCRxfChZN1gkOH11I1VTb1N4eFgpe0NRZklJU3ZxOyYqQFZqO2NP
O3t+PFQKenJzX3RhQlNzV1laPj1Bd3s1VDRaX1Y/TXBgIVAmemdqdUErXiM5JH5LWUFPcz1Bak1s
c0AhKWpWc2A2KkkoQHtECnoyJHpVXmlDQSQmVUJkQX1sKillXkN9UVF4bC1KSypzdjduXm5OQmZI
NWZxYCpIIXZ7MylxZkg+amMhVV53UTFFSgp6ZCt3WlJ8SmY7d2ZtWilyYDJJQVNlaz0hKSZ5UU03
cWJZWiQxPFp2ZTxObmZAZiNoJU9OYENLWnJiZDxlJkI1TjUKelQzeit2REBCRUpAdyp7VDFvdVJ2
WUxtWCZ0Q35yZHtJWTM3aGFHeHFkSGE3enBsWmpTJkghfTspeUJ6cTVYalV1CnprbkZ0Myo3Z1I9
RnYzP2NYdFF5UjM8YypuRHgmYlUtSEZBNXk0OEopLWktakpuOS01TyN+JlFoclVKUFgxPCFWNwp6
ZCpHVHpOWUQ0ZW1lYTtzdVJ+MWVOR0o3aG1SNXM9JE5+TjBMMSl9bTV0ZHJRN0xWZmJnRk1SdWV6
PmMyd0tsWnkKekhwcWNjNXpgWGFnbzhSdXckeWFzNlJnN1drPzJzWGs1JlVhQFgkPWM2djduWlA5
Y15MbkxeWVE1YylTMitUajdhCnpBS1RtOD9gfkEkZF9pRWxvO1A1USpgTmJuPTxfZipAYT5vNUsq
YDNhZTJaVm8oaVZETkFPP3FNbU5sKmsjRmwobQp6KWoxcHY0d3hwZHh8T05iejstOzhuVWBSTyh+
cEdfXk5lVzt1Mz0pdGo2Qm5aWkA2VlBKays2e1dgYitKej0qbEQKekdaZCR2OEshOXQ3VF85K0RJ
S1kze3ZjMEZLWTBhNCUmeSReeFRYVHFeWmh5YDAtcz5XVHNtVTVgRVpVX2c5T098CnohVzY8Mzsh
Wih7PHdKcHFuZ1dyQ0xKT281Xm5uUV5sZ0xDKTBuJi1eaERCIzAoR29FcWdvd1FsTFRtYGhsPmV0
KQp6dlBDbTM1Ji1ubS1AWGUjcSs5SEdmaz9NUnkyVEVuaDsmUCZUa1AyemsjMW9rLUN+RV5NN2t4
P0UldUUzWiVlbkQKWjhLIyE9VC1SUkhQc1FHMjJLLW9UWDNaKkkjJjRVVT5fWSRtCgpsaXRlcmFs
IDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbXVsdGlw
bGUtYmFja2dyb3VuZC1zaXplLXRyYW5zaXRpb25zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2NzczMvY2FsYy9tdWx0aXBsZS1iYWNrZ3JvdW5kLXNpemUtdHJhbnNpdGlvbnMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmJjZTFkYWJhNDI0YmMzNDM1MmI5N2UyZDU0NzNjYTNjZjk3NjA3MTkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvbXVsdGlwbGUtYmFja2dy
b3VuZC1zaXplLXRyYW5zaXRpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1BBU1Mg
LSAiLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemUiIHByb3BlcnR5IGZvciAiYm94IiBlbGVtZW50IGF0
IDAuNXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogMjUsMjUKK1BBU1MgLSAiLXdlYmtpdC1tYXNr
LXNpemUiIHByb3BlcnR5IGZvciAiYm94MSIgZWxlbWVudCBhdCAwLjVzIHNhdyBzb21ldGhpbmcg
Y2xvc2UgdG86IDI1LDI1CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9tdWx0
aXBsZS1iYWNrZ3JvdW5kLXNpemUtdHJhbnNpdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL2NzczMv
Y2FsYy9tdWx0aXBsZS1iYWNrZ3JvdW5kLXNpemUtdHJhbnNpdGlvbnMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jMmM1ZTQ2N2EyZTM3NmQzMzUwYjVhNWJiZDIzM2NhYzhmNTQ2NWM1Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL211bHRpcGxlLWJhY2tncm91bmQtc2l6ZS10cmFu
c2l0aW9ucy5odG1sCkBAIC0wLDAgKzEsNjcgQEAKKzwhRE9DVFlQRT4KKworPGh0bWw+Cis8aGVh
ZD4KKyAgPHN0eWxlPgorICAgIC5ib3ggeworICAgICAgaGVpZ2h0OiAtd2Via2l0LWNhbGMoMTAw
cHgpOworICAgICAgd2lkdGg6IC13ZWJraXQtY2FsYygxMDBweCk7CisgICAgICBtYXJnaW46IC13
ZWJraXQtY2FsYygxMHB4KTsKKyAgICAgIGJvcmRlcjogLXdlYmtpdC1jYWxjKDFweCkgc29saWQg
YmxhY2s7CisgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OworICAgICAgLXdlYmtp
dC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0OworICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0
aW9uOiAxczsKKyAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVh
cjsKKyAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC1iYWNrZ3JvdW5k
LXNpemUsIC13ZWJraXQtbWFzay1zaXplOworICAgIH0KKyAgICAKKyAgICAjYm94IHsKKyAgICAg
IGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vZmFzdC9iYWNrZ3JvdW5kcy9yZXBlYXQvcmVzb3Vy
Y2VzL2dyYWRpZW50LmdpZicpLCB1cmwoJy4uL2Zhc3QvYmFja2dyb3VuZHMvcmVwZWF0L3Jlc291
cmNlcy9ncmFkaWVudC5naWYnKTsKKyAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMCwgLXdl
YmtpdC1jYWxjKDUwcHgpIC13ZWJraXQtY2FsYyg1MHB4KTsKKyAgICAgIC13ZWJraXQtYmFja2dy
b3VuZC1zaXplOiAtd2Via2l0LWNhbGMoMCUpIC13ZWJraXQtY2FsYygwJSksIC13ZWJraXQtY2Fs
Yyg1MCUpIC13ZWJraXQtY2FsYyg1MCUpOworICAgIH0KKyAgICAKKyAgICAjYm94LmZpbmFsIHsK
KyAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiAtd2Via2l0LWNhbGMoNTAlKSAtd2Via2l0
LWNhbGMoNTAlKSwgLXdlYmtpdC1jYWxjKDAlKSAtd2Via2l0LWNhbGMoMCUpOworICAgIH0KKyAg
ICAKKyAgICAjYm94MSB7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5OworICAgICAgLXdl
YmtpdC1tYXNrLWltYWdlOiB1cmwoJy4uL2Zhc3QvYmFja2dyb3VuZHMvcmVwZWF0L3Jlc291cmNl
cy9ncmFkaWVudC5naWYnKSwgdXJsKCcuLi9mYXN0L2JhY2tncm91bmRzL3JlcGVhdC9yZXNvdXJj
ZXMvZ3JhZGllbnQuZ2lmJyk7CisgICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IDAgMCwgLXdl
YmtpdC1jYWxjKDUwcHgpIC13ZWJraXQtY2FsYyg1MHB4KTsKKyAgICAgIC13ZWJraXQtbWFzay1z
aXplOiAtd2Via2l0LWNhbGMoMCUpIC13ZWJraXQtY2FsYygwJSksIC13ZWJraXQtY2FsYyg1MCUp
IC13ZWJraXQtY2FsYyg1MCUpOworICAgIH0KKworICAgICNib3gxLmZpbmFsIHsKKyAgICAgIC13
ZWJraXQtbWFzay1zaXplOiAtd2Via2l0LWNhbGMoNTAlKSAtd2Via2l0LWNhbGMoNTAlKSwgLXdl
YmtpdC1jYWxjKDAlKSAtd2Via2l0LWNhbGMoMCUpOworICAgIH0KKworICA8L3N0eWxlPgorICA8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL3RyYW5zaXRpb24tdGVzdC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KKyAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCisgICAgY29uc3QgZXhwZWN0
ZWRWYWx1ZXMgPSBbCisgICAgICAvLyBbdGltZSwgZWxlbWVudC1pZCwgcHJvcGVydHksIGV4cGVj
dGVkLXZhbHVlLCB0b2xlcmFuY2VdCisgICAgICBbMC41LCAnYm94JywgJy13ZWJraXQtYmFja2dy
b3VuZC1zaXplJywgWzI1LCAyNV0sIDRdLAorICAgICAgWzAuNSwgJ2JveDEnLCAnLXdlYmtpdC1t
YXNrLXNpemUnLCBbMjUsIDI1XSwgNF0sCisgICAgXTsKKyAgCisgICAgZnVuY3Rpb24gc2V0dXBU
ZXN0KCkKKyAgICB7CisgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm94JykuY2xhc3NO
YW1lID0gJ2JveCBmaW5hbCc7CisgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm94MScp
LmNsYXNzTmFtZSA9ICdib3ggZmluYWwnOworICAgIH0KKyAgCisgICAgcnVuVHJhbnNpdGlvblRl
c3QoZXhwZWN0ZWRWYWx1ZXMsIHNldHVwVGVzdCwgdXNlUGF1c2VBUEkpOworICA8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorCisgIDxkaXYgaWQ9ImJveCIgY2xhc3M9ImJveCI+PC9kaXY+Cisg
IDxkaXYgaWQ9ImJveDEiIGNsYXNzPSJib3giPjwvZGl2PgorCisgIDxkaXYgaWQ9InJlc3VsdCI+
CisgIDwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvcGFkZGluZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvcGFk
ZGluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGI4ZTNhNzQ0NDUyODcwODNjZGM1MmJiNjQ2
ZWI1ZDIwNTc3OWE4ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9w
YWRkaW5nLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE5IEBACitUaGlzIGVsZW1lbnQgc2hvdWxk
IGhhdmUgYW4gb3ZlcmFsbCBwYWRkaW5nIG9mIDI1IHBpeGVscy4gPT4gUEFTUworCitUaGlzIGVs
ZW1lbnQgc2hvdWxkIGhhdmUgYSBsZWZ0IHBhZGRpbmcgb2YgMjUgcGl4ZWxzLiA9PiBQQVNTCisK
K1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHJpZ2h0IHBhZGRpbmcgb2YgMjUgcGl4ZWxzLiA9
PiBQQVNTCisKK1RoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHRvcCBwYWRkaW5nIG9mIDI1IHBp
eGVscy4gPT4gUEFTUworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gcGFkZGlu
ZyBvZiAyNSBwaXhlbHMuID0+IFBBU1MKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGFuIG92
ZXJhbGwgcGFkZGluZyBvZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHgg
bWludXMgNXB4KS4gPT4gUEFTUworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBsZWZ0IHBh
ZGRpbmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdpZHRoIG9mIDMwMHB4IG1pbnVzIDVw
eCkuID0+IFBBU1MKKworVGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgcmlnaHQgcGFkZGluZyBv
ZiAyNSBwaXhlbHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4g
UEFTUworCitUaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSB0b3AgcGFkZGluZyBvZiAyNSBwaXhl
bHMgKDEwJSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4gUEFTUworCitU
aGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gcGFkZGluZyBvZiAyNSBwaXhlbHMgKDEw
JSBvZiBwYXJlbnQgd2lkdGggb2YgMzAwcHggbWludXMgNXB4KS4gPT4gUEFTUwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3BhZGRpbmcuaHRtbCBiL0xheW91dFRlc3RzL2NzczMv
Y2FsYy9wYWRkaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWNlYTdjNzM4ZTliZTMwN2YyNTllMTQ0ODUy
ZDY0Y2NhYzUxOWIwOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9w
YWRkaW5nLmh0bWwKQEAgLTAsMCArMSw5OSBAQAorPCFET0NUWVBFIEhUTUw+Cis8c3R5bGU+Citw
IHsKKyAgICB3aWR0aDotd2Via2l0LWNhbGMoMjAwcHgpOyBoZWlnaHQ6LXdlYmtpdC1jYWxjKDEy
MHB4KTsgCit9Cisuc2ltcGxlLWFsbCB7CisgICAgcGFkZGluZzogLXdlYmtpdC1jYWxjKDEzcHgg
KyAxMnB4KTsKK30KKy5zaW1wbGUtbGVmdCB7CisgICAgcGFkZGluZy1sZWZ0OiAtd2Via2l0LWNh
bGMoMTNweCArIDEycHgpOworfQorLnNpbXBsZS1yaWdodCB7CisgICAgcGFkZGluZy1yaWdodDog
LXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5zaW1wbGUtdG9wIHsKKyAgICBwYWRkaW5n
LXRvcDogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5zaW1wbGUtYm90dG9tIHsKKyAg
ICBwYWRkaW5nLWJvdHRvbTogLXdlYmtpdC1jYWxjKDEzcHggKyAxMnB4KTsKK30KKy5wZXJjZW50
LWFsbCB7CisgICAgcGFkZGluZzogLXdlYmtpdC1jYWxjKDEwJSAtIDVweCk7Cit9CisucGVyY2Vu
dC1sZWZ0IHsKKyAgICBwYWRkaW5nLWxlZnQ6IC13ZWJraXQtY2FsYygxMCUgLSA1cHgpOworfQor
LnBlcmNlbnQtcmlnaHQgeworICAgIHBhZGRpbmctcmlnaHQ6IC13ZWJraXQtY2FsYygxMCUgLSA1
cHgpOworfQorLnBlcmNlbnQtdG9wIHsKKyAgICBwYWRkaW5nLXRvcDogLXdlYmtpdC1jYWxjKDEw
JSAtIDVweCk7Cit9CisucGVyY2VudC1ib3R0b20geworICAgcGFkZGluZy1ib3R0b206IC13ZWJr
aXQtY2FsYygxMCUgLSA1cHgpOworfQorPC9zdHlsZT4KKworPHAgY2xhc3M9InNpbXBsZS1hbGwi
PlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhbiBvdmVyYWxsIHBhZGRpbmcgb2YgMjUgcGl4ZWxz
LjwvcD4KKzxwIGNsYXNzPSJzaW1wbGUtbGVmdCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEg
bGVmdCBwYWRkaW5nIG9mIDI1IHBpeGVscy48L3A+Cis8cCBjbGFzcz0ic2ltcGxlLXJpZ2h0Ij5U
aGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSByaWdodCBwYWRkaW5nIG9mIDI1IHBpeGVscy48L3A+
Cis8cCBjbGFzcz0ic2ltcGxlLXRvcCI+VGhpcyBlbGVtZW50IHNob3VsZCBoYXZlIGEgdG9wIHBh
ZGRpbmcgb2YgMjUgcGl4ZWxzLjwvcD4KKzxwIGNsYXNzPSJzaW1wbGUtYm90dG9tIj5UaGlzIGVs
ZW1lbnQgc2hvdWxkIGhhdmUgYSBib3R0b20gcGFkZGluZyBvZiAyNSBwaXhlbHMuPC9wPgorCis8
ZGl2IHN0eWxlPSJ3aWR0aDogMzAwcHg7IGJhY2tncm91bmQtY29sb3I6IGNvcm5zaWxrOyI+Cisg
ICAgPHAgY2xhc3M9InBlcmNlbnQtYWxsIj5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYW4gb3Zl
cmFsbCBwYWRkaW5nIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBt
aW51cyA1cHgpLjwvcD4KKyAgICA8cCBjbGFzcz0icGVyY2VudC1sZWZ0Ij5UaGlzIGVsZW1lbnQg
c2hvdWxkIGhhdmUgYSBsZWZ0IHBhZGRpbmcgb2YgMjUgcGl4ZWxzICgxMCUgb2YgcGFyZW50IHdp
ZHRoIG9mIDMwMHB4IG1pbnVzIDVweCkuPC9wPgorICAgIDxwIGNsYXNzPSJwZXJjZW50LXJpZ2h0
Ij5UaGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSByaWdodCBwYWRkaW5nIG9mIDI1IHBpeGVscyAo
MTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLjwvcD4KKyAgICA8cCBjbGFz
cz0icGVyY2VudC10b3AiPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBhIHRvcCBwYWRkaW5nIG9m
IDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBweCBtaW51cyA1cHgpLjwvcD4K
KyAgICA8cCBjbGFzcz0icGVyY2VudC1ib3R0b20iPlRoaXMgZWxlbWVudCBzaG91bGQgaGF2ZSBh
IGJvdHRvbSBwYWRkaW5nIG9mIDI1IHBpeGVscyAoMTAlIG9mIHBhcmVudCB3aWR0aCBvZiAzMDBw
eCBtaW51cyA1cHgpLjwvcD4KKzwvZGl2PgorCis8c2NyaXB0PgoraWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisK
K3ZhciBpbm5lcldpZHRoID0gMjAwOwordmFyIGlubmVySGVpZ2h0ID0gMTIwOwordmFyIHBhZGRp
bmcgPSAyNTsKKwordmFyIHRlc3RzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInAi
KTsKK2ZvciAodmFyIGkgPSAwOyBpIDwgdGVzdHMubGVuZ3RoOyArK2kpIHsKKyAgICB2YXIgZWx0
ID0gdGVzdHNbaV07CisgICAgdmFyIHdpZHRoID0gZWx0Lm9mZnNldFdpZHRoOworICAgIHZhciBo
ZWlnaHQgPSBlbHQub2Zmc2V0SGVpZ2h0OworCisgICAgdmFyIGV4cGVjdGVkV2lkdGggPSBpbm5l
cldpZHRoOworICAgIHZhciBleHBlY3RlZEhlaWdodCA9IGlubmVySGVpZ2h0OworICAgIAorICAg
IHN3aXRjaCAoZWx0LmNsYXNzTmFtZS5zcGxpdCgiLSIpWzFdKSB7CisgICAgY2FzZSAiYWxsIjoK
KyAgICAgICAgZXhwZWN0ZWRXaWR0aCArPSAyICogcGFkZGluZzsKKyAgICAgICAgZXhwZWN0ZWRI
ZWlnaHQgKz0gMiAqIHBhZGRpbmc7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgInRvcCI6Cisg
ICAgY2FzZSAiYm90dG9tIjoKKyAgICAgICAgZXhwZWN0ZWRIZWlnaHQgKz0gcGFkZGluZzsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSAibGVmdCI6CisgICAgY2FzZSAicmlnaHQiOgorICAgICAg
ICBleHBlY3RlZFdpZHRoICs9IHBhZGRpbmc7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICAK
KyAgICB2YXIgZXJyb3IgPSBbXTsKKyAgICBpZiAod2lkdGggIT0gZXhwZWN0ZWRXaWR0aCkKKyAg
ICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90YWwgd2lkdGggb2YgIiArIGV4cGVjdGVkV2lk
dGggKyAiLCBidXQgd2FzICIgKyB3aWR0aCk7CisgICAgaWYgKGhlaWdodCAhPSBleHBlY3RlZEhl
aWdodCkKKyAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQgdG90YWwgaGVpZ2h0IG9mICIgKyBl
eHBlY3RlZEhlaWdodCArICIsIGJ1dCB3YXMgIiArIGhlaWdodCk7CisKKyAgICByZXN1bHRzID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdHMiKTsKKyAgICBpZiAoZXJyb3IgPT0gIiIp
IHsKKyAgICAgICAgZWx0LnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICJncmVlbiI7CisgICAgICAg
IGVsdC5pbm5lckhUTUwgKz0gIiA9PiBQQVNTIjsKKyAgICB9IGVsc2UgeworICAgICAgICBlbHQu
c3R5bGUuYmFja2dyb3VuZENvbG9yID0gInJlZCI7CisgICAgICAgIGVsdC5pbm5lckhUTUwgKz0g
IiA9PiBGQUlMOiAiICsgZXJyb3Iuam9pbigiLCAiKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9yZWZsZWN0aW9uLWNvbXB1dGVkLXN0eWxl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9yZWZsZWN0aW9uLWNvbXB1dGVk
LXN0eWxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZTc3NDFiNGE3YzU0ZTgzMTU1MTIzOWE3
MGQ4YmQ5MzI1MjE0YzFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L3JlZmxlY3Rpb24tY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjIgQEAK
K1Rlc3QgY2FsbGluZyBnZXRQcm9wZXJ0eVZhbHVlIG9uIGNvbXB1dGVkIHN0eWxlcyBmb3IgLXdl
YmtpdC1ib3JkZXItaW1hZ2UgcHJvcGVydHkuCisKKy13ZWJraXQtYm94LXJlZmxlY3Q6IG5vbmU7
CisgIC13ZWJraXQtYm94LXJlZmxlY3QKKyAgICBnZXRQcm9wZXJ0eVZhbHVlOiAgICBub25lCisg
ICAgZ2V0UHJvcGVydHlDU1NWYWx1ZTogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KKworLXdl
YmtpdC1ib3gtcmVmbGVjdDogYmVsb3c7CisgIC13ZWJraXQtYm94LXJlZmxlY3QKKyAgICBnZXRQ
cm9wZXJ0eVZhbHVlOiAgICBiZWxvdyAwcHggbm9uZQorICAgIGdldFByb3BlcnR5Q1NTVmFsdWU6
IFtvYmplY3QgQ1NTVmFsdWVdCisKKy13ZWJraXQtYm94LXJlZmxlY3Q6IHJpZ2h0IDUwJTsKKyAg
LXdlYmtpdC1ib3gtcmVmbGVjdAorICAgIGdldFByb3BlcnR5VmFsdWU6ICAgIHJpZ2h0IDUwJSBu
b25lCisgICAgZ2V0UHJvcGVydHlDU1NWYWx1ZTogW29iamVjdCBDU1NWYWx1ZV0KKworLXdlYmtp
dC1ib3gtcmVmbGVjdDogYmVsb3cgNXB4IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAg
MCkgMjUgMjUgMjUgMjUgc3RyZXRjaCBzdHJldGNoOworICAtd2Via2l0LWJveC1yZWZsZWN0Cisg
ICAgZ2V0UHJvcGVydHlWYWx1ZTogICAgYmVsb3cgNXB4IC13ZWJraXQtZ3JhZGllbnQobGluZWFy
LCAwIDAsIDAgMCkgMjUgZmlsbCAvIGF1dG8gLyAwcHggc3RyZXRjaAorICAgIGdldFByb3BlcnR5
Q1NTVmFsdWU6IFtvYmplY3QgQ1NTVmFsdWVdCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nz
czMvY2FsYy9yZWZsZWN0aW9uLWNvbXB1dGVkLXN0eWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3Mz
L2NhbGMvcmVmbGVjdGlvbi1jb21wdXRlZC1zdHlsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlMTVkN2Ex
Yzc0NjczYjI0NWI3Y2Y4MTVjM2YzMDUyZmU3YjdjMTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jc3MzL2NhbGMvcmVmbGVjdGlvbi1jb21wdXRlZC1zdHlsZS5odG1sCkBAIC0wLDAg
KzEsNTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c3R5bGU+Cisg
ICAgICAgIGRpdiB7IHdpZHRoOiAwOyBoZWlnaHQ6IDAgfQorICAgICAgICAjcmVmbGVjdGlvbk5v
bmUgeyAtd2Via2l0LWJveC1yZWZsZWN0OiBub25lIH0KKyAgICAgICAgI3JlZmxlY3Rpb25EaXJl
Y3Rpb24geyAtd2Via2l0LWJveC1yZWZsZWN0OiBiZWxvdyB9CisgICAgICAgICNyZWZsZWN0aW9u
T2Zmc2V0IHsgLXdlYmtpdC1ib3gtcmVmbGVjdDogcmlnaHQgLXdlYmtpdC1jYWxjKDUwJSkgfQor
ICAgICAgICAjcmVmbGVjdGlvbk1hc2sgeyAtd2Via2l0LWJveC1yZWZsZWN0OiBiZWxvdyAtd2Vi
a2l0LWNhbGMoNXB4KSAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDApIDI1IDI1IDI1
IDI1IHN0cmV0Y2ggc3RyZXRjaDsgfQorICAgIDwvc3R5bGU+CisgICAgPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiPgorICAgICAgICBmdW5jdGlvbiBsb2cobXNnKQorICAgICAgICB7Cisg
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1zZyArICdcbicpKTsKKyAgICAgICAgfQorCisgICAg
ICAgIGZ1bmN0aW9uIHN1YlRlc3Qob2IsIHByb3ApCisgICAgICAgIHsKKyAgICAgICAgICAgIGxv
ZygnICAnICsgcHJvcCk7CisgICAgICAgICAgICBsb2coJyAgICBnZXRQcm9wZXJ0eVZhbHVlOiAg
ICAnICsgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShvYiwgbnVsbCkuZ2V0
UHJvcGVydHlWYWx1ZShwcm9wKSk7CisgICAgICAgICAgICBsb2coJyAgICBnZXRQcm9wZXJ0eUNT
U1ZhbHVlOiAnICsgZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShvYiwgbnVs
bCkuZ2V0UHJvcGVydHlDU1NWYWx1ZShwcm9wKSk7CisgICAgICAgIH0KKworICAgICAgICBmdW5j
dGlvbiB0ZXN0KGlkLCB2YWwpCisgICAgICAgIHsKKyAgICAgICAgICAgIGxvZygnLXdlYmtpdC1i
b3gtcmVmbGVjdDogJyArIHZhbCArICc7Jyk7CisgICAgICAgICAgICB2YXIgb2IgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZChpZCk7CisgICAgICAgICAgICBzdWJUZXN0KG9iLCAnLXdlYmtpdC1i
b3gtcmVmbGVjdCcpOworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQor
ICAgICAgICB7CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAg
ICAgICAgIHRlc3QoJ3JlZmxlY3Rpb25Ob25lJywgJ25vbmUnKTsKKyAgICAgICAgICAgIGxvZygn
Jyk7CisgICAgICAgICAgICB0ZXN0KCdyZWZsZWN0aW9uRGlyZWN0aW9uJywgJ2JlbG93Jyk7Cisg
ICAgICAgICAgICBsb2coJycpOworICAgICAgICAgICAgdGVzdCgncmVmbGVjdGlvbk9mZnNldCcs
ICdyaWdodCA1MCUnKTsKKyAgICAgICAgICAgIGxvZygnJyk7CisgICAgICAgICAgICB0ZXN0KCdy
ZWZsZWN0aW9uTWFzaycsICdiZWxvdyA1cHggLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwg
MCAwKSAyNSAyNSAyNSAyNSBzdHJldGNoIHN0cmV0Y2gnKTsKKyAgICAgICAgfQorICAgIDwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0cygpOyI+CisgICAgPHA+VGVzdCBj
YWxsaW5nIGdldFByb3BlcnR5VmFsdWUgb24gY29tcHV0ZWQgc3R5bGVzIGZvciAtd2Via2l0LWJv
cmRlci1pbWFnZSBwcm9wZXJ0eS48L3A+CisgICAgPHByZSBpZD0iY29uc29sZSI+PC9wcmU+CisK
KyAgICA8ZGl2IGlkPSJyZWZsZWN0aW9uTm9uZSI+PC9kaXY+CisgICAgPGRpdiBpZD0icmVmbGVj
dGlvbkRpcmVjdGlvbiI+PC9kaXY+CisgICAgPGRpdiBpZD0icmVmbGVjdGlvbk9mZnNldCI+PC9k
aXY+CisgICAgPGRpdiBpZD0icmVmbGVjdGlvbk1hc2siPjwvZGl2PgorCis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvcmVzb3VyY2VzL2FscGhhLWdy
YWRpZW50LnBuZyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9yZXNvdXJjZXMvYWxwaGEtZ3JhZGll
bnQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmIxZTUyZjgzYzE1ZmYyYjkxZjVmYWQ5ZjM2YThjYzZiMDU2MTg4
Y2IKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDg4Mwp6Y21aQTBUfVZANTd6Z216P1lJdT07I15k
SXBsfjg4cVdTJDxYYENhb1Q5bm83ViE+ZH1fSk5ob1oxbHliOWchPnkKeiVyNSRyaVZDYEBDS2du
cHR3V0c0RyticDxxWUZiUjFJZyYzMz8rTDBiQWZjUm93TUtqZjhYPUcmd0YtZVhYUiNuCnpMUnRj
Mk9tRXNeR31BU041M2klfGA8QjJweF5RbEp5VWJXKldOMyNha0FBMG1EPWdrQmtJUT8rLXNvaHEh
JkJvRgp6Tz83cyspOWtjNmp2YWpFRU0tZ15aISpmZWtBOWVuKVZBdVkoXzIwck82alhWRnVKIXtD
fnV5Jm9mZ1ZOPWdWZTsKelNJMiQrWmQqeHFjaT96WD9mbXY8dXB1WXF0V05EY0hEMnUyM0gtSnRB
eTItdj10cUIyU2VZeCheNHpMfmlJJnRHCnorVFpvTU5oeD9hWnZEQVZtdylqQFlwTnZYPj1MaVBX
Kk1RPyRpSmJ5Rkd1U1lyJEhNKTV1KUIpcUU2NlMmfDQ1dgp6Z1A/clM1SyQ+b1pKLXNQRmJKdCVw
ZmFNeVZXTipuSnFCZmgtaHElQjF7SCRkNklxZUUyd0RrM1R+PyZOZll5T2YKelM0WGFQel9WfWVe
OGpIZVh7XmJnc0xBND1oem85KkNlQ0pQa2skQ09XWD51eSRkV2tMOGxTflM2QU9rb1AwJko8Cno9
T3ZjbUliUnBlISUlRiZtPyRoTmxBNEBvNiRFfiFNd3k+VVZhMT1sRWNYMD1Zb1E9ZmAySXBPVXFH
fUhQN3xIPAp6VSM7ck54ez8hanUpI0loQWlDVXZKLS1DeWczI3IzYmZ5S2c5RTJ7WEJRKj0hTmJ+
PypvPGdiemx0cS1jcE57P1QKejYqfjN8SShBMTd5JFBjKHFEUD1pJl9qQGVzMGdHN0p0Zi1YQ1c/
UnhMNENDSHkmX3VxRTtfeXk0fGA1ekM/QEkkCnpuZStXcF4tYngqQzdNeC07U21oeShRdVdFRFhM
TDE2d3JNbHFUd1ZfbjM8SX0tRCtQZFFHKjFZPVF1aDVNU1Y4ZQphIzxaKzE/ZUA+Rj9PaDd9WW5a
OGAoaWtZT1p1JCNuZ2dJZFYKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NzczMvY2FsYy9yZXNvdXJjZXMvZGlhbW9uZC5wbmcgYi9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvcmVzb3VyY2VzL2RpYW1vbmQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxMTEyZWZjN2NhYjVi
MjBhODZiYWU5ZTRjMmFlYmQ2OGE1MjMwYjAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDE4OAp6
Y21lQVNATj8ob2xIeWB1VkJxIWlhMHZwXkFUfTJWODw2WlpJPT5mNEYlfTI4SjI5Kn5DLVZ9PlZO
M0ZNY1ZRQEkKej13VWNfYEgrcT1QPXZGPEJlSXgqZm07fWE4NXc1SGtwSyNebXc1V1J2ZnBBQT1D
bHljVGtzJG5DfWlYNTt1cz12CnpkRmxqNUpfWkd6TGtJcjxtLUpWWW1PM2k4eSlCaVlPQFZYTGBJ
a1pRbFYoP1Z0dSlGSG4pLTgrN187S2ZtK1I5ZgplUlpTNEhXOSl2U0BWa0RecUZYPzc3KDhBNVQt
R0B5R3l3cGlLe3N2eQoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL3Jlc291cmNlcy9tYXNrLnBuZyBiL0xheW91dFRlc3RzL2NzczMvY2Fs
Yy9yZXNvdXJjZXMvbWFzay5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjc5NTdlMTM0MzkwNmE3Mzc3NDA3YTc5
ODEyODJhMTg0ZjhhMDA1NApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgODg5Mwp6Y21WO3VCMH1B
WFApPGg7M0t8TGswMDBlMU5KTFRxMDA1LWAwMDUmMTFeQHM2PnZHPTUwMDBrNVgrdUwkTmtjOyoK
elA7emYoWD40VHgwQz0zMFM5dnRtLVBobVdkI2AocSpFfjx4NURfSnIjfCYzOCZtIVR2PURCOyNB
QFFXbExvfj5jCnpzZ05RbWkzJitsI3h6S3hsMnBoT25aa1lscHFfV1YmLSQoM2RpTmheZWFgM1hl
Zkg8PGJKalgqMUYjRWBMUEc7bAp6MDF5LSRNekp9ZFBkTWJ7T3UpU2NHJXhgdDVQKnE5cmlTV1NT
KCg5cXc1NkFUMDAyQ2ZDeHdPdjhrPStwZSthPGsKekVFfkNTJSUyfU5ffElfdzBEenwpYSZpVmg8
TiQhblhBQUVLMDR8UiRZekZ7Ymt6dGA+MEVqT0RhRkttVW8mWlFKCnowTFc0N1l6elI5RGdlT3lZ
fmVjcWZjTXpLLTJpfShBcDMqP0FnPStpOUtvSmAhMnF9ITBJWkl1N25LWnZtamVKIwp6UGJ4Vkcw
R3x6aihnX0wqQGRSS1MwRHp0M1ApWm04K1g/X2s5JiZPZlkpTipIMXlFLU9wbGtoeTMhd25peTgj
SEwKentLSDkyMU10KVYpUXx0ZUUhWTQ4MDA+ViUpcTleSjAwMUQmYFQldEFYdFZfPjA5LUQ+TWg9
Ymt0QmdrNUM8ajJsCnoxIXhOLWhmXlo5PnhDZV8wUkxeaWI+P2tEQkxGQT41Q0sxVWdTYTg8cn4m
alM5UmQ1Q3t5Q0V0OT5aM2BEYXN3cAp6VGdxUHw3JD5ZTkdDYG48KElqRmVlQFRUKVBzIU5KY0Y0
KWRYWVhFQkBZd3ImcFJyUUFpbUdheytKPVVNPTRHdlUKejljQTUhe1lgcG4ySEoqNiM3PzZYV0FU
SGdDak89OyU/aSF5RWpsZW50bWJXKVktUXxoPnwtNWo5WT51UW9zfHplCnp4bG9USnhTbilOYUhv
PVRKekJ9JXlvOX4mZGB8bXpfXmshKDNHQGljM2Ekd2A2WTZ1K2tnfCZeNVhLKFA5PkUoYQp6OG5y
V2VQbUl6cnR5cUomMU14PTNeJUstaSRSLUxWRig8QTZIRnhxdV4yPHxDUEIqN3FQUiZrPlBBNnJV
V355Y0YKeiVvZmFIJWNhWCpKVHNveG9uTCE0PnMtKXooK2olX208IzRGekFDKDVSOXFaVVZ0UHNC
KHArZ3ZTI3I1ZWc9b2NHCnpXIXZUNERgOGNLdEJFeXh1THtAVllVaSNFVWNYdXdUVGleZmRFPE0t
K25hcmo/WUhqVXU0fTVpUV8hNHRfZ0lUKAp6dEx7Q3pkKEhRJDUwb0NQdz5Abnk/P2B5KS1sX0xV
eWJJbStAb2Bzb2BJRmNsPiElVj1lPmBqTFA0MlZrPWpuZXAKelAmdyFgQnQ3KWBkSEp5RzN4Tzll
VWdve0JkKEhjTFleM31SY35vcmwtUGA7el5MTG5jRSNxTW0zS1FTb0grLU9lCnpSUSZqVF43MUY9
RGR3cldwTTlyIXJhUWxjZjBoMF5fTntRblpXY1hURnQ9bF9eZ0d9ODxuT0VWZ0AxZWVBVEJVMwp6
V0clOFVydkdJOG5aRzJ2Xm00Zys8QClPOHg7dT5xMEs4eFlSfWctcjdVaFJfIW88XiE7IStzbW5D
ez5PKkBgJkAKenhyMkM5YEh1QDQyI3R0bmlzbGVMaWZjKCtrWClCP2w1VWxlbEZpdClBbiZ9cFUx
NylHelo1NXdiZCs7Y0tCXzZICnpNYF5UWkVeNW9eOU0oPFMtPXoxPjBBb2xYP2wqRWM7Qk9wckZ4
ZSFfXnRAUyNkNCl4bFd3cTUrPmpzLWd3cXRmYgp6OUklZGpoanUjY2JKalYwentUPjJnUjgzPioq
JXlQO2M8ZVQ/T0ViZz1sIyY5Ji1ieGtxa2w8Mk4/PSUhTjNkMGgKelBOQDcqNWVnZD5PPGZMfjMh
alBAazktc0xJe0g9MkBVaDw1bWJqdyRuQiZkfis5eEN1bkd6UzEje1lWRHZOXmYoCnpSTXpSMzZy
V1ZmR31VeVdiWHZ3bFc/TlFxYzR8Jj11RVFENEprZmx9QTN1QlYtMStsSUZCbGh5NmY5aFBSRzQ0
bgp6VTk0UCFEKFN5ZVFoS3peekZmT3ZNPHU+Oz5HSWY+aGdEVjg9ezJFTz9QfUdvMzBfO2p7O3V2
cGVjNnF+Mkc1KHMKek12MkM/VFRnRmFYYlFaZStzeFZnPCEqYVJRRVNYU3J+NFdZTUIzMThVKXA7
Kz9tUjUrSnBHODs8QHtLXm8zO0RuCnpsY3RfQ1BlWSFXX3NhRkxedig0VDRBYyF+NEVhM1E4Umko
Q2R7T3JAQHxFVlJfMTdJRSpXTUoyb19jJDklPC1NKAp6eFdNQDBNRjBFcDU3ZHZrbE1JdFhwVXpH
PmVIUXZXSGVLfF48KlY0JiNjeGskYSVVYXExbTwzUyZ6cmFXOH4xblQKemp9ckBlaTxyZnNwRVhO
YSVnSFBHdDUxR2VZeXtEMDBEdVB0QWoxX3tNYWFsbylKZTF9Q1c+d2xtJSRMb3FgXkZnCnpQaTEz
YTU5RGEhK35BaHNHMjsjM0pJMD9Wa1N2JVhiWEtAYjxlRiRSO2kxQDVAcVVSeCQofGpwUVo+QH5K
N1otPwp6dmN6NG9hX24teTxVajhvLWc5NH1XTik7aF4qLUBeYjRwRmgkNW82fW5OKXw+TzROZmpo
Py0ockQ2TFEwLTh3YjgKenJ9biQrRGQ7V2gtIVY5NVhoVCNyNTs7SkJWOE05Jjs0X211cmtCaTsm
MyFCa0V4dVQwU25hY1ZaKytJciU5aEpeCnopVUx1bCpnQDQxOUdATDNhUG9GbWE5JW9tKlg3c3w/
SVdBNj9RU1JDJX1BVzI1c3hDV3RFWjZYaH1UKGY4eV5tegp6VmMmQ3BOQmp4Pzt7azwlanpPJEpV
QlU0b3N2JG9APnlJOSNzOENqQHg1R2xpQ0J0N3VCdTZTbmp6eWkwUipMPSoKemxZNUw5aTtlQSV5
QlAwKFRyK193VmRPLTRxSVomNSh5UEJ4UEM2d2tvTUpnT2JHazMoTXJ2TUtSSnZuXmF3Y28kCno+
I1U0eSQ/U1ZNdURRNn0jeHdxVGw2bWoqRlAoS2VDd2d4M2VDLThsZm9qMygjcGM0dUJJVG1SOz5N
RWpPWGA8NAp6T0NPYmBtME1UdlJFJD1aVWlRMTlRaVpMMFF7N09MZERYd3hAUzRjQTw/R011Pmcl
Jl9MXlhLY2Jab1N8V3FlencKelk0MDZFR2hfNG8tUWt3b3QlZGd6Pyl5QmpZMTM8MD5yaV5BKVQj
MUZ5LVZZPFREUmc4c1VFSkx3V2t4a0BfcDM8CnojelhqRm1ZM3VhcDB+YWVyJDJTZ2R8cjtEKEV6
c29KXiVvJDNjJEg5MEVldnI+QEVVaUlzaXlsMEMya2xTZ2A9dQp6c1JQUG9DIW9YKjA3NFlgXk00
M3s4clhtejlFVGh6aGVxZ3g9a05qTVZIMDZTMVE5dHozJFp9bGt1YzttUWo5YnIKeiZ5WG47M01H
b3RMQWp3NFFCfG1aKUN5VzBaSGJPV1VxejIlU1RLNSsydXYremwxX3hxaTd0PEI1WCpgKyRFSU8+
CnphMTF5VFRzbSUkb31acGZVcWA+bVY5OEw8dSp6dTdjJEpCY2lOdGlEUyYldH5kNXB6fnIyJFhD
cEo4UVNPPVA5OQp6I2okTyQkOCFNMzJ+SVRVMmArPnlmZzg5SmRGWGkzZEhIeSZgU2tmZEBUVXJC
MyVuNVk2ST5VezZjIVZ7RFBrLSMKekRqR19fNWxZM2gjbTItRkJyR0o9Yl9uY1Bseko/a3p0ZEds
TkBoO0JZMWNfUGR3RUl1clFOLUlzdWp9cWhBRGROCnp2c0UldSk+UFQ4RHliJUAmWmktdURYdH4y
dCpMV1IqS1dWN297eFU4TDdaVmVAcktiJFY+cjBpI0xNKSZTJiNYZQp6ckhxeEFiKTdCUElvcjI3
TiomNX1UMDg5UygmZnRTPUlVTmFuanghcnA3SSpeRzQ8e0NjTF44e2tfKE94ODh8OUwKejM4dUQl
XkYpTTJ6S2tadWpLKCZ7cnpIP2klcTFuQzxWaHwmdCZxfXxXfCNnY0did3ZsJmlJKjx7Sj9XTTdx
fD1OCnozO1Q9UEZFeTM1UjZNLWdVb30rb3l0ZTBoWFo+KSk+QEQ2VmdYVn5xT1pWQ3pqSV4oR05f
WThvdz8zOFZQNDhiRAp6YXZRJDthJXNmdnQ7VHJVJEo8bD4oXmcrU1d9b35gUy1pRkV2UCU4TXpF
MFlaLSZvbTlyRDE3RkcjVVZpZ0ZZT0EKejIqYGtQWG80T1hnRTw1Y2MwP1JlTFdxYlg7KWxje1N4
NSFhajBfLU9QLXY3V04qbT5oTjw+d29VWkpzUUhGTjtGCno3KElsK1ZZRHp8bXxEIUk/VkJJTXZT
QlQ7KzFNYyo1NiVUd2p7OFFoTFozdUckUk5mTCZkfGRzJktTPSklQjAwcQp6JSMzMzhYQzd3UiYo
ZVVHeiEkSmB2U3pjZnZFe0p+dSRPVns9NGp6Rz1iWWRRPWYtZW5eTjh9PzszZXtvQGBkd3IKekA7
MzxCMyM8djIzTE87c0RPQDZBRjB2K2lnPHZtNkN3NWJ1RUZtdU9MJFlmfXV+ZWtBPHhVd0h0anRI
KndwfUgxCnpAJCM7X3dmQmhacCgley1lVnx5akAzZDAxYT1jMnE+TiZNQ149Z2ZxbnlwJDd3Uj81
bT16aVAzcF5yQ15INiMqIQp6amp8ODQ4aDx4b0d1MVpwRitYcTdZc0Z9TiY/ZClyJXdFQUUqPlRk
eiohakFQej55NXM0Uj00JUVpIz5fbyExcmIKemJ6Y1grI3NLY1gkZV4oaCFfWFRQUUVFOyZJd0JA
PUp+fCp+QXZQO3NAcCN7ZnokQXZoJTlHVmtKeGcmLW9sVEYpCnojQVJLYDV6QjROKTZlZmE9WCpp
OFY2M3BEKiFtSihYO1ptPnJOSEloc15sN0NFISh4cHh7ZXpTSD9RNCMoQTNwVAp6WF8wQ2p5PGdO
dT9valJJZjMqMntAeVk1bHJhczk1aT1rdH5eKUZ7ZjxWSDJkaH5wOU84eiQrZFQmNXA9bGJudEoK
ektKKXsjJGgqWTJKaCZSTkhvbmZZZiEhRn1FVFVQXlhhSnhOTDY4VEhGYVRjPkt6STsyIX5rKFlC
OVN4NTRQKiVVCnppNHNCP3B7U15HKU4zPncrNjB8fj8hfENwVHJ0JntwTDdPdlhYcmoqSEwkdFpT
KTNgWm99UW9uNiNYaGcyKlZkZgp6RlVBaXs/bzh2JT8jIVFBcVZSWnBFdnElXzJIUTF1NShoVSY0
YCghJjZ4U2VrSmRacmoyaXtebkZNZjNhQSVWfD0KelNBPXxvckc9K091OE17YilXdlhPWl5pRk9l
QlF3PXI2Z148KF59P2B0bWBnK3hoVk8+LThwLSVEMEo8ZS1OJmF5CnpSSG12RnRNO21jaEtePkVS
LWNacnVKOFReeSleQDQhXj1qRDJPXkU5T2BKXzFuPTRyNFNzflZtd3lidEY0emBDLQp6UDdRfSRr
RHklPi1QVENLOWA4TDVkJWc5Y2BpYzV+M0plSUUyKGI+bVBtIVkqZ2ZtN1lNSXE3WSRHcWJ6a0dH
dzsKenBIeSkmP3YhPGtibjA2QWdVcXlTUW0kVH0+eypga2FOK0M0ey1YTWx7TDtBY3opR2hwYHFo
TSo8PVcyYz5HZ0lFCnprfmYhY2J2Sz1CQ2JiQis0JjBBITZLZH54ODJVKTZZcjRDIUMtcz9VcFQr
PiE7T0ZQSlVxcnYhXkxwWTwpPzNaNwp6RlhKV2U0fVgtTFQlR3piSl50MDtUa0s1ZloxWV5sX1hx
UDtmMmFNaFUqS0VsVGE1VEFgbT02SGVXYFBLfDhtYG0Kej10fTB3IW03ej8rM008PSltcHtjPFMp
cnpVY1Z9VE98NDY8ZCN+ckwtJj4jRjtNfnlOQFpaU2FYeTJJRzxsOGpmCnpKaWQ4KmJBfjJDYkVm
NmN4QGswa3QkcW1yMDJtRUkweilWU0dYdWxfKCVrKWpFaHNTamNNYzghVT1IQE11LXdNZQp6cDx6
fmIwS2Z3UFl0I3JeQV5ALWZBWipAI01oQ1lzIUlOWlkzSUlYP2goZTY3ZmR2M0MxMFpKSjZlRjlo
ZVVMLWAKekJvaXdEenlsIXVVY3ZVWitrOH1McHExRytQN012eXcqZGU/MEhufjFPOG84OTd+Xlpf
eEU8Uj8zQWVFYTA3KEYzCnpJM1VFLVc7QHI0cjxkV2pIV1ZmfSg4NnA+R202VkU/NFRWMFp+PnJY
ITNhbnwwVXopSmNgeVM1RngoeXFLbXIwNwp6S25QSTQzI2VjT2xSeUVWS1ZBK24yXjhAQUtULTFG
NEo0cEkxYjZgejAkPlUjNWFpflVOQ0NwTyN9Z219MXhPSjUKem5eQ3hgQElfKCQmJDxER0twPSNg
S018KD9WdHk8OSRKWS0kQT48RUZ7Pns3akJ+cFNLeWQlenNMfkEoc1Z4JXlOCno3LWZ0O01qTkFw
UTNuRXMyT3xMVDckdUF2TWh+TmwoWm5jWSljYTxkWDh6PmFzKlQ1PUduenNtY3RKUSZ6emMlXgp6
UldJYFlRVWhEUEl7Kk5kNFdLWHkwSEF7JXxGM3J6PGBvcU4wQUxVajhjcCVAQGVMI0JnQHkpdCRx
XjApbFh1R3oKejZjclRJO0N9JH5yZ0ljWGFpaXp9MDIzYHFMX3QofG9iOD1xbXolcn1ncTdefXty
fHRXY1E/NW9UNll5aUJhSTlNCnpMcDxramFLSklmZWkrIyU/T3RTRFVHfWNQOHxjMXcxdzQoPUBn
dms+PlFUR0d4KDUmdyFzRj9za2lINiNITGYjWgp6VWFtRlorOG9mV0pHeHJfMWFDaThWY1FKT3Rz
cjJfVHwzYFlFKjdTPl5VKyRudnpoWHVKV0libjwlPEMpJUNxJFEKekM5VCFMU3ZseEBeKkQyX3Ni
fT43UzNTPDJQcXA7fiM1LXE/Rj9wRDRPfnRBfVd7KXY+Km1KM3Ribis0eUdjWHgmCnpuUkQtfDNO
ViQ9Rk0rZVNMbzFMVjdefl4oYj5DNkZGZktffnViWmw7QmlZZEUhTHtVQWJvfmtCa0UtR0x6UVZF
Uwp6K1I8QFdZcG8rQFBTP0FTKG91Yj9kNSklQCo+TDgxejU2SH4pZCNCNVZRVD17ZCgwfkB0NT5F
WXp9aD11S3RMaUcKeko+Yn01LVpkQTJgTj9EbyNKWGFYWDdadEgqKSohI1M7Y2dJPTg5NEpFYFFw
dzlvSzFsSnRpTmVDMnYkSnU4Mk5JCno9ZSU7ZmVOQE5GYDZIO2hNaV8tJjQ/ejFsSV9IJlI+cmtE
b2klOT5OdE92LVI0VjghTHp8e1JMczw8VE1oJmBLRQp6OTt5UlZjTTw2ZS13Y296b352ezJMWSU4
T3Ila2k+RnVLPzxTUGokQmMxekJRSmNubzwhV1ZffDQ5Y2tVRzlXVm0Kem5SRXFDdyFUTiNRaXNl
U3l2WXdwX1BFSE97P1g7eUkoVDRPZ2BoQElNcSNAR3F6OWJkZCZlUnQ2KD89JHlFVEItCnpeMUJF
OSNqO3Q0dmAlPGFgfElDKmdZKUs7KEV2c0R2MCE9LUxORmBnSX51b1RLdzFkMSZ5MEpEbGd7ZU8r
fE5qMgp6VjZIbChiLSVYUEsoPTttSzsyWVhJJHgjVWJRbmlhdlNGSkFsSEN4ZjktUUsmeX1CTyh6
TiYySkc3Y0hSPXpaMzEKeiopfFFRTkRPQW5SfVNOPlEhKlcwMHJEZ0hqS0Q8V08+eT43VTVfcG5O
KSkwSWZIeDhPN1FjUDlucD9Jc3MrV2IxCnphPzklTStsSSlCTHc9QlpuP0ROYzV0UHd6PDdtbnpI
eU0tYCNGcVkrWENTWlljbXFgQXghc3pKPlFIWDtiamBwJAp6RDNRfiFWTEpvemdaUyhAWHkldz0o
JSF2OV9jQH1YajxqUCoyMXBJJnhCT3x9bWV4UkMlc3hfc1F2fG5aSDBnTikKemNJail6UiVpc0sy
Y1g/UG9xU1BQWFUzUSFlal48TE1rfT1aZzcpNFIoaEprdDlZNXFiYlowPWA8Kz1TKWVROHpLCnpE
V21hUkhpb25TPmghMWh1dldtLV57e242QjhXKXJZJiNrfFk5Ukg3QWB6O0N1OFVzWmpKX2kocERQ
UHhic1dhSAp6cXpCfEBrVmJBQU9AUThFKG8+ej5jdSpvM3plVklyYUM9NXwociY1MFEmfD56SU5y
Tlg+QTdVJm1LSUYzU3g2KC0Kekx7S3NsbytIN0BoVkJlWDFtdV9lMFFuXnQkbW0pWU96b0VDJHho
RTNvb0tAMnR2QX1TcUs1Rjc8ZEY3JkRiN0ItCnp3Xjd2dFdkK0ZBbUtsKDNgKjUhM2ZocHB7KiNz
ZUZvSEZYdkVQUHcxKU5jMy0+fDVGIWI5IVVVWTsyamAhXm56Jgp6WS12NTdNM1dtMDwoSnh7d3pT
dT8rZmBpeUcycVIjMXNyPWd7JUg7KHBAfkVfWTxvYEd3b2pBSjlNZnllR3JERFUKekVhXj5kdl4j
I3Y1MEtnXkoob218WHlJaFRJMkZRfGo0NUB4OypAcyM8IXNoRDhNbG08aG5OUiRHX2Z3Sik3aip2
Cnp4dWt1I3l8NWQ+dUdgKm8lTyh4czt4USVURnZ2OXt4M3E5dGh5MmV1aEd5biN4YUUtKUVke1lJ
YEp3aTw/RjV2Rwp6VVBvcU5HOWxhcndmOGsrRz91S29yM0pGMyhMXlg0VFNqMWRfY0Yzaj14KnJA
TzYhc35XTTlFR0JpQlhhZEhaSDMKejB+NHc7KExvKUhMYnB6UFoqQEBVeyFkfnNxblM3WjxxPUBD
VnFHJHRhZUdsRm4kKXklK0lPX20rV3c2fmMkME53CnpzMEwtJFFEX1dsS1lNVEBBVSgoWVBvNz1W
UEpWaHF4T2IwN2ZVYFF1TDd9XzNXQ1d4Ki1fYEhQNXR4dz9YdCFpXgp6NXN+e0V8SFFVMyhMdTl1
SiZyX1JxRGp4WWo0UE1TeF4+dzBvWGlXO3BKdVBZV1FSPm50QX1xfUk3KE4+bUR4aE4Kekhfayok
TTAtS1dtUEwwNFNxPS1PZVcjN3FCQlNweXpkdTBCTmoqKn1CREZVPCl8T0cpZ0UzbVdXUns1NzVO
O2RFCnopKklkMSRVQGBFd3ZRJHk3REB8YV5jXnFjR2VBYVQlNnN0bnBQMWlNQjR1TXIzbn1gYzF6
SVlLcGhVQjkxbSNoSQp6WjFQfWlkazshSV9TM0hxWkpCcEA5NnhGaHkpNnBZQ159XyZmfEN2M2sh
IVluSG08YkNHUkgpM2VZe3pDQzRAKSEKekhKWU17UDg3UClXSkgmZnozbzkhc0Fzczt6QHRLVzF8
PUZOKmdXPXAyQn1AdnYyYUdBZWQlUCFyYmshcnFQWWlUCno2dFhSaD8zZ2BeTHwpam9fd31HOXZ1
YHc+ajl7JDVpUWJuLT55XjxzTkFLLUBqSHQ/VGtRY3JZa1VDXzA7aEF3cwp6Q1VrZVY+KFY3NUV5
Z2prJCZYSFpLemhKZFhXKDlhTV49d2hkZns1PFl3YyVlKmwxRzJFZDh3M3Axbnxfa2UpZWEKejJC
Pnd1WGw7e1NMPkZnfD9xd3Vab3plcUVPa1Z3bCMldTJnI3ZYXzRZVE1wbDMzPG9SKm9fVjQ1dHoq
RTlmanxBCno3Km4/VSl9ZFFXVU4yLXZLLXhhYjkxPENvSzFRdXFfQmJXdUk/KXM1SiRYQEJNLTlo
MTwmbmNUSk52JUtBTHo2YAp6eytfZEtXKjVeRGtlTT9eWkwzdm89T3U0K15zJWFBZFQ/ZUFpcEhO
N1QzeDJDLT5Rd2JmZyZmZEsoO2dyLUZOdWAKeilCZTs5TUp4dXdYaD8qSDU0MX4pdFVKLU1tMXVp
ISU7NW92aiU4MUVfTFNURHB0X0RHYzEmc1d3KTluPW96aVFnCnpzTz5XbEgpKkBJWFd4LXl2WTx1
e2g4aHIhZz4xYzBCYVF9VTMoNTlhK3VNYWAzdVN8YHhvRmdPejBTeHVXUzJlewp6N00zfHIxdzx5
cXFjRCYxQXxPWUQoOGBBNGMxKipsOVpgcXl0Mn4wcU9qPU5UTWczPjxwISEjSlN6fTN2YEUxVysK
ekg9YVN9OW5UdEBzbi1heVZmJih2VSEzelQmc0Y4PS02VGplcyZEfGMpdEZLWElUWSloKj9BM1Ex
ZzU8e3NeaXs1Cno7Q2NDT0RsTmkrRFRWWDtTfms1fFRkbzBSMXY7Q0BvKWhzSyZWRyk3SkErZCli
PHoxVyRRMitaTlEqaz08QDU0bgp6JDAjaipfcjJ1MTV1NmQrVUw3aHhqc2hRJlMzZSFQNWRmNzMp
d0A8XjdIZiEjMD0rKzdUUHNnPTxHbGB3QH1UUkYKekVIdWZ2bV49fTE1eWFtNCRTb3RTKXxTXmkl
UyhoezU/UzdXayF5XnVvKEdFISFDc2tGXyU+PDd0cnlSMitXVEJCCno2RzRAXkYxcSVwYUMtbEFL
IS1tWTNRPkVvITFjNXBRKksjWEkzLWowd2MqRypCKzRfWW5ESmxsYyR2TlRVNH1jYQp6M2cxMDko
K2RzTGtSIXZHPX5aPiN0Jkx1PlBLaV9yMld2TGE4ZjhfPnBuckAydGAmWFhKSE1vRGNhST1ATGRq
fjIKekBoTmt5Sjw0NEl1WGlta3RQZFkwTXd4diNFZVk0cmNQbn1KUlBTVkM+R2VqcV9rWT9PJTFV
RXdgTHZKSkRJP1dvCno3d3J3RCRpQ3luLU4jUXIlPEBnb3l7P2dHYkJ6R3kpWU9CSDI7fnFAXjhx
eUVjIytXJnBgMUZvQ1hgZGRYO2RmPQp6N2ptWjcpMkw5Y3A/M3JPSDF+VUVENW5tcDNGWHZxbm92
Iytyd1FlXzhoTVBrWTJENVc8O1dkNm1GVFFjR01lQkgKenMmfEhSWUVWcm1yLXN2bmEld25ERDVy
K2dnbVAqKU8oPl5eKH1aJHJJSzRCSll5NU44c1NXaGJQKS1mMXZxRV9XCno3ZCpvfmJtXj42UEhu
NEFBRDlXeylOcTxtUDdTOXNMLX1yRnZlVnF9czhGNyFmdjQmazcwUmhNKWBXNnVJODcrMAp6aFNM
JERvYTBTUy1lMCZxZ3BMU2hxLXFCb3VFWU43c1AoMmEwK2VoNlpgQmJhYn0mPD8oPntRRUwlQyl7
OWo0SS0KeikofnlESDxWVWV4bj8lTHgoRFo4RE84V0cjKW1fV0pDRT11T1lSYHVLSlZlU3VsemVZ
UmU5fGR3YyY4dTZVeFo3CnoqdH5tYnIyMTZhaV47b3QpRUYmJVl4T3BjKlRgIz55Tyo7MlMpPEl9
SmV6MD5yJGtSPDdEQVJaTGV5fj1iP29CZwp6OFRHJCFWUExmM3h6ZElgVjc+JkB0LV5PVTRxUV5e
VTN8QXwkMmBjO0E4X3hqJiNUOWo5KC0mPlYxZXlEemRFUisKek9tcmdQcUp+QUNWO3ZGd3ozaXAr
LUNFaEMxJHs8JlB7Zk1CampwI3pKRnJrOTJlTnNYYV9yfm9HRURAbzF5QUd8CnpORkMwUEJJSzBX
IXo+Y0ZwPzk4ZjtpISZfd1p0aXhqMD58SE41Qzs1JUJ6RnRsJURuO1VxKkhGMEYxV2lKS3Bzdwp6
aFM0amt5ZndsJTw4PHRrODluXz4yVn5IQkArTG5jaHpZQDIpSWphVF9LbSU2Uj00YUpyQntxOEdZ
OGFaclhpIzQKekNpUGA1VThrY3Y8dDtnJW0wezFKWWUjaW17OXlNJm5MUjA0PDdROE5iLVZwNzt8
aXs9VHtIcjNCJlhEfUFvSyFSCnoqfkZ3UF4rY2EzZU07VUBsfWd4U1l7PHhmeUUmaDReN0FLI0ZY
c0czZWdNX3lRRiEwbUErNGZ6d1FYbCV5ZzNfYwp6T0JQNylvWHdOZnBWZldNQEV1dmMtN19IQzJL
TzVIRG5BZjVVQ2VSKSgwVENuajYrYGA8VHx6O2J6OXdwWkBZQFMKenFVLUNydD01S0hGUEB7UEZN
fCY/d3NweEN3az8hKSYtfEk7NSFeRUIqdnUoV0owYSl2ZlElcnViOyM9NXR0eW5yCnpzdzBRZ2Ng
e2RJOHUoaiZLPksjQ1ZaJH44YXMmdCZwfCpgZV9QNXpyVX1ZVEMpPHhIRWFYOWFCJUlHUVMzREZV
Ugp6eF5YfDhiS2RuV2tSRnNyMGFBcEF2aDZMOThjWV99LXE0PWFwSGM8Tio0Z05TajYrNn43U3dQ
SiRaekBNZipMZV4Kem92WSs3Y19nPkFvI3tETDxkb2kpTDBnI3xwP1ptdiRHYWI+SEl7X3o2U0l+
eCtRdm1kK1V3cFZjU2BUYHNBOE5fCnp4MmJOc0ZTRX04VF9kRD5eKHxAYip8JHpkNFRxaj1vJkom
Xmh5MFJmJG48clpPSjN2PS1wbmJ7dUBPe3ROKC1pTAp6JEZ+MStqI29sRGczK3NReDBiJjlXKnJo
dVZtdWYla1lEME1YM018SUJiZV90cmJIcCEwO3g5PzsmcT4oZXljaVcKek5nMCVfVTwtcW5OMXg5
Y0VyVUA1WH5UOHxCbnplWWN8PThTJHZ9eUslcGtSVyNLSVdXUyRfX0o/ZnZPbTZpUUdkCnpBdXVo
QlpQU3ExOEBqNzlZK2VobzRmI2lhKGFMLTliPW5LeCtBWjdtenJSfXJQU2slMFFYJSVDSlNaKUlO
S0VMcQp6MEEqVylHbiE/JEAqMkV0NSk/dEhfY2xHY1EyMV9wNEAmUSQqSEckPjRkPnNJeVFLJGE8
XkR0QGMxcTczXipkJCgKelk0Mz8qOW51VEtgdWVTbT5ecWYtJlFWbTJQOUJzTiVyQyp0aTUkfjlD
cChfWiF1bWg7eXdVTX54b3NPSjhzflUzCnpZITVENXdsM3EtYE9idXJvOXQqUGYxQmVUbCtueF9m
b2JiaygkWGNOQ3xxYW09Kl9VYi0kTDNsVGdhfEpEZT9eRAp6NWRlK2NyS2pDQmU3Xjt8WDAqbXhU
YEtiS0JVRlBqOCVKNylMfUEtJkFwSiYwSF8lbUxoWkx1clJAUjV9ZUdrWVoKeiYlQiNaMlElJUNY
NWtqaC1APUQrNFE0aWB0VUJkZ2dtWCRnbVA4V3x1VGZZcUp5I1IrZUc0VDVudVFWXzglQCNKCnpq
RVBjYzdPdnM2ajtXbjkxMlVWMStqPil3X0txb3wyRCE+fTxGcCZQJTUlN21mVmB7a2VoTUNnb15q
RkslNypUPwp6dVpIbHB3XypGWTszY0NoYm5DUk9tI3VwJDFaQyFxWGNpdjlzNWtyQygzQHB6QW5p
RVBiSUl1U3FEPjJOZHszY0gKeiUpbXJUTCgheHNufmBVNGR6ZGhlPyEmIyQtZF9vIUY9aHM0Nmte
ZjFzS0ZTYClWO0ZCKjt8YldxISFibVVmWkxnCno0fD5afVN0NFM5XnkqSyRySDBhVE1TSEZsPzFr
YH5KVk1iTDFBJjttc25IRm5tdz9iJXZkIUY/bkt3RSVxSEpmewp6akBCVGM8djhTKS18YDN7MCtW
cXw0XlZOXnNWV200P15yaDJqXk1RQUEmMXAyPkNMIyQ+WElVUDctIXdtJmN1O3AKemROWHZMWl9V
c1JrNX1JND1yM3k1TH5oeUEtKTB9cDs1e0l0Qzd8OH5eQ0pNKylEeXljej5GWVdHNlQwRUotUk91
CnpTdklCPTtsZytXUVh+aVJRI2NAKHhhNSg1WSs3P3s+NEU3QGZeMiQ4KmhjckAlMGh8OG1DPG9z
MFNqZyUxWWB5eQp6YC1gQm5FQ3BHNDljXkppVzZObXI8SDJjPGQybU1JSkV9VzgmaXRPelBEcmVA
VGkob1p5fD85aGphQzZ0TG4qPkwKeldwc1EqUm1ZVnJvcS12LVgwIyM1SihvbX5oT1c4aGV7Znxo
Ym5+LTZkQG1ZTE1xfGgqWSohcHxXSF9eTVhDMEZYCno8Szdya2dKfmZ9cEw8LUE3Vn4/YF9GMztl
Knszd3BVSCQ7NDg/T0JtVDVxdShJYkBHWlg2SHN6KVhBQSFNdmkleAp6WFhtcnZwKj1KRV9Rc2dy
e1hFXkBUMGRSV3BLdFE+LT09dXEqRmQmPkFMQEoyKnMqN31lSXgpYHB8PGFGT2NkNzkKelhBMzBi
bT9pZ0leM05nQWEqOz8zcnB+WG8yMzw2bj4yYigrZ1I8PjIkTW5GQVV9Yj0wPmxyRzBfWl4rZkU/
fmoqCnpvP0gqVzNgUzxRP1JgY1g2PFZlUG1wRztlcngpVDhoKW4zdD8hIUh8Xm5ifDZFfj4lUVZQ
QXVOSH5CMXAkUT5oeAp6OTJLLUo8Yl9FT05kNElZZytlPW1GYXQ4SFhRLWFwRFQyV3A+KTgjdFUq
P0xIU0BzIzBmc21MRXdgdF48blJgfTIKel54UUZXTzkmfmBRQmhkVHotLTROJkB1P085N0Ihe0Qo
ZnlpVkB3dU9ian5ad3lMTURSUzNPWUxWK2MmMD8laHklCnpROVpKe3BHQkdiV1I5dVJ5Xzs4RlJG
Q01gS1B7T0lSS2U4ZzJ0TCpzc302WXZLcmBvTDlKQjIrd19fbig2LWJmZwp6cClMY24/SzQyTGVD
UyVKVWVXUDBzYmBGN19aZ15KSzV2aWVNaCE+Uzc9TEIzV1N9dn15ei1kM3VeSShuYl9gaTkKekJa
M0EmI3ZiI28lUkRTbCl5YE43Vz1rXzZJZGpPVUsyaU9TdUJEUzdvejdnZT9iK2B9XmBqclNwM1kq
IUJANVZFCnpBZjVAbFVhPiRfMG5MdDh1T0YobkJjdHl6YVEzOUw+b1Z1aHRsbWtgKHNYdzFAe25Y
bkNzeDM7JDE+T3xGdXBVMAp6TkVKdmJwUjFGWHR9KmYmOWw4V2dIVjw+SHNhVGNKJH5mV2JGZ0FU
R2BMYUBQU2drXn4jX2FTUilkTnVQXzs3SV8KenRwI05oMUtBQTR1Tk1RI1FzLU9FRnQmblY/V0xM
dD53NDs0UWQqamkqNENaOSk7ajNhX052MFEqLSt8TDVOdGk2CnpuJlB6ODg+M2FWTUBMViVqO0VK
U0ZoPkFuZ2dRKDtZUyZlY2slMVZ3WmZEVnVPS2tyS0U+b2BFVjBmPFgwMDAwMApMTmt2WFh1MG1q
ZmBqPThBCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
c3MzL2NhbGMvcmVzb3VyY2VzL3JpbmcucG5nIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3Jlc291
cmNlcy9yaW5nLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNjFiYjk0ZWJhODY4OWM5ZGE2ZGNkYThhYTM3YjRj
ODllMWUyNjJlCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCA3MTUKemNtVjsrMHlPPUpQKTxoOzNL
fExrMDAwZTFOSkxUcTAwMWZnMDAxZm8xXkBzNiNseSo0MDAwMDFiNWNoXzBJdHApCno9PlB4IzI0
WUpgTDsoSyl7e2E3Pnl7RDReMDAwU2FOTGgwTDAxRmNVMDFGY1YwR2daXzAwMDA3YlYqR2AyaWdT
Xwp6MX52fCM2ZTFgOTAwSyklTF90KG8hX31Gd1BUTm92aFFES3hSJUViWExAYk9jUVhZYT0kZDs5
YkdHJld8R0RrPz0Kem0/I1R0SG9wUTdWVHBFUkteWnt8TEBnRVdhJElndHRgcGx5WjA5Vkl1NENX
TnxNfTBnQDNGOWtOUDY5Q3Biell0CnpMbzs5XlFHQ0FZOUlfJTxuRGFWYHs9U3EybWxBK3lXcEJg
Yy14TDlzMClWR0xZWW1WdD4+Rl5LMlV2MUktVUZRXwp6e35aQiR6PU5oMndaIyF8MCpzZGN8Q0Fe
YEUpQU9XeD0rQn4wPU8mU1JpWmRxYXZjSE16K2VJTnZxYlRKVmJCR1QKekJqQjR2QHQ9fX54QzBD
YGZIUHNHQW1reDFVOFowVFNPRUB6JEdvdFQ7bUklU1JJIUEqS2RmZzFQano9WmtlQk8qCnoxa2hf
PD5LdHgjbCpPLVQoKEM+TEtBRHFSbn1HQnZgKH1vSk9COD5lUSZqSnVXaihvUk5KclUyRTBDK0lu
fGt9aQp6ODM5d09pPmF9SURBUHlrbUhjYmZEYkh6dj8tSXI1c2lKKmJLdmhGSjdPO2lZY1QqcGxn
SUNsU2NKNlIpZDItXmwKek1ve25FZiU7UVMrTE84e2I/Kk8pRChROHYxQ0t4TnM2US0yS2sjZkg5
dlQyQDhGcWFoZVE1eWI5N0RqQ2dieUBxCnowOVdWKG90ZCR0MjdwP0lTcFpEVDs3SjJPRXlFO3oq
MXd5ekdebEdXKXdsbjVjU3hjKiRTUzZHamNUP1I2X1peSwp6MX5xflhkYG5kZFlKRUReU0ZXbmx6
VD8/SFA1eXl1cl4wJTJzRDchXm4/cE9DYzJRaTktV2JAaVpmVUVFMUVYZjUKek9rMjlTKTN+a0ww
JEN8bm1oRWRtWSl3bGkkYXVAJTJjQThMOSlYS2htTSVUX3E2bFFCcUIpZEo/TkVRKShSakFtCnhq
YTx8Mlg/QVBlMUtpdz80SD59QXtkfClIZH1BTlB7c0x6NzlzNTU3THt0QygwMDJvdlBESExrVjFu
NEdHfHZENAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y3NzMy9jYWxjL3NpbXBsZS1jYWxjcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvc2ltcGxlLWNhbGNzLWV4cGVjdGVkLnR4dAppbmRleCA0NTBmOWNmNzJmNGMzODRmOGNlNjY2
MzhiNzZhZTdiZTE4YzBmMjVlLi44OGU1YjMxZDVlODNhNDZiOWFiYzE5ZDdlNTI0NTcwMTUxOTMy
OTI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc2ltcGxlLWNhbGNzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc2ltcGxlLWNhbGNzLWV4cGVjdGVk
LnR4dApAQCAtMSw0OSArMSw0OSBAQAogQWxsIGJveGVzIGJlbG93IHNob3VsZCBiZSAxMDBweCAq
IDEwMHB4IGFuZCBncmVlbi4KIAogY29udHJvbCA9PiBQQVNTCi01MHB4ICsgNTBweCA9PiBGQUlM
OiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBl
eHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRo
IG9mIDEwMCwgYnV0IHdhcyAyNTYKLTE1MHB4IC0gNTBweCA9PiBGQUlMOiBAem9vbT0xIGV4cGVj
dGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdh
cyAyNTYKLTUwcHggKyA1MHB4ICgyIHNwYWNlcyBhcm91bmQgb3BlcmF0b3IpID0+IEZBSUw6IEB6
b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVj
dGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2Yg
MTAwLCBidXQgd2FzIDI1NgotMTUwcHggLSA1MHB4ICgyIHNwYWNlcyBhcm91bmQgb3BlcmF0b3Ip
ID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpv
b209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0
ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotNTBweCoyID0+IEZBSUw6IEB6b29tPTEgZXhw
ZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRo
IG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQg
d2FzIDI1NgotNTBweCAqMiA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwg
YnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2
OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTUwcHgqIDIgPT4g
RkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0x
LjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3
aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci0yMDBweC8yID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0
ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9m
IDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2Fz
IDI1NgotMjAwcHggLzIgPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1
dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1Njsg
QHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci0yMDBweC8gMiA9PiBG
QUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEu
MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdp
ZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTUwcHgqKDIpID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0
ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9m
IDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2Fz
IDI1NgotNTBweCAqKDIpID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBi
dXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7
IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotNTBweCogKDIpID0+
IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209
MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQg
d2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotNTBweCooMSArIDEpID0+IEZBSUw6IEB6b29tPTEg
ZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdp
ZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBi
dXQgd2FzIDI1NgotNTBweCooMTIgLSAxMCkgPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0
aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBi
dXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci01
MHB4KigxMCAvIDUpID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQg
d2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6
b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotMTBweCogKDUgKiAyKSA9
PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29t
PTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVk
IHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTUwcHgqICgxMiBtb2QgMTApID0+IEZBSUw6IEB6
b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVj
dGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2Yg
MTAwLCBidXQgd2FzIDI1NgotNTBweCArIDEwcHggKiA1IChvcGVyYXRpb24gb3JkZXIpID0+IEZB
SUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4y
IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lk
dGggb2YgMTAwLCBidXQgd2FzIDI1NgotMTEwMHB4IG1vZCAxMDAwID0+IEZBSUw6IEB6b29tPTEg
ZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdp
ZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBi
dXQgd2FzIDI1NgotMTAwJS8yICh3aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBGQUlMOiBAem9vbT0x
IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3
aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwg
YnV0IHdhcyAyNTYKLTEwMCUgKyAtMTAwcHggKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IEZBSUw6
IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4
cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGgg
b2YgMTAwLCBidXQgd2FzIDI1NgotODAlIC0gNjBweCAod2hlcmUgMTAwJSBpcyAyMDBweCkgPT4g
RkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0x
LjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3
aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci0zMDBweCAtIDEwMCUgKHdoZXJlIDEwMCUgaXMgMjAw
cHgpID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1Njsg
QHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhw
ZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotLTEwMHB4ICsgMTAwJSAod2hlcmUgMTAw
JSBpcyAyMDBweCkgPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3
YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpv
b209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci0yMCUgKyAzMCUgKHdoZXJl
IDEwMCUgaXMgMjAwcHgpID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBi
dXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7
IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotODAlIC0gMzAlICh3
aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEw
MCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMg
MjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTEwJSAqIDUg
KHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2Yg
MTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdh
cyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotNSAqIDEw
JSAod2hlcmUgMTAwJSBpcyAyMDBweCkgPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQg
d2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci0oMTAw
cHgpID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1Njsg
QHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhw
ZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotKDUwcHggKyA1MHB4KSA9PiBGQUlMOiBA
em9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBl
Y3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9m
IDEwMCwgYnV0IHdhcyAyNTYKLSg1MHB4KSArIDUwcHggPT4gRkFJTDogQHpvb209MSBleHBlY3Rl
ZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2Yg
MTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMg
MjU2Ci01MHB4ICsgKDUwcHgpID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAw
LCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAy
NTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotNTBweCArIDUw
cHggPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBA
em9vbT0xLjIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBl
Y3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci01MHB4ICsgMjVweCAqIDIgPT4gRkFJTDog
QHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIgZXhw
ZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgMjU2Ci0oMjVweCArIDI1cHgpICogMiA9PiBGQUlMOiBAem9vbT0xIGV4
cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0
aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0
IHdhcyAyNTYKLTIgKiA1MHB4ID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAw
LCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAy
NTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotMiAqIDEwMHB4
IC8gMiA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7
IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4
cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLTEyIG1vZCAxMCAqIDUwcHggPT4gRkFJ
TDogQHpvb209MSBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0xLjIg
ZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MiBleHBlY3RlZCB3aWR0
aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci0oMWVtIC0gMWVtKSArIDEwMHB4ID0+IEZBSUw6IEB6b29t
PTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVk
IHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAw
LCBidXQgd2FzIDI1NgotNTBweCArICs1MHB4ID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lk
dGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpvb209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwg
YnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1Ngot
LTUwcHggKyAxNTBweCA9PiBGQUlMOiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0
IHdhcyAyNTY7IEB6b29tPTEuMiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBA
em9vbT0yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLS01MHB4IC0gLTE1MHB4
ID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NjsgQHpv
b209MS4yIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTIgZXhwZWN0
ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotKCgoKCgoKDEwMHB4KSkpKSkpKSA9PiBGQUlM
OiBAem9vbT0xIGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTY7IEB6b29tPTEuMiBl
eHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2OyBAem9vbT0yIGV4cGVjdGVkIHdpZHRo
IG9mIDEwMCwgYnV0IHdhcyAyNTYKLTEwMHB4ID0+IEZBSUw6IEB6b29tPTEgZXhwZWN0ZWQgaGVp
Z2h0IG9mIDEwMCwgYnV0IHdhcyA1MDsgQHpvb209MS4yIGV4cGVjdGVkIGhlaWdodCBvZiAxMDAs
IGJ1dCB3YXMgNTA7IEB6b29tPTIgZXhwZWN0ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyA1MAot
MTAwJSAqIDIgPT4gRkFJTDogQHpvb209MSBleHBlY3RlZCBoZWlnaHQgb2YgMTAwLCBidXQgd2Fz
IDUwOyBAem9vbT0xLjIgZXhwZWN0ZWQgaGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyA1MDsgQHpvb209
MiBleHBlY3RlZCBoZWlnaHQgb2YgMTAwLCBidXQgd2FzIDUwCis1MHB4ICsgNTBweCA9PiBQQVNT
CisxNTBweCAtIDUwcHggPT4gUEFTUworNTBweCArIDUwcHggKDIgc3BhY2VzIGFyb3VuZCBvcGVy
YXRvcikgPT4gUEFTUworMTUwcHggLSA1MHB4ICgyIHNwYWNlcyBhcm91bmQgb3BlcmF0b3IpID0+
IFBBU1MKKzUwcHgqMiA9PiBQQVNTCis1MHB4ICoyID0+IFBBU1MKKzUwcHgqIDIgPT4gUEFTUwor
MjAwcHgvMiA9PiBQQVNTCisyMDBweCAvMiA9PiBQQVNTCisyMDBweC8gMiA9PiBQQVNTCis1MHB4
KigyKSA9PiBQQVNTCis1MHB4ICooMikgPT4gUEFTUworNTBweCogKDIpID0+IFBBU1MKKzUwcHgq
KDEgKyAxKSA9PiBQQVNTCis1MHB4KigxMiAtIDEwKSA9PiBQQVNTCis1MHB4KigxMCAvIDUpID0+
IFBBU1MKKzEwcHgqICg1ICogMikgPT4gUEFTUworNTBweCogKDEyIG1vZCAxMCkgPT4gUEFTUwor
NTBweCArIDEwcHggKiA1IChvcGVyYXRpb24gb3JkZXIpID0+IFBBU1MKKzExMDBweCBtb2QgMTAw
MCA9PiBQQVNTCisxMDAlLzIgKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IFBBU1MKKzEwMCUgKyAt
MTAwcHggKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IFBBU1MKKzgwJSAtIDYwcHggKHdoZXJlIDEw
MCUgaXMgMjAwcHgpID0+IFBBU1MKKzMwMHB4IC0gMTAwJSAod2hlcmUgMTAwJSBpcyAyMDBweCkg
PT4gUEFTUworLTEwMHB4ICsgMTAwJSAod2hlcmUgMTAwJSBpcyAyMDBweCkgPT4gUEFTUworMjAl
ICsgMzAlICh3aGVyZSAxMDAlIGlzIDIwMHB4KSA9PiBQQVNTCis4MCUgLSAzMCUgKHdoZXJlIDEw
MCUgaXMgMjAwcHgpID0+IFBBU1MKKzEwJSAqIDUgKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IFBB
U1MKKzUgKiAxMCUgKHdoZXJlIDEwMCUgaXMgMjAwcHgpID0+IFBBU1MKKygxMDBweCkgPT4gUEFT
UworKDUwcHggKyA1MHB4KSA9PiBQQVNTCisoNTBweCkgKyA1MHB4ID0+IFBBU1MKKzUwcHggKyAo
NTBweCkgPT4gUEFTUworNTBweCArIDUwcHggPT4gUEFTUworNTBweCArIDI1cHggKiAyID0+IFBB
U1MKKygyNXB4ICsgMjVweCkgKiAyID0+IFBBU1MKKzIgKiA1MHB4ID0+IFBBU1MKKzIgKiAxMDBw
eCAvIDIgPT4gUEFTUworMTIgbW9kIDEwICogNTBweCA9PiBQQVNTCisoMWVtIC0gMWVtKSArIDEw
MHB4ID0+IFBBU1MKKzUwcHggKyArNTBweCA9PiBQQVNTCistNTBweCArIDE1MHB4ID0+IFBBU1MK
Ky01MHB4IC0gLTE1MHB4ID0+IFBBU1MKKygoKCgoKCgxMDBweCkpKSkpKSkgPT4gUEFTUworMTAw
cHggPT4gUEFTUworMTAwJSAqIDIgPT4gUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL3NpbXBsZS1jb21wb3NpdGVkLW1hc2stZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2NzczMvY2FsYy9zaW1wbGUtY29tcG9zaXRlZC1tYXNrLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzQ3MmZlOTBhMThmN2IxYWM1YzhiOTQ2Yzk1YmNmYWU4NzllMDg3OAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9zaW1wbGUtY29tcG9zaXRlZC1tYXNrLWV4cGVj
dGVkLmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFPgorCis8aHRtbD4KKzxoZWFkPgor
ICA8dGl0bGU+U2ltcGxlIGNvbXBvc2l0ZWQgbWFza3M8L3RpdGxlPgorICA8c3R5bGUgdHlwZT0i
dGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgorICAgICAgI2NvbnRhaW5lciB7CisgICAgICAgIGhl
aWdodDogNzYwcHg7CisgICAgICAgIHdpZHRoOiAyNjBweDsKKyAgICAgICAgYm9yZGVyOiBzb2xp
ZCBibGFjazsKKyAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgICAgfQorICAgICAg
LmJveCB7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgICAgd2lkdGg6IDIwMHB4
OworICAgICAgICBoZWlnaHQ6IDIwMHB4OworICAgICAgICBtYXJnaW46IDMwcHg7CisgICAgICAg
IGJvcmRlcjogMTBweCBzb2xpZCBibGFjazsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjpyZ2Jh
KDEwMCwgMTAwLCAyNTUsIDAuOCk7CisgICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVy
LWJveDsKKyAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBibGFjayAwIDRweCA0cHg7CisgICAg
ICB9CisKKyAgICAgICNjb250YWluZXIgLm1hc2tlZCB7CisgICAgICAgIC13ZWJraXQtbWFzay1p
bWFnZTogdXJsKHJlc291cmNlcy9hbHBoYS1ncmFkaWVudC5wbmcpOworICAgICAgICAtd2Via2l0
LW1hc2stcmVwZWF0OiByZXBlYXQ7CisgICAgICAgIC13ZWJraXQtbWFzay1zaXplOiA1MHB4Owor
ICAgICAgfQorICAgICAgCisgIDwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKworICA8cD5UZXN0
aW5nIG1hc2tzIG9uIGNvbXBvc2l0aW5nIGxheWVycy48L3A+CisgIDxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgICA8ZGl2IGNsYXNzPSJtYXNrZWQgYm94Ij48L2Rpdj4KKyAgICAgIDxkaXYgY2xh
c3M9Im1hc2tlZCBib3giPjwvZGl2PgorICAgICAgPGRpdiBjbGFzcz0ibWFza2VkIGJveCI+PC9k
aXY+CisgIDwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jc3MzL2NhbGMvc2ltcGxlLWNvbXBvc2l0ZWQtbWFzay5odG1sIGIvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL3NpbXBsZS1jb21wb3NpdGVkLW1hc2suaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMjU4OWRlZDE0
NTNhMTM1YjU3ZGRlM2EzY2NlNjU1MjNmZmY5NTdkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL3NpbXBsZS1jb21wb3NpdGVkLW1hc2suaHRtbApAQCAtMCwwICsxLDU0
IEBACis8IURPQ1RZUEU+CisKKzxodG1sPgorPGhlYWQ+CisgIDx0aXRsZT5TaW1wbGUgY29tcG9z
aXRlZCBtYXNrczwvdGl0bGU+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVl
biI+CisgICAgICAjY29udGFpbmVyIHsKKyAgICAgICAgaGVpZ2h0OiA3NjBweDsKKyAgICAgICAg
d2lkdGg6IDI2MHB4OworICAgICAgICBib3JkZXI6IHNvbGlkIGJsYWNrOworICAgICAgICBkaXNw
bGF5OiBpbmxpbmUtYmxvY2s7CisgICAgICB9CisgICAgICAuYm94IHsKKyAgICAgICAgcG9zaXRp
b246IHJlbGF0aXZlOworICAgICAgICB3aWR0aDogMjAwcHg7CisgICAgICAgIGhlaWdodDogMjAw
cHg7CisgICAgICAgIG1hcmdpbjogMzBweDsKKyAgICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkIGJs
YWNrOworICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTAwLCAxMDAsIDI1NSwgMC44KTsK
KyAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OworICAgICAgICAtd2Via2l0
LWJveC1zaGFkb3c6IGJsYWNrIDAgNHB4IDRweDsKKyAgICAgIH0KKworICAgICAgI2NvbnRhaW5l
ciAubWFza2VkLXB4IHsKKyAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwocmVzb3VyY2Vz
L2FscGhhLWdyYWRpZW50LnBuZyk7CisgICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IHJlcGVh
dDsKKyAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IC13ZWJraXQtY2FsYyg1MHB4KTsKKyAgICAg
IH0KKyAgICAgIAorICAgICAgI2NvbnRhaW5lciAubWFza2VkLXBlcmNlbnQgeworICAgICAgICAt
d2Via2l0LW1hc2staW1hZ2U6IHVybChyZXNvdXJjZXMvYWxwaGEtZ3JhZGllbnQucG5nKTsKKyAg
ICAgICAgLXdlYmtpdC1tYXNrLXJlcGVhdDogcmVwZWF0OworICAgICAgICAtd2Via2l0LW1hc2st
c2l6ZTogLXdlYmtpdC1jYWxjKDI1JSk7CisgICAgICB9CisgICAgICAKKyAgICAgICNjb250YWlu
ZXIgLm1hc2tlZC1wZXJjZW50LXB4IHsKKyAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwo
cmVzb3VyY2VzL2FscGhhLWdyYWRpZW50LnBuZyk7CisgICAgICAgIC13ZWJraXQtbWFzay1yZXBl
YXQ6IHJlcGVhdDsKKyAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IC13ZWJraXQtY2FsYygxMCUg
KyAzMHB4KTsKKyAgICAgIH0KKyAgICAKKyAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorCisg
IDxwPlRlc3RpbmcgbWFza3Mgb24gY29tcG9zaXRpbmcgbGF5ZXJzPC9wPgorICA8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgICAgPGRpdiBjbGFzcz0ibWFza2VkLXB4IGJveCI+PC9kaXY+CisgICAg
ICA8ZGl2IGNsYXNzPSJtYXNrZWQtcGVyY2VudCBib3giPjwvZGl2PgorICAgICAgPGRpdiBjbGFz
cz0ibWFza2VkLXBlcmNlbnQtcHggYm94Ij48L2Rpdj4KKyAgPC9kaXY+CisKKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvY2FsYy9zaW1wbGUtbWlubWF4LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy9zaW1wbGUtbWlubWF4LWV4cGVjdGVk
LnR4dAppbmRleCA3NTk2NjkwOWNhYTgzMmJhMzE0MGQxOWE3OTMyYjNlNmJmM2EyNmIwLi5kN2Fk
NDQwMGM0MWE1OGY2NDk3ODZmMjFmMDg0ZWIwNmNlOTIyMDMxIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvc2ltcGxlLW1pbm1heC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvY3NzMy9jYWxjL3NpbXBsZS1taW5tYXgtZXhwZWN0ZWQudHh0CkBAIC0xLDE4ICsxLDE4IEBA
CiBBbGwgYm94ZXMgYmVsb3cgc2hvdWxkIGJlIDEwMHB4ICogMTAwcHggYW5kIGdyZWVuLgogCi1t
aW4oMTAwcHgpID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLW1p
biggMTAwcHggKSA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci1t
aW4oKCgoMTAwcHgpKSkpID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAy
NTYKLW1pbigxNTBweCwxMDBweCkgPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQg
d2FzIDI1NgotbWluKDE1MHB4LDEwMHB4LDIwMHB4KSA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBv
ZiAxMDAsIGJ1dCB3YXMgMjU2Ci1taW4oIDE1MHB4ICwgMTAwcHggLDIwMHB4KSA9PiBGQUlMOiBl
eHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci1taW4oOTBweCArIDUwcHggLDEwMHB4
KSA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci1taW4oMTAwJSwx
MDBweCkgLSB3aGVyZSAxMDAlIGlzIDIwMHB4ID0+IEZBSUw6IGV4cGVjdGVkIHdpZHRoIG9mIDEw
MCwgYnV0IHdhcyAyNTYKLW1pbigxMDBweCwxMDAlKSAtIHdoZXJlIDEwMCUgaXMgMjAwcHggPT4g
RkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotbWF4KDEwMHB4KSA9PiBG
QUlMOiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2Ci1tYXgoNTBweCwxMDBweCkg
PT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotbWF4KDUwcHgsMTAw
cHgsMjBweCkgPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQgd2FzIDI1NgotbWF4
KDEyMHB4IC0gNTBweCwxMDBweCkgPT4gRkFJTDogZXhwZWN0ZWQgd2lkdGggb2YgMTAwLCBidXQg
d2FzIDI1NgotbWF4KDEwMCUsMTAwcHgpIC0gd2hlcmUgMTAwJSBpcyA1MHB4ID0+IEZBSUw6IGV4
cGVjdGVkIHdpZHRoIG9mIDEwMCwgYnV0IHdhcyAyNTYKLW1heCgxMDBweCwxMDAlKSAtIHdoZXJl
IDEwMCUgaXMgNTBweCA9PiBGQUlMOiBleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMjU2
Ci1taW4oMjAwcHgsMTAwcHgpID0+IEZBSUw6IGV4cGVjdGVkIGhlaWdodCBvZiAxMDAsIGJ1dCB3
YXMgNTAKK21pbigxMDBweCkgPT4gUEFTUworbWluKCAxMDBweCApID0+IFBBU1MKK21pbigoKCgx
MDBweCkpKSkgPT4gUEFTUworbWluKDE1MHB4LDEwMHB4KSA9PiBQQVNTCittaW4oMTUwcHgsMTAw
cHgsMjAwcHgpID0+IFBBU1MKK21pbiggMTUwcHggLCAxMDBweCAsMjAwcHgpID0+IFBBU1MKK21p
big5MHB4ICsgNTBweCAsMTAwcHgpID0+IFBBU1MKK21pbigxMDAlLDEwMHB4KSAtIHdoZXJlIDEw
MCUgaXMgMjAwcHggPT4gUEFTUworbWluKDEwMHB4LDEwMCUpIC0gd2hlcmUgMTAwJSBpcyAyMDBw
eCA9PiBQQVNTCittYXgoMTAwcHgpID0+IFBBU1MKK21heCg1MHB4LDEwMHB4KSA9PiBQQVNTCitt
YXgoNTBweCwxMDBweCwyMHB4KSA9PiBQQVNTCittYXgoMTIwcHggLSA1MHB4LDEwMHB4KSA9PiBQ
QVNTCittYXgoMTAwJSwxMDBweCkgLSB3aGVyZSAxMDAlIGlzIDUwcHggPT4gUEFTUworbWF4KDEw
MHB4LDEwMCUpIC0gd2hlcmUgMTAwJSBpcyA1MHB4ID0+IFBBU1MKK21pbigyMDBweCwxMDBweCkg
PT4gUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3N2Zy10cmFuc2l0aW9u
cy1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc3ZnLXRyYW5zaXRpb25zLWV4
cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MGFhZDA0NmIwNTFiNGU2YmFiZjcwN2M3YWJkM2ZkNmZk
YTZkYTUxCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyMDkwNgp6Y21lSWFjfDRTVF5nb1BMTkBl
Tko1KmQtfmdsdTdrQiU8dERMUyR7UiVnempLbCYhS1ElY0smT1VEKzlUbUp1fm0KeiRqKUZld2l5
aiRvQXRSK3d8Oyo8ZT58XyheWmtBRTU3I3g8ZTNvPEc9YlpPQj1XfV56WU9IXjd8SXooU09pVHdh
Cno3QFJYX1YlakNsI0tkQzV3ZzxUTEptYCl1QEpzVHhwM1FCUz51eFQkMHNfNjV1QmorRUpGQT4+
UiNJfHhhYVR8fQp6clErdTllcDwhTk1mdFJ8eTFUUWhkcWVKWjRQWFNxNFA5TiszJWFfKHJ2NShl
SCQyXiNtX25IRVRjVTNyKjc9OTcKejt7RW9VMi19cmdoc3J9OWkoSWdNZV9nTGZnfnNLND4lYjdH
UXR6Pj0odUgxY20zaEwrazlvMF42V15zcV8zKmlTCno4QnMhRUtWOVZ3P19iZkE3PTE2e29YYWFx
e09Xek5HSDxSNDF6akZoVTV4WXohWjAyNT8+ZkJfI1g1TnFZNXRQeQp6aEcpZHRvNzdtUSNGelZZ
UEsjWTBTfTtEYk45Uyg5TW1WbE5qM2U2NHN5VW56VHBuRVh5c1BzMC1nYDlkRzV6TlEKelFsKlEk
ZSowfj9TejxMWXhzdTQrWSM0MCsobjZCRGFjSWNEQTMzRDhUNUxya3czVEkxdXVJaHpVJlhxJD87
NUQzCnp0b1dJT3YtO3Z2YGl8fHI7cUJobSZlPnF7XylYbXghaDdmM0VhVE5man5sV3tQfihiR0BU
Y1JTKiFoYmY9Y15OUAp6Ul5vcF5DYSNVWW9eRS1kQ0NIfnRUNmEyOWJAYzdKQH4zfHNJV0xMN3dE
Y1IwSjRrJDFPdFZAdHl5Tj49dDs2K04KelJLT0pqbGZIfUk+JE5ldkJUeDFuRX0wMG5HOCsjfklf
eHBwR3FSe1IkV242Wig2SXdZND9JNjtWOUtlLWRoSj1NCnpzckNjU3FZOV9Ye1VNXzdfWHM0MUQr
WnBwUyRFc3tUJHhVfCVDSl9JKzNPS2F4YGM+ZGl0YjBZciZKeGZSTE4oUAp6c25DczFgX2dgXndV
bmFGPWUwez84bSZfcUhBald8eTQkZTxtIyMqbl81PndjPiElZmxoU2ZoYEkweyo/UEZJK3wKenFu
eStkUClaQG5JO01VfW15R3xYNj89SmsmZ2ZwPzYkTW9jKyFMbXVINmUkVmBgODskXmV8NDxEbF5A
S2NHR31ECnpjdnFpMWVSOyM9Pkkjd1NAd0xUZUxRPiZtJj9EVU9odn1feSNIYW02QDdYN3V5cFV8
IXNTaE4oeXE9SXh7QlV4NQp6VWNWeW0wST5eY0kxZjlwVndTQEhyT1djKzh0anZsPio/JjhMcTZv
QkF0YVN8YV90Y2dGMk4lMklvNigwPnQqNCQKeiRlSFZ3PU4oWVkhaSlHR2BMb2pkKSs/d1FtRE5W
YEp4YElqR0YtVHhTdWlMak9sVV4oUyRBNjZTOVM5azhGK0gtCnpZPV5WPzd0PGtLYk1ycDJKfnR6
dGlqMiQ3dnFBa0MtTihFSWJKZnFUd2Q1UFJDNmh+dFQmMSo5Xk5vIXteOHUqdwp6KGNiOEV2UUpZ
ek98S349P2phTUNGdz0hfEkraHtLXz5xMDNwOEI/WGU9WkJOJVNHPSEmYzJVcnwwQ2Z9LUZMJmoK
ejdnIVQreT9xZnxjYn1ieT9NfStuOW04K2pNbj9QTXUxTXNpKWo3UjJvcHs3O1lVY1djT15SaC1a
MjVpOGtmJH4kCnpAMTRyPWRHM1NDc09pazRPcG4lUk1aI1EwRygxcVZnbF5pcnokYDtVRElvQ0BT
cyRrcCNsKzBRJUVsP0k5bU4hXwp6JXJAK1A1YSt4OV9sP2FARjc5VUtndDdnNFYpSTdmQzJifktm
c2NvfEhvdm17VUUhIzhmdEBSRENvZE0zX1E4VmUKeipxeCE3bk9pVl9UKFI2YiUmRmFiOSlJcVNh
b0wzRmQkIWxISEs8S3k2alFtJU8+dlJgWDNeR1dCQzc2T01LdWt3Cnp2T2ZOM3JvcHduaF48ZHBW
aUE4X3ZHJCU2ancoelRlRTckPm9aOGZiVGY1elV1MmhBWSsxMERaX311VGtYaCVnYwp6UDVBNndG
LTNwZSQwbUkxUmdsT1pRVU9HPT55TUBYNDtQOHJ0Tm5MNjxzc3xkWVJHPkRHPE4rYnotUzlMIUF3
JDsKek1UK2AqR2N4ZlFSbFFmP2kmZE43JngtS19vb3JjfTFBKjJLQTFfe1RZaHd7TnpDQSszVnpu
eXdaUjYrPj5zJlI5CnpJYWgya1hUZj5sUHNxRzx0TTJUQys0ZlpIcGJAY2omeF5yPERPKj8mUkVg
IXN0bGpKSEgmSC1hO2dqRSlTOEttdQp6MjI7NXtafGdvd3Y3ZklBanxsSUlWWWkrakRfTytEdlpa
VXF5fjRqM1ohNj00VChsSFJkdnxTcVo9VjEyMjN3QHMKejtOdnJ3I3pnSTlLT3NBN2pTQD92YXUw
OWd2V1UlK09JdlBIJmdXQ1dGKVhMe15LfWFhd3FOPmVkVUNgVV5qSzc1CnpXc21XSFQ2ZHhXMnF1
NWNlKTFuP2Z1fWdONkJse30pT01EKyFwPGY8dU5yKVEyTj9RUitEeilAN0N2Sjs7T0xiSAp6QWN6
Xn0teGtnMG1qIUtebkozJGc4PWAtJDRTM2NEMGV+R0U7Qm4kVmM+QjhVWDhtOGNEQmxwfiQpKE9a
TFZ3dlQKemBuNSlIRHwoOD8yPXpSfG1WVmw+TFhON3JXNXU0Jm4jT2xPSzZ0bXdWTXEzP1I9a3xy
UjtvUUx8MCMlPiNiYGc5Cnp1K2RxYF5aekx9cyVafDs/QShKWmY0WnYrJSo/SkFCd0JaZD1kXkpF
ZUI2akJgO0hwZldGJj43V2NLQ3B7VzFEYAp6Sz56T3JaYnR0SDV+Z1N8S3g8O1R8QV92bE17VEQt
VkR2eTsqKnxeR1llM3M0UWs/JTd5LSpIN2lGZCo3S2VtKGgKejUydHE4SkBmY0tNKmpoZnteUWBz
b3ghNztvJnd1PllXbkM4WEl4cWZqOSMwfF5YR1FWZiRlWWBEKlEzfXwzOEY8Cnp2TUM+P15WVSg5
aXNSc1B6bERDJT1hT1RyYSpHe3wqNzQ3LUY9dkJ6RVRvQF8qOy1yMD5GTW5xbGhsQEdWS0k8YQp6
eCpAbkRNLT9ETzNgQVklKCVhYy01Z1ZJdShVO2VMSk1zc0hWc19uaUAmZk9VTnEhSSFqezJhTytf
bj05b3B1NGkKejw+MGR1NG0mM0s/Tkpte1NJNVBwZDtmeiNeZyZMfXw4PE08SiU0YWxPP0A0O3Nx
VEErZGFiZ312MnxCOT1IRFUjCnorKz19Qmw7KzNxIUR5NEZHYzRfQStLeHZGdUVQeWUjbnJ3JFR5
e2c7b2MjeFcjci1UfjMhRmBGY2ZWczMmTF9PIwp6Vz0qVllJeD49K3Mxbyk0bSYoN2cwVTx5IXF3
cEZrdjFuWS1feiVWMC0zPF5JV2JQV0h8RUx2VnAzaHd4dDQ0eWIKejllY0thRDxYeD98SHhxK0hP
YHU7I1VqYDJGYTB0b0NvUHNoZCo7d05pJDB+bnlJPj5XRTchJkdeNVVGdkdlJlpACnojZjlkLTVF
T2xvc3twJmR7ZWpjJCQ9QDNTdG5kQjRZTDUxcygzP0E4NmZXSGhLIzBUVTUlLVE4RFNaeEAtRTtX
aAp6NGo5PU1iTzFFJk5fK1hvdC0/KTBHTSVzVCRNRTMqaEV9OFVCPnVTZDkkKn5ySHtNP1EhKSp4
eGFNV149SDJtWSUKek9+Q2EzRklaTkEpbVgyYzVCQDVCREx1SUZZUGk/TyRldH1ucjU0OEdBPXEk
U0shS1Noaj5ZPEZzTjMyKj54UD90CnpZbGJDQGZoRk9BTmcqd3dSeVRGMDhyWldtTCg5V0k4KHI8
OWVUR3ZudG1WVlZgNkNuemdIOS02a1cxPj08Kko8KQp6NlcocUU9biZ1XilSYDxWYXJkOCYqMSY5
X01nfjBLVEN+MDstaTheeTVtIWFxUF99ZjNBYkAoNVBiP2oqQ25vcVQKeksqI24lVXhaSWRJfVNM
JlhlJDluKT9DMjJxb2d9cUtEa2hNT3g4d3Y/NSpMOEJoajFsalUweHJ3LUF5VD5xJkxfCnpUS0Y0
dzRfNH1OVDBYU30yYH5wb1lBOH07Xm4xaGpMN3k0PXY9OUFGY3ZvXngmJmFIQ0BiZ344IyZsLVky
TiZlTwp6YHkhVWFWZzczcXlvbDtMTGhYRGxoKFFGd0hOS2EqQWc4Wn18NjBHcm08PmJUPHZxZyFj
UCs4MFcqPXcyYkBYflYKemk4OHZAN35sbVIrWGIzUTFWTy02S0taO2JOKT5GI0EjNjVwIzNRb1RC
ZHtjLVJYUndAb3ghfW5leD05PFBZNllhCnpxZm5lYXBUcWlfZztjYDU/cnY+SkBKKkRvYUxuN3FW
T0ZWc3MoKmZCdU9pTEdFMlk3enJnMVBqRjQmUGk8djFFUwp6cVlFMUJOPDIydFJaWVlEQWFWfD92
djEqNj9JNkh1UEpncEp7O2orVDhTdz9fJHY9NyheR1AoeV5TSiRkOz9TQD0Kem8kK3hva2xzNkpF
NH4+VHFlYUNfc2dQU2o+UEw1LSlFPkxOVFdGO35LWDkhTUxvPT9iNGNvUkI/UGl1YCM+TCpCCnor
Nk5QdXFGNDN9an5AITI1bjZnMlFARDUhXl4yPX0jc2tZMFBgWjReQEM3dF9vciEhJmIpK1lmJE98
SjVZSl8qbgp6Ul43SUMyKXhWLVlORGVWUkoyXjxtMzFBQ3V4fSo4RlNaYHBBOCo1NlcoUE9TSkIq
QWhMZjJ9fWZhcEpDPmlRNyQKemxAVm0qRmZ4I3NVPWltTihEQkp7OEJ4YE1fWnJ6MEZRTWgoO1Nz
IWRhR21EdTRqaUNqI3RjZHdtcW5PfWxnfipfCnoyJXJ4a1hoU3s5O0N7d2lJUWl7fVBHZz1GOEg5
X1kjSSNocyRfXipnUjViUSlka1ZfJnZIazUoaUpOenNxVGU8Sgp6PFNiX3FeNWkzRGNAb3lPJHlK
ZDxSZXxzJk53fWhlNkgtSjJNaEhQXzFVYXErSWAlYjgkQCptVVFxcGBqKCZXSHcKemEzcHJ1ND4p
WkF1SGBgV3hseFZiYS0zWUZBUStVOU5KMFNvIz9NZ3RHOHtBRitrQ0opXkpuWWpYUGE8YmdjNUwy
CnpANDl5WmwmZnBDZVN3JkBOS0J1QD9lQlVjLUVjWi1wYldCcDd4RH54KkRgez18MU85K2M3cks0
bGlXJShaJWVXJQp6TWZQRk58OWx3NTlob1N0MTc4Yjt0MiVzMz5QKU4+RXU/LXlRQEAtcFl+aUM1
S0A3aHp3Wj5reCE0THB7e2dHSHoKenNMUkBuSnx2OGNjbTBrfnRIZE4+czkhTSk2WVEpbihTRTQp
bE5FZk87P04yNEFWNlM8MjI2Z3AmP2JIYS1KO2l6CnpVZ1pHKGRmbWpKVkhtQn0wY2hIQTJzUi0h
MWN7VUEjX1Yha3goaDUqQlctcl5wa2dTMSE4M2lVUlJGfCZCcnpDTQp6cERXV3NZdF9pZk9ATE1r
Ziktfk13Rz9IQ1ZscHFsYn5PQG5GVGk1ZkYyR2g/IWwrMi0wJitVQkhJNlJUST1RKW8KemxrbjlX
YUZ4Rk5NUk1gdGJDUlEkPH1CblFXUTApJHFMZHtzcWFtPjNpK2x8V1p0fEl4MUNGNT8hejt6WCp+
Nj1xCnpSb05zKm44cXhtOWImemo0NHpHWGdGNn5Md2d6MlhJfm47Ukx6PnJYSFFLfCFeQCNPRnZi
MFJNJWxHTXRoP1loVgp6dCRBRFFebUp3T0hUIShUVmUmQU03elkrSzdOWWJjam1hLW1LZCNweUQw
UUQ5dn5JfHlvUSpGWSN3ZC0mZFJxPEoKejwpWTdmQT95RzhUXmB5cGhfTWY+Nk9KNU9LLUBmYVNT
XzFyMn5hcDk4TDJzfihBXyVjJjN3WXhBT0VvckJ8OXl1CnpNKUM9Tm8oLXVLPHN8diZLQ2g+WUVh
dT1iLXFfdnBBXiY8dFFgZUNZWHFgd2hvejdkS05WQUtaP3g2TztYbm05Uwp6PHMtJT9eYFZwYyhg
Uis+eWBKZXlqfnF6OTxWK2t6Nm5RUV5OczRlPzh0aUtmPlQ7dyNgP3l2RXJfPn12Qz40LVEKemxD
fU94bGg2KX1IQFJaUW9OOzZid0hjQz82KmA/IVFIfilWIXpjdDM4MXpMKFBXYGxVTmspeUVRJUtW
O3A7Tk9aCnpYRCZrNWY/PmczNz9MME5AXnsyWHVjZTxja2NlS1o2Zz1qRWFfR3U/TjNBfmhNak1y
PWF9ZGdWcD03JDNUUVp3YQp6VG9RZHhhPF4kbFdTckNWd2l+bnBheHRxVG1UK3dzbVo5QmBPRSNY
RFdKS1dtcCFoVSszQUxqbkUyN09LcVV8PHcKelBGIz0wPyNFK3VpYEMkJlhWQkZPeFIlOE5DaEBk
YEohMS1oaVlMWmM7Q3FTWXE5fHlpLTdDKVIpRlhlSS1UTyt9CnoheTIha2x9RkdmKDR9Tj84dCE7
eU4+WT1lVHAhfUhYQlE/cSFsPFU3U09JTGxxTVlWb1NTZWU8JDN1dSozXnk0Qwp6OUU3KnNzeUoq
KCt5ayElNXxRdil2KyllYm1scE8qNiYtdlM2ZFpRMF5rYENXTShEcz5TO2BqWSlNaV5oVjhCMlcK
ejNiQz4rJG8qVntHMWVSK25qKG19RFMyNHZXfFZ0MyYmWSVKSFl0SzApOHxVKWI4P09FUjYoPyVT
R0R3O2BoQVF6CnozTXReOXIwYCpFOGQqM3owKD18PC1eaFN4V0NveSN3b2ZCa1YhRElGO3Z3dEQ7
MD58cDFrV3t7PCFhPlQlXi1Lewp6anBHWHdwTCg/K2d+NkYhZzl8QH5GIWFAOFNteGtEcG0mUmhR
PTVDRig7VEA5SlQrY30xSlM7TnZZflAoZzQ7WkYKempNdSFFe2VtZlV5aHJ5Tl4zVCp1LWwyXlA8
KDw+M3Z8Yi10QDktYDhaNW5yVmNMYU95KXolYm9VKUozZGNle3ZxCnpsT2U0TXlPTjFyIT9ZdUpY
WklGUlZFejVZe2JgWko9b0s0biRLYThgNXhecmVaZ1pXUDVHVyswQlg4NEVANSlZOQp6NFJRU3wj
eHFZV3g/SlhxQSQqNWpiKnxLQyUoJDc0VD0hbjIrMnNkR18zRzhJZnIkeTFpVCF3aU59ZmUyNUhf
QnAKekgzYEg4byk5MEkmPmdHT2czamViLSUmb3ZRJE57MHA/aDcrVXI5dz82OWk9P2pyfjl6QGdn
aFR5OFZHbSRCaTI2CnopNHNJcml7QXM4IVRYdUZNb34/cVRraENMSSppPTgqKCFUa0JXX0c3REdz
cTc9Umx0aVhIKnU+UFM4UjBhWm9MdQp6KEFNWnNOQm45REE/WlJzak81RGtwYipPJWkwOy1abzJn
ZH0mSXM+ZlFhenRZJmBuUTs0PWJSRjlMbDRTPl5YY1QKenElbTZ4MS1HXit1OTwjNUBATyRjcnI1
bnped1VzISNPTCR7OEBXVUF5MkMlTDlZPEUrRiQxZX0tLTs4fDQ3TGEhCnpTUEd5UF5uY2htYCsx
fFFlYT1UckVuRjJNdUdEUkU5ezA7NERKX3c1Ui1yOStwQytWWDZyWT9xdmRfMlkmX002WAp6Ylpo
PmxtMDlvXz0yNzY0JWg+dFlIN3U5KSF6STYzPUUoJH4yPChUNF5uZW8lISZ1aD1JR2ZvfWdSKDNJ
bzNSITQKenZrVT1KbD0+TFUkfGZWcnglUldWdVl2SUtfSiN6WHdhJHsja3d0KGgpWTdGeCkrezBI
ajg7YyM+dUlKSGpKLTB4CnpJVEomai1sUCR1cig8MCtoI3M+M218NHZ2T3p9cyUlczM+RUJPRiFw
M1opajZXbjNfZWM8MzIrVXQrTU0+Uz00YAp6Y0lzcGs2SUpDQHEmdUxfQ2RkX0N5O1J6VmdmbGth
IVB1KHZ2PHw/NE5uVztDd0U5QT9kO084d2M/NW1Ganl+XzMKekA1M0FpKndmMFpEZzhaX2VBcm9n
ZyprLVZ0K3dVRjtDZEh3UF9ZfXZPNkMzYVo1RVRZJHp0O048c1N1QEo5fHFFCno5ODE3ck5TODFA
dCM7S0RUdDNOVSlGS3NDakhxZ3RHfnBiXzhYLXRWYFF1bjF4STA4WlUkNlkrbEF2andiNjNlZgp6
dGomYCFOX3dPRWIrRjxXXlNTfkU+SDBQTlZZTj56WGMmRkRaZ0NATGFsbElXJlVxTHdYfTBRQz5y
ZzNsR3hWKG4KemVqcGF2Wjkybnh1TGRHJm9vVyFGPWNgSDljb35lIzJgOC1rUnQpKzU1Q05eI3Bk
PFlRV153RGpSNlNtWSk2JEd2CnpofUJ5YWNuZEYqPloxajZjeSFqZ1hNajNAbCt7VX1uYn1xVT13
Nl5pcSRkbjY2dHE/aTNjSDFfJFhPe1FiViEkRQp6TEhDPyEzfG5QeTlBbUUpKkJzd2hWTD1EcmYz
Xj5rOWxqZG9DclNgbHZXQmYjY2FJUWRGRkNHVWNLbTRiYGcwJWcKek0tOTw3QlpMJXVZbXV5eDBx
K0hCZXF2emgheC08NlVxbDxwKXJoK2tNWk1KSFRQMjFlcG41Vj8taFd8aVdgQiF5CnpBcHdiOT5Y
Y3VjWGh1MWJeYys5cil2V0olUX5pa3VgMHg3cE1SJXxVeSZIJk8tUWtgc2lQZE05MDBLfXV6eFZ+
TAp6MFVpd2pzSlVZSjBIJi15NHdpdS1hSUtCREJjVGJoalM2JDZMVEdAcTxVOElLeiRGUm5PR0pu
UyVTVlBTeFBVYUkKemdAWEtjLXc8ej47antpUXA+emdBWH4xT0dYPlIzVChPTiohQ0gkbUN3RHU0
U1FHT3ZWc1IwXl5TSVF5QSVONl4hCnojTl9jSm9+IWFLViNyMDlHWXYyVWB6YnlNVjctOGo1dlBa
YUZyK31pajhPdkR4SH5ucmx7Z19mYGl9SUh4OFpzdgp6Zyo7eVpfbWNPSFp+cHdZT341Kk1zbXdG
ZWpCYmZQcEUxJkNyUEBmOGBZTj5Fdj0+Rmw8ejh0XllLPU5BV1MxNTwKeiNfS2hTWkl5PS1OakUj
em0mSFA1MklEczMoUV8+YTUxMGcydj1yakRFejQ2fUlMYjVNODVBdWxRIyEpM2pzZDhSCnppNm5Q
aSYkPyF0RHJ7TlJXYnUodSskZWVAM3E4eFRtX2h1SXVqTkpOJDtwUyVXPTkrZHteXyMjd29Ba3wp
d2J8eQp6Q0hPIUNETmxhSG9Va2NsKy1mOWE0Rj09JjB0am8jOz4yQTBYNUtNLXRRbVhxO1lNczdL
JHYoKEgmRFVHa2J0S1kKenRoI3I1ZFEhNXUkQEZ2QGoqV31CU2B5Sys3WlYpVDt4TEwjIWhhZkI1
QWo1QCEwTWBVXnd2WHFVSXs1ezFyTilNCnpmdmR7OGBeYnElWm0mZWRpcXV1ND12PHAle05nT0oh
QDk4PztPR1JeTkRWdnQxb0NET28kVjdyNHRATnpPaVk0Tgp6TiRmMCE/OWdvYGJea05OSz15M2Zx
ZVYxNWhjaGB3Yk1rbUhvc3M+OE1na0ZYQjNpOEBUM15HQWRMfFc7TGNoRioKenY3O3ZhZlBuVXpM
IWdeeGhSWF4tV3hQTV5NUGVVVEFFMldxbGNEMXB2eGBwUFMmV0t1dXFTbjU2VmJUQStPYSRBCnpD
dylTaTE9e3I5Mzt7WFlmUElaMGYmdj9YbGgjLT1OWSotVWFEdCRELWpRVFMjKT4yU1c4ZEVVcEVx
IUQkZ1RPcAp6M2U8Q3dISCRrRURGN3FzISVsQjlIcWNCQ0RjYXJNd1E/bHBWTkUlUEhpRlRieSpz
Y0Y7KFpRUTRoeWF1OGFXd3gKekR3N0lDRWI4UnVhTjshOCRWPW9Cejh1WWtZYUUkcnZqfHlGPyZT
fk51UTtUVj5HT3tQMCNIWjh4dHhzRDk8RFR1CnomcXBrc3dneXc0cTdeKE0qWmEjN3lhWHpmd3x3
cWBGc0lNSHBUZ1E+dkZ3XlNiIyNWKCRvVHlfeHc4UVp3ZHB1KAp6MW8/LT4wTntsS2xlWkUoeXJj
aFR2MUl6cTdNPjBJYEZsZ0ZkNXBzNTZMVGFgUV9oZHM1e1psQ3NALTJkaDcoKFAKek9gT0x1dXBu
MmZWI1hFQmpTTCREZVZlZHhjMU57Jj53NSp1Qz1IK0QxVXtGMCNkTiNjSCpwTEohU1N+K2plKWRO
CnokIT5eb2Z5UWd4Km0hLSRLPlAqUmVScmN3dnI1R0NReEFtfDQ+QDYoeFgwZkUmbFE/eyN9KThL
TW9meD1ZRnpxZgp6T1RzUmFIOUFlNHNiKXxqP2w1QCNAU0J3P2M2bk5aI1l0TGZrezZQUGhBOzhG
Z3EtNXQkXylFQ3FGdWZsRmQmdXkKeiszQXRgaFBkb2JUe2o1TUJzN29ran0qfk5HLTFfc2M+TzlM
alVrdnRhUE10UV4lcW1RY35xWU8yO2BIbEApOW9yCnpuX2hAZTRmSEB+dEluVT51bWNhflVxLV9N
ZzZqcjAlRC14dyNCMGZQaD5wJlkrNmIzP1lEPz5JVDhsT0t5JWhrbgp6c1M1VlUzN3NEOUxua19M
MVphUV9hXlQlRnlWXjwzWXBUUCglX09gbEYoWkRqPGB9YT57bFJ3fXFJKEN3dH5Xcz0Kem5sQkZA
KDt7NGxGKD8+PlZhWUROWihFZ3EhUmpjRFQjI0RYVmF8U149eUpBZiZrY1FvZUA7S0ZrYnd5SyFr
OW4xCnomYERlVl97eWBfYn52JGIlNTFKSj0mY3IyRFNWLW15b15KYFYmJW9rZCVSYjhoYVVDaWVl
SSVYcU55e2VkODZ6Owp6bjU8WElERSoxKm5QS3wlJFokJjRoZHxubz1PMlMpITFuWlNHMnErZWly
JkstezlBZEVXSGM0bUVVSjl7dTJ8YDMKem1ZTlc+TGR6WV55S1M1Yk9WPzlTdWxOTkd3TGgyRnlw
WWQoQFlwUGtWdz9YVnl+cilRdEY3OE5CQD9DdjQhX35XCnpXYEhIenEyVnM9e3BLUmJRI2wqVTJs
QmpybTVQLUNLZE92UVl+PD1jQDhtYWRqRDZfPFltRktqKkFKaVNiY1AmXwp6WiElQSM1SCtmPjJI
eHFvPiVrJGV2PUVmUC17fnI+ZGg+Ymp1VypSbiZANUcjOVpPITs7YGBLSWlzOUsod1ElVkwKenBk
QHdqWWchfXMleD9jRDVSbU1IaFMxJEZANU16SXJ0cUVCUFY0MDZLaC1oc2VfM3A8Q0c8aCUxOUk4
ck0zMDI3CnpTQUg3JkNrIXUyWVFeSGFJQFd7TE8kSUNtckV4TldoOGtGVz51Q0MhWkl7QiN2ZXw3
fUt8Y31WZXMpLSpsV0hGPwp6Rlcxc3B0fGpIRkVoKi01ISFhPmM0PzFBP050P2h3QG85b2lSNSRW
e194enlMbGpKZmJsVntsQEVvUFh9cEdrU30KemJhfTwtdEdPS1ZSMWcwZ2o7KTtmMjg/WGJTPXUk
REBMPklDJXtEbz9abVozN0JReitYJFNrYDJickt0PShPTnU5Cnp2cnxCczw0Yk1abWhgRntzYWtH
YWp4MD8tZzk7P2xtMHo3eDJkQnMkZTw0R3VtfFVlODslN2B8dUBQKk40ZX1tPwp6Wj13N35KI3Nq
S0sxcmBNWmRvZHtScjshZVlKNjR3bHgjcHIhIWBqZStQQlZBKno0WENsNmJGKV5CP0RHOz80T3gK
ejtJJC1QViU+Tyh8QTQ+a2xLI2ZYOTdrVDtSUWRUSEFyfDhXU3dFNTBibVYlViZ7dGVSV2BwRTQy
fTJ4empPYWtgCno4IWNvdTdKRiNmNTRUS3doMHZLR2N+MjYoRVF3em9YcVVLPEY8I3ApSWV7MUdh
d1dqZT96KD19WD8mRHAzTT9GSQp6a19aJHd5fSk2Uk0xUk19Yzlke20mdE9KOHA3NlBCQ0ZmWGsh
I1NTQ3gtdUlHcz8zZnk0bjN4dVM+X1k1X3wpUEQKekNgb2tRT341UjtuIXtqMnk4bV9FUUxYV1BD
TnJEIylgMWEwc2UyaWA4UGtKaHZCS05kZXxvY1FANnw/MSpPb3QzCnpBMUdPSmVEWC1OfDkjO1Nr
Oyg3Y2FnakJVNT9OMkp0MEF4S0R7V1JNbTFFNkM9VyU1cnNOUHBzYk1oQ0dGd01rJQp6NnVCLU4o
bEk2NDtnKUhwSSolaD5pckNFTDhYa2BIZEh+ZXxQVHx0PkQwRWNlI1I2dVFkRVZJRnA+bSUobSh9
PHQKeiVOeCV7PUxYd35AKz1jMnhMbz1MPzZDYWAjU2xqb2JTYTxaT1E9d3MoajsrWGFMUnoxaCtO
T1k7PyklSUJgJGRGCnpjflpwdV9RU081SGszezRxTHxEbjJXQ09oVWJ+JWRmTXIkIXE7cyhPR0xy
JCk9P3MzJm07Y0p9NTUtWWpPZGNkJQp6ZjlzaSFGX1JiQzVEWkBxMn5CaDx5RFQmbkdXKiQ3YGoq
RkFhfVJyanItejFIVk5KPXN0UmstaU1GWVJPKj5nWXcKekpDYGs+QzBjcXtUYyQ7Y3VjYSV9Mjc2
dHBfeEQrVk45bSV2QU1LbHZJVEduZXFYRyRpQipvfWl5VE93WiEqRzYpCnpqIXw8fUQ5OEFWNmd5
Mkp1P1lwUmk4QFJZO3NePTFOaiN8NHt7REQjWHMxPSReMk9+c3Vfd143RDM/XnFnUntEYAp6bClY
ckQzJTlMQmlmSGtZWUNKK3ZRSmtycjZYMDl2UE1vPX1leXw3az4kXi1AJlokU0gkall8TnRDX3Ni
RX01dVYKeks7c0l2TlBjUVVjREFzWUszfm5qQiR9PUp1elJIZDx5UzgqYFlSWEUwUCFkJHI4Rjc1
eFIrQDIzQE4leEtRdU1HCnpeWmpfUj9MPDxpc3w0VFA9PClUQ2hhZkxeIUMzQW9MMGQkTU92eXox
eDRZTUY0SV9zJmlzMzZ1SGFUTEI5ekhMUAp6MzJ9LSpofWRrP0dgUiF5P0BWUktGcnljfDV9a3xK
Ymx9enNFY3h9OVpgaXl7bXAoOU1RMWc7JmkwZnA+OyZJQ1oKel8kbUghYHotbTZxOyM0dFAyeHlX
cDxfPFBMaHJLMkVuRCVzdCk+dV48czFpYzhWJU9VYl5KQi1kNFNVanNDJTc+Cnp7SUkqRHlrNGZ1
Qnt3SUlfTDc/dHBhNG1jV0lrPiolPnV+QCExU008PVAobWFKZnRJallpaGFMOCp0fVNBP21zZAp6
YVlad2N5PllrXjZrTmFKWUxAcz1xU3QyMFlMbGlmMUxnVXpuTXp2VkM2P3dwaldSZnczLUdARTlW
fVlCZ3l2RTAKenhHPiQzIWNAMCVWQGNiTio0M1lVdDhRJVZEbGFlZyVJbW5PcH0kcjJUTn5vN1V9
WiVpNHVmQn5UcHtIK3ZycFRaCnozfV5wOCUqP0o5P3VMK2s1dGhRZGl+RzJaJG83eFkjaF5rRGFU
M30zbyR1Rj0xKHRnYkpaZDFleDYoPSpZIzwkNQp6LVhDUXVVa1R0TWVEPmRVITtXdmd6MDJ1anE2
VjdSP0V6Z1RDc0BLS1ppfDMkN0ZjVUR5JCR2eiNXeio1I0J+eUUKejkmQG1oJUh6PmBWR0hPYnFK
M3BkbUJDbH1uVjhuZHd+bktWc29DdmhWaXExKkhrXnBfVSVpSCpaZ2RYMzs8ZmRzCnoxMkdecFZr
Ujw2Rzh+Uj8wc2pfOEghRz9qd3xUUVJSTGZnR3d0RUNmYWU3OWs8YnBIOGclPDA4dmF6RlhASmUp
Mwp6PyoyJjttYHpyP2YkNW5lTHZHUG1kRGU4VGpULUZoSWl8ezZzNSQ+Zmx0fH1NXm8kPytFTm11
blZPR2E4LUtxYEkKejhRUEs0YnllTnR0O0hhfTReRzAhN1YrIW8hQjtNenw1VDZuQHxpRGdCK3Qj
Rnk+RDA1am9AcVJNcHVkfTl4RU9hCnokQnl+T1hiZk1nYXUqYVd7bXZwNUdVKilRY2w+R15VWkxy
TE00cWIqek8kXm5UfFY1MXVVJCptLWV3cEFfVn5CNgp6ezUjNE5sOSpiTlZzMktGQkhgeGpMbDdg
VF5+b3o2KWQpNzVkS0FEIyttfntGJig2NnlgQEY7QTZ+cDtBbmNpMjwKejZ4Y0ApVGYzenRIU1ZZ
TSVOTk1CN01sakx4THA4bzM4eFlHY1IlbytjMUUwd0V7flA+PjZReGI1TlR3TThwb1RPCnokPXky
dCZfNj1MP3lSPSRzPmYmaVRJJTM7Y28lWW0oPiUtKF59JkxzbXsjQ2BRWjJSXmxvNnd6Ky0/UHtu
N253egp6dl91Ri1nZ1pgJjZ4YXVSUnFscTU5OEh2Izs8cyRHSGZfdCpHYWIwfXQqbmB3QDZLNzBA
S3JCfFojWChwMVhASzsKemArcEgtKHpnQXJ3diFTbyg2c0JrJH5AckgpdnpiRTYlZVlGLUAtWihP
QnZDX2JNOyNaXlVTKTEzYjdPSXBDelReCnorISFHbExQSXNMKFJ5PyQoT2xlRXR4PUp5MVkyZjdK
SFJ5JV53IX51VHdwb2YpRVQjJnU5VyhlVSFAIX5hSFIpVAp6a3ljNmp5KVhULVpAYnpMc3QkaH0w
Y3lkUTxNM2h5PU9wO3xDS0g0OUBhZzJ1JjVwKlI0bCpDLW9wQWRYJlVKISEKekNpTHs0JVZ+SHds
az9GPCRqK2F5SlMoM0dvMmQrYUM1T3U3NypXSXVUeC1lXkRJSGolKWNqJSktQ1RNZTE9cEJRCno+
Z0BrTG0rdDBWUHl9dTYpUFFLZ1d8dChKelI7VCNHVC1OSGBxQF96K0s0XjJTWiR9MmM8ZnJWTypL
eFdVTmIkOQp6OGx2JjRzVlBPLVNwayY5dD87MHNPZ1pzYlN2Sj9UTW8mVjVzZTxGSGgqNmg4Plcz
aDh1JWt3ekpBMVI1Xld3eVkKelF1e2ZZcnBiVVJZX3dwMHlSeUxNYEpnRnhAOGprJCU4elR0PSZO
QC0pS2NQMDNNTU9HXyY9KSV3WlJFRm4oKEQ5CnptbFk8IyVPOWhRP0NCZys5bGV8Xm1FTDtVZXpm
djJ3RHplRkRjXis/SitsNE9CIz1mJXg8JXM9dnNFXlQ0QFZHSwp6R2dLelV1emdfZ3l5WDF2cGpO
ZHhRKEFHPCFrVlNMZkYla3tTdlhjdztBLSZETCZwdV9GO2hBeTlZP09lYV9aaDQKenw1UmFLe1Aj
THlQPlFzJih1PFQ9U2VtVjlxVS1mYHZxTDJuc3Blczlkalo9SVgtZyFBbU1AeVFHfTJBMEtKYilh
CnpwTWMhdU9MJmJeNkBOM2ZPa3A3WHtVbnE5R0QjSF41eH4xPHt0IU1RI0JhSXVzNiNEbHZONUV3
SkRjIWZRPSt4bgp6PWJ+KlkpQVBhfjkoS0V5NmFEfmFLYz00I2E2MkcySis+QkZkVXNZKEhjO2Zt
MGtgfSppc1NlNTB8TWFfbiEwQEwKejY9fTU0YFZUZj93eU90YEY0RlQhPXYzTChmQ2FRN1I7Nk8z
fE0kNXomJX55KDNrPGF7Z3RsMT5rVzIqO3RxUUE7CnphLSpeTVZPfUB5bnlJd3JnfUVveyFLfHFW
UEhiQ2Y7akdEb2pTTTBOc2I0I0U4JD58T2M7aks8O2dPKSlXOVNXWAp6RlgwUX00V1RmcFFPQG13
MyRkMHVlQ0VCOXFrQlpYcn5aKH4+UGowPD5zNEtpTXRCZyk1NEwxS2ZRckM4MnVQWmIKenVYO3Q3
MT54PG9NM2JmKHtWM05JcG4/UjNzPSEqeXVOSDc9QH1eMyUmczB7IT5Sdm5AY2NuJUVoNVk/ZWFV
cHcyCnpWUzwqNXI3fmM0RE19UFZFYjgyaDFmJkt5QnoyOFY2ZzF+dVclYENTJkF1ZmBTNFp3PU9l
RUkjdXZnQiYtaF5EZAp6Q2hqWHBPRnZXIzxvdGx7ZGc+Xk9AeC1pMjA/VVU9X25LMW9ldHRobyFo
LXg1YDRZcEA0eUghbF98P1g9YiNoXjgKekZQOCYrTWVkMj4wLSRIUElKO1J1S291OVdOcChJZHpB
QVVPISYmV2ZydU90QDk9T0BTemhPcDk4Mz05Iyl8aE0yCnpJbzhfI0kqdlQjPCFlcjVxZCZ0MFBk
QE45Tys9PFg/bX1ATW5yXjwzckYwa2Q0aE0/S0A+RHwwTT1rdFpiS2JeYgp6ZiZHZ2JydCg1Uz9E
TkhTLWFIMHZLOXIrQU5JTHxXbCo9SklST20wd0h0QXVoXyY2U3A5TVlGN0BaMlh7SFlOYFYKelJk
JXdPTiZrN3VvfCU3ZEVPQ3w3JTNsWldsfjVBOVAjLXgmbSRtVXJiel9zKHJBMmkxUnd0UGlYRi1a
eDRfdEd1CnpCa013dCRIZk9oWk1LN1MxNUVHd3hVN3hLIVI/MDEzKiVAfTBxd054IX47XkhkVHhU
b3sqSWMrQlMmPUhZPThYZAp6YTVNY1pFcnM9Y058fnQxS29gaWMwXn1JMkhSJWxEb3ZMfChyaUQo
dVVgXmUpQUhLMUdeYzU0O0otNnJIZmZMUjIKekBzMTBYeWdzanZlKV5ZRldHUTZUZyYwVWNTNnhy
LSVjSikkVn1nUGIzKTNTeiFiYjBXOUUySGRwQ3BLRy1mYTl8CnooN015SG5kS2pZb1AlRWp7SXZL
X3ZGRCR3cG5CUV5sQ045bmI5WHo9R0pXUkE8PFBre2U8YkY+VWhJOEpOTyp6OQp6QXIzNV9gXi15
fWJNPEZWJmZee3Q1cHxec1V8ZEt6VyFhfWVEcH1gVVB4aGlDTnRlbFgwPll9ZCNpK0YxZlcrKiUK
enhHUjlENmQ1cWBHTE1kMTxZQT5sUWRuc1Q+XkpgYzlrPTZBbFNkdkM/fD5tTXZhUHUkbCFSKjxM
T2N+RFQ+MUVfCnoodk9SLXd4V1pNUHdMWTR3KWtXU1ZVN3dlMkBWN2BxNUBLSV80fTBeQT9SYWh0
azBsUy1+JiRYbDRmVj5Qb0JjRQp6MlZQc1ckVFQwfCg3NXtCVCRZPSRuRERWQTU+TFZAbXhOd2cr
aWJ+PllfXyl5IS10XyZUYikjKEo4UVomd2lnbnoKejhuNzZTc25lK0I8WG0tZCZaVnNuPnFkeHEq
QyRCYyhXeVRzI2sqY0pDVTMzWCFHYyhiISFQdn4qO0o9JUtjUEpFCno9ZkNwY2o5K3A2Q3Z5fmsz
RCU/Zmo2eDRhP3UwN3tkSGlIbU95I25zTGZRZC01OTNgMWxGNS1kOU9uVDRNeyYmRAp6dmxYK09x
Uyp6PjMyWW5AX20xUkBPQDItZTA2e1Q/MElAUTghYWFpRFBacDJ0SyYjO0tgQEcmMWxfS0toI3tw
PXEKendYeDxsXkpkd3E9e1AlNT4jPyYtWno2U24pY1k4dWJQNjB5ITxDRXM+e3Q3NkkxdC0qKlMy
RHFFVDcyWCl8cyNtCnpOJER1bGchTHc+bHhLRyN7ZEpvKXVjRUZQZFNhJFlBN359TlYpKy12LXhU
NSFhNThxKXVNUFkmbiZYVDJuYGJgbgp6MmolUzljcXAtck1peUskNlM5e3o4ajdVV2ZUSWgrcWp7
LWtJSHAoLUJ5WEZnQndtdShvfFh4aVAwT09uYjh8VTYKeklVfjlSIWo2e1BRKkdaSEpCVkZRVDBA
bzxDfX1RVDJkOVQ1QlZXMUY0YDlFKGBhUjwmaGZqTzxve2VXe19kfnotCnpTUztZSW0kezIxJWls
RlFtLTBGMHdWUUlHR3g9b0ZLMGVlN3Q5aSo4MlNvUHRxSDt9bjNOeyUwZk0hLUtMJkdKZAp6cER9
fWkrZiNVZy1aQEA1aW85UjI3MV5QTDVqLV8/Yi19MUlTdkhrNiEwME4rezM3OGVfWCpCMkpeZ3BX
YXtPJG0KejRIfHdzZi1penRXSUEqfEU9MFA9NDBlRnxuaGwqZElZZ14qP3Z6MzZPTXBaMz89QkJZ
SWh2UztGREhUZUt6bjBhCnpVK0wxfio9JnsyM2Z7MWNXZS18TnFEb3NObnY3TmFlRXtfPD1YSiVY
ZElvSX4tZi1rKm1HNXp6TFI9RSppeFBTUAp6MXp9S1kmXkUoQkNxSl8+RzN2PjItQktHVSp6ayk0
a2kpbGlEI0dmST5BYVIxc1RqRjdrZHVkUEZJQkI8YGA2aFgKejdFenIwZ0toVithdEJVcERMeW8h
Ri1UQldFNEdOSmp2VEBZQTZaJH02cFFAPVJ+O203WFo1VHF4PXljSDN8UW12CnpFVWdwWmYxUn5w
NWt0Rzw0ampoZipnJCpmbSgxcSp7cTtOXnh+LVNTcUtpVGplP0BnNWYzWW47QWJJdHgmdnNrfgp6
cCkhO2VrNTFac0dPWGswRzR6emtKeipFVz8yN2tDbTN6IUFmM3ZFekstcGMxXmBEWl9efEpkVik5
Szk8dUVodkMKemRFaUpLKW17KG1RNjFaTnIhfGFURHE+XnJgfG9aJGFKfC17QlNlMDdVX3J9ZUQ+
N3hBTnAyeXdJVUtwZD1AaXxCCnp0eUkoY3JuQCMhN05Le1ktOGRGVS01X3MtSElnX0ZFIThoMG1B
cE4qSGpfK1BmbkIwSSRDOClaKVFhPDQmNUI9KQp6NUlCOUklT1Eqb1g7WjJkaGlyVWFGO2YyNGUx
SW9UJEMqbXJKUlNpSjg5RWE4VClkdTJmeW9TYXJycztNYnxUNjMKenYqUG58UHRhOz01d3xONC0p
fF8pQT9kbEVWZG4oZ2Q9QDA5NnJXQW5jRzVNa1VXciF9KUJJQVVlKHhvYj9rU24kCnohY2c7X1ox
aHdgVlNmeysjTGR7Ym9fOyYmMmtWNGc/dmZHQF9MS3RzZF9nfktHIXojcS1FKl8mJFBjO1BTMkQ5
UAp6eUo1M1YxY3dGaD9WTDIwciE5X0pKXyhYMVZ6MH41VWZ1VWtFT2F6WHYkaCtPXnBHKW8+NnQj
Ym9PQHpecyFZP1UKejVqQzNmQnQyK3tXJjskX0txZytSa35oeyMwVj5eTjRCKXFhdn1Cfmc/RStZ
NHJ0YC1tI25DMEp5YVJqcVdoUUpFCnpJYHR3SmxKcDxgKTRZMXlnQ1dnSiVkQFk0cX1WKl9NPU1P
R051cTVsU3UtVilhcCshV018R0hJRHReaG5WPiRAegp6NWwwO1NvJWA4dU4+IWhALShiJXNsMHFE
WmspUH54Um57UUljanJVKjlUMFBFRFVYMk94WE1HMGJMKEolN15UJl4KejwtI2QjdzZDV1cmUEEp
OFZGbFFzVXFlNm0kQShkZ3EoPyRJUCgoPk9wUH41amMhNWsjLT5xTHNzfWshV3QqOCZUCnpjYn5Z
VUg7aTs5N01YMEVYfTw0TiM/U0VVOFJ7JXxsfE96d1pFQ3xKT3BwPlZvKWZwfmVgNC1uVjEtck09
UUN6Twp6XiR2NHM0Sz4tIVZuWSk4Rl9qaGNaXiVOJiNEKG83dyNfbU8/IzEhc2draXtMRSlPSnxu
SWdXUFU2NGF7NittZzwKekkyZkN0RGlvdnxxelQmLWNZc3F2aT05VjxgXjxKMHZ6MTZvYE9hOHR6
dkx9QDBiOTwqKVVRZW8ka30tRSU4QShnCno5Jjhpc3JNMjQwJSlwfVNAc2IjRjNPYTduaV9rYT57
eTQzPkRxXmF+XmYwUlEzd0VJYm9kYSFpUnhwVG5NNlRCMAp6YV9UTXlib15TXik9PSk3Mmd0UHVl
bnx1JWVXSCt4WV9PLUVTaiNRaG1mOT5rIyZyTHhsPiQlcGRxaGl0Pz1fLWIKengmKmZpTHxiYzQt
OVAtTTNwKUYme0pDfU9BVyZkOVgjRFFAJlF9WEExRFNUOUpMeTtBNEcyYTFFXnU9N1p0X2lvCnpa
UUk+VSRackFfcF98JEt3NEspLXpQJGpCbn51RmMlS2hKYihOfT07emdJbFlCZXI3dFJ2TGQ9TE9B
TlErUz47Xgp6dVA/bD9Wckc4Ym9BRihLVGdqVVdfYDlVUFF1X1pBT0puaTZgMk5xeTQjN1Z6JihE
N1hUSXM+bWJ1dFFmaz0yUyoKelpHZkBuX3Ywdm9xVl5zNVY7QmFLe19eYklIdEwlY1N6LWpWbyY1
cjVeRXljWnVuemxCdz59NXwmLTQjQE1fQmdDCnowS05HeFclYDwqOHZ9ekJxZl53elk9M0JPOC1p
fiZeRjNIOTMtQ2dVIyF1Kl9sZ1lhdkZeNChUKnE5bFNnN0BDMwp6WT84ViRpRzd4YndSM3ZqZ0lZ
NG4kZl4jMylgRUhiJTJxb0RhZkJXQ1RxTDV0JntATGF8MihSWHglMlVWJGtGLSMKeiVpYzVhQz4o
OH1mQURwTkpzO0BtKERfKDVidVE9K0h8PVd9ZVVxakFOZENnUjlWTjF8ZERkenhHck0qbHgwXz9R
CnpEJkR4RSleXnMoYVd7M1h0UihCYF85O15kLSREa2N5Vj1ld1hadkwoQGFrY2pLelNtXzV3bnI/
dXhVU3dJRTRXJgp6ekppNTsjS3tiQkI0eUYjS0VGbGttUzUkeElYfnZSdDZmcGNeMT00P1crO254
WE5fUkRRbkkpcXl5TGckZlJ8M0AKejtHJFo4eWUxRzIqeEREJXFpajJWbisqN0VHUn1ad3lHcG91
fEZrSUp4ME89Jm9aWVV8MTZ6Rm8xXmhOJHktUm16CnpoaEtwTU4/JE1MTWVoaXJ6ITMtfnV0ZGAx
e30hZEsxY1p7bU9acUZOemdZVGZhZXd7TlVzdzR6cCFeUD8oZkBQOQp6RX0jQy02KCopYlFrKHg1
OzRkcnElYm9yKiUpZ31mWikpJjJmJT08Zns+Xi1VKDtIQCV6eDlFP1JnfU5Bcm9aS3sKaXplVTNU
PCl6ZG4jOyZyKER2Tmwhb2VDNTFiM3hEZVQ9N3xfSk8yLUxOKHJSXgoKbGl0ZXJhbCAwCkhjbVY/
ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3N2Zy10cmFuc2l0aW9u
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvc3ZnLXRyYW5zaXRpb25zLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YTUzMDkyNWVjOTNiMDkwMWM1YmE4YzBiMmVmYjQ0ZGIz
MzRlMTcxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3N2Zy10cmFu
c2l0aW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMSBAQAorQ09OU09MRSBNRVNTQUdFOiBs
aW5lIDIxMjogRmFpbGVkIHRvIHBhdXNlICdmaWxsJyB0cmFuc2l0aW9uIG9uIGVsZW1lbnQgJ3Jl
Y3Q3JworRXhhbXBsZQorUEFTUyAtICJmaWxsLW9wYWNpdHkiIHByb3BlcnR5IGZvciAicmVjdDEi
IGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogMC42CitQQVNTIC0gInN0cm9r
ZS13aWR0aCIgcHJvcGVydHkgZm9yICJyZWN0MSIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5n
IGNsb3NlIHRvOiAzCitQQVNTIC0gInN0cm9rZS1vcGFjaXR5IiBwcm9wZXJ0eSBmb3IgInJlY3Qx
IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IDAuNgorUEFTUyAtICJzdHJv
a2UtZGFzaG9mZnNldCIgcHJvcGVydHkgZm9yICJyZWN0MSIgZWxlbWVudCBhdCAxcyBzYXcgc29t
ZXRoaW5nIGNsb3NlIHRvOiA1CitQQVNTIC0gImZpbGwiIHByb3BlcnR5IGZvciAicmVjdDIiIGVs
ZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogMCwxMjcsMTI3CitQQVNTIC0gInN0
cm9rZSIgcHJvcGVydHkgZm9yICJyZWN0MiIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNs
b3NlIHRvOiAxMjcsMCwwCitQQVNTIC0gInN0cm9rZS13aWR0aCIgcHJvcGVydHkgZm9yICJyZWN0
NCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiA4CitQQVNTIC0gInN0cm9r
ZS13aWR0aCIgcHJvcGVydHkgZm9yICJyZWN0NSIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5n
IGNsb3NlIHRvOiA1CitQQVNTIC0gInN0cm9rZS13aWR0aCIgcHJvcGVydHkgZm9yICJyZWN0NiIg
ZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiAxNQorRkFJTCAtICJmaWxsIiBw
cm9wZXJ0eSBmb3IgInJlY3Q3IiBlbGVtZW50IGF0IDFzIGV4cGVjdGVkOiAwLDAsMTI3IGJ1dCBz
YXc6ICNpbnZhbGlkICMwMDAwZmYKK1BBU1MgLSAic3RvcC1jb2xvciIgcHJvcGVydHkgZm9yICJz
dG9wMSIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiAxMjcsMTI3LDAKK1BB
U1MgLSAic3RvcC1vcGFjaXR5IiBwcm9wZXJ0eSBmb3IgInN0b3AxIiBlbGVtZW50IGF0IDFzIHNh
dyBzb21ldGhpbmcgY2xvc2UgdG86IDAuNzUKK1BBU1MgLSAic3Ryb2tlLW1pdGVybGltaXQiIHBy
b3BlcnR5IGZvciAicG9seWxpbmUxIiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2Ug
dG86IDExCitQQVNTIC0gImtlcm5pbmciIHByb3BlcnR5IGZvciAidGV4dDEiIGVsZW1lbnQgYXQg
MXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogNQorUEFTUyAtICJiYXNlbGluZS1zaGlmdCIgcHJv
cGVydHkgZm9yICJ0ZXh0MSIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiA1
CitQQVNTIC0gImZsb29kLW9wYWNpdHkiIHByb3BlcnR5IGZvciAiZmxvb2QxIiBlbGVtZW50IGF0
IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IDAuNQorUEFTUyAtICJmbG9vZC1jb2xvciIgcHJv
cGVydHkgZm9yICJmbG9vZDEiIGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzog
MTI3LDEyNywwCitQQVNTIC0gImxpZ2h0aW5nLWNvbG9yIiBwcm9wZXJ0eSBmb3IgImxpZ2h0MSIg
ZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiAxMjcsMTI3LDAKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3N2Zy10cmFuc2l0aW9ucy5odG1sIGIvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL3N2Zy10cmFuc2l0aW9ucy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEwOTM4OWMz
NGVhMzIzYzk5MWY3MDkyMjExN2U0ZjUxNWU3MWQxYjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jc3MzL2NhbGMvc3ZnLXRyYW5zaXRpb25zLmh0bWwKQEAgLTAsMCArMSwxODUgQEAK
KzxodG1sPgorPGhlYWQ+CisgIDxzdHlsZT4KKworICBzdmcgKiB7CisgICAgICAtd2Via2l0LXRy
YW5zaXRpb24tcHJvcGVydHk6IGZpbGwsIHN0cm9rZSwgZmlsbC1vcGFjaXR5LCBzdHJva2Utb3Bh
Y2l0eSwgc3Ryb2tlLXdpZHRoLCBzdHJva2UtZGFzaG9mZnNldCwgc3Ryb2tlLW1pdGVybGltaXQs
IGtlcm5pbmcsIGJhc2VsaW5lLXNoaWZ0LCBmbG9vZC1jb2xvciwgZmxvb2Qtb3BhY2l0eSwgc3Rv
cC1jb2xvciwgc3RvcC1vcGFjaXR5LCBsaWdodGluZy1jb2xvcjsKKyAgICAgIC13ZWJraXQtdHJh
bnNpdGlvbi1kdXJhdGlvbjogMnM7CisgICAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1
bmN0aW9uOiBsaW5lYXI7CisgIH0KKworICAjcmVjdDEgeworICAgICAgZmlsbDogcmdiKDAsIDAs
IDI1NSk7CisgICAgICBzdHJva2U6IHJlZDsKKyAgICAgIGZpbGwtb3BhY2l0eTogMTsKKyAgICAg
IHN0cm9rZS1vcGFjaXR5OiAxOworICAgICAgc3Ryb2tlLXdpZHRoOiAyOworICAgICAgc3Ryb2tl
LWRhc2hvZmZzZXQ6IDA7CisgICAgICBzdHJva2UtZGFzaGFycmF5OiAxMDsKKyAgfQorICAuYW5p
bWF0aW5nICNyZWN0MSB7CisgICAgICBmaWxsOiByZ2IoMCwgMjU1LCAwKTsKKyAgICAgIHN0cm9r
ZTogYmxhY2s7CisgICAgICBmaWxsLW9wYWNpdHk6IDAuMjsKKyAgICAgIHN0cm9rZS1vcGFjaXR5
OiAwLjI7CisgICAgICBzdHJva2Utd2lkdGg6IDQ7CisgICAgICBzdHJva2UtZGFzaG9mZnNldDog
MTA7CisgIH0KKworICAjcmVjdDIgeworICAgICAgZmlsbDogcmdiKDAsIDAsIDI1NSk7CisgICAg
ICBzdHJva2U6IHJnYigyNTUsIDAsIDApOworICB9CisgIC5hbmltYXRpbmcgI3JlY3QyIHsKKyAg
ICAgIGZpbGw6IHJnYigwLCAyNTUsIDApOworICAgICAgc3Ryb2tlOiByZ2IoMCwgMCwgMCk7Cisg
IH0KKworICAjcmVjdDMgeworICAgICAgZmlsbDogdXJsKCNncmFkaWVudDEpOworICB9CisgIC5h
bmltYXRpbmcgI3JlY3QzIHsKKyAgICAgIGZpbGw6IHVybCgjZ3JhZGllbnQyKTsKKyAgfQorCisg
ICNzdG9wMSB7CisgICAgICBzdG9wLWNvbG9yOiByZ2IoMjU1LDAsMCk7CisgICAgICBzdG9wLW9w
YWNpdHk6IDE7CisgIH0KKyAgLmFuaW1hdGluZyAjc3RvcDEgeworICAgICAgc3RvcC1jb2xvcjog
cmdiKDAsMjU1LDApOworICAgICAgc3RvcC1vcGFjaXR5OiAwLjU7CisgIH0KKworICAjcmVjdDQg
eworICAgICAgc3Ryb2tlOiByZWQ7CisgICAgICBzdHJva2Utd2lkdGg6IC13ZWJraXQtY2FsYygx
cHgpOworICB9CisgIC5hbmltYXRpbmcgI3JlY3Q0IHsKKyAgICAgIHN0cm9rZS13aWR0aDogNG1t
OworICB9CisKKyAgI3JlY3Q1IHsKKyAgICAgIHN0cm9rZTogYmxhY2s7CisgICAgICBzdHJva2Ut
d2lkdGg6IDA7CisgIH0KKyAgLmFuaW1hdGluZyAjcmVjdDUgeworICAgICAgc3Ryb2tlLXdpZHRo
OiAtd2Via2l0LWNhbGMoMTBweCk7CisgIH0KKworICAjcmVjdDYgeworICAgICAgc3Ryb2tlOiBi
bGFjazsKKyAgICAgIHN0cm9rZS13aWR0aDogLXdlYmtpdC1jYWxjKDEwJSk7CisgIH0KKyAgLmFu
aW1hdGluZyAjcmVjdDYgeworICAgICAgc3Ryb2tlLXdpZHRoOiAtd2Via2l0LWNhbGMoMjAlKTsK
KyAgfQorCisgICNyZWN0NyB7CisgICAgICBmaWxsOiB1cmwoI2ludmFsaWQpIGJsYWNrOworICB9
CisgIC5hbmltYXRpbmcgI3JlY3Q3IHsKKyAgICAgIGZpbGw6IHVybCgjaW52YWxpZCkgYmx1ZTsK
KyAgfQorCisgICNwb2x5bGluZTEgeworICAgICAgZmlsbDogbm9uZTsKKyAgICAgIHN0cm9rZTog
YmxhY2s7CisgICAgICBzdHJva2Utd2lkdGg6IDQ7CisgICAgICBzdHJva2UtbWl0ZXJsaW1pdDog
MTI7CisgIH0KKyAgLmFuaW1hdGluZyAjcG9seWxpbmUxIHsKKyAgICAgIHN0cm9rZS1taXRlcmxp
bWl0OiAxMDsKKyAgfQorCisgICN0ZXh0MSB7CisgICAgICBrZXJuaW5nOiAwOworICAgICAgYmFz
ZWxpbmUtc2hpZnQ6IDA7CisgIH0KKyAgLmFuaW1hdGluZyAjdGV4dDEgeworICAgICAga2Vybmlu
ZzogLXdlYmtpdC1jYWxjKDEwcHgpOworICAgICAgYmFzZWxpbmUtc2hpZnQ6IC13ZWJraXQtY2Fs
YygxMHB4KTsKKyAgfQorCisgICNmbG9vZDEgeworICAgICAgZmxvb2Qtb3BhY2l0eTogMTsKKyAg
ICAgIGZsb29kLWNvbG9yOiByZ2IoMjU1LCAwLCAwKTsKKyAgfQorICAuYW5pbWF0aW5nICNmbG9v
ZDEgeworICAgICAgZmxvb2Qtb3BhY2l0eTogMDsKKyAgICAgIGZsb29kLWNvbG9yOiByZ2IoMCwg
MjU1LCAwKTsKKyAgfQorCisgICNsaWdodDEgeworICAgICAgbGlnaHRpbmctY29sb3I6IHJnYigy
NTUsIDAsIDApOworICB9CisgIC5hbmltYXRpbmcgI2xpZ2h0MSB7CisgICAgICBsaWdodGluZy1j
b2xvcjogcmdiKDAsIDI1NSwgMCk7CisgIH0KKyAgPC9zdHlsZT4KKyAgPHNjcmlwdCBzcmM9InJl
c291cmNlcy90cmFuc2l0aW9uLXRlc3QtaGVscGVycy5qcyI+PC9zY3JpcHQ+CisgIDxzY3JpcHQ+
CisgIGNvbnN0IGV4cGVjdGVkVmFsdWVzID0gWworICAvLyBbdGltZSwgZWxlbWVudC1pZCwgcHJv
cGVydHksIGV4cGVjdGVkLXZhbHVlLCB0b2xlcmFuY2VdCisgIFsxLCAicmVjdDEiLCAiZmlsbC1v
cGFjaXR5IiwgMC42LCAwLjFdLCAvLyAxIC0+IDAuMgorICBbMSwgInJlY3QxIiwgInN0cm9rZS13
aWR0aCIsIDMsIDAuNV0sICAgLy8gMiAtPiA0CisgIFsxLCAicmVjdDEiLCAic3Ryb2tlLW9wYWNp
dHkiLCAwLjYsIDAuMV0sIC8vIDEgLT4gMC4yCisgIFsxLCAicmVjdDEiLCAic3Ryb2tlLWRhc2hv
ZmZzZXQiLCA1LCAxXSwgLy8gMCAtPiAxMAorICBbMSwgInJlY3QyIiwgImZpbGwiLCBbMCwgMTI3
LCAxMjddLCAyMF0sIC8vIHJnYigwLCAwLCAyNTUpIC0+IHJnYigwLCAyNTUsIDApCisgIFsxLCAi
cmVjdDIiLCAic3Ryb2tlIiwgWzEyNywgMCwgMF0sIDIwXSwgIC8vIHJnYigyNTUsIDAsIDApIC0+
IHJnYigwLCAwLCAwKQorICBbMSwgInJlY3Q0IiwgInN0cm9rZS13aWR0aCIsIDgsIDFdLCAgLy8g
MXB4IHRvIDRtbQorICBbMSwgInJlY3Q1IiwgInN0cm9rZS13aWR0aCIsIDUsIDFdLCAgLy8gMCB0
byAxMHB4CisgIFsxLCAicmVjdDYiLCAic3Ryb2tlLXdpZHRoIiwgMTUsIDJdLCAgLy8gMTAlIHRv
IDIwJQorICBbMSwgInJlY3Q3IiwgImZpbGwiLCBbMCwgMCwgMTI3XSwgMjBdLCAgLy8gdXJsKCNp
bnZhbGlkKSBibGFjayAtPiB1cmwoI2ludmFsaWQpIGJsdWUKKyAgWzEsICJzdG9wMSIsICJzdG9w
LWNvbG9yIiwgWzEyNywgMTI3LCAwXSwgMjBdLCAvLyByZ2IoMjU1LDAsMCkgLT4gcmdiKDAsIDI1
NSwgMCkKKyAgWzEsICJzdG9wMSIsICJzdG9wLW9wYWNpdHkiLCAwLjc1LCAwLjFdLCAvLyAxIC0+
IDAuNQorICBbMSwgInBvbHlsaW5lMSIsICJzdHJva2UtbWl0ZXJsaW1pdCIsIDExLCAwLjVdLCAv
LyAxMiAtPiAxMCAodGhpcyBpcyBhbiBhYnJ1cHQgY2hhbmdlIGluIHJlbmRlcmluZyBldmVuIHRo
b3VnaCB0aGUgcHJvcGVydHkgYW5pbWF0aW9uIGlzIHNtb290aCkKKyAgWzEsICJ0ZXh0MSIsICJr
ZXJuaW5nIiwgNSwgMV0sIC8vIDAgLT4gMTBweAorICBbMSwgInRleHQxIiwgImJhc2VsaW5lLXNo
aWZ0IiwgNSwgMV0sIC8vIDAgLT4gMTBweAorICBbMSwgImZsb29kMSIsICJmbG9vZC1vcGFjaXR5
IiwgMC41LCAwLjFdLCAvLyAxIC0+IDAKKyAgWzEsICJmbG9vZDEiLCAiZmxvb2QtY29sb3IiLCBb
MTI3LCAxMjcsIDBdLCAyMF0sIC8vIHJnYigwLCAyNTUsIDApIC0+IHJnYigyNTUsIDAsIDApCisg
IFsxLCAibGlnaHQxIiwgImxpZ2h0aW5nLWNvbG9yIiwgWzEyNywgMTI3LCAwXSwgMjBdLCAvLyBy
Z2IoMjU1LCAwLCAwKSAtPiByZ2IoMCwgMjU1LCAwKQorICBdOworICAgIAorICBmdW5jdGlvbiBz
ZXR1cFRlc3QoKQorICB7CisgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVy
JykuY2xhc3NOYW1lID0gJ2FuaW1hdGluZyc7CisgIH0KKworICBydW5UcmFuc2l0aW9uVGVzdChl
eHBlY3RlZFZhbHVlcywgc2V0dXBUZXN0LCB1c2VQYXVzZUFQSSk7CisgIDwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+CisKKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgIDxzdmcgdmlld0JveD0iMCAw
IDE2MCAxMjAiIHdpZHRoPSI0MDBweCIgaGVpZ2h0PSIzMDBweCI+CisgICAgPGRlZnM+CisgICAg
ICA8bGluZWFyR3JhZGllbnQgaWQ9ImdyYWRpZW50MSI+CisgICAgICAgIDxzdG9wIGlkPSJzdG9w
MSIgb2Zmc2V0PSI1JSIvPgorICAgICAgICA8c3RvcCBvZmZzZXQ9Ijk1JSIgc3RvcC1jb2xvcj0i
cmdiKDAsMCwyNTUpIiAvPgorICAgICAgPC9saW5lYXJHcmFkaWVudD4KKyAgICAgIDxsaW5lYXJH
cmFkaWVudCBpZD0iZ3JhZGllbnQyIj4KKyAgICAgICAgPHN0b3Agb2Zmc2V0PSIxMCUiIHN0b3At
Y29sb3I9InJnYigwLDI1NSwyNTUpIiAvPgorICAgICAgICA8c3RvcCBvZmZzZXQ9Ijk1JSIgc3Rv
cC1jb2xvcj0icmdiKDI1NSwgMCwyNTUpIiAvPgorICAgICAgPC9saW5lYXJHcmFkaWVudD4KKyAg
ICAgIDxmaWx0ZXIgaWQ9ImZpbHRlcjEiPgorICAgICAgICA8ZmVGbG9vZCBpZD0iZmxvb2QxIi8+
CisgICAgICAgIDxmZURpZmZ1c2VMaWdodGluZyBpZD0ibGlnaHQxIi8+CisgICAgICA8L2ZpbHRl
cj4KKyAgICA8L2RlZnM+CisgICAgPHJlY3QgaWQ9InJlY3QxIiB4PSIxMCIgeT0iMTAiIHdpZHRo
PSIzMCIgaGVpZ2h0PSIzMCIvPgorICAgIDxyZWN0IGlkPSJyZWN0MiIgeD0iOTAiIHk9IjEwIiB3
aWR0aD0iMzAiIGhlaWdodD0iMzAiLz4KKyAgICA8cmVjdCBpZD0icmVjdDMiIHg9IjkwIiB5PSI2
MCIgd2lkdGg9IjMwIiBoZWlnaHQ9IjIwIi8+CisgICAgPHJlY3QgaWQ9InJlY3Q0IiB4PSIxMCIg
eT0iMTAwIiB3aWR0aD0iMTAiIGhlaWdodD0iMTAiLz4KKyAgICA8cmVjdCBpZD0icmVjdDUiIHg9
IjUwIiB5PSIxMDAiIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCIvPgorICAgIDxyZWN0IGlkPSJyZWN0
NiIgeD0iOTAiIHk9IjEwMCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIi8+CisgICAgPHJlY3QgaWQ9
InJlY3Q3IiB4PSIxMzAiIHk9IjEwMCIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIi8+CisgICAgPHBv
bHlsaW5lIGlkPSJwb2x5bGluZTEiIHBvaW50cz0iMTAsNzAgNjAsNzUgMTAsODAiLz4KKyAgICA8
dGV4dCBpZD0idGV4dDEiIHg9IjEwMCIgeT0iNjAiPkV4YW1wbGU8L3RleHQ+CisgIDwvc3ZnPgor
PC9kaXY+CisKKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2Nh
bGMvdGFibGUtY2FsY3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3RhYmxl
LWNhbGNzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMDUxOTI2ZWY2ZDViZTFhMTAwY2I1N2Rj
ZDdmNWU0NDhmYmYzYWVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxj
L3RhYmxlLWNhbGNzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0FsbCB0YWJsZSBjZWxs
cyBiZWxvdyBzaG91bGQgYmUgMTAwcHggKiAxMDBweCBhbmQgZ3JlZW4uCisKK2NvbnRyb2wgd2lk
dGg6MTAwcHggPT4gUEFTUwlzaW1wbGUgMTAwcHggPT4gUEFTUwkyNXB4ICogNCA9PiBQQVNTCitj
b250cm9sIGhlaWdodDoxMDBweCA9PiBQQVNTCXNpbXBsZSAxMDBweCA9PiBQQVNTCTI1cHggKiA0
ID0+IFBBU1MKK2NvbnRyb2wgd2lkdGg6MjUlID0+IFBBU1MJc2ltcGxlIDI1JSA9PiBGQUlMOiBl
eHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgMTM1CTEwJSAqIDIgKyA1JSA9PiBGQUlMOiBl
eHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgNjAKK2NvbnRyb2wgaGVpZ2h0OjI1JSA9PiBQ
QVNTCitzaW1wbGUgMjUlID0+IFBBU1MKKzEwJSAqIDIgKyA1JSA9PiBGQUlMOiBleHBlY3RlZCBo
ZWlnaHQgb2YgMTAwLCBidXQgd2FzIDE4CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMv
Y2FsYy90YWJsZS1jYWxjcy5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3RhYmxlLWNhbGNz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjE3MWM1OTQ2NDE4YzRkZDY0YWUxMGE3ZjA2NDE3NDY3ZTRiOGZh
YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJsZS1jYWxjcy5o
dG1sCkBAIC0wLDAgKzEsMTAwIEBACis8IURPQ1RZUEUgSFRNTD4KKzxzdHlsZT4KKy53aWR0aC10
ZXN0IHsKKyAgICBwYWRkaW5nOiAwOworICAgIHdpZHRoOiAtd2Via2l0LWNhbGMoMjU2cHgpOyAK
KyAgICBoZWlnaHQ6IC13ZWJraXQtY2FsYygxMDBweCk7CisgICAgYmFja2dyb3VuZC1jb2xvcjog
cmVkOworfQorCisud2lkdGgtcGVyY2VudC10ZXN0IHsKKyAgICBwYWRkaW5nOiAwOworICAgIGhl
aWdodDogLXdlYmtpdC1jYWxjKDEwMHB4KTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Cit9
CisKKy5oZWlnaHQtdGVzdCB7CisgICAgcGFkZGluZzogMDsKKyAgICB3aWR0aDogLXdlYmtpdC1j
YWxjKDEwMHB4KTsKKyAgICBoZWlnaHQ6IC13ZWJraXQtY2FsYygyNTZweCk7CisgICAgYmFja2dy
b3VuZC1jb2xvcjogcmVkOworfQorCisuaGVpZ2h0LXBlcmNlbnQtdGVzdCB7CisgICAgcGFkZGlu
ZzogMDsKKyAgICB3aWR0aDogLXdlYmtpdC1jYWxjKDEwMHB4KTsKKyAgICBiYWNrZ3JvdW5kLWNv
bG9yOiByZWQ7Cit9CisKKzwvc3R5bGU+CisKKzxwPgorICBBbGwgdGFibGUgY2VsbHMgYmVsb3cg
c2hvdWxkIGJlIDEwMHB4ICogMTAwcHggYW5kIGdyZWVuLgorPC9wPgorCis8ZGl2IGlkPSJ0ZXN0
Ij4KKyAgICA8dGFibGU+CisgICAgICA8dHI+CisgICAgICAgICAgPHRkIGNsYXNzPSJ3aWR0aC10
ZXN0IiBzdHlsZT0id2lkdGg6IDEwMHB4OyI+Y29udHJvbCB3aWR0aDoxMDBweDwvdGQ+CisgICAg
ICAgICAgPHRkIGNsYXNzPSJ3aWR0aC10ZXN0IiBzdHlsZT0id2lkdGg6IC13ZWJraXQtY2FsYygx
MDBweCk7Ij5zaW1wbGUgMTAwcHg8L3RkPgorICAgICAgICAgIDx0ZCBjbGFzcz0id2lkdGgtdGVz
dCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMjVweCAqIDQpOyI+MjVweCAqIDQ8L3RkPgor
ICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgorICAgIDx0YWJsZT4KKyAgICAgIDx0cj4KKyAgICAg
ICAgICA8dGQgY2xhc3M9ImhlaWdodC10ZXN0IiBzdHlsZT0iaGVpZ2h0OiAxMDBweDsiPmNvbnRy
b2wgaGVpZ2h0OjEwMHB4PC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9ImhlaWdodC10ZXN0IiBz
dHlsZT0iaGVpZ2h0OiAtd2Via2l0LWNhbGMoMTAwcHgpOyI+c2ltcGxlIDEwMHB4PC90ZD4KKyAg
ICAgICAgICA8dGQgY2xhc3M9ImhlaWdodC10ZXN0IiBzdHlsZT0iaGVpZ2h0OiAtd2Via2l0LWNh
bGMoMjVweCAqIDQpOyI+MjVweCAqIDQ8L3RkPgorICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgor
ICAgIDx0YWJsZSBzdHlsZT0id2lkdGg6NDEwcHg7IGJvcmRlci1zcGFjaW5nOiAycHggMnB4Ij4K
KyAgICAgIDx0cj4KKyAgICAgICAgICA8dGQgY2xhc3M9IndpZHRoLXBlcmNlbnQtdGVzdCIgc3R5
bGU9IndpZHRoOiAyNSU7Ij5jb250cm9sIHdpZHRoOjI1JTwvdGQ+CisgICAgICAgICAgPHRkIGNs
YXNzPSJ3aWR0aC1wZXJjZW50LXRlc3QiIHN0eWxlPSJ3aWR0aDogLXdlYmtpdC1jYWxjKDI1JSk7
Ij5zaW1wbGUgMjUlPC90ZD4KKyAgICAgICAgICA8dGQgY2xhc3M9IndpZHRoLXBlcmNlbnQtdGVz
dCIgc3R5bGU9IndpZHRoOiAtd2Via2l0LWNhbGMoMTAlICogMiArIDUlKTsiPjEwJSAqIDIgKyA1
JTwvdGQ+CisgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgCisgICAgPGRpdiBzdHlsZT0i
aGVpZ2h0OiA0MTZweCI+CisgICAgICA8dGFibGUgc3R5bGU9ImhlaWdodDogMjUlIj4KKyAgICAg
ICAgICA8dHI+PHRkIGNsYXNzPSJoZWlnaHQtcGVyY2VudC10ZXN0Ij5jb250cm9sIGhlaWdodDoy
NSU8L3RkPjwvdHI+CisgICAgICA8L3RhYmxlPgorICAgIDwvZGl2PgorICAgIDxkaXYgc3R5bGU9
ImhlaWdodDogNDE2cHgiPgorICAgICAgPHRhYmxlIHN0eWxlPSJoZWlnaHQ6IC13ZWJraXQtY2Fs
YygyNSUpOyI+CisgICAgICAgICAgPHRyPjx0ZCBjbGFzcz0iaGVpZ2h0LXBlcmNlbnQtdGVzdCI+
c2ltcGxlIDI1JTwvdGQ+PC90cj4KKyAgICAgIDwvdGFibGU+CisgICAgPC9kaXY+CisgICAgPGRp
diBzdHlsZT0iaGVpZ2h0OiA0MTZweCI+CisgICAgICA8dGFibGUgc3R5bGU9ImhlaWdodDogLXdl
YmtpdC1jYWxjKDEwJSAqIDIgKyA1JSkpOyI+CisgICAgICAgICAgPHRyPjx0ZCBjbGFzcz0iaGVp
Z2h0LXBlcmNlbnQtdGVzdCI+MTAlICogMiArIDUlPC90ZD48L3RyPgorICAgICAgPC90YWJsZT4K
KyAgICA8L2Rpdj4KKzwvZGl2PgorCis8ZGl2IGlkPSJyZXN1bHRzIj48L2Rpdj4KKworPHNjcmlw
dD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworCit2YXIgY2VsbHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGVzdCIpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZCIpOworZm9yICh2YXIgaSA9IDA7IGkg
PCBjZWxscy5sZW5ndGg7ICsraSkgeworICAgIHZhciBjZWxsID0gY2VsbHNbaV07CisgICAgdmFy
IHdpZHRoID0gY2VsbC5vZmZzZXRXaWR0aDsKKyAgICB2YXIgaGVpZ2h0ID0gY2VsbC5vZmZzZXRI
ZWlnaHQ7CisKKyAgICB2YXIgZXJyb3IgPSBbXTsKKyAgICBpZiAod2lkdGggIT0gMTAwKQorICAg
ICAgICBlcnJvci5wdXNoKCJleHBlY3RlZCB3aWR0aCBvZiAxMDAsIGJ1dCB3YXMgIiArIHdpZHRo
KTsKKyAgICBpZiAoaGVpZ2h0ICE9IDEwMCkKKyAgICAgICAgZXJyb3IucHVzaCgiZXhwZWN0ZWQg
aGVpZ2h0IG9mIDEwMCwgYnV0IHdhcyAiICsgaGVpZ2h0KTsKKworICAgIHJlc3VsdHMgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpOworICAgIGlmIChlcnJvciA9PSAiIikgewor
ICAgICAgICBjZWxsLnN0eWxlLmJhY2tncm91bmRDb2xvciA9ICJncmVlbiI7CisgICAgICAgIGNl
bGwuaW5uZXJIVE1MICs9ICIgPT4gUEFTUyI7CisgICAgfSBlbHNlCisgICAgICAgIGNlbGwuaW5u
ZXJIVE1MICs9ICIgPT4gRkFJTDogIiArIGVycm9yLmpvaW4oIiwgIik7Cit9Cis8L3NjcmlwdD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3Mz
L2NhbGMvdGFibGUtZW1wdHktY2VsbHMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMv
Y2FsYy90YWJsZS1lbXB0eS1jZWxscy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjljY2U2ODEy
ZDNiMDc5MjI0NDM2OGRiODZjMTQyY2YxZmFkMTBhZWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jc3MzL2NhbGMvdGFibGUtZW1wdHktY2VsbHMtZXhwZWN0ZWQuaHRtbApAQCAtMCww
ICsxLDI0MiBAQAorPGh0bWw+PGhlYWQ+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPiAKKworLnBl
cmNlbnQgeyB3aWR0aDo1MCU7IH0KKy5maXhlZCB7IHdpZHRoOjQwMHB4OyB9CisuY2VsbDIge2hl
aWdodDoyNXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBhcXVhIH0KKy5ib3JkZXIgeyBib3JkZXI6IDJw
eCBzb2xpZCBncmVlbiB9IAorLnBhZGRpbmcgeyBwYWRkaW5nOiAycHggfSAKKy5tYXJnaW4geyBt
YXJnaW46IDJweCB9IAorLmJnY29sb3IgeyBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3cgfSAKKy5w
cmUgeyB3aGl0ZS1zcGFjZTogcHJlIH0KK3RhYmxlIHsgYm9yZGVyOiAycHggc29saWQgYmxhY2sg
fQorCis8L3N0eWxlPgorPGJvZHkgbGVmdG1hcmdpbj0iMCIgdG9wbWFyZ2luPSIwIj4KKworCis8
dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJv
ZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIiPkZp
cnN0IGNlbGwgZW1wdHksIHNlY29uZCBhdXRvIHdpZHRoPC90ZD4KKzwvdHI+Cis8L3Rib2R5Pgor
PC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9
IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xh
c3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHksIHNlY29uZCBwZXJjZW50IHdpZHRo
PC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRkaW5nPSIw
IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNz
PSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIGZpeGVkIj5GaXJzdCBjZWxsIGVtcHR5
LCBzZWNvbmQgZml4ZWQgd2lkdGg8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8
dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJv
ZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIHByZSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwy
IHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHkgKHdpdGggc3BhY2UpIGFuZCBoYXMgd2hpdGUtc3Bh
Y2U6cHJlPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxwYWRk
aW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRk
IGNsYXNzPSJjZWxsMSBwcmUiPjwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0
IGNlbGwgZW1wdHkgKG5vIHNwYWNlKSBhbmQgaGFzIHdoaXRlLXNwYWNlOnByZTwvdGQ+Cis8L3Ry
PgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBpZD1jIGNlbGxwYWRkaW5nPSIwIiBjZWxs
c3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxs
MSBib3JkZXIiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxsIGVt
cHR5IGJ1dCBoYXMgYm9yZGVyPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRh
YmxlIGlkPWMgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8
dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIHBhZGRpbmciPiA8L3RkPgorPHRkIGNsYXNz
PSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxsIGVtcHR5IGJ1dCBoYXMgcGFkZGluZzwvdGQ+Cis8
L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBpZD1jIGNlbGxwYWRkaW5nPSIxIiBj
ZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJj
ZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHks
IHRhYmxlIGhhcyBjZWxscGFkZGluZzwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisK
Kzx0YWJsZSBpZD1jIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMSIgd2lkdGg9IjEwMCUi
PgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNl
bGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHksIHRhYmxlIGhhcyBjZWxsc3BhY2luZzwvdGQ+
Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBpZD1jIGNlbGxwYWRkaW5nPSIw
IiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNz
PSJjZWxsMSBtYXJnaW4iPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBj
ZWxsIGVtcHR5IGJ1dCBoYXMgbWFyZ2luPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4K
KworPHRhYmxlIGlkPWUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAw
JSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIGJnY29sb3IiPiA8L3RkPgorPHRk
IGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxsIGVtcHR5IGJ1dCBoYXMgYmFja2dyb3Vu
ZCBjb2xvcjwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFk
ZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0
ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBy
b3csIGZpcnN0IGNlbGwgZW1wdHk8L3RkPgorPC90cj4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEi
PiB0ZXh0IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPlNlY29uZCByb3csIGZpcnN0
IGNlbGwgbm90IGVtcHR5PC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxl
IGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5Pgor
PHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQi
PkZpcnN0IHJvdywgZmlyc3QgY2VsbCBlbXB0eTwvdGQ+Cis8L3RyPgorPHRyPgorPHRkIGNsYXNz
PSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPlNlY29uZCByb3csIGZp
cnN0IGNlbGwgZW1wdHk8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUg
Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8
dHI+Cis8dGQgY2xhc3M9ImNlbGwxIiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2Vs
bDIgcGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0eSwgaGFzIGNvbHNwYW48L3RkPgorPC90cj4KKzwv
dGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIw
IiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4K
Kzx0ZCBjbGFzcz0iY2VsbDIiPiB0ZXh0IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQi
PkZpcnN0IHJvdywgZmlyc3QgY2VsbCBlbXB0eSwgc2Vjb25kIGNlbGwgbm9uLWVtcHR5PC90ZD4K
KzwvdHI+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBj
bGFzcz0iY2VsbDIiPlNlY29uZCByb3csIGZpcnN0IGNlbGwgZW1wdHkgd2l0aCBjb2xzcGFuPTI8
L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAi
IGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9
ImNlbGwyIj4gdGV4dCA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9
ImNlbGwyIHBlcmNlbnQiPkZpcnN0IHJvdywgZmlyc3QgY2VsbCBub24tZW1wdHksIHNlY29uZCBj
ZWxsIGVtcHR5PC90ZD4KKzwvdHI+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIiBjb2xzcGFuPSIy
Ij4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIiPlNlY29uZCByb3csIGZpcnN0IGNlbGwgZW1wdHkg
d2l0aCBjb2xzcGFuPTI8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUg
Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8
dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgor
PHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCByb3csIGZpcnN0IGFuZCBzZWNvbmQgY2Vs
bCBlbXB0eTwvdGQ+Cis8L3RyPgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSIgY29sc3Bhbj0iMiI+
IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPlNlY29uZCByb3csIGZpcnN0IGNlbGwg
ZW1wdHksIGhhcyBjb2xzcGFuPTI8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8
dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJv
ZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8
L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCByb3csIGZpcnN0IGFuZCBzZWNv
bmQgY2VsbCBlbXB0eTwvdGQ+Cis8L3RyPgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSBwZXJjZW50
IiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+U2Vjb25kIHJv
dywgZmlyc3QgY2VsbCBlbXB0eSwgaGFzIGNvbHNwYW49MiBhbmQgcGVyY2VudCB3aWR0aDwvdGQ+
Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2Vs
bHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2Vs
bDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBl
cmNlbnQiPkZpcnN0IHJvdywgZmlyc3QgYW5kIHNlY29uZCBjZWxsIGVtcHR5PC90ZD4KKzwvdHI+
Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIGZpeGVkIiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBj
bGFzcz0iY2VsbDIgcGVyY2VudCI+U2Vjb25kIHJvdywgZmlyc3QgY2VsbCBlbXB0eSwgaGFzIGNv
bHNwYW49MiBhbmQgZml4ZWQgd2lkdGg8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgor
CitPbmUgZW1wdHkgY2VsbDoKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAi
IHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iIj4gPC90ZD4KKzwvdHI+
Cis8L3Rib2R5PgorPC90YWJsZT4KKworVHdvIGVtcHR5IGNlbGxzOgorPHRhYmxlIGNlbGxwYWRk
aW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRk
IGNsYXNzPSIiPiA8L3RkPgorPHRkIGNsYXNzPSIiPiA8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8
L3RhYmxlPgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3Mz
L2NhbGMvdGFibGUtZW1wdHktY2VsbHMuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvY2FsYy90YWJs
ZS1lbXB0eS1jZWxscy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE3N2FkZWM3YzQ2MjE0OWY1NGNiMzA1YmVh
ZTc4NGI2YmE5NWRhMDkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMv
dGFibGUtZW1wdHktY2VsbHMuaHRtbApAQCAtMCwwICsxLDI0MiBAQAorPGh0bWw+PGhlYWQ+Cis8
c3R5bGUgdHlwZT0idGV4dC9jc3MiPiAKKworLnBlcmNlbnQgeyB3aWR0aDotd2Via2l0LWNhbGMo
NTAlKTsgfQorLmZpeGVkIHsgd2lkdGg6LXdlYmtpdC1jYWxjKDQwMHB4KTsgfQorLmNlbGwyIHto
ZWlnaHQ6LXdlYmtpdC1jYWxjKDI1cHgpOyBiYWNrZ3JvdW5kLWNvbG9yOiBhcXVhIH0KKy5ib3Jk
ZXIgeyBib3JkZXI6IC13ZWJraXQtY2FsYygycHgpIHNvbGlkIGdyZWVuIH0gCisucGFkZGluZyB7
IHBhZGRpbmc6IC13ZWJraXQtY2FsYygycHgpIH0gCisubWFyZ2luIHsgbWFyZ2luOiAtd2Via2l0
LWNhbGMoMnB4KSB9IAorLmJnY29sb3IgeyBiYWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3cgfSAKKy5w
cmUgeyB3aGl0ZS1zcGFjZTogcHJlIH0KK3RhYmxlIHsgYm9yZGVyOiAtd2Via2l0LWNhbGMoMnB4
KSBzb2xpZCBibGFjayB9CisKKzwvc3R5bGU+Cis8Ym9keSBsZWZ0bWFyZ2luPSIwIiB0b3BtYXJn
aW49IjAiPgorCisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRo
PSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNs
YXNzPSJjZWxsMiI+Rmlyc3QgY2VsbCBlbXB0eSwgc2Vjb25kIGF1dG8gd2lkdGg8L3RkPgorPC90
cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFj
aW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4g
PC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0eSwgc2Vjb25k
IHBlcmNlbnQgd2lkdGg8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8dGFibGUg
Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8
dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgZml4ZWQiPkZp
cnN0IGNlbGwgZW1wdHksIHNlY29uZCBmaXhlZCB3aWR0aDwvdGQ+Cis8L3RyPgorPC90Ym9keT4K
KzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRo
PSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgcHJlIj4gPC90ZD4KKzx0
ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0eSAod2l0aCBzcGFjZSkgYW5k
IGhhcyB3aGl0ZS1zcGFjZTpwcmU8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCis8
dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJv
ZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIHByZSI+PC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIg
cGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0eSAobm8gc3BhY2UpIGFuZCBoYXMgd2hpdGUtc3BhY2U6
cHJlPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGlkPWMgY2VsbHBh
ZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8
dGQgY2xhc3M9ImNlbGwxIGJvcmRlciI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQi
PkZpcnN0IGNlbGwgZW1wdHkgYnV0IGhhcyBib3JkZXI8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8
L3RhYmxlPgorCis8dGFibGUgaWQ9YyBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdp
ZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgcGFkZGluZyI+IDwv
dGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHkgYnV0IGhhcyBw
YWRkaW5nPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGlkPWMgY2Vs
bHBhZGRpbmc9IjEiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+
Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmly
c3QgY2VsbCBlbXB0eSwgdGFibGUgaGFzIGNlbGxwYWRkaW5nPC90ZD4KKzwvdHI+Cis8L3Rib2R5
PgorPC90YWJsZT4KKworPHRhYmxlIGlkPWMgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIx
IiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4K
Kzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3QgY2VsbCBlbXB0eSwgdGFibGUgaGFzIGNl
bGxzcGFjaW5nPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGlkPWMg
Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJvZHk+Cis8
dHI+Cis8dGQgY2xhc3M9ImNlbGwxIG1hcmdpbiI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBl
cmNlbnQiPkZpcnN0IGNlbGwgZW1wdHkgYnV0IGhhcyBtYXJnaW48L3RkPgorPC90cj4KKzwvdGJv
ZHk+Cis8L3RhYmxlPgorCis8dGFibGUgaWQ9ZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9
IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgYmdjb2xv
ciI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IGNlbGwgZW1wdHkgYnV0
IGhhcyBiYWNrZ3JvdW5kIGNvbG9yPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKwor
PHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRi
b2R5PgorPHRyPgorPHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBl
cmNlbnQiPkZpcnN0IHJvdywgZmlyc3QgY2VsbCBlbXB0eTwvdGQ+Cis8L3RyPgorPHRyPgorPHRk
IGNsYXNzPSJjZWxsMSI+IHRleHQgPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+U2Vj
b25kIHJvdywgZmlyc3QgY2VsbCBub3QgZW1wdHk8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3Rh
YmxlPgorCis8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAw
JSI+Cis8dGJvZHk+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0i
Y2VsbDIgcGVyY2VudCI+Rmlyc3Qgcm93LCBmaXJzdCBjZWxsIGVtcHR5PC90ZD4KKzwvdHI+Cis8
dHI+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+
U2Vjb25kIHJvdywgZmlyc3QgY2VsbCBlbXB0eTwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFi
bGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAl
Ij4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiIGNvbHNwYW49IjIiPiA8L3RkPgor
PHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5GaXJzdCBjZWxsIGVtcHR5LCBoYXMgY29sc3Bhbjwv
dGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIg
Y2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0i
Y2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiI+IHRleHQgPC90ZD4KKzx0ZCBjbGFzcz0i
Y2VsbDIgcGVyY2VudCI+Rmlyc3Qgcm93LCBmaXJzdCBjZWxsIGVtcHR5LCBzZWNvbmQgY2VsbCBu
b24tZW1wdHk8L3RkPgorPC90cj4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiIGNvbHNwYW49IjIi
PiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiI+U2Vjb25kIHJvdywgZmlyc3QgY2VsbCBlbXB0eSB3
aXRoIGNvbHNwYW49MjwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFibGU+CisKKzx0YWJsZSBj
ZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAlIj4KKzx0Ym9keT4KKzx0
cj4KKzx0ZCBjbGFzcz0iY2VsbDIiPiB0ZXh0IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90
ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3Qgcm93LCBmaXJzdCBjZWxsIG5vbi1l
bXB0eSwgc2Vjb25kIGNlbGwgZW1wdHk8L3RkPgorPC90cj4KKzx0cj4KKzx0ZCBjbGFzcz0iY2Vs
bDEiIGNvbHNwYW49IjIiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiI+U2Vjb25kIHJvdywgZmly
c3QgY2VsbCBlbXB0eSB3aXRoIGNvbHNwYW49MjwvdGQ+Cis8L3RyPgorPC90Ym9keT4KKzwvdGFi
bGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSIxMDAl
Ij4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNsYXNzPSJj
ZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IHJvdywgZmlyc3Qg
YW5kIHNlY29uZCBjZWxsIGVtcHR5PC90ZD4KKzwvdHI+Cis8dHI+Cis8dGQgY2xhc3M9ImNlbGwx
IiBjb2xzcGFuPSIyIj4gPC90ZD4KKzx0ZCBjbGFzcz0iY2VsbDIgcGVyY2VudCI+U2Vjb25kIHJv
dywgZmlyc3QgY2VsbCBlbXB0eSwgaGFzIGNvbHNwYW49MjwvdGQ+Cis8L3RyPgorPC90Ym9keT4K
KzwvdGFibGU+CisKKzx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRo
PSIxMDAlIj4KKzx0Ym9keT4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEiPiA8L3RkPgorPHRkIGNs
YXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwyIHBlcmNlbnQiPkZpcnN0IHJvdywg
Zmlyc3QgYW5kIHNlY29uZCBjZWxsIGVtcHR5PC90ZD4KKzwvdHI+Cis8dHI+Cis8dGQgY2xhc3M9
ImNlbGwxIHBlcmNlbnQiIGNvbHNwYW49IjIiPiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJj
ZW50Ij5TZWNvbmQgcm93LCBmaXJzdCBjZWxsIGVtcHR5LCBoYXMgY29sc3Bhbj0yIGFuZCBwZXJj
ZW50IHdpZHRoPC90ZD4KKzwvdHI+Cis8L3Rib2R5PgorPC90YWJsZT4KKworPHRhYmxlIGNlbGxw
YWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgor
PHRkIGNsYXNzPSJjZWxsMSI+IDwvdGQ+Cis8dGQgY2xhc3M9ImNlbGwxIj4gPC90ZD4KKzx0ZCBj
bGFzcz0iY2VsbDIgcGVyY2VudCI+Rmlyc3Qgcm93LCBmaXJzdCBhbmQgc2Vjb25kIGNlbGwgZW1w
dHk8L3RkPgorPC90cj4KKzx0cj4KKzx0ZCBjbGFzcz0iY2VsbDEgZml4ZWQiIGNvbHNwYW49IjIi
PiA8L3RkPgorPHRkIGNsYXNzPSJjZWxsMiBwZXJjZW50Ij5TZWNvbmQgcm93LCBmaXJzdCBjZWxs
IGVtcHR5LCBoYXMgY29sc3Bhbj0yIGFuZCBmaXhlZCB3aWR0aDwvdGQ+Cis8L3RyPgorPC90Ym9k
eT4KKzwvdGFibGU+CisKK09uZSBlbXB0eSBjZWxsOgorPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBj
ZWxsc3BhY2luZz0iMCIgd2lkdGg9IjEwMCUiPgorPHRib2R5PgorPHRyPgorPHRkIGNsYXNzPSIi
PiA8L3RkPgorPC90cj4KKzwvdGJvZHk+Cis8L3RhYmxlPgorCitUd28gZW1wdHkgY2VsbHM6Cis8
dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSI+Cis8dGJv
ZHk+Cis8dHI+Cis8dGQgY2xhc3M9IiI+IDwvdGQ+Cis8dGQgY2xhc3M9IiI+IDwvdGQ+Cis8L3Ry
PgorPC90Ym9keT4KKzwvdGFibGU+Cis8L2JvZHk+Cis8L2h0bWw+CisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NzczMvY2FsYy92YWx1ZS1saXN0LW91dC1vZi1ib3VuZHMtY3Jhc2guaHRtbCBi
L0xheW91dFRlc3RzL2NzczMvY2FsYy92YWx1ZS1saXN0LW91dC1vZi1ib3VuZHMtY3Jhc2guaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44YzRhNTdjODM4ZTliYjM5NDgzMThkMWM0ZWIyYWNjZmM5MGEzOWM2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3ZhbHVlLWxpc3Qtb3V0LW9m
LWJvdW5kcy1jcmFzaC5odG1sCkBAIC0wLDAgKzEsMjYgQEAKKzxoZWFkPgorPHN0eWxlPgorICAg
ICNkaXYgeworICAgICAgICB3aWR0aDogLXdlYmtpdC1jYWxjKDIwMHB4KTsKKyAgICAgICAgaGVp
Z2h0OiAtd2Via2l0LWNhbGMoMjAwcHgpOworICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOnVybChy
ZXNvdXJjZXMvYmlrZXMuYm1wKTsgCisgICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiAt
d2Via2l0LWNhbGMoNTAlKSAtd2Via2l0LWNhbGMoMTAwJSk7CisgICAgfQorPC9zdHlsZT4KKzwv
aGVhZD4KKworPGJvZHk+CisKKzxkaXYgaWQ9J3Bhc3MnPkZhaWxlZCEgVGhpcyB0ZXN0IHNob3Vs
ZCBub3QgY3Jhc2gsIGFuZCB0aGlzIHRleHQgc2hvdWxkIGJlIGNoYW5nZWQgdG8gYSBwYXNzaW5n
IG1lc3NhZ2UuPC9kaXY+Cis8ZGl2IGlkPSdkaXYnPjwvZGl2PgorCis8c2NyaXB0PgorICAgIHZh
ciBkaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGl2Jyk7CisgICAgdmFyIHN0eWxlID0g
ZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShkaXYpOworICAgIHZhciB2YWx1
ZUxpc3QgPSBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCctd2Via2l0LWJhY2tncm91bmQtc2l6
ZScpOworICAgIHZhciBvbmUgPSB2YWx1ZUxpc3QuaXRlbSgxMDApOworCisgICAgdmFyIHBhc3Mg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGFzcycpOworICAgIHBhc3MuaW5uZXJIVE1MID0g
J1BBU1MhIFRoaXMgdGVzdCBwYXNzZXMgaWYgaXQgZG9lcyBub3QgY3Jhc2guJzsKKzwvc2NyaXB0
PgorPC9ib2R5PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3ZlcnRpY2FsLWFs
aWduLWJhc2VsaW5lLXJlYWRqdXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2NhbGMvdmVydGlj
YWwtYWxpZ24tYmFzZWxpbmUtcmVhZGp1c3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNGE0NGEyNDIzOGQ4
ODhkOWIxNzA2NzY2ZDkwZGVmNzFjNTI5MTFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY3NzMy9jYWxjL3ZlcnRpY2FsLWFsaWduLWJhc2VsaW5lLXJlYWRqdXN0Lmh0bWwKQEAgLTAs
MCArMSw1MiBAQAorPGh0bWw+Cis8aGVhZD4KKwk8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorCWh0
bWwgeworCQloZWlnaHQ6IC13ZWJraXQtY2FsYygxMDAlKTsKKwkJd2lkdGg6IC13ZWJraXQtY2Fs
YygxMDAlKTsKKwkJb3ZlcmZsb3c6IGhpZGRlbjsKKwl9CisKKwlib2R5IHsKKwkJZGlzcGxheTog
dGFibGU7CisJCWJvcmRlcjogbm9uZTsKKwkJYm9yZGVyLXNwYWNpbmc6IDA7CisJCW1hcmdpbjog
MDsKKwkJaGVpZ2h0OiAtd2Via2l0LWNhbGMoMTAwJSk7CisJCXdpZHRoOiAtd2Via2l0LWNhbGMo
MTAwJSk7CisJCWJhY2tncm91bmQtY29sb3I6IHJlZDsKKwl9CisKKwkuYm9keSB7CisJCWRpc3Bs
YXk6IHRhYmxlLXJvdzsKKwkJYm9yZGVyOiBub25lOworCX0KKworCS5ib2R5ID4gZGl2IHsKKwkJ
ZGlzcGxheTogdGFibGUtY2VsbDsKKwkJYm9yZGVyOiBub25lOworCQloZWlnaHQ6IC13ZWJraXQt
Y2FsYygxMDAlKTsKKwkJd2lkdGg6IC13ZWJraXQtY2FsYyg1MCUpOworICAgICAgICAgICAgICAg
IGJhY2tncm91bmQtY29sb3I6IHJlZDsKKwl9CisKKyAgICAgICAgZGl2LmNlbGwxIHsKKwkJYm9y
ZGVyOiBub25lOworCQloZWlnaHQ6IC13ZWJraXQtY2FsYygxMDAlKTsKKwkJd2lkdGg6IC13ZWJr
aXQtY2FsYygxMDAlKTsKKwkJYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisJfQorICAgICAgICAK
KyAgICAgICAgZGl2LmNlbGwyIHsKKwkJYm9yZGVyOiBub25lOworCQloZWlnaHQ6IC13ZWJraXQt
Y2FsYyg1MCUpOworCQl3aWR0aDogLXdlYmtpdC1jYWxjKDEwMCUpOworCQliYWNrZ3JvdW5kLWNv
bG9yOiBncmVlbjsKKwl9CisJPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBzdHlsZT0i
cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDt3aWR0aDo1MCU7aGVpZ2h0OjUwJTtiYWNr
Z3JvdW5kLWNvbG9yOmdyZWVuIj48L2Rpdj4KKzxkaXYgY2xhc3M9ImJvZHkiPjxkaXY+PGRpdiBj
bGFzcz0iY2VsbDEiPjwvZGl2PjwvZGl2PjxkaXY+PGRpdiBjbGFzcz0iY2VsbDIiPjwvZGl2Pjwv
ZGl2PjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My9jYWxjL3ZlcnRpY2FsLWFsaWduLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL2NzczMvY2Fs
Yy92ZXJ0aWNhbC1hbGlnbi1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYxOTIyNmY5MjFkZTlk
MDEzNmJlZWI0ZTY1NDQyYjZjZDI5YWMyMQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgOTI5NjQK
emNtWl5LYnkhdX4pO0EhKzFfVTxVLTVAMDstNmJqQXJGMlZvd31iK01iUipKOHYqe0cxeVN1dl56
UXd1c29hNEZZCnp7cj1qfEwjKHktVHl1YGBzfVpJc0ZOdXRaanxjPz9nKUEqNHJVVjdgajEmcUFN
Z3MlfnszT1pRLXd5Ym9hfT9LYgp6ZH1uNi0mZUZsajhqOTczXkEpIS1EO0dEYkYkKV9qbn41T0BI
PCNnU0U8Kz1aX2VTcHgqLVJ2U01IUFc3OUdIdVcKekRvVHJya303XyVIOEhtYGhKdGQxNHBKR2sj
MU9gTztJdF9pQV9yKyVxRXh1WGtWfFY4bnUoOGItbEd7PXpMK0pjCno3TFIkKUNPdSlweHFDb2Vs
XmVSWUdFQmM5ek1sI0k9dTdOPV5xJT1ta2RgPkBMTHNlRENKeTZxem0wNWw/b1B7cQp6X3ZyJUhw
X2lAbUF7NnE2NSV6T20qZnIjQ3I3U2RhRF5DJU55SEtkOEVDZ1k4RCVJSU5jfWg2cDBFY1VqJV8o
PE8KektXKCprazZWYHRtKlMrNj5MbUVVZCFaJUNxLXB4SExtWWNWTz5+JTB6UXMoc1piIzdLPmVS
X3pHYEdCKVlpa3VNCnoxQW03bXh1Kn5aPEE5R2B0I1V1cnM4RTJePiRyMSFDNHJSNWhgMzIyY3lr
Kyp0eyFsc0xRRyE2dVkqRlAlb088eAp6bCRnZlVHakk3SDNqJUZxWkFmXjxmKWNmblkzQ291MXk+
QjBiMmQ3SGAzWjQzJmFNb3dZVlpyTElOQzd2IUUhV04KekQpIVMlJGo2QiNfaTg2XntPd3wxX3I1
cHViPG1QaG4zVDEtc3Q8WVlNTG1nOHk1Z2V0Y0cpYyYhKnBTNnshbn1kCnpyaiFNUj1tcXxaQnhF
VD91c0V6P1Z3c3spRmRzZkVkJkxKcWliNlBvU2RVanVsb2t6K01xPWZ7OS1NUmhIRShtfgp6YDV0
Sj0/YytxTkslZWh+QUx2VmVEeStMKl92d15Qc2E/aHVDbndkUEViKEAoZjMzcU9vKmVDMmImJTha
ajMwQjMKelJoUnJ5PG1MYForUVMjelElXypzQGFLcmBhNDVTeVg0SEBXbHxjNnF2dlhEVGJWbng4
TnNFPGhHMlAwQ213JHo2CnprZzAwSXAqU3BwT0QjRlVeeGlgMV9UVzF0YzA9YEFMR1MkZCZhfVZk
LTNsRW13Ujg5O1N5KTBSKUE4cGluTD94JAp6MU02OzNZSjQhPWkxbnUlJTVlak9CKjswbHVBc0pT
cWxDfGteUzV6JHplWkhURWA4ZVEtP09MSXExZkk7JnZ4SjgKenRYK24wcnFqWU9UUF5pYHQrIVVU
S0xscVE9aGBAd3p+RDN3ZG1VQlZTWX5eX3pKdH1eRTV0NVY7eiVjaktvZEhMCnp4RCMqREM2MGRp
KCRCM0ZALWpXUGUhSkk1PjZoWkhzRktubyl1Z2N1X0smWnNNJSZJKVVxXnstMnM2MXdFPDV0eQp6
N3t9Z305OzIxcm1ubUllN2IjNzklaX5ZQENFVkR5Szw+cGBUcURBdXBoJSZsI2VgS3txNCFlWkEq
JG8kazJuZVIKenZ+TkNQbVZwdChVUDVEeVh+MC1tQzJGKnlmNjdhd3EwYnVqTDZgb3hmd3Y4Slp9
IyF0eWh5QkVsKz8lJWhxNDs5CnpyTDZxMTkxUEN0ZipHMGNZMEJPJEo4WmgkWWFIYT8pTTRUfHoy
MGs+e29ZKTRRTzlPIUdRb1o8R1NDQk5mcWVsagp6K1ZiMG5Va1lmPld6b3h+S1omRW4+LU5IQ3kq
Sil7SzFVajNeMUNYLVdSXko2Qiple3VLViZ5Z0YxZy1tY2Z4JGUKemduUEhfZVh1Vz8wU0ZpN19Z
WWJhOzBnfTIpLXxjU0dnWEMhMXFKcW4+WlEmay1kQ0JvU0Y2JEkjSTQhSmVQNW9GCnpRRyFUR3l2
e3pjTDNkRHBgcXdxJDAtPDFAYEA+NnVJWE0/UzlXRWJrNCt9fkM7UjBQaV5uXksqcUhXVyNGYHFO
NAp6SkFTfEdBSjU/SGl4ITlvaS1aenQrSW9rRzQzWSModShZbCR6PUQkbnxNalBldVY3bF5RJS1O
cmNqd19ySmVNOSQKeig7dlRlMT5EKngrSk9+b0lpWD1PS21PMTFLI1ApYyFHTVRfcHwwMHI3M01+
QVdtS1ZyaGxLazQwKGlYMXo8QzxmCnp6SDdrfj09bEZ3M0UtSzgyPm5QXk5JbWNGNH1EeUdmU2Il
JDgyOFAyOTUmXylrblJQS1hOdG00N0hmMFdZXkhoQwp6R2thfnpTZm05RjhSNXNnUEk5KldwR0Mh
bURGN01oUlhPaSNVRVpBekhWRT1QSyQwS2RNQmQoWj4mfjVRYytgR0wKej1EeTR8SWprKkNjcFVY
UUFNYylMRDIxJGBATkFKent4RFMtUGZDUlBqOUE+cns7eWE1OHBpQXVPTXw9RjEldTUtCnoqMlJJ
WFd3a3dySG04ZXJyUyoyVCkkQU9IP2Y2Zng1ZXVCbGlEc08tc3o9dl87OypjdGFePTtGLVg1ZEE5
aiVvZgp6fEpYb0orbz94bD17bzRxQGRyK2dsaDVzMVZUcDh6bm9SX3djRD1LOXdWayVqIWQlc1NR
SU8/KU1IazBtUyVVVnQKem4jMU1JaH0qJC1lKT5kOTVYWkZtcmhAUiVDJDBybzNaR3kmc1c5Q2Ns
RTxzPUBVZX53TCswa1k1N1drfjY+XiU5CnpuJm4xOHd8KTgjcFgwNXZuK0tENGJJJkxXaS1QeThN
NUNQMnlnOF8/UEFhKV9HVXNnQCYoJiVmeDk2dDFHSUZ9Swp6anNBU2pqOEVqZzBvT2wjJW4kVkw2
KGxFZnRsMXszX3cpVWB6YS1iIz9hJGg1JS1EezFSVU1ZYSYke25BOX4zcnQKeiZVJWVtNVp2bnpK
ZjZ4enVaMj1YKzNuOSVJZk18cWU8TlR3aXtYZ3xBME80T01tZ0xiRz9YcVplJn1PN3hSfHc3Cnot
fjZtPytnTFQrUWZiZiVRYDFmQ1FUcn42Sjh6R1p0byhkdXlmMmNGeVB+THFlbWFqMmBGZVdMZG4x
Wng9TnEzaQp6bXNTIz0xQzZjVk4hKysxa0BaJmp6PmZPNkh0TkZTO21oWGhlJXJBeT56UFhQO3FK
TjtmPzM9KGklUDBqZjQpYXgKenBRO3NXdD9QTn1Xfko3Y1p7SGxBOEBvdVFxdTdLblg+WHh1QndK
VTFvaD5Ad0RCMGh6cDhLLVQzJW1yTVBWMShBCno4K0B3ISNtNUppWU4kNEJ0d0h8Rmx3QHYpeWF3
UClhRXVyPmQqOUM7ZFNDSyMqKUgmTCp7X0k2SzlsRiFyYk89Ngp6dnhhRSZkK3dFWWVeM3FSejh9
Z0liOyN8MUduVEpGQkg0X1BxbDV5eThSYEFkUmZuSGMzQU1uNW5DWjszLU0qTH0KenRuRXZ0UnA1
VkxqbU89K2F7ViVNVmZPSW05Ul8yPW1+LWM3ZSFTRG9jSyRCODZyViFjP1ZGRm5ZMz9zMHwxMU1Y
Cno7LVhNQVhJeCk2OTZaaHN3cj0oLWElWV95YHNaekNZd1FgNSFYNzFtPGR2dyh1KG4hXiZRd2ok
aDNTVm41SChqZgp6QWQ+Y0FmNW5lKzgwNFNLSmZAWGtmIz08P2pCTl8kanleY25leUtuPSojNk1B
bWYwRXJrTHY4T0luYntRbzRNUikKempSN1NaX3twQGR7Nm0zOEB8MUsyV19aM3JUZ2Qpayk1Q2Ri
Znw2Qjk8KkB6RmNydUUmNkxXT0FCJH4hcG1UdzNMCnpVRihZa1hkMFAwQ3lweSg0YFJGNj15YzBY
ckxUNyo8UkRRdzZ8M2VhMyE4TD5EYjVMT2FCakNUYVpIdjFST3t1WQp6ZS1AdlhKYngoOUxDTTE4
MkJNbHA5WiZ3R2RKXyZnIzd6P3JTejc/bz9uYHtNT3wyPz5uP21OQU1LQkkhVlFkS0QKejJQdW9z
b1lwaDdVS2k4KEY+b2VDNHF2VG48fHA8Y3J2bkY3bFg/dTBjNGNDfWpvSFBBPlJHU0xgRlVqcGVw
T2VUCno9R3h0b2hQaElvZHJMMEVIclVIelRRMz4/I350PE41MiQ9Y3o5bjB6YyZ8RjxUfntPTj9f
U2B0V0dwM0BuKz1vSwp6VHJQT3ZqREw8QjM2MihnbWBiKHAhYUhid3lsdExHXiooeGJgSE85RSUp
JiVWbFI+QDI1bDdFOGxSKGZMIXV4UXcKejNiY2s7aX1sQ196TUhNPUIlOXRpeTcyWHQmV0xsNEJw
TyZxYE1kNlY4UmtZNnRGM0JocFBTS2lvJEBuIyZ4ZWJlCnpXOypYQkc/NFpVK2FUWClzPl8wI01V
dkNTdj89Y2xWeH1nfmF2O1ZXcz9VfEVPRkpAR0VzXnQ3dEpmO1E7eH4/OQp6PX5lVnpsdWUqeXM/
V05nNE5MQ280Ukl9Y3sjZndZPFh5RCl4IT18MiExSjI3Wk42OVd6Jl5vQj05VCZLdlMyaiYKenJE
c0d1KT1xZEAjUFc1Qjs5WUJ+PnFeKWB6VGticT9RcGRCVEdMNTw9QHcqekpNTFVTM3d8PERoXiVO
Y3dlPE0tCnpaWXcrNVFHZWZQNntuUCRQU0FYJE9nZWRWXyQwUU0+QzVHYFh9U344Qis0JUNrR259
Kz02cF8qN2Fib0Axc303Owp6c3BHTVY4Rld0aFV2VylLcll1R1NpfXJ8QT5XQzhzWD1YSEU2IU99
JSR0MyZtKT1Ce0Q3SStraXVnekRUJSFEKVEKejZufEJ0YTxaWEhiN2tgcF9abzNhRz1VX2s5RVVu
ZmRLZ0skUVI8U3NGYyYlRnt4bTAjUG9nPyhYZCs0QlhsTm80CnpPZEVhVCh2LXNEa1ZGb3VqY0tQ
ei05e0V7SnpPXkNmaTFtNmIpVEpyZDwhajI8ZypZVz1mczRnSi13OD1Nd1NVWgp6VCNMdHBoUWtS
dTg4eHhTRDt2elRYZ29IRig8N25rZ09sZEZiIU1jKWkkeHpGPTM3TFpnTSFWZWNoUVY8YHUzZXoK
ejQ/dW1iU1YkT3dkai1uZ0kpdDNjX3NiK1YtOzleSzgpaUFnUXdnd25LaXBqPnNsbm5memdyMTk5
PVNEMz9sfGprCnpJaGRPc3tLX1Z8Y3o/R2skWHVDeng4ayRmZEQjKjFHdWVvYE8/dm5ZNldsNTMt
fEM4JTtAS1RWUkF1JHhue2MoYQp6KSVZNnF5MjxPLXtyR2hGX1VVQ2RkMFphdypxe25yV2p1QlpK
fWk1alo3blBDP3o0TlBiMjI1N298eDltSkQ7fFAKenBmZEJKb3BLMFRPX2pDWHgxJFF+KzE3OTh3
UnozVk4kKkpGSDw9cV8oY2tUbkJtMURHZEY5S2VMZD44ViZGMWVnCno2ITxidkolRUJaSmcwZG1q
WSh2QUBNRDkpSlBWVVpBdVRecnBJeUg7WUV6Ki1afHNtbCVVTW0mOHstUGo8WDdTewp6aVE1XylH
bU0jOFIkOHw0eGNsKzZUbXE5VzFaMW0rTz9zd0hjMGJ2NCE3LVRmPnBRUmNpKlQ9SkQoWDlQaz0w
eioKejAjc2d1PFlLdUdPbk9lXnN0LUxCKEkzP2VDO3ZTRUxmSnc+b0B8WWBVRjwjJmt2YHxtTm1V
KXU5I19eciN7bntUCnomPWAtKUBiZ0V1a05URy0kQVMrNW1rSW92X2hhaG9GUmhMKW47KlM9eGB8
d19QV0huQjNxI1Q2Y2oxWCRHY2JaJQp6JmtxLXlHcnFSP2h6JSo3KCVuZ0ckYSF6M3kzRUJZMjts
WFhPb31OfENTfGVFeUVESGkrZHhMaHJkQjBTKiRSSSoKelJKb0t1P2tfSzt3WDVAblV9ISttWDkk
WHtuOF5FVElwfTFoN3VgQEtwdSlmaHJDaUlTcEpTNXBycEd8YktiRFc3Cno0Vikpb1h6V3RqYyVn
KmM1eWdBM0NIOElQNj0rSDZXZ3xBSjR+JjRCdG47KlMwKnZ6I2lodm42PT8qcW9FQzFQJAp6c0Mq
KVl1Qk9EVUZtYWNDISt4fmBKZldSMFRyYD4yTH5SVXA0MmErV18pZClfKXUkaHEqdlFBc1RKUjVz
aUMrLUQKempfSEV8al98U2ZUNUZBbFc+QnZ7Z0gqZUlxN0ZANEBhQDg3USQ3SWA9PTR5R2JVYndk
SEBvUWF4VzFPenhHREl+CnprbmN3cWI1My0rPSkofk5tKCQjVlhEdT5hYlh3RXhUMjJWI0RtTU1E
cXh8ampxPypAMzYpU2A3X2pMSXdEXjBpYQp6aGRZUDh3ZjN2KkpNXmN0ZyRGVXw0I1kyWio8M2A0
JXVuZ0lKKlp1a1hBYTVuckA5Vz52MkpXa3w4ckxUbWBQek8Kek0ycWV5OUNrWms1UnBTXiNjR31P
NHZyMDQhZG07JW96bVUjaislK24+UWBXLTs9JjlyVTtaS0Ajbm5sKSskLW0xCnpuTjh5TnNEOEJ4
WStneVZ6NClLTykzX1dLYWopRmR6cTwqQFZITzlsdnhINlJjQCNHVmVodD1DJFdvZnxFZFhzdQp6
WUZrJlNXYDY3RVQ3PE9CPDtNcHAyMkU+SnJZMCY0S2ZlQVhwPUs2ZSpSM08/SHZOUUo2e1doRVV8
NSM/RG4/P04Kenczc0tDaUJCMU97aVA4cEB4aElPWCNRRS1iJkV6M2pFRSptbnlWcj1MV3hYZDI1
PiReemp8NTcrVzNPeGtYVzl6CnpjezBEck95IUZoQVVlcTI/K3Zpayh1fjZpYnVfO143MnZyeyNI
ZDg+IXMmRzwqK0pNOytPWGB3eGNPeylDejdfcwp6eUBvb05iQD9gQmJpPVdTS3JwMUBXVWNlWEB3
bUdGeFVFM0FJVzFjcCoxX3J+VzZmTn01eSp0dEN9Tnc+RGRlTFkKek9WUXZRXjc/Mjw8dSZHR252
QSl9eEF1WCpQbFJ5Qkl8OX5iM3Yhckg1ZE8kRmokSF5NKFhNIWhNdCg/YXI+UHFhCnpJPW53WiQ3
MyZDTHx+S1deI2BYRjZEbUdiTHVPYGIxKUg2KmZfZnlKIWZvcj5hM3JzZjJKYXRzbjstZk5DQjJW
Mwp6YVM4PVJSbT8pRW5SQWhDbzM4VUh5aSNDZDxKN1BAPVVieUcoZ2U1RHRSO3FKbXF0SV9wSENM
MU9EZmVMNl4pJmQKemsjTD8+NUBkbzY1aytTRzlRZk9XaUY8ak9LLXh1PmlfV3Z3XmQwM3l1aDV6
QzExfWVTbnYwNzRXSURNRF4+YklHCnoxelU9NmF+cHc4Knd0NnNhbjslUGFVczhkK3BJb2ttKExC
JjZWM057N29YS2dqQiMwQDs4JiVvKihOeE9gKCV1JAp6dz5RQUImWT5wbVRJSjJHRDlON0hwRDNU
NThnP1MkJXVpeDlfRk9PTVZedFFXQ1dUTGoqaTcqJHFaaztDT3pmZDMKeiUwZHxiYCFpaSo4Yile
RkI1KE0lR2JsT0hsbiRLTXU9KGJPeU9YfjBfYn1aYmEzX1U/TDc+WU8oPTJAMFUlWWwhCnpPY0pA
Myg5MG9Nb0AhUkh3OGJ3SURiITV0Vk5re04xSE8+KXQ9XjV1RmMpTz03UGkwYjdoeyhAPDU5U0lF
a0d0JQp6Y25QYWFuSX16WlhYMDxMNWloUX1pYXQxcS1QMilIZHItZWlfJTZgQT9gKFRpKXVUbE1f
Qj5iVnNRKV8hWVRFRnQKekx7d09ET2hMYmApaSRSSTVBPT1IKCMjPjJ2fiF+Nzd7Tkk4eSVmJjto
Ozs8eCY3VG8kZittcWAlUktVI01PVVhlCnp3PjY5Mis4alpSOSt3bGtIenlDKFluXjNING1EJWZh
cXUtYzUzXzg0SCVRVllWPyNCX2ZHKDF+ZmJFMVZkM3VEYwp6SjZvTzJLLUhBLSZ0TUlDPVFTcnJa
RUdgb1g9O3RjZSgtcT02dUVUQTQhSTwkR2Qme2olZHBYfjFDOz19JiMlKTgKemVUQSg7YXV8JmFr
RVd+PGo0bGM3K2c9dDtXelAlb0xjY2BgR3pXVmxDbUleQXBpfEJDYWklTk1TLTBxPXNAaXlSCnoh
SnNgKSNnYSs5czt1Wj83YFctUlRWLWdtWisodlF0cEx8cGU3MXd2RjMzSnBONDUrKzBAaXA5TXU3
PWw+d2lQaQp6OWRiLTZYdVJ5O1hOJlNuaWA0blRwTj9YUFFmJF50ZiVJZ1FpUGw8MjxZbyZgS2ps
bHNDNFMqVTteMn5rS1FfezEKemBzKktHSWJDU2tXJnFJZ3FjXjtvNi1pLWE8V09pMkdkUENlJlpB
O012WVJMRjZRe210bDNpMzMlfWpnSUcxN0cjCnpjVClOeDY+QFNWSCZKZnsoM2BVTk1jN3BMWm80
bDFaSGFfJmx0ckN1Qk17ZXlFODFMJGlYKFBlUTB1eC1MIXB3ZAp6PGMrSSVkRW5mZHBuSTgoND9Z
VmhQSSFqPDN+RXw7Mll3Mnx7VHE9Q2xsI1Z5Zzs7cj5aeDUoezcjMGJQKiZ0Nk8Kel4pPEwhUjlV
REJlTThpaXhJeWwkWj9zOEkqTigpdE97MCp1KkJPQD1sYzFYZjBEeT90Tn1SNT96QXYkUWlPOV5k
CnprT0xpMjVrbnBiT085VG0hYVRIJFQwN0VwSHFJRTt6PnVDUy1yZkQ+OyRiSjZ2UCVQNXEhfkI2
QW4hfHJjSUJRZgp6Nm1mTDNWIU9kMEcyeDM5czFvYUBvMUg+Xy1teHw3WFY7eWNKclE5YzdvdTQk
OSV3ZEBFOVdoVGg1VUgmI2Z+fCMKei03aT1rJSt6WXszcjQ5OHN+cjs8U2k/cWl2ITtsPzB9e21w
Sy00Y1A8Tyo7RTV0dl56O1B9YSZNaWkoRnBQZXk+Cnpxdz1FcyNEPmhrODUmaFNlbmZnbDJ+Rnc1
TVVGTkhWVWczfiM2X2d8KjVET3BVN3J2TTx5bTdoQEElODRLV1RsbQp6T0JfaytpZWZnO2VjSFh8
Tko2ZDJhe2lSdUBfOzRrKmMtRSp0RlRCIVJHXmAhRXB+b3REKEl0Z0x8OGhHLV8jRm4KempmfjFt
PX5MITRuV1dOWC03YFdXZyQ8OUhFQWk4eVR7R2AjdHZhSmMrSTdqa0puUE9UY3hUc2xHJn55Xmx4
QHtHCnpuSk8rZyZuUmcxejZnQjB0Sn0ob2ZGdlRoK1k0TUs9c0pIVDtkaWUqXz1mV3R2azxAPkNx
e3s7MmY7VigrPCFvaAp6SEhIYzJnfEh0QE1sfTlOSDQ/djdTMFJfeW5Pb3Q8TjFOLTBiUkxoZV5z
YCY0MmxWT1p5RDxmfUg7MFFTQzQjJHQKej1NVlZgdTdiO00qWlAtOW0oNXl4QHklNUY4MUJPez12
YWxIRCNTfDwlMmErdXJEM2A1WkIwOE57SyU+T0BrJEclCnpfOTs4PztAJDBqamU0Wj9uY0lqezhm
VHpxUUdFcnVqRiVicGtkK3UrQHltP1BqPERNMm50QCtuOzhqNzlhJG1VQgp6dn5ET3B2KDg3RVJf
dUxROH0hejVpfG5ROEI/SE9Ge1IzVCZaO3YxWG4/T09LWl5salFGZmgxZXNCfCh6JV80d04Kekc/
fTxISXspJVllfDElSj1jQEEqJDVQb2ZqV2hyMEZlSz17U3h9VUMtUTk7Y21+SHdDPktaJU5vQSpy
dEZLWH57Cno5ZSM2a0hHe1hWbHxiaWMoNTtibWUoSyNwOzlfdmghZTNwZHJBdEJ4K2lTanN1NlhX
fF9aYGpUYnprd0UpPyRZagp6cWB2Rl4qdFNyJit1MiZEcH01KntlfEVCIyhPNThsViNXT350ZEBZ
ZSl+WmE0NllEYWtTZ0NYaG5qdkM0aCY3bXsKelBiJXglUUVTeE8jQV5lITQoQWolU19KfFQ/bktt
fW8wVD9yXk80QFJVJG9JaiFyWDcrQ31nZ0Itakt9NSlLZ35aCnpPNlM+MW5gYU1KYld0VTc+YWNP
WDRQVFU4akNhPlhZfD1DflU1KkE1O3NqPEpuPjM9REAzUV4qI1kzdHdkNGNaWQp6biZ2djR5Vmco
N0BRfiYpb0l9WSFWVlhPWjNnM1JFNlM7X0U5U1o0NVFhRlptJmRCcC04K1Y+Z0h+dllkJVpBWm4K
ejkjIVNtVn09NklrIyZDK2NrRiNINUZAanF6SnJ0dipZbiU1YWhIQ2dQI25XJjtHMkN2VjVGQVle
Yz0rQWZ3LUpyCnpeQCZXODR0RDVqWF4oSlRtUT40bTs/XyhISUZ3eXo8LWZeM1EpNmdnNUJlfX5y
Z0RCVHA4JHJDZyV9fGpLMkg7dwp6bjlxPWQqcDhWVXZKe25ZKkQrentHYTR1NzsjYVI9PkJGRilQ
ZUhLbyhxcjxIb31za0hqblI0UUdhSHRLWGJvSXsKemlXKUVjPGNPaCU5VyROQCZBJERTbVJjcjtr
O1E4aVcrRTFkeCl3IWtDUE1EK0ZRKX0lelN6eyoxdlJ8fUtmcDZZCnppLSFCXnlfN3ttI1g+alJ0
WTsqSihkQ345ej9aRDdmV251cEUpZVFkPSV5YWxHZGMxM1ZWeFliTi1+WlUhcX1IPgp6YFE9Mm04
S0pLemA2Xzw9eG1MZjRuYlJRZld4Rk0lQlk3NXZoKjlJfjkzVDJQQER3ejNrbEJge25re1Z+WXoo
ci0KelJRJGpHRlY0UyhYVnxtJDlLU1Q4KFBAJioqTm9CO2pnSnpPMVp+S3o8YTNZZHkzR2krTXl8
bS1iTDQtRHVoNjB5Cno2YCtpSE1GbXZXRHY8JD0jaGs4VWFTWll1UjF3WTdrQkxqXlc7fUlodWJ8
aEkzSE02PmVhQkdXJWlSdW1GP1B+Iwp6KyNMd0l7K3NwWjxpNGI/OFBKKihOPEh7aTw+Y35QQ2pQ
NEFKendVMjZNTyUyY0xESlhnZH4odG9EZipAeVo1QDAKelNBSVE+Z2phckJSVWxGajFeUjQqNVZi
RjZNajZ0ZC1Te3VEbT0qeVZqZEtkeHZMQnkwRGNaPjxhIVJpbHlRKjh1Cnp7eX5WUFJTWmU0aGhg
JkM1NTRIaSlXN2JCNGttNTZ3eEMzMkVrfEU7SUtGTTZZQW4hUndPcCU5KURNSEl4TTU/SQp6P3k8
cC1AZU5HPF91XjBqXyRVPCVyVzV+OHBhVF9fPzB3e2N8OUpyJVkjJjJmSWV7OWZnOXhoQiliemhA
X2VQe2UKemhTRWBldzQqOVUkQzNrLXglWXU7NyhTVisoN3FvKmdjY2c0LVA/Q3clIXo0PHxObmNG
UCRJI0Vhdmd7PSszOWBhCnpOYWNNTk8jVFFrQW4yanctVWUqNjAqVmlzWnspc0F7T2hKb1RPZjhj
SVoyRlItIWFsNDVRcHZYOTdwYG9tZlUpaQp6Z2pLTyhPdlpFSio5ZSQoRlFXZyhldClheUxNWDY5
LWFRZng8Ti1aekRHb09FcVZjKThGeXVtZURDQSNPb1BsemAKenFEbCQxe1orKk42NWJXQFZkUm9S
P2ZnSV5WX35uPmxucTc0aTJCOU9oZ0QjflhYR0dxJVFldlp8TD5ZWXR+fCM9CnpUbTBaKSolJkhg
JW1namd4WWFjSyNoK3p1aEtgfXR5KTBtb2Azcz1fXl5wM0d1d3RXUmh+UlBPdX41dHIqKWdJJAp6
fDhkIXpzNjI4e1FZJl8wNDAzYXJ1VGJiUVcmYmA8YWU9OzhjSSVYfHAlUzklIWVYJHw4JTc+TW9I
QGElPHpoIT4KeiliYj4rdioyR3JRPDU2fm12SEBkSSlMM2FlZUA7fW1BaG0xVTgpcWg8eiRKQXJU
Q0UkP1dnViZvc3xHN2EyclA8Cno3cDVnbDU4VFZXLWhhSn5IXkslKVM+NWhIQUxqYFJKZWNFdzF4
RSVsYEZBSE5QLUw5eVA8PE5nd1lHeH0xbj5KaQp6LVkjTV5SQyhYS1VqalBPUHlVbDBpaTdtV0o1
IV5pdURoZFAwdmtKKkllVz0kPmxLPUcmeUAjMiVjclNFLUZyTXEKelhzI1ZFcSp5VUc+Z15UR0lk
fiMrQyhwSVJ7d19YRyNZOXljWUNxV0J5JDJpOGdTV2Q1IUlsZ0NDT0drdmV7ZHB7CnpeZHV9Vm1M
TzlXYHUlWDBfeUhoeSplfS19Y008SU56WGFxKkExRDNXbmFNZS0xZjNKfXtxa2w+TGk8MWhmSD8r
eQp6TkBxNyQrT3V9NmA5biozO21XYXtvMXBpZGkqd3YrYUBNd2FBQkFfMVd3Sm4tI3MjMjNsTGI1
Ri1OWCpPZHUwSzwKel9oK04/MUg2Wk9DR3xWc2RDVihfO3tweiFUbn5CZmI8OEw4ITNHbld3JFMh
cztVQ0xLaVUpbC04Q0RsPkNiWUlVCnpRSHJ0T3R5UUIzM3gtOHlDJChIVjJJfFRpZGxCMm9sR0lz
JVc2bEFUWnZ9OUxIdVFZJW9pNjdPeShjM0h4Un5tJgp6PW9DeD05cHolaWxHKXw3cEtEVjN5ciVp
Uy08fVY2bnU5Y3QxQUJFSGQrfThFYi12cDMzR0kyblFSJDsyWEZGV2AKejg5VDR3ZUc+YzI1am9Y
aHg0NmJ4VUMlOTdSN3orVG9HPHVyOURRKUpUazdKbEB5aX5ORHI7fUk2P31GQz92QzFCCnpFNT5k
PTlMKW1+e1FPKjwhK2JhdiFgJGhoVjdnWkh8OUJvfGQ/MHE9UUw+VFhPU3c2a1U1Z0c+djRpeSVS
SXlUVgp6Q31DVlFxKyVGajMhIT8pP0ctP2tyd3QpfVd6KyVFNj5iTGY/RD8/Kjw/KUZeTVdyYURV
cGBHfHh5PDl6Vkc/VU8KenZHTn1QbGRTfWkzLXRQak5rNHMjJDlsWHY7bW9IfUBBSlpfaXhsXnJn
NUlMZlB7Q0R6cmdjI0NWXypkOWpNP1k5Cno/PzYpVT00fit+NCVMQ3p4RUlyOVNSOTlyOyRndyM1
TnFWVT8lbm1FJiVfTyYjQGJHMU9RTWNyOF87OEswVWsoKgp6ZlRVMnNyfDhpcVFQLU57a2VoWkRA
RU1wWCtiUT13N0hgdlRkKTFxPXgmY1daRD8kWE9QUksqRmQ1MHBBQkxPK0YKenBobnY5QHJUcyVs
V05PKiliaXtjcCQmQER2b0M+cCgmSSpTQT0jIzBkaUZeeHVLej9LaU1femE+MmBEdl87ZDVtCnph
ZGVoaXZUIXBxPX1nR2dVUGtsKC1JdCV2PFd3anF2fXs+P3djSTIhQT9WPCorQ01YSHNydWpBa0gr
dlEzciQoVAp6ZHUzfFhlMUIxflNYJGVkQWhhZWI2Z25EMUNLXmB8MVdtOzJUdHNhNENJZ187aSRz
bj8hWCptbjB0YiV8aG1VaTIKeipRWjNrX0ZEWCZvcUhXRkd8cmI5dyREfFhrSW4mN19pbWNraDMw
c00wbV5naD5TPmJfSyo2dUxTNyphQXNHZkokCnp1SWNCVHQ7Sl40K1BkWlFAeEooeFVTTip2Rz8+
aCNhRWxVNDQwQF5PeThOOFdefm01N1NVZChrclc3MXp5KitCIwp6IzNnSmRvb2A4JGx9STQ2cTNe
MU5iSVR6bDJSOWV7ZyZXI3spbHtLZl9hWFA5SysjdSteeW5qcjs2ZnhHVGJFJmwKejNTLWkxYD5m
bEVueDxUQDlGIyEqbmVkbm9Zbzg/UkVsY1hVJFJJQFNUYmNDVik7ZSpKO2Y8cS1gTCU4biM9Sk1X
CnoyeTd2ciZVKH1FeyRVSFVpQD9VZnNiI35VVks1eD88MjBre2ozbjF7RyliZ0lUKnJlKjNrNjMl
Mlg2RzBLKDBZdQp6YzAoRCRDX1hUMUJmeiVOLXtfKykwT00qPEpwJCNZRyU0SipZcmxHU1Y4MyF5
LVVje1k+V21VK191MF9gLSlsaEIKekFpa29aX1IjaC1pWGw/UEJmXmN4PGkpJFpKcFFZdDA5RDFV
PV55emBrYEFKMnRJPmlCWmBJQE0hbj9idj1vT0ZCCnpKYDhec3k1MEtgalZTKVpia0pHMSFQek5N
MyRVd1g3Sn4kZndXPlojTWZZUktyM30/dVJnSjQxYm1IaSUkUE1iYwp6JSYkOHlkYiN3NnxIUWtg
QWN7bEV2fkVLK2lGRG1scXo9NFRLan52dU1ARkV3QTFBJUB1Kj5TRVdPJWRXRn5HZ34KejRlc05u
bmVkUFYqJmY7SisrfjheP1p4S2lue3lUJDVUa1UqUmZeQlV3RlIkaDdvSTY0KSEmfVVmNylDbSRu
Vl85CnpHKVE2PDw0ITtmTUhtRmdCUys2UUg/X1l9QEM9SFBEUF8jVGZWXlFATXAld09oYEhkeEpD
O1MzV3hgeD1wNXokTAp6Y3J+enZCPTgpMWt1aTtYKGNvNUtve0sxdHBlVjNCVCV8IU4jYnVxUjBe
U009OTZtQkE+ZGNJNzJvXjkhTlJ4ODYKeklGZzhESkVRbjdHK1kyaF4qZjB5bWBVSmZpJGM8YSlk
NFh1YChhcDtMPkRhSjhVPCYxYitud3NuTnpyU1R8SH1+CnpPb3J4SERqSV5+NmZReEZEQ1ZKRVcx
fW1CcTVOVm8yMG43c1o4SF9lMjRnVFchdy1wbzFvd1pvZ0V1VGhPdkkoewp6b3xnNWBFQzR6KihR
SC1+ZXhUeCZUQTA4VExeSU5vTmVjfUlUcGdGTnQ4S2p7Vn10UUJhVWRnaUR1I2JpXzRaPGEKekpe
KXFWbn5CUDN6UVNPX183NEA3MmZ6ZmVaQCVCUlJoOTdfQF9XWWohWHdVbmtSRyNOK1JqZHwrVWpl
JklsZjdhCnpnaXlPQGd0S19gd14pOUJGZjhWO2tSdmJkZ1c2VGNiSFQhYUJqVkdTdlJ5LS0yM288
PyZ4P0ApO2hAUHRhQH1EeAp6WTJWO0NPcz4/OV9gc0stUzdydVR7XzN2ITE5PDdnZmlmdlcpNXlD
fD0xcjx+JXIrTjNzX2NyTE54cFJAbjxBQGMKenlUYHk7cWtnbVp1dysjVSs3MWg9JXFkMWVlNT1o
ciYyPiZENyFja0VjQz4yTXpuflQkQ2sme1hQaXxjfDt0N2skCnorU34kNGVeS0VoT1VzcCMwbEJp
aWg9K2dPK21zX1ZxMiF9RWhyeG5xJjw2ak5tZUFGNlFydFZoZW8rNnh1eUI5KQp6XylzYiE+Z3Jv
M05wVzFMZkIlTDlsViRqfGU3aHBOQWg/JUkoMWhPJTJiXjxNSzxZIT5NKU5FWl9RZT94R0J+dCoK
ejZQKk98MDw1TENSeEdEa2o3eWIoZX5UR3pxT0kqSVlQWWRUPFBaMFBIXyt+KVZleCs4e3dQRm4/
N3tGeCt6b3tICnpIczc4ZFdhaXoyR2RfU3hGSV57T0N1Qz5uIWpTVF9BaXkzdSgyWT13RyFTKHM9
Sy0qLSpkUDtaQCtXMm5OOWtWeQp6JWhoOG1HZWw+JCs4VzhjOzs2STZ4WWhyOF8mWU0/SiU2SCFE
WSZWQjF+ZCN0Zykrai1jIz1abGFeVUYxelBVd2cKemxvU0w/K1J8VGdeb3d6bT97UjhAMTduNWMt
Y3h6Qnp3JlVeJTRITEhrdk8/enNZcWYoRiNtOzdgLUBjPCk9cE84CnpVSXB3WmlTYUBFdDxtTnF1
dD5kRCY4R3ZySX1xWik1VG90Z1RTN1RoZX5IZnNuOHNOXyFkSkFwYHsmaiY+P0NkUQp6MDtHVStG
TFkqfnkzNmk0WShhYHlAZVglR1RSUEM3TSpfd3k8JHAyfl97PWFiR2YtMVRkaGVVcm9JaipDJiVM
UmgKendfWHZAKF9NWUlzdT9lTipUN2phdWNuUFNzSm1LP2NeRU9WKHM9dythKTEkRilpeEhHcFR4
Zn0zUmw4ayZiI09qCnozazdPMjhYenF5Y31abSV4N0RgS0NHQHQwI0N6V3ZlNWRqcGxKX0pITTw5
Vzhxdm5pTiRDZVYzXlk5UlclbHgzcQp6NE12PW8tbjF0V3tUa3JFb0QqOVBrVjZFQ2gxJWhBcVNO
TzBmMF9JVHUqdldQZ0NGVihofjskSWg2Nil5THRaOU0Kel9CY2hSYmg2N040YSpMMlNTNmd9ZyZF
fjZobyt8TWRGKm9fYjU3WStZMDBnVnd2P0N4aiUrQmxBMEMkYz5EIVA7CnpoO2U9PXZ2OHJxJHhv
V1haNV9IPGlwfUVMayQpYS02P2taNzBUSz4heVJqYTVeK1ppRi0hWkFKUighVndTeSY4Qwp6JDQ7
ST9IP2pUVTM+ZVY3TTFZVkVZUFFAbktVPCZNKntKTktLdXNjVDhpSWRiJWdQODhua1R5VTBzITdj
dyZkOG4KelNxTnghSWJXclM8aXhMcDQkUzxpVk80dWZmbUxqeTszZkQreEFfQ1AkMyNMNnRmOWsq
V29IKFdsS1Y/S2wtbWRzCnpDe1lYIWhsYisjQG5uVUokVS02Zi12bW1DNk4wYGhpZ0o5UkxHIXQx
cmZScDc+fFF4ampKVkglUXxhP2tBT081Pwp6Pm9BMC0hbk98cTFSWUd3blo9Tm1qQTBITD5HKUZq
cT9RdnUjVn5Sc0NLPXNNPE1mTGtSM1Z+Tm1efjlNUGZtMX4KekFSVT1AYW45fiFzcnE4UjdWM1cy
Wj9ETDJARU9jNW4xOHwmWTxEckM4dj5RfVgtTkQ/PEoyNzFhb3p6KGRYNFF5CnoyWjI8S2olRVBm
bylKRkBHJDEqNCFBe1BFQWIlQjRaUkdrWmt5VyYmdGBQdldedHpCUCZgKUxXc3ZHclZsejJ0Ygp6
MkgmU3pQeFU8UUJoS0p9O29lRXJRfGpna3p4KGlJJml9cTxXbnBCIyZaN01NTmxXZmJOdlBiVmUt
UUN3bk1xVWgKeitnWSF5WjdHSGdqcjI0RDUrQjNRMi12UGJeV30wNDJgdihNLXZkVElRNz0wQThC
MnJYcCpuSDhMYCQ0aW40cWQ1Cnp2SEA5RkZaNGw+dm5aM2FOLVA1YSpCNGIxMF9JPC15cHc9Tisw
WHhZY1M7YGByPCE1UmBJaTYhaHlrQlNtK3BDdgp6cTB4eyo3QVc+MkcmYnxAWGhMOSNBPlNmMnk3
JFB7OHU4OHxHO2VPdUJuZyo4bEBAWWthM3RUS1Zsay1FekdUc3YKeloqWHhqTz9DUzZOPjdhUTV3
Tj5la1kzNT1mdCkxP1Vxb2UhaFNVUUF1TnQpXktDWF5XcS1zKWUtO2xhJjBjRnUxCno3TClTSl5H
bXt+VXNDc2ZmN0QqUWBJMUtpITs5N3pYN2E+RWJaNGEmaGlpdXg+NkcpblZaJkpXSmVsIWthSUtm
Xwp6WElxKVo7OVAhckdacXhWSjNDfSZzb1N0UD8tfSFhdGp+PnJjNUFjZmIqWENBZD5tPE9IZz8o
OGhvfT4kP1hDOFIKeitlZFBAMW1Ee084MHEjMHt6eXppK2A/PE9lNVYwU1MtTTZxTjJeYTY7aHVs
bXtoQUtrcWJCTVorVCFDYHpNJVFaCnpBYGwrblZMSUxEQUg1WXQ8eVNjKkB3cSRKPlNXWXxYaSFY
Rjk/V2FzUihNe1lYZFErYmkhXzYzSDlxbjw/Y3xpcAp6aGQwKTJ7IVlmTUVkQzRyNk5DY09pd2U7
TSFGMzdHMWlfOGkoNkVOQGlGUlRKemdifXYwb3p1O1dfKjclS2JtNmQKektZKC0hMEhqcmp4WWRV
MyFGQUBOZEZGQXVycy1aMmhTWSZ8RDN1b0RedXxwPDNvaEp7P251JUFQfipsaEVZO29oCnpycl9m
PyplPVR2QEl8KkxubTV5Wm5xRk5jd3pjZTBQJEp7QSkyaVJJPGJ6bnctVGAqPlRaZmJhPCRNZGlq
e3RfMQp6ZVU5IUFPWVVuOCpyaUYtXz04NCh5ejBVWElyMW1xYjFsMV9ZPHxHOVBCUml1TDYrP3to
KWVnckYrWjtwRG5sNjQKejtaKTJjVll5LUhUSjRHfnEqQEFlSm0qaSlfU1NrZDg9V2VEPU9sfnYw
RVI3VElOJXdfMkdGN25sY2pmezAyI31GCnpBdVRscnU4fFo4fEtweWlwaExEcTxWZjk1amdiWVhi
ZyQ8ZkIkPiEhYnNAeF9ONVlhVnZNY0ZnPHxgZHhKbyRqbAp6UFE4IWh8QXNjZShkQE1wb0JOclc3
ZkMtcyQ9NzY5Qy0lUCpOa0NzO2F0UURSNSRMZktUVFp3UmRsb3JaYzNmQ2cKemVkQ2BmKEpTO3Zw
dz09STVlVT1CT3RBSnAyTGMhTC1ZajJYPEojdzdDRDVvKntoKSRWSGR6K1FkTzI4MDN9OEpqCnpf
NmxCYlpRQnV9UXU5NWZ1M29kM3E2TSVmdUQlcG01PUlpUHZ8KHBfT1V9Y2tnYH0yO0NRI1BoNDNN
VnoyPEUxNQp6S01rJmE/Mzh9R2szP2drSENebFpsIVF0S20qcW50QG9AK152M0pLZCEwTGB9OXpV
VmxrKjF7PiFkIXNTRHstKSQKenJNbHZSUTVKYD5UdmFweUQpLUB1R1RuZGB5Wm9PY0F3dDdzdVht
UVZWdlFFansqYzk9QXU2Tkt6ZjtzTmU7fF9gCnpBJVgxIVl9JmFlcStDVThmS099Zjltc0NSJW1q
cWgjJCkyfkxINmxoN2pNYlRGN35FTjBNJndMJmBkSkpPZ3F1YAp6cWY8KUQmaDZyM2xSKG8obDRU
eylBbTZFTVlzejxAI3xOOHs5QkgwSXZeVE0jKk02aWc3RUR2QEM2diVUTyNYQlUKemZsfVQ9OVJ4
TUltaiYkeU5pPVg8Wlk9TFFMQkE4N15qTDR+cHtYRCNyNStZXjt4MHgkK3xkRHxLaVBQP15XRSVs
CnpVRmcpVzZxN2x2PEVBQVYmfWUodmxfVSY4ITsxUihzbyhreSE0WjAkNGM3JnRvK3pUaWJnRjR2
PVN0R2pxenJjJQp6R3pBMmtaMmJFQXthUSVUfDRqaSY9Njc3T3QrRFBfKyZlNyopRk8+dT85Vm5s
aDF3THlrQ3hsIzVvbDV9ezRxMzAKem9UbSgqLXl3I0Q+aX5ZeSVKV2Z6KyU0QzVXJCgmZ0loSCRf
JGVeJUZBYHdnTU5mb1NRbDEka15uMzxuQ2JuJGxOCnpsMHJoZi00ZjMrc0FjVXlYd1RxWTN9eFhx
JjxhUT1CYW1Ya2l6dlIyOHFGOC0hfmhfO1VhY0o4SkgxZkZNemk2cAp6aj8wVW8tPHlSVEI2TGM+
Y3I5M01YSCpvJXJ6ZmAldHgxa145cVU/WHBrbWAhcm41JTZsVEdfOE0rc1kyZ3RwKlIKenRoSHxq
KEM9I0F8M25YQTxvYCYwJGJ5RkdqZzhtSUJVez9qLU9KWDVOfEA7SW1TcGYwe0RMPStaN29eQSVS
VGlhCnpPS0Q9NDR2P3VsXytEN0BWS2M9K289bEV2QyFZbHR7fCt3JE5WME9MajJMcU1GYXgtKkc4
cVVOUyhlMyUrViZfYAp6U2c3cTBpdElaOzJNeiQ+dFNHQCNJQ3FwYj8pN1cyaDAye3BMYX1aPSM2
M0xLQEU0eCl1bFh0ZU1ETzc9ckdseHUKeks0bGJxYUc1Y1IwWiN9Q1Z4Rih4UDtrYzJYQ0FVU1Ff
ZnVTUGJ4XiVHWkZZQ2wrYkh6RG8meFQkeHs4Wng1YnUkCnojSWlqamNWWlVDV2R5KEx3REBjPWlU
Y3ZGU3VvRzw7YEQxSWBwWU4wT3VUfi0pQ19odHVZJElGI2FGKVYyTXU1SAp6OUBKKGgjNk1gYzBX
VypDdndTaV9HZGR5T2gqXkdDazEmfWRAYH1VTkZ5O0lqNUZqTChLYz9CdlJ1P2IyPy1uPGoKekZ8
emxRSlJIRkA9Z0dLLU1oN2k9LXxqYWkrSysjeTgwOzZ2KE9uYS1tNkR+T0F5X1BiQyZ8cUQ9KExi
TyZSalM/CnohPnM4eD1eZElMZiYqN0FrQjJJRlNKczNCRXd7XmtgaXJmUnI3PW1+Uz9PZGdkJEQ0
cWJoNj5GJHNfWkh6MEt2eQp6Km54UDlHR1MrUDMkc3BiKzBueUYxb0syaXRMKDJ5MiM3KjJXeFZs
OSt6ZnlDaDF1NkUheXxJZ2NHY14xb0QpO3MKektSUWZ7YUgyYzI3OWxmQ0QyXzVHdmpGMnY1enQt
JiV9PCNOZU83OHFyK1BWU148Vns8TWZgRW5xZVZELTd2NHFsCnpMKEdnSlMydFQ4Qzd0WXA1clpN
N2QmVkpic3FJRjM+bj0wcUd8VV83TDNjVyMmWEk/TVBkVTJwPVh+eiVGMEZqNQp6enQ9bmlXbDE2
SXhXP0k0Wj1hMSl7cXRDIyQ3Kyh0QmtoTipaUUpZbiQ2SG1PVW1TZ1JOMygpUWZ9UzA+PjRUQDwK
emNqPUFJQDAlYHh7YyptNnhTVHc2NGVgZSs+YDVIXncpUSMzZTB3QiFyYHdsSyNTMHtkJGdvaiNI
V19rKykmZn12CnopQ0FkSTEzUjJFPSlYKXFmMUE3VWA8ejwpRWdNJXRgYUliNV58eDNxaXh1cEpA
ez1lRHM+RzxFJjNHUjVoQzRHfQp6Ujw5TT5hYTN+NDJsM3JkeT5+cGNaUnRFbzBvSlQ5cnQ0bD5B
R35VY2k7cDhJNGhGVDx6bEVaOWxCVj5KdTw3dVgKejA0NVV0NHV8ezY7WCErVDUwTzJ5RFNnbSlT
ZSg5O3Y4ajZQVXhZNHMrTzI9blEpTjNqVl9rUGBWcENZMStgd3RBCnpUfGNveGUwJExSdXJKYHxT
WSFqSWBXYVF+dng1ejA/RzwrSXUhfnpzYDZ1UihzbTQlN0pNbjsoc2NUeUtKJWYwTwp6XkAtQEF4
QkFPciZZa3o8Uz1Oa1FWLWxscjQhWmoldGkhaDxkbi1YLUBrUGs8Pn5mVlI/aWtkRit1JGtqYkJx
QVgKekczaUpjcmkpQVpZS2lEVTlEczJwSD5ZK2FSRHJ6SldEPjhEMzBURHpYUkNnPE5ze3Fsaj5L
b0haIygqWnlufCtvCnpMPlZUVnRRfjRyTTRBMTJ2fSlZUC1fKDN9aUBiRz4kMkkqYSZ9Z1p+O2Qw
bj8wbEVFN09FKj1OUGw/PTwybFdERgp6VjkhYiVpYVdiMjA3P002PEU9MzBKO1RDRiE7SXJmJGxh
SHZ2OFkzbzJRdWxJO3VGZzxeeHRge25GajFwYkNjeW4KeiRVJHwhRzIzQH0+cEFSd0UoZEwhVmNE
cFNsNiEyJUlxWUtYK0ozRXsheGVTIUB7NkxlN3VHTktYSmxRI19qM3JPCnokVmlSanp0e2FJOE5+
QSMzfnBBZGN8VUY4KHM+cWRHa2k7PWdFOCExWCs3SWtIVHlreHduOSQxTSFlOTMrO2duPAp6T1RS
SHFrdWxQSTZyLU5nP2ZKQkx6fXRsUHteeSttNllsPk9eekM3JSUkPEA7dERSe3NWIUBqVkMzWD1E
YCUzfmIKekxWPlc0OHFJbGkrQ1JSNk5RPWU1KkpodClvZyEqPDdqK3ZOX0ItWUwlVSkzWGJgMVg/
MzItVEtEQ2peSWUyKXVACnohK0tCU19+aCZTJVEtZ05pQ1FpfTNrSDhGakdGUEMkSitobXlZQlAt
YGkxaXcyP2I+VCRtVWA9RkxfMmM0OX1uUAp6O3l9dFFpNllWUDlZdDJkPllraj0kMlRMJXdvUkkk
bVNuUig+anpTSyloaz5SWVZJdH5PUzRqXlZVWnxLP3NyUkAKek9JVGV3VFF7XzB8OHxYKjlLeFlR
S283LT5UaCYzZz92b2V6YVJpSSUmUD4pNVJ4LW9SanVXWDsyd057dVchP1FoCnpOdjtPUkp4Nlgo
cGMwUV5EalkmKiEmdHt9VUh2Uz5NOHw0K3txeXdmNWZJbXZtY1FOMlNSQEdMb1pfKldZO2wlZAp6
Jk4oUlRDdCVnflgrSlJ3S1BJYVlhbkdZeF89N2xRYE0zRnVWWFolO0ZGV3luaXw/bkN6KW00VmZR
Y0JqIXh1d2YKeipHPHJMakFwc1IzT0FoUm96JE9IVVloYTtfRnNWPXN0a2RyLXg0dzAwV19ObWQh
fkhlK3ZPaWBIamNpaE5NWGF9CnpOUHNXOz15U0o5IWRzMGwwTFhOT0JsaXt3YHRjR3pRSGM4ISNt
TkFxbk48Tl82RlQrUDh+cUl4bDFYOGowai1jbwp6PFQqVStNSEAjTyRWNj5mTkQzaGQpbzh7KHR7
Qj00KDVoOGQlWnhlXnhkMGhqSCVPOHxOVTxoYjtIQyU3NlM/YU4KekBJNXpFOzZHUktxODxqSDt+
QUg2NnBBNmE9Ky07aEwtSFg/Vlh1Km5IN0w+RHcwQXwmRE1GdmJ8RSRaKD9XZEZ9CnpKdGNafFl8
bkJwcWBoVWQ8Y1Vyd0hqMCVeQEw1cVh5b0RmKjVTZnFNa1JYeWlKVnomVzAtUz5MVyY3b2khT0tW
Twp6c09uZilgYHUhQGZTQWJ1TiUoZzFBTDJteXkoWlJkSHBuSHVtYlRgdT0pbillbytUIWJEamQ/
VjxkNVZDOXwjPEsKemBCaV5YTlVHQz5YMEhZWVFWP3FkI3RjVz1RKylNVXtwJSZWd2VJRjVBZ2RS
em1iSWhzejc4V1Z5JCk0cXROakhDCnohLXJJZWpTR1Q2Z3hQKTJeO25OUVluTHorbHxuTWdAa3Ry
S3lyVk9IMm93cCRmPzxNWGU8X2o1PDIwZnstbmxVQQp6QE95TFJxPW8/ejJybWgzZmk5MFo7fjlP
eXZhbjdfIVlnM1hDcGtMdSs/T0FCMXBJTjZFUUIhWUJYOD5yQWkoNGUKelhWe0M+OWtuNDUrNEZg
QDQrRjd6PFBBPXIyVHlvNVBQP1RSUzhjWSMkMHl8PFZaI01yMzxZbnRmRHNSTUkxKiotCnpNNmJY
VTtRK1dnKWszdnh1Zi07PmFsVzFQMWJ5ZUhEMFhgPUdRJGA9dStRN3NSeTZwNFA0U2U3MTRiPlho
WWFYRAp6Zm1MbzxlR0owVXZ3TzxCaX02T0lkcCMkNEFgVzRPeyk1bGA8d3otfFpsSlNLLXxeWVp5
fmE5ZnladGJAe3Z+fXYKemFFOC0pUG9vb2E4Q0NlU2V6KEx5SDJCMytifkFaKnpNKkQ/JDlqZjY2
fmBhfjR7dC1+dCV3MEdrT0MpUUd4XnZ+CnpTJTY3U3laLUhNSGxhZ0FjfjBYTGkzb3RHRTJAYClj
PXhjIU1KMDh7SV5hdGNVO2VAZmwtJF8pQnVUdG9RbiFLTQp6Tmh9PW5zeTlfb0U5fndvdVMqSHlj
RDdgK1QyYjVTN1QpcStCLWNXeUsheFEkKXwociljaX1tYi1AQUBidnxkN0QKejBMRUt2VnU+I1V7
SzB3Z2RjWnttI3tjVz9jd3ZHQkx4X0Y1IzdDOWB1cS18MmA+RSh3dm89YXtNTVpEeSl7Zk9uCnpL
bDslNEdnPm1ZJXFqejh5eWEmYkBqVXZUJEtyQnU/RiMmX09CS0BpR31EKTkxNEtGSyRyQndZVSZG
cmFIOVJLfQp6M0g3VkVER2dnZ3dWPjs1JVk2TXRMRXQqYSFzSHU0SmVLMyp7YmdZVytRQFBibzhg
bnlXQis2NWpFflFldSlpJiMKems2YGtTR1J4K312PWZhQ0FOWjxydVpOdDNwUTlRXkomO2I3QDho
cDN1c2dDS2NocGooMWtvLShDQ1UqSWA4X1VQCnpORTZPUF5mNVE8Ukg9WnhiQkJOdm9fJVR3a2NP
UWU8Y1VmTyNZKURIWn4wYnVfSVV5OT42akpeJmpAUGNZKHIxXwp6YGU4JUNPIVY+THt3YXY+eElp
JlJnU0xweyYlV3lQZStjTzg/eXpzcmc7KSZ6aGhAVnpVU3l9UWt3IT5rZVdXUUkKekcoJFdaWmMo
UlhJYnlNY2cjMUpiKzw9dDtsVG8zNUxoKndzTXdDbiQkXiluWCs8JlJTa1JKPDF3bkV9R3RPJFlN
Cnpre0NmJnByWHBoQGJoTWtvMT5KNjl9R2c2ZjZAWUtOXyF4cT9MdzFjPVpgM0Y7NTIwekdMQS16
ODFAYmFNNElUQAp6U304I24/IXBaT3BKZU92aC1aOWJxLU16fl5APXRtPkY4QmhpMCVDbEdKVHkt
Tj50aXQ7TmE0XmQ7VllzaWdJMVAKeig5YkdxeU9fZEotPVdoNGp0RXV5djVGPiZPQkh3QThRdS1A
OXpxbndTTVd9U2NDOyhhLW1aOWZuRWhQP2dJbkBeCnpUWWA8WksyOHsrMk9fJnFtZ3IoVWV9P08+
UiEjUCskT2UkNmpLOTxoP3RJSDglJWR1QGB0ZHpkdSphcU9SIyVWaQp6VUZ7JElLO1I+TjghV1gx
Mj07Qko1QytjbXYtWVUlN2JaR0AldzhJY3hEa0ktK0hfOyNHT250PVpRKDJ4eFElc0EKelpuZm1t
RCRJU0J1PDFydXtBZ354MlZALVNWS1ghUjVjMV45a2k1WWxzUiRmcXdiKTcmQkEhfkJHKj1QND9h
RWkjCnpoWl4oVTVDb2twY3dFdS1GQ0BoYit4VDdodmFCdSp0NUxqX2Bqej1BeS03YWk+elVCZCs4
YT1MNHAqNU9qaTVsegp6SE5ieVItRDk8UFUtRS0qRHtUQWZ4aEN3fCkqV1ZWbCVgX3dwZzBWT21n
flMrb0JCNjRaQCs2Q1lCT19oQD8qWSMKejQzcjZGaXdmWnU9dWsjZz4qMERlMUdqUD9ie3pYanV7
X250KHhWNTlgMl5qNEhvbHM9OHtWKnxuaGBALStWcVVACnp1N0d0YFVKUC1lT2tee1MhcyN8KEhX
QWlTT0tOPVc8emZHXkx8SmtvQWNDcEJDISM+cz0rKkZvUyk8WFp7JGBgdQp6ZHgjWlVVZFdaSj4j
KENNPiQ2ZUVpa1lKUSYjRV4yPjReKWpoNmNORnBDKXtjP1RePGkwY01kOUA3PWZuNDZ6Xj8Kemhk
TU9pSUl1SXJxXiRzciFoNStiRENpUEwtP016ODVpcDU4JntpTzNqKiE9ZDk+KTx3PnspbjJ1ZipH
eiNLOXckCnpfVFFQOzJKOFJtNlJaPCRWOztqUnU0cU0mIzBzfSNeST87KSNmWGJZZHp9NDU5QVAy
KnRrU0c7ZFVrJXgyUHx9SQp6b3pUQExxWHdYbnhUOVNgU2chUnYxclhgenZ7Jis3aGtJUiomeGJF
e0JGeTlTJjx2KnxAUkQmeDhIZmJZY28zJnoKekd0Zl4lWXtrM0BBeXpEa1g2a3FUaHlIRlI/fDxL
TkspOT9aOUNBZntvMWY8MStzXiNCJmdeciUocHwqJjw+aSFuCnp4JWI8eiFiTXl2KUw8a2E/O2s/
cUtBcUImUD5JYV4xcE4mdks4d0t3OSpoSj9rZiNNTmBJOyVQNnVTWmJIQFgrXgp6N2JlfkItZTc0
SDczdVROXmtvV1B3X2N6fjtgLSFYN1RKdCklMGZQYTxYJGpibkJuaDtuJUBzOTZRa0BAR0Z3RHAK
em9meChTVWR5byVBcV9HKGx7akF5SX4oMH15IX1vaEkmbHs8ZiE1Z05zMkNfMWxGZERaLTUhJVZg
KzAreUgpcnxUCnpoWmJtZnY0fjteLUdNdmRMTlhYWVdBU3hVTT0jSSohK3s7emBpRX4tIyk+OTI2
TzFGTT05I295PEZDKjczTDU/dQp6NnkmOSh2O2U5Nz1BM0lqOVImOUA+SWo7dzE9SGJXdn40Qjx2
KjIjcGQ8MEFNdzROdSZwVXs3NUQmZGJ1d3dZcmwKelBzK3p0IytPcWJhSHtJLT9sPlQraGA9IyUy
WmJmSiNsTykhRSFBKVhrO0lzKGhFb2wxTzFGaGJvenxhWGxIZkpPCnpFKSFzJHRBfUIwNEJXS31a
VVopdT5mJmQhdVIwV2o3MEhDTnZoYjRrdUsyJkQlQWlGSmwhWnhhUDwhJSokWEcyJAp6aVhGcGQ0
YWFLMXpUQnBsT3g0U3MyezJeIyVCMG4rIz53dmtXdD5taU8hTSU/SlkkekdGXz1qKlF9X0tsMUl3
M3MKek5FRmB2N0EtUlhTPCE+eS11cVYtSVFHdCV8RiM0RVZfQS1pVylOWiY0YVVSZXhQIUhTeztv
cypwfngjRHp7KX11Cnp6PW8+QHxJU3FZX19IO1VqMiMkfEp3fEF1UTAxMUstXyp9SCl5Q0Z3YSNU
Rkw8P1Fyd3VobFYlUXYhJjM+RSt6fAp6TzRUMGU9aE01aWh5XiQrSURVOGxaWnpsREwmazk5Y08q
VkFEaXZyIz16amJKKnAkIVQkLVVBNFgqJC09NiEyRngKejZjfE1sPlZ5UzVyQHNqJj9WcVNmJn5x
PG54V0FZcztITVYqTnNWe3w8VzVHR3RRbXYjRTZKRH0meS1ZZ2s7IXVoCnpwT2tnS0N1S2NMUmMo
I09fSWk5cnBOaSpgc1ZEdGcxI2FWfEJ8KGNaVDZoWHphd19MVGAxalp2dllTUFg/KHw1fAp6UXpR
a3NnUHpyNCRLVnRnRnlhbi13PGElbT9ecHdQUG1gNypINk09ZG1qWTFkbytkTFcybF4kQGUwUUxY
UTIlNjYKemVsSzlASHYkKExKelF2QHJfcFBzKjMlaDBwbUFvYFh8Zn1jRksmN25OKiZRKGwrdFNq
N3M9LT1DJmJxJTlhMnJECnp5e3F+RFZeRSskTnFtQW5lYGJDMWRyPSEjcUBtfFhlUEUycylwN19n
ZDYjK3N6UTwkWEBUTWE1WlR5ZENjdTc+MQp6Z20+fntWYjhJJXJidHx1ezc/Kl5sZmchbyFvbyNU
JVFUazJIcUY7TklSSkE8JCV5MHlAelhNWSFWPHU+dX5NT04KeiMzZzJqVl5BeHlRX2huZVImfDYk
QHZqJGBDZjkyYUBWY1E1O0MwQGMrRzZPZ3VEZCZwM3RmYFdkZnghPjd2OFdKCnoyYjQtI2RGXzxw
MjZpbW5nbiQ2UjIlISszeFlkZiFvaW9yd2l4JjRFNX1UeklzaXclN3t7dlVeSnE+MTdSVGtaaAp6
LVh5PmF1OSUpfTRVNnRKS0hUaT9ve19Tb2NRajwmMUhCeyptfnxYUStAfH52bkZUPCVFLTxIKkJL
RihgLU1abloKejFSViF9Y0hARUAoRHAycD15a0VRWEhTfkQ5Z0VlfCstRGNvQChtRDdRUjw0JnBx
S1YlbiZEM1NGPmcmNVhYK154CnphM1AjRSYoSC1fdTx6Y2VXOV9jMj5OYkctbzcjUzYydVB8bipD
Kj4kTnkwXl9Ie3dFVk5AMGhHS29EbGNSd1MjTQp6SHdxOT52QklTLU4kZlI4amB+SSlNYTBGS3R9
YT9sNDt3RWgrJiklQURWR2FydUEpKmBxN2lhbVZRMWx3N2FjfnMKekA5O2pYODZPOV9QbHQxZEYr
cSsqdW1vSHNWYE58JGdPMjwwQTBieThVcjdLRVBII2N9V3o2UHBDRGlJQVklZ2FrCnpgM2YxI0d2
TzczN1NKb0htUyRJVytkdzRweE9QYD85RXdBfTVNVU40IX0mfj04NzN2WE1wTXEwQU5SRV9SNFgy
ZAp6cDlrajZ6Rih1MjxFb1lEWSljXi1IPTtWTmFzUk51THhwbiV6JkQrO3tsb1I5Q0ErbU9rJW9F
alBlT0p4I2doTGwKenleI3E3MFByP1BPUlhyZSl3SGROO0N6QC1SQH16P2JaQE9eOD85NVl7KGV+
YEViZFJLQm15b1E5VV5HZm9aYFd7Cnp4cyVad05lezNGbzxwREA/bGo+MjM/S3ZabXJxKUppT2I7
djQtUE8pcFpCKXlEe3RaXyF2UEdjanJwdE4pJWlyJAp6Y2V6dEc0fVdGPjImb3l8PXF4PnQ/MEwy
XzAjc19MNlBKTFAzPHAzUG8/TTl5Z2NvZUdmNVltQkF5SElTMzY5RWwKejJYbDJjMEVlPnljRldB
PDUjSiEqT1IkQjNQLX1QcW1LJHhNbSokbzZ4dUMpPTJyPTlvY2p9MGRXcjFiZXVjOGErCnpRa156
IWZlMUUwJipneSFRZE9kemFkJlJiazJnXzFYNzNpKi11M3VEXllYOWc1QGM/Mitra0pAd1NebzlQ
Z3dmPQp6YnlUfVAzUTJ6Jmlza1dkVkZod2kjc15WPzUzYXp1bldkc3E0bnx7eWZvK0dRWCF9bUNx
TzY8Xl5JYEBTbWt2WnQKejslX2RAKCElWHx2aTk/KTIqe2pSWSh8O0d6SHBpRzA3UVFPRmpGaSVS
ZGp+IXc/XlohJmdGO15ONkBHNHomNUd9Cnp1KXkyY14jWnxTQUdjJTZAJGN+XjlWPlNEfDVmbn5N
a3xiRXluQClje1V0SzBFR0t1dVUoMiR7U0h6VkFnVjxPKQp6QjF1TjNjSE5IankpMik8SUt2bjko
Z31gZjd4e3BRJil7MXpWISFBJHgpKTQ1bFlOSHY0UiFnWTc9aj1XbXZRbncKei08eEttOTNIPVgh
c1otaW8jYkN9Jj9UOEZ4OzZwKUg5cDMyVW0xWDkyVE8janhJdU84PF8pQTx3cD5KdkRvSGBSCnpB
UXtrdkFeXjxDWjM4QDZhJnk2cGJNbjBWSWFmPlk7OVNUKUwkSlF1PExSJHh6PjFVJSU5e1JSK0VB
an51O2NSVQp6d000PHhScVJHcTFrKHF4ZzNWO25RSE0hZzdqRk0zNXd8QTZreFp8RyFLK3Y8PUpK
KntZUDNYcTJ8Q05XKD5yaEEKelh4dSRpRDdJWmJXb0U+WjRTdCg1NnY/MjNoUSotNzRYU2t4QWE0
RFp6WW0yYDZfV1N5SEg5MT1pQHJWaTNIeD9ICnpTKH1JMkVrTzlxakMrMThib2FeQm5fXipZeile
PSMkUVBOc1lpZFdse1BtU2heJU9jQUF6c054PX18LSUoMlg2Qgp6KzQ4ODB3UUVXXnNQfGBVVClH
SnpXWFpQd3dnNlVyTVhoeCpYZXB5flRNVWQ9by0xUWVDNEx1TGswYUAmYl5aaEQKejw4RldwWnx2
biVSbFhUQ2I9LXlvTSomRCpLKmg/bENFWiM0KmxhV31hekppRmx7OWVVM0V4THA3K3ZLN2lBNnxF
CnpqP3BHJHpwdCVTMTZWYXcmdjFoYk88QUdTRndTUmtMald1SWFFe1RCbDRrXkBHPlJJNGhOOVpn
elZhKnIkKnNCaAp6TCRfZEk9OU9NcXM5KHpAO0N1ND97TCQ1bitteEJYY2x6djkjWkQ3bzNPeSEm
TU5Lb19sOXc2Y2FjOD9GcDAkOT0KentQQiM3TF55RmpCKkwwYVJ+UjJtWHhvbmExVFRBZTRIa2po
KklLTldXP1RIMjUlIW5lQ1R7dTgrc2RBSGlxLSl6Cno3UGI0eyYjamV4VzJkbG1nMithckE0TWhY
aE9WJmJZOUMrJHlAOHBUIWN0SGVXdkpkQDdQR2BNUW42TkN7XkpnZQp6VVFxQ2JZM2VZJCEyJkdQ
QEd+fjFaKndPPGMwIUpnZXpDZnxiTmMjWjNlWl9UbjhkNEZjXlZXWXl3dUR4MntJVjAKemYjd0FM
ZFlnJENFNWMzO1FuLUAoXnU+Kms+UV4yQl87SXtjRX1SeEZqOCM+Tjl5THpgSmBEU15hOXN6dEtu
b0k9CnpefmZaV3l6JnxMXmhIYTt0bykkM2E5QkVidFlGRXxXTUYwdkRGNHxGaFVJd2hHb2Blfmt2
Xj1SKn5haHRRM0g4bwp6VStrXypWaXRGb3s2RChoMDt0Tmh8TmZTY2tPbTBfcXlfMWNoRHs/I2Nj
KE9uTkp3d0dMclNfNGtTXiZDayF9UTMKemtWWmZuWTQmPzxKamRzR2UqYnhBODBYQTVjPCNPTHk0
Sk5tWWttTFNScjQjUnBeUXshI2d8Y0hpKT5uUz4/M2NyCno2NCtYRzJrK0VZY0NleFRVI2RaJUNI
YXx+Jmg9en5Fci0pI3dkcWQlZmA9YGV5a0Y5XjBHcWBsTChRUDQ/YTJqaAp6Q2R4TDZZX1BHYDxk
alhTOCMrVTdiaSpQMmQpQ3pwI1B9QmFYYXF9ZTdsQ2VgO0A2amNgWWlub1p7Mko2M21MIU8Kentn
c1U1UXVrTVFeaUZJeyg7aDYzOENxMkZWR3IzOUZBYjM7Knw2SVR1UHxDPjJTZElYKT9zVmRiP09o
cngzRHxHCnp0JUJLSitncXozR0o7KilnR0NWKmJmeHBwVFFSbUw/algxS2ZaRXJNQmtYOC1HSXRv
aW8lazIybGYxbDlPUXxUNgp6Ozt9fXBaY3VeY0BTPURaSEw+KnlPPVJLbmgpQENmR1NaSjtqJnxp
Wno5M0pOPGtuPXZwSihXa2BXKyYpX2BnejwKelYhaldlQVN8aXUpK0Z6NSk7fCQlaVlfUyleZ01Y
THUmUUtoV095fWtWTl9KfkltcGZ7K2V2TXh5OUk1P0Zwd0RyCnpGN3h9VW1RbjM/TUwob1VAe2kq
N2Q+MD4jXlZ+bHleb0NOWUBVT3I/MClOdjFkbEJXPTRfLWhGSi1SMzUkcE18TAp6R1B+O1A8YkEq
fWRTPHpsWDZlSmUkSSRuOCt1ak5keHJneXtNMU1PeDV9dUhpbHRKQ3Y8MS0wNnNRJDZsPm1nOzEK
ekdDb293UHBTRjlAUVNiMWomPTM8ZH5sTTZ5dTFRQ0BpWGU1ck1xNEoobUMzeGBDamY+UlREJHVa
Z0Y4cTx9WEBECnppJjA0KGhsbmZKNnNnSUNldiZAc2t5VT9yeXx4P0BBbiokKmp9SXNmY05DX3c+
MT4tTTNWV15zTDkrTXJqbz9lTwp6QkE1TjV2cl47eVF9dmBmRWJYOHdmSzt+ejM3ZTFkZ1NQamw7
LUA4PmNLM2JWSEo9dH5VbW5nUlBReSZzakdPd2cKej9XdnROem0/OUE0UEQjfWtpJCVgMlIkK151
YiQ5Z0VySl50bDVKYmpzYCpxPSRHLWFTR0YtRn5FdWpYPjBqUTItCno+aTJsIUc4e3trRUpoMSZY
ODgoTFctZT02VEUwU0kqVjk1TU1wJi05VkZiO2Q/XlBPNGt8SzxOLWs2YFU7ck4mbgp6WklkKVFW
JEhzaGRgPzlSUGkqSUdlY0xFS1B0I0RJSXFSdV5SVW91MVAxJGY1aTt3cWNAcUpPZFIxcEN6N3hZ
V2kKeitqT0N4KDAqaV8lR3lXPSQ4QXBPQzdQU2FfJTVHJXc1QU9fYy1scHhoNkhhQ0dKK2xFdVND
eCooYEBTU2E3YTAoCnozZGBSMHtwK2goRig2T1NnJExWNihSPktXYURoYHMtKnBPT3glKlFPOXc0
JE9ePmBZUzhycHA/ODZNS1M9WX18MAp6ck5HJnZYbX5iNmklJDllNmE1R0UlaEwyTT5iR3lNWUlJ
fEhBWSpiNyk8dkp2V2haPHI2N0JjPy1tQWdWKnxZP3UKeiE3dE9ORSZtXjM1ezJYVVRFNm8ycDh4
YiZsUmU5U3lJOGpZND9oSmcxT2ljPms5YWt8fDhKWDM4YXBCKHAocStGCnpnSTtyISVwPj53NXN8
Wn55RUx3O29rYGdvNklpXzh2YTQ3Ynp3QE1MZypfZlEwRk88TENPNFB6ayQoVWo5bHNOQwp6VzN7
dUpOcjlRITRTRiM7TXtYdFIlRHlGRzc3e3p2SGFWZlptdEdyeFgpP2JTRzxFZW1vbm1mTk1KbXpJ
KSVlRT4KejE3Q3d0cDNCXn4kU29xTVlSQyF1O2x6JD5lR0MkOzhmejUldXxvaGQmLXZRMjA4V2p5
TGVaRHpUaSlpeCMrZ3x5CnpeQn5PcCQ8TWxQaGw5Z0xzJUcwTTRYS016aVIxUkY1aGIhWTlKbnEp
WDV4Nlc2KiZTZHp5YnRaclRAczFoWDBXegp6Z2EwY185dHRCOEkqRXMlM2peQHtza3BuQHVhaVZB
IT1KUjsxeyRAUEleTWVydDxDWWkpezZlcT01JUhBcDFDcUwKelg7WXY7IVhRemcqdVkyUTtrOGNB
XnJOaVRnS1dJZXImVzE3SGMoaHBEe1EoYT19ZnF5e2llejAtVDNRJEw4QUJZCnpAKGh9dWY4fEt2
dm1KYkc/b3tUSkNqMnYzenpsJl5sfDVyPHpOUTcrS1BPeS03fHFVXi1rSkx6ZVRIKmZ7TzRmQgp6
Kz95Pjkrbkd8dDJLKXA0ZFprMiRQdnleKFNhK3c/bHc1I1g4OVZLSF5NZUFeSVVPQXY9REthU05A
X0IlQ1pWLW8KeiRtZTFSaFdZO3pjKGMxaGRzc2lDXig8aXBAaEhmUjg5QSk5JXpVcVVrVHUlWnk4
aGVpaD1zYGw7TF8/bj98bChyCnpZfDZkfCpEeiVvWioocz0xPChGcmcjNCNKMFVvMWIleWUxcnVV
XjN6P1VwaiQ0SntQQ1IxIUxucSN3YGV3eHc2OAp6fEs0YEZUUVZ5KldsY1hgaT9QUyhzUGdoJD1o
fCFtd0A7S2gyKStxNlYoX1otRV9VIXs8M3tGVzFCSEdUZTZ4UVIKemNSTFdpKi13e1FYc2A4ZndB
KHhMSyRhQWA5T3VoI3BBTGJ4cjhhVyN4fXkqejdoZEpOMjNmaXYjLXNkX21ea2hBCnpHRyQkS28+
VU1CPjImKT8he3BvKENVfW5jNGMkJFBHNGJkK3otYXoje1U9bkBsV3g5d3hkdDVtX00xQjM5Mjkt
OQp6YGtlRj4oaXpDKFBsTEwrMXp6V21zIUw9bz1sNzcldyo/e25PbkFFPTRWTUZIJEg4WCVDYXdz
anpmZF8/QUY7UlQKenRZaV5gWEkzNSU5I1JURGFyNUAwfDE2Wi04cW1+eGtabkp8cjVjI3AkRmJV
KHRANzliZk9+anhweT9ZX2FfNl8oCnphUGxhYk5kNiZnMm5DejBYbTc1KTRKZF8mYlNiRnRSdHl5
NjdqJGc2VUZlOGkwRkVjP3lhTkNlOWJUOE1zVUVqYAp6Ujd3Kk1nNHJMSCFjV3ZCYlJHXkpOIXh4
KHhUQW5BSzlNYUpAQ3tKeiQ4OFJhWjhuZGptX3Job3Z+MlhtJCpxNVYKendXfUZjSD5PNT1oKU1r
cl9YNzhPTU9IYDF6dDltKXMoVjY1STNJcDtibXVjK2tsRU9CTFJpNT9Ma2FUZmN0K0kjCnowdl9l
PmQ8aUN8UHhXNyhUVkxsWDNfVzAlSXR6JHhnRDF0RVl7MUhZdmF6IzREVUMtVlBsKVJgJl5OM0Vi
WTN4Xgp6VmtxYExNTHQrek5BR3tHdmw5UkdYMj5BV1lVZjkxU1F8ZE51dksmUXpeSUwtPTF1OGRn
Z2EoOFgxb1gzKDZHVEkKejNeWVJhQ1ljcm0oN3lgLXlgblNsM1RDUiVNdnV9NSZ1PT19PzdlQyh2
SUBQQzM0Nkh7NzlYYH5kfTVlP3ZtNDxKCnpPPXgjSkZvaWVaKVcyRjEmJlkkPGtDX2ZNbSE2OX5F
TlZNQ24qNFNTO3x5akY5aXdMZU9YKzNzMF5SPkFIPlU3Ngp6MlRoNkw3bWlIKjRiVmNqWWo7Tklq
JkkmRUBFZipSPFIycntYeSppfHRXd1ktQjREfko0NVJSKUohWEFXbTMlNUIKemFvTUBXNjhRRlFs
SlQ8NmRudF9gSWdiUXdqZUxEZ2Vtb0lsTCFleUBQWFdWViElNTtaQTlpI0JWbEYyLSY5MSt1CnpN
KDw5ZCY4TitYVDxgK2ZeeT4mVCU8T2VBaFV0RV5kMmluTlNeNmhmfEVMZFJ5NDJndnNUd1dxbFRZ
Szg4OHB4Mgp6SVFzWVpwZUokP0Y+NVFNYDRZM1JgNiNyclhNfVVVMExAbmpDOWVsP1A2KVJ0ezg2
dlBEIVg2Z1lnSEgpcE07S30KenVWWiFUZ2RXMVpOK3VlaEo0VGdUJXY+JlNMNDZJPz5+YF80Uypl
K2ApZHcpKS0/SWBNbkRlQXRuSWhnekhoRCNpCnpDMEVRPkhIUkRMWjU/fipQOXgqKSYoZztIREtU
az1zSSg9bkZIZzFGUz15Y19QcEI0cytrQFBtaXkoXllTcGRrWAp6ZjZmNVM3d2ByK3BUNDBRMkV3
JGdlMFpFJHk9YXZlTDE3UGA5emZIKngwWFZZVSRTPmE+dE5VZmwyNmt1X3FpdEYKemlfcHgpTE9e
VVJAKUVzMVl2byZzPGpQZzN7T2JwMDZDdSl9UXprUFUjMFdIYjc/c29wbEZIKjRHb1JDdzZlKjxm
Cno0QXw5cHBpdj8zRD17Zl5TbFREJlVFclF7MnZ1P3A8SSZmMEI9MlNDel5ROCs1IT9oeVlPUDYy
Y3thcUhDX2QwJAp6XmJ1JDIhQTkteEB4Rl40V2hDSXEqT3YjbSE/QWpmSn5GaTs0fWtkWjFgO1NM
S1BELTQpUS1acUFKa0tZTEJjMkIKemw2d3xVRF97dVpPLWNDKCVnR29AVjJeUmxOVUBLOzhYK01n
TnNKb3xTSnwzPVolZDswNmFDKVZrJUJSRy1ffV9pCnotRTtOKig3SFZCYk5CdGlia3AtQUZRWmkl
RHtOJXhwJHxtYHB9KF8wQk5DTnQ/fSs9P3FeRTdZN2c/d2Z1VDEwWQp6YW88WTN5WXJGb2xuRTlI
Q3VsKiZjVDU+d0tAKFJLZGBKRzhyRTZKWTthcHwrWVJIRDZqaE1OYkB+IUxVU2RRWGgKej0+YzE/
MHxVZThSZmlDdksxaiNodWIlckdrYkVYLTlJIT1vYTF0RG5lNj01d094USFvWFhtRE82JU1eKGYw
NnY1CnpnWlY4bkw1e0pLZn0kcVBkMClTJGBXZkpMTUdwfFM0XlY+MUNzfkkmdkBAYSFoN2J6cXdU
ISQhP294SyFJOHRoYwp6U2AoKllkJEk4YHBiRUtWQ2dFQmNvNUlua01vQCZOMG5AUXVUWjkpaHBA
flpieWNOd0AjUjRLb0cmdk5BQVU3ZW4KejIobUl5QndmZ30/enB1PCUjYWlIZTJOTlpBQUNhalp5
VGd8PytXd2VLNTNURk57a3NoQkJqJDZjeF5hSV52YSs/CnotIWwrMEtgPnktKHA2WFBaRU9QX0ZZ
dXlKeVUwYko0YmlNU0NhfGFOKyt0RjVVJSs+JnA7QzNUKFRSaEZ3dXJzUgp6JEN2IzlGYF5+Vm9v
SkNiNl5DNnMtaFQjbmZEN19XWXhnUVkobG9IKnA+OFVfKUI1STE/UE9UYSQwKmdBR3ZhUHUKelVG
biVDKFZ9a1RZN3JtRmFnVXcoS2EwNV43ezAjailRISlgOTkhOEJlTHpka2FkbiYjUSV1cVJOZTI1
KiF9Uj50CnoobT9tQjJkdyRBJmAzaXZOTmNqMW5ALXF+WTJIcTZScFdrVWIjRyt2VX54VU01ZX1S
RFRmOyQhM1J7VkZzKjxMQwp6RUJtYVd5aTV4X1pjeGo2e20mMzx3a3wxQ3FWZTZjWG1VWjExS0FI
cGhCckIkOTktaVBTRytBJkt5QWZaSD97b28KejFXTjRWSEZieHp1d3x4dTBkY3t6TDBwT2x6bWlJ
YEokMkEkWSZpfVhZOSozJipySkNHa3d0cXxjMX5Nb15OMUcpCnpYVlBfbGdPJUVeVVpILUJuKjA/
PypOcyRaWlkxM1RFMFB4V2hkP1VUe0ZPP3RhQzBVeDI9PTVaNF44bm1kSkNufQp6PXpRNGJkRG8r
by0/YHpiMy1nVUBqb1QyV1g3V0hWIWM8dSZLR0VBPk5tWld3a2g9ezBGZGJrIWVzflZ3Tm1NcXwK
ekpyOXo2TFRyNnIpNWJQTyh1TDh6KHxhdHBrO0ZiTUc4Q28hLVV7fSVwdy1TOF90QmIyKCRWej5g
Q3sjajx4X1BZCno8U19AQ0EmRk1CPEJROGZ4S2dTJUE2QTslN3dkfihlMXo+MkJLY01NYX4yT29K
b29rYjI1MSRfWXY9Y0I5JUF3ZAp6Y20oMkQlQypFdFRJN1BDKnZQSWRrTyNQS2Jse3RiU0xKSGF8
TVgzRTVGO1R9SnY+fi0mJVZPR3MkfkFgNWhsRUcKelBRaXFjWDtgWUtaaGB4JjtqcVAmYUgmX2RY
Sy1EakUjS1p2TjI9IXFpaUB8bSloKGEoXzYzVFJKNnw3PnImaVgqCnp2TzU1QGd6bzc1cSFxdlB1
Unx1TnE3eyR0NCk9fT1sVGZgbDw0VEVjZFhES2JnKF5XZCkmSER5SVNgIy05akVrIwp6VyZsX1op
KCQ2c2RYLT0hVitpaXdoZ25nPUgjKXpWZXRUQyo1YV9uVG1DYCtAR0YjMHU5VnRzMXFAa0sodkVL
UWwKemB0czVuVmtYb3ttNyRlWVJGKEQmOCpkdCZxcjdrREk7QnZaKFc2TCtjfEtlWHt5PXM2XzM9
eWJzRGZ0TiZPYkUoCno5UilGPns5cElxdHM/bjxRMDJlQmh7JFdHYDd7VjtZYVQ5O3U4QEkxYFVD
YCQrSXV7bmt1X1gjOFNmekN0KkE+Vwp6JCoteWAxc3FjPDBMTD0mS2t0PnRxQjtOKzxVTmZJa3Q5
SiMlX21FPDdedm9EVHBRYV5IKlY+OT57fGA9Nk5CJnoKeko+KnZoUHl4V25sc3h1UVIjTHFiempo
emR4bnxRdTByLXx+amoxZi1wXiZYbGYqQHBqQF5qMEkod3l+SyE3dlVICnp7ajdBRntZYllvLWlk
WHw4cGpfTHslbzAySWE5SktZXmk3RERWeikxKXZwUEFkaE44UnBVbGdsSGc0fSRNT1ZSNwp6Ykpt
REBUIVVTbUAkQFU3IzE0MGBsMlk2cVJoejRYKGVRZFQ4WDN5SEdmTmo1ZCFLQVZPRjxYWVhqKkhf
bnR7NTEKeiNpTmxCdksoalUjZDQ+YUBQRClTZV5kfTM7IyN1dCtRTUJYIXc+JXg0KX5gYUskI0tv
djJRfG5eODVkZE0qP29uCnomeDI7e2N0aVlUZ25hTkJAPUkhQDhWMz1UPTlUOCpaP0Mkc25rZEBy
SzlVYTN5e2d8aV9OTkg3T1BxZ3x4TCoxfQp6X3cwdyk3NFN4JHtHTnJPN0pmP345Kn08cmhuKDFJ
ezBRYVY3R0FAWiE2I0ZiT3VGK2IrU2J0c3FvNXwwK1RfeGAKemRhRjs7aHQjOEljMCZkRDM5O21q
YW4hPkIhZWFSNkI2KHQ+cWA5cUEhemoyPjJmUzVPN1k7N30jSjh0IzVEO34wCnpJYDUmMV9AOy1Z
XmAqZWYkJEdYOzt8WnxjWGxeIU1zakROcz8hbDkzUHwxXyNDLUlZd2U/MHdqN3ptTzRBIXI2TQp6
KjBDPmlVeV81fl5weWxiPWMyTGJNM0w/cHlPOyVCYyROTT8hYl9OUSVeSzIteTtNMilaZDVrbVNj
Sl8tYzFgMEAKelhYYUUtKFpHRWolRCkhUko5P0kmQyp5cyVnNjBHRzBCY0lFRm80ME01dXdzNSN7
SFhCKX5fSntHMD1HbXZUZCZsCnooX2U/al5GMntDNmBIb3I2OF82M0dEZUJecmpNRUEhbXxlazxg
dkV+T2QxUWZOLVF9O2BkaGhyaXU+U0NwdjdwIQp6dEJ9b3goJXZ1czN8JHl7c1JvdU51RHljPTlr
JjNMUj9nVmhtKDliJXB3ZX1oeEJYbmZeaz9zYWdaeCRUXikqbE0KemNAYGZEKjhiWndBKjs0V3Bh
P0dIJmNMMj4weEt9WHFBR29XQGglV1o3PkctcV40eGRPcyhOWiQ/I0VacTxKJEw0Cno2OEFxP1hm
XkthcnNBZzZlUnpRO2VKb2FuPG85V19uTnBufipTditqQHd8YH4zTnBRPyh6NFY+K2ZHQig+YEQh
NQp6QEFRcntZaX1iTT1BTjRWKX0yQzVuQilUTCt1YHJ4SCZWVH5SO3RoI1JvVyUqJTx3IXZIbGJI
KEcxd1QlJGRGfEgKeiFxYXYqeipPdUFaJChZeEchTTYtKGtgUmpHfGxHcmRQYX5lQXp4PygxTmlZ
S3QkQD8jLVQhZml5an01IW9CcmJ0CnpWTDJreHNAQklkb2M/aSMpTmtGUHlaXlhEcTFwX1FJX1lE
cTJTV0RFVntWVWo9e1cxbXVFcnV8WWR2YF9oRGZsMgp6QTdKPz5QeTVJaHEyTjUpTiQjJUFJKUNg
U15tTSNkX0tXKkVxPjd7PyVHVkwjbzJQP2godF58fjlXSyFzQVEmQmUKemopXy1LWFlYfTUxU3xi
NVNMPDhgZzxDfDZjKHIlJmAmLXwjKm1gdllAKkpqaGJ2bGQjIURhWTQzdzd+Z2dwRTsqCnpUJW9s
bkR9SipKZ1V1T0AwQHRFc2QjMjNrSHFZJEMqNiVyfiEyOHBJYWBFJSRTUT9ESStjbXhPKXw5Tjd5
SClTKwp6elopK18pUUUlfW9ldyEqZ3g7dkZRcHwjayNLfG4hUkp1MzNWMkI3P0IxVmp0PUg2cDQw
RFgyQk83TmF0dHdtJmMKemd0N2ROUm1fTG5wRncwbVp0cGhocTFWRismdzd5WipsRWAkPndoVV97
MWtBbWskZEJRd0VwQnNIVndfPFleUD9sCnozMCU7eyFvMHMxJn1lNzdKM0RkXnMxJSZydWVpTzgk
d0Y3fDFZcHR4JDYjVHlNOU5ULWtYPDBxezA3MTZYMitGSgp6KUErQiVuPVVkM1MlQUchOF4rKEFP
enFYUlk1Mzs1T0VtdlNhR15FPUN2O287UiNQenR1dm9sRXt3aiRjPzBqezAKenokanwwOGtoOTQ/
YzlRSkE4M0xmQFp3K0lIQG9fVG84VWMyTUxaeUQzdDJoKDxwOSt+bDN4SGp4NFhiYClmRDVKCnok
fnFDclhMMjE4Z2p0e1ZnYntxLTlNMjtoRyttPDtSPVZfQWd1PVhnLS1CZCF3NlhLaSNee0A0WWhY
Qyhzc258UAp6MCtZMjU3b285WUQ5RCVedUsob0xrJmh9ek4tQER+KmZPaC0lLStlTy09TXJQOCQj
aHpCI3lSc3hVOUUkRT1CJHgKeipETz8ySzh3LV42KXpjQUhDcEtLbk1APVo1Z1dHZnYycml2QTNH
QHV4JEhrN2xIdz4pRE1ZO0wqRGFIWmYqPC10CnpJWm5LUmJMVUtsK1pXR0ojVFl1e3N7el58bEd7
Sys9dTdMX2F6clgtRmxpQDNVbV4lelpGOG01OWRMRWxCQ1BYOAp6NyQ8QTV7U2plfERpQ1pRRz9M
P2hYPDBPP2QqVk14STd8YU1gfSEhTEUjPWtRNXdsc1FYVH0ybzdOS25gdnBDPHUKeittTypKa2Iw
KXZWMCg8T0d2Qnh5Pmw2REYpZzZPcE56TiEqXjNZc05AfUV8M0kqUVd8QntGKDFMVmshcmFoVzt6
CnplKipaZHlnMHlgR0NkakJQJEkhUipeNlg2UWBqP0BIaFM5ZWlnb05RLVE5VTYrREhSczk5PXJI
UHZnZThBMENPTgp6QDwlbWRpc1AhNlVKcElsJncwNnl6c3wrcCFkfEM1PEVmQnZOV1hVbG5qUENP
M18yU2deWWEmfj1Ya1VIejZKczAKenlpYEp9U1YhWmFNYEFHXlhSSW1vKTw4aTZTRVQqY09QYyFF
T1JEYj4zUkE1KnBufXUqYE1OQVZZR1lGaXBlaSZ2CnpKNzN3KllnQDNySFpDM2R2Z0pWZkROZTZF
X24leiQ8e3NNVXhQTjdgQU54cGBlQ0E+alR6JTBLYDZyTDZVPlZvNAp6eFozfV9ocDNMfDdsKHtY
VmdlRy1UNjt8Nlhxc3ZxU3RkYSl3XjAhXktgWHEqNmFmd2lLcSZuSFFoOXtWPm4qQVUKej96Jms/
Uz18SXAwPk1hUEYtMVdzTm9WPkBVbmp3MiV1SmN5bSMhQWpHcnBUXzdYM3Yxc25eLTdIKGx1VE1M
JHBvCnpWIUNicnY2MWNvOCkqYGNFOztqbVkkVXF7OWhWcn07I34yJk1ecDxDV1lQS2w9R1AycD9n
Xy1pQDhTb3twRlo+cAp6ST1+OV9aMj01ZD4jenNLO2VFbDQ0NDc5dUpWakR2eF48bT8tcSM/eEFw
c0lHJDZxblRpR25QbmwmYTNORU5fLS0KemtkZE5MMDs2Y2hFVjl1Xypve1RZZUs8c3QhXnU1JnMm
Pko7UXltJm49QHZgOENedVlUaVVxM0hyMHxoTjApT3lICnp5KHV6e0sxIyNvY0Z0ITNkVyhNYU80
SlFDTmgqUlUkajxmZXFOM096S3hwZmMlTip4UjYjUHRZUlgpK3M9I191RAp6YV9Wemx5fHMmc3dT
UXNzK0BwfWMyUShBfkEzSkp9dStYUmtgd28xPVhaPXFHV3g3MTs5JHR+THw5QDF+KzslXyQKejxj
eSglSGl0XzVTQHRNZ1JrZkopbDJoSUx3MDBYZlZSYD5xd19AemhlXzJibTh0K35xbmVgLV96Nj9Q
cHhYdS1SCnp1bGpWdVFkYlkmfE44Vi1YUUEmd3IkYlFVajtQTF9NM1g3I2UxdXJVVHdrMHBYe3h0
b2NBd0c2VXhXN0U+QmhlTAp6KFFuM0xsdVpuOEhRZDByXzd1aUlqRDxGUE5hfC16PEhKKld2cTNp
bUlUc29HPDFfaHklZExkSmVjd2dtSWhXLUsKeio+fGpuVmE3MzVzVzZ7TyVSbmN1JnU4UjYtbXcx
KGkwZDM3PHpRMTNVN1g9YlpDQ3dPYGppOSs9UThnaWRRPkpjCnpYIWhYIUR7TV5YOX1oIyhlY0s0
QUl3U1pha2BsU3VjPjAzNFA0KUpBVXZ4d2VkYHdESVo2eldJP2ViKW1ZK2VUUgp6I1U9bllTOU0x
bFcxKmk3PHhQKXFWZCFrQkN+T3YjRSkoWCRaPXJ7VmZvVk4yUFJmaWxGQE9vPnJqdkx+ZWFDN3MK
elBePygzNDwwcSZsayVQUCQjaD4mRi0mR3VORDdNS3RNXyFZSWk8ZWk7bjtDdjNqNVdZKntVMzNf
dj9kcyNEaUdrCnpCVS1raGNoTGN9V3ckbXteOSNESzc8c3YwbVp5dzlYU3YqTlhkO0R4I0AzRHFx
UH5iYiVlQEsxNWxSc30mI3ckPwp6OWpYeWBkYnhXQz9eVFZeVHJsZEVpQkM/aFRULWNYMXRyaDg7
Zlk+QDc4Qy11PXNuRmImVk5+ZXdvSCM2dkxVV3UKeih9KVdHPlVwcSNmdlVJOGJFR2JoLWZEJjNn
NjVuRys0akRETGd4eGdLMEt7UDVFRXd1ZnA3MmpFfFRwUXYmO2FUCnpoUj5nbmIqJlotV1liX2ol
Wj8wckd7K2oqKS13IXxVJGNxN2dNJDB4LWR5ITM4NkxaX2dDRCUxMGVrQVRTVjMzcgp6YCg9QXF4
cDY+Sk48KFlUZWtUKU8xJjc2YDxvTnRgcGVVYTR7TkFUI2Nqc3VHO0QwUDBrRik2ZEVJIUJ+XlNy
WWAKel48U09rT1o2NU5wLVQ1fio+ZmskVzl0YkhndD1oYkBHOVgxVEZhZDVVaUFfWGFrYms2Tjh1
VmwjMU1KNUdAU0ZlCnp4K1FaJGU2YDQ7TSVqV3VIRX4yVCU1aEVPPHlndG1vQCYjfjdyQWN9TH5i
d3p5QHhQem5XbzBNcl59NXspWlYxegp6I0dHe0VxV1Q+QWk+MCVoYmIwd0ZqQGMtRzlFXz1aRiE/
WkFfMTlSNUZlSn1EKG55VXJtQnNFVG8/K1d0SFM/XmQKel9JJmkjaExaR2tTQTJSYT5PdW1hbjBi
VCFMNWZLd1M2X2wwaTRDOFI+dXdMKmpeQ0lLdiRAYHBXYnkpbFR6KiQoCnpGISszYTZrfWw5dyZZ
PnFSUVMmT2UtU1JxemgpR3BNKkopfVZecE9JWVkyTnRyPFdLdkx2KTdBdmloJEpKYl43SAp6cTRB
anBCZ3h3OVg7VDNTQEBaQkkwKllrSXAoJE1hM2VlN0A/NlR8aDUhe3kmTWF7fGtWcmB8VCo1KUJe
dGRBJlEKekFPM05rPl9aKCkkbWJKSl4ldWAkXzdVaSQtaV8rTCRwbyNmYVpzfSVIWGQ8ZmxSeWYw
KllAc0htTXNUQFVzfDlMCnpgNiFfR1plNkVFK0Z8OW1NNkdgRi09YDgtS0ZkQ1FFMnFgUUcwK3tI
biZIcjZYSik0RTs2ZnlKWEczcWZoIVZNKQp6KEJXZ3NGIWdYe1UkQUpOXz9AaEJrYmtnQitmVkFH
ZzRrMiNpYlByRkEjOE8qOER5SnZ2cDg4fHsoSj07OHgoJTgKenhoYWtLNUxTO008ZlM0MTJZVkJC
IURFb1FeV25xRyR4YFFrTnZnbENWKGlFfmwqYSEqSEJRQm1xNT0wUENFNGdfCnpCJVgkNDd7M0BD
dmU4dTh0MWcqX3JtT3dxSGNkQnNfajBiWXdDaTNvJjZFcGA4aTZKdmRjNy1+dDNhV2prV3AqMgp6
UWlpWWZ4MkJiMWRZRDRhVnc5dGdsdylAaXFSY0tXcTlAdEZIYkVyIWhaZmFMbH5jSUlDYGFfJV9V
fGk/Jjx9LUIKeilYP01TYHtFbEtTfipVWWk3PHc1Vj9EZE4/M0M4KFdqNiU8V0hLNmNDVTdjbEIy
fkhLJWBLQytITjgyPyo/R0x3CnpwZU9nRURnVURTNkVDPm5RbjBRdUgqUmpWKWo3fnM4bnFYfW5e
M2NLQml9UG49RjwkRTI2PzI5YXpwNj80STttMQp6JV5uKT5BNVNYMTBYdXc3dCombE5zN0JOVSYr
USk0SkY0QDktJSZAIV81NFNMP2d6PklhOVJ1VzBhKj9LYldKVDYKem1nZl90eDA9VmwzZmNDIyQ5
S3huKEFePTtUPXM4cFl0fEA9TjZsaF5AMUZJRVd0ME9qTjJeSmYkO0RVVSNXJGd3CnoyM1ImYipB
PiFQNS1CfjRWdzFyWj16ZDl5SVNkQmlRJEd5ND5PakkjMlQpdyN2a20rZiZPYV5gZWsxNmRmMmsl
JAp6YDtwVzBGWiNHRFlNZHZTXlBLeXxjTDl4RHgjbWEwOS1CNTQxJntuZl9kMSt6NU4tbj5SaGVP
emwoRXN8RnlvRVUKenRPXlRCezFkJmIxRXI/PlR+fTAoTjxedGBaQ2pnbnN2fkghPWwqMCQqNUh8
dldzVygyKiZ6MX41JmBGO2Mhc0U7CnpWbWs1NGIoMXZodSEmbyUlOEpJP2N5cHx3UkoqRTZBJSM9
d0JXfGY/OCpwIWV1QkAtPVJnQUkyLXUhRGdyRDJAWQp6WlBvcUAkbFdJbmIyVl8mM1g2Qz5JSiFs
X2hpNTVEJWBYX256UlRNMTFDZjAxSGVCTXY0KEpTIXE/ZmtpNyliNiMKenxBandWKFhicVRSLSU2
akt5RnRWYStkXm5HTlI1TDtCWX0ra3lQXnQlV2wzMDl8fCp6UzdpTjU1NVVyNmZJK2lPCnpeMChe
ezh9fVEwc3FnUj5BLXFrdE19ZXswU1U7cGk4JiQqMy02diR9ZXxqWXIlfTN1VkwoXz9pKGJFKGo1
JSpoNAp6SyNJU2U7eShLMCtFfEN3Zlc9Z2hxRyhtdG4+a2hKZGNDZCUqdFUtZ3JrenMyc1N5dl5O
NUdTRzFlN0F7NVgxK14KemBiZEhJZHcjb143WSNfWEZ0PzBHZkpmQ2hrUnJLe1AzUVM4JkhsWnJ4
cENuLWhgTlpQZkUqMU05Oys5SFVkM1pjCnp7JThsbT1UNTlnTGJHX29mXnpKRSRUezdMRGJVc1lB
Y1Q/Xzl0MXpTSGtsanFCIWRGakBoQWw1NjslLVYxZCp3ZQp6SnRZN0k+b3B2JHlNJlc8P3o0Y0Yr
SlVvbSFDMGk0Uioke0tlVX4wTUdPfS1eMilHb1pBbTkyO2w8MG96VzQ+PTYKekh2eDdJVzxyTHx6
bHYpdllTSSZgMD5VWGs2MX5hK2lGVytNaDV5SDVHVjY9aDBGaWQlbyhkM1k9TExsZV4qfEpUCno1
V1ExQVMpZWU8Rm14TUU7WllJS0NJe2daJmR1YjYxVWF+MGdvS0slRSoqMEtGQ3xhSnFoLWI5RnU2
R1h4cT4kSAp6aU9mUENAUEZgb3E0Vz9tTU96U3g1O0pST3w0SWdsNmJWVyVjc1dhTG1RVyFNSmUk
SiZ7M2tAYWQjY05xbFplZG8KeipUKkVIKmxDZnIoYnxMbEVvaTNleVE1MzdiRj9JUWgjNztKYj9S
O34kaFJzNztWIUo1eDU8Skg8PWpaMjl1biRUCnpocl47KippYElQYERFXl52QWUwWjw+TDs1TCEt
QlY7fXNBNylZeEJvVnxFcnpvd29LSTlzYGpkLWtHYTAwSWBNZAp6eiVEWVZGbEBDc0RGYXlgTXFe
NT05X3R3NC0+PXs8WWs0JW0rOGdrWm4oKWIkdzAwZl4kNyZkPWk8UmNmZ2xXanUKejV8emVMZHYj
MnllRUJDRGtFajMydTwqTXcrOz51Wkc8aCVDMkAkfWAlR2ktKWZ3KUxpdU9ka30jOFh5NEg8WTFQ
CnopcnIpT1FxPkl2PzJIdHI8bWBlQmxNUVFuS09RJEN1JTkld049O04+bmNrSGsoTF8jUyZOV0lf
bCk1V15JUUEjKgp6YXVJUVlXMDN7b0UrKChMVDh1VHc8Jm1EKyYjTVBiO3MlfUhzP0l2ZyhNK2xe
aUR1WEh3V05+WlZyfCtAQCNSMl8Keml3bj9kV3doOV9uKUF+R0JvRlE+VWIzJE55dl8jVGImfjdB
bSRHUTNAMVJ5TV4/RF9gRSVpZXhARWdjYjZsTUdKCnpBVWl6QDxTcWlpYEtAfWZXQEVZTVF+PDst
JSh4R3x4fDVxUUVwbX4+QmNnTFgkXnsjXnpWMHs7bGZyMVQ8YHhFRwp6SXRlfjQ8NzFrOG4qO3Rr
IVM+dV9xVUpXWmB5X09xWW47SnZrQUVYUXVib0NuMkUoNVIrYXhfR1I7Wmx+Jk8waEcKel93Mlgh
SismTUVKXk1GWHMlLXludFJ9TDJjVCZefmB3YUUtN0R4MXRRdDdUJHhMNVAkQChCUn10dEp+X3de
WlpVCno/dnx2cFE/T0ghSWhzQnRKdEVnXnVwQ01Na2N2YTEwSk1fR2dvcF9XOS0zMSFfKXAhU25F
Z251QXRNZyl1QDlyegp6eXZhVmJGVFhidDc1b2RfPHJGVjxoY3B1P0BgPkgwUGoofFNUdFNxZ2FA
O3tnITZqZnpqJU1nUU11eFcmTkxPK0YKemFpb3EkaWFsPX5zYnNUKjg+JX1LaVZNPnJ4UXN8dG47
JF9iKT5xYDRUQmROK0p6U3ZfRXg+PSkmd341bDFIR0lXCnorV1U0RGxaP0Y7RmxIcDthb0p9ViV9
YTRRb2ZXbEduRVNkPlY+XllGRTNPVD1fV28zM3h6YU5+VERAKT8lckhWSQp6R19+fCUpMjA+c0FA
TW08JkRuPnU/XzQzJnJYdzhHZUQhbGRhR05eS0xDcW1tK1RVKFp6YkxwVytLay1kS3dxWDEKemVp
K1NRQ2U1U0NadHt1KXI7ezY5NVRAISVadSpgV2c7Y0UrQFh3PUlnY08pcEVRazEqbSR6TTQrKlY0
PCRXQ0hrCnolUnZPXnlJPTcxQyglOyZGNHw3Q1d6U0FPZShkV3RjU0dAUEtYaVheKXZtKjFLRyY5
Nmk0K3VmbDQtZlFqaTIyYgp6UCVZZygkcDE8dUYqYk5NcFVgekU0UF42O0tpJlA7Zkk8VFhsb15K
X2dfTmg8YGBZdVFMVDBqblBDUE0mb2piakoKekc8LURzb1RuWGBqYVdSTFMoRkpHel4rQF5WMVox
PHlNRDRPMjR6Pil2VHtDSkFBUz5WTHVhbj9JQGZNfGoySFMoCnp7bm44cCQ5aSY0MHVGcl4qR0Fh
Tk48VU0wNFViSSMldT9vaGdgRit4dmlfakMte0VsPXpzUVJyc2RkWTIpM2V+eQp6XnFPX2wyPU96
TD5Bbn5TLTU3KHZFajh2ZWwoNWEkdjMjI1JPcGRTTkJOQCEhd2ApRmZxJn1yaWNqTVVHP141PE8K
emlNeFhQZ1VASnFlakNjKVlxOD5NRGIzJmRuRVkoaDZPUm5BWkpzJl4kQT51RElPWFBxXk5eRCV3
SUkkelVeS2JJCnpqVjlJYzEtUXw0MHA+X0ZqKEQxJndJcUs0aCNuflBBVTdPKCNocDx+PGlXdnBQ
fGYmTD5kc2hRZ3MoPG5CLXJmSAp6VVgxVzlJN3hAZ0NGRll3TmkkSVYoOHsmbTQrYjNIT2hVKzhX
fSUpe21UWGcwZFkoM09yVWZndlg0NmApVTA9bGEKenJVSlpTLSNRR2tBZUhnfCZoWXBKXmVwZEZ6
V3wqI3xDOGIyQWZDTD4jPyZMQXZ7Xz5IQHQlVEc4Wjx9fW9wfHxNCnppNWF+UXUwVVVwU0FQVjU5
UHY/IXhReio+YTBBeSF0JVRpaT56VD5AMSpjZV5IbDRsNjBwZHZ0SHBGVUp6bW1fZwp6SFBjQiVX
MiRCSmMoaUQ0dEhpX0tLck9pP1RyeGl2eTcoM1R3KExrK3YjYSRDNkVKdW0rNGp5fUVVNlZTRlhn
NSQKejspS1V6a3NoRD1GT3AhbHNSMmFLTSgobXJBe1Q1OzkmI219NGdkSk1AK00qdF9oMVFLWVRM
X2ZDbF9fbWkqb0xNCnpNP31YZXUoX1pWUWRXIyFVI1MjYDtQfmBXKno1biRQSThvI25vQEBQQzwj
VShNbnBtVyMxTS1fZ2NvQU5nU2l6MAp6bjdRNnNuY0FoU0UhcU9efDNybkRqKzJYeHYycDMtWXVL
fiFiMGllUHc5Q0dkMWpnSzF6ZE5mLWtCNk9YXl87eSoKem1SaHEqciVIKTRfTCY/N15sYHc0PHtA
UG52T0tyPmR7NDR0eENQWlNBaVBkNi1CbVpnQ1VZNUp7WWQ3Nj50XnF8CnpRU0RCeD9XZDROVUNp
JEgmeSRLTjZ5cUxIdFhjZWRKeDxQI3s2e0prclQtcSExVThoZGxmPD5wM3ZYflNTS05Zbgp6Wl8r
bG95I1M8cDx5K3FSVFgma3p7QTImWi16ISQ8dVFjTU0hfE9yfnIxfHdKQUdFKzU0SExoM0kjRUBs
bV9DflUKejxXZWthMnJkdnZFeUBtWE1ETHZxTStPfHhpd1BxYjs8QihvMykzPWkoSV5yKVozSTty
ZFVzYVQ8aj1BciZ4bDQyCnpVZX59XipxWX1EN3JDY3JZI0UtcmpUIV9aTUo0SUtWPDlFNWVBKFJL
aXxhR2tQNm95fDRVSDYtbUlZTTNSOTNRMwp6bVh2RTRWKnEoIVZxWkctXiM+MDE5I1h7YyomPkUj
PzFjR3FeNjB0QURiWV9weEojSEw0YFd+KDs9amlgQjRTSzEKel8leURIcEhFZmVtcntFSVo1eEhQ
RF9zaWolX1RXYHgrZzlrb3VgQWxePnA2MD9BcExLPihxVjVXNXkjcWJJOztaCnp0SVUmMEFvJWhM
NjN0YTslX1hfKj0pfGBEI0Z2ZU87Y1deYCk9RGcldUw8O3whdWR6am1VeUBiQFNqWl5NMy1TLQp6
WFAzMnlQakR6flQtIU02diF6K1RKaGk5cFNre3w0RiRTYDE/fUE3M3Q4PzBiQ2hgX19NYH0zO299
Tjd8Tyk/U2wKelNyQztwTlApcTY/Nl5od09EVCQ8SHFTckhZPzRObjZvdm4hclhhWH5jfGZeXk8t
K2dULSNAP1QjdiYwXkolfiR4CnpGWmpQRXpDRENMMkxrP18jWU92a1hBVzBhPWFrYHBlJj42akZY
cjNnVkJeOUVVKmxARnRXTTdeVEtCdzEmOCV5aQp6YyRqX1lib25kYlo2KHVsbSZAfjw9az9uK3g7
XyUkOE07Qm49KmNXbS15PXZhc2ZLTjxkUWVBSC1CWHRhdSEwZm4Kem96ckZgRVVwPmJVNFpGND8t
S3Y1aXw5IS0jZnU7TFFQYnl5RU49JU18STIpeXBuM2EyakQtb19CRTtGOyQhI0ZHCnpuLVNWO3o9
Qk0lTGdBSWtZfUQ0bTA8I0tCNyFsWDViOGlKdnJsYURxdkJxbG58TmRkSV5SJCV0ZUJvQUhReVdo
egp6TTItUkBYJmUxWXJeSGxoalgwd3MoTmNAVCVxZjZ0Z3BWZnNHa3hie0ombG1eMkg1VUElbXtT
OHUhSDdNOTckVl8KejAwRkEmQl4+QWAwdWROVFI5Z3ZOTnhaZSkyMyVmWUJ2N3p+elopVSgoR1c5
UlFQbGJObzBpT2U+cjBlVmg+T1NhCnopcW0tdWA4ejVOYFFhR3dZaWc5QClweHJ+K31vSjJAcjZe
JTxXI0pfUXZEaWZDd0VhaXcwbT5POVNAITMxTWJJXgp6Mk9ER2lyZE9Gel5DNX0hRjZjfX0jMmZ4
Zl81SiRodEsrQ19XKUZwRkt+eEdJcmxBbDA8WUFQOVM5ZXx8I3B9O2gKejJ4Zk9fMC14Oz5rdno+
e0s2UFJgMTY3WEVPOWcyIVVyVyV8dnVFN0RKKiFzZWVrV35jLSpmM01YTnJsWWBGRnRVCnpVRjJh
ZmxPJU5tY01mZ054NUowUjk/cTJ2cCs1N31XfmV1ZyREc1RecHZNNURebHZpRTtRNlAqe15yYUV7
SHZwZgp6VX52c3dGfk45I1hlYXJLdHRkS1olPGo0PE0yaG1hcnp4cCExbVl2bSZ6ZmMmSkRQIVRr
QVJDNk9uJEAkZU0qTnEKelh3cGJ1Tl9FczQ/PUQrKjVJelI8UTh9NUMyPC1zeiFUbGxfYTNxTUMx
KU5fQ1hzaHA0IWZxfUB6PnFUQD9XdiF9Cno8RiFtMXgoN0xQUn1zNTBaUV43fDUlPFpOI29keUQl
fmdMc3NSYTR1Q15iK0VzZC0rejI1TjxXSE45Kzx6cjI1PAp6bCZzYlY7czhWNnpnYy1rPWoxMiR4
NjIxKmZvOVF0NVU+fEgtZGtNTWZycUNPMk4/cTk1RitxKnleUjVaeDNLdDMKelM+MCMrb0huTlAz
V3g4PG9qdXFQXkdvb1ZPK2JYa1BjJnYpajNHPXp0UWxYcSFmQCVGQU1eJVh5SF4pMmArZXlPCnoh
ZUUrUHtTRj05bFMjUih4U3cjNHZ3MiFvMW5VbUc9e18yYlNvODxRNl4qTDhoT3A9T1B2PkVjSHtO
QG1TeEx7eQp6OyZlRnl1OytXPWhpa2IzJXE/dEwqdmVfUmZEdXA/SHhPUy13e0ghT2lBVXo9P3x4
RE1jKmRuNUxjN2RrSX5ndDEKejdjSTJvZkBUYiNuQSFoaz5CODZscXVhc3F6NnU4Tlg5KDJgcCM0
TlI4JUlTaDghcEYySz84MjM+I3VvcztMSmd3CnpVfHpgP3F6bzclcDQ9YDQ2QSRfJldkK3VnJkYp
cG1FS3lmOUkmRjkpODBvOUxxVXAtV0YlK1hKVD9sQk95SEcoKgp6SGExcEtTfmdiaDFKPl5wUW5X
bzd1SiFVUUU7ODJMKmF4XjFgS1F8PDg9JEdWODw9Y0o7fWVyemthZShHYHB1d0UKeioqVm0mRDs0
e3Vpcnljdyg+ckBwMihZbm1va2ZuQlBIVHwySEB1JHAyMENSOCN1elNHdk1aYE1nWTVKY3lVa1Fs
CnpCeyk/TFQ/UGYkOUhIPjA9ekh2fXF+YEM3eXUmWWV1ajQ1ciZwdmRBY31nS0RTdX0/cXZndnsw
VndTPTEjY3l1awp6KE5uODJOKz9RTGdvSiMwPio8MFpaZlVlLWZ7Mjd9ZSRpRiNrPF9eblNtWXho
b2RjQmEpQmBAQT9qPGcwcVdlenUKejloKz85KFRLPlVveF50WnNlLUAtcTghVVQySmZJUmZGO2Ay
eGokWDhkNzhJKkdkUlZ5Y04pN0xhUks/WDJBRUN+CnpQJl89PiFMYDRoPUZvKUteLT0wTmhXbENH
SDRKODhhS21RKiolI3c5YTk9UkdHY1hvem9Da3VMbi1mc2F4RXF+IQp6NGs8VUM0IW1PSWJicD8t
LT9LITJqamU8NkkzMnpTSCVqMFYtQF5mVi1uIyp+Un14XzJxN2Q8WSlCQiE4Wj1BXkgKejtBUHJN
WCY8fjNJNCRteXRhWUQ+SzF0enFGeDBOSSlBX2wqMip6TUZ6MFE8ODd2OER0KjhqTiZOWU0/SVc3
TUVYCno3ND9GK1dMYTVeSmZHcDJtXilAOUImenxyZnlPVldOWFgjTUlhNDJLS2lnTF5ne1lpWiN3
K2tSWUJFJD8wfF9lUQp6d1RAT04+flh4VyMoZWZeP0FkQnJ7bFghaE54fmhYdXNHQ3ZSS2Q/PCQ2
aHVsKHhJNWdXcVF6O3J1SVluKnx1KyMKejNtUGRmd2Ukcnh3SVglOXhubnRoanFib0olOXB1Yj5C
SlZxVXJwPnV7WmNEez90eldiZ35GODlvU3BOZGpaMW10Cnp3ZmsjRSFJMU1ZQjJXb3tOTVg9I1Im
VzVRIyFAPipVc1leKz1efkNFV242ZEdoeWdZTUMwfCl1Q2deO2E0bkx4agp6WGBuO24rUGp3dz80
PHNKSU1URzd1WVFPYylyKyslJVdkTncmVnZVOzMkemxPbDExdWQ8PnY1MFk1WTNMSTsmLXwKekZU
WSZwSV9zISh4WFdzZEgjUXtgKyhBIXcwNkZZcW9wS303QzRKZFd0YT4+NV5vI3o9WmI/SGAhUUQy
WCohTEl0CnpxcSM3O2o0X1puRnkjfV51YkN6eFhWKSglQk5wP3Y5QElIfEFNNTtpPjBBPk80Yz44
SWlRK3xzRi0remllTTdXRwp6SVlhSC1XVztFRVAtZDJJM3k4YT04MGJ9PVE4JXwyYiVQbHVEYkVu
ME8qRl5EMnYxQyFUMk5gNEhSX2VrS3hKTXwKelo9bX1qS1lJRWVtdndjWmlzVmg+a3k1N0MkSiQo
PCl2KHV6YlIrXiVKQ3Amb3kldVRxR2RUKCNDdEhOVERnNypgCnowe1Mjd15NTzQ8MTlhJnlPRUdJ
NTVlRHJAPDBCPHU3NiFzRkBZMEJybkdzeDVNdmQoMEROSS1Td1V0dHdgQDhRPgp6ZSYldE1HO045
Wno7QzZAMmx9ZmR0LSQmVVYhSFkxQCM2TVc3KkVtclFfWHxQdSRJeT1VJWpTUXpLfHVRYnx1PTkK
eitxKnxpUTVUO2s8QFludiReOF5pSFpOZlBUIWVVPD9NWiRTPzhVKjhOZkd6PDd9PDA4eWBkZHJY
OXx9b204RXhqCnpGQXdIMlVoRWd4IUVFYmI4YENqUHJMRCVlcn54PU1ITSRlbUBzQDhGT09HK05p
NTYrSUlJb2ZOTkxjfHxwI001JAp6TEYpRVorNFJKKDlnfkp3OVhJTEc0SVhFQXRmcWNMQiVhODle
PjZnQVNXTlNJPU1xRWtTWmAkV0xNd1V2aDw3UGgKemB5MnpJKGZYZGZnaiMzVmpGSW8/Uk0jKFA/
ZXEyK2NIcFoxT1RfcTNvMWZ0cUNhLWN7UD1ibVNPeHx5PTAkXk5hCno8PEMjdmM8cmMmQ3lWN2A4
NHJCeTdhJG9+PmhpLTJHT1l4b0ZNMDJtOVE5dn1wei1ZNXptamMjd0laSDYzQFExeAp6JGBfOTZq
cTtgaUZvMCo/RHA/K002fGleeE95S0swUis3SHB4Wn5LezFrbSZARD9PeE1rTCs2VG1HKGdUMUE7
bmgKenhxQH04az94Tl5LdGR1Qk4+RXQqRzU3dmcrekUzM2k0SXQydSUkdWNsb2tZRXMpNT4lU0I3
eS1xYVRaWGJpNCo/CnpsQHw4UVFiQGI1PDJJNX5hN1p7Tmhlfk54M3QrTTNiMm16bGJoPm5mRXYo
QGR6N1pfTWxkOHRuZEleUklCT25ubgp6ancxRHJ5LTlnU3c3NHA/Q3ZfYmwjeF9JcHZedHU+QVgr
Mj55ZVdMcW9EbVElV3Q4UllhP0g0O2dhTUlWSn0kaV8KenNCZWEwbGxPcHJ7Mk44P2xiLVF9Jjwz
MDdWITROeEFAXyRCeHtUYERzT0lIR3hxMDZYeFFvcDAkbkFoMFE4PTlgCnpOVmY1TztpUFZ0RCVG
KFNLOUZVODNSO1dUVV9+PUx0fWx7MVl+d3RAd0M4KEc1TV47U0J8bCt4Wk82QDtOLTkmVQp6MDt3
byRkP2QqPUNYbmF8JmkwdSoqTTUzO2llPWA1O3B+MHFePV52Qj0qI0xAVTY+cyFOdXJRXk4+cDl0
KyplflQKenZvZHR1aDx3PG48QEd8eyRaP0JfPjh8eTdMVzxRKGpgNkU1O2l6RnVGIXg5R2twa1pT
WHF+bV8rQz90VEBWYiNSCnpeaWAhY0BwIV9TUmo+eFBSLUtpdFppfXdAUzRhaG49c1UmNihMOCt4
R31WTjNOZTskK2NnVj1BUEEzJCFkYz9fJQp6eVBzPn1Qb0VoX2MoeXZzMzgxbG9jSCFKYzhZIXB0
OyhWVDdfNmZHbGtPWF4/aSpYKzhxVng/M20yPnh2cWVJPj0KelN5bWBzU0Q8RGV7e3ohbm5xVVM1
WF5JOWY/Zkx+Yl4qam9DZjZtMC1kZT0oMzA/KzVBPnZgI315c2AmSGBkTTEtCnopenxjVUgleGNV
eSU7WE1uWVVuZElmMTlkSzFnbHtvfFpMT2k0JXR4TXNZPGNIJWRtIXlsSU9sN2NBe2RiOzAhZwp6
Xk92T2ROaj9XQDM4RDcpYUVGYjwqRkR6U2pWIW58ZF8zZDByTXcxQGFWYGtYcFohX1JId0Y4O3Zx
KDllend0KSMKensoXz5QUzA+Pn4rSlRhdWl4dTg5WStOJjBLQUVafCZhTCM7RGg7RXozSFdKJjxY
WUdUZ09tUVlNN3drciZKOWVzCnpjeyg0I016bk9UdC1eU0c9SDAqez1eeGFwJiU/X3JUb2k9K3Z9
cm55aDEtVGM9Nl5xXyo8RWdLPSpVaVdFVzEjcgp6RiFLfW0oJCUwI0B9Tihjcz5IcnteMj1yR193
Jk4tMDklUiprTCNBMjNrUUx7bVFrcitsWGZ1WDBaN0htXmM5Y0gKei1jbFlQZkZnUWpENntaKHVY
PyFwNHtreEZQTUUtNy0kZCRpZ154KDFIKkN+T3E8JTFaQWZuXktkVT1gYjt5dCRfCnpiekwhY1Ze
c0hPYHNjdClme1pXaTFJSVdzMm5IYVlCfD45bGZhPzg2cSp3fDJTPTIzKzRjQFcjb15JQlBaYjAp
fAp6PWdLO2A4XjVEWl5IVCkqNl9xJUR1Uj5IJUojJDtWJUd8RCsqbVY5QSNNMWM2QCQyd3lXM2Bs
QCVQJUdGb0p4RzcKenBDZHM9Xjd7ej1kQlM3UGw9PWxpYSVHKE1RaCQ8eE9AflI3JEtnR31wTWBU
SVAmPU8qcmQjZSZuQlVpVGlZUmg3CnpNRSF6O0t2WkEtKHdgLUtFPERLfmtydXE/em8qQD85Zjh2
fmk3IzMpZ0MkUTtAUGApPU5VQFokdz9rfShaK096JAp6JWx7bUJrJUIxN0drYUQ2I3taRjIpTUZA
ISF6N2dOLSpubll2P2pqNFVHZCVDJUN9MkQ2bHFiRSZuUG9MbmhnRj8KemlHTClUYnsyQmUpU1l1
TTlkbzBLWV4le149RVc+Z1h+eXJ3M2k9cTJpRTRyZmRtV3VvSSlpdDBjc31OZ21VOyM1Cnp3VHsl
JD9TTDBFWFpec1dGbjlJVTE/cit2JDlNbyVkYUt0bEpgSFdGOEFFS3Rrc1NlYkNyKXItKjFZNGNu
NiRYRgp6dXsjVHlKbmhqJWJMQStadEYtaVVyUmh8KFVERiFuNz1UWSgrLXtWI3tfYCtqU2M0eXBQ
TWVxZWNVYjdHP3Iraz8Kekd3RnUmXikjbjZ7fnd4SE5IMypCbWxZRlNzVmBoVkNWWVU+VG4mNmZq
VUNacDd+bS1hNW4wY2E9VVp9V0pUVFlxCnpNaDF5eGEqLTNDeTU/dnJFdkEzNm8/akBnQyF6R0xC
ZiM1R01QcnJ4PT9YQDlqfmEpTENncEdSem1pfGxwTG0+MQp6WWp5d1YzPW1jPj9PazBgTW1AaChZ
S1o/VEhQNlp+Knl3VXoqMT5GZXFlPW9sXk5rJklYQ2VeUG13elduLW9EKGsKekJoWHVEPlh6MkJD
fU9BTEh5MXZWej10WXlCRUcoaFFLen0+e0p+NXp6Um96PFdwcEI4cG9MT31ZMEY0aWE+K1dFCnpO
ZWBELXN7dzw2X2lnc35iNih+NXMhMGheWDNDNTtrTVVkOCZLKEN5UjZ1I3dMRmhMSCVGaXZlZjxs
bSNNQjV8dQp6PHg2KDh6OUQ9UnU2OHFQbFJGXnsla1ZtSlFZSTJBTnlaQXg9NlRLaT8/NEg0MU9I
fDxfKnMrQjFAckNvdXxHbXYKenhqPnc9UVhMbzxlN0wqZ2UqR15DRmtsTyFSaF93SG5wWEpqQ2N3
UE16Q3ViQl9IPG95Sk1ecEZTJFBAekl6UzI/CnpOM0IyfXtpQHAmT3hsajg/Vzg2TzBnTDZZTV9E
fWZ4QCVfYFklTT55aTJmQzVEcWZpSHA0IWYrUGI2SVhVaXdSKwp6P1kkKy0zLUxJR2lAPXV1N0op
MkgoMUB8XkZPXlpIUVV9PDsldSVUUHlmI3VLZTtzaX5IJGRKPWBRZVk0XkxWYGAKeiFvMX0mM3V2
bHQ7MWlORUdkZmpUTyhyXihvc0hTdU5TIThxZnJNZys4JEFGQGw4TUxlS3hhX2QrJTw5cS10a1BA
Cnp2PDhBcEIzP0h+U3ZWa0VhQHV3USM9VTRBSzUycXB1OyMmdDIpfF9eTWFiPXpLYSlqfnh+Nyor
ST8zIy16fDcpWQp6QmUzPGBpMVU0UWEqcno8aiYrXkJpM2xmbTEwLTV5OU08Ul51VFVnJDNOVW9V
P3VXWntfP0ZUN2AzSmFFRUFsPUIKemM/fGlAZlVDIyola2B8bldfck82VC1XaVA0K2UoczhHYDwz
YnpZR29DTlZ+TXlYbzZ3QmNHVlluY1MmTTJmcEBCCnpjK3FrPytoRHlzWSE8WWthdkFnI3JUd3sl
akp2QCFYTih5ejJGTDQjNjl7SEdvKSV8YT9edjNFQD9zT3ZOPV9KIwp6OUk0bWpZKSEpZGBiRWU0
VnFKRUkyOSZpJlFnOHdZOGBMa34xRHVmei1JRD05eW56RU1kSXNgYyl6M2hgWns1MkYKenQpRHlo
RnU1cHUhbVZDRitAJFo4b0VFaSUyRTQxUi1AcD9Sbyk7YGZqJEY7OSNXT0EkeEBIM205dWBUbUdW
ZUVjCnpJSC0jQVMpPF5fe3B6ZF8zWmVuYythJSVsSXBucHVlMyMjJS1NZT97TXx9Y3tfZDxTNzdW
Xkh4cmFSWVk9U19ueQp6VCZyanIhYTY4QHg0e3F7O2RgOFJqeF5se2s2RGg+ZmIkPDFNbkkzRUZU
UiFkU0F8SSVrI2skVVdxUTQ7PF90c3IKeiptSlQ4clZVe24tYHlwcSEra09kNiozdmc2N3JHcTho
OGYtMV91Z0JJP3ohIXJSKGEybFRSfHU2TGp3QCYmTHRkCno5SFFDVWhCa0twPXUoMVNzOTgjODF3
VTApaGpFVV5TU0IzTlM5bXV0JEZPYTFDPDJxU1lhYkFtN1k/JlBRVTg9aQp6K1paXnN1WTs7O0tG
R20oZlYtNTU+KGpAYyUmcj5FdztjS2s3fnZOVjUpPHUlaGImK3JaK3tLUyVZVXRII3IpQ0YKeiEz
eEdKNzdpM2EjSnc1NFUqVmZkbWk0X3ZkSlMyOzxwPk94cEM2fiRFb2JTeE8oc2c8Q3hWell7Sjxa
cEZvSUI9Cnome31FZUR3YCQ7aTdJTz11YWJhYzx5JVdvKHtDZ0x2dDRJRkpadkg8QGdsT1RufUox
NUhaczMzTkpZd21nPURTZwp6T3c+SyZrOERlIVhMNXBsISQ4NDUma20mYDtkbk44VlI9QTllRm87
akViWUxqVGYyNz1OWUtRQmcjNGdQeChjVXUKenBkNl9YKmtFfHNLbnRTcSk+YF5kezIrYz1uTnxZ
TDtubDN3QnAwYXBNSVJYWFc2MWp3YXVCQkU8fD03VzAwcT9wCnpeISpFIzZzKFBfXypyN013RD9A
NzlzczBzXklAPGFJKTs8WUJIT0NZRndtfDE+VjRYP1ZZclE0UGsycHNkeGtvKgp6bjBAciReJWRI
azFDUjlCZ19OUDM7ciQ4UEQ2TEFSZHolakdUT3ZleFk3KUFzY3N2aEdzZXo/OEt8YiVhVjdWS0cK
ekB+fm1zdG8oOSFGQ0Q+P1A4Xj54Q18oYmlNb2BZeDRNc1pzT25TRkF4VERRPSZHb0BAS0BmPSNL
QiRSeihwbGg0Cno1dWwrXjhVN0p3dj5Gd1hCVFZNUmI4cSs9XjB1SDEqO29VcGdPWms1KX1PWnM0
P0NqRTE0QFJiRDttWDcpfmthVQp6PSY+MElRZHMzJVBmK0RUeEkpOGt4U2F2QFZMJkhBMnZnJEIl
Ym4pSj4qcWhyIy0wd3czPk1FNVkrO3VSNlo2Q0cKekVZVCYyPmgldTZufT9mNm1Ma2R0WiN7TT8t
Wk1VYlNPekk0MS08SiFBdl4ldSlaem5rekw9eWt5YmstOTBEa1klCnpqVUxVY1VCPCh9NyotLU8j
PyM9SSE8YEBHYGFEMTdEcWc2MVZlb2ZNdCU/fHxzMTFUQ3k0QncoamhyV2RodUkxKwp6UG1pb00/
ZVhpSFExWkpgNHskQVpObSUrcTl8JDtHOEM9c3BYXiVaKzdCUm5NOEAmUEBlR2lgcW9JYm9AXlhC
fVgKeldqeHElY2hzQyg9Unw0NVFXIz0+O2IzQDRkJW5AaVJURUckdDBGXkFfX0FAMERDQGZ7aXFZ
K3J6V3pzM3l9Y1hZCnpGdndFQmxPWGlILUNnPWpMM1pATSNlbzdSPDBPUUFlKDRhQFUocUd+SDI1
UHxrPzYpOFE+am85UyV0NmklI25HXgp6Tlo3P2NMRVBgNyVza3JmJUo0clhXNWQ2M2Jpfj9+an52
T19UdjFmM0Z2aVZCeypQcDtWVCNBT2NMfFReb24lNncKeks4NFNmdjBuKXtFezhMRHArMW50QWg3
O0A2WXVxfjQyRlA4X0N0PURpPDw8VWVQYmNzMSghanpBPUZxaCRCa0xICnpfQX12OXs8cXZXNzdr
Vzg0ZiNlNWojT1pedUleS0VBKV5VblZUQUNIYntYPVNHU0NiMWpnSm1+Z1Y1fk1WdEohfAp6NXVE
K3RZcXQ0VjQ1S3xNSiNFY0FiVzlUZilmKEZAKVYjdk1iS3pqMVM2TikhcGFYXz8xVllxdHcpRCUj
dUFKTkYKelBxeH11KTRxc0V0LVhHOXMrITRXQSE2SmtQaDFvSE9zOCU1dy1PdWszWGJoYEBfVHBT
PGFfWmxeSzJXdEs0Q2UyCnplbkFAbURiMn1hKjwxe0phaUIxQVdIPCQzWip1Z3JkcUorIU1DTUkm
eVcoPnIjO3ReTXp3YVNabH4kV3QwUntSRwp6P0YofGNwWj47U05sZ29Dd35MYWZqbEhwWWN8VmJS
b3MtYUI0bCs7dSh+MmhMVz17Vjs8QXdyJTFrcENsSmNCb1AKekZNbiFAWVZBYERwOU91QSteQ1dC
aHwlQE9nIVZuJEZUb0l7QGYmTmMhdj1Wail8MShCJT4zRXJIK3ljdF9tKH5eCnpsaUE1fj0zZEVO
cntsUj9JblEpazQkQnpYX30oNyVUZ3IoYmpIaF8+QnB+MlBjRTtpNzUtMSkta0FsRW4jZ2lMfQp6
VjsqdEM+Z01iQylpeyYrPmBifkwmKE0oWWxobz9fX0VqRi0/TV9OJkctbkhzVXA8eFRoSX1uUk94
JXRUO1pCMiYKelUkMzN1PSQkVH5OPmZ5azU5TFBmZHE3cVU/S01rT1BnLXZEV1l0IyFTVm02anhR
SXBmMEBpKSo0YChvPlVUVjt9CnpqOS04NGY7eH5vTEJjS0FyUFk+S0slJHVPJWY8LT5LSCoyRE45
fittO1JBKShKZVBlfDs8Wj9xWFN6d3I3JT8hewp6UzwwWU9Lfm5VWEkqYVZNa1NDdU85TlpQSFdj
MmNJP00+UlYqd21vLT4leCNrZUA+RDY7OW9HUnVFbkNyOWlCZ1AKej5PTENZZHBwZGRGMn5lZUtZ
ay1pYnU4dU08bkg8YndZP0w+QmlfOUN4P3M5aE53TlE+bDFBWXdpUyE/cEdAc31OCnpVeXleSkoj
NTV2IXUhSyg1TFRVUCtUNlcpI21NbSlzXih9akI7OWNvYHxsUSZhfUhubmhxdE5iMV5XTExPODFH
aQp6JjxqPjwoUD5nNXdaRWg7UzBzdlRsYXhQYyoqWVBwVFIlMz9PZGtKU1leSXEpKWB2PVpkZEtV
JUVqazg2S1BocG4Kej8hP1lEdU81YD5PYnMlaHR4TTlfY2tMSEQ8b2N9bk5hOylDXz5JYUdia2Nu
NExqTGtjdXkleVchbkc1WVVfIzNICnpsRCpvdCN7ayRmbkpSVj8/bUhaP29KdikzPUhjdVJFK2p2
a3gyP0dRP1c7fHIqdDtoYzt+UnhgbWtBI3YzeyE+TAp6XnVPNF9oTHtCUl55bG1naj9UYSlhVlpq
RDIxfnA/SipmfjhwI052Vk5JNXBkKThiTncmPFc9Nj9IfH55Jig3VWoKekwqWnFOXmFXJjIlV2Ym
VktxYGsxSGkmZS1mbUR3N2JkMnkjY1ZUT35QWWhraEpKZygxODFseEsrY3FiQiU4enYyCnpTUFh8
QmRjMEA5TjE9Q2hXSnQ/cC08aGJMPTNeI1gkYnVjTGY0SFRtenZXTnw8X3hOallLUENWSipNQEhs
WnN4NAp6Jl87PHMlKWJeJm18JUpKdVJNMWh7eW1DUHl5X0BIcVA+KWIqMVM+VyVHU0VASUslU01W
I3wlNjt8Un5Ub2x+YVcKentuIXokZTtAeHNhUW15NDA0SVdHJlc0eVN0SVJEVDtpSyNIVTRSe3di
SlJ6OzY2U2MzUWpRczEkUktIYXBgI3dOCnpOM1ZRcjJQUCpPTFNfYWxESXBHJmQ5a0Q+Yz9iaDAq
VUR2Y2JKQi1YUHlidjkrZ1lNcVQkSkJHLU8rKU9YZHdOTQp6aHtFO2JMezgtcG1EfV56RDQ+PzNg
Q25CPWlSZ359IWdxQ2lvZDVzKSZPN2B+UmlzdDt7SnAqbHREb2RrREd2bDIKelhXdTJjNyowUiF8
Sm9iVWAoOUZKO3stSSspbX5XKXRTXj5kK1YqMU0mMnFZciVoO2dyZkUxQTB3dDVtLW89PV8yCno+
cHU+ZDw3VjdGWms9YXVVUDUwK2VaMHE8UCk9N198TFpPKHd5UTRGczMhVUwkUzgmRm1SLWNqeVc9
bT83Zk1Xbgp6NHQxQEU3Z30rPW9mTEN7QDVpJjdXSk9MfENoSXw/WkxiSGJpWjErNnR4YHBrOSNW
cEVqOE8lfFN1KkZib0ZKWkcKenZvNnxoRkM8Jllud1d3KnJEaU9fVUxFOWVmNDRBbEpEMXp0e0F5
fHNYM1N7WDFqRFYkUTczMi1LP1BeQSNeM3xYCnpiVWN4eGx1X2h9THxsdX0lPG9JYnordkV1VlRG
T29pfU9mWkVfYCFjWTw0NH0hcGMyeSMtVXtjWlNwWD95MypiRwp6OD9lRCZUdTxTciR4YHNWQGF4
c0JBaUR4QlNwUWdPNT1NcGNkVCFaKjVVM3MyNFJFbiZ6SWghREQ9YSRGVCFYZDkKenVOfDF3SDNt
QzheeVZQazRoKHw4SitCU0hsO0JzQnhWQTVSJERNOHNIP150diFBZW9abntSPEhmJiR7cXhgQiRe
Cnp3aXVmQWg4OEJTZkJgWl89PVo7P3J8MGxKVnNwc3U/dG1paXVlYWNHanV3ZEQwTXFNc0k4QF57
NTJufH5FU1p4SAp6RH1PfHJmY1lKTVpZVGBpdk11MlVEfUFVSyUwRT5xIXNKMUwhMTVNej5XIWox
Jn5vVUtMb1kqfEx2SDR4RkIjK00KejQ7JXB5TnwmVyRgWXZFR3RUdFFKRWE0SHtnZnF0bkNmcVZu
MTZQSiFEfEVNZmx3elJ1WlZzbC1zOCh9bDsqPDdfCno+LUhpaiRCTnZQeVF8XlZ7Rms9JTBMb3Qk
cyFUQlFIe1VxRWZvNilBcDtIMUNYN0l+WlM7NHJLNiU3NEJnKUFfYgp6TH1waDhuVm1vJDAodSVh
Yzc3Qk1Uak1MN1VzZ0QhRHd6ezM0RlF+bk8oYSM3RHpXdEQ4Jmswdm1hXjg/YmlJUVMKejQoRlRl
bFB7TlZxVHk4YG5VKlQmTGB6PlBPaGA+NG1qQ2hSYGRnekpCOE04WDglOSF9NHE4JjNnKFNQS157
K19XCnojYjFrZXlFX0V+Xzh8dDVjak4xSnFOZjVvP1hWa0B1bERzPXolPG1aLTVPfXJecz9mQzx6
RDhvZ2J7Uz9fKUNTcwp6UnB4PW4zMFRFPj5MPSZrXmFedH1PWH5TdGVxRFVJYEEhOSZJb0crdkpX
bSh5TmN4KWk7WS0wREQtT1kodnduY1IKekxMOSFycjNITUY7bno5PTNSOXxBTSN5JDBUQVBxdDYt
T1ZUT1laaTV1clAqMCZ7VTxONiheRWhhT1JTOT9ZXiopCnpgR3V2NUg7Wm0jNSlOd1M1eE1KWnIk
S01yY0tBSFM8NjRlVUdQYzhLRzBEV2ooMWMwKCVnT1NEPWpqbn0jfGBLPwp6SntodVB1K3tLWXJ1
Mk1kPypTT3MzTUBCTERUK3MrdTVWNH4lS2RSOHs5K3NXUEkrJHNnRzVATWRpWGQ3Nz1vdWwKekgo
LU5SWG1FZCZRSUtEZUxhY3hOKWJzeCU/PD41alNvXmw2S3xzMWhMUDl7Z3I5bzFaNX5XKkdJdXd2
Yk48eVRoCnpxKWB4JVpscCEyTz9NKzgtUUN8a1Y0aTJhZjVFcEY9ZDhVQFhWMEc1R3hOS3oxVDxF
UXo2VUQ9Vml+XktLTXVvPgp6ZUMkNGFIcmE4O1o5TzR+XzMjTDA/Y1IlRWQrWFZjWVF8JENQRVUx
fmZKT2VyQjRgbSg+QEN7TXE2U3ZCU1dtdE4KenFrJSs9VUhVUSp2bVJNPiRmbGkkZFVmO3t3V2o+
dGpHQHZVQktFZWJFe0h3Q0g1TzFJdiYrJFk3PHQkKGE8VXx9CnojdE1ZMHM8Jj9gQig4TDQjUmVM
dWxoOHM9OFpASTtsUHt6USRrKUVHZCkwJlZgWCN0KG9eYzBkVUt2eWxLa3NHPwp6Ukl7R3I+R0A0
RGMwUnoqalh3K2FOY309ektPZ1YkP3AzbT1FeVlRaUo2SV87ZikjfVRAdHUyPlFqX3M4a0BkNG8K
enlzSyFJZnQmdFJmRGMjbzJMZmlLRmBVMzdYKi0zU2toJmB8Y1dlI24tWTFpJVNlbWoqUUo2XndI
eTc3YzBveiFWCnpjKUtVfFhKKHc+bXJ4dCgxdiRjNChDKE1zOEw8WV5eRHUhUzFPcXJST0RFMGtF
TXB6amxLV0NBPmpHODMtfHxhbwp6WS1SdkohanopakF9Ml9aLXA+Zy1oKzBnTmRgNHFSbSNaSE1E
LXZ9e09RKEMtY0xvVmklUndIYW84SyRwcFhBKUcKelFLQ28+Y2toeyZ1OE9IUkB7TXZqcEdoPX5U
ZnZka3VrVFE0Znc9cCM2O1FzXk9qNEliOEZ3KGVlWiFXRikxPCNCCnoxLTY1Z0MofVhFc3MjKko3
IyYqbkZ6eU5ZalhFK3loVGE8SVVBb1pFbFVOPHA+VH1Wbj1jX0JhcGpVRDg5SjNzUwp6dis2Nzc4
eVZGLSktenN9YjFUfjJ1QndaMzgmfilCUX1ZSDtMZ2JNVy1IUkxybEowaGJ1O0x5K1lvVCtgTHVv
QiQKej1mTzBhQ3dKSzdMYjVSbXBAaz1mVkF7Wn1JdHsmSEZjcyhIRkF3QjJoPDdFWDRlPCRRNWF5
ekFLNyN4Tj1SeUUmCnopUz1WOWJ5ZFgyMl97Qi1pTGclPUlmRndqYiUwdXRsejl9PEchRnZSSClC
Y0dzLTs4OC0zZndQKnR1fF8kWTU4QQp6OD8qc1VMMlR8UG84UUs1Pyk0Wn1IeGRrbjZnUzlkRUc2
Vld5PipeR21VRzs9RzNDejJXTldyS24zb2hmMD81NDIKelhKUDM7T2F7c2lIZ05gV1dJRkRSRWJS
amM3fmVedyRqTTdtLSMmakYqUnhHZFM/JjlKWl5AYVZRZH5EPSM3MEVsCnoyJEl7dXV3c2xHY2Uo
fkdsT0xxKV5pajhHejJTOUBGP3hVd2NPNTVeP0dGMjAxPkxrOGlLSFghcH1JPXZPdVp0PQp6N3tw
VV56K1pUKDQ7cnJhPU9kcCN4VVhePzthNzV4ZW9vTXkqZDl1WTh2PFUzKD1Db3AzYmM0TDU3eHt0
NiE7NSgKemlZWF5HO3BjT3UxTGR1cWVCV1lgUWNnKCVecmo0ZkY/PyRoLSp8cl45ezNkWlczd0V7
IUctR310ZSYpZUZ1eG0wCnpiI301d2FPJG98N2k9MnJnN31nfEpTc0xWXigxMClLaiRkPUBIRHdT
WEEzYUJnSCsoO1QzRlNpdDE3SWFBUF56RQp6MXVsPjVCY2smcDsoKGRgR2pMenFGV2ktZVIjcWRE
JHQoITdBYmk+OHlsLWQwP097UTImb19+dnJAbE44NiFsQ2YKenQjdVp9NG9WTytUbkVsamhNQVk8
Izc1IzNWbERTaF85OHd6bkdfVDZsUyNjPHVVWiNRSXVzMlBVdCp3bSZ3NWBgCnpqZFhhfT1pQG8o
fEheMyR6NlRffTRkOSVyR2g5VkZmPnh4b0Q3NFEmO15fT3NHYDtXTm4/dz9kSHh5WElqSkZpRgp6
bnFPcXhTbj4+dUlxMmllKGlLdlU+SzYlalJyMU5DYjk9OUlaJDhBPHJiYFV2QFArND5FQT1KSkxU
VFNqIyolVHgKelNgMUJZNTE+dng3MXh+TnViLUUyR1FLNGo3d0t2X0VPM2Zvd1lhd2dzJG9TKWNh
OX1gX1NLZFQrbjE3emohP2A0Cno2X2FEKF5iTztPRl51ODt1OTN5ekNtcHt8Xj0waChkeVB1ZUQo
bkYoX09PfmVKSE97VEwtTTY9WTgyRWszdXJlYQp6JVRSNjEjbWFTbD17X3IwPGZ0bHdzd09aWmMw
UU03ZCEpQkRBSFZBdDJ8VkImUXJiQmR0N3N7TG5IPG17Q2BsZWgKejJySU9ueGZAMCQlX2o3cE17
SS1oZl5tREpzJk81fFRnKEcrTmUoZXs+dyN5IUU7bDtLcyUtOC1PaTEhTHFBViQ4CnpgM1lOTnlA
PkFGRyp7e1p3O2Q8RkJmVkkjNTQoM2pAQCg9M2R2N0BUdEJ6SSotJjMlVitvRXVncU9rM35oa21Z
UQp6NkxQVnBFejkmTGYwMWNkTmlZe2Rme1pDa2NzMj5SITx9SmJ7Qy0yOXlvWS1JQ303ZDc1Snom
fFNvT2ReMnBze0wKekFYbnZHcWMwTTVWNXo/NGx8Vmdwe1NSPmE2LTtKND1RKndzR3hSI2AjOFlj
dVM7V2YmNilCezRtY3h2WD0rSmA+Cno9a00jQDxAPHN2bXNmQklpWnxFT01vO1hHblh6KU0lQTA3
dDtwTkNSRWxaKzB1WGp0ZWlAd0xpPylsRXNXV1IwbQp6Ym5rWGNUREsjPGhxM2huOSthaEA9Yk5t
bm0hQT1gbXdLeyZXVEpDVXNmJk4+YFB3d2UtMzhefnZ1SktuUX5NKVUKelBLeHF5X0p7QHhTXj44
eHgzZjRpazM1R0NpVUR1LWA7RmBIRkRjM3V4PVZ1LT5BY1k/U1lFUTNkP0tuPEE0Nnx3CnpjJUp3
eW45LSptNTkzayFgfWJ0MClDbkhjTmtJb2hyfCRTcz5YQVUoOyojd3l2VU1ifi1fPiF9PGNWfGNM
ZC1WaAp6ZWtoXzstS01SJiEtfFl+RnhqbFp7cCNaV20qOUR0I3piNEgkUURPTTBTTVZhUXxpTWdh
fGBYZVR1cjxxc0IqOyYKenYhPktPLUJMJVgze1NjdjRIWm4zKlNmV0VQcyY0ejReOFh+SHRkYVol
UkNPYyN9clNEbWchUHFUb1UlMkFOeHtQCnpQP1Zgc0RgZml+U1FRQnJmRT12dWxZTjFOUFIyPjhw
aX5CYFp2Nlo2YiM4R2ZlR0ZLbi1DTnJ+UW9xa1ozZTt8Ngp6R0NeJX0zZiExO0pGWjZCeEt2VkA1
ZEZ4R1ljV351WkxtQn1OI3QjWihGYzhLbSg8SzVoZ2xFejR6K3U3bU1QVmwKem98flEpRikhdDU+
RiEoemo8QnV+R0UmQmM2SSRONzltbDl5JSswTHhpUjFMOGtOUm9SIW8oY34mQU5mZTZ3XlE+CnpF
fkxVPHF0ZFQ4PEw7LUZsYHc9UmJsQkdvY3VCK34qYDY3ZkthK1Y8V1I2Sm1zI0h3V2Y1eGFMMjBj
bHsjVz8zaAp6UmFeblNCfXtiZ3A+bEF3Wldvc0dISkM1OyRYN1ZgOG04TE1YWCpefUdjUkhJZD9L
VlJBO3hVcWZZfHY/dTB9fiMKemN4QzEoWSQlQXdkPE84dXsqIXB8bVZqZDFLY1JnRVBWdU5+b3Jr
ZyRQYk53JmB3eHw5TG8oUFlaMW5ac2VJM0R3CnpTMz8kUlQpZ1J+eHZGODR5aGxufkU1bWl0dmxW
SUQ/ZXlEM05ldGd5Jm0pKSZJOFcwUzRtKU9hS1hebj0+c0V3aQp6VmZgP2Urd1R6Qzk+JXlvVXZD
fTd1JHgjKGZCeUw+TFRtenZvVkhyaEdTQUQzSmR8b0k4Km5USzI5dXQrcFpEfVUKekpgSX0weW1M
V0lDTnNnMj03O2NQRX1lSUZgQ0hhOGs1c0E7IW5NY0sjeUpMIVYoQHFfKlleSj8hR1ltWGp7TFk7
CnprWmI4PStwRihUWDhJXmdUTG13ekhgc34yWEVHcFAlNSV9a3dGMGNHSCk1RlVlYyErMyh5WmFt
VDw1cTs2MmZLKAp6Q288VE90WU0+WDtGQjJrYEVxcH44KW1Qd2R2dWV4U0VORk9GckhJOXMtTEli
WmMwUEJFcmVEM1RxN3lBLVQqJmcKejc7bnFlfDEpVHp1YVZDVEo1b3hMSTtQOHdFaGhwaWFKTTNE
eEJQYGVeQUQlLVc/MFZgbz94UWQ+UnBlQFU3IWRWCnpWNk1td0BDZVdDLWRDQk1UdihTQEk9Nk5f
SCF5eFR4d2taNTJBJlBlP1lVcyNFemZCbVFrc3pxWGhOcmJKWDIlUgp6aTU/YTt5KVRjPSteJC0y
ej8he0skY2N5RzJhT2ZzMUA8NElTMUhma0UxRjlpOygwMmxsKCtOQFhSKSZNe3p0aTEKelFeJkol
PzM4eWk/dyg7enohRV94OFNRVFUhTmJtQHBHQ1BKc1ZLaShOI0NzLVNRMmA5Vz9zSHtZfFhCMXR4
ZFhgCnpMYDtGb1YhOWZjSS1lSzJYSShyfHVGN3N4QUlnVHp3RHgjJDd2RUBtNnxDRCFTPTFLOzRA
fFVHX25iSG4lZjliSgp6WFJnWCl4PmNRN3lTdFh5UmlEKE1iVmBtVns5fj92NEl+KjUlfGAzdk0o
OX47Nz9nSHJ2TjRffmgjJTBVWHYlS0sKemZNOzRXJTY8P21US2U2eGozWnRObFo/PS01KjMyQDIx
OUlkbVQjKVBOI2EjaFJRKH5WNjwxZmF5UHc4KkxgMTV0CnpfX3spVjtHSCg+SUkxa3JqcG88bW0+
TUcrelRfMDtEVzZDb3krcWk0Tj0mXjdAbDN5N0lsUTBtT1E8UzR7T1VMMQp6ZEhGKD04Oypwc1V0
O0dIKXg2WUpMYnJUTnVwfT9Xe0tXQ2tycj5aZ1omNHpvI3wyemBwMS16SzkwS1V1KHYtKHYKekZP
aClYfEwrR3xkNCQqUF9AOU0rRGI1P1g5LWlWPndGQFpxJnpyYDl0dnNiVlYpKyp6PTtERnI1RlBQ
VEEtVTlECnpLeEZPMyZtKjh4ZUpDZH1kNUxMWFF1ZmRRMGVEPVEoWFFLMXtgMDAhIUIoPGZFbkxp
enpxYih9SXR0e3NXfjNUTQp6bXNIP3ktTDR8VUFhbXBWQipLM2xPMGVXNzEmN08wSlVqUzVaPD5Z
SGVDNlk8KWItej17UEtrKkg4QDxCcmNuaHkKemNscWMwVUwxNihTdHQmcjk3SE9nTExrTj8mWm1w
fSM3Xz1GJmtzVzVvWD4haUB8d3VtV0BzYXo2Rz9VNDU5aXt7CnpEITEjYGZ4dUN9O35uMzRZMmYq
YCRUXjwtZSReeD5jUG9WXlFvRypiQmJyc0ghPl5RSWJNNndUeTcpTmI7aTQmVQp6NVAwcCYzUUYj
eTI3eCtqSjZIS0ZTVHBHUTAlNVpjKmFPeHZ6YDxGWFhYPjc5TU5kRFdJOTVBMjhtIWVSM1dsVlAK
eik0YGtfc1B0UHorNzMhRXRgUEUqNDNERD5QeHVMV2g9ZVglQSUhWWhoeXxUJkFmflNJYTZUI04p
enN3cT4wfjRECnpeV09qJWBgZE9kYi1LOWVWfUZzOG85YFRZP29DR3xvZnNaS2U8TyM9TEY+PT9w
Q0NaSWl1czFRYmNwSVJYdzw/UQp6KWIoJjFmflo9K284dEBiUzlKT1U3T2pAP2lWWXFKYTh4VkB7
SlFvJSVYdkJkKiVjNnpJU3NAJiVhMVVtdT03QXAKemU/diR6KWJPMHAhKH42Xk17MCElVz4qYlBi
JGxIY3pAeik7eHl+e0FFPmBsX2dDYjQ+N1R8O1E0NkN5Y1hQIU8pCnoxQDtYZld0KzNOdWFicHQw
QXNUREQ3Kkc1bC0jWFd7byl3fTg7M0xQe2BJdzdteGNGNVppWi1BVmJDZ3RmKVM9SAp6Jih8ZFYj
dWAqUCoofDx+XzUofWNEdCFEZ2prQn0kYkt3KSU8VmlAYVI0NiZ3Kj5kZSFUYnxfZjJ5cGx7MEhf
OV4KeisrfkhgQCNXRk1IPDdoKHhWLTV9cGZnK19eZDRkTGA0JiRlNFYyeFVCZSR1OG5ec09iaXRK
PnZfXkZuaWVvMWtuCnpjTCF1ZTNQSH1iYWhwblQqUjgoaHZHMz9YXmZpUSgyPWFpK2wxb3gtRSRL
UX45dHAwQWMkXk07Qm5aelkjb3xEXgp6KzYxKChXTz1ebUxAR1ZpVX1AKHk5MG5AbzgjXkZ7WmY7
S2E3NTk4bktwMk42ZG58fWtULTgxNWlSUmIzZUAwKCsKekF1bEchLUBJVjJAIWJ2fWJJMDV8Xz5q
V2xRMWUlTHd3bTN6JEp4QmNrdUFtfUMpS3Z2bGVTdFhHUVEzcmJ3NWEtCno4PWl4cVlpd1BmQ3h1
Yjg0XzBuRVljM1BwaUwkWiU2cSktVkcheT0tdFZaQXdtWmg+RT0ocGJZQENPQ1JoLSF2dAp6b0xy
SkQySV8tTDwkdGM2JiZzSXkqQ3xWXjVGNGtgQ3s5aEMpP0Zxd21tVTB7ZlBALSEydEVQQFU3PU87
QyFsSz0KejlqeE9xIVJtazAwZkdUfEMhRXFrYFAxbWJTJl9kV1U8cVFNP09DND5eeEIrJmtfSkB6
Tn5rRWF2eGVwPlJ9b3RLCno0VHU8PTFfQSVPVlRLclF0SlhMNT1JO0h7MEBNZ2hqZCZOblpWJio8
VmpHfURKJFFnSm19PkVzSnZuZWBhQHJXWgp6clZiTSFNTUVtJmBrV05iUnI8N3omb0s7UT8mcnNv
JDhNfE8zWkJqb0lzSGcjTXFkPSVONEBjSzRwNl8xazUjbl4KejVgazRlTnZ4amk+TSsyajhoSik3
QE9VUGlwNzg0RjlmZ0l1KHdyb25aK28xJCMpPCRBQmUlKj1wT09WfCYhaENQCnoqRjMqQz9nTmxG
R3NANWcoZkx8Vik0dE9uMTl2eUpuMEx+KGNodHduPSYrRS03ekJZQD5Ha0EoIVZqTCMmYTJedgp6
N34rSU48fFByTUx5a3N2YHlVVGpVIUxqU1VtJmRvNzFaVmxKP3d2T25ORVkpTCoqKzgkOzQjIz9k
KShLRlFtZTIKejRgSjRDRUFnWUxAVTAxVFhIczlYI1coUSNpPH5ZaHp8OXpkaXxpX314U35yX3hE
ezhxej4tOEpySD4tdSkkclNjCnp1U2cqWlo8Vip7KzF2b1Foa2paSiZ6M3JwUjQkMTRBdVMhVnlU
ODl7IVpTLSRkbXNyR1ZuU256YWlCaHtiTHRJVQp6NW9QPFc8ZVZxT2JONkQ4PUN3UWRGcCNCTSZR
fllUVT8jVi1kWCl6TztLcG9HYk5FOXpDYHxZcUkzQUJ3Z0s7czAKeiREUyNFUTk3Q3E2c3h6NUpY
ZGkyaitlTHh6TVNeckRGNztRUG1FPkVCPntZTGEhenA8T0FnNGcjZVlZcVl5OXtQCno5MEdFPTU+
eiRqNHxMKWFxWG9jTj1GVzBoKU4oN3tOcHJ4PyoxIUB8WU9jX3omR299UGkxNVAldTlwbTVqa2x+
dAp6dGtHSV91UjQ+YmFmZjZOMG5BN1VtVTtNfnNlNXxaNHZTYzczPWJYdj8tQWJ5SXJCdj5OTUU2
MVFtT21RRFEqeXUKejZmX2s8QD55Zmk7bFc/R3o3fVlDTVNubWFQTT1UVFQ1X0BXZWF8ZFpkRzx9
QHRVR2wyTUZjOChmaj1oY2tFYFooCnohUkVwblVSYTF5LSZBd2Rsd3diKFBKcWJ3IyVve3s8YjZt
VmtKUXdFKWpuSnlSZjZNdGw4UFZ1M3RYeytGJVVpTAp6PlBOJShjMn1xTE9udVApaDdzVyREZVhI
fEFANjBKe2RiOSQoMkJIKGRRemZDbVR6QWJoTFRuPTBCP2VVWlR1JDcKeihPb3YkYVh7VXEwdj84
ZWlvT15OKH1UNWxySERzLXgxV3ExdTdBOWVuZjdgTVhgKzNOPUJ0VCVPKT1kbUNIcXg3CnpecWcl
UEtZfTZ+NU0qSlRFWC1FX3JpcCtoRWNHbStpTUp5MEVGPiZ+dUFJS1hILXpGUlozSTBhSD5fd0NO
MDg4KQp6U1ZgWEpBdEM1RzttYilpX1hlX2FWJGVJWkpLTyt5QnhlbD8wWHNMT0wxMVFgREI5O3NL
YDhZV3hjWndyUT9TMWAKenlsbGdmb2xjYnU4cENXKzd9KWdaV144d3c+aUtkVndlPHRKPGlpaFZs
Rm1DentmdUtFbWA4YGFOTUlNMGRZOyVZCnpLY3lxejIqSn0oTk9KZ2Q0QnRKJUo5JTBhOVFtZiNq
aU8wdCM+ejVQa0Q/fEZKeFE9SkBVPGVSbmphN193T3c2UAp6RlEodzZBZn0pe1h8SlItSXlCelJE
fTJeYFUtfnA9YGlUXnBWPGBsamxMY2V0ZntSTXN3UmdeTDlUSn0mRGYpTDMKektnLWM/KXVpajBo
SWhtSFpUYXpYcT1Ial5ZVHE+UVA9Yj53SEFHYX1VTmNibDxVNWkxaGNlJFUtVDE1SnB1YT9sCnop
Tks5RCo4ektwYylyYyhQYSorN3tCVThrJkFsLU88ZCF9bkJkR1JWPysxWF5RdDFxOFAqWnJLbklY
anFiZk9Jcwp6X047KikrTkN0eCR0PC0reGR3MEsjam49alRjJVhaS1VzY3wlRnhuSG1+cCh6NkhY
Pks5ckVKXmYjbkN2eFNyKn4KelRUI1ZmJnVWIz5eYUltOU4rcXtqN0dxUztXbTlufUVSWSVFNyFA
KWlmIyEwaFUxbDNkTmpGVCprIzg+b25RViRGCnpkVG07VDxsKDhVWmZRcVQ9UDEwYjI/RlArNmkt
fjZOXnZaV2lCUzx0bDtCIyRKaF80aXZIPko7RSQlKXVtNkR1dQp6b2p9biVTYSspe2VIQnU9QVFG
ZDVydXM/YWFtQU5gaTk0TEZ6TzFLVHZ+cTZHTHRVOEczYV9fUW5QSWVfPn1vSzsKek1mQTlaZXg/
eTFXUSVVRU9XKjV1cWJ2XmcrWDNwfihEfSRFUEZ2fnhXKWY5UnNYTDBmenpGaXl7dzleMC1yUU8w
Cnp6bUR+cXsxb3NWMWVObFA/bXBYfDI7ZlA8Vy1kKSE0JmElaHV0Zjc3TWRYPVU8PEReNW1EcUwm
RVp5VSZAc0JyOwp6bipLdTFtbikhTmd+PVdzJTZPSE5XY1RWYUojbTNhZFdEV1kzWEFJamJoaklI
RzR0UG5eKDYoWEhGfjtXN0NnRisKelFgKzZzbCV2QyZvNlp5JHJ+TmkydG1TRE1qcFkmOUFwaDcq
YEArVmFjeyptI3BeK1FRY2c/PXEhWSNgXnIodGshCnpoKnJuY0F8OTUzK3BwRFZ6QFIyWVcxRkcq
ZCZlSm1tY1gyM0hWdkd3dG1vS0VzIUMzTko0UGRWO1VLVFdnZTRtNwp6aTFraW9MaFlmOU81I0J8
dVl2MHUzUno5K0stTSt3XjEmO3cpTmE5NmxLVVE8UmBgUF9VNiojZCtNOWBoZHwmSWQKenVQQWZm
Mk9EfGM0eU8ybnYzI0QxaDdeMTBZSkZHMG5NXiU8b0VsSVcoYnd5LWJ4YDxuNyVZUjdka15aJFoo
LW0zCnpzJFVvO0khQDQhXms9NXN4T1ArVjE8c01jdFVMZVgyPEBzTldee2RZeUBBTWRBYDhkTDxQ
ZW1oISRtOy0/QzhDOwp6V1JnLVpkbjF+Q3FAWih4WW01bm5rJXkpPDFiQUpGeEd2YFgyXmdacmxK
fjleQF9VeXsxP2NZKWBAalJTRzZlblkKel59cWh8PCFyeCY4YWQmfCVaaXVxcE1MPDZpeGFsVXJ+
O1Y3WiojY1VMeDhyRCtadiskZ2clSkZCKnFVWXlRaztkCnpWfHkqbFdmVWF7VyNgZD9QS0ZuPVJr
fDhLRlVScG9SfjN+P1FUP152PXNIRWkyZlBzSzZ3bkFocz0hTilETjZYJQp6XmdpPGpiPntmaVRw
USEkcTI0Q0g7RVUmVzgtUUJiKkstOHtAUzlXaUQ+KUxnaSFYZlckQzNgKU8mWXtkJG5YSVMKelJ3
KkExcnN0JkhQWF4zN1FiV0xUYUNmMyVRbDV6RDJCcCg8QiFqWjZkNFlGMld8RShOVDlwc0NtZ3le
V14jSUVQCnpTPz95MlAwQkZEeCRMKUswdX5DcyZWNV9XNj9kSjJ1IWAwZGpBVTh6Wng1P1VZS1Zu
YXNDPkpoWSUwNGhtJGlGNAp6LTJMKz9rPGhFZ3JSTmY1cyFSQ0JsQW5CJjlDcUNaQTdTY3ZeNCRI
LT4+S2dWVE17RERodHdLbk5IPXk/amVBP14KejB0R25uRUpXSD0taD1yNnQ+cTxkUUFrPUZSJX1p
fVFHMyolMmhVMW5UcWUjfHNGPUBnSDlgeC1UKCh0KFI9MElhCnpDI3pRcStneSFiUyg7YDBzKCVG
Q3NZdktEI0I1eHtEM3YtdTBJR0BiIzBpQCQoUjdgVnR6aERONmxlfGt2JVUqTAp6I2puKDNrSGBu
U2tTXz9iSUhFc0wxI2VebnMmeD45XztvJmgyZDE2JWNfeEdCUSQ+PTVTY0V2Xm92aGxHVDx2aygK
emoxWUhlNntBTEQ4UzNsUnBwaUZxQ2U5VDZ2XzJtaVhjNDVzQnxxKDU3e3l4SFdNancqPSpLUllH
IVNIZzM2eig2Cnordz9oKkZBeXFJV3l+ZCh8MjVSNiZrTGo4YGVySmAkIUZBKjhzJjBHU1IhPWMp
XnFVQGR5ODdYYztfYGRYYm9NTgp6d1Y2d3hlQkt3ZnthRlVSUV5NdlJ3SG1vQ21zMUcyKDE8JEN5
ekA3PXp+aVRlRGdtTSNrP3tsfmg3K0hpZ3x+TUEKekY7JiF5ZndTTE92T34wRitQJTxOWmFWfGRj
PyVUYHhVMjtuWT0tKF93MW9BYXlDaipHSE9UKDlmLVlQS09BNDhYCnpuMzBCJk4wNztCSmpvQShC
Pll7Z24rTVI9Rz1QUHxiZ01APXcpbUN6TUxOeV4jNHhZaVcjamFFN3o3V00jKEohUgp6Ulp3RUp1
bElofjtlfVRWVit8NHQoaWNKVyZofGY0U1JYYCVnP15gRkZfTGlqZj1aMV96SDV2O09IRllvcWly
UCYKeiY2JVdAaz0ybXp0dmw0Y0ZIUCokZXkxWndOZkA9WEFFWD5AblFqJVp2SHxmV2BjOFlwQ1BG
Yyh6NkZsZEs4Vm8jCnpVRUJuK0ctajQ1MUQrSz1VKThBMWtWVzJ1ZHVhbHVQc3JhVmh4RnZaZTV8
V1pxMmE1ZGRMZTZJKjRnTDNIUDUhawp6N1Z8K3E7V2BpJXFPT1kmVE41V3NkfF8mZkNWMzYxQTM/
cGA9c0loUSRtIzElblhZPm0qeXBkY15GRlFPZl9LIVQKelF4SFJuQ1VWcHIrUnolc3NCST5wV0hP
Szw2VD9APkNXREFAT0ZqOTRyKVhwXlJsUSFGb18/KnFAJEQ/NnZiPGtvCnpXNVNwPHgkQjBRIWZY
QXpiLWI1VEJmQlhae2hpbGFOZklmPnImczslQ0pEUXAycmc1VTgtcF8zSEd7Vi02I0hxPQp6KHdQ
azdZRGF8aSFAPUp9QmckQzZQMDEzN3p2ZEAoKUhMfHVoMUIyUWtie29YNiU5ZlcrTzB2R3JsX0wk
RVFwSFIKekk4RyppZy0mRTsmdHl2MUMqKH1rVVpaOCNMTXRyWnZtX2U0Z1E9NSlRLTUmU21teGZk
RVktOE5rcEs8QjtZdml0CnpWcilNYSNFSXBkVUdJZWc/dVNqd3A8OG1vaWtQez9YRD9SSiswRj9w
YDVQODlsNWBrZno1V34yJHVXVGsyelI2QAp6QXQ3fStlfk1AI1htZCF3LSYjN1pYR1UpZF5LR0U3
cCUwYXloU2FUTmtGKXNRS0NLNkRyTWFnMFktZFReMnNOO1kKenB+PEklQFF+Yj8yeH1ee193VHFk
ZjslI2hfUzMlRCRXbG1lbnlqTTlUNUkmbyl1U1FCa3pmPHthSz9NeDxaKVEmCnorTSRoMlFrdTBU
NUNBbz00SW90TGA/NFBINEUpPFpCSGojJW17LUpycilmSHZ5MkUqPXszfn4lRm0oJj5hc29GfAp6
RzJAeWdzQG9oU1hKa1d2c1Q3SSZZelUwMXtPdzxXVU0lPEtVOGxuNV5uNUModWE4TnpoSjVlO2JB
Sns+aStvLSQKem4tIVcwbGl8SX1VeFgmPC00azM4OV41ZypAKGY1YSVoPysmTGBpX3xGblRATm0k
VjwkeFYzM0x5IVl+WkVucjQ7CnpETUpmOXlWPjIyOThgeVRXbkpkSGdSI2FLckxIdEVWRiFJc2Rk
QHB5TzZAcUFzPFRMQk1Ce3o7OHQ8NkBra31IQwp6KSRWbmwmJEBPQ3RmYGo9dnV9SHVsVztQQ0Z8
ZUp8TSkmODA+V3lkNGNxYjhjbEhFYCprPl8qeEh0YUpOJG80U18KelpZRncoQzctaTw0fUJqTmpL
WDRAbGFnWjkjfkg+eyk4YWYpMFZWRjxhbSNFcDNGZztvLXhfJTNQJWYoYj1RYiZkCnpTZWZYXzs5
WCR7Nno1WCQmak5VWXV3aWNrYzxqakohMDxHeEcqYCokSSpzbiRWTjU5YURhN1luYzVZPnMtTlhR
YAp6Z2dzb35oWWpnYjI4S0FROHo0Sm1zUChYcnFNaEpra2VtSXtmQ3JPI159JEQ0R285UiRNc09z
fk9Pe3tMQUo9a3AKeiVHNjQhVGszbVMxKitzSSVLI1lYSGNkNHJrOEMrfVFZJFBaTjIlX05iU1FL
aVl1fFByM2FIN0xuUSstKEJlTyl3CnpgI0kzWEJXPH5xIyhKOXVJJjt6VExsQytoKzVeNCY2K0N6
fE53QjZZeUU5T1E1fFU0ZyQrfjNEVml2VXgxPkFHLQp6YShONk5NVmhWfGIhJmFTSiU2WiYtayVV
PWNANWswUnpfbipEbDFnfUpafm9ESkB9R2k0R2VEQXFQdE5uRiNZViQKeno3eTNCT34xM21fLVdW
S0g8M348PTRLJTQhUVUqfDY7TTsmMWJlTEZ6dWNwMXM9NXtTMmlYSGtmYXA1bE5oSmNrCno2d3t7
V1VUTXhyNX5CPjxYRnFzclpPSTBhLT0jNjkqZCs4S3VWfFo7aVk9S2ckRH16d1l9IXtXJD5uZ2Q4
R2l4IQp6WF9PcEM8fn57Kz1JR1p8e3tVRyszQC1RbDlVe2twOGwtWihKcDYlWmxlfGBZdio5WGdS
SnZTa0VlTjtxRHlLN2MKeklRWUtIITcwN0MrfiNpbDBZJndGanY3XmEhXzsqWmg0SHF4YXtSYEFe
dEJeJHVnQ00kNWJtREQyKTR8JDxzaDV1Cno0YElPVmY2ezIrcntyYFVONkh5K0Npe0U1Rn54KSVG
ckhFQTQ0VDlJSlFFKDg4ekxPd2M8dWdgRSY9Q2hBPlYhTQp6eWRIQj00Vy04ZWFPczJhZWV2QEU0
UFJJajtBeDszUXFSKSlTbUo5ZjxhfndvZW5uPiskXyZFSUxANURaWmZ4aGYKemJmeV9KS14/dEQq
dHxYbzl+YVYlMzY0aTFuUHhhY1Nwe01lPl51MGxMJEcpbEA9MXQhdVNKOSlfQmB3UW02LXN8CnpY
SV5YSyQ8XjEqZzRRRHZsNXt8fF92R1FuQ1V3UnQ5dm4mPStOeStgN0M3eXhoZkR9R2N+X2tgQDVs
Nz4wZEpkLQp6LSZNbDB6YkNvbVY8NzR4JTJeOCU8Tm9ffGcwMGl2UGJNTUNzZFRLcnQ7ejd5NzQm
OzEjUDwzPihPVX19RiE/YkwKenpiKXFXIXUxXzFeflokcm54dSpIVmx6bzhYcFJvd0AhM35lViFw
eUBVQDw1YCsrJE05QlVtWD1JWmAxe3ZsdCt9CnpBVUEoYUNuRX5VZU4reW1GcFk4PntybipjXjZF
SjRPZnxMayh5VVN4OHoqNHA2OyN2I2VTXzZzQ0YqclBJfkFiWgp6N3oxQXxwI1Z5eUk7QXItbnJK
NTNUa00wWjhwV0EqOE1DKFM/QjU+TWZZPHtYcmNFI1UqPyh0M1JvOUR8KDJpTHIKeno/JEcpKit4
Wmc2QX10KTRYO3J2eyR5TVpyQ0RQSmtkc1l4djFucndzY3FkUU94NFVHI00wdz92MTV3JEhLdHw8
CnpwcnxSKldeXilDMCFCRmJuKmYtVnA8XzUxITxaQlNAfj4lNzVvJE57P2ZiV2IwYjVfQitnXld3
dmo5PFhMfEs/OAp6eiY+P3QtKjMpRkREMTd1JiVAJTA2I0wkVXh+KTklTGhaWH1YY1pnPGw3TH1s
K0gkMnZNbE5jbG8oVWtMaSF0Pn0Kem52NWFQYS0mJjx4YDNnPjl+ZnxGO08wYl9DRmd0MWZgblBz
XjZTI2YyMDRUd0M+Y295alFLdks4bFNqP0dse31fCnpVeTFqfi15OUxOPj51fThePUdZRztoNE18
Sk04emc7TDRrdG1yK1E7N3l4IyZJYXBHeXowUmE0X3BFU2k5a3hOcwp6Zl9+fUBXTVdhS2B4VTs2
PjN7RWpCY2R6YFcmMiYlI3J3S2YzQztNU3J7TXtKUXFBKkMyWHF6eWp5ZnkwaGtEIUYKekl8UjFe
b09+Q3kkfWQtakxCXm9xbEA9ZmdoYVRweFFaeWZKQ3VgZ3FxMj9FX2Apb0ZRPEJwVEZrK25uIz51
PGBaCnooQVB2dDQ3fTdIKzIkZDU7VzlyaHRCdSpiSHclMn1zT18pU0BWRTRvQ0teRzh3WUtgKTJg
RTNuKCp1ZisxSEdgMAp6bXkhc01EdlJiVjZtIXBrKVI2b15YIWo5N01gYFh8b24rUmlpbml7YXkj
VDxPdlp8XkFYXkMqKGgwWUx+TyVOUTsKekkmSH5naSEzIWU+IWVvJCpIJVJEVERWbGNEMkFqP2BA
PWRhVzxWYUpUeFZ9YmxAUEReYStwYUFkV3xxNGAlK1FeCnphYjE4TCgzK2hkMUhrdGI9dkokRjZz
M2Jja09SMF5sfX0rYmF7N0pfd3NFcHY4MTJwPTZIITVxYFFOeUBNNnhqYQp6ZHlGP0Feb3N3JXlG
MS1jeWkoYXBARi1hMVNgMjh1SUF0Rn14RXUyciY9UmI1NmszZn13bU5JJnNsfkhfbEFJKjUKem47
TkBFWj0hWUdoY1NKWTNaKChBMzdxXjMwNDZfKUJFQ3h+RHxgYiQwYWxOMkZ0QWlQQjhOZEBmRDJE
fkZxRlAkCno7I2kmc2lZUXU1Nm05KFAyQjVZdVVFPnJiV14zUFkxdy1iP0hrZn5NUCZ0aGZQcClO
b1VBLVZxNEsme2Utezlqbwp6MG0tKj0qSGtCPDZiWU1ZVW1geXNUO2tDSk5WYWc1Q3lzWlFKYi1z
P1V4cSkhezw1VDJfNTlQTUdBK1YhLUFEfTMKendLPDhAOEdZMnwwN3hkVUxqQGg7bGg4X29eYyVL
Y2FEKyR3SGhEbVJmcjtXPFI/WnU8QXVkR3dzYHVIKihjPFg7CnpFVkJXZEwqZXolVHZZSzRsRk5L
V2xIQ0tBNWdaV1B7SXhFP180fnRAVkdTI0FPMHx4fE1udEw+NWw/NGtJLUI9Xgp6V0BkZ0o4YW08
QV9GamRAcnIpbmtMIUZ0M0IyZGQrYU9HIShWOU1kVm5BcElsIUAjIUUwUkFLN25SSztKWUxaRnYK
ejBGXitlakRCY3Y+KlpNWndvOStZVVM3YklHKnxhUWMrKEYqXyMmWnFDWmBDNGRZKCF1OGYrYWx5
N3ZKPEliV0hjCnpvMWJ4VnlrMEFrRkF1TXA/UzZYbno2ZFNlcVZTZGZYTjNgSnc9Sk1tKyRNb1VP
b3RDVExBMWJpKVRNd2F5UlVBRgp6U1grXy1EeEtjWGpaMCN4TU5PQ1F2czhSQmstM2dXdms7NGFR
VU0taVZ+UzE5YV9BUS1wQnNGeTtleSV5MyUpKGoKekJBPXc4RmtXTStUJWZZJTRTdVV9X3hNNGdB
bTA+fjZFTDw3JUJFaDNDViNQR2E/bTFFRj9iIzlmRE8xYzk7TXAxCnpIWVFPUjV2VmRyYnR5ZHJ7
Ymx6WkpNUnsoY0JlX0JBUno5Tzs0Y35hLUA9I0NHQ3c7XklfRTFvMHUwd1ZHNFlgUwp6e0BqdWV4
UldlP3E7QjB1NWpoYV5jOzg5al9IYEd2NXN+Jno3O3Q/WTMxeWYjMThETkFYbztCRHZDPTI5TTh5
K3oKem12OXstYWxYWl40KnEyKGxlVkFXPFR3bGhDdlZUeXtJWWs8TnpvSnV5c3tORHZ8OT1hZFBH
SSstc3AjIU8teW1hCnoxUX5eaHVjdVRUcyNAbTdXanxRQi18eml2YGc5ZmRuRlN7TFN3VE4wN0Vm
bnlGbmg4Xnt0VEQ2Z2d7bnJmfFo5YQp6SSZMNml1RT93ODt6R1J9VnJVQSszXmtofSo1eFM7YHgx
TzZyOVJyWkhuNio5S1h5VVpvYHt4N21FdlFAQHExXlYKej9YUyVWLVZmfV4kWGY9SlhgWDwtV2g8
Q1dkbyEremFONTs/JHV3eSpNUjtyd1hhY3FNNiZQMH5OIWFiWmFYZlJoCnpEdGRfQ3I+JDVPY1Qy
NitOTEtmLXcjeFhCVjZQR0Zydk9ybmkqNUFGZmBAdiY1UENHYnVgcnUzJGZuQEkpSTtfPAp6WlVf
KHJJP3hqJngmZjgrISktRWdLYSFZcSVlSj89az1GKSsoT3BnQyVoNmo5bCRfa2woPiV0enxHPmkj
NloyVkcKejsteVdhcXErIVBeS0JPfG9AISRiN3luOyQ3Z1pNeG9icyQpUXs9Ml4rR0lET3VDeWpQ
NHZnVTJxI1ZRa2F7Rzk1Cno9T3tuP3htNlhCcX5edkFPR0o/b0NkcCFNKy0/azlrMX07SCROK0NE
ZUE8bl9aZCFEXmAoIUthYU5ean1LS29UbQp6bl5idylyd1YkKEIrYkxEaCEzKztfSCFUa3VjdVhQ
Tk5fJChXdGk/SnszIWo/KCRJbEZWO1gyJXRwM2lGZGI2OHcKejx7THpreGxhJVZOUnQtcSYtfiFX
MmsjaDFzIV5QZmxuU2VTdzNZd3FsfjRsMTF8KCRKMWZgekEjKlpGIyUpN0JnCnptenVWRTZpY3Bj
ZExtcDRfI2gkaFpUOSpJbDJ4UVJDO1FwM0AkMnkzTz13dTxGO357Vj8qQFU3NlptSlF4JXl7Pwp6
eUEwaTlaSylOKGsyfCpPNEtuVmUwbUJhVyRPQ3pRZHI5M3kqUjZZPHl9XmlpQ2BRbUk1WV5VeGln
fn1OdjJBU1UKel9CXmJGSExmMXRAPDtvNlhZZEQ4Xk1fIzZSczBmTkJTOFhAZGkrfF5YTHFaQEw7
cyRORDNkJWI5fS15Wl9keCE2CnooK1RTQz8taTJoOEJfZE9uOGViV0BZRFIlckhLNF8mSUZQeGhA
JVZpSFUycTQ3UX0/P01ZJTdQWXpRQ0N3Qz4yYAp6NTNvKD9HLXx3Kl4za3JiVkt2YDU2TjluYnpu
RCVSWFh+XzY2X2tEcj0xc0NSRDZTPUljenspO1NefjEpTClENDMKejhrYXUwRmZPJk1zcGkxbFR6
aWw+eUpAdH5Yc29YMDsmWklSdFdTbip7d35IZ3tPXkk8NUtxc04raUxUKFQ0SjVSCnp2UEV9UEh7
RTcjeSlRKnw3KlFNRSMrZlp2QGB9WnxvdThoIXB7TXNpPUdKTlMqdVoyNHojLVlqMEZ6cllrUX1B
fgp6cGgoVnJFWjR+NjdYKGZLaGpoQlckfDJtRyNFcUB+Nj1nbWB7Pnl3V1pmYVQpQ3FjcUh2ZD4l
M3ImPyMpdHtLbjIKenZ6TTJmY2AwYGxSVSpKUCMpNzhuQHFVS2dwVCZ9JUlKSUlxPmdoUDU1N01k
eWNVeS0teEZhJUxZOT0pRT4hPzIkCnplc1pleHFUWFk7c3lScnZBKlRjQz1eJi1uRTRjc1gtdmht
WGJhRXVSJTVrNy0jfit+Yzt6cWE1MSNqdEN7fmBsVQp6JD9aUkVlPGh0KWdRWmlJTnklZnpLYUFQ
TWZiMi0rZz12NXBWMlAma0QhdUB+VCEtPkhDRCglJUNSZzRfMm5PJWMKenVGUVZuQy04PVEmVEJA
TFJKaHRwQTlAKntee0ZoRVFGXk09PElMVSh1KlpUQGF1dGtgdmNHXmNKdlVzX1ZHUHZ6Cno+NDU4
cnczNzJoeCNtcl9SM1hzcFJpK1B4YUImdUMpd290THAyd24leE8mc2k2TyQ5QnJOTDtRYjx7aktF
KUclewp6LWRvZ0t3diljX009K3xrb2pmdWNwJWR7eERUNGkmVC1pTT1YJWxKZEZrTFkpd3pjemEl
NHxge0RmKWQzbUo+d1YKejJ2YW1TIzZ0QmY+eU1zSkpuQkEtQlBzITRZVkdqVEo8dz9YKVZBWU8l
TmkmYEw/PikjMHxBUX0rI35+R1pHSyhDCno8Skc2emFvT1ZfcVRtZHNsak9LPSlWVF9EPjZifWE9
X31sX3ptKkFIIzlxNlZzMG1YKCE5emZrJHEjVjhIV0x6Sgp6T3prNCRrVigwMlhXWHpLTU08WD9g
S0EtflJKcn5JUHJraXllLXt0aipQO2RHZmJtOXZUViVUYW9FWWZKb3hvKG8KendgIW8mKGc/d2Fn
U2MkbnNvSGNJdmVrSStJI1A+Vl8jIyFBMkBCWjRpZGxEfjVEQHdjWSh9ay1vKCsoYS1YOVFFCnpV
cXdQR0w/I0YqZnxrZkBjSFhsLUhjP3M8dSUhPis0a3ozS1hlM31NUUR0UDlGbHgzZGZxcWBfcWE9
ZVA1MyVaSgp6aHwxNWpyeWBzbD9iVVNIKy1QRVRAN0NAVDI0VzRESUY0MjJGYTlLY0hedSMmQCtG
bysoYz5qYDYjfXRmcjMkb1oKeiFJeWEmcEctWkJRT3cjdHVYPnR+PiV7SzBuMHAtMmJ0MGJiTFZ6
NzhyIXpAajw9WD58ZnlZSkJgekhmZyUxM0lrCnpOOEhEKiVII3phUEhVKzJ2OXVzP3J7dFNtM3hE
M3M/XjhBWTU+bVdOMi01S0xpIUhISCM9c3BtT0FDTDshTERkWgp6LTZxVHVmPGByYyhFVn1eRi1a
TDAtQzwmMypLKWlEO2AlIT17TGh7T0xvYW0kSysrYiEhVD1YOW1gZTMzcHhDSiUKemkza3pEMXc+
QlhkNXxQclpFKGY7N0xvX1o+aj9EJm5UM0E4emAlcnVwZF5KRWJqbEF6ZDBAUFUkWWx0djJBejUy
CnpESWhFc2ElMWJTamE4Nks5KXE7enRMNHRxOW07dmgqYW1nIXpRPEd0USY3fXl7a01LWkJNS0kl
O2FzaUVEIzJxQwp6JXpSXlIhRD1MWlFUKClwUF92fW85alZkRmpJMD9tezFQblorMEIkczBsaSsh
THJgamVYaEIwOWRTcikwb01qU0MKelFxSTJkYzR3N0h0QSp0OElTXkFePDF9dFoxLVpvU20+PDtL
TFAyMHMtYFAkbDgxQzQ/OTM/LS1Ta0REb1UqU0FkCnpnMH1LPDY/WFNpbW8rekNtNEFRe2BNUG4o
SX0jfHBZSklZUWNTQGwxbmklOG4wYnJWbnoybGJfME9VfUpfNkJ2YQp6LTt3OD0hJmw5ZjNNUiRA
VDlCJTFqIz5fOV4oWWlPSk1fK29LSHxldE81I2QpWl9kQVh0cEo/NFo4ekRBRDJXQj0KemQqfitz
R05fX2ZaaihhRmFOd0N7QXB9NnxzNExJT1pieHFWWmZ3JDxZUSs7cUkhbEVwdHBGWj44IXx7ST9H
Qmx5CnopZWMkcFZhP0ZLTl83S2VQRHFodyFmcj9ETVhle254U2pNfCVJZlh1PkFualM/SFgpYkw3
UUgrJERucSQwa0dEQgp6QndfXjlVJXV+eFZCKD1yJVlyNkMwOHNpPSZMP0l2QjJ5aSp4JWxYUHBf
RSptZDl8V0ltO3xiWnpuQj0pUntAY0cKejt0ZF5RP15qJkMhZWQwYSVEfXd6SlVwUlJkRU10Uj1P
SkNKQHdqZ0doekJxPHA8ZlctaXY0JnAxKHxMakEmISlfCnolT3N7Yz9JTWxKO153fGlxekJJVjwj
Rnh3TE99NWdWeVNIUUFZeXkqNnM9Wi1jeGxIVUIrRkgrO1FtMjY3TFhCXwp6STdEc1c/a1omeUZr
aEdDdnhZTXJhTW5eKlR2N1V0dytKfEQjKld+JVRpeT43UEBuMFEtSHg9SzEjOCVBeih8dEEKenM2
Tlo+dkBzPFFzQnoyY14qKGYzM35Ifj5JOHg4RE8+WHpkKChZIWYjQjhfRDNBNTdeJE5xVEMrPlNo
NSh9Plh4Cno5QGdgSyZ3WXYtUj9tUEhvZyl6dzB3QnM1Jkloa0kmeStacTNQR1klVkdyRm1HdkdL
S3J+OCE8TVJRTWk2flJVOAp6dipQWEVASE4oVHBOc2dYOz5YbkN7bFo0ME5xZEtORDhrcWlmVFBI
VjFsV1EteVVuZSY3Iz4/S2x7RXlOeW9idT8KekFkN3lKVUQtekQlWXItTE1tYyZIZTE1SE4+eUdG
KXFWLVJfRTJrZDU0Qlo4cyh6PXlNZX5WSlVDYSpOZV9hP0NfCnpwR0g8aTR0RyRXQ21FS3cqJnY1
I2drcDRxRDliUUcrKWp1Xnl4bDRKcjBBPHBhayp1UnJfbE15X0Y3PkhYdD9xTgp6JV90UzVzJj84
JT4tNTRvV185RFFueD17MiVRWl9MRGh7bnpGMDw1OU5NJlJyJUBHVm5GeUB3MVgjcmBPRmxsN0UK
ekp+QXB7eU12O0ZqIWpEUzlVWWF6ayZKflNQPil3UD5QZDF2N19se2RiPXJxKFJKZVZqaitBQVEk
U3N9VihCJjROCnpoZXJSSVdUJTJXIU8wXyk8NENofWh7KDF8LVZUTmBIdVFAPjtUUS1oWTd9bTxl
b3ZZV2QqKVd1PUA+NHU0bT1Jawp6Y1l4PSgqUHF8QHN9TFNoKzI/MGVXR3Ixb3phRkRyeVcofkRV
bXFIdllve0BeKzc0PHZoVmItdUZVQTRrMXpqOCoKekhjYSRZd2FmbCVOTU9MX1RPN2BeZWo8KH5n
enBIaDItQ0cyLU55Vz4leUYrdl5VTGo0PVllRiopYXAqUlJ2c2pDCnpSPDJBdj57SVE0N01EN0Vr
biMoNSR9a2N2UkB+R1QjbF5GQTE3XmZIZis1OHYqJjtJUHoxTzsxaXJmQEJqOU1fUwp6RmUwPStS
JURsV2Q7bEV5KnBfYztLfEIqSWllWTJ+TCZTUVN7SWtXOXJHVDJHSj5SUVlhY3Y4Z3Z+Y05JRVU1
bTUKek9TTEhPcDU8T2sjaWckfVVjYGZJa2tAMVFkWjtOVVNAK25HVV91RDhmR1ZsO3t0RytuQUEh
OUxwYFo1e3pDVVRUCnpERTVWUVY/NDUhKT1hXyF1QD1MIUI+ejQjS3FkZyklKW83YkN+QGYmbWNR
JCthTCREPTBWT1ZkZyhrKl9BYTd+VAp6d0stZTJzRlN5OFdRQWhEcCYwV1BoazUtdl42czE4XklM
SX1yfUxiSWVUQWJOeWp3NF9WQT5+eSpDMF9va1ZoWEkKej1GKTc1eWUpNE5VLXl8UikhOUh8YmN9
QUcxZTI5fHRoe0UqTzZtVEppV3x7JnNVN3E4NEUqTitkXnFJeWUjJVNwCnp5dyg3LThLe35USEpY
bXR3YkVeQl49TH1SSVJHMF9tKS1DRkJMfUM+WjVDanJBRHoqZUBfbV9Fb3xnRTsobnpodQp6cUNK
JWU5TGI8cEFseShFU3lFKFB3TXUkRXBIITExSENuckhjclJMTSo8Ul41WE1LK35PUDh+Z3g5R1pZ
XjA1P04KemBBTDVgVX5YVyUtY1Z1Q3IoWFZCenU0Tll5WU1pSk0kTihOKmppcCZoLXVVY2hzXnhD
KWt3QG4pNTZ+MFZSRDY0Cnp4YU9vaSVnb19OaDc3YlZoc0trKHk4Nit+VzlAOVhIb2l8d1phN1ZP
dD83SyMybXdwX0dVZEckeShxZWFJJG1uPAp6dGNZfm50JkRMdmRTMGVid1FWaFZPZTc+P3JjKXdK
Uk1MNTViKUlefXozcDBid2deZ2tIK1FBX0UhYyNJWl5je1kKek0xKVhnXzVNK29pdFlvTjlKQmMt
WVlSTFVtI1dsTCNgNXQ5JSYhamtDeXkwfjZPTHthNStZSGpeY3pefCk8bShgCnozZWIhUGlLLVRS
PntyZ0Bldn0pWWszVjImc1ozcHBWYG50YWVLaWcyV215KlpOKG9ZYlJJWmcrVVhAejtsP28rfgp6
QHFTJTNtK30mP1R9Y1Eqd0d1JW50Vnp6JmBwK0tAMEpVdC1pd35fenp2andJO0ZJI0Q9dm1mUWE4
VHVfSzRDQD8KejMmUEUlWko8TF9FKCgtREYpODNFOzI0T2BTTUNCMjVNb3JxcTQ5S1cqVmE7bkd7
SC1eWlNsblQ5UkMxTWZ4OT1jCnoyPTFTRUd2KVBxMy1pUmpAaDA9enZVb3Nid08mMl48Y0RvPVl3
T0h1MDJJM1JWZHNPY0E5JUdWYkZBWVZraiEtQQp6TT54TlU/Z3pKI0NnOHojJGJEOHBaTTFEWWNw
ODskPGV0VGA4aiZQRVZ7KlJYRlg5cysmKEdreDZfSkVOSUZxcCUKej9DQDg3UXpUX3FxMnZPQF41
JVAqKV9iRzlyN3NuXyRFMnBPU0MoNFQhSmpSSiMxKj4/NnFrVjlQTFkwTyY1PlFuCnpJKkMxIVFC
fiVsbGxJSmlafT85bGtkRjI8YDlGdGVWM30kTWtleFQjUWZ0OTtmWCNlPkRhbHVsJU1sakc5cmdB
bQp6PUlFZFh7I3JnNTM7bSRjXmFYQnZxTDR1SGZmZ2A0ZFU/SmlUb251Xjx6QEt7I2hALVQtK2xx
NV5xaGA+KG1QcjsKenVHIVdLNHZLKXUwd0JBK29LQ35LWEhYU09lPGxnaGB6Vk48N0pvYVArQ0pF
dihQcE99a1F7aVArPCZPektfQFR2CnpqMHk0UVJMVjVzVG5ASDxEKTA/fU9neDxwc2lwIz8hSGdH
OSlqbUYpKHBCMU9OZzZEfF92Nn1LT2RKJiVBVz19Iwp6SEFiSjkhJSF3NGJ6UjNwWWUtJmJ3PVck
ODFzeS0pWHVacX04VnVZcyokWFctdFF2WmV7QHxHRl8oWU15el5FJF4Kelo2VFZMdXd+K2puUEl9
OT9PKjJAJD9KbzVLSUQyLWJ3VnJqXlF5LXtoMSg3ezlVPV87WXVkeUVhWGE2JU5Vbm88CnpiQ0JX
KjsqOCE+LV5ifHk+ZXJ9SGF4cDBAc0k8NVcjKjVNblhBcnRjMVVmO3lKKm11WVBYNHE7Tj5UPDQ3
ZFJ+VAp6dS1WTnZpeCNndmpSaz45NWNiRC1QQW0mYmspSUtCS1lhdj0ySlpxO3pBPVhWTmRwdzgp
NT44a1hTM2Fxa2EwbmcKemkkQlgzVUpGYFNqaTZJX2p6cG5LOU8raG0xQmU7KmYjdmhlP0lKdmct
NT4+K2NfVypASHdCRypQN3wrdW9WbD1iCnprX0xfVjN2TH1HbXk/NTQ8UW80VGtTeDxjTDRELWR4
Yk4/VDhJUkpuJkBFUkZnWGU4MWhpM1FMZy1TYl5ndEd6awp6YHlzSCVMRHtNcm48dDlWS251eSR7
KkkzbShwKms+Sm5hdnl4ITB4ZTduNUJhQHopR2xeTHZLZWIlVVRuMGE8ZG0Kek0jV080S0U8bV8l
QHY2PVA+aU9sTyMxYEd1TlorYGYleyspS3RSWiV3SUZwPjd9JSVYZkNve1ZlTjlvVkJVK0FVCnpt
P3BXfCZRZTQxMlNEZkt2RnhDNUZuQHA/OV9EPExCMFgqNU5wbU09eSUjd0xSSiU7Y0pOcUVsQ2dK
ZjlsU243eQp6UzIwLXp3YGlHeF5tZjJJJXEkb3lhdThINGBhJVh0NHQpMUoxeH18eFNIQVp8KTFw
OTlQaSF+b1k9XkZ2WllkQj4Kek0hMjBFaXJpNTtjQWA0fD9VaWdAMUtwYyt7elFJeVJJcDtLZWMk
Q3Ixe1N4UkE3MExvaGVyUklBKitHalRPcDl5CnptR3g8b2lsRTNOMTVrb0VvZl5jbEhHZUhGPEwk
PFkwY3p0aFNnaHFtTnFxYVdZRUwkVTAmTDFyUTxgYXVORWRzUQp6KCNASW1ueilnZyRaM1RrO0lR
KDBgK18/YWVnNyooPGZfTkMpSWNRcEd2MVMoRjBjTTJpc003STI9aXNQMz8yRzwKelZ6ayoxd2sw
aGc8dUh9b0E5WUlfLWw/K2V6WV5Qb0dJdzxRJjA7WWQtMjYjVyFPI0slWnJKKjtzY016VVN5VyEt
Cnp6Wn1UZForeGUzN3JZLURyeFo9QXo4Vm9GJXFNQGBPfU5Pant4azk+ZitpKCkmcjY2IWhyWmhF
LWhNUmo2Vjl0SQp6K2g+blpBaVIwZXFZQCZjYSRObFZGaCNnezU+T08mKj91aypRbWYhZTZkZjs1
X1hsZjhDVn1ATGBONyhaNml3Pi0KeldqS3F8QCh4WE8zWSpBd0pMbFE2eHo/eUBBYUEhWkAoVVh6
VXt2dHx0RDl+RHg3O1MqdEdAaTc5P2Z1azJ9V3JaCnowZzkmd3d4ZjY5en5EMkZBYlNMMkxgZ3RS
YEsqPUp5JFY9T1QxPiRRSUw4ZGdebSlePj5NPGtJckZyaS03UnNaXgp6UVBRISFAYXtGdE1lRDg9
aVFTX3pfU0NDaSFRN29pQXt1ISlWPz4rbjdNTHFDPCUjZWFHYld7OENpJWUjazIqQFAKeiNXOS07
ZjtFVnYqfStNTjV+Y0dWdWo9bCY7YGRXJHlUIVM9X2RyIWNIUGIrX0ReSWJzTDkjRWMpJS11KWNR
T3dBCnoyZ1NGem55NiVRVlh1TFAlRGchQ3dmckZQRShtcEZfP1JNSldAZHJ8a2o5WGN4UiZCaTl3
QE1xRlY1dXswWm10Zwp6YT8rWT1TfWltN055bDFUeXpoVn50SzBaYEQjTGlVPmt7S1VXTT1NazBY
Pk88S2hFJUIjSUgoWXM9fmlZQzhoekkKekpIOV5QTC1WMURXfHZPSSM2YT1eeVFha0lWWj9MYmd2
QCFEa3RoUER6ZkBTRWdtTys9MSY1PyZ7UGV1I197KFV5CnpZRDwpQ1F4XjZ4KlVUVzsoPz90TSt0
VUNHNUJsKmBoNFVrZmd8N0B4TDluM0xjfnFNeiZPOUR1KitfIz1WUU9XTwp6KmRkamprUjleYk1X
fSpUUSljcSNARTBfaSN7NHdZKno8K0okazk4Zik+Tmd7d0FBZjNpUDI+UWZIXmRSUD5fX1YKekBW
eSVwaDYjKHs4eCl6VldxMCR+V0phbz1mPUlSKEtmQH1haXo3TH0ofEp8R3o5a2c2czkhQ2wpZ0Nt
bHJaeVB8CnpVNXQ0dCpzdjtTJSolendKcFMpTW1gYEg0b3VvRiVeRXVkYXJxSGBlaFBmY3toPW83
K1V7SDRaViM8VHAzaFFacgp6cHV4a1A0M1B4a3Yxdn0waHZvaWs1NjcmYT0ldU90cnlAP2s+TjtU
dTt+d24kajZgXilAZnVOeU0jQlNLPmItVkUKelpZcFN5cUMtRlVOYnhONT9acWdpRnNZQ1JlSCty
LUdJdUw3LVF0fHhXQlM8O2hJc0FqLXNpcXUwbjZ1Xz9nbWRkCnpncl5BdWYycShqdV80RC08JCZr
Wj9NT09lR1VyeT9VQmNwN3FrLWBDJnk4fX0tRWskRGlAU3ZQb1lpSE8/UGBWewp6d1owNClxNFJQ
Q0JXazUrRmhkfUJSZGoqTTRFWFlfTWhYZTImN2xiJiFOOHBnZUA/cmE8eUp4c0smYU1FITJNZ1kK
elEjd3hkNk9eZ2h6VEY2QGoxSW5VZ1dIZHlMdX5oYlN6WVQ8dSk7JEt7fnFwdXRSUFR5ayg9Xzw/
UkA/dUBGZVBZCnpFVl9HVzVUeCNVSFZFZHNxV15RZzZJZCU+KiVvJlZIeW9GTENLU2BwSENWZ1Ji
RCNBd2szcHQ8K0YhUHp1R3tkPgp6RClkVVM2ekJldmxDc2VPTig5Z2NVTD9VZSZsey0xe0BmKWw9
Q356Vk5gIVBCMTZrSHohfF4zbSk1WWQ+QF59dUAKek1Eekc9cyQpQDFqMmZaM0gkfG5UOHxnKVdo
dnUwdj9YdTBncnNiU2JRMj9wczxwWVBiITx7NW8yNChsflF0a0I+CnpoYUdVIU5BXmJoQUdwJTdk
TkFzdk5CNmUhdmE3b0w/Zn56LSZYTD0jdzA+ez9nMHczZ2tQU2c7U0ZZPjR6S0pSbQp6VlNBeUdy
VFdlQUojUXAqKlo2TGJrUzRTWmpRMXV3VzhReUhnNUcwR1pRZklfQ0hneGVvXkxYWTNPaGUqNkh2
VmYKenRrZkNUYUx4cjBoPjF4V15LRHpeSjM0M29qKWRady00K2ZCemdOeyZLQjhxPktKTEE4eXVK
WTBwbTdCQHNaWiFkCnpOU3FpZSN0dU4kLXYzTm5tOV8/YDdgPjQ9Y0xKOFI5fihjcyN3a25LI2lx
dkFKZ1hSOFRVTztabEhkYElWNGh6Rwp6N0dCRylSZmlDUz1+YylzQGtoTUFaVU1qaTRDZT9XYllU
eXY1SnBvNDRVcFpFZUBCZVU2PzUmb3Z9O0kkO3s7IV8KekNtMEg9QEdQfU5yQyM0NElSYT1SUT1u
c2hXKUU0OVRIbnNeNm4/TjlFY0t+O2ooMm8tLWU8WjdIODBwPUd2UVc2CnppdlVHe0JPRFlmRGEz
LT5kSklqMndwNF50MUo2SDU/akRTPHlBeCRTO2Q/YCpScWh6JU4xamBJX1RzI3cwNjxXJQp6QXxJ
NmM+K0hGWk12LTR9VVNkayZNVVdhZlEoI3E5dmlodUAhWnhVTk1se3deJDxyWS1oUS1ZbE53b1hy
czJBTzsKejdASjkmRXkxRm1nPXtwMGExK2ErPTtIdmspMk9IIS11cXw+a3twTG1zIX5zNXdOc2c2
dEZ4c216YUtLWnMwbSFzCnoxUXtsWVlFKil9aD1UM21mUFdsJDY3dSh5PSFKTyFPTSo0THd4fTMx
cUJNZzBePnVRJG9vPiR0QyFoZ0QoUEc2bQp6Yyo+KyoqJXlNNVlMPGMyRz8pREgrU1YwNmtZfFNt
cUthYn1UTms7MiNwayNJaUFaWkl1K1l+UHQyYVlvSnl8clAKemNpYHhxc188ZmxUcyRHdkE+MWxy
RCspQEFlck1oTG9TaCF+dnBAT2piQ0pHcEl1Sk1ZISZsJXpeJWVrQ3tnP0ZJCnokQjRTZT4zfFhB
cyZNWFlgZVI1WGBYMi1gTTIrRVoxZD5nQjI/RklgaDwqYyM7NjYtVD9eKEJsTXY2VHNzNlE9cwp6
ZWx4YGxzeiZFIVE7KjtOZn5Wa0FDeGEzSGU/cFFyMiFmMEk+aVpHRzZLbkdzP2J9ZlJlNE9WdjRL
O1VLMTNndWoKenhNTmNQO1lMRXVgTGdiTDxwOUdVZH5DPVFtOCUtbjRZSlFEWkdJe3BYXnFtT081
eUJqdXxQZmhMQjkjKkQmaXtBCnpzSzFGTHs5cnh0VndxV1lUYTJ2JU5GME8mMFY8VTFNN01hUylA
SGhhNEo1U2UtPXhGQkFqaDk2NDFYLSNkSUcrcgp6aSg9UythS0A8YCs/JEd8b0x1KUpPQG5ESkZo
LWh0YzlUbCp2QSRDfXVee3xAemRaK3VgV3Z1OTxVd1lpd3p0Z04KemhWJj1JRUtFQUpBWjduX2gp
fmw0TkExbENLbX1UMkFGNSh0WT8xSTx6MDBUJTVWTlZeaFl9dDYkVSFTflM8cHFTCnoyOCF3KDw0
ZTVKbyF+UFlCQShkP3d7bGkzanx0I0lxIUlBUW1fVy0wQk5HUiN2UjArITlRPHpIRXJ1aih6eE1w
fQp6VVYtb1dzPUlydXBzc1RpUX0yMVhgX0ZPbER6T1czYiYxY0plfk8mVDJOTjBkX3gtO2dCVkxa
SVVYPld3Xyk3UXsKekl9NlUtYVQ1MD1afDNzd1djNjs1c1p3R1A7JWBiUTxedy1YbUBEUj1JcXtu
ZTxZfWJ5RWVTOTB6Iz1CUDkyOEheCnpfR3tPPHBpeG1AQGV8dVRLXnJ7PkdFJVBEPVBhWHhqcD88
VD9jU3NfdH16Z3dDY0lzcmdMPkR7c2tPMWBIcU97TQp6REN6dDBSb1g3dEZ8d0EpJWJGVjkpMFd2
X3pSKTNsQURDMDFxUG5RbUk1VWJOJlg7fTw7fE5EK2VAMEpPS1IpaUEKens3N2ZuQTYkSE4kZ3U0
PypJI0NGcDYybCZqKkVlbihVSWJkRFRFfjJfNVJWeClLJGdUPkd+YV91aS1fTFZqenxGCnpOVGdV
cktfQ1pZM2QwMWF4UUg8JnI+WSNWfEY/KEp1Q1A7a2hqKjtCMF8jaXpTVk83c098R0VlKCt6TTx0
QClyNgp6eVB5MlYzVWwqO3AyaTxFM149eDQyWV9NSkZUaGEwITNRbWh0NlYxfm96cTFeJFQ8dmF3
U0tlRVRNVyEpb2xhWCgKempIK05URXc0OUc0OXFuTmZ3ISF+ej82YkZ2YT45X19GO0hXQU5rNHo2
YXJyKTl0VyNrSTBGRlU+SS0zejdgdDxWCnpwVE9FJG58TX5YVVVUZFIkczstMkFRaU5COX5jbzBi
I21+MmxPNX5pbWxJO1pidWJ8ayMjNHtUeXFMUmdGWkFregp6PXJfcFN4ZTE8UUF2YFdQbUktJUBu
YFhOU3JDczxuTnBVU3QjZmx9e3lOeUEmM1hxKHR3PjA5OW09PEJWY1c5TlIKelIhfXY4NkAhJHJq
MVVhQ1MxRGl6MFk4Mn4wQVU8RXR8aHg4U0ZNWVBIRmFrcW9wVmc7WUxhRjViSzNMTkV4Q2YlCnp8
MSVhMmojaT91I3ZkMXc8JE1Rd3pweVVgZnIxYUVldTlFQ3NtMmZFd0Y0cFc1P0U5WEdQWC15OXta
clBZUyFYZAp6ZXhNJENmdUxaTCozdnh8bD91JjwoLV9CM0w3e0BuJCFDJWBJdnI0XmR4ZHArS3Ej
fFNYbGJUVTlOY3ZYPyEwNSMKem0yNHtZPGI4bmdYaHlpd1NBWE1lUiZiPmhka2shYysxYCg4KVpS
UCsyfkdmLTE7cj48VXlSckR7bjlNNCEpYDM/CnpiZ2FYakQqbCQhWmdrTTs9P0hYZFpPdyQhLWxz
YXNXVWRZPC1JVVdSZEhSXmtJQE5TUyh1eS0/fEs7KyNBQ0tfPgp6NjlGP05Xdz9rck40eWFvUmIy
SGJgdkxvd3YwPFdiUFlFSXMheCU1X1Y3aTh4I3hvMDApOE02PWVjSmNSKCk7K3sKejNxTHctNlQk
QCFPQHB0aE0+Y2J1UiVYRk5vT3BjIVlPNEYlMHJZOE1KY2JCeHgkbSNfX3BJJWlJaTQqWm4tIW1x
Cno5PWZKNHQxakR2O2xpT3RDOShoOCkpNTZqMGAtb2lhTFFNSEI3dGBRTUZLYWpRRlo7eTw5blFg
ZVJsJVQkd3ROdQp6K0BHPktMNXxFcUUxczFzRjxTWkU1KUIpRmVSUXBYcnwkcnFvS1JAdW0/Znox
V3pYcnwtSlE5NHgxd0xiPkhZSE0KemooanBiZT1iYTZIVUxtUkFyWi1XXkVxYGxybzhoNGNMP19U
Yz0qbWgmPmdVZUhaIzEjJV87b1dlO25kTkhtSCQwCnoyd1BVdC1nWnI/Jkw5dztSNVJFfEM4IzNk
UF5JJEE+S2d9RWM8dGA5QCNXVz1ueHg7OFhxTFVSPzJRTmR3OXB9bwp6XlB9Tn42I2tHdXU2bTAq
aClaXyRCUjJVOV44WHExM1FAVWN5eClfJlZhb2JQcGFJNmNFPDBkdypMZU1pQj1EQygKent1MjUl
MVpNa2lOdlV1RCpecWBqRnUxcGMtNF8zWT5SZDNgT2tnWDglP3AzfFpsVFNId2dIMj84USgqcmVA
bSpVCnotYmpNMjVSJn1rV0J7OG48cFZaKFg2WT05fEdhNC1GeCQ2S3JUdzhVRkU0OW1JeHhNPyR3
YTA2OHNJS0pmaFp4Xgp6aW5gJUhheURwe0dZNGY4LTF4fEcqfTMjdkItJV94aTlpeit7UTVzSjBt
Ymg/cz0hPDckOX0oV0EodD1JIUJ6fnoKenk4bEE4RTxYUVQycSgybVombXlRMVZUJEkkez9eNkNY
V0F+ND59Sl4+bjJGald8Mitaez9ET1kkQXQlSW0lfFdmCnopKXsldT54K3ledEJtIysoc2xWZzxo
cX5TYiVoVn5BalVJYDVCfSNJMSRnM2hVQmBaZ19ARDEwM2x5S3dya0c5bgp6QDkpOTRWaFEwdHlQ
eXJGSzE4UmVpMmRqSDlITTxGZXtkc2tCN3dSZD5LYjRYfEskQ2oteTM+blYqT0BJRT8rcDEKemZj
TWgmKD9JJiRWRkNXQWBIQis3QDkqOF5pdjxwRjtaJE9qVCpkdXVfUGx1VTF9O19qbXV+TG96STdS
YXVidTxSCnpRdiNaUVM4SjNBNV5maUpfLUR0RytyV0QqYWBmR25gUzxINmlYM3FDP2AwayE4alVr
bG98ejhWS0xYbXR5P0hHRAp6Zz04eVQ+QnMrbWs5aVAqJUxvO0ZxVUd2SVJsVm0zSGg9MmMtLUxp
KEJQQXRLNHJXQHl2Kj5AMFY7M3tEOC0lY0EKeio/JGdEb3UzJSFPemBYT3NKI0VyOENvRU9LNDZm
c0JKSDB+MHpNZURicCpwa1E8TCQoejxhUGsyWHlHck5wZmM1Cnp7YDAyIWBxKiNhM2lYU04pKmst
ejtWWTVBTmZ9UWlkNCVAUW4rfnlvZUg+O1JRRm1uYz1kZ31AZ1ZTeCpqZ2pANgp6YmlGdW03UXxw
NUVyP2Zoc3tYbCtjdipwdUJ2V1JKe1A9SE1vaFR2PzJHfmNRO083SXs7UHg4c2M9aGNzRXg/fXgK
ekIzY0dNVWItZ04laUF+cSojU355dSltfkkwP1JEXyt6cGQ4Znh+e2hyMkdWPkUkO1VCO00mUjZe
Rmx8JHNwdEplCnpxZ2VRayRvXkRLRFI9T2gqQ3kpNihKYHp6RGNCQ0M2YXhqenRFdlE9MHZrX0s+
WmFEWno3T3pCekVIS2tSPFM2Kgp6SH1URFNKemx0TWwhfiNJPUdhaGpBZVRXOUE+czwhbzQ8YUZ2
QXB+a0RYRkVlN2RoNTBNRnRkRVd5Pzk2UU01PDsKekFqKXxEXj5ZUkJkWS0zUmJ+K0tzaEFZR095
YzxLYGY+JSZBWiZNMldjWFB9YW8wRUZ8UH1KZlo0dm98YDNpaGkzCnpkM3dSelolTH5CRSQpUy0q
fFgkU3tSc1BPJWl2di0mR0FnVjtpPTU/em9fUmw7aUFrbno5dSQlejk8bCt2IUFHcwp6eVM8c08z
JlVofXdHdCpkaWVGP3VEfU88ODk8cVJ7VHYzbVFPOX1WYWp+OXp2XjBaMzZSSW0qdkNHfSZwZzZI
WU8KeiZKfkhxeS1nb0RpRygtM05IKFNmak9VR0IjMDhhVSt3fEVoQHhMcWwtdGdTNDBZQzlTSjk5
U35qZ3lrPllDIXZvCnpPZ3Z4MTRTfnMpJGJoST1ZOyhXVTZhUkBzM3ZYS34yRml9NHV7cW92clJE
PlhlLTM2YTFMRX51UG1GYSVgdXZydgp6OWY5QjNYTH43ajY+PVkoKkEmSW91VlpvfXRocT1OO0xj
O1lZcGNFTTRnMmRYZkhVSVkyOUsjS0k+eik+I0BaTlIKekNePG15e00meCppUGBoPTF6Szlady0k
SHpQYj4xWkRMQ3kjO2M1UTx4ZEpiekVQNGApTmZRaVBwbTV0UUktNEZJCnpuJVF8MVUmd1Utajg3
V3JPVzQlRTJtMzM9I29LVVhnO0RjQVNidUtReGNtTXp4K21LbUEmS3ora0B1Y2FPPkohKAp6dTJR
ODRCR1JOUFFXTHIkeSRVRUdOUTtFdDU8clN7MGNsRl9BYG0oVk5SIUBGZFQkfEE2JEkoTU4pclU2
b1NGVDcKemBgejMzZTFGZEdHbG9BTEZ8SChRJjkmeTdfa0JKMHZ0T1RzPnQ/M3gqQ3o0REMmPU8k
I21jcipVQXFAU0cycC1JCnopQD9+UlExYWBIb055JF9aQXxqYmZCZ3Uxb1R3K1YrKD9mTGVTTGgo
WkA4N01nJkkxbSRJUlRXX2lUZDR7KlVoaAp6LVlxVzh6U15ga1J+fCkkQGR6QjhpKCRVKVRKM1M/
azFIej5BV00xVXdXYmpCSGtvMW1UPjspIT94QEppZX5peiEKekJ9OGAoRlZrX01PM3QwU09qSnVJ
UVY0PXJ8OXk8aCpSNDZSTHYhVXZ5fDtvO09WN2k5azhYZHdJPGw3KV8wYXxLCnpAJjdkI2lZVlhX
akNAc256NHltQm0hLUthaX5vKjxpZHZFRi09RmNhUk5iSFchNHAwP3c4a0c3JHRkJl4pb1dmSQp6
eSZFO3xJSDBkWmk2X1drdzJkaVg0YkpwRT5HY0w4JG5lcDZ5N0FwQ2ZsV0U0RzV4Q0YwUGFyQiYt
NHwpKiZqOzUKemlvdUdxSzRpenpBbHprakExUF4jQkpENDJIeWdoejtuVGRpeEJoYmJCZ1RfO3tU
QzEmNWxvKG82I0hPQHBGb2pZCno+VDNYcF4qbz4+aH5mO1dZcUstNj8xeSRNKWxfKVIrcXhQTiYz
STtROG9rdXliY3dhKVc+TXJFOTs4KjYxcns5dAp6Kn52a1hzJjhyU0A9YypCKlUhbWR0MGoyVE1D
eCt7eUlgO3NYSWwqbERnKTl+a1lRe25ldFA/QVAyXm81cEV0bFEKelYtKyE9dXNQLVVebUtwbHA3
dFoqZ2ohSmRCJFJuPzBWI3lBTWx1ZD9yeX0jVjZPRHxlY0Z5TCNMSFZOKWh7ZWY7CnorbV9UfEs+
MEhnMVowPjJCTlpWc1pifHRXMW40JDRmeExTKUBQbU5CVit4S2RFKEMhNiYtS3JyMSZ9PzA3IzUr
NAp6SiRjJlNRWHF6aXI9d0o9OzdmV1JxSis3ZDNxOXpLbz5XZUlIYzEtMmpPQlpsPzg0MjB1cFdN
diRsKGE4Wmp5aWsKelI8aUNyOComQiRQYH5iQUd5anI3e2JRV2QqQSEjSHkqSzFPPEVqTXE/fDxE
a3c1Nn52JXRaPFFXZ2RoQmxxeDkhCnpyciNTMEItJihPNWF4U3QlTmkrZEhgMCRwS21JXkFyWnJm
SiZhKm8/O0N8S01idURpbmdzcjUySG1ra1pqczd5Jgp6PTw8VihiczN7TXNTYjYkbEFzZ0JhPWY7
PjAwNSo/MyFrMz4qQ24kYjIheTZVVDsrNTVJam8hdEY3U0F5JT11QjQKek17YTJtUGRoOUBteDkx
SVc4SGAjY2g+IyNBZmoqQiU3RmNhOylHc31sVTErZ0JnM2R0MnoqPTg8blZUK19yPSQ9CnpDKylj
QHU1Sjd9dmh1ZVptfngwcjdybnNzZChSIVNZSDl+XmhuQi1RJlFIcU8jUzFOPmdrZzdeXnQ/dFZ0
WjZVZwp6SDJyKiZpdWEtOFJpYCFVI3p9KmNyOFZmVjBXKC1fNm9aJm40aW83MmdaWENCWjR3anBu
JFBsZVZ0Mk0rZUFHUikKemQkNW8+elF9cXpEU0J5ZGtFQXNCJCtPQ15UO0BDfXtya2Rgb2NpUmFj
aSFUZWNDandNeT0oNHtRKSlmbElsczV2CnplNm43JjkzeWpIQE1SMSo/VzJCJUNrPCtKIUg4Pitx
N25JYyglMFFBNVJDJlVFezgpO2B4S3ZaRmBGSCZVeGB5TAp6U3xDeSkhayR4TylHYnk3VzxMcEVP
OStFdEVMaGpXYDdCREJtMzw4bmdNRSUlXnZeUmNnOGY0SUhUPk9RTUEhSCMKemdwZGg/SXZrZyZg
fFdqSzBBVHdsKGUxNmRNVStFTGBzezdfPEZ6eDhoeSVJKXVKNT10PC16N3M1JiRZbWBtbVFfCnoh
P19UNnJlOF4hQj14S1clajB1Rmt0LTQ7JE92SVdrbGpndGZUQyRrYk8pJVdicFklPDhGMSNlbGZk
TzIxTiVMKAp6NmNPV2hOdElaITctSmR0Mj5Bb0pzI2xydzJuUnVaZWsxQXZscmZuKWZYbHJxOWhs
VjIqTCpzSCZBM195REZ9QjkKemltPjZrYUlkdm9tO0U8djVeWVo/WTQmekUlOT5OS2czRXF7cmIq
LW9nWEByLWhvIW1UZGkhaiVwN2Iwfjd1NnVrCnpaQD4+MHZvPi1Aej4mI3tgK3s/VWwtdzRzMWlS
alYteUZeNTAlRzwlSUxPKVVfZ3FPMm5hIXkrQGpYXnQwKnt1cAp6ZSgrJlBQJXYpSm9ARHhKYDFK
VW1BdVk2M2ZleztBVShNOTJROXwwMWArIU1IdTtXYDducnRjYmtpWS0jWElqVm0Kej45d2JPZUZz
eFo2QnhpelNASmQ9bkZ8NWpgc1MlKSoxJHNkSzhVRm0wRVNzZ0Z3eXJPcGx4bmllQks5ND1yXzxS
CnpoVTdoN0hZM1h2S0REMGRUfGM8fTcwPmdyPTVzX3x5MVJabHloWHhjU2RtNn0pazdoeCpZPE5e
cklUZGU3aEh+Pwp6MDB2cjk3bUFySjJoflFwOE0qN3ZSa35GMG9TbmcyPWBpSWlHdVVKdSlPVm1j
cmBSemt3TFRJK2RwIXc2QjxYJV4KenRDV3skdEVAKCM7OVk4PHVoY1RvUmA/Jl4wM31+e2FiYiU0
cHtJRWhGQ3QkS2F6UWphakFJMDRDRT0yTDZPUDZQCnpAKGx0P2FRZyNiSDtRYUdVLSZMPnQ1JHZZ
LXUjSH4kXkUmajYzcyg+JnpGKjFaMUxKdVlSSFZAbSlkbXFpSDk+ZQp6ej8xT0ZkYWV4PGxTaDhp
Rj8jclF1KSZMO2AqN2VRKEpYIX1nVGg2bjNFRX0kVmpGNzJTb1RnSyVAcXtiPmd7PmYKeiVMSlor
ej9SWjxeS2g9PmhNJHxEbzZ1OCk8PnZ1Rig3MSFnIWlUK3B3X3wkPnclQ1g/aVEpVHs7fj5ETSlN
NU0kCnpPezNJOHEpQFR6PEM0PD9JMzBlfnstQktDKUkyI1dAI2k/TWl5X3MtV357Ylg+PFpmaWxD
PXBwVXZ8PHNjK3lXewp6blQ/eDIwRSR6Tk1WNkA4eTIzfEhtazM3Jnp9QGZ4NVZ5a35uJFBaUTdE
fTJ9WDlhQm5uY3JAeXk5MTRNamp+Tk4KemF2eHFYXkJPVSRze0hsI3g7d31eYGs0SmR3eys/dUNl
dX1MNlViJXVpa2AhYzEqIytQPlRMZSt3PkBfZVd4fkFoCno2JGl5ST9idXdfdXImc1YlcTA9M3Zj
NjEtdUQhNG91MlBTdEhlIWUjVHE4eXNsR0UobyVhJkxAR0NwajNkaGZIRQp6a2xXTDQrdjFBZzQ/
WmglS25uYkZ4TFVkIXthV35eU0QwWTNReTFNOSpnWERWaWdDWFkpRDlmWmduPHRVUU96Z1AKeiRw
RFl3KzApQDhAYnJBcGBgVmx5QWB6ZHpYO3hsJihXI09UbzYjTVYrKml2TlZQI34xRiMxN1EmdE9R
TGwxO0lwCno2Rnl1S0RrV2QzcVJGND9tVVNrNWdwOyQ7O19JOX5HIWxIaTxBTF45ZTZpSSpGSkBt
N3pKSTxwXm1LfCtRVUNpaAp6Vn5ITH1ZVU0jb1o8Xlo7ezg2LTRiRnAmb05qaXJHWjVIJmAkUEU5
NT98WXZgMGVRKG4hTnsqQTw7OWs3eVUtX3wKelIzIUdxK3RQNHs/Q3NKQFBxaWdOQjE/Z3h6e1pP
PCQ9cW9II0Ezdio+YDArVis4OWJwKDZaKCRIbjhMNV9YdEtMCnpeOXtXa2BoITY4PGxjUE9Ib3RG
IzwrYjV5YUxIaXRNdDkmJnpKPntAajJ3bHxZRzB9RjI4JUthejVJOTFDQ0pBUgp6dntXe09vX28y
VVdIYUw5KnomMio+YHF+YEsyWTVETHkmJGBWZDhnSWF8WT00NT5EK0NgbTBUeEc3VDRzdz89JGIK
ektQRnZ7am9nP3B5ZUFic0VMRlZRXm05YTJIPSNZMGJhZEpMR25iT3YjP29ZK1BOY2hxN0A/QlN5
OHdmbGd6THFoCnoxRDJRfjdtPkJhS2M1PHJxJFF7cVpQeUNOP3pRby01aTdhVjcmXkExbShBPjBH
QSpMVEZuOGtBdlJVMGk/R2tpaAp6IV43Sjs5cGApM2pAbWhBLVdRZD1td1BOaXlBKGszbkkzU247
OT5NNnZWcGM9ZTUyVW57eEY/QTVsTEk7c2hMcjIKeiF4ZTdUN0cjbmMwYytHR0hkUEg3YTgtbWVv
YCZORWs1bFcmME8qb29TTUU7YjA1Ylc7bEpQZX5kTHkzVHh9TVZYCno8P21CMmdiTj8pWH4kNjk3
Z2RYfmMmOGUjbm0qblozWXF4UzJSWkYmazxZaUNiV3R9PihgUWQ9XjthLVpKb1d9Kgp6PkkxNkZQ
R0FCUTB1Uj9GWCRpcFReYUNSek9WRXIhU1hiVEdsOFpvYj9eQGpEKVhsMU97cjgqWW4+YSRAZGxy
X0sKemohRzlTNUdDclY7MWBuWm9CU2ZXMyo9O31uRjBZdnBjUi03KCU8YFZ6NHRmeTU8VntJZnhj
biVFfXxVSFlwMVhpCnpLKndTQTBIPXo1MlkyUHJCNnFefHl8MXx2ekl+T1EpS0V2ITVnKThzVFFF
QylyU3xwfllpQ2E8R28pUUZ7YzBjYQp6SFV8ZUVsOGdVbyUrKHJlNkVJKWQmeHZUPWt4XmY2dXQ+
YEhpa0ZLZHcwdX1JKllGfG1GeDR3MihFYjF7NU5za3UKekdUJTNVe1VHcWZxNDFPRCpwNVU0S3pM
SFkxNnBTVzBWZ213RyZEMU1uODE0NHdYUEMtbEtoQDlpdmkmbXZ2KHEoCnp4RU1leHo/PGNMJj1B
ZSVUeCFNNTZKMy0oeHx9eCgzcl5iRWIwU21HYEU9MUQ8KVpCQnktYGQzdEBGRk92UlhofQp6PWpp
SGhPeSF+eT5wczF7TjBmfkxYQWFqJk5RbGhFT18oRzkpTEkmSUdwNTExbjxPMHVPPjd+KjIzLW98
VF8qNEEKemRoQSFlaTBgTDJ1blJ6cl9jO0VkcmAzKz4ye2F0R0pXZ19SdDxFJHdHJFU7JT9tWnxQ
ekVnMjxMMHxtbi1nWmYjCno8S0pANFg1QzFgX14pIV4kZjtDVWRpSndoMV5FeW5tbGMxcV9KcWxV
MUJgT2RDRX51Pio+WSVrMX1RaHVlUlhwJQp6Uz4+VjA5P3BpMHhVQ3chblZxZF9zV297dk9kKT9Q
OGd5K2c/RSsrJnRDbW88JTJTLVQ1RFojJlhpKFdoRjkkQj0Kekc1ZWhrdikhQVpJNStiNDI9JDhj
Tk5hY0kkfHFlZ00pezU5WChQMWxyNXY1KHJBfEVlSG95ZFErdmJLMUduVyRZCnpSVEpzdzxsVEJ4
WjkrMX1vTShGSSVXPFc4SD4mXyZvJitNfk52Qm42VnM5VDBLT2l9IVM/K0J2e1huV0V4cCFhdwp6
cX5iJlQ2WXtuWEh7KWB+P1dOaEMqVnRuY3c3REkrWj5uQ35vbztQTzhYVDIrP29AMDBKYVg0JUBY
WFFJc0w8LXsKenpXIUpLUzlWUl89Zzw1IWs1Nn1hMmN4OWpCantlYyEmNCFCMW1hdEFvSz98NiYo
ZStVODEwXkpuTV9ZfkJ6YyFzCnpnYGhuX0tQdX1MJUFCa3UlfndIJWV4UGUjLU9MaFQ4b3QpZEN6
LVh+YmFxOG1sdUVOe0xteCVEbiNhaTUqfUZnOAp6TGd2dEdDTGZ1TlhyTy00IWNxQ0d1WVMkPUhV
OXZXc3klejQqRHQ1Qm9+PW55NWdUdUBZRjk9Y15vaHVIdjl+JCUKekJlYTxoYlZOPy1ScmFOaldT
O1U/czQxTXxiTFVNSCtFTlMmVUN5QDArQ211fXNYV3xpdEl2TX1ga31CPUE/WWNqCnpRY2JJakUz
P25mKmJoRj5uYmlhb2Z+MmtfYislMVlHfVB+fiFvVCM2REF0JDxVIzd3QVdhcmRfbHxENmIyNnc5
MAp6bWpIU0JNR3V3VUJ1WDlUdjNlaU4rK15MND0zQ1NgIT9lKHlDcDdXQjdEOVdKJU4zRXtSfTZ4
Y2xWQmNPNkl5VU8KemJMWUdEe3JRV2ZIQnFfcT9oS2tee0dyWiF5JlMyKXkmT05uUlVPZFMpTyNk
MFRKSmxHPUVOOEBFfER5aEUhNyFkCnp7TndRaG1rNXNKK01QTTwrYEU9N01ib3h7aHlRZl84b2dp
bmpWcXNobGo9eSlIKnRzMUcwY1dgcHw0PWslK198LQp6K3U0eiM3I0l0VzlhQjUhWklza29ULTtg
Q0lTSjxDeDhIQHZKejkkfCU7e2NnSGhvT2dRP3hmN3VBXjFSWkY9PE8Kejg1dFMpUDV0eG1RJExx
JGw3fCRrXnNJbn1QbDEqcWJQM095RTc1UHJRPH1IUzw4a1F5RD0yUFVINSElTkt4I29oCnp3PHpn
fkU/KHVzYEItPWxkK0I7MjF6VkJOPzlQM2BEdiRlU2IxPypDeCFlYUkrIXRpam1OOX1DNio4bDVp
YU5lYwp6Uy0oJDYtMWtKRFdgOWYteCt4cHgwI1o5ZD0kSXB1Wm4mdSo+ZCh0NykzQmE+SktiVmZZ
fXImdV9PTGoxYj9TO1AKeig2RWxzODw8TmdtS2xyc3EoezclbWRmS1lSPjY4aDkqU3IkZlkqQEdJ
fUFzYyk3NTI9aEEmQHN7ezdjMlMzMSFVCnpLKEFDZ3dKSXwyYlU9ejBqMT5QUTFDezYpY15EYklB
aGp9UlBXNVBwJEUwSGYkSWkwNXshQFchIVh2NDVJWlpMRwp6YjFsS1Z3cHVJMj87LW9sNV9OKjRu
Y2VIS1JxYD9Hb1g3bHtxWWZYKSh0ODl3aT1YKGlYaDFiUW1nQCFnbVVjTm0KejJjTGI9UTZsSkpg
cXc+ViEwcXRGN2M0VkJAI2Z5QU8kITw1cT8oU3xCez5Ua1F7MW9gX0lre2ReTypPIWt4bW1XCno0
VUduQ3cyckpgTDB5ZSt4bXwkcCpeaHt4XkFtO0JxaHM0MHA9YFA+bG1ZN29pcFhyN2ZTWFlLKFBM
QFRFSkVNTwp6M0gkcmtlbyU2MUtiKU05O2lQc3ZzXzUxfjI4Pnh6VyNGd0U1ZHFhRT0hVmZfSDI8
NkpvMyFHTDwjX209bSZqQ3cKei1pbyNeXn5OVyNpe0h+ci05bERRLXQ+dWplNy07Q0ZtSyQwSWN9
JU94bTxvXzkoez44Q2hvaEdAYH1qdlRUOFAqCno5NVVOODNnK2BQZ349bkEwUylydzdQWUhzY0h0
dHg2RSNFTiVeWV9ORUkkTDtKK0xCOXkmcitxISl3OGY/b1plfgp6IUxtITR2QWFpNCpoJFZRTkhF
Tn5kJjF8bW03NX1kSyQwJEVrPHdTb1AmMDh6QnI4JVpCJHsqTHgtPEA5MnB0OUkKemNoZ3RWVikx
Tl9aZStoSWlZZHNCVFc5XkItNkZBUFYkOVZzK1F+Rn5oSlZPcllORjZjeVNRfEB2ZkRFQlluSU9W
CnpFJE0xX15aOSYrTnI9PGNtOHc3LTdKXiZjZVEhXl9nMXY1dmYxIy1zPEdsVHZTKylHRlBSXnRH
S3xjRHh0RG4wKwp6QF4qTHgwdVJ+ZVhYO0lsa1luRGpXTGdPQWNUQT90T2EkKkhDMGFEYldSJVpZ
TGcrRU9uUkFsNVU8d1Qwb3hTO2oKekc/cjtUNUhjZEk2P3FNcUtvKUshYkVsUUIpYnlUKSpIcis8
WHRufnkyUTVuSXdUTHxwQil3WlArc3Y8VnojVldTCno9Qy19KUN+QSozJFg9TFQ4NyRiPktqdUU1
Q2taZG5IZDU9MWEkR2Y7e2RMV1U4QGs9V1AzaX1DJj83dnBIYjAlXgp6KDB2bUExdVdIUG9BPStG
I1hsV1hUdlQ9MXJUY25qWG5nZExCZDRnWXklRUNQUFB6PXw1WmYkbz1hI2NQKEpOYDIKejRObSU1
eXtBPF52YiorXkxxPl99O3lqRUtuZ2kjRTlzVjZvI2VTNlZYYnxUNjtMSEBKXmprUEJeNz8hSCVm
QjhZCnpJZzBKdi00YiZjK2tZO0dPclF5Sil6Mi0lQ2BDfHUkcUI+MTF5elQ4LV5hT1QtfVJ5NFJG
KGRQVmEmfXpBfmFyJgp6UWNoOV5iKnRwSnAhLUA+dGgldTU8M0pKNVpTQUNHQjkxaUVyNjg+XlRu
P1pQV2Q8UXdTSWpZIUUpMk59UFo3cjwKeiVPPVFNVXpgKX1PNGZNWHV+allNXnJlPXhnb3BUbXdl
MEVKMWVZJl9ubThxIyZNLXt1UT9iX2YkcWtGcFp9UkdFCnpuRD1oKV9AJDB3YCFsSWc9I0hOU2lw
T24mX2c1YEZ3WkNMR0psMikmVkxgdTckaEUpOEZkRGtJSHtadkw0az07ZAp6ZUhaYWxHdG59ekFN
S28/QjRXTV5sWE9rJSpkcm9RJWVIKTleOWZwZGc9fTx8bS0pSDJFa31YTk5KWXQ9VFMoKVEKeiY0
KDRgWUhVPkBQa1NHVmFLNyo0aipsb05obTgrMm5JKyYtP15xc2NfS358aUpZM1RvVSY7T2ppU14+
WlpkTWJSCnpzcUFBNEc3QT5VKXQzIVJOVXYjZGxZMztteHokQklYTzE4dzVVaEhORnpwUF9DTjBh
VXAofXFTJSZMY2VHcHVNbwp6WGROUXhSZEJ2KnFCcUQqRjBPOHdvRUR0ODxOfU09Zzl4PWVePzU4
X3MyXzckRGM4OTc5WGdgP1VBZUo2dnZfeSgKekltNSpEM0BSSkshcGh6diF0JVI7OXwoKVcxUEJr
eUw5MWZSRkVpLVBEKlhWYl5OMjZvQHNZZXQzfSY3THFuQmIpCnpQfGNjYj54fjdTLTwpbG55MV5C
N1I4OEJqMzQ0Tk8pRWEoaW5waDRnIyQybmtXfTNUfmtWJVVoeFN5VngtfCtsaQp6OCZ2e2Q3cH5K
SGNGbEdwP3A5R3ItbERhOFlFMTd7YzI5ZCFVKzxNZmdaMVltdW1lK0A4X2Ylaik8cXNOSjtoOzcK
ei1Idj5iQilgJWtifEU5aSs2Uj1vYFJqNSgtJXkteiQ/KWRsam4+ITxePTB+clRkZV45cyk7NzFS
PVFKe1VJZT41Cno0bmpGZj9DfCg3NVM9VTYlMHFFKHYobGZpTWxnI2ZReHUkZkI8UlhvNSsjYnIh
ZiRIRChsSHZsekREQEduPVQ1JAp6Y0A9OE9nLVIoP1R1NUFWaG5TRy1RcFRfTF5qczstMyVVc0p4
eHZqTTdAbjZ0ckU8c2xtSEhKN3cqLXlGYT5tJkgKem0zYDswcUk2cWRPJEU3JmsqbnJUaV5tR2VC
PCNGWkByaW5BS1lUZ0NhPXJKOFJlcDU3RHNLMWYtUX1ndkY/PF5nCnpZa2hDPDV3UW1oZjt+TTYo
citsVHA/djgtdmRGfXdBRSFsIzl2e2s4R3B4NzFlWlcqeyo8K0UpVUVrb0heWjhEJgp6UjVlLXEm
ITtGQ2hOX0koN29+UU5NKD9+ME1Vel5VWUE8RmsmTjYtMDMtZmhlUWI9NWdiMXQ0UEdITjVAb3sq
YisKejR5YWFiPyNEK2UmWkJMYUopSnR4e0FDVkhvZnxUSWFvemcrMGo/SUZkeCpXa2hAUWw1VCZH
V1VPciFnXj9GJk9tCnpVeUVyKEJSP0w7UGtQIzhfO0F4Z21RZGptcjFadWlQUEhxWnIpa2FLMWo+
QiMqNXpQbjJzJVhQKylRNV9Vc3E9Zwp6PnFZfUx6VTVEJjA2fE4rIzdDRGwkU1o4Rl91KV9hNV4h
QkprfXJSZ2JXanF+RWBHbHclbS0oJHBSZ3QrJjxCVH4KemZ8TnQkO2hnMVpqbypPbEdhbE98WjZi
P3BMYlg/STsmSS19aWV1KnZtQSZrQm48VnQ9PUA5Tz97Z3w5KV9VbyNBCnpAYD5IaHBDJWleI1Ij
MithI3ZFYSYqQHg9RTk4LThOPncqJCg4ajhVMXJodzBsYXw2ZVFXRlBASjxlVntuQmtHeAp6LT4h
RypuS2dgVUJxJmRzS2wqZ0kpeiUlJkFBWmZ7ITFWRFFhPTc0UCNpSWx4c0xZKHRyVUo+WVklIVZX
b2NhT3IKejZWPzNpYz1DQ0ZIWGdjMUl6PWtKWGBKPXJtS1hZKGlRSzZUVWpCJjZlbiYzNGg8Qk18
KHRHb3YzMS1HcT0haHt0CnpXQT5QdVd4fTx0eX5WIThPcXk3fTd7WWwrVWY3XkVfS2IkZ3tCdVRr
b3g5NT93VmRrdEQ9Y1VlX1k9RFprMFRpTwp6KlI1aWBYMWs0MHZDSllIa3tWNjRpTiZBUi1POWRp
VThka0VONyVZKFRJO0VYM1hlVihvVzArLVJsT2A7TG5aKGcKenh1M3tCXmhgODIpUCFZdWJHdnI9
Snd9PHY1PTBUQ1VQVndWbHRgRm1sNSNoPkN8Vk1LI3UhajBuPWcrbjBifUU+CnpKQzI4Nm9zQDcq
SCV5djlafEt6bHZfV31paXdZaWBIeztqcCVWaE80K3E7LWw0eVRgRVgjSW9FLUVKZXJmJFphfgp6
PUVHWTwzIUZ8e3RtK25RYmJeK2w9Y1o9dSspRGpmdkZOZUxudVc7dFhIQ2FRTXppKWpxXz4zfU5+
RDE2bz9naS0Kekh+T1RNJlFMejZOXmpqV212S2JtVENtaiZ3NTBFNEByRj5QXmkmSGVvNSs+OVpW
RlRZZjdOOVlefmRhe3lFeFNICnpKRlAtP3ZxNGI3dEhfPEg+eWElJGtqcDxJK14tck1TV144P3ot
fnskZnhMUzwrK0Y7VzEjJjZ9PENOT2RSYmshVwp6YkYtazl6SmVEckVaSVJNX09ed0VSNzcyIz5E
eSNpWGJ4WHlwTlU3SF9xUSpSazN6fnJAcEV6TUEwdW82alVfSGoKekd1e3YoY2lRZSFGZHZ6PDNy
aj1zPlgrNEgxQnVpbEZMZnU/eF9TYTlyNkFxaytzOVpZa0s1JCU+dkt2MXsqPCpICnotIzNqT0Mr
OGchbXgzQWlfZnYkMENlJihec0VPail1OylvPHk3YWN5QGFkMz00XmN9Q04jdihsQC1xbnJmekto
Vgp6MW4raTMmVHBMcjk8fFIoT2l2eHJ0TVYjYz9IcWZPQ209NHVkRStzRz1gYDh2amtVKnxvS1F8
ViZpZnw0dmZ8fCEKelpGaGlza2deZilCNis2ZGRAYXYlZDs+e1khenlnJThAJG1zeVRiKHVvOUFr
bnI4VUBSJHxPUH1BM3VIVj1TT0dBCnpCdCg7O3tCTDlMPGVFUmU0ciRUP2BJIzw1TUZUYSZ7T3hO
fEw8YmtrWUlqeTxtPCVffDBUKnRVezJ6fFhSSW5AJAp6QHE+QHdhWXlXKjt0USQjQG8pQUlmSnNB
N097e3FQNUFRfUcwaGx4YkhJflZJfE4zYSk4WSRyRCRXRHwkPURoeD0KeiheclRgJSo3JmVfQUBU
VSY8K284R3RfVXR7fmtuaEEoZjIoM0I5PHQ+XjVqN3JBYi13MTNuNVcxe2tCYSpxUEIzCnpxeEpm
MFhucT8pUGxIfT1oYGs7KTdVUWpBK0dZQ1p6Xis2JXdadkROJSUjNVNYZVdjPmpmeCsxVU89ZXN6
YTBWOQp6SSE1MlNqeEVlcll4WEA4JmtmcF5wUzdJQClsd3RSNU58MF9aZWBrVXNaRlg9eV5vcCo+
e2JeZlprOU1CbEJ4cTUKek82RzU8KCMmfGwmQk5GKk83IStPX1M9NXs8THdPezt5S0hoViolbHs/
JXl8SzxObWZoe3doI2ctS2BNd3pBeyh+Cno+U04oRGYqfj1CYX13MEhyTH1wIVFWaCUpYGBmTHtq
I1gqJkwweUNnbTQreHhmQmF6WVZxZmk3bV9hZlN2UFklMwp6ZVNSKSpHd1J7b0ZxX1pVRU5ifUxe
UjFaUVNHdzxBP0g0VzhXWTlLSFBSMD89WllYcExPVSswMmJsdkBybFEkNnwKemAtQWpLTWB5X1c5
ZzB7bGFjQGE3R1VtTWleRW4yajBibXEpcFc3Snc5TyQwQ2BMdGdKbHl+SEc1dVd1OWsjdDVTCnpz
SkJaMjFse2N2RWZodmBAVCU4cUhtaE4wMjRHV2c2anNpIUZKYHFVR1F9MCY0TSFXV2ZhREZXblE3
QWZYKWFTbgp6LXBWflZ5VDEzZ3tBdjNOd0crNm5aTkR9d3R3SChrdkJKTjZ5KGomJDZaYF95eD9u
KGg/Pmtpd3VmdDZuKDB6dG0KejIje31VM3g1ZHZkTFI4amBlYGJ0NnF+QGBhJjtYfTtWayVAMT12
KnMhKDxzYG1rSSVwZFlGJSs/SzV6VE5fU15LCnpZWVpmNEZ9NGlLbmdzN254eUI4Nll5IWdYI0h8
eV5ffEwwZmZWYH50VlpHUkwwNkhqWkRsKjA5PyYpN3ZNQUw3Rgp6dnY1eG8yRTxrcm9HM0hKSFpS
MTs3Km16TSpscnZIIVJDRHxyPVlFNm1JLXc/JExiKStaQntwZDQ4RWJ1SWZlXmoKeldHK3NaZmpU
cUZyKnlqJT5tIUtHTCo1KVlpPW0pZDNYI2R3JmAwZVlUWjJGIzczI2VjbWpxJURDTHtyc2c5TGp8
Cno1endafm54cEdlJmx9MkxTeDJgQGAqYGF5WVFVfnIyOFBITkA0NH1JYXYze2drMihDVVN1Q2Ze
eV5saXplTkZlfAp6RDlBbmoxKFhsMl84OGV6cSVeSVV7Q2p1KTZ0TGNjQVRxY2o4Q1dPPjg+dX1L
OyhPVDAwSndlNCpEbylpK3g/fDcKeipZZDJKdzB3JlNXaHp7ND9KMD9xRjgqPUp7YUlPWlQ1SHdD
N2UwVShBREgrd095dCR+YWIjKmdoLVRQP0RNXj5PCnp6VFUjPikoRWxxZ3NWJDFscFRDK15MdiY7
MihrPDg8fkg9bDJlU3Jle1huUjJIN0xLV0d3dmZtKVBvOHh0aHJFawp6e1NZe0k8JH1MOFlyN3RM
QFVhRE8zYzkxWUB+YlB5ST5INVdfOE5oa3NoSkV8Vylne0NsUCg2RHVFbmtjVE9pS2UKemJTMnF9
PjNnJV5NTDIwc0diZWsoIz9HQzFLR2s0c05CUHE3SHNWOCYyUUBWN2NlKSM1MVg1a016e1NvVjgr
bG1gCnpHN2shPGErUX47Sk5yU31SMzEheElPUHk8eEUzKnpkay1LdmIxK25LKEN0Kz4mSn1xUTkh
cVNkRWAtcTtrfiVDTAp6MUc8dCNvRnVUX2I8YXlpal9oP3Q8d1QzNHY3dXhxcSEmUj54PWdOVkBB
aCFgWnBIQ1NtYlR5MytSSDtyTSpjcWcKekhTLWFxX214en1DcXAxRiFzNlMzYGQpMFQ/SyNMQHVR
WnozO0dHVXljRVJHR0NyQilQdl4jcylzVCg2Z2ZnJnBWCnprMXQqKUApQkYoQ1Zsd0w7dD1xcjZf
cTJNO1NebElMRH0zbCY+P29oN2d6Pz1LMkxyPU9LPFcmTjBJNmtNZW1HRgp6YU9CNntqfExxfSk4
UWJjJkYkX3ZGb15EZzV0ST1QUnFZPFJCNW1+TSZae0lrV0shI2N3cSsyeSRJUWJ7RkAmdysKenMq
QXhUdVBBPCs/bHhMQClERzxnRWpTOHhic2VaaEFOS2t1KF8mSWdNSEl4cEVRMy1pQSNscSU+bWNw
RVdCQEglCnpoZkleZUhPfj8jKEVefk8jKWJHcEVoTD45aVpwNTAxSVIjc2lNX2sjd1pwJl52SUxp
KEh+czctPjlAQ2g7aEU/dAp6SUVDSDcjWkVoVXxFJjspP0JMN1RabTlpKUtST0xMSXJnZjdHajxj
UlZ+WHNBdm5aVD1ufWlhRkQrVDJganR1e30KelZOYVgqQkdnJTlzcSt9KE8hXyZySDxmI3pwSGI1
O2w5TGBRVilPZ19KYH5QfDdIWjxeO1ZDZnZlVTFmPlJnUVRLCnp7SXJ+ZXZtWFRfSSZBLSpTZz90
aUpKKlpCc2NldyU8U0JicVlqflBmNzAkLXYydm9mXlBmK096PjhzKj94cD0/Jgp6anhJcjdsNmc0
Vjk/RyNOa3VMaEg0OGxhb3A7d3lsPTVxUlQmVSp0KCRLOzQ0VUBpODhpck04Pzh4X1RvUylgeXMK
ekVlI3p3UTA1fHRvMU1RcCVVZ3ZKJXlJSChYbGxSQ0V6MFJGSyFhWDA+QkdGe087KnNHT2ROTDho
NE1BKiRReStwCnpmUU57Q18kY3s/NENmbn44TllRJndmNSUyckc3e3x8SjlCRkhvRX5pRT02eT40
RSZ8TDNCU3JXX2VQWlRuPGYkSwp6OHBmMEF6NnxAUEN4UmAwQDZUXzlefklFX1d4Tigpe0FXSEIj
UjtPaU1zdWtmWms0VnBBKyNGVXFzMjF5O0slNjUKekBBRWQ3V1ImS2BvS0xkX3I4TENaTlF0MjEk
KjNPJTlyfm96bjZ+Ri1Cand8XlNeblB2a0ItWX02UEVaYjdPVkNLCnp0NDxSZUx3dlpDZFJ3TmlZ
PH5BUSpYKz1aT1Q0fENjbHNyVnczVmA5NCF6ak9XWWZJfFdCKCFPOCpCWGpKVSRBLQp6RjA9Zyl3
anM7KHZRNCU4R18+NTRBIW5nZFM/KFVjTU9TO350KEdAWGpDLUteO2ZxITQjIWJIfiV3SnVqYHNX
bDgKenZocypDRTIxYTFFNmw3ck1eeyp6ZzYwe2RNPnVTRWd7KSVJR0FwfllvIWY1Z2YldDgrYTxS
JEdneCR7KG93fGIhCno5VjB0U0V1Sk5hUTFRP2hXOE0kbiUlMmo3XktKV3spWnw1ZEdDemg9S0Jz
R0xJKSQkc2doRWpII1htaF97emdxZQp6YFlDNnp8SiRsZmhOY0o2WElILVFsXj17NjZuJG0jPURS
UEZMR1BOcSVSQGRCVXJPPjNERT1GdkxXZ0ZlQXlRWHAKemVjV359P3ckZEFzYm13a15gbz9ERXp6
JVpsSV44bGV8NCNPU0toJjl5UUpafT4zOzlGN1Rjd3V4N3pLPDgxQCtJCno5IXBELUJWSiEhc3cy
a0BrOD4lUDRIYEpydz1LIzJYZ2Q4eGdKd3AqTWZnWWlFcDxfPTVrMDwhM3dnMHZAPVZxdwp6UVFt
SlBGRm9GZHZSdzg0TnVrMFB8TGA9KCQrSWA8d3I4KlRlRH0rSns7Mm97UFh1ak9scjFPMkt4XmVe
Ozd2WjsKenY1I3RLMnRneiF5N0xfNUtiUn4lLTlKU1klNkt7QF5pIV5MTHdqbzc9UmZUfl88TlI+
I2FUNjY3U31VKXZtXiUtCnokXjFeS0Y0fklLTTRsZD9AZz4zSXcjM183Z0dhQ3gyYkRESjdOYUJx
cnZJLW5sbWlfOHtNbyhsYzB2JlA/PEw7Zgp6K3ZsNlMqVCZKKWdwZntpTE5XJHh2eCoxZVZPfjch
e3Z+I2txdj9scFFnXlAkVUVVNHYpcXx1aVkjb2Y1bjhiMXsKekdnSDVMJDY3cEVZaVpRcjFIN3Mp
ZHBHdWV3Y3dJbGRrRE5KQD1TUU4wOD5rWiYzNnoxXkkpJmpAKX42c09sQH1wCnorc3o1Uj48eXRH
RFJCKUptVlM0WSNIe2wySHg7WSN3bHxiZSVhPlF0N1Q/T3ZWQTlabnZEcXN7eExOeTRILXhJNgp6
SnxiUH5XdWxDeikrRElKZHN2ZCVUZ2d7KmdUMWVIR2d7KEBiKkR+NnheO0hnQ05QRkEleFlSPEFR
KypNTUB3dUcKejQ+PSpGWEx0NyZnRCYqdz1IYVcwQj1hZkZWM001LUMkZ3lUeEBvSllfeHpSVyhp
ISR0S1J0VVhTPmNgSzE4cTgqCnoqSXpiMmh4ZjU5ZUByPXtqM2BQR3hmTmRnZm5xMTtLTSlre3sq
XkUwX19va2wmaTVlP0w7NkYqQ2VkfUNHN0wlJgp6JXloNShSK3l+d3h+VFB3cmZ8bkZ1PCVBIVlW
Zno+b2lEcn0/Q2JIcmszUldALShHeG12RnooKm5XbDA3Z1gzflQKem9vNyNBPlg9WnwmJXo4IUx1
WDVSbz0jc2BgODtnYHl+OXl2QVgpWHgyXkRnTXppT1ZJJkN3fXVANWt2O2NlYyVNCnp2cT97NT5B
bnU1dH07fl9faFBuRWVodlFVKlBVVzBrJD4oe1M0SkdIRFJEU0E5TWs9NCZoYjk4N1F4bjZRTDI7
SQp6THF6NUc+SFFxMiRXSWI7WkBleEkyej5LSykoU2BjRzkzdjJTUnJpcV9kPWZZKE9ZVyNjUk5o
NE4zO1lrNW1nZ2kKei1uNCU/aHYpcXdERWpaKTRHU0ZCOzEmMitxaHokNztrKlF0bE5PSis4VEJH
fEBnTl9yX1VkMm5WXk1uaGUlcnN9CnpfNXcmLVFednU8MDIxTWYkXlRpZEs2cTx6ZVV8aldOMm9o
ODx6TjVIQTVVS2FZJXkjPDNGLWQqI1Ekcmp2NUVxcAp6PmVePittR19AWDdKSTAtIXFfaHBFVFIx
O09YbHpwOU9NNzVod2tjQ2JzdV53PVY/NH5laGR+Oy13cCt9V2RBJnUKeldPJlkwKkpNfUdqN0lg
O0ZXMVNhVnpDP0R8TH54ek9uOUkwaWVBSkV4amcqbU5kdEMxX0h5OCk4cjtBUWBwLU1ECnplfGgt
PmB8PllOdEt+TztUKmlyNFVgek9jbFltKDZrQXFBRmZSfSUwNHEoeytuZHR6KVMmZV8wbzVmeX1e
djF0Twp6NUZpVCkhT0slUVkwMFlwZF9DfT8pK0U/e1dpfkEqLVg4flhCP205cERUQGd1ezxCWDV4
YVNaeGM4bitySmloWUIKekxCUCloQlB6eGokQH1Nczs8QHRwdlEzMmYraVFPd0w8K3BUIzxZWW57
RGF6KkhNajtDTjlzPTVUbUtBZj82Nz0rCnplT1VeZlQ+SX02JWt1SUEzJWAwIXVJVFVSVGYlRz1E
K0c8VSNEZ3Q9ZTJnczRtY3JYUDsrfiRedUZhYDNha2x5NQp6P0B6VWpDa1RidVp2RT5EZm0za2xX
ZnoySGx6VUIpSysrYHEydHMlJHokKCMoQjdRTFZVeCV8LSNVM3MrSHN7OCoKej9Ab0FPdkYqeHtJ
UCh4JWl6cjBiazZRKj5pPnFsUTg+TjMtZXNKKkIzQX5pSXt5aklMUFNteSk5ZGdJenRWJF9ICnpD
ajs0SWphRXE9LWpiVjdULXIlOFEjRkZta3pTRTlyUEpNaHRtMTd0NG08eWFKLT0wQHdFamRAT3U7
JXkrVmVuSAp6ekw/UiotTUJQPStfaHAyNlF0cDdOKzVYQEo/QCNEdXs+ezIhKkYwMlBuS1cmc29X
QHFLWnhWY1VrV1BMK2VqYVQKejtNfWZhVEVCbWI/c1ZYfUFlJVhZeSg3Zzs8fDZBT04yK08+Q1VO
TEskTWFlfCtaJSVDZjVNe3sjOF87I1VFJjVZCnp3RWs2OXdnPjYpUHZ4XlgkbWl6bVYmdSpYZz98
NnYpMCNtWSN7bmlaKUdNejRiPkBzUnt8RFJeNyljJCFCKko8Nwp6K3J7bn5wSS1faXVoK3dlKFFL
KGhLN1BEKlc4RH5yZSpAdipAQlhyJVooUT8zO3UyWDFvaFh9fTc1ak9KOUV3VVUKej0wV0AzX3po
QFljRG5RYiMmWkU1ezR3KEJWa3BfP2RkNWpkQURmSFpwWUxae0A7Z3N8dGpaZEY4X3dKemAodjJE
CnptVkkoKCRQdkd6LSNrIT0jY043bntING89JnFlITdTRjxWTW5FKEN9c2o+QEh1ZnlyNG5eQ2FL
YmNnPFNqX1pfRQp6VWdzZ2lROyQ7Uy0yUlg2MF5TYFJMc2ErZGd7WWtjejdXJSMlaDV1fTYtRk1X
S2tnQXo0OWdINnpVM0U4Y1JsVkgKeipQfT8pYXVyc0tPTWwjNSoweHd3U303Yis8ZD9RUHJkOU1J
P15ZWHRhNWEjaW9EQilPS2JFRXpuRGB0ZGMhSVY3Cno3QCpLKHN9NiR4MVFKNEhoQXYtdSZpUVo0
RyZUZTlhQmV8aC1ZYncrenlyOEN7YV9DeHB8bHYxakQ2XyomITNrKwp6PGd0VWhfQlpkMEdZU31o
OEo8QSgjJVFWWEFWQiU5cGJIUntRbyZ4bTZGYjIjMUltaihmUkoxU2ZUbzNYME1iK2cKekRMNEl+
YHRfTCRYYStOP189QU1eUV9Dc1gmTWJxOE4qSjM2SXF1a2d3SThIVG07blkqRUFnb1BMRUJJMXFn
aC1iCnpLO0RFKipabipJaH1rbnheVW9tIT5UcHhBKDQqPX5QfXsjJiUrRmNESEcwU0JrN1hzN2Z3
VXBtPXlqbXcjR2Q5VAp6VXAxbHZESTlyOHBQJWxZIWNCeT1PVTF4R2FmNXZpQWk7S0lxTytJdyFH
YXxUIzZFczYySERjYzQ5e2hPcXwxZH0KelNYXmx0czJDeigoc2Y0ZTYjd2tIeU0jLSh7Vyg3ZEgz
TEFNak5YXmB7KFhAcTU/ajcpTEc7aD0xWURudWsxNXVCCno0ayVuSzNoWitpMEdUT3swcDc1city
T31xJl80TGAxJCZuLWZIWUJAe1BjWXhGPDxrbVQ+aDF9X3c0fSFCPnJPbAp6TS1ZJSU8ejxZe3ll
dmFCYVdPRXRMWHp9QnNDVTxZYzRYalV5ZDAmWlo2cUE/Tj96eF5qQVlWc209RUkrMHNBcS0KelA3
PzgyV2ReNH0tcH40YEZZeiZlJXtLOG8xZSh4I2FUbDFHM1JGTFZBRDRfNHg+Jl5PSUxlR31AcEte
Q1hkTFduCnpgKzthPURTZEozOykzTjgwSWFDZ1hidk1sNH14ck9Cdn01NTNJV19RMzZ5aldVP2Ff
ISE5R35HYExYYDJ5M0NvWQp6T0U9P2xFVmJOazJPdl57RCNvVGg3NHBHfmQ8MUJ5RDJQcTRTUXso
TCNHMD1kdW5+VlI3ZHhPUClOaEdwK1p2bXwKelJAWEhjM0ZfI19Iaj16ZyRgX2dxOUJMSnAmY1hp
SjBUZGh+Y3xxaVVCWCR3cEZSfFRfKTVQQ2k0TiVWd0Q1YitZCnola2JQfHorV1lTNzlrMiYxdVFj
cGQ8e2RsU18+NFl0SklsMXt5cUgtRzJ2TnVoXn5SWFBzUVRDeUkmSTkxczxpRQp6RFlwRG5aSjAq
aWBjXiN2TEI5alZzSyp5QD9KeUNzPzt6aHdAaG5gPjQyd0JJUk5vaWR6NTArWHNpJTNmKmlMXmkK
emFeby1NTWE5SUVKKy1+V0hEZTB8RXw+aFcrencwZEElJShMZStUXlohLVk3NnFCfiZEM2opWGVG
M3lCYENYPyh4CnpqQmYoQHp7SGF9QlhEaSptPjUhUVRKfnc0XzwqfWc7NGt2OWt8WGNCJlcmcGp3
OG9OR2w8O1VkSTcqP2hScXJwKgp6dFdvIzBFKUwqMzc8Mn5kYX5wKGJEbUlpNUc2dHlManxveUQy
XjtaaDY/ZGBHMVE2bWtVNiY3cTIxSWtIKnAkbDwKej93c2kySD1HKihvKnZoZ3V3Q1M7Ujt+ST44
eG5MeVZVZjd3cGl4UE9GTm1FejFWaU1icG9pVj91bHE3cmVYUGUtCnpPY0JAZ2ZBPiRCNlRCO2FB
TSQ3ZStuV1UmVS17I3MyZWBlM2lQdlV9czMzTj9YO3pXSmJWej1qKzhyZnBqM1gyegp6VSk/MFVa
M3N4PXVpPjlUcHsqNlIzOD40bz1nUWg8RTRYe2kwU3dDWWglJDlQSCpaeiE5OHg3b0RrdSM9YjdU
YjEKemhvSyFrPEtYYDlwYj5uY0xxcXFZJjUrJU5HX2NMITkpc144O00+O2A/VVVkPGNKYWpNMUp3
LSFhR0FtP25GazgtCnpWeXI0eClle1U8QGB+P1B5a3dTflJISF4ybXNBYXlBa3ppKi08YW5TSndG
WmtXR1lvO09qYWU5VTcoYXheeFNKVwp6dSZiUVYpNmxsUl50JVJDMVItcUh1enFrNF9wZHNJViYk
b0c8RWptQkp5Z0g/NEJ0K0oqVFFjZW0rOD5NT1NXTkgKenEzaTM1PndQYFVgYF4qUHt6dVQ+JV9j
UUJIMjstKUZsfmRaejVCa3VnQklxfUpkOXYmWUx9PDAkSHtyVGUwdk5hCno5aH1GRSZVKlV0Tzky
NWooOUpwOFhBUWVRJEBATkZUUShWbUNyfl9FPUlQayNDZGE9TjlfQXRfVkotc05fRWRvPQp6dzJj
di08TzY7d3ViKy1GNTx3LUNrIWh4NEgxb21wYjZEaFQ0R2l+OTJlejBqWitIZWFvTDt4JVpCbEZO
QjBubHIKej5VNXtRWmooNWkydnlyazcwYWNqVTJVdVQxP1Z1dVFNZWI2MWJncExRRn4mNUpjRm1Z
UUdUT0A9PzgkQTF3ZmBxCnpkTSlUYm9IUDdZc0x9ZWkja1QtWlBTQ3B0THw8RD1sOyhGaE90UVJe
QWEweXJDM2F+NVdEZmF8UGtKbXchREgmcgp6OGorKk4jZyVyKjZKTjhIdWs8cn4wfEctcUdsP34k
YGg5akUjKnJyKC1OdjBEeXtxSHIqN3FsNmh7Szd5Ki18YX4KendeNVUxSH01fDlDNmtUJmc/UXxK
ck16KDt6eDkyKF9AeWIjRlpDKlB1M2FpdVVvcTE7ejBvMGpvOFJPfFgtaU15CnpNfm9RTj4rOTcz
Wmx8OSppbHAkcEFwZ3l8elY+Km87dEIzPVNye0JhUmc8bXo9PTlzWSVnTzBETDhBUCkwYXF2SQp6
bkJGe3tle1N8UmV5O2xgVjAxLTVBZVVjX09OaTkxcW5HVlhSTCQpc1FFR3plYE54aUh3Sy0peVIw
d3hhWHxYRE8KemxTWC0qKXdjbFBVeiU0eFZDP3spezBQJTJtYU1Ve0AqTkspSGQrcWxkR1dRP1Bg
QDtkSGI5dnc8djdBZHkqc0NWCnpNZnc9NWlqRSpDSVNwMjkzbHJmOHhYOVYyVlNJRHlsVkAkVD4y
NjlHOVNlNnhUIVR2UXVSWUYmPjl4e2V4XmxnZwp6S2ZUb29TTThXPzBhfj93fEgjLT1vezktVUo2
JC1IKzNaVDtHfihLNShDeDgpQDlsVVZub1FsOzIybU5zM0FHeGgKemBuI3RWIWNNfDxuXm5faE8m
Q1NtPE1TZjF2UzN4PXdMcjUxfEdAaiMkN3N7ckFfPCF8PGBfYFFXYFJ3e1dIVzU3CnopaktVT2Fv
dVhLTGsrVDZ4NkB8VSs8JSFYZCVxKnNlbT9YelUxOVBZWjRBTz5wZio/Z01fbWY1eEdPRDE2TDxo
ZAp6WjYqdW9xMT9jSHpQPDtzYH1WeEZLeTUlS3heaE9yTzMoNWwlJio9I3FxfSVzUXlyfiRZcmxP
P3ZoTy1QPDc+NV4KeipMaF9mS2pUR1Jmc0JtV3MzJlJAZXk7RHZocF8/YEt9K3xvXz08UkhLVX1N
LVRwcUN4XnVDM2cyI2RBZ0Y+NjF2CnpqZUB7ZFYlMkclazkmblpmM24oRTgze0A8N2B3RmwrPWpn
dEBgdSQmPjNuTEA4SHJyJjwpcjJhVTA4N0NgOTQkJAp6eG0zdEY7akt3MEtZJSFYaGhfdWk3UF8l
TiE+Zn5ARSkxd05zfk1VeE1LfSt0ZUMlbzVWTyh5elZZWVkqZGpXMEYKem93I2QwU0NAfFMzTWFe
Ql40bXZJZSkkLWc2O2xCO0pnT31PJmtVYzBtRXVUV1R6c0ZGdDduNGQ8PDhNTDttSDAlCnp5ViQl
NzZAeUZ4dVd3LU1nc1B0RnRHS0lrQ3YpPTlkI35FQi1AeT5IKyZVV3lTfkh1JEtkZ3xvYVY4dGgw
Ujwhegp6JXckNWhsV18zajJCbSp2OGk0LUg5azk9Z1VpbEhDSmYycEBFWk5+KTBZcDxuRH5Gdzc8
O31RVjJge1cyakJOd3gKekhjSWZxR09oaUA4fW1jOVJZa3olKz07YTB3SFo2Xlp3dTNgT157YjQw
d1ZyR0R0QWpWal5geztKJihKUkQhYU9RCnplMlEkJHloNGkjWUQkeHVsYyt2NEcrNmM7K1oqLX11
MHk1MmQ1JTJmcG88Pl9fQ1dhZWJAU2MybTImfTwjITtBNAp6cngwZGMqTExkYW9JOzN1YSVDbTtO
dzt2QCthSVFNT3d2ekp1I3xBYVNNKClBRSRhMzFHR2JMYFkmI25sQW1gZGoKekQ0ZXpYdE4/Zncr
VFYlMzRJNzI7bndGdVN0P185TDZubXtMeykqOFgyJipIQUBYfFg4TWBYWnhpfjYoRDl6T3cwCno9
ZiRjN2x8N1NfUytCS216MSZUS1hiOyQ8TW1iVEBrTk5ncnpPRyl9PmwwX3lRbUBJRVI4bUNxN2Ra
cVdmQFlXbgp6dGd9XlBIMWpwcGBEMD92ZipjRS1BQ3BofTZgcG9MbUFxUFdVPndAcD8qI1Z7eUZJ
cjE+UD1yPmE2cFUkWlFiZUIKekQ+eSRSRTd4SnJBSGJUP3tDO25wbHB4NTdoYWQ8ODdDRUo+bUdq
UE9RdnpNJmdXOEQ5X3M8bWp6VmBaQyY/JEx0CnpRU1JuMExmWWAxP3NoeT43Rn5QQzU7eXEkRURQ
eEtwb0VJK3ZRMktCOVUmPzAreG5rSU9yfk1QdSVoS21LVlFnOwp6SkhAOWhgcEkxN2Y7WFFjeE1J
RUg1U3A7T3E3djhsVXZXXjhkLWIjRihkQWNJQH5rUmVPc2E1bnMmcjRRRDk/bHcKejg4Pm5XRn5E
dkhDb3QxTihwQDE1SV8oTmRZZ1l7NStjd3d+WURvSSs4WWNnY0p2YUE5R31RVTtEMzxkRyQkTjEz
CnpTVShAYiMwZz0+Pm85U1pnen4rMTJTanh7KStSYXhaNmZtWipXTyRgZntBZUchP2xEe3ljN0tD
SUN9RHZyYntHYQp6MlE+My1mM2FaRSVnSWNqc0BGKGJIZFpHezNCdUhGNmgoMyZjXkAkLW5yJkpK
c1VnKWohRDZpaEhETEw8QSkmMHgKejtQfjtvZ3MyUE9hYGx4Z3cjeFhnKSU7UilIa182dmtZJFk8
UlJ2VFp7PG41USkwNzhfWTdOc1dhPz58SGRiKlRkCnprbyFxYm4hK2pebDkzTkJvYnlFMihQdzBX
Z2BfKzFndTRzdDt1Q35keEBFJTZwRGwlYCZ5Wkx7T2R+YEJDM0MtPgp6SUwlNlN2THB+e3pTKmsm
dFpze2RqakFZNXAhSSFncnRnODY3MkU0dmJkfUtsK35WeXt2XmEjUjtnYDNucFFwM0QKelViRkgw
b21SZ31OIWRRaXc3SElrVEI7bUlEaWRGTHVzdkJ1MmomeCUoQmU4WE9uKm42OHZwK0g3c21BdW8k
ZCFCCnpIbG0wcmo+fmpNPjI5Z05tcyUyI0tobU09VEtDWHs5Y3toTnRxeFZeayFpZDY0eXJNey17
M3FYaXlkR3MyQl4qbAp6ZTRqRmNKeWpheCZePEhARllqeUhHWXg4UXJ8VUY7STleWEVgVTcxdiFg
P2pWR1AoVD53aW5tb2JJVFQtWmA9YmgKek1iMT9WY1JLbFc1M2dpQW5ifHtzXiRXU3hCcDRaOUp0
JXBzV3lxcHx7JVZlMldaK0ZTVyNjZHVERz5mNj0zVHYmCnpYeG51dnI3dTEtelZgR3BafmZXMF5y
WUtQe0dlY04mPlE9OHY9SDskPmtpfE12cDJQVkVAMUokJip4QHlxYmMpcAp6cEwpe2FjaGk4WSs9
SUklKjk3YCglaCR3UjtjS21mVkExfFFDbiVKMUdeZSFqYTYoPEtxOHBEQHF2eEs4cERPRVMKendH
SEQyYkEtNko7PFNsc0IhJTxFTH0lT15xQlRUcipiNz5sWlZkVGU0OG4wUXBoVk4kQF4lKntIIVA9
MGVwIVV2CnpWKTE0YjZGeyg7czZ9QGB2fSROWl94WmsrPnVmanRRTSpgXlI/TTJ1Q3d7M0plVlNz
QUFuSmo7dVROP0FSfTlQbwp6T2xGQWIqQl5wT1lUUCFBMW0kQWRhbWtJMEVhJD5uK25VXlNfbzt2
TWg1NTBvdWVvOG0rcjRgZUc0OEtLIWFmaXcKelAjZ2BBdHlsSXo9SiFrTFltY1RWWDcqWnAmT3JQ
NCs+ZERxSFE+UUI8az41a3oxNjBOSHdwUyU2dEk0SFAye0Z5Cnp7NEY2U0lDeURNOEQ7KCY5ZEsk
JnQxMDRJQmA1LUlIIUVhRSFPWW5TVX5eaTZycW5sX1g0NkF0RnpuKjAmYzBKPgp6M0JvOXd6K0c5
Z05YYUA4NmkyPVJAcD5aRnswPHxVQ1JtST1nKCRASllAQmBPKnwrNSNRbDtDSShzd2JCK3NNPHQK
ekh6eiMzUzlrJj9IcXx7KXFBWihsKV9kYHdjbEUtejt8KzhxTG8zcC1wI3FmQz8zTmJ+c2khcTA8
K2hPMHFzVCFOCnpufnNtVztIPSZxbldsPmBwOHMxMHZHfTBJbGYhRFc1eDQjMyk9O3FhTEIpaX4w
e1J4IXk+K3RVI096RiNmU01Ccgp6d0JXVWNkMXVLZjBiU2w1TzMzZnEyUEY/YCNsX0kpT2lLcUE7
WE5WTTdLVWt0UUtJaGtZPGRVJnAkQT9ieDRQcUYKel5oYTl5c0xBP0Qodn49N254SVNWZWk/NGo7
WHclVipKNkZRV1VOXkwxNigjNWdqVnZ7PlEzY3wrYTYxfEBKI0ckCnopfFRGWiN3MyUodSNPeW54
KEo+c1ghX3lOaz1heCZeS3xFMCN4ZDtrcXxnZDtXai17bVJARDRfczgocihXR1NlNQp6aH1hO3Vw
K2JJaz14LUs0NiNnYGZCd1NlZl8xZ1RhTmo9bitAeDZJQiZraXVQdGFRaUJ0bXQ+Vk5yfWttKnt4
dUoKeipqOSpeZTtFPT5pVXwkflRrI1RmK19ocUM/ZiY/aDVPRkUoRWdvPXI0dTZReGhmMlZ4M29E
Z0FAaVI+WjgyWE9xCnpFKFpGRXR9eT5ARmlyMHt5VCRDbSZLbWVXJHp0c1deeGhlYER7XnA8cntv
dkIodm5LNE58RlA7bT93JiFVNShIUwp6aGZJQGppPCpQM1VkX1lSbUVMRk1TUFY/X29tNEp1P09w
SFZOaHQ8RT0/PFFIMnQ0cWdrJVNnWGZwKT5KNUFVRVgKelRtUW16dD41OUZsazZ7PUpUVn5QViMy
PmEhWnQ5RmNgK1Q8YEYmRilqbDFhU19zOWg+Yz96XlRuPkh4KF5EajN1CnpQcjErfSoxTERwJUtW
eG5VckY/bCtNcGtLQTUzQW56cUoyYkt5aGlteTxZTyhOc15USiUmSEVaNDNWb2dQV2ZvaQp6cVhW
RkcxVmBfZmAzTjFOMTl8KEhsP3Q8ZHcmNTYqbCVoVkI2V3NlaSZ9YFFMS2dQX0B0PFk+KCNGQ0JI
KVNZUzgKej1za3krQmw8T0RIVytmJnstO0V0KHl+UjBiREBBMGZzcC1IVD1eaER4Sl9weEV6UnIq
RmNjND5vX3pYIXF9ZFRrCnp0QGU4VXc7VUVuWGs4V2Mpcms8dCstIWU5Zk1nZm9kPSp7I2pGeSMz
Qml1cjJ7U28oOF9NbnleYnkme3k3OGooeQp6eFFAenBnfEBMdm1LT09YOVRMfSNUPHE+JGliZ0Nk
Qm5lNnktaD9ZKEcqVSk8OUpkJGslcE1ocTM7KF89SGBPe3oKemUzLW9qZ2RwKnhqZl5HNkJDYlRR
djUpJDZMN3Y0UXowRlEqM3wkRGBRRzFibz1PTk9PJnw8TF9qLXd1NnokNyZyCnp5T3A7c1RiOGwk
cDAxamBWPHNSO1l1fiM5P2M9Nj0yRj5JaF8oczhjYzJOQlRXcmc1ajVBa0V9cVpRemVTcWVJXgp6
XmpgezZXSz1yaV9sbmU5NUVOdU4qTXEtOSpBKkNNJChYNEIhaEJXYjlJTiFMLXdRIzY+aypMUFVa
eCF7TWgxYGEKemFKNmdVKGF5RXhePUk+VFJ4bG1wNik8cjVhbldoZE87JS1aXiZaREM4cW96MFRE
VT1laFMpLURVJWQqZWJRZytUCnpidyV9QkgxNlNnbnRRZWglX0lPJlAmcFk/U1V4eDM2eyl8UHVj
en1KWCg7dz8taEp0RUpBPEI5MWl2VkdkSVkzXwp6ZDRjQUhxJTMwZVdBPjglZjgrWiU8cjE3ZUBM
WX4wWHR7a3c5T0dEaXpTSzsrQlJOVTlYdkpRQXBXeCFpaDBKTVQKelApdyNWZCRpOHtlNlA1Q1h7
akBqYVJWK09OTHtzeDNNYTkodEgyfTZMc2R7U2AoMXp9YWFScmJqTDJ3YD1uQyg3CnpjKF5Udj5R
bTNyc247QF8mdEVDe140cmRDVSk/ViRGM2dYLUlRNHFmYz5TQXx6WXA8JmBSaGMmUGB1IVFFRE40
cwp6SzM3bDg0QVJRdkRzOEUjMWpZQm91QDFFNEthU20pI3ZCRjJifT9tJUBYQG8hJXxsOUFxNWZo
aFE/c3hlNmE0Mz0Kem1HYH5QUEw0KXtYajZ4dExDcEEpNElHR0A5U2lGKz1Kbm85dz18dCZySGN3
PFFTUSMrM2pvUDBMeUNve1o4VyUpCnpkTEk0RiNOen5qOXN9QU5KSFF0Vj0rPHY0SDs/QmdKWGsk
QGF6YGMkT3RLekpjUU0tUT17aWJIU1Q8aHpAUEJXKAp6Nk1MPV5Cc2N6JCh8bj09d31WR0Yzb2Ff
djt1IyZ2Y0haRld4cEx5IXI/JSZoQkFNcU9DSFRhaXBxYFlUT0JDTiEKekRtO1lXWkBOTFYqbGVi
NUpvfUppVzd6Sj1nKH50amRIdk93TCZTN1k8YihEcSFUR247PjZXO2UqZTBNfihjXz9SCnopOWM+
T2tONFUwVWN8dlp4QldEUUtSVFNWKUVDe1NSRH5hZSFfNU15LVplQkZSWXZUWWZ0aFN7I3hsaSND
JVdmSwp6WVFtQzAwPD5layNBOCk3WV5mPyN4R3RWZV88bTtQazZgRTZnSTRhfWZLIyRDTHZTR3dK
bns1bnt8a3NpUVV8eE4Kek5JY044T2Qjbmc7YlohQUVaSTZ0SX1FVF9peEZHWXFzI0ImPl50b35D
VEwxWllTRn5xPktpZEVoRjtTd0YwUHM8CnorS35MVispRnB3ciNXKFEoQ21GemVWP211dEMrTCM1
RSNvSkRrSVM8OUooOW5DYThqdHJkK3ZxJV47NyMySHFEXwp6a1JVdDw2UzA1cUNNTzlRYVdINE5X
b0YjPyhvS0w0dGBpYUJ3XlhvQ19wTUxYQU5gR1pCbDAhLSpOa3Z9bD8xYjUKemhhZmxuRyk8K0U8
Z3RAVHVTTzhPe1BaazF2ZTNFM1doUXFvNHZ7ck56QTxubnh6eEJwa3lxZD96IWJfXyl9S0V1CnpR
UnRDNjZ8ND4ybjs7Y0U4c0gyMHZRMXNRKmpqblp3fGoycmFBK0RhZFl8WEB5ZkgxITQ+NmpCdV4o
Ni0tMEhtKQp6JWYoK3JJSHlZSGBXNVJaPCR8MD10aUAyKURyXkMkZWxwY2tmQX1rJWlmZHVOTn0t
dF92TSlfa1QoZkRmcmRMd0sKenYwJTlqQzI5JC1zVSYwZCo4NUZuT1J1TiQyNFEqMFk1Qk9fU34t
TDJMeX0kQVc9JSlYbGFRcDVGV2FWcFlnQSRQCnpfJWhBWD03ZEx7azR7eVJMUytkZXNtKGhpcygo
Oy0xPSR7VDdTTihjS1VTaWEjLWBlPHJCMUVyLVczb0FmRDAwMgp6Q3tSYH5iR3orSWRVTjRxQDAw
cmtOQnhpcDllOTFVZEd+R1MtfiZNakY5dXBTOSZ2a1ZaVD1lbXVwTk0pXzRELUQKekxrPGFUI2My
X0liKCEzcTAlZy1aPFc5KE8oY15WRHdPK2tEUTROUmpHfEkpS2B8Qnt7aFZ5KztBdFdzRzsydyZA
CnpnI0RyKylaMF8/bikzN3UkVk91diY5a2NTal5UPk5za19QWmxGJCZITndhU3w7Km90KWc5fElD
b3piNHltQjVLcAp6QjRSUDVVd2paUy1FMHV2MyNQKmdiNDklS3E1TXtnWkpXKUgwVG0yQy1GQU01
dktiI0tIMF8qc0Y7aVgzeWZjV0UKenB4O0paYjdYdlJvU3x1O0k7a1JOX0p7LT5FSHU2O0pFdSZr
UWlTb1NHciRJKStgbSM/Y34keFR7RmNiQSN9UFI0Cno1SXVYWCY+STAqMlFtRDVpIzRPaittcWwr
O2xjS0smOUZXcTVgN1N6NXp7SmVvd1U+ZUJ8ZWxrO31KYFVMNXx8KAp6ZWJwdFp1RGtrTipDQWRh
Xk9CWTk5XkVoQCkrd29geEA/Q0RzI095OG9ePUgodj5vSSlqZW08fTE9ITxkJXQ0KSUKelJOa0VO
O1VOJTRyaVV6PHZKJXlFLWR0LXJ4X0QyTUZLNk01eXd8ZCpgQD0jUlFZOEE0P0xTMk5qRTJXR3tM
dnApCnpDUDtSPGdeeT4jYTFMd0BgWnFHMHAmfFZ+RTJhXjIld2k7ciNha18tUDB1KV9IakhVWTZV
UDNCVjIlNFghNzU7OAp6bD53bVVWJiM5Sk5zdHh1TzEyY284OGA7MWc/VEF4dGp5JiRjJio4Yytr
TFlpcTxRRnZ7UlRsSkwqIW4lNG4wS0IKeldKNGZRbz9MIUUtU35wdXdYTzJVdjY7VGx3OE5mfU9U
WHxfLVVCcUclI0pRYVA7RWtQOHVjPiM0JUJAPSUzSGhECno0bTNXYlV+YyU9JilDdm44NiYxe2lp
YXtjK2ROUD1vdl9iTWZRfDQ/KjVPNXFFaG5qMEczLSVyeVI9KjtyMWhANwp6RzRvZ3Q5USRDU2Vv
cEVlZzlGTVhYWHg4ZChvJl9STCFQJWZ5TlNCQDxzO0JOeiU1M0ZgUnRQbEE/bEsxKHZpJjwKej9x
fFkrQjlPPztLfHZlZG5sRDtOa1Y0QyFwWFJLUloyRC18eiYtPT8pdSNOOXVXMWR6c1RFPipQMGY3
MG1HSiloCnpuKDQkPEdHQCt+fEtlOHtgQCN2QjlpNG5wS28hVGxOVnMlV3kwdSZUITw0JUxIWWZK
Skh1e2EmZGFXRko8c3d1Kwp6eDs9el5gO0lRbUZrU00tcnloJHAyfSt1dEJ6STxkTnUreHlVQ2dF
fSZmaG0/Q0pZS1gmOXpHKEk3QT51MktOa1gKekdiLW03clQqaEEyX3lvVEhuZE4/c3J0b2A5M2RU
YTRsNnA+MD5UWGcxZTUkMnZuT1l1SD9TYUkoQH1QNy01RjNTCnp6ZTV7O2pfX0xOPVJ7YjZQM1JN
ZSF+ZjU/PlYqNT84IyFzWVhYVE5rQ1BaQ2hiZjlVNHN8JEY1cigjdD0/UFpWIwp6cipwO3soPSE4
UnoldEAqQVlRezNCKXthJmZmN3V6R2FNbmlvbEcjdnEmSGNvdms1OGZTNkw+M2ZjayFIQFAkZF8K
emVNNWs7TVdGRy1jN3Y+LWFRUDVnQXMpU3koSHYhUjdtKFlXe0UkN2xnOD9LNkY5V3FrNU9BO2Aj
ZU5QY05DPFN7CnpANm47ZGVtXzNGaER7JHF7XmgzdXZpNTF5JmdOVlF2al9tK1ViI0RCTVQ3Kjtt
LXk1QGsmeDV5ZHVTPENCOXhzfAp6WGh4VXkqfDFrZyV4ZmQ+LU9pYEpsPDl+P00jZnslR3hnbWIr
b0lsZHMqenZJeU1LZUt6R0N9bnxEWGVya3B3SF4Kelltby15RlUpY2tZIVIlVih0JX1CezRMfC1O
T0lNUCt5fklBX2ReMWs3RUMxRzBBN2o2dCRHJGgjK1g2fXgtZ2E2CnpCNGszTzExXkJNSDtmSDBf
VHIoQi12WUNpMTdMeUlSckhSLU9BXkxvKDhCNiVGU3pMTCQ1dm8tYlBeaWJWZXhiYwp6K2FTXzE2
Yj0wX3pYaFpUZCZTfDM1d1ZaVi1hOVlUTDAyUkBVPXU8RlN1VjFaYlZ9UmY5eWRZaHV4WV5jQWd8
I1kKemg7RWUrPSEzPiE1IURpSjdTKnlgVHBKb0FTNTFnWTQ0TmxBSDZnfFpVU1U+ZGdKcyljczRo
NiYpc0t8fEdCQFBQCno2dlkwdmRKTldIODtuUG1kUU81PHtHfCs8UlJMVkJJMjR9KWdXREhQWX0m
PUIpZSZFMChjYXNJSXwoISVNOUcxMwp6UEs8ZjZafD48WG5AeGZjandYPEBWVXYpSEYmdmkqQW05
b0NtP153NVohYmdGSipyczdeSD5+YzhZUF9EK3xTWF4KeiMhdXFIaTxzPGhMbikyXzw0P05VPEFB
WjE9PnooU1k9WEU4M3EpPU42e3tBa05mWGgwZXFzeG1GfEF5ISYtVUIrCnppVTBHWFdzQU9CVkRx
VC01fnMhZ0w4ckYlUkp1YTVJIyVEQHEzRlF5eDA1UGVBMD9MdyhoVD1zMkM9WmlKYDVoZwp6MjtH
aDFEKW1sIUJwMD16cWcrJihiNStZajYjYDYkPV9wPG0tQUktUTcqLWpjcGNRdEdwYXZraGs+Sjdl
U1p0QHAKejVFRVpxYFR3LXttUWhpelpUdSk4OWZGOTJHKVJ3aHcqZzNyXmJDektiVEAqOGx1e3kr
bDJTP3ROUH4xVXEjIUFzCnpmYEJrfHBMPX1ZejF7byRlPnZhSVM/aXA9X0ZCNXUtZlFOVz1mMG8m
eHZ1TTEyK21kaXQyMUxaTUZiP01DbCswUgp6NHdZdj0yfE4pNmpVWGFaKSpzVVBLendMIXhsOVo/
XzVTQnxJdXxwWTlPRVh4UlJFc35xR0Z6SlZeNHJCRG85XkwKejtyYyRjZGp3XilQITNJa0lnQHdD
TkRHVFp5dlJ+Rjx3JGpfa2RVTTlUJXBVRio3U0QxNDV3KW1lMlNzfnQwPDZCCnpHYjJKTCFQcjl1
PFhsSXdFOEJjU0JYNWM2KHdaJHQ2dSZ3NnBhUTdZeTwtXyMyMm9ad097c1NPPH1oV1JrKzljZQp6
KzUqX0o8Y1Zge3AkUnZJfEJzQGxpVWc9a1hpRVVPdj49ZDBOKF5FKj9rZEl5YV54anR4bHM0TUkp
QlZJYVBjI3wKenN+cz1GSHJISHNqVFJCKj5WNWZ1aVojdG1WLUVuKndlIXkpVHhSVFQwMnV3aXw5
PGEzcyg8bUNVUHlWTDYlOWshCnp1aEwtcj4tZmZmQXVneG1gfm9AM3QwZCR7YTV1d1N5I1I9T2xL
MiRXIUtQJiR3NEQtJUZMeFllaCFjPE9sc3h5fAp6TC00OXgrY20qVWFlYm42Z0Zlb1J7WF9uNTst
VDtgYSluI2RBR3pwKFR1TkZTUGVpfWUxV1pIJktWTFg5eE1LWWUKempNc2J2QEdmaTZNNCMlUShV
UDNecHZiOT5RI09Tc00qTT90Sl43MDs7KWBoMjxEemJORGs+NlYqcC18KWAlZkduCnpRd0UmRiRG
Z2BxWkpXZnhEe1c3OzY1MWwpMz9nSShrO2FFfmh4c09+Kkw7e3U5an1HVS1PeUR2MDx0Wm49NCph
VAp6d1ZoQ3x3QDElJVhuWGFPWWtINjZwNT5vdjNLdTd4KlorZyo7Zjt5VSh9SDleMXlLKSNAP0cl
UEZDMHVkQmcxNEsKejFoQng4d3M2eG5rQX1XSm80Z3tDRT9CPnYoaVZYVDJ1N1Jea2B8OCokakh5
ey1qTWV0PW4oVkdRNSMjZDlIMH1FCnpmeG5ocEBkWmRefE5uYSFzeik7YSVUU2YreUEmNV8hNDBa
Tl5SNE01PD9tWjxXKm1HXnUrcH5vMWJneUhAZm1OWAp6czJDMWApe25qdDBFUnN5QVd1MVcreD4p
UHVwfntoN2B6N2ByS1lfS2FiY3BEUl5XOXVENWIjSW1BIUhBY0EyXzwKenlifUF7Vn1kMioydUNi
OSROZ3dUaUFOc3dyMDltNFBTPUZDRjM+PEU/bHpxeHZGRkNSZHdybEQtcXp6OXteOUxnCnpWRCVp
NlB2MjdMUEQ7S25aaGV0eiVOOHkxNC0haGkwSzdQO2tfQVIqNCZTU2wwXlVvVDBRb0p7REtUZ1Vk
d0NvWQp6Y0tENnlDZEF8d21Fbjw5I25QeSp1fDBlfUE+UkdTcXI2fFp5ektKfnFGTV5GLUo2KkhZ
NGRyciF0RzZmQ0ViT1AKekUzJkRWYllQYW9NfTRtd2sqKkpXXz5gWiloPnl3Xj9wb2dmVWBzQSFg
KzN7X1Nod0kmQHgtRXQ+WExlN3hMKjRHCnpPRkVFR055S0J9Q3skOHJKc3JNMnRkdUdtJFApMFJG
XlRaJDslR1JCNWZePHpkNzBROEJHaXA1JWB9U0d5NnR8Rgp6OWFffmV0ZzNWd2xLXkhDZ2hXTGUj
dUYyNDIjTDBDJG99dlo+bWRCM2Nre3VzdmFXVX1gP3heSkombTZoV3QrLSgKekx3YTB6eldgU3ZK
dzl6YXdzJSVjVXd9RnIzY2I2dGd1ZlQqclV7dDhxPTt9Xm5KN3VgMXNSPUNGTExwZDdkNU5ECnow
SE1ENlkzb0dzPWchO1lWYD1qbS1yej59cnMoK3RYfV9AKkopb31DQi1BR1BrR1pAJGBJTDlyekYz
Zl9galY7OAp6OWBwUmktO1pPYkJ0fDgpPHUtdzZfPWY0UXNsWmRGPk4xQn07OzxWVSZ8OXNTQi1P
PlV7QFdSNSFMJE42RkEwPloKemZ1an0xbUdrSHQrKzNDa2VzVDd+YlBPOWd6N2FxX1hWLWt7Myp8
MVQ9SGc8cmN2IWxBYCNTVEZPUDhZaG52Rk0hCnpeQDhgTTwkNm9pR05mJVRAWEtBM1Y3cFBJSEtM
bHtvX148TVVuPyRudzxVUXA7RVVXIzxHSihfVzJDeENZP0tQIQp6aSF7bjlNfUtvdGZKLTJYfDhj
aFNxaWdCUk5pPlU/QmswZzM3NjE5OEFER2FyRDRGVlRvUXF4IXs3MipXP2tnJjAKejNaUT1vQWYp
OFkrYERHPE41cTFMN3NtPmsxcjBDYU43bmgyMGhtKzRYb3BxSlA4ZnwxX3kxTk5xNDw3IWZDaX03
Cnpufl5VUCpiSVZMXlRgYHwzMHdmck5TSU5NXmBDNEU2NlBuUHAwWkVoPmBMUVJGYjhmYCZvJENe
V1UyaEF7KWdgMwp6SWJyQU1sUz5IdnFoSlJBYDRjMVhGQkY8aT1LTDJjJVN7PFlLN0BaMzgyUiVG
c0VmSWN4fHBgS3tEMEYxdE03byUKemAyWHJoRkQ8aTMwSzBXYjl7VmZiaiQ2OFJLMiNoR3xHdCt2
Q0BDTDwrc2dJeHEpYmAmdTwtN0dkMVY1Z3JAQE9gCnphZUpVZEhrU3JgdGElNmYjTlRBSDx1P2pf
ZlJBRj9jeVh3WSVFdWNnSCteZysoP0M7VmMpMHN0SF5AbyYlN14ocwp6RD5QKD89U0Z+S3soc0x8
dX1eNSt6empIJmlNcztZYGA5T0c7Tz5PQTNNeDs1cSp2PVJVI2Q/KW51N2k1IUI1QGwKejxGPVFy
YHpWcG1afGdEOCYhSSQhUGQjU2IkR0l+b0VJXjArKlN+ZXRmJWxiNT4lYC1MekhGbyhtYHhTOUc0
S0UkCnp8OWhCcVpoUmtMalRPS14yO1dFX0N9Wit5citfQEwlMzw+MkZBcWN6ckdfSF9tfTRwNnZQ
T1ZETm1CZiNoQVB0Jgp6Uj90XmttamdiOUNIQTBfQk9ucUQ/dGhQV0pYe305PT19djR7SiMqQm5W
YksoMGVBNy1CQik1JShVVyN4KWBDPD4KelJaRiVWVXl2Pj9nZmN6c3YmfXlQUiUtPChLO2Zjd0JI
TjVJQjIqQz8pdl5GS2lKV0F3RTJ8Y1htQS0rWEF6TV41CnpDISU1SjRwK21GbnI7KUZtYGpkQFh7
dkspelNGX3B2Y1RUMmY3YlZwR05waCRGJjNyKEZeMzNubVAhSG5zPk8+fgp6WTE3UW5xT0U9V3kk
fW5+UHc9OFY9MmoqWGpzNWI9WiUtdGx2TV5GV0Zga0YpbGQxaVk3MTVgektubzhncmd1MTsKemMy
I28pe2FHPyMmUH1LS0I2fT43O1IpJmBOJTRWNVMzcyZ0Mklud30tekImVHcxRU9CZHFGV0VpeH1t
SkJkLUIqCnp4aWhFP147S343MC0oWmJYdDR8WFJXe3RfeEBrUUxUOHpGeDlKLUluTytifU16WCFO
PUhjeFR7ZkVpbWQkVWFtcQp6YEsoMUtBUDhnQFV5UW56TjVXe1lXPFgpYmN7RiEqPV96MTAhUncw
Qkh5OzRiaFhiRysoSD98UTxwQ3R2JFRIYzkKejhET0xSeitKRWQ3M2hwRHBjVjVnZ3U+YFlqTEEy
fjJwQWkye1UyNSVwZj9qXkBJVT9JaH1SZUV7e29NLTZsSlpNCnpfay1ZV01VMGA+TGRYYCVVbDEt
KDJSS09IVFkjRkQ8dExZMWBrJkBWVFN4ZXd6QiprSUpDTyQ8VFA4Y3QwNEFlTwp6Znt9SzUmI0R0
d254ekRnQ2pNKnlwPjZ0O0ROb0B0S0BJRDlEVDJ+NDlySHghKF5wREtLPjIxbyhpKCpsMmhzcnIK
elVjQlhrVmlIfD8yfmckZjk5RG5TT14qN0U+ZzN8M19+SjlPMC0pLUNvWn4yaUkkKExLZExYWGMy
byF2VWl7b2ghCnpBbUglO3s2PzJWb3JMTzFBZ2NXQTB6IWc0XjxtcE93VTJ3cWx3SEIyUD9eUEdP
PUJWaGVFYW0mVUgwYFghbXwxfQp6VW1eZD1BPGxIYjFQej5ZZ2tLZTVyIz52aXRmTT5qMF59NUxm
fGF5eXkxTWs/M2hFKyV1Q19saTZxZkpfUXdSSGYKejw9cGdMM3QyP0x2eCRtRSg1ay0hREhJIWkx
ZVclUzs+WXF6cylfZ1QreXZTUDF0PGdVUChTUnhxRGlQMyRtUllmCnpOQDQ9aVhvUiFvbFltQk8m
PF5NVlFGNkpGJHNpRF8qbnZ7bS1MXnpFZnRTd05lTXNLIVZ7aWZRP3A5NlFVdXM0Mgp6dENPSmA1
T197QCR4JGhOPVdFeGpTRjhtRm1PWTc7ekFBQTx1SGdCbnU5bWNeOU11czNpfVlkT2xIckU+WTl6
YlIKekpFTD9KbjAyY1FyQl9XZFdiKl4pQDcpRVomJT1AdiQ7IWhPKCpIPih1MUUhQmBBRFc2aVJJ
R3Q1Uzlse0tQdD9LCnp5VERaRmdGbSREMExXMXtHPlJndl8jR0o/V2M9OUNvfldlMG94RDswUmh+
Sy1DRGNpRD1xVT0qVFh6fH1EQlUqTgp6ZTdSIXFrfiUhPngzQ1FtNGEmYTZPTkp1aC1tX3J1WVRz
fUAoPV90ZzU7OX51MWNrYFlHQT8jaj1xazRFISNyTnEKenVmXkt4RFpxLTZ2cXVmWi1ISndXeDRp
elQ3NiVhdEdoaztsdSVwXnNZfmM2U0lgO18yd1lqWGw4JEFBMEhWcCpqCnoxYURQXlZlNUIzSjdW
eFoyKXJMZ2R0SEZIYCQwYHVqQHo7azhhcTVtczFFcD82MilQez8mbmRyZkJ4Xz1aKGNsXgp6d3Bn
QXVkMEBvWE9Lfkg9Qnl1elltVzJJQlNfI2gxNGRubTwxe1NaQFNhSihWbGReRiFOS1kmN15NK31f
eiVib20Kell5cyltdzt7U087OVBGWVg/cWVnemtqXnB1P2MtKyReeSt8WFF2bkIld156aW4jPWVv
NE99ZT5XdytaODl6LWtpCnohTmBgZkIwJjdyUEJiPWMxNn5QbW1yTGhoez9KXjl2YTl3Y0wkTl9L
byEjeiNucX4oay0yQ0J6azFQSjJIITdrZQp6KT4xNVQyO2VIdk5FZTsjc0BaM0AqU01naTF9eE5y
K1VsYUtOb0g5Vj96PFBuSWNyXkV1SSlHLVNsMUImNSVsOHwKenp0QUVjSkMhamArdG48RCMhbkxU
YWhuTEVVMClDNVJ2fHYpRWA1IXExWE5+cFNTKUR0QFpoJHtaWkttaVF+QGp1CnpmaiNnQDZjNyZo
dnVBdnZyLVFwVHd1bVV+eXkqaFdvQHJGU0VOJmIwb1dGNWMzb0tyTHpzUV97ckcyU0ZyYFJTQwp6
TzxnQXxBYEA4NF8/SWBwQTtadUVsQDdYaShpSyQ4SlB8Z2VveUt6JiF9eT5OMj1NYis0ZnQlTDgp
JU5qWXROdV8KejtJciZAU2UpJV9JeG53VjNSQTNfcWIzfn1Ic1h6TyhrOUpsdUJ+YCVBQTRZU3FA
SEotelZiaTVXdzs8WFEwZWMoCnowfmYmWCl3KjNnVjhFXihGYzwyeUBSKDB8R1lGX3FkREhQJiVv
b1FGdWI+PEp6LX40RnZMJT5EKmVGN3FgYFgqOAp6bXBBRXwtT2V+OzlDVig9K2A0NG9pbGMjcXdl
b1ckOWl0ezUrNkozOT94bl9EIXpYTiY2JF9HXyp1JFZ9XiExfj0KemFQN3VmQSFINF5JOz9LV0E0
WEB2Vi0wZk5xRGxILS1sfGMrc35VX1chfHJwZUJxZSt5QXhFMEIzakNvQCojIzIwCnp8SXcoKFZq
TTZCK19RIUo/NG0jUTZuIzMhN2ZsKHtOcS10ZmBMZEg5ZCt3YCQrWkB6b2NZSilDLX42X3FSbV5W
VQp6a2h6IWpQeU1KRWRJOXopKmNOSC1JdzF5WFh6WE5VPFolcFNTdGFIU3cyYE1+QmtvalRPcmZN
OVVUYUJhKE8rTE0KeiRze1FAdVI4a2Y0OSEoWXpndWYzXjM5KiZhTlF2e0k9aT1Maj1aUkk/Wiha
O0tJITVZV3cmPG4/bGJXRTd3M05DCnowaCYrVFNCZl9KKD9aY0tvPno/d1dUWVA9TVhAazFNRTM9
RHlIdE5AJER3Q2h4R3h2Snc1ZWN0TE9TbW9xMU8xSgp6NDF2PntIREJKaFJfRkRHZXl1PG9CJnpG
NW1sWWV7N0czUkdLNjc2aSR9emw1TGszI0BBNzdAWW1JPlRPdGZnRigKenteXiEzaSFxWloraCE+
eyZ9akJaKSRNM0goXkdZVUQoTyEjZ1F7dldwV15+NkBpJXZnRVBuWm9hQD8/LShNZHJMCnpPREEj
UXtqMHU8TEJrYV5MU0xVKVlVfmJaWUxydlF5IWI2KDg5N151Yz0kbChQalR9NSt3Qzl6U0hXVmxL
ZmU3Sgp6N2EtRFpHTVg3Rj9RO0I1OW9IQUBmdzBvK25GbSFsLUN4QmgjdGk9e2tWSmpmUCRpej1K
QGh3MSZfJjREKF5vLUEKelEtdyZ1RloqZTdCfGR8XnVUSCFzTj4pUURxKHczYUZaJVo+e1M2dmtV
JipAIz1URmM3Jm4zJHl2Sk4/TUw3Qy1pCnpzQUFwfTFWYmY7SHxxYDUlR2FOY0Jva3lESHhxajgo
M2JEPE9aOWhyPU44P2xXdjZgJWIyan1WWG9+LWpGJEw7awp6by1oc3RRXmoxemRUMWZfP2JVdCQ8
RnNHcU82PkBobXFLbFJtayU3KGdqKztgUWZFelYrWFppby1UWFlgVXc1flkKejQ1Z19FXjwqYzVk
U0hkfG09T1F9WUxAQFUpR1lURnt4MEpHXk94STdlYCEmTTJ6ZyFwMHV1ZiFSOVVeKm9iR1RRCnox
XkJjSjg5dnpnKTN0ak45KCFgfEBjLUhCVypGJGt3TDYxcF9nX2RaKGhTWiEqJlAkVSV4a347cEt0
MTkkN3N9OAp6QWQ5fCV7M1BRVW8kVl4+SXJ1Ul5sPUVMTDV+dzFgU2taRFpsd044PW9aUzNUb2tR
VEx7KVplPDhRY2UwSWxORHcKentZI2V5PFllZ1ZXUHN9WnZDbWB2OEhpcWNfNnQ8aFN9V0hzUTwr
e14qMVZTNE1ufFdyYjlnWTE2MzN2WHt4aXJrCnpQKGRkSGR2ZWorI3RwI2FVTkJVdWRyOG1NMUYr
KmdfVyZOSWtsbXVaNF8rRlAocVg+ZnUoalV6KV9uJU56dTs7OAp6T0dhR2RfMFAwZmUqeFZxciFC
aU9eem5qd0BfdVduc1VDYz5wd3NkMD1EV01MTE1NZzdEbl8kNTMpc212TThAYHcKengyZCopQGRR
N2h6clE+SXVSb1chKjRtZUNodllfVV9fTGpLeiU/a2gpbVUjT2o+TEVwT2dkITxreHwpYSolLXJ9
CnpTanR+RiljJHokdyp6ZmFSNUNEKj1tU0ZtcztIOW1iLTl+VlpGRlB7ZGRka1B5QmIjQlBPNip+
QnxPRDBARDZ5NAp6JXRGZSNuSmo+d3EySmY8cE1ZSFE7RnNaazI+R1hpYV8/IXw2fT1welRtMyQ3
WUhaQGk2SW1jMWNJczYwVjVTIXAKemg8NUYkSWxXMEMlYHFGS3U1eXlydGomcyE/WGV6bV5rWFRv
MVAtaFBOfFYwS2RxRkN7VyphSmxzRmUkflBsJihrCnpkKHBuRkV9WnU0RWxlIyNVdW9AazV8ejh3
MXBzIXstWmZDfjNXMTNiZnUoR242MXdLVj0/enAoKFB2KmhxdklZdAp6SDI8M34tdDskTFQ9KU92
aXpuI1dhRm0wNT5XQTRzZkxpRXhZWUJgeVFgUmwzWEZPMVcwYFMjeDg7N2JnZ0VEQUUKeiFOOTY+
TiQ0bH55aGpiMz9+YSg5UHBveGF3fGh3d0dgJFIyRk47ZTN6Iz8mT2pGJjdgbUtEbkQkWHNPY1NH
TzdgCnppNVBGJilRc01pP3I0NTN1fk1RdzJ5VTFxM049Z3V0aWF5aTtMPlZ9cWNCKCt6WW9qNFJE
fSFVOUEpI1p1Tys7YAp6dEBHUENGMVdKfHZUJXB6ODhhYVk+WjVeZHF5UT5RQ3Z0TiE/Z291Qkpw
ell9SUY4RVZlSW8hUjFaS1VLb2JoekQKeitvP1lHa35WaUE3YFhPcCREYT52ZkZGVEUwUjVqc1o+
REtRcU99YDlxXmNSWSRPbVM0SFU8SWRycmlBWGlHOVpmCnpadzYzWCNOWGcpRHNwS1A8Zmt6emZS
XjhPSiV9d0NiSFNfYVNhdl8hNEktKEZrXkFIPjlORTxFdUQmZ3xzQzNmOQp6UlNsZ2pVK2p6RTsh
O1dXY0BIcmEzbU59aHFpP3RoYkZVfSZVYCZLSSZSaTdqJnkrS0RYO0NYbmFnbG9kPW8te2QKem4x
LVduTU89VD1LPV5uNmJXYkI8MlVHe216MmZ8OTlra0M/bnFASGxneGAwN2lPWFJ2X21MMFJsIXN4
ZT14THdFCnpga0NvRj1qYmA1NCtnVDYmMn43Xms5VjdJZ3lVRjlwfG5TKD1HVTdWZlRKJUVCM09g
LWpEUTlhU1BSdlAwbnRpNwp6WHFtR3lPaipyPGMhZHstKS05JE1HfFQtVW1FQ2tUJkNfVFBYdlFx
QGVFfXF5MC1faW1TVSN6bV5ZZ0xTK0ljeH0KekdqRzUkOEJTaV9qNnRCKThuKWhvOFZ4dU9ORjVv
KEd5OXFAKjFHY2ZnSStaXmBuMEhLRzI4LX1Oe2F5N0BKUV5RCnpVZ2Q8JShhc1JlLVBZZ0pqPnFF
YmNnaiZfJTk/NllxcHV1THJpV2ZecE02YEVCZX5LfCQqYEQ+UUhtPz57Tz4/LQp6ck50YHdBUWM2
MGkyKnBzRFBNQ1IwOTNDaEwwNVBueyFeeCY9NGlyPCpjRyhLMXg+KVlnfFMhdmdBWjt7VEBjKWgK
ekp3anlHRDtydFE5I3JJX3hVeipaITJ6PFlUcm5Vc0xFKVFyQ2AwVHxvOzRYUmZWTnFoRmJYZ3Mz
bFBkSmg2LUdVCnpLTn5END9gREh1dDt0O1J7ZFE1T2lqeUdRdCQhQndQeTxyMXUjTVJTVylGUldC
UHdRPkFjcGNNQHBySTNkRStSRAp6ODxkSUFIKWBZO2wpd3UmbTRLcDk3dmAtdD5lQH5iKFZHaHhZ
VmlLcGp0PWVwMj9ZTlV5c3UhJUVCekAmcCNXbmQKekQjT0E9OSRESVVUPnhtJVFXTEh+QDNfWTFT
VDxZJlk8NmUkeHAoej9DNiVgJjlrfWdqM2kwVGR3ITVlIXpVYnRjCnotcClWZnVLVTV7YGJ9TTd7
cEFAeiZHTFVPQGNOZVQ4Q051ZnhHYWl5TkVIQCRBUU50Ulg4KEZteVgxK2hnbmhVJAp6S2lLYSFl
KylXeFV+WVpWbllyWiQxe0ozJCU/cV9xR249MEZGYzZ9ZF57ajFPbUtPSFRaVG8oU18wOTZ1VWt7
IUYKejVVKmF4QzFDV1VJTjBgYj4hcWwrXmFBdmVNUSZSNXB2VFJnajE0c2RYWmtUPkZOOXBMbjtZ
YTM9IWdnQzJ4cj9HCnpwZSVIeGlBVWI1Nkw5JHViRDlEd2crRXRIQ0ZsNnxvbURrP28hXzRLeyRM
ek0jM29hKEJXe0E0SjUpVX5AfTBEZQp6MCNQTW5XazdoVF5DcWBFbnVsTiNHLStTKzdUciU9eVAo
cCRreyExT2IpbHdNSzQxenN7fClnbjsqWl9XdV5KR2UKeihaKFZ3LUJQIX0kVzU8Uzh0ailYQE1i
WnRIM0d6a1BlbSthd3NBZD8wc35nTCU9K0dSPkhDfExCWnpscVQ9QEMlCnpMXjAlY1Y4ZU10TlhE
QjZjd00tKHhOfHlZKFI+RzZXOSQlXkpjVlBKel8tZkJub3YyQV9YTkArV2pUbnVAemBYaAp6UUhY
MnRAY31IQG9qbT5Gb0FSdDVgVGtWeS1eeChUWmVeb31VTmlMc0FHc2dWelpHIVhmSXVHcXowN1JA
TkdZU14KemV9WkFxY094SitpfnAoQmZJIz5acjhCb2A4Tl8yWXl5WSptPXZocD5uTUc5NmtZbVR5
SkR1Mjs3VW5NNSFMNG4xCnpwVzYkayRLP14xUHRfJn0hOFBBfj48amNSMjQoU1BOcSU/akFxVFNz
Y1A1LVFZP0glV0tHY0wqRlYoM1dsWXpyewp6eWo3NnZRcDxQOHpsfSUpbnRhaVh1VTkpPmJlP0dL
TkhYQn5nPTBJdmoocWh+Pl5mX1A8V0JSbyE9fGY/NXxqJk0KeihQcXpRNUozXiQwNTxjJTVtXiYo
MzkyTmwqTXFUSSVBRWRTelVZXjRWcmxIbXtBelBeaTdrLXpYMHoyZ2ExZXFmCnpCaWclI0VUbyom
IzdwV2olPko/b2lqNTZYXzlYRWIpeiVkbjxgNj4zUCY9TSFCKz15b0hRfnhGdS1UOFMmYS19Swp6
bmVYMD1KYjZufGVBP0IkMk9qU2ErMUhgVUMqWn5XbGlsfmZFTnlaSEJma0BQUC1UJTU8JVBfemBu
QDx+UDl2R3UKenFPVnMqUDltSjtXOzErfGluT283ajh6SmkqfWhHP2p+bUwxLT97QXpURmxMZ2J7
akJhKj5LdyRab1gwZWkyV0BYCnpkfT16SERmdDhRcXVtRGNiVnUraXVtSTVBSUtLP2F2bVVTK0VP
fkZMaFh6SlcjNDgpa0UtUTRzRUhmM0pGdThfYAp6JTMrb243SF8relk8RWMqODl8fTIoLVB7Vjko
TiN8O041OzY+UTBWc1Z2Y1MpJiliRzA8MX0jPEh5I1IoaTxSUDYKenA2Nl9jKEF1bFpHan5EU1k4
YCFoQT82QEZhc0ZgSXhHP3J+KE44dGQySz5HQmY7SHxrc0tJdXZLWk16cUolVjJDCnomN013end+
RGxHKlVUUX03cCprQlNgPCUyKypTJmhwaSF3ODk3dkpyS21DYjFBNjZRdzRLQUlFNnB8JXM0ZVIr
Rgp6dyFPVXw7Qyg2O0liISZ3I3VtUEA9LU8zKG9aN15zej9Rdjd5YC15cio7XnNQN0FCRTUrK1Mj
R0klfDtIRlMmUmAKej5UZVpmXzRAY3pHZTNrMSFifFVXe0NAa1duZzh5N0lkNCQzVSN6UV5FRGF2
cjdjNnVeWHclb3dAd2JufnR2e15YCnpoQ01tb0AhQj52YkxHI0FQVE5+Yk9zM2V2JV5DQH1IZ2pW
Jm02MzRjXlojTHg/UUN8emVwd29+M1FrKXNFSHZrMQp6PmppTnhwMnVUKWkhV00oUj9ONyRiMykp
R0Y/Vl40akBgS3YpUStZQjYrNGBUe0t3MXIrK1RtMihfMUszLVcyRXsKeik2e3pMNz50cTlraDxS
VVgobUw0dTNvI1hFJHl5VSp4ZEVLd3J9Y05Oe2smIz9NUXJ3Q0tKOUlVK2QtRkNONjdrCnppbWJf
UjRhP09tclE4R2NMdFQhN0x+R01xOUFmcD9CKEdpaFVBNUd1b3Eyaj9nbFN1SXA8MkMkJS1oR3J5
PGFuZgp6emRWT1FeK0spdkF6PVo4UCYhXyk3dFpkOXVrQEdiP2t1bWRYYiYwJk9NbD95VWhBVW1N
UXJwZ0Ywd3krSUg0Mm8KenRzPFhzPi0+MEo4bXlBQCFnKHBCVUdve2tVQGRRRCkjdik3MVJlemAj
QnxUcjt6N3hDKVl8TXtFRzdHSWckKnZ6CnpiXmgkcTx7SUpNWDQoeGdlTEMqdl9kTUN6c058ZUVp
aHJ2PVFLJjx6cSZVUVRaXj9kNFoxKGVVUCVLfXt6T3spOAp6Vz5YbURQI2Z0SE59QVpNUVUtSlRE
JVRIV3ooYX08em43JnF1TiVlNG4mQ0IqV2tQPU9xM0dLIXJ8YCh4JEd8WnoKem84e2RLQGxXPXot
RnlpQi0oS14mUUNwMWMpUSZwUjx6Qn1wOWdYTlkqV2AlOUY9KnM8bzNZYWQlZUZ6YUBiJFJXCnoz
MndCVkw/byp+PmtwP29VZWAkeGlJaW8kOyV+NWIwRW1aRFQ9JXNAJHJkK1dpengyZVd6d0w3az5m
eX40ZkZnPQp6SikqV2VIRTQyKzlxQSMlRW9UbiRnWmI7WjZ3TDJITj4qaGMySHFhUjFicmtHPlNH
WW12IXh9KTZNSG5JI3RiSksKelg+fjZ8TkdkMXJBOEVNZnNZdm9RUmFXdH0+K2QmPVp0fWxnc3FN
YmRzfkhjPD1QfDM/SiNtaGNEcSo+TFI1KjIqCnprbSZIV1BEaS11MFFxezNAPHsqSHk/Y2FEN09H
KGg7a0tsZ2QlVVV4S3ZkfFppWG56K1ZBaWBVSllAI3NESCh+cQp6aEk5UUppeHptbFdSdWthWUlu
bzRefmYtNEx3UWx5d2wjMDghOGI5SzNNOT13YT0hYGEte1E+fmFWK1EmP2JOLU4KekVXX1ArXjU/
dG5uU0RpQyNaLTxFZFV8UXQ5IUk+S24oZy0oK3U2a31oenJ+JjQ4bVlvaztwakhgQy09OzRNOWg0
CnpuJj1wNmRmdkFPc3xCZ0U7NEpDOUZpbDFZP1RlezVQMSYwPmdwZjsqKCMqdGVGU2VCNys2e0Rk
P2c3JHc3VHEpPgp6anRie2UzSXI0fUA4NFlMKUBAPWJRQ2I5dGIxSzEzNmk0P1VTOTA0ek5AS2lS
OzgwK1hfflBMe1pQKm9eRk1nOWkKemJHY0V1WC1ydD51dEQxdjkwM3VfZTckTzRjU2ZCJm95UVNe
YWJNbVl3fjlfenpXb2FSQDU8JC1ndT9fU2smQHpECnp7clpyPmdTdWJLOzRJdnVlN0xXUkpLd2sk
KWNFND5DcTEmTHhoJT5TNkklR2dRKWB6ZD9SISFpSkQwcX1nODl3KAp6Y0xAKEQqR05QelF9OyQ1
dS16Y1BKNn1yZjBeVFZfa0BGSClxTWhnVlV+fH5xejFFdStCUD4yc084c2swYXQqfjIKeiYrZXBM
X3s3USRaRGBmdjkxfTYpTEJHNV9ERGh2UDRnUWF6ZE5XOHt2T1dEQVAxWllAYFR6KE9ecFpBMCs5
R2tLCnprMTwpRlQrZjZBN1B7OChQQG5JVXAwc1NEQUFTfU1FNkZyNz1oVVYreDE4ViFgMEJBKSZm
YlEkZXpOam5APjZ8MQp6VmBLJmVKNygkcl41T0QpP1hNQCZBRDUyYjFvdUgtVjZsK2ZxeG5rezFu
PlFYNnF9a0VNKyM5d1p3SzlkNClOWUsKekVTU3hPa31YYCV5LXdjNXQ1NTBySDBocUQjWkZyb3ow
fkdYRD1gRDR5b08kaUxSaDxHekg4OEBBWUcjQXYtcmpeCnohRH4zMlhpbUYkZk44ZExgbipDOXcl
U091ZVNUSCNZNEpKWHgqPXQ7aX4lTG5MbmdqOHdaMypRY3d7Pm5xbE5YdQp6NSFARzx1aXAzZmhx
JmU3QGZwV2RoJl5uKnIkVFhHPCZgJWJIXzNhJG14Myt2RFdgTG1hJDhMdjJPYF9nMHFwaWMKem0q
dmI/bGM7ZEU7Rm07WSFQcW1kVXJZOUx7ZHYrNHtKZzIxYGBhSH1fT0JSR0EoMzZyeUVZbUo7bVBh
SVFpVFVzCno5Tk87MkMoQHRnSUpRWCpDaGtmOGFefTBjd35kVWwze0NyYGNYPlZHV1NQSGVMRkRt
OEdVM20/c1EkVGBKZVFQSAp6Snk+PHd3dCNtVTdpQzs4cmB4R2ElTjFwKnFGTTJLJDEoP0Q/RWQx
OyhUajJESl56fGNoRD56cElJLX4wJDV5dm0KemxNNDRxc2g4ZXRAQENWdEY5OWZ3OGc0O3E+aFRk
RHc5MmFBMithRT12YktmRHFYRVZ3V14qV0c2R09LMEB8SUFOCnprVmo2TDxZS3FGcSlvbz9WXnZr
VHVaXzJESERKK3dESzwramNMSUk4OE5SSDJPZzIpIVBPWUpEPXJXbj5PVWMjbwp6KE9hRSs8KXs4
bEF4Iz9pdGlWVjR3OCRYYnRNcVQ5SC0pTDZIJFNCPHpKcF8lJlNPfDdoek9LS2oweEhkMzk7WG8K
ek1wSXVVP29ARkhyNkp7NkA9SmAhJioyXyNtZzstMW84Yl8kQC1Ndk4mblA9ZzVwZ3QlJVhsMUA1
aXZ0PXt3QHQtCnpSND1PM15VNml+d1E+VUY2IylnZXBocD41RSpFdz8mLWRJPDQhcnAtcmBkdHRh
VntqTCRIT1d4JlMkeVZlWiFFKAp6elJeZlZkPCp0dV4kdzhBdUsjNVBJdXZ+KGZnejAydlk1KjAr
czRxWmNzVj56dkB8PzV5aCgwZnZvfG5BVlhqLVIKeihTVzRSZEp2czhPRk5CYGF7ZG0tey1WSXdJ
TiNWJSM8QUN5O1pjVm8xeHkpY2x+fFVCdl5EUTxEeyRCfEFScE0xCnpvO3txbzw3YiRgO1Qma0ZB
VDZ6cXU9dXVvVTZKZDdrQFFAbl5YJXVrVXBueFh0NjdAZGUoTW9+WlNJPFF7KFYqQgp6RnJRP2Vh
cXJvc3IrVkBKbiQpa0ZuUVZxVDhrSjI3QCR3MkZxMmArfTx+fDtUck51YjlqNjIkJFk+JmwlfDJE
MzQKeiZWYDs3bkRQcFh6fml3aD1FUmpJMlVOSWZMNHhDU2hGeSptMHFMRDY1eVoxXyZMTnAxb0ZJ
SnBMcnhVSzYkZEB9CnpYUVVSRGt0N0JXOWdtcnpSWWFFekU0Sj5Ge1I1KWgmODZqQlNrelJZVzF7
YyhqWSVDNU0zX3JDamE4bW9jamhHRAp6bSp0PWReMmBTKyQyKkskcXtsVTVsQEJOZ0hLXzhaLURi
MnokVmolKD80SU41NEhxKy0tYUZeXiVKRkBsaFB7VDgKekM0VkdXSHo5e1dOaCZlb3ZudUZQTzBD
KXFSZTByVHI/cDx7eFB7VXNqejF2d0YlbXIzT05ZVnNITDglJDt2fDAjCno3YUBkcztHQWIoQy13
Q1g4dl5pWT9zNTFAY0I1SWdaIzY9Z3lDaHxxWFQ+MzB8RGVlNlJKdGI3YCpwWj17UGVVZgp6cUom
JTN5RDlGb3VhVkpmJWA1ZGU1JVo2bil0XmNaS0l5fjgqSn1vRGsoPiUwJXdQMmFmU0Q/Si16LSpY
NEQreGwKej1fPGEwVn5gNXgwdFgkK3pkTWdCaVYrPmElekpodDBGSFMmMH1NcyU3aDdCTnV2RzZ7
bDZlUDZxRUFfVnFGaytKCnpiQlNKKGdqaGE3XkdUQSNEMVlEMlg1NzA8WUpzRytPKSVlPGJYUXE+
dGlMTU1MWjtgVmlNMTYzLSVSYkh2SGhBUQp6Y2tpdV5NK1Q3fVY8Zk9AKz1Gb0YkV3R5c3BrbEZw
K28tUT5oUkRtN0RfcU0rTkc3PzdlYi1sfXY/cE9RVX4rMG4KekJBRUVBM09vSWBIKSNYIWQtcigt
YVFpfXFHbV91d0I9VjJeZj54NWJ7d3l7VnVidlZwQTtRT01sOVVaZmVgSHdFCnpRb2Z9ZiUwdEZA
Z3VaKCNoREohbjZPI3NBIUd4VGRBPnt9aTRAMlBiclUzNmNUSDBOb3JfSjUxQCtrdGpVTWg3KQp6
PkhibX13a3wwcDtoc2Z9RVVUUzJ5V0FXcSUoVS05WClVb1pnP1YmRDhHPldmYV5CUSopQVl2T2R+
XkBeWHJ3bmMKenZhKWxMRDk5JU4haGR1dCVXdj84Nlk2VzR8TkxRZExsKnI4cFc8PGVGeWxqWFEo
SlZhdWU7bGlATnQhSitfc3IhCnpgUTkxbiVHeGFLPEE4aHAtJl85UUtaYiYzSERzYWFyV3lJbSpJ
dlhqdlV6N2VUOVp6aHhJZFJzNTxwMXBBUVoyJAp6TUBSKHZeeDFyR2FVYUxGbDBGTllreXtmZHk4
enBIbSQwZCVAPEQlMG9VdnA2JCZ1Q08qP2hWMDNHeGxuVDNMVGwKek5QYGlVd1FrbzcoVShiTSNI
PjNFUX08QktjK2NzQF90eW45cl49Zl51cFh2UC07MFlgMEJ3dSRtVFZvNnJgUm8oCnp1OUU7VjEk
e05rTjEoRFgtYHAoVk8/d1JjaUFoJUNMREZDYHYtRWt9Yn1rfVFpcG1hRj4/bSg8VUFWS01GSGgk
JAp6eyspa3RlOSNnKlEySnM0YDBVV3c1c0M+NmR2cEJ0V2RZMSs3LWsje29Bb314VCg/aUBQQklv
ZVlgKDdmYFk/RF8Kej59SG42JmIlKS11TlU9Qz0jOTkmZEo/aTtRJnRycChMamZmdDBNOWljZTZe
MEdlVDg9aW5JUTcldjhnRVFhOEdtCnpNeUFVdl9GIXtfelQlRFAxUncqblIqb0E8RDg3KyZ7SWVl
SEIkVWVOajZBODJVR3pSTlUxX2BJX2RqazBvaVhfPQp6O0kmVTdsaSRvYWVBJStlNVJ2K2JrZU9e
MCVLZHAtKWIyKERgO0d7bmw+WmB6dipscXg8ejgzeVlDVzlUQk01RTwKej94JUwxVl9td056SHQx
XlZHKHtybUVpaGBUY3RrMkcxY3I9Q3I2WHd4NmYrK15WRGM7Q3BrSi04ZDRXT3tfe3x3CnpSYF5P
R2IzfmU5cipSRy0mPGc7NEIlSjdhQFN6ZjVnalhfJm4/PkJrOSRlUyRvWjE3ZmFWcXFNansmMWlD
b3FiZwp6I0FYMnVWTkh9OVJHUz15QXo0TDd7UiVYWmZ7UXc3KXZrNlchNHdiPEBUYzt9UTtrNzAm
WFNGUnFUI2lJd3Y+Vz4KejR8TTFSO0lrY316JTIreiF7JXIpcCFPUmUlLW8hUGVxXlo2VlUySyUq
X25HPWFQRXljRV85JCpXZHtySiphUiNhCno1cE9SWVU1YSN9NU93bnslYHE/X2xRRipeX1RWYz5P
dGpLVUEqOUpDeEYjLXFPIzxqVFRMQy1ZZThMZ1BiNCZyVAp6Znlrc35LNUI5cVNrKWtDcU1Be1Nl
VTxjc1JJKGpEUjVtMSQmKHQ9RVFtczUoNjA4NDtWd3JRNFlpZXJoJFQjam4KekhLKmNhNmpWTXMw
MChfRGJDY3tVSyUzejYxKyhWYEZzLVRkeUZiXzRtaChPS0RFRTR6SU9PV3xYTmVNST5RdzNnCno7
eylpIWhwbCEyRSZXcHwwSkZuQHs3cW1Ke045Q3RZdUE1RjZhTz9mJVByWn5ONHViLXpXKCh7YWo7
WGYhdCsqVgp6UUheJXhrPXIqdU44XkYtdnA2NV4pJj9gXnVMSHd7R3VIVV5pPldgKXU4I2FYWVdT
PlY9bz8+b15PP3pYY01qYz4Kej41cUNVOEtmQ3VCWH15Ti1sKmM7d2FUbURkdH59QE83OyU4Km8t
JiEzdmtrI0xkTztNLXhSJlReVnRkSjh7ZCN0Cno7YXFTQTh3Um8hNHRmK0VASUFxaFJZcEEoc2c1
NlBLaWNURXlaQ1c1dUk2YitfKFdXeSNudXZGWnFXPFhNQlpMagp6dXktUnh4ZyZXRWheLU5CRmUm
bCZkTzkmbislVlklMWRXS3JKNV5ye2stZjNzdCZefDdyWD5mJnVjTUZYekh0SXwKekpzd35scmF6
cm03a0E+NFc7VWZlKShGcGtLcENuUzRWcSVjQFI3K1dNWHBEP2ZiP0piNDdtOHtranZyZyRCQWlB
CnoxQnw0SWNBYT8yaVBncSheJXlXQV5pelJ8ZzNWQGFAbmIoaXFlPmxMMG1ha0xCNU9NYXZxaWFg
NW92N29HJERpfQp6bzVTWjBhKnFzNUZzM3c8MU8hKntUbyNSSml0JW5IXyR5NVVsaTBQeT9HSDxM
ekwoKThhemFvJUNPdF5xejl6XjEKelpkb3NQZDRifD9fX0xtREdIZjQoKUJQeVVOaWdPOSszNlVG
ejRPS21sWT5JMWl1TFpNY3ZucStMKVJ6ZmtkPSR+CnolNHpFKmRoaUcmSnM8NGleYEZ6U2Y7bHM3
REJEQndeKmhsaDVGOVNxYil9Xm1EdGBpI3p4PCNxX1VjX15yRT4kPgp6K3dRJE58MH03Z2NQMWU2
UW5QYXtMVG0mJF98TzI2cShKdUFRP21rbyFIeVhhREV0RVopNGlhZiUkQ2dsYmI4PVgKemd8MDlK
cmxDYCphZVVWXytfI0swamh3RShvZFpINzh3biZvN2ZLZnNnMkk5eDwlb34pVEtyTn1oNk5YJjVX
JE5oCnpgMjlVX2ZLXihNSnY9bnw1SCtCVDYmJWcmRTNlPD92ZHQoUEdXaHlyQCp5aTA1bWBgTmxv
THFzNEZoOUw4N25tVgp6YFQ8XkZZY3Z9ITwwOCZkPFVAJkJmRnhCUitVP0UmdiV6bENnZGM8c1RM
UFlqU0JwLVAjdzxBRnBOVmRLJShsWksKekVINDNFRzNuQzlgQFN5O2JEQ2pWRGcqM1gjT35JNnFV
LTB0e2tgKG1FZT1mJmcyYGQtUkYyMnFzU292JGplLWxVCnpvV1JrYU9WSihid2hwRmFmJUpqNT93
az9fZGdpRmplVD59I1EtPE9UQDw7aUVsM2g0SyZCY0BaTDxtKHopOUcpcwp6T0pqV1RAekk3R2sm
PyZreG9QXkVkTlNndTBeI0BEc0BhXnhOP1RTaSt4cHRPaXBWa20rRik1cjNPQlJNKitpc1oKekdq
UG1jUWBeTm4tZz4hP2psTW40P1kobUhoTjQlLXlFfGo7Tk5mI3VTemxqX0RCKm00Wmo/QGM/Uks5
ZHVEeUhECnotYlptQkk5R2ApPj98JD5MJCtDa2pkPU9CdypmdzNZKDZtcDFISFVKdXlvfVYyIVA2
TXYwWFQ8dS1ZRn0jcE58NAp6XzM/WHhpODsqP0JTcjJnNnMpZ2FwXnpKMEFWPjBCWnZScV9ZYUM0
K3lVSGFsYCthdDBSZGd6M2pQZEtLMVZibHwKeiZ2dER1KUB0cCV6Y2I1Pj8rMjFxaD5KYkpLaXd4
OVBBbjczd1ktbFpQK31tQWl5NiFSJn5LZnBFQU1kQ0o2eVI9CnorV24zbi04PUp2Q0d9M1hWVjU9
VXYpVnNmayZ0PDQ7fkVseGdkeU8/XkxfSXc+fXwye0M+d1lGV1h2NlV0TDMlbAp6ZHdRXlVsZGhK
bUtaaWRRPHZlVkRAe1Fiej4tMyY+XlJFQ0deX3AwRmRNPWdybEpCO0ckPEVsJSZ2QjNFT1o1VXUK
emRWcCV5TGBoV31IcUFBWHU9XncoPHA4eE8pbSlsVGxaUz9lQmRZbERvPm4jUFRyan14SzFLPTt5
Vkx0QnZ8em5JCnpIQnJ9akZgNk9KdGBhcyFLeiZzTlNaTkV1cH00fjh4akUwP04qI3hrQTJ+bUxw
Xn1jYnFsUDwjeiYyTHdiO0p4Twp6KWNhNTY2ND04JFJFTlFvTDhRT2l0eExnY196WC1IYnpfVXdy
c0dLfE1EbXpSNEJtNTtXaEM/I3BRdEdxKjVPWm8KemZHbX4/dXZrRDwoTVFOPUF+UFlNQFFZJlIt
U3o/YUxRSDJpJVdgJVdgMVdNSnJIS3VJY29DbW08ezImayg+KCtACno0bCshbWF0eHhpSk1XaDRS
amlifC1NeW1MUn1VT1FUbC1uWGA+S2l0RTNwdzhjTDJOIW18eXQ1Pz12N31iNDt6JQp6ezRwWTtA
JFAmZ2p4SU9tN0E3dlAjPU9MdmtecSlTSGR2UklocSFRMD5ZfiVienwpZEdWeVdOdD53bVdBQChy
KigKekxFNWQ+Kjs9R25OVUEpPkhSWiRITWBUcWx0YjhTJjVBN3BUPlgkU3RsZXtoRzV6akhNPjBy
JDYqQEojPFNIcSsjCnp4bjlHaF45O2JEUm0jaVUqTElWcyljaEZpUHZYfm0md0V9UTwxaEVXOUAw
c1NXMkpSZnNVMjRzbFpKbVRVfGMmPAp6YHRDXjxPLTkreXw1RU1ucUMmSFArSWQwLVEtQDFzUHMz
IVY3bWRjXkpzSStfI1MpRjQ7YXF5PkREeTU9NS1IQTIKejIkfDZvWW8oZkA5K0c9XkYmITdYan0x
IXpxRWh5KkhEe2BmZlNWPTM5JEltcnNwST1faHkrOWBGRShFYWlWP3N2Cno4cXRrJT9OcnkqMDB5
T0xmbDlUdFJvZyhQcnBSKiZyWkZRTSV7ISN+NUZIblA2dm1xVE47JEora0xYMlpNNilOSgp6TVpe
OUBZMDcyU3BMWlBSallucGNzMDBpZSZ1UWxjbDxVNStObWFXRTFtbFpNeEluazhoK1ozKlZwRzVl
T2JOQzUKenpyVl5Wc1QzXmo/NEFfbEVOM3MhLX01VnA7TF9pJDBUN3NpU2g3NWs2fDxkaz43NiZe
aGdfM2EzaEdgezJsZHsyCnpTKGhoV2JAZTZ8IXZVUjA8fmZ3bi05JHlxRjR6Rz1sWSlFcE5DY0kq
amZkO1U9PFd0a15GZCtOYkFEZz1iU3FheAp6O3NVdm09VTheJU9yI05rcUJmbCg7ViVSY2lWX0lT
OSUjbFJlY2VSPElhMUFKbVY8OyFUVWd2KHsyQkpPVH1IbCYKekZBYmohVVMpfmMkV2p3YVoxUzQl
R1lvXjU4b0FzRGF5Zll0Rmplb2xDJSZPX2s7clgkK3Rfemt1MihaP3NLcz4oCnpZNWBMcFNhYUAp
V3BRMzs0ZTJiQiQ0c197ZEdwVk8tKT9AViFYTmYzT1RKUWlHX0k8aEFUKmNrMml3TitkZkIwOQp6
ZXBPQzB0M2c0alRgTlh0V3RBVCU2VkFgXmRSPjBHQCp+d2s8eHBtJStaTUhVUyFNM3BtKiU2dXZQ
dmU+XilEUkQKemx6WkU0U3ZzVE85UXxBJVEhKG0yU3E0YH1JRlNrfC1LY1d4MCVUVWZubC1rKyZR
czhMTVdSOFZDfCszOW5ufXh4Cno4S3M8aT5TTDdaSVYhdEQ0flRgeEg2fV8wXlFuWVJMYF87d2lE
QX53TCR7TihnWW9iKkJnQm1aO3VKRyNJODxreAp6UXxuOHdFTGVSdC1hQjN7ZWFtJkVKJmtoKl5s
Kl4qVil5R2ghanpUcmtWfmZ5YGRxUCokKTB+R2UhP2R0e3VVSGIKekBJdzUzckpeP2RRKkQ8MTI/
NkZiaU9SUlNub3xYMygyTTNHZDM+JFdyVDBFPj9SdlJ1Mj1USGJnZHZGSWJ2O0J7Cnp6aHZvKVV9
bC08MypMTDUyZUhtLU5XaU4rJmU2fEtOekQrKDY0R0JsJGtPPz8kUERLM3d5JXJFUlJ2OWl2UmZr
bgp6SGB9JkomSERXQmE9MXRsdz18NGVyNjk3QnB8SkphWkd1RDtxNkMzYTV8PEhFdEs9TiNFQG5y
I1ZfbWtTLUhIKnkKejh4czBkKz8mVyNPfClFYit1VEE+NSM1eHpYX1N3NUNva0t+NEAzKXsmPXAw
eXVRTG5hUXlpJDshOHh7MmM4Qj15Cno1MnFFWWItcGpUanFkYHdJPkVkNVJIN1J0Um4wWj9mOEZx
QUxncypWRGcyaio/JHFvSWsrdE1eXn5mcUBVZH50cwp6SjtlPXdeNW5AUS1oMmkwezUrdnwzOzE1
bmgyLWU9Nz9oTVJPfXx1d3IzclpKeHZmJWZsbHhPd3tMOEV7QVNNVGoKem80VkhJdkQwVlhEWmpz
VyhSPnZBVG9oe0JUPkl8QWRpNGQ4Wl5rYFhvWUlieiNqUG9RXil2MD9lUFg2ZkQlSzU+CnojKmF8
cih2M0haSW17blZATHdLKns+PVBIK05uYDRUTUMlZ2d7Qlc0TSU/MWshOTI7cz82WDtSNzV2X2o9
NWI7bwp6WGw0PnNkcHBIKzs4cTdTaiphUl5HYjd7d0dgZ3FgKVBmbktEOFImcFh6N2x7VVhmRiNg
QSo4YWNsZXZNLTNTflYKejR3fD1rPGZ8OU8wZXprMT8jY2h8U1pNLWJrK1FgQmNqI2ooNVB7d0A7
VyopVjNWdz57RXRyTXpwYFBVOS17b0JZCnpyXlRmUylEQSRxcT1efktGKHlUNFYqR0o8bDUwc2JB
ezdsanF2RnBofDl2MiprO3Z3RVVtSXM8aTl1JXh4aS1lTgp6b3kmfkM4USVfMFhJQCtUWWVvS1Vo
bGokXiFhPmUkejtebF5EQjxrJk1lcTJOTTY9Vj15blY1VnxBLTRqKGY+S2cKentgKUpHRnJQcHN1
ODElZ2wwXjYjVDUtJClJPnpfR147fjkkWHJXNj9udGAzWntlciU2dHhmOFU7O3xNUV8oeEloCkxA
eCRXI0NOS1VrRilVc3IKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NzczMvY2FsYy92ZXJ0aWNhbC1hbGlnbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9jc3MzL2NhbGMvdmVydGljYWwtYWxpZ24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2NDAw
NmUwZmEwZWE5OTJmZDFmZmU1MGZjZTI1NGRmMWIwMzhmYTYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jc3MzL2NhbGMvdmVydGljYWwtYWxpZ24tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNzI0IEBACitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg0NTU2CisgIFJlbmRlclZpZXcgYXQg
KDAsMCkgc2l6ZSA3ODV4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDc4NXg0NTU2CisgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDc4NXg0NTU2CisgICAgUmVuZGVyQm9keSB7Qk9E
WX0gYXQgKDgsOCkgc2l6ZSA3Njl4NDU0MAorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDAp
IHNpemUgNzY5eDE4CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDM1
NXgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDM1NTogIlRoZSBzdHlsZSBk
ZWNsYXJhdGlvbnMgd2hpY2ggYXBwbHkgdG8gdGhlIHRleHQgYmVsb3cgYXJlOiIKKyAgICAgIFJl
bmRlckJsb2NrIHtQUkV9IGF0ICgwLDM0KSBzaXplIDc2OXgyNzAKKyAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNTEyeDI3MAorICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDE2MDogIlAge2ZvbnQtc2l6ZTogMTJwdDt9IgorICAgICAgICAgIHRleHQgcnVu
IGF0ICgxNjAsMCkgd2lkdGggMDogIiAiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTUpIHdp
ZHRoIDIxNjogIi5vbmUge3ZlcnRpY2FsLWFsaWduOiBzdWI7fSIKKyAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMjE2LDE1KSB3aWR0aCAwOiAiICIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzMCkg
d2lkdGggMjMyOiAiLnR3byB7dmVydGljYWwtYWxpZ246IHN1cGVyO30iCisgICAgICAgICAgdGV4
dCBydW4gYXQgKDIzMiwzMCkgd2lkdGggMDogIiAiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
NDUpIHdpZHRoIDM2ODogIi50aHJlZSB7dmVydGljYWwtYWxpZ246IHRvcDsgZm9udC1zaXplOiAx
MnB0O30iCisgICAgICAgICAgdGV4dCBydW4gYXQgKDM2OCw0NSkgd2lkdGggMDogIiAiCisgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsNjApIHdpZHRoIDQwMDogIi5mb3VyIHt2ZXJ0aWNhbC1hbGln
bjogdGV4dC10b3A7IGZvbnQtc2l6ZTogMTJwdDt9IgorICAgICAgICAgIHRleHQgcnVuIGF0ICg0
MDAsNjApIHdpZHRoIDA6ICIgIgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDc1KSB3aWR0aCAz
ODQ6ICIuZml2ZSB7dmVydGljYWwtYWxpZ246IG1pZGRsZTsgZm9udC1zaXplOiAxMnB0O30iCisg
ICAgICAgICAgdGV4dCBydW4gYXQgKDM4NCw3NSkgd2lkdGggMDogIiAiCisgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsOTApIHdpZHRoIDM3NjogIi5zaXgge3ZlcnRpY2FsLWFsaWduOiBib3R0b207
IGZvbnQtc2l6ZTogMTJwdDt9IgorICAgICAgICAgIHRleHQgcnVuIGF0ICgzNzYsOTApIHdpZHRo
IDA6ICIgIgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDEwNSkgd2lkdGggNDMyOiAiLnNldmVu
IHt2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207IGZvbnQtc2l6ZTogMTJwdDt9IgorICAgICAg
ICAgIHRleHQgcnVuIGF0ICg0MzIsMTA1KSB3aWR0aCAwOiAiICIKKyAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwxMjApIHdpZHRoIDQwODogIi5laWdodCB7dmVydGljYWwtYWxpZ246IGJhc2VsaW5l
OyBmb250LXNpemU6IDEycHQ7fSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDA4LDEyMCkgd2lk
dGggMDogIiAiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTM1KSB3aWR0aCA1MTI6ICIubmlu
ZSB7dmVydGljYWwtYWxpZ246IDUwJTsgZm9udC1zaXplOiAxMnB4OyBsaW5lLWhlaWdodDogMTZw
eDt9IgorICAgICAgICAgIHRleHQgcnVuIGF0ICg1MTIsMTM1KSB3aWR0aCAwOiAiICIKKyAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwxNTApIHdpZHRoIDA6ICIgIgorICAgICAgICAgIHRleHQgcnVu
IGF0ICgwLDE2NSkgd2lkdGggMjI0OiAiUC5leGFtcGxlIHtmb250LXNpemU6IDE0cHQ7fSIKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMjI0LDE2NSkgd2lkdGggMDogIiAiCisgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMTgwKSB3aWR0aCAxNzY6ICJCSUcge2ZvbnQtc2l6ZTogMTZwdDt9IgorICAg
ICAgICAgIHRleHQgcnVuIGF0ICgxNzYsMTgwKSB3aWR0aCAwOiAiICIKKyAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwxOTUpIHdpZHRoIDE5MjogIlNNQUxMIHtmb250LXNpemU6IDEycHQ7fSIKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMTkyLDE5NSkgd2lkdGggMDogIiAiCisgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMjEwKSB3aWR0aCAzMDQ6ICIudHRvcGFsaWduIHt2ZXJ0aWNhbC1hbGlnbjog
dGV4dC10b3A7fSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzA0LDIxMCkgd2lkdGggMDogIiAi
CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjI1KSB3aWR0aCAyNTY6ICIudG9wYWxpZ24ge3Zl
cnRpY2FsLWFsaWduOiB0b3A7fSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjU2LDIyNSkgd2lk
dGggMDogIiAiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjQwKSB3aWR0aCAyODA6ICIubWlk
YWxpZ24ge3ZlcnRpY2FsLWFsaWduOiBtaWRkbGU7fSIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MjgwLDI0MCkgd2lkdGggMDogIiAiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjU1KSB3aWR0
aCAwOiAiICIKKyAgICAgIFJlbmRlckJsb2NrIHtIUn0gYXQgKDAsMzE3KSBzaXplIDc2OXgyIFti
b3JkZXI6ICgxcHggaW5zZXQgIzAwMDAwMCldCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAs
MzM1KSBzaXplIDc2OXg3NgorICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXpl
IDQ5eDUwCisgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMjZ4MTgK
KyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDQ5LDQwKSBzaXplIDEyNngxOAorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDQ5LDQwKSB3aWR0aCAxMjY6ICJUaGUgZmlyc3QgZm91ciB3
b3JkcyIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNzUsMzYpIHNpemUgNzY1eDQw
CisgICAgICAgICAgdGV4dCBydW4gYXQgKDE3NSwzNikgd2lkdGggMjg0OiAiIGluIHRoaXMgc2Vu
dGVuY2Ugc2hvdWxkIGJlIHN1YnNjcmlwdC1hbGlnbmVkLiAiCisgICAgICAgICAgdGV4dCBydW4g
YXQgKDQ1OSwzNikgd2lkdGggMzA2OiAiVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc3VwZXJzY3JpcHRl
ZCB0ZXh0IHNob3VsZCBub3QiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNTgpIHdpZHRoIDI3
MzogImJlIGRpZmZlcmVudCBmcm9tIHRoYXQgb2YgdGhlIHBhcmVudCBlbGVtZW50LiIKKyAgICAg
IFJlbmRlckJsb2NrIHtQfSBhdCAoMCw0MjcpIHNpemUgNzY5eDcyCisgICAgICAgIFJlbmRlcklt
YWdlIHtJTUd9IGF0ICgwLDApIHNpemUgNDl4NTAKKyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFO
fSBhdCAoMCwwKSBzaXplIDEyNngxOAorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
NDksMzApIHNpemUgMTI2eDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDksMzApIHdpZHRo
IDEyNjogIlRoZSBmaXJzdCBmb3VyIHdvcmRzIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDE3NSwzNikgc2l6ZSA3NjV4MzYKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTc1LDM2KSB3
aWR0aCAyOTY6ICIgaW4gdGhpcyBzZW50ZW5jZSBzaG91bGQgYmUgc3VwZXJzY3JpcHQtYWxpZ25l
ZC4gIgorICAgICAgICAgIHRleHQgcnVuIGF0ICg0NzEsMzYpIHdpZHRoIDI5NDogIlRoZSBmb250
IHNpemUgb2YgdGhlIHN1YnNjcmlwdGVkIHRleHQgc2hvdWxkIG5vdCIKKyAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCw1NCkgd2lkdGggMjczOiAiYmUgZGlmZmVyZW50IGZyb20gdGhhdCBvZiB0aGUg
cGFyZW50IGVsZW1lbnQuIgorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDUxNSkgc2l6ZSA3
Njl4NzIKKyAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSA0OXg1MAorICAg
ICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTI2eDE4CisgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0OSwwKSBzaXplIDEyNngxOAorICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDQ5LDApIHdpZHRoIDEyNjogIlRoZSBmaXJzdCBmb3VyIHdvcmRzIgorICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE3NSwzNikgc2l6ZSA3NDZ4MzYKKyAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTc1LDM2KSB3aWR0aCA1NzE6ICIgaW4gdGhpcyBzZW50ZW5jZSBzaG91bGQg
YmUgdG9wLWFsaWduZWQsIHdoaWNoIHdpbGwgYWxpZ24gdGhlaXIgdG9wcyB3aXRoIHRoZSB0b3Ag
b2YgdGhlIHRhbGxlc3QiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNTQpIHdpZHRoIDMyMDog
ImVsZW1lbnQgaW4gdGhlIGxpbmUgKHByb2JhYmx5IHRoZSBvcmFuZ2UgcmVjdGFuZ2xlKS4iCisg
ICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsNjAzKSBzaXplIDc2OXgxMzIKKyAgICAgICAgUmVu
ZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSA0OXg1MAorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDQ5LDM2KSBzaXplIDR4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDksMzYp
IHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUg
NzU0eDExMQorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAor
ICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMjZ4MTgKKyAgICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTMsMjEpIHNpemUgMTI2eDE4CisgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICg1MywyMSkgd2lkdGggMTI2OiAiVGhlIGZpcnN0IGZvdXIgd29y
ZHMiCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNzksMjEpIHNpemUgNzU0eDEx
MQorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE3OSwyMSkgd2lkdGggNTU2OiAiIGluIHRoaXMg
c2VudGVuY2Ugc2hvdWxkIGJlIHRleHQtdG9wLWFsaWduZWQsIgorICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDAsNTgpIHdpZHRoIDc1NDogIndoaWNoIHNob3VsZCBhbGlnbiB0aGVpciB0b3BzIHdp
dGggdGhlIHRvcCBvZiB0aGUgdGFsbGVzdCB0ZXh0IgorICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsOTUpIHdpZHRoIDEzNjogImluIHRoZSBsaW5lLiIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsNzUxKSBz
aXplIDc2OXg2OAorICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDQ5eDUw
CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDksMTQpIHNpemUgNzM3eDU0CisgICAg
ICAgICAgdGV4dCBydW4gYXQgKDQ5LDE0KSB3aWR0aCA2ODg6ICIgVGhlIGltYWdlIGF0IHRoZSBi
ZWdpbm5pbmcgb2YgdGhpcyBzZW50ZW5jZSBzaG91bGQgYmUgbWlkZGxlLWFsaWduZWQsIHdoaWNo
IHNob3VsZCBhbGlnbiBpdHMgbWlkZGxlIHdpdGggdGhlIgorICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDUwKSB3aWR0aCAzNDY6ICJwb2ludCBkZWZpbmVkIGFzIHRoZSB0ZXh0IGJhc2VsaW5lIHBs
dXMgaGFsZiB0aGUgeC1oZWlnaHQuIgorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDgzNSkg
c2l6ZSA3Njl4MTI0CisgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgNDl4
NTAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0OSwxNSkgc2l6ZSA0eDE4CisgICAg
ICAgICAgdGV4dCBydW4gYXQgKDQ5LDE1KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVySW5s
aW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDczM3gxMjQKKyAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0
ICgwLDApIHNpemUgMTI2eDE4CisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDUz
LDMyKSBzaXplIDEyNngxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTMsMzIpIHdpZHRo
IDEyNjogIlRoZSBmaXJzdCBmb3VyIHdvcmRzIgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMTc5LDApIHNpemUgNzMzeDEyNAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE3OSww
KSB3aWR0aCA1NDQ6ICIgaW4gdGhpcyBzZW50ZW5jZSBzaG91bGQgYmUgMTJwdCBpbiBzaXplIGFu
ZCIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDUwKSB3aWR0aCA3MzM6ICJib3R0b20tYWxp
Z25lZCwgd2hpY2ggc2hvdWxkIGFsaWduIHRoZWlyIGJvdHRvbSB3aXRoIHRoZSIKKyAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDg3KSB3aWR0aCA1MTc6ICJib3R0b20gb2YgdGhlIGxvd2VzdCBl
bGVtZW50IGluIHRoZSBsaW5lLiIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsOTc1KSBzaXplIDc2OXgxNjEK
KyAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSA0OXg1MAorICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDQ5LDE1KSBzaXplIDR4MTgKKyAgICAgICAgICB0ZXh0IHJ1
biBhdCAoNDksMTUpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0
ICgwLDApIHNpemUgNzQ2eDE2MQorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDB4MAorICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAy
OTN4MTgKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTMsMTkpIHNpemUgMjkz
eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1MywxOSkgd2lkdGggMjkzOiAiVGhlIGZp
cnN0IGVpZ2h0IHdvcmRzIChcImVpZ2h0XCIgaGFzIGEgZGVzY2VuZGVyKSIKKyAgICAgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM0NiwwKSBzaXplIDc0NngxNjEKKyAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgzNDYsMCkgd2lkdGggNDAwOiAiIGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGJl
IDEycHQiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1MCkgd2lkdGggNzI1OiAiaW4gc2l6
ZSBhbmQgdGV4dC1ib3R0b20tYWxpZ25lZCwgd2hpY2ggc2hvdWxkIGFsaWduIHRoZWlyIgorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsODcpIHdpZHRoIDY3MTogImJvdHRvbSB3aXRoIHRoZSBi
b3R0b20gb2YgdGhlIGxvd2VzdCB0ZXh0IChpbmNsdWRpbmciCisgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwxMjQpIHdpZHRoIDI5NDogImRlc2NlbmRlcnMpIGluIHRoZSBsaW5lLiIKKyAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJCbG9j
ayB7UH0gYXQgKDAsMTE1Mikgc2l6ZSA3Njl4MTMyCisgICAgICAgIFJlbmRlckltYWdlIHtJTUd9
IGF0ICgwLDApIHNpemUgNDl4NTAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0OSwz
Nikgc2l6ZSA0eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDQ5LDM2KSB3aWR0aCA0OiAiICIK
KyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDc1OXgxMTEKKyAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICBSZW5k
ZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTI2eDE4CisgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDUzLDM2KSBzaXplIDEyNngxOAorICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoNTMsMzYpIHdpZHRoIDEyNjogIlRoZSBmaXJzdCBmb3VyIHdvcmRzIgorICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTc5LDIxKSBzaXplIDc1OXgxMTEKKyAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgxNzksMjEpIHdpZHRoIDU0NDogIiBpbiB0aGlzIHNlbnRlbmNlIHNob3Vs
ZCBiZSAxMnB0IGluIHNpemUgYW5kIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsNTgpIHdp
ZHRoIDc1OTogImJhc2VsaW5lLWFsaWduZWQsIHdoaWNoIHNob3VsZCBhbGlnbiB0aGVpciBiYXNl
bGluZSB3aXRoIHRoZSIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDk1KSB3aWR0aCA1MjI6
ICJiYXNlbGluZSBvZiB0aGUgcmVzdCBvZiB0aGUgdGV4dCBpbiB0aGUgbGluZS4iCisgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyQmxvY2sg
e1B9IGF0ICgwLDEzMDApIHNpemUgNzY5eDcyCisgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0
ICgwLDApIHNpemUgNDl4NTAKKyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBz
aXplIDk2eDE0CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0OSwzMSkgc2l6ZSA5
NngxNAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ5LDMxKSB3aWR0aCA5NjogIlRoZSBmaXJz
dCBmb3VyIHdvcmRzIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE0NSwzNikgc2l6
ZSA3MzR4MzYKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTQ1LDM2KSB3aWR0aCA1ODk6ICIgaW4g
dGhpcyBzZW50ZW5jZSBzaG91bGQgaGF2ZSBhIGZvbnQtc2l6ZSBvZiAxMnB4IGFuZCBhIGxpbmUt
aGVpZ2h0IG9mIDE2cHg7IHRoZXkgYXJlIGFsc28gNTAlLSIKKyAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCw1NCkgd2lkdGggNDMwOiAiYWxpZ25lZCwgd2hpY2ggc2hvdWxkIHJhaXNlIHRoZW0gOHB4
IHJlbGF0aXZlIHRvIHRoZSBuYXR1cmFsIGJhc2VsaW5lLiIKKyAgICAgIFJlbmRlckJsb2NrIHtQ
fSBhdCAoMCwxMzg4KSBzaXplIDc2OXgzNgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSA3NDJ4MzYKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA3NDI6
ICJJbiB0aGUgZm9sbG93aW5nIHBhcmFncmFwaCwgYWxsIGltYWdlcyBzaG91bGQgYmUgYWxpZ25l
ZCB3aXRoIHRoZSB0b3Agb2YgdGhlIDE0LXBvaW50IHRleHQsIHdoaWNoIGlzIGlkZW50aWNhbCB0
byB0aGUgZmlyc3QiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDY2MTogInNl
Y3Rpb24gb2YgdGV4dCwgd2hlcmVhcyBhbnkgc2l6ZSB0ZXh0IHNob3VsZCBiZSBhbGlnbmVkIHdp
dGggdGhlIHRleHQgYmFzZWxpbmUgKHdoaWNoIGlzIHRoZSBkZWZhdWx0IHZhbHVlKS4iCisgICAg
ICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTQ0Mikgc2l6ZSA3Njl4MzQ2CisgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwyNSkgc2l6ZSAxMjB4MjIKKyAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwyNSkgd2lkdGggMTIwOiAiVGhpcyBwYXJhZ3JhcGggIgorICAgICAgICBSZW5kZXJJbWFn
ZSB7SU1HfSBhdCAoMTIwLDI1KSBzaXplIDU5eDMwCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMTc5LDI1KSBzaXplIDV4MjIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTc5LDI1KSB3
aWR0aCA1OiAiICIKKyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDQy
Mng1NAorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTg0LDApIHNpemUgNDIyeDU0
CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTg0LDApIHdpZHRoIDQyMjogImNvbnRhaW5zIG1h
bnkgaW1hZ2VzIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDYwNiwyNSkgc2l6ZSA1
eDIyCisgICAgICAgICAgdGV4dCBydW4gYXQgKDYwNiwyNSkgd2lkdGggNTogIiAiCisgICAgICAg
IFJlbmRlckltYWdlIHtJTUd9IGF0ICg2MTEsMjUpIHNpemUgNTl4NTAKKyAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICg2NzAsMjUpIHNpemUgNXgyMgorICAgICAgICAgIHRleHQgcnVuIGF0
ICg2NzAsMjUpIHdpZHRoIDU6ICIgIgorICAgICAgICBSZW5kZXJJbmxpbmUge0JJR30gYXQgKDAs
MCkgc2l6ZSA3NjR4OTEKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDY3NSwyMykg
c2l6ZSA3NjR4OTEKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2NzUsMjMpIHdpZHRoIDg5OiAi
b2YgdmFyeWluZyIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDkwKSB3aWR0aCA2MjogImhl
aWdodHMiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNjIsOTIpIHNpemUgNXgyMgor
ICAgICAgICAgIHRleHQgcnVuIGF0ICg2Miw5Mikgd2lkdGggNTogIiAiCisgICAgICAgIFJlbmRl
ckltYWdlIHtJTUd9IGF0ICg2Nyw5Mikgc2l6ZSA1OXgxMAorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDEyNiw5Mikgc2l6ZSA1eDIyCisgICAgICAgICAgdGV4dCBydW4gYXQgKDEyNiw5
Mikgd2lkdGggNTogIiAiCisgICAgICAgIFJlbmRlcklubGluZSB7U01BTEx9IGF0ICgwLDApIHNp
emUgNjl4MTgKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEzMSw5NSkgc2l6ZSA2
OXgxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEzMSw5NSkgd2lkdGggNjk6ICJhbmQgd2lk
dGhzIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIwMCw5Mikgc2l6ZSA1eDIyCisg
ICAgICAgICAgdGV4dCBydW4gYXQgKDIwMCw5Mikgd2lkdGggNTogIiAiCisgICAgICAgIFJlbmRl
ckltYWdlIHtJTUd9IGF0ICgyMDUsOTIpIHNpemUgNTl4MjAKKyAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgyNjQsOTIpIHNpemUgMTAxeDIyCisgICAgICAgICAgdGV4dCBydW4gYXQgKDI2
NCw5Mikgd2lkdGggMTAxOiAiIGFsbCBvZiB3aGljaCAiCisgICAgICAgIFJlbmRlckltYWdlIHtJ
TUd9IGF0ICgzNjUsOTIpIHNpemUgNTl4NjUKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICg0MjQsOTIpIHNpemUgNXgyMgorICAgICAgICAgIHRleHQgcnVuIGF0ICg0MjQsOTIpIHdpZHRo
IDU6ICIgIgorICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMjYyeDQz
CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0MjksNzUpIHNpemUgMjYyeDQzCisg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDI5LDc1KSB3aWR0aCAyNjI6ICJzaG91bGQgYmUgYWxp
Z25lZCIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2OTEsOTIpIHNpemUgNXgyMgor
ICAgICAgICAgIHRleHQgcnVuIGF0ICg2OTEsOTIpIHdpZHRoIDU6ICIgIgorICAgICAgICBSZW5k
ZXJJbWFnZSB7SU1HfSBhdCAoNjk2LDkyKSBzaXplIDU5eDM1CisgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwyMDQpIHNpemUgMTE4eDIyCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MjA0KSB3aWR0aCAxMTg6ICJ3aXRoIHRoZSB0b3Agb2YgIgorICAgICAgICBSZW5kZXJJbWFnZSB7
SU1HfSBhdCAoMTE4LDIwNCkgc2l6ZSA1OXgzMAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDE3NywyMDQpIHNpemUgNXgyMgorICAgICAgICAgIHRleHQgcnVuIGF0ICgxNzcsMjA0KSB3
aWR0aCA1OiAiICIKKyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDM5
OXgzMgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTgyLDE5Nikgc2l6ZSAxOXgz
MgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE4MiwxOTYpIHdpZHRoIDE5OiAiYSAiCisgICAg
ICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDIzNng4MgorICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyMDEsMTU3KSBzaXplIDIzNng4MgorICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMjAxLDE1Nykgd2lkdGggMjM2OiAiMTQtcG9pbnQiCisgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0MzcsMTk2KSBzaXplIDE0NHgzMgorICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDQzNywxOTYpIHdpZHRoIDE0NDogIiB0ZXh0IGVsZW1lbnQiCisgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTgxLDIwNCkgc2l6ZSA1eDIyCisgICAgICAgICAg
dGV4dCBydW4gYXQgKDU4MSwyMDQpIHdpZHRoIDU6ICIgIgorICAgICAgICBSZW5kZXJJbWFnZSB7
SU1HfSBhdCAoNTg2LDIwNCkgc2l6ZSA1OXg1MAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDY0NSwyMDQpIHNpemUgNXgyMgorICAgICAgICAgIHRleHQgcnVuIGF0ICg2NDUsMjA0KSB3
aWR0aCA1OiAiICIKKyAgICAgICAgUmVuZGVySW5saW5lIHtTTUFMTH0gYXQgKDAsMCkgc2l6ZSA3
NTN4NzAKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDY1MCwyMDcpIHNpemUgNzUz
eDcwCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjUwLDIwNykgd2lkdGggMTAzOiAicmVnYXJk
bGVzcyBvZiB0aGUiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwyNTkpIHdpZHRoIDgyOiAi
bGluZSBpbiB3aGljaCIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg4MiwyNTYpIHNp
emUgNXgyMgorICAgICAgICAgIHRleHQgcnVuIGF0ICg4MiwyNTYpIHdpZHRoIDU6ICIgIgorICAg
ICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoODcsMjU2KSBzaXplIDU5eDE1CisgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMTQ2LDI1Nikgc2l6ZSA1eDIyCisgICAgICAgICAgdGV4dCBy
dW4gYXQgKDE0NiwyNTYpIHdpZHRoIDU6ICIgIgorICAgICAgICBSZW5kZXJJbmxpbmUge0JJR30g
YXQgKDAsMCkgc2l6ZSAxNTZ4MjQKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE1
MSwyNTQpIHNpemUgMTU2eDI0CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTUxLDI1NCkgd2lk
dGggMTU2OiAidGhlIGltYWdlcyBhcHBlYXIuIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDMwNywyNTYpIHNpemUgNXgyMgorICAgICAgICAgIHRleHQgcnVuIGF0ICgzMDcsMjU2KSB3
aWR0aCA1OiAiICIKKyAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDMxMiwyNTYpIHNpemUg
NTl4OTAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAg
ICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTgwNikgc2l6ZSA3Njl4MzYKKyAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzQ5eDM2CisgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggNzQ5OiAiSW4gdGhlIGZvbGxvd2luZyBwYXJhZ3JhcGgsIGFsbCBpbWFnZXMg
c2hvdWxkIGJlIGFsaWduZWQgd2l0aCB0aGUgbWlkZGxlIG9mIHRoZSBkZWZhdWx0IHRleHQsIHdo
ZXJlYXMgYW55IHRleHQgc2hvdWxkIGJlIgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3
aWR0aCAzNjI6ICJhbGlnbmVkIHdpdGggdGhlIHRleHQgYmFzZWxpbmUgKHdoaWNoIGlzIHRoZSBk
ZWZhdWx0IHZhbHVlKS4iCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTg1OCkgc2l6ZSA3
Njl4Mjg5CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyMikgc2l6ZSA5OXgxOAor
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDIyKSB3aWR0aCA5OTogIlRoaXMgcGFyYWdyYXBoICIK
KyAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDk5LDE4KSBzaXplIDQ5eDMwCisgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTQ4LDIyKSBzaXplIDR4MTgKKyAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTQ4LDIyKSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFO
fSBhdCAoMCwwKSBzaXplIDM1N3g0NgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MTUyLDApIHNpemUgMzU3eDQ2CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTUyLDApIHdpZHRo
IDM1NzogImNvbnRhaW5zIG1hbnkgaW1hZ2VzIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDUwOSwyMikgc2l6ZSA0eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDUwOSwyMikgd2lk
dGggNDogIiAiCisgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICg1MTMsOCkgc2l6ZSA0OXg1
MAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDU2MiwyMikgc2l6ZSAxMjJ4MTgKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNTYyLDIyKSB3aWR0aCAxMjI6ICIgb2YgdmFyeWluZyBoZWln
aHRzICIKKyAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDY4NCwyOCkgc2l6ZSA0OXgxMAor
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDczMywyMikgc2l6ZSA0eDE4CisgICAgICAg
ICAgdGV4dCBydW4gYXQgKDczMywyMikgd2lkdGggNDogIiAiCisgICAgICAgIFJlbmRlcklubGlu
ZSB7U01BTEx9IGF0ICgwLDApIHNpemUgNzYweDc1CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICg3MzcsMjIpIHNpemUgNzYweDc1CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzM3
LDIyKSB3aWR0aCAyMzogImFuZCIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDc5KSB3aWR0
aCA0MjogIndpZHRocyIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0Miw3OSkgc2l6
ZSA0eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDQyLDc5KSB3aWR0aCA0OiAiICIKKyAgICAg
ICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDQ2LDgwKSBzaXplIDQ5eDIwCisgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoOTUsNzkpIHNpemUgODN4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBh
dCAoOTUsNzkpIHdpZHRoIDgzOiAiIGFsbCBvZiB3aGljaCAiCisgICAgICAgIFJlbmRlckltYWdl
IHtJTUd9IGF0ICgxNzgsNTgpIHNpemUgNDl4NjUKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgyMjcsNzkpIHNpemUgMTE5eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDIyNyw3OSkg
d2lkdGggMTE5OiAiIHNob3VsZCBiZSBhbGlnbmVkICIKKyAgICAgICAgUmVuZGVySW1hZ2Uge0lN
R30gYXQgKDM0Niw3Mykgc2l6ZSA0OXgzNQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDM5NSw3OSkgc2l6ZSA0eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDM5NSw3OSkgd2lkdGgg
NDogIiAiCisgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAyMzZ4MzcK
KyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM5OSw2NCkgc2l6ZSAyMzZ4MzcKKyAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgzOTksNjQpIHdpZHRoIDIzNjogIndpdGggdGhlIG1pZGRs
ZSBvZiIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2MzUsNzkpIHNpemUgNHgxOAor
ICAgICAgICAgIHRleHQgcnVuIGF0ICg2MzUsNzkpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5k
ZXJJbWFnZSB7SU1HfSBhdCAoNjM5LDY1KSBzaXplIDQ5eDUwCisgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoNjg4LDc5KSBzaXplIDR4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjg4
LDc5KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBz
aXplIDcwM3gxMTIKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDY5Miw3MSkgc2l6
ZSAxMXgyOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDY5Miw3MSkgd2lkdGggMTE6ICJhIgor
ICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAyMDR4NjkKKyAgICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxMjMpIHNpemUgMjA0eDY5CisgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDEyMykgd2lkdGggMjA0OiAiMTQtcG9pbnQiCisgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyMDQsMTU1KSBzaXplIDEyN3gyOAorICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDIwNCwxNTUpIHdpZHRoIDEyNzogIiB0ZXh0IGVsZW1lbnQiCisgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzMxLDE2Mykgc2l6ZSA0eDE4CisgICAgICAgICAg
dGV4dCBydW4gYXQgKDMzMSwxNjMpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJJbWFnZSB7
SU1HfSBhdCAoMzM1LDE0OSkgc2l6ZSA0OXg1MAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDM4NCwxNjMpIHNpemUgNHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgzODQsMTYzKSB3
aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVySW5saW5lIHtTTUFMTH0gYXQgKDAsMCkgc2l6ZSAx
ODl4MTgKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM4OCwxNjMpIHNpemUgMTg5
eDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzg4LDE2Mykgd2lkdGggMTg5OiAicmVnYXJk
bGVzcyBvZiB0aGUgbGluZSBpbiB3aGljaCIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICg1NzcsMTYzKSBzaXplIDR4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTc3LDE2Mykgd2lk
dGggNDogIiAiCisgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICg1ODEsMTY3KSBzaXplIDQ5
eDE1CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNjMwLDE2Mykgc2l6ZSA0eDE4Cisg
ICAgICAgICAgdGV4dCBydW4gYXQgKDYzMCwxNjMpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5k
ZXJJbmxpbmUge0JJR30gYXQgKDAsMCkgc2l6ZSA3MjR4OTQKKyAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDYzNCwxNTgpIHNpemUgNzI0eDk0CisgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoNjM0LDE1OCkgd2lkdGggOTA6ICJ0aGUgaW1hZ2VzIgorICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDAsMjI4KSB3aWR0aCA2MTogImFwcGVhci4iCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoNjEsMjMzKSBzaXplIDR4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjEsMjMzKSB3
aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDY1LDE5OSkgc2l6ZSA0
OXg5MAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAg
IFJlbmRlckJsb2NrIHtQfSBhdCAoMCwyMTYzKSBzaXplIDc2OXgzNgorICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3MzN4MzYKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MCwwKSB3aWR0aCA3MzM6ICJJbiB0aGUgZm9sbG93aW5nIHBhcmFncmFwaCwgYWxsIGVsZW1lbnRz
IHNob3VsZCBiZSBhbGlnbmVkIHdpdGggdGhlIHRvcCBvZiB0aGUgdGFsbGVzdCBlbGVtZW50IG9u
IHRoZSBsaW5lLCB3aGV0aGVyIHRoYXQiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdp
ZHRoIDE3MzogImVsZW1lbnQgaXMgYW4gaW1hZ2Ugb3Igbm90LiAiCisgICAgICAgICAgdGV4dCBy
dW4gYXQgKDE3MywxOCkgd2lkdGggNTU1OiAiRWFjaCBmcmFnbWVudCBvZiB0ZXh0IGhhcyBiZWVu
IFNQQU5uZWQgYXBwcm9wcmlhdGVseSBpbiBvcmRlciB0byBjYXVzZSB0aGlzIHRvIGhhcHBlbi4i
CisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMjIxNSkgc2l6ZSA3Njl4MjAxCisgICAgICAg
IFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA5NXgxOAorICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDk1eDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCA5NTogIlRoaXMgcGFyYWdyYXBoIgorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDk1LDApIHNpemUgNHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICg5NSwwKSB3
aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDk5LDApIHNpemUgNDl4
MTAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNDgsMCkgc2l6ZSA0eDE4CisgICAg
ICAgICAgdGV4dCBydW4gYXQgKDE0OCwwKSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVySW5s
aW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDM1N3g0NgorICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMTUyLDApIHNpemUgMzU3eDQ2CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTUy
LDApIHdpZHRoIDM1NzogImNvbnRhaW5zIG1hbnkgaW1hZ2VzIgorICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDUwOSwwKSBzaXplIDR4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTA5
LDApIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoNTEzLDApIHNp
emUgNDl4MTAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1NjIsMCkgc2l6ZSA0eDE4
CisgICAgICAgICAgdGV4dCBydW4gYXQgKDU2MiwwKSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVu
ZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDg3eDE4CisgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICg1NjYsMCkgc2l6ZSA4N3gxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDU2NiwwKSB3aWR0aCA4NzogImFuZCBzb21lIHRleHQiCisgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoNjUzLDApIHNpemUgNHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICg2NTMsMCkg
d2lkdGggNDogIiAiCisgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICg2NTcsMCkgc2l6ZSA0
OXgxMAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcwNiwwKSBzaXplIDR4MTgKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNzA2LDApIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJJ
bmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgNzIzeDY0CisgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICg3MTAsMCkgc2l6ZSA3MjN4NjQKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg3
MTAsMCkgd2lkdGggMTM6ICJvZiIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDQ2KSB3aWR0
aCA5NzogInZhcnlpbmcgaGVpZ2h0cyIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg5
Nyw0Nikgc2l6ZSA0eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDk3LDQ2KSB3aWR0aCA0OiAi
ICIKKyAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDEwMSw0Nikgc2l6ZSA0OXgxMAorICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE1MCw0Nikgc2l6ZSA0eDE4CisgICAgICAgICAg
dGV4dCBydW4gYXQgKDE1MCw0Nikgd2lkdGggNDogIiAiCisgICAgICAgIFJlbmRlcklubGluZSB7
QklHfSBhdCAoMCwwKSBzaXplIDkzeDI0CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgxNTQsNDYpIHNpemUgOTN4MjQKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNTQsNDYpIHdp
ZHRoIDkzOiAiYW5kIHdpZHRocyIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyNDcs
NDYpIHNpemUgNHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgyNDcsNDYpIHdpZHRoIDQ6ICIg
IgorICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMjUxLDQ2KSBzaXplIDQ5eDIwCisgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzAwLDQ2KSBzaXplIDR4MTgKKyAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMzAwLDQ2KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVySW5saW5lIHtT
UEFOfSBhdCAoMCwwKSBzaXplIDc1eDE4CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgzMDQsNDYpIHNpemUgNzV4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzMDQsNDYpIHdp
ZHRoIDc1OiAiYWxsIG9mIHdoaWNoIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM3
OSw0Nikgc2l6ZSA0eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDM3OSw0Nikgd2lkdGggNDog
IiAiCisgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgzODMsNDYpIHNpemUgNDl4NjUKKyAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0MzIsNDYpIHNpemUgNHgxOAorICAgICAgICAg
IHRleHQgcnVuIGF0ICg0MzIsNDYpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJJbmxpbmUg
e1NQQU59IGF0ICgwLDApIHNpemUgMTExeDE4CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICg0MzYsNDYpIHNpemUgMTExeDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDM2LDQ2
KSB3aWR0aCAxMTE6ICJzaG91bGQgYmUgYWxpZ25lZCIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICg1NDcsNDYpIHNpemUgNHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICg1NDcsNDYp
IHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoNTUxLDQ2KSBzaXpl
IDQ5eDM1CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNjAwLDQ2KSBzaXplIDR4MTgK
KyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjAwLDQ2KSB3aWR0aCA0OiAiICIKKyAgICAgICAgUmVu
ZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDc1N3gxMDIKKyAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDYwNCw0Nikgc2l6ZSA3NTd4MTAyCisgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoNjA0LDQ2KSB3aWR0aCAxNTM6ICJ3aXRoIHRoZSB0b3AiCisgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwxMTEpIHdpZHRoIDI3OiAib2YiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMjcsMTExKSBzaXplIDR4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjcsMTExKSB3
aWR0aCA0OiAiICIKKyAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDMxLDExMSkgc2l6ZSA0
OXg1MAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDgwLDExMSkgc2l6ZSA0eDE4Cisg
ICAgICAgICAgdGV4dCBydW4gYXQgKDgwLDExMSkgd2lkdGggNDogIiAiCisgICAgICAgIFJlbmRl
cklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMjh4MTgKKyAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDg0LDExMSkgc2l6ZSAxMjh4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg4NCwxMTEpIHdpZHRoIDEyODogInRoZSB0YWxsZXN0IGVsZW1lbnQgaW4iCisgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMjEyLDExMSkgc2l6ZSA0eDE4CisgICAgICAgICAgdGV4dCBy
dW4gYXQgKDIxMiwxMTEpIHdpZHRoIDQ6ICIgIgorICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBh
dCAoMjE2LDExMSkgc2l6ZSA0OXgxNQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDI2
NSwxMTEpIHNpemUgNHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgyNjUsMTExKSB3aWR0aCA0
OiAiICIKKyAgICAgICAgUmVuZGVySW5saW5lIHtCSUd9IGF0ICgwLDApIHNpemUgMzAxeDI0Cisg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyNjksMTExKSBzaXplIDMwMXgyNAorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDI2OSwxMTEpIHdpZHRoIDMwMTogIndoaWNoZXZlciBsaW5l
IHRoZSBlbGVtZW50cyBhcHBlYXIuIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDU3
MCwxMTEpIHNpemUgNHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICg1NzAsMTExKSB3aWR0aCA0
OiAiICIKKyAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDU3NCwxMTEpIHNpemUgNDl4OTAK
KyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5k
ZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDI0MzIpIHNpemUgNzY5eDIxMDggW2JvcmRlcjogKDFweCBv
dXRzZXQgIzgwODA4MCldCisgICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9IGF0ICgx
LDEpIHNpemUgNzY3eDIxMDYKKyAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDAp
IHNpemUgNzY3eDI2CisgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMCwwKSBz
aXplIDc2N3gyNiBbYmdjb2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoMXB4IGluc2V0ICM4MDgwODAp
XSBbcj0wIGM9MCBycz0xIGNzPTJdCisgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1RST05H
fSBhdCAoMCwwKSBzaXplIDE2M3gxOAorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoNCw0KSBzaXplIDE2M3gxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQs
NCkgd2lkdGggMTYzOiAiVEFCTEUgVGVzdGluZyBTZWN0aW9uIgorICAgICAgICAgIFJlbmRlclRh
YmxlUm93IHtUUn0gYXQgKDAsMjYpIHNpemUgNzY3eDIwODAKKyAgICAgICAgICAgIFJlbmRlclRh
YmxlQ2VsbCB7VER9IGF0ICgwLDEwNTMpIHNpemUgMTJ4MjYgW2JnY29sb3I9I0MwQzBDMF0gW2Jv
cmRlcjogKDFweCBpbnNldCAjODA4MDgwKV0gW3I9MSBjPTAgcnM9MSBjcz0xXQorICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDQsNCkgc2l6ZSA0eDE4CisgICAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDQsNCkgd2lkdGggNDogIiAiCisgICAgICAgICAgICBSZW5kZXJUYWJs
ZUNlbGwge1REfSBhdCAoMTIsMjYpIHNpemUgNzU1eDIwODAgW2JvcmRlcjogKDFweCBpbnNldCAj
ODA4MDgwKV0gW3I9MSBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7
UH0gYXQgKDQsNCkgc2l6ZSA3NDd4NzYKKyAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1H
fSBhdCAoMCwwKSBzaXplIDQ5eDUwCisgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFO
fSBhdCAoMCwwKSBzaXplIDEyNngxOAorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICg0OSw0MCkgc2l6ZSAxMjZ4MTgKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDQ5LDQwKSB3aWR0aCAxMjY6ICJUaGUgZmlyc3QgZm91ciB3b3JkcyIKKyAgICAgICAgICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE3NSwzNikgc2l6ZSA3NDF4NDAKKyAgICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgxNzUsMzYpIHdpZHRoIDI4NDogIiBpbiB0aGlzIHNlbnRl
bmNlIHNob3VsZCBiZSBzdWJzY3JpcHQtYWxpZ25lZC4gIgorICAgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDQ1OSwzNikgd2lkdGggMjgyOiAiVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc3VwZXJz
Y3JpcHRlZCB0ZXh0IHNob3VsZCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDU4
KSB3aWR0aCAyOTc6ICJub3QgYmUgZGlmZmVyZW50IGZyb20gdGhhdCBvZiB0aGUgcGFyZW50IGVs
ZW1lbnQuIgorICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDQsOTYpIHNpemUgNzQ3
eDcyCisgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSA0OXg1
MAorICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMjZ4
MTgKKyAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDksMzApIHNpemUg
MTI2eDE4CisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0OSwzMCkgd2lkdGggMTI2
OiAiVGhlIGZpcnN0IGZvdXIgd29yZHMiCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgxNzUsMzYpIHNpemUgNzQxeDM2CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMTc1LDM2KSB3aWR0aCAyOTY6ICIgaW4gdGhpcyBzZW50ZW5jZSBzaG91bGQgYmUgc3VwZXJz
Y3JpcHQtYWxpZ25lZC4gIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ3MSwzNikg
d2lkdGggMjcwOiAiVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc3Vic2NyaXB0ZWQgdGV4dCBzaG91bGQi
CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1NCkgd2lkdGggMjk3OiAibm90IGJl
IGRpZmZlcmVudCBmcm9tIHRoYXQgb2YgdGhlIHBhcmVudCBlbGVtZW50LiIKKyAgICAgICAgICAg
ICAgUmVuZGVyQmxvY2sge1B9IGF0ICg0LDE4NCkgc2l6ZSA3NDd4NzIKKyAgICAgICAgICAgICAg
ICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDQ5eDUwCisgICAgICAgICAgICAgICAg
UmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDEyNngxOAorICAgICAgICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0OSwwKSBzaXplIDEyNngxOAorICAgICAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNDksMCkgd2lkdGggMTI2OiAiVGhlIGZpcnN0IGZvdXIgd29y
ZHMiCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNzUsMzYpIHNpemUg
NzQ2eDM2CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTc1LDM2KSB3aWR0aCA1NzE6
ICIgaW4gdGhpcyBzZW50ZW5jZSBzaG91bGQgYmUgdG9wLWFsaWduZWQsIHdoaWNoIHdpbGwgYWxp
Z24gdGhlaXIgdG9wcyB3aXRoIHRoZSB0b3Agb2YgdGhlIHRhbGxlc3QiCisgICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCw1NCkgd2lkdGggMzIwOiAiZWxlbWVudCBpbiB0aGUgbGluZSAo
cHJvYmFibHkgdGhlIG9yYW5nZSByZWN0YW5nbGUpLiIKKyAgICAgICAgICAgICAgUmVuZGVyQmxv
Y2sge1B9IGF0ICg0LDI3Mikgc2l6ZSA3NDd4MTMyCisgICAgICAgICAgICAgICAgUmVuZGVySW1h
Z2Uge0lNR30gYXQgKDAsMCkgc2l6ZSA0OXg1MAorICAgICAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoNDksMzYpIHNpemUgNHgxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDQ5LDM2KSB3aWR0aCA0OiAiICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQ
QU59IGF0ICgwLDApIHNpemUgNzM1eDExMQorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUg
e1NQQU59IGF0ICgwLDApIHNpemUgMTI2eDE4CisgICAgICAgICAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoNTMsMjEpIHNpemUgMTI2eDE4CisgICAgICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDUzLDIxKSB3aWR0aCAxMjY6ICJUaGUgZmlyc3QgZm91ciB3b3JkcyIKKyAg
ICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTc5LDIxKSBzaXplIDczNXgx
MTEKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE3OSwyMSkgd2lkdGggNTU2OiAi
IGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGJlIHRleHQtdG9wLWFsaWduZWQsIgorICAgICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1OCkgd2lkdGggNjk4OiAid2hpY2ggc2hvdWxkIGFs
aWduIHRoZWlyIHRvcHMgd2l0aCB0aGUgdG9wIG9mIHRoZSB0YWxsZXN0IgorICAgICAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCw5NSkgd2lkdGggMTkyOiAidGV4dCBpbiB0aGUgbGluZS4i
CisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisg
ICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoNCw0MjApIHNpemUgNzQ3eDY4CisgICAg
ICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSA0OXg1MAorICAgICAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDksMTQpIHNpemUgNzM3eDU0CisgICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDksMTQpIHdpZHRoIDY4ODogIiBUaGUgaW1hZ2Ug
YXQgdGhlIGJlZ2lubmluZyBvZiB0aGlzIHNlbnRlbmNlIHNob3VsZCBiZSBtaWRkbGUtYWxpZ25l
ZCwgd2hpY2ggc2hvdWxkIGFsaWduIGl0cyBtaWRkbGUgd2l0aCB0aGUiCisgICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCw1MCkgd2lkdGggMzQ2OiAicG9pbnQgZGVmaW5lZCBhcyB0aGUg
dGV4dCBiYXNlbGluZSBwbHVzIGhhbGYgdGhlIHgtaGVpZ2h0LiIKKyAgICAgICAgICAgICAgUmVu
ZGVyQmxvY2sge1B9IGF0ICg0LDUwNCkgc2l6ZSA3NDd4MTI0CisgICAgICAgICAgICAgICAgUmVu
ZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSA0OXg1MAorICAgICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoNDksMTUpIHNpemUgNHgxOAorICAgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDQ5LDE1KSB3aWR0aCA0OiAiICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbmxp
bmUge1NQQU59IGF0ICgwLDApIHNpemUgNzMzeDEyNAorICAgICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgICAgICAgICBSZW5kZXJJ
bmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTI2eDE4CisgICAgICAgICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoNTMsMzIpIHNpemUgMTI2eDE4CisgICAgICAgICAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDUzLDMyKSB3aWR0aCAxMjY6ICJUaGUgZmlyc3QgZm91ciB3b3Jk
cyIKKyAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTc5LDApIHNpemUg
NzMzeDEyNAorICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTc5LDApIHdpZHRoIDU0
NDogIiBpbiB0aGlzIHNlbnRlbmNlIHNob3VsZCBiZSAxMnB0IGluIHNpemUgYW5kIgorICAgICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCw1MCkgd2lkdGggNzMzOiAiYm90dG9tLWFsaWdu
ZWQsIHdoaWNoIHNob3VsZCBhbGlnbiB0aGVpciBib3R0b20gd2l0aCB0aGUiCisgICAgICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDg3KSB3aWR0aCA1MTc6ICJib3R0b20gb2YgdGhlIGxv
d2VzdCBlbGVtZW50IGluIHRoZSBsaW5lLiIKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0
ICg0LDY0NCkgc2l6ZSA3NDd4MTYxCisgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30g
YXQgKDAsMCkgc2l6ZSA0OXg1MAorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoNDksMTUpIHNpemUgNHgxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ5LDE1
KSB3aWR0aCA0OiAiICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgw
LDApIHNpemUgNzQ2eDE2MQorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0
ICgwLDApIHNpemUgMjkzeDE4CisgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoNTMsMTkpIHNpemUgMjkzeDE4CisgICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDUzLDE5KSB3aWR0aCAyOTM6ICJUaGUgZmlyc3QgZWlnaHQgd29yZHMgKFwiZWlnaHRcIiBo
YXMgYSBkZXNjZW5kZXIpIgorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgzNDYsMCkgc2l6ZSA3NDZ4MTYxCisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgz
NDYsMCkgd2lkdGggNDAwOiAiIGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGJlIDEycHQiCisgICAg
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDUwKSB3aWR0aCA3MjU6ICJpbiBzaXplIGFu
ZCB0ZXh0LWJvdHRvbS1hbGlnbmVkLCB3aGljaCBzaG91bGQgYWxpZ24gdGhlaXIiCisgICAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDg3KSB3aWR0aCA2NzE6ICJib3R0b20gd2l0aCB0
aGUgYm90dG9tIG9mIHRoZSBsb3dlc3QgdGV4dCAoaW5jbHVkaW5nIgorICAgICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwxMjQpIHdpZHRoIDI5NDogImRlc2NlbmRlcnMpIGluIHRoZSBs
aW5lLiIKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAw
eDAKKyAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICg0LDgyMSkgc2l6ZSA3NDd4MTMy
CisgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSA0OXg1MAor
ICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDksMzYpIHNpemUgNHgxOAor
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQ5LDM2KSB3aWR0aCA0OiAiICIKKyAgICAg
ICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgNzIzeDExMQorICAg
ICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAg
ICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTI2eDE4Cisg
ICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNTMsMzYpIHNpemUgMTI2
eDE4CisgICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDUzLDM2KSB3aWR0aCAxMjY6
ICJUaGUgZmlyc3QgZm91ciB3b3JkcyIKKyAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMTc5LDIxKSBzaXplIDcyM3gxMTEKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDE3OSwyMSkgd2lkdGggNTQ0OiAiIGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGJlIDEy
cHQgaW4gc2l6ZSBhbmQiCisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDU4KSB3
aWR0aCA3MTI6ICJiYXNlbGluZS1hbGlnbmVkLCB3aGljaCBzaG91bGQgYWxpZ24gdGhlaXIgYmFz
ZWxpbmUgd2l0aCIKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsOTUpIHdpZHRo
IDU2OTogInRoZSBiYXNlbGluZSBvZiB0aGUgcmVzdCBvZiB0aGUgdGV4dCBpbiB0aGUgbGluZS4i
CisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisg
ICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoNCw5NjkpIHNpemUgNzQ3eDcyCisgICAg
ICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSA0OXg1MAorICAgICAg
ICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA5NngxNAorICAgICAg
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0OSwzMSkgc2l6ZSA5NngxNAorICAg
ICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDksMzEpIHdpZHRoIDk2OiAiVGhlIGZpcnN0
IGZvdXIgd29yZHMiCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNDUs
MzYpIHNpemUgNzM0eDM2CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTQ1LDM2KSB3
aWR0aCA1ODk6ICIgaW4gdGhpcyBzZW50ZW5jZSBzaG91bGQgaGF2ZSBhIGZvbnQtc2l6ZSBvZiAx
MnB4IGFuZCBhIGxpbmUtaGVpZ2h0IG9mIDE2cHg7IHRoZXkgYXJlIGFsc28gNTAlLSIKKyAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDU0KSB3aWR0aCA0MzA6ICJhbGlnbmVkLCB3aGlj
aCBzaG91bGQgcmFpc2UgdGhlbSA4cHggcmVsYXRpdmUgdG8gdGhlIG5hdHVyYWwgYmFzZWxpbmUu
IgorICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDQsMTA1Nykgc2l6ZSA3NDd4MzYK
KyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3NDJ4MzYK
KyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDc0MjogIkluIHRoZSBm
b2xsb3dpbmcgcGFyYWdyYXBoLCBhbGwgaW1hZ2VzIHNob3VsZCBiZSBhbGlnbmVkIHdpdGggdGhl
IHRvcCBvZiB0aGUgMTQtcG9pbnQgdGV4dCwgd2hpY2ggaXMgaWRlbnRpY2FsIHRvIHRoZSBmaXJz
dCIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA2NjE6ICJzZWN0
aW9uIG9mIHRleHQsIHdoZXJlYXMgYW55IHNpemUgdGV4dCBzaG91bGQgYmUgYWxpZ25lZCB3aXRo
IHRoZSB0ZXh0IGJhc2VsaW5lICh3aGljaCBpcyB0aGUgZGVmYXVsdCB2YWx1ZSkuIgorICAgICAg
ICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDQsMTExMSkgc2l6ZSA3NDd4MzM3CisgICAgICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDI1KSBzaXplIDEyMHgyMgorICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjUpIHdpZHRoIDEyMDogIlRoaXMgcGFyYWdyYXBo
ICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMTIwLDI1KSBzaXplIDU5
eDMwCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNzksMjUpIHNpemUg
NXgyMgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE3OSwyNSkgd2lkdGggNTogIiAi
CisgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDQyMng1
NAorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxODQsMCkgc2l6ZSA0
MjJ4NTQKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE4NCwwKSB3aWR0aCA0MjI6
ICJjb250YWlucyBtYW55IGltYWdlcyIKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDYwNiwyNSkgc2l6ZSA1eDIyCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
NjA2LDI1KSB3aWR0aCA1OiAiICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBh
dCAoNjExLDI1KSBzaXplIDU5eDUwCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICg2NzAsMjUpIHNpemUgNXgyMgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDY3
MCwyNSkgd2lkdGggNTogIiAiCisgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtCSUd9IGF0
ICgwLDApIHNpemUgNjkzeDkxCisgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDY3NSwyMykgc2l6ZSA2OTN4OTEKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDY3NSwyMykgd2lkdGggMTg6ICJvZiIKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsOTApIHdpZHRoIDEzMzogInZhcnlpbmcgaGVpZ2h0cyIKKyAgICAgICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDEzMyw5Mikgc2l6ZSA1eDIyCisgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTMzLDkyKSB3aWR0aCA1OiAiICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJ
bWFnZSB7SU1HfSBhdCAoMTM4LDkyKSBzaXplIDU5eDEwCisgICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgxOTcsOTIpIHNpemUgNXgyMgorICAgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDE5Nyw5Mikgd2lkdGggNTogIiAiCisgICAgICAgICAgICAgICAgUmVuZGVySW5s
aW5lIHtTTUFMTH0gYXQgKDAsMCkgc2l6ZSA2OXgxOAorICAgICAgICAgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgyMDIsOTUpIHNpemUgNjl4MTgKKyAgICAgICAgICAgICAgICAgICAg
dGV4dCBydW4gYXQgKDIwMiw5NSkgd2lkdGggNjk6ICJhbmQgd2lkdGhzIgorICAgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjcxLDkyKSBzaXplIDV4MjIKKyAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgyNzEsOTIpIHdpZHRoIDU6ICIgIgorICAgICAgICAgICAgICAg
IFJlbmRlckltYWdlIHtJTUd9IGF0ICgyNzYsOTIpIHNpemUgNTl4MjAKKyAgICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMzNSw5Mikgc2l6ZSAxMDF4MjIKKyAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgzMzUsOTIpIHdpZHRoIDEwMTogIiBhbGwgb2Ygd2hpY2ggIgor
ICAgICAgICAgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICg0MzYsOTIpIHNpemUgNTl4NjUK
KyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDQ5NSw5Mikgc2l6ZSA1eDIy
CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDk1LDkyKSB3aWR0aCA1OiAiICIKKyAg
ICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgNjQ0eDE1NQor
ICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1MDAsNzUpIHNpemUgNjQ0
eDE1NQorICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTAwLDc1KSB3aWR0aCAxNDQ6
ICJzaG91bGQgYmUiCisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4Nykgd2lk
dGggMTA5OiAiYWxpZ25lZCIKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDEwOSwyMDQpIHNpemUgNXgyMgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEwOSwy
MDQpIHdpZHRoIDU6ICIgIgorICAgICAgICAgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgx
MTQsMjA0KSBzaXplIDU5eDM1CisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgxNzMsMjA0KSBzaXplIDEyM3gyMgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE3
MywyMDQpIHdpZHRoIDEyMzogIiB3aXRoIHRoZSB0b3Agb2YgIgorICAgICAgICAgICAgICAgIFJl
bmRlckltYWdlIHtJTUd9IGF0ICgyOTYsMjA0KSBzaXplIDU5eDMwCisgICAgICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzNTUsMjA0KSBzaXplIDV4MjIKKyAgICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgzNTUsMjA0KSB3aWR0aCA1OiAiICIKKyAgICAgICAgICAgICAgICBS
ZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgNjY0eDc1CisgICAgICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM2MCwxOTYpIHNpemUgMTl4MzIKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDM2MCwxOTYpIHdpZHRoIDE5OiAiYSAiCisgICAgICAgICAg
ICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMjM2eDgyCisgICAgICAg
ICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzc5LDE1Nykgc2l6ZSAyMzZ4ODIK
KyAgICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzc5LDE1Nykgd2lkdGggMjM2OiAi
MTQtcG9pbnQiCisgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDYxNSwx
OTYpIHNpemUgNjY0eDc1CisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2MTUsMTk2
KSB3aWR0aCA0OTogIiB0ZXh0IgorICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwy
MzkpIHdpZHRoIDg4OiAiZWxlbWVudCIKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDg4LDI0Nykgc2l6ZSA1eDIyCisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
ODgsMjQ3KSB3aWR0aCA1OiAiICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBh
dCAoOTMsMjQ3KSBzaXplIDU5eDUwCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgxNTIsMjQ3KSBzaXplIDV4MjIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgx
NTIsMjQ3KSB3aWR0aCA1OiAiICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NNQUxM
fSBhdCAoMCwwKSBzaXplIDE4OXgxOAorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgxNTcsMjUwKSBzaXplIDE4OXgxOAorICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMTU3LDI1MCkgd2lkdGggMTg5OiAicmVnYXJkbGVzcyBvZiB0aGUgbGluZSBpbiB3aGlj
aCIKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM0NiwyNDcpIHNpemUg
NXgyMgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM0NiwyNDcpIHdpZHRoIDU6ICIg
IgorICAgICAgICAgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgzNTEsMjQ3KSBzaXplIDU5
eDE1CisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0MTAsMjQ3KSBzaXpl
IDV4MjIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0MTAsMjQ3KSB3aWR0aCA1OiAi
ICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge0JJR30gYXQgKDAsMCkgc2l6ZSAxNTZ4
MjQKKyAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDE1LDI0NSkgc2l6
ZSAxNTZ4MjQKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQxNSwyNDUpIHdpZHRo
IDE1NjogInRoZSBpbWFnZXMgYXBwZWFyLiIKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDU3MSwyNDcpIHNpemUgNXgyMgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDU3MSwyNDcpIHdpZHRoIDU6ICIgIgorICAgICAgICAgICAgICAgIFJlbmRlckltYWdlIHtJ
TUd9IGF0ICg1NzYsMjQ3KSBzaXplIDU5eDkwCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBh
dCAoNCwxNDY2KSBzaXplIDc0N3gzNgorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDczMHgzNgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggNzMwOiAiSW4gdGhlIGZvbGxvd2luZyBwYXJhZ3JhcGgsIGFsbCBpbWFnZXMgc2hv
dWxkIGJlIGFsaWduZWQgd2l0aCB0aGUgbWlkZGxlIG9mIHRoZSBkZWZhdWx0IHRleHQsIHdoZXJl
YXMgYW55IHRleHQgc2hvdWxkIgorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgp
IHdpZHRoIDM4MTogImJlIGFsaWduZWQgd2l0aCB0aGUgdGV4dCBiYXNlbGluZSAod2hpY2ggaXMg
dGhlIGRlZmF1bHQgdmFsdWUpLiIKKyAgICAgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICg0
LDE1MTgpIHNpemUgNzQ3eDI4OQorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwyMikgc2l6ZSA5OXgxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMjIp
IHdpZHRoIDk5OiAiVGhpcyBwYXJhZ3JhcGggIgorICAgICAgICAgICAgICAgIFJlbmRlckltYWdl
IHtJTUd9IGF0ICg5OSwxOCkgc2l6ZSA0OXgzMAorICAgICAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMTQ4LDIyKSBzaXplIDR4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgxNDgsMjIpIHdpZHRoIDQ6ICIgIgorICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7
U1BBTn0gYXQgKDAsMCkgc2l6ZSAzNTd4NDYKKyAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMTUyLDApIHNpemUgMzU3eDQ2CisgICAgICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICgxNTIsMCkgd2lkdGggMzU3OiAiY29udGFpbnMgbWFueSBpbWFnZXMiCisgICAgICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1MDksMjIpIHNpemUgNHgxOAorICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDUwOSwyMikgd2lkdGggNDogIiAiCisgICAgICAgICAg
ICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDUxMyw4KSBzaXplIDQ5eDUwCisgICAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1NjIsMjIpIHNpemUgMTIyeDE4CisgICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTYyLDIyKSB3aWR0aCAxMjI6ICIgb2YgdmFyeWluZyBo
ZWlnaHRzICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoNjg0LDI4KSBz
aXplIDQ5eDEwCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMHgwCisgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTTUFMTH0gYXQgKDAsMCkgc2l6
ZSA2OXgxOAorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDc5KSBz
aXplIDY5eDE4CisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDc5KSB3aWR0aCA2
OTogImFuZCB3aWR0aHMiCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2
OSw3OSkgc2l6ZSA0eDE4CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNjksNzkpIHdp
ZHRoIDQ6ICIgIgorICAgICAgICAgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICg3Myw4MCkg
c2l6ZSA0OXgyMAorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTIyLDc5
KSBzaXplIDgzeDE4CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTIyLDc5KSB3aWR0
aCA4MzogIiBhbGwgb2Ygd2hpY2ggIgorICAgICAgICAgICAgICAgIFJlbmRlckltYWdlIHtJTUd9
IGF0ICgyMDUsNTgpIHNpemUgNDl4NjUKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDI1NCw3OSkgc2l6ZSAxMTl4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgyNTQsNzkpIHdpZHRoIDExOTogIiBzaG91bGQgYmUgYWxpZ25lZCAiCisgICAgICAgICAgICAg
ICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDM3Myw3Mykgc2l6ZSA0OXgzNQorICAgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDIyLDc5KSBzaXplIDR4MTgKKyAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICg0MjIsNzkpIHdpZHRoIDQ6ICIgIgorICAgICAgICAgICAgICAg
IFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAyMzZ4MzcKKyAgICAgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNDI2LDY0KSBzaXplIDIzNngzNworICAgICAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNDI2LDY0KSB3aWR0aCAyMzY6ICJ3aXRoIHRoZSBtaWRk
bGUgb2YiCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2NjIsNzkpIHNp
emUgNHgxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDY2Miw3OSkgd2lkdGggNDog
IiAiCisgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDY2Niw2NSkgc2l6ZSA0
OXg1MAorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzE1LDc5KSBzaXpl
IDR4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg3MTUsNzkpIHdpZHRoIDQ6ICIg
IgorICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA3MzB4
MTEyCisgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDcxOSw3MSkgc2l6
ZSAxMXgyOAorICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzE5LDcxKSB3aWR0aCAx
MTogImEiCisgICAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNp
emUgMjA0eDY5CisgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwx
MjMpIHNpemUgMjA0eDY5CisgICAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTIz
KSB3aWR0aCAyMDQ6ICIxNC1wb2ludCIKKyAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMjA0LDE1NSkgc2l6ZSAxMjd4MjgKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDIwNCwxNTUpIHdpZHRoIDEyNzogIiB0ZXh0IGVsZW1lbnQiCisgICAgICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMzEsMTYzKSBzaXplIDR4MTgKKyAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgzMzEsMTYzKSB3aWR0aCA0OiAiICIKKyAgICAgICAgICAgICAg
ICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMzM1LDE0OSkgc2l6ZSA0OXg1MAorICAgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzg0LDE2Mykgc2l6ZSA0eDE4CisgICAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMzg0LDE2Mykgd2lkdGggNDogIiAiCisgICAgICAgICAgICAg
ICAgUmVuZGVySW5saW5lIHtTTUFMTH0gYXQgKDAsMCkgc2l6ZSAxODl4MTgKKyAgICAgICAgICAg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMzg4LDE2Mykgc2l6ZSAxODl4MTgKKyAgICAg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM4OCwxNjMpIHdpZHRoIDE4OTogInJlZ2FyZGxl
c3Mgb2YgdGhlIGxpbmUgaW4gd2hpY2giCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICg1NzcsMTYzKSBzaXplIDR4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICg1NzcsMTYzKSB3aWR0aCA0OiAiICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1H
fSBhdCAoNTgxLDE2Nykgc2l6ZSA0OXgxNQorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoNjMwLDE2Mykgc2l6ZSA0eDE4CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoNjMwLDE2Mykgd2lkdGggNDogIiAiCisgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtC
SUd9IGF0ICgwLDApIHNpemUgNzI0eDk0CisgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDYzNCwxNTgpIHNpemUgNzI0eDk0CisgICAgICAgICAgICAgICAgICAgIHRleHQg
cnVuIGF0ICg2MzQsMTU4KSB3aWR0aCA5MDogInRoZSBpbWFnZXMiCisgICAgICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDIyOCkgd2lkdGggNjE6ICJhcHBlYXIuIgorICAgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNjEsMjMzKSBzaXplIDR4MTgKKyAgICAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICg2MSwyMzMpIHdpZHRoIDQ6ICIgIgorICAgICAgICAgICAgICAg
IFJlbmRlckltYWdlIHtJTUd9IGF0ICg2NSwxOTkpIHNpemUgNDl4OTAKKyAgICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgICAgICAgICAgUmVu
ZGVyQmxvY2sge1B9IGF0ICg0LDE4MjMpIHNpemUgNzQ3eDM2CisgICAgICAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzMzeDM2CisgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA3MzM6ICJJbiB0aGUgZm9sbG93aW5nIHBhcmFncmFwaCwg
YWxsIGVsZW1lbnRzIHNob3VsZCBiZSBhbGlnbmVkIHdpdGggdGhlIHRvcCBvZiB0aGUgdGFsbGVz
dCBlbGVtZW50IG9uIHRoZSBsaW5lLCB3aGV0aGVyIHRoYXQiCisgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggMTczOiAiZWxlbWVudCBpcyBhbiBpbWFnZSBvciBub3Qu
ICIKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNzMsMTgpIHdpZHRoIDU1NTogIkVh
Y2ggZnJhZ21lbnQgb2YgdGV4dCBoYXMgYmVlbiBTUEFObmVkIGFwcHJvcHJpYXRlbHkgaW4gb3Jk
ZXIgdG8gY2F1c2UgdGhpcyB0byBoYXBwZW4uIgorICAgICAgICAgICAgICBSZW5kZXJCbG9jayB7
UH0gYXQgKDQsMTg3NSkgc2l6ZSA3NDd4MjAxCisgICAgICAgICAgICAgICAgUmVuZGVySW5saW5l
IHtTUEFOfSBhdCAoMCwwKSBzaXplIDk1eDE4CisgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA5NXgxOAorICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCA5NTogIlRoaXMgcGFyYWdyYXBoIgorICAgICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoOTUsMCkgc2l6ZSA0eDE4CisgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoOTUsMCkgd2lkdGggNDogIiAiCisgICAgICAgICAgICAgICAgUmVuZGVySW1h
Z2Uge0lNR30gYXQgKDk5LDApIHNpemUgNDl4MTAKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDE0OCwwKSBzaXplIDR4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICgxNDgsMCkgd2lkdGggNDogIiAiCisgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtT
UEFOfSBhdCAoMCwwKSBzaXplIDM1N3g0NgorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgxNTIsMCkgc2l6ZSAzNTd4NDYKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDE1MiwwKSB3aWR0aCAzNTc6ICJjb250YWlucyBtYW55IGltYWdlcyIKKyAgICAgICAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDUwOSwwKSBzaXplIDR4MTgKKyAgICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICg1MDksMCkgd2lkdGggNDogIiAiCisgICAgICAgICAgICAg
ICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDUxMywwKSBzaXplIDQ5eDEwCisgICAgICAgICAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1NjIsMCkgc2l6ZSA0eDE4CisgICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNTYyLDApIHdpZHRoIDQ6ICIgIgorICAgICAgICAgICAgICAgIFJl
bmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA4N3gxOAorICAgICAgICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1NjYsMCkgc2l6ZSA4N3gxOAorICAgICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNTY2LDApIHdpZHRoIDg3OiAiYW5kIHNvbWUgdGV4dCIKKyAgICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDY1MywwKSBzaXplIDR4MTgKKyAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2NTMsMCkgd2lkdGggNDogIiAiCisgICAgICAgICAg
ICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDY1NywwKSBzaXplIDQ5eDEwCisgICAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg3MDYsMCkgc2l6ZSA0eDE4CisgICAgICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoNzA2LDApIHdpZHRoIDQ6ICIgIgorICAgICAgICAgICAgICAg
IFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSA3MjN4NjQKKyAgICAgICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoNzEwLDApIHNpemUgNzIzeDY0CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICg3MTAsMCkgd2lkdGggMTM6ICJvZiIKKyAgICAgICAgICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsNDYpIHdpZHRoIDk3OiAidmFyeWluZyBoZWlnaHRzIgor
ICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoOTcsNDYpIHNpemUgNHgxOAor
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDk3LDQ2KSB3aWR0aCA0OiAiICIKKyAgICAg
ICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMTAxLDQ2KSBzaXplIDQ5eDEwCisgICAg
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNTAsNDYpIHNpemUgNHgxOAorICAg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE1MCw0Nikgd2lkdGggNDogIiAiCisgICAgICAg
ICAgICAgICAgUmVuZGVySW5saW5lIHtCSUd9IGF0ICgwLDApIHNpemUgOTN4MjQKKyAgICAgICAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTU0LDQ2KSBzaXplIDkzeDI0CisgICAg
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNTQsNDYpIHdpZHRoIDkzOiAiYW5kIHdpZHRo
cyIKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDI0Nyw0Nikgc2l6ZSA0
eDE4CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjQ3LDQ2KSB3aWR0aCA0OiAiICIK
KyAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMjUxLDQ2KSBzaXplIDQ5eDIw
CisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMDAsNDYpIHNpemUgNHgx
OAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMwMCw0Nikgd2lkdGggNDogIiAiCisg
ICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDc1eDE4Cisg
ICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMwNCw0Nikgc2l6ZSA3NXgx
OAorICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzA0LDQ2KSB3aWR0aCA3NTogImFs
bCBvZiB3aGljaCIKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDM3OSw0
Nikgc2l6ZSA0eDE4CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzc5LDQ2KSB3aWR0
aCA0OiAiICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMzgzLDQ2KSBz
aXplIDQ5eDY1CisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0MzIsNDYp
IHNpemUgNHgxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDQzMiw0Nikgd2lkdGgg
NDogIiAiCisgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXpl
IDExMXgxOAorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg0MzYsNDYp
IHNpemUgMTExeDE4CisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg0MzYsNDYpIHdp
ZHRoIDExMTogInNob3VsZCBiZSBhbGlnbmVkIgorICAgICAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoNTQ3LDQ2KSBzaXplIDR4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVu
IGF0ICg1NDcsNDYpIHdpZHRoIDQ6ICIgIgorICAgICAgICAgICAgICAgIFJlbmRlckltYWdlIHtJ
TUd9IGF0ICg1NTEsNDYpIHNpemUgNDl4MzUKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDYwMCw0Nikgc2l6ZSA0eDE4CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoNjAwLDQ2KSB3aWR0aCA0OiAiICIKKyAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge1NQ
QU59IGF0ICgwLDApIHNpemUgNzA4eDEwMgorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICg2MDQsNDYpIHNpemUgNzA4eDEwMgorICAgICAgICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoNjA0LDQ2KSB3aWR0aCAxMDQ6ICJ3aXRoIHRoZSIKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMTExKSB3aWR0aCA3NjogInRvcCBvZiIKKyAgICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDc2LDExMSkgc2l6ZSA0eDE4CisgICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoNzYsMTExKSB3aWR0aCA0OiAiICIKKyAgICAgICAgICAgICAgICBS
ZW5kZXJJbWFnZSB7SU1HfSBhdCAoODAsMTExKSBzaXplIDQ5eDUwCisgICAgICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMjksMTExKSBzaXplIDR4MTgKKyAgICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxMjksMTExKSB3aWR0aCA0OiAiICIKKyAgICAgICAgICAgICAgICBS
ZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgMTI4eDE4CisgICAgICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEzMywxMTEpIHNpemUgMTI4eDE4CisgICAgICAgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgxMzMsMTExKSB3aWR0aCAxMjg6ICJ0aGUgdGFsbGVzdCBl
bGVtZW50IGluIgorICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMjYxLDEx
MSkgc2l6ZSA0eDE4CisgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMjYxLDExMSkgd2lk
dGggNDogIiAiCisgICAgICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDI2NSwxMTEp
IHNpemUgNDl4MTUKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDMxNCwx
MTEpIHNpemUgNHgxOAorICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDMxNCwxMTEpIHdp
ZHRoIDQ6ICIgIgorICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7QklHfSBhdCAoMCwwKSBz
aXplIDMwMXgyNAorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMTgs
MTExKSBzaXplIDMwMXgyNAorICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzE4LDEx
MSkgd2lkdGggMzAxOiAid2hpY2hldmVyIGxpbmUgdGhlIGVsZW1lbnRzIGFwcGVhci4iCisgICAg
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg2MTksMTExKSBzaXplIDR4MTgKKyAg
ICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg2MTksMTExKSB3aWR0aCA0OiAiICIKKyAgICAg
ICAgICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoNjIzLDExMSkgc2l6ZSA0OXg5MAorICAg
ICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9jYWxjL3ZlcnRpY2FsLWFsaWduLmh0bWwgYi9MYXlvdXRU
ZXN0cy9jc3MzL2NhbGMvdmVydGljYWwtYWxpZ24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OGVlOWUyZTE0
ZTI4Zjk2ZTQ3YzQ4NmQ3YTNhMDg2Nzg0ODBiNDExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY3NzMy9jYWxjL3ZlcnRpY2FsLWFsaWduLmh0bWwKQEAgLTAsMCArMSwyOTEgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9F
TiIgImh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAvbG9vc2UuZHRkIj4KKzxIVE1MPgor
PEhFQUQ+Cis8VElUTEU+Q1NTMSBUZXN0IFN1aXRlOiA1LjQuNCB2ZXJ0aWNhbC1hbGlnbjwvVElU
TEU+Cis8TUVUQSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsg
Y2hhcnNldD1pc28tODg1OS0xIj4KKzxNRVRBIGh0dHAtZXF1aXY9IkNvbnRlbnQtU3R5bGUtVHlw
ZSIgY29udGVudD0idGV4dC9jc3MiPgorCis8TElOSyByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRl
eHQvY3NzIiBtZWRpYT0ic2NyZWVuIiBocmVmPSIuLi9yZXNvdXJjZXMvYmFzZS5jc3MiPgorPFNU
WUxFIHR5cGU9InRleHQvY3NzIj4KK1Age2ZvbnQtc2l6ZTogMTJwdDt9Cisub25lIHt2ZXJ0aWNh
bC1hbGlnbjogc3ViO30KKy50d28ge3ZlcnRpY2FsLWFsaWduOiBzdXBlcjt9CisudGhyZWUge3Zl
cnRpY2FsLWFsaWduOiB0b3A7IGZvbnQtc2l6ZTogMTJwdDt9CisuZm91ciB7dmVydGljYWwtYWxp
Z246IHRleHQtdG9wOyBmb250LXNpemU6IDEycHQ7fQorLmZpdmUge3ZlcnRpY2FsLWFsaWduOiBt
aWRkbGU7IGZvbnQtc2l6ZTogMTJwdDt9Cisuc2l4IHt2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyBm
b250LXNpemU6IDEycHQ7fQorLnNldmVuIHt2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207IGZv
bnQtc2l6ZTogMTJwdDt9CisuZWlnaHQge3ZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgZm9udC1z
aXplOiAxMnB0O30KKy5uaW5lIHt2ZXJ0aWNhbC1hbGlnbjogLXdlYmtpdC1jYWxjKDUwJSk7IGZv
bnQtc2l6ZTogLXdlYmtpdC1jYWxjKDEycHgpOyBsaW5lLWhlaWdodDogLXdlYmtpdC1jYWxjKDE2
cHgpO30KKworUC5leGFtcGxlIHtmb250LXNpemU6IDE0cHQ7fQorQklHIHtmb250LXNpemU6IDE2
cHQ7fQorU01BTEwge2ZvbnQtc2l6ZTogMTJwdDt9CisudHRvcGFsaWduIHt2ZXJ0aWNhbC1hbGln
bjogdGV4dC10b3A7fQorLnRvcGFsaWduIHt2ZXJ0aWNhbC1hbGlnbjogdG9wO30KKy5taWRhbGln
biB7dmVydGljYWwtYWxpZ246IG1pZGRsZTt9Cis8L1NUWUxFPgorCis8L0hFQUQ+CisKKzxCT0RZ
PjxQPlRoZSBzdHlsZSBkZWNsYXJhdGlvbnMgd2hpY2ggYXBwbHkgdG8gdGhlIHRleHQgYmVsb3cg
YXJlOjwvUD4KKzxQUkU+UCB7Zm9udC1zaXplOiAxMnB0O30KKy5vbmUge3ZlcnRpY2FsLWFsaWdu
OiBzdWI7fQorLnR3byB7dmVydGljYWwtYWxpZ246IHN1cGVyO30KKy50aHJlZSB7dmVydGljYWwt
YWxpZ246IHRvcDsgZm9udC1zaXplOiAxMnB0O30KKy5mb3VyIHt2ZXJ0aWNhbC1hbGlnbjogdGV4
dC10b3A7IGZvbnQtc2l6ZTogMTJwdDt9CisuZml2ZSB7dmVydGljYWwtYWxpZ246IG1pZGRsZTsg
Zm9udC1zaXplOiAxMnB0O30KKy5zaXgge3ZlcnRpY2FsLWFsaWduOiBib3R0b207IGZvbnQtc2l6
ZTogMTJwdDt9Cisuc2V2ZW4ge3ZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTsgZm9udC1zaXpl
OiAxMnB0O30KKy5laWdodCB7dmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyBmb250LXNpemU6IDEy
cHQ7fQorLm5pbmUge3ZlcnRpY2FsLWFsaWduOiA1MCU7IGZvbnQtc2l6ZTogMTJweDsgbGluZS1o
ZWlnaHQ6IDE2cHg7fQorCitQLmV4YW1wbGUge2ZvbnQtc2l6ZTogMTRwdDt9CitCSUcge2ZvbnQt
c2l6ZTogMTZwdDt9CitTTUFMTCB7Zm9udC1zaXplOiAxMnB0O30KKy50dG9wYWxpZ24ge3ZlcnRp
Y2FsLWFsaWduOiB0ZXh0LXRvcDt9CisudG9wYWxpZ24ge3ZlcnRpY2FsLWFsaWduOiB0b3A7fQor
Lm1pZGFsaWduIHt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO30KKworPC9QUkU+Cis8SFI+Cis8UD4K
KzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9
IjUwIj48U1BBTiBjbGFzcz0ib25lIj5UaGUgZmlyc3QgZm91ciB3b3JkczwvU1BBTj4gaW4gdGhp
cyBzZW50ZW5jZSBzaG91bGQgYmUgc3Vic2NyaXB0LWFsaWduZWQuICBUaGUgZm9udCBzaXplIG9m
IHRoZSBzdXBlcnNjcmlwdGVkIHRleHQgc2hvdWxkIG5vdCBiZSBkaWZmZXJlbnQgZnJvbSB0aGF0
IG9mIHRoZSBwYXJlbnQgZWxlbWVudC4KKzwvUD4KKzxQPgorPElNRyBTUkM9Ii4uL3Jlc291cmNl
cy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iNTAiPjxTUEFOIGNsYXNzPSJ0d28i
PlRoZSBmaXJzdCBmb3VyIHdvcmRzPC9TUEFOPiBpbiB0aGlzIHNlbnRlbmNlIHNob3VsZCBiZSBz
dXBlcnNjcmlwdC1hbGlnbmVkLiAgVGhlIGZvbnQgc2l6ZSBvZiB0aGUgc3Vic2NyaXB0ZWQgdGV4
dCBzaG91bGQgbm90IGJlIGRpZmZlcmVudCBmcm9tIHRoYXQgb2YgdGhlIHBhcmVudCBlbGVtZW50
LgorPC9QPgorPFA+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0lt
YWdlXSIgaGVpZ2h0PSI1MCI+PFNQQU4gY2xhc3M9InRocmVlIj5UaGUgZmlyc3QgZm91ciB3b3Jk
czwvU1BBTj4gaW4gdGhpcyBzZW50ZW5jZSBzaG91bGQgYmUgdG9wLWFsaWduZWQsIHdoaWNoIHdp
bGwgYWxpZ24gdGhlaXIgdG9wcyB3aXRoIHRoZSB0b3Agb2YgdGhlIHRhbGxlc3QgZWxlbWVudCBp
biB0aGUgbGluZSAocHJvYmFibHkgdGhlIG9yYW5nZSByZWN0YW5nbGUpLgorPC9QPgorPFA+Cis8
SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI1
MCI+Cis8U1BBTiBzdHlsZT0iZm9udC1zaXplOiAyMDAlOyI+Cis8U1BBTiBjbGFzcz0iZm91ciI+
VGhlIGZpcnN0IGZvdXIgd29yZHM8L1NQQU4+IGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGJlIHRl
eHQtdG9wLWFsaWduZWQsIHdoaWNoIHNob3VsZCBhbGlnbiB0aGVpciB0b3BzIHdpdGggdGhlIHRv
cCBvZiB0aGUgdGFsbGVzdCB0ZXh0IGluIHRoZSBsaW5lLgorPC9TUEFOPgorPC9QPgorPFA+Cis8
SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI1
MCIgY2xhc3M9ImZpdmUiPgorVGhlIGltYWdlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhpcyBzZW50
ZW5jZSBzaG91bGQgYmUgbWlkZGxlLWFsaWduZWQsIHdoaWNoIHNob3VsZCBhbGlnbiBpdHMgbWlk
ZGxlIHdpdGggdGhlIHBvaW50IGRlZmluZWQgYXMgdGhlIHRleHQgYmFzZWxpbmUgcGx1cyBoYWxm
IHRoZSB4LWhlaWdodC4KKzwvUD4KKzxQPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92Ymxhbmsu
Z2lmIiBhbGlnbj0idG9wIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iNTAiPgorPFNQQU4gc3R5bGU9
ImZvbnQtc2l6ZTogMjAwJTsiPgorPFNQQU4gY2xhc3M9InNpeCI+VGhlIGZpcnN0IGZvdXIgd29y
ZHM8L1NQQU4+IGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGJlIDEycHQgaW4gc2l6ZSBhbmQgYm90
dG9tLWFsaWduZWQsIHdoaWNoIHNob3VsZCBhbGlnbiB0aGVpciBib3R0b20gd2l0aCB0aGUgYm90
dG9tIG9mIHRoZSBsb3dlc3QgZWxlbWVudCBpbiB0aGUgbGluZS4KKzwvU1BBTj4KKzwvUD4KKzxQ
PgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbGlnbj0idG9wIiBhbHQ9IltJ
bWFnZV0iIGhlaWdodD0iNTAiPgorPFNQQU4gc3R5bGU9ImZvbnQtc2l6ZTogMjAwJTsiPgorPFNQ
QU4gY2xhc3M9InNldmVuIj5UaGUgZmlyc3QgZWlnaHQgd29yZHMgKCJlaWdodCIgaGFzIGEgZGVz
Y2VuZGVyKTwvU1BBTj4gaW4gdGhpcyBzZW50ZW5jZSBzaG91bGQgYmUgMTJwdCBpbiBzaXplIGFu
ZCB0ZXh0LWJvdHRvbS1hbGlnbmVkLCB3aGljaCBzaG91bGQgYWxpZ24gdGhlaXIgYm90dG9tIHdp
dGggdGhlIGJvdHRvbSBvZiB0aGUgbG93ZXN0IHRleHQgKGluY2x1ZGluZyBkZXNjZW5kZXJzKSBp
biB0aGUgbGluZS4KKzwvU1BBTj4KKzwvUD4KKzxQPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92
YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iNTAiPgorPFNQQU4gc3R5bGU9ImZvbnQt
c2l6ZTogMjAwJTsiPgorPFNQQU4gY2xhc3M9ImVpZ2h0Ij5UaGUgZmlyc3QgZm91ciB3b3Jkczwv
U1BBTj4gaW4gdGhpcyBzZW50ZW5jZSBzaG91bGQgYmUgMTJwdCBpbiBzaXplIGFuZCBiYXNlbGlu
ZS1hbGlnbmVkLCB3aGljaCBzaG91bGQgYWxpZ24gdGhlaXIgYmFzZWxpbmUgd2l0aCB0aGUgYmFz
ZWxpbmUgb2YgdGhlIHJlc3Qgb2YgdGhlIHRleHQgaW4gdGhlIGxpbmUuCis8L1NQQU4+Cis8L1A+
Cis8UD4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBo
ZWlnaHQ9IjUwIj48U1BBTiBjbGFzcz0ibmluZSI+VGhlIGZpcnN0IGZvdXIgd29yZHM8L1NQQU4+
IGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGhhdmUgYSBmb250LXNpemUgb2YgMTJweCBhbmQgYSBs
aW5lLWhlaWdodCBvZiAxNnB4OyB0aGV5IGFyZSBhbHNvIDUwJS1hbGlnbmVkLCB3aGljaCBzaG91
bGQgcmFpc2UgdGhlbSA4cHggcmVsYXRpdmUgdG8gdGhlIG5hdHVyYWwgYmFzZWxpbmUuCis8L1A+
Cis8UD4KK0luIHRoZSBmb2xsb3dpbmcgcGFyYWdyYXBoLCBhbGwgaW1hZ2VzIHNob3VsZCBiZSBh
bGlnbmVkIHdpdGggdGhlIHRvcCBvZiB0aGUgMTQtcG9pbnQgdGV4dCwgd2hpY2ggaXMgaWRlbnRp
Y2FsIHRvIHRoZSBmaXJzdCBzZWN0aW9uIG9mIHRleHQsIHdoZXJlYXMgYW55IHNpemUgdGV4dCBz
aG91bGQgYmUgYWxpZ25lZCB3aXRoIHRoZSB0ZXh0IGJhc2VsaW5lICh3aGljaCBpcyB0aGUgZGVm
YXVsdCB2YWx1ZSkuCis8L1A+Cis8UCBjbGFzcz0iZXhhbXBsZSI+CitUaGlzIHBhcmFncmFwaAor
PElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0i
MzAiIGNsYXNzPSJ0dG9wYWxpZ24iPgorPFNQQU4gc3R5bGU9ImZvbnQtc2l6ZTogMjUwJTsiPmNv
bnRhaW5zIG1hbnkgaW1hZ2VzPC9TUEFOPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92Ymxhbmsu
Z2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iNTAiIGNsYXNzPSJ0dG9wYWxpZ24iPgorPEJJRz5v
ZiB2YXJ5aW5nIGhlaWdodHM8L0JJRz4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdp
ZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjEwIiBjbGFzcz0idHRvcGFsaWduIj4KKzxTTUFMTD5h
bmQgd2lkdGhzPC9TTUFMTD4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0
PSJbSW1hZ2VdIiBoZWlnaHQ9IjIwIiBjbGFzcz0idHRvcGFsaWduIj4KK2FsbCBvZiB3aGljaAor
PElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0i
NjUiIGNsYXNzPSJ0dG9wYWxpZ24iPgorPFNQQU4gc3R5bGU9ImZvbnQtc2l6ZTogMmVtOyI+c2hv
dWxkIGJlIGFsaWduZWQ8L1NQQU4+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYi
IGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSIzNSIgY2xhc3M9InR0b3BhbGlnbiI+Cit3aXRoIHRoZSB0
b3Agb2YKKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBo
ZWlnaHQ9IjMwIiBjbGFzcz0idHRvcGFsaWduIj4KKzxTUEFOIHN0eWxlPSJmb250LXNpemU6IDE1
MCU7Ij5hIDxTUEFOIHN0eWxlPSJmb250LXNpemU6IDI1MCU7Ij4xNC1wb2ludDwvU1BBTj4gdGV4
dCBlbGVtZW50PC9TUEFOPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9
IltJbWFnZV0iIGhlaWdodD0iNTAiIGNsYXNzPSJ0dG9wYWxpZ24iPgorPFNNQUxMPnJlZ2FyZGxl
c3Mgb2YgdGhlIGxpbmUgaW4gd2hpY2g8L1NNQUxMPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92
YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iMTUiIGNsYXNzPSJ0dG9wYWxpZ24iPgor
PEJJRz50aGUgaW1hZ2VzIGFwcGVhci48L0JJRz4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJs
YW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjkwIiBjbGFzcz0idHRvcGFsaWduIj4KKzwv
UD4KKzxQIGNsYXNzPSJleHBsYWluIj4KK0luIHRoZSBmb2xsb3dpbmcgcGFyYWdyYXBoLCBhbGwg
aW1hZ2VzIHNob3VsZCBiZSBhbGlnbmVkIHdpdGggdGhlIG1pZGRsZSBvZiB0aGUgZGVmYXVsdCB0
ZXh0LCB3aGVyZWFzIGFueSB0ZXh0IHNob3VsZCBiZSBhbGlnbmVkIHdpdGggdGhlIHRleHQgYmFz
ZWxpbmUgKHdoaWNoIGlzIHRoZSBkZWZhdWx0IHZhbHVlKS4KKzwvUD4KKzxQPgorVGhpcyBwYXJh
Z3JhcGgKKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBo
ZWlnaHQ9IjMwIiBjbGFzcz0ibWlkYWxpZ24iPgorPFNQQU4gc3R5bGU9ImZvbnQtc2l6ZTogMjUw
JTsiPmNvbnRhaW5zIG1hbnkgaW1hZ2VzPC9TUEFOPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92
YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iNTAiIGNsYXNzPSJtaWRhbGlnbiI+Citv
ZiB2YXJ5aW5nIGhlaWdodHMKKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0
PSJbSW1hZ2VdIiBoZWlnaHQ9IjEwIiBjbGFzcz0ibWlkYWxpZ24iPgorPFNNQUxMPmFuZCB3aWR0
aHM8L1NNQUxMPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFn
ZV0iIGhlaWdodD0iMjAiIGNsYXNzPSJtaWRhbGlnbiI+CithbGwgb2Ygd2hpY2gKKzxJTUcgU1JD
PSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjY1IiBjbGFz
cz0ibWlkYWxpZ24iPgorc2hvdWxkIGJlIGFsaWduZWQKKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMv
dmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjM1IiBjbGFzcz0ibWlkYWxpZ24iPgor
PFNQQU4gc3R5bGU9ImZvbnQtc2l6ZTogMmVtOyI+d2l0aCB0aGUgbWlkZGxlIG9mPC9TUEFOPgor
PElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0i
NTAiIGNsYXNzPSJtaWRhbGlnbiI+Cis8U1BBTiBzdHlsZT0iZm9udC1zaXplOiAxNTAlOyI+YSA8
U1BBTiBzdHlsZT0iZm9udC1zaXplOiAyNTAlOyI+MTQtcG9pbnQ8L1NQQU4+IHRleHQgZWxlbWVu
dDwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2Vd
IiBoZWlnaHQ9IjUwIiBjbGFzcz0ibWlkYWxpZ24iPgorPFNNQUxMPnJlZ2FyZGxlc3Mgb2YgdGhl
IGxpbmUgaW4gd2hpY2g8L1NNQUxMPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lm
IiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iMTUiIGNsYXNzPSJtaWRhbGlnbiI+Cis8QklHPnRoZSBp
bWFnZXMgYXBwZWFyLjwvQklHPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBh
bHQ9IltJbWFnZV0iIGhlaWdodD0iOTAiIGNsYXNzPSJtaWRhbGlnbiI+Cis8L1A+Cis8UCBjbGFz
cz0iZXhwbGFpbiI+CitJbiB0aGUgZm9sbG93aW5nIHBhcmFncmFwaCwgYWxsIGVsZW1lbnRzIHNo
b3VsZCBiZSBhbGlnbmVkIHdpdGggdGhlIHRvcCBvZiB0aGUgdGFsbGVzdCBlbGVtZW50IG9uIHRo
ZSBsaW5lLCB3aGV0aGVyIHRoYXQgZWxlbWVudCBpcyBhbiBpbWFnZSBvciBub3QuICBFYWNoIGZy
YWdtZW50IG9mIHRleHQgaGFzIGJlZW4gU1BBTm5lZCBhcHByb3ByaWF0ZWx5IGluIG9yZGVyIHRv
IGNhdXNlIHRoaXMgdG8gaGFwcGVuLgorPC9QPgorPFA+Cis8U1BBTiBjbGFzcz0idG9wYWxpZ24i
PlRoaXMgcGFyYWdyYXBoPC9TUEFOPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lm
IiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iMTAiIGNsYXNzPSJ0b3BhbGlnbiI+Cis8U1BBTiBzdHls
ZT0iZm9udC1zaXplOiAyNTAlOyIgY2xhc3M9InRvcGFsaWduIj5jb250YWlucyBtYW55IGltYWdl
czwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2Vd
IiBoZWlnaHQ9IjEwIiBjbGFzcz0idG9wYWxpZ24iPgorPFNQQU4gY2xhc3M9InRvcGFsaWduIj5h
bmQgc29tZSB0ZXh0PC9TUEFOPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBh
bHQ9IltJbWFnZV0iIGhlaWdodD0iMTAiIGNsYXNzPSJ0b3BhbGlnbiI+Cis8U1BBTiBjbGFzcz0i
dG9wYWxpZ24iPm9mIHZhcnlpbmcgaGVpZ2h0czwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNvdXJj
ZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjEwIiBjbGFzcz0idG9wYWxpZ24i
PgorPEJJRyBjbGFzcz0idG9wYWxpZ24iPmFuZCB3aWR0aHM8L0JJRz4KKzxJTUcgU1JDPSIuLi9y
ZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjIwIiBjbGFzcz0idG9w
YWxpZ24iPgorPFNQQU4gY2xhc3M9InRvcGFsaWduIj5hbGwgb2Ygd2hpY2g8L1NQQU4+Cis8SU1H
IFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI2NSIg
Y2xhc3M9InRvcGFsaWduIj4KKzxTUEFOIGNsYXNzPSJ0b3BhbGlnbiI+c2hvdWxkIGJlIGFsaWdu
ZWQ8L1NQQU4+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdl
XSIgaGVpZ2h0PSIzNSIgY2xhc3M9InRvcGFsaWduIj4KKzxTUEFOIHN0eWxlPSJmb250LXNpemU6
IDJlbTsiIGNsYXNzPSJ0b3BhbGlnbiI+d2l0aCB0aGUgdG9wIG9mPC9TUEFOPgorPElNRyBTUkM9
Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iNTAiIGNsYXNz
PSJ0b3BhbGlnbiI+Cis8U1BBTiBjbGFzcz0idG9wYWxpZ24iPnRoZSB0YWxsZXN0IGVsZW1lbnQg
aW48L1NQQU4+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdl
XSIgaGVpZ2h0PSIxNSIgY2xhc3M9InRvcGFsaWduIj4KKzxCSUcgY2xhc3M9InRvcGFsaWduIj53
aGljaGV2ZXIgbGluZSB0aGUgZWxlbWVudHMgYXBwZWFyLjwvQklHPgorPElNRyBTUkM9Ii4uL3Jl
c291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iOTAiIGNsYXNzPSJ0b3Bh
bGlnbiI+Cis8L1A+CisKKworPFRBQkxFIGJvcmRlciBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRp
bmc9IjMiIGNsYXNzPSJ0YWJsZXRlc3QiPgorPFRSPgorPFREIGNvbHNwYW49IjIiIGJnY29sb3I9
InNpbHZlciI+PFNUUk9ORz5UQUJMRSBUZXN0aW5nIFNlY3Rpb248L1NUUk9ORz48L1REPgorPC9U
Uj4KKzxUUj4KKzxURCBiZ2NvbG9yPSJzaWx2ZXIiPiZuYnNwOzwvVEQ+Cis8VEQ+PFA+Cis8SU1H
IFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI1MCI+
PFNQQU4gY2xhc3M9Im9uZSI+VGhlIGZpcnN0IGZvdXIgd29yZHM8L1NQQU4+IGluIHRoaXMgc2Vu
dGVuY2Ugc2hvdWxkIGJlIHN1YnNjcmlwdC1hbGlnbmVkLiAgVGhlIGZvbnQgc2l6ZSBvZiB0aGUg
c3VwZXJzY3JpcHRlZCB0ZXh0IHNob3VsZCBub3QgYmUgZGlmZmVyZW50IGZyb20gdGhhdCBvZiB0
aGUgcGFyZW50IGVsZW1lbnQuCis8L1A+Cis8UD4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJs
YW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjUwIj48U1BBTiBjbGFzcz0idHdvIj5UaGUg
Zmlyc3QgZm91ciB3b3JkczwvU1BBTj4gaW4gdGhpcyBzZW50ZW5jZSBzaG91bGQgYmUgc3VwZXJz
Y3JpcHQtYWxpZ25lZC4gIFRoZSBmb250IHNpemUgb2YgdGhlIHN1YnNjcmlwdGVkIHRleHQgc2hv
dWxkIG5vdCBiZSBkaWZmZXJlbnQgZnJvbSB0aGF0IG9mIHRoZSBwYXJlbnQgZWxlbWVudC4KKzwv
UD4KKzxQPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0i
IGhlaWdodD0iNTAiPjxTUEFOIGNsYXNzPSJ0aHJlZSI+VGhlIGZpcnN0IGZvdXIgd29yZHM8L1NQ
QU4+IGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGJlIHRvcC1hbGlnbmVkLCB3aGljaCB3aWxsIGFs
aWduIHRoZWlyIHRvcHMgd2l0aCB0aGUgdG9wIG9mIHRoZSB0YWxsZXN0IGVsZW1lbnQgaW4gdGhl
IGxpbmUgKHByb2JhYmx5IHRoZSBvcmFuZ2UgcmVjdGFuZ2xlKS4KKzwvUD4KKzxQPgorPElNRyBT
UkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iNTAiPgor
PFNQQU4gc3R5bGU9ImZvbnQtc2l6ZTogMjAwJTsiPgorPFNQQU4gY2xhc3M9ImZvdXIiPlRoZSBm
aXJzdCBmb3VyIHdvcmRzPC9TUEFOPiBpbiB0aGlzIHNlbnRlbmNlIHNob3VsZCBiZSB0ZXh0LXRv
cC1hbGlnbmVkLCB3aGljaCBzaG91bGQgYWxpZ24gdGhlaXIgdG9wcyB3aXRoIHRoZSB0b3Agb2Yg
dGhlIHRhbGxlc3QgdGV4dCBpbiB0aGUgbGluZS4KKzwvU1BBTj4KKzwvUD4KKzxQPgorPElNRyBT
UkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iNTAiIGNs
YXNzPSJmaXZlIj4KK1RoZSBpbWFnZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoaXMgc2VudGVuY2Ug
c2hvdWxkIGJlIG1pZGRsZS1hbGlnbmVkLCB3aGljaCBzaG91bGQgYWxpZ24gaXRzIG1pZGRsZSB3
aXRoIHRoZSBwb2ludCBkZWZpbmVkIGFzIHRoZSB0ZXh0IGJhc2VsaW5lIHBsdXMgaGFsZiB0aGUg
eC1oZWlnaHQuCis8L1A+Cis8UD4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIg
YWxpZ249InRvcCIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjUwIj4KKzxTUEFOIHN0eWxlPSJmb250
LXNpemU6IDIwMCU7Ij4KKzxTUEFOIGNsYXNzPSJzaXgiPlRoZSBmaXJzdCBmb3VyIHdvcmRzPC9T
UEFOPiBpbiB0aGlzIHNlbnRlbmNlIHNob3VsZCBiZSAxMnB0IGluIHNpemUgYW5kIGJvdHRvbS1h
bGlnbmVkLCB3aGljaCBzaG91bGQgYWxpZ24gdGhlaXIgYm90dG9tIHdpdGggdGhlIGJvdHRvbSBv
ZiB0aGUgbG93ZXN0IGVsZW1lbnQgaW4gdGhlIGxpbmUuCis8L1NQQU4+Cis8L1A+Cis8UD4KKzxJ
TUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWxpZ249InRvcCIgYWx0PSJbSW1hZ2Vd
IiBoZWlnaHQ9IjUwIj4KKzxTUEFOIHN0eWxlPSJmb250LXNpemU6IDIwMCU7Ij4KKzxTUEFOIGNs
YXNzPSJzZXZlbiI+VGhlIGZpcnN0IGVpZ2h0IHdvcmRzICgiZWlnaHQiIGhhcyBhIGRlc2NlbmRl
cik8L1NQQU4+IGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGJlIDEycHQgaW4gc2l6ZSBhbmQgdGV4
dC1ib3R0b20tYWxpZ25lZCwgd2hpY2ggc2hvdWxkIGFsaWduIHRoZWlyIGJvdHRvbSB3aXRoIHRo
ZSBib3R0b20gb2YgdGhlIGxvd2VzdCB0ZXh0IChpbmNsdWRpbmcgZGVzY2VuZGVycykgaW4gdGhl
IGxpbmUuCis8L1NQQU4+Cis8L1A+Cis8UD4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5r
LmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjUwIj4KKzxTUEFOIHN0eWxlPSJmb250LXNpemU6
IDIwMCU7Ij4KKzxTUEFOIGNsYXNzPSJlaWdodCI+VGhlIGZpcnN0IGZvdXIgd29yZHM8L1NQQU4+
IGluIHRoaXMgc2VudGVuY2Ugc2hvdWxkIGJlIDEycHQgaW4gc2l6ZSBhbmQgYmFzZWxpbmUtYWxp
Z25lZCwgd2hpY2ggc2hvdWxkIGFsaWduIHRoZWlyIGJhc2VsaW5lIHdpdGggdGhlIGJhc2VsaW5l
IG9mIHRoZSByZXN0IG9mIHRoZSB0ZXh0IGluIHRoZSBsaW5lLgorPC9TUEFOPgorPC9QPgorPFA+
Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0
PSI1MCI+PFNQQU4gY2xhc3M9Im5pbmUiPlRoZSBmaXJzdCBmb3VyIHdvcmRzPC9TUEFOPiBpbiB0
aGlzIHNlbnRlbmNlIHNob3VsZCBoYXZlIGEgZm9udC1zaXplIG9mIDEycHggYW5kIGEgbGluZS1o
ZWlnaHQgb2YgMTZweDsgdGhleSBhcmUgYWxzbyA1MCUtYWxpZ25lZCwgd2hpY2ggc2hvdWxkIHJh
aXNlIHRoZW0gOHB4IHJlbGF0aXZlIHRvIHRoZSBuYXR1cmFsIGJhc2VsaW5lLgorPC9QPgorPFA+
CitJbiB0aGUgZm9sbG93aW5nIHBhcmFncmFwaCwgYWxsIGltYWdlcyBzaG91bGQgYmUgYWxpZ25l
ZCB3aXRoIHRoZSB0b3Agb2YgdGhlIDE0LXBvaW50IHRleHQsIHdoaWNoIGlzIGlkZW50aWNhbCB0
byB0aGUgZmlyc3Qgc2VjdGlvbiBvZiB0ZXh0LCB3aGVyZWFzIGFueSBzaXplIHRleHQgc2hvdWxk
IGJlIGFsaWduZWQgd2l0aCB0aGUgdGV4dCBiYXNlbGluZSAod2hpY2ggaXMgdGhlIGRlZmF1bHQg
dmFsdWUpLgorPC9QPgorPFAgY2xhc3M9ImV4YW1wbGUiPgorVGhpcyBwYXJhZ3JhcGgKKzxJTUcg
U1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjMwIiBj
bGFzcz0idHRvcGFsaWduIj4KKzxTUEFOIHN0eWxlPSJmb250LXNpemU6IDI1MCU7Ij5jb250YWlu
cyBtYW55IGltYWdlczwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIg
YWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjUwIiBjbGFzcz0idHRvcGFsaWduIj4KKzxCSUc+b2YgdmFy
eWluZyBoZWlnaHRzPC9CSUc+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFs
dD0iW0ltYWdlXSIgaGVpZ2h0PSIxMCIgY2xhc3M9InR0b3BhbGlnbiI+Cis8U01BTEw+YW5kIHdp
ZHRoczwvU01BTEw+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0lt
YWdlXSIgaGVpZ2h0PSIyMCIgY2xhc3M9InR0b3BhbGlnbiI+CithbGwgb2Ygd2hpY2gKKzxJTUcg
U1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjY1IiBj
bGFzcz0idHRvcGFsaWduIj4KKzxTUEFOIHN0eWxlPSJmb250LXNpemU6IDJlbTsiPnNob3VsZCBi
ZSBhbGlnbmVkPC9TUEFOPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9
IltJbWFnZV0iIGhlaWdodD0iMzUiIGNsYXNzPSJ0dG9wYWxpZ24iPgord2l0aCB0aGUgdG9wIG9m
Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0
PSIzMCIgY2xhc3M9InR0b3BhbGlnbiI+Cis8U1BBTiBzdHlsZT0iZm9udC1zaXplOiAxNTAlOyI+
YSA8U1BBTiBzdHlsZT0iZm9udC1zaXplOiAyNTAlOyI+MTQtcG9pbnQ8L1NQQU4+IHRleHQgZWxl
bWVudDwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1h
Z2VdIiBoZWlnaHQ9IjUwIiBjbGFzcz0idHRvcGFsaWduIj4KKzxTTUFMTD5yZWdhcmRsZXNzIG9m
IHRoZSBsaW5lIGluIHdoaWNoPC9TTUFMTD4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5r
LmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjE1IiBjbGFzcz0idHRvcGFsaWduIj4KKzxCSUc+
dGhlIGltYWdlcyBhcHBlYXIuPC9CSUc+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5n
aWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI5MCIgY2xhc3M9InR0b3BhbGlnbiI+Cis8L1A+Cis8
UCBjbGFzcz0iZXhwbGFpbiI+CitJbiB0aGUgZm9sbG93aW5nIHBhcmFncmFwaCwgYWxsIGltYWdl
cyBzaG91bGQgYmUgYWxpZ25lZCB3aXRoIHRoZSBtaWRkbGUgb2YgdGhlIGRlZmF1bHQgdGV4dCwg
d2hlcmVhcyBhbnkgdGV4dCBzaG91bGQgYmUgYWxpZ25lZCB3aXRoIHRoZSB0ZXh0IGJhc2VsaW5l
ICh3aGljaCBpcyB0aGUgZGVmYXVsdCB2YWx1ZSkuCis8L1A+Cis8UD4KK1RoaXMgcGFyYWdyYXBo
Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0
PSIzMCIgY2xhc3M9Im1pZGFsaWduIj4KKzxTUEFOIHN0eWxlPSJmb250LXNpemU6IDI1MCU7Ij5j
b250YWlucyBtYW55IGltYWdlczwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5r
LmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjUwIiBjbGFzcz0ibWlkYWxpZ24iPgorb2YgdmFy
eWluZyBoZWlnaHRzCis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0lt
YWdlXSIgaGVpZ2h0PSIxMCIgY2xhc3M9Im1pZGFsaWduIj4KKzxTTUFMTD5hbmQgd2lkdGhzPC9T
TUFMTD4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBo
ZWlnaHQ9IjIwIiBjbGFzcz0ibWlkYWxpZ24iPgorYWxsIG9mIHdoaWNoCis8SU1HIFNSQz0iLi4v
cmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSI2NSIgY2xhc3M9Im1p
ZGFsaWduIj4KK3Nob3VsZCBiZSBhbGlnbmVkCis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFu
ay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSIzNSIgY2xhc3M9Im1pZGFsaWduIj4KKzxTUEFO
IHN0eWxlPSJmb250LXNpemU6IDJlbTsiPndpdGggdGhlIG1pZGRsZSBvZjwvU1BBTj4KKzxJTUcg
U1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjUwIiBj
bGFzcz0ibWlkYWxpZ24iPgorPFNQQU4gc3R5bGU9ImZvbnQtc2l6ZTogMTUwJTsiPmEgPFNQQU4g
c3R5bGU9ImZvbnQtc2l6ZTogMjUwJTsiPjE0LXBvaW50PC9TUEFOPiB0ZXh0IGVsZW1lbnQ8L1NQ
QU4+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVp
Z2h0PSI1MCIgY2xhc3M9Im1pZGFsaWduIj4KKzxTTUFMTD5yZWdhcmRsZXNzIG9mIHRoZSBsaW5l
IGluIHdoaWNoPC9TTUFMTD4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0
PSJbSW1hZ2VdIiBoZWlnaHQ9IjE1IiBjbGFzcz0ibWlkYWxpZ24iPgorPEJJRz50aGUgaW1hZ2Vz
IGFwcGVhci48L0JJRz4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJb
SW1hZ2VdIiBoZWlnaHQ9IjkwIiBjbGFzcz0ibWlkYWxpZ24iPgorPC9QPgorPFAgY2xhc3M9ImV4
cGxhaW4iPgorSW4gdGhlIGZvbGxvd2luZyBwYXJhZ3JhcGgsIGFsbCBlbGVtZW50cyBzaG91bGQg
YmUgYWxpZ25lZCB3aXRoIHRoZSB0b3Agb2YgdGhlIHRhbGxlc3QgZWxlbWVudCBvbiB0aGUgbGlu
ZSwgd2hldGhlciB0aGF0IGVsZW1lbnQgaXMgYW4gaW1hZ2Ugb3Igbm90LiAgRWFjaCBmcmFnbWVu
dCBvZiB0ZXh0IGhhcyBiZWVuIFNQQU5uZWQgYXBwcm9wcmlhdGVseSBpbiBvcmRlciB0byBjYXVz
ZSB0aGlzIHRvIGhhcHBlbi4KKzwvUD4KKzxQPgorPFNQQU4gY2xhc3M9InRvcGFsaWduIj5UaGlz
IHBhcmFncmFwaDwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0
PSJbSW1hZ2VdIiBoZWlnaHQ9IjEwIiBjbGFzcz0idG9wYWxpZ24iPgorPFNQQU4gc3R5bGU9ImZv
bnQtc2l6ZTogMjUwJTsiIGNsYXNzPSJ0b3BhbGlnbiI+Y29udGFpbnMgbWFueSBpbWFnZXM8L1NQ
QU4+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVp
Z2h0PSIxMCIgY2xhc3M9InRvcGFsaWduIj4KKzxTUEFOIGNsYXNzPSJ0b3BhbGlnbiI+YW5kIHNv
bWUgdGV4dDwvU1BBTj4KKzxJTUcgU1JDPSIuLi9yZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJb
SW1hZ2VdIiBoZWlnaHQ9IjEwIiBjbGFzcz0idG9wYWxpZ24iPgorPFNQQU4gY2xhc3M9InRvcGFs
aWduIj5vZiB2YXJ5aW5nIGhlaWdodHM8L1NQQU4+Cis8SU1HIFNSQz0iLi4vcmVzb3VyY2VzL3Zi
bGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSIxMCIgY2xhc3M9InRvcGFsaWduIj4KKzxC
SUcgY2xhc3M9InRvcGFsaWduIj5hbmQgd2lkdGhzPC9CSUc+Cis8SU1HIFNSQz0iLi4vcmVzb3Vy
Y2VzL3ZibGFuay5naWYiIGFsdD0iW0ltYWdlXSIgaGVpZ2h0PSIyMCIgY2xhc3M9InRvcGFsaWdu
Ij4KKzxTUEFOIGNsYXNzPSJ0b3BhbGlnbiI+YWxsIG9mIHdoaWNoPC9TUEFOPgorPElNRyBTUkM9
Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhlaWdodD0iNjUiIGNsYXNz
PSJ0b3BhbGlnbiI+Cis8U1BBTiBjbGFzcz0idG9wYWxpZ24iPnNob3VsZCBiZSBhbGlnbmVkPC9T
UEFOPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhl
aWdodD0iMzUiIGNsYXNzPSJ0b3BhbGlnbiI+Cis8U1BBTiBzdHlsZT0iZm9udC1zaXplOiAyZW07
IiBjbGFzcz0idG9wYWxpZ24iPndpdGggdGhlIHRvcCBvZjwvU1BBTj4KKzxJTUcgU1JDPSIuLi9y
ZXNvdXJjZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjUwIiBjbGFzcz0idG9w
YWxpZ24iPgorPFNQQU4gY2xhc3M9InRvcGFsaWduIj50aGUgdGFsbGVzdCBlbGVtZW50IGluPC9T
UEFOPgorPElNRyBTUkM9Ii4uL3Jlc291cmNlcy92YmxhbmsuZ2lmIiBhbHQ9IltJbWFnZV0iIGhl
aWdodD0iMTUiIGNsYXNzPSJ0b3BhbGlnbiI+Cis8QklHIGNsYXNzPSJ0b3BhbGlnbiI+d2hpY2hl
dmVyIGxpbmUgdGhlIGVsZW1lbnRzIGFwcGVhci48L0JJRz4KKzxJTUcgU1JDPSIuLi9yZXNvdXJj
ZXMvdmJsYW5rLmdpZiIgYWx0PSJbSW1hZ2VdIiBoZWlnaHQ9IjkwIiBjbGFzcz0idG9wYWxpZ24i
PgorPC9QPgorPC9URD48L1RSPjwvVEFCTEU+PC9CT0RZPgorPC9IVE1MPgo=
</data>
<flag name="review"
          id="117697"
          type_id="1"
          status="-"
          setter="ojan"
    />
    <flag name="commit-queue"
          id="117698"
          type_id="3"
          status="-"
          setter="mikelawther"
    />
          </attachment>
      

    </bug>

</bugzilla>