<?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>81214</bug_id>
          
          <creation_ts>2012-03-15 06:30:14 -0700</creation_ts>
          <short_desc>[Performance] Optimize innerHTML and outerHTML</short_desc>
          <delta_ts>2012-03-16 05:35:49 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>81288</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>arv</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>579319</commentid>
    <comment_count>0</comment_count>
      <attachid>132034</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-15 06:30:14 -0700</bug_when>
    <thetext>Created attachment 132034
Performance test

We can optimize the performance of innerHTML and outerHTML more. The performance test is attached.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579320</commentid>
    <comment_count>1</comment_count>
      <attachid>132035</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-15 06:32:54 -0700</bug_when>
    <thetext>Created attachment 132035
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579321</commentid>
    <comment_count>2</comment_count>
      <attachid>132035</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-15 06:34:25 -0700</bug_when>
    <thetext>Comment on attachment 132035
Patch

The uploaded patch makes innerHTML and outerHTML 2.4 times faster. Since the patch is doing too many things, I will land it step by step. Comments are appreciated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579527</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-15 11:05:42 -0700</bug_when>
    <thetext>Very impressive.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579528</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-03-15 11:05:54 -0700</bug_when>
    <thetext>Does this speed up any widely recognized benchmark? If a change only improves a synthetic benchmark made just for it, then it may not be worth the code churn.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579809</commentid>
    <comment_count>5</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-15 15:26:42 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Does this speed up any widely recognized benchmark? If a change only improves a synthetic benchmark made just for it, then it may not be worth the code churn.

I couldn&apos;t find existing benchmarks that test innerHTML. But the attached performance benchmark tests body.innerHTML for 3000 lines of HTML, which is copied from Dromaeo/dom-attr.html. Thus I think the performance impact will be practical.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579811</commentid>
    <comment_count>6</comment_count>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-03-15 15:29:09 -0700</bug_when>
    <thetext>Patch looks great. The new code looks considerably simpler and more maintainable too!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579951</commentid>
    <comment_count>7</comment_count>
      <attachid>132161</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-15 17:33:40 -0700</bug_when>
    <thetext>Created attachment 132161
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579971</commentid>
    <comment_count>8</comment_count>
      <attachid>132161</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-03-15 17:56:02 -0700</bug_when>
    <thetext>Comment on attachment 132161
Patch

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

&gt; Source/WebCore/editing/MarkupAccumulator.cpp:302
&gt; -    result.append(&quot;&lt;!DOCTYPE &quot;);
&gt; +    result.append(&quot;&lt;!DOCTYPE &quot;, 10);

I would pull these out into const char* variables and use WTF_ARRAY_LENGTH instead of hard coding the lengths.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579982</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-15 18:05:15 -0700</bug_when>
    <thetext>+rniwa for fun with MarkupAccumulator.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579992</commentid>
    <comment_count>10</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-15 18:18:37 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; &gt; Source/WebCore/editing/MarkupAccumulator.cpp:302
&gt; &gt; -    result.append(&quot;&lt;!DOCTYPE &quot;);
&gt; &gt; +    result.append(&quot;&lt;!DOCTYPE &quot;, 10);
&gt; 
&gt; I would pull these out into const char* variables and use WTF_ARRAY_LENGTH instead of hard coding the lengths.

tony: It seems we cannot call WTF_ARRAY_LENGTH for char* array... (without a hack in StdLibExtras.h)

    third_party/WebKit/Source/WebCore/editing/MarkupAccumulator.cpp: In static member function &apos;static void  WebCore::MarkupAccumulator::appendComment(WTF::StringBuilder&amp;, const WTF::String&amp;)&apos;:
    third_party/WebKit/Source/WebCore/editing/MarkupAccumulator.cpp:293: error: no matching function for call to &apos;ArrayLengthHelperFunction(const char*&amp;)&apos;
    third_party/WebKit/Source/WebCore/editing/MarkupAccumulator.cpp:296: error: no matching function for call to &apos;ArrayLengthHelperFunction(const char*&amp;)&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579996</commentid>
    <comment_count>11</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-03-15 18:22:33 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #8)
&gt; &gt; &gt; Source/WebCore/editing/MarkupAccumulator.cpp:302
&gt; &gt; &gt; -    result.append(&quot;&lt;!DOCTYPE &quot;);
&gt; &gt; &gt; +    result.append(&quot;&lt;!DOCTYPE &quot;, 10);
&gt; &gt; 
&gt; &gt; I would pull these out into const char* variables and use WTF_ARRAY_LENGTH instead of hard coding the lengths.
&gt; 
&gt; tony: It seems we cannot call WTF_ARRAY_LENGTH for char* array... (without a hack in StdLibExtras.h)

Sorry, you can do:

const char Doctype[] = &quot;&lt;!DOCTYPE &quot;;
WTF_ARRAY_LENGTH(DocType) should work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580005</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-15 18:24:53 -0700</bug_when>
    <thetext>&gt; const char Doctype[] = &quot;&lt;!DOCTYPE &quot;;
&gt; WTF_ARRAY_LENGTH(DocType) should work.

^^^ WTF_ARRAY_LENGTH(DocType) - 1 :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580014</commentid>
    <comment_count>13</comment_count>
      <attachid>132172</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-15 18:32:11 -0700</bug_when>
    <thetext>Created attachment 132172
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580015</commentid>
    <comment_count>14</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-15 18:33:27 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; &gt; const char Doctype[] = &quot;&lt;!DOCTYPE &quot;;
&gt; &gt; WTF_ARRAY_LENGTH(DocType) should work.
&gt; 
&gt; ^^^ WTF_ARRAY_LENGTH(DocType) - 1 :)

Fixed. Thanks. I confirmed no performance difference between &apos;WTF_ARRAY_LENGTH(DocType) - 1&apos; and hard-coding &apos;10&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580097</commentid>
    <comment_count>15</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-03-15 21:11:06 -0700</bug_when>
    <thetext>Yay, you&apos;re doing my work (making them faster was on my OKRs).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580105</commentid>
    <comment_count>16</comment_count>
      <attachid>132172</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-15 21:19:31 -0700</bug_when>
    <thetext>Comment on attachment 132172
Patch

The patch passed all ews-bots. If the change looks ok, would anyone r+ it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580119</commentid>
    <comment_count>17</comment_count>
      <attachid>132172</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-15 21:39:52 -0700</bug_when>
    <thetext>Comment on attachment 132172
Patch

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

The old code looks kind of silly after this patch.  :)

&gt; Source/WebCore/editing/MarkupAccumulator.cpp:156
&gt;  void MarkupAccumulator::concatenateMarkup(StringBuilder&amp; result)

This function appears unused.  Perhaps we can remove it?

&gt; Source/WebCore/editing/MarkupAccumulator.h:81
&gt;      static size_t totalLength(const Vector&lt;String&gt;&amp;);

Does this function have any more callers?  Perhaps we can remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580121</commentid>
    <comment_count>18</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-15 21:41:41 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; &gt; Source/WebCore/editing/MarkupAccumulator.cpp:156
&gt; &gt;  void MarkupAccumulator::concatenateMarkup(StringBuilder&amp; result)
&gt; 
&gt; This function appears unused.  Perhaps we can remove it?
&gt; 
&gt; &gt; Source/WebCore/editing/MarkupAccumulator.h:81
&gt; &gt;      static size_t totalLength(const Vector&lt;String&gt;&amp;);
&gt; 
&gt; Does this function have any more callers?  Perhaps we can remove it.

We cannot remove them because they are still used by markup.cpp. We should improve markup.cpp later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580123</commentid>
    <comment_count>19</comment_count>
      <attachid>132172</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-03-15 21:44:30 -0700</bug_when>
    <thetext>Comment on attachment 132172
Patch

The patch looks great to me as well</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580124</commentid>
    <comment_count>20</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-03-15 21:44:39 -0700</bug_when>
    <thetext>The patch looks great to me as well</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580130</commentid>
    <comment_count>21</comment_count>
      <attachid>132172</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-03-15 21:53:48 -0700</bug_when>
    <thetext>Comment on attachment 132172
Patch

Why is this using WTF_ARRAY_LENGTH and not just sizeof? Size of char is guaranteed to be 1, we&apos;re not winning anything with fancy macros.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580133</commentid>
    <comment_count>22</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-15 21:58:39 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 132172 [details])
&gt; Why is this using WTF_ARRAY_LENGTH and not just sizeof? Size of char is guaranteed to be 1, we&apos;re not winning anything with fancy macros.

I guess either is OK, WTF_ARRAY_LENGTH is just an alias of sizeof in this case. As far as I see the code around, it seems we are likely to use WTF_ARRAY_LENGTH (instead of sizeof) since we do not need to care types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580142</commentid>
    <comment_count>23</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-03-15 22:26:20 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 132172 [details])
&gt; Why is this using WTF_ARRAY_LENGTH and not just sizeof? Size of char is guaranteed to be 1, we&apos;re not winning anything with fancy macros.

I think it&apos;s probably better to use WTF_ARRAY_LENGTH so that we don&apos;t have to fix the code when we change the string type in the future for example (e.g. L&quot;text&quot;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580160</commentid>
    <comment_count>24</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-03-15 22:55:35 -0700</bug_when>
    <thetext>I&apos;m quite confident that this is a wrong way to look at this. Using more complicated and uglier code today just in case that&apos;s needed for a future refactoring we don&apos;t even expect to ever happen is solving the wrong problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580176</commentid>
    <comment_count>25</comment_count>
      <attachid>132172</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-15 23:17:59 -0700</bug_when>
    <thetext>Comment on attachment 132172
Patch

(In reply to comment #24)
&gt; I&apos;m quite confident that this is a wrong way to look at this. Using more complicated and uglier code today just in case that&apos;s needed for a future refactoring we don&apos;t even expect to ever happen is solving the wrong problem.

OK, then I&apos;ll use sizeof (I do not have a strong opinion for this). I think both opinions make sense. You are right, and rniwa and tony are also right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580180</commentid>
    <comment_count>26</comment_count>
      <attachid>132209</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-03-15 23:23:11 -0700</bug_when>
    <thetext>Created attachment 132209
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580412</commentid>
    <comment_count>27</comment_count>
      <attachid>132209</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-16 05:32:14 -0700</bug_when>
    <thetext>Comment on attachment 132209
patch for landing

Clearing flags on attachment: 132209

Committed r110992: &lt;http://trac.webkit.org/changeset/110992&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>132034</attachid>
            <date>2012-03-15 06:30:14 -0700</date>
            <delta_ts>2012-03-15 06:30:14 -0700</delta_ts>
            <desc>Performance test</desc>
            <filename>dom_innerhtml.html</filename>
            <type>text/html</type>
            <size>118482</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPjwvaGVhZD4KPHNjcmlwdD4Kd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uICgp
IHsKICB2YXIgcmVwZWF0ID0gMjAwMDAwMDsKICB2YXIgdGVzdE51bSA9IDU7CiAgdmFyIGRpdiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJub2RlIik7CiAgdmFyIHJlc3VsdCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKTsKCiAgKGZ1bmN0aW9uKGRpdikgewogICAgdmFyIHN1
bSA9IDA7CiAgICBmb3IgKHZhciBqID0gMDsgaiA8IHRlc3ROdW07IGorKykgewogICAgICB2YXIg
c3RhcnQgPSBEYXRlLm5vdygpOwogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlcGVhdDsgaSsr
KQogICAgICAgIGRpdi5pbm5lckhUTUw7CiAgICAgIHN1bSArPSBEYXRlLm5vdygpIC0gc3RhcnQ7
CiAgICB9CiAgICByZXN1bHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImRp
di5pbm5lckhUTUwgOiAiICsgKHN1bSAvIHRlc3ROdW0pICsgIm1zICIgKyBkaXYuaW5uZXJIVE1M
KSk7CiAgICByZXN1bHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnIiKSk7
CiAgfSkoZGl2KTsKCiAgKGZ1bmN0aW9uKGRpdikgewogICAgdmFyIHN1bSA9IDA7CiAgICBmb3Ig
KHZhciBqID0gMDsgaiA8IHRlc3ROdW07IGorKykgewogICAgICB2YXIgc3RhcnQgPSBEYXRlLm5v
dygpOwogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlcGVhdDsgaSsrKQogICAgICAgIGRpdi5v
dXRlckhUTUw7CiAgICAgIHN1bSArPSBEYXRlLm5vdygpIC0gc3RhcnQ7CiAgICB9CiAgICByZXN1
bHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImRpdi5vdXRlckhUTUwgOiAi
ICsgKHN1bSAvIHRlc3ROdW0pICsgIm1zICIgKyBkaXYub3V0ZXJIVE1MKSk7CiAgICByZXN1bHQu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnIiKSk7CiAgfSkoZGl2KTsKCiAg
KGZ1bmN0aW9uKGJvZHkpIHsKICAgIHZhciBzdW0gPSAwOwogICAgZm9yICh2YXIgaiA9IDA7IGog
PCB0ZXN0TnVtOyBqKyspIHsKICAgICAgdmFyIHN0YXJ0ID0gRGF0ZS5ub3coKTsKICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCByZXBlYXQgLyAxMDAwMDsgaSsrKQogICAgICAgIGJvZHkuaW5uZXJI
VE1MOwogICAgICBzdW0gKz0gRGF0ZS5ub3coKSAtIHN0YXJ0OwogICAgfQogICAgcmVzdWx0LmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJib2R5LmlubmVySFRNTCA6ICIgKyAo
c3VtIC8gdGVzdE51bSkgKyAibXMiKSk7CiAgICByZXN1bHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiYnIiKSk7CiAgfSkoZG9jdW1lbnQuYm9keSk7CgogIChmdW5jdGlvbihi
b2R5KSB7CiAgICB2YXIgc3VtID0gMDsKICAgIGZvciAodmFyIGogPSAwOyBqIDwgdGVzdE51bTsg
aisrKSB7CiAgICAgIHZhciBzdGFydCA9IERhdGUubm93KCk7CiAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgcmVwZWF0IC8gMTAwMDA7IGkrKykKICAgICAgICBib2R5Lm91dGVySFRNTDsKICAgICAg
c3VtICs9IERhdGUubm93KCkgLSBzdGFydDsKICAgIH0KICAgIHJlc3VsdC5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiYm9keS5vdXRlckhUTUwgOiAiICsgKHN1bSAvIHRlc3RO
dW0pICsgIm1zIikpOwogICAgcmVzdWx0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImJyIikpOwogIH0pKGRvY3VtZW50LmJvZHkpOwoKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29udGVudHMiKS5pbm5lckhUTUwgPSAiIjsKfQo8L3NjcmlwdD4KPGJvZHk+CjxkaXYgaWQ9
Im5vZGUiPmZvbzwvZGl2Pgo8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PgoKPGRpdiBpZD0iY29udGVu
dHMiPgogIDxkaXYgY2xhc3M9ImhlYWQiPgogICA8cD48YSBocmVmPSJodHRwOi8vd3d3LnczLm9y
Zy8iPjxpbWcgaGVpZ2h0PTQ4IGFsdD1XM0Mgc3JjPSI3MnB4LnBuZyIgd2lkdGg9NzI+PC9hPgoK
ICAgPGgxIGlkPSJ0aXRsZSI+U2VsZWN0b3JzPC9oMT4KCiAgIDxoMj5XM0MgV29ya2luZyBEcmFm
dCAxNSBEZWNlbWJlciAyMDA1PC9oMj4KCiAgIDxkbD4KCiAgICA8ZHQ+VGhpcyB2ZXJzaW9uOgoK
ICAgIDxkZD48YSBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA1L1dELWNzczMtc2VsZWN0
b3JzLTIwMDUxMjE1Ij4KICAgICAgICAgICAgICAgICBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA1
L1dELWNzczMtc2VsZWN0b3JzLTIwMDUxMjE1PC9hPgoKICAgIDxkdD5MYXRlc3QgdmVyc2lvbjoK
CiAgICA8ZGQ+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1zZWxlY3RvcnMiPgog
ICAgICAgICAgICAgICAgIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtc2VsZWN0b3JzPC9hPgoK
ICAgIDxkdD5QcmV2aW91cyB2ZXJzaW9uOgoKICAgIDxkZD48YSBocmVmPSJodHRwOi8vd3d3Lncz
Lm9yZy9UUi8yMDAxL0NSLWNzczMtc2VsZWN0b3JzLTIwMDExMTEzIj4KICAgICAgICAgICAgICAg
ICBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL0NSLWNzczMtc2VsZWN0b3JzLTIwMDExMTEzPC9h
PgoKICAgIDxkdD48YSBuYW1lPWVkaXRvcnMtbGlzdD48L2E+RWRpdG9yczoKCiAgICA8ZGQgY2xh
c3M9InZjYXJkIj48c3BhbiBjbGFzcz0iZm4iPkRhbmllbCBHbGF6bWFuPC9zcGFuPiAoSW52aXRl
ZCBFeHBlcnQpPC9kZD4KCiAgICA8ZGQgY2xhc3M9InZjYXJkIj48YSBsYW5nPSJ0ciIgY2xhc3M9
InVybCBmbiIgaHJlZj0iaHR0cDovL3d3dy50YW50ZWsuY29tLyI+VGFudGVrICZDY2VkaWw7ZWxp
azwvYT4gKEludml0ZWQgRXhwZXJ0KQoKICAgIDxkZCBjbGFzcz0idmNhcmQiPjxhIGhyZWY9Im1h
aWx0bzppYW5AaGl4aWUuY2giIGNsYXNzPSJ1cmwgZm4iPklhbiBIaWNrc29uPC9hPiAoPHNwYW4K
ICAgIGNsYXNzPSJjb21wYW55Ij48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIj5Hb29n
bGU8L2E+PC9zcGFuPikKCiAgICA8ZGQgY2xhc3M9InZjYXJkIj48c3BhbiBjbGFzcz0iZm4iPlBl
dGVyIExpbnNzPC9zcGFuPiAoZm9ybWVyIGVkaXRvciwgPHNwYW4gY2xhc3M9ImNvbXBhbnkiPjxh
CiAgICBocmVmPSJodHRwOi8vd3d3Lm5ldHNjYXBlLmNvbS8iPk5ldHNjYXBlL0FPTDwvYT48L3Nw
YW4+KQoKICAgIDxkZCBjbGFzcz0idmNhcmQiPjxzcGFuIGNsYXNzPSJmbiI+Sm9obiBXaWxsaWFt
czwvc3Bhbj4gKGZvcm1lciBlZGl0b3IsIDxzcGFuIGNsYXNzPSJjb21wYW55Ij48YQogICAgaHJl
Zj0iaHR0cDovL3d3dy5xdWFyay5jb20vIj5RdWFyaywgSW5jLjwvYT48L3NwYW4+KQoKICAgPC9k
bD4KCiAgIDxwIGNsYXNzPSJjb3B5cmlnaHQiPjxhCiAgIGhyZWY9Imh0dHA6Ly93d3cudzMub3Jn
L0NvbnNvcnRpdW0vTGVnYWwvaXByLW5vdGljZSNDb3B5cmlnaHQiPgogICBDb3B5cmlnaHQ8L2E+
ICZjb3B5OyAyMDA1IDxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnLyI+PGFiYnIKICAgdGl0bGU9
IldvcmxkIFdpZGUgV2ViIENvbnNvcnRpdW0iPlczQzwvYWJicj48L2E+PHN1cD4mcmVnOzwvc3Vw
PgogICAoPGEgaHJlZj0iaHR0cDovL3d3dy5jc2FpbC5taXQuZWR1LyI+PGFiYnIgdGl0bGU9Ik1h
c3NhY2h1c2V0dHMKICAgSW5zdGl0dXRlIG9mIFRlY2hub2xvZ3kiPk1JVDwvYWJicj48L2E+LCA8
YQogICBocmVmPSJodHRwOi8vd3d3LmVyY2ltLm9yZy8iPjxhY3JvbnltIHRpdGxlPSJFdXJvcGVh
biBSZXNlYXJjaAogICBDb25zb3J0aXVtIGZvciBJbmZvcm1hdGljcyBhbmQgTWF0aGVtYXRpY3Mi
PkVSQ0lNPC9hY3JvbnltPjwvYT4sIDxhCiAgIGhyZWY9Imh0dHA6Ly93d3cua2Vpby5hYy5qcC8i
PktlaW88L2E+KSwgQWxsIFJpZ2h0cyBSZXNlcnZlZC4gIFczQwogICA8YQogICBocmVmPSJodHRw
Oi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsL2lwci1ub3RpY2UjTGVnYWxfRGlzY2xhaW1l
ciI+bGlhYmlsaXR5PC9hPiwKICAgPGEKICAgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvQ29uc29y
dGl1bS9MZWdhbC9pcHItbm90aWNlI1czQ19UcmFkZW1hcmtzIj50cmFkZW1hcms8L2E+LAogICA8
YQogICBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsL2NvcHlyaWdodC1k
b2N1bWVudHMiPmRvY3VtZW50CiAgIHVzZTwvYT4gcnVsZXMgYXBwbHkuCgogICA8aHIgdGl0bGU9
IlNlcGFyYXRvciBmb3IgaGVhZGVyIj4KCiAgPC9kaXY+CgogIDxoMj48YSBuYW1lPWFic3RyYWN0
PjwvYT5BYnN0cmFjdDwvaDI+CgogIDxwPjxlbT5TZWxlY3RvcnM8L2VtPiBhcmUgcGF0dGVybnMg
dGhhdCBtYXRjaCBhZ2FpbnN0IGVsZW1lbnRzIGluIGEKICB0cmVlLiBTZWxlY3RvcnMgaGF2ZSBi
ZWVuIG9wdGltaXplZCBmb3IgdXNlIHdpdGggSFRNTCBhbmQgWE1MLCBhbmQKICBhcmUgZGVzaWdu
ZWQgdG8gYmUgdXNhYmxlIGluIHBlcmZvcm1hbmNlLWNyaXRpY2FsIGNvZGUuPC9wPgoKICA8cD48
YWNyb255bSB0aXRsZT0iQ2FzY2FkaW5nIFN0eWxlIFNoZWV0cyI+Q1NTPC9hY3JvbnltPiAoQ2Fz
Y2FkaW5nCiAgU3R5bGUgU2hlZXRzKSBpcyBhIGxhbmd1YWdlIGZvciBkZXNjcmliaW5nIHRoZSBy
ZW5kZXJpbmcgb2YgPGFjcm9ueW0KICB0aXRsZT0iSHlwZXJ0ZXh0IE1hcmt1cCBMYW5ndWFnZSI+
SFRNTDwvYWNyb255bT4gYW5kIDxhY3JvbnltCiAgdGl0bGU9IkV4dGVuc2libGUgTWFya3VwIExh
bmd1YWdlIj5YTUw8L2Fjcm9ueW0+IGRvY3VtZW50cyBvbgogIHNjcmVlbiwgb24gcGFwZXIsIGlu
IHNwZWVjaCwgZXRjLiBDU1MgdXNlcyBTZWxlY3RvcnMgZm9yIGJpbmRpbmcKICBzdHlsZSBwcm9w
ZXJ0aWVzIHRvIGVsZW1lbnRzIGluIHRoZSBkb2N1bWVudC4gVGhpcyBkb2N1bWVudAogIGRlc2Ny
aWJlcyBleHRlbnNpb25zIHRvIHRoZSBzZWxlY3RvcnMgZGVmaW5lZCBpbiBDU1MgbGV2ZWwgMi4g
VGhlc2UKICBleHRlbmRlZCBzZWxlY3RvcnMgd2lsbCBiZSB1c2VkIGJ5IENTUyBsZXZlbCAzLgoK
ICA8cD5TZWxlY3RvcnMgZGVmaW5lIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb246PC9wPgoKICA8cHJl
PmV4cHJlc3Npb24gJiN4MjIxNzsgZWxlbWVudCAmcmFycjsgYm9vbGVhbjwvcHJlPgoKICA8cD5U
aGF0IGlzLCBnaXZlbiBhbiBlbGVtZW50IGFuZCBhIHNlbGVjdG9yLCB0aGlzIHNwZWNpZmljYXRp
b24KICBkZWZpbmVzIHdoZXRoZXIgdGhhdCBlbGVtZW50IG1hdGNoZXMgdGhlIHNlbGVjdG9yLjwv
cD4KCiAgPHA+VGhlc2UgZXhwcmVzc2lvbnMgY2FuIGFsc28gYmUgdXNlZCwgZm9yIGluc3RhbmNl
LCB0byBzZWxlY3QgYSBzZXQKICBvZiBlbGVtZW50cywgb3IgYSBzaW5nbGUgZWxlbWVudCBmcm9t
IGEgc2V0IG9mIGVsZW1lbnRzLCBieQogIGV2YWx1YXRpbmcgdGhlIGV4cHJlc3Npb24gYWNyb3Nz
IGFsbCB0aGUgZWxlbWVudHMgaW4gYQogIHN1YnRyZWUuIDxhY3JvbnltIHRpdGxlPSJTaW1wbGUg
VHJlZSBUcmFuc2Zvcm1hdGlvbgogIFNoZWV0cyI+U1RUUzwvYWNyb255bT4gKFNpbXBsZSBUcmVl
IFRyYW5zZm9ybWF0aW9uIFNoZWV0cyksIGEKICBsYW5ndWFnZSBmb3IgdHJhbnNmb3JtaW5nIFhN
TCB0cmVlcywgdXNlcyB0aGlzIG1lY2hhbmlzbS4gPGEgaHJlZj0iI3JlZnNTVFRTIj5bU1RUU108
L2E+PC9wPgoKICA8aDI+PGEgbmFtZT1zdGF0dXM+PC9hPlN0YXR1cyBvZiB0aGlzIGRvY3VtZW50
PC9oMj4KCiAgPHA+PGVtPlRoaXMgc2VjdGlvbiBkZXNjcmliZXMgdGhlIHN0YXR1cyBvZiB0aGlz
IGRvY3VtZW50IGF0IHRoZQogIHRpbWUgb2YgaXRzIHB1YmxpY2F0aW9uLiBPdGhlciBkb2N1bWVu
dHMgbWF5IHN1cGVyc2VkZSB0aGlzCiAgZG9jdW1lbnQuIEEgbGlzdCBvZiBjdXJyZW50IFczQyBw
dWJsaWNhdGlvbnMgYW5kIHRoZSBsYXRlc3QgcmV2aXNpb24KICBvZiB0aGlzIHRlY2huaWNhbCBy
ZXBvcnQgY2FuIGJlIGZvdW5kIGluIHRoZSA8YQogIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RS
LyI+VzNDIHRlY2huaWNhbCByZXBvcnRzIGluZGV4IGF0CiAgaHR0cDovL3d3dy53My5vcmcvVFIv
LjwvYT48L2VtPjwvcD4KCiAgPHA+VGhpcyBkb2N1bWVudCBkZXNjcmliZXMgdGhlIHNlbGVjdG9y
cyB0aGF0IGFscmVhZHkgZXhpc3QgaW4gPGEKICBocmVmPSIjcmVmc0NTUzEiPjxhYmJyIHRpdGxl
PSJDU1MgbGV2ZWwgMSI+Q1NTMTwvYWJicj48L2E+IGFuZCA8YQogIGhyZWY9IiNyZWZzQ1NTMjEi
PjxhYmJyIHRpdGxlPSJDU1MgbGV2ZWwgMiI+Q1NTMjwvYWJicj48L2E+LCBhbmQKICBhbHNvIHBy
b3Bvc2VzIG5ldyBzZWxlY3RvcnMgZm9yIDxhYmJyIHRpdGxlPSJDU1MgbGV2ZWwKICAzIj5DU1Mz
PC9hYmJyPiBhbmQgb3RoZXIgbGFuZ3VhZ2VzIHRoYXQgbWF5IG5lZWQgdGhlbS48L3A+CgogIDxw
PlRoZSBDU1MgV29ya2luZyBHcm91cCBkb2Vzbid0IGV4cGVjdCB0aGF0IGFsbCBpbXBsZW1lbnRh
dGlvbnMgb2YKICBDU1MzIHdpbGwgaGF2ZSB0byBpbXBsZW1lbnQgYWxsIHNlbGVjdG9ycy4gSW5z
dGVhZCwgdGhlcmUgd2lsbAogIHByb2JhYmx5IGJlIGEgc21hbGwgbnVtYmVyIG9mIHZhcmlhbnRz
IG9mIENTUzMsIGNhbGxlZCBwcm9maWxlcy4gRm9yCiAgZXhhbXBsZSwgaXQgbWF5IGJlIHRoYXQg
b25seSBhIHByb2ZpbGUgZm9yIGludGVyYWN0aXZlIHVzZXIgYWdlbnRzCiAgd2lsbCBpbmNsdWRl
IGFsbCBvZiB0aGUgc2VsZWN0b3JzLjwvcD4KCiAgPHA+VGhpcyBzcGVjaWZpY2F0aW9uIGlzIGEg
bGFzdCBjYWxsIHdvcmtpbmcgZHJhZnQgZm9yIHRoZSB0aGUgPGEKICBocmVmPSJodHRwOi8vd3d3
LnczLm9yZy9TdHlsZS9DU1MvbWVtYmVycyI+Q1NTIFdvcmtpbmcgR3JvdXA8L2E+CiAgKDxhIGhy
ZWY9Ii9TdHlsZS8iPlN0eWxlIEFjdGl2aXR5PC9hPikuIFRoaXMKICBkb2N1bWVudCBpcyBhIHJl
dmlzaW9uIG9mIHRoZSA8YQogIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvQ1ItY3Nz
My1zZWxlY3RvcnMtMjAwMTExMTMvIj5DYW5kaWRhdGUKICBSZWNvbW1lbmRhdGlvbiBkYXRlZCAy
MDAxIE5vdmVtYmVyIDEzPC9hPiwgYW5kIGhhcyBpbmNvcnBvcmF0ZWQKICBpbXBsZW1lbnRhdGlv
biBmZWVkYmFjayByZWNlaXZlZCBpbiB0aGUgcGFzdCBmZXcgeWVhcnMuIEl0IGlzCiAgZXhwZWN0
ZWQgdGhhdCB0aGlzIGxhc3QgY2FsbCB3aWxsIHByb2NlZWQgc3RyYWlnaHQgdG8gUHJvcG9zZWQK
ICBSZWNvbW1lbmRhdGlvbiBzdGFnZSBzaW5jZSBpdCBpcyBiZWxpZXZlZCB0aGF0IGludGVyb3Bl
cmFiaWxpdHkgd2lsbAogIGJlIGRlbW9uc3RyYWJsZS48L3A+CgogIDxwPkFsbCBwZXJzb25zIGFy
ZSBlbmNvdXJhZ2VkIHRvIHJldmlldyBhbmQgaW1wbGVtZW50IHRoaXMKICBzcGVjaWZpY2F0aW9u
IGFuZCByZXR1cm4gY29tbWVudHMgdG8gdGhlICg8YQogIGhyZWY9Imh0dHA6Ly9saXN0cy53My5v
cmcvQXJjaGl2ZXMvUHVibGljL3d3dy1zdHlsZS8iPmFyY2hpdmVkPC9hPikKICBwdWJsaWMgbWFp
bGluZyBsaXN0IDxhCiAgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvTWFpbC9MaXN0cy5odG1sI3d3
dy1zdHlsZSI+d3d3LXN0eWxlPC9hPgogIChzZWUgPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcv
TWFpbC9SZXF1ZXN0Ij5pbnN0cnVjdGlvbnM8L2E+KS4gVzNDCiAgTWVtYmVycyBjYW4gYWxzbyBz
ZW5kIGNvbW1lbnRzIGRpcmVjdGx5IHRvIHRoZSBDU1MgV29ya2luZwogIEdyb3VwLgogIFRoZSBk
ZWFkbGluZSBmb3IgY29tbWVudHMgaXMgMTQgSmFudWFyeSAyMDA2LjwvcD4KCiAgPHA+VGhpcyBp
cyBzdGlsbCBhIGRyYWZ0IGRvY3VtZW50IGFuZCBtYXkgYmUgdXBkYXRlZCwgcmVwbGFjZWQsIG9y
CiAgb2Jzb2xldGVkIGJ5IG90aGVyIGRvY3VtZW50cyBhdCBhbnkgdGltZS4gSXQgaXMgaW5hcHBy
b3ByaWF0ZSB0bwogIGNpdGUgYSBXM0MgV29ya2luZyBEcmFmdCBhcyBvdGhlciB0aGFuICZxdW90
O3dvcmsgaW4gcHJvZ3Jlc3MmcXVvdDsuCgogIDxwPlRoaXMgZG9jdW1lbnQgbWF5IGJlIGF2YWls
YWJsZSBpbiA8YQogIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1N0eWxlL2NzczMtc2VsZWN0b3Jz
LXVwZGF0ZXMvdHJhbnNsYXRpb25zIj50cmFuc2xhdGlvbjwvYT4uCiAgVGhlIEVuZ2xpc2ggdmVy
c2lvbiBvZiB0aGlzIHNwZWNpZmljYXRpb24gaXMgdGhlIG9ubHkgbm9ybWF0aXZlCiAgdmVyc2lv
bi4KCiAgPGRpdiBjbGFzcz0ic3VidG9jIj4KCiAgIDxoMiBpZD0idGVzdDEiPjxhIG5hbWU9Y29u
dGVudHM+VGFibGUgb2YgY29udGVudHM8L2E+PC9oMj4KCiAgIDx1bCBjbGFzcz0idG9jIj4KICAg
IDxsaSBjbGFzcz0idG9jbGluZTIiPjxhIGhyZWY9IiNjb250ZXh0Ij4xLiBJbnRyb2R1Y3Rpb248
L2E+CiAgICAgPHVsPgogICAgICA8bGk+PGEgaHJlZj0iI2RlcGVuZGVuY2llcyI+MS4xLiBEZXBl
bmRlbmNpZXM8L2E+IDwvbGk+CiAgICAgIDxsaT48YSBocmVmPSIjdGVybWlub2xvZ3kiPjEuMi4g
VGVybWlub2xvZ3k8L2E+IDwvbGk+CiAgICAgIDxsaT48YSBocmVmPSIjY2hhbmdlc0Zyb21DU1My
Ij4xLjMuIENoYW5nZXMgZnJvbSBDU1MyPC9hPiA8L2xpPgogICAgIDwvdWw+CiAgICA8bGkgY2xh
c3M9InRvY2xpbmUyIj48YSBocmVmPSIjc2VsZWN0b3JzIj4yLiBTZWxlY3RvcnM8L2E+CiAgICA8
bGkgY2xhc3M9InRvY2xpbmUyIj48YSBocmVmPSIjY2FzZXNlbnMiPjMuIENhc2Ugc2Vuc2l0aXZp
dHk8L2E+CiAgICA8bGkgY2xhc3M9InRvY2xpbmUyIj48YSBocmVmPSIjc2VsZWN0b3Itc3ludGF4
Ij40LiBTZWxlY3RvciBzeW50YXg8L2E+CiAgICA8bGkgY2xhc3M9InRvY2xpbmUyIj48YSBocmVm
PSIjZ3JvdXBpbmciPjUuIEdyb3VwcyBvZiBzZWxlY3RvcnM8L2E+CiAgICA8bGkgY2xhc3M9InRv
Y2xpbmUyIj48YSBocmVmPSIjc2ltcGxlLXNlbGVjdG9ycyI+Ni4gU2ltcGxlIHNlbGVjdG9yczwv
YT4KICAgICA8dWwgY2xhc3M9InRvYyI+CiAgICAgIDxsaSBjbGFzcz0idG9jbGluZTMiPjxhIGhy
ZWY9IiN0eXBlLXNlbGVjdG9ycyI+Ni4xLiBUeXBlIHNlbGVjdG9yczwvYT4KICAgICAgIDx1bCBj
bGFzcz0idG9jIj4KICAgICAgICA8bGkgY2xhc3M9InRvY2xpbmU0Ij48YSBocmVmPSIjdHlwZW5t
c3AiPjYuMS4xLiBUeXBlIHNlbGVjdG9ycyBhbmQgbmFtZXNwYWNlczwvYT48L2xpPgogICAgICAg
PC91bD4KICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lMyI+PGEgaHJlZj0iI3VuaXZlcnNhbC1zZWxl
Y3RvciI+Ni4yLiBVbml2ZXJzYWwgc2VsZWN0b3I8L2E+CiAgICAgICA8dWw+CiAgICAgICAgPGxp
PjxhIGhyZWY9IiN1bml2bm1zcCI+Ni4yLjEuIFVuaXZlcnNhbCBzZWxlY3RvciBhbmQgbmFtZXNw
YWNlczwvYT48L2xpPgogICAgICAgPC91bD4KICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lMyI+PGEg
aHJlZj0iI2F0dHJpYnV0ZS1zZWxlY3RvcnMiPjYuMy4gQXR0cmlidXRlIHNlbGVjdG9yczwvYT4K
ICAgICAgIDx1bCBjbGFzcz0idG9jIj4KICAgICAgICA8bGkgY2xhc3M9InRvY2xpbmU0Ij48YSBo
cmVmPSIjYXR0cmlidXRlLXJlcHJlc2VudGF0aW9uIj42LjMuMS4gUmVwcmVzZW50YXRpb24gb2Yg
YXR0cmlidXRlcyBhbmQgYXR0cmlidXRlcyB2YWx1ZXM8L2E+CiAgICAgICAgPGxpPjxhIGhyZWY9
IiNhdHRyaWJ1dGUtc3Vic3RyaW5ncyI+Ni4zLjIuIFN1YnN0cmluZyBtYXRjaGluZyBhdHRyaWJ1
dGUgc2VsZWN0b3JzPC9hPgogICAgICAgIDxsaSBjbGFzcz0idG9jbGluZTQiPjxhIGhyZWY9IiNh
dHRybm1zcCI+Ni4zLjMuIEF0dHJpYnV0ZSBzZWxlY3RvcnMgYW5kIG5hbWVzcGFjZXM8L2E+CiAg
ICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lNCI+PGEgaHJlZj0iI2RlZi12YWx1ZXMiPjYuMy40LiBE
ZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMgaW4gRFREczwvYT48L2xpPgogICAgICAgPC91bD4KICAg
ICAgPGxpIGNsYXNzPSJ0b2NsaW5lMyI+PGEgaHJlZj0iI2NsYXNzLWh0bWwiPjYuNC4gQ2xhc3Mg
c2VsZWN0b3JzPC9hPgogICAgICA8bGkgY2xhc3M9InRvY2xpbmUzIj48YSBocmVmPSIjaWQtc2Vs
ZWN0b3JzIj42LjUuIElEIHNlbGVjdG9yczwvYT4KICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lMyI+
PGEgaHJlZj0iI3BzZXVkby1jbGFzc2VzIj42LjYuIFBzZXVkby1jbGFzc2VzPC9hPgogICAgICAg
PHVsIGNsYXNzPSJ0b2MiPgogICAgICAgIDxsaSBjbGFzcz0idG9jbGluZTQiPjxhIGhyZWY9IiNk
eW5hbWljLXBzZXVkb3MiPjYuNi4xLiBEeW5hbWljIHBzZXVkby1jbGFzc2VzPC9hPgogICAgICAg
IDxsaSBjbGFzcz0idG9jbGluZTQiPjxhIGhyZWY9IiN0YXJnZXQtcHNldWRvIj42LjYuMi4gVGhl
IDp0YXJnZXQgcHNldWRvLWNsYXNzPC9hPgogICAgICAgIDxsaSBjbGFzcz0idG9jbGluZTQiPjxh
IGhyZWY9IiNsYW5nLXBzZXVkbyI+Ni42LjMuIFRoZSA6bGFuZygpIHBzZXVkby1jbGFzczwvYT4K
ICAgICAgICA8bGkgY2xhc3M9InRvY2xpbmU0Ij48YSBocmVmPSIjVUlzdGF0ZXMiPjYuNi40LiBV
SSBlbGVtZW50IHN0YXRlcyBwc2V1ZG8tY2xhc3NlczwvYT4KICAgICAgICA8bGkgY2xhc3M9InRv
Y2xpbmU0Ij48YSBocmVmPSIjc3RydWN0dXJhbC1wc2V1ZG9zIj42LjYuNS4gU3RydWN0dXJhbCBw
c2V1ZG8tY2xhc3NlczwvYT4KICAgICAgICAgPHVsPgogICAgICAgICAgPGxpPjxhIGhyZWY9IiNy
b290LXBzZXVkbyI+OnJvb3QgcHNldWRvLWNsYXNzPC9hPgogICAgICAgICAgPGxpPjxhIGhyZWY9
IiNudGgtY2hpbGQtcHNldWRvIj46bnRoLWNoaWxkKCkgcHNldWRvLWNsYXNzPC9hPgogICAgICAg
ICAgPGxpPjxhIGhyZWY9IiNudGgtbGFzdC1jaGlsZC1wc2V1ZG8iPjpudGgtbGFzdC1jaGlsZCgp
PC9hPgogICAgICAgICAgPGxpPjxhIGhyZWY9IiNudGgtb2YtdHlwZS1wc2V1ZG8iPjpudGgtb2Yt
dHlwZSgpIHBzZXVkby1jbGFzczwvYT4KICAgICAgICAgIDxsaT48YSBocmVmPSIjbnRoLWxhc3Qt
b2YtdHlwZS1wc2V1ZG8iPjpudGgtbGFzdC1vZi10eXBlKCk8L2E+CiAgICAgICAgICA8bGk+PGEg
aHJlZj0iI2ZpcnN0LWNoaWxkLXBzZXVkbyI+OmZpcnN0LWNoaWxkIHBzZXVkby1jbGFzczwvYT4K
ICAgICAgICAgIDxsaT48YSBocmVmPSIjbGFzdC1jaGlsZC1wc2V1ZG8iPjpsYXN0LWNoaWxkIHBz
ZXVkby1jbGFzczwvYT4KICAgICAgICAgIDxsaT48YSBocmVmPSIjZmlyc3Qtb2YtdHlwZS1wc2V1
ZG8iPjpmaXJzdC1vZi10eXBlIHBzZXVkby1jbGFzczwvYT4KICAgICAgICAgIDxsaT48YSBocmVm
PSIjbGFzdC1vZi10eXBlLXBzZXVkbyI+Omxhc3Qtb2YtdHlwZSBwc2V1ZG8tY2xhc3M8L2E+CiAg
ICAgICAgICA8bGk+PGEgaHJlZj0iI29ubHktY2hpbGQtcHNldWRvIj46b25seS1jaGlsZCBwc2V1
ZG8tY2xhc3M8L2E+CiAgICAgICAgICA8bGk+PGEgaHJlZj0iI29ubHktb2YtdHlwZS1wc2V1ZG8i
Pjpvbmx5LW9mLXR5cGUgcHNldWRvLWNsYXNzPC9hPgogICAgICAgICAgPGxpPjxhIGhyZWY9IiNl
bXB0eS1wc2V1ZG8iPjplbXB0eSBwc2V1ZG8tY2xhc3M8L2E+PC9saT4KICAgICAgICAgPC91bD4K
ICAgICAgICA8bGkgY2xhc3M9InRvY2xpbmU0Ij48YSBocmVmPSIjbmVnYXRpb24iPjYuNi43LiBU
aGUgbmVnYXRpb24gcHNldWRvLWNsYXNzPC9hPjwvbGk+CiAgICAgICA8L3VsPgogICAgICA8L2xp
PgogICAgIDwvdWw+CiAgICA8bGk+PGEgaHJlZj0iI3BzZXVkby1lbGVtZW50cyI+Ny4gUHNldWRv
LWVsZW1lbnRzPC9hPgogICAgIDx1bD4KICAgICAgPGxpPjxhIGhyZWY9IiNmaXJzdC1saW5lIj43
LjEuIFRoZSA6OmZpcnN0LWxpbmUgcHNldWRvLWVsZW1lbnQ8L2E+CiAgICAgIDxsaT48YSBocmVm
PSIjZmlyc3QtbGV0dGVyIj43LjIuIFRoZSA6OmZpcnN0LWxldHRlciBwc2V1ZG8tZWxlbWVudDwv
YT4KICAgICAgPGxpPjxhIGhyZWY9IiNVSWZyYWdtZW50cyI+Ny4zLiBUaGUgOjpzZWxlY3Rpb24g
cHNldWRvLWVsZW1lbnQ8L2E+CiAgICAgIDxsaT48YSBocmVmPSIjZ2VuLWNvbnRlbnQiPjcuNC4g
VGhlIDo6YmVmb3JlIGFuZCA6OmFmdGVyIHBzZXVkby1lbGVtZW50czwvYT48L2xpPgogICAgIDwv
dWw+CiAgICA8bGkgY2xhc3M9InRvY2xpbmUyIj48YSBocmVmPSIjY29tYmluYXRvcnMiPjguIENv
bWJpbmF0b3JzPC9hPgogICAgIDx1bCBjbGFzcz0idG9jIj4KICAgICAgPGxpIGNsYXNzPSJ0b2Ns
aW5lMyI+PGEgaHJlZj0iI2Rlc2NlbmRhbnQtY29tYmluYXRvcnMiPjguMS4gRGVzY2VuZGFudCBj
b21iaW5hdG9yczwvYT4KICAgICAgPGxpIGNsYXNzPSJ0b2NsaW5lMyI+PGEgaHJlZj0iI2NoaWxk
LWNvbWJpbmF0b3JzIj44LjIuIENoaWxkIGNvbWJpbmF0b3JzPC9hPgogICAgICA8bGkgY2xhc3M9
InRvY2xpbmUzIj48YSBocmVmPSIjc2libGluZy1jb21iaW5hdG9ycyI+OC4zLiBTaWJsaW5nIGNv
bWJpbmF0b3JzPC9hPgogICAgICAgPHVsIGNsYXNzPSJ0b2MiPgogICAgICAgIDxsaSBjbGFzcz0i
dG9jbGluZTQiPjxhIGhyZWY9IiNhZGphY2VudC1zaWJsaW5nLWNvbWJpbmF0b3JzIj44LjMuMS4g
QWRqYWNlbnQgc2libGluZyBjb21iaW5hdG9yPC9hPgogICAgICAgIDxsaSBjbGFzcz0idG9jbGlu
ZTQiPjxhIGhyZWY9IiNnZW5lcmFsLXNpYmxpbmctY29tYmluYXRvcnMiPjguMy4yLiBHZW5lcmFs
IHNpYmxpbmcgY29tYmluYXRvcjwvYT48L2xpPgogICAgICAgPC91bD4KICAgICAgPC9saT4KICAg
ICA8L3VsPgogICAgPGxpIGNsYXNzPSJ0b2NsaW5lMiI+PGEgaHJlZj0iI3NwZWNpZmljaXR5Ij45
LiBDYWxjdWxhdGluZyBhIHNlbGVjdG9yJ3Mgc3BlY2lmaWNpdHk8L2E+CiAgICA8bGkgY2xhc3M9
InRvY2xpbmUyIj48YSBocmVmPSIjdzNjc2VsZ3JhbW1hciI+MTAuIFRoZSBncmFtbWFyIG9mIFNl
bGVjdG9yczwvYT4KICAgICA8dWwgY2xhc3M9InRvYyI+CiAgICAgIDxsaSBjbGFzcz0idG9jbGlu
ZTMiPjxhIGhyZWY9IiNncmFtbWFyIj4xMC4xLiBHcmFtbWFyPC9hPgogICAgICA8bGkgY2xhc3M9
InRvY2xpbmUzIj48YSBocmVmPSIjbGV4Ij4xMC4yLiBMZXhpY2FsIHNjYW5uZXI8L2E+PC9saT4K
ICAgICA8L3VsPgogICAgPGxpIGNsYXNzPSJ0b2NsaW5lMiI+PGEgaHJlZj0iI2Rvd25sZXZlbCI+
MTEuIE5hbWVzcGFjZXMgYW5kIGRvd24tbGV2ZWwgY2xpZW50czwvYT4KICAgIDxsaSBjbGFzcz0i
dG9jbGluZTIiPjxhIGhyZWY9IiNwcm9maWxpbmciPjEyLiBQcm9maWxlczwvYT4KICAgIDxsaT48
YSBocmVmPSIjQ29uZm9ybWFuY2UiPjEzLiBDb25mb3JtYW5jZSBhbmQgcmVxdWlyZW1lbnRzPC9h
PgogICAgPGxpPjxhIGhyZWY9IiNUZXN0cyI+MTQuIFRlc3RzPC9hPgogICAgPGxpPjxhIGhyZWY9
IiNBQ0tTIj4xNS4gQWNrbm93bGVkZ2VtZW50czwvYT4KICAgIDxsaSBjbGFzcz0idG9jbGluZTIi
PjxhIGhyZWY9IiNyZWZlcmVuY2VzIj4xNi4gUmVmZXJlbmNlczwvYT4KICAgPC91bD4KCiAgPC9k
aXY+CgogIDxoMj48YSBuYW1lPWNvbnRleHQ+MS4gSW50cm9kdWN0aW9uPC9hPjwvaDI+CgogIDxo
Mz48YSBuYW1lPWRlcGVuZGVuY2llcz48L2E+MS4xLiBEZXBlbmRlbmNpZXM8L2gzPgoKICA8cD5T
b21lIGZlYXR1cmVzIG9mIHRoaXMgc3BlY2lmaWNhdGlvbiBhcmUgc3BlY2lmaWMgdG8gQ1NTLCBv
ciBoYXZlCiAgcGFydGljdWxhciBsaW1pdGF0aW9ucyBvciBydWxlcyBzcGVjaWZpYyB0byBDU1Mu
IEluIHRoaXMKICBzcGVjaWZpY2F0aW9uLCB0aGVzZSBoYXZlIGJlZW4gZGVzY3JpYmVkIGluIHRl
cm1zIG9mIENTUzIuMS4gPGEKICBocmVmPSIjcmVmc0NTUzIxIj5bQ1NTMjFdPC9hPjwvcD4KCiAg
PGgzPjxhIG5hbWU9dGVybWlub2xvZ3k+PC9hPjEuMi4gVGVybWlub2xvZ3k8L2gzPgoKICA8cD5B
bGwgb2YgdGhlIHRleHQgb2YgdGhpcyBzcGVjaWZpY2F0aW9uIGlzIG5vcm1hdGl2ZSBleGNlcHQK
ICBleGFtcGxlcywgbm90ZXMsIGFuZCBzZWN0aW9ucyBleHBsaWNpdGx5IG1hcmtlZCBhcwogIG5v
bi1ub3JtYXRpdmUuPC9wPgoKICA8aDM+PGEgbmFtZT1jaGFuZ2VzRnJvbUNTUzI+PC9hPjEuMy4g
Q2hhbmdlcyBmcm9tIENTUzI8L2gzPgoKICA8cD48ZW0+VGhpcyBzZWN0aW9uIGlzIG5vbi1ub3Jt
YXRpdmUuPC9lbT48L3A+CgogIDxwPlRoZSBtYWluIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlIHNl
bGVjdG9ycyBpbiBDU1MyIGFuZCB0aG9zZSBpbgogIFNlbGVjdG9ycyBhcmU6CgogIDx1bD4KCiAg
IDxsaT50aGUgbGlzdCBvZiBiYXNpYyBkZWZpbml0aW9ucyAoc2VsZWN0b3IsIGdyb3VwIG9mIHNl
bGVjdG9ycywKICAgc2ltcGxlIHNlbGVjdG9yLCBldGMuKSBoYXMgYmVlbiBjaGFuZ2VkOyBpbiBw
YXJ0aWN1bGFyLCB3aGF0IHdhcwogICByZWZlcnJlZCB0byBpbiBDU1MyIGFzIGEgc2ltcGxlIHNl
bGVjdG9yIGlzIG5vdyBjYWxsZWQgYSBzZXF1ZW5jZQogICBvZiBzaW1wbGUgc2VsZWN0b3JzLCBh
bmQgdGhlIHRlcm0gInNpbXBsZSBzZWxlY3RvciIgaXMgbm93IHVzZWQgZm9yCiAgIHRoZSBjb21w
b25lbnRzIG9mIHRoaXMgc2VxdWVuY2U8L2xpPgoKICAgPGxpPmFuIG9wdGlvbmFsIG5hbWVzcGFj
ZSBjb21wb25lbnQgaXMgbm93IGFsbG93ZWQgaW4gdHlwZSBlbGVtZW50CiAgIHNlbGVjdG9ycywg
dGhlIHVuaXZlcnNhbCBzZWxlY3RvciBhbmQgYXR0cmlidXRlIHNlbGVjdG9yczwvbGk+CgogICA8
bGk+YSA8YSBocmVmPSIjZ2VuZXJhbC1zaWJsaW5nLWNvbWJpbmF0b3JzIj5uZXcgY29tYmluYXRv
cjwvYT4gaGFzIGJlZW4gaW50cm9kdWNlZDwvbGk+CgogICA8bGk+bmV3IHNpbXBsZSBzZWxlY3Rv
cnMgaW5jbHVkaW5nIHN1YnN0cmluZyBtYXRjaGluZyBhdHRyaWJ1dGUKICAgc2VsZWN0b3JzLCBh
bmQgbmV3IHBzZXVkby1jbGFzc2VzPC9saT4KCiAgIDxsaT5uZXcgcHNldWRvLWVsZW1lbnRzLCBh
bmQgaW50cm9kdWN0aW9uIG9mIHRoZSAiOjoiIGNvbnZlbnRpb24KICAgZm9yIHBzZXVkby1lbGVt
ZW50czwvbGk+CgogICA8bGk+dGhlIGdyYW1tYXIgaGFzIGJlZW4gcmV3cml0dGVuPC9saT4KCiAg
IDxsaT5wcm9maWxlcyB0byBiZSBhZGRlZCB0byBzcGVjaWZpY2F0aW9ucyBpbnRlZ3JhdGluZyBT
ZWxlY3RvcnMKICAgYW5kIGRlZmluaW5nIHRoZSBzZXQgb2Ygc2VsZWN0b3JzIHdoaWNoIGlzIGFj
dHVhbGx5IHN1cHBvcnRlZCBieQogICBlYWNoIHNwZWNpZmljYXRpb248L2xpPgoKICAgPGxpPlNl
bGVjdG9ycyBhcmUgbm93IGEgQ1NTMyBNb2R1bGUgYW5kIGFuIGluZGVwZW5kZW50CiAgIHNwZWNp
ZmljYXRpb247IG90aGVyIHNwZWNpZmljYXRpb25zIGNhbiBub3cgcmVmZXIgdG8gdGhpcyBkb2N1
bWVudAogICBpbmRlcGVuZGVudGx5IG9mIENTUzwvbGk+CgogICA8bGk+dGhlIHNwZWNpZmljYXRp
b24gbm93IGhhcyBpdHMgb3duIHRlc3Qgc3VpdGU8L2xpPgoKICA8L3VsPgoKPGgyPjxhIG5hbWU9
c2VsZWN0b3JzPjwvYT4yLiBTZWxlY3RvcnM8L2gyPgoKPHA+PGVtPlRoaXMgc2VjdGlvbiBpcyBu
b24tbm9ybWF0aXZlLCBhcyBpdCBtZXJlbHkgc3VtbWFyaXplcyB0aGUKZm9sbG93aW5nIHNlY3Rp
b25zLjwvZW0+PC9wPgoKPHA+QSBTZWxlY3RvciByZXByZXNlbnRzIGEgc3RydWN0dXJlLiBUaGlz
IHN0cnVjdHVyZSBjYW4gYmUgdXNlZCBhcyBhCmNvbmRpdGlvbiAoZS5nLiBpbiBhIENTUyBydWxl
KSB0aGF0IGRldGVybWluZXMgd2hpY2ggZWxlbWVudHMgYQpzZWxlY3RvciBtYXRjaGVzIGluIHRo
ZSBkb2N1bWVudCB0cmVlLCBvciBhcyBhIGZsYXQgZGVzY3JpcHRpb24gb2YgdGhlCkhUTUwgb3Ig
WE1MIGZyYWdtZW50IGNvcnJlc3BvbmRpbmcgdG8gdGhhdCBzdHJ1Y3R1cmUuPC9wPgoKPHA+U2Vs
ZWN0b3JzIG1heSByYW5nZSBmcm9tIHNpbXBsZSBlbGVtZW50IG5hbWVzIHRvIHJpY2ggY29udGV4
dHVhbApyZXByZXNlbnRhdGlvbnMuPC9wPgoKPHA+VGhlIGZvbGxvd2luZyB0YWJsZSBzdW1tYXJp
emVzIHRoZSBTZWxlY3RvciBzeW50YXg6PC9wPgoKPHRhYmxlIGNsYXNzPSJzZWxlY3RvcnNSZXZp
ZXciPgogIDx0aGVhZD4KICA8dHI+CiAgICA8dGggY2xhc3M9InBhdHRlcm4iPlBhdHRlcm48L3Ro
PgogICAgPHRoIGNsYXNzPSJtZWFuaW5nIj5NZWFuaW5nPC90aD4KICAgIDx0aCBjbGFzcz0iZGVz
Y3JpYmVkIj5EZXNjcmliZWQgaW4gc2VjdGlvbjwvdGg+CiAgICA8dGggY2xhc3M9Im9yaWdpbiI+
Rmlyc3QgZGVmaW5lZCBpbiBDU1MgbGV2ZWw8L3RoPjwvdHI+CiAgPHRib2R5PgogIDx0cj4KICAg
IDx0ZCBjbGFzcz0icGF0dGVybiI+KjwvdGQ+CiAgICA8dGQgY2xhc3M9Im1lYW5pbmciPmFueSBl
bGVtZW50PC90ZD4KICAgIDx0ZCBjbGFzcz0iZGVzY3JpYmVkIj48YQogICAgICBocmVmPSIjdW5p
dmVyc2FsLXNlbGVjdG9yIj5Vbml2ZXJzYWwKICAgICAgc2VsZWN0b3I8L2E+PC90ZD4KICAgIDx0
ZCBjbGFzcz0ib3JpZ2luIj4yPC90ZD48L3RyPgogIDx0cj4KICAgIDx0ZCBjbGFzcz0icGF0dGVy
biI+RTwvdGQ+CiAgICA8dGQgY2xhc3M9Im1lYW5pbmciPmFuIGVsZW1lbnQgb2YgdHlwZSBFPC90
ZD4KICAgIDx0ZCBjbGFzcz0iZGVzY3JpYmVkIj48YQogICAgICBocmVmPSIjdHlwZS1zZWxlY3Rv
cnMiPlR5cGUgc2VsZWN0b3I8L2E+PC90ZD4KICAgIDx0ZCBjbGFzcz0ib3JpZ2luIj4xPC90ZD48
L3RyPgogIDx0cj4KICAgIDx0ZCBjbGFzcz0icGF0dGVybiI+RVtmb29dPC90ZD4KICAgIDx0ZCBj
bGFzcz0ibWVhbmluZyI+YW4gRSBlbGVtZW50IHdpdGggYSAiZm9vIiBhdHRyaWJ1dGU8L3RkPgog
ICAgPHRkIGNsYXNzPSJkZXNjcmliZWQiPjxhCiAgICAgIGhyZWY9IiNhdHRyaWJ1dGUtc2VsZWN0
b3JzIj5BdHRyaWJ1dGUKICAgICAgc2VsZWN0b3JzPC9hPjwvdGQ+CiAgICA8dGQgY2xhc3M9Im9y
aWdpbiI+MjwvdGQ+PC90cj4KICA8dHI+CiAgICA8dGQgY2xhc3M9InBhdHRlcm4iPkVbZm9vPSJi
YXIiXTwvdGQ+CiAgICA8dGQgY2xhc3M9Im1lYW5pbmciPmFuIEUgZWxlbWVudCB3aG9zZSAiZm9v
IiBhdHRyaWJ1dGUgdmFsdWUgaXMgZXhhY3RseQogICAgICBlcXVhbCB0byAiYmFyIjwvdGQ+CiAg
ICA8dGQgY2xhc3M9ImRlc2NyaWJlZCI+PGEKICAgICAgaHJlZj0iI2F0dHJpYnV0ZS1zZWxlY3Rv
cnMiPkF0dHJpYnV0ZQogICAgICBzZWxlY3RvcnM8L2E+PC90ZD4KICAgIDx0ZCBjbGFzcz0ib3Jp
Z2luIj4yPC90ZD48L3RyPgogIDx0cj4KICAgIDx0ZCBjbGFzcz0icGF0dGVybiI+RVtmb29+PSJi
YXIiXTwvdGQ+CiAgICA8dGQgY2xhc3M9Im1lYW5pbmciPmFuIEUgZWxlbWVudCB3aG9zZSAiZm9v
IiBhdHRyaWJ1dGUgdmFsdWUgaXMgYSBsaXN0IG9mCiAgICAgIHNwYWNlLXNlcGFyYXRlZCB2YWx1
ZXMsIG9uZSBvZiB3aGljaCBpcyBleGFjdGx5IGVxdWFsIHRvICJiYXIiPC90ZD4KICAgIDx0ZCBj
bGFzcz0iZGVzY3JpYmVkIj48YQogICAgICBocmVmPSIjYXR0cmlidXRlLXNlbGVjdG9ycyI+QXR0
cmlidXRlCiAgICAgIHNlbGVjdG9yczwvYT48L3RkPgogICAgPHRkIGNsYXNzPSJvcmlnaW4iPjI8
L3RkPjwvdHI+CiAgPHRyPgogICAgPHRkIGNsYXNzPSJwYXR0ZXJuIj5FW2Zvb149ImJhciJdPC90
ZD4KICAgIDx0ZCBjbGFzcz0ibWVhbmluZyI+YW4gRSBlbGVtZW50IHdob3NlICJmb28iIGF0dHJp
YnV0ZSB2YWx1ZSBiZWdpbnMgZXhhY3RseQogICAgICB3aXRoIHRoZSBzdHJpbmcgImJhciI8L3Rk
PgogICAgPHRkIGNsYXNzPSJkZXNjcmliZWQiPjxhCiAgICAgIGhyZWY9IiNhdHRyaWJ1dGUtc2Vs
ZWN0b3JzIj5BdHRyaWJ1dGUKICAgICAgc2VsZWN0b3JzPC9hPjwvdGQ+CiAgICA8dGQgY2xhc3M9
Im9yaWdpbiI+MzwvdGQ+PC90cj4KICA8dHI+CiAgICA8dGQgY2xhc3M9InBhdHRlcm4iPkVbZm9v
JD0iYmFyIl08L3RkPgogICAgPHRkIGNsYXNzPSJtZWFuaW5nIj5hbiBFIGVsZW1lbnQgd2hvc2Ug
ImZvbyIgYXR0cmlidXRlIHZhbHVlIGVuZHMgZXhhY3RseQogICAgICB3aXRoIHRoZSBzdHJpbmcg
ImJhciI8L3RkPgogICAgPHRkIGNsYXNzPSJkZXNjcmliZWQiPjxhCiAgICAgIGhyZWY9IiNhdHRy
aWJ1dGUtc2VsZWN0b3JzIj5BdHRyaWJ1dGUKICAgICAgc2VsZWN0b3JzPC9hPjwvdGQ+CiAgICA8
dGQgY2xhc3M9Im9yaWdpbiI+MzwvdGQ+PC90cj4KICA8dHI+CiAgICA8dGQgY2xhc3M9InBhdHRl
cm4iPkVbZm9vKj0iYmFyIl08L3RkPgogICAgPHRkIGNsYXNzPSJtZWFuaW5nIj5hbiBFIGVsZW1l
bnQgd2hvc2UgImZvbyIgYXR0cmlidXRlIHZhbHVlIGNvbnRhaW5zIHRoZQogICAgICBzdWJzdHJp
bmcgImJhciI8L3RkPgogICAgPHRkIGNsYXNzPSJkZXNjcmliZWQiPjxhCiAgICAgIGhyZWY9IiNh
dHRyaWJ1dGUtc2VsZWN0b3JzIj5BdHRyaWJ1dGUKICAgICAgc2VsZWN0b3JzPC9hPjwvdGQ+CiAg
ICA8dGQgY2xhc3M9Im9yaWdpbiI+MzwvdGQ+PC90cj4KICA8dHI+CiAgICA8dGQgY2xhc3M9InBh
dHRlcm4iPkVbaHJlZmxhbmd8PSJlbiJdPC90ZD4KICAgIDx0ZCBjbGFzcz0ibWVhbmluZyI+YW4g
RSBlbGVtZW50IHdob3NlICJocmVmbGFuZyIgYXR0cmlidXRlIGhhcyBhIGh5cGhlbi1zZXBhcmF0
ZWQKICAgICAgbGlzdCBvZiB2YWx1ZXMgYmVnaW5uaW5nIChmcm9tIHRoZSBsZWZ0KSB3aXRoICJl
biI8L3RkPgogICAgPHRkIGNsYXNzPSJkZXNjcmliZWQiPjxhCiAgICAgIGhyZWY9IiNhdHRyaWJ1
dGUtc2VsZWN0b3JzIj5BdHRyaWJ1dGUKICAgICAgc2VsZWN0b3JzPC9hPjwvdGQ+CiAgICA8dGQg
Y2xhc3M9Im9yaWdpbiI+MjwvdGQ+PC90cj4KICA8dHI+CiAgICA8dGQgY2xhc3M9InBhdHRlcm4i
PkU6cm9vdDwvdGQ+CiAgICA8dGQgY2xhc3M9Im1lYW5pbmciPmFuIEUgZWxlbWVudCwgcm9vdCBv
ZiB0aGUgZG9jdW1lbnQ8L3RkPgogICAgPHRkIGNsYXNzPSJkZXNjcmliZWQiPjxhCiAgICAgIGhy
ZWY9IiNzdHJ1Y3R1cmFsLXBzZXVkb3MiPlN0cnVjdHVyYWwKICAgICAgcHNldWRvLWNsYXNzZXM8
L2E+PC90ZD4KICAgIDx0ZCBjbGFzcz0ib3JpZ2luIj4zPC90ZD48L3RyPgogIDx0cj4KICAgIDx0
ZCBjbGFzcz0icGF0dGVybiI+RTpudGgtY2hpbGQobik8L3RkPgogICAgPHRkIGNsYXNzPSJtZWFu
aW5nIj5hbiBFIGVsZW1lbnQsIHRoZSBuLXRoIGNoaWxkIG9mIGl0cyBwYXJlbnQ8L3RkPgogICAg
PHRkIGNsYXNzPSJkZXNjcmliZWQiPjxhCiAgICAgIGhyZWY9IiNzdHJ1Y3R1cmFsLXBzZXVkb3Mi
PlN0cnVjdHVyYWwKICAgICAgcHNldWRvLWNsYXNzZXM8L2E+PC90ZD4KICAgIDx0ZCBjbGFzcz0i
b3JpZ2luIj4zPC90ZD48L3RyPgogIDx0cj4KICAgIDx0ZCBjbGFzcz0icGF0dGVybiI+RTpudGgt
bGFzdC1jaGlsZChuKTwvdGQ+CiAgICA8dGQgY2xhc3M9Im1lYW5pbmciPmFuIEUgZWxlbWVudCwg
dGhlIG4tdGggY2hpbGQgb2YgaXRzIHBhcmVudCwgY291bnRpbmcKICAgICAgZnJvbSB0aGUgbGFz
dCBvbmU8L3RkPgogICAgPHRkIGNsYXNzPSJkZXNjcmliZWQiPjxhCiAgICAgIGhyZWY9IiNzdHJ1
Y3R1cmFsLXBzZXVkb3MiPlN0cnVjdHVyYWwKICAgICAgcHNldWRvLWNsYXNzZXM8L2E+PC90ZD4K
ICAgIDx0ZCBjbGFzcz0ib3JpZ2luIj4zPC90ZD48L3RyPgogIDx0cj4KICAgIDx0ZCBjbGFzcz0i
cGF0dGVybiI+RTpudGgtb2YtdHlwZShuKTwvdGQ+CiAgICA8dGQgY2xhc3M9Im1lYW5pbmciPmFu
IEUgZWxlbWVudCwgdGhlIG4tdGggc2libGluZyBvZiBpdHMgdHlwZTwvdGQ+CiAgICA8dGQgY2xh
c3M9ImRlc2NyaWJlZCI+PGEKICAgICAgaHJlZj0iI3N0cnVjdHVyYWwtcHNldWRvcyI+U3RydWN0
dXJhbAogICAgICBwc2V1ZG8tY2xhc3NlczwvYT48L3RkPgogICAgPHRkIGNsYXNzPSJvcmlnaW4i
PjM8L3RkPjwvdHI+CiAgPHRyPgogICAgPHRkIGNsYXNzPSJwYXR0ZXJuIj5FOm50aC1sYXN0LW9m
LXR5cGUobik8L3RkPgogICAgPHRkIGNsYXNzPSJtZWFuaW5nIj5hbiBFIGVsZW1lbnQsIHRoZSBu
LXRoIHNpYmxpbmcgb2YgaXRzIHR5cGUsIGNvdW50aW5nCiAgICAgIGZyb20gdGhlIGxhc3Qgb25l
PC90ZD4KICAgIDx0ZCBjbGFzcz0iZGVzY3JpYmVkIj48YQogICAgICBocmVmPSIjc3RydWN0dXJh
bC1wc2V1ZG9zIj5TdHJ1Y3R1cmFsCiAgICAgIHBzZXVkby1jbGFzc2VzPC9hPjwvdGQ+CiAgICA8
dGQgY2xhc3M9Im9yaWdpbiI+MzwvdGQ+PC90cj4KICA8dHI+CiAgICA8dGQgY2xhc3M9InBhdHRl
cm4iPkU6Zmlyc3QtY2hpbGQ8L3RkPgogICAgPHRkIGNsYXNzPSJtZWFuaW5nIj5hbiBFIGVsZW1l
bnQsIGZpcnN0IGNoaWxkIG9mIGl0cyBwYXJlbnQ8L3RkPgogICAgPHRkIGNsYXNzPSJkZXNjcmli
ZWQiPjxhCiAgICAgIGhyZWY9IiNzdHJ1Y3R1cmFsLXBzZXVkb3MiPlN0cnVjdHVyYWwKICAgICAg
cHNldWRvLWNsYXNzZXM8L2E+PC90ZD4KICAgIDx0ZCBjbGFzcz0ib3JpZ2luIj4yPC90ZD48L3Ry
PgogIDx0cj4KICAgIDx0ZCBjbGFzcz0icGF0dGVybiI+RTpsYXN0LWNoaWxkPC90ZD4KICAgIDx0
ZCBjbGFzcz0ibWVhbmluZyI+YW4gRSBlbGVtZW50LCBsYXN0IGNoaWxkIG9mIGl0cyBwYXJlbnQ8
L3RkPgogICAgPHRkIGNsYXNzPSJkZXNjcmliZWQiPjxhCiAgICAgIGhyZWY9IiNzdHJ1Y3R1cmFs
LXBzZXVkb3MiPlN0cnVjdHVyYWwKICAgICAgcHNldWRvLWNsYXNzZXM8L2E+PC90ZD4KICAgIDx0
ZCBjbGFzcz0ib3JpZ2luIj4zPC90ZD48L3RyPgogIDx0cj4KICAgIDx0ZCBjbGFzcz0icGF0dGVy
biI+RTpmaXJzdC1vZi10eXBlPC90ZD4KICAgIDx0ZCBjbGFzcz0ibWVhbmluZyI+YW4gRSBlbGVt
ZW50LCBmaXJzdCBzaWJsaW5nIG9mIGl0cyB0eXBlPC90ZD4KICAgIDx0ZCBjbGFzcz0iZGVzY3Jp
YmVkIj48YQogICAgICBocmVmPSIjc3RydWN0dXJhbC1wc2V1ZG9zIj5TdHJ1Y3R1cmFsCiAgICAg
IHBzZXVkby1jbGFzc2VzPC9hPjwvdGQ+CiAgICA8dGQgY2xhc3M9Im9yaWdpbiI+MzwvdGQ+PC90
cj4KICA8dHI+CiAgICA8dGQgY2xhc3M9InBhdHRlcm4iPkU6bGFzdC1vZi10eXBlPC90ZD4KICAg
IDx0ZCBjbGFzcz0ibWVhbmluZyI+YW4gRSBlbGVtZW50LCBsYXN0IHNpYmxpbmcgb2YgaXRzIHR5
cGU8L3RkPgogICAgPHRkIGNsYXNzPSJkZXNjcmliZWQiPjxhCiAgICAgIGhyZWY9IiNzdHJ1Y3R1
cmFsLXBzZXVkb3MiPlN0cnVjdHVyYWwKICAgICAgcHNldWRvLWNsYXNzZXM8L2E+PC90ZD4KICAg
IDx0ZCBjbGFzcz0ib3JpZ2luIj4zPC90ZD48L3RyPgogIDx0cj4KICAgIDx0ZCBjbGFzcz0icGF0
dGVybiI+RTpvbmx5LWNoaWxkPC90ZD4KICAgIDx0ZCBjbGFzcz0ibWVhbmluZyI+YW4gRSBlbGVt
ZW50LCBvbmx5IGNoaWxkIG9mIGl0cyBwYXJlbnQ8L3RkPgogICAgPHRkIGNsYXNzPSJkZXNjcmli
ZWQiPjxhCiAgICAgIGhyZWY9IiNzdHJ1Y3R1cmFsLXBzZXVkb3MiPlN0cnVjdHVyYWwKICAgICAg
cHNldWRvLWNsYXNzZXM8L2E+PC90ZD4KICAgIDx0ZCBjbGFzcz0ib3JpZ2luIj4zPC90ZD48L3Ry
PgogIDx0cj4KICAgIDx0ZCBjbGFzcz0icGF0dGVybiI+RTpvbmx5LW9mLXR5cGU8L3RkPgogICAg
PHRkIGNsYXNzPSJtZWFuaW5nIj5hbiBFIGVsZW1lbnQsIG9ubHkgc2libGluZyBvZiBpdHMgdHlw
ZTwvdGQ+CiAgICA8dGQgY2xhc3M9ImRlc2NyaWJlZCI+PGEKICAgICAgaHJlZj0iI3N0cnVjdHVy
YWwtcHNldWRvcyI+U3RydWN0dXJhbAogICAgICBwc2V1ZG8tY2xhc3NlczwvYT48L3RkPgogICAg
PHRkIGNsYXNzPSJvcmlnaW4iPjM8L3RkPjwvdHI+CiAgPHRyPgogICAgPHRkIGNsYXNzPSJwYXR0
ZXJuIj5FOmVtcHR5PC90ZD4KICAgIDx0ZCBjbGFzcz0ibWVhbmluZyI+YW4gRSBlbGVtZW50IHRo
YXQgaGFzIG5vIGNoaWxkcmVuIChpbmNsdWRpbmcgdGV4dAogICAgbm9kZXMpPC90ZD4KICAgIDx0
ZCBjbGFzcz0iZGVzY3JpYmVkIj48YQogICAgICBocmVmPSIjc3RydWN0dXJhbC1wc2V1ZG9zIj5T
dHJ1Y3R1cmFsCiAgICAgIHBzZXVkby1jbGFzc2VzPC9hPjwvdGQ+CiAgICA8dGQgY2xhc3M9Im9y
aWdpbiI+MzwvdGQ+PC90cj4KICA8dHI+CiAgICA8dGQgY2xhc3M9InBhdHRlcm4iPkU6bGluazxi
cj5FOnZpc2l0ZWQ8L3RkPgogICAgPHRkIGNsYXNzPSJtZWFuaW5nIj5hbiBFIGVsZW1lbnQgYmVp
bmcgdGhlIHNvdXJjZSBhbmNob3Igb2YgYSBoeXBlcmxpbmsgb2YKICAgICAgd2hpY2ggdGhlIHRh
cmdldCBpcyBub3QgeWV0IHZpc2l0ZWQgKDpsaW5rKSBvciBhbHJlYWR5IHZpc2l0ZWQKICAgICg6
dmlzaXRlZCk8L3RkPgogICAgPHRkIGNsYXNzPSJkZXNjcmliZWQiPjxhCiAgICAgIGhyZWY9IiNs
aW5rIj5UaGUgbGluawogICAgICBwc2V1ZG8tY2xhc3NlczwvYT48L3RkPgogICAgPHRkIGNsYXNz
PSJvcmlnaW4iPjE8L3RkPjwvdHI+CiAgPHRyPgogICAgPHRkIGNsYXNzPSJwYXR0ZXJuIj5FOmFj
dGl2ZTxicj5FOmhvdmVyPGJyPkU6Zm9jdXM8L3RkPgogICAgPHRkIGNsYXNzPSJtZWFuaW5nIj5h
biBFIGVsZW1lbnQgZHVyaW5nIGNlcnRhaW4gdXNlciBhY3Rpb25zPC90ZD4KICAgIDx0ZCBjbGFz
cz0iZGVzY3JpYmVkIj48YQogICAgICBocmVmPSIjdXNlcmFjdGlvbi1wc2V1ZG9zIj5UaGUgdXNl
cgogICAgICBhY3Rpb24gcHNldWRvLWNsYXNzZXM8L2E+PC90ZD4KICAgIDx0ZCBjbGFzcz0ib3Jp
Z2luIj4xIGFuZCAyPC90ZD48L3RyPgogIDx0cj4KICAgIDx0ZCBjbGFzcz0icGF0dGVybiI+RTp0
YXJnZXQ8L3RkPgogICAgPHRkIGNsYXNzPSJtZWFuaW5nIj5hbiBFIGVsZW1lbnQgYmVpbmcgdGhl
IHRhcmdldCBvZiB0aGUgcmVmZXJyaW5nIFVSSTwvdGQ+CiAgICA8dGQgY2xhc3M9ImRlc2NyaWJl
ZCI+PGEKICAgICAgaHJlZj0iI3RhcmdldC1wc2V1ZG8iPlRoZSB0YXJnZXQKICAgICAgcHNldWRv
LWNsYXNzPC9hPjwvdGQ+CiAgICA8dGQgY2xhc3M9Im9yaWdpbiI+MzwvdGQ+PC90cj4KICA8dHI+
CiAgICA8dGQgY2xhc3M9InBhdHRlcm4iPkU6bGFuZyhmcik8L3RkPgogICAgPHRkIGNsYXNzPSJt
ZWFuaW5nIj5hbiBlbGVtZW50IG9mIHR5cGUgRSBpbiBsYW5ndWFnZSAiZnIiICh0aGUgZG9jdW1l
bnQKICAgICAgbGFuZ3VhZ2Ugc3BlY2lmaWVzIGhvdyBsYW5ndWFnZSBpcyBkZXRlcm1pbmVkKTwv
dGQ+CiAgICA8dGQgY2xhc3M9ImRlc2NyaWJlZCI+PGEKICAgICAgaHJlZj0iI2xhbmctcHNldWRv
Ij5UaGUgOmxhbmcoKQogICAgICBwc2V1ZG8tY2xhc3M8L2E+PC90ZD4KICAgIDx0ZCBjbGFzcz0i
b3JpZ2luIj4yPC90ZD48L3RyPgogIDx0cj4KICAgIDx0ZCBjbGFzcz0icGF0dGVybiI+RTplbmFi
bGVkPGJyPkU6ZGlzYWJsZWQ8L3RkPgogICAgPHRkIGNsYXNzPSJtZWFuaW5nIj5hIHVzZXIgaW50
ZXJmYWNlIGVsZW1lbnQgRSB3aGljaCBpcyBlbmFibGVkIG9yCiAgICBkaXNhYmxlZDwvdGQ+CiAg
ICA8dGQgY2xhc3M9ImRlc2NyaWJlZCI+PGEKICAgICAgaHJlZj0iI1VJc3RhdGVzIj5UaGUgVUkg
ZWxlbWVudCBzdGF0ZXMKICAgICAgcHNldWRvLWNsYXNzZXM8L2E+PC90ZD4KICAgIDx0ZCBjbGFz
cz0ib3JpZ2luIj4zPC90ZD48L3RyPgogIDx0cj4KICAgIDx0ZCBjbGFzcz0icGF0dGVybiI+RTpj
aGVja2VkPCEtLTxicj5FOmluZGV0ZXJtaW5hdGUtLT48L3RkPgogICAgPHRkIGNsYXNzPSJtZWFu
aW5nIj5hIHVzZXIgaW50ZXJmYWNlIGVsZW1lbnQgRSB3aGljaCBpcyBjaGVja2VkPCEtLSBvciBp
biBhbgogICAgICBpbmRldGVybWluYXRlIHN0YXRlLS0+IChmb3IgaW5zdGFuY2UgYSByYWRpby1i
dXR0b24gb3IgY2hlY2tib3gpPC90ZD4KICAgIDx0ZCBjbGFzcz0iZGVzY3JpYmVkIj48YQogICAg
ICBocmVmPSIjVUlzdGF0ZXMiPlRoZSBVSSBlbGVtZW50IHN0YXRlcwogICAgICBwc2V1ZG8tY2xh
c3NlczwvYT48L3RkPgogICAgPHRkIGNsYXNzPSJvcmlnaW4iPjM8L3RkPjwvdHI+CiAgPHRyPgog
ICAgPHRkIGNsYXNzPSJwYXR0ZXJuIj5FOjpmaXJzdC1saW5lPC90ZD4KICAgIDx0ZCBjbGFzcz0i
bWVhbmluZyI+dGhlIGZpcnN0IGZvcm1hdHRlZCBsaW5lIG9mIGFuIEUgZWxlbWVudDwvdGQ+CiAg
ICA8dGQgY2xhc3M9ImRlc2NyaWJlZCI+PGEKICAgICAgaHJlZj0iI2ZpcnN0LWxpbmUiPlRoZSA6
OmZpcnN0LWxpbmUKICAgICAgcHNldWRvLWVsZW1lbnQ8L2E+PC90ZD4KICAgIDx0ZCBjbGFzcz0i
b3JpZ2luIj4xPC90ZD48L3RyPgogIDx0cj4KICAgIDx0ZCBjbGFzcz0icGF0dGVybiI+RTo6Zmly
c3QtbGV0dGVyPC90ZD4KICAgIDx0ZCBjbGFzcz0ibWVhbmluZyI+dGhlIGZpcnN0IGZvcm1hdHRl
ZCBsZXR0ZXIgb2YgYW4gRSBlbGVtZW50PC90ZD4KICAgIDx0ZCBjbGFzcz0iZGVzY3JpYmVkIj48
YQogICAgICBocmVmPSIjZmlyc3QtbGV0dGVyIj5UaGUgOjpmaXJzdC1sZXR0ZXIKICAgICAgcHNl
dWRvLWVsZW1lbnQ8L2E+PC90ZD4KICAgIDx0ZCBjbGFzcz0ib3JpZ2luIj4xPC90ZD48L3RyPgog
IDx0cj4KICAgIDx0ZCBjbGFzcz0icGF0dGVybiI+RTo6c2VsZWN0aW9uPC90ZD4KICAgIDx0ZCBj
bGFzcz0ibWVhbmluZyI+dGhlIHBvcnRpb24gb2YgYW4gRSBlbGVtZW50IHRoYXQgaXMgY3VycmVu
dGx5CiAgICAgIHNlbGVjdGVkL2hpZ2hsaWdodGVkIGJ5IHRoZSB1c2VyPC90ZD4KICAgIDx0ZCBj
bGFzcz0iZGVzY3JpYmVkIj48YQogICAgICBocmVmPSIjVUlmcmFnbWVudHMiPlRoZSBVSSBlbGVt
ZW50CiAgICAgIGZyYWdtZW50cyBwc2V1ZG8tZWxlbWVudHM8L2E+PC90ZD4KICAgIDx0ZCBjbGFz
cz0ib3JpZ2luIj4zPC90ZD48L3RyPgogIDx0cj4KICAgIDx0ZCBjbGFzcz0icGF0dGVybiI+RTo6
YmVmb3JlPC90ZD4KICAgIDx0ZCBjbGFzcz0ibWVhbmluZyI+Z2VuZXJhdGVkIGNvbnRlbnQgYmVm
b3JlIGFuIEUgZWxlbWVudDwvdGQ+CiAgICA8dGQgY2xhc3M9ImRlc2NyaWJlZCI+PGEKICAgICAg
aHJlZj0iI2dlbi1jb250ZW50Ij5UaGUgOjpiZWZvcmUKICAgICAgcHNldWRvLWVsZW1lbnQ8L2E+
PC90ZD4KICAgIDx0ZCBjbGFzcz0ib3JpZ2luIj4yPC90ZD48L3RyPgogIDx0cj4KICAgIDx0ZCBj
bGFzcz0icGF0dGVybiI+RTo6YWZ0ZXI8L3RkPgogICAgPHRkIGNsYXNzPSJtZWFuaW5nIj5nZW5l
cmF0ZWQgY29udGVudCBhZnRlciBhbiBFIGVsZW1lbnQ8L3RkPgogICAgPHRkIGNsYXNzPSJkZXNj
cmliZWQiPjxhCiAgICAgIGhyZWY9IiNnZW4tY29udGVudCI+VGhlIDo6YWZ0ZXIKICAgICAgcHNl
dWRvLWVsZW1lbnQ8L2E+PC90ZD4KICAgIDx0ZCBjbGFzcz0ib3JpZ2luIj4yPC90ZD48L3RyPgog
IDx0cj4KICAgIDx0ZCBjbGFzcz0icGF0dGVybiI+RS53YXJuaW5nPC90ZD4KICAgIDx0ZCBjbGFz
cz0ibWVhbmluZyI+YW4gRSBlbGVtZW50IHdob3NlIGNsYXNzIGlzCiJ3YXJuaW5nIiAodGhlIGRv
Y3VtZW50IGxhbmd1YWdlIHNwZWNpZmllcyBob3cgY2xhc3MgaXMgZGV0ZXJtaW5lZCkuPC90ZD4K
ICAgIDx0ZCBjbGFzcz0iZGVzY3JpYmVkIj48YQogICAgICBocmVmPSIjY2xhc3MtaHRtbCI+Q2xh
c3MKICAgIHNlbGVjdG9yczwvYT48L3RkPgogICAgPHRkIGNsYXNzPSJvcmlnaW4iPjE8L3RkPjwv
dHI+CiAgPHRyPgogICAgPHRkIGNsYXNzPSJwYXR0ZXJuIj5FI215aWQ8L3RkPgogICAgPHRkIGNs
YXNzPSJtZWFuaW5nIj5hbiBFIGVsZW1lbnQgd2l0aCBJRCBlcXVhbCB0byAibXlpZCIuPC90ZD4K
ICAgIDx0ZCBjbGFzcz0iZGVzY3JpYmVkIj48YQogICAgICBocmVmPSIjaWQtc2VsZWN0b3JzIj5J
RAogICAgc2VsZWN0b3JzPC9hPjwvdGQ+CiAgICA8dGQgY2xhc3M9Im9yaWdpbiI+MTwvdGQ+PC90
cj4KICA8dHI+CiAgICA8dGQgY2xhc3M9InBhdHRlcm4iPkU6bm90KHMpPC90ZD4KICAgIDx0ZCBj
bGFzcz0ibWVhbmluZyI+YW4gRSBlbGVtZW50IHRoYXQgZG9lcyBub3QgbWF0Y2ggc2ltcGxlIHNl
bGVjdG9yIHM8L3RkPgogICAgPHRkIGNsYXNzPSJkZXNjcmliZWQiPjxhCiAgICAgIGhyZWY9IiNu
ZWdhdGlvbiI+TmVnYXRpb24KICAgICAgcHNldWRvLWNsYXNzPC9hPjwvdGQ+CiAgICA8dGQgY2xh
c3M9Im9yaWdpbiI+MzwvdGQ+PC90cj4KICA8dHI+CiAgICA8dGQgY2xhc3M9InBhdHRlcm4iPkUg
RjwvdGQ+CiAgICA8dGQgY2xhc3M9Im1lYW5pbmciPmFuIEYgZWxlbWVudCBkZXNjZW5kYW50IG9m
IGFuIEUgZWxlbWVudDwvdGQ+CiAgICA8dGQgY2xhc3M9ImRlc2NyaWJlZCI+PGEKICAgICAgaHJl
Zj0iI2Rlc2NlbmRhbnQtY29tYmluYXRvcnMiPkRlc2NlbmRhbnQKICAgICAgY29tYmluYXRvcjwv
YT48L3RkPgogICAgPHRkIGNsYXNzPSJvcmlnaW4iPjE8L3RkPjwvdHI+CiAgPHRyPgogICAgPHRk
IGNsYXNzPSJwYXR0ZXJuIj5FICZndDsgRjwvdGQ+CiAgICA8dGQgY2xhc3M9Im1lYW5pbmciPmFu
IEYgZWxlbWVudCBjaGlsZCBvZiBhbiBFIGVsZW1lbnQ8L3RkPgogICAgPHRkIGNsYXNzPSJkZXNj
cmliZWQiPjxhCiAgICAgIGhyZWY9IiNjaGlsZC1jb21iaW5hdG9ycyI+Q2hpbGQKICAgICAgY29t
YmluYXRvcjwvYT48L3RkPgogICAgPHRkIGNsYXNzPSJvcmlnaW4iPjI8L3RkPjwvdHI+CiAgPHRy
PgogICAgPHRkIGNsYXNzPSJwYXR0ZXJuIj5FICsgRjwvdGQ+CiAgICA8dGQgY2xhc3M9Im1lYW5p
bmciPmFuIEYgZWxlbWVudCBpbW1lZGlhdGVseSBwcmVjZWRlZCBieSBhbiBFIGVsZW1lbnQ8L3Rk
PgogICAgPHRkIGNsYXNzPSJkZXNjcmliZWQiPjxhCiAgICAgIGhyZWY9IiNhZGphY2VudC1zaWJs
aW5nLWNvbWJpbmF0b3JzIj5BZGphY2VudCBzaWJsaW5nIGNvbWJpbmF0b3I8L2E+PC90ZD4KICAg
IDx0ZCBjbGFzcz0ib3JpZ2luIj4yPC90ZD48L3RyPgogIDx0cj4KICAgIDx0ZCBjbGFzcz0icGF0
dGVybiI+RSB+IEY8L3RkPgogICAgPHRkIGNsYXNzPSJtZWFuaW5nIj5hbiBGIGVsZW1lbnQgcHJl
Y2VkZWQgYnkgYW4gRSBlbGVtZW50PC90ZD4KICAgIDx0ZCBjbGFzcz0iZGVzY3JpYmVkIj48YQog
ICAgICBocmVmPSIjZ2VuZXJhbC1zaWJsaW5nLWNvbWJpbmF0b3JzIj5HZW5lcmFsIHNpYmxpbmcg
Y29tYmluYXRvcjwvYT48L3RkPgogICAgPHRkIGNsYXNzPSJvcmlnaW4iPjM8L3RkPjwvdHI+PC90
Ym9keT48L3RhYmxlPgoKPHA+VGhlIG1lYW5pbmcgb2YgZWFjaCBzZWxlY3RvciBpcyBkZXJpdmVk
IGZyb20gdGhlIHRhYmxlIGFib3ZlIGJ5CnByZXBlbmRpbmcgIm1hdGNoZXMiIHRvIHRoZSBjb250
ZW50cyBvZiBlYWNoIGNlbGwgaW4gdGhlICJNZWFuaW5nIgpjb2x1bW4uPC9wPgoKPGgyPjxhIG5h
bWU9Y2FzZXNlbnM+My4gQ2FzZSBzZW5zaXRpdml0eTwvYT48L2gyPgoKPHA+VGhlIGNhc2Ugc2Vu
c2l0aXZpdHkgb2YgZG9jdW1lbnQgbGFuZ3VhZ2UgZWxlbWVudCBuYW1lcywgYXR0cmlidXRlCm5h
bWVzLCBhbmQgYXR0cmlidXRlIHZhbHVlcyBpbiBzZWxlY3RvcnMgZGVwZW5kcyBvbiB0aGUgZG9j
dW1lbnQKbGFuZ3VhZ2UuIEZvciBleGFtcGxlLCBpbiBIVE1MLCBlbGVtZW50IG5hbWVzIGFyZSBj
YXNlLWluc2Vuc2l0aXZlLApidXQgaW4gWE1MLCB0aGV5IGFyZSBjYXNlLXNlbnNpdGl2ZS48L3A+
Cgo8aDI+PGEgbmFtZT1zZWxlY3Rvci1zeW50YXg+NC4gU2VsZWN0b3Igc3ludGF4PC9hPjwvaDI+
Cgo8cD5BIDxkZm4+PGEgbmFtZT1zZWxlY3Rvcj5zZWxlY3RvcjwvYT48L2Rmbj4gaXMgYSBjaGFp
biBvZiBvbmUKb3IgbW9yZSA8YSBocmVmPSIjc2VxdWVuY2UiPnNlcXVlbmNlcyBvZiBzaW1wbGUg
c2VsZWN0b3JzPC9hPgpzZXBhcmF0ZWQgYnkgPGEgaHJlZj0iI2NvbWJpbmF0b3JzIj5jb21iaW5h
dG9yczwvYT4uPC9wPgoKPHA+QSA8ZGZuPjxhIG5hbWU9c2VxdWVuY2U+c2VxdWVuY2Ugb2Ygc2lt
cGxlIHNlbGVjdG9yczwvYT48L2Rmbj4KaXMgYSBjaGFpbiBvZiA8YSBocmVmPSIjc2ltcGxlLXNl
bGVjdG9ycy1kZm4iPnNpbXBsZSBzZWxlY3RvcnM8L2E+CnRoYXQgYXJlIG5vdCBzZXBhcmF0ZWQg
YnkgYSA8YSBocmVmPSIjY29tYmluYXRvcnMiPmNvbWJpbmF0b3I8L2E+LiBJdAphbHdheXMgYmVn
aW5zIHdpdGggYSA8YSBocmVmPSIjdHlwZS1zZWxlY3RvcnMiPnR5cGUgc2VsZWN0b3I8L2E+IG9y
IGEKPGEgaHJlZj0iI3VuaXZlcnNhbC1zZWxlY3RvciI+dW5pdmVyc2FsIHNlbGVjdG9yPC9hPi4g
Tm8gb3RoZXIgdHlwZQpzZWxlY3RvciBvciB1bml2ZXJzYWwgc2VsZWN0b3IgaXMgYWxsb3dlZCBp
biB0aGUgc2VxdWVuY2UuPC9wPgoKPHA+QSA8ZGZuPjxhIG5hbWU9c2ltcGxlLXNlbGVjdG9ycy1k
Zm4+PC9hPjxhCmhyZWY9IiNzaW1wbGUtc2VsZWN0b3JzIj5zaW1wbGUgc2VsZWN0b3I8L2E+PC9k
Zm4+IGlzIGVpdGhlciBhIDxhCmhyZWY9IiN0eXBlLXNlbGVjdG9ycyI+dHlwZSBzZWxlY3Rvcjwv
YT4sIDxhCmhyZWY9IiN1bml2ZXJzYWwtc2VsZWN0b3IiPnVuaXZlcnNhbCBzZWxlY3RvcjwvYT4s
IDxhCmhyZWY9IiNhdHRyaWJ1dGUtc2VsZWN0b3JzIj5hdHRyaWJ1dGUgc2VsZWN0b3I8L2E+LCA8
YQpocmVmPSIjY2xhc3MtaHRtbCI+Y2xhc3Mgc2VsZWN0b3I8L2E+LCA8YQpocmVmPSIjaWQtc2Vs
ZWN0b3JzIj5JRCBzZWxlY3RvcjwvYT4sIDxhCmhyZWY9IiNjb250ZW50LXNlbGVjdG9ycyI+Y29u
dGVudCBzZWxlY3RvcjwvYT4sIG9yIDxhCmhyZWY9IiNwc2V1ZG8tY2xhc3NlcyI+cHNldWRvLWNs
YXNzPC9hPi4gT25lIDxhCmhyZWY9IiNwc2V1ZG8tZWxlbWVudHMiPnBzZXVkby1lbGVtZW50PC9h
PiBtYXkgYmUgYXBwZW5kZWQgdG8gdGhlIGxhc3QKc2VxdWVuY2Ugb2Ygc2ltcGxlIHNlbGVjdG9y
cy48L3A+Cgo8cD48ZGZuPkNvbWJpbmF0b3JzPC9kZm4+IGFyZTogd2hpdGUgc3BhY2UsICZxdW90
O2dyZWF0ZXItdGhhbgpzaWduJnF1b3Q7IChVKzAwM0UsIDxjb2RlPiZndDs8L2NvZGU+KSwgJnF1
b3Q7cGx1cyBzaWduJnF1b3Q7IChVKzAwMkIsCjxjb2RlPis8L2NvZGU+KSBhbmQgJnF1b3Q7dGls
ZGUmcXVvdDsgKFUrMDA3RSwgPGNvZGU+fjwvY29kZT4pLiAgV2hpdGUKc3BhY2UgbWF5IGFwcGVh
ciBiZXR3ZWVuIGEgY29tYmluYXRvciBhbmQgdGhlIHNpbXBsZSBzZWxlY3RvcnMgYXJvdW5kCml0
LiA8YSBuYW1lPXdoaXRlc3BhY2U+PC9hPk9ubHkgdGhlIGNoYXJhY3RlcnMgInNwYWNlIiAoVSsw
MDIwKSwgInRhYiIKKFUrMDAwOSksICJsaW5lIGZlZWQiIChVKzAwMEEpLCAiY2FycmlhZ2UgcmV0
dXJuIiAoVSswMDBEKSwgYW5kICJmb3JtCmZlZWQiIChVKzAwMEMpIGNhbiBvY2N1ciBpbiB3aGl0
ZSBzcGFjZS4gT3RoZXIgc3BhY2UtbGlrZSBjaGFyYWN0ZXJzLApzdWNoIGFzICJlbS1zcGFjZSIg
KFUrMjAwMykgYW5kICJpZGVvZ3JhcGhpYyBzcGFjZSIgKFUrMzAwMCksIGFyZQpuZXZlciBwYXJ0
IG9mIHdoaXRlIHNwYWNlLjwvcD4KCjxwPlRoZSBlbGVtZW50cyBvZiBhIGRvY3VtZW50IHRyZWUg
dGhhdCBhcmUgcmVwcmVzZW50ZWQgYnkgYSBzZWxlY3RvcgphcmUgdGhlIDxkZm4+PGEgbmFtZT1z
dWJqZWN0PjwvYT5zdWJqZWN0cyBvZiB0aGUgc2VsZWN0b3I8L2Rmbj4uIEEKc2VsZWN0b3IgY29u
c2lzdGluZyBvZiBhIHNpbmdsZSBzZXF1ZW5jZSBvZiBzaW1wbGUgc2VsZWN0b3JzCnJlcHJlc2Vu
dHMgYW55IGVsZW1lbnQgc2F0aXNmeWluZyBpdHMgcmVxdWlyZW1lbnRzLiBQcmVwZW5kaW5nIGFu
b3RoZXIKc2VxdWVuY2Ugb2Ygc2ltcGxlIHNlbGVjdG9ycyBhbmQgYSBjb21iaW5hdG9yIHRvIGEg
c2VxdWVuY2UgaW1wb3NlcwphZGRpdGlvbmFsIG1hdGNoaW5nIGNvbnN0cmFpbnRzLCBzbyB0aGUg
c3ViamVjdHMgb2YgYSBzZWxlY3RvciBhcmUKYWx3YXlzIGEgc3Vic2V0IG9mIHRoZSBlbGVtZW50
cyByZXByZXNlbnRlZCBieSB0aGUgbGFzdCBzZXF1ZW5jZSBvZgpzaW1wbGUgc2VsZWN0b3JzLjwv
cD4KCjxwPkFuIGVtcHR5IHNlbGVjdG9yLCBjb250YWluaW5nIG5vIHNlcXVlbmNlIG9mIHNpbXBs
ZSBzZWxlY3RvcnMgYW5kCm5vIHBzZXVkby1lbGVtZW50LCBpcyBhbiA8YSBocmVmPSIjQ29uZm9y
bWFuY2UiPmludmFsaWQKc2VsZWN0b3I8L2E+LjwvcD4KCjxoMj48YSBuYW1lPWdyb3VwaW5nPjUu
IEdyb3VwcyBvZiBzZWxlY3RvcnM8L2E+PC9oMj4KCjxwPldoZW4gc2V2ZXJhbCBzZWxlY3RvcnMg
c2hhcmUgdGhlIHNhbWUgZGVjbGFyYXRpb25zLCB0aGV5IG1heSBiZQpncm91cGVkIGludG8gYSBj
b21tYS1zZXBhcmF0ZWQgbGlzdC4gKEEgY29tbWEgaXMgVSswMDJDLik8L3A+Cgo8ZGl2IGNsYXNz
PSJleGFtcGxlIj4KPHA+Q1NTIGV4YW1wbGVzOjwvcD4KPHA+SW4gdGhpcyBleGFtcGxlLCB3ZSBj
b25kZW5zZSB0aHJlZSBydWxlcyB3aXRoIGlkZW50aWNhbApkZWNsYXJhdGlvbnMgaW50byBvbmUu
IFRodXMsPC9wPgo8cHJlPmgxIHsgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYgfQpoMiB7IGZvbnQt
ZmFtaWx5OiBzYW5zLXNlcmlmIH0KaDMgeyBmb250LWZhbWlseTogc2Fucy1zZXJpZiB9PC9wcmU+
CjxwPmlzIGVxdWl2YWxlbnQgdG86PC9wPgo8cHJlPmgxLCBoMiwgaDMgeyBmb250LWZhbWlseTog
c2Fucy1zZXJpZiB9PC9wcmU+CjwvZGl2PgoKPHA+PHN0cm9uZz5XYXJuaW5nPC9zdHJvbmc+OiB0
aGUgZXF1aXZhbGVuY2UgaXMgdHJ1ZSBpbiB0aGlzIGV4YW1wbGUKYmVjYXVzZSBhbGwgdGhlIHNl
bGVjdG9ycyBhcmUgdmFsaWQgc2VsZWN0b3JzLiBJZiBqdXN0IG9uZSBvZiB0aGVzZQpzZWxlY3Rv
cnMgd2VyZSBpbnZhbGlkLCB0aGUgZW50aXJlIGdyb3VwIG9mIHNlbGVjdG9ycyB3b3VsZCBiZQpp
bnZhbGlkLiBUaGlzIHdvdWxkIGludmFsaWRhdGUgdGhlIHJ1bGUgZm9yIGFsbCB0aHJlZSBoZWFk
aW5nCmVsZW1lbnRzLCB3aGVyZWFzIGluIHRoZSBmb3JtZXIgY2FzZSBvbmx5IG9uZSBvZiB0aGUg
dGhyZWUgaW5kaXZpZHVhbApoZWFkaW5nIHJ1bGVzIHdvdWxkIGJlIGludmFsaWRhdGVkLjwvcD4K
Cgo8aDI+PGEgbmFtZT1zaW1wbGUtc2VsZWN0b3JzPjYuIFNpbXBsZSBzZWxlY3RvcnM8L2E+PC9o
Mj4KCjxoMz48YSBuYW1lPXR5cGUtc2VsZWN0b3JzPjYuMS4gVHlwZSBzZWxlY3RvcjwvYT48L2gz
PgoKPHA+QSA8ZGZuPnR5cGUgc2VsZWN0b3I8L2Rmbj4gaXMgdGhlIG5hbWUgb2YgYSBkb2N1bWVu
dCBsYW5ndWFnZQplbGVtZW50IHR5cGUuIEEgdHlwZSBzZWxlY3RvciByZXByZXNlbnRzIGFuIGlu
c3RhbmNlIG9mIHRoZSBlbGVtZW50CnR5cGUgaW4gdGhlIGRvY3VtZW50IHRyZWUuPC9wPgoKPGRp
diBjbGFzcz0iZXhhbXBsZSI+CiA8cD5FeGFtcGxlOjwvcD4KIDxwPlRoZSBmb2xsb3dpbmcgc2Vs
ZWN0b3IgcmVwcmVzZW50cyBhbiA8Y29kZT5oMTwvY29kZT4gZWxlbWVudCBpbiB0aGUgZG9jdW1l
bnQgdHJlZTo8L3A+CiA8cHJlPmgxPC9wcmU+CjwvZGl2PgoKCjxoND48YSBuYW1lPXR5cGVubXNw
PjYuMS4xLiBUeXBlIHNlbGVjdG9ycyBhbmQgbmFtZXNwYWNlczwvYT48L2g0PgoKPHA+VHlwZSBz
ZWxlY3RvcnMgYWxsb3cgYW4gb3B0aW9uYWwgbmFtZXNwYWNlICg8YQpocmVmPSIjcmVmc1hNTE5B
TUVTIj5bWE1MTkFNRVNdPC9hPikgY29tcG9uZW50LiBBIG5hbWVzcGFjZSBwcmVmaXgKdGhhdCBo
YXMgYmVlbiBwcmV2aW91c2x5IGRlY2xhcmVkIG1heSBiZSBwcmVwZW5kZWQgdG8gdGhlIGVsZW1l
bnQgbmFtZQpzZXBhcmF0ZWQgYnkgdGhlIG5hbWVzcGFjZSBzZXBhcmF0b3IgJnF1b3Q7dmVydGlj
YWwgYmFyJnF1b3Q7CihVKzAwN0MsIDxjb2RlPnw8L2NvZGU+KS48L3A+Cgo8cD5UaGUgbmFtZXNw
YWNlIGNvbXBvbmVudCBtYXkgYmUgbGVmdCBlbXB0eSB0byBpbmRpY2F0ZSB0aGF0IHRoZQpzZWxl
Y3RvciBpcyBvbmx5IHRvIHJlcHJlc2VudCBlbGVtZW50cyB3aXRoIG5vIGRlY2xhcmVkIG5hbWVz
cGFjZS48L3A+Cgo8cD5BbiBhc3RlcmlzayBtYXkgYmUgdXNlZCBmb3IgdGhlIG5hbWVzcGFjZSBw
cmVmaXgsIGluZGljYXRpbmcgdGhhdAp0aGUgc2VsZWN0b3IgcmVwcmVzZW50cyBlbGVtZW50cyBp
biBhbnkgbmFtZXNwYWNlIChpbmNsdWRpbmcgZWxlbWVudHMKd2l0aCBubyBuYW1lc3BhY2UpLjwv
cD4KCjxwPkVsZW1lbnQgdHlwZSBzZWxlY3RvcnMgdGhhdCBoYXZlIG5vIG5hbWVzcGFjZSBjb21w
b25lbnQgKG5vCm5hbWVzcGFjZSBzZXBhcmF0b3IpLCByZXByZXNlbnQgZWxlbWVudHMgd2l0aG91
dCByZWdhcmQgdG8gdGhlCmVsZW1lbnQncyBuYW1lc3BhY2UgKGVxdWl2YWxlbnQgdG8gIjxjb2Rl
Pip8PC9jb2RlPiIpIHVubGVzcyBhIGRlZmF1bHQKbmFtZXNwYWNlIGhhcyBiZWVuIGRlY2xhcmVk
LiBJZiBhIGRlZmF1bHQgbmFtZXNwYWNlIGhhcyBiZWVuIGRlY2xhcmVkLAp0aGUgc2VsZWN0b3Ig
d2lsbCByZXByZXNlbnQgb25seSBlbGVtZW50cyBpbiB0aGUgZGVmYXVsdApuYW1lc3BhY2UuPC9w
PgoKPHA+QSB0eXBlIHNlbGVjdG9yIGNvbnRhaW5pbmcgYSBuYW1lc3BhY2UgcHJlZml4IHRoYXQg
aGFzIG5vdCBiZWVuCnByZXZpb3VzbHkgZGVjbGFyZWQgaXMgYW4gPGEgaHJlZj0iI0NvbmZvcm1h
bmNlIj5pbnZhbGlkPC9hPiBzZWxlY3Rvci4KVGhlIG1lY2hhbmlzbSBmb3IgZGVjbGFyaW5nIGEg
bmFtZXNwYWNlIHByZWZpeCBpcyBsZWZ0IHVwIHRvIHRoZQpsYW5ndWFnZSBpbXBsZW1lbnRpbmcg
U2VsZWN0b3JzLiBJbiBDU1MsIHN1Y2ggYSBtZWNoYW5pc20gaXMgZGVmaW5lZAppbiB0aGUgR2Vu
ZXJhbCBTeW50YXggbW9kdWxlLjwvcD4KCjxwPkluIGEgbmFtZXNwYWNlLWF3YXJlIGNsaWVudCwg
ZWxlbWVudCB0eXBlIHNlbGVjdG9ycyB3aWxsIG9ubHkgbWF0Y2gKYWdhaW5zdCB0aGUgPGEKaHJl
Zj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLXhtbC1uYW1lcy8jTlQtTG9jYWxQYXJ0Ij5sb2Nh
bCBwYXJ0PC9hPgpvZiB0aGUgZWxlbWVudCdzIDxhCmhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RS
L1JFQy14bWwtbmFtZXMvI25zLXF1YWxuYW1lcyI+cXVhbGlmaWVkCm5hbWU8L2E+LiBTZWUgPGEg
aHJlZj0iI2Rvd25sZXZlbCI+YmVsb3c8L2E+IGZvciBub3RlcyBhYm91dCBtYXRjaGluZwpiZWhh
dmlvcnMgaW4gZG93bi1sZXZlbCBjbGllbnRzLjwvcD4KCjxwPkluIHN1bW1hcnk6PC9wPgoKPGRs
PgogIDxkdD48Y29kZT5uc3xFPC9jb2RlPjwvZHQ+CiAgPGRkPmVsZW1lbnRzIHdpdGggbmFtZSBF
IGluIG5hbWVzcGFjZSBuczwvZGQ+CiAgPGR0Pjxjb2RlPip8RTwvY29kZT48L2R0PgogIDxkZD5l
bGVtZW50cyB3aXRoIG5hbWUgRSBpbiBhbnkgbmFtZXNwYWNlLCBpbmNsdWRpbmcgdGhvc2Ugd2l0
aG91dCBhbnkKICBkZWNsYXJlZCBuYW1lc3BhY2U8L2RkPgogIDxkdD48Y29kZT58RTwvY29kZT48
L2R0PgogIDxkZD5lbGVtZW50cyB3aXRoIG5hbWUgRSB3aXRob3V0IGFueSBkZWNsYXJlZCBuYW1l
c3BhY2U8L2RkPgogIDxkdD48Y29kZT5FPC9jb2RlPjwvZHQ+CiAgPGRkPmlmIG5vIGRlZmF1bHQg
bmFtZXNwYWNlIGhhcyBiZWVuIHNwZWNpZmllZCwgdGhpcyBpcyBlcXVpdmFsZW50IHRvICp8RS4K
ICBPdGhlcndpc2UgaXQgaXMgZXF1aXZhbGVudCB0byBuc3xFIHdoZXJlIG5zIGlzIHRoZSBkZWZh
dWx0IG5hbWVzcGFjZS48L2RkPgo8L2RsPgoKPGRpdiBjbGFzcz0iZXhhbXBsZSI+CiA8cD5DU1Mg
ZXhhbXBsZXM6PC9wPgoKIDxwcmU+QG5hbWVzcGFjZSBmb28gdXJsKGh0dHA6Ly93d3cuZXhhbXBs
ZS5jb20pOwogZm9vfGgxIHsgY29sb3I6IGJsdWUgfQogZm9vfCogeyBjb2xvcjogeWVsbG93IH0K
IHxoMSB7IGNvbG9yOiByZWQgfQogKnxoMSB7IGNvbG9yOiBncmVlbiB9CiBoMSB7IGNvbG9yOiBn
cmVlbiB9PC9wcmU+CgogPHA+VGhlIGZpcnN0IHJ1bGUgd2lsbCBtYXRjaCBvbmx5IDxjb2RlPmgx
PC9jb2RlPiBlbGVtZW50cyBpbiB0aGUKICJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiBuYW1lc3Bh
Y2UuPC9wPgoKIDxwPlRoZSBzZWNvbmQgcnVsZSB3aWxsIG1hdGNoIGFsbCBlbGVtZW50cyBpbiB0
aGUKICJodHRwOi8vd3d3LmV4YW1wbGUuY29tIiBuYW1lc3BhY2UuPC9wPgoKIDxwPlRoZSB0aGly
ZCBydWxlIHdpbGwgbWF0Y2ggb25seSA8Y29kZT5oMTwvY29kZT4gZWxlbWVudHMgd2l0aG91dAog
YW55IGRlY2xhcmVkIG5hbWVzcGFjZS48L3A+CgogPHA+VGhlIGZvdXJ0aCBydWxlIHdpbGwgbWF0
Y2ggPGNvZGU+aDE8L2NvZGU+IGVsZW1lbnRzIGluIGFueQogbmFtZXNwYWNlIChpbmNsdWRpbmcg
dGhvc2Ugd2l0aG91dCBhbnkgZGVjbGFyZWQgbmFtZXNwYWNlKS48L3A+CgogPHA+VGhlIGxhc3Qg
cnVsZSBpcyBlcXVpdmFsZW50IHRvIHRoZSBmb3VydGggcnVsZSBiZWNhdXNlIG5vIGRlZmF1bHQK
IG5hbWVzcGFjZSBoYXMgYmVlbiBkZWZpbmVkLjwvcD4KCjwvZGl2PgoKPGgzPjxhIG5hbWU9dW5p
dmVyc2FsLXNlbGVjdG9yPjYuMi4gVW5pdmVyc2FsIHNlbGVjdG9yPC9hPiA8L2gzPgoKPHA+VGhl
IDxkZm4+dW5pdmVyc2FsIHNlbGVjdG9yPC9kZm4+LCB3cml0dGVuICZxdW90O2FzdGVyaXNrJnF1
b3Q7Cig8Y29kZT4qPC9jb2RlPiksIHJlcHJlc2VudHMgdGhlIHF1YWxpZmllZCBuYW1lIG9mIGFu
eSBlbGVtZW50CnR5cGUuIEl0IHJlcHJlc2VudHMgYW55IHNpbmdsZSBlbGVtZW50IGluIHRoZSBk
b2N1bWVudCB0cmVlIGluIGFueQpuYW1lc3BhY2UgKGluY2x1ZGluZyB0aG9zZSB3aXRob3V0IGFu
eSBkZWNsYXJlZCBuYW1lc3BhY2UpIGlmIG5vCmRlZmF1bHQgbmFtZXNwYWNlIGhhcyBiZWVuIHNw
ZWNpZmllZC4gSWYgYSBkZWZhdWx0IG5hbWVzcGFjZSBoYXMgYmVlbgpzcGVjaWZpZWQsIHNlZSA8
YSBocmVmPSIjdW5pdm5tc3AiPlVuaXZlcnNhbCBzZWxlY3RvciBhbmQKTmFtZXNwYWNlczwvYT4g
YmVsb3cuPC9wPgoKPHA+SWYgdGhlIHVuaXZlcnNhbCBzZWxlY3RvciBpcyBub3QgdGhlIG9ubHkg
Y29tcG9uZW50IG9mIGEgc2VxdWVuY2UKb2Ygc2ltcGxlIHNlbGVjdG9ycywgdGhlIDxjb2RlPio8
L2NvZGU+IG1heSBiZSBvbWl0dGVkLjwvcD4KCjxkaXYgY2xhc3M9ImV4YW1wbGUiPgogPHA+RXhh
bXBsZXM6PC9wPgogPHVsPgogIDxsaT48Y29kZT4qW2hyZWZsYW5nfD1lbl08L2NvZGU+IGFuZCA8
Y29kZT5baHJlZmxhbmd8PWVuXTwvY29kZT4gYXJlIGVxdWl2YWxlbnQsPC9saT4KICA8bGk+PGNv
ZGU+Ki53YXJuaW5nPC9jb2RlPiBhbmQgPGNvZGU+Lndhcm5pbmc8L2NvZGU+IGFyZSBlcXVpdmFs
ZW50LDwvbGk+CiAgPGxpPjxjb2RlPiojbXlpZDwvY29kZT4gYW5kIDxjb2RlPiNteWlkPC9jb2Rl
PiBhcmUgZXF1aXZhbGVudC48L2xpPgogPC91bD4KPC9kaXY+Cgo8cCBjbGFzcz0ibm90ZSI+PHN0
cm9uZz5Ob3RlOjwvc3Ryb25nPiBpdCBpcyByZWNvbW1lbmRlZCB0aGF0IHRoZQo8Y29kZT4qPC9j
b2RlPiwgcmVwcmVzZW50aW5nIHRoZSB1bml2ZXJzYWwgc2VsZWN0b3IsIG5vdCBiZQpvbWl0dGVk
LjwvcD4KCjxoND48YSBuYW1lPXVuaXZubXNwPjYuMi4xLiBVbml2ZXJzYWwgc2VsZWN0b3IgYW5k
IG5hbWVzcGFjZXM8L2E+PC9oND4KCjxwPlRoZSB1bml2ZXJzYWwgc2VsZWN0b3IgYWxsb3dzIGFu
IG9wdGlvbmFsIG5hbWVzcGFjZSBjb21wb25lbnQuIEl0CmlzIHVzZWQgYXMgZm9sbG93czo8L3A+
Cgo8ZGw+CiA8ZHQ+PGNvZGU+bnN8KjwvY29kZT48L2R0PgogPGRkPmFsbCBlbGVtZW50cyBpbiBu
YW1lc3BhY2UgbnM8L2RkPgogPGR0Pjxjb2RlPip8KjwvY29kZT48L2R0PgogPGRkPmFsbCBlbGVt
ZW50czwvZGQ+CiA8ZHQ+PGNvZGU+fCo8L2NvZGU+PC9kdD4KIDxkZD5hbGwgZWxlbWVudHMgd2l0
aG91dCBhbnkgZGVjbGFyZWQgbmFtZXNwYWNlPC9kZD4KIDxkdD48Y29kZT4qPC9jb2RlPjwvZHQ+
CiA8ZGQ+aWYgbm8gZGVmYXVsdCBuYW1lc3BhY2UgaGFzIGJlZW4gc3BlY2lmaWVkLCB0aGlzIGlz
IGVxdWl2YWxlbnQgdG8gKnwqLgogT3RoZXJ3aXNlIGl0IGlzIGVxdWl2YWxlbnQgdG8gbnN8KiB3
aGVyZSBucyBpcyB0aGUgZGVmYXVsdCBuYW1lc3BhY2UuPC9kZD4KPC9kbD4KCjxwPkEgdW5pdmVy
c2FsIHNlbGVjdG9yIGNvbnRhaW5pbmcgYSBuYW1lc3BhY2UgcHJlZml4IHRoYXQgaGFzIG5vdApi
ZWVuIHByZXZpb3VzbHkgZGVjbGFyZWQgaXMgYW4gPGEgaHJlZj0iI0NvbmZvcm1hbmNlIj5pbnZh
bGlkPC9hPgpzZWxlY3Rvci4gIFRoZSBtZWNoYW5pc20gZm9yIGRlY2xhcmluZyBhIG5hbWVzcGFj
ZSBwcmVmaXggaXMgbGVmdCB1cAp0byB0aGUgbGFuZ3VhZ2UgaW1wbGVtZW50aW5nIFNlbGVjdG9y
cy4gIEluIENTUywgc3VjaCBhIG1lY2hhbmlzbSBpcwpkZWZpbmVkIGluIHRoZSBHZW5lcmFsIFN5
bnRheCBtb2R1bGUuPC9wPgoKCjxoMz48YSBuYW1lPWF0dHJpYnV0ZS1zZWxlY3RvcnM+Ni4zLiBB
dHRyaWJ1dGUgc2VsZWN0b3JzPC9hPjwvaDM+Cgo8cD5TZWxlY3RvcnMgYWxsb3cgdGhlIHJlcHJl
c2VudGF0aW9uIG9mIGFuIGVsZW1lbnQncyBhdHRyaWJ1dGVzLiBXaGVuCmEgc2VsZWN0b3IgaXMg
dXNlZCBhcyBhbiBleHByZXNzaW9uIHRvIG1hdGNoIGFnYWluc3QgYW4gZWxlbWVudCwKYXR0cmli
dXRlIHNlbGVjdG9ycyBtdXN0IGJlIGNvbnNpZGVyZWQgdG8gbWF0Y2ggYW4gZWxlbWVudCBpZiB0
aGF0CmVsZW1lbnQgaGFzIGFuIGF0dHJpYnV0ZSB0aGF0IG1hdGNoZXMgdGhlIGF0dHJpYnV0ZSBy
ZXByZXNlbnRlZCBieSB0aGUKYXR0cmlidXRlIHNlbGVjdG9yLjwvcD4KCjxoND48YSBuYW1lPWF0
dHJpYnV0ZS1yZXByZXNlbnRhdGlvbj42LjMuMS4gQXR0cmlidXRlIHByZXNlbmNlIGFuZCB2YWx1
ZXMKc2VsZWN0b3JzPC9hPjwvaDQ+Cgo8cD5DU1MyIGludHJvZHVjZWQgZm91ciBhdHRyaWJ1dGUg
c2VsZWN0b3JzOjwvcD4KCjxkbD4KICA8ZHQ+PGNvZGU+W2F0dF08L2NvZGU+CiAgPGRkPlJlcHJl
c2VudHMgYW4gZWxlbWVudCB3aXRoIHRoZSA8Y29kZT5hdHQ8L2NvZGU+IGF0dHJpYnV0ZSwgd2hh
dGV2ZXIgdGhlIHZhbHVlIG9mCiAgdGhlIGF0dHJpYnV0ZS48L2RkPgogIDxkdD48Y29kZT5bYXR0
PXZhbF08L2NvZGU+PC9kdD4KICA8ZGQ+UmVwcmVzZW50cyBhbiBlbGVtZW50IHdpdGggdGhlIDxj
b2RlPmF0dDwvY29kZT4gYXR0cmlidXRlIHdob3NlIHZhbHVlIGlzIGV4YWN0bHkKICAidmFsIi48
L2RkPgogIDxkdD48Y29kZT5bYXR0fj12YWxdPC9jb2RlPjwvZHQ+CiAgPGRkPlJlcHJlc2VudHMg
YW4gZWxlbWVudCB3aXRoIHRoZSA8Y29kZT5hdHQ8L2NvZGU+IGF0dHJpYnV0ZSB3aG9zZSB2YWx1
ZSBpcyBhIDxhCiAgaHJlZj0iI3doaXRlc3BhY2UiPndoaXRlc3BhY2U8L2E+LXNlcGFyYXRlZCBs
aXN0IG9mIHdvcmRzLCBvbmUgb2YKICB3aGljaCBpcyBleGFjdGx5ICJ2YWwiLiBJZiAidmFsIiBj
b250YWlucyB3aGl0ZXNwYWNlLCBpdCB3aWxsIG5ldmVyCiAgcmVwcmVzZW50IGFueXRoaW5nIChz
aW5jZSB0aGUgd29yZHMgYXJlIDxlbT5zZXBhcmF0ZWQ8L2VtPiBieQogIHNwYWNlcykuPC9kZD4K
ICA8ZHQ+PGNvZGU+W2F0dHw9dmFsXTwvY29kZT4KICA8ZGQ+UmVwcmVzZW50cyBhbiBlbGVtZW50
IHdpdGggdGhlIDxjb2RlPmF0dDwvY29kZT4gYXR0cmlidXRlLCBpdHMgdmFsdWUgZWl0aGVyCiAg
YmVpbmcgZXhhY3RseSAidmFsIiBvciBiZWdpbm5pbmcgd2l0aCAidmFsIiBpbW1lZGlhdGVseSBm
b2xsb3dlZCBieQogICItIiAoVSswMDJEKS4gIFRoaXMgaXMgcHJpbWFyaWx5IGludGVuZGVkIHRv
IGFsbG93IGxhbmd1YWdlIHN1YmNvZGUKICBtYXRjaGVzIChlLmcuLCB0aGUgPGNvZGU+aHJlZmxh
bmc8L2NvZGU+IGF0dHJpYnV0ZSBvbiB0aGUKICA8Y29kZT5saW5rPC9jb2RlPiBlbGVtZW50IGlu
IEhUTUwpIGFzIGRlc2NyaWJlZCBpbiBSRkMgMzA2NiAoPGEKICBocmVmPSIjcmVmc1JGQzMwNjYi
PltSRkMzMDY2XTwvYT4pLiAgRm9yIDxjb2RlPmxhbmc8L2NvZGU+IChvcgogIDxjb2RlPnhtbDps
YW5nPC9jb2RlPikgbGFuZ3VhZ2Ugc3ViY29kZSBtYXRjaGluZywgcGxlYXNlIHNlZSA8YQogIGhy
ZWY9IiNsYW5nLXBzZXVkbyI+dGhlIDxjb2RlPjpsYW5nPC9jb2RlPiBwc2V1ZG8tY2xhc3M8L2E+
LjwvZGQ+CjwvZGw+Cgo8cD5BdHRyaWJ1dGUgdmFsdWVzIG11c3QgYmUgaWRlbnRpZmllcnMgb3Ig
c3RyaW5ncy4gVGhlCmNhc2Utc2Vuc2l0aXZpdHkgb2YgYXR0cmlidXRlIG5hbWVzIGFuZCB2YWx1
ZXMgaW4gc2VsZWN0b3JzIGRlcGVuZHMgb24KdGhlIGRvY3VtZW50IGxhbmd1YWdlLjwvcD4KCjxk
aXYgY2xhc3M9ImV4YW1wbGUiPgoKICA8cD5FeGFtcGxlczo8L3A+CgogIDxwPlRoZSBmb2xsb3dp
bmcgYXR0cmlidXRlIHNlbGVjdG9yIHJlcHJlc2VudHMgYW4gPGNvZGU+aDE8L2NvZGU+CiAgZWxl
bWVudCB0aGF0IGNhcnJpZXMgdGhlIDxjb2RlPnRpdGxlPC9jb2RlPiBhdHRyaWJ1dGUsIHdoYXRl
dmVyIGl0cwogIHZhbHVlOjwvcD4KCiAgPHByZT5oMVt0aXRsZV08L3ByZT4KCiAgPHA+SW4gdGhl
IGZvbGxvd2luZyBleGFtcGxlLCB0aGUgc2VsZWN0b3IgcmVwcmVzZW50cyBhCiAgPGNvZGU+c3Bh
bjwvY29kZT4gZWxlbWVudCB3aG9zZSA8Y29kZT5jbGFzczwvY29kZT4gYXR0cmlidXRlIGhhcwog
IGV4YWN0bHkgdGhlIHZhbHVlICJleGFtcGxlIjo8L3A+CgogIDxwcmU+c3BhbltjbGFzcz0iZXhh
bXBsZSJdPC9wcmU+CgogIDxwPk11bHRpcGxlIGF0dHJpYnV0ZSBzZWxlY3RvcnMgY2FuIGJlIHVz
ZWQgdG8gcmVwcmVzZW50IHNldmVyYWwKICBhdHRyaWJ1dGVzIG9mIGFuIGVsZW1lbnQsIG9yIHNl
dmVyYWwgY29uZGl0aW9ucyBvbiB0aGUgc2FtZQogIGF0dHJpYnV0ZS4gSGVyZSwgdGhlIHNlbGVj
dG9yIHJlcHJlc2VudHMgYSA8Y29kZT5zcGFuPC9jb2RlPiBlbGVtZW50CiAgd2hvc2UgPGNvZGU+
aGVsbG88L2NvZGU+IGF0dHJpYnV0ZSBoYXMgZXhhY3RseSB0aGUgdmFsdWUgIkNsZXZlbGFuZCIK
ICBhbmQgd2hvc2UgPGNvZGU+Z29vZGJ5ZTwvY29kZT4gYXR0cmlidXRlIGhhcyBleGFjdGx5IHRo
ZSB2YWx1ZQogICJDb2x1bWJ1cyI6PC9wPgoKICA8cHJlPnNwYW5baGVsbG89IkNsZXZlbGFuZCJd
W2dvb2RieWU9IkNvbHVtYnVzIl08L3ByZT4KCiAgPHA+VGhlIGZvbGxvd2luZyBzZWxlY3RvcnMg
aWxsdXN0cmF0ZSB0aGUgZGlmZmVyZW5jZXMgYmV0d2VlbiAiPSIKICBhbmQgIn49Ii4gIFRoZSBm
aXJzdCBzZWxlY3RvciB3aWxsIHJlcHJlc2VudCwgZm9yIGV4YW1wbGUsIHRoZSB2YWx1ZQogICJj
b3B5cmlnaHQgY29weWxlZnQgY29weWVkaXRvciIgb24gYSA8Y29kZT5yZWw8L2NvZGU+IGF0dHJp
YnV0ZS4gVGhlCiAgc2Vjb25kIHNlbGVjdG9yIHdpbGwgb25seSByZXByZXNlbnQgYW4gPGNvZGU+
YTwvY29kZT4gZWxlbWVudCB3aXRoCiAgYW4gPGNvZGU+aHJlZjwvY29kZT4gYXR0cmlidXRlIGhh
dmluZyB0aGUgZXhhY3QgdmFsdWUKICAiaHR0cDovL3d3dy53My5vcmcvIi48L3A+CgogIDxwcmU+
YVtyZWx+PSJjb3B5cmlnaHQiXQphW2hyZWY9Imh0dHA6Ly93d3cudzMub3JnLyJdPC9wcmU+Cgog
IDxwPlRoZSBmb2xsb3dpbmcgc2VsZWN0b3IgcmVwcmVzZW50cyBhIDxjb2RlPmxpbms8L2NvZGU+
IGVsZW1lbnQKICB3aG9zZSA8Y29kZT5ocmVmbGFuZzwvY29kZT4gYXR0cmlidXRlIGlzIGV4YWN0
bHkgImZyIi48L3A+CgogIDxwcmU+bGlua1tocmVmbGFuZz1mcl08L3ByZT4KCiAgPHA+VGhlIGZv
bGxvd2luZyBzZWxlY3RvciByZXByZXNlbnRzIGEgPGNvZGU+bGluazwvY29kZT4gZWxlbWVudCBm
b3IKICB3aGljaCB0aGUgdmFsdWVzIG9mIHRoZSA8Y29kZT5ocmVmbGFuZzwvY29kZT4gYXR0cmli
dXRlIGJlZ2lucyB3aXRoCiAgImVuIiwgaW5jbHVkaW5nICJlbiIsICJlbi1VUyIsIGFuZCAiZW4t
Y29ja25leSI6PC9wPgoKICA8cHJlPmxpbmtbaHJlZmxhbmd8PSJlbiJdPC9wcmU+CgogIDxwPlNp
bWlsYXJseSwgdGhlIGZvbGxvd2luZyBzZWxlY3RvcnMgcmVwcmVzZW50cyBhCiAgPGNvZGU+RElB
TE9HVUU8L2NvZGU+IGVsZW1lbnQgd2hlbmV2ZXIgaXQgaGFzIG9uZSBvZiB0d28gZGlmZmVyZW50
CiAgdmFsdWVzIGZvciBhbiBhdHRyaWJ1dGUgPGNvZGU+Y2hhcmFjdGVyPC9jb2RlPjo8L3A+Cgog
IDxwcmU+RElBTE9HVUVbY2hhcmFjdGVyPXJvbWVvXQpESUFMT0dVRVtjaGFyYWN0ZXI9anVsaWV0
XTwvcHJlPgoKPC9kaXY+Cgo8aDQ+PGEgbmFtZT1hdHRyaWJ1dGUtc3Vic3RyaW5ncz48L2E+Ni4z
LjIuIFN1YnN0cmluZyBtYXRjaGluZyBhdHRyaWJ1dGUKc2VsZWN0b3JzPC9oND4KCjxwPlRocmVl
IGFkZGl0aW9uYWwgYXR0cmlidXRlIHNlbGVjdG9ycyBhcmUgcHJvdmlkZWQgZm9yIG1hdGNoaW5n
CnN1YnN0cmluZ3MgaW4gdGhlIHZhbHVlIG9mIGFuIGF0dHJpYnV0ZTo8L3A+Cgo8ZGw+CiAgPGR0
Pjxjb2RlPlthdHRePXZhbF08L2NvZGU+PC9kdD4KICA8ZGQ+UmVwcmVzZW50cyBhbiBlbGVtZW50
IHdpdGggdGhlIDxjb2RlPmF0dDwvY29kZT4gYXR0cmlidXRlIHdob3NlIHZhbHVlIGJlZ2lucwog
IHdpdGggdGhlIHByZWZpeCAidmFsIi48L2RkPgogIDxkdD48Y29kZT5bYXR0JD12YWxdPC9jb2Rl
PgogIDxkZD5SZXByZXNlbnRzIGFuIGVsZW1lbnQgd2l0aCB0aGUgPGNvZGU+YXR0PC9jb2RlPiBh
dHRyaWJ1dGUgd2hvc2UgdmFsdWUgZW5kcyB3aXRoCiAgdGhlIHN1ZmZpeCAidmFsIi48L2RkPgog
IDxkdD48Y29kZT5bYXR0Kj12YWxdPC9jb2RlPgogIDxkZD5SZXByZXNlbnRzIGFuIGVsZW1lbnQg
d2l0aCB0aGUgPGNvZGU+YXR0PC9jb2RlPiBhdHRyaWJ1dGUgd2hvc2UgdmFsdWUgY29udGFpbnMK
ICBhdCBsZWFzdCBvbmUgaW5zdGFuY2Ugb2YgdGhlIHN1YnN0cmluZyAidmFsIi48L2RkPgo8L2Rs
PgoKPHA+QXR0cmlidXRlIHZhbHVlcyBtdXN0IGJlIGlkZW50aWZpZXJzIG9yIHN0cmluZ3MuIFRo
ZQpjYXNlLXNlbnNpdGl2aXR5IG9mIGF0dHJpYnV0ZSBuYW1lcyBpbiBzZWxlY3RvcnMgZGVwZW5k
cyBvbiB0aGUKZG9jdW1lbnQgbGFuZ3VhZ2UuPC9wPgoKPGRpdiBjbGFzcz0iZXhhbXBsZSI+CiA8
cD5FeGFtcGxlczo8L3A+CiA8cD5UaGUgZm9sbG93aW5nIHNlbGVjdG9yIHJlcHJlc2VudHMgYW4g
SFRNTCA8Y29kZT5vYmplY3Q8L2NvZGU+LCByZWZlcmVuY2luZyBhbgogaW1hZ2U6PC9wPgogPHBy
ZT5vYmplY3RbdHlwZV49ImltYWdlLyJdPC9wcmU+CiA8cD5UaGUgZm9sbG93aW5nIHNlbGVjdG9y
IHJlcHJlc2VudHMgYW4gSFRNTCBhbmNob3IgPGNvZGU+YTwvY29kZT4gd2l0aCBhbgogPGNvZGU+
aHJlZjwvY29kZT4gYXR0cmlidXRlIHdob3NlIHZhbHVlIGVuZHMgd2l0aCAiLmh0bWwiLjwvcD4K
IDxwcmU+YVtocmVmJD0iLmh0bWwiXTwvcHJlPgogPHA+VGhlIGZvbGxvd2luZyBzZWxlY3RvciBy
ZXByZXNlbnRzIGFuIEhUTUwgcGFyYWdyYXBoIHdpdGggYSA8Y29kZT50aXRsZTwvY29kZT4KIGF0
dHJpYnV0ZSB3aG9zZSB2YWx1ZSBjb250YWlucyB0aGUgc3Vic3RyaW5nICJoZWxsbyI8L3A+CiA8
cHJlPnBbdGl0bGUqPSJoZWxsbyJdPC9wcmU+CjwvZGl2PgoKPGg0PjxhIG5hbWU9YXR0cm5tc3A+
Ni4zLjMuIEF0dHJpYnV0ZSBzZWxlY3RvcnMgYW5kIG5hbWVzcGFjZXM8L2E+PC9oND4KCjxwPkF0
dHJpYnV0ZSBzZWxlY3RvcnMgYWxsb3cgYW4gb3B0aW9uYWwgbmFtZXNwYWNlIGNvbXBvbmVudCB0
byB0aGUKYXR0cmlidXRlIG5hbWUuIEEgbmFtZXNwYWNlIHByZWZpeCB0aGF0IGhhcyBiZWVuIHBy
ZXZpb3VzbHkgZGVjbGFyZWQKbWF5IGJlIHByZXBlbmRlZCB0byB0aGUgYXR0cmlidXRlIG5hbWUg
c2VwYXJhdGVkIGJ5IHRoZSBuYW1lc3BhY2UKc2VwYXJhdG9yICZxdW90O3ZlcnRpY2FsIGJhciZx
dW90OyAoPGNvZGU+fDwvY29kZT4pLiBJbiBrZWVwaW5nIHdpdGgKdGhlIE5hbWVzcGFjZXMgaW4g
dGhlIFhNTCByZWNvbW1lbmRhdGlvbiwgZGVmYXVsdCBuYW1lc3BhY2VzIGRvIG5vdAphcHBseSB0
byBhdHRyaWJ1dGVzLCB0aGVyZWZvcmUgYXR0cmlidXRlIHNlbGVjdG9ycyB3aXRob3V0IGEgbmFt
ZXNwYWNlCmNvbXBvbmVudCBhcHBseSBvbmx5IHRvIGF0dHJpYnV0ZXMgdGhhdCBoYXZlIG5vIGRl
Y2xhcmVkIG5hbWVzcGFjZQooZXF1aXZhbGVudCB0byAiPGNvZGU+fGF0dHI8L2NvZGU+IikuIEFu
IGFzdGVyaXNrIG1heSBiZSB1c2VkIGZvciB0aGUKbmFtZXNwYWNlIHByZWZpeCBpbmRpY2F0aW5n
IHRoYXQgdGhlIHNlbGVjdG9yIGlzIHRvIG1hdGNoIGFsbAphdHRyaWJ1dGUgbmFtZXMgd2l0aG91
dCByZWdhcmQgdG8gdGhlIGF0dHJpYnV0ZSdzIG5hbWVzcGFjZS4KCjxwPkFuIGF0dHJpYnV0ZSBz
ZWxlY3RvciB3aXRoIGFuIGF0dHJpYnV0ZSBuYW1lIGNvbnRhaW5pbmcgYSBuYW1lc3BhY2UKcHJl
Zml4IHRoYXQgaGFzIG5vdCBiZWVuIHByZXZpb3VzbHkgZGVjbGFyZWQgaXMgYW4gPGEKaHJlZj0i
I0NvbmZvcm1hbmNlIj5pbnZhbGlkPC9hPiBzZWxlY3Rvci4gIFRoZSBtZWNoYW5pc20gZm9yIGRl
Y2xhcmluZwphIG5hbWVzcGFjZSBwcmVmaXggaXMgbGVmdCB1cCB0byB0aGUgbGFuZ3VhZ2UgaW1w
bGVtZW50aW5nIFNlbGVjdG9ycy4KSW4gQ1NTLCBzdWNoIGEgbWVjaGFuaXNtIGlzIGRlZmluZWQg
aW4gdGhlIEdlbmVyYWwgU3ludGF4IG1vZHVsZS4KCjxkaXYgY2xhc3M9ImV4YW1wbGUiPgogIDxw
PkNTUyBleGFtcGxlczo8L3A+CiAgPHByZT5AbmFtZXNwYWNlIGZvbyAiaHR0cDovL3d3dy5leGFt
cGxlLmNvbSI7Cltmb298YXR0PXZhbF0geyBjb2xvcjogYmx1ZSB9ClsqfGF0dF0geyBjb2xvcjog
eWVsbG93IH0KW3xhdHRdIHsgY29sb3I6IGdyZWVuIH0KW2F0dF0geyBjb2xvcjogZ3JlZW4gfTwv
cHJlPgoKICA8cD5UaGUgZmlyc3QgcnVsZSB3aWxsIG1hdGNoIG9ubHkgZWxlbWVudHMgd2l0aCB0
aGUgYXR0cmlidXRlCiAgPGNvZGU+YXR0PC9jb2RlPiBpbiB0aGUgImh0dHA6Ly93d3cuZXhhbXBs
ZS5jb20iIG5hbWVzcGFjZSB3aXRoIHRoZQogIHZhbHVlICJ2YWwiLjwvcD4KCiAgPHA+VGhlIHNl
Y29uZCBydWxlIHdpbGwgbWF0Y2ggb25seSBlbGVtZW50cyB3aXRoIHRoZSBhdHRyaWJ1dGUKICA8
Y29kZT5hdHQ8L2NvZGU+IHJlZ2FyZGxlc3Mgb2YgdGhlIG5hbWVzcGFjZSBvZiB0aGUgYXR0cmli
dXRlCiAgKGluY2x1ZGluZyBubyBkZWNsYXJlZCBuYW1lc3BhY2UpLjwvcD4KCiAgPHA+VGhlIGxh
c3QgdHdvIHJ1bGVzIGFyZSBlcXVpdmFsZW50IGFuZCB3aWxsIG1hdGNoIG9ubHkgZWxlbWVudHMK
ICB3aXRoIHRoZSBhdHRyaWJ1dGUgPGNvZGU+YXR0PC9jb2RlPiB3aGVyZSB0aGUgYXR0cmlidXRl
IGlzIG5vdAogIGRlY2xhcmVkIHRvIGJlIGluIGEgbmFtZXNwYWNlLjwvcD4KCjwvZGl2PgoKPGg0
PjxhIG5hbWU9ZGVmLXZhbHVlcz42LjMuNC4gRGVmYXVsdCBhdHRyaWJ1dGUgdmFsdWVzIGluIERU
RHM8L2E+PC9oND4KCjxwPkF0dHJpYnV0ZSBzZWxlY3RvcnMgcmVwcmVzZW50IGV4cGxpY2l0bHkg
c2V0IGF0dHJpYnV0ZSB2YWx1ZXMgaW4KdGhlIGRvY3VtZW50IHRyZWUuIERlZmF1bHQgYXR0cmli
dXRlIHZhbHVlcyBtYXkgYmUgZGVmaW5lZCBpbiBhIERURCBvcgplbHNld2hlcmUsIGJ1dCBjYW5u
b3QgYWx3YXlzIGJlIHNlbGVjdGVkIGJ5IGF0dHJpYnV0ZQpzZWxlY3RvcnMuIFNlbGVjdG9ycyBz
aG91bGQgYmUgZGVzaWduZWQgc28gdGhhdCB0aGV5IHdvcmsgZXZlbiBpZiB0aGUKZGVmYXVsdCB2
YWx1ZXMgYXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgZG9jdW1lbnQgdHJlZS48L3A+Cgo8cD5Nb3Jl
IHByZWNpc2VseSwgYSBVQSBpcyA8ZW0+bm90PC9lbT4gcmVxdWlyZWQgdG8gcmVhZCBhbiAiZXh0
ZXJuYWwKc3Vic2V0IiBvZiB0aGUgRFREIGJ1dCA8ZW0+aXM8L2VtPiByZXF1aXJlZCB0byBsb29r
IGZvciBkZWZhdWx0CmF0dHJpYnV0ZSB2YWx1ZXMgaW4gdGhlIGRvY3VtZW50J3MgImludGVybmFs
IHN1YnNldC4iIChTZWUgPGEKaHJlZj0iI3JlZnNYTUwxMCI+W1hNTDEwXTwvYT4gZm9yIGRlZmlu
aXRpb25zIG9mIHRoZXNlIHN1YnNldHMuKTwvcD4KCjxwPkEgVUEgdGhhdCByZWNvZ25pemVzIGFu
IFhNTCBuYW1lc3BhY2UgPGEKaHJlZj0iI3JlZnNYTUxOQU1FUyI+W1hNTE5BTUVTXTwvYT4gaXMg
bm90IHJlcXVpcmVkIHRvIHVzZSBpdHMKa25vd2xlZGdlIG9mIHRoYXQgbmFtZXNwYWNlIHRvIHRy
ZWF0IGRlZmF1bHQgYXR0cmlidXRlIHZhbHVlcyBhcyBpZgp0aGV5IHdlcmUgcHJlc2VudCBpbiB0
aGUgZG9jdW1lbnQuIChGb3IgZXhhbXBsZSwgYW4gWEhUTUwgVUEgaXMgbm90CnJlcXVpcmVkIHRv
IHVzZSBpdHMgYnVpbHQtaW4ga25vd2xlZGdlIG9mIHRoZSBYSFRNTCBEVEQuKTwvcD4KCjxwIGNs
YXNzPSJub3RlIj48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFR5cGljYWxseSwgaW1wbGVtZW50YXRp
b25zCmNob29zZSB0byBpZ25vcmUgZXh0ZXJuYWwgc3Vic2V0cy48L3A+Cgo8ZGl2IGNsYXNzPSJl
eGFtcGxlIj4KPHA+RXhhbXBsZTo8L3A+Cgo8cD5Db25zaWRlciBhbiBlbGVtZW50IEVYQU1QTEUg
d2l0aCBhbiBhdHRyaWJ1dGUgIm5vdGF0aW9uIiB0aGF0IGhhcyBhCmRlZmF1bHQgdmFsdWUgb2Yg
ImRlY2ltYWwiLiBUaGUgRFREIGZyYWdtZW50IG1pZ2h0IGJlPC9wPgoKPHByZSBjbGFzcz0iZHRk
LWV4YW1wbGUiPiZsdDshQVRUTElTVCBFWEFNUExFIG5vdGF0aW9uIChkZWNpbWFsLG9jdGFsKSAi
ZGVjaW1hbCI+PC9wcmU+Cgo8cD5JZiB0aGUgc3R5bGUgc2hlZXQgY29udGFpbnMgdGhlIHJ1bGVz
PC9wPgoKPHByZT5FWEFNUExFW25vdGF0aW9uPWRlY2ltYWxdIHsgLyouLi4gZGVmYXVsdCBwcm9w
ZXJ0eSBzZXR0aW5ncyAuLi4qLyB9CkVYQU1QTEVbbm90YXRpb249b2N0YWxdICAgeyAvKi4uLiBv
dGhlciBzZXR0aW5ncy4uLiovIH08L3ByZT4KCjxwPnRoZSBmaXJzdCBydWxlIHdpbGwgbm90IG1h
dGNoIGVsZW1lbnRzIHdob3NlICJub3RhdGlvbiIgYXR0cmlidXRlCmlzIHNldCBieSBkZWZhdWx0
LCBpLmUuIG5vdCBzZXQgZXhwbGljaXRseS4gVG8gY2F0Y2ggYWxsIGNhc2VzLCB0aGUKYXR0cmli
dXRlIHNlbGVjdG9yIGZvciB0aGUgZGVmYXVsdCB2YWx1ZSBtdXN0IGJlIGRyb3BwZWQ6PC9wPgoK
PHByZT5FWEFNUExFICAgICAgICAgICAgICAgICAgIHsgLyouLi4gZGVmYXVsdCBwcm9wZXJ0eSBz
ZXR0aW5ncyAuLi4qLyB9CkVYQU1QTEVbbm90YXRpb249b2N0YWxdICAgeyAvKi4uLiBvdGhlciBz
ZXR0aW5ncy4uLiovIH08L3ByZT4KCjxwPkhlcmUsIGJlY2F1c2UgdGhlIHNlbGVjdG9yIDxjb2Rl
PkVYQU1QTEVbbm90YXRpb249b2N0YWxdPC9jb2RlPiBpcwptb3JlIHNwZWNpZmljIHRoYW4gdGhl
IHRhZwpzZWxlY3RvciBhbG9uZSwgdGhlIHN0eWxlIGRlY2xhcmF0aW9ucyBpbiB0aGUgc2Vjb25k
IHJ1bGUgd2lsbCBvdmVycmlkZQp0aG9zZSBpbiB0aGUgZmlyc3QgZm9yIGVsZW1lbnRzIHRoYXQg
aGF2ZSBhICJub3RhdGlvbiIgYXR0cmlidXRlIHZhbHVlCm9mICJvY3RhbCIuIENhcmUgaGFzIHRv
IGJlIHRha2VuIHRoYXQgYWxsIHByb3BlcnR5IGRlY2xhcmF0aW9ucyB0aGF0CmFyZSB0byBhcHBs
eSBvbmx5IHRvIHRoZSBkZWZhdWx0IGNhc2UgYXJlIG92ZXJyaWRkZW4gaW4gdGhlIG5vbi1kZWZh
dWx0CmNhc2VzJyBzdHlsZSBydWxlcy48L3A+Cgo8L2Rpdj4KCjxoMz48YSBuYW1lPWNsYXNzLWh0
bWw+Ni40LiBDbGFzcyBzZWxlY3RvcnM8L2E+PC9oMz4KCjxwPldvcmtpbmcgd2l0aCBIVE1MLCBh
dXRob3JzIG1heSB1c2UgdGhlIHBlcmlvZCAoVSswMDJFLAo8Y29kZT4uPC9jb2RlPikgbm90YXRp
b24gYXMgYW4gYWx0ZXJuYXRpdmUgdG8gdGhlIDxjb2RlPn49PC9jb2RlPgpub3RhdGlvbiB3aGVu
IHJlcHJlc2VudGluZyB0aGUgPGNvZGU+Y2xhc3M8L2NvZGU+IGF0dHJpYnV0ZS4gVGh1cywgZm9y
CkhUTUwsIDxjb2RlPmRpdi52YWx1ZTwvY29kZT4gYW5kIDxjb2RlPmRpdltjbGFzc349dmFsdWVd
PC9jb2RlPiBoYXZlCnRoZSBzYW1lIG1lYW5pbmcuIFRoZSBhdHRyaWJ1dGUgdmFsdWUgbXVzdCBp
bW1lZGlhdGVseSBmb2xsb3cgdGhlCiZxdW90O3BlcmlvZCZxdW90OyAoPGNvZGU+LjwvY29kZT4p
LjwvcD4KCjxwPlVBcyBtYXkgYXBwbHkgc2VsZWN0b3JzIHVzaW5nIHRoZSBwZXJpb2QgKC4pIG5v
dGF0aW9uIGluIFhNTApkb2N1bWVudHMgaWYgdGhlIFVBIGhhcyBuYW1lc3BhY2Utc3BlY2lmaWMg
a25vd2xlZGdlIHRoYXQgYWxsb3dzIGl0IHRvCmRldGVybWluZSB3aGljaCBhdHRyaWJ1dGUgaXMg
dGhlICZxdW90O2NsYXNzJnF1b3Q7IGF0dHJpYnV0ZSBmb3IgdGhlCnJlc3BlY3RpdmUgbmFtZXNw
YWNlLiBPbmUgc3VjaCBleGFtcGxlIG9mIG5hbWVzcGFjZS1zcGVjaWZpYyBrbm93bGVkZ2UKaXMg
dGhlIHByb3NlIGluIHRoZSBzcGVjaWZpY2F0aW9uIGZvciBhIHBhcnRpY3VsYXIgbmFtZXNwYWNl
IChlLmcuIFNWRwoxLjAgPGEgaHJlZj0iI3JlZnNTVkciPltTVkddPC9hPiBkZXNjcmliZXMgdGhl
IDxhCmhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUFItU1ZHLTIwMDEwNzE5L3N0eWxp
bmcuaHRtbCNDbGFzc0F0dHJpYnV0ZSI+U1ZHCiZxdW90O2NsYXNzJnF1b3Q7IGF0dHJpYnV0ZTwv
YT4gYW5kIGhvdyBhIFVBIHNob3VsZCBpbnRlcnByZXQgaXQsIGFuZApzaW1pbGFybHkgTWF0aE1M
IDEuMDEgPGEgaHJlZj0iI3JlZnNNQVRIIj5bTUFUSF08L2E+IGRlc2NyaWJlcyB0aGUgPGEKaHJl
Zj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wNy9SRUMtTWF0aE1MLTE5OTkwNzA3L2NoYXB0ZXIy
Lmh0bWwjc2VjMi4zLjQiPk1hdGhNTAomcXVvdDtjbGFzcyZxdW90OyBhdHRyaWJ1dGU8L2E+Lik8
L3A+Cgo8ZGl2IGNsYXNzPSJleGFtcGxlIj4KIDxwPkNTUyBleGFtcGxlczo8L3A+CgogPHA+V2Ug
Y2FuIGFzc2lnbiBzdHlsZSBpbmZvcm1hdGlvbiB0byBhbGwgZWxlbWVudHMgd2l0aAogPGNvZGU+
Y2xhc3N+PSJwYXN0b3JhbCI8L2NvZGU+IGFzIGZvbGxvd3M6PC9wPgoKICA8cHJlPioucGFzdG9y
YWwgeyBjb2xvcjogZ3JlZW4gfSAgLyogYWxsIGVsZW1lbnRzIHdpdGggY2xhc3N+PXBhc3RvcmFs
ICovPC9wcmU+CgogIDxwPm9yIGp1c3Q8L3A+CgogIDxwcmU+LnBhc3RvcmFsIHsgY29sb3I6IGdy
ZWVuIH0gIC8qIGFsbCBlbGVtZW50cyB3aXRoIGNsYXNzfj1wYXN0b3JhbCAqLzwvcHJlPgoKICA8
cD5UaGUgZm9sbG93aW5nIGFzc2lnbnMgc3R5bGUgb25seSB0byBIMSBlbGVtZW50cyB3aXRoCiAg
PGNvZGU+Y2xhc3N+PSJwYXN0b3JhbCI8L2NvZGU+OjwvcD4KCiAgPHByZT5IMS5wYXN0b3JhbCB7
IGNvbG9yOiBncmVlbiB9ICAvKiBIMSBlbGVtZW50cyB3aXRoIGNsYXNzfj1wYXN0b3JhbCAqLzwv
cHJlPgoKICA8cD5HaXZlbiB0aGVzZSBydWxlcywgdGhlIGZpcnN0IEgxIGluc3RhbmNlIGJlbG93
IHdvdWxkIG5vdCBoYXZlCiAgZ3JlZW4gdGV4dCwgd2hpbGUgdGhlIHNlY29uZCB3b3VsZDo8L3A+
CgogIDxwcmU+Jmx0O0gxJmd0O05vdCBncmVlbiZsdDsvSDEmZ3Q7CiZsdDtIMSBjbGFzcz0icGFz
dG9yYWwiJmd0O1ZlcnkgZ3JlZW4mbHQ7L0gxJmd0OzwvcHJlPgoKPC9kaXY+Cgo8cD5UbyByZXBy
ZXNlbnQgYSBzdWJzZXQgb2YgImNsYXNzIiB2YWx1ZXMsIGVhY2ggdmFsdWUgbXVzdCBiZSBwcmVj
ZWRlZApieSBhICIuIiwgaW4gYW55IG9yZGVyLjwvUD4KCjxkaXYgY2xhc3M9ImV4YW1wbGUiPgoK
ICA8cD5DU1MgZXhhbXBsZTo8L3A+CgogIDxwPlRoZSBmb2xsb3dpbmcgcnVsZSBtYXRjaGVzIGFu
eSBQIGVsZW1lbnQgd2hvc2UgImNsYXNzIiBhdHRyaWJ1dGUKICBoYXMgYmVlbiBhc3NpZ25lZCBh
IGxpc3Qgb2YgPGEKICBocmVmPSIjd2hpdGVzcGFjZSI+d2hpdGVzcGFjZTwvYT4tc2VwYXJhdGVk
IHZhbHVlcyB0aGF0IGluY2x1ZGVzCiAgInBhc3RvcmFsIiBhbmQgIm1hcmluZSI6PC9wPgoKICA8
cHJlPnAucGFzdG9yYWwubWFyaW5lIHsgY29sb3I6IGdyZWVuIH08L3ByZT4KCiAgPHA+VGhpcyBy
dWxlIG1hdGNoZXMgd2hlbiA8Y29kZT5jbGFzcz0icGFzdG9yYWwgYmx1ZSBhcXVhCiAgbWFyaW5l
IjwvY29kZT4gYnV0IGRvZXMgbm90IG1hdGNoIGZvciA8Y29kZT5jbGFzcz0icGFzdG9yYWwKICBi
bHVlIjwvY29kZT4uPC9wPgoKPC9kaXY+Cgo8cCBjbGFzcz0ibm90ZSI+PHN0cm9uZz5Ob3RlOjwv
c3Ryb25nPiBCZWNhdXNlIENTUyBnaXZlcyBjb25zaWRlcmFibGUKcG93ZXIgdG8gdGhlICJjbGFz
cyIgYXR0cmlidXRlLCBhdXRob3JzIGNvdWxkIGNvbmNlaXZhYmx5IGRlc2lnbiB0aGVpcgpvd24g
ImRvY3VtZW50IGxhbmd1YWdlIiBiYXNlZCBvbiBlbGVtZW50cyB3aXRoIGFsbW9zdCBubyBhc3Nv
Y2lhdGVkCnByZXNlbnRhdGlvbiAoc3VjaCBhcyBESVYgYW5kIFNQQU4gaW4gSFRNTCkgYW5kIGFz
c2lnbmluZyBzdHlsZQppbmZvcm1hdGlvbiB0aHJvdWdoIHRoZSAiY2xhc3MiIGF0dHJpYnV0ZS4g
IEF1dGhvcnMgc2hvdWxkIGF2b2lkIHRoaXMKcHJhY3RpY2Ugc2luY2UgdGhlIHN0cnVjdHVyYWwg
ZWxlbWVudHMgb2YgYSBkb2N1bWVudCBsYW5ndWFnZSBvZnRlbgpoYXZlIHJlY29nbml6ZWQgYW5k
IGFjY2VwdGVkIG1lYW5pbmdzIGFuZCBhdXRob3ItZGVmaW5lZCBjbGFzc2VzIG1heQpub3QuPC9w
PgoKPHAgY2xhc3M9Im5vdGUiPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gSWYgYW4gZWxlbWVudCBo
YXMgbXVsdGlwbGUKY2xhc3MgYXR0cmlidXRlcywgdGhlaXIgdmFsdWVzIG11c3QgYmUgY29uY2F0
ZW5hdGVkIHdpdGggc3BhY2VzCmJldHdlZW4gdGhlIHZhbHVlcyBiZWZvcmUgc2VhcmNoaW5nIGZv
ciB0aGUgY2xhc3MuIEFzIG9mIHRoaXMgdGltZSB0aGUKd29ya2luZyBncm91cCBpcyBub3QgYXdh
cmUgb2YgYW55IG1hbm5lciBpbiB3aGljaCB0aGlzIHNpdHVhdGlvbiBjYW4KYmUgcmVhY2hlZCwg
aG93ZXZlciwgc28gdGhpcyBiZWhhdmlvciBpcyBleHBsaWNpdGx5IG5vbi1ub3JtYXRpdmUgaW4K
dGhpcyBzcGVjaWZpY2F0aW9uLjwvcD4KCjxoMz48YSBuYW1lPWlkLXNlbGVjdG9ycz42LjUuIElE
IHNlbGVjdG9yczwvYT48L2gzPgoKPHA+RG9jdW1lbnQgbGFuZ3VhZ2VzIG1heSBjb250YWluIGF0
dHJpYnV0ZXMgdGhhdCBhcmUgZGVjbGFyZWQgdG8gYmUKb2YgdHlwZSBJRC4gV2hhdCBtYWtlcyBh
dHRyaWJ1dGVzIG9mIHR5cGUgSUQgc3BlY2lhbCBpcyB0aGF0IG5vIHR3bwpzdWNoIGF0dHJpYnV0
ZXMgY2FuIGhhdmUgdGhlIHNhbWUgdmFsdWUgaW4gYSBkb2N1bWVudCwgcmVnYXJkbGVzcyBvZgp0
aGUgdHlwZSBvZiB0aGUgZWxlbWVudHMgdGhhdCBjYXJyeSB0aGVtOyB3aGF0ZXZlciB0aGUgZG9j
dW1lbnQKbGFuZ3VhZ2UsIGFuIElEIHR5cGVkIGF0dHJpYnV0ZSBjYW4gYmUgdXNlZCB0byB1bmlx
dWVseSBpZGVudGlmeSBpdHMKZWxlbWVudC4gSW4gSFRNTCBhbGwgSUQgYXR0cmlidXRlcyBhcmUg
bmFtZWQgImlkIjsgWE1MIGFwcGxpY2F0aW9ucwptYXkgbmFtZSBJRCBhdHRyaWJ1dGVzIGRpZmZl
cmVudGx5LCBidXQgdGhlIHNhbWUgcmVzdHJpY3Rpb24KYXBwbGllcy48L3A+Cgo8cD5BbiBJRC10
eXBlZCBhdHRyaWJ1dGUgb2YgYSBkb2N1bWVudCBsYW5ndWFnZSBhbGxvd3MgYXV0aG9ycyB0bwph
c3NpZ24gYW4gaWRlbnRpZmllciB0byBvbmUgZWxlbWVudCBpbnN0YW5jZSBpbiB0aGUgZG9jdW1l
bnQgdHJlZS4gVzNDCklEIHNlbGVjdG9ycyByZXByZXNlbnQgYW4gZWxlbWVudCBpbnN0YW5jZSBi
YXNlZCBvbiBpdHMgaWRlbnRpZmllci4gQW4KSUQgc2VsZWN0b3IgY29udGFpbnMgYSAmcXVvdDtu
dW1iZXIgc2lnbiZxdW90OyAoVSswMDIzLAo8Y29kZT4jPC9jb2RlPikgaW1tZWRpYXRlbHkgZm9s
bG93ZWQgYnkgdGhlIElEIHZhbHVlLCB3aGljaCBtdXN0IGJlIGFuCmlkZW50aWZpZXIuPC9wPgoK
PHA+U2VsZWN0b3JzIGRvZXMgbm90IHNwZWNpZnkgaG93IGEgVUEga25vd3MgdGhlIElELXR5cGVk
IGF0dHJpYnV0ZSBvZgphbiBlbGVtZW50LiBUaGUgVUEgbWF5LCBlLmcuLCByZWFkIGEgZG9jdW1l
bnQncyBEVEQsIGhhdmUgdGhlCmluZm9ybWF0aW9uIGhhcmQtY29kZWQgb3IgYXNrIHRoZSB1c2Vy
LgoKPGRpdiBjbGFzcz0iZXhhbXBsZSI+CiAgPHA+RXhhbXBsZXM6PC9wPgogIDxwPlRoZSBmb2xs
b3dpbmcgSUQgc2VsZWN0b3IgcmVwcmVzZW50cyBhbiA8Y29kZT5oMTwvY29kZT4gZWxlbWVudAog
IHdob3NlIElELXR5cGVkIGF0dHJpYnV0ZSBoYXMgdGhlIHZhbHVlICJjaGFwdGVyMSI6PC9wPgog
IDxwcmU+aDEjY2hhcHRlcjE8L3ByZT4KICA8cD5UaGUgZm9sbG93aW5nIElEIHNlbGVjdG9yIHJl
cHJlc2VudHMgYW55IGVsZW1lbnQgd2hvc2UgSUQtdHlwZWQKICBhdHRyaWJ1dGUgaGFzIHRoZSB2
YWx1ZSAiY2hhcHRlcjEiOjwvcD4KICA8cHJlPiNjaGFwdGVyMTwvcHJlPgogIDxwPlRoZSBmb2xs
b3dpbmcgc2VsZWN0b3IgcmVwcmVzZW50cyBhbnkgZWxlbWVudCB3aG9zZSBJRC10eXBlZAogIGF0
dHJpYnV0ZSBoYXMgdGhlIHZhbHVlICJ6OTh5Ii48L3A+CiAgPHByZT4qI3o5OHk8L3ByZT4KPC9k
aXY+Cgo8cCBjbGFzcz0ibm90ZSI+PHN0cm9uZz5Ob3RlLjwvc3Ryb25nPiBJbiBYTUwgMS4wIDxh
CmhyZWY9IiNyZWZzWE1MMTAiPltYTUwxMF08L2E+LCB0aGUgaW5mb3JtYXRpb24gYWJvdXQgd2hp
Y2ggYXR0cmlidXRlCmNvbnRhaW5zIGFuIGVsZW1lbnQncyBJRHMgaXMgY29udGFpbmVkIGluIGEg
RFREIG9yIGEgc2NoZW1hLiBXaGVuCnBhcnNpbmcgWE1MLCBVQXMgZG8gbm90IGFsd2F5cyByZWFk
IHRoZSBEVEQsIGFuZCB0aHVzIG1heSBub3Qga25vdwp3aGF0IHRoZSBJRCBvZiBhbiBlbGVtZW50
IGlzICh0aG91Z2ggYSBVQSBtYXkgaGF2ZSBuYW1lc3BhY2Utc3BlY2lmaWMKa25vd2xlZGdlIHRo
YXQgYWxsb3dzIGl0IHRvIGRldGVybWluZSB3aGljaCBhdHRyaWJ1dGUgaXMgdGhlIElECmF0dHJp
YnV0ZSBmb3IgdGhhdCBuYW1lc3BhY2UpLiBJZiBhIHN0eWxlIHNoZWV0IGRlc2lnbmVyIGtub3dz
IG9yCnN1c3BlY3RzIHRoYXQgYSBVQSBtYXkgbm90IGtub3cgd2hhdCB0aGUgSUQgb2YgYW4gZWxl
bWVudCBpcywgaGUKc2hvdWxkIHVzZSBub3JtYWwgYXR0cmlidXRlIHNlbGVjdG9ycyBpbnN0ZWFk
Ogo8Y29kZT5bbmFtZT1wMzcxXTwvY29kZT4gaW5zdGVhZCBvZiA8Y29kZT4jcDM3MTwvY29kZT4u
ICBFbGVtZW50cyBpbgpYTUwgMS4wIGRvY3VtZW50cyB3aXRob3V0IGEgRFREIGRvIG5vdCBoYXZl
IElEcyBhdCBhbGwuPC9wPgoKPHA+SWYgYW4gZWxlbWVudCBoYXMgbXVsdGlwbGUgSUQgYXR0cmli
dXRlcywgYWxsIG9mIHRoZW0gbXVzdCBiZQp0cmVhdGVkIGFzIElEcyBmb3IgdGhhdCBlbGVtZW50
IGZvciB0aGUgcHVycG9zZXMgb2YgdGhlIElECnNlbGVjdG9yLiBTdWNoIGEgc2l0dWF0aW9uIGNv
dWxkIGJlIHJlYWNoZWQgdXNpbmcgbWl4dHVyZXMgb2YgeG1sOmlkLApET00zIENvcmUsIFhNTCBE
VERzLCBhbmQgbmFtZXNwYWNlLXNwZWNpZmljIGtub3dsZWRnZS48L3A+Cgo8aDM+PGEgbmFtZT1w
c2V1ZG8tY2xhc3Nlcz42LjYuIFBzZXVkby1jbGFzc2VzPC9hPjwvaDM+Cgo8cD5UaGUgcHNldWRv
LWNsYXNzIGNvbmNlcHQgaXMgaW50cm9kdWNlZCB0byBwZXJtaXQgc2VsZWN0aW9uIGJhc2VkIG9u
CmluZm9ybWF0aW9uIHRoYXQgbGllcyBvdXRzaWRlIG9mIHRoZSBkb2N1bWVudCB0cmVlIG9yIHRo
YXQgY2Fubm90IGJlCmV4cHJlc3NlZCB1c2luZyB0aGUgb3RoZXIgc2ltcGxlIHNlbGVjdG9ycy48
L3A+Cgo8cD5BIHBzZXVkby1jbGFzcyBhbHdheXMgY29uc2lzdHMgb2YgYSAmcXVvdDtjb2xvbiZx
dW90OwooPGNvZGU+OjwvY29kZT4pIGZvbGxvd2VkIGJ5IHRoZSBuYW1lIG9mIHRoZSBwc2V1ZG8t
Y2xhc3MgYW5kCm9wdGlvbmFsbHkgYnkgYSB2YWx1ZSBiZXR3ZWVuIHBhcmVudGhlc2VzLjwvcD4K
CjxwPlBzZXVkby1jbGFzc2VzIGFyZSBhbGxvd2VkIGluIGFsbCBzZXF1ZW5jZXMgb2Ygc2ltcGxl
IHNlbGVjdG9ycwpjb250YWluZWQgaW4gYSBzZWxlY3Rvci4gUHNldWRvLWNsYXNzZXMgYXJlIGFs
bG93ZWQgYW55d2hlcmUgaW4Kc2VxdWVuY2VzIG9mIHNpbXBsZSBzZWxlY3RvcnMsIGFmdGVyIHRo
ZSBsZWFkaW5nIHR5cGUgc2VsZWN0b3Igb3IKdW5pdmVyc2FsIHNlbGVjdG9yIChwb3NzaWJseSBv
bWl0dGVkKS4gUHNldWRvLWNsYXNzIG5hbWVzIGFyZQpjYXNlLWluc2Vuc2l0aXZlLiBTb21lIHBz
ZXVkby1jbGFzc2VzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIHdoaWxlCm90aGVycyBjYW4gYmUg
YXBwbGllZCBzaW11bHRhbmVvdXNseSB0byB0aGUgc2FtZQplbGVtZW50LiBQc2V1ZG8tY2xhc3Nl
cyBtYXkgYmUgZHluYW1pYywgaW4gdGhlIHNlbnNlIHRoYXQgYW4gZWxlbWVudAptYXkgYWNxdWly
ZSBvciBsb3NlIGEgcHNldWRvLWNsYXNzIHdoaWxlIGEgdXNlciBpbnRlcmFjdHMgd2l0aCB0aGUK
ZG9jdW1lbnQuPC9wPgoKCjxoND48YSBuYW1lPWR5bmFtaWMtcHNldWRvcz42LjYuMS4gRHluYW1p
YyBwc2V1ZG8tY2xhc3NlczwvYT48L2g0PgoKPHA+RHluYW1pYyBwc2V1ZG8tY2xhc3NlcyBjbGFz
c2lmeSBlbGVtZW50cyBvbiBjaGFyYWN0ZXJpc3RpY3Mgb3RoZXIKdGhhbiB0aGVpciBuYW1lLCBh
dHRyaWJ1dGVzLCBvciBjb250ZW50LCBpbiBwcmluY2lwbGUgY2hhcmFjdGVyaXN0aWNzCnRoYXQg
Y2Fubm90IGJlIGRlZHVjZWQgZnJvbSB0aGUgZG9jdW1lbnQgdHJlZS48L3A+Cgo8cD5EeW5hbWlj
IHBzZXVkby1jbGFzc2VzIGRvIG5vdCBhcHBlYXIgaW4gdGhlIGRvY3VtZW50IHNvdXJjZSBvcgpk
b2N1bWVudCB0cmVlLjwvcD4KCgo8aDU+VGhlIDxhIG5hbWU9bGluaz5saW5rIHBzZXVkby1jbGFz
c2VzOiA6bGluayBhbmQgOnZpc2l0ZWQ8L2E+PC9oNT4KCjxwPlVzZXIgYWdlbnRzIGNvbW1vbmx5
IGRpc3BsYXkgdW52aXNpdGVkIGxpbmtzIGRpZmZlcmVudGx5IGZyb20KcHJldmlvdXNseSB2aXNp
dGVkIG9uZXMuIFNlbGVjdG9ycwpwcm92aWRlcyB0aGUgcHNldWRvLWNsYXNzZXMgPGNvZGU+Omxp
bms8L2NvZGU+IGFuZAo8Y29kZT46dmlzaXRlZDwvY29kZT4gdG8gZGlzdGluZ3Vpc2ggdGhlbTo8
L3A+Cgo8dWw+CiAgPGxpPlRoZSA8Y29kZT46bGluazwvY29kZT4gcHNldWRvLWNsYXNzIGFwcGxp
ZXMgdG8gbGlua3MgdGhhdCBoYXZlCiAgbm90IHlldCBiZWVuIHZpc2l0ZWQuPC9saT4KICA8bGk+
VGhlIDxjb2RlPjp2aXNpdGVkPC9jb2RlPiBwc2V1ZG8tY2xhc3MgYXBwbGllcyBvbmNlIHRoZSBs
aW5rIGhhcwogIGJlZW4gdmlzaXRlZCBieSB0aGUgdXNlci4gPC9saT4KPC91bD4KCjxwPkFmdGVy
IHNvbWUgYW1vdW50IG9mIHRpbWUsIHVzZXIgYWdlbnRzIG1heSBjaG9vc2UgdG8gcmV0dXJuIGEK
dmlzaXRlZCBsaW5rIHRvIHRoZSAodW52aXNpdGVkKSAnOmxpbmsnIHN0YXRlLjwvcD4KCjxwPlRo
ZSB0d28gc3RhdGVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuPC9wPgoKPGRpdiBjbGFzcz0iZXhh
bXBsZSI+CgogIDxwPkV4YW1wbGU6PC9wPgoKICA8cD5UaGUgZm9sbG93aW5nIHNlbGVjdG9yIHJl
cHJlc2VudHMgbGlua3MgY2FycnlpbmcgY2xhc3MKICA8Y29kZT5leHRlcm5hbDwvY29kZT4gYW5k
IGFscmVhZHkgdmlzaXRlZDo8L3A+CgogIDxwcmU+YS5leHRlcm5hbDp2aXNpdGVkPC9wcmU+Cgo8
L2Rpdj4KCjxwIGNsYXNzPSJub3RlIj48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IEl0IGlzIHBvc3Np
YmxlIGZvciBzdHlsZSBzaGVldAphdXRob3JzIHRvIGFidXNlIHRoZSA6bGluayBhbmQgOnZpc2l0
ZWQgcHNldWRvLWNsYXNzZXMgdG8gZGV0ZXJtaW5lCndoaWNoIHNpdGVzIGEgdXNlciBoYXMgdmlz
aXRlZCB3aXRob3V0IHRoZSB1c2VyJ3MgY29uc2VudC4KCjxwPlVBcyBtYXkgdGhlcmVmb3JlIHRy
ZWF0IGFsbCBsaW5rcyBhcyB1bnZpc2l0ZWQgbGlua3MsIG9yIGltcGxlbWVudApvdGhlciBtZWFz
dXJlcyB0byBwcmVzZXJ2ZSB0aGUgdXNlcidzIHByaXZhY3kgd2hpbGUgcmVuZGVyaW5nIHZpc2l0
ZWQKYW5kIHVudmlzaXRlZCBsaW5rcyBkaWZmZXJlbnRseS48L3A+Cgo8aDU+VGhlIDxhIG5hbWU9
dXNlcmFjdGlvbi1wc2V1ZG9zPnVzZXIgYWN0aW9uIHBzZXVkby1jbGFzc2VzCjpob3ZlciwgOmFj
dGl2ZSwgYW5kIDpmb2N1czwvYT48L2g1PgoKPHA+SW50ZXJhY3RpdmUgdXNlciBhZ2VudHMgc29t
ZXRpbWVzIGNoYW5nZSB0aGUgcmVuZGVyaW5nIGluIHJlc3BvbnNlCnRvIHVzZXIgYWN0aW9ucy4g
U2VsZWN0b3JzIHByb3ZpZGVzCnRocmVlIHBzZXVkby1jbGFzc2VzIGZvciB0aGUgc2VsZWN0aW9u
IG9mIGFuIGVsZW1lbnQgdGhlIHVzZXIgaXMKYWN0aW5nIG9uLjwvcD4KCjx1bD4KCiAgPGxpPlRo
ZSA8Y29kZT46aG92ZXI8L2NvZGU+IHBzZXVkby1jbGFzcyBhcHBsaWVzIHdoaWxlIHRoZSB1c2Vy
CiAgZGVzaWduYXRlcyBhbiBlbGVtZW50IHdpdGggYSBwb2ludGluZyBkZXZpY2UsIGJ1dCBkb2Vz
IG5vdCBhY3RpdmF0ZQogIGl0LiBGb3IgZXhhbXBsZSwgYSB2aXN1YWwgdXNlciBhZ2VudCBjb3Vs
ZCBhcHBseSB0aGlzIHBzZXVkby1jbGFzcwogIHdoZW4gdGhlIGN1cnNvciAobW91c2UgcG9pbnRl
cikgaG92ZXJzIG92ZXIgYSBib3ggZ2VuZXJhdGVkIGJ5IHRoZQogIGVsZW1lbnQuIFVzZXIgYWdl
bnRzIG5vdCB0aGF0IGRvIG5vdCBzdXBwb3J0IDxhCiAgaHJlZj0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLUNTUzIvbWVkaWEuaHRtbCNpbnRlcmFjdGl2ZS1tZWRpYS1ncm91cCI+aW50ZXJhY3Rp
dmUKICBtZWRpYTwvYT4gZG8gbm90IGhhdmUgdG8gc3VwcG9ydCB0aGlzIHBzZXVkby1jbGFzcy4g
U29tZSBjb25mb3JtaW5nCiAgdXNlciBhZ2VudHMgdGhhdCBzdXBwb3J0IDxhCiAgaHJlZj0iaHR0
cDovL3d3dy53My5vcmcvVFIvUkVDLUNTUzIvbWVkaWEuaHRtbCNpbnRlcmFjdGl2ZS1tZWRpYS1n
cm91cCI+aW50ZXJhY3RpdmUKICBtZWRpYTwvYT4gbWF5IG5vdCBiZSBhYmxlIHRvIHN1cHBvcnQg
dGhpcyBwc2V1ZG8tY2xhc3MgKGUuZy4sIGEgcGVuCiAgZGV2aWNlIHRoYXQgZG9lcyBub3QgZGV0
ZWN0IGhvdmVyaW5nKS48L2xpPgoKICA8bGk+VGhlIDxjb2RlPjphY3RpdmU8L2NvZGU+IHBzZXVk
by1jbGFzcyBhcHBsaWVzIHdoaWxlIGFuIGVsZW1lbnQKICBpcyBiZWluZyBhY3RpdmF0ZWQgYnkg
dGhlIHVzZXIuIEZvciBleGFtcGxlLCBiZXR3ZWVuIHRoZSB0aW1lcyB0aGUKICB1c2VyIHByZXNz
ZXMgdGhlIG1vdXNlIGJ1dHRvbiBhbmQgcmVsZWFzZXMgaXQuPC9saT4KCiAgPGxpPlRoZSA8Y29k
ZT46Zm9jdXM8L2NvZGU+IHBzZXVkby1jbGFzcyBhcHBsaWVzIHdoaWxlIGFuIGVsZW1lbnQKICBo
YXMgdGhlIGZvY3VzIChhY2NlcHRzIGtleWJvYXJkIG9yIG1vdXNlIGV2ZW50cywgb3Igb3RoZXIg
Zm9ybXMgb2YKICBpbnB1dCkuIDwvbGk+Cgo8L3VsPgoKPHA+VGhlcmUgbWF5IGJlIGRvY3VtZW50
IGxhbmd1YWdlIG9yIGltcGxlbWVudGF0aW9uIHNwZWNpZmljIGxpbWl0cyBvbgp3aGljaCBlbGVt
ZW50cyBjYW4gYmVjb21lIDxjb2RlPjphY3RpdmU8L2NvZGU+IG9yIGFjcXVpcmUKPGNvZGU+OmZv
Y3VzPC9jb2RlPi48L3A+Cgo8cD5UaGVzZSBwc2V1ZG8tY2xhc3NlcyBhcmUgbm90IG11dHVhbGx5
IGV4Y2x1c2l2ZS4gQW4gZWxlbWVudCBtYXkKbWF0Y2ggc2V2ZXJhbCBwc2V1ZG8tY2xhc3NlcyBh
dCB0aGUgc2FtZSB0aW1lLjwvcD4KCjxwPlNlbGVjdG9ycyBkb2Vzbid0IGRlZmluZSBpZiB0aGUg
cGFyZW50IG9mIGFuIGVsZW1lbnQgdGhhdCBpcwonOmFjdGl2ZScgb3IgJzpob3ZlcicgaXMgYWxz
byBpbiB0aGF0IHN0YXRlLjwvcD4KCjxkaXYgY2xhc3M9ImV4YW1wbGUiPgogIDxwPkV4YW1wbGVz
OjwvcD4KICA8cHJlPmE6bGluayAgICAvKiB1bnZpc2l0ZWQgbGlua3MgKi8KYTp2aXNpdGVkIC8q
IHZpc2l0ZWQgbGlua3MgKi8KYTpob3ZlciAgIC8qIHVzZXIgaG92ZXJzICovCmE6YWN0aXZlICAv
KiBhY3RpdmUgbGlua3MgKi88L3ByZT4KICA8cD5BbiBleGFtcGxlIG9mIGNvbWJpbmluZyBkeW5h
bWljIHBzZXVkby1jbGFzc2VzOjwvcD4KICA8cHJlPmE6Zm9jdXMKYTpmb2N1czpob3ZlcjwvcHJl
PgogIDxwPlRoZSBsYXN0IHNlbGVjdG9yIG1hdGNoZXMgPGNvZGU+YTwvY29kZT4gZWxlbWVudHMg
dGhhdCBhcmUgaW4KICB0aGUgcHNldWRvLWNsYXNzIDpmb2N1cyBhbmQgaW4gdGhlIHBzZXVkby1j
bGFzcyA6aG92ZXIuPC9wPgo8L2Rpdj4KCjxwIGNsYXNzPSJub3RlIj48c3Ryb25nPk5vdGU6PC9z
dHJvbmc+IEFuIGVsZW1lbnQgY2FuIGJlIGJvdGggJzp2aXNpdGVkJwphbmQgJzphY3RpdmUnIChv
ciAnOmxpbmsnIGFuZCAnOmFjdGl2ZScpLjwvcD4KCjxoND48YSBuYW1lPXRhcmdldC1wc2V1ZG8+
Ni42LjIuIFRoZSB0YXJnZXQgcHNldWRvLWNsYXNzIDp0YXJnZXQ8L2E+PC9oND4KCjxwPlNvbWUg
VVJJcyByZWZlciB0byBhIGxvY2F0aW9uIHdpdGhpbiBhIHJlc291cmNlLiBUaGlzIGtpbmQgb2Yg
VVJJCmVuZHMgd2l0aCBhICZxdW90O251bWJlciBzaWduJnF1b3Q7ICgjKSBmb2xsb3dlZCBieSBh
biBhbmNob3IKaWRlbnRpZmllciAoY2FsbGVkIHRoZSBmcmFnbWVudCBpZGVudGlmaWVyKS48L3A+
Cgo8cD5VUklzIHdpdGggZnJhZ21lbnQgaWRlbnRpZmllcnMgbGluayB0byBhIGNlcnRhaW4gZWxl
bWVudCB3aXRoaW4gdGhlCmRvY3VtZW50LCBrbm93biBhcyB0aGUgdGFyZ2V0IGVsZW1lbnQuIEZv
ciBpbnN0YW5jZSwgaGVyZSBpcyBhIFVSSQpwb2ludGluZyB0byBhbiBhbmNob3IgbmFtZWQgPGNv
ZGU+c2VjdGlvbl8yPC9jb2RlPiBpbiBhbiBIVE1MCmRvY3VtZW50OjwvcD4KCjxwcmU+aHR0cDov
L2V4YW1wbGUuY29tL2h0bWwvdG9wLmh0bWwjc2VjdGlvbl8yPC9wcmU+Cgo8cD5BIHRhcmdldCBl
bGVtZW50IGNhbiBiZSByZXByZXNlbnRlZCBieSB0aGUgPGNvZGU+OnRhcmdldDwvY29kZT4KcHNl
dWRvLWNsYXNzLiBJZiB0aGUgZG9jdW1lbnQncyBVUkkgaGFzIG5vIGZyYWdtZW50IGlkZW50aWZp
ZXIsIHRoZW4KdGhlIGRvY3VtZW50IGhhcyBubyB0YXJnZXQgZWxlbWVudC48L3A+Cgo8ZGl2IGNs
YXNzPSJleGFtcGxlIj4KIDxwPkV4YW1wbGU6PC9wPgogPHByZT5wLm5vdGU6dGFyZ2V0PC9wcmU+
CiA8cD5UaGlzIHNlbGVjdG9yIHJlcHJlc2VudHMgYSA8Y29kZT5wPC9jb2RlPiBlbGVtZW50IG9m
IGNsYXNzCiA8Y29kZT5ub3RlPC9jb2RlPiB0aGF0IGlzIHRoZSB0YXJnZXQgZWxlbWVudCBvZiB0
aGUgcmVmZXJyaW5nCiBVUkkuPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9ImV4YW1wbGUiPgogPHA+
Q1NTIGV4YW1wbGU6PC9wPgogPHA+SGVyZSwgdGhlIDxjb2RlPjp0YXJnZXQ8L2NvZGU+IHBzZXVk
by1jbGFzcyBpcyB1c2VkIHRvIG1ha2UgdGhlCiB0YXJnZXQgZWxlbWVudCByZWQgYW5kIHBsYWNl
IGFuIGltYWdlIGJlZm9yZSBpdCwgaWYgdGhlcmUgaXMgb25lOjwvcD4KIDxwcmU+Kjp0YXJnZXQg
eyBjb2xvciA6IHJlZCB9Cio6dGFyZ2V0OjpiZWZvcmUgeyBjb250ZW50IDogdXJsKHRhcmdldC5w
bmcpIH08L3ByZT4KPC9kaXY+Cgo8aDQ+PGEgbmFtZT1sYW5nLXBzZXVkbz42LjYuMy4gVGhlIGxh
bmd1YWdlIHBzZXVkby1jbGFzcyA6bGFuZzwvYT48L2g0PgoKPHA+SWYgdGhlIGRvY3VtZW50IGxh
bmd1YWdlIHNwZWNpZmllcyBob3cgdGhlIGh1bWFuIGxhbmd1YWdlIG9mIGFuCmVsZW1lbnQgaXMg
ZGV0ZXJtaW5lZCwgaXQgaXMgcG9zc2libGUgdG8gd3JpdGUgc2VsZWN0b3JzIHRoYXQKcmVwcmVz
ZW50IGFuIGVsZW1lbnQgYmFzZWQgb24gaXRzIGxhbmd1YWdlLiBGb3IgZXhhbXBsZSwgaW4gSFRN
TCA8YQpocmVmPSIjcmVmc0hUTUw0Ij5bSFRNTDRdPC9hPiwgdGhlIGxhbmd1YWdlIGlzIGRldGVy
bWluZWQgYnkgYQpjb21iaW5hdGlvbiBvZiB0aGUgPGNvZGU+bGFuZzwvY29kZT4gYXR0cmlidXRl
LCB0aGUgPGNvZGU+bWV0YTwvY29kZT4KZWxlbWVudCwgYW5kIHBvc3NpYmx5IGJ5IGluZm9ybWF0
aW9uIGZyb20gdGhlIHByb3RvY29sIChzdWNoIGFzIEhUVFAKaGVhZGVycykuIFhNTCB1c2VzIGFu
IGF0dHJpYnV0ZSBjYWxsZWQgPGNvZGU+eG1sOmxhbmc8L2NvZGU+LCBhbmQKdGhlcmUgbWF5IGJl
IG90aGVyIGRvY3VtZW50IGxhbmd1YWdlLXNwZWNpZmljIG1ldGhvZHMgZm9yIGRldGVybWluaW5n
CnRoZSBsYW5ndWFnZS48L3A+Cgo8cD5UaGUgcHNldWRvLWNsYXNzIDxjb2RlPjpsYW5nKEMpPC9j
b2RlPiByZXByZXNlbnRzIGFuIGVsZW1lbnQgdGhhdAppcyBpbiBsYW5ndWFnZSBDLiBXaGV0aGVy
IGFuIGVsZW1lbnQgaXMgcmVwcmVzZW50ZWQgYnkgYQo8Y29kZT46bGFuZygpPC9jb2RlPiBzZWxl
Y3RvciBpcyBiYXNlZCBzb2xlbHkgb24gdGhlIGlkZW50aWZpZXIgQwpiZWluZyBlaXRoZXIgZXF1
YWwgdG8sIG9yIGEgaHlwaGVuLXNlcGFyYXRlZCBzdWJzdHJpbmcgb2YsIHRoZQplbGVtZW50J3Mg
bGFuZ3VhZ2UgdmFsdWUsIGluIHRoZSBzYW1lIHdheSBhcyBpZiBwZXJmb3JtZWQgYnkgdGhlIDxh
CmhyZWY9IiNhdHRyaWJ1dGUtcmVwcmVzZW50YXRpb24iPid8PSc8L2E+IG9wZXJhdG9yIGluIGF0
dHJpYnV0ZQpzZWxlY3RvcnMuIFRoZSBpZGVudGlmaWVyIEMgZG9lcyBub3QgaGF2ZSB0byBiZSBh
IHZhbGlkIGxhbmd1YWdlCm5hbWUuPC9wPgoKPHA+QyBtdXN0IG5vdCBiZSBlbXB0eS4gKElmIGl0
IGlzLCB0aGUgc2VsZWN0b3IgaXMgaW52YWxpZC4pPC9wPgoKPHAgY2xhc3M9Im5vdGUiPjxzdHJv
bmc+Tm90ZTo8L3N0cm9uZz4gSXQgaXMgcmVjb21tZW5kZWQgdGhhdApkb2N1bWVudHMgYW5kIHBy
b3RvY29scyBpbmRpY2F0ZSBsYW5ndWFnZSB1c2luZyBjb2RlcyBmcm9tIFJGQyAzMDY2IDxhCmhy
ZWY9IiNyZWZzUkZDMzA2NiI+W1JGQzMwNjZdPC9hPiBvciBpdHMgc3VjY2Vzc29yLCBhbmQgYnkg
bWVhbnMgb2YKInhtbDpsYW5nIiBhdHRyaWJ1dGVzIGluIHRoZSBjYXNlIG9mIFhNTC1iYXNlZCBk
b2N1bWVudHMgPGEKaHJlZj0iI3JlZnNYTUwxMCI+W1hNTDEwXTwvYT4uIFNlZSA8YQpocmVmPSJo
dHRwOi8vd3d3LnczLm9yZy9JbnRlcm5hdGlvbmFsL3F1ZXN0aW9ucy9xYS1sYW5nLTJvcjMuaHRt
bCI+CiJGQVE6IFR3by1sZXR0ZXIgb3IgdGhyZWUtbGV0dGVyIGxhbmd1YWdlIGNvZGVzLiI8L2E+
PC9wPgoKPGRpdiBjbGFzcz0iZXhhbXBsZSI+CiAgPHA+RXhhbXBsZXM6PC9wPgogIDxwPlRoZSB0
d28gZm9sbG93aW5nIHNlbGVjdG9ycyByZXByZXNlbnQgYW4gSFRNTCBkb2N1bWVudCB0aGF0IGlz
IGluCiAgQmVsZ2lhbiwgRnJlbmNoLCBvciBHZXJtYW4uIFRoZSB0d28gbmV4dCBzZWxlY3RvcnMg
cmVwcmVzZW50CiAgPGNvZGU+cTwvY29kZT4gcXVvdGF0aW9ucyBpbiBhbiBhcmJpdHJhcnkgZWxl
bWVudCBpbiBCZWxnaWFuLCBGcmVuY2gsCiAgb3IgR2VybWFuLjwvcD4KICA8cHJlPmh0bWw6bGFu
Zyhmci1iZSkKaHRtbDpsYW5nKGRlKQo6bGFuZyhmci1iZSkgJmd0OyBxCjpsYW5nKGRlKSAmZ3Q7
IHE8L3ByZT4KPC9kaXY+Cgo8aDQ+PGEgbmFtZT1VSXN0YXRlcz42LjYuNC4gVGhlIFVJIGVsZW1l
bnQgc3RhdGVzIHBzZXVkby1jbGFzc2VzPC9hPjwvaDQ+Cgo8aDU+PGEgbmFtZT1lbmFibGVkZGlz
YWJsZWQ+VGhlIDplbmFibGVkIGFuZCA6ZGlzYWJsZWQgcHNldWRvLWNsYXNzZXM8L2E+PC9oNT4K
CjxwPlRoZSA8Y29kZT46ZW5hYmxlZDwvY29kZT4gcHNldWRvLWNsYXNzIGFsbG93cyBhdXRob3Jz
IHRvIGN1c3RvbWl6ZQp0aGUgbG9vayBvZiB1c2VyIGludGVyZmFjZSBlbGVtZW50cyB0aGF0IGFy
ZSBlbmFibGVkICZtZGFzaDsgd2hpY2ggdGhlCnVzZXIgY2FuIHNlbGVjdCBvciBhY3RpdmF0ZSBp
biBzb21lIGZhc2hpb24gKGUuZy4gY2xpY2tpbmcgb24gYSBidXR0b24Kd2l0aCBhIG1vdXNlKS4g
IFRoZXJlIGlzIGEgbmVlZCBmb3Igc3VjaCBhIHBzZXVkby1jbGFzcyBiZWNhdXNlIHRoZXJlCmlz
IG5vIHdheSB0byBwcm9ncmFtbWF0aWNhbGx5IHNwZWNpZnkgdGhlIGRlZmF1bHQgYXBwZWFyYW5j
ZSBvZiBzYXksCmFuIGVuYWJsZWQgPGNvZGU+aW5wdXQ8L2NvZGU+IGVsZW1lbnQgd2l0aG91dCBh
bHNvIHNwZWNpZnlpbmcgd2hhdCBpdAp3b3VsZCBsb29rIGxpa2Ugd2hlbiBpdCB3YXMgZGlzYWJs
ZWQuPC9wPgoKPHA+U2ltaWxhciB0byA8Y29kZT46ZW5hYmxlZDwvY29kZT4sIDxjb2RlPjpkaXNh
YmxlZDwvY29kZT4gYWxsb3dzIHRoZQphdXRob3IgdG8gc3BlY2lmeSBwcmVjaXNlbHkgaG93IGEg
ZGlzYWJsZWQgb3IgaW5hY3RpdmUgdXNlciBpbnRlcmZhY2UKZWxlbWVudCBzaG91bGQgbG9vay48
L3A+Cgo8cD5Nb3N0IGVsZW1lbnRzIHdpbGwgYmUgbmVpdGhlciBlbmFibGVkIG5vciBkaXNhYmxl
ZC4gIEFuIGVsZW1lbnQgaXMKZW5hYmxlZCBpZiB0aGUgdXNlciBjYW4gZWl0aGVyIGFjdGl2YXRl
IGl0IG9yIHRyYW5zZmVyIHRoZSBmb2N1cyB0bwppdC4gQW4gZWxlbWVudCBpcyBkaXNhYmxlZCBp
ZiBpdCBjb3VsZCBiZSBlbmFibGVkLCBidXQgdGhlIHVzZXIgY2Fubm90CnByZXNlbnRseSBhY3Rp
dmF0ZSBpdCBvciB0cmFuc2ZlciBmb2N1cyB0byBpdC48L3A+CgoKPGg1PjxhIG5hbWU9Y2hlY2tl
ZD5UaGUgOmNoZWNrZWQgcHNldWRvLWNsYXNzPC9hPjwvaDU+Cgo8cD5SYWRpbyBhbmQgY2hlY2ti
b3ggZWxlbWVudHMgY2FuIGJlIHRvZ2dsZWQgYnkgdGhlIHVzZXIuIFNvbWUgbWVudQppdGVtcyBh
cmUgImNoZWNrZWQiIHdoZW4gdGhlIHVzZXIgc2VsZWN0cyB0aGVtLiBXaGVuIHN1Y2ggZWxlbWVu
dHMgYXJlCnRvZ2dsZWQgIm9uIiB0aGUgPGNvZGU+OmNoZWNrZWQ8L2NvZGU+IHBzZXVkby1jbGFz
cyBhcHBsaWVzLiBUaGUKPGNvZGU+OmNoZWNrZWQ8L2NvZGU+IHBzZXVkby1jbGFzcyBpbml0aWFs
bHkgYXBwbGllcyB0byBzdWNoIGVsZW1lbnRzCnRoYXQgaGF2ZSB0aGUgSFRNTDQgPGNvZGU+c2Vs
ZWN0ZWQ8L2NvZGU+IGFuZCA8Y29kZT5jaGVja2VkPC9jb2RlPgphdHRyaWJ1dGVzIGFzIGRlc2Ny
aWJlZCBpbiA8YQpocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9SRUMtaHRtbDQwL2ludGVyYWN0
L2Zvcm1zLmh0bWwjaC0xNy4yLjEiPlNlY3Rpb24KMTcuMi4xIG9mIEhUTUw0PC9hPiwgYnV0IG9m
IGNvdXJzZSB0aGUgdXNlciBjYW4gdG9nZ2xlICJvZmYiIHN1Y2gKZWxlbWVudHMgaW4gd2hpY2gg
Y2FzZSB0aGUgPGNvZGU+OmNoZWNrZWQ8L2NvZGU+IHBzZXVkby1jbGFzcyB3b3VsZCBubwpsb25n
ZXIgYXBwbHkuIFdoaWxlIHRoZSA8Y29kZT46Y2hlY2tlZDwvY29kZT4gcHNldWRvLWNsYXNzIGlz
IGR5bmFtaWMKaW4gbmF0dXJlLCBhbmQgaXMgYWx0ZXJlZCBieSB1c2VyIGFjdGlvbiwgc2luY2Ug
aXQgY2FuIGFsc28gYmUgYmFzZWQKb24gdGhlIHByZXNlbmNlIG9mIHRoZSBzZW1hbnRpYyBIVE1M
NCA8Y29kZT5zZWxlY3RlZDwvY29kZT4gYW5kCjxjb2RlPmNoZWNrZWQ8L2NvZGU+IGF0dHJpYnV0
ZXMsIGl0IGFwcGxpZXMgdG8gYWxsIG1lZGlhLgoKCjxoNT48YSBuYW1lPWluZGV0ZXJtaW5hdGU+
VGhlIDppbmRldGVybWluYXRlIHBzZXVkby1jbGFzczwvYT48L2g1PgoKPGRpdiBjbGFzcz0ibm90
ZSI+Cgo8cD5SYWRpbyBhbmQgY2hlY2tib3ggZWxlbWVudHMgY2FuIGJlIHRvZ2dsZWQgYnkgdGhl
IHVzZXIsIGJ1dCBhcmUKc29tZXRpbWVzIGluIGFuIGluZGV0ZXJtaW5hdGUgc3RhdGUsIG5laXRo
ZXIgY2hlY2tlZCBub3IgdW5jaGVja2VkLgpUaGlzIGNhbiBiZSBkdWUgdG8gYW4gZWxlbWVudCBh
dHRyaWJ1dGUsIG9yIERPTSBtYW5pcHVsYXRpb24uPC9wPgoKPHA+QSBmdXR1cmUgdmVyc2lvbiBv
ZiB0aGlzIHNwZWNpZmljYXRpb24gbWF5IGludHJvZHVjZSBhbgo8Y29kZT46aW5kZXRlcm1pbmF0
ZTwvY29kZT4gcHNldWRvLWNsYXNzIHRoYXQgYXBwbGllcyB0byBzdWNoIGVsZW1lbnRzLgo8IS0t
V2hpbGUgdGhlIDxjb2RlPjppbmRldGVybWluYXRlPC9jb2RlPiBwc2V1ZG8tY2xhc3MgaXMgZHlu
YW1pYyBpbgpuYXR1cmUsIGFuZCBpcyBhbHRlcmVkIGJ5IHVzZXIgYWN0aW9uLCBzaW5jZSBpdCBj
YW4gYWxzbyBiZSBiYXNlZCBvbgp0aGUgcHJlc2VuY2Ugb2YgYW4gZWxlbWVudCBhdHRyaWJ1dGUs
IGl0IGFwcGxpZXMgdG8gYWxsIG1lZGlhLjwvcD4KCjxwPkNvbXBvbmVudHMgb2YgYSByYWRpby1n
cm91cCBpbml0aWFsaXplZCB3aXRoIG5vIHByZS1zZWxlY3RlZCBjaG9pY2UKYXJlIGFuIGV4YW1w
bGUgb2YgOmluZGV0ZXJtaW5hdGUgc3RhdGUuLS0+PC9wPgoKPC9kaXY+CgoKPGg0PjxhIG5hbWU9
c3RydWN0dXJhbC1wc2V1ZG9zPjYuNi41LiBTdHJ1Y3R1cmFsIHBzZXVkby1jbGFzc2VzPC9hPjwv
aDQ+Cgo8cD5TZWxlY3RvcnMgaW50cm9kdWNlcyB0aGUgY29uY2VwdCBvZiA8ZGZuPnN0cnVjdHVy
YWwKcHNldWRvLWNsYXNzZXM8L2Rmbj4gdG8gcGVybWl0IHNlbGVjdGlvbiBiYXNlZCBvbiBleHRy
YSBpbmZvcm1hdGlvbiB0aGF0IGxpZXMgaW4KdGhlIGRvY3VtZW50IHRyZWUgYnV0IGNhbm5vdCBi
ZSByZXByZXNlbnRlZCBieSBvdGhlciBzaW1wbGUgc2VsZWN0b3JzIG9yCmNvbWJpbmF0b3JzLgoK
PHA+Tm90ZSB0aGF0IHN0YW5kYWxvbmUgcGllY2VzIG9mIFBDREFUQSAodGV4dCBub2RlcyBpbiB0
aGUgRE9NKSBhcmUKbm90IGNvdW50ZWQgd2hlbiBjYWxjdWxhdGluZyB0aGUgcG9zaXRpb24gb2Yg
YW4gZWxlbWVudCBpbiB0aGUgbGlzdCBvZgpjaGlsZHJlbiBvZiBpdHMgcGFyZW50LiBXaGVuIGNh
bGN1bGF0aW5nIHRoZSBwb3NpdGlvbiBvZiBhbiBlbGVtZW50IGluCnRoZSBsaXN0IG9mIGNoaWxk
cmVuIG9mIGl0cyBwYXJlbnQsIHRoZSBpbmRleCBudW1iZXJpbmcgc3RhcnRzIGF0IDEuCgoKPGg1
PjxhIG5hbWU9cm9vdC1wc2V1ZG8+OnJvb3QgcHNldWRvLWNsYXNzPC9hPjwvaDU+Cgo8cD5UaGUg
PGNvZGU+OnJvb3Q8L2NvZGU+IHBzZXVkby1jbGFzcyByZXByZXNlbnRzIGFuIGVsZW1lbnQgdGhh
dCBpcwp0aGUgcm9vdCBvZiB0aGUgZG9jdW1lbnQuIEluIEhUTUwgNCwgdGhpcyBpcyBhbHdheXMg
dGhlCjxjb2RlPkhUTUw8L2NvZGU+IGVsZW1lbnQuCgoKPGg1PjxhIG5hbWU9bnRoLWNoaWxkLXBz
ZXVkbz46bnRoLWNoaWxkKCkgcHNldWRvLWNsYXNzPC9hPjwvaDU+Cgo8cD5UaGUKPGNvZGU+Om50
aC1jaGlsZCg8dmFyPmE8L3Zhcj48Y29kZT5uPC9jb2RlPis8dmFyPmI8L3Zhcj4pPC9jb2RlPgpw
c2V1ZG8tY2xhc3Mgbm90YXRpb24gcmVwcmVzZW50cyBhbiBlbGVtZW50IHRoYXQgaGFzCjx2YXI+
YTwvdmFyPjxjb2RlPm48L2NvZGU+Kzx2YXI+YjwvdmFyPi0xIHNpYmxpbmdzCjxzdHJvbmc+YmVm
b3JlPC9zdHJvbmc+IGl0IGluIHRoZSBkb2N1bWVudCB0cmVlLCBmb3IgYSBnaXZlbiBwb3NpdGl2
ZQppbnRlZ2VyIG9yIHplcm8gdmFsdWUgb2YgPGNvZGU+bjwvY29kZT4sIGFuZCBoYXMgYSBwYXJl
bnQgZWxlbWVudC4gSW4Kb3RoZXIgd29yZHMsIHRoaXMgbWF0Y2hlcyB0aGUgPHZhcj5iPC92YXI+
dGggY2hpbGQgb2YgYW4gZWxlbWVudCBhZnRlcgphbGwgdGhlIGNoaWxkcmVuIGhhdmUgYmVlbiBz
cGxpdCBpbnRvIGdyb3VwcyBvZiA8dmFyPmE8L3Zhcj4gZWxlbWVudHMKZWFjaC4gRm9yIGV4YW1w
bGUsIHRoaXMgYWxsb3dzIHRoZSBzZWxlY3RvcnMgdG8gYWRkcmVzcyBldmVyeSBvdGhlcgpyb3cg
aW4gYSB0YWJsZSwgYW5kIGNvdWxkIGJlIHVzZWQgdG8gYWx0ZXJuYXRlIHRoZSBjb2xvcgpvZiBw
YXJhZ3JhcGggdGV4dCBpbiBhIGN5Y2xlIG9mIGZvdXIuIFRoZSA8dmFyPmE8L3Zhcj4gYW5kCjx2
YXI+YjwvdmFyPiB2YWx1ZXMgbXVzdCBiZSB6ZXJvLCBuZWdhdGl2ZSBpbnRlZ2VycyBvciBwb3Np
dGl2ZQppbnRlZ2Vycy4gVGhlIGluZGV4IG9mIHRoZSBmaXJzdCBjaGlsZCBvZiBhbiBlbGVtZW50
IGlzIDEuCgo8cD5JbiBhZGRpdGlvbiB0byB0aGlzLCA8Y29kZT46bnRoLWNoaWxkKCk8L2NvZGU+
IGNhbiB0YWtlCic8Y29kZT5vZGQ8L2NvZGU+JyBhbmQgJzxjb2RlPmV2ZW48L2NvZGU+JyBhcyBh
cmd1bWVudHMgaW5zdGVhZC4KJzxjb2RlPm9kZDwvY29kZT4nIGhhcyB0aGUgc2FtZSBzaWduaWZp
Y2F0aW9uIGFzIDxjb2RlPjJuKzE8L2NvZGU+LAphbmQgJzxjb2RlPmV2ZW48L2NvZGU+JyBoYXMg
dGhlIHNhbWUgc2lnbmlmaWNhdGlvbiBhcyA8Y29kZT4ybjwvY29kZT4uCgoKPGRpdiBjbGFzcz0i
ZXhhbXBsZSI+CjxwPkV4YW1wbGVzOjwvcD4KPHByZT50cjpudGgtY2hpbGQoMm4rMSkgLyogcmVw
cmVzZW50cyBldmVyeSBvZGQgcm93IG9mIGFuIEhUTUwgdGFibGUgKi8KdHI6bnRoLWNoaWxkKG9k
ZCkgIC8qIHNhbWUgKi8KdHI6bnRoLWNoaWxkKDJuKSAgIC8qIHJlcHJlc2VudHMgZXZlcnkgZXZl
biByb3cgb2YgYW4gSFRNTCB0YWJsZSAqLwp0cjpudGgtY2hpbGQoZXZlbikgLyogc2FtZSAqLwoK
LyogQWx0ZXJuYXRlIHBhcmFncmFwaCBjb2xvdXJzIGluIENTUyAqLwpwOm50aC1jaGlsZCg0bisx
KSB7IGNvbG9yOiBuYXZ5OyB9CnA6bnRoLWNoaWxkKDRuKzIpIHsgY29sb3I6IGdyZWVuOyB9CnA6
bnRoLWNoaWxkKDRuKzMpIHsgY29sb3I6IG1hcm9vbjsgfQpwOm50aC1jaGlsZCg0bis0KSB7IGNv
bG9yOiBwdXJwbGU7IH08L3ByZT4KPC9kaXY+Cgo8cD5XaGVuIDx2YXI+YTwvdmFyPj0wLCBubyBy
ZXBlYXRpbmcgaXMgdXNlZCwgc28gZm9yIGV4YW1wbGUKPGNvZGU+Om50aC1jaGlsZCgwbis1KTwv
Y29kZT4gbWF0Y2hlcyBvbmx5IHRoZSBmaWZ0aCBjaGlsZC4gV2hlbgo8dmFyPmE8L3Zhcj49MCwg
dGhlIDx2YXI+YTwvdmFyPjxjb2RlPm48L2NvZGU+IHBhcnQgbmVlZCBub3QgYmUKaW5jbHVkZWQs
IHNvIHRoZSBzeW50YXggc2ltcGxpZmllcyB0bwo8Y29kZT46bnRoLWNoaWxkKDx2YXI+YjwvdmFy
Pik8L2NvZGU+IGFuZCB0aGUgbGFzdCBleGFtcGxlIHNpbXBsaWZpZXMKdG8gPGNvZGU+Om50aC1j
aGlsZCg1KTwvY29kZT4uCgo8ZGl2IGNsYXNzPSJleGFtcGxlIj4KPHA+RXhhbXBsZXM6PC9wPgo8
cHJlPmZvbzpudGgtY2hpbGQoMG4rMSkgICAvKiByZXByZXNlbnRzIGFuIGVsZW1lbnQgZm9vLCBm
aXJzdCBjaGlsZCBvZiBpdHMgcGFyZW50IGVsZW1lbnQgKi8KZm9vOm50aC1jaGlsZCgxKSAgICAg
IC8qIHNhbWUgKi88L3ByZT4KPC9kaXY+Cgo8cD5XaGVuIDx2YXI+YTwvdmFyPj0xLCB0aGUgbnVt
YmVyIG1heSBiZSBvbWl0dGVkIGZyb20gdGhlIHJ1bGUuCgo8ZGl2IGNsYXNzPSJleGFtcGxlIj4K
PHA+RXhhbXBsZXM6PC9wPgo8cD5UaGUgZm9sbG93aW5nIHNlbGVjdG9ycyBhcmUgdGhlcmVmb3Jl
IGVxdWl2YWxlbnQ6PC9wPgo8cHJlPmJhcjpudGgtY2hpbGQoMW4rMCkgICAvKiByZXByZXNlbnRz
IGFsbCBiYXIgZWxlbWVudHMsIHNwZWNpZmljaXR5ICgwLDEsMSkgKi8KYmFyOm50aC1jaGlsZChu
KzApICAgIC8qIHNhbWUgKi8KYmFyOm50aC1jaGlsZChuKSAgICAgIC8qIHNhbWUgKi8KYmFyICAg
ICAgICAgICAgICAgICAgIC8qIHNhbWUgYnV0IGxvd2VyIHNwZWNpZmljaXR5ICgwLDAsMSkgKi88
L3ByZT4KPC9kaXY+Cgo8cD5JZiA8dmFyPmI8L3Zhcj49MCwgdGhlbiBldmVyeSA8dmFyPmE8L3Zh
cj50aCBlbGVtZW50IGlzIHBpY2tlZC4gSW4Kc3VjaCBhIGNhc2UsIHRoZSA8dmFyPmI8L3Zhcj4g
cGFydCBtYXkgYmUgb21pdHRlZC4KCjxkaXYgY2xhc3M9ImV4YW1wbGUiPgo8cD5FeGFtcGxlczo8
L3A+CjxwcmU+dHI6bnRoLWNoaWxkKDJuKzApIC8qIHJlcHJlc2VudHMgZXZlcnkgZXZlbiByb3cg
b2YgYW4gSFRNTCB0YWJsZSAqLwp0cjpudGgtY2hpbGQoMm4pIC8qIHNhbWUgKi88L3ByZT4KPC9k
aXY+Cgo8cD5JZiBib3RoIDx2YXI+YTwvdmFyPiBhbmQgPHZhcj5iPC92YXI+IGFyZSBlcXVhbCB0
byB6ZXJvLCB0aGUKcHNldWRvLWNsYXNzIHJlcHJlc2VudHMgbm8gZWxlbWVudCBpbiB0aGUgZG9j
dW1lbnQgdHJlZS48L3A+Cgo8cD5UaGUgdmFsdWUgPHZhcj5hPC92YXI+IGNhbiBiZSBuZWdhdGl2
ZSwgYnV0IG9ubHkgdGhlIHBvc2l0aXZlCnZhbHVlcyBvZiA8dmFyPmE8L3Zhcj48Y29kZT5uPC9j
b2RlPis8dmFyPmI8L3Zhcj4sIGZvcgo8Y29kZT5uPC9jb2RlPiZnZTswLCBtYXkgcmVwcmVzZW50
IGFuIGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50CnRyZWUuPC9wPgoKPGRpdiBjbGFzcz0iZXhhbXBs
ZSI+CjxwPkV4YW1wbGU6PC9wPgo8cHJlPmh0bWx8dHI6bnRoLWNoaWxkKC1uKzYpICAvKiByZXBy
ZXNlbnRzIHRoZSA2IGZpcnN0IHJvd3Mgb2YgWEhUTUwgdGFibGVzICovPC9wcmU+CjwvZGl2PgoK
PHA+V2hlbiB0aGUgdmFsdWUgPHZhcj5iPC92YXI+IGlzIG5lZ2F0aXZlLCB0aGUgIisiIGNoYXJh
Y3RlciBpbiB0aGUKZXhwcmVzc2lvbiBtdXN0IGJlIHJlbW92ZWQgKGl0IGlzIGVmZmVjdGl2ZWx5
IHJlcGxhY2VkIGJ5IHRoZSAiLSIKY2hhcmFjdGVyIGluZGljYXRpbmcgdGhlIG5lZ2F0aXZlIHZh
bHVlIG9mIDx2YXI+YjwvdmFyPikuPC9wPgoKPGRpdiBjbGFzcz0iZXhhbXBsZSI+CjxwPkV4YW1w
bGVzOjwvcD4KPHByZT46bnRoLWNoaWxkKDEwbi0xKSAgLyogcmVwcmVzZW50cyB0aGUgOXRoLCAx
OXRoLCAyOXRoLCBldGMsIGVsZW1lbnQgKi8KOm50aC1jaGlsZCgxMG4rOSkgIC8qIFNhbWUgKi8K
Om50aC1jaGlsZCgxMG4rLTEpIC8qIFN5bnRhY3RpY2FsbHkgaW52YWxpZCwgYW5kIHdvdWxkIGJl
IGlnbm9yZWQgKi88L3ByZT4KPC9kaXY+CgoKPGg1PjxhIG5hbWU9bnRoLWxhc3QtY2hpbGQtcHNl
dWRvPjpudGgtbGFzdC1jaGlsZCgpIHBzZXVkby1jbGFzczwvYT48L2g1PgoKPHA+VGhlIDxjb2Rl
PjpudGgtbGFzdC1jaGlsZCg8dmFyPmE8L3Zhcj5uKzx2YXI+YjwvdmFyPik8L2NvZGU+CnBzZXVk
by1jbGFzcyBub3RhdGlvbiByZXByZXNlbnRzIGFuIGVsZW1lbnQgdGhhdCBoYXMKPHZhcj5hPC92
YXI+PGNvZGU+bjwvY29kZT4rPHZhcj5iPC92YXI+LTEgc2libGluZ3MKPHN0cm9uZz5hZnRlcjwv
c3Ryb25nPiBpdCBpbiB0aGUgZG9jdW1lbnQgdHJlZSwgZm9yIGEgZ2l2ZW4gcG9zaXRpdmUKaW50
ZWdlciBvciB6ZXJvIHZhbHVlIG9mIDxjb2RlPm48L2NvZGU+LCBhbmQgaGFzIGEgcGFyZW50IGVs
ZW1lbnQuIFNlZQo8Y29kZT46bnRoLWNoaWxkKCk8L2NvZGU+IHBzZXVkby1jbGFzcyBmb3IgdGhl
IHN5bnRheCBvZiBpdHMgYXJndW1lbnQuCkl0IGFsc28gYWNjZXB0cyB0aGUgJzxjb2RlPmV2ZW48
L2NvZGU+JyBhbmQgJzxjb2RlPm9kZDwvY29kZT4nIHZhbHVlcwphcyBhcmd1bWVudHMuCgoKPGRp
diBjbGFzcz0iZXhhbXBsZSI+CjxwPkV4YW1wbGVzOjwvcD4KPHByZT50cjpudGgtbGFzdC1jaGls
ZCgtbisyKSAgICAvKiByZXByZXNlbnRzIHRoZSB0d28gbGFzdCByb3dzIG9mIGFuIEhUTUwgdGFi
bGUgKi8KCmZvbzpudGgtbGFzdC1jaGlsZChvZGQpICAgIC8qIHJlcHJlc2VudHMgYWxsIG9kZCBm
b28gZWxlbWVudHMgaW4gdGhlaXIgcGFyZW50IGVsZW1lbnQsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvdW50aW5nIGZyb20gdGhlIGxhc3Qgb25lICovPC9wcmU+CjwvZGl2PgoKCjxo
NT48YSBuYW1lPW50aC1vZi10eXBlLXBzZXVkbz46bnRoLW9mLXR5cGUoKSBwc2V1ZG8tY2xhc3M8
L2E+PC9oNT4KCjxwPlRoZSA8Y29kZT46bnRoLW9mLXR5cGUoPHZhcj5hPC92YXI+bis8dmFyPmI8
L3Zhcj4pPC9jb2RlPgpwc2V1ZG8tY2xhc3Mgbm90YXRpb24gcmVwcmVzZW50cyBhbiBlbGVtZW50
IHRoYXQgaGFzCjx2YXI+YTwvdmFyPjxjb2RlPm48L2NvZGU+Kzx2YXI+YjwvdmFyPi0xIHNpYmxp
bmdzIHdpdGggdGhlIHNhbWUKZWxlbWVudCBuYW1lIDxzdHJvbmc+YmVmb3JlPC9zdHJvbmc+IGl0
IGluIHRoZSBkb2N1bWVudCB0cmVlLCBmb3IgYQpnaXZlbiB6ZXJvIG9yIHBvc2l0aXZlIGludGVn
ZXIgdmFsdWUgb2YgPGNvZGU+bjwvY29kZT4sIGFuZCBoYXMgYQpwYXJlbnQgZWxlbWVudC4gSW4g
b3RoZXIgd29yZHMsIHRoaXMgbWF0Y2hlcyB0aGUgPHZhcj5iPC92YXI+dGggY2hpbGQKb2YgdGhh
dCB0eXBlIGFmdGVyIGFsbCB0aGUgY2hpbGRyZW4gb2YgdGhhdCB0eXBlIGhhdmUgYmVlbiBzcGxp
dCBpbnRvCmdyb3VwcyBvZiBhIGVsZW1lbnRzIGVhY2guIFNlZSA8Y29kZT46bnRoLWNoaWxkKCk8
L2NvZGU+IHBzZXVkby1jbGFzcwpmb3IgdGhlIHN5bnRheCBvZiBpdHMgYXJndW1lbnQuIEl0IGFs
c28gYWNjZXB0cyB0aGUKJzxjb2RlPmV2ZW48L2NvZGU+JyBhbmQgJzxjb2RlPm9kZDwvY29kZT4n
IHZhbHVlcy4KCgo8ZGl2IGNsYXNzPSJleGFtcGxlIj4KPHA+Q1NTIGV4YW1wbGU6PC9wPgo8cD5U
aGlzIGFsbG93cyBhbiBhdXRob3IgdG8gYWx0ZXJuYXRlIHRoZSBwb3NpdGlvbiBvZiBmbG9hdGVk
IGltYWdlczo8L3A+CjxwcmU+aW1nOm50aC1vZi10eXBlKDJuKzEpIHsgZmxvYXQ6IHJpZ2h0OyB9
CmltZzpudGgtb2YtdHlwZSgybikgeyBmbG9hdDogbGVmdDsgfTwvcHJlPgo8L2Rpdj4KCgo8aDU+
PGEgbmFtZT1udGgtbGFzdC1vZi10eXBlLXBzZXVkbz46bnRoLWxhc3Qtb2YtdHlwZSgpIHBzZXVk
by1jbGFzczwvYT48L2g1PgoKPHA+VGhlIDxjb2RlPjpudGgtbGFzdC1vZi10eXBlKDx2YXI+YTwv
dmFyPm4rPHZhcj5iPC92YXI+KTwvY29kZT4KcHNldWRvLWNsYXNzIG5vdGF0aW9uIHJlcHJlc2Vu
dHMgYW4gZWxlbWVudCB0aGF0IGhhcwo8dmFyPmE8L3Zhcj48Y29kZT5uPC9jb2RlPis8dmFyPmI8
L3Zhcj4tMSBzaWJsaW5ncyB3aXRoIHRoZSBzYW1lCmVsZW1lbnQgbmFtZSA8c3Ryb25nPmFmdGVy
PC9zdHJvbmc+IGl0IGluIHRoZSBkb2N1bWVudCB0cmVlLCBmb3IgYQpnaXZlbiB6ZXJvIG9yIHBv
c2l0aXZlIGludGVnZXIgdmFsdWUgb2YgPGNvZGU+bjwvY29kZT4sIGFuZCBoYXMgYQpwYXJlbnQg
ZWxlbWVudC4gU2VlIDxjb2RlPjpudGgtY2hpbGQoKTwvY29kZT4gcHNldWRvLWNsYXNzIGZvciB0
aGUKc3ludGF4IG9mIGl0cyBhcmd1bWVudC4gSXQgYWxzbyBhY2NlcHRzIHRoZSAnPGNvZGU+ZXZl
bjwvY29kZT4nIGFuZCAnPGNvZGU+b2RkPC9jb2RlPicgdmFsdWVzLgoKCjxkaXYgY2xhc3M9ImV4
YW1wbGUiPgogPHA+RXhhbXBsZTo8L3A+CiA8cD5UbyByZXByZXNlbnQgYWxsIDxjb2RlPmgyPC9j
b2RlPiBjaGlsZHJlbiBvZiBhbiBYSFRNTAogPGNvZGU+Ym9keTwvY29kZT4gZXhjZXB0IHRoZSBm
aXJzdCBhbmQgbGFzdCwgb25lIGNvdWxkIHVzZSB0aGUKIGZvbGxvd2luZyBzZWxlY3Rvcjo8L3A+
CiA8cHJlPmJvZHkgJmd0OyBoMjpudGgtb2YtdHlwZShuKzIpOm50aC1sYXN0LW9mLXR5cGUobisy
KTwvcHJlPgogPHA+SW4gdGhpcyBjYXNlLCBvbmUgY291bGQgYWxzbyB1c2UgPGNvZGU+Om5vdCgp
PC9jb2RlPiwgYWx0aG91Z2ggdGhlCiBzZWxlY3RvciBlbmRzIHVwIGJlaW5nIGp1c3QgYXMgbG9u
Zzo8L3A+CiA8cHJlPmJvZHkgJmd0OyBoMjpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCg6bGFzdC1v
Zi10eXBlKTwvcHJlPgo8L2Rpdj4KCgo8aDU+PGEgbmFtZT1maXJzdC1jaGlsZC1wc2V1ZG8+OmZp
cnN0LWNoaWxkIHBzZXVkby1jbGFzczwvYT48L2g1PgoKPHA+U2FtZSBhcyA8Y29kZT46bnRoLWNo
aWxkKDEpPC9jb2RlPi4gVGhlIDxjb2RlPjpmaXJzdC1jaGlsZDwvY29kZT4gcHNldWRvLWNsYXNz
CnJlcHJlc2VudHMgYW4gZWxlbWVudCB0aGF0IGlzIHRoZSBmaXJzdCBjaGlsZCBvZiBzb21lIG90
aGVyIGVsZW1lbnQuCgoKPGRpdiBjbGFzcz0iZXhhbXBsZSI+CiAgPHA+RXhhbXBsZXM6PC9wPgog
IDxwPlRoZSBmb2xsb3dpbmcgc2VsZWN0b3IgcmVwcmVzZW50cyBhIDxjb2RlPnA8L2NvZGU+IGVs
ZW1lbnQgdGhhdCBpcwogIHRoZSBmaXJzdCBjaGlsZCBvZiBhIDxjb2RlPmRpdjwvY29kZT4gZWxl
bWVudDo8L3A+CiAgPHByZT5kaXYgJmd0OyBwOmZpcnN0LWNoaWxkPC9wcmU+CiAgPHA+VGhpcyBz
ZWxlY3RvciBjYW4gcmVwcmVzZW50IHRoZSA8Y29kZT5wPC9jb2RlPiBpbnNpZGUgdGhlCiAgPGNv
ZGU+ZGl2PC9jb2RlPiBvZiB0aGUgZm9sbG93aW5nIGZyYWdtZW50OjwvcD4KICA8cHJlPiZsdDtw
Jmd0OyBUaGUgbGFzdCBQIGJlZm9yZSB0aGUgbm90ZS4mbHQ7L3AmZ3Q7CiZsdDtkaXYgY2xhc3M9
Im5vdGUiJmd0OwogICAmbHQ7cCZndDsgVGhlIGZpcnN0IFAgaW5zaWRlIHRoZSBub3RlLiZsdDsv
cCZndDsKJmx0Oy9kaXYmZ3Q7PC9wcmU+YnV0IGNhbm5vdCByZXByZXNlbnQgdGhlIHNlY29uZCA8
Y29kZT5wPC9jb2RlPiBpbiB0aGUgZm9sbG93aW5nCmZyYWdtZW50OgogIDxwcmU+Jmx0O3AmZ3Q7
IFRoZSBsYXN0IFAgYmVmb3JlIHRoZSBub3RlLiZsdDsvcCZndDsKJmx0O2RpdiBjbGFzcz0ibm90
ZSImZ3Q7CiAgICZsdDtoMiZndDsgTm90ZSAmbHQ7L2gyJmd0OwogICAmbHQ7cCZndDsgVGhlIGZp
cnN0IFAgaW5zaWRlIHRoZSBub3RlLiZsdDsvcCZndDsKJmx0Oy9kaXYmZ3Q7PC9wcmU+CiAgPHA+
VGhlIGZvbGxvd2luZyB0d28gc2VsZWN0b3JzIGFyZSB1c3VhbGx5IGVxdWl2YWxlbnQ6PC9wPgog
IDxwcmU+KiAmZ3Q7IGE6Zmlyc3QtY2hpbGQgLyogYSBpcyBmaXJzdCBjaGlsZCBvZiBhbnkgZWxl
bWVudCAqLwphOmZpcnN0LWNoaWxkIC8qIFNhbWUgKGFzc3VtaW5nIGEgaXMgbm90IHRoZSByb290
IGVsZW1lbnQpICovPC9wcmU+CjwvZGl2PgoKPGg1PjxhIG5hbWU9bGFzdC1jaGlsZC1wc2V1ZG8+
Omxhc3QtY2hpbGQgcHNldWRvLWNsYXNzPC9hPjwvaDU+Cgo8cD5TYW1lIGFzIDxjb2RlPjpudGgt
bGFzdC1jaGlsZCgxKTwvY29kZT4uIFRoZSA8Y29kZT46bGFzdC1jaGlsZDwvY29kZT4gcHNldWRv
LWNsYXNzCnJlcHJlc2VudHMgYW4gZWxlbWVudCB0aGF0IGlzIHRoZSBsYXN0IGNoaWxkIG9mIHNv
bWUgb3RoZXIgZWxlbWVudC4KCjxkaXYgY2xhc3M9ImV4YW1wbGUiPgogPHA+RXhhbXBsZTo8L3A+
CiA8cD5UaGUgZm9sbG93aW5nIHNlbGVjdG9yIHJlcHJlc2VudHMgYSBsaXN0IGl0ZW0gPGNvZGU+
bGk8L2NvZGU+IHRoYXQKIGlzIHRoZSBsYXN0IGNoaWxkIG9mIGFuIG9yZGVyZWQgbGlzdCA8Y29k
ZT5vbDwvY29kZT4uCiA8cHJlPm9sICZndDsgbGk6bGFzdC1jaGlsZDwvcHJlPgo8L2Rpdj4KCjxo
NT48YSBuYW1lPWZpcnN0LW9mLXR5cGUtcHNldWRvPjpmaXJzdC1vZi10eXBlIHBzZXVkby1jbGFz
czwvYT48L2g1PgoKPHA+U2FtZSBhcyA8Y29kZT46bnRoLW9mLXR5cGUoMSk8L2NvZGU+LiBUaGUg
PGNvZGU+OmZpcnN0LW9mLXR5cGU8L2NvZGU+IHBzZXVkby1jbGFzcwpyZXByZXNlbnRzIGFuIGVs
ZW1lbnQgdGhhdCBpcyB0aGUgZmlyc3Qgc2libGluZyBvZiBpdHMgdHlwZSBpbiB0aGUgbGlzdCBv
ZgpjaGlsZHJlbiBvZiBpdHMgcGFyZW50IGVsZW1lbnQuCgo8ZGl2IGNsYXNzPSJleGFtcGxlIj4K
PHA+RXhhbXBsZTo8L3A+CjxwPlRoZSBmb2xsb3dpbmcgc2VsZWN0b3IgcmVwcmVzZW50cyBhIGRl
ZmluaXRpb24gdGl0bGUKPGNvZGU+ZHQ8L2NvZGU+IGluc2lkZSBhIGRlZmluaXRpb24gbGlzdCA8
Y29kZT5kbDwvY29kZT4sIHRoaXMKPGNvZGU+ZHQ8L2NvZGU+IGJlaW5nIHRoZSBmaXJzdCBvZiBp
dHMgdHlwZSBpbiB0aGUgbGlzdCBvZiBjaGlsZHJlbiBvZgppdHMgcGFyZW50IGVsZW1lbnQuPC9w
Pgo8cHJlPmRsIGR0OmZpcnN0LW9mLXR5cGU8L3ByZT4KPHA+SXQgaXMgYSB2YWxpZCBkZXNjcmlw
dGlvbiBmb3IgdGhlIGZpcnN0IHR3byA8Y29kZT5kdDwvY29kZT4KZWxlbWVudHMgaW4gdGhlIGZv
bGxvd2luZyBleGFtcGxlIGJ1dCBub3QgZm9yIHRoZSB0aGlyZCBvbmU6PC9wPgo8cHJlPiZsdDtk
bCZndDsKICZsdDtkdCZndDtnaWdvZ25lJmx0Oy9kdCZndDsKICZsdDtkZCZndDsKICAmbHQ7ZGwm
Z3Q7CiAgICZsdDtkdCZndDtmdXMmZWFjdXRlO2UmbHQ7L2R0Jmd0OwogICAmbHQ7ZGQmZ3Q7bXVs
dGlzdGFnZSByb2NrZXQmbHQ7L2RkJmd0OwogICAmbHQ7ZHQmZ3Q7dGFibGUmbHQ7L2R0Jmd0Owog
ICAmbHQ7ZGQmZ3Q7bmVzdCBvZiB0YWJsZXMmbHQ7L2RkJmd0OwogICZsdDsvZGwmZ3Q7CiAmbHQ7
L2RkJmd0OwombHQ7L2RsJmd0OzwvcHJlPgo8L2Rpdj4KCjxoNT48YSBuYW1lPWxhc3Qtb2YtdHlw
ZS1wc2V1ZG8+Omxhc3Qtb2YtdHlwZSBwc2V1ZG8tY2xhc3M8L2E+PC9oNT4KCjxwPlNhbWUgYXMg
PGNvZGU+Om50aC1sYXN0LW9mLXR5cGUoMSk8L2NvZGU+LiBUaGUKPGNvZGU+Omxhc3Qtb2YtdHlw
ZTwvY29kZT4gcHNldWRvLWNsYXNzIHJlcHJlc2VudHMgYW4gZWxlbWVudCB0aGF0IGlzCnRoZSBs
YXN0IHNpYmxpbmcgb2YgaXRzIHR5cGUgaW4gdGhlIGxpc3Qgb2YgY2hpbGRyZW4gb2YgaXRzIHBh
cmVudAplbGVtZW50LjwvcD4KCjxkaXYgY2xhc3M9ImV4YW1wbGUiPgogPHA+RXhhbXBsZTo8L3A+
CiA8cD5UaGUgZm9sbG93aW5nIHNlbGVjdG9yIHJlcHJlc2VudHMgdGhlIGxhc3QgZGF0YSBjZWxs
CiA8Y29kZT50ZDwvY29kZT4gb2YgYSB0YWJsZSByb3cuPC9wPgogPHByZT50ciAmZ3Q7IHRkOmxh
c3Qtb2YtdHlwZTwvcHJlPgo8L2Rpdj4KCjxoNT48YSBuYW1lPW9ubHktY2hpbGQtcHNldWRvPjpv
bmx5LWNoaWxkIHBzZXVkby1jbGFzczwvYT48L2g1PgoKPHA+UmVwcmVzZW50cyBhbiBlbGVtZW50
IHRoYXQgaGFzIGEgcGFyZW50IGVsZW1lbnQgYW5kIHdob3NlIHBhcmVudAplbGVtZW50IGhhcyBu
byBvdGhlciBlbGVtZW50IGNoaWxkcmVuLiBTYW1lIGFzCjxjb2RlPjpmaXJzdC1jaGlsZDpsYXN0
LWNoaWxkPC9jb2RlPiBvcgo8Y29kZT46bnRoLWNoaWxkKDEpOm50aC1sYXN0LWNoaWxkKDEpPC9j
b2RlPiwgYnV0IHdpdGggYSBsb3dlcgpzcGVjaWZpY2l0eS48L3A+Cgo8aDU+PGEgbmFtZT1vbmx5
LW9mLXR5cGUtcHNldWRvPjpvbmx5LW9mLXR5cGUgcHNldWRvLWNsYXNzPC9hPjwvaDU+Cgo8cD5S
ZXByZXNlbnRzIGFuIGVsZW1lbnQgdGhhdCBoYXMgYSBwYXJlbnQgZWxlbWVudCBhbmQgd2hvc2Ug
cGFyZW50CmVsZW1lbnQgaGFzIG5vIG90aGVyIGVsZW1lbnQgY2hpbGRyZW4gd2l0aCB0aGUgc2Ft
ZSBlbGVtZW50IG5hbWUuIFNhbWUKYXMgPGNvZGU+OmZpcnN0LW9mLXR5cGU6bGFzdC1vZi10eXBl
PC9jb2RlPiBvcgo8Y29kZT46bnRoLW9mLXR5cGUoMSk6bnRoLWxhc3Qtb2YtdHlwZSgxKTwvY29k
ZT4sIGJ1dCB3aXRoIGEgbG93ZXIKc3BlY2lmaWNpdHkuPC9wPgoKCjxoNT48YSBuYW1lPWVtcHR5
LXBzZXVkbz48L2E+OmVtcHR5IHBzZXVkby1jbGFzczwvaDU+Cgo8cD5UaGUgPGNvZGU+OmVtcHR5
PC9jb2RlPiBwc2V1ZG8tY2xhc3MgcmVwcmVzZW50cyBhbiBlbGVtZW50IHRoYXQgaGFzCm5vIGNo
aWxkcmVuIGF0IGFsbC4gSW4gdGVybXMgb2YgdGhlIERPTSwgb25seSBlbGVtZW50IG5vZGVzIGFu
ZCB0ZXh0Cm5vZGVzIChpbmNsdWRpbmcgQ0RBVEEgbm9kZXMgYW5kIGVudGl0eSByZWZlcmVuY2Vz
KSB3aG9zZSBkYXRhIGhhcyBhCm5vbi16ZXJvIGxlbmd0aCBtdXN0IGJlIGNvbnNpZGVyZWQgYXMg
YWZmZWN0aW5nIGVtcHRpbmVzczsgY29tbWVudHMsClBJcywgYW5kIG90aGVyIG5vZGVzIG11c3Qg
bm90IGFmZmVjdCB3aGV0aGVyIGFuIGVsZW1lbnQgaXMgY29uc2lkZXJlZAplbXB0eSBvciBub3Qu
PC9wPgoKPGRpdiBjbGFzcz0iZXhhbXBsZSI+CiA8cD5FeGFtcGxlczo8L3A+CiA8cD48Y29kZT5w
OmVtcHR5PC9jb2RlPiBpcyBhIHZhbGlkIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBmb2xsb3dpbmcg
ZnJhZ21lbnQ6PC9wPgogPHByZT4mbHQ7cCZndDsmbHQ7L3AmZ3Q7PC9wcmU+CiA8cD48Y29kZT5m
b286ZW1wdHk8L2NvZGU+IGlzIG5vdCBhIHZhbGlkIHJlcHJlc2VudGF0aW9uIGZvciB0aGUKIGZv
bGxvd2luZyBmcmFnbWVudHM6PC9wPgogPHByZT4mbHQ7Zm9vJmd0O2JhciZsdDsvZm9vJmd0Ozwv
cHJlPgogPHByZT4mbHQ7Zm9vJmd0OyZsdDtiYXImZ3Q7YmxhJmx0Oy9iYXImZ3Q7Jmx0Oy9mb28m
Z3Q7PC9wcmU+CiA8cHJlPiZsdDtmb28mZ3Q7dGhpcyBpcyBub3QgJmx0O2JhciZndDs6ZW1wdHkm
bHQ7L2JhciZndDsmbHQ7L2ZvbyZndDs8L3ByZT4KPC9kaXY+Cgo8aDQ+PGEgbmFtZT1jb250ZW50
LXNlbGVjdG9ycz42LjYuNi4gQmxhbms8L2E+PC9oND4gPCEtLSBJdCdzIHRoZSBSZXR1cm4gb2Yg
QXBwZW5kaXggSCEhISBSdW4gYXdheSEgLS0+Cgo8cD5UaGlzIHNlY3Rpb24gaW50ZW50aW9uYWxs
eSBsZWZ0IGJsYW5rLjwvcD4KPCEtLSAodXNlZCB0byBiZSA6Y29udGFpbnMoKSkgLS0+Cgo8aDQ+
PGEgbmFtZT1uZWdhdGlvbj48L2E+Ni42LjcuIFRoZSBuZWdhdGlvbiBwc2V1ZG8tY2xhc3M8L2g0
PgoKPHA+VGhlIG5lZ2F0aW9uIHBzZXVkby1jbGFzcywgPGNvZGU+Om5vdCg8dmFyPlg8L3Zhcj4p
PC9jb2RlPiwgaXMgYQpmdW5jdGlvbmFsIG5vdGF0aW9uIHRha2luZyBhIDxhIGhyZWY9IiNzaW1w
bGUtc2VsZWN0b3JzLWRmbiI+c2ltcGxlCnNlbGVjdG9yPC9hPiAoZXhjbHVkaW5nIHRoZSBuZWdh
dGlvbiBwc2V1ZG8tY2xhc3MgaXRzZWxmIGFuZApwc2V1ZG8tZWxlbWVudHMpIGFzIGFuIGFyZ3Vt
ZW50LiBJdCByZXByZXNlbnRzIGFuIGVsZW1lbnQgdGhhdCBpcyBub3QKcmVwcmVzZW50ZWQgYnkg
dGhlIGFyZ3VtZW50LgoKPCEtLSBwc2V1ZG8tZWxlbWVudHMgYXJlIG5vdCBzaW1wbGUgc2VsZWN0
b3JzLCBzbyB0aGUgYWJvdmUgcGFyYWdyYXBoCm1heSBiZSBhIGJpdCBjb25mdXNpbmcgLS0+Cgo8
ZGl2IGNsYXNzPSJleGFtcGxlIj4KICA8cD5FeGFtcGxlczo8L3A+CiAgPHA+VGhlIGZvbGxvd2lu
ZyBDU1Mgc2VsZWN0b3IgbWF0Y2hlcyBhbGwgPGNvZGU+YnV0dG9uPC9jb2RlPgogIGVsZW1lbnRz
IGluIGFuIEhUTUwgZG9jdW1lbnQgdGhhdCBhcmUgbm90IGRpc2FibGVkLjwvcD4KICA8cHJlPmJ1
dHRvbjpub3QoW0RJU0FCTEVEXSk8L3ByZT4KICA8cD5UaGUgZm9sbG93aW5nIHNlbGVjdG9yIHJl
cHJlc2VudHMgYWxsIGJ1dCA8Y29kZT5GT088L2NvZGU+CiAgZWxlbWVudHMuPC9wPgogIDxwcmU+
Kjpub3QoRk9PKTwvcHJlPgogIDxwPlRoZSBmb2xsb3dpbmcgZ3JvdXAgb2Ygc2VsZWN0b3JzIHJl
cHJlc2VudHMgYWxsIEhUTUwgZWxlbWVudHMKICBleGNlcHQgbGlua3MuPC9wPgogIDxwcmU+aHRt
bHwqOm5vdCg6bGluayk6bm90KDp2aXNpdGVkKTwvcHJlPgo8L2Rpdj4KCjxwPkRlZmF1bHQgbmFt
ZXNwYWNlIGRlY2xhcmF0aW9ucyBkbyBub3QgYWZmZWN0IHRoZSBhcmd1bWVudCBvZiB0aGUKbmVn
YXRpb24gcHNldWRvLWNsYXNzIHVubGVzcyB0aGUgYXJndW1lbnQgaXMgYSB1bml2ZXJzYWwgc2Vs
ZWN0b3Igb3IgYQp0eXBlIHNlbGVjdG9yLjwvcD4KCjxkaXYgY2xhc3M9ImV4YW1wbGUiPgogIDxw
PkV4YW1wbGVzOjwvcD4KICA8cD5Bc3N1bWluZyB0aGF0IHRoZSBkZWZhdWx0IG5hbWVzcGFjZSBp
cyBib3VuZCB0bwogICJodHRwOi8vZXhhbXBsZS5jb20vIiwgdGhlIGZvbGxvd2luZyBzZWxlY3Rv
ciByZXByZXNlbnRzIGFsbAogIGVsZW1lbnRzIHRoYXQgYXJlIG5vdCBpbiB0aGF0IG5hbWVzcGFj
ZTo8L3A+CiAgPHByZT4qfCo6bm90KCopPC9wcmU+CiAgPHA+VGhlIGZvbGxvd2luZyBDU1Mgc2Vs
ZWN0b3IgbWF0Y2hlcyBhbnkgZWxlbWVudCBiZWluZyBob3ZlcmVkLAogIHJlZ2FyZGxlc3Mgb2Yg
aXRzIG5hbWVzcGFjZS4gSW4gcGFydGljdWxhciwgaXQgaXMgbm90IGxpbWl0ZWQgdG8KICBvbmx5
IG1hdGNoaW5nIGVsZW1lbnRzIGluIHRoZSBkZWZhdWx0IG5hbWVzcGFjZSB0aGF0IGFyZSBub3Qg
YmVpbmcKICBob3ZlcmVkLCBhbmQgZWxlbWVudHMgbm90IGluIHRoZSBkZWZhdWx0IG5hbWVzcGFj
ZSBkb24ndCBtYXRjaCB0aGUKICBydWxlIHdoZW4gdGhleSA8ZW0+YXJlPC9lbT4gYmVpbmcgaG92
ZXJlZC48L3A+CiAgPHByZT4qfCo6bm90KDpob3Zlcik8L3ByZT4KPC9kaXY+Cgo8cCBjbGFzcz0i
bm90ZSI+PHN0cm9uZz5Ob3RlPC9zdHJvbmc+OiB0aGUgOm5vdCgpIHBzZXVkbyBhbGxvd3MKdXNl
bGVzcyBzZWxlY3RvcnMgdG8gYmUgd3JpdHRlbi4gIEZvciBpbnN0YW5jZSA8Y29kZT46bm90KCp8
Kik8L2NvZGU+LAp3aGljaCByZXByZXNlbnRzIG5vIGVsZW1lbnQgYXQgYWxsLCBvciA8Y29kZT5m
b286bm90KGJhcik8L2NvZGU+LAp3aGljaCBpcyBlcXVpdmFsZW50IHRvIDxjb2RlPmZvbzwvY29k
ZT4gYnV0IHdpdGggYSBoaWdoZXIKc3BlY2lmaWNpdHkuPC9wPgoKPGgzPjxhIG5hbWU9cHNldWRv
LWVsZW1lbnRzPjcuIFBzZXVkby1lbGVtZW50czwvYT48L2gzPgoKPHA+UHNldWRvLWVsZW1lbnRz
IGNyZWF0ZSBhYnN0cmFjdGlvbnMgYWJvdXQgdGhlIGRvY3VtZW50IHRyZWUgYmV5b25kCnRob3Nl
IHNwZWNpZmllZCBieSB0aGUgZG9jdW1lbnQgbGFuZ3VhZ2UuIEZvciBpbnN0YW5jZSwgZG9jdW1l
bnQKbGFuZ3VhZ2VzIGRvIG5vdCBvZmZlciBtZWNoYW5pc21zIHRvIGFjY2VzcyB0aGUgZmlyc3Qg
bGV0dGVyIG9yIGZpcnN0CmxpbmUgb2YgYW4gZWxlbWVudCdzIGNvbnRlbnQuIFBzZXVkby1lbGVt
ZW50cyBhbGxvdyBkZXNpZ25lcnMgdG8gcmVmZXIKdG8gdGhpcyBvdGhlcndpc2UgaW5hY2Nlc3Np
YmxlIGluZm9ybWF0aW9uLiBQc2V1ZG8tZWxlbWVudHMgbWF5IGFsc28KcHJvdmlkZSBkZXNpZ25l
cnMgYSB3YXkgdG8gcmVmZXIgdG8gY29udGVudCB0aGF0IGRvZXMgbm90IGV4aXN0IGluIHRoZQpz
b3VyY2UgZG9jdW1lbnQgKGUuZy4sIHRoZSA8Y29kZT46OmJlZm9yZTwvY29kZT4gYW5kCjxjb2Rl
Pjo6YWZ0ZXI8L2NvZGU+IHBzZXVkby1lbGVtZW50cyBnaXZlIGFjY2VzcyB0byBnZW5lcmF0ZWQK
Y29udGVudCkuPC9wPgoKPHA+QSBwc2V1ZG8tZWxlbWVudCBpcyBtYWRlIG9mIHR3byBjb2xvbnMg
KDxjb2RlPjo6PC9jb2RlPikgZm9sbG93ZWQKYnkgdGhlIG5hbWUgb2YgdGhlIHBzZXVkby1lbGVt
ZW50LjwvcD4KCjxwPlRoaXMgPGNvZGU+Ojo8L2NvZGU+IG5vdGF0aW9uIGlzIGludHJvZHVjZWQg
YnkgdGhlIGN1cnJlbnQgZG9jdW1lbnQKaW4gb3JkZXIgdG8gZXN0YWJsaXNoIGEgZGlzY3JpbWlu
YXRpb24gYmV0d2VlbiBwc2V1ZG8tY2xhc3NlcyBhbmQKcHNldWRvLWVsZW1lbnRzLiAgRm9yIGNv
bXBhdGliaWxpdHkgd2l0aCBleGlzdGluZyBzdHlsZSBzaGVldHMsIHVzZXIKYWdlbnRzIG11c3Qg
YWxzbyBhY2NlcHQgdGhlIHByZXZpb3VzIG9uZS1jb2xvbiBub3RhdGlvbiBmb3IKcHNldWRvLWVs
ZW1lbnRzIGludHJvZHVjZWQgaW4gQ1NTIGxldmVscyAxIGFuZCAyIChuYW1lbHksCjxjb2RlPjpm
aXJzdC1saW5lPC9jb2RlPiwgPGNvZGU+OmZpcnN0LWxldHRlcjwvY29kZT4sCjxjb2RlPjpiZWZv
cmU8L2NvZGU+IGFuZCA8Y29kZT46YWZ0ZXI8L2NvZGU+KS4gVGhpcyBjb21wYXRpYmlsaXR5IGlz
Cm5vdCBhbGxvd2VkIGZvciB0aGUgbmV3IHBzZXVkby1lbGVtZW50cyBpbnRyb2R1Y2VkIGluIENT
UyBsZXZlbCAzLjwvcD4KCjxwPk9ubHkgb25lIHBzZXVkby1lbGVtZW50IG1heSBhcHBlYXIgcGVy
IHNlbGVjdG9yLCBhbmQgaWYgcHJlc2VudCBpdAptdXN0IGFwcGVhciBhZnRlciB0aGUgc2VxdWVu
Y2Ugb2Ygc2ltcGxlIHNlbGVjdG9ycyB0aGF0IHJlcHJlc2VudHMgdGhlCjxhIGhyZWY9IiNzdWJq
ZWN0Ij5zdWJqZWN0czwvYT4gb2YgdGhlIHNlbGVjdG9yLiA8c3BhbiBjbGFzcz0ibm90ZSI+QQpm
dXR1cmUgdmVyc2lvbiBvZiB0aGlzIHNwZWNpZmljYXRpb24gbWF5IGFsbG93IG11bHRpcGxlCnBl
c3Vkby1lbGVtZW50cyBwZXIgc2VsZWN0b3IuPC9zcGFuPjwvcD4KCjxoND48YSBuYW1lPWZpcnN0
LWxpbmU+Ny4xLiBUaGUgOjpmaXJzdC1saW5lIHBzZXVkby1lbGVtZW50PC9hPjwvaDQ+Cgo8cD5U
aGUgPGNvZGU+OjpmaXJzdC1saW5lPC9jb2RlPiBwc2V1ZG8tZWxlbWVudCBkZXNjcmliZXMgdGhl
IGNvbnRlbnRzCm9mIHRoZSBmaXJzdCBmb3JtYXR0ZWQgbGluZSBvZiBhbiBlbGVtZW50LgoKPGRp
diBjbGFzcz0iZXhhbXBsZSI+CjxwPkNTUyBleGFtcGxlOjwvcD4KPHByZT5wOjpmaXJzdC1saW5l
IHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSB9PC9wcmU+CjxwPlRoZSBhYm92ZSBydWxlIG1l
YW5zICJjaGFuZ2UgdGhlIGxldHRlcnMgb2YgdGhlIGZpcnN0IGxpbmUgb2YgZXZlcnkKcGFyYWdy
YXBoIHRvIHVwcGVyY2FzZSIuPC9wPgo8L2Rpdj4KCjxwPlRoZSBzZWxlY3RvciA8Y29kZT5wOjpm
aXJzdC1saW5lPC9jb2RlPiBkb2VzIG5vdCBtYXRjaCBhbnkgcmVhbApIVE1MIGVsZW1lbnQuIEl0
IGRvZXMgbWF0Y2ggYSBwc2V1ZG8tZWxlbWVudCB0aGF0IGNvbmZvcm1pbmcgdXNlcgphZ2VudHMg
d2lsbCBpbnNlcnQgYXQgdGhlIGJlZ2lubmluZyBvZiBldmVyeSBwYXJhZ3JhcGguPC9wPgoKPHA+
Tm90ZSB0aGF0IHRoZSBsZW5ndGggb2YgdGhlIGZpcnN0IGxpbmUgZGVwZW5kcyBvbiBhIG51bWJl
ciBvZgpmYWN0b3JzLCBpbmNsdWRpbmcgdGhlIHdpZHRoIG9mIHRoZSBwYWdlLCB0aGUgZm9udCBz
aXplLCBldGMuICBUaHVzLAphbiBvcmRpbmFyeSBIVE1MIHBhcmFncmFwaCBzdWNoIGFzOjwvcD4K
CjxwcmU+CiZsdDtQJmd0O1RoaXMgaXMgYSBzb21ld2hhdCBsb25nIEhUTUwKcGFyYWdyYXBoIHRo
YXQgd2lsbCBiZSBicm9rZW4gaW50byBzZXZlcmFsCmxpbmVzLiBUaGUgZmlyc3QgbGluZSB3aWxs
IGJlIGlkZW50aWZpZWQKYnkgYSBmaWN0aW9uYWwgdGFnIHNlcXVlbmNlLiBUaGUgb3RoZXIgbGlu
ZXMKd2lsbCBiZSB0cmVhdGVkIGFzIG9yZGluYXJ5IGxpbmVzIGluIHRoZQpwYXJhZ3JhcGguJmx0
Oy9QJmd0Owo8L3ByZT4KCjxwPnRoZSBsaW5lcyBvZiB3aGljaCBoYXBwZW4gdG8gYmUgYnJva2Vu
IGFzIGZvbGxvd3M6Cgo8cHJlPgpUSElTIElTIEEgU09NRVdIQVQgTE9ORyBIVE1MIFBBUkFHUkFQ
SCBUSEFUCndpbGwgYmUgYnJva2VuIGludG8gc2V2ZXJhbCBsaW5lcy4gVGhlIGZpcnN0CmxpbmUg
d2lsbCBiZSBpZGVudGlmaWVkIGJ5IGEgZmljdGlvbmFsIHRhZwpzZXF1ZW5jZS4gVGhlIG90aGVy
IGxpbmVzIHdpbGwgYmUgdHJlYXRlZCBhcwpvcmRpbmFyeSBsaW5lcyBpbiB0aGUgcGFyYWdyYXBo
Lgo8L3ByZT4KCjxwPlRoaXMgcGFyYWdyYXBoIG1pZ2h0IGJlICJyZXdyaXR0ZW4iIGJ5IHVzZXIg
YWdlbnRzIHRvIGluY2x1ZGUgdGhlCjxlbT5maWN0aW9uYWwgdGFnIHNlcXVlbmNlPC9lbT4gZm9y
IDxjb2RlPjo6Zmlyc3QtbGluZTwvY29kZT4uIFRoaXMKZmljdGlvbmFsIHRhZyBzZXF1ZW5jZSBo
ZWxwcyB0byBzaG93IGhvdyBwcm9wZXJ0aWVzIGFyZSBpbmhlcml0ZWQuPC9wPgoKPHByZT4KJmx0
O1AmZ3Q7PGI+Jmx0O1A6OmZpcnN0LWxpbmUmZ3Q7PC9iPiBUaGlzIGlzIGEgc29tZXdoYXQgbG9u
ZyBIVE1MCnBhcmFncmFwaCB0aGF0IDxiPiZsdDsvUDo6Zmlyc3QtbGluZSZndDs8L2I+IHdpbGwg
YmUgYnJva2VuIGludG8gc2V2ZXJhbApsaW5lcy4gVGhlIGZpcnN0IGxpbmUgd2lsbCBiZSBpZGVu
dGlmaWVkCmJ5IGEgZmljdGlvbmFsIHRhZyBzZXF1ZW5jZS4gVGhlIG90aGVyIGxpbmVzCndpbGwg
YmUgdHJlYXRlZCBhcyBvcmRpbmFyeSBsaW5lcyBpbiB0aGUKcGFyYWdyYXBoLiZsdDsvUCZndDsK
PC9wcmU+Cgo8cD5JZiBhIHBzZXVkby1lbGVtZW50IGJyZWFrcyB1cCBhIHJlYWwgZWxlbWVudCwg
dGhlIGRlc2lyZWQgZWZmZWN0CmNhbiBvZnRlbiBiZSBkZXNjcmliZWQgYnkgYSBmaWN0aW9uYWwg
dGFnIHNlcXVlbmNlIHRoYXQgY2xvc2VzIGFuZAp0aGVuIHJlLW9wZW5zIHRoZSBlbGVtZW50LiBU
aHVzLCBpZiB3ZSBtYXJrIHVwIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgKd2l0aCBhIDxjb2RlPnNw
YW48L2NvZGU+IGVsZW1lbnQ6PC9wPgoKPHByZT4KJmx0O1AmZ3Q7PGI+Jmx0O1NQQU4gY2xhc3M9
InRlc3QiJmd0OzwvYj4gVGhpcyBpcyBhIHNvbWV3aGF0IGxvbmcgSFRNTApwYXJhZ3JhcGggdGhh
dCB3aWxsIGJlIGJyb2tlbiBpbnRvIHNldmVyYWwKbGluZXMuPGI+Jmx0Oy9TUEFOJmd0OzwvYj4g
VGhlIGZpcnN0IGxpbmUgd2lsbCBiZSBpZGVudGlmaWVkCmJ5IGEgZmljdGlvbmFsIHRhZyBzZXF1
ZW5jZS4gVGhlIG90aGVyIGxpbmVzCndpbGwgYmUgdHJlYXRlZCBhcyBvcmRpbmFyeSBsaW5lcyBp
biB0aGUKcGFyYWdyYXBoLiZsdDsvUCZndDsKPC9wcmU+Cgo8cD50aGUgdXNlciBhZ2VudCBjb3Vs
ZCBzaW11bGF0ZSBzdGFydCBhbmQgZW5kIHRhZ3MgZm9yCjxjb2RlPnNwYW48L2NvZGU+IHdoZW4g
aW5zZXJ0aW5nIHRoZSBmaWN0aW9uYWwgdGFnIHNlcXVlbmNlIGZvcgo8Y29kZT46OmZpcnN0LWxp
bmU8L2NvZGU+LgoKPHByZT4KJmx0O1AmZ3Q7Jmx0O1A6OmZpcnN0LWxpbmUmZ3Q7PGI+Jmx0O1NQ
QU4gY2xhc3M9InRlc3QiJmd0OzwvYj4gVGhpcyBpcyBhCnNvbWV3aGF0IGxvbmcgSFRNTApwYXJh
Z3JhcGggdGhhdCB3aWxsIDxiPiZsdDsvU1BBTiZndDs8L2I+Jmx0Oy9QOjpmaXJzdC1saW5lJmd0
OzxiPiZsdDtTUEFOIGNsYXNzPSJ0ZXN0IiZndDs8L2I+IGJlCmJyb2tlbiBpbnRvIHNldmVyYWwK
bGluZXMuPGI+Jmx0Oy9TUEFOJmd0OzwvYj4gVGhlIGZpcnN0IGxpbmUgd2lsbCBiZSBpZGVudGlm
aWVkCmJ5IGEgZmljdGlvbmFsIHRhZyBzZXF1ZW5jZS4gVGhlIG90aGVyIGxpbmVzCndpbGwgYmUg
dHJlYXRlZCBhcyBvcmRpbmFyeSBsaW5lcyBpbiB0aGUKcGFyYWdyYXBoLiZsdDsvUCZndDsKPC9w
cmU+Cgo8cD5JbiBDU1MsIHRoZSA8Y29kZT46OmZpcnN0LWxpbmU8L2NvZGU+IHBzZXVkby1lbGVt
ZW50IGNhbiBvbmx5IGJlCmF0dGFjaGVkIHRvIGEgYmxvY2stbGV2ZWwgZWxlbWVudCwgYW4gaW5s
aW5lLWJsb2NrLCBhIHRhYmxlLWNhcHRpb24sCm9yIGEgdGFibGUtY2VsbC48L3A+Cgo8cD48YSBu
YW1lPSJmaXJzdC1mb3JtYXR0ZWQtbGluZSI+PC9hPlRoZSAiZmlyc3QgZm9ybWF0dGVkIGxpbmUi
IG9mIGFuCmVsZW1lbnQgbWF5IG9jY3VyIGluc2lkZSBhCmJsb2NrLWxldmVsIGRlc2NlbmRhbnQg
aW4gdGhlIHNhbWUgZmxvdyAoaS5lLiwgYSBibG9jay1sZXZlbApkZXNjZW5kYW50IHRoYXQgaXMg
bm90IHBvc2l0aW9uZWQgYW5kIG5vdCBhIGZsb2F0KS4gRS5nLiwgdGhlIGZpcnN0CmxpbmUgb2Yg
dGhlIDxjb2RlPmRpdjwvY29kZT4gaW4gPGNvZGU+Jmx0O0RJVj4mbHQ7UD5UaGlzCmxpbmUuLi4m
bHQ7L1A+Jmx0L0RJVj48L2NvZGU+IGlzIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSA8Y29kZT5wPC9j
b2RlPiAoYXNzdW1pbmcKdGhhdCBib3RoIDxjb2RlPnA8L2NvZGU+IGFuZCA8Y29kZT5kaXY8L2Nv
ZGU+IGFyZSBibG9jay1sZXZlbCkuCgo8cD5UaGUgZmlyc3QgbGluZSBvZiBhIHRhYmxlLWNlbGwg
b3IgaW5saW5lLWJsb2NrIGNhbm5vdCBiZSB0aGUgZmlyc3QKZm9ybWF0dGVkIGxpbmUgb2YgYW4g
YW5jZXN0b3IgZWxlbWVudC4gVGh1cywgaW4gPGNvZGU+Jmx0O0RJViZndDsmbHQ7UApTVFlMRT0i
ZGlzcGxheTogaW5saW5lLWJsb2NrIj5IZWxsbyZsdDtCUiZndDtHb29kYnllJmx0Oy9QJmd0Owpl
dGNldGVyYSZsdDsvRElWJmd0OzwvY29kZT4gdGhlIGZpcnN0IGZvcm1hdHRlZCBsaW5lIG9mIHRo
ZQo8Y29kZT5kaXY8L2NvZGU+IGlzIG5vdCB0aGUgbGluZSAiSGVsbG8iLgoKPHAgY2xhc3M9Im5v
dGUiPk5vdGUgdGhhdCB0aGUgZmlyc3QgbGluZSBvZiB0aGUgPGNvZGU+cDwvY29kZT4gaW4gdGhp
cwpmcmFnbWVudDogPGNvZGU+Jmx0O3AmZ3QmbHQ7YnImZ3Q7Rmlyc3QuLi48L2NvZGU+IGRvZXNu
J3QgY29udGFpbiBhbnkKbGV0dGVycyAoYXNzdW1pbmcgdGhlIGRlZmF1bHQgc3R5bGUgZm9yIDxj
b2RlPmJyPC9jb2RlPiBpbiBIVE1MCjQpLiBUaGUgd29yZCAiRmlyc3QiIGlzIG5vdCBvbiB0aGUg
Zmlyc3QgZm9ybWF0dGVkIGxpbmUuCgo8cD5BIFVBIHNob3VsZCBhY3QgYXMgaWYgdGhlIGZpY3Rp
b25hbCBzdGFydCB0YWdzIG9mIHRoZQo8Y29kZT46OmZpcnN0LWxpbmU8L2NvZGU+IHBzZXVkby1l
bGVtZW50cyB3ZXJlIG5lc3RlZCBqdXN0IGluc2lkZSB0aGUKaW5uZXJtb3N0IGVuY2xvc2luZyBi
bG9jay1sZXZlbCBlbGVtZW50LiAoU2luY2UgQ1NTMSBhbmQgQ1NTMiB3ZXJlCnNpbGVudCBvbiB0
aGlzIGNhc2UsIGF1dGhvcnMgc2hvdWxkIG5vdCByZWx5IG9uIHRoaXMgYmVoYXZpb3IuKSBIZXJl
CmlzIGFuIGV4YW1wbGUuIFRoZSBmaWN0aW9uYWwgdGFnIHNlcXVlbmNlIGZvcjwvcD4KCjxwcmU+
CiZsdDtESVY+CiAgJmx0O1A+Rmlyc3QgcGFyYWdyYXBoJmx0Oy9QPgogICZsdDtQPlNlY29uZCBw
YXJhZ3JhcGgmbHQ7L1A+CiZsdDsvRElWPgo8L3ByZT4KCjxwPmlzPC9wPgoKPHByZT4KJmx0O0RJ
Vj4KICAmbHQ7UD4mbHQ7RElWOjpmaXJzdC1saW5lPiZsdDtQOjpmaXJzdC1saW5lPkZpcnN0IHBh
cmFncmFwaCZsdDsvUDo6Zmlyc3QtbGluZT4mbHQ7L0RJVjo6Zmlyc3QtbGluZT4mbHQ7L1A+CiAg
Jmx0O1A+Jmx0O1A6OmZpcnN0LWxpbmU+U2Vjb25kIHBhcmFncmFwaCZsdDsvUDo6Zmlyc3QtbGlu
ZT4mbHQ7L1A+CiZsdDsvRElWPgo8L3ByZT4KCjxwPlRoZSA8Y29kZT46OmZpcnN0LWxpbmU8L2Nv
ZGU+IHBzZXVkby1lbGVtZW50IGlzIHNpbWlsYXIgdG8gYW4KaW5saW5lLWxldmVsIGVsZW1lbnQs
IGJ1dCB3aXRoIGNlcnRhaW4gcmVzdHJpY3Rpb25zLiBJbiBDU1MsIHRoZQpmb2xsb3dpbmcgcHJv
cGVydGllcyBhcHBseSB0byBhIDxjb2RlPjo6Zmlyc3QtbGluZTwvY29kZT4KcHNldWRvLWVsZW1l
bnQ6IGZvbnQgcHJvcGVydGllcywgY29sb3IgcHJvcGVydHksIGJhY2tncm91bmQKcHJvcGVydGll
cywgJ3dvcmQtc3BhY2luZycsICdsZXR0ZXItc3BhY2luZycsICd0ZXh0LWRlY29yYXRpb24nLAon
dmVydGljYWwtYWxpZ24nLCAndGV4dC10cmFuc2Zvcm0nLCAnbGluZS1oZWlnaHQnLiBVQXMgbWF5
IGFwcGx5IG90aGVyCnByb3BlcnRpZXMgYXMgd2VsbC48L3A+CgoKPGg0PjxhIG5hbWU9Zmlyc3Qt
bGV0dGVyPjcuMi4gVGhlIDo6Zmlyc3QtbGV0dGVyIHBzZXVkby1lbGVtZW50PC9hPjwvaDQ+Cgo8
cD5UaGUgPGNvZGU+OjpmaXJzdC1sZXR0ZXI8L2NvZGU+IHBzZXVkby1lbGVtZW50IHJlcHJlc2Vu
dHMgdGhlIGZpcnN0CmxldHRlciBvZiB0aGUgZmlyc3QgbGluZSBvZiBhIGJsb2NrLCBpZiBpdCBp
cyBub3QgcHJlY2VkZWQgYnkgYW55Cm90aGVyIGNvbnRlbnQgKHN1Y2ggYXMgaW1hZ2VzIG9yIGlu
bGluZSB0YWJsZXMpIG9uIGl0cyBsaW5lLiBUaGUKOjpmaXJzdC1sZXR0ZXIgcHNldWRvLWVsZW1l
bnQgbWF5IGJlIHVzZWQgZm9yICJpbml0aWFsIGNhcHMiIGFuZCAiZHJvcApjYXBzIiwgd2hpY2gg
YXJlIGNvbW1vbiB0eXBvZ3JhcGhpY2FsIGVmZmVjdHMuIFRoaXMgdHlwZSBvZiBpbml0aWFsCmxl
dHRlciBpcyBzaW1pbGFyIHRvIGFuIGlubGluZS1sZXZlbCBlbGVtZW50IGlmIGl0cyAnZmxvYXQn
IHByb3BlcnR5CmlzICdub25lJzsgb3RoZXJ3aXNlLCBpdCBpcyBzaW1pbGFyIHRvIGEgZmxvYXRl
ZCBlbGVtZW50LjwvcD4KCjxwPkluIENTUywgdGhlc2UgYXJlIHRoZSBwcm9wZXJ0aWVzIHRoYXQg
YXBwbHkgdG8gPGNvZGU+OjpmaXJzdC1sZXR0ZXI8L2NvZGU+CnBzZXVkby1lbGVtZW50czogZm9u
dCBwcm9wZXJ0aWVzLCAndGV4dC1kZWNvcmF0aW9uJywgJ3RleHQtdHJhbnNmb3JtJywKJ2xldHRl
ci1zcGFjaW5nJywgJ3dvcmQtc3BhY2luZycgKHdoZW4gYXBwcm9wcmlhdGUpLCAnbGluZS1oZWln
aHQnLAonZmxvYXQnLCAndmVydGljYWwtYWxpZ24nIChvbmx5IGlmICdmbG9hdCcgaXMgJ25vbmUn
KSwgbWFyZ2luCnByb3BlcnRpZXMsIHBhZGRpbmcgcHJvcGVydGllcywgYm9yZGVyIHByb3BlcnRp
ZXMsIGNvbG9yIHByb3BlcnR5LApiYWNrZ3JvdW5kIHByb3BlcnRpZXMuICBVQXMgbWF5IGFwcGx5
IG90aGVyIHByb3BlcnRpZXMgYXMgd2VsbC4gIFRvCmFsbG93IFVBcyB0byByZW5kZXIgYSB0eXBv
Z3JhcGhpY2FsbHkgY29ycmVjdCBkcm9wIGNhcCBvciBpbml0aWFsIGNhcCwKdGhlIFVBIG1heSBj
aG9vc2UgYSBsaW5lLWhlaWdodCwgd2lkdGggYW5kIGhlaWdodCBiYXNlZCBvbiB0aGUgc2hhcGUK
b2YgdGhlIGxldHRlciwgdW5saWtlIGZvciBub3JtYWwgZWxlbWVudHMuPC9wPgoKPGRpdiBjbGFz
cz0iZXhhbXBsZSI+CjxwPkV4YW1wbGU6PC9wPgo8cD5UaGlzIGV4YW1wbGUgc2hvd3MgYSBwb3Nz
aWJsZSByZW5kZXJpbmcgb2YgYW4gaW5pdGlhbCBjYXAuIE5vdGUKdGhhdCB0aGUgJ2xpbmUtaGVp
Z2h0JyB0aGF0IGlzIGluaGVyaXRlZCBieSB0aGUgPGNvZGU+OjpmaXJzdC1sZXR0ZXI8L2NvZGU+
CnBzZXVkby1lbGVtZW50IGlzIDEuMSwgYnV0IHRoZSBVQSBpbiB0aGlzIGV4YW1wbGUgaGFzIGNv
bXB1dGVkIHRoZQpoZWlnaHQgb2YgdGhlIGZpcnN0IGxldHRlciBkaWZmZXJlbnRseSwgc28gdGhh
dCBpdCBkb2Vzbid0IGNhdXNlIGFueQp1bm5lY2Vzc2FyeSBzcGFjZSBiZXR3ZWVuIHRoZSBmaXJz
dCB0d28gbGluZXMuIEFsc28gbm90ZSB0aGF0IHRoZQpmaWN0aW9uYWwgc3RhcnQgdGFnIG9mIHRo
ZSBmaXJzdCBsZXR0ZXIgaXMgaW5zaWRlIHRoZSA8c3Bhbj5zcGFuPC9zcGFuPiwgYW5kIHRodXMK
dGhlIGZvbnQgd2VpZ2h0IG9mIHRoZSBmaXJzdCBsZXR0ZXIgaXMgbm9ybWFsLCBub3QgYm9sZCBh
cyB0aGUgPHNwYW4+c3Bhbjwvc3Bhbj46CjxwcmU+CnAgeyBsaW5lLWhlaWdodDogMS4xIH0KcDo6
Zmlyc3QtbGV0dGVyIHsgZm9udC1zaXplOiAzZW07IGZvbnQtd2VpZ2h0OiBub3JtYWwgfQpzcGFu
IHsgZm9udC13ZWlnaHQ6IGJvbGQgfQouLi4KJmx0O3A+Jmx0O3NwYW4+SGV0IGhlbWVsc2NoZSZs
dDsvc3Bhbj4gZ2VyZWNodCBoZWVmdCB6aWNoIHRlbiBsYW5nZSBsZXN0ZW4mbHQ7YnI+CkVyYmFy
cmVtdCBvdmVyIG15IGVuIG1pam4gYmVuYWV1d2RlIHZlc3RlbiZsdDticj4KRW4gYXJtZSBidXJn
ZXJ5LCBlbiBvcCBtaWpuIHZvbGN4IGdlYmVkJmx0O2JyPgpFbiBkYWdlbGl4IGdlc2NocmV5IGRl
IGJhbmdlIHN0YWQgb250emV0Lgo8L3ByZT4KPGRpdiBjbGFzcz0iZmlndXJlIj4KPHA+PGltZyBz
cmM9ImluaXRpYWwtY2FwLnBuZyIgYWx0PSJJbWFnZSBpbGx1c3RyYXRpbmcgdGhlIDo6Zmlyc3Qt
bGV0dGVyIHBzZXVkby1lbGVtZW50Ij4KPC9kaXY+CjwvZGl2PgoKPGRpdiBjbGFzcz0iZXhhbXBs
ZSI+CjxwPlRoZSBmb2xsb3dpbmcgQ1NTIHdpbGwgbWFrZSBhIGRyb3AgY2FwIGluaXRpYWwgbGV0
dGVyIHNwYW4gYWJvdXQgdHdvIGxpbmVzOjwvcD4KCjxwcmU+CiZsdDshRE9DVFlQRSBIVE1MIFBV
QkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxLy9FTiImZ3Q7CiZsdDtIVE1MJmd0OwogJmx0O0hF
QUQmZ3Q7CiAgJmx0O1RJVExFJmd0O0Ryb3AgY2FwIGluaXRpYWwgbGV0dGVyJmx0Oy9USVRMRSZn
dDsKICAmbHQ7U1RZTEUgdHlwZT0idGV4dC9jc3MiJmd0OwogICBQICAgICAgICAgICAgICAgeyBm
b250LXNpemU6IDEycHQ7IGxpbmUtaGVpZ2h0OiAxLjIgfQogICBQOjpmaXJzdC1sZXR0ZXIgeyBm
b250LXNpemU6IDIwMCU7IGZvbnQtd2VpZ2h0OiBib2xkOyBmbG9hdDogbGVmdCB9CiAgIFNQQU4g
ICAgICAgICAgICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgfQogICZsdDsvU1RZTEUmZ3Q7
CiAmbHQ7L0hFQUQmZ3Q7CiAmbHQ7Qk9EWSZndDsKICAmbHQ7UCZndDsmbHQ7U1BBTiZndDtUaGUg
Zmlyc3QmbHQ7L1NQQU4mZ3Q7IGZldyB3b3JkcyBvZiBhbiBhcnRpY2xlCiAgICBpbiBUaGUgRWNv
bm9taXN0LiZsdDsvUCZndDsKICZsdDsvQk9EWSZndDsKJmx0Oy9IVE1MJmd0Owo8L3ByZT4KCjxw
PlRoaXMgZXhhbXBsZSBtaWdodCBiZSBmb3JtYXR0ZWQgYXMgZm9sbG93czo8L3A+Cgo8ZGl2IGNs
YXNzPSJmaWd1cmUiPgo8UD48aW1nIHNyYz0iZmlyc3QtbGV0dGVyLmdpZiIgYWx0PSJJbWFnZSBp
bGx1c3RyYXRpbmcgdGhlIGNvbWJpbmVkIGVmZmVjdCBvZiB0aGUgOjpmaXJzdC1sZXR0ZXIgYW5k
IDo6Zmlyc3QtbGluZSBwc2V1ZG8tZWxlbWVudHMiPjwvcD4KPC9kaXY+Cgo8cD5UaGUgPHNwYW4g
Y2xhc3M9ImluZGV4LWluc3QiIHRpdGxlPSJmaWN0aW9uYWwgdGFnCnNlcXVlbmNlIj5maWN0aW9u
YWwgdGFnIHNlcXVlbmNlPC9zcGFuPiBpczo8L3A+Cgo8cHJlPgombHQ7UCZndDsKJmx0O1NQQU4m
Z3Q7CiZsdDtQOjpmaXJzdC1sZXR0ZXImZ3Q7ClQKJmx0Oy9QOjpmaXJzdC1sZXR0ZXImZ3Q7aGUg
Zmlyc3QKJmx0Oy9TUEFOJmd0OwpmZXcgd29yZHMgb2YgYW4gYXJ0aWNsZSBpbiB0aGUgRWNvbm9t
aXN0LgombHQ7L1AmZ3Q7CjwvcHJlPgoKPHA+Tm90ZSB0aGF0IHRoZSA8Y29kZT46OmZpcnN0LWxl
dHRlcjwvY29kZT4gcHNldWRvLWVsZW1lbnQgdGFncyBhYnV0CnRoZSBjb250ZW50IChpLmUuLCB0
aGUgaW5pdGlhbCBjaGFyYWN0ZXIpLCB3aGlsZSB0aGUgOjpmaXJzdC1saW5lCnBzZXVkby1lbGVt
ZW50IHN0YXJ0IHRhZyBpcyBpbnNlcnRlZCByaWdodCBhZnRlciB0aGUgc3RhcnQgdGFnIG9mIHRo
ZQpibG9jayBlbGVtZW50LjwvcD4gPC9kaXY+Cgo8cD5JbiBvcmRlciB0byBhY2hpZXZlIHRyYWRp
dGlvbmFsIGRyb3AgY2FwcyBmb3JtYXR0aW5nLCB1c2VyIGFnZW50cwptYXkgYXBwcm94aW1hdGUg
Zm9udCBzaXplcywgZm9yIGV4YW1wbGUgdG8gYWxpZ24gYmFzZWxpbmVzLiBBbHNvLCB0aGUKZ2x5
cGggb3V0bGluZSBtYXkgYmUgdGFrZW4gaW50byBhY2NvdW50IHdoZW4gZm9ybWF0dGluZy48L3A+
Cgo8cD5QdW5jdHVhdGlvbiAoaS5lLCBjaGFyYWN0ZXJzIGRlZmluZWQgaW4gVW5pY29kZSBpbiB0
aGUgIm9wZW4iIChQcyksCiJjbG9zZSIgKFBlKSwgImluaXRpYWwiIChQaSkuICJmaW5hbCIgKFBm
KSBhbmQgIm90aGVyIiAoUG8pCnB1bmN0dWF0aW9uIGNsYXNzZXMpLCB0aGF0IHByZWNlZGVzIG9y
IGZvbGxvd3MgdGhlIGZpcnN0IGxldHRlciBzaG91bGQKYmUgaW5jbHVkZWQuIDxhIGhyZWY9IiNy
ZWZzVU5JQ09ERSI+W1VOSUNPREVdPC9hPjwvcD4KCjxkaXYgY2xhc3M9ImZpZ3VyZSI+CjxQPjxp
bWcgc3JjPSJmaXJzdC1sZXR0ZXIyLmdpZiIgYWx0PSJRdW90ZXMgdGhhdCBwcmVjZWRlIHRoZQpm
aXJzdCBsZXR0ZXIgc2hvdWxkIGJlIGluY2x1ZGVkLiI+PC9wPgo8L2Rpdj4KCjxwPlRoZSA8Y29k
ZT46OmZpcnN0LWxldHRlcjwvY29kZT4gYWxzbyBhcHBsaWVzIGlmIHRoZSBmaXJzdCBsZXR0ZXIg
aXMKaW4gZmFjdCBhIGRpZ2l0LCBlLmcuLCB0aGUgIjYiIGluICI2NyBtaWxsaW9uIGRvbGxhcnMg
aXMgYSBsb3Qgb2YKbW9uZXkuIjwvcD4KCjxwPkluIENTUywgdGhlIDxjb2RlPjo6Zmlyc3QtbGV0
dGVyPC9jb2RlPiBwc2V1ZG8tZWxlbWVudCBhcHBsaWVzIHRvCmJsb2NrLCBsaXN0LWl0ZW0sIHRh
YmxlLWNlbGwsIHRhYmxlLWNhcHRpb24sIGFuZCBpbmxpbmUtYmxvY2sKZWxlbWVudHMuIDxzcGFu
IGNsYXNzPSJub3RlIj5BIGZ1dHVyZSB2ZXJzaW9uIG9mIHRoaXMgc3BlY2lmaWNhdGlvbgptYXkg
YWxsb3cgdGhpcyBwZXN1ZG8tZWxlbWVudCB0byBhcHBseSB0byBtb3JlIGVsZW1lbnQKdHlwZXMu
PC9zcGFuPjwvcD4KCjxwPlRoZSA8Y29kZT46OmZpcnN0LWxldHRlcjwvY29kZT4gcHNldWRvLWVs
ZW1lbnQgY2FuIGJlIHVzZWQgd2l0aCBhbGwKc3VjaCBlbGVtZW50cyB0aGF0IGNvbnRhaW4gdGV4
dCwgb3IgdGhhdCBoYXZlIGEgZGVzY2VuZGFudCBpbiB0aGUgc2FtZQpmbG93IHRoYXQgY29udGFp
bnMgdGV4dC4gQSBVQSBzaG91bGQgYWN0IGFzIGlmIHRoZSBmaWN0aW9uYWwgc3RhcnQgdGFnCm9m
IHRoZSA6OmZpcnN0LWxldHRlciBwc2V1ZG8tZWxlbWVudCBpcyBqdXN0IGJlZm9yZSB0aGUgZmly
c3QgdGV4dCBvZgp0aGUgZWxlbWVudCwgZXZlbiBpZiB0aGF0IGZpcnN0IHRleHQgaXMgaW4gYSBk
ZXNjZW5kYW50LjwvcD4KCjxkaXYgY2xhc3M9ImV4YW1wbGUiPgo8cD5FeGFtcGxlOjwvcD4KPHA+
VGhlIGZpY3Rpb25hbCB0YWcgc2VxdWVuY2UgZm9yIHRoaXMgSFRNTGZyYWdtZW50Ogo8cHJlPiZs
dDtkaXY+CiZsdDtwPlRoZSBmaXJzdCB0ZXh0LjwvcHJlPgo8cD5pczoKPHByZT4mbHQ7ZGl2Pgom
bHQ7cD4mbHQ7ZGl2OjpmaXJzdC1sZXR0ZXI+Jmx0O3A6OmZpcnN0LWxldHRlcj5UJmx0Oy8uLi4+
Jmx0Oy8uLi4+aGUgZmlyc3QgdGV4dC48L3ByZT4KPC9kaXY+Cgo8cD5UaGUgZmlyc3QgbGV0dGVy
IG9mIGEgdGFibGUtY2VsbCBvciBpbmxpbmUtYmxvY2sgY2Fubm90IGJlIHRoZQpmaXJzdCBsZXR0
ZXIgb2YgYW4gYW5jZXN0b3IgZWxlbWVudC4gVGh1cywgaW4gPGNvZGU+Jmx0O0RJViZndDsmbHQ7
UApTVFlMRT0iZGlzcGxheTogaW5saW5lLWJsb2NrIj5IZWxsbyZsdDtCUiZndDtHb29kYnllJmx0
Oy9QJmd0OwpldGNldGVyYSZsdDsvRElWJmd0OzwvY29kZT4gdGhlIGZpcnN0IGxldHRlciBvZiB0
aGUgPGNvZGU+ZGl2PC9jb2RlPiBpcyBub3QgdGhlCmxldHRlciAiSCIuIEluIGZhY3QsIHRoZSA8
Y29kZT5kaXY8L2NvZGU+IGRvZXNuJ3QgaGF2ZSBhIGZpcnN0IGxldHRlci4KCjxwPlRoZSBmaXJz
dCBsZXR0ZXIgbXVzdCBvY2N1ciBvbiB0aGUgPGEKaHJlZj0iI2ZpcnN0LWZvcm1hdHRlZC1saW5l
Ij5maXJzdCBmb3JtYXR0ZWQgbGluZS48L2E+IEZvciBleGFtcGxlLCBpbgp0aGlzIGZyYWdtZW50
OiA8Y29kZT4mbHQ7cCZndCZsdDticiZndDtGaXJzdC4uLjwvY29kZT4gdGhlIGZpcnN0IGxpbmUK
ZG9lc24ndCBjb250YWluIGFueSBsZXR0ZXJzIGFuZCA8Y29kZT46OmZpcnN0LWxldHRlcjwvY29k
ZT4gZG9lc24ndAptYXRjaCBhbnl0aGluZyAoYXNzdW1pbmcgdGhlIGRlZmF1bHQgc3R5bGUgZm9y
IDxjb2RlPmJyPC9jb2RlPiBpbiBIVE1MCjQpLiBJbiBwYXJ0aWN1bGFyLCBpdCBkb2VzIG5vdCBt
YXRjaCB0aGUgIkYiIG9mICJGaXJzdC4iCgo8cD5JbiBDU1MsIGlmIGFuIGVsZW1lbnQgaXMgYSBs
aXN0IGl0ZW0gKCdkaXNwbGF5OiBsaXN0LWl0ZW0nKSwgdGhlCjxjb2RlPjo6Zmlyc3QtbGV0dGVy
PC9jb2RlPiBhcHBsaWVzIHRvIHRoZSBmaXJzdCBsZXR0ZXIgaW4gdGhlCnByaW5jaXBhbCBib3gg
YWZ0ZXIgdGhlIG1hcmtlci4gVUFzIG1heSBpZ25vcmUKPGNvZGU+OjpmaXJzdC1sZXR0ZXI8L2Nv
ZGU+IG9uIGxpc3QgaXRlbXMgd2l0aCAnbGlzdC1zdHlsZS1wb3NpdGlvbjoKaW5zaWRlJy4gSWYg
YW4gZWxlbWVudCBoYXMgPGNvZGU+OjpiZWZvcmU8L2NvZGU+IG9yCjxjb2RlPjo6YWZ0ZXI8L2Nv
ZGU+IGNvbnRlbnQsIHRoZSA8Y29kZT46OmZpcnN0LWxldHRlcjwvY29kZT4gYXBwbGllcwp0byB0
aGUgZmlyc3QgbGV0dGVyIG9mIHRoZSBlbGVtZW50IDxlbT5pbmNsdWRpbmc8L2VtPiB0aGF0IGNv
bnRlbnQuCgo8ZGl2IGNsYXNzPSJleGFtcGxlIj4KPHA+RXhhbXBsZTo8L3A+CjxwPkFmdGVyIHRo
ZSBydWxlICdwOjpiZWZvcmUge2NvbnRlbnQ6ICJOb3RlOiAifScsIHRoZSBzZWxlY3RvcgoncDo6
Zmlyc3QtbGV0dGVyJyBtYXRjaGVzIHRoZSAiTiIgb2YgIk5vdGUiLjwvcD4KPC9kaXY+Cgo8cD5T
b21lIGxhbmd1YWdlcyBtYXkgaGF2ZSBzcGVjaWZpYyBydWxlcyBhYm91dCBob3cgdG8gdHJlYXQg
Y2VydGFpbgpsZXR0ZXIgY29tYmluYXRpb25zLiBJbiBEdXRjaCwgZm9yIGV4YW1wbGUsIGlmIHRo
ZSBsZXR0ZXIgY29tYmluYXRpb24KImlqIiBhcHBlYXJzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSB3
b3JkLCBib3RoIGxldHRlcnMgc2hvdWxkIGJlCmNvbnNpZGVyZWQgd2l0aGluIHRoZSA8Y29kZT46
OmZpcnN0LWxldHRlcjwvY29kZT4gcHNldWRvLWVsZW1lbnQuCgo8cD5JZiB0aGUgbGV0dGVycyB0
aGF0IHdvdWxkIGZvcm0gdGhlIDo6Zmlyc3QtbGV0dGVyIGFyZSBub3QgaW4gdGhlCnNhbWUgZWxl
bWVudCwgc3VjaCBhcyAiJ1QiIGluIDxjb2RlPiZsdDtwPicmbHQ7ZW0+VC4uLjwvY29kZT4sIHRo
ZSBVQQptYXkgY3JlYXRlIGEgOjpmaXJzdC1sZXR0ZXIgcHNldWRvLWVsZW1lbnQgZnJvbSBvbmUg
b2YgdGhlIGVsZW1lbnRzLApib3RoIGVsZW1lbnRzLCBvciBzaW1wbHkgbm90IGNyZWF0ZSBhIHBz
ZXVkby1lbGVtZW50LjwvcD4KCjxwPlNpbWlsYXJseSwgaWYgdGhlIGZpcnN0IGxldHRlcihzKSBv
ZiB0aGUgYmxvY2sgYXJlIG5vdCBhdCB0aGUgc3RhcnQKb2YgdGhlIGxpbmUgKGZvciBleGFtcGxl
IGR1ZSB0byBiaWRpcmVjdGlvbmFsIHJlb3JkZXJpbmcpLCB0aGVuIHRoZSBVQQpuZWVkIG5vdCBj
cmVhdGUgdGhlIHBzZXVkby1lbGVtZW50KHMpLgoKPGRpdiBjbGFzcz0iZXhhbXBsZSI+CjxwPkV4
YW1wbGU6PC9wPgo8cD48YSBuYW1lPSJvdmVybGFwcGluZy1leGFtcGxlIj5UaGUgZm9sbG93aW5n
IGV4YW1wbGU8L2E+IGlsbHVzdHJhdGVzCmhvdyBvdmVybGFwcGluZyBwc2V1ZG8tZWxlbWVudHMg
bWF5IGludGVyYWN0LiAgVGhlIGZpcnN0IGxldHRlciBvZgplYWNoIFAgZWxlbWVudCB3aWxsIGJl
IGdyZWVuIHdpdGggYSBmb250IHNpemUgb2YgJzI0cHQnLiBUaGUgcmVzdCBvZgp0aGUgZmlyc3Qg
Zm9ybWF0dGVkIGxpbmUgd2lsbCBiZSAnYmx1ZScgd2hpbGUgdGhlIHJlc3Qgb2YgdGhlCnBhcmFn
cmFwaCB3aWxsIGJlICdyZWQnLjwvcD4KCjxwcmU+cCB7IGNvbG9yOiByZWQ7IGZvbnQtc2l6ZTog
MTJwdCB9CnA6OmZpcnN0LWxldHRlciB7IGNvbG9yOiBncmVlbjsgZm9udC1zaXplOiAyMDAlIH0K
cDo6Zmlyc3QtbGluZSB7IGNvbG9yOiBibHVlIH0KCiZsdDtQJmd0O1NvbWUgdGV4dCB0aGF0IGVu
ZHMgdXAgb24gdHdvIGxpbmVzJmx0Oy9QJmd0OzwvcHJlPgoKPHA+QXNzdW1pbmcgdGhhdCBhIGxp
bmUgYnJlYWsgd2lsbCBvY2N1ciBiZWZvcmUgdGhlIHdvcmQgImVuZHMiLCB0aGUKPHNwYW4gY2xh
c3M9ImluZGV4LWluc3QiIHRpdGxlPSJmaWN0aW9uYWwgdGFnIHNlcXVlbmNlIj5maWN0aW9uYWwg
dGFnCnNlcXVlbmNlPC9zcGFuPiBmb3IgdGhpcyBmcmFnbWVudCBtaWdodCBiZTo8L3A+Cgo8cHJl
PiZsdDtQJmd0OwombHQ7UDo6Zmlyc3QtbGluZSZndDsKJmx0O1A6OmZpcnN0LWxldHRlciZndDsK
UwombHQ7L1A6OmZpcnN0LWxldHRlciZndDtvbWUgdGV4dCB0aGF0CiZsdDsvUDo6Zmlyc3QtbGlu
ZSZndDsKZW5kcyB1cCBvbiB0d28gbGluZXMKJmx0Oy9QJmd0OzwvcHJlPgoKPHA+Tm90ZSB0aGF0
IHRoZSA8Y29kZT46OmZpcnN0LWxldHRlcjwvY29kZT4gZWxlbWVudCBpcyBpbnNpZGUgdGhlIDxj
b2RlPjo6Zmlyc3QtbGluZTwvY29kZT4KZWxlbWVudC4gIFByb3BlcnRpZXMgc2V0IG9uIDxjb2Rl
Pjo6Zmlyc3QtbGluZTwvY29kZT4gYXJlIGluaGVyaXRlZCBieQo8Y29kZT46OmZpcnN0LWxldHRl
cjwvY29kZT4sIGJ1dCBhcmUgb3ZlcnJpZGRlbiBpZiB0aGUgc2FtZSBwcm9wZXJ0eSBpcyBzZXQg
b24KPGNvZGU+OjpmaXJzdC1sZXR0ZXI8L2NvZGU+LjwvcD4KPC9kaXY+CgoKPGg0PjxhIG5hbWU9
VUlmcmFnbWVudHM+Ny4zLjwvYT4gPGEgbmFtZT1zZWxlY3Rpb24+VGhlIDo6c2VsZWN0aW9uIHBz
ZXVkby1lbGVtZW50PC9hPjwvaDQ+Cgo8cD5UaGUgPGNvZGU+OjpzZWxlY3Rpb248L2NvZGU+IHBz
ZXVkby1lbGVtZW50IGFwcGxpZXMgdG8gdGhlIHBvcnRpb24Kb2YgYSBkb2N1bWVudCB0aGF0IGhh
cyBiZWVuIGhpZ2hsaWdodGVkIGJ5IHRoZSB1c2VyLiBUaGlzIGFsc28KYXBwbGllcywgZm9yIGV4
YW1wbGUsIHRvIHNlbGVjdGVkIHRleHQgd2l0aGluIGFuIGVkaXRhYmxlIHRleHQKZmllbGQuIFRo
aXMgcHNldWRvLWVsZW1lbnQgc2hvdWxkIG5vdCBiZSBjb25mdXNlZCB3aXRoIHRoZSA8Y29kZT48
YQpocmVmPSIjY2hlY2tlZCI+OmNoZWNrZWQ8L2E+PC9jb2RlPiBwc2V1ZG8tY2xhc3MgKHdoaWNo
IHVzZWQgdG8gYmUKbmFtZWQgPGNvZGU+OnNlbGVjdGVkPC9jb2RlPikKCjxwPkFsdGhvdWdoIHRo
ZSA8Y29kZT46OnNlbGVjdGlvbjwvY29kZT4gcHNldWRvLWVsZW1lbnQgaXMgZHluYW1pYyBpbgpu
YXR1cmUsIGFuZCBpcyBhbHRlcmVkIGJ5IHVzZXIgYWN0aW9uLCBpdCBpcyByZWFzb25hYmxlIHRv
IGV4cGVjdCB0aGF0CndoZW4gYSBVQSByZS1yZW5kZXJzIHRvIGEgc3RhdGljIG1lZGl1bSAoc3Vj
aCBhcyBhIHByaW50ZWQgcGFnZSwgc2VlCjxhIGhyZWY9IiNyZWZzQ1NTMjEiPltDU1MyMV08L2E+
KSB3aGljaCB3YXMgb3JpZ2luYWxseSByZW5kZXJlZCB0byBhCmR5bmFtaWMgbWVkaXVtIChsaWtl
IHNjcmVlbiksIHRoZSBVQSBtYXkgd2lzaCB0byB0cmFuc2ZlciB0aGUgY3VycmVudAo8Y29kZT46
OnNlbGVjdGlvbjwvY29kZT4gc3RhdGUgdG8gdGhhdCBvdGhlciBtZWRpdW0sIGFuZCBoYXZlIGFs
bCB0aGUKYXBwcm9wcmlhdGUgZm9ybWF0dGluZyBhbmQgcmVuZGVyaW5nIHRha2UgZWZmZWN0IGFz
IHdlbGwuIFRoaXMgaXMgbm90CnJlcXVpcmVkICZtZGFzaDsgVUFzIG1heSBvbWl0IHRoZSA8Y29k
ZT46OnNlbGVjdGlvbjwvY29kZT4KcHNldWRvLWVsZW1lbnQgZm9yIHN0YXRpYyBtZWRpYS4KCjxw
PlRoZXNlIGFyZSB0aGUgQ1NTIHByb3BlcnRpZXMgdGhhdCBhcHBseSB0byA8Y29kZT46OnNlbGVj
dGlvbjwvY29kZT4KcHNldWRvLWVsZW1lbnRzOiBjb2xvciwgYmFja2dyb3VuZCwgY3Vyc29yIChv
cHRpb25hbCksIG91dGxpbmUKKG9wdGlvbmFsKS4gVGhlIGNvbXB1dGVkIHZhbHVlIG9mIHRoZSAn
YmFja2dyb3VuZC1pbWFnZScgcHJvcGVydHkgb24KPGNvZGU+OjpzZWxlY3Rpb248L2NvZGU+IG1h
eSBiZSBpZ25vcmVkLgoKCjxoND48YSBuYW1lPWdlbi1jb250ZW50PjcuNC4gVGhlIDo6YmVmb3Jl
IGFuZCA6OmFmdGVyIHBzZXVkby1lbGVtZW50czwvYT48L2g0PgoKPHA+VGhlIDxjb2RlPjo6YmVm
b3JlPC9jb2RlPiBhbmQgPGNvZGU+OjphZnRlcjwvY29kZT4gcHNldWRvLWVsZW1lbnRzCmNhbiBi
ZSB1c2VkIHRvIGRlc2NyaWJlIGdlbmVyYXRlZCBjb250ZW50IGJlZm9yZSBvciBhZnRlciBhbiBl
bGVtZW50J3MKY29udGVudC4gVGhleSBhcmUgZXhwbGFpbmVkIGluIENTUyAyLjEgPGEKaHJlZj0i
I3JlZnNDU1MyMSI+W0NTUzIxXTwvYT4uPC9wPgoKPHA+V2hlbiB0aGUgPGNvZGU+OjpmaXJzdC1s
ZXR0ZXI8L2NvZGU+IGFuZCA8Y29kZT46OmZpcnN0LWxpbmU8L2NvZGU+CnBzZXVkby1lbGVtZW50
cyBhcmUgY29tYmluZWQgd2l0aCA8Y29kZT46OmJlZm9yZTwvY29kZT4gYW5kCjxjb2RlPjo6YWZ0
ZXI8L2NvZGU+LCB0aGV5IGFwcGx5IHRvIHRoZSBmaXJzdCBsZXR0ZXIgb3IgbGluZSBvZiB0aGUK
ZWxlbWVudCBpbmNsdWRpbmcgdGhlIGluc2VydGVkIHRleHQuPC9wPgoKPGgyPjxhIG5hbWU9Y29t
YmluYXRvcnM+OC4gQ29tYmluYXRvcnM8L2E+PC9oMj4KCjxoMz48YSBuYW1lPWRlc2NlbmRhbnQt
Y29tYmluYXRvcnM+OC4xLiBEZXNjZW5kYW50IGNvbWJpbmF0b3I8L2E+PC9oMz4KCjxwPkF0IHRp
bWVzLCBhdXRob3JzIG1heSB3YW50IHNlbGVjdG9ycyB0byBkZXNjcmliZSBhbiBlbGVtZW50IHRo
YXQgaXMKdGhlIGRlc2NlbmRhbnQgb2YgYW5vdGhlciBlbGVtZW50IGluIHRoZSBkb2N1bWVudCB0
cmVlIChlLmcuLCAiYW4KPGNvZGU+RU08L2NvZGU+IGVsZW1lbnQgdGhhdCBpcyBjb250YWluZWQg
d2l0aGluIGFuIDxjb2RlPkgxPC9jb2RlPgplbGVtZW50IikuIERlc2NlbmRhbnQgY29tYmluYXRv
cnMgZXhwcmVzcyBzdWNoIGEgcmVsYXRpb25zaGlwLiBBCmRlc2NlbmRhbnQgY29tYmluYXRvciBp
cyA8YSBocmVmPSIjd2hpdGVzcGFjZSI+d2hpdGUgc3BhY2U8L2E+IHRoYXQKc2VwYXJhdGVzIHR3
byBzZXF1ZW5jZXMgb2Ygc2ltcGxlIHNlbGVjdG9ycy4gIEEgc2VsZWN0b3Igb2YgdGhlIGZvcm0K
Ijxjb2RlPkEgQjwvY29kZT4iIHJlcHJlc2VudHMgYW4gZWxlbWVudCA8Y29kZT5CPC9jb2RlPiB0
aGF0IGlzIGFuCmFyYml0cmFyeSBkZXNjZW5kYW50IG9mIHNvbWUgYW5jZXN0b3IgZWxlbWVudCA8
Y29kZT5BPC9jb2RlPi4KCjxkaXYgY2xhc3M9ImV4YW1wbGUiPgogPHA+RXhhbXBsZXM6PC9wPgog
PHA+Rm9yIGV4YW1wbGUsIGNvbnNpZGVyIHRoZSBmb2xsb3dpbmcgc2VsZWN0b3I6PC9wPgogPHBy
ZT5oMSBlbTwvcHJlPgogPHA+SXQgcmVwcmVzZW50cyBhbiA8Y29kZT5lbTwvY29kZT4gZWxlbWVu
dCBiZWluZyB0aGUgZGVzY2VuZGFudCBvZgogYW4gPGNvZGU+aDE8L2NvZGU+IGVsZW1lbnQuIEl0
IGlzIGEgY29ycmVjdCBhbmQgdmFsaWQsIGJ1dCBwYXJ0aWFsLAogZGVzY3JpcHRpb24gb2YgdGhl
IGZvbGxvd2luZyBmcmFnbWVudDo8L3A+CiA8cHJlPiZsdDtoMSZndDtUaGlzICZsdDtzcGFuIGNs
YXNzPSJteWNsYXNzIiZndDtoZWFkbGluZQppcyAmbHQ7ZW0mZ3Q7dmVyeSZsdDsvZW0mZ3Q7IGlt
cG9ydGFudCZsdDsvc3BhbiZndDsmbHQ7L2gxJmd0OzwvcHJlPgogPHA+VGhlIGZvbGxvd2luZyBz
ZWxlY3Rvcjo8L3A+CiA8cHJlPmRpdiAqIHA8L3ByZT4KIDxwPnJlcHJlc2VudHMgYSA8Y29kZT5w
PC9jb2RlPiBlbGVtZW50IHRoYXQgaXMgYSBncmFuZGNoaWxkIG9yIGxhdGVyCiBkZXNjZW5kYW50
IG9mIGEgPGNvZGU+ZGl2PC9jb2RlPiBlbGVtZW50LiBOb3RlIHRoZSB3aGl0ZXNwYWNlIG9uCiBl
aXRoZXIgc2lkZSBvZiB0aGUgIioiIGlzIG5vdCBwYXJ0IG9mIHRoZSB1bml2ZXJzYWwgc2VsZWN0
b3I7IHRoZQogd2hpdGVzcGFjZSBpcyBhIGNvbWJpbmF0b3IgaW5kaWNhdGluZyB0aGF0IHRoZSBE
SVYgbXVzdCBiZSB0aGUKIGFuY2VzdG9yIG9mIHNvbWUgZWxlbWVudCwgYW5kIHRoYXQgdGhhdCBl
bGVtZW50IG11c3QgYmUgYW4gYW5jZXN0b3IKIG9mIHRoZSBQLjwvcD4KIDxwPlRoZSBmb2xsb3dp
bmcgc2VsZWN0b3IsIHdoaWNoIGNvbWJpbmVzIGRlc2NlbmRhbnQgY29tYmluYXRvcnMgYW5kCiA8
YSBocmVmPSIjYXR0cmlidXRlLXNlbGVjdG9ycyI+YXR0cmlidXRlIHNlbGVjdG9yczwvYT4sIHJl
cHJlc2VudHMgYW4KIGVsZW1lbnQgdGhhdCAoMSkgaGFzIHRoZSA8Y29kZT5ocmVmPC9jb2RlPiBh
dHRyaWJ1dGUgc2V0IGFuZCAoMikgaXMKIGluc2lkZSBhIDxjb2RlPnA8L2NvZGU+IHRoYXQgaXMg
aXRzZWxmIGluc2lkZSBhIDxjb2RlPmRpdjwvY29kZT46PC9wPgogPHByZT5kaXYgcCAqW2hyZWZd
PC9wcmU+CjwvZGl2PgoKPGgzPjxhIG5hbWU9Y2hpbGQtY29tYmluYXRvcnM+OC4yLiBDaGlsZCBj
b21iaW5hdG9yczwvYT48L2gzPgoKPHA+QSA8ZGZuPmNoaWxkIGNvbWJpbmF0b3I8L2Rmbj4gZGVz
Y3JpYmVzIGEgY2hpbGRob29kIHJlbGF0aW9uc2hpcApiZXR3ZWVuIHR3byBlbGVtZW50cy4gQSBj
aGlsZCBjb21iaW5hdG9yIGlzIG1hZGUgb2YgdGhlCiZxdW90O2dyZWF0ZXItdGhhbiBzaWduJnF1
b3Q7ICg8Y29kZT4mZ3Q7PC9jb2RlPikgY2hhcmFjdGVyIGFuZApzZXBhcmF0ZXMgdHdvIHNlcXVl
bmNlcyBvZiBzaW1wbGUgc2VsZWN0b3JzLgoKCjxkaXYgY2xhc3M9ImV4YW1wbGUiPgogPHA+RXhh
bXBsZXM6PC9wPgogPHA+VGhlIGZvbGxvd2luZyBzZWxlY3RvciByZXByZXNlbnRzIGEgPGNvZGU+
cDwvY29kZT4gZWxlbWVudCB0aGF0IGlzCiBjaGlsZCBvZiA8Y29kZT5ib2R5PC9jb2RlPjo8L3A+
CiA8cHJlPmJvZHkgJmd0OyBwPC9wcmU+CiA8cD5UaGUgZm9sbG93aW5nIGV4YW1wbGUgY29tYmlu
ZXMgZGVzY2VuZGFudCBjb21iaW5hdG9ycyBhbmQgY2hpbGQKIGNvbWJpbmF0b3JzLjwvcD4KIDxw
cmU+ZGl2IG9sJmd0O2xpIHA8L3ByZT48IS0tIExFQVZFIFRIT1NFIFNQQUNFUyBPVVQhIHNlZSBi
ZWxvdyAtLT4KIDxwPkl0IHJlcHJlc2VudHMgYSA8Y29kZT5wPC9jb2RlPiBlbGVtZW50IHRoYXQg
aXMgYSBkZXNjZW5kYW50IG9mIGFuCiA8Y29kZT5saTwvY29kZT4gZWxlbWVudDsgdGhlIDxjb2Rl
PmxpPC9jb2RlPiBlbGVtZW50IG11c3QgYmUgdGhlCiBjaGlsZCBvZiBhbiA8Y29kZT5vbDwvY29k
ZT4gZWxlbWVudDsgdGhlIDxjb2RlPm9sPC9jb2RlPiBlbGVtZW50IG11c3QKIGJlIGEgZGVzY2Vu
ZGFudCBvZiBhIDxjb2RlPmRpdjwvY29kZT4uIE5vdGljZSB0aGF0IHRoZSBvcHRpb25hbCB3aGl0
ZQogc3BhY2UgYXJvdW5kIHRoZSAiJmd0OyIgY29tYmluYXRvciBoYXMgYmVlbiBsZWZ0IG91dC48
L3A+CjwvZGl2PgoKPHA+Rm9yIGluZm9ybWF0aW9uIG9uIHNlbGVjdGluZyB0aGUgZmlyc3QgY2hp
bGQgb2YgYW4gZWxlbWVudCwgcGxlYXNlCnNlZSB0aGUgc2VjdGlvbiBvbiB0aGUgPGNvZGU+PGEK
aHJlZj0iI3N0cnVjdHVyYWwtcHNldWRvcyI+OmZpcnN0LWNoaWxkPC9hPjwvY29kZT4gcHNldWRv
LWNsYXNzCmFib3ZlLjwvcD4KCjxoMz48YSBuYW1lPXNpYmxpbmctY29tYmluYXRvcnM+OC4zLiBT
aWJsaW5nIGNvbWJpbmF0b3JzPC9hPjwvaDM+Cgo8cD5UaGVyZSBhcmUgdHdvIGRpZmZlcmVudCBz
aWJsaW5nIGNvbWJpbmF0b3JzOiB0aGUgYWRqYWNlbnQgc2libGluZwpjb21iaW5hdG9yIGFuZCB0
aGUgZ2VuZXJhbCBzaWJsaW5nIGNvbWJpbmF0b3IuIEluIGJvdGggY2FzZXMsCm5vbi1lbGVtZW50
IG5vZGVzIChlLmcuIHRleHQgYmV0d2VlbiBlbGVtZW50cykgYXJlIGlnbm9yZWQgd2hlbgpjb25z
aWRlcmluZyBhZGphY2VuY3kgb2YgZWxlbWVudHMuPC9wPgoKPGg0PjxhIG5hbWU9YWRqYWNlbnQt
c2libGluZy1jb21iaW5hdG9ycz44LjMuMS4gQWRqYWNlbnQgc2libGluZyBjb21iaW5hdG9yPC9h
PjwvaDQ+Cgo8cD5UaGUgYWRqYWNlbnQgc2libGluZyBjb21iaW5hdG9yIGlzIG1hZGUgb2YgdGhl
ICZxdW90O3BsdXMKc2lnbiZxdW90OyAoVSswMDJCLCA8Y29kZT4rPC9jb2RlPikgY2hhcmFjdGVy
IHRoYXQgc2VwYXJhdGVzIHR3bwpzZXF1ZW5jZXMgb2Ygc2ltcGxlIHNlbGVjdG9ycy4gVGhlIGVs
ZW1lbnRzIHJlcHJlc2VudGVkIGJ5IHRoZSB0d28Kc2VxdWVuY2VzIHNoYXJlIHRoZSBzYW1lIHBh
cmVudCBpbiB0aGUgZG9jdW1lbnQgdHJlZSBhbmQgdGhlIGVsZW1lbnQKcmVwcmVzZW50ZWQgYnkg
dGhlIGZpcnN0IHNlcXVlbmNlIGltbWVkaWF0ZWx5IHByZWNlZGVzIHRoZSBlbGVtZW50CnJlcHJl
c2VudGVkIGJ5IHRoZSBzZWNvbmQgb25lLjwvcD4KCjxkaXYgY2xhc3M9ImV4YW1wbGUiPgogPHA+
RXhhbXBsZXM6PC9wPgogPHA+VGhlIGZvbGxvd2luZyBzZWxlY3RvciByZXByZXNlbnRzIGEgPGNv
ZGU+cDwvY29kZT4gZWxlbWVudAogaW1tZWRpYXRlbHkgZm9sbG93aW5nIGEgPGNvZGU+bWF0aDwv
Y29kZT4gZWxlbWVudDo8L3A+CiA8cHJlPm1hdGggKyBwPC9wcmU+CiA8cD5UaGUgZm9sbG93aW5n
IHNlbGVjdG9yIGlzIGNvbmNlcHR1YWxseSBzaW1pbGFyIHRvIHRoZSBvbmUgaW4gdGhlCiBwcmV2
aW91cyBleGFtcGxlLCBleGNlcHQgdGhhdCBpdCBhZGRzIGFuIGF0dHJpYnV0ZSBzZWxlY3RvciAm
bWRhc2g7IGl0CiBhZGRzIGEgY29uc3RyYWludCB0byB0aGUgPGNvZGU+aDE8L2NvZGU+IGVsZW1l
bnQsIHRoYXQgaXQgbXVzdCBoYXZlCiA8Y29kZT5jbGFzcz0ib3BlbmVyIjwvY29kZT46PC9wPgog
PHByZT5oMS5vcGVuZXIgKyBoMjwvcHJlPgo8L2Rpdj4KCgo8aDQ+PGEgbmFtZT1nZW5lcmFsLXNp
YmxpbmctY29tYmluYXRvcnM+OC4zLjIuIEdlbmVyYWwgc2libGluZyBjb21iaW5hdG9yPC9hPjwv
aDQ+Cgo8cD5UaGUgZ2VuZXJhbCBzaWJsaW5nIGNvbWJpbmF0b3IgaXMgbWFkZSBvZiB0aGUgJnF1
b3Q7dGlsZGUmcXVvdDsKKFUrMDA3RSwgPGNvZGU+fjwvY29kZT4pIGNoYXJhY3RlciB0aGF0IHNl
cGFyYXRlcyB0d28gc2VxdWVuY2VzIG9mCnNpbXBsZSBzZWxlY3RvcnMuIFRoZSBlbGVtZW50cyBy
ZXByZXNlbnRlZCBieSB0aGUgdHdvIHNlcXVlbmNlcyBzaGFyZQp0aGUgc2FtZSBwYXJlbnQgaW4g
dGhlIGRvY3VtZW50IHRyZWUgYW5kIHRoZSBlbGVtZW50IHJlcHJlc2VudGVkIGJ5CnRoZSBmaXJz
dCBzZXF1ZW5jZSBwcmVjZWRlcyAobm90IG5lY2Vzc2FyaWx5IGltbWVkaWF0ZWx5KSB0aGUgZWxl
bWVudApyZXByZXNlbnRlZCBieSB0aGUgc2Vjb25kIG9uZS48L3A+Cgo8ZGl2IGNsYXNzPSJleGFt
cGxlIj4KIDxwPkV4YW1wbGU6PC9wPgogPHByZT5oMSB+IHByZTwvcHJlPgogPHA+cmVwcmVzZW50
cyBhIDxjb2RlPnByZTwvY29kZT4gZWxlbWVudCBmb2xsb3dpbmcgYW4gPGNvZGU+aDE8L2NvZGU+
LiBJdAogaXMgYSBjb3JyZWN0IGFuZCB2YWxpZCwgYnV0IHBhcnRpYWwsIGRlc2NyaXB0aW9uIG9m
OjwvcD4KIDxwcmU+Jmx0O2gxJmd0O0RlZmluaXRpb24gb2YgdGhlIGZ1bmN0aW9uIGEmbHQ7L2gx
Jmd0OwombHQ7cCZndDtGdW5jdGlvbiBhKHgpIGhhcyB0byBiZSBhcHBsaWVkIHRvIGFsbCBmaWd1
cmVzIGluIHRoZSB0YWJsZS4mbHQ7L3AmZ3Q7CiZsdDtwcmUmZ3Q7ZnVuY3Rpb24gYSh4KSA9IDEy
eC8xMy41Jmx0Oy9wcmUmZ3Q7PC9wcmU+CjwvZGl2PgoKPGgyPjxhIG5hbWU9c3BlY2lmaWNpdHk+
OS4gQ2FsY3VsYXRpbmcgYSBzZWxlY3RvcidzIHNwZWNpZmljaXR5PC9hPjwvaDI+Cgo8cD5BIHNl
bGVjdG9yJ3Mgc3BlY2lmaWNpdHkgaXMgY2FsY3VsYXRlZCBhcyBmb2xsb3dzOjwvcD4KCjx1bD4K
ICA8bGk+Y291bnQgdGhlIG51bWJlciBvZiBJRCBzZWxlY3RvcnMgaW4gdGhlIHNlbGVjdG9yICg9
IGEpPC9saT4KICA8bGk+Y291bnQgdGhlIG51bWJlciBvZiBjbGFzcyBzZWxlY3RvcnMsIGF0dHJp
YnV0ZXMgc2VsZWN0b3JzLCBhbmQgcHNldWRvLWNsYXNzZXMgaW4gdGhlIHNlbGVjdG9yICg9IGIp
PC9saT4KICA8bGk+Y291bnQgdGhlIG51bWJlciBvZiBlbGVtZW50IG5hbWVzIGluIHRoZSBzZWxl
Y3RvciAoPSBjKTwvbGk+CiAgPGxpPmlnbm9yZSBwc2V1ZG8tZWxlbWVudHM8L2xpPgo8L3VsPgoK
PHA+U2VsZWN0b3JzIGluc2lkZSA8YSBocmVmPSIjbmVnYXRpb24iPnRoZSBuZWdhdGlvbiBwc2V1
ZG8tY2xhc3M8L2E+CmFyZSBjb3VudGVkIGxpa2UgYW55IG90aGVyLCBidXQgdGhlIG5lZ2F0aW9u
IGl0c2VsZiBkb2VzIG5vdCBjb3VudCBhcwphIHBzZXVkby1jbGFzcy48L3A+Cgo8cD5Db25jYXRl
bmF0aW5nIHRoZSB0aHJlZSBudW1iZXJzIGEtYi1jIChpbiBhIG51bWJlciBzeXN0ZW0gd2l0aCBh
CmxhcmdlIGJhc2UpIGdpdmVzIHRoZSBzcGVjaWZpY2l0eS48L3A+Cgo8ZGl2IGNsYXNzPSJleGFt
cGxlIj4KPHA+RXhhbXBsZXM6PC9wPgo8cHJlPiogICAgICAgICAgICAgICAvKiBhPTAgYj0wIGM9
MCAtJmd0OyBzcGVjaWZpY2l0eSA9ICAgMCAqLwpMSSAgICAgICAgICAgICAgLyogYT0wIGI9MCBj
PTEgLSZndDsgc3BlY2lmaWNpdHkgPSAgIDEgKi8KVUwgTEkgICAgICAgICAgIC8qIGE9MCBiPTAg
Yz0yIC0mZ3Q7IHNwZWNpZmljaXR5ID0gICAyICovClVMIE9MK0xJICAgICAgICAvKiBhPTAgYj0w
IGM9MyAtJmd0OyBzcGVjaWZpY2l0eSA9ICAgMyAqLwpIMSArICpbUkVMPXVwXSAgLyogYT0wIGI9
MSBjPTEgLSZndDsgc3BlY2lmaWNpdHkgPSAgMTEgKi8KVUwgT0wgTEkucmVkICAgIC8qIGE9MCBi
PTEgYz0zIC0mZ3Q7IHNwZWNpZmljaXR5ID0gIDEzICovCkxJLnJlZC5sZXZlbCAgICAvKiBhPTAg
Yj0yIGM9MSAtJmd0OyBzcGVjaWZpY2l0eSA9ICAyMSAqLwojeDM0eSAgICAgICAgICAgLyogYT0x
IGI9MCBjPTAgLSZndDsgc3BlY2lmaWNpdHkgPSAxMDAgKi8KI3MxMjpub3QoRk9PKSAgIC8qIGE9
MSBiPTAgYz0xIC0mZ3Q7IHNwZWNpZmljaXR5ID0gMTAxICovCjwvcHJlPgo8L2Rpdj4KCjxwIGNs
YXNzPSJub3RlIj48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IHRoZSBzcGVjaWZpY2l0eSBvZiB0aGUg
c3R5bGVzCnNwZWNpZmllZCBpbiBhbiBIVE1MIDxjb2RlPnN0eWxlPC9jb2RlPiBhdHRyaWJ1dGUg
aXMgZGVzY3JpYmVkIGluIENTUwoyLjEuIDxhIGhyZWY9IiNyZWZzQ1NTMjEiPltDU1MyMV08L2E+
LjwvcD4KCjxoMj48YSBuYW1lPXczY3NlbGdyYW1tYXI+MTAuIFRoZSBncmFtbWFyIG9mIFNlbGVj
dG9yczwvYT48L2gyPgoKPGgzPjxhIG5hbWU9Z3JhbW1hcj4xMC4xLiBHcmFtbWFyPC9hPjwvaDM+
Cgo8cD5UaGUgZ3JhbW1hciBiZWxvdyBkZWZpbmVzIHRoZSBzeW50YXggb2YgU2VsZWN0b3JzLiAg
SXQgaXMgZ2xvYmFsbHkKTEwoMSkgYW5kIGNhbiBiZSBsb2NhbGx5IExMKDIpIChidXQgbm90ZSB0
aGF0IG1vc3QgVUEncyBzaG91bGQgbm90IHVzZQppdCBkaXJlY3RseSwgc2luY2UgaXQgZG9lc24n
dCBleHByZXNzIHRoZSBwYXJzaW5nIGNvbnZlbnRpb25zKS4gVGhlCmZvcm1hdCBvZiB0aGUgcHJv
ZHVjdGlvbnMgaXMgb3B0aW1pemVkIGZvciBodW1hbiBjb25zdW1wdGlvbiBhbmQgc29tZQpzaG9y
dGhhbmQgbm90YXRpb25zIGJleW9uZCBZYWNjIChzZWUgPGEgaHJlZj0iI3JlZnNZQUNDIj5bWUFD
Q108L2E+KQphcmUgdXNlZDo8L3A+Cgo8dWw+CiAgPGxpPjxiPio8L2I+OiAwIG9yIG1vcmUKICA8
bGk+PGI+KzwvYj46IDEgb3IgbW9yZQogIDxsaT48Yj4/PC9iPjogMCBvciAxCiAgPGxpPjxiPnw8
L2I+OiBzZXBhcmF0ZXMgYWx0ZXJuYXRpdmVzCiAgPGxpPjxiPlsgXTwvYj46IGdyb3VwaW5nIDwv
bGk+CjwvdWw+Cgo8cD5UaGUgcHJvZHVjdGlvbnMgYXJlOjwvcD4KCjxwcmU+c2VsZWN0b3JzX2dy
b3VwCiAgOiBzZWxlY3RvciBbIENPTU1BIFMqIHNlbGVjdG9yIF0qCiAgOwoKc2VsZWN0b3IKICA6
IHNpbXBsZV9zZWxlY3Rvcl9zZXF1ZW5jZSBbIGNvbWJpbmF0b3Igc2ltcGxlX3NlbGVjdG9yX3Nl
cXVlbmNlIF0qCiAgOwoKY29tYmluYXRvcgogIC8qIGNvbWJpbmF0b3JzIGNhbiBiZSBzdXJyb3Vu
ZGVkIGJ5IHdoaXRlIHNwYWNlICovCiAgOiBQTFVTIFMqIHwgR1JFQVRFUiBTKiB8IFRJTERFIFMq
IHwgUysKICA7CgpzaW1wbGVfc2VsZWN0b3Jfc2VxdWVuY2UKICA6IFsgdHlwZV9zZWxlY3RvciB8
IHVuaXZlcnNhbCBdCiAgICBbIEhBU0ggfCBjbGFzcyB8IGF0dHJpYiB8IHBzZXVkbyB8IG5lZ2F0
aW9uIF0qCiAgfCBbIEhBU0ggfCBjbGFzcyB8IGF0dHJpYiB8IHBzZXVkbyB8IG5lZ2F0aW9uIF0r
CiAgOwoKdHlwZV9zZWxlY3RvcgogIDogWyBuYW1lc3BhY2VfcHJlZml4IF0/IGVsZW1lbnRfbmFt
ZQogIDsKCm5hbWVzcGFjZV9wcmVmaXgKICA6IFsgSURFTlQgfCAnKicgXT8gJ3wnCiAgOwoKZWxl
bWVudF9uYW1lCiAgOiBJREVOVAogIDsKCnVuaXZlcnNhbAogIDogWyBuYW1lc3BhY2VfcHJlZml4
IF0/ICcqJwogIDsKCmNsYXNzCiAgOiAnLicgSURFTlQKICA7CgphdHRyaWIKICA6ICdbJyBTKiBb
IG5hbWVzcGFjZV9wcmVmaXggXT8gSURFTlQgUyoKICAgICAgICBbIFsgUFJFRklYTUFUQ0ggfAog
ICAgICAgICAgICBTVUZGSVhNQVRDSCB8CiAgICAgICAgICAgIFNVQlNUUklOR01BVENIIHwKICAg
ICAgICAgICAgJz0nIHwKICAgICAgICAgICAgSU5DTFVERVMgfAogICAgICAgICAgICBEQVNITUFU
Q0ggXSBTKiBbIElERU5UIHwgU1RSSU5HIF0gUyoKICAgICAgICBdPyAnXScKICA7Cgpwc2V1ZG8K
ICAvKiAnOjonIHN0YXJ0cyBhIHBzZXVkby1lbGVtZW50LCAnOicgYSBwc2V1ZG8tY2xhc3MgKi8K
ICAvKiBFeGNlcHRpb25zOiA6Zmlyc3QtbGluZSwgOmZpcnN0LWxldHRlciwgOmJlZm9yZSBhbmQg
OmFmdGVyLiAqLwogIC8qIE5vdGUgdGhhdCBwc2V1ZG8tZWxlbWVudHMgYXJlIHJlc3RyaWN0ZWQg
dG8gb25lIHBlciBzZWxlY3RvciBhbmQgKi8KICAvKiBvY2N1ciBvbmx5IGluIHRoZSBsYXN0IHNp
bXBsZV9zZWxlY3Rvcl9zZXF1ZW5jZS4gKi8KICA6ICc6JyAnOic/IFsgSURFTlQgfCBmdW5jdGlv
bmFsX3BzZXVkbyBdCiAgOwoKZnVuY3Rpb25hbF9wc2V1ZG8KICA6IEZVTkNUSU9OIFMqIGV4cHJl
c3Npb24gJyknCiAgOwoKZXhwcmVzc2lvbgogIC8qIEluIENTUzMsIHRoZSBleHByZXNzaW9ucyBh
cmUgaWRlbnRpZmllcnMsIHN0cmluZ3MsICovCiAgLyogb3Igb2YgdGhlIGZvcm0gImFuK2IiICov
CiAgOiBbIFsgUExVUyB8ICctJyB8IERJTUVOU0lPTiB8IE5VTUJFUiB8IFNUUklORyB8IElERU5U
IF0gUyogXSsKICA7CgpuZWdhdGlvbgogIDogTk9UIFMqIG5lZ2F0aW9uX2FyZyBTKiAnKScKICA7
CgpuZWdhdGlvbl9hcmcKICA6IHR5cGVfc2VsZWN0b3IgfCB1bml2ZXJzYWwgfCBIQVNIIHwgY2xh
c3MgfCBhdHRyaWIgfCBwc2V1ZG8KICA7PC9wcmU+CgoKPGgzPjxhIG5hbWU9bGV4PjEwLjIuIExl
eGljYWwgc2Nhbm5lcjwvYT48L2gzPgoKPHA+VGhlIGZvbGxvd2luZyBpcyB0aGUgPGEgbmFtZT14
Mz50b2tlbml6ZXI8L2E+LCB3cml0dGVuIGluIEZsZXggKHNlZQo8YSBocmVmPSIjcmVmc0ZMRVgi
PltGTEVYXTwvYT4pIG5vdGF0aW9uLiBUaGUgdG9rZW5pemVyIGlzCmNhc2UtaW5zZW5zaXRpdmUu
PC9wPgoKPHA+VGhlIHR3byBvY2N1cnJlbmNlcyBvZiAiXDM3NyIgcmVwcmVzZW50IHRoZSBoaWdo
ZXN0IGNoYXJhY3RlcgpudW1iZXIgdGhhdCBjdXJyZW50IHZlcnNpb25zIG9mIEZsZXggY2FuIGRl
YWwgd2l0aCAoZGVjaW1hbCAyNTUpLiBUaGV5CnNob3VsZCBiZSByZWFkIGFzICJcNDE3Nzc3NyIg
KGRlY2ltYWwgMTExNDExMSksIHdoaWNoIGlzIHRoZSBoaWdoZXN0CnBvc3NpYmxlIGNvZGUgcG9p
bnQgaW4gVW5pY29kZS9JU08tMTA2NDYuIDxhCmhyZWY9IiNyZWZzVU5JQ09ERSI+W1VOSUNPREVd
PC9hPjwvcD4KCjxwcmU+JW9wdGlvbiBjYXNlLWluc2Vuc2l0aXZlCgppZGVudCAgICAgWy1dP3tu
bXN0YXJ0fXtubWNoYXJ9KgpuYW1lICAgICAge25tY2hhcn0rCm5tc3RhcnQgICBbX2Etel18e25v
bmFzY2lpfXx7ZXNjYXBlfQpub25hc2NpaSAgW15cMC1cMTc3XQp1bmljb2RlICAgXFxbMC05YS1m
XXsxLDZ9KFxyXG58WyBcblxyXHRcZl0pPwplc2NhcGUgICAge3VuaWNvZGV9fFxcW15cblxyXGYw
LTlhLWZdCm5tY2hhciAgICBbX2EtejAtOS1dfHtub25hc2NpaX18e2VzY2FwZX0KbnVtICAgICAg
IFswLTldK3xbMC05XSpcLlswLTldKwpzdHJpbmcgICAge3N0cmluZzF9fHtzdHJpbmcyfQpzdHJp
bmcxICAgXCIoW15cblxyXGZcXCJdfFxce25sfXx7bm9uYXNjaWl9fHtlc2NhcGV9KSpcIgpzdHJp
bmcyICAgXCcoW15cblxyXGZcXCddfFxce25sfXx7bm9uYXNjaWl9fHtlc2NhcGV9KSpcJwppbnZh
bGlkICAge2ludmFsaWQxfXx7aW52YWxpZDJ9CmludmFsaWQxICBcIihbXlxuXHJcZlxcIl18XFx7
bmx9fHtub25hc2NpaX18e2VzY2FwZX0pKgppbnZhbGlkMiAgXCcoW15cblxyXGZcXCddfFxce25s
fXx7bm9uYXNjaWl9fHtlc2NhcGV9KSoKbmwgICAgICAgIFxufFxyXG58XHJ8XGYKdyAgICAgICAg
IFsgXHRcclxuXGZdKgoKJSUKClsgXHRcclxuXGZdKyAgICAgcmV0dXJuIFM7Cgoifj0iICAgICAg
ICAgICAgIHJldHVybiBJTkNMVURFUzsKInw9IiAgICAgICAgICAgICByZXR1cm4gREFTSE1BVENI
OwoiXj0iICAgICAgICAgICAgIHJldHVybiBQUkVGSVhNQVRDSDsKIiQ9IiAgICAgICAgICAgICBy
ZXR1cm4gU1VGRklYTUFUQ0g7CiIqPSIgICAgICAgICAgICAgcmV0dXJuIFNVQlNUUklOR01BVENI
Owp7aWRlbnR9ICAgICAgICAgIHJldHVybiBJREVOVDsKe3N0cmluZ30gICAgICAgICByZXR1cm4g
U1RSSU5HOwp7aWRlbnR9IigiICAgICAgIHJldHVybiBGVU5DVElPTjsKe251bX0gICAgICAgICAg
ICByZXR1cm4gTlVNQkVSOwoiIyJ7bmFtZX0gICAgICAgIHJldHVybiBIQVNIOwp7d30iKyIgICAg
ICAgICAgIHJldHVybiBQTFVTOwp7d30iJmd0OyIgICAgICAgICAgIHJldHVybiBHUkVBVEVSOwp7
d30iLCIgICAgICAgICAgIHJldHVybiBDT01NQTsKe3d9In4iICAgICAgICAgICByZXR1cm4gVElM
REU7CiI6bm90KCIgICAgICAgICAgcmV0dXJuIE5PVDsKQHtpZGVudH0gICAgICAgICByZXR1cm4g
QVRLRVlXT1JEOwp7aW52YWxpZH0gICAgICAgIHJldHVybiBJTlZBTElEOwp7bnVtfSUgICAgICAg
ICAgIHJldHVybiBQRVJDRU5UQUdFOwp7bnVtfXtpZGVudH0gICAgIHJldHVybiBESU1FTlNJT047
CiImbHQ7IS0tIiAgICAgICAgICAgcmV0dXJuIENETzsKIi0tJmd0OyIgICAgICAgICAgICByZXR1
cm4gQ0RDOwoKInVybCgie3d9e3N0cmluZ317d30iKSIgICAgICAgICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gVVJJOwoidXJsKCJ7d30oWyEjJCUmKi1+XXx7bm9uYXNjaWl9fHtlc2NhcGV9KSp7
d30iKSIgIHJldHVybiBVUkk7ClVcK1swLTlhLWY/XXsxLDZ9KC1bMC05YS1mXXsxLDZ9KT8gICAg
ICAgICAgICAgICAgcmV0dXJuIFVOSUNPREVfUkFOR0U7CgpcL1wqW14qXSpcKisoW14vKl1bXipd
KlwqKykqXC8gICAgICAgICAgICAgICAgICAgIC8qIGlnbm9yZSBjb21tZW50cyAqLwoKLiAgICAg
ICAgICAgICAgICByZXR1cm4gKnl5dGV4dDs8L3ByZT4KCgoKPGgyPjxhIG5hbWU9ZG93bmxldmVs
PjExLiBOYW1lc3BhY2VzIGFuZCBkb3duLWxldmVsIGNsaWVudHM8L2E+PC9oMj4KCjxwPkFuIGlt
cG9ydGFudCBpc3N1ZSBpcyB0aGUgaW50ZXJhY3Rpb24gb2YgQ1NTIHNlbGVjdG9ycyB3aXRoIFhN
TApkb2N1bWVudHMgaW4gd2ViIGNsaWVudHMgdGhhdCB3ZXJlIHByb2R1Y2VkIHByaW9yIHRvIHRo
aXMKZG9jdW1lbnQuIFVuZm9ydHVuYXRlbHksIGR1ZSB0byB0aGUgZmFjdCB0aGF0IG5hbWVzcGFj
ZXMgbXVzdCBiZQptYXRjaGVkIGJhc2VkIG9uIHRoZSBVUkkgd2hpY2ggaWRlbnRpZmllcyB0aGUg
bmFtZXNwYWNlLCBub3QgdGhlCm5hbWVzcGFjZSBwcmVmaXgsIHNvbWUgbWVjaGFuaXNtIGlzIHJl
cXVpcmVkIHRvIGlkZW50aWZ5IG5hbWVzcGFjZXMgaW4KQ1NTIGJ5IHRoZWlyIFVSSSBhcyB3ZWxs
LiBXaXRob3V0IHN1Y2ggYSBtZWNoYW5pc20sIGl0IGlzIGltcG9zc2libGUKdG8gY29uc3RydWN0
IGEgQ1NTIHN0eWxlIHNoZWV0IHdoaWNoIHdpbGwgcHJvcGVybHkgbWF0Y2ggc2VsZWN0b3JzIGlu
CmFsbCBjYXNlcyBhZ2FpbnN0IGEgcmFuZG9tIHNldCBvZiBYTUwgZG9jdW1lbnRzLiBIb3dldmVy
LCBnaXZlbgpjb21wbGV0ZSBrbm93bGVkZ2Ugb2YgdGhlIFhNTCBkb2N1bWVudCB0byB3aGljaCBh
IHN0eWxlIHNoZWV0IGlzIHRvIGJlCmFwcGxpZWQsIGFuZCBhIGxpbWl0ZWQgdXNlIG9mIG5hbWVz
cGFjZXMgd2l0aGluIHRoZSBYTUwgZG9jdW1lbnQsIGl0CmlzIHBvc3NpYmxlIHRvIGNvbnN0cnVj
dCBhIHN0eWxlIHNoZWV0IGluIHdoaWNoIHNlbGVjdG9ycyB3b3VsZCBtYXRjaAplbGVtZW50cyBh
bmQgYXR0cmlidXRlcyBjb3JyZWN0bHkuPC9wPgoKPHA+SXQgc2hvdWxkIGJlIG5vdGVkIHRoYXQg
YSBkb3duLWxldmVsIENTUyBjbGllbnQgd2lsbCAoaWYgaXQKcHJvcGVybHkgY29uZm9ybXMgdG8g
Q1NTIGZvcndhcmQgY29tcGF0aWJsZSBwYXJzaW5nIHJ1bGVzKSBpZ25vcmUgYWxsCjxjb2RlPkBu
YW1lc3BhY2U8L2NvZGU+IGF0LXJ1bGVzLCBhcyB3ZWxsIGFzIGFsbCBzdHlsZSBydWxlcyB0aGF0
IG1ha2UKdXNlIG9mIG5hbWVzcGFjZSBxdWFsaWZpZWQgZWxlbWVudCB0eXBlIG9yIGF0dHJpYnV0
ZSBzZWxlY3RvcnMuIFRoZQpzeW50YXggb2YgZGVsaW1pdGluZyBuYW1lc3BhY2UgcHJlZml4ZXMg
aW4gQ1NTIHdhcyBkZWxpYmVyYXRlbHkgY2hvc2VuCnNvIHRoYXQgZG93bi1sZXZlbCBDU1MgY2xp
ZW50cyB3b3VsZCBpZ25vcmUgdGhlIHN0eWxlIHJ1bGVzIHJhdGhlcgp0aGFuIHBvc3NpYmx5IG1h
dGNoIHRoZW0gaW5jb3JyZWN0bHkuPC9wPgoKPHA+VGhlIHVzZSBvZiBkZWZhdWx0IG5hbWVzcGFj
ZXMgaW4gQ1NTIG1ha2VzIGl0IHBvc3NpYmxlIHRvIHdyaXRlCmVsZW1lbnQgdHlwZSBzZWxlY3Rv
cnMgdGhhdCB3aWxsIGZ1bmN0aW9uIGluIGJvdGggbmFtZXNwYWNlIGF3YXJlIENTUwpjbGllbnRz
IGFzIHdlbGwgYXMgZG93bi1sZXZlbCBjbGllbnRzLiBJdCBzaG91bGQgYmUgbm90ZWQgdGhhdApk
b3duLWxldmVsIGNsaWVudHMgbWF5IGluY29ycmVjdGx5IG1hdGNoIHNlbGVjdG9ycyBhZ2FpbnN0
IFhNTAplbGVtZW50cyBpbiBvdGhlciBuYW1lc3BhY2VzLjwvcD4KCjxwPlRoZSBmb2xsb3dpbmcg
YXJlIHNjZW5hcmlvcyBhbmQgZXhhbXBsZXMgaW4gd2hpY2ggaXQgaXMgcG9zc2libGUgdG8KY29u
c3RydWN0IHN0eWxlIHNoZWV0cyB3aGljaCB3b3VsZCBmdW5jdGlvbiBwcm9wZXJseSBpbiB3ZWIg
Y2xpZW50cwp0aGF0IGRvIG5vdCBpbXBsZW1lbnQgdGhpcyBwcm9wb3NhbC48L3A+Cgo8b2w+CiAg
PGxpPgoKICAgPHA+VGhlIFhNTCBkb2N1bWVudCBkb2VzIG5vdCB1c2UgbmFtZXNwYWNlcy48L3A+
CgogICA8dWw+CgogICAgPGxpPkluIHRoaXMgY2FzZSwgaXQgaXMgb2J2aW91c2x5IG5vdCBuZWNl
c3NhcnkgdG8gZGVjbGFyZSBvciB1c2UKICAgIG5hbWVzcGFjZXMgaW4gdGhlIHN0eWxlIHNoZWV0
LiBTdGFuZGFyZCBDU1MgZWxlbWVudCB0eXBlIGFuZAogICAgYXR0cmlidXRlIHNlbGVjdG9ycyB3
aWxsIGZ1bmN0aW9uIGFkZXF1YXRlbHkgaW4gYSBkb3duLWxldmVsCiAgICBjbGllbnQuPC9saT4K
CiAgICA8bGk+SW4gYSBDU1MgbmFtZXNwYWNlIGF3YXJlIGNsaWVudCwgdGhlIGRlZmF1bHQgYmVo
YXZpb3Igb2YKICAgIGVsZW1lbnQgc2VsZWN0b3JzIG1hdGNoaW5nIHdpdGhvdXQgcmVnYXJkIHRv
IG5hbWVzcGFjZSB3aWxsCiAgICBmdW5jdGlvbiBwcm9wZXJseSBhZ2FpbnN0IGFsbCBlbGVtZW50
cywgc2luY2Ugbm8gbmFtZXNwYWNlcyBhcmUKICAgIHByZXNlbnQuIEhvd2V2ZXIsIHRoZSB1c2Ug
b2Ygc3BlY2lmaWMgZWxlbWVudCB0eXBlIHNlbGVjdG9ycyB0aGF0CiAgICBtYXRjaCBvbmx5IGVs
ZW1lbnRzIHRoYXQgaGF2ZSBubyBuYW1lc3BhY2UgKCI8Y29kZT58bmFtZTwvY29kZT4iKQogICAg
d2lsbCBndWFyYW50ZWUgdGhhdCBzZWxlY3RvcnMgd2lsbCBtYXRjaCBvbmx5IFhNTCBlbGVtZW50
cyB0aGF0IGRvCiAgICBub3QgaGF2ZSBhIGRlY2xhcmVkIG5hbWVzcGFjZS4gPC9saT4KCiAgIDwv
dWw+CgogIDwvbGk+CgogIDxsaT4KCiAgIDxwPlRoZSBYTUwgZG9jdW1lbnQgZGVmaW5lcyBhIHNp
bmdsZSwgZGVmYXVsdCBuYW1lc3BhY2UgdXNlZAogICB0aHJvdWdob3V0IHRoZSBkb2N1bWVudC4g
Tm8gbmFtZXNwYWNlIHByZWZpeGVzIGFyZSB1c2VkIGluIGVsZW1lbnQKICAgbmFtZXMuPC9wPgoK
ICAgPHVsPgoKICAgIDxsaT5JbiB0aGlzIGNhc2UsIGEgZG93bi1sZXZlbCBjbGllbnQgd2lsbCBm
dW5jdGlvbiBhcyBpZgogICAgbmFtZXNwYWNlcyB3ZXJlIG5vdCB1c2VkIGluIHRoZSBYTUwgZG9j
dW1lbnQgYXQgYWxsLiBTdGFuZGFyZCBDU1MKICAgIGVsZW1lbnQgdHlwZSBhbmQgYXR0cmlidXRl
IHNlbGVjdG9ycyB3aWxsIG1hdGNoIGFnYWluc3QgYWxsCiAgICBlbGVtZW50cy4gPC9saT4KCiAg
IDwvdWw+CgogIDwvbGk+CgogIDxsaT4KCiAgIDxwPlRoZSBYTUwgZG9jdW1lbnQgZG9lcyA8Yj5u
b3Q8L2I+IHVzZSBhIGRlZmF1bHQgbmFtZXNwYWNlLCBhbGwKICAgbmFtZXNwYWNlIHByZWZpeGVz
IHVzZWQgYXJlIGtub3duIHRvIHRoZSBzdHlsZSBzaGVldCBhdXRob3IsIGFuZAogICB0aGVyZSBp
cyBhIGRpcmVjdCBtYXBwaW5nIGJldHdlZW4gbmFtZXNwYWNlIHByZWZpeGVzIGFuZCBuYW1lc3Bh
Y2UKICAgVVJJcy4gKEEgZ2l2ZW4gcHJlZml4IG1heSBvbmx5IGJlIG1hcHBlZCB0byBvbmUgbmFt
ZXNwYWNlIFVSSQogICB0aHJvdWdob3V0IHRoZSBYTUwgZG9jdW1lbnQ7IHRoZXJlIG1heSBiZSBt
dWx0aXBsZSBwcmVmaXhlcyBtYXBwZWQKICAgdG8gdGhlIHNhbWUgVVJJKS48L3A+CgogICA8dWw+
CgogICAgPGxpPkluIHRoaXMgY2FzZSwgdGhlIGRvd24tbGV2ZWwgY2xpZW50IHdpbGwgdmlldyBh
bmQgbWF0Y2gKICAgIGVsZW1lbnQgdHlwZSBhbmQgYXR0cmlidXRlIHNlbGVjdG9ycyBiYXNlZCBv
biB0aGVpciBmdWxseQogICAgcXVhbGlmaWVkIG5hbWUsIG5vdCB0aGUgbG9jYWwgcGFydCBhcyBv
dXRsaW5lZCBpbiB0aGUgPGEKICAgIGhyZWY9IiN0eXBlbm1zcCI+VHlwZSBzZWxlY3RvcnMgYW5k
IE5hbWVzcGFjZXM8L2E+IHNlY3Rpb24uIENTUwogICAgc2VsZWN0b3JzIG1heSBiZSBkZWNsYXJl
ZCB1c2luZyBhbiBlc2NhcGVkIGNvbG9uICI8Y29kZT5cOjwvY29kZT4iCiAgICB0byBkZXNjcmli
ZSB0aGUgZnVsbHkgcXVhbGlmaWVkIG5hbWVzLCBlLmcuCiAgICAiPGNvZGU+aHRtbFw6aDE8L2Nv
ZGU+IiB3aWxsIG1hdGNoCiAgICA8Y29kZT4mbHQ7aHRtbDpoMSZndDs8L2NvZGU+LiBTZWxlY3Rv
cnMgdXNpbmcgdGhlIHF1YWxpZmllZCBuYW1lCiAgICB3aWxsIG9ubHkgbWF0Y2ggWE1MIGVsZW1l
bnRzIHRoYXQgdXNlIHRoZSBzYW1lIHByZWZpeC4gT3RoZXIKICAgIG5hbWVzcGFjZSBwcmVmaXhl
cyB1c2VkIGluIHRoZSBYTUwgdGhhdCBhcmUgbWFwcGVkIHRvIHRoZSBzYW1lIFVSSQogICAgd2ls
bCBub3QgbWF0Y2ggYXMgZXhwZWN0ZWQgdW5sZXNzIGFkZGl0aW9uYWwgQ1NTIHN0eWxlIHJ1bGVz
IGFyZQogICAgZGVjbGFyZWQgZm9yIHRoZW0uPC9saT4KCiAgICA8bGk+Tm90ZSB0aGF0IHNlbGVj
dG9ycyBkZWNsYXJlZCBpbiB0aGlzIGZhc2hpb24gd2lsbAogICAgPGVtPm9ubHk8L2VtPiBtYXRj
aCBpbiBkb3duLWxldmVsIGNsaWVudHMuIEEgQ1NTIG5hbWVzcGFjZSBhd2FyZQogICAgY2xpZW50
IHdpbGwgbWF0Y2ggZWxlbWVudCB0eXBlIGFuZCBhdHRyaWJ1dGUgc2VsZWN0b3JzIGJhc2VkIG9u
CiAgICB0aGUgbmFtZSdzIGxvY2FsIHBhcnQuIFNlbGVjdG9ycyBkZWNsYXJlZCB3aXRoIHRoZSBm
dWxseQogICAgcXVhbGlmaWVkIG5hbWUgd2lsbCBub3QgbWF0Y2ggKHVubGVzcyB0aGVyZSBpcyBu
byBuYW1lc3BhY2UgcHJlZml4CiAgICBpbiB0aGUgZnVsbHkgcXVhbGlmaWVkIG5hbWUpLjwvbGk+
CgogICA8L3VsPgoKICA8L2xpPgoKIDwvb2w+Cgo8cD5JbiBvdGhlciBzY2VuYXJpb3M6IHdoZW4g
dGhlIG5hbWVzcGFjZSBwcmVmaXhlcyB1c2VkIGluIHRoZSBYTUwgYXJlCm5vdCBrbm93biBpbiBh
ZHZhbmNlIGJ5IHRoZSBzdHlsZSBzaGVldCBhdXRob3I7IG9yIGEgY29tYmluYXRpb24gb2YKZWxl
bWVudHMgd2l0aCBubyBuYW1lc3BhY2UgYXJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBlbGVt
ZW50cyB1c2luZwphIGRlZmF1bHQgbmFtZXNwYWNlOyBvciB0aGUgc2FtZSBuYW1lc3BhY2UgcHJl
Zml4IGlzIG1hcHBlZCB0bwo8ZW0+ZGlmZmVyZW50PC9lbT4gbmFtZXNwYWNlIFVSSXMgd2l0aGlu
IHRoZSBzYW1lIGRvY3VtZW50LCBvciBpbgpkaWZmZXJlbnQgZG9jdW1lbnRzOyBpdCBpcyBpbXBv
c3NpYmxlIHRvIGNvbnN0cnVjdCBhIENTUyBzdHlsZSBzaGVldAp0aGF0IHdpbGwgZnVuY3Rpb24g
cHJvcGVybHkgYWdhaW5zdCBhbGwgZWxlbWVudHMgaW4gdGhvc2UgZG9jdW1lbnRzLAp1bmxlc3Ms
IHRoZSBzdHlsZSBzaGVldCBpcyB3cml0dGVuIHVzaW5nIGEgbmFtZXNwYWNlIFVSSSBzeW50YXgg
KGFzCm91dGxpbmVkIGluIHRoaXMgZG9jdW1lbnQgb3Igc2ltaWxhcikgYW5kIHRoZSBkb2N1bWVu
dCBpcyBwcm9jZXNzZWQgYnkKYSBDU1MgYW5kIFhNTCBuYW1lc3BhY2UgYXdhcmUgY2xpZW50Ljwv
cD4KCjxoMj48YSBuYW1lPXByb2ZpbGluZz4xMi4gUHJvZmlsZXM8L2E+PC9oMj4KCjxwPkVhY2gg
c3BlY2lmaWNhdGlvbiB1c2luZyBTZWxlY3RvcnMgbXVzdCBkZWZpbmUgdGhlIHN1YnNldCBvZiBX
M0MKU2VsZWN0b3JzIGl0IGFsbG93cyBhbmQgZXhjbHVkZXMsIGFuZCBkZXNjcmliZSB0aGUgbG9j
YWwgbWVhbmluZyBvZgphbGwgdGhlIGNvbXBvbmVudHMgb2YgdGhhdCBzdWJzZXQuPC9wPgoKPHA+
Tm9uIG5vcm1hdGl2ZSBleGFtcGxlczoKCjxkaXYgY2xhc3M9InByb2ZpbGUiPgo8dGFibGUgY2xh
c3M9InRwcm9maWxlIj4KICA8dGJvZHk+CiAgPHRyPgogICAgPHRoIGNsYXNzPSJ0aXRsZSIgY29s
c3Bhbj0yPlNlbGVjdG9ycyBwcm9maWxlPC90aD48L3RyPgogIDx0cj4KICAgIDx0aD5TcGVjaWZp
Y2F0aW9uPC90aD4KICAgIDx0ZD5DU1MgbGV2ZWwgMTwvdGQ+PC90cj4KICA8dHI+CiAgICA8dGg+
QWNjZXB0czwvdGg+CiAgICA8dGQ+dHlwZSBzZWxlY3RvcnM8YnI+Y2xhc3Mgc2VsZWN0b3JzPGJy
PklEIHNlbGVjdG9yczxicj46bGluaywKICAgICAgOnZpc2l0ZWQgYW5kIDphY3RpdmUgcHNldWRv
LWNsYXNzZXM8YnI+ZGVzY2VuZGFudCBjb21iaW5hdG9yCiAgICAgPGJyPjo6Zmlyc3QtbGluZSBh
bmQgOjpmaXJzdC1sZXR0ZXIgcHNldWRvLWVsZW1lbnRzPC90ZD48L3RyPgogIDx0cj4KICAgIDx0
aD5FeGNsdWRlczwvdGg+CiAgICA8dGQ+Cgo8cD51bml2ZXJzYWwgc2VsZWN0b3I8YnI+YXR0cmli
dXRlIHNlbGVjdG9yczxicj46aG92ZXIgYW5kIDpmb2N1cwogICAgICBwc2V1ZG8tY2xhc3Nlczxi
cj46dGFyZ2V0IHBzZXVkby1jbGFzczxicj46bGFuZygpIHBzZXVkby1jbGFzczxicj5hbGwgVUkK
ICAgICAgZWxlbWVudCBzdGF0ZXMgcHNldWRvLWNsYXNzZXM8YnI+YWxsIHN0cnVjdHVyYWwKICAg
ICAgcHNldWRvLWNsYXNzZXM8YnI+bmVnYXRpb24gcHNldWRvLWNsYXNzPGJyPmFsbAogICAgICBV
SSBlbGVtZW50IGZyYWdtZW50cyBwc2V1ZG8tZWxlbWVudHM8YnI+OjpiZWZvcmUgYW5kIDo6YWZ0
ZXIKICAgICAgcHNldWRvLWVsZW1lbnRzPGJyPmNoaWxkIGNvbWJpbmF0b3JzPGJyPnNpYmxpbmcg
Y29tYmluYXRvcnMKCjxwPm5hbWVzcGFjZXM8L3RkPjwvdHI+CiAgPHRyPgogICAgPHRoPkV4dHJh
IGNvbnN0cmFpbnRzPC90aD4KICAgIDx0ZD5vbmx5IG9uZSBjbGFzcyBzZWxlY3RvciBhbGxvd2Vk
IHBlciBzZXF1ZW5jZSBvZiBzaW1wbGUKICBzZWxlY3RvcnM8L3RkPjwvdHI+PC90Ym9keT48L3Rh
YmxlPjxicj48YnI+Cjx0YWJsZSBjbGFzcz0idHByb2ZpbGUiPgogIDx0Ym9keT4KICA8dHI+CiAg
ICA8dGggY2xhc3M9InRpdGxlIiBjb2xzcGFuPTI+U2VsZWN0b3JzIHByb2ZpbGU8L3RoPjwvdHI+
CiAgPHRyPgogICAgPHRoPlNwZWNpZmljYXRpb248L3RoPgogICAgPHRkPkNTUyBsZXZlbCAyPC90
ZD48L3RyPgogIDx0cj4KICAgIDx0aD5BY2NlcHRzPC90aD4KICAgIDx0ZD50eXBlIHNlbGVjdG9y
czxicj51bml2ZXJzYWwgc2VsZWN0b3I8YnI+YXR0cmlidXRlIHByZXNlbmNlIGFuZAogICAgICB2
YWx1ZXMgc2VsZWN0b3JzPGJyPmNsYXNzIHNlbGVjdG9yczxicj5JRCBzZWxlY3RvcnM8YnI+Omxp
bmssIDp2aXNpdGVkLAogICAgICA6YWN0aXZlLCA6aG92ZXIsIDpmb2N1cywgOmxhbmcoKSBhbmQg
OmZpcnN0LWNoaWxkIHBzZXVkby1jbGFzc2VzCiAgICAgPGJyPmRlc2NlbmRhbnQgY29tYmluYXRv
cjxicj5jaGlsZCBjb21iaW5hdG9yPGJyPmFkamFjZW50IHNpYmxpbmcKICAgICAgY29tYmluYXRv
cjxicj46OmZpcnN0LWxpbmUgYW5kIDo6Zmlyc3QtbGV0dGVyIHBzZXVkby1lbGVtZW50czxicj46
OmJlZm9yZQogICAgICBhbmQgOjphZnRlciBwc2V1ZG8tZWxlbWVudHM8L3RkPjwvdHI+CiAgPHRy
PgogICAgPHRoPkV4Y2x1ZGVzPC90aD4KICAgIDx0ZD4KCjxwPmNvbnRlbnQgc2VsZWN0b3JzPGJy
PnN1YnN0cmluZyBtYXRjaGluZyBhdHRyaWJ1dGUKICAgICAgc2VsZWN0b3JzPGJyPjp0YXJnZXQg
cHNldWRvLWNsYXNzZXM8YnI+YWxsIFVJIGVsZW1lbnQKICAgICAgc3RhdGVzIHBzZXVkby1jbGFz
c2VzPGJyPmFsbCBzdHJ1Y3R1cmFsIHBzZXVkby1jbGFzc2VzIG90aGVyCiAgICAgIHRoYW4gOmZp
cnN0LWNoaWxkPGJyPm5lZ2F0aW9uIHBzZXVkby1jbGFzczxicj5hbGwgVUkgZWxlbWVudAogICAg
ICBmcmFnbWVudHMgcHNldWRvLWVsZW1lbnRzPGJyPmdlbmVyYWwgc2libGluZyBjb21iaW5hdG9y
cwoKPHA+bmFtZXNwYWNlczwvdGQ+PC90cj4KICA8dHI+CiAgICA8dGg+RXh0cmEgY29uc3RyYWlu
dHM8L3RoPgogICAgPHRkPm1vcmUgdGhhbiBvbmUgY2xhc3Mgc2VsZWN0b3IgcGVyIHNlcXVlbmNl
IG9mIHNpbXBsZSBzZWxlY3RvcnMgKENTUzEKICAgICAgY29uc3RyYWludCkgYWxsb3dlZDwvdGQ+
PC90cj48L3Rib2R5PjwvdGFibGU+Cgo8cD5JbiBDU1MsIHNlbGVjdG9ycyBleHByZXNzIHBhdHRl
cm4gbWF0Y2hpbmcgcnVsZXMgdGhhdCBkZXRlcm1pbmUgd2hpY2ggc3R5bGUKcnVsZXMgYXBwbHkg
dG8gZWxlbWVudHMgaW4gdGhlIGRvY3VtZW50IHRyZWUuCgo8cD5UaGUgZm9sbG93aW5nIHNlbGVj
dG9yIChDU1MgbGV2ZWwgMikgd2lsbCA8Yj5tYXRjaDwvYj4gYWxsIGFuY2hvcnMgPGNvZGU+YTwv
Y29kZT4Kd2l0aCBhdHRyaWJ1dGUgPGNvZGU+bmFtZTwvY29kZT4gc2V0IGluc2lkZSBhIHNlY3Rp
b24gMSBoZWFkZXIgPGNvZGU+aDE8L2NvZGU+Ogo8cHJlPmgxIGFbbmFtZV08L3ByZT4KCjxwPkFs
bCBDU1MgZGVjbGFyYXRpb25zIGF0dGFjaGVkIHRvIHN1Y2ggYSBzZWxlY3RvciBhcmUgYXBwbGll
ZCB0byBlbGVtZW50cwptYXRjaGluZyBpdC4gPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwcm9maWxlIj4K
PHRhYmxlIGNsYXNzPSJ0cHJvZmlsZSI+CiAgPHRib2R5PgogIDx0cj4KICAgIDx0aCBjbGFzcz0i
dGl0bGUiIGNvbHNwYW49Mj5TZWxlY3RvcnMgcHJvZmlsZTwvdGg+PC90cj4KICA8dHI+CiAgICA8
dGg+U3BlY2lmaWNhdGlvbjwvdGg+CiAgICAgIDx0ZD5TVFRTIDM8L3RkPgogICAgPC90cj4KICA8
dHI+CiAgICA8dGg+QWNjZXB0czwvdGg+CiAgICA8dGQ+Cgo8cD50eXBlIHNlbGVjdG9yczxicj51
bml2ZXJzYWwgc2VsZWN0b3JzPGJyPmF0dHJpYnV0ZSBzZWxlY3RvcnM8YnI+Y2xhc3MKICAgICAg
c2VsZWN0b3JzPGJyPklEIHNlbGVjdG9yczxicj5hbGwgc3RydWN0dXJhbCBwc2V1ZG8tY2xhc3Nl
czxicj4KICAgICAgICAgIGFsbCBjb21iaW5hdG9ycwoKPHA+bmFtZXNwYWNlczwvdGQ+PC90cj4K
ICA8dHI+CiAgICA8dGg+RXhjbHVkZXM8L3RoPgogICAgPHRkPm5vbi1hY2NlcHRlZCBwc2V1ZG8t
Y2xhc3Nlczxicj5wc2V1ZG8tZWxlbWVudHM8YnI+PC90ZD48L3RyPgogIDx0cj4KICAgIDx0aD5F
eHRyYSBjb25zdHJhaW50czwvdGg+CiAgICA8dGQ+c29tZSBzZWxlY3RvcnMgYW5kIGNvbWJpbmF0
b3JzIGFyZSBub3QgYWxsb3dlZCBpbiBmcmFnbWVudAogICAgICBkZXNjcmlwdGlvbnMgb24gdGhl
IHJpZ2h0IHNpZGUgb2YgU1RUUyBkZWNsYXJhdGlvbnMuPC90ZD48L3RyPjwvdGJvZHk+PC90YWJs
ZT4KPGZvcm0+CjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ0ZXN0MSIvPgo8aW5wdXQgdHlwZT0i
dGV4dCIgbmFtZT0iZm9vIi8+CjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJmb28iLz4KPGlucHV0
IHR5cGU9InRleHQiIG5hbWU9ImZvbyIvPgo8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZm9vIi8+
CjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJmb28iLz4KPGlucHV0IHR5cGU9InRleHQiIG5hbWU9
ImZvbyIvPgo8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZm9vIi8+CjxpbnB1dCB0eXBlPSJ0ZXh0
IiBuYW1lPSJmb28iLz4KPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImZvbyIvPgo8aW5wdXQgdHlw
ZT0idGV4dCIgbmFtZT0iZm9vIi8+CjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJmb28iLz4KPGlu
cHV0IHR5cGU9InRleHQiIG5hbWU9ImZvbyIvPgo8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZm9v
Ii8+CjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJmb28iLz4KPGlucHV0IHR5cGU9InRleHQiIG5h
bWU9ImZvbyIvPgo8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZm9vIi8+CjxpbnB1dCB0eXBlPSJ0
ZXh0IiBuYW1lPSJmb28iLz4KPGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImZvbyIvPgo8aW5wdXQg
dHlwZT0idGV4dCIgbmFtZT0iZm9vIi8+CjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJmb28iLz4K
PGlucHV0IHR5cGU9InRleHQiIG5hbWU9ImZvbyIvPgo8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0i
Zm9vIi8+CjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJmb28iLz4KPGlucHV0IHR5cGU9InRleHQi
IG5hbWU9ImZvbyIvPgo8L2Zvcm0+Cgo8cD5TZWxlY3RvcnMgY2FuIGJlIHVzZWQgaW4gU1RUUyAz
IGluIHR3byBkaWZmZXJlbnQKICAgIG1hbm5lcnM6CjxvbD4KICA8bGk+YSBzZWxlY3Rpb24gbWVj
aGFuaXNtIGVxdWl2YWxlbnQgdG8gQ1NTIHNlbGVjdGlvbiBtZWNoYW5pc206IGRlY2xhcmF0aW9u
cwogIGF0dGFjaGVkIHRvIGEgZ2l2ZW4gc2VsZWN0b3IgYXJlIGFwcGxpZWQgdG8gZWxlbWVudHMg
bWF0Y2hpbmcgdGhhdCBzZWxlY3RvciwKICA8bGk+ZnJhZ21lbnQgZGVzY3JpcHRpb25zIHRoYXQg
YXBwZWFyIG9uIHRoZSByaWdodCBzaWRlIG9mIGRlY2xhcmF0aW9ucy4KPC9saT48L29sPjwvZGl2
PgoKPGgyPjxhIG5hbWU9Q29uZm9ybWFuY2U+PC9hPjEzLiBDb25mb3JtYW5jZSBhbmQgcmVxdWly
ZW1lbnRzPC9oMj4KCjxwPlRoaXMgc2VjdGlvbiBkZWZpbmVzIGNvbmZvcm1hbmNlIHdpdGggdGhl
IHByZXNlbnQgc3BlY2lmaWNhdGlvbiBvbmx5LgoKPHA+VGhlIGluYWJpbGl0eSBvZiBhIHVzZXIg
YWdlbnQgdG8gaW1wbGVtZW50IHBhcnQgb2YgdGhpcyBzcGVjaWZpY2F0aW9uIGR1ZSB0bwp0aGUg
bGltaXRhdGlvbnMgb2YgYSBwYXJ0aWN1bGFyIGRldmljZSAoZS5nLiwgbm9uIGludGVyYWN0aXZl
IHVzZXIgYWdlbnRzIHdpbGwKcHJvYmFibHkgbm90IGltcGxlbWVudCBkeW5hbWljIHBzZXVkby1j
bGFzc2VzIGJlY2F1c2UgdGhleSBtYWtlIG5vIHNlbnNlIHdpdGhvdXQKaW50ZXJhY3Rpdml0eSkg
ZG9lcyBub3QgaW1wbHkgbm9uLWNvbmZvcm1hbmNlLgoKPHA+QWxsIHNwZWNpZmljYXRpb25zIHJl
dXNpbmcgU2VsZWN0b3JzIG11c3QgY29udGFpbiBhIDxhCmhyZWY9IiNwcm9maWxpbmciPlByb2Zp
bGU8L2E+IGxpc3RpbmcgdGhlCnN1YnNldCBvZiBTZWxlY3RvcnMgaXQgYWNjZXB0cyBvciBleGNs
dWRlcywgYW5kIGRlc2NyaWJpbmcgdGhlIGNvbnN0cmFpbnRzCml0IGFkZHMgdG8gdGhlIGN1cnJl
bnQgc3BlY2lmaWNhdGlvbi4KCjxwPkludmFsaWRpdHkgaXMgY2F1c2VkIGJ5IGEgcGFyc2luZyBl
cnJvciwgZS5nLiBhbiB1bnJlY29nbml6ZWQgdG9rZW4gb3IgYSB0b2tlbgp3aGljaCBpcyBub3Qg
YWxsb3dlZCBhdCB0aGUgY3VycmVudCBwYXJzaW5nIHBvaW50LgoKPHA+VXNlciBhZ2VudHMgbXVz
dCBvYnNlcnZlIHRoZSBydWxlcyBmb3IgaGFuZGxpbmcgcGFyc2luZyBlcnJvcnM6Cjx1bD4KICA8
bGk+YSBzaW1wbGUgc2VsZWN0b3IgY29udGFpbmluZyBhbiB1bmRlY2xhcmVkIG5hbWVzcGFjZSBw
cmVmaXggaXMgaW52YWxpZDwvbGk+CiAgPGxpPmEgc2VsZWN0b3IgY29udGFpbmluZyBhbiBpbnZh
bGlkIHNpbXBsZSBzZWxlY3RvciwgYW4gaW52YWxpZCBjb21iaW5hdG9yCiAgICBvciBhbiBpbnZh
bGlkIHRva2VuIGlzIGludmFsaWQuIDwvbGk+CiAgPGxpPmEgZ3JvdXAgb2Ygc2VsZWN0b3JzIGNv
bnRhaW5pbmcgYW4gaW52YWxpZCBzZWxlY3RvciBpcyBpbnZhbGlkLjwvbGk+CjwvdWw+Cgo8cCBj
bGFzcz0iZm9vIHRlc3QxIGJhciI+U3BlY2lmaWNhdGlvbnMgcmV1c2luZyBTZWxlY3RvcnMgbXVz
dCBkZWZpbmUgaG93IHRvIGhhbmRsZSBwYXJzaW5nCmVycm9ycy4gKEluIHRoZSBjYXNlIG9mIENT
UywgdGhlIGVudGlyZSBydWxlIGluIHdoaWNoIHRoZSBzZWxlY3RvciBpcwp1c2VkIGlzIGRyb3Bw
ZWQuKTwvcD4KCjwhLS0gQXBwYXJlbnRseSBhbGwgdGhlc2UgcmVmZXJlbmNlcyBhcmUgb3V0IG9m
IGRhdGU6CjxwPkltcGxlbWVudGF0aW9ucyBvZiB0aGlzIHNwZWNpZmljYXRpb24gbXVzdCBiZWhh
dmUgYXMKInJlY2lwaWVudHMgb2YgdGV4dCBkYXRhIiBhcyBkZWZpbmVkIGJ5IDxhIGhyZWY9IiNy
ZWZzQ1dXVyI+W0NXV1ddPC9hPgp3aGVuIHBhcnNpbmcgc2VsZWN0b3JzIGFuZCBhdHRlbXB0aW5n
IG1hdGNoZXMuIChJbiBwYXJ0aWN1bGFyLAppbXBsZW1lbnRhdGlvbnMgbXVzdCBhc3N1bWUgdGhl
IGRhdGEgaXMgbm9ybWFsaXplZCBhbmQgbXVzdCBub3QKbm9ybWFsaXplIGl0LikgTm9ybWF0aXZl
IHJ1bGVzIGZvciBtYXRjaGluZyBzdHJpbmdzIGFyZSBkZWZpbmVkIGluCjxhIGhyZWY9IiNyZWZz
Q1dXVyI+W0NXV1ddPC9hPiBhbmQgPGEKaHJlZj0iI3JlZnNVTklDT0RFIj5bVU5JQ09ERV08L2E+
IGFuZCBhcHBseSB0byBpbXBsZW1lbnRhdGlvbnMgb2YgdGhpcwpzcGVjaWZpY2F0aW9uLjwvcD4t
LT4KCjxoMj48YSBuYW1lPVRlc3RzPjwvYT4xNC4gVGVzdHM8L2gyPgoKPHA+VGhpcyBzcGVjaWZp
Y2F0aW9uIGhhcyA8YQpocmVmPSJodHRwOi8vd3d3LnczLm9yZy9TdHlsZS9DU1MvVGVzdC9DU1Mz
L1NlbGVjdG9ycy9jdXJyZW50LyI+YSB0ZXN0CnN1aXRlPC9hPiBhbGxvd2luZyB1c2VyIGFnZW50
cyB0byB2ZXJpZnkgdGhlaXIgYmFzaWMgY29uZm9ybWFuY2UgdG8KdGhlIHNwZWNpZmljYXRpb24u
IFRoaXMgdGVzdCBzdWl0ZSBkb2VzIG5vdCBwcmV0ZW5kIHRvIGJlIGV4aGF1c3RpdmUKYW5kIGRv
ZXMgbm90IGNvdmVyIGFsbCBwb3NzaWJsZSBjb21iaW5lZCBjYXNlcyBvZiBTZWxlY3RvcnMuPC9w
PgoKPGgyPjxhIG5hbWU9QUNLUz48L2E+MTUuIEFja25vd2xlZGdlbWVudHM8L2gyPgoKPHA+VGhl
IENTUyB3b3JraW5nIGdyb3VwIHdvdWxkIGxpa2UgdG8gdGhhbmsgZXZlcnlvbmUgd2hvIGhhcyBz
ZW50CmNvbW1lbnRzIG9uIHRoaXMgc3BlY2lmaWNhdGlvbiBvdmVyIHRoZSB5ZWFycy48L3A+Cgo8
cD5UaGUgd29ya2luZyBncm91cCB3b3VsZCBsaWtlIHRvIGV4dGVuZCBzcGVjaWFsIHRoYW5rcyB0
byBEb25uYQpNY01hbnVzLCBKdXN0aW4gQmFrZXIsIEpvZWwgU2tsYXIsIGFuZCBNb2xseSBJdmVz
IEJyb3dlciB3aG8gcGVyZmVybWVkCnRoZSBmaW5hbCBlZGl0b3JpYWwgcmV2aWV3LjwvcD4KCjxo
Mj48YSBuYW1lPXJlZmVyZW5jZXM+MTYuIFJlZmVyZW5jZXM8L2E+PC9oMj4KCjxkbCBjbGFzcz0i
cmVmcyI+CgogIDxkdD5bQ1NTMV0KICA8ZGQ+PGEgbmFtZT1yZWZzQ1NTMT48L2E+IEJlcnQgQm9z
LCBIJmFyaW5nO2tvbiBXaXVtIExpZTsgIjxjaXRlPkNhc2NhZGluZyBTdHlsZSBTaGVldHMsIGxl
dmVsIDE8L2NpdGU+IiwgVzNDIFJlY29tbWVuZGF0aW9uLCAxNyBEZWMgMTk5NiwgcmV2aXNlZCAx
MSBKYW4gMTk5OQogIDxkZD4oPGNvZGU+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVD
LUNTUzEiPmh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1DU1MxPC9hPjwvY29kZT4pCgogIDxkdD5b
Q1NTMjFdCiAgPGRkPjxhIG5hbWU9cmVmc0NTUzIxPjwvYT4gQmVydCBCb3MsIFRhbnRlayAmQ2Nl
ZGlsO2VsaWssIElhbiBIaWNrc29uLCBIJmFyaW5nO2tvbiBXaXVtIExpZSwgZWRpdG9yczsgIjxj
aXRlPkNhc2NhZGluZyBTdHlsZSBTaGVldHMsIGxldmVsIDIgcmV2aXNpb24gMTwvY2l0ZT4iLCBX
M0MgV29ya2luZyBEcmFmdCwgMTMgSnVuZSAyMDA1CiAgPGRkPig8Y29kZT48YSBocmVmPSJodHRw
Oi8vd3d3LnczLm9yZy9UUi9DU1MyMSI+aHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMjE8L2E+PC9j
b2RlPikKCiAgPGR0PltDV1dXXQogIDxkZD48YSBuYW1lPXJlZnNDV1dXPjwvYT4gTWFydGluIEou
IEQmdXVtbDtyc3QsIEZyYW4mY2NlZGlsO29pcyBZZXJnZWF1LCBNaXNoYSBXb2xmLCBBc211cyBG
cmV5dGFnLCBUZXggVGV4aW4sIGVkaXRvcnM7ICI8Y2l0ZT5DaGFyYWN0ZXIgTW9kZWwgZm9yIHRo
ZSBXb3JsZCBXaWRlIFdlYjwvY2l0ZT4iLCBXM0MgUmVjb21tZW5kYXRpb24sIDE1IEZlYnJ1YXJ5
IDIwMDUKICA8ZGQ+KDxjb2RlPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL2NoYXJtb2Qv
Ij5odHRwOi8vd3d3LnczLm9yZy9UUi9jaGFybW9kLzwvYT48L2NvZGU+KQoKICA8ZHQ+W0ZMRVhd
CiAgPGRkPjxhIG5hbWU9InJlZnNGTEVYIj48L2E+ICI8Y2l0ZT5GbGV4OiBUaGUgTGV4aWNhbCBT
Y2FubmVyIEdlbmVyYXRvcjwvY2l0ZT4iLCBWZXJzaW9uIDIuMy43LCBJU0JOIDE4ODIxMTQyMTMK
CiAgPGR0PltIVE1MNF0KICA8ZGQ+PGEgbmFtZT0icmVmc0hUTUw0Ij48L2E+IERhdmUgUmFnZ2V0
LCBBcm5hdWQgTGUgSG9ycywgSWFuIEphY29icywgZWRpdG9yczsgIjxjaXRlPkhUTUwgNC4wMSBT
cGVjaWZpY2F0aW9uPC9jaXRlPiIsIFczQyBSZWNvbW1lbmRhdGlvbiwgMjQgRGVjZW1iZXIgMTk5
OQogIDxkZD4oPGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvIj48Y29kZT5odHRw
Oi8vd3d3LnczLm9yZy9UUi9odG1sNC88L2NvZGU+PC9hPikKCiAgPGR0PltNQVRIXQogIDxkZD48
YSBuYW1lPSJyZWZzTUFUSCI+PC9hPiBQYXRyaWNrIElvbiwgUm9iZXJ0IE1pbmVyLCBlZGl0b3Jz
OyAiPGNpdGU+TWF0aGVtYXRpY2FsIE1hcmt1cCBMYW5ndWFnZSAoTWF0aE1MKSAxLjAxPC9jaXRl
PiIsIFczQyBSZWNvbW1lbmRhdGlvbiwgcmV2aXNpb24gb2YgNyBKdWx5IDE5OTkKICA8ZGQ+KDxj
b2RlPjxhIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1NYXRoTUwvIj5odHRwOi8vd3d3
LnczLm9yZy9UUi9SRUMtTWF0aE1MLzwvYT48L2NvZGU+KQoKICA8ZHQ+W1JGQzMwNjZdCiAgPGRk
PjxhIG5hbWU9InJlZnNSRkMzMDY2Ij48L2E+IEguIEFsdmVzdHJhbmQ7ICI8Y2l0ZT5UYWdzIGZv
ciB0aGUgSWRlbnRpZmljYXRpb24gb2YgTGFuZ3VhZ2VzPC9jaXRlPiIsIFJlcXVlc3QgZm9yIENv
bW1lbnRzIDMwNjYsIEphbnVhcnkgMjAwMQogIDxkZD4oPGEgaHJlZj0iaHR0cDovL3d3dy5pZXRm
Lm9yZy9yZmMvcmZjMzA2Ni50eHQiPjxjb2RlPmh0dHA6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzMw
NjYudHh0PC9jb2RlPjwvYT4pCgogIDxkdD5bU1RUU10KICA8ZGQ+PGEgbmFtZT1yZWZzU1RUUz48
L2E+IERhbmllbCBHbGF6bWFuOyAiPGNpdGU+U2ltcGxlIFRyZWUgVHJhbnNmb3JtYXRpb24gU2hl
ZXRzIDM8L2NpdGU+IiwgRWxlY3RyaWNpdCZlYWN1dGU7IGRlIEZyYW5jZSwgc3VibWlzc2lvbiB0
byB0aGUgVzNDLCAxMSBOb3ZlbWJlciAxOTk4CiAgPGRkPig8Y29kZT48YSBocmVmPSJodHRwOi8v
d3d3LnczLm9yZy9UUi9OT1RFLVNUVFMzIj5odHRwOi8vd3d3LnczLm9yZy9UUi9OT1RFLVNUVFMz
PC9hPjwvY29kZT4pCgogIDxkdD5bU1ZHXQogIDxkZD48YSBuYW1lPSJyZWZzU1ZHIj48L2E+IEpv
biBGZXJyYWlvbG8sICYjMzQyNzY7JiMyNzgxMDsgJiMyODE0NzssIERlYW4gSmFja3NvbiwgZWRp
dG9yczsgIjxjaXRlPlNjYWxhYmxlIFZlY3RvciBHcmFwaGljcyAoU1ZHKSAxLjEgU3BlY2lmaWNh
dGlvbjwvY2l0ZT4iLCBXM0MgUmVjb21tZW5kYXRpb24sIDE0IEphbnVhcnkgMjAwMwogIDxkZD4o
PGNvZGU+PGEgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHLyI+aHR0cDovL3d3dy53My5v
cmcvVFIvU1ZHLzwvYT48L2NvZGU+KQoKICA8ZHQ+W1VOSUNPREVdPC9kdD4KICA8ZGQ+PGEgbmFt
ZT0icmVmc1VOSUNPREUiPjwvYT4gPGNpdGU+PGEKICAgaHJlZj0iaHR0cDovL3d3dy51bmljb2Rl
Lm9yZy92ZXJzaW9ucy9Vbmljb2RlNC4xLjAvIj5UaGUgVW5pY29kZSBTdGFuZGFyZCwgVmVyc2lv
biA0LjE8L2E+PC9jaXRlPiwgVGhlIFVuaWNvZGUgQ29uc29ydGl1bS4gQm9zdG9uLCBNQSwgQWRk
aXNvbi1XZXNsZXksIE1hcmNoIDIwMDUuIElTQk4gMC0zMjEtMTg1NzgtMSwgYXMgYW1lbmRlZCBi
eSA8YSBocmVmPSJodHRwOi8vd3d3LnVuaWNvZGUub3JnL3ZlcnNpb25zL1VuaWNvZGU0LjAuMS8i
PlVuaWNvZGUgNC4wLjE8L2E+IGFuZCA8YSBocmVmPSJodHRwOi8vd3d3LnVuaWNvZGUub3JnL3Zl
cnNpb25zL1VuaWNvZGU0LjEuMC8iPlVuaWNvZGUgIDQuMS4wPC9hPi4KICA8ZGQ+KDxjb2RlPjxh
IGhyZWY9Imh0dHA6Ly93d3cudW5pY29kZS5vcmcvdmVyc2lvbnMvIj5odHRwOi8vd3d3LnVuaWNv
ZGUub3JnL3ZlcnNpb25zLzwvYT48L2NvZGU+KTwvZGQ+CgogIDxkdD5bWE1MMTBdCiAgPGRkPjxh
IG5hbWU9InJlZnNYTUwxMCI+PC9hPiBUaW0gQnJheSwgSmVhbiBQYW9saSwgQy4gTS4gU3BlcmJl
cmctTWNRdWVlbiwgRXZlIE1hbGVyLCBGcmFuJmNjZWRpbDtvaXMgWWVyZ2VhdSwgZWRpdG9yczsg
IjxjaXRlPkV4dGVuc2libGUgTWFya3VwIExhbmd1YWdlIChYTUwpIDEuMCAoVGhpcmQgRWRpdGlv
bik8L2NpdGU+IiwgVzNDIFJlY29tbWVuZGF0aW9uLCA0IEZlYnJ1YXJ5IDIwMDQKICA8ZGQ+KDxh
IGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy14bWwvIj48Y29kZT5odHRwOi8vd3d3Lncz
Lm9yZy9UUi9SRUMteG1sLzwvY29kZT48L2E+KQoKICA8ZHQ+W1hNTE5BTUVTXQogIDxkZD48YSBu
YW1lPSJyZWZzWE1MTkFNRVMiPjwvYT4gVGltIEJyYXksIERhdmUgSG9sbGFuZGVyLCBBbmRyZXcg
TGF5bWFuLCBlZGl0b3JzOyAiPGNpdGU+TmFtZXNwYWNlcyBpbiBYTUw8L2NpdGU+IiwgVzNDIFJl
Y29tbWVuZGF0aW9uLCAxNCBKYW51YXJ5IDE5OTkKICA8ZGQ+KDxhIGhyZWY9Imh0dHA6Ly93d3cu
dzMub3JnL1RSL1JFQy14bWwtbmFtZXMvIj48Y29kZT5odHRwOi8vd3d3LnczLm9yZy9UUi9SRUMt
eG1sLW5hbWVzLzwvY29kZT48L2E+KQoKICA8ZHQ+W1lBQ0NdCiAgPGRkPjxhIG5hbWU9InJlZnNZ
QUNDIj48L2E+IFMuIEMuIEpvaG5zb247ICI8Y2l0ZT5ZQUNDICZtZGFzaDsgWWV0IGFub3RoZXIg
Y29tcGlsZXIgY29tcGlsZXI8L2NpdGU+IiwgVGVjaG5pY2FsIFJlcG9ydCwgTXVycmF5IEhpbGws
IDE5NzUKCjwvZGw+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132035</attachid>
            <date>2012-03-15 06:32:54 -0700</date>
            <delta_ts>2012-03-15 17:32:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81214-20120315223253.patch</filename>
            <type>text/plain</type>
            <size>23843</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwODAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmNjZTM5Y2Q0YjllZGU2
NDE1ZGFmZTY5NjkyNzA3ZjQ1MmFmMjQ4Ni4uNjEzNDc0MWFjNzQ0NjA3NDRiOGI5NDBkZmZkMjM0
ZmM4YzAxMmQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNyBAQAorMjAxMi0wMy0xNSAgS2Vu
dGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1BlcmZvcm1hbmNl
XSBPcHRpbWl6ZSBpbm5lckhUTUwgYW5kIG91dGVySFRNTAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEyMTQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIG1ha2VzIGlubmVySFRNTCBhbmQg
b3V0ZXJIVE1MIDIuNCB0aW1lcyBmYXN0ZXIuCisKKyAgICAgICAgUGVyZm9ybWFuY2UgdGVzdHM6
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL2F0dGFjaG1lbnQuY2dpP2lkPTEzMjAzNAorCisgICAg
ICAgIC0gQ2hyb21pdW0vTWFjIHdpdGhvdXQgdGhlIHBhdGNoCisgICAgICAgIGRpdi5pbm5lckhU
TUw6IDE2NTguNiBtcworICAgICAgICBkaXYub3V0ZXJIVE1MOiA0ODU5LjYgbXMKKyAgICAgICAg
Ym9keS5pbm5lckhUTUw6IDY0MC4yIG1zCisgICAgICAgIGJvZHkub3V0ZXJIVE1MOiA2NDEuOCBt
cworCisgICAgICAgIC0gQ2hyb21pdW0vTWFjIHdpdGggdGhlIHBhdGNoCisgICAgICAgIGRpdi5p
bm5lckhUTUw6ICA3NTEuMCBtcworICAgICAgICBkaXYub3V0ZXJIVE1MOiAyMDk2LjAgbXMKKyAg
ICAgICAgYm9keS5pbm5lckhUTUw6IDI3MS4yIG1zCisgICAgICAgIGJvZHkub3V0ZXJIVE1MOiAy
NzEuMiBtcworCisgICAgICAgIC0gQ2hyb21pdW0vTGludXggd2l0aG91dCB0aGUgcGF0Y2gKKyAg
ICAgICAgZGl2LmlubmVySFRNTDogIDk1MC40IG1zCisgICAgICAgIGRpdi5vdXRlckhUTUw6IDIy
NTcuOCBtcworICAgICAgICBib2R5LmlubmVySFRNTDogNDUyLjggbXMKKyAgICAgICAgYm9keS5v
dXRlckhUTUw6IDQ1Ny42IG1zCisKKyAgICAgICAgLSBDaHJvbWl1bS9MaW51eCB3aXRoIHRoZSBw
YXRjaAorICAgICAgICBkaXYuaW5uZXJIVE1MOiAgNTgyLjQgbXMKKyAgICAgICAgZGl2Lm91dGVy
SFRNTDogMTI4My4wIG1zCisgICAgICAgIGJvZHkuaW5uZXJIVE1MOiAyMzMuMCBtcworICAgICAg
ICBib2R5Lm91dGVySFRNTDogMjMzLjQgbXMKKworICAgICAgICAtIEFwcGxlV2ViS2l0L01hYyB3
aXRob3V0IHRoZSBwYXRjaAorICAgICAgICBkaXYuaW5uZXJIVE1MOiAgOTAwLjYgbXMKKyAgICAg
ICAgZGl2Lm91dGVySFRNTDogMjI0NS4yIG1zCisgICAgICAgIGJvZHkuaW5uZXJIVE1MOiA0NjIu
NiBtcworICAgICAgICBib2R5Lm91dGVySFRNTDogNDY4LjAgbXMKKworICAgICAgICAtIEFwcGxl
V2ViS2l0L01hYyB3aXRoIHRoZSBwYXRjaAorICAgICAgICBkaXYuaW5uZXJIVE1MOiAgNTI5Ljgg
IG1zCisgICAgICAgIGRpdi5vdXRlckhUTUw6IDEwOTAuMiBtcworICAgICAgICBib2R5LmlubmVy
SFRNTDogMjM5LjIgbXMKKyAgICAgICAgYm9keS5vdXRlckhUTUw6IDIzOS4yIG1zCisKKyAgICAg
ICAgVGhpcyBwYXRjaCBhcHBsaWVzIHRoZSBmb2xsb3dpbmcgdHdvIG9wdGltaXphdGlvbnM6CisK
KyAgICAgICAgKGEpIFJlbW92ZSByZWR1bmRhbnQgY29waWVzIGJldHdlZW4gVmVjdG9yPFN0cmlu
Zz4gYW5kIFN0cmluZ0J1aWxkZXJzCisgICAgICAgIGluIE1hcmt1cEFjY3VtdWxhdG9yOjpzZXJp
YWxpemVOb2RlcygpLCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kU3RhcnRUYWcoKSwKKyAgICAg
ICAgYW5kIE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRFbmRUYWcoKS4KKworICAgICAgICAgICAg
KFByZXZpb3VzIGJlaGF2aW9yKQorICAgICAgICAgICAgLSBDcmVhdGUgYSBTdHJpbmdCdWlsZGVy
IGZvciBlYWNoIHRhZy4KKyAgICAgICAgICAgIC0gQXBwZW5kIGEgY3JlYXRlZCBzdHJpbmcgaW4g
ZWFjaCBTdHJpbmdCdWlsZGVyIHRvIFZlY3RvcjxTdHJpbmc+LAorICAgICAgICAgICAgICBwYXJz
aW5nIHRoZSBET00gdHJlZS4KKyAgICAgICAgICAgIC0gQWZ0ZXIgdGhlIHBhcnNpbmcsIGFsbG9j
YXRlIGEgU3RyaW5nQnVpbGRlciB3aG9zZSBzaXplIGlzIHRoZSBzdW0KKyAgICAgICAgICAgICAg
b2YgYWxsIFN0cmluZ3MgaW4gVmVjdG9yPFN0cmluZz4uCisgICAgICAgICAgICAtIEFwcGVuZCBh
bGwgU3RyaW5ncyBpbiBWZWN0b3I8U3RyaW5nPiB0byB0aGUgU3RyaW5nQnVpbGRlci4KKyAgICAg
ICAgICAgIChOZXcgYmVoYXZpb3IpCisgICAgICAgICAgICAtIEFsbG9jYXRlIGEgU3RyaW5nQnVp
bGRlciB3aXRoIGEgZGVmYXVsdCBidWZmZXIgc2l6ZS4KKyAgICAgICAgICAgIC0gQXBwZW5kIGNy
ZWF0ZWQgc3RyaW5ncyB0byB0aGUgU3RyaW5nQnVpbGRlciwgaW5jcmVtZW50YWxseSBwYXJzaW5n
CisgICAgICAgICAgICAgIHRoZSBET00gdHJlZS4KKworICAgICAgICAoYikgT3B0aW1pemUgc3Ry
aW5nQnVpbGRlci5hcHBlbmQoKS4KKyAgICAgICAgICAgIChiLTEpIFJlcGxhY2Ugc3RyaW5nQnVp
bGRlci5hcHBlbmQoIkEiKSB3aXRoIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCdBJykuCisgICAgICAg
ICAgICAgICAgICBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiQSIpIHJlcXVpcmVzIHRvIGNhc3QgdGhl
IGNoYXJhY3RlcnMgdG8gTENoYXIqLAorICAgICAgICAgICAgICAgICAgYW5kIHRoZW4gY2FsbCBz
dHJsZW4oIkEiKS4gc3RyaW5nQnVpbGRlci5hcHBlbmQoJ0EnKSBpcyBmYXN0ZXIuCisgICAgICAg
ICAgICAoYi0yKSBSZXBsYWNlIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJBQiIpIHdpdGggc3RyaW5n
QnVpbGRlci5hcHBlbmQoJ0EnKQorICAgICAgICAgICAgICAgICAgYW5kIHN0cmluZ0J1aWxkZXIu
YXBwZW5kKCdCJykuIEluIG15IGV4cGVyaW1lbnQsIGFwcGVuZGluZyBjaGFyYWN0ZXJzCisgICAg
ICAgICAgICAgICAgICBvbmUgYnkgb25lIGlzIGZhc3RlciB0aGFuIGFwcGVuZGluZyB0aGUgY2hh
cmFjdGVycyBhdCBhIGJyZWF0aCBpZiB0aGUKKyAgICAgICAgICAgICAgICAgIG51bWJlciBvZiBj
aGFyYWN0ZXJzIGlzIGxlc3MgdGhhbiAzLgorICAgICAgICAgICAgKGItMykgSGFyZC1jb2RlIGEg
c3RyaW5nIGxlbmd0aDsgaS5lLiByZXBsYWNlIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJBQkNERSIp
CisgICAgICAgICAgICAgICAgICB3aXRoIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJBQkNERSIsIDUp
LiBXaGlsZSB0aGUgZm9ybWVyIHJlcXVpcmVzIHRvIGNhbGwKKyAgICAgICAgICAgICAgICAgIHN0
cmxlbigiQUJDREUiKSwgdGhlIGxhdHRlciBkb2VzIG5vdC4KKworICAgICAgICAoYSkgaW1wcm92
ZXMgcGVyZm9ybWFuY2UgYnkgMTcwJSB+IDIwMCUuIChiKSBpbXByb3ZlcyBwZXJmb3JtYW5jZSBi
eSAzMCB+IDQwJS4KKworICAgICAgICBUaGlzIHBhdGNoIGlzIGRvaW5nIHRvbyBtYW55IHRoaW5n
cyBhdCBhIGJyZWF0aC4gSSB3aWxsIGxhbmQgaXQgc3RlcCBieSBzdGVwLgorCisgICAgICAgIFRl
c3RzOiBmYXN0L2RvbS9SYW5nZS9yYW5nZS1leHRyYWN0LWNvbnRlbnRzLmh0bWwKKyAgICAgICAg
ICAgICAgIGZhc3QvZG9tL3NlcmlhbGl6ZS1ub2Rlcy54aHRtbAorICAgICAgICAgICAgICAgZmFz
dC9kb20vWE1MU2VyaWFsaXplci5odG1sCisgICAgICAgICAgICAgICBhbmQgYWxsIG90aGVyIHRl
c3RzIHRoYXQgdXNlIGlubmVySFRNTCBvciBvdXRlckhUTUwuCisgICAgICAgICAgICAgICBObyBj
aGFuZ2UgaW4gdGhlIHRlc3QgcmVzdWx0cy4KKworICAgICAgICAqIGVkaXRpbmcvTWFya3VwQWNj
dW11bGF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YXBwZW5kQ2hhcmFjdGVyc1JlcGxhY2lu
Z0VudGl0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hcmt1cEFjY3VtdWxhdG9yOjpzZXJpYWxp
emVOb2Rlcyk6CisgICAgICAgIChXZWJDb3JlOjpNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kU3Ry
aW5nKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRTdGFydFRh
Zyk6CisgICAgICAgIChXZWJDb3JlOjpNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kRW5kVGFnKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1hcmt1cEFjY3VtdWxhdG9yOjpjb25jYXRlbmF0ZU1hcmt1cCk6
CisgICAgICAgIChXZWJDb3JlOjpNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kUXVvdGVkVVJMQXR0
cmlidXRlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6TWFya3VwQWNjdW11bGF0b3I6OmFwcGVu
ZE5vZGVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpNYXJrdXBBY2N1bXVsYXRvcjo6c2hvdWxk
QWRkTmFtZXNwYWNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hcmt1cEFjY3VtdWxh
dG9yOjphcHBlbmROYW1lc3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6TWFya3VwQWNjdW11bGF0
b3I6OmVudGl0eU1hc2tGb3JUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1hcmt1cEFjY3VtdWxh
dG9yOjphcHBlbmRUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1hcmt1cEFjY3VtdWxhdG9yOjph
cHBlbmRDb21tZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1hcmt1cEFjY3VtdWxhdG9yOjphcHBl
bmREb2N1bWVudFR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6TWFya3VwQWNjdW11bGF0b3I6OmFw
cGVuZFByb2Nlc3NpbmdJbnN0cnVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpNYXJrdXBBY2N1
bXVsYXRvcjo6YXBwZW5kRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpNYXJrdXBBY2N1bXVs
YXRvcjo6YXBwZW5kT3BlblRhZyk6CisgICAgICAgIChXZWJDb3JlOjpNYXJrdXBBY2N1bXVsYXRv
cjo6YXBwZW5kQ2xvc2VUYWcpOgorICAgICAgICAoV2ViQ29yZTo6TWFya3VwQWNjdW11bGF0b3I6
OmFwcGVuZEF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNYXJrdXBBY2N1bXVsYXRvcjo6
YXBwZW5kQ0RBVEFTZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1hcmt1cEFjY3VtdWxhdG9y
OjplbGVtZW50Q2Fubm90SGF2ZUVuZFRhZyk6CisgICAgICAgICogZWRpdGluZy9NYXJrdXBBY2N1
bXVsYXRvci5oOgorICAgICAgICAoTWFya3VwQWNjdW11bGF0b3IpOgorICAgICAgICAoV2ViQ29y
ZTo6TWFya3VwQWNjdW11bGF0b3I6Omxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlKToKKwogMjAx
Mi0wMy0xNCAgSWdvciBPbGl2ZWlyYSAgPGlnb3Iub0BzaXNhLnNhbXN1bmcuY29tPgogCiAgICAg
ICAgIFNwbGl0IHRoZSBleHRyYSBsb2dpYyBvdXQgb2YgUmVuZGVyQmxvY2s6OnVwZGF0ZUZpcnN0
TGV0dGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL01hcmt1cEFjY3VtdWxh
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvTWFya3VwQWNjdW11bGF0b3IuY3BwCmlu
ZGV4IDQ3NjkwNGViYzkxM2NhYmQ2ZTljZTBjODNiM2Q3ZDc3YmExYzQwMzMuLmI5YjM0ZGM1MmFi
YjQ1ZDc4YTI1MWJjYmU3Y2ZlNTY1MzIwZjEyN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvTWFya3VwQWNjdW11bGF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvTWFya3VwQWNjdW11bGF0b3IuY3BwCkBAIC0zNywxNCArMzcsMTMgQEAKICNpbmNsdWRlICJL
VVJMLmgiCiAjaW5jbHVkZSAiUHJvY2Vzc2luZ0luc3RydWN0aW9uLmgiCiAjaW5jbHVkZSAiWE1M
TlNOYW1lcy5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KICNpbmNsdWRl
IDx3dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLXZvaWQgYXBwZW5kQ2hhcmFjdGVyc1JlcGxh
Y2luZ0VudGl0aWVzKFN0cmluZ0J1aWxkZXImIG91dCwgY29uc3QgVUNoYXIqIGNvbnRlbnQsIHNp
emVfdCBsZW5ndGgsIEVudGl0eU1hc2sgZW50aXR5TWFzaykKK3ZvaWQgYXBwZW5kQ2hhcmFjdGVy
c1JlcGxhY2luZ0VudGl0aWVzKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29uc3QgVUNoYXIqIGNv
bnRlbnQsIHNpemVfdCBsZW5ndGgsIEVudGl0eU1hc2sgZW50aXR5TWFzaykKIHsKICAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKGNvbnN0IFN0cmluZywgYW1wUmVmZXJlbmNlLCAoIiZhbXA7IikpOwog
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCBsdFJlZmVyZW5jZSwgKCImbHQ7
IikpOwpAQCAtNjQsMTQgKzYzLDE0IEBAIHZvaWQgYXBwZW5kQ2hhcmFjdGVyc1JlcGxhY2luZ0Vu
dGl0aWVzKFN0cmluZ0J1aWxkZXImIG91dCwgY29uc3QgVUNoYXIqIGNvbnRlbnQsCiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewogICAgICAgICBmb3IgKHNpemVfdCBt
ID0gMDsgbSA8IFdURl9BUlJBWV9MRU5HVEgoZW50aXR5TWFwcyk7ICsrbSkgewogICAgICAgICAg
ICAgaWYgKGNvbnRlbnRbaV0gPT0gZW50aXR5TWFwc1ttXS5lbnRpdHkgJiYgZW50aXR5TWFwc1tt
XS5tYXNrICYgZW50aXR5TWFzaykgewotICAgICAgICAgICAgICAgIG91dC5hcHBlbmQoY29udGVu
dCArIHBvc2l0aW9uQWZ0ZXJMYXN0RW50aXR5LCBpIC0gcG9zaXRpb25BZnRlckxhc3RFbnRpdHkp
OwotICAgICAgICAgICAgICAgIG91dC5hcHBlbmQoZW50aXR5TWFwc1ttXS5yZWZlcmVuY2UpOwor
ICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoY29udGVudCArIHBvc2l0aW9uQWZ0ZXJMYXN0
RW50aXR5LCBpIC0gcG9zaXRpb25BZnRlckxhc3RFbnRpdHkpOworICAgICAgICAgICAgICAgIHJl
c3VsdC5hcHBlbmQoZW50aXR5TWFwc1ttXS5yZWZlcmVuY2UpOwogICAgICAgICAgICAgICAgIHBv
c2l0aW9uQWZ0ZXJMYXN0RW50aXR5ID0gaSArIDE7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9Ci0gICAgb3V0LmFwcGVuZChjb250ZW50ICsg
cG9zaXRpb25BZnRlckxhc3RFbnRpdHksIGxlbmd0aCAtIHBvc2l0aW9uQWZ0ZXJMYXN0RW50aXR5
KTsKKyAgICByZXN1bHQuYXBwZW5kKGNvbnRlbnQgKyBwb3NpdGlvbkFmdGVyTGFzdEVudGl0eSwg
bGVuZ3RoIC0gcG9zaXRpb25BZnRlckxhc3RFbnRpdHkpOwogfQogCiBNYXJrdXBBY2N1bXVsYXRv
cjo6TWFya3VwQWNjdW11bGF0b3IoVmVjdG9yPE5vZGUqPiogbm9kZXMsIEVBYnNvbHV0ZVVSTHMg
cmVzb2x2ZVVybHNNZXRob2QsIGNvbnN0IFJhbmdlKiByYW5nZSkKQEAgLTg3LDExICs4Niw4IEBA
IE1hcmt1cEFjY3VtdWxhdG9yOjp+TWFya3VwQWNjdW11bGF0b3IoKQogCiBTdHJpbmcgTWFya3Vw
QWNjdW11bGF0b3I6OnNlcmlhbGl6ZU5vZGVzKE5vZGUqIG5vZGUsIE5vZGUqIG5vZGVUb1NraXAs
IEVDaGlsZHJlbk9ubHkgY2hpbGRyZW5Pbmx5KQogewotICAgIFN0cmluZ0J1aWxkZXIgb3V0Owog
ICAgIHNlcmlhbGl6ZU5vZGVzV2l0aE5hbWVzcGFjZXMobm9kZSwgbm9kZVRvU2tpcCwgY2hpbGRy
ZW5Pbmx5LCAwKTsKLSAgICBvdXQucmVzZXJ2ZUNhcGFjaXR5KGxlbmd0aCgpKTsKLSAgICBjb25j
YXRlbmF0ZU1hcmt1cChvdXQpOwotICAgIHJldHVybiBvdXQudG9TdHJpbmcoKTsKKyAgICByZXR1
cm4gbV9tYXJrdXAudG9TdHJpbmcoKTsKIH0KIAogdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6c2Vy
aWFsaXplTm9kZXNXaXRoTmFtZXNwYWNlcyhOb2RlKiBub2RlLCBOb2RlKiBub2RlVG9Ta2lwLCBF
Q2hpbGRyZW5Pbmx5IGNoaWxkcmVuT25seSwgY29uc3QgTmFtZXNwYWNlcyogbmFtZXNwYWNlcykK
QEAgLTEzNCwyMyArMTMwLDE5IEBAIFN0cmluZyBNYXJrdXBBY2N1bXVsYXRvcjo6cmVzb2x2ZVVS
TElmTmVlZGVkKGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IFN0cmluCiAKIHZvaWQgTWFy
a3VwQWNjdW11bGF0b3I6OmFwcGVuZFN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKIHsKLSAg
ICBtX3N1Y2NlZWRpbmdNYXJrdXAuYXBwZW5kKHN0cmluZyk7CisgICAgbV9tYXJrdXAuYXBwZW5k
KHN0cmluZyk7CiB9CiAKIHZvaWQgTWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZFN0YXJ0VGFnKE5v
ZGUqIG5vZGUsIE5hbWVzcGFjZXMqIG5hbWVzcGFjZXMpCiB7Ci0gICAgU3RyaW5nQnVpbGRlciBt
YXJrdXA7Ci0gICAgYXBwZW5kU3RhcnRNYXJrdXAobWFya3VwLCBub2RlLCBuYW1lc3BhY2VzKTsK
LSAgICBhcHBlbmRTdHJpbmcobWFya3VwLnRvU3RyaW5nKCkpOworICAgIGFwcGVuZFN0YXJ0TWFy
a3VwKG1fbWFya3VwLCBub2RlLCBuYW1lc3BhY2VzKTsKICAgICBpZiAobV9ub2RlcykKICAgICAg
ICAgbV9ub2Rlcy0+YXBwZW5kKG5vZGUpOwogfQogCiB2b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjph
cHBlbmRFbmRUYWcoTm9kZSogbm9kZSkKIHsKLSAgICBTdHJpbmdCdWlsZGVyIG1hcmt1cDsKLSAg
ICBhcHBlbmRFbmRNYXJrdXAobWFya3VwLCBub2RlKTsKLSAgICBhcHBlbmRTdHJpbmcobWFya3Vw
LnRvU3RyaW5nKCkpOworICAgIGFwcGVuZEVuZE1hcmt1cChtX21hcmt1cCwgbm9kZSk7CiB9CiAK
IHNpemVfdCBNYXJrdXBBY2N1bXVsYXRvcjo6dG90YWxMZW5ndGgoY29uc3QgVmVjdG9yPFN0cmlu
Zz4mIHN0cmluZ3MpCkBAIC0xNjEsMTMgKzE1Myw5IEBAIHNpemVfdCBNYXJrdXBBY2N1bXVsYXRv
cjo6dG90YWxMZW5ndGgoY29uc3QgVmVjdG9yPFN0cmluZz4mIHN0cmluZ3MpCiAgICAgcmV0dXJu
IGxlbmd0aDsKIH0KIAotLy8gRklYTUU6IFRoaXMgaXMgYSB2ZXJ5IGluZWZmaWNpZW50IHdheSBv
ZiBhY2N1bXVsYXRpbmcgdGhlIG1hcmt1cC4KLS8vIFdlJ3JlIGNvbnZlcnRpbmcgcmVzdWx0cyBv
ZiBhcHBlbmRTdGFydE1hcmt1cCBhbmQgYXBwZW5kRW5kTWFya3VwIGZyb20gU3RyaW5nQnVpbGRl
ciB0byBTdHJpbmcKLS8vIGFuZCB0aGVuIGJhY2sgdG8gU3RyaW5nQnVpbGRlciBhbmQgYWdhaW4g
dG8gU3RyaW5nIGhlcmUuCi12b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjpjb25jYXRlbmF0ZU1hcmt1
cChTdHJpbmdCdWlsZGVyJiBvdXQpCit2b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjpjb25jYXRlbmF0
ZU1hcmt1cChTdHJpbmdCdWlsZGVyJiByZXN1bHQpCiB7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBtX3N1Y2NlZWRpbmdNYXJrdXAuc2l6ZSgpOyArK2kpCi0gICAgICAgIG91dC5hcHBlbmQo
bV9zdWNjZWVkaW5nTWFya3VwW2ldKTsKKyAgICByZXN1bHQuYXBwZW5kKG1fbWFya3VwKTsKIH0K
IAogdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kQXR0cmlidXRlVmFsdWUoU3RyaW5nQnVp
bGRlciYgcmVzdWx0LCBjb25zdCBTdHJpbmcmIGF0dHJpYnV0ZSwgYm9vbCBkb2N1bWVudElzSFRN
TCkKQEAgLTE4NCw3ICsxNzIsNyBAQCB2b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRRdW90
ZWRVUkxBdHRyaWJ1dGVWYWx1ZShTdHJpbmdCdWlsZGVyJiByZXN1bHQsIGNvbgogewogICAgIEFT
U0VSVChlbGVtZW50LT5pc1VSTEF0dHJpYnV0ZShjb25zdF9jYXN0PEF0dHJpYnV0ZSo+KCZhdHRy
aWJ1dGUpKSk7CiAgICAgY29uc3QgU3RyaW5nIHJlc29sdmVkVVJMU3RyaW5nID0gcmVzb2x2ZVVS
TElmTmVlZGVkKGVsZW1lbnQsIGF0dHJpYnV0ZS52YWx1ZSgpKTsKLSAgICBVQ2hhciBxdW90ZUNo
YXIgPSAnXCInOworICAgIFVDaGFyIHF1b3RlQ2hhciA9ICciJzsKICAgICBTdHJpbmcgc3RyaXBw
ZWRVUkxTdHJpbmcgPSByZXNvbHZlZFVSTFN0cmluZy5zdHJpcFdoaXRlU3BhY2UoKTsKICAgICBp
ZiAocHJvdG9jb2xJc0phdmFTY3JpcHQoc3RyaXBwZWRVUkxTdHJpbmcpKSB7CiAgICAgICAgIC8v
IG1pbmltYWwgZXNjYXBpbmcgZm9yIGphdmFzY3JpcHQgdXJscwpAQCAtMjA2LDcgKzE5NCw3IEBA
IHZvaWQgTWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZFF1b3RlZFVSTEF0dHJpYnV0ZVZhbHVlKFN0
cmluZ0J1aWxkZXImIHJlc3VsdCwgY29uCiAgICAgcmVzdWx0LmFwcGVuZChxdW90ZUNoYXIpOwog
fQogCi12b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmROb2RlVmFsdWUoU3RyaW5nQnVpbGRl
ciYgb3V0LCBjb25zdCBOb2RlKiBub2RlLCBjb25zdCBSYW5nZSogcmFuZ2UsIEVudGl0eU1hc2sg
ZW50aXR5TWFzaykKK3ZvaWQgTWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZE5vZGVWYWx1ZShTdHJp
bmdCdWlsZGVyJiByZXN1bHQsIGNvbnN0IE5vZGUqIG5vZGUsIGNvbnN0IFJhbmdlKiByYW5nZSwg
RW50aXR5TWFzayBlbnRpdHlNYXNrKQogewogICAgIFN0cmluZyBzdHIgPSBub2RlLT5ub2RlVmFs
dWUoKTsKICAgICBjb25zdCBVQ2hhciogY2hhcmFjdGVycyA9IHN0ci5jaGFyYWN0ZXJzKCk7CkBA
IC0yMjMsNyArMjExLDcgQEAgdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kTm9kZVZhbHVl
KFN0cmluZ0J1aWxkZXImIG91dCwgY29uc3QgTm9kZSogbm9kZSwgY28KICAgICAgICAgfQogICAg
IH0KIAotICAgIGFwcGVuZENoYXJhY3RlcnNSZXBsYWNpbmdFbnRpdGllcyhvdXQsIGNoYXJhY3Rl
cnMsIGxlbmd0aCwgZW50aXR5TWFzayk7CisgICAgYXBwZW5kQ2hhcmFjdGVyc1JlcGxhY2luZ0Vu
dGl0aWVzKHJlc3VsdCwgY2hhcmFjdGVycywgbGVuZ3RoLCBlbnRpdHlNYXNrKTsKIH0KIAogYm9v
bCBNYXJrdXBBY2N1bXVsYXRvcjo6c2hvdWxkQWRkTmFtZXNwYWNlRWxlbWVudChjb25zdCBFbGVt
ZW50KiBlbGVtZW50KQpAQCAtMjQ2LDEzICsyMzQsMTMgQEAgYm9vbCBNYXJrdXBBY2N1bXVsYXRv
cjo6c2hvdWxkQWRkTmFtZXNwYWNlQXR0cmlidXRlKGNvbnN0IEF0dHJpYnV0ZSYgYXR0cmlidXRl
LAogICAgICAgICBuYW1lc3BhY2VzLnNldChlbXB0eUF0b20uaW1wbCgpLCBhdHRyaWJ1dGUudmFs
dWUoKS5pbXBsKCkpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQotICAgIAorCiAgICAg
UXVhbGlmaWVkTmFtZSB4bWxuc1ByZWZpeEF0dHIoeG1sbnNBdG9tLCBhdHRyaWJ1dGUubG9jYWxO
YW1lKCksIFhNTE5TTmFtZXM6OnhtbG5zTmFtZXNwYWNlVVJJKTsKICAgICBpZiAoYXR0cmlidXRl
Lm5hbWUoKSA9PSB4bWxuc1ByZWZpeEF0dHIpIHsKICAgICAgICAgbmFtZXNwYWNlcy5zZXQoYXR0
cmlidXRlLmxvY2FsTmFtZSgpLmltcGwoKSwgYXR0cmlidXRlLnZhbHVlKCkuaW1wbCgpKTsKICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KLSAgICAKKwogICAgIHJldHVybiB0cnVlOwogfQog
CkBAIC0yNjEsNyArMjQ5LDcgQEAgdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kTmFtZXNw
YWNlKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29uc3QgQXRvbWljU3RyaW4KICAgICBuYW1lc3Bh
Y2VzLmNoZWNrQ29uc2lzdGVuY3koKTsKICAgICBpZiAobmFtZXNwYWNlVVJJLmlzRW1wdHkoKSkK
ICAgICAgICAgcmV0dXJuOwotICAgICAgICAKKwogICAgIC8vIFVzZSBlbXB0eUF0b21zJ3MgaW1w
bCgpIGZvciBib3RoIG51bGwgYW5kIGVtcHR5IHN0cmluZ3Mgc2luY2UgdGhlIEhhc2hNYXAgY2Fu
J3QgaGFuZGxlIDAgYXMgYSBrZXkKICAgICBBdG9taWNTdHJpbmdJbXBsKiBwcmUgPSBwcmVmaXgu
aXNFbXB0eSgpID8gZW1wdHlBdG9tLmltcGwoKSA6IHByZWZpeC5pbXBsKCk7CiAgICAgQXRvbWlj
U3RyaW5nSW1wbCogZm91bmROUyA9IG5hbWVzcGFjZXMuZ2V0KHByZSk7CkBAIC0yODYsMjQgKzI3
NCwyNCBAQCBFbnRpdHlNYXNrIE1hcmt1cEFjY3VtdWxhdG9yOjplbnRpdHlNYXNrRm9yVGV4dChU
ZXh0KiB0ZXh0KSBjb25zdAogICAgIGNvbnN0IFF1YWxpZmllZE5hbWUqIHBhcmVudE5hbWUgPSAw
OwogICAgIGlmICh0ZXh0LT5wYXJlbnRFbGVtZW50KCkpCiAgICAgICAgIHBhcmVudE5hbWUgPSAm
c3RhdGljX2Nhc3Q8RWxlbWVudCo+KHRleHQtPnBhcmVudEVsZW1lbnQoKSktPnRhZ1FOYW1lKCk7
Ci0gICAgCisKICAgICBpZiAocGFyZW50TmFtZSAmJiAoKnBhcmVudE5hbWUgPT0gc2NyaXB0VGFn
IHx8ICpwYXJlbnROYW1lID09IHN0eWxlVGFnIHx8ICpwYXJlbnROYW1lID09IHhtcFRhZykpCiAg
ICAgICAgIHJldHVybiBFbnRpdHlNYXNrSW5DREFUQTsKIAogICAgIHJldHVybiB0ZXh0LT5kb2N1
bWVudCgpLT5pc0hUTUxEb2N1bWVudCgpID8gRW50aXR5TWFza0luSFRNTFBDREFUQSA6IEVudGl0
eU1hc2tJblBDREFUQTsKIH0KIAotdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kVGV4dChT
dHJpbmdCdWlsZGVyJiBvdXQsIFRleHQqIHRleHQpCit2b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjph
cHBlbmRUZXh0KFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgVGV4dCogdGV4dCkKIHsKLSAgICBhcHBl
bmROb2RlVmFsdWUob3V0LCB0ZXh0LCBtX3JhbmdlLCBlbnRpdHlNYXNrRm9yVGV4dCh0ZXh0KSk7
CisgICAgYXBwZW5kTm9kZVZhbHVlKHJlc3VsdCwgdGV4dCwgbV9yYW5nZSwgZW50aXR5TWFza0Zv
clRleHQodGV4dCkpOwogfQogCi12b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRDb21tZW50
KFN0cmluZ0J1aWxkZXImIG91dCwgY29uc3QgU3RyaW5nJiBjb21tZW50KQordm9pZCBNYXJrdXBB
Y2N1bXVsYXRvcjo6YXBwZW5kQ29tbWVudChTdHJpbmdCdWlsZGVyJiByZXN1bHQsIGNvbnN0IFN0
cmluZyYgY29tbWVudCkKIHsKICAgICAvLyBGSVhNRTogQ29tbWVudCBjb250ZW50IGlzIG5vdCBl
c2NhcGVkLCBidXQgWE1MU2VyaWFsaXplciAoYW5kIHBvc3NpYmx5IG90aGVyIGNhbGxlcnMpIHNo
b3VsZCByYWlzZSBhbiBleGNlcHRpb24gaWYgaXQgaW5jbHVkZXMgIi0tPiIuCi0gICAgb3V0LmFw
cGVuZCgiPCEtLSIpOwotICAgIG91dC5hcHBlbmQoY29tbWVudCk7Ci0gICAgb3V0LmFwcGVuZCgi
LS0+Iik7CisgICAgcmVzdWx0LmFwcGVuZCgiPCEtLSIsIDQpOworICAgIHJlc3VsdC5hcHBlbmQo
Y29tbWVudCk7CisgICAgcmVzdWx0LmFwcGVuZCgiLS0+IiwgMyk7CiB9CiAKIHZvaWQgTWFya3Vw
QWNjdW11bGF0b3I6OmFwcGVuZERvY3VtZW50VHlwZShTdHJpbmdCdWlsZGVyJiByZXN1bHQsIGNv
bnN0IERvY3VtZW50VHlwZSogbikKQEAgLTMxMSwxMDUgKzI5OSwxMDkgQEAgdm9pZCBNYXJrdXBB
Y2N1bXVsYXRvcjo6YXBwZW5kRG9jdW1lbnRUeXBlKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29u
c3QgRG9jdW1lbnQKICAgICBpZiAobi0+bmFtZSgpLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgcmVzdWx0LmFwcGVuZCgiPCFET0NUWVBFICIpOworICAgIHJlc3VsdC5hcHBlbmQo
IjwhRE9DVFlQRSAiLCAxMCk7CiAgICAgcmVzdWx0LmFwcGVuZChuLT5uYW1lKCkpOwogICAgIGlm
ICghbi0+cHVibGljSWQoKS5pc0VtcHR5KCkpIHsKLSAgICAgICAgcmVzdWx0LmFwcGVuZCgiIFBV
QkxJQyBcIiIpOworICAgICAgICByZXN1bHQuYXBwZW5kKCIgUFVCTElDIFwiIiwgOSk7CiAgICAg
ICAgIHJlc3VsdC5hcHBlbmQobi0+cHVibGljSWQoKSk7Ci0gICAgICAgIHJlc3VsdC5hcHBlbmQo
IlwiIik7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoJyInKTsKICAgICAgICAgaWYgKCFuLT5zeXN0
ZW1JZCgpLmlzRW1wdHkoKSkgewotICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgiIFwiIik7Cisg
ICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgJyk7CisgICAgICAgICAgICByZXN1bHQuYXBwZW5k
KCciJyk7CiAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKG4tPnN5c3RlbUlkKCkpOwotICAgICAg
ICAgICAgcmVzdWx0LmFwcGVuZCgiXCIiKTsKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyIn
KTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAoIW4tPnN5c3RlbUlkKCkuaXNFbXB0eSgpKSB7
Ci0gICAgICAgIHJlc3VsdC5hcHBlbmQoIiBTWVNURU0gXCIiKTsKKyAgICAgICAgcmVzdWx0LmFw
cGVuZCgiIFNZU1RFTSBcIiIsIDkpOwogICAgICAgICByZXN1bHQuYXBwZW5kKG4tPnN5c3RlbUlk
KCkpOwotICAgICAgICByZXN1bHQuYXBwZW5kKCJcIiIpOworICAgICAgICByZXN1bHQuYXBwZW5k
KCciJyk7CiAgICAgfQogICAgIGlmICghbi0+aW50ZXJuYWxTdWJzZXQoKS5pc0VtcHR5KCkpIHsK
LSAgICAgICAgcmVzdWx0LmFwcGVuZCgiIFsiKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgnICcp
OworICAgICAgICByZXN1bHQuYXBwZW5kKCdbJyk7CiAgICAgICAgIHJlc3VsdC5hcHBlbmQobi0+
aW50ZXJuYWxTdWJzZXQoKSk7Ci0gICAgICAgIHJlc3VsdC5hcHBlbmQoIl0iKTsKKyAgICAgICAg
cmVzdWx0LmFwcGVuZCgnXScpOwogICAgIH0KLSAgICByZXN1bHQuYXBwZW5kKCI+Iik7CisgICAg
cmVzdWx0LmFwcGVuZCgnPicpOwogfQogCi12b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRQ
cm9jZXNzaW5nSW5zdHJ1Y3Rpb24oU3RyaW5nQnVpbGRlciYgb3V0LCBjb25zdCBTdHJpbmcmIHRh
cmdldCwgY29uc3QgU3RyaW5nJiBkYXRhKQordm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5k
UHJvY2Vzc2luZ0luc3RydWN0aW9uKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29uc3QgU3RyaW5n
JiB0YXJnZXQsIGNvbnN0IFN0cmluZyYgZGF0YSkKIHsKICAgICAvLyBGSVhNRTogUEkgZGF0YSBp
cyBub3QgZXNjYXBlZCwgYnV0IFhNTFNlcmlhbGl6ZXIgKGFuZCBwb3NzaWJseSBvdGhlciBjYWxs
ZXJzKSB0aGlzIHNob3VsZCByYWlzZSBhbiBleGNlcHRpb24gaWYgaXQgaW5jbHVkZXMgIj8+Ii4K
LSAgICBvdXQuYXBwZW5kKCI8PyIpOwotICAgIG91dC5hcHBlbmQodGFyZ2V0KTsKLSAgICBvdXQu
YXBwZW5kKCIgIik7Ci0gICAgb3V0LmFwcGVuZChkYXRhKTsKLSAgICBvdXQuYXBwZW5kKCI/PiIp
OworICAgIHJlc3VsdC5hcHBlbmQoJzwnKTsKKyAgICByZXN1bHQuYXBwZW5kKCc/Jyk7CisgICAg
cmVzdWx0LmFwcGVuZCh0YXJnZXQpOworICAgIHJlc3VsdC5hcHBlbmQoJyAnKTsKKyAgICByZXN1
bHQuYXBwZW5kKGRhdGEpOworICAgIHJlc3VsdC5hcHBlbmQoJz8nKTsKKyAgICByZXN1bHQuYXBw
ZW5kKCc+Jyk7CiB9CiAKLXZvaWQgTWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZEVsZW1lbnQoU3Ry
aW5nQnVpbGRlciYgb3V0LCBFbGVtZW50KiBlbGVtZW50LCBOYW1lc3BhY2VzKiBuYW1lc3BhY2Vz
KQordm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kRWxlbWVudChTdHJpbmdCdWlsZGVyJiBy
ZXN1bHQsIEVsZW1lbnQqIGVsZW1lbnQsIE5hbWVzcGFjZXMqIG5hbWVzcGFjZXMpCiB7Ci0gICAg
YXBwZW5kT3BlblRhZyhvdXQsIGVsZW1lbnQsIG5hbWVzcGFjZXMpOworICAgIGFwcGVuZE9wZW5U
YWcocmVzdWx0LCBlbGVtZW50LCBuYW1lc3BhY2VzKTsKIAogICAgIGlmIChlbGVtZW50LT5oYXNB
dHRyaWJ1dGVzKCkpIHsKICAgICAgICAgdW5zaWduZWQgbGVuZ3RoID0gZWxlbWVudC0+YXR0cmli
dXRlQ291bnQoKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBsZW5ndGg7
IGkrKykKLSAgICAgICAgICAgIGFwcGVuZEF0dHJpYnV0ZShvdXQsIGVsZW1lbnQsICplbGVtZW50
LT5hdHRyaWJ1dGVJdGVtKGkpLCBuYW1lc3BhY2VzKTsKKyAgICAgICAgICAgIGFwcGVuZEF0dHJp
YnV0ZShyZXN1bHQsIGVsZW1lbnQsICplbGVtZW50LT5hdHRyaWJ1dGVJdGVtKGkpLCBuYW1lc3Bh
Y2VzKTsKICAgICB9CiAKICAgICAvLyBHaXZlIGFuIG9wcG9ydHVuaXR5IHRvIHN1YmNsYXNzZXMg
dG8gYWRkIHRoZWlyIG93biBhdHRyaWJ1dGVzLgotICAgIGFwcGVuZEN1c3RvbUF0dHJpYnV0ZXMo
b3V0LCBlbGVtZW50LCBuYW1lc3BhY2VzKTsKKyAgICBhcHBlbmRDdXN0b21BdHRyaWJ1dGVzKHJl
c3VsdCwgZWxlbWVudCwgbmFtZXNwYWNlcyk7CiAKLSAgICBhcHBlbmRDbG9zZVRhZyhvdXQsIGVs
ZW1lbnQpOworICAgIGFwcGVuZENsb3NlVGFnKHJlc3VsdCwgZWxlbWVudCk7CiB9CiAKLXZvaWQg
TWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZE9wZW5UYWcoU3RyaW5nQnVpbGRlciYgb3V0LCBFbGVt
ZW50KiBlbGVtZW50LCBOYW1lc3BhY2VzKiBuYW1lc3BhY2VzKQordm9pZCBNYXJrdXBBY2N1bXVs
YXRvcjo6YXBwZW5kT3BlblRhZyhTdHJpbmdCdWlsZGVyJiByZXN1bHQsIEVsZW1lbnQqIGVsZW1l
bnQsIE5hbWVzcGFjZXMqIG5hbWVzcGFjZXMpCiB7Ci0gICAgb3V0LmFwcGVuZCgnPCcpOwotICAg
IG91dC5hcHBlbmQoZWxlbWVudC0+bm9kZU5hbWVQcmVzZXJ2aW5nQ2FzZSgpKTsKKyAgICByZXN1
bHQuYXBwZW5kKCc8Jyk7CisgICAgcmVzdWx0LmFwcGVuZChlbGVtZW50LT5ub2RlTmFtZVByZXNl
cnZpbmdDYXNlKCkpOwogICAgIGlmICghZWxlbWVudC0+ZG9jdW1lbnQoKS0+aXNIVE1MRG9jdW1l
bnQoKSAmJiBuYW1lc3BhY2VzICYmIHNob3VsZEFkZE5hbWVzcGFjZUVsZW1lbnQoZWxlbWVudCkp
Ci0gICAgICAgIGFwcGVuZE5hbWVzcGFjZShvdXQsIGVsZW1lbnQtPnByZWZpeCgpLCBlbGVtZW50
LT5uYW1lc3BhY2VVUkkoKSwgKm5hbWVzcGFjZXMpOyAgICAKKyAgICAgICAgYXBwZW5kTmFtZXNw
YWNlKHJlc3VsdCwgZWxlbWVudC0+cHJlZml4KCksIGVsZW1lbnQtPm5hbWVzcGFjZVVSSSgpLCAq
bmFtZXNwYWNlcyk7CiB9CiAKLXZvaWQgTWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZENsb3NlVGFn
KFN0cmluZ0J1aWxkZXImIG91dCwgRWxlbWVudCogZWxlbWVudCkKK3ZvaWQgTWFya3VwQWNjdW11
bGF0b3I6OmFwcGVuZENsb3NlVGFnKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgRWxlbWVudCogZWxl
bWVudCkKIHsKICAgICBpZiAoc2hvdWxkU2VsZkNsb3NlKGVsZW1lbnQpKSB7CiAgICAgICAgIGlm
IChlbGVtZW50LT5pc0hUTUxFbGVtZW50KCkpCi0gICAgICAgICAgICBvdXQuYXBwZW5kKCcgJyk7
IC8vIFhIVE1MIDEuMCA8LT4gSFRNTCBjb21wYXRpYmlsaXR5LgotICAgICAgICBvdXQuYXBwZW5k
KCcvJyk7CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgJyk7IC8vIFhIVE1MIDEuMCA8LT4g
SFRNTCBjb21wYXRpYmlsaXR5LgorICAgICAgICByZXN1bHQuYXBwZW5kKCcvJyk7CiAgICAgfQot
ICAgIG91dC5hcHBlbmQoJz4nKTsKKyAgICByZXN1bHQuYXBwZW5kKCc+Jyk7CiB9CiAKLXZvaWQg
TWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZEF0dHJpYnV0ZShTdHJpbmdCdWlsZGVyJiBvdXQsIEVs
ZW1lbnQqIGVsZW1lbnQsIGNvbnN0IEF0dHJpYnV0ZSYgYXR0cmlidXRlLCBOYW1lc3BhY2VzKiBu
YW1lc3BhY2VzKQordm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kQXR0cmlidXRlKFN0cmlu
Z0J1aWxkZXImIHJlc3VsdCwgRWxlbWVudCogZWxlbWVudCwgY29uc3QgQXR0cmlidXRlJiBhdHRy
aWJ1dGUsIE5hbWVzcGFjZXMqIG5hbWVzcGFjZXMpCiB7CiAgICAgYm9vbCBkb2N1bWVudElzSFRN
TCA9IGVsZW1lbnQtPmRvY3VtZW50KCktPmlzSFRNTERvY3VtZW50KCk7CiAKLSAgICBvdXQuYXBw
ZW5kKCcgJyk7CisgICAgcmVzdWx0LmFwcGVuZCgnICcpOwogCiAgICAgaWYgKGRvY3VtZW50SXNI
VE1MKQotICAgICAgICBvdXQuYXBwZW5kKGF0dHJpYnV0ZS5uYW1lKCkubG9jYWxOYW1lKCkpOwor
ICAgICAgICByZXN1bHQuYXBwZW5kKGF0dHJpYnV0ZS5uYW1lKCkubG9jYWxOYW1lKCkpOwogICAg
IGVsc2UKLSAgICAgICAgb3V0LmFwcGVuZChhdHRyaWJ1dGUubmFtZSgpLnRvU3RyaW5nKCkpOwor
ICAgICAgICByZXN1bHQuYXBwZW5kKGF0dHJpYnV0ZS5uYW1lKCkudG9TdHJpbmcoKSk7CiAKLSAg
ICBvdXQuYXBwZW5kKCc9Jyk7CisgICAgcmVzdWx0LmFwcGVuZCgnPScpOwogCiAgICAgaWYgKGVs
ZW1lbnQtPmlzVVJMQXR0cmlidXRlKGNvbnN0X2Nhc3Q8QXR0cmlidXRlKj4oJmF0dHJpYnV0ZSkp
KQotICAgICAgICBhcHBlbmRRdW90ZWRVUkxBdHRyaWJ1dGVWYWx1ZShvdXQsIGVsZW1lbnQsIGF0
dHJpYnV0ZSk7CisgICAgICAgIGFwcGVuZFF1b3RlZFVSTEF0dHJpYnV0ZVZhbHVlKHJlc3VsdCwg
ZWxlbWVudCwgYXR0cmlidXRlKTsKICAgICBlbHNlIHsKLSAgICAgICAgb3V0LmFwcGVuZCgnXCIn
KTsKLSAgICAgICAgYXBwZW5kQXR0cmlidXRlVmFsdWUob3V0LCBhdHRyaWJ1dGUudmFsdWUoKSwg
ZG9jdW1lbnRJc0hUTUwpOwotICAgICAgICBvdXQuYXBwZW5kKCdcIicpOworICAgICAgICByZXN1
bHQuYXBwZW5kKCciJyk7CisgICAgICAgIGFwcGVuZEF0dHJpYnV0ZVZhbHVlKHJlc3VsdCwgYXR0
cmlidXRlLnZhbHVlKCksIGRvY3VtZW50SXNIVE1MKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgn
IicpOwogICAgIH0KIAogICAgIGlmICghZG9jdW1lbnRJc0hUTUwgJiYgbmFtZXNwYWNlcyAmJiBz
aG91bGRBZGROYW1lc3BhY2VBdHRyaWJ1dGUoYXR0cmlidXRlLCAqbmFtZXNwYWNlcykpCi0gICAg
ICAgIGFwcGVuZE5hbWVzcGFjZShvdXQsIGF0dHJpYnV0ZS5wcmVmaXgoKSwgYXR0cmlidXRlLm5h
bWVzcGFjZVVSSSgpLCAqbmFtZXNwYWNlcyk7CisgICAgICAgIGFwcGVuZE5hbWVzcGFjZShyZXN1
bHQsIGF0dHJpYnV0ZS5wcmVmaXgoKSwgYXR0cmlidXRlLm5hbWVzcGFjZVVSSSgpLCAqbmFtZXNw
YWNlcyk7CiB9CiAKLXZvaWQgTWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZENEQVRBU2VjdGlvbihT
dHJpbmdCdWlsZGVyJiBvdXQsIGNvbnN0IFN0cmluZyYgc2VjdGlvbikKK3ZvaWQgTWFya3VwQWNj
dW11bGF0b3I6OmFwcGVuZENEQVRBU2VjdGlvbihTdHJpbmdCdWlsZGVyJiByZXN1bHQsIGNvbnN0
IFN0cmluZyYgc2VjdGlvbikKIHsKICAgICAvLyBGSVhNRTogQ0RBVEEgY29udGVudCBpcyBub3Qg
ZXNjYXBlZCwgYnV0IFhNTFNlcmlhbGl6ZXIgKGFuZCBwb3NzaWJseSBvdGhlciBjYWxsZXJzKSBz
aG91bGQgcmFpc2UgYW4gZXhjZXB0aW9uIGlmIGl0IGluY2x1ZGVzICJdXT4iLgotICAgIG91dC5h
cHBlbmQoIjwhW0NEQVRBWyIpOwotICAgIG91dC5hcHBlbmQoc2VjdGlvbik7Ci0gICAgb3V0LmFw
cGVuZCgiXV0+Iik7CisgICAgcmVzdWx0LmFwcGVuZCgiPCFbQ0RBVEFbIiwgOSk7CisgICAgcmVz
dWx0LmFwcGVuZChzZWN0aW9uKTsKKyAgICByZXN1bHQuYXBwZW5kKCJdXT4iLCAzKTsKIH0KIAog
dm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kU3RhcnRNYXJrdXAoU3RyaW5nQnVpbGRlciYg
cmVzdWx0LCBjb25zdCBOb2RlKiBub2RlLCBOYW1lc3BhY2VzKiBuYW1lc3BhY2VzKQpAQCAtNDY5
LDcgKzQ2MSw3IEBAIGJvb2wgTWFya3VwQWNjdW11bGF0b3I6OmVsZW1lbnRDYW5ub3RIYXZlRW5k
VGFnKGNvbnN0IE5vZGUqIG5vZGUpCiB7CiAgICAgaWYgKCFub2RlLT5pc0hUTUxFbGVtZW50KCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKKwogICAgIC8vIEZJWE1FOiBpZUZvcmJpZHNJ
bnNlcnRIVE1MIG1heSBub3QgYmUgdGhlIHJpZ2h0IGZ1bmN0aW9uIHRvIGNhbGwgaGVyZQogICAg
IC8vIGllRm9yYmlkc0luc2VydEhUTUwgaXMgdXNlZCB0byBkaXNhbGxvdyBzZXR0aW5nIGlubmVy
SFRNTC9vdXRlckhUTUwKICAgICAvLyBvciBjcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQuICBJdCBk
b2VzIG5vdCBuZWNlc3NhcmlseSBhbGlnbiB3aXRoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL01hcmt1cEFjY3VtdWxhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL01h
cmt1cEFjY3VtdWxhdG9yLmgKaW5kZXggYTMxZjkxMjg1OGI3YzYwN2NlNGVjMjk2MWUwNjc2M2Rl
NDg0NThiZi4uMDdhZDhmNjg1ZWYzNmQ3ZmViYTUxMDhlYjYwYTg2MTM4NDhlMzQ0OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9NYXJrdXBBY2N1bXVsYXRvci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvTWFya3VwQWNjdW11bGF0b3IuaApAQCAtMzAsNiArMzAsNyBA
QAogI2luY2x1ZGUgIm1hcmt1cC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC03MSw0OSArNzIsNDkgQEAgcHVibGljOgogCiAgICAg
U3RyaW5nIHNlcmlhbGl6ZU5vZGVzKE5vZGUqIG5vZGUsIE5vZGUqIG5vZGVUb1NraXAsIEVDaGls
ZHJlbk9ubHkgY2hpbGRyZW5Pbmx5KTsKIAotICAgIHN0YXRpYyB2b2lkIGFwcGVuZENvbW1lbnQo
U3RyaW5nQnVpbGRlciYgb3V0LCBjb25zdCBTdHJpbmcmIGNvbW1lbnQpOworICAgIHN0YXRpYyB2
b2lkIGFwcGVuZENvbW1lbnQoU3RyaW5nQnVpbGRlciYsIGNvbnN0IFN0cmluZyYpOwogCiBwcm90
ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGFwcGVuZFN0cmluZyhjb25zdCBTdHJpbmcmKTsKICAg
ICB2b2lkIGFwcGVuZFN0YXJ0VGFnKE5vZGUqLCBOYW1lc3BhY2VzKiA9IDApOwogICAgIHZpcnR1
YWwgdm9pZCBhcHBlbmRFbmRUYWcoTm9kZSopOwogICAgIHN0YXRpYyBzaXplX3QgdG90YWxMZW5n
dGgoY29uc3QgVmVjdG9yPFN0cmluZz4mKTsKLSAgICBzaXplX3QgbGVuZ3RoKCkgY29uc3QgeyBy
ZXR1cm4gdG90YWxMZW5ndGgobV9zdWNjZWVkaW5nTWFya3VwKTsgfQotICAgIHZvaWQgY29uY2F0
ZW5hdGVNYXJrdXAoU3RyaW5nQnVpbGRlciYgb3V0KTsKLSAgICB2b2lkIGFwcGVuZEF0dHJpYnV0
ZVZhbHVlKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29uc3QgU3RyaW5nJiBhdHRyaWJ1dGUsIGJv
b2wgZG9jdW1lbnRJc0hUTUwpOworICAgIHNpemVfdCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBt
X21hcmt1cC5sZW5ndGgoKTsgfQorICAgIHZvaWQgY29uY2F0ZW5hdGVNYXJrdXAoU3RyaW5nQnVp
bGRlciYpOworICAgIHZvaWQgYXBwZW5kQXR0cmlidXRlVmFsdWUoU3RyaW5nQnVpbGRlciYsIGNv
bnN0IFN0cmluZyYsIGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBhcHBlbmRDdXN0b21BdHRyaWJ1
dGVzKFN0cmluZ0J1aWxkZXImLCBFbGVtZW50KiwgTmFtZXNwYWNlcyopOwotICAgIHZvaWQgYXBw
ZW5kTm9kZVZhbHVlKFN0cmluZ0J1aWxkZXImIG91dCwgY29uc3QgTm9kZSosIGNvbnN0IFJhbmdl
KiwgRW50aXR5TWFzayk7CisgICAgdm9pZCBhcHBlbmROb2RlVmFsdWUoU3RyaW5nQnVpbGRlciYs
IGNvbnN0IE5vZGUqLCBjb25zdCBSYW5nZSosIEVudGl0eU1hc2spOwogICAgIGJvb2wgc2hvdWxk
QWRkTmFtZXNwYWNlRWxlbWVudChjb25zdCBFbGVtZW50Kik7CiAgICAgYm9vbCBzaG91bGRBZGRO
YW1lc3BhY2VBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJiwgTmFtZXNwYWNlcyYpOwotICAgIHZv
aWQgYXBwZW5kTmFtZXNwYWNlKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29uc3QgQXRvbWljU3Ry
aW5nJiBwcmVmaXgsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZXNwYWNlVVJJLCBOYW1lc3BhY2Vz
Jik7CisgICAgdm9pZCBhcHBlbmROYW1lc3BhY2UoU3RyaW5nQnVpbGRlciYsIGNvbnN0IEF0b21p
Y1N0cmluZyYgcHJlZml4LCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSSwgTmFtZXNw
YWNlcyYpOwogICAgIEVudGl0eU1hc2sgZW50aXR5TWFza0ZvclRleHQoVGV4dCopIGNvbnN0Owot
ICAgIHZpcnR1YWwgdm9pZCBhcHBlbmRUZXh0KFN0cmluZ0J1aWxkZXImIG91dCwgVGV4dCopOwot
ICAgIHZvaWQgYXBwZW5kRG9jdW1lbnRUeXBlKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29uc3Qg
RG9jdW1lbnRUeXBlKik7Ci0gICAgdm9pZCBhcHBlbmRQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oU3Ry
aW5nQnVpbGRlciYgb3V0LCBjb25zdCBTdHJpbmcmIHRhcmdldCwgY29uc3QgU3RyaW5nJiBkYXRh
KTsKLSAgICB2aXJ0dWFsIHZvaWQgYXBwZW5kRWxlbWVudChTdHJpbmdCdWlsZGVyJiBvdXQsIEVs
ZW1lbnQqLCBOYW1lc3BhY2VzKik7Ci0gICAgdm9pZCBhcHBlbmRPcGVuVGFnKFN0cmluZ0J1aWxk
ZXImIG91dCwgRWxlbWVudCosIE5hbWVzcGFjZXMqKTsKLSAgICB2b2lkIGFwcGVuZENsb3NlVGFn
KFN0cmluZ0J1aWxkZXImIG91dCwgRWxlbWVudCopOwotICAgIHZvaWQgYXBwZW5kQXR0cmlidXRl
KFN0cmluZ0J1aWxkZXImIG91dCwgRWxlbWVudCosIGNvbnN0IEF0dHJpYnV0ZSYsIE5hbWVzcGFj
ZXMqKTsKLSAgICB2b2lkIGFwcGVuZENEQVRBU2VjdGlvbihTdHJpbmdCdWlsZGVyJiBvdXQsIGNv
bnN0IFN0cmluZyYgc2VjdGlvbik7Ci0gICAgdm9pZCBhcHBlbmRTdGFydE1hcmt1cChTdHJpbmdC
dWlsZGVyJiByZXN1bHQsIGNvbnN0IE5vZGUqLCBOYW1lc3BhY2VzKik7CisgICAgdmlydHVhbCB2
b2lkIGFwcGVuZFRleHQoU3RyaW5nQnVpbGRlciYsIFRleHQqKTsKKyAgICB2b2lkIGFwcGVuZERv
Y3VtZW50VHlwZShTdHJpbmdCdWlsZGVyJiwgY29uc3QgRG9jdW1lbnRUeXBlKik7CisgICAgdm9p
ZCBhcHBlbmRQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oU3RyaW5nQnVpbGRlciYsIGNvbnN0IFN0cmlu
ZyYgdGFyZ2V0LCBjb25zdCBTdHJpbmcmIGRhdGEpOworICAgIHZpcnR1YWwgdm9pZCBhcHBlbmRF
bGVtZW50KFN0cmluZ0J1aWxkZXImLCBFbGVtZW50KiwgTmFtZXNwYWNlcyopOworICAgIHZvaWQg
YXBwZW5kT3BlblRhZyhTdHJpbmdCdWlsZGVyJiwgRWxlbWVudCosIE5hbWVzcGFjZXMqKTsKKyAg
ICB2b2lkIGFwcGVuZENsb3NlVGFnKFN0cmluZ0J1aWxkZXImLCBFbGVtZW50Kik7CisgICAgdm9p
ZCBhcHBlbmRBdHRyaWJ1dGUoU3RyaW5nQnVpbGRlciYsIEVsZW1lbnQqLCBjb25zdCBBdHRyaWJ1
dGUmLCBOYW1lc3BhY2VzKik7CisgICAgdm9pZCBhcHBlbmRDREFUQVNlY3Rpb24oU3RyaW5nQnVp
bGRlciYsIGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgYXBwZW5kU3RhcnRNYXJrdXAoU3RyaW5n
QnVpbGRlciYsIGNvbnN0IE5vZGUqLCBOYW1lc3BhY2VzKik7CiAgICAgYm9vbCBzaG91bGRTZWxm
Q2xvc2UoY29uc3QgTm9kZSopOwotICAgIGJvb2wgZWxlbWVudENhbm5vdEhhdmVFbmRUYWcoY29u
c3QgTm9kZSogbm9kZSk7Ci0gICAgdm9pZCBhcHBlbmRFbmRNYXJrdXAoU3RyaW5nQnVpbGRlciYg
cmVzdWx0LCBjb25zdCBOb2RlKik7CisgICAgYm9vbCBlbGVtZW50Q2Fubm90SGF2ZUVuZFRhZyhj
b25zdCBOb2RlKik7CisgICAgdm9pZCBhcHBlbmRFbmRNYXJrdXAoU3RyaW5nQnVpbGRlciYsIGNv
bnN0IE5vZGUqKTsKIAogICAgIFZlY3RvcjxOb2RlKj4qIGNvbnN0IG1fbm9kZXM7CiAgICAgY29u
c3QgUmFuZ2UqIGNvbnN0IG1fcmFuZ2U7CiAKIHByaXZhdGU6Ci0gICAgU3RyaW5nIHJlc29sdmVV
UkxJZk5lZWRlZChjb25zdCBFbGVtZW50KiwgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpIGNvbnN0
OwotICAgIHZvaWQgYXBwZW5kUXVvdGVkVVJMQXR0cmlidXRlVmFsdWUoU3RyaW5nQnVpbGRlciYg
cmVzdWx0LCBjb25zdCBFbGVtZW50KiwgY29uc3QgQXR0cmlidXRlJik7CisgICAgU3RyaW5nIHJl
c29sdmVVUkxJZk5lZWRlZChjb25zdCBFbGVtZW50KiwgY29uc3QgU3RyaW5nJikgY29uc3Q7Cisg
ICAgdm9pZCBhcHBlbmRRdW90ZWRVUkxBdHRyaWJ1dGVWYWx1ZShTdHJpbmdCdWlsZGVyJiwgY29u
c3QgRWxlbWVudCosIGNvbnN0IEF0dHJpYnV0ZSYpOwogICAgIHZvaWQgc2VyaWFsaXplTm9kZXNX
aXRoTmFtZXNwYWNlcyhOb2RlKiwgTm9kZSogbm9kZVRvU2tpcCwgRUNoaWxkcmVuT25seSwgY29u
c3QgTmFtZXNwYWNlcyopOwogCi0gICAgVmVjdG9yPFN0cmluZz4gbV9zdWNjZWVkaW5nTWFya3Vw
OworICAgIFN0cmluZ0J1aWxkZXIgbV9tYXJrdXA7CiAgICAgY29uc3QgRUFic29sdXRlVVJMcyBt
X3Jlc29sdmVVUkxzTWV0aG9kOwogfTsKIAogLy8gRklYTUU6IFRoaXMgbWV0aG9kIHNob3VsZCBi
ZSBpbnRlZ3JhdGVkIHdpdGggTWFya3VwQWNjdW11bGF0b3IuCi12b2lkIGFwcGVuZENoYXJhY3Rl
cnNSZXBsYWNpbmdFbnRpdGllcyhTdHJpbmdCdWlsZGVyJiBvdXQsIGNvbnN0IFVDaGFyKiBjb250
ZW50LCBzaXplX3QgbGVuZ3RoLCBFbnRpdHlNYXNrKTsKK3ZvaWQgYXBwZW5kQ2hhcmFjdGVyc1Jl
cGxhY2luZ0VudGl0aWVzKFN0cmluZ0J1aWxkZXImLCBjb25zdCBVQ2hhciosIHNpemVfdCwgRW50
aXR5TWFzayk7CiAKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132161</attachid>
            <date>2012-03-15 17:33:40 -0700</date>
            <delta_ts>2012-03-15 18:31:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81214-20120316093338.patch</filename>
            <type>text/plain</type>
            <size>13697</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwOTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWU0ZDkyZTdkNjE2YWMy
YzExNmI2ZDAyYTBmMzkxM2YyOTAxZjJiMS4uMzQ4MjQxZTJjY2U4Njc0NzE5M2U3OWJkNmYzODYw
ZTgzMmVjZjY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDEwOCBAQAogMjAxMi0wMy0xNSAgS2Vu
dGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgW1BlcmZvcm1hbmNl
XSBPcHRpbWl6ZSBpbm5lckhUTUwgYW5kIG91dGVySFRNTAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEyMTQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIG1ha2VzIGlubmVySFRNTCBhbmQg
b3V0ZXJIVE1MIDIuNCB0aW1lcyBmYXN0ZXIuCisKKyAgICAgICAgUGVyZm9ybWFuY2UgdGVzdDog
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvYXR0YWNobWVudC5jZ2k/aWQ9MTMyMDM0CisgICAgICAg
IFRoZSBwZXJmb3JtYW5jZSB0ZXN0IG1lYXN1cmVzIGJvZHkuaW5uZXJIVE1MIGZvciAzMDAwIGxp
bmVzIG9mIEhUTUwsCisgICAgICAgIHdoaWNoIGlzIGNvcGllZCBmcm9tIHRoZSBIVE1MIHNwZWMu
CisKKyAgICAgICAgLSBDaHJvbWl1bS9NYWMgd2l0aG91dCB0aGUgcGF0Y2gKKyAgICAgICAgZGl2
LmlubmVySFRNTDogMTY1OC42IG1zCisgICAgICAgIGRpdi5vdXRlckhUTUw6IDQ4NTkuNiBtcwor
ICAgICAgICBib2R5LmlubmVySFRNTDogNjQwLjIgbXMKKyAgICAgICAgYm9keS5vdXRlckhUTUw6
IDY0MS44IG1zCisKKyAgICAgICAgLSBDaHJvbWl1bS9NYWMgd2l0aCB0aGUgcGF0Y2gKKyAgICAg
ICAgZGl2LmlubmVySFRNTDogIDc1MS4wIG1zCisgICAgICAgIGRpdi5vdXRlckhUTUw6IDIwOTYu
MCBtcworICAgICAgICBib2R5LmlubmVySFRNTDogMjcxLjIgbXMKKyAgICAgICAgYm9keS5vdXRl
ckhUTUw6IDI3MS4yIG1zCisKKyAgICAgICAgLSBDaHJvbWl1bS9MaW51eCB3aXRob3V0IHRoZSBw
YXRjaAorICAgICAgICBkaXYuaW5uZXJIVE1MOiAgOTUwLjQgbXMKKyAgICAgICAgZGl2Lm91dGVy
SFRNTDogMjI1Ny44IG1zCisgICAgICAgIGJvZHkuaW5uZXJIVE1MOiA0NTIuOCBtcworICAgICAg
ICBib2R5Lm91dGVySFRNTDogNDU3LjYgbXMKKworICAgICAgICAtIENocm9taXVtL0xpbnV4IHdp
dGggdGhlIHBhdGNoCisgICAgICAgIGRpdi5pbm5lckhUTUw6ICA1ODIuNCBtcworICAgICAgICBk
aXYub3V0ZXJIVE1MOiAxMjgzLjAgbXMKKyAgICAgICAgYm9keS5pbm5lckhUTUw6IDIzMy4wIG1z
CisgICAgICAgIGJvZHkub3V0ZXJIVE1MOiAyMzMuNCBtcworCisgICAgICAgIC0gQXBwbGVXZWJL
aXQvTWFjIHdpdGhvdXQgdGhlIHBhdGNoCisgICAgICAgIGRpdi5pbm5lckhUTUw6ICA5MDAuNiBt
cworICAgICAgICBkaXYub3V0ZXJIVE1MOiAyMjQ1LjIgbXMKKyAgICAgICAgYm9keS5pbm5lckhU
TUw6IDQ2Mi42IG1zCisgICAgICAgIGJvZHkub3V0ZXJIVE1MOiA0NjguMCBtcworCisgICAgICAg
IC0gQXBwbGVXZWJLaXQvTWFjIHdpdGggdGhlIHBhdGNoCisgICAgICAgIGRpdi5pbm5lckhUTUw6
ICA1MjkuOCAgbXMKKyAgICAgICAgZGl2Lm91dGVySFRNTDogMTA5MC4yIG1zCisgICAgICAgIGJv
ZHkuaW5uZXJIVE1MOiAyMzkuMiBtcworICAgICAgICBib2R5Lm91dGVySFRNTDogMjM5LjIgbXMK
KworICAgICAgICBUaGlzIHBhdGNoIGFwcGxpZXMgdGhlIGZvbGxvd2luZyB0d28gb3B0aW1pemF0
aW9uczoKKworICAgICAgICAoYSkgUmVtb3ZlIHJlZHVuZGFudCBjb3BpZXMgYmV0d2VlbiBWZWN0
b3I8U3RyaW5nPiBhbmQgU3RyaW5nQnVpbGRlcnMKKyAgICAgICAgaW4gTWFya3VwQWNjdW11bGF0
b3I6OnNlcmlhbGl6ZU5vZGVzKCksIE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRTdGFydFRhZygp
LAorICAgICAgICBhbmQgTWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZEVuZFRhZygpLgorCisgICAg
ICAgICAgICAoUHJldmlvdXMgYmVoYXZpb3IpCisgICAgICAgICAgICAtIENyZWF0ZSBhIFN0cmlu
Z0J1aWxkZXIgZm9yIGVhY2ggdGFnLgorICAgICAgICAgICAgLSBBcHBlbmQgYSBjcmVhdGVkIHN0
cmluZyBpbiBlYWNoIFN0cmluZ0J1aWxkZXIgdG8gVmVjdG9yPFN0cmluZz4sCisgICAgICAgICAg
ICAgIHBhcnNpbmcgdGhlIERPTSB0cmVlLgorICAgICAgICAgICAgLSBBZnRlciB0aGUgcGFyc2lu
ZywgYWxsb2NhdGUgYSBTdHJpbmdCdWlsZGVyIHdob3NlIHNpemUgaXMgdGhlIHN1bQorICAgICAg
ICAgICAgICBvZiBhbGwgU3RyaW5ncyBpbiBWZWN0b3I8U3RyaW5nPi4KKyAgICAgICAgICAgIC0g
QXBwZW5kIGFsbCBTdHJpbmdzIGluIFZlY3RvcjxTdHJpbmc+IHRvIHRoZSBTdHJpbmdCdWlsZGVy
LgorICAgICAgICAgICAgKE5ldyBiZWhhdmlvcikKKyAgICAgICAgICAgIC0gQWxsb2NhdGUgYSBT
dHJpbmdCdWlsZGVyIHdpdGggYSBkZWZhdWx0IGJ1ZmZlciBzaXplLgorICAgICAgICAgICAgLSBB
cHBlbmQgY3JlYXRlZCBzdHJpbmdzIHRvIHRoZSBTdHJpbmdCdWlsZGVyLCBpbmNyZW1lbnRhbGx5
IHBhcnNpbmcKKyAgICAgICAgICAgICAgdGhlIERPTSB0cmVlLgorCisgICAgICAgIChiKSBPcHRp
bWl6ZSBzdHJpbmdCdWlsZGVyLmFwcGVuZCgpLgorICAgICAgICAgICAgKGItMSkgUmVwbGFjZSBz
dHJpbmdCdWlsZGVyLmFwcGVuZCgiQSIpIHdpdGggc3RyaW5nQnVpbGRlci5hcHBlbmQoJ0EnKS4K
KyAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJBIikgcmVxdWlyZXMgdG8g
Y2FzdCB0aGUgY2hhcmFjdGVycyB0byBMQ2hhciosCisgICAgICAgICAgICAgICAgICBhbmQgdGhl
biBjYWxsIHN0cmxlbigiQSIpLiBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnQScpIGlzIGZhc3Rlci4K
KyAgICAgICAgICAgIChiLTIpIFJlcGxhY2Ugc3RyaW5nQnVpbGRlci5hcHBlbmQoIkFCIikgd2l0
aCBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnQScpCisgICAgICAgICAgICAgICAgICBhbmQgc3RyaW5n
QnVpbGRlci5hcHBlbmQoJ0InKS4gSW4gbXkgZXhwZXJpbWVudCwgYXBwZW5kaW5nIGNoYXJhY3Rl
cnMKKyAgICAgICAgICAgICAgICAgIG9uZSBieSBvbmUgaXMgZmFzdGVyIHRoYW4gYXBwZW5kaW5n
IHRoZSBjaGFyYWN0ZXJzIGF0IGEgYnJlYXRoIGlmIHRoZQorICAgICAgICAgICAgICAgICAgbnVt
YmVyIG9mIGNoYXJhY3RlcnMgaXMgbGVzcyB0aGFuIDMuCisgICAgICAgICAgICAoYi0zKSBIYXJk
LWNvZGUgYSBzdHJpbmcgbGVuZ3RoOyBpLmUuIHJlcGxhY2Ugc3RyaW5nQnVpbGRlci5hcHBlbmQo
IkFCQ0RFIikKKyAgICAgICAgICAgICAgICAgIHdpdGggc3RyaW5nQnVpbGRlci5hcHBlbmQoIkFC
Q0RFIiwgNSkuIFdoaWxlIHRoZSBmb3JtZXIgcmVxdWlyZXMgdG8gY2FsbAorICAgICAgICAgICAg
ICAgICAgc3RybGVuKCJBQkNERSIpLCB0aGUgbGF0dGVyIGRvZXMgbm90LgorCisgICAgICAgIChh
KSBpbXByb3ZlcyBwZXJmb3JtYW5jZSBieSAxNzAlIH4gMjAwJS4gKGIpIGltcHJvdmVzIHBlcmZv
cm1hbmNlIGJ5IDMwIH4gNDAlLgorCisgICAgICAgIFRlc3RzOiBmYXN0L2RvbS9SYW5nZS9yYW5n
ZS1leHRyYWN0LWNvbnRlbnRzLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL3NlcmlhbGl6
ZS1ub2Rlcy54aHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vWE1MU2VyaWFsaXplci5odG1s
CisgICAgICAgICAgICAgICBhbmQgYWxsIG90aGVyIHRlc3RzIHRoYXQgdXNlIGlubmVySFRNTCBv
ciBvdXRlckhUTUwuCisgICAgICAgICAgICAgICBObyBjaGFuZ2UgaW4gdGhlIHRlc3QgcmVzdWx0
cy4KKworICAgICAgICAqIGVkaXRpbmcvTWFya3VwQWNjdW11bGF0b3IuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWFya3VwQWNjdW11bGF0b3I6OnNlcmlhbGl6ZU5vZGVzKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRTdHJpbmcpOgorICAgICAgICAoV2ViQ29y
ZTo6TWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZFN0YXJ0VGFnKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRFbmRUYWcpOgorICAgICAgICAoV2ViQ29yZTo6TWFy
a3VwQWNjdW11bGF0b3I6OmNvbmNhdGVuYXRlTWFya3VwKToKKyAgICAgICAgKFdlYkNvcmU6Ok1h
cmt1cEFjY3VtdWxhdG9yOjphcHBlbmRRdW90ZWRVUkxBdHRyaWJ1dGVWYWx1ZSk6CisgICAgICAg
IChXZWJDb3JlOjpNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kQ29tbWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kRG9jdW1lbnRUeXBlKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24p
OgorICAgICAgICAoV2ViQ29yZTo6TWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZE9wZW5UYWcpOgor
ICAgICAgICAoV2ViQ29yZTo6TWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZEF0dHJpYnV0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kQ0RBVEFTZWN0aW9uKToK
KyAgICAgICAgKiBlZGl0aW5nL01hcmt1cEFjY3VtdWxhdG9yLmg6CisgICAgICAgIChNYXJrdXBB
Y2N1bXVsYXRvcik6CisKKzIwMTItMDMtMTUgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21p
dW0ub3JnPgorCiAgICAgICAgIFtSZWZhY3RvcmluZ10gUmVuYW1lIFN0cmluZ0J1aWxkZXIgdmFy
aWFibGVzIGluIE1hcmt1cEFjY3VtdWxhdG9yLntoLGNwcH0KICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMjg4CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvTWFya3VwQWNjdW11bGF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9NYXJrdXBBY2N1bXVsYXRvci5jcHAKaW5kZXggZmUyZTcyYjkzOGMwM2RjZDUwMjg5YWU5
ZWU0MjYzODQwNjA5MjMyNi4uN2EzZjQ5N2QxZWZmYWQyNjBhNmJhZTg3YzlhMmZhNmM0MjA5MDBl
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9NYXJrdXBBY2N1bXVsYXRvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9NYXJrdXBBY2N1bXVsYXRvci5jcHAKQEAg
LTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiUHJvY2Vzc2luZ0lu
c3RydWN0aW9uLmgiCiAjaW5jbHVkZSAiWE1MTlNOYW1lcy5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0
L1N0cmluZ0J1aWxkZXIuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC04NywxMSArODYsOCBAQCBNYXJrdXBBY2N1bXVs
YXRvcjo6fk1hcmt1cEFjY3VtdWxhdG9yKCkKIAogU3RyaW5nIE1hcmt1cEFjY3VtdWxhdG9yOjpz
ZXJpYWxpemVOb2RlcyhOb2RlKiB0YXJnZXROb2RlLCBOb2RlKiBub2RlVG9Ta2lwLCBFQ2hpbGRy
ZW5Pbmx5IGNoaWxkcmVuT25seSkKIHsKLSAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKICAgICBz
ZXJpYWxpemVOb2Rlc1dpdGhOYW1lc3BhY2VzKHRhcmdldE5vZGUsIG5vZGVUb1NraXAsIGNoaWxk
cmVuT25seSwgMCk7Ci0gICAgcmVzdWx0LnJlc2VydmVDYXBhY2l0eShsZW5ndGgoKSk7Ci0gICAg
Y29uY2F0ZW5hdGVNYXJrdXAocmVzdWx0KTsKLSAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7
CisgICAgcmV0dXJuIG1fbWFya3VwLnRvU3RyaW5nKCk7CiB9CiAKIHZvaWQgTWFya3VwQWNjdW11
bGF0b3I6OnNlcmlhbGl6ZU5vZGVzV2l0aE5hbWVzcGFjZXMoTm9kZSogdGFyZ2V0Tm9kZSwgTm9k
ZSogbm9kZVRvU2tpcCwgRUNoaWxkcmVuT25seSBjaGlsZHJlbk9ubHksIGNvbnN0IE5hbWVzcGFj
ZXMqIG5hbWVzcGFjZXMpCkBAIC0xMzQsMjMgKzEzMCwxOSBAQCBTdHJpbmcgTWFya3VwQWNjdW11
bGF0b3I6OnJlc29sdmVVUkxJZk5lZWRlZChjb25zdCBFbGVtZW50KiBlbGVtZW50LCBjb25zdCBT
dHJpbgogCiB2b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRTdHJpbmcoY29uc3QgU3RyaW5n
JiBzdHJpbmcpCiB7Ci0gICAgbV9zdWNjZWVkaW5nTWFya3VwLmFwcGVuZChzdHJpbmcpOworICAg
IG1fbWFya3VwLmFwcGVuZChzdHJpbmcpOwogfQogCiB2b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjph
cHBlbmRTdGFydFRhZyhOb2RlKiBub2RlLCBOYW1lc3BhY2VzKiBuYW1lc3BhY2VzKQogewotICAg
IFN0cmluZ0J1aWxkZXIgbWFya3VwOwotICAgIGFwcGVuZFN0YXJ0TWFya3VwKG1hcmt1cCwgbm9k
ZSwgbmFtZXNwYWNlcyk7Ci0gICAgYXBwZW5kU3RyaW5nKG1hcmt1cC50b1N0cmluZygpKTsKKyAg
ICBhcHBlbmRTdGFydE1hcmt1cChtX21hcmt1cCwgbm9kZSwgbmFtZXNwYWNlcyk7CiAgICAgaWYg
KG1fbm9kZXMpCiAgICAgICAgIG1fbm9kZXMtPmFwcGVuZChub2RlKTsKIH0KIAogdm9pZCBNYXJr
dXBBY2N1bXVsYXRvcjo6YXBwZW5kRW5kVGFnKE5vZGUqIG5vZGUpCiB7Ci0gICAgU3RyaW5nQnVp
bGRlciBtYXJrdXA7Ci0gICAgYXBwZW5kRW5kTWFya3VwKG1hcmt1cCwgbm9kZSk7Ci0gICAgYXBw
ZW5kU3RyaW5nKG1hcmt1cC50b1N0cmluZygpKTsKKyAgICBhcHBlbmRFbmRNYXJrdXAobV9tYXJr
dXAsIG5vZGUpOwogfQogCiBzaXplX3QgTWFya3VwQWNjdW11bGF0b3I6OnRvdGFsTGVuZ3RoKGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiBzdHJpbmdzKQpAQCAtMTYxLDEzICsxNTMsOSBAQCBzaXplX3Qg
TWFya3VwQWNjdW11bGF0b3I6OnRvdGFsTGVuZ3RoKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzdHJp
bmdzKQogICAgIHJldHVybiBsZW5ndGg7CiB9CiAKLS8vIEZJWE1FOiBUaGlzIGlzIGEgdmVyeSBp
bmVmZmljaWVudCB3YXkgb2YgYWNjdW11bGF0aW5nIHRoZSBtYXJrdXAuCi0vLyBXZSdyZSBjb252
ZXJ0aW5nIHJlc3VsdHMgb2YgYXBwZW5kU3RhcnRNYXJrdXAgYW5kIGFwcGVuZEVuZE1hcmt1cCBm
cm9tIFN0cmluZ0J1aWxkZXIgdG8gU3RyaW5nCi0vLyBhbmQgdGhlbiBiYWNrIHRvIFN0cmluZ0J1
aWxkZXIgYW5kIGFnYWluIHRvIFN0cmluZyBoZXJlLgogdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6
Y29uY2F0ZW5hdGVNYXJrdXAoU3RyaW5nQnVpbGRlciYgcmVzdWx0KQogewotICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbV9zdWNjZWVkaW5nTWFya3VwLnNpemUoKTsgKytpKQotICAgICAgICBy
ZXN1bHQuYXBwZW5kKG1fc3VjY2VlZGluZ01hcmt1cFtpXSk7CisgICAgcmVzdWx0LmFwcGVuZCht
X21hcmt1cCk7CiB9CiAKIHZvaWQgTWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZEF0dHJpYnV0ZVZh
bHVlKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29uc3QgU3RyaW5nJiBhdHRyaWJ1dGUsIGJvb2wg
ZG9jdW1lbnRJc0hUTUwpCkBAIC0xODQsMTMgKzE3MiwxMyBAQCB2b2lkIE1hcmt1cEFjY3VtdWxh
dG9yOjphcHBlbmRRdW90ZWRVUkxBdHRyaWJ1dGVWYWx1ZShTdHJpbmdCdWlsZGVyJiByZXN1bHQs
IGNvbgogewogICAgIEFTU0VSVChlbGVtZW50LT5pc1VSTEF0dHJpYnV0ZShjb25zdF9jYXN0PEF0
dHJpYnV0ZSo+KCZhdHRyaWJ1dGUpKSk7CiAgICAgY29uc3QgU3RyaW5nIHJlc29sdmVkVVJMU3Ry
aW5nID0gcmVzb2x2ZVVSTElmTmVlZGVkKGVsZW1lbnQsIGF0dHJpYnV0ZS52YWx1ZSgpKTsKLSAg
ICBVQ2hhciBxdW90ZUNoYXIgPSAnXCInOworICAgIFVDaGFyIHF1b3RlQ2hhciA9ICciJzsKICAg
ICBTdHJpbmcgc3RyaXBwZWRVUkxTdHJpbmcgPSByZXNvbHZlZFVSTFN0cmluZy5zdHJpcFdoaXRl
U3BhY2UoKTsKICAgICBpZiAocHJvdG9jb2xJc0phdmFTY3JpcHQoc3RyaXBwZWRVUkxTdHJpbmcp
KSB7CiAgICAgICAgIC8vIG1pbmltYWwgZXNjYXBpbmcgZm9yIGphdmFzY3JpcHQgdXJscwogICAg
ICAgICBpZiAoc3RyaXBwZWRVUkxTdHJpbmcuY29udGFpbnMoJyInKSkgewogICAgICAgICAgICAg
aWYgKHN0cmlwcGVkVVJMU3RyaW5nLmNvbnRhaW5zKCdcJycpKQotICAgICAgICAgICAgICAgIHN0
cmlwcGVkVVJMU3RyaW5nLnJlcGxhY2UoJ1wiJywgIiZxdW90OyIpOworICAgICAgICAgICAgICAg
IHN0cmlwcGVkVVJMU3RyaW5nLnJlcGxhY2UoJyInLCAiJnF1b3Q7Iik7CiAgICAgICAgICAgICBl
bHNlCiAgICAgICAgICAgICAgICAgcXVvdGVDaGFyID0gJ1wnJzsKICAgICAgICAgfQpAQCAtMzAx
LDkgKzI4OSw5IEBAIHZvaWQgTWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZFRleHQoU3RyaW5nQnVp
bGRlciYgcmVzdWx0LCBUZXh0KiB0ZXh0KQogdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5k
Q29tbWVudChTdHJpbmdCdWlsZGVyJiByZXN1bHQsIGNvbnN0IFN0cmluZyYgY29tbWVudCkKIHsK
ICAgICAvLyBGSVhNRTogQ29tbWVudCBjb250ZW50IGlzIG5vdCBlc2NhcGVkLCBidXQgWE1MU2Vy
aWFsaXplciAoYW5kIHBvc3NpYmx5IG90aGVyIGNhbGxlcnMpIHNob3VsZCByYWlzZSBhbiBleGNl
cHRpb24gaWYgaXQgaW5jbHVkZXMgIi0tPiIuCi0gICAgcmVzdWx0LmFwcGVuZCgiPCEtLSIpOwor
ICAgIHJlc3VsdC5hcHBlbmQoIjwhLS0iLCA0KTsKICAgICByZXN1bHQuYXBwZW5kKGNvbW1lbnQp
OwotICAgIHJlc3VsdC5hcHBlbmQoIi0tPiIpOworICAgIHJlc3VsdC5hcHBlbmQoIi0tPiIsIDMp
OwogfQogCiB2b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmREb2N1bWVudFR5cGUoU3RyaW5n
QnVpbGRlciYgcmVzdWx0LCBjb25zdCBEb2N1bWVudFR5cGUqIG4pCkBAIC0zMTEsMzggKzI5OSw0
MiBAQCB2b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmREb2N1bWVudFR5cGUoU3RyaW5nQnVp
bGRlciYgcmVzdWx0LCBjb25zdCBEb2N1bWVudAogICAgIGlmIChuLT5uYW1lKCkuaXNFbXB0eSgp
KQogICAgICAgICByZXR1cm47CiAKLSAgICByZXN1bHQuYXBwZW5kKCI8IURPQ1RZUEUgIik7Cisg
ICAgcmVzdWx0LmFwcGVuZCgiPCFET0NUWVBFICIsIDEwKTsKICAgICByZXN1bHQuYXBwZW5kKG4t
Pm5hbWUoKSk7CiAgICAgaWYgKCFuLT5wdWJsaWNJZCgpLmlzRW1wdHkoKSkgewotICAgICAgICBy
ZXN1bHQuYXBwZW5kKCIgUFVCTElDIFwiIik7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoIiBQVUJM
SUMgXCIiLCA5KTsKICAgICAgICAgcmVzdWx0LmFwcGVuZChuLT5wdWJsaWNJZCgpKTsKLSAgICAg
ICAgcmVzdWx0LmFwcGVuZCgiXCIiKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgnIicpOwogICAg
ICAgICBpZiAoIW4tPnN5c3RlbUlkKCkuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICByZXN1bHQu
YXBwZW5kKCIgXCIiKTsKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyAnKTsKKyAgICAgICAg
ICAgIHJlc3VsdC5hcHBlbmQoJyInKTsKICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQobi0+c3lz
dGVtSWQoKSk7Ci0gICAgICAgICAgICByZXN1bHQuYXBwZW5kKCJcIiIpOworICAgICAgICAgICAg
cmVzdWx0LmFwcGVuZCgnIicpOwogICAgICAgICB9CiAgICAgfSBlbHNlIGlmICghbi0+c3lzdGVt
SWQoKS5pc0VtcHR5KCkpIHsKLSAgICAgICAgcmVzdWx0LmFwcGVuZCgiIFNZU1RFTSBcIiIpOwor
ICAgICAgICByZXN1bHQuYXBwZW5kKCIgU1lTVEVNIFwiIiwgOSk7CiAgICAgICAgIHJlc3VsdC5h
cHBlbmQobi0+c3lzdGVtSWQoKSk7Ci0gICAgICAgIHJlc3VsdC5hcHBlbmQoIlwiIik7CisgICAg
ICAgIHJlc3VsdC5hcHBlbmQoJyInKTsKICAgICB9CiAgICAgaWYgKCFuLT5pbnRlcm5hbFN1YnNl
dCgpLmlzRW1wdHkoKSkgewotICAgICAgICByZXN1bHQuYXBwZW5kKCIgWyIpOworICAgICAgICBy
ZXN1bHQuYXBwZW5kKCcgJyk7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoJ1snKTsKICAgICAgICAg
cmVzdWx0LmFwcGVuZChuLT5pbnRlcm5hbFN1YnNldCgpKTsKLSAgICAgICAgcmVzdWx0LmFwcGVu
ZCgiXSIpOworICAgICAgICByZXN1bHQuYXBwZW5kKCddJyk7CiAgICAgfQotICAgIHJlc3VsdC5h
cHBlbmQoIj4iKTsKKyAgICByZXN1bHQuYXBwZW5kKCc+Jyk7CiB9CiAKIHZvaWQgTWFya3VwQWNj
dW11bGF0b3I6OmFwcGVuZFByb2Nlc3NpbmdJbnN0cnVjdGlvbihTdHJpbmdCdWlsZGVyJiByZXN1
bHQsIGNvbnN0IFN0cmluZyYgdGFyZ2V0LCBjb25zdCBTdHJpbmcmIGRhdGEpCiB7CiAgICAgLy8g
RklYTUU6IFBJIGRhdGEgaXMgbm90IGVzY2FwZWQsIGJ1dCBYTUxTZXJpYWxpemVyIChhbmQgcG9z
c2libHkgb3RoZXIgY2FsbGVycykgdGhpcyBzaG91bGQgcmFpc2UgYW4gZXhjZXB0aW9uIGlmIGl0
IGluY2x1ZGVzICI/PiIuCi0gICAgcmVzdWx0LmFwcGVuZCgiPD8iKTsKKyAgICByZXN1bHQuYXBw
ZW5kKCc8Jyk7CisgICAgcmVzdWx0LmFwcGVuZCgnPycpOwogICAgIHJlc3VsdC5hcHBlbmQodGFy
Z2V0KTsKLSAgICByZXN1bHQuYXBwZW5kKCIgIik7CisgICAgcmVzdWx0LmFwcGVuZCgnICcpOwog
ICAgIHJlc3VsdC5hcHBlbmQoZGF0YSk7Ci0gICAgcmVzdWx0LmFwcGVuZCgiPz4iKTsKKyAgICBy
ZXN1bHQuYXBwZW5kKCc/Jyk7CisgICAgcmVzdWx0LmFwcGVuZCgnPicpOwogfQogCiB2b2lkIE1h
cmt1cEFjY3VtdWxhdG9yOjphcHBlbmRFbGVtZW50KFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgRWxl
bWVudCogZWxlbWVudCwgTmFtZXNwYWNlcyogbmFtZXNwYWNlcykKQEAgLTM2Niw3ICszNTgsNyBA
QCB2b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRPcGVuVGFnKFN0cmluZ0J1aWxkZXImIHJl
c3VsdCwgRWxlbWVudCogZWxlbWVudCwgTgogICAgIHJlc3VsdC5hcHBlbmQoJzwnKTsKICAgICBy
ZXN1bHQuYXBwZW5kKGVsZW1lbnQtPm5vZGVOYW1lUHJlc2VydmluZ0Nhc2UoKSk7CiAgICAgaWYg
KCFlbGVtZW50LT5kb2N1bWVudCgpLT5pc0hUTUxEb2N1bWVudCgpICYmIG5hbWVzcGFjZXMgJiYg
c2hvdWxkQWRkTmFtZXNwYWNlRWxlbWVudChlbGVtZW50KSkKLSAgICAgICAgYXBwZW5kTmFtZXNw
YWNlKHJlc3VsdCwgZWxlbWVudC0+cHJlZml4KCksIGVsZW1lbnQtPm5hbWVzcGFjZVVSSSgpLCAq
bmFtZXNwYWNlcyk7ICAgIAorICAgICAgICBhcHBlbmROYW1lc3BhY2UocmVzdWx0LCBlbGVtZW50
LT5wcmVmaXgoKSwgZWxlbWVudC0+bmFtZXNwYWNlVVJJKCksICpuYW1lc3BhY2VzKTsKIH0KIAog
dm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kQ2xvc2VUYWcoU3RyaW5nQnVpbGRlciYgcmVz
dWx0LCBFbGVtZW50KiBlbGVtZW50KQpAQCAtMzk1LDkgKzM4Nyw5IEBAIHZvaWQgTWFya3VwQWNj
dW11bGF0b3I6OmFwcGVuZEF0dHJpYnV0ZShTdHJpbmdCdWlsZGVyJiByZXN1bHQsIEVsZW1lbnQq
IGVsZW1lbnQsCiAgICAgaWYgKGVsZW1lbnQtPmlzVVJMQXR0cmlidXRlKGNvbnN0X2Nhc3Q8QXR0
cmlidXRlKj4oJmF0dHJpYnV0ZSkpKQogICAgICAgICBhcHBlbmRRdW90ZWRVUkxBdHRyaWJ1dGVW
YWx1ZShyZXN1bHQsIGVsZW1lbnQsIGF0dHJpYnV0ZSk7CiAgICAgZWxzZSB7Ci0gICAgICAgIHJl
c3VsdC5hcHBlbmQoJ1wiJyk7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoJyInKTsKICAgICAgICAg
YXBwZW5kQXR0cmlidXRlVmFsdWUocmVzdWx0LCBhdHRyaWJ1dGUudmFsdWUoKSwgZG9jdW1lbnRJ
c0hUTUwpOwotICAgICAgICByZXN1bHQuYXBwZW5kKCdcIicpOworICAgICAgICByZXN1bHQuYXBw
ZW5kKCciJyk7CiAgICAgfQogCiAgICAgaWYgKCFkb2N1bWVudElzSFRNTCAmJiBuYW1lc3BhY2Vz
ICYmIHNob3VsZEFkZE5hbWVzcGFjZUF0dHJpYnV0ZShhdHRyaWJ1dGUsICpuYW1lc3BhY2VzKSkK
QEAgLTQwNyw5ICszOTksOSBAQCB2b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRBdHRyaWJ1
dGUoU3RyaW5nQnVpbGRlciYgcmVzdWx0LCBFbGVtZW50KiBlbGVtZW50LAogdm9pZCBNYXJrdXBB
Y2N1bXVsYXRvcjo6YXBwZW5kQ0RBVEFTZWN0aW9uKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29u
c3QgU3RyaW5nJiBzZWN0aW9uKQogewogICAgIC8vIEZJWE1FOiBDREFUQSBjb250ZW50IGlzIG5v
dCBlc2NhcGVkLCBidXQgWE1MU2VyaWFsaXplciAoYW5kIHBvc3NpYmx5IG90aGVyIGNhbGxlcnMp
IHNob3VsZCByYWlzZSBhbiBleGNlcHRpb24gaWYgaXQgaW5jbHVkZXMgIl1dPiIuCi0gICAgcmVz
dWx0LmFwcGVuZCgiPCFbQ0RBVEFbIik7CisgICAgcmVzdWx0LmFwcGVuZCgiPCFbQ0RBVEFbIiwg
OSk7CiAgICAgcmVzdWx0LmFwcGVuZChzZWN0aW9uKTsKLSAgICByZXN1bHQuYXBwZW5kKCJdXT4i
KTsKKyAgICByZXN1bHQuYXBwZW5kKCJdXT4iLCAzKTsKIH0KIAogdm9pZCBNYXJrdXBBY2N1bXVs
YXRvcjo6YXBwZW5kU3RhcnRNYXJrdXAoU3RyaW5nQnVpbGRlciYgcmVzdWx0LCBjb25zdCBOb2Rl
KiBub2RlLCBOYW1lc3BhY2VzKiBuYW1lc3BhY2VzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9NYXJrdXBBY2N1bXVsYXRvci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9N
YXJrdXBBY2N1bXVsYXRvci5oCmluZGV4IGMzNmMzYTExOGE4NWNiY2U3YTMwODIwYjM0MWJlNjVh
ZTdmMGI0M2IuLjhkYzY0NWJlY2ZmZGNlYjdhZjM1NGEyMTNhNjgxMTYyOGFjMmI0MmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvTWFya3VwQWNjdW11bGF0b3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL01hcmt1cEFjY3VtdWxhdG9yLmgKQEAgLTMwLDYgKzMwLDcg
QEAKICNpbmNsdWRlICJtYXJrdXAuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNzgsNyArNzksNyBAQCBwcm90ZWN0ZWQ6CiAgICAg
dm9pZCBhcHBlbmRTdGFydFRhZyhOb2RlKiwgTmFtZXNwYWNlcyogPSAwKTsKICAgICB2aXJ0dWFs
IHZvaWQgYXBwZW5kRW5kVGFnKE5vZGUqKTsKICAgICBzdGF0aWMgc2l6ZV90IHRvdGFsTGVuZ3Ro
KGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik7Ci0gICAgc2l6ZV90IGxlbmd0aCgpIGNvbnN0IHsgcmV0
dXJuIHRvdGFsTGVuZ3RoKG1fc3VjY2VlZGluZ01hcmt1cCk7IH0KKyAgICBzaXplX3QgbGVuZ3Ro
KCkgY29uc3QgeyByZXR1cm4gbV9tYXJrdXAubGVuZ3RoKCk7IH0KICAgICB2b2lkIGNvbmNhdGVu
YXRlTWFya3VwKFN0cmluZ0J1aWxkZXImKTsKICAgICB2b2lkIGFwcGVuZEF0dHJpYnV0ZVZhbHVl
KFN0cmluZ0J1aWxkZXImLCBjb25zdCBTdHJpbmcmLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQg
YXBwZW5kQ3VzdG9tQXR0cmlidXRlcyhTdHJpbmdCdWlsZGVyJiwgRWxlbWVudCosIE5hbWVzcGFj
ZXMqKTsKQEAgLTEwOCw3ICsxMDksNyBAQCBwcml2YXRlOgogICAgIHZvaWQgYXBwZW5kUXVvdGVk
VVJMQXR0cmlidXRlVmFsdWUoU3RyaW5nQnVpbGRlciYsIGNvbnN0IEVsZW1lbnQqLCBjb25zdCBB
dHRyaWJ1dGUmKTsKICAgICB2b2lkIHNlcmlhbGl6ZU5vZGVzV2l0aE5hbWVzcGFjZXMoTm9kZSog
dGFyZ2V0Tm9kZSwgTm9kZSogbm9kZVRvU2tpcCwgRUNoaWxkcmVuT25seSwgY29uc3QgTmFtZXNw
YWNlcyopOwogCi0gICAgVmVjdG9yPFN0cmluZz4gbV9zdWNjZWVkaW5nTWFya3VwOworICAgIFN0
cmluZ0J1aWxkZXIgbV9tYXJrdXA7CiAgICAgY29uc3QgRUFic29sdXRlVVJMcyBtX3Jlc29sdmVV
UkxzTWV0aG9kOwogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132172</attachid>
            <date>2012-03-15 18:32:11 -0700</date>
            <delta_ts>2012-03-16 05:35:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81214-20120316103210.patch</filename>
            <type>text/plain</type>
            <size>14294</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwOTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWU0ZDkyZTdkNjE2YWMy
YzExNmI2ZDAyYTBmMzkxM2YyOTAxZjJiMS4uMzQ4MjQxZTJjY2U4Njc0NzE5M2U3OWJkNmYzODYw
ZTgzMmVjZjY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDEwOCBAQAogMjAxMi0wMy0xNSAgS2Vu
dGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgW1BlcmZvcm1hbmNl
XSBPcHRpbWl6ZSBpbm5lckhUTUwgYW5kIG91dGVySFRNTAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEyMTQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIG1ha2VzIGlubmVySFRNTCBhbmQg
b3V0ZXJIVE1MIDIuNCB0aW1lcyBmYXN0ZXIuCisKKyAgICAgICAgUGVyZm9ybWFuY2UgdGVzdDog
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvYXR0YWNobWVudC5jZ2k/aWQ9MTMyMDM0CisgICAgICAg
IFRoZSBwZXJmb3JtYW5jZSB0ZXN0IG1lYXN1cmVzIGJvZHkuaW5uZXJIVE1MIGZvciAzMDAwIGxp
bmVzIG9mIEhUTUwsCisgICAgICAgIHdoaWNoIGlzIGNvcGllZCBmcm9tIHRoZSBIVE1MIHNwZWMu
CisKKyAgICAgICAgLSBDaHJvbWl1bS9NYWMgd2l0aG91dCB0aGUgcGF0Y2gKKyAgICAgICAgZGl2
LmlubmVySFRNTDogMTY1OC42IG1zCisgICAgICAgIGRpdi5vdXRlckhUTUw6IDQ4NTkuNiBtcwor
ICAgICAgICBib2R5LmlubmVySFRNTDogNjQwLjIgbXMKKyAgICAgICAgYm9keS5vdXRlckhUTUw6
IDY0MS44IG1zCisKKyAgICAgICAgLSBDaHJvbWl1bS9NYWMgd2l0aCB0aGUgcGF0Y2gKKyAgICAg
ICAgZGl2LmlubmVySFRNTDogIDc1MS4wIG1zCisgICAgICAgIGRpdi5vdXRlckhUTUw6IDIwOTYu
MCBtcworICAgICAgICBib2R5LmlubmVySFRNTDogMjcxLjIgbXMKKyAgICAgICAgYm9keS5vdXRl
ckhUTUw6IDI3MS4yIG1zCisKKyAgICAgICAgLSBDaHJvbWl1bS9MaW51eCB3aXRob3V0IHRoZSBw
YXRjaAorICAgICAgICBkaXYuaW5uZXJIVE1MOiAgOTUwLjQgbXMKKyAgICAgICAgZGl2Lm91dGVy
SFRNTDogMjI1Ny44IG1zCisgICAgICAgIGJvZHkuaW5uZXJIVE1MOiA0NTIuOCBtcworICAgICAg
ICBib2R5Lm91dGVySFRNTDogNDU3LjYgbXMKKworICAgICAgICAtIENocm9taXVtL0xpbnV4IHdp
dGggdGhlIHBhdGNoCisgICAgICAgIGRpdi5pbm5lckhUTUw6ICA1ODIuNCBtcworICAgICAgICBk
aXYub3V0ZXJIVE1MOiAxMjgzLjAgbXMKKyAgICAgICAgYm9keS5pbm5lckhUTUw6IDIzMy4wIG1z
CisgICAgICAgIGJvZHkub3V0ZXJIVE1MOiAyMzMuNCBtcworCisgICAgICAgIC0gQXBwbGVXZWJL
aXQvTWFjIHdpdGhvdXQgdGhlIHBhdGNoCisgICAgICAgIGRpdi5pbm5lckhUTUw6ICA5MDAuNiBt
cworICAgICAgICBkaXYub3V0ZXJIVE1MOiAyMjQ1LjIgbXMKKyAgICAgICAgYm9keS5pbm5lckhU
TUw6IDQ2Mi42IG1zCisgICAgICAgIGJvZHkub3V0ZXJIVE1MOiA0NjguMCBtcworCisgICAgICAg
IC0gQXBwbGVXZWJLaXQvTWFjIHdpdGggdGhlIHBhdGNoCisgICAgICAgIGRpdi5pbm5lckhUTUw6
ICA1MjkuOCAgbXMKKyAgICAgICAgZGl2Lm91dGVySFRNTDogMTA5MC4yIG1zCisgICAgICAgIGJv
ZHkuaW5uZXJIVE1MOiAyMzkuMiBtcworICAgICAgICBib2R5Lm91dGVySFRNTDogMjM5LjIgbXMK
KworICAgICAgICBUaGlzIHBhdGNoIGFwcGxpZXMgdGhlIGZvbGxvd2luZyB0d28gb3B0aW1pemF0
aW9uczoKKworICAgICAgICAoYSkgUmVtb3ZlIHJlZHVuZGFudCBjb3BpZXMgYmV0d2VlbiBWZWN0
b3I8U3RyaW5nPiBhbmQgU3RyaW5nQnVpbGRlcnMKKyAgICAgICAgaW4gTWFya3VwQWNjdW11bGF0
b3I6OnNlcmlhbGl6ZU5vZGVzKCksIE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRTdGFydFRhZygp
LAorICAgICAgICBhbmQgTWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZEVuZFRhZygpLgorCisgICAg
ICAgICAgICAoUHJldmlvdXMgYmVoYXZpb3IpCisgICAgICAgICAgICAtIENyZWF0ZSBhIFN0cmlu
Z0J1aWxkZXIgZm9yIGVhY2ggdGFnLgorICAgICAgICAgICAgLSBBcHBlbmQgYSBjcmVhdGVkIHN0
cmluZyBpbiBlYWNoIFN0cmluZ0J1aWxkZXIgdG8gVmVjdG9yPFN0cmluZz4sCisgICAgICAgICAg
ICAgIHBhcnNpbmcgdGhlIERPTSB0cmVlLgorICAgICAgICAgICAgLSBBZnRlciB0aGUgcGFyc2lu
ZywgYWxsb2NhdGUgYSBTdHJpbmdCdWlsZGVyIHdob3NlIHNpemUgaXMgdGhlIHN1bQorICAgICAg
ICAgICAgICBvZiBhbGwgU3RyaW5ncyBpbiBWZWN0b3I8U3RyaW5nPi4KKyAgICAgICAgICAgIC0g
QXBwZW5kIGFsbCBTdHJpbmdzIGluIFZlY3RvcjxTdHJpbmc+IHRvIHRoZSBTdHJpbmdCdWlsZGVy
LgorICAgICAgICAgICAgKE5ldyBiZWhhdmlvcikKKyAgICAgICAgICAgIC0gQWxsb2NhdGUgYSBT
dHJpbmdCdWlsZGVyIHdpdGggYSBkZWZhdWx0IGJ1ZmZlciBzaXplLgorICAgICAgICAgICAgLSBB
cHBlbmQgY3JlYXRlZCBzdHJpbmdzIHRvIHRoZSBTdHJpbmdCdWlsZGVyLCBpbmNyZW1lbnRhbGx5
IHBhcnNpbmcKKyAgICAgICAgICAgICAgdGhlIERPTSB0cmVlLgorCisgICAgICAgIChiKSBPcHRp
bWl6ZSBzdHJpbmdCdWlsZGVyLmFwcGVuZCgpLgorICAgICAgICAgICAgKGItMSkgUmVwbGFjZSBz
dHJpbmdCdWlsZGVyLmFwcGVuZCgiQSIpIHdpdGggc3RyaW5nQnVpbGRlci5hcHBlbmQoJ0EnKS4K
KyAgICAgICAgICAgICAgICAgIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCJBIikgcmVxdWlyZXMgdG8g
Y2FzdCB0aGUgY2hhcmFjdGVycyB0byBMQ2hhciosCisgICAgICAgICAgICAgICAgICBhbmQgdGhl
biBjYWxsIHN0cmxlbigiQSIpLiBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnQScpIGlzIGZhc3Rlci4K
KyAgICAgICAgICAgIChiLTIpIFJlcGxhY2Ugc3RyaW5nQnVpbGRlci5hcHBlbmQoIkFCIikgd2l0
aCBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnQScpCisgICAgICAgICAgICAgICAgICBhbmQgc3RyaW5n
QnVpbGRlci5hcHBlbmQoJ0InKS4gSW4gbXkgZXhwZXJpbWVudCwgYXBwZW5kaW5nIGNoYXJhY3Rl
cnMKKyAgICAgICAgICAgICAgICAgIG9uZSBieSBvbmUgaXMgZmFzdGVyIHRoYW4gYXBwZW5kaW5n
IHRoZSBjaGFyYWN0ZXJzIGF0IGEgYnJlYXRoIGlmIHRoZQorICAgICAgICAgICAgICAgICAgbnVt
YmVyIG9mIGNoYXJhY3RlcnMgaXMgbGVzcyB0aGFuIDMuCisgICAgICAgICAgICAoYi0zKSBIYXJk
LWNvZGUgYSBzdHJpbmcgbGVuZ3RoOyBpLmUuIHJlcGxhY2Ugc3RyaW5nQnVpbGRlci5hcHBlbmQo
IkFCQ0RFIikKKyAgICAgICAgICAgICAgICAgIHdpdGggc3RyaW5nQnVpbGRlci5hcHBlbmQoIkFC
Q0RFIiwgNSkuIFdoaWxlIHRoZSBmb3JtZXIgcmVxdWlyZXMgdG8gY2FsbAorICAgICAgICAgICAg
ICAgICAgc3RybGVuKCJBQkNERSIpLCB0aGUgbGF0dGVyIGRvZXMgbm90LgorCisgICAgICAgIChh
KSBpbXByb3ZlcyBwZXJmb3JtYW5jZSBieSAxNzAlIH4gMjAwJS4gKGIpIGltcHJvdmVzIHBlcmZv
cm1hbmNlIGJ5IDMwIH4gNDAlLgorCisgICAgICAgIFRlc3RzOiBmYXN0L2RvbS9SYW5nZS9yYW5n
ZS1leHRyYWN0LWNvbnRlbnRzLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL3NlcmlhbGl6
ZS1ub2Rlcy54aHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vWE1MU2VyaWFsaXplci5odG1s
CisgICAgICAgICAgICAgICBhbmQgYWxsIG90aGVyIHRlc3RzIHRoYXQgdXNlIGlubmVySFRNTCBv
ciBvdXRlckhUTUwuCisgICAgICAgICAgICAgICBObyBjaGFuZ2UgaW4gdGhlIHRlc3QgcmVzdWx0
cy4KKworICAgICAgICAqIGVkaXRpbmcvTWFya3VwQWNjdW11bGF0b3IuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWFya3VwQWNjdW11bGF0b3I6OnNlcmlhbGl6ZU5vZGVzKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRTdHJpbmcpOgorICAgICAgICAoV2ViQ29y
ZTo6TWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZFN0YXJ0VGFnKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRFbmRUYWcpOgorICAgICAgICAoV2ViQ29yZTo6TWFy
a3VwQWNjdW11bGF0b3I6OmNvbmNhdGVuYXRlTWFya3VwKToKKyAgICAgICAgKFdlYkNvcmU6Ok1h
cmt1cEFjY3VtdWxhdG9yOjphcHBlbmRRdW90ZWRVUkxBdHRyaWJ1dGVWYWx1ZSk6CisgICAgICAg
IChXZWJDb3JlOjpNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kQ29tbWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kRG9jdW1lbnRUeXBlKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24p
OgorICAgICAgICAoV2ViQ29yZTo6TWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZE9wZW5UYWcpOgor
ICAgICAgICAoV2ViQ29yZTo6TWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZEF0dHJpYnV0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kQ0RBVEFTZWN0aW9uKToK
KyAgICAgICAgKiBlZGl0aW5nL01hcmt1cEFjY3VtdWxhdG9yLmg6CisgICAgICAgIChNYXJrdXBB
Y2N1bXVsYXRvcik6CisKKzIwMTItMDMtMTUgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21p
dW0ub3JnPgorCiAgICAgICAgIFtSZWZhY3RvcmluZ10gUmVuYW1lIFN0cmluZ0J1aWxkZXIgdmFy
aWFibGVzIGluIE1hcmt1cEFjY3VtdWxhdG9yLntoLGNwcH0KICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMjg4CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvTWFya3VwQWNjdW11bGF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9NYXJrdXBBY2N1bXVsYXRvci5jcHAKaW5kZXggZmUyZTcyYjkzOGMwM2RjZDUwMjg5YWU5
ZWU0MjYzODQwNjA5MjMyNi4uZmU4NDMzZDIyNzIwZWQ5NWFkNmUxNWYwOTRmYjE3MGIwZWQzNTkz
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9NYXJrdXBBY2N1bXVsYXRvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9NYXJrdXBBY2N1bXVsYXRvci5jcHAKQEAg
LTM3LDcgKzM3LDYgQEAKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiUHJvY2Vzc2luZ0lu
c3RydWN0aW9uLmgiCiAjaW5jbHVkZSAiWE1MTlNOYW1lcy5oIgotI2luY2x1ZGUgPHd0Zi90ZXh0
L1N0cmluZ0J1aWxkZXIuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5o
PgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC04NywxMSArODYsOCBAQCBNYXJrdXBBY2N1bXVs
YXRvcjo6fk1hcmt1cEFjY3VtdWxhdG9yKCkKIAogU3RyaW5nIE1hcmt1cEFjY3VtdWxhdG9yOjpz
ZXJpYWxpemVOb2RlcyhOb2RlKiB0YXJnZXROb2RlLCBOb2RlKiBub2RlVG9Ta2lwLCBFQ2hpbGRy
ZW5Pbmx5IGNoaWxkcmVuT25seSkKIHsKLSAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKICAgICBz
ZXJpYWxpemVOb2Rlc1dpdGhOYW1lc3BhY2VzKHRhcmdldE5vZGUsIG5vZGVUb1NraXAsIGNoaWxk
cmVuT25seSwgMCk7Ci0gICAgcmVzdWx0LnJlc2VydmVDYXBhY2l0eShsZW5ndGgoKSk7Ci0gICAg
Y29uY2F0ZW5hdGVNYXJrdXAocmVzdWx0KTsKLSAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7
CisgICAgcmV0dXJuIG1fbWFya3VwLnRvU3RyaW5nKCk7CiB9CiAKIHZvaWQgTWFya3VwQWNjdW11
bGF0b3I6OnNlcmlhbGl6ZU5vZGVzV2l0aE5hbWVzcGFjZXMoTm9kZSogdGFyZ2V0Tm9kZSwgTm9k
ZSogbm9kZVRvU2tpcCwgRUNoaWxkcmVuT25seSBjaGlsZHJlbk9ubHksIGNvbnN0IE5hbWVzcGFj
ZXMqIG5hbWVzcGFjZXMpCkBAIC0xMzQsMjMgKzEzMCwxOSBAQCBTdHJpbmcgTWFya3VwQWNjdW11
bGF0b3I6OnJlc29sdmVVUkxJZk5lZWRlZChjb25zdCBFbGVtZW50KiBlbGVtZW50LCBjb25zdCBT
dHJpbgogCiB2b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRTdHJpbmcoY29uc3QgU3RyaW5n
JiBzdHJpbmcpCiB7Ci0gICAgbV9zdWNjZWVkaW5nTWFya3VwLmFwcGVuZChzdHJpbmcpOworICAg
IG1fbWFya3VwLmFwcGVuZChzdHJpbmcpOwogfQogCiB2b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjph
cHBlbmRTdGFydFRhZyhOb2RlKiBub2RlLCBOYW1lc3BhY2VzKiBuYW1lc3BhY2VzKQogewotICAg
IFN0cmluZ0J1aWxkZXIgbWFya3VwOwotICAgIGFwcGVuZFN0YXJ0TWFya3VwKG1hcmt1cCwgbm9k
ZSwgbmFtZXNwYWNlcyk7Ci0gICAgYXBwZW5kU3RyaW5nKG1hcmt1cC50b1N0cmluZygpKTsKKyAg
ICBhcHBlbmRTdGFydE1hcmt1cChtX21hcmt1cCwgbm9kZSwgbmFtZXNwYWNlcyk7CiAgICAgaWYg
KG1fbm9kZXMpCiAgICAgICAgIG1fbm9kZXMtPmFwcGVuZChub2RlKTsKIH0KIAogdm9pZCBNYXJr
dXBBY2N1bXVsYXRvcjo6YXBwZW5kRW5kVGFnKE5vZGUqIG5vZGUpCiB7Ci0gICAgU3RyaW5nQnVp
bGRlciBtYXJrdXA7Ci0gICAgYXBwZW5kRW5kTWFya3VwKG1hcmt1cCwgbm9kZSk7Ci0gICAgYXBw
ZW5kU3RyaW5nKG1hcmt1cC50b1N0cmluZygpKTsKKyAgICBhcHBlbmRFbmRNYXJrdXAobV9tYXJr
dXAsIG5vZGUpOwogfQogCiBzaXplX3QgTWFya3VwQWNjdW11bGF0b3I6OnRvdGFsTGVuZ3RoKGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiBzdHJpbmdzKQpAQCAtMTYxLDEzICsxNTMsOSBAQCBzaXplX3Qg
TWFya3VwQWNjdW11bGF0b3I6OnRvdGFsTGVuZ3RoKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzdHJp
bmdzKQogICAgIHJldHVybiBsZW5ndGg7CiB9CiAKLS8vIEZJWE1FOiBUaGlzIGlzIGEgdmVyeSBp
bmVmZmljaWVudCB3YXkgb2YgYWNjdW11bGF0aW5nIHRoZSBtYXJrdXAuCi0vLyBXZSdyZSBjb252
ZXJ0aW5nIHJlc3VsdHMgb2YgYXBwZW5kU3RhcnRNYXJrdXAgYW5kIGFwcGVuZEVuZE1hcmt1cCBm
cm9tIFN0cmluZ0J1aWxkZXIgdG8gU3RyaW5nCi0vLyBhbmQgdGhlbiBiYWNrIHRvIFN0cmluZ0J1
aWxkZXIgYW5kIGFnYWluIHRvIFN0cmluZyBoZXJlLgogdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6
Y29uY2F0ZW5hdGVNYXJrdXAoU3RyaW5nQnVpbGRlciYgcmVzdWx0KQogewotICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbV9zdWNjZWVkaW5nTWFya3VwLnNpemUoKTsgKytpKQotICAgICAgICBy
ZXN1bHQuYXBwZW5kKG1fc3VjY2VlZGluZ01hcmt1cFtpXSk7CisgICAgcmVzdWx0LmFwcGVuZCht
X21hcmt1cCk7CiB9CiAKIHZvaWQgTWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZEF0dHJpYnV0ZVZh
bHVlKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29uc3QgU3RyaW5nJiBhdHRyaWJ1dGUsIGJvb2wg
ZG9jdW1lbnRJc0hUTUwpCkBAIC0xODQsMTMgKzE3MiwxMyBAQCB2b2lkIE1hcmt1cEFjY3VtdWxh
dG9yOjphcHBlbmRRdW90ZWRVUkxBdHRyaWJ1dGVWYWx1ZShTdHJpbmdCdWlsZGVyJiByZXN1bHQs
IGNvbgogewogICAgIEFTU0VSVChlbGVtZW50LT5pc1VSTEF0dHJpYnV0ZShjb25zdF9jYXN0PEF0
dHJpYnV0ZSo+KCZhdHRyaWJ1dGUpKSk7CiAgICAgY29uc3QgU3RyaW5nIHJlc29sdmVkVVJMU3Ry
aW5nID0gcmVzb2x2ZVVSTElmTmVlZGVkKGVsZW1lbnQsIGF0dHJpYnV0ZS52YWx1ZSgpKTsKLSAg
ICBVQ2hhciBxdW90ZUNoYXIgPSAnXCInOworICAgIFVDaGFyIHF1b3RlQ2hhciA9ICciJzsKICAg
ICBTdHJpbmcgc3RyaXBwZWRVUkxTdHJpbmcgPSByZXNvbHZlZFVSTFN0cmluZy5zdHJpcFdoaXRl
U3BhY2UoKTsKICAgICBpZiAocHJvdG9jb2xJc0phdmFTY3JpcHQoc3RyaXBwZWRVUkxTdHJpbmcp
KSB7CiAgICAgICAgIC8vIG1pbmltYWwgZXNjYXBpbmcgZm9yIGphdmFzY3JpcHQgdXJscwogICAg
ICAgICBpZiAoc3RyaXBwZWRVUkxTdHJpbmcuY29udGFpbnMoJyInKSkgewogICAgICAgICAgICAg
aWYgKHN0cmlwcGVkVVJMU3RyaW5nLmNvbnRhaW5zKCdcJycpKQotICAgICAgICAgICAgICAgIHN0
cmlwcGVkVVJMU3RyaW5nLnJlcGxhY2UoJ1wiJywgIiZxdW90OyIpOworICAgICAgICAgICAgICAg
IHN0cmlwcGVkVVJMU3RyaW5nLnJlcGxhY2UoJyInLCAiJnF1b3Q7Iik7CiAgICAgICAgICAgICBl
bHNlCiAgICAgICAgICAgICAgICAgcXVvdGVDaGFyID0gJ1wnJzsKICAgICAgICAgfQpAQCAtMzAx
LDkgKzI4OSwxMSBAQCB2b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRUZXh0KFN0cmluZ0J1
aWxkZXImIHJlc3VsdCwgVGV4dCogdGV4dCkKIHZvaWQgTWFya3VwQWNjdW11bGF0b3I6OmFwcGVu
ZENvbW1lbnQoU3RyaW5nQnVpbGRlciYgcmVzdWx0LCBjb25zdCBTdHJpbmcmIGNvbW1lbnQpCiB7
CiAgICAgLy8gRklYTUU6IENvbW1lbnQgY29udGVudCBpcyBub3QgZXNjYXBlZCwgYnV0IFhNTFNl
cmlhbGl6ZXIgKGFuZCBwb3NzaWJseSBvdGhlciBjYWxsZXJzKSBzaG91bGQgcmFpc2UgYW4gZXhj
ZXB0aW9uIGlmIGl0IGluY2x1ZGVzICItLT4iLgotICAgIHJlc3VsdC5hcHBlbmQoIjwhLS0iKTsK
KyAgICBzdGF0aWMgY29uc3QgY2hhciBjb21tZW50QmVnaW5bXSA9ICI8IS0tIjsKKyAgICByZXN1
bHQuYXBwZW5kKGNvbW1lbnRCZWdpbiwgV1RGX0FSUkFZX0xFTkdUSChjb21tZW50QmVnaW4pIC0g
MSk7CiAgICAgcmVzdWx0LmFwcGVuZChjb21tZW50KTsKLSAgICByZXN1bHQuYXBwZW5kKCItLT4i
KTsKKyAgICBzdGF0aWMgY29uc3QgY2hhciBjb21tZW50RW5kW10gPSAiLS0+IjsKKyAgICByZXN1
bHQuYXBwZW5kKGNvbW1lbnRFbmQsIFdURl9BUlJBWV9MRU5HVEgoY29tbWVudEVuZCkgLSAxKTsK
IH0KIAogdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kRG9jdW1lbnRUeXBlKFN0cmluZ0J1
aWxkZXImIHJlc3VsdCwgY29uc3QgRG9jdW1lbnRUeXBlKiBuKQpAQCAtMzExLDM4ICszMDEsNDUg
QEAgdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kRG9jdW1lbnRUeXBlKFN0cmluZ0J1aWxk
ZXImIHJlc3VsdCwgY29uc3QgRG9jdW1lbnQKICAgICBpZiAobi0+bmFtZSgpLmlzRW1wdHkoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgcmVzdWx0LmFwcGVuZCgiPCFET0NUWVBFICIpOworICAg
IHN0YXRpYyBjb25zdCBjaGFyIGRvY3R5cGVTdHJpbmdbXSA9ICI8IURPQ1RZUEUgIjsKKyAgICBy
ZXN1bHQuYXBwZW5kKGRvY3R5cGVTdHJpbmcsIFdURl9BUlJBWV9MRU5HVEgoZG9jdHlwZVN0cmlu
ZykgLSAxKTsKICAgICByZXN1bHQuYXBwZW5kKG4tPm5hbWUoKSk7CiAgICAgaWYgKCFuLT5wdWJs
aWNJZCgpLmlzRW1wdHkoKSkgewotICAgICAgICByZXN1bHQuYXBwZW5kKCIgUFVCTElDIFwiIik7
CisgICAgICAgIHN0YXRpYyBjb25zdCBjaGFyIHB1YmxpY1N0cmluZ1tdID0gIiBQVUJMSUMgXCIi
OworICAgICAgICByZXN1bHQuYXBwZW5kKHB1YmxpY1N0cmluZywgV1RGX0FSUkFZX0xFTkdUSChw
dWJsaWNTdHJpbmcpIC0gMSk7CiAgICAgICAgIHJlc3VsdC5hcHBlbmQobi0+cHVibGljSWQoKSk7
Ci0gICAgICAgIHJlc3VsdC5hcHBlbmQoIlwiIik7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoJyIn
KTsKICAgICAgICAgaWYgKCFuLT5zeXN0ZW1JZCgpLmlzRW1wdHkoKSkgewotICAgICAgICAgICAg
cmVzdWx0LmFwcGVuZCgiIFwiIik7CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgJyk7Cisg
ICAgICAgICAgICByZXN1bHQuYXBwZW5kKCciJyk7CiAgICAgICAgICAgICByZXN1bHQuYXBwZW5k
KG4tPnN5c3RlbUlkKCkpOwotICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgiXCIiKTsKKyAgICAg
ICAgICAgIHJlc3VsdC5hcHBlbmQoJyInKTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAoIW4t
PnN5c3RlbUlkKCkuaXNFbXB0eSgpKSB7Ci0gICAgICAgIHJlc3VsdC5hcHBlbmQoIiBTWVNURU0g
XCIiKTsKKyAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIgc3lzdGVtU3RyaW5nW10gPSAiIFNZU1RF
TSBcIiI7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoc3lzdGVtU3RyaW5nLCBXVEZfQVJSQVlfTEVO
R1RIKHN5c3RlbVN0cmluZykgLSAxKTsKICAgICAgICAgcmVzdWx0LmFwcGVuZChuLT5zeXN0ZW1J
ZCgpKTsKLSAgICAgICAgcmVzdWx0LmFwcGVuZCgiXCIiKTsKKyAgICAgICAgcmVzdWx0LmFwcGVu
ZCgnIicpOwogICAgIH0KICAgICBpZiAoIW4tPmludGVybmFsU3Vic2V0KCkuaXNFbXB0eSgpKSB7
Ci0gICAgICAgIHJlc3VsdC5hcHBlbmQoIiBbIik7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoJyAn
KTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgnWycpOwogICAgICAgICByZXN1bHQuYXBwZW5kKG4t
PmludGVybmFsU3Vic2V0KCkpOwotICAgICAgICByZXN1bHQuYXBwZW5kKCJdIik7CisgICAgICAg
IHJlc3VsdC5hcHBlbmQoJ10nKTsKICAgICB9Ci0gICAgcmVzdWx0LmFwcGVuZCgiPiIpOworICAg
IHJlc3VsdC5hcHBlbmQoJz4nKTsKIH0KIAogdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5k
UHJvY2Vzc2luZ0luc3RydWN0aW9uKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29uc3QgU3RyaW5n
JiB0YXJnZXQsIGNvbnN0IFN0cmluZyYgZGF0YSkKIHsKICAgICAvLyBGSVhNRTogUEkgZGF0YSBp
cyBub3QgZXNjYXBlZCwgYnV0IFhNTFNlcmlhbGl6ZXIgKGFuZCBwb3NzaWJseSBvdGhlciBjYWxs
ZXJzKSB0aGlzIHNob3VsZCByYWlzZSBhbiBleGNlcHRpb24gaWYgaXQgaW5jbHVkZXMgIj8+Ii4K
LSAgICByZXN1bHQuYXBwZW5kKCI8PyIpOworICAgIHJlc3VsdC5hcHBlbmQoJzwnKTsKKyAgICBy
ZXN1bHQuYXBwZW5kKCc/Jyk7CiAgICAgcmVzdWx0LmFwcGVuZCh0YXJnZXQpOwotICAgIHJlc3Vs
dC5hcHBlbmQoIiAiKTsKKyAgICByZXN1bHQuYXBwZW5kKCcgJyk7CiAgICAgcmVzdWx0LmFwcGVu
ZChkYXRhKTsKLSAgICByZXN1bHQuYXBwZW5kKCI/PiIpOworICAgIHJlc3VsdC5hcHBlbmQoJz8n
KTsKKyAgICByZXN1bHQuYXBwZW5kKCc+Jyk7CiB9CiAKIHZvaWQgTWFya3VwQWNjdW11bGF0b3I6
OmFwcGVuZEVsZW1lbnQoU3RyaW5nQnVpbGRlciYgcmVzdWx0LCBFbGVtZW50KiBlbGVtZW50LCBO
YW1lc3BhY2VzKiBuYW1lc3BhY2VzKQpAQCAtMzY2LDcgKzM2Myw3IEBAIHZvaWQgTWFya3VwQWNj
dW11bGF0b3I6OmFwcGVuZE9wZW5UYWcoU3RyaW5nQnVpbGRlciYgcmVzdWx0LCBFbGVtZW50KiBl
bGVtZW50LCBOCiAgICAgcmVzdWx0LmFwcGVuZCgnPCcpOwogICAgIHJlc3VsdC5hcHBlbmQoZWxl
bWVudC0+bm9kZU5hbWVQcmVzZXJ2aW5nQ2FzZSgpKTsKICAgICBpZiAoIWVsZW1lbnQtPmRvY3Vt
ZW50KCktPmlzSFRNTERvY3VtZW50KCkgJiYgbmFtZXNwYWNlcyAmJiBzaG91bGRBZGROYW1lc3Bh
Y2VFbGVtZW50KGVsZW1lbnQpKQotICAgICAgICBhcHBlbmROYW1lc3BhY2UocmVzdWx0LCBlbGVt
ZW50LT5wcmVmaXgoKSwgZWxlbWVudC0+bmFtZXNwYWNlVVJJKCksICpuYW1lc3BhY2VzKTsgICAg
CisgICAgICAgIGFwcGVuZE5hbWVzcGFjZShyZXN1bHQsIGVsZW1lbnQtPnByZWZpeCgpLCBlbGVt
ZW50LT5uYW1lc3BhY2VVUkkoKSwgKm5hbWVzcGFjZXMpOwogfQogCiB2b2lkIE1hcmt1cEFjY3Vt
dWxhdG9yOjphcHBlbmRDbG9zZVRhZyhTdHJpbmdCdWlsZGVyJiByZXN1bHQsIEVsZW1lbnQqIGVs
ZW1lbnQpCkBAIC0zOTUsOSArMzkyLDkgQEAgdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5k
QXR0cmlidXRlKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgRWxlbWVudCogZWxlbWVudCwKICAgICBp
ZiAoZWxlbWVudC0+aXNVUkxBdHRyaWJ1dGUoY29uc3RfY2FzdDxBdHRyaWJ1dGUqPigmYXR0cmli
dXRlKSkpCiAgICAgICAgIGFwcGVuZFF1b3RlZFVSTEF0dHJpYnV0ZVZhbHVlKHJlc3VsdCwgZWxl
bWVudCwgYXR0cmlidXRlKTsKICAgICBlbHNlIHsKLSAgICAgICAgcmVzdWx0LmFwcGVuZCgnXCIn
KTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgnIicpOwogICAgICAgICBhcHBlbmRBdHRyaWJ1dGVW
YWx1ZShyZXN1bHQsIGF0dHJpYnV0ZS52YWx1ZSgpLCBkb2N1bWVudElzSFRNTCk7Ci0gICAgICAg
IHJlc3VsdC5hcHBlbmQoJ1wiJyk7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoJyInKTsKICAgICB9
CiAKICAgICBpZiAoIWRvY3VtZW50SXNIVE1MICYmIG5hbWVzcGFjZXMgJiYgc2hvdWxkQWRkTmFt
ZXNwYWNlQXR0cmlidXRlKGF0dHJpYnV0ZSwgKm5hbWVzcGFjZXMpKQpAQCAtNDA3LDkgKzQwNCwx
MSBAQCB2b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRBdHRyaWJ1dGUoU3RyaW5nQnVpbGRl
ciYgcmVzdWx0LCBFbGVtZW50KiBlbGVtZW50LAogdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBw
ZW5kQ0RBVEFTZWN0aW9uKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29uc3QgU3RyaW5nJiBzZWN0
aW9uKQogewogICAgIC8vIEZJWE1FOiBDREFUQSBjb250ZW50IGlzIG5vdCBlc2NhcGVkLCBidXQg
WE1MU2VyaWFsaXplciAoYW5kIHBvc3NpYmx5IG90aGVyIGNhbGxlcnMpIHNob3VsZCByYWlzZSBh
biBleGNlcHRpb24gaWYgaXQgaW5jbHVkZXMgIl1dPiIuCi0gICAgcmVzdWx0LmFwcGVuZCgiPCFb
Q0RBVEFbIik7CisgICAgc3RhdGljIGNvbnN0IGNoYXIgY2RhdGFCZWdpbltdID0gIjwhW0NEQVRB
WyI7CisgICAgcmVzdWx0LmFwcGVuZChjZGF0YUJlZ2luLCBXVEZfQVJSQVlfTEVOR1RIKGNkYXRh
QmVnaW4pIC0gMSk7CiAgICAgcmVzdWx0LmFwcGVuZChzZWN0aW9uKTsKLSAgICByZXN1bHQuYXBw
ZW5kKCJdXT4iKTsKKyAgICBzdGF0aWMgY29uc3QgY2hhciBjZGF0YUVuZFtdID0gIl1dPiI7Cisg
ICAgcmVzdWx0LmFwcGVuZChjZGF0YUVuZCwgV1RGX0FSUkFZX0xFTkdUSChjZGF0YUVuZCkgLSAx
KTsKIH0KIAogdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kU3RhcnRNYXJrdXAoU3RyaW5n
QnVpbGRlciYgcmVzdWx0LCBjb25zdCBOb2RlKiBub2RlLCBOYW1lc3BhY2VzKiBuYW1lc3BhY2Vz
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9NYXJrdXBBY2N1bXVsYXRvci5o
IGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9NYXJrdXBBY2N1bXVsYXRvci5oCmluZGV4IGMzNmMz
YTExOGE4NWNiY2U3YTMwODIwYjM0MWJlNjVhZTdmMGI0M2IuLjhkYzY0NWJlY2ZmZGNlYjdhZjM1
NGEyMTNhNjgxMTYyOGFjMmI0MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
TWFya3VwQWNjdW11bGF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL01hcmt1cEFj
Y3VtdWxhdG9yLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJtYXJrdXAuaCIKICNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3
dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNzgs
NyArNzksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBhcHBlbmRTdGFydFRhZyhOb2RlKiwgTmFt
ZXNwYWNlcyogPSAwKTsKICAgICB2aXJ0dWFsIHZvaWQgYXBwZW5kRW5kVGFnKE5vZGUqKTsKICAg
ICBzdGF0aWMgc2l6ZV90IHRvdGFsTGVuZ3RoKGNvbnN0IFZlY3RvcjxTdHJpbmc+Jik7Ci0gICAg
c2l6ZV90IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIHRvdGFsTGVuZ3RoKG1fc3VjY2VlZGluZ01h
cmt1cCk7IH0KKyAgICBzaXplX3QgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9tYXJrdXAubGVu
Z3RoKCk7IH0KICAgICB2b2lkIGNvbmNhdGVuYXRlTWFya3VwKFN0cmluZ0J1aWxkZXImKTsKICAg
ICB2b2lkIGFwcGVuZEF0dHJpYnV0ZVZhbHVlKFN0cmluZ0J1aWxkZXImLCBjb25zdCBTdHJpbmcm
LCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgYXBwZW5kQ3VzdG9tQXR0cmlidXRlcyhTdHJpbmdC
dWlsZGVyJiwgRWxlbWVudCosIE5hbWVzcGFjZXMqKTsKQEAgLTEwOCw3ICsxMDksNyBAQCBwcml2
YXRlOgogICAgIHZvaWQgYXBwZW5kUXVvdGVkVVJMQXR0cmlidXRlVmFsdWUoU3RyaW5nQnVpbGRl
ciYsIGNvbnN0IEVsZW1lbnQqLCBjb25zdCBBdHRyaWJ1dGUmKTsKICAgICB2b2lkIHNlcmlhbGl6
ZU5vZGVzV2l0aE5hbWVzcGFjZXMoTm9kZSogdGFyZ2V0Tm9kZSwgTm9kZSogbm9kZVRvU2tpcCwg
RUNoaWxkcmVuT25seSwgY29uc3QgTmFtZXNwYWNlcyopOwogCi0gICAgVmVjdG9yPFN0cmluZz4g
bV9zdWNjZWVkaW5nTWFya3VwOworICAgIFN0cmluZ0J1aWxkZXIgbV9tYXJrdXA7CiAgICAgY29u
c3QgRUFic29sdXRlVVJMcyBtX3Jlc29sdmVVUkxzTWV0aG9kOwogfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132209</attachid>
            <date>2012-03-15 23:23:11 -0700</date>
            <delta_ts>2012-03-16 05:32:14 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-81214-20120316152309.patch</filename>
            <type>text/plain</type>
            <size>14220</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwOTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWU0ZDkyZTdkNjE2YWMy
YzExNmI2ZDAyYTBmMzkxM2YyOTAxZjJiMS4uYTg4ODgxZWI5MGQzOTkxMTEwNjhlNDhiODM0ZDY5
NjUzNGMzNjI5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDEwOCBAQAogMjAxMi0wMy0xNSAgS2Vu
dGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgW1BlcmZvcm1hbmNl
XSBPcHRpbWl6ZSBpbm5lckhUTUwgYW5kIG91dGVySFRNTAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEyMTQKKworICAgICAgICBSZXZpZXdlZCBieSBB
ZGFtIEJhcnRoLgorCisgICAgICAgIFRoaXMgcGF0Y2ggbWFrZXMgaW5uZXJIVE1MIGFuZCBvdXRl
ckhUTUwgMi40IHRpbWVzIGZhc3Rlci4KKworICAgICAgICBQZXJmb3JtYW5jZSB0ZXN0OiBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9hdHRhY2htZW50LmNnaT9pZD0xMzIwMzQKKyAgICAgICAgVGhl
IHBlcmZvcm1hbmNlIHRlc3QgbWVhc3VyZXMgYm9keS5pbm5lckhUTUwgZm9yIDMwMDAgbGluZXMg
b2YgSFRNTCwKKyAgICAgICAgd2hpY2ggaXMgY29waWVkIGZyb20gdGhlIEhUTUwgc3BlYy4KKwor
ICAgICAgICAtIENocm9taXVtL01hYyB3aXRob3V0IHRoZSBwYXRjaAorICAgICAgICBkaXYuaW5u
ZXJIVE1MOiAxNjU4LjYgbXMKKyAgICAgICAgZGl2Lm91dGVySFRNTDogNDg1OS42IG1zCisgICAg
ICAgIGJvZHkuaW5uZXJIVE1MOiA2NDAuMiBtcworICAgICAgICBib2R5Lm91dGVySFRNTDogNjQx
LjggbXMKKworICAgICAgICAtIENocm9taXVtL01hYyB3aXRoIHRoZSBwYXRjaAorICAgICAgICBk
aXYuaW5uZXJIVE1MOiAgNzUxLjAgbXMKKyAgICAgICAgZGl2Lm91dGVySFRNTDogMjA5Ni4wIG1z
CisgICAgICAgIGJvZHkuaW5uZXJIVE1MOiAyNzEuMiBtcworICAgICAgICBib2R5Lm91dGVySFRN
TDogMjcxLjIgbXMKKworICAgICAgICAtIENocm9taXVtL0xpbnV4IHdpdGhvdXQgdGhlIHBhdGNo
CisgICAgICAgIGRpdi5pbm5lckhUTUw6ICA5NTAuNCBtcworICAgICAgICBkaXYub3V0ZXJIVE1M
OiAyMjU3LjggbXMKKyAgICAgICAgYm9keS5pbm5lckhUTUw6IDQ1Mi44IG1zCisgICAgICAgIGJv
ZHkub3V0ZXJIVE1MOiA0NTcuNiBtcworCisgICAgICAgIC0gQ2hyb21pdW0vTGludXggd2l0aCB0
aGUgcGF0Y2gKKyAgICAgICAgZGl2LmlubmVySFRNTDogIDU4Mi40IG1zCisgICAgICAgIGRpdi5v
dXRlckhUTUw6IDEyODMuMCBtcworICAgICAgICBib2R5LmlubmVySFRNTDogMjMzLjAgbXMKKyAg
ICAgICAgYm9keS5vdXRlckhUTUw6IDIzMy40IG1zCisKKyAgICAgICAgLSBBcHBsZVdlYktpdC9N
YWMgd2l0aG91dCB0aGUgcGF0Y2gKKyAgICAgICAgZGl2LmlubmVySFRNTDogIDkwMC42IG1zCisg
ICAgICAgIGRpdi5vdXRlckhUTUw6IDIyNDUuMiBtcworICAgICAgICBib2R5LmlubmVySFRNTDog
NDYyLjYgbXMKKyAgICAgICAgYm9keS5vdXRlckhUTUw6IDQ2OC4wIG1zCisKKyAgICAgICAgLSBB
cHBsZVdlYktpdC9NYWMgd2l0aCB0aGUgcGF0Y2gKKyAgICAgICAgZGl2LmlubmVySFRNTDogIDUy
OS44ICBtcworICAgICAgICBkaXYub3V0ZXJIVE1MOiAxMDkwLjIgbXMKKyAgICAgICAgYm9keS5p
bm5lckhUTUw6IDIzOS4yIG1zCisgICAgICAgIGJvZHkub3V0ZXJIVE1MOiAyMzkuMiBtcworCisg
ICAgICAgIFRoaXMgcGF0Y2ggYXBwbGllcyB0aGUgZm9sbG93aW5nIHR3byBvcHRpbWl6YXRpb25z
OgorCisgICAgICAgIChhKSBSZW1vdmUgcmVkdW5kYW50IGNvcGllcyBiZXR3ZWVuIFZlY3RvcjxT
dHJpbmc+IGFuZCBTdHJpbmdCdWlsZGVycworICAgICAgICBpbiBNYXJrdXBBY2N1bXVsYXRvcjo6
c2VyaWFsaXplTm9kZXMoKSwgTWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZFN0YXJ0VGFnKCksCisg
ICAgICAgIGFuZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kRW5kVGFnKCkuCisKKyAgICAgICAg
ICAgIChQcmV2aW91cyBiZWhhdmlvcikKKyAgICAgICAgICAgIC0gQ3JlYXRlIGEgU3RyaW5nQnVp
bGRlciBmb3IgZWFjaCB0YWcuCisgICAgICAgICAgICAtIEFwcGVuZCBhIGNyZWF0ZWQgc3RyaW5n
IGluIGVhY2ggU3RyaW5nQnVpbGRlciB0byBWZWN0b3I8U3RyaW5nPiwKKyAgICAgICAgICAgICAg
cGFyc2luZyB0aGUgRE9NIHRyZWUuCisgICAgICAgICAgICAtIEFmdGVyIHRoZSBwYXJzaW5nLCBh
bGxvY2F0ZSBhIFN0cmluZ0J1aWxkZXIgd2hvc2Ugc2l6ZSBpcyB0aGUgc3VtCisgICAgICAgICAg
ICAgIG9mIGFsbCBTdHJpbmdzIGluIFZlY3RvcjxTdHJpbmc+LgorICAgICAgICAgICAgLSBBcHBl
bmQgYWxsIFN0cmluZ3MgaW4gVmVjdG9yPFN0cmluZz4gdG8gdGhlIFN0cmluZ0J1aWxkZXIuCisg
ICAgICAgICAgICAoTmV3IGJlaGF2aW9yKQorICAgICAgICAgICAgLSBBbGxvY2F0ZSBhIFN0cmlu
Z0J1aWxkZXIgd2l0aCBhIGRlZmF1bHQgYnVmZmVyIHNpemUuCisgICAgICAgICAgICAtIEFwcGVu
ZCBjcmVhdGVkIHN0cmluZ3MgdG8gdGhlIFN0cmluZ0J1aWxkZXIsIGluY3JlbWVudGFsbHkgcGFy
c2luZworICAgICAgICAgICAgICB0aGUgRE9NIHRyZWUuCisKKyAgICAgICAgKGIpIE9wdGltaXpl
IHN0cmluZ0J1aWxkZXIuYXBwZW5kKCkuCisgICAgICAgICAgICAoYi0xKSBSZXBsYWNlIHN0cmlu
Z0J1aWxkZXIuYXBwZW5kKCJBIikgd2l0aCBzdHJpbmdCdWlsZGVyLmFwcGVuZCgnQScpLgorICAg
ICAgICAgICAgICAgICAgc3RyaW5nQnVpbGRlci5hcHBlbmQoIkEiKSByZXF1aXJlcyB0byBjYXN0
IHRoZSBjaGFyYWN0ZXJzIHRvIExDaGFyKiwKKyAgICAgICAgICAgICAgICAgIGFuZCB0aGVuIGNh
bGwgc3RybGVuKCJBIikuIHN0cmluZ0J1aWxkZXIuYXBwZW5kKCdBJykgaXMgZmFzdGVyLgorICAg
ICAgICAgICAgKGItMikgUmVwbGFjZSBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiQUIiKSB3aXRoIHN0
cmluZ0J1aWxkZXIuYXBwZW5kKCdBJykKKyAgICAgICAgICAgICAgICAgIGFuZCBzdHJpbmdCdWls
ZGVyLmFwcGVuZCgnQicpLiBJbiBteSBleHBlcmltZW50LCBhcHBlbmRpbmcgY2hhcmFjdGVycwor
ICAgICAgICAgICAgICAgICAgb25lIGJ5IG9uZSBpcyBmYXN0ZXIgdGhhbiBhcHBlbmRpbmcgdGhl
IGNoYXJhY3RlcnMgYXQgYSBicmVhdGggaWYgdGhlCisgICAgICAgICAgICAgICAgICBudW1iZXIg
b2YgY2hhcmFjdGVycyBpcyBsZXNzIHRoYW4gMy4KKyAgICAgICAgICAgIChiLTMpIEhhcmQtY29k
ZSBhIHN0cmluZyBsZW5ndGg7IGkuZS4gcmVwbGFjZSBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiQUJD
REUiKQorICAgICAgICAgICAgICAgICAgd2l0aCBzdHJpbmdCdWlsZGVyLmFwcGVuZCgiQUJDREUi
LCA1KS4gV2hpbGUgdGhlIGZvcm1lciByZXF1aXJlcyB0byBjYWxsCisgICAgICAgICAgICAgICAg
ICBzdHJsZW4oIkFCQ0RFIiksIHRoZSBsYXR0ZXIgZG9lcyBub3QuCisKKyAgICAgICAgKGEpIGlt
cHJvdmVzIHBlcmZvcm1hbmNlIGJ5IDE3MCUgfiAyMDAlLiAoYikgaW1wcm92ZXMgcGVyZm9ybWFu
Y2UgYnkgMzAgfiA0MCUuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvZG9tL1JhbmdlL3JhbmdlLWV4
dHJhY3QtY29udGVudHMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vc2VyaWFsaXplLW5v
ZGVzLnhodG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9YTUxTZXJpYWxpemVyLmh0bWwKKyAg
ICAgICAgICAgICAgIGFuZCBhbGwgb3RoZXIgdGVzdHMgdGhhdCB1c2UgaW5uZXJIVE1MIG9yIG91
dGVySFRNTC4KKyAgICAgICAgICAgICAgIE5vIGNoYW5nZSBpbiB0aGUgdGVzdCByZXN1bHRzLgor
CisgICAgICAgICogZWRpdGluZy9NYXJrdXBBY2N1bXVsYXRvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpNYXJrdXBBY2N1bXVsYXRvcjo6c2VyaWFsaXplTm9kZXMpOgorICAgICAgICAoV2ViQ29y
ZTo6TWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZFN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpN
YXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kU3RhcnRUYWcpOgorICAgICAgICAoV2ViQ29yZTo6TWFy
a3VwQWNjdW11bGF0b3I6OmFwcGVuZEVuZFRhZyk6CisgICAgICAgIChXZWJDb3JlOjpNYXJrdXBB
Y2N1bXVsYXRvcjo6Y29uY2F0ZW5hdGVNYXJrdXApOgorICAgICAgICAoV2ViQ29yZTo6TWFya3Vw
QWNjdW11bGF0b3I6OmFwcGVuZFF1b3RlZFVSTEF0dHJpYnV0ZVZhbHVlKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRDb21tZW50KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmREb2N1bWVudFR5cGUpOgorICAgICAgICAoV2Vi
Q29yZTo6TWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZFByb2Nlc3NpbmdJbnN0cnVjdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kT3BlblRhZyk6CisgICAg
ICAgIChXZWJDb3JlOjpNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kQXR0cmlidXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRDREFUQVNlY3Rpb24pOgorICAg
ICAgICAqIGVkaXRpbmcvTWFya3VwQWNjdW11bGF0b3IuaDoKKyAgICAgICAgKE1hcmt1cEFjY3Vt
dWxhdG9yKToKKworMjAxMi0wMy0xNSAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5v
cmc+CisKICAgICAgICAgW1JlZmFjdG9yaW5nXSBSZW5hbWUgU3RyaW5nQnVpbGRlciB2YXJpYWJs
ZXMgaW4gTWFya3VwQWNjdW11bGF0b3Iue2gsY3BwfQogICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEyODgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9NYXJrdXBBY2N1bXVsYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L01hcmt1cEFjY3VtdWxhdG9yLmNwcAppbmRleCBmZTJlNzJiOTM4YzAzZGNkNTAyODlhZTllZTQy
NjM4NDA2MDkyMzI2Li4wYjk4NTM4MWMzODE2OTVmYTBkY2JmNTIyZTgxY2FlMTJjZTRjMmJmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL01hcmt1cEFjY3VtdWxhdG9yLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL01hcmt1cEFjY3VtdWxhdG9yLmNwcApAQCAtMzcs
NyArMzcsNiBAQAogI2luY2x1ZGUgIktVUkwuaCIKICNpbmNsdWRlICJQcm9jZXNzaW5nSW5zdHJ1
Y3Rpb24uaCIKICNpbmNsdWRlICJYTUxOU05hbWVzLmgiCi0jaW5jbHVkZSA8d3RmL3RleHQvU3Ry
aW5nQnVpbGRlci5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL0NoYXJhY3Rlck5hbWVzLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTg3LDExICs4Niw4IEBAIE1hcmt1cEFjY3VtdWxhdG9y
Ojp+TWFya3VwQWNjdW11bGF0b3IoKQogCiBTdHJpbmcgTWFya3VwQWNjdW11bGF0b3I6OnNlcmlh
bGl6ZU5vZGVzKE5vZGUqIHRhcmdldE5vZGUsIE5vZGUqIG5vZGVUb1NraXAsIEVDaGlsZHJlbk9u
bHkgY2hpbGRyZW5Pbmx5KQogewotICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OwogICAgIHNlcmlh
bGl6ZU5vZGVzV2l0aE5hbWVzcGFjZXModGFyZ2V0Tm9kZSwgbm9kZVRvU2tpcCwgY2hpbGRyZW5P
bmx5LCAwKTsKLSAgICByZXN1bHQucmVzZXJ2ZUNhcGFjaXR5KGxlbmd0aCgpKTsKLSAgICBjb25j
YXRlbmF0ZU1hcmt1cChyZXN1bHQpOwotICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKKyAg
ICByZXR1cm4gbV9tYXJrdXAudG9TdHJpbmcoKTsKIH0KIAogdm9pZCBNYXJrdXBBY2N1bXVsYXRv
cjo6c2VyaWFsaXplTm9kZXNXaXRoTmFtZXNwYWNlcyhOb2RlKiB0YXJnZXROb2RlLCBOb2RlKiBu
b2RlVG9Ta2lwLCBFQ2hpbGRyZW5Pbmx5IGNoaWxkcmVuT25seSwgY29uc3QgTmFtZXNwYWNlcyog
bmFtZXNwYWNlcykKQEAgLTEzNCwyMyArMTMwLDE5IEBAIFN0cmluZyBNYXJrdXBBY2N1bXVsYXRv
cjo6cmVzb2x2ZVVSTElmTmVlZGVkKGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0IFN0cmlu
CiAKIHZvaWQgTWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZFN0cmluZyhjb25zdCBTdHJpbmcmIHN0
cmluZykKIHsKLSAgICBtX3N1Y2NlZWRpbmdNYXJrdXAuYXBwZW5kKHN0cmluZyk7CisgICAgbV9t
YXJrdXAuYXBwZW5kKHN0cmluZyk7CiB9CiAKIHZvaWQgTWFya3VwQWNjdW11bGF0b3I6OmFwcGVu
ZFN0YXJ0VGFnKE5vZGUqIG5vZGUsIE5hbWVzcGFjZXMqIG5hbWVzcGFjZXMpCiB7Ci0gICAgU3Ry
aW5nQnVpbGRlciBtYXJrdXA7Ci0gICAgYXBwZW5kU3RhcnRNYXJrdXAobWFya3VwLCBub2RlLCBu
YW1lc3BhY2VzKTsKLSAgICBhcHBlbmRTdHJpbmcobWFya3VwLnRvU3RyaW5nKCkpOworICAgIGFw
cGVuZFN0YXJ0TWFya3VwKG1fbWFya3VwLCBub2RlLCBuYW1lc3BhY2VzKTsKICAgICBpZiAobV9u
b2RlcykKICAgICAgICAgbV9ub2Rlcy0+YXBwZW5kKG5vZGUpOwogfQogCiB2b2lkIE1hcmt1cEFj
Y3VtdWxhdG9yOjphcHBlbmRFbmRUYWcoTm9kZSogbm9kZSkKIHsKLSAgICBTdHJpbmdCdWlsZGVy
IG1hcmt1cDsKLSAgICBhcHBlbmRFbmRNYXJrdXAobWFya3VwLCBub2RlKTsKLSAgICBhcHBlbmRT
dHJpbmcobWFya3VwLnRvU3RyaW5nKCkpOworICAgIGFwcGVuZEVuZE1hcmt1cChtX21hcmt1cCwg
bm9kZSk7CiB9CiAKIHNpemVfdCBNYXJrdXBBY2N1bXVsYXRvcjo6dG90YWxMZW5ndGgoY29uc3Qg
VmVjdG9yPFN0cmluZz4mIHN0cmluZ3MpCkBAIC0xNjEsMTMgKzE1Myw5IEBAIHNpemVfdCBNYXJr
dXBBY2N1bXVsYXRvcjo6dG90YWxMZW5ndGgoY29uc3QgVmVjdG9yPFN0cmluZz4mIHN0cmluZ3Mp
CiAgICAgcmV0dXJuIGxlbmd0aDsKIH0KIAotLy8gRklYTUU6IFRoaXMgaXMgYSB2ZXJ5IGluZWZm
aWNpZW50IHdheSBvZiBhY2N1bXVsYXRpbmcgdGhlIG1hcmt1cC4KLS8vIFdlJ3JlIGNvbnZlcnRp
bmcgcmVzdWx0cyBvZiBhcHBlbmRTdGFydE1hcmt1cCBhbmQgYXBwZW5kRW5kTWFya3VwIGZyb20g
U3RyaW5nQnVpbGRlciB0byBTdHJpbmcKLS8vIGFuZCB0aGVuIGJhY2sgdG8gU3RyaW5nQnVpbGRl
ciBhbmQgYWdhaW4gdG8gU3RyaW5nIGhlcmUuCiB2b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjpjb25j
YXRlbmF0ZU1hcmt1cChTdHJpbmdCdWlsZGVyJiByZXN1bHQpCiB7Ci0gICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBtX3N1Y2NlZWRpbmdNYXJrdXAuc2l6ZSgpOyArK2kpCi0gICAgICAgIHJlc3Vs
dC5hcHBlbmQobV9zdWNjZWVkaW5nTWFya3VwW2ldKTsKKyAgICByZXN1bHQuYXBwZW5kKG1fbWFy
a3VwKTsKIH0KIAogdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kQXR0cmlidXRlVmFsdWUo
U3RyaW5nQnVpbGRlciYgcmVzdWx0LCBjb25zdCBTdHJpbmcmIGF0dHJpYnV0ZSwgYm9vbCBkb2N1
bWVudElzSFRNTCkKQEAgLTE4NCwxMyArMTcyLDEzIEBAIHZvaWQgTWFya3VwQWNjdW11bGF0b3I6
OmFwcGVuZFF1b3RlZFVSTEF0dHJpYnV0ZVZhbHVlKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29u
CiB7CiAgICAgQVNTRVJUKGVsZW1lbnQtPmlzVVJMQXR0cmlidXRlKGNvbnN0X2Nhc3Q8QXR0cmli
dXRlKj4oJmF0dHJpYnV0ZSkpKTsKICAgICBjb25zdCBTdHJpbmcgcmVzb2x2ZWRVUkxTdHJpbmcg
PSByZXNvbHZlVVJMSWZOZWVkZWQoZWxlbWVudCwgYXR0cmlidXRlLnZhbHVlKCkpOwotICAgIFVD
aGFyIHF1b3RlQ2hhciA9ICdcIic7CisgICAgVUNoYXIgcXVvdGVDaGFyID0gJyInOwogICAgIFN0
cmluZyBzdHJpcHBlZFVSTFN0cmluZyA9IHJlc29sdmVkVVJMU3RyaW5nLnN0cmlwV2hpdGVTcGFj
ZSgpOwogICAgIGlmIChwcm90b2NvbElzSmF2YVNjcmlwdChzdHJpcHBlZFVSTFN0cmluZykpIHsK
ICAgICAgICAgLy8gbWluaW1hbCBlc2NhcGluZyBmb3IgamF2YXNjcmlwdCB1cmxzCiAgICAgICAg
IGlmIChzdHJpcHBlZFVSTFN0cmluZy5jb250YWlucygnIicpKSB7CiAgICAgICAgICAgICBpZiAo
c3RyaXBwZWRVUkxTdHJpbmcuY29udGFpbnMoJ1wnJykpCi0gICAgICAgICAgICAgICAgc3RyaXBw
ZWRVUkxTdHJpbmcucmVwbGFjZSgnXCInLCAiJnF1b3Q7Iik7CisgICAgICAgICAgICAgICAgc3Ry
aXBwZWRVUkxTdHJpbmcucmVwbGFjZSgnIicsICImcXVvdDsiKTsKICAgICAgICAgICAgIGVsc2UK
ICAgICAgICAgICAgICAgICBxdW90ZUNoYXIgPSAnXCcnOwogICAgICAgICB9CkBAIC0zMDEsOSAr
Mjg5LDExIEBAIHZvaWQgTWFya3VwQWNjdW11bGF0b3I6OmFwcGVuZFRleHQoU3RyaW5nQnVpbGRl
ciYgcmVzdWx0LCBUZXh0KiB0ZXh0KQogdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBwZW5kQ29t
bWVudChTdHJpbmdCdWlsZGVyJiByZXN1bHQsIGNvbnN0IFN0cmluZyYgY29tbWVudCkKIHsKICAg
ICAvLyBGSVhNRTogQ29tbWVudCBjb250ZW50IGlzIG5vdCBlc2NhcGVkLCBidXQgWE1MU2VyaWFs
aXplciAoYW5kIHBvc3NpYmx5IG90aGVyIGNhbGxlcnMpIHNob3VsZCByYWlzZSBhbiBleGNlcHRp
b24gaWYgaXQgaW5jbHVkZXMgIi0tPiIuCi0gICAgcmVzdWx0LmFwcGVuZCgiPCEtLSIpOworICAg
IHN0YXRpYyBjb25zdCBjaGFyIGNvbW1lbnRCZWdpbltdID0gIjwhLS0iOworICAgIHJlc3VsdC5h
cHBlbmQoY29tbWVudEJlZ2luLCBzaXplb2YoY29tbWVudEJlZ2luKSAtIDEpOwogICAgIHJlc3Vs
dC5hcHBlbmQoY29tbWVudCk7Ci0gICAgcmVzdWx0LmFwcGVuZCgiLS0+Iik7CisgICAgc3RhdGlj
IGNvbnN0IGNoYXIgY29tbWVudEVuZFtdID0gIi0tPiI7CisgICAgcmVzdWx0LmFwcGVuZChjb21t
ZW50RW5kLCBzaXplb2YoY29tbWVudEVuZCkgLSAxKTsKIH0KIAogdm9pZCBNYXJrdXBBY2N1bXVs
YXRvcjo6YXBwZW5kRG9jdW1lbnRUeXBlKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29uc3QgRG9j
dW1lbnRUeXBlKiBuKQpAQCAtMzExLDM4ICszMDEsNDUgQEAgdm9pZCBNYXJrdXBBY2N1bXVsYXRv
cjo6YXBwZW5kRG9jdW1lbnRUeXBlKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29uc3QgRG9jdW1l
bnQKICAgICBpZiAobi0+bmFtZSgpLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAg
cmVzdWx0LmFwcGVuZCgiPCFET0NUWVBFICIpOworICAgIHN0YXRpYyBjb25zdCBjaGFyIGRvY3R5
cGVTdHJpbmdbXSA9ICI8IURPQ1RZUEUgIjsKKyAgICByZXN1bHQuYXBwZW5kKGRvY3R5cGVTdHJp
bmcsIHNpemVvZihkb2N0eXBlU3RyaW5nKSAtIDEpOwogICAgIHJlc3VsdC5hcHBlbmQobi0+bmFt
ZSgpKTsKICAgICBpZiAoIW4tPnB1YmxpY0lkKCkuaXNFbXB0eSgpKSB7Ci0gICAgICAgIHJlc3Vs
dC5hcHBlbmQoIiBQVUJMSUMgXCIiKTsKKyAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIgcHVibGlj
U3RyaW5nW10gPSAiIFBVQkxJQyBcIiI7CisgICAgICAgIHJlc3VsdC5hcHBlbmQocHVibGljU3Ry
aW5nLCBzaXplb2YocHVibGljU3RyaW5nKSAtIDEpOwogICAgICAgICByZXN1bHQuYXBwZW5kKG4t
PnB1YmxpY0lkKCkpOwotICAgICAgICByZXN1bHQuYXBwZW5kKCJcIiIpOworICAgICAgICByZXN1
bHQuYXBwZW5kKCciJyk7CiAgICAgICAgIGlmICghbi0+c3lzdGVtSWQoKS5pc0VtcHR5KCkpIHsK
LSAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoIiBcIiIpOworICAgICAgICAgICAgcmVzdWx0LmFw
cGVuZCgnICcpOworICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnIicpOwogICAgICAgICAgICAg
cmVzdWx0LmFwcGVuZChuLT5zeXN0ZW1JZCgpKTsKLSAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQo
IlwiIik7CisgICAgICAgICAgICByZXN1bHQuYXBwZW5kKCciJyk7CiAgICAgICAgIH0KICAgICB9
IGVsc2UgaWYgKCFuLT5zeXN0ZW1JZCgpLmlzRW1wdHkoKSkgewotICAgICAgICByZXN1bHQuYXBw
ZW5kKCIgU1lTVEVNIFwiIik7CisgICAgICAgIHN0YXRpYyBjb25zdCBjaGFyIHN5c3RlbVN0cmlu
Z1tdID0gIiBTWVNURU0gXCIiOworICAgICAgICByZXN1bHQuYXBwZW5kKHN5c3RlbVN0cmluZywg
c2l6ZW9mKHN5c3RlbVN0cmluZykgLSAxKTsKICAgICAgICAgcmVzdWx0LmFwcGVuZChuLT5zeXN0
ZW1JZCgpKTsKLSAgICAgICAgcmVzdWx0LmFwcGVuZCgiXCIiKTsKKyAgICAgICAgcmVzdWx0LmFw
cGVuZCgnIicpOwogICAgIH0KICAgICBpZiAoIW4tPmludGVybmFsU3Vic2V0KCkuaXNFbXB0eSgp
KSB7Ci0gICAgICAgIHJlc3VsdC5hcHBlbmQoIiBbIik7CisgICAgICAgIHJlc3VsdC5hcHBlbmQo
JyAnKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgnWycpOwogICAgICAgICByZXN1bHQuYXBwZW5k
KG4tPmludGVybmFsU3Vic2V0KCkpOwotICAgICAgICByZXN1bHQuYXBwZW5kKCJdIik7CisgICAg
ICAgIHJlc3VsdC5hcHBlbmQoJ10nKTsKICAgICB9Ci0gICAgcmVzdWx0LmFwcGVuZCgiPiIpOwor
ICAgIHJlc3VsdC5hcHBlbmQoJz4nKTsKIH0KIAogdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBw
ZW5kUHJvY2Vzc2luZ0luc3RydWN0aW9uKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29uc3QgU3Ry
aW5nJiB0YXJnZXQsIGNvbnN0IFN0cmluZyYgZGF0YSkKIHsKICAgICAvLyBGSVhNRTogUEkgZGF0
YSBpcyBub3QgZXNjYXBlZCwgYnV0IFhNTFNlcmlhbGl6ZXIgKGFuZCBwb3NzaWJseSBvdGhlciBj
YWxsZXJzKSB0aGlzIHNob3VsZCByYWlzZSBhbiBleGNlcHRpb24gaWYgaXQgaW5jbHVkZXMgIj8+
Ii4KLSAgICByZXN1bHQuYXBwZW5kKCI8PyIpOworICAgIHJlc3VsdC5hcHBlbmQoJzwnKTsKKyAg
ICByZXN1bHQuYXBwZW5kKCc/Jyk7CiAgICAgcmVzdWx0LmFwcGVuZCh0YXJnZXQpOwotICAgIHJl
c3VsdC5hcHBlbmQoIiAiKTsKKyAgICByZXN1bHQuYXBwZW5kKCcgJyk7CiAgICAgcmVzdWx0LmFw
cGVuZChkYXRhKTsKLSAgICByZXN1bHQuYXBwZW5kKCI/PiIpOworICAgIHJlc3VsdC5hcHBlbmQo
Jz8nKTsKKyAgICByZXN1bHQuYXBwZW5kKCc+Jyk7CiB9CiAKIHZvaWQgTWFya3VwQWNjdW11bGF0
b3I6OmFwcGVuZEVsZW1lbnQoU3RyaW5nQnVpbGRlciYgcmVzdWx0LCBFbGVtZW50KiBlbGVtZW50
LCBOYW1lc3BhY2VzKiBuYW1lc3BhY2VzKQpAQCAtMzY2LDcgKzM2Myw3IEBAIHZvaWQgTWFya3Vw
QWNjdW11bGF0b3I6OmFwcGVuZE9wZW5UYWcoU3RyaW5nQnVpbGRlciYgcmVzdWx0LCBFbGVtZW50
KiBlbGVtZW50LCBOCiAgICAgcmVzdWx0LmFwcGVuZCgnPCcpOwogICAgIHJlc3VsdC5hcHBlbmQo
ZWxlbWVudC0+bm9kZU5hbWVQcmVzZXJ2aW5nQ2FzZSgpKTsKICAgICBpZiAoIWVsZW1lbnQtPmRv
Y3VtZW50KCktPmlzSFRNTERvY3VtZW50KCkgJiYgbmFtZXNwYWNlcyAmJiBzaG91bGRBZGROYW1l
c3BhY2VFbGVtZW50KGVsZW1lbnQpKQotICAgICAgICBhcHBlbmROYW1lc3BhY2UocmVzdWx0LCBl
bGVtZW50LT5wcmVmaXgoKSwgZWxlbWVudC0+bmFtZXNwYWNlVVJJKCksICpuYW1lc3BhY2VzKTsg
ICAgCisgICAgICAgIGFwcGVuZE5hbWVzcGFjZShyZXN1bHQsIGVsZW1lbnQtPnByZWZpeCgpLCBl
bGVtZW50LT5uYW1lc3BhY2VVUkkoKSwgKm5hbWVzcGFjZXMpOwogfQogCiB2b2lkIE1hcmt1cEFj
Y3VtdWxhdG9yOjphcHBlbmRDbG9zZVRhZyhTdHJpbmdCdWlsZGVyJiByZXN1bHQsIEVsZW1lbnQq
IGVsZW1lbnQpCkBAIC0zOTUsOSArMzkyLDkgQEAgdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6YXBw
ZW5kQXR0cmlidXRlKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgRWxlbWVudCogZWxlbWVudCwKICAg
ICBpZiAoZWxlbWVudC0+aXNVUkxBdHRyaWJ1dGUoY29uc3RfY2FzdDxBdHRyaWJ1dGUqPigmYXR0
cmlidXRlKSkpCiAgICAgICAgIGFwcGVuZFF1b3RlZFVSTEF0dHJpYnV0ZVZhbHVlKHJlc3VsdCwg
ZWxlbWVudCwgYXR0cmlidXRlKTsKICAgICBlbHNlIHsKLSAgICAgICAgcmVzdWx0LmFwcGVuZCgn
XCInKTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgnIicpOwogICAgICAgICBhcHBlbmRBdHRyaWJ1
dGVWYWx1ZShyZXN1bHQsIGF0dHJpYnV0ZS52YWx1ZSgpLCBkb2N1bWVudElzSFRNTCk7Ci0gICAg
ICAgIHJlc3VsdC5hcHBlbmQoJ1wiJyk7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoJyInKTsKICAg
ICB9CiAKICAgICBpZiAoIWRvY3VtZW50SXNIVE1MICYmIG5hbWVzcGFjZXMgJiYgc2hvdWxkQWRk
TmFtZXNwYWNlQXR0cmlidXRlKGF0dHJpYnV0ZSwgKm5hbWVzcGFjZXMpKQpAQCAtNDA3LDkgKzQw
NCwxMSBAQCB2b2lkIE1hcmt1cEFjY3VtdWxhdG9yOjphcHBlbmRBdHRyaWJ1dGUoU3RyaW5nQnVp
bGRlciYgcmVzdWx0LCBFbGVtZW50KiBlbGVtZW50LAogdm9pZCBNYXJrdXBBY2N1bXVsYXRvcjo6
YXBwZW5kQ0RBVEFTZWN0aW9uKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwgY29uc3QgU3RyaW5nJiBz
ZWN0aW9uKQogewogICAgIC8vIEZJWE1FOiBDREFUQSBjb250ZW50IGlzIG5vdCBlc2NhcGVkLCBi
dXQgWE1MU2VyaWFsaXplciAoYW5kIHBvc3NpYmx5IG90aGVyIGNhbGxlcnMpIHNob3VsZCByYWlz
ZSBhbiBleGNlcHRpb24gaWYgaXQgaW5jbHVkZXMgIl1dPiIuCi0gICAgcmVzdWx0LmFwcGVuZCgi
PCFbQ0RBVEFbIik7CisgICAgc3RhdGljIGNvbnN0IGNoYXIgY2RhdGFCZWdpbltdID0gIjwhW0NE
QVRBWyI7CisgICAgcmVzdWx0LmFwcGVuZChjZGF0YUJlZ2luLCBzaXplb2YoY2RhdGFCZWdpbikg
LSAxKTsKICAgICByZXN1bHQuYXBwZW5kKHNlY3Rpb24pOwotICAgIHJlc3VsdC5hcHBlbmQoIl1d
PiIpOworICAgIHN0YXRpYyBjb25zdCBjaGFyIGNkYXRhRW5kW10gPSAiXV0+IjsKKyAgICByZXN1
bHQuYXBwZW5kKGNkYXRhRW5kLCBzaXplb2YoY2RhdGFFbmQpIC0gMSk7CiB9CiAKIHZvaWQgTWFy
a3VwQWNjdW11bGF0b3I6OmFwcGVuZFN0YXJ0TWFya3VwKFN0cmluZ0J1aWxkZXImIHJlc3VsdCwg
Y29uc3QgTm9kZSogbm9kZSwgTmFtZXNwYWNlcyogbmFtZXNwYWNlcykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvTWFya3VwQWNjdW11bGF0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvTWFya3VwQWNjdW11bGF0b3IuaAppbmRleCBjMzZjM2ExMThhODVjYmNlN2EzMDgy
MGIzNDFiZTY1YWU3ZjBiNDNiLi44ZGM2NDViZWNmZmRjZWI3YWYzNTRhMjEzYTY4MTE2MjhhYzJi
NDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL01hcmt1cEFjY3VtdWxhdG9y
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9NYXJrdXBBY2N1bXVsYXRvci5oCkBAIC0z
MCw2ICszMCw3IEBACiAjaW5jbHVkZSAibWFya3VwLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVp
bGRlci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTc4LDcgKzc5LDcgQEAgcHJvdGVj
dGVkOgogICAgIHZvaWQgYXBwZW5kU3RhcnRUYWcoTm9kZSosIE5hbWVzcGFjZXMqID0gMCk7CiAg
ICAgdmlydHVhbCB2b2lkIGFwcGVuZEVuZFRhZyhOb2RlKik7CiAgICAgc3RhdGljIHNpemVfdCB0
b3RhbExlbmd0aChjb25zdCBWZWN0b3I8U3RyaW5nPiYpOwotICAgIHNpemVfdCBsZW5ndGgoKSBj
b25zdCB7IHJldHVybiB0b3RhbExlbmd0aChtX3N1Y2NlZWRpbmdNYXJrdXApOyB9CisgICAgc2l6
ZV90IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbWFya3VwLmxlbmd0aCgpOyB9CiAgICAgdm9p
ZCBjb25jYXRlbmF0ZU1hcmt1cChTdHJpbmdCdWlsZGVyJik7CiAgICAgdm9pZCBhcHBlbmRBdHRy
aWJ1dGVWYWx1ZShTdHJpbmdCdWlsZGVyJiwgY29uc3QgU3RyaW5nJiwgYm9vbCk7CiAgICAgdmly
dHVhbCB2b2lkIGFwcGVuZEN1c3RvbUF0dHJpYnV0ZXMoU3RyaW5nQnVpbGRlciYsIEVsZW1lbnQq
LCBOYW1lc3BhY2VzKik7CkBAIC0xMDgsNyArMTA5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGFw
cGVuZFF1b3RlZFVSTEF0dHJpYnV0ZVZhbHVlKFN0cmluZ0J1aWxkZXImLCBjb25zdCBFbGVtZW50
KiwgY29uc3QgQXR0cmlidXRlJik7CiAgICAgdm9pZCBzZXJpYWxpemVOb2Rlc1dpdGhOYW1lc3Bh
Y2VzKE5vZGUqIHRhcmdldE5vZGUsIE5vZGUqIG5vZGVUb1NraXAsIEVDaGlsZHJlbk9ubHksIGNv
bnN0IE5hbWVzcGFjZXMqKTsKIAotICAgIFZlY3RvcjxTdHJpbmc+IG1fc3VjY2VlZGluZ01hcmt1
cDsKKyAgICBTdHJpbmdCdWlsZGVyIG1fbWFya3VwOwogICAgIGNvbnN0IEVBYnNvbHV0ZVVSTHMg
bV9yZXNvbHZlVVJMc01ldGhvZDsKIH07CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>