<?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>43537</bug_id>
          
          <creation_ts>2010-08-04 21:31:46 -0700</creation_ts>
          <short_desc>Introduce isValidValue(const String&amp;) of HTMLInputElement and HTMLTextAreaElement</short_desc>
          <delta_ts>2010-08-29 22:18:59 -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>All</rep_platform>
          <op_sys>All</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>adele</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jhawkins</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>260376</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-08-04 21:31:46 -0700</bug_when>
    <thetext>Introduce isValidValue(const String&amp;) of HTMLInputElement and HTMLTextAreaElement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260378</commentid>
    <comment_count>1</comment_count>
      <attachid>63544</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-08-04 21:34:17 -0700</bug_when>
    <thetext>Created attachment 63544
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260383</commentid>
    <comment_count>2</comment_count>
      <attachid>63548</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-08-04 21:42:12 -0700</bug_when>
    <thetext>Created attachment 63548
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260386</commentid>
    <comment_count>3</comment_count>
      <attachid>63549</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-08-04 21:47:09 -0700</bug_when>
    <thetext>Created attachment 63549
Patch 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260843</commentid>
    <comment_count>4</comment_count>
    <who name="James Hawkins">jhawkins</who>
    <bug_when>2010-08-05 14:06:40 -0700</bug_when>
    <thetext>&quot;to propose form field values without breaking form validity.&quot;

Can you describe how we&apos;ll use this in Chrome?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260998</commentid>
    <comment_count>5</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-08-05 17:56:11 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; &quot;to propose form field values without breaking form validity.&quot;
&gt; 
&gt; Can you describe how we&apos;ll use this in Chrome?

One of points we can use it at is:

Index: chrome/renderer/autofill_helper.cc
===================================================================
--- chrome/renderer/autofill_helper.cc  (revision 54514)
+++ chrome/renderer/autofill_helper.cc  (working copy)
@@ -75,14 +75,24 @@
   // Any popup currently showing is now obsolete.
   web_view-&gt;hidePopups();
 
-  // No suggestions: nothing to do.
-  if (values.empty())
-    return;
-
   std::vector&lt;string16&gt; v(values);
   std::vector&lt;string16&gt; l(labels);
   std::vector&lt;string16&gt; i(icons);
   std::vector&lt;int&gt; ids(unique_ids);
+  for (size_t i = 0 &lt; v.size(); ++i) {
+    if (autofill_query_node_-&gt;isValidValue(v[i]))
+      continue;
+    v.erase[i];
+    l.erase[i];
+    i.erase[i];
+    ids.erase[i];
+    i--;
+  }
+
+  // No suggestions: nothing to do.
+  if (v.empty())
+    return;
+
   int separator_index = -1;
 
   // The form has been auto-filled, so give the user the chance to clear the

Note: I didn&apos;t confirm to compile or test this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271182</commentid>
    <comment_count>6</comment_count>
      <attachid>63549</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-08-29 12:27:20 -0700</bug_when>
    <thetext>Comment on attachment 63549
Patch 3

&gt; +    // Common flag for HTMLInputElement::tooLong() and HTMLTextAreaElement::tooLong().
&gt; +    enum NeedsToCheckDirtyFlag {
&gt; +        CheckDirtyFlag,
&gt; +        IgnoreDirtyFlag,
&gt; +    };

I think this reads better on a single line than on four lines.

&gt; +    Color color(value); // This accepts named colors such as &quot;white&quot;.
&gt; +    return color.isValid() &amp;&amp; !color.hasAlpha();

This seems wrong. Why should &quot;transparent&quot; be an invalid color? Why is a color valid only if it has alpha of 255? There is no need to check isValid if you are also checking alpha, by the way, since invalid color is guaranteed to have an alpha of 0. I don&apos;t think there are enough test cases for this.

&gt; +    int matchLength;
&gt; +    int matchOffset = regExp.match(address, 0, &amp;matchLength);
&gt; +
&gt; +    return !matchOffset &amp;&amp; matchLength == addressLength;

Matching and then checking if the offset is 0 is an inefficient way to do an anchored regular expression match. We should probably add a complete string match operation to RegularExpression so you don&apos;t have to do things this roundabout way.

&gt; +bool HTMLInputElement::isValidValue(const String&amp; value) const
&gt; +{
&gt; +    if (inputType() == CHECKBOX || inputType() == FILE || inputType() == RADIO) {
&gt; +        ASSERT_NOT_REACHED();
&gt; +        return false;
&gt; +    }

This probably needs a &quot;why&quot; comment.

&gt; +    return !typeMismatch(value) &amp;&amp; !stepMismatch(value) &amp;&amp; !rangeUnderflow(value)
&gt; +        &amp;&amp; !rangeOverflow(value) &amp;&amp; !tooLong(value, IgnoreDirtyFlag)
&gt; +        &amp;&amp; !patternMismatch(value) &amp;&amp; !valueMissing(value);

I would format these with one check per line.

Since my comments are on code you are moving, not code you are adding, I am going to say review+ but I&apos;d like to see a lot more test cases here and that Color thing sure does seem wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>271293</commentid>
    <comment_count>7</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-08-29 22:18:46 -0700</bug_when>
    <thetext>Thank you for reviewing.

(In reply to comment #6)
&gt; (From update of attachment 63549 [details])
&gt; &gt; +    // Common flag for HTMLInputElement::tooLong() and HTMLTextAreaElement::tooLong().
&gt; &gt; +    enum NeedsToCheckDirtyFlag {
&gt; &gt; +        CheckDirtyFlag,
&gt; &gt; +        IgnoreDirtyFlag,
&gt; &gt; +    };
&gt; 
&gt; I think this reads better on a single line than on four lines.

Fixed.

&gt; &gt; +    Color color(value); // This accepts named colors such as &quot;white&quot;.
&gt; &gt; +    return color.isValid() &amp;&amp; !color.hasAlpha();
&gt; 
&gt; This seems wrong. Why should &quot;transparent&quot; be an invalid color? Why is a color valid only if it has alpha of 255? There is no need to check isValid if you are also checking alpha, by the way, since invalid color is guaranteed to have an alpha of 0. I don&apos;t think there are enough test cases for this.

Because HTML5 color has no alpha component.
Probably I will rewrite this color check code in the future.
 - We don&apos;t need to check named colors if we implement a color picker UI.
 - We should support localized names if we continue to use the current text field UI.

&gt; &gt; +    int matchLength;
&gt; &gt; +    int matchOffset = regExp.match(address, 0, &amp;matchLength);
&gt; &gt; +
&gt; &gt; +    return !matchOffset &amp;&amp; matchLength == addressLength;
&gt; 
&gt; Matching and then checking if the offset is 0 is an inefficient way to do an anchored regular expression match. We should probably add a complete string match operation to RegularExpression so you don&apos;t have to do things this roundabout way.

I agree with you.

&gt; 
&gt; &gt; +bool HTMLInputElement::isValidValue(const String&amp; value) const
&gt; &gt; +{
&gt; &gt; +    if (inputType() == CHECKBOX || inputType() == FILE || inputType() == RADIO) {
&gt; &gt; +        ASSERT_NOT_REACHED();
&gt; &gt; +        return false;
&gt; &gt; +    }
&gt; 
&gt; This probably needs a &quot;why&quot; comment.

Added a comment.

&gt; &gt; +    return !typeMismatch(value) &amp;&amp; !stepMismatch(value) &amp;&amp; !rangeUnderflow(value)
&gt; &gt; +        &amp;&amp; !rangeOverflow(value) &amp;&amp; !tooLong(value, IgnoreDirtyFlag)
&gt; &gt; +        &amp;&amp; !patternMismatch(value) &amp;&amp; !valueMissing(value);
&gt; 
&gt; I would format these with one check per line.

Fixed.

I landed the patch with the above modifications as r66357.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63544</attachid>
            <date>2010-08-04 21:34:17 -0700</date>
            <delta_ts>2010-08-04 21:42:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43537-20100805133415.patch</filename>
            <type>text/plain</type>
            <size>25293</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZDczOGQ2YWIzNmJkYzExMmI2MjdlMmZmZTIwODFiNDQ2Y2RiMjM3Mi4uNGFlNWFhZDc5N2I3ZWFm
ZGFhNDJlYTBmMzFjYzYxNjM3OWQzNDhkZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NCBAQAorMjAxMC0wOC0wNCAgS2Vu
dCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNlIGlzVmFsaWRWYWx1ZShjb25zdCBTdHJp
bmcmKSBvZiBIVE1MSW5wdXRFbGVtZW50IGFuZCBIVE1MVGV4dEFyZWFFbGVtZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzUzNworCisgICAgICAg
IGlzVmFsaWRWYWx1ZSgpIGlzIHVzZWZ1bCBmb3IgYnJvd3NlciBpbXBsZW1lbnRhdGlvbnMgdG8g
cHJvcG9zZQorICAgICAgICBmb3JtIGZpZWxkIHZhbHVlcyB3aXRob3V0IGJyZWFraW5nIGZvcm0g
dmFsaWRpdHkuCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXNlIGZ1bmN0aW9ucyBh
cmUgbm90IGV4cG9zZWQgdG8gSmF2YVNjcmlwdC4KKworICAgICAgICAqIGh0bWwvSFRNTEZvcm1D
b250cm9sRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRGb3JtQ29udHJvbEVs
ZW1lbnQ6Oik6CisgICAgICAgICBSZW1vdmUgdmlydHVhbCB2YWx1ZU1pc3NpbmcoKSwgcGF0dGVy
bk1pc21hdGNoKCksIGFuZCB0b29Mb25nKCkuCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzVmFsaWRDb2xvclN0cmluZyk6IE1vdmVkIGZy
b20gVmFsaWRpdHlTdGF0ZS4KKyAgICAgICAgKFdlYkNvcmU6OmlzVmFsaWRFbWFpbEFkZHJlc3Mp
OiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmlzVmFsaWRWYWx1
ZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6dHlwZU1pc21h
dGNoKTogQWRkIGEgU3RyaW5nIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1
dEVsZW1lbnQ6OnZhbHVlTWlzc2luZyk6IEFkZCBhIFN0cmluZyBwYXJhbWV0ZXIuCisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpwYXR0ZXJuTWlzbWF0Y2gpOiBBZGQgYSBTdHJp
bmcgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6dG9vTG9u
Zyk6IEFkZCBTdHJpbmcgYW5kIE5lZWRzVG9DaGVja0RpcnR5RmxhZyBwYXJhbWV0ZXJzLgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6cmFuZ2VVbmRlcmZsb3cpOiBBZGQgYSBT
dHJpbmcgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6cmFu
Z2VPdmVyZmxvdyk6IEFkZCBhIFN0cmluZyBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjpI
VE1MSW5wdXRFbGVtZW50OjpzdGVwTWlzbWF0Y2gpOiBBZGQgYSBTdHJpbmcgcGFyYW1ldGVyLgor
ICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTFRl
eHRBcmVhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGV4dEFyZWFFbGVtZW50
Ojp0b29Mb25nKTogQWRkIFN0cmluZyBhbmQgTmVlZHNUb0NoZWNrRGlydHlGbGFnIHBhcmFtZXRl
cnMuCisgICAgICAgIChXZWJDb3JlOjpIVE1MVGV4dEFyZWFFbGVtZW50Ojppc1ZhbGlkVmFsdWUp
OiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxUZXh0QXJlYUVsZW1lbnQ6OnZhbHVlTWlzc2luZyk6CisgICAgICAgICog
aHRtbC9WYWxpZGl0eVN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkaXR5U3RhdGU6
OnZhbHVlTWlzc2luZyk6IENhbGxzIHZhbHVlTWlzc2luZygpIG9mIEhUTUxJbnB1dEVsZW1lbnQg
b3IgSFRNTFRleHRBcmVhRWxlbWVudC4KKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkaXR5U3RhdGU6
OnR5cGVNaXNtYXRjaCk6IFBhc3NlcyB2YWx1ZSgpIHRvIEhUTUxJbnB1dEVsZW1lbnQ6OnR5cGVN
aXNtYXRjaCgpLgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRpdHlTdGF0ZTo6cGF0dGVybk1pc21h
dGNoKTogQ2FsbHMgcGF0dGVybk1pc21hdGNoKCkgb2YgSFRNTElucHV0RWxlbWVudC4KKyAgICAg
ICAgKFdlYkNvcmU6OlZhbGlkaXR5U3RhdGU6OnRvb0xvbmcpOiBDYWxscyB2YWx1ZU1pc3Npbmco
KSBvZiBIVE1MSW5wdXRFbGVtZW50IG9yIEhUTUxUZXh0QXJlYUVsZW1lbnQuCisgICAgICAgIChX
ZWJDb3JlOjpWYWxpZGl0eVN0YXRlOjpyYW5nZVVuZGVyZmxvdyk6IFBhc3NlcyB2YWx1ZSgpIHRv
IEhUTUxJbnB1dEVsZW1lbnQ6OnJhbmdlVW5kZXJmbG93KCkuCisgICAgICAgIChXZWJDb3JlOjpW
YWxpZGl0eVN0YXRlOjpyYW5nZU92ZXJmbG93KTogUGFzc2VzIHZhbHVlKCkgdG8gSFRNTElucHV0
RWxlbWVudDo6cmFuZ2VVbmRlcmZsb3coKS4KKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkaXR5U3Rh
dGU6OnN0ZXBNaXNtYXRjaCk6IFBhc3NlcyB2YWx1ZSgpIHRvIEhUTUxJbnB1dEVsZW1lbnQ6OnN0
ZXBNaXNtYXRjaCgpLgorICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5oOgorCiAyMDEwLTA4
LTAzICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAg
ICBCdWlsZCBmaXggZm9sbG93aW5nIHI2NDYyNC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUNvbnRyb2xFbGVtZW50LmggYi9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxl
bWVudC5oCmluZGV4IDAyZWE0ZTc4NDlmMDU3NDQ5MWY4NGFhMjBlOTA4MWRhM2Y1MDFhNDIuLjk0
NjhjNTVmNzlmYjA1MDQ3M2EwYzgxNTI1MmZjMjc5NGZhY2I2NGEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxG
b3JtQ29udHJvbEVsZW1lbnQuaApAQCAtODgsOSArODgsNiBAQCBwdWJsaWM6CiAgICAgLy8gVGhp
cyBtdXN0IGJlIGNhbGxlZCB3aGVuIGEgdmFsaWRhdGlvbiBjb25zdHJhaW50IG9yIGNvbnRyb2wg
dmFsdWUgaXMgY2hhbmdlZC4KICAgICB2b2lkIHNldE5lZWRzVmFsaWRpdHlDaGVjaygpOwogICAg
IHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHkoY29uc3QgU3RyaW5nJik7Ci0gICAgdmlydHVhbCBib29s
IHZhbHVlTWlzc2luZygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29s
IHBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBi
b29sIHRvb0xvbmcoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgdm9pZCBmb3JtRGVz
dHJveWVkKCkgeyBtX2Zvcm0gPSAwOyB9CiAKQEAgLTE3OCw2ICsxNzUsMTIgQEAgcHJpdmF0ZToK
IC8vIEZJWE1FOiBHaXZlIHRoaXMgY2xhc3MgaXRzIG93biBoZWFkZXIgZmlsZS4KIGNsYXNzIEhU
TUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50IDogcHVibGljIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRX
aXRoU3RhdGUgewogcHVibGljOgorICAgIC8vIENvbW1vbiBmbGFnIGZvciBIVE1MSW5wdXRFbGVt
ZW50Ojp0b29Mb25nKCkgYW5kIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnRvb0xvbmcoKS4KKyAgICBl
bnVtIE5lZWRzVG9DaGVja0RpcnR5RmxhZyB7CisgICAgICAgIENoZWNrRGlydHlGbGFnLAorICAg
ICAgICBJZ25vcmVEaXJ0eUZsYWcsCisgICAgfTsKKwogICAgIHZpcnR1YWwgfkhUTUxUZXh0Rm9y
bUNvbnRyb2xFbGVtZW50KCk7CiAKICAgICBTdHJpbmcgc3RyaXBwZWRQbGFjZWhvbGRlcigpIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IGI0ZTU0NTIzYjM4NmU1NzFlODE5
YTI4ZmJmNWZhMGJmZThkMmM5MjIuLjlmMDQ4M2EyNzBjMmZiMDEwYjU2MWZjMjk0YWZkZjQ3NjIx
OWNkNzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysg
Yi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTEwOCwxMiArMTA4LDQ0IEBA
IHN0YXRpYyBjb25zdCBkb3VibGUgd2Vla0RlZmF1bHRTdGVwQmFzZSA9IC0yNTkyMDAwMDAuMDsg
Ly8gVGhlIGZpcnN0IGRheSBvZiAxOTcwCiBzdGF0aWMgY29uc3QgZG91YmxlIG1zZWNQZXJNaW51
dGUgPSA2MCAqIDEwMDA7CiBzdGF0aWMgY29uc3QgZG91YmxlIG1zZWNQZXJTZWNvbmQgPSAxMDAw
OwogCitzdGF0aWMgY29uc3QgY2hhciBlbWFpbFBhdHRlcm5bXSA9CisgICAgIlthLXowLTkhIyQl
JicqKy89P15fYHt8fX4uLV0rIiAvLyBsb2NhbCBwYXJ0CisgICAgIkAiCisgICAgIlthLXowLTkt
XSsoXFwuW2EtejAtOS1dKykrIjsgLy8gZG9tYWluIHBhcnQKKwogc3RhdGljIGJvb2wgaXNOdW1i
ZXJDaGFyYWN0ZXIoVUNoYXIgY2gpCiB7CiAgICAgcmV0dXJuIGNoID09ICcrJyB8fCBjaCA9PSAn
LScgfHwgY2ggPT0gJy4nIHx8IGNoID09ICdlJyB8fCBjaCA9PSAnRScKICAgICAgICAgfHwgKGNo
ID49ICcwJyAmJiBjaCA8PSAnOScpOwogfQogCitzdGF0aWMgYm9vbCBpc1ZhbGlkQ29sb3JTdHJp
bmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKK3sKKyAgICBpZiAodmFsdWUuaXNFbXB0eSgpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKHZhbHVlWzBdID09ICcjJykgeworICAgICAgICAv
LyBXZSBkb24ndCBhY2NlcHQgI3JnYiBhbmQgI2FhcnJnZ2JiIGZvcm1hdHMuCisgICAgICAgIGlm
ICh2YWx1ZS5sZW5ndGgoKSAhPSA3KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
KyAgICBDb2xvciBjb2xvcih2YWx1ZSk7IC8vIFRoaXMgYWNjZXB0cyBuYW1lZCBjb2xvcnMgc3Vj
aCBhcyAid2hpdGUiLgorICAgIHJldHVybiBjb2xvci5pc1ZhbGlkKCkgJiYgIWNvbG9yLmhhc0Fs
cGhhKCk7Cit9CisKK3N0YXRpYyBib29sIGlzVmFsaWRFbWFpbEFkZHJlc3MoY29uc3QgU3RyaW5n
JiBhZGRyZXNzKQoreworICAgIGludCBhZGRyZXNzTGVuZ3RoID0gYWRkcmVzcy5sZW5ndGgoKTsK
KyAgICBpZiAoIWFkZHJlc3NMZW5ndGgpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIERF
RklORV9TVEFUSUNfTE9DQUwoY29uc3QgUmVndWxhckV4cHJlc3Npb24sIHJlZ0V4cCwgKGVtYWls
UGF0dGVybiwgVGV4dENhc2VJbnNlbnNpdGl2ZSkpOworCisgICAgaW50IG1hdGNoTGVuZ3RoOwor
ICAgIGludCBtYXRjaE9mZnNldCA9IHJlZ0V4cC5tYXRjaChhZGRyZXNzLCAwLCAmbWF0Y2hMZW5n
dGgpOworCisgICAgcmV0dXJuICFtYXRjaE9mZnNldCAmJiBtYXRjaExlbmd0aCA9PSBhZGRyZXNz
TGVuZ3RoOworfQorCiBIVE1MSW5wdXRFbGVtZW50OjpIVE1MSW5wdXRFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwgSFRNTEZvcm1FbGVtZW50
KiBmb3JtKQogICAgIDogSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQodGFnTmFtZSwgZG9jdW1l
bnQsIGZvcm0pCiAgICAgLCBtX3hQb3MoMCkKQEAgLTIwNSw3ICsyMzcsNjUgQEAgdm9pZCBIVE1M
SW5wdXRFbGVtZW50Ojp1cGRhdGVDaGVja2VkUmFkaW9CdXR0b25zKCkKICAgICAgICAgcmVuZGVy
ZXIoKS0+dGhlbWUoKS0+c3RhdGVDaGFuZ2VkKHJlbmRlcmVyKCksIENoZWNrZWRTdGF0ZSk7CiB9
CiAKLWJvb2wgSFRNTElucHV0RWxlbWVudDo6dmFsdWVNaXNzaW5nKCkgY29uc3QKK2Jvb2wgSFRN
TElucHV0RWxlbWVudDo6aXNWYWxpZFZhbHVlKGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0Cit7
CisgICAgaWYgKGlucHV0VHlwZSgpID09IENIRUNLQk9YIHx8IGlucHV0VHlwZSgpID09IEZJTEUg
fHwgaW5wdXRUeXBlKCkgPT0gUkFESU8pIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0dXJuICF0eXBlTWlzbWF0Y2go
dmFsdWUpICYmICFzdGVwTWlzbWF0Y2godmFsdWUpICYmICFyYW5nZVVuZGVyZmxvdyh2YWx1ZSkK
KyAgICAgICAgJiYgIXJhbmdlT3ZlcmZsb3codmFsdWUpICYmICF0b29Mb25nKHZhbHVlLCBJZ25v
cmVEaXJ0eUZsYWcpCisgICAgICAgICYmICFwYXR0ZXJuTWlzbWF0Y2godmFsdWUpICYmICF2YWx1
ZU1pc3NpbmcodmFsdWUpOworfQorCitib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnR5cGVNaXNtYXRj
aChjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAoreworICAgIHN3aXRjaCAoaW5wdXRUeXBlKCkp
IHsKKyAgICBjYXNlIENPTE9SOgorICAgICAgICByZXR1cm4gIWlzVmFsaWRDb2xvclN0cmluZyh2
YWx1ZSk7CisgICAgY2FzZSBOVU1CRVI6CisgICAgICAgIHJldHVybiAhcGFyc2VUb0RvdWJsZUZv
ck51bWJlclR5cGUodmFsdWUsIDApOworICAgIGNhc2UgVVJMOgorICAgICAgICByZXR1cm4gIUtV
UkwoS1VSTCgpLCB2YWx1ZSkuaXNWYWxpZCgpOworICAgIGNhc2UgRU1BSUw6IHsKKyAgICAgICAg
aWYgKCFtdWx0aXBsZSgpKQorICAgICAgICAgICAgcmV0dXJuICFpc1ZhbGlkRW1haWxBZGRyZXNz
KHZhbHVlKTsKKyAgICAgICAgVmVjdG9yPFN0cmluZz4gYWRkcmVzc2VzOworICAgICAgICB2YWx1
ZS5zcGxpdCgnLCcsIGFkZHJlc3Nlcyk7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBhZGRyZXNzZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGlmICghaXNWYWxpZEVtYWls
QWRkcmVzcyhhZGRyZXNzZXNbaV0pKQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
ICAgICB9CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgY2FzZSBEQVRFOgorICAg
IGNhc2UgREFURVRJTUU6CisgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgorICAgIGNhc2UgTU9OVEg6
CisgICAgY2FzZSBUSU1FOgorICAgIGNhc2UgV0VFSzoKKyAgICAgICAgcmV0dXJuICFwYXJzZVRv
RGF0ZUNvbXBvbmVudHMoaW5wdXRUeXBlKCksIHZhbHVlLCAwKTsKKyAgICBjYXNlIEJVVFRPTjoK
KyAgICBjYXNlIENIRUNLQk9YOgorICAgIGNhc2UgRklMRToKKyAgICBjYXNlIEhJRERFTjoKKyAg
ICBjYXNlIElNQUdFOgorICAgIGNhc2UgSVNJTkRFWDoKKyAgICBjYXNlIFBBU1NXT1JEOgorICAg
IGNhc2UgUkFESU86CisgICAgY2FzZSBSQU5HRToKKyAgICBjYXNlIFJFU0VUOgorICAgIGNhc2Ug
U0VBUkNIOgorICAgIGNhc2UgU1VCTUlUOgorICAgIGNhc2UgVEVMRVBIT05FOgorICAgIGNhc2Ug
VEVYVDoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgSFRNTElucHV0RWxlbWVudDo6dmFs
dWVNaXNzaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0CiB7CiAgICAgaWYgKCFpc1JlcXVp
cmVkRm9ybUNvbnRyb2woKSB8fCByZWFkT25seSgpIHx8IGRpc2FibGVkKCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKQEAgLTIyNSw3ICszMTUsNyBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnZh
bHVlTWlzc2luZygpIGNvbnN0CiAgICAgY2FzZSBUSU1FOgogICAgIGNhc2UgVVJMOgogICAgIGNh
c2UgV0VFSzoKLSAgICAgICAgcmV0dXJuIHZhbHVlKCkuaXNFbXB0eSgpOworICAgICAgICByZXR1
cm4gdmFsdWUuaXNFbXB0eSgpOwogICAgIGNhc2UgQ0hFQ0tCT1g6CiAgICAgICAgIHJldHVybiAh
Y2hlY2tlZCgpOwogICAgIGNhc2UgUkFESU86CkBAIC0yNDYsMTIgKzMzNiwxMSBAQCBib29sIEhU
TUxJbnB1dEVsZW1lbnQ6OnZhbHVlTWlzc2luZygpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCi1ib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0Citib29s
IEhUTUxJbnB1dEVsZW1lbnQ6OnBhdHRlcm5NaXNtYXRjaChjb25zdCBTdHJpbmcmIHZhbHVlKSBj
b25zdAogewogICAgIGlmICghaXNUZXh0VHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgY29uc3QgQXRvbWljU3RyaW5nJiBwYXR0ZXJuID0gZ2V0QXR0cmlidXRlKHBhdHRlcm5BdHRy
KTsKLSAgICBTdHJpbmcgdmFsdWUgPSB0aGlzLT52YWx1ZSgpOwogICAgIC8vIEVtcHR5IHZhbHVl
cyBjYW4ndCBiZSBtaXNtYXRjaGVkCiAgICAgaWYgKHBhdHRlcm4uaXNFbXB0eSgpIHx8IHZhbHVl
LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjYyLDcgKzM1MSw3IEBAIGJv
b2wgSFRNTElucHV0RWxlbWVudDo6cGF0dGVybk1pc21hdGNoKCkgY29uc3QKICAgICByZXR1cm4g
bWF0Y2hPZmZzZXQgfHwgbWF0Y2hMZW5ndGggIT0gdmFsdWVMZW5ndGg7CiB9CiAKLWJvb2wgSFRN
TElucHV0RWxlbWVudDo6dG9vTG9uZygpIGNvbnN0Citib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnRv
b0xvbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSwgTmVlZHNUb0NoZWNrRGlydHlGbGFnIGNoZWNrKSBj
b25zdAogewogICAgIC8vIFdlIHVzZSBpc1RleHRUeXBlKCkgaW5zdGVhZCBvZiBzdXBwb3J0c01h
eExlbmd0aCgpIGJlY2F1c2Ugb2YgdGhlCiAgICAgLy8gJ3ZpcnR1YWwnIG92ZXJoZWFkLgpAQCAt
MjcxLDE0ICszNjAsMTYgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojp0b29Mb25nKCkgY29uc3QK
ICAgICBpbnQgbWF4ID0gbWF4TGVuZ3RoKCk7CiAgICAgaWYgKG1heCA8IDApCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICAvLyBSZXR1cm4gZmFsc2UgZm9yIHRoZSBkZWZhdWx0IHZhbHVlIGV2
ZW4gaWYgaXQgaXMgbG9uZ2VyIHRoYW4gbWF4TGVuZ3RoLgotICAgIGJvb2wgdXNlckVkaXRlZCA9
ICFtX2RhdGEudmFsdWUoKS5pc051bGwoKTsKLSAgICBpZiAoIXVzZXJFZGl0ZWQpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gbnVtR3JhcGhlbWVDbHVzdGVycyh2YWx1ZSgpKSA+
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihtYXgpOworICAgIGlmIChjaGVjayA9PSBDaGVja0RpcnR5
RmxhZykgeworICAgICAgICAvLyBSZXR1cm4gZmFsc2UgZm9yIHRoZSBkZWZhdWx0IHZhbHVlIGV2
ZW4gaWYgaXQgaXMgbG9uZ2VyIHRoYW4gbWF4TGVuZ3RoLgorICAgICAgICBib29sIHVzZXJFZGl0
ZWQgPSAhbV9kYXRhLnZhbHVlKCkuaXNOdWxsKCk7CisgICAgICAgIGlmICghdXNlckVkaXRlZCkK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0dXJuIG51bUdyYXBoZW1l
Q2x1c3RlcnModmFsdWUpID4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1heCk7CiB9CiAKLWJvb2wg
SFRNTElucHV0RWxlbWVudDo6cmFuZ2VVbmRlcmZsb3coKSBjb25zdAorYm9vbCBIVE1MSW5wdXRF
bGVtZW50OjpyYW5nZVVuZGVyZmxvdyhjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAogewogICAg
IGNvbnN0IGRvdWJsZSBuYW4gPSBudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsK
ICAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7CkBAIC0yODksMTEgKzM4MCwxMSBAQCBib29sIEhU
TUxJbnB1dEVsZW1lbnQ6OnJhbmdlVW5kZXJmbG93KCkgY29uc3QKICAgICBjYXNlIE5VTUJFUjoK
ICAgICBjYXNlIFRJTUU6CiAgICAgY2FzZSBXRUVLOiB7Ci0gICAgICAgIGRvdWJsZSBkb3VibGVW
YWx1ZSA9IHBhcnNlVG9Eb3VibGUodmFsdWUoKSwgbmFuKTsKKyAgICAgICAgZG91YmxlIGRvdWJs
ZVZhbHVlID0gcGFyc2VUb0RvdWJsZSh2YWx1ZSwgbmFuKTsKICAgICAgICAgcmV0dXJuIGlzZmlu
aXRlKGRvdWJsZVZhbHVlKSAmJiBkb3VibGVWYWx1ZSA8IG1pbmltdW0oKTsKICAgICB9CiAgICAg
Y2FzZSBSQU5HRTogLy8gR3VhcmFudGVlZCBieSBzYW5pdGl6YXRpb24uCi0gICAgICAgIEFTU0VS
VChwYXJzZVRvRG91YmxlKHZhbHVlKCksIG5hbikgPj0gbWluaW11bSgpKTsKKyAgICAgICAgQVNT
RVJUKHBhcnNlVG9Eb3VibGUodmFsdWUsIG5hbikgPj0gbWluaW11bSgpKTsKICAgICBjYXNlIEJV
VFRPTjoKICAgICBjYXNlIENIRUNLQk9YOgogICAgIGNhc2UgQ09MT1I6CkBAIC0zMTUsNyArNDA2
LDcgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpyYW5nZVVuZGVyZmxvdygpIGNvbnN0CiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCi1ib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnJhbmdlT3ZlcmZsb3co
KSBjb25zdAorYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpyYW5nZU92ZXJmbG93KGNvbnN0IFN0cmlu
ZyYgdmFsdWUpIGNvbnN0CiB7CiAgICAgY29uc3QgZG91YmxlIG5hbiA9IG51bWVyaWNfbGltaXRz
PGRvdWJsZT46OnF1aWV0X05hTigpOwogICAgIHN3aXRjaCAoaW5wdXRUeXBlKCkpIHsKQEAgLTMy
NiwxMSArNDE3LDExIEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6cmFuZ2VPdmVyZmxvdygpIGNv
bnN0CiAgICAgY2FzZSBOVU1CRVI6CiAgICAgY2FzZSBUSU1FOgogICAgIGNhc2UgV0VFSzogewot
ICAgICAgICBkb3VibGUgZG91YmxlVmFsdWUgPSBwYXJzZVRvRG91YmxlKHZhbHVlKCksIG5hbik7
CisgICAgICAgIGRvdWJsZSBkb3VibGVWYWx1ZSA9IHBhcnNlVG9Eb3VibGUodmFsdWUsIG5hbik7
CiAgICAgICAgIHJldHVybiBpc2Zpbml0ZShkb3VibGVWYWx1ZSkgJiYgZG91YmxlVmFsdWUgPiBt
YXhpbXVtKCk7CiAgICAgfQogICAgIGNhc2UgUkFOR0U6IC8vIEd1YXJhbnRlZWQgYnkgc2FuaXRp
emF0aW9uLgotICAgICAgICBBU1NFUlQocGFyc2VUb0RvdWJsZSh2YWx1ZSgpLCBuYW4pIDw9IG1h
eGltdW0oKSk7CisgICAgICAgIEFTU0VSVChwYXJzZVRvRG91YmxlKHZhbHVlLCBuYW4pIDw9IG1h
eGltdW0oKSk7CiAgICAgY2FzZSBCVVRUT046CiAgICAgY2FzZSBDSEVDS0JPWDoKICAgICBjYXNl
IENPTE9SOgpAQCAtNDc1LDcgKzU2Niw3IEBAIGRvdWJsZSBIVE1MSW5wdXRFbGVtZW50OjpzdGVw
QmFzZSgpIGNvbnN0CiAgICAgcmV0dXJuIDAuMDsKIH0KIAotYm9vbCBIVE1MSW5wdXRFbGVtZW50
OjpzdGVwTWlzbWF0Y2goKSBjb25zdAorYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpzdGVwTWlzbWF0
Y2goY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29uc3QKIHsKICAgICBkb3VibGUgc3RlcDsKICAgICBp
ZiAoIWdldEFsbG93ZWRWYWx1ZVN0ZXAoJnN0ZXApKQpAQCAtNDg4LDcgKzU3OSw3IEBAIGJvb2wg
SFRNTElucHV0RWxlbWVudDo6c3RlcE1pc21hdGNoKCkgY29uc3QKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIGNhc2UgTlVNQkVSOiB7CiAgICAgICAgIGRvdWJsZSBkb3VibGVWYWx1ZTsKLSAg
ICAgICAgaWYgKCFwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZSh2YWx1ZSgpLCAmZG91YmxlVmFs
dWUpKQorICAgICAgICBpZiAoIXBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlKHZhbHVlLCAmZG91
YmxlVmFsdWUpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBkb3VibGVWYWx1
ZSA9IGZhYnMoZG91YmxlVmFsdWUgLSBzdGVwQmFzZSgpKTsKICAgICAgICAgaWYgKGlzaW5mKGRv
dWJsZVZhbHVlKSkKQEAgLTUxMCw3ICs2MDEsNyBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnN0
ZXBNaXNtYXRjaCgpIGNvbnN0CiAgICAgY2FzZSBUSU1FOgogICAgIGNhc2UgV0VFSzogewogICAg
ICAgICBjb25zdCBkb3VibGUgbmFuID0gbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFO
KCk7Ci0gICAgICAgIGRvdWJsZSBkb3VibGVWYWx1ZSA9IHBhcnNlVG9Eb3VibGUodmFsdWUoKSwg
bmFuKTsKKyAgICAgICAgZG91YmxlIGRvdWJsZVZhbHVlID0gcGFyc2VUb0RvdWJsZSh2YWx1ZSwg
bmFuKTsKICAgICAgICAgZG91YmxlVmFsdWUgPSBmYWJzKGRvdWJsZVZhbHVlIC0gc3RlcEJhc2Uo
KSk7CiAgICAgICAgIGlmICghaXNmaW5pdGUoZG91YmxlVmFsdWUpKQogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBi
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5kZXggNzJhYzU4OTRjMDYzNTVlNWZk
NzJhOWE4ZDU2YmE5ZDhmZjdhNWE3NC4uMGU4ZmFjYjM2Mzk4ZWY5NjQyMTQ0NjQ2NjVjMzNlYmMy
ZGE3NWRkZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAorKysg
Yi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC03NSw4ICs3NSwxMyBAQCBwdWJs
aWM6CiAgICAgYm9vbCBhdXRvQ29tcGxldGUoKSBjb25zdDsKIAogICAgIC8vIEZvciBWYWxpZGl0
eVN0YXRlCi0gICAgYm9vbCByYW5nZVVuZGVyZmxvdygpIGNvbnN0OwotICAgIGJvb2wgcmFuZ2VP
dmVyZmxvdygpIGNvbnN0OworICAgIGJvb2wgdHlwZU1pc21hdGNoKGNvbnN0IFN0cmluZyYpIGNv
bnN0OworICAgIC8vIHZhbHVlTWlzc2luZygpIGlnbm9yZXMgdGhlIHNwZWNpZmllZCBzdHJpbmcg
dmFsdWUgZm9yIENIRUNLQk9YIGFuZCBSQURJTy4KKyAgICBib29sIHZhbHVlTWlzc2luZyhjb25z
dCBTdHJpbmcmKSBjb25zdDsKKyAgICBib29sIHBhdHRlcm5NaXNtYXRjaChjb25zdCBTdHJpbmcm
KSBjb25zdDsKKyAgICBib29sIHRvb0xvbmcoY29uc3QgU3RyaW5nJiwgTmVlZHNUb0NoZWNrRGly
dHlGbGFnKSBjb25zdDsKKyAgICBib29sIHJhbmdlVW5kZXJmbG93KGNvbnN0IFN0cmluZyYpIGNv
bnN0OworICAgIGJvb2wgcmFuZ2VPdmVyZmxvdyhjb25zdCBTdHJpbmcmKSBjb25zdDsKICAgICAv
LyBSZXR1cm5zIHRoZSBtaW5pbXVtIHZhbHVlIGZvciB0eXBlPWRhdGUsIG51bWJlciwgb3IgcmFu
Z2UuICBEb24ndCBjYWxsIHRoaXMgZm9yIG90aGVyIHR5cGVzLgogICAgIGRvdWJsZSBtaW5pbXVt
KCkgY29uc3Q7CiAgICAgLy8gUmV0dXJucyB0aGUgbWF4aW11bSB2YWx1ZSBmb3IgdHlwZT1kYXRl
LCBudW1iZXIsIG9yIHJhbmdlLiAgRG9uJ3QgY2FsbCB0aGlzIGZvciBvdGhlciB0eXBlcy4KQEAg
LTg2LDcgKzkxLDggQEAgcHVibGljOgogICAgIC8vIFJldHVybnMgZmFsc2UgaWYgdGhlcmUgaXMg
bm8gImFsbG93ZWQgdmFsdWUgc3RlcC4iCiAgICAgYm9vbCBnZXRBbGxvd2VkVmFsdWVTdGVwKGRv
dWJsZSopIGNvbnN0OwogICAgIC8vIEZvciBWYWxpZGl0eVN0YXRlLgotICAgIGJvb2wgc3RlcE1p
c21hdGNoKCkgY29uc3Q7CisgICAgYm9vbCBzdGVwTWlzbWF0Y2goY29uc3QgU3RyaW5nJikgY29u
c3Q7CisKICAgICAvLyBJbXBsZW1lbnRhdGlvbnMgb2YgSFRNTElucHV0RWxlbWVudDo6c3RlcFVw
KCkgYW5kIHN0ZXBEb3duKCkuCiAgICAgdm9pZCBzdGVwVXAoaW50LCBFeGNlcHRpb25Db2RlJik7
CiAgICAgdm9pZCBzdGVwRG93bihpbnQsIEV4Y2VwdGlvbkNvZGUmKTsKQEAgLTEyMyw2ICsxMjks
OSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdHJpbmcgdmFsdWUoKSBjb25zdDsKICAgICB2aXJ0
dWFsIHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJiwgYm9vbCBzZW5kQ2hhbmdlRXZlbnQgPSBm
YWxzZSk7CiAgICAgdmlydHVhbCB2b2lkIHNldFZhbHVlRm9yVXNlcihjb25zdCBTdHJpbmcmKTsK
KyAgICAvLyBDaGVja3MgaWYgdGhlIHNwZWNpZmllZCBzdHJpbmcgd291bGQgYmUgYSB2YWxpZCB2
YWx1ZS4KKyAgICAvLyBXZSBzaG91bGQgbm90IGNhbGwgdGhpcyBmb3IgdHlwZXMgd2l0aCBubyBz
dHJpbmcgdmFsdWUgc3VjaCBhcyBDSEVDS0JPWCBhbmQgUkFESU8uCisgICAgYm9vbCBpc1ZhbGlk
VmFsdWUoY29uc3QgU3RyaW5nJikgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGNvbnN0IFN0cmluZyYg
c3VnZ2VzdGVkVmFsdWUoKSBjb25zdDsKICAgICB2b2lkIHNldFN1Z2dlc3RlZFZhbHVlKGNvbnN0
IFN0cmluZyYpOwpAQCAtMjM1LDEwICsyNDQsNiBAQCBwcml2YXRlOgogICAgIAogICAgIHZpcnR1
YWwgYm9vbCBpc1RleHRGb3JtQ29udHJvbCgpIGNvbnN0IHsgcmV0dXJuIGlzVGV4dEZpZWxkKCk7
IH0KIAotICAgIHZpcnR1YWwgYm9vbCB2YWx1ZU1pc3NpbmcoKSBjb25zdDsKLSAgICB2aXJ0dWFs
IGJvb2wgcGF0dGVybk1pc21hdGNoKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBib29sIHRvb0xvbmco
KSBjb25zdDsKLQogICAgIHZpcnR1YWwgYm9vbCBoYXNTcGluQnV0dG9uKCkgY29uc3QgeyByZXR1
cm4gbV90eXBlID09IE5VTUJFUiB8fCBtX3R5cGUgPT0gREFURSB8fCBtX3R5cGUgPT0gREFURVRJ
TUUgfHwgbV90eXBlID09IERBVEVUSU1FTE9DQUwgfHwgbV90eXBlID09IE1PTlRIIHx8IG1fdHlw
ZSA9PSBUSU1FIHx8IG1fdHlwZSA9PSBXRUVLOyB9CiAgICAgdmlydHVhbCBib29sIGNhblRyaWdn
ZXJJbXBsaWNpdFN1Ym1pc3Npb24oKSBjb25zdCB7IHJldHVybiBpc1RleHRGaWVsZCgpOyB9CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcCBiL1dlYkNv
cmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcAppbmRleCBmMjA0MzQwNzZhNjZlZGUxMjQ3
YmNiODBlYzZiYzE4ZmIwY2M2MmQ5Li5lMTY2OTdlNjQ1MDJhNjFkMmI2YjBkODA3OWFhYjdmZmQ2
NWYzZGNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAK
KysrIGIvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCkBAIC0zODIsMTYgKzM4
MiwyMSBAQCB2b2lkIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnNldE1heExlbmd0aChpbnQgbmV3VmFs
dWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAgICBzZXRBdHRyaWJ1dGUobWF4bGVuZ3RoQXR0
ciwgU3RyaW5nOjpudW1iZXIobmV3VmFsdWUpKTsKIH0KIAotYm9vbCBIVE1MVGV4dEFyZWFFbGVt
ZW50Ojp0b29Mb25nKCkgY29uc3QKK2Jvb2wgSFRNTFRleHRBcmVhRWxlbWVudDo6dG9vTG9uZyhj
b25zdCBTdHJpbmcmIHZhbHVlLCBOZWVkc1RvQ2hlY2tEaXJ0eUZsYWcgY2hlY2spIGNvbnN0CiB7
CiAgICAgLy8gUmV0dXJuIGZhbHNlIGZvciB0aGUgZGVmYXVsdCB2YWx1ZSBldmVuIGlmIGl0IGlz
IGxvbmdlciB0aGFuIG1heExlbmd0aC4KLSAgICBpZiAoIW1faXNEaXJ0eSkKKyAgICBpZiAoY2hl
Y2sgPT0gQ2hlY2tEaXJ0eUZsYWcgJiYgIW1faXNEaXJ0eSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCiAgICAgaW50IG1heCA9IG1heExlbmd0aCgpOwogICAgIGlmIChtYXggPCAwKQogICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIG51bUdyYXBoZW1lQ2x1c3RlcnModmFsdWUoKSkg
PiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obWF4KTsKKyAgICByZXR1cm4gbnVtR3JhcGhlbWVDbHVz
dGVycyh2YWx1ZSkgPiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obWF4KTsKK30KKworYm9vbCBIVE1M
VGV4dEFyZWFFbGVtZW50Ojppc1ZhbGlkVmFsdWUoY29uc3QgU3RyaW5nJiBjYW5kaWRhdGUpIGNv
bnN0Cit7CisgICAgcmV0dXJuICF2YWx1ZU1pc3NpbmcoY2FuZGlkYXRlKSAmJiAhdG9vTG9uZyhj
YW5kaWRhdGUsIElnbm9yZURpcnR5RmxhZyk7CiB9CiAKIHZvaWQgSFRNTFRleHRBcmVhRWxlbWVu
dDo6YWNjZXNzS2V5QWN0aW9uKGJvb2wpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTFRl
eHRBcmVhRWxlbWVudC5oIGIvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaAppbmRl
eCA0M2ZlNDkzYzYzZjFkOGEwMTE3MTFiZTQzYTQ3NTgxN2FiMzdkYTYzLi5jNTgwZjA2Yjk0ODQz
N2FmNTZjM2RkMzRiNDAzZWIyNDA2OWNmZjFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRBcmVhRWxlbWVudC5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50
LmgKQEAgLTQ3LDcgKzQ3LDkgQEAgcHVibGljOgogICAgIGludCB0ZXh0TGVuZ3RoKCkgY29uc3Qg
eyByZXR1cm4gdmFsdWUoKS5sZW5ndGgoKTsgfQogICAgIGludCBtYXhMZW5ndGgoKSBjb25zdDsK
ICAgICB2b2lkIHNldE1heExlbmd0aChpbnQsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2aXJ0dWFs
IGJvb2wgdG9vTG9uZygpIGNvbnN0OworICAgIGJvb2wgdmFsdWVNaXNzaW5nKGNvbnN0IFN0cmlu
ZyYgdmFsdWUpIGNvbnN0IHsgcmV0dXJuIGlzUmVxdWlyZWRGb3JtQ29udHJvbCgpICYmICFkaXNh
YmxlZCgpICYmICFyZWFkT25seSgpICYmIHZhbHVlLmlzRW1wdHkoKTsgfQorICAgIGJvb2wgdG9v
TG9uZyhjb25zdCBTdHJpbmcmLCBOZWVkc1RvQ2hlY2tEaXJ0eUZsYWcpIGNvbnN0OworICAgIGJv
b2wgaXNWYWxpZFZhbHVlKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIAogICAgIHZvaWQgcmVu
ZGVyZXJXaWxsQmVEZXN0cm95ZWQoKTsKICAgICAKQEAgLTg3LDggKzg5LDYgQEAgcHJpdmF0ZToK
IAogICAgIHZpcnR1YWwgYm9vbCBpc1RleHRGb3JtQ29udHJvbCgpIGNvbnN0IHsgcmV0dXJuIHRy
dWU7IH0KIAotICAgIHZpcnR1YWwgYm9vbCB2YWx1ZU1pc3NpbmcoKSBjb25zdCB7IHJldHVybiBp
c1JlcXVpcmVkRm9ybUNvbnRyb2woKSAmJiAhZGlzYWJsZWQoKSAmJiAhcmVhZE9ubHkoKSAmJiB2
YWx1ZSgpLmlzRW1wdHkoKTsgfQotCiAgICAgdmlydHVhbCB2b2lkIGNoaWxkcmVuQ2hhbmdlZChi
b29sIGNoYW5nZWRCeVBhcnNlciA9IGZhbHNlLCBOb2RlKiBiZWZvcmVDaGFuZ2UgPSAwLCBOb2Rl
KiBhZnRlckNoYW5nZSA9IDAsIGludCBjaGlsZENvdW50RGVsdGEgPSAwKTsKICAgICB2aXJ0dWFs
IHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7CiAgICAgdmlydHVhbCBSZW5k
ZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcCBiL1dlYkNvcmUvaHRtbC9W
YWxpZGl0eVN0YXRlLmNwcAppbmRleCA2YTE1OWU4MDUzOWU0MzgzOTY0ZjM2YmY3MWVmNjZiNjZl
N2NmNjYxLi4yNzFiODU4MzY0ZTQzZTUxZmI2ZWFhMDAwYTY1M2YzODAwMWFlZWU3IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAKKysrIGIvV2ViQ29yZS9odG1sL1Zh
bGlkaXR5U3RhdGUuY3BwCkBAIC0yNiwyMSArMjYsMTUgQEAKIAogI2luY2x1ZGUgIkhUTUxJbnB1
dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlICJIVE1MVGV4dEFy
ZWFFbGVtZW50LmgiCiAjaW5jbHVkZSAiTGVnYWN5SFRNTFRyZWVCdWlsZGVyLmgiCi0jaW5jbHVk
ZSAiS1VSTC5oIgogI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKLSNpbmNsdWRlICJSZWd1
bGFyRXhwcmVzc2lvbi5oIgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1zdGF0aWMgY29u
c3QgY2hhciBlbWFpbFBhdHRlcm5bXSA9Ci0gICAgIlthLXowLTkhIyQlJicqKy89P15fYHt8fX4u
LV0rIiAvLyBsb2NhbCBwYXJ0Ci0gICAgIkAiCi0gICAgIlthLXowLTktXSsoXFwuW2EtejAtOS1d
KykrIjsgLy8gZG9tYWluIHBhcnQKLQogU3RyaW5nIFZhbGlkaXR5U3RhdGU6OnZhbGlkYXRpb25N
ZXNzYWdlKCkgY29uc3QKIHsKICAgICBpZiAoIW1fY29udHJvbC0+d2lsbFZhbGlkYXRlKCkpCkBA
IC02Niw2ICs2MCwxOSBAQCBTdHJpbmcgVmFsaWRpdHlTdGF0ZTo6dmFsaWRhdGlvbk1lc3NhZ2Uo
KSBjb25zdAogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAorYm9vbCBWYWxpZGl0eVN0YXRlOjp2
YWx1ZU1pc3NpbmcoKSBjb25zdAoreworICAgIGlmIChtX2NvbnRyb2wtPmhhc1RhZ05hbWUoaW5w
dXRUYWcpKSB7CisgICAgICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gc3RhdGljX2Nhc3Q8
SFRNTElucHV0RWxlbWVudCo+KG1fY29udHJvbCk7CisgICAgICAgIHJldHVybiBpbnB1dC0+dmFs
dWVNaXNzaW5nKGlucHV0LT52YWx1ZSgpKTsKKyAgICB9CisgICAgaWYgKG1fY29udHJvbC0+aGFz
VGFnTmFtZSh0ZXh0YXJlYVRhZykpIHsKKyAgICAgICAgSFRNTFRleHRBcmVhRWxlbWVudCogdGV4
dEFyZWEgPSBzdGF0aWNfY2FzdDxIVE1MVGV4dEFyZWFFbGVtZW50Kj4obV9jb250cm9sKTsKKyAg
ICAgICAgcmV0dXJuIHRleHRBcmVhLT52YWx1ZU1pc3NpbmcodGV4dEFyZWEtPnZhbHVlKCkpOwor
ICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgVmFsaWRpdHlTdGF0ZTo6dHlwZU1p
c21hdGNoKCkgY29uc3QKIHsKICAgICBpZiAoIW1fY29udHJvbC0+aGFzVGFnTmFtZShpbnB1dFRh
ZykpCkBAIC03Myw1MyArODAsMjkgQEAgYm9vbCBWYWxpZGl0eVN0YXRlOjp0eXBlTWlzbWF0Y2go
KSBjb25zdAogCiAgICAgSFRNTElucHV0RWxlbWVudCogaW5wdXQgPSBzdGF0aWNfY2FzdDxIVE1M
SW5wdXRFbGVtZW50Kj4obV9jb250cm9sKTsKICAgICBTdHJpbmcgdmFsdWUgPSBpbnB1dC0+dmFs
dWUoKTsKLQogICAgIGlmICh2YWx1ZS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICByZXR1cm4gaW5wdXQtPnR5cGVNaXNtYXRjaCh2YWx1ZSk7Cit9CiAKLSAgICBzd2l0Y2gg
KGlucHV0LT5pbnB1dFR5cGUoKSkgewotICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6Q09MT1I6
Ci0gICAgICAgIHJldHVybiAhaXNWYWxpZENvbG9yU3RyaW5nKHZhbHVlKTsKLSAgICBjYXNlIEhU
TUxJbnB1dEVsZW1lbnQ6Ok5VTUJFUjoKLSAgICAgICAgcmV0dXJuICFwYXJzZVRvRG91YmxlRm9y
TnVtYmVyVHlwZSh2YWx1ZSwgMCk7Ci0gICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpVUkw6Ci0g
ICAgICAgIHJldHVybiAhS1VSTChLVVJMKCksIHZhbHVlKS5pc1ZhbGlkKCk7Ci0gICAgY2FzZSBI
VE1MSW5wdXRFbGVtZW50OjpFTUFJTDogewotICAgICAgICBpZiAoIWlucHV0LT5tdWx0aXBsZSgp
KQotICAgICAgICAgICAgcmV0dXJuICFpc1ZhbGlkRW1haWxBZGRyZXNzKHZhbHVlKTsKLSAgICAg
ICAgVmVjdG9yPFN0cmluZz4gYWRkcmVzc2VzOwotICAgICAgICB2YWx1ZS5zcGxpdCgnLCcsIGFk
ZHJlc3Nlcyk7Ci0gICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBhZGRyZXNzZXMuc2l6
ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIGlmICghaXNWYWxpZEVtYWlsQWRkcmVzcyhhZGRyZXNz
ZXNbaV0pKQotICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9Citib29sIFZh
bGlkaXR5U3RhdGU6OnBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2NvbnRy
b2wtPmhhc1RhZ05hbWUoaW5wdXRUYWcpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgSFRN
TElucHV0RWxlbWVudCogaW5wdXQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4obV9j
b250cm9sKTsKKyAgICByZXR1cm4gaW5wdXQtPnBhdHRlcm5NaXNtYXRjaChpbnB1dC0+dmFsdWUo
KSk7Cit9CisKK2Jvb2wgVmFsaWRpdHlTdGF0ZTo6dG9vTG9uZygpIGNvbnN0Cit7CisgICAgaWYg
KG1fY29udHJvbC0+aGFzVGFnTmFtZShpbnB1dFRhZykpIHsKKyAgICAgICAgSFRNTElucHV0RWxl
bWVudCogaW5wdXQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4obV9jb250cm9sKTsK
KyAgICAgICAgcmV0dXJuIGlucHV0LT50b29Mb25nKGlucHV0LT52YWx1ZSgpLCBIVE1MVGV4dEZv
cm1Db250cm9sRWxlbWVudDo6Q2hlY2tEaXJ0eUZsYWcpOwogICAgIH0KLSAgICBjYXNlIEhUTUxJ
bnB1dEVsZW1lbnQ6OkRBVEU6Ci0gICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpEQVRFVElNRToK
LSAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OkRBVEVUSU1FTE9DQUw6Ci0gICAgY2FzZSBIVE1M
SW5wdXRFbGVtZW50OjpNT05USDoKLSAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OlRJTUU6Ci0g
ICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpXRUVLOgotICAgICAgICByZXR1cm4gIUhUTUxJbnB1
dEVsZW1lbnQ6OnBhcnNlVG9EYXRlQ29tcG9uZW50cyhpbnB1dC0+aW5wdXRUeXBlKCksIHZhbHVl
LCAwKTsKLSAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OkJVVFRPTjoKLSAgICBjYXNlIEhUTUxJ
bnB1dEVsZW1lbnQ6OkNIRUNLQk9YOgotICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6RklMRToK
LSAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OkhJRERFTjoKLSAgICBjYXNlIEhUTUxJbnB1dEVs
ZW1lbnQ6OklNQUdFOgotICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6SVNJTkRFWDoKLSAgICBj
YXNlIEhUTUxJbnB1dEVsZW1lbnQ6OlBBU1NXT1JEOgotICAgIGNhc2UgSFRNTElucHV0RWxlbWVu
dDo6UkFESU86Ci0gICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpSQU5HRToKLSAgICBjYXNlIEhU
TUxJbnB1dEVsZW1lbnQ6OlJFU0VUOgotICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6U0VBUkNI
OgotICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6U1VCTUlUOgotICAgIGNhc2UgSFRNTElucHV0
RWxlbWVudDo6VEVMRVBIT05FOiAvLyBGSVhNRTogSXMgdGhlcmUgdmFsaWRhdGlvbiBmb3IgPGlu
cHV0IHR5cGU9dGVsZXBob25lPj8KLSAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OlRFWFQ6Ci0g
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAobV9jb250cm9sLT5oYXNUYWdOYW1lKHRleHRh
cmVhVGFnKSkgeworICAgICAgICBIVE1MVGV4dEFyZWFFbGVtZW50KiB0ZXh0QXJlYSA9IHN0YXRp
Y19jYXN0PEhUTUxUZXh0QXJlYUVsZW1lbnQqPihtX2NvbnRyb2wpOworICAgICAgICByZXR1cm4g
dGV4dEFyZWEtPnRvb0xvbmcodGV4dEFyZWEtPnZhbHVlKCksIEhUTUxUZXh0Rm9ybUNvbnRyb2xF
bGVtZW50OjpDaGVja0RpcnR5RmxhZyk7CiAgICAgfQotCi0gICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCkBAIC0xMjcsMjEgKzExMCwyNCBAQCBib29sIFZh
bGlkaXR5U3RhdGU6OnJhbmdlVW5kZXJmbG93KCkgY29uc3QKIHsKICAgICBpZiAoIW1fY29udHJv
bC0+aGFzVGFnTmFtZShpbnB1dFRhZykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KG1fY29udHJvbCktPnJhbmdlVW5kZXJm
bG93KCk7CisgICAgSFRNTElucHV0RWxlbWVudCogaW5wdXQgPSBzdGF0aWNfY2FzdDxIVE1MSW5w
dXRFbGVtZW50Kj4obV9jb250cm9sKTsKKyAgICByZXR1cm4gaW5wdXQtPnJhbmdlVW5kZXJmbG93
KGlucHV0LT52YWx1ZSgpKTsKIH0KIAogYm9vbCBWYWxpZGl0eVN0YXRlOjpyYW5nZU92ZXJmbG93
KCkgY29uc3QKIHsKICAgICBpZiAoIW1fY29udHJvbC0+aGFzVGFnTmFtZShpbnB1dFRhZykpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxl
bWVudCo+KG1fY29udHJvbCktPnJhbmdlT3ZlcmZsb3coKTsKKyAgICBIVE1MSW5wdXRFbGVtZW50
KiBpbnB1dCA9IHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQqPihtX2NvbnRyb2wpOworICAg
IHJldHVybiBpbnB1dC0+cmFuZ2VPdmVyZmxvdyhpbnB1dC0+dmFsdWUoKSk7CiB9CiAKIGJvb2wg
VmFsaWRpdHlTdGF0ZTo6c3RlcE1pc21hdGNoKCkgY29uc3QKIHsKICAgICBpZiAoIW1fY29udHJv
bC0+aGFzVGFnTmFtZShpbnB1dFRhZykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KG1fY29udHJvbCktPnN0ZXBNaXNtYXRj
aCgpOworICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gc3RhdGljX2Nhc3Q8SFRNTElucHV0
RWxlbWVudCo+KG1fY29udHJvbCk7CisgICAgcmV0dXJuIGlucHV0LT5zdGVwTWlzbWF0Y2goaW5w
dXQtPnZhbHVlKCkpOwogfQogCiBib29sIFZhbGlkaXR5U3RhdGU6OnZhbGlkKCkgY29uc3QKQEAg
LTE1MSwzMSArMTM3LDQgQEAgYm9vbCBWYWxpZGl0eVN0YXRlOjp2YWxpZCgpIGNvbnN0CiAgICAg
cmV0dXJuICFzb21lRXJyb3I7CiB9CiAKLWJvb2wgVmFsaWRpdHlTdGF0ZTo6aXNWYWxpZENvbG9y
U3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCi17Ci0gICAgaWYgKHZhbHVlLmlzRW1wdHkoKSkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICh2YWx1ZVswXSA9PSAnIycpIHsKLSAgICAg
ICAgLy8gV2UgZG9uJ3QgYWNjZXB0ICNyZ2IgYW5kICNhYXJyZ2diYiBmb3JtYXRzLgotICAgICAg
ICBpZiAodmFsdWUubGVuZ3RoKCkgIT0gNykKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICB9Ci0gICAgQ29sb3IgY29sb3IodmFsdWUpOyAgLy8gVGhpcyBhY2NlcHRzIG5hbWVkIGNvbG9y
cyBzdWNoIGFzICJ3aGl0ZSIuCi0gICAgcmV0dXJuIGNvbG9yLmlzVmFsaWQoKSAmJiAhY29sb3Iu
aGFzQWxwaGEoKTsKLX0KLQotYm9vbCBWYWxpZGl0eVN0YXRlOjppc1ZhbGlkRW1haWxBZGRyZXNz
KGNvbnN0IFN0cmluZyYgYWRkcmVzcykKLXsKLSAgICBpbnQgYWRkcmVzc0xlbmd0aCA9IGFkZHJl
c3MubGVuZ3RoKCk7Ci0gICAgaWYgKCFhZGRyZXNzTGVuZ3RoKQotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0KLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFJlZ3VsYXJFeHByZXNzaW9uLCBy
ZWdFeHAsIChlbWFpbFBhdHRlcm4sIFRleHRDYXNlSW5zZW5zaXRpdmUpKTsKLQotICAgIGludCBt
YXRjaExlbmd0aDsKLSAgICBpbnQgbWF0Y2hPZmZzZXQgPSByZWdFeHAubWF0Y2goYWRkcmVzcywg
MCwgJm1hdGNoTGVuZ3RoKTsKLQotICAgIHJldHVybiBtYXRjaE9mZnNldCA9PSAwICYmIG1hdGNo
TGVuZ3RoID09IGFkZHJlc3NMZW5ndGg7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3Rh
dGUuaAppbmRleCA3ODIzOGYxNjM4YTZlOGNjMDgyYTRjNmE1MmEyYmMzNTUzNmYxM2U5Li4yNWRl
OTZkMzRhNzIwOTM4NmU2MjFlNjNhNjVkYTQ5OWFhY2ZiNDEwIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvVmFsaWRpdHlTdGF0ZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgK
QEAgLTQzLDEwICs0MywxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldEN1c3RvbUVycm9yTWVz
c2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpIHsgbV9jdXN0b21FcnJvck1lc3NhZ2UgPSBtZXNz
YWdlOyB9CiAKLSAgICBib29sIHZhbHVlTWlzc2luZygpIGNvbnN0IHsgcmV0dXJuIG1fY29udHJv
bC0+dmFsdWVNaXNzaW5nKCk7IH0KKyAgICBib29sIHZhbHVlTWlzc2luZygpIGNvbnN0OwogICAg
IGJvb2wgdHlwZU1pc21hdGNoKCkgY29uc3Q7Ci0gICAgYm9vbCBwYXR0ZXJuTWlzbWF0Y2goKSBj
b25zdCB7IHJldHVybiBtX2NvbnRyb2wtPnBhdHRlcm5NaXNtYXRjaCgpOyB9Ci0gICAgYm9vbCB0
b29Mb25nKCkgY29uc3QgeyByZXR1cm4gbV9jb250cm9sLT50b29Mb25nKCk7IH0KKyAgICBib29s
IHBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0OworICAgIGJvb2wgdG9vTG9uZygpIGNvbnN0OwogICAg
IGJvb2wgcmFuZ2VVbmRlcmZsb3coKSBjb25zdDsKICAgICBib29sIHJhbmdlT3ZlcmZsb3coKSBj
b25zdDsKICAgICBib29sIHN0ZXBNaXNtYXRjaCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggYmJk
ZjAzNTczYjc4OTcyYTE4MzVmZTA4YmMwNmMzMDZiMDQzY2U1My4uYzZjZTdjNzRmMTZjYzU4ZDNj
OGI1ZDJiNTBjNmU0MDk1NmViZDJmMiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZworKysgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTAtMDgtMDQgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5lZWQgYSBzaG9ydCBkZXNjcmlw
dGlvbiBhbmQgYnVnIFVSTCAoT09QUyEpCisKKyAgICAgICAgKiBwdWJsaWMvV2ViSW5wdXRFbGVt
ZW50Lmg6CisgICAgICAgICogc3JjL1dlYklucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYklucHV0RWxlbWVudDo6aXNWYWxpZFZhbHVlKToKKwogMjAxMC0wOC0wMyAgSmFtZXMg
Um9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEZpc2hlci4KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSW5wdXRF
bGVtZW50LmggYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklucHV0RWxlbWVudC5oCmluZGV4
IGQ4YzhjZTczMzc0NTM5NWZiODhmOTY2YjBkNTQ5ZDI0ZDE5YjFhNzIuLmVmM2I1NzcwOGM4NzU4
ZDdlMzRhYjc2ZTI0NDk5MjkwNjMxMmMzMGEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViSW5wdXRFbGVtZW50LmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJ
bnB1dEVsZW1lbnQuaApAQCAtOTksNiArOTksNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKICAgICAg
ICAgV0VCS0lUX0FQSSB2b2lkIHNldFNlbGVjdGlvblJhbmdlKGludCwgaW50KTsKICAgICAgICAg
V0VCS0lUX0FQSSBpbnQgc2VsZWN0aW9uU3RhcnQoKTsKICAgICAgICAgV0VCS0lUX0FQSSBpbnQg
c2VsZWN0aW9uRW5kKCk7CisgICAgICAgIFdFQktJVF9BUEkgYm9vbCBpc1ZhbGlkVmFsdWUoY29u
c3QgV2ViU3RyaW5nJikgY29uc3Q7CiAKICNpZiBXRUJLSVRfSU1QTEVNRU5UQVRJT04KICAgICAg
ICAgV2ViSW5wdXRFbGVtZW50KGNvbnN0IFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpIVE1MSW5w
dXRFbGVtZW50PiYpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEVs
ZW1lbnQuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEVsZW1lbnQuY3BwCmluZGV4
IDNiODgzMzU0ODE1MGVhODA5NzNhMzViZTg5YmI1NzJiZGQ4NjVlZDAuLjdiZjY0MDdjYTlmM2U5
MzliNGQzZTcwYzgxODZkMDIyYzY3YzlmMzEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViSW5wdXRFbGVtZW50LmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklucHV0
RWxlbWVudC5jcHAKQEAgLTE0MCw2ICsxNDAsMTEgQEAgaW50IFdlYklucHV0RWxlbWVudDo6c2Vs
ZWN0aW9uRW5kKCkKICAgICByZXR1cm4gdW53cmFwPEhUTUxJbnB1dEVsZW1lbnQ+KCktPnNlbGVj
dGlvbkVuZCgpOwogfQogCitib29sIFdlYklucHV0RWxlbWVudDo6aXNWYWxpZFZhbHVlKGNvbnN0
IFdlYlN0cmluZyYgdmFsdWUpIGNvbnN0Cit7CisgICAgcmV0dXJuIGNvbnN0VW53cmFwPEhUTUxJ
bnB1dEVsZW1lbnQ+KCktPmlzVmFsaWRWYWx1ZSh2YWx1ZSk7Cit9CisKIFdlYklucHV0RWxlbWVu
dDo6V2ViSW5wdXRFbGVtZW50KGNvbnN0IFBhc3NSZWZQdHI8SFRNTElucHV0RWxlbWVudD4mIGVs
ZW0pCiAgICAgOiBXZWJGb3JtQ29udHJvbEVsZW1lbnQoZWxlbSkKIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63548</attachid>
            <date>2010-08-04 21:42:12 -0700</date>
            <delta_ts>2010-08-04 21:47:03 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-43537-20100805134209.patch</filename>
            <type>text/plain</type>
            <size>103935</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZDczOGQ2YWIzNmJkYzExMmI2MjdlMmZmZTIwODFiNDQ2Y2RiMjM3Mi4uNGFlNWFhZDc5N2I3ZWFm
ZGFhNDJlYTBmMzFjYzYxNjM3OWQzNDhkZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NCBAQAorMjAxMC0wOC0wNCAgS2Vu
dCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNlIGlzVmFsaWRWYWx1ZShjb25zdCBTdHJp
bmcmKSBvZiBIVE1MSW5wdXRFbGVtZW50IGFuZCBIVE1MVGV4dEFyZWFFbGVtZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzUzNworCisgICAgICAg
IGlzVmFsaWRWYWx1ZSgpIGlzIHVzZWZ1bCBmb3IgYnJvd3NlciBpbXBsZW1lbnRhdGlvbnMgdG8g
cHJvcG9zZQorICAgICAgICBmb3JtIGZpZWxkIHZhbHVlcyB3aXRob3V0IGJyZWFraW5nIGZvcm0g
dmFsaWRpdHkuCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXNlIGZ1bmN0aW9ucyBh
cmUgbm90IGV4cG9zZWQgdG8gSmF2YVNjcmlwdC4KKworICAgICAgICAqIGh0bWwvSFRNTEZvcm1D
b250cm9sRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRGb3JtQ29udHJvbEVs
ZW1lbnQ6Oik6CisgICAgICAgICBSZW1vdmUgdmlydHVhbCB2YWx1ZU1pc3NpbmcoKSwgcGF0dGVy
bk1pc21hdGNoKCksIGFuZCB0b29Mb25nKCkuCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzVmFsaWRDb2xvclN0cmluZyk6IE1vdmVkIGZy
b20gVmFsaWRpdHlTdGF0ZS4KKyAgICAgICAgKFdlYkNvcmU6OmlzVmFsaWRFbWFpbEFkZHJlc3Mp
OiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmlzVmFsaWRWYWx1
ZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6dHlwZU1pc21h
dGNoKTogQWRkIGEgU3RyaW5nIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1
dEVsZW1lbnQ6OnZhbHVlTWlzc2luZyk6IEFkZCBhIFN0cmluZyBwYXJhbWV0ZXIuCisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpwYXR0ZXJuTWlzbWF0Y2gpOiBBZGQgYSBTdHJp
bmcgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6dG9vTG9u
Zyk6IEFkZCBTdHJpbmcgYW5kIE5lZWRzVG9DaGVja0RpcnR5RmxhZyBwYXJhbWV0ZXJzLgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6cmFuZ2VVbmRlcmZsb3cpOiBBZGQgYSBT
dHJpbmcgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6cmFu
Z2VPdmVyZmxvdyk6IEFkZCBhIFN0cmluZyBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjpI
VE1MSW5wdXRFbGVtZW50OjpzdGVwTWlzbWF0Y2gpOiBBZGQgYSBTdHJpbmcgcGFyYW1ldGVyLgor
ICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTFRl
eHRBcmVhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGV4dEFyZWFFbGVtZW50
Ojp0b29Mb25nKTogQWRkIFN0cmluZyBhbmQgTmVlZHNUb0NoZWNrRGlydHlGbGFnIHBhcmFtZXRl
cnMuCisgICAgICAgIChXZWJDb3JlOjpIVE1MVGV4dEFyZWFFbGVtZW50Ojppc1ZhbGlkVmFsdWUp
OiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxUZXh0QXJlYUVsZW1lbnQ6OnZhbHVlTWlzc2luZyk6CisgICAgICAgICog
aHRtbC9WYWxpZGl0eVN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkaXR5U3RhdGU6
OnZhbHVlTWlzc2luZyk6IENhbGxzIHZhbHVlTWlzc2luZygpIG9mIEhUTUxJbnB1dEVsZW1lbnQg
b3IgSFRNTFRleHRBcmVhRWxlbWVudC4KKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkaXR5U3RhdGU6
OnR5cGVNaXNtYXRjaCk6IFBhc3NlcyB2YWx1ZSgpIHRvIEhUTUxJbnB1dEVsZW1lbnQ6OnR5cGVN
aXNtYXRjaCgpLgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRpdHlTdGF0ZTo6cGF0dGVybk1pc21h
dGNoKTogQ2FsbHMgcGF0dGVybk1pc21hdGNoKCkgb2YgSFRNTElucHV0RWxlbWVudC4KKyAgICAg
ICAgKFdlYkNvcmU6OlZhbGlkaXR5U3RhdGU6OnRvb0xvbmcpOiBDYWxscyB2YWx1ZU1pc3Npbmco
KSBvZiBIVE1MSW5wdXRFbGVtZW50IG9yIEhUTUxUZXh0QXJlYUVsZW1lbnQuCisgICAgICAgIChX
ZWJDb3JlOjpWYWxpZGl0eVN0YXRlOjpyYW5nZVVuZGVyZmxvdyk6IFBhc3NlcyB2YWx1ZSgpIHRv
IEhUTUxJbnB1dEVsZW1lbnQ6OnJhbmdlVW5kZXJmbG93KCkuCisgICAgICAgIChXZWJDb3JlOjpW
YWxpZGl0eVN0YXRlOjpyYW5nZU92ZXJmbG93KTogUGFzc2VzIHZhbHVlKCkgdG8gSFRNTElucHV0
RWxlbWVudDo6cmFuZ2VVbmRlcmZsb3coKS4KKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkaXR5U3Rh
dGU6OnN0ZXBNaXNtYXRjaCk6IFBhc3NlcyB2YWx1ZSgpIHRvIEhUTUxJbnB1dEVsZW1lbnQ6OnN0
ZXBNaXNtYXRjaCgpLgorICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5oOgorCiAyMDEwLTA4
LTAzICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAg
ICBCdWlsZCBmaXggZm9sbG93aW5nIHI2NDYyNC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUNvbnRyb2xFbGVtZW50LmggYi9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxl
bWVudC5oCmluZGV4IDAyZWE0ZTc4NDlmMDU3NDQ5MWY4NGFhMjBlOTA4MWRhM2Y1MDFhNDIuLjk0
NjhjNTVmNzlmYjA1MDQ3M2EwYzgxNTI1MmZjMjc5NGZhY2I2NGEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxG
b3JtQ29udHJvbEVsZW1lbnQuaApAQCAtODgsOSArODgsNiBAQCBwdWJsaWM6CiAgICAgLy8gVGhp
cyBtdXN0IGJlIGNhbGxlZCB3aGVuIGEgdmFsaWRhdGlvbiBjb25zdHJhaW50IG9yIGNvbnRyb2wg
dmFsdWUgaXMgY2hhbmdlZC4KICAgICB2b2lkIHNldE5lZWRzVmFsaWRpdHlDaGVjaygpOwogICAg
IHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHkoY29uc3QgU3RyaW5nJik7Ci0gICAgdmlydHVhbCBib29s
IHZhbHVlTWlzc2luZygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29s
IHBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBi
b29sIHRvb0xvbmcoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgdm9pZCBmb3JtRGVz
dHJveWVkKCkgeyBtX2Zvcm0gPSAwOyB9CiAKQEAgLTE3OCw2ICsxNzUsMTIgQEAgcHJpdmF0ZToK
IC8vIEZJWE1FOiBHaXZlIHRoaXMgY2xhc3MgaXRzIG93biBoZWFkZXIgZmlsZS4KIGNsYXNzIEhU
TUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50IDogcHVibGljIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRX
aXRoU3RhdGUgewogcHVibGljOgorICAgIC8vIENvbW1vbiBmbGFnIGZvciBIVE1MSW5wdXRFbGVt
ZW50Ojp0b29Mb25nKCkgYW5kIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnRvb0xvbmcoKS4KKyAgICBl
bnVtIE5lZWRzVG9DaGVja0RpcnR5RmxhZyB7CisgICAgICAgIENoZWNrRGlydHlGbGFnLAorICAg
ICAgICBJZ25vcmVEaXJ0eUZsYWcsCisgICAgfTsKKwogICAgIHZpcnR1YWwgfkhUTUxUZXh0Rm9y
bUNvbnRyb2xFbGVtZW50KCk7CiAKICAgICBTdHJpbmcgc3RyaXBwZWRQbGFjZWhvbGRlcigpIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IGI0ZTU0NTIzYjM4NmU1NzFlODE5
YTI4ZmJmNWZhMGJmZThkMmM5MjIuLjlmMDQ4M2EyNzBjMmZiMDEwYjU2MWZjMjk0YWZkZjQ3NjIx
OWNkNzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysg
Yi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTEwOCwxMiArMTA4LDQ0IEBA
IHN0YXRpYyBjb25zdCBkb3VibGUgd2Vla0RlZmF1bHRTdGVwQmFzZSA9IC0yNTkyMDAwMDAuMDsg
Ly8gVGhlIGZpcnN0IGRheSBvZiAxOTcwCiBzdGF0aWMgY29uc3QgZG91YmxlIG1zZWNQZXJNaW51
dGUgPSA2MCAqIDEwMDA7CiBzdGF0aWMgY29uc3QgZG91YmxlIG1zZWNQZXJTZWNvbmQgPSAxMDAw
OwogCitzdGF0aWMgY29uc3QgY2hhciBlbWFpbFBhdHRlcm5bXSA9CisgICAgIlthLXowLTkhIyQl
JicqKy89P15fYHt8fX4uLV0rIiAvLyBsb2NhbCBwYXJ0CisgICAgIkAiCisgICAgIlthLXowLTkt
XSsoXFwuW2EtejAtOS1dKykrIjsgLy8gZG9tYWluIHBhcnQKKwogc3RhdGljIGJvb2wgaXNOdW1i
ZXJDaGFyYWN0ZXIoVUNoYXIgY2gpCiB7CiAgICAgcmV0dXJuIGNoID09ICcrJyB8fCBjaCA9PSAn
LScgfHwgY2ggPT0gJy4nIHx8IGNoID09ICdlJyB8fCBjaCA9PSAnRScKICAgICAgICAgfHwgKGNo
ID49ICcwJyAmJiBjaCA8PSAnOScpOwogfQogCitzdGF0aWMgYm9vbCBpc1ZhbGlkQ29sb3JTdHJp
bmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKK3sKKyAgICBpZiAodmFsdWUuaXNFbXB0eSgpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKHZhbHVlWzBdID09ICcjJykgeworICAgICAgICAv
LyBXZSBkb24ndCBhY2NlcHQgI3JnYiBhbmQgI2FhcnJnZ2JiIGZvcm1hdHMuCisgICAgICAgIGlm
ICh2YWx1ZS5sZW5ndGgoKSAhPSA3KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
KyAgICBDb2xvciBjb2xvcih2YWx1ZSk7IC8vIFRoaXMgYWNjZXB0cyBuYW1lZCBjb2xvcnMgc3Vj
aCBhcyAid2hpdGUiLgorICAgIHJldHVybiBjb2xvci5pc1ZhbGlkKCkgJiYgIWNvbG9yLmhhc0Fs
cGhhKCk7Cit9CisKK3N0YXRpYyBib29sIGlzVmFsaWRFbWFpbEFkZHJlc3MoY29uc3QgU3RyaW5n
JiBhZGRyZXNzKQoreworICAgIGludCBhZGRyZXNzTGVuZ3RoID0gYWRkcmVzcy5sZW5ndGgoKTsK
KyAgICBpZiAoIWFkZHJlc3NMZW5ndGgpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIERF
RklORV9TVEFUSUNfTE9DQUwoY29uc3QgUmVndWxhckV4cHJlc3Npb24sIHJlZ0V4cCwgKGVtYWls
UGF0dGVybiwgVGV4dENhc2VJbnNlbnNpdGl2ZSkpOworCisgICAgaW50IG1hdGNoTGVuZ3RoOwor
ICAgIGludCBtYXRjaE9mZnNldCA9IHJlZ0V4cC5tYXRjaChhZGRyZXNzLCAwLCAmbWF0Y2hMZW5n
dGgpOworCisgICAgcmV0dXJuICFtYXRjaE9mZnNldCAmJiBtYXRjaExlbmd0aCA9PSBhZGRyZXNz
TGVuZ3RoOworfQorCiBIVE1MSW5wdXRFbGVtZW50OjpIVE1MSW5wdXRFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwgSFRNTEZvcm1FbGVtZW50
KiBmb3JtKQogICAgIDogSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQodGFnTmFtZSwgZG9jdW1l
bnQsIGZvcm0pCiAgICAgLCBtX3hQb3MoMCkKQEAgLTIwNSw3ICsyMzcsNjUgQEAgdm9pZCBIVE1M
SW5wdXRFbGVtZW50Ojp1cGRhdGVDaGVja2VkUmFkaW9CdXR0b25zKCkKICAgICAgICAgcmVuZGVy
ZXIoKS0+dGhlbWUoKS0+c3RhdGVDaGFuZ2VkKHJlbmRlcmVyKCksIENoZWNrZWRTdGF0ZSk7CiB9
CiAKLWJvb2wgSFRNTElucHV0RWxlbWVudDo6dmFsdWVNaXNzaW5nKCkgY29uc3QKK2Jvb2wgSFRN
TElucHV0RWxlbWVudDo6aXNWYWxpZFZhbHVlKGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0Cit7
CisgICAgaWYgKGlucHV0VHlwZSgpID09IENIRUNLQk9YIHx8IGlucHV0VHlwZSgpID09IEZJTEUg
fHwgaW5wdXRUeXBlKCkgPT0gUkFESU8pIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0dXJuICF0eXBlTWlzbWF0Y2go
dmFsdWUpICYmICFzdGVwTWlzbWF0Y2godmFsdWUpICYmICFyYW5nZVVuZGVyZmxvdyh2YWx1ZSkK
KyAgICAgICAgJiYgIXJhbmdlT3ZlcmZsb3codmFsdWUpICYmICF0b29Mb25nKHZhbHVlLCBJZ25v
cmVEaXJ0eUZsYWcpCisgICAgICAgICYmICFwYXR0ZXJuTWlzbWF0Y2godmFsdWUpICYmICF2YWx1
ZU1pc3NpbmcodmFsdWUpOworfQorCitib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnR5cGVNaXNtYXRj
aChjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAoreworICAgIHN3aXRjaCAoaW5wdXRUeXBlKCkp
IHsKKyAgICBjYXNlIENPTE9SOgorICAgICAgICByZXR1cm4gIWlzVmFsaWRDb2xvclN0cmluZyh2
YWx1ZSk7CisgICAgY2FzZSBOVU1CRVI6CisgICAgICAgIHJldHVybiAhcGFyc2VUb0RvdWJsZUZv
ck51bWJlclR5cGUodmFsdWUsIDApOworICAgIGNhc2UgVVJMOgorICAgICAgICByZXR1cm4gIUtV
UkwoS1VSTCgpLCB2YWx1ZSkuaXNWYWxpZCgpOworICAgIGNhc2UgRU1BSUw6IHsKKyAgICAgICAg
aWYgKCFtdWx0aXBsZSgpKQorICAgICAgICAgICAgcmV0dXJuICFpc1ZhbGlkRW1haWxBZGRyZXNz
KHZhbHVlKTsKKyAgICAgICAgVmVjdG9yPFN0cmluZz4gYWRkcmVzc2VzOworICAgICAgICB2YWx1
ZS5zcGxpdCgnLCcsIGFkZHJlc3Nlcyk7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBhZGRyZXNzZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGlmICghaXNWYWxpZEVtYWls
QWRkcmVzcyhhZGRyZXNzZXNbaV0pKQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
ICAgICB9CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgY2FzZSBEQVRFOgorICAg
IGNhc2UgREFURVRJTUU6CisgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgorICAgIGNhc2UgTU9OVEg6
CisgICAgY2FzZSBUSU1FOgorICAgIGNhc2UgV0VFSzoKKyAgICAgICAgcmV0dXJuICFwYXJzZVRv
RGF0ZUNvbXBvbmVudHMoaW5wdXRUeXBlKCksIHZhbHVlLCAwKTsKKyAgICBjYXNlIEJVVFRPTjoK
KyAgICBjYXNlIENIRUNLQk9YOgorICAgIGNhc2UgRklMRToKKyAgICBjYXNlIEhJRERFTjoKKyAg
ICBjYXNlIElNQUdFOgorICAgIGNhc2UgSVNJTkRFWDoKKyAgICBjYXNlIFBBU1NXT1JEOgorICAg
IGNhc2UgUkFESU86CisgICAgY2FzZSBSQU5HRToKKyAgICBjYXNlIFJFU0VUOgorICAgIGNhc2Ug
U0VBUkNIOgorICAgIGNhc2UgU1VCTUlUOgorICAgIGNhc2UgVEVMRVBIT05FOgorICAgIGNhc2Ug
VEVYVDoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgSFRNTElucHV0RWxlbWVudDo6dmFs
dWVNaXNzaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0CiB7CiAgICAgaWYgKCFpc1JlcXVp
cmVkRm9ybUNvbnRyb2woKSB8fCByZWFkT25seSgpIHx8IGRpc2FibGVkKCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKQEAgLTIyNSw3ICszMTUsNyBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnZh
bHVlTWlzc2luZygpIGNvbnN0CiAgICAgY2FzZSBUSU1FOgogICAgIGNhc2UgVVJMOgogICAgIGNh
c2UgV0VFSzoKLSAgICAgICAgcmV0dXJuIHZhbHVlKCkuaXNFbXB0eSgpOworICAgICAgICByZXR1
cm4gdmFsdWUuaXNFbXB0eSgpOwogICAgIGNhc2UgQ0hFQ0tCT1g6CiAgICAgICAgIHJldHVybiAh
Y2hlY2tlZCgpOwogICAgIGNhc2UgUkFESU86CkBAIC0yNDYsMTIgKzMzNiwxMSBAQCBib29sIEhU
TUxJbnB1dEVsZW1lbnQ6OnZhbHVlTWlzc2luZygpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCi1ib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0Citib29s
IEhUTUxJbnB1dEVsZW1lbnQ6OnBhdHRlcm5NaXNtYXRjaChjb25zdCBTdHJpbmcmIHZhbHVlKSBj
b25zdAogewogICAgIGlmICghaXNUZXh0VHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgY29uc3QgQXRvbWljU3RyaW5nJiBwYXR0ZXJuID0gZ2V0QXR0cmlidXRlKHBhdHRlcm5BdHRy
KTsKLSAgICBTdHJpbmcgdmFsdWUgPSB0aGlzLT52YWx1ZSgpOwogICAgIC8vIEVtcHR5IHZhbHVl
cyBjYW4ndCBiZSBtaXNtYXRjaGVkCiAgICAgaWYgKHBhdHRlcm4uaXNFbXB0eSgpIHx8IHZhbHVl
LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjYyLDcgKzM1MSw3IEBAIGJv
b2wgSFRNTElucHV0RWxlbWVudDo6cGF0dGVybk1pc21hdGNoKCkgY29uc3QKICAgICByZXR1cm4g
bWF0Y2hPZmZzZXQgfHwgbWF0Y2hMZW5ndGggIT0gdmFsdWVMZW5ndGg7CiB9CiAKLWJvb2wgSFRN
TElucHV0RWxlbWVudDo6dG9vTG9uZygpIGNvbnN0Citib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnRv
b0xvbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSwgTmVlZHNUb0NoZWNrRGlydHlGbGFnIGNoZWNrKSBj
b25zdAogewogICAgIC8vIFdlIHVzZSBpc1RleHRUeXBlKCkgaW5zdGVhZCBvZiBzdXBwb3J0c01h
eExlbmd0aCgpIGJlY2F1c2Ugb2YgdGhlCiAgICAgLy8gJ3ZpcnR1YWwnIG92ZXJoZWFkLgpAQCAt
MjcxLDE0ICszNjAsMTYgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojp0b29Mb25nKCkgY29uc3QK
ICAgICBpbnQgbWF4ID0gbWF4TGVuZ3RoKCk7CiAgICAgaWYgKG1heCA8IDApCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICAvLyBSZXR1cm4gZmFsc2UgZm9yIHRoZSBkZWZhdWx0IHZhbHVlIGV2
ZW4gaWYgaXQgaXMgbG9uZ2VyIHRoYW4gbWF4TGVuZ3RoLgotICAgIGJvb2wgdXNlckVkaXRlZCA9
ICFtX2RhdGEudmFsdWUoKS5pc051bGwoKTsKLSAgICBpZiAoIXVzZXJFZGl0ZWQpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gbnVtR3JhcGhlbWVDbHVzdGVycyh2YWx1ZSgpKSA+
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihtYXgpOworICAgIGlmIChjaGVjayA9PSBDaGVja0RpcnR5
RmxhZykgeworICAgICAgICAvLyBSZXR1cm4gZmFsc2UgZm9yIHRoZSBkZWZhdWx0IHZhbHVlIGV2
ZW4gaWYgaXQgaXMgbG9uZ2VyIHRoYW4gbWF4TGVuZ3RoLgorICAgICAgICBib29sIHVzZXJFZGl0
ZWQgPSAhbV9kYXRhLnZhbHVlKCkuaXNOdWxsKCk7CisgICAgICAgIGlmICghdXNlckVkaXRlZCkK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0dXJuIG51bUdyYXBoZW1l
Q2x1c3RlcnModmFsdWUpID4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1heCk7CiB9CiAKLWJvb2wg
SFRNTElucHV0RWxlbWVudDo6cmFuZ2VVbmRlcmZsb3coKSBjb25zdAorYm9vbCBIVE1MSW5wdXRF
bGVtZW50OjpyYW5nZVVuZGVyZmxvdyhjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAogewogICAg
IGNvbnN0IGRvdWJsZSBuYW4gPSBudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsK
ICAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7CkBAIC0yODksMTEgKzM4MCwxMSBAQCBib29sIEhU
TUxJbnB1dEVsZW1lbnQ6OnJhbmdlVW5kZXJmbG93KCkgY29uc3QKICAgICBjYXNlIE5VTUJFUjoK
ICAgICBjYXNlIFRJTUU6CiAgICAgY2FzZSBXRUVLOiB7Ci0gICAgICAgIGRvdWJsZSBkb3VibGVW
YWx1ZSA9IHBhcnNlVG9Eb3VibGUodmFsdWUoKSwgbmFuKTsKKyAgICAgICAgZG91YmxlIGRvdWJs
ZVZhbHVlID0gcGFyc2VUb0RvdWJsZSh2YWx1ZSwgbmFuKTsKICAgICAgICAgcmV0dXJuIGlzZmlu
aXRlKGRvdWJsZVZhbHVlKSAmJiBkb3VibGVWYWx1ZSA8IG1pbmltdW0oKTsKICAgICB9CiAgICAg
Y2FzZSBSQU5HRTogLy8gR3VhcmFudGVlZCBieSBzYW5pdGl6YXRpb24uCi0gICAgICAgIEFTU0VS
VChwYXJzZVRvRG91YmxlKHZhbHVlKCksIG5hbikgPj0gbWluaW11bSgpKTsKKyAgICAgICAgQVNT
RVJUKHBhcnNlVG9Eb3VibGUodmFsdWUsIG5hbikgPj0gbWluaW11bSgpKTsKICAgICBjYXNlIEJV
VFRPTjoKICAgICBjYXNlIENIRUNLQk9YOgogICAgIGNhc2UgQ09MT1I6CkBAIC0zMTUsNyArNDA2
LDcgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpyYW5nZVVuZGVyZmxvdygpIGNvbnN0CiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCi1ib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnJhbmdlT3ZlcmZsb3co
KSBjb25zdAorYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpyYW5nZU92ZXJmbG93KGNvbnN0IFN0cmlu
ZyYgdmFsdWUpIGNvbnN0CiB7CiAgICAgY29uc3QgZG91YmxlIG5hbiA9IG51bWVyaWNfbGltaXRz
PGRvdWJsZT46OnF1aWV0X05hTigpOwogICAgIHN3aXRjaCAoaW5wdXRUeXBlKCkpIHsKQEAgLTMy
NiwxMSArNDE3LDExIEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6cmFuZ2VPdmVyZmxvdygpIGNv
bnN0CiAgICAgY2FzZSBOVU1CRVI6CiAgICAgY2FzZSBUSU1FOgogICAgIGNhc2UgV0VFSzogewot
ICAgICAgICBkb3VibGUgZG91YmxlVmFsdWUgPSBwYXJzZVRvRG91YmxlKHZhbHVlKCksIG5hbik7
CisgICAgICAgIGRvdWJsZSBkb3VibGVWYWx1ZSA9IHBhcnNlVG9Eb3VibGUodmFsdWUsIG5hbik7
CiAgICAgICAgIHJldHVybiBpc2Zpbml0ZShkb3VibGVWYWx1ZSkgJiYgZG91YmxlVmFsdWUgPiBt
YXhpbXVtKCk7CiAgICAgfQogICAgIGNhc2UgUkFOR0U6IC8vIEd1YXJhbnRlZWQgYnkgc2FuaXRp
emF0aW9uLgotICAgICAgICBBU1NFUlQocGFyc2VUb0RvdWJsZSh2YWx1ZSgpLCBuYW4pIDw9IG1h
eGltdW0oKSk7CisgICAgICAgIEFTU0VSVChwYXJzZVRvRG91YmxlKHZhbHVlLCBuYW4pIDw9IG1h
eGltdW0oKSk7CiAgICAgY2FzZSBCVVRUT046CiAgICAgY2FzZSBDSEVDS0JPWDoKICAgICBjYXNl
IENPTE9SOgpAQCAtNDc1LDcgKzU2Niw3IEBAIGRvdWJsZSBIVE1MSW5wdXRFbGVtZW50OjpzdGVw
QmFzZSgpIGNvbnN0CiAgICAgcmV0dXJuIDAuMDsKIH0KIAotYm9vbCBIVE1MSW5wdXRFbGVtZW50
OjpzdGVwTWlzbWF0Y2goKSBjb25zdAorYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpzdGVwTWlzbWF0
Y2goY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29uc3QKIHsKICAgICBkb3VibGUgc3RlcDsKICAgICBp
ZiAoIWdldEFsbG93ZWRWYWx1ZVN0ZXAoJnN0ZXApKQpAQCAtNDg4LDcgKzU3OSw3IEBAIGJvb2wg
SFRNTElucHV0RWxlbWVudDo6c3RlcE1pc21hdGNoKCkgY29uc3QKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIGNhc2UgTlVNQkVSOiB7CiAgICAgICAgIGRvdWJsZSBkb3VibGVWYWx1ZTsKLSAg
ICAgICAgaWYgKCFwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZSh2YWx1ZSgpLCAmZG91YmxlVmFs
dWUpKQorICAgICAgICBpZiAoIXBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlKHZhbHVlLCAmZG91
YmxlVmFsdWUpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBkb3VibGVWYWx1
ZSA9IGZhYnMoZG91YmxlVmFsdWUgLSBzdGVwQmFzZSgpKTsKICAgICAgICAgaWYgKGlzaW5mKGRv
dWJsZVZhbHVlKSkKQEAgLTUxMCw3ICs2MDEsNyBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnN0
ZXBNaXNtYXRjaCgpIGNvbnN0CiAgICAgY2FzZSBUSU1FOgogICAgIGNhc2UgV0VFSzogewogICAg
ICAgICBjb25zdCBkb3VibGUgbmFuID0gbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFO
KCk7Ci0gICAgICAgIGRvdWJsZSBkb3VibGVWYWx1ZSA9IHBhcnNlVG9Eb3VibGUodmFsdWUoKSwg
bmFuKTsKKyAgICAgICAgZG91YmxlIGRvdWJsZVZhbHVlID0gcGFyc2VUb0RvdWJsZSh2YWx1ZSwg
bmFuKTsKICAgICAgICAgZG91YmxlVmFsdWUgPSBmYWJzKGRvdWJsZVZhbHVlIC0gc3RlcEJhc2Uo
KSk7CiAgICAgICAgIGlmICghaXNmaW5pdGUoZG91YmxlVmFsdWUpKQogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBi
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5kZXggNzJhYzU4OTRjMDYzNTVlNWZk
NzJhOWE4ZDU2YmE5ZDhmZjdhNWE3NC4uMGU4ZmFjYjM2Mzk4ZWY5NjQyMTQ0NjQ2NjVjMzNlYmMy
ZGE3NWRkZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAorKysg
Yi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC03NSw4ICs3NSwxMyBAQCBwdWJs
aWM6CiAgICAgYm9vbCBhdXRvQ29tcGxldGUoKSBjb25zdDsKIAogICAgIC8vIEZvciBWYWxpZGl0
eVN0YXRlCi0gICAgYm9vbCByYW5nZVVuZGVyZmxvdygpIGNvbnN0OwotICAgIGJvb2wgcmFuZ2VP
dmVyZmxvdygpIGNvbnN0OworICAgIGJvb2wgdHlwZU1pc21hdGNoKGNvbnN0IFN0cmluZyYpIGNv
bnN0OworICAgIC8vIHZhbHVlTWlzc2luZygpIGlnbm9yZXMgdGhlIHNwZWNpZmllZCBzdHJpbmcg
dmFsdWUgZm9yIENIRUNLQk9YIGFuZCBSQURJTy4KKyAgICBib29sIHZhbHVlTWlzc2luZyhjb25z
dCBTdHJpbmcmKSBjb25zdDsKKyAgICBib29sIHBhdHRlcm5NaXNtYXRjaChjb25zdCBTdHJpbmcm
KSBjb25zdDsKKyAgICBib29sIHRvb0xvbmcoY29uc3QgU3RyaW5nJiwgTmVlZHNUb0NoZWNrRGly
dHlGbGFnKSBjb25zdDsKKyAgICBib29sIHJhbmdlVW5kZXJmbG93KGNvbnN0IFN0cmluZyYpIGNv
bnN0OworICAgIGJvb2wgcmFuZ2VPdmVyZmxvdyhjb25zdCBTdHJpbmcmKSBjb25zdDsKICAgICAv
LyBSZXR1cm5zIHRoZSBtaW5pbXVtIHZhbHVlIGZvciB0eXBlPWRhdGUsIG51bWJlciwgb3IgcmFu
Z2UuICBEb24ndCBjYWxsIHRoaXMgZm9yIG90aGVyIHR5cGVzLgogICAgIGRvdWJsZSBtaW5pbXVt
KCkgY29uc3Q7CiAgICAgLy8gUmV0dXJucyB0aGUgbWF4aW11bSB2YWx1ZSBmb3IgdHlwZT1kYXRl
LCBudW1iZXIsIG9yIHJhbmdlLiAgRG9uJ3QgY2FsbCB0aGlzIGZvciBvdGhlciB0eXBlcy4KQEAg
LTg2LDcgKzkxLDggQEAgcHVibGljOgogICAgIC8vIFJldHVybnMgZmFsc2UgaWYgdGhlcmUgaXMg
bm8gImFsbG93ZWQgdmFsdWUgc3RlcC4iCiAgICAgYm9vbCBnZXRBbGxvd2VkVmFsdWVTdGVwKGRv
dWJsZSopIGNvbnN0OwogICAgIC8vIEZvciBWYWxpZGl0eVN0YXRlLgotICAgIGJvb2wgc3RlcE1p
c21hdGNoKCkgY29uc3Q7CisgICAgYm9vbCBzdGVwTWlzbWF0Y2goY29uc3QgU3RyaW5nJikgY29u
c3Q7CisKICAgICAvLyBJbXBsZW1lbnRhdGlvbnMgb2YgSFRNTElucHV0RWxlbWVudDo6c3RlcFVw
KCkgYW5kIHN0ZXBEb3duKCkuCiAgICAgdm9pZCBzdGVwVXAoaW50LCBFeGNlcHRpb25Db2RlJik7
CiAgICAgdm9pZCBzdGVwRG93bihpbnQsIEV4Y2VwdGlvbkNvZGUmKTsKQEAgLTEyMyw2ICsxMjks
OSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdHJpbmcgdmFsdWUoKSBjb25zdDsKICAgICB2aXJ0
dWFsIHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJiwgYm9vbCBzZW5kQ2hhbmdlRXZlbnQgPSBm
YWxzZSk7CiAgICAgdmlydHVhbCB2b2lkIHNldFZhbHVlRm9yVXNlcihjb25zdCBTdHJpbmcmKTsK
KyAgICAvLyBDaGVja3MgaWYgdGhlIHNwZWNpZmllZCBzdHJpbmcgd291bGQgYmUgYSB2YWxpZCB2
YWx1ZS4KKyAgICAvLyBXZSBzaG91bGQgbm90IGNhbGwgdGhpcyBmb3IgdHlwZXMgd2l0aCBubyBz
dHJpbmcgdmFsdWUgc3VjaCBhcyBDSEVDS0JPWCBhbmQgUkFESU8uCisgICAgYm9vbCBpc1ZhbGlk
VmFsdWUoY29uc3QgU3RyaW5nJikgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGNvbnN0IFN0cmluZyYg
c3VnZ2VzdGVkVmFsdWUoKSBjb25zdDsKICAgICB2b2lkIHNldFN1Z2dlc3RlZFZhbHVlKGNvbnN0
IFN0cmluZyYpOwpAQCAtMjM1LDEwICsyNDQsNiBAQCBwcml2YXRlOgogICAgIAogICAgIHZpcnR1
YWwgYm9vbCBpc1RleHRGb3JtQ29udHJvbCgpIGNvbnN0IHsgcmV0dXJuIGlzVGV4dEZpZWxkKCk7
IH0KIAotICAgIHZpcnR1YWwgYm9vbCB2YWx1ZU1pc3NpbmcoKSBjb25zdDsKLSAgICB2aXJ0dWFs
IGJvb2wgcGF0dGVybk1pc21hdGNoKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBib29sIHRvb0xvbmco
KSBjb25zdDsKLQogICAgIHZpcnR1YWwgYm9vbCBoYXNTcGluQnV0dG9uKCkgY29uc3QgeyByZXR1
cm4gbV90eXBlID09IE5VTUJFUiB8fCBtX3R5cGUgPT0gREFURSB8fCBtX3R5cGUgPT0gREFURVRJ
TUUgfHwgbV90eXBlID09IERBVEVUSU1FTE9DQUwgfHwgbV90eXBlID09IE1PTlRIIHx8IG1fdHlw
ZSA9PSBUSU1FIHx8IG1fdHlwZSA9PSBXRUVLOyB9CiAgICAgdmlydHVhbCBib29sIGNhblRyaWdn
ZXJJbXBsaWNpdFN1Ym1pc3Npb24oKSBjb25zdCB7IHJldHVybiBpc1RleHRGaWVsZCgpOyB9CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcCBiL1dlYkNv
cmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcAppbmRleCBmMjA0MzQwNzZhNjZlZGUxMjQ3
YmNiODBlYzZiYzE4ZmIwY2M2MmQ5Li5lMTY2OTdlNjQ1MDJhNjFkMmI2YjBkODA3OWFhYjdmZmQ2
NWYzZGNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAK
KysrIGIvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCkBAIC0zODIsMTYgKzM4
MiwyMSBAQCB2b2lkIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnNldE1heExlbmd0aChpbnQgbmV3VmFs
dWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAgICBzZXRBdHRyaWJ1dGUobWF4bGVuZ3RoQXR0
ciwgU3RyaW5nOjpudW1iZXIobmV3VmFsdWUpKTsKIH0KIAotYm9vbCBIVE1MVGV4dEFyZWFFbGVt
ZW50Ojp0b29Mb25nKCkgY29uc3QKK2Jvb2wgSFRNTFRleHRBcmVhRWxlbWVudDo6dG9vTG9uZyhj
b25zdCBTdHJpbmcmIHZhbHVlLCBOZWVkc1RvQ2hlY2tEaXJ0eUZsYWcgY2hlY2spIGNvbnN0CiB7
CiAgICAgLy8gUmV0dXJuIGZhbHNlIGZvciB0aGUgZGVmYXVsdCB2YWx1ZSBldmVuIGlmIGl0IGlz
IGxvbmdlciB0aGFuIG1heExlbmd0aC4KLSAgICBpZiAoIW1faXNEaXJ0eSkKKyAgICBpZiAoY2hl
Y2sgPT0gQ2hlY2tEaXJ0eUZsYWcgJiYgIW1faXNEaXJ0eSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCiAgICAgaW50IG1heCA9IG1heExlbmd0aCgpOwogICAgIGlmIChtYXggPCAwKQogICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIG51bUdyYXBoZW1lQ2x1c3RlcnModmFsdWUoKSkg
PiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obWF4KTsKKyAgICByZXR1cm4gbnVtR3JhcGhlbWVDbHVz
dGVycyh2YWx1ZSkgPiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obWF4KTsKK30KKworYm9vbCBIVE1M
VGV4dEFyZWFFbGVtZW50Ojppc1ZhbGlkVmFsdWUoY29uc3QgU3RyaW5nJiBjYW5kaWRhdGUpIGNv
bnN0Cit7CisgICAgcmV0dXJuICF2YWx1ZU1pc3NpbmcoY2FuZGlkYXRlKSAmJiAhdG9vTG9uZyhj
YW5kaWRhdGUsIElnbm9yZURpcnR5RmxhZyk7CiB9CiAKIHZvaWQgSFRNTFRleHRBcmVhRWxlbWVu
dDo6YWNjZXNzS2V5QWN0aW9uKGJvb2wpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTFRl
eHRBcmVhRWxlbWVudC5oIGIvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaAppbmRl
eCA0M2ZlNDkzYzYzZjFkOGEwMTE3MTFiZTQzYTQ3NTgxN2FiMzdkYTYzLi5jNTgwZjA2Yjk0ODQz
N2FmNTZjM2RkMzRiNDAzZWIyNDA2OWNmZjFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRBcmVhRWxlbWVudC5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50
LmgKQEAgLTQ3LDcgKzQ3LDkgQEAgcHVibGljOgogICAgIGludCB0ZXh0TGVuZ3RoKCkgY29uc3Qg
eyByZXR1cm4gdmFsdWUoKS5sZW5ndGgoKTsgfQogICAgIGludCBtYXhMZW5ndGgoKSBjb25zdDsK
ICAgICB2b2lkIHNldE1heExlbmd0aChpbnQsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2aXJ0dWFs
IGJvb2wgdG9vTG9uZygpIGNvbnN0OworICAgIGJvb2wgdmFsdWVNaXNzaW5nKGNvbnN0IFN0cmlu
ZyYgdmFsdWUpIGNvbnN0IHsgcmV0dXJuIGlzUmVxdWlyZWRGb3JtQ29udHJvbCgpICYmICFkaXNh
YmxlZCgpICYmICFyZWFkT25seSgpICYmIHZhbHVlLmlzRW1wdHkoKTsgfQorICAgIGJvb2wgdG9v
TG9uZyhjb25zdCBTdHJpbmcmLCBOZWVkc1RvQ2hlY2tEaXJ0eUZsYWcpIGNvbnN0OworICAgIGJv
b2wgaXNWYWxpZFZhbHVlKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIAogICAgIHZvaWQgcmVu
ZGVyZXJXaWxsQmVEZXN0cm95ZWQoKTsKICAgICAKQEAgLTg3LDggKzg5LDYgQEAgcHJpdmF0ZToK
IAogICAgIHZpcnR1YWwgYm9vbCBpc1RleHRGb3JtQ29udHJvbCgpIGNvbnN0IHsgcmV0dXJuIHRy
dWU7IH0KIAotICAgIHZpcnR1YWwgYm9vbCB2YWx1ZU1pc3NpbmcoKSBjb25zdCB7IHJldHVybiBp
c1JlcXVpcmVkRm9ybUNvbnRyb2woKSAmJiAhZGlzYWJsZWQoKSAmJiAhcmVhZE9ubHkoKSAmJiB2
YWx1ZSgpLmlzRW1wdHkoKTsgfQotCiAgICAgdmlydHVhbCB2b2lkIGNoaWxkcmVuQ2hhbmdlZChi
b29sIGNoYW5nZWRCeVBhcnNlciA9IGZhbHNlLCBOb2RlKiBiZWZvcmVDaGFuZ2UgPSAwLCBOb2Rl
KiBhZnRlckNoYW5nZSA9IDAsIGludCBjaGlsZENvdW50RGVsdGEgPSAwKTsKICAgICB2aXJ0dWFs
IHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7CiAgICAgdmlydHVhbCBSZW5k
ZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcCBiL1dlYkNvcmUvaHRtbC9W
YWxpZGl0eVN0YXRlLmNwcAppbmRleCA2YTE1OWU4MDUzOWU0MzgzOTY0ZjM2YmY3MWVmNjZiNjZl
N2NmNjYxLi4yNzFiODU4MzY0ZTQzZTUxZmI2ZWFhMDAwYTY1M2YzODAwMWFlZWU3IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAKKysrIGIvV2ViQ29yZS9odG1sL1Zh
bGlkaXR5U3RhdGUuY3BwCkBAIC0yNiwyMSArMjYsMTUgQEAKIAogI2luY2x1ZGUgIkhUTUxJbnB1
dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlICJIVE1MVGV4dEFy
ZWFFbGVtZW50LmgiCiAjaW5jbHVkZSAiTGVnYWN5SFRNTFRyZWVCdWlsZGVyLmgiCi0jaW5jbHVk
ZSAiS1VSTC5oIgogI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKLSNpbmNsdWRlICJSZWd1
bGFyRXhwcmVzc2lvbi5oIgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1zdGF0aWMgY29u
c3QgY2hhciBlbWFpbFBhdHRlcm5bXSA9Ci0gICAgIlthLXowLTkhIyQlJicqKy89P15fYHt8fX4u
LV0rIiAvLyBsb2NhbCBwYXJ0Ci0gICAgIkAiCi0gICAgIlthLXowLTktXSsoXFwuW2EtejAtOS1d
KykrIjsgLy8gZG9tYWluIHBhcnQKLQogU3RyaW5nIFZhbGlkaXR5U3RhdGU6OnZhbGlkYXRpb25N
ZXNzYWdlKCkgY29uc3QKIHsKICAgICBpZiAoIW1fY29udHJvbC0+d2lsbFZhbGlkYXRlKCkpCkBA
IC02Niw2ICs2MCwxOSBAQCBTdHJpbmcgVmFsaWRpdHlTdGF0ZTo6dmFsaWRhdGlvbk1lc3NhZ2Uo
KSBjb25zdAogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAorYm9vbCBWYWxpZGl0eVN0YXRlOjp2
YWx1ZU1pc3NpbmcoKSBjb25zdAoreworICAgIGlmIChtX2NvbnRyb2wtPmhhc1RhZ05hbWUoaW5w
dXRUYWcpKSB7CisgICAgICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gc3RhdGljX2Nhc3Q8
SFRNTElucHV0RWxlbWVudCo+KG1fY29udHJvbCk7CisgICAgICAgIHJldHVybiBpbnB1dC0+dmFs
dWVNaXNzaW5nKGlucHV0LT52YWx1ZSgpKTsKKyAgICB9CisgICAgaWYgKG1fY29udHJvbC0+aGFz
VGFnTmFtZSh0ZXh0YXJlYVRhZykpIHsKKyAgICAgICAgSFRNTFRleHRBcmVhRWxlbWVudCogdGV4
dEFyZWEgPSBzdGF0aWNfY2FzdDxIVE1MVGV4dEFyZWFFbGVtZW50Kj4obV9jb250cm9sKTsKKyAg
ICAgICAgcmV0dXJuIHRleHRBcmVhLT52YWx1ZU1pc3NpbmcodGV4dEFyZWEtPnZhbHVlKCkpOwor
ICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgVmFsaWRpdHlTdGF0ZTo6dHlwZU1p
c21hdGNoKCkgY29uc3QKIHsKICAgICBpZiAoIW1fY29udHJvbC0+aGFzVGFnTmFtZShpbnB1dFRh
ZykpCkBAIC03Myw1MyArODAsMjkgQEAgYm9vbCBWYWxpZGl0eVN0YXRlOjp0eXBlTWlzbWF0Y2go
KSBjb25zdAogCiAgICAgSFRNTElucHV0RWxlbWVudCogaW5wdXQgPSBzdGF0aWNfY2FzdDxIVE1M
SW5wdXRFbGVtZW50Kj4obV9jb250cm9sKTsKICAgICBTdHJpbmcgdmFsdWUgPSBpbnB1dC0+dmFs
dWUoKTsKLQogICAgIGlmICh2YWx1ZS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICByZXR1cm4gaW5wdXQtPnR5cGVNaXNtYXRjaCh2YWx1ZSk7Cit9CiAKLSAgICBzd2l0Y2gg
KGlucHV0LT5pbnB1dFR5cGUoKSkgewotICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6Q09MT1I6
Ci0gICAgICAgIHJldHVybiAhaXNWYWxpZENvbG9yU3RyaW5nKHZhbHVlKTsKLSAgICBjYXNlIEhU
TUxJbnB1dEVsZW1lbnQ6Ok5VTUJFUjoKLSAgICAgICAgcmV0dXJuICFwYXJzZVRvRG91YmxlRm9y
TnVtYmVyVHlwZSh2YWx1ZSwgMCk7Ci0gICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpVUkw6Ci0g
ICAgICAgIHJldHVybiAhS1VSTChLVVJMKCksIHZhbHVlKS5pc1ZhbGlkKCk7Ci0gICAgY2FzZSBI
VE1MSW5wdXRFbGVtZW50OjpFTUFJTDogewotICAgICAgICBpZiAoIWlucHV0LT5tdWx0aXBsZSgp
KQotICAgICAgICAgICAgcmV0dXJuICFpc1ZhbGlkRW1haWxBZGRyZXNzKHZhbHVlKTsKLSAgICAg
ICAgVmVjdG9yPFN0cmluZz4gYWRkcmVzc2VzOwotICAgICAgICB2YWx1ZS5zcGxpdCgnLCcsIGFk
ZHJlc3Nlcyk7Ci0gICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBhZGRyZXNzZXMuc2l6
ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIGlmICghaXNWYWxpZEVtYWlsQWRkcmVzcyhhZGRyZXNz
ZXNbaV0pKQotICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9Citib29sIFZh
bGlkaXR5U3RhdGU6OnBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2NvbnRy
b2wtPmhhc1RhZ05hbWUoaW5wdXRUYWcpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgSFRN
TElucHV0RWxlbWVudCogaW5wdXQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4obV9j
b250cm9sKTsKKyAgICByZXR1cm4gaW5wdXQtPnBhdHRlcm5NaXNtYXRjaChpbnB1dC0+dmFsdWUo
KSk7Cit9CisKK2Jvb2wgVmFsaWRpdHlTdGF0ZTo6dG9vTG9uZygpIGNvbnN0Cit7CisgICAgaWYg
KG1fY29udHJvbC0+aGFzVGFnTmFtZShpbnB1dFRhZykpIHsKKyAgICAgICAgSFRNTElucHV0RWxl
bWVudCogaW5wdXQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4obV9jb250cm9sKTsK
KyAgICAgICAgcmV0dXJuIGlucHV0LT50b29Mb25nKGlucHV0LT52YWx1ZSgpLCBIVE1MVGV4dEZv
cm1Db250cm9sRWxlbWVudDo6Q2hlY2tEaXJ0eUZsYWcpOwogICAgIH0KLSAgICBjYXNlIEhUTUxJ
bnB1dEVsZW1lbnQ6OkRBVEU6Ci0gICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpEQVRFVElNRToK
LSAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OkRBVEVUSU1FTE9DQUw6Ci0gICAgY2FzZSBIVE1M
SW5wdXRFbGVtZW50OjpNT05USDoKLSAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OlRJTUU6Ci0g
ICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpXRUVLOgotICAgICAgICByZXR1cm4gIUhUTUxJbnB1
dEVsZW1lbnQ6OnBhcnNlVG9EYXRlQ29tcG9uZW50cyhpbnB1dC0+aW5wdXRUeXBlKCksIHZhbHVl
LCAwKTsKLSAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OkJVVFRPTjoKLSAgICBjYXNlIEhUTUxJ
bnB1dEVsZW1lbnQ6OkNIRUNLQk9YOgotICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6RklMRToK
LSAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OkhJRERFTjoKLSAgICBjYXNlIEhUTUxJbnB1dEVs
ZW1lbnQ6OklNQUdFOgotICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6SVNJTkRFWDoKLSAgICBj
YXNlIEhUTUxJbnB1dEVsZW1lbnQ6OlBBU1NXT1JEOgotICAgIGNhc2UgSFRNTElucHV0RWxlbWVu
dDo6UkFESU86Ci0gICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpSQU5HRToKLSAgICBjYXNlIEhU
TUxJbnB1dEVsZW1lbnQ6OlJFU0VUOgotICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6U0VBUkNI
OgotICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6U1VCTUlUOgotICAgIGNhc2UgSFRNTElucHV0
RWxlbWVudDo6VEVMRVBIT05FOiAvLyBGSVhNRTogSXMgdGhlcmUgdmFsaWRhdGlvbiBmb3IgPGlu
cHV0IHR5cGU9dGVsZXBob25lPj8KLSAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OlRFWFQ6Ci0g
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAobV9jb250cm9sLT5oYXNUYWdOYW1lKHRleHRh
cmVhVGFnKSkgeworICAgICAgICBIVE1MVGV4dEFyZWFFbGVtZW50KiB0ZXh0QXJlYSA9IHN0YXRp
Y19jYXN0PEhUTUxUZXh0QXJlYUVsZW1lbnQqPihtX2NvbnRyb2wpOworICAgICAgICByZXR1cm4g
dGV4dEFyZWEtPnRvb0xvbmcodGV4dEFyZWEtPnZhbHVlKCksIEhUTUxUZXh0Rm9ybUNvbnRyb2xF
bGVtZW50OjpDaGVja0RpcnR5RmxhZyk7CiAgICAgfQotCi0gICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCkBAIC0xMjcsMjEgKzExMCwyNCBAQCBib29sIFZh
bGlkaXR5U3RhdGU6OnJhbmdlVW5kZXJmbG93KCkgY29uc3QKIHsKICAgICBpZiAoIW1fY29udHJv
bC0+aGFzVGFnTmFtZShpbnB1dFRhZykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KG1fY29udHJvbCktPnJhbmdlVW5kZXJm
bG93KCk7CisgICAgSFRNTElucHV0RWxlbWVudCogaW5wdXQgPSBzdGF0aWNfY2FzdDxIVE1MSW5w
dXRFbGVtZW50Kj4obV9jb250cm9sKTsKKyAgICByZXR1cm4gaW5wdXQtPnJhbmdlVW5kZXJmbG93
KGlucHV0LT52YWx1ZSgpKTsKIH0KIAogYm9vbCBWYWxpZGl0eVN0YXRlOjpyYW5nZU92ZXJmbG93
KCkgY29uc3QKIHsKICAgICBpZiAoIW1fY29udHJvbC0+aGFzVGFnTmFtZShpbnB1dFRhZykpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxl
bWVudCo+KG1fY29udHJvbCktPnJhbmdlT3ZlcmZsb3coKTsKKyAgICBIVE1MSW5wdXRFbGVtZW50
KiBpbnB1dCA9IHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQqPihtX2NvbnRyb2wpOworICAg
IHJldHVybiBpbnB1dC0+cmFuZ2VPdmVyZmxvdyhpbnB1dC0+dmFsdWUoKSk7CiB9CiAKIGJvb2wg
VmFsaWRpdHlTdGF0ZTo6c3RlcE1pc21hdGNoKCkgY29uc3QKIHsKICAgICBpZiAoIW1fY29udHJv
bC0+aGFzVGFnTmFtZShpbnB1dFRhZykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KG1fY29udHJvbCktPnN0ZXBNaXNtYXRj
aCgpOworICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gc3RhdGljX2Nhc3Q8SFRNTElucHV0
RWxlbWVudCo+KG1fY29udHJvbCk7CisgICAgcmV0dXJuIGlucHV0LT5zdGVwTWlzbWF0Y2goaW5w
dXQtPnZhbHVlKCkpOwogfQogCiBib29sIFZhbGlkaXR5U3RhdGU6OnZhbGlkKCkgY29uc3QKQEAg
LTE1MSwzMSArMTM3LDQgQEAgYm9vbCBWYWxpZGl0eVN0YXRlOjp2YWxpZCgpIGNvbnN0CiAgICAg
cmV0dXJuICFzb21lRXJyb3I7CiB9CiAKLWJvb2wgVmFsaWRpdHlTdGF0ZTo6aXNWYWxpZENvbG9y
U3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCi17Ci0gICAgaWYgKHZhbHVlLmlzRW1wdHkoKSkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICh2YWx1ZVswXSA9PSAnIycpIHsKLSAgICAg
ICAgLy8gV2UgZG9uJ3QgYWNjZXB0ICNyZ2IgYW5kICNhYXJyZ2diYiBmb3JtYXRzLgotICAgICAg
ICBpZiAodmFsdWUubGVuZ3RoKCkgIT0gNykKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICB9Ci0gICAgQ29sb3IgY29sb3IodmFsdWUpOyAgLy8gVGhpcyBhY2NlcHRzIG5hbWVkIGNvbG9y
cyBzdWNoIGFzICJ3aGl0ZSIuCi0gICAgcmV0dXJuIGNvbG9yLmlzVmFsaWQoKSAmJiAhY29sb3Iu
aGFzQWxwaGEoKTsKLX0KLQotYm9vbCBWYWxpZGl0eVN0YXRlOjppc1ZhbGlkRW1haWxBZGRyZXNz
KGNvbnN0IFN0cmluZyYgYWRkcmVzcykKLXsKLSAgICBpbnQgYWRkcmVzc0xlbmd0aCA9IGFkZHJl
c3MubGVuZ3RoKCk7Ci0gICAgaWYgKCFhZGRyZXNzTGVuZ3RoKQotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0KLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFJlZ3VsYXJFeHByZXNzaW9uLCBy
ZWdFeHAsIChlbWFpbFBhdHRlcm4sIFRleHRDYXNlSW5zZW5zaXRpdmUpKTsKLQotICAgIGludCBt
YXRjaExlbmd0aDsKLSAgICBpbnQgbWF0Y2hPZmZzZXQgPSByZWdFeHAubWF0Y2goYWRkcmVzcywg
MCwgJm1hdGNoTGVuZ3RoKTsKLQotICAgIHJldHVybiBtYXRjaE9mZnNldCA9PSAwICYmIG1hdGNo
TGVuZ3RoID09IGFkZHJlc3NMZW5ndGg7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3Rh
dGUuaAppbmRleCA3ODIzOGYxNjM4YTZlOGNjMDgyYTRjNmE1MmEyYmMzNTUzNmYxM2U5Li4yNWRl
OTZkMzRhNzIwOTM4NmU2MjFlNjNhNjVkYTQ5OWFhY2ZiNDEwIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvVmFsaWRpdHlTdGF0ZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgK
QEAgLTQzLDEwICs0MywxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldEN1c3RvbUVycm9yTWVz
c2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpIHsgbV9jdXN0b21FcnJvck1lc3NhZ2UgPSBtZXNz
YWdlOyB9CiAKLSAgICBib29sIHZhbHVlTWlzc2luZygpIGNvbnN0IHsgcmV0dXJuIG1fY29udHJv
bC0+dmFsdWVNaXNzaW5nKCk7IH0KKyAgICBib29sIHZhbHVlTWlzc2luZygpIGNvbnN0OwogICAg
IGJvb2wgdHlwZU1pc21hdGNoKCkgY29uc3Q7Ci0gICAgYm9vbCBwYXR0ZXJuTWlzbWF0Y2goKSBj
b25zdCB7IHJldHVybiBtX2NvbnRyb2wtPnBhdHRlcm5NaXNtYXRjaCgpOyB9Ci0gICAgYm9vbCB0
b29Mb25nKCkgY29uc3QgeyByZXR1cm4gbV9jb250cm9sLT50b29Mb25nKCk7IH0KKyAgICBib29s
IHBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0OworICAgIGJvb2wgdG9vTG9uZygpIGNvbnN0OwogICAg
IGJvb2wgcmFuZ2VVbmRlcmZsb3coKSBjb25zdDsKICAgICBib29sIHJhbmdlT3ZlcmZsb3coKSBj
b25zdDsKICAgICBib29sIHN0ZXBNaXNtYXRjaCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggYmJk
ZjAzNTczYjc4OTcyYTE4MzVmZTA4YmMwNmMzMDZiMDQzY2U1My4uODIzYmJhMzkzNWUyYzVjODE3
YWNmZjliMGU1MzEyNzJhYzY3ODdjNiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZworKysgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MTAtMDgtMDQgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVjZSBpc1ZhbGlkVmFs
dWUoY29uc3QgU3RyaW5nJikgb2YgSFRNTElucHV0RWxlbWVudCBhbmQgSFRNTFRleHRBcmVhRWxl
bWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM1
MzcKKworICAgICAgICAqIHB1YmxpYy9XZWJJbnB1dEVsZW1lbnQuaDoKKyAgICAgICAgKiBzcmMv
V2ViSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW5wdXRFbGVtZW50Ojpp
c1ZhbGlkVmFsdWUpOgorCiAyMDEwLTA4LTAzICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgpAQCAtMTU5NjEs
MTY4NiArMTU5NzIsNCBAQAogICAgICAgICAoV2ViQ29yZTo6QXBwbGljYXRpb25DYWNoZUhvc3Q6
OmlzQXBwbGljYXRpb25DYWNoZUVuYWJsZWQpOgogICAgICAgICAqIHNyYy9Bc3NlcnRNYXRjaGlu
Z0VudW1zLmNwcDogQWRkZWQuCiAgICAgICAgICogc3JjL0F1dG9jb21wbGV0ZVBvcHVwTWVudUNs
aWVudC5jcHA6IEFkZGVkLgotICAgICAgICAoV2ViS2l0OjpBdXRvY29tcGxldGVQb3B1cE1lbnVD
bGllbnQ6OkF1dG9jb21wbGV0ZVBvcHVwTWVudUNsaWVudCk6Ci0gICAgICAgIChXZWJLaXQ6OkF1
dG9jb21wbGV0ZVBvcHVwTWVudUNsaWVudDo6fkF1dG9jb21wbGV0ZVBvcHVwTWVudUNsaWVudCk6
Ci0gICAgICAgIChXZWJLaXQ6OkF1dG9jb21wbGV0ZVBvcHVwTWVudUNsaWVudDo6aW5pdGlhbGl6
ZSk6Ci0gICAgICAgIChXZWJLaXQ6OkF1dG9jb21wbGV0ZVBvcHVwTWVudUNsaWVudDo6dmFsdWVD
aGFuZ2VkKToKLSAgICAgICAgKFdlYktpdDo6QXV0b2NvbXBsZXRlUG9wdXBNZW51Q2xpZW50Ojpp
dGVtVGV4dCk6Ci0gICAgICAgIChXZWJLaXQ6OkF1dG9jb21wbGV0ZVBvcHVwTWVudUNsaWVudDo6
aXRlbVN0eWxlKToKLSAgICAgICAgKFdlYktpdDo6QXV0b2NvbXBsZXRlUG9wdXBNZW51Q2xpZW50
OjptZW51U3R5bGUpOgotICAgICAgICAoV2ViS2l0OjpBdXRvY29tcGxldGVQb3B1cE1lbnVDbGll
bnQ6OmNsaWVudFBhZGRpbmdMZWZ0KToKLSAgICAgICAgKFdlYktpdDo6QXV0b2NvbXBsZXRlUG9w
dXBNZW51Q2xpZW50OjpjbGllbnRQYWRkaW5nUmlnaHQpOgotICAgICAgICAoV2ViS2l0OjpBdXRv
Y29tcGxldGVQb3B1cE1lbnVDbGllbnQ6OnBvcHVwRGlkSGlkZSk6Ci0gICAgICAgIChXZWJLaXQ6
OkF1dG9jb21wbGV0ZVBvcHVwTWVudUNsaWVudDo6c2V0VGV4dEZyb21JdGVtKToKLSAgICAgICAg
KFdlYktpdDo6QXV0b2NvbXBsZXRlUG9wdXBNZW51Q2xpZW50Ojpmb250U2VsZWN0b3IpOgotICAg
ICAgICAoV2ViS2l0OjpBdXRvY29tcGxldGVQb3B1cE1lbnVDbGllbnQ6Omhvc3RXaW5kb3cpOgot
ICAgICAgICAoV2ViS2l0OjpBdXRvY29tcGxldGVQb3B1cE1lbnVDbGllbnQ6OmNyZWF0ZVNjcm9s
bGJhcik6Ci0gICAgICAgIChXZWJLaXQ6OkF1dG9jb21wbGV0ZVBvcHVwTWVudUNsaWVudDo6c2V0
U3VnZ2VzdGlvbnMpOgotICAgICAgICAoV2ViS2l0OjpBdXRvY29tcGxldGVQb3B1cE1lbnVDbGll
bnQ6OnJlbW92ZUl0ZW1BdEluZGV4KToKLSAgICAgICAgKFdlYktpdDo6QXV0b2NvbXBsZXRlUG9w
dXBNZW51Q2xpZW50Ojp0ZXh0RmllbGRTdHlsZSk6Ci0gICAgICAgICogc3JjL0F1dG9jb21wbGV0
ZVBvcHVwTWVudUNsaWVudC5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6QXV0b2NvbXBsZXRl
UG9wdXBNZW51Q2xpZW50Ojp0ZXh0RmllbGQpOgotICAgICAgICAoV2ViS2l0OjpBdXRvY29tcGxl
dGVQb3B1cE1lbnVDbGllbnQ6Oml0ZW1Ub29sVGlwKToKLSAgICAgICAgKFdlYktpdDo6QXV0b2Nv
bXBsZXRlUG9wdXBNZW51Q2xpZW50OjppdGVtSXNFbmFibGVkKToKLSAgICAgICAgKFdlYktpdDo6
QXV0b2NvbXBsZXRlUG9wdXBNZW51Q2xpZW50OjpjbGllbnRJbnNldExlZnQpOgotICAgICAgICAo
V2ViS2l0OjpBdXRvY29tcGxldGVQb3B1cE1lbnVDbGllbnQ6OmNsaWVudEluc2V0UmlnaHQpOgot
ICAgICAgICAoV2ViS2l0OjpBdXRvY29tcGxldGVQb3B1cE1lbnVDbGllbnQ6Omxpc3RTaXplKToK
LSAgICAgICAgKFdlYktpdDo6QXV0b2NvbXBsZXRlUG9wdXBNZW51Q2xpZW50OjpzZWxlY3RlZElu
ZGV4KToKLSAgICAgICAgKFdlYktpdDo6QXV0b2NvbXBsZXRlUG9wdXBNZW51Q2xpZW50OjppdGVt
SXNTZXBhcmF0b3IpOgotICAgICAgICAoV2ViS2l0OjpBdXRvY29tcGxldGVQb3B1cE1lbnVDbGll
bnQ6Oml0ZW1Jc0xhYmVsKToKLSAgICAgICAgKFdlYktpdDo6QXV0b2NvbXBsZXRlUG9wdXBNZW51
Q2xpZW50OjppdGVtSXNTZWxlY3RlZCk6Ci0gICAgICAgIChXZWJLaXQ6OkF1dG9jb21wbGV0ZVBv
cHVwTWVudUNsaWVudDo6c2hvdWxkUG9wT3Zlcik6Ci0gICAgICAgIChXZWJLaXQ6OkF1dG9jb21w
bGV0ZVBvcHVwTWVudUNsaWVudDo6dmFsdWVTaG91bGRDaGFuZ2VPbkhvdFRyYWNrKToKLSAgICAg
ICAgKiBzcmMvQmFja0ZvcndhcmRMaXN0Q2xpZW50SW1wbC5jcHA6IEFkZGVkLgotICAgICAgICAo
V2ViS2l0OjpCYWNrRm9yd2FyZExpc3RDbGllbnRJbXBsOjpCYWNrRm9yd2FyZExpc3RDbGllbnRJ
bXBsKToKLSAgICAgICAgKFdlYktpdDo6QmFja0ZvcndhcmRMaXN0Q2xpZW50SW1wbDo6fkJhY2tG
b3J3YXJkTGlzdENsaWVudEltcGwpOgotICAgICAgICAoV2ViS2l0OjpCYWNrRm9yd2FyZExpc3RD
bGllbnRJbXBsOjpzZXRDdXJyZW50SGlzdG9yeUl0ZW0pOgotICAgICAgICAoV2ViS2l0OjpCYWNr
Rm9yd2FyZExpc3RDbGllbnRJbXBsOjpwcmV2aW91c0hpc3RvcnlJdGVtKToKLSAgICAgICAgKFdl
YktpdDo6QmFja0ZvcndhcmRMaXN0Q2xpZW50SW1wbDo6YWRkSXRlbSk6Ci0gICAgICAgIChXZWJL
aXQ6OkJhY2tGb3J3YXJkTGlzdENsaWVudEltcGw6OmdvVG9JdGVtKToKLSAgICAgICAgKFdlYktp
dDo6QmFja0ZvcndhcmRMaXN0Q2xpZW50SW1wbDo6Y3VycmVudEl0ZW0pOgotICAgICAgICAoV2Vi
S2l0OjpCYWNrRm9yd2FyZExpc3RDbGllbnRJbXBsOjppdGVtQXRJbmRleCk6Ci0gICAgICAgIChX
ZWJLaXQ6OkJhY2tGb3J3YXJkTGlzdENsaWVudEltcGw6OmJhY2tMaXN0Q291bnQpOgotICAgICAg
ICAoV2ViS2l0OjpCYWNrRm9yd2FyZExpc3RDbGllbnRJbXBsOjpmb3J3YXJkTGlzdENvdW50KToK
LSAgICAgICAgKFdlYktpdDo6QmFja0ZvcndhcmRMaXN0Q2xpZW50SW1wbDo6Y2xvc2UpOgotICAg
ICAgICAqIHNyYy9CYWNrRm9yd2FyZExpc3RDbGllbnRJbXBsLmg6IEFkZGVkLgotCi0yMDA5LTEx
LTEwICBZYWFyIFNjaG5pdG1hbiAgPHlhYXJAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFJldmll
d2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KLQotICAgICAgICBVcC1zdHJlYW1pbmcgQ2hyb21pdW0g
QVBJIHNyYyBmaWxlczogV2ViU3RyaW5nLi4uV2ViVmlld0ltcGwKLQotICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzEyNzYKLQotICAgICAgICAqIHNyYy9X
ZWJTdHJpbmcuY3BwOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViU3RyaW5nOjpyZXNldCk6
Ci0gICAgICAgIChXZWJLaXQ6OldlYlN0cmluZzo6YXNzaWduKToKLSAgICAgICAgKFdlYktpdDo6
V2ViU3RyaW5nOjpsZW5ndGgpOgotICAgICAgICAoV2ViS2l0OjpXZWJTdHJpbmc6OmRhdGEpOgot
ICAgICAgICAoV2ViS2l0OjpXZWJTdHJpbmc6OnV0ZjgpOgotICAgICAgICAoV2ViS2l0OjpXZWJT
dHJpbmc6OmZyb21VVEY4KToKLSAgICAgICAgKFdlYktpdDo6V2ViU3RyaW5nOjpXZWJTdHJpbmcp
OgotICAgICAgICAoV2ViS2l0OjpXZWJTdHJpbmc6Om9wZXJhdG9yPSk6Ci0gICAgICAgIChXZWJL
aXQ6OldlYlN0cmluZzo6b3BlcmF0b3IgV2ViQ29yZTo6U3RyaW5nKToKLSAgICAgICAgKFdlYktp
dDo6V2ViU3RyaW5nOjpvcGVyYXRvciBXZWJDb3JlOjpBdG9taWNTdHJpbmcpOgotICAgICAgICAq
IHNyYy9XZWJVUkwuY3BwOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViVVJMOjpXZWJVUkwp
OgotICAgICAgICAoV2ViS2l0OjpXZWJVUkw6Om9wZXJhdG9yPSk6Ci0gICAgICAgIChXZWJLaXQ6
OldlYlVSTDo6b3BlcmF0b3IgV2ViQ29yZTo6S1VSTCk6Ci0gICAgICAgICogc3JjL1dlYlVSTEVy
cm9yLmNwcDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYlVSTEVycm9yOjpXZWJVUkxFcnJv
cik6Ci0gICAgICAgIChXZWJLaXQ6OldlYlVSTEVycm9yOjpvcGVyYXRvcj0pOgotICAgICAgICAo
V2ViS2l0OjpXZWJVUkxFcnJvcjo6b3BlcmF0b3IgUmVzb3VyY2VFcnJvcik6Ci0gICAgICAgICog
c3JjL1dlYlVSTFJlcXVlc3QuY3BwOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViVVJMUmVx
dWVzdFByaXZhdGVJbXBsOjpXZWJVUkxSZXF1ZXN0UHJpdmF0ZUltcGwpOgotICAgICAgICAoV2Vi
S2l0OjpXZWJVUkxSZXF1ZXN0UHJpdmF0ZUltcGw6OmRpc3Bvc2UpOgotICAgICAgICAoV2ViS2l0
OjpXZWJVUkxSZXF1ZXN0Ojppbml0aWFsaXplKToKLSAgICAgICAgKFdlYktpdDo6V2ViVVJMUmVx
dWVzdDo6cmVzZXQpOgotICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXF1ZXN0Ojphc3NpZ24pOgot
ICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXF1ZXN0Ojppc051bGwpOgotICAgICAgICAoV2ViS2l0
OjpXZWJVUkxSZXF1ZXN0Ojp1cmwpOgotICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXF1ZXN0Ojpz
ZXRVUkwpOgotICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXF1ZXN0OjpmaXJzdFBhcnR5Rm9yQ29v
a2llcyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlVSTFJlcXVlc3Q6OnNldEZpcnN0UGFydHlGb3JD
b29raWVzKToKLSAgICAgICAgKFdlYktpdDo6V2ViVVJMUmVxdWVzdDo6YWxsb3dDb29raWVzKToK
LSAgICAgICAgKFdlYktpdDo6V2ViVVJMUmVxdWVzdDo6c2V0QWxsb3dDb29raWVzKToKLSAgICAg
ICAgKFdlYktpdDo6V2ViVVJMUmVxdWVzdDo6YWxsb3dTdG9yZWRDcmVkZW50aWFscyk6Ci0gICAg
ICAgIChXZWJLaXQ6OldlYlVSTFJlcXVlc3Q6OnNldEFsbG93U3RvcmVkQ3JlZGVudGlhbHMpOgot
ICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXF1ZXN0OjpjYWNoZVBvbGljeSk6Ci0gICAgICAgIChX
ZWJLaXQ6OldlYlVSTFJlcXVlc3Q6OnNldENhY2hlUG9saWN5KToKLSAgICAgICAgKFdlYktpdDo6
V2ViVVJMUmVxdWVzdDo6aHR0cE1ldGhvZCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlVSTFJlcXVl
c3Q6OnNldEhUVFBNZXRob2QpOgotICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXF1ZXN0OjpodHRw
SGVhZGVyRmllbGQpOgotICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXF1ZXN0OjpzZXRIVFRQSGVh
ZGVyRmllbGQpOgotICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXF1ZXN0OjphZGRIVFRQSGVhZGVy
RmllbGQpOgotICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXF1ZXN0OjpjbGVhckhUVFBIZWFkZXJG
aWVsZCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlVSTFJlcXVlc3Q6OnZpc2l0SFRUUEhlYWRlckZp
ZWxkcyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlVSTFJlcXVlc3Q6Omh0dHBCb2R5KToKLSAgICAg
ICAgKFdlYktpdDo6V2ViVVJMUmVxdWVzdDo6c2V0SFRUUEJvZHkpOgotICAgICAgICAoV2ViS2l0
OjpXZWJVUkxSZXF1ZXN0OjpyZXBvcnRVcGxvYWRQcm9ncmVzcyk6Ci0gICAgICAgIChXZWJLaXQ6
OldlYlVSTFJlcXVlc3Q6OnNldFJlcG9ydFVwbG9hZFByb2dyZXNzKToKLSAgICAgICAgKFdlYktp
dDo6V2ViVVJMUmVxdWVzdDo6dGFyZ2V0VHlwZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlVSTFJl
cXVlc3Q6OnNldFRhcmdldFR5cGUpOgotICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXF1ZXN0Ojpy
ZXF1ZXN0b3JJRCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlVSTFJlcXVlc3Q6OnNldFJlcXVlc3Rv
cklEKToKLSAgICAgICAgKFdlYktpdDo6V2ViVVJMUmVxdWVzdDo6cmVxdWVzdG9yUHJvY2Vzc0lE
KToKLSAgICAgICAgKFdlYktpdDo6V2ViVVJMUmVxdWVzdDo6c2V0UmVxdWVzdG9yUHJvY2Vzc0lE
KToKLSAgICAgICAgKFdlYktpdDo6V2ViVVJMUmVxdWVzdDo6YXBwQ2FjaGVIb3N0SUQpOgotICAg
ICAgICAoV2ViS2l0OjpXZWJVUkxSZXF1ZXN0OjpzZXRBcHBDYWNoZUhvc3RJRCk6Ci0gICAgICAg
IChXZWJLaXQ6OldlYlVSTFJlcXVlc3Q6OnRvTXV0YWJsZVJlc291cmNlUmVxdWVzdCk6Ci0gICAg
ICAgIChXZWJLaXQ6OldlYlVSTFJlcXVlc3Q6OnRvUmVzb3VyY2VSZXF1ZXN0KToKLSAgICAgICAg
KiBzcmMvV2ViVVJMUmVxdWVzdFByaXZhdGUuaDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6Oldl
YlVSTFJlcXVlc3RQcml2YXRlOjpXZWJVUkxSZXF1ZXN0UHJpdmF0ZSk6Ci0gICAgICAgICogc3Jj
L1dlYlVSTFJlc3BvbnNlLmNwcDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYlVSTFJlc3Bv
bnNlUHJpdmF0ZUltcGw6OldlYlVSTFJlc3BvbnNlUHJpdmF0ZUltcGwpOgotICAgICAgICAoV2Vi
S2l0OjpXZWJVUkxSZXNwb25zZVByaXZhdGVJbXBsOjpkaXNwb3NlKToKLSAgICAgICAgKFdlYktp
dDo6V2ViVVJMUmVzcG9uc2U6OmluaXRpYWxpemUpOgotICAgICAgICAoV2ViS2l0OjpXZWJVUkxS
ZXNwb25zZTo6cmVzZXQpOgotICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXNwb25zZTo6YXNzaWdu
KToKLSAgICAgICAgKFdlYktpdDo6V2ViVVJMUmVzcG9uc2U6OmlzTnVsbCk6Ci0gICAgICAgIChX
ZWJLaXQ6OldlYlVSTFJlc3BvbnNlOjp1cmwpOgotICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXNw
b25zZTo6c2V0VVJMKToKLSAgICAgICAgKFdlYktpdDo6V2ViVVJMUmVzcG9uc2U6Om1pbWVUeXBl
KToKLSAgICAgICAgKFdlYktpdDo6V2ViVVJMUmVzcG9uc2U6OnNldE1JTUVUeXBlKToKLSAgICAg
ICAgKFdlYktpdDo6V2ViVVJMUmVzcG9uc2U6OmV4cGVjdGVkQ29udGVudExlbmd0aCk6Ci0gICAg
ICAgIChXZWJLaXQ6OldlYlVSTFJlc3BvbnNlOjpzZXRFeHBlY3RlZENvbnRlbnRMZW5ndGgpOgot
ICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXNwb25zZTo6dGV4dEVuY29kaW5nTmFtZSk6Ci0gICAg
ICAgIChXZWJLaXQ6OldlYlVSTFJlc3BvbnNlOjpzZXRUZXh0RW5jb2RpbmdOYW1lKToKLSAgICAg
ICAgKFdlYktpdDo6V2ViVVJMUmVzcG9uc2U6OnN1Z2dlc3RlZEZpbGVOYW1lKToKLSAgICAgICAg
KFdlYktpdDo6V2ViVVJMUmVzcG9uc2U6OnNldFN1Z2dlc3RlZEZpbGVOYW1lKToKLSAgICAgICAg
KFdlYktpdDo6V2ViVVJMUmVzcG9uc2U6Omh0dHBTdGF0dXNDb2RlKToKLSAgICAgICAgKFdlYktp
dDo6V2ViVVJMUmVzcG9uc2U6OnNldEhUVFBTdGF0dXNDb2RlKToKLSAgICAgICAgKFdlYktpdDo6
V2ViVVJMUmVzcG9uc2U6Omh0dHBTdGF0dXNUZXh0KToKLSAgICAgICAgKFdlYktpdDo6V2ViVVJM
UmVzcG9uc2U6OnNldEhUVFBTdGF0dXNUZXh0KToKLSAgICAgICAgKFdlYktpdDo6V2ViVVJMUmVz
cG9uc2U6Omh0dHBIZWFkZXJGaWVsZCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlVSTFJlc3BvbnNl
OjpzZXRIVFRQSGVhZGVyRmllbGQpOgotICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXNwb25zZTo6
YWRkSFRUUEhlYWRlckZpZWxkKToKLSAgICAgICAgKFdlYktpdDo6V2ViVVJMUmVzcG9uc2U6OmNs
ZWFySFRUUEhlYWRlckZpZWxkKToKLSAgICAgICAgKFdlYktpdDo6V2ViVVJMUmVzcG9uc2U6OnZp
c2l0SFRUUEhlYWRlckZpZWxkcyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlVSTFJlc3BvbnNlOjps
YXN0TW9kaWZpZWREYXRlKToKLSAgICAgICAgKFdlYktpdDo6V2ViVVJMUmVzcG9uc2U6OnNldExh
c3RNb2RpZmllZERhdGUpOgotICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXNwb25zZTo6aXNDb250
ZW50RmlsdGVyZWQpOgotICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXNwb25zZTo6c2V0SXNDb250
ZW50RmlsdGVyZWQpOgotICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXNwb25zZTo6YXBwQ2FjaGVJ
RCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlVSTFJlc3BvbnNlOjpzZXRBcHBDYWNoZUlEKToKLSAg
ICAgICAgKFdlYktpdDo6V2ViVVJMUmVzcG9uc2U6OmFwcENhY2hlTWFuaWZlc3RVUkwpOgotICAg
ICAgICAoV2ViS2l0OjpXZWJVUkxSZXNwb25zZTo6c2V0QXBwQ2FjaGVNYW5pZmVzdFVSTCk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYlVSTFJlc3BvbnNlOjpzZWN1cml0eUluZm8pOgotICAgICAgICAo
V2ViS2l0OjpXZWJVUkxSZXNwb25zZTo6c2V0U2VjdXJpdHlJbmZvKToKLSAgICAgICAgKFdlYktp
dDo6V2ViVVJMUmVzcG9uc2U6OnRvTXV0YWJsZVJlc291cmNlUmVzcG9uc2UpOgotICAgICAgICAo
V2ViS2l0OjpXZWJVUkxSZXNwb25zZTo6dG9SZXNvdXJjZVJlc3BvbnNlKToKLSAgICAgICAgKiBz
cmMvV2ViVVJMUmVzcG9uc2VQcml2YXRlLmg6IEFkZGVkLgotICAgICAgICAoV2ViS2l0OjpXZWJV
UkxSZXNwb25zZVByaXZhdGU6OldlYlVSTFJlc3BvbnNlUHJpdmF0ZSk6Ci0gICAgICAgICogc3Jj
L1dlYlZpZXdJbXBsLmNwcDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6Oik6Ci0gICAgICAgIChX
ZWJLaXQ6OldlYlZpZXc6OmNyZWF0ZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OnVwZGF0
ZVZpc2l0ZWRMaW5rU3RhdGUpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3OjpyZXNldFZpc2l0
ZWRMaW5rU3RhdGUpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6aW5pdGlhbGl6ZU1h
aW5GcmFtZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpXZWJWaWV3SW1wbCk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjp+V2ViVmlld0ltcGwpOgotICAgICAgICAoV2Vi
S2l0OjpXZWJWaWV3SW1wbDo6dGhlbWUpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6
bWFpbkZyYW1lSW1wbCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjp0YWJLZXlDeWNs
ZXNUaHJvdWdoRWxlbWVudHMpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2V0VGFi
S2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzKToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6
Om1vdXNlTW92ZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjptb3VzZUxlYXZlKToK
LSAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6Om1vdXNlRG93bik6Ci0gICAgICAgIChXZWJL
aXQ6OldlYlZpZXdJbXBsOjptb3VzZUNvbnRleHRNZW51KToKLSAgICAgICAgKFdlYktpdDo6V2Vi
Vmlld0ltcGw6Om1vdXNlVXApOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6bW91c2VX
aGVlbCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjprZXlFdmVudCk6Ci0gICAgICAg
IChXZWJLaXQ6OldlYlZpZXdJbXBsOjphdXRvY29tcGxldGVIYW5kbGVLZXlFdmVudCk6Ci0gICAg
ICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpjaGFyRXZlbnQpOgotICAgICAgICAoV2ViS2l0OjpX
ZWJWaWV3SW1wbDo6c2VuZENvbnRleHRNZW51RXZlbnQpOgotICAgICAgICAoV2ViS2l0OjpXZWJW
aWV3SW1wbDo6a2V5RXZlbnREZWZhdWx0KToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6
OnNjcm9sbFZpZXdXaXRoS2V5Ym9hcmQpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6
cHJvcGFnYXRlU2Nyb2xsKToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmZvY3VzZWRX
ZWJDb3JlRnJhbWUpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6ZnJvbVBhZ2UpOgot
ICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6Y2xvc2UpOgotICAgICAgICAoV2ViS2l0OjpX
ZWJWaWV3SW1wbDo6cmVzaXplKToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmxheW91
dCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpwYWludCk6Ci0gICAgICAgIChXZWJL
aXQ6OldlYlZpZXdJbXBsOjpoYW5kbGVJbnB1dEV2ZW50KToKLSAgICAgICAgKFdlYktpdDo6V2Vi
Vmlld0ltcGw6Om1vdXNlQ2FwdHVyZUxvc3QpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1w
bDo6c2V0Rm9jdXMpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6aGFuZGxlQ29tcG9z
aXRpb25FdmVudCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpxdWVyeUNvbXBvc2l0
aW9uU3RhdHVzKToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnNldFRleHREaXJlY3Rp
b24pOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2V0dGluZ3MpOgotICAgICAgICAo
V2ViS2l0OjpXZWJWaWV3SW1wbDo6cGFnZUVuY29kaW5nKToKLSAgICAgICAgKFdlYktpdDo6V2Vi
Vmlld0ltcGw6OnNldFBhZ2VFbmNvZGluZyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBs
OjpkaXNwYXRjaEJlZm9yZVVubG9hZEV2ZW50KToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0lt
cGw6OmRpc3BhdGNoVW5sb2FkRXZlbnQpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6
bWFpbkZyYW1lKToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmZpbmRGcmFtZUJ5TmFt
ZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpmb2N1c2VkRnJhbWUpOgotICAgICAg
ICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6c2V0Rm9jdXNlZEZyYW1lKToKLSAgICAgICAgKFdlYktp
dDo6V2ViVmlld0ltcGw6OnNldEluaXRpYWxGb2N1cyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZp
ZXdJbXBsOjpjbGVhckZvY3VzZWROb2RlKToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6
Onpvb21Jbik6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjp6b29tT3V0KToKLSAgICAg
ICAgKFdlYktpdDo6V2ViVmlld0ltcGw6Onpvb21EZWZhdWx0KToKLSAgICAgICAgKFdlYktpdDo6
V2ViVmlld0ltcGw6OnBlcmZvcm1NZWRpYVBsYXllckFjdGlvbik6Ci0gICAgICAgIChXZWJLaXQ6
OldlYlZpZXdJbXBsOjpjb3B5SW1hZ2VBdCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBs
OjpkcmFnU291cmNlRW5kZWRBdCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpkcmFn
U291cmNlTW92ZWRUbyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpkcmFnU291cmNl
U3lzdGVtRHJhZ0VuZGVkKToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmRyYWdUYXJn
ZXREcmFnRW50ZXIpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6ZHJhZ1RhcmdldERy
YWdPdmVyKToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmRyYWdUYXJnZXREcmFnTGVh
dmUpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6ZHJhZ1RhcmdldERyb3ApOgotICAg
ICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6ZHJhZ0lkZW50aXR5KToKLSAgICAgICAgKFdlYktp
dDo6V2ViVmlld0ltcGw6Omluc3BlY3RFbGVtZW50QXQpOgotICAgICAgICAoV2ViS2l0OjpXZWJW
aWV3SW1wbDo6aW5zcGVjdG9yU2V0dGluZ3MpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1w
bDo6c2V0SW5zcGVjdG9yU2V0dGluZ3MpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6
ZGV2VG9vbHNBZ2VudCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpzZXREZXZUb29s
c0FnZW50KToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmFjY2Vzc2liaWxpdHlPYmpl
Y3QpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6YXBwbHlBdXRvZmlsbFN1Z2dlc3Rp
b25zKToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmhpZGVBdXRvZmlsbFBvcHVwKToK
LSAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnNldERyb3BFZmZlY3QpOgotICAgICAgICAo
V2ViS2l0OjpXZWJWaWV3SW1wbDo6c2V0SXNUcmFuc3BhcmVudCk6Ci0gICAgICAgIChXZWJLaXQ6
OldlYlZpZXdJbXBsOjppc1RyYW5zcGFyZW50KToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0lt
cGw6OnNldElzQWN0aXZlKToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmlzQWN0aXZl
KToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmRpZENvbW1pdExvYWQpOgotICAgICAg
ICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6bmF2aWdhdGlvblBvbGljeUZyb21Nb3VzZUV2ZW50KToK
LSAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnN0YXJ0RHJhZ2dpbmcpOgotICAgICAgICAo
V2ViS2l0OjpXZWJWaWV3SW1wbDo6c2V0Q3VycmVudEhpc3RvcnlJdGVtKToKLSAgICAgICAgKFdl
YktpdDo6V2ViVmlld0ltcGw6OnByZXZpb3VzSGlzdG9yeUl0ZW0pOgotICAgICAgICAoV2ViS2l0
OjpXZWJWaWV3SW1wbDo6b2JzZXJ2ZU5ld05hdmlnYXRpb24pOgotICAgICAgICAoV2ViS2l0OjpX
ZWJWaWV3SW1wbDo6aGlkZUF1dG9Db21wbGV0ZVBvcHVwKToKLSAgICAgICAgKFdlYktpdDo6V2Vi
Vmlld0ltcGw6OmF1dG9Db21wbGV0ZVBvcHVwRGlkSGlkZSk6Ci0gICAgICAgIChXZWJLaXQ6Oldl
YlZpZXdJbXBsOjpzZXRJZ25vcmVJbnB1dEV2ZW50cyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZp
ZXdJbXBsOjpub3RpZmljYXRpb25QcmVzZW50ZXJJbXBsKToKLSAgICAgICAgKFdlYktpdDo6V2Vi
Vmlld0ltcGw6OnJlZnJlc2hBdXRvZmlsbFBvcHVwKToKLSAgICAgICAgKFdlYktpdDo6V2ViVmll
d0ltcGw6OmZvY3VzZWRXZWJDb3JlTm9kZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBs
OjpoaXRUZXN0UmVzdWx0Rm9yV2luZG93UG9zKToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0lt
cGw6OnNldFRhYnNUb0xpbmtzKToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnRhYnNU
b0xpbmtzKToKLSAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDogQWRkZWQuCi0gICAgICAgIChX
ZWJLaXQ6OldlYlZpZXdJbXBsOjpzaXplKToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6
OmRldlRvb2xzQWdlbnRQcml2YXRlKToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6Omxh
c3RNb3VzZURvd25Qb2ludCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpjbGllbnQp
OgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6cGFnZSk6Ci0gICAgICAgIChXZWJLaXQ6
OldlYlZpZXdJbXBsOjpjb250ZXh0TWVudUFsbG93ZWQpOgotICAgICAgICAoV2ViS2l0OjpXZWJW
aWV3SW1wbDo6c2V0SW5pdGlhbE5hdmlnYXRpb25Qb2xpY3kpOgotICAgICAgICAoV2ViS2l0OjpX
ZWJWaWV3SW1wbDo6aW5pdGlhbE5hdmlnYXRpb25Qb2xpY3kpOgotICAgICAgICAoV2ViS2l0OjpX
ZWJWaWV3SW1wbDo6Y3VycmVudElucHV0RXZlbnQpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3
SW1wbDo6KToKLQotMjAwOS0xMS0xMCAgWWFhciBTY2huaXRtYW4gIDx5YWFyQGNocm9taXVtLm9y
Zz4KLQotICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCi0KLSAgICAgICAgVXAt
c3RyZWFtaW5nIENocm9taXVtIEFQSSBzcmMgZmlsZXM6IFdlYlNjcmlwdENvbnRyb2xsZXIuLi5X
ZWJTdG9yYWdlTmFtZXNwYWNlSW1wbAotCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zMTI3NgotCi0gICAgICAgICogc3JjL1dlYlNjcmlwdENvbnRyb2xs
ZXIuY3BwOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViU2NyaXB0Q29udHJvbGxlcjo6cmVn
aXN0ZXJFeHRlbnNpb24pOgotICAgICAgICAoV2ViS2l0OjpXZWJTY3JpcHRDb250cm9sbGVyOjpl
bmFibGVWOFNpbmdsZVRocmVhZE1vZGUpOgotICAgICAgICAoV2ViS2l0OjpXZWJTY3JpcHRDb250
cm9sbGVyOjpmbHVzaENvbnNvbGVNZXNzYWdlcyk6Ci0gICAgICAgICogc3JjL1dlYlNlYXJjaGFi
bGVGb3JtRGF0YS5jcHA6IEFkZGVkLgotICAgICAgICAoV2ViQ29yZTo6R2V0Rm9ybUVuY29kaW5n
KToKLSAgICAgICAgKFdlYkNvcmU6OklzSFRUUEZvcm1TdWJtaXQpOgotICAgICAgICAoV2ViQ29y
ZTo6R2V0QnV0dG9uVG9BY3RpdmF0ZSk6Ci0gICAgICAgIChXZWJDb3JlOjpJc1NlbGVjdEluRGVm
YXVsdFN0YXRlKToKLSAgICAgICAgKFdlYkNvcmU6OklzSW5EZWZhdWx0U3RhdGUpOgotICAgICAg
ICAoV2ViQ29yZTo6SGFzU3VpdGFibGVUZXh0RWxlbWVudCk6Ci0gICAgICAgIChXZWJLaXQ6Oldl
YlNlYXJjaGFibGVGb3JtRGF0YTo6V2ViU2VhcmNoYWJsZUZvcm1EYXRhKToKLSAgICAgICAgKiBz
cmMvV2ViU2VjdXJpdHlPcmlnaW4uY3BwOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViU2Vj
dXJpdHlPcmlnaW46OnJlc2V0KToKLSAgICAgICAgKFdlYktpdDo6V2ViU2VjdXJpdHlPcmlnaW46
OmFzc2lnbik6Ci0gICAgICAgIChXZWJLaXQ6OldlYlNlY3VyaXR5T3JpZ2luOjpwcm90b2NvbCk6
Ci0gICAgICAgIChXZWJLaXQ6OldlYlNlY3VyaXR5T3JpZ2luOjpob3N0KToKLSAgICAgICAgKFdl
YktpdDo6V2ViU2VjdXJpdHlPcmlnaW46OnBvcnQpOgotICAgICAgICAoV2ViS2l0OjpXZWJTZWN1
cml0eU9yaWdpbjo6aXNFbXB0eSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlNlY3VyaXR5T3JpZ2lu
Ojp0b1N0cmluZyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlNlY3VyaXR5T3JpZ2luOjpkYXRhYmFz
ZUlkZW50aWZpZXIpOgotICAgICAgICAoV2ViS2l0OjpXZWJTZWN1cml0eU9yaWdpbjo6V2ViU2Vj
dXJpdHlPcmlnaW4pOgotICAgICAgICAoV2ViS2l0OjpXZWJTZWN1cml0eU9yaWdpbjo6b3BlcmF0
b3I9KToKLSAgICAgICAgKFdlYktpdDo6V2ViU2VjdXJpdHlPcmlnaW46Om9wZXJhdG9yIFdURjo6
UGFzc1JlZlB0cjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbj4pOgotICAgICAgICAqIHNyYy9XZWJT
ZWN1cml0eVBvbGljeS5jcHA6IEFkZGVkLgotICAgICAgICAoV2ViS2l0OjpXZWJTZWN1cml0eVBv
bGljeTo6cmVnaXN0ZXJVUkxTY2hlbWVBc0xvY2FsKToKLSAgICAgICAgKFdlYktpdDo6V2ViU2Vj
dXJpdHlQb2xpY3k6OnJlZ2lzdGVyVVJMU2NoZW1lQXNOb0FjY2Vzcyk6Ci0gICAgICAgIChXZWJL
aXQ6OldlYlNlY3VyaXR5UG9saWN5Ojp3aGl0ZUxpc3RBY2Nlc3NGcm9tT3JpZ2luKToKLSAgICAg
ICAgKFdlYktpdDo6V2ViU2VjdXJpdHlQb2xpY3k6OnJlc2V0T3JpZ2luQWNjZXNzV2hpdGVMaXN0
cyk6Ci0gICAgICAgICogc3JjL1dlYlNldHRpbmdzSW1wbC5jcHA6IEFkZGVkLgotICAgICAgICAo
V2ViS2l0OjpXZWJTZXR0aW5nc0ltcGw6OldlYlNldHRpbmdzSW1wbCk6Ci0gICAgICAgIChXZWJL
aXQ6OldlYlNldHRpbmdzSW1wbDo6c2V0U3RhbmRhcmRGb250RmFtaWx5KToKLSAgICAgICAgKFdl
YktpdDo6V2ViU2V0dGluZ3NJbXBsOjpzZXRGaXhlZEZvbnRGYW1pbHkpOgotICAgICAgICAoV2Vi
S2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNldFNlcmlmRm9udEZhbWlseSk6Ci0gICAgICAgIChXZWJL
aXQ6OldlYlNldHRpbmdzSW1wbDo6c2V0U2Fuc1NlcmlmRm9udEZhbWlseSk6Ci0gICAgICAgIChX
ZWJLaXQ6OldlYlNldHRpbmdzSW1wbDo6c2V0Q3Vyc2l2ZUZvbnRGYW1pbHkpOgotICAgICAgICAo
V2ViS2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNldEZhbnRhc3lGb250RmFtaWx5KToKLSAgICAgICAg
KFdlYktpdDo6V2ViU2V0dGluZ3NJbXBsOjpzZXREZWZhdWx0Rm9udFNpemUpOgotICAgICAgICAo
V2ViS2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNldERlZmF1bHRGaXhlZEZvbnRTaXplKToKLSAgICAg
ICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBsOjpzZXRNaW5pbXVtRm9udFNpemUpOgotICAgICAg
ICAoV2ViS2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNldE1pbmltdW1Mb2dpY2FsRm9udFNpemUpOgot
ICAgICAgICAoV2ViS2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNldERlZmF1bHRUZXh0RW5jb2RpbmdO
YW1lKToKLSAgICAgICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBsOjpzZXRKYXZhU2NyaXB0RW5h
YmxlZCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlNldHRpbmdzSW1wbDo6c2V0V2ViU2VjdXJpdHlF
bmFibGVkKToKLSAgICAgICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBsOjpzZXRKYXZhU2NyaXB0
Q2FuT3BlbldpbmRvd3NBdXRvbWF0aWNhbGx5KToKLSAgICAgICAgKFdlYktpdDo6V2ViU2V0dGlu
Z3NJbXBsOjpzZXRMb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHkpOgotICAgICAgICAoV2ViS2l0OjpX
ZWJTZXR0aW5nc0ltcGw6OnNldFBsdWdpbnNFbmFibGVkKToKLSAgICAgICAgKFdlYktpdDo6V2Vi
U2V0dGluZ3NJbXBsOjpzZXRET01QYXN0ZUFsbG93ZWQpOgotICAgICAgICAoV2ViS2l0OjpXZWJT
ZXR0aW5nc0ltcGw6OnNldERldmVsb3BlckV4dHJhc0VuYWJsZWQpOgotICAgICAgICAoV2ViS2l0
OjpXZWJTZXR0aW5nc0ltcGw6OnNldFNocmlua3NTdGFuZGFsb25lSW1hZ2VzVG9GaXQpOgotICAg
ICAgICAoV2ViS2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNldFVzZXNFbmNvZGluZ0RldGVjdG9yKToK
LSAgICAgICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBsOjpzZXRUZXh0QXJlYXNBcmVSZXNpemFi
bGUpOgotICAgICAgICAoV2ViS2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNldEphdmFFbmFibGVkKToK
LSAgICAgICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBsOjpzZXRBbGxvd1NjcmlwdHNUb0Nsb3Nl
V2luZG93cyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlNldHRpbmdzSW1wbDo6c2V0VXNlclN0eWxl
U2hlZXRMb2NhdGlvbik6Ci0gICAgICAgIChXZWJLaXQ6OldlYlNldHRpbmdzSW1wbDo6c2V0VXNl
c1BhZ2VDYWNoZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlNldHRpbmdzSW1wbDo6c2V0RG93bmxv
YWRhYmxlQmluYXJ5Rm9udHNFbmFibGVkKToKLSAgICAgICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJ
bXBsOjpzZXRYU1NBdWRpdG9yRW5hYmxlZCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlNldHRpbmdz
SW1wbDo6c2V0TG9jYWxTdG9yYWdlRW5hYmxlZCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlNldHRp
bmdzSW1wbDo6c2V0RWRpdGFibGVMaW5rQmVoYXZpb3JOZXZlckxpdmUpOgotICAgICAgICAoV2Vi
S2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNldEZvbnRSZW5kZXJpbmdNb2RlTm9ybWFsKToKLSAgICAg
ICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBsOjpzZXRTaG91bGRQYWludEN1c3RvbVNjcm9sbGJh
cnMpOgotICAgICAgICAoV2ViS2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNldERhdGFiYXNlc0VuYWJs
ZWQpOgotICAgICAgICAoV2ViS2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNldEFsbG93VW5pdmVyc2Fs
QWNjZXNzRnJvbUZpbGVVUkxzKToKLSAgICAgICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBsOjpz
ZXRUZXh0RGlyZWN0aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9yTmV2ZXJJbmNsdWRlZCk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYlNldHRpbmdzSW1wbDo6c2V0T2ZmbGluZVdlYkFwcGxpY2F0aW9u
Q2FjaGVFbmFibGVkKToKLSAgICAgICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBsOjpzZXRFeHBl
cmltZW50YWxXZWJHTEVuYWJsZWQpOgotICAgICAgICAqIHNyYy9XZWJTZXR0aW5nc0ltcGwuaDog
QWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYlNldHRpbmdzSW1wbDo6fldlYlNldHRpbmdzSW1w
bCk6Ci0gICAgICAgICogc3JjL1dlYlNoYXJlZFdvcmtlckltcGwuY3BwOiBBZGRlZC4KLSAgICAg
ICAgKFdlYktpdDo6V2ViU2hhcmVkV29ya2VySW1wbDo6V2ViU2hhcmVkV29ya2VySW1wbCk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYlNoYXJlZFdvcmtlckltcGw6On5XZWJTaGFyZWRXb3JrZXJJbXBs
KToKLSAgICAgICAgKFdlYktpdDo6V2ViU2hhcmVkV29ya2VySW1wbDo6aXNTdGFydGVkKToKLSAg
ICAgICAgKFdlYktpdDo6V2ViU2hhcmVkV29ya2VySW1wbDo6Y29ubmVjdCk6Ci0gICAgICAgIChX
ZWJLaXQ6OldlYlNoYXJlZFdvcmtlckltcGw6OmNvbm5lY3RUYXNrKToKLSAgICAgICAgKFdlYktp
dDo6V2ViU2hhcmVkV29ya2VySW1wbDo6c3RhcnRXb3JrZXJDb250ZXh0KToKLSAgICAgICAgKFdl
YktpdDo6V2ViU2hhcmVkV29ya2VySW1wbDo6dGVybWluYXRlV29ya2VyQ29udGV4dCk6Ci0gICAg
ICAgIChXZWJLaXQ6OldlYlNoYXJlZFdvcmtlckltcGw6OmNsaWVudERlc3Ryb3llZCk6Ci0gICAg
ICAgIChXZWJLaXQ6OldlYlNoYXJlZFdvcmtlckltcGw6OmNsaWVudCk6Ci0gICAgICAgIChXZWJL
aXQ6OldlYlNoYXJlZFdvcmtlcjo6Y3JlYXRlKToKLSAgICAgICAgKiBzcmMvV2ViU2hhcmVkV29y
a2VySW1wbC5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViU2hhcmVkV29ya2VySW1wbDo6
Y29tbW9uQ2xpZW50KToKLSAgICAgICAgKiBzcmMvV2ViU3RvcmFnZUFyZWFJbXBsLmNwcDogQWRk
ZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYlN0b3JhZ2VBcmVhSW1wbDo6V2ViU3RvcmFnZUFyZWFJ
bXBsKToKLSAgICAgICAgKFdlYktpdDo6V2ViU3RvcmFnZUFyZWFJbXBsOjp+V2ViU3RvcmFnZUFy
ZWFJbXBsKToKLSAgICAgICAgKFdlYktpdDo6V2ViU3RvcmFnZUFyZWFJbXBsOjpsZW5ndGgpOgot
ICAgICAgICAoV2ViS2l0OjpXZWJTdG9yYWdlQXJlYUltcGw6OmtleSk6Ci0gICAgICAgIChXZWJL
aXQ6OldlYlN0b3JhZ2VBcmVhSW1wbDo6Z2V0SXRlbSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlN0
b3JhZ2VBcmVhSW1wbDo6c2V0SXRlbSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlN0b3JhZ2VBcmVh
SW1wbDo6cmVtb3ZlSXRlbSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlN0b3JhZ2VBcmVhSW1wbDo6
Y2xlYXIpOgotICAgICAgICAqIHNyYy9XZWJTdG9yYWdlQXJlYUltcGwuaDogQWRkZWQuCi0gICAg
ICAgIChXZWJLaXQ6OldlYlN0b3JhZ2VBcmVhSW1wbDo6Y3VycmVudFN0b3JhZ2VFdmVudFVSTCk6
Ci0gICAgICAgIChXZWJLaXQ6OldlYlN0b3JhZ2VBcmVhSW1wbDo6U2NvcGVkU3RvcmFnZUV2ZW50
VVJMOjpTY29wZWRTdG9yYWdlRXZlbnRVUkwpOgotICAgICAgICAoV2ViS2l0OjpXZWJTdG9yYWdl
QXJlYUltcGw6OlNjb3BlZFN0b3JhZ2VFdmVudFVSTDo6flNjb3BlZFN0b3JhZ2VFdmVudFVSTCk6
Ci0gICAgICAgICogc3JjL1dlYlN0b3JhZ2VFdmVudERpc3BhdGNoZXJJbXBsLmNwcDogQWRkZWQu
Ci0gICAgICAgIChXZWJLaXQ6OldlYlN0b3JhZ2VFdmVudERpc3BhdGNoZXI6OmNyZWF0ZSk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYlN0b3JhZ2VFdmVudERpc3BhdGNoZXJJbXBsOjpXZWJTdG9yYWdl
RXZlbnREaXNwYXRjaGVySW1wbCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlN0b3JhZ2VFdmVudERp
c3BhdGNoZXJJbXBsOjpkaXNwYXRjaFN0b3JhZ2VFdmVudCk6Ci0gICAgICAgICogc3JjL1dlYlN0
b3JhZ2VFdmVudERpc3BhdGNoZXJJbXBsLmg6IEFkZGVkLgotICAgICAgICAqIHNyYy9XZWJTdG9y
YWdlTmFtZXNwYWNlSW1wbC5jcHA6IEFkZGVkLgotICAgICAgICAoV2ViS2l0OjpXZWJTdG9yYWdl
TmFtZXNwYWNlOjpjcmVhdGVMb2NhbFN0b3JhZ2VOYW1lc3BhY2UpOgotICAgICAgICAoV2ViS2l0
OjpXZWJTdG9yYWdlTmFtZXNwYWNlOjpjcmVhdGVTZXNzaW9uU3RvcmFnZU5hbWVzcGFjZSk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYlN0b3JhZ2VOYW1lc3BhY2VJbXBsOjpXZWJTdG9yYWdlTmFtZXNw
YWNlSW1wbCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlN0b3JhZ2VOYW1lc3BhY2VJbXBsOjp+V2Vi
U3RvcmFnZU5hbWVzcGFjZUltcGwpOgotICAgICAgICAoV2ViS2l0OjpXZWJTdG9yYWdlTmFtZXNw
YWNlSW1wbDo6Y3JlYXRlU3RvcmFnZUFyZWEpOgotICAgICAgICAoV2ViS2l0OjpXZWJTdG9yYWdl
TmFtZXNwYWNlSW1wbDo6Y29weSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlN0b3JhZ2VOYW1lc3Bh
Y2VJbXBsOjpjbG9zZSk6Ci0gICAgICAgICogc3JjL1dlYlN0b3JhZ2VOYW1lc3BhY2VJbXBsLmg6
IEFkZGVkLgotCi0yMDA5LTExLTEwICBZYWFyIFNjaG5pdG1hbiAgPHlhYXJAY2hyb21pdW0ub3Jn
PgotCi0gICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KLQotICAgICAgICBVcC1z
dHJlYW1pbmcgQ2hyb21pdW0gQVBJIHNyYyBmaWxlczogV2ViUGFzc3dvcmRGb3JtRGF0YS4uLldl
YlJ1bnRpbWVGZWF0dXJlcwotCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zMTI3NgotCi0gICAgICAgICogc3JjL1dlYlBhc3N3b3JkRm9ybURhdGEuY3Bw
OiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6KToKLSAgICAgICAgKFdlYktpdDo6V2ViUGFzc3dv
cmRGb3JtRGF0YTo6V2ViUGFzc3dvcmRGb3JtRGF0YSk6Ci0gICAgICAgICogc3JjL1dlYlBhc3N3
b3JkRm9ybVV0aWxzLmNwcDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OmZpbmRQYXNzd29yZEZv
cm1GaWVsZHMpOgotICAgICAgICAqIHNyYy9XZWJQYXNzd29yZEZvcm1VdGlscy5oOiBBZGRlZC4K
LSAgICAgICAgKFdlYktpdDo6UGFzc3dvcmRGb3JtRmllbGRzOjpQYXNzd29yZEZvcm1GaWVsZHMp
OgotICAgICAgICAqIHNyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcDogQWRkZWQuCi0gICAg
ICAgIChXZWJLaXQ6OldlYlBsdWdpbkNvbnRhaW5lckltcGw6OnNldEZyYW1lUmVjdCk6Ci0gICAg
ICAgIChXZWJLaXQ6OldlYlBsdWdpbkNvbnRhaW5lckltcGw6OnBhaW50KToKLSAgICAgICAgKFdl
YktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6aW52YWxpZGF0ZVJlY3QpOgotICAgICAgICAo
V2ViS2l0OjpXZWJQbHVnaW5Db250YWluZXJJbXBsOjpzZXRGb2N1cyk6Ci0gICAgICAgIChXZWJL
aXQ6OldlYlBsdWdpbkNvbnRhaW5lckltcGw6OnNob3cpOgotICAgICAgICAoV2ViS2l0OjpXZWJQ
bHVnaW5Db250YWluZXJJbXBsOjpoaWRlKToKLSAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luQ29u
dGFpbmVySW1wbDo6aGFuZGxlRXZlbnQpOgotICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5Db250
YWluZXJJbXBsOjpmcmFtZVJlY3RzQ2hhbmdlZCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlBsdWdp
bkNvbnRhaW5lckltcGw6OnNldFBhcmVudFZpc2libGUpOgotICAgICAgICAoV2ViS2l0OjpXZWJQ
bHVnaW5Db250YWluZXJJbXBsOjpzZXRQYXJlbnQpOgotICAgICAgICAoV2ViS2l0OjpXZWJQbHVn
aW5Db250YWluZXJJbXBsOjppbnZhbGlkYXRlKToKLSAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2lu
Q29udGFpbmVySW1wbDo6cmVwb3J0R2VvbWV0cnkpOgotICAgICAgICAoV2ViS2l0OjpXZWJQbHVn
aW5Db250YWluZXJJbXBsOjpjbGVhclNjcmlwdE9iamVjdHMpOgotICAgICAgICAoV2ViS2l0OjpX
ZWJQbHVnaW5Db250YWluZXJJbXBsOjpzY3JpcHRhYmxlT2JqZWN0Rm9yRWxlbWVudCk6Ci0gICAg
ICAgIChXZWJLaXQ6OldlYlBsdWdpbkNvbnRhaW5lckltcGw6OmV4ZWN1dGVTY3JpcHRVUkwpOgot
ICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5Db250YWluZXJJbXBsOjpsb2FkRnJhbWVSZXF1ZXN0
KToKLSAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6ZGlkUmVjZWl2ZVJl
c3BvbnNlKToKLSAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6ZGlkUmVj
ZWl2ZURhdGEpOgotICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5Db250YWluZXJJbXBsOjpkaWRG
aW5pc2hMb2FkaW5nKToKLSAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6
ZGlkRmFpbExvYWRpbmcpOgotICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5Db250YWluZXJJbXBs
OjpzY3JpcHRhYmxlT2JqZWN0KToKLSAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luQ29udGFpbmVy
SW1wbDo6d2lsbERlc3Ryb3lQbHVnaW5Mb2FkT2JzZXJ2ZXIpOgotICAgICAgICAoV2ViS2l0OjpX
ZWJQbHVnaW5Db250YWluZXJJbXBsOjp+V2ViUGx1Z2luQ29udGFpbmVySW1wbCk6Ci0gICAgICAg
IChXZWJLaXQ6OldlYlBsdWdpbkNvbnRhaW5lckltcGw6OmhhbmRsZU1vdXNlRXZlbnQpOgotICAg
ICAgICAoV2ViS2l0OjpXZWJQbHVnaW5Db250YWluZXJJbXBsOjpoYW5kbGVLZXlib2FyZEV2ZW50
KToKLSAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6Y2FsY3VsYXRlR2Vv
bWV0cnkpOgotICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5Db250YWluZXJJbXBsOjp3aW5kb3dD
bGlwUmVjdCk6Ci0gICAgICAgIChXZWJLaXQ6OmdldE9iamVjdFN0YWNrKToKLSAgICAgICAgKFdl
YktpdDo6Y2hlY2tTdGFja09uVG9wKToKLSAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luQ29udGFp
bmVySW1wbDo6d2luZG93Q3V0T3V0UmVjdHMpOgotICAgICAgICAqIHNyYy9XZWJQbHVnaW5Db250
YWluZXJJbXBsLmg6IEFkZGVkLgotICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5Db250YWluZXJJ
bXBsOjpjcmVhdGUpOgotICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5Db250YWluZXJJbXBsOjpw
bHVnaW4pOgotICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5Db250YWluZXJJbXBsOjpXZWJQbHVn
aW5Db250YWluZXJJbXBsKToKLSAgICAgICAgKiBzcmMvV2ViUGx1Z2luTGlzdEJ1aWxkZXJJbXBs
LmNwcDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYlBsdWdpbkxpc3RCdWlsZGVySW1wbDo6
YWRkUGx1Z2luKToKLSAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luTGlzdEJ1aWxkZXJJbXBsOjph
ZGRNZWRpYVR5cGVUb0xhc3RQbHVnaW4pOgotICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5MaXN0
QnVpbGRlckltcGw6OmFkZEZpbGVFeHRlbnNpb25Ub0xhc3RNZWRpYVR5cGUpOgotICAgICAgICAq
IHNyYy9XZWJQbHVnaW5MaXN0QnVpbGRlckltcGwuaDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6
OldlYlBsdWdpbkxpc3RCdWlsZGVySW1wbDo6V2ViUGx1Z2luTGlzdEJ1aWxkZXJJbXBsKToKLSAg
ICAgICAgKiBzcmMvV2ViUGx1Z2luTG9hZE9ic2VydmVyLmNwcDogQWRkZWQuCi0gICAgICAgIChX
ZWJLaXQ6OldlYlBsdWdpbkxvYWRPYnNlcnZlcjo6fldlYlBsdWdpbkxvYWRPYnNlcnZlcik6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYlBsdWdpbkxvYWRPYnNlcnZlcjo6ZGlkRmluaXNoTG9hZGluZyk6
Ci0gICAgICAgIChXZWJLaXQ6OldlYlBsdWdpbkxvYWRPYnNlcnZlcjo6ZGlkRmFpbExvYWRpbmcp
OgotICAgICAgICAqIHNyYy9XZWJQbHVnaW5Mb2FkT2JzZXJ2ZXIuaDogQWRkZWQuCi0gICAgICAg
IChXZWJLaXQ6OldlYlBsdWdpbkxvYWRPYnNlcnZlcjo6V2ViUGx1Z2luTG9hZE9ic2VydmVyKToK
LSAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luTG9hZE9ic2VydmVyOjp1cmwpOgotICAgICAgICAo
V2ViS2l0OjpXZWJQbHVnaW5Mb2FkT2JzZXJ2ZXI6OmNsZWFyUGx1Z2luQ29udGFpbmVyKToKLSAg
ICAgICAgKiBzcmMvV2ViUG9wdXBNZW51SW1wbC5jcHA6IEFkZGVkLgotICAgICAgICAoV2ViS2l0
OjpXZWJQb3B1cE1lbnU6OmNyZWF0ZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudUlt
cGw6OldlYlBvcHVwTWVudUltcGwpOgotICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVJbXBs
Ojp+V2ViUG9wdXBNZW51SW1wbCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudUltcGw6
OkluaXQpOgotICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVJbXBsOjpNb3VzZU1vdmUpOgot
ICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVJbXBsOjpNb3VzZUxlYXZlKToKLSAgICAgICAg
KFdlYktpdDo6V2ViUG9wdXBNZW51SW1wbDo6TW91c2VEb3duKToKLSAgICAgICAgKFdlYktpdDo6
V2ViUG9wdXBNZW51SW1wbDo6TW91c2VVcCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVu
dUltcGw6Ok1vdXNlV2hlZWwpOgotICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVJbXBsOjpL
ZXlFdmVudCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudUltcGw6OmNsb3NlKToKLSAg
ICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51SW1wbDo6cmVzaXplKToKLSAgICAgICAgKFdlYktp
dDo6V2ViUG9wdXBNZW51SW1wbDo6bGF5b3V0KToKLSAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBN
ZW51SW1wbDo6cGFpbnQpOgotICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVJbXBsOjpoYW5k
bGVJbnB1dEV2ZW50KToKLSAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51SW1wbDo6bW91c2VD
YXB0dXJlTG9zdCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudUltcGw6OnNldEZvY3Vz
KToKLSAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51SW1wbDo6aGFuZGxlQ29tcG9zaXRpb25F
dmVudCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudUltcGw6OnF1ZXJ5Q29tcG9zaXRp
b25TdGF0dXMpOgotICAgICAgICAoV2ViS2l0OjpXZWJQb3B1cE1lbnVJbXBsOjpzZXRUZXh0RGly
ZWN0aW9uKToKLSAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51SW1wbDo6cmVwYWludCk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudUltcGw6OnNjcm9sbCk6Ci0gICAgICAgIChXZWJL
aXQ6OldlYlBvcHVwTWVudUltcGw6OnNjcmVlblRvV2luZG93KToKLSAgICAgICAgKFdlYktpdDo6
V2ViUG9wdXBNZW51SW1wbDo6d2luZG93VG9TY3JlZW4pOgotICAgICAgICAoV2ViS2l0OjpXZWJQ
b3B1cE1lbnVJbXBsOjpzY3JvbGxSZWN0SW50b1ZpZXcpOgotICAgICAgICAoV2ViS2l0OjpXZWJQ
b3B1cE1lbnVJbXBsOjpzY3JvbGxiYXJzTW9kZURpZENoYW5nZSk6Ci0gICAgICAgIChXZWJLaXQ6
OldlYlBvcHVwTWVudUltcGw6OnBvcHVwQ2xvc2VkKToKLSAgICAgICAgKiBzcmMvV2ViUG9wdXBN
ZW51SW1wbC5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51SW1wbDo6c2l6
ZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudUltcGw6OmNsaWVudCk6Ci0gICAgICAg
IChXZWJLaXQ6OldlYlBvcHVwTWVudUltcGw6OnBsYXRmb3JtUGFnZUNsaWVudCk6Ci0gICAgICAg
ICogc3JjL1dlYlJhbmdlLmNwcDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYlJhbmdlOjpy
ZXNldCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlJhbmdlOjphc3NpZ24pOgotICAgICAgICAoV2Vi
S2l0OjpXZWJSYW5nZTo6c3RhcnRPZmZzZXQpOgotICAgICAgICAoV2ViS2l0OjpXZWJSYW5nZTo6
ZW5kT2Zmc2V0KToKLSAgICAgICAgKFdlYktpdDo6V2ViUmFuZ2U6OnN0YXJ0Q29udGFpbmVyKToK
LSAgICAgICAgKFdlYktpdDo6V2ViUmFuZ2U6OmVuZENvbnRhaW5lcik6Ci0gICAgICAgIChXZWJL
aXQ6OldlYlJhbmdlOjp0b0hUTUxUZXh0KToKLSAgICAgICAgKFdlYktpdDo6V2ViUmFuZ2U6OnRv
UGxhaW5UZXh0KToKLSAgICAgICAgKFdlYktpdDo6V2ViUmFuZ2U6OldlYlJhbmdlKToKLSAgICAg
ICAgKFdlYktpdDo6V2ViUmFuZ2U6Om9wZXJhdG9yPSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlJh
bmdlOjpvcGVyYXRvciBXVEY6OlBhc3NSZWZQdHI8V2ViQ29yZTo6UmFuZ2U+KToKLSAgICAgICAg
KiBzcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6Oldl
YlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlRGF0YWJhc2UpOgotICAgICAgICAoV2ViS2l0OjpXZWJS
dW50aW1lRmVhdHVyZXM6OmlzRGF0YWJhc2VFbmFibGVkKToKLSAgICAgICAgKFdlYktpdDo6V2Vi
UnVudGltZUZlYXR1cmVzOjplbmFibGVMb2NhbFN0b3JhZ2UpOgotICAgICAgICAoV2ViS2l0OjpX
ZWJSdW50aW1lRmVhdHVyZXM6OmlzTG9jYWxTdG9yYWdlRW5hYmxlZCk6Ci0gICAgICAgIChXZWJL
aXQ6OldlYlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlU2Vzc2lvblN0b3JhZ2UpOgotICAgICAgICAo
V2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6OmlzU2Vzc2lvblN0b3JhZ2VFbmFibGVkKToKLSAg
ICAgICAgKFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVNZWRpYVBsYXllcik6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYlJ1bnRpbWVGZWF0dXJlczo6aXNNZWRpYVBsYXllckVuYWJsZWQp
OgotICAgICAgICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZVNvY2tldHMpOgot
ICAgICAgICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6OmlzU29ja2V0c0VuYWJsZWQpOgot
ICAgICAgICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZU5vdGlmaWNhdGlvbnMp
OgotICAgICAgICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6OmlzTm90aWZpY2F0aW9uc0Vu
YWJsZWQpOgotICAgICAgICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZUFwcGxp
Y2F0aW9uQ2FjaGUpOgotICAgICAgICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6OmlzQXBw
bGljYXRpb25DYWNoZUVuYWJsZWQpOgotCi0yMDA5LTExLTA5ICBZYWFyIFNjaG5pdG1hbiAgPHlh
YXJAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4K
LQotICAgICAgICBVcC1zdHJlYW1pbmcgQ2hyb21pdW0gQVBJIHNyYyBmaWxlczogV2ViRmlsZUlu
cHV0RWxlbWVudC4uLldlYk5vdGlmaWNhdGlvbnMKLQotICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzEyNzYKLQotICAgICAgICAqIHNyYy9XZWJJbnB1dEVs
ZW1lbnQuY3BwOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViSW5wdXRFbGVtZW50OjpXZWJJ
bnB1dEVsZW1lbnQpOgotICAgICAgICAoV2ViS2l0OjpXZWJJbnB1dEVsZW1lbnQ6Om9wZXJhdG9y
PSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYklucHV0RWxlbWVudDo6b3BlcmF0b3IgV1RGOjpQYXNz
UmVmUHRyPEhUTUxJbnB1dEVsZW1lbnQ+KToKLSAgICAgICAgKFdlYktpdDo6V2ViSW5wdXRFbGVt
ZW50OjpzZXRBY3RpdmF0ZWRTdWJtaXQpOgotICAgICAgICAoV2ViS2l0OjpXZWJJbnB1dEVsZW1l
bnQ6OnNldFZhbHVlKToKLSAgICAgICAgKFdlYktpdDo6V2ViSW5wdXRFbGVtZW50Ojp2YWx1ZSk6
Ci0gICAgICAgIChXZWJLaXQ6OldlYklucHV0RWxlbWVudDo6c2V0QXV0b2ZpbGxlZCk6Ci0gICAg
ICAgIChXZWJLaXQ6OldlYklucHV0RWxlbWVudDo6ZGlzcGF0Y2hGb3JtQ29udHJvbENoYW5nZUV2
ZW50KToKLSAgICAgICAgKFdlYktpdDo6V2ViSW5wdXRFbGVtZW50OjpzZXRTZWxlY3Rpb25SYW5n
ZSk6Ci0gICAgICAgICogc3JjL1dlYklucHV0RXZlbnQuY3BwOiBBZGRlZC4KLSAgICAgICAgKFdl
YktpdDo6c3RhdGljS2V5SWRlbnRpZmllcnMpOgotICAgICAgICAoV2ViS2l0OjpXZWJLZXlib2Fy
ZEV2ZW50OjpzZXRLZXlJZGVudGlmaWVyRnJvbVdpbmRvd3NLZXlDb2RlKToKLSAgICAgICAgKiBz
cmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uY3BwOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6
UGxhdGZvcm1Nb3VzZUV2ZW50QnVpbGRlcjo6UGxhdGZvcm1Nb3VzZUV2ZW50QnVpbGRlcik6Ci0g
ICAgICAgIChXZWJLaXQ6OlBsYXRmb3JtV2hlZWxFdmVudEJ1aWxkZXI6OlBsYXRmb3JtV2hlZWxF
dmVudEJ1aWxkZXIpOgotICAgICAgICAoV2ViS2l0Ojp0b1BsYXRmb3JtS2V5Ym9hcmRFdmVudFR5
cGUpOgotICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybUtleWJvYXJkRXZlbnRCdWlsZGVyOjpQbGF0
Zm9ybUtleWJvYXJkRXZlbnRCdWlsZGVyKToKLSAgICAgICAgKFdlYktpdDo6UGxhdGZvcm1LZXli
b2FyZEV2ZW50QnVpbGRlcjo6c2V0S2V5VHlwZSk6Ci0gICAgICAgIChXZWJLaXQ6OlBsYXRmb3Jt
S2V5Ym9hcmRFdmVudEJ1aWxkZXI6OmlzQ2hhcmFjdGVyS2V5KToKLSAgICAgICAgKFdlYktpdDo6
Z2V0V2ViSW5wdXRNb2RpZmllcnMpOgotICAgICAgICAoV2ViS2l0OjpXZWJNb3VzZUV2ZW50QnVp
bGRlcjo6V2ViTW91c2VFdmVudEJ1aWxkZXIpOgotICAgICAgICAoV2ViS2l0OjpXZWJLZXlib2Fy
ZEV2ZW50QnVpbGRlcjo6V2ViS2V5Ym9hcmRFdmVudEJ1aWxkZXIpOgotICAgICAgICAqIHNyYy9X
ZWJJbnB1dEV2ZW50Q29udmVyc2lvbi5oOiBBZGRlZC4KLSAgICAgICAgKiBzcmMvV2ViS2l0LmNw
cDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OmluaXRpYWxpemUpOgotICAgICAgICAoV2ViS2l0
OjpzaHV0ZG93bik6Ci0gICAgICAgIChXZWJLaXQ6OndlYktpdENsaWVudCk6Ci0gICAgICAgIChX
ZWJLaXQ6OnNldExheW91dFRlc3RNb2RlKToKLSAgICAgICAgKFdlYktpdDo6bGF5b3V0VGVzdE1v
ZGUpOgotICAgICAgICAoV2ViS2l0OjpyZXNldFBsdWdpbkNhY2hlKToKLSAgICAgICAgKiBzcmMv
V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OmNy
ZWF0ZVdlYk1lZGlhUGxheWVyKToKLSAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGll
bnRJbXBsOjppc0VuYWJsZWQpOgotICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVu
dEltcGw6OnNldElzRW5hYmxlZCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xp
ZW50SW1wbDo6cmVnaXN0ZXJTZWxmKToKLSAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJD
bGllbnRJbXBsOjpuZXR3b3JrU3RhdGVDaGFuZ2VkKToKLSAgICAgICAgKFdlYktpdDo6V2ViTWVk
aWFQbGF5ZXJDbGllbnRJbXBsOjpyZWFkeVN0YXRlQ2hhbmdlZCk6Ci0gICAgICAgIChXZWJLaXQ6
OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6dm9sdW1lQ2hhbmdlZCk6Ci0gICAgICAgIChXZWJL
aXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6dGltZUNoYW5nZWQpOgotICAgICAgICAoV2Vi
S2l0OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnJlcGFpbnQpOgotICAgICAgICAoV2ViS2l0
OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OmR1cmF0aW9uQ2hhbmdlZCk6Ci0gICAgICAgIChX
ZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6cmF0ZUNoYW5nZWQpOgotICAgICAgICAo
V2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnNpemVDaGFuZ2VkKToKLSAgICAgICAg
KFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpzYXdVbnN1cHBvcnRlZFRyYWNrcyk6
Ci0gICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6bG9hZCk6Ci0gICAg
ICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6Y2FuY2VsTG9hZCk6Ci0gICAg
ICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6cGxheSk6Ci0gICAgICAgIChX
ZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6cGF1c2UpOgotICAgICAgICAoV2ViS2l0
OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6Om5hdHVyYWxTaXplKToKLSAgICAgICAgKFdlYktp
dDo6V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpoYXNWaWRlbyk6Ci0gICAgICAgIChXZWJLaXQ6
OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6aGFzQXVkaW8pOgotICAgICAgICAoV2ViS2l0OjpX
ZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnNldFZpc2libGUpOgotICAgICAgICAoV2ViS2l0OjpX
ZWJNZWRpYVBsYXllckNsaWVudEltcGw6OmR1cmF0aW9uKToKLSAgICAgICAgKFdlYktpdDo6V2Vi
TWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpjdXJyZW50VGltZSk6Ci0gICAgICAgIChXZWJLaXQ6Oldl
Yk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6c2Vlayk6Ci0gICAgICAgIChXZWJLaXQ6OldlYk1lZGlh
UGxheWVyQ2xpZW50SW1wbDo6c2Vla2luZyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxh
eWVyQ2xpZW50SW1wbDo6c2V0RW5kVGltZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxh
eWVyQ2xpZW50SW1wbDo6c2V0UmF0ZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVy
Q2xpZW50SW1wbDo6cGF1c2VkKToKLSAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJDbGll
bnRJbXBsOjpzdXBwb3J0c0Z1bGxzY3JlZW4pOgotICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYVBs
YXllckNsaWVudEltcGw6OnN1cHBvcnRzU2F2ZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYk1lZGlh
UGxheWVyQ2xpZW50SW1wbDo6c2V0Vm9sdW1lKToKLSAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQ
bGF5ZXJDbGllbnRJbXBsOjpuZXR3b3JrU3RhdGUpOgotICAgICAgICAoV2ViS2l0OjpXZWJNZWRp
YVBsYXllckNsaWVudEltcGw6OnJlYWR5U3RhdGUpOgotICAgICAgICAoV2ViS2l0OjpXZWJNZWRp
YVBsYXllckNsaWVudEltcGw6Om1heFRpbWVTZWVrYWJsZSk6Ci0gICAgICAgIChXZWJLaXQ6Oldl
Yk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6YnVmZmVyZWQpOgotICAgICAgICAoV2ViS2l0OjpXZWJN
ZWRpYVBsYXllckNsaWVudEltcGw6OmRhdGFSYXRlKToKLSAgICAgICAgKFdlYktpdDo6V2ViTWVk
aWFQbGF5ZXJDbGllbnRJbXBsOjp0b3RhbEJ5dGVzS25vd24pOgotICAgICAgICAoV2ViS2l0OjpX
ZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnRvdGFsQnl0ZXMpOgotICAgICAgICAoV2ViS2l0OjpX
ZWJNZWRpYVBsYXllckNsaWVudEltcGw6OmJ5dGVzTG9hZGVkKToKLSAgICAgICAgKFdlYktpdDo6
V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpzZXRTaXplKToKLSAgICAgICAgKFdlYktpdDo6V2Vi
TWVkaWFQbGF5ZXJDbGllbnRJbXBsOjpwYWludCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYk1lZGlh
UGxheWVyQ2xpZW50SW1wbDo6c2V0QXV0b2J1ZmZlcik6Ci0gICAgICAgIChXZWJLaXQ6OldlYk1l
ZGlhUGxheWVyQ2xpZW50SW1wbDo6aGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4pOgotICAgICAgICAo
V2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6Om1vdmllTG9hZFR5cGUpOgotICAgICAg
ICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OmNyZWF0ZSk6Ci0gICAgICAgIChX
ZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6Z2V0U3VwcG9ydGVkVHlwZXMpOgotICAg
ICAgICAoV2ViS2l0OjpXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnN1cHBvcnRzVHlwZSk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6V2ViTWVkaWFQbGF5ZXJD
bGllbnRJbXBsKToKLSAgICAgICAgKiBzcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmg6IEFk
ZGVkLgotICAgICAgICAqIHNyYy9XZWJOb2RlLmNwcDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6
OldlYk5vZGU6OnJlc2V0KToKLSAgICAgICAgKFdlYktpdDo6V2ViTm9kZTo6YXNzaWduKToKLSAg
ICAgICAgKFdlYktpdDo6V2ViTm9kZTo6cGFyZW50Tm9kZSk6Ci0gICAgICAgIChXZWJLaXQ6Oldl
Yk5vZGU6Om5vZGVOYW1lKToKLSAgICAgICAgKFdlYktpdDo6V2ViTm9kZTo6V2ViTm9kZSk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYk5vZGU6Om9wZXJhdG9yPSk6Ci0gICAgICAgIChXZWJLaXQ6Oldl
Yk5vZGU6Om9wZXJhdG9yIFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpOb2RlPik6Ci0gICAgICAg
IChXZWJLaXQ6OldlYk5vZGU6OmZyYW1lKToKLSAgICAgICAgKiBzcmMvV2ViTm90aWZpY2F0aW9u
LmNwcDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbjo6cmVzZXQpOgot
ICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb246OmFzc2lnbik6Ci0gICAgICAgIChXZWJL
aXQ6OldlYk5vdGlmaWNhdGlvbjo6bGVzc1RoYW4pOgotICAgICAgICAoV2ViS2l0OjpXZWJOb3Rp
ZmljYXRpb246OmlzSFRNTCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbjo6dXJs
KToKLSAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uOjppY29uKToKLSAgICAgICAgKFdl
YktpdDo6V2ViTm90aWZpY2F0aW9uOjp0aXRsZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYk5vdGlm
aWNhdGlvbjo6Ym9keSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbjo6ZGlzcGF0
Y2hEaXNwbGF5RXZlbnQpOgotICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb246OmRpc3Bh
dGNoRXJyb3JFdmVudCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbjo6ZGlzcGF0
Y2hDbG9zZUV2ZW50KToKLSAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uOjpXZWJOb3Rp
ZmljYXRpb24pOgotICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb246Om9wZXJhdG9yPSk6
Ci0gICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbjo6b3BlcmF0b3IgV1RGOjpQYXNzUmVm
UHRyPE5vdGlmaWNhdGlvbj4pOgotCi0yMDA5LTExLTA5ICBZYWFyIFNjaG5pdG1hbiAgPHlhYXJA
Y2hyb21pdW0ub3JnPgotCi0gICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KLQot
ICAgICAgICBVcC1zdHJlYW1pbmcgQ2hyb21pdW0gQVBJIHNyYyBmaWxlczogV2ViRmlsZUNob29z
ZXIuLi5XZWJJbWFnZVNraWEKLQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzEyNzYKLQotICAgICAgICAqIHNyYy9XZWJGaWxlQ2hvb3NlckNvbXBsZXRp
b25JbXBsLmNwcDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYkZpbGVDaG9vc2VyQ29tcGxl
dGlvbkltcGw6OldlYkZpbGVDaG9vc2VyQ29tcGxldGlvbkltcGwpOgotICAgICAgICAoV2ViS2l0
OjpXZWJGaWxlQ2hvb3NlckNvbXBsZXRpb25JbXBsOjp+V2ViRmlsZUNob29zZXJDb21wbGV0aW9u
SW1wbCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZpbGVDaG9vc2VyQ29tcGxldGlvbkltcGw6OmRp
ZENob29zZUZpbGUpOgotICAgICAgICAqIHNyYy9XZWJGaWxlQ2hvb3NlckNvbXBsZXRpb25JbXBs
Lmg6IEFkZGVkLgotICAgICAgICAqIHNyYy9XZWJGb250Q2FjaGUuY3BwOiBBZGRlZC4KLSAgICAg
ICAgKFdlYktpdDo6V2ViRm9udENhY2hlOjpmb250RGF0YUNvdW50KToKLSAgICAgICAgKFdlYktp
dDo6V2ViRm9udENhY2hlOjppbmFjdGl2ZUZvbnREYXRhQ291bnQpOgotICAgICAgICAoV2ViS2l0
OjpXZWJGb250Q2FjaGU6OmNsZWFyKToKLSAgICAgICAgKiBzcmMvV2ViRm9ybUVsZW1lbnQuY3Bw
OiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViRm9ybUVsZW1lbnQ6OldlYkZvcm1FbGVtZW50
KToKLSAgICAgICAgKFdlYktpdDo6V2ViRm9ybUVsZW1lbnQ6Om9wZXJhdG9yPSk6Ci0gICAgICAg
IChXZWJLaXQ6OldlYkZvcm1FbGVtZW50OjpvcGVyYXRvciBXVEY6OlBhc3NSZWZQdHI8V2ViQ29y
ZTo6SFRNTEZvcm1FbGVtZW50Pik6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZvcm1FbGVtZW50Ojph
dXRvQ29tcGxldGUpOgotICAgICAgICAoV2ViS2l0OjpXZWJGb3JtRWxlbWVudDo6YWN0aW9uKToK
LSAgICAgICAgKFdlYktpdDo6V2ViRm9ybUVsZW1lbnQ6OnN1Ym1pdCk6Ci0gICAgICAgIChXZWJL
aXQ6OldlYkZvcm1FbGVtZW50OjpnZXROYW1lZEVsZW1lbnRzKToKLSAgICAgICAgKiBzcmMvV2Vi
RnJhbWVJbXBsLmNwcDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OmZyYW1lQ29udGVudEFzUGxh
aW5UZXh0KToKLSAgICAgICAgKFdlYktpdDo6Q2hyb21lUHJpbnRDb250ZXh0OjpDaHJvbWVQcmlu
dENvbnRleHQpOgotICAgICAgICAoV2ViS2l0OjpDaHJvbWVQcmludENvbnRleHQ6OmJlZ2luKToK
LSAgICAgICAgKFdlYktpdDo6Q2hyb21lUHJpbnRDb250ZXh0OjpnZXRQYWdlU2hyaW5rKToKLSAg
ICAgICAgKFdlYktpdDo6Q2hyb21lUHJpbnRDb250ZXh0OjpzcG9vbFBhZ2UpOgotICAgICAgICAo
V2ViS2l0OjpEYXRhU291cmNlRm9yRG9jTG9hZGVyKToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJh
bWVJbXBsOjpEZWZlcnJlZFNjb3BlU3RyaW5nTWF0Y2hlczo6RGVmZXJyZWRTY29wZVN0cmluZ01h
dGNoZXMpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OkRlZmVycmVkU2NvcGVTdHJp
bmdNYXRjaGVzOjpkb1RpbWVvdXQpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZTo6ZnJhbWVG
b3JFbnRlcmVkQ29udGV4dCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1lOjpmcmFtZUZvckN1
cnJlbnRDb250ZXh0KToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpuYW1lKToKLSAg
ICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjp1cmwpOgotICAgICAgICAoV2ViS2l0OjpXZWJG
cmFtZUltcGw6OmZhdkljb25VUkwpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6Om9w
ZW5TZWFyY2hEZXNjcmlwdGlvblVSTCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6
c2Nyb2xsT2Zmc2V0KToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpjb250ZW50c1Np
emUpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmNvbnRlbnRzUHJlZmVycmVkV2lk
dGgpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6Omhhc1Zpc2libGVDb250ZW50KToK
LSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjp2aWV3KToKLSAgICAgICAgKFdlYktpdDo6
V2ViRnJhbWVJbXBsOjpvcGVuZXIpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OnBh
cmVudCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6dG9wKToKLSAgICAgICAgKFdl
YktpdDo6V2ViRnJhbWVJbXBsOjpmaXJzdENoaWxkKToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJh
bWVJbXBsOjpsYXN0Q2hpbGQpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6Om5leHRT
aWJsaW5nKToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpwcmV2aW91c1NpYmxpbmcp
OgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OnRyYXZlcnNlTmV4dCk6Ci0gICAgICAg
IChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6dHJhdmVyc2VQcmV2aW91cyk6Ci0gICAgICAgIChXZWJL
aXQ6OldlYkZyYW1lSW1wbDo6ZmluZENoaWxkQnlOYW1lKToKLSAgICAgICAgKFdlYktpdDo6V2Vi
RnJhbWVJbXBsOjpmaW5kQ2hpbGRCeUV4cHJlc3Npb24pOgotICAgICAgICAoV2ViS2l0OjpXZWJG
cmFtZUltcGw6OmZvcm1zKToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpzZWN1cml0
eU9yaWdpbik6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6Z3JhbnRVbml2ZXJzYWxB
Y2Nlc3MpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OndpbmRvd09iamVjdCk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6YmluZFRvV2luZG93T2JqZWN0KToKLSAgICAg
ICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpleGVjdXRlU2NyaXB0KToKLSAgICAgICAgKFdlYktp
dDo6V2ViRnJhbWVJbXBsOjpleGVjdXRlU2NyaXB0SW5OZXdDb250ZXh0KToKLSAgICAgICAgKFdl
YktpdDo6V2ViRnJhbWVJbXBsOjpleGVjdXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKToKLSAgICAg
ICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjphZGRNZXNzYWdlVG9Db25zb2xlKToKLSAgICAgICAg
KFdlYktpdDo6V2ViRnJhbWVJbXBsOjpjb2xsZWN0R2FyYmFnZSk6Ci0gICAgICAgIChXZWJLaXQ6
OldlYkZyYW1lSW1wbDo6bWFpbldvcmxkU2NyaXB0Q29udGV4dCk6Ci0gICAgICAgIChXZWJLaXQ6
OldlYkZyYW1lSW1wbDo6aW5zZXJ0U3R5bGVUZXh0KToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJh
bWVJbXBsOjpyZWxvYWQpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmxvYWRSZXF1
ZXN0KToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpsb2FkSGlzdG9yeUl0ZW0pOgot
ICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmxvYWREYXRhKToKLSAgICAgICAgKFdlYktp
dDo6V2ViRnJhbWVJbXBsOjpsb2FkSFRNTFN0cmluZyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZy
YW1lSW1wbDo6aXNMb2FkaW5nKToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpzdG9w
TG9hZGluZyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6cHJvdmlzaW9uYWxEYXRh
U291cmNlKToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpkYXRhU291cmNlKToKLSAg
ICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpwcmV2aW91c0hpc3RvcnlJdGVtKToKLSAgICAg
ICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpjdXJyZW50SGlzdG9yeUl0ZW0pOgotICAgICAgICAo
V2ViS2l0OjpXZWJGcmFtZUltcGw6OmVuYWJsZVZpZXdTb3VyY2VNb2RlKToKLSAgICAgICAgKFdl
YktpdDo6V2ViRnJhbWVJbXBsOjppc1ZpZXdTb3VyY2VNb2RlRW5hYmxlZCk6Ci0gICAgICAgIChX
ZWJLaXQ6OldlYkZyYW1lSW1wbDo6c2V0UmVmZXJyZXJGb3JSZXF1ZXN0KToKLSAgICAgICAgKFdl
YktpdDo6V2ViRnJhbWVJbXBsOjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdCk6Ci0gICAgICAgIChX
ZWJLaXQ6OldlYkZyYW1lSW1wbDo6Y29tbWl0RG9jdW1lbnREYXRhKToKLSAgICAgICAgKFdlYktp
dDo6V2ViRnJhbWVJbXBsOjp1bmxvYWRMaXN0ZW5lckNvdW50KToKLSAgICAgICAgKFdlYktpdDo6
V2ViRnJhbWVJbXBsOjppc1Byb2Nlc3NpbmdVc2VyR2VzdHVyZSk6Ci0gICAgICAgIChXZWJLaXQ6
OldlYkZyYW1lSW1wbDo6d2lsbFN1cHByZXNzT3BlbmVySW5OZXdGcmFtZSk6Ci0gICAgICAgIChX
ZWJLaXQ6OldlYkZyYW1lSW1wbDo6cmVwbGFjZVNlbGVjdGlvbik6Ci0gICAgICAgIChXZWJLaXQ6
OldlYkZyYW1lSW1wbDo6aW5zZXJ0VGV4dCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1w
bDo6c2V0TWFya2VkVGV4dCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6dW5tYXJr
VGV4dCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6aGFzTWFya2VkVGV4dCk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6bWFya2VkUmFuZ2UpOgotICAgICAgICAoV2Vi
S2l0OjpXZWJGcmFtZUltcGw6OmV4ZWN1dGVDb21tYW5kKToKLSAgICAgICAgKFdlYktpdDo6V2Vi
RnJhbWVJbXBsOjppc0NvbW1hbmRFbmFibGVkKToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJ
bXBsOjplbmFibGVDb250aW51b3VzU3BlbGxDaGVja2luZyk6Ci0gICAgICAgIChXZWJLaXQ6Oldl
YkZyYW1lSW1wbDo6aXNDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQpOgotICAgICAgICAo
V2ViS2l0OjpXZWJGcmFtZUltcGw6Omhhc1NlbGVjdGlvbik6Ci0gICAgICAgIChXZWJLaXQ6Oldl
YkZyYW1lSW1wbDo6c2VsZWN0aW9uUmFuZ2UpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUlt
cGw6OnNlbGVjdGlvbkFzVGV4dCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6c2Vs
ZWN0aW9uQXNNYXJrdXApOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OnByaW50QmVn
aW4pOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmdldFByaW50UGFnZVNocmluayk6
Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6cHJpbnRQYWdlKToKLSAgICAgICAgKFdl
YktpdDo6V2ViRnJhbWVJbXBsOjpwcmludEVuZCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1l
SW1wbDo6ZmluZCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6c3RvcEZpbmRpbmcp
OgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OnNjb3BlU3RyaW5nTWF0Y2hlcyk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6Y2FuY2VsUGVuZGluZ1Njb3BpbmdFZmZvcnQp
OgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmluY3JlYXNlTWF0Y2hDb3VudCk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6cmVwb3J0RmluZEluUGFnZVNlbGVjdGlvbik6
Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6cmVzZXRNYXRjaENvdW50KToKLSAgICAg
ICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpjb21wbGV0ZVVSTCk6Ci0gICAgICAgIChXZWJLaXQ6
OldlYkZyYW1lSW1wbDo6Y29udGVudEFzVGV4dCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1l
SW1wbDo6Y29udGVudEFzTWFya3VwKToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpj
cmVhdGUpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OldlYkZyYW1lSW1wbCk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6fldlYkZyYW1lSW1wbCk6Ci0gICAgICAgIChX
ZWJLaXQ6OldlYkZyYW1lSW1wbDo6aW5pdGlhbGl6ZUFzTWFpbkZyYW1lKToKLSAgICAgICAgKFdl
YktpdDo6V2ViRnJhbWVJbXBsOjpjcmVhdGVDaGlsZEZyYW1lKToKLSAgICAgICAgKFdlYktpdDo6
V2ViRnJhbWVJbXBsOjpsYXlvdXQpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OnBh
aW50KToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpjcmVhdGVGcmFtZVZpZXcpOgot
ICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmZyb21GcmFtZSk6Ci0gICAgICAgIChXZWJL
aXQ6OldlYkZyYW1lSW1wbDo6dmlld0ltcGwpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUlt
cGw6OmRhdGFTb3VyY2VJbXBsKToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpwcm92
aXNpb25hbERhdGFTb3VyY2VJbXBsKToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpz
ZXRGaW5kRW5kc3RhdGVGb2N1c0FuZFNlbGVjdGlvbik6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZy
YW1lSW1wbDo6ZGlkRmFpbCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6c2V0QWxs
b3dzU2Nyb2xsaW5nKToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpyZWdpc3RlclBh
c3N3b3JkTGlzdGVuZXIpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmdldFBhc3N3
b3JkTGlzdGVuZXIpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmNsb3NpbmcpOgot
ICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmludmFsaWRhdGVBcmVhKToKLSAgICAgICAg
KFdlYktpdDo6V2ViRnJhbWVJbXBsOjphZGRNYXJrZXIpOgotICAgICAgICAoV2ViS2l0OjpXZWJG
cmFtZUltcGw6OnNldE1hcmtlckFjdGl2ZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1w
bDo6b3JkaW5hbE9mRmlyc3RNYXRjaEZvckZyYW1lKToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJh
bWVJbXBsOjpzaG91bGRTY29wZU1hdGNoZXMpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUlt
cGw6OnNjb3BlU3RyaW5nTWF0Y2hlc1Nvb24pOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUlt
cGw6OmNhbGxTY29wZVN0cmluZ01hdGNoZXMpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUlt
cGw6OmludmFsaWRhdGVJZk5lY2Vzc2FyeSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1w
bDo6Y2xlYXJQYXNzd29yZExpc3RlbmVycyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1w
bDo6bG9hZEphdmFTY3JpcHRVUkwpOgotICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuaDogQWRk
ZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6bGl2ZU9iamVjdENvdW50KToKLSAg
ICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpmcmFtZSk6Ci0gICAgICAgIChXZWJLaXQ6Oldl
YkZyYW1lSW1wbDo6ZnJhbWVWaWV3KToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjph
Y3RpdmVNYXRjaEZyYW1lKToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVJbXBsOjpjbGllbnQp
OgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmRyb3BDbGllbnQpOgotICAgICAgICAo
V2ViS2l0OjpXZWJGcmFtZUltcGw6OkNsaWVudEhhbmRsZTo6Y3JlYXRlKToKLSAgICAgICAgKFdl
YktpdDo6V2ViRnJhbWVJbXBsOjpDbGllbnRIYW5kbGU6OmNsaWVudCk6Ci0gICAgICAgIChXZWJL
aXQ6OldlYkZyYW1lSW1wbDo6Q2xpZW50SGFuZGxlOjpkcm9wQ2xpZW50KToKLSAgICAgICAgKFdl
YktpdDo6V2ViRnJhbWVJbXBsOjpDbGllbnRIYW5kbGU6OkNsaWVudEhhbmRsZSk6Ci0gICAgICAg
IChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6KToKLSAgICAgICAgKiBzcmMvV2ViSFRUUEJvZHkuY3Bw
OiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViSFRUUEJvZHk6OmluaXRpYWxpemUpOgotICAg
ICAgICAoV2ViS2l0OjpXZWJIVFRQQm9keTo6cmVzZXQpOgotICAgICAgICAoV2ViS2l0OjpXZWJI
VFRQQm9keTo6YXNzaWduKToKLSAgICAgICAgKFdlYktpdDo6V2ViSFRUUEJvZHk6OmVsZW1lbnRD
b3VudCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkhUVFBCb2R5OjplbGVtZW50QXQpOgotICAgICAg
ICAoV2ViS2l0OjpXZWJIVFRQQm9keTo6YXBwZW5kRGF0YSk6Ci0gICAgICAgIChXZWJLaXQ6Oldl
YkhUVFBCb2R5OjphcHBlbmRGaWxlKToKLSAgICAgICAgKFdlYktpdDo6V2ViSFRUUEJvZHk6Omlk
ZW50aWZpZXIpOgotICAgICAgICAoV2ViS2l0OjpXZWJIVFRQQm9keTo6c2V0SWRlbnRpZmllcik6
Ci0gICAgICAgIChXZWJLaXQ6OldlYkhUVFBCb2R5OjpXZWJIVFRQQm9keSk6Ci0gICAgICAgIChX
ZWJLaXQ6OldlYkhUVFBCb2R5OjpvcGVyYXRvcj0pOgotICAgICAgICAoV2ViS2l0OjpXZWJIVFRQ
Qm9keTo6b3BlcmF0b3IgUGFzc1JlZlB0cjxGb3JtRGF0YT4pOgotICAgICAgICAoV2ViS2l0OjpX
ZWJIVFRQQm9keTo6ZW5zdXJlTXV0YWJsZSk6Ci0gICAgICAgICogc3JjL1dlYkhpc3RvcnlJdGVt
LmNwcDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYkhpc3RvcnlJdGVtOjppbml0aWFsaXpl
KToKLSAgICAgICAgKFdlYktpdDo6V2ViSGlzdG9yeUl0ZW06OnJlc2V0KToKLSAgICAgICAgKFdl
YktpdDo6V2ViSGlzdG9yeUl0ZW06OmFzc2lnbik6Ci0gICAgICAgIChXZWJLaXQ6OldlYkhpc3Rv
cnlJdGVtOjp1cmxTdHJpbmcpOgotICAgICAgICAoV2ViS2l0OjpXZWJIaXN0b3J5SXRlbTo6c2V0
VVJMU3RyaW5nKToKLSAgICAgICAgKFdlYktpdDo6V2ViSGlzdG9yeUl0ZW06Om9yaWdpbmFsVVJM
U3RyaW5nKToKLSAgICAgICAgKFdlYktpdDo6V2ViSGlzdG9yeUl0ZW06OnNldE9yaWdpbmFsVVJM
U3RyaW5nKToKLSAgICAgICAgKFdlYktpdDo6V2ViSGlzdG9yeUl0ZW06OnJlZmVycmVyKToKLSAg
ICAgICAgKFdlYktpdDo6V2ViSGlzdG9yeUl0ZW06OnNldFJlZmVycmVyKToKLSAgICAgICAgKFdl
YktpdDo6V2ViSGlzdG9yeUl0ZW06OnRhcmdldCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkhpc3Rv
cnlJdGVtOjpzZXRUYXJnZXQpOgotICAgICAgICAoV2ViS2l0OjpXZWJIaXN0b3J5SXRlbTo6cGFy
ZW50KToKLSAgICAgICAgKFdlYktpdDo6V2ViSGlzdG9yeUl0ZW06OnNldFBhcmVudCk6Ci0gICAg
ICAgIChXZWJLaXQ6OldlYkhpc3RvcnlJdGVtOjp0aXRsZSk6Ci0gICAgICAgIChXZWJLaXQ6Oldl
Ykhpc3RvcnlJdGVtOjpzZXRUaXRsZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkhpc3RvcnlJdGVt
OjphbHRlcm5hdGVUaXRsZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkhpc3RvcnlJdGVtOjpzZXRB
bHRlcm5hdGVUaXRsZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkhpc3RvcnlJdGVtOjpsYXN0Vmlz
aXRlZFRpbWUpOgotICAgICAgICAoV2ViS2l0OjpXZWJIaXN0b3J5SXRlbTo6c2V0TGFzdFZpc2l0
ZWRUaW1lKToKLSAgICAgICAgKFdlYktpdDo6V2ViSGlzdG9yeUl0ZW06OnNjcm9sbE9mZnNldCk6
Ci0gICAgICAgIChXZWJLaXQ6OldlYkhpc3RvcnlJdGVtOjpzZXRTY3JvbGxPZmZzZXQpOgotICAg
ICAgICAoV2ViS2l0OjpXZWJIaXN0b3J5SXRlbTo6aXNUYXJnZXRJdGVtKToKLSAgICAgICAgKFdl
YktpdDo6V2ViSGlzdG9yeUl0ZW06OnNldElzVGFyZ2V0SXRlbSk6Ci0gICAgICAgIChXZWJLaXQ6
OldlYkhpc3RvcnlJdGVtOjp2aXNpdENvdW50KToKLSAgICAgICAgKFdlYktpdDo6V2ViSGlzdG9y
eUl0ZW06OnNldFZpc2l0Q291bnQpOgotICAgICAgICAoV2ViS2l0OjpXZWJIaXN0b3J5SXRlbTo6
ZG9jdW1lbnRTdGF0ZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkhpc3RvcnlJdGVtOjpzZXREb2N1
bWVudFN0YXRlKToKLSAgICAgICAgKFdlYktpdDo6V2ViSGlzdG9yeUl0ZW06Omh0dHBDb250ZW50
VHlwZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkhpc3RvcnlJdGVtOjpzZXRIVFRQQ29udGVudFR5
cGUpOgotICAgICAgICAoV2ViS2l0OjpXZWJIaXN0b3J5SXRlbTo6aHR0cEJvZHkpOgotICAgICAg
ICAoV2ViS2l0OjpXZWJIaXN0b3J5SXRlbTo6c2V0SFRUUEJvZHkpOgotICAgICAgICAoV2ViS2l0
OjpXZWJIaXN0b3J5SXRlbTo6Y2hpbGRyZW4pOgotICAgICAgICAoV2ViS2l0OjpXZWJIaXN0b3J5
SXRlbTo6c2V0Q2hpbGRyZW4pOgotICAgICAgICAoV2ViS2l0OjpXZWJIaXN0b3J5SXRlbTo6YXBw
ZW5kVG9DaGlsZHJlbik6Ci0gICAgICAgIChXZWJLaXQ6OldlYkhpc3RvcnlJdGVtOjpXZWJIaXN0
b3J5SXRlbSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkhpc3RvcnlJdGVtOjpvcGVyYXRvcj0pOgot
ICAgICAgICAoV2ViS2l0OjpXZWJIaXN0b3J5SXRlbTo6b3BlcmF0b3IgUGFzc1JlZlB0cjxIaXN0
b3J5SXRlbT4pOgotICAgICAgICAoV2ViS2l0OjpXZWJIaXN0b3J5SXRlbTo6ZW5zdXJlTXV0YWJs
ZSk6Ci0gICAgICAgICogc3JjL1dlYkltYWdlQ0cuY3BwOiBBZGRlZC4KLSAgICAgICAgKFdlYktp
dDo6V2ViSW1hZ2U6OmZyb21EYXRhKToKLSAgICAgICAgKFdlYktpdDo6V2ViSW1hZ2U6OnJlc2V0
KToKLSAgICAgICAgKFdlYktpdDo6V2ViSW1hZ2U6OmFzc2lnbik6Ci0gICAgICAgIChXZWJLaXQ6
OldlYkltYWdlOjppc051bGwpOgotICAgICAgICAoV2ViS2l0OjpXZWJJbWFnZTo6c2l6ZSk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYkltYWdlOjpXZWJJbWFnZSk6Ci0gICAgICAgIChXZWJLaXQ6Oldl
YkltYWdlOjpvcGVyYXRvcj0pOgotICAgICAgICAqIHNyYy9XZWJJbWFnZVNraWEuY3BwOiBBZGRl
ZC4KLSAgICAgICAgKFdlYktpdDo6V2ViSW1hZ2U6OmZyb21EYXRhKToKLSAgICAgICAgKFdlYktp
dDo6V2ViSW1hZ2U6OnJlc2V0KToKLSAgICAgICAgKFdlYktpdDo6V2ViSW1hZ2U6OmFzc2lnbik6
Ci0gICAgICAgIChXZWJLaXQ6OldlYkltYWdlOjppc051bGwpOgotICAgICAgICAoV2ViS2l0OjpX
ZWJJbWFnZTo6c2l6ZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkltYWdlOjpXZWJJbWFnZSk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYkltYWdlOjpvcGVyYXRvcj0pOgotCi0yMDA5LTExLTA5ICBZYWFy
IFNjaG5pdG1hbiAgPHlhYXJAY2hyb21pdW0uc3JjPgotCi0gICAgICAgIFJldmlld2VkIGJ5IERp
bWl0cmkgR2xhemtvdi4KLQotICAgICAgICBVcC1zdHJlYW1pbmcgQ2hyb21pdW0gQVBJIHNyYyBm
aWxlczogV2ViRGF0YS4uLldlYkVsZW1lbnQKLQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzEyNzYKLQotICAgICAgICAqIHNyYy9XZWJEYXRhLmNwcDog
QWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYkRhdGE6OnJlc2V0KToKLSAgICAgICAgKFdlYktp
dDo6V2ViRGF0YTo6YXNzaWduKToKLSAgICAgICAgKFdlYktpdDo6V2ViRGF0YTo6c2l6ZSk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYkRhdGE6OmRhdGEpOgotICAgICAgICAoV2ViS2l0OjpXZWJEYXRh
OjpXZWJEYXRhKToKLSAgICAgICAgKFdlYktpdDo6V2ViRGF0YTo6b3BlcmF0b3I9KToKLSAgICAg
ICAgKFdlYktpdDo6V2ViRGF0YTo6b3BlcmF0b3IgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+KToK
LSAgICAgICAgKiBzcmMvV2ViRGF0YVNvdXJjZUltcGwuY3BwOiBBZGRlZC4KLSAgICAgICAgKFdl
YktpdDo6V2ViRGF0YVNvdXJjZUltcGw6OmNyZWF0ZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkRh
dGFTb3VyY2VJbXBsOjpvcmlnaW5hbFJlcXVlc3QpOgotICAgICAgICAoV2ViS2l0OjpXZWJEYXRh
U291cmNlSW1wbDo6cmVxdWVzdCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkRhdGFTb3VyY2VJbXBs
OjpyZXNwb25zZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkRhdGFTb3VyY2VJbXBsOjpoYXNVbnJl
YWNoYWJsZVVSTCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkRhdGFTb3VyY2VJbXBsOjp1bnJlYWNo
YWJsZVVSTCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkRhdGFTb3VyY2VJbXBsOjpyZWRpcmVjdENo
YWluKToKLSAgICAgICAgKFdlYktpdDo6V2ViRGF0YVNvdXJjZUltcGw6OnBhZ2VUaXRsZSk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYkRhdGFTb3VyY2VJbXBsOjpuYXZpZ2F0aW9uVHlwZSk6Ci0gICAg
ICAgIChXZWJLaXQ6OldlYkRhdGFTb3VyY2VJbXBsOjp0cmlnZ2VyaW5nRXZlbnRUaW1lKToKLSAg
ICAgICAgKFdlYktpdDo6V2ViRGF0YVNvdXJjZUltcGw6OmV4dHJhRGF0YSk6Ci0gICAgICAgIChX
ZWJLaXQ6OldlYkRhdGFTb3VyY2VJbXBsOjpzZXRFeHRyYURhdGEpOgotICAgICAgICAoV2ViS2l0
OjpXZWJEYXRhU291cmNlSW1wbDo6dG9XZWJOYXZpZ2F0aW9uVHlwZSk6Ci0gICAgICAgIChXZWJL
aXQ6OldlYkRhdGFTb3VyY2VJbXBsOjplbmRPZlJlZGlyZWN0Q2hhaW4pOgotICAgICAgICAoV2Vi
S2l0OjpXZWJEYXRhU291cmNlSW1wbDo6Y2xlYXJSZWRpcmVjdENoYWluKToKLSAgICAgICAgKFdl
YktpdDo6V2ViRGF0YVNvdXJjZUltcGw6OmFwcGVuZFJlZGlyZWN0KToKLSAgICAgICAgKFdlYktp
dDo6V2ViRGF0YVNvdXJjZUltcGw6OnNldE5leHRQbHVnaW5Mb2FkT2JzZXJ2ZXIpOgotICAgICAg
ICAoV2ViS2l0OjpXZWJEYXRhU291cmNlSW1wbDo6V2ViRGF0YVNvdXJjZUltcGwpOgotICAgICAg
ICAoV2ViS2l0OjpXZWJEYXRhU291cmNlSW1wbDo6fldlYkRhdGFTb3VyY2VJbXBsKToKLSAgICAg
ICAgKiBzcmMvV2ViRGF0YVNvdXJjZUltcGwuaDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6Oldl
YkRhdGFTb3VyY2VJbXBsOjpmcm9tRG9jdW1lbnRMb2FkZXIpOgotICAgICAgICAoV2ViS2l0OjpX
ZWJEYXRhU291cmNlSW1wbDo6aGFzUmVkaXJlY3RDaGFpbik6Ci0gICAgICAgIChXZWJLaXQ6Oldl
YkRhdGFTb3VyY2VJbXBsOjpyZWxlYXNlUGx1Z2luTG9hZE9ic2VydmVyKToKLSAgICAgICAgKiBz
cmMvV2ViRGF0YWJhc2UuY3BwOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViRGF0YWJhc2U6
OnJlc2V0KToKLSAgICAgICAgKFdlYktpdDo6V2ViRGF0YWJhc2U6OmFzc2lnbik6Ci0gICAgICAg
IChXZWJLaXQ6OldlYkRhdGFiYXNlOjpuYW1lKToKLSAgICAgICAgKFdlYktpdDo6V2ViRGF0YWJh
c2U6OmRpc3BsYXlOYW1lKToKLSAgICAgICAgKFdlYktpdDo6V2ViRGF0YWJhc2U6OmVzdGltYXRl
ZFNpemUpOgotICAgICAgICAoV2ViS2l0OjpXZWJEYXRhYmFzZTo6c2VjdXJpdHlPcmlnaW4pOgot
ICAgICAgICAoV2ViS2l0OjpXZWJEYXRhYmFzZTo6c2V0T2JzZXJ2ZXIpOgotICAgICAgICAoV2Vi
S2l0OjpXZWJEYXRhYmFzZTo6b2JzZXJ2ZXIpOgotICAgICAgICAoV2ViS2l0OjpXZWJEYXRhYmFz
ZTo6dXBkYXRlRGF0YWJhc2VTaXplKToKLSAgICAgICAgKFdlYktpdDo6V2ViRGF0YWJhc2U6Oldl
YkRhdGFiYXNlKToKLSAgICAgICAgKFdlYktpdDo6V2ViRGF0YWJhc2U6Om9wZXJhdG9yPSk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYkRhdGFiYXNlOjpvcGVyYXRvciBXVEY6OlBhc3NSZWZQdHI8RGF0
YWJhc2U+KToKLSAgICAgICAgKiBzcmMvV2ViRGV2VG9vbHNBZ2VudFByaXZhdGUuaDogQWRkZWQu
Ci0gICAgICAgICogc3JjL1dlYkRyYWdEYXRhLmNwcDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6
OldlYkRyYWdEYXRhOjppbml0aWFsaXplKToKLSAgICAgICAgKFdlYktpdDo6V2ViRHJhZ0RhdGE6
OnJlc2V0KToKLSAgICAgICAgKFdlYktpdDo6V2ViRHJhZ0RhdGE6OmFzc2lnbik6Ci0gICAgICAg
IChXZWJLaXQ6OldlYkRyYWdEYXRhOjp1cmwpOgotICAgICAgICAoV2ViS2l0OjpXZWJEcmFnRGF0
YTo6c2V0VVJMKToKLSAgICAgICAgKFdlYktpdDo6V2ViRHJhZ0RhdGE6OnVybFRpdGxlKToKLSAg
ICAgICAgKFdlYktpdDo6V2ViRHJhZ0RhdGE6OnNldFVSTFRpdGxlKToKLSAgICAgICAgKFdlYktp
dDo6V2ViRHJhZ0RhdGE6OmZpbGVFeHRlbnNpb24pOgotICAgICAgICAoV2ViS2l0OjpXZWJEcmFn
RGF0YTo6c2V0RmlsZUV4dGVuc2lvbik6Ci0gICAgICAgIChXZWJLaXQ6OldlYkRyYWdEYXRhOjpo
YXNGaWxlTmFtZXMpOgotICAgICAgICAoV2ViS2l0OjpXZWJEcmFnRGF0YTo6ZmlsZU5hbWVzKToK
LSAgICAgICAgKFdlYktpdDo6V2ViRHJhZ0RhdGE6OnNldEZpbGVOYW1lcyk6Ci0gICAgICAgIChX
ZWJLaXQ6OldlYkRyYWdEYXRhOjphcHBlbmRUb0ZpbGVOYW1lcyk6Ci0gICAgICAgIChXZWJLaXQ6
OldlYkRyYWdEYXRhOjpwbGFpblRleHQpOgotICAgICAgICAoV2ViS2l0OjpXZWJEcmFnRGF0YTo6
c2V0UGxhaW5UZXh0KToKLSAgICAgICAgKFdlYktpdDo6V2ViRHJhZ0RhdGE6Omh0bWxUZXh0KToK
LSAgICAgICAgKFdlYktpdDo6V2ViRHJhZ0RhdGE6OnNldEhUTUxUZXh0KToKLSAgICAgICAgKFdl
YktpdDo6V2ViRHJhZ0RhdGE6Omh0bWxCYXNlVVJMKToKLSAgICAgICAgKFdlYktpdDo6V2ViRHJh
Z0RhdGE6OnNldEhUTUxCYXNlVVJMKToKLSAgICAgICAgKFdlYktpdDo6V2ViRHJhZ0RhdGE6OmZp
bGVDb250ZW50RmlsZU5hbWUpOgotICAgICAgICAoV2ViS2l0OjpXZWJEcmFnRGF0YTo6c2V0Rmls
ZUNvbnRlbnRGaWxlTmFtZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkRyYWdEYXRhOjpmaWxlQ29u
dGVudCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkRyYWdEYXRhOjpzZXRGaWxlQ29udGVudCk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYkRyYWdEYXRhOjpXZWJEcmFnRGF0YSk6Ci0gICAgICAgIChXZWJL
aXQ6OldlYkRyYWdEYXRhOjpvcGVyYXRvcj0pOgotICAgICAgICAoV2ViS2l0OjpXZWJEcmFnRGF0
YTo6b3BlcmF0b3IgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OkNocm9taXVtRGF0YU9iamVjdD4p
OgotICAgICAgICAoV2ViS2l0OjpXZWJEcmFnRGF0YTo6ZW5zdXJlTXV0YWJsZSk6Ci0gICAgICAg
ICogc3JjL1dlYkVsZW1lbnQuY3BwOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViRWxlbWVu
dDo6V2ViRWxlbWVudCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkVsZW1lbnQ6Om9wZXJhdG9yPSk6
Ci0gICAgICAgIChXZWJLaXQ6OldlYkVsZW1lbnQ6Om9wZXJhdG9yIFdURjo6UGFzc1JlZlB0cjxF
bGVtZW50Pik6Ci0KLTIwMDktMTEtMDkgIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVtLm9y
Zz4KLQotICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCi0KLSAgICAgICAgV2Vi
UG8qLmggYW5kIFdlYlJ1bmV0aW1lRmVhdHVyZXMuaCBDaHJvbWl1bSBBUEkgaGVhZGVycy4KLQot
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgzOTQKLQot
ICAgICAgICAqIHB1YmxpYy9XZWJQb2ludC5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2Vi
UG9pbnQ6OldlYlBvaW50KToKLSAgICAgICAgKFdlYktpdDo6V2ViUG9pbnQ6Om9wZXJhdG9yPSk6
Ci0gICAgICAgIChXZWJLaXQ6OldlYlBvaW50OjpvcGVyYXRvciBXZWJDb3JlOjpJbnRQb2ludCk6
Ci0gICAgICAgIChXZWJLaXQ6OldlYlBvaW50OjpvcGVyYXRvciBnZng6OlBvaW50KToKLSAgICAg
ICAgKFdlYktpdDo6b3BlcmF0b3I9PSk6Ci0gICAgICAgIChXZWJLaXQ6Om9wZXJhdG9yIT0pOgot
ICAgICAgICAqIHB1YmxpYy9XZWJQb3B1cE1lbnUuaDogQWRkZWQuCi0gICAgICAgICogcHVibGlj
L1dlYlBvcHVwTWVudUluZm8uaDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVu
dUluZm86Okl0ZW06Oik6Ci0gICAgICAgICogcHVibGljL1dlYlJ1bnRpbWVGZWF0dXJlcy5oOiBB
ZGRlZC4KLQotMjAwOS0xMS0wOSAgTmF0ZSBDaGFwaW4gIDxqYXBoZXRAY2hyb21pdW0ub3JnPgot
Ci0gICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KLQotICAgICAgICBXZWJQYSou
aCBhbmQgV2ViUGwqLmggQ2hyb21pdW0gQVBJIGhlYWRlcnMuCi0KLSAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4Mzk0Ci0KLSAgICAgICAgKiBwdWJsaWMv
V2ViUGFzc3dvcmRBdXRvY29tcGxldGVMaXN0ZW5lci5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktp
dDo6V2ViUGFzc3dvcmRBdXRvY29tcGxldGVMaXN0ZW5lcjo6fldlYlBhc3N3b3JkQXV0b2NvbXBs
ZXRlTGlzdGVuZXIpOgotICAgICAgICAqIHB1YmxpYy9XZWJQYXNzd29yZEZvcm1EYXRhLmg6IEFk
ZGVkLgotICAgICAgICAoV2ViS2l0OjpXZWJQYXNzd29yZEZvcm1EYXRhOjppc1ZhbGlkKToKLSAg
ICAgICAgKiBwdWJsaWMvV2ViUGx1Z2luLmg6IEFkZGVkLgotICAgICAgICAoV2ViS2l0OjpXZWJQ
bHVnaW46On5XZWJQbHVnaW4pOgotICAgICAgICAqIHB1YmxpYy9XZWJQbHVnaW5Db250YWluZXIu
aDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYlBsdWdpbkNvbnRhaW5lcjo6fldlYlBsdWdp
bkNvbnRhaW5lcik6Ci0gICAgICAgICogcHVibGljL1dlYlBsdWdpbkxpc3RCdWlsZGVyLmg6IEFk
ZGVkLgotICAgICAgICAqIHB1YmxpYy9XZWJQbHVnaW5QYXJhbXMuaDogQWRkZWQuCi0KLTIwMDkt
MTEtMDkgIFlhYXIgU2Nobml0bWFuICA8eWFhckBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgUmV2
aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgotCi0gICAgICAgIFVwLXN0cmVhbWluZyBDaHJvbWl1
bSBBUEkgc3JjIGZpbGVzOiBXZWJCaW5kZ2luZyAuLi4gV2ViQ3Vyc29ySW5mbwotCi0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTI3NgotCi0gICAgICAg
ICogc3JjL1dlYkJpbmRpbmdzLmNwcDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYkJpbmRp
bmdzOjpjb25zdHJ1Y3QpOgotICAgICAgICAoV2ViS2l0OjpXZWJCaW5kaW5nczo6Y3JlYXRlT2Jq
ZWN0KToKLSAgICAgICAgKFdlYktpdDo6V2ViQmluZGluZ3M6OmVudW1lcmF0ZSk6Ci0gICAgICAg
IChXZWJLaXQ6OldlYkJpbmRpbmdzOjpldmFsdWF0ZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkJp
bmRpbmdzOjpldmFsdWF0ZUhlbHBlcik6Ci0gICAgICAgIChXZWJLaXQ6OldlYkJpbmRpbmdzOjpn
ZXRJbnRJZGVudGlmaWVyKToKLSAgICAgICAgKFdlYktpdDo6V2ViQmluZGluZ3M6OmdldFByb3Bl
cnR5KToKLSAgICAgICAgKFdlYktpdDo6V2ViQmluZGluZ3M6OmdldFN0cmluZ0lkZW50aWZpZXIp
OgotICAgICAgICAoV2ViS2l0OjpXZWJCaW5kaW5nczo6Z2V0U3RyaW5nSWRlbnRpZmllcnMpOgot
ICAgICAgICAoV2ViS2l0OjpXZWJCaW5kaW5nczo6aGFzTWV0aG9kKToKLSAgICAgICAgKFdlYktp
dDo6V2ViQmluZGluZ3M6Omhhc1Byb3BlcnR5KToKLSAgICAgICAgKFdlYktpdDo6V2ViQmluZGlu
Z3M6OmlkZW50aWZpZXJJc1N0cmluZyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkJpbmRpbmdzOjpp
bnRGcm9tSWRlbnRpZmllcik6Ci0gICAgICAgIChXZWJLaXQ6OldlYkJpbmRpbmdzOjppbml0aWFs
aXplVmFyaWFudFdpdGhTdHJpbmdDb3B5KToKLSAgICAgICAgKFdlYktpdDo6V2ViQmluZGluZ3M6
Omludm9rZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkJpbmRpbmdzOjppbnZva2VEZWZhdWx0KToK
LSAgICAgICAgKFdlYktpdDo6V2ViQmluZGluZ3M6OnJlbGVhc2VPYmplY3QpOgotICAgICAgICAo
V2ViS2l0OjpXZWJCaW5kaW5nczo6cmVsZWFzZVZhcmlhbnRWYWx1ZSk6Ci0gICAgICAgIChXZWJL
aXQ6OldlYkJpbmRpbmdzOjpyZW1vdmVQcm9wZXJ0eSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkJp
bmRpbmdzOjpyZXRhaW5PYmplY3QpOgotICAgICAgICAoV2ViS2l0OjpXZWJCaW5kaW5nczo6c2V0
RXhjZXB0aW9uKToKLSAgICAgICAgKFdlYktpdDo6V2ViQmluZGluZ3M6OnNldFByb3BlcnR5KToK
LSAgICAgICAgKFdlYktpdDo6V2ViQmluZGluZ3M6OnVucmVnaXN0ZXJPYmplY3QpOgotICAgICAg
ICAoV2ViS2l0OjpXZWJCaW5kaW5nczo6dXRmOEZyb21JZGVudGlmaWVyKToKLSAgICAgICAgKFdl
YktpdDo6V2ViQmluZGluZ3M6OmV4dHJhY3RJZGVudGlmaWVyRGF0YSk6Ci0gICAgICAgIChXZWJL
aXQ6OmdldEV2ZW50KToKLSAgICAgICAgKFdlYktpdDo6Z2V0RHJhZ0RhdGFJbXBsKToKLSAgICAg
ICAgKFdlYktpdDo6Z2V0UmFuZ2VJbXBsKToKLSAgICAgICAgKFdlYktpdDo6V2ViQmluZGluZ3M6
OmdldERyYWdEYXRhKToKLSAgICAgICAgKFdlYktpdDo6V2ViQmluZGluZ3M6OmlzRHJhZ0V2ZW50
KToKLSAgICAgICAgKFdlYktpdDo6V2ViQmluZGluZ3M6OmdldFJhbmdlKToKLSAgICAgICAgKiBz
cmMvV2ViQ1N0cmluZy5jcHA6IEFkZGVkLgotICAgICAgICAoV2ViS2l0OjpXZWJDU3RyaW5nOjpy
ZXNldCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkNTdHJpbmc6OmFzc2lnbik6Ci0gICAgICAgIChX
ZWJLaXQ6OldlYkNTdHJpbmc6Omxlbmd0aCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkNTdHJpbmc6
OmRhdGEpOgotICAgICAgICAoV2ViS2l0OjpXZWJDU3RyaW5nOjp1dGYxNik6Ci0gICAgICAgIChX
ZWJLaXQ6OldlYkNTdHJpbmc6OmZyb21VVEYxNik6Ci0gICAgICAgIChXZWJLaXQ6OldlYkNTdHJp
bmc6OldlYkNTdHJpbmcpOgotICAgICAgICAoV2ViS2l0OjpXZWJDU3RyaW5nOjpvcGVyYXRvcj0p
OgotICAgICAgICAoV2ViS2l0OjpXZWJDU3RyaW5nOjpvcGVyYXRvciBXZWJDb3JlOjpDU3RyaW5n
KToKLSAgICAgICAgKiBzcmMvV2ViQ2FjaGUuY3BwOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6
VG9SZXNvdXJjZVR5cGVTdGF0KToKLSAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGU6OnNldENhcGFj
aXRpZXMpOgotICAgICAgICAoV2ViS2l0OjpXZWJDYWNoZTo6Y2xlYXIpOgotICAgICAgICAoV2Vi
S2l0OjpXZWJDYWNoZTo6Z2V0VXNhZ2VTdGF0cyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkNhY2hl
OjpnZXRSZXNvdXJjZVR5cGVTdGF0cyk6Ci0gICAgICAgICogc3JjL1dlYkNvbG9yLmNwcDogQWRk
ZWQuCi0gICAgICAgIChXZWJLaXQ6OnRvQ1NTVmFsdWVLZXl3b3JkKToKLSAgICAgICAgKFdlYktp
dDo6c2V0TmFtZWRDb2xvcnMpOgotICAgICAgICAqIHNyYy9XZWJDcm9zc09yaWdpblByZWZsaWdo
dFJlc3VsdENhY2hlLmNwcDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYkNyb3NzT3JpZ2lu
UHJlZmxpZ2h0UmVzdWx0Q2FjaGU6OmNsZWFyKToKLSAgICAgICAgKiBzcmMvV2ViQ3Vyc29ySW5m
by5jcHA6IEFkZGVkLgotICAgICAgICAoV2ViS2l0OjpXZWJDdXJzb3JJbmZvOjpXZWJDdXJzb3JJ
bmZvKToKLQotMjAwOS0xMS0wOSAgWWFhciBTY2huaXRtYW4gIDx5YWFyQGNocm9taXVtLm9yZz4K
LQotICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCi0KLSAgICAgICAgVXAtc3Ry
ZWFtaW5nIENocm9taXVtIEFQSSBzcmMgZmlsZXM6IFdlYkFjY2Vzc2liaWx0eQotCi0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTI3NgotCi0gICAgICAg
ICogc3JjL1dlYkFjY2Vzc2liaWxpdHlDYWNoZS5jcHA6IEFkZGVkLgotICAgICAgICAoV2ViS2l0
OjpXZWJBY2Nlc3NpYmlsaXR5Q2FjaGU6OmVuYWJsZUFjY2Vzc2liaWxpdHkpOgotICAgICAgICAq
IHNyYy9XZWJBY2Nlc3NpYmlsaXR5Q2FjaGVJbXBsLmNwcDogQWRkZWQuCi0gICAgICAgIChXZWJL
aXQ6OnRvQWNjZXNzaWJpbGl0eU9iamVjdCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2li
aWxpdHlDYWNoZTo6Y3JlYXRlKToKLSAgICAgICAgKFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eUNh
Y2hlSW1wbDo6V2Vha0hhbmRsZTo6Y3JlYXRlKToKLSAgICAgICAgKFdlYktpdDo6V2ViQWNjZXNz
aWJpbGl0eUNhY2hlSW1wbDo6V2Vha0hhbmRsZTo6V2Vha0hhbmRsZSk6Ci0gICAgICAgIChXZWJL
aXQ6OldlYkFjY2Vzc2liaWxpdHlDYWNoZUltcGw6OldlYWtIYW5kbGU6OmRldGFjaCk6Ci0gICAg
ICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlDYWNoZUltcGw6OldlYkFjY2Vzc2liaWxpdHlD
YWNoZUltcGwpOgotICAgICAgICAoV2ViS2l0OjpXZWJBY2Nlc3NpYmlsaXR5Q2FjaGVJbXBsOjp+
V2ViQWNjZXNzaWJpbGl0eUNhY2hlSW1wbCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2li
aWxpdHlDYWNoZUltcGw6OmluaXRpYWxpemUpOgotICAgICAgICAoV2ViS2l0OjpXZWJBY2Nlc3Np
YmlsaXR5Q2FjaGVJbXBsOjpnZXRPYmplY3RCeUlkKToKLSAgICAgICAgKFdlYktpdDo6V2ViQWNj
ZXNzaWJpbGl0eUNhY2hlSW1wbDo6aXNWYWxpZElkKToKLSAgICAgICAgKFdlYktpdDo6V2ViQWNj
ZXNzaWJpbGl0eUNhY2hlSW1wbDo6cmVtb3ZlKToKLSAgICAgICAgKFdlYktpdDo6V2ViQWNjZXNz
aWJpbGl0eUNhY2hlSW1wbDo6Y2xlYXIpOgotICAgICAgICAoV2ViS2l0OjpXZWJBY2Nlc3NpYmls
aXR5Q2FjaGVJbXBsOjphZGRPckdldElkKToKLSAgICAgICAgKiBzcmMvV2ViQWNjZXNzaWJpbGl0
eUNhY2hlSW1wbC5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eUNh
Y2hlSW1wbDo6aXNJbml0aWFsaXplZCk6Ci0gICAgICAgICogc3JjL1dlYkFjY2Vzc2liaWxpdHlP
YmplY3QuY3BwOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVj
dDo6cmVzZXQpOgotICAgICAgICAoV2ViS2l0OjpXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0Ojphc3Np
Z24pOgotICAgICAgICAoV2ViS2l0OjpXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmls
aXR5RGVzY3JpcHRpb24pOgotICAgICAgICAoV2ViS2l0OjpXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
OjphY3Rpb25WZXJiKToKLSAgICAgICAgKFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdDo6
Y2FuU2V0Rm9jdXNBdHRyaWJ1dGUpOgotICAgICAgICAoV2ViS2l0OjpXZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0OjpjaGlsZENvdW50KToKLSAgICAgICAgKFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9i
amVjdDo6Y2hpbGRBdCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3Q6
OmZpcnN0Q2hpbGQpOgotICAgICAgICAoV2ViS2l0OjpXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpm
b2N1c2VkQ2hpbGQpOgotICAgICAgICAoV2ViS2l0OjpXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0Ojps
YXN0Q2hpbGQpOgotICAgICAgICAoV2ViS2l0OjpXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0OjpuZXh0
U2libGluZyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OnBhcmVu
dE9iamVjdCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OnByZXZp
b3VzU2libGluZyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3Q6Omlz
QW5jaG9yKToKLSAgICAgICAgKFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdDo6aXNDaGVj
a2VkKToKLSAgICAgICAgKFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdDo6aXNGb2N1c2Vk
KToKLSAgICAgICAgKFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdDo6aXNFbmFibGVkKToK
LSAgICAgICAgKFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdDo6aXNIb3ZlcmVkKToKLSAg
ICAgICAgKFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdDo6aXNJbmRldGVybWluYXRlKToK
LSAgICAgICAgKFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdDo6aXNNdWx0aVNlbGVjdCk6
Ci0gICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzT2ZmU2NyZWVuKToK
LSAgICAgICAgKFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdDo6aXNQYXNzd29yZEZpZWxk
KToKLSAgICAgICAgKFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdDo6aXNQcmVzc2VkKToK
LSAgICAgICAgKFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdDo6aXNSZWFkT25seSk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzVmlzaXRlZCk6Ci0gICAg
ICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OmJvdW5kaW5nQm94UmVjdCk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OmhlbHBUZXh0KToKLSAgICAg
ICAgKFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdDo6aGl0VGVzdCk6Ci0gICAgICAgIChX
ZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OmtleWJvYXJkU2hvcnRjdXQpOgotICAgICAg
ICAoV2ViS2l0OjpXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0OjpwZXJmb3JtRGVmYXVsdEFjdGlvbik6
Ci0gICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OnJvbGVWYWx1ZSk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmplY3Q6OnN0cmluZ1ZhbHVlKToKLSAg
ICAgICAgKFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdDo6dGl0bGUpOgotICAgICAgICAo
V2ViS2l0OjpXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0OjpXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0KToK
LSAgICAgICAgKFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdDo6b3BlcmF0b3I9KToKLSAg
ICAgICAgKFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdDo6b3BlcmF0b3IgV1RGOjpQYXNz
UmVmUHRyPFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q+KToKLQotMjAwOS0xMS0wOSAgWWFh
ciBTY2huaXRtYW4gIDx5YWFyQGNocm9taXVtLm9yZz4KLQotICAgICAgICBSZXZpZXdlZCBieSBE
aW1pdHJpIEdsYXprb3YuCi0KLSAgICAgICAgVXBzdHJlYW1pbmcgQ2hyb21pdW0gQVBJOiBQbGF0
Zm9ybSBzcGVjaWZpYyBmaWxlcwotCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yODM5NAotCi0gICAgICAgICogcHVibGljL2d0ay9XZWJGb250SW5mby5o
OiBBZGRlZC4KLSAgICAgICAgKiBwdWJsaWMvZ3RrL1dlYklucHV0RXZlbnRGYWN0b3J5Lmg6IEFk
ZGVkLgotICAgICAgICAqIHB1YmxpYy9ndGsvV2ViU2NyZWVuSW5mb0ZhY3RvcnkuaDogQWRkZWQu
Ci0gICAgICAgICogcHVibGljL2xpbnV4L1dlYkZvbnRSZW5kZXJpbmcuaDogQWRkZWQuCi0gICAg
ICAgICogcHVibGljL2xpbnV4L1dlYlNhbmRib3hTdXBwb3J0Lmg6IEFkZGVkLgotICAgICAgICAq
IHB1YmxpYy9tYWMvV2ViSW5wdXRFdmVudEZhY3RvcnkuaDogQWRkZWQuCi0gICAgICAgICogcHVi
bGljL21hYy9XZWJTY3JlZW5JbmZvRmFjdG9yeS5oOiBBZGRlZC4KLSAgICAgICAgKiBwdWJsaWMv
d2luL1dlYklucHV0RXZlbnRGYWN0b3J5Lmg6IEFkZGVkLgotICAgICAgICAqIHB1YmxpYy93aW4v
V2ViU2FuZGJveFN1cHBvcnQuaDogQWRkZWQuCi0gICAgICAgICogcHVibGljL3dpbi9XZWJTY3Jl
ZW5JbmZvRmFjdG9yeS5oOiBBZGRlZC4KLSAgICAgICAgKiBwdWJsaWMvd2luL1dlYlRoZW1lRW5n
aW5lLmg6IEFkZGVkLgotICAgICAgICAqIHB1YmxpYy94MTEvV2ViU2NyZWVuSW5mb0ZhY3Rvcnku
aDogQWRkZWQuCi0KLTIwMDktMTEtMDkgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3Jn
PgotCi0gICAgICAgIFJldmlld2VkIGJ5IERtaXRyeSBUaXRvdi4KLQotICAgICAgICBDaGFuZ2Ug
c3RydWN0IFJlc291cmNlUmVxdWVzdCB0byBjbGFzcyBSZXNvdXJjZVJlcXVlc3QgcGVyCi0gICAg
ICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzUwNjI1LgotCi0gICAgICAgICog
cHVibGljL1dlYlVSTFJlcXVlc3QuaDoKLQotMjAwOS0xMS0wOSAgTmF0ZSBDaGFwaW4gIDxqYXBo
ZXRAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4K
LQotICAgICAgICBVcHN0cmVhbSByZW1haW5pbmcgQ2hyb21pdW0gQVBJIFdlYk4qLmggaGVhZGVy
cy4KLQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjgz
OTQKLQotICAgICAgICAqIHB1YmxpYy9XZWJOb25Db3B5YWJsZS5oOiBBZGRlZC4KLSAgICAgICAg
KFdlYktpdDo6V2ViTm9uQ29weWFibGU6OldlYk5vbkNvcHlhYmxlKToKLSAgICAgICAgKFdlYktp
dDo6V2ViTm9uQ29weWFibGU6On5XZWJOb25Db3B5YWJsZSk6Ci0gICAgICAgICogcHVibGljL1dl
Yk5vdGlmaWNhdGlvbi5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9u
OjpXZWJOb3RpZmljYXRpb24pOgotICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb246On5X
ZWJOb3RpZmljYXRpb24pOgotICAgICAgICAoV2ViS2l0OjpXZWJOb3RpZmljYXRpb246Om9wZXJh
dG9yPSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbjo6ZXF1YWxzKToKLSAgICAg
ICAgKFdlYktpdDo6b3BlcmF0b3I9PSk6Ci0gICAgICAgIChXZWJLaXQ6Om9wZXJhdG9yIT0pOgot
ICAgICAgICAoV2ViS2l0OjpvcGVyYXRvcjwpOgotICAgICAgICAqIHB1YmxpYy9XZWJOb3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYk5v
dGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjazo6fldlYk5vdGlmaWNhdGlvblBlcm1pc3Npb25D
YWxsYmFjayk6Ci0gICAgICAgICogcHVibGljL1dlYk5vdGlmaWNhdGlvblByZXNlbnRlci5oOiBB
ZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uUHJlc2VudGVyOjopOgotCi0y
MDA5LTExLTA5ICBOYXRlIENoYXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAg
UmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgotCi0gICAgICAgIFVwc3RyZWFtIENocm9taXVt
IEFQSSBoZWFkZXJzIFdlYk1lc3NhZ2UgdGhyb3VnaCBXZWJOYXZpZ2F0aW9uLgotCi0gICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODM5NAotCi0gICAgICAg
ICogcHVibGljL1dlYk1lc3NhZ2VQb3J0Q2hhbm5lbC5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktp
dDo6V2ViTWVzc2FnZVBvcnRDaGFubmVsOjp+V2ViTWVzc2FnZVBvcnRDaGFubmVsKToKLSAgICAg
ICAgKiBwdWJsaWMvV2ViTWVzc2FnZVBvcnRDaGFubmVsQ2xpZW50Lmg6IEFkZGVkLgotICAgICAg
ICAoV2ViS2l0OjpXZWJNZXNzYWdlUG9ydENoYW5uZWxDbGllbnQ6On5XZWJNZXNzYWdlUG9ydENo
YW5uZWxDbGllbnQpOgotICAgICAgICAqIHB1YmxpYy9XZWJNaW1lUmVnaXN0cnkuaDogQWRkZWQu
Ci0gICAgICAgIChXZWJLaXQ6OldlYk1pbWVSZWdpc3RyeTo6KToKLSAgICAgICAgKFdlYktpdDo6
V2ViTWltZVJlZ2lzdHJ5Ojp+V2ViTWltZVJlZ2lzdHJ5KToKLSAgICAgICAgKiBwdWJsaWMvV2Vi
TmF2aWdhdGlvblBvbGljeS5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6KToKLSAgICAgICAg
KiBwdWJsaWMvV2ViTmF2aWdhdGlvblR5cGUuaDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6Oik6
Ci0KLTIwMDktMTEtMDkgIFlhYXIgU2Nobml0bWFuICA8eWFhckBjaHJvbWl1bS5vcmc+Ci0KLSAg
ICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgotCi0gICAgICAgIFVwc3RyZWFtaW5n
IHRoZSBDaHJvbWl1bSBXZWJLaXQgQVBJOiBXZWJTY3JlZW5JbmZvIHRvIFdlYlNoYXJlZFdvcmtl
clJlcG8uCi0KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTI4Mzk0Ci0KLSAgICAgICAgKiBwdWJsaWMvV2ViU2NyZWVuSW5mby5oOiBBZGRlZC4KLSAgICAg
ICAgKFdlYktpdDo6V2ViU2NyZWVuSW5mbzo6V2ViU2NyZWVuSW5mbyk6Ci0gICAgICAgICogcHVi
bGljL1dlYlNjcmlwdENvbnRyb2xsZXIuaDogQWRkZWQuCi0gICAgICAgICogcHVibGljL1dlYlNj
cmlwdFNvdXJjZS5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViU2NyaXB0U291cmNlOjpX
ZWJTY3JpcHRTb3VyY2UpOgotICAgICAgICAqIHB1YmxpYy9XZWJTZWFyY2hhYmxlRm9ybURhdGEu
aDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYlNlYXJjaGFibGVGb3JtRGF0YTo6aXNWYWxp
ZCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlNlYXJjaGFibGVGb3JtRGF0YTo6dXJsKToKLSAgICAg
ICAgKFdlYktpdDo6V2ViU2VhcmNoYWJsZUZvcm1EYXRhOjplbmNvZGluZyk6Ci0gICAgICAgICog
cHVibGljL1dlYlNlY3VyaXR5T3JpZ2luLmg6IEFkZGVkLgotICAgICAgICAoV2ViS2l0OjpXZWJT
ZWN1cml0eU9yaWdpbjo6fldlYlNlY3VyaXR5T3JpZ2luKToKLSAgICAgICAgKFdlYktpdDo6V2Vi
U2VjdXJpdHlPcmlnaW46OldlYlNlY3VyaXR5T3JpZ2luKToKLSAgICAgICAgKFdlYktpdDo6V2Vi
U2VjdXJpdHlPcmlnaW46Om9wZXJhdG9yPSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlNlY3VyaXR5
T3JpZ2luOjppc051bGwpOgotICAgICAgICAqIHB1YmxpYy9XZWJTZWN1cml0eVBvbGljeS5oOiBB
ZGRlZC4KLSAgICAgICAgKiBwdWJsaWMvV2ViU2V0dGluZ3MuaDogQWRkZWQuCi0gICAgICAgIChX
ZWJLaXQ6OldlYlNldHRpbmdzOjp+V2ViU2V0dGluZ3MpOgotICAgICAgICAqIHB1YmxpYy9XZWJT
aGFyZWRXb3JrZXIuaDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYlNoYXJlZFdvcmtlcjo6
fldlYlNoYXJlZFdvcmtlcik6Ci0gICAgICAgICogcHVibGljL1dlYlNoYXJlZFdvcmtlclJlcG9z
aXRvcnkuaDogQWRkZWQuCi0KLTIwMDktMTEtMDkgIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9t
aXVtLm9yZz4KLQotICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCi0KLSAgICAg
ICAgVXBzdHJlYW0gQ2hyb21pdW0gQVBJIGhlYWRlcnMgV2Via2l0LmggdGhydSBXZWJNZWRpYVBs
YXllckNsaWVudC5oLgotCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yODM5NAotCi0gICAgICAgICogcHVibGljL1dlYktpdC5oOiBBZGRlZC4KLSAgICAg
ICAgKiBwdWJsaWMvV2ViS2l0Q2xpZW50Lmg6IEFkZGVkLgotICAgICAgICAoV2ViS2l0OjpXZWJL
aXRDbGllbnQ6On5XZWJLaXRDbGllbnQpOgotICAgICAgICAqIHB1YmxpYy9XZWJMb2NhbGl6ZWRT
dHJpbmcuaDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYkxvY2FsaXplZFN0cmluZzo6KToK
LSAgICAgICAgKiBwdWJsaWMvV2ViTWVkaWFQbGF5ZXIuaDogQWRkZWQuCi0gICAgICAgIChXZWJL
aXQ6OldlYlRpbWVSYW5nZTo6V2ViVGltZVJhbmdlKToKLSAgICAgICAgKFdlYktpdDo6V2ViTWVk
aWFQbGF5ZXI6Oik6Ci0gICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVyOjp+V2ViTWVkaWFQ
bGF5ZXIpOgotICAgICAgICAqIHB1YmxpYy9XZWJNZWRpYVBsYXllckFjdGlvbi5oOiBBZGRlZC4K
LSAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFQbGF5ZXJBY3Rpb246Oik6Ci0gICAgICAgIChXZWJL
aXQ6OldlYk1lZGlhUGxheWVyQWN0aW9uOjpXZWJNZWRpYVBsYXllckFjdGlvbik6Ci0gICAgICAg
ICogcHVibGljL1dlYk1lZGlhUGxheWVyQ2xpZW50Lmg6IEFkZGVkLgotICAgICAgICAoV2ViS2l0
OjpXZWJNZWRpYVBsYXllckNsaWVudDo6fldlYk1lZGlhUGxheWVyQ2xpZW50KToKLQotMjAwOS0x
MS0wOSAgTmF0ZSBDaGFwaW4gIDxqYXBoZXRAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFJldmll
d2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KLQotICAgICAgICBVcHN0cmVhbSByZXN0IG9mIFdlYkgq
LmggYW5kIFdlYkkqLmggQ2hyb21pdW0gQVBJIGhlYWRlcnMuCi0KLSAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4Mzk0Ci0KLSAgICAgICAgKiBwdWJsaWMv
V2ViSFRUUEJvZHkuaDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYkhUVFBCb2R5OjpFbGVt
ZW50OjopOgotICAgICAgICAoV2ViS2l0OjpXZWJIVFRQQm9keTo6fldlYkhUVFBCb2R5KToKLSAg
ICAgICAgKFdlYktpdDo6V2ViSFRUUEJvZHk6OldlYkhUVFBCb2R5KToKLSAgICAgICAgKFdlYktp
dDo6V2ViSFRUUEJvZHk6Om9wZXJhdG9yPSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkhUVFBCb2R5
Ojppc051bGwpOgotICAgICAgICAqIHB1YmxpYy9XZWJIVFRQSGVhZGVyVmlzaXRvci5oOiBBZGRl
ZC4KLSAgICAgICAgKFdlYktpdDo6V2ViSFRUUEhlYWRlclZpc2l0b3I6On5XZWJIVFRQSGVhZGVy
VmlzaXRvcik6Ci0gICAgICAgICogcHVibGljL1dlYkhpc3RvcnlJdGVtLmg6IEFkZGVkLgotICAg
ICAgICAoV2ViS2l0OjpXZWJIaXN0b3J5SXRlbTo6fldlYkhpc3RvcnlJdGVtKToKLSAgICAgICAg
KFdlYktpdDo6V2ViSGlzdG9yeUl0ZW06OldlYkhpc3RvcnlJdGVtKToKLSAgICAgICAgKFdlYktp
dDo6V2ViSGlzdG9yeUl0ZW06Om9wZXJhdG9yPSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkhpc3Rv
cnlJdGVtOjppc051bGwpOgotICAgICAgICAqIHB1YmxpYy9XZWJJbWFnZS5oOiBBZGRlZC4KLSAg
ICAgICAgKFdlYktpdDo6V2ViSW1hZ2U6On5XZWJJbWFnZSk6Ci0gICAgICAgIChXZWJLaXQ6Oldl
YkltYWdlOjpXZWJJbWFnZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkltYWdlOjpvcGVyYXRvcj0p
OgotICAgICAgICAoV2ViS2l0OjpXZWJJbWFnZTo6Z2V0U2tCaXRtYXApOgotICAgICAgICAoV2Vi
S2l0OjpXZWJJbWFnZTo6aW5pdCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkltYWdlOjpnZXRDR0lt
YWdlUmVmKToKLSAgICAgICAgKiBwdWJsaWMvV2ViSW5wdXRFdmVudC5oOiBBZGRlZC4KLSAgICAg
ICAgKFdlYktpdDo6V2ViSW5wdXRFdmVudDo6V2ViSW5wdXRFdmVudCk6Ci0gICAgICAgIChXZWJL
aXQ6OldlYklucHV0RXZlbnQ6Oik6Ci0gICAgICAgIChXZWJLaXQ6OldlYklucHV0RXZlbnQ6Omlz
S2V5Ym9hcmRFdmVudFR5cGUpOgotICAgICAgICAoV2ViS2l0OjpXZWJLZXlib2FyZEV2ZW50OjpX
ZWJLZXlib2FyZEV2ZW50KToKLSAgICAgICAgKFdlYktpdDo6V2ViTW91c2VFdmVudDo6KToKLSAg
ICAgICAgKFdlYktpdDo6V2ViTW91c2VFdmVudDo6V2ViTW91c2VFdmVudCk6Ci0gICAgICAgIChX
ZWJLaXQ6OldlYk1vdXNlV2hlZWxFdmVudDo6V2ViTW91c2VXaGVlbEV2ZW50KToKLQotMjAwOS0x
MS0wOSAgWWFhciBTY2huaXRtYW4gIDx5YWFyQGNocm9taXVtLm9yZz4KLQotICAgICAgICBSZXZp
ZXdlZCBieSBFcmljIFNlaWRlbC4KLQotICAgICAgICBVcHN0cmVhbWluZyB0aGUgQ2hyb21pdW0g
V2ViS2l0IEFQSTogV2ViU29ja2V0cyBhbmQgV2ViU3RvcmFnZS4KLQotICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgzOTQKLQotICAgICAgICAqIHB1Ymxp
Yy9XZWJTb2NrZXRTdHJlYW1FcnJvci5oOiBBZGRlZC4KLSAgICAgICAgKiBwdWJsaWMvV2ViU29j
a2V0U3RyZWFtSGFuZGxlLmg6IEFkZGVkLgotICAgICAgICAoV2ViS2l0OjpXZWJTb2NrZXRTdHJl
YW1IYW5kbGU6On5XZWJTb2NrZXRTdHJlYW1IYW5kbGUpOgotICAgICAgICAqIHB1YmxpYy9XZWJT
b2NrZXRTdHJlYW1IYW5kbGVDbGllbnQuaDogQWRkZWQuCi0gICAgICAgICogcHVibGljL1dlYlN0
b3JhZ2VBcmVhLmg6IEFkZGVkLgotICAgICAgICAoV2ViS2l0OjpXZWJTdG9yYWdlQXJlYTo6fldl
YlN0b3JhZ2VBcmVhKToKLSAgICAgICAgKiBwdWJsaWMvV2ViU3RvcmFnZUV2ZW50RGlzcGF0Y2hl
ci5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViU3RvcmFnZUV2ZW50RGlzcGF0Y2hlcjo6
fldlYlN0b3JhZ2VFdmVudERpc3BhdGNoZXIpOgotICAgICAgICAqIHB1YmxpYy9XZWJTdG9yYWdl
TmFtZXNwYWNlLmg6IEFkZGVkLgotICAgICAgICAoV2ViS2l0OjpXZWJTdG9yYWdlTmFtZXNwYWNl
Ojp+V2ViU3RvcmFnZU5hbWVzcGFjZSk6Ci0KLTIwMDktMTEtMDkgIFlhYXIgU2Nobml0bWFuICA8
eWFhckBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292
LgotCi0gICAgICAgIFVwc3RyZWFtaW5nIHRoZSBDaHJvbWl1bSBXZWJLaXQgQVBJOiBXZWJTdHJp
bmcgYW5kIG90aGVyIGJhc2ljIG9iamVjdHMuCi0KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTI4Mzk0Ci0KLSAgICAgICAgKiBwdWJsaWMvV2ViUmFuZ2Uu
aDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYlJhbmdlOjp+V2ViUmFuZ2UpOgotICAgICAg
ICAoV2ViS2l0OjpXZWJSYW5nZTo6V2ViUmFuZ2UpOgotICAgICAgICAoV2ViS2l0OjpXZWJSYW5n
ZTo6b3BlcmF0b3I9KToKLSAgICAgICAgKFdlYktpdDo6V2ViUmFuZ2U6OmlzTnVsbCk6Ci0gICAg
ICAgICogcHVibGljL1dlYlJlY3QuaDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYlJlY3Q6
OmlzRW1wdHkpOgotICAgICAgICAoV2ViS2l0OjpXZWJSZWN0OjpXZWJSZWN0KToKLSAgICAgICAg
KFdlYktpdDo6V2ViUmVjdDo6b3BlcmF0b3I9KToKLSAgICAgICAgKFdlYktpdDo6V2ViUmVjdDo6
b3BlcmF0b3IgV2ViQ29yZTo6SW50UmVjdCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlJlY3Q6Om9w
ZXJhdG9yIGdmeDo6UmVjdCk6Ci0gICAgICAgIChXZWJLaXQ6Om9wZXJhdG9yPT0pOgotICAgICAg
ICAoV2ViS2l0OjpvcGVyYXRvciE9KToKLSAgICAgICAgKiBwdWJsaWMvV2ViU2l6ZS5oOiBBZGRl
ZC4KLSAgICAgICAgKFdlYktpdDo6V2ViU2l6ZTo6aXNFbXB0eSk6Ci0gICAgICAgIChXZWJLaXQ6
OldlYlNpemU6OldlYlNpemUpOgotICAgICAgICAoV2ViS2l0OjpXZWJTaXplOjpvcGVyYXRvcj0p
OgotICAgICAgICAoV2ViS2l0OjpXZWJTaXplOjpvcGVyYXRvciBXZWJDb3JlOjpJbnRTaXplKToK
LSAgICAgICAgKFdlYktpdDo6V2ViU2l6ZTo6b3BlcmF0b3IgZ2Z4OjpTaXplKToKLSAgICAgICAg
KFdlYktpdDo6b3BlcmF0b3I9PSk6Ci0gICAgICAgIChXZWJLaXQ6Om9wZXJhdG9yIT0pOgotICAg
ICAgICAqIHB1YmxpYy9XZWJTdHJpbmcuaDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYlN0
cmluZzo6fldlYlN0cmluZyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlN0cmluZzo6V2ViU3RyaW5n
KToKLSAgICAgICAgKFdlYktpdDo6V2ViU3RyaW5nOjpvcGVyYXRvcj0pOgotICAgICAgICAoV2Vi
S2l0OjpXZWJTdHJpbmc6OmlzRW1wdHkpOgotICAgICAgICAoV2ViS2l0OjpXZWJTdHJpbmc6Omlz
TnVsbCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlN0cmluZzo6b3BlcmF0b3Igc3RyaW5nMTYpOgot
ICAgICAgICAoV2ViS2l0OjpXZWJTdHJpbmc6Om9wZXJhdG9yIE51bGxhYmxlU3RyaW5nMTYpOgot
ICAgICAgICAoV2ViS2l0OjpXZWJTdHJpbmc6OmZyb21VVEY4KToKLQotMjAwOS0xMS0wOSAgWWFh
ciBTY2huaXRtYW4gIDx5YWFyQGNocm9taXVtLm9yZz4KLQotICAgICAgICBSZXZpZXdlZCBieSBF
cmljIFNlaWRlbC4KLQotICAgICAgICBVcHN0cmVhbWluZyB0aGUgQ2hyb21pdW0gV2ViS2l0IEFQ
STogV2ViVGV4dCoKLQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjgzOTQKLQotICAgICAgICAqIHB1YmxpYy9XZWJUZXh0QWZmaW5pdHkuaDogQWRkZWQu
Ci0gICAgICAgIChXZWJLaXQ6Oik6Ci0gICAgICAgICogcHVibGljL1dlYlRleHREaXJlY3Rpb24u
aDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6Oik6Ci0KLTIwMDktMTEtMDkgIE5hdGUgQ2hhcGlu
ICA8amFwaGV0QGNocm9taXVtLm9yZz4KLQotICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEds
YXprb3YuCi0KLSAgICAgICAgVXBzdHJlYW0gcmVtYWluZGVyIG9mIFdlYkUqLmggYW5kIFdlYkYq
LmggQ2hyb21pdW0gQVBJIGhlYWRlcnMuCi0KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTI4Mzk0Ci0KLSAgICAgICAgKiBwdWJsaWMvV2ViRWRpdGluZ0Fj
dGlvbi5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6KToKLSAgICAgICAgKiBwdWJsaWMvV2Vi
RmlsZUNob29zZXJDb21wbGV0aW9uLmg6IEFkZGVkLgotICAgICAgICAoV2ViS2l0OjpXZWJGaWxl
Q2hvb3NlckNvbXBsZXRpb246On5XZWJGaWxlQ2hvb3NlckNvbXBsZXRpb24pOgotICAgICAgICAq
IHB1YmxpYy9XZWJGaW5kT3B0aW9ucy5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViRmlu
ZE9wdGlvbnM6OldlYkZpbmRPcHRpb25zKToKLSAgICAgICAgKiBwdWJsaWMvV2ViRm9udENhY2hl
Lmg6IEFkZGVkLgotICAgICAgICAqIHB1YmxpYy9XZWJGcmFtZS5oOiBBZGRlZC4KLSAgICAgICAg
KFdlYktpdDo6V2ViRnJhbWU6On5XZWJGcmFtZSk6Ci0gICAgICAgICogcHVibGljL1dlYkZyYW1l
Q2xpZW50Lmg6IEFkZGVkLgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNsaWVudDo6Y3JlYXRl
UGx1Z2luKToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVDbGllbnQ6OmNyZWF0ZVdvcmtlcik6
Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1lQ2xpZW50OjpjcmVhdGVTaGFyZWRXb3JrZXIpOgot
ICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNsaWVudDo6Y3JlYXRlTWVkaWFQbGF5ZXIpOgotICAg
ICAgICAoV2ViS2l0OjpXZWJGcmFtZUNsaWVudDo6d2lsbENsb3NlKToKLSAgICAgICAgKFdlYktp
dDo6V2ViRnJhbWVDbGllbnQ6OmxvYWRVUkxFeHRlcm5hbGx5KToKLSAgICAgICAgKFdlYktpdDo6
V2ViRnJhbWVDbGllbnQ6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb24pOgotICAgICAgICAoV2Vi
S2l0OjpXZWJGcmFtZUNsaWVudDo6Y2FuSGFuZGxlUmVxdWVzdCk6Ci0gICAgICAgIChXZWJLaXQ6
OldlYkZyYW1lQ2xpZW50OjpjYW5ub3RIYW5kbGVSZXF1ZXN0RXJyb3IpOgotICAgICAgICAoV2Vi
S2l0OjpXZWJGcmFtZUNsaWVudDo6Y2FuY2VsbGVkRXJyb3IpOgotICAgICAgICAoV2ViS2l0OjpX
ZWJGcmFtZUNsaWVudDo6dW5hYmxlVG9JbXBsZW1lbnRQb2xpY3lXaXRoRXJyb3IpOgotICAgICAg
ICAoV2ViS2l0OjpXZWJGcmFtZUNsaWVudDo6d2lsbFN1Ym1pdEZvcm0pOgotICAgICAgICAoV2Vi
S2l0OjpXZWJGcmFtZUNsaWVudDo6d2lsbFBlcmZvcm1DbGllbnRSZWRpcmVjdCk6Ci0gICAgICAg
IChXZWJLaXQ6OldlYkZyYW1lQ2xpZW50OjpkaWRDYW5jZWxDbGllbnRSZWRpcmVjdCk6Ci0gICAg
ICAgIChXZWJLaXQ6OldlYkZyYW1lQ2xpZW50OjpkaWRDb21wbGV0ZUNsaWVudFJlZGlyZWN0KToK
LSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVDbGllbnQ6OmRpZENyZWF0ZURhdGFTb3VyY2UpOgot
ICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNsaWVudDo6ZGlkU3RhcnRQcm92aXNpb25hbExvYWQp
OgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNsaWVudDo6ZGlkUmVjZWl2ZVNlcnZlclJlZGly
ZWN0Rm9yUHJvdmlzaW9uYWxMb2FkKToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVDbGllbnQ6
OmRpZEZhaWxQcm92aXNpb25hbExvYWQpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNsaWVu
dDo6ZGlkUmVjZWl2ZURvY3VtZW50RGF0YSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1lQ2xp
ZW50OjpkaWRDb21taXRQcm92aXNpb25hbExvYWQpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFt
ZUNsaWVudDo6ZGlkQ2xlYXJXaW5kb3dPYmplY3QpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFt
ZUNsaWVudDo6ZGlkQ3JlYXRlRG9jdW1lbnRFbGVtZW50KToKLSAgICAgICAgKFdlYktpdDo6V2Vi
RnJhbWVDbGllbnQ6OmRpZFJlY2VpdmVUaXRsZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1l
Q2xpZW50OjpkaWRGaW5pc2hEb2N1bWVudExvYWQpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFt
ZUNsaWVudDo6ZGlkSGFuZGxlT25sb2FkRXZlbnRzKToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJh
bWVDbGllbnQ6OmRpZEZhaWxMb2FkKToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVDbGllbnQ6
OmRpZEZpbmlzaExvYWQpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNsaWVudDo6ZGlkQ2hh
bmdlTG9jYXRpb25XaXRoaW5QYWdlKToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVDbGllbnQ6
OmRpZFVwZGF0ZUN1cnJlbnRIaXN0b3J5SXRlbSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1l
Q2xpZW50Ojphc3NpZ25JZGVudGlmaWVyVG9SZXF1ZXN0KToKLSAgICAgICAgKFdlYktpdDo6V2Vi
RnJhbWVDbGllbnQ6OndpbGxTZW5kUmVxdWVzdCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1l
Q2xpZW50OjpkaWRSZWNlaXZlUmVzcG9uc2UpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNs
aWVudDo6ZGlkRmluaXNoUmVzb3VyY2VMb2FkKToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVD
bGllbnQ6OmRpZEZhaWxSZXNvdXJjZUxvYWQpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNs
aWVudDo6ZGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlKToKLSAgICAgICAgKFdlYktpdDo6
V2ViRnJhbWVDbGllbnQ6OmRpZERpc3BsYXlJbnNlY3VyZUNvbnRlbnQpOgotICAgICAgICAoV2Vi
S2l0OjpXZWJGcmFtZUNsaWVudDo6ZGlkUnVuSW5zZWN1cmVDb250ZW50KToKLSAgICAgICAgKFdl
YktpdDo6V2ViRnJhbWVDbGllbnQ6OmFsbG93U2NyaXB0KToKLSAgICAgICAgKFdlYktpdDo6V2Vi
RnJhbWVDbGllbnQ6OmRpZEV4aGF1c3RNZW1vcnlBdmFpbGFibGVGb3JTY3JpcHQpOgotICAgICAg
ICAoV2ViS2l0OjpXZWJGcmFtZUNsaWVudDo6ZGlkQ3JlYXRlU2NyaXB0Q29udGV4dCk6Ci0gICAg
ICAgIChXZWJLaXQ6OldlYkZyYW1lQ2xpZW50OjpkaWREZXN0cm95U2NyaXB0Q29udGV4dCk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYkZyYW1lQ2xpZW50OjpkaWRDcmVhdGVJc29sYXRlZFNjcmlwdENv
bnRleHQpOgotICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNsaWVudDo6ZGlkQ2hhbmdlQ29udGVu
dHNTaXplKToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVDbGllbnQ6OmRpZENoYW5nZVNjcm9s
bE9mZnNldCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1lQ2xpZW50OjpyZXBvcnRGaW5kSW5Q
YWdlTWF0Y2hDb3VudCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkZyYW1lQ2xpZW50OjpyZXBvcnRG
aW5kSW5QYWdlU2VsZWN0aW9uKToKLSAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVDbGllbnQ6On5X
ZWJGcmFtZUNsaWVudCk6Ci0KLTIwMDktMTEtMDkgIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9t
aXVtLm9yZz4KLQotICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCi0KLSAgICAg
ICAgVXBzdHJlYW0gV2ViRGV2VG9vbHMqLmggYW5kIFdlYkRyYWcqLmggQ2hyb21pdW0gQVBJIGhl
YWRlcnMuCi0KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTI4Mzk0Ci0KLSAgICAgICAgKiBwdWJsaWMvV2ViRGV2VG9vbHNBZ2VudC5oOiBBZGRlZC4KLSAg
ICAgICAgKFdlYktpdDo6V2ViRGV2VG9vbHNBZ2VudDo6fldlYkRldlRvb2xzQWdlbnQpOgotICAg
ICAgICAqIHB1YmxpYy9XZWJEZXZUb29sc0FnZW50Q2xpZW50Lmg6IEFkZGVkLgotICAgICAgICAo
V2ViS2l0OjpXZWJEZXZUb29sc0FnZW50Q2xpZW50Ojp+V2ViRGV2VG9vbHNBZ2VudENsaWVudCk6
Ci0gICAgICAgICogcHVibGljL1dlYkRldlRvb2xzRnJvbnRlbmQuaDogQWRkZWQuCi0gICAgICAg
IChXZWJLaXQ6OldlYkRldlRvb2xzRnJvbnRlbmQ6On5XZWJEZXZUb29sc0Zyb250ZW5kKToKLSAg
ICAgICAgKiBwdWJsaWMvV2ViRGV2VG9vbHNGcm9udGVuZENsaWVudC5oOiBBZGRlZC4KLSAgICAg
ICAgKFdlYktpdDo6V2ViRGV2VG9vbHNGcm9udGVuZENsaWVudDo6V2ViRGV2VG9vbHNGcm9udGVu
ZENsaWVudCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkRldlRvb2xzRnJvbnRlbmRDbGllbnQ6On5X
ZWJEZXZUb29sc0Zyb250ZW5kQ2xpZW50KToKLSAgICAgICAgKiBwdWJsaWMvV2ViRHJhZ0RhdGEu
aDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYkRyYWdEYXRhOjp+V2ViRHJhZ0RhdGEpOgot
ICAgICAgICAoV2ViS2l0OjpXZWJEcmFnRGF0YTo6V2ViRHJhZ0RhdGEpOgotICAgICAgICAoV2Vi
S2l0OjpXZWJEcmFnRGF0YTo6b3BlcmF0b3I9KToKLSAgICAgICAgKFdlYktpdDo6V2ViRHJhZ0Rh
dGE6OmlzTnVsbCk6Ci0gICAgICAgICogcHVibGljL1dlYkRyYWdPcGVyYXRpb24uaDogQWRkZWQu
Ci0gICAgICAgIChXZWJLaXQ6Oik6Ci0KLTIwMDktMTEtMDkgIFlhYXIgU2Nobml0bWFuICA8eWFh
ckBjaHJvbWl1bS5vcmc+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292Lgot
Ci0gICAgICAgIFVwc3RyZWFtaW5nIHRoZSBDaHJvbWl1bSBXZWJLaXQgQVBJOiBXZWJVUkwgYW5k
IGZyaWVuZHMuCi0KLSAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTI4Mzk0Ci0KLSAgICAgICAgKiBwdWJsaWMvV2ViVVJMLmg6IEFkZGVkLgotICAgICAgICAo
V2ViS2l0OjpXZWJVUkw6On5XZWJVUkwpOgotICAgICAgICAoV2ViS2l0OjpXZWJVUkw6OldlYlVS
TCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlVSTDo6b3BlcmF0b3I9KToKLSAgICAgICAgKFdlYktp
dDo6V2ViVVJMOjphc3NpZ24pOgotICAgICAgICAoV2ViS2l0OjpXZWJVUkw6OnNwZWMpOgotICAg
ICAgICAoV2ViS2l0OjpXZWJVUkw6OnBhcnNlZCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlVSTDo6
aXNWYWxpZCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlVSTDo6aXNFbXB0eSk6Ci0gICAgICAgIChX
ZWJLaXQ6OldlYlVSTDo6aXNOdWxsKToKLSAgICAgICAgKFdlYktpdDo6V2ViVVJMOjpvcGVyYXRv
ciBHVVJMKToKLSAgICAgICAgKiBwdWJsaWMvV2ViVVJMRXJyb3IuaDogQWRkZWQuCi0gICAgICAg
IChXZWJLaXQ6OldlYlVSTEVycm9yOjpXZWJVUkxFcnJvcik6Ci0gICAgICAgICogcHVibGljL1dl
YlVSTExvYWRlci5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViVVJMTG9hZGVyOjp+V2Vi
VVJMTG9hZGVyKToKLSAgICAgICAgKiBwdWJsaWMvV2ViVVJMTG9hZGVyQ2xpZW50Lmg6IEFkZGVk
LgotICAgICAgICAoV2ViS2l0OjpXZWJVUkxMb2FkZXJDbGllbnQ6On5XZWJVUkxMb2FkZXJDbGll
bnQpOgotICAgICAgICAqIHB1YmxpYy9XZWJVUkxSZXF1ZXN0Lmg6IEFkZGVkLgotICAgICAgICAo
V2ViS2l0OjpXZWJVUkxSZXF1ZXN0OjopOgotICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXF1ZXN0
Ojp+V2ViVVJMUmVxdWVzdCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlVSTFJlcXVlc3Q6OldlYlVS
TFJlcXVlc3QpOgotICAgICAgICAoV2ViS2l0OjpXZWJVUkxSZXF1ZXN0OjpvcGVyYXRvcj0pOgot
ICAgICAgICAqIHB1YmxpYy9XZWJVUkxSZXNwb25zZS5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktp
dDo6V2ViVVJMUmVzcG9uc2U6On5XZWJVUkxSZXNwb25zZSk6Ci0gICAgICAgIChXZWJLaXQ6Oldl
YlVSTFJlc3BvbnNlOjpXZWJVUkxSZXNwb25zZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlVSTFJl
c3BvbnNlOjpvcGVyYXRvcj0pOgotCi0yMDA5LTExLTA5ICBZYWFyIFNjaG5pdG1hbiAgPHlhYXJA
Y2hyb21pdW0ub3JnPgotCi0gICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KLQot
ICAgICAgICBVcHN0cmVhbWluZyB0aGUgQ2hyb21pdW0gV2ViS2l0IEFQSTogV2ViVmVjdG9yIHRv
IFdlYldvcmtlckNsaWVudAotCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yODM5NAotCi0gICAgICAgICogcHVibGljL1dlYlZlY3Rvci5oOiBBZGRlZC4K
LSAgICAgICAgKFdlYktpdDo6V2ViVmVjdG9yOjp+V2ViVmVjdG9yKToKLSAgICAgICAgKFdlYktp
dDo6V2ViVmVjdG9yOjpXZWJWZWN0b3IpOgotICAgICAgICAoV2ViS2l0OjpXZWJWZWN0b3I6Om9w
ZXJhdG9yPSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZlY3Rvcjo6YXNzaWduKToKLSAgICAgICAg
KFdlYktpdDo6V2ViVmVjdG9yOjpzaXplKToKLSAgICAgICAgKFdlYktpdDo6V2ViVmVjdG9yOjpp
c0VtcHR5KToKLSAgICAgICAgKFdlYktpdDo6V2ViVmVjdG9yOjpvcGVyYXRvcltdKToKLSAgICAg
ICAgKFdlYktpdDo6V2ViVmVjdG9yOjpkYXRhKToKLSAgICAgICAgKFdlYktpdDo6V2ViVmVjdG9y
Ojpzd2FwKToKLSAgICAgICAgKFdlYktpdDo6V2ViVmVjdG9yOjppbml0aWFsaXplKToKLSAgICAg
ICAgKFdlYktpdDo6V2ViVmVjdG9yOjppbml0aWFsaXplRnJvbSk6Ci0gICAgICAgIChXZWJLaXQ6
OldlYlZlY3Rvcjo6ZGVzdHJveSk6Ci0gICAgICAgICogcHVibGljL1dlYlZpZXcuaDogQWRkZWQu
Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXc6On5XZWJWaWV3KToKLSAgICAgICAgKiBwdWJsaWMv
V2ViVmlld0NsaWVudC5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0NsaWVudDo6
Y3JlYXRlVmlldyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdDbGllbnQ6OmNyZWF0ZVBvcHVw
TWVudSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdDbGllbnQ6OmRpZEFkZE1lc3NhZ2VUb0Nv
bnNvbGUpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Q2xpZW50OjpwcmludFBhZ2UpOgotICAg
ICAgICAoV2ViS2l0OjpXZWJWaWV3Q2xpZW50Ojpub3RpZmljYXRpb25QcmVzZW50ZXIpOgotICAg
ICAgICAoV2ViS2l0OjpXZWJWaWV3Q2xpZW50OjpkaWRTdGFydExvYWRpbmcpOgotICAgICAgICAo
V2ViS2l0OjpXZWJWaWV3Q2xpZW50OjpkaWRTdG9wTG9hZGluZyk6Ci0gICAgICAgIChXZWJLaXQ6
OldlYlZpZXdDbGllbnQ6OnNob3VsZEJlZ2luRWRpdGluZyk6Ci0gICAgICAgIChXZWJLaXQ6Oldl
YlZpZXdDbGllbnQ6OnNob3VsZEVuZEVkaXRpbmcpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3
Q2xpZW50OjpzaG91bGRJbnNlcnROb2RlKToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0NsaWVu
dDo6c2hvdWxkSW5zZXJ0VGV4dCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdDbGllbnQ6OnNo
b3VsZENoYW5nZVNlbGVjdGVkUmFuZ2UpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Q2xpZW50
OjpzaG91bGREZWxldGVSYW5nZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdDbGllbnQ6OnNo
b3VsZEFwcGx5U3R5bGUpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Q2xpZW50Ojppc1NtYXJ0
SW5zZXJ0RGVsZXRlRW5hYmxlZCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdDbGllbnQ6Omlz
U2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5hYmxlZCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZp
ZXdDbGllbnQ6OnNldElucHV0TWV0aG9kRW5hYmxlZCk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZp
ZXdDbGllbnQ6OmRpZEJlZ2luRWRpdGluZyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdDbGll
bnQ6OmRpZENoYW5nZVNlbGVjdGlvbik6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdDbGllbnQ6
OmRpZENoYW5nZUNvbnRlbnRzKToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0NsaWVudDo6ZGlk
RXhlY3V0ZUNvbW1hbmQpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Q2xpZW50OjpkaWRFbmRF
ZGl0aW5nKToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0NsaWVudDo6aGFuZGxlQ3VycmVudEtl
eWJvYXJkRXZlbnQpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Q2xpZW50OjpzcGVsbENoZWNr
KToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0NsaWVudDo6YXV0b0NvcnJlY3RXb3JkKToKLSAg
ICAgICAgKFdlYktpdDo6V2ViVmlld0NsaWVudDo6c2hvd1NwZWxsaW5nVUkpOgotICAgICAgICAo
V2ViS2l0OjpXZWJWaWV3Q2xpZW50Ojppc1Nob3dpbmdTcGVsbGluZ1VJKToKLSAgICAgICAgKFdl
YktpdDo6V2ViVmlld0NsaWVudDo6dXBkYXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVsbGVkV29yZCk6
Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdDbGllbnQ6OnJ1bkZpbGVDaG9vc2VyKToKLSAgICAg
ICAgKFdlYktpdDo6V2ViVmlld0NsaWVudDo6cnVuTW9kYWxBbGVydERpYWxvZyk6Ci0gICAgICAg
IChXZWJLaXQ6OldlYlZpZXdDbGllbnQ6OnJ1bk1vZGFsQ29uZmlybURpYWxvZyk6Ci0gICAgICAg
IChXZWJLaXQ6OldlYlZpZXdDbGllbnQ6OnJ1bk1vZGFsUHJvbXB0RGlhbG9nKToKLSAgICAgICAg
KFdlYktpdDo6V2ViVmlld0NsaWVudDo6cnVuTW9kYWxCZWZvcmVVbmxvYWREaWFsb2cpOgotICAg
ICAgICAoV2ViS2l0OjpXZWJWaWV3Q2xpZW50OjpzZXRTdGF0dXNUZXh0KToKLSAgICAgICAgKFdl
YktpdDo6V2ViVmlld0NsaWVudDo6c2V0TW91c2VPdmVyVVJMKToKLSAgICAgICAgKFdlYktpdDo6
V2ViVmlld0NsaWVudDo6c2V0S2V5Ym9hcmRGb2N1c1VSTCk6Ci0gICAgICAgIChXZWJLaXQ6Oldl
YlZpZXdDbGllbnQ6OnNldFRvb2xUaXBUZXh0KToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0Ns
aWVudDo6c2hvd0NvbnRleHRNZW51KToKLSAgICAgICAgKFdlYktpdDo6V2ViVmlld0NsaWVudDo6
c3RhcnREcmFnZ2luZyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdDbGllbnQ6OmFjY2VwdHNM
b2FkRHJvcHMpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Q2xpZW50Ojpmb2N1c05leHQpOgot
ICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Q2xpZW50Ojpmb2N1c1ByZXZpb3VzKToKLSAgICAgICAg
KFdlYktpdDo6V2ViVmlld0NsaWVudDo6bmF2aWdhdGVCYWNrRm9yd2FyZFNvb24pOgotICAgICAg
ICAoV2ViS2l0OjpXZWJWaWV3Q2xpZW50OjpoaXN0b3J5QmFja0xpc3RDb3VudCk6Ci0gICAgICAg
IChXZWJLaXQ6OldlYlZpZXdDbGllbnQ6Omhpc3RvcnlGb3J3YXJkTGlzdENvdW50KToKLSAgICAg
ICAgKFdlYktpdDo6V2ViVmlld0NsaWVudDo6ZGlkQWRkSGlzdG9yeUl0ZW0pOgotICAgICAgICAo
V2ViS2l0OjpXZWJWaWV3Q2xpZW50Ojpmb2N1c0FjY2Vzc2liaWxpdHlPYmplY3QpOgotICAgICAg
ICAoV2ViS2l0OjpXZWJWaWV3Q2xpZW50OjpkaWRVcGRhdGVJbnNwZWN0b3JTZXR0aW5ncyk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYlZpZXdDbGllbnQ6OnF1ZXJ5QXV0b2ZpbGxTdWdnZXN0aW9ucyk6
Ci0gICAgICAgIChXZWJLaXQ6OldlYlZpZXdDbGllbnQ6OnJlbW92ZUF1dG9maWxsU3VnZ2VzdGlv
bnMpOgotICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Q2xpZW50Ojp+V2ViVmlld0NsaWVudCk6Ci0g
ICAgICAgICogcHVibGljL1dlYldpZGdldC5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2Vi
V2lkZ2V0Ojp+V2ViV2lkZ2V0KToKLSAgICAgICAgKiBwdWJsaWMvV2ViV2lkZ2V0Q2xpZW50Lmg6
IEFkZGVkLgotICAgICAgICAoV2ViS2l0OjpXZWJXaWRnZXRDbGllbnQ6OmRpZEludmFsaWRhdGVS
ZWN0KToKLSAgICAgICAgKFdlYktpdDo6V2ViV2lkZ2V0Q2xpZW50OjpkaWRTY3JvbGxSZWN0KToK
LSAgICAgICAgKFdlYktpdDo6V2ViV2lkZ2V0Q2xpZW50OjpkaWRGb2N1cyk6Ci0gICAgICAgIChX
ZWJLaXQ6OldlYldpZGdldENsaWVudDo6ZGlkQmx1cik6Ci0gICAgICAgIChXZWJLaXQ6OldlYldp
ZGdldENsaWVudDo6ZGlkQ2hhbmdlQ3Vyc29yKToKLSAgICAgICAgKFdlYktpdDo6V2ViV2lkZ2V0
Q2xpZW50OjpjbG9zZVdpZGdldFNvb24pOgotICAgICAgICAoV2ViS2l0OjpXZWJXaWRnZXRDbGll
bnQ6OnNob3cpOgotICAgICAgICAoV2ViS2l0OjpXZWJXaWRnZXRDbGllbnQ6OnJ1bk1vZGFsKToK
LSAgICAgICAgKFdlYktpdDo6V2ViV2lkZ2V0Q2xpZW50Ojp3aW5kb3dSZWN0KToKLSAgICAgICAg
KFdlYktpdDo6V2ViV2lkZ2V0Q2xpZW50OjpzZXRXaW5kb3dSZWN0KToKLSAgICAgICAgKFdlYktp
dDo6V2ViV2lkZ2V0Q2xpZW50Ojp3aW5kb3dSZXNpemVyUmVjdCk6Ci0gICAgICAgIChXZWJLaXQ6
OldlYldpZGdldENsaWVudDo6cm9vdFdpbmRvd1JlY3QpOgotICAgICAgICAoV2ViS2l0OjpXZWJX
aWRnZXRDbGllbnQ6OnNjcmVlbkluZm8pOgotICAgICAgICAoV2ViS2l0OjpXZWJXaWRnZXRDbGll
bnQ6On5XZWJXaWRnZXRDbGllbnQpOgotICAgICAgICAqIHB1YmxpYy9XZWJXb3JrZXIuaDogQWRk
ZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYldvcmtlcjo6fldlYldvcmtlcik6Ci0gICAgICAgICog
cHVibGljL1dlYldvcmtlckNsaWVudC5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViV29y
a2VyQ2xpZW50Ojp+V2ViV29ya2VyQ2xpZW50KToKLQotMjAwOS0xMS0wOSAgTmF0ZSBDaGFwaW4g
IDxqYXBoZXRAY2hyb21pdW0ub3JnPgotCi0gICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xh
emtvdi4KLQotICAgICAgICBVcHN0cmVhbSBXZWJEYXRhKi5oIENocm9taXVtIEFQSSBmaWxlcy4K
LQotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgzOTQK
LQotICAgICAgICAqIHB1YmxpYy9XZWJEYXRhLmg6IEFkZGVkLgotICAgICAgICAoV2ViS2l0OjpX
ZWJEYXRhOjp+V2ViRGF0YSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkRhdGE6OldlYkRhdGEpOgot
ICAgICAgICAoV2ViS2l0OjpXZWJEYXRhOjpvcGVyYXRvcj0pOgotICAgICAgICAoV2ViS2l0OjpX
ZWJEYXRhOjppc0VtcHR5KToKLSAgICAgICAgKFdlYktpdDo6V2ViRGF0YTo6aXNOdWxsKToKLSAg
ICAgICAgKiBwdWJsaWMvV2ViRGF0YVNvdXJjZS5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6
V2ViRGF0YVNvdXJjZTo6RXh0cmFEYXRhOjp+RXh0cmFEYXRhKToKLSAgICAgICAgKFdlYktpdDo6
V2ViRGF0YVNvdXJjZTo6fldlYkRhdGFTb3VyY2UpOgotICAgICAgICAqIHB1YmxpYy9XZWJEYXRh
YmFzZS5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViRGF0YWJhc2U6OldlYkRhdGFiYXNl
KToKLSAgICAgICAgKFdlYktpdDo6V2ViRGF0YWJhc2U6On5XZWJEYXRhYmFzZSk6Ci0gICAgICAg
IChXZWJLaXQ6OldlYkRhdGFiYXNlOjpvcGVyYXRvcj0pOgotICAgICAgICAoV2ViS2l0OjpXZWJE
YXRhYmFzZTo6aXNOdWxsKToKLSAgICAgICAgKiBwdWJsaWMvV2ViRGF0YWJhc2VPYnNlcnZlci5o
OiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViRGF0YWJhc2VPYnNlcnZlcjo6fldlYkRhdGFi
YXNlT2JzZXJ2ZXIpOgotCi0yMDA5LTExLTA5ICBOYXRlIENoYXBpbiAgPGphcGhldEBjaHJvbWl1
bS5vcmc+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgotCi0gICAgICAg
IFVwc3RyZWFtIHRoZSBsYXN0IG9mIHRoZSBDaHJvbWl1bSBBUEkgV2ViQyouaCBmaWxlcy4KLQot
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgzOTQKLQot
ICAgICAgICAqIHB1YmxpYy9XZWJDb25zb2xlTWVzc2FnZS5oOiBBZGRlZC4KLSAgICAgICAgKFdl
YktpdDo6V2ViQ29uc29sZU1lc3NhZ2U6Oik6Ci0gICAgICAgIChXZWJLaXQ6OldlYkNvbnNvbGVN
ZXNzYWdlOjpXZWJDb25zb2xlTWVzc2FnZSk6Ci0gICAgICAgICogcHVibGljL1dlYkNvbnRleHRN
ZW51RGF0YS5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dE1lbnVEYXRhOjop
OgotICAgICAgICAqIHB1YmxpYy9XZWJDb29raWUuaDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6
OldlYkNvb2tpZTo6V2ViQ29va2llKToKLSAgICAgICAgKiBwdWJsaWMvV2ViQ3Jvc3NPcmlnaW5Q
cmVmbGlnaHRSZXN1bHRDYWNoZS5oOiBBZGRlZC4KLSAgICAgICAgKiBwdWJsaWMvV2ViQ3Vyc29y
SW5mby5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViQ3Vyc29ySW5mbzo6KToKLSAgICAg
ICAgKFdlYktpdDo6V2ViQ3Vyc29ySW5mbzo6V2ViQ3Vyc29ySW5mbyk6Ci0KLTIwMDktMTEtMDkg
IE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KLQotICAgICAgICBSZXZpZXdlZCBi
eSBEaW1pdHJpIEdsYXprb3YuCi0KLSAgICAgICAgTW9yZSBXZWJDKi5oIHVwc3RyZWFtaW5nLgot
Ci0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODM5NAot
Ci0gICAgICAgICogcHVibGljL1dlYkNTdHJpbmcuaDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6
OldlYkNTdHJpbmc6On5XZWJDU3RyaW5nKToKLSAgICAgICAgKFdlYktpdDo6V2ViQ1N0cmluZzo6
V2ViQ1N0cmluZyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkNTdHJpbmc6Om9wZXJhdG9yPSk6Ci0g
ICAgICAgIChXZWJLaXQ6OldlYkNTdHJpbmc6OmlzRW1wdHkpOgotICAgICAgICAoV2ViS2l0OjpX
ZWJDU3RyaW5nOjppc051bGwpOgotICAgICAgICAoV2ViS2l0OjpXZWJDU3RyaW5nOjpvcGVyYXRv
ciBzdGQ6OnN0cmluZyk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkNTdHJpbmc6OmZyb21VVEYxNik6
Ci0gICAgICAgICogcHVibGljL1dlYkNvbG9yTmFtZS5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktp
dDo6KToKLSAgICAgICAgKiBwdWJsaWMvV2ViQ29tbW9uLmg6IEFkZGVkLgotICAgICAgICAqIHB1
YmxpYy9XZWJDb21tb25Xb3JrZXJDbGllbnQuaDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6Oldl
YkNvbW1vbldvcmtlckNsaWVudDo6fldlYkNvbW1vbldvcmtlckNsaWVudCk6Ci0gICAgICAgICog
cHVibGljL1dlYkNvbXBvc2l0aW9uQ29tbWFuZC5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6
KToKLQotMjAwOS0xMS0wOSAgWWFhciBTY2huaXRtYW4gIDx5YWFyQGNocm9taXVtLm9yZz4KLQot
ICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCi0KLSAgICAgICAgVXBzdHJlYW1p
bmcgdGhlIENocm9taXVtIFdlYktpdCBBUEk6IFdlYk5vZGUuaCBhbmQgZnJpZW5kcyBhcmUgdGhp
biB3cmFwcGVycyBhcm91bmQgV2ViQ29yZTo6Tm9kZXMKLQotICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgzOTQKLQotICAgICAgICAqIHB1YmxpYy9XZWJF
bGVtZW50Lmg6IEFkZGVkLgotICAgICAgICAoV2ViS2l0OjpXZWJFbGVtZW50OjpXZWJFbGVtZW50
KToKLSAgICAgICAgKFdlYktpdDo6V2ViRWxlbWVudDo6b3BlcmF0b3I9KToKLSAgICAgICAgKFdl
YktpdDo6V2ViRWxlbWVudDo6YXNzaWduKToKLSAgICAgICAgKiBwdWJsaWMvV2ViRm9ybUVsZW1l
bnQuaDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYkZvcm1FbGVtZW50Ojp+V2ViRm9ybUVs
ZW1lbnQpOgotICAgICAgICAoV2ViS2l0OjpXZWJGb3JtRWxlbWVudDo6V2ViRm9ybUVsZW1lbnQp
OgotICAgICAgICAoV2ViS2l0OjpXZWJGb3JtRWxlbWVudDo6b3BlcmF0b3I9KToKLSAgICAgICAg
KFdlYktpdDo6V2ViRm9ybUVsZW1lbnQ6OmFzc2lnbik6Ci0gICAgICAgICogcHVibGljL1dlYklu
cHV0RWxlbWVudC5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViSW5wdXRFbGVtZW50OjpX
ZWJJbnB1dEVsZW1lbnQpOgotICAgICAgICAoV2ViS2l0OjpXZWJJbnB1dEVsZW1lbnQ6Om9wZXJh
dG9yPSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYklucHV0RWxlbWVudDo6YXNzaWduKToKLSAgICAg
ICAgKiBwdWJsaWMvV2ViTm9kZS5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6V2ViTm9kZTo6
fldlYk5vZGUpOgotICAgICAgICAoV2ViS2l0OjpXZWJOb2RlOjpXZWJOb2RlKToKLSAgICAgICAg
KFdlYktpdDo6V2ViTm9kZTo6b3BlcmF0b3I9KToKLSAgICAgICAgKFdlYktpdDo6V2ViTm9kZTo6
aXNOdWxsKToKLSAgICAgICAgKFdlYktpdDo6V2ViTm9kZTo6dG9FbGVtZW50KToKLSAgICAgICAg
KFdlYktpdDo6V2ViTm9kZTo6dW53cmFwKToKLSAgICAgICAgKFdlYktpdDo6V2ViTm9kZTo6Y29u
c3RVbndyYXApOgotCi0yMDA5LTExLTA5ICBOYXRlIENoYXBpbiAgPGphcGhldEBjaHJvbWl1bS5v
cmc+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgotCi0gICAgICAgIFdl
YktpdCBDaHJvbWl1bSBBUEkgdXBzdHJlYW1pbmcsIFdlYkJpbmRpbmdzLmggdGhyb3VnaCBXZWJD
b2xvci5oLgotCi0gICAgICAgICogcHVibGljL1dlYkJpbmRpbmdzLmg6IEFkZGVkLgotICAgICAg
ICAqIHB1YmxpYy9XZWJDYWNoZS5oOiBBZGRlZC4KLSAgICAgICAgKiBwdWJsaWMvV2ViQ2FudmFz
Lmg6IEFkZGVkLgotICAgICAgICAqIHB1YmxpYy9XZWJDbGlwYm9hcmQuaDogQWRkZWQuCi0gICAg
ICAgIChXZWJLaXQ6OldlYkNsaXBib2FyZDo6KToKLSAgICAgICAgKFdlYktpdDo6V2ViQ2xpcGJv
YXJkOjp+V2ViQ2xpcGJvYXJkKToKLSAgICAgICAgKiBwdWJsaWMvV2ViQ29sb3IuaDogQWRkZWQu
Ci0KLTIwMDktMTEtMDkgIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVtLm9yZz4KLQotICAg
ICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCi0KLSAgICAgICAgU3RhcnRpbmcgdXBz
dHJlYW1pbmcgdGhlIENocm9taXVtIFdlYktpdCBBUEkuICBwdWJsaWMvIGNvbnRhaW5zIGhlYWRl
ciBmaWxlcyBvbmx5LgotCi0gICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yODM5NAotCi0gICAgICAgICogQ2hhbmdlTG9nOiBGaXJzdCEhCi0gICAgICAgICog
cHVibGljOiBBZGRlZC4KLSAgICAgICAgKiBwdWJsaWMvV2ViQWNjZXNzaWJpbGl0eUNhY2hlLmg6
IEFkZGVkLgotICAgICAgICAoV2ViS2l0OjpXZWJBY2Nlc3NpYmlsaXR5Q2FjaGU6OldlYkFjY2Vz
c2liaWxpdHlDYWNoZSk6Ci0gICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlDYWNoZTo6
fldlYkFjY2Vzc2liaWxpdHlDYWNoZSk6Ci0gICAgICAgICogcHVibGljL1dlYkFjY2Vzc2liaWxp
dHlPYmplY3QuaDogQWRkZWQuCi0gICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmpl
Y3Q6On5XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0KToKLSAgICAgICAgKFdlYktpdDo6V2ViQWNjZXNz
aWJpbGl0eU9iamVjdDo6V2ViQWNjZXNzaWJpbGl0eU9iamVjdCk6Ci0gICAgICAgIChXZWJLaXQ6
OldlYkFjY2Vzc2liaWxpdHlPYmplY3Q6Om9wZXJhdG9yPSk6Ci0gICAgICAgIChXZWJLaXQ6Oldl
YkFjY2Vzc2liaWxpdHlPYmplY3Q6OmlzTnVsbCk6Ci0gICAgICAgICogcHVibGljL1dlYkFjY2Vz
c2liaWxpdHlSb2xlLmg6IEFkZGVkLgotICAgICAgICAoV2ViS2l0OjopOgotICAgICAgICAqIHB1
YmxpYy9XZWJBcHBsaWNhdGlvbkNhY2hlSG9zdC5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktpdDo6
V2ViQXBwbGljYXRpb25DYWNoZUhvc3Q6Oik6Ci0gICAgICAgIChXZWJLaXQ6OldlYkFwcGxpY2F0
aW9uQ2FjaGVIb3N0Ojp+V2ViQXBwbGljYXRpb25DYWNoZUhvc3QpOgotICAgICAgICAqIHB1Ymxp
Yy9XZWJBcHBsaWNhdGlvbkNhY2hlSG9zdENsaWVudC5oOiBBZGRlZC4KLSAgICAgICAgKFdlYktp
dDo6V2ViQXBwbGljYXRpb25DYWNoZUhvc3RDbGllbnQ6On5XZWJBcHBsaWNhdGlvbkNhY2hlSG9z
dENsaWVudCk6CisgICAgICAgIChXZWJLaXQ6OkF1dG9jb21wbGV0ZVBvcHVwTWVudUNsaWVudDo6
QXV0b2NvbXBsZXRlUG9wdXBNZW51QwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSW5wdXRFbGVtZW50LmggYi9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYklucHV0RWxlbWVudC5oCmluZGV4IGQ4YzhjZTczMzc0NTM5NWZi
ODhmOTY2YjBkNTQ5ZDI0ZDE5YjFhNzIuLmVmM2I1NzcwOGM4NzU4ZDdlMzRhYjc2ZTI0NDk5Mjkw
NjMxMmMzMGEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSW5wdXRFbGVt
ZW50LmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEVsZW1lbnQuaApAQCAt
OTksNiArOTksNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKICAgICAgICAgV0VCS0lUX0FQSSB2b2lk
IHNldFNlbGVjdGlvblJhbmdlKGludCwgaW50KTsKICAgICAgICAgV0VCS0lUX0FQSSBpbnQgc2Vs
ZWN0aW9uU3RhcnQoKTsKICAgICAgICAgV0VCS0lUX0FQSSBpbnQgc2VsZWN0aW9uRW5kKCk7Cisg
ICAgICAgIFdFQktJVF9BUEkgYm9vbCBpc1ZhbGlkVmFsdWUoY29uc3QgV2ViU3RyaW5nJikgY29u
c3Q7CiAKICNpZiBXRUJLSVRfSU1QTEVNRU5UQVRJT04KICAgICAgICAgV2ViSW5wdXRFbGVtZW50
KGNvbnN0IFdURjo6UGFzc1JlZlB0cjxXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50PiYpOwpkaWZm
IC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEVsZW1lbnQuY3BwIGIvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJJbnB1dEVsZW1lbnQuY3BwCmluZGV4IDNiODgzMzU0ODE1MGVhODA5
NzNhMzViZTg5YmI1NzJiZGQ4NjVlZDAuLjdiZjY0MDdjYTlmM2U5MzliNGQzZTcwYzgxODZkMDIy
YzY3YzlmMzEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFbGVtZW50
LmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklucHV0RWxlbWVudC5jcHAKQEAgLTE0
MCw2ICsxNDAsMTEgQEAgaW50IFdlYklucHV0RWxlbWVudDo6c2VsZWN0aW9uRW5kKCkKICAgICBy
ZXR1cm4gdW53cmFwPEhUTUxJbnB1dEVsZW1lbnQ+KCktPnNlbGVjdGlvbkVuZCgpOwogfQogCiti
b29sIFdlYklucHV0RWxlbWVudDo6aXNWYWxpZFZhbHVlKGNvbnN0IFdlYlN0cmluZyYgdmFsdWUp
IGNvbnN0Cit7CisgICAgcmV0dXJuIGNvbnN0VW53cmFwPEhUTUxJbnB1dEVsZW1lbnQ+KCktPmlz
VmFsaWRWYWx1ZSh2YWx1ZSk7Cit9CisKIFdlYklucHV0RWxlbWVudDo6V2ViSW5wdXRFbGVtZW50
KGNvbnN0IFBhc3NSZWZQdHI8SFRNTElucHV0RWxlbWVudD4mIGVsZW0pCiAgICAgOiBXZWJGb3Jt
Q29udHJvbEVsZW1lbnQoZWxlbSkKIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63549</attachid>
            <date>2010-08-04 21:47:09 -0700</date>
            <delta_ts>2010-08-29 22:18:59 -0700</delta_ts>
            <desc>Patch 3</desc>
            <filename>bug-43537-20100805134707.patch</filename>
            <type>text/plain</type>
            <size>25385</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZDczOGQ2YWIzNmJkYzExMmI2MjdlMmZmZTIwODFiNDQ2Y2RiMjM3Mi4uNGFlNWFhZDc5N2I3ZWFm
ZGFhNDJlYTBmMzFjYzYxNjM3OWQzNDhkZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NCBAQAorMjAxMC0wOC0wNCAgS2Vu
dCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgSW50cm9kdWNlIGlzVmFsaWRWYWx1ZShjb25zdCBTdHJp
bmcmKSBvZiBIVE1MSW5wdXRFbGVtZW50IGFuZCBIVE1MVGV4dEFyZWFFbGVtZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzUzNworCisgICAgICAg
IGlzVmFsaWRWYWx1ZSgpIGlzIHVzZWZ1bCBmb3IgYnJvd3NlciBpbXBsZW1lbnRhdGlvbnMgdG8g
cHJvcG9zZQorICAgICAgICBmb3JtIGZpZWxkIHZhbHVlcyB3aXRob3V0IGJyZWFraW5nIGZvcm0g
dmFsaWRpdHkuCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXNlIGZ1bmN0aW9ucyBh
cmUgbm90IGV4cG9zZWQgdG8gSmF2YVNjcmlwdC4KKworICAgICAgICAqIGh0bWwvSFRNTEZvcm1D
b250cm9sRWxlbWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRGb3JtQ29udHJvbEVs
ZW1lbnQ6Oik6CisgICAgICAgICBSZW1vdmUgdmlydHVhbCB2YWx1ZU1pc3NpbmcoKSwgcGF0dGVy
bk1pc21hdGNoKCksIGFuZCB0b29Mb25nKCkuCisgICAgICAgICogaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzVmFsaWRDb2xvclN0cmluZyk6IE1vdmVkIGZy
b20gVmFsaWRpdHlTdGF0ZS4KKyAgICAgICAgKFdlYkNvcmU6OmlzVmFsaWRFbWFpbEFkZHJlc3Mp
OiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ6OmlzVmFsaWRWYWx1
ZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6dHlwZU1pc21h
dGNoKTogQWRkIGEgU3RyaW5nIHBhcmFtZXRlci4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1
dEVsZW1lbnQ6OnZhbHVlTWlzc2luZyk6IEFkZCBhIFN0cmluZyBwYXJhbWV0ZXIuCisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpwYXR0ZXJuTWlzbWF0Y2gpOiBBZGQgYSBTdHJp
bmcgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6dG9vTG9u
Zyk6IEFkZCBTdHJpbmcgYW5kIE5lZWRzVG9DaGVja0RpcnR5RmxhZyBwYXJhbWV0ZXJzLgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6cmFuZ2VVbmRlcmZsb3cpOiBBZGQgYSBT
dHJpbmcgcGFyYW1ldGVyLgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6cmFu
Z2VPdmVyZmxvdyk6IEFkZCBhIFN0cmluZyBwYXJhbWV0ZXIuCisgICAgICAgIChXZWJDb3JlOjpI
VE1MSW5wdXRFbGVtZW50OjpzdGVwTWlzbWF0Y2gpOiBBZGQgYSBTdHJpbmcgcGFyYW1ldGVyLgor
ICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTFRl
eHRBcmVhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGV4dEFyZWFFbGVtZW50
Ojp0b29Mb25nKTogQWRkIFN0cmluZyBhbmQgTmVlZHNUb0NoZWNrRGlydHlGbGFnIHBhcmFtZXRl
cnMuCisgICAgICAgIChXZWJDb3JlOjpIVE1MVGV4dEFyZWFFbGVtZW50Ojppc1ZhbGlkVmFsdWUp
OiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxUZXh0QXJlYUVsZW1lbnQ6OnZhbHVlTWlzc2luZyk6CisgICAgICAgICog
aHRtbC9WYWxpZGl0eVN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkaXR5U3RhdGU6
OnZhbHVlTWlzc2luZyk6IENhbGxzIHZhbHVlTWlzc2luZygpIG9mIEhUTUxJbnB1dEVsZW1lbnQg
b3IgSFRNTFRleHRBcmVhRWxlbWVudC4KKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkaXR5U3RhdGU6
OnR5cGVNaXNtYXRjaCk6IFBhc3NlcyB2YWx1ZSgpIHRvIEhUTUxJbnB1dEVsZW1lbnQ6OnR5cGVN
aXNtYXRjaCgpLgorICAgICAgICAoV2ViQ29yZTo6VmFsaWRpdHlTdGF0ZTo6cGF0dGVybk1pc21h
dGNoKTogQ2FsbHMgcGF0dGVybk1pc21hdGNoKCkgb2YgSFRNTElucHV0RWxlbWVudC4KKyAgICAg
ICAgKFdlYkNvcmU6OlZhbGlkaXR5U3RhdGU6OnRvb0xvbmcpOiBDYWxscyB2YWx1ZU1pc3Npbmco
KSBvZiBIVE1MSW5wdXRFbGVtZW50IG9yIEhUTUxUZXh0QXJlYUVsZW1lbnQuCisgICAgICAgIChX
ZWJDb3JlOjpWYWxpZGl0eVN0YXRlOjpyYW5nZVVuZGVyZmxvdyk6IFBhc3NlcyB2YWx1ZSgpIHRv
IEhUTUxJbnB1dEVsZW1lbnQ6OnJhbmdlVW5kZXJmbG93KCkuCisgICAgICAgIChXZWJDb3JlOjpW
YWxpZGl0eVN0YXRlOjpyYW5nZU92ZXJmbG93KTogUGFzc2VzIHZhbHVlKCkgdG8gSFRNTElucHV0
RWxlbWVudDo6cmFuZ2VVbmRlcmZsb3coKS4KKyAgICAgICAgKFdlYkNvcmU6OlZhbGlkaXR5U3Rh
dGU6OnN0ZXBNaXNtYXRjaCk6IFBhc3NlcyB2YWx1ZSgpIHRvIEhUTUxJbnB1dEVsZW1lbnQ6OnN0
ZXBNaXNtYXRjaCgpLgorICAgICAgICAqIGh0bWwvVmFsaWRpdHlTdGF0ZS5oOgorCiAyMDEwLTA4
LTAzICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAg
ICBCdWlsZCBmaXggZm9sbG93aW5nIHI2NDYyNC4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9I
VE1MRm9ybUNvbnRyb2xFbGVtZW50LmggYi9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxl
bWVudC5oCmluZGV4IDAyZWE0ZTc4NDlmMDU3NDQ5MWY4NGFhMjBlOTA4MWRhM2Y1MDFhNDIuLjk0
NjhjNTVmNzlmYjA1MDQ3M2EwYzgxNTI1MmZjMjc5NGZhY2I2NGEgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxG
b3JtQ29udHJvbEVsZW1lbnQuaApAQCAtODgsOSArODgsNiBAQCBwdWJsaWM6CiAgICAgLy8gVGhp
cyBtdXN0IGJlIGNhbGxlZCB3aGVuIGEgdmFsaWRhdGlvbiBjb25zdHJhaW50IG9yIGNvbnRyb2wg
dmFsdWUgaXMgY2hhbmdlZC4KICAgICB2b2lkIHNldE5lZWRzVmFsaWRpdHlDaGVjaygpOwogICAg
IHZvaWQgc2V0Q3VzdG9tVmFsaWRpdHkoY29uc3QgU3RyaW5nJik7Ci0gICAgdmlydHVhbCBib29s
IHZhbHVlTWlzc2luZygpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBib29s
IHBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCBi
b29sIHRvb0xvbmcoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgdm9pZCBmb3JtRGVz
dHJveWVkKCkgeyBtX2Zvcm0gPSAwOyB9CiAKQEAgLTE3OCw2ICsxNzUsMTIgQEAgcHJpdmF0ZToK
IC8vIEZJWE1FOiBHaXZlIHRoaXMgY2xhc3MgaXRzIG93biBoZWFkZXIgZmlsZS4KIGNsYXNzIEhU
TUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50IDogcHVibGljIEhUTUxGb3JtQ29udHJvbEVsZW1lbnRX
aXRoU3RhdGUgewogcHVibGljOgorICAgIC8vIENvbW1vbiBmbGFnIGZvciBIVE1MSW5wdXRFbGVt
ZW50Ojp0b29Mb25nKCkgYW5kIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnRvb0xvbmcoKS4KKyAgICBl
bnVtIE5lZWRzVG9DaGVja0RpcnR5RmxhZyB7CisgICAgICAgIENoZWNrRGlydHlGbGFnLAorICAg
ICAgICBJZ25vcmVEaXJ0eUZsYWcsCisgICAgfTsKKwogICAgIHZpcnR1YWwgfkhUTUxUZXh0Rm9y
bUNvbnRyb2xFbGVtZW50KCk7CiAKICAgICBTdHJpbmcgc3RyaXBwZWRQbGFjZWhvbGRlcigpIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwIGIvV2Vi
Q29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IGI0ZTU0NTIzYjM4NmU1NzFlODE5
YTI4ZmJmNWZhMGJmZThkMmM5MjIuLjlmMDQ4M2EyNzBjMmZiMDEwYjU2MWZjMjk0YWZkZjQ3NjIx
OWNkNzMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysg
Yi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTEwOCwxMiArMTA4LDQ0IEBA
IHN0YXRpYyBjb25zdCBkb3VibGUgd2Vla0RlZmF1bHRTdGVwQmFzZSA9IC0yNTkyMDAwMDAuMDsg
Ly8gVGhlIGZpcnN0IGRheSBvZiAxOTcwCiBzdGF0aWMgY29uc3QgZG91YmxlIG1zZWNQZXJNaW51
dGUgPSA2MCAqIDEwMDA7CiBzdGF0aWMgY29uc3QgZG91YmxlIG1zZWNQZXJTZWNvbmQgPSAxMDAw
OwogCitzdGF0aWMgY29uc3QgY2hhciBlbWFpbFBhdHRlcm5bXSA9CisgICAgIlthLXowLTkhIyQl
JicqKy89P15fYHt8fX4uLV0rIiAvLyBsb2NhbCBwYXJ0CisgICAgIkAiCisgICAgIlthLXowLTkt
XSsoXFwuW2EtejAtOS1dKykrIjsgLy8gZG9tYWluIHBhcnQKKwogc3RhdGljIGJvb2wgaXNOdW1i
ZXJDaGFyYWN0ZXIoVUNoYXIgY2gpCiB7CiAgICAgcmV0dXJuIGNoID09ICcrJyB8fCBjaCA9PSAn
LScgfHwgY2ggPT0gJy4nIHx8IGNoID09ICdlJyB8fCBjaCA9PSAnRScKICAgICAgICAgfHwgKGNo
ID49ICcwJyAmJiBjaCA8PSAnOScpOwogfQogCitzdGF0aWMgYm9vbCBpc1ZhbGlkQ29sb3JTdHJp
bmcoY29uc3QgU3RyaW5nJiB2YWx1ZSkKK3sKKyAgICBpZiAodmFsdWUuaXNFbXB0eSgpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKHZhbHVlWzBdID09ICcjJykgeworICAgICAgICAv
LyBXZSBkb24ndCBhY2NlcHQgI3JnYiBhbmQgI2FhcnJnZ2JiIGZvcm1hdHMuCisgICAgICAgIGlm
ICh2YWx1ZS5sZW5ndGgoKSAhPSA3KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
KyAgICBDb2xvciBjb2xvcih2YWx1ZSk7IC8vIFRoaXMgYWNjZXB0cyBuYW1lZCBjb2xvcnMgc3Vj
aCBhcyAid2hpdGUiLgorICAgIHJldHVybiBjb2xvci5pc1ZhbGlkKCkgJiYgIWNvbG9yLmhhc0Fs
cGhhKCk7Cit9CisKK3N0YXRpYyBib29sIGlzVmFsaWRFbWFpbEFkZHJlc3MoY29uc3QgU3RyaW5n
JiBhZGRyZXNzKQoreworICAgIGludCBhZGRyZXNzTGVuZ3RoID0gYWRkcmVzcy5sZW5ndGgoKTsK
KyAgICBpZiAoIWFkZHJlc3NMZW5ndGgpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIERF
RklORV9TVEFUSUNfTE9DQUwoY29uc3QgUmVndWxhckV4cHJlc3Npb24sIHJlZ0V4cCwgKGVtYWls
UGF0dGVybiwgVGV4dENhc2VJbnNlbnNpdGl2ZSkpOworCisgICAgaW50IG1hdGNoTGVuZ3RoOwor
ICAgIGludCBtYXRjaE9mZnNldCA9IHJlZ0V4cC5tYXRjaChhZGRyZXNzLCAwLCAmbWF0Y2hMZW5n
dGgpOworCisgICAgcmV0dXJuICFtYXRjaE9mZnNldCAmJiBtYXRjaExlbmd0aCA9PSBhZGRyZXNz
TGVuZ3RoOworfQorCiBIVE1MSW5wdXRFbGVtZW50OjpIVE1MSW5wdXRFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2N1bWVudCwgSFRNTEZvcm1FbGVtZW50
KiBmb3JtKQogICAgIDogSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQodGFnTmFtZSwgZG9jdW1l
bnQsIGZvcm0pCiAgICAgLCBtX3hQb3MoMCkKQEAgLTIwNSw3ICsyMzcsNjUgQEAgdm9pZCBIVE1M
SW5wdXRFbGVtZW50Ojp1cGRhdGVDaGVja2VkUmFkaW9CdXR0b25zKCkKICAgICAgICAgcmVuZGVy
ZXIoKS0+dGhlbWUoKS0+c3RhdGVDaGFuZ2VkKHJlbmRlcmVyKCksIENoZWNrZWRTdGF0ZSk7CiB9
CiAKLWJvb2wgSFRNTElucHV0RWxlbWVudDo6dmFsdWVNaXNzaW5nKCkgY29uc3QKK2Jvb2wgSFRN
TElucHV0RWxlbWVudDo6aXNWYWxpZFZhbHVlKGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0Cit7
CisgICAgaWYgKGlucHV0VHlwZSgpID09IENIRUNLQk9YIHx8IGlucHV0VHlwZSgpID09IEZJTEUg
fHwgaW5wdXRUeXBlKCkgPT0gUkFESU8pIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0dXJuICF0eXBlTWlzbWF0Y2go
dmFsdWUpICYmICFzdGVwTWlzbWF0Y2godmFsdWUpICYmICFyYW5nZVVuZGVyZmxvdyh2YWx1ZSkK
KyAgICAgICAgJiYgIXJhbmdlT3ZlcmZsb3codmFsdWUpICYmICF0b29Mb25nKHZhbHVlLCBJZ25v
cmVEaXJ0eUZsYWcpCisgICAgICAgICYmICFwYXR0ZXJuTWlzbWF0Y2godmFsdWUpICYmICF2YWx1
ZU1pc3NpbmcodmFsdWUpOworfQorCitib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnR5cGVNaXNtYXRj
aChjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAoreworICAgIHN3aXRjaCAoaW5wdXRUeXBlKCkp
IHsKKyAgICBjYXNlIENPTE9SOgorICAgICAgICByZXR1cm4gIWlzVmFsaWRDb2xvclN0cmluZyh2
YWx1ZSk7CisgICAgY2FzZSBOVU1CRVI6CisgICAgICAgIHJldHVybiAhcGFyc2VUb0RvdWJsZUZv
ck51bWJlclR5cGUodmFsdWUsIDApOworICAgIGNhc2UgVVJMOgorICAgICAgICByZXR1cm4gIUtV
UkwoS1VSTCgpLCB2YWx1ZSkuaXNWYWxpZCgpOworICAgIGNhc2UgRU1BSUw6IHsKKyAgICAgICAg
aWYgKCFtdWx0aXBsZSgpKQorICAgICAgICAgICAgcmV0dXJuICFpc1ZhbGlkRW1haWxBZGRyZXNz
KHZhbHVlKTsKKyAgICAgICAgVmVjdG9yPFN0cmluZz4gYWRkcmVzc2VzOworICAgICAgICB2YWx1
ZS5zcGxpdCgnLCcsIGFkZHJlc3Nlcyk7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBhZGRyZXNzZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGlmICghaXNWYWxpZEVtYWls
QWRkcmVzcyhhZGRyZXNzZXNbaV0pKQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
ICAgICB9CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgY2FzZSBEQVRFOgorICAg
IGNhc2UgREFURVRJTUU6CisgICAgY2FzZSBEQVRFVElNRUxPQ0FMOgorICAgIGNhc2UgTU9OVEg6
CisgICAgY2FzZSBUSU1FOgorICAgIGNhc2UgV0VFSzoKKyAgICAgICAgcmV0dXJuICFwYXJzZVRv
RGF0ZUNvbXBvbmVudHMoaW5wdXRUeXBlKCksIHZhbHVlLCAwKTsKKyAgICBjYXNlIEJVVFRPTjoK
KyAgICBjYXNlIENIRUNLQk9YOgorICAgIGNhc2UgRklMRToKKyAgICBjYXNlIEhJRERFTjoKKyAg
ICBjYXNlIElNQUdFOgorICAgIGNhc2UgSVNJTkRFWDoKKyAgICBjYXNlIFBBU1NXT1JEOgorICAg
IGNhc2UgUkFESU86CisgICAgY2FzZSBSQU5HRToKKyAgICBjYXNlIFJFU0VUOgorICAgIGNhc2Ug
U0VBUkNIOgorICAgIGNhc2UgU1VCTUlUOgorICAgIGNhc2UgVEVMRVBIT05FOgorICAgIGNhc2Ug
VEVYVDoKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgSFRNTElucHV0RWxlbWVudDo6dmFs
dWVNaXNzaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0CiB7CiAgICAgaWYgKCFpc1JlcXVp
cmVkRm9ybUNvbnRyb2woKSB8fCByZWFkT25seSgpIHx8IGRpc2FibGVkKCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKQEAgLTIyNSw3ICszMTUsNyBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnZh
bHVlTWlzc2luZygpIGNvbnN0CiAgICAgY2FzZSBUSU1FOgogICAgIGNhc2UgVVJMOgogICAgIGNh
c2UgV0VFSzoKLSAgICAgICAgcmV0dXJuIHZhbHVlKCkuaXNFbXB0eSgpOworICAgICAgICByZXR1
cm4gdmFsdWUuaXNFbXB0eSgpOwogICAgIGNhc2UgQ0hFQ0tCT1g6CiAgICAgICAgIHJldHVybiAh
Y2hlY2tlZCgpOwogICAgIGNhc2UgUkFESU86CkBAIC0yNDYsMTIgKzMzNiwxMSBAQCBib29sIEhU
TUxJbnB1dEVsZW1lbnQ6OnZhbHVlTWlzc2luZygpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCi1ib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0Citib29s
IEhUTUxJbnB1dEVsZW1lbnQ6OnBhdHRlcm5NaXNtYXRjaChjb25zdCBTdHJpbmcmIHZhbHVlKSBj
b25zdAogewogICAgIGlmICghaXNUZXh0VHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgY29uc3QgQXRvbWljU3RyaW5nJiBwYXR0ZXJuID0gZ2V0QXR0cmlidXRlKHBhdHRlcm5BdHRy
KTsKLSAgICBTdHJpbmcgdmFsdWUgPSB0aGlzLT52YWx1ZSgpOwogICAgIC8vIEVtcHR5IHZhbHVl
cyBjYW4ndCBiZSBtaXNtYXRjaGVkCiAgICAgaWYgKHBhdHRlcm4uaXNFbXB0eSgpIHx8IHZhbHVl
LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMjYyLDcgKzM1MSw3IEBAIGJv
b2wgSFRNTElucHV0RWxlbWVudDo6cGF0dGVybk1pc21hdGNoKCkgY29uc3QKICAgICByZXR1cm4g
bWF0Y2hPZmZzZXQgfHwgbWF0Y2hMZW5ndGggIT0gdmFsdWVMZW5ndGg7CiB9CiAKLWJvb2wgSFRN
TElucHV0RWxlbWVudDo6dG9vTG9uZygpIGNvbnN0Citib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnRv
b0xvbmcoY29uc3QgU3RyaW5nJiB2YWx1ZSwgTmVlZHNUb0NoZWNrRGlydHlGbGFnIGNoZWNrKSBj
b25zdAogewogICAgIC8vIFdlIHVzZSBpc1RleHRUeXBlKCkgaW5zdGVhZCBvZiBzdXBwb3J0c01h
eExlbmd0aCgpIGJlY2F1c2Ugb2YgdGhlCiAgICAgLy8gJ3ZpcnR1YWwnIG92ZXJoZWFkLgpAQCAt
MjcxLDE0ICszNjAsMTYgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50Ojp0b29Mb25nKCkgY29uc3QK
ICAgICBpbnQgbWF4ID0gbWF4TGVuZ3RoKCk7CiAgICAgaWYgKG1heCA8IDApCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICAvLyBSZXR1cm4gZmFsc2UgZm9yIHRoZSBkZWZhdWx0IHZhbHVlIGV2
ZW4gaWYgaXQgaXMgbG9uZ2VyIHRoYW4gbWF4TGVuZ3RoLgotICAgIGJvb2wgdXNlckVkaXRlZCA9
ICFtX2RhdGEudmFsdWUoKS5pc051bGwoKTsKLSAgICBpZiAoIXVzZXJFZGl0ZWQpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gbnVtR3JhcGhlbWVDbHVzdGVycyh2YWx1ZSgpKSA+
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihtYXgpOworICAgIGlmIChjaGVjayA9PSBDaGVja0RpcnR5
RmxhZykgeworICAgICAgICAvLyBSZXR1cm4gZmFsc2UgZm9yIHRoZSBkZWZhdWx0IHZhbHVlIGV2
ZW4gaWYgaXQgaXMgbG9uZ2VyIHRoYW4gbWF4TGVuZ3RoLgorICAgICAgICBib29sIHVzZXJFZGl0
ZWQgPSAhbV9kYXRhLnZhbHVlKCkuaXNOdWxsKCk7CisgICAgICAgIGlmICghdXNlckVkaXRlZCkK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0dXJuIG51bUdyYXBoZW1l
Q2x1c3RlcnModmFsdWUpID4gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1heCk7CiB9CiAKLWJvb2wg
SFRNTElucHV0RWxlbWVudDo6cmFuZ2VVbmRlcmZsb3coKSBjb25zdAorYm9vbCBIVE1MSW5wdXRF
bGVtZW50OjpyYW5nZVVuZGVyZmxvdyhjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAogewogICAg
IGNvbnN0IGRvdWJsZSBuYW4gPSBudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKTsK
ICAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7CkBAIC0yODksMTEgKzM4MCwxMSBAQCBib29sIEhU
TUxJbnB1dEVsZW1lbnQ6OnJhbmdlVW5kZXJmbG93KCkgY29uc3QKICAgICBjYXNlIE5VTUJFUjoK
ICAgICBjYXNlIFRJTUU6CiAgICAgY2FzZSBXRUVLOiB7Ci0gICAgICAgIGRvdWJsZSBkb3VibGVW
YWx1ZSA9IHBhcnNlVG9Eb3VibGUodmFsdWUoKSwgbmFuKTsKKyAgICAgICAgZG91YmxlIGRvdWJs
ZVZhbHVlID0gcGFyc2VUb0RvdWJsZSh2YWx1ZSwgbmFuKTsKICAgICAgICAgcmV0dXJuIGlzZmlu
aXRlKGRvdWJsZVZhbHVlKSAmJiBkb3VibGVWYWx1ZSA8IG1pbmltdW0oKTsKICAgICB9CiAgICAg
Y2FzZSBSQU5HRTogLy8gR3VhcmFudGVlZCBieSBzYW5pdGl6YXRpb24uCi0gICAgICAgIEFTU0VS
VChwYXJzZVRvRG91YmxlKHZhbHVlKCksIG5hbikgPj0gbWluaW11bSgpKTsKKyAgICAgICAgQVNT
RVJUKHBhcnNlVG9Eb3VibGUodmFsdWUsIG5hbikgPj0gbWluaW11bSgpKTsKICAgICBjYXNlIEJV
VFRPTjoKICAgICBjYXNlIENIRUNLQk9YOgogICAgIGNhc2UgQ09MT1I6CkBAIC0zMTUsNyArNDA2
LDcgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpyYW5nZVVuZGVyZmxvdygpIGNvbnN0CiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCi1ib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnJhbmdlT3ZlcmZsb3co
KSBjb25zdAorYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpyYW5nZU92ZXJmbG93KGNvbnN0IFN0cmlu
ZyYgdmFsdWUpIGNvbnN0CiB7CiAgICAgY29uc3QgZG91YmxlIG5hbiA9IG51bWVyaWNfbGltaXRz
PGRvdWJsZT46OnF1aWV0X05hTigpOwogICAgIHN3aXRjaCAoaW5wdXRUeXBlKCkpIHsKQEAgLTMy
NiwxMSArNDE3LDExIEBAIGJvb2wgSFRNTElucHV0RWxlbWVudDo6cmFuZ2VPdmVyZmxvdygpIGNv
bnN0CiAgICAgY2FzZSBOVU1CRVI6CiAgICAgY2FzZSBUSU1FOgogICAgIGNhc2UgV0VFSzogewot
ICAgICAgICBkb3VibGUgZG91YmxlVmFsdWUgPSBwYXJzZVRvRG91YmxlKHZhbHVlKCksIG5hbik7
CisgICAgICAgIGRvdWJsZSBkb3VibGVWYWx1ZSA9IHBhcnNlVG9Eb3VibGUodmFsdWUsIG5hbik7
CiAgICAgICAgIHJldHVybiBpc2Zpbml0ZShkb3VibGVWYWx1ZSkgJiYgZG91YmxlVmFsdWUgPiBt
YXhpbXVtKCk7CiAgICAgfQogICAgIGNhc2UgUkFOR0U6IC8vIEd1YXJhbnRlZWQgYnkgc2FuaXRp
emF0aW9uLgotICAgICAgICBBU1NFUlQocGFyc2VUb0RvdWJsZSh2YWx1ZSgpLCBuYW4pIDw9IG1h
eGltdW0oKSk7CisgICAgICAgIEFTU0VSVChwYXJzZVRvRG91YmxlKHZhbHVlLCBuYW4pIDw9IG1h
eGltdW0oKSk7CiAgICAgY2FzZSBCVVRUT046CiAgICAgY2FzZSBDSEVDS0JPWDoKICAgICBjYXNl
IENPTE9SOgpAQCAtNDc1LDcgKzU2Niw3IEBAIGRvdWJsZSBIVE1MSW5wdXRFbGVtZW50OjpzdGVw
QmFzZSgpIGNvbnN0CiAgICAgcmV0dXJuIDAuMDsKIH0KIAotYm9vbCBIVE1MSW5wdXRFbGVtZW50
OjpzdGVwTWlzbWF0Y2goKSBjb25zdAorYm9vbCBIVE1MSW5wdXRFbGVtZW50OjpzdGVwTWlzbWF0
Y2goY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29uc3QKIHsKICAgICBkb3VibGUgc3RlcDsKICAgICBp
ZiAoIWdldEFsbG93ZWRWYWx1ZVN0ZXAoJnN0ZXApKQpAQCAtNDg4LDcgKzU3OSw3IEBAIGJvb2wg
SFRNTElucHV0RWxlbWVudDo6c3RlcE1pc21hdGNoKCkgY29uc3QKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIGNhc2UgTlVNQkVSOiB7CiAgICAgICAgIGRvdWJsZSBkb3VibGVWYWx1ZTsKLSAg
ICAgICAgaWYgKCFwYXJzZVRvRG91YmxlRm9yTnVtYmVyVHlwZSh2YWx1ZSgpLCAmZG91YmxlVmFs
dWUpKQorICAgICAgICBpZiAoIXBhcnNlVG9Eb3VibGVGb3JOdW1iZXJUeXBlKHZhbHVlLCAmZG91
YmxlVmFsdWUpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBkb3VibGVWYWx1
ZSA9IGZhYnMoZG91YmxlVmFsdWUgLSBzdGVwQmFzZSgpKTsKICAgICAgICAgaWYgKGlzaW5mKGRv
dWJsZVZhbHVlKSkKQEAgLTUxMCw3ICs2MDEsNyBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnN0
ZXBNaXNtYXRjaCgpIGNvbnN0CiAgICAgY2FzZSBUSU1FOgogICAgIGNhc2UgV0VFSzogewogICAg
ICAgICBjb25zdCBkb3VibGUgbmFuID0gbnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFO
KCk7Ci0gICAgICAgIGRvdWJsZSBkb3VibGVWYWx1ZSA9IHBhcnNlVG9Eb3VibGUodmFsdWUoKSwg
bmFuKTsKKyAgICAgICAgZG91YmxlIGRvdWJsZVZhbHVlID0gcGFyc2VUb0RvdWJsZSh2YWx1ZSwg
bmFuKTsKICAgICAgICAgZG91YmxlVmFsdWUgPSBmYWJzKGRvdWJsZVZhbHVlIC0gc3RlcEJhc2Uo
KSk7CiAgICAgICAgIGlmICghaXNmaW5pdGUoZG91YmxlVmFsdWUpKQogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaCBi
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmgKaW5kZXggNzJhYzU4OTRjMDYzNTVlNWZk
NzJhOWE4ZDU2YmE5ZDhmZjdhNWE3NC4uMGU4ZmFjYjM2Mzk4ZWY5NjQyMTQ0NjQ2NjVjMzNlYmMy
ZGE3NWRkZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuaAorKysg
Yi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5oCkBAIC03NSw4ICs3NSwxMyBAQCBwdWJs
aWM6CiAgICAgYm9vbCBhdXRvQ29tcGxldGUoKSBjb25zdDsKIAogICAgIC8vIEZvciBWYWxpZGl0
eVN0YXRlCi0gICAgYm9vbCByYW5nZVVuZGVyZmxvdygpIGNvbnN0OwotICAgIGJvb2wgcmFuZ2VP
dmVyZmxvdygpIGNvbnN0OworICAgIGJvb2wgdHlwZU1pc21hdGNoKGNvbnN0IFN0cmluZyYpIGNv
bnN0OworICAgIC8vIHZhbHVlTWlzc2luZygpIGlnbm9yZXMgdGhlIHNwZWNpZmllZCBzdHJpbmcg
dmFsdWUgZm9yIENIRUNLQk9YIGFuZCBSQURJTy4KKyAgICBib29sIHZhbHVlTWlzc2luZyhjb25z
dCBTdHJpbmcmKSBjb25zdDsKKyAgICBib29sIHBhdHRlcm5NaXNtYXRjaChjb25zdCBTdHJpbmcm
KSBjb25zdDsKKyAgICBib29sIHRvb0xvbmcoY29uc3QgU3RyaW5nJiwgTmVlZHNUb0NoZWNrRGly
dHlGbGFnKSBjb25zdDsKKyAgICBib29sIHJhbmdlVW5kZXJmbG93KGNvbnN0IFN0cmluZyYpIGNv
bnN0OworICAgIGJvb2wgcmFuZ2VPdmVyZmxvdyhjb25zdCBTdHJpbmcmKSBjb25zdDsKICAgICAv
LyBSZXR1cm5zIHRoZSBtaW5pbXVtIHZhbHVlIGZvciB0eXBlPWRhdGUsIG51bWJlciwgb3IgcmFu
Z2UuICBEb24ndCBjYWxsIHRoaXMgZm9yIG90aGVyIHR5cGVzLgogICAgIGRvdWJsZSBtaW5pbXVt
KCkgY29uc3Q7CiAgICAgLy8gUmV0dXJucyB0aGUgbWF4aW11bSB2YWx1ZSBmb3IgdHlwZT1kYXRl
LCBudW1iZXIsIG9yIHJhbmdlLiAgRG9uJ3QgY2FsbCB0aGlzIGZvciBvdGhlciB0eXBlcy4KQEAg
LTg2LDcgKzkxLDggQEAgcHVibGljOgogICAgIC8vIFJldHVybnMgZmFsc2UgaWYgdGhlcmUgaXMg
bm8gImFsbG93ZWQgdmFsdWUgc3RlcC4iCiAgICAgYm9vbCBnZXRBbGxvd2VkVmFsdWVTdGVwKGRv
dWJsZSopIGNvbnN0OwogICAgIC8vIEZvciBWYWxpZGl0eVN0YXRlLgotICAgIGJvb2wgc3RlcE1p
c21hdGNoKCkgY29uc3Q7CisgICAgYm9vbCBzdGVwTWlzbWF0Y2goY29uc3QgU3RyaW5nJikgY29u
c3Q7CisKICAgICAvLyBJbXBsZW1lbnRhdGlvbnMgb2YgSFRNTElucHV0RWxlbWVudDo6c3RlcFVw
KCkgYW5kIHN0ZXBEb3duKCkuCiAgICAgdm9pZCBzdGVwVXAoaW50LCBFeGNlcHRpb25Db2RlJik7
CiAgICAgdm9pZCBzdGVwRG93bihpbnQsIEV4Y2VwdGlvbkNvZGUmKTsKQEAgLTEyMyw2ICsxMjks
OSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdHJpbmcgdmFsdWUoKSBjb25zdDsKICAgICB2aXJ0
dWFsIHZvaWQgc2V0VmFsdWUoY29uc3QgU3RyaW5nJiwgYm9vbCBzZW5kQ2hhbmdlRXZlbnQgPSBm
YWxzZSk7CiAgICAgdmlydHVhbCB2b2lkIHNldFZhbHVlRm9yVXNlcihjb25zdCBTdHJpbmcmKTsK
KyAgICAvLyBDaGVja3MgaWYgdGhlIHNwZWNpZmllZCBzdHJpbmcgd291bGQgYmUgYSB2YWxpZCB2
YWx1ZS4KKyAgICAvLyBXZSBzaG91bGQgbm90IGNhbGwgdGhpcyBmb3IgdHlwZXMgd2l0aCBubyBz
dHJpbmcgdmFsdWUgc3VjaCBhcyBDSEVDS0JPWCBhbmQgUkFESU8uCisgICAgYm9vbCBpc1ZhbGlk
VmFsdWUoY29uc3QgU3RyaW5nJikgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGNvbnN0IFN0cmluZyYg
c3VnZ2VzdGVkVmFsdWUoKSBjb25zdDsKICAgICB2b2lkIHNldFN1Z2dlc3RlZFZhbHVlKGNvbnN0
IFN0cmluZyYpOwpAQCAtMjM1LDEwICsyNDQsNiBAQCBwcml2YXRlOgogICAgIAogICAgIHZpcnR1
YWwgYm9vbCBpc1RleHRGb3JtQ29udHJvbCgpIGNvbnN0IHsgcmV0dXJuIGlzVGV4dEZpZWxkKCk7
IH0KIAotICAgIHZpcnR1YWwgYm9vbCB2YWx1ZU1pc3NpbmcoKSBjb25zdDsKLSAgICB2aXJ0dWFs
IGJvb2wgcGF0dGVybk1pc21hdGNoKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBib29sIHRvb0xvbmco
KSBjb25zdDsKLQogICAgIHZpcnR1YWwgYm9vbCBoYXNTcGluQnV0dG9uKCkgY29uc3QgeyByZXR1
cm4gbV90eXBlID09IE5VTUJFUiB8fCBtX3R5cGUgPT0gREFURSB8fCBtX3R5cGUgPT0gREFURVRJ
TUUgfHwgbV90eXBlID09IERBVEVUSU1FTE9DQUwgfHwgbV90eXBlID09IE1PTlRIIHx8IG1fdHlw
ZSA9PSBUSU1FIHx8IG1fdHlwZSA9PSBXRUVLOyB9CiAgICAgdmlydHVhbCBib29sIGNhblRyaWdn
ZXJJbXBsaWNpdFN1Ym1pc3Npb24oKSBjb25zdCB7IHJldHVybiBpc1RleHRGaWVsZCgpOyB9CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcCBiL1dlYkNv
cmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcAppbmRleCBmMjA0MzQwNzZhNjZlZGUxMjQ3
YmNiODBlYzZiYzE4ZmIwY2M2MmQ5Li5lMTY2OTdlNjQ1MDJhNjFkMmI2YjBkODA3OWFhYjdmZmQ2
NWYzZGNhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAK
KysrIGIvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCkBAIC0zODIsMTYgKzM4
MiwyMSBAQCB2b2lkIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnNldE1heExlbmd0aChpbnQgbmV3VmFs
dWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgICAgICBzZXRBdHRyaWJ1dGUobWF4bGVuZ3RoQXR0
ciwgU3RyaW5nOjpudW1iZXIobmV3VmFsdWUpKTsKIH0KIAotYm9vbCBIVE1MVGV4dEFyZWFFbGVt
ZW50Ojp0b29Mb25nKCkgY29uc3QKK2Jvb2wgSFRNTFRleHRBcmVhRWxlbWVudDo6dG9vTG9uZyhj
b25zdCBTdHJpbmcmIHZhbHVlLCBOZWVkc1RvQ2hlY2tEaXJ0eUZsYWcgY2hlY2spIGNvbnN0CiB7
CiAgICAgLy8gUmV0dXJuIGZhbHNlIGZvciB0aGUgZGVmYXVsdCB2YWx1ZSBldmVuIGlmIGl0IGlz
IGxvbmdlciB0aGFuIG1heExlbmd0aC4KLSAgICBpZiAoIW1faXNEaXJ0eSkKKyAgICBpZiAoY2hl
Y2sgPT0gQ2hlY2tEaXJ0eUZsYWcgJiYgIW1faXNEaXJ0eSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCiAgICAgaW50IG1heCA9IG1heExlbmd0aCgpOwogICAgIGlmIChtYXggPCAwKQogICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIG51bUdyYXBoZW1lQ2x1c3RlcnModmFsdWUoKSkg
PiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obWF4KTsKKyAgICByZXR1cm4gbnVtR3JhcGhlbWVDbHVz
dGVycyh2YWx1ZSkgPiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obWF4KTsKK30KKworYm9vbCBIVE1M
VGV4dEFyZWFFbGVtZW50Ojppc1ZhbGlkVmFsdWUoY29uc3QgU3RyaW5nJiBjYW5kaWRhdGUpIGNv
bnN0Cit7CisgICAgcmV0dXJuICF2YWx1ZU1pc3NpbmcoY2FuZGlkYXRlKSAmJiAhdG9vTG9uZyhj
YW5kaWRhdGUsIElnbm9yZURpcnR5RmxhZyk7CiB9CiAKIHZvaWQgSFRNTFRleHRBcmVhRWxlbWVu
dDo6YWNjZXNzS2V5QWN0aW9uKGJvb2wpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTFRl
eHRBcmVhRWxlbWVudC5oIGIvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuaAppbmRl
eCA0M2ZlNDkzYzYzZjFkOGEwMTE3MTFiZTQzYTQ3NTgxN2FiMzdkYTYzLi5jNTgwZjA2Yjk0ODQz
N2FmNTZjM2RkMzRiNDAzZWIyNDA2OWNmZjFhIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRN
TFRleHRBcmVhRWxlbWVudC5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50
LmgKQEAgLTQ3LDcgKzQ3LDkgQEAgcHVibGljOgogICAgIGludCB0ZXh0TGVuZ3RoKCkgY29uc3Qg
eyByZXR1cm4gdmFsdWUoKS5sZW5ndGgoKTsgfQogICAgIGludCBtYXhMZW5ndGgoKSBjb25zdDsK
ICAgICB2b2lkIHNldE1heExlbmd0aChpbnQsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2aXJ0dWFs
IGJvb2wgdG9vTG9uZygpIGNvbnN0OworICAgIGJvb2wgdmFsdWVNaXNzaW5nKGNvbnN0IFN0cmlu
ZyYgdmFsdWUpIGNvbnN0IHsgcmV0dXJuIGlzUmVxdWlyZWRGb3JtQ29udHJvbCgpICYmICFkaXNh
YmxlZCgpICYmICFyZWFkT25seSgpICYmIHZhbHVlLmlzRW1wdHkoKTsgfQorICAgIGJvb2wgdG9v
TG9uZyhjb25zdCBTdHJpbmcmLCBOZWVkc1RvQ2hlY2tEaXJ0eUZsYWcpIGNvbnN0OworICAgIGJv
b2wgaXNWYWxpZFZhbHVlKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIAogICAgIHZvaWQgcmVu
ZGVyZXJXaWxsQmVEZXN0cm95ZWQoKTsKICAgICAKQEAgLTg3LDggKzg5LDYgQEAgcHJpdmF0ZToK
IAogICAgIHZpcnR1YWwgYm9vbCBpc1RleHRGb3JtQ29udHJvbCgpIGNvbnN0IHsgcmV0dXJuIHRy
dWU7IH0KIAotICAgIHZpcnR1YWwgYm9vbCB2YWx1ZU1pc3NpbmcoKSBjb25zdCB7IHJldHVybiBp
c1JlcXVpcmVkRm9ybUNvbnRyb2woKSAmJiAhZGlzYWJsZWQoKSAmJiAhcmVhZE9ubHkoKSAmJiB2
YWx1ZSgpLmlzRW1wdHkoKTsgfQotCiAgICAgdmlydHVhbCB2b2lkIGNoaWxkcmVuQ2hhbmdlZChi
b29sIGNoYW5nZWRCeVBhcnNlciA9IGZhbHNlLCBOb2RlKiBiZWZvcmVDaGFuZ2UgPSAwLCBOb2Rl
KiBhZnRlckNoYW5nZSA9IDAsIGludCBjaGlsZENvdW50RGVsdGEgPSAwKTsKICAgICB2aXJ0dWFs
IHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoQXR0cmlidXRlKik7CiAgICAgdmlydHVhbCBSZW5k
ZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmNwcCBiL1dlYkNvcmUvaHRtbC9W
YWxpZGl0eVN0YXRlLmNwcAppbmRleCA2YTE1OWU4MDUzOWU0MzgzOTY0ZjM2YmY3MWVmNjZiNjZl
N2NmNjYxLi4yNzFiODU4MzY0ZTQzZTUxZmI2ZWFhMDAwYTY1M2YzODAwMWFlZWU3IDEwMDY0NAot
LS0gYS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5jcHAKKysrIGIvV2ViQ29yZS9odG1sL1Zh
bGlkaXR5U3RhdGUuY3BwCkBAIC0yNiwyMSArMjYsMTUgQEAKIAogI2luY2x1ZGUgIkhUTUxJbnB1
dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlICJIVE1MVGV4dEFy
ZWFFbGVtZW50LmgiCiAjaW5jbHVkZSAiTGVnYWN5SFRNTFRyZWVCdWlsZGVyLmgiCi0jaW5jbHVk
ZSAiS1VSTC5oIgogI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIKLSNpbmNsdWRlICJSZWd1
bGFyRXhwcmVzc2lvbi5oIgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1zdGF0aWMgY29u
c3QgY2hhciBlbWFpbFBhdHRlcm5bXSA9Ci0gICAgIlthLXowLTkhIyQlJicqKy89P15fYHt8fX4u
LV0rIiAvLyBsb2NhbCBwYXJ0Ci0gICAgIkAiCi0gICAgIlthLXowLTktXSsoXFwuW2EtejAtOS1d
KykrIjsgLy8gZG9tYWluIHBhcnQKLQogU3RyaW5nIFZhbGlkaXR5U3RhdGU6OnZhbGlkYXRpb25N
ZXNzYWdlKCkgY29uc3QKIHsKICAgICBpZiAoIW1fY29udHJvbC0+d2lsbFZhbGlkYXRlKCkpCkBA
IC02Niw2ICs2MCwxOSBAQCBTdHJpbmcgVmFsaWRpdHlTdGF0ZTo6dmFsaWRhdGlvbk1lc3NhZ2Uo
KSBjb25zdAogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAorYm9vbCBWYWxpZGl0eVN0YXRlOjp2
YWx1ZU1pc3NpbmcoKSBjb25zdAoreworICAgIGlmIChtX2NvbnRyb2wtPmhhc1RhZ05hbWUoaW5w
dXRUYWcpKSB7CisgICAgICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gc3RhdGljX2Nhc3Q8
SFRNTElucHV0RWxlbWVudCo+KG1fY29udHJvbCk7CisgICAgICAgIHJldHVybiBpbnB1dC0+dmFs
dWVNaXNzaW5nKGlucHV0LT52YWx1ZSgpKTsKKyAgICB9CisgICAgaWYgKG1fY29udHJvbC0+aGFz
VGFnTmFtZSh0ZXh0YXJlYVRhZykpIHsKKyAgICAgICAgSFRNTFRleHRBcmVhRWxlbWVudCogdGV4
dEFyZWEgPSBzdGF0aWNfY2FzdDxIVE1MVGV4dEFyZWFFbGVtZW50Kj4obV9jb250cm9sKTsKKyAg
ICAgICAgcmV0dXJuIHRleHRBcmVhLT52YWx1ZU1pc3NpbmcodGV4dEFyZWEtPnZhbHVlKCkpOwor
ICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgVmFsaWRpdHlTdGF0ZTo6dHlwZU1p
c21hdGNoKCkgY29uc3QKIHsKICAgICBpZiAoIW1fY29udHJvbC0+aGFzVGFnTmFtZShpbnB1dFRh
ZykpCkBAIC03Myw1MyArODAsMjkgQEAgYm9vbCBWYWxpZGl0eVN0YXRlOjp0eXBlTWlzbWF0Y2go
KSBjb25zdAogCiAgICAgSFRNTElucHV0RWxlbWVudCogaW5wdXQgPSBzdGF0aWNfY2FzdDxIVE1M
SW5wdXRFbGVtZW50Kj4obV9jb250cm9sKTsKICAgICBTdHJpbmcgdmFsdWUgPSBpbnB1dC0+dmFs
dWUoKTsKLQogICAgIGlmICh2YWx1ZS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICByZXR1cm4gaW5wdXQtPnR5cGVNaXNtYXRjaCh2YWx1ZSk7Cit9CiAKLSAgICBzd2l0Y2gg
KGlucHV0LT5pbnB1dFR5cGUoKSkgewotICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6Q09MT1I6
Ci0gICAgICAgIHJldHVybiAhaXNWYWxpZENvbG9yU3RyaW5nKHZhbHVlKTsKLSAgICBjYXNlIEhU
TUxJbnB1dEVsZW1lbnQ6Ok5VTUJFUjoKLSAgICAgICAgcmV0dXJuICFwYXJzZVRvRG91YmxlRm9y
TnVtYmVyVHlwZSh2YWx1ZSwgMCk7Ci0gICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpVUkw6Ci0g
ICAgICAgIHJldHVybiAhS1VSTChLVVJMKCksIHZhbHVlKS5pc1ZhbGlkKCk7Ci0gICAgY2FzZSBI
VE1MSW5wdXRFbGVtZW50OjpFTUFJTDogewotICAgICAgICBpZiAoIWlucHV0LT5tdWx0aXBsZSgp
KQotICAgICAgICAgICAgcmV0dXJuICFpc1ZhbGlkRW1haWxBZGRyZXNzKHZhbHVlKTsKLSAgICAg
ICAgVmVjdG9yPFN0cmluZz4gYWRkcmVzc2VzOwotICAgICAgICB2YWx1ZS5zcGxpdCgnLCcsIGFk
ZHJlc3Nlcyk7Ci0gICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBhZGRyZXNzZXMuc2l6
ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIGlmICghaXNWYWxpZEVtYWlsQWRkcmVzcyhhZGRyZXNz
ZXNbaV0pKQotICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9Citib29sIFZh
bGlkaXR5U3RhdGU6OnBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2NvbnRy
b2wtPmhhc1RhZ05hbWUoaW5wdXRUYWcpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgSFRN
TElucHV0RWxlbWVudCogaW5wdXQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4obV9j
b250cm9sKTsKKyAgICByZXR1cm4gaW5wdXQtPnBhdHRlcm5NaXNtYXRjaChpbnB1dC0+dmFsdWUo
KSk7Cit9CisKK2Jvb2wgVmFsaWRpdHlTdGF0ZTo6dG9vTG9uZygpIGNvbnN0Cit7CisgICAgaWYg
KG1fY29udHJvbC0+aGFzVGFnTmFtZShpbnB1dFRhZykpIHsKKyAgICAgICAgSFRNTElucHV0RWxl
bWVudCogaW5wdXQgPSBzdGF0aWNfY2FzdDxIVE1MSW5wdXRFbGVtZW50Kj4obV9jb250cm9sKTsK
KyAgICAgICAgcmV0dXJuIGlucHV0LT50b29Mb25nKGlucHV0LT52YWx1ZSgpLCBIVE1MVGV4dEZv
cm1Db250cm9sRWxlbWVudDo6Q2hlY2tEaXJ0eUZsYWcpOwogICAgIH0KLSAgICBjYXNlIEhUTUxJ
bnB1dEVsZW1lbnQ6OkRBVEU6Ci0gICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpEQVRFVElNRToK
LSAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OkRBVEVUSU1FTE9DQUw6Ci0gICAgY2FzZSBIVE1M
SW5wdXRFbGVtZW50OjpNT05USDoKLSAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OlRJTUU6Ci0g
ICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpXRUVLOgotICAgICAgICByZXR1cm4gIUhUTUxJbnB1
dEVsZW1lbnQ6OnBhcnNlVG9EYXRlQ29tcG9uZW50cyhpbnB1dC0+aW5wdXRUeXBlKCksIHZhbHVl
LCAwKTsKLSAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OkJVVFRPTjoKLSAgICBjYXNlIEhUTUxJ
bnB1dEVsZW1lbnQ6OkNIRUNLQk9YOgotICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6RklMRToK
LSAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OkhJRERFTjoKLSAgICBjYXNlIEhUTUxJbnB1dEVs
ZW1lbnQ6OklNQUdFOgotICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6SVNJTkRFWDoKLSAgICBj
YXNlIEhUTUxJbnB1dEVsZW1lbnQ6OlBBU1NXT1JEOgotICAgIGNhc2UgSFRNTElucHV0RWxlbWVu
dDo6UkFESU86Ci0gICAgY2FzZSBIVE1MSW5wdXRFbGVtZW50OjpSQU5HRToKLSAgICBjYXNlIEhU
TUxJbnB1dEVsZW1lbnQ6OlJFU0VUOgotICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6U0VBUkNI
OgotICAgIGNhc2UgSFRNTElucHV0RWxlbWVudDo6U1VCTUlUOgotICAgIGNhc2UgSFRNTElucHV0
RWxlbWVudDo6VEVMRVBIT05FOiAvLyBGSVhNRTogSXMgdGhlcmUgdmFsaWRhdGlvbiBmb3IgPGlu
cHV0IHR5cGU9dGVsZXBob25lPj8KLSAgICBjYXNlIEhUTUxJbnB1dEVsZW1lbnQ6OlRFWFQ6Ci0g
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAobV9jb250cm9sLT5oYXNUYWdOYW1lKHRleHRh
cmVhVGFnKSkgeworICAgICAgICBIVE1MVGV4dEFyZWFFbGVtZW50KiB0ZXh0QXJlYSA9IHN0YXRp
Y19jYXN0PEhUTUxUZXh0QXJlYUVsZW1lbnQqPihtX2NvbnRyb2wpOworICAgICAgICByZXR1cm4g
dGV4dEFyZWEtPnRvb0xvbmcodGV4dEFyZWEtPnZhbHVlKCksIEhUTUxUZXh0Rm9ybUNvbnRyb2xF
bGVtZW50OjpDaGVja0RpcnR5RmxhZyk7CiAgICAgfQotCi0gICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCkBAIC0xMjcsMjEgKzExMCwyNCBAQCBib29sIFZh
bGlkaXR5U3RhdGU6OnJhbmdlVW5kZXJmbG93KCkgY29uc3QKIHsKICAgICBpZiAoIW1fY29udHJv
bC0+aGFzVGFnTmFtZShpbnB1dFRhZykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KG1fY29udHJvbCktPnJhbmdlVW5kZXJm
bG93KCk7CisgICAgSFRNTElucHV0RWxlbWVudCogaW5wdXQgPSBzdGF0aWNfY2FzdDxIVE1MSW5w
dXRFbGVtZW50Kj4obV9jb250cm9sKTsKKyAgICByZXR1cm4gaW5wdXQtPnJhbmdlVW5kZXJmbG93
KGlucHV0LT52YWx1ZSgpKTsKIH0KIAogYm9vbCBWYWxpZGl0eVN0YXRlOjpyYW5nZU92ZXJmbG93
KCkgY29uc3QKIHsKICAgICBpZiAoIW1fY29udHJvbC0+aGFzVGFnTmFtZShpbnB1dFRhZykpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxl
bWVudCo+KG1fY29udHJvbCktPnJhbmdlT3ZlcmZsb3coKTsKKyAgICBIVE1MSW5wdXRFbGVtZW50
KiBpbnB1dCA9IHN0YXRpY19jYXN0PEhUTUxJbnB1dEVsZW1lbnQqPihtX2NvbnRyb2wpOworICAg
IHJldHVybiBpbnB1dC0+cmFuZ2VPdmVyZmxvdyhpbnB1dC0+dmFsdWUoKSk7CiB9CiAKIGJvb2wg
VmFsaWRpdHlTdGF0ZTo6c3RlcE1pc21hdGNoKCkgY29uc3QKIHsKICAgICBpZiAoIW1fY29udHJv
bC0+aGFzVGFnTmFtZShpbnB1dFRhZykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8SFRNTElucHV0RWxlbWVudCo+KG1fY29udHJvbCktPnN0ZXBNaXNtYXRj
aCgpOworICAgIEhUTUxJbnB1dEVsZW1lbnQqIGlucHV0ID0gc3RhdGljX2Nhc3Q8SFRNTElucHV0
RWxlbWVudCo+KG1fY29udHJvbCk7CisgICAgcmV0dXJuIGlucHV0LT5zdGVwTWlzbWF0Y2goaW5w
dXQtPnZhbHVlKCkpOwogfQogCiBib29sIFZhbGlkaXR5U3RhdGU6OnZhbGlkKCkgY29uc3QKQEAg
LTE1MSwzMSArMTM3LDQgQEAgYm9vbCBWYWxpZGl0eVN0YXRlOjp2YWxpZCgpIGNvbnN0CiAgICAg
cmV0dXJuICFzb21lRXJyb3I7CiB9CiAKLWJvb2wgVmFsaWRpdHlTdGF0ZTo6aXNWYWxpZENvbG9y
U3RyaW5nKGNvbnN0IFN0cmluZyYgdmFsdWUpCi17Ci0gICAgaWYgKHZhbHVlLmlzRW1wdHkoKSkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmICh2YWx1ZVswXSA9PSAnIycpIHsKLSAgICAg
ICAgLy8gV2UgZG9uJ3QgYWNjZXB0ICNyZ2IgYW5kICNhYXJyZ2diYiBmb3JtYXRzLgotICAgICAg
ICBpZiAodmFsdWUubGVuZ3RoKCkgIT0gNykKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICB9Ci0gICAgQ29sb3IgY29sb3IodmFsdWUpOyAgLy8gVGhpcyBhY2NlcHRzIG5hbWVkIGNvbG9y
cyBzdWNoIGFzICJ3aGl0ZSIuCi0gICAgcmV0dXJuIGNvbG9yLmlzVmFsaWQoKSAmJiAhY29sb3Iu
aGFzQWxwaGEoKTsKLX0KLQotYm9vbCBWYWxpZGl0eVN0YXRlOjppc1ZhbGlkRW1haWxBZGRyZXNz
KGNvbnN0IFN0cmluZyYgYWRkcmVzcykKLXsKLSAgICBpbnQgYWRkcmVzc0xlbmd0aCA9IGFkZHJl
c3MubGVuZ3RoKCk7Ci0gICAgaWYgKCFhZGRyZXNzTGVuZ3RoKQotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0KLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0IFJlZ3VsYXJFeHByZXNzaW9uLCBy
ZWdFeHAsIChlbWFpbFBhdHRlcm4sIFRleHRDYXNlSW5zZW5zaXRpdmUpKTsKLQotICAgIGludCBt
YXRjaExlbmd0aDsKLSAgICBpbnQgbWF0Y2hPZmZzZXQgPSByZWdFeHAubWF0Y2goYWRkcmVzcywg
MCwgJm1hdGNoTGVuZ3RoKTsKLQotICAgIHJldHVybiBtYXRjaE9mZnNldCA9PSAwICYmIG1hdGNo
TGVuZ3RoID09IGFkZHJlc3NMZW5ndGg7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2h0bWwvVmFsaWRpdHlTdGF0ZS5oIGIvV2ViQ29yZS9odG1sL1ZhbGlkaXR5U3Rh
dGUuaAppbmRleCA3ODIzOGYxNjM4YTZlOGNjMDgyYTRjNmE1MmEyYmMzNTUzNmYxM2U5Li4yNWRl
OTZkMzRhNzIwOTM4NmU2MjFlNjNhNjVkYTQ5OWFhY2ZiNDEwIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvVmFsaWRpdHlTdGF0ZS5oCisrKyBiL1dlYkNvcmUvaHRtbC9WYWxpZGl0eVN0YXRlLmgK
QEAgLTQzLDEwICs0MywxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldEN1c3RvbUVycm9yTWVz
c2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UpIHsgbV9jdXN0b21FcnJvck1lc3NhZ2UgPSBtZXNz
YWdlOyB9CiAKLSAgICBib29sIHZhbHVlTWlzc2luZygpIGNvbnN0IHsgcmV0dXJuIG1fY29udHJv
bC0+dmFsdWVNaXNzaW5nKCk7IH0KKyAgICBib29sIHZhbHVlTWlzc2luZygpIGNvbnN0OwogICAg
IGJvb2wgdHlwZU1pc21hdGNoKCkgY29uc3Q7Ci0gICAgYm9vbCBwYXR0ZXJuTWlzbWF0Y2goKSBj
b25zdCB7IHJldHVybiBtX2NvbnRyb2wtPnBhdHRlcm5NaXNtYXRjaCgpOyB9Ci0gICAgYm9vbCB0
b29Mb25nKCkgY29uc3QgeyByZXR1cm4gbV9jb250cm9sLT50b29Mb25nKCk7IH0KKyAgICBib29s
IHBhdHRlcm5NaXNtYXRjaCgpIGNvbnN0OworICAgIGJvb2wgdG9vTG9uZygpIGNvbnN0OwogICAg
IGJvb2wgcmFuZ2VVbmRlcmZsb3coKSBjb25zdDsKICAgICBib29sIHJhbmdlT3ZlcmZsb3coKSBj
b25zdDsKICAgICBib29sIHN0ZXBNaXNtYXRjaCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggYmJk
ZjAzNTczYjc4OTcyYTE4MzVmZTA4YmMwNmMzMDZiMDQzY2U1My4uZDU2ODY3Y2E1YmI1MzBjODI5
YzgzMWViMTU1YjAwOWI5ZDUwNzFkNiAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZworKysgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MTAtMDgtMDQgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVjZSBpc1ZhbGlkVmFs
dWUoY29uc3QgU3RyaW5nJikgb2YgSFRNTElucHV0RWxlbWVudCBhbmQgSFRNTFRleHRBcmVhRWxl
bWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM1
MzcKKworICAgICAgICAqIHB1YmxpYy9XZWJJbnB1dEVsZW1lbnQuaDoKKyAgICAgICAgKiBzcmMv
V2ViSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW5wdXRFbGVtZW50Ojpp
c1ZhbGlkVmFsdWUpOgorCiAyMDEwLTA4LTAzICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gRmlzaGVyLgpkaWZmIC0tZ2l0
IGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEVsZW1lbnQuaCBiL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViSW5wdXRFbGVtZW50LmgKaW5kZXggZDhjOGNlNzMzNzQ1Mzk1ZmI4OGY5
NjZiMGQ1NDlkMjRkMTliMWE3Mi4uZWYzYjU3NzA4Yzg3NThkN2UzNGFiNzZlMjQ0OTkyOTA2MzEy
YzMwYSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnB1dEVsZW1lbnQu
aAorKysgYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklucHV0RWxlbWVudC5oCkBAIC05OSw2
ICs5OSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogICAgICAgICBXRUJLSVRfQVBJIHZvaWQgc2V0
U2VsZWN0aW9uUmFuZ2UoaW50LCBpbnQpOwogICAgICAgICBXRUJLSVRfQVBJIGludCBzZWxlY3Rp
b25TdGFydCgpOwogICAgICAgICBXRUJLSVRfQVBJIGludCBzZWxlY3Rpb25FbmQoKTsKKyAgICAg
ICAgV0VCS0lUX0FQSSBib29sIGlzVmFsaWRWYWx1ZShjb25zdCBXZWJTdHJpbmcmKSBjb25zdDsK
IAogI2lmIFdFQktJVF9JTVBMRU1FTlRBVElPTgogICAgICAgICBXZWJJbnB1dEVsZW1lbnQoY29u
c3QgV1RGOjpQYXNzUmVmUHRyPFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQ+Jik7CmRpZmYgLS1n
aXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklucHV0RWxlbWVudC5jcHAgYi9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYklucHV0RWxlbWVudC5jcHAKaW5kZXggM2I4ODMzNTQ4MTUwZWE4MDk3M2Ez
NWJlODliYjU3MmJkZDg2NWVkMC4uN2JmNjQwN2NhOWYzZTkzOWI0ZDNlNzBjODE4NmQwMjJjNjdj
OWYzMSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnB1dEVsZW1lbnQuY3Bw
CisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFbGVtZW50LmNwcApAQCAtMTQwLDYg
KzE0MCwxMSBAQCBpbnQgV2ViSW5wdXRFbGVtZW50OjpzZWxlY3Rpb25FbmQoKQogICAgIHJldHVy
biB1bndyYXA8SFRNTElucHV0RWxlbWVudD4oKS0+c2VsZWN0aW9uRW5kKCk7CiB9CiAKK2Jvb2wg
V2ViSW5wdXRFbGVtZW50Ojppc1ZhbGlkVmFsdWUoY29uc3QgV2ViU3RyaW5nJiB2YWx1ZSkgY29u
c3QKK3sKKyAgICByZXR1cm4gY29uc3RVbndyYXA8SFRNTElucHV0RWxlbWVudD4oKS0+aXNWYWxp
ZFZhbHVlKHZhbHVlKTsKK30KKwogV2ViSW5wdXRFbGVtZW50OjpXZWJJbnB1dEVsZW1lbnQoY29u
c3QgUGFzc1JlZlB0cjxIVE1MSW5wdXRFbGVtZW50PiYgZWxlbSkKICAgICA6IFdlYkZvcm1Db250
cm9sRWxlbWVudChlbGVtKQogewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>