<?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>96143</bug_id>
          
          <creation_ts>2012-09-07 13:50:15 -0700</creation_ts>
          <short_desc>Text Autosizing: Don&apos;t autosize text in constrained height elements.</short_desc>
          <delta_ts>2012-09-14 19:16:33 -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>Layout and Rendering</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>
          
          <blocked>84186</blocked>
    
    <blocked>96557</blocked>
    
    <blocked>96848</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="John Mellor">johnme</reporter>
          <assigned_to name="John Mellor">johnme</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>kenneth</cc>
    
    <cc>peter</cc>
    
    <cc>satish</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>714932</commentid>
    <comment_count>0</comment_count>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-09-07 13:50:15 -0700</bug_when>
    <thetext>Text Autosizing: Don&apos;t autosize text in constrained height elements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714950</commentid>
    <comment_count>1</comment_count>
      <attachid>162862</attachid>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-09-07 14:03:51 -0700</bug_when>
    <thetext>Created attachment 162862
Patch

Autosizing text within constained height elements usually goes badly, as the autosized text will wrap onto more lines, hence it will become taller and often overflow its container, breaking the page&apos;s layout.

This first patch is going to change slightly, as I plan to address the vertical writing mode FIXME before requesting commit, but uploading it now in case people want to take an initial look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716266</commentid>
    <comment_count>2</comment_count>
      <attachid>162862</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-09-10 10:53:11 -0700</bug_when>
    <thetext>Comment on attachment 162862
Patch

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

&gt; Source/WebCore/rendering/TextAutosizer.cpp:141
&gt; +bool TextAutosizer::contentHeightIsConstrained(const RenderObject* renderer)

It&apos;s better to keep the precision here: you are passed a RenderBox so you should accept a RenderBox.

&gt; Source/WebCore/rendering/TextAutosizer.cpp:148
&gt; +        if (renderer-&gt;isBlockFlow()) {

Why do you ignore non-block flow? (It&apos;s probably related to tables but it&apos;s unclear why you wouldn&apos;t consider table with fixed height)

&gt; Source/WebCore/rendering/TextAutosizer.cpp:150
&gt; +            if (style-&gt;overflowY() != OVISIBLE &amp;&amp; style-&gt;overflowY() != OHIDDEN)

style()-&gt;overflowY() &gt;= OSCROLL

(note that we usually handle overflowX but it&apos;s strictly equivalent to handling overflowY as you wrote it)

&gt; Source/WebCore/rendering/TextAutosizer.cpp:158
&gt; +        renderer = renderer-&gt;parent();
&gt; +    } while (renderer);

It would be more readable as a |for| loop:

for (const RenderBox* currentObject = renderer; currentObject; currentObject = currentObject-&gt;containingBlock())

Please note that you shouldn&apos;t walk to your parent() but to your containingBlock() here as your parent may not be the one constraining the current box (for example for positioned objects). Using containingBlock, you ensures that everything is at least a RenderBox (per comment above).

&gt; Source/WebCore/rendering/TextAutosizer.h:62
&gt; +    static bool contentHeightIsConstrained(const RenderObject*);

Do we really need to expose this function to the rest of WebCore?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716312</commentid>
    <comment_count>3</comment_count>
      <attachid>163170</attachid>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-09-10 11:26:01 -0700</bug_when>
    <thetext>Created attachment 163170
Patch

Addressed jchaffraix&apos;s review comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716313</commentid>
    <comment_count>4</comment_count>
      <attachid>162862</attachid>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-09-10 11:26:54 -0700</bug_when>
    <thetext>Comment on attachment 162862
Patch

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

&gt;&gt; Source/WebCore/rendering/TextAutosizer.cpp:141
&gt;&gt; +bool TextAutosizer::contentHeightIsConstrained(const RenderObject* renderer)
&gt; 
&gt; It&apos;s better to keep the precision here: you are passed a RenderBox so you should accept a RenderBox.

Done.

&gt;&gt; Source/WebCore/rendering/TextAutosizer.cpp:148
&gt;&gt; +        if (renderer-&gt;isBlockFlow()) {
&gt; 
&gt; Why do you ignore non-block flow? (It&apos;s probably related to tables but it&apos;s unclear why you wouldn&apos;t consider table with fixed height)

Fixed (I needed it because I was erroneously using -&gt;parent() instead of -&gt;containingBlock(); though I think anything containingBlock() returns would actually be block flow anyway?)

&gt;&gt; Source/WebCore/rendering/TextAutosizer.cpp:150
&gt;&gt; +            if (style-&gt;overflowY() != OVISIBLE &amp;&amp; style-&gt;overflowY() != OHIDDEN)
&gt; 
&gt; style()-&gt;overflowY() &gt;= OSCROLL
&gt; 
&gt; (note that we usually handle overflowX but it&apos;s strictly equivalent to handling overflowY as you wrote it)

Done (I&apos;m always worried that inequalities might break if someone reorders the constants, but I guess that&apos;s unlikely).

&gt; Source/WebCore/rendering/TextAutosizer.cpp:152
&gt; +            if (style-&gt;height().isFixed() || style-&gt;maxHeight().isFixed()

Actually, I should also treat percentage Lengths as fixed, so I&apos;ve changed this to just use isSpecified (I got confused, because a percentage length font size or line height is a percentage of the font size, hence scales with the font size, whereas a percentage length here means a percentage of the size of its containing block, which is fixed).

&gt;&gt; Source/WebCore/rendering/TextAutosizer.cpp:158
&gt;&gt; +    } while (renderer);
&gt; 
&gt; It would be more readable as a |for| loop:
&gt; 
&gt; for (const RenderBox* currentObject = renderer; currentObject; currentObject = currentObject-&gt;containingBlock())
&gt; 
&gt; Please note that you shouldn&apos;t walk to your parent() but to your containingBlock() here as your parent may not be the one constraining the current box (for example for positioned objects). Using containingBlock, you ensures that everything is at least a RenderBox (per comment above).

Done (ah, containingBlock is what I was looking for (that&apos;s why I had that isBlockFlow check earlier).

&gt;&gt; Source/WebCore/rendering/TextAutosizer.h:62
&gt;&gt; +    static bool contentHeightIsConstrained(const RenderObject*);
&gt; 
&gt; Do we really need to expose this function to the rest of WebCore?

I&apos;m not sure what you mean? It&apos;s private...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716461</commentid>
    <comment_count>5</comment_count>
      <attachid>163170</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-09-10 13:45:14 -0700</bug_when>
    <thetext>Comment on attachment 163170
Patch

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

&gt; Source/WebCore/rendering/TextAutosizer.h:62
&gt; +    static bool contentHeightIsConstrained(const RenderBox*);

&gt;&gt; Do we really need to expose this function to the rest of WebCore?
&gt; I&apos;m not sure what you mean? It&apos;s private...

Simple, this function could have static linkage in TextAutosizer.cpp and not be exposed in the header. I would prefer if it was the case as there is no point in exposing it (even private) to the rest of WebCore.

&gt; LayoutTests/ChangeLog:19
&gt; +        * fast/text-autosizing/overflow-then-fixed-ancestor.html: Added.

All the tests should include a description of what is tested and what the expected outcome is.

&gt; LayoutTests/fast/text-autosizing/fixed-and-overflow-ancestor-expected.html:15
&gt; +        &lt;div style=&quot;font-size: 2.5rem&quot;&gt;

Why do you expect a font increase here? (due to max-height, I would have expected no boosting would happen)

&gt; LayoutTests/fast/text-autosizing/overflow-then-fixed-ancestor-expected.html:13
&gt; +&lt;div style=&quot;overflow-y: auto&quot;&gt;

You only test overflow: auto, it would have been better to test other values to catch regressions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716688</commentid>
    <comment_count>6</comment_count>
      <attachid>163170</attachid>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-09-10 16:54:47 -0700</bug_when>
    <thetext>Comment on attachment 163170
Patch

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

&gt;&gt; Source/WebCore/rendering/TextAutosizer.h:62
&gt;&gt; +    static bool contentHeightIsConstrained(const RenderBox*);
&gt; 
&gt; 

&gt; Simple, this function could have static linkage in TextAutosizer.cpp and not be exposed in the header.

Done.

&gt;&gt; LayoutTests/ChangeLog:19
&gt;&gt; +        * fast/text-autosizing/overflow-then-fixed-ancestor.html: Added.
&gt; 
&gt; All the tests should include a description of what is tested and what the expected outcome is.

Done.

&gt;&gt; LayoutTests/fast/text-autosizing/fixed-and-overflow-ancestor-expected.html:15
&gt;&gt; +        &lt;div style=&quot;font-size: 2.5rem&quot;&gt;
&gt; 
&gt; Why do you expect a font increase here? (due to max-height, I would have expected no boosting would happen)

The overflow-y:auto means there is infinite available vertical height for the content, even though there is a max-height. Documented this in the test.

&gt;&gt; LayoutTests/fast/text-autosizing/overflow-then-fixed-ancestor-expected.html:13
&gt;&gt; +&lt;div style=&quot;overflow-y: auto&quot;&gt;
&gt; 
&gt; You only test overflow: auto, it would have been better to test other values to catch regressions.

Added tests of overflow:scroll, overflow:hidden and overflow:-webkit-paged-x, and some other tests (e.g. a percentage, a viewport-percentage height, and a fixed height applied directly to the block rather than to an ancestor).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716695</commentid>
    <comment_count>7</comment_count>
      <attachid>163248</attachid>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-09-10 16:58:42 -0700</bug_when>
    <thetext>Created attachment 163248
Patch

Addressed jchaffraix&apos;s 2nd round review comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716701</commentid>
    <comment_count>8</comment_count>
      <attachid>163252</attachid>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-09-10 17:06:22 -0700</bug_when>
    <thetext>Created attachment 163252
Patch

Minor tweak to a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716705</commentid>
    <comment_count>9</comment_count>
      <attachid>163253</attachid>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-09-10 17:08:36 -0700</bug_when>
    <thetext>Created attachment 163253
Patch

Undo minor tweak to a test :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717392</commentid>
    <comment_count>10</comment_count>
      <attachid>163253</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2012-09-11 11:06:12 -0700</bug_when>
    <thetext>Comment on attachment 163253
Patch

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

I would include a test for a constrained positioned element (ideally one for fixed and one for absolute). I don&apos;t need to see the follow-up patch.

&gt; LayoutTests/ChangeLog:32
&gt; +        * fast/text-autosizing/fixed-within-overflow-ancestor.html: Added.

As a whole, fixed should be removed from those test cases&apos; names as it has a meaning of his own per our discussion &apos;constrained&apos; is a better alternative.

&gt; LayoutTests/fast/text-autosizing/fixed-and-overflow-auto-ancestor-expected.html:16
&gt; +        &lt;div style=&quot;font-size: 2.5rem&quot;&gt;

Nit: we could put 40px here instead of using relative font size and removing the html selector. The upside is that you don&apos;t rely on the relative font size calculation (which may be something we would like to keep). Not repeated for the other tests.

&gt; LayoutTests/fast/text-autosizing/fixed-within-overflow-ancestor.html:25
&gt; +            This text should be not autosized, as autosizing usually causes text to wrap onto more lines, which might cause it to overflow the parent&apos;s max-height (the grandparent&apos;s overflow-y:auto doesn&apos;t prevent this).

It would be nice to specify and explicitly mention the expected font-size in this case too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717899</commentid>
    <comment_count>11</comment_count>
      <attachid>163253</attachid>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-09-11 21:36:33 -0700</bug_when>
    <thetext>Comment on attachment 163253
Patch

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

&gt; I would include a test for a constrained positioned element (ideally one for fixed and one for absolute).

Done (added 3 tests).

&gt;&gt; LayoutTests/ChangeLog:32
&gt;&gt; +        * fast/text-autosizing/fixed-within-overflow-ancestor.html: Added.
&gt; 
&gt; As a whole, fixed should be removed from those test cases&apos; names as it has a meaning of his own per our discussion &apos;constrained&apos; is a better alternative.

Done.

&gt;&gt; LayoutTests/fast/text-autosizing/fixed-and-overflow-auto-ancestor-expected.html:16
&gt;&gt; +        &lt;div style=&quot;font-size: 2.5rem&quot;&gt;
&gt; 
&gt; Nit: we could put 40px here instead of using relative font size and removing the html selector. The upside is that you don&apos;t rely on the relative font size calculation (which may be something we would like to keep). Not repeated for the other tests.

Not sure what you mean here. I put 2.5rem instead of 40px in order to explicitly call out the fact that this is being multiplied by 2.5x from its specified size; it seems more opaque to just put a size here...

&gt;&gt; LayoutTests/fast/text-autosizing/fixed-within-overflow-ancestor.html:25
&gt;&gt; +            This text should be not autosized, as autosizing usually causes text to wrap onto more lines, which might cause it to overflow the parent&apos;s max-height (the grandparent&apos;s overflow-y:auto doesn&apos;t prevent this).
&gt; 
&gt; It would be nice to specify and explicitly mention the expected font-size in this case too.

Done (added &quot;its computed font-size should remain 16px&quot; to all negative tests).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717901</commentid>
    <comment_count>12</comment_count>
      <attachid>163515</attachid>
    <who name="John Mellor">johnme</who>
    <bug_when>2012-09-11 21:38:10 -0700</bug_when>
    <thetext>Created attachment 163515
Patch

Addressed jchaffraix&apos;s 3rd round review comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718412</commentid>
    <comment_count>13</comment_count>
      <attachid>163515</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-12 08:47:16 -0700</bug_when>
    <thetext>Comment on attachment 163515
Patch

Clearing flags on attachment: 163515

Committed r128317: &lt;http://trac.webkit.org/changeset/128317&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718413</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-12 08:47:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162862</attachid>
            <date>2012-09-07 14:03:51 -0700</date>
            <delta_ts>2012-09-10 11:26:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96143-20120907140330.patch</filename>
            <type>text/plain</type>
            <size>17336</size>
            <attacher name="John Mellor">johnme</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3Njk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWY2NGExNWYwODM4NWFk
YjM5OGE5OGZmMDBjNTJjYTFjZmZkN2EzNS4uYjA2NmM2YWYyYTU0YjdjMmFjNjMxNjJiZTlkMzAz
OWZkNDc3NDY1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA5LTA3ICBKb2hu
IE1lbGxvciAgPGpvaG5tZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dCBBdXRvc2l6aW5n
OiBEb24ndCBhdXRvc2l6ZSB0ZXh0IGluIGNvbnN0cmFpbmVkIGhlaWdodCBlbGVtZW50cy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2MTQzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXV0b3NpemluZyB0
ZXh0IHdpdGhpbiBjb25zdGFpbmVkIGhlaWdodCBlbGVtZW50cyB1c3VhbGx5IGdvZXMgYmFkbHks
CisgICAgICAgIGFzIHRoZSBhdXRvc2l6ZWQgdGV4dCB3aWxsIHdyYXAgb250byBtb3JlIGxpbmVz
LCBoZW5jZSBpdCB3aWxsIGJlY29tZQorICAgICAgICB0YWxsZXIgYW5kIG9mdGVuIG92ZXJmbG93
IGl0cyBjb250YWluZXIsIGJyZWFraW5nIHRoZSBwYWdlJ3MgbGF5b3V0LgorCisgICAgICAgIFRo
aXMgcGF0Y2ggZGlzYWJsZXMgYXV0b3NpemluZyBmb3IgYmxvY2tzIHdpdGggYSBmaXhlZCBoZWln
aHQgYW5jZXN0b3IKKyAgICAgICAgKG9yIHdoaWNoIGFyZSBmaXhlZCBoZWlnaHQgdGhlbXNlbHZl
cyksIHVubGVzcyB0aGUgbG93ZXN0IHN1Y2ggYW5jZXN0b3IKKyAgICAgICAgKG9yIG9uZSBvZiB0
aGUgYW5jZXN0b3JzIGluIGJldHdlZW4gaXQgYW5kIHRoZSB0ZXh0IGJsb2NrKSBoYXMKKyAgICAg
ICAgb3ZlcmZsb3cteTphdXRvL3Njcm9sbCwgaW4gd2hpY2ggY2FzZSB0aGUgaGVpZ2h0IGlzbid0
IHJlYWxseSBmaXhlZC4KKworICAgICAgICBUZXN0czogZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4
ZWQtYW5kLW92ZXJmbG93LWFuY2VzdG9yLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1h
dXRvc2l6aW5nL2ZpeGVkLWhlaWdodC1hbmNlc3Rvci5odG1sCisgICAgICAgICAgICAgICBmYXN0
L3RleHQtYXV0b3NpemluZy9maXhlZC1tYXhoZWlnaHQtYW5jZXN0b3IuaHRtbAorICAgICAgICAg
ICAgICAgZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtdGhlbi1vdmVyZmxvdy1hbmNlc3Rvci5o
dG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQtYXV0b3NpemluZy9vdmVyZmxvdy10aGVuLWZp
eGVkLWFuY2VzdG9yLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRBdXRvc2l6ZXI6OnByb2Nlc3NCb3gpOgorCisgICAg
ICAgICAgICBTa2lwcyBib3hlcyBmb3Igd2hpY2ggY29udGVudEhlaWdodElzQ29uc3RyYWluZWQg
cmV0dXJucyB0cnVlLgorCisgICAgICAgIChXZWJDb3JlOjpUZXh0QXV0b3NpemVyOjpjb250ZW50
SGVpZ2h0SXNDb25zdHJhaW5lZCk6CisKKyAgICAgICAgICAgIFdhbGtzIHVwIHRoZSByZW5kZXIg
dHJlZSB1bnRpbCBpdCBmaW5kcyBlaXRoZXIgYSBjb25zdHJhaW5lZCBoZWlnaHQKKyAgICAgICAg
ICAgIG9yIG92ZXJmbG93LXk6YXV0by9zY3JvbGwgYW5jZXN0b3IuCisKIDIwMTItMDktMDUgIFRp
bSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZDsgcmV2ZXJ0IGEgY2hhbmdlIHRvIFNjcm9sbGluZ1RyZWVOb2RlTWFjIHdoaWNoIGFjY2lkZW50
YWxseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3BwCmluZGV4IDRj
ZDczNWExY2QzZWMwODQ0ZTExZjVkNzFlMGIzY2ZhYWI0N2NmNTEuLjMwMGEyNWIwNTE5NGE5MmMz
NmZmMDRhMDJmZjE0MDliMzY3YmY5ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9UZXh0QXV0b3NpemVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4
dEF1dG9zaXplci5jcHAKQEAgLTc5LDYgKzc5LDkgQEAgYm9vbCBUZXh0QXV0b3NpemVyOjpwcm9j
ZXNzU3VidHJlZShSZW5kZXJPYmplY3QqIGxheW91dFJvb3QpCiAKIHZvaWQgVGV4dEF1dG9zaXpl
cjo6cHJvY2Vzc0JveChSZW5kZXJCb3gqIGJveCwgY29uc3QgSW50U2l6ZSYgd2luZG93U2l6ZSwg
Y29uc3QgSW50U2l6ZSYgbGF5b3V0U2l6ZSkKIHsKKyAgICBpZiAoY29udGVudEhlaWdodElzQ29u
c3RyYWluZWQoYm94KSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgaW50IGxvZ2ljYWxXaW5kb3dX
aWR0aCA9IGJveC0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHdpbmRvd1NpemUud2lkdGgo
KSA6IHdpbmRvd1NpemUuaGVpZ2h0KCk7CiAgICAgaW50IGxvZ2ljYWxMYXlvdXRXaWR0aCA9IGJv
eC0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGxheW91dFNpemUud2lkdGgoKSA6IGxheW91
dFNpemUuaGVpZ2h0KCk7CiAgICAgLy8gSWdub3JlIGJveCB3aWR0aCBpbiBleGNlc3Mgb2YgdGhl
IGxheW91dCB3aWR0aCwgdG8gYXZvaWQgZXh0cmVtZSBtdWx0aXBsaWVycy4KQEAgLTEzNSw2ICsx
MzgsMjcgQEAgZmxvYXQgVGV4dEF1dG9zaXplcjo6Y29tcHV0ZUF1dG9zaXplZEZvbnRTaXplKGZs
b2F0IHNwZWNpZmllZFNpemUsIGZsb2F0IG11bHRpcGwKICAgICByZXR1cm4gY29tcHV0ZWRTaXpl
OwogfQogCitib29sIFRleHRBdXRvc2l6ZXI6OmNvbnRlbnRIZWlnaHRJc0NvbnN0cmFpbmVkKGNv
bnN0IFJlbmRlck9iamVjdCogcmVuZGVyZXIpCit7CisgICAgLy8gRklYTUU6IFByb3BhZ2F0ZSBj
b25zdHJhaW5lZG5lc3MgZG93biB0aGUgdHJlZSwgdG8gYXZvaWQgaW5lZmZpY2llbnRseSB3YWxr
aW5nIGJhY2sgdXAgZnJvbSBlYWNoIGJveC4KKyAgICAvLyBGSVhNRTogVGhpcyBjb2RlIG5lZWRz
IHRvIHRha2UgaW50byBhY2NvdW50IHZlcnRpY2FsIHdyaXRpbmcgbW9kZXMuCisgICAgLy8gRklY
TUU6IENhbGN1bGF0ZWQgTGVuZ3RocyB0aGF0IGNvbnRhaW4gYSBQZXJjZW50IChlLmcuIGVtKSB0
ZXJtIHByb2JhYmx5IHNob3VsZG4ndCBjb3VudCBhcyBmaXhlZCAoc2luY2UgcGFydCBvZiB0aGVt
IHNjYWxlcyB3aXRoIHRoZSBmb250IHNpemUpLgorICAgIC8vIEZJWE1FOiBDb25zaWRlciBhZGRp
dGlvbmFsIGhldXJpc3RpY3MsIHN1Y2ggYXMgaWdub3JpbmcgZml4ZWQgaGVpZ2h0cyBpZiB0aGUg
Y29udGVudCBpcyBhbHJlYWR5IG92ZXJmbG93aW5nIGJlZm9yZSBhdXRvc2l6aW5nIGtpY2tzIGlu
LgorICAgIGRvIHsKKyAgICAgICAgaWYgKHJlbmRlcmVyLT5pc0Jsb2NrRmxvdygpKSB7CisgICAg
ICAgICAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSByZW5kZXJlci0+c3R5bGUoKTsKKyAgICAgICAg
ICAgIGlmIChzdHlsZS0+b3ZlcmZsb3dZKCkgIT0gT1ZJU0lCTEUgJiYgc3R5bGUtPm92ZXJmbG93
WSgpICE9IE9ISURERU4pCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAg
ICAgaWYgKHN0eWxlLT5oZWlnaHQoKS5pc0ZpeGVkKCkgfHwgc3R5bGUtPm1heEhlaWdodCgpLmlz
Rml4ZWQoKQorICAgICAgICAgICAgIHx8IHN0eWxlLT5oZWlnaHQoKS5pc0NhbGN1bGF0ZWQoKSB8
fCBzdHlsZS0+bWF4SGVpZ2h0KCkuaXNDYWxjdWxhdGVkKCkKKyAgICAgICAgICAgICB8fCBzdHls
ZS0+aGVpZ2h0KCkuaXNWaWV3cG9ydFBlcmNlbnRhZ2UoKSB8fCBzdHlsZS0+bWF4SGVpZ2h0KCku
aXNWaWV3cG9ydFBlcmNlbnRhZ2UoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICAgICAgfQorICAgICAgICByZW5kZXJlciA9IHJlbmRlcmVyLT5wYXJlbnQoKTsKKyAgICB9IHdo
aWxlIChyZW5kZXJlcik7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIFRleHRBdXRvc2l6
ZXI6OmlzTm90QW5BdXRvc2l6aW5nQ29udGFpbmVyKGNvbnN0IFJlbmRlck9iamVjdCogcmVuZGVy
ZXIpCiB7CiAgICAgLy8gIkF1dG9zaXppbmcgY29udGFpbmVycyIgYXJlIHRoZSBzbWFsbGVzdCB1
bml0IGZvciB3aGljaCB3ZSBjYW4gZW5hYmxlL2Rpc2FibGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvVGV4dEF1dG9zaXplci5oCmluZGV4IGFlOWZkODM2M2U0YzAwNjQxZjQ3YTExOWE5YjgwZTY2
YzZjMTcwMzMuLjQ4YjI3ZGI2MDA2NmM0MTQzMWI4NGZlM2U2ZDEzNTc0YmRmOTk4MDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuaApAQCAtNTksNiArNTksOCBAQCBw
cml2YXRlOgogICAgIHZvaWQgcHJvY2Vzc0JveChSZW5kZXJCb3gqLCBjb25zdCBJbnRTaXplJiB3
aW5kb3dTaXplLCBjb25zdCBJbnRTaXplJiBsYXlvdXRTaXplKTsKICAgICB2b2lkIHNldE11bHRp
cGxpZXIoUmVuZGVyT2JqZWN0KiwgZmxvYXQpOwogCisgICAgc3RhdGljIGJvb2wgY29udGVudEhl
aWdodElzQ29uc3RyYWluZWQoY29uc3QgUmVuZGVyT2JqZWN0Kik7CisKICAgICBzdGF0aWMgYm9v
bCBpc05vdEFuQXV0b3NpemluZ0NvbnRhaW5lcihjb25zdCBSZW5kZXJPYmplY3QqKTsKIAogICAg
IHR5cGVkZWYgYm9vbCAoKlJlbmRlck9iamVjdEZpbHRlckZ1bmN0b3IpKGNvbnN0IFJlbmRlck9i
amVjdCopOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IGEyMTBmOTFlYjhlYzJhODQzMTNmN2FiYjBiNzg5OWU4N2E2YTg4MTUu
LjRkMTZmZDA4NDI1MTA4MWJmYWNiMTcxMmJlYzdmZTY5NDdhOTYxMDIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMyBAQAorMjAxMi0wOS0wNyAgSm9obiBNZWxsb3IgIDxqb2hubWVAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFRleHQgQXV0b3NpemluZzogRG9uJ3QgYXV0b3NpemUgdGV4dCBpbiBjb25zdHJh
aW5lZCBoZWlnaHQgZWxlbWVudHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NjE0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZGVkIHRlc3RzIHdpdGggdmFyaW91cyBuZXN0aW5ncyBvZiBmaXhlZC9v
dmVyZmxvdyBlbGVtZW50cy4KKworICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVk
LWFuZC1vdmVyZmxvdy1hbmNlc3Rvci1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctYW5jZXN0b3IuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtaGVpZ2h0LWFuY2VzdG9y
LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2Zp
eGVkLWhlaWdodC1hbmNlc3Rvci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQtYXV0
b3NpemluZy9maXhlZC1tYXhoZWlnaHQtYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0LWFuY2VzdG9yLmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXRoZW4tb3Zl
cmZsb3ctYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0
LWF1dG9zaXppbmcvZml4ZWQtdGhlbi1vdmVyZmxvdy1hbmNlc3Rvci5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9vdmVyZmxvdy10aGVuLWZpeGVkLWFuY2VzdG9y
LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL292
ZXJmbG93LXRoZW4tZml4ZWQtYW5jZXN0b3IuaHRtbDogQWRkZWQuCisKIDIwMTItMDktMDUgIExh
dXJvIE5ldG8gIDxsYXVyby5uZXRvQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgW1F0XSBwbGF0
Zm9ybS9xdC9wbHVnaW5zL3F0LXF3aWRnZXQtcGx1Z2luLmh0bWwgZmFpbHMKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1hbmNl
c3Rvci1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4
ZWQtYW5kLW92ZXJmbG93LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzZlNjU5
ZGE1ZThhZjc3YzNiNDQwYzkxYzc5MjAwOGM4NDhhZjJhMAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1hbmNlc3Rv
ci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8
c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorYm9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyB9
Cis8L3N0eWxlPgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHlsZT0ibWF4LWhlaWdodDog
NTAwcHg7IG92ZXJmbG93LXk6IGF1dG8iPgorICAgIDxkaXY+CisgICAgICAgIDxkaXYgc3R5bGU9
ImZvbnQtc2l6ZTogMi41cmVtIj4KKyAgICAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBh
bWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3Ig
aW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KKyAgICAgICAgPC9k
aXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6
aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1hbmNlc3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0LWF1dG9zaXppbmcvZml4ZWQtYW5kLW92ZXJmbG93LWFuY2VzdG9yLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYTNjYTQ5MGZiZDVhNTZjYmQzOWU5YmMwNWJhOGRmNzg4OTg0YWZiZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxv
dy1hbmNlc3Rvci5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8
c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorYm9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyB9
Cis8L3N0eWxlPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitpZiAod2luZG93
LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9z
aXppbmdFbmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4
dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApOworfSBlbHNlIGlmICh3aW5k
b3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBjb25zb2xlLndhcm4oIlRoaXMgdGVz
dCBkZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0dGluZyBiZWluZyB0cnVlLCBzbyBy
dW4gaXQgaW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9zaXpp
bmcsIGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3aXRoIDMyMHB4IGRldmljZS13aWR0
aCAobGlrZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVU
T1NJWklOR19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5Pgor
Cis8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBweDsgb3ZlcmZsb3cteTogYXV0byI+CisgICAg
PGRpdj4KKyAgICAgICAgPGRpdj4KKyAgICAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBh
bWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3Ig
aW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KKyAgICAgICAgPC9k
aXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6
aW5nL2ZpeGVkLWhlaWdodC1hbmNlc3Rvci1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtaGVpZ2h0LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjI1YmFjM2VkMWFiZTNjOGQyMzczM2NhNTRiMWI0OWRlMzk2MTI3NgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWhlaWdo
dC1hbmNlc3Rvci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PTgwMCI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorYm9keSB7IHdpZHRoOiA4MDBweDsgbWFy
Z2luOiAwOyB9Cis8L3N0eWxlPgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHlsZT0iaGVp
Z2h0OiA1MDBweCI+CisgICAgPGRpdj4KKyAgICAgICAgPGRpdj4KKyAgICAgICAgICAgIExvcmVt
IGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQg
ZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFs
aXF1YS4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWhlaWdodC1hbmNlc3Rvci5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtaGVpZ2h0LWFuY2VzdG9yLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjc3MzkzZmJiMjJlOTQ5NjRjYTI1MTBhOWUzMGUyYjI5MzBmZDc0ZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWhlaWdo
dC1hbmNlc3Rvci5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8
c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorYm9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyB9
Cis8L3N0eWxlPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitpZiAod2luZG93
LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9z
aXppbmdFbmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4
dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApOworfSBlbHNlIGlmICh3aW5k
b3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBjb25zb2xlLndhcm4oIlRoaXMgdGVz
dCBkZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0dGluZyBiZWluZyB0cnVlLCBzbyBy
dW4gaXQgaW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9zaXpp
bmcsIGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3aXRoIDMyMHB4IGRldmljZS13aWR0
aCAobGlrZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVU
T1NJWklOR19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5Pgor
Cis8ZGl2IHN0eWxlPSJoZWlnaHQ6IDUwMHB4Ij4KKyAgICA8ZGl2PgorICAgICAgICA8ZGl2Pgor
ICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBp
c2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBl
dCBkb2xvcmUgbWFnbmEgYWxpcXVhLgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2
PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0LWFu
Y2VzdG9yLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9m
aXhlZC1tYXhoZWlnaHQtYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZjBhMzNh
ZjMwNWIzOTE4ZTY2ODQ4MTQwYTllZTRhODYyZWViZDFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0LWFuY2VzdG9yLWV4
cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHls
ZSB0eXBlPSJ0ZXh0L2NzcyI+Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwv
c3R5bGU+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBw
eCI+CisgICAgPGRpdj4KKyAgICAgICAgPGRpdj4KKyAgICAgICAgICAgIExvcmVtIGlwc3VtIGRv
bG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21v
ZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KKyAg
ICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC1hdXRvc2l6aW5nL2ZpeGVkLW1heGhlaWdodC1hbmNlc3Rvci5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0LWFuY2VzdG9yLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZGY5OWIyNjhmYjA0OTcyNWFiMzRkZjc0NDJjZmM0ZGEyYzFjMzgyZgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLW1heGhlaWdo
dC1hbmNlc3Rvci5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8
c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorYm9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyB9
Cis8L3N0eWxlPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitpZiAod2luZG93
LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9z
aXppbmdFbmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4
dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApOworfSBlbHNlIGlmICh3aW5k
b3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBjb25zb2xlLndhcm4oIlRoaXMgdGVz
dCBkZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0dGluZyBiZWluZyB0cnVlLCBzbyBy
dW4gaXQgaW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9zaXpp
bmcsIGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3aXRoIDMyMHB4IGRldmljZS13aWR0
aCAobGlrZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVU
T1NJWklOR19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5Pgor
Cis8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBweCI+CisgICAgPGRpdj4KKyAgICAgICAgPGRp
dj4KKyAgICAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBh
ZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJv
cmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8
L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXRoZW4tb3Zl
cmZsb3ctYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRv
c2l6aW5nL2ZpeGVkLXRoZW4tb3ZlcmZsb3ctYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kNDBjYzY5NWNiMzM0NDU3ZDk0MGQ3YTI2MjY0YmM3MmM5OTEyN2Q2Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtdGhlbi1vdmVy
Zmxvdy1hbmNlc3Rvci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPTgwMCI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorYm9keSB7IHdpZHRoOiA4MDBweDsg
bWFyZ2luOiAwOyB9Cis8L3N0eWxlPgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHlsZT0i
bWF4LWhlaWdodDogNTAwcHgiPgorICAgIDxkaXYgc3R5bGU9Im92ZXJmbG93LXk6IGF1dG8iPgor
ICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDIuNXJlbSI+CisgICAgICAgICAgICBMb3Jl
bSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2Vk
IGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBh
bGlxdWEuCisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC10aGVuLW92ZXJmbG93LWFuY2VzdG9yLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC10aGVuLW92ZXJmbG93LWFu
Y2VzdG9yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDExYWI1MjIzNjhkODNmOGI0NzYyMTM2MzNjOWI0NWJj
NWQ1OWQ5YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6
aW5nL2ZpeGVkLXRoZW4tb3ZlcmZsb3ctYW5jZXN0b3IuaHRtbApAQCAtMCwwICsxLDMxIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2JvZHkgeyB3aWR0
aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiPgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxz
LnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nRW5hYmxlZCh0cnVlKTsKKyAgICB3aW5kb3cuaW50
ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlKDMyMCwg
NDgwKTsKK30gZWxzZSBpZiAod2luZG93LmNvbnNvbGUgJiYgY29uc29sZS53YXJuKSB7CisgICAg
Y29uc29sZS53YXJuKCJUaGlzIHRlc3QgZGVwZW5kcyBvbiB0aGUgVGV4dCBBdXRvc2l6aW5nIHNl
dHRpbmcgYmVpbmcgdHJ1ZSwgc28gcnVuIGl0IGluIER1bXBSZW5kZXJUcmVlLCBvciBtYW51YWxs
eSBlbmFibGUgVGV4dCBBdXRvc2l6aW5nLCBhbmQgZWl0aGVyIHVzZSBhIG1vYmlsZSBkZXZpY2Ug
d2l0aCAzMjBweCBkZXZpY2Utd2lkdGggKGxpa2UgTmV4dXMgUyBvciBpUGhvbmUpLCBvciBkZWZp
bmUgSEFDS19GT1JDRV9URVhUX0FVVE9TSVpJTkdfT05fREVTS1RPUC4iKTsKK30KKzwvc2NyaXB0
PgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHlsZT0ibWF4LWhlaWdodDogNTAwcHgiPgor
ICAgIDxkaXYgc3R5bGU9Im92ZXJmbG93LXk6IGF1dG8iPgorICAgICAgICA8ZGl2PgorICAgICAg
ICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5n
IGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xv
cmUgbWFnbmEgYWxpcXVhLgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvb3ZlcmZsb3ctdGhlbi1maXhlZC1hbmNl
c3Rvci1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvb3Zl
cmZsb3ctdGhlbi1maXhlZC1hbmNlc3Rvci1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNhOGYz
MjU2MTExZTFhYzExYmVlZGI5MzNkMzJmNWM3ODQwY2MwNTAKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9vdmVyZmxvdy10aGVuLWZpeGVkLWFuY2Vz
dG9yLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4K
KzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7
IH0KKzwvc3R5bGU+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJvdmVyZmxvdy15
OiBhdXRvIj4KKyAgICA8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBweCI+CisgICAgICAgIDxk
aXY+CisgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIg
YWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFi
b3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2Pgor
PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9vdmVyZmxvdy10aGVu
LWZpeGVkLWFuY2VzdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9v
dmVyZmxvdy10aGVuLWZpeGVkLWFuY2VzdG9yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmFjM2Y2YzIzM2Ni
ZmQ5YjQwMjA4NmQ5NjA4NDQzZTJhNzVmZGQ0ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL292ZXJmbG93LXRoZW4tZml4ZWQtYW5jZXN0b3IuaHRt
bApAQCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlIHR5cGU9InRl
eHQvY3NzIj4KK2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKwor
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsK
KyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nRW5hYmxlZCh0
cnVlKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nV2lu
ZG93U2l6ZU92ZXJyaWRlKDMyMCwgNDgwKTsKK30gZWxzZSBpZiAod2luZG93LmNvbnNvbGUgJiYg
Y29uc29sZS53YXJuKSB7CisgICAgY29uc29sZS53YXJuKCJUaGlzIHRlc3QgZGVwZW5kcyBvbiB0
aGUgVGV4dCBBdXRvc2l6aW5nIHNldHRpbmcgYmVpbmcgdHJ1ZSwgc28gcnVuIGl0IGluIER1bXBS
ZW5kZXJUcmVlLCBvciBtYW51YWxseSBlbmFibGUgVGV4dCBBdXRvc2l6aW5nLCBhbmQgZWl0aGVy
IHVzZSBhIG1vYmlsZSBkZXZpY2Ugd2l0aCAzMjBweCBkZXZpY2Utd2lkdGggKGxpa2UgTmV4dXMg
UyBvciBpUGhvbmUpLCBvciBkZWZpbmUgSEFDS19GT1JDRV9URVhUX0FVVE9TSVpJTkdfT05fREVT
S1RPUC4iKTsKK30KKzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHlsZT0i
b3ZlcmZsb3cteTogYXV0byI+CisgICAgPGRpdiBzdHlsZT0ibWF4LWhlaWdodDogNTAwcHgiPgor
ICAgICAgICA8ZGl2PgorICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNv
bnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlk
dW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgorICAgICAgICA8L2Rpdj4KKyAg
ICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163170</attachid>
            <date>2012-09-10 11:26:01 -0700</date>
            <delta_ts>2012-09-10 16:58:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96143-20120910112537.patch</filename>
            <type>text/plain</type>
            <size>16920</size>
            <attacher name="John Mellor">johnme</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3Njk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWY2NGExNWYwODM4NWFk
YjM5OGE5OGZmMDBjNTJjYTFjZmZkN2EzNS4uYjA2NmM2YWYyYTU0YjdjMmFjNjMxNjJiZTlkMzAz
OWZkNDc3NDY1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA5LTA3ICBKb2hu
IE1lbGxvciAgPGpvaG5tZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dCBBdXRvc2l6aW5n
OiBEb24ndCBhdXRvc2l6ZSB0ZXh0IGluIGNvbnN0cmFpbmVkIGhlaWdodCBlbGVtZW50cy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2MTQzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXV0b3NpemluZyB0
ZXh0IHdpdGhpbiBjb25zdGFpbmVkIGhlaWdodCBlbGVtZW50cyB1c3VhbGx5IGdvZXMgYmFkbHks
CisgICAgICAgIGFzIHRoZSBhdXRvc2l6ZWQgdGV4dCB3aWxsIHdyYXAgb250byBtb3JlIGxpbmVz
LCBoZW5jZSBpdCB3aWxsIGJlY29tZQorICAgICAgICB0YWxsZXIgYW5kIG9mdGVuIG92ZXJmbG93
IGl0cyBjb250YWluZXIsIGJyZWFraW5nIHRoZSBwYWdlJ3MgbGF5b3V0LgorCisgICAgICAgIFRo
aXMgcGF0Y2ggZGlzYWJsZXMgYXV0b3NpemluZyBmb3IgYmxvY2tzIHdpdGggYSBmaXhlZCBoZWln
aHQgYW5jZXN0b3IKKyAgICAgICAgKG9yIHdoaWNoIGFyZSBmaXhlZCBoZWlnaHQgdGhlbXNlbHZl
cyksIHVubGVzcyB0aGUgbG93ZXN0IHN1Y2ggYW5jZXN0b3IKKyAgICAgICAgKG9yIG9uZSBvZiB0
aGUgYW5jZXN0b3JzIGluIGJldHdlZW4gaXQgYW5kIHRoZSB0ZXh0IGJsb2NrKSBoYXMKKyAgICAg
ICAgb3ZlcmZsb3cteTphdXRvL3Njcm9sbCwgaW4gd2hpY2ggY2FzZSB0aGUgaGVpZ2h0IGlzbid0
IHJlYWxseSBmaXhlZC4KKworICAgICAgICBUZXN0czogZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4
ZWQtYW5kLW92ZXJmbG93LWFuY2VzdG9yLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1h
dXRvc2l6aW5nL2ZpeGVkLWhlaWdodC1hbmNlc3Rvci5odG1sCisgICAgICAgICAgICAgICBmYXN0
L3RleHQtYXV0b3NpemluZy9maXhlZC1tYXhoZWlnaHQtYW5jZXN0b3IuaHRtbAorICAgICAgICAg
ICAgICAgZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtdGhlbi1vdmVyZmxvdy1hbmNlc3Rvci5o
dG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQtYXV0b3NpemluZy9vdmVyZmxvdy10aGVuLWZp
eGVkLWFuY2VzdG9yLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRBdXRvc2l6ZXI6OnByb2Nlc3NCb3gpOgorCisgICAg
ICAgICAgICBTa2lwcyBib3hlcyBmb3Igd2hpY2ggY29udGVudEhlaWdodElzQ29uc3RyYWluZWQg
cmV0dXJucyB0cnVlLgorCisgICAgICAgIChXZWJDb3JlOjpUZXh0QXV0b3NpemVyOjpjb250ZW50
SGVpZ2h0SXNDb25zdHJhaW5lZCk6CisKKyAgICAgICAgICAgIFdhbGtzIHVwIHRoZSByZW5kZXIg
dHJlZSB1bnRpbCBpdCBmaW5kcyBlaXRoZXIgYSBjb25zdHJhaW5lZCBoZWlnaHQKKyAgICAgICAg
ICAgIG9yIG92ZXJmbG93LXk6YXV0by9zY3JvbGwgYW5jZXN0b3IuCisKIDIwMTItMDktMDUgIFRp
bSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZDsgcmV2ZXJ0IGEgY2hhbmdlIHRvIFNjcm9sbGluZ1RyZWVOb2RlTWFjIHdoaWNoIGFjY2lkZW50
YWxseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3BwCmluZGV4IDRj
ZDczNWExY2QzZWMwODQ0ZTExZjVkNzFlMGIzY2ZhYWI0N2NmNTEuLjAwMmNkM2Y2MDU0ZjI4NDBk
Y2JiMGQ1NDEzMmQ0N2FiZWE2YWNlZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9UZXh0QXV0b3NpemVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4
dEF1dG9zaXplci5jcHAKQEAgLTc5LDYgKzc5LDkgQEAgYm9vbCBUZXh0QXV0b3NpemVyOjpwcm9j
ZXNzU3VidHJlZShSZW5kZXJPYmplY3QqIGxheW91dFJvb3QpCiAKIHZvaWQgVGV4dEF1dG9zaXpl
cjo6cHJvY2Vzc0JveChSZW5kZXJCb3gqIGJveCwgY29uc3QgSW50U2l6ZSYgd2luZG93U2l6ZSwg
Y29uc3QgSW50U2l6ZSYgbGF5b3V0U2l6ZSkKIHsKKyAgICBpZiAoY29udGVudEhlaWdodElzQ29u
c3RyYWluZWQoYm94KSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgaW50IGxvZ2ljYWxXaW5kb3dX
aWR0aCA9IGJveC0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHdpbmRvd1NpemUud2lkdGgo
KSA6IHdpbmRvd1NpemUuaGVpZ2h0KCk7CiAgICAgaW50IGxvZ2ljYWxMYXlvdXRXaWR0aCA9IGJv
eC0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGxheW91dFNpemUud2lkdGgoKSA6IGxheW91
dFNpemUuaGVpZ2h0KCk7CiAgICAgLy8gSWdub3JlIGJveCB3aWR0aCBpbiBleGNlc3Mgb2YgdGhl
IGxheW91dCB3aWR0aCwgdG8gYXZvaWQgZXh0cmVtZSBtdWx0aXBsaWVycy4KQEAgLTEzNSw2ICsx
MzgsMjEgQEAgZmxvYXQgVGV4dEF1dG9zaXplcjo6Y29tcHV0ZUF1dG9zaXplZEZvbnRTaXplKGZs
b2F0IHNwZWNpZmllZFNpemUsIGZsb2F0IG11bHRpcGwKICAgICByZXR1cm4gY29tcHV0ZWRTaXpl
OwogfQogCitib29sIFRleHRBdXRvc2l6ZXI6OmNvbnRlbnRIZWlnaHRJc0NvbnN0cmFpbmVkKGNv
bnN0IFJlbmRlckJveCogYm94KQoreworICAgIC8vIEZJWE1FOiBQcm9wYWdhdGUgY29uc3RyYWlu
ZWRuZXNzIGRvd24gdGhlIHRyZWUsIHRvIGF2b2lkIGluZWZmaWNpZW50bHkgd2Fsa2luZyBiYWNr
IHVwIGZyb20gZWFjaCBib3guCisgICAgLy8gRklYTUU6IFRoaXMgY29kZSBuZWVkcyB0byB0YWtl
IGludG8gYWNjb3VudCB2ZXJ0aWNhbCB3cml0aW5nIG1vZGVzLgorICAgIC8vIEZJWE1FOiBDb25z
aWRlciBhZGRpdGlvbmFsIGhldXJpc3RpY3MsIHN1Y2ggYXMgaWdub3JpbmcgZml4ZWQgaGVpZ2h0
cyBpZiB0aGUgY29udGVudCBpcyBhbHJlYWR5IG92ZXJmbG93aW5nIGJlZm9yZSBhdXRvc2l6aW5n
IGtpY2tzIGluLgorICAgIGZvciAoY29uc3QgUmVuZGVyQm94KiBjb250YWluZXIgPSBib3g7IGNv
bnRhaW5lcjsgY29udGFpbmVyID0gY29udGFpbmVyLT5jb250YWluaW5nQmxvY2soKSkgeworICAg
ICAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSBjb250YWluZXItPnN0eWxlKCk7CisgICAgICAgIGlm
IChzdHlsZS0+b3ZlcmZsb3dZKCkgPj0gT1NDUk9MTCkKKyAgICAgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgaWYgKHN0eWxlLT5oZWlnaHQoKS5pc1NwZWNpZmllZCgpIHx8IHN0eWxlLT5t
YXhIZWlnaHQoKS5pc1NwZWNpZmllZCgpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
fQorICAgIHJldHVybiBmYWxzZTsKK30KKwogYm9vbCBUZXh0QXV0b3NpemVyOjppc05vdEFuQXV0
b3NpemluZ0NvbnRhaW5lcihjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogewogICAgIC8v
ICJBdXRvc2l6aW5nIGNvbnRhaW5lcnMiIGFyZSB0aGUgc21hbGxlc3QgdW5pdCBmb3Igd2hpY2gg
d2UgY2FuIGVuYWJsZS9kaXNhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvVGV4dEF1dG9zaXplci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6
ZXIuaAppbmRleCBhZTlmZDgzNjNlNGMwMDY0MWY0N2ExMTlhOWI4MGU2NmM2YzE3MDMzLi45MjU1
MDI3Y2Y5YjA4OTZjOWYxMjA5MTJlOTQ2OTA1ZGM2ZjczZGUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9UZXh0QXV0b3NpemVyLmgKQEAgLTU5LDYgKzU5LDggQEAgcHJpdmF0ZToKICAgICB2
b2lkIHByb2Nlc3NCb3goUmVuZGVyQm94KiwgY29uc3QgSW50U2l6ZSYgd2luZG93U2l6ZSwgY29u
c3QgSW50U2l6ZSYgbGF5b3V0U2l6ZSk7CiAgICAgdm9pZCBzZXRNdWx0aXBsaWVyKFJlbmRlck9i
amVjdCosIGZsb2F0KTsKIAorICAgIHN0YXRpYyBib29sIGNvbnRlbnRIZWlnaHRJc0NvbnN0cmFp
bmVkKGNvbnN0IFJlbmRlckJveCopOworCiAgICAgc3RhdGljIGJvb2wgaXNOb3RBbkF1dG9zaXpp
bmdDb250YWluZXIoY29uc3QgUmVuZGVyT2JqZWN0Kik7CiAKICAgICB0eXBlZGVmIGJvb2wgKCpS
ZW5kZXJPYmplY3RGaWx0ZXJGdW5jdG9yKShjb25zdCBSZW5kZXJPYmplY3QqKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBh
MjEwZjkxZWI4ZWMyYTg0MzEzZjdhYmIwYjc4OTllODdhNmE4ODE1Li40ZDE2ZmQwODQyNTEwODFi
ZmFjYjE3MTJiZWM3ZmU2OTQ3YTk2MTAyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDkt
MDcgIEpvaG4gTWVsbG9yICA8am9obm1lQGNocm9taXVtLm9yZz4KKworICAgICAgICBUZXh0IEF1
dG9zaXppbmc6IERvbid0IGF1dG9zaXplIHRleHQgaW4gY29uc3RyYWluZWQgaGVpZ2h0IGVsZW1l
bnRzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTYx
NDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRl
ZCB0ZXN0cyB3aXRoIHZhcmlvdXMgbmVzdGluZ3Mgb2YgZml4ZWQvb3ZlcmZsb3cgZWxlbWVudHMu
CisKKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctYW5j
ZXN0b3ItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXpp
bmcvZml4ZWQtYW5kLW92ZXJmbG93LWFuY2VzdG9yLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWhlaWdodC1hbmNlc3Rvci1leHBlY3RlZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1oZWlnaHQtYW5jZXN0
b3IuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4
aGVpZ2h0LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4
dC1hdXRvc2l6aW5nL2ZpeGVkLW1heGhlaWdodC1hbmNlc3Rvci5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC10aGVuLW92ZXJmbG93LWFuY2VzdG9yLWV4
cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVk
LXRoZW4tb3ZlcmZsb3ctYW5jZXN0b3IuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0
LWF1dG9zaXppbmcvb3ZlcmZsb3ctdGhlbi1maXhlZC1hbmNlc3Rvci1leHBlY3RlZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9vdmVyZmxvdy10aGVuLWZpeGVk
LWFuY2VzdG9yLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA5LTA1ICBMYXVybyBOZXRvICA8bGF1cm8u
bmV0b0BvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFtRdF0gcGxhdGZvcm0vcXQvcGx1Z2lucy9x
dC1xd2lkZ2V0LXBsdWdpbi5odG1sIGZhaWxzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctYW5jZXN0b3ItZXhwZWN0ZWQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1h
bmNlc3Rvci1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2ZTY1OWRhNWU4YWY3N2MzYjQ0MGM5
MWM3OTIwMDhjODQ4YWYyYTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbApA
QCAtMCwwICsxLDIyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlIHR5cGU9InRleHQv
Y3NzIj4KK2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKworPC9o
ZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4OyBvdmVyZmxvdy15
OiBhdXRvIj4KKyAgICA8ZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDIuNXJl
bSI+CisgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIg
YWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFi
b3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2Pgor
PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3Zl
cmZsb3ctYW5jZXN0b3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2Zp
eGVkLWFuZC1vdmVyZmxvdy1hbmNlc3Rvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEzY2E0OTBmYmQ1YTU2
Y2JkMzllOWJjMDViYThkZjc4ODk4NGFmYmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctYW5jZXN0b3IuaHRtbApA
QCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlIHR5cGU9InRleHQv
Y3NzIj4KK2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKworPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nRW5hYmxlZCh0cnVl
KTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nV2luZG93
U2l6ZU92ZXJyaWRlKDMyMCwgNDgwKTsKK30gZWxzZSBpZiAod2luZG93LmNvbnNvbGUgJiYgY29u
c29sZS53YXJuKSB7CisgICAgY29uc29sZS53YXJuKCJUaGlzIHRlc3QgZGVwZW5kcyBvbiB0aGUg
VGV4dCBBdXRvc2l6aW5nIHNldHRpbmcgYmVpbmcgdHJ1ZSwgc28gcnVuIGl0IGluIER1bXBSZW5k
ZXJUcmVlLCBvciBtYW51YWxseSBlbmFibGUgVGV4dCBBdXRvc2l6aW5nLCBhbmQgZWl0aGVyIHVz
ZSBhIG1vYmlsZSBkZXZpY2Ugd2l0aCAzMjBweCBkZXZpY2Utd2lkdGggKGxpa2UgTmV4dXMgUyBv
ciBpUGhvbmUpLCBvciBkZWZpbmUgSEFDS19GT1JDRV9URVhUX0FVVE9TSVpJTkdfT05fREVTS1RP
UC4iKTsKK30KKzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHlsZT0ibWF4
LWhlaWdodDogNTAwcHg7IG92ZXJmbG93LXk6IGF1dG8iPgorICAgIDxkaXY+CisgICAgICAgIDxk
aXY+CisgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIg
YWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFi
b3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2Pgor
PC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1oZWlnaHQt
YW5jZXN0b3ItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5n
L2ZpeGVkLWhlaWdodC1hbmNlc3Rvci1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYyNWJhYzNl
ZDFhYmUzYzhkMjM3MzNjYTU0YjFiNDlkZTM5NjEyNzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1oZWlnaHQtYW5jZXN0b3ItZXhwZWN0
ZWQuaHRtbApAQCAtMCwwICsxLDIyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlIHR5
cGU9InRleHQvY3NzIj4KK2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHls
ZT4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9ImhlaWdodDogNTAwcHgiPgorICAg
IDxkaXY+CisgICAgICAgIDxkaXY+CisgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQg
YW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9y
IGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCisgICAgICAgIDwv
ZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy9maXhlZC1oZWlnaHQtYW5jZXN0b3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1h
dXRvc2l6aW5nL2ZpeGVkLWhlaWdodC1hbmNlc3Rvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI3NzM5M2Zi
YjIyZTk0OTY0Y2EyNTEwYTllMzBlMmIyOTMwZmQ3NGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1oZWlnaHQtYW5jZXN0b3IuaHRtbApA
QCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlIHR5cGU9InRleHQv
Y3NzIj4KK2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKworPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nRW5hYmxlZCh0cnVl
KTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nV2luZG93
U2l6ZU92ZXJyaWRlKDMyMCwgNDgwKTsKK30gZWxzZSBpZiAod2luZG93LmNvbnNvbGUgJiYgY29u
c29sZS53YXJuKSB7CisgICAgY29uc29sZS53YXJuKCJUaGlzIHRlc3QgZGVwZW5kcyBvbiB0aGUg
VGV4dCBBdXRvc2l6aW5nIHNldHRpbmcgYmVpbmcgdHJ1ZSwgc28gcnVuIGl0IGluIER1bXBSZW5k
ZXJUcmVlLCBvciBtYW51YWxseSBlbmFibGUgVGV4dCBBdXRvc2l6aW5nLCBhbmQgZWl0aGVyIHVz
ZSBhIG1vYmlsZSBkZXZpY2Ugd2l0aCAzMjBweCBkZXZpY2Utd2lkdGggKGxpa2UgTmV4dXMgUyBv
ciBpUGhvbmUpLCBvciBkZWZpbmUgSEFDS19GT1JDRV9URVhUX0FVVE9TSVpJTkdfT05fREVTS1RP
UC4iKTsKK30KKzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHlsZT0iaGVp
Z2h0OiA1MDBweCI+CisgICAgPGRpdj4KKyAgICAgICAgPGRpdj4KKyAgICAgICAgICAgIExvcmVt
IGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQg
ZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFs
aXF1YS4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLW1heGhlaWdodC1hbmNlc3Rvci1leHBlY3RlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0LWFu
Y2VzdG9yLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGYwYTMzYWYzMDViMzkxOGU2Njg0ODE0
MGE5ZWU0YTg2MmVlYmQxZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC1hdXRvc2l6aW5nL2ZpeGVkLW1heGhlaWdodC1hbmNlc3Rvci1leHBlY3RlZC5odG1sCkBAIC0w
LDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3Mi
PgorYm9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyB9Cis8L3N0eWxlPgorCis8L2hlYWQ+
Cis8Ym9keT4KKworPGRpdiBzdHlsZT0ibWF4LWhlaWdodDogNTAwcHgiPgorICAgIDxkaXY+Cisg
ICAgICAgIDxkaXY+CisgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29u
c2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1
bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuCisgICAgICAgIDwvZGl2PgorICAg
IDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhl
ZC1tYXhoZWlnaHQtYW5jZXN0b3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6
aW5nL2ZpeGVkLW1heGhlaWdodC1hbmNlc3Rvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRmOTliMjY4ZmIw
NDk3MjVhYjM0ZGY3NDQyY2ZjNGRhMmMxYzM4MmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1tYXhoZWlnaHQtYW5jZXN0b3IuaHRtbApA
QCAtMCwwICsxLDMxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlIHR5cGU9InRleHQv
Y3NzIj4KK2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKworPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nRW5hYmxlZCh0cnVl
KTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nV2luZG93
U2l6ZU92ZXJyaWRlKDMyMCwgNDgwKTsKK30gZWxzZSBpZiAod2luZG93LmNvbnNvbGUgJiYgY29u
c29sZS53YXJuKSB7CisgICAgY29uc29sZS53YXJuKCJUaGlzIHRlc3QgZGVwZW5kcyBvbiB0aGUg
VGV4dCBBdXRvc2l6aW5nIHNldHRpbmcgYmVpbmcgdHJ1ZSwgc28gcnVuIGl0IGluIER1bXBSZW5k
ZXJUcmVlLCBvciBtYW51YWxseSBlbmFibGUgVGV4dCBBdXRvc2l6aW5nLCBhbmQgZWl0aGVyIHVz
ZSBhIG1vYmlsZSBkZXZpY2Ugd2l0aCAzMjBweCBkZXZpY2Utd2lkdGggKGxpa2UgTmV4dXMgUyBv
ciBpUGhvbmUpLCBvciBkZWZpbmUgSEFDS19GT1JDRV9URVhUX0FVVE9TSVpJTkdfT05fREVTS1RP
UC4iKTsKK30KKzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHlsZT0ibWF4
LWhlaWdodDogNTAwcHgiPgorICAgIDxkaXY+CisgICAgICAgIDxkaXY+CisgICAgICAgICAgICBM
b3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwg
c2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWdu
YSBhbGlxdWEuCisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4K
KzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC10aGVuLW92ZXJmbG93LWFuY2VzdG9yLWV4
cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC10aGVu
LW92ZXJmbG93LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDQwY2M2OTVjYjMz
NDQ1N2Q5NDBkN2EyNjI2NGJjNzJjOTkxMjdkNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXRoZW4tb3ZlcmZsb3ctYW5jZXN0b3ItZXhw
ZWN0ZWQuaHRtbApAQCAtMCwwICsxLDIyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxl
IHR5cGU9InRleHQvY3NzIj4KK2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9z
dHlsZT4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4
Ij4KKyAgICA8ZGl2IHN0eWxlPSJvdmVyZmxvdy15OiBhdXRvIj4KKyAgICAgICAgPGRpdiBzdHls
ZT0iZm9udC1zaXplOiAyLjVyZW0iPgorICAgICAgICAgICAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0
IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBv
ciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLgorICAgICAgICA8
L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9z
aXppbmcvZml4ZWQtdGhlbi1vdmVyZmxvdy1hbmNlc3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtdGhlbi1vdmVyZmxvdy1hbmNlc3Rvci5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmQxMWFiNTIyMzY4ZDgzZjhiNDc2MjEzNjMzYzliNDViYzVkNTlkOWEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC10aGVuLW92
ZXJmbG93LWFuY2VzdG9yLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAw
Ij4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46
IDA7IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3
aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0
QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5z
ZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYg
KHdpbmRvdy5jb25zb2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhp
cyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUs
IHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0
b3NpemluZywgYW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNl
LXdpZHRoIChsaWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVY
VF9BVVRPU0laSU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJv
ZHk+CisKKzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4Ij4KKyAgICA8ZGl2IHN0eWxlPSJv
dmVyZmxvdy15OiBhdXRvIj4KKyAgICAgICAgPGRpdj4KKyAgICAgICAgICAgIExvcmVtIGlwc3Vt
IGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1
c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4K
KyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC1hdXRvc2l6aW5nL292ZXJmbG93LXRoZW4tZml4ZWQtYW5jZXN0b3ItZXhwZWN0ZWQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL292ZXJmbG93LXRoZW4tZml4ZWQt
YW5jZXN0b3ItZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYThmMzI1NjExMWUxYWMxMWJlZWRi
OTMzZDMyZjVjNzg0MGNjMDUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0LWF1dG9zaXppbmcvb3ZlcmZsb3ctdGhlbi1maXhlZC1hbmNlc3Rvci1leHBlY3RlZC5odG1s
CkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1l
dGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlwZT0idGV4
dC9jc3MiPgorYm9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyB9Cis8L3N0eWxlPgorCis8
L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHlsZT0ib3ZlcmZsb3cteTogYXV0byI+CisgICAgPGRp
diBzdHlsZT0ibWF4LWhlaWdodDogNTAwcHgiPgorICAgICAgICA8ZGl2PgorICAgICAgICAgICAg
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQs
IHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFn
bmEgYWxpcXVhLgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvb3ZlcmZsb3ctdGhlbi1maXhlZC1hbmNlc3Rvci5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvb3ZlcmZsb3ctdGhlbi1maXhl
ZC1hbmNlc3Rvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhYzNmNmMyMzNjYmZkOWI0MDIwODZkOTYwODQ0
M2UyYTc1ZmRkNGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0
b3NpemluZy9vdmVyZmxvdy10aGVuLWZpeGVkLWFuY2VzdG9yLmh0bWwKQEAgLTAsMCArMSwzMSBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Citib2R5IHsg
d2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgz
MjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNvbnNvbGUud2Fybikgewor
ICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQgQXV0b3Npemlu
ZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFu
dWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2
aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3Ig
ZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3Nj
cmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im92ZXJmbG93LXk6IGF1dG8i
PgorICAgIDxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4Ij4KKyAgICAgICAgPGRpdj4KKyAg
ICAgICAgICAgIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNp
Y2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQg
ZG9sb3JlIG1hZ25hIGFsaXF1YS4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4K
KworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163248</attachid>
            <date>2012-09-10 16:58:42 -0700</date>
            <delta_ts>2012-09-10 17:06:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96143-20120910165818.patch</filename>
            <type>text/plain</type>
            <size>32400</size>
            <attacher name="John Mellor">johnme</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3Njk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWY2NGExNWYwODM4NWFk
YjM5OGE5OGZmMDBjNTJjYTFjZmZkN2EzNS4uMzZiNmQ0ODA5MjE1NTgzNWRkNzNjOWM5MGQ5Y2Jk
ZTZmYzBkZTZkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTA5LTA3ICBKb2hu
IE1lbGxvciAgPGpvaG5tZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dCBBdXRvc2l6aW5n
OiBEb24ndCBhdXRvc2l6ZSB0ZXh0IGluIGNvbnN0cmFpbmVkIGhlaWdodCBlbGVtZW50cy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2MTQzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXV0b3NpemluZyB0
ZXh0IHdpdGhpbiBjb25zdGFpbmVkIGhlaWdodCBlbGVtZW50cyB1c3VhbGx5IGdvZXMgYmFkbHks
CisgICAgICAgIGFzIHRoZSBhdXRvc2l6ZWQgdGV4dCB3aWxsIHdyYXAgb250byBtb3JlIGxpbmVz
LCBoZW5jZSBpdCB3aWxsIGJlY29tZQorICAgICAgICB0YWxsZXIgYW5kIG9mdGVuIG92ZXJmbG93
IGl0cyBjb250YWluZXIsIGJyZWFraW5nIHRoZSBwYWdlJ3MgbGF5b3V0LgorCisgICAgICAgIFRo
aXMgcGF0Y2ggZGlzYWJsZXMgYXV0b3NpemluZyBmb3IgYmxvY2tzIHdpdGggYSBmaXhlZCBoZWln
aHQgYW5jZXN0b3IKKyAgICAgICAgKG9yIHdoaWNoIGFyZSBmaXhlZCBoZWlnaHQgdGhlbXNlbHZl
cyksIHVubGVzcyB0aGUgbG93ZXN0IHN1Y2ggYW5jZXN0b3IKKyAgICAgICAgKG9yIG9uZSBvZiB0
aGUgYW5jZXN0b3JzIGluIGJldHdlZW4gaXQgYW5kIHRoZSB0ZXh0IGJsb2NrKSBoYXMKKyAgICAg
ICAgb3ZlcmZsb3cteTphdXRvL3Njcm9sbCwgaW4gd2hpY2ggY2FzZSB0aGUgaGVpZ2h0IGlzbid0
IHJlYWxseSBmaXhlZC4KKworICAgICAgICBUZXN0czogZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4
ZWQtYW5kLW92ZXJmbG93LWF1dG8tYW5jZXN0b3IuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90
ZXh0LWF1dG9zaXppbmcvZml4ZWQtYW5kLW92ZXJmbG93LWhpZGRlbi1hbmNlc3Rvci5odG1sCisg
ICAgICAgICAgICAgICBmYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctcGFn
ZWQteC1hbmNlc3Rvci5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQtYXV0b3NpemluZy9m
aXhlZC1hbmQtb3ZlcmZsb3ctc2Nyb2xsLWFuY2VzdG9yLmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWhlaWdodC1hbmNlc3Rvci5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1tYXhoZWlnaHQtYW5jZXN0b3IuaHRtbAor
ICAgICAgICAgICAgICAgZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0Lmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXBlcmNlbnQtbWF4aGVp
Z2h0Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXBlcmNl
bnQtb2Ytdmlld3BvcnQtbWF4aGVpZ2h0Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1h
dXRvc2l6aW5nL2ZpeGVkLXRoZW4tb3ZlcmZsb3ctYW5jZXN0b3JzLmh0bWwKKyAgICAgICAgICAg
ICAgIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXdpdGhpbi1vdmVyZmxvdy1hbmNlc3Rvci5o
dG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvVGV4dEF1dG9zaXplci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpUZXh0QXV0b3NpemVyOjpwcm9jZXNzQm94KToKKworICAgICAgICAgICAgU2tpcHMg
Ym94ZXMgZm9yIHdoaWNoIGNvbnRlbnRIZWlnaHRJc0NvbnN0cmFpbmVkIHJldHVybnMgdHJ1ZS4K
KworICAgICAgICAoV2ViQ29yZTo6VGV4dEF1dG9zaXplcjo6Y29udGVudEhlaWdodElzQ29uc3Ry
YWluZWQpOgorCisgICAgICAgICAgICBXYWxrcyB1cCB0aGUgcmVuZGVyIHRyZWUgdW50aWwgaXQg
ZmluZHMgZWl0aGVyIGEgY29uc3RyYWluZWQgaGVpZ2h0CisgICAgICAgICAgICBvciBvdmVyZmxv
dy15OmF1dG8vc2Nyb2xsIGFuY2VzdG9yLgorCiAyMDEyLTA5LTA1ICBUaW0gSG9ydG9uICA8dGlt
b3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQ7IHJldmVydCBhIGNo
YW5nZSB0byBTY3JvbGxpbmdUcmVlTm9kZU1hYyB3aGljaCBhY2NpZGVudGFsbHkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcAppbmRleCA0Y2Q3MzVhMWNkM2VjMDg0
NGUxMWY1ZDcxZTBiM2NmYWFiNDdjZjUxLi41OThiYmQ3ZGY4MDI2ODc5ZjE1ODkxODlmMzEzN2E2
ZGIwMGQ3OGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9z
aXplci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3Bw
CkBAIC03Nyw4ICs3NywyNiBAQCBib29sIFRleHRBdXRvc2l6ZXI6OnByb2Nlc3NTdWJ0cmVlKFJl
bmRlck9iamVjdCogbGF5b3V0Um9vdCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorc3RhdGljIGJv
b2wgY29udGVudEhlaWdodElzQ29uc3RyYWluZWQoY29uc3QgUmVuZGVyQm94KiBib3gpCit7Cisg
ICAgLy8gRklYTUU6IFByb3BhZ2F0ZSBjb25zdHJhaW5lZG5lc3MgZG93biB0aGUgdHJlZSwgdG8g
YXZvaWQgaW5lZmZpY2llbnRseSB3YWxraW5nIGJhY2sgdXAgZnJvbSBlYWNoIGJveC4KKyAgICAv
LyBGSVhNRTogVGhpcyBjb2RlIG5lZWRzIHRvIHRha2UgaW50byBhY2NvdW50IHZlcnRpY2FsIHdy
aXRpbmcgbW9kZXMuCisgICAgLy8gRklYTUU6IENvbnNpZGVyIGFkZGl0aW9uYWwgaGV1cmlzdGlj
cywgc3VjaCBhcyBpZ25vcmluZyBmaXhlZCBoZWlnaHRzIGlmIHRoZSBjb250ZW50IGlzIGFscmVh
ZHkgb3ZlcmZsb3dpbmcgYmVmb3JlIGF1dG9zaXppbmcga2lja3MgaW4uCisgICAgZm9yIChjb25z
dCBSZW5kZXJCb3gqIGNvbnRhaW5lciA9IGJveDsgY29udGFpbmVyOyBjb250YWluZXIgPSBjb250
YWluZXItPmNvbnRhaW5pbmdCbG9jaygpKSB7CisgICAgICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9
IGNvbnRhaW5lci0+c3R5bGUoKTsKKyAgICAgICAgaWYgKHN0eWxlLT5vdmVyZmxvd1koKSA+PSBP
U0NST0xMKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoc3R5bGUtPmhl
aWdodCgpLmlzU3BlY2lmaWVkKCkgfHwgc3R5bGUtPm1heEhlaWdodCgpLmlzU3BlY2lmaWVkKCkp
CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQor
CiB2b2lkIFRleHRBdXRvc2l6ZXI6OnByb2Nlc3NCb3goUmVuZGVyQm94KiBib3gsIGNvbnN0IElu
dFNpemUmIHdpbmRvd1NpemUsIGNvbnN0IEludFNpemUmIGxheW91dFNpemUpCiB7CisgICAgaWYg
KGNvbnRlbnRIZWlnaHRJc0NvbnN0cmFpbmVkKGJveCkpCisgICAgICAgIHJldHVybjsKKwogICAg
IGludCBsb2dpY2FsV2luZG93V2lkdGggPSBib3gtPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkg
PyB3aW5kb3dTaXplLndpZHRoKCkgOiB3aW5kb3dTaXplLmhlaWdodCgpOwogICAgIGludCBsb2dp
Y2FsTGF5b3V0V2lkdGggPSBib3gtPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBsYXlvdXRT
aXplLndpZHRoKCkgOiBsYXlvdXRTaXplLmhlaWdodCgpOwogICAgIC8vIElnbm9yZSBib3ggd2lk
dGggaW4gZXhjZXNzIG9mIHRoZSBsYXlvdXQgd2lkdGgsIHRvIGF2b2lkIGV4dHJlbWUgbXVsdGlw
bGllcnMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggYTIxMGY5MWViOGVjMmE4NDMxM2Y3YWJiMGI3ODk5ZTg3YTZhODgxNS4u
M2Y0MGQ5MWIyZjQ3OWI1ZGQxZDgxZTI4NmZmOGMzNDk3MzUzMjQ1NCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDM2IEBACisyMDEyLTA5LTA3ICBKb2huIE1lbGxvciAgPGpvaG5tZUBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgVGV4dCBBdXRvc2l6aW5nOiBEb24ndCBhdXRvc2l6ZSB0ZXh0IGluIGNvbnN0cmFp
bmVkIGhlaWdodCBlbGVtZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk2MTQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkZWQgdGVzdHMgd2l0aCB2YXJpb3VzIG5lc3RpbmdzIG9mIGZpeGVkL292
ZXJmbG93IGVsZW1lbnRzLCBvZiB2YXJpb3VzCisgICAgICAgIGRpZmZlcmVudCBraW5kcy4KKwor
ICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1hdXRvLWFu
Y2VzdG9yLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6
aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1hdXRvLWFuY2VzdG9yLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1oaWRkZW4tYW5jZXN0
b3ItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcv
Zml4ZWQtYW5kLW92ZXJmbG93LWhpZGRlbi1hbmNlc3Rvci5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctcGFnZWQteC1hbmNlc3Rv
ci1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9m
aXhlZC1hbmQtb3ZlcmZsb3ctcGFnZWQteC1hbmNlc3Rvci5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctc2Nyb2xsLWFuY2VzdG9y
LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2Zp
eGVkLWFuZC1vdmVyZmxvdy1zY3JvbGwtYW5jZXN0b3IuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtaGVpZ2h0LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWhlaWdodC1hbmNl
c3Rvci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1t
YXhoZWlnaHQtYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90
ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0LWFuY2VzdG9yLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLW1heGhlaWdodC1leHBlY3RlZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1tYXhoZWlnaHQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtcGVyY2Vu
dC1tYXhoZWlnaHQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1
dG9zaXppbmcvZml4ZWQtcGVyY2VudC1tYXhoZWlnaHQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtcGVyY2VudC1vZi12aWV3cG9ydC1tYXhoZWlnaHQt
ZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4
ZWQtcGVyY2VudC1vZi12aWV3cG9ydC1tYXhoZWlnaHQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtdGhlbi1vdmVyZmxvdy1hbmNlc3RvcnMtZXhwZWN0
ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtdGhl
bi1vdmVyZmxvdy1hbmNlc3RvcnMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1
dG9zaXppbmcvZml4ZWQtd2l0aGluLW92ZXJmbG93LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXdpdGhpbi1vdmVyZmxv
dy1hbmNlc3Rvci5odG1sOiBBZGRlZC4KKwogMjAxMi0wOS0wNSAgTGF1cm8gTmV0byAgPGxhdXJv
Lm5ldG9Ab3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBbUXRdIHBsYXRmb3JtL3F0L3BsdWdpbnMv
cXQtcXdpZGdldC1wbHVnaW4uaHRtbCBmYWlscwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtYW5kLW92ZXJmbG93LWF1dG8tYW5jZXN0b3ItZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVy
Zmxvdy1hdXRvLWFuY2VzdG9yLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMThhNDkxOGZmMzI3
NTM3MzNjMDIwMTgyNzYxZWU2OTY4NTJiZDc2NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1hdXRvLWFuY2VzdG9y
LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxz
dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sIHsgZm9udC1zaXplOiAxNnB4O30KK2JvZHkgeyB3
aWR0aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKworPC9oZWFkPgorPGJvZHk+CisK
KzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4OyBvdmVyZmxvdy15OiBhdXRvIj4KKyAgICA8
ZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDIuNXJlbSI+CisgICAgICAgICAg
ICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQtc2l6
ZSwgc2luY2UgdGhlIGdyYW5kcGFyZW50J3Mgb3ZlcmZsb3cteTphdXRvIG1lYW5zIHRoZSBhdmFp
bGFibGUgaGVpZ2h0IGlzIHVuY29uc3RyYWluZWQgKGRlc3BpdGUgdGhlIGdyYW5kcGFyZW50IGFs
c28gaGF2aW5nIGEgbWF4LWhlaWdodCkuCisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorPC9k
aXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZs
b3ctYXV0by1hbmNlc3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcv
Zml4ZWQtYW5kLW92ZXJmbG93LWF1dG8tYW5jZXN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NTQ3NmQ5
MDBlNDY4OTA0MDY2OWVjNmZjM2I4MTkxNDA2YWY0OWQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtYW5kLW92ZXJmbG93LWF1dG8tYW5j
ZXN0b3IuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxl
IHR5cGU9InRleHQvY3NzIj4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7fQorYm9keSB7IHdpZHRo
OiA4MDBweDsgbWFyZ2luOiAwOyB9Cis8L3N0eWxlPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRl
cm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0
ODApOworfSBlbHNlIGlmICh3aW5kb3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBj
b25zb2xlLndhcm4oIlRoaXMgdGVzdCBkZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0
dGluZyBiZWluZyB0cnVlLCBzbyBydW4gaXQgaW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5
IGVuYWJsZSBUZXh0IEF1dG9zaXppbmcsIGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3
aXRoIDMyMHB4IGRldmljZS13aWR0aCAobGlrZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmlu
ZSBIQUNLX0ZPUkNFX1RFWFRfQVVUT1NJWklOR19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+
CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBweDsgb3Zl
cmZsb3cteTogYXV0byI+CisgICAgPGRpdj4KKyAgICAgICAgPGRpdj4KKyAgICAgICAgICAgIFRo
aXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udC1zaXplLCBz
aW5jZSB0aGUgZ3JhbmRwYXJlbnQncyBvdmVyZmxvdy15OmF1dG8gbWVhbnMgdGhlIGF2YWlsYWJs
ZSBoZWlnaHQgaXMgdW5jb25zdHJhaW5lZCAoZGVzcGl0ZSB0aGUgZ3JhbmRwYXJlbnQgYWxzbyBo
YXZpbmcgYSBtYXgtaGVpZ2h0KS4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4K
KworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1o
aWRkZW4tYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRv
c2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1oaWRkZW4tYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44YzQ0ODk0MTE2MWMwN2NhZDRjNzBhOWNiMTMyZTk5MGQ5MDkzMzBkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtYW5k
LW92ZXJmbG93LWhpZGRlbi1hbmNlc3Rvci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjIgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorYm9keSB7IHdp
ZHRoOiA4MDBweDsgbWFyZ2luOiAwOyB9Cis8L3N0eWxlPgorCis8L2hlYWQ+Cis8Ym9keT4KKwor
PGRpdiBzdHlsZT0ibWF4LWhlaWdodDogNTAwcHg7IG92ZXJmbG93LXk6IGhpZGRlbiI+CisgICAg
PGRpdj4KKyAgICAgICAgPGRpdj4KKyAgICAgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgbm90
IGF1dG9zaXplZCwgYXMgYXV0b3NpemluZyB1c3VhbGx5IGNhdXNlcyB0ZXh0IHRvIHdyYXAgb250
byBtb3JlIGxpbmVzLCB3aGljaCBtaWdodCBjYXVzZSBpdCB0byBvdmVyZmxvdyB0aGUgZ3JhbmRw
YXJlbnQncyBtYXgtaGVpZ2h0ICh0aGUgZ3JhbmRwYXJlbnQncyBvdmVyZmxvdy15OmhpZGRlbiBk
b2Vzbid0IHByZXZlbnQgdGhpcywgYXMgaGlkZGVuIGRvZXNuJ3QgZXh0ZW5kIHRoZSBhdmFpbGFi
bGUgY29udGVudCBoZWlnaHQpLgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2Pgor
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtYW5kLW92ZXJmbG93LWhp
ZGRlbi1hbmNlc3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4
ZWQtYW5kLW92ZXJmbG93LWhpZGRlbi1hbmNlc3Rvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5ZTI0NDg2
ZjM4NzBjMjY5NjViNDJhYTJjM2FlZGZhZmI1NjI5MzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctaGlkZGVuLWFu
Y2VzdG9yLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHls
ZSB0eXBlPSJ0ZXh0L2NzcyI+Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwv
c3R5bGU+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50
ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3Npemlu
Z0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0
b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5j
b25zb2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRl
cGVuZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBp
dCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywg
YW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChs
aWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0la
SU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxk
aXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4OyBvdmVyZmxvdy15OiBoaWRkZW4iPgorICAgIDxk
aXY+CisgICAgICAgIDxkaXY+CisgICAgICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJlIG5vdCBh
dXRvc2l6ZWQsIGFzIGF1dG9zaXppbmcgdXN1YWxseSBjYXVzZXMgdGV4dCB0byB3cmFwIG9udG8g
bW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8gb3ZlcmZsb3cgdGhlIGdyYW5kcGFy
ZW50J3MgbWF4LWhlaWdodCAodGhlIGdyYW5kcGFyZW50J3Mgb3ZlcmZsb3cteTpoaWRkZW4gZG9l
c24ndCBwcmV2ZW50IHRoaXMsIGFzIGhpZGRlbiBkb2Vzbid0IGV4dGVuZCB0aGUgYXZhaWxhYmxl
IGNvbnRlbnQgaGVpZ2h0KS4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKwor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1wYWdl
ZC14LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy9maXhlZC1hbmQtb3ZlcmZsb3ctcGFnZWQteC1hbmNlc3Rvci1leHBlY3RlZC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmJiNTM2ODdkYzkwODczMTgwZjRhMTU5NzVmOTRiZDk1ZGE0ZDg5MGQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQt
b3ZlcmZsb3ctcGFnZWQteC1hbmNlc3Rvci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjMgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoraHRtbCB7IGZv
bnQtc2l6ZTogMTZweDt9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5
bGU+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBweDsg
b3ZlcmZsb3cteTogLXdlYmtpdC1wYWdlZC14Ij4KKyAgICA8ZGl2PgorICAgICAgICA8ZGl2IHN0
eWxlPSJmb250LXNpemU6IDIuNXJlbSI+CisgICAgICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJl
IGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQtc2l6ZSwgc2luY2UgdGhlIGdyYW5kcGFy
ZW50J3Mgb3ZlcmZsb3cteTotd2Via2l0LXBhZ2VkLXggbWVhbnMgdGhlIGF2YWlsYWJsZSBoZWln
aHQgaXMgdW5jb25zdHJhaW5lZCAoZGVzcGl0ZSB0aGUgZ3JhbmRwYXJlbnQgYWxzbyBoYXZpbmcg
YSBtYXgtaGVpZ2h0KS4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1wYWdlZC14
LWFuY2VzdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1h
bmQtb3ZlcmZsb3ctcGFnZWQteC1hbmNlc3Rvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxYzUzOTlmYjc5
OTIyZmM2OGFmNjliZWNmYTNiNzY2ZDRjMGUyMTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctcGFnZWQteC1hbmNl
c3Rvci5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUg
dHlwZT0idGV4dC9jc3MiPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDt9Citib2R5IHsgd2lkdGg6
IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4
MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNv
bnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0
aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkg
ZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdp
dGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5l
IEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4K
KworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4OyBvdmVy
Zmxvdy15OiAtd2Via2l0LXBhZ2VkLXgiPgorICAgIDxkaXY+CisgICAgICAgIDxkaXY+CisgICAg
ICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZv
bnQtc2l6ZSwgc2luY2UgdGhlIGdyYW5kcGFyZW50J3Mgb3ZlcmZsb3cteTotd2Via2l0LXBhZ2Vk
LXggbWVhbnMgdGhlIGF2YWlsYWJsZSBoZWlnaHQgaXMgdW5jb25zdHJhaW5lZCAoZGVzcGl0ZSB0
aGUgZ3JhbmRwYXJlbnQgYWxzbyBoYXZpbmcgYSBtYXgtaGVpZ2h0KS4KKyAgICAgICAgPC9kaXY+
CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5n
L2ZpeGVkLWFuZC1vdmVyZmxvdy1zY3JvbGwtYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1zY3JvbGwtYW5j
ZXN0b3ItZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjExZjNjYTZjN2RjMmYwY2ZlNDgzNDgx
MDM3ZmM4Y2IwYTAwNjIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
LWF1dG9zaXppbmcvZml4ZWQtYW5kLW92ZXJmbG93LXNjcm9sbC1hbmNlc3Rvci1leHBlY3RlZC5o
dG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKwor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlwZT0i
dGV4dC9jc3MiPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDt9Citib2R5IHsgd2lkdGg6IDgwMHB4
OyBtYXJnaW46IDA7IH0KKzo6LXdlYmtpdC1zY3JvbGxiYXIgeworICAgIC8qIEtlZXBzIHRoZSB0
ZXh0IHNpemUgbXVsdGlwbGllciBhIHJvdW5kIG51bWJlci4gKi8KKyAgICB3aWR0aDogMHB4Owor
fQorPC9zdHlsZT4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6
IDUwMHB4OyBvdmVyZmxvdy15OiBzY3JvbGwiPgorICAgIDxkaXY+CisgICAgICAgIDxkaXYgc3R5
bGU9ImZvbnQtc2l6ZTogMi41cmVtIj4KKyAgICAgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUg
YXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udC1zaXplLCBzaW5jZSB0aGUgZ3JhbmRwYXJl
bnQncyBvdmVyZmxvdy15OnNjcm9sbCBtZWFucyB0aGUgYXZhaWxhYmxlIGhlaWdodCBpcyB1bmNv
bnN0cmFpbmVkIChkZXNwaXRlIHRoZSBncmFuZHBhcmVudCBhbHNvIGhhdmluZyBhIG1heC1oZWln
aHQpLgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtYW5kLW92ZXJmbG93LXNjcm9sbC1hbmNlc3Rvci5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtYW5kLW92ZXJmbG93
LXNjcm9sbC1hbmNlc3Rvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMzYTkzNWM2Yjg0MmQ1MjRkMzYxYzBj
MzMzNmMxMTIyZjI3Y2FlNTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctc2Nyb2xsLWFuY2VzdG9yLmh0bWwKQEAg
LTAsMCArMSwzNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2Nz
cyI+CitodG1sIHsgZm9udC1zaXplOiAxNnB4O30KK2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdp
bjogMDsgfQorOjotd2Via2l0LXNjcm9sbGJhciB7CisgICAgLyogS2VlcHMgdGhlIHRleHQgc2l6
ZSBtdWx0aXBsaWVyIGEgcm91bmQgbnVtYmVyLiAqLworICAgIHdpZHRoOiAwcHg7Cit9Cis8L3N0
eWxlPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitpZiAod2luZG93LmludGVy
bmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdF
bmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9z
aXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApOworfSBlbHNlIGlmICh3aW5kb3cuY29u
c29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBjb25zb2xlLndhcm4oIlRoaXMgdGVzdCBkZXBl
bmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0dGluZyBiZWluZyB0cnVlLCBzbyBydW4gaXQg
aW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9zaXppbmcsIGFu
ZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3aXRoIDMyMHB4IGRldmljZS13aWR0aCAobGlr
ZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVUT1NJWklO
R19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2
IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBweDsgb3ZlcmZsb3cteTogc2Nyb2xsIj4KKyAgICA8ZGl2
PgorICAgICAgICA8ZGl2PgorICAgICAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6
ZWQgdG8gNDBweCBjb21wdXRlZCBmb250LXNpemUsIHNpbmNlIHRoZSBncmFuZHBhcmVudCdzIG92
ZXJmbG93LXk6c2Nyb2xsIG1lYW5zIHRoZSBhdmFpbGFibGUgaGVpZ2h0IGlzIHVuY29uc3RyYWlu
ZWQgKGRlc3BpdGUgdGhlIGdyYW5kcGFyZW50IGFsc28gaGF2aW5nIGEgbWF4LWhlaWdodCkuCisg
ICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQtYXV0b3NpemluZy9maXhlZC1oZWlnaHQtYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWhlaWdodC1hbmNlc3Rvci1leHBlY3Rl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjJjZDg2ZmQzODE4ZGI1NDM2ZGNiYmMyOWNiZGVlOGYwMWUyMTdh
MGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9m
aXhlZC1oZWlnaHQtYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDIyIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2JvZHkgeyB3aWR0aDog
ODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYg
c3R5bGU9ImhlaWdodDogNTAwcHgiPgorICAgIDxkaXY+CisgICAgICAgIDxkaXY+CisgICAgICAg
ICAgICBUaGlzIHRleHQgc2hvdWxkIGJlIG5vdCBhdXRvc2l6ZWQsIGFzIGF1dG9zaXppbmcgdXN1
YWxseSBjYXVzZXMgdGV4dCB0byB3cmFwIG9udG8gbW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1
c2UgaXQgdG8gb3ZlcmZsb3cgdGhlIGdyYW5kcGFyZW50J3MgaGVpZ2h0LgorICAgICAgICA8L2Rp
dj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXpp
bmcvZml4ZWQtaGVpZ2h0LWFuY2VzdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0
b3NpemluZy9maXhlZC1oZWlnaHQtYW5jZXN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZWM2ZWJkZmMz
ZGJkMzE5NmI0YWU0MDAyZDM3N2M1ZjE4NmUwYmIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtaGVpZ2h0LWFuY2VzdG9yLmh0bWwKQEAg
LTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2Nz
cyI+Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7
CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRvd1Np
emVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNvbnNv
bGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRl
eHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVy
VHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1c2Ug
YSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMgb3Ig
aVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1Au
Iik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9ImhlaWdo
dDogNTAwcHgiPgorICAgIDxkaXY+CisgICAgICAgIDxkaXY+CisgICAgICAgICAgICBUaGlzIHRl
eHQgc2hvdWxkIGJlIG5vdCBhdXRvc2l6ZWQsIGFzIGF1dG9zaXppbmcgdXN1YWxseSBjYXVzZXMg
dGV4dCB0byB3cmFwIG9udG8gbW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8gb3Zl
cmZsb3cgdGhlIGdyYW5kcGFyZW50J3MgaGVpZ2h0LgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rp
dj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4
aGVpZ2h0LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0
b3NpemluZy9maXhlZC1tYXhoZWlnaHQtYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yNDliMWJmNjExOGJiZTk5OGQyYzMwMzViZWZhMjVhN2FmOGYxZmI2Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0LWFu
Y2VzdG9yLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAw
Ij4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46
IDA7IH0KKzwvc3R5bGU+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJtYXgtaGVp
Z2h0OiA1MDBweCI+CisgICAgPGRpdj4KKyAgICAgICAgPGRpdj4KKyAgICAgICAgICAgIFRoaXMg
dGV4dCBzaG91bGQgYmUgbm90IGF1dG9zaXplZCwgYXMgYXV0b3NpemluZyB1c3VhbGx5IGNhdXNl
cyB0ZXh0IHRvIHdyYXAgb250byBtb3JlIGxpbmVzLCB3aGljaCBtaWdodCBjYXVzZSBpdCB0byBv
dmVyZmxvdyB0aGUgZ3JhbmRwYXJlbnQncyBtYXgtaGVpZ2h0LgorICAgICAgICA8L2Rpdj4KKyAg
ICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4
ZWQtbWF4aGVpZ2h0LWFuY2VzdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy9maXhlZC1tYXhoZWlnaHQtYW5jZXN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZWI4Nzk5Zjg1
YTU0NDA0OGZjMmJlN2QwODM1NGJhMTI2MWQ0YzFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0LWFuY2VzdG9yLmh0bWwK
QEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0
L2NzcyI+Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1
ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRv
d1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNv
bnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhl
IFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVu
ZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1
c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMg
b3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tU
T1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im1h
eC1oZWlnaHQ6IDUwMHB4Ij4KKyAgICA8ZGl2PgorICAgICAgICA8ZGl2PgorICAgICAgICAgICAg
VGhpcyB0ZXh0IHNob3VsZCBiZSBub3QgYXV0b3NpemVkLCBhcyBhdXRvc2l6aW5nIHVzdWFsbHkg
Y2F1c2VzIHRleHQgdG8gd3JhcCBvbnRvIG1vcmUgbGluZXMsIHdoaWNoIG1pZ2h0IGNhdXNlIGl0
IHRvIG92ZXJmbG93IHRoZSBncmFuZHBhcmVudCdzIG1heC1oZWlnaHQuCisgICAgICAgIDwvZGl2
PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Npemlu
Zy9maXhlZC1tYXhoZWlnaHQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1h
dXRvc2l6aW5nL2ZpeGVkLW1heGhlaWdodC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmN2Nm
MTE2YmI5YTJlOWIyZGEyNGMzY2FmNjViZWVmMzA4YWMyMDEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1tYXhoZWlnaHQtZXhwZWN0ZWQu
aHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisK
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlIHR5cGU9
InRleHQvY3NzIj4KK2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4K
KworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4Ij4KKyAg
ICBUaGlzIHRleHQgc2hvdWxkIGJlIG5vdCBhdXRvc2l6ZWQsIGFzIGF1dG9zaXppbmcgdXN1YWxs
eSBjYXVzZXMgdGV4dCB0byB3cmFwIG9udG8gbW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1c2Ug
aXQgdG8gb3ZlcmZsb3cgdGhlIGJsb2NrJ3MgbWF4LWhlaWdodC4KKzwvZGl2PgorCis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1tYXhoZWlnaHQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hMzM2ZjdkNWNhNTBjNjU3MDhkNTIyZGM4ODgzYzRiODJmZTE4ZDJmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0Lmh0
bWwKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0
ZXh0L2NzcyI+Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisK
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7
CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQo
dHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dp
bmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYm
IGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24g
dGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1w
UmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhl
ciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVz
IFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RF
U0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9
Im1heC1oZWlnaHQ6IDUwMHB4Ij4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIG5vdCBhdXRvc2l6
ZWQsIGFzIGF1dG9zaXppbmcgdXN1YWxseSBjYXVzZXMgdGV4dCB0byB3cmFwIG9udG8gbW9yZSBs
aW5lcywgd2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8gb3ZlcmZsb3cgdGhlIGJsb2NrJ3MgbWF4LWhl
aWdodC4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQt
cGVyY2VudC1tYXhoZWlnaHQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1h
dXRvc2l6aW5nL2ZpeGVkLXBlcmNlbnQtbWF4aGVpZ2h0LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZmIwNDVlMDMyYzY1NTM0ZWFhODgyMDBmNjg5N2I2YzE3MGVhN2E2ZAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXBlcmNlbnQtbWF4
aGVpZ2h0LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAw
Ij4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sLCBib2R5IHsgaGVpZ2h0OiAxMDAlOyB9
Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzwvaGVhZD4K
Kzxib2R5PgorCis8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiAxMDAlIj4KKyAgICBUaGlzIHRleHQg
c2hvdWxkIGJlIG5vdCBhdXRvc2l6ZWQsIGFzIGF1dG9zaXppbmcgdXN1YWxseSBjYXVzZXMgdGV4
dCB0byB3cmFwIG9udG8gbW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8gb3ZlcmZs
b3cgdGhlIGJsb2NrJ3MgbWF4LWhlaWdodCAocHJvdmlkZWQgYXMgYSBwZXJjZW50YWdlKS4KKzwv
ZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtcGVyY2VudC1t
YXhoZWlnaHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXBl
cmNlbnQtbWF4aGVpZ2h0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I5MzQ5MDJiMTMxNTIwNDBkYzRmOTVl
ODhhZGFjMDFlZDExODJjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC1hdXRvc2l6aW5nL2ZpeGVkLXBlcmNlbnQtbWF4aGVpZ2h0Lmh0bWwKQEAgLTAsMCArMSwyOCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sLCBi
b2R5IHsgaGVpZ2h0OiAxMDAlOyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0K
Kzwvc3R5bGU+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cu
aW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3Np
emluZ0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0
QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRv
dy5jb25zb2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0
IGRlcGVuZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1
biBpdCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3Npemlu
ZywgYW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRo
IChsaWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRP
U0laSU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisK
KzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDEwMCUiPgorICAgIFRoaXMgdGV4dCBzaG91bGQgYmUg
bm90IGF1dG9zaXplZCwgYXMgYXV0b3NpemluZyB1c3VhbGx5IGNhdXNlcyB0ZXh0IHRvIHdyYXAg
b250byBtb3JlIGxpbmVzLCB3aGljaCBtaWdodCBjYXVzZSBpdCB0byBvdmVyZmxvdyB0aGUgYmxv
Y2sncyBtYXgtaGVpZ2h0IChwcm92aWRlZCBhcyBhIHBlcmNlbnRhZ2UpLgorPC9kaXY+CisKKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1wZXJjZW50LW9mLXZpZXdwb3J0
LW1heGhlaWdodC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXpp
bmcvZml4ZWQtcGVyY2VudC1vZi12aWV3cG9ydC1tYXhoZWlnaHQtZXhwZWN0ZWQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hMDI1ZmI5MTk2YzAxYTYwZDNhMDU2NTNiZTUzZDU3MTQyNTczNTFmCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtcGVyY2Vu
dC1vZi12aWV3cG9ydC1tYXhoZWlnaHQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2JvZHkgeyB3aWR0
aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKworPC9oZWFkPgorPGJvZHk+CisKKzxk
aXYgc3R5bGU9Im1heC1oZWlnaHQ6IDEwMHZoIj4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIG5v
dCBhdXRvc2l6ZWQsIGFzIGF1dG9zaXppbmcgdXN1YWxseSBjYXVzZXMgdGV4dCB0byB3cmFwIG9u
dG8gbW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8gb3ZlcmZsb3cgdGhlIGJsb2Nr
J3MgbWF4LWhlaWdodCAocHJvdmlkZWQgYXMgYSB2aWV3cG9ydCBwZXJjZW50YWdlKS4KKzwvZGl2
PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtcGVyY2VudC1vZi12
aWV3cG9ydC1tYXhoZWlnaHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5n
L2ZpeGVkLXBlcmNlbnQtb2Ytdmlld3BvcnQtbWF4aGVpZ2h0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjk2
ZTk4NjdiMmU4MTFkZDU0ZDg1YzYyYzc2ZTZhOTc3ZjJmYTY0ZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXBlcmNlbnQtb2Ytdmlld3Bv
cnQtbWF4aGVpZ2h0Lmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4K
KzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7
IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5k
b3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0
b3NpemluZ0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRU
ZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdp
bmRvdy5jb25zb2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0
ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNv
IHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3Np
emluZywgYW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdp
ZHRoIChsaWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9B
VVRPU0laSU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+
CisKKzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDEwMHZoIj4KKyAgICBUaGlzIHRleHQgc2hvdWxk
IGJlIG5vdCBhdXRvc2l6ZWQsIGFzIGF1dG9zaXppbmcgdXN1YWxseSBjYXVzZXMgdGV4dCB0byB3
cmFwIG9udG8gbW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8gb3ZlcmZsb3cgdGhl
IGJsb2NrJ3MgbWF4LWhlaWdodCAocHJvdmlkZWQgYXMgYSB2aWV3cG9ydCBwZXJjZW50YWdlKS4K
KzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtdGhlbi1v
dmVyZmxvdy1hbmNlc3RvcnMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1h
dXRvc2l6aW5nL2ZpeGVkLXRoZW4tb3ZlcmZsb3ctYW5jZXN0b3JzLWV4cGVjdGVkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZmM2ZGMzMDU2ZTJhNjk1ZDQ0NjQ2ZTYxM2FkZjk4MjNlYTYxN2E2ZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXRoZW4t
b3ZlcmZsb3ctYW5jZXN0b3JzLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sIHsgZm9udC1zaXpl
OiAxNnB4O30KK2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKwor
PC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4Ij4KKyAgICA8
ZGl2IHN0eWxlPSJvdmVyZmxvdy15OiBhdXRvIj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1z
aXplOiAyLjVyZW0iPgorICAgICAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQg
dG8gNDBweCBjb21wdXRlZCBmb250LXNpemUsIHNpbmNlIHRoZSBwYXJlbnQncyBvdmVyZmxvdy15
OmF1dG8gbWVhbnMgdGhlIGF2YWlsYWJsZSBoZWlnaHQgaXMgdW5jb25zdHJhaW5lZCAoZGVzcGl0
ZSB0aGUgZ3JhbmRwYXJlbnQgaGF2aW5nIGEgbWF4LWhlaWdodCkuCisgICAgICAgIDwvZGl2Pgor
ICAgIDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9m
aXhlZC10aGVuLW92ZXJmbG93LWFuY2VzdG9ycy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
LWF1dG9zaXppbmcvZml4ZWQtdGhlbi1vdmVyZmxvdy1hbmNlc3RvcnMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zYWJkYjczNjlhOWRhMTE1NWQ1ZTBkNzkxZDNhNDM3M2M4NzM4YjY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtdGhlbi1vdmVyZmxv
dy1hbmNlc3RvcnMuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgor
PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7fQorYm9keSB7
IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyB9Cis8L3N0eWxlPgorCis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRl
cm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKHRydWUpOworICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUo
MzIwLCA0ODApOworfSBlbHNlIGlmICh3aW5kb3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsK
KyAgICBjb25zb2xlLndhcm4oIlRoaXMgdGVzdCBkZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9zaXpp
bmcgc2V0dGluZyBiZWluZyB0cnVlLCBzbyBydW4gaXQgaW4gRHVtcFJlbmRlclRyZWUsIG9yIG1h
bnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9zaXppbmcsIGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRl
dmljZSB3aXRoIDMyMHB4IGRldmljZS13aWR0aCAobGlrZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9y
IGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVUT1NJWklOR19PTl9ERVNLVE9QLiIpOworfQorPC9z
Y3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBw
eCI+CisgICAgPGRpdiBzdHlsZT0ib3ZlcmZsb3cteTogYXV0byI+CisgICAgICAgIDxkaXY+Cisg
ICAgICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVk
IGZvbnQtc2l6ZSwgc2luY2UgdGhlIHBhcmVudCdzIG92ZXJmbG93LXk6YXV0byBtZWFucyB0aGUg
YXZhaWxhYmxlIGhlaWdodCBpcyB1bmNvbnN0cmFpbmVkIChkZXNwaXRlIHRoZSBncmFuZHBhcmVu
dCBoYXZpbmcgYSBtYXgtaGVpZ2h0KS4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rp
dj4KKworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXdpdGhpbi1vdmVy
Zmxvdy1hbmNlc3Rvci1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9z
aXppbmcvZml4ZWQtd2l0aGluLW92ZXJmbG93LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYmFmNzYwNzc2NDJlZDczOWM4OWFhOGVmNWI4NjliODU3NTU0ZDUwMQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXdpdGhpbi1v
dmVyZmxvdy1hbmNlc3Rvci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorYm9keSB7IHdpZHRoOiA4MDBw
eDsgbWFyZ2luOiAwOyB9Cis8L3N0eWxlPgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHls
ZT0ib3ZlcmZsb3cteTogYXV0byI+CisgICAgPGRpdiBzdHlsZT0ibWF4LWhlaWdodDogNTAwcHgi
PgorICAgICAgICA8ZGl2PgorICAgICAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBub3QgYXV0
b3NpemVkLCBhcyBhdXRvc2l6aW5nIHVzdWFsbHkgY2F1c2VzIHRleHQgdG8gd3JhcCBvbnRvIG1v
cmUgbGluZXMsIHdoaWNoIG1pZ2h0IGNhdXNlIGl0IHRvIG92ZXJmbG93IHRoZSBwYXJlbnQncyBt
YXgtaGVpZ2h0ICh0aGUgZ3JhbmRwYXJlbnQncyBvdmVyZmxvdy15OmF1dG8gZG9lc24ndCBwcmV2
ZW50IHRoaXMpLgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtd2l0aGluLW92ZXJmbG93LWFuY2VzdG9y
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC13aXRoaW4tb3Zl
cmZsb3ctYW5jZXN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MzBiZmY2NTFkMTNlY2QyYWMxMjlmM2I2
NjZlZGQxMzczZTBiNDA5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
LWF1dG9zaXppbmcvZml4ZWQtd2l0aGluLW92ZXJmbG93LWFuY2VzdG9yLmh0bWwKQEAgLTAsMCAr
MSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Citi
b2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7CisgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVy
cmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNvbnNvbGUud2Fy
bikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQgQXV0
b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJlZSwg
b3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1c2UgYSBtb2Jp
bGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMgb3IgaVBob25l
KSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1AuIik7Cit9
Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im92ZXJmbG93LXk6
IGF1dG8iPgorICAgIDxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4Ij4KKyAgICAgICAgPGRp
dj4KKyAgICAgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgbm90IGF1dG9zaXplZCwgYXMgYXV0
b3NpemluZyB1c3VhbGx5IGNhdXNlcyB0ZXh0IHRvIHdyYXAgb250byBtb3JlIGxpbmVzLCB3aGlj
aCBtaWdodCBjYXVzZSBpdCB0byBvdmVyZmxvdyB0aGUgcGFyZW50J3MgbWF4LWhlaWdodCAodGhl
IGdyYW5kcGFyZW50J3Mgb3ZlcmZsb3cteTphdXRvIGRvZXNuJ3QgcHJldmVudCB0aGlzKS4KKyAg
ICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163252</attachid>
            <date>2012-09-10 17:06:22 -0700</date>
            <delta_ts>2012-09-10 17:08:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96143-20120910170557.patch</filename>
            <type>text/plain</type>
            <size>32330</size>
            <attacher name="John Mellor">johnme</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3Njk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWY2NGExNWYwODM4NWFk
YjM5OGE5OGZmMDBjNTJjYTFjZmZkN2EzNS4uMzZiNmQ0ODA5MjE1NTgzNWRkNzNjOWM5MGQ5Y2Jk
ZTZmYzBkZTZkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTA5LTA3ICBKb2hu
IE1lbGxvciAgPGpvaG5tZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dCBBdXRvc2l6aW5n
OiBEb24ndCBhdXRvc2l6ZSB0ZXh0IGluIGNvbnN0cmFpbmVkIGhlaWdodCBlbGVtZW50cy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2MTQzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXV0b3NpemluZyB0
ZXh0IHdpdGhpbiBjb25zdGFpbmVkIGhlaWdodCBlbGVtZW50cyB1c3VhbGx5IGdvZXMgYmFkbHks
CisgICAgICAgIGFzIHRoZSBhdXRvc2l6ZWQgdGV4dCB3aWxsIHdyYXAgb250byBtb3JlIGxpbmVz
LCBoZW5jZSBpdCB3aWxsIGJlY29tZQorICAgICAgICB0YWxsZXIgYW5kIG9mdGVuIG92ZXJmbG93
IGl0cyBjb250YWluZXIsIGJyZWFraW5nIHRoZSBwYWdlJ3MgbGF5b3V0LgorCisgICAgICAgIFRo
aXMgcGF0Y2ggZGlzYWJsZXMgYXV0b3NpemluZyBmb3IgYmxvY2tzIHdpdGggYSBmaXhlZCBoZWln
aHQgYW5jZXN0b3IKKyAgICAgICAgKG9yIHdoaWNoIGFyZSBmaXhlZCBoZWlnaHQgdGhlbXNlbHZl
cyksIHVubGVzcyB0aGUgbG93ZXN0IHN1Y2ggYW5jZXN0b3IKKyAgICAgICAgKG9yIG9uZSBvZiB0
aGUgYW5jZXN0b3JzIGluIGJldHdlZW4gaXQgYW5kIHRoZSB0ZXh0IGJsb2NrKSBoYXMKKyAgICAg
ICAgb3ZlcmZsb3cteTphdXRvL3Njcm9sbCwgaW4gd2hpY2ggY2FzZSB0aGUgaGVpZ2h0IGlzbid0
IHJlYWxseSBmaXhlZC4KKworICAgICAgICBUZXN0czogZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4
ZWQtYW5kLW92ZXJmbG93LWF1dG8tYW5jZXN0b3IuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90
ZXh0LWF1dG9zaXppbmcvZml4ZWQtYW5kLW92ZXJmbG93LWhpZGRlbi1hbmNlc3Rvci5odG1sCisg
ICAgICAgICAgICAgICBmYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctcGFn
ZWQteC1hbmNlc3Rvci5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQtYXV0b3NpemluZy9m
aXhlZC1hbmQtb3ZlcmZsb3ctc2Nyb2xsLWFuY2VzdG9yLmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWhlaWdodC1hbmNlc3Rvci5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1tYXhoZWlnaHQtYW5jZXN0b3IuaHRtbAor
ICAgICAgICAgICAgICAgZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0Lmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXBlcmNlbnQtbWF4aGVp
Z2h0Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXBlcmNl
bnQtb2Ytdmlld3BvcnQtbWF4aGVpZ2h0Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1h
dXRvc2l6aW5nL2ZpeGVkLXRoZW4tb3ZlcmZsb3ctYW5jZXN0b3JzLmh0bWwKKyAgICAgICAgICAg
ICAgIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXdpdGhpbi1vdmVyZmxvdy1hbmNlc3Rvci5o
dG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvVGV4dEF1dG9zaXplci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpUZXh0QXV0b3NpemVyOjpwcm9jZXNzQm94KToKKworICAgICAgICAgICAgU2tpcHMg
Ym94ZXMgZm9yIHdoaWNoIGNvbnRlbnRIZWlnaHRJc0NvbnN0cmFpbmVkIHJldHVybnMgdHJ1ZS4K
KworICAgICAgICAoV2ViQ29yZTo6VGV4dEF1dG9zaXplcjo6Y29udGVudEhlaWdodElzQ29uc3Ry
YWluZWQpOgorCisgICAgICAgICAgICBXYWxrcyB1cCB0aGUgcmVuZGVyIHRyZWUgdW50aWwgaXQg
ZmluZHMgZWl0aGVyIGEgY29uc3RyYWluZWQgaGVpZ2h0CisgICAgICAgICAgICBvciBvdmVyZmxv
dy15OmF1dG8vc2Nyb2xsIGFuY2VzdG9yLgorCiAyMDEyLTA5LTA1ICBUaW0gSG9ydG9uICA8dGlt
b3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQ7IHJldmVydCBhIGNo
YW5nZSB0byBTY3JvbGxpbmdUcmVlTm9kZU1hYyB3aGljaCBhY2NpZGVudGFsbHkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcAppbmRleCA0Y2Q3MzVhMWNkM2VjMDg0
NGUxMWY1ZDcxZTBiM2NmYWFiNDdjZjUxLi41OThiYmQ3ZGY4MDI2ODc5ZjE1ODkxODlmMzEzN2E2
ZGIwMGQ3OGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9z
aXplci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3Bw
CkBAIC03Nyw4ICs3NywyNiBAQCBib29sIFRleHRBdXRvc2l6ZXI6OnByb2Nlc3NTdWJ0cmVlKFJl
bmRlck9iamVjdCogbGF5b3V0Um9vdCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorc3RhdGljIGJv
b2wgY29udGVudEhlaWdodElzQ29uc3RyYWluZWQoY29uc3QgUmVuZGVyQm94KiBib3gpCit7Cisg
ICAgLy8gRklYTUU6IFByb3BhZ2F0ZSBjb25zdHJhaW5lZG5lc3MgZG93biB0aGUgdHJlZSwgdG8g
YXZvaWQgaW5lZmZpY2llbnRseSB3YWxraW5nIGJhY2sgdXAgZnJvbSBlYWNoIGJveC4KKyAgICAv
LyBGSVhNRTogVGhpcyBjb2RlIG5lZWRzIHRvIHRha2UgaW50byBhY2NvdW50IHZlcnRpY2FsIHdy
aXRpbmcgbW9kZXMuCisgICAgLy8gRklYTUU6IENvbnNpZGVyIGFkZGl0aW9uYWwgaGV1cmlzdGlj
cywgc3VjaCBhcyBpZ25vcmluZyBmaXhlZCBoZWlnaHRzIGlmIHRoZSBjb250ZW50IGlzIGFscmVh
ZHkgb3ZlcmZsb3dpbmcgYmVmb3JlIGF1dG9zaXppbmcga2lja3MgaW4uCisgICAgZm9yIChjb25z
dCBSZW5kZXJCb3gqIGNvbnRhaW5lciA9IGJveDsgY29udGFpbmVyOyBjb250YWluZXIgPSBjb250
YWluZXItPmNvbnRhaW5pbmdCbG9jaygpKSB7CisgICAgICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9
IGNvbnRhaW5lci0+c3R5bGUoKTsKKyAgICAgICAgaWYgKHN0eWxlLT5vdmVyZmxvd1koKSA+PSBP
U0NST0xMKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoc3R5bGUtPmhl
aWdodCgpLmlzU3BlY2lmaWVkKCkgfHwgc3R5bGUtPm1heEhlaWdodCgpLmlzU3BlY2lmaWVkKCkp
CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQor
CiB2b2lkIFRleHRBdXRvc2l6ZXI6OnByb2Nlc3NCb3goUmVuZGVyQm94KiBib3gsIGNvbnN0IElu
dFNpemUmIHdpbmRvd1NpemUsIGNvbnN0IEludFNpemUmIGxheW91dFNpemUpCiB7CisgICAgaWYg
KGNvbnRlbnRIZWlnaHRJc0NvbnN0cmFpbmVkKGJveCkpCisgICAgICAgIHJldHVybjsKKwogICAg
IGludCBsb2dpY2FsV2luZG93V2lkdGggPSBib3gtPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkg
PyB3aW5kb3dTaXplLndpZHRoKCkgOiB3aW5kb3dTaXplLmhlaWdodCgpOwogICAgIGludCBsb2dp
Y2FsTGF5b3V0V2lkdGggPSBib3gtPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBsYXlvdXRT
aXplLndpZHRoKCkgOiBsYXlvdXRTaXplLmhlaWdodCgpOwogICAgIC8vIElnbm9yZSBib3ggd2lk
dGggaW4gZXhjZXNzIG9mIHRoZSBsYXlvdXQgd2lkdGgsIHRvIGF2b2lkIGV4dHJlbWUgbXVsdGlw
bGllcnMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggYTIxMGY5MWViOGVjMmE4NDMxM2Y3YWJiMGI3ODk5ZTg3YTZhODgxNS4u
M2Y0MGQ5MWIyZjQ3OWI1ZGQxZDgxZTI4NmZmOGMzNDk3MzUzMjQ1NCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDM2IEBACisyMDEyLTA5LTA3ICBKb2huIE1lbGxvciAgPGpvaG5tZUBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgVGV4dCBBdXRvc2l6aW5nOiBEb24ndCBhdXRvc2l6ZSB0ZXh0IGluIGNvbnN0cmFp
bmVkIGhlaWdodCBlbGVtZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk2MTQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkZWQgdGVzdHMgd2l0aCB2YXJpb3VzIG5lc3RpbmdzIG9mIGZpeGVkL292
ZXJmbG93IGVsZW1lbnRzLCBvZiB2YXJpb3VzCisgICAgICAgIGRpZmZlcmVudCBraW5kcy4KKwor
ICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1hdXRvLWFu
Y2VzdG9yLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6
aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1hdXRvLWFuY2VzdG9yLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1oaWRkZW4tYW5jZXN0
b3ItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcv
Zml4ZWQtYW5kLW92ZXJmbG93LWhpZGRlbi1hbmNlc3Rvci5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctcGFnZWQteC1hbmNlc3Rv
ci1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9m
aXhlZC1hbmQtb3ZlcmZsb3ctcGFnZWQteC1hbmNlc3Rvci5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctc2Nyb2xsLWFuY2VzdG9y
LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2Zp
eGVkLWFuZC1vdmVyZmxvdy1zY3JvbGwtYW5jZXN0b3IuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtaGVpZ2h0LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWhlaWdodC1hbmNl
c3Rvci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1t
YXhoZWlnaHQtYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90
ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0LWFuY2VzdG9yLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLW1heGhlaWdodC1leHBlY3RlZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1tYXhoZWlnaHQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtcGVyY2Vu
dC1tYXhoZWlnaHQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1
dG9zaXppbmcvZml4ZWQtcGVyY2VudC1tYXhoZWlnaHQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtcGVyY2VudC1vZi12aWV3cG9ydC1tYXhoZWlnaHQt
ZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4
ZWQtcGVyY2VudC1vZi12aWV3cG9ydC1tYXhoZWlnaHQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtdGhlbi1vdmVyZmxvdy1hbmNlc3RvcnMtZXhwZWN0
ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtdGhl
bi1vdmVyZmxvdy1hbmNlc3RvcnMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1
dG9zaXppbmcvZml4ZWQtd2l0aGluLW92ZXJmbG93LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXdpdGhpbi1vdmVyZmxv
dy1hbmNlc3Rvci5odG1sOiBBZGRlZC4KKwogMjAxMi0wOS0wNSAgTGF1cm8gTmV0byAgPGxhdXJv
Lm5ldG9Ab3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBbUXRdIHBsYXRmb3JtL3F0L3BsdWdpbnMv
cXQtcXdpZGdldC1wbHVnaW4uaHRtbCBmYWlscwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtYW5kLW92ZXJmbG93LWF1dG8tYW5jZXN0b3ItZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVy
Zmxvdy1hdXRvLWFuY2VzdG9yLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMThhNDkxOGZmMzI3
NTM3MzNjMDIwMTgyNzYxZWU2OTY4NTJiZDc2NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1hdXRvLWFuY2VzdG9y
LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxz
dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sIHsgZm9udC1zaXplOiAxNnB4O30KK2JvZHkgeyB3
aWR0aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKworPC9oZWFkPgorPGJvZHk+CisK
KzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4OyBvdmVyZmxvdy15OiBhdXRvIj4KKyAgICA8
ZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDIuNXJlbSI+CisgICAgICAgICAg
ICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQtc2l6
ZSwgc2luY2UgdGhlIGdyYW5kcGFyZW50J3Mgb3ZlcmZsb3cteTphdXRvIG1lYW5zIHRoZSBhdmFp
bGFibGUgaGVpZ2h0IGlzIHVuY29uc3RyYWluZWQgKGRlc3BpdGUgdGhlIGdyYW5kcGFyZW50IGFs
c28gaGF2aW5nIGEgbWF4LWhlaWdodCkuCisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorPC9k
aXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZs
b3ctYXV0by1hbmNlc3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcv
Zml4ZWQtYW5kLW92ZXJmbG93LWF1dG8tYW5jZXN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NTQ3NmQ5
MDBlNDY4OTA0MDY2OWVjNmZjM2I4MTkxNDA2YWY0OWQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtYW5kLW92ZXJmbG93LWF1dG8tYW5j
ZXN0b3IuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxl
IHR5cGU9InRleHQvY3NzIj4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7fQorYm9keSB7IHdpZHRo
OiA4MDBweDsgbWFyZ2luOiAwOyB9Cis8L3N0eWxlPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRl
cm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0
ODApOworfSBlbHNlIGlmICh3aW5kb3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBj
b25zb2xlLndhcm4oIlRoaXMgdGVzdCBkZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0
dGluZyBiZWluZyB0cnVlLCBzbyBydW4gaXQgaW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5
IGVuYWJsZSBUZXh0IEF1dG9zaXppbmcsIGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3
aXRoIDMyMHB4IGRldmljZS13aWR0aCAobGlrZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmlu
ZSBIQUNLX0ZPUkNFX1RFWFRfQVVUT1NJWklOR19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+
CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBweDsgb3Zl
cmZsb3cteTogYXV0byI+CisgICAgPGRpdj4KKyAgICAgICAgPGRpdj4KKyAgICAgICAgICAgIFRo
aXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udC1zaXplLCBz
aW5jZSB0aGUgZ3JhbmRwYXJlbnQncyBvdmVyZmxvdy15OmF1dG8gbWVhbnMgdGhlIGF2YWlsYWJs
ZSBoZWlnaHQgaXMgdW5jb25zdHJhaW5lZCAoZGVzcGl0ZSB0aGUgZ3JhbmRwYXJlbnQgYWxzbyBo
YXZpbmcgYSBtYXgtaGVpZ2h0KS4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4K
KworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1o
aWRkZW4tYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRv
c2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1oaWRkZW4tYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44YzQ0ODk0MTE2MWMwN2NhZDRjNzBhOWNiMTMyZTk5MGQ5MDkzMzBkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtYW5k
LW92ZXJmbG93LWhpZGRlbi1hbmNlc3Rvci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjIgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorYm9keSB7IHdp
ZHRoOiA4MDBweDsgbWFyZ2luOiAwOyB9Cis8L3N0eWxlPgorCis8L2hlYWQ+Cis8Ym9keT4KKwor
PGRpdiBzdHlsZT0ibWF4LWhlaWdodDogNTAwcHg7IG92ZXJmbG93LXk6IGhpZGRlbiI+CisgICAg
PGRpdj4KKyAgICAgICAgPGRpdj4KKyAgICAgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgbm90
IGF1dG9zaXplZCwgYXMgYXV0b3NpemluZyB1c3VhbGx5IGNhdXNlcyB0ZXh0IHRvIHdyYXAgb250
byBtb3JlIGxpbmVzLCB3aGljaCBtaWdodCBjYXVzZSBpdCB0byBvdmVyZmxvdyB0aGUgZ3JhbmRw
YXJlbnQncyBtYXgtaGVpZ2h0ICh0aGUgZ3JhbmRwYXJlbnQncyBvdmVyZmxvdy15OmhpZGRlbiBk
b2Vzbid0IHByZXZlbnQgdGhpcywgYXMgaGlkZGVuIGRvZXNuJ3QgZXh0ZW5kIHRoZSBhdmFpbGFi
bGUgY29udGVudCBoZWlnaHQpLgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2Pgor
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtYW5kLW92ZXJmbG93LWhp
ZGRlbi1hbmNlc3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4
ZWQtYW5kLW92ZXJmbG93LWhpZGRlbi1hbmNlc3Rvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5ZTI0NDg2
ZjM4NzBjMjY5NjViNDJhYTJjM2FlZGZhZmI1NjI5MzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctaGlkZGVuLWFu
Y2VzdG9yLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHls
ZSB0eXBlPSJ0ZXh0L2NzcyI+Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwv
c3R5bGU+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50
ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3Npemlu
Z0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0
b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5j
b25zb2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRl
cGVuZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBp
dCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywg
YW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChs
aWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0la
SU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxk
aXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4OyBvdmVyZmxvdy15OiBoaWRkZW4iPgorICAgIDxk
aXY+CisgICAgICAgIDxkaXY+CisgICAgICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJlIG5vdCBh
dXRvc2l6ZWQsIGFzIGF1dG9zaXppbmcgdXN1YWxseSBjYXVzZXMgdGV4dCB0byB3cmFwIG9udG8g
bW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8gb3ZlcmZsb3cgdGhlIGdyYW5kcGFy
ZW50J3MgbWF4LWhlaWdodCAodGhlIGdyYW5kcGFyZW50J3Mgb3ZlcmZsb3cteTpoaWRkZW4gZG9l
c24ndCBwcmV2ZW50IHRoaXMsIGFzIGhpZGRlbiBkb2Vzbid0IGV4dGVuZCB0aGUgYXZhaWxhYmxl
IGNvbnRlbnQgaGVpZ2h0KS4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKwor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1wYWdl
ZC14LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy9maXhlZC1hbmQtb3ZlcmZsb3ctcGFnZWQteC1hbmNlc3Rvci1leHBlY3RlZC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmJiNTM2ODdkYzkwODczMTgwZjRhMTU5NzVmOTRiZDk1ZGE0ZDg5MGQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQt
b3ZlcmZsb3ctcGFnZWQteC1hbmNlc3Rvci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjMgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoraHRtbCB7IGZv
bnQtc2l6ZTogMTZweDt9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5
bGU+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBweDsg
b3ZlcmZsb3cteTogLXdlYmtpdC1wYWdlZC14Ij4KKyAgICA8ZGl2PgorICAgICAgICA8ZGl2IHN0
eWxlPSJmb250LXNpemU6IDIuNXJlbSI+CisgICAgICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJl
IGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQtc2l6ZSwgc2luY2UgdGhlIGdyYW5kcGFy
ZW50J3Mgb3ZlcmZsb3cteTotd2Via2l0LXBhZ2VkLXggbWVhbnMgdGhlIGF2YWlsYWJsZSBoZWln
aHQgaXMgdW5jb25zdHJhaW5lZCAoZGVzcGl0ZSB0aGUgZ3JhbmRwYXJlbnQgYWxzbyBoYXZpbmcg
YSBtYXgtaGVpZ2h0KS4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1wYWdlZC14
LWFuY2VzdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1h
bmQtb3ZlcmZsb3ctcGFnZWQteC1hbmNlc3Rvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxYzUzOTlmYjc5
OTIyZmM2OGFmNjliZWNmYTNiNzY2ZDRjMGUyMTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctcGFnZWQteC1hbmNl
c3Rvci5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUg
dHlwZT0idGV4dC9jc3MiPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDt9Citib2R5IHsgd2lkdGg6
IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4
MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNv
bnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0
aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkg
ZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdp
dGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5l
IEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4K
KworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4OyBvdmVy
Zmxvdy15OiAtd2Via2l0LXBhZ2VkLXgiPgorICAgIDxkaXY+CisgICAgICAgIDxkaXY+CisgICAg
ICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZv
bnQtc2l6ZSwgc2luY2UgdGhlIGdyYW5kcGFyZW50J3Mgb3ZlcmZsb3cteTotd2Via2l0LXBhZ2Vk
LXggbWVhbnMgdGhlIGF2YWlsYWJsZSBoZWlnaHQgaXMgdW5jb25zdHJhaW5lZCAoZGVzcGl0ZSB0
aGUgZ3JhbmRwYXJlbnQgYWxzbyBoYXZpbmcgYSBtYXgtaGVpZ2h0KS4KKyAgICAgICAgPC9kaXY+
CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5n
L2ZpeGVkLWFuZC1vdmVyZmxvdy1zY3JvbGwtYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1zY3JvbGwtYW5j
ZXN0b3ItZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjExZjNjYTZjN2RjMmYwY2ZlNDgzNDgx
MDM3ZmM4Y2IwYTAwNjIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
LWF1dG9zaXppbmcvZml4ZWQtYW5kLW92ZXJmbG93LXNjcm9sbC1hbmNlc3Rvci1leHBlY3RlZC5o
dG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKwor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlwZT0i
dGV4dC9jc3MiPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDt9Citib2R5IHsgd2lkdGg6IDgwMHB4
OyBtYXJnaW46IDA7IH0KKzo6LXdlYmtpdC1zY3JvbGxiYXIgeworICAgIC8qIEtlZXBzIHRoZSB0
ZXh0IHNpemUgbXVsdGlwbGllciBhIHJvdW5kIG51bWJlci4gKi8KKyAgICB3aWR0aDogMHB4Owor
fQorPC9zdHlsZT4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6
IDUwMHB4OyBvdmVyZmxvdy15OiBzY3JvbGwiPgorICAgIDxkaXY+CisgICAgICAgIDxkaXYgc3R5
bGU9ImZvbnQtc2l6ZTogMi41cmVtIj4KKyAgICAgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUg
YXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udC1zaXplLCBzaW5jZSB0aGUgZ3JhbmRwYXJl
bnQncyBvdmVyZmxvdy15OnNjcm9sbCBtZWFucyB0aGUgYXZhaWxhYmxlIGhlaWdodCBpcyB1bmNv
bnN0cmFpbmVkIChkZXNwaXRlIHRoZSBncmFuZHBhcmVudCBhbHNvIGhhdmluZyBhIG1heC1oZWln
aHQpLgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtYW5kLW92ZXJmbG93LXNjcm9sbC1hbmNlc3Rvci5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtYW5kLW92ZXJmbG93
LXNjcm9sbC1hbmNlc3Rvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMzYTkzNWM2Yjg0MmQ1MjRkMzYxYzBj
MzMzNmMxMTIyZjI3Y2FlNTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctc2Nyb2xsLWFuY2VzdG9yLmh0bWwKQEAg
LTAsMCArMSwzNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2Nz
cyI+CitodG1sIHsgZm9udC1zaXplOiAxNnB4O30KK2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdp
bjogMDsgfQorOjotd2Via2l0LXNjcm9sbGJhciB7CisgICAgLyogS2VlcHMgdGhlIHRleHQgc2l6
ZSBtdWx0aXBsaWVyIGEgcm91bmQgbnVtYmVyLiAqLworICAgIHdpZHRoOiAwcHg7Cit9Cis8L3N0
eWxlPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitpZiAod2luZG93LmludGVy
bmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdF
bmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9z
aXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApOworfSBlbHNlIGlmICh3aW5kb3cuY29u
c29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBjb25zb2xlLndhcm4oIlRoaXMgdGVzdCBkZXBl
bmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0dGluZyBiZWluZyB0cnVlLCBzbyBydW4gaXQg
aW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9zaXppbmcsIGFu
ZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3aXRoIDMyMHB4IGRldmljZS13aWR0aCAobGlr
ZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVUT1NJWklO
R19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2
IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBweDsgb3ZlcmZsb3cteTogc2Nyb2xsIj4KKyAgICA8ZGl2
PgorICAgICAgICA8ZGl2PgorICAgICAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6
ZWQgdG8gNDBweCBjb21wdXRlZCBmb250LXNpemUsIHNpbmNlIHRoZSBncmFuZHBhcmVudCdzIG92
ZXJmbG93LXk6c2Nyb2xsIG1lYW5zIHRoZSBhdmFpbGFibGUgaGVpZ2h0IGlzIHVuY29uc3RyYWlu
ZWQgKGRlc3BpdGUgdGhlIGdyYW5kcGFyZW50IGFsc28gaGF2aW5nIGEgbWF4LWhlaWdodCkuCisg
ICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQtYXV0b3NpemluZy9maXhlZC1oZWlnaHQtYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWhlaWdodC1hbmNlc3Rvci1leHBlY3Rl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjJjZDg2ZmQzODE4ZGI1NDM2ZGNiYmMyOWNiZGVlOGYwMWUyMTdh
MGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9m
aXhlZC1oZWlnaHQtYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDIyIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2JvZHkgeyB3aWR0aDog
ODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYg
c3R5bGU9ImhlaWdodDogNTAwcHgiPgorICAgIDxkaXY+CisgICAgICAgIDxkaXY+CisgICAgICAg
ICAgICBUaGlzIHRleHQgc2hvdWxkIGJlIG5vdCBhdXRvc2l6ZWQsIGFzIGF1dG9zaXppbmcgdXN1
YWxseSBjYXVzZXMgdGV4dCB0byB3cmFwIG9udG8gbW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1
c2UgaXQgdG8gb3ZlcmZsb3cgdGhlIGdyYW5kcGFyZW50J3MgaGVpZ2h0LgorICAgICAgICA8L2Rp
dj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXpp
bmcvZml4ZWQtaGVpZ2h0LWFuY2VzdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0
b3NpemluZy9maXhlZC1oZWlnaHQtYW5jZXN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZWM2ZWJkZmMz
ZGJkMzE5NmI0YWU0MDAyZDM3N2M1ZjE4NmUwYmIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtaGVpZ2h0LWFuY2VzdG9yLmh0bWwKQEAg
LTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2Nz
cyI+Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7
CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRvd1Np
emVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNvbnNv
bGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRl
eHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVy
VHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1c2Ug
YSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMgb3Ig
aVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1Au
Iik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9ImhlaWdo
dDogNTAwcHgiPgorICAgIDxkaXY+CisgICAgICAgIDxkaXY+CisgICAgICAgICAgICBUaGlzIHRl
eHQgc2hvdWxkIGJlIG5vdCBhdXRvc2l6ZWQsIGFzIGF1dG9zaXppbmcgdXN1YWxseSBjYXVzZXMg
dGV4dCB0byB3cmFwIG9udG8gbW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8gb3Zl
cmZsb3cgdGhlIGdyYW5kcGFyZW50J3MgaGVpZ2h0LgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rp
dj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4
aGVpZ2h0LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0
b3NpemluZy9maXhlZC1tYXhoZWlnaHQtYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yNDliMWJmNjExOGJiZTk5OGQyYzMwMzViZWZhMjVhN2FmOGYxZmI2Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0LWFu
Y2VzdG9yLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAw
Ij4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46
IDA7IH0KKzwvc3R5bGU+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJtYXgtaGVp
Z2h0OiA1MDBweCI+CisgICAgPGRpdj4KKyAgICAgICAgPGRpdj4KKyAgICAgICAgICAgIFRoaXMg
dGV4dCBzaG91bGQgYmUgbm90IGF1dG9zaXplZCwgYXMgYXV0b3NpemluZyB1c3VhbGx5IGNhdXNl
cyB0ZXh0IHRvIHdyYXAgb250byBtb3JlIGxpbmVzLCB3aGljaCBtaWdodCBjYXVzZSBpdCB0byBv
dmVyZmxvdyB0aGUgZ3JhbmRwYXJlbnQncyBtYXgtaGVpZ2h0LgorICAgICAgICA8L2Rpdj4KKyAg
ICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4
ZWQtbWF4aGVpZ2h0LWFuY2VzdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy9maXhlZC1tYXhoZWlnaHQtYW5jZXN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZWI4Nzk5Zjg1
YTU0NDA0OGZjMmJlN2QwODM1NGJhMTI2MWQ0YzFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0LWFuY2VzdG9yLmh0bWwK
QEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0
L2NzcyI+Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1
ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRv
d1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNv
bnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhl
IFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVu
ZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1
c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMg
b3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tU
T1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im1h
eC1oZWlnaHQ6IDUwMHB4Ij4KKyAgICA8ZGl2PgorICAgICAgICA8ZGl2PgorICAgICAgICAgICAg
VGhpcyB0ZXh0IHNob3VsZCBiZSBub3QgYXV0b3NpemVkLCBhcyBhdXRvc2l6aW5nIHVzdWFsbHkg
Y2F1c2VzIHRleHQgdG8gd3JhcCBvbnRvIG1vcmUgbGluZXMsIHdoaWNoIG1pZ2h0IGNhdXNlIGl0
IHRvIG92ZXJmbG93IHRoZSBncmFuZHBhcmVudCdzIG1heC1oZWlnaHQuCisgICAgICAgIDwvZGl2
PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Npemlu
Zy9maXhlZC1tYXhoZWlnaHQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1h
dXRvc2l6aW5nL2ZpeGVkLW1heGhlaWdodC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmN2Nm
MTE2YmI5YTJlOWIyZGEyNGMzY2FmNjViZWVmMzA4YWMyMDEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1tYXhoZWlnaHQtZXhwZWN0ZWQu
aHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisK
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlIHR5cGU9
InRleHQvY3NzIj4KK2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4K
KworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4Ij4KKyAg
ICBUaGlzIHRleHQgc2hvdWxkIGJlIG5vdCBhdXRvc2l6ZWQsIGFzIGF1dG9zaXppbmcgdXN1YWxs
eSBjYXVzZXMgdGV4dCB0byB3cmFwIG9udG8gbW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1c2Ug
aXQgdG8gb3ZlcmZsb3cgdGhlIGJsb2NrJ3MgbWF4LWhlaWdodC4KKzwvZGl2PgorCis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1tYXhoZWlnaHQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hMzM2ZjdkNWNhNTBjNjU3MDhkNTIyZGM4ODgzYzRiODJmZTE4ZDJmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0Lmh0
bWwKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0
ZXh0L2NzcyI+Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisK
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7
CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQo
dHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dp
bmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYm
IGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24g
dGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1w
UmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhl
ciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVz
IFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RF
U0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9
Im1heC1oZWlnaHQ6IDUwMHB4Ij4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIG5vdCBhdXRvc2l6
ZWQsIGFzIGF1dG9zaXppbmcgdXN1YWxseSBjYXVzZXMgdGV4dCB0byB3cmFwIG9udG8gbW9yZSBs
aW5lcywgd2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8gb3ZlcmZsb3cgdGhlIGJsb2NrJ3MgbWF4LWhl
aWdodC4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQt
cGVyY2VudC1tYXhoZWlnaHQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1h
dXRvc2l6aW5nL2ZpeGVkLXBlcmNlbnQtbWF4aGVpZ2h0LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZmIwNDVlMDMyYzY1NTM0ZWFhODgyMDBmNjg5N2I2YzE3MGVhN2E2ZAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXBlcmNlbnQtbWF4
aGVpZ2h0LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAw
Ij4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sLCBib2R5IHsgaGVpZ2h0OiAxMDAlOyB9
Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzwvaGVhZD4K
Kzxib2R5PgorCis8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiAxMDAlIj4KKyAgICBUaGlzIHRleHQg
c2hvdWxkIGJlIG5vdCBhdXRvc2l6ZWQsIGFzIGF1dG9zaXppbmcgdXN1YWxseSBjYXVzZXMgdGV4
dCB0byB3cmFwIG9udG8gbW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8gb3ZlcmZs
b3cgdGhlIGJsb2NrJ3MgbWF4LWhlaWdodCAocHJvdmlkZWQgYXMgYSBwZXJjZW50YWdlKS4KKzwv
ZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtcGVyY2VudC1t
YXhoZWlnaHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXBl
cmNlbnQtbWF4aGVpZ2h0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I5MzQ5MDJiMTMxNTIwNDBkYzRmOTVl
ODhhZGFjMDFlZDExODJjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC1hdXRvc2l6aW5nL2ZpeGVkLXBlcmNlbnQtbWF4aGVpZ2h0Lmh0bWwKQEAgLTAsMCArMSwyOCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sLCBi
b2R5IHsgaGVpZ2h0OiAxMDAlOyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0K
Kzwvc3R5bGU+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cu
aW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3Np
emluZ0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0
QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRv
dy5jb25zb2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0
IGRlcGVuZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1
biBpdCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3Npemlu
ZywgYW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRo
IChsaWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRP
U0laSU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisK
KzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDEwMCUiPgorICAgIFRoaXMgdGV4dCBzaG91bGQgYmUg
bm90IGF1dG9zaXplZCwgYXMgYXV0b3NpemluZyB1c3VhbGx5IGNhdXNlcyB0ZXh0IHRvIHdyYXAg
b250byBtb3JlIGxpbmVzLCB3aGljaCBtaWdodCBjYXVzZSBpdCB0byBvdmVyZmxvdyB0aGUgYmxv
Y2sncyBtYXgtaGVpZ2h0IChwcm92aWRlZCBhcyBhIHBlcmNlbnRhZ2UpLgorPC9kaXY+CisKKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1wZXJjZW50LW9mLXZpZXdwb3J0
LW1heGhlaWdodC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXpp
bmcvZml4ZWQtcGVyY2VudC1vZi12aWV3cG9ydC1tYXhoZWlnaHQtZXhwZWN0ZWQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hMDI1ZmI5MTk2YzAxYTYwZDNhMDU2NTNiZTUzZDU3MTQyNTczNTFmCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtcGVyY2Vu
dC1vZi12aWV3cG9ydC1tYXhoZWlnaHQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2JvZHkgeyB3aWR0
aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKworPC9oZWFkPgorPGJvZHk+CisKKzxk
aXYgc3R5bGU9Im1heC1oZWlnaHQ6IDEwMHZoIj4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIG5v
dCBhdXRvc2l6ZWQsIGFzIGF1dG9zaXppbmcgdXN1YWxseSBjYXVzZXMgdGV4dCB0byB3cmFwIG9u
dG8gbW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8gb3ZlcmZsb3cgdGhlIGJsb2Nr
J3MgbWF4LWhlaWdodCAocHJvdmlkZWQgYXMgYSB2aWV3cG9ydCBwZXJjZW50YWdlKS4KKzwvZGl2
PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtcGVyY2VudC1vZi12
aWV3cG9ydC1tYXhoZWlnaHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5n
L2ZpeGVkLXBlcmNlbnQtb2Ytdmlld3BvcnQtbWF4aGVpZ2h0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjk2
ZTk4NjdiMmU4MTFkZDU0ZDg1YzYyYzc2ZTZhOTc3ZjJmYTY0ZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXBlcmNlbnQtb2Ytdmlld3Bv
cnQtbWF4aGVpZ2h0Lmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4K
KzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7
IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5k
b3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0
b3NpemluZ0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRU
ZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdp
bmRvdy5jb25zb2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0
ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNv
IHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3Np
emluZywgYW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdp
ZHRoIChsaWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9B
VVRPU0laSU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+
CisKKzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDEwMHZoIj4KKyAgICBUaGlzIHRleHQgc2hvdWxk
IGJlIG5vdCBhdXRvc2l6ZWQsIGFzIGF1dG9zaXppbmcgdXN1YWxseSBjYXVzZXMgdGV4dCB0byB3
cmFwIG9udG8gbW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8gb3ZlcmZsb3cgdGhl
IGJsb2NrJ3MgbWF4LWhlaWdodCAocHJvdmlkZWQgYXMgYSB2aWV3cG9ydCBwZXJjZW50YWdlKS4K
KzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtdGhlbi1v
dmVyZmxvdy1hbmNlc3RvcnMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1h
dXRvc2l6aW5nL2ZpeGVkLXRoZW4tb3ZlcmZsb3ctYW5jZXN0b3JzLWV4cGVjdGVkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZmM2ZGMzMDU2ZTJhNjk1ZDQ0NjQ2ZTYxM2FkZjk4MjNlYTYxN2E2ZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXRoZW4t
b3ZlcmZsb3ctYW5jZXN0b3JzLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sIHsgZm9udC1zaXpl
OiAxNnB4O30KK2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKwor
PC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4Ij4KKyAgICA8
ZGl2IHN0eWxlPSJvdmVyZmxvdy15OiBhdXRvIj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1z
aXplOiAyLjVyZW0iPgorICAgICAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQg
dG8gNDBweCBjb21wdXRlZCBmb250LXNpemUsIHNpbmNlIHRoZSBwYXJlbnQncyBvdmVyZmxvdy15
OmF1dG8gbWVhbnMgdGhlIGF2YWlsYWJsZSBoZWlnaHQgaXMgdW5jb25zdHJhaW5lZCAoZGVzcGl0
ZSB0aGUgZ3JhbmRwYXJlbnQgaGF2aW5nIGEgbWF4LWhlaWdodCkuCisgICAgICAgIDwvZGl2Pgor
ICAgIDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9m
aXhlZC10aGVuLW92ZXJmbG93LWFuY2VzdG9ycy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
LWF1dG9zaXppbmcvZml4ZWQtdGhlbi1vdmVyZmxvdy1hbmNlc3RvcnMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zYWJkYjczNjlhOWRhMTE1NWQ1ZTBkNzkxZDNhNDM3M2M4NzM4YjY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtdGhlbi1vdmVyZmxv
dy1hbmNlc3RvcnMuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgor
PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7fQorYm9keSB7
IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyB9Cis8L3N0eWxlPgorCis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRl
cm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKHRydWUpOworICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUo
MzIwLCA0ODApOworfSBlbHNlIGlmICh3aW5kb3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsK
KyAgICBjb25zb2xlLndhcm4oIlRoaXMgdGVzdCBkZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9zaXpp
bmcgc2V0dGluZyBiZWluZyB0cnVlLCBzbyBydW4gaXQgaW4gRHVtcFJlbmRlclRyZWUsIG9yIG1h
bnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9zaXppbmcsIGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRl
dmljZSB3aXRoIDMyMHB4IGRldmljZS13aWR0aCAobGlrZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9y
IGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVUT1NJWklOR19PTl9ERVNLVE9QLiIpOworfQorPC9z
Y3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBw
eCI+CisgICAgPGRpdiBzdHlsZT0ib3ZlcmZsb3cteTogYXV0byI+CisgICAgICAgIDxkaXY+Cisg
ICAgICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVk
IGZvbnQtc2l6ZSwgc2luY2UgdGhlIHBhcmVudCdzIG92ZXJmbG93LXk6YXV0byBtZWFucyB0aGUg
YXZhaWxhYmxlIGhlaWdodCBpcyB1bmNvbnN0cmFpbmVkIChkZXNwaXRlIHRoZSBncmFuZHBhcmVu
dCBoYXZpbmcgYSBtYXgtaGVpZ2h0KS4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rp
dj4KKworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXdpdGhpbi1vdmVy
Zmxvdy1hbmNlc3Rvci1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9z
aXppbmcvZml4ZWQtd2l0aGluLW92ZXJmbG93LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNmNhMzQ5MGJkNTM5YjJkY2JiNGMwNjg1ZmVlOGI4MGJlZDRlOTI5ZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXdpdGhpbi1v
dmVyZmxvdy1hbmNlc3Rvci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorYm9keSB7IHdpZHRoOiA4MDBw
eDsgbWFyZ2luOiAwOyB9Cis8L3N0eWxlPgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHls
ZT0ib3ZlcmZsb3cteTogYXV0byI+CisgICAgPGRpdiBzdHlsZT0ibWF4LWhlaWdodDogNTAwcHgi
PgorICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJlIG5vdCBhdXRvc2l6ZWQsIGFzIGF1dG9zaXpp
bmcgdXN1YWxseSBjYXVzZXMgdGV4dCB0byB3cmFwIG9udG8gbW9yZSBsaW5lcywgd2hpY2ggbWln
aHQgY2F1c2UgaXQgdG8gb3ZlcmZsb3cgdGhlIHBhcmVudCdzIG1heC1oZWlnaHQgKHRoZSBncmFu
ZHBhcmVudCdzIG92ZXJmbG93LXk6YXV0byBkb2Vzbid0IHByZXZlbnQgdGhpcykuCisgICAgPC9k
aXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXdp
dGhpbi1vdmVyZmxvdy1hbmNlc3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9z
aXppbmcvZml4ZWQtd2l0aGluLW92ZXJmbG93LWFuY2VzdG9yLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzAx
MTQ5Y2Y3OWUzNTZiM2Y3NWY3Zjk3Y2JhYzhmNmVkYzQwNTMxOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXdpdGhpbi1vdmVyZmxvdy1h
bmNlc3Rvci5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5
bGUgdHlwZT0idGV4dC9jc3MiPgorYm9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyB9Cis8
L3N0eWxlPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitpZiAod2luZG93Lmlu
dGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXpp
bmdFbmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1
dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApOworfSBlbHNlIGlmICh3aW5kb3cu
Y29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBjb25zb2xlLndhcm4oIlRoaXMgdGVzdCBk
ZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0dGluZyBiZWluZyB0cnVlLCBzbyBydW4g
aXQgaW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9zaXppbmcs
IGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3aXRoIDMyMHB4IGRldmljZS13aWR0aCAo
bGlrZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVUT1NJ
WklOR19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5PgorCis8
ZGl2IHN0eWxlPSJvdmVyZmxvdy15OiBhdXRvIj4KKyAgICA8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0
OiA1MDBweCI+CisgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgbm90IGF1dG9zaXplZCwgYXMg
YXV0b3NpemluZyB1c3VhbGx5IGNhdXNlcyB0ZXh0IHRvIHdyYXAgb250byBtb3JlIGxpbmVzLCB3
aGljaCBtaWdodCBjYXVzZSBpdCB0byBvdmVyZmxvdyB0aGUgcGFyZW50J3MgbWF4LWhlaWdodCAo
dGhlIGdyYW5kcGFyZW50J3Mgb3ZlcmZsb3cteTphdXRvIGRvZXNuJ3QgcHJldmVudCB0aGlzKS4K
KyAgICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163253</attachid>
            <date>2012-09-10 17:08:36 -0700</date>
            <delta_ts>2012-09-11 21:38:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96143-20120910170812.patch</filename>
            <type>text/plain</type>
            <size>32400</size>
            <attacher name="John Mellor">johnme</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3Njk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWY2NGExNWYwODM4NWFk
YjM5OGE5OGZmMDBjNTJjYTFjZmZkN2EzNS4uMzZiNmQ0ODA5MjE1NTgzNWRkNzNjOWM5MGQ5Y2Jk
ZTZmYzBkZTZkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTA5LTA3ICBKb2hu
IE1lbGxvciAgPGpvaG5tZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dCBBdXRvc2l6aW5n
OiBEb24ndCBhdXRvc2l6ZSB0ZXh0IGluIGNvbnN0cmFpbmVkIGhlaWdodCBlbGVtZW50cy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2MTQzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXV0b3NpemluZyB0
ZXh0IHdpdGhpbiBjb25zdGFpbmVkIGhlaWdodCBlbGVtZW50cyB1c3VhbGx5IGdvZXMgYmFkbHks
CisgICAgICAgIGFzIHRoZSBhdXRvc2l6ZWQgdGV4dCB3aWxsIHdyYXAgb250byBtb3JlIGxpbmVz
LCBoZW5jZSBpdCB3aWxsIGJlY29tZQorICAgICAgICB0YWxsZXIgYW5kIG9mdGVuIG92ZXJmbG93
IGl0cyBjb250YWluZXIsIGJyZWFraW5nIHRoZSBwYWdlJ3MgbGF5b3V0LgorCisgICAgICAgIFRo
aXMgcGF0Y2ggZGlzYWJsZXMgYXV0b3NpemluZyBmb3IgYmxvY2tzIHdpdGggYSBmaXhlZCBoZWln
aHQgYW5jZXN0b3IKKyAgICAgICAgKG9yIHdoaWNoIGFyZSBmaXhlZCBoZWlnaHQgdGhlbXNlbHZl
cyksIHVubGVzcyB0aGUgbG93ZXN0IHN1Y2ggYW5jZXN0b3IKKyAgICAgICAgKG9yIG9uZSBvZiB0
aGUgYW5jZXN0b3JzIGluIGJldHdlZW4gaXQgYW5kIHRoZSB0ZXh0IGJsb2NrKSBoYXMKKyAgICAg
ICAgb3ZlcmZsb3cteTphdXRvL3Njcm9sbCwgaW4gd2hpY2ggY2FzZSB0aGUgaGVpZ2h0IGlzbid0
IHJlYWxseSBmaXhlZC4KKworICAgICAgICBUZXN0czogZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4
ZWQtYW5kLW92ZXJmbG93LWF1dG8tYW5jZXN0b3IuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90
ZXh0LWF1dG9zaXppbmcvZml4ZWQtYW5kLW92ZXJmbG93LWhpZGRlbi1hbmNlc3Rvci5odG1sCisg
ICAgICAgICAgICAgICBmYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctcGFn
ZWQteC1hbmNlc3Rvci5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQtYXV0b3NpemluZy9m
aXhlZC1hbmQtb3ZlcmZsb3ctc2Nyb2xsLWFuY2VzdG9yLmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWhlaWdodC1hbmNlc3Rvci5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1tYXhoZWlnaHQtYW5jZXN0b3IuaHRtbAor
ICAgICAgICAgICAgICAgZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0Lmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXBlcmNlbnQtbWF4aGVp
Z2h0Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXBlcmNl
bnQtb2Ytdmlld3BvcnQtbWF4aGVpZ2h0Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1h
dXRvc2l6aW5nL2ZpeGVkLXRoZW4tb3ZlcmZsb3ctYW5jZXN0b3JzLmh0bWwKKyAgICAgICAgICAg
ICAgIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXdpdGhpbi1vdmVyZmxvdy1hbmNlc3Rvci5o
dG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvVGV4dEF1dG9zaXplci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpUZXh0QXV0b3NpemVyOjpwcm9jZXNzQm94KToKKworICAgICAgICAgICAgU2tpcHMg
Ym94ZXMgZm9yIHdoaWNoIGNvbnRlbnRIZWlnaHRJc0NvbnN0cmFpbmVkIHJldHVybnMgdHJ1ZS4K
KworICAgICAgICAoV2ViQ29yZTo6VGV4dEF1dG9zaXplcjo6Y29udGVudEhlaWdodElzQ29uc3Ry
YWluZWQpOgorCisgICAgICAgICAgICBXYWxrcyB1cCB0aGUgcmVuZGVyIHRyZWUgdW50aWwgaXQg
ZmluZHMgZWl0aGVyIGEgY29uc3RyYWluZWQgaGVpZ2h0CisgICAgICAgICAgICBvciBvdmVyZmxv
dy15OmF1dG8vc2Nyb2xsIGFuY2VzdG9yLgorCiAyMDEyLTA5LTA1ICBUaW0gSG9ydG9uICA8dGlt
b3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQ7IHJldmVydCBhIGNo
YW5nZSB0byBTY3JvbGxpbmdUcmVlTm9kZU1hYyB3aGljaCBhY2NpZGVudGFsbHkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcAppbmRleCA0Y2Q3MzVhMWNkM2VjMDg0
NGUxMWY1ZDcxZTBiM2NmYWFiNDdjZjUxLi41OThiYmQ3ZGY4MDI2ODc5ZjE1ODkxODlmMzEzN2E2
ZGIwMGQ3OGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9z
aXplci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3Bw
CkBAIC03Nyw4ICs3NywyNiBAQCBib29sIFRleHRBdXRvc2l6ZXI6OnByb2Nlc3NTdWJ0cmVlKFJl
bmRlck9iamVjdCogbGF5b3V0Um9vdCkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorc3RhdGljIGJv
b2wgY29udGVudEhlaWdodElzQ29uc3RyYWluZWQoY29uc3QgUmVuZGVyQm94KiBib3gpCit7Cisg
ICAgLy8gRklYTUU6IFByb3BhZ2F0ZSBjb25zdHJhaW5lZG5lc3MgZG93biB0aGUgdHJlZSwgdG8g
YXZvaWQgaW5lZmZpY2llbnRseSB3YWxraW5nIGJhY2sgdXAgZnJvbSBlYWNoIGJveC4KKyAgICAv
LyBGSVhNRTogVGhpcyBjb2RlIG5lZWRzIHRvIHRha2UgaW50byBhY2NvdW50IHZlcnRpY2FsIHdy
aXRpbmcgbW9kZXMuCisgICAgLy8gRklYTUU6IENvbnNpZGVyIGFkZGl0aW9uYWwgaGV1cmlzdGlj
cywgc3VjaCBhcyBpZ25vcmluZyBmaXhlZCBoZWlnaHRzIGlmIHRoZSBjb250ZW50IGlzIGFscmVh
ZHkgb3ZlcmZsb3dpbmcgYmVmb3JlIGF1dG9zaXppbmcga2lja3MgaW4uCisgICAgZm9yIChjb25z
dCBSZW5kZXJCb3gqIGNvbnRhaW5lciA9IGJveDsgY29udGFpbmVyOyBjb250YWluZXIgPSBjb250
YWluZXItPmNvbnRhaW5pbmdCbG9jaygpKSB7CisgICAgICAgIFJlbmRlclN0eWxlKiBzdHlsZSA9
IGNvbnRhaW5lci0+c3R5bGUoKTsKKyAgICAgICAgaWYgKHN0eWxlLT5vdmVyZmxvd1koKSA+PSBP
U0NST0xMKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoc3R5bGUtPmhl
aWdodCgpLmlzU3BlY2lmaWVkKCkgfHwgc3R5bGUtPm1heEhlaWdodCgpLmlzU3BlY2lmaWVkKCkp
CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQor
CiB2b2lkIFRleHRBdXRvc2l6ZXI6OnByb2Nlc3NCb3goUmVuZGVyQm94KiBib3gsIGNvbnN0IElu
dFNpemUmIHdpbmRvd1NpemUsIGNvbnN0IEludFNpemUmIGxheW91dFNpemUpCiB7CisgICAgaWYg
KGNvbnRlbnRIZWlnaHRJc0NvbnN0cmFpbmVkKGJveCkpCisgICAgICAgIHJldHVybjsKKwogICAg
IGludCBsb2dpY2FsV2luZG93V2lkdGggPSBib3gtPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkg
PyB3aW5kb3dTaXplLndpZHRoKCkgOiB3aW5kb3dTaXplLmhlaWdodCgpOwogICAgIGludCBsb2dp
Y2FsTGF5b3V0V2lkdGggPSBib3gtPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBsYXlvdXRT
aXplLndpZHRoKCkgOiBsYXlvdXRTaXplLmhlaWdodCgpOwogICAgIC8vIElnbm9yZSBib3ggd2lk
dGggaW4gZXhjZXNzIG9mIHRoZSBsYXlvdXQgd2lkdGgsIHRvIGF2b2lkIGV4dHJlbWUgbXVsdGlw
bGllcnMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggYTIxMGY5MWViOGVjMmE4NDMxM2Y3YWJiMGI3ODk5ZTg3YTZhODgxNS4u
M2Y0MGQ5MWIyZjQ3OWI1ZGQxZDgxZTI4NmZmOGMzNDk3MzUzMjQ1NCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDM2IEBACisyMDEyLTA5LTA3ICBKb2huIE1lbGxvciAgPGpvaG5tZUBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgVGV4dCBBdXRvc2l6aW5nOiBEb24ndCBhdXRvc2l6ZSB0ZXh0IGluIGNvbnN0cmFp
bmVkIGhlaWdodCBlbGVtZW50cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk2MTQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkZWQgdGVzdHMgd2l0aCB2YXJpb3VzIG5lc3RpbmdzIG9mIGZpeGVkL292
ZXJmbG93IGVsZW1lbnRzLCBvZiB2YXJpb3VzCisgICAgICAgIGRpZmZlcmVudCBraW5kcy4KKwor
ICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1hdXRvLWFu
Y2VzdG9yLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6
aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1hdXRvLWFuY2VzdG9yLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1oaWRkZW4tYW5jZXN0
b3ItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcv
Zml4ZWQtYW5kLW92ZXJmbG93LWhpZGRlbi1hbmNlc3Rvci5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctcGFnZWQteC1hbmNlc3Rv
ci1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9m
aXhlZC1hbmQtb3ZlcmZsb3ctcGFnZWQteC1hbmNlc3Rvci5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctc2Nyb2xsLWFuY2VzdG9y
LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2Zp
eGVkLWFuZC1vdmVyZmxvdy1zY3JvbGwtYW5jZXN0b3IuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtaGVpZ2h0LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWhlaWdodC1hbmNl
c3Rvci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1t
YXhoZWlnaHQtYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90
ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0LWFuY2VzdG9yLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLW1heGhlaWdodC1leHBlY3RlZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1tYXhoZWlnaHQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtcGVyY2Vu
dC1tYXhoZWlnaHQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1
dG9zaXppbmcvZml4ZWQtcGVyY2VudC1tYXhoZWlnaHQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtcGVyY2VudC1vZi12aWV3cG9ydC1tYXhoZWlnaHQt
ZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4
ZWQtcGVyY2VudC1vZi12aWV3cG9ydC1tYXhoZWlnaHQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtdGhlbi1vdmVyZmxvdy1hbmNlc3RvcnMtZXhwZWN0
ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtdGhl
bi1vdmVyZmxvdy1hbmNlc3RvcnMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1
dG9zaXppbmcvZml4ZWQtd2l0aGluLW92ZXJmbG93LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXdpdGhpbi1vdmVyZmxv
dy1hbmNlc3Rvci5odG1sOiBBZGRlZC4KKwogMjAxMi0wOS0wNSAgTGF1cm8gTmV0byAgPGxhdXJv
Lm5ldG9Ab3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBbUXRdIHBsYXRmb3JtL3F0L3BsdWdpbnMv
cXQtcXdpZGdldC1wbHVnaW4uaHRtbCBmYWlscwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtYW5kLW92ZXJmbG93LWF1dG8tYW5jZXN0b3ItZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVy
Zmxvdy1hdXRvLWFuY2VzdG9yLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMThhNDkxOGZmMzI3
NTM3MzNjMDIwMTgyNzYxZWU2OTY4NTJiZDc2NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1hdXRvLWFuY2VzdG9y
LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxz
dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sIHsgZm9udC1zaXplOiAxNnB4O30KK2JvZHkgeyB3
aWR0aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKworPC9oZWFkPgorPGJvZHk+CisK
KzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4OyBvdmVyZmxvdy15OiBhdXRvIj4KKyAgICA8
ZGl2PgorICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDIuNXJlbSI+CisgICAgICAgICAg
ICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQtc2l6
ZSwgc2luY2UgdGhlIGdyYW5kcGFyZW50J3Mgb3ZlcmZsb3cteTphdXRvIG1lYW5zIHRoZSBhdmFp
bGFibGUgaGVpZ2h0IGlzIHVuY29uc3RyYWluZWQgKGRlc3BpdGUgdGhlIGdyYW5kcGFyZW50IGFs
c28gaGF2aW5nIGEgbWF4LWhlaWdodCkuCisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorPC9k
aXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZs
b3ctYXV0by1hbmNlc3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcv
Zml4ZWQtYW5kLW92ZXJmbG93LWF1dG8tYW5jZXN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NTQ3NmQ5
MDBlNDY4OTA0MDY2OWVjNmZjM2I4MTkxNDA2YWY0OWQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtYW5kLW92ZXJmbG93LWF1dG8tYW5j
ZXN0b3IuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxl
IHR5cGU9InRleHQvY3NzIj4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7fQorYm9keSB7IHdpZHRo
OiA4MDBweDsgbWFyZ2luOiAwOyB9Cis8L3N0eWxlPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRl
cm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0
ODApOworfSBlbHNlIGlmICh3aW5kb3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBj
b25zb2xlLndhcm4oIlRoaXMgdGVzdCBkZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0
dGluZyBiZWluZyB0cnVlLCBzbyBydW4gaXQgaW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5
IGVuYWJsZSBUZXh0IEF1dG9zaXppbmcsIGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3
aXRoIDMyMHB4IGRldmljZS13aWR0aCAobGlrZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmlu
ZSBIQUNLX0ZPUkNFX1RFWFRfQVVUT1NJWklOR19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+
CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBweDsgb3Zl
cmZsb3cteTogYXV0byI+CisgICAgPGRpdj4KKyAgICAgICAgPGRpdj4KKyAgICAgICAgICAgIFRo
aXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udC1zaXplLCBz
aW5jZSB0aGUgZ3JhbmRwYXJlbnQncyBvdmVyZmxvdy15OmF1dG8gbWVhbnMgdGhlIGF2YWlsYWJs
ZSBoZWlnaHQgaXMgdW5jb25zdHJhaW5lZCAoZGVzcGl0ZSB0aGUgZ3JhbmRwYXJlbnQgYWxzbyBo
YXZpbmcgYSBtYXgtaGVpZ2h0KS4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4K
KworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1o
aWRkZW4tYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRv
c2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1oaWRkZW4tYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44YzQ0ODk0MTE2MWMwN2NhZDRjNzBhOWNiMTMyZTk5MGQ5MDkzMzBkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtYW5k
LW92ZXJmbG93LWhpZGRlbi1hbmNlc3Rvci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjIgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorYm9keSB7IHdp
ZHRoOiA4MDBweDsgbWFyZ2luOiAwOyB9Cis8L3N0eWxlPgorCis8L2hlYWQ+Cis8Ym9keT4KKwor
PGRpdiBzdHlsZT0ibWF4LWhlaWdodDogNTAwcHg7IG92ZXJmbG93LXk6IGhpZGRlbiI+CisgICAg
PGRpdj4KKyAgICAgICAgPGRpdj4KKyAgICAgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgbm90
IGF1dG9zaXplZCwgYXMgYXV0b3NpemluZyB1c3VhbGx5IGNhdXNlcyB0ZXh0IHRvIHdyYXAgb250
byBtb3JlIGxpbmVzLCB3aGljaCBtaWdodCBjYXVzZSBpdCB0byBvdmVyZmxvdyB0aGUgZ3JhbmRw
YXJlbnQncyBtYXgtaGVpZ2h0ICh0aGUgZ3JhbmRwYXJlbnQncyBvdmVyZmxvdy15OmhpZGRlbiBk
b2Vzbid0IHByZXZlbnQgdGhpcywgYXMgaGlkZGVuIGRvZXNuJ3QgZXh0ZW5kIHRoZSBhdmFpbGFi
bGUgY29udGVudCBoZWlnaHQpLgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2Pgor
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtYW5kLW92ZXJmbG93LWhp
ZGRlbi1hbmNlc3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4
ZWQtYW5kLW92ZXJmbG93LWhpZGRlbi1hbmNlc3Rvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5ZTI0NDg2
ZjM4NzBjMjY5NjViNDJhYTJjM2FlZGZhZmI1NjI5MzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctaGlkZGVuLWFu
Y2VzdG9yLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHls
ZSB0eXBlPSJ0ZXh0L2NzcyI+Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwv
c3R5bGU+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50
ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3Npemlu
Z0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0
b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5j
b25zb2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRl
cGVuZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBp
dCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywg
YW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChs
aWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0la
SU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxk
aXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4OyBvdmVyZmxvdy15OiBoaWRkZW4iPgorICAgIDxk
aXY+CisgICAgICAgIDxkaXY+CisgICAgICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJlIG5vdCBh
dXRvc2l6ZWQsIGFzIGF1dG9zaXppbmcgdXN1YWxseSBjYXVzZXMgdGV4dCB0byB3cmFwIG9udG8g
bW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8gb3ZlcmZsb3cgdGhlIGdyYW5kcGFy
ZW50J3MgbWF4LWhlaWdodCAodGhlIGdyYW5kcGFyZW50J3Mgb3ZlcmZsb3cteTpoaWRkZW4gZG9l
c24ndCBwcmV2ZW50IHRoaXMsIGFzIGhpZGRlbiBkb2Vzbid0IGV4dGVuZCB0aGUgYXZhaWxhYmxl
IGNvbnRlbnQgaGVpZ2h0KS4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKwor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1wYWdl
ZC14LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy9maXhlZC1hbmQtb3ZlcmZsb3ctcGFnZWQteC1hbmNlc3Rvci1leHBlY3RlZC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmJiNTM2ODdkYzkwODczMTgwZjRhMTU5NzVmOTRiZDk1ZGE0ZDg5MGQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQt
b3ZlcmZsb3ctcGFnZWQteC1hbmNlc3Rvci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjMgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoraHRtbCB7IGZv
bnQtc2l6ZTogMTZweDt9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5
bGU+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBweDsg
b3ZlcmZsb3cteTogLXdlYmtpdC1wYWdlZC14Ij4KKyAgICA8ZGl2PgorICAgICAgICA8ZGl2IHN0
eWxlPSJmb250LXNpemU6IDIuNXJlbSI+CisgICAgICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJl
IGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZvbnQtc2l6ZSwgc2luY2UgdGhlIGdyYW5kcGFy
ZW50J3Mgb3ZlcmZsb3cteTotd2Via2l0LXBhZ2VkLXggbWVhbnMgdGhlIGF2YWlsYWJsZSBoZWln
aHQgaXMgdW5jb25zdHJhaW5lZCAoZGVzcGl0ZSB0aGUgZ3JhbmRwYXJlbnQgYWxzbyBoYXZpbmcg
YSBtYXgtaGVpZ2h0KS4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1wYWdlZC14
LWFuY2VzdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1h
bmQtb3ZlcmZsb3ctcGFnZWQteC1hbmNlc3Rvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxYzUzOTlmYjc5
OTIyZmM2OGFmNjliZWNmYTNiNzY2ZDRjMGUyMTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctcGFnZWQteC1hbmNl
c3Rvci5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUg
dHlwZT0idGV4dC9jc3MiPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDt9Citib2R5IHsgd2lkdGg6
IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4
MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNv
bnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0
aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkg
ZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdp
dGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5l
IEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4K
KworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4OyBvdmVy
Zmxvdy15OiAtd2Via2l0LXBhZ2VkLXgiPgorICAgIDxkaXY+CisgICAgICAgIDxkaXY+CisgICAg
ICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVkIGZv
bnQtc2l6ZSwgc2luY2UgdGhlIGdyYW5kcGFyZW50J3Mgb3ZlcmZsb3cteTotd2Via2l0LXBhZ2Vk
LXggbWVhbnMgdGhlIGF2YWlsYWJsZSBoZWlnaHQgaXMgdW5jb25zdHJhaW5lZCAoZGVzcGl0ZSB0
aGUgZ3JhbmRwYXJlbnQgYWxzbyBoYXZpbmcgYSBtYXgtaGVpZ2h0KS4KKyAgICAgICAgPC9kaXY+
CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5n
L2ZpeGVkLWFuZC1vdmVyZmxvdy1zY3JvbGwtYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWFuZC1vdmVyZmxvdy1zY3JvbGwtYW5j
ZXN0b3ItZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNjExZjNjYTZjN2RjMmYwY2ZlNDgzNDgx
MDM3ZmM4Y2IwYTAwNjIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
LWF1dG9zaXppbmcvZml4ZWQtYW5kLW92ZXJmbG93LXNjcm9sbC1hbmNlc3Rvci1leHBlY3RlZC5o
dG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKwor
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlwZT0i
dGV4dC9jc3MiPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDt9Citib2R5IHsgd2lkdGg6IDgwMHB4
OyBtYXJnaW46IDA7IH0KKzo6LXdlYmtpdC1zY3JvbGxiYXIgeworICAgIC8qIEtlZXBzIHRoZSB0
ZXh0IHNpemUgbXVsdGlwbGllciBhIHJvdW5kIG51bWJlci4gKi8KKyAgICB3aWR0aDogMHB4Owor
fQorPC9zdHlsZT4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6
IDUwMHB4OyBvdmVyZmxvdy15OiBzY3JvbGwiPgorICAgIDxkaXY+CisgICAgICAgIDxkaXYgc3R5
bGU9ImZvbnQtc2l6ZTogMi41cmVtIj4KKyAgICAgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUg
YXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udC1zaXplLCBzaW5jZSB0aGUgZ3JhbmRwYXJl
bnQncyBvdmVyZmxvdy15OnNjcm9sbCBtZWFucyB0aGUgYXZhaWxhYmxlIGhlaWdodCBpcyB1bmNv
bnN0cmFpbmVkIChkZXNwaXRlIHRoZSBncmFuZHBhcmVudCBhbHNvIGhhdmluZyBhIG1heC1oZWln
aHQpLgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtYW5kLW92ZXJmbG93LXNjcm9sbC1hbmNlc3Rvci5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtYW5kLW92ZXJmbG93
LXNjcm9sbC1hbmNlc3Rvci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMzYTkzNWM2Yjg0MmQ1MjRkMzYxYzBj
MzMzNmMxMTIyZjI3Y2FlNTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQtYXV0b3NpemluZy9maXhlZC1hbmQtb3ZlcmZsb3ctc2Nyb2xsLWFuY2VzdG9yLmh0bWwKQEAg
LTAsMCArMSwzNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2Nz
cyI+CitodG1sIHsgZm9udC1zaXplOiAxNnB4O30KK2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdp
bjogMDsgfQorOjotd2Via2l0LXNjcm9sbGJhciB7CisgICAgLyogS2VlcHMgdGhlIHRleHQgc2l6
ZSBtdWx0aXBsaWVyIGEgcm91bmQgbnVtYmVyLiAqLworICAgIHdpZHRoOiAwcHg7Cit9Cis8L3N0
eWxlPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitpZiAod2luZG93LmludGVy
bmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdF
bmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9z
aXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApOworfSBlbHNlIGlmICh3aW5kb3cuY29u
c29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBjb25zb2xlLndhcm4oIlRoaXMgdGVzdCBkZXBl
bmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0dGluZyBiZWluZyB0cnVlLCBzbyBydW4gaXQg
aW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9zaXppbmcsIGFu
ZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3aXRoIDMyMHB4IGRldmljZS13aWR0aCAobGlr
ZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVUT1NJWklO
R19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2
IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBweDsgb3ZlcmZsb3cteTogc2Nyb2xsIj4KKyAgICA8ZGl2
PgorICAgICAgICA8ZGl2PgorICAgICAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6
ZWQgdG8gNDBweCBjb21wdXRlZCBmb250LXNpemUsIHNpbmNlIHRoZSBncmFuZHBhcmVudCdzIG92
ZXJmbG93LXk6c2Nyb2xsIG1lYW5zIHRoZSBhdmFpbGFibGUgaGVpZ2h0IGlzIHVuY29uc3RyYWlu
ZWQgKGRlc3BpdGUgdGhlIGdyYW5kcGFyZW50IGFsc28gaGF2aW5nIGEgbWF4LWhlaWdodCkuCisg
ICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQtYXV0b3NpemluZy9maXhlZC1oZWlnaHQtYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLWhlaWdodC1hbmNlc3Rvci1leHBlY3Rl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjJjZDg2ZmQzODE4ZGI1NDM2ZGNiYmMyOWNiZGVlOGYwMWUyMTdh
MGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9m
aXhlZC1oZWlnaHQtYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDIyIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2JvZHkgeyB3aWR0aDog
ODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYg
c3R5bGU9ImhlaWdodDogNTAwcHgiPgorICAgIDxkaXY+CisgICAgICAgIDxkaXY+CisgICAgICAg
ICAgICBUaGlzIHRleHQgc2hvdWxkIGJlIG5vdCBhdXRvc2l6ZWQsIGFzIGF1dG9zaXppbmcgdXN1
YWxseSBjYXVzZXMgdGV4dCB0byB3cmFwIG9udG8gbW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1
c2UgaXQgdG8gb3ZlcmZsb3cgdGhlIGdyYW5kcGFyZW50J3MgaGVpZ2h0LgorICAgICAgICA8L2Rp
dj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXpp
bmcvZml4ZWQtaGVpZ2h0LWFuY2VzdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0
b3NpemluZy9maXhlZC1oZWlnaHQtYW5jZXN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZWM2ZWJkZmMz
ZGJkMzE5NmI0YWU0MDAyZDM3N2M1ZjE4NmUwYmIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtaGVpZ2h0LWFuY2VzdG9yLmh0bWwKQEAg
LTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBu
YW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2Nz
cyI+Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7
CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRvd1Np
emVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNvbnNv
bGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRl
eHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVy
VHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1c2Ug
YSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMgb3Ig
aVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1Au
Iik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9ImhlaWdo
dDogNTAwcHgiPgorICAgIDxkaXY+CisgICAgICAgIDxkaXY+CisgICAgICAgICAgICBUaGlzIHRl
eHQgc2hvdWxkIGJlIG5vdCBhdXRvc2l6ZWQsIGFzIGF1dG9zaXppbmcgdXN1YWxseSBjYXVzZXMg
dGV4dCB0byB3cmFwIG9udG8gbW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8gb3Zl
cmZsb3cgdGhlIGdyYW5kcGFyZW50J3MgaGVpZ2h0LgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rp
dj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4
aGVpZ2h0LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0
b3NpemluZy9maXhlZC1tYXhoZWlnaHQtYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yNDliMWJmNjExOGJiZTk5OGQyYzMwMzViZWZhMjVhN2FmOGYxZmI2Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0LWFu
Y2VzdG9yLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAw
Ij4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46
IDA7IH0KKzwvc3R5bGU+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJtYXgtaGVp
Z2h0OiA1MDBweCI+CisgICAgPGRpdj4KKyAgICAgICAgPGRpdj4KKyAgICAgICAgICAgIFRoaXMg
dGV4dCBzaG91bGQgYmUgbm90IGF1dG9zaXplZCwgYXMgYXV0b3NpemluZyB1c3VhbGx5IGNhdXNl
cyB0ZXh0IHRvIHdyYXAgb250byBtb3JlIGxpbmVzLCB3aGljaCBtaWdodCBjYXVzZSBpdCB0byBv
dmVyZmxvdyB0aGUgZ3JhbmRwYXJlbnQncyBtYXgtaGVpZ2h0LgorICAgICAgICA8L2Rpdj4KKyAg
ICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4
ZWQtbWF4aGVpZ2h0LWFuY2VzdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy9maXhlZC1tYXhoZWlnaHQtYW5jZXN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZWI4Nzk5Zjg1
YTU0NDA0OGZjMmJlN2QwODM1NGJhMTI2MWQ0YzFhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0LWFuY2VzdG9yLmh0bWwK
QEAgLTAsMCArMSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0
L2NzcyI+Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1
ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRv
d1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNv
bnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhl
IFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVu
ZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1
c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMg
b3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tU
T1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im1h
eC1oZWlnaHQ6IDUwMHB4Ij4KKyAgICA8ZGl2PgorICAgICAgICA8ZGl2PgorICAgICAgICAgICAg
VGhpcyB0ZXh0IHNob3VsZCBiZSBub3QgYXV0b3NpemVkLCBhcyBhdXRvc2l6aW5nIHVzdWFsbHkg
Y2F1c2VzIHRleHQgdG8gd3JhcCBvbnRvIG1vcmUgbGluZXMsIHdoaWNoIG1pZ2h0IGNhdXNlIGl0
IHRvIG92ZXJmbG93IHRoZSBncmFuZHBhcmVudCdzIG1heC1oZWlnaHQuCisgICAgICAgIDwvZGl2
PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Npemlu
Zy9maXhlZC1tYXhoZWlnaHQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1h
dXRvc2l6aW5nL2ZpeGVkLW1heGhlaWdodC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmN2Nm
MTE2YmI5YTJlOWIyZGEyNGMzY2FmNjViZWVmMzA4YWMyMDEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1tYXhoZWlnaHQtZXhwZWN0ZWQu
aHRtbApAQCAtMCwwICsxLDE4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisK
KzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlIHR5cGU9
InRleHQvY3NzIj4KK2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4K
KworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4Ij4KKyAg
ICBUaGlzIHRleHQgc2hvdWxkIGJlIG5vdCBhdXRvc2l6ZWQsIGFzIGF1dG9zaXppbmcgdXN1YWxs
eSBjYXVzZXMgdGV4dCB0byB3cmFwIG9udG8gbW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1c2Ug
aXQgdG8gb3ZlcmZsb3cgdGhlIGJsb2NrJ3MgbWF4LWhlaWdodC4KKzwvZGl2PgorCis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0Lmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1tYXhoZWlnaHQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hMzM2ZjdkNWNhNTBjNjU3MDhkNTIyZGM4ODgzYzRiODJmZTE4ZDJmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtbWF4aGVpZ2h0Lmh0
bWwKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0
ZXh0L2NzcyI+Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisK
KzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7
CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQo
dHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dp
bmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYm
IGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24g
dGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1w
UmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhl
ciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVz
IFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RF
U0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9
Im1heC1oZWlnaHQ6IDUwMHB4Ij4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIG5vdCBhdXRvc2l6
ZWQsIGFzIGF1dG9zaXppbmcgdXN1YWxseSBjYXVzZXMgdGV4dCB0byB3cmFwIG9udG8gbW9yZSBs
aW5lcywgd2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8gb3ZlcmZsb3cgdGhlIGJsb2NrJ3MgbWF4LWhl
aWdodC4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQt
cGVyY2VudC1tYXhoZWlnaHQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1h
dXRvc2l6aW5nL2ZpeGVkLXBlcmNlbnQtbWF4aGVpZ2h0LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZmIwNDVlMDMyYzY1NTM0ZWFhODgyMDBmNjg5N2I2YzE3MGVhN2E2ZAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXBlcmNlbnQtbWF4
aGVpZ2h0LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAw
Ij4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sLCBib2R5IHsgaGVpZ2h0OiAxMDAlOyB9
Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzwvaGVhZD4K
Kzxib2R5PgorCis8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiAxMDAlIj4KKyAgICBUaGlzIHRleHQg
c2hvdWxkIGJlIG5vdCBhdXRvc2l6ZWQsIGFzIGF1dG9zaXppbmcgdXN1YWxseSBjYXVzZXMgdGV4
dCB0byB3cmFwIG9udG8gbW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8gb3ZlcmZs
b3cgdGhlIGJsb2NrJ3MgbWF4LWhlaWdodCAocHJvdmlkZWQgYXMgYSBwZXJjZW50YWdlKS4KKzwv
ZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtcGVyY2VudC1t
YXhoZWlnaHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXBl
cmNlbnQtbWF4aGVpZ2h0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2I5MzQ5MDJiMTMxNTIwNDBkYzRmOTVl
ODhhZGFjMDFlZDExODJjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC1hdXRvc2l6aW5nL2ZpeGVkLXBlcmNlbnQtbWF4aGVpZ2h0Lmh0bWwKQEAgLTAsMCArMSwyOCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9y
dCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sLCBi
b2R5IHsgaGVpZ2h0OiAxMDAlOyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0K
Kzwvc3R5bGU+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cu
aW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3Np
emluZ0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0
QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRv
dy5jb25zb2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0
IGRlcGVuZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1
biBpdCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3Npemlu
ZywgYW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRo
IChsaWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRP
U0laSU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisK
KzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDEwMCUiPgorICAgIFRoaXMgdGV4dCBzaG91bGQgYmUg
bm90IGF1dG9zaXplZCwgYXMgYXV0b3NpemluZyB1c3VhbGx5IGNhdXNlcyB0ZXh0IHRvIHdyYXAg
b250byBtb3JlIGxpbmVzLCB3aGljaCBtaWdodCBjYXVzZSBpdCB0byBvdmVyZmxvdyB0aGUgYmxv
Y2sncyBtYXgtaGVpZ2h0IChwcm92aWRlZCBhcyBhIHBlcmNlbnRhZ2UpLgorPC9kaXY+CisKKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC1wZXJjZW50LW9mLXZpZXdwb3J0
LW1heGhlaWdodC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXpp
bmcvZml4ZWQtcGVyY2VudC1vZi12aWV3cG9ydC1tYXhoZWlnaHQtZXhwZWN0ZWQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hMDI1ZmI5MTk2YzAxYTYwZDNhMDU2NTNiZTUzZDU3MTQyNTczNTFmCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtcGVyY2Vu
dC1vZi12aWV3cG9ydC1tYXhoZWlnaHQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE4IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBj
b250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2JvZHkgeyB3aWR0
aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKworPC9oZWFkPgorPGJvZHk+CisKKzxk
aXYgc3R5bGU9Im1heC1oZWlnaHQ6IDEwMHZoIj4KKyAgICBUaGlzIHRleHQgc2hvdWxkIGJlIG5v
dCBhdXRvc2l6ZWQsIGFzIGF1dG9zaXppbmcgdXN1YWxseSBjYXVzZXMgdGV4dCB0byB3cmFwIG9u
dG8gbW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8gb3ZlcmZsb3cgdGhlIGJsb2Nr
J3MgbWF4LWhlaWdodCAocHJvdmlkZWQgYXMgYSB2aWV3cG9ydCBwZXJjZW50YWdlKS4KKzwvZGl2
PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtcGVyY2VudC1vZi12
aWV3cG9ydC1tYXhoZWlnaHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5n
L2ZpeGVkLXBlcmNlbnQtb2Ytdmlld3BvcnQtbWF4aGVpZ2h0Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjk2
ZTk4NjdiMmU4MTFkZDU0ZDg1YzYyYzc2ZTZhOTc3ZjJmYTY0ZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXBlcmNlbnQtb2Ytdmlld3Bv
cnQtbWF4aGVpZ2h0Lmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4K
KzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7
IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5k
b3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0
b3NpemluZ0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRU
ZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdp
bmRvdy5jb25zb2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0
ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNv
IHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3Np
emluZywgYW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdp
ZHRoIChsaWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9B
VVRPU0laSU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+
CisKKzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDEwMHZoIj4KKyAgICBUaGlzIHRleHQgc2hvdWxk
IGJlIG5vdCBhdXRvc2l6ZWQsIGFzIGF1dG9zaXppbmcgdXN1YWxseSBjYXVzZXMgdGV4dCB0byB3
cmFwIG9udG8gbW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8gb3ZlcmZsb3cgdGhl
IGJsb2NrJ3MgbWF4LWhlaWdodCAocHJvdmlkZWQgYXMgYSB2aWV3cG9ydCBwZXJjZW50YWdlKS4K
KzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtdGhlbi1v
dmVyZmxvdy1hbmNlc3RvcnMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1h
dXRvc2l6aW5nL2ZpeGVkLXRoZW4tb3ZlcmZsb3ctYW5jZXN0b3JzLWV4cGVjdGVkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZmM2ZGMzMDU2ZTJhNjk1ZDQ0NjQ2ZTYxM2FkZjk4MjNlYTYxN2E2ZAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXRoZW4t
b3ZlcmZsb3ctYW5jZXN0b3JzLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVu
dD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sIHsgZm9udC1zaXpl
OiAxNnB4O30KK2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKwor
PC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4Ij4KKyAgICA8
ZGl2IHN0eWxlPSJvdmVyZmxvdy15OiBhdXRvIj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1z
aXplOiAyLjVyZW0iPgorICAgICAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQg
dG8gNDBweCBjb21wdXRlZCBmb250LXNpemUsIHNpbmNlIHRoZSBwYXJlbnQncyBvdmVyZmxvdy15
OmF1dG8gbWVhbnMgdGhlIGF2YWlsYWJsZSBoZWlnaHQgaXMgdW5jb25zdHJhaW5lZCAoZGVzcGl0
ZSB0aGUgZ3JhbmRwYXJlbnQgaGF2aW5nIGEgbWF4LWhlaWdodCkuCisgICAgICAgIDwvZGl2Pgor
ICAgIDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9m
aXhlZC10aGVuLW92ZXJmbG93LWFuY2VzdG9ycy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
LWF1dG9zaXppbmcvZml4ZWQtdGhlbi1vdmVyZmxvdy1hbmNlc3RvcnMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zYWJkYjczNjlhOWRhMTE1NWQ1ZTBkNzkxZDNhNDM3M2M4NzM4YjY0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtdGhlbi1vdmVyZmxv
dy1hbmNlc3RvcnMuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgor
PHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7fQorYm9keSB7
IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyB9Cis8L3N0eWxlPgorCis8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCI+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRl
cm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKHRydWUpOworICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUo
MzIwLCA0ODApOworfSBlbHNlIGlmICh3aW5kb3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsK
KyAgICBjb25zb2xlLndhcm4oIlRoaXMgdGVzdCBkZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9zaXpp
bmcgc2V0dGluZyBiZWluZyB0cnVlLCBzbyBydW4gaXQgaW4gRHVtcFJlbmRlclRyZWUsIG9yIG1h
bnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9zaXppbmcsIGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRl
dmljZSB3aXRoIDMyMHB4IGRldmljZS13aWR0aCAobGlrZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9y
IGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVUT1NJWklOR19PTl9ERVNLVE9QLiIpOworfQorPC9z
Y3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBw
eCI+CisgICAgPGRpdiBzdHlsZT0ib3ZlcmZsb3cteTogYXV0byI+CisgICAgICAgIDxkaXY+Cisg
ICAgICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byA0MHB4IGNvbXB1dGVk
IGZvbnQtc2l6ZSwgc2luY2UgdGhlIHBhcmVudCdzIG92ZXJmbG93LXk6YXV0byBtZWFucyB0aGUg
YXZhaWxhYmxlIGhlaWdodCBpcyB1bmNvbnN0cmFpbmVkIChkZXNwaXRlIHRoZSBncmFuZHBhcmVu
dCBoYXZpbmcgYSBtYXgtaGVpZ2h0KS4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rp
dj4KKworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXdpdGhpbi1vdmVy
Zmxvdy1hbmNlc3Rvci1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9z
aXppbmcvZml4ZWQtd2l0aGluLW92ZXJmbG93LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYmFmNzYwNzc2NDJlZDczOWM4OWFhOGVmNWI4NjliODU3NTU0ZDUwMQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2ZpeGVkLXdpdGhpbi1v
dmVyZmxvdy1hbmNlc3Rvci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorYm9keSB7IHdpZHRoOiA4MDBw
eDsgbWFyZ2luOiAwOyB9Cis8L3N0eWxlPgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHls
ZT0ib3ZlcmZsb3cteTogYXV0byI+CisgICAgPGRpdiBzdHlsZT0ibWF4LWhlaWdodDogNTAwcHgi
PgorICAgICAgICA8ZGl2PgorICAgICAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBub3QgYXV0
b3NpemVkLCBhcyBhdXRvc2l6aW5nIHVzdWFsbHkgY2F1c2VzIHRleHQgdG8gd3JhcCBvbnRvIG1v
cmUgbGluZXMsIHdoaWNoIG1pZ2h0IGNhdXNlIGl0IHRvIG92ZXJmbG93IHRoZSBwYXJlbnQncyBt
YXgtaGVpZ2h0ICh0aGUgZ3JhbmRwYXJlbnQncyBvdmVyZmxvdy15OmF1dG8gZG9lc24ndCBwcmV2
ZW50IHRoaXMpLgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvZml4ZWQtd2l0aGluLW92ZXJmbG93LWFuY2VzdG9y
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9maXhlZC13aXRoaW4tb3Zl
cmZsb3ctYW5jZXN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MzBiZmY2NTFkMTNlY2QyYWMxMjlmM2I2
NjZlZGQxMzczZTBiNDA5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
LWF1dG9zaXppbmcvZml4ZWQtd2l0aGluLW92ZXJmbG93LWFuY2VzdG9yLmh0bWwKQEAgLTAsMCAr
MSwzMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2
aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Citi
b2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7CisgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVy
cmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNvbnNvbGUud2Fy
bikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQgQXV0
b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJlZSwg
b3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1c2UgYSBtb2Jp
bGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMgb3IgaVBob25l
KSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1AuIik7Cit9
Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im92ZXJmbG93LXk6
IGF1dG8iPgorICAgIDxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4Ij4KKyAgICAgICAgPGRp
dj4KKyAgICAgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgbm90IGF1dG9zaXplZCwgYXMgYXV0
b3NpemluZyB1c3VhbGx5IGNhdXNlcyB0ZXh0IHRvIHdyYXAgb250byBtb3JlIGxpbmVzLCB3aGlj
aCBtaWdodCBjYXVzZSBpdCB0byBvdmVyZmxvdyB0aGUgcGFyZW50J3MgbWF4LWhlaWdodCAodGhl
IGdyYW5kcGFyZW50J3Mgb3ZlcmZsb3cteTphdXRvIGRvZXNuJ3QgcHJldmVudCB0aGlzKS4KKyAg
ICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163515</attachid>
            <date>2012-09-11 21:38:10 -0700</date>
            <delta_ts>2012-09-12 08:47:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96143-20120911213745.patch</filename>
            <type>text/plain</type>
            <size>43305</size>
            <attacher name="John Mellor">johnme</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3Njk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWY2NGExNWYwODM4NWFk
YjM5OGE5OGZmMDBjNTJjYTFjZmZkN2EzNS4uNTg2YzVjZjEyZjM3YmI2ZjhjN2RhNjA0OWZiYjVi
YjA5MzY1NWM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEyLTA5LTExICBKb2hu
IE1lbGxvciAgPGpvaG5tZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVGV4dCBBdXRvc2l6aW5n
OiBEb24ndCBhdXRvc2l6ZSB0ZXh0IGluIGNvbnN0cmFpbmVkIGhlaWdodCBlbGVtZW50cy4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2MTQzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXV0b3NpemluZyB0
ZXh0IHdpdGhpbiBjb25zdGFpbmVkIGhlaWdodCBlbGVtZW50cyB1c3VhbGx5IGdvZXMgYmFkbHks
CisgICAgICAgIGFzIHRoZSBhdXRvc2l6ZWQgdGV4dCB3aWxsIHdyYXAgb250byBtb3JlIGxpbmVz
LCBoZW5jZSBpdCB3aWxsIGJlY29tZQorICAgICAgICB0YWxsZXIgYW5kIG9mdGVuIG92ZXJmbG93
IGl0cyBjb250YWluZXIsIGJyZWFraW5nIHRoZSBwYWdlJ3MgbGF5b3V0LgorCisgICAgICAgIFRo
aXMgcGF0Y2ggZGlzYWJsZXMgYXV0b3NpemluZyBmb3IgYmxvY2tzIHdpdGggYSBmaXhlZCBoZWln
aHQgYW5jZXN0b3IKKyAgICAgICAgKG9yIHdoaWNoIGFyZSBmaXhlZCBoZWlnaHQgdGhlbXNlbHZl
cyksIHVubGVzcyB0aGUgbG93ZXN0IHN1Y2ggYW5jZXN0b3IKKyAgICAgICAgKG9yIG9uZSBvZiB0
aGUgYW5jZXN0b3JzIGluIGJldHdlZW4gaXQgYW5kIHRoZSB0ZXh0IGJsb2NrKSBoYXMKKyAgICAg
ICAgb3ZlcmZsb3cteTphdXRvL3Njcm9sbCwgaW4gd2hpY2ggY2FzZSB0aGUgaGVpZ2h0IGlzbid0
IHJlYWxseSBmaXhlZC4KKworICAgICAgICBUZXN0czogZmFzdC90ZXh0LWF1dG9zaXppbmcvY29u
c3RyYWluZWQtYW5kLW92ZXJmbG93LWF1dG8tYW5jZXN0b3IuaHRtbAorICAgICAgICAgICAgICAg
ZmFzdC90ZXh0LWF1dG9zaXppbmcvY29uc3RyYWluZWQtYW5kLW92ZXJmbG93LWhpZGRlbi1hbmNl
c3Rvci5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5l
ZC1hbmQtb3ZlcmZsb3ctcGFnZWQteC1hbmNlc3Rvci5odG1sCisgICAgICAgICAgICAgICBmYXN0
L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC1hbmQtb3ZlcmZsb3ctc2Nyb2xsLWFuY2VzdG9y
Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLWhl
aWdodC1hbmNlc3Rvci5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQtYXV0b3NpemluZy9j
b25zdHJhaW5lZC1tYXhoZWlnaHQtYW5jZXN0b3IuaHRtbAorICAgICAgICAgICAgICAgZmFzdC90
ZXh0LWF1dG9zaXppbmcvY29uc3RyYWluZWQtbWF4aGVpZ2h0Lmh0bWwKKyAgICAgICAgICAgICAg
IGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLXBlcmNlbnQtbWF4aGVpZ2h0Lmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLXBlcmNlbnQt
b2Ytdmlld3BvcnQtbWF4aGVpZ2h0Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvdGV4dC1hdXRv
c2l6aW5nL2NvbnN0cmFpbmVkLXRoZW4tb3ZlcmZsb3ctYW5jZXN0b3JzLmh0bWwKKyAgICAgICAg
ICAgICAgIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLXRoZW4tb3ZlcmZsb3ctdGhl
bi1wb3NpdGlvbmVkLWFuY2VzdG9ycy5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQtYXV0
b3NpemluZy9jb25zdHJhaW5lZC10aGVuLXBvc2l0aW9uLWFic29sdXRlLWFuY2VzdG9ycy5odG1s
CisgICAgICAgICAgICAgICBmYXN0L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC10aGVuLXBv
c2l0aW9uLWZpeGVkLWFuY2VzdG9ycy5odG1sCisgICAgICAgICAgICAgICBmYXN0L3RleHQtYXV0
b3NpemluZy9jb25zdHJhaW5lZC13aXRoaW4tb3ZlcmZsb3ctYW5jZXN0b3IuaHRtbAorCisgICAg
ICAgICogcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4
dEF1dG9zaXplcjo6cHJvY2Vzc0JveCk6CisKKyAgICAgICAgICAgIFNraXBzIGJveGVzIGZvciB3
aGljaCBjb250ZW50SGVpZ2h0SXNDb25zdHJhaW5lZCByZXR1cm5zIHRydWUuCisKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRBdXRvc2l6ZXI6OmNvbnRlbnRIZWlnaHRJc0NvbnN0cmFpbmVkKToKKwor
ICAgICAgICAgICAgV2Fsa3MgdXAgdGhlIHJlbmRlciB0cmVlIHVudGlsIGl0IGZpbmRzIGVpdGhl
ciBhIGNvbnN0cmFpbmVkIGhlaWdodAorICAgICAgICAgICAgb3Igb3ZlcmZsb3cteTphdXRvL3Nj
cm9sbCBhbmNlc3Rvci4KKwogMjAxMi0wOS0wNSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9u
QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkOyByZXZlcnQgYSBjaGFuZ2UgdG8gU2Ny
b2xsaW5nVHJlZU5vZGVNYWMgd2hpY2ggYWNjaWRlbnRhbGx5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvVGV4dEF1dG9zaXplci5jcHAKaW5kZXggNGNkNzM1YTFjZDNlYzA4NDRlMTFmNWQ3MWUw
YjNjZmFhYjQ3Y2Y1MS4uNTk4YmJkN2RmODAyNjg3OWYxNTg5MTg5ZjMxMzdhNmRiMDBkNzhhMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmNwcApAQCAtNzcsOCAr
NzcsMjYgQEAgYm9vbCBUZXh0QXV0b3NpemVyOjpwcm9jZXNzU3VidHJlZShSZW5kZXJPYmplY3Qq
IGxheW91dFJvb3QpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBib29sIGNvbnRlbnRI
ZWlnaHRJc0NvbnN0cmFpbmVkKGNvbnN0IFJlbmRlckJveCogYm94KQoreworICAgIC8vIEZJWE1F
OiBQcm9wYWdhdGUgY29uc3RyYWluZWRuZXNzIGRvd24gdGhlIHRyZWUsIHRvIGF2b2lkIGluZWZm
aWNpZW50bHkgd2Fsa2luZyBiYWNrIHVwIGZyb20gZWFjaCBib3guCisgICAgLy8gRklYTUU6IFRo
aXMgY29kZSBuZWVkcyB0byB0YWtlIGludG8gYWNjb3VudCB2ZXJ0aWNhbCB3cml0aW5nIG1vZGVz
LgorICAgIC8vIEZJWE1FOiBDb25zaWRlciBhZGRpdGlvbmFsIGhldXJpc3RpY3MsIHN1Y2ggYXMg
aWdub3JpbmcgZml4ZWQgaGVpZ2h0cyBpZiB0aGUgY29udGVudCBpcyBhbHJlYWR5IG92ZXJmbG93
aW5nIGJlZm9yZSBhdXRvc2l6aW5nIGtpY2tzIGluLgorICAgIGZvciAoY29uc3QgUmVuZGVyQm94
KiBjb250YWluZXIgPSBib3g7IGNvbnRhaW5lcjsgY29udGFpbmVyID0gY29udGFpbmVyLT5jb250
YWluaW5nQmxvY2soKSkgeworICAgICAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSBjb250YWluZXIt
PnN0eWxlKCk7CisgICAgICAgIGlmIChzdHlsZS0+b3ZlcmZsb3dZKCkgPj0gT1NDUk9MTCkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKHN0eWxlLT5oZWlnaHQoKS5pc1Nw
ZWNpZmllZCgpIHx8IHN0eWxlLT5tYXhIZWlnaHQoKS5pc1NwZWNpZmllZCgpKQorICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwogdm9pZCBUZXh0
QXV0b3NpemVyOjpwcm9jZXNzQm94KFJlbmRlckJveCogYm94LCBjb25zdCBJbnRTaXplJiB3aW5k
b3dTaXplLCBjb25zdCBJbnRTaXplJiBsYXlvdXRTaXplKQogeworICAgIGlmIChjb250ZW50SGVp
Z2h0SXNDb25zdHJhaW5lZChib3gpKQorICAgICAgICByZXR1cm47CisKICAgICBpbnQgbG9naWNh
bFdpbmRvd1dpZHRoID0gYm94LT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gd2luZG93U2l6
ZS53aWR0aCgpIDogd2luZG93U2l6ZS5oZWlnaHQoKTsKICAgICBpbnQgbG9naWNhbExheW91dFdp
ZHRoID0gYm94LT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gbGF5b3V0U2l6ZS53aWR0aCgp
IDogbGF5b3V0U2l6ZS5oZWlnaHQoKTsKICAgICAvLyBJZ25vcmUgYm94IHdpZHRoIGluIGV4Y2Vz
cyBvZiB0aGUgbGF5b3V0IHdpZHRoLCB0byBhdm9pZCBleHRyZW1lIG11bHRpcGxpZXJzLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGEyMTBmOTFlYjhlYzJhODQzMTNmN2FiYjBiNzg5OWU4N2E2YTg4MTUuLjJkMmIzYWY2Nzlm
ZjAzMDkyOTZiZjllMzM2OGQyNTA2ODFlNGMxYTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAx
Mi0wOS0xMSAgSm9obiBNZWxsb3IgIDxqb2hubWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFRl
eHQgQXV0b3NpemluZzogRG9uJ3QgYXV0b3NpemUgdGV4dCBpbiBjb25zdHJhaW5lZCBoZWlnaHQg
ZWxlbWVudHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05NjE0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZGVkIHRlc3RzIHdpdGggdmFyaW91cyBraW5kcywgb3JkZXJzIGFuZCBuZXN0aW5ncyBvZiBj
b25zdHJhaW5lZAorICAgICAgICBoZWlnaHQsIG92ZXJmbG93LXkgYW5kIHBvc2l0aW9uZWQgZWxl
bWVudHMuCisKKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC1hbmQt
b3ZlcmZsb3ctYXV0by1hbmNlc3Rvci1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC1hbmQtb3ZlcmZsb3ctYXV0by1hbmNlc3Rv
ci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5l
ZC1hbmQtb3ZlcmZsb3ctaGlkZGVuLWFuY2VzdG9yLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLWFuZC1vdmVyZmxvdy1oaWRk
ZW4tYW5jZXN0b3IuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcv
Y29uc3RyYWluZWQtYW5kLW92ZXJmbG93LXBhZ2VkLXgtYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvY29uc3RyYWluZWQtYW5kLW92
ZXJmbG93LXBhZ2VkLXgtYW5jZXN0b3IuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0
LWF1dG9zaXppbmcvY29uc3RyYWluZWQtYW5kLW92ZXJmbG93LXNjcm9sbC1hbmNlc3Rvci1leHBl
Y3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9jb25zdHJh
aW5lZC1hbmQtb3ZlcmZsb3ctc2Nyb2xsLWFuY2VzdG9yLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLWhlaWdodC1hbmNlc3Rvci1leHBlY3Rl
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5l
ZC1oZWlnaHQtYW5jZXN0b3IuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9z
aXppbmcvY29uc3RyYWluZWQtbWF4aGVpZ2h0LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLW1heGhlaWdodC1h
bmNlc3Rvci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQtYXV0b3NpemluZy9jb25z
dHJhaW5lZC1tYXhoZWlnaHQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90
ZXh0LWF1dG9zaXppbmcvY29uc3RyYWluZWQtbWF4aGVpZ2h0Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLXBlcmNlbnQtbWF4aGVpZ2h0LWV4
cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0
cmFpbmVkLXBlcmNlbnQtbWF4aGVpZ2h0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4
dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLXBlcmNlbnQtb2Ytdmlld3BvcnQtbWF4aGVpZ2h0LWV4
cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0
cmFpbmVkLXBlcmNlbnQtb2Ytdmlld3BvcnQtbWF4aGVpZ2h0Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLXRoZW4tb3ZlcmZsb3ctYW5jZXN0
b3JzLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5n
L2NvbnN0cmFpbmVkLXRoZW4tb3ZlcmZsb3ctYW5jZXN0b3JzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGZhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLXRoZW4tb3ZlcmZsb3ctdGhlbi1w
b3NpdGlvbmVkLWFuY2VzdG9ycy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC10aGVuLW92ZXJmbG93LXRoZW4tcG9zaXRpb25l
ZC1hbmNlc3RvcnMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcv
Y29uc3RyYWluZWQtdGhlbi1wb3NpdGlvbi1hYnNvbHV0ZS1hbmNlc3RvcnMtZXhwZWN0ZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvY29uc3RyYWluZWQtdGhl
bi1wb3NpdGlvbi1hYnNvbHV0ZS1hbmNlc3RvcnMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC90ZXh0LWF1dG9zaXppbmcvY29uc3RyYWluZWQtdGhlbi1wb3NpdGlvbi1maXhlZC1hbmNlc3Rv
cnMtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcv
Y29uc3RyYWluZWQtdGhlbi1wb3NpdGlvbi1maXhlZC1hbmNlc3RvcnMuaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC90ZXh0LWF1dG9zaXppbmcvY29uc3RyYWluZWQtd2l0aGluLW92ZXJmbG93
LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC1hdXRv
c2l6aW5nL2NvbnN0cmFpbmVkLXdpdGhpbi1vdmVyZmxvdy1hbmNlc3Rvci5odG1sOiBBZGRlZC4K
KwogMjAxMi0wOS0wNSAgTGF1cm8gTmV0byAgPGxhdXJvLm5ldG9Ab3BlbmJvc3NhLm9yZz4KIAog
ICAgICAgICBbUXRdIHBsYXRmb3JtL3F0L3BsdWdpbnMvcXQtcXdpZGdldC1wbHVnaW4uaHRtbCBm
YWlscwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY29uc3Ry
YWluZWQtYW5kLW92ZXJmbG93LWF1dG8tYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLWFuZC1vdmVyZmxvdy1hdXRvLWFu
Y2VzdG9yLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjYzMmIyMzdlNTE0ZTMyMjk4MjM2MGI0
YzUwMjlhYTcxZGRkNzJlMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLWFuZC1vdmVyZmxvdy1hdXRvLWFuY2VzdG9yLWV4cGVj
dGVkLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0
eXBlPSJ0ZXh0L2NzcyI+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6
IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2
IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBweDsgb3ZlcmZsb3cteTogYXV0byI+CisgICAgPGRpdj4K
KyAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAyLjVyZW0iPgorICAgICAgICAgICAgVGhp
cyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQgdG8gNDBweCBjb21wdXRlZCBmb250LXNpemUsIHNp
bmNlIHRoZSBncmFuZHBhcmVudCdzIG92ZXJmbG93LXk6YXV0byBtZWFucyB0aGUgYXZhaWxhYmxl
IGhlaWdodCBpcyB1bmNvbnN0cmFpbmVkIChkZXNwaXRlIHRoZSBncmFuZHBhcmVudCBhbHNvIGhh
dmluZyBhIG1heC1oZWlnaHQpLgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2Pgor
Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY29uc3RyYWluZWQtYW5kLW92ZXJm
bG93LWF1dG8tYW5jZXN0b3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5n
L2NvbnN0cmFpbmVkLWFuZC1vdmVyZmxvdy1hdXRvLWFuY2VzdG9yLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MWUxNzM5NTliY2ViOGU0NGFhMzNhZDc5YzEwZDYxYmE0ZWZkOWZlMgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLWFuZC1vdmVy
Zmxvdy1hdXRvLWFuY2VzdG9yLmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9
Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7Cisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVP
dmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNvbnNvbGUu
d2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQg
QXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJl
ZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1c2UgYSBt
b2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMgb3IgaVBo
b25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1AuIik7
Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im1heC1oZWln
aHQ6IDUwMHB4OyBvdmVyZmxvdy15OiBhdXRvIj4KKyAgICA8ZGl2PgorICAgICAgICA8ZGl2Pgor
ICAgICAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQgdG8gNDBweCBjb21wdXRl
ZCBmb250LXNpemUsIHNpbmNlIHRoZSBncmFuZHBhcmVudCdzIG92ZXJmbG93LXk6YXV0byBtZWFu
cyB0aGUgYXZhaWxhYmxlIGhlaWdodCBpcyB1bmNvbnN0cmFpbmVkIChkZXNwaXRlIHRoZSBncmFu
ZHBhcmVudCBhbHNvIGhhdmluZyBhIG1heC1oZWlnaHQpLgorICAgICAgICA8L2Rpdj4KKyAgICA8
L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY29uc3Ry
YWluZWQtYW5kLW92ZXJmbG93LWhpZGRlbi1hbmNlc3Rvci1leHBlY3RlZC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY29uc3RyYWluZWQtYW5kLW92ZXJmbG93LWhpZGRl
bi1hbmNlc3Rvci1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhMGFhMDlhMTIyMjBiNTYyZWQz
MzRmNmQxMDI5ZWY2YWMxMmRlOGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC1hbmQtb3ZlcmZsb3ctaGlkZGVuLWFuY2VzdG9y
LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxz
dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsg
d2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzwvaGVhZD4KKzxib2R5Pgor
Cis8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBweDsgb3ZlcmZsb3cteTogaGlkZGVuIj4KKyAg
ICA8ZGl2PgorICAgICAgICA8ZGl2PgorICAgICAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBub3Qg
YmUgYXV0b3NpemVkIChpdHMgY29tcHV0ZWQgZm9udC1zaXplIHNob3VsZCByZW1haW4gMTZweCks
IGFzIGF1dG9zaXppbmcgdXN1YWxseSBjYXVzZXMgdGV4dCB0byB3cmFwIG9udG8gbW9yZSBsaW5l
cywgd2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8gb3ZlcmZsb3cgdGhlIGdyYW5kcGFyZW50J3MgbWF4
LWhlaWdodCAodGhlIGdyYW5kcGFyZW50J3Mgb3ZlcmZsb3cteTpoaWRkZW4gZG9lc24ndCBwcmV2
ZW50IHRoaXMsIGFzIGhpZGRlbiBkb2Vzbid0IGV4dGVuZCB0aGUgYXZhaWxhYmxlIGNvbnRlbnQg
aGVpZ2h0KS4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLWFuZC1vdmVyZmxvdy1oaWRkZW4t
YW5jZXN0b3IuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFp
bmVkLWFuZC1vdmVyZmxvdy1oaWRkZW4tYW5jZXN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NGQ2YWNm
ODJiMjcyY2JjZmFhZTZjMTViZDkwYzVlMjE1MTI0OTlhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY29uc3RyYWluZWQtYW5kLW92ZXJmbG93LWhp
ZGRlbi1hbmNlc3Rvci5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+
Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDsgfQorYm9k
eSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyB9Cis8L3N0eWxlPgorCis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCI+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5p
bnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKHRydWUpOworICAgIHdp
bmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJp
ZGUoMzIwLCA0ODApOworfSBlbHNlIGlmICh3aW5kb3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4p
IHsKKyAgICBjb25zb2xlLndhcm4oIlRoaXMgdGVzdCBkZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9z
aXppbmcgc2V0dGluZyBiZWluZyB0cnVlLCBzbyBydW4gaXQgaW4gRHVtcFJlbmRlclRyZWUsIG9y
IG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9zaXppbmcsIGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxl
IGRldmljZSB3aXRoIDMyMHB4IGRldmljZS13aWR0aCAobGlrZSBOZXh1cyBTIG9yIGlQaG9uZSks
IG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVUT1NJWklOR19PTl9ERVNLVE9QLiIpOworfQor
PC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiA1
MDBweDsgb3ZlcmZsb3cteTogaGlkZGVuIj4KKyAgICA8ZGl2PgorICAgICAgICA8ZGl2PgorICAg
ICAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBub3QgYmUgYXV0b3NpemVkIChpdHMgY29tcHV0ZWQg
Zm9udC1zaXplIHNob3VsZCByZW1haW4gMTZweCksIGFzIGF1dG9zaXppbmcgdXN1YWxseSBjYXVz
ZXMgdGV4dCB0byB3cmFwIG9udG8gbW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8g
b3ZlcmZsb3cgdGhlIGdyYW5kcGFyZW50J3MgbWF4LWhlaWdodCAodGhlIGdyYW5kcGFyZW50J3Mg
b3ZlcmZsb3cteTpoaWRkZW4gZG9lc24ndCBwcmV2ZW50IHRoaXMsIGFzIGhpZGRlbiBkb2Vzbid0
IGV4dGVuZCB0aGUgYXZhaWxhYmxlIGNvbnRlbnQgaGVpZ2h0KS4KKyAgICAgICAgPC9kaXY+Cisg
ICAgPC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2Nv
bnN0cmFpbmVkLWFuZC1vdmVyZmxvdy1wYWdlZC14LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC1hbmQtb3ZlcmZsb3ct
cGFnZWQteC1hbmNlc3Rvci1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5NmMxYmM4ZjMxNDY0
MmI3ZmIyNDllOTA3OTlhZjMyNWQ2MjVkYzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC1hbmQtb3ZlcmZsb3ctcGFnZWQteC1h
bmNlc3Rvci1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgw
MCI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDsgfQor
Ym9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyB9Cis8L3N0eWxlPgorCis8L2hlYWQ+Cis8
Ym9keT4KKworPGRpdiBzdHlsZT0ibWF4LWhlaWdodDogNTAwcHg7IG92ZXJmbG93LXk6IC13ZWJr
aXQtcGFnZWQteCI+CisgICAgPGRpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAy
LjVyZW0iPgorICAgICAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQgdG8gNDBw
eCBjb21wdXRlZCBmb250LXNpemUsIHNpbmNlIHRoZSBncmFuZHBhcmVudCdzIG92ZXJmbG93LXk6
LXdlYmtpdC1wYWdlZC14IG1lYW5zIHRoZSBhdmFpbGFibGUgaGVpZ2h0IGlzIHVuY29uc3RyYWlu
ZWQgKGRlc3BpdGUgdGhlIGdyYW5kcGFyZW50IGFsc28gaGF2aW5nIGEgbWF4LWhlaWdodCkuCisg
ICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Rl
eHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC1hbmQtb3ZlcmZsb3ctcGFnZWQteC1hbmNlc3Rvci5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY29uc3RyYWluZWQtYW5kLW92
ZXJmbG93LXBhZ2VkLXgtYW5jZXN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYjkwMjlkNDY3MWJiNmYx
MWZiYWE0NGZlMTNiODFlOTQ3ZDE1ZmEyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0LWF1dG9zaXppbmcvY29uc3RyYWluZWQtYW5kLW92ZXJmbG93LXBhZ2VkLXgtYW5j
ZXN0b3IuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxl
IHR5cGU9InRleHQvY3NzIj4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0KK2JvZHkgeyB3aWR0
aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiPgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxz
LnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nRW5hYmxlZCh0cnVlKTsKKyAgICB3aW5kb3cuaW50
ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlKDMyMCwg
NDgwKTsKK30gZWxzZSBpZiAod2luZG93LmNvbnNvbGUgJiYgY29uc29sZS53YXJuKSB7CisgICAg
Y29uc29sZS53YXJuKCJUaGlzIHRlc3QgZGVwZW5kcyBvbiB0aGUgVGV4dCBBdXRvc2l6aW5nIHNl
dHRpbmcgYmVpbmcgdHJ1ZSwgc28gcnVuIGl0IGluIER1bXBSZW5kZXJUcmVlLCBvciBtYW51YWxs
eSBlbmFibGUgVGV4dCBBdXRvc2l6aW5nLCBhbmQgZWl0aGVyIHVzZSBhIG1vYmlsZSBkZXZpY2Ug
d2l0aCAzMjBweCBkZXZpY2Utd2lkdGggKGxpa2UgTmV4dXMgUyBvciBpUGhvbmUpLCBvciBkZWZp
bmUgSEFDS19GT1JDRV9URVhUX0FVVE9TSVpJTkdfT05fREVTS1RPUC4iKTsKK30KKzwvc2NyaXB0
PgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHlsZT0ibWF4LWhlaWdodDogNTAwcHg7IG92
ZXJmbG93LXk6IC13ZWJraXQtcGFnZWQteCI+CisgICAgPGRpdj4KKyAgICAgICAgPGRpdj4KKyAg
ICAgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQg
Zm9udC1zaXplLCBzaW5jZSB0aGUgZ3JhbmRwYXJlbnQncyBvdmVyZmxvdy15Oi13ZWJraXQtcGFn
ZWQteCBtZWFucyB0aGUgYXZhaWxhYmxlIGhlaWdodCBpcyB1bmNvbnN0cmFpbmVkIChkZXNwaXRl
IHRoZSBncmFuZHBhcmVudCBhbHNvIGhhdmluZyBhIG1heC1oZWlnaHQpLgorICAgICAgICA8L2Rp
dj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXpp
bmcvY29uc3RyYWluZWQtYW5kLW92ZXJmbG93LXNjcm9sbC1hbmNlc3Rvci1leHBlY3RlZC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY29uc3RyYWluZWQtYW5kLW92ZXJm
bG93LXNjcm9sbC1hbmNlc3Rvci1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM1Nzg0Yzk0NDMy
ZTBhYmNmYTAxMTdmZTNmMThjMjU1ZjBhMDI2YWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC1hbmQtb3ZlcmZsb3ctc2Nyb2xs
LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9
Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzo6LXdlYmtpdC1zY3JvbGxiYXIg
eworICAgIC8qIEtlZXBzIHRoZSB0ZXh0IHNpemUgbXVsdGlwbGllciBhIHJvdW5kIG51bWJlci4g
Ki8KKyAgICB3aWR0aDogMHB4OworfQorPC9zdHlsZT4KKworPC9oZWFkPgorPGJvZHk+CisKKzxk
aXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4OyBvdmVyZmxvdy15OiBzY3JvbGwiPgorICAgIDxk
aXY+CisgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMi41cmVtIj4KKyAgICAgICAgICAg
IFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udC1zaXpl
LCBzaW5jZSB0aGUgZ3JhbmRwYXJlbnQncyBvdmVyZmxvdy15OnNjcm9sbCBtZWFucyB0aGUgYXZh
aWxhYmxlIGhlaWdodCBpcyB1bmNvbnN0cmFpbmVkIChkZXNwaXRlIHRoZSBncmFuZHBhcmVudCBh
bHNvIGhhdmluZyBhIG1heC1oZWlnaHQpLgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwv
ZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY29uc3RyYWluZWQtYW5k
LW92ZXJmbG93LXNjcm9sbC1hbmNlc3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1
dG9zaXppbmcvY29uc3RyYWluZWQtYW5kLW92ZXJmbG93LXNjcm9sbC1hbmNlc3Rvci5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjk4MjQ4YjE0OGIzM2RmZGNmZjBmNTZjYjFmNTMzODU5Y2YxZmJhODkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5l
ZC1hbmQtb3ZlcmZsb3ctc2Nyb2xsLWFuY2VzdG9yLmh0bWwKQEAgLTAsMCArMSwzNiBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sIHsgZm9udC1z
aXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzo6LXdlYmtp
dC1zY3JvbGxiYXIgeworICAgIC8qIEtlZXBzIHRoZSB0ZXh0IHNpemUgbXVsdGlwbGllciBhIHJv
dW5kIG51bWJlci4gKi8KKyAgICB3aWR0aDogMHB4OworfQorPC9zdHlsZT4KKworPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nRW5hYmxlZCh0cnVlKTsKKyAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92
ZXJyaWRlKDMyMCwgNDgwKTsKK30gZWxzZSBpZiAod2luZG93LmNvbnNvbGUgJiYgY29uc29sZS53
YXJuKSB7CisgICAgY29uc29sZS53YXJuKCJUaGlzIHRlc3QgZGVwZW5kcyBvbiB0aGUgVGV4dCBB
dXRvc2l6aW5nIHNldHRpbmcgYmVpbmcgdHJ1ZSwgc28gcnVuIGl0IGluIER1bXBSZW5kZXJUcmVl
LCBvciBtYW51YWxseSBlbmFibGUgVGV4dCBBdXRvc2l6aW5nLCBhbmQgZWl0aGVyIHVzZSBhIG1v
YmlsZSBkZXZpY2Ugd2l0aCAzMjBweCBkZXZpY2Utd2lkdGggKGxpa2UgTmV4dXMgUyBvciBpUGhv
bmUpLCBvciBkZWZpbmUgSEFDS19GT1JDRV9URVhUX0FVVE9TSVpJTkdfT05fREVTS1RPUC4iKTsK
K30KKzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHlsZT0ibWF4LWhlaWdo
dDogNTAwcHg7IG92ZXJmbG93LXk6IHNjcm9sbCI+CisgICAgPGRpdj4KKyAgICAgICAgPGRpdj4K
KyAgICAgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0
ZWQgZm9udC1zaXplLCBzaW5jZSB0aGUgZ3JhbmRwYXJlbnQncyBvdmVyZmxvdy15OnNjcm9sbCBt
ZWFucyB0aGUgYXZhaWxhYmxlIGhlaWdodCBpcyB1bmNvbnN0cmFpbmVkIChkZXNwaXRlIHRoZSBn
cmFuZHBhcmVudCBhbHNvIGhhdmluZyBhIG1heC1oZWlnaHQpLgorICAgICAgICA8L2Rpdj4KKyAg
ICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY29u
c3RyYWluZWQtaGVpZ2h0LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC1oZWlnaHQtYW5jZXN0b3ItZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iNmY4YjdlYTIwMjhhNDFjMTY0YjkxZGQ0ZGZjMDFjMTNkYTY0NmRiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY29uc3Ry
YWluZWQtaGVpZ2h0LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sIHsgZm9udC1z
aXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+
CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJoZWlnaHQ6IDUwMHB4Ij4KKyAgICA8
ZGl2PgorICAgICAgICA8ZGl2PgorICAgICAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBub3QgYmUg
YXV0b3NpemVkIChpdHMgY29tcHV0ZWQgZm9udC1zaXplIHNob3VsZCByZW1haW4gMTZweCksIGFz
IGF1dG9zaXppbmcgdXN1YWxseSBjYXVzZXMgdGV4dCB0byB3cmFwIG9udG8gbW9yZSBsaW5lcywg
d2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8gb3ZlcmZsb3cgdGhlIGdyYW5kcGFyZW50J3MgaGVpZ2h0
LgorICAgICAgICA8L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC90ZXh0LWF1dG9zaXppbmcvY29uc3RyYWluZWQtaGVpZ2h0LWFuY2VzdG9yLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC1oZWlnaHQtYW5jZXN0b3Iu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5mNDZmZmFkMGM1NTIzNTJjYjU2NGNiMjNmZmU4ZDVjZmEyYjkwNmFh
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY29u
c3RyYWluZWQtaGVpZ2h0LWFuY2VzdG9yLmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0i
d2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sIHsgZm9udC1zaXplOiAx
NnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1
ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRv
d1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNv
bnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhl
IFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVu
ZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1
c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMg
b3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tU
T1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Imhl
aWdodDogNTAwcHgiPgorICAgIDxkaXY+CisgICAgICAgIDxkaXY+CisgICAgICAgICAgICBUaGlz
IHRleHQgc2hvdWxkIG5vdCBiZSBhdXRvc2l6ZWQgKGl0cyBjb21wdXRlZCBmb250LXNpemUgc2hv
dWxkIHJlbWFpbiAxNnB4KSwgYXMgYXV0b3NpemluZyB1c3VhbGx5IGNhdXNlcyB0ZXh0IHRvIHdy
YXAgb250byBtb3JlIGxpbmVzLCB3aGljaCBtaWdodCBjYXVzZSBpdCB0byBvdmVyZmxvdyB0aGUg
Z3JhbmRwYXJlbnQncyBoZWlnaHQuCisgICAgICAgIDwvZGl2PgorICAgIDwvZGl2PgorPC9kaXY+
CisKKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC1tYXhoZWln
aHQtYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6
aW5nL2NvbnN0cmFpbmVkLW1heGhlaWdodC1hbmNlc3Rvci1leHBlY3RlZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmNkODA0MGMyYzMzMjJjZTg4OTAzYmJhMjU5OTExYmY2MDUyYmY2YWQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC1tYXho
ZWlnaHQtYW5jZXN0b3ItZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD04MDAiPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2h0bWwgeyBmb250LXNpemU6IDE2
cHg7IH0KK2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKworPC9o
ZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4Ij4KKyAgICA8ZGl2
PgorICAgICAgICA8ZGl2PgorICAgICAgICAgICAgVGhpcyB0ZXh0IHNob3VsZCBub3QgYmUgYXV0
b3NpemVkIChpdHMgY29tcHV0ZWQgZm9udC1zaXplIHNob3VsZCByZW1haW4gMTZweCksIGFzIGF1
dG9zaXppbmcgdXN1YWxseSBjYXVzZXMgdGV4dCB0byB3cmFwIG9udG8gbW9yZSBsaW5lcywgd2hp
Y2ggbWlnaHQgY2F1c2UgaXQgdG8gb3ZlcmZsb3cgdGhlIGdyYW5kcGFyZW50J3MgbWF4LWhlaWdo
dC4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLW1heGhlaWdodC1hbmNlc3Rvci5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY29uc3RyYWluZWQtbWF4aGVpZ2h0LWFu
Y2VzdG9yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmQxN2YxYmQ4MTE2ZWIzMmI5MmRhNDg4ODRhYmQ5OWQ5
YzAzOTQyOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6
aW5nL2NvbnN0cmFpbmVkLW1heGhlaWdodC1hbmNlc3Rvci5odG1sCkBAIC0wLDAgKzEsMzIgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQi
IGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoraHRtbCB7IGZv
bnQtc2l6ZTogMTZweDsgfQorYm9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyB9Cis8L3N0
eWxlPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitpZiAod2luZG93LmludGVy
bmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdF
bmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9z
aXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApOworfSBlbHNlIGlmICh3aW5kb3cuY29u
c29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBjb25zb2xlLndhcm4oIlRoaXMgdGVzdCBkZXBl
bmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0dGluZyBiZWluZyB0cnVlLCBzbyBydW4gaXQg
aW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9zaXppbmcsIGFu
ZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3aXRoIDMyMHB4IGRldmljZS13aWR0aCAobGlr
ZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVUT1NJWklO
R19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2
IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBweCI+CisgICAgPGRpdj4KKyAgICAgICAgPGRpdj4KKyAg
ICAgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgbm90IGJlIGF1dG9zaXplZCAoaXRzIGNvbXB1dGVk
IGZvbnQtc2l6ZSBzaG91bGQgcmVtYWluIDE2cHgpLCBhcyBhdXRvc2l6aW5nIHVzdWFsbHkgY2F1
c2VzIHRleHQgdG8gd3JhcCBvbnRvIG1vcmUgbGluZXMsIHdoaWNoIG1pZ2h0IGNhdXNlIGl0IHRv
IG92ZXJmbG93IHRoZSBncmFuZHBhcmVudCdzIG1heC1oZWlnaHQuCisgICAgICAgIDwvZGl2Pgor
ICAgIDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9j
b25zdHJhaW5lZC1tYXhoZWlnaHQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLW1heGhlaWdodC1leHBlY3RlZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjZhM2QwYjMzZjU2YzAyMWRmZWMxNDJlZmI2ODY5NGJkMDQxZDMzZDEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC1tYXho
ZWlnaHQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAi
PgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0KK2Jv
ZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKworPC9oZWFkPgorPGJv
ZHk+CisKKzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4Ij4KKyAgICBUaGlzIHRleHQgc2hv
dWxkIG5vdCBiZSBhdXRvc2l6ZWQgKGl0cyBjb21wdXRlZCBmb250LXNpemUgc2hvdWxkIHJlbWFp
biAxNnB4KSwgYXMgYXV0b3NpemluZyB1c3VhbGx5IGNhdXNlcyB0ZXh0IHRvIHdyYXAgb250byBt
b3JlIGxpbmVzLCB3aGljaCBtaWdodCBjYXVzZSBpdCB0byBvdmVyZmxvdyB0aGUgYmxvY2sncyBt
YXgtaGVpZ2h0LgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9j
b25zdHJhaW5lZC1tYXhoZWlnaHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6
aW5nL2NvbnN0cmFpbmVkLW1heGhlaWdodC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjViM2FhYzg2YTdkNDM2
ODM5N2U3NTFkNjM4OTNkNGQ3YjFkMGVhN2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC1tYXhoZWlnaHQuaHRtbApAQCAtMCww
ICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04MDAiPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4K
K2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0KK2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjog
MDsgfQorPC9zdHlsZT4KKworPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoraWYgKHdp
bmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFRleHRB
dXRvc2l6aW5nRW5hYmxlZCh0cnVlKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlKDMyMCwgNDgwKTsKK30gZWxzZSBpZiAo
d2luZG93LmNvbnNvbGUgJiYgY29uc29sZS53YXJuKSB7CisgICAgY29uc29sZS53YXJuKCJUaGlz
IHRlc3QgZGVwZW5kcyBvbiB0aGUgVGV4dCBBdXRvc2l6aW5nIHNldHRpbmcgYmVpbmcgdHJ1ZSwg
c28gcnVuIGl0IGluIER1bXBSZW5kZXJUcmVlLCBvciBtYW51YWxseSBlbmFibGUgVGV4dCBBdXRv
c2l6aW5nLCBhbmQgZWl0aGVyIHVzZSBhIG1vYmlsZSBkZXZpY2Ugd2l0aCAzMjBweCBkZXZpY2Ut
d2lkdGggKGxpa2UgTmV4dXMgUyBvciBpUGhvbmUpLCBvciBkZWZpbmUgSEFDS19GT1JDRV9URVhU
X0FVVE9TSVpJTkdfT05fREVTS1RPUC4iKTsKK30KKzwvc2NyaXB0PgorCis8L2hlYWQ+Cis8Ym9k
eT4KKworPGRpdiBzdHlsZT0ibWF4LWhlaWdodDogNTAwcHgiPgorICAgIFRoaXMgdGV4dCBzaG91
bGQgbm90IGJlIGF1dG9zaXplZCAoaXRzIGNvbXB1dGVkIGZvbnQtc2l6ZSBzaG91bGQgcmVtYWlu
IDE2cHgpLCBhcyBhdXRvc2l6aW5nIHVzdWFsbHkgY2F1c2VzIHRleHQgdG8gd3JhcCBvbnRvIG1v
cmUgbGluZXMsIHdoaWNoIG1pZ2h0IGNhdXNlIGl0IHRvIG92ZXJmbG93IHRoZSBibG9jaydzIG1h
eC1oZWlnaHQuCis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2Nv
bnN0cmFpbmVkLXBlcmNlbnQtbWF4aGVpZ2h0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC1wZXJjZW50LW1heGhlaWdodC1leHBlY3Rl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmU5ZGI3YzlmYmQ4YmYzMjEzZjY0MDk2ZDdmNzQzZGY3NDY4YWRk
ODEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9j
b25zdHJhaW5lZC1wZXJjZW50LW1heGhlaWdodC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTkg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWwgc3R5bGU9ImhlaWdodDogMTAwJSI+Cis8aGVhZD4K
KworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlw
ZT0idGV4dC9jc3MiPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDsgfQorYm9keSB7IHdpZHRoOiA4
MDBweDsgbWFyZ2luOiAwOyB9Cis8L3N0eWxlPgorCis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0iaGVp
Z2h0OiAxMDAlIj4KKworPGRpdiBzdHlsZT0ibWF4LWhlaWdodDogMTAwJSI+CisgICAgVGhpcyB0
ZXh0IHNob3VsZCBub3QgYmUgYXV0b3NpemVkIChpdHMgY29tcHV0ZWQgZm9udC1zaXplIHNob3Vs
ZCByZW1haW4gMTZweCksIGFzIGF1dG9zaXppbmcgdXN1YWxseSBjYXVzZXMgdGV4dCB0byB3cmFw
IG9udG8gbW9yZSBsaW5lcywgd2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8gb3ZlcmZsb3cgdGhlIGJs
b2NrJ3MgbWF4LWhlaWdodCAocHJvdmlkZWQgYXMgYSBwZXJjZW50YWdlKS4KKzwvZGl2PgorCis8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY29uc3RyYWluZWQtcGVyY2VudC1tYXho
ZWlnaHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVk
LXBlcmNlbnQtbWF4aGVpZ2h0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTc4M2JmY2E3MTJjMzZlZWUxMmU1
N2EyODI2MDAzMmZiNzg1NDY0YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
dGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLXBlcmNlbnQtbWF4aGVpZ2h0Lmh0bWwKQEAgLTAs
MCArMSwyOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbCBzdHlsZT0iaGVpZ2h0OiAxMDAlIj4K
KzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxz
dHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsg
d2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgz
MjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNvbnNvbGUud2Fybikgewor
ICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQgQXV0b3Npemlu
ZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFu
dWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2
aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3Ig
ZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3Nj
cmlwdD4KKworPC9oZWFkPgorPGJvZHkgc3R5bGU9ImhlaWdodDogMTAwJSI+CisKKzxkaXYgc3R5
bGU9Im1heC1oZWlnaHQ6IDEwMCUiPgorICAgIFRoaXMgdGV4dCBzaG91bGQgbm90IGJlIGF1dG9z
aXplZCAoaXRzIGNvbXB1dGVkIGZvbnQtc2l6ZSBzaG91bGQgcmVtYWluIDE2cHgpLCBhcyBhdXRv
c2l6aW5nIHVzdWFsbHkgY2F1c2VzIHRleHQgdG8gd3JhcCBvbnRvIG1vcmUgbGluZXMsIHdoaWNo
IG1pZ2h0IGNhdXNlIGl0IHRvIG92ZXJmbG93IHRoZSBibG9jaydzIG1heC1oZWlnaHQgKHByb3Zp
ZGVkIGFzIGEgcGVyY2VudGFnZSkuCis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1h
dXRvc2l6aW5nL2NvbnN0cmFpbmVkLXBlcmNlbnQtb2Ytdmlld3BvcnQtbWF4aGVpZ2h0LWV4cGVj
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC1w
ZXJjZW50LW9mLXZpZXdwb3J0LW1heGhlaWdodC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4
ZjYyOGVlYjBjYmQ0YmNlMmJmOTIyM2E2Mzk3NDYwZTE2ODVlYjUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC1wZXJjZW50LW9m
LXZpZXdwb3J0LW1heGhlaWdodC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoraHRtbCB7IGZvbnQtc2l6
ZTogMTZweDsgfQorYm9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyB9Cis8L3N0eWxlPgor
Cis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBzdHlsZT0ibWF4LWhlaWdodDogMTAwdmgiPgorICAg
IFRoaXMgdGV4dCBzaG91bGQgbm90IGJlIGF1dG9zaXplZCAoaXRzIGNvbXB1dGVkIGZvbnQtc2l6
ZSBzaG91bGQgcmVtYWluIDE2cHgpLCBhcyBhdXRvc2l6aW5nIHVzdWFsbHkgY2F1c2VzIHRleHQg
dG8gd3JhcCBvbnRvIG1vcmUgbGluZXMsIHdoaWNoIG1pZ2h0IGNhdXNlIGl0IHRvIG92ZXJmbG93
IHRoZSBibG9jaydzIG1heC1oZWlnaHQgKHByb3ZpZGVkIGFzIGEgdmlld3BvcnQgcGVyY2VudGFn
ZSkuCis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFp
bmVkLXBlcmNlbnQtb2Ytdmlld3BvcnQtbWF4aGVpZ2h0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC1wZXJjZW50LW9mLXZpZXdwb3J0LW1heGhlaWdo
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmE1ZTIxNzY4MjljZTNkNzk1OGI3MjE2NWQ3ZmI4NjEzMmYxYTU4
MjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9j
b25zdHJhaW5lZC1wZXJjZW50LW9mLXZpZXdwb3J0LW1heGhlaWdodC5odG1sCkBAIC0wLDAgKzEs
MjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoraHRt
bCB7IGZvbnQtc2l6ZTogMTZweDsgfQorYm9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyB9
Cis8L3N0eWxlPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitpZiAod2luZG93
LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9z
aXppbmdFbmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4
dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApOworfSBlbHNlIGlmICh3aW5k
b3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBjb25zb2xlLndhcm4oIlRoaXMgdGVz
dCBkZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0dGluZyBiZWluZyB0cnVlLCBzbyBy
dW4gaXQgaW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9zaXpp
bmcsIGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3aXRoIDMyMHB4IGRldmljZS13aWR0
aCAobGlrZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVU
T1NJWklOR19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5Pgor
Cis8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiAxMDB2aCI+CisgICAgVGhpcyB0ZXh0IHNob3VsZCBu
b3QgYmUgYXV0b3NpemVkIChpdHMgY29tcHV0ZWQgZm9udC1zaXplIHNob3VsZCByZW1haW4gMTZw
eCksIGFzIGF1dG9zaXppbmcgdXN1YWxseSBjYXVzZXMgdGV4dCB0byB3cmFwIG9udG8gbW9yZSBs
aW5lcywgd2hpY2ggbWlnaHQgY2F1c2UgaXQgdG8gb3ZlcmZsb3cgdGhlIGJsb2NrJ3MgbWF4LWhl
aWdodCAocHJvdmlkZWQgYXMgYSB2aWV3cG9ydCBwZXJjZW50YWdlKS4KKzwvZGl2PgorCis8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY29uc3RyYWluZWQtdGhlbi1vdmVyZmxvdy1h
bmNlc3RvcnMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5n
L2NvbnN0cmFpbmVkLXRoZW4tb3ZlcmZsb3ctYW5jZXN0b3JzLWV4cGVjdGVkLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOGVhOTY0NzI1MjBiOTNiZGQzNzc3YTZjYmVlZjFlMTE3YjYyMWFhOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLXRo
ZW4tb3ZlcmZsb3ctYW5jZXN0b3JzLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sIHsgZm9udC1z
aXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+
CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBweCI+Cisg
ICAgPGRpdiBzdHlsZT0ib3ZlcmZsb3cteTogYXV0byI+CisgICAgICAgIDxkaXYgc3R5bGU9ImZv
bnQtc2l6ZTogMi41cmVtIj4KKyAgICAgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3Np
emVkIHRvIDQwcHggY29tcHV0ZWQgZm9udC1zaXplLCBzaW5jZSB0aGUgcGFyZW50J3Mgb3ZlcmZs
b3cteTphdXRvIG1lYW5zIHRoZSBhdmFpbGFibGUgaGVpZ2h0IGlzIHVuY29uc3RyYWluZWQgKGRl
c3BpdGUgdGhlIGdyYW5kcGFyZW50IGhhdmluZyBhIG1heC1oZWlnaHQpLgorICAgICAgICA8L2Rp
dj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXpp
bmcvY29uc3RyYWluZWQtdGhlbi1vdmVyZmxvdy1hbmNlc3RvcnMuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLXRoZW4tb3ZlcmZsb3ctYW5jZXN0b3Jz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZWI3ZTg3OTFmMzY3ZGMzYmI0Y2Q0MDBhMTk3MmRhMTI1MmMwZjYz
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2Nv
bnN0cmFpbmVkLXRoZW4tb3ZlcmZsb3ctYW5jZXN0b3JzLmh0bWwKQEAgLTAsMCArMSwzMiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIg
Y29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CitodG1sIHsgZm9u
dC1zaXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5
bGU+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KK2lmICh3aW5kb3cuaW50ZXJu
YWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ0Vu
YWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRUZXh0QXV0b3Np
emluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25z
b2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNvbGUud2FybigiVGhpcyB0ZXN0IGRlcGVu
ZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5nIGJlaW5nIHRydWUsIHNvIHJ1biBpdCBp
biBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5hYmxlIFRleHQgQXV0b3NpemluZywgYW5k
IGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGggMzIwcHggZGV2aWNlLXdpZHRoIChsaWtl
IE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhBQ0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5H
X09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKworPC9oZWFkPgorPGJvZHk+CisKKzxkaXYg
c3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4Ij4KKyAgICA8ZGl2IHN0eWxlPSJvdmVyZmxvdy15OiBh
dXRvIj4KKyAgICAgICAgPGRpdj4KKyAgICAgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0
b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udC1zaXplLCBzaW5jZSB0aGUgcGFyZW50J3Mgb3Zl
cmZsb3cteTphdXRvIG1lYW5zIHRoZSBhdmFpbGFibGUgaGVpZ2h0IGlzIHVuY29uc3RyYWluZWQg
KGRlc3BpdGUgdGhlIGdyYW5kcGFyZW50IGhhdmluZyBhIG1heC1oZWlnaHQpLgorICAgICAgICA8
L2Rpdj4KKyAgICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9z
aXppbmcvY29uc3RyYWluZWQtdGhlbi1vdmVyZmxvdy10aGVuLXBvc2l0aW9uZWQtYW5jZXN0b3Jz
LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jb25zdHJh
aW5lZC10aGVuLW92ZXJmbG93LXRoZW4tcG9zaXRpb25lZC1hbmNlc3RvcnMtZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5iNzg3NTE3YWU0MmMyNTVjZTk0NDZlMjdmODg2MzU4Y2YwMDk0NTliCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY29uc3Ry
YWluZWQtdGhlbi1vdmVyZmxvdy10aGVuLXBvc2l0aW9uZWQtYW5jZXN0b3JzLWV4cGVjdGVkLmh0
bWwKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0
ZXh0L2NzcyI+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4
OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxl
PSJtYXgtaGVpZ2h0OiA1MDBweDsgcG9zaXRpb246IHJlbGF0aXZlIj4KKyAgICA8ZGl2IHN0eWxl
PSJvdmVyZmxvdy15OiBhdXRvIj4KKyAgICAgICAgPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29s
dXRlIj4KKyAgICAgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgbm90IGJlIGF1dG9zaXplZCAoaXRz
IGNvbXB1dGVkIGZvbnQtc2l6ZSBzaG91bGQgcmVtYWluIDE2cHgpLCBhcyB1bmxpa2UgY29uc3Ry
YWluZWQtdGhlbi1vdmVyZmxvdy1hbmNlc3RvcnMuaHRtbCwgdGhpcyBibG9jaydzIHBvc2l0aW9u
OmFic29sdXRlIG1lYW5zIHRoYXQgaXRzIGNvbnRhaW5pbmcgYmxvY2sgaXMgaXRzIHBvc2l0aW9u
OnJlbGF0aXZlIGdyYW5kcGFyZW50IChza2lwcGluZyBpdHMgcG9zaXRpb246c3RhdGljIHBhcmVu
dCB3aXRoIG92ZXJmbG93LXk6YXV0byksIHNvIGl0IGRvZXMgZ2V0IGNvbnN0cmFpbmVkIGJ5IHRo
ZSBtYXgtaGVpZ2h0IG9uIGl0cyBncmFuZHBhcmVudCAodGhlIHBhcmVudCBoYXMgbm8gZWZmZWN0
KS4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLXRoZW4tb3ZlcmZsb3ctdGhlbi1wb3NpdGlv
bmVkLWFuY2VzdG9ycy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY29u
c3RyYWluZWQtdGhlbi1vdmVyZmxvdy10aGVuLXBvc2l0aW9uZWQtYW5jZXN0b3JzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uY2FiYWZiZjA2ZTZjZTQ0Mjg2ZjgyNjU5Mzc2MTMxNzU1ZDIzN2JmMgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVk
LXRoZW4tb3ZlcmZsb3ctdGhlbi1wb3NpdGlvbmVkLWFuY2VzdG9ycy5odG1sCkBAIC0wLDAgKzEs
MzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoraHRt
bCB7IGZvbnQtc2l6ZTogMTZweDsgfQorYm9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2luOiAwOyB9
Cis8L3N0eWxlPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitpZiAod2luZG93
LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9z
aXppbmdFbmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4
dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApOworfSBlbHNlIGlmICh3aW5k
b3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBjb25zb2xlLndhcm4oIlRoaXMgdGVz
dCBkZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0dGluZyBiZWluZyB0cnVlLCBzbyBy
dW4gaXQgaW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1dG9zaXpp
bmcsIGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3aXRoIDMyMHB4IGRldmljZS13aWR0
aCAobGlrZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RFWFRfQVVU
T1NJWklOR19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5Pgor
Cis8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBweDsgcG9zaXRpb246IHJlbGF0aXZlIj4KKyAg
ICA8ZGl2IHN0eWxlPSJvdmVyZmxvdy15OiBhdXRvIj4KKyAgICAgICAgPGRpdiBzdHlsZT0icG9z
aXRpb246IGFic29sdXRlIj4KKyAgICAgICAgICAgIFRoaXMgdGV4dCBzaG91bGQgbm90IGJlIGF1
dG9zaXplZCAoaXRzIGNvbXB1dGVkIGZvbnQtc2l6ZSBzaG91bGQgcmVtYWluIDE2cHgpLCBhcyB1
bmxpa2UgY29uc3RyYWluZWQtdGhlbi1vdmVyZmxvdy1hbmNlc3RvcnMuaHRtbCwgdGhpcyBibG9j
aydzIHBvc2l0aW9uOmFic29sdXRlIG1lYW5zIHRoYXQgaXRzIGNvbnRhaW5pbmcgYmxvY2sgaXMg
aXRzIHBvc2l0aW9uOnJlbGF0aXZlIGdyYW5kcGFyZW50IChza2lwcGluZyBpdHMgcG9zaXRpb246
c3RhdGljIHBhcmVudCB3aXRoIG92ZXJmbG93LXk6YXV0byksIHNvIGl0IGRvZXMgZ2V0IGNvbnN0
cmFpbmVkIGJ5IHRoZSBtYXgtaGVpZ2h0IG9uIGl0cyBncmFuZHBhcmVudCAodGhlIHBhcmVudCBo
YXMgbm8gZWZmZWN0KS4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLXRoZW4tcG9zaXRpb24t
YWJzb2x1dGUtYW5jZXN0b3JzLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQt
YXV0b3NpemluZy9jb25zdHJhaW5lZC10aGVuLXBvc2l0aW9uLWFic29sdXRlLWFuY2VzdG9ycy1l
eHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkzYmExZWNmNjc5NTI3NmIyMjA4N2Y5MzViYWQ2ZGJi
YTRjODVhNjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3Np
emluZy9jb25zdHJhaW5lZC10aGVuLXBvc2l0aW9uLWFic29sdXRlLWFuY2VzdG9ycy1leHBlY3Rl
ZC5odG1sCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlw
ZT0idGV4dC9jc3MiPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDsgfQorYm9keSB7IHdpZHRoOiA4
MDBweDsgbWFyZ2luOiAwOyB9Cis8L3N0eWxlPgorCis8L2hlYWQ+Cis8Ym9keT4KKworPGRpdiBz
dHlsZT0ibWF4LWhlaWdodDogNTAwcHgiPgorICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNv
bHV0ZSI+CisgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMi41cmVtIj4KKyAgICAgICAg
ICAgIFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udC1z
aXplLCBzaW5jZSB0aGUgcGFyZW50IGlzIHBvc2l0aW9uOmFic29sdXRlIGhlbmNlIHRoZSBwYXJl
bnQncyBjb250YWluaW5nIGJsb2NrIGlzIG5vdCB0aGUgcG9zaXRpb246c3RhdGljIGdyYW5kcGFy
ZW50LCBidXQgaW5zdGVhZCB0aGUgcm9vdCBlbGVtZW50LCBzbyBpdCBpcyBub3QgY29uc3RyYWlu
ZWQgYnkgdGhlIG1heC1oZWlnaHQgb2YgaXRzIGdyYW5kcGFyZW50LgorICAgICAgICA8L2Rpdj4K
KyAgICA8L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcv
Y29uc3RyYWluZWQtdGhlbi1wb3NpdGlvbi1hYnNvbHV0ZS1hbmNlc3RvcnMuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLXRoZW4tcG9zaXRpb24tYWJz
b2x1dGUtYW5jZXN0b3JzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGJjYmM5NTZkMTc3MzA2NjgwMWMyYjlj
NDNhOGFkMTRmZjQ2MDI4NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLXRoZW4tcG9zaXRpb24tYWJzb2x1dGUtYW5jZXN0b3Jz
Lmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBl
PSJ0ZXh0L2NzcyI+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgw
MHB4OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0Ij4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0
aW5ncy5zZXRUZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSk7CisgICAgd2luZG93LmludGVybmFs
cy5zZXR0aW5ncy5zZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZSgzMjAsIDQ4MCk7
Cit9IGVsc2UgaWYgKHdpbmRvdy5jb25zb2xlICYmIGNvbnNvbGUud2FybikgeworICAgIGNvbnNv
bGUud2FybigiVGhpcyB0ZXN0IGRlcGVuZHMgb24gdGhlIFRleHQgQXV0b3NpemluZyBzZXR0aW5n
IGJlaW5nIHRydWUsIHNvIHJ1biBpdCBpbiBEdW1wUmVuZGVyVHJlZSwgb3IgbWFudWFsbHkgZW5h
YmxlIFRleHQgQXV0b3NpemluZywgYW5kIGVpdGhlciB1c2UgYSBtb2JpbGUgZGV2aWNlIHdpdGgg
MzIwcHggZGV2aWNlLXdpZHRoIChsaWtlIE5leHVzIFMgb3IgaVBob25lKSwgb3IgZGVmaW5lIEhB
Q0tfRk9SQ0VfVEVYVF9BVVRPU0laSU5HX09OX0RFU0tUT1AuIik7Cit9Cis8L3NjcmlwdD4KKwor
PC9oZWFkPgorPGJvZHk+CisKKzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4Ij4KKyAgICA8
ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGUiPgorICAgICAgICA8ZGl2PgorICAgICAgICAg
ICAgVGhpcyB0ZXh0IHNob3VsZCBiZSBhdXRvc2l6ZWQgdG8gNDBweCBjb21wdXRlZCBmb250LXNp
emUsIHNpbmNlIHRoZSBwYXJlbnQgaXMgcG9zaXRpb246YWJzb2x1dGUgaGVuY2UgdGhlIHBhcmVu
dCdzIGNvbnRhaW5pbmcgYmxvY2sgaXMgbm90IHRoZSBwb3NpdGlvbjpzdGF0aWMgZ3JhbmRwYXJl
bnQsIGJ1dCBpbnN0ZWFkIHRoZSByb290IGVsZW1lbnQsIHNvIGl0IGlzIG5vdCBjb25zdHJhaW5l
ZCBieSB0aGUgbWF4LWhlaWdodCBvZiBpdHMgZ3JhbmRwYXJlbnQuCisgICAgICAgIDwvZGl2Pgor
ICAgIDwvZGl2PgorPC9kaXY+CisKKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9j
b25zdHJhaW5lZC10aGVuLXBvc2l0aW9uLWZpeGVkLWFuY2VzdG9ycy1leHBlY3RlZC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY29uc3RyYWluZWQtdGhlbi1wb3NpdGlv
bi1maXhlZC1hbmNlc3RvcnMtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYTgzYjMwNTJkYmIy
OWFmZDFiOWU3NzZiMTNlNjA5ZjgzODU0NjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY29uc3RyYWluZWQtdGhlbi1wb3NpdGlvbi1maXhlZC1h
bmNlc3RvcnMtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+CisKKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD04
MDAiPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KK2h0bWwgeyBmb250LXNpemU6IDE2cHg7IH0K
K2JvZHkgeyB3aWR0aDogODAwcHg7IG1hcmdpbjogMDsgfQorPC9zdHlsZT4KKworPC9oZWFkPgor
PGJvZHk+CisKKzxkaXYgc3R5bGU9Im1heC1oZWlnaHQ6IDUwMHB4Ij4KKyAgICA8ZGl2IHN0eWxl
PSJwb3NpdGlvbjogZml4ZWQiPgorICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDIuNXJl
bSI+CisgICAgICAgICAgICBUaGlzIHRleHQgc2hvdWxkIGJlIGF1dG9zaXplZCB0byA0MHB4IGNv
bXB1dGVkIGZvbnQtc2l6ZSwgc2luY2UgdGhlIHBhcmVudCBpcyBwb3NpdGlvbjpmaXhlZCBoZW5j
ZSB0aGUgcGFyZW50J3MgY29udGFpbmluZyBibG9jayBpcyBub3QgdGhlIHBvc2l0aW9uOnN0YXRp
YyBncmFuZHBhcmVudCwgYnV0IGluc3RlYWQgdGhlIHJvb3QgZWxlbWVudCwgc28gaXQgaXMgbm90
IGNvbnN0cmFpbmVkIGJ5IHRoZSBtYXgtaGVpZ2h0IG9mIGl0cyBncmFuZHBhcmVudC4KKyAgICAg
ICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1h
dXRvc2l6aW5nL2NvbnN0cmFpbmVkLXRoZW4tcG9zaXRpb24tZml4ZWQtYW5jZXN0b3JzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC10aGVuLXBvc2l0
aW9uLWZpeGVkLWFuY2VzdG9ycy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFhZTFhNzUwYzY0ZDJmOWFlMWMy
YTkwMzI1Y2E1MGEzZDA0ZGE3YmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC10aGVuLXBvc2l0aW9uLWZpeGVkLWFuY2VzdG9y
cy5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KworPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlw
ZT0idGV4dC9jc3MiPgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDsgfQorYm9keSB7IHdpZHRoOiA4
MDBweDsgbWFyZ2luOiAwOyB9Cis8L3N0eWxlPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCI+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0
dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdFbmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRlcm5h
bHMuc2V0dGluZ3Muc2V0VGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODAp
OworfSBlbHNlIGlmICh3aW5kb3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBjb25z
b2xlLndhcm4oIlRoaXMgdGVzdCBkZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0dGlu
ZyBiZWluZyB0cnVlLCBzbyBydW4gaXQgaW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5IGVu
YWJsZSBUZXh0IEF1dG9zaXppbmcsIGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3aXRo
IDMyMHB4IGRldmljZS13aWR0aCAobGlrZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmluZSBI
QUNLX0ZPUkNFX1RFWFRfQVVUT1NJWklOR19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+CisK
KzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBweCI+CisgICAg
PGRpdiBzdHlsZT0icG9zaXRpb246IGZpeGVkIj4KKyAgICAgICAgPGRpdj4KKyAgICAgICAgICAg
IFRoaXMgdGV4dCBzaG91bGQgYmUgYXV0b3NpemVkIHRvIDQwcHggY29tcHV0ZWQgZm9udC1zaXpl
LCBzaW5jZSB0aGUgcGFyZW50IGlzIHBvc2l0aW9uOmZpeGVkIGhlbmNlIHRoZSBwYXJlbnQncyBj
b250YWluaW5nIGJsb2NrIGlzIG5vdCB0aGUgcG9zaXRpb246c3RhdGljIGdyYW5kcGFyZW50LCBi
dXQgaW5zdGVhZCB0aGUgcm9vdCBlbGVtZW50LCBzbyBpdCBpcyBub3QgY29uc3RyYWluZWQgYnkg
dGhlIG1heC1oZWlnaHQgb2YgaXRzIGdyYW5kcGFyZW50LgorICAgICAgICA8L2Rpdj4KKyAgICA8
L2Rpdj4KKzwvZGl2PgorCis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY29uc3Ry
YWluZWQtd2l0aGluLW92ZXJmbG93LWFuY2VzdG9yLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQtYXV0b3NpemluZy9jb25zdHJhaW5lZC13aXRoaW4tb3ZlcmZsb3ctYW5jZXN0
b3ItZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OTAwZWY4MzgwMDdiOTRlMjYxYWRlMmJiYThh
MDU4YmViZTM4NDYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1
dG9zaXppbmcvY29uc3RyYWluZWQtd2l0aGluLW92ZXJmbG93LWFuY2VzdG9yLWV4cGVjdGVkLmh0
bWwKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorCis8
bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ODAwIj4KKzxzdHlsZSB0eXBlPSJ0
ZXh0L2NzcyI+CitodG1sIHsgZm9udC1zaXplOiAxNnB4OyB9Citib2R5IHsgd2lkdGg6IDgwMHB4
OyBtYXJnaW46IDA7IH0KKzwvc3R5bGU+CisKKzwvaGVhZD4KKzxib2R5PgorCis8ZGl2IHN0eWxl
PSJvdmVyZmxvdy15OiBhdXRvIj4KKyAgICA8ZGl2IHN0eWxlPSJtYXgtaGVpZ2h0OiA1MDBweCI+
CisgICAgICAgIDxkaXY+CisgICAgICAgICAgICBUaGlzIHRleHQgc2hvdWxkIG5vdCBiZSBhdXRv
c2l6ZWQgKGl0cyBjb21wdXRlZCBmb250LXNpemUgc2hvdWxkIHJlbWFpbiAxNnB4KSwgYXMgYXV0
b3NpemluZyB1c3VhbGx5IGNhdXNlcyB0ZXh0IHRvIHdyYXAgb250byBtb3JlIGxpbmVzLCB3aGlj
aCBtaWdodCBjYXVzZSBpdCB0byBvdmVyZmxvdyB0aGUgcGFyZW50J3MgbWF4LWhlaWdodCAodGhl
IGdyYW5kcGFyZW50J3Mgb3ZlcmZsb3cteTphdXRvIGRvZXNuJ3QgcHJldmVudCB0aGlzKS4KKyAg
ICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9ib2R5PgorPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC1hdXRvc2l6aW5nL2NvbnN0cmFpbmVkLXdpdGhpbi1vdmVyZmxvdy1hbmNlc3Rvci5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0LWF1dG9zaXppbmcvY29uc3RyYWluZWQtd2l0aGluLW92ZXJm
bG93LWFuY2VzdG9yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWEzMTcxYjkwYzNhMGJmZjlhYzliYjQ1NGM4
YWM3YzY3NDk5YjIwMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC1h
dXRvc2l6aW5nL2NvbnN0cmFpbmVkLXdpdGhpbi1vdmVyZmxvdy1hbmNlc3Rvci5odG1sCkBAIC0w
LDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKworPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTgwMCI+Cis8c3R5bGUgdHlwZT0idGV4dC9jc3Mi
PgoraHRtbCB7IGZvbnQtc2l6ZTogMTZweDsgfQorYm9keSB7IHdpZHRoOiA4MDBweDsgbWFyZ2lu
OiAwOyB9Cis8L3N0eWxlPgorCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitpZiAo
d2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VGV4
dEF1dG9zaXppbmdFbmFibGVkKHRydWUpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0VGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3ZlcnJpZGUoMzIwLCA0ODApOworfSBlbHNlIGlm
ICh3aW5kb3cuY29uc29sZSAmJiBjb25zb2xlLndhcm4pIHsKKyAgICBjb25zb2xlLndhcm4oIlRo
aXMgdGVzdCBkZXBlbmRzIG9uIHRoZSBUZXh0IEF1dG9zaXppbmcgc2V0dGluZyBiZWluZyB0cnVl
LCBzbyBydW4gaXQgaW4gRHVtcFJlbmRlclRyZWUsIG9yIG1hbnVhbGx5IGVuYWJsZSBUZXh0IEF1
dG9zaXppbmcsIGFuZCBlaXRoZXIgdXNlIGEgbW9iaWxlIGRldmljZSB3aXRoIDMyMHB4IGRldmlj
ZS13aWR0aCAobGlrZSBOZXh1cyBTIG9yIGlQaG9uZSksIG9yIGRlZmluZSBIQUNLX0ZPUkNFX1RF
WFRfQVVUT1NJWklOR19PTl9ERVNLVE9QLiIpOworfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxi
b2R5PgorCis8ZGl2IHN0eWxlPSJvdmVyZmxvdy15OiBhdXRvIj4KKyAgICA8ZGl2IHN0eWxlPSJt
YXgtaGVpZ2h0OiA1MDBweCI+CisgICAgICAgIDxkaXY+CisgICAgICAgICAgICBUaGlzIHRleHQg
c2hvdWxkIG5vdCBiZSBhdXRvc2l6ZWQgKGl0cyBjb21wdXRlZCBmb250LXNpemUgc2hvdWxkIHJl
bWFpbiAxNnB4KSwgYXMgYXV0b3NpemluZyB1c3VhbGx5IGNhdXNlcyB0ZXh0IHRvIHdyYXAgb250
byBtb3JlIGxpbmVzLCB3aGljaCBtaWdodCBjYXVzZSBpdCB0byBvdmVyZmxvdyB0aGUgcGFyZW50
J3MgbWF4LWhlaWdodCAodGhlIGdyYW5kcGFyZW50J3Mgb3ZlcmZsb3cteTphdXRvIGRvZXNuJ3Qg
cHJldmVudCB0aGlzKS4KKyAgICAgICAgPC9kaXY+CisgICAgPC9kaXY+Cis8L2Rpdj4KKworPC9i
b2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>