<?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>96085</bug_id>
          
          <creation_ts>2012-09-07 02:27:50 -0700</creation_ts>
          <short_desc>Datalist UI for input type=date for Chromium port</short_desc>
          <delta_ts>2012-10-28 22:10:58 -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>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>97193</dependson>
    
    <dependson>97200</dependson>
    
    <dependson>97201</dependson>
    
    <dependson>97292</dependson>
    
    <dependson>97541</dependson>
    
    <dependson>97551</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keishi Hattori">keishi</reporter>
          <assigned_to name="Keishi Hattori">keishi</assigned_to>
          <cc>eric</cc>
    
    <cc>mifenton</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>714317</commentid>
    <comment_count>0</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-09-07 02:27:50 -0700</bug_when>
    <thetext>Implement datalist UI for input type=date with page popup for chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714338</commentid>
    <comment_count>1</comment_count>
      <attachid>162723</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-09-07 03:02:50 -0700</bug_when>
    <thetext>Created attachment 162723
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714348</commentid>
    <comment_count>2</comment_count>
      <attachid>162723</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-09-07 03:20:26 -0700</bug_when>
    <thetext>Comment on attachment 162723
Patch

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

&gt; Source/WebCore/ChangeLog:69
&gt; +2012-09-05  Keishi Hattori  &lt;keishi@webkit.org&gt;

Two ChangeLog entries

&gt; Source/WebCore/Resources/pagepopups/pickerCommon.js:53
&gt; +    console.log(width + &quot;-&quot; + height);

Remove debug code

&gt; Source/WebCore/html/DateInputType.cpp:148
&gt; +    Document* document = element()-&gt;document();
&gt; +    RefPtr&lt;RenderTheme&gt; theme = document-&gt;page() ? document-&gt;page()-&gt;theme() : RenderTheme::defaultTheme();
&gt; +    if (theme-&gt;f4OpensDateTimeChooser() &amp;&amp; event-&gt;keyIdentifier() == &quot;F4&quot;) {
&gt; +        if (m_pickerElement)
&gt; +            m_pickerElement-&gt;openPopup();
&gt; +        event-&gt;setDefaultHandled();
&gt; +        return;
&gt; +    }

Opening by F4 should be a separated patch.

&gt; Source/WebCore/rendering/RenderTheme.h:239
&gt; +    virtual bool f4OpensDateTimeChooser() const;

The function name looks really strange.  How about opensDateTimeChooserByF4Key()?

&gt; Source/WebKit/chromium/src/DateTimeChooserImpl.cpp:115
&gt; +        addProperty(&quot;showOtherDateEntry&quot;, m_parameters.type == &quot;date&quot;, writer);

Use InputTypeNames::date()

BTW, I think we had better split InputTypeNames out from InputType.{cpp.h} because InputType is internal class for HTMLInputElement.

&gt; Source/WebKit/chromium/src/DateTimeChooserImpl.cpp:116
&gt; +        addProperty(&quot;otherDateLabel&quot;, Platform::current()-&gt;queryLocalizedString(WebLocalizedString::OtherColorLabel), writer);

Using Other*Color*Label() is not appropriate.

&gt; LayoutTests/ChangeLog:12
&gt; +2012-09-05  Keishi Hattori  &lt;keishi@webkit.org&gt;

Two ChangeLog entries</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723447</commentid>
    <comment_count>3</comment_count>
      <attachid>164709</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-09-19 04:25:38 -0700</bug_when>
    <thetext>Created attachment 164709
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723448</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-19 04:29:27 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>723553</commentid>
    <comment_count>5</comment_count>
      <attachid>164709</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-09-19 07:27:16 -0700</bug_when>
    <thetext>Comment on attachment 164709
Patch

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

I agree with the basic structure of this patch. However it&apos;s too large to reivew.  Let&apos;s split into multiple pieces.

For example,
1. Preparation in calendarPicker.{css.js}
  Adding .calendar-picker, rename validateArguments to CalendarPicker.validateConfig, adding CalendarPicker.cleanup(), etc.

2. Adding DateTimeChooserParameters::localizedSuggestionValues, and &lt;datalist&gt; support in CalendarPickerElement::openPopup().

3. Update DateTimeChooserImpl.cpp and WebLocalizedString.h

4. suggestionPicker.{css.js} and remaining JavaScript changes

5. Enable &lt;datalist&gt; support for date type in RenderThemeChromiumCommon.cpp without hilightFirstSuggestionEntry feature , and adding tests.

6. Adding hilightFirstSuggestionEntry feature.

&gt; Source/WebCore/html/DateInputType.cpp:-147
&gt; -    if (m_pickerElement)
&gt; -        m_pickerElement-&gt;closePopup();
&gt; -

Don&apos;t change the existing behavior for a test crash.
You should fix the testing framework, or probably you can avoid the crash by opening the picker without focus.  See fast/forms/date/calendar-picker-appearance.html.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>727379</commentid>
    <comment_count>6</comment_count>
      <attachid>165546</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-09-25 00:55:56 -0700</bug_when>
    <thetext>Created attachment 165546
Patch</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162723</attachid>
            <date>2012-09-07 03:02:50 -0700</date>
            <delta_ts>2012-09-19 04:25:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96085-20120907190229.patch</filename>
            <type>text/plain</type>
            <size>64139</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3ODE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjUyMDAzNGQ5ODJjN2I3
YWZkNjc3MzgxNTZkNDAwYmMyMzI4OTc2My4uYzAxYmM3ZDg0YmViODhmZWM5NDRjOWRmZjYxYzc2
NmYxZGQzM2I3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyMSBAQAorMjAxMi0wOS0wNyAgS2Vp
c2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KKworICAgICAgICBEYXRhbGlzdCBVSSBm
b3IgaW5wdXQgdHlwZT1kYXRlIGZvciBDaHJvbWl1bSBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjA4NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGluZyBTdWdnZXN0aW9uUGlja2VyIHdoaWNo
IHNob3dzIHRoZSBsaXN0IG9mIHN1Z2dlc3Rpb25zLgorCisgICAgICAgIFRlc3Q6IHBsYXRmb3Jt
L2Nocm9taXVtL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2VyLWFwcGVhcmFu
Y2UuaHRtbAorCisgICAgICAgICogUmVzb3VyY2VzL3BhZ2Vwb3B1cHMvY2FsZW5kYXJQaWNrZXIu
Y3NzOgorICAgICAgICAoLmNhbGVuZGFyLXBpY2tlcik6CisgICAgICAgICogUmVzb3VyY2VzL3Bh
Z2Vwb3B1cHMvY2FsZW5kYXJQaWNrZXIuanM6CisgICAgICAgIChDYWxlbmRhclBpY2tlci52YWxp
ZGF0ZUNvbmZpZyk6IE1vdmVkIHZhbGlkYXRpb24gaW50byBhIG1ldGhvZCBzbyBlYWNoIHBpY2tl
ciBjYW4gdmFsaWRhdGUgaXRzIGNvbmZpZyBvYmplY3QuCisgICAgICAgIChpbml0aWFsaXplKToK
KyAgICAgICAgKGNsb3NlUGlja2VyKTogQ2FsbHMgY2xlYW51cCBvbiB0aGUgZXhpc3RpbmcgcGlj
a2VyIGFuZCBjbGVhcnMgdGhlIGNvbnRlbnRzIG9mIG1haW4gZWxlbWVudC4KKyAgICAgICAgKG9w
ZW5TdWdnZXN0aW9uUGlja2VyKToKKyAgICAgICAgKENhbGVuZGFyUGlja2VyLnByb3RvdHlwZS5j
bGVhbnVwKTogUmVtb3ZlIGV2ZW50IGxpc3RlbmVycyB0aGF0IHdlcmUgYWRkZWQgdG8gb3V0c2lk
ZSBlbGVtZW50cy4KKyAgICAgICAgKENhbGVuZGFyUGlja2VyLnByb3RvdHlwZS5maXhXaW5kb3dT
aXplKToKKyAgICAgICAgKiBSZXNvdXJjZXMvcGFnZXBvcHVwcy9waWNrZXJDb21tb24uanM6Cisg
ICAgICAgIChyZXNpemVXaW5kb3cpOgorICAgICAgICAoTm9kZS5wcm90b3R5cGUuZW5jbG9zaW5n
Tm9kZU9yU2VsZldpdGhDbGFzcyk6CisgICAgICAgIChQaWNrZXIucHJvdG90eXBlLmNsZWFudXAp
OgorICAgICAgICAqIFJlc291cmNlcy9wYWdlcG9wdXBzL3N1Z2dlc3Rpb25QaWNrZXIuY3NzOiBB
ZGRlZC4KKyAgICAgICAgKC5zdWdnZXN0aW9uLWxpc3QpOgorICAgICAgICAoLnN1Z2dlc3Rpb24t
ZW50cnkpOgorICAgICAgICAoLnN1Z2dlc3Rpb24tZW50cnk6Zm9jdXMpOgorICAgICAgICAoLnN1
Z2dlc3Rpb24tZW50cnk6Zm9jdXMgLmxhYmVsKToKKyAgICAgICAgKC5zdWdnZXN0aW9uLWVudHJ5
IC5jb250ZW50KToKKyAgICAgICAgKC5zdWdnZXN0aW9uLWVudHJ5IC50aXRsZSk6CisgICAgICAg
ICguc3VnZ2VzdGlvbi1lbnRyeSAubGFiZWwpOgorICAgICAgICAoLm1lYXN1cmluZy13aWR0aCAu
c3VnZ2VzdGlvbi1lbnRyeSAubGFiZWwpOgorICAgICAgICAoLnN1Z2dlc3Rpb24tbGlzdCAuc2Vw
YXJhdG9yKToKKyAgICAgICAgKiBSZXNvdXJjZXMvcGFnZXBvcHVwcy9zdWdnZXN0aW9uUGlja2Vy
LmpzOiBBZGRlZC4KKyAgICAgICAgKFN1Z2dlc3Rpb25QaWNrZXIpOgorICAgICAgICAoU3VnZ2Vz
dGlvblBpY2tlci52YWxpZGF0ZUNvbmZpZyk6CisgICAgICAgIChTdWdnZXN0aW9uUGlja2VyLnBy
b3RvdHlwZS5jbGVhbnVwKTogUmVtb3ZlIGV2ZW50IGxpc3RlbmVycyB0aGF0IHdlcmUgYWRkZWQg
dG8gb3V0c2lkZSBlbGVtZW50cy4KKyAgICAgICAgKFN1Z2dlc3Rpb25QaWNrZXIucHJvdG90eXBl
Ll9jcmVhdGVTdWdnZXN0aW9uRW50cnlFbGVtZW50KToKKyAgICAgICAgKFN1Z2dlc3Rpb25QaWNr
ZXIucHJvdG90eXBlLl9jcmVhdGVBY3Rpb25FbnRyeUVsZW1lbnQpOgorICAgICAgICAoU3VnZ2Vz
dGlvblBpY2tlci5wcm90b3R5cGUuX2xheW91dCk6CisgICAgICAgIChTdWdnZXN0aW9uUGlja2Vy
LnByb3RvdHlwZS5zZWxlY3RFbnRyeSk6CisgICAgICAgIChTdWdnZXN0aW9uUGlja2VyLnByb3Rv
dHlwZS5faGFuZGxlRW50cnlDbGljayk6CisgICAgICAgIChTdWdnZXN0aW9uUGlja2VyLnByb3Rv
dHlwZS5fZmluZEZpcnN0VmlzaWJsZUVudHJ5KToKKyAgICAgICAgKFN1Z2dlc3Rpb25QaWNrZXIu
cHJvdG90eXBlLl9maW5kTGFzdFZpc2libGVFbnRyeSk6CisgICAgICAgIChTdWdnZXN0aW9uUGlj
a2VyLnByb3RvdHlwZS5faGFuZGxlQm9keUtleURvd24pOiBQcmVzc2luZyBQYWdlRG93bi9VcCBz
aG91bGQgc2Nyb2xsIGJ5IG9uZSBwYWdlIGhlaWdodCBhbmQgc2VsZWN0IHRoZSBsYXN0L2ZpcnN0
IHZpc2libGUgZW50cnkuCisgICAgICAgIChTdWdnZXN0aW9uUGlja2VyLnByb3RvdHlwZS5faGFu
ZGxlRW50cnlNb3VzZU92ZXIpOgorICAgICAgICAoU3VnZ2VzdGlvblBpY2tlci5wcm90b3R5cGUu
X2hhbmRsZU1vdXNlT3V0KToKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDoKKyAg
ICAgICAgKiBodG1sL0RhdGVJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZUlu
cHV0VHlwZTo6aGFuZGxlS2V5ZG93bkV2ZW50KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9DYWxl
bmRhclBpY2tlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FsZW5kYXJQaWNrZXJF
bGVtZW50OjpvcGVuUG9wdXApOgorICAgICAgICAqIHBsYXRmb3JtL0RhdGVUaW1lQ2hvb3Nlci5o
OgorICAgICAgICAoRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyk6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpmNE9w
ZW5zRGF0ZVRpbWVDaG9vc2VyKTogRjQga2V5IHNob3VsZCBvcGVuIHRoZSBEYXRlVGltZUNob29z
ZXIgb24gV2luZG93cy4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUaGVtZS5oOgorICAgICAgICAoUmVuZGVyVGhlbWUpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJUaGVtZUNocm9taXVtQ29tbW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clRoZW1lQ2hyb21pdW1Db21tb246OnN1cHBvcnRzRGF0YUxpc3RVSSk6IEFkZCBkYXRlIHR5cGUu
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1XaW4uY3BwOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6ZjRPcGVuc0RhdGVU
aW1lQ2hvb3Nlcik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1XaW4u
aDoKKyAgICAgICAgKFJlbmRlclRoZW1lQ2hyb21pdW1XaW4pOgorCisyMDEyLTA5LTA1ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlZmFjdG9yIENhbGVu
ZGFyUGlja2VyIHRvIG5vdCB1c2UgZ2xvYmFsIHZhcmlhYmxlcy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1ODMwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNlIENhbGVuZGFyUGlja2VyIHNv
IHdlIGNhbiBoYXZlIG11bHRpcGxlIFBpY2tlcnMgaW4gb25lIHBhZ2UKKyAgICAgICAgcG9wdXAg
aW4gdGhlIGZ1dHVyZS4KKworICAgICAgICBObyBuZXcgdGVzdHMuIE5vIGJlaGF2aW9yIGNoYW5n
ZS4KKworICAgICAgICAqIFJlc291cmNlcy9wYWdlcG9wdXBzL2NhbGVuZGFyUGlja2VyLmpzOgor
ICAgICAgICAoaW5pdGlhbGl6ZSk6CisgICAgICAgIChyZXNldE1haW4pOgorICAgICAgICAob3Bl
bkNhbGVuZGFyUGlja2VyKToKKyAgICAgICAgKENhbGVuZGFyUGlja2VyKToKKyAgICAgICAgKENh
bGVuZGFyUGlja2VyLnByb3RvdHlwZS5fbGF5b3V0KToKKyAgICAgICAgKENhbGVuZGFyUGlja2Vy
LnByb3RvdHlwZS5oYW5kbGVUb2RheSk6CisgICAgICAgIChDYWxlbmRhclBpY2tlci5wcm90b3R5
cGUuaGFuZGxlQ2xlYXIpOgorICAgICAgICAoQ2FsZW5kYXJQaWNrZXIucHJvdG90eXBlLmZpeFdp
bmRvd1NpemUpOgorICAgICAgICAoQ2FsZW5kYXJQaWNrZXIucHJvdG90eXBlLl9sYXlvdXRCdXR0
b25zKToKKyAgICAgICAgKFllYXJNb250aENvbnRyb2xsZXIpOgorICAgICAgICAoWWVhck1vbnRo
Q29udHJvbGxlci5wcm90b3R5cGUuYXR0YWNoVG8pOgorICAgICAgICAoWWVhck1vbnRoQ29udHJv
bGxlci5wcm90b3R5cGUuX3JlZHJhdyk6CisgICAgICAgIChZZWFyTW9udGhDb250cm9sbGVyLnBy
b3RvdHlwZS5faGFuZGxlWWVhck1vbnRoQ2hhbmdlKToKKyAgICAgICAgKFllYXJNb250aENvbnRy
b2xsZXIucHJvdG90eXBlLm1vdmVSZWxhdGl2ZWx5KToKKyAgICAgICAgKERheXNUYWJsZSk6Cisg
ICAgICAgIChEYXlzVGFibGUucHJvdG90eXBlLmF0dGFjaFRvKToKKyAgICAgICAgKENhbGVuZGFy
UGlja2VyLnByb3RvdHlwZS5zdGVwTWlzbWF0Y2gpOgorICAgICAgICAoQ2FsZW5kYXJQaWNrZXIu
cHJvdG90eXBlLm91dE9mUmFuZ2UpOgorICAgICAgICAoQ2FsZW5kYXJQaWNrZXIucHJvdG90eXBl
LmlzVmFsaWREYXRlKToKKyAgICAgICAgKERheXNUYWJsZS5wcm90b3R5cGUuX3JlbmRlck1vbnRo
KToKKyAgICAgICAgKERheXNUYWJsZS5wcm90b3R5cGUuX25hdmlnYXRlVG9Nb250aCk6CisgICAg
ICAgIChEYXlzVGFibGUucHJvdG90eXBlLl9tYXliZVNldFByZXZpb3VzTW9udGgpOgorICAgICAg
ICAoRGF5c1RhYmxlLnByb3RvdHlwZS5fbWF5YmVTZXROZXh0TW9udGgpOgorICAgICAgICAoRGF5
c1RhYmxlLnByb3RvdHlwZS5faGFuZGxlRGF5Q2xpY2spOgorICAgICAgICAoRGF5c1RhYmxlLnBy
b3RvdHlwZS5faGFuZGxlS2V5KToKKyAgICAgICAgKENhbGVuZGFyUGlja2VyLnByb3RvdHlwZS5f
aGFuZGxlQm9keUtleURvd24pOgorICAgICAgICAqIFJlc291cmNlcy9wYWdlcG9wdXBzL2NvbG9y
U3VnZ2VzdGlvblBpY2tlci5qczoKKyAgICAgICAgKENvbG9yUGlja2VyKToKKyAgICAgICAgKENv
bG9yUGlja2VyLnByb3RvdHlwZS5fbGF5b3V0KToKKyAgICAgICAgKENvbG9yUGlja2VyLnByb3Rv
dHlwZS5faGFuZGxlS2V5RG93bik6CisgICAgICAgIChDb2xvclBpY2tlci5wcm90b3R5cGUuX2hh
bmRsZVN3YXRjaENsaWNrKToKKyAgICAgICAgKiBSZXNvdXJjZXMvcGFnZXBvcHVwcy9waWNrZXJD
b21tb24uanM6CisgICAgICAgIChQaWNrZXIpOgorICAgICAgICAoUGlja2VyLnByb3RvdHlwZS5z
dWJtaXRWYWx1ZSk6CisgICAgICAgIChQaWNrZXIucHJvdG90eXBlLmhhbmRsZUNhbmNlbCk6Cisg
ICAgICAgIChQaWNrZXIucHJvdG90eXBlLmNob29zZU90aGVyQ29sb3IpOgorCiAyMDEyLTA5LTA2
ICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KIAogICAgICAgICBb
UXRdIEZpeCB0ZXh0IGVuY29kaW5nIGRldGVjdGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpp
bmRleCA5ZjUzODQ4MjE3MGI4YmZjNDk5ODU3NDgyMTBhZTc1ZDQ1NTUxYWFiLi4yZTg3Y2I3NGQx
MjE1MDNkZTM2ZmE2NDEzMWY5ZWNlNGM3ZDc4ZjE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA5LTA3ICBLZWlzaGkgSGF0dG9yaSAgPGtlaXNoaUB3
ZWJraXQub3JnPgorCisgICAgICAgIERhdGFsaXN0IFVJIGZvciBpbnB1dCB0eXBlPWRhdGUgZm9y
IENocm9taXVtIHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTk2MDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBzcmMvRGF0ZVRpbWVDaG9vc2VySW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRh
dGVUaW1lQ2hvb3NlckltcGw6OndyaXRlRG9jdW1lbnQpOgorCiAyMDEyLTA5LTA2ICBZb3NoaWZ1
bWkgSW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2Ugc2hvdWxkIGhhdmUg
bG9jYWxpemVkIHN0cmluZ3Mgb2YgZGF0ZSB0aW1lIGZpZWxkcyBmb3IgYWNjZXNzaWJpbGl0eQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL3BhZ2Vwb3B1cHMvY2FsZW5kYXJQ
aWNrZXIuY3NzIGIvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL3BhZ2Vwb3B1cHMvY2FsZW5kYXJQ
aWNrZXIuY3NzCmluZGV4IDUxOGEyNWFkMTgyMzFiNDk3MDg0ZTNhYmYxOTQ2NTNhZTEwMDYzZGEu
LjgxMzNkNzFiMDEyYmQyYWQ0ZDc0YWVlYTI2ZTAyNDZiYWE3YTZjZjQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1Jlc291cmNlcy9wYWdlcG9wdXBzL2NhbGVuZGFyUGlja2VyLmNzcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJjZXMvcGFnZXBvcHVwcy9jYWxlbmRhclBpY2tlci5jc3MK
QEAgLTQwLDE0ICs0MCwxMyBAQCBib2R5IHsKICAgICBvdXRsaW5lOiBub25lOwogfQogCi0jbWFp
biB7CisuY2FsZW5kYXItcGlja2VyIHsKICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKICAg
ICBib3JkZXI6IHNvbGlkIDFweCAjODg5OWFhOwogICAgIGJveC1zaGFkb3c6IGluc2V0IDJweCAy
cHggMnB4IHdoaXRlLAogICAgICAgICBpbnNldCAtMnB4IC0ycHggMXB4IHJnYmEoMCwwLDAsMC4x
KTsKICAgICBwYWRkaW5nOiA2cHg7Ci0gICAgd2hpdGVzcGFjZTogbm93cmFwOwotICAgIC8qIHdp
ZHRoIGlzIHJlc2V0IGluIHRoZSBKUyBjb2RlLiAqLworICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7
CiAgICAgd2lkdGg6IDUwMHB4OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9SZXNv
dXJjZXMvcGFnZXBvcHVwcy9jYWxlbmRhclBpY2tlci5qcyBiL1NvdXJjZS9XZWJDb3JlL1Jlc291
cmNlcy9wYWdlcG9wdXBzL2NhbGVuZGFyUGlja2VyLmpzCmluZGV4IGRkMTkyMTEwNmQwODJlMzcx
NGY1NjY2YjY1NGMwMGYxMGNjNTZlNWUuLjc2ZmEwOTY0YWMzZjlhYjZhOTIxYzk3Yjc4OGZmMzgw
YTMwYzc0MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Jlc291cmNlcy9wYWdlcG9wdXBz
L2NhbGVuZGFyUGlja2VyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Jlc291cmNlcy9wYWdlcG9w
dXBzL2NhbGVuZGFyUGlja2VyLmpzCkBAIC03Myw3ICs3Myw4IEBAIHZhciBDbGFzc05hbWVzID0g
ewogdmFyIGdsb2JhbCA9IHsKICAgICBhcmd1bWVudHNSZWNlaXZlZDogZmFsc2UsCiAgICAgaGFk
S2V5RXZlbnQ6IGZhbHNlLAotICAgIHBhcmFtczogbnVsbAorICAgIHBhcmFtczogbnVsbCwKKyAg
ICBwaWNrZXI6IG51bGwKIH07CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTI0MywyMiArMjQ0LDIyIEBAIGZ1
bmN0aW9uIGhhbmRsZUFyZ3VtZW50c1RpbWVvdXQoKSB7CiAgKiBAcGFyYW0geyFPYmplY3R9IGFy
Z3MKICAqIEByZXR1cm4gez9zdHJpbmd9IEFuIGVycm9yIG1lc3NhZ2UsIG9yIG51bGwgaWYgdGhl
IGFyZ3VtZW50IGhhcyBubyBlcnJvcnMuCiAgKi8KLWZ1bmN0aW9uIHZhbGlkYXRlQXJndW1lbnRz
KGFyZ3MpIHsKLSAgICBpZiAoIWFyZ3MubW9udGhMYWJlbHMpCitDYWxlbmRhclBpY2tlci52YWxp
ZGF0ZUNvbmZpZyA9IGZ1bmN0aW9uKGNvbmZpZykgeworICAgIGlmICghY29uZmlnLm1vbnRoTGFi
ZWxzKQogICAgICAgICByZXR1cm4gIk5vIG1vbnRoTGFiZWxzLiI7Ci0gICAgaWYgKGFyZ3MubW9u
dGhMYWJlbHMubGVuZ3RoICE9IDEyKQorICAgIGlmIChjb25maWcubW9udGhMYWJlbHMubGVuZ3Ro
ICE9IDEyKQogICAgICAgICByZXR1cm4gIm1vbnRoTGFiZWxzIGlzIG5vdCBhbiBhcnJheSB3aXRo
IDEyIGVsZW1lbnRzLiI7Ci0gICAgaWYgKCFhcmdzLmRheUxhYmVscykKKyAgICBpZiAoIWNvbmZp
Zy5kYXlMYWJlbHMpCiAgICAgICAgIHJldHVybiAiTm8gZGF5TGFiZWxzLiI7Ci0gICAgaWYgKGFy
Z3MuZGF5TGFiZWxzLmxlbmd0aCAhPSA3KQorICAgIGlmIChjb25maWcuZGF5TGFiZWxzLmxlbmd0
aCAhPSA3KQogICAgICAgICByZXR1cm4gImRheUxhYmVscyBpcyBub3QgYW4gYXJyYXkgd2l0aCA3
IGVsZW1lbnRzLiI7Ci0gICAgaWYgKCFhcmdzLmNsZWFyTGFiZWwpCisgICAgaWYgKCFjb25maWcu
Y2xlYXJMYWJlbCkKICAgICAgICAgcmV0dXJuICJObyBjbGVhckxhYmVsLiI7Ci0gICAgaWYgKCFh
cmdzLnRvZGF5TGFiZWwpCisgICAgaWYgKCFjb25maWcudG9kYXlMYWJlbCkKICAgICAgICAgcmV0
dXJuICJObyB0b2RheUxhYmVsLiI7Ci0gICAgaWYgKGFyZ3Mud2Vla1N0YXJ0RGF5KSB7Ci0gICAg
ICAgIGlmIChhcmdzLndlZWtTdGFydERheSA8IDAgfHwgYXJncy53ZWVrU3RhcnREYXkgPiA2KQot
ICAgICAgICAgICAgcmV0dXJuICJJbnZhbGlkIHdlZWtTdGFydERheTogIiArIGFyZ3Mud2Vla1N0
YXJ0RGF5OworICAgIGlmIChjb25maWcud2Vla1N0YXJ0RGF5KSB7CisgICAgICAgIGlmIChjb25m
aWcud2Vla1N0YXJ0RGF5IDwgMCB8fCBjb25maWcud2Vla1N0YXJ0RGF5ID4gNikKKyAgICAgICAg
ICAgIHJldHVybiAiSW52YWxpZCB3ZWVrU3RhcnREYXk6ICIgKyBjb25maWcud2Vla1N0YXJ0RGF5
OwogICAgIH0KICAgICByZXR1cm4gbnVsbDsKIH0KQEAgLTI3MCwyNSArMjcxLDQ4IEBAIGZ1bmN0
aW9uIGluaXRpYWxpemUoYXJncykgewogICAgIHZhciBtYWluID0gJCgibWFpbiIpOwogICAgIG1h
aW4uY2xhc3NMaXN0LmFkZChDbGFzc05hbWVzLk5vRm9jdXNSaW5nKTsKIAotICAgIHZhciBlcnJv
clN0cmluZyA9IHZhbGlkYXRlQXJndW1lbnRzKGFyZ3MpOworICAgIHZhciBlcnJvclN0cmluZyA9
IENhbGVuZGFyUGlja2VyLnZhbGlkYXRlQ29uZmlnKGFyZ3MpOworICAgIGlmIChhcmdzLnN1Z2dl
c3Rpb25WYWx1ZXMpCisgICAgICAgIGVycm9yU3RyaW5nID0gZXJyb3JTdHJpbmcgfHwgU3VnZ2Vz
dGlvblBpY2tlci52YWxpZGF0ZUNvbmZpZyhhcmdzKQogICAgIGlmIChlcnJvclN0cmluZykgewog
ICAgICAgICBtYWluLnRleHRDb250ZW50ID0gIkludGVybmFsIGVycm9yOiAiICsgZXJyb3JTdHJp
bmc7CiAgICAgICAgIHJlc2l6ZVdpbmRvdyhtYWluLm9mZnNldFdpZHRoLCBtYWluLm9mZnNldEhl
aWdodCk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgZ2xvYmFsLnBhcmFtcyA9IGFyZ3M7Ci0gICAg
ICAgIG9wZW5DYWxlbmRhclBpY2tlcigpOworICAgICAgICBpZiAoZ2xvYmFsLnBhcmFtcy5zdWdn
ZXN0aW9uVmFsdWVzICYmIGdsb2JhbC5wYXJhbXMuc3VnZ2VzdGlvblZhbHVlcy5sZW5ndGgpIHsK
KyAgICAgICAgICAgIG9wZW5TdWdnZXN0aW9uUGlja2VyKCk7CisgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICBvcGVuQ2FsZW5kYXJQaWNrZXIoKTsKKyAgICAgICAgfQogICAgIH0KIH0KIAot
ZnVuY3Rpb24gcmVzZXRNYWluKCkgeworZnVuY3Rpb24gY2xvc2VQaWNrZXIoKSB7CisgICAgaWYg
KGdsb2JhbC5waWNrZXIpCisgICAgICAgIGdsb2JhbC5waWNrZXIuY2xlYW51cCgpOwogICAgIHZh
ciBtYWluID0gJCgibWFpbiIpOwogICAgIG1haW4uaW5uZXJIVE1MID0gIiI7CiAgICAgbWFpbi5j
bGFzc05hbWUgPSAiIjsKIH07CiAKK2Z1bmN0aW9uIG9wZW5TdWdnZXN0aW9uUGlja2VyKCkgewor
ICAgIGNsb3NlUGlja2VyKCk7CisgICAgZ2xvYmFsLnBpY2tlciA9IG5ldyBTdWdnZXN0aW9uUGlj
a2VyKCQoIm1haW4iKSwgZ2xvYmFsLnBhcmFtcyk7CisgICAgd2luZG93LmRpc3BhdGNoRXZlbnQo
bmV3IEN1c3RvbUV2ZW50KCJkaWRvcGVucGlja2VyIiwgeworICAgICAgICBkZXRhaWw6IHsKKyAg
ICAgICAgICAgIHBpY2tlcjpnbG9iYWwucGlja2VyCisgICAgICAgIH0KKyAgICB9KSk7Cit9Owor
CiBmdW5jdGlvbiBvcGVuQ2FsZW5kYXJQaWNrZXIoKSB7Ci0gICAgcmVzZXRNYWluKCk7Ci0gICAg
bmV3IENhbGVuZGFyUGlja2VyKCQoIm1haW4iKSwgZ2xvYmFsLnBhcmFtcyk7CisgICAgY2xvc2VQ
aWNrZXIoKTsKKyAgICBnbG9iYWwucGlja2VyID0gbmV3IENhbGVuZGFyUGlja2VyKCQoIm1haW4i
KSwgZ2xvYmFsLnBhcmFtcyk7CisgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2
ZW50KCJkaWRvcGVucGlja2VyIiwgeworICAgICAgICBkZXRhaWw6IHsKKyAgICAgICAgICAgIHBp
Y2tlcjpnbG9iYWwucGlja2VyCisgICAgICAgIH0KKyAgICB9KSk7CiB9OwogCiAvKioKQEAgLTI5
OCw2ICszMjIsNyBAQCBmdW5jdGlvbiBvcGVuQ2FsZW5kYXJQaWNrZXIoKSB7CiAgKi8KIGZ1bmN0
aW9uIENhbGVuZGFyUGlja2VyKGVsZW1lbnQsIGNvbmZpZykgewogICAgIFBpY2tlci5jYWxsKHRo
aXMsIGVsZW1lbnQsIGNvbmZpZyk7CisgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJj
YWxlbmRhci1waWNrZXIiKTsKICAgICAvLyBXZSBhc3N1bWUgdGhpcy5fY29uZmlnLm1pbiBpcyBh
IHZhbGlkIGRhdGUuCiAgICAgdGhpcy5taW5pbXVtRGF0ZSA9ICh0eXBlb2YgdGhpcy5fY29uZmln
Lm1pbiAhPT0gInVuZGVmaW5lZCIpID8gcGFyc2VEYXRlU3RyaW5nKHRoaXMuX2NvbmZpZy5taW4p
IDogQ2FsZW5kYXJQaWNrZXIuTWluaW11bVBvc3NpYmxlRGF0ZTsKICAgICAvLyBXZSBhc3N1bWUg
dGhpcy5fY29uZmlnLm1heCBpcyBhIHZhbGlkIGRhdGUuCkBAIC0zMTMsNyArMzM4LDggQEAgZnVu
Y3Rpb24gQ2FsZW5kYXJQaWNrZXIoZWxlbWVudCwgY29uZmlnKSB7CiAgICAgICAgIGluaXRpYWxE
YXRlID0gdGhpcy5tYXhpbXVtRGF0ZTsKICAgICB0aGlzLmRheXNUYWJsZS5zZWxlY3REYXRlKGlu
aXRpYWxEYXRlKTsKICAgICB0aGlzLmZpeFdpbmRvd1NpemUoKTsKLSAgICBkb2N1bWVudC5ib2R5
LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCB0aGlzLl9oYW5kbGVCb2R5S2V5RG93bi5iaW5k
KHRoaXMpLCBmYWxzZSk7CisgICAgdGhpcy5faGFuZGxlQm9keUtleURvd25Cb3VuZCA9IHRoaXMu
X2hhbmRsZUJvZHlLZXlEb3duLmJpbmQodGhpcyk7CisgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVu
dExpc3RlbmVyKCJrZXlkb3duIiwgdGhpcy5faGFuZGxlQm9keUtleURvd25Cb3VuZCwgZmFsc2Up
OwogfQogQ2FsZW5kYXJQaWNrZXIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShQaWNrZXIucHJv
dG90eXBlKTsKIApAQCAtMzIzLDYgKzM0OSwxMCBAQCBDYWxlbmRhclBpY2tlci5NYXhpbXVtUG9z
c2libGVEYXRlID0gbmV3IERhdGUoODY0MDAwMDAwMDAwMDAwMC4wKTsKIC8vIFNlZSBXZWJDb3Jl
L2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAuCiBDYWxlbmRhclBpY2tlci5CYXNlU3RlcCA9IDg2NDAw
MDAwOwogCitDYWxlbmRhclBpY2tlci5wcm90b3R5cGUuY2xlYW51cCA9IGZ1bmN0aW9uKCkgewor
ICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIHRoaXMuX2hh
bmRsZUJvZHlLZXlEb3duQm91bmQsIGZhbHNlKTsKK307CisKIENhbGVuZGFyUGlja2VyLnByb3Rv
dHlwZS5fbGF5b3V0ID0gZnVuY3Rpb24oKSB7CiAgICAgdGhpcy5fZWxlbWVudC5zdHlsZS5kaXJl
Y3Rpb24gPSBnbG9iYWwucGFyYW1zLmlzUlRMID8gInJ0bCIgOiAibHRyIjsKICAgICB0aGlzLnll
YXJNb250aENvbnRyb2xsZXIuYXR0YWNoVG8odGhpcy5fZWxlbWVudCk7CkBAIC0zNjUsMTIgKzM5
NSwxNCBAQCBDYWxlbmRhclBpY2tlci5wcm90b3R5cGUuZml4V2luZG93U2l6ZSA9IGZ1bmN0aW9u
KCkgewogICAgIHZhciBNYWluQm9yZGVyID0gMTsKICAgICB2YXIgZGVzaXJlZEJvZHlXaWR0aCA9
IG1heEVuZCArIE1haW5QYWRkaW5nICsgTWFpbkJvcmRlcjsKIAotICAgIHZhciBlbGVtZW50SGVp
Z2h0ID0gdGhpcy5fZWxlbWVudC5vZmZzZXRIZWlnaHQ7CiAgICAgdGhpcy5fZWxlbWVudC5zdHls
ZS53aWR0aCA9ICJhdXRvIjsKICAgICBkYXlzQXJlYUVsZW1lbnQuc3R5bGUud2lkdGggPSAiMTAw
JSI7CiAgICAgZGF5c0FyZWFFbGVtZW50LnN0eWxlLnRhYmxlTGF5b3V0ID0gImZpeGVkIjsKICAg
ICB0aGlzLl9lbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoQ2xhc3NOYW1lcy5ZZWFyTW9u
dGhVcHBlcilbMF0uc3R5bGUuZGlzcGxheSA9ICItd2Via2l0LWJveCI7CiAgICAgdGhpcy5fZWxl
bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKENsYXNzTmFtZXMuTW9udGhTZWxlY3RvckJveClb
MF0uc3R5bGUuZGlzcGxheSA9ICJibG9jayI7CisgICAgdmFyIGVsZW1lbnRIZWlnaHQgPSB0aGlz
Ll9lbGVtZW50Lm9mZnNldEhlaWdodDsKKyAgICByZXNpemVXaW5kb3coZGVzaXJlZEJvZHlXaWR0
aCwgZWxlbWVudEhlaWdodCk7CisgICAgdmFyIGVsZW1lbnRIZWlnaHQgPSB0aGlzLl9lbGVtZW50
Lm9mZnNldEhlaWdodDsKICAgICByZXNpemVXaW5kb3coZGVzaXJlZEJvZHlXaWR0aCwgZWxlbWVu
dEhlaWdodCk7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJjZXMvcGFn
ZXBvcHVwcy9waWNrZXJDb21tb24uanMgYi9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJjZXMvcGFnZXBv
cHVwcy9waWNrZXJDb21tb24uanMKaW5kZXggODUyMzMyMTYwNjE2YzEwZjQwNGNmYmRjZWViMzJl
NzI0M2NmMWMzMC4uY2FmMWQ5YmZkMWZkYjQ4ZjliOGRhZjRlNzg1OTdiNThlZDcyZGNiNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL3BhZ2Vwb3B1cHMvcGlja2VyQ29tbW9u
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Jlc291cmNlcy9wYWdlcG9wdXBzL3BpY2tlckNvbW1v
bi5qcwpAQCAtMSwzICsxLDQgQEAKKyJ1c2Ugc3RyaWN0IjsKIC8qCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCkBAIC00OSw2ICs1MCw3
IEBAIGZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQodGFnTmFtZSwgb3B0X2NsYXNzLCBvcHRfdGV4dCkg
ewogICogQHBhcmFtIHshbnVtYmVyfSBoZWlnaHQKICAqLwogZnVuY3Rpb24gcmVzaXplV2luZG93
KHdpZHRoLCBoZWlnaHQpIHsKKyAgICBjb25zb2xlLmxvZyh3aWR0aCArICItIiArIGhlaWdodCk7
CiAgICAgaWYgKHdpbmRvdy5mcmFtZUVsZW1lbnQpIHsKICAgICAgICAgd2luZG93LmZyYW1lRWxl
bWVudC5zdHlsZS53aWR0aCA9IHdpZHRoICsgInB4IjsKICAgICAgICAgd2luZG93LmZyYW1lRWxl
bWVudC5zdHlsZS5oZWlnaHQgPSBoZWlnaHQgKyAicHgiOwpAQCAtNTcsNiArNTksOSBAQCBmdW5j
dGlvbiByZXNpemVXaW5kb3cod2lkdGgsIGhlaWdodCkgewogICAgIH0KIH0KIAorLyoqCisgKiBA
cmV0dXJuIHshbnVtYmVyfQorICovCiBmdW5jdGlvbiBnZXRTY3JvbGxiYXJXaWR0aCgpIHsKICAg
ICBpZiAodHlwZW9mIHdpbmRvdy5zY3JvbGxiYXJXaWR0aCA9PT0gInVuZGVmaW5lZCIpIHsKICAg
ICAgICAgdmFyIHNjcm9sbERpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwpAQCAt
NzIsNiArNzcsMTggQEAgZnVuY3Rpb24gZ2V0U2Nyb2xsYmFyV2lkdGgoKSB7CiB9CiAKIC8qKgor
ICogQHBhcmFtIHshc3RyaW5nfSBjbGFzc05hbWUKKyAqIEByZXR1cm4geyFFbGVtZW50fQorICov
CitOb2RlLnByb3RvdHlwZS5lbmNsb3NpbmdOb2RlT3JTZWxmV2l0aENsYXNzID0gZnVuY3Rpb24o
Y2xhc3NOYW1lKQoreworICAgIGZvciAodmFyIG5vZGUgPSB0aGlzOyBub2RlICYmIG5vZGUgIT09
IHRoaXMub3duZXJEb2N1bWVudDsgbm9kZSA9IG5vZGUucGFyZW50Tm9kZSkKKyAgICAgICAgaWYg
KG5vZGUubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFICYmIG5vZGUuY2xhc3NMaXN0LmNv
bnRhaW5zKGNsYXNzTmFtZSkpCisgICAgICAgICAgICByZXR1cm4gbm9kZTsKKyAgICByZXR1cm4g
bnVsbDsKK307CisKKy8qKgogICogQGNvbnN0cnVjdG9yCiAgKiBAcGFyYW0geyFFbGVtZW50fSBl
bGVtZW50CiAgKiBAcGFyYW0geyFPYmplY3R9IGNvbmZpZwpAQCAtMTA0LDMgKzEyMSw1IEBAIFBp
Y2tlci5wcm90b3R5cGUuaGFuZGxlQ2FuY2VsID0gZnVuY3Rpb24oKSB7CiBQaWNrZXIucHJvdG90
eXBlLmNob29zZU90aGVyQ29sb3IgPSBmdW5jdGlvbigpIHsKICAgICB3aW5kb3cucGFnZVBvcHVw
Q29udHJvbGxlci5zZXRWYWx1ZUFuZENsb3NlUG9wdXAoUGlja2VyLkFjdGlvbnMuQ2hvb3NlT3Ro
ZXJDb2xvciwgIiIpOwogfQorCitQaWNrZXIucHJvdG90eXBlLmNsZWFudXAgPSBmdW5jdGlvbigp
IHt9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL3BhZ2Vwb3B1cHMvc3Vn
Z2VzdGlvblBpY2tlci5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJjZXMvcGFnZXBvcHVwcy9z
dWdnZXN0aW9uUGlja2VyLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMmQ0MmM2N2ViOTU0Y2M5OGI3YTViZjM5
ZjcwNDMxZTU2NDEwMTRjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvUmVzb3Vy
Y2VzL3BhZ2Vwb3B1cHMvc3VnZ2VzdGlvblBpY2tlci5jc3MKQEAgLTAsMCArMSw1MiBAQAorLnN1
Z2dlc3Rpb24tbGlzdCB7CisgICAgbGlzdC1zdHlsZTogbm9uZTsKKyAgICBwYWRkaW5nOiAwOwor
ICAgIG1hcmdpbjogMDsKKyAgICBmb250OiAtd2Via2l0LXNtYWxsLWNvbnRyb2w7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgIzdmOWRiOTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKKyAg
ICBvdmVyZmxvdy15OiBhdXRvOworfQorCisuc3VnZ2VzdGlvbi1lbnRyeSB7CisgICAgd2hpdGUt
c3BhY2U6IG5vd3JhcDsKKyAgICBoZWlnaHQ6IDEuNzNlbTsKKyAgICBsaW5lLWhlaWdodDogMS43
M2VtOworICAgIC13ZWJraXQtc2VsZWN0OiBub25lOworICAgIGN1cnNvcjogZGVmYXVsdDsKK30K
KworLnN1Z2dlc3Rpb24tZW50cnk6Zm9jdXMgeworICAgIGJhY2tncm91bmQtY29sb3I6ICMzODc1
ZDc7CisgICAgY29sb3I6ICNmZmZmZmY7CisgICAgb3V0bGluZTogbm9uZTsKK30KKworLnN1Z2dl
c3Rpb24tZW50cnk6Zm9jdXMgLmxhYmVsIHsKKyAgICBjb2xvcjogI2ZmZmZmZjsKK30KKworLnN1
Z2dlc3Rpb24tZW50cnkgLmNvbnRlbnQgeworICAgIHBhZGRpbmc6IDAgNHB4OworfQorCisuc3Vn
Z2VzdGlvbi1lbnRyeSAudGl0bGUgeworfQorCisuc3VnZ2VzdGlvbi1lbnRyeSAubGFiZWwgewor
ICAgIHBhZGRpbmctbGVmdDogMjBweDsKKyAgICB0ZXh0LWFsaWduOiByaWdodDsKKyAgICBjb2xv
cjogIzczNzM3MzsKKyAgICBmbG9hdDogcmlnaHQ7CisgICAgbWFyZ2luLXJpZ2h0OiA0cHg7Cit9
CisKKy5tZWFzdXJpbmctd2lkdGggLnN1Z2dlc3Rpb24tZW50cnkgLmxhYmVsIHsKKyAgICBmbG9h
dDogbm9uZTsKKyAgICBtYXJnaW4tcmlnaHQ6IDA7Cit9CisKKy5zdWdnZXN0aW9uLWxpc3QgLnNl
cGFyYXRvciB7CisgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7CisgICAgaGVpZ2h0
OiAwOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL3BhZ2Vwb3B1cHMv
c3VnZ2VzdGlvblBpY2tlci5qcyBiL1NvdXJjZS9XZWJDb3JlL1Jlc291cmNlcy9wYWdlcG9wdXBz
L3N1Z2dlc3Rpb25QaWNrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTgzOTc3Nzc1YzM5OGE2YWM3OTMyMzEz
Y2JiNWZhNDM1M2NjZTc1ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL1Jlc291
cmNlcy9wYWdlcG9wdXBzL3N1Z2dlc3Rpb25QaWNrZXIuanMKQEAgLTAsMCArMSwyNzEgQEAKKyJ1
c2Ugc3RyaWN0IjsKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisvKioKKyAqIEBwYXJhbSB7IUVsZW1lbnR9IGVsZW1lbnQK
KyAqIEBwYXJhbSB7IU9iamVjdH0gY29uZmlnCisgKi8KK2Z1bmN0aW9uIFN1Z2dlc3Rpb25QaWNr
ZXIoZWxlbWVudCwgY29uZmlnKSB7CisgICAgUGlja2VyLmNhbGwodGhpcywgZWxlbWVudCwgY29u
ZmlnKTsKKyAgICB0aGlzLl9pc0ZvY3VzQnlNb3VzZSA9IGZhbHNlOworICAgIHRoaXMuX2NvbnRh
aW5lckVsZW1lbnQgPSBudWxsOworICAgIHRoaXMuX2xheW91dCgpOworICAgIHRoaXMuX2hhbmRs
ZUJvZHlLZXlEb3duQm91bmQgPSB0aGlzLl9oYW5kbGVCb2R5S2V5RG93bi5iaW5kKHRoaXMpOwor
ICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIHRoaXMuX2hhbmRs
ZUJvZHlLZXlEb3duQm91bmQpOworICAgIHRoaXMuX2VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigi
bW91c2VvdXQiLCB0aGlzLl9oYW5kbGVNb3VzZU91dC5iaW5kKHRoaXMpLCBmYWxzZSk7Cit9Owor
U3VnZ2VzdGlvblBpY2tlci5wcm90b3R5cGUgPSBPYmplY3QuY3JlYXRlKFBpY2tlci5wcm90b3R5
cGUpOworCitTdWdnZXN0aW9uUGlja2VyLlZpc2libGVFbnRyeUxpbWl0ID0gMjA7CitTdWdnZXN0
aW9uUGlja2VyLnZhbGlkYXRlQ29uZmlnID0gZnVuY3Rpb24oY29uZmlnKSB7CisgICAgaWYgKGNv
bmZpZy5zaG93T3RoZXJEYXRlRW50cnkgJiYgIWNvbmZpZy5vdGhlckRhdGVMYWJlbCkKKyAgICAg
ICAgcmV0dXJuICJObyBvdGhlckRhdGVMYWJlbC4iOworICAgIGlmIChjb25maWcuc3VnZ2VzdGlv
blZhbHVlcy5sZW5ndGggIT09IGNvbmZpZy5zdWdnZXN0aW9uTG9jYWxpemVkVmFsdWVzLmxlbmd0
aCkKKyAgICAgICAgcmV0dXJuICJzdWdnZXN0aW9uTG9jYWxpemVkVmFsdWVzLmxlbmd0aCBtdXN0
IGVxdWFsIHN1Z2dlc3Rpb25WYWx1ZXMubGVuZ3RoLiI7CisgICAgaWYgKGNvbmZpZy5zdWdnZXN0
aW9uVmFsdWVzLmxlbmd0aCAhPT0gY29uZmlnLnN1Z2dlc3Rpb25MYWJlbHMubGVuZ3RoKQorICAg
ICAgICByZXR1cm4gInN1Z2dlc3Rpb25MYWJlbHMubGVuZ3RoIG11c3QgZXF1YWwgc3VnZ2VzdGlv
blZhbHVlcy5sZW5ndGguIjsKKyAgICBpZiAodHlwZW9mIGNvbmZpZy5pbnB1dFdpZHRoID09PSAi
dW5kZWZpbmVkIikKKyAgICAgICAgcmV0dXJuICJObyBpbnB1dFdpZHRoLiI7CisgICAgcmV0dXJu
IG51bGw7Cit9OworCitTdWdnZXN0aW9uUGlja2VyLnByb3RvdHlwZS5jbGVhbnVwID0gZnVuY3Rp
b24oKSB7CisgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIiwg
dGhpcy5faGFuZGxlQm9keUtleURvd25Cb3VuZCwgZmFsc2UpOworfTsKKworLyoqCisgKiBAcGFy
YW0geyFTdHJpbmd9IHRpdGxlCisgKiBAcGFyYW0geyFTdHJpbmd9IGxhYmVsCisgKiBAcGFyYW0g
eyFTdHJpbmd9IHZhbHVlCisgKiBAcmV0dXJuIHshRWxlbWVudH0KKyAqLworU3VnZ2VzdGlvblBp
Y2tlci5wcm90b3R5cGUuX2NyZWF0ZVN1Z2dlc3Rpb25FbnRyeUVsZW1lbnQgPSBmdW5jdGlvbih0
aXRsZSwgbGFiZWwsIHZhbHVlKSB7CisgICAgdmFyIGVudHJ5RWxlbWVudCA9IGNyZWF0ZUVsZW1l
bnQoImRpdiIsICJzdWdnZXN0aW9uLWVudHJ5Iik7CisgICAgZW50cnlFbGVtZW50LnRhYkluZGV4
ID0gMDsKKyAgICBlbnRyeUVsZW1lbnQuZGF0YXNldC52YWx1ZSA9IHZhbHVlOworICAgIHZhciBj
b250ZW50ID0gY3JlYXRlRWxlbWVudCgic3BhbiIsICJjb250ZW50Iik7CisgICAgZW50cnlFbGVt
ZW50LmFwcGVuZENoaWxkKGNvbnRlbnQpOworICAgIHZhciB0aXRsZUVsZW1lbnQgPSBjcmVhdGVF
bGVtZW50KCJzcGFuIiwgInRpdGxlIiwgdGl0bGUpOworICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQo
dGl0bGVFbGVtZW50KTsKKyAgICBpZiAobGFiZWwpIHsKKyAgICAgICAgdmFyIGxhYmVsRWxlbWVu
dCA9IGNyZWF0ZUVsZW1lbnQoInNwYW4iLCAibGFiZWwiLCBsYWJlbCk7CisgICAgICAgIGNvbnRl
bnQuYXBwZW5kQ2hpbGQobGFiZWxFbGVtZW50KTsKKyAgICB9CisgICAgZW50cnlFbGVtZW50LmFk
ZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIsIHRoaXMuX2hhbmRsZUVudHJ5TW91c2VPdmVyLmJp
bmQodGhpcyksIGZhbHNlKTsKKyAgICByZXR1cm4gZW50cnlFbGVtZW50OworfTsKKworLyoqCisg
KiBAcGFyYW0geyFTdHJpbmd9IHRpdGxlCisgKiBAcGFyYW0geyFTdHJpbmd9IGFjdGlvbk5hbWUK
KyAqIEByZXR1cm4geyFFbGVtZW50fQorICovCitTdWdnZXN0aW9uUGlja2VyLnByb3RvdHlwZS5f
Y3JlYXRlQWN0aW9uRW50cnlFbGVtZW50ID0gZnVuY3Rpb24odGl0bGUsIGFjdGlvbk5hbWUpIHsK
KyAgICB2YXIgZW50cnlFbGVtZW50ID0gY3JlYXRlRWxlbWVudCgiZGl2IiwgInN1Z2dlc3Rpb24t
ZW50cnkiKTsKKyAgICBlbnRyeUVsZW1lbnQudGFiSW5kZXggPSAwOworICAgIGVudHJ5RWxlbWVu
dC5kYXRhc2V0LmFjdGlvbiA9IGFjdGlvbk5hbWU7CisgICAgdmFyIGNvbnRlbnQgPSBjcmVhdGVF
bGVtZW50KCJzcGFuIiwgImNvbnRlbnQiKTsKKyAgICBlbnRyeUVsZW1lbnQuYXBwZW5kQ2hpbGQo
Y29udGVudCk7CisgICAgdmFyIHRpdGxlRWxlbWVudCA9IGNyZWF0ZUVsZW1lbnQoInNwYW4iLCAi
dGl0bGUiLCB0aXRsZSk7CisgICAgY29udGVudC5hcHBlbmRDaGlsZCh0aXRsZUVsZW1lbnQpOwor
ICAgIGVudHJ5RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW92ZXIiLCB0aGlzLl9oYW5k
bGVFbnRyeU1vdXNlT3Zlci5iaW5kKHRoaXMpLCBmYWxzZSk7CisgICAgcmV0dXJuIGVudHJ5RWxl
bWVudDsKK307CisKK1N1Z2dlc3Rpb25QaWNrZXIucHJvdG90eXBlLl9sYXlvdXQgPSBmdW5jdGlv
bigpIHsKKyAgICB0aGlzLl9jb250YWluZXJFbGVtZW50ID0gY3JlYXRlRWxlbWVudCgiZGl2Iiwg
InN1Z2dlc3Rpb24tbGlzdCIpOworICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcigiY2xpY2siLCB0aGlzLl9oYW5kbGVFbnRyeUNsaWNrLmJpbmQodGhpcyksIGZhbHNl
KTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX2NvbmZpZy5zdWdnZXN0aW9uVmFsdWVz
Lmxlbmd0aDsgaSsrKSB7CisgICAgICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuYXBwZW5kQ2hp
bGQodGhpcy5fY3JlYXRlU3VnZ2VzdGlvbkVudHJ5RWxlbWVudCh0aGlzLl9jb25maWcuc3VnZ2Vz
dGlvbkxvY2FsaXplZFZhbHVlc1tpXSwgdGhpcy5fY29uZmlnLnN1Z2dlc3Rpb25MYWJlbHNbaV0s
IHRoaXMuX2NvbmZpZy5zdWdnZXN0aW9uVmFsdWVzW2ldKSk7CisgICAgfQorICAgIGlmICh0aGlz
Ll9jb25maWcuc2hvd090aGVyRGF0ZUVudHJ5KSB7CisgICAgICAgIC8vIEFkZCBzZXBhcmF0b3IK
KyAgICAgICAgdmFyIHNlcGFyYXRvciA9IGNyZWF0ZUVsZW1lbnQoImRpdiIsICJzZXBhcmF0b3Ii
KTsKKyAgICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5hcHBlbmRDaGlsZChzZXBhcmF0b3Ip
OworCisgICAgICAgIC8vIEFkZCAiT3RoZXIuLi4iIGVudHJ5CisgICAgICAgIHZhciBvdGhlckVu
dHJ5ID0gdGhpcy5fY3JlYXRlQWN0aW9uRW50cnlFbGVtZW50KHRoaXMuX2NvbmZpZy5vdGhlckRh
dGVMYWJlbCwgIm9wZW5DYWxlbmRhclBpY2tlciIpOworICAgICAgICB0aGlzLl9jb250YWluZXJF
bGVtZW50LmFwcGVuZENoaWxkKG90aGVyRW50cnkpOworICAgIH0KKyAgICB0aGlzLl9lbGVtZW50
LmFwcGVuZENoaWxkKHRoaXMuX2NvbnRhaW5lckVsZW1lbnQpOworCisgICAgLy8gVG8gbWVhc3Vy
ZSB0aGUgcmVxdWlyZWQgd2lkdGgsIHdlIGZpcnN0IHNldCB0aGUgY2xhc3MgdG8gIm1lYXN1cmlu
Zy13aWR0aCIgd2hpY2gKKyAgICAvLyBsZWZ0IGFsaWducyBhbGwgdGhlIGNvbnRlbnQgaW5jbHVk
aW5nIGxhYmVsLgorICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuY2xhc3NMaXN0LmFkZCgibWVh
c3VyaW5nLXdpZHRoIik7CisgICAgdmFyIG1heENvbnRlbnRXaWR0aCA9IDA7CisgICAgaWYgKHR5
cGVvZiB0aGlzLl9jb25maWcuaW5wdXRXaWR0aCA9PT0gIm51bWJlciIpCisgICAgICAgIG1heENv
bnRlbnRXaWR0aCA9IHRoaXMuX2NvbmZpZy5pbnB1dFdpZHRoOworICAgIHZhciBjb250ZW50RWxl
bWVudHMgPSB0aGlzLl9jb250YWluZXJFbGVtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoImNv
bnRlbnQiKTsKKyAgICBmb3IgKHZhciBpPTA7IGkgPCBjb250ZW50RWxlbWVudHMubGVuZ3RoOyBp
KyspIHsKKyAgICAgICAgbWF4Q29udGVudFdpZHRoID0gTWF0aC5tYXgobWF4Q29udGVudFdpZHRo
LCBjb250ZW50RWxlbWVudHNbaV0ub2Zmc2V0V2lkdGgpOworICAgIH0KKyAgICAvLyBXZSBhc3N1
bWUgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIHN1Z2dlc3Rpb24gZW50cnkuCisgICAgdmFyIGVudHJ5
SGVpZ2h0ID0gdGhpcy5fY29udGFpbmVyRWxlbWVudC5xdWVyeVNlbGVjdG9yKCIuc3VnZ2VzdGlv
bi1lbnRyeTpmaXJzdC1jaGlsZCIpLm9mZnNldEhlaWdodDsKKyAgICB0aGlzLl9jb250YWluZXJF
bGVtZW50LnN0eWxlLm1heEhlaWdodCA9IChTdWdnZXN0aW9uUGlja2VyLlZpc2libGVFbnRyeUxp
bWl0ICogZW50cnlIZWlnaHQpICsgInB4IjsKKyAgICB2YXIgTGlzdEJvcmRlciA9IDI7CisgICAg
dmFyIGRlc2lyZWRXaW5kb3dXaWR0aCA9IG1heENvbnRlbnRXaWR0aCArIExpc3RCb3JkZXI7Cisg
ICAgaWYgKHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuY2hpbGROb2Rlcy5sZW5ndGggPiBTdWdnZXN0
aW9uUGlja2VyLlZpc2libGVFbnRyeUxpbWl0KQorICAgICAgICBkZXNpcmVkV2luZG93V2lkdGgg
Kz0gZ2V0U2Nyb2xsYmFyV2lkdGgoKTsKKyAgICB0aGlzLl9jb250YWluZXJFbGVtZW50LmNsYXNz
TGlzdC5yZW1vdmUoIm1lYXN1cmluZy13aWR0aCIpOworCisgICAgdmFyIGRlc2lyZWRXaW5kb3dI
ZWlnaHQgPSBMaXN0Qm9yZGVyOworICAgIGZvciAodmFyIGk9MDsgaSA8IHRoaXMuX2NvbnRhaW5l
ckVsZW1lbnQuY2hpbGROb2Rlcy5sZW5ndGg7IGkrKykgeworICAgICAgICBkZXNpcmVkV2luZG93
SGVpZ2h0ICs9IHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuY2hpbGROb2Rlc1tpXS5vZmZzZXRIZWln
aHQ7CisgICAgfQorCisgICAgcmVzaXplV2luZG93KGRlc2lyZWRXaW5kb3dXaWR0aCwgZGVzaXJl
ZFdpbmRvd0hlaWdodCk7Cit9OworCisvKioKKyAqIEBwYXJhbSB7IUVsZW1lbnR9IGVudHJ5Cisg
Ki8KK1N1Z2dlc3Rpb25QaWNrZXIucHJvdG90eXBlLnNlbGVjdEVudHJ5ID0gZnVuY3Rpb24oZW50
cnkpIHsKKyAgICBpZiAodHlwZW9mIGVudHJ5LmRhdGFzZXQudmFsdWUgIT09ICJ1bmRlZmluZWQi
KSB7CisgICAgICAgIHRoaXMuc3VibWl0VmFsdWUoZW50cnkuZGF0YXNldC52YWx1ZSk7CisgICAg
fSBlbHNlIGlmIChlbnRyeS5kYXRhc2V0LmFjdGlvbiA9PT0gIm9wZW5DYWxlbmRhclBpY2tlciIp
IHsKKyAgICAgICAgb3BlbkNhbGVuZGFyUGlja2VyKCk7CisgICAgfQorfTsKKworLyoqCisgKiBA
cGFyYW0geyFFdmVudH0gZXZlbnQKKyAqLworU3VnZ2VzdGlvblBpY2tlci5wcm90b3R5cGUuX2hh
bmRsZUVudHJ5Q2xpY2sgPSBmdW5jdGlvbihldmVudCkgeworICAgIHZhciBlbnRyeSA9IGV2ZW50
LnRhcmdldC5lbmNsb3NpbmdOb2RlT3JTZWxmV2l0aENsYXNzKCJzdWdnZXN0aW9uLWVudHJ5Iik7
CisgICAgaWYgKCFlbnRyeSkKKyAgICAgICAgcmV0dXJuOworICAgIHRoaXMuc2VsZWN0RW50cnko
ZW50cnkpOworICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7Cit9OworCisvKioKKyAqIEByZXR1
cm4gez9FbGVtZW50fQorICovCitTdWdnZXN0aW9uUGlja2VyLnByb3RvdHlwZS5fZmluZEZpcnN0
VmlzaWJsZUVudHJ5ID0gZnVuY3Rpb24oKSB7CisgICAgdmFyIHNjcm9sbFRvcCA9IHRoaXMuX2Nv
bnRhaW5lckVsZW1lbnQuc2Nyb2xsVG9wOworICAgIHZhciBjaGlsZE5vZGVzID0gdGhpcy5fY29u
dGFpbmVyRWxlbWVudC5jaGlsZE5vZGVzOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRO
b2Rlcy5sZW5ndGg7IGkrKykgeworICAgICAgICB2YXIgbm9kZSA9IGNoaWxkTm9kZXNbaV07Cisg
ICAgICAgIGlmIChub2RlLm5vZGVUeXBlICE9PSBOb2RlLkVMRU1FTlRfTk9ERSB8fCAhbm9kZS5j
bGFzc0xpc3QuY29udGFpbnMoInN1Z2dlc3Rpb24tZW50cnkiKSkKKyAgICAgICAgICAgIGNvbnRp
bnVlOworICAgICAgICBpZiAobm9kZS5vZmZzZXRUb3AgKyBub2RlLm9mZnNldEhlaWdodCA+IHNj
cm9sbFRvcCkKKyAgICAgICAgICAgIHJldHVybiBub2RlOworICAgIH0KKyAgICByZXR1cm4gbnVs
bDsKK307CisKKy8qKgorICogQHJldHVybiB7P0VsZW1lbnR9CisgKi8KK1N1Z2dlc3Rpb25QaWNr
ZXIucHJvdG90eXBlLl9maW5kTGFzdFZpc2libGVFbnRyeSA9IGZ1bmN0aW9uKCkgeworICAgIHZh
ciBzY3JvbGxCb3R0b20gPSB0aGlzLl9jb250YWluZXJFbGVtZW50LnNjcm9sbFRvcCArIHRoaXMu
X2NvbnRhaW5lckVsZW1lbnQub2Zmc2V0SGVpZ2h0OworICAgIHZhciBjaGlsZE5vZGVzID0gdGhp
cy5fY29udGFpbmVyRWxlbWVudC5jaGlsZE5vZGVzOworICAgIGZvciAodmFyIGkgPSBjaGlsZE5v
ZGVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKXsKKyAgICAgICAgdmFyIG5vZGUgPSBjaGlsZE5v
ZGVzW2ldOworICAgICAgICBpZiAobm9kZS5ub2RlVHlwZSAhPT0gTm9kZS5FTEVNRU5UX05PREUg
fHwgIW5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKCJzdWdnZXN0aW9uLWVudHJ5IikpCisgICAgICAg
ICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKG5vZGUub2Zmc2V0VG9wIDwgc2Nyb2xsQm90dG9t
KQorICAgICAgICAgICAgcmV0dXJuIG5vZGU7CisgICAgfQorICAgIHJldHVybiBudWxsOworfTsK
KworLyoqCisgKiBAcGFyYW0geyFFdmVudH0gZXZlbnQKKyAqLworU3VnZ2VzdGlvblBpY2tlci5w
cm90b3R5cGUuX2hhbmRsZUJvZHlLZXlEb3duID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAgICB2YXIg
ZXZlbnRIYW5kbGVkID0gZmFsc2U7CisgICAgdmFyIGtleSA9IGV2ZW50LmtleUlkZW50aWZpZXI7
CisgICAgaWYgKGtleSA9PT0gIlUrMDAxQiIpIHsgLy8gRVNDCisgICAgICAgIHRoaXMuaGFuZGxl
Q2FuY2VsKCk7CisgICAgICAgIGV2ZW50SGFuZGxlZCA9IHRydWU7CisgICAgfSBlbHNlIGlmIChr
ZXkgPT0gIlVwIikgeworICAgICAgICBpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAmJiBkb2N1
bWVudC5hY3RpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygic3VnZ2VzdGlvbi1lbnRyeSIp
KSB7CisgICAgICAgICAgICBmb3IgKHZhciBub2RlID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5w
cmV2aW91c0VsZW1lbnRTaWJsaW5nOyBub2RlICYmIG5vZGU7IG5vZGUgPSBub2RlLnByZXZpb3Vz
RWxlbWVudFNpYmxpbmcpIHsKKyAgICAgICAgICAgICAgICBpZiAobm9kZS5jbGFzc0xpc3QuY29u
dGFpbnMoInN1Z2dlc3Rpb24tZW50cnkiKSkgeworICAgICAgICAgICAgICAgICAgICB0aGlzLl9p
c0ZvY3VzQnlNb3VzZSA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICBub2RlLmZvY3VzKCk7
CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQucXVlcnlT
ZWxlY3RvcigiLnN1Z2dlc3Rpb24tZW50cnk6bGFzdC1jaGlsZCIpLmZvY3VzKCk7CisgICAgICAg
IH0KKyAgICAgICAgZXZlbnRIYW5kbGVkID0gdHJ1ZTsKKyAgICB9IGVsc2UgaWYgKGtleSA9PSAi
RG93biIpIHsKKyAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgJiYgZG9jdW1lbnQu
YWN0aXZlRWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoInN1Z2dlc3Rpb24tZW50cnkiKSkgewor
ICAgICAgICAgICAgZm9yICh2YXIgbm9kZSA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQubmV4dEVs
ZW1lbnRTaWJsaW5nOyBub2RlICYmIG5vZGU7IG5vZGUgPSBub2RlLm5leHRFbGVtZW50U2libGlu
ZykgeworICAgICAgICAgICAgICAgIGlmIChub2RlLmNsYXNzTGlzdC5jb250YWlucygic3VnZ2Vz
dGlvbi1lbnRyeSIpKSB7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2lzRm9jdXNCeU1vdXNl
ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgIG5vZGUuZm9jdXMoKTsKKyAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yKCIuc3Vn
Z2VzdGlvbi1lbnRyeTpmaXJzdC1jaGlsZCIpLmZvY3VzKCk7CisgICAgICAgIH0KKyAgICAgICAg
ZXZlbnRIYW5kbGVkID0gdHJ1ZTsKKyAgICB9IGVsc2UgaWYgKGtleSA9PT0gIkVudGVyIikgewor
ICAgICAgICB0aGlzLnNlbGVjdEVudHJ5KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpOworICAgICAg
ICBldmVudEhhbmRsZWQgPSB0cnVlOworICAgIH0gZWxzZSBpZiAoa2V5ID09PSAiUGFnZVVwIikg
eworICAgICAgICB0aGlzLl9jb250YWluZXJFbGVtZW50LnNjcm9sbFRvcCAtPSB0aGlzLl9jb250
YWluZXJFbGVtZW50Lm9mZnNldEhlaWdodDsKKyAgICAgICAgLy8gU2Nyb2xsaW5nIGNhdXNlcyBt
b3VzZW92ZXIgZXZlbnQgdG8gYmUgY2FsbGVkIGFuZCB0aGF0IHRyaWVzIHRvIG1vdmUgdGhlIGZv
Y3VzIHRvby4KKyAgICAgICAgLy8gVG8gcHJldmVudCBmbGlja2VyaW5nIHdlIHdvbid0IGZvY3Vz
IGlmIHRoZSBjdXJyZW50IGZvY3VzIHdhcyBjYXVzZWQgYnkgdGhlIG1vdXNlLgorICAgICAgICBp
ZiAoIXRoaXMuX2lzRm9jdXNCeU1vdXNlKQorICAgICAgICAgICAgdGhpcy5fZmluZEZpcnN0Vmlz
aWJsZUVudHJ5KCkuZm9jdXMoKTsKKyAgICAgICAgZXZlbnRIYW5kbGVkID0gdHJ1ZTsKKyAgICB9
IGVsc2UgaWYgKGtleSA9PT0gIlBhZ2VEb3duIikgeworICAgICAgICB0aGlzLl9jb250YWluZXJF
bGVtZW50LnNjcm9sbFRvcCArPSB0aGlzLl9jb250YWluZXJFbGVtZW50Lm9mZnNldEhlaWdodDsK
KyAgICAgICAgaWYgKCF0aGlzLl9pc0ZvY3VzQnlNb3VzZSkKKyAgICAgICAgICAgIHRoaXMuX2Zp
bmRMYXN0VmlzaWJsZUVudHJ5KCkuZm9jdXMoKTsKKyAgICAgICAgZXZlbnRIYW5kbGVkID0gdHJ1
ZTsKKyAgICB9CisgICAgaWYgKGV2ZW50SGFuZGxlZCkKKyAgICAgICAgZXZlbnQucHJldmVudERl
ZmF1bHQoKTsKK307CisKKy8qKgorICogQHBhcmFtIHshRXZlbnR9IGV2ZW50CisgKi8KK1N1Z2dl
c3Rpb25QaWNrZXIucHJvdG90eXBlLl9oYW5kbGVFbnRyeU1vdXNlT3ZlciA9IGZ1bmN0aW9uKGV2
ZW50KSB7CisgICAgdmFyIGVudHJ5ID0gZXZlbnQudGFyZ2V0LmVuY2xvc2luZ05vZGVPclNlbGZX
aXRoQ2xhc3MoInN1Z2dlc3Rpb24tZW50cnkiKTsKKyAgICBpZiAoIWVudHJ5KQorICAgICAgICBy
ZXR1cm47CisgICAgdGhpcy5faXNGb2N1c0J5TW91c2UgPSB0cnVlOworICAgIGVudHJ5LmZvY3Vz
KCk7CisgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKK307CisKKy8qKgorICogQHBhcmFtIHsh
RXZlbnR9IGV2ZW50CisgKi8KK1N1Z2dlc3Rpb25QaWNrZXIucHJvdG90eXBlLl9oYW5kbGVNb3Vz
ZU91dCA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgaWYgKCFkb2N1bWVudC5hY3RpdmVFbGVtZW50
LmNsYXNzTGlzdC5jb250YWlucygic3VnZ2VzdGlvbi1lbnRyeSIpKQorICAgICAgICByZXR1cm47
CisgICAgdGhpcy5faXNGb2N1c0J5TW91c2UgPSBmYWxzZTsKKyAgICBkb2N1bWVudC5hY3RpdmVF
bGVtZW50LmJsdXIoKTsKKyAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOworfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKaW5kZXggM2YxNmQ5NGQzZGQxMTJjZTBkYjM5M2I3
ODViZTc4YjYzYzY5NmUwNi4uOTJhY2NjNTk0ZTE0ZmFlN2NkNzlmZjVmNThlNTRiNGYwNzRhN2Vk
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKQEAgLTk0OCw2ICs5NDgs
OCBAQAogICAgICAgICAgICdpbnB1dHMnOiBbCiAgICAgICAgICAgICAnLi4vUmVzb3VyY2VzL3Bh
Z2Vwb3B1cHMvY2FsZW5kYXJQaWNrZXIuY3NzJywKICAgICAgICAgICAgICcuLi9SZXNvdXJjZXMv
cGFnZXBvcHVwcy9jYWxlbmRhclBpY2tlci5qcycsCisgICAgICAgICAgICAnLi4vUmVzb3VyY2Vz
L3BhZ2Vwb3B1cHMvc3VnZ2VzdGlvblBpY2tlci5jc3MnLAorICAgICAgICAgICAgJy4uL1Jlc291
cmNlcy9wYWdlcG9wdXBzL3N1Z2dlc3Rpb25QaWNrZXIuanMnLAogICAgICAgICAgIF0sCiAgICAg
ICAgICAgJ291dHB1dHMnOiBbCiAgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJ
Uikvd2Via2l0L0NhbGVuZGFyUGlja2VyLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9EYXRlSW5wdXRUeXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlw
ZS5jcHAKaW5kZXggNGM5NTI5YzUyZjUwNzlkYzViYWRjMWE4OTYwMDA4M2RkMzFjZTY0MC4uOGQ3
OGUyZTQ0NjFjNTdlNGU5YjBhNGEwNWFlMzkwODNhN2QwZTQ4YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0RhdGVJbnB1dFR5cGUuY3BwCkBAIC0zNyw2ICszNyw4IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVz
LmgiCiAjaW5jbHVkZSAiS2V5Ym9hcmRFdmVudC5oIgogI2luY2x1ZGUgIkxvY2FsaXplZERhdGUu
aCIKKyNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKICNpbmNsdWRl
IDx3dGYvUGFzc093blB0ci5oPgogCiAjaWYgRU5BQkxFKElOUFVUX1RZUEVfREFURSkKQEAgLTEz
Niw2ICsxMzgsMTQgQEAgdm9pZCBEYXRlSW5wdXRUeXBlOjpoYW5kbGVLZXlkb3duRXZlbnQoS2V5
Ym9hcmRFdmVudCogZXZlbnQpCiAgICAgICAgIGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQorICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGVsZW1lbnQo
KS0+ZG9jdW1lbnQoKTsKKyAgICBSZWZQdHI8UmVuZGVyVGhlbWU+IHRoZW1lID0gZG9jdW1lbnQt
PnBhZ2UoKSA/IGRvY3VtZW50LT5wYWdlKCktPnRoZW1lKCkgOiBSZW5kZXJUaGVtZTo6ZGVmYXVs
dFRoZW1lKCk7CisgICAgaWYgKHRoZW1lLT5mNE9wZW5zRGF0ZVRpbWVDaG9vc2VyKCkgJiYgZXZl
bnQtPmtleUlkZW50aWZpZXIoKSA9PSAiRjQiKSB7CisgICAgICAgIGlmIChtX3BpY2tlckVsZW1l
bnQpCisgICAgICAgICAgICBtX3BpY2tlckVsZW1lbnQtPm9wZW5Qb3B1cCgpOworICAgICAgICBl
dmVudC0+c2V0RGVmYXVsdEhhbmRsZWQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KICAgICBC
YXNlRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmhhbmRsZUtleWRvd25FdmVudChldmVudCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NhbGVuZGFyUGlja2VyRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9DYWxlbmRhclBpY2tlckVsZW1l
bnQuY3BwCmluZGV4IDczNTAzYzg5ZWZiMTcxNGFhN2RhMDhhMzFiYjlmMDVlYTdlODM4MmQuLjkx
MGQ1MWRmMWFhYmQxN2VlZjcxYzk2MDhhNjg2MmZhMmNlZDY0ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NhbGVuZGFyUGlja2VyRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ2FsZW5kYXJQaWNrZXJFbGVtZW50LmNwcApAQCAtMzcs
NyArMzcsOSBAQAogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIkV2ZW50Lmgi
CiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCisjaW5jbHVkZSAiSFRNTERhdGFMaXN0RWxlbWVudC5o
IgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MT3B0aW9uRWxl
bWVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJEZXRhaWxzTWFya2Vy
LmgiCiAKQEAgLTE0MCw3ICsxNDIsMTkgQEAgdm9pZCBDYWxlbmRhclBpY2tlckVsZW1lbnQ6Om9w
ZW5Qb3B1cCgpCiAgICAgICAgIHBhcmFtZXRlcnMuc3RlcCA9IHN0ZXAudG9Eb3VibGUoKTsKICAg
ICBwYXJhbWV0ZXJzLmFuY2hvclJlY3RJblJvb3RWaWV3ID0gZG9jdW1lbnQoKS0+dmlldygpLT5j
b250ZW50c1RvUm9vdFZpZXcoaG9zdElucHV0KCktPmdldFBpeGVsU25hcHBlZFJlY3QoKSk7CiAg
ICAgcGFyYW1ldGVycy5jdXJyZW50VmFsdWUgPSBpbnB1dC0+dmFsdWUoKTsKLSAgICAvLyBGSVhN
RTogcGFyYW1ldGVycy5zdWdnZXN0aW9uVmFsdWVzIGFuZCBzdWdnZXN0aW9uTGFiZWxzIHdpbGwg
YmUgdXNlZCB3aGVuIHdlIHN1cHBvcnQgZGF0YWxpc3QuCisKKyAgICBIVE1MRGF0YUxpc3RFbGVt
ZW50KiBkYXRhTGlzdCA9IGlucHV0LT5kYXRhTGlzdCgpOworICAgIGlmIChkYXRhTGlzdCkgewor
ICAgICAgICBSZWZQdHI8SFRNTENvbGxlY3Rpb24+IG9wdGlvbnMgPSBkYXRhTGlzdC0+b3B0aW9u
cygpOworICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBIVE1MT3B0aW9uRWxlbWVudCogb3B0
aW9uID0gc3RhdGljX2Nhc3Q8SFRNTE9wdGlvbkVsZW1lbnQqPihvcHRpb25zLT5pdGVtKGkpKTsg
aSsrKSB7CisgICAgICAgICAgICBpZiAoIWlucHV0LT5pc1ZhbGlkVmFsdWUob3B0aW9uLT52YWx1
ZSgpKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIHBhcmFtZXRlcnMu
c3VnZ2VzdGlvblZhbHVlcy5hcHBlbmQoaW5wdXQtPnNhbml0aXplVmFsdWUob3B0aW9uLT52YWx1
ZSgpKSk7CisgICAgICAgICAgICBwYXJhbWV0ZXJzLnN1Z2dlc3Rpb25Mb2NhbGl6ZWRWYWx1ZXMu
YXBwZW5kKGlucHV0LT5sb2NhbGl6ZVZhbHVlKG9wdGlvbi0+dmFsdWUoKSkpOworICAgICAgICAg
ICAgcGFyYW1ldGVycy5zdWdnZXN0aW9uTGFiZWxzLmFwcGVuZChvcHRpb24tPnZhbHVlKCkgPT0g
b3B0aW9uLT5sYWJlbCgpID8gU3RyaW5nKCkgOiBvcHRpb24tPmxhYmVsKCkpOworICAgICAgICB9
CisgICAgfQorCiAgICAgbV9jaG9vc2VyID0gY2hyb21lLT5jbGllbnQoKS0+b3BlbkRhdGVUaW1l
Q2hvb3Nlcih0aGlzLCBwYXJhbWV0ZXJzKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vRGF0ZVRpbWVDaG9vc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9E
YXRlVGltZUNob29zZXIuaAppbmRleCA0YjQzYTMwODFhODQ3ZjhkZDBkNTk2YzI4MzA5ZGQ3MWM1
MmQ4OWM1Li5mOTJmNmFlY2ZjYzI5ZTdmYmQ2NmE1ZGFkNGQ5OGU4MThmYzI5Mjk3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EYXRlVGltZUNob29zZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9EYXRlVGltZUNob29zZXIuaApAQCAtNDEsNiArNDEsNyBAQCBz
dHJ1Y3QgRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyB7CiAgICAgSW50UmVjdCBhbmNob3JSZWN0
SW5Sb290VmlldzsKICAgICBTdHJpbmcgY3VycmVudFZhbHVlOwogICAgIFZlY3RvcjxTdHJpbmc+
IHN1Z2dlc3Rpb25WYWx1ZXM7CisgICAgVmVjdG9yPFN0cmluZz4gc3VnZ2VzdGlvbkxvY2FsaXpl
ZFZhbHVlczsKICAgICBWZWN0b3I8U3RyaW5nPiBzdWdnZXN0aW9uTGFiZWxzOwogICAgIGRvdWJs
ZSBtaW5pbXVtOwogICAgIGRvdWJsZSBtYXhpbXVtOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZS5jcHAKaW5kZXggNjZjMzdlYzM1N2ZiM2U1ZDdkODFkODFkNjUxMTM4Mjc3NDcw
MTM3MC4uZjQ2YTgxYmVlZTU5MGI4Y2U3MDFlOTFjMzdkM2VlODg4MjU1YTBjNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCkBAIC0xMjcxLDQgKzEyNzEsOSBAQCBT
dHJpbmcgUmVuZGVyVGhlbWU6OmZpbGVMaXN0TmFtZUZvcldpZHRoKGNvbnN0IEZpbGVMaXN0KiBm
aWxlTGlzdCwgY29uc3QgRm9udCYgZgogICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRl
clRydW5jYXRlKHN0cmluZywgd2lkdGgsIGZvbnQsIFN0cmluZ1RydW5jYXRvcjo6RW5hYmxlUm91
bmRpbmdIYWNrcyk7CiB9CiAKK2Jvb2wgUmVuZGVyVGhlbWU6OmY0T3BlbnNEYXRlVGltZUNob29z
ZXIoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRleCA2MDI2YjYwMTcw
NWU3OGQ1NmFkZDkxY2UxNDRhOTMxODBlYTA0MDZlLi41ZjAyZWNjYzZhODhkNWViYTYxN2IxMzY2
ZTlkYmQzZTExM2I0MWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApA
QCAtMjM2LDYgKzIzNiw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyBmaWxlTGlzdERl
ZmF1bHRMYWJlbChib29sIG11bHRpcGxlRmlsZXNBbGxvd2VkKSBjb25zdDsKICAgICB2aXJ0dWFs
IFN0cmluZyBmaWxlTGlzdE5hbWVGb3JXaWR0aChjb25zdCBGaWxlTGlzdCosIGNvbnN0IEZvbnQm
LCBpbnQgd2lkdGgsIGJvb2wgbXVsdGlwbGVGaWxlc0FsbG93ZWQpIGNvbnN0OwogCisgICAgdmly
dHVhbCBib29sIGY0T3BlbnNEYXRlVGltZUNob29zZXIoKSBjb25zdDsKKwogcHJvdGVjdGVkOgog
ICAgIC8vIFRoZSBwbGF0Zm9ybSBzZWxlY3Rpb24gY29sb3IuCiAgICAgdmlydHVhbCBDb2xvciBw
bGF0Zm9ybUFjdGl2ZVNlbGVjdGlvbkJhY2tncm91bmRDb2xvcigpIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Db21tb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Db21tb24uY3Bw
CmluZGV4IDY4ZGUzN2IxMmQxY2NkZDVjNzQxYTQ3MzU5NDkzNzc0N2IzMTViZWEuLmRhNTdmNjI4
MWQ5MTQ0NjkyNDRlZWQ5MTgxMTUzMWIyNzdmZmIzYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtQ29tbW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bUNvbW1vbi5jcHAKQEAgLTM4LDYg
KzM4LDkgQEAgYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtQ29tbW9uOjpzdXBwb3J0c0RhdGFMaXN0
VUkoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlKQogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9S
KQogICAgICAgICB8fCB0eXBlID09IElucHV0VHlwZU5hbWVzOjpjb2xvcigpCiAjZW5kaWYKKyNp
ZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQorICAgICAgICB8fCB0eXBlID09IElucHV0VHlwZU5h
bWVzOjpkYXRlKCkKKyNlbmRpZgogICAgICAgICB8fCB0eXBlID09IElucHV0VHlwZU5hbWVzOjpy
YW5nZSgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVDaHJvbWl1bVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVDaHJvbWl1bVdpbi5jcHAKaW5kZXggOWYzMGEyNmQyMTU2NjAxOTQ0YTRlMjAyMjkzMWJlNDlh
Y2NmZDBjMC4uODAzN2VkNWI1ZjhjOGU2MzEyZjc5YTQ2MDBlNzRlOGMyN2E4NGRkMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1XaW4uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtV2luLmNw
cApAQCAtODA5LDQgKzgwOSw5IEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bVdpbjo6cGFpbnRQ
cm9ncmVzc0JhcihSZW5kZXJPYmplY3QqIG8sIGNvbnN0IFBhaW50SW5mbyYKIAogI2VuZGlmCiAK
K2Jvb2wgUmVuZGVyVGhlbWU6OmY0T3BlbnNEYXRlVGltZUNob29zZXIoKSBjb25zdAoreworICAg
IHJldHVybiB0cnVlOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bVdpbi5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1XaW4uaAppbmRleCAxNDEzNGM1
NjBkYmM5ZTMxOWE2ZTJmNmQzOGQzY2I5ZDM2NTcwM2I3Li4xNzdkMDFmYTZkMWIxZWIyMzYzMjQx
N2I0ZGExYTk3YjBkZTcwYjExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWVDaHJvbWl1bVdpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZUNocm9taXVtV2luLmgKQEAgLTEwMCw2ICsxMDAsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBwYWludFByb2dyZXNzQmFyKFJlbmRlck9iamVj
dCosIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKTsKICNlbmRpZgogCisgICAgICAg
IHZpcnR1YWwgYm9vbCBmNE9wZW5zRGF0ZVRpbWVDaG9vc2VyKCkgY29uc3QgT1ZFUlJJREU7CisK
ICAgICBwcm90ZWN0ZWQ6CiAgICAgICAgIHZpcnR1YWwgZG91YmxlIGNhcmV0QmxpbmtJbnRlcnZh
bEludGVybmFsKCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0RhdGVUaW1lQ2hvb3NlckltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
RGF0ZVRpbWVDaG9vc2VySW1wbC5jcHAKaW5kZXggY2MyZTBjNDg3NzRkMzBmNjkwNzM4Yjk2OWRk
NDNiYWFjODc5OWQ3MS4uNjQxMTg4NDhjMTU2ZWI4OGJjZWY4NzY0MDc4NGMwZmJiNDIyNGM3ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRGF0ZVRpbWVDaG9vc2VySW1w
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRGF0ZVRpbWVDaG9vc2VySW1w
bC5jcHAKQEAgLTg3LDYgKzg3LDcgQEAgdm9pZCBEYXRlVGltZUNob29zZXJJbXBsOjp3cml0ZURv
Y3VtZW50KFdlYkNvcmU6OkRvY3VtZW50V3JpdGVyJiB3cml0ZXIpCiAKICAgICBhZGRTdHJpbmco
IjwhRE9DVFlQRSBodG1sPjxoZWFkPjxtZXRhIGNoYXJzZXQ9J1VURi04Jz48c3R5bGU+XG4iLCB3
cml0ZXIpOwogICAgIHdyaXRlci5hZGREYXRhKFdlYkNvcmU6OnBpY2tlckNvbW1vbkNzcywgc2l6
ZW9mKFdlYkNvcmU6OnBpY2tlckNvbW1vbkNzcykpOworICAgIHdyaXRlci5hZGREYXRhKFdlYkNv
cmU6OnN1Z2dlc3Rpb25QaWNrZXJDc3MsIHNpemVvZihXZWJDb3JlOjpzdWdnZXN0aW9uUGlja2Vy
Q3NzKSk7CiAgICAgd3JpdGVyLmFkZERhdGEoV2ViQ29yZTo6Y2FsZW5kYXJQaWNrZXJDc3MsIHNp
emVvZihXZWJDb3JlOjpjYWxlbmRhclBpY2tlckNzcykpOwogICAgIENTdHJpbmcgZXh0cmFTdHls
ZSA9IFdlYkNvcmU6OlJlbmRlclRoZW1lOjpkZWZhdWx0VGhlbWUoKS0+ZXh0cmFDYWxlbmRhclBp
Y2tlclN0eWxlU2hlZXQoKTsKICAgICBpZiAoZXh0cmFTdHlsZS5sZW5ndGgoKSkKQEAgLTEwNiw5
ICsxMDcsMTcgQEAgdm9pZCBEYXRlVGltZUNob29zZXJJbXBsOjp3cml0ZURvY3VtZW50KFdlYkNv
cmU6OkRvY3VtZW50V3JpdGVyJiB3cml0ZXIpCiAgICAgYWRkUHJvcGVydHkoImRheUxhYmVscyIs
IFdlYkNvcmU6OndlZWtEYXlTaG9ydExhYmVscygpLCB3cml0ZXIpOwogICAgIERpcmVjdGlvbiBk
aXIgPSBkaXJlY3Rpb24oV2ViQ29yZTo6bW9udGhMYWJlbHMoKVswXVswXSk7CiAgICAgYWRkUHJv
cGVydHkoImlzUlRMIiwgZGlyID09IFJpZ2h0VG9MZWZ0IHx8IGRpciA9PSBSaWdodFRvTGVmdEFy
YWJpYywgd3JpdGVyKTsKKyAgICBpZiAobV9wYXJhbWV0ZXJzLnN1Z2dlc3Rpb25WYWx1ZXMuc2l6
ZSgpKSB7CisgICAgICAgIGFkZFByb3BlcnR5KCJpbnB1dFdpZHRoIiwgc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KG1fcGFyYW1ldGVycy5hbmNob3JSZWN0SW5Sb290Vmlldy53aWR0aCgpKSwgd3JpdGVy
KTsKKyAgICAgICAgYWRkUHJvcGVydHkoInN1Z2dlc3Rpb25WYWx1ZXMiLCBtX3BhcmFtZXRlcnMu
c3VnZ2VzdGlvblZhbHVlcywgd3JpdGVyKTsKKyAgICAgICAgYWRkUHJvcGVydHkoInN1Z2dlc3Rp
b25Mb2NhbGl6ZWRWYWx1ZXMiLCBtX3BhcmFtZXRlcnMuc3VnZ2VzdGlvbkxvY2FsaXplZFZhbHVl
cywgd3JpdGVyKTsKKyAgICAgICAgYWRkUHJvcGVydHkoInN1Z2dlc3Rpb25MYWJlbHMiLCBtX3Bh
cmFtZXRlcnMuc3VnZ2VzdGlvbkxhYmVscywgd3JpdGVyKTsKKyAgICAgICAgYWRkUHJvcGVydHko
InNob3dPdGhlckRhdGVFbnRyeSIsIG1fcGFyYW1ldGVycy50eXBlID09ICJkYXRlIiwgd3JpdGVy
KTsKKyAgICAgICAgYWRkUHJvcGVydHkoIm90aGVyRGF0ZUxhYmVsIiwgUGxhdGZvcm06OmN1cnJl
bnQoKS0+cXVlcnlMb2NhbGl6ZWRTdHJpbmcoV2ViTG9jYWxpemVkU3RyaW5nOjpPdGhlckNvbG9y
TGFiZWwpLCB3cml0ZXIpOworICAgIH0KICAgICBhZGRTdHJpbmcoIn1cbiIsIHdyaXRlcik7Ci0K
ICAgICB3cml0ZXIuYWRkRGF0YShXZWJDb3JlOjpwaWNrZXJDb21tb25Kcywgc2l6ZW9mKFdlYkNv
cmU6OnBpY2tlckNvbW1vbkpzKSk7CisgICAgd3JpdGVyLmFkZERhdGEoV2ViQ29yZTo6c3VnZ2Vz
dGlvblBpY2tlckpzLCBzaXplb2YoV2ViQ29yZTo6c3VnZ2VzdGlvblBpY2tlckpzKSk7CiAgICAg
d3JpdGVyLmFkZERhdGEoV2ViQ29yZTo6Y2FsZW5kYXJQaWNrZXJKcywgc2l6ZW9mKFdlYkNvcmU6
OmNhbGVuZGFyUGlja2VySnMpKTsKICAgICBhZGRTdHJpbmcoIjwvc2NyaXB0PjwvYm9keT5cbiIs
IHdyaXRlcik7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjc5ZjY5YWQ0ZjljNjE0ZGEwNTY3ZTRmNjdkM2Q1YjgwZjc0
ZjI2OC4uNzRhZWRmYzI3MmUzM2M0ZTQzOGU5M2JlMjhkMTU1NmYyYzhkYjZhOSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIzIEBACisyMDEyLTA5LTA3ICBLZWlzaGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQu
b3JnPgorCisgICAgICAgIERhdGFsaXN0IFVJIGZvciBpbnB1dCB0eXBlPWRhdGUgZm9yIENocm9t
aXVtIHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk2MDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS1tYWMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9mb3Jtcy9kYXRl
L2RhdGUtc3VnZ2VzdGlvbi1waWNrZXItYXBwZWFyYW5jZS1leHBlY3RlZC5wbmc6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rp
b24tcGlja2VyLWFwcGVhcmFuY2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1zdWdnZXN0aW9uLXBpY2tlci1hcHBl
YXJhbmNlLmh0bWw6IEFkZGVkLgorCisyMDEyLTA5LTA1ICBLZWlzaGkgSGF0dG9yaSAgPGtlaXNo
aUB3ZWJraXQub3JnPgorCisgICAgICAgIFJlZmFjdG9yIENhbGVuZGFyUGlja2VyIHRvIG5vdCB1
c2UgZ2xvYmFsIHZhcmlhYmxlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk1ODMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2RhdGUvY2FsZW5kYXItcGlja2VyLWFwcGVhcmFuY2Ut
cHJlLTEwMC5odG1sOgorCiAyMDEyLTA5LTA2ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcu
Ym90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTI3ODA4
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3BsYXRmb3Jt
L2Nocm9taXVtL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2VyLWFwcGVhcmFu
Y2UtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3BsYXRm
b3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2VyLWFwcGVh
cmFuY2UtZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFmMzM4OWZkNDIwNGE3MTM3YmRiNDYxYzZh
NzhmMjM0MmI3MWZmMzUKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDE4NjA1CnpjbWVIdmJ5IXNF
K1dzSjBQKkpnNExPQGhYcjQlR282aD14flRJbW8qWD13e0FZRVQrUjUkVFhfMWBINjhFQF9iKgp6
eGByQnRgOF5Cd2NEdm5yJk9ZQ0R6UTJCLSpJZEZOdih+JWJfb0A0Uz8jRzloPHM+KDQqdFk/TkxU
eTR6TmhxUkYKeilKIVBVbmsoeVE7M3B3PWNXJUkhcWMjXz0qeXgpVz5ZSDJKVEE9aUoxcTYmdjgx
ZnpHPDJOdW1FX2gxdCNQTXRUCnpyd21VVD0kI2ZjSUxUezN8R1h5KGc8P1hYQ0MofjRncEdET0RS
KHAjUVliQ0ktSUYtPE1UVy1XXjN1LWhBXk01Rwp6P2Q1UWdlRyZYN2c/WHAyTk5LfkQja249Riox
eno+XmFAJHt4Y1hXNyN1S1U8b0FvZnFWeENAWHhTPHxedUYxSWMKenBvdkM5QDNreCFmckBWNWht
OCs/NFJRPSEtVEZkTGQtSyk+ZjR0diNoUzVBJVJuIVNUemNNUG4/NVFUfDxhVF90CnpCZSNKQ28m
ZmRXX1MlXzM8UXZyQjx+OGYhaStkMldKTSM5eS12OHVuQFdORihDcjN3djw5aX09Y1pJRHohe0Iz
Twp6V2l7Wm03Y1Mld3hJeElCUXpKdl97ezghcDl6VDlPO0NTMztVfD9XMkw2PlkrNmk1WWt2YD45
YntvJjQ5SS05eCsKenlVVlcmTkxxXm9OJFR0Q1lySjtYeko7dEw7eUphSG1SOHM8Wm1sRWV3cm1X
Si1IYW9JVH18N3o9YDxkSHozMHZTCnpmfVMtZmwoX08qYSFxRiM8JkB3ZzEtV2hBNGphX3pQVyUm
amRISW5+c3JzJkNheHVKRE4kcT8wP3ljK1MoMn47Ywp6QC1GTUdeSjlAKlpaa0dFPTBBQ0lUUG1w
X2JkdShgKXNOMlpPM1dVZm19bjhpRlVyMHhhdnxBSiRuI0Yzdm9HazsKekxidHA+JilfSHBKeT5i
KHgpPGo/R3BASXVZLSh5K3Z9a3FnXk9NfURyZ2lndm5PU0NoTFZgNUMkZ0ZTQWJSfCNBCno9Zy1l
cTdJQm5UPiN+RlAzeW5AXjc/TzFIVHtxeGE8QkUjOUZodz00YkxrJG0zPVlObUN4ZE5maFpKMTtJ
ZG80SAp6JSteYUU8SyU0WXdDXjVFcU84cDBRXkpNcV9YVGlrJEc3T1pYO2JEZmwhMDU+dTAoPTBq
dWJ7aUwkaFlpcVBzfUAKej0rVURtYmhnMytSTkZFaUptOzFeVW9hQCpJUH04dk9zSWd4YlpmZUcm
Ozh4UVEpUF92b0hfK3AqeVh9JUJ9SiNWCnp6VT9ZPnZMIWFEaylDdUhJJVNVKyUqZGhabzc4bFpW
aj4oWHdsZ3hPbCQ0eHhuZkF4PUokP0dyS2AjOFhVbGU8VQp6ISNQQGRoUTxyS3dmbk5PU1J9bm9q
RXBXR19ENXIlYHVhWlNhVW49WUcmaWZodCRRaXlWa1MyQVAoQyY/QChsfUcKelVXRTlSIUQ7bHdj
eyNjMntCZkRidFYhRFdzQFl3UjMxPTkoJVNmWmZWb3EoN0NDb09rYmN1JCZsbmhoOGViZyZrCnpM
ZzlrJUFNZUo2SWhVK3FWYHMxSXdfMHBgO19ZbyM3a1F5OGtCK0N7XjM+RSttbCZnbnFqRXotTClU
S0V1QiY9QAp6Yyh9KT17UXwjais+bWNTKFkjNXA8TVd2Q004UytydDZ8Xzt0QCR8TEx1bDl8Uzky
I3BeP2JYZTRJNEgldzwjKHIKeiZlb28ldVdFUCVIQH1obWMkaiQ+Y0tRLUZJZSVPVEgjWnBKQiR3
U2BDMCVAY3MmSy1rPUNZUG5WcWMjRHg7fENFCnolJTxDQWUoeUBKKnZlYWZVKjlkMHFCV3dWI0F7
OVFEJEdlMVdAZVlmbVY0K287ZyVYPnh9SVVnPFppKHNJOUo8dAp6Km10e05AYDtibTU1Y2AyTTF4
aHdZRmdXa3dZQDUxYVFaa29ed1AoMTduZXB+IStlS3omMGZwZ3skMlBKLUVqMV8KekwkJURFUDd7
Uyltb013O1Z5PE1HSiE5d1FtaDs/djVMcmNealptUko7IVEzMTZfcDckM2hBeStkdD44TXUpal48
CnpaVl9MO2VEUkdLVlUkJT40SmNaOCZ2T2FPamJGQT5RQmYoaDVZYz1NaWBYSi0/N1dVVlJ4dFU3
Wm1CdUQkazFXNwp6UEVyS1pITyg1bisoWT9YYUBTUWVZVHkzLSMwcmotSnEhKz9zY0okZz9ebkQ4
eUp9MUIocnpqJkVFS1hDXjQtaVIKem51c0hoOGhjYiFUPUhRaF90M2p0UiNqRTRINGhDQVI8TzBy
PnslS35uUmY7WStCa1RFYXQpcUwjQnE3NWpNJlJhCnphVlFEfHd7XkdmKnZvaU1FRjI3SlhncSZI
O0xQKn43VDJFaFNSTG83M3dTUGQ1ZktyYD4ybWY+YUlne0N0fjdKUAp6LUhZRHk3RShANWBGMGFz
VzFBVDMlZD9McnMzdlcyK319ait3czBPQHBTdypvJTcwS2ElYzRENjkyNEk0TlJWbEQKenVYKCVm
V0lEfVRjRGo8ckpqQlFaZEJAMlQrRCpDKForMzZRJmdPVE08K3VaLWB9X01uX0ZMd1orPDNjNWFG
MiRqCnpXP15ySCViZmIjRCM3bTI/UiM4XzNBJWZgOUN8bkgrX0ElPHRZQiQ0O2NVeyN7b09qWHZ8
PFpxYWFuSVk9fHw/Owp6RkBrNF5qWWA4cUwkemJzLUlma3huSm9xTGojS1k8K1lYQ0B0JmcwKElt
OD9eJC1HcUAqPzRVYUZmJHRCKy1HOG8KelpjQ1p5K3pJVSlDMkp3TGI/O15EJFpFYXJmdWslQng/
K1Q/LXpCNkojblVvNipHPioodmw8Vl9Dbk84OC19JXJVCno5MjhYUmVOZm5Ab0d0TDxKbWU8U0I9
XnFEXkZ5fX1vVkpuPjI8MThpSkUrQVNJRylxJVpCSkI3KWJzaiU4PWx2PQp6N2M5O3NfN3JnQ15t
eSNBd3UhfGhCPENIfHYraUxQZU08KzJWZSRvKzQtcHlsUERUcFhsaTVDMnIkR3p2K154bEgKenNT
R0dMe2NYO0tOU0N6Z1FFSnp0PiU5bUNPdzxyfDRlcm08TD1Fc1puPFA7aTJadTBEV3g7aCZlcX59
ZTtVOW1RCnpMPl52MjEmNCZ4Z0QqK3hoc2hhQjVnQnxXeGRTVXhUPHEqckA3fSUzVHQmM1pHX0dP
VEx7REVjZS1jQE5gPztrSgp6cyFVKUZkOEZ9dEJCYDZBQlFMcmIpdHN6N3FOYiN6XmIoJXBsMGN7
fEhzaldlUUQkWilWUkAhVDRUSGZILTxwfTMKelkza0BtWTswN1BtNX57JDdNXkg/ITEzSTZxP3hl
NGQlK18rSVYoI1FpQWBPa3VLOGdJZHJrSTVHWTMwdThmMUchCnpSWEA3Uz1YVz50XittfnJvbm5x
QGgrfnJ1XztCXzM1ak02OSRsMlZERnJNZnRKaF5BJUMyOHIkVShBcCsjPUc0UAp6Z19mNkJnQ0FK
dGs3WUc5ZTtUdD5RQiFrRHNqUjQmXzQ5Ri0wUWF7cVVZZVNeREp3Nn0hT3lSUGVIcylMJWNZcSQK
ejZlQzhDSkFDLUN2bCsqK1Y+VDBvXk92d2x1eHg1Kzgze0l5U1U7YnRYWmhBKzZFPj42OU5wQnw3
QEw9O3YzfnZmCnpuU3hgbUYtJlExSFp2S2VGSXRjIUZKNlFnOVIqdjhYLV9rKD82TTJKWS19OH1m
c1VAUTElQThZIS1zV09vUV8zRgp6VmFwQmJobFdnRU9IKHxqTjdITkteWWI7YVBsSlF3dS1JKkV0
Z0klRWp2OFc9I1R3I3BMUH5gUlUmV1o2UWB2R3EKems2VEBlOGA9RHp1JD5IcSZ0cUklUDJtNVRg
ZW1De1I4PWRrOXlmdFEpNkJNUFN8WDBES1o2ezRVTSVDZTNHamp0CnplKUR0dDhrKEQ8a3VYJTYo
YG1gaSQ3aitJRXo5Z2hsS2dDeW5fPUY8WlNtPiNTPjJgakslMz0tbkBIXk5XaEt0ZAp6NFpuTjE5
WFYkZU1hNCkwIUVfPyRGO0NHSSt7JGJXQGZEOD84ciNfMm9sP28yRkMqIUZwemJ5YEVpMms+eHRH
eHYKentBe31AKzxuVi0xJHc1anVgJVlnelBZKWxpU3pSdUBNcXxSV3dzXzUkVmhYTmxCcD5ubX4k
cXZ4dXFwJDkpZnh2CnojSio+Y1glWjdUaTl7a0F5UnRrZUhVZSZAPTxIbTtVOV9PYnJKblhxYz5F
MD1Qdmh1bHFLK2VoNGNQYHlkZDdmfgp6dEZAVWVJdGZVSyN6cWF8KztubnRiNyFXdFU8cyRAQ0hV
UnBhbHcyIWN6Sm47UElQdjVSI2FCZjwrKHp0Z2pKe30KenNNdlNmd2ppcXo2Y0leVVNmSTNXP1NA
PCU5SzA5SmolVXJmKGV1Vz14Mj9TJHZEfHoyZSV0R0g1a28/NTZ7ekVnCnoySmFBWlVDeDB4SzBT
bXlFXjNrakgjPkQ7Yk59Rj1DdHF9N3AtOXgyK05Nb2xFJUVYM3pULTFLdFE7S0QpWVF9PQp6O287
QXE7SGwpbkNxaEtnczR0KTRiNmFZX14tVmVPMj8tNWJYQm1NdEZITCVpQzJ9T15vSiZ0bjQrI3pS
WE41YSEKeitxRGB4ZXRGMzVLdGZEQlhvSWpqU2hZSW1FO3khbUZ2SlRORV80KyZTbTR1SXVnQXk2
KX49OUFoTilMRlR1NjJwCnotUkhHbVk9cSFsPEVLeHQoYjAkREdxNVopN0IxWD48Q0ZwNEsxMDVK
blJAUlotQyFnblQwPEIrIXBvfSEyWT58VAp6ZWo2ZCVEKmhISnRkK0dqbEtvdTkleXBGQDxSaXkx
a3UjRWwqTzVPbmIrM3ErZ2VmO1ROd0NNMCFaJE9WSWZCamAKeiZsfS04YWYxMnJgOyRDMVB7K0Fq
YChHUVo0dilDSCFHMlR0PHRwUHVYNHhYRXshN0ghKigyUUMrXzZpeVomUUpMCnpud05QV1diUGMp
ST5GMlB2Yjl5Nk9DI2UkM0k7T3ghLW8mNCtQODFwMXw9PEdvRC1qcmdMZHFIclomcSVuZFlJSQp6
UD89JUx4MExaJitSNi12NVQra0Z3PmBTRFUtOHpoVGVUMi1PR2BfWSl6JFlWdjYwXipeflZ8eWRO
a0dCdk4qZkQKekJ9YH5oZUhgU0tFTTNAN3JoenZyQjF8Iyp1b0pIMkNFd0NYPllMWGMmTT4mbHJR
QDJRelQpZWFoRj5aXj9JOXZDCnokYUo/dmQ7I3VNVCleWkdVci1OJWVZMzlpY2FqSEo8RXtAVVpl
bDA9Xm1GSGYpa3UlaF5GVHB6TUtLd3pWfWRWIwp6ekNFLXt5IXRWKGlOWVBgcChTYT5GUFRnV1J3
O2NLUjswWihaJjxDR2xYM1FJSCMwWjR3c1JgM2RANT0+UyhocEUKeiN3PX5iPV91VypLfjxpKjt0
ezIjRChVU05QSHghdk0/QjRMSzV8RHAhPUFfQiMxZG9kZGBNb2NPTiV6MEdrdmQxCnplWDBxfEA3
Q3RvY1BifDNUel9GVlNOTEtnIV4/MypiZiQtR3Nnezx6Y0JHZzBsSSZedT9vVSZCT0RsRn5JPzZU
LQp6ayNycVc2bkIqIXQtZjBPTzFpb3MhODYrUzRUfjI7Z25+K01mPGk3a0pqSkJ0SGFwYTUyWnhL
Z0U+PjRJKisrK0cKejRjeDg3JmY7b3ZTPHhnOT8tOFokUV9wal4qQ1VeJT1iIXwoPjdHZjlRfUBZ
VXhwUlRlTWtubFN1akMqcngqP3I/CnpIYXpSQDVgfWEzQFVsZD1BWDdWenZCayZMTUdCaVNjbFlS
MCVROVIxJH5CdWU7X3Y1YSp3OURPSHlzQmtNZV9FcAp6R1o/RUhocHVab1U9ezk0NU9PXiF4PkJk
WSp+K0pePFotcEJhb2UjYDR8fn1RVHJkWk9VKDlVcHdiM2FrVlJ6VGMKenpNZE08TyVjTj04VnlF
bVpJTE5uRWJGJFJ1dCp2a1k4fGtAU2hJRCNlYUgzMnZLaEcqazE0U09yPW1Tdzd4U1d4CnomUytT
Vi1PcFM4QkVmYSglSmNtYyheUT4+TihIaVdwdFNEZEoxM2l4SD5YNDxYVSYoJHg7fS15MmxmV0NS
KWlnWgp6XlNpbjlNTCVXdVZMckUtYilZbVExWEYoPWU8cnBGZjNTZylPV2RhSWYzdHt7S29+M3wh
YlomIT95dzEyVTAwUEMKemJHdElvPWl1VC1jMlhnflJwVVA7a1ZKM0hXeyRRaDIrN3gpbkYkMXQ+
dSFDaWteWTQpLVp8QmRUPCllQlV9SSg4CnoldiZoUU0tYzY0YVA1OGVuQSk9NlFGIzNuTz1tRlBw
diU/UXdkVFNnMGYpKHYocH42IUYxcU1OdHg7ZmRKQ1ZibQp6NGdHamBEZEEtUlVIPlBOaHYtelhg
KmNjP0k0KFZlX2BafnhvTEN2Pih8dldMbUc9JHt4MFRtTDMhZjZZbWRzQzkKendAX0IqKyh6RXg0
PlduRVcxbkduI0tebiF4KnNiTmpCVEloUnR6RFc4RHEzRlo9I2l9d3VXVjc5PVVjfkc9fiQ3Cnpv
JUopdjYzZyVoOX17KFYhIWNEV0twcWcoJC1VQV53ZFJBZFhue21ELTRgTTtNclRJYl9pUlBaREZy
dGRpKF5BaAp6dG5jPEs+eE0qIXlFJmk3NTQqNjheNVkpZk51LTxvIVhlMiZTREZhTlZLb3xsYEsp
U01IYUB7ayhQX218TXYwZmYKek9UTDs9aDhJT25kXldfcWwrLSpCSntXWClmfnh5PHRxSjJ5a0Bt
NDFBJDNhQXloakh3ISRDKVZSWGsteFZXKERqCnpWI012MmRESGR4SDU/KyZCRnBOZ0d6RXorNnRS
Wm1hPk5QSitoenl4YFRDUUIyPmdeZD9HRFFfa24/Vk4tQyQyQAp6IzFEaSV5QGllKEh7STc5SGM/
NWhPfiZzY3llaiFqP15uajxKMXBIV2AkcEhoZFBFQGR7KDNxLWE8cWozWiNufjgKeiNKcmVXVk0q
QUlUUVI1UWVoY2NXdllefChrKmFoKkFBaGRgclNAaiRqZWZtWHRuV3ZIQlV0akwoPU94QEQmRHR8
CnoyV3p8ZEFsUlVLOSs7dVpiSDZ4YEVoYkZoS04pS21ObzlBTkN8a0AoNipJPFM3R21mIU0mITRq
P2U0OW49a2pBRQp6TjQ4VT5IQiRTQUxOQ2kxVllodmVjaHl7MmE/e2B9PiNGVDR5KGpGY0tYR3E1
ZkcyPkp0I3JSWj9qZnt5QXY9V3wKeipYXmRQZHFrIyomTW1te1cwPDdkLWtTKkAmNitWZjgmKVJ2
IVJePG5lZSRkb2dYN2RhIXA4eFRnPWQjO0F7X2QoCno+OzIoVXc+KXVTaW8/NFlTNmtJST9raFdE
bndgMV5FbDlLM2xtUVV+T0lSfDBUYlhreUR+PlMrPDJIVmgzKz03ZQp6dkYyX1hrQy1sSFpsVCtE
YXh6Z2hNVyRKP190dE8kQ1laSCt1ezNlVHU9NGZ8TWgqa28mMm4rfXBKVEpnbiRnflEKekArUXQh
cyt6KFZ5S2kwblpTWGF2PUsqNF9sdHM2YlBufW9SaH4jNHdzWigkcjY/NGx0Y0g7WGwlQzx6RGJN
RipiCnozJGZfY0wqX3lZQjw4KmB7Rkd+TGU3VzFObGklaUN4U0pmaz4yI1QoYn4xJUxoRnxPNHV2
SDR8KkNsbTl1YW9TTAp6X3E0JktxeEF+VDQhKztOeXQlb3wlQTBOJVM4ZH55R0drJVlTa1d8UkRa
eXctQGBFaksmRlR7aEJ3fG5iPDZUMzYKekpXcHMzMD5yYFY+S0Exei1ad1hFP3d2dlJFQyUmZjtl
LSVvc2B7YDM5VFZuJipiOWlzMmtMYFhuMlNtZ248QHhSCnpFa3BpVXtOb21KXzx8SnBueSh8PXVI
TVJNek1VPnA8Pk44bnY+dHghdT1+clZlPzxaWEtVbko8N2s1LXZQTDQqSwp6MWdPeCYodm15TTJ+
dCtCN0Jfd2woJndobG4/M2p0X2pDVjVDK3QydUl+KTdfeHd1aWZgZXNqLXRGcDRQVVZ6SUUKenFh
RWozamdiVUQxUWJ3d2FeQ1BVNWRlS3VXcXBIIzx+QkNVU2pnY29wZDVZbT5RIThGYSYtKCtxbnwh
fngtSUFDCnolZTNAIzs5N1Ekdm1sb0cwUTtJKyVGIWBUTHFwP2ZjKF9hM3pXaCReZ3I7Tll5djJk
Z0NNWGREMChPITYqdjBEWgp6KHUpcU1pSFY5UExuLSt4SXtGZkoreEczNWhMeVhYSiR0cztxXmho
T28wMX0qbCQ2eD1gcjYmJGsmKEE5dFo7M1YKeiFuWFBlc2BjLSMzKmFwJUEzaSs1VnpFIWQhWl5g
VD97QChtRy11amhAeXUwVU5MWDBxJTlXdSlJVnF7ajdjWDhjCnpVWDtKVDFBUWBCcllyan1hKmIr
SDEralp3YiMqV0omNl5pOE0zI25MPUZQUjQ2Q2RqP3BNJE0lKW8qS1NRYFhXdAp6UTE4LVZuWjBr
e3o2e2ZiPS0xNSVkU1lebldEdGs/a0ckcVhuYl53QnJzbjQxSjlPTiZmRCVrYE1jKTsqUEVjZEUK
elVLZEV4JSQ5QEErTnYlSHBMUEYwPVMwYHNlbHgjdzl8TURga3h7ZmYzQ2t2fXRnSVhidFFWSmRv
LSp5YDFDeTRpCnohe2coc0l5eVNGXkZoSkVlcE4+UE89aUZmczdTUVhCZXplQlQldmlgYkt7N1pT
YShjU0AwMGBPJSRZTlp6e0hwbgp6PlIpd2ImQ1NqRVg2WnNIRlNWQCkhRlVVX1RrS0cmP1BGPElJ
RVRsXlF+PmlvZGkxRWs8I3Z7PyRZUClXUVpjUlEKel5MRVI4U15KS2dwNXU2bUUwPFBJWjlDKFVq
OG94cVAhalNCMiprKDVwPzV2TGFRXiZ4WX1DTWooZGglNXEzbmNMCnoodntSaDlnPkpnWkRHNUhE
TWB+dj5YSUtWWTh2bSVDci1ZbEN1S1lmMiNDK2d4Z3I8U2ZIN3xfRV9TYzR1WGtTYQp6Jn1Nbz4p
b0VeWXlAU3VuJUYxIW8pI25MX3c0LV5+Wnh2VGlwbXA9K087O0JIRl8rTmpEUmFqQ2A7YG4wNEtv
NHwKejU0anB+Znk7ZGwrKlRKdGB3NkohNipNLSVrS05QSEhpe3dHNz0/PVktRX1ybkE7MTY0bFlh
NDVnNDEwX1JAVChZCno+WkRAQlN9MyNvdGE4Nm5qaSpsU1g+dmp+WmtfSFlzO0hQNCQrY19Pbygh
JEJJKDJ9YCt8MH1AIT1oYVBDKlZgfAp6R0JXWnw9ZEhvO3xCX3p9SF9UT0dUJFNGd2VNPmJgUiN3
SWp4QzF+alQyVzZnR1Y2TTRXTG54dWVBfVooOD13TUAKeiVnantTRkwzPmBpO0slMWQxUmVUQSom
Y3V7amZoRmdVckloYV9RMH5NSnViYz80O34kSDcraSR5b247eDhnSWhyCnpzUGVVSUZYbn1xbmE9
e3BOQGYwUVV2Tm5BVkd4T2pKQnE5PF5sSWVYeEtAMF4hb3VQaEh9X19PRDhNdjgzMmhtcwp6Tj5A
aEshbzliTWRfe0FqUjhlVlppc21pSkRnZXVMb1d9U2UxUHVkMCl3U3wjZjZ4fCMzJUd4SD1yaG08
bXhVKjwKemAxby0pJWdlYFMxZHUqZHsoKEFmV1pUbz5hdSVJPUQhUWIkN0ZQN3tJQmtnbVAjWWlg
RmdYQkdqfjAwMEk7YU8+Cnp1ezJ2ZS1AYUkwY0UpQXR1MXA3WmkzIyVhJEVCdz8/MXlsU2t2WjR1
K0VpUTFndWFLRSstRkFkUG54ZXM/ZWFOeQp6SiQ3XypRcWs1PGc1JCg9WWk4QE5Xd35yfVF6I3N+
I3E5Y1pXaEV0bF8hU1FpNF8wKGw2PURNP19qJG9mQlVTSDAKemp0XnBIT3FWdGErbUZ4d3JqJW5v
Yms5c3ctKH5RUHBuOSY9REBSQWk5bExrJFJ3amV4MUtTNV4rfW41aj91VWQkCnpLa2RJe2pyOSR5
aEpSKmdre0ohMGRWRkh5bFYmWFBKUmozeiE+TFpkdD8qRiU+STJleG5TbXI9bHJpPChDKjxwWQp6
JHAzIyEzPlZHdis9MmNGX0RQb25oPyQwI19ONX5SeG5SI1A2OVUyRHZpaj8qd2BDNmQheitNT2Vj
S0hnU0okRzgKemw5RnViP2MyOD5KOTw8PkxuQ0IoYy1WUV4lLXNCJHp5Q3xHe2VzN1lnKkNPY3dS
PVJqIUtLfWd0UVUzJVM0dyNHCno+T3lPNFlmS1VuanYhdSlOT1J7KCRpKm5aMzs1Rk0xViU+Mm1m
NmAxTUl8TFJHfm0wb0d7ZVVnNiYxP30/YX5Oegp6MDEoIyo5fDFuXyQ3TFZWK3BrRylVQyNRYD81
JTM4P2Q8STBVJSMkKDNKMkVVJCYpQVVuSzk9Y3U/RVc9cDN2Tm0KekpmfGA0UHhfO3ZoMzQqQXBz
NmRXcz14LXFTQWZWVGQ2fUE8RD91RVJudWoyNVdAMXRzRWdTa3EyZUMydHAkQ3BBCnpRdyhOKUpy
aHRpa1A7TmwlQFpLOCUrfnExSHBhTUdURlF+aFdMV1RxQzVHP200QVhiYm84aSt5MSRFc2ErQ2Vo
JAp6QGJyOFo5ODcybDM8LSZNOHFieEs0Ji1rN15lTT1tTChTZWtkd1AyTVBFcHklazU4QChnZUl5
Y2ZQbyoldlAwSkcKeng0VEpAWHx3MH4jbF4qI3ZGPzJQNnhDIWNnMCorbHBPa19HMHpncUtSUUM+
d3xKMWI2XiZCWSRrcUFDVnNDX3NxCnpUV0ZoKldAJEhZITJ2KnNfd3c/QjBFZDBBUzY1cj4lTm0h
UDN1VkZpaSFULTYjaTUkR1pyJV5NeWFYQ04yTnFWdAp6WnI2USVlIVNDaHB+dXN1RWpqMVFoUmxv
JWxhZjFZSFMlb1k8aCNFSHtFUW50PVd1clo8eHdJfGJINWN4eTFCWFMKek5rQUNPRXolMFkpTCpQ
fW0zNEhJYjg9NE0wQyshXzx8KlgrOUYmQFIwJDhoeT00ait6MUx9PXk5QExwTTAme2hLCnpwTVBs
UnsjUS1OazVCRUZBb0NVPS1gJntvazdFNUZIUHlRe0FBbyM2JSs3dXs4NWFASjN+WSQpPSU+YEBX
cSZQQAp6WGhlX0A7bDgtbDRuLWdrNndhUSN7bjA0PnotR3pma2RUbWw3VlRNOFBVTzNjJWk+VjtB
ZmVSJl8hSjxAQEYoRDAKel84bU88ajFgRT8qcitIOFEmVXMkYDxifGVxJEN3TklkMXtXakBaJUI+
JGJNR19lb083KGohPyV5WUVGckw/bEJVCnopTT9qbHZGYTRAJDtrbiVXOWB9VXh8RjNCOzFePmN0
SjVhXyM0VEtiOCMyPz1kbFFvdDhGX0JMJVBFREdrWHB1fAp6PGw8NW9hY2R5PjF8eU9YI2RtLXFk
XkRQQXBZd1YwPGpCI1o9PEBQJVkhb0E5cCR1WkQ1TV9DVzl8fTEtP3duJGIKeiVud1pEREdKaHhJ
cVk5ZllEUXZRYVZ6XzxYUldaMVA9LTt9ejZtMDVkVkklXktNJUZjTGokIzYmbn51ekp9Qm5lCnpW
SnhHbTg0My09XkxhaylXMikhUi14YVdFK3U+KXNOOzRQNCgpIU5MKzJLJURxbn1QZGdvaXwtLUlp
fGI2REFqdgp6aDNPdDIhLWErX3h3K3hmKCRla31kQTUlUVIyZW5vKl5WZXtYelomYXUzaThNPyVD
fjBKdzRZOWpmQD1JeGVJMyUKenAqcT5Ta3BeQiM4a3ZgUGlXVlpYQGojWFchRT80LXw5YykhP09X
QmZQeUUxVSYqXztObXAwMm5xTj5RdU44UypxCnp1Mj42IVZUMiR5SEo2Pjg/VV9OMmZBUWloUiNg
PTU9azEtVnd+bF5Je2gtcV9AViVZXzI5cDl1cy1tcGlIfDhgbAp6JEFRKkpIfVYyXm9oX08jbCF5
Q0hKRGZwaytkfWZ+YkJgTWNQdkhhbGBZKnZ8eihWLT1fKmxfcW1YLWw7ZHdsQ20Kem9gT2p+K1I1
P2VrNVlDezRSTlNNUnJCSmEmVjJpazkjNihPUXtGdXI5aWlFUyZ9JmVQOV84WXlZOFFrfSYmYzNJ
CnozTismPEtvZHVaSUlaYj1pTn1rNU05M0deN0xJR1F6NzAyWHdUfClkc0EqfHc2fFZwenpLe3R7
OVM2QndMbUh7bgp6akBMeCk1YFN7PldwaiF5VnxgRlpONV8jUTFhJWEqRzdhTjtrYkxnMF5hQ09G
dWlwWSk2JilTVGNsenwrSUttb3UKemV5ZHo5KkQrdXhfWj5MIVdWakdQMHJ6LURRU31XQ0ZZbngw
Nkk9endxcWpSaHtBdFV3MnhVYkk4SmZFI2dMdzBsCnohZS0yV0MjN0pjR1I8Mm1rZVprQDlmKGd2
RCpId3N1czdoJTxLcDc1UVNhVktTaFN7SGZVNDVmVEo0d0VmXm5Rfgp6TjlgVTYqe2ZRQi0rdGls
QGtLfjA2S1A4PEVpRX4+M0k4KmMoS0dNU2A7XkRJaHRCY3laUTlraUlHMj9ydXlnbHIKelBhOChD
WSE0M19pPyQ1SGxOTG5Lej9BbkRVe0tUZUJKRXJ0dVp1K0lRaGdSUFlPMVFAQE9XS3liQGo4fFpe
IUheCnpqbllqIV5LNjBmLXtlI1VwRj41bWpCO0pVbCNTViRKMitlazRpMHU1KF9PNGtZaXctbjZP
OGA1YXshe2FtViklKwp6I2IrZ21uO3lMRnhlUkd0bSpuSE50ZEZqajczfVA1WTNiQD5zR20hSyNp
MCo1QlI4Tytwd19nQCpNQDhYe1kzfkAKenN0Tzh6KiVMUEhEUyhHO05uX2NTU0MyMGMqWnorKCVL
WXx4NEFLTT9TKVAzQkkoRzJqTDg9ajI4ayhtODBSIzMmCnpJdEA7bSk8bFI8bUNlcjJkKjxqTk9Q
T0lhKHxpcU8zXjRid2lAUnQ0bU8zYFMqI0V4KTdseExnNCo7ekxQYUFybAp6R00yIX57dVdWVDtl
P1dzNjVvTVVGeXNWbzcha24kam1RdHoxdUE9UHtGVnJvUnxta2xwcncxVStGdHB9bUR1VE4KekR7
Ymc3Mi0lR1dicTdKZz5nRFp5MkA0Ry1Xb1cyP2hhLUIwTW5JTHYqeDRvYjN0QjRNKj02UEI8JFZo
bS0/fkA7Cnp4OCpoVXYpY19iSFEzTilLOCE4ZE1NTiVKc0Q1NilKZGdDNm83Jm9qbTQxUCZ0RiNw
cVVLQUNIV0BjclhMR3ZtOwp6QzU4VDVleTBMbFUxQE1LSmo+MCVLbXZfTVV5X3BwbDhCWGNYa25f
P2FmdUtFTiVJN21uQnUwUXFaM2dSUjkhOCUKemJKczQlNnlWfllgdVQwV3Y3KkYkMFNrclZkPWtQ
fnhUbmlJWEpCZi1xSEtxaC1ZO0tmKHtXQE8jLSY9JXI7eis0Cno4Q3tlb1RxY31jTjs5QT4ybzJg
SFU8YD83MW1aREdOM1FIbHtGKiklQ2E7bDZjdUt6QT0lKkoqMHp6N1NMPWJUfQp6a3A+M19rajdK
RFYmZTBPOT1tK1Fed3RjXlA5WHJIN2o0TGh4ZzI3VHIrVzl6Rn1rdXFLeWdWOz1oaUZlUTZ7a0MK
em9EdUJPNnVfbGZLbjlURXMrcmJSe2pDSXB3bmclVFdKYjcjeFdOVG1JKjgkanBVNyhoI3pMQT1Q
QU4pP2lxSjE5CnpZPU4jOGZ8OGFQe147KTxTNmloRStUT1RRPiVsUVd1Y2ZeYFZSK2JWPWd5dENO
TF9qNE9JVDxgM1AxLS1mXnFwWAp6RWZMQntXeCZQP2hLOEBRI3J7SlNnNGBsZ3FZKEdXQ0U7NVIw
V25XUWdTPVEwXmQrSUFOaCU9ayp8WDt8bDxGWVYKejhSOU1kLUo+U3p5MU4rJVJ4OUhOJnRmZX5B
Y1RLUUFXKGdma09aPD11bkNGZmxqR1ltUUY/emdMOzN+PUV9SFRxCnpUVSQrfEstdEtIZD4ze09o
NVhfYy1ybz5iNDBZb0N6a0l0cjY/S3hJe31xJWEmcXE4eEopeTAxS0ZfblAqUlFnRgp6KzhoQGkt
dF90TlJWaSFhZEpoVkxOfEtsTjBZISpgME1lZFgoK259cXEmPj81RTlVe14mby1BWStpe21jeUpH
NjUKemUoaz5rT3xWaFAkPXB5fGpDQj1peC1DfWYmYkR7MnNQZj5LKTh4cXUzcHZwLUcwI0Ztai1m
QmYkVFdoQEQ2NlV0CnoyLTt0YGEzQXRQVl9SRTFDfHFLfXdaNCVmdnxHfCFJc01DUitFJjBuKngx
O1BvPDZPUE1WZkYoNVdxJTMzbFIqMAp6Zkx8SEdKRDF4MDBBNk5yODspV1BQNmlpWFdSVj5XYkJU
MGFSfHgpWC1rZG40cXc3V3tpbmQ0VHhHb3hzZkdTMXcKelhPenxDdThyX0hDYk8+QCNSVnVVNUhv
T3IhVSVMVGs2fVgqTmZYPVEhO2ImSmZrWj82XlopM1lIbmF4LXlhR1B4Cno7MkRSQGFEcmc/JkN+
c3JnXjJxZ3owQEJ0YHBePGBqdU5XTS1Ne3hqWC1EJUh6QzU8PWA+PlRmPD5TXmtDXn4tewp6O3s8
PUMrRVZ+bnV8QXdjZXQoJkktT3VgJipfTD4wUjV5OXQ5XnZiM0xBN048OUJ4OG5EN01oMmJSYmRS
LXhicXYKel56ci0xKCRiNGlZbjFEeW53WGVLVkgtTy1JNmREb3pwT2oqdk16UWZodzhtPWJ2Vn0q
KXIyT30hX01xQmtYU0xlCnpFP21ROTBVMDtlaypmclY5N3VgQUo4TFFhdz9XMVF4aFZRUi1SYDkp
Q3hUXzVlM2RWRExla005UVhgfUUqdnlRQAp6em9ueldtT3Z+dl42QXFaX18/MVVubG9kVihfLVFP
JkhBZjtQZld3ISpXfXQ0PWZRIVF0Tk4hTClfNGQxI2ZROXEKejx3SVF+UmlUM0JpX2ByWWdecm9K
Vl89bDg1SkNfTWg9S1UhZSlrekBVSD5FRSpFWlMqM0hlTkdwaGZgWFdNKm9yCnpVfXJhSFk3U3Im
PmY4Q2UjNiVnO0FyS1NWS19pSWhoZVN4RD41aypNZ1I+Kkw2YiojO2pOQUtqMCQ/Ql5IV3RLSAp6
SThnbSRVVkJSZXp6OWRzTjBSTFdjUFAkVnVMcVBIMnp8IWBrNkxKRVRATUNQIT9LeSVPbGJFfHZu
Sipscn55RjEKem18LWBqS15fcHFQc1JQbmhmVFBBNjw8c2pAZ3RVWlQ8bExqVE9VN3tqVkM4eyV8
eSZRcTskakkzdX1GVUZXb1h8Cnp6TGpvQXFpKHxJUD1gMiVzU3JwJGdxbGBtQEZeUlZFJGA/RVRP
eUh3JkU3ZUM7Q290dHVyfj84N3ZjdSpCKDFIIQp6VkgrQTF5amp6K0xOTSZFNXJgSUBSK1VeYEJq
ZStpcG5oOEdMVj9OeTJ4YXZvUlZkeG87dGAxfU5ANDNhVEh0STsKejNQMiY/JUFwZDZIaHUjTGtU
VCQ2N2BHcSZEdmEke1JVRDhHJEJyRyNhSEZeYXloMWRLKnhCM2smSXMwcGdlQDl7CnpxK0hPZ2lQ
QzxnVWMydn5JYXY7fSRUd0dePU11dm5eaFd6VXlZa0g1NSNpbE08clU5M25pPzltUGQtK3w3Kz0z
Rwp6MTF3RDVQfl90UjNsS3Y8VUQqdGFLTm11MDk2Y2F1KkJRaD5XSHw/eUlhTVl4dygtSCZIdldn
Nl5Gb1dKLVB4ZGoKekxyN3hRMDBoV2ZqZ2FfODY2PytNTHgjR31qb2czY3U4MDhnXjtkMjhwUURf
XmRRPTlXSDFQTkxYWjhZMCg3MTg7CnpnUCYlbmY5aEg3I0JlTVFtcl9AIWZVYll7P2pHPjhOST1R
VTZUOz1Td1EyUENeX2xkUmRSMF9jdEUjRUIxZk13cwp6PnZkb0UzKnJuQTluaGx1U0k2M2s9PXpe
JEJzSTt5UmR7byQkUjxkZntxJk94WiFRYXpQQk9ySVFIXnZiJVZVNCsKem93V1Y2cyQxTWpKVTt7
X0l6VjlBY0xWMFhHaUxnS2Mxais2SFNWRldYQF9OKElFV3pzc0wjck49IT5qcyptJD15CnpSK1ZA
REw1fVY5VGc9UFBlLTs/SCtsS3RENUpSfUlHfn0zMyNAejlrLUAhYktmYlJkP3loVVAqI0JZfXBZ
JTI2cAp6Vl5kUVYwQkhtNzM7NzRqJH1jRGd3ZmhJcVNlZnZkeT8/WmBNLSh3Nl92M3IpI3liZT5x
aT9qLXU1V1RLVTg9czEKek4mQmk8REh1fnJ5MkIzOzlxUE5XUHBLQFV4cyVtcXRfQ2UkMU8+NH1r
UmpaeVdnMT1JKnNOQXBLMmkoNVFOUU59CnpnUmNoNFYmKy12XiVhPD5FJnwpakJDeSh9VFAkSk5r
MzhfZHNpYzBXdjtIaXNkYG5NLVNHJGphRGhVRHRvaGtRRQp6NXpFMH1CYkhEPjQzZ0Z9OWZAWVJK
bVpMNDdtPDx+M1N3Pz5JUlhlWEVzR2F7UH5qSTZJKSlBajNjOEYmS1pHYHEKenZZT2hVbEE1TXdM
Umk9Vmk7ZiV4cG5RUUgtWX0/dU1BbXlwTV5WX1h3M25mPUYpcGpyR1B9fCYoLTlIalchUjNXCno7
YDVOeStuS0s+RkdrSilaWVVYKXdRN0tFPUt1Uy1maFRZMShFR0E3WClGKlQwS1dNNmBUTGFgVDNo
NFp5ZzRedgp6ZCt5d3dsUDZFRT1eYG1oYExYKCFfcW11T2BSMXl0MWJLXzJxQC10YXFXYnBmOU1I
aFlMdVVfWlIrKGFjX1d8cU4KektYcjV8c3t5YEdMY34xLXNIRnFxSylEanoldUAoO2w4aSp0Pz5N
aUIlRC1URih9VCM3QUw5N0YtVTV7eHFQYC0kCnozV1BkbEcrUT58Y1F7fGUmJiRnYVQ2SCp+M0Fg
aXpjXlJfQjU0YF9xZylCY0ckPE5FMTltQlkzUXBud3VnT2c3ewp6bil9eHAzdnhsJTltQnQmNlMt
YDFnOzlET3UjMlNtMl9WMWY9RW1DRGtSSGZCTW4qTmo1VV4rUCtJLTtEPVl6WUMKeiljJk1kKnRH
fmBufDw8WHE0alRiZldeZ0ZENmY+RTRGbEBFZG1fOEwpVD98KF5HPThpT1d1UiR4IzloPU8rTShX
CnoxYkZMdU1sN0Z6S3MzPG80P1pHezYmd2xWZ3MmdHEhfiNvOCVYaDBke0o3WEJlUHNMcENiOVo/
dHA3dWdeKFVqWAp6VDJiQUkwRTUzXlpFZHw7UWhuYmV0VmZpRDI7dVN6ZFRaV3NXfXIlPSRUP1J2
TVEyUUQ5PC1kcEE/Qz8tWVdPNzsKem4yYjxDclYtWHUybVpyIXBteGU8bF4ybyRQbzE1JDBqQitr
dXJNaXVBRDk+QFU3ZlU1UmltTkh5d3VkYEpXfmE4Cno1czFYcTYqUyNMQ0E1c1EzQk0/K3tAenRG
b18+SGwoOz9QVGwlN0RTO21LZ1JjQ25LdUJjcX5OTEVpN3c0b0R7Jgp6JGE9aVMtSUNBYjhFQ1Ut
SzsqLVJ7REEpX3laK2o0blBLX0g5ZnYkMFZSVl5RJn5fVGpUemIjcmBUfHNrXz8zVEsKek5reVRp
MFU+Q0NZJmhAcDlsQlk5eWp4b2c9RmVWPnFpQStKUzc9bzxYb2xsfUl+bj5+aDRLOTBKSkpFMTNj
eXJCCnpWOW01NEM+fWdAcWQ1T1BxT0M+Zjs9ajYoP35ncnB1Xn5zRnZSP0FjPG1Cc0pKVVdUNXF5
cnQ+ZiRUY3BfSSpFKgp6NlBnOG9AM0ZfVXk4O2lQNDApSkxueSY7TExZZj1ITWo+bmk8M2NnNU99
ai1sIUNRRXxtT1M1YDA8Z2xkWjAhY1YKemY3WGUpeGYpNEpVUnd7ISlkJlpvXkY4RVpMRT4lQz9k
PD1JTG9HZmdoVysjSTZ1SDY0cDBgIyk7alptai19elBzCnpPJkYtYVRXJDNuOC0zUW5SWCFpc3Ay
XkdmKXdoYE0pMXg3bERPfGVyTlM2YytzYmRAKkVTWUJ6bGJCJkxxazBGNAp6a2kxMFA4cDxPbUQ1
JHJKJVl6dDRRPDBWWUwlamItbWZBfGsxZnVZZXUmfEEkUFp8aE04cGk7d2VEN01SQjs9bF8KenRw
NzxgOGdAc3Q9XiU1Pm8yZUcybypWcTlRMDFAPnFOOEN0X2I7Sn1oeUB2JEZhb2xWYzY5Jkdwfj5J
OXM2PSFaCnpULXA1eUstWnV1cWhPaW5oVlN8PlUwSF5lMFleZEpkZXNIRzJfVElAIyNHamhQVzxj
Y3tEMzRWe3BAWFFPc1ljbwp6Jm8oaUBMPUJ7MFdLSlUha3N8Wnwta21xeV5rO1dvc3UkVHAzRHJo
d0I7ZVFubGtQa1R1PkdIRTczUCN4IW1JQkcKemFEdVJqWVB2NGFFWSlALTZJKzA/JCVMZWgyIVE9
clpTQ3pqY3pBZSpOSHJmbmVsU1dlaGNUPThffjlvSmg9cXZ2CnplTiNjeFlFdnE4U0wjV0Y7UWx+
WEk9PU9ebllPcmU8YV54ekFMT0xGZDF9d2FkO2ZgJGBGSTRQNGkoUyZXeHJtSQp6XmdpTTgjKkde
aDBsJT1fPXNHOXZnN2hDPDEkU0l+bTJxYS1DZHo2R3MwQ28lKT9rRj5EXyh4a3dzIzlLMyZmRVkK
eiQ/SFZgP0heUXFPOzR9P0QodzEmOU9WYj8lQWV8I3MxcTw0cjxmaTFTTEU/LTlMYTU7S2kpcW00
b1U7JSVhQHNlCnpWKUFedV4pPDkoRSY/dyRxbDQpeFBfR1ErWCZHKXhhMmJaNVc/VV48MTVJI3Yw
cEd+Xys0JiMwRGAjVGlQTis5Swp6ZW52WU53dHlrRjw9TDdTeEJhITFLa30yRjw8REZCRkdMeU9e
NnUrRXgmQ1crOEdrYX5APFYwVDlQdC1vPzQhQDAKelVIdj1we0NoUyZeNl5vI3ZgbUo9YjlOcTI9
fWRgRU58SnM1e3lsUzIkKFVVTndEQDQ9WmlERm88a2xZXnQjPFk0CnpoMV4rVCFVQ3V3Syt5WU8z
e2deU05kZm8wZSZxKWJOa1ltcmFmQTJZISo+cnBaV3RUXkYzdHk7MSV3aEducUZ3ZAp6LWBuflQj
XjNzcWZadiZ1ekI8TipLVXl5PGQlYnxWVTJXQHM5aGBiYDlTYH5nVSlERFdLKU1tfFEhZWFoK1d3
I1MKemBKZDQzRm9BdzYkWE5nfiE8LTUkRmt+LVlGcnlXJXQpYVdeYEwmPV5PfXcmb3ljYTJUKldM
WkFJRGJORztWXzM8Cnp2TkZ0VCo2SjFqIXZPbFZXYHQ2S2UyT2RqUE9HMHBePXJeQmc9PmVTJCVF
bFo+YmMoPWxadXN5Ql9GNSV2b1pPPAp6ZlBZe0J1P19FcjJUb3p2dGt3XitPaThQfmF2U0tDfDll
aiZvNEhOaVdqcTNYbmZYcTg5QmReXzJsbEpefENnKHsKektMaHwyJUd+JXdYNXx2NGNSP1JsdzBE
UTA0OURkfl9oKV8lJmxeY2hwezJ1RFY+dkhmeGhCUGFQVDwoWk8rcCo9CnplIUlWZ090c1U1bU9M
NENzUXNBV2lKfSh8KChZfjZ4PT0tfXViNlEoO0hnbz0jTXg4UnA+d1RtJlAjLXUrKW5TVAp6NWw4
SjdxOWJtc1h2OWB+VnpmMSM5YUZTdTFadC09ODJxcDxKc3slOTJYaWRhJEByQmUqN0JXZFQ3RUYk
YT99UyMKejAyITtuOWZNKHtrYHJRMFd2YER8I0JMcGpvKWxMWnNLO3EhZ3ZEVnhHdykrQ0A4Qkkw
Sik+d0NHUS14UVduSnx5CnpPVmN1IUVmN1hsNyl2YyUpN1hHTiRlcGc+bV9hXjI/K21QOU99dDlO
Vk9KYyN4dkZLc1JPeVZqJG9gfH5sZzhDeQp6NUF6UjBnbmYwaDQoNjZkTXg+cGJOS3ZIPlhCPmAk
Vyg+NGVoQ21DWiErZ2R2T3FDNWp4ZG9hUVluYWlKR3U7ZGAKenY+IW1jR3VgSmVGR25+OU9FYzEq
TUc/bHYhZm83X1hCKl5DSkk8UUdgOHxXeS00aWRiZWktRXF7eztDaGZ8Xz0tCnowVnBaYGkmaD9Q
WFJvaVReTWxmfEFEWiRKKTV9eVNfaDQlVT5PTDVOMHVmeX5eaG8qUXJzI0hZTzEtUjtMUHtFIwp6
blFMbmMwUmdKKUQyKGdjMmtfe001PUwtQncjVlI2S35ffCRCcm4zPnpYJTQ7SX0lQ3JwKm1hYDx9
SyVDOUc5VTIKeiNMPGZfQUNIaj56bDBzXyVvaGFtSFQrWHxkJU4oZmVsPl94bSN7WHJ3ejVtbWxL
JVc5KnY9aFQ9YUBQWjFJaH1TCnpGZ3spbDV1U1pjK2hrRWlRY0BDVm8wPE1WLVJMP0s4UDBTdzQ1
a0xhZCU4KG9CJlRsQzhROTJqQWIwdDFifVpnOAp6eF8rSjA+bW99XihVS1dWTz92VXxeRXgxOGF8
RTNSanwhdmJ5bnlwZUVpSjEtbkhvKWtUR1FSc1daI31Xcis5O0oKej1XaDt8dE1TTms2UGRJSkkx
bTZKZVlPQm91KkNjRjw7JkJ6clZSI2FhQUsoejRpMlpGM3ZkZSNBPS12fUJfeUpYCnp0VWd1cWNt
K3tQUXcmIUlefS1pRV9fNEkrLTBYZVklWXEpTDRrdms5Ymh9WXBBe0BSdjM9UlUzK2xffT44N1Nv
Ygp6YGFVODhgaClxcy1vaSRzMEpuLT9VR3N2NTtOXj8lNUhTcCtHayR8RV9rdnkoWjA3PmNAbUh3
ZShjSyVTODklJGQKejJWPiFfKn5XPU5KJTU2TjcrYkxwWnY2WVZBRnNHV2NiUkBLMTRBe1RBJTxl
cDBkaUYrOTQ5X0Q4cDMxWntZK147Cnp6IVlGMD1tcmN4TFFFSlF1NlQzYnpAPSZ3O3ZxWm97e3Ft
PksoaTZZSjIwPTFoVXFTdkJAJClsKF9tclV3Tkd7NAp6SSpHemFgREtYdkFAcmdQT2xZN0Z1b3F3
WUV6UyhhMDNRc0RiVThyaWJsNn4xY188SlVvSTt4cWBod3s+TG03N3EKemxwZ0ZeO2hUSlI+cEd1
KyopPSVgdmNNVFBuRDktNTZwe15IVDJ8SzMpYiNBdSV6ejxPO0hSd3pXVXpmODxDMnE+CnptUFNx
aXJsN2dPTWF7N1cwNjd0aDBQUmVEYkYpREJRUGBUbStLZT5AQ01ITH5OPFNvbD95RE1QMlUjMDha
OEdkQwp6eENLJW5XQkExWVNPKXdEMDd1WiVGZTdVVyZ5OCNrczd1bzlDJVJiNihgIVVTJEgmSjx5
WVpCO0YmTV9HMWkzfikKemIjKmx1cH1jVmdKVWtvVTd+MikmMzd6R3hnI2B6MjBkOXduWkpGalgj
bmtreWkofkNnRiEqUlMtQiYoNEgjWSM+CnpNLWB3U0VEUkdIVClvTiE7IzQjaUkyMGE4eEREYUpn
V1hzISVPTVR8TCMmXmxwWXpKJXBuOEdCKVZuI0wxajElVwp6NiNLPmdLPjF+NzBjQ0dTdjU0TD5B
N2cweEFWdmNFQGdTSEJ6TlhoOXcka0hPMCZQbHIhNmZgSjIyWTtyYUdDR0MKejF0VmRIdiVIPT5p
QXFWfjBlaUs8TXU4LT84d1FRPlhJakVlVFUhQU4+bzJ9ZDRTRnAhPzVBYlg7c0JqQGNiMGBGCnol
JlowVldnQU9eS0N+dHU2ayFZVkMmdD0wVV9kIWsxZjQ1UiVgOHNuIUlnKkdjTGpycjMtfSMmdn0l
Jlp2KChobwp6akk2QUlQemE8QSlgY3JlQmR0JiEwZDVRbjJuYVg+bnljTGhAfl4lMTBNIWBfZEt6
ZFRMdHVPZEowWlU+bE1va00Kej1za2E2Rm08R3NGbmN7YGEoXnUzdEFNKD9JIT4qZSQlNHZQQWhf
aFVBTVpmUmYtc2Q2aWZ+JmFmQ0YoOzl9ODk7CnpPdW4pVWckaHp7YTl1fUVZKXY7ZG8qUWw1LTY3
VnhBbXlzKjRUYjNQOzFyTUxII2I9SWg+dVNyczBnajJuamE5JAp6eDImaTc7c3dJQVZ3KlQlOHZn
RCQtfSV1MGVmemh0QF8kP01lX1FmPm4peUZfYDJXPSZtS2l4RGY7VX4lVHJ6K2YKUDElPHZLQ3l7
KmE+WWVgd0N6YmRUCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1zdWdnZXN0aW9uLXBp
Y2tlci1hcHBlYXJhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2VyLWFwcGVhcmFuY2UtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjliMGVmM2U0YThhMTYzYjU3MWJmOTFjNTkzNGVlOWVlNjBi
OTA4MzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9m
YXN0L2Zvcm1zL2RhdGUvZGF0ZS1zdWdnZXN0aW9uLXBpY2tlci1hcHBlYXJhbmNlLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDYgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAzMjogQ2hlY2sgdGhh
dCBwYWdlIHBvcHVwIGRvZXNuJ3QgZXhpc3QgYXQgZmlyc3QuCitDT05TT0xFIE1FU1NBR0U6IGxp
bmUgMzM6IHRydWUKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNjg6IDEyNS0zMjYKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAzOTogQ2hlY2sgaWYgd2luZG93LnBhZ2VQb3B1cENvbnRyb2xsZXIgZXhp
c3RzIGZvciBhIHBhZ2UtcG9wdXAgd2luZG93LgorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQwOiBb
b2JqZWN0IFBhZ2VQb3B1cENvbnRyb2xsZXJdCisgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1zdWdnZXN0aW9uLXBpY2tlci1h
cHBlYXJhbmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1z
L2RhdGUvZGF0ZS1zdWdnZXN0aW9uLXBpY2tlci1hcHBlYXJhbmNlLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
Y2NiNWJjMDRhZjgwZmQxYjRkMmZlNDE5MjY5MDMxOTRkMzcwZWU3OAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXN1
Z2dlc3Rpb24tcGlja2VyLWFwcGVhcmFuY2UuaHRtbApAQCAtMCwwICsxLDUxIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiYmJiOyI+Cis8aW5w
dXQgdHlwZT1kYXRlIGlkPWRhdGUgdmFsdWU9IjIwMTItMTItMjQiIGxpc3Q9c3VnZ2VzdGlvbnMg
Zm9jdXM+Cis8ZGF0YWxpc3QgaWQ9c3VnZ2VzdGlvbnM+CisgICAgPG9wdGlvbiBsYWJlbD0iVG9k
YXkiPjIwMTItMDEtMDE8L29wdGlvbj4KKyAgICA8b3B0aW9uIGxhYmVsPSJUb21vcnJvdyI+MjAx
Mi0wMS0wMjwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0wMzwvb3B0aW9uPgorICAgIDxv
cHRpb24+MjAxMi0wMS0wNDwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0wNTwvb3B0aW9u
PgorICAgIDxvcHRpb24+MjAxMi0wMS0wNjwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0w
Nzwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0wODwvb3B0aW9uPgorICAgIDxvcHRpb24+
MjAxMi0wMS0wOTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0xMDwvb3B0aW9uPgorICAg
IDxvcHRpb24+MjAxMi0wMS0xMTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0xMjwvb3B0
aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0xMzwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0w
MS0xNDwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0xNTwvb3B0aW9uPgorICAgIDxvcHRp
b24+MjAxMi0wMS0xNjwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0wMDwvb3B0aW9uPiA8
IS0taW52YWxpZC0tPgorICAgIDxvcHRpb24+Zm9vPC9vcHRpb24+IDwhLS1pbnZhbGlkLS0+Cis8
L2RhdGFsaXN0PgorPHNjcmlwdD4KKwordGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOwordGVz
dFJ1bm5lci53YWl0VW50aWxEb25lKCk7CitpZiAod2luZG93LmludGVybmFscykKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0RW5hYmxlTW9ja1BhZ2VQb3B1cCh0cnVlKTsKKworZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ2RhdGUnKS5mb2N1cygpOworY29uc29sZS5sb2coJ0NoZWNrIHRoYXQg
cGFnZSBwb3B1cCBkb2VzblwndCBleGlzdCBhdCBmaXJzdC4nKTsKK2NvbnNvbGUubG9nKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdtb2NrLXBhZ2UtcG9wdXAnKSA9PT0gbnVsbCk7CitpZiAod2lu
ZG93LmV2ZW50U2VuZGVyKQorICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ2Rvd25BcnJvdycpOwor
Cit2YXIgcGlja2VyV2luZG93ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vY2stcGFnZS1w
b3B1cCcpLmNvbnRlbnRXaW5kb3c7CitwaWNrZXJXaW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZGlk
b3BlbnBpY2tlciIsIGZ1bmN0aW9uKCkgeworICAgIGNvbnNvbGUubG9nKCdDaGVjayBpZiB3aW5k
b3cucGFnZVBvcHVwQ29udHJvbGxlciBleGlzdHMgZm9yIGEgcGFnZS1wb3B1cCB3aW5kb3cuJyk7
CisgICAgY29uc29sZS5sb2cocGlja2VyV2luZG93LnBhZ2VQb3B1cENvbnRyb2xsZXIpOworICAg
IHBpY2tlcldpbmRvdy5mb2N1cygpOworICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ2Rvd25BcnJv
dycpOworICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ2Rvd25BcnJvdycpOworICAgIGV2ZW50U2Vu
ZGVyLmtleURvd24oJ2Rvd25BcnJvdycpOworICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ2xlZnRB
cnJvdycpOworICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ3VwQXJyb3cnKTsKKyAgICBldmVudFNl
bmRlci5rZXlEb3duKCdyaWdodEFycm93Jyk7CisgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHt0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTt9LCAwKTsKK30sIGZhbHNlKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDJiN2JjOGUxM2Vl
ZDkwOThmMGRkNWUyM2MyYjFmZjRjMzBmYTUyODcuLmJhODE4M2YzZTUyZjExYmVlZjBiZjY2OGEy
OGQ5MzA2NTViMmYxOWYgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMiBAQAorMjAxMi0wOS0wNyAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0
Lm9yZz4KKworICAgICAgICBEYXRhbGlzdCBVSSBmb3IgaW5wdXQgdHlwZT1kYXRlIGZvciBDaHJv
bWl1bSBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05NjA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogTWFudWFsVGVzdHMvZm9ybXMvY2FsZW5kYXItcGlja2VyLmh0bWw6CisKIDIwMTItMDktMDYg
IFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNvbT4KIAogICAgICAgICBbR3RrXSBS
ZW1vdmUgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBmZWF0dXJlcyB0aGF0IGFyZSBub3Qgc3Vw
cG9ydGVkIGJ5IHRoZSBHdGsgcG9ydApkaWZmIC0tZ2l0IGEvTWFudWFsVGVzdHMvZm9ybXMvY2Fs
ZW5kYXItcGlja2VyLmh0bWwgYi9NYW51YWxUZXN0cy9mb3Jtcy9jYWxlbmRhci1waWNrZXIuaHRt
bAppbmRleCA0MzhlYjZmNmY2ODUwZmY0MmFiMTllN2VlMjE3ZDA5NTE5NDc2NzIyLi41ZTU0NGRi
MDU5NGIwNWI3NjUyNTRmYWE1ODMxNzIxMzdiYzlkNmU2IDEwMDY0NAotLS0gYS9NYW51YWxUZXN0
cy9mb3Jtcy9jYWxlbmRhci1waWNrZXIuaHRtbAorKysgYi9NYW51YWxUZXN0cy9mb3Jtcy9jYWxl
bmRhci1waWNrZXIuaHRtbApAQCAtMjMsNiArMjMsOCBAQCBpZnJhbWUgewogIDxvcHRpb24+RW5n
bGlzaDwvb3B0aW9uPgogIDxvcHRpb24+SmFwYW5lc2U8L29wdGlvbj4KICA8b3B0aW9uPkFyYWJp
Yzwvb3B0aW9uPgorIDxvcHRpb24+d2l0aCBkYXRhbGlzdDwvb3B0aW9uPgorIDxvcHRpb24+d2l0
aCBsb25nIGRhdGFsaXN0PC9vcHRpb24+CiA8L3NlbGVjdD4KIAogPGRpdj48aW5wdXQgdHlwZT0i
dGV4dCIgaWQ9ImRhdGUiPjwvZGl2PgpAQCAtNjgsNiArNzAsNDIgQEAgdmFyIGFyYWJpY0FyZ3Vt
ZW50cyA9IHsKICAgICBzdGVwIDogMSwKICAgICBtYXggOiAnMjAyMC0wNS0xNScsCiB9OwordmFy
IGRhdGFsaXN0QXJndW1lbnRzID0geworICAgIGxvY2FsZTogJ2VuLVVTJywKKyAgICBtb250aExh
YmVscyA6IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAn
SnVuZScsCisgICAgJ0p1bHknLCAnQXVndXN0JywgJ1NlcHRlbWJlcicsICdPY3RvYmVyJywgJ05v
dmVtYmVyJywgJ0RlY2VtYmVyJ10sCisgICAgZGF5TGFiZWxzIDogWydTdW4nLCAnTW9uJywgJ1R1
ZScsICdXZWQnLCAnVGh1JywgJ0ZyaScsICdTYXQnXSwKKyAgICB0b2RheUxhYmVsIDogJ1RvZGF5
JywKKyAgICBjbGVhckxhYmVsIDogJ0NsZWFyJywKKyAgICBjYW5jZWxMYWJlbCA6ICdDYW5jZWwn
LAorICAgIHdlZWtTdGFydERheSA6IDAsCisgICAgc3RlcCA6IDEsCisgICAgbWF4IDogJzIwOTkt
MTItMzEnLAorICAgIHN1Z2dlc3Rpb25WYWx1ZXMgOiBbJzIwMTItMDEtMDEnLCAnMjAxMi0wNi0w
MycsICcyMDEyLTA5LTA2JywgJzIwMTItMTItMjQnXSwKKyAgICBzdWdnZXN0aW9uTG9jYWxpemVk
VmFsdWVzIDogWycxLzEvMTInLCAnNi8zLzEyJywgJzkvNi8xMicsICcxMi8yNC8xMiddLAorICAg
IHN1Z2dlc3Rpb25MYWJlbHMgOiBbJycsICdCaXJ0aGRheScsICcnLCAnQ2hyaXN0bWFzJ10sCisg
ICAgc2hvd090aGVyRGF0ZUVudHJ5OiB0cnVlLAorICAgIG90aGVyRGF0ZUxhYmVsOiAnT3RoZXIu
Li4nLAorICAgIGlucHV0V2lkdGg6IDEyNworfTsKK3ZhciBsb25nRGF0YWxpc3RBcmd1bWVudHMg
PSB7CisgICAgbG9jYWxlOiAnZW4tVVMnLAorICAgIG1vbnRoTGFiZWxzIDogWydKYW51YXJ5Jywg
J0ZlYnJ1YXJ5JywgJ01hcmNoJywgJ0FwcmlsJywgJ01heScsICdKdW5lJywKKyAgICAnSnVseScs
ICdBdWd1c3QnLCAnU2VwdGVtYmVyJywgJ09jdG9iZXInLCAnTm92ZW1iZXInLCAnRGVjZW1iZXIn
XSwKKyAgICBkYXlMYWJlbHMgOiBbJ1N1bicsICdNb24nLCAnVHVlJywgJ1dlZCcsICdUaHUnLCAn
RnJpJywgJ1NhdCddLAorICAgIHRvZGF5TGFiZWwgOiAnVG9kYXknLAorICAgIGNsZWFyTGFiZWwg
OiAnQ2xlYXInLAorICAgIGNhbmNlbExhYmVsIDogJ0NhbmNlbCcsCisgICAgd2Vla1N0YXJ0RGF5
IDogMCwKKyAgICBzdGVwIDogMSwKKyAgICBtYXggOiAnMjA5OS0xMi0zMScsCisgICAgc3VnZ2Vz
dGlvblZhbHVlcyA6IFsnMjAxMi0wMS0wMScsICcyMDEyLTA2LTAzJywgJzIwMTItMDktMDYnLCAn
MjAxMi0xMi0yNCcsICcyMDEyLTA2LTAzJywgJzIwMTItMDktMDYnLCAnMjAxMi0xMi0yNCcsICcy
MDEyLTA2LTAzJywgJzIwMTItMDktMDYnLCAnMjAxMi0xMi0yNCcsICcyMDEyLTA2LTAzJywgJzIw
MTItMDktMDYnLCAnMjAxMi0xMi0yNCcsICcyMDEyLTA2LTAzJywgJzIwMTItMDktMDYnLCAnMjAx
Mi0xMi0yNCcsICcyMDEyLTA2LTAzJywgJzIwMTItMDktMDYnLCAnMjAxMi0xMi0yNCcsICcyMDEy
LTA2LTAzJywgJzIwMTItMDktMDYnLCAnMjAxMi0xMi0yNCcsICcyMDEyLTA2LTAzJywgJzIwMTIt
MDktMDYnLCAnMjAxMi0xMi0yNCcsICcyMDEyLTA2LTAzJywgJzIwMTItMDktMDYnLCAnMjAxMi0x
Mi0yNCcsICcyMDEyLTA2LTAzJywgJzIwMTItMDktMDYnLCAnMjAxMi0xMi0yNCcsICcyMDEyLTAx
LTAxJywgJzIwMTItMDYtMDMnLCAnMjAxMi0wOS0wNicsICcyMDEyLTEyLTI0JywgJzIwMTItMDYt
MDMnLCAnMjAxMi0wOS0wNicsICcyMDEyLTEyLTI0JywgJzIwMTItMDYtMDMnLCAnMjAxMi0wOS0w
NicsICcyMDEyLTEyLTI0JywgJzIwMTItMDYtMDMnLCAnMjAxMi0wOS0wNicsICcyMDEyLTEyLTI0
JywgJzIwMTItMDYtMDMnLCAnMjAxMi0wOS0wNicsICcyMDEyLTEyLTI0JywgJzIwMTItMDYtMDMn
LCAnMjAxMi0wOS0wNicsICcyMDEyLTEyLTI0JywgJzIwMTItMDYtMDMnLCAnMjAxMi0wOS0wNics
ICcyMDEyLTEyLTI0JywgJzIwMTItMDYtMDMnLCAnMjAxMi0wOS0wNicsICcyMDEyLTEyLTI0Jywg
JzIwMTItMDYtMDMnLCAnMjAxMi0wOS0wNicsICcyMDEyLTEyLTI0JywgJzIwMTItMDYtMDMnLCAn
MjAxMi0wOS0wNicsICcyMDEyLTEyLTI0J10sCisgICAgc3VnZ2VzdGlvbkxvY2FsaXplZFZhbHVl
cyA6IFsnMS8xLzEyJywgJzYvMy8xMicsICc5LzYvMTInLCAnMTIvMjQvMTInLCAnNi8zLzEyJywg
JzkvNi8xMicsICcxMi8yNC8xMicsICc2LzMvMTInLCAnOS82LzEyJywgJzEyLzI0LzEyJywgJzYv
My8xMicsICc5LzYvMTInLCAnMTIvMjQvMTInLCAnNi8zLzEyJywgJzkvNi8xMicsICcxMi8yNC8x
MicsICc2LzMvMTInLCAnOS82LzEyJywgJzEyLzI0LzEyJywgJzYvMy8xMicsICc5LzYvMTInLCAn
MTIvMjQvMTInLCAnNi8zLzEyJywgJzkvNi8xMicsICcxMi8yNC8xMicsICc2LzMvMTInLCAnOS82
LzEyJywgJzEyLzI0LzEyJywgJzYvMy8xMicsICc5LzYvMTInLCAnMTIvMjQvMTInLCAnMS8xLzEy
JywgJzYvMy8xMicsICc5LzYvMTInLCAnMTIvMjQvMTInLCAnNi8zLzEyJywgJzkvNi8xMicsICcx
Mi8yNC8xMicsICc2LzMvMTInLCAnOS82LzEyJywgJzEyLzI0LzEyJywgJzYvMy8xMicsICc5LzYv
MTInLCAnMTIvMjQvMTInLCAnNi8zLzEyJywgJzkvNi8xMicsICcxMi8yNC8xMicsICc2LzMvMTIn
LCAnOS82LzEyJywgJzEyLzI0LzEyJywgJzYvMy8xMicsICc5LzYvMTInLCAnMTIvMjQvMTInLCAn
Ni8zLzEyJywgJzkvNi8xMicsICcxMi8yNC8xMicsICc2LzMvMTInLCAnOS82LzEyJywgJzEyLzI0
LzEyJywgJzYvMy8xMicsICc5LzYvMTInLCAnMTIvMjQvMTInXSwKKyAgICBzdWdnZXN0aW9uTGFi
ZWxzIDogWycnLCAnQmlydGhkYXknLCAnJywgJ0NocmlzdG1hcycsICdCaXJ0aGRheScsICcnLCAn
Q2hyaXN0bWFzJywgJ0JpcnRoZGF5JywgJycsICdDaHJpc3RtYXMnLCAnQmlydGhkYXknLCAnJywg
J0NocmlzdG1hcycsICdCaXJ0aGRheScsICcnLCAnQ2hyaXN0bWFzJywgJ0JpcnRoZGF5JywgJycs
ICdDaHJpc3RtYXMnLCAnQmlydGhkYXknLCAnJywgJ0NocmlzdG1hcycsICdCaXJ0aGRheScsICcn
LCAnQ2hyaXN0bWFzJywgJ0JpcnRoZGF5JywgJycsICdDaHJpc3RtYXMnLCAnQmlydGhkYXknLCAn
JywgJ0NocmlzdG1hcycsICcnLCAnQmlydGhkYXknLCAnJywgJ0NocmlzdG1hcycsICdCaXJ0aGRh
eScsICcnLCAnQ2hyaXN0bWFzJywgJ0JpcnRoZGF5JywgJycsICdDaHJpc3RtYXMnLCAnQmlydGhk
YXknLCAnJywgJ0NocmlzdG1hcycsICdCaXJ0aGRheScsICcnLCAnQ2hyaXN0bWFzJywgJ0JpcnRo
ZGF5JywgJycsICdDaHJpc3RtYXMnLCAnQmlydGhkYXknLCAnJywgJ0NocmlzdG1hcycsICdCaXJ0
aGRheScsICcnLCAnQ2hyaXN0bWFzJywgJ0JpcnRoZGF5JywgJycsICdDaHJpc3RtYXMnLCAnQmly
dGhkYXknLCAnJywgJ0NocmlzdG1hcyddLAorICAgIHNob3dPdGhlckRhdGVFbnRyeTogdHJ1ZSwK
KyAgICBvdGhlckRhdGVMYWJlbDogJ090aGVyLi4uJywKKyAgICBpbnB1dFdpZHRoOiAxMjcKK307
CiAKIGZ1bmN0aW9uIG9wZW5DYWxlbmRhcihhcmdzKSB7CiAgICAgdmFyIGZyYW1lID0gZG9jdW1l
bnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lmcmFtZScpWzBdOwpAQCAtNzcsNiArMTE1LDEwIEBA
IGZ1bmN0aW9uIG9wZW5DYWxlbmRhcihhcmdzKSB7CiAgICAgY29tbW9uQ3NzTGluay5yZWwgPSAn
c3R5bGVzaGVldCc7CiAgICAgY29tbW9uQ3NzTGluay5ocmVmID0gJy4uLy4uL1NvdXJjZS9XZWJD
b3JlL1Jlc291cmNlcy9wYWdlcG9wdXBzL3BpY2tlckNvbW1vbi5jc3M/JyArIChuZXcgRGF0ZSgp
KS5nZXRUaW1lKCk7CiAgICAgZG9jLmhlYWQuYXBwZW5kQ2hpbGQoY29tbW9uQ3NzTGluayk7Cisg
ICAgdmFyIHN1Z2dlc3Rpb25QaWNrZXJDc3NMaW5rID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ2xpbmsn
KTsKKyAgICBzdWdnZXN0aW9uUGlja2VyQ3NzTGluay5yZWwgPSAnc3R5bGVzaGVldCc7CisgICAg
c3VnZ2VzdGlvblBpY2tlckNzc0xpbmsuaHJlZiA9ICcuLi8uLi9Tb3VyY2UvV2ViQ29yZS9SZXNv
dXJjZXMvcGFnZXBvcHVwcy9zdWdnZXN0aW9uUGlja2VyLmNzcz8nICsgKG5ldyBEYXRlKCkpLmdl
dFRpbWUoKTsKKyAgICBkb2MuaGVhZC5hcHBlbmRDaGlsZChzdWdnZXN0aW9uUGlja2VyQ3NzTGlu
ayk7CiAgICAgdmFyIGxpbmsgPSBkb2MuY3JlYXRlRWxlbWVudCgnbGluaycpOwogICAgIGxpbmsu
cmVsID0gJ3N0eWxlc2hlZXQnOwogICAgIGxpbmsuaHJlZiA9ICcuLi8uLi9Tb3VyY2UvV2ViQ29y
ZS9SZXNvdXJjZXMvcGFnZXBvcHVwcy9jYWxlbmRhclBpY2tlci5jc3M/JyArIChuZXcgRGF0ZSgp
KS5nZXRUaW1lKCk7CkBAIC04NCw2ICsxMjYsOSBAQCBmdW5jdGlvbiBvcGVuQ2FsZW5kYXIoYXJn
cykgewogICAgIHZhciBjb21tb25Kc1NjcmlwdCA9IGRvYy5jcmVhdGVFbGVtZW50KCdzY3JpcHQn
KTsKICAgICBjb21tb25Kc1NjcmlwdC5zcmMgPSAnLi4vLi4vU291cmNlL1dlYkNvcmUvUmVzb3Vy
Y2VzL3BhZ2Vwb3B1cHMvcGlja2VyQ29tbW9uLmpzPycgKyAobmV3IERhdGUoKSkuZ2V0VGltZSgp
OwogICAgIGRvYy5ib2R5LmFwcGVuZENoaWxkKGNvbW1vbkpzU2NyaXB0KTsKKyAgICB2YXIgc3Vn
Z2VzdGlvblBpY2tlckpzU2NyaXB0ID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOworICAg
IHN1Z2dlc3Rpb25QaWNrZXJKc1NjcmlwdC5zcmMgPSAnLi4vLi4vU291cmNlL1dlYkNvcmUvUmVz
b3VyY2VzL3BhZ2Vwb3B1cHMvc3VnZ2VzdGlvblBpY2tlci5qcz8nICsgKG5ldyBEYXRlKCkpLmdl
dFRpbWUoKTsKKyAgICBkb2MuYm9keS5hcHBlbmRDaGlsZChzdWdnZXN0aW9uUGlja2VySnNTY3Jp
cHQpOwogICAgIHZhciBzY3JpcHQgPSBkb2MuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAg
c2NyaXB0LnNyYyA9ICcuLi8uLi9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJjZXMvcGFnZXBvcHVwcy9j
YWxlbmRhclBpY2tlci5qcz8nICsgKG5ldyBEYXRlKCkpLmdldFRpbWUoKTsKICAgICBkb2MuYm9k
eS5hcHBlbmRDaGlsZChzY3JpcHQpOwpAQCAtMTIxLDYgKzE2NiwxMiBAQCBmdW5jdGlvbiBzZWxl
Y3RlZChzZWxlY3QpIHsKICAgICBjYXNlIDI6CiAgICAgICAgIG9wZW5DYWxlbmRhcihhcmFiaWNB
cmd1bWVudHMpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIDM6CisgICAgICAgIG9wZW5DYWxl
bmRhcihkYXRhbGlzdEFyZ3VtZW50cyk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgNDoKKyAg
ICAgICAgb3BlbkNhbGVuZGFyKGxvbmdEYXRhbGlzdEFyZ3VtZW50cyk7CisgICAgICAgIGJyZWFr
OwogICAgIH0KIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164709</attachid>
            <date>2012-09-19 04:25:38 -0700</date>
            <delta_ts>2012-09-25 00:55:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96085-20120919202503.patch</filename>
            <type>text/plain</type>
            <size>82962</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cgYi9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nCmluZGV4IGJlZGM3MTc3MmQxMGIzMDg1MWY1MjRkZDRhMTM0Yzg0ZThkZjNmYTUu
LmZlNDQ4YWVjYzRlMjhmNWRkZWUzZTEyZDMyMzFjNDljZWVlNDg0YmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEyIEBACisyMDEyLTA5LTE5ICBLZWlzaGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJr
aXQub3JnPgorCisgICAgICAgIERhdGFsaXN0IFVJIGZvciBpbnB1dCB0eXBlPWRhdGUgZm9yIENo
cm9taXVtIHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTk2MDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBjaHJvbWl1bS9wdWJsaWMvV2ViTG9jYWxpemVkU3RyaW5nLmg6CisKIDIwMTItMDktMTcg
IEJyaWFuIEFuZGVyc29uICA8YnJpYW5kZXJzb25AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtj
aHJvbWl1bV0gQWRkIHJlbmRlcmluZyBjb21taXQgc3RhdGlzdGljcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDdi
MGI3NWYxMDIxMjI1YjBhZjkzYjJjZjk5YWNjYjg4ZTAwZmY2MmUuLjU5NzAzY2Y5MjQ1NzM1YmY4
MjcxZjhhM2MwODdjNTdjMWY5YTA5ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2NyBAQAorMjAx
Mi0wOS0xOSAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KKworICAgICAgICBE
YXRhbGlzdCBVSSBmb3IgaW5wdXQgdHlwZT1kYXRlIGZvciBDaHJvbWl1bSBwb3J0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjA4NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGluZyBTdWdnZXN0aW9u
UGlja2VyIHdoaWNoIHNob3dzIHRoZSBsaXN0IG9mIHN1Z2dlc3Rpb25zLgorCisgICAgICAgIFRl
c3RzOiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1zdWdnZXN0aW9uLXBp
Y2tlci1hcHBlYXJhbmNlLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2Zh
c3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2VyLWtleS1vcGVyYXRpb25zLmh0bWwK
KyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXN1
Z2dlc3Rpb24tcGlja2VyLW1vdXNlLW9wZXJhdGlvbnMuaHRtbAorCisgICAgICAgICogUmVzb3Vy
Y2VzL3BhZ2Vwb3B1cHMvY2FsZW5kYXJQaWNrZXIuY3NzOgorICAgICAgICAoLmNhbGVuZGFyLXBp
Y2tlcik6CisgICAgICAgICogUmVzb3VyY2VzL3BhZ2Vwb3B1cHMvY2FsZW5kYXJQaWNrZXIuanM6
CisgICAgICAgIChDYWxlbmRhclBpY2tlci52YWxpZGF0ZUNvbmZpZyk6IE1vdmVkIHZhbGlkYXRp
b24gaW50byBhIG1ldGhvZCBzbyBlYWNoIHBpY2tlciBjYW4gdmFsaWRhdGUgaXRzIGNvbmZpZyBv
YmplY3QuCisgICAgICAgIChpbml0aWFsaXplKToKKyAgICAgICAgKGNsb3NlUGlja2VyKTogQ2Fs
bHMgY2xlYW51cCBvbiB0aGUgZXhpc3RpbmcgcGlja2VyIGFuZCBjbGVhcnMgdGhlIGNvbnRlbnRz
IG9mIG1haW4gZWxlbWVudC4KKyAgICAgICAgKG9wZW5TdWdnZXN0aW9uUGlja2VyKToKKyAgICAg
ICAgKG9wZW5DYWxlbmRhclBpY2tlcik6CisgICAgICAgIChDYWxlbmRhclBpY2tlcik6CisgICAg
ICAgIChDYWxlbmRhclBpY2tlci5wcm90b3R5cGUuY2xlYW51cCk6IFJlbW92ZSBldmVudCBsaXN0
ZW5lcnMgdGhhdCB3ZXJlIGFkZGVkIHRvIG91dHNpZGUgZWxlbWVudHMuCisgICAgICAgIChDYWxl
bmRhclBpY2tlci5wcm90b3R5cGUuZml4V2luZG93U2l6ZSk6CisgICAgICAgICogUmVzb3VyY2Vz
L3BhZ2Vwb3B1cHMvcGlja2VyQ29tbW9uLmpzOgorICAgICAgICAoTm9kZS5wcm90b3R5cGUuZW5j
bG9zaW5nTm9kZU9yU2VsZldpdGhDbGFzcyk6CisgICAgICAgIChQaWNrZXIucHJvdG90eXBlLmNs
ZWFudXApOgorICAgICAgICAqIFJlc291cmNlcy9wYWdlcG9wdXBzL3N1Z2dlc3Rpb25QaWNrZXIu
Y3NzOiBBZGRlZC4KKyAgICAgICAgKC5zdWdnZXN0aW9uLWxpc3QpOgorICAgICAgICAoLnN1Z2dl
c3Rpb24tZW50cnkpOgorICAgICAgICAoLnN1Z2dlc3Rpb24tZW50cnk6Zm9jdXMpOgorICAgICAg
ICAoLnN1Z2dlc3Rpb24tZW50cnk6Zm9jdXMgLmxhYmVsKToKKyAgICAgICAgKC5zdWdnZXN0aW9u
LWVudHJ5IC5jb250ZW50KToKKyAgICAgICAgKC5zdWdnZXN0aW9uLWVudHJ5IC50aXRsZSk6Cisg
ICAgICAgICguc3VnZ2VzdGlvbi1lbnRyeSAubGFiZWwpOgorICAgICAgICAoLm1lYXN1cmluZy13
aWR0aCAuc3VnZ2VzdGlvbi1lbnRyeSAubGFiZWwpOgorICAgICAgICAoLnN1Z2dlc3Rpb24tbGlz
dCAuc2VwYXJhdG9yKToKKyAgICAgICAgKiBSZXNvdXJjZXMvcGFnZXBvcHVwcy9zdWdnZXN0aW9u
UGlja2VyLmpzOiBBZGRlZC4KKyAgICAgICAgKFN1Z2dlc3Rpb25QaWNrZXIpOgorICAgICAgICAo
U3VnZ2VzdGlvblBpY2tlci52YWxpZGF0ZUNvbmZpZyk6CisgICAgICAgIChTdWdnZXN0aW9uUGlj
a2VyLnByb3RvdHlwZS5jbGVhbnVwKTogUmVtb3ZlIGV2ZW50IGxpc3RlbmVycyB0aGF0IHdlcmUg
YWRkZWQgdG8gb3V0c2lkZSBlbGVtZW50cy4KKyAgICAgICAgKFN1Z2dlc3Rpb25QaWNrZXIucHJv
dG90eXBlLl9jcmVhdGVTdWdnZXN0aW9uRW50cnlFbGVtZW50KToKKyAgICAgICAgKFN1Z2dlc3Rp
b25QaWNrZXIucHJvdG90eXBlLl9jcmVhdGVBY3Rpb25FbnRyeUVsZW1lbnQpOgorICAgICAgICAo
U3VnZ2VzdGlvblBpY2tlci5wcm90b3R5cGUuX2xheW91dCk6CisgICAgICAgIChTdWdnZXN0aW9u
UGlja2VyLnByb3RvdHlwZS5zZWxlY3RFbnRyeSk6CisgICAgICAgIChTdWdnZXN0aW9uUGlja2Vy
LnByb3RvdHlwZS5faGFuZGxlRW50cnlDbGljayk6CisgICAgICAgIChTdWdnZXN0aW9uUGlja2Vy
LnByb3RvdHlwZS5fZmluZEZpcnN0VmlzaWJsZUVudHJ5KToKKyAgICAgICAgKFN1Z2dlc3Rpb25Q
aWNrZXIucHJvdG90eXBlLl9maW5kTGFzdFZpc2libGVFbnRyeSk6CisgICAgICAgIChTdWdnZXN0
aW9uUGlja2VyLnByb3RvdHlwZS5faGFuZGxlQm9keUtleURvd24pOiBQcmVzc2luZyBQYWdlRG93
bi9VcCBzaG91bGQgc2Nyb2xsIGJ5IG9uZSBwYWdlIGhlaWdodCBhbmQgc2VsZWN0IHRoZSBsYXN0
L2ZpcnN0IHZpc2libGUgZW50cnkuCisgICAgICAgIChTdWdnZXN0aW9uUGlja2VyLnByb3RvdHlw
ZS5faGFuZGxlRW50cnlNb3VzZU92ZXIpOgorICAgICAgICAoU3VnZ2VzdGlvblBpY2tlci5wcm90
b3R5cGUuX2hhbmRsZU1vdXNlT3V0KToKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5
cDoKKyAgICAgICAgKiBodG1sL0RhdGVJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RGF0ZUlucHV0VHlwZTo6aGFuZGxlS2V5ZG93bkV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRh
dGVJbnB1dFR5cGU6OmhhbmRsZUJsdXJFdmVudCk6IENsb3NpbmcgcG9wdXAgb24gYmx1ciBjYXVz
ZWQgY3Jhc2hlcyBpbiBsYXlvdXQgdGVzdHMgYmVjYXVzZSB0aGUgaW5wdXQgZWxlbWVudCB3YXMg
YmVpbmcgYmx1cnJlZCB3aGVuIGZvY3VzaW5nIGFuIGVudHJ5IGluIHRoZSBzdWdnZXN0aW9uIHBp
Y2tlci4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9DYWxlbmRhclBpY2tlckVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2FsZW5kYXJQaWNrZXJFbGVtZW50OjpvcGVuUG9wdXApOgorICAg
ICAgICAqIGh0bWwvc2hhZG93L0NhbGVuZGFyUGlja2VyRWxlbWVudC5oOgorICAgICAgICAoQ2Fs
ZW5kYXJQaWNrZXJFbGVtZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9EYXRlVGltZUNob29zZXIu
aDoKKyAgICAgICAgKERhdGVUaW1lQ2hvb3NlclBhcmFtZXRlcnMpOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJUaGVtZUNocm9taXVtQ29tbW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lQ2hyb21pdW1Db21tb246OnN1cHBvcnRzRGF0YUxpc3RVSSk6CisKIDIwMTItMDkt
MTggIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5AZGlnaWEuY29tPgogCiAgICAgICAg
IEZpeCBjb21waWxhdGlvbiB3aXRoIFF0IDUgb24gTWVlR28gMS4yIEhhcm1hdHRhbgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwppbmRleCA4NTFlNDM5NzYyOTk5ZWMzODVhNmQ2NzIzZTRlMDg3ZGQ5
MTRiMzc2Li45ZDJkOTFjYjNjNGM4MTlmMDY0YzRjNTAzZmQzZTY4ZWU3OWZmYWQzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA5LTE5ICBLZWlzaGkg
SGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIERhdGFsaXN0IFVJIGZvciBp
bnB1dCB0eXBlPWRhdGUgZm9yIENocm9taXVtIHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2MDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvZiB0aGUgY2hh
bmdlIHN1Y2ggYXMgYXBwcm9hY2gsIHJhdGlvbmFsZS4gUGxlYXNlIGFkZCBwZXItZnVuY3Rpb24g
ZGVzY3JpcHRpb25zIGJlbG93IChPT1BTISkuCisKKyAgICAgICAgKiBzcmMvRGF0ZVRpbWVDaG9v
c2VySW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRhdGVUaW1lQ2hvb3NlckltcGw6OndyaXRl
RG9jdW1lbnQpOgorCiAyMDEyLTA5LTE3ICBCcmlhbiBBbmRlcnNvbiAgPGJyaWFuZGVyc29uQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIEFkZCByZW5kZXJpbmcgY29tbWl0IHN0
YXRpc3RpY3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2Vi
TG9jYWxpemVkU3RyaW5nLmggYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkxv
Y2FsaXplZFN0cmluZy5oCmluZGV4IDEwMzczZjRjNmM3NjJmMzg0ZWI5MTY5OTM5YjE1ZDE3OWQ1
NTA0NTMuLjgyNGQyNDRlZmI0OWI2MDdlNTYzNjVkZWNlMzY5NWM4OGY4M2VkNjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViTG9jYWxpemVkU3RyaW5nLmgK
KysrIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJMb2NhbGl6ZWRTdHJpbmcu
aApAQCAtNzEsNiArNzEsNyBAQCBzdHJ1Y3QgV2ViTG9jYWxpemVkU3RyaW5nIHsKICAgICAgICAg
TWlzc2luZ1BsdWdpblRleHQsCiAgICAgICAgIE11bHRpcGxlRmlsZVVwbG9hZFRleHQsCiAgICAg
ICAgIE90aGVyQ29sb3JMYWJlbCwKKyAgICAgICAgT3RoZXJEYXRlTGFiZWwsCiAgICAgICAgIFJl
c2V0QnV0dG9uRGVmYXVsdExhYmVsLAogICAgICAgICBTZWFyY2hhYmxlSW5kZXhJbnRyb2R1Y3Rp
b24sCiAgICAgICAgIFNlYXJjaE1lbnVDbGVhclJlY2VudFNlYXJjaGVzVGV4dCwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1Jlc291cmNlcy9wYWdlcG9wdXBzL2NhbGVuZGFyUGlja2VyLmNz
cyBiL1NvdXJjZS9XZWJDb3JlL1Jlc291cmNlcy9wYWdlcG9wdXBzL2NhbGVuZGFyUGlja2VyLmNz
cwppbmRleCA1MThhMjVhZDE4MjMxYjQ5NzA4NGUzYWJmMTk0NjUzYWUxMDA2M2RhLi44MTMzZDcx
YjAxMmJkMmFkNGQ3NGFlZWEyNmUwMjQ2YmFhN2E2Y2Y0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9SZXNvdXJjZXMvcGFnZXBvcHVwcy9jYWxlbmRhclBpY2tlci5jc3MKKysrIGIvU291cmNl
L1dlYkNvcmUvUmVzb3VyY2VzL3BhZ2Vwb3B1cHMvY2FsZW5kYXJQaWNrZXIuY3NzCkBAIC00MCwx
NCArNDAsMTMgQEAgYm9keSB7CiAgICAgb3V0bGluZTogbm9uZTsKIH0KIAotI21haW4geworLmNh
bGVuZGFyLXBpY2tlciB7CiAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7CiAgICAgYm9yZGVy
OiBzb2xpZCAxcHggIzg4OTlhYTsKICAgICBib3gtc2hhZG93OiBpbnNldCAycHggMnB4IDJweCB3
aGl0ZSwKICAgICAgICAgaW5zZXQgLTJweCAtMnB4IDFweCByZ2JhKDAsMCwwLDAuMSk7CiAgICAg
cGFkZGluZzogNnB4OwotICAgIHdoaXRlc3BhY2U6IG5vd3JhcDsKLSAgICAvKiB3aWR0aCBpcyBy
ZXNldCBpbiB0aGUgSlMgY29kZS4gKi8KKyAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgIHdp
ZHRoOiA1MDBweDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL3Bh
Z2Vwb3B1cHMvY2FsZW5kYXJQaWNrZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJjZXMvcGFn
ZXBvcHVwcy9jYWxlbmRhclBpY2tlci5qcwppbmRleCBkZDE5MjExMDZkMDgyZTM3MTRmNTY2NmI2
NTRjMDBmMTBjYzU2ZTVlLi40NDRjYjgyYTI5ZDFhMzNhNjVlNDAyYzhjNjU2NmU0NzJhZmM2ZjY1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJjZXMvcGFnZXBvcHVwcy9jYWxlbmRh
clBpY2tlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJjZXMvcGFnZXBvcHVwcy9jYWxl
bmRhclBpY2tlci5qcwpAQCAtNzMsNyArNzMsOCBAQCB2YXIgQ2xhc3NOYW1lcyA9IHsKIHZhciBn
bG9iYWwgPSB7CiAgICAgYXJndW1lbnRzUmVjZWl2ZWQ6IGZhbHNlLAogICAgIGhhZEtleUV2ZW50
OiBmYWxzZSwKLSAgICBwYXJhbXM6IG51bGwKKyAgICBwYXJhbXM6IG51bGwsCisgICAgcGlja2Vy
OiBudWxsCiB9OwogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0yNDMsMjIgKzI0NCwyMiBAQCBmdW5jdGlvbiBo
YW5kbGVBcmd1bWVudHNUaW1lb3V0KCkgewogICogQHBhcmFtIHshT2JqZWN0fSBhcmdzCiAgKiBA
cmV0dXJuIHs/c3RyaW5nfSBBbiBlcnJvciBtZXNzYWdlLCBvciBudWxsIGlmIHRoZSBhcmd1bWVu
dCBoYXMgbm8gZXJyb3JzLgogICovCi1mdW5jdGlvbiB2YWxpZGF0ZUFyZ3VtZW50cyhhcmdzKSB7
Ci0gICAgaWYgKCFhcmdzLm1vbnRoTGFiZWxzKQorQ2FsZW5kYXJQaWNrZXIudmFsaWRhdGVDb25m
aWcgPSBmdW5jdGlvbihjb25maWcpIHsKKyAgICBpZiAoIWNvbmZpZy5tb250aExhYmVscykKICAg
ICAgICAgcmV0dXJuICJObyBtb250aExhYmVscy4iOwotICAgIGlmIChhcmdzLm1vbnRoTGFiZWxz
Lmxlbmd0aCAhPSAxMikKKyAgICBpZiAoY29uZmlnLm1vbnRoTGFiZWxzLmxlbmd0aCAhPSAxMikK
ICAgICAgICAgcmV0dXJuICJtb250aExhYmVscyBpcyBub3QgYW4gYXJyYXkgd2l0aCAxMiBlbGVt
ZW50cy4iOwotICAgIGlmICghYXJncy5kYXlMYWJlbHMpCisgICAgaWYgKCFjb25maWcuZGF5TGFi
ZWxzKQogICAgICAgICByZXR1cm4gIk5vIGRheUxhYmVscy4iOwotICAgIGlmIChhcmdzLmRheUxh
YmVscy5sZW5ndGggIT0gNykKKyAgICBpZiAoY29uZmlnLmRheUxhYmVscy5sZW5ndGggIT0gNykK
ICAgICAgICAgcmV0dXJuICJkYXlMYWJlbHMgaXMgbm90IGFuIGFycmF5IHdpdGggNyBlbGVtZW50
cy4iOwotICAgIGlmICghYXJncy5jbGVhckxhYmVsKQorICAgIGlmICghY29uZmlnLmNsZWFyTGFi
ZWwpCiAgICAgICAgIHJldHVybiAiTm8gY2xlYXJMYWJlbC4iOwotICAgIGlmICghYXJncy50b2Rh
eUxhYmVsKQorICAgIGlmICghY29uZmlnLnRvZGF5TGFiZWwpCiAgICAgICAgIHJldHVybiAiTm8g
dG9kYXlMYWJlbC4iOwotICAgIGlmIChhcmdzLndlZWtTdGFydERheSkgewotICAgICAgICBpZiAo
YXJncy53ZWVrU3RhcnREYXkgPCAwIHx8IGFyZ3Mud2Vla1N0YXJ0RGF5ID4gNikKLSAgICAgICAg
ICAgIHJldHVybiAiSW52YWxpZCB3ZWVrU3RhcnREYXk6ICIgKyBhcmdzLndlZWtTdGFydERheTsK
KyAgICBpZiAoY29uZmlnLndlZWtTdGFydERheSkgeworICAgICAgICBpZiAoY29uZmlnLndlZWtT
dGFydERheSA8IDAgfHwgY29uZmlnLndlZWtTdGFydERheSA+IDYpCisgICAgICAgICAgICByZXR1
cm4gIkludmFsaWQgd2Vla1N0YXJ0RGF5OiAiICsgY29uZmlnLndlZWtTdGFydERheTsKICAgICB9
CiAgICAgcmV0dXJuIG51bGw7CiB9CkBAIC0yNzAsMjUgKzI3MSwzOCBAQCBmdW5jdGlvbiBpbml0
aWFsaXplKGFyZ3MpIHsKICAgICB2YXIgbWFpbiA9ICQoIm1haW4iKTsKICAgICBtYWluLmNsYXNz
TGlzdC5hZGQoQ2xhc3NOYW1lcy5Ob0ZvY3VzUmluZyk7CiAKLSAgICB2YXIgZXJyb3JTdHJpbmcg
PSB2YWxpZGF0ZUFyZ3VtZW50cyhhcmdzKTsKKyAgICB2YXIgZXJyb3JTdHJpbmcgPSBDYWxlbmRh
clBpY2tlci52YWxpZGF0ZUNvbmZpZyhhcmdzKTsKKyAgICBpZiAoYXJncy5zdWdnZXN0aW9uVmFs
dWVzKQorICAgICAgICBlcnJvclN0cmluZyA9IGVycm9yU3RyaW5nIHx8IFN1Z2dlc3Rpb25QaWNr
ZXIudmFsaWRhdGVDb25maWcoYXJncykKICAgICBpZiAoZXJyb3JTdHJpbmcpIHsKICAgICAgICAg
bWFpbi50ZXh0Q29udGVudCA9ICJJbnRlcm5hbCBlcnJvcjogIiArIGVycm9yU3RyaW5nOwogICAg
ICAgICByZXNpemVXaW5kb3cobWFpbi5vZmZzZXRXaWR0aCwgbWFpbi5vZmZzZXRIZWlnaHQpOwog
ICAgIH0gZWxzZSB7CiAgICAgICAgIGdsb2JhbC5wYXJhbXMgPSBhcmdzOwotICAgICAgICBvcGVu
Q2FsZW5kYXJQaWNrZXIoKTsKKyAgICAgICAgaWYgKGdsb2JhbC5wYXJhbXMuc3VnZ2VzdGlvblZh
bHVlcyAmJiBnbG9iYWwucGFyYW1zLnN1Z2dlc3Rpb25WYWx1ZXMubGVuZ3RoKSB7CisgICAgICAg
ICAgICBvcGVuU3VnZ2VzdGlvblBpY2tlcigpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgb3BlbkNhbGVuZGFyUGlja2VyKCk7CisgICAgICAgIH0KICAgICB9CiB9CiAKLWZ1bmN0aW9u
IHJlc2V0TWFpbigpIHsKK2Z1bmN0aW9uIGNsb3NlUGlja2VyKCkgeworICAgIGlmIChnbG9iYWwu
cGlja2VyKQorICAgICAgICBnbG9iYWwucGlja2VyLmNsZWFudXAoKTsKICAgICB2YXIgbWFpbiA9
ICQoIm1haW4iKTsKICAgICBtYWluLmlubmVySFRNTCA9ICIiOwogICAgIG1haW4uY2xhc3NOYW1l
ID0gIiI7CiB9OwogCitmdW5jdGlvbiBvcGVuU3VnZ2VzdGlvblBpY2tlcigpIHsKKyAgICBjbG9z
ZVBpY2tlcigpOworICAgIGdsb2JhbC5waWNrZXIgPSBuZXcgU3VnZ2VzdGlvblBpY2tlcigkKCJt
YWluIiksIGdsb2JhbC5wYXJhbXMpOworfTsKKwogZnVuY3Rpb24gb3BlbkNhbGVuZGFyUGlja2Vy
KCkgewotICAgIHJlc2V0TWFpbigpOwotICAgIG5ldyBDYWxlbmRhclBpY2tlcigkKCJtYWluIiks
IGdsb2JhbC5wYXJhbXMpOworICAgIGNsb3NlUGlja2VyKCk7CisgICAgZ2xvYmFsLnBpY2tlciA9
IG5ldyBDYWxlbmRhclBpY2tlcigkKCJtYWluIiksIGdsb2JhbC5wYXJhbXMpOwogfTsKIAogLyoq
CkBAIC0yOTgsNiArMzEyLDcgQEAgZnVuY3Rpb24gb3BlbkNhbGVuZGFyUGlja2VyKCkgewogICov
CiBmdW5jdGlvbiBDYWxlbmRhclBpY2tlcihlbGVtZW50LCBjb25maWcpIHsKICAgICBQaWNrZXIu
Y2FsbCh0aGlzLCBlbGVtZW50LCBjb25maWcpOworICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0
LmFkZCgiY2FsZW5kYXItcGlja2VyIik7CiAgICAgLy8gV2UgYXNzdW1lIHRoaXMuX2NvbmZpZy5t
aW4gaXMgYSB2YWxpZCBkYXRlLgogICAgIHRoaXMubWluaW11bURhdGUgPSAodHlwZW9mIHRoaXMu
X2NvbmZpZy5taW4gIT09ICJ1bmRlZmluZWQiKSA/IHBhcnNlRGF0ZVN0cmluZyh0aGlzLl9jb25m
aWcubWluKSA6IENhbGVuZGFyUGlja2VyLk1pbmltdW1Qb3NzaWJsZURhdGU7CiAgICAgLy8gV2Ug
YXNzdW1lIHRoaXMuX2NvbmZpZy5tYXggaXMgYSB2YWxpZCBkYXRlLgpAQCAtMzEzLDcgKzMyOCw4
IEBAIGZ1bmN0aW9uIENhbGVuZGFyUGlja2VyKGVsZW1lbnQsIGNvbmZpZykgewogICAgICAgICBp
bml0aWFsRGF0ZSA9IHRoaXMubWF4aW11bURhdGU7CiAgICAgdGhpcy5kYXlzVGFibGUuc2VsZWN0
RGF0ZShpbml0aWFsRGF0ZSk7CiAgICAgdGhpcy5maXhXaW5kb3dTaXplKCk7Ci0gICAgZG9jdW1l
bnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgdGhpcy5faGFuZGxlQm9keUtleURv
d24uYmluZCh0aGlzKSwgZmFsc2UpOworICAgIHRoaXMuX2hhbmRsZUJvZHlLZXlEb3duQm91bmQg
PSB0aGlzLl9oYW5kbGVCb2R5S2V5RG93bi5iaW5kKHRoaXMpOworICAgIGRvY3VtZW50LmJvZHku
YWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIHRoaXMuX2hhbmRsZUJvZHlLZXlEb3duQm91bmQs
IGZhbHNlKTsKIH0KIENhbGVuZGFyUGlja2VyLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoUGlj
a2VyLnByb3RvdHlwZSk7CiAKQEAgLTMyMyw2ICszMzksMTAgQEAgQ2FsZW5kYXJQaWNrZXIuTWF4
aW11bVBvc3NpYmxlRGF0ZSA9IG5ldyBEYXRlKDg2NDAwMDAwMDAwMDAwMDAuMCk7CiAvLyBTZWUg
V2ViQ29yZS9odG1sL0RhdGVJbnB1dFR5cGUuY3BwLgogQ2FsZW5kYXJQaWNrZXIuQmFzZVN0ZXAg
PSA4NjQwMDAwMDsKIAorQ2FsZW5kYXJQaWNrZXIucHJvdG90eXBlLmNsZWFudXAgPSBmdW5jdGlv
bigpIHsKKyAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLCB0
aGlzLl9oYW5kbGVCb2R5S2V5RG93bkJvdW5kLCBmYWxzZSk7Cit9OworCiBDYWxlbmRhclBpY2tl
ci5wcm90b3R5cGUuX2xheW91dCA9IGZ1bmN0aW9uKCkgewogICAgIHRoaXMuX2VsZW1lbnQuc3R5
bGUuZGlyZWN0aW9uID0gZ2xvYmFsLnBhcmFtcy5pc1JUTCA/ICJydGwiIDogImx0ciI7CiAgICAg
dGhpcy55ZWFyTW9udGhDb250cm9sbGVyLmF0dGFjaFRvKHRoaXMuX2VsZW1lbnQpOwpAQCAtMzY1
LDEyICszODUsMTQgQEAgQ2FsZW5kYXJQaWNrZXIucHJvdG90eXBlLmZpeFdpbmRvd1NpemUgPSBm
dW5jdGlvbigpIHsKICAgICB2YXIgTWFpbkJvcmRlciA9IDE7CiAgICAgdmFyIGRlc2lyZWRCb2R5
V2lkdGggPSBtYXhFbmQgKyBNYWluUGFkZGluZyArIE1haW5Cb3JkZXI7CiAKLSAgICB2YXIgZWxl
bWVudEhlaWdodCA9IHRoaXMuX2VsZW1lbnQub2Zmc2V0SGVpZ2h0OwogICAgIHRoaXMuX2VsZW1l
bnQuc3R5bGUud2lkdGggPSAiYXV0byI7CiAgICAgZGF5c0FyZWFFbGVtZW50LnN0eWxlLndpZHRo
ID0gIjEwMCUiOwogICAgIGRheXNBcmVhRWxlbWVudC5zdHlsZS50YWJsZUxheW91dCA9ICJmaXhl
ZCI7CiAgICAgdGhpcy5fZWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKENsYXNzTmFtZXMu
WWVhck1vbnRoVXBwZXIpWzBdLnN0eWxlLmRpc3BsYXkgPSAiLXdlYmtpdC1ib3giOwogICAgIHRo
aXMuX2VsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShDbGFzc05hbWVzLk1vbnRoU2VsZWN0
b3JCb3gpWzBdLnN0eWxlLmRpc3BsYXkgPSAiYmxvY2siOworICAgIHZhciBlbGVtZW50SGVpZ2h0
ID0gdGhpcy5fZWxlbWVudC5vZmZzZXRIZWlnaHQ7CisgICAgcmVzaXplV2luZG93KGRlc2lyZWRC
b2R5V2lkdGgsIGVsZW1lbnRIZWlnaHQpOworICAgIHZhciBlbGVtZW50SGVpZ2h0ID0gdGhpcy5f
ZWxlbWVudC5vZmZzZXRIZWlnaHQ7CiAgICAgcmVzaXplV2luZG93KGRlc2lyZWRCb2R5V2lkdGgs
IGVsZW1lbnRIZWlnaHQpOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUmVzb3Vy
Y2VzL3BhZ2Vwb3B1cHMvcGlja2VyQ29tbW9uLmpzIGIvU291cmNlL1dlYkNvcmUvUmVzb3VyY2Vz
L3BhZ2Vwb3B1cHMvcGlja2VyQ29tbW9uLmpzCmluZGV4IDg1MjMzMjE2MDYxNmMxMGY0MDRjZmJk
Y2VlYjMyZTcyNDNjZjFjMzAuLjc2NWEzMzA3YTQzYjQ5OTM2ODg0OWNiYWEyZDFjMDkwMmM2ZTZj
MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Jlc291cmNlcy9wYWdlcG9wdXBzL3BpY2tl
ckNvbW1vbi5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJjZXMvcGFnZXBvcHVwcy9waWNr
ZXJDb21tb24uanMKQEAgLTEsMyArMSw0IEBACisidXNlIHN0cmljdCI7CiAvKgogICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgpAQCAtNTcs
NiArNTgsOSBAQCBmdW5jdGlvbiByZXNpemVXaW5kb3cod2lkdGgsIGhlaWdodCkgewogICAgIH0K
IH0KIAorLyoqCisgKiBAcmV0dXJuIHshbnVtYmVyfQorICovCiBmdW5jdGlvbiBnZXRTY3JvbGxi
YXJXaWR0aCgpIHsKICAgICBpZiAodHlwZW9mIHdpbmRvdy5zY3JvbGxiYXJXaWR0aCA9PT0gInVu
ZGVmaW5lZCIpIHsKICAgICAgICAgdmFyIHNjcm9sbERpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpOwpAQCAtNzIsNiArNzYsMTggQEAgZnVuY3Rpb24gZ2V0U2Nyb2xsYmFyV2lkdGgo
KSB7CiB9CiAKIC8qKgorICogQHBhcmFtIHshc3RyaW5nfSBjbGFzc05hbWUKKyAqIEByZXR1cm4g
eyFFbGVtZW50fQorICovCitOb2RlLnByb3RvdHlwZS5lbmNsb3NpbmdOb2RlT3JTZWxmV2l0aENs
YXNzID0gZnVuY3Rpb24oY2xhc3NOYW1lKQoreworICAgIGZvciAodmFyIG5vZGUgPSB0aGlzOyBu
b2RlICYmIG5vZGUgIT09IHRoaXMub3duZXJEb2N1bWVudDsgbm9kZSA9IG5vZGUucGFyZW50Tm9k
ZSkKKyAgICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IE5vZGUuRUxFTUVOVF9OT0RFICYmIG5v
ZGUuY2xhc3NMaXN0LmNvbnRhaW5zKGNsYXNzTmFtZSkpCisgICAgICAgICAgICByZXR1cm4gbm9k
ZTsKKyAgICByZXR1cm4gbnVsbDsKK307CisKKy8qKgogICogQGNvbnN0cnVjdG9yCiAgKiBAcGFy
YW0geyFFbGVtZW50fSBlbGVtZW50CiAgKiBAcGFyYW0geyFPYmplY3R9IGNvbmZpZwpAQCAtMTA0
LDMgKzEyMCw1IEBAIFBpY2tlci5wcm90b3R5cGUuaGFuZGxlQ2FuY2VsID0gZnVuY3Rpb24oKSB7
CiBQaWNrZXIucHJvdG90eXBlLmNob29zZU90aGVyQ29sb3IgPSBmdW5jdGlvbigpIHsKICAgICB3
aW5kb3cucGFnZVBvcHVwQ29udHJvbGxlci5zZXRWYWx1ZUFuZENsb3NlUG9wdXAoUGlja2VyLkFj
dGlvbnMuQ2hvb3NlT3RoZXJDb2xvciwgIiIpOwogfQorCitQaWNrZXIucHJvdG90eXBlLmNsZWFu
dXAgPSBmdW5jdGlvbigpIHt9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUmVzb3VyY2Vz
L3BhZ2Vwb3B1cHMvc3VnZ2VzdGlvblBpY2tlci5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJj
ZXMvcGFnZXBvcHVwcy9zdWdnZXN0aW9uUGlja2VyLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMmQ0MmM2N2Vi
OTU0Y2M5OGI3YTViZjM5ZjcwNDMxZTU2NDEwMTRjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvUmVzb3VyY2VzL3BhZ2Vwb3B1cHMvc3VnZ2VzdGlvblBpY2tlci5jc3MKQEAgLTAs
MCArMSw1MiBAQAorLnN1Z2dlc3Rpb24tbGlzdCB7CisgICAgbGlzdC1zdHlsZTogbm9uZTsKKyAg
ICBwYWRkaW5nOiAwOworICAgIG1hcmdpbjogMDsKKyAgICBmb250OiAtd2Via2l0LXNtYWxsLWNv
bnRyb2w7CisgICAgYm9yZGVyOiAxcHggc29saWQgIzdmOWRiOTsKKyAgICBiYWNrZ3JvdW5kLWNv
bG9yOiB3aGl0ZTsKKyAgICBvdmVyZmxvdy15OiBhdXRvOworfQorCisuc3VnZ2VzdGlvbi1lbnRy
eSB7CisgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKKyAgICBoZWlnaHQ6IDEuNzNlbTsKKyAgICBs
aW5lLWhlaWdodDogMS43M2VtOworICAgIC13ZWJraXQtc2VsZWN0OiBub25lOworICAgIGN1cnNv
cjogZGVmYXVsdDsKK30KKworLnN1Z2dlc3Rpb24tZW50cnk6Zm9jdXMgeworICAgIGJhY2tncm91
bmQtY29sb3I6ICMzODc1ZDc7CisgICAgY29sb3I6ICNmZmZmZmY7CisgICAgb3V0bGluZTogbm9u
ZTsKK30KKworLnN1Z2dlc3Rpb24tZW50cnk6Zm9jdXMgLmxhYmVsIHsKKyAgICBjb2xvcjogI2Zm
ZmZmZjsKK30KKworLnN1Z2dlc3Rpb24tZW50cnkgLmNvbnRlbnQgeworICAgIHBhZGRpbmc6IDAg
NHB4OworfQorCisuc3VnZ2VzdGlvbi1lbnRyeSAudGl0bGUgeworfQorCisuc3VnZ2VzdGlvbi1l
bnRyeSAubGFiZWwgeworICAgIHBhZGRpbmctbGVmdDogMjBweDsKKyAgICB0ZXh0LWFsaWduOiBy
aWdodDsKKyAgICBjb2xvcjogIzczNzM3MzsKKyAgICBmbG9hdDogcmlnaHQ7CisgICAgbWFyZ2lu
LXJpZ2h0OiA0cHg7Cit9CisKKy5tZWFzdXJpbmctd2lkdGggLnN1Z2dlc3Rpb24tZW50cnkgLmxh
YmVsIHsKKyAgICBmbG9hdDogbm9uZTsKKyAgICBtYXJnaW4tcmlnaHQ6IDA7Cit9CisKKy5zdWdn
ZXN0aW9uLWxpc3QgLnNlcGFyYXRvciB7CisgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2Rj
ZGM7CisgICAgaGVpZ2h0OiAwOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUmVzb3Vy
Y2VzL3BhZ2Vwb3B1cHMvc3VnZ2VzdGlvblBpY2tlci5qcyBiL1NvdXJjZS9XZWJDb3JlL1Jlc291
cmNlcy9wYWdlcG9wdXBzL3N1Z2dlc3Rpb25QaWNrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTI1NDg5ZTI0
MzZiMTUxYzhjN2M3OTEwMDJhMzkzYzdiNTJiNTNkNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1Jlc291cmNlcy9wYWdlcG9wdXBzL3N1Z2dlc3Rpb25QaWNrZXIuanMKQEAgLTAs
MCArMSwyODQgQEAKKyJ1c2Ugc3RyaWN0IjsKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvKioKKyAqIEBwYXJhbSB7IUVs
ZW1lbnR9IGVsZW1lbnQKKyAqIEBwYXJhbSB7IU9iamVjdH0gY29uZmlnCisgKi8KK2Z1bmN0aW9u
IFN1Z2dlc3Rpb25QaWNrZXIoZWxlbWVudCwgY29uZmlnKSB7CisgICAgUGlja2VyLmNhbGwodGhp
cywgZWxlbWVudCwgY29uZmlnKTsKKyAgICB0aGlzLl9pc0ZvY3VzQnlNb3VzZSA9IGZhbHNlOwor
ICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQgPSBudWxsOworICAgIHRoaXMuX2xheW91dCgpOwor
ICAgIGlmICh0aGlzLl9jb25maWcuaGlnaGxpZ2h0Rmlyc3RTdWdnZXN0aW9uRW50cnkpCisgICAg
ICAgIHRoaXMuX2VsZW1lbnQucXVlcnlTZWxlY3RvcigiLnN1Z2dlc3Rpb24tZW50cnk6Zmlyc3Qt
Y2hpbGQiKS5mb2N1cygpOworICAgIHRoaXMuX2hhbmRsZUJvZHlLZXlEb3duQm91bmQgPSB0aGlz
Ll9oYW5kbGVCb2R5S2V5RG93bi5iaW5kKHRoaXMpOworICAgIGRvY3VtZW50LmJvZHkuYWRkRXZl
bnRMaXN0ZW5lcigia2V5ZG93biIsIHRoaXMuX2hhbmRsZUJvZHlLZXlEb3duQm91bmQpOworICAg
IHRoaXMuX2VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdXQiLCB0aGlzLl9oYW5kbGVN
b3VzZU91dC5iaW5kKHRoaXMpLCBmYWxzZSk7Cit9OworU3VnZ2VzdGlvblBpY2tlci5wcm90b3R5
cGUgPSBPYmplY3QuY3JlYXRlKFBpY2tlci5wcm90b3R5cGUpOworCitTdWdnZXN0aW9uUGlja2Vy
Lk51bWJlck9mVmlzaWJsZUVudHJpZXMgPSAyMDsKKworLy8gQW4gZW50cnkgbmVlZHMgdG8gYmUg
YXQgbGVhc3QgdGhpcyBtYW55IHBpeGVscyB2aXNpYmxlIGZvciBpdCB0byBiZSBhIHZpc2libGUg
ZW50cnkuCitTdWdnZXN0aW9uUGlja2VyLlZpc2libGVFbnRyeVRocmVzaG9sZEhlaWdodCA9IDQ7
CisKK1N1Z2dlc3Rpb25QaWNrZXIudmFsaWRhdGVDb25maWcgPSBmdW5jdGlvbihjb25maWcpIHsK
KyAgICBpZiAoY29uZmlnLnNob3dPdGhlckRhdGVFbnRyeSAmJiAhY29uZmlnLm90aGVyRGF0ZUxh
YmVsKQorICAgICAgICByZXR1cm4gIk5vIG90aGVyRGF0ZUxhYmVsLiI7CisgICAgaWYgKGNvbmZp
Zy5zdWdnZXN0aW9uVmFsdWVzLmxlbmd0aCAhPT0gY29uZmlnLmxvY2FsaXplZFN1Z2dlc3Rpb25W
YWx1ZXMubGVuZ3RoKQorICAgICAgICByZXR1cm4gImxvY2FsaXplZFN1Z2dlc3Rpb25WYWx1ZXMu
bGVuZ3RoIG11c3QgZXF1YWwgc3VnZ2VzdGlvblZhbHVlcy5sZW5ndGguIjsKKyAgICBpZiAoY29u
ZmlnLnN1Z2dlc3Rpb25WYWx1ZXMubGVuZ3RoICE9PSBjb25maWcuc3VnZ2VzdGlvbkxhYmVscy5s
ZW5ndGgpCisgICAgICAgIHJldHVybiAic3VnZ2VzdGlvbkxhYmVscy5sZW5ndGggbXVzdCBlcXVh
bCBzdWdnZXN0aW9uVmFsdWVzLmxlbmd0aC4iOworICAgIGlmICh0eXBlb2YgY29uZmlnLmlucHV0
V2lkdGggPT09ICJ1bmRlZmluZWQiKQorICAgICAgICByZXR1cm4gIk5vIGlucHV0V2lkdGguIjsK
KyAgICByZXR1cm4gbnVsbDsKK307CisKK1N1Z2dlc3Rpb25QaWNrZXIucHJvdG90eXBlLmNsZWFu
dXAgPSBmdW5jdGlvbigpIHsKKyAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUV2ZW50TGlzdGVuZXIo
ImtleWRvd24iLCB0aGlzLl9oYW5kbGVCb2R5S2V5RG93bkJvdW5kLCBmYWxzZSk7Cit9OworCisv
KioKKyAqIEBwYXJhbSB7IVN0cmluZ30gdGl0bGUKKyAqIEBwYXJhbSB7IVN0cmluZ30gbGFiZWwK
KyAqIEBwYXJhbSB7IVN0cmluZ30gdmFsdWUKKyAqIEByZXR1cm4geyFFbGVtZW50fQorICovCitT
dWdnZXN0aW9uUGlja2VyLnByb3RvdHlwZS5fY3JlYXRlU3VnZ2VzdGlvbkVudHJ5RWxlbWVudCA9
IGZ1bmN0aW9uKHRpdGxlLCBsYWJlbCwgdmFsdWUpIHsKKyAgICB2YXIgZW50cnlFbGVtZW50ID0g
Y3JlYXRlRWxlbWVudCgiZGl2IiwgInN1Z2dlc3Rpb24tZW50cnkiKTsKKyAgICBlbnRyeUVsZW1l
bnQudGFiSW5kZXggPSAwOworICAgIGVudHJ5RWxlbWVudC5kYXRhc2V0LnZhbHVlID0gdmFsdWU7
CisgICAgdmFyIGNvbnRlbnQgPSBjcmVhdGVFbGVtZW50KCJzcGFuIiwgImNvbnRlbnQiKTsKKyAg
ICBlbnRyeUVsZW1lbnQuYXBwZW5kQ2hpbGQoY29udGVudCk7CisgICAgdmFyIHRpdGxlRWxlbWVu
dCA9IGNyZWF0ZUVsZW1lbnQoInNwYW4iLCAidGl0bGUiLCB0aXRsZSk7CisgICAgY29udGVudC5h
cHBlbmRDaGlsZCh0aXRsZUVsZW1lbnQpOworICAgIGlmIChsYWJlbCkgeworICAgICAgICB2YXIg
bGFiZWxFbGVtZW50ID0gY3JlYXRlRWxlbWVudCgic3BhbiIsICJsYWJlbCIsIGxhYmVsKTsKKyAg
ICAgICAgY29udGVudC5hcHBlbmRDaGlsZChsYWJlbEVsZW1lbnQpOworICAgIH0KKyAgICBlbnRy
eUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdmVyIiwgdGhpcy5faGFuZGxlRW50cnlN
b3VzZU92ZXIuYmluZCh0aGlzKSwgZmFsc2UpOworICAgIHJldHVybiBlbnRyeUVsZW1lbnQ7Cit9
OworCisvKioKKyAqIEBwYXJhbSB7IVN0cmluZ30gdGl0bGUKKyAqIEBwYXJhbSB7IVN0cmluZ30g
YWN0aW9uTmFtZQorICogQHJldHVybiB7IUVsZW1lbnR9CisgKi8KK1N1Z2dlc3Rpb25QaWNrZXIu
cHJvdG90eXBlLl9jcmVhdGVBY3Rpb25FbnRyeUVsZW1lbnQgPSBmdW5jdGlvbih0aXRsZSwgYWN0
aW9uTmFtZSkgeworICAgIHZhciBlbnRyeUVsZW1lbnQgPSBjcmVhdGVFbGVtZW50KCJkaXYiLCAi
c3VnZ2VzdGlvbi1lbnRyeSIpOworICAgIGVudHJ5RWxlbWVudC50YWJJbmRleCA9IDA7CisgICAg
ZW50cnlFbGVtZW50LmRhdGFzZXQuYWN0aW9uID0gYWN0aW9uTmFtZTsKKyAgICB2YXIgY29udGVu
dCA9IGNyZWF0ZUVsZW1lbnQoInNwYW4iLCAiY29udGVudCIpOworICAgIGVudHJ5RWxlbWVudC5h
cHBlbmRDaGlsZChjb250ZW50KTsKKyAgICB2YXIgdGl0bGVFbGVtZW50ID0gY3JlYXRlRWxlbWVu
dCgic3BhbiIsICJ0aXRsZSIsIHRpdGxlKTsKKyAgICBjb250ZW50LmFwcGVuZENoaWxkKHRpdGxl
RWxlbWVudCk7CisgICAgZW50cnlFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIs
IHRoaXMuX2hhbmRsZUVudHJ5TW91c2VPdmVyLmJpbmQodGhpcyksIGZhbHNlKTsKKyAgICByZXR1
cm4gZW50cnlFbGVtZW50OworfTsKKworU3VnZ2VzdGlvblBpY2tlci5wcm90b3R5cGUuX2xheW91
dCA9IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2NvbnRhaW5lckVsZW1lbnQgPSBjcmVhdGVFbGVt
ZW50KCJkaXYiLCAic3VnZ2VzdGlvbi1saXN0Iik7CisgICAgdGhpcy5fY29udGFpbmVyRWxlbWVu
dC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuX2hhbmRsZUVudHJ5Q2xpY2suYmluZCh0
aGlzKSwgZmFsc2UpOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5fY29uZmlnLnN1Z2dl
c3Rpb25WYWx1ZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVu
dC5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVTdWdnZXN0aW9uRW50cnlFbGVtZW50KHRoaXMuX2Nv
bmZpZy5sb2NhbGl6ZWRTdWdnZXN0aW9uVmFsdWVzW2ldLCB0aGlzLl9jb25maWcuc3VnZ2VzdGlv
bkxhYmVsc1tpXSwgdGhpcy5fY29uZmlnLnN1Z2dlc3Rpb25WYWx1ZXNbaV0pKTsKKyAgICB9Cisg
ICAgaWYgKHRoaXMuX2NvbmZpZy5zaG93T3RoZXJEYXRlRW50cnkpIHsKKyAgICAgICAgLy8gQWRk
IHNlcGFyYXRvcgorICAgICAgICB2YXIgc2VwYXJhdG9yID0gY3JlYXRlRWxlbWVudCgiZGl2Iiwg
InNlcGFyYXRvciIpOworICAgICAgICB0aGlzLl9jb250YWluZXJFbGVtZW50LmFwcGVuZENoaWxk
KHNlcGFyYXRvcik7CisKKyAgICAgICAgLy8gQWRkICJPdGhlci4uLiIgZW50cnkKKyAgICAgICAg
dmFyIG90aGVyRW50cnkgPSB0aGlzLl9jcmVhdGVBY3Rpb25FbnRyeUVsZW1lbnQodGhpcy5fY29u
ZmlnLm90aGVyRGF0ZUxhYmVsLCAib3BlbkNhbGVuZGFyUGlja2VyIik7CisgICAgICAgIHRoaXMu
X2NvbnRhaW5lckVsZW1lbnQuYXBwZW5kQ2hpbGQob3RoZXJFbnRyeSk7CisgICAgfQorICAgIHRo
aXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fY29udGFpbmVyRWxlbWVudCk7CisKKyAgICAv
LyBUbyBtZWFzdXJlIHRoZSByZXF1aXJlZCB3aWR0aCwgd2UgZmlyc3Qgc2V0IHRoZSBjbGFzcyB0
byAibWVhc3VyaW5nLXdpZHRoIiB3aGljaAorICAgIC8vIGxlZnQgYWxpZ25zIGFsbCB0aGUgY29u
dGVudCBpbmNsdWRpbmcgbGFiZWwuCisgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5jbGFzc0xp
c3QuYWRkKCJtZWFzdXJpbmctd2lkdGgiKTsKKyAgICB2YXIgbWF4Q29udGVudFdpZHRoID0gMDsK
KyAgICBpZiAodHlwZW9mIHRoaXMuX2NvbmZpZy5pbnB1dFdpZHRoID09PSAibnVtYmVyIikKKyAg
ICAgICAgbWF4Q29udGVudFdpZHRoID0gdGhpcy5fY29uZmlnLmlucHV0V2lkdGg7CisgICAgdmFy
IGNvbnRlbnRFbGVtZW50cyA9IHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuZ2V0RWxlbWVudHNCeUNs
YXNzTmFtZSgiY29udGVudCIpOworICAgIGZvciAodmFyIGk9MDsgaSA8IGNvbnRlbnRFbGVtZW50
cy5sZW5ndGg7IGkrKykgeworICAgICAgICBtYXhDb250ZW50V2lkdGggPSBNYXRoLm1heChtYXhD
b250ZW50V2lkdGgsIGNvbnRlbnRFbGVtZW50c1tpXS5vZmZzZXRXaWR0aCk7CisgICAgfQorICAg
IHZhciBMaXN0Qm9yZGVyID0gMjsKKyAgICB2YXIgZGVzaXJlZFdpbmRvd1dpZHRoID0gbWF4Q29u
dGVudFdpZHRoICsgTGlzdEJvcmRlcjsKKyAgICB2YXIgdG90YWxIZWlnaHQgPSBMaXN0Qm9yZGVy
OworICAgIHZhciBtYXhIZWlnaHQgPSAwOworICAgIHZhciBlbnRyeUNvdW50ID0gMDsKKyAgICBm
b3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuY2hpbGROb2Rlcy5sZW5n
dGg7IGkrKykgeworICAgICAgICB2YXIgbm9kZSA9IHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuY2hp
bGROb2Rlc1tpXTsKKyAgICAgICAgaWYgKG5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKCJzdWdnZXN0
aW9uLWVudHJ5IikpCisgICAgICAgICAgICBlbnRyeUNvdW50Kys7CisgICAgICAgIHRvdGFsSGVp
Z2h0ICs9IG5vZGUub2Zmc2V0SGVpZ2h0OworICAgICAgICBpZiAobWF4SGVpZ2h0ID09PSAwICYm
IGVudHJ5Q291bnQgPT0gU3VnZ2VzdGlvblBpY2tlci5OdW1iZXJPZlZpc2libGVFbnRyaWVzKQor
ICAgICAgICAgICAgbWF4SGVpZ2h0ID0gdG90YWxIZWlnaHQ7CisgICAgfQorICAgIHZhciBkZXNp
cmVkV2luZG93SGVpZ2h0ID0gdG90YWxIZWlnaHQ7CisgICAgaWYgKG1heEhlaWdodCAhPT0gMCAm
JiB0b3RhbEhlaWdodCA+IG1heEhlaWdodCkgeworICAgICAgICB0aGlzLl9jb250YWluZXJFbGVt
ZW50LnN0eWxlLm1heEhlaWdodCA9IChtYXhIZWlnaHQgLSBMaXN0Qm9yZGVyKSArICJweCI7Cisg
ICAgICAgIGRlc2lyZWRXaW5kb3dXaWR0aCArPSBnZXRTY3JvbGxiYXJXaWR0aCgpOworICAgICAg
ICBkZXNpcmVkV2luZG93SGVpZ2h0ID0gbWF4SGVpZ2h0OworICAgIH0KKyAgICB0aGlzLl9jb250
YWluZXJFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoIm1lYXN1cmluZy13aWR0aCIpOworCisgICAg
cmVzaXplV2luZG93KGRlc2lyZWRXaW5kb3dXaWR0aCwgZGVzaXJlZFdpbmRvd0hlaWdodCk7Cit9
OworCisvKioKKyAqIEBwYXJhbSB7IUVsZW1lbnR9IGVudHJ5CisgKi8KK1N1Z2dlc3Rpb25QaWNr
ZXIucHJvdG90eXBlLnNlbGVjdEVudHJ5ID0gZnVuY3Rpb24oZW50cnkpIHsKKyAgICBpZiAodHlw
ZW9mIGVudHJ5LmRhdGFzZXQudmFsdWUgIT09ICJ1bmRlZmluZWQiKSB7CisgICAgICAgIHRoaXMu
c3VibWl0VmFsdWUoZW50cnkuZGF0YXNldC52YWx1ZSk7CisgICAgfSBlbHNlIGlmIChlbnRyeS5k
YXRhc2V0LmFjdGlvbiA9PT0gIm9wZW5DYWxlbmRhclBpY2tlciIpIHsKKyAgICAgICAgb3BlbkNh
bGVuZGFyUGlja2VyKCk7CisgICAgfQorfTsKKworLyoqCisgKiBAcGFyYW0geyFFdmVudH0gZXZl
bnQKKyAqLworU3VnZ2VzdGlvblBpY2tlci5wcm90b3R5cGUuX2hhbmRsZUVudHJ5Q2xpY2sgPSBm
dW5jdGlvbihldmVudCkgeworICAgIHZhciBlbnRyeSA9IGV2ZW50LnRhcmdldC5lbmNsb3NpbmdO
b2RlT3JTZWxmV2l0aENsYXNzKCJzdWdnZXN0aW9uLWVudHJ5Iik7CisgICAgaWYgKCFlbnRyeSkK
KyAgICAgICAgcmV0dXJuOworICAgIHRoaXMuc2VsZWN0RW50cnkoZW50cnkpOworICAgIGV2ZW50
LnByZXZlbnREZWZhdWx0KCk7Cit9OworCisvKioKKyAqIEByZXR1cm4gez9FbGVtZW50fQorICov
CitTdWdnZXN0aW9uUGlja2VyLnByb3RvdHlwZS5fZmluZEZpcnN0VmlzaWJsZUVudHJ5ID0gZnVu
Y3Rpb24oKSB7CisgICAgdmFyIHNjcm9sbFRvcCA9IHRoaXMuX2NvbnRhaW5lckVsZW1lbnQuc2Ny
b2xsVG9wOworICAgIHZhciBjaGlsZE5vZGVzID0gdGhpcy5fY29udGFpbmVyRWxlbWVudC5jaGls
ZE5vZGVzOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGROb2Rlcy5sZW5ndGg7IGkrKykg
eworICAgICAgICB2YXIgbm9kZSA9IGNoaWxkTm9kZXNbaV07CisgICAgICAgIGlmIChub2RlLm5v
ZGVUeXBlICE9PSBOb2RlLkVMRU1FTlRfTk9ERSB8fCAhbm9kZS5jbGFzc0xpc3QuY29udGFpbnMo
InN1Z2dlc3Rpb24tZW50cnkiKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBpZiAo
bm9kZS5vZmZzZXRUb3AgKyBub2RlLm9mZnNldEhlaWdodCAtIHNjcm9sbFRvcCA+IFN1Z2dlc3Rp
b25QaWNrZXIuVmlzaWJsZUVudHJ5VGhyZXNob2xkSGVpZ2h0KQorICAgICAgICAgICAgcmV0dXJu
IG5vZGU7CisgICAgfQorICAgIHJldHVybiBudWxsOworfTsKKworLyoqCisgKiBAcmV0dXJuIHs/
RWxlbWVudH0KKyAqLworU3VnZ2VzdGlvblBpY2tlci5wcm90b3R5cGUuX2ZpbmRMYXN0VmlzaWJs
ZUVudHJ5ID0gZnVuY3Rpb24oKSB7CisgICAgdmFyIHNjcm9sbEJvdHRvbSA9IHRoaXMuX2NvbnRh
aW5lckVsZW1lbnQuc2Nyb2xsVG9wICsgdGhpcy5fY29udGFpbmVyRWxlbWVudC5vZmZzZXRIZWln
aHQ7CisgICAgdmFyIGNoaWxkTm9kZXMgPSB0aGlzLl9jb250YWluZXJFbGVtZW50LmNoaWxkTm9k
ZXM7CisgICAgZm9yICh2YXIgaSA9IGNoaWxkTm9kZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0p
eworICAgICAgICB2YXIgbm9kZSA9IGNoaWxkTm9kZXNbaV07CisgICAgICAgIGlmIChub2RlLm5v
ZGVUeXBlICE9PSBOb2RlLkVMRU1FTlRfTk9ERSB8fCAhbm9kZS5jbGFzc0xpc3QuY29udGFpbnMo
InN1Z2dlc3Rpb24tZW50cnkiKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBpZiAo
c2Nyb2xsQm90dG9tIC0gbm9kZS5vZmZzZXRUb3AgPiBTdWdnZXN0aW9uUGlja2VyLlZpc2libGVF
bnRyeVRocmVzaG9sZEhlaWdodCkKKyAgICAgICAgICAgIHJldHVybiBub2RlOworICAgIH0KKyAg
ICByZXR1cm4gbnVsbDsKK307CisKKy8qKgorICogQHBhcmFtIHshRXZlbnR9IGV2ZW50CisgKi8K
K1N1Z2dlc3Rpb25QaWNrZXIucHJvdG90eXBlLl9oYW5kbGVCb2R5S2V5RG93biA9IGZ1bmN0aW9u
KGV2ZW50KSB7CisgICAgdmFyIGV2ZW50SGFuZGxlZCA9IGZhbHNlOworICAgIHZhciBrZXkgPSBl
dmVudC5rZXlJZGVudGlmaWVyOworICAgIGlmIChrZXkgPT09ICJVKzAwMUIiKSB7IC8vIEVTQwor
ICAgICAgICB0aGlzLmhhbmRsZUNhbmNlbCgpOworICAgICAgICBldmVudEhhbmRsZWQgPSB0cnVl
OworICAgIH0gZWxzZSBpZiAoa2V5ID09ICJVcCIpIHsKKyAgICAgICAgaWYgKGRvY3VtZW50LmFj
dGl2ZUVsZW1lbnQgJiYgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMo
InN1Z2dlc3Rpb24tZW50cnkiKSkgeworICAgICAgICAgICAgZm9yICh2YXIgbm9kZSA9IGRvY3Vt
ZW50LmFjdGl2ZUVsZW1lbnQucHJldmlvdXNFbGVtZW50U2libGluZzsgbm9kZSAmJiBub2RlOyBu
b2RlID0gbm9kZS5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKSB7CisgICAgICAgICAgICAgICAgaWYg
KG5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKCJzdWdnZXN0aW9uLWVudHJ5IikpIHsKKyAgICAgICAg
ICAgICAgICAgICAgdGhpcy5faXNGb2N1c0J5TW91c2UgPSBmYWxzZTsKKyAgICAgICAgICAgICAg
ICAgICAgbm9kZS5mb2N1cygpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB0
aGlzLl9lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5zdWdnZXN0aW9uLWVudHJ5Omxhc3QtY2hpbGQi
KS5mb2N1cygpOworICAgICAgICB9CisgICAgICAgIGV2ZW50SGFuZGxlZCA9IHRydWU7CisgICAg
fSBlbHNlIGlmIChrZXkgPT0gIkRvd24iKSB7CisgICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVF
bGVtZW50ICYmIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJzdWdn
ZXN0aW9uLWVudHJ5IikpIHsKKyAgICAgICAgICAgIGZvciAodmFyIG5vZGUgPSBkb2N1bWVudC5h
Y3RpdmVFbGVtZW50Lm5leHRFbGVtZW50U2libGluZzsgbm9kZSAmJiBub2RlOyBub2RlID0gbm9k
ZS5uZXh0RWxlbWVudFNpYmxpbmcpIHsKKyAgICAgICAgICAgICAgICBpZiAobm9kZS5jbGFzc0xp
c3QuY29udGFpbnMoInN1Z2dlc3Rpb24tZW50cnkiKSkgeworICAgICAgICAgICAgICAgICAgICB0
aGlzLl9pc0ZvY3VzQnlNb3VzZSA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICBub2RlLmZv
Y3VzKCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQu
cXVlcnlTZWxlY3RvcigiLnN1Z2dlc3Rpb24tZW50cnk6Zmlyc3QtY2hpbGQiKS5mb2N1cygpOwor
ICAgICAgICB9CisgICAgICAgIGV2ZW50SGFuZGxlZCA9IHRydWU7CisgICAgfSBlbHNlIGlmIChr
ZXkgPT09ICJFbnRlciIpIHsKKyAgICAgICAgdGhpcy5zZWxlY3RFbnRyeShkb2N1bWVudC5hY3Rp
dmVFbGVtZW50KTsKKyAgICAgICAgZXZlbnRIYW5kbGVkID0gdHJ1ZTsKKyAgICB9IGVsc2UgaWYg
KGtleSA9PT0gIlBhZ2VVcCIpIHsKKyAgICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5zY3Jv
bGxUb3AgLT0gdGhpcy5fY29udGFpbmVyRWxlbWVudC5jbGllbnRIZWlnaHQ7CisgICAgICAgIC8v
IFNjcm9sbGluZyBjYXVzZXMgbW91c2VvdmVyIGV2ZW50IHRvIGJlIGNhbGxlZCBhbmQgdGhhdCB0
cmllcyB0byBtb3ZlIHRoZSBmb2N1cyB0b28uCisgICAgICAgIC8vIFRvIHByZXZlbnQgZmxpY2tl
cmluZyB3ZSB3b24ndCBmb2N1cyBpZiB0aGUgY3VycmVudCBmb2N1cyB3YXMgY2F1c2VkIGJ5IHRo
ZSBtb3VzZS4KKyAgICAgICAgaWYgKCF0aGlzLl9pc0ZvY3VzQnlNb3VzZSkKKyAgICAgICAgICAg
IHRoaXMuX2ZpbmRGaXJzdFZpc2libGVFbnRyeSgpLmZvY3VzKCk7CisgICAgICAgIGV2ZW50SGFu
ZGxlZCA9IHRydWU7CisgICAgfSBlbHNlIGlmIChrZXkgPT09ICJQYWdlRG93biIpIHsKKyAgICAg
ICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5zY3JvbGxUb3AgKz0gdGhpcy5fY29udGFpbmVyRWxl
bWVudC5jbGllbnRIZWlnaHQ7CisgICAgICAgIGlmICghdGhpcy5faXNGb2N1c0J5TW91c2UpCisg
ICAgICAgICAgICB0aGlzLl9maW5kTGFzdFZpc2libGVFbnRyeSgpLmZvY3VzKCk7CisgICAgICAg
IGV2ZW50SGFuZGxlZCA9IHRydWU7CisgICAgfQorICAgIGlmIChldmVudEhhbmRsZWQpCisgICAg
ICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7Cit9OworCisvKioKKyAqIEBwYXJhbSB7IUV2ZW50
fSBldmVudAorICovCitTdWdnZXN0aW9uUGlja2VyLnByb3RvdHlwZS5faGFuZGxlRW50cnlNb3Vz
ZU92ZXIgPSBmdW5jdGlvbihldmVudCkgeworICAgIHZhciBlbnRyeSA9IGV2ZW50LnRhcmdldC5l
bmNsb3NpbmdOb2RlT3JTZWxmV2l0aENsYXNzKCJzdWdnZXN0aW9uLWVudHJ5Iik7CisgICAgaWYg
KCFlbnRyeSkKKyAgICAgICAgcmV0dXJuOworICAgIHRoaXMuX2lzRm9jdXNCeU1vdXNlID0gdHJ1
ZTsKKyAgICBlbnRyeS5mb2N1cygpOworICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7Cit9Owor
CisvKioKKyAqIEBwYXJhbSB7IUV2ZW50fSBldmVudAorICovCitTdWdnZXN0aW9uUGlja2VyLnBy
b3RvdHlwZS5faGFuZGxlTW91c2VPdXQgPSBmdW5jdGlvbihldmVudCkgeworICAgIGlmICghZG9j
dW1lbnQuYWN0aXZlRWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoInN1Z2dlc3Rpb24tZW50cnki
KSkKKyAgICAgICAgcmV0dXJuOworICAgIHRoaXMuX2lzRm9jdXNCeU1vdXNlID0gZmFsc2U7Cisg
ICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk7CisgICAgZXZlbnQucHJldmVudERlZmF1
bHQoKTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3Jl
Lmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IDRiMWU0
ZGYxOTcxMTVjMTJlZDc2MjNjZjU3MTI5NDAzMzkwNTBmZTIuLjAzYWUyYzc3NDJiZDk3OGIwMTRh
NGVlZjMwODRmYjYzNjA0MjFmOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUu
Z3lwCkBAIC05NDgsNiArOTQ4LDggQEAKICAgICAgICAgICAnaW5wdXRzJzogWwogICAgICAgICAg
ICAgJy4uL1Jlc291cmNlcy9wYWdlcG9wdXBzL2NhbGVuZGFyUGlja2VyLmNzcycsCiAgICAgICAg
ICAgICAnLi4vUmVzb3VyY2VzL3BhZ2Vwb3B1cHMvY2FsZW5kYXJQaWNrZXIuanMnLAorICAgICAg
ICAgICAgJy4uL1Jlc291cmNlcy9wYWdlcG9wdXBzL3N1Z2dlc3Rpb25QaWNrZXIuY3NzJywKKyAg
ICAgICAgICAgICcuLi9SZXNvdXJjZXMvcGFnZXBvcHVwcy9zdWdnZXN0aW9uUGlja2VyLmpzJywK
ICAgICAgICAgICBdLAogICAgICAgICAgICdvdXRwdXRzJzogWwogICAgICAgICAgICAgJzwoU0hB
UkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmtpdC9DYWxlbmRhclBpY2tlci5oJywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0RhdGVJbnB1dFR5cGUuY3BwCmluZGV4IDRlOTczZGE2OTY5YjYyN2UwNzVkMDA2Njgx
MTg1Yzc2MWIxNDQzNWYuLjQ1ZDdmYzdiZjk5OTQzMGU3ZTEzNTZiNzNlMjBiYzM0MTYxZDZhMDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZUlucHV0VHlwZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9EYXRlSW5wdXRUeXBlLmNwcApAQCAtMTMzLDcgKzEzMyw3IEBA
IHZvaWQgRGF0ZUlucHV0VHlwZTo6aGFuZGxlS2V5ZG93bkV2ZW50KEtleWJvYXJkRXZlbnQqIGV2
ZW50KQogICAgICAgICByZXR1cm47CiAgICAgaWYgKGV2ZW50LT5rZXlJZGVudGlmaWVyKCkgPT0g
IkRvd24iKSB7CiAgICAgICAgIGlmIChtX3BpY2tlckVsZW1lbnQpCi0gICAgICAgICAgICBtX3Bp
Y2tlckVsZW1lbnQtPm9wZW5Qb3B1cCgpOworICAgICAgICAgICAgbV9waWNrZXJFbGVtZW50LT5v
cGVuUG9wdXAodHJ1ZSk7CiAgICAgICAgIGV2ZW50LT5zZXREZWZhdWx0SGFuZGxlZCgpOwogICAg
ICAgICByZXR1cm47CiAgICAgfQpAQCAtMTQyLDkgKzE0Miw2IEBAIHZvaWQgRGF0ZUlucHV0VHlw
ZTo6aGFuZGxlS2V5ZG93bkV2ZW50KEtleWJvYXJkRXZlbnQqIGV2ZW50KQogCiB2b2lkIERhdGVJ
bnB1dFR5cGU6OmhhbmRsZUJsdXJFdmVudCgpCiB7Ci0gICAgaWYgKG1fcGlja2VyRWxlbWVudCkK
LSAgICAgICAgbV9waWNrZXJFbGVtZW50LT5jbG9zZVBvcHVwKCk7Ci0KICAgICAvLyBSZXNldCB0
aGUgcmVuZGVyZXIgdmFsdWUsIHdoaWNoIG1pZ2h0IGJlIHVubWF0Y2hlZCB3aXRoIHRoZSBlbGVt
ZW50IHZhbHVlLgogICAgIGVsZW1lbnQoKS0+c2V0Rm9ybUNvbnRyb2xWYWx1ZU1hdGNoZXNSZW5k
ZXJlcihmYWxzZSk7CiAgICAgLy8gV2UgbmVlZCB0byByZXNldCB0aGUgcmVuZGVyZXIgdmFsdWUg
ZXhwbGljaXRseSBiZWNhdXNlIGFuIHVuYWNjZXB0YWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9zaGFkb3cvQ2FsZW5kYXJQaWNrZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0NhbGVuZGFyUGlja2VyRWxlbWVudC5jcHAKaW5kZXggMjhkNzhkMWQ1
NjI4MDAyYWU2NDE2NjNiN2M5ZTFhYWZjNDg4M2Y4ZC4uOWQ5YzBmZjEzNDg2ZjI4ZmM4MTM1N2Yx
NjMxOWFkMThiYzQyMjI4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
Q2FsZW5kYXJQaWNrZXJFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9DYWxlbmRhclBpY2tlckVsZW1lbnQuY3BwCkBAIC0zNyw3ICszNyw5IEBACiAjaW5jbHVkZSAi
Q2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcu
aCIKKyNpbmNsdWRlICJIVE1MRGF0YUxpc3RFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTElucHV0
RWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCiAjaW5jbHVkZSAiUGFn
ZS5oIgogI2luY2x1ZGUgIlJlbmRlckRldGFpbHNNYXJrZXIuaCIKIApAQCAtMTE1LDcgKzExNyw3
IEBAIHZvaWQgQ2FsZW5kYXJQaWNrZXJFbGVtZW50OjpkaWRFbmRDaG9vc2VyKCkKICAgICBtX2No
b29zZXIuY2xlYXIoKTsKIH0KIAotdm9pZCBDYWxlbmRhclBpY2tlckVsZW1lbnQ6Om9wZW5Qb3B1
cCgpCit2b2lkIENhbGVuZGFyUGlja2VyRWxlbWVudDo6b3BlblBvcHVwKGJvb2wgaGlnaGxpZ2h0
Rmlyc3RTdWdnZXN0aW9uRW50cnkpCiB7CiAgICAgaWYgKG1fY2hvb3NlcikKICAgICAgICAgcmV0
dXJuOwpAQCAtMTMzLDYgKzEzNSw3IEBAIHZvaWQgQ2FsZW5kYXJQaWNrZXJFbGVtZW50OjpvcGVu
UG9wdXAoKQogICAgIHBhcmFtZXRlcnMubWluaW11bSA9IGlucHV0LT5taW5pbXVtKCk7CiAgICAg
cGFyYW1ldGVycy5tYXhpbXVtID0gaW5wdXQtPm1heGltdW0oKTsKICAgICBwYXJhbWV0ZXJzLnJl
cXVpcmVkID0gaW5wdXQtPnJlcXVpcmVkKCk7CisgICAgcGFyYW1ldGVycy5oaWdobGlnaHRGaXJz
dFN1Z2dlc3Rpb25FbnRyeSA9IGhpZ2hsaWdodEZpcnN0U3VnZ2VzdGlvbkVudHJ5OwogICAgIERl
Y2ltYWwgc3RlcDsKICAgICBpZiAoaG9zdElucHV0KCktPmdldEFsbG93ZWRWYWx1ZVN0ZXAoJnN0
ZXApKQogICAgICAgICBwYXJhbWV0ZXJzLnN0ZXAgPSAxLjA7CkBAIC0xNDAsNyArMTQzLDE5IEBA
IHZvaWQgQ2FsZW5kYXJQaWNrZXJFbGVtZW50OjpvcGVuUG9wdXAoKQogICAgICAgICBwYXJhbWV0
ZXJzLnN0ZXAgPSBzdGVwLnRvRG91YmxlKCk7CiAgICAgcGFyYW1ldGVycy5hbmNob3JSZWN0SW5S
b290VmlldyA9IGRvY3VtZW50KCktPnZpZXcoKS0+Y29udGVudHNUb1Jvb3RWaWV3KGhvc3RJbnB1
dCgpLT5waXhlbFNuYXBwZWRCb3VuZGluZ0JveCgpKTsKICAgICBwYXJhbWV0ZXJzLmN1cnJlbnRW
YWx1ZSA9IGlucHV0LT52YWx1ZSgpOwotICAgIC8vIEZJWE1FOiBwYXJhbWV0ZXJzLnN1Z2dlc3Rp
b25WYWx1ZXMgYW5kIHN1Z2dlc3Rpb25MYWJlbHMgd2lsbCBiZSB1c2VkIHdoZW4gd2Ugc3VwcG9y
dCBkYXRhbGlzdC4KKworICAgIEhUTUxEYXRhTGlzdEVsZW1lbnQqIGRhdGFMaXN0ID0gaW5wdXQt
PmRhdGFMaXN0KCk7CisgICAgaWYgKGRhdGFMaXN0KSB7CisgICAgICAgIFJlZlB0cjxIVE1MQ29s
bGVjdGlvbj4gb3B0aW9ucyA9IGRhdGFMaXN0LT5vcHRpb25zKCk7CisgICAgICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IEhUTUxPcHRpb25FbGVtZW50KiBvcHRpb24gPSBzdGF0aWNfY2FzdDxIVE1M
T3B0aW9uRWxlbWVudCo+KG9wdGlvbnMtPml0ZW0oaSkpOyBpKyspIHsKKyAgICAgICAgICAgIGlm
ICghaW5wdXQtPmlzVmFsaWRWYWx1ZShvcHRpb24tPnZhbHVlKCkpKQorICAgICAgICAgICAgICAg
IGNvbnRpbnVlOworICAgICAgICAgICAgcGFyYW1ldGVycy5zdWdnZXN0aW9uVmFsdWVzLmFwcGVu
ZChpbnB1dC0+c2FuaXRpemVWYWx1ZShvcHRpb24tPnZhbHVlKCkpKTsKKyAgICAgICAgICAgIHBh
cmFtZXRlcnMubG9jYWxpemVkU3VnZ2VzdGlvblZhbHVlcy5hcHBlbmQoaW5wdXQtPmxvY2FsaXpl
VmFsdWUob3B0aW9uLT52YWx1ZSgpKSk7CisgICAgICAgICAgICBwYXJhbWV0ZXJzLnN1Z2dlc3Rp
b25MYWJlbHMuYXBwZW5kKG9wdGlvbi0+dmFsdWUoKSA9PSBvcHRpb24tPmxhYmVsKCkgPyBTdHJp
bmcoKSA6IG9wdGlvbi0+bGFiZWwoKSk7CisgICAgICAgIH0KKyAgICB9CisKICAgICBtX2Nob29z
ZXIgPSBjaHJvbWUtPmNsaWVudCgpLT5vcGVuRGF0ZVRpbWVDaG9vc2VyKHRoaXMsIHBhcmFtZXRl
cnMpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9DYWxlbmRh
clBpY2tlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NhbGVuZGFyUGlj
a2VyRWxlbWVudC5oCmluZGV4IGY5MDM0Nzg2NDYxNTFiZDNiYTJkYWNjZmY0Mzk2MDBjZTA5Yjdh
YWEuLjQ0YTdlMzAzZmUxMjUyN2FiZDRiMGRiY2M3NGM5MjM5OWI1OWY1ZGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NhbGVuZGFyUGlja2VyRWxlbWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NhbGVuZGFyUGlja2VyRWxlbWVudC5oCkBAIC00
Nyw3ICs0Nyw3IEBAIGNsYXNzIENhbGVuZGFyUGlja2VyRWxlbWVudCA6IHB1YmxpYyBIVE1MRGl2
RWxlbWVudCwgcHVibGljIERhdGVUaW1lQ2hvb3NlckNsaWVuCiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8Q2FsZW5kYXJQaWNrZXJFbGVtZW50PiBjcmVhdGUoRG9jdW1lbnQqKTsKICAg
ICB2aXJ0dWFsIH5DYWxlbmRhclBpY2tlckVsZW1lbnQoKTsKLSAgICB2b2lkIG9wZW5Qb3B1cCgp
OworICAgIHZvaWQgb3BlblBvcHVwKGJvb2wgaGlnaGxpZ2h0Rmlyc3RTdWdnZXN0aW9uRW50cnkg
PSBmYWxzZSk7CiAgICAgdm9pZCBjbG9zZVBvcHVwKCk7CiAgICAgdmlydHVhbCBib29sIHdpbGxS
ZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRzKCkgT1ZFUlJJREU7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0RhdGVUaW1lQ2hvb3Nlci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vRGF0ZVRpbWVDaG9vc2VyLmgKaW5kZXggNGI0M2EzMDgxYTg0N2Y4ZGQwZDU5NmMyODMw
OWRkNzFjNTJkODljNS4uMDViMzQ0MDBkOTI1MTYxZjlkY2JiOTUzZTA4ZDlhZjYzZDY0YzgxOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGF0ZVRpbWVDaG9vc2VyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRGF0ZVRpbWVDaG9vc2VyLmgKQEAgLTQxLDExICs0
MSwxMyBAQCBzdHJ1Y3QgRGF0ZVRpbWVDaG9vc2VyUGFyYW1ldGVycyB7CiAgICAgSW50UmVjdCBh
bmNob3JSZWN0SW5Sb290VmlldzsKICAgICBTdHJpbmcgY3VycmVudFZhbHVlOwogICAgIFZlY3Rv
cjxTdHJpbmc+IHN1Z2dlc3Rpb25WYWx1ZXM7CisgICAgVmVjdG9yPFN0cmluZz4gbG9jYWxpemVk
U3VnZ2VzdGlvblZhbHVlczsKICAgICBWZWN0b3I8U3RyaW5nPiBzdWdnZXN0aW9uTGFiZWxzOwog
ICAgIGRvdWJsZSBtaW5pbXVtOwogICAgIGRvdWJsZSBtYXhpbXVtOwogICAgIGRvdWJsZSBzdGVw
OwogICAgIGJvb2wgcmVxdWlyZWQ7CisgICAgYm9vbCBoaWdobGlnaHRGaXJzdFN1Z2dlc3Rpb25F
bnRyeTsKIH07CiAKIC8vIEZvciBwaWNrZXJzIGxpa2UgY29sb3IgcGlja2VycyBhbmQgZGF0ZSBw
aWNrZXJzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
Q2hyb21pdW1Db21tb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
Q2hyb21pdW1Db21tb24uY3BwCmluZGV4IDlkYmYwYmQ0NDEyNmYwZGQ2ZjlkODE0OTI0NzgyMDNj
ZmVmODVhMDMuLmE4OWQ0ZTZlOGY4Yjg2NjY3NGU0ZWMzZDdjOWYyOTFjNTc0MzdkNjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtQ29tbW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bUNv
bW1vbi5jcHAKQEAgLTM5LDYgKzM5LDkgQEAgYm9vbCBSZW5kZXJUaGVtZUNocm9taXVtQ29tbW9u
OjpzdXBwb3J0c0RhdGFMaXN0VUkoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlKQogI2lmIEVOQUJM
RShJTlBVVF9UWVBFX0NPTE9SKQogICAgICAgICB8fCB0eXBlID09IElucHV0VHlwZU5hbWVzOjpj
b2xvcigpCiAjZW5kaWYKKyNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQorICAgICAgICB8fCB0
eXBlID09IElucHV0VHlwZU5hbWVzOjpkYXRlKCkKKyNlbmRpZgogICAgICAgICB8fCB0eXBlID09
IElucHV0VHlwZU5hbWVzOjpyYW5nZSgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9EYXRlVGltZUNob29zZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0RhdGVUaW1lQ2hvb3NlckltcGwuY3BwCmluZGV4IDY5NzE4ZGNiNjMxZWQ0MmQ2
OTkyYWRjNGNkMGE4MzIzODVhZDExZmEuLmE0OWQ2ODAwNjA3MmM1ZGMxMWU0YTM3NDQ0MTQ4NDMy
OGRmOTI0NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RhdGVUaW1l
Q2hvb3NlckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0RhdGVUaW1l
Q2hvb3NlckltcGwuY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50
SW1wbC5oIgogI2luY2x1ZGUgIkRhdGVDb21wb25lbnRzLmgiCiAjaW5jbHVkZSAiRGF0ZVRpbWVD
aG9vc2VyQ2xpZW50LmgiCisjaW5jbHVkZSAiSW5wdXRUeXBlTmFtZXMuaCIKICNpbmNsdWRlICJM
YW5ndWFnZS5oIgogI2luY2x1ZGUgIkxvY2FsaXplZERhdGUuaCIKICNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgpAQCAtODcsNiArODgsNyBAQCB2b2lkIERhdGVUaW1lQ2hvb3NlckltcGw6Ondy
aXRlRG9jdW1lbnQoV2ViQ29yZTo6RG9jdW1lbnRXcml0ZXImIHdyaXRlcikKIAogICAgIGFkZFN0
cmluZygiPCFET0NUWVBFIGh0bWw+PGhlYWQ+PG1ldGEgY2hhcnNldD0nVVRGLTgnPjxzdHlsZT5c
biIsIHdyaXRlcik7CiAgICAgd3JpdGVyLmFkZERhdGEoV2ViQ29yZTo6cGlja2VyQ29tbW9uQ3Nz
LCBzaXplb2YoV2ViQ29yZTo6cGlja2VyQ29tbW9uQ3NzKSk7CisgICAgd3JpdGVyLmFkZERhdGEo
V2ViQ29yZTo6c3VnZ2VzdGlvblBpY2tlckNzcywgc2l6ZW9mKFdlYkNvcmU6OnN1Z2dlc3Rpb25Q
aWNrZXJDc3MpKTsKICAgICB3cml0ZXIuYWRkRGF0YShXZWJDb3JlOjpjYWxlbmRhclBpY2tlckNz
cywgc2l6ZW9mKFdlYkNvcmU6OmNhbGVuZGFyUGlja2VyQ3NzKSk7CiAgICAgQ1N0cmluZyBleHRy
YVN0eWxlID0gV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmRlZmF1bHRUaGVtZSgpLT5leHRyYUNhbGVu
ZGFyUGlja2VyU3R5bGVTaGVldCgpOwogICAgIGlmIChleHRyYVN0eWxlLmxlbmd0aCgpKQpAQCAt
MTA2LDkgKzEwOCwxOSBAQCB2b2lkIERhdGVUaW1lQ2hvb3NlckltcGw6OndyaXRlRG9jdW1lbnQo
V2ViQ29yZTo6RG9jdW1lbnRXcml0ZXImIHdyaXRlcikKICAgICBhZGRQcm9wZXJ0eSgiZGF5TGFi
ZWxzIiwgV2ViQ29yZTo6d2Vla0RheVNob3J0TGFiZWxzKCksIHdyaXRlcik7CiAgICAgRGlyZWN0
aW9uIGRpciA9IGRpcmVjdGlvbihXZWJDb3JlOjptb250aExhYmVscygpWzBdWzBdKTsKICAgICBh
ZGRQcm9wZXJ0eSgiaXNSVEwiLCBkaXIgPT0gUmlnaHRUb0xlZnQgfHwgZGlyID09IFJpZ2h0VG9M
ZWZ0QXJhYmljLCB3cml0ZXIpOworICAgIGlmIChtX3BhcmFtZXRlcnMuc3VnZ2VzdGlvblZhbHVl
cy5zaXplKCkpIHsKKyAgICAgICAgYWRkUHJvcGVydHkoImlucHV0V2lkdGgiLCBzdGF0aWNfY2Fz
dDx1bnNpZ25lZD4obV9wYXJhbWV0ZXJzLmFuY2hvclJlY3RJblJvb3RWaWV3LndpZHRoKCkpLCB3
cml0ZXIpOworICAgICAgICBhZGRQcm9wZXJ0eSgic3VnZ2VzdGlvblZhbHVlcyIsIG1fcGFyYW1l
dGVycy5zdWdnZXN0aW9uVmFsdWVzLCB3cml0ZXIpOworICAgICAgICBhZGRQcm9wZXJ0eSgibG9j
YWxpemVkU3VnZ2VzdGlvblZhbHVlcyIsIG1fcGFyYW1ldGVycy5sb2NhbGl6ZWRTdWdnZXN0aW9u
VmFsdWVzLCB3cml0ZXIpOworICAgICAgICBhZGRQcm9wZXJ0eSgic3VnZ2VzdGlvbkxhYmVscyIs
IG1fcGFyYW1ldGVycy5zdWdnZXN0aW9uTGFiZWxzLCB3cml0ZXIpOworICAgICAgICBhZGRQcm9w
ZXJ0eSgic2hvd090aGVyRGF0ZUVudHJ5IiwgbV9wYXJhbWV0ZXJzLnR5cGUgPT0gV2ViQ29yZTo6
SW5wdXRUeXBlTmFtZXM6OmRhdGUoKSwgd3JpdGVyKTsKKyAgICAgICAgYWRkUHJvcGVydHkoIm90
aGVyRGF0ZUxhYmVsIiwgUGxhdGZvcm06OmN1cnJlbnQoKS0+cXVlcnlMb2NhbGl6ZWRTdHJpbmco
V2ViTG9jYWxpemVkU3RyaW5nOjpPdGhlckRhdGVMYWJlbCksIHdyaXRlcik7CisgICAgICAgIGFk
ZFByb3BlcnR5KCJoaWdobGlnaHRGaXJzdFN1Z2dlc3Rpb25FbnRyeSIsIG1fcGFyYW1ldGVycy5o
aWdobGlnaHRGaXJzdFN1Z2dlc3Rpb25FbnRyeSwgd3JpdGVyKTsKKyAgICB9CiAgICAgYWRkU3Ry
aW5nKCJ9XG4iLCB3cml0ZXIpOwogCiAgICAgd3JpdGVyLmFkZERhdGEoV2ViQ29yZTo6cGlja2Vy
Q29tbW9uSnMsIHNpemVvZihXZWJDb3JlOjpwaWNrZXJDb21tb25KcykpOworICAgIHdyaXRlci5h
ZGREYXRhKFdlYkNvcmU6OnN1Z2dlc3Rpb25QaWNrZXJKcywgc2l6ZW9mKFdlYkNvcmU6OnN1Z2dl
c3Rpb25QaWNrZXJKcykpOwogICAgIHdyaXRlci5hZGREYXRhKFdlYkNvcmU6OmNhbGVuZGFyUGlj
a2VySnMsIHNpemVvZihXZWJDb3JlOjpjYWxlbmRhclBpY2tlckpzKSk7CiAgICAgYWRkU3RyaW5n
KCI8L3NjcmlwdD48L2JvZHk+XG4iLCB3cml0ZXIpOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDBlOTk5NzBmODRmOTE2
MjhjZDNiZTA4NmQ0OGJiZjJjOGZmZjQ2YmMuLjE0NjdjYTliNWVhMmYzNGRlMTI3YTA1ZmRhMjc2
MjVlYmIwZTEyMGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0wOS0xOSAgS2Vpc2hpIEhh
dHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KKworICAgICAgICBEYXRhbGlzdCBVSSBmb3IgaW5w
dXQgdHlwZT1kYXRlIGZvciBDaHJvbWl1bSBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbWFjL3BsYXRmb3JtL2No
cm9taXVtL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2VyLWFwcGVhcmFuY2Ut
ZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zv
cm1zL2RhdGUvZGF0ZS1zdWdnZXN0aW9uLXBpY2tlci1hcHBlYXJhbmNlLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9mb3Jtcy9kYXRlL2RhdGUt
c3VnZ2VzdGlvbi1waWNrZXItYXBwZWFyYW5jZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1zdWdnZXN0aW9uLXBpY2tlci1rZXkt
b3BlcmF0aW9ucy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2VyLWtleS1vcGVyYXRpb25z
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvZGF0
ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2VyLW1vdXNlLW9wZXJhdGlvbnMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1z
dWdnZXN0aW9uLXBpY2tlci1tb3VzZS1vcGVyYXRpb25zLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA5
LTE0ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogW0V4dGVuc2lvbnMgQVBJXSBleHBsaWNpdGx5IG1hbmFnZSBleHRlbnNpb24g
YXVkaXQgcHJvZ3Jlc3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
LW1hYy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1zdWdnZXN0aW9uLXBp
Y2tlci1hcHBlYXJhbmNlLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtLW1hYy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1zdWdnZXN0aW9u
LXBpY2tlci1hcHBlYXJhbmNlLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjkzMDE5NDE5ODc3
YmJiNWNiZTZlZDY1MzdkMTUzM2YwMmI3ZmU1CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyMTkx
Nwp6Y21lSHZjVGBqOSk7SD1QcW9gTyQ1dE9EQm04UjA5MkQ8P1REVDM2ZkFYUHg9OW1laWhLemF3
SU9OcjhKcTlXM0oKemlQVjV9TFdqXm9sNVphenIoSXs+blMxYTEkRzZyeUUzPVQyYjU1U34/N2U/
d0BBSyVRJUd1MnUqKjd2VUZsPEpqCnpKRWhMUnUjVEk3VmVSR2IqVFlaMzlCPCEqRjkrPlVVJCE/
Z3lLWkRAPVV+TmYtQU1CNF8zS0JCIzNUKyZpNVZSfAp6WTljOHVlJEBEdyNNTDg0OyRueDc5XipR
NFFKYUIqbipufDV4VGJUJlNlSilwQ3BuVCVCYH5tXkpOSkVQI1RDQ3QKek5pa15nTCZyWWBlUjk9
RShuI1hqU3ZCI29EeFQwe3tYKDNsdHZ0RH5WPnx+SHhBI05aNFYmJFNENT5IY0RNOT9lCnojcjZY
fj5ZQi0+bURYRlYrYSktWEBjaDdtNH5peS0qUDg2K3d4ZDI1KUZAKzk9ZVA0dXN3PFAwN2EtT1JR
UytEaAp6c2Rze2picWtOKms7dHgkQEY1dEVZO300Z2g1VnozZFdUXnhlQzBPem8qVmk4K1dtaj5F
JnRVUV9nR0xYdVEjbmYKekRaWCU5Kl8lTFdMREJrOWhHU042czIrS1hjV2FFTktiSWFsYU53ZjV5
U3c8cG95VFVAKSsjOUtoXnB3a0I+Y3FgCnpYSEV+cGMyP0hKb3F9NUIqV1I0NkwqK2dFYDA/V3B0
WXloXkBhdDFgeDRxaCpgMW9rNnRFPER8OX02OGtfKCh0Pgp6ZSh+QFhCaCVKeXkwY2Rna3F5M1df
QFF4IUA4ZnRwOXdSMHUjJWVgZipiKElvS2pzZUd3WCZzTEhhamI7LTF6ODAKelFQRGJycT1aRUx7
Smk3IT4ofFl4JWo5aXNGfXhob3d4X2ZXOTBHUjw+eCRjNEBiYmIzaURKXlRFZVZ3KV9MYVJpCno0
QGdWdip4QWBCb2pYXjVKPWg+Jms0PSU8aDdHTGxSaTMxe2dvSWJJdV93OHghKUxTSW11JTZFO1dv
SHIoPHFsUwp6VCRFMmBCOUZOR1FJeGhpaXpgPlMmNEBIQUJgXz9FeV5tdUp2ZjNoWCFTJSRFciY4
VlomQ0xPUnt7RFJFSjlxOX0KenJGKUJfdCpvcEhzUGk0IUhgKzI3ZU8jenlMYmkzNjRBSjQqd1Ut
TENYJitfM2d2M1BoU1ozV1EwWitAdVRxKVEoCnopVCl6Wl9XWT1yNzxweTNqYFUxKyFrM3BrSCtN
aSptZzR0NG10VTN4TnZxM2FwPS12cSptSy0jIU8yVT9YMGVDUQp6OSt1XmwjJTElWEhETUMkP0Nn
ISUxVmNmekU0ZjhHK20mcEFwfkVHNEUpKXtZRWk5QyNyPkVQcSU+QXt9Ym90UHUKeiFeOER0MHRR
UT9kRGhnezl1ZzJaOCpKYmh4PWYpc0VZRiM5JFQ/cTMoWipfTlgkQTNDNEFfb0BubnEyaCRQZGtw
CnpHe0xma0VObm8tMlN+QCRUJlhLVnNOa2xOZlZMYTBjNklXSlFiYyErJSpAUjgqSGBiUDd0SlY5
PVgzRmFFZnleVQp6ITU5Jj1qTyQhZGtzKCZ9UTt9V2QoPitxSmlpLXtRQDgzVjtFTyhVc0RVSzJ5
NXooQWtyO3lVdHJqdXErczZ7WXYKemlybHBSaiFNTF83Yk9vXnNge3FRVjg7fjwxbkM5JWBvO3Vm
SmFyT1BBeyQ0VjUobFE4P0o0OEE0YHg7T2tLQUNXCnpzSC1FP2RDfX1KZEtNUDFJOT5YbXphQnpq
VDskWWMoSEVGb3I5MFg4P2hXOVRqI0xyVyVjJk9xdTR3Vnw8QVNrXwp6czx+KyZGTVlXMyVxPCk7
e2lOYCl1Kk5xPVd5biEyVkxRcCNfQ0ppdkxeVFdXXk4qaDdUSnt4bktpNjAjaXI7KEQKenQjLVB2
akN4ITNGdXk8Z0Z7QH1SWT9YcyhVQSQrcCFnN1BwPXNLPU4/PTQma0xnPntLRyVBWk9lY1VWV3Ml
aERwCno4dE4yemB0aCFqV2ZHUCFUWmg4M1YlKmkqK1MpdTlhR3E0eHdzQStlSShWVmdtNlUhYFNt
fFhVOEY1aVVVP0krJgp6SW0zJkZJQjtEVzJvNE1sV3FVcSN0OUhNUyt+PFc7Z1lUSFE8UiUqZzRO
b3ZKRmVyKShBTV5mQkhaMFNrPDxKRkgKelJUOG96MStoZ2g7cn5YMChfbDUqKDxlYGNEK1JGdUAy
PmNeLU8kcTRrQzxlLWcpU0lMMm9ER2VOZ0FqTUNaKitlCnolUzxqMHJFc3ZaTyozek49VWktOVEm
WTNGd2xVKitSbGpZJXhReHRiX35jQkxDfUQ5aUZDaWhwe199P28hYTVuSgp6bCFIYSZDdUtySUw7
ZDFYKGhIUTdnTV85RjdqXzchM0BfbTYjZDRmSmEzNlVfI3pnSFMhbyE7XnZCbXM4V3FuU2YKelN9
Qip6JkNRMzNlSig9aWohZT5ObE9Bcko1VCEwOD5EIVJieXY7VX01LTszJjdYITwhRk4kQnVJQ0oo
YUhFSyhRCnp3QX5yZytLNmUma0NGLXNoN2lZfGVKNkRVTC1PO2JCTmFUX01HdCh9WFBlKFk/SG12
bV9BMG1BUmU1fVQrJXtpZAp6X3N6OT9TYmlSITxDY1c8N0d5end7QmFFPz8tKV5Me2hpfjsjVEdO
fE41ajRpaTtRZDtaQW8hfU1ZZTI4eEtReDwKekNxWjdjWHdsVHxEN09ofEszPzkld047cGN2WVFA
RFJoWlZ3S3RYY1hxXkghTyo+JGtSbjBMMUIqZzcoSEJzSkwzCno2YGk3JEhiWXE+MUUrJSFZSzNq
VzdiJE4kOzhANXk3dkI4ek9zcTxATFVEfTgoYFYwVXJIU2h+ZWE9MiQ7YzUtawp6SGNYQ0o0entx
aipRXlE+WmZlb1NxYEB3IUFkIzAxbmBfSTw+KSpjaFIqOH4zbjl7PURDfVRzVXxGbCFrZXpmXnUK
em50cn56cG16RWtXM1Y+SDt9UX14amc1YD1hR1VYcHlNJlhJbFAlMjZiP09eTGUkSmNrbXAyQ1No
U3IjTElybHlGCnpNNVJYQ2pie15INiZDNz03U0grZDNrWVBKSHpoRHF3UGA2Pm9Help5SDVte1pu
IUlfQldKSW9gdkdKKnFrJiFqeQp6Ty0pVSVxc2ZXPVdZP1dzVC1kb2VkIWp5VT0hVntzMmpyJGBu
a0psMzd3NFk4eXU2JWMtbyVldytsQ0RyR0lZfkMKejd2elhDdmxUVHBtejxuKDRQNkZ5NjAxZyNZ
Zlo7M1RUbG4zQFhzNX1ucU9UP3VeOzwlZ3M0MihrWDY1K3Z8Njx1CnpeNTBwQUIkYEUqXzQlT0VS
b3lARDtQR0h6aCFgMCRYTTZoNV90fGJwVDlzRTB1YXY1YEpLRWNxVGp5Znhye2ZfcQp6Z210c1pv
JURyWkBlUSVzc0hGOzNCJDZve3hkcnRPdW8xVSEtQGZBY0l5eTQpbERtNW0jRlkoOEBhOyNCSHBu
bWEKemAhOUZrc1U0NHRjZiNFKUkodmAkb2lXZSQ5WG4yUFg4SUJaS0VyK3I0UnZgcHNTLWhYaFl9
SH5iQEQxSEROI35VCnpuUD13ZU8qSWx7VSlTRjRYJW5vcGM8Z315SEB5RjAwd2FeSl43TCUjbk9I
VHJHWStTUV5hfngrVEdJe29rUjMhVwp6MSVKa2khNT8rWUY0bEZ5U0I3aSthbTJnYlpFYjk2OT59
LU9UJGlWbWhnPDBBI2tjUC1kNDJTSmxNNnJlUj0jKm4KelJaKWchKzhoMCV2ezI5Sm8qSlpgVGVv
ZjwtTXRBQ3ZoVFlxUSpLeDNvc0Bsc1NpKndyMSZHWTctMFgjRykqU0hHCno7S1NXKHBoeiluNzVp
PjBkfF4xVXFqOCYxNWs2QUpLfWpXMVc1PHBpZXNSc3NubVIoZTteWDQ8YHktS2gpXihmVgp6SGx3
dHxYdSRwWl93QXQ/NURVM3RWYElaMEd3IyZaZXtzRGskZV5EQzs2K2F0X3FEVUhjYWBxUmBuMD1V
Xm9fRjQKemNDSHpqZ09BdGM/JlQ2bFF7cSFidDYjMFBQMUQ9NFkhZ0xTaFYyVSpCLXdqRElyLXF6
ciV6QTIlZnEhNE4hX0RyCnpQK1RxajRveGFHSVJwIWdjdV5Nfk1vRylEVTdUJWApd2J2JW5eUnw0
T25vTGF5OHt6Z0Z1OXU2YiE9MT0oVmNJJgp6JFBFPm9Fe2FrfW9sY2UoTW43ck4mUGkrZFNtaSZM
aUlYQ3l0JjdESylWYlRvRTcrRENFbWx5NyYxeWNxb0dYQ1EKekNSUWJ1NnNMdHlofCV+SCQ7eTJA
WjRSNF9TRHRueSRESzdUWTg+N3ApfUI0dCFkVTA7UkMzZyUqcE87JkVjMjJnCno+b0Q1UE5KZl49
aFNpWmxkaXZ1Tit9el5wUVBsT3crYClBdUtlQ3RTXz4ySytYPjU8e2UwaUs+WFcqX1omJGlGVQp6
Z255RFViR0swTz5rcE5Xd2MkQVMhbHh0MTY4KTBDITxVTEBCWTRxUDsme3pUT3pMRT5wKX0xRmRm
Xm47QygpZmQKej0/VndYTipBNkhIMFVJRGs1UTZubTMoRmxyZVhVSVA5TXs1K3tqNHplZEp5aUlv
O3o+PnxVZ3dlREFLNnoqe35wCno5aDtqX3g3Y25kS2wxJGcodSVVeiVgU0U3VjBtPE9UeS1zYWV8
bCg0Y0F0JE4pY0A0OyR8cTUrV2IyIWdSe1MyZQp6dm00UWt2dGB8bGAmRW41TjclNF95ViZPOUBy
RyQ2NWxyZTsham05PXMmcWAzYC1LZEpORUB3NktqKXtvQlBtfHkKemRzX3B8JnkwN3doRXtVUD97
Uip6VkxmJG5Uemh6eXU4PWdNZHwoUSR0ZiU8a1htb0chXiU4YVkqfE43ckl6ekwpCnpxQGVaa2xA
MUNZenFfTGxuNSV4bEFSVnYyQjlpR154e3BlSnB0YnM1M1QtP2pOYVVIbk1ebEBxWUZsUW9waDlo
bwp6ODwldX5tKW1DdFZNKkZqXmp1KHJJa2paTHUhJV9Qc0c2eHZWWmp0P2RiIXNLU0l3TlJ0aThN
c1UwSjhwQVNqVHEKemZlV3RTO2lEdWJVdTJVb28mMjhyKjd9MmU4SztXdi1Gd1NpO2M4bX5iOys0
VGR+KTxXJlZ7Rj1Dfm0tMXhYSkVwCnpxV0p0XllKekV6WlBEUXVFMilgbGBoelRrTUBMdSVgYXtY
MWZvZVg2dlAobTs+UENxcypZJUMtSVM4VH11cDA2NAp6QjdPd0haMkg5SnVJcVh0PW1OQH1XWV5E
YVFYLVdldDJqe0wpdFYwPlNBNjtTaitmTi1scUtISXBSTyFqRjZudVgKeisyYFpxS2RPfUdJPEts
UlMmXykpN2h3RnYtKm1vQ14/LT48djY4PDFlNik0VlBwODlOSkVuN1RKRW1fdiM7cCk2Cno/YzQz
bmxvMXs4cmN2dDtkaTNBRlVaQ0xkTW1ee1E+N0k3Q2h2K3lJb3UwMFB1aCNHbWpxPUlOSFJ8eV5V
OD5Lbgp6bnljbSMqcmlXVF9ESyFrckIzeFlwQ2M4OEE2dz1SQERDTC1kZiEmSm11TmUjRV5UOz41
O3YzfHRGY180dCRoOVAKenhzaEc1PXtvLVhkeEQqZWUhQHs2YDtXNFBffXg7QXV2d1gmVytVVEFU
ZWF6fXVMTHxQLUJkUj89aTdMSnZFWHt0CnpZWjBBaihib3NNdH5DPWA0SERjV3V+USFSTW9TMUhP
Pzk0Smk7cjNoKUtpWFheQm9kKWMjYlAxRFMxcT8zWHR2VAp6WkFROHxEWnlyI01FWWRsSWkybFQ4
XyMqJHdEYWhUP2goaF53MXBjYClFPGRRWENvfnFZbyFNRXJoTmBfY0BSSkQKemMzTzFwa35jU1BO
UGYwc0FGXkRUNX1JZEpMJkkjTjh5NVJoPVgwV3xLVFB9QTthKUlKPSk/PXFtbj1CZzk3JXg8CnpD
QHVxditDcllpV2FqQThXTkNSUGRuRy1UQDFaaGc4fDA+TGt6MlM9OF5DSWxrfnRNI0ZoZ1Nmdl9h
TmVaWHhsWQp6ezZnWWUldFptVGw+VkVgbl5sV0E+dUdnI2lNPzZmN0tVK2VxKWUmTF84QEdhV343
UGUkflBSY3AhPjwkJFUtSFkKei1zYG90b3krQygtVEFEaTdIWVNUYCYtalJlO1F4KjtlbmhxT0tB
K0ByQUF7NHYqQHtmd3NwPH1XRjtiezZpdktyCnpibyk0ZHJRfms2OUxMSnlGNCh3Ukg+PTZzNCRM
XkZxQURrd0YyPmBvZV41ZjJDaHJrJk5XVXI1NUk7NVRJSnQ+eQp6Q31LV2hHbmUxVyQ4TlhxTX0w
cyg4Nk1gcGpgcHF8cyViS3Y+bSVOc2NaakYpSTBaUH4kcmFsakMlUTZ9OyExdG0Kel9IIXwtSjRG
Pk0lQTBkOC1zZ0A0PlB2MktfYD5pbyljNHNIPkw1bnlscUZaKmhyUDElLUxDbWE3ek05aWckb1Ex
CnorMTdwIS0rRzdlYypCPXB6a1BJPkF2N3dnd1pGZ3JIaT9PZU5rVTRCd1VIZjR0d153N2pFQUc2
NzchbnY4aWI4PAp6JiVmV29FaVclJFN5dlphZGhLfmhAQXRZSTFfbyhDTEElaDY4bWpXfnIxVjBT
MSk+KXxCT195T0lNISE5aGt0TnoKelZuYyUoeTc5d0B5RldkQ2RfN3pEbEFheihUVSRkVEhYPnMw
Y3hTIV8wT2lycShUeGoxZ0pnS2VYenY1QSl7YHZxCnphaVo/TSUmKUxtTEoxMmh3VCNuRSRpZm9n
ekxSYGM+SEtxbVFzNUZ2ME5fRyU2RVpWM0U/djZoN3VWVVRVcCkxbQp6OERXNDh2MWJGciEmQjxx
MmdQKVlvWm56US1RRCM4bEwwWEdpfkkyNWwhVW5XRm9qNlJAJD5WcTQ1bFh+KW9iSHMKemNBXmBk
YUkrak9FaUVJLWlCVElEYSZFVzNGP3pzalpmbU8hS1lSNyttMHlGfGxTKkI8Z3R1O0xwVm9aMV85
aTBOCnozb3VrZ01USFU/e2hULUxAfCpWcikxI3J7TX49SnpHPXBib1ktbzZLYH1TSTVjN3ZIRjBS
OCU8eF9kdk1rQX5PYQp6NjhUdzZucDlDfmNiSGd8e0QyYykoJF5QP1pBY281YSNJbWRpS3c1TyVM
MHkoTit1Q1Z0JEg/Pj9DZGZEVEJmT2IKeiZpTCEqVDZiWTBgaGVhTWt+ST5NNSpgPkZvYnV3dUAh
VCVRYUw/KC1uNTRZQyVMcWZCcENuPWQzIUB1X2IzMCRrCnpQVU18TDc7WnBCTTU+OzN7JU0zYCNy
aTBgc2BIJUJSOG0lTUxpaEBScjdwKH5FN2w+PSZCeilIcyhFY0YxfTNNTQp6YjdNcE1MZUN3UlM2
TnZJNWNDe3ArT3FlZW53cmA8UWVLeUozeFF5e0Z3dzxZTTdXdSFGQ3NyJUVyelRaWnQ5LXMKekZm
ZEEyK1J+N1I4ejReNCNNRCRGWTc+Zzs0O1pxIXR1NDlFVzVOeiQmbjtiRCNYWnYyYDIpTSlWXkJ0
ISowMFpVCnpUZCs+VTswLS1JSlA9c0lpa283KnFAeyhSUy0+PDEkWSZOVTt6ckIzRlRNdVFfaVY1
OUtKQDdMYypgWWlnUGtQMgp6MndaclA+Uz1sSnRuNiZZJkQ7X2E1O0M0RSZUbENAZkp9QHxQSEpt
dXdjYU0mRWJLYVRATClyWlJmbmRvRjhoM3gKej1xVV4pSXo0fW9UXk5KWTJVd0AwcWNjaCgmNX5f
OF5WQTZYYzJBJDJpNDc3bGM7KHxjN21NdHAkJUZNTGhSVW19Cno9a3lqMzJJdUdKPWlabEBrenAq
KDlfWil5KHQqQEVmLW9iNT04dlhlRUJtSUNLO35kJVdKRVlKQzt9M2FrX29faQp6PGtvd2dnbGtt
e1NvZzRGeW1lfm89M0FCOzJNMzRjNS13VXlMSU9WQD9fJV4/Uz84JTNOdF5EWDl0amZANkhSc1gK
emVUN309bHUwfmw5fGdDUykyRDNHNUQ+NHBuQW5hNlg7NT9DaFVEaEQkWi1OaEs1KFQ3UCZiMCtm
TD5kSUc5VmQjCno7cEVBYXVHNktnNG5QYTtYUHQhO2JNSUIjJSlSQm9OZiNGdlBiJmloZ0psNWck
eV9Udk9oNVZmdTxVTVhaUWEjNAp6b3dCXl9pZiY5ZEQxNl4+QkxxVE97UDV1ejtQMyNUSTI3RDNP
TGFSTm9nZDFaezx3IStoTjd1S25nOS1xZThAPzMKejxOZUtoPUtQfnFQTFQqJD9HcTwlcilzNmgk
akZATi1WWjA8YHQwPyhiRWMrPUh6ZFBkLVB8QiM8S01xT2Z4KjEpCnopNHApdzB5YEkxYUVuRD9n
fFQwU0Z+WmN7c3Fhb2ExX2AzWnF6VUlpWTV3JFNtP0ZBM0ctIThoRkRfcnd4XndyMAp6dXp+TlQ2
cz8wfFZqOVRld0coanNpQX5BaikmJk8+Pl5razZGNClSTXk3b1VtdEVzSj5ffmdsXkd7YSl1I3h7
bn0KencpeVR9Q3trLSRRKzQkZGtUTlFMPWFGbzl4MUAqY1RGaVZmbH4kKCQqcXBQbUtVfnNFVH4k
QEpVViE3PnJjSWxZCnpVY0ZMTVJhaTFVTjc3ZTxgeW5uWE9Jbzt1eTxCJC1BYG5eaTklc0QrJnAy
Zkh7VlU/fkB7WH0+VEYpVjRmNm1YSAp6Jj1+RkcxeHEkQ0lBe1M8bnVkbChkcT99ODg5SXtacilY
UX1PYFY1OylvTDBWOyhEZmQmXytmXnVUb1E9djw2K2YKeio2e01RPWoydVdDKGBkWHB4fCM2I1pM
PStobihsUEJJNHhaal55WCh0RjxGaD5hQmRkOEMzJHNqKTdybHQwTUJ7CnohPV5SZyE1Nzhxenk5
YD1rb1MzMlJaQ2wyK2pyUyNlSz1iblo9U09STmchVzgtRnFKSF41IWpEP3UpYStmeEpJNAp6JVgm
a3VKJUI9Q2MwRTQ1PC12WmwzbDB3MXkxS2YmWGpLJDclZXI4TS0oeTQ+KH0pTzhIZVFzRDw3TkU9
MUxuWVgKentnNXA5YFNVZk1HXzk3Xyo1I0kjPUg+JCtNYWVvJVhnV0lQNmNpTV5GWGx0OFNaJXVf
MTZveTg4PEpjYFg2OGBaCnokazxwd212dH5ObDhsZ2BnYGVYVmlZR0BiRiUoQHpEeVMwPl9kdGV1
KFReVEl2TUA4ZDI9U19EYl43IUBCKHQ9KQp6enY3VH1PaUU3fD5DezZpI2E2eHp5KChBVVQoMGR2
OVg8Tjh6dXk+YCZeYlJ+aHVGemRSIW5va2g0OGY+P2R8UTgKelZxKUdwU3dSRnBmNDxHMFgyKX5k
dWk3TVlHSTt+P2BJU3xoRigrKG5ZelJUWmRNb1htWmV2SGYrLUdaK2RzKTFhCnpLPkdBUEB7TWVH
YnNTa2Eja29ebzY0N19RTmFCOCNvWko5WCVpTV5uUzNBfVFfNXpoa3Qqb3Jub25wN24pI0t5aQp6
WXRPTD9oZzdeaiF2QH5WQFNKc2lUazducyFZKzFCUEF3Q1kxUGxkS2lBJEYrQyY3KE0pNSR6al9L
YWhlPEJpTlcKelFpTVVGPDdzPDNhKlRhfnVUJk5IWmgwXj5HcWNoVGByS3E0UCtRI3Nge2RTQ29q
eXpXazlsUEFsN35rej89fVZhCnpZajM5P3wxMzBwUF8jVmp5eCNSKUFPc2RIYmkweDNQcUd8NWMo
OClOQzZzazZRbDsmTjxha0d9RHAwP1N3aX0+UQp6YHRkXkl0PzBjOERzRn1HUVMtaSFQa1h6IUJX
RjBVZiUxSiZtLVR8andTfnhuIW9xQ1JJIT01fVcyNUBjb2pXVD0Kej9BUHpEVmMpJm14NWF8WSUt
aCg4KXE/OyFGdzczQ2JhampxLW1OSGZkWW9meGE4Pi13akJST0k4UGk7UkxjJD85CnpRSDtscDh8
TVE5MH5ee2AmKyVCdVYkQkNRRGBrRzE9UDQpP1BhQ2JfJT8kYipVKChuTmskKVh+ITAtP0JiTip7
PAp6ajlwIUl7ciZ4KWhsdzEoNShJOypjR2ZHJSVCSCt+X2J3P04yfDtmNnQ0ekw4UUplIXFMc2kk
X2w9dDVKRS1nN2QKelR9eFR7RigjWnF4XihzRzNrN25yRCZzJUZLKihqRExWc0dyRD0lKlY4ZUxe
PVpQWTVsYVYrZUBqKn5GLWc4TDYxCnorLWRka0BkNVNwZlV4aWRLU2JpWWV9NnIhMCVObjVyZStj
cnREMlVVaEUhcXpScXlsbUFPfiN0IUk5ejNXZyEzYAp6di0zVnJvKitePSsoVFNXY2VmenxxZDty
aUIkRUlWSW4qa2dCfHdvVVBvQmhONTFzZjQoVXBpQUpDSCpKTTx3QyEKemM2V0VEZ1VZJj9vfHVy
SnNpbD5HUjFHQzFySHdMIVorfjJPPStMMiE8e1lebFg7M0BIeU5oTDBzbU5NQ2l+fDBhCnpsT3Ve
fFB9azgoUFNlWGgxUjc0NjQ7UGBvS013VDZVUSU+O3hDVXRYUC1KISQtUn5JSkxaY3IrY317PlJl
PmowNAp6U0gqdGJRK0JwKyp4dWYmKkcpezgrZHIwLUE/NVd8TntUV1RQYi1LfU50fmJQTzJLLVBR
fmNycFFkIUluKS1XM3kKem5WNmhgens9PHRaX2w+V3t4RkdmZVp+RyQ2NWh4NVpXJE9EU2p2ezR7
OyZnd2w5SDRKWW9MVHhBdWR6KHswVjgjCnpPQmpxT2BZc0ZuYWdQRF8qIzY2cmsmJj5rMGMxZTYz
ZiMhZD9CT3ZmPWI2M3I1MmZpcWN1bTVLN2QmV240R24qWQp6eCUyJH5AY0w0dWtuPXdEMTVFI0Vl
Qk43aUVVS3hpRF4xPlF6Rkt4M04xMTI+JjN+d25iOUxpeWM5IW5DQXhXeCMKemFxe0BrQFo9PWsr
Vz5lT0wqREx9XlY8dW0yR21fI0A7fj9XdkM1aEphbD1wa3VUK01rPlA/SVRXWSs9UHtJJV8tCnpy
bHUwZGpfcSNBTW4yMTMoSl9YYHJsIzFINj9mMjxyMXc2SGtwT2ZJaXNXOzkkKXBkWnI0PV9NdDhQ
ZUk0cGF2SQp6bXVrVSswYWlCfmsrazM/cGM9SSlpM0A7MlMpWkQmWlchO3VCUytMV1p7Qj1KUD4/
dyhFaCpfRFVeIWhxeT08ZWgKekVwU2N1Kz8zJlo4RDhAOGJaIXZaUnBtbENkKiUhUmZkY3twODAq
XnBmWCY8Z0pueT5gS3VyZTh2bDVnfUUyfWdeCnp4QUUrNkM7bXlxLWNxI3hsSzdWeHc/WjdqcnBW
Njh1Pmg5ZilhNE0ycD59cGdmRDszdW4leUpPWGBLdDlsViNOKgp6ODVrNkY9RWZ2KXZISnZKJmtn
bEM3RH52O3JCK3YwZCppYVEjOC05Y0ZiUFg+TnkkT2tOezZZUTw1dH44RjdHVmkKel9lcFZhcnlM
Nio+eVE4UnNUO1hIcndsY3RmOE9GWDlyWDlpcUdsaj9kcm0kRk9ubEZOPHJOTlIyITBkJS1QPU9O
CnpQaXh8VUh+fk5lcGJ6WHU5Zy1EeEdPYFRJSjJLbzVpK0QyajN0ZGhyMj89TGQ8bVlAYlVhI3Z2
K3NqPGZZfEZBQwp6RGdjbkpHfDRuS0dkdChrK316Q2pwb0dXMmYpfklLXyZAaSp0fnpgV05MaUNS
M1QrNXF3KXxxWWZke3otZkRxek8KekFYU0pVYkAodU1PM1NPYkk5fE1DVz9TbVgyVXsyb1YpMXk/
bFArWklLYTVXKlVJJX47QEtPNVdxQkd0UkpPaSoxCnopXm1zZmpFM1RBV2AmZ0t4MkpieUdoOTB3
biZtOzZfeDsjRUlDI2NmM1Z6SFchbCp7eUIjUWhpO3ZAc0lHUWE0Zwp6ZkJvJV9IdztKUjw8byVG
RiVzUDVJMSRVeXJrTEQleVheUClOVz5XX09BTUBNVkhGYi0mbl8pM1duMzFySit9OV8KekM4Vlg2
Iz5VVHVHI35tUiVScW5zRmVGejUjRVI5KT9Lc1JZRHlqO1N0NnY9T3QofmxfUlRrTj1hJmxVKz45
RVN1CnooJGVrdWM4UCQzVkRJam41ZEp4RmM8cGQ/YnU5PUI0fGt9T1UjUWs9MHtabW8pZ2c0X1Ze
TGh2MTFgX1l6PzdoPgp6bzdYUS1QdX5JIzVGYTBwXzUqPnRyTV5DOSh1KzxCM2tqSkBmemJGUyE5
X203c3BIP0V2TDRfb1VWPU92QiY3MmEKenRgc3U5KDNTSU4mcHowPWFpY297U1B+bD4rd21iM3Qy
IUA0SjAmVSVJWm9jKERKdElfX19iRFQ4S3E3aEFvXzNLCnp2fXFYbFlZVEB7PUxeYjJwPXpSUF4h
eSZYcDB7aEQ7QGBgOTJBTGs8aHZRXjckOChSPitnPGR2UFJ6aSYlej59aAp6JDwwMGk/fldIPkoo
YVJSU3NvZjNZJGcpMXNpfj1xKmp+ck5PWH0oYHR2WWcmQXdwaEt6JDliWERoPDJfQER1PUAKek59
eT1qaH5Xc144PUBDcFBNeDxOQWEpT2l7X1lNX3cjKTF3QmxkYHhTZ2ZEbGM1dnNxeXkoPHpUX3s/
JG5Sc25TCnphN2Y3UmwxVHFKMVEmaGoxJVE5X2JQMGg1MnFyVCkpN2JIZSFwVC1kPml9TkAtSDZ6
bWZPSWlsZFV8XjIlQ0pCbQp6YE9ydX16SX1FaThtdT9XTUlfIyk5MDRmUSkqXjY7SlU8V05yZ1pQ
I0pzaSU3NlltIVglV0RRVHQ2KHQ5R1J0TXcKejFQQjl5ZXNRIWJGR3w3S2hCemJRSlM9WTlLc0hm
KnkpUTQmYTVTKHRGYmQkY042TEVCTGVTT14wMXlLfk97dEhICnpoKik3b29xe3RtTUNfUT9lbSYr
YElPZ2I5a0RIalY5JmdKbSFgNTZtSnA4N052I0cqZ0t0ZigjSUhoSGp2fWQqYQp6ei1zeXRjbUZt
RHQ3WUd3NUNUQEx0JCp0dClZd1VsYXlUPldhdTdRakxkOHIpWDEyZjxvd0RCUSRQbnVET00kdkcK
emtKWm1WOGV7Y0ttM3A1QWp5cCZyQ3ZNI2A8JSQ0bWdme2ckaUZnRkJ4MmlGNyF6YnYtd1A3KG9a
KjZUSTtEfkk0Cno5YCZ1e3grdyVXeXB7Z2gqIWImIXtyY04mJS1tcFBnKylYPlh8X0tPWXhvOzdh
fFVgcDtKQEJLQ289JDt6O2Z9Vgp6N2NMRWt1bHg5NDt4SlpTMSh5KXgxfV9USU9uYilsJEN6JnVu
NzVxfTV3TEFFRUc8KFUkM0RGUGM2OEdRJCEmQE8Kenltd2BQRVdJWGVMb1k5WDI+a35qR0hrRFJU
QWFFSG9lVV4tc0NGMil6WmFHQi1VNTR2Ky1iQVgoMnFkRWc5MXs0CnpyVCF+b3F1Z0ZWeEBvdXpV
VURrN3gzfU0zP0BNM0MoaXtFd2w7PDkpeTEmUEl7MyZyTT18LSRDQDhSeiQtP3VKLQp6R1BJZTZN
R3ohYDctfT9xRFoxcztyYD9BS2QqMG4/RkxJZl5PJFo0TVJmRjZESkpXSHplZGx9PmxJVHZVeyEr
RlcKenYlRGJ0MW9DI2RsRzRfQUslV0g8Mk9kPHdWQllzZ2o4QlFjZW5VdU5qZnNZaDRIZzFQXlla
MGtRdXlRfGg+R0V+CnpLXnhrY14+PXQ7TEAlNCZsMGxHTGQjKzcxYDxee2V4NVVOOGRDP1hZN0pl
bll6RiRPIWs1QmlNZH1YMlkra15fYwp6Q01YeyFXRjRIR0ViRjQ9Kk1QJTNldytsRmx5U0UxSXp1
ST9ARVJIVztmd1cwZlJwZXs/MW9FdVRlPn1hfDdEUzIKeldxXn5Rb001SXgtbj07aVlTa0liUm9v
JHhreUwhd2BoVFl8KW0yeFVJWGZTVmxLXjY7RlFUblQ4NT5KbyYlfF54CnozPXNucSRHfVgycTdl
YHNFJjh+MC0tRDhFU3FUTE55MjhUM0lGZ01BTmVebDgwV18od18+Tl4xKzUkSDJ7cyNncgp6OVI1
JHBpR2QjP018JCtfQXpwK24rMX1CUzRVRz9nZVVAOWtPO3hINSlZTSshYTAmPUswekx+PmxYKVRO
Pil9Q0wKekV4I2RJX2RESldOKnA0Q2E/dXlkVX14bWNMR3koPFdLQjtha2U0KHNVaEZCOVdQZSYm
VWpEcmRKPlBkOSs5YjFXCnpwJjhMYXp9ZXR3WFVAdmF3RkNubU0qPCowVUdTcGtEJEczaElSRmdI
TX05c2VKQDR+SUpWTkVgUTdhez15V2NFTAp6VVdfU2VYKkh0V01XQV50MllXNUNCR3omTnhtQXl4
VSsxOSRSe3VQP3VCSWojPFVVWCZtPD56RDlhOHxCYj52dVMKemZhSDg/MFU7Rkp3bENRZzByVVpY
Z0kxM2JPRzwtfVhCP3VJPipaUnZBWU0zZHFnTzlweWQhdWBefU9AbXVRTFB6CnpeIXhlKjJrfGNk
WD5eOz1nT1YzVE1STkZAZlBmI1ViQFVhVk5mYC09T1ExZUViK3h1OHluT2tSNXZ6dnE3PS16Ugp6
NmU2UGlSOyNQMUhVQW5tWmJRPzg9bU9CNHZ1cD5ISmJLbn4pZitmPCNSQ3BZJmQ2eHxId2daUWhr
cXBhJGEqaTkKenB9PCMmMUxjTzs8TzhaU1hoT2l1bVl5RUBJaXdeMjV8PFBxJClEbFA/P1FeRDlk
QUY8PSQhKmBnLV8lYGUmNFA0CnphK2V9LXN+ajY1WEpiZmJYWGstJnEhWnxFSlU2KE0kT3JZZFRr
U0ZVeVBhfFNifTFzZHRoOTd+Jm9hPFU+Qnc1Jgp6KSt5SXdYZjBWWTR2aXp3U2hVRjsoVWxxQWZL
M2R8NV5BMkZJSDZzU19paX5gQTJ2RV8wb2BpbldjS1U+U0EocVcKek1iQHNZczBkdk0tWn1XK2st
JExKdGhqUEczQUFzbzwpLU1sNmJ3fWYqPUglPT0wNzJZRkpHUGpGbGI/QSlkRXJeCnokZXlnZlY5
MGUzIUtpN3c1JW9LfVZ3e01fQW9RSU40Uyl7NyRhMU51WFJwKkJNUyQ2OD03V0M1bEhuZXo3bSNK
cAp6Y1lSNlE0JSUmRCZXKk91ZypZR3lFNj5ufkI4O2J6dkRBLXlrS0klfWVmbCZ7OFphMU8oJTd5
LXJ3NiVMa3ZGUkMKekFUdTwhd2hwbz9Eb2o2OEg1K00rTSt8XyM9eDhrVDRlO152RmFIZzZ4MWt9
VGJLS0Y9KzQoWWJCO2gyMVVWJk8zCnpkRjw4K2tUTzdmSyRLXjlEaWFINV5JJU9sWXRjdGdjITZJ
VD1YTDtUTmRIKyVGZ3tKKkBVVyEhcU1ATi1KKzRabQp6QEkyeSQwOFYhRW45cXpSWFhwTUNtWHdS
OXJkaXtiT3VGMUFpd2tDSld5eTx1SzkoKTdGOHZlV2hBYSg7SiFjVnwKejIyXlJYYDcyY2QkI35R
aE1GfEMhNW95QFQlUmB5UXtFd21JcV5LX3ZUdj01R1o5SDd7IU8kck08aml+aWs1ITNyCnp0QUI7
fnE+WGc2PlZGWSpaOENxLUdfdEFQYkVZMit6e19fS0l2SjBiUm9CKjkrYE1APkVgUmw3e3lBMGg/
RD4lPwp6PnVTbVJFfDtPbUhROSlISUZVY1ppTkdoISU0Z08pd1pWVldLYGZ+Nkt2TXFKSEdzOWg3
PShoZHZUb2dCMjx7JHQKekJzJUVtZ28wQUU9aTxXVyREKlY4THMzbkwzNVRJQzZQQjBpeXdaKXpv
LU1VTjFNND8qd1FCN0A3T1RRdlBxaF9fCnpZLVhGPlohcD90T0d4UkZBbEl6M0BQZU1RUUpAUCFA
Mio/fitNOHFEXiRKNnEzSEZyVztOWEJsSll9JXc+Nno9cwp6I0BgdUdedl54IyYxQFRVdnB9JEsm
Kno4QiVFTiNfMDUoP0x3KHVnU1Y5ZCMqRWpVdDNpWjtgQ3pVIUVfQnFiI3MKemg/RD0tZ3lWVU5C
KyN1b1lBb0Q8blY3ZTVQZU1Oekg3Y09gKlF5bHR5USh6OGglXzU4Qz5zQXhUQHkqN0wzMyg3CnpH
YEQjV3BwNnA9UVYrcn1GLTd9Yk94PzVEaXlUMW4pWXE4bXpEPTZVPilRZSl5Xj0mbTkxcmtKO3dJ
b0h6dlZgYwp6clZ6bFZ6WWtwR2UtK25lSVNfRUYyNyozZj90IVdYIzgyNHxrKUlKSnlgTzk4cD47
Nz9ZdiZJP0VFWnFrNnNySDUKemBaSlFqeSR8MkBfXiElMm1qZTNwXyFzPi0lNm1TU3VIeCZvezgw
K2AwLV4qdTBuSksoK0tIUzBIUEJrWllmTSg5CnpYbmxadiU9dCkjVkt9bHFgKWk9eEB3OHFMMXpt
TkcpejlZNWhnUmUtXm0lYHdIYT8lKyFMUWpDanNVWl9yUTd+UAp6WU9AKztNS1FRNS1eNnxQY21F
WGtGPnlMOD92Y0R2QUwtUTFjRl8lb3ZqYlpJbm0hTXFLXzlxeT4oKDFePWAxV1EKenNpVDA4MU57
QUNCVzBacSQ7I0AxSF5eJUg4MkxvfGMqaHcwcU4zNlYyVGlWPG4ke3NRIzZpSHpnKDhCMlAySShB
CnpjVXEmY3MoenIkTGY+dmNQIUs7Xz5ISy1rbFBCK2hPMCg4TkBYKD1WMHdKLXJSY3JqeW8wQ3gw
bjJVdnhXMnltPwp6fENTflZGNnUhQTFxQ3plKGxUJUlVdSk4PVhNZVM0X0RLP2RUKnN1VHNyZl9X
P3E0PE5ZWlQ7RVRNSmdUZ2A5X3MKenpSKnhnVVJWJG02dHNNMl5tXyUpN34keSpCSWkkdDNwam5Y
VVFBOTZ7Xkc8ZzFLU1NfMiFOSkVzMyEqNytLfWsrCnpXQGM+Pl99TlJ7N0xIOXo2T1FaQ0NYPm0y
cnhzVGF3KFhtJmY5VitwNHdNODFgfFB2NSZ3PHVNKkV3cjU+d2pySwp6LTx0PkpyUTlOV21GMGJ2
bCp7SDg3VX5NT0FlYTI8YXItdSpSViFzPyk+Qj5UaG84NEBJbnR9b0FvQT4yKjdDMz4Kekk2UXBN
bzdMPkN6eE98dCh8a1czaT4hP3FoZHZTenZ6WDBBZXM4RHY0a0JyOUU2MVBORFUtYFRHSTc+Smd8
e0R5CnpiWHNuYUNwVCpwT2NhcHA9flUhaUQqR3JibzdGRzwtQSYhd2M/ZW1FIUAhZTMkX0QjMGIh
PT9SI1pwRkFfSWZVKQp6SjdgO09GTGJnfEdfYlojSCsxZjBUbWBVamleemRrX3RTYHFtQlJLLTJ8
NUooTStvTmhBe1hLRCstbzcoZnEhYX0Kej5DI09EbXl1NkVLIy01R2xtT0wwMjYzflIoP0s1cmgx
bjAkUChnMmw3SD4rK0FEemtaLXooSVFfbTdJYyRvKWNWCnpjem9RWi1aNVIkKXJFcXVpSiQqazly
OXMrZ1JHRzR3bEx3bGZGeGFEQWdqZHcjRm40Q0JrfllPNkY+aShuNlMoNQp6dldDNUIyRiZHPHU8
Jk57KXRKflAkUD95WV8/NlkkeSl5ITFZMz4xUDx2N14oWXMjez1hTE9nc2dpREQhcn5mV08Kem1e
bCVgJk1nRDE9Wmc9eU9QfD0lNV52KTw4fTIjfnNDXnJeOXt9T2tSKWZfWkNXaGRMdVlJbUtJNjh2
cG03SlRhCno0VzcjKEEpel5Qam5mSzwjSFQ8ZExFODRBZGpRJjdMPWk2RTIhPTRFdH1sS0lweCho
Zi13dlhnbnhVSj0tMGlHNwp6Xk53X090biM3dGNMKmYxTlpqalhsPFh4Yzh3RGZjOSkyTlFHQzQ2
KFY3VGVZTUZebTttajVUYVVRdD1jRj52NGcKektZI3ZnZTBWb1pEc1kxbTRMKk5xWD1GX3JOUTtl
YW42KW1Ab2VnZHNHS31HLT1YUjF0TX0oQWF1M3lYPm1zOVRfCnpAUGJKUyNPbWxpSkxHMk05ZVgq
eTxzdE1zJSNVfk1tJjU9VGA+K31WSCpYPCpVR043Q0hARXlQSH4oal58Tk11dwp6PDxMMDw5cDVM
fWB8TUB6KVl7RHJ0SENBUjZBdmJrMDs+aSNubjhQWE9IYT8wYkV+SStpMWNFcHNgfHsjJlImMFcK
engmUCp8K3BXTUVRc1UhRm92M2Z1djZ6K0ktOzk3LT5TJmJidlV3TnVRIUY8STxLanFJeWRqWWBw
Wm9WUSp+VEYpCno8a1F8Z18/SERfLUtjZnB4RmpVemw+QkBoQkJnc19FKnRBMTlBb2s/VTBYQGVO
KShneEZMQjBgaT9uZllwWkZpKgp6akQ2RjNWbD44bWBtfE1oKjE/IVJhdmpTKmFHa3hzSGJMcCFx
I0Y2aUMlYGE+NGhxSU01Smp1cj4jTE5fXmxRMF4KenlNXjRpZVMpS0Y7KmVVdkZqSnhHc1NaQjFa
cUFLUjEoPjl3a2x+SmVSU0JaJWV5YjlVKyU3e0Y+UzU3Y0duSSo3CnozP04xeW9xWEdQRmRtVV5I
Vk1udDtaSlhqYVFuNXNBfkhGYD8rfV5xN29qMko8Pz9yNXZ9JjdvV0pHfSswJlhqOAp6UD1MJi1P
bFFNP3pxZis7X0pPNGIxcyZpUF9gd2kjJCoqNzY2UXFkS0RJaG1xKCRwTC1mNCgxKSgocW4qLWpW
NHQKekYyWksxJktTM2V7SWsjdmZhUD1APTBWdX1NQEQ5R2FPZ205MmxITFMkUzQtVjZ4eiZyKFUy
cCs3ZGFZdzkkeEt2Cnp3flg+fjVpRz5MPV89UGRGbFJsWktZMHs+NXZLKVdzTj90QHtvfkxGMFZm
NjNwWTclaSVQVXREd05oRntlYjFUVgp6dHNSRXpVJlBHOUNLMnNOYFlSYmVvTk1sMGIxUHJ9a2Y8
b2phKD5xPW9heiFKMXgzb0lQYSQ5bD8kMVZLVyhMO2QKeiYxP1ZuIWZiemIoZUpVP3srIWghJWx2
MTAhRDJkPmJJJSY5UHBeK1ZiLVMzPnlKODZgJjs7YyVzdThgaEpeSnRSCno5QUNYdnAyUEUoSlYo
fXMzVG0kZE5VPT1nZCVqdCl7PyMpVHAzNmJqPn1PTng0O3RLSmR1eTZyO15OfEIzPmhwIwp6ITF0
fHBTUUtfPTtyfjhIK29kVEJMdyUzfXNYYWBuaSFkbHlBTkk5YXtTfW5+enFHeDtBcTg2QT57a3xW
VH5KWE8KentxU2Y5amBvfGZNU3wrfG8zaUNYTT9TP3FmIX4jXzxLKGArSzRnM2p7SXolaiM+KVY8
RTBvMy1aVCN7amJtSzNzCno1Yjc3ejRMUyEldzxuT0d7N3ZKNGEzMVpFSy0zZzl8SUhnVTtCZEdw
bz1BX2Q/VWkyfD1LZ1VOIV5kUmJXQEp4bgp6TFNoZEwldyN5fG15U0lAbXw1aFAtbiU5QUpVX2dV
IXUzUlV3USF9Y3dofW52Um1YNCFGbjJSUSowIVViSGMjQWUKekcjY15Qel9FPjxiWF5TXmlKayVi
cFk1RFRGamVXST0/R3h1Y0tvRnpFZnF5flk9JXM+OFlAUnYrcjF2fHhBPik8Cno7TXkhYDVOQj96
cyRZUCF8RmNIM3FqNSk2NjI7VzNzen5JQDBiOW5ieC1aSldINDx7NEBeMWMzKUNhZ29QKCh6PAp6
QnZTYG9GZCglXzI0aVIjMUBtS2tYcWIwN0JxOT5qVnU0dW43PXNISm88ZXQ5bWZlc0YoM087dzZ1
fTYrKXp3UlkKenFXOHM0NFVDTUd4NDhoI2g9fXIxa2VZZlB3ISZ1SkxLdnw3R084Q1Q9VzthMD51
PVR7KjN0M1IrI1UxITgmY2JKCnpIVkNeYUZydnd0VyV2aVQjYDQjV1V9UFp4ZUUtczdCYjN5Nzw/
c1AkbD56JHJEbE0lQSNfTSlue0tZLX12eXgtPQp6WnB7WlhhY0dQPzJhWG15OChSYkR4ZFF+MGwr
KiR9K1g+STM4fj5vSSVxI1pnX0IlSHdEbjlZPTVIYyRhSmFePWQKejZaX15hNlMyPVJubDxiYj5k
STMhQ3FKckM5fCsjeWk1RVdlTDUyQiotdVVDUmRjezNAK2NHbWB3bnlhbmk9UyF3CnpFLT1nX0Yy
fntjKWxDalpqVUptZ3RxQCFjPy1wfDxpWTE3LSkjKHF1aC1PKio5QVJmYmtZO2s5OWYrV3UyWmNC
RAp6VElvO2RYbFIoYCZESTZTXkZ7QGRPemcqajdTRHg9YDlGclBCeDlKc2deOXorI3YrKUo4KnFY
LSpqWj9fSXxoc2EKekc8Mzl8ZSU/KFU3YCUmYGxrd3F7UzR6YFRLNn5+byp2SW5tbWF1ZFEjM3VA
Q01vMSlPSCNkcX43fTloc2ckKHpPCnpQQ3M4NkhtfXEpI0UodSlzQkU4eHlNKkZsLXtLMj5PcXdZ
emB1Vm5lYU5CRV4kc3wlKTZuWGcpOThfQ2RJfnt8TQp6dmQ5azhOTDFsTik1c1hRTUQkOSh6JH1i
YzhxO2FpQmBUM2xKdT1JYEczPj5RN2pPKDF7fWMhUkxPRU52MjV6JC0KekZMWEFrVmxiRlBmbEJh
I2BRK341YWJQeF4lQCVqMks2P2deQEYkUDwoI05jSmkmTVJ+REFCWlZaZEZRS0dfQF9fCnoqc1hu
O0NOLTQrcyhYKT1TJEYwPVoqNlVAanopUF4oKl8zel59Km5PUGxoIVZ1IUd2RSRSanF0JEc1aylf
WGREOwp6clJXWVQzeWFGTDtBZD5gZnhiPFhxMXduTTJOemdYeVRlOW4pUlEkY0FnITIjMzsqZztR
d34oa0Rmajl7USlnSSkKelphemh6Sy1hemwrO3M1PzFOYDhwWlFPOXxCV3QwdTk1fnwqT0ltdGYm
cyl4VWloRSZfN35MMkZwTFc5biU2OylMCnowZ0l7WXUpKWlaV0pCUEkkO3J1QylCRFBOPzcpZ1NY
YUdzJXVveF9GUmp7WmozQHN6SzRUQi14SDNFbm0+QFQzJgp6bnV+JHY4Nm9IPDAwenc9SEQ1Oz90
SU16KnNDMCtVXzRCWlJRdXc4c1RTbmo9Kn08cGF0dGZVfCROLX4wRDw9bygKekU7SVRGaVp1JE56
OGJvY2ZqST10NCVKRTdyb2M3ZGZpdUZJNG5he2N4M3FLezQxdjF+PzVSMGRSI3cpb3p4P15GCnpL
QlI/b2ZROG4+R0x2VEdBcVl5blMwRyUkSyhPYVhAVyZfbCZ+d2hJOzJyey1qdD5wZWFXTUVGQHRL
KStvdnhzTgp6PGluYDclMDFhMSZOREZWV0pSNn01VW1naU97Vj9lVz1AaE4qRCFkUypXZEtjJUYy
cSUmdEQySHZteFJsOEpUdygKel9yQVlKXzdLR19VTlpxRihSd1R4SHk3ViprekYrREY8QXY0aWVH
PVNHdjdgcCpWQDN0Wks1K0BDJlJlbnRgWUhSCnowSXhYXlBMdUBQaXpwdjlgbktoXk93LUooQ0hL
KSFKOzNqPmctKiZNRnVoITBoOzxlYEN5fmpiKzFpakpGZnY7Swp6SzR6bCpXPkQpIUNNSWc1PGxQ
ZCkhRU9wTTZ5cnEzSDJrO3Q8YE8rK29oR3xpbWx3OXVMMStrdkF3VyYpQkhXVGoKekF+NzF+YE9o
en0hMjZTMUVaUT16RDxpYVlmQ1NfJXEzKzUwXjc4VT8+KHtUKDAzIXpkbHdOKlQhNEU8TTFgKSsy
CnpCbkR2cXlCMDwhQkEySWBTdylPTnBZJkl0JERafDNoWCRDMmhVZHRIV0YtTUU8dmY7Y3ZvOCpa
MH4xY3dicF4oQgp6e2c3VGc3b2FEOHtUKVBfQmxObEpxcT5gIyNOcjg5UTBEeDMzIU5zVD0wSUQj
R0FPPjY4PXl3QVIhVGs/Ukd7NjQKeiElemdsTjFqQVooTT0wVlBmeXAhZCY7KzFXWWZaMEtwTXoh
QzZCSWopPX5BZnUhZk5oNEdrK1pxSTZyMj9vLUZiCnojS2k7UHNeUVdHMFhgIX5nTCErdXs+QUEm
QnhBJkBxdk8+cFcoS1BFNmROIXcjSF9Kbkg7OVJpSEw0YkhqQ08/Uwp6XnR9cjEmWWlTR0kpOFor
ajNtcyFmY0ZwK1lWa095b1U8Pik9PCp4cno9K0d2bVZuKkpDNikrfkJ2YH5DPn1EfkkKek15dSFz
WXdEdDYkKGs3PD10eWFVcDJvWTs5bkAmfHNYSlZJYjhTRXVoaTIlQVhVYjVPcXh7KkplVTsrPGtW
ZWBMCnpSflIhNiVnS2h8OTVWWDJUNkwjSCk8NnBSVmdGd1F0ViNSWWVuMnEhVVVYVyg7SEolK0ZB
enE9V01zbDFOISs0dgp6cCokblByRUY5PkFTLXc7cjF2dTlMcWBWbVUtPF9HMTxqR2s3bWtAZ2V+
R2xxaklqcD1vLWp9YWZeIUJLXkdFdT8KelpIPEgqZVQwclkoWkVMIVRVOyNmR3xgRm4+bndCPE1V
RHFPIzlRX3JKOGFTayhudXltQG1QRGRBVnw7QlVOcll1CnoxbWxheF5mS3JhSXAyYU4mKndRZ0lp
fUE+Iz5YIX0maHt3RyVvR0ZSaSVyVEpkZWhpQUlNVjJwX3BDVHk3KXBNXgp6VyhWXm1hKiQ7bj8t
RXc+c3xIY3chND9pQlFgNGI1R0lUfVEhV041QUBRP3ZNVUpqcEBOVjAtO1h9WTJrJU0xfj8KekB+
SlBeaEZFKT5rdlpkTEBCM3ZPT3lEMGB3ezlLRXVeYXJLOElXJUh3NlRVOW5lPX1OSjxGbSEyaG9r
dFRKNDJNCno/e1p2WHdFYzZMcmdoS1VlbWNVMlVrYjtFQkNjQHQlRj1Bdjd8TCQmSmhYS2xpX2VD
NnAybmBPTmEqQXx6YSNfZQp6SXdJRCQyREJ1eDBmd2IyezdUaG9zR0JPeGg5MDNyJWVuWiRaYi1m
Uz0zMWpBJTwwRXpyTkVARWE5ZT1gREZBX0YKekElPmdyeDU8NmJhcjthQ2l5K2QqaU0yMlRAc1hx
T1g3MzV1Jlg4PzY8eWB8eyg/YnklMUk0dio3RVQmXkJ2d0BzCnpJXlA/K3lBfFQ0Rn5IRk1jd3k/
aEcwekFCVSZFQ09iMkdCJjQtbSpKY2c+Q3xmXkRhZnJlejE2blBYanJRWlN4QAp6PCNLQiFYK3Qk
ZUAqS0dKdVVhZnJCNHMyQFlPJk9JWTx6T0VkMXVrMSthX2phMlU7djdVYChJfUU9VX4/ME1pcV4K
ejY8YG9GNWVVSnNZMmdLM1BFeExna2Nyb15kb3JlY0dqX2IzMEk2PFJBbS1pTDU2R20/R29UdzxB
KShrYElGPDw1CnpHO3wxKFVTOz9qP2JsJEFYRl5qfkhLWn0hKTspWG9SQFgrI0NTQ2A8eE13Tms0
YzgwcEx4REc3eDM7KEhXbX5qbAp6cjIoY3g/aWJTQT9kYE15Iy1MKyV8NWQwbz9jISRQbHEmfk1B
eU00YSUqXmFQNl83O2IrcVo4NlRHPUBgWU5uPjkKekB+QSNzczlGJVM2MEBMS3sqemohTzZ5bjZ1
PGp+PXFBVlB9Xyg1UTF6UWV8NlBnOGV5Nm9mZjFkWk1jXjcmJEN0CnozVFFPZ0VvS2MrMCt7YEVo
X3BabWp0RzwmP2x9VGMqXyZeQTNtRnoyZ0VfRXNkVV9wVld6YlJ3SXo9cTV0RjB8YAp6fEppM3hf
QUohT1BXSm9JaEo5P0ljMHxhI051dWJwc09ZOWRSaUEkK2NweWZSRHM1KnNFOUxfV0U2Y25+c1Ft
cHMKelcpajhGZVl6QzYzIVJfeD9TPS15SD5pTElzeXMoWjM0UHYlOXQxdVZvRFolYjZ8QW82MnRN
VlleVWYxYWB9eG95Cno/dmZDJTdfd0xHYFJKYXB3Iz5ISVM0LWtQTFNkNWlxN3U5IVJsJl9oKHRA
RUVtQXExMndeSUczaH1scUVaN3ooawp6fDBiQD9wfkxjVXZCYD95PHU3SDd6VVZfUXBJb1YoPzV+
amBSeDY3WjJNYHlaNjNaZEZONlVVMldKNnFSWjBJeUMKemgldm5rIzduQFM7NVomODspLXpXcWxY
WHMhdClxWkVMTEZQRlZLQjFtYTdLRkt4UEkreWAqOHtyfUQrZzJjdT04CnpgZ3c7WjAjbXQkVjFe
Slg7PmhyRElYcFl6PVpaKnBnMVpmNFpeODVQXkpwSW9GYys5K3JzdzBSJn1rY3xwNF49NAp6PUlX
WXB0TTROazNyKCspeWxxaEo8QXdsQmk2ITw1e0dDY0IwZS1aU3BGNWIqSEJlO1V0JFlAeFVHcDUh
X1QrPUEKelFWRjN6YFpzeypoSTQxbm1XOE59RFU1JEVlSnQoMTIlQjckZSEofWYySlZQVyhlIy1L
QjBkQCMzIWI/dyEtWVF1Cnp2fUhuRFN1ej9GbXkjTjRqOTE9flA5UEZkWjV7OS1IaXJCZnBjXyFS
NnFFfntMUFN7O2R3UDA4a29KdFhiVDFQagp6TVMjN35vdU9id080SDRAWG01cC1pbDc7ITc1OG83
VSFsJEtrPzsqTVhaOGhjc348ez1NaWBXQkBtfGBHS21LVVMKej1AdGFfZD1tP2NQWGBeVWM0dmBg
b3N1UF80NillMVVDaldqVyYpVTg4TzcycHc5QHNMcyFfKER7YDxrezFXU2g/CnpCVXRHcj1uQEtj
cjs7I3J1dFdiMiVLVWViQn17P05LeF5KVV5pZTN5c1RqUCU+Y2ZMZnN2JX5QV1ZBZEYpaF5TeAp6
IWYhKHopakV6QiFyWUZFM15wTXd6XjVMdFgqZCshXkE9K1FASVp8dFNUeXZKM2xrU1ZOX343SHtr
NzBwP3VLQTsKemF6ZTdWU1VmXjI9RUEwdE13bjIwWnkycU91N0R3MG5tZFNCbUMmQykwfFNoUWZk
YH47Y3xqWSVwSFYoe0RzcSgyCnotJjROa01JXzY+dHpDbFZ0T1gmNkshOD0lMDdYe0EoSEY5Zj5o
ajkoWTJPIXdPOEF4YjFxQE19UmpIYl5TcmxDaQp6JHJUfiskZT52PV4qPDx1ZnhKcih5Y1FxMHVr
Pi0lVldBYiQ2Y25NUW5QN1pHRztKaDB5KU9LSzg3UTFjTnRfI1EKeiplbU5PMWElU3liZH4ofXFD
RGxHNig/RXE1V0lBNz9rLT5Qa29JZTZSe1E5RlpOWiNYKVVYO0p1dT9ZZXdRT0ArCnomSTslbUFk
UkspT35CeHdIenJocUw/PF51SCteRyFkKVUoS2tXWG1TJipkYEQoOTRUJVl5LUlBej9GfWw+eUZD
Rgp6TUxAWnt1JGJTKUhGU15GdXBIKU40X25oZzwjKEx1bHJ7KjQrQXFmPnd1P0paWCZ9X0FWeHs9
PGVeeGRIPFlfPlYKelR4UishP3Z7QjFqeH4wNmMyKmtWO14ydDlTXkpkKUIxTzZTJF5DV3hmVChw
Y08pa0smVT9ZSmIpZiltdGJmQ1kmCnpBSDluSG0hTj8pMz5ib2hwakspKnZZZ01AQ0B8QUFtPkVz
SUEhKmVmZlhzZUY+aUd1fCtKRzI0Pzcrc3BROWshcQp6X3xSVDFJbDwjXmtwNFl7e0NHfC1jIX5t
cmZgPHtmNWg7ZDFWa1l+TU0tfE9Kd1E9OT9NYWxJRmhvPWwjUl9ofFgKejJ9V3IlJV5GX3ZSelVs
ekVvamo4aippYntaNGpacnVzOTN+dVBOfDxZM0hkY1UrP2xhRTI9KikqV3oySXFybGdBCno1eE4w
fFZGb3hQWnZfRTJwQUI9VWc1VnJncnNgeTd6fChyJSQxTzI/R1EwbSMzX0ZpSyM7alplPGAlfGs9
Kil3agp6QSFFSmR4dDhtcG9UMjdrdXNtaDw2Kkh8aGhWLXNjYVIyJTk9a2B1Y3JWI3hhTVhvQHlX
Tk1zfDhQRF4oeGhWXmkKemJ1aG43RXV0LXg+TE8lO0ttWXxMPG8tbypPKlc4JjsraSZDLVR4VypC
aXJ1WDx4bnlKQyZPeU1KKjZFNEhIMiUmCnpaZ3xSKkVzam98Qm1oOWlNWEd8Pk8mPFJpVn15MXdz
aGF8ajlfJkxKMWheckIleCFHQUdBOTlnRlpJRWI+UStpSQp6RTJTWmU9UkFNbDF7Yno9Yy1TbG91
ciltNE9BSSp5KW1jQHdGNXF0bkpeWmZKUU9HbjE/VDI5QGpidSR3TmslYVIKeiVsOXlnX2ZueUdK
KEBPYEkxQW1TKlNpV0ZqNkFPPnNNUTBaaXF9bVdnc35XRCRGYSkqbE9lVFVMVFE3e0x6TSVtCnoh
KURHQWduOyRwQGFVJiFEa2VRUilNTzJnLWdHM3M2Z0JfR1g4XipXRlVvI0o3NWExRzl6P2k5bXUx
cHE7ak8raQp6MiVVd0NoZXxmeFQ/Q3pea1NqdFpFVlkxU0JELVhuUCs/TkR0ZDxLOyFRKSRNdXlL
STRaSk1CSmx3MVhpKko4PEQKelheLW9iJFFiYj1AIz00fmZWNkBpbXErXm97d3I/b1llYUNFQHlF
M1FPXm1eb1kwQndfMlFucENlU3k9e3Q4TW0wCnolSEJ9Z09WNXcmTyFlXlVtZW45WVN6UXI1SmM3
TGZ7fThWZnkhOzFJWHRobExDQ2RKZGc3a2xYezk4VGt8NW9HdwprUl4haksqOGd3IU1oS2xiZWJk
eldPQVYpMnItYWRgUlpnWCF4TmBnZDBpZWBJO3tYNXYKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvZGF0
ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2VyLWFwcGVhcmFuY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9mb3Jtcy9kYXRlL2RhdGUtc3VnZ2VzdGlvbi1w
aWNrZXItYXBwZWFyYW5jZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGQxYzhiNjljM2ZjZTdi
ZWE0NWM3M2VmZDA2OTgzZTNjNDE5YTkyZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2Vy
LWFwcGVhcmFuY2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKKyAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rp
b24tcGlja2VyLWFwcGVhcmFuY2UuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2VyLWFwcGVhcmFuY2UuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4xYWU5ZDY2ZTI5OWVhYmNiN2I0ZDdiNDdhMjg5MGRiYjJmMjI3ZjFiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9mb3Jtcy9k
YXRlL2RhdGUtc3VnZ2VzdGlvbi1waWNrZXItYXBwZWFyYW5jZS5odG1sCkBAIC0wLDAgKzEsOTAg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGJvZHk+Cis8aW5wdXQgdHlwZT1kYXRlIGlkPWRhdGUgbGlz
dD1zdWdnZXN0aW9ucz4KKzxkYXRhbGlzdCBpZD1zdWdnZXN0aW9ucz4KKyAgICA8b3B0aW9uIGxh
YmVsPSJUb2RheSI+MjAxMi0wMS0wMTwvb3B0aW9uPgorICAgIDxvcHRpb24gbGFiZWw9IlRvbW9y
cm93Ij4yMDEyLTAxLTAyPC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTAzPC9vcHRpb24+
CisgICAgPG9wdGlvbj4yMDEyLTAxLTA0PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTA1
PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTA2PC9vcHRpb24+CisgICAgPG9wdGlvbj4y
MDEyLTAxLTA3PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTA4PC9vcHRpb24+CisgICAg
PG9wdGlvbj4yMDEyLTAxLTA5PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTEwPC9vcHRp
b24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTExPC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAx
LTEyPC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTEzPC9vcHRpb24+CisgICAgPG9wdGlv
bj4yMDEyLTAxLTE0PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTE1PC9vcHRpb24+Cisg
ICAgPG9wdGlvbj4yMDEyLTAxLTE2PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTE3PC9v
cHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTE4PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEy
LTAxLTE5PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTIwPC9vcHRpb24+CisgICAgPG9w
dGlvbiBsYWJlbD0iLSI+MjAxMi0wMS0yMTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0y
Mjwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0yMzwvb3B0aW9uPgorICAgIDxvcHRpb24+
MjAxMi0wMS0yNDwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0yNTwvb3B0aW9uPgorICAg
IDxvcHRpb24+MjAxMi0wMS0yNjwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0yNzwvb3B0
aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0yODwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0w
MS0yOTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0zMDwvb3B0aW9uPgorICAgIDxvcHRp
b24+MjAxMi0wMS0zMTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0wMTwvb3B0aW9uPgor
ICAgIDxvcHRpb24+MjAxMi0wMi0wMjwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0wMzwv
b3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0wNDwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAx
Mi0wMi0wNTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0wNjwvb3B0aW9uPgorICAgIDxv
cHRpb24+MjAxMi0wMi0wNzwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0wODwvb3B0aW9u
PgorICAgIDxvcHRpb24+MjAxMi0wMi0wOTwvb3B0aW9uPgorICAgIDxvcHRpb24gbGFiZWw9Ii0i
PjIwMTItMDItMTA8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMTE8L29wdGlvbj4KKyAg
ICA8b3B0aW9uPjIwMTItMDItMTI8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMTM8L29w
dGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMTQ8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTIt
MDItMTU8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMTY8L29wdGlvbj4KKyAgICA8b3B0
aW9uPjIwMTItMDItMTc8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMTg8L29wdGlvbj4K
KyAgICA8b3B0aW9uPjIwMTItMDItMTk8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMjA8
L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMjE8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIw
MTItMDItMjI8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMjM8L29wdGlvbj4KKyAgICA8
b3B0aW9uPjIwMTItMDItMjQ8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMjU8L29wdGlv
bj4KKyAgICA8b3B0aW9uPjIwMTItMDItMjY8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDIt
Mjc8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMjg8L29wdGlvbj4KKyAgICA8b3B0aW9u
PjIwMTItMDItMjk8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDMtMDE8L29wdGlvbj4KKyAg
ICA8b3B0aW9uPjIwMTItMDMtMDI8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDMtMDM8L29w
dGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDMtMDQ8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTIt
MDMtMDU8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDMtMDY8L29wdGlvbj4KKyAgICA8b3B0
aW9uPjIwMTItMDMtMDc8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDMtMDg8L29wdGlvbj4K
KyAgICA8b3B0aW9uPjIwMTItMDEtMDA8L29wdGlvbj4gPCEtLWludmFsaWQtLT4KKyAgICA8b3B0
aW9uPmZvbzwvb3B0aW9uPiA8IS0taW52YWxpZC0tPgorPC9kYXRhbGlzdD4KKzxzY3JpcHQ+Cit0
ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7Cit0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
K2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRFbmFibGVN
b2NrUGFnZVBvcHVwKHRydWUpOworCitkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0ZScpLmZv
Y3VzKCk7CitpZiAod2luZG93LmV2ZW50U2VuZGVyKQorICAgIGV2ZW50U2VuZGVyLmtleURvd24o
J2Rvd25BcnJvdycpOwordmFyIHBpY2tlcldpbmRvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdtb2NrLXBhZ2UtcG9wdXAnKS5jb250ZW50V2luZG93OworcGlja2VyV2luZG93Lm9ucmVzaXpl
ID0gZnVuY3Rpb24oKSB7CisgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7Cit9Cis8L3Njcmlw
dD4KKzwvYm9keT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zh
c3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2VyLWtleS1vcGVyYXRpb25zLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvZGF0ZS9k
YXRlLXN1Z2dlc3Rpb24tcGlja2VyLWtleS1vcGVyYXRpb25zLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42YjQwZjIwZTlkOGRiYWQxNTE3MTZiYzU2ZTllMmZmODhkMTBhZmNlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9mb3Jtcy9kYXRlL2Rh
dGUtc3VnZ2VzdGlvbi1waWNrZXIta2V5LW9wZXJhdGlvbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzMgQEAKK1Rlc3RzIHRoYXQga2V5IGJpbmRpbmdzIHdvcmsgYXMgZXhwZWN0ZWQuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitDaGVjayB0aGF0IHBhZ2UgcG9wdXAgZG9lc24n
dCBleGlzdCBhdCBmaXJzdC4KK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vY2stcGFn
ZS1wb3B1cCIpIGlzIG51bGwKK0NoZWNrIHRoYXQgcGFnZSBwb3B1cCBleGlzdHMuCitQQVNTIHBp
Y2tlcldpbmRvdy5wYWdlUG9wdXBDb250cm9sbGVyLnRvU3RyaW5nKCkgaXMgIltvYmplY3QgUGFn
ZVBvcHVwQ29udHJvbGxlcl0iCitDaGVjayB0aGF0IHVwL2Rvd24gYXJyb3cga2V5cyB3b3JrLgor
UEFTUyBoaWdobGlnaHRlZEVudHJ5KCkgaXMgIjIwMTItMDEtMDEiCitQQVNTIGhpZ2hsaWdodGVk
RW50cnkoKSBpcyAiMjAxMi0wMS0wMiIKK1BBU1MgaGlnaGxpZ2h0ZWRFbnRyeSgpIGlzICIyMDEy
LTAxLTAzIgorUEFTUyBoaWdobGlnaHRlZEVudHJ5KCkgaXMgIjIwMTItMDEtMDIiCitQQVNTIGhp
Z2hsaWdodGVkRW50cnkoKSBpcyAiMjAxMi0wMS0wMSIKK0NoZWNrIHRoYXQgdXAgYXJyb3cga2V5
IGF0IHRvcCBvZiBsaXN0IGRvZXMgbm90aGluZy4KK1BBU1MgaGlnaGxpZ2h0ZWRFbnRyeSgpIGlz
ICIyMDEyLTAxLTAxIgorUEFTUyBoaWdobGlnaHRlZEVudHJ5KCkgaXMgIjIwMTItMDEtMDIiCitD
aGVjayB0aGF0IHBhZ2UgdXAvZG93biBhcnJvdyBrZXlzIHdvcmsuCitQQVNTIGhpZ2hsaWdodGVk
RW50cnkoKSBpcyAiMjAxMi0wMi0wOSIKK1BBU1MgaGlnaGxpZ2h0ZWRFbnRyeSgpIGlzICIyMDEy
LTAyLTI5IgorUEFTUyBoaWdobGlnaHRlZEVudHJ5KCkgaXMgIjIwMTItMDEtMjEiCitQQVNTIGhp
Z2hsaWdodGVkRW50cnkoKSBpcyAiMjAxMi0wMi0yOSIKK1BBU1MgaGlnaGxpZ2h0ZWRFbnRyeSgp
IGlzICJAb3BlbkNhbGVuZGFyUGlja2VyIgorQ2hlY2sgdGhhdCBkb3duIGFycm93IGtleSBhdCBi
b3R0b20gb2YgbGlzdCBkb2VzIG5vdGhpbmcuCitQQVNTIGhpZ2hsaWdodGVkRW50cnkoKSBpcyAi
QG9wZW5DYWxlbmRhclBpY2tlciIKK0NoZWNrIHRoYXQgZW50ZXIga2V5IHNldHMgdGhlIGhpZ2hs
aWdodGVkIHZhbHVlLgorUEFTUyBoaWdobGlnaHRlZEVudHJ5KCkgaXMgIjIwMTItMDMtMDgiCitQ
QVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkYXRlIikudmFsdWUgaXMgIjIwMTItMDMtMDgi
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9mb3Jtcy9kYXRlL2Rh
dGUtc3VnZ2VzdGlvbi1waWNrZXIta2V5LW9wZXJhdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2VyLWtl
eS1vcGVyYXRpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzNlMmM5MDc0MWVmYWJiNDQ1YzcwNzhlYTBk
OGE3MzA1Njk0MGM0NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2VyLWtleS1vcGVyYXRp
b25zLmh0bWwKQEAgLTAsMCArMSwxNTkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0iYmFja2dyb3VuZC1jb2xv
cjogI2JiYmJiYjsiPgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxpbnB1dCB0eXBlPWRhdGUgaWQ9ZGF0ZSB2YWx1ZT0iMjAxMi0xMi0yNCIgbGlz
dD1zdWdnZXN0aW9ucz4KKzxkYXRhbGlzdCBpZD1zdWdnZXN0aW9ucz4KKyAgICA8b3B0aW9uIGxh
YmVsPSJUb2RheSI+MjAxMi0wMS0wMTwvb3B0aW9uPgorICAgIDxvcHRpb24gbGFiZWw9IlRvbW9y
cm93Ij4yMDEyLTAxLTAyPC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTAzPC9vcHRpb24+
CisgICAgPG9wdGlvbj4yMDEyLTAxLTA0PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTA1
PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTA2PC9vcHRpb24+CisgICAgPG9wdGlvbj4y
MDEyLTAxLTA3PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTA4PC9vcHRpb24+CisgICAg
PG9wdGlvbj4yMDEyLTAxLTA5PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTEwPC9vcHRp
b24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTExPC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAx
LTEyPC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTEzPC9vcHRpb24+CisgICAgPG9wdGlv
bj4yMDEyLTAxLTE0PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTE1PC9vcHRpb24+Cisg
ICAgPG9wdGlvbj4yMDEyLTAxLTE2PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTE3PC9v
cHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTE4PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEy
LTAxLTE5PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTIwPC9vcHRpb24+CisgICAgPG9w
dGlvbiBsYWJlbD0iLSI+MjAxMi0wMS0yMTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0y
Mjwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0yMzwvb3B0aW9uPgorICAgIDxvcHRpb24+
MjAxMi0wMS0yNDwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0yNTwvb3B0aW9uPgorICAg
IDxvcHRpb24+MjAxMi0wMS0yNjwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0yNzwvb3B0
aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0yODwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0w
MS0yOTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0zMDwvb3B0aW9uPgorICAgIDxvcHRp
b24+MjAxMi0wMS0zMTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0wMTwvb3B0aW9uPgor
ICAgIDxvcHRpb24+MjAxMi0wMi0wMjwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0wMzwv
b3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0wNDwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAx
Mi0wMi0wNTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0wNjwvb3B0aW9uPgorICAgIDxv
cHRpb24+MjAxMi0wMi0wNzwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0wODwvb3B0aW9u
PgorICAgIDxvcHRpb24+MjAxMi0wMi0wOTwvb3B0aW9uPgorICAgIDxvcHRpb24gbGFiZWw9Ii0i
PjIwMTItMDItMTA8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMTE8L29wdGlvbj4KKyAg
ICA8b3B0aW9uPjIwMTItMDItMTI8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMTM8L29w
dGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMTQ8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTIt
MDItMTU8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMTY8L29wdGlvbj4KKyAgICA8b3B0
aW9uPjIwMTItMDItMTc8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMTg8L29wdGlvbj4K
KyAgICA8b3B0aW9uPjIwMTItMDItMTk8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMjA8
L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMjE8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIw
MTItMDItMjI8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMjM8L29wdGlvbj4KKyAgICA8
b3B0aW9uPjIwMTItMDItMjQ8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMjU8L29wdGlv
bj4KKyAgICA8b3B0aW9uPjIwMTItMDItMjY8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDIt
Mjc8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMjg8L29wdGlvbj4KKyAgICA8b3B0aW9u
PjIwMTItMDItMjk8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDMtMDE8L29wdGlvbj4KKyAg
ICA8b3B0aW9uPjIwMTItMDMtMDI8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDMtMDM8L29w
dGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDMtMDQ8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTIt
MDMtMDU8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDMtMDY8L29wdGlvbj4KKyAgICA8b3B0
aW9uPjIwMTItMDMtMDc8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDMtMDg8L29wdGlvbj4K
KyAgICA8b3B0aW9uPjIwMTItMDEtMDA8L29wdGlvbj4gPCEtLWludmFsaWQtLT4KKyAgICA8b3B0
aW9uPmZvbzwvb3B0aW9uPiA8IS0taW52YWxpZC0tPgorPC9kYXRhbGlzdD4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBrZXkgYmluZGluZ3Mgd29yayBhcyBleHBlY3RlZC4iKTsK
K3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFbmFibGVNb2NrUGFnZVBvcHVwKHRydWUpOworCitkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0ZScpLmZvY3VzKCk7CisKK2RlYnVnKCdDaGVjayB0aGF0
IHBhZ2UgcG9wdXAgZG9lc25cJ3QgZXhpc3QgYXQgZmlyc3QuJyk7CitzaG91bGRCZU51bGwoJ2Rv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2NrLXBhZ2UtcG9wdXAiKScpOworCitldmVudFNlbmRl
ci5rZXlEb3duKCdkb3duQXJyb3cnKTsKKwordmFyIHBpY2tlcldpbmRvdyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdtb2NrLXBhZ2UtcG9wdXAnKS5jb250ZW50V2luZG93OworcGlja2VyV2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsIGZ1bmN0aW9uKCkgeworICAgIGRlYnVnKCdD
aGVjayB0aGF0IHBhZ2UgcG9wdXAgZXhpc3RzLicpOworICAgIHNob3VsZEJlKCdwaWNrZXJXaW5k
b3cucGFnZVBvcHVwQ29udHJvbGxlci50b1N0cmluZygpJywgJyJbb2JqZWN0IFBhZ2VQb3B1cENv
bnRyb2xsZXJdIicpOworICAgIHBpY2tlcldpbmRvdy5mb2N1cygpOworCisgICAgZGVidWcoJ0No
ZWNrIHRoYXQgdXAvZG93biBhcnJvdyBrZXlzIHdvcmsuJyk7CisgICAgc2hvdWxkQmUoJ2hpZ2hs
aWdodGVkRW50cnkoKScsICciMjAxMi0wMS0wMSInKTsKKyAgICBldmVudFNlbmRlci5rZXlEb3du
KCdkb3duQXJyb3cnKTsKKyAgICBzaG91bGRCZSgnaGlnaGxpZ2h0ZWRFbnRyeSgpJywgJyIyMDEy
LTAxLTAyIicpOworICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ2Rvd25BcnJvdycpOworICAgIHNo
b3VsZEJlKCdoaWdobGlnaHRlZEVudHJ5KCknLCAnIjIwMTItMDEtMDMiJyk7CisgICAgZXZlbnRT
ZW5kZXIua2V5RG93bigndXBBcnJvdycpOworICAgIHNob3VsZEJlKCdoaWdobGlnaHRlZEVudHJ5
KCknLCAnIjIwMTItMDEtMDIiJyk7CisgICAgZXZlbnRTZW5kZXIua2V5RG93bigndXBBcnJvdycp
OworICAgIHNob3VsZEJlKCdoaWdobGlnaHRlZEVudHJ5KCknLCAnIjIwMTItMDEtMDEiJyk7CisK
KyAgICBkZWJ1ZygnQ2hlY2sgdGhhdCB1cCBhcnJvdyBrZXkgYXQgdG9wIG9mIGxpc3QgZG9lcyBu
b3RoaW5nLicpOworICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ3VwQXJyb3cnKTsKKyAgICBzaG91
bGRCZSgnaGlnaGxpZ2h0ZWRFbnRyeSgpJywgJyIyMDEyLTAxLTAxIicpOworICAgIGV2ZW50U2Vu
ZGVyLmtleURvd24oJ2Rvd25BcnJvdycpOworICAgIHNob3VsZEJlKCdoaWdobGlnaHRlZEVudHJ5
KCknLCAnIjIwMTItMDEtMDIiJyk7CisKKyAgICBkZWJ1ZygnQ2hlY2sgdGhhdCBwYWdlIHVwL2Rv
d24gYXJyb3cga2V5cyB3b3JrLicpOworICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ3BhZ2VEb3du
Jyk7CisgICAgc2hvdWxkQmUoJ2hpZ2hsaWdodGVkRW50cnkoKScsICciMjAxMi0wMi0wOSInKTsK
KyAgICBldmVudFNlbmRlci5rZXlEb3duKCdwYWdlRG93bicpOworICAgIHNob3VsZEJlKCdoaWdo
bGlnaHRlZEVudHJ5KCknLCAnIjIwMTItMDItMjkiJyk7CisgICAgZXZlbnRTZW5kZXIua2V5RG93
bigncGFnZVVwJyk7CisgICAgc2hvdWxkQmUoJ2hpZ2hsaWdodGVkRW50cnkoKScsICciMjAxMi0w
MS0yMSInKTsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCdwYWdlRG93bicpOworICAgIHNob3Vs
ZEJlKCdoaWdobGlnaHRlZEVudHJ5KCknLCAnIjIwMTItMDItMjkiJyk7CisgICAgZXZlbnRTZW5k
ZXIua2V5RG93bigncGFnZURvd24nKTsKKyAgICBzaG91bGRCZSgnaGlnaGxpZ2h0ZWRFbnRyeSgp
JywgJyJAb3BlbkNhbGVuZGFyUGlja2VyIicpOworCisgICAgZGVidWcoJ0NoZWNrIHRoYXQgZG93
biBhcnJvdyBrZXkgYXQgYm90dG9tIG9mIGxpc3QgZG9lcyBub3RoaW5nLicpOworICAgIGV2ZW50
U2VuZGVyLmtleURvd24oJ2Rvd25BcnJvdycpOworICAgIHNob3VsZEJlKCdoaWdobGlnaHRlZEVu
dHJ5KCknLCAnIkBvcGVuQ2FsZW5kYXJQaWNrZXIiJyk7CisgICAgCisgICAgZGVidWcoJ0NoZWNr
IHRoYXQgZW50ZXIga2V5IHNldHMgdGhlIGhpZ2hsaWdodGVkIHZhbHVlLicpOworICAgIGV2ZW50
U2VuZGVyLmtleURvd24oJ3VwQXJyb3cnKTsKKyAgICBzaG91bGRCZSgnaGlnaGxpZ2h0ZWRFbnRy
eSgpJywgJyIyMDEyLTAzLTA4IicpOworICAgIGV2ZW50U2VuZGVyLmtleURvd24oIlxuIik7Cisg
ICAgc2hvdWxkQmUoJ2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkYXRlIikudmFsdWUnLCAnIjIw
MTItMDMtMDgiJyk7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30sIGZhbHNlKTsKKworZnVuY3Rp
b24gaGlnaGxpZ2h0ZWRFbnRyeSgpIHsKKyAgICB2YXIgYWN0aXZlRWxlbWVudCA9IHBpY2tlcldp
bmRvdy5kb2N1bWVudC5hY3RpdmVFbGVtZW50OworICAgIGlmICghYWN0aXZlRWxlbWVudCkKKyAg
ICAgICAgcmV0dXJuIG51bGw7CisgICAgdmFyIHZhbHVlID0gYWN0aXZlRWxlbWVudC5kYXRhc2V0
LnZhbHVlOworICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICJzdHJpbmciKQorICAgICAgICByZXR1
cm4gdmFsdWU7CisgICAgdmFyIGFjdGlvbiA9IGFjdGl2ZUVsZW1lbnQuZGF0YXNldC5hY3Rpb247
CisgICAgaWYgKHR5cGVvZiBhY3Rpb24gPT09ICJzdHJpbmciKQorICAgICAgICByZXR1cm4gIkAi
ICsgYWN0aW9uOworICAgIHJldHVybiBudWxsOworfQorCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vZmFzdC9mb3Jtcy9kYXRlL2RhdGUtc3VnZ2VzdGlvbi1waWNrZXItbW91c2Utb3Bl
cmF0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0
L2Zvcm1zL2RhdGUvZGF0ZS1zdWdnZXN0aW9uLXBpY2tlci1tb3VzZS1vcGVyYXRpb25zLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45ZTNkMjBmMjA5YmQ1M2NlYjM3ZGNjYjZhOWQ4NjlmYzMyNzZm
ZWI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFz
dC9mb3Jtcy9kYXRlL2RhdGUtc3VnZ2VzdGlvbi1waWNrZXItbW91c2Utb3BlcmF0aW9ucy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAorVGVzdHMgdGhhdCBrZXkgYmluZGluZ3Mgd29yayBh
cyBleHBlY3RlZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0NoZWNrIHRoYXQg
cGFnZSBwb3B1cCBkb2Vzbid0IGV4aXN0IGF0IGZpcnN0LgorUEFTUyBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgibW9jay1wYWdlLXBvcHVwIikgaXMgbnVsbAorQ2hlY2sgdGhhdCBwYWdlIHBvcHVw
IGV4aXN0cy4KK1BBU1MgcGlja2VyV2luZG93LnBhZ2VQb3B1cENvbnRyb2xsZXIudG9TdHJpbmco
KSBpcyAiW29iamVjdCBQYWdlUG9wdXBDb250cm9sbGVyXSIKK0NoZWNrIHRoYXQgaG92ZXJpbmcg
b3ZlciBhbiBlbnRyeSBoaWdobGlnaHRzIGl0LgorUEFTUyBoaWdobGlnaHRlZEVudHJ5KCkgaXMg
IjIwMTItMDEtMDIiCitDaGVjayB0aGF0IG1vdmluZyB0aGUgbW91c2Ugb3V0c2lkZSB0aGUgcG9w
dXAgZGUtaGlnaGxpZ2h0cyBlbnRyaWVzLgorUEFTUyBoaWdobGlnaHRlZEVudHJ5KCkgaXMgbnVs
bAorQ2hlY2sgdGhhdCBtb3VzZSBjbGljayBzZXRzIHRoZSB2YWx1ZS4KK1BBU1MgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImRhdGUiKS52YWx1ZSBpcyAiMjAxMi0wMS0wMyIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1zdWdnZXN0aW9u
LXBpY2tlci1tb3VzZS1vcGVyYXRpb25zLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1zdWdnZXN0aW9uLXBpY2tlci1tb3VzZS1vcGVyYXRp
b25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNDI5OGNiMzU2ZTNhMTQ5NmRlYzAzMDZmYjE3MTRiYTM3YjUy
NjhmYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zh
c3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2VyLW1vdXNlLW9wZXJhdGlvbnMuaHRt
bApAQCAtMCwwICsxLDE2NCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjYmJi
YmJiOyI+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPGlucHV0IHR5cGU9ZGF0ZSBpZD1kYXRlIHZhbHVlPSIyMDEyLTEyLTI0IiBsaXN0PXN1Z2dl
c3Rpb25zPgorPGRhdGFsaXN0IGlkPXN1Z2dlc3Rpb25zPgorICAgIDxvcHRpb24gbGFiZWw9IlRv
ZGF5Ij4yMDEyLTAxLTAxPC9vcHRpb24+CisgICAgPG9wdGlvbiBsYWJlbD0iVG9tb3Jyb3ciPjIw
MTItMDEtMDI8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMDM8L29wdGlvbj4KKyAgICA8
b3B0aW9uPjIwMTItMDEtMDQ8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMDU8L29wdGlv
bj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMDY8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEt
MDc8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMDg8L29wdGlvbj4KKyAgICA8b3B0aW9u
PjIwMTItMDEtMDk8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMTA8L29wdGlvbj4KKyAg
ICA8b3B0aW9uPjIwMTItMDEtMTE8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMTI8L29w
dGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMTM8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTIt
MDEtMTQ8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMTU8L29wdGlvbj4KKyAgICA8b3B0
aW9uPjIwMTItMDEtMTY8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMTc8L29wdGlvbj4K
KyAgICA8b3B0aW9uPjIwMTItMDEtMTg8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMTk8
L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMjA8L29wdGlvbj4KKyAgICA8b3B0aW9uIGxh
YmVsPSItIj4yMDEyLTAxLTIxPC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTIyPC9vcHRp
b24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTIzPC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAx
LTI0PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTI1PC9vcHRpb24+CisgICAgPG9wdGlv
bj4yMDEyLTAxLTI2PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTI3PC9vcHRpb24+Cisg
ICAgPG9wdGlvbj4yMDEyLTAxLTI4PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTI5PC9v
cHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTMwPC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEy
LTAxLTMxPC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAyLTAxPC9vcHRpb24+CisgICAgPG9w
dGlvbj4yMDEyLTAyLTAyPC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAyLTAzPC9vcHRpb24+
CisgICAgPG9wdGlvbj4yMDEyLTAyLTA0PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAyLTA1
PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAyLTA2PC9vcHRpb24+CisgICAgPG9wdGlvbj4y
MDEyLTAyLTA3PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAyLTA4PC9vcHRpb24+CisgICAg
PG9wdGlvbj4yMDEyLTAyLTA5PC9vcHRpb24+CisgICAgPG9wdGlvbiBsYWJlbD0iLSI+MjAxMi0w
Mi0xMDwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0xMTwvb3B0aW9uPgorICAgIDxvcHRp
b24+MjAxMi0wMi0xMjwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0xMzwvb3B0aW9uPgor
ICAgIDxvcHRpb24+MjAxMi0wMi0xNDwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0xNTwv
b3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0xNjwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAx
Mi0wMi0xNzwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0xODwvb3B0aW9uPgorICAgIDxv
cHRpb24+MjAxMi0wMi0xOTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0yMDwvb3B0aW9u
PgorICAgIDxvcHRpb24+MjAxMi0wMi0yMTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0y
Mjwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0yMzwvb3B0aW9uPgorICAgIDxvcHRpb24+
MjAxMi0wMi0yNDwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0yNTwvb3B0aW9uPgorICAg
IDxvcHRpb24+MjAxMi0wMi0yNjwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0yNzwvb3B0
aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0yODwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0w
Mi0yOTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMy0wMTwvb3B0aW9uPgorICAgIDxvcHRp
b24+MjAxMi0wMy0wMjwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMy0wMzwvb3B0aW9uPgor
ICAgIDxvcHRpb24+MjAxMi0wMy0wNDwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMy0wNTwv
b3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMy0wNjwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAx
Mi0wMy0wNzwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMy0wODwvb3B0aW9uPgorICAgIDxv
cHRpb24+MjAxMi0wMS0wMDwvb3B0aW9uPiA8IS0taW52YWxpZC0tPgorICAgIDxvcHRpb24+Zm9v
PC9vcHRpb24+IDwhLS1pbnZhbGlkLS0+Cis8L2RhdGFsaXN0PgorPHNjcmlwdD4KK2Rlc2NyaXB0
aW9uKCJUZXN0cyB0aGF0IGtleSBiaW5kaW5ncyB3b3JrIGFzIGV4cGVjdGVkLiIpOword2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldEVuYWJsZU1vY2tQYWdlUG9wdXAodHJ1ZSk7CitkZWJ1ZygnQ2hlY2sg
dGhhdCBwYWdlIHBvcHVwIGRvZXNuXCd0IGV4aXN0IGF0IGZpcnN0LicpOworc2hvdWxkQmVOdWxs
KCdkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW9jay1wYWdlLXBvcHVwIiknKTsKKwordmFyIGNh
bGVuZGFyUGlja2VyRWxlbWVudCA9IHdpbmRvdy5pbnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0ZScpKS5maXJzdENoaWxkLmxhc3RDaGlsZDsKK2Ns
aWNrRWxlbWVudChjYWxlbmRhclBpY2tlckVsZW1lbnQpOworCit2YXIgcGlja2VyV2luZG93ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vY2stcGFnZS1wb3B1cCcpLmNvbnRlbnRXaW5kb3c7
CitwaWNrZXJXaW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIiwgZnVuY3Rpb24oKSB7Cisg
ICAgZGVidWcoJ0NoZWNrIHRoYXQgcGFnZSBwb3B1cCBleGlzdHMuJyk7CisgICAgc2hvdWxkQmUo
J3BpY2tlcldpbmRvdy5wYWdlUG9wdXBDb250cm9sbGVyLnRvU3RyaW5nKCknLCAnIltvYmplY3Qg
UGFnZVBvcHVwQ29udHJvbGxlcl0iJyk7CisKKyAgICBkZWJ1ZygnQ2hlY2sgdGhhdCBob3Zlcmlu
ZyBvdmVyIGFuIGVudHJ5IGhpZ2hsaWdodHMgaXQuJyk7CisgICAgaG92ZXJPdmVyRWxlbWVudChw
aWNrZXJXaW5kb3cuZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnN1Z2dlc3Rpb24tZW50cnk6bnRo
LWNoaWxkKDIpIikpOworICAgIHNob3VsZEJlKCdoaWdobGlnaHRlZEVudHJ5KCknLCAnIjIwMTIt
MDEtMDIiJyk7CisKKyAgICBkZWJ1ZygnQ2hlY2sgdGhhdCBtb3ZpbmcgdGhlIG1vdXNlIG91dHNp
ZGUgdGhlIHBvcHVwIGRlLWhpZ2hsaWdodHMgZW50cmllcy4nKTsKKyAgICBob3Zlck92ZXJFbGVt
ZW50KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkZXNjcmlwdGlvbicpKTsKKyAgICBzaG91bGRC
ZU51bGwoJ2hpZ2hsaWdodGVkRW50cnkoKScpOworCisgICAgZGVidWcoJ0NoZWNrIHRoYXQgbW91
c2UgY2xpY2sgc2V0cyB0aGUgdmFsdWUuJyk7CisgICAgY2xpY2tFbGVtZW50KHBpY2tlcldpbmRv
dy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIuc3VnZ2VzdGlvbi1lbnRyeTpudGgtY2hpbGQoMyki
KSk7CisgICAgc2hvdWxkQmUoJ2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkYXRlIikudmFsdWUn
LCAnIjIwMTItMDEtMDMiJyk7CisKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30sIGZhbHNlKTsKKwor
ZnVuY3Rpb24gaGlnaGxpZ2h0ZWRFbnRyeSgpIHsKKyAgICB2YXIgYWN0aXZlRWxlbWVudCA9IHBp
Y2tlcldpbmRvdy5kb2N1bWVudC5hY3RpdmVFbGVtZW50OworICAgIGlmICghYWN0aXZlRWxlbWVu
dCkKKyAgICAgICAgcmV0dXJuIG51bGw7CisgICAgdmFyIHZhbHVlID0gYWN0aXZlRWxlbWVudC5k
YXRhc2V0LnZhbHVlOworICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICJzdHJpbmciKQorICAgICAg
ICByZXR1cm4gdmFsdWU7CisgICAgdmFyIGFjdGlvbiA9IGFjdGl2ZUVsZW1lbnQuZGF0YXNldC5h
Y3Rpb247CisgICAgaWYgKHR5cGVvZiBhY3Rpb24gPT09ICJzdHJpbmciKQorICAgICAgICByZXR1
cm4gIkAiICsgYWN0aW9uOworICAgIHJldHVybiBudWxsOworfQorCitmdW5jdGlvbiBjdW11bGF0
aXZlT2Zmc2V0KGVsZW1lbnQpIHsKKyAgICB2YXIgeCA9IDA7CisgICAgdmFyIHkgPSAwOworICAg
IHZhciBwYXJlbnRGcmFtZSA9IGVsZW1lbnQub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldy5mcmFt
ZUVsZW1lbnQ7CisgICAgaWYgKHBhcmVudEZyYW1lKSB7CisgICAgICAgIHZhciBwYXJlbnRGcmFt
ZU9mZnNldCA9IGN1bXVsYXRpdmVPZmZzZXQocGFyZW50RnJhbWUpOworICAgICAgICB4ID0gcGFy
ZW50RnJhbWVPZmZzZXRbMF07CisgICAgICAgIHkgPSBwYXJlbnRGcmFtZU9mZnNldFsxXTsKKyAg
ICB9CisgICAgaWYgKGVsZW1lbnQucGFyZW50Tm9kZSkgeworICAgICAgICBkbyB7CisgICAgICAg
ICAgICB4ICs9IGVsZW1lbnQub2Zmc2V0TGVmdCB8fCAwOworICAgICAgICAgICAgeSArPSBlbGVt
ZW50Lm9mZnNldFRvcCAgfHwgMDsKKyAgICAgICAgICAgIGVsZW1lbnQgPSBlbGVtZW50Lm9mZnNl
dFBhcmVudDsKKyAgICAgICAgfSB3aGlsZSAoZWxlbWVudCk7CisgICAgfQorICAgIHJldHVybiBb
eCwgeV07Cit9CisKK2Z1bmN0aW9uIGhvdmVyT3ZlckVsZW1lbnQoZWxlbWVudCkgeworICAgIHZh
ciBvZmZzZXQgPSBjdW11bGF0aXZlT2Zmc2V0KGVsZW1lbnQpOworICAgIHZhciBjZW50ZXJYID0g
b2Zmc2V0WzBdICsgZWxlbWVudC5vZmZzZXRXaWR0aCAvIDI7CisgICAgdmFyIGNlbnRlclkgPSBv
ZmZzZXRbMV0gKyBlbGVtZW50Lm9mZnNldEhlaWdodCAvIDI7CisgICAgZXZlbnRTZW5kZXIubW91
c2VNb3ZlVG8oY2VudGVyWCwgY2VudGVyWSk7Cit9CisKK2Z1bmN0aW9uIGNsaWNrRWxlbWVudChl
bGVtZW50KSB7CisgICAgdmFyIG9mZnNldCA9IGN1bXVsYXRpdmVPZmZzZXQoZWxlbWVudCk7Cisg
ICAgdmFyIGNlbnRlclggPSBvZmZzZXRbMF0gKyBlbGVtZW50Lm9mZnNldFdpZHRoIC8gMjsKKyAg
ICB2YXIgY2VudGVyWSA9IG9mZnNldFsxXSArIGVsZW1lbnQub2Zmc2V0SGVpZ2h0IC8gMjsKKyAg
ICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhjZW50ZXJYLCBjZW50ZXJZKTsKKyAgICBldmVudFNl
bmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7Cit9CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9DaGFu
Z2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggMmJiYjg4ODcwN2NhNDQyM2Y2Nzc4MzUzNzU0Mzc2OTVm
MDExZmI3Yi4uZmUyZmQ3NmE2ZmFkZmE3NmFlNDg5NjRlODZkNDRjNTQ2MWM4Y2VjOCAxMDA2NDQK
LS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEyLTA5
LTE5ICBLZWlzaGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIERhdGFs
aXN0IFVJIGZvciBpbnB1dCB0eXBlPWRhdGUgZm9yIENocm9taXVtIHBvcnQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2MDg1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNYW51YWxUZXN0cy9mb3Jtcy9j
YWxlbmRhci1waWNrZXIuaHRtbDoKKwogMjAxMi0wOS0xOCAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNo
b2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0NNQUtFXSBGaXggYnVpbGQgYnJlYWsgYmVjYXVz
ZSBvZiBtZW1vcnkgZXhoYXVzdGVkLgpkaWZmIC0tZ2l0IGEvTWFudWFsVGVzdHMvZm9ybXMvY2Fs
ZW5kYXItcGlja2VyLmh0bWwgYi9NYW51YWxUZXN0cy9mb3Jtcy9jYWxlbmRhci1waWNrZXIuaHRt
bAppbmRleCA0MzhlYjZmNmY2ODUwZmY0MmFiMTllN2VlMjE3ZDA5NTE5NDc2NzIyLi4xOGYxZTk3
OTVmNTMwMTU4N2EzYmVkNzhkM2E3ZjE2NTYzY2ViNzcyIDEwMDY0NAotLS0gYS9NYW51YWxUZXN0
cy9mb3Jtcy9jYWxlbmRhci1waWNrZXIuaHRtbAorKysgYi9NYW51YWxUZXN0cy9mb3Jtcy9jYWxl
bmRhci1waWNrZXIuaHRtbApAQCAtMjMsNiArMjMsOCBAQCBpZnJhbWUgewogIDxvcHRpb24+RW5n
bGlzaDwvb3B0aW9uPgogIDxvcHRpb24+SmFwYW5lc2U8L29wdGlvbj4KICA8b3B0aW9uPkFyYWJp
Yzwvb3B0aW9uPgorIDxvcHRpb24+d2l0aCBkYXRhbGlzdDwvb3B0aW9uPgorIDxvcHRpb24+d2l0
aCBsb25nIGRhdGFsaXN0PC9vcHRpb24+CiA8L3NlbGVjdD4KIAogPGRpdj48aW5wdXQgdHlwZT0i
dGV4dCIgaWQ9ImRhdGUiPjwvZGl2PgpAQCAtNjgsNiArNzAsODEgQEAgdmFyIGFyYWJpY0FyZ3Vt
ZW50cyA9IHsKICAgICBzdGVwIDogMSwKICAgICBtYXggOiAnMjAyMC0wNS0xNScsCiB9OwordmFy
IGRhdGFsaXN0QXJndW1lbnRzID0geworICAgIGxvY2FsZTogJ2VuLVVTJywKKyAgICBtb250aExh
YmVscyA6IFsnSmFudWFyeScsICdGZWJydWFyeScsICdNYXJjaCcsICdBcHJpbCcsICdNYXknLCAn
SnVuZScsCisgICAgJ0p1bHknLCAnQXVndXN0JywgJ1NlcHRlbWJlcicsICdPY3RvYmVyJywgJ05v
dmVtYmVyJywgJ0RlY2VtYmVyJ10sCisgICAgZGF5TGFiZWxzIDogWydTdW4nLCAnTW9uJywgJ1R1
ZScsICdXZWQnLCAnVGh1JywgJ0ZyaScsICdTYXQnXSwKKyAgICB0b2RheUxhYmVsIDogJ1RvZGF5
JywKKyAgICBjbGVhckxhYmVsIDogJ0NsZWFyJywKKyAgICBjYW5jZWxMYWJlbCA6ICdDYW5jZWwn
LAorICAgIHdlZWtTdGFydERheSA6IDAsCisgICAgc3RlcCA6IDEsCisgICAgbWF4IDogJzIwOTkt
MTItMzEnLAorICAgIHN1Z2dlc3Rpb25WYWx1ZXMgOiBbJzIwMTItMDEtMDEnLCAnMjAxMi0wNi0w
MycsICcyMDEyLTA5LTA2JywgJzIwMTItMTItMjQnXSwKKyAgICBsb2NhbGl6ZWRTdWdnZXN0aW9u
VmFsdWVzIDogWycxLzEvMTInLCAnNi8zLzEyJywgJzkvNi8xMicsICcxMi8yNC8xMiddLAorICAg
IHN1Z2dlc3Rpb25MYWJlbHMgOiBbJycsICdCaXJ0aGRheScsICcnLCAnQ2hyaXN0bWFzJ10sCisg
ICAgc2hvd090aGVyRGF0ZUVudHJ5OiB0cnVlLAorICAgIG90aGVyRGF0ZUxhYmVsOiAnT3RoZXIu
Li4nLAorICAgIGlucHV0V2lkdGg6IDEyNywKKyAgICBoaWdobGlnaHRGaXJzdFN1Z2dlc3Rpb25F
bnRyeTogZmFsc2UKK307Cit2YXIgbG9uZ0RhdGFsaXN0QXJndW1lbnRzID0geworICAgIGxvY2Fs
ZTogJ2VuLVVTJywKKyAgICBtb250aExhYmVscyA6IFsnSmFudWFyeScsICdGZWJydWFyeScsICdN
YXJjaCcsICdBcHJpbCcsICdNYXknLCAnSnVuZScsCisgICAgJ0p1bHknLCAnQXVndXN0JywgJ1Nl
cHRlbWJlcicsICdPY3RvYmVyJywgJ05vdmVtYmVyJywgJ0RlY2VtYmVyJ10sCisgICAgZGF5TGFi
ZWxzIDogWydTdW4nLCAnTW9uJywgJ1R1ZScsICdXZWQnLCAnVGh1JywgJ0ZyaScsICdTYXQnXSwK
KyAgICB0b2RheUxhYmVsIDogJ1RvZGF5JywKKyAgICBjbGVhckxhYmVsIDogJ0NsZWFyJywKKyAg
ICBjYW5jZWxMYWJlbCA6ICdDYW5jZWwnLAorICAgIHdlZWtTdGFydERheSA6IDAsCisgICAgc3Rl
cCA6IDEsCisgICAgbWF4IDogJzIwOTktMTItMzEnLAorICAgIHN1Z2dlc3Rpb25WYWx1ZXM6IFsi
MjAxMi0wMS0wMSIsICIyMDEyLTAxLTAyIiwgIjIwMTItMDEtMDMiLCAiMjAxMi0wMS0wNCIsCisg
ICAgICAgICIyMDEyLTAxLTA1IiwgIjIwMTItMDEtMDYiLCAiMjAxMi0wMS0wNyIsICIyMDEyLTAx
LTA4IiwgIjIwMTItMDEtMDkiLAorICAgICAgICAiMjAxMi0wMS0xMCIsICIyMDEyLTAxLTExIiwg
IjIwMTItMDEtMTIiLCAiMjAxMi0wMS0xMyIsICIyMDEyLTAxLTE0IiwKKyAgICAgICAgIjIwMTIt
MDEtMTUiLCAiMjAxMi0wMS0xNiIsICIyMDEyLTAxLTE3IiwgIjIwMTItMDEtMTgiLCAiMjAxMi0w
MS0xOSIsCisgICAgICAgICIyMDEyLTAxLTIwIiwgIjIwMTItMDEtMjEiLCAiMjAxMi0wMS0yMiIs
ICIyMDEyLTAxLTIzIiwgIjIwMTItMDEtMjQiLAorICAgICAgICAiMjAxMi0wMS0yNSIsICIyMDEy
LTAxLTI2IiwgIjIwMTItMDEtMjciLCAiMjAxMi0wMS0yOCIsICIyMDEyLTAxLTI5IiwKKyAgICAg
ICAgIjIwMTItMDEtMzAiLCAiMjAxMi0wMS0zMSIsICIyMDEyLTAyLTAxIiwgIjIwMTItMDItMDIi
LCAiMjAxMi0wMi0wMyIsCisgICAgICAgICIyMDEyLTAyLTA0IiwgIjIwMTItMDItMDUiLCAiMjAx
Mi0wMi0wNiIsICIyMDEyLTAyLTA3IiwgIjIwMTItMDItMDgiLAorICAgICAgICAiMjAxMi0wMi0w
OSIsICIyMDEyLTAyLTEwIiwgIjIwMTItMDItMTEiLCAiMjAxMi0wMi0xMiIsICIyMDEyLTAyLTEz
IiwKKyAgICAgICAgIjIwMTItMDItMTQiLCAiMjAxMi0wMi0xNSIsICIyMDEyLTAyLTE2IiwgIjIw
MTItMDItMTciLCAiMjAxMi0wMi0xOCIsCisgICAgICAgICIyMDEyLTAyLTE5IiwgIjIwMTItMDIt
MjAiLCAiMjAxMi0wMi0yMSIsICIyMDEyLTAyLTIyIiwgIjIwMTItMDItMjMiLAorICAgICAgICAi
MjAxMi0wMi0yNCIsICIyMDEyLTAyLTI1IiwgIjIwMTItMDItMjYiLCAiMjAxMi0wMi0yNyIsICIy
MDEyLTAyLTI4IiwKKyAgICAgICAgIjIwMTItMDItMjkiLCAiMjAxMi0wMy0wMSIsICIyMDEyLTAz
LTAyIiwgIjIwMTItMDMtMDMiLCAiMjAxMi0wMy0wNCIsCisgICAgICAgICIyMDEyLTAzLTA1Iiwg
IjIwMTItMDMtMDYiLCAiMjAxMi0wMy0wNyIsICIyMDEyLTAzLTA4IiwgIjIwMTItMDMtMDkiLAor
ICAgICAgICAiMjAxMi0wMy0xMCIsICIyMDEyLTAzLTExIiwgIjIwMTItMDMtMTIiLCAiMjAxMi0w
My0xMyIsICIyMDEyLTAzLTE0IiwKKyAgICAgICAgIjIwMTItMDMtMTUiLCAiMjAxMi0wMy0xNiIs
ICIyMDEyLTAzLTE3IiwgIjIwMTItMDMtMTgiLCAiMjAxMi0wMy0xOSIsCisgICAgICAgICIyMDEy
LTAzLTIwIiwgIjIwMTItMDMtMjEiLCAiMjAxMi0wMy0yMiIsICIyMDEyLTAzLTIzIiwgIjIwMTIt
MDMtMjQiLAorICAgICAgICAiMjAxMi0wMy0yNSIsICIyMDEyLTAzLTI2IiwgIjIwMTItMDMtMjci
LCAiMjAxMi0wMy0yOCIsICIyMDEyLTAzLTI5IiwKKyAgICAgICAgIjIwMTItMDMtMzAiLCAiMjAx
Mi0wMy0zMSJdLAorICAgIGxvY2FsaXplZFN1Z2dlc3Rpb25WYWx1ZXM6IFsiMS8xLzEyIiwgIjEv
Mi8xMiIsICIxLzMvMTIiLCAiMS80LzEyIiwKKyAgICAgICAgIjEvNS8xMiIsICIxLzYvMTIiLCAi
MS83LzEyIiwgIjEvOC8xMiIsICIxLzkvMTIiLCAiMS8xMC8xMiIsICIxLzExLzEyIiwKKyAgICAg
ICAgIjEvMTIvMTIiLCAiMS8xMy8xMiIsICIxLzE0LzEyIiwgIjEvMTUvMTIiLCAiMS8xNi8xMiIs
ICIxLzE3LzEyIiwKKyAgICAgICAgIjEvMTgvMTIiLCAiMS8xOS8xMiIsICIxLzIwLzEyIiwgIjEv
MjEvMTIiLCAiMS8yMi8xMiIsICIxLzIzLzEyIiwKKyAgICAgICAgIjEvMjQvMTIiLCAiMS8yNS8x
MiIsICIxLzI2LzEyIiwgIjEvMjcvMTIiLCAiMS8yOC8xMiIsICIxLzI5LzEyIiwKKyAgICAgICAg
IjEvMzAvMTIiLCAiMS8zMS8xMiIsICIyLzEvMTIiLCAiMi8yLzEyIiwgIjIvMy8xMiIsICIyLzQv
MTIiLCAiMi81LzEyIiwKKyAgICAgICAgIjIvNi8xMiIsICIyLzcvMTIiLCAiMi84LzEyIiwgIjIv
OS8xMiIsICIyLzEwLzEyIiwgIjIvMTEvMTIiLCAiMi8xMi8xMiIsCisgICAgICAgICIyLzEzLzEy
IiwgIjIvMTQvMTIiLCAiMi8xNS8xMiIsICIyLzE2LzEyIiwgIjIvMTcvMTIiLCAiMi8xOC8xMiIs
CisgICAgICAgICIyLzE5LzEyIiwgIjIvMjAvMTIiLCAiMi8yMS8xMiIsICIyLzIyLzEyIiwgIjIv
MjMvMTIiLCAiMi8yNC8xMiIsCisgICAgICAgICIyLzI1LzEyIiwgIjIvMjYvMTIiLCAiMi8yNy8x
MiIsICIyLzI4LzEyIiwgIjIvMjkvMTIiLCAiMy8xLzEyIiwKKyAgICAgICAgIjMvMi8xMiIsICIz
LzMvMTIiLCAiMy80LzEyIiwgIjMvNS8xMiIsICIzLzYvMTIiLCAiMy83LzEyIiwgIjMvOC8xMiIs
CisgICAgICAgICIzLzkvMTIiLCAiMy8xMC8xMiIsICIzLzExLzEyIiwgIjMvMTIvMTIiLCAiMy8x
My8xMiIsICIzLzE0LzEyIiwgCisgICAgICAgICIzLzE1LzEyIiwgIjMvMTYvMTIiLCAiMy8xNy8x
MiIsICIzLzE4LzEyIiwgIjMvMTkvMTIiLCAiMy8yMC8xMiIsCisgICAgICAgICIzLzIxLzEyIiwg
IjMvMjIvMTIiLCAiMy8yMy8xMiIsICIzLzI0LzEyIiwgIjMvMjUvMTIiLCAiMy8yNi8xMiIsCisg
ICAgICAgICIzLzI3LzEyIiwgIjMvMjgvMTIiLCAiMy8yOS8xMiIsICIzLzMwLzEyIiwgIjMvMzEv
MTIiXSwKKyAgICBzdWdnZXN0aW9uTGFiZWxzOiBbIlRvZGF5IiwgIlRvbW9ycm93IiwgIiIsICIi
LCAiIiwgIiIsICIiLCAiIiwgIiIsICIiLCAiIiwKKyAgICAgICAgIiIsICIiLCAiIiwgIiIsICIi
LCAiIiwgIiIsICIiLCAiIiwgIiIsICIiLCAiIiwgIiIsICIiLCAiIiwgIiIsICIiLCAiIiwKKyAg
ICAgICAgIiIsICIiLCAiIiwgIiIsICIiLCAiIiwgIiIsICIiLCAiIiwgIiIsICIiLCAiIiwgIiIs
ICIiLCAiIiwgIiIsICIiLCAiIiwKKyAgICAgICAgIiIsICIiLCAiIiwgIiIsICIiLCAiIiwgIiIs
ICIiLCAiIiwgIiIsICIiLCAiIiwgIiIsICIiLCAiIiwgIiIsICIiLCAiIiwKKyAgICAgICAgIiIs
ICIiLCAiIiwgIiIsICIiLCAiIiwgIiIsICIiLCAiIiwgIiIsICIiLCAiIiwgIiIsICIiLCAiIiwg
IiIsICIiLCAiIiwKKyAgICAgICAgIiIsICIiLCAiIiwgIiIsICIiLCAiIiwgIiIsICIiXSwKKyAg
ICBzaG93T3RoZXJEYXRlRW50cnk6IHRydWUsCisgICAgb3RoZXJEYXRlTGFiZWw6ICdPdGhlci4u
LicsCisgICAgaW5wdXRXaWR0aDogMTI3LAorICAgIGhpZ2hsaWdodEZpcnN0U3VnZ2VzdGlvbkVu
dHJ5OiB0cnVlCit9OwogCiBmdW5jdGlvbiBvcGVuQ2FsZW5kYXIoYXJncykgewogICAgIHZhciBm
cmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpZnJhbWUnKVswXTsKQEAgLTc3
LDYgKzE1NCwxMCBAQCBmdW5jdGlvbiBvcGVuQ2FsZW5kYXIoYXJncykgewogICAgIGNvbW1vbkNz
c0xpbmsucmVsID0gJ3N0eWxlc2hlZXQnOwogICAgIGNvbW1vbkNzc0xpbmsuaHJlZiA9ICcuLi8u
Li9Tb3VyY2UvV2ViQ29yZS9SZXNvdXJjZXMvcGFnZXBvcHVwcy9waWNrZXJDb21tb24uY3NzPycg
KyAobmV3IERhdGUoKSkuZ2V0VGltZSgpOwogICAgIGRvYy5oZWFkLmFwcGVuZENoaWxkKGNvbW1v
bkNzc0xpbmspOworICAgIHZhciBzdWdnZXN0aW9uUGlja2VyQ3NzTGluayA9IGRvYy5jcmVhdGVF
bGVtZW50KCdsaW5rJyk7CisgICAgc3VnZ2VzdGlvblBpY2tlckNzc0xpbmsucmVsID0gJ3N0eWxl
c2hlZXQnOworICAgIHN1Z2dlc3Rpb25QaWNrZXJDc3NMaW5rLmhyZWYgPSAnLi4vLi4vU291cmNl
L1dlYkNvcmUvUmVzb3VyY2VzL3BhZ2Vwb3B1cHMvc3VnZ2VzdGlvblBpY2tlci5jc3M/JyArIChu
ZXcgRGF0ZSgpKS5nZXRUaW1lKCk7CisgICAgZG9jLmhlYWQuYXBwZW5kQ2hpbGQoc3VnZ2VzdGlv
blBpY2tlckNzc0xpbmspOwogICAgIHZhciBsaW5rID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ2xpbmsn
KTsKICAgICBsaW5rLnJlbCA9ICdzdHlsZXNoZWV0JzsKICAgICBsaW5rLmhyZWYgPSAnLi4vLi4v
U291cmNlL1dlYkNvcmUvUmVzb3VyY2VzL3BhZ2Vwb3B1cHMvY2FsZW5kYXJQaWNrZXIuY3NzPycg
KyAobmV3IERhdGUoKSkuZ2V0VGltZSgpOwpAQCAtODQsNiArMTY1LDkgQEAgZnVuY3Rpb24gb3Bl
bkNhbGVuZGFyKGFyZ3MpIHsKICAgICB2YXIgY29tbW9uSnNTY3JpcHQgPSBkb2MuY3JlYXRlRWxl
bWVudCgnc2NyaXB0Jyk7CiAgICAgY29tbW9uSnNTY3JpcHQuc3JjID0gJy4uLy4uL1NvdXJjZS9X
ZWJDb3JlL1Jlc291cmNlcy9wYWdlcG9wdXBzL3BpY2tlckNvbW1vbi5qcz8nICsgKG5ldyBEYXRl
KCkpLmdldFRpbWUoKTsKICAgICBkb2MuYm9keS5hcHBlbmRDaGlsZChjb21tb25Kc1NjcmlwdCk7
CisgICAgdmFyIHN1Z2dlc3Rpb25QaWNrZXJKc1NjcmlwdCA9IGRvYy5jcmVhdGVFbGVtZW50KCdz
Y3JpcHQnKTsKKyAgICBzdWdnZXN0aW9uUGlja2VySnNTY3JpcHQuc3JjID0gJy4uLy4uL1NvdXJj
ZS9XZWJDb3JlL1Jlc291cmNlcy9wYWdlcG9wdXBzL3N1Z2dlc3Rpb25QaWNrZXIuanM/JyArIChu
ZXcgRGF0ZSgpKS5nZXRUaW1lKCk7CisgICAgZG9jLmJvZHkuYXBwZW5kQ2hpbGQoc3VnZ2VzdGlv
blBpY2tlckpzU2NyaXB0KTsKICAgICB2YXIgc2NyaXB0ID0gZG9jLmNyZWF0ZUVsZW1lbnQoJ3Nj
cmlwdCcpOwogICAgIHNjcmlwdC5zcmMgPSAnLi4vLi4vU291cmNlL1dlYkNvcmUvUmVzb3VyY2Vz
L3BhZ2Vwb3B1cHMvY2FsZW5kYXJQaWNrZXIuanM/JyArIChuZXcgRGF0ZSgpKS5nZXRUaW1lKCk7
CiAgICAgZG9jLmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTsKQEAgLTEyMSw2ICsyMDUsMTIgQEAg
ZnVuY3Rpb24gc2VsZWN0ZWQoc2VsZWN0KSB7CiAgICAgY2FzZSAyOgogICAgICAgICBvcGVuQ2Fs
ZW5kYXIoYXJhYmljQXJndW1lbnRzKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSAzOgorICAg
ICAgICBvcGVuQ2FsZW5kYXIoZGF0YWxpc3RBcmd1bWVudHMpOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIDQ6CisgICAgICAgIG9wZW5DYWxlbmRhcihsb25nRGF0YWxpc3RBcmd1bWVudHMpOwor
ICAgICAgICBicmVhazsKICAgICB9CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165546</attachid>
            <date>2012-09-25 00:55:56 -0700</date>
            <delta_ts>2012-09-25 02:39:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96085-20120925165516.patch</filename>
            <type>text/plain</type>
            <size>42771</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NDU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTRjNjUyNDI1ZDUxOWZi
YWM3OTE1YzVjYmIyYWNhN2NhYmYxMTBmOS4uNDFhNTBmNjhiODE5MDc5YWQyNTNiZjQ2MzAyYWM4
MGMzYTIwY2ViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA5LTIzICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIERhdGFsaXN0IFVJIGZv
ciBpbnB1dCB0eXBlPWRhdGUgZm9yIENocm9taXVtIHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2MDg1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBlbmFibGVzIHRoZSBkYXRhbGlzdCBVSSBm
b3IgaW5wdXQgdHlwZT1kYXRlIG9uIHRoZSBjaHJvbWl1bSBwb3J0LgorCisgICAgICAgIFRlc3Rz
OiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1zdWdnZXN0aW9uLXBpY2tl
ci1hcHBlYXJhbmNlLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3Qv
Zm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2VyLWtleS1vcGVyYXRpb25zLmh0bWwKKyAg
ICAgICAgICAgICAgIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dl
c3Rpb24tcGlja2VyLW1vdXNlLW9wZXJhdGlvbnMuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lQ2hyb21pdW1Db21tb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWVDaHJvbWl1bUNvbW1vbjo6c3VwcG9ydHNEYXRhTGlzdFVJKToKKwogMjAxMi0wOS0yNCAg
RmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIFNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZSBpc24ndCBhd2FyZSBvZiBpbmRleGVkIHN0b3JhZ2UsIGJ1dCBzaG91bGQgYmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtQ29t
bW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZUNocm9taXVtQ29t
bW9uLmNwcAppbmRleCA5ZGJmMGJkNDQxMjZmMGRkNmY5ZDgxNDkyNDc4MjAzY2ZlZjg1YTAzLi5h
ODlkNGU2ZThmOGI4NjY2NzRlNGVjM2Q3YzlmMjkxYzU3NDM3ZDY2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVDaHJvbWl1bUNvbW1vbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lQ2hyb21pdW1Db21tb24uY3BwCkBA
IC0zOSw2ICszOSw5IEBAIGJvb2wgUmVuZGVyVGhlbWVDaHJvbWl1bUNvbW1vbjo6c3VwcG9ydHNE
YXRhTGlzdFVJKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSkKICNpZiBFTkFCTEUoSU5QVVRfVFlQ
RV9DT0xPUikKICAgICAgICAgfHwgdHlwZSA9PSBJbnB1dFR5cGVOYW1lczo6Y29sb3IoKQogI2Vu
ZGlmCisjaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKKyAgICAgICAgfHwgdHlwZSA9PSBJbnB1
dFR5cGVOYW1lczo6ZGF0ZSgpCisjZW5kaWYKICAgICAgICAgfHwgdHlwZSA9PSBJbnB1dFR5cGVO
YW1lczo6cmFuZ2UoKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGZkYjY2YmQ0Mzg2YWU3M2JjOGUwNmFjNmViYTI2
NWEzYzYxMGRmY2YuLmM0ZWRiM2ViZmE1ZGZiMTBlNmU1N2VhN2MyYzgzODdhN2Q3NDFkMDUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMi0wOS0yMyAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlA
d2Via2l0Lm9yZz4KKworICAgICAgICBEYXRhbGlzdCBVSSBmb3IgaW5wdXQgdHlwZT1kYXRlIGZv
ciBDaHJvbWl1bSBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05NjA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0tbWFjL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9y
bXMvZGF0ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2VyLWFwcGVhcmFuY2UtZXhwZWN0ZWQucG5nOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1z
dWdnZXN0aW9uLXBpY2tlci1hcHBlYXJhbmNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9mb3Jtcy9kYXRlL2RhdGUtc3VnZ2VzdGlvbi1waWNr
ZXItYXBwZWFyYW5jZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9m
YXN0L2Zvcm1zL2RhdGUvZGF0ZS1zdWdnZXN0aW9uLXBpY2tlci1rZXktb3BlcmF0aW9ucy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMv
ZGF0ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2VyLWtleS1vcGVyYXRpb25zLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rp
b24tcGlja2VyLW1vdXNlLW9wZXJhdGlvbnMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1zdWdnZXN0aW9uLXBpY2tl
ci1tb3VzZS1vcGVyYXRpb25zLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA5LTI0ICBGaWxpcCBQaXps
byAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgU2VyaWFsaXplZFNjcmlwdFZhbHVlIGlz
bid0IGF3YXJlIG9mIGluZGV4ZWQgc3RvcmFnZSwgYnV0IHNob3VsZCBiZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3Qv
Zm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2VyLWFwcGVhcmFuY2UtZXhwZWN0ZWQucG5n
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbWFjL3BsYXRmb3JtL2Nocm9taXVtL2Zh
c3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2VyLWFwcGVhcmFuY2UtZXhwZWN0ZWQu
cG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmFlMWI1NTEyZTIzYWFiOGQyZDU3M2Y4NzhjNjEyOGY3YjZkZDg3OTEK
R0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDIyMDkxCnpjbWVIdmNVVi17eUVTJT0xJnZXYDJ1NkA3
M1JWeWgxfWx5VFNXdSpuM2V1WllzWUJGPSNzVXNhcSQoZ0ZPe3I0SAp6NG9MNlBNUzRnMnp6cC1Q
Z0MhPUtlN1dFSy05TnRQeHB7YTMkanFGNV9US09OdUM/Ql4mJFQxK0dWXn59QGRGMTMKeiQ5KGRe
ZWFBUkJydHh4Y09nJU13Q2pSQkYpa1JaJFRXXylkbCFkMTVJWlhwfE9DdGBFYkp8KXZNOXp3Qy1s
P1VmCnpiPmBmVHR6dWlXJnhtU0A/QVc8dW5+MTJHRDh1JippR3pjZWdTPkNJO3N4S1hTX2VobkF3
TT58Vioxdlh0X3l3Vgp6QE0qak1xRCVZVGdJOUJJUGxlQ0xUWkxCP3lTZ2VaQm5OJSNxJEA5THQo
QjNpP2s+TnllTzl8bHFVYmZyT3UyJCMKemBUU1VTNWY1cWdGdShHajwyTTlgeHJ5QXxfdzM/Sy0p
Rk5ncEs7M1Y8KW5JQllGJDB0dmhIWXJpQEVMSCZIKT4kCnphZGFDYFRBRWJGWl9pbz43fUllRjk5
dGZCKl8ja1FKZThSPmg0PmZnKz1iR18/PVI8bHxKUnFvMzROdXh6NklPdAp6I1A4Wllue29QOHwy
WS0hZyhmQGUkTUw0OCZMIWhCN3h2Y1opd2ZrXip0RSliYnt+JnA9RFR0eDJZY2txZT8yTnoKeiZ1
PyghX3ZAKyQ3RVp5MV9OQUx9RU8pM0R0YXkyJmNoc2xrRX4mZTVSeHhNdGxYRWpFVl4hRHJ2UTVN
RlVOUHp4Cno7QTVxPEA+Zlg5PWpBZmUldEl9aWQzcjxpek1tVCFnUHNLJWthfD1kaXA+MShkSm1q
bUg1YWVFWkJmcCNiKEBgdgp6aTkqM3hpXkJONF5YSmN9dGFHP3phJkJzRzYhbnpmVTlsKnlUUTE5
cHpZd253KHBZWUMlRyklPGRJa3JGNlE+KEwKentqJX1xV21AdmByNjtAfHRRZDg5Jm0qPFhUIzk/
Vkk7YE9JeU1Sc2pgMT1DRTlJXkhjdiM2YDBaU1BNVWE2SDZ2CnpUXj13djx8I31Pbm1Ve0tgP1Vj
QGVCKEgpb2pzKz1lIX1aflhpMGN3VyN2SFBndj1aVFk1WlpLb1VHS3ZBJnREZQp6eXNoNGMteEwm
I0IrMUZpZy0xb25ESnZeaXJQLU04Nlp3VEs8RmRNSmlJVXBBPHtVMyFsfH5FazFucztQPmJDNzYK
elgzMSkxSjY5YiNlN0thIU9uY3dobXwkRWh1NVE8ekBWZzdDUmR2QkIwV21TPD8oWGlDcD5rRT85
cHZJXzZNOXNyCnp6d00hPGRkSmxGQDgzVUg1JUA4cS15PXIlXmw0dCpgZz9udy1GPHltSEY5R20t
VVNILVRUOW48TWtVbzFtektLIQp6eE9nIT9gTz45SlhWXn17PGZ5MnE2aEAwcmc2JldUemwlLWRQ
MEBKMGw2N3AkSiRvKW52RHlgNlkxLVBfZ00lZHMKem90KUlzejAjK314cGN+dkd3aFNNWnJ3VXFW
X3draXNjTCtpWilrWFVnTWBIUiNvMFd4YyF6UFQrVmgjKntmd3pwCnpZTGdlOCp9VlY3dFdPaGpD
Z2l2SURAQW01YnIxNTR6cz0rJCREfE02Ni1zWFVrOz14SHsyaGpzRjtuWT5neWRDfAp6akxYSmBJ
e0NATyY5PlklWHRFSUJBdTFZKm5+NzNRbDl2eFhVUSR4aChhfS1OQDE9Rz5HSUFyQ2hPanhWQWkz
bS0Kei1SckBAYys0QUAheWNOZVlvSX1OQCZTY2lBMTxwMmRGNSl5YFA7TkNQaUdCUi19VWgrQCFY
X3AhRCNtQ1JHXk56CnpaQ3JYP0Q3OS1WeCVqYldYNDMkSmBLJT9xUSVoVT5BKG18SStPXz8qPjA0
TGFvRVEpQV4oYCQ/QVZubzdpeERmOAp6R1MoNHNadTJzV19iPXlnaTwjfXloKjlFRng0M1FtcSsj
WiglKjsqP0M1QHROSC1SMEpsQUJeR0I3OTZUI0MpbVMKelg/MWdXWFV2I2tgfkkyJCg8blBUZHUl
dn4mT0thJUUlUCphYnw8JiUmNlQ0MXJsdjx8Tz1palFTUFEzeGVae2lFCnpkYktIKlZ9cWZqc0xt
TD1oTlB0QUxgSGJ7ZFR4QFZuck9YIW9RTyRYV1JRJUBBPV81eHZDRWdJdnVmKkVla0EqWQp6I2V5
K3V2NE8pa0RreE0qLXFHb3JUZkhyY19IKHMmQylJb004UCVtSkMpTD9UTlBXMWIoM1crM0VpS3J4
diVKMDgKemkhJHNZWDRRMl4jUElFLUhnVzlBaVg5YmRMOVBDRl4xfHRad0FpP35YKn5gREVxU3Eo
aFF0PDRSLSorNjJsS0okCno+PUN4YmN6MDZIPkNMKVlUS2owKkJfdHgwRztIPVNVJXFfTjkzQ0N9
QCNee283ayhhaUkqcnFKc0JPdlRQMmUhWQp6ZkhnTEIqVzBeRClnKFBjaVE7Zz1pe2g5fT87VUl9
UytSVjE1eW1vKy1AOTsmUGw5M1BSeU9CKm5ua1Q7I3JpZEMKemJ7bXZPN0tJLVYlfSooPilSI0dN
VkN1eV5vMjNGMjFfbE51b0dAU2QkK2dCZVpgflNlUDM/LSEqKUFtJmpkfTloCnpkNDcrZVFnckZW
NkF9My1AJl51RjtjTmUwRnVMJUtodjJqeCoyYDspWjZfRzUlfG9gOVNWVkkxZWxHUTMyRSZIYwp6
Wjk7WGM9JCF3QT4td3d2cktQMkRidXdZR3Y5V14lWS1ZaVBXS1UoQiEyTit+U2hJVngxKVl9N28y
aFA5ZENzPWsKekx1dEZYXz0tTUBjZW4+fWhwfjlpUDIrVGExbXQhU2lEJEV2ZCV7S1VmUGpqQEs/
fl80dnRNXng8I1l+aEtxUUNDCnpgeUVxTl57RnZWNjNRNG9PTz47P1BaTFRYSmVIMX53UE0rX0tJ
aUxrUUpSflYjaFchQlYldSR8WkFTblFkKFNNSgp6S0x2TGZaYHBhJHNPSEkwK1Rpb0shZm9DPHt6
dmg0KHhiRmAkdCNeSj5xb0RZTjJeRWh1LWFzZmRoPWtncnlmMmMKenkrfVJaY3AjbkdwUUEhfGJk
YTlCOGJVOTlWeXUlXkN1WXxDO2V0RGopfUxYcHtOQDJVMXFFUn1OPkVUeD98QTljCnomWT0hJGxO
N3UhTEJESlJXPnxseXFiI05XamJIK2pCKlJ7Y2VaOHVeeSZWSEMjNVB9bHtuZH1mOz1PaDNTNnF9
eAp6SHZ0OXg/eTNacFJJNGJgbGVGT34xMHJUVD8lc1ZeNX4/dDNkYU4jNFVqQyVIYDJnKmYpJW9j
fVZsVm9zVDxIO0MKend4TEw4bHxqdD4oS0Q8WUUpSEZxOVgmbmVJbH1iRj59O3xUVnU0SjByKHg2
VlZMTSFAPDhrfTt5LWxpI3o2bjs/Cnpkd1AwJGJFfFphc1lWLUphI3t6N0VQe1dVTlhDV15UcXw+
e2ptalJPZGllVEE/bDM0MXF0aHV3aE4oKDBTaS18Mgp6ajNNXzhZQ3BEST5nTUFVKGJIcDAlPlJU
fU5sZUM9ekI7Wm4qMnUmREM4I0tEc0kjSlReaDR1PlM2ekBeYygyRH4KejF6ampOdikremdHJHoj
T3Jjb2JnUCZMeHV3KkpNMyMhU25gQF9GQDN1VjxUbipyMGlrNnEyOHRvMjkkYCVIV0ljCnpuaX03
RUdoZDg1N0FLfnN0QmQkX2AjUEhYYH12amlIfE1aMlVtPFRiND1ASGhEUXAhNHhCMWlhNSQ1V2Qq
ZVgmfAp6UW9PbWpkM25TPSZBanhDP21TPipVKSh2S15RZ0xsIUV7PDlEWEZnWEFiUVlmSkxSVy1r
XiQhTm8jQXVHc2opeEoKem5LTmdOaX1JVl4jVUVfYi0oK1ImWSkkdUxKZmx7fG98fHlteWxZcUYl
YTw+bWBXRUdqOXwkX1h5RT9WRWQoVWoxCnotcSh2NDt7RSVNWFZHVzlNMX0xa191Zn5LSkRWM1RD
RCVoWGREKWBzP2ZjTG1EdHZDc2pYYG0peVdXKjB0Iy10Xgp6am4xQ0UtcFJMciU7SjRoP3VeQSEz
emI4S2VBVlU8PHUqS1NydDlWQTlDd1EldiVTOTAtbm5VQW19dWl8SEo2KEQKemUlPyQ8QCYyNm9i
OD1wYzlvbU1eYz1TfTZ2ZDFnPE9qNzFaMyRRfD1Oa0J7SihUJlBPVVdPbTlAcXtEMmNUd2IhCnoh
M348MD4qJjR5cGU4SEAlQnhERXE0JkkqbW9SaDQjWnh1amtfTWlxNnRvVm88PXUhWnNvTzNRcGdJ
ZmJidy0hTgp6dzFhOWpUUTl3ZXw5UG4kJHt8UEpuI3spPUBTUzdKOyhuYkFBQnJzZG81O3koTFVN
LT5BRWVSVCsmcE5zYF5henUKelh+ZnY8azFVamEjMyFLT1VzX25gYFhEcnYpJDRjelZXNipuWHIt
dWVYLThRXiFOM0IxWDVhM0drSnB+c3dyJCY4CnpVKkNDcEgqJVZQMihOMSQkbkxmaCkodD8jZEgz
JTBMMzQqd0x4WTM1N2NUNjRLYWhjdmQtdntMbHxyYzxKMzx+bQp6ZXRiMHNCWCF+b2VIN3B7STZU
fnVHMlQtV1MwRUszIXtlWT5vbiU1ZWEkSD9LaWx9RStzcD5Sfi10PmA8eko/Ym4KeiR6fnlBVjs4
QWcpe3t0LW4+VE1CbDlNWllgU05sYC0qM1dnP1Ykblh4NDB6K2REdEkjQ1F8TytVQlA8S01LNjRQ
CnpiTDl9Q3Q5YHRsb25mNXo7a0J1V1Y5UlI5KEtCLUxAKlQpcyRtflM4Vm9FVXlMdUUwSm1lflZv
ZWI0N15Ue2JXRgp6KVckYCVeKGJsdTtoZFAxM3JVWnI5YUtAbDlvKTVPXnxLYUlESmQkdF93ZUJj
d3h6UE53PXRiJVJjbEBFdSk4eGUKekdaUDZHTEJEfX49LXxPNDRpNCMje2NadUheYHhDYV93Vmwr
c2kpSFUrTVArdmQtP19qTHhAfndKSmxebzF7RmYmCno7LTtxSGhZPUFjUE1xS21EIVNsckp3IzJA
PSlMY04rMSpsdXQ7SGRnXj9VKkVgdHxFfHhfT29fS1lJNDsqezlkdgp6Xz1wJlpjVyR7aUpaIWFP
PkMmOzduK0psNU9HKy00YF9FWlYoLVFJN0F1Z1UkOGJ1QTwjYnxOXmNBKVd7KTZ4bkgKejQmSFls
PXFRUmVkd3wzYXM/ZX5MVGp4ZXo/VUc0cWlKYEowezRjenA8MG8hOzIoQH57cmNHdG43N0dsJSlw
UUF1CnpqWGdIPShyJEJlYjgqdm1QRjZpTkhvSXI2Q2JyNFd7ajY8aU1uKjxlaUFKZ2lINWMkbU1X
TzxAelBfKylieS09Tgp6VVQ8Q2NudyNVaXJtM35JOXBSenp4WERgYzA/RTdue15qXjRLPD89NUVO
TCRad1hBbS0yfWZ5dE19QyFKKipXLTEKeip6eEV7amt5YjdjRHFHS1k+clJ+PUhIU3pkWSlXN1Ao
WEA3PHo2SShEPSVEcGwjPkBJWnB7bz02ZmlNQWBFJSNhCnpaTCt6TSo/N0N3eEJgMVhRQU5kOHM1
JmloWGs/YEdWTUtLQy01bXk2K2dFc2FjIVckJElGZ0dnNmE4SDM9Nk80UQp6Y1g2cX1NZFBpeVJv
RzlFQ3Z9YUQ8JUtnd0A1fXAlaFg2OWo7LS1OcChnfmJLRjZMcDYkfjNwTV88TX57QzVWTkIKejs8
VCVvallXTlprQU1xM2NSaCVSa2hRVX5rJk89VV5ZZkBSX1I3O1BBQCYwWEB5O2UpPDVlY1JVTjNv
Y15nPj5LCnpLQ3B9SVM7M1JqKj5YZDsxQVJrN19hYV5RWV8wd3ozWTlmdmB7NVBXai01TmgrU35R
aSYlYXR5bHVtXjFKMnFEdAp6JDl2UEE/ZzBUaiNkcGZmJVV5MyNGdWBRbmE5OEV4VnNSY207QjJC
Q0E9bGJWMT45T0NjSGJaLXtiYUYzWndacjgKeks9bXdXRW9wMWhlVlYjTUlJWnVaYXIpM25CRlBo
dzVRdipFVFdmMU9HMGc+eiFgdThGYVdVUXAqa3wwXytfNVRBCnpTZlMlNVBJJnpPYHxuSkw+KWlD
JT5oNmJPVlREQ09HVXBPaEVaWWojUCRgY0otPHVfQztrVWtieUxXOGdvfjU2bAp6NTIjQmtlZiN6
bz1ORF8tdmlhUHlnTDg5cE8tPFNfI3lQVFZpNEI7VGMjPjBjJj1ta1JJPC1mZmU5WUs1eTNUJDsK
eiZTQWkoVWVVbEhxQzg1cW1COyRVZTk8LT8oenRpVmN4fj8rbHQlKXolS1BxSUxtcTFxQWNiR01I
YiooQ2U4NVpyCnoheVZQI0klK1JmZjkhX3tjRXNLP082K2dqOFRnMkA+Z3RGbVBvRDZYYW43Mztf
VkQyJDdzPXNNMlJyUSpiTXkxewp6dkJtKGRNSGUlP3lfZlV6QGw3YHBVMnpsOWooc2BvOygjSisr
NFhoe3RDMkxKUyh0RShoYWBrTUlHNXZAZVJefFAKelhzOFUwU3dVbTZkan1acXNHUWgmSz0xOSt2
WG1AI0dfZyFVWXhIRnYwbz1VRiQ/O2t4I2l3VXpjbzx1KnNIJThZCno5cVFlc0UxY3hyRkVZSnt4
OXg3SSllTnhqQypQdUFiJE1IIVBlfTQhLXtPNl5EJW83O3B5dWVXSjRMWEg4TyZ6awp6JmlCYGFy
UnI3anFOZyY0T0d6KVQmdmtpcm4lQURWUjJyYG56SHdZI0tGUUZXP3lVTDhVJDMzd0BDTnY3WUhG
ZiYKeiZZQ3JBMlFYVWszTHJgMkIpaT8/KmZsZH0mRHdqSEN+VlNReml+XzMrUyMycmF3TzIqe1VA
PGl3KnEleXIodz1LCnpgNk1Tczh3b3NQSVp8c2FDQDNoKU5uKUI3WmVjSk9FNGFCbV8pdGZQK19M
b2d7Xyl9TnhuVTlFO1lhMT1aJn4lJAp6TVJqITxUM1Q2TXY2SD1TSktFcXA2bExOZCVQQlApKnB1
OCFXUWxnd2BaM1NkSGNodn5xS0dWS2Y5RXBHcj84fEwKemwmdiZhcUJxVUY9PGNtczN5Pjdhd3lq
QmliUj1kWFc8Z3RzMXJUOzxtclpIQWYxTnFoKndfZnhmQDB2b2hiMFptCnokan40JHZLNiooKnxL
UH1fNVNfOF8wWlhmZFY8WkJtNnZ5WCRtSFExTnhUUiE8aSkzRldfQXB0Yz0rJWt0d3tJQQp6OHg7
KVVzcUBqZFF+M0QjbjxINXVMdHYoZyRCeG5YVy13PE9WPUd8bTw+bHMxcFlIbVhvU1JRdzdrclJi
WCpmKlUKekE7I202d1k5WGdCLTQtP0BhQ1VeckY4c2w0aFlFbTdVdCZPQW1USTZOM2A/eE4peUg3
JEs2bX5obXMyJTxkTXM1Cno+JjVDV0d8dTxpV3BmTzRaLWNPfjV+XyFCTzhZdCVjKyZ8b2BDOWFv
X2RqcnBUTzZEPVo1bDBqclNYJjlOaX1CSQp6OVQ3UmRZfXM7RHc4ciQzeSNLQ25YQ0I4PjZ2aTdS
Y2k+S2YmTWFRTUlIbW84UGtzU3ExQDJEaiohX3RnWjJgZykKempqRVQlX3g/SS1eJHxWMmFNWnFP
UmgqeWxjbG4xNHlISlRyPmVCNUJZK0BSfHBUQXF7dEJHT19GM1FUR0dwfj0wCnprQyZrdyN5QWN8
NVhgISl3bD0qPGpOcGJJVVM4diF2dTRoV3g5LSYtbT43JTJMSUV3NzlIfEw8Xlg4REh3UktMagp6
U3Z5IT8qPDlmP1ViNDdaKTczUE1tfExxUUglIShDQzxjbzw9fGFURCp0Y0tPREx5ZkE9NnYyQUo5
Z056aEFPenkKek5MeHJHVlRjaXRrJipsezRJZUlPQn4+U0FXLWpwWF50X1ZaWUY8PWQ5fV5Mc2F0
SXtxYzlFeykkJjtRS0IjVlZXCnpOYT1WT2ZwUzJnYCYhJTFzTDNzKUBUO2RkREFzfGVEVEswY0dW
KVhkUGtASTlOLT1nZHBIV3BqeHEhcUBCTlBCJgp6aVJ7anlIfC1WPUEzWnZmZDVnT1FPWnhpdFlt
M1RyVWEjSm41UEhjfkdZLXQpaXEpJCVgdTNVfDhBV04+ZjdyaTYKekw8RmR8QDI2OHJOPyFmX3to
biNCeVNnSH50V3Bne2UwbChVdTZCKjlUfVpFVXZiJT1lamV5ekx4X1F+V3h2JGV3CnpeRSF3MDhV
NCszVSQ0QSpmRk02SXdea0tGSWZ5KE5hcGxVRExDam1iQ2VRZShnTFpfLV4/Y0VuRHA2UW9Tc0M4
egp6Jn0lbz11MFZaPU9nS1lSTU9BZ0x4Wj8+V0I+ezMob1F9YztwWlVpekJ7T0h2MWtEbCVDPHJB
ZTFNY2wrYHpuQmYKenMwbjUoMzhYXkwlSVlOVWFlemR3aWFtR1RrPTAydDA0R0tXZGM4VigpWHZU
Pj4oaG07SU5JQ1ZUKzglTlAkJlYyCnpCfUdOV3JyeDwkJSFpTDNBNE87YU5DQ094T1djdzlnaWJv
OGRwPW5XPHdnOExVKkwpckUxMnZWPnxGWj0mTSF6eAp6JnxSSitTOyZ7aVAtMVN9bWBCOXdKP0dX
NW9hU1E3M1UjZyRGYHs0cXZPMGlkcFR4V1o+c1YmPGRtWGVEYUMlWn0KeiUmc3FaQW0+QnlhZDQr
eSFJQ0pfOTFXWWxVbUkycWw0VWp7aCVuUypPJjdfZiNvfURGJTFVSmpTVHBSKTFrMjQyCnpEPH5L
Y3Z3a2IteEElWDctTHwmMmVBKDFadG9qZWFuNmpFMHdZLTc/MUhqXjBEcjAqbDIqSGhtWFp7KUw3
MyhkPQp6TnZoNHcmOVYhNFh4bHxaOT12KDtNJVFUbEl3KSRaYCZQZVorKiN8fU0tYnxMJDRqU1Am
REpXO19ta01XMCRnbG0Kek5HPC1BPEheRShmS3xqI3JaY31VU0FKajJKcDZLTTdCPUhMMFJiO0hJ
fXxhRCV7bCVgTDkxSkp3Pz81OSRuPiprCnomczx4R2QwQSs4V3xuSlJveUwtJWUpQCU8ZkJ5cEt3
WXFZYW1JPVRGe0EyfHdNbGRuYTRwezYtTnJaPl9acjFNMQp6cnEpJmkza3lYV2FfVClBP01MTn1P
U2BMK2dhZX09SlVBZEdDUlVZaG1qdWJBdGc+PT4mbjUhMFQlfjtoJWtGLUQKej5BRz88R1MxbFJk
YEx2YnczMm9yQGl7VVpjeztKYURvMDNDUWJHYG9OPXBeViREcUxoY0FQa1FHQkdkX2NwMiRKCnpV
cig8blQwSz0hUmR3YSgmbUpgdUk3bFhvOEwrZG11MHEpSmFDaGU7cWw4YW5jeGwqQEwzR3RPS0xG
ZU8/WUd9MQp6Mz1xSkJnTSl6czBVdDNqT0ZAcDlTaFdqWld4Pk1YdGhGdn1XMVRTLTE9STwxej9o
QjgldCFtcUVhQnBFaj16PUoKemN2TX44WkA4eStXd3w0OVdCVXxKcnlWcGY9KUIwJFBoQFQ2Qjko
TzhncEFRdyFaUWFrO1dfT1Y4dzNSbnZKSFROCnpFNCFfXy0jKj9PNSkhaGdRV1M0PiU5PVlxeVN4
JkFuYXt+N2h9c2g5MEleYGhoN0FNO0IzT0g0cnB2Zz9ETzhVMgp6IW9udW0xXl9FPmpGV1AtPE1h
eXJCXlQ4flgyKGJULW0hUzBeTlZ7LUNldWtJcHJEbUswMDRTMk4ra3A7PDdvOSkKekZAQmsjRWJw
ZkFjNXhJSjZ8SVJWZHpnX1NnKSRsKjdNNH1kKWlxaWM8UmJPWmgwMUo5OE9XQ3kwIXF7JVlCR2Bi
CnpkTzRTPjBHdUppRUxnb08/OD1weSUyNmxoJiExMUd0eXNDVCo+dERZUiZSV3sxM1BfUWo3S2h+
RC1BezEwI0B9QQp6c2l+XnRCZlhydWZ9MXYtSURoYEpub3p+WEFaNWZFNjJPI1NfdH5+fm9ganlh
eVRWbDU/QFNqI0FmenwkQDgoe1oKelIyfGpkWn0jZmR0NChkUDVKPTMtYFkjU1llIUs7SDtEQ1dG
VWQ1M2c3ZEIlZGltI3U5Xl9BYEdMYDZqcHI0bWJGCnp5NXtQYiZJUko5Y2t9KWc0RWg5O3lzeXIx
I3JRITA1OXBAXjAmQ1M2azZhdnYobG1kO2YmKnhJO0o9MnM1KEZvRwp6NyNKdUckXzBVWHcqZXwq
U3h3RVYhaj1JQihwI3t3ZVokPVVQKmtXJlM2Z1FjYUFRLTxpc0lxbkB2NylOcHxBZ3QKemp9UVFk
aEs4YDZSRjl9MEokZXQhQl9UZHV3PDF+e0lfPjtNVmA3fjlqISMwQntufkxoTUg5RGdGWENVZlpv
flRaCnorNGJjVzZgPkN2dGRzMH1JJkY3bWR7Uj14cWVxMlFCUVBMO3xKQ3VzaFkjTjdpPnZJUz5K
eiEoLVNmcG1VV0xfRgp6UnE7bUVCSjNkKTdpNm8hbDdJPEMhSVAxKiNhbHFTSHdYelcoQnBRPTNg
JDg2QDIqVzFqYnNzVHl5X258JU4xbkEKemlRfH5FYXlZVnFwcD13RzQxRlI2MzVkYGFzY2k1SVUt
P2ktaUpvYSF6TlRnP2lkYVBZeVhyZnRFOHB8cyFnZ3BnCnpOY1l0MChhfFJ3Y0hLTEc3Q1VaPSox
MDBAfDJsMmZWNGpLTmFhdzZ2U3g4ITE4aF58ZDI/QGN9U3xPamoyYTxOZgp6YDxUUW87QEJxLUY3
fjN+aEArI1ViVHVHfEFVan4/aVdRfUdidj5McyNTI2pLX2xTTTBkdFlLPT9XdTFHUE9xZTYKeiFj
V2lrVCtlQnltRmJyfnlFTG47dSNndlZiTU18N0AtYT0jcGo4Vzs1M2g1PipWYipAVVpuRkEqRkV+
PEBaeUMmCnpkNVB+OXJ8TVcoVE58KF5TbDRmKmNTZmdMUkgkMXNWdHsoSTktbXM4PTQma0NRJnYq
NCprVkN3aU9xc2txU2E8OQp6d1hkN3M7Klg3UWxsJTdWOWp0VXYhc0d8SER3b3p4YE45YXklKn0p
MVJ9dlRHeCk/XmkhYlNYKXxObjtud1NwaGEKemVlLTlETXpNa3ooODNKbFlaSF4wQUFhfSZxVWdg
Z0ZCWmk9TkomdmFNVENhR0E7KXUqVGN4M0FyQ35XaF5RQndhCnoxcUJzdFpERCtSWFYzMjg9alRV
c1MzJDNsUitwMnpYPVl7P1ojUUNtUERkdnFFXmI/bT5TVlJ5TjQxSE0tO1B8bAp6VVA4aWQ2NDRW
R1YrYWs4WDB2Mzd8QVE/KUNQSEVWZGhkXlQ1PnYyYFoyeDMyQnJEJHBEJTgreCpSQ0JwYlYjTSYK
ejdZJnBSOCNmTTgwR0w4VEx1Vy12RTxRI210bTZUOWk4bnB6K3NFUGBPaVVDcHMhcShLOGZ7K282
QXc9ZT5OdktxCnowdXtKbz0/eVhhKE1Qe3V6ckklYHYrK1klYmhOelBOWTh3YDBeK14qKkxGK15Q
RHQzbj4kTDNWMGk/dzZrZFhiegp6OyR5aXdRajNwfXt0aypCRnpoQVh7SWcpIStFWTQ+cExoRj44
NGxzJDtiWDV3R3d1PW5BdyREbHMoWnZJMnwrXj4KenMwKlQoaD54N3phTSFpQmIoM3tSTG92Vzw9
Yyl6R3QqeWRVWSQpS21vI2p6ZWRUIz5+VSRKMDUjNlc0WTNFbGhZCnpFYXxzWGZgZndnb3tUdSo7
TlNwK2JMe0JSK3d8Vl8lb3g3Knd+c1liOG1fRmckbUYmVEwqWWlzS1BeckQqQnFZVQp6WFZVSk05
ajJvcyY5RlpeUWsjO1JubX1id0kzPVJ7YXR1X00mP1pzRzc4WihiLXBxPyQhVjsoKUBqaUxsUHlu
Wl4KenppNzkoXjROfTtpcE1gQ1NXQURUJCo4ZWhnPWtNJncxO0BqPGxnb2ZEaUskRFlPXiRmPExw
LU5jPU9oTCpWaiFnCnpFZUdfN0JGWjUme1YwMiRGITdWYFpWcUIqN0gqcVBYdCozKF9XdDlxaXl4
emh4LUFJRzdKcjNaeCgydFR0cz5lSAp6RCplaj4zSXZqPigqcXIjMyFweko+a208cTwwKWVpQVo+
VHxpUVQoQEokQ0ZebGorV2o8JSZ2NTV5e0R3Ujh8MCsKejUlNEJFeUojQmNFK1Jwbzg+Iz43NHdH
cSpQUWZBQ3heP1JhJTc/cG03JDJUZFQyQDs2aS0zU2tzJigmNEUyfjZ0CnozNWg+YWhzaG9WUz1y
K05MT3AyJWBUR3NUI2w7biZ7Z0tnV15CTj5iR042eDJnOHFyWnVANHs0THFaQzlAWmI+Ygp6I34q
KUdxKT1pNG1gd3RBQDckUms3Nm08cUhCdjgzOSY2eUZoRS1MbTVHMXshWllnZlQ+Nmg2T1BKYW14
OFh4KjIKekJwTmdfRz16MmwkKDJQWTJgPytEdEJaZEFkPUVQVEVDflIma1dwfj9DLVBSR3lvdTB0
I0ptZGFJIWN8QmpARHB4CnpxUnt8XzJhUHlYXnBwPjtTNmIkNU5AQGRDRUptQj4+NzV0T29LREsj
emVDV05eYTRQQiolQHJQWXFibE1Ne3ZLbwp6dDZmOX1sV3pMTjstPFNFNTAlJW13XnZoOzlDRjcr
a3B3SVZNZHwtdUdzMCNyTD92b3lJMEc/aHczPXVpMGlaME8Kekh4cG1BVzt2VHxUZkI5Y0VPbTh0
aCVsPUNFOF5uZkFYfWt7bW9uYXl4O0JOJTxPd1F6cUQkR2NYVXt4cTxSJk4xCnpTYld8bUplNFRY
XkpLM0pZMnR+dGp0KzF6aTR+OEchZWtMTEJSM3U4LTtKKnV5fEFlZ3Vne2k4RHgxcVk7Q2BOXwp6
TE5DRn1LPnttNyQlUHVjV1hUZjdjJTI+ZDVEZihUTDBafV9iPDQ2Nzc+Z1RKSTYyWVVydkMhR1Q1
fm5RcGtsKzgKekUkNFVKb2p2PTAtMD4+MDhhdmxeI1NuT18obDlhNXB8LVpSaWNZMFVgI2R7Y3hZ
bExZZUtiKnlMb2h9e3AyK3oxCnoqQ196JFFLdWdOZUVMU0U7WWtHcmd+QT1hQDtZfntva0M4PFky
T3F2dUtDMylyPHdmfEdJbEpzeFZ5VzFGdUdJJAp6dD15UUZjYjktMFcwIXJZUGN5bkhzYUQrPTZU
aEljKihGZF5FdWQ4elJLe0FiX1FsK2pkem57a0Z9fkM1Pz1PYGAKem00ciZYeSFjS3tQMGNVZU0x
NlZzOCpmS0kxM3szU3ckMHxuSDslSmNJRWRvRnROcVd2ez04SGd0Wj0pUyp6KWw5CnppflM2SHYo
KHpUUmpuOzgranM2PFIrZDEtfDdCcmRUPENvbEZIUXshNCRmKllvZ05oKTlnUkwpOTNQUlBYSUAo
Swp6anRVaSpiQDlLVlJTX2UrJikzQzReWW5aR0FjY0ErT3o4YjxlRGM8anQxPXU/ZmcwSVYlNkxA
O1AqYkFRY1MwMVgKelhOSXx3cTlXMEgrcTd2REF2UXRye31UTj9KPTRGXl42JTRWdzU1WVlTRGcr
YlFDZVRtUSZ7KSFnM3s+TzsjPUQkCnorNTt4WT8xXjQ+XmtsfjZrK01HcEdgJUpZKWRvb2BHfkk1
KmU/VmloaCR1fng3bFQ1TXs8cnx2VldMcUNtOV40bwp6XyR2ezh6RHdyWClZQG9uMzlCJkY+QExZ
a3E7P0ErLXx5eFp4cUUzbXlPVFo8MHJJfXxNdGV1Y0YlNkE2VEUoMyYKeiFuZVBxLVNheDRrTDEq
TD9GKEkqKE09akZhXldNM0xnS29aQHJRezBWKl8hOFE0VkEpM2t3UzwkUFomOzZ1P3gjCnppfjJg
NEt8QEdMSUtsNFlXYjxCbl85IyZKRldMZCg0dCRNfE9zTUVEOGVGcnJYeFVvRkNSR0dONWFCKWFU
PFlTdgp6eEpxV2dUWmI2KklsSnJXKVpLUWZzO1klIWxoTlRoTHBiRDlkRSRtOFdwQitFViQxe2xV
c1BPX3I9K0dXbndwdnEKekJPYEI9UG9mVEFvdWhWaFlQR2lOd2RWVit4dFgxcGNlOGpCaUwxQE5L
ZTFjYEA4e1RnPjBmUV5QdXFVbyoocT5kCno5Ql59VW5gfEFGXzRTel5HPU9UNlQtITZGOHklTXd0
NShnXkJMcHl4JDZTQTNsMzJZfDNnfDgqIXdMWnNnTnpvPQp6fDRUYC07dmojbE5UQmp1UUd9d0Ny
fHJndi1nc3dmSnVBQVp4KkNlaTE0eCQ8QXRDJk1qITUyVUJMVChHZzVrdEsKemBoeXJ+X15idkF1
JW93RU5tbGx7UmQtY0xSYUtSIzJ+b31nOUpyO0NYVjkxOGBxYVQ5YzBDXiUtNik4aVc2aT07CnpJ
MzQ1KFUmY3VkNFVNT0Z7JDV9dWNDdTsxSEo5UDNBNnJqOFk7cDk3KntwaFlsIThPWUBrNnEqQn02
aVd4biQtZgp6bihJbUomMmFybilMYXtETGRAckZ1QSFMSTJ+WlRMeUFyKH5fT0o+MkxGUV9eIWBQ
cmY4RG5LSmdiODNgOyVfNzQKent4fF4/N0skQzYmJTRAMT1FYUtfPXM1USFPfH40JWxxZ1hFbCR9
S35KWX5iKClleXljZHdWLU5SODA5ZzROK1VwCnpCfkBjblQwbG1adjB4SjtgQzBJeCVwPnJOeygq
c01SaFgxUGMhKnc2e2R8Mmx4QDktZmpnNT56cmEjYXMhYWtSdgp6KyolQFlVUUk7Zl54S2UwOX50
JUZ0Rj53TUJpZnBpb3xrT19qMmtHaWlwdDlFfEFwIzklcmFEKjBIP1FxQUB8cD4KelVvUjErR0d4
SkAtKmdWbSt7SWU5WT88cTt2cWlyejV1RXpeJlIxeTloTHw5WnZ3c1JGdTZTek0heE05PnBxTmhl
Cnp6ZTQ8ZClieUdQJE52UF5MOWZIdiolPF81a0lJV2JRPVd0N2xRKTxDNTBxeVNjK0o+Mm9vKDBM
KVU8SWQ9TGRMaAp6JmAjWXoySUBLakFzei1RRUcqWCVyUV5xZztMKy0/T0lMKj51QXs0Sy1lK3pD
VWNQQSlGdE9hNXtDdGkwMkxSLU4Kel5SJnsrJUpyOT8xdEolKmhHTTg/eTtRYXh2T2VFYEVTUWBa
YTJGRV5mUSlYMkI1PVBXRDl5fHBkTHx9SFhVXlBYCnpTTHRydzAwRXxyc2s3JklLSlBxal9WTEJV
M1VLKnsoSiQ4X3Z7QXwhRih5d010fmhCUEJaT3cyaTlUbmlFelg9Zwp6QyplM2UqIWYzV3g0fiFg
LVh+cVVAMXJDPy00KSUjSURsMFQ7fHp2MkxgN1hscUErOXBpfEZ9SzxYaEFEMHNlcWYKemE4T04l
SyZeWklgVCR7S0I5cUNHOW0/VGFgeVFHajZ6cUs/b0VRWGU/RVNJbkZCP3BNMFJodmtNPkUjfno2
TUQpCnpiNzFVXlFwUzR8NkM8UGY/Vn4zaztxZ3Myai01RTJ1PDgmYXA+S19palJBM28rYHM9Yndj
Z0ghTE17JU43ISopUAp6Nkx0KlpjVEJaJHMrXjB8U1F5MFUtdjReb2U1O0EmPG1IdV9JMWEzWVg8
X31ed1I+fHNTKEtTKitXdkZvXmIqUTgKelN9MX0tTGRMcihLeCR+emFLKmRheW9yfGxSK1VNMVpS
KT4mbGhkOFU1QjVgWTctIz5KUW8ldEBINmYrS1ZGRlZjCnpDckpiKytlPVhqeEJSSWg3NXpPKWEp
NGgkQUZARzhjVmhMQChtRHJfTUZAPXZhN3NGSzgmS3dvUXlkKkw0Iz4jeAp6bGhLYG1WcyN0JkJn
MHtRWTZtPGY/cnZeRHdXLSNFNSkhSUBldHhhQ0tFeGpWOEchVSNFWT9DNzUpPj9mTlZLI3gKejlu
QkJ8YHd1cGBEUmlMSWNac2t2eiV7cmxRMllDWiVLbj18V3U4OCU0S0dAVkkhR3FwdH5BdCR8M2d7
bVBhPks/CnpoPWFOTSlSRU5zX0ZFRD91MFkrZj1XKz05QyMlUHJKfiE7SWFhUSVgSUJTKERyUipe
PUZlbXt0QEtoWCFBd3xQVwp6JkZtVWBqM3o2anlpb2VIZVBhMEM3dWFAWGB2TX0pdl82dDFBdSo+
a3VZJVVPN21qV0hMdUBHY1F7VChLTTJlV0wKemVGeUJmM3llKG1waVVrKkBTNF9QbEg5ek1AViFs
UkxMe3VVQUlPe05qRSl2VWhobWNyM3lsdmIpdTBxJEgjK1NyCnpDIyV8JHFZaEkpOFY9fTlXMihs
PGB2R0FBelZFYCpoa25UZXtMOEVRYGxfbEcjVUNQfDM2ZyYlZGVSKFJTSEJ4dAp6WEVTNWE9bU1P
eDc7SE5WdTB9TDRYQGVoSnNBXn4makZwQjtneyhBNUl8fXFOTWZsRkZ4IVotaldGY001OyN7cWAK
emNraVctZUooeVNmKDliJiQwcEw3K313RjFSendFQnlhdCt6aHxlYklaQHVOVXdOYjNgNW4pfkdO
Ymh1O218bitgCnpSMCE2YDM1T3dKSDVgQlgpQ294JjB7NWFMQ1pGVXVxMG98S2NVNUJLMylkZENv
QXQ4V0RndTExdDx8YnQ7bjFOcwp6VSlhdUIhZVBkZEBBZ0g1SzQ2I3VVVU1+JVVeRE5TfDZMOUcl
SiRkSVdgNCZoZ3RQUDhlIUsteCh8N3l2ITwyZnYKei1nS2ZYWFBueGRJM3EhKVEoYFNGUUxyJTVo
JGJ+IUIzV2wyPigqeURPdEZPU00jdlJDd1clSXtlb15gUGBSMip7CnppQ2JGcTxNI21IMEw5RDBx
eTZjeCh7PnZhbG5hbyo/WDFJVUdnbmA1IXZAZmw3KkVmb1hrb31FQnFZZURaejRZUAp6PXN5Un4/
b1EkfXw1PjhqTiYyY2NeTyo1REVXVUNURXZoQ3FzWi0me3VzRT5NRGZmQFlpelh4b1kmV1p9eEEl
JlIKemk/NFBPPGw8QGFISjZzQUZEVUo1bWk7R3Z6Pk17ITNya3BPWmM3cmt1KyNkPj1JNDNMX0A8
PllsfUxLdUcmQHpoCnpNJmJIVmc0Y2xQVHwqVng+JTNyN3hiVWdLS2VhbWxvfnt0KTMqTEVXYyVE
SjNtOyQ8el5xSD1WciYweTdqKlgqRgp6M29TWVI/NXAzTXRsfXlve3ImdnxIR1NuPD97Xlgtek0z
QSF7UzNxeUBTb0h2VjdZaDhNOyt+ST94ITdFQ0VFcyoKem14T2lDamtvczYkO3BkK2heczszOFk8
YGBmYUtIVnw0S21uRVV6dF4lbG96RXVTeURiQ0FkSWJUbUhoJWlgOXMrCnotQ3o1Nj8zX0pUWFYr
VXMqd1Urd2w0Z3tDKkl2UV5CPnMxfXRNJWskTXAqeFVESEFZb2JeT01xUUFody1BYHVhTwp6SlVC
Mz4+QShLUXd1ZCZ6KHA7cyNIZU10dnN0SWJqYTApYlNJQXB4QFRLMTJfSHtnRWY0cSs2YVItKl5+
NklmJjUKekZ1WGVfayRuaCo2YF8tMyVCSmwyJWY/cTl8OHBrPnhrUj9AbGJ0VEJhckszRlEoJEYp
WigxeW5efD1jcF5oWHpfCnppNGRVQk1FVGYtYWgtTSReMUI5PVdodlI4d1JURTMwSVFqfUFNUWI9
VWt5N1NhPFlVfjdweHc3MmdpeEdFbVp5IQp6QHsoUEJUdmF1S2koLUVpblJmMGl6MFc7SmJOSlEl
PXQwVl5DZ1A0KXtRZTUqazhIKER0XlNrR3o7PnVpPX5Ca3AKejtfdVcxbSghTnQ8TXNJMTJzQyhj
RjJuPTw3TSRGZSU8P1BIfDlXLXlfOVQlbmhPZH5fY3lZIUd1TjswdilUTFJSCnpYdlhZRGFvRD9l
PypzIVFwaGkhNiVaUEBFXnM7JFUwUj42ISZwWCYxTjhxOURySGwlcDVxIWVMI0gyOEVgOEAhdwp6
QlhGezx3KEVOUXNQKn17MWJoaDRzSWQzZTBnYzAhMkxUSmQ+Y2Nzbj4yOWo/WEk9YG5jQVYxJFp6
N0NSRiZ9TlUKemF+YnRaYTJmbVVVLX54dlMxKXN0aTR1Yyt4Tm93blp0QSFYLU9QYEQlS3cySEZ+
aEdGYGFNYzhyPUhOQ0hTMEIjCnpySEVHPyM9WjNQXmJOb0thXiVwVi0mWlk9RFpKYSFwXnN4RTwx
cypFOGIrMHxgOyUmfFJIYlgoNnJ7cUBySU0keAp6JDB7dUljMnU7QEI4fjFZe0V4PzR0d282KF84
PWYjRio/bmZsN29lTj1sKUhjbTdlXm9RZFpFc2xuQ2czMmZ5Rm8Kek92SGc1cUdLR2sxOHNqMjlw
SkFEKiNGfCl6by1WJDRxdDNwI0hWM316STE8I3ZXSHhEXjxSeXFQdVF9Nl9tJWVVCnplUXxMREJL
RCtrRSVedTZTI3kmcEFxJG5pNyl9Y3VkZHdlJmhabiZISnB7TXZtT3Y5bk0tODBOZmVCT0F6bzc5
JAp6bVR7NStKVHZnbXNgdX4yVE9sOz88WWh+KWNEZHMwMzxMaztyWSF+KShJLUk4ME0tLUV5cUYx
KVQwP3lhZVI8TTkKej5UbUZNXkprOURYTXNUQk9VU2B9JGZUfWJ5fUJHe0ptVD93cztZczMhTkpU
SjI8PzI9YGlSPzk8TmVuYlBJQj96Cno4VWM4P0hXb2ZuNkN4MVh0X3clZD99QjlxaVhWKitVWnl0
PHJkZThCaz1vV0h1aG1vJmIhT3B9TmgzZ19sUntVOQp6czxtfn1hQm4/NWtYMWB4KypBdWk9N2dI
c016NVROY1c9dWxmdGFpYEA5akU5JF9ZWjFXfXVFOEdiWTlAZVMtKn4Kek4hN1ZPRnJacX1yPlJN
Y1VxQz11bSotPWMxdCR7dT1pUlFXVWomMWZFdWQ5NS0lZUpWZTMkPWpiOTlwTjFiWUh3Cnple0dx
JDhieGU/Y1F0P0tqUWxlYTNtZ0tEK3JOTVIqbUpJb2g0Q1B6fDRCJTh5YDApQVE0aTB0WDxeMjxU
X0hrcAp6UFdYbl5nIzQpK2x3fkwpVHQoV3RfNVJEM2B5Zz5Kc3pyPmRnNWVKZjk3M35AaCpVSlM3
Uko7NjsreyRQQ242Jk8KekgkVGBZM3JEdWZwYUVTaFUtZTBVP3RiPTEyVVR3czxgQ2BgVE1qKVZC
WHUobGM9ayU2cHhgdTA0NzdRNSRlLWZwCnotKFJMdnt8Rl9HYG1hTjJ7LTswP2toPCQ7X3RgK0JO
aFhZK3clckw4Jntle3Ird0JFO242K1M0cCh2ZHBNP1V1MQp6WUIldlUkVE9FOCFBTGxHJkF1dlA+
PDl8JDRaOVV5bXhRRkdAZlhnNmA2Y2QwSzNjM2xzPyQlVChlO2VAcm0xVDMKenhLUm0oNjttIzVJ
flliZFgxSy1VZ0E9fUF2MXF8aUhwRXNmQElKZl9VKzEqN3ViZEFoTSlHe2dxPXtmQC0/ZHVuCnpQ
TXJMaVYyeUxkKTVvblpaZnFmWFl3Rmd1JkdnbGlJKVFTWlM8MHRRanU+S1FKZXReLXlqSiZ6ZUB2
PEZLNTFqYQp6eEYxa0d6d0QhdFZDYDAtRG1vM1UpJGZIa3UmJW8lZEU0MG1mUyZffmxVZyNVRENx
QCgweSVXUD88TT0yYkYld0AKendSM1pJJkNJcTJaeFFrbUplQzhHO01lQ3BVWTFYJCpgOXd9aUN8
WUZpZn4tek11MXYkeUpxP2N8SiNUJEhEMjxSCnpUfld0IXdvMmRgPUFreGtJSTRmVVQ0NjxuJGc1
d0M8dXw7VE5tNVZmaWNWVHw9fnpNcVpBKWZmZmJqSms9NUk8Kgp6RjVOT1p3YTlEIVd1cHtRJipk
ZUZEYzlaI2lYUW1BKCRndi1CYFBkOGBnVV5PKyY1PnZsZHI5O3ZUS1pLOSt5Y0QKemgqM1c0Umlu
XnZNSCMtfU1ELW5UMz5Yb2MjY2EoTTNzfXRJQndvaE5kITApLUFCUGw1cztiNnYjU2xlTTBiLTEt
Cnp0Kmx6d2lofHRvU3k/aHR3MSRSO2Q3UFpCSUY5SlEqPlIrJmM5O0Y9PUljdjA5aXJ2Pmh6ZGhy
bGhASHt5X15oRQp6bDhqUyprWk5QbV5JaiF4cF9gSX5ncUl0YkdBJFZIQnhzMlJ0TFA5TG1Uby1k
YHJCTnRAP2spaGpwaS02SGs0TGkKemRvPjdFbHhreCozMjZNWD4tQCR3Zzg5aGtFX2E3UmVlYmkr
OWRqdiFpXzhiMnhWKVkqMDh+cjlwQVdqZnQ/ITspCnpWcExGQjY/NHE8ZVp9MTVkXz8zclMzc0M0
c2pjLXgtJD1kXzcze1Fqby1OXnFrezZRKC1aNipvMEZKc1FMQHh0JQp6bFZyQHElYGFjSkVESjU9
UTJVOVpxOVNQMFQ2aj88V1JDYn5aVnJ3KyVIfSVlQU1sNUgzbD9hJTdsKUxIOHlEVCoKeiYmYUUx
PUdrez9eNWhnMjkpYWBGamdMITZFZW1iTTJXan5AO1IpQjs/Y3JndHZOIz07M2hkTHxHLVpkVyNy
NT84CnppSFY2TG1SOzhMQG1oUEZ0QkhJaSlCaHJMZVRmYjBWUVEpYmA2Y0Z5JCQ4WTtYPmUjTEw/
eDtQVzIlSFQxKlVgfQp6RUE3ZlZtMDxmcHp2Pk42d2pHWjtYK0FkQyZYLU5YTDZ9eFo8Y0VudmNC
XilwXjNxdz1iamhBNColITVPWU48P3IKejJXb2lea1NPczYrIWJGbzQjZzFUSTIxeXw3YURHKmNC
dj5gKyNRWkhCR1NfeFk2UHFUdFVrUGR3TXh1UD4tal98CnpkdEZ3RTw5aCtlcEsrS2Y3Wnp0JTso
JVl7WXZZPEh3Pj4+UWF8MX0hbmg3KSopbHd8PGlpYmUqOSspOTJyUHNzXwp6dVhNZUFgP2V3WXlH
bFR7ayo7bzVDVFpkV0lUTlBlU2ZCXipsd0dKdVZze2NhIVdCMUUhVlB+VERoY09qbSNnQjwKejdv
QGE1eDxgOCNAIzNTbE9hKSF9PCR4MldAWVFWaUJtJFJCMHE2VF50dShVM1M/IUl8dDlNOytnPWJI
cF5BMHZDCnpkNHo8V1NySjFpZmMxVmBhe15SKVNmMDBAVlopaGQ0JiQkJEk8bUBVaUgtJVhJNGBS
TT1DMjNTMWVNQVRIYj1EJgp6Sz5NYUZrJUZfXjh6fnZQV0hMeW5JNT9LUEJBeUY/WTRoMVU7eGZf
WjYwMllLKDRMVilreHgqYE9RTiY3PWF7MkcKeldRSkI2VXA5NmQjNUIrTmAxbUk1JDtLOUxFSmVp
MHM1Zyk7NUwkTiFTXz4tN0JYQzIweGNhTj5UJisjblpZVSlWCnpFeHM4VThGMDgmQnVZcH5tPUNy
VSVeQW9UTiQrajhjNUpvbzdvYHF9R1U3PCVhY1plbm9BOFkhVlZuPFhhUjYqOwp6cWV9Y1E8Z0Yl
a1h7YzVecCkpUW5ANUlKSE00JWJ2MkJUcTE7a35gUkJPKzVjb1IlTjRifFF8VmhLSUwlSHp0fFgK
ej1VPCNMSGBjVl9jfnU2NmRrI152eFclenFrVjJNYGsmKXtBbTlxKTlkQURmbW98QCFIM095c1M3
V3RUOCo3TENWCnpOY3VyQzRORn1gaTA8emdjWlBXRzF4VlY3OzZSO2thU2ErIWZ9K01YUytjX0U/
bD5BT01qdz09eVd7d2ZiJmM7Zgp6b3FWbTUyWFpBVFNCVEtFdyR7UDFzdUZTTmZfSWVUUnVnI3Rf
eVNrIUl2VzlhRUdETkVUV0xNSVFEUDJiN0RvUlYKem5sWjJvLTRUbWghMylpM2BLbmQ5I1Vaa3gr
dTFuI2RFc0gxSzdke14maSlaJnNifU97Pm88TjVQV3VUa3d2ZUVwCnp3Y3hUZ0FicF9ARUdQKU1j
Z3J+MWR3VWdCUmpiYHc9e1BGTzdefFRCPENYbTZpSnNtR0E9Tn5+QFM3dEBBKVB9dwp6YU41SXtq
VFozKGArMysqYzM0aVZwa2hSc1RDeTJHJldffDxuWkh0QnYlckAxNUVtZypCRit0QUs7MWhja2hg
Pz0Kej8oU2VAMlFhZkVtRStjLUZVdj57NypEUGA/PX5ZM208WEBKKEp4UXopbGheIVA2M2Y9aXZ7
Rl4+MiM5RUElMStwCnombHBBc2hmZDxUUVAjZ0F4dHhkNFFpWilfLWpzRUYmVW5DdDUzaG0mTEpq
QjZ7YyM5RGZeK3EqZ1ItKStNcU1+VQp6MjshWDBXREkwLW0ldHo/Pm0/K1lRdXAtZlEkLVYkOzlt
bEpJQll5V01RZD9FX2teXyt2dz42THQ/MmdjPyZfJmwKemNgcmp5NkFRODxYQi1TVW1XPV53OD5W
Qk02fS1oK2xjeGgpSXd4SGI3aEV7LXFUbH4xVnorNWQ9fF5ESCEwKH13CnppRTJfJSs3Nz1JYW9z
dU5GeTs5QWg/P1pUd0x3Jm0jUG8wXjxEQGRxTDtKTH12PCF9bkQyVkk4bmtaKTNwPWRPbwp6UEAk
MjchJEAoKXdKR05aUC0/S3NufHRhKnJHfj1pYlY5fiFoOExZb2dYYXg8ZGxQWmZGaFhZTE50bktx
aFJONmkKenVAZWRkVHgmcjwlKlRsPXtwYSR4eENLVygjSVF+WVJMV1NmU00yJTUqWFBaOT5lNzhz
XlIhVXwkVFhYUW1TI2pfCnpkc21uNUJNbGBickQlPEc5S2BiUDAkeEVjJWEpI20+WHF4MUpTMnB9
Wk9wWnFDaU5NOUd2K1NVWUl5IXpmJilnRgp6Xlh9YXttdDgkQFMxX3Q3R0NVKWNWczJHYXt+Q0hK
dWtDS3JfKXRDKjJ0eU13PWNHTChJT3tIbEU8NjRxZjw2fCgKenoqN1dqS2p6fWsoV1V+a2AqenJD
RCZnRlVrSElQPFFZTkZWV1B2TSpSWUo7fWc7PDlMbjZmTzF7WjspLUU1fUpZCnpfPD4/XlB8Kjs2
RFV9Sz1ZaT91Ozw9Tk8jUk1sLWVjaXN0K15eKShyTHR6aDUzUSQhOVptMiZvVTR0VmstdSlecgp6
dDBmTzFpSjtGT3ImSGorb2A8T1l4QmpTbGRmV3BaRzR9bEFld19Ne1RoYGcjP1QzUGZBKERURj1L
cWQqNih9SmwKek1pPlE0RE94UVgmNkw8UEZSb08qam5rbGF3NnpeMXJqfG5ZKkg1PyRsYUdyOzN6
dVU5N3FScFd8RzdGeHdNNFpoCnprSkxYb3paVHRzI2c2V0VwRitocDdvb0RQMEYmcjBZN2xlIT04
WVIjaDt3Z0ReXk01U0w2WT9gOFZwRSNWKmIrPQp6JjM1bj9gMShwejM9OW83IW1oYl5uQj5VWkRR
WiZaVFRXY0ZEQDtPS2g/M3o4QGM5NUIzI0wxX3s3Uz9haikwITEKemJfQkorbFRyRjNBdGdQcEEm
cClsV3g9eD0yV094Q1NWPSVXUTYkZ0UhJXU9OD1mOzxlNkhiWVNtRlFBPXVHKTNNCnp2P2d1WnRP
WihWYzJ9bWBTd2xyT3BJfGE8alVnaDE5an4xZGQqUT0tLSg1Q2E7Vm1vaEV2Y3lSTE49PGgoJFVk
QAp6ZE10alg0dSVEdmB0a0pvb01pSj5HdDRUcFJEbmZVXklxcEEhKDYqcyVLcHkmPnI0NWBFcU9q
KFAlSntAOz5ANGgKemV1RXl7U2FzTyRvMk1iY0FgUVRPRHswT0lYajZXNGRpUFF4d051cWVoTHkz
b1NjVF5gREQhRXMjfU4tZz5CbWhxCnpRNmAheHV9SFAmJjU7ZWYwRzM9Tnc2a2dhWnZOd2NzYkxi
OzB6Mik3NGRFcio4SWxZbm5vVT9FVGc/Tjspc19sdAp6Xz00QztrfHI4U1FwV2tYT3VxcXIqeDxX
V1krXnx5KyluRmZXenBIPV5qMTtGTSR2eHdmbT1lbkd+VUU4LV40VF8KengpVk1DS1dYNl5GUigy
Nl9BP01BRmt7YHVxZnhYR1dGO0FuMEk0bXhgYzYyY3U1RF8lOFRyfC1tPkdqa0JqY3JqCnopTk1G
Y1RFWCEyQCQzKl5PanBIZ1ZZTWZsOCQyUjtuc0ptQlF2Tnw0V1lUYUxEJH1Fb0ZrZi1uTHJXcWpD
TU16Jgp6NjY5PHFwOHF5P3o9YntQbEYkdXRiY0BIS2tpXj5SWTk5aDcrb2I9c2tVMzUqIyE0Y0BG
aTAmUng1YEluXzhONjUKeiQ1NWJ1MjFpNSkwI18qal9kcio0PEQpUiZhfUJfPXhzeD1vanBULU5D
ai1lQT9aQERsSVUhKmo4QFBQK1k2Mmt2CnoqcUpkJEtjRl8mcSp3fSkmRUNKZmhITV5zRUlqeUZ4
WW4hUm1raVpgJXBHd34zMipgY2F2Nld3UXpFMzFiX1dOIQp6NCE+bSYpPSMmb0ApYX1oJDElZXVh
N3ZyZXpKQDJFSk9DTClPPX5GI0FvYmsmNlkjV00zMi0kZlp1cDF0dGdNNUgKekNpUFA3dHlYTGE7
XyMwXjd1QHRLTXojWTtqPE81Pih7KVRDZz0lV3I9ZEQ/PV4pSjstLVQpbj8oXmU9a1VjIWBvCnpZ
PVJQO1JLPiFPVGY2RyVCelNpcDhxeDhINExxNjAyRE0oKXhiRSVTUSQramBkJDBpN21fTmdMOSoj
QnFyX3A3OAp6MDRWQDRUcktVdzdXU1k1K1p7YzlwSlhpRDZFT21UVlNtTng3VHhFfFBPfSo+ITwx
V0NTOz9QQCFRdn4kWHV3Rk4KejA5Jkx0VDBgbWVMPkVDQHheX3gyWlZLejVhfDtfclYoIXc3Uz1l
eX47fj5TSlYmKk19QDdSSCg1Vj1PNEk3Zz1hCno7PnZzbVFMdyVRVzx9ITRsYEdANHZUNVczKTt8
IXc5diFJeEBBRU5hej4hViRXOTNQJl5OMF9KXnNfejZVPlBeSgp6b1ZCJHpQQj0rS0gzQnwoQDkz
TllKRWNUMzJMbHE4RTJtQE1CfVNKSCRwO0N0aDB1d1NiZCorN1ZYXj5RaThYNn0KenZwI0B8UVZD
KkpuUE89RyR8dXNAaU5kOXdVc0lgT2szUyZ3RHlMWXF5U0lwbmhfdjdWRz5qemJjK3k0JEFrTXFL
CnowVDQweEYwdXNjRH5PKjJzTEY5OygrTFFOd24mTG9Qb2BzNlc8VCtLMkxgLTM8SUh8eHd3ViN0
I0gyU0tSaiNLOwp6ez5Lan14OXEqeEdUYENpQ25KKmFCcElZVUZJZW5MVTs3VkBvan5HOU5sN3Vv
ISp+IT56RVRlMjxiR20yNDBOR0EKekQ5bCVzVCFfZzFjbkhKfTkhOGRvZXh9Xmc/U1J0d0FVcjdP
NmJeJEVeJUpGbHBOekJVeDNMdSFIK2JNSF4zPnp8CnpiJVh9bWFiIWdCNm1XNSkpWl83WiRPMHtK
a2ZHZUxNMGZpcWZ9WXs/bmZuT19YVkc0YU1AK0NnZzg9QDY7aVV0Jgp6O2p1bXB2TSF7YXZjMjZG
X1VoeTVeRmhefGwqaXwxe1NsMitjT25QamAyX0RUdiV1Z2h1X0F9blNBKlRKJTJqY34KeklDTGlY
MlN6bVV0ZVMwIUZufC1CZkFWeHgtUCVkNkh5dVkpa0tGaF4lKjtMSXdDaDQyPys4ZC1LTkNRKjEo
MyQ9Cno3VitkTHhOXk05OEpWd051YWomNlR1QkNBaSFUUigpUnc4OFZ1bUE8az9OQDtJM3huPkE3
R0o+Ry1LWFQ4cVN3cAp6TDd5MTFmND97JkQ8VVQydTd7dmYzbnZfJG5SJj51TiZ8I3NQR0Q4OWpL
TDZjMSpHZDd1cV8lTlIxeDRnUnJHOVcKelghUDlqdjN+ZFQqR1FGdzRadlVXY29Dd0coJVgjLVRj
VGJRI1JaU3JkNjFBVzxaVFdZUGpPd0hmMEh3e2h6WG1iCnpHMz0hYGlJdEBmc25SX19wK3czMz5B
ZW9aMWRIaD5nYnFlfFFpY2Jlbk0yUlR2elRAbU44dGkzNEtKTFA8OF9iSAp6d0NkN3FhUT8jLUs3
OWUtcTtJME8+PVY9ZlpiN31uJDAmNGBhITE4cE44YUZaMig7QTtDSSZ1byMpcTNHTz9XeU0KejhC
MztkcTJWX31BbWFNYipQXmVaelR0P3JKdElIIWxXe3krcEUjeEgpVCZ1ZHozaG5jWiY+cj5lRFB6
bkVPVmYjCnpzTnkqQkU1Mis8b08kK3hLfEUxNnNyYkwmTFNDSkctKXVBPUE2VSlAcEtJXnckcDtT
JndIWDQkSWVkNEJJTHFMLQp6VTMkVClvdiFlbGpvYVkoYmJ3NzQ1QHQpVF93ajFTZX45TXY+cUlu
e3t5Q2JUdW1IfkFrZUR3Pk8kaDE2c2Z9PUwKej04dz9YdFNVclgobS1XX1ZgOEVNRmdqUzhfTTI4
SmQ+X0VYIzQ2IztSX1M+R1ZvWjArMWI2fHFeYjhERUNpUXxACnpGPHs/aEYkcnEtV2J+bHBHRzYl
OW1ha2x5Z0pxcnMxR3FyKyo5M0FBJFpIPklBTSlxN0NEJDt2QjhDVzF0bjMzcwp6KkNoRTE4NGln
RWZLTklmZ0BISkBEVElmNzlmTSo8PlkzSEBIfCNPTjk4VjlhJGQ1ek0tUFEhVU43JnZNWn1GZXYK
engqbTM4TWktbVpVODJIdDN0KHlpSj8/NUNYSHM9XmIkQHx3bSoqQHNjJntvMHAtb0Bfbn1JeWgo
MWZNRTE9d3NyCno0PlRAfjN2MTl5QHNfWVE/KFdwVzEzNnc4TCl8JnB8RHdLdyotRCt6QCF3QGJC
V2tXI21IRHxVd2h9NkN7aDR5ZAp6WCVKeSgjMVNQNERIQE1zKWQoSCtfemxqKVlRSFpnX0s4O2NS
MDB0fHNNP2xUaHFqY0NBdTE7IUYtLVJOKF98KmEKenBUbkk/QjNhWkxRQntKSEZvaWNhJERHQ3dy
OCRDLVk1ckx5YGxybkNqaW1JeUZhQkMhYGBfOTQtYFYmKEAlOF9nCmV5PlcqPG1vMjQjWXgkQVF3
Oz57UGtvVXspaXs1a2s7e08zMmpvUCNUCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1z
dWdnZXN0aW9uLXBpY2tlci1hcHBlYXJhbmNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2VyLWFw
cGVhcmFuY2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhkMWM4YjY5YzNmY2U3YmVhNDVjNzNl
ZmQwNjk4M2UzYzQxOWE5MmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1zdWdnZXN0aW9uLXBpY2tlci1hcHBlYXJh
bmNlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACisgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1zdWdnZXN0aW9uLXBpY2tl
ci1hcHBlYXJhbmNlLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zv
cm1zL2RhdGUvZGF0ZS1zdWdnZXN0aW9uLXBpY2tlci1hcHBlYXJhbmNlLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMWFlOWQ2NmUyOTllYWJjYjdiNGQ3YjQ3YTI4OTBkYmIyZjIyN2YxYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvZGF0ZS9kYXRl
LXN1Z2dlc3Rpb24tcGlja2VyLWFwcGVhcmFuY2UuaHRtbApAQCAtMCwwICsxLDkwIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxib2R5PgorPGlucHV0IHR5cGU9ZGF0ZSBpZD1kYXRlIGxpc3Q9c3VnZ2Vz
dGlvbnM+Cis8ZGF0YWxpc3QgaWQ9c3VnZ2VzdGlvbnM+CisgICAgPG9wdGlvbiBsYWJlbD0iVG9k
YXkiPjIwMTItMDEtMDE8L29wdGlvbj4KKyAgICA8b3B0aW9uIGxhYmVsPSJUb21vcnJvdyI+MjAx
Mi0wMS0wMjwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0wMzwvb3B0aW9uPgorICAgIDxv
cHRpb24+MjAxMi0wMS0wNDwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0wNTwvb3B0aW9u
PgorICAgIDxvcHRpb24+MjAxMi0wMS0wNjwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0w
Nzwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0wODwvb3B0aW9uPgorICAgIDxvcHRpb24+
MjAxMi0wMS0wOTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0xMDwvb3B0aW9uPgorICAg
IDxvcHRpb24+MjAxMi0wMS0xMTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0xMjwvb3B0
aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0xMzwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0w
MS0xNDwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0xNTwvb3B0aW9uPgorICAgIDxvcHRp
b24+MjAxMi0wMS0xNjwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0xNzwvb3B0aW9uPgor
ICAgIDxvcHRpb24+MjAxMi0wMS0xODwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0xOTwv
b3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0yMDwvb3B0aW9uPgorICAgIDxvcHRpb24gbGFi
ZWw9Ii0iPjIwMTItMDEtMjE8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMjI8L29wdGlv
bj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMjM8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEt
MjQ8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMjU8L29wdGlvbj4KKyAgICA8b3B0aW9u
PjIwMTItMDEtMjY8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMjc8L29wdGlvbj4KKyAg
ICA8b3B0aW9uPjIwMTItMDEtMjg8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMjk8L29w
dGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMzA8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTIt
MDEtMzE8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMDE8L29wdGlvbj4KKyAgICA8b3B0
aW9uPjIwMTItMDItMDI8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMDM8L29wdGlvbj4K
KyAgICA8b3B0aW9uPjIwMTItMDItMDQ8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMDU8
L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMDY8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIw
MTItMDItMDc8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMDg8L29wdGlvbj4KKyAgICA8
b3B0aW9uPjIwMTItMDItMDk8L29wdGlvbj4KKyAgICA8b3B0aW9uIGxhYmVsPSItIj4yMDEyLTAy
LTEwPC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAyLTExPC9vcHRpb24+CisgICAgPG9wdGlv
bj4yMDEyLTAyLTEyPC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAyLTEzPC9vcHRpb24+Cisg
ICAgPG9wdGlvbj4yMDEyLTAyLTE0PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAyLTE1PC9v
cHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAyLTE2PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEy
LTAyLTE3PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAyLTE4PC9vcHRpb24+CisgICAgPG9w
dGlvbj4yMDEyLTAyLTE5PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAyLTIwPC9vcHRpb24+
CisgICAgPG9wdGlvbj4yMDEyLTAyLTIxPC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAyLTIy
PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAyLTIzPC9vcHRpb24+CisgICAgPG9wdGlvbj4y
MDEyLTAyLTI0PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAyLTI1PC9vcHRpb24+CisgICAg
PG9wdGlvbj4yMDEyLTAyLTI2PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAyLTI3PC9vcHRp
b24+CisgICAgPG9wdGlvbj4yMDEyLTAyLTI4PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAy
LTI5PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAzLTAxPC9vcHRpb24+CisgICAgPG9wdGlv
bj4yMDEyLTAzLTAyPC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAzLTAzPC9vcHRpb24+Cisg
ICAgPG9wdGlvbj4yMDEyLTAzLTA0PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAzLTA1PC9v
cHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAzLTA2PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEy
LTAzLTA3PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAzLTA4PC9vcHRpb24+CisgICAgPG9w
dGlvbj4yMDEyLTAxLTAwPC9vcHRpb24+IDwhLS1pbnZhbGlkLS0+CisgICAgPG9wdGlvbj5mb288
L29wdGlvbj4gPCEtLWludmFsaWQtLT4KKzwvZGF0YWxpc3Q+Cis8c2NyaXB0PgordGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KHRydWUpOwordGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CitpZiAod2lu
ZG93LmludGVybmFscykKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0RW5hYmxlTW9ja1BhZ2VQ
b3B1cCh0cnVlKTsKKworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RhdGUnKS5mb2N1cygpOwor
aWYgKHdpbmRvdy5ldmVudFNlbmRlcikKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCdkb3duQXJy
b3cnKTsKK3ZhciBwaWNrZXJXaW5kb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbW9jay1w
YWdlLXBvcHVwJykuY29udGVudFdpbmRvdzsKK3BpY2tlcldpbmRvdy5vbnJlc2l6ZSA9IGZ1bmN0
aW9uKCkgeworICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworfQorPC9zY3JpcHQ+Cis8L2Jv
ZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1z
L2RhdGUvZGF0ZS1zdWdnZXN0aW9uLXBpY2tlci1rZXktb3BlcmF0aW9ucy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1zdWdn
ZXN0aW9uLXBpY2tlci1rZXktb3BlcmF0aW9ucy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzQ5
NjJiNGQzNjJhYzQyYzIzMGFmYjFlYWM3OWM3MjM5MGUxOWZhOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dl
c3Rpb24tcGlja2VyLWtleS1vcGVyYXRpb25zLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMyIEBA
CitUZXN0cyB0aGF0IGtleSBiaW5kaW5ncyB3b3JrIGFzIGV4cGVjdGVkLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKworQ2hlY2sgdGhhdCBwYWdlIHBvcHVwIGRvZXNuJ3QgZXhpc3Qg
YXQgZmlyc3QuCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb2NrLXBhZ2UtcG9wdXAi
KSBpcyBudWxsCitDaGVjayB0aGF0IHBhZ2UgcG9wdXAgZXhpc3RzLgorUEFTUyBwaWNrZXJXaW5k
b3cucGFnZVBvcHVwQ29udHJvbGxlci50b1N0cmluZygpIGlzICJbb2JqZWN0IFBhZ2VQb3B1cENv
bnRyb2xsZXJdIgorQ2hlY2sgdGhhdCB1cC9kb3duIGFycm93IGtleXMgd29yay4KK1BBU1MgaGln
aGxpZ2h0ZWRFbnRyeSgpIGlzIG51bGwKK1BBU1MgaGlnaGxpZ2h0ZWRFbnRyeSgpIGlzICIyMDEy
LTAxLTAxIgorUEFTUyBoaWdobGlnaHRlZEVudHJ5KCkgaXMgIjIwMTItMDEtMDIiCitQQVNTIGhp
Z2hsaWdodGVkRW50cnkoKSBpcyAiMjAxMi0wMS0wMSIKK0NoZWNrIHRoYXQgdXAgYXJyb3cga2V5
IGF0IHRvcCBvZiBsaXN0IGRvZXMgbm90aGluZy4KK1BBU1MgaGlnaGxpZ2h0ZWRFbnRyeSgpIGlz
ICIyMDEyLTAxLTAxIgorUEFTUyBoaWdobGlnaHRlZEVudHJ5KCkgaXMgIjIwMTItMDEtMDIiCitD
aGVjayB0aGF0IHBhZ2UgdXAvZG93biBhcnJvdyBrZXlzIHdvcmsuCitQQVNTIGhpZ2hsaWdodGVk
RW50cnkoKSBpcyAiMjAxMi0wMi0wOSIKK1BBU1MgaGlnaGxpZ2h0ZWRFbnRyeSgpIGlzICIyMDEy
LTAyLTI5IgorUEFTUyBoaWdobGlnaHRlZEVudHJ5KCkgaXMgIjIwMTItMDEtMjEiCitQQVNTIGhp
Z2hsaWdodGVkRW50cnkoKSBpcyAiMjAxMi0wMi0yOSIKK1BBU1MgaGlnaGxpZ2h0ZWRFbnRyeSgp
IGlzICJAb3BlbkNhbGVuZGFyUGlja2VyIgorQ2hlY2sgdGhhdCBkb3duIGFycm93IGtleSBhdCBi
b3R0b20gb2YgbGlzdCBkb2VzIG5vdGhpbmcuCitQQVNTIGhpZ2hsaWdodGVkRW50cnkoKSBpcyAi
QG9wZW5DYWxlbmRhclBpY2tlciIKK0NoZWNrIHRoYXQgZW50ZXIga2V5IHNldHMgdGhlIGhpZ2hs
aWdodGVkIHZhbHVlLgorUEFTUyBoaWdobGlnaHRlZEVudHJ5KCkgaXMgIjIwMTItMDMtMDgiCitQ
QVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkYXRlIikudmFsdWUgaXMgIjIwMTItMDMtMDgi
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9mb3Jtcy9kYXRlL2Rh
dGUtc3VnZ2VzdGlvbi1waWNrZXIta2V5LW9wZXJhdGlvbnMuaHRtbCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2VyLWtl
eS1vcGVyYXRpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjAxM2QyNThlNDE5NmM3YmMyNDdlYjhkYzM4
Mzc4NTUwNzE4NzYzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rpb24tcGlja2VyLWtleS1vcGVyYXRp
b25zLmh0bWwKQEAgLTAsMCArMSwxNjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBzdHlsZT0iYmFja2dyb3VuZC1jb2xv
cjogI2JiYmJiYjsiPgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xl
Ij48L2Rpdj4KKzxpbnB1dCB0eXBlPWRhdGUgaWQ9ZGF0ZSB2YWx1ZT0iMjAxMi0xMi0yNCIgbGlz
dD1zdWdnZXN0aW9ucz4KKzxkYXRhbGlzdCBpZD1zdWdnZXN0aW9ucz4KKyAgICA8b3B0aW9uIGxh
YmVsPSJUb2RheSI+MjAxMi0wMS0wMTwvb3B0aW9uPgorICAgIDxvcHRpb24gbGFiZWw9IlRvbW9y
cm93Ij4yMDEyLTAxLTAyPC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTAzPC9vcHRpb24+
CisgICAgPG9wdGlvbj4yMDEyLTAxLTA0PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTA1
PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTA2PC9vcHRpb24+CisgICAgPG9wdGlvbj4y
MDEyLTAxLTA3PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTA4PC9vcHRpb24+CisgICAg
PG9wdGlvbj4yMDEyLTAxLTA5PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTEwPC9vcHRp
b24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTExPC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAx
LTEyPC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTEzPC9vcHRpb24+CisgICAgPG9wdGlv
bj4yMDEyLTAxLTE0PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTE1PC9vcHRpb24+Cisg
ICAgPG9wdGlvbj4yMDEyLTAxLTE2PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTE3PC9v
cHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTE4PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEy
LTAxLTE5PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTIwPC9vcHRpb24+CisgICAgPG9w
dGlvbiBsYWJlbD0iLSI+MjAxMi0wMS0yMTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0y
Mjwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0yMzwvb3B0aW9uPgorICAgIDxvcHRpb24+
MjAxMi0wMS0yNDwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0yNTwvb3B0aW9uPgorICAg
IDxvcHRpb24+MjAxMi0wMS0yNjwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0yNzwvb3B0
aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0yODwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0w
MS0yOTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0zMDwvb3B0aW9uPgorICAgIDxvcHRp
b24+MjAxMi0wMS0zMTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0wMTwvb3B0aW9uPgor
ICAgIDxvcHRpb24+MjAxMi0wMi0wMjwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0wMzwv
b3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0wNDwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAx
Mi0wMi0wNTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0wNjwvb3B0aW9uPgorICAgIDxv
cHRpb24+MjAxMi0wMi0wNzwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0wODwvb3B0aW9u
PgorICAgIDxvcHRpb24+MjAxMi0wMi0wOTwvb3B0aW9uPgorICAgIDxvcHRpb24gbGFiZWw9Ii0i
PjIwMTItMDItMTA8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMTE8L29wdGlvbj4KKyAg
ICA8b3B0aW9uPjIwMTItMDItMTI8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMTM8L29w
dGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMTQ8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTIt
MDItMTU8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMTY8L29wdGlvbj4KKyAgICA8b3B0
aW9uPjIwMTItMDItMTc8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMTg8L29wdGlvbj4K
KyAgICA8b3B0aW9uPjIwMTItMDItMTk8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMjA8
L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMjE8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIw
MTItMDItMjI8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMjM8L29wdGlvbj4KKyAgICA8
b3B0aW9uPjIwMTItMDItMjQ8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMjU8L29wdGlv
bj4KKyAgICA8b3B0aW9uPjIwMTItMDItMjY8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDIt
Mjc8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDItMjg8L29wdGlvbj4KKyAgICA8b3B0aW9u
PjIwMTItMDItMjk8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDMtMDE8L29wdGlvbj4KKyAg
ICA8b3B0aW9uPjIwMTItMDMtMDI8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDMtMDM8L29w
dGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDMtMDQ8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTIt
MDMtMDU8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDMtMDY8L29wdGlvbj4KKyAgICA8b3B0
aW9uPjIwMTItMDMtMDc8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDMtMDg8L29wdGlvbj4K
KyAgICA8b3B0aW9uPjIwMTItMDEtMDA8L29wdGlvbj4gPCEtLWludmFsaWQtLT4KKyAgICA8b3B0
aW9uPmZvbzwvb3B0aW9uPiA8IS0taW52YWxpZC0tPgorPC9kYXRhbGlzdD4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBrZXkgYmluZGluZ3Mgd29yayBhcyBleHBlY3RlZC4iKTsK
K3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRFbmFibGVNb2NrUGFnZVBvcHVwKHRydWUpOworCitkZWJ1
ZygnQ2hlY2sgdGhhdCBwYWdlIHBvcHVwIGRvZXNuXCd0IGV4aXN0IGF0IGZpcnN0LicpOworc2hv
dWxkQmVOdWxsKCdkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW9jay1wYWdlLXBvcHVwIiknKTsK
Kworc2VuZEtleShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0ZScpLCAnRG93bicpOworCit2
YXIgcGlja2VyV2luZG93ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vY2stcGFnZS1wb3B1
cCcpLmNvbnRlbnRXaW5kb3c7CitwaWNrZXJXaW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXpl
IiwgZnVuY3Rpb24oKSB7CisgICAgZGVidWcoJ0NoZWNrIHRoYXQgcGFnZSBwb3B1cCBleGlzdHMu
Jyk7CisgICAgc2hvdWxkQmUoJ3BpY2tlcldpbmRvdy5wYWdlUG9wdXBDb250cm9sbGVyLnRvU3Ry
aW5nKCknLCAnIltvYmplY3QgUGFnZVBvcHVwQ29udHJvbGxlcl0iJyk7CisgICAgcGlja2VyV2lu
ZG93LmZvY3VzKCk7CisKKyAgICBkZWJ1ZygnQ2hlY2sgdGhhdCB1cC9kb3duIGFycm93IGtleXMg
d29yay4nKTsKKyAgICBzaG91bGRCZU51bGwoJ2hpZ2hsaWdodGVkRW50cnkoKScpOworICAgIGV2
ZW50U2VuZGVyLmtleURvd24oJ2Rvd25BcnJvdycpOworICAgIHNob3VsZEJlKCdoaWdobGlnaHRl
ZEVudHJ5KCknLCAnIjIwMTItMDEtMDEiJyk7CisgICAgZXZlbnRTZW5kZXIua2V5RG93bignZG93
bkFycm93Jyk7CisgICAgc2hvdWxkQmUoJ2hpZ2hsaWdodGVkRW50cnkoKScsICciMjAxMi0wMS0w
MiInKTsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCd1cEFycm93Jyk7CisgICAgc2hvdWxkQmUo
J2hpZ2hsaWdodGVkRW50cnkoKScsICciMjAxMi0wMS0wMSInKTsKKworICAgIGRlYnVnKCdDaGVj
ayB0aGF0IHVwIGFycm93IGtleSBhdCB0b3Agb2YgbGlzdCBkb2VzIG5vdGhpbmcuJyk7CisgICAg
ZXZlbnRTZW5kZXIua2V5RG93bigndXBBcnJvdycpOworICAgIHNob3VsZEJlKCdoaWdobGlnaHRl
ZEVudHJ5KCknLCAnIjIwMTItMDEtMDEiJyk7CisgICAgZXZlbnRTZW5kZXIua2V5RG93bignZG93
bkFycm93Jyk7CisgICAgc2hvdWxkQmUoJ2hpZ2hsaWdodGVkRW50cnkoKScsICciMjAxMi0wMS0w
MiInKTsKKworICAgIGRlYnVnKCdDaGVjayB0aGF0IHBhZ2UgdXAvZG93biBhcnJvdyBrZXlzIHdv
cmsuJyk7CisgICAgZXZlbnRTZW5kZXIua2V5RG93bigncGFnZURvd24nKTsKKyAgICBzaG91bGRC
ZSgnaGlnaGxpZ2h0ZWRFbnRyeSgpJywgJyIyMDEyLTAyLTA5IicpOworICAgIGV2ZW50U2VuZGVy
LmtleURvd24oJ3BhZ2VEb3duJyk7CisgICAgc2hvdWxkQmUoJ2hpZ2hsaWdodGVkRW50cnkoKScs
ICciMjAxMi0wMi0yOSInKTsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCdwYWdlVXAnKTsKKyAg
ICBzaG91bGRCZSgnaGlnaGxpZ2h0ZWRFbnRyeSgpJywgJyIyMDEyLTAxLTIxIicpOworICAgIGV2
ZW50U2VuZGVyLmtleURvd24oJ3BhZ2VEb3duJyk7CisgICAgc2hvdWxkQmUoJ2hpZ2hsaWdodGVk
RW50cnkoKScsICciMjAxMi0wMi0yOSInKTsKKyAgICBldmVudFNlbmRlci5rZXlEb3duKCdwYWdl
RG93bicpOworICAgIHNob3VsZEJlKCdoaWdobGlnaHRlZEVudHJ5KCknLCAnIkBvcGVuQ2FsZW5k
YXJQaWNrZXIiJyk7CisKKyAgICBkZWJ1ZygnQ2hlY2sgdGhhdCBkb3duIGFycm93IGtleSBhdCBi
b3R0b20gb2YgbGlzdCBkb2VzIG5vdGhpbmcuJyk7CisgICAgZXZlbnRTZW5kZXIua2V5RG93bign
ZG93bkFycm93Jyk7CisgICAgc2hvdWxkQmUoJ2hpZ2hsaWdodGVkRW50cnkoKScsICciQG9wZW5D
YWxlbmRhclBpY2tlciInKTsKKyAgICAKKyAgICBkZWJ1ZygnQ2hlY2sgdGhhdCBlbnRlciBrZXkg
c2V0cyB0aGUgaGlnaGxpZ2h0ZWQgdmFsdWUuJyk7CisgICAgZXZlbnRTZW5kZXIua2V5RG93bign
dXBBcnJvdycpOworICAgIHNob3VsZEJlKCdoaWdobGlnaHRlZEVudHJ5KCknLCAnIjIwMTItMDMt
MDgiJyk7CisgICAgZXZlbnRTZW5kZXIua2V5RG93bigiXG4iKTsKKyAgICBzaG91bGRCZSgnZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRhdGUiKS52YWx1ZScsICciMjAxMi0wMy0wOCInKTsKKwor
ICAgIGZpbmlzaEpTVGVzdCgpOworfSwgZmFsc2UpOworCitmdW5jdGlvbiBoaWdobGlnaHRlZEVu
dHJ5KCkgeworICAgIHZhciBhY3RpdmVFbGVtZW50ID0gcGlja2VyV2luZG93LmRvY3VtZW50LmFj
dGl2ZUVsZW1lbnQ7CisgICAgaWYgKCFhY3RpdmVFbGVtZW50KQorICAgICAgICByZXR1cm4gbnVs
bDsKKyAgICB2YXIgdmFsdWUgPSBhY3RpdmVFbGVtZW50LmRhdGFzZXQudmFsdWU7CisgICAgaWYg
KHR5cGVvZiB2YWx1ZSA9PT0gInN0cmluZyIpCisgICAgICAgIHJldHVybiB2YWx1ZTsKKyAgICB2
YXIgYWN0aW9uID0gYWN0aXZlRWxlbWVudC5kYXRhc2V0LmFjdGlvbjsKKyAgICBpZiAodHlwZW9m
IGFjdGlvbiA9PT0gInN0cmluZyIpCisgICAgICAgIHJldHVybiAiQCIgKyBhY3Rpb247CisgICAg
cmV0dXJuIG51bGw7Cit9CisKK2Z1bmN0aW9uIHNlbmRLZXkoaW5wdXQsIGtleU5hbWUpIHsKKyAg
ICB2YXIgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnS2V5Ym9hcmRFdmVudCcpOworICAg
IGV2ZW50LmluaXRLZXlib2FyZEV2ZW50KCdrZXlkb3duJywgdHJ1ZSwgdHJ1ZSwgZG9jdW1lbnQu
ZGVmYXVsdFZpZXcsIGtleU5hbWUpOworICAgIGlucHV0LmRpc3BhdGNoRXZlbnQoZXZlbnQpOwor
fQorCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9mb3Jtcy9kYXRlL2RhdGUt
c3VnZ2VzdGlvbi1waWNrZXItbW91c2Utb3BlcmF0aW9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1zdWdnZXN0aW9uLXBp
Y2tlci1tb3VzZS1vcGVyYXRpb25zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZTNkMjBmMjA5
YmQ1M2NlYjM3ZGNjYjZhOWQ4NjlmYzMyNzZmZWI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9mb3Jtcy9kYXRlL2RhdGUtc3VnZ2VzdGlvbi1w
aWNrZXItbW91c2Utb3BlcmF0aW9ucy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAorVGVz
dHMgdGhhdCBrZXkgYmluZGluZ3Mgd29yayBhcyBleHBlY3RlZC4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK0NoZWNrIHRoYXQgcGFnZSBwb3B1cCBkb2Vzbid0IGV4aXN0IGF0IGZp
cnN0LgorUEFTUyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW9jay1wYWdlLXBvcHVwIikgaXMg
bnVsbAorQ2hlY2sgdGhhdCBwYWdlIHBvcHVwIGV4aXN0cy4KK1BBU1MgcGlja2VyV2luZG93LnBh
Z2VQb3B1cENvbnRyb2xsZXIudG9TdHJpbmcoKSBpcyAiW29iamVjdCBQYWdlUG9wdXBDb250cm9s
bGVyXSIKK0NoZWNrIHRoYXQgaG92ZXJpbmcgb3ZlciBhbiBlbnRyeSBoaWdobGlnaHRzIGl0Lgor
UEFTUyBoaWdobGlnaHRlZEVudHJ5KCkgaXMgIjIwMTItMDEtMDIiCitDaGVjayB0aGF0IG1vdmlu
ZyB0aGUgbW91c2Ugb3V0c2lkZSB0aGUgcG9wdXAgZGUtaGlnaGxpZ2h0cyBlbnRyaWVzLgorUEFT
UyBoaWdobGlnaHRlZEVudHJ5KCkgaXMgbnVsbAorQ2hlY2sgdGhhdCBtb3VzZSBjbGljayBzZXRz
IHRoZSB2YWx1ZS4KK1BBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRhdGUiKS52YWx1ZSBp
cyAiMjAxMi0wMS0wMyIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0
L2Zvcm1zL2RhdGUvZGF0ZS1zdWdnZXN0aW9uLXBpY2tlci1tb3VzZS1vcGVyYXRpb25zLmh0bWwg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2Zvcm1zL2RhdGUvZGF0ZS1zdWdn
ZXN0aW9uLXBpY2tlci1tb3VzZS1vcGVyYXRpb25zLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGI5YjlhN2Q2
Y2RjY2VlNWE1MzM1M2NhMjUzYTAwNjQ4ZWY5ZWJjMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvZm9ybXMvZGF0ZS9kYXRlLXN1Z2dlc3Rpb24t
cGlja2VyLW1vdXNlLW9wZXJhdGlvbnMuaHRtbApAQCAtMCwwICsxLDE3MCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IHN0
eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiYmJiOyI+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPGlucHV0IHR5cGU9ZGF0ZSBpZD1kYXRlIHZh
bHVlPSIyMDEyLTEyLTI0IiBsaXN0PXN1Z2dlc3Rpb25zPgorPGRhdGFsaXN0IGlkPXN1Z2dlc3Rp
b25zPgorICAgIDxvcHRpb24gbGFiZWw9IlRvZGF5Ij4yMDEyLTAxLTAxPC9vcHRpb24+CisgICAg
PG9wdGlvbiBsYWJlbD0iVG9tb3Jyb3ciPjIwMTItMDEtMDI8L29wdGlvbj4KKyAgICA8b3B0aW9u
PjIwMTItMDEtMDM8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMDQ8L29wdGlvbj4KKyAg
ICA8b3B0aW9uPjIwMTItMDEtMDU8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMDY8L29w
dGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMDc8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTIt
MDEtMDg8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMDk8L29wdGlvbj4KKyAgICA8b3B0
aW9uPjIwMTItMDEtMTA8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMTE8L29wdGlvbj4K
KyAgICA8b3B0aW9uPjIwMTItMDEtMTI8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMTM8
L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMTQ8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIw
MTItMDEtMTU8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMTY8L29wdGlvbj4KKyAgICA8
b3B0aW9uPjIwMTItMDEtMTc8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMTg8L29wdGlv
bj4KKyAgICA8b3B0aW9uPjIwMTItMDEtMTk8L29wdGlvbj4KKyAgICA8b3B0aW9uPjIwMTItMDEt
MjA8L29wdGlvbj4KKyAgICA8b3B0aW9uIGxhYmVsPSItIj4yMDEyLTAxLTIxPC9vcHRpb24+Cisg
ICAgPG9wdGlvbj4yMDEyLTAxLTIyPC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTIzPC9v
cHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTI0PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEy
LTAxLTI1PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTI2PC9vcHRpb24+CisgICAgPG9w
dGlvbj4yMDEyLTAxLTI3PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTI4PC9vcHRpb24+
CisgICAgPG9wdGlvbj4yMDEyLTAxLTI5PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTMw
PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAxLTMxPC9vcHRpb24+CisgICAgPG9wdGlvbj4y
MDEyLTAyLTAxPC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAyLTAyPC9vcHRpb24+CisgICAg
PG9wdGlvbj4yMDEyLTAyLTAzPC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAyLTA0PC9vcHRp
b24+CisgICAgPG9wdGlvbj4yMDEyLTAyLTA1PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAy
LTA2PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAyLTA3PC9vcHRpb24+CisgICAgPG9wdGlv
bj4yMDEyLTAyLTA4PC9vcHRpb24+CisgICAgPG9wdGlvbj4yMDEyLTAyLTA5PC9vcHRpb24+Cisg
ICAgPG9wdGlvbiBsYWJlbD0iLSI+MjAxMi0wMi0xMDwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAx
Mi0wMi0xMTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0xMjwvb3B0aW9uPgorICAgIDxv
cHRpb24+MjAxMi0wMi0xMzwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0xNDwvb3B0aW9u
PgorICAgIDxvcHRpb24+MjAxMi0wMi0xNTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0x
Njwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0xNzwvb3B0aW9uPgorICAgIDxvcHRpb24+
MjAxMi0wMi0xODwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0xOTwvb3B0aW9uPgorICAg
IDxvcHRpb24+MjAxMi0wMi0yMDwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0yMTwvb3B0
aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0yMjwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0w
Mi0yMzwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0yNDwvb3B0aW9uPgorICAgIDxvcHRp
b24+MjAxMi0wMi0yNTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0yNjwvb3B0aW9uPgor
ICAgIDxvcHRpb24+MjAxMi0wMi0yNzwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0yODwv
b3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMi0yOTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAx
Mi0wMy0wMTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMy0wMjwvb3B0aW9uPgorICAgIDxv
cHRpb24+MjAxMi0wMy0wMzwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMy0wNDwvb3B0aW9u
PgorICAgIDxvcHRpb24+MjAxMi0wMy0wNTwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMy0w
Njwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMy0wNzwvb3B0aW9uPgorICAgIDxvcHRpb24+
MjAxMi0wMy0wODwvb3B0aW9uPgorICAgIDxvcHRpb24+MjAxMi0wMS0wMDwvb3B0aW9uPiA8IS0t
aW52YWxpZC0tPgorICAgIDxvcHRpb24+Zm9vPC9vcHRpb24+IDwhLS1pbnZhbGlkLS0+Cis8L2Rh
dGFsaXN0PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0cyB0aGF0IGtleSBiaW5kaW5ncyB3
b3JrIGFzIGV4cGVjdGVkLiIpOword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdp
bmRvdy5pbnRlcm5hbHMpCisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEVuYWJsZU1vY2tQYWdl
UG9wdXAodHJ1ZSk7CitkZWJ1ZygnQ2hlY2sgdGhhdCBwYWdlIHBvcHVwIGRvZXNuXCd0IGV4aXN0
IGF0IGZpcnN0LicpOworc2hvdWxkQmVOdWxsKCdkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW9j
ay1wYWdlLXBvcHVwIiknKTsKKwordmFyIGNhbGVuZGFyUGlja2VyRWxlbWVudCA9IHdpbmRvdy5p
bnRlcm5hbHMub2xkZXN0U2hhZG93Um9vdChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGF0ZScp
KS5maXJzdENoaWxkLmxhc3RDaGlsZDsKK3NlbmRNb3VzZWRvd24oY2FsZW5kYXJQaWNrZXJFbGVt
ZW50KTsKKwordmFyIHBpY2tlcldpbmRvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2Nr
LXBhZ2UtcG9wdXAnKS5jb250ZW50V2luZG93OworcGlja2VyV2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoInJlc2l6ZSIsIGZ1bmN0aW9uKCkgeworICAgIGRlYnVnKCdDaGVjayB0aGF0IHBhZ2UgcG9w
dXAgZXhpc3RzLicpOworICAgIHNob3VsZEJlKCdwaWNrZXJXaW5kb3cucGFnZVBvcHVwQ29udHJv
bGxlci50b1N0cmluZygpJywgJyJbb2JqZWN0IFBhZ2VQb3B1cENvbnRyb2xsZXJdIicpOworCisg
ICAgZGVidWcoJ0NoZWNrIHRoYXQgaG92ZXJpbmcgb3ZlciBhbiBlbnRyeSBoaWdobGlnaHRzIGl0
LicpOworICAgIGhvdmVyT3ZlckVsZW1lbnQocGlja2VyV2luZG93LmRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoIi5zdWdnZXN0aW9uLWxpc3QtZW50cnk6bnRoLWNoaWxkKDIpIikpOworICAgIHNob3Vs
ZEJlKCdoaWdobGlnaHRlZEVudHJ5KCknLCAnIjIwMTItMDEtMDIiJyk7CisKKyAgICBkZWJ1Zygn
Q2hlY2sgdGhhdCBtb3ZpbmcgdGhlIG1vdXNlIG91dHNpZGUgdGhlIHBvcHVwIGRlLWhpZ2hsaWdo
dHMgZW50cmllcy4nKTsKKyAgICBob3Zlck92ZXJFbGVtZW50KGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdkZXNjcmlwdGlvbicpKTsKKyAgICBzaG91bGRCZU51bGwoJ2hpZ2hsaWdodGVkRW50cnko
KScpOworCisgICAgZGVidWcoJ0NoZWNrIHRoYXQgbW91c2UgY2xpY2sgc2V0cyB0aGUgdmFsdWUu
Jyk7CisgICAgY2xpY2tFbGVtZW50KHBpY2tlcldpbmRvdy5kb2N1bWVudC5xdWVyeVNlbGVjdG9y
KCIuc3VnZ2VzdGlvbi1saXN0LWVudHJ5Om50aC1jaGlsZCgzKSIpKTsKKyAgICBzaG91bGRCZSgn
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRhdGUiKS52YWx1ZScsICciMjAxMi0wMS0wMyInKTsK
KworICAgIGZpbmlzaEpTVGVzdCgpOworfSwgZmFsc2UpOworCitmdW5jdGlvbiBoaWdobGlnaHRl
ZEVudHJ5KCkgeworICAgIHZhciBhY3RpdmVFbGVtZW50ID0gcGlja2VyV2luZG93LmRvY3VtZW50
LmFjdGl2ZUVsZW1lbnQ7CisgICAgaWYgKCFhY3RpdmVFbGVtZW50KQorICAgICAgICByZXR1cm4g
bnVsbDsKKyAgICB2YXIgdmFsdWUgPSBhY3RpdmVFbGVtZW50LmRhdGFzZXQudmFsdWU7CisgICAg
aWYgKHR5cGVvZiB2YWx1ZSA9PT0gInN0cmluZyIpCisgICAgICAgIHJldHVybiB2YWx1ZTsKKyAg
ICB2YXIgYWN0aW9uID0gYWN0aXZlRWxlbWVudC5kYXRhc2V0LmFjdGlvbjsKKyAgICBpZiAodHlw
ZW9mIGFjdGlvbiA9PT0gInN0cmluZyIpCisgICAgICAgIHJldHVybiAiQCIgKyBhY3Rpb247Cisg
ICAgcmV0dXJuIG51bGw7Cit9CisKK2Z1bmN0aW9uIGN1bXVsYXRpdmVPZmZzZXQoZWxlbWVudCkg
eworICAgIHZhciB4ID0gMDsKKyAgICB2YXIgeSA9IDA7CisgICAgdmFyIHBhcmVudEZyYW1lID0g
ZWxlbWVudC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LmZyYW1lRWxlbWVudDsKKyAgICBpZiAo
cGFyZW50RnJhbWUpIHsKKyAgICAgICAgdmFyIHBhcmVudEZyYW1lT2Zmc2V0ID0gY3VtdWxhdGl2
ZU9mZnNldChwYXJlbnRGcmFtZSk7CisgICAgICAgIHggPSBwYXJlbnRGcmFtZU9mZnNldFswXTsK
KyAgICAgICAgeSA9IHBhcmVudEZyYW1lT2Zmc2V0WzFdOworICAgIH0KKyAgICBpZiAoZWxlbWVu
dC5wYXJlbnROb2RlKSB7CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIHggKz0gZWxlbWVudC5v
ZmZzZXRMZWZ0IHx8IDA7CisgICAgICAgICAgICB5ICs9IGVsZW1lbnQub2Zmc2V0VG9wICB8fCAw
OworICAgICAgICAgICAgZWxlbWVudCA9IGVsZW1lbnQub2Zmc2V0UGFyZW50OworICAgICAgICB9
IHdoaWxlIChlbGVtZW50KTsKKyAgICB9CisgICAgcmV0dXJuIFt4LCB5XTsKK30KKworZnVuY3Rp
b24gaG92ZXJPdmVyRWxlbWVudChlbGVtZW50KSB7CisgICAgdmFyIG9mZnNldCA9IGN1bXVsYXRp
dmVPZmZzZXQoZWxlbWVudCk7CisgICAgdmFyIGNlbnRlclggPSBvZmZzZXRbMF0gKyBlbGVtZW50
Lm9mZnNldFdpZHRoIC8gMjsKKyAgICB2YXIgY2VudGVyWSA9IG9mZnNldFsxXSArIGVsZW1lbnQu
b2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhjZW50ZXJYLCBj
ZW50ZXJZKTsKK30KKworZnVuY3Rpb24gY2xpY2tFbGVtZW50KGVsZW1lbnQpIHsKKyAgICB2YXIg
b2Zmc2V0ID0gY3VtdWxhdGl2ZU9mZnNldChlbGVtZW50KTsKKyAgICB2YXIgY2VudGVyWCA9IG9m
ZnNldFswXSArIGVsZW1lbnQub2Zmc2V0V2lkdGggLyAyOworICAgIHZhciBjZW50ZXJZID0gb2Zm
c2V0WzFdICsgZWxlbWVudC5vZmZzZXRIZWlnaHQgLyAyOworICAgIGV2ZW50U2VuZGVyLm1vdXNl
TW92ZVRvKGNlbnRlclgsIGNlbnRlclkpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOwor
ICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKK30KKworZnVuY3Rpb24gc2VuZE1vdXNlZG93bihl
bGVtZW50KSB7CisgICAgdmFyIGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ01vdXNlRXZl
bnQnKTsKKyAgICBldmVudC5pbml0RXZlbnQoJ2NsaWNrJywgdHJ1ZSwgdHJ1ZSk7CisgICAgZWxl
bWVudC5kaXNwYXRjaEV2ZW50KGV2ZW50KTsKK30KKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>