<?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>156519</bug_id>
          
          <creation_ts>2016-04-12 14:19:37 -0700</creation_ts>
          <short_desc>AX: Presentational role on SVG elements is trumped by child &apos;title&apos; and &apos;desc&apos; elements</short_desc>
          <delta_ts>2016-04-15 08:51:22 -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>Accessibility</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joanmarie Diggs">jdiggs</reporter>
          <assigned_to name="Joanmarie Diggs">jdiggs</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>jcraig</cc>
    
    <cc>mario</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1183240</commentid>
    <comment_count>0</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2016-04-12 14:19:37 -0700</bug_when>
    <thetext>There is an SVG Task Force resolution stating that:

  Where an element has role=none or role=presentation and has a
  child title or desc element, user agents MUST ignore the role.

See https://lists.w3.org/Archives/Public/public-svg-a11y/2016Apr/0016.html

(Patch shall be forthcoming.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183241</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-04-12 14:20:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/25689314&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183255</commentid>
    <comment_count>2</comment_count>
      <attachid>276280</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2016-04-12 14:37:46 -0700</bug_when>
    <thetext>Created attachment 276280
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183267</commentid>
    <comment_count>3</comment_count>
      <attachid>276280</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2016-04-12 15:34:34 -0700</bug_when>
    <thetext>Comment on attachment 276280
Patch

Chris: When you have a spare moment, please review. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183297</commentid>
    <comment_count>4</comment_count>
      <attachid>276280</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2016-04-12 17:03:45 -0700</bug_when>
    <thetext>Comment on attachment 276280
Patch

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

&gt; Source/WebCore/accessibility/AccessibilitySVGElement.cpp:73
&gt; +SVGDescElement* AccessibilitySVGElement::descElementWithLanguage(String language) const

what does this have to do with language?

should probably be called descriptionElementWith...

&gt; Source/WebCore/accessibility/AccessibilitySVGElement.cpp:88
&gt; +SVGTitleElement* AccessibilitySVGElement::titleElementWithLanguage(String language) const

String&amp; language</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183321</commentid>
    <comment_count>5</comment_count>
      <attachid>276280</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2016-04-12 19:01:02 -0700</bug_when>
    <thetext>Comment on attachment 276280
Patch

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

&gt;&gt; Source/WebCore/accessibility/AccessibilitySVGElement.cpp:73
&gt;&gt; +SVGDescElement* AccessibilitySVGElement::descElementWithLanguage(String language) const
&gt; 
&gt; what does this have to do with language?
&gt; 
&gt; should probably be called descriptionElementWith...

Ok re &apos;description&apos; versus &apos;desc&apos;.

As for what it has to do with language: In SVG2, you can have multiple &apos;title&apos; or &apos;desc&apos; element children with &apos;lang&apos; attributes optionally specified. At the moment, the SVG AAM (and associated spec-finalizing discussions) have the following requirements:

1. If there&apos;s any &apos;title&apos; or &apos;desc&apos; child: It trumps the presentational role (i.e. the change in this patch).

2. When performing the alternative text computation, if there are multiple &apos;title&apos;/&apos;desc&apos; to choose from, choose the one whose language matches. (This is existing behavior. But I wanted a helper function.)

Maybe &apos;languageAwareDescriptionElement()&apos;??</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183367</commentid>
    <comment_count>6</comment_count>
      <attachid>276280</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2016-04-13 01:37:19 -0700</bug_when>
    <thetext>Comment on attachment 276280
Patch

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

&gt;&gt;&gt; Source/WebCore/accessibility/AccessibilitySVGElement.cpp:73
&gt;&gt;&gt; +SVGDescElement* AccessibilitySVGElement::descElementWithLanguage(String language) const
&gt;&gt; 
&gt;&gt; what does this have to do with language?
&gt;&gt; 
&gt;&gt; should probably be called descriptionElementWith...
&gt; 
&gt; Ok re &apos;description&apos; versus &apos;desc&apos;.
&gt; 
&gt; As for what it has to do with language: In SVG2, you can have multiple &apos;title&apos; or &apos;desc&apos; element children with &apos;lang&apos; attributes optionally specified. At the moment, the SVG AAM (and associated spec-finalizing discussions) have the following requirements:
&gt; 
&gt; 1. If there&apos;s any &apos;title&apos; or &apos;desc&apos; child: It trumps the presentational role (i.e. the change in this patch).
&gt; 
&gt; 2. When performing the alternative text computation, if there are multiple &apos;title&apos;/&apos;desc&apos; to choose from, choose the one whose language matches. (This is existing behavior. But I wanted a helper function.)
&gt; 
&gt; Maybe &apos;languageAwareDescriptionElement()&apos;??

can you add comments to that effect in the code

i would start the method name with descriptionElement... maybe
descriptionElementWithLanguage() is OK with the comments explaining whats going on</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183394</commentid>
    <comment_count>7</comment_count>
      <attachid>276321</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2016-04-13 07:57:01 -0700</bug_when>
    <thetext>Created attachment 276321
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183409</commentid>
    <comment_count>8</comment_count>
      <attachid>276321</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2016-04-13 08:49:32 -0700</bug_when>
    <thetext>Comment on attachment 276321
Patch

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

&gt; Source/WebCore/accessibility/AccessibilitySVGElement.cpp:80
&gt; +    String childLanguageCode;

doesn&apos;t seem necessary to create this outside the loop

&gt; Source/WebCore/accessibility/AccessibilitySVGElement.cpp:100
&gt; +    String childLanguageCode;

ditto

&gt; Source/WebCore/accessibility/AccessibilitySVGElement.cpp:140
&gt; +        languageCode = defaultLanguage().substring(0, 2);

do we check anywhere that the language is at least 2 characters long?

&gt; Source/WebCore/accessibility/AccessibilitySVGElement.h:52
&gt; +    virtual AccessibilityRole determineAriaRoleAttribute() const;

can this use &quot;override&quot; keyword</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183453</commentid>
    <comment_count>9</comment_count>
      <attachid>276321</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2016-04-13 10:55:44 -0700</bug_when>
    <thetext>Comment on attachment 276321
Patch

(In reply to comment #8)
 
&gt; &gt; Source/WebCore/accessibility/AccessibilitySVGElement.cpp:140
&gt; &gt; +        languageCode = defaultLanguage().substring(0, 2);
&gt; do we check anywhere that the language is at least 2 characters long?

substring() does do sanity checking regarding length.

And I was assuming that defaultLanguage() would have done all the work to get the platform user agent language, ensure it&apos;s valid, BCP-47ed (if appropriate), etc. 
Otherwise, all callers would have to do so. In which case, it would be at least 2 characters long. But making assumptions is, admittedly, stupid. I&apos;ll look into it.

On a related note: It turns out that we&apos;re doing absolutely no sanity checking whatsoever in AccessibilityObject::language(). Perhaps we should move defaultLanguage() as the final fallback of language() and add sanity checking (and BCP-47izing??) there....

I&apos;ll dig some more and then propose a new patch. Thanks!

(Clearing review flag)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183480</commentid>
    <comment_count>10</comment_count>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2016-04-13 12:05:44 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; I&apos;ll dig some more

Talking mostly to myself: It seems that sanity-checking/validating the value of the &apos;lang&apos; attribute is something user agents should not do. https://www.w3.org/TR/html5/dom.html#the-lang-and-xml:lang-attributes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183948</commentid>
    <comment_count>11</comment_count>
      <attachid>276449</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2016-04-14 16:40:03 -0700</bug_when>
    <thetext>Created attachment 276449
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183982</commentid>
    <comment_count>12</comment_count>
      <attachid>276449</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2016-04-14 20:13:17 -0700</bug_when>
    <thetext>Comment on attachment 276449
Patch

Chris: What do you think about this approach?

(My port&apos;s EWS orange state is due to a recent commit breaking the build; not this patch.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1183997</commentid>
    <comment_count>13</comment_count>
      <attachid>276449</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2016-04-14 21:54:46 -0700</bug_when>
    <thetext>Comment on attachment 276449
Patch

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

&gt; Source/WebCore/accessibility/AccessibilitySVGElement.cpp:92
&gt; +        String lang = child.getAttribute(SVGNames::langAttr);

can we use getFastAttribute()

&gt; Source/WebCore/accessibility/AccessibilitySVGElement.cpp:103
&gt; +    size_t index = indexOfBestMatchingLanguageInList(languageCode, childLanguageCodes, exactMatch);

should exactMatch be &amp;exactMatch

&gt; Source/WebCore/accessibility/AccessibilitySVGElement.cpp:104
&gt; +    if (exactMatch || index &lt; childLanguageCodes.size())

do we need to check exactMatch? would index &lt; size() if it is an exact match as well?

&gt; Source/WebCore/accessibility/AccessibilitySVGElement.cpp:135
&gt; +    auto titles = childrenOfType&lt;SVGTitleElement&gt;(*element());

titleElements instead of &quot;titles&quot;

&gt; Source/WebCore/accessibility/AccessibilitySVGElement.cpp:136
&gt; +    if (Element* childTitle = childElementWithMatchingLanguage(titles))

auto titleChild

&gt; Source/WebCore/accessibility/AccessibilitySVGElement.cpp:183
&gt; +    if (Element* childDescription = childElementWithMatchingLanguage(descriptions))

auto descriptionChild

&gt; Source/WebCore/accessibility/AccessibilitySVGElement.cpp:202
&gt; +    if (Element* childTitle = childElementWithMatchingLanguage(titles)) {

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184068</commentid>
    <comment_count>14</comment_count>
      <attachid>276474</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2016-04-15 07:13:38 -0700</bug_when>
    <thetext>Created attachment 276474
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184069</commentid>
    <comment_count>15</comment_count>
      <attachid>276449</attachid>
    <who name="Joanmarie Diggs">jdiggs</who>
    <bug_when>2016-04-15 07:19:26 -0700</bug_when>
    <thetext>Comment on attachment 276449
Patch

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

&gt;&gt; Source/WebCore/accessibility/AccessibilitySVGElement.cpp:92
&gt;&gt; +        String lang = child.getAttribute(SVGNames::langAttr);
&gt; 
&gt; can we use getFastAttribute()

Done.

&gt;&gt; Source/WebCore/accessibility/AccessibilitySVGElement.cpp:103
&gt;&gt; +    size_t index = indexOfBestMatchingLanguageInList(languageCode, childLanguageCodes, exactMatch);
&gt; 
&gt; should exactMatch be &amp;exactMatch

I don&apos;t believe so.

&gt;&gt; Source/WebCore/accessibility/AccessibilitySVGElement.cpp:104
&gt;&gt; +    if (exactMatch || index &lt; childLanguageCodes.size())
&gt; 
&gt; do we need to check exactMatch? would index &lt; size() if it is an exact match as well?

We don&apos;t need to check exactMatch. Removed.

&gt;&gt; Source/WebCore/accessibility/AccessibilitySVGElement.cpp:135
&gt;&gt; +    auto titles = childrenOfType&lt;SVGTitleElement&gt;(*element());
&gt; 
&gt; titleElements instead of &quot;titles&quot;

Done. Also did equivalent for &quot;descriptions&quot;.

&gt;&gt; Source/WebCore/accessibility/AccessibilitySVGElement.cpp:183
&gt;&gt; +    if (Element* childDescription = childElementWithMatchingLanguage(descriptions))
&gt; 
&gt; auto descriptionChild

Done.

&gt;&gt; Source/WebCore/accessibility/AccessibilitySVGElement.cpp:202
&gt;&gt; +    if (Element* childTitle = childElementWithMatchingLanguage(titles)) {
&gt; 
&gt; ditto

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184078</commentid>
    <comment_count>16</comment_count>
      <attachid>276474</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-15 08:51:18 -0700</bug_when>
    <thetext>Comment on attachment 276474
patch for landing

Clearing flags on attachment: 276474

Committed r199588: &lt;http://trac.webkit.org/changeset/199588&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184079</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-15 08:51:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276280</attachid>
            <date>2016-04-12 14:37:46 -0700</date>
            <delta_ts>2016-04-13 07:56:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156519-20160412173755.patch</filename>
            <type>text/plain</type>
            <size>16445</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5MzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzA4ZWY0YWFjNTNjZjc4
NDZkNzEzYmJkNmIwMjgxOGNiZjNiMjkzYi4uZDJiNmYyMmVlMWExMjhmNDQwYmFkMjJkZGE1OWM0
ODViZTEwODZiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE2LTA0LTEyICBKb2Fu
bWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KKworICAgICAgICBBWDogUHJlc2VudGF0
aW9uYWwgcm9sZSBvbiBTVkcgZWxlbWVudHMgaXMgdHJ1bXBlZCBieSBjaGlsZCAndGl0bGUnIGFu
ZCAnZGVzYycgZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE1NjUxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE92ZXJyaWRlIHRoZSBwcmVzZW50YXRpb25hbCByb2xlIG9uIFNWRyBlbGVtZW50
cyB3aGljaCBoYXZlIGEgY2hpbGQgJ3RpdGxlJyBvciAnZGVzYycKKyAgICAgICAgZWxlbWVudC4g
QXMgYSByZXN1bHQgb2YgdGhpcyBjaGFuZ2UsIEFjY2Vzc2liaWxpdHlTVkdSb290IG9iamVjdHMg
d291bGQgYmUgZXhwb3NlZAorICAgICAgICB3aXRoIGFuIEFjY2Vzc2liaWxpdHlSb2xlIG9mIFVu
a25vd25Sb2xlLiBUaGVyZWZvcmUgbWFwIGluY2x1ZGVkIEFjY2Vzc2liaWxpdHlTVkdSb290Cisg
ICAgICAgIG9iamVjdHMgdG8gR3JvdXBSb2xlIGFzIHBlciB0aGUgU1ZHIEFjY2Vzc2liaWxpdHkg
QVBJIE1hcHBpbmcgc3BlY2lmaWNhdGlvbi4KKworICAgICAgICBVcGRhdGUgdzNjLXN2Zy1wcmVz
ZW50YXRpb25hbC1yb2xlLmh0bWwgZXhwZWN0YXRpb25zIGJlY2F1c2UgdGhlcmUgYXJlIHRlc3Qg
Y2FzZXMgaW4gd2hpY2gKKyAgICAgICAgZWxlbWVudHMgYXJlIG5vdyBiZWluZyBpbmNsdWRlZCBp
biB0aGUgYWNjZXNzaWJpbGl0eSB0cmVlIGFzIGEgcmVzdWx0IG9mIHRoaXMgY2hhbmdlLiBBbHNv
CisgICAgICAgIGFkZCBuZXcgdGVzdCBjYXNlcyB3aGljaCBsYWNrIGNoaWxkICd0aXRsZScgYW5k
ICdkZXNjJyBlbGVtZW50cy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVNWR0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVNWR0VsZW1l
bnQ6OmRlc2NFbGVtZW50V2l0aExhbmd1YWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlTVkdFbGVtZW50Ojp0aXRsZUVsZW1lbnRXaXRoTGFuZ3VhZ2UpOgorICAgICAgICAoV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQ6OmFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudDo6aGVscFRleHQpOgor
ICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQ6OmNvbXB1dGVBY2Nlc3Np
YmlsaXR5SXNJZ25vcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlTVkdFbGVt
ZW50OjpkZXRlcm1pbmVBcmlhUm9sZUF0dHJpYnV0ZSk6CisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVNWR1Jvb3QuaDoKKwogMjAxNi0wNC0xMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3Mg
IDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gUmV3b3JrIHNjcm9sbGJhcnMg
dGhlbWluZyBjb2RlIGZvciBHVEsrIDMuMjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudC5jcHAKaW5kZXggMGE4M2JjZDZh
MjQzNGExOTM5YWU3ZGNhMzdmOGI4MjEwNjM2ZTBiNS4uNzAyZDNhMzIxNjliOWUwMWYwZjdiZGI1
YjVlNTMwZDE4YjJlZTZjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudC5jcHAKQEAgLTM0LDggKzM0LDYgQEAKICNp
bmNsdWRlICJMYW5ndWFnZS5oIgogI2luY2x1ZGUgIlJlbmRlckl0ZXJhdG9yLmgiCiAjaW5jbHVk
ZSAiUmVuZGVyVGV4dC5oIgotI2luY2x1ZGUgIlNWR0Rlc2NFbGVtZW50LmgiCi0jaW5jbHVkZSAi
U1ZHVGl0bGVFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHVXNlRWxlbWVudC5oIgogI2luY2x1ZGUg
IlhMaW5rTmFtZXMuaCIKIApAQCAtNzIsNiArNzAsMzYgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCog
QWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQ6OnRhcmdldEZvclVzZUVsZW1lbnQoKSBjb25zdAogICAg
IHJldHVybiBudWxscHRyOwogfQogCitTVkdEZXNjRWxlbWVudCogQWNjZXNzaWJpbGl0eVNWR0Vs
ZW1lbnQ6OmRlc2NFbGVtZW50V2l0aExhbmd1YWdlKFN0cmluZyBsYW5ndWFnZSkgY29uc3QKK3sK
KyAgICBTdHJpbmcgY2hpbGRMYW5nOworICAgIGZvciAoYXV0byYgY2hpbGQgOiBjaGlsZHJlbk9m
VHlwZTxTVkdEZXNjRWxlbWVudD4oKmVsZW1lbnQoKSkpIHsKKyAgICAgICAgaWYgKGxhbmd1YWdl
LmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJldHVybiAmY2hpbGQ7CisKKyAgICAgICAgY2hpbGRM
YW5nID0gY2hpbGQuZ2V0QXR0cmlidXRlKFNWR05hbWVzOjpsYW5nQXR0cik7CisgICAgICAgIGlm
IChjaGlsZExhbmcgPT0gbGFuZ3VhZ2UgfHwgY2hpbGRMYW5nLmlzRW1wdHkoKSkKKyAgICAgICAg
ICAgIHJldHVybiAmY2hpbGQ7CisgICAgfQorCisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1NW
R1RpdGxlRWxlbWVudCogQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQ6OnRpdGxlRWxlbWVudFdpdGhM
YW5ndWFnZShTdHJpbmcgbGFuZ3VhZ2UpIGNvbnN0Cit7CisgICAgU3RyaW5nIGNoaWxkTGFuZzsK
KyAgICBmb3IgKGF1dG8mIGNoaWxkIDogY2hpbGRyZW5PZlR5cGU8U1ZHVGl0bGVFbGVtZW50Pigq
ZWxlbWVudCgpKSkgeworICAgICAgICBpZiAobGFuZ3VhZ2UuaXNFbXB0eSgpKQorICAgICAgICAg
ICAgcmV0dXJuICZjaGlsZDsKKworICAgICAgICBjaGlsZExhbmcgPSBjaGlsZC5nZXRBdHRyaWJ1
dGUoU1ZHTmFtZXM6OmxhbmdBdHRyKTsKKyAgICAgICAgaWYgKGNoaWxkTGFuZyA9PSBsYW5ndWFn
ZSB8fCBjaGlsZExhbmcuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuICZjaGlsZDsKKyAg
ICB9CisKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogdm9pZCBBY2Nlc3NpYmlsaXR5U1ZHRWxl
bWVudDo6YWNjZXNzaWJpbGl0eVRleHQoVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYgdGV4dE9y
ZGVyKQogewogICAgIFN0cmluZyBkZXNjcmlwdGlvbiA9IGFjY2Vzc2liaWxpdHlEZXNjcmlwdGlv
bigpOwpAQCAtMTAxLDEyICsxMjksOCBAQCBTdHJpbmcgQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQ6
OmFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpIGNvbnN0CiAgICAgaWYgKGxhbmcuaXNFbXB0eSgp
KQogICAgICAgICBsYW5nID0gZGVmYXVsdExhbmd1YWdlKCkuc3Vic3RyaW5nKDAsIDIpOwogCi0g
ICAgU3RyaW5nIGNoaWxkTGFuZzsKLSAgICBmb3IgKGNvbnN0IGF1dG8mIGNoaWxkIDogY2hpbGRy
ZW5PZlR5cGU8U1ZHVGl0bGVFbGVtZW50PigqZWxlbWVudCgpKSkgewotICAgICAgICBjaGlsZExh
bmcgPSBjaGlsZC5nZXRBdHRyaWJ1dGUoU1ZHTmFtZXM6OmxhbmdBdHRyKTsKLSAgICAgICAgaWYg
KGNoaWxkTGFuZyA9PSBsYW5nIHx8IGNoaWxkTGFuZy5pc0VtcHR5KCkpCi0gICAgICAgICAgICBy
ZXR1cm4gY2hpbGQudGV4dENvbnRlbnQoKTsKLSAgICB9CisgICAgaWYgKFNWR1RpdGxlRWxlbWVu
dCogY2hpbGQgPSB0aXRsZUVsZW1lbnRXaXRoTGFuZ3VhZ2UobGFuZykpCisgICAgICAgIHJldHVy
biBjaGlsZC0+dGV4dENvbnRlbnQoKTsKIAogICAgIGlmIChpczxTVkdBRWxlbWVudD4oZWxlbWVu
dCgpKSkgewogICAgICAgICBTdHJpbmcgeGxpbmtUaXRsZSA9IGVsZW1lbnQoKS0+ZmFzdEdldEF0
dHJpYnV0ZShYTGlua05hbWVzOjp0aXRsZUF0dHIpOwpAQCAtMTU1LDEyICsxNzksOCBAQCBTdHJp
bmcgQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQ6OmhlbHBUZXh0KCkgY29uc3QKICAgICBpZiAobGFu
Zy5pc0VtcHR5KCkpCiAgICAgICAgIGxhbmcgPSBkZWZhdWx0TGFuZ3VhZ2UoKS5zdWJzdHJpbmco
MCwgMik7CiAKLSAgICBTdHJpbmcgY2hpbGRMYW5nOwotICAgIGZvciAoY29uc3QgYXV0byYgY2hp
bGQgOiBjaGlsZHJlbk9mVHlwZTxTVkdEZXNjRWxlbWVudD4oKmVsZW1lbnQoKSkpIHsKLSAgICAg
ICAgY2hpbGRMYW5nID0gY2hpbGQuZ2V0QXR0cmlidXRlKFNWR05hbWVzOjpsYW5nQXR0cik7Ci0g
ICAgICAgIGlmIChjaGlsZExhbmcgPT0gbGFuZyB8fCBjaGlsZExhbmcuaXNFbXB0eSgpKQotICAg
ICAgICAgICAgcmV0dXJuIGNoaWxkLnRleHRDb250ZW50KCk7Ci0gICAgfQorICAgIGlmIChTVkdE
ZXNjRWxlbWVudCogY2hpbGQgPSBkZXNjRWxlbWVudFdpdGhMYW5ndWFnZShsYW5nKSkKKyAgICAg
ICAgcmV0dXJuIGNoaWxkLT50ZXh0Q29udGVudCgpOwogCiAgICAgaWYgKGlzPFNWR1VzZUVsZW1l
bnQ+KGVsZW1lbnQoKSkpIHsKICAgICAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogdGFyZ2V0ID0g
dGFyZ2V0Rm9yVXNlRWxlbWVudCgpOwpAQCAtMTc3LDEwICsxOTcsOSBAQCBTdHJpbmcgQWNjZXNz
aWJpbGl0eVNWR0VsZW1lbnQ6OmhlbHBUZXh0KCkgY29uc3QKICAgICAgICAgICAgIHJldHVybiB0
ZXh0OwogICAgIH0KIAotICAgIGZvciAoY29uc3QgYXV0byYgY2hpbGQgOiBjaGlsZHJlbk9mVHlw
ZTxTVkdUaXRsZUVsZW1lbnQ+KCplbGVtZW50KCkpKSB7Ci0gICAgICAgIGNoaWxkTGFuZyA9IGNo
aWxkLmdldEF0dHJpYnV0ZShTVkdOYW1lczo6bGFuZ0F0dHIpOwotICAgICAgICBpZiAoKGNoaWxk
TGFuZyA9PSBsYW5nIHx8IGNoaWxkTGFuZy5pc0VtcHR5KCkpICYmIGNoaWxkLnRleHRDb250ZW50
KCkgIT0gZGVzY3JpcHRpb24pCi0gICAgICAgICAgICByZXR1cm4gY2hpbGQudGV4dENvbnRlbnQo
KTsKKyAgICBpZiAoU1ZHVGl0bGVFbGVtZW50KiBjaGlsZCA9IHRpdGxlRWxlbWVudFdpdGhMYW5n
dWFnZShsYW5nKSkgeworICAgICAgICBpZiAoY2hpbGQtPnRleHRDb250ZW50KCkgIT0gZGVzY3Jp
cHRpb24pCisgICAgICAgICAgICByZXR1cm4gY2hpbGQtPnRleHRDb250ZW50KCk7CiAgICAgfQog
CiAgICAgcmV0dXJuIFN0cmluZygpOwpAQCAtMTkxLDcgKzIxMCw4IEBAIGJvb2wgQWNjZXNzaWJp
bGl0eVNWR0VsZW1lbnQ6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QKICAg
ICAvLyBBY2NvcmRpbmcgdG8gdGhlIFNWRyBBY2Nlc3NpYmlsaXR5IEFQSSBNYXBwaW5ncyBzcGVj
LCBpdGVtcyBzaG91bGQgYmUgZXhjbHVkZWQgaWY6CiAgICAgLy8gKiBUaGV5IHdvdWxkIGJlIGV4
Y2x1ZGVkIGFjY29yZGluZyB0byB0aGUgQ29yZSBBY2Nlc3NpYmlsaXR5IEFQSSBNYXBwaW5ncy4K
ICAgICAvLyAqIFRoZXkgYXJlIG5laXRoZXIgcGVyY2VpdmFibGUgbm9yIGludGVyYWN0aXZlLgot
ICAgIC8vICogVGhlaXIgZmlyc3QgbWFwcGFibGUgcm9sZSBpcyBwcmVzZW50YXRpb25hbCwgcmVn
YXJkbGVzcyBvZiBvdGhlciBBUklBIGF0dHJpYnV0ZXMuCisgICAgLy8gKiBUaGVpciBmaXJzdCBt
YXBwYWJsZSByb2xlIGlzIHByZXNlbnRhdGlvbmFsLCB1bmxlc3MgdGhleSBoYXZlIGEgZ2xvYmFs
IEFSSUEKKyAgICAvLyAgIGF0dHJpYnV0ZSAoY292ZXJlZCBieSBDb3JlIEFBTSkgb3IgYXQgbGVh
c3Qgb25lICd0aXRsZScgb3IgJ2Rlc2MnIGNoaWxkIGVsZW1lbnQuCiAgICAgLy8gKiBUaGV5IGhh
dmUgYW4gYW5jZXN0b3Igd2l0aCBDaGlsZHJlbiBQcmVzZW50YXRpb25hbDogVHJ1ZSAoY292ZXJl
ZCBieSBDb3JlIEFBTSkKIAogICAgIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24gZGVjaXNp
b24gPSBkZWZhdWx0T2JqZWN0SW5jbHVzaW9uKCk7CkBAIC0yMDEsMTggKzIyMSwxNSBAQCBib29s
IEFjY2Vzc2liaWxpdHlTVkdFbGVtZW50Ojpjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCgp
IGNvbnN0CiAgICAgaWYgKG1fcmVuZGVyZXItPmlzU1ZHSGlkZGVuQ29udGFpbmVyKCkpCiAgICAg
ICAgIHJldHVybiB0cnVlOwogCisgICAgaWYgKHRpdGxlRWxlbWVudFdpdGhMYW5ndWFnZShTdHJp
bmcoKSkgfHwgZGVzY0VsZW1lbnRXaXRoTGFuZ3VhZ2UoU3RyaW5nKCkpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKICAgICBpZiAocm9sZVZhbHVlKCkgPT0gUHJlc2VudGF0aW9uYWxSb2xlIHx8
IGluaGVyaXRzUHJlc2VudGF0aW9uYWxSb2xlKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAg
ICAgaWYgKGFyaWFSb2xlQXR0cmlidXRlKCkgIT0gVW5rbm93blJvbGUpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAotICAgIC8vIFRoZSBTVkcgQUFNIHN0YXRlcyBvYmplY3RzIHdpdGggYXQgbGVh
c3Qgb25lICd0aXRsZScgb3IgJ2Rlc2MnIGVsZW1lbnQgTVVTVCBiZSBpbmNsdWRlZC4KLSAgICBm
b3IgKGNvbnN0IGF1dG8mIGNoaWxkIDogY2hpbGRyZW5PZlR5cGU8U1ZHRWxlbWVudD4oKmVsZW1l
bnQoKSkpIHsKLSAgICAgICAgaWYgKChpczxTVkdUaXRsZUVsZW1lbnQ+KGNoaWxkKSB8fCBpczxT
VkdEZXNjRWxlbWVudD4oY2hpbGQpKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9
Ci0KICAgICAvLyBUaGUgU1ZHIEFBTSBzdGF0ZXMgdGV4dCBlbGVtZW50cyBzaG91bGQgYWxzbyBi
ZSBpbmNsdWRlZCwgaWYgdGhleSBoYXZlIGNvbnRlbnQuCiAgICAgaWYgKG1fcmVuZGVyZXItPmlz
U1ZHVGV4dCgpIHx8IG1fcmVuZGVyZXItPmlzU1ZHVGV4dFBhdGgoKSkgewogICAgICAgICBmb3Ig
KGF1dG8mIGNoaWxkIDogY2hpbGRyZW5PZlR5cGU8UmVuZGVyVGV4dD4oZG93bmNhc3Q8UmVuZGVy
RWxlbWVudD4oKm1fcmVuZGVyZXIpKSkgewpAQCAtMjQ2LDYgKzI2MywyMCBAQCBib29sIEFjY2Vz
c2liaWxpdHlTVkdFbGVtZW50Ojppbmhlcml0c1ByZXNlbnRhdGlvbmFsUm9sZSgpIGNvbnN0CiAg
ICAgcmV0dXJuIGZhbHNlOwogfQogCitBY2Nlc3NpYmlsaXR5Um9sZSBBY2Nlc3NpYmlsaXR5U1ZH
RWxlbWVudDo6ZGV0ZXJtaW5lQXJpYVJvbGVBdHRyaWJ1dGUoKSBjb25zdAoreworICAgIEFjY2Vz
c2liaWxpdHlSb2xlIHJvbGUgPSBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0OjpkZXRlcm1pbmVB
cmlhUm9sZUF0dHJpYnV0ZSgpOworICAgIGlmIChyb2xlICE9IFByZXNlbnRhdGlvbmFsUm9sZSkK
KyAgICAgICAgcmV0dXJuIHJvbGU7CisKKyAgICAvLyBUaGUgcHJlc2VuY2Ugb2YgYSAndGl0bGUn
IG9yICdkZXNjJyBjaGlsZCBlbGVtZW50IHRydW1wcyBQcmVzZW50YXRpb25hbFJvbGUuCisgICAg
Ly8gaHR0cHM6Ly9saXN0cy53My5vcmcvQXJjaGl2ZXMvUHVibGljL3B1YmxpYy1zdmctYTExeS8y
MDE2QXByLzAwMTYuaHRtbAorICAgIGlmICh0aXRsZUVsZW1lbnRXaXRoTGFuZ3VhZ2UoU3RyaW5n
KCkpIHx8IGRlc2NFbGVtZW50V2l0aExhbmd1YWdlKFN0cmluZygpKSkKKyAgICAgICAgcmV0dXJu
IFVua25vd25Sb2xlOworCisgICAgcmV0dXJuIHJvbGU7Cit9CisKIEFjY2Vzc2liaWxpdHlSb2xl
IEFjY2Vzc2liaWxpdHlTVkdFbGVtZW50OjpkZXRlcm1pbmVBY2Nlc3NpYmlsaXR5Um9sZSgpCiB7
CiAgICAgaWYgKChtX2FyaWFSb2xlID0gZGV0ZXJtaW5lQXJpYVJvbGVBdHRyaWJ1dGUoKSkgIT0g
VW5rbm93blJvbGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlTVkdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlTVkdFbGVtZW50LmgKaW5kZXggMTEzODhiNDgxNjcxOWQ0NjA4OTUwZGJjODBj
MzdiODAzYTNlNDMwMS4uMjE3M2Q4NDdmZDY4ZTdmNGQ4ZjVhNjVkNzlkY2JiMDZjZjg1YTc0ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U1ZH
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVNWR0VsZW1lbnQuaApAQCAtMjksNiArMjksOCBAQAogI2RlZmluZSBBY2Nlc3NpYmlsaXR5U1ZH
RWxlbWVudF9oCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0LmgiCisjaW5j
bHVkZSAiU1ZHRGVzY0VsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdUaXRsZUVsZW1lbnQuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00NywxMSArNDksMTQgQEAgcHJvdGVjdGVkOgogcHJp
dmF0ZToKICAgICB2b2lkIGFjY2Vzc2liaWxpdHlUZXh0KFZlY3RvcjxBY2Nlc3NpYmlsaXR5VGV4
dD4mKSBmaW5hbDsKICAgICBBY2Nlc3NpYmlsaXR5Um9sZSBkZXRlcm1pbmVBY2Nlc3NpYmlsaXR5
Um9sZSgpIGZpbmFsOworICAgIHZpcnR1YWwgQWNjZXNzaWJpbGl0eVJvbGUgZGV0ZXJtaW5lQXJp
YVJvbGVBdHRyaWJ1dGUoKSBjb25zdDsKICAgICBib29sIGluaGVyaXRzUHJlc2VudGF0aW9uYWxS
b2xlKCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCBpc0FjY2Vzc2liaWxpdHlTVkdFbGVtZW50KCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGJvb2wgY29tcHV0ZUFjY2Vzc2liaWxp
dHlJc0lnbm9yZWQoKSBjb25zdCBmaW5hbDsKIAogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHRh
cmdldEZvclVzZUVsZW1lbnQoKSBjb25zdDsKKyAgICBTVkdEZXNjRWxlbWVudCogZGVzY0VsZW1l
bnRXaXRoTGFuZ3VhZ2UoU3RyaW5nKSBjb25zdDsKKyAgICBTVkdUaXRsZUVsZW1lbnQqIHRpdGxl
RWxlbWVudFdpdGhMYW5ndWFnZShTdHJpbmcpIGNvbnN0OwogfTsKIAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdSb290LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdSb290LmgKaW5kZXggY2Yx
NmI1ZTZjYTQwMmEwYmE3OThkNWFkYmQzMjRhOWEwNTUxODU3Ny4uZmNiYWE4ZDdkYjU0YzI0Y2Yw
NmMxNmY4YzlkY2IwZmU1NzE5ODFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5U1ZHUm9vdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVNWR1Jvb3QuaApAQCAtNDcsNiArNDcsNyBAQCBwcml2YXRl
OgogICAgIGJvb2wgaXNBY2Nlc3NpYmlsaXR5U1ZHUm9vdCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIHRydWU7IH0KIAogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIG1fcGFyZW50OworICAgIEFj
Y2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIEdyb3Vw
Um9sZTsgfQogfTsKICAgICAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUgCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTJlYTYy
NTUwOTA5OThiOGM0ZGE4NDk5NjZiZDJkOWZlY2QyN2Y4YS4uYTlmOThiNGIzZGQzZDFlZjU2ZjA5
ZTRlY2M1MDY2NDllZTAyZWRjMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE2LTA0LTEyICBK
b2FubWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KKworICAgICAgICBBWDogUHJlc2Vu
dGF0aW9uYWwgcm9sZSBvbiBTVkcgZWxlbWVudHMgaXMgdHJ1bXBlZCBieSBjaGlsZCAndGl0bGUn
IGFuZCAnZGVzYycgZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1NjUxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFVwZGF0ZSB3M2Mtc3ZnLXByZXNlbnRhdGlvbmFsLXJvbGUuaHRtbCBleHBl
Y3RhdGlvbnMgYmVjYXVzZSB0aGVyZSBhcmUgdGVzdCBjYXNlcyBpbiB3aGljaAorICAgICAgICBl
bGVtZW50cyBhcmUgbm93IGJlaW5nIGluY2x1ZGVkIGluIHRoZSBhY2Nlc3NpYmlsaXR5IHRyZWUg
YXMgYSByZXN1bHQgb2YgdGhpcyBjaGFuZ2UuIEFsc28KKyAgICAgICAgYWRkIG5ldyB0ZXN0IGNh
c2VzIHdoaWNoIGxhY2sgY2hpbGQgJ3RpdGxlJyBhbmQgJ2Rlc2MnIGVsZW1lbnRzLgorCisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS93M2Mtc3ZnLXByZXNlbnRhdGlvbmFsLXJvbGUuaHRtbDogTmV3
IHRlc3QgY2FzZXMgYWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkv
dzNjLXN2Zy1wcmVzZW50YXRpb25hbC1yb2xlLWV4cGVjdGVkLnR4dDogVXBkYXRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS93M2Mtc3ZnLXByZXNlbnRhdGlvbmFsLXJv
bGUtZXhwZWN0ZWQudHh0OiBVcGRhdGVkLgorCiAyMDE2LTAzLTE3ICBTZXJnaW8gVmlsbGFyIFNl
bmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtZ3JpZF0gQWRkIHBhcnNp
bmcgc3VwcG9ydCBmb3IgPGF1dG8tcmVwZWF0PiBzeW50YXgKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvdzNjLXN2Zy1wcmVzZW50YXRpb25hbC1yb2xlLmh0bWwgYi9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3czYy1zdmctcHJlc2VudGF0aW9uYWwtcm9sZS5odG1sCmlu
ZGV4IDViY2UxNTc4YWEwMWU3Yjc5ZjIyNGRkZDY0NmUyYWQ2MGNmNDU4NDIuLjEzODgwZWZiZTc3
MzJiNDA0MGJhODE1MzUyZDk1MWQ0MjEyODJjMDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvdzNjLXN2Zy1wcmVzZW50YXRpb25hbC1yb2xlLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS93M2Mtc3ZnLXByZXNlbnRhdGlvbmFsLXJvbGUuaHRtbApAQCAt
MTU2LDEzICsxNTYsMzIgQEAKIDxzdmc+CiAgIDxwb2x5bGluZSBpZD0idGVzdDM0IiBmaWxsPSJw
cmVzZW50YXRpb24iIHN0cm9rZT0iYmx1ZSIgc3Ryb2tlLXdpZHRoPSIxMCIgcG9pbnRzPSI1MCwz
NzUgMTUwLDM3NSAxNTAsMzI1IDI1MCwzMjUgMjUwLDM3NSAzNTAsMzc1IDM1MCwyNTAgNDUwLDI1
MCA0NTAsMzc1IDU1MCwzNzUgNTUwLDE3NSA2NTAsMTc1IDY1MCwzNzUgNzUwLDM3NSA3NTAsMTAw
IDg1MCwxMDAgODUwLDM3NSA5NTAsMzc1IDk1MCwyNSAxMDUwLDI1IDEwNTAsMzc1IDExNTAsMzc1
IiByb2xlPSJwcmVzZW50YXRpb24iLz4KIDwvc3ZnPgorPHN2Zz4KKyAgPGcgaWQ9InRlc3QzNSIg
cm9sZT0icHJlc2VudGF0aW9uIj4KKyAgICA8Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSIyMCIg
YXJpYS1sYWJlbD0ic2V0IEEiLz4KKyAgICA8Y2lyY2xlIGN4PSI1MCIgY3k9Ijc1IiByPSIyMCIg
YXJpYS1sYWJlbD0ic2V0IEIiLz4KKyAgPC9nPgorPC9zdmc+Cis8c3ZnPgorICA8aW1hZ2UgaWQ9
InRlc3QzNiIgeD0iMjAwIiB5PSIyMDAiIHdpZHRoPSIxMDBweCIgaGVpZ2h0PSIxMDBweCIgaHJl
Zj0ibXlpbWFnZS5wbmciIHJvbGU9InByZXNlbnRhdGlvbiI+PC9pbWFnZT4KKzwvc3ZnPgorPHN2
Zz4KKyAgPHBhdGggaWQ9InRlc3QzNyIgZD0iTSAxMDAgMTAwIEwgMzAwIDEwMCBMIDIwMCAzMDAg
eiIgZmlsbD0icmVkIiByb2xlPSJwcmVzZW50YXRpb24iPjwvcGF0aD4KKzwvc3ZnPgorPHN2Zz4K
KyAgPGVsbGlwc2UgaWQ9InRlc3QzOCIgY3g9IjEwIiBjeT0iMTAwIiByeD0iMjUiIHJ5PSIxNSIg
cm9sZT0icHJlc2VudGF0aW9uIj48L2VsbGlwc2U+Cis8L3N2Zz4KKzxzdmc+CisgIDxwb2x5Z29u
IGlkPSJ0ZXN0MzkiIGZpbGw9Im1hZ2VudGEiIHBvaW50cz0iODUwLDc1IDk1OCwxMzcuNSA5NTgs
MjYyLjUgODUwLDMyNSA3NDIsMjYyLjYgNzQyLDEzNy41IiByb2xlPSJwcmVzZW50YXRpb24iPgor
ICA8L3BvbHlnb24+Cis8L3N2Zz4KIDwvZGl2PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIDxzY3JpcHQ+CiAgICAgZGVzY3JpcHRpb24oIlRoaXMg
dGVzdHMgdGhhdCBTVkcgZWxlbWVudHMgd2l0aCByb2xlIHByZXNlbnRhdGlvbiBhcmUgbm90IGV4
cG9zZWQuIik7CiAgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewotICAg
ICAgICBmb3IgKHZhciBpID0gMTsgaSA8PSAzNDsgaSsrKSB7CisgICAgICAgIGZvciAodmFyIGkg
PSAxOyBpIDw9IDM5OyBpKyspIHsKICAgICAgICAgICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInRlc3QiICsgaSk7CiAgICAgICAgICAgICB2YXIgYXhFbGVtZW50ID0g
YWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuYWNjZXNzaWJsZUVsZW1lbnRCeUlkKCJ0ZXN0IiArIGkp
OwogICAgICAgICAgICAgZGVidWcoInRlc3QiICsgaSArICI6ICIgKyAoYXhFbGVtZW50ID8gYXhF
bGVtZW50LnJvbGUgOiAiRWxlbWVudCBub3QgZXhwb3NlZCIpKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3czYy1zdmctcHJlc2VudGF0aW9uYWwt
cm9sZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0
eS93M2Mtc3ZnLXByZXNlbnRhdGlvbmFsLXJvbGUtZXhwZWN0ZWQudHh0CmluZGV4IGQxZDIyN2Zj
MDU4MzEyYzJlZTllYTRhYjEzMDhmYTYzZTYwMzQ2NzcuLmJkNjg1Yjc3N2RiOWMyMTI2NmVlYjZl
YWIwNmEyMWZjMGFmYWJiMzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9h
Y2Nlc3NpYmlsaXR5L3czYy1zdmctcHJlc2VudGF0aW9uYWwtcm9sZS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdzNjLXN2Zy1wcmVzZW50
YXRpb25hbC1yb2xlLWV4cGVjdGVkLnR4dApAQCAtNCwzMCArNCwzMCBAQCBPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURQogCiAKIHRlc3QxOiBBWFJvbGU6IEFYR3JvdXAKLXRlc3QyOiBFbGVtZW50IG5v
dCBleHBvc2VkCi10ZXN0MzogRWxlbWVudCBub3QgZXhwb3NlZAotdGVzdDQ6IEVsZW1lbnQgbm90
IGV4cG9zZWQKK3Rlc3QyOiBBWFJvbGU6IEFYR3JvdXAKK3Rlc3QzOiBBWFJvbGU6IEFYSW1hZ2UK
K3Rlc3Q0OiBBWFJvbGU6IEFYR3JvdXAKIHRlc3Q1OiBBWFJvbGU6IEFYSW1hZ2UKLXRlc3Q2OiBF
bGVtZW50IG5vdCBleHBvc2VkCit0ZXN0NjogQVhSb2xlOiBBWEltYWdlCiB0ZXN0NzogQVhSb2xl
OiBBWEltYWdlCi10ZXN0ODogRWxlbWVudCBub3QgZXhwb3NlZAordGVzdDg6IEFYUm9sZTogQVhJ
bWFnZQogdGVzdDk6IEFYUm9sZTogQVhJbWFnZQogdGVzdDEwOiBBWFJvbGU6IEFYSW1hZ2UKLXRl
c3QxMTogRWxlbWVudCBub3QgZXhwb3NlZAordGVzdDExOiBBWFJvbGU6IEFYSW1hZ2UKIHRlc3Qx
MjogRWxlbWVudCBub3QgZXhwb3NlZAogdGVzdDEzOiBFbGVtZW50IG5vdCBleHBvc2VkCiB0ZXN0
MTQ6IEVsZW1lbnQgbm90IGV4cG9zZWQKIHRlc3QxNTogQVhSb2xlOiBBWEdyb3VwCi10ZXN0MTY6
IEVsZW1lbnQgbm90IGV4cG9zZWQKLXRlc3QxNzogRWxlbWVudCBub3QgZXhwb3NlZAotdGVzdDE4
OiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0MTY6IEFYUm9sZTogQVhHcm91cAordGVzdDE3OiBB
WFJvbGU6IEFYSW1hZ2UKK3Rlc3QxODogQVhSb2xlOiBBWEdyb3VwCiB0ZXN0MTk6IEFYUm9sZTog
QVhJbWFnZQotdGVzdDIwOiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0MjA6IEFYUm9sZTogQVhJ
bWFnZQogdGVzdDIxOiBBWFJvbGU6IEFYSW1hZ2UKLXRlc3QyMjogRWxlbWVudCBub3QgZXhwb3Nl
ZAordGVzdDIyOiBBWFJvbGU6IEFYSW1hZ2UKIHRlc3QyMzogQVhSb2xlOiBBWEltYWdlCiB0ZXN0
MjQ6IEFYUm9sZTogQVhJbWFnZQotdGVzdDI1OiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0MjU6
IEFYUm9sZTogQVhJbWFnZQogdGVzdDI2OiBFbGVtZW50IG5vdCBleHBvc2VkCiB0ZXN0Mjc6IEVs
ZW1lbnQgbm90IGV4cG9zZWQKIHRlc3QyODogRWxlbWVudCBub3QgZXhwb3NlZApAQCAtMzcsNiAr
MzcsMTEgQEAgdGVzdDMxOiBFbGVtZW50IG5vdCBleHBvc2VkCiB0ZXN0MzI6IEVsZW1lbnQgbm90
IGV4cG9zZWQKIHRlc3QzMzogRWxlbWVudCBub3QgZXhwb3NlZAogdGVzdDM0OiBFbGVtZW50IG5v
dCBleHBvc2VkCit0ZXN0MzU6IEVsZW1lbnQgbm90IGV4cG9zZWQKK3Rlc3QzNjogRWxlbWVudCBu
b3QgZXhwb3NlZAordGVzdDM3OiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0Mzg6IEVsZW1lbnQg
bm90IGV4cG9zZWQKK3Rlc3QzOTogRWxlbWVudCBub3QgZXhwb3NlZAogUEFTUyBzdWNjZXNzZnVs
bHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS93M2Mtc3ZnLXByZXNlbnRhdGlvbmFsLXJvbGUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvdzNj
LXN2Zy1wcmVzZW50YXRpb25hbC1yb2xlLWV4cGVjdGVkLnR4dAppbmRleCBkMWQyMjdmYzA1ODMx
MmMyZWU5ZWE0YWIxMzA4ZmE2M2U2MDM0Njc3Li5iZDY4NWI3NzdkYjljMjEyNjZlZWI2ZWFiMDZh
MjFmYzBhZmFiYjM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNz
aWJpbGl0eS93M2Mtc3ZnLXByZXNlbnRhdGlvbmFsLXJvbGUtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3czYy1zdmctcHJlc2VudGF0aW9u
YWwtcm9sZS1leHBlY3RlZC50eHQKQEAgLTQsMzAgKzQsMzAgQEAgT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUKIAogCiB0ZXN0MTogQVhSb2xlOiBBWEdyb3VwCi10ZXN0MjogRWxlbWVudCBub3QgZXhw
b3NlZAotdGVzdDM6IEVsZW1lbnQgbm90IGV4cG9zZWQKLXRlc3Q0OiBFbGVtZW50IG5vdCBleHBv
c2VkCit0ZXN0MjogQVhSb2xlOiBBWEdyb3VwCit0ZXN0MzogQVhSb2xlOiBBWEltYWdlCit0ZXN0
NDogQVhSb2xlOiBBWEdyb3VwCiB0ZXN0NTogQVhSb2xlOiBBWEltYWdlCi10ZXN0NjogRWxlbWVu
dCBub3QgZXhwb3NlZAordGVzdDY6IEFYUm9sZTogQVhJbWFnZQogdGVzdDc6IEFYUm9sZTogQVhJ
bWFnZQotdGVzdDg6IEVsZW1lbnQgbm90IGV4cG9zZWQKK3Rlc3Q4OiBBWFJvbGU6IEFYSW1hZ2UK
IHRlc3Q5OiBBWFJvbGU6IEFYSW1hZ2UKIHRlc3QxMDogQVhSb2xlOiBBWEltYWdlCi10ZXN0MTE6
IEVsZW1lbnQgbm90IGV4cG9zZWQKK3Rlc3QxMTogQVhSb2xlOiBBWEltYWdlCiB0ZXN0MTI6IEVs
ZW1lbnQgbm90IGV4cG9zZWQKIHRlc3QxMzogRWxlbWVudCBub3QgZXhwb3NlZAogdGVzdDE0OiBF
bGVtZW50IG5vdCBleHBvc2VkCiB0ZXN0MTU6IEFYUm9sZTogQVhHcm91cAotdGVzdDE2OiBFbGVt
ZW50IG5vdCBleHBvc2VkCi10ZXN0MTc6IEVsZW1lbnQgbm90IGV4cG9zZWQKLXRlc3QxODogRWxl
bWVudCBub3QgZXhwb3NlZAordGVzdDE2OiBBWFJvbGU6IEFYR3JvdXAKK3Rlc3QxNzogQVhSb2xl
OiBBWEltYWdlCit0ZXN0MTg6IEFYUm9sZTogQVhHcm91cAogdGVzdDE5OiBBWFJvbGU6IEFYSW1h
Z2UKLXRlc3QyMDogRWxlbWVudCBub3QgZXhwb3NlZAordGVzdDIwOiBBWFJvbGU6IEFYSW1hZ2UK
IHRlc3QyMTogQVhSb2xlOiBBWEltYWdlCi10ZXN0MjI6IEVsZW1lbnQgbm90IGV4cG9zZWQKK3Rl
c3QyMjogQVhSb2xlOiBBWEltYWdlCiB0ZXN0MjM6IEFYUm9sZTogQVhJbWFnZQogdGVzdDI0OiBB
WFJvbGU6IEFYSW1hZ2UKLXRlc3QyNTogRWxlbWVudCBub3QgZXhwb3NlZAordGVzdDI1OiBBWFJv
bGU6IEFYSW1hZ2UKIHRlc3QyNjogRWxlbWVudCBub3QgZXhwb3NlZAogdGVzdDI3OiBFbGVtZW50
IG5vdCBleHBvc2VkCiB0ZXN0Mjg6IEVsZW1lbnQgbm90IGV4cG9zZWQKQEAgLTM3LDYgKzM3LDEx
IEBAIHRlc3QzMTogRWxlbWVudCBub3QgZXhwb3NlZAogdGVzdDMyOiBFbGVtZW50IG5vdCBleHBv
c2VkCiB0ZXN0MzM6IEVsZW1lbnQgbm90IGV4cG9zZWQKIHRlc3QzNDogRWxlbWVudCBub3QgZXhw
b3NlZAordGVzdDM1OiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0MzY6IEVsZW1lbnQgbm90IGV4
cG9zZWQKK3Rlc3QzNzogRWxlbWVudCBub3QgZXhwb3NlZAordGVzdDM4OiBFbGVtZW50IG5vdCBl
eHBvc2VkCit0ZXN0Mzk6IEVsZW1lbnQgbm90IGV4cG9zZWQKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276321</attachid>
            <date>2016-04-13 07:57:01 -0700</date>
            <delta_ts>2016-04-14 16:39:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156519-20160413105711.patch</filename>
            <type>text/plain</type>
            <size>17908</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5MzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzA4ZWY0YWFjNTNjZjc4
NDZkNzEzYmJkNmIwMjgxOGNiZjNiMjkzYi4uZTZhZDIzZDhlOTFiM2YyMTI0NDQwZDNkODA4OGY1
NDQ0MWQ5YzU5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE2LTA0LTEzICBKb2Fu
bWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KKworICAgICAgICBBWDogUHJlc2VudGF0
aW9uYWwgcm9sZSBvbiBTVkcgZWxlbWVudHMgaXMgdHJ1bXBlZCBieSBjaGlsZCAndGl0bGUnIGFu
ZCAnZGVzYycgZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE1NjUxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE92ZXJyaWRlIHRoZSBwcmVzZW50YXRpb25hbCByb2xlIG9uIFNWRyBlbGVtZW50
cyB3aGljaCBoYXZlIGEgY2hpbGQgJ3RpdGxlJyBvciAnZGVzYycKKyAgICAgICAgZWxlbWVudC4g
QXMgYSByZXN1bHQgb2YgdGhpcyBjaGFuZ2UsIEFjY2Vzc2liaWxpdHlTVkdSb290IG9iamVjdHMg
d291bGQgYmUgZXhwb3NlZAorICAgICAgICB3aXRoIGFuIEFjY2Vzc2liaWxpdHlSb2xlIG9mIFVu
a25vd25Sb2xlLiBUaGVyZWZvcmUgbWFwIGluY2x1ZGVkIEFjY2Vzc2liaWxpdHlTVkdSb290Cisg
ICAgICAgIG9iamVjdHMgdG8gR3JvdXBSb2xlIGFzIHBlciB0aGUgU1ZHIEFjY2Vzc2liaWxpdHkg
QVBJIE1hcHBpbmcgc3BlY2lmaWNhdGlvbi4KKworICAgICAgICBVcGRhdGUgdzNjLXN2Zy1wcmVz
ZW50YXRpb25hbC1yb2xlLmh0bWwgZXhwZWN0YXRpb25zIGJlY2F1c2UgdGhlcmUgYXJlIHRlc3Qg
Y2FzZXMgaW4gd2hpY2gKKyAgICAgICAgZWxlbWVudHMgYXJlIG5vdyBiZWluZyBpbmNsdWRlZCBp
biB0aGUgYWNjZXNzaWJpbGl0eSB0cmVlIGFzIGEgcmVzdWx0IG9mIHRoaXMgY2hhbmdlLiBBbHNv
CisgICAgICAgIGFkZCBuZXcgdGVzdCBjYXNlcyB3aGljaCBsYWNrIGNoaWxkICd0aXRsZScgYW5k
ICdkZXNjJyBlbGVtZW50cy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0
eVNWR0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVNWR0VsZW1l
bnQ6OmRlc2NyaXB0aW9uRWxlbWVudEZvckxhbmd1YWdlQ29kZSk6CisgICAgICAgIChXZWJDb3Jl
OjpBY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudDo6dGl0bGVFbGVtZW50Rm9yTGFuZ3VhZ2VDb2RlKToK
KyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlTVkdFbGVtZW50OjphY2Nlc3NpYmlsaXR5
RGVzY3JpcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQ6
OmhlbHBUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlTVkdFbGVtZW50Ojpj
b21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCk6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3Np
YmlsaXR5U1ZHRWxlbWVudDo6ZGV0ZXJtaW5lQXJpYVJvbGVBdHRyaWJ1dGUpOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQuaDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdSb290Lmg6CisKIDIwMTYtMDQtMTIgIENhcmxvcyBH
YXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIFJld29y
ayBzY3JvbGxiYXJzIHRoZW1pbmcgY29kZSBmb3IgR1RLKyAzLjIwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQuY3BwCmlu
ZGV4IDBhODNiY2Q2YTI0MzRhMTkzOWFlN2RjYTM3ZjhiODIxMDYzNmUwYjUuLjU4NjViOWRiYzU3
Y2Q1ODQ1M2M2OTM5NDI3YmM0MDQxMDAwZDI2YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQuY3BwCkBAIC0zNCw4
ICszNCw2IEBACiAjaW5jbHVkZSAiTGFuZ3VhZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJJdGVyYXRv
ci5oIgogI2luY2x1ZGUgIlJlbmRlclRleHQuaCIKLSNpbmNsdWRlICJTVkdEZXNjRWxlbWVudC5o
IgotI2luY2x1ZGUgIlNWR1RpdGxlRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1VzZUVsZW1lbnQu
aCIKICNpbmNsdWRlICJYTGlua05hbWVzLmgiCiAKQEAgLTcyLDYgKzcwLDQ2IEBAIEFjY2Vzc2li
aWxpdHlPYmplY3QqIEFjY2Vzc2liaWxpdHlTVkdFbGVtZW50Ojp0YXJnZXRGb3JVc2VFbGVtZW50
KCkgY29uc3QKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAorU1ZHRGVzY0VsZW1lbnQqIEFjY2Vz
c2liaWxpdHlTVkdFbGVtZW50OjpkZXNjcmlwdGlvbkVsZW1lbnRGb3JMYW5ndWFnZUNvZGUoY29u
c3QgU3RyaW5nJiBsYW5ndWFnZUNvZGUpIGNvbnN0Cit7CisgICAgLy8gSW4gU1ZHMiwgdGhlICds
YW5nJyBhdHRyaWJ1dGUgaGFzIGJlZW4gYWRkZWQgdG8gYWxsb3cgaW50ZXJuYXRpb25hbGl6YXRp
b24gb2YgdGhlICdkZXNjJyBhbmQKKyAgICAvLyAndGl0bGUnIGVsZW1lbnRzLiBXZSBjYXJlIGFi
b3V0IHRoZSB2YWx1ZSBvZiB0aGUgJ2xhbmcnIGF0dHJpYnV0ZSB3aGVuIHBlcmZvcm1pbmcgdGhl
IHRleHQKKyAgICAvLyBhbHRlcm5hdGl2ZSBjYWxjdWxhdGlvbi4gQnV0IHdoZW4gZGV0ZXJtaW5p
bmcgd2hldGhlciBvciBub3QgYW4gZWxlbWVudCBzaG91bGQgYmUgaW5jbHVkZWQgaW4KKyAgICAv
LyB0aGUgYWNjZXNzaWJpbGl0eSB0cmVlLCBhbnkgJ2Rlc2MnIGNoaWxkIGVsZW1lbnQgaXMgc3Vm
ZmljaWVudCBmb3IgaW5jbHVzaW9uLgorCisgICAgU3RyaW5nIGNoaWxkTGFuZ3VhZ2VDb2RlOwor
ICAgIGZvciAoYXV0byYgY2hpbGQgOiBjaGlsZHJlbk9mVHlwZTxTVkdEZXNjRWxlbWVudD4oKmVs
ZW1lbnQoKSkpIHsKKyAgICAgICAgaWYgKGxhbmd1YWdlQ29kZS5pc0VtcHR5KCkpCisgICAgICAg
ICAgICByZXR1cm4gJmNoaWxkOworCisgICAgICAgIGNoaWxkTGFuZ3VhZ2VDb2RlID0gY2hpbGQu
Z2V0QXR0cmlidXRlKFNWR05hbWVzOjpsYW5nQXR0cik7CisgICAgICAgIGlmIChjaGlsZExhbmd1
YWdlQ29kZSA9PSBsYW5ndWFnZUNvZGUgfHwgY2hpbGRMYW5ndWFnZUNvZGUuaXNFbXB0eSgpKQor
ICAgICAgICAgICAgcmV0dXJuICZjaGlsZDsKKyAgICB9CisKKyAgICByZXR1cm4gbnVsbHB0cjsK
K30KKworU1ZHVGl0bGVFbGVtZW50KiBBY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudDo6dGl0bGVFbGVt
ZW50Rm9yTGFuZ3VhZ2VDb2RlKGNvbnN0IFN0cmluZyYgbGFuZ3VhZ2VDb2RlKSBjb25zdAorewor
ICAgIC8vIEluIFNWRzIsIHRoZSAnbGFuZycgYXR0cmlidXRlIGhhcyBiZWVuIGFkZGVkIHRvIGFs
bG93IGludGVybmF0aW9uYWxpemF0aW9uIG9mIHRoZSAnZGVzYycgYW5kCisgICAgLy8gJ3RpdGxl
JyBlbGVtZW50cy4gV2UgY2FyZSBhYm91dCB0aGUgdmFsdWUgb2YgdGhlICdsYW5nJyBhdHRyaWJ1
dGUgd2hlbiBwZXJmb3JtaW5nIHRoZSB0ZXh0CisgICAgLy8gYWx0ZXJuYXRpdmUgY2FsY3VsYXRp
b24uIEJ1dCB3aGVuIGRldGVybWluaW5nIHdoZXRoZXIgb3Igbm90IGFuIGVsZW1lbnQgc2hvdWxk
IGJlIGluY2x1ZGVkIGluCisgICAgLy8gdGhlIGFjY2Vzc2liaWxpdHkgdHJlZSwgYW55ICd0aXRs
ZScgY2hpbGQgZWxlbWVudCBpcyBzdWZmaWNpZW50IGZvciBpbmNsdXNpb24uCisKKyAgICBTdHJp
bmcgY2hpbGRMYW5ndWFnZUNvZGU7CisgICAgZm9yIChhdXRvJiBjaGlsZCA6IGNoaWxkcmVuT2ZU
eXBlPFNWR1RpdGxlRWxlbWVudD4oKmVsZW1lbnQoKSkpIHsKKyAgICAgICAgaWYgKGxhbmd1YWdl
Q29kZS5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXR1cm4gJmNoaWxkOworCisgICAgICAgIGNo
aWxkTGFuZ3VhZ2VDb2RlID0gY2hpbGQuZ2V0QXR0cmlidXRlKFNWR05hbWVzOjpsYW5nQXR0cik7
CisgICAgICAgIGlmIChjaGlsZExhbmd1YWdlQ29kZSA9PSBsYW5ndWFnZUNvZGUgfHwgY2hpbGRM
YW5ndWFnZUNvZGUuaXNFbXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuICZjaGlsZDsKKyAgICB9
CisKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogdm9pZCBBY2Nlc3NpYmlsaXR5U1ZHRWxlbWVu
dDo6YWNjZXNzaWJpbGl0eVRleHQoVmVjdG9yPEFjY2Vzc2liaWxpdHlUZXh0PiYgdGV4dE9yZGVy
KQogewogICAgIFN0cmluZyBkZXNjcmlwdGlvbiA9IGFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigp
OwpAQCAtOTcsMTYgKzEzNSwxMiBAQCBTdHJpbmcgQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQ6OmFj
Y2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpIGNvbnN0CiAgICAgaWYgKCFhcmlhRGVzY3JpcHRpb24u
aXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gYXJpYURlc2NyaXB0aW9uOwogCi0gICAgU3RyaW5n
IGxhbmcgPSBsYW5ndWFnZSgpOwotICAgIGlmIChsYW5nLmlzRW1wdHkoKSkKLSAgICAgICAgbGFu
ZyA9IGRlZmF1bHRMYW5ndWFnZSgpLnN1YnN0cmluZygwLCAyKTsKKyAgICBTdHJpbmcgbGFuZ3Vh
Z2VDb2RlID0gbGFuZ3VhZ2UoKTsKKyAgICBpZiAobGFuZ3VhZ2VDb2RlLmlzRW1wdHkoKSkKKyAg
ICAgICAgbGFuZ3VhZ2VDb2RlID0gZGVmYXVsdExhbmd1YWdlKCkuc3Vic3RyaW5nKDAsIDIpOwog
Ci0gICAgU3RyaW5nIGNoaWxkTGFuZzsKLSAgICBmb3IgKGNvbnN0IGF1dG8mIGNoaWxkIDogY2hp
bGRyZW5PZlR5cGU8U1ZHVGl0bGVFbGVtZW50PigqZWxlbWVudCgpKSkgewotICAgICAgICBjaGls
ZExhbmcgPSBjaGlsZC5nZXRBdHRyaWJ1dGUoU1ZHTmFtZXM6OmxhbmdBdHRyKTsKLSAgICAgICAg
aWYgKGNoaWxkTGFuZyA9PSBsYW5nIHx8IGNoaWxkTGFuZy5pc0VtcHR5KCkpCi0gICAgICAgICAg
ICByZXR1cm4gY2hpbGQudGV4dENvbnRlbnQoKTsKLSAgICB9CisgICAgaWYgKFNWR1RpdGxlRWxl
bWVudCogY2hpbGQgPSB0aXRsZUVsZW1lbnRGb3JMYW5ndWFnZUNvZGUobGFuZ3VhZ2VDb2RlKSkK
KyAgICAgICAgcmV0dXJuIGNoaWxkLT50ZXh0Q29udGVudCgpOwogCiAgICAgaWYgKGlzPFNWR0FF
bGVtZW50PihlbGVtZW50KCkpKSB7CiAgICAgICAgIFN0cmluZyB4bGlua1RpdGxlID0gZWxlbWVu
dCgpLT5mYXN0R2V0QXR0cmlidXRlKFhMaW5rTmFtZXM6OnRpdGxlQXR0cik7CkBAIC0xNTEsMTYg
KzE4NSwxMiBAQCBTdHJpbmcgQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQ6OmhlbHBUZXh0KCkgY29u
c3QKICAgICBpZiAoIWRlc2NyaWJlZEJ5LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGRlc2Ny
aWJlZEJ5OwogCi0gICAgU3RyaW5nIGxhbmcgPSBsYW5ndWFnZSgpOwotICAgIGlmIChsYW5nLmlz
RW1wdHkoKSkKLSAgICAgICAgbGFuZyA9IGRlZmF1bHRMYW5ndWFnZSgpLnN1YnN0cmluZygwLCAy
KTsKKyAgICBTdHJpbmcgbGFuZ3VhZ2VDb2RlID0gbGFuZ3VhZ2UoKTsKKyAgICBpZiAobGFuZ3Vh
Z2VDb2RlLmlzRW1wdHkoKSkKKyAgICAgICAgbGFuZ3VhZ2VDb2RlID0gZGVmYXVsdExhbmd1YWdl
KCkuc3Vic3RyaW5nKDAsIDIpOwogCi0gICAgU3RyaW5nIGNoaWxkTGFuZzsKLSAgICBmb3IgKGNv
bnN0IGF1dG8mIGNoaWxkIDogY2hpbGRyZW5PZlR5cGU8U1ZHRGVzY0VsZW1lbnQ+KCplbGVtZW50
KCkpKSB7Ci0gICAgICAgIGNoaWxkTGFuZyA9IGNoaWxkLmdldEF0dHJpYnV0ZShTVkdOYW1lczo6
bGFuZ0F0dHIpOwotICAgICAgICBpZiAoY2hpbGRMYW5nID09IGxhbmcgfHwgY2hpbGRMYW5nLmlz
RW1wdHkoKSkKLSAgICAgICAgICAgIHJldHVybiBjaGlsZC50ZXh0Q29udGVudCgpOwotICAgIH0K
KyAgICBpZiAoU1ZHRGVzY0VsZW1lbnQqIGNoaWxkID0gZGVzY3JpcHRpb25FbGVtZW50Rm9yTGFu
Z3VhZ2VDb2RlKGxhbmd1YWdlQ29kZSkpCisgICAgICAgIHJldHVybiBjaGlsZC0+dGV4dENvbnRl
bnQoKTsKIAogICAgIGlmIChpczxTVkdVc2VFbGVtZW50PihlbGVtZW50KCkpKSB7CiAgICAgICAg
IEFjY2Vzc2liaWxpdHlPYmplY3QqIHRhcmdldCA9IHRhcmdldEZvclVzZUVsZW1lbnQoKTsKQEAg
LTE3NywxMCArMjA3LDkgQEAgU3RyaW5nIEFjY2Vzc2liaWxpdHlTVkdFbGVtZW50OjpoZWxwVGV4
dCgpIGNvbnN0CiAgICAgICAgICAgICByZXR1cm4gdGV4dDsKICAgICB9CiAKLSAgICBmb3IgKGNv
bnN0IGF1dG8mIGNoaWxkIDogY2hpbGRyZW5PZlR5cGU8U1ZHVGl0bGVFbGVtZW50PigqZWxlbWVu
dCgpKSkgewotICAgICAgICBjaGlsZExhbmcgPSBjaGlsZC5nZXRBdHRyaWJ1dGUoU1ZHTmFtZXM6
OmxhbmdBdHRyKTsKLSAgICAgICAgaWYgKChjaGlsZExhbmcgPT0gbGFuZyB8fCBjaGlsZExhbmcu
aXNFbXB0eSgpKSAmJiBjaGlsZC50ZXh0Q29udGVudCgpICE9IGRlc2NyaXB0aW9uKQotICAgICAg
ICAgICAgcmV0dXJuIGNoaWxkLnRleHRDb250ZW50KCk7CisgICAgaWYgKFNWR1RpdGxlRWxlbWVu
dCogY2hpbGQgPSB0aXRsZUVsZW1lbnRGb3JMYW5ndWFnZUNvZGUobGFuZ3VhZ2VDb2RlKSkgewor
ICAgICAgICBpZiAoY2hpbGQtPnRleHRDb250ZW50KCkgIT0gZGVzY3JpcHRpb24pCisgICAgICAg
ICAgICByZXR1cm4gY2hpbGQtPnRleHRDb250ZW50KCk7CiAgICAgfQogCiAgICAgcmV0dXJuIFN0
cmluZygpOwpAQCAtMTkxLDcgKzIyMCw4IEBAIGJvb2wgQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQ6
OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QKICAgICAvLyBBY2NvcmRpbmcg
dG8gdGhlIFNWRyBBY2Nlc3NpYmlsaXR5IEFQSSBNYXBwaW5ncyBzcGVjLCBpdGVtcyBzaG91bGQg
YmUgZXhjbHVkZWQgaWY6CiAgICAgLy8gKiBUaGV5IHdvdWxkIGJlIGV4Y2x1ZGVkIGFjY29yZGlu
ZyB0byB0aGUgQ29yZSBBY2Nlc3NpYmlsaXR5IEFQSSBNYXBwaW5ncy4KICAgICAvLyAqIFRoZXkg
YXJlIG5laXRoZXIgcGVyY2VpdmFibGUgbm9yIGludGVyYWN0aXZlLgotICAgIC8vICogVGhlaXIg
Zmlyc3QgbWFwcGFibGUgcm9sZSBpcyBwcmVzZW50YXRpb25hbCwgcmVnYXJkbGVzcyBvZiBvdGhl
ciBBUklBIGF0dHJpYnV0ZXMuCisgICAgLy8gKiBUaGVpciBmaXJzdCBtYXBwYWJsZSByb2xlIGlz
IHByZXNlbnRhdGlvbmFsLCB1bmxlc3MgdGhleSBoYXZlIGEgZ2xvYmFsIEFSSUEKKyAgICAvLyAg
IGF0dHJpYnV0ZSAoY292ZXJlZCBieSBDb3JlIEFBTSkgb3IgYXQgbGVhc3Qgb25lICd0aXRsZScg
b3IgJ2Rlc2MnIGNoaWxkIGVsZW1lbnQuCiAgICAgLy8gKiBUaGV5IGhhdmUgYW4gYW5jZXN0b3Ig
d2l0aCBDaGlsZHJlbiBQcmVzZW50YXRpb25hbDogVHJ1ZSAoY292ZXJlZCBieSBDb3JlIEFBTSkK
IAogICAgIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24gZGVjaXNpb24gPSBkZWZhdWx0T2Jq
ZWN0SW5jbHVzaW9uKCk7CkBAIC0yMDEsMTggKzIzMSwxNSBAQCBib29sIEFjY2Vzc2liaWxpdHlT
VkdFbGVtZW50Ojpjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0CiAgICAgaWYg
KG1fcmVuZGVyZXItPmlzU1ZHSGlkZGVuQ29udGFpbmVyKCkpCiAgICAgICAgIHJldHVybiB0cnVl
OwogCisgICAgaWYgKHRpdGxlRWxlbWVudEZvckxhbmd1YWdlQ29kZShTdHJpbmcoKSkgfHwgZGVz
Y3JpcHRpb25FbGVtZW50Rm9yTGFuZ3VhZ2VDb2RlKFN0cmluZygpKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCiAgICAgaWYgKHJvbGVWYWx1ZSgpID09IFByZXNlbnRhdGlvbmFsUm9sZSB8fCBp
bmhlcml0c1ByZXNlbnRhdGlvbmFsUm9sZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAg
IGlmIChhcmlhUm9sZUF0dHJpYnV0ZSgpICE9IFVua25vd25Sb2xlKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKLSAgICAvLyBUaGUgU1ZHIEFBTSBzdGF0ZXMgb2JqZWN0cyB3aXRoIGF0IGxlYXN0
IG9uZSAndGl0bGUnIG9yICdkZXNjJyBlbGVtZW50IE1VU1QgYmUgaW5jbHVkZWQuCi0gICAgZm9y
IChjb25zdCBhdXRvJiBjaGlsZCA6IGNoaWxkcmVuT2ZUeXBlPFNWR0VsZW1lbnQ+KCplbGVtZW50
KCkpKSB7Ci0gICAgICAgIGlmICgoaXM8U1ZHVGl0bGVFbGVtZW50PihjaGlsZCkgfHwgaXM8U1ZH
RGVzY0VsZW1lbnQ+KGNoaWxkKSkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQot
CiAgICAgLy8gVGhlIFNWRyBBQU0gc3RhdGVzIHRleHQgZWxlbWVudHMgc2hvdWxkIGFsc28gYmUg
aW5jbHVkZWQsIGlmIHRoZXkgaGF2ZSBjb250ZW50LgogICAgIGlmIChtX3JlbmRlcmVyLT5pc1NW
R1RleHQoKSB8fCBtX3JlbmRlcmVyLT5pc1NWR1RleHRQYXRoKCkpIHsKICAgICAgICAgZm9yIChh
dXRvJiBjaGlsZCA6IGNoaWxkcmVuT2ZUeXBlPFJlbmRlclRleHQ+KGRvd25jYXN0PFJlbmRlckVs
ZW1lbnQ+KCptX3JlbmRlcmVyKSkpIHsKQEAgLTI0Niw2ICsyNzMsMjAgQEAgYm9vbCBBY2Nlc3Np
YmlsaXR5U1ZHRWxlbWVudDo6aW5oZXJpdHNQcmVzZW50YXRpb25hbFJvbGUoKSBjb25zdAogICAg
IHJldHVybiBmYWxzZTsKIH0KIAorQWNjZXNzaWJpbGl0eVJvbGUgQWNjZXNzaWJpbGl0eVNWR0Vs
ZW1lbnQ6OmRldGVybWluZUFyaWFSb2xlQXR0cmlidXRlKCkgY29uc3QKK3sKKyAgICBBY2Nlc3Np
YmlsaXR5Um9sZSByb2xlID0gQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6ZGV0ZXJtaW5lQXJp
YVJvbGVBdHRyaWJ1dGUoKTsKKyAgICBpZiAocm9sZSAhPSBQcmVzZW50YXRpb25hbFJvbGUpCisg
ICAgICAgIHJldHVybiByb2xlOworCisgICAgLy8gVGhlIHByZXNlbmNlIG9mIGEgJ3RpdGxlJyBv
ciAnZGVzYycgY2hpbGQgZWxlbWVudCB0cnVtcHMgUHJlc2VudGF0aW9uYWxSb2xlLgorICAgIC8v
IGh0dHBzOi8vbGlzdHMudzMub3JnL0FyY2hpdmVzL1B1YmxpYy9wdWJsaWMtc3ZnLWExMXkvMjAx
NkFwci8wMDE2Lmh0bWwKKyAgICBpZiAodGl0bGVFbGVtZW50Rm9yTGFuZ3VhZ2VDb2RlKFN0cmlu
ZygpKSB8fCBkZXNjcmlwdGlvbkVsZW1lbnRGb3JMYW5ndWFnZUNvZGUoU3RyaW5nKCkpKQorICAg
ICAgICByZXR1cm4gVW5rbm93blJvbGU7CisKKyAgICByZXR1cm4gcm9sZTsKK30KKwogQWNjZXNz
aWJpbGl0eVJvbGUgQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQ6OmRldGVybWluZUFjY2Vzc2liaWxp
dHlSb2xlKCkKIHsKICAgICBpZiAoKG1fYXJpYVJvbGUgPSBkZXRlcm1pbmVBcmlhUm9sZUF0dHJp
YnV0ZSgpKSAhPSBVbmtub3duUm9sZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQuaAppbmRleCAxMTM4OGI0ODE2NzE5ZDQ2
MDg5NTBkYmM4MGMzN2I4MDNhM2U0MzAxLi40NTdiOWMwNWQ4M2EzMzU3MzE4OTk1ODEzZTdkYmZi
OGIzZTYxNWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlTVkdFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
Y2Nlc3NpYmlsaXR5U1ZHRWxlbWVudC5oCkBAIC0yOSw2ICsyOSw4IEBACiAjZGVmaW5lIEFjY2Vz
c2liaWxpdHlTVkdFbGVtZW50X2gKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlSZW5kZXJPYmpl
Y3QuaCIKKyNpbmNsdWRlICJTVkdEZXNjRWxlbWVudC5oIgorI2luY2x1ZGUgIlNWR1RpdGxlRWxl
bWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQ3LDExICs0OSwxNCBAQCBwcm90
ZWN0ZWQ6CiBwcml2YXRlOgogICAgIHZvaWQgYWNjZXNzaWJpbGl0eVRleHQoVmVjdG9yPEFjY2Vz
c2liaWxpdHlUZXh0PiYpIGZpbmFsOwogICAgIEFjY2Vzc2liaWxpdHlSb2xlIGRldGVybWluZUFj
Y2Vzc2liaWxpdHlSb2xlKCkgZmluYWw7CisgICAgdmlydHVhbCBBY2Nlc3NpYmlsaXR5Um9sZSBk
ZXRlcm1pbmVBcmlhUm9sZUF0dHJpYnV0ZSgpIGNvbnN0OwogICAgIGJvb2wgaW5oZXJpdHNQcmVz
ZW50YXRpb25hbFJvbGUoKSBjb25zdCBmaW5hbDsKICAgICBib29sIGlzQWNjZXNzaWJpbGl0eVNW
R0VsZW1lbnQoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAgICAgYm9vbCBjb21wdXRl
QWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0IGZpbmFsOwogCiAgICAgQWNjZXNzaWJpbGl0
eU9iamVjdCogdGFyZ2V0Rm9yVXNlRWxlbWVudCgpIGNvbnN0OworICAgIFNWR0Rlc2NFbGVtZW50
KiBkZXNjcmlwdGlvbkVsZW1lbnRGb3JMYW5ndWFnZUNvZGUoY29uc3QgU3RyaW5nJikgY29uc3Q7
CisgICAgU1ZHVGl0bGVFbGVtZW50KiB0aXRsZUVsZW1lbnRGb3JMYW5ndWFnZUNvZGUoY29uc3Qg
U3RyaW5nJikgY29uc3Q7CiB9OwogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eVNWR1Jvb3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eVNWR1Jvb3QuaAppbmRleCBjZjE2YjVlNmNhNDAyYTBiYTc5OGQ1
YWRiZDMyNGE5YTA1NTE4NTc3Li5mY2JhYThkN2RiNTRjMjRjZjA2YzE2ZjhjOWRjYjBmZTU3MTk4
MWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlTVkdSb290LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5U1ZHUm9vdC5oCkBAIC00Nyw2ICs0Nyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBpc0FjY2Vz
c2liaWxpdHlTVkdSb290KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogCiAgICAg
QWNjZXNzaWJpbGl0eU9iamVjdCogbV9wYXJlbnQ7CisgICAgQWNjZXNzaWJpbGl0eVJvbGUgcm9s
ZVZhbHVlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gR3JvdXBSb2xlOyB9CiB9OwogICAgIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZSAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxMmVhNjI1NTA5MDk5OGI4YzRkYTg0OTk2
NmJkMmQ5ZmVjZDI3ZjhhLi5hOTFkZTMzOThjNTNkNGIyMTc4YmU5NGQxMjViNTkxODVmMzcxMDZl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTYtMDQtMTMgIEpvYW5tYXJpZSBEaWdncyAgPGpk
aWdnc0BpZ2FsaWEuY29tPgorCisgICAgICAgIEFYOiBQcmVzZW50YXRpb25hbCByb2xlIG9uIFNW
RyBlbGVtZW50cyBpcyB0cnVtcGVkIGJ5IGNoaWxkICd0aXRsZScgYW5kICdkZXNjJyBlbGVtZW50
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2NTE5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRl
IHczYy1zdmctcHJlc2VudGF0aW9uYWwtcm9sZS5odG1sIGV4cGVjdGF0aW9ucyBiZWNhdXNlIHRo
ZXJlIGFyZSB0ZXN0IGNhc2VzIGluIHdoaWNoCisgICAgICAgIGVsZW1lbnRzIGFyZSBub3cgYmVp
bmcgaW5jbHVkZWQgaW4gdGhlIGFjY2Vzc2liaWxpdHkgdHJlZSBhcyBhIHJlc3VsdCBvZiB0aGlz
IGNoYW5nZS4gQWxzbworICAgICAgICBhZGQgbmV3IHRlc3QgY2FzZXMgd2hpY2ggbGFjayBjaGls
ZCAndGl0bGUnIGFuZCAnZGVzYycgZWxlbWVudHMuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5
L3czYy1zdmctcHJlc2VudGF0aW9uYWwtcm9sZS5odG1sOiBOZXcgdGVzdCBjYXNlcyBhZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS93M2Mtc3ZnLXByZXNlbnRhdGlv
bmFsLXJvbGUtZXhwZWN0ZWQudHh0OiBVcGRhdGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9h
Y2Nlc3NpYmlsaXR5L3czYy1zdmctcHJlc2VudGF0aW9uYWwtcm9sZS1leHBlY3RlZC50eHQ6IFVw
ZGF0ZWQuCisKIDIwMTYtMDMtMTcgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW2Nzcy1ncmlkXSBBZGQgcGFyc2luZyBzdXBwb3J0IGZvciA8YXV0
by1yZXBlYXQ+IHN5bnRheApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS93
M2Mtc3ZnLXByZXNlbnRhdGlvbmFsLXJvbGUuaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvdzNjLXN2Zy1wcmVzZW50YXRpb25hbC1yb2xlLmh0bWwKaW5kZXggNWJjZTE1NzhhYTAxZTdi
NzlmMjI0ZGRkNjQ2ZTJhZDYwY2Y0NTg0Mi4uMTM4ODBlZmJlNzczMmI0MDQwYmE4MTUzNTJkOTUx
ZDQyMTI4MmMwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS93M2Mtc3Zn
LXByZXNlbnRhdGlvbmFsLXJvbGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L3czYy1zdmctcHJlc2VudGF0aW9uYWwtcm9sZS5odG1sCkBAIC0xNTYsMTMgKzE1NiwzMiBAQAog
PHN2Zz4KICAgPHBvbHlsaW5lIGlkPSJ0ZXN0MzQiIGZpbGw9InByZXNlbnRhdGlvbiIgc3Ryb2tl
PSJibHVlIiBzdHJva2Utd2lkdGg9IjEwIiBwb2ludHM9IjUwLDM3NSAxNTAsMzc1IDE1MCwzMjUg
MjUwLDMyNSAyNTAsMzc1IDM1MCwzNzUgMzUwLDI1MCA0NTAsMjUwIDQ1MCwzNzUgNTUwLDM3NSA1
NTAsMTc1IDY1MCwxNzUgNjUwLDM3NSA3NTAsMzc1IDc1MCwxMDAgODUwLDEwMCA4NTAsMzc1IDk1
MCwzNzUgOTUwLDI1IDEwNTAsMjUgMTA1MCwzNzUgMTE1MCwzNzUiIHJvbGU9InByZXNlbnRhdGlv
biIvPgogPC9zdmc+Cis8c3ZnPgorICA8ZyBpZD0idGVzdDM1IiByb2xlPSJwcmVzZW50YXRpb24i
PgorICAgIDxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIHI9IjIwIiBhcmlhLWxhYmVsPSJzZXQgQSIv
PgorICAgIDxjaXJjbGUgY3g9IjUwIiBjeT0iNzUiIHI9IjIwIiBhcmlhLWxhYmVsPSJzZXQgQiIv
PgorICA8L2c+Cis8L3N2Zz4KKzxzdmc+CisgIDxpbWFnZSBpZD0idGVzdDM2IiB4PSIyMDAiIHk9
IjIwMCIgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9IjEwMHB4IiBocmVmPSJteWltYWdlLnBuZyIgcm9s
ZT0icHJlc2VudGF0aW9uIj48L2ltYWdlPgorPC9zdmc+Cis8c3ZnPgorICA8cGF0aCBpZD0idGVz
dDM3IiBkPSJNIDEwMCAxMDAgTCAzMDAgMTAwIEwgMjAwIDMwMCB6IiBmaWxsPSJyZWQiIHJvbGU9
InByZXNlbnRhdGlvbiI+PC9wYXRoPgorPC9zdmc+Cis8c3ZnPgorICA8ZWxsaXBzZSBpZD0idGVz
dDM4IiBjeD0iMTAiIGN5PSIxMDAiIHJ4PSIyNSIgcnk9IjE1IiByb2xlPSJwcmVzZW50YXRpb24i
PjwvZWxsaXBzZT4KKzwvc3ZnPgorPHN2Zz4KKyAgPHBvbHlnb24gaWQ9InRlc3QzOSIgZmlsbD0i
bWFnZW50YSIgcG9pbnRzPSI4NTAsNzUgOTU4LDEzNy41IDk1OCwyNjIuNSA4NTAsMzI1IDc0Miwy
NjIuNiA3NDIsMTM3LjUiIHJvbGU9InByZXNlbnRhdGlvbiI+CisgIDwvcG9seWdvbj4KKzwvc3Zn
PgogPC9kaXY+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgogPHNjcmlwdD4KICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0IFNWRyBlbGVt
ZW50cyB3aXRoIHJvbGUgcHJlc2VudGF0aW9uIGFyZSBub3QgZXhwb3NlZC4iKTsKICAgICBpZiAo
d2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0gICAgICAgIGZvciAodmFyIGkgPSAx
OyBpIDw9IDM0OyBpKyspIHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPD0gMzk7IGkrKykg
ewogICAgICAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVz
dCIgKyBpKTsKICAgICAgICAgICAgIHZhciBheEVsZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJv
bGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoInRlc3QiICsgaSk7CiAgICAgICAgICAgICBkZWJ1
ZygidGVzdCIgKyBpICsgIjogIiArIChheEVsZW1lbnQgPyBheEVsZW1lbnQucm9sZSA6ICJFbGVt
ZW50IG5vdCBleHBvc2VkIikpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L2FjY2Vzc2liaWxpdHkvdzNjLXN2Zy1wcmVzZW50YXRpb25hbC1yb2xlLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3czYy1zdmctcHJlc2VudGF0
aW9uYWwtcm9sZS1leHBlY3RlZC50eHQKaW5kZXggZDFkMjI3ZmMwNTgzMTJjMmVlOWVhNGFiMTMw
OGZhNjNlNjAzNDY3Ny4uYmQ2ODViNzc3ZGI5YzIxMjY2ZWViNmVhYjA2YTIxZmMwYWZhYmIzOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdzNjLXN2
Zy1wcmVzZW50YXRpb25hbC1yb2xlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS93M2Mtc3ZnLXByZXNlbnRhdGlvbmFsLXJvbGUtZXhwZWN0
ZWQudHh0CkBAIC00LDMwICs0LDMwIEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIAogdGVz
dDE6IEFYUm9sZTogQVhHcm91cAotdGVzdDI6IEVsZW1lbnQgbm90IGV4cG9zZWQKLXRlc3QzOiBF
bGVtZW50IG5vdCBleHBvc2VkCi10ZXN0NDogRWxlbWVudCBub3QgZXhwb3NlZAordGVzdDI6IEFY
Um9sZTogQVhHcm91cAordGVzdDM6IEFYUm9sZTogQVhJbWFnZQordGVzdDQ6IEFYUm9sZTogQVhH
cm91cAogdGVzdDU6IEFYUm9sZTogQVhJbWFnZQotdGVzdDY6IEVsZW1lbnQgbm90IGV4cG9zZWQK
K3Rlc3Q2OiBBWFJvbGU6IEFYSW1hZ2UKIHRlc3Q3OiBBWFJvbGU6IEFYSW1hZ2UKLXRlc3Q4OiBF
bGVtZW50IG5vdCBleHBvc2VkCit0ZXN0ODogQVhSb2xlOiBBWEltYWdlCiB0ZXN0OTogQVhSb2xl
OiBBWEltYWdlCiB0ZXN0MTA6IEFYUm9sZTogQVhJbWFnZQotdGVzdDExOiBFbGVtZW50IG5vdCBl
eHBvc2VkCit0ZXN0MTE6IEFYUm9sZTogQVhJbWFnZQogdGVzdDEyOiBFbGVtZW50IG5vdCBleHBv
c2VkCiB0ZXN0MTM6IEVsZW1lbnQgbm90IGV4cG9zZWQKIHRlc3QxNDogRWxlbWVudCBub3QgZXhw
b3NlZAogdGVzdDE1OiBBWFJvbGU6IEFYR3JvdXAKLXRlc3QxNjogRWxlbWVudCBub3QgZXhwb3Nl
ZAotdGVzdDE3OiBFbGVtZW50IG5vdCBleHBvc2VkCi10ZXN0MTg6IEVsZW1lbnQgbm90IGV4cG9z
ZWQKK3Rlc3QxNjogQVhSb2xlOiBBWEdyb3VwCit0ZXN0MTc6IEFYUm9sZTogQVhJbWFnZQordGVz
dDE4OiBBWFJvbGU6IEFYR3JvdXAKIHRlc3QxOTogQVhSb2xlOiBBWEltYWdlCi10ZXN0MjA6IEVs
ZW1lbnQgbm90IGV4cG9zZWQKK3Rlc3QyMDogQVhSb2xlOiBBWEltYWdlCiB0ZXN0MjE6IEFYUm9s
ZTogQVhJbWFnZQotdGVzdDIyOiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0MjI6IEFYUm9sZTog
QVhJbWFnZQogdGVzdDIzOiBBWFJvbGU6IEFYSW1hZ2UKIHRlc3QyNDogQVhSb2xlOiBBWEltYWdl
Ci10ZXN0MjU6IEVsZW1lbnQgbm90IGV4cG9zZWQKK3Rlc3QyNTogQVhSb2xlOiBBWEltYWdlCiB0
ZXN0MjY6IEVsZW1lbnQgbm90IGV4cG9zZWQKIHRlc3QyNzogRWxlbWVudCBub3QgZXhwb3NlZAog
dGVzdDI4OiBFbGVtZW50IG5vdCBleHBvc2VkCkBAIC0zNyw2ICszNywxMSBAQCB0ZXN0MzE6IEVs
ZW1lbnQgbm90IGV4cG9zZWQKIHRlc3QzMjogRWxlbWVudCBub3QgZXhwb3NlZAogdGVzdDMzOiBF
bGVtZW50IG5vdCBleHBvc2VkCiB0ZXN0MzQ6IEVsZW1lbnQgbm90IGV4cG9zZWQKK3Rlc3QzNTog
RWxlbWVudCBub3QgZXhwb3NlZAordGVzdDM2OiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0Mzc6
IEVsZW1lbnQgbm90IGV4cG9zZWQKK3Rlc3QzODogRWxlbWVudCBub3QgZXhwb3NlZAordGVzdDM5
OiBFbGVtZW50IG5vdCBleHBvc2VkCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAK
IFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nl
c3NpYmlsaXR5L3czYy1zdmctcHJlc2VudGF0aW9uYWwtcm9sZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS93M2Mtc3ZnLXByZXNlbnRhdGlvbmFs
LXJvbGUtZXhwZWN0ZWQudHh0CmluZGV4IGQxZDIyN2ZjMDU4MzEyYzJlZTllYTRhYjEzMDhmYTYz
ZTYwMzQ2NzcuLmJkNjg1Yjc3N2RiOWMyMTI2NmVlYjZlYWIwNmEyMWZjMGFmYWJiMzkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3czYy1zdmctcHJl
c2VudGF0aW9uYWwtcm9sZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2FjY2Vzc2liaWxpdHkvdzNjLXN2Zy1wcmVzZW50YXRpb25hbC1yb2xlLWV4cGVjdGVkLnR4
dApAQCAtNCwzMCArNCwzMCBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiAKIHRlc3QxOiBB
WFJvbGU6IEFYR3JvdXAKLXRlc3QyOiBFbGVtZW50IG5vdCBleHBvc2VkCi10ZXN0MzogRWxlbWVu
dCBub3QgZXhwb3NlZAotdGVzdDQ6IEVsZW1lbnQgbm90IGV4cG9zZWQKK3Rlc3QyOiBBWFJvbGU6
IEFYR3JvdXAKK3Rlc3QzOiBBWFJvbGU6IEFYSW1hZ2UKK3Rlc3Q0OiBBWFJvbGU6IEFYR3JvdXAK
IHRlc3Q1OiBBWFJvbGU6IEFYSW1hZ2UKLXRlc3Q2OiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0
NjogQVhSb2xlOiBBWEltYWdlCiB0ZXN0NzogQVhSb2xlOiBBWEltYWdlCi10ZXN0ODogRWxlbWVu
dCBub3QgZXhwb3NlZAordGVzdDg6IEFYUm9sZTogQVhJbWFnZQogdGVzdDk6IEFYUm9sZTogQVhJ
bWFnZQogdGVzdDEwOiBBWFJvbGU6IEFYSW1hZ2UKLXRlc3QxMTogRWxlbWVudCBub3QgZXhwb3Nl
ZAordGVzdDExOiBBWFJvbGU6IEFYSW1hZ2UKIHRlc3QxMjogRWxlbWVudCBub3QgZXhwb3NlZAog
dGVzdDEzOiBFbGVtZW50IG5vdCBleHBvc2VkCiB0ZXN0MTQ6IEVsZW1lbnQgbm90IGV4cG9zZWQK
IHRlc3QxNTogQVhSb2xlOiBBWEdyb3VwCi10ZXN0MTY6IEVsZW1lbnQgbm90IGV4cG9zZWQKLXRl
c3QxNzogRWxlbWVudCBub3QgZXhwb3NlZAotdGVzdDE4OiBFbGVtZW50IG5vdCBleHBvc2VkCit0
ZXN0MTY6IEFYUm9sZTogQVhHcm91cAordGVzdDE3OiBBWFJvbGU6IEFYSW1hZ2UKK3Rlc3QxODog
QVhSb2xlOiBBWEdyb3VwCiB0ZXN0MTk6IEFYUm9sZTogQVhJbWFnZQotdGVzdDIwOiBFbGVtZW50
IG5vdCBleHBvc2VkCit0ZXN0MjA6IEFYUm9sZTogQVhJbWFnZQogdGVzdDIxOiBBWFJvbGU6IEFY
SW1hZ2UKLXRlc3QyMjogRWxlbWVudCBub3QgZXhwb3NlZAordGVzdDIyOiBBWFJvbGU6IEFYSW1h
Z2UKIHRlc3QyMzogQVhSb2xlOiBBWEltYWdlCiB0ZXN0MjQ6IEFYUm9sZTogQVhJbWFnZQotdGVz
dDI1OiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0MjU6IEFYUm9sZTogQVhJbWFnZQogdGVzdDI2
OiBFbGVtZW50IG5vdCBleHBvc2VkCiB0ZXN0Mjc6IEVsZW1lbnQgbm90IGV4cG9zZWQKIHRlc3Qy
ODogRWxlbWVudCBub3QgZXhwb3NlZApAQCAtMzcsNiArMzcsMTEgQEAgdGVzdDMxOiBFbGVtZW50
IG5vdCBleHBvc2VkCiB0ZXN0MzI6IEVsZW1lbnQgbm90IGV4cG9zZWQKIHRlc3QzMzogRWxlbWVu
dCBub3QgZXhwb3NlZAogdGVzdDM0OiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0MzU6IEVsZW1l
bnQgbm90IGV4cG9zZWQKK3Rlc3QzNjogRWxlbWVudCBub3QgZXhwb3NlZAordGVzdDM3OiBFbGVt
ZW50IG5vdCBleHBvc2VkCit0ZXN0Mzg6IEVsZW1lbnQgbm90IGV4cG9zZWQKK3Rlc3QzOTogRWxl
bWVudCBub3QgZXhwb3NlZAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNU
IENPTVBMRVRFCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276449</attachid>
            <date>2016-04-14 16:40:03 -0700</date>
            <delta_ts>2016-04-15 07:13:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156519-20160414194015.patch</filename>
            <type>text/plain</type>
            <size>30445</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5MzQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzA4ZWY0YWFjNTNjZjc4
NDZkNzEzYmJkNmIwMjgxOGNiZjNiMjkzYi4uZjFjYTUwYTdiMTc5MTNmYWZkNGU3NDhkNjM1YjMx
YjZlNGZhZmFmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE2LTA0LTE0ICBKb2Fu
bWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KKworICAgICAgICBBWDogUHJlc2VudGF0
aW9uYWwgcm9sZSBvbiBTVkcgZWxlbWVudHMgaXMgdHJ1bXBlZCBieSBjaGlsZCAndGl0bGUnIGFu
ZCAnZGVzYycgZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE1NjUxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE92ZXJyaWRlIHRoZSBwcmVzZW50YXRpb25hbCByb2xlIG9uIFNWRyBlbGVtZW50
cyB3aGljaCBoYXZlIGEgY2hpbGQgJ3RpdGxlJyBvciAnZGVzYycKKyAgICAgICAgZWxlbWVudC4g
QXMgYSByZXN1bHQgb2YgdGhpcyBjaGFuZ2UsIEFjY2Vzc2liaWxpdHlTVkdSb290IG9iamVjdHMg
d291bGQgYmUgZXhwb3NlZAorICAgICAgICB3aXRoIGFuIEFjY2Vzc2liaWxpdHlSb2xlIG9mIFVu
a25vd25Sb2xlLiBUaGVyZWZvcmUgbWFwIGluY2x1ZGVkIEFjY2Vzc2liaWxpdHlTVkdSb290Cisg
ICAgICAgIG9iamVjdHMgdG8gR3JvdXBSb2xlIGFzIHBlciB0aGUgU1ZHIEFjY2Vzc2liaWxpdHkg
QVBJIE1hcHBpbmcgc3BlY2lmaWNhdGlvbi4KKworICAgICAgICBBbHNvIHVzZSBpbmRleE9mQmVz
dE1hdGNoaW5nTGFuZ3VhZ2VJbkxpc3QoKSB0byBpZGVudGlmeSB3aGljaCBjaGlsZCAndGl0bGUn
IG9yICdkZXNjJworICAgICAgICBlbGVtZW50IGlzIHRoZSBiZXN0IG1hdGNoIGZvciB0aGUgcGFy
ZW50IGVsZW1lbnQuCisKKyAgICAgICAgTmV3IFRlc3Q6IGFjY2Vzc2liaWxpdHkvdzNjLXN2Zy1j
b250ZW50LWxhbmd1YWdlLWF0dHJpYnV0ZS5odG1sCisKKyAgICAgICAgQWxzbzogVXBkYXRlIHcz
Yy1zdmctcHJlc2VudGF0aW9uYWwtcm9sZS5odG1sIGV4cGVjdGF0aW9ucyBiZWNhdXNlIHRoZXJl
IGFyZSB0ZXN0IGNhc2VzCisgICAgICAgIGluIHdoaWNoIGVsZW1lbnRzIGFyZSBub3cgYmVpbmcg
aW5jbHVkZWQgaW4gdGhlIGFjY2Vzc2liaWxpdHkgdHJlZSBhcyBhIHJlc3VsdCBvZiB0aGlzCisg
ICAgICAgIGNoYW5nZS4gQWxzbyBhZGQgbmV3IHRlc3QgY2FzZXMgd2hpY2ggbGFjayBjaGlsZCAn
dGl0bGUnIGFuZCAnZGVzYycgZWxlbWVudHMuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0Lmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5U1ZHRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5U1ZH
RWxlbWVudDo6Y2hpbGRFbGVtZW50V2l0aE1hdGNoaW5nTGFuZ3VhZ2UpOgorICAgICAgICAoV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQ6OmFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudDo6aGVscFRleHQpOgor
ICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQ6OmNvbXB1dGVBY2Nlc3Np
YmlsaXR5SXNJZ25vcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlTVkdFbGVt
ZW50OjpkZXRlcm1pbmVBcmlhUm9sZUF0dHJpYnV0ZSk6CisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVNWR1Jvb3QuaDoKKwogMjAxNi0wNC0xMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3Mg
IDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gUmV3b3JrIHNjcm9sbGJhcnMg
dGhlbWluZyBjb2RlIGZvciBHVEsrIDMuMjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuaAppbmRleCBiNDgzMWJmOWU3YjUx
ZDVmZDEzNTlmY2VhMWU5YTBkYTMzMjk5OGYzLi4wNTllZThiMDYxYmZkMjYwODRhYTE4NGQ4OWVi
ZWRiNTNkZDliNjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5oCkBAIC0xNzQsNyArMTc0LDcgQEAgcHJvdGVjdGVk
OgogCiAgICAgYm9vbCBjYW5IYXZlQ2hpbGRyZW4oKSBjb25zdCBvdmVycmlkZTsKICAgICBBY2Nl
c3NpYmlsaXR5Um9sZSBhcmlhUm9sZUF0dHJpYnV0ZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIEFj
Y2Vzc2liaWxpdHlSb2xlIGRldGVybWluZUFyaWFSb2xlQXR0cmlidXRlKCkgY29uc3Q7CisgICAg
dmlydHVhbCBBY2Nlc3NpYmlsaXR5Um9sZSBkZXRlcm1pbmVBcmlhUm9sZUF0dHJpYnV0ZSgpIGNv
bnN0OwogICAgIEFjY2Vzc2liaWxpdHlSb2xlIHJlbWFwQXJpYVJvbGVEdWVUb1BhcmVudChBY2Nl
c3NpYmlsaXR5Um9sZSkgY29uc3Q7CiAgICAgYm9vbCBpc0Rlc2NlbmRhbnRPZkJhcnJlblBhcmVu
dCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgYWx0ZXJTbGlkZXJWYWx1ZShib29sIGluY3Jl
YXNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJp
bGl0eVNWR0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5U1ZHRWxlbWVudC5jcHAKaW5kZXggMGE4M2JjZDZhMjQzNGExOTM5YWU3ZGNhMzdmOGI4
MjEwNjM2ZTBiNS4uYjgyMTE3ZGFhOGU0MGY3OTk1ZjljYTYxZjgyODE0NjdjZjNiYzcxZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U1ZHRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
U1ZHRWxlbWVudC5jcHAKQEAgLTcyLDYgKzcyLDQxIEBAIEFjY2Vzc2liaWxpdHlPYmplY3QqIEFj
Y2Vzc2liaWxpdHlTVkdFbGVtZW50Ojp0YXJnZXRGb3JVc2VFbGVtZW50KCkgY29uc3QKICAgICBy
ZXR1cm4gbnVsbHB0cjsKIH0KIAordGVtcGxhdGUgPHR5cGVuYW1lIENoaWxkcmVuVHlwZT4KK0Vs
ZW1lbnQqIEFjY2Vzc2liaWxpdHlTVkdFbGVtZW50OjpjaGlsZEVsZW1lbnRXaXRoTWF0Y2hpbmdM
YW5ndWFnZShDaGlsZHJlblR5cGUmIGNoaWxkcmVuKSBjb25zdAoreworICAgIFN0cmluZyBsYW5n
dWFnZUNvZGUgPSBsYW5ndWFnZSgpOworICAgIGlmIChsYW5ndWFnZUNvZGUuaXNFbXB0eSgpKQor
ICAgICAgICBsYW5ndWFnZUNvZGUgPSBkZWZhdWx0TGFuZ3VhZ2UoKTsKKworICAgIC8vIFRoZSBi
ZXN0IG1hdGNoIGZvciBhIGdyb3VwIG9mIGNoaWxkIFNWRzIgJ3RpdGxlJyBvciAnZGVzYycgZWxl
bWVudHMgbWF5IGJlIHRoZSBvbmUKKyAgICAvLyB3aGljaCBsYWNrcyBhICdsYW5nJyBhdHRyaWJ1
dGUgdmFsdWUuIEhvd2V2ZXIsIGluZGV4T2ZCZXN0TWF0Y2hpbmdMYW5ndWFnZUluTGlzdCgpCisg
ICAgLy8gY3VycmVudGx5IGJhc2VzIGl0cyBkZWNpc2lvbiBvbiBub24tZW1wdHkgc3RyaW5ncy4g
RnVydGhlcm1vcmUsIHdlIGNhbm5vdCBjb3VudCBvbgorICAgIC8vIHRoYXQgY2hpbGQgZWxlbWVu
dCBoYXZpbmcgYSBnaXZlbiBwb3NpdGlvbi4gU28gd2UnbGwgbG9vayBmb3Igc3VjaCBhbiBlbGVt
ZW50IHdoaWxlCisgICAgLy8gYnVpbGRpbmcgdGhlIGxhbmd1YWdlIGxpc3QgYW5kIHNhdmUgaXQg
YXMgb3VyIGZhbGxiYWNrLgorCisgICAgRWxlbWVudCogZmFsbGJhY2sgPSBudWxscHRyOworICAg
IFZlY3RvcjxTdHJpbmc+IGNoaWxkTGFuZ3VhZ2VDb2RlczsKKyAgICBWZWN0b3I8RWxlbWVudCo+
IGVsZW1lbnRzOworICAgIGZvciAoYXV0byYgY2hpbGQgOiBjaGlsZHJlbikgeworICAgICAgICBT
dHJpbmcgbGFuZyA9IGNoaWxkLmdldEF0dHJpYnV0ZShTVkdOYW1lczo6bGFuZ0F0dHIpOworICAg
ICAgICBjaGlsZExhbmd1YWdlQ29kZXMuYXBwZW5kKGxhbmcpOworICAgICAgICBlbGVtZW50cy5h
cHBlbmQoJmNoaWxkKTsKKworICAgICAgICAvLyBUaGUgY3VycmVudCBkcmFmdCBvZiB0aGUgU1ZH
MiBzcGVjIHN0YXRlcyBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgZXF1YWxseS12YWxpZAorICAgICAg
ICAvLyBtYXRjaGVzLCB0aGUgZmlyc3QgbWF0Y2ggc2hvdWxkIGJlIHVzZWQuCisgICAgICAgIGlm
IChsYW5nLmlzRW1wdHkoKSAmJiAhZmFsbGJhY2spCisgICAgICAgICAgICBmYWxsYmFjayA9ICZj
aGlsZDsKKyAgICB9CisKKyAgICBib29sIGV4YWN0TWF0Y2g7CisgICAgc2l6ZV90IGluZGV4ID0g
aW5kZXhPZkJlc3RNYXRjaGluZ0xhbmd1YWdlSW5MaXN0KGxhbmd1YWdlQ29kZSwgY2hpbGRMYW5n
dWFnZUNvZGVzLCBleGFjdE1hdGNoKTsKKyAgICBpZiAoZXhhY3RNYXRjaCB8fCBpbmRleCA8IGNo
aWxkTGFuZ3VhZ2VDb2Rlcy5zaXplKCkpCisgICAgICAgIHJldHVybiBlbGVtZW50c1tpbmRleF07
CisKKyAgICByZXR1cm4gZmFsbGJhY2s7Cit9CisKIHZvaWQgQWNjZXNzaWJpbGl0eVNWR0VsZW1l
bnQ6OmFjY2Vzc2liaWxpdHlUZXh0KFZlY3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4mIHRleHRPcmRl
cikKIHsKICAgICBTdHJpbmcgZGVzY3JpcHRpb24gPSBhY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24o
KTsKQEAgLTk3LDE2ICsxMzIsOSBAQCBTdHJpbmcgQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQ6OmFj
Y2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpIGNvbnN0CiAgICAgaWYgKCFhcmlhRGVzY3JpcHRpb24u
aXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gYXJpYURlc2NyaXB0aW9uOwogCi0gICAgU3RyaW5n
IGxhbmcgPSBsYW5ndWFnZSgpOwotICAgIGlmIChsYW5nLmlzRW1wdHkoKSkKLSAgICAgICAgbGFu
ZyA9IGRlZmF1bHRMYW5ndWFnZSgpLnN1YnN0cmluZygwLCAyKTsKLQotICAgIFN0cmluZyBjaGls
ZExhbmc7Ci0gICAgZm9yIChjb25zdCBhdXRvJiBjaGlsZCA6IGNoaWxkcmVuT2ZUeXBlPFNWR1Rp
dGxlRWxlbWVudD4oKmVsZW1lbnQoKSkpIHsKLSAgICAgICAgY2hpbGRMYW5nID0gY2hpbGQuZ2V0
QXR0cmlidXRlKFNWR05hbWVzOjpsYW5nQXR0cik7Ci0gICAgICAgIGlmIChjaGlsZExhbmcgPT0g
bGFuZyB8fCBjaGlsZExhbmcuaXNFbXB0eSgpKQotICAgICAgICAgICAgcmV0dXJuIGNoaWxkLnRl
eHRDb250ZW50KCk7Ci0gICAgfQorICAgIGF1dG8gdGl0bGVzID0gY2hpbGRyZW5PZlR5cGU8U1ZH
VGl0bGVFbGVtZW50PigqZWxlbWVudCgpKTsKKyAgICBpZiAoRWxlbWVudCogY2hpbGRUaXRsZSA9
IGNoaWxkRWxlbWVudFdpdGhNYXRjaGluZ0xhbmd1YWdlKHRpdGxlcykpCisgICAgICAgIHJldHVy
biBjaGlsZFRpdGxlLT50ZXh0Q29udGVudCgpOwogCiAgICAgaWYgKGlzPFNWR0FFbGVtZW50Pihl
bGVtZW50KCkpKSB7CiAgICAgICAgIFN0cmluZyB4bGlua1RpdGxlID0gZWxlbWVudCgpLT5mYXN0
R2V0QXR0cmlidXRlKFhMaW5rTmFtZXM6OnRpdGxlQXR0cik7CkBAIC0xNTEsMTYgKzE3OSw5IEBA
IFN0cmluZyBBY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudDo6aGVscFRleHQoKSBjb25zdAogICAgIGlm
ICghZGVzY3JpYmVkQnkuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gZGVzY3JpYmVkQnk7CiAK
LSAgICBTdHJpbmcgbGFuZyA9IGxhbmd1YWdlKCk7Ci0gICAgaWYgKGxhbmcuaXNFbXB0eSgpKQot
ICAgICAgICBsYW5nID0gZGVmYXVsdExhbmd1YWdlKCkuc3Vic3RyaW5nKDAsIDIpOwotCi0gICAg
U3RyaW5nIGNoaWxkTGFuZzsKLSAgICBmb3IgKGNvbnN0IGF1dG8mIGNoaWxkIDogY2hpbGRyZW5P
ZlR5cGU8U1ZHRGVzY0VsZW1lbnQ+KCplbGVtZW50KCkpKSB7Ci0gICAgICAgIGNoaWxkTGFuZyA9
IGNoaWxkLmdldEF0dHJpYnV0ZShTVkdOYW1lczo6bGFuZ0F0dHIpOwotICAgICAgICBpZiAoY2hp
bGRMYW5nID09IGxhbmcgfHwgY2hpbGRMYW5nLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIHJldHVy
biBjaGlsZC50ZXh0Q29udGVudCgpOwotICAgIH0KKyAgICBhdXRvIGRlc2NyaXB0aW9ucyA9IGNo
aWxkcmVuT2ZUeXBlPFNWR0Rlc2NFbGVtZW50PigqZWxlbWVudCgpKTsKKyAgICBpZiAoRWxlbWVu
dCogY2hpbGREZXNjcmlwdGlvbiA9IGNoaWxkRWxlbWVudFdpdGhNYXRjaGluZ0xhbmd1YWdlKGRl
c2NyaXB0aW9ucykpCisgICAgICAgIHJldHVybiBjaGlsZERlc2NyaXB0aW9uLT50ZXh0Q29udGVu
dCgpOwogCiAgICAgaWYgKGlzPFNWR1VzZUVsZW1lbnQ+KGVsZW1lbnQoKSkpIHsKICAgICAgICAg
QWNjZXNzaWJpbGl0eU9iamVjdCogdGFyZ2V0ID0gdGFyZ2V0Rm9yVXNlRWxlbWVudCgpOwpAQCAt
MTc3LDEwICsxOTgsMTAgQEAgU3RyaW5nIEFjY2Vzc2liaWxpdHlTVkdFbGVtZW50OjpoZWxwVGV4
dCgpIGNvbnN0CiAgICAgICAgICAgICByZXR1cm4gdGV4dDsKICAgICB9CiAKLSAgICBmb3IgKGNv
bnN0IGF1dG8mIGNoaWxkIDogY2hpbGRyZW5PZlR5cGU8U1ZHVGl0bGVFbGVtZW50PigqZWxlbWVu
dCgpKSkgewotICAgICAgICBjaGlsZExhbmcgPSBjaGlsZC5nZXRBdHRyaWJ1dGUoU1ZHTmFtZXM6
OmxhbmdBdHRyKTsKLSAgICAgICAgaWYgKChjaGlsZExhbmcgPT0gbGFuZyB8fCBjaGlsZExhbmcu
aXNFbXB0eSgpKSAmJiBjaGlsZC50ZXh0Q29udGVudCgpICE9IGRlc2NyaXB0aW9uKQotICAgICAg
ICAgICAgcmV0dXJuIGNoaWxkLnRleHRDb250ZW50KCk7CisgICAgYXV0byB0aXRsZXMgPSBjaGls
ZHJlbk9mVHlwZTxTVkdUaXRsZUVsZW1lbnQ+KCplbGVtZW50KCkpOworICAgIGlmIChFbGVtZW50
KiBjaGlsZFRpdGxlID0gY2hpbGRFbGVtZW50V2l0aE1hdGNoaW5nTGFuZ3VhZ2UodGl0bGVzKSkg
eworICAgICAgICBpZiAoY2hpbGRUaXRsZS0+dGV4dENvbnRlbnQoKSAhPSBkZXNjcmlwdGlvbikK
KyAgICAgICAgICAgIHJldHVybiBjaGlsZFRpdGxlLT50ZXh0Q29udGVudCgpOwogICAgIH0KIAog
ICAgIHJldHVybiBTdHJpbmcoKTsKQEAgLTE5MSw3ICsyMTIsOCBAQCBib29sIEFjY2Vzc2liaWxp
dHlTVkdFbGVtZW50Ojpjb21wdXRlQWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0CiAgICAg
Ly8gQWNjb3JkaW5nIHRvIHRoZSBTVkcgQWNjZXNzaWJpbGl0eSBBUEkgTWFwcGluZ3Mgc3BlYywg
aXRlbXMgc2hvdWxkIGJlIGV4Y2x1ZGVkIGlmOgogICAgIC8vICogVGhleSB3b3VsZCBiZSBleGNs
dWRlZCBhY2NvcmRpbmcgdG8gdGhlIENvcmUgQWNjZXNzaWJpbGl0eSBBUEkgTWFwcGluZ3MuCiAg
ICAgLy8gKiBUaGV5IGFyZSBuZWl0aGVyIHBlcmNlaXZhYmxlIG5vciBpbnRlcmFjdGl2ZS4KLSAg
ICAvLyAqIFRoZWlyIGZpcnN0IG1hcHBhYmxlIHJvbGUgaXMgcHJlc2VudGF0aW9uYWwsIHJlZ2Fy
ZGxlc3Mgb2Ygb3RoZXIgQVJJQSBhdHRyaWJ1dGVzLgorICAgIC8vICogVGhlaXIgZmlyc3QgbWFw
cGFibGUgcm9sZSBpcyBwcmVzZW50YXRpb25hbCwgdW5sZXNzIHRoZXkgaGF2ZSBhIGdsb2JhbCBB
UklBCisgICAgLy8gICBhdHRyaWJ1dGUgKGNvdmVyZWQgYnkgQ29yZSBBQU0pIG9yIGF0IGxlYXN0
IG9uZSAndGl0bGUnIG9yICdkZXNjJyBjaGlsZCBlbGVtZW50LgogICAgIC8vICogVGhleSBoYXZl
IGFuIGFuY2VzdG9yIHdpdGggQ2hpbGRyZW4gUHJlc2VudGF0aW9uYWw6IFRydWUgKGNvdmVyZWQg
YnkgQ29yZSBBQU0pCiAKICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uIGRlY2lzaW9u
ID0gZGVmYXVsdE9iamVjdEluY2x1c2lvbigpOwpAQCAtMjAxLDE4ICsyMjMsMTkgQEAgYm9vbCBB
Y2Nlc3NpYmlsaXR5U1ZHRWxlbWVudDo6Y29tcHV0ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBj
b25zdAogICAgIGlmIChtX3JlbmRlcmVyLT5pc1NWR0hpZGRlbkNvbnRhaW5lcigpKQogICAgICAg
ICByZXR1cm4gdHJ1ZTsKIAotICAgIGlmIChyb2xlVmFsdWUoKSA9PSBQcmVzZW50YXRpb25hbFJv
bGUgfHwgaW5oZXJpdHNQcmVzZW50YXRpb25hbFJvbGUoKSkKLSAgICAgICAgcmV0dXJuIHRydWU7
Ci0KLSAgICBpZiAoYXJpYVJvbGVBdHRyaWJ1dGUoKSAhPSBVbmtub3duUm9sZSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCiAgICAgLy8gVGhlIFNWRyBBQU0gc3RhdGVzIG9iamVjdHMgd2l0aCBh
dCBsZWFzdCBvbmUgJ3RpdGxlJyBvciAnZGVzYycgZWxlbWVudCBNVVNUIGJlIGluY2x1ZGVkLgor
ICAgIC8vIEF0IHRoaXMgdGltZSwgdGhlIHByZXNlbmNlIG9mIGEgbWF0Y2hpbmcgJ2xhbmcnIGF0
dHJpYnV0ZSBpcyBub3QgbWVudGlvbmVkIGluIHRoZSBzcGVjLgogICAgIGZvciAoY29uc3QgYXV0
byYgY2hpbGQgOiBjaGlsZHJlbk9mVHlwZTxTVkdFbGVtZW50PigqZWxlbWVudCgpKSkgewogICAg
ICAgICBpZiAoKGlzPFNWR1RpdGxlRWxlbWVudD4oY2hpbGQpIHx8IGlzPFNWR0Rlc2NFbGVtZW50
PihjaGlsZCkpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAorICAgIGlmIChy
b2xlVmFsdWUoKSA9PSBQcmVzZW50YXRpb25hbFJvbGUgfHwgaW5oZXJpdHNQcmVzZW50YXRpb25h
bFJvbGUoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAoYXJpYVJvbGVBdHRyaWJ1
dGUoKSAhPSBVbmtub3duUm9sZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgLy8gVGhl
IFNWRyBBQU0gc3RhdGVzIHRleHQgZWxlbWVudHMgc2hvdWxkIGFsc28gYmUgaW5jbHVkZWQsIGlm
IHRoZXkgaGF2ZSBjb250ZW50LgogICAgIGlmIChtX3JlbmRlcmVyLT5pc1NWR1RleHQoKSB8fCBt
X3JlbmRlcmVyLT5pc1NWR1RleHRQYXRoKCkpIHsKICAgICAgICAgZm9yIChhdXRvJiBjaGlsZCA6
IGNoaWxkcmVuT2ZUeXBlPFJlbmRlclRleHQ+KGRvd25jYXN0PFJlbmRlckVsZW1lbnQ+KCptX3Jl
bmRlcmVyKSkpIHsKQEAgLTI0Niw2ICsyNjksMjMgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5U1ZHRWxl
bWVudDo6aW5oZXJpdHNQcmVzZW50YXRpb25hbFJvbGUoKSBjb25zdAogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAorQWNjZXNzaWJpbGl0eVJvbGUgQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQ6OmRldGVy
bWluZUFyaWFSb2xlQXR0cmlidXRlKCkgY29uc3QKK3sKKyAgICBBY2Nlc3NpYmlsaXR5Um9sZSBy
b2xlID0gQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6ZGV0ZXJtaW5lQXJpYVJvbGVBdHRyaWJ1
dGUoKTsKKyAgICBpZiAocm9sZSAhPSBQcmVzZW50YXRpb25hbFJvbGUpCisgICAgICAgIHJldHVy
biByb2xlOworCisgICAgLy8gVGhlIHByZXNlbmNlIG9mIGEgJ3RpdGxlJyBvciAnZGVzYycgY2hp
bGQgZWxlbWVudCB0cnVtcHMgUHJlc2VudGF0aW9uYWxSb2xlLgorICAgIC8vIGh0dHBzOi8vbGlz
dHMudzMub3JnL0FyY2hpdmVzL1B1YmxpYy9wdWJsaWMtc3ZnLWExMXkvMjAxNkFwci8wMDE2Lmh0
bWwKKyAgICAvLyBBdCB0aGlzIHRpbWUsIHRoZSBwcmVzZW5jZSBvZiBhIG1hdGNoaW5nICdsYW5n
JyBhdHRyaWJ1dGUgaXMgbm90IG1lbnRpb25lZC4KKyAgICBmb3IgKGNvbnN0IGF1dG8mIGNoaWxk
IDogY2hpbGRyZW5PZlR5cGU8U1ZHRWxlbWVudD4oKmVsZW1lbnQoKSkpIHsKKyAgICAgICAgaWYg
KChpczxTVkdUaXRsZUVsZW1lbnQ+KGNoaWxkKSB8fCBpczxTVkdEZXNjRWxlbWVudD4oY2hpbGQp
KSkKKyAgICAgICAgICAgIHJldHVybiBVbmtub3duUm9sZTsKKyAgICB9CisKKyAgICByZXR1cm4g
cm9sZTsKK30KKwogQWNjZXNzaWJpbGl0eVJvbGUgQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQ6OmRl
dGVybWluZUFjY2Vzc2liaWxpdHlSb2xlKCkKIHsKICAgICBpZiAoKG1fYXJpYVJvbGUgPSBkZXRl
cm1pbmVBcmlhUm9sZUF0dHJpYnV0ZSgpKSAhPSBVbmtub3duUm9sZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQuaAppbmRl
eCAxMTM4OGI0ODE2NzE5ZDQ2MDg5NTBkYmM4MGMzN2I4MDNhM2U0MzAxLi5hYjQ1M2QwZjcwNjlm
YTc0Mzc3MmU0OTc0ZjM3NmE5NzFjNmE4MTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudC5oCkBAIC00NywxMSArNDcs
MTUgQEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICB2b2lkIGFjY2Vzc2liaWxpdHlUZXh0KFZl
Y3RvcjxBY2Nlc3NpYmlsaXR5VGV4dD4mKSBmaW5hbDsKICAgICBBY2Nlc3NpYmlsaXR5Um9sZSBk
ZXRlcm1pbmVBY2Nlc3NpYmlsaXR5Um9sZSgpIGZpbmFsOworICAgIEFjY2Vzc2liaWxpdHlSb2xl
IGRldGVybWluZUFyaWFSb2xlQXR0cmlidXRlKCkgY29uc3QgZmluYWw7CiAgICAgYm9vbCBpbmhl
cml0c1ByZXNlbnRhdGlvbmFsUm9sZSgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgaXNBY2Nlc3Np
YmlsaXR5U1ZHRWxlbWVudCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KICAgICBib29s
IGNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QgZmluYWw7CiAKICAgICBBY2Nl
c3NpYmlsaXR5T2JqZWN0KiB0YXJnZXRGb3JVc2VFbGVtZW50KCkgY29uc3Q7CisKKyAgICB0ZW1w
bGF0ZSA8dHlwZW5hbWUgQ2hpbGRyZW5UeXBlPgorICAgIEVsZW1lbnQqIGNoaWxkRWxlbWVudFdp
dGhNYXRjaGluZ0xhbmd1YWdlKENoaWxkcmVuVHlwZSYpIGNvbnN0OwogfTsKIAogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdSb290Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdSb290LmgKaW5k
ZXggY2YxNmI1ZTZjYTQwMmEwYmE3OThkNWFkYmQzMjRhOWEwNTUxODU3Ny4uZmNiYWE4ZDdkYjU0
YzI0Y2YwNmMxNmY4YzlkY2IwZmU1NzE5ODFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U1ZHUm9vdC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNWR1Jvb3QuaApAQCAtNDcsNiArNDcsNyBAQCBw
cml2YXRlOgogICAgIGJvb2wgaXNBY2Nlc3NpYmlsaXR5U1ZHUm9vdCgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIHRydWU7IH0KIAogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIG1fcGFyZW50Owor
ICAgIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IEdyb3VwUm9sZTsgfQogfTsKICAgICAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUgCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
MTJlYTYyNTUwOTA5OThiOGM0ZGE4NDk5NjZiZDJkOWZlY2QyN2Y4YS4uNTMzMjgzNGM2M2Y1ODcz
ODhjNzYyN2VhNTg1OWNiYzg0MWI2YWI3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA0
LTE0ICBKb2FubWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KKworICAgICAgICBBWDog
UHJlc2VudGF0aW9uYWwgcm9sZSBvbiBTVkcgZWxlbWVudHMgaXMgdHJ1bXBlZCBieSBjaGlsZCAn
dGl0bGUnIGFuZCAnZGVzYycgZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1NjUxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVwZGF0ZSB3M2Mtc3ZnLXByZXNlbnRhdGlvbmFsLXJvbGUuaHRt
bCBleHBlY3RhdGlvbnMgYmVjYXVzZSB0aGVyZSBhcmUgdGVzdCBjYXNlcyBpbiB3aGljaAorICAg
ICAgICBlbGVtZW50cyBhcmUgbm93IGJlaW5nIGluY2x1ZGVkIGluIHRoZSBhY2Nlc3NpYmlsaXR5
IHRyZWUgYXMgYSByZXN1bHQgb2YgdGhpcyBjaGFuZ2UuIEFsc28KKyAgICAgICAgYWRkIG5ldyB0
ZXN0IGNhc2VzIHdoaWNoIGxhY2sgY2hpbGQgJ3RpdGxlJyBhbmQgJ2Rlc2MnIGVsZW1lbnRzLgor
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS93M2Mtc3ZnLWNvbnRlbnQtbGFuZ3VhZ2UtYXR0cmli
dXRlLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvdzNjLXN2Zy1wcmVzZW50
YXRpb25hbC1yb2xlLmh0bWw6IE5ldyB0ZXN0IGNhc2VzIGFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3czYy1zdmctY29udGVudC1sYW5ndWFnZS1hdHRyaWJ1dGUt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0
eS93M2Mtc3ZnLXByZXNlbnRhdGlvbmFsLXJvbGUtZXhwZWN0ZWQudHh0OiBVcGRhdGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3czYy1zdmctY29udGVudC1sYW5ndWFn
ZS1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
YWNjZXNzaWJpbGl0eS93M2Mtc3ZnLXByZXNlbnRhdGlvbmFsLXJvbGUtZXhwZWN0ZWQudHh0OiBV
cGRhdGVkLgorCiAyMDE2LTAzLTE3ICBTZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFtjc3MtZ3JpZF0gQWRkIHBhcnNpbmcgc3VwcG9ydCBmb3IgPGF1
dG8tcmVwZWF0PiBzeW50YXgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
dzNjLXN2Zy1jb250ZW50LWxhbmd1YWdlLWF0dHJpYnV0ZS5odG1sIGIvTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS93M2Mtc3ZnLWNvbnRlbnQtbGFuZ3VhZ2UtYXR0cmlidXRlLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNjRjY2Y5MTMzNGEzOTk5ZDc4NmE4NGQ4ZDE5MTQzZDZmYjFkYzBhZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvdzNjLXN2Zy1jb250ZW50LWxhbmd1
YWdlLWF0dHJpYnV0ZS5odG1sCkBAIC0wLDAgKzEsMTcyIEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8bWV0YSBo
dHRwLWVxdWl2PSJjb250ZW50LWxhbmd1YWdlIiBjb250ZW50PSJlbi1nYiI+Cis8Ym9keSBpZD0i
Ym9keSI+Cis8ZGl2IGlkPSJjb250ZW50Ij4KKzxzdmc+CisgIDxjaXJjbGUgaWQ9InRlc3QxIiBj
eD0iNTAiIGN5PSIxMDAiIHI9IjE1IiBkYXRhLWV4cGVjdGVkPSJuYW1lOiBnZW5lcmljIHRpdGxl
OyBkZXNjcmlwdGlvbjogZ2VuZXJpYyBkZXNjIj4KKyAgICA8dGl0bGU+Z2VuZXJpYyB0aXRsZTwv
dGl0bGU+CisgICAgPGRlc2M+Z2VuZXJpYyBkZXNjPC9kZXNjPgorICA8L2NpcmNsZT4KKzwvc3Zn
PgorPHN2Zz4KKyAgPGNpcmNsZSBpZD0idGVzdDIiIGN4PSI1MCIgY3k9IjEwMCIgcj0iMTUiIGRh
dGEtZXhwZWN0ZWQ9Im5hbWU6IHRpdGxlIGZvciBlbjsgZGVzY3JpcHRpb246IGRlc2MgZm9yIGVu
Ij4KKyAgICA8dGl0bGUgbGFuZz0iZGUiPnRpdGxlIGZvciBkZTwvdGl0bGU+CisgICAgPHRpdGxl
IGxhbmc9ImZyIj50aXRsZSBmb3IgZnI8L3RpdGxlPgorICAgIDx0aXRsZSBsYW5nPSJlbiI+dGl0
bGUgZm9yIGVuPC90aXRsZT4KKyAgICA8ZGVzYyBsYW5nPSJmciI+ZGVzYyBmb3IgZnI8L2Rlc2M+
CisgICAgPGRlc2MgbGFuZz0iZW4iPmRlc2MgZm9yIGVuPC9kZXNjPgorICAgIDxkZXNjIGxhbmc9
ImVzIj5kZXNjIGZvciBlczwvZGVzYz4KKyAgPC9jaXJjbGU+Cis8L3N2Zz4KKzxzdmc+CisgIDxj
aXJjbGUgaWQ9InRlc3QzIiBjeD0iNTAiIGN5PSIxMDAiIHI9IjE1IiBkYXRhLWV4cGVjdGVkPSJu
YW1lOiB0aXRsZSBmb3IgZW47IGRlc2NyaXB0aW9uOiBkZXNjIGZvciBlbiI+CisgICAgPHRpdGxl
PmdlbmVyaWMgdGl0bGU8L3RpdGxlPgorICAgIDx0aXRsZSBsYW5nPSJmciI+dGl0bGUgZm9yIGZy
PC90aXRsZT4KKyAgICA8dGl0bGUgbGFuZz0iZW4iPnRpdGxlIGZvciBlbjwvdGl0bGU+CisgICAg
PGRlc2M+Z2VuZXJpYyBkZXNjPC9kZXNjPgorICAgIDxkZXNjIGxhbmc9ImVuIj5kZXNjIGZvciBl
bjwvZGVzYz4KKyAgICA8ZGVzYyBsYW5nPSJlcyI+ZGVzYyBmb3IgZXM8L2Rlc2M+CisgIDwvY2ly
Y2xlPgorPC9zdmc+Cis8c3ZnPgorICA8Y2lyY2xlIGlkPSJ0ZXN0NCIgY3g9IjUwIiBjeT0iMTAw
IiByPSIxNSIgZGF0YS1leHBlY3RlZD0ibmFtZTogdGl0bGUgZm9yIEVOOyBkZXNjcmlwdGlvbjog
ZGVzYyBmb3IgRU4iPgorICAgIDx0aXRsZT5nZW5lcmljIHRpdGxlPC90aXRsZT4KKyAgICA8dGl0
bGUgbGFuZz0iZnIiPnRpdGxlIGZvciBmcjwvdGl0bGU+CisgICAgPHRpdGxlIGxhbmc9IkVOIj50
aXRsZSBmb3IgRU48L3RpdGxlPgorICAgIDxkZXNjPmdlbmVyaWMgZGVzYzwvZGVzYz4KKyAgICA8
ZGVzYyBsYW5nPSJFTiI+ZGVzYyBmb3IgRU48L2Rlc2M+CisgICAgPGRlc2MgbGFuZz0iZXMiPmRl
c2MgZm9yIGVzPC9kZXNjPgorICA8L2NpcmNsZT4KKzwvc3ZnPgorPHN2Zz4KKyAgPGNpcmNsZSBp
ZD0idGVzdDUiIGN4PSI1MCIgY3k9IjEwMCIgcj0iMTUiIGRhdGEtZXhwZWN0ZWQ9Im5hbWU6IGdl
bmVyaWMgdGl0bGU7IGRlc2NyaXB0aW9uOiBnZW5lcmljIGRlc2MiPgorICAgIDx0aXRsZT5nZW5l
cmljIHRpdGxlPC90aXRsZT4KKyAgICA8dGl0bGUgbGFuZz0iZnIiPnRpdGxlIGZvciBmcjwvdGl0
bGU+CisgICAgPGRlc2M+Z2VuZXJpYyBkZXNjPC9kZXNjPgorICAgIDxkZXNjIGxhbmc9ImVzIj5k
ZXNjIGZvciBlczwvZGVzYz4KKyAgPC9jaXJjbGU+Cis8L3N2Zz4KKzxzdmc+CisgIDxjaXJjbGUg
aWQ9InRlc3Q2IiBjeD0iNTAiIGN5PSIxMDAiIHI9IjE1IiBkYXRhLWV4cGVjdGVkPSJuYW1lOiBn
ZW5lcmljIHRpdGxlOyBkZXNjcmlwdGlvbjogZ2VuZXJpYyBkZXNjIj4KKyAgICA8dGl0bGUgbGFu
Zz0iZnIiPnRpdGxlIGZvciBmcjwvdGl0bGU+CisgICAgPHRpdGxlPmdlbmVyaWMgdGl0bGU8L3Rp
dGxlPgorICAgIDxkZXNjIGxhbmc9ImVzIj5kZXNjIGZvciBlczwvZGVzYz4KKyAgICA8ZGVzYz5n
ZW5lcmljIGRlc2M8L2Rlc2M+CisgIDwvY2lyY2xlPgorPC9zdmc+Cis8c3ZnPgorICA8Y2lyY2xl
IGlkPSJ0ZXN0NyIgY3g9IjUwIiBjeT0iMTAwIiByPSIxNSIgZGF0YS1leHBlY3RlZD0ibmFtZTog
dGl0bGUgZm9yIGVuLWdiOyBkZXNjcmlwdGlvbjogZGVzYyBmb3IgZW4tZ2IiPgorICAgIDx0aXRs
ZT5nZW5lcmljIHRpdGxlPC90aXRsZT4KKyAgICA8dGl0bGUgbGFuZz0iZW4tdXMiPnRpdGxlIGZv
ciBlbi11czwvdGl0bGU+CisgICAgPHRpdGxlIGxhbmc9ImVuLWdiIj50aXRsZSBmb3IgZW4tZ2I8
L3RpdGxlPgorICAgIDxkZXNjPmdlbmVyaWMgZGVzYzwvZGVzYz4KKyAgICA8ZGVzYyBsYW5nPSJl
bi1nYiI+ZGVzYyBmb3IgZW4tZ2I8L2Rlc2M+CisgICAgPGRlc2MgbGFuZz0iZW4tdXMiPmRlc2Mg
Zm9yIGVuLXVzPC9kZXNjPgorICA8L2NpcmNsZT4KKzwvc3ZnPgorPHN2Zz4KKyAgPGNpcmNsZSBp
ZD0idGVzdDciIGN4PSI1MCIgY3k9IjEwMCIgcj0iMTUiIGRhdGEtZXhwZWN0ZWQ9Im5hbWU6IHRp
dGxlIGZvciBlbl9HQjsgZGVzY3JpcHRpb246IGRlc2MgZm9yIGVuX0dCIj4KKyAgICA8dGl0bGU+
Z2VuZXJpYyB0aXRsZTwvdGl0bGU+CisgICAgPHRpdGxlIGxhbmc9ImVuLXVzIj50aXRsZSBmb3Ig
ZW4tdXM8L3RpdGxlPgorICAgIDx0aXRsZSBsYW5nPSJlbl9HQiI+dGl0bGUgZm9yIGVuX0dCPC90
aXRsZT4KKyAgICA8ZGVzYz5nZW5lcmljIGRlc2M8L2Rlc2M+CisgICAgPGRlc2MgbGFuZz0iZW5f
R0IiPmRlc2MgZm9yIGVuX0dCPC9kZXNjPgorICAgIDxkZXNjIGxhbmc9ImVuLXVzIj5kZXNjIGZv
ciBlbi11czwvZGVzYz4KKyAgPC9jaXJjbGU+Cis8L3N2Zz4KKzxzdmc+CisgIDxjaXJjbGUgaWQ9
InRlc3Q4IiBjeD0iNTAiIGN5PSIxMDAiIHI9IjE1IiBkYXRhLWV4cGVjdGVkPSJuYW1lOiB0aXRs
ZSBmb3IgZW5fR0I7IGRlc2NyaXB0aW9uOiBkZXNjIGZvciBlbl9HQiI+CisgICAgPHRpdGxlPmdl
bmVyaWMgdGl0bGU8L3RpdGxlPgorICAgIDx0aXRsZSBsYW5nPSJlbiI+dGl0bGUgZm9yIGVuPC90
aXRsZT4KKyAgICA8dGl0bGUgbGFuZz0iZW5fR0IiPnRpdGxlIGZvciBlbl9HQjwvdGl0bGU+Cisg
ICAgPGRlc2M+Z2VuZXJpYyBkZXNjPC9kZXNjPgorICAgIDxkZXNjIGxhbmc9ImVuX0dCIj5kZXNj
IGZvciBlbl9HQjwvZGVzYz4KKyAgICA8ZGVzYyBsYW5nPSJlbiI+ZGVzYyBmb3IgZW48L2Rlc2M+
CisgIDwvY2lyY2xlPgorPC9zdmc+Cis8c3ZnPgorICA8Y2lyY2xlIGlkPSJ0ZXN0OSIgY3g9IjUw
IiBjeT0iMTAwIiByPSIxNSIgZGF0YS1leHBlY3RlZD0ibmFtZTogdGl0bGUgZm9yIGVuOyBkZXNj
cmlwdGlvbjogZGVzYyBmb3IgZW4iPgorICAgIDx0aXRsZT5nZW5lcmljIHRpdGxlPC90aXRsZT4K
KyAgICA8dGl0bGUgbGFuZz0iZW4iPnRpdGxlIGZvciBlbjwvdGl0bGU+CisgICAgPHRpdGxlIGxh
bmc9ImVuX1VTIj50aXRsZSBmb3IgZW5fVVM8L3RpdGxlPgorICAgIDxkZXNjPmdlbmVyaWMgZGVz
YzwvZGVzYz4KKyAgICA8ZGVzYyBsYW5nPSJlbl9VUyI+ZGVzYyBmb3IgZW5fVVM8L2Rlc2M+Cisg
ICAgPGRlc2MgbGFuZz0iZW4iPmRlc2MgZm9yIGVuPC9kZXNjPgorICA8L2NpcmNsZT4KKzwvc3Zn
PgorPHN2Zz4KKyAgPGNpcmNsZSBpZD0idGVzdDEwIiBjeD0iNTAiIGN5PSIxMDAiIHI9IjE1IiBk
YXRhLWV4cGVjdGVkPSJuYW1lOiB0aXRsZSBmb3IgZW4tdXM7IGRlc2NyaXB0aW9uOiBkZXNjIGZv
ciBlbi11cyI+CisgICAgPHRpdGxlIGxhbmc9ImZyIj50aXRsZSBmb3IgZnI8L3RpdGxlPgorICAg
IDx0aXRsZSBsYW5nPSJlbi11cyI+dGl0bGUgZm9yIGVuLXVzPC90aXRsZT4KKyAgICA8ZGVzYyBs
YW5nPSJmciI+ZGVzYyBmb3IgZnI8L2Rlc2M+CisgICAgPGRlc2MgbGFuZz0iZW4tdXMiPmRlc2Mg
Zm9yIGVuLXVzPC9kZXNjPgorICA8L2NpcmNsZT4KKzwvc3ZnPgorPHN2Zz4KKyAgPGNpcmNsZSBp
ZD0idGVzdDExIiBjeD0iNTAiIGN5PSIxMDAiIHI9IjE1IiBkYXRhLWV4cGVjdGVkPSJuYW1lOiB0
aXRsZSBmb3IgZW4tdXM7IGRlc2NyaXB0aW9uOiBkZXNjIGZvciBlbi11cyI+CisgICAgPHRpdGxl
PmdlbmVyaWMgdGl0bGU8L3RpdGxlPgorICAgIDx0aXRsZSBsYW5nPSJlbi11cyI+dGl0bGUgZm9y
IGVuLXVzPC90aXRsZT4KKyAgICA8ZGVzYz5nZW5lcmljIGRlc2M8L2Rlc2M+CisgICAgPGRlc2Mg
bGFuZz0iZW4tdXMiPmRlc2MgZm9yIGVuLXVzPC9kZXNjPgorICA8L2NpcmNsZT4KKzwvc3ZnPgor
PHN2Zz4KKyAgPGNpcmNsZSBpZD0idGVzdDEyIiBjeD0iNTAiIGN5PSIxMDAiIHI9IjE1IiBkYXRh
LWV4cGVjdGVkPSJuYW1lOiBnZW5lcmljIHRpdGxlOyBkZXNjcmlwdGlvbjogZ2VuZXJpYyBkZXNj
Ij4KKyAgICA8dGl0bGU+Z2VuZXJpYyB0aXRsZTwvdGl0bGU+CisgICAgPHRpdGxlIGxhbmc9ImZy
Ij50aXRsZSBmb3IgZnI8L3RpdGxlPgorICAgIDxkZXNjIGxhbmc9ImZyIj5kZXNjIGZvciBmcjwv
ZGVzYz4KKyAgICA8ZGVzYz5nZW5lcmljIGRlc2M8L2Rlc2M+CisgIDwvY2lyY2xlPgorPC9zdmc+
Cis8c3ZnPgorICA8Y2lyY2xlIGlkPSJ0ZXN0MTMiIGN4PSI1MCIgY3k9IjEwMCIgcj0iMTUiIGRh
dGEtZXhwZWN0ZWQ9Im5hbWU6IDFzdCB0aXRsZSBmb3IgZW5fR0I7IGRlc2NyaXB0aW9uOiAxc3Qg
ZGVzYyBmb3IgZW5fR0IiPgorICAgIDx0aXRsZT5nZW5lcmljIHRpdGxlPC90aXRsZT4KKyAgICA8
dGl0bGUgbGFuZz0iZW5fR0IiPjFzdCB0aXRsZSBmb3IgZW5fR0I8L3RpdGxlPgorICAgIDx0aXRs
ZSBsYW5nPSJlbl9HQiI+Mm5kIHRpdGxlIGZvciBlbl9HQjwvdGl0bGU+CisgICAgPGRlc2M+Z2Vu
ZXJpYyBkZXNjPC9kZXNjPgorICAgIDxkZXNjIGxhbmc9ImVuX0dCIj4xc3QgZGVzYyBmb3IgZW5f
R0I8L2Rlc2M+CisgICAgPGRlc2MgbGFuZz0iZW5fR0IiPjJuZCBkZXNjIGZvciBlbl9HQjwvZGVz
Yz4KKyAgICA8ZGVzYyBsYW5nPSJlbiI+ZGVzYyBmb3IgZW48L2Rlc2M+CisgIDwvY2lyY2xlPgor
PC9zdmc+Cis8c3ZnPgorICA8Y2lyY2xlIGlkPSJ0ZXN0MTQiIGN4PSI1MCIgY3k9IjEwMCIgcj0i
MTUiIGRhdGEtZXhwZWN0ZWQ9Im5hbWU6IDFzdCBnZW5lcmljIHRpdGxlOyBkZXNjcmlwdGlvbjog
MXN0IGdlbmVyaWMgZGVzYyI+CisgICAgPHRpdGxlPjFzdCBnZW5lcmljIHRpdGxlPC90aXRsZT4K
KyAgICA8dGl0bGU+Mm5kIGdlbmVyaWMgdGl0bGU8L3RpdGxlPgorICAgIDxkZXNjPjFzdCBnZW5l
cmljIGRlc2M8L2Rlc2M+CisgICAgPGRlc2M+Mm5kIGdlbmVyaWMgZGVzYzwvZGVzYz4KKyAgPC9j
aXJjbGU+Cis8L3N2Zz4KKzwvZGl2PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gdGV4dEFsdGVybmF0aXZl
cyhheEVsZW1lbnQpIHsKKyAgICAgICAgaWYgKCFheEVsZW1lbnQpCisgICAgICAgICAgICByZXR1
cm4gIkVsZW1lbnQgbm90IGV4cG9zZWQiOworCisgICAgICAgcmVzdWx0ID0gYXhFbGVtZW50LnRp
dGxlICsgIlxuXHQiICsgYXhFbGVtZW50LmRlc2NyaXB0aW9uOworICAgICAgIGlmIChhY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5wbGF0Zm9ybU5hbWUgPT0gIm1hYyIpCisgICAgICAgICAgIHJlc3Vs
dCArPSAiXG5cdCIgKyBheEVsZW1lbnQuaGVscFRleHQ7CisgICAgICAgcmV0dXJuIHJlc3VsdDsK
KyAgICB9CisKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUgYWNjZXNzaWJsZSB0ZXh0
IGFsdGVybmF0aXZlcyByZXN1bHRzIGZvciBTVkcgd2hlbiB0aGUgY29udGVudC1sYW5ndWFnZSBh
dHRyaWJ1dGUgaXMgc2V0LiIpOworICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIpIHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPD0gMTQ7IGkrKykgeworICAgICAgICAg
ICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIgKyBpKTsKKyAg
ICAgICAgICAgIHZhciBheEVsZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3Np
YmxlRWxlbWVudEJ5SWQoInRlc3QiICsgaSk7CisgICAgICAgICAgICB2YXIgcmVzdWx0ID0gdGV4
dEFsdGVybmF0aXZlcyhheEVsZW1lbnQpOworICAgICAgICAgICAgZGVidWcoInRlc3QiICsgaSAr
ICI6XG5cdEV4cGVjdGVkICIgKyBlbGVtZW50LmdldEF0dHJpYnV0ZSgiZGF0YS1leHBlY3RlZCIp
ICsgIlxuXHQiICsgcmVzdWx0KTsKKyAgICAgICAgfQorICAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGVudCIpLnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsKKyAgICB9Cis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNz
aWJpbGl0eS93M2Mtc3ZnLXByZXNlbnRhdGlvbmFsLXJvbGUuaHRtbCBiL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvdzNjLXN2Zy1wcmVzZW50YXRpb25hbC1yb2xlLmh0bWwKaW5kZXggNWJjZTE1
NzhhYTAxZTdiNzlmMjI0ZGRkNjQ2ZTJhZDYwY2Y0NTg0Mi4uMTM4ODBlZmJlNzczMmI0MDQwYmE4
MTUzNTJkOTUxZDQyMTI4MmMwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS93M2Mtc3ZnLXByZXNlbnRhdGlvbmFsLXJvbGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L3czYy1zdmctcHJlc2VudGF0aW9uYWwtcm9sZS5odG1sCkBAIC0xNTYsMTMgKzE1
NiwzMiBAQAogPHN2Zz4KICAgPHBvbHlsaW5lIGlkPSJ0ZXN0MzQiIGZpbGw9InByZXNlbnRhdGlv
biIgc3Ryb2tlPSJibHVlIiBzdHJva2Utd2lkdGg9IjEwIiBwb2ludHM9IjUwLDM3NSAxNTAsMzc1
IDE1MCwzMjUgMjUwLDMyNSAyNTAsMzc1IDM1MCwzNzUgMzUwLDI1MCA0NTAsMjUwIDQ1MCwzNzUg
NTUwLDM3NSA1NTAsMTc1IDY1MCwxNzUgNjUwLDM3NSA3NTAsMzc1IDc1MCwxMDAgODUwLDEwMCA4
NTAsMzc1IDk1MCwzNzUgOTUwLDI1IDEwNTAsMjUgMTA1MCwzNzUgMTE1MCwzNzUiIHJvbGU9InBy
ZXNlbnRhdGlvbiIvPgogPC9zdmc+Cis8c3ZnPgorICA8ZyBpZD0idGVzdDM1IiByb2xlPSJwcmVz
ZW50YXRpb24iPgorICAgIDxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIHI9IjIwIiBhcmlhLWxhYmVs
PSJzZXQgQSIvPgorICAgIDxjaXJjbGUgY3g9IjUwIiBjeT0iNzUiIHI9IjIwIiBhcmlhLWxhYmVs
PSJzZXQgQiIvPgorICA8L2c+Cis8L3N2Zz4KKzxzdmc+CisgIDxpbWFnZSBpZD0idGVzdDM2IiB4
PSIyMDAiIHk9IjIwMCIgd2lkdGg9IjEwMHB4IiBoZWlnaHQ9IjEwMHB4IiBocmVmPSJteWltYWdl
LnBuZyIgcm9sZT0icHJlc2VudGF0aW9uIj48L2ltYWdlPgorPC9zdmc+Cis8c3ZnPgorICA8cGF0
aCBpZD0idGVzdDM3IiBkPSJNIDEwMCAxMDAgTCAzMDAgMTAwIEwgMjAwIDMwMCB6IiBmaWxsPSJy
ZWQiIHJvbGU9InByZXNlbnRhdGlvbiI+PC9wYXRoPgorPC9zdmc+Cis8c3ZnPgorICA8ZWxsaXBz
ZSBpZD0idGVzdDM4IiBjeD0iMTAiIGN5PSIxMDAiIHJ4PSIyNSIgcnk9IjE1IiByb2xlPSJwcmVz
ZW50YXRpb24iPjwvZWxsaXBzZT4KKzwvc3ZnPgorPHN2Zz4KKyAgPHBvbHlnb24gaWQ9InRlc3Qz
OSIgZmlsbD0ibWFnZW50YSIgcG9pbnRzPSI4NTAsNzUgOTU4LDEzNy41IDk1OCwyNjIuNSA4NTAs
MzI1IDc0MiwyNjIuNiA3NDIsMTM3LjUiIHJvbGU9InByZXNlbnRhdGlvbiI+CisgIDwvcG9seWdv
bj4KKzwvc3ZnPgogPC9kaXY+CiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KIDxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgogPHNjcmlwdD4KICAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGF0
IFNWRyBlbGVtZW50cyB3aXRoIHJvbGUgcHJlc2VudGF0aW9uIGFyZSBub3QgZXhwb3NlZC4iKTsK
ICAgICBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7Ci0gICAgICAgIGZvciAo
dmFyIGkgPSAxOyBpIDw9IDM0OyBpKyspIHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDE7IGkgPD0g
Mzk7IGkrKykgewogICAgICAgICAgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGVzdCIgKyBpKTsKICAgICAgICAgICAgIHZhciBheEVsZW1lbnQgPSBhY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoInRlc3QiICsgaSk7CiAgICAgICAg
ICAgICBkZWJ1ZygidGVzdCIgKyBpICsgIjogIiArIChheEVsZW1lbnQgPyBheEVsZW1lbnQucm9s
ZSA6ICJFbGVtZW50IG5vdCBleHBvc2VkIikpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdzNjLXN2Zy1jb250ZW50LWxhbmd1YWdlLWF0dHJpYnV0
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS93
M2Mtc3ZnLWNvbnRlbnQtbGFuZ3VhZ2UtYXR0cmlidXRlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4wNTI5ZjBiMTg0MDEwNjVkMDE0Y2M5NTg4OTk3MjRkMmQ0MDdkOGNhCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdzNjLXN2Zy1jb250
ZW50LWxhbmd1YWdlLWF0dHJpYnV0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2NSBAQAorVGhp
cyB0ZXN0cyB0aGUgYWNjZXNzaWJsZSB0ZXh0IGFsdGVybmF0aXZlcyByZXN1bHRzIGZvciBTVkcg
d2hlbiB0aGUgY29udGVudC1sYW5ndWFnZSBhdHRyaWJ1dGUgaXMgc2V0LgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKKwordGVzdDE6CisJRXhwZWN0ZWQgbmFtZTogZ2VuZXJpYyB0aXRs
ZTsgZGVzY3JpcHRpb246IGdlbmVyaWMgZGVzYworCUFYVGl0bGU6IGdlbmVyaWMgdGl0bGUKKwlB
WERlc2NyaXB0aW9uOiBnZW5lcmljIGRlc2MKK3Rlc3QyOgorCUV4cGVjdGVkIG5hbWU6IHRpdGxl
IGZvciBlbjsgZGVzY3JpcHRpb246IGRlc2MgZm9yIGVuCisJQVhUaXRsZTogdGl0bGUgZm9yIGVu
CisJQVhEZXNjcmlwdGlvbjogZGVzYyBmb3IgZW4KK3Rlc3QzOgorCUV4cGVjdGVkIG5hbWU6IHRp
dGxlIGZvciBlbjsgZGVzY3JpcHRpb246IGRlc2MgZm9yIGVuCisJQVhUaXRsZTogdGl0bGUgZm9y
IGVuCisJQVhEZXNjcmlwdGlvbjogZGVzYyBmb3IgZW4KK3Rlc3Q0OgorCUV4cGVjdGVkIG5hbWU6
IHRpdGxlIGZvciBFTjsgZGVzY3JpcHRpb246IGRlc2MgZm9yIEVOCisJQVhUaXRsZTogdGl0bGUg
Zm9yIEVOCisJQVhEZXNjcmlwdGlvbjogZGVzYyBmb3IgRU4KK3Rlc3Q1OgorCUV4cGVjdGVkIG5h
bWU6IGdlbmVyaWMgdGl0bGU7IGRlc2NyaXB0aW9uOiBnZW5lcmljIGRlc2MKKwlBWFRpdGxlOiBn
ZW5lcmljIHRpdGxlCisJQVhEZXNjcmlwdGlvbjogZ2VuZXJpYyBkZXNjCit0ZXN0NjoKKwlFeHBl
Y3RlZCBuYW1lOiBnZW5lcmljIHRpdGxlOyBkZXNjcmlwdGlvbjogZ2VuZXJpYyBkZXNjCisJQVhU
aXRsZTogZ2VuZXJpYyB0aXRsZQorCUFYRGVzY3JpcHRpb246IGdlbmVyaWMgZGVzYwordGVzdDc6
CisJRXhwZWN0ZWQgbmFtZTogdGl0bGUgZm9yIGVuLWdiOyBkZXNjcmlwdGlvbjogZGVzYyBmb3Ig
ZW4tZ2IKKwlBWFRpdGxlOiB0aXRsZSBmb3IgZW4tZ2IKKwlBWERlc2NyaXB0aW9uOiBkZXNjIGZv
ciBlbi1nYgordGVzdDg6CisJRXhwZWN0ZWQgbmFtZTogdGl0bGUgZm9yIGVuX0dCOyBkZXNjcmlw
dGlvbjogZGVzYyBmb3IgZW5fR0IKKwlBWFRpdGxlOiB0aXRsZSBmb3IgZW5fR0IKKwlBWERlc2Ny
aXB0aW9uOiBkZXNjIGZvciBlbl9HQgordGVzdDk6CisJRXhwZWN0ZWQgbmFtZTogdGl0bGUgZm9y
IGVuOyBkZXNjcmlwdGlvbjogZGVzYyBmb3IgZW4KKwlBWFRpdGxlOiB0aXRsZSBmb3IgZW4KKwlB
WERlc2NyaXB0aW9uOiBkZXNjIGZvciBlbgordGVzdDEwOgorCUV4cGVjdGVkIG5hbWU6IHRpdGxl
IGZvciBlbi11czsgZGVzY3JpcHRpb246IGRlc2MgZm9yIGVuLXVzCisJQVhUaXRsZTogdGl0bGUg
Zm9yIGVuLXVzCisJQVhEZXNjcmlwdGlvbjogZGVzYyBmb3IgZW4tdXMKK3Rlc3QxMToKKwlFeHBl
Y3RlZCBuYW1lOiB0aXRsZSBmb3IgZW4tdXM7IGRlc2NyaXB0aW9uOiBkZXNjIGZvciBlbi11cwor
CUFYVGl0bGU6IHRpdGxlIGZvciBlbi11cworCUFYRGVzY3JpcHRpb246IGRlc2MgZm9yIGVuLXVz
Cit0ZXN0MTI6CisJRXhwZWN0ZWQgbmFtZTogZ2VuZXJpYyB0aXRsZTsgZGVzY3JpcHRpb246IGdl
bmVyaWMgZGVzYworCUFYVGl0bGU6IGdlbmVyaWMgdGl0bGUKKwlBWERlc2NyaXB0aW9uOiBnZW5l
cmljIGRlc2MKK3Rlc3QxMzoKKwlFeHBlY3RlZCBuYW1lOiAxc3QgdGl0bGUgZm9yIGVuX0dCOyBk
ZXNjcmlwdGlvbjogMXN0IGRlc2MgZm9yIGVuX0dCCisJQVhUaXRsZTogMXN0IHRpdGxlIGZvciBl
bl9HQgorCUFYRGVzY3JpcHRpb246IDFzdCBkZXNjIGZvciBlbl9HQgordGVzdDE0OgorCUV4cGVj
dGVkIG5hbWU6IDFzdCBnZW5lcmljIHRpdGxlOyBkZXNjcmlwdGlvbjogMXN0IGdlbmVyaWMgZGVz
YworCUFYVGl0bGU6IDFzdCBnZW5lcmljIHRpdGxlCisJQVhEZXNjcmlwdGlvbjogMXN0IGdlbmVy
aWMgZGVzYworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3cz
Yy1zdmctcHJlc2VudGF0aW9uYWwtcm9sZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS93M2Mtc3ZnLXByZXNlbnRhdGlvbmFsLXJvbGUtZXhwZWN0
ZWQudHh0CmluZGV4IGQxZDIyN2ZjMDU4MzEyYzJlZTllYTRhYjEzMDhmYTYzZTYwMzQ2NzcuLmJk
Njg1Yjc3N2RiOWMyMTI2NmVlYjZlYWIwNmEyMWZjMGFmYWJiMzkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3czYy1zdmctcHJlc2VudGF0aW9uYWwt
cm9sZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2li
aWxpdHkvdzNjLXN2Zy1wcmVzZW50YXRpb25hbC1yb2xlLWV4cGVjdGVkLnR4dApAQCAtNCwzMCAr
NCwzMCBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiAKIHRlc3QxOiBBWFJvbGU6IEFYR3Jv
dXAKLXRlc3QyOiBFbGVtZW50IG5vdCBleHBvc2VkCi10ZXN0MzogRWxlbWVudCBub3QgZXhwb3Nl
ZAotdGVzdDQ6IEVsZW1lbnQgbm90IGV4cG9zZWQKK3Rlc3QyOiBBWFJvbGU6IEFYR3JvdXAKK3Rl
c3QzOiBBWFJvbGU6IEFYSW1hZ2UKK3Rlc3Q0OiBBWFJvbGU6IEFYR3JvdXAKIHRlc3Q1OiBBWFJv
bGU6IEFYSW1hZ2UKLXRlc3Q2OiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0NjogQVhSb2xlOiBB
WEltYWdlCiB0ZXN0NzogQVhSb2xlOiBBWEltYWdlCi10ZXN0ODogRWxlbWVudCBub3QgZXhwb3Nl
ZAordGVzdDg6IEFYUm9sZTogQVhJbWFnZQogdGVzdDk6IEFYUm9sZTogQVhJbWFnZQogdGVzdDEw
OiBBWFJvbGU6IEFYSW1hZ2UKLXRlc3QxMTogRWxlbWVudCBub3QgZXhwb3NlZAordGVzdDExOiBB
WFJvbGU6IEFYSW1hZ2UKIHRlc3QxMjogRWxlbWVudCBub3QgZXhwb3NlZAogdGVzdDEzOiBFbGVt
ZW50IG5vdCBleHBvc2VkCiB0ZXN0MTQ6IEVsZW1lbnQgbm90IGV4cG9zZWQKIHRlc3QxNTogQVhS
b2xlOiBBWEdyb3VwCi10ZXN0MTY6IEVsZW1lbnQgbm90IGV4cG9zZWQKLXRlc3QxNzogRWxlbWVu
dCBub3QgZXhwb3NlZAotdGVzdDE4OiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0MTY6IEFYUm9s
ZTogQVhHcm91cAordGVzdDE3OiBBWFJvbGU6IEFYSW1hZ2UKK3Rlc3QxODogQVhSb2xlOiBBWEdy
b3VwCiB0ZXN0MTk6IEFYUm9sZTogQVhJbWFnZQotdGVzdDIwOiBFbGVtZW50IG5vdCBleHBvc2Vk
Cit0ZXN0MjA6IEFYUm9sZTogQVhJbWFnZQogdGVzdDIxOiBBWFJvbGU6IEFYSW1hZ2UKLXRlc3Qy
MjogRWxlbWVudCBub3QgZXhwb3NlZAordGVzdDIyOiBBWFJvbGU6IEFYSW1hZ2UKIHRlc3QyMzog
QVhSb2xlOiBBWEltYWdlCiB0ZXN0MjQ6IEFYUm9sZTogQVhJbWFnZQotdGVzdDI1OiBFbGVtZW50
IG5vdCBleHBvc2VkCit0ZXN0MjU6IEFYUm9sZTogQVhJbWFnZQogdGVzdDI2OiBFbGVtZW50IG5v
dCBleHBvc2VkCiB0ZXN0Mjc6IEVsZW1lbnQgbm90IGV4cG9zZWQKIHRlc3QyODogRWxlbWVudCBu
b3QgZXhwb3NlZApAQCAtMzcsNiArMzcsMTEgQEAgdGVzdDMxOiBFbGVtZW50IG5vdCBleHBvc2Vk
CiB0ZXN0MzI6IEVsZW1lbnQgbm90IGV4cG9zZWQKIHRlc3QzMzogRWxlbWVudCBub3QgZXhwb3Nl
ZAogdGVzdDM0OiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0MzU6IEVsZW1lbnQgbm90IGV4cG9z
ZWQKK3Rlc3QzNjogRWxlbWVudCBub3QgZXhwb3NlZAordGVzdDM3OiBFbGVtZW50IG5vdCBleHBv
c2VkCit0ZXN0Mzg6IEVsZW1lbnQgbm90IGV4cG9zZWQKK3Rlc3QzOTogRWxlbWVudCBub3QgZXhw
b3NlZAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS93M2Mtc3Zn
LWNvbnRlbnQtbGFuZ3VhZ2UtYXR0cmlidXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3czYy1zdmctY29udGVudC1sYW5ndWFnZS1hdHRyaWJ1
dGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU3MzgxNzU3YjJjY2Q4MDZmMjA0Y2QxMmViMTg1
NTRjNGNlNjY5YjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
YWNjZXNzaWJpbGl0eS93M2Mtc3ZnLWNvbnRlbnQtbGFuZ3VhZ2UtYXR0cmlidXRlLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDc5IEBACitUaGlzIHRlc3RzIHRoZSBhY2Nlc3NpYmxlIHRleHQgYWx0
ZXJuYXRpdmVzIHJlc3VsdHMgZm9yIFNWRyB3aGVuIHRoZSBjb250ZW50LWxhbmd1YWdlIGF0dHJp
YnV0ZSBpcyBzZXQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCit0ZXN0MToKKwlF
eHBlY3RlZCBuYW1lOiBnZW5lcmljIHRpdGxlOyBkZXNjcmlwdGlvbjogZ2VuZXJpYyBkZXNjCisJ
QVhUaXRsZTogCisJQVhEZXNjcmlwdGlvbjogZ2VuZXJpYyB0aXRsZQorCUFYSGVscDogZ2VuZXJp
YyBkZXNjCit0ZXN0MjoKKwlFeHBlY3RlZCBuYW1lOiB0aXRsZSBmb3IgZW47IGRlc2NyaXB0aW9u
OiBkZXNjIGZvciBlbgorCUFYVGl0bGU6IAorCUFYRGVzY3JpcHRpb246IHRpdGxlIGZvciBlbgor
CUFYSGVscDogZGVzYyBmb3IgZW4KK3Rlc3QzOgorCUV4cGVjdGVkIG5hbWU6IHRpdGxlIGZvciBl
bjsgZGVzY3JpcHRpb246IGRlc2MgZm9yIGVuCisJQVhUaXRsZTogCisJQVhEZXNjcmlwdGlvbjog
dGl0bGUgZm9yIGVuCisJQVhIZWxwOiBkZXNjIGZvciBlbgordGVzdDQ6CisJRXhwZWN0ZWQgbmFt
ZTogdGl0bGUgZm9yIEVOOyBkZXNjcmlwdGlvbjogZGVzYyBmb3IgRU4KKwlBWFRpdGxlOiAKKwlB
WERlc2NyaXB0aW9uOiB0aXRsZSBmb3IgRU4KKwlBWEhlbHA6IGRlc2MgZm9yIEVOCit0ZXN0NToK
KwlFeHBlY3RlZCBuYW1lOiBnZW5lcmljIHRpdGxlOyBkZXNjcmlwdGlvbjogZ2VuZXJpYyBkZXNj
CisJQVhUaXRsZTogCisJQVhEZXNjcmlwdGlvbjogZ2VuZXJpYyB0aXRsZQorCUFYSGVscDogZ2Vu
ZXJpYyBkZXNjCit0ZXN0NjoKKwlFeHBlY3RlZCBuYW1lOiBnZW5lcmljIHRpdGxlOyBkZXNjcmlw
dGlvbjogZ2VuZXJpYyBkZXNjCisJQVhUaXRsZTogCisJQVhEZXNjcmlwdGlvbjogZ2VuZXJpYyB0
aXRsZQorCUFYSGVscDogZ2VuZXJpYyBkZXNjCit0ZXN0NzoKKwlFeHBlY3RlZCBuYW1lOiB0aXRs
ZSBmb3IgZW4tZ2I7IGRlc2NyaXB0aW9uOiBkZXNjIGZvciBlbi1nYgorCUFYVGl0bGU6IAorCUFY
RGVzY3JpcHRpb246IHRpdGxlIGZvciBlbi1nYgorCUFYSGVscDogZGVzYyBmb3IgZW4tZ2IKK3Rl
c3Q4OgorCUV4cGVjdGVkIG5hbWU6IHRpdGxlIGZvciBlbl9HQjsgZGVzY3JpcHRpb246IGRlc2Mg
Zm9yIGVuX0dCCisJQVhUaXRsZTogCisJQVhEZXNjcmlwdGlvbjogdGl0bGUgZm9yIGVuX0dCCisJ
QVhIZWxwOiBkZXNjIGZvciBlbl9HQgordGVzdDk6CisJRXhwZWN0ZWQgbmFtZTogdGl0bGUgZm9y
IGVuOyBkZXNjcmlwdGlvbjogZGVzYyBmb3IgZW4KKwlBWFRpdGxlOiAKKwlBWERlc2NyaXB0aW9u
OiB0aXRsZSBmb3IgZW4KKwlBWEhlbHA6IGRlc2MgZm9yIGVuCit0ZXN0MTA6CisJRXhwZWN0ZWQg
bmFtZTogdGl0bGUgZm9yIGVuLXVzOyBkZXNjcmlwdGlvbjogZGVzYyBmb3IgZW4tdXMKKwlBWFRp
dGxlOiAKKwlBWERlc2NyaXB0aW9uOiB0aXRsZSBmb3IgZW4tdXMKKwlBWEhlbHA6IGRlc2MgZm9y
IGVuLXVzCit0ZXN0MTE6CisJRXhwZWN0ZWQgbmFtZTogdGl0bGUgZm9yIGVuLXVzOyBkZXNjcmlw
dGlvbjogZGVzYyBmb3IgZW4tdXMKKwlBWFRpdGxlOiAKKwlBWERlc2NyaXB0aW9uOiB0aXRsZSBm
b3IgZW4tdXMKKwlBWEhlbHA6IGRlc2MgZm9yIGVuLXVzCit0ZXN0MTI6CisJRXhwZWN0ZWQgbmFt
ZTogZ2VuZXJpYyB0aXRsZTsgZGVzY3JpcHRpb246IGdlbmVyaWMgZGVzYworCUFYVGl0bGU6IAor
CUFYRGVzY3JpcHRpb246IGdlbmVyaWMgdGl0bGUKKwlBWEhlbHA6IGdlbmVyaWMgZGVzYwordGVz
dDEzOgorCUV4cGVjdGVkIG5hbWU6IDFzdCB0aXRsZSBmb3IgZW5fR0I7IGRlc2NyaXB0aW9uOiAx
c3QgZGVzYyBmb3IgZW5fR0IKKwlBWFRpdGxlOiAKKwlBWERlc2NyaXB0aW9uOiAxc3QgdGl0bGUg
Zm9yIGVuX0dCCisJQVhIZWxwOiAxc3QgZGVzYyBmb3IgZW5fR0IKK3Rlc3QxNDoKKwlFeHBlY3Rl
ZCBuYW1lOiAxc3QgZ2VuZXJpYyB0aXRsZTsgZGVzY3JpcHRpb246IDFzdCBnZW5lcmljIGRlc2MK
KwlBWFRpdGxlOiAKKwlBWERlc2NyaXB0aW9uOiAxc3QgZ2VuZXJpYyB0aXRsZQorCUFYSGVscDog
MXN0IGdlbmVyaWMgZGVzYworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3Np
YmlsaXR5L3czYy1zdmctcHJlc2VudGF0aW9uYWwtcm9sZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNzaWJpbGl0eS93M2Mtc3ZnLXByZXNlbnRhdGlvbmFsLXJv
bGUtZXhwZWN0ZWQudHh0CmluZGV4IGQxZDIyN2ZjMDU4MzEyYzJlZTllYTRhYjEzMDhmYTYzZTYw
MzQ2NzcuLmJkNjg1Yjc3N2RiOWMyMTI2NmVlYjZlYWIwNmEyMWZjMGFmYWJiMzkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3czYy1zdmctcHJlc2Vu
dGF0aW9uYWwtcm9sZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2FjY2Vzc2liaWxpdHkvdzNjLXN2Zy1wcmVzZW50YXRpb25hbC1yb2xlLWV4cGVjdGVkLnR4dApA
QCAtNCwzMCArNCwzMCBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiAKIHRlc3QxOiBBWFJv
bGU6IEFYR3JvdXAKLXRlc3QyOiBFbGVtZW50IG5vdCBleHBvc2VkCi10ZXN0MzogRWxlbWVudCBu
b3QgZXhwb3NlZAotdGVzdDQ6IEVsZW1lbnQgbm90IGV4cG9zZWQKK3Rlc3QyOiBBWFJvbGU6IEFY
R3JvdXAKK3Rlc3QzOiBBWFJvbGU6IEFYSW1hZ2UKK3Rlc3Q0OiBBWFJvbGU6IEFYR3JvdXAKIHRl
c3Q1OiBBWFJvbGU6IEFYSW1hZ2UKLXRlc3Q2OiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0Njog
QVhSb2xlOiBBWEltYWdlCiB0ZXN0NzogQVhSb2xlOiBBWEltYWdlCi10ZXN0ODogRWxlbWVudCBu
b3QgZXhwb3NlZAordGVzdDg6IEFYUm9sZTogQVhJbWFnZQogdGVzdDk6IEFYUm9sZTogQVhJbWFn
ZQogdGVzdDEwOiBBWFJvbGU6IEFYSW1hZ2UKLXRlc3QxMTogRWxlbWVudCBub3QgZXhwb3NlZAor
dGVzdDExOiBBWFJvbGU6IEFYSW1hZ2UKIHRlc3QxMjogRWxlbWVudCBub3QgZXhwb3NlZAogdGVz
dDEzOiBFbGVtZW50IG5vdCBleHBvc2VkCiB0ZXN0MTQ6IEVsZW1lbnQgbm90IGV4cG9zZWQKIHRl
c3QxNTogQVhSb2xlOiBBWEdyb3VwCi10ZXN0MTY6IEVsZW1lbnQgbm90IGV4cG9zZWQKLXRlc3Qx
NzogRWxlbWVudCBub3QgZXhwb3NlZAotdGVzdDE4OiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0
MTY6IEFYUm9sZTogQVhHcm91cAordGVzdDE3OiBBWFJvbGU6IEFYSW1hZ2UKK3Rlc3QxODogQVhS
b2xlOiBBWEdyb3VwCiB0ZXN0MTk6IEFYUm9sZTogQVhJbWFnZQotdGVzdDIwOiBFbGVtZW50IG5v
dCBleHBvc2VkCit0ZXN0MjA6IEFYUm9sZTogQVhJbWFnZQogdGVzdDIxOiBBWFJvbGU6IEFYSW1h
Z2UKLXRlc3QyMjogRWxlbWVudCBub3QgZXhwb3NlZAordGVzdDIyOiBBWFJvbGU6IEFYSW1hZ2UK
IHRlc3QyMzogQVhSb2xlOiBBWEltYWdlCiB0ZXN0MjQ6IEFYUm9sZTogQVhJbWFnZQotdGVzdDI1
OiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0MjU6IEFYUm9sZTogQVhJbWFnZQogdGVzdDI2OiBF
bGVtZW50IG5vdCBleHBvc2VkCiB0ZXN0Mjc6IEVsZW1lbnQgbm90IGV4cG9zZWQKIHRlc3QyODog
RWxlbWVudCBub3QgZXhwb3NlZApAQCAtMzcsNiArMzcsMTEgQEAgdGVzdDMxOiBFbGVtZW50IG5v
dCBleHBvc2VkCiB0ZXN0MzI6IEVsZW1lbnQgbm90IGV4cG9zZWQKIHRlc3QzMzogRWxlbWVudCBu
b3QgZXhwb3NlZAogdGVzdDM0OiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0MzU6IEVsZW1lbnQg
bm90IGV4cG9zZWQKK3Rlc3QzNjogRWxlbWVudCBub3QgZXhwb3NlZAordGVzdDM3OiBFbGVtZW50
IG5vdCBleHBvc2VkCit0ZXN0Mzg6IEVsZW1lbnQgbm90IGV4cG9zZWQKK3Rlc3QzOTogRWxlbWVu
dCBub3QgZXhwb3NlZAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENP
TVBMRVRFCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276474</attachid>
            <date>2016-04-15 07:13:38 -0700</date>
            <delta_ts>2016-04-15 08:51:18 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-156519-20160415101351.patch</filename>
            <type>text/plain</type>
            <size>30495</size>
            <attacher name="Joanmarie Diggs">jdiggs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5NTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGNhY2I1NWMyZWQxZDkw
NjQ3NjlmNDEyNzg4Njg5YmQ1YTMzZWY4OS4uNGNkZTY4MDk2Y2M2YTU1ZDEzNTQzNzY3NDYyMjg1
NjQwMWRjOGQ1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE2LTA0LTE1ICBKb2Fu
bWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KKworICAgICAgICBBWDogUHJlc2VudGF0
aW9uYWwgcm9sZSBvbiBTVkcgZWxlbWVudHMgaXMgdHJ1bXBlZCBieSBjaGlsZCAndGl0bGUnIGFu
ZCAnZGVzYycgZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE1NjUxOQorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIEZsZWl6YWNoLgor
CisgICAgICAgIE92ZXJyaWRlIHRoZSBwcmVzZW50YXRpb25hbCByb2xlIG9uIFNWRyBlbGVtZW50
cyB3aGljaCBoYXZlIGEgY2hpbGQgJ3RpdGxlJyBvciAnZGVzYycKKyAgICAgICAgZWxlbWVudC4g
QXMgYSByZXN1bHQgb2YgdGhpcyBjaGFuZ2UsIEFjY2Vzc2liaWxpdHlTVkdSb290IG9iamVjdHMg
d291bGQgYmUgZXhwb3NlZAorICAgICAgICB3aXRoIGFuIEFjY2Vzc2liaWxpdHlSb2xlIG9mIFVu
a25vd25Sb2xlLiBUaGVyZWZvcmUgbWFwIGluY2x1ZGVkIEFjY2Vzc2liaWxpdHlTVkdSb290Cisg
ICAgICAgIG9iamVjdHMgdG8gR3JvdXBSb2xlIGFzIHBlciB0aGUgU1ZHIEFjY2Vzc2liaWxpdHkg
QVBJIE1hcHBpbmcgc3BlY2lmaWNhdGlvbi4KKworICAgICAgICBBbHNvIHVzZSBpbmRleE9mQmVz
dE1hdGNoaW5nTGFuZ3VhZ2VJbkxpc3QoKSB0byBpZGVudGlmeSB3aGljaCBjaGlsZCAndGl0bGUn
IG9yICdkZXNjJworICAgICAgICBlbGVtZW50IGlzIHRoZSBiZXN0IG1hdGNoIGZvciB0aGUgcGFy
ZW50IGVsZW1lbnQuCisKKyAgICAgICAgTmV3IFRlc3Q6IGFjY2Vzc2liaWxpdHkvdzNjLXN2Zy1j
b250ZW50LWxhbmd1YWdlLWF0dHJpYnV0ZS5odG1sCisKKyAgICAgICAgQWxzbzogVXBkYXRlIHcz
Yy1zdmctcHJlc2VudGF0aW9uYWwtcm9sZS5odG1sIGV4cGVjdGF0aW9ucyBiZWNhdXNlIHRoZXJl
IGFyZSB0ZXN0IGNhc2VzCisgICAgICAgIGluIHdoaWNoIGVsZW1lbnRzIGFyZSBub3cgYmVpbmcg
aW5jbHVkZWQgaW4gdGhlIGFjY2Vzc2liaWxpdHkgdHJlZSBhcyBhIHJlc3VsdCBvZiB0aGlzCisg
ICAgICAgIGNoYW5nZS4gQWxzbyBhZGQgbmV3IHRlc3QgY2FzZXMgd2hpY2ggbGFjayBjaGlsZCAn
dGl0bGUnIGFuZCAnZGVzYycgZWxlbWVudHMuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlOb2RlT2JqZWN0Lmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5U1ZHRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5U1ZH
RWxlbWVudDo6Y2hpbGRFbGVtZW50V2l0aE1hdGNoaW5nTGFuZ3VhZ2UpOgorICAgICAgICAoV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQ6OmFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudDo6aGVscFRleHQpOgor
ICAgICAgICAoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQ6OmNvbXB1dGVBY2Nlc3Np
YmlsaXR5SXNJZ25vcmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlTVkdFbGVt
ZW50OjpkZXRlcm1pbmVBcmlhUm9sZUF0dHJpYnV0ZSk6CisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVNWR1Jvb3QuaDoKKwogMjAxNi0wNC0xNSAgQ2FybG9zIEdhcmNpYSBDYW1wb3Mg
IDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgU2VsZWN0aW9uLmRlbGV0ZUZyb21Eb2N1
bWVudCBzaG91bGQgbm90IGxlYXZlIGEgc2VsZWN0aW9uIGNoYXJhY3RlcgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5oIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5Tm9kZU9iamVjdC5oCmlu
ZGV4IGI0ODMxYmY5ZTdiNTFkNWZkMTM1OWZjZWExZTlhMGRhMzMyOTk4ZjMuLjA1OWVlOGIwNjFi
ZmQyNjA4NGFhMTg0ZDg5ZWJlZGI1M2RkOWI2NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU5vZGVPYmplY3QuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlOb2RlT2JqZWN0LmgKQEAgLTE3NCw3ICsx
NzQsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBib29sIGNhbkhhdmVDaGlsZHJlbigpIGNvbnN0IG92
ZXJyaWRlOwogICAgIEFjY2Vzc2liaWxpdHlSb2xlIGFyaWFSb2xlQXR0cmlidXRlKCkgY29uc3Qg
b3ZlcnJpZGU7Ci0gICAgQWNjZXNzaWJpbGl0eVJvbGUgZGV0ZXJtaW5lQXJpYVJvbGVBdHRyaWJ1
dGUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIEFjY2Vzc2liaWxpdHlSb2xlIGRldGVybWluZUFyaWFS
b2xlQXR0cmlidXRlKCkgY29uc3Q7CiAgICAgQWNjZXNzaWJpbGl0eVJvbGUgcmVtYXBBcmlhUm9s
ZUR1ZVRvUGFyZW50KEFjY2Vzc2liaWxpdHlSb2xlKSBjb25zdDsKICAgICBib29sIGlzRGVzY2Vu
ZGFudE9mQmFycmVuUGFyZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBhbHRlclNsaWRl
clZhbHVlKGJvb2wgaW5jcmVhc2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdFbGVtZW50LmNwcAppbmRleCAwYTgzYmNkNmEyNDM0
YTE5MzlhZTdkY2EzN2Y4YjgyMTA2MzZlMGI1Li4wYWE5MDg2ODY1ZmY0ZDBlMjgxMTk0M2Y0NGVi
YzlhOTJhNjdjZDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlTVkdFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlTVkdFbGVtZW50LmNwcApAQCAtNzIsNiArNzIsNDEgQEAgQWNjZXNz
aWJpbGl0eU9iamVjdCogQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQ6OnRhcmdldEZvclVzZUVsZW1l
bnQoKSBjb25zdAogICAgIHJldHVybiBudWxscHRyOwogfQogCit0ZW1wbGF0ZSA8dHlwZW5hbWUg
Q2hpbGRyZW5UeXBlPgorRWxlbWVudCogQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQ6OmNoaWxkRWxl
bWVudFdpdGhNYXRjaGluZ0xhbmd1YWdlKENoaWxkcmVuVHlwZSYgY2hpbGRyZW4pIGNvbnN0Cit7
CisgICAgU3RyaW5nIGxhbmd1YWdlQ29kZSA9IGxhbmd1YWdlKCk7CisgICAgaWYgKGxhbmd1YWdl
Q29kZS5pc0VtcHR5KCkpCisgICAgICAgIGxhbmd1YWdlQ29kZSA9IGRlZmF1bHRMYW5ndWFnZSgp
OworCisgICAgLy8gVGhlIGJlc3QgbWF0Y2ggZm9yIGEgZ3JvdXAgb2YgY2hpbGQgU1ZHMiAndGl0
bGUnIG9yICdkZXNjJyBlbGVtZW50cyBtYXkgYmUgdGhlIG9uZQorICAgIC8vIHdoaWNoIGxhY2tz
IGEgJ2xhbmcnIGF0dHJpYnV0ZSB2YWx1ZS4gSG93ZXZlciwgaW5kZXhPZkJlc3RNYXRjaGluZ0xh
bmd1YWdlSW5MaXN0KCkKKyAgICAvLyBjdXJyZW50bHkgYmFzZXMgaXRzIGRlY2lzaW9uIG9uIG5v
bi1lbXB0eSBzdHJpbmdzLiBGdXJ0aGVybW9yZSwgd2UgY2Fubm90IGNvdW50IG9uCisgICAgLy8g
dGhhdCBjaGlsZCBlbGVtZW50IGhhdmluZyBhIGdpdmVuIHBvc2l0aW9uLiBTbyB3ZSdsbCBsb29r
IGZvciBzdWNoIGFuIGVsZW1lbnQgd2hpbGUKKyAgICAvLyBidWlsZGluZyB0aGUgbGFuZ3VhZ2Ug
bGlzdCBhbmQgc2F2ZSBpdCBhcyBvdXIgZmFsbGJhY2suCisKKyAgICBFbGVtZW50KiBmYWxsYmFj
ayA9IG51bGxwdHI7CisgICAgVmVjdG9yPFN0cmluZz4gY2hpbGRMYW5ndWFnZUNvZGVzOworICAg
IFZlY3RvcjxFbGVtZW50Kj4gZWxlbWVudHM7CisgICAgZm9yIChhdXRvJiBjaGlsZCA6IGNoaWxk
cmVuKSB7CisgICAgICAgIFN0cmluZyBsYW5nID0gY2hpbGQuZmFzdEdldEF0dHJpYnV0ZShTVkdO
YW1lczo6bGFuZ0F0dHIpOworICAgICAgICBjaGlsZExhbmd1YWdlQ29kZXMuYXBwZW5kKGxhbmcp
OworICAgICAgICBlbGVtZW50cy5hcHBlbmQoJmNoaWxkKTsKKworICAgICAgICAvLyBUaGUgY3Vy
cmVudCBkcmFmdCBvZiB0aGUgU1ZHMiBzcGVjIHN0YXRlcyBpZiB0aGVyZSBhcmUgbXVsdGlwbGUg
ZXF1YWxseS12YWxpZAorICAgICAgICAvLyBtYXRjaGVzLCB0aGUgZmlyc3QgbWF0Y2ggc2hvdWxk
IGJlIHVzZWQuCisgICAgICAgIGlmIChsYW5nLmlzRW1wdHkoKSAmJiAhZmFsbGJhY2spCisgICAg
ICAgICAgICBmYWxsYmFjayA9ICZjaGlsZDsKKyAgICB9CisKKyAgICBib29sIGV4YWN0TWF0Y2g7
CisgICAgc2l6ZV90IGluZGV4ID0gaW5kZXhPZkJlc3RNYXRjaGluZ0xhbmd1YWdlSW5MaXN0KGxh
bmd1YWdlQ29kZSwgY2hpbGRMYW5ndWFnZUNvZGVzLCBleGFjdE1hdGNoKTsKKyAgICBpZiAoaW5k
ZXggPCBjaGlsZExhbmd1YWdlQ29kZXMuc2l6ZSgpKQorICAgICAgICByZXR1cm4gZWxlbWVudHNb
aW5kZXhdOworCisgICAgcmV0dXJuIGZhbGxiYWNrOworfQorCiB2b2lkIEFjY2Vzc2liaWxpdHlT
VkdFbGVtZW50OjphY2Nlc3NpYmlsaXR5VGV4dChWZWN0b3I8QWNjZXNzaWJpbGl0eVRleHQ+JiB0
ZXh0T3JkZXIpCiB7CiAgICAgU3RyaW5nIGRlc2NyaXB0aW9uID0gYWNjZXNzaWJpbGl0eURlc2Ny
aXB0aW9uKCk7CkBAIC05NywxNiArMTMyLDkgQEAgU3RyaW5nIEFjY2Vzc2liaWxpdHlTVkdFbGVt
ZW50OjphY2Nlc3NpYmlsaXR5RGVzY3JpcHRpb24oKSBjb25zdAogICAgIGlmICghYXJpYURlc2Ny
aXB0aW9uLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIGFyaWFEZXNjcmlwdGlvbjsKIAotICAg
IFN0cmluZyBsYW5nID0gbGFuZ3VhZ2UoKTsKLSAgICBpZiAobGFuZy5pc0VtcHR5KCkpCi0gICAg
ICAgIGxhbmcgPSBkZWZhdWx0TGFuZ3VhZ2UoKS5zdWJzdHJpbmcoMCwgMik7Ci0KLSAgICBTdHJp
bmcgY2hpbGRMYW5nOwotICAgIGZvciAoY29uc3QgYXV0byYgY2hpbGQgOiBjaGlsZHJlbk9mVHlw
ZTxTVkdUaXRsZUVsZW1lbnQ+KCplbGVtZW50KCkpKSB7Ci0gICAgICAgIGNoaWxkTGFuZyA9IGNo
aWxkLmdldEF0dHJpYnV0ZShTVkdOYW1lczo6bGFuZ0F0dHIpOwotICAgICAgICBpZiAoY2hpbGRM
YW5nID09IGxhbmcgfHwgY2hpbGRMYW5nLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIHJldHVybiBj
aGlsZC50ZXh0Q29udGVudCgpOwotICAgIH0KKyAgICBhdXRvIHRpdGxlRWxlbWVudHMgPSBjaGls
ZHJlbk9mVHlwZTxTVkdUaXRsZUVsZW1lbnQ+KCplbGVtZW50KCkpOworICAgIGlmIChhdXRvIHRp
dGxlQ2hpbGQgPSBjaGlsZEVsZW1lbnRXaXRoTWF0Y2hpbmdMYW5ndWFnZSh0aXRsZUVsZW1lbnRz
KSkKKyAgICAgICAgcmV0dXJuIHRpdGxlQ2hpbGQtPnRleHRDb250ZW50KCk7CiAKICAgICBpZiAo
aXM8U1ZHQUVsZW1lbnQ+KGVsZW1lbnQoKSkpIHsKICAgICAgICAgU3RyaW5nIHhsaW5rVGl0bGUg
PSBlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUoWExpbmtOYW1lczo6dGl0bGVBdHRyKTsKQEAg
LTE1MSwxNiArMTc5LDkgQEAgU3RyaW5nIEFjY2Vzc2liaWxpdHlTVkdFbGVtZW50OjpoZWxwVGV4
dCgpIGNvbnN0CiAgICAgaWYgKCFkZXNjcmliZWRCeS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVy
biBkZXNjcmliZWRCeTsKIAotICAgIFN0cmluZyBsYW5nID0gbGFuZ3VhZ2UoKTsKLSAgICBpZiAo
bGFuZy5pc0VtcHR5KCkpCi0gICAgICAgIGxhbmcgPSBkZWZhdWx0TGFuZ3VhZ2UoKS5zdWJzdHJp
bmcoMCwgMik7Ci0KLSAgICBTdHJpbmcgY2hpbGRMYW5nOwotICAgIGZvciAoY29uc3QgYXV0byYg
Y2hpbGQgOiBjaGlsZHJlbk9mVHlwZTxTVkdEZXNjRWxlbWVudD4oKmVsZW1lbnQoKSkpIHsKLSAg
ICAgICAgY2hpbGRMYW5nID0gY2hpbGQuZ2V0QXR0cmlidXRlKFNWR05hbWVzOjpsYW5nQXR0cik7
Ci0gICAgICAgIGlmIChjaGlsZExhbmcgPT0gbGFuZyB8fCBjaGlsZExhbmcuaXNFbXB0eSgpKQot
ICAgICAgICAgICAgcmV0dXJuIGNoaWxkLnRleHRDb250ZW50KCk7Ci0gICAgfQorICAgIGF1dG8g
ZGVzY3JpcHRpb25FbGVtZW50cyA9IGNoaWxkcmVuT2ZUeXBlPFNWR0Rlc2NFbGVtZW50PigqZWxl
bWVudCgpKTsKKyAgICBpZiAoYXV0byBkZXNjcmlwdGlvbkNoaWxkID0gY2hpbGRFbGVtZW50V2l0
aE1hdGNoaW5nTGFuZ3VhZ2UoZGVzY3JpcHRpb25FbGVtZW50cykpCisgICAgICAgIHJldHVybiBk
ZXNjcmlwdGlvbkNoaWxkLT50ZXh0Q29udGVudCgpOwogCiAgICAgaWYgKGlzPFNWR1VzZUVsZW1l
bnQ+KGVsZW1lbnQoKSkpIHsKICAgICAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogdGFyZ2V0ID0g
dGFyZ2V0Rm9yVXNlRWxlbWVudCgpOwpAQCAtMTc3LDEwICsxOTgsMTAgQEAgU3RyaW5nIEFjY2Vz
c2liaWxpdHlTVkdFbGVtZW50OjpoZWxwVGV4dCgpIGNvbnN0CiAgICAgICAgICAgICByZXR1cm4g
dGV4dDsKICAgICB9CiAKLSAgICBmb3IgKGNvbnN0IGF1dG8mIGNoaWxkIDogY2hpbGRyZW5PZlR5
cGU8U1ZHVGl0bGVFbGVtZW50PigqZWxlbWVudCgpKSkgewotICAgICAgICBjaGlsZExhbmcgPSBj
aGlsZC5nZXRBdHRyaWJ1dGUoU1ZHTmFtZXM6OmxhbmdBdHRyKTsKLSAgICAgICAgaWYgKChjaGls
ZExhbmcgPT0gbGFuZyB8fCBjaGlsZExhbmcuaXNFbXB0eSgpKSAmJiBjaGlsZC50ZXh0Q29udGVu
dCgpICE9IGRlc2NyaXB0aW9uKQotICAgICAgICAgICAgcmV0dXJuIGNoaWxkLnRleHRDb250ZW50
KCk7CisgICAgYXV0byB0aXRsZUVsZW1lbnRzID0gY2hpbGRyZW5PZlR5cGU8U1ZHVGl0bGVFbGVt
ZW50PigqZWxlbWVudCgpKTsKKyAgICBpZiAoYXV0byB0aXRsZUNoaWxkID0gY2hpbGRFbGVtZW50
V2l0aE1hdGNoaW5nTGFuZ3VhZ2UodGl0bGVFbGVtZW50cykpIHsKKyAgICAgICAgaWYgKHRpdGxl
Q2hpbGQtPnRleHRDb250ZW50KCkgIT0gZGVzY3JpcHRpb24pCisgICAgICAgICAgICByZXR1cm4g
dGl0bGVDaGlsZC0+dGV4dENvbnRlbnQoKTsKICAgICB9CiAKICAgICByZXR1cm4gU3RyaW5nKCk7
CkBAIC0xOTEsNyArMjEyLDggQEAgYm9vbCBBY2Nlc3NpYmlsaXR5U1ZHRWxlbWVudDo6Y29tcHV0
ZUFjY2Vzc2liaWxpdHlJc0lnbm9yZWQoKSBjb25zdAogICAgIC8vIEFjY29yZGluZyB0byB0aGUg
U1ZHIEFjY2Vzc2liaWxpdHkgQVBJIE1hcHBpbmdzIHNwZWMsIGl0ZW1zIHNob3VsZCBiZSBleGNs
dWRlZCBpZjoKICAgICAvLyAqIFRoZXkgd291bGQgYmUgZXhjbHVkZWQgYWNjb3JkaW5nIHRvIHRo
ZSBDb3JlIEFjY2Vzc2liaWxpdHkgQVBJIE1hcHBpbmdzLgogICAgIC8vICogVGhleSBhcmUgbmVp
dGhlciBwZXJjZWl2YWJsZSBub3IgaW50ZXJhY3RpdmUuCi0gICAgLy8gKiBUaGVpciBmaXJzdCBt
YXBwYWJsZSByb2xlIGlzIHByZXNlbnRhdGlvbmFsLCByZWdhcmRsZXNzIG9mIG90aGVyIEFSSUEg
YXR0cmlidXRlcy4KKyAgICAvLyAqIFRoZWlyIGZpcnN0IG1hcHBhYmxlIHJvbGUgaXMgcHJlc2Vu
dGF0aW9uYWwsIHVubGVzcyB0aGV5IGhhdmUgYSBnbG9iYWwgQVJJQQorICAgIC8vICAgYXR0cmli
dXRlIChjb3ZlcmVkIGJ5IENvcmUgQUFNKSBvciBhdCBsZWFzdCBvbmUgJ3RpdGxlJyBvciAnZGVz
YycgY2hpbGQgZWxlbWVudC4KICAgICAvLyAqIFRoZXkgaGF2ZSBhbiBhbmNlc3RvciB3aXRoIENo
aWxkcmVuIFByZXNlbnRhdGlvbmFsOiBUcnVlIChjb3ZlcmVkIGJ5IENvcmUgQUFNKQogCiAgICAg
QWNjZXNzaWJpbGl0eU9iamVjdEluY2x1c2lvbiBkZWNpc2lvbiA9IGRlZmF1bHRPYmplY3RJbmNs
dXNpb24oKTsKQEAgLTIwMSwxOCArMjIzLDE5IEBAIGJvb2wgQWNjZXNzaWJpbGl0eVNWR0VsZW1l
bnQ6OmNvbXB1dGVBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkKCkgY29uc3QKICAgICBpZiAobV9yZW5k
ZXJlci0+aXNTVkdIaWRkZW5Db250YWluZXIoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAg
ICBpZiAocm9sZVZhbHVlKCkgPT0gUHJlc2VudGF0aW9uYWxSb2xlIHx8IGluaGVyaXRzUHJlc2Vu
dGF0aW9uYWxSb2xlKCkpCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgaWYgKGFyaWFSb2xl
QXR0cmlidXRlKCkgIT0gVW5rbm93blJvbGUpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQogICAg
IC8vIFRoZSBTVkcgQUFNIHN0YXRlcyBvYmplY3RzIHdpdGggYXQgbGVhc3Qgb25lICd0aXRsZScg
b3IgJ2Rlc2MnIGVsZW1lbnQgTVVTVCBiZSBpbmNsdWRlZC4KKyAgICAvLyBBdCB0aGlzIHRpbWUs
IHRoZSBwcmVzZW5jZSBvZiBhIG1hdGNoaW5nICdsYW5nJyBhdHRyaWJ1dGUgaXMgbm90IG1lbnRp
b25lZCBpbiB0aGUgc3BlYy4KICAgICBmb3IgKGNvbnN0IGF1dG8mIGNoaWxkIDogY2hpbGRyZW5P
ZlR5cGU8U1ZHRWxlbWVudD4oKmVsZW1lbnQoKSkpIHsKICAgICAgICAgaWYgKChpczxTVkdUaXRs
ZUVsZW1lbnQ+KGNoaWxkKSB8fCBpczxTVkdEZXNjRWxlbWVudD4oY2hpbGQpKSkKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKKyAgICBpZiAocm9sZVZhbHVlKCkgPT0gUHJlc2Vu
dGF0aW9uYWxSb2xlIHx8IGluaGVyaXRzUHJlc2VudGF0aW9uYWxSb2xlKCkpCisgICAgICAgIHJl
dHVybiB0cnVlOworCisgICAgaWYgKGFyaWFSb2xlQXR0cmlidXRlKCkgIT0gVW5rbm93blJvbGUp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIC8vIFRoZSBTVkcgQUFNIHN0YXRlcyB0ZXh0
IGVsZW1lbnRzIHNob3VsZCBhbHNvIGJlIGluY2x1ZGVkLCBpZiB0aGV5IGhhdmUgY29udGVudC4K
ICAgICBpZiAobV9yZW5kZXJlci0+aXNTVkdUZXh0KCkgfHwgbV9yZW5kZXJlci0+aXNTVkdUZXh0
UGF0aCgpKSB7CiAgICAgICAgIGZvciAoYXV0byYgY2hpbGQgOiBjaGlsZHJlbk9mVHlwZTxSZW5k
ZXJUZXh0Pihkb3duY2FzdDxSZW5kZXJFbGVtZW50PigqbV9yZW5kZXJlcikpKSB7CkBAIC0yNDYs
NiArMjY5LDIzIEBAIGJvb2wgQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQ6OmluaGVyaXRzUHJlc2Vu
dGF0aW9uYWxSb2xlKCkgY29uc3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK0FjY2Vzc2liaWxp
dHlSb2xlIEFjY2Vzc2liaWxpdHlTVkdFbGVtZW50OjpkZXRlcm1pbmVBcmlhUm9sZUF0dHJpYnV0
ZSgpIGNvbnN0Cit7CisgICAgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZSA9IEFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3Q6OmRldGVybWluZUFyaWFSb2xlQXR0cmlidXRlKCk7CisgICAgaWYgKHJvbGUg
IT0gUHJlc2VudGF0aW9uYWxSb2xlKQorICAgICAgICByZXR1cm4gcm9sZTsKKworICAgIC8vIFRo
ZSBwcmVzZW5jZSBvZiBhICd0aXRsZScgb3IgJ2Rlc2MnIGNoaWxkIGVsZW1lbnQgdHJ1bXBzIFBy
ZXNlbnRhdGlvbmFsUm9sZS4KKyAgICAvLyBodHRwczovL2xpc3RzLnczLm9yZy9BcmNoaXZlcy9Q
dWJsaWMvcHVibGljLXN2Zy1hMTF5LzIwMTZBcHIvMDAxNi5odG1sCisgICAgLy8gQXQgdGhpcyB0
aW1lLCB0aGUgcHJlc2VuY2Ugb2YgYSBtYXRjaGluZyAnbGFuZycgYXR0cmlidXRlIGlzIG5vdCBt
ZW50aW9uZWQuCisgICAgZm9yIChjb25zdCBhdXRvJiBjaGlsZCA6IGNoaWxkcmVuT2ZUeXBlPFNW
R0VsZW1lbnQ+KCplbGVtZW50KCkpKSB7CisgICAgICAgIGlmICgoaXM8U1ZHVGl0bGVFbGVtZW50
PihjaGlsZCkgfHwgaXM8U1ZHRGVzY0VsZW1lbnQ+KGNoaWxkKSkpCisgICAgICAgICAgICByZXR1
cm4gVW5rbm93blJvbGU7CisgICAgfQorCisgICAgcmV0dXJuIHJvbGU7Cit9CisKIEFjY2Vzc2li
aWxpdHlSb2xlIEFjY2Vzc2liaWxpdHlTVkdFbGVtZW50OjpkZXRlcm1pbmVBY2Nlc3NpYmlsaXR5
Um9sZSgpCiB7CiAgICAgaWYgKChtX2FyaWFSb2xlID0gZGV0ZXJtaW5lQXJpYVJvbGVBdHRyaWJ1
dGUoKSkgIT0gVW5rbm93blJvbGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FjY2Vzc2liaWxpdHlTVkdFbGVtZW50LmgKaW5kZXggMTEzODhiNDgxNjcxOWQ0NjA4
OTUwZGJjODBjMzdiODAzYTNlNDMwMS4uYWI0NTNkMGY3MDY5ZmE3NDM3NzJlNDk3NGYzNzZhOTcx
YzZhODEzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5U1ZHRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNj
ZXNzaWJpbGl0eVNWR0VsZW1lbnQuaApAQCAtNDcsMTEgKzQ3LDE1IEBAIHByb3RlY3RlZDoKIHBy
aXZhdGU6CiAgICAgdm9pZCBhY2Nlc3NpYmlsaXR5VGV4dChWZWN0b3I8QWNjZXNzaWJpbGl0eVRl
eHQ+JikgZmluYWw7CiAgICAgQWNjZXNzaWJpbGl0eVJvbGUgZGV0ZXJtaW5lQWNjZXNzaWJpbGl0
eVJvbGUoKSBmaW5hbDsKKyAgICBBY2Nlc3NpYmlsaXR5Um9sZSBkZXRlcm1pbmVBcmlhUm9sZUF0
dHJpYnV0ZSgpIGNvbnN0IGZpbmFsOwogICAgIGJvb2wgaW5oZXJpdHNQcmVzZW50YXRpb25hbFJv
bGUoKSBjb25zdCBmaW5hbDsKICAgICBib29sIGlzQWNjZXNzaWJpbGl0eVNWR0VsZW1lbnQoKSBj
b25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAgICAgYm9vbCBjb21wdXRlQWNjZXNzaWJpbGl0
eUlzSWdub3JlZCgpIGNvbnN0IGZpbmFsOwogCiAgICAgQWNjZXNzaWJpbGl0eU9iamVjdCogdGFy
Z2V0Rm9yVXNlRWxlbWVudCgpIGNvbnN0OworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENoaWxk
cmVuVHlwZT4KKyAgICBFbGVtZW50KiBjaGlsZEVsZW1lbnRXaXRoTWF0Y2hpbmdMYW5ndWFnZShD
aGlsZHJlblR5cGUmKSBjb25zdDsKIH07CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U1ZHUm9vdC5oIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U1ZHUm9vdC5oCmluZGV4IGNmMTZiNWU2Y2E0MDJhMGJh
Nzk4ZDVhZGJkMzI0YTlhMDU1MTg1NzcuLmZjYmFhOGQ3ZGI1NGMyNGNmMDZjMTZmOGM5ZGNiMGZl
NTcxOTgxZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNz
aWJpbGl0eVNWR1Jvb3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vz
c2liaWxpdHlTVkdSb290LmgKQEAgLTQ3LDYgKzQ3LDcgQEAgcHJpdmF0ZToKICAgICBib29sIGlz
QWNjZXNzaWJpbGl0eVNWR1Jvb3QoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAK
ICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBtX3BhcmVudDsKKyAgICBBY2Nlc3NpYmlsaXR5Um9s
ZSByb2xlVmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBHcm91cFJvbGU7IH0KIH07CiAg
ICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNkZDVjN2IyZjdlMzc3YWFkMzE0
NjZiNGY3OGJjOWU2NDgzMjFiNDguLjY0OTI2NDM0ZjVmNWVkODIxMTMyNjgzMzEwODk0OGFkN2Fm
MmMzMjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxNi0wNC0xNSAgSm9hbm1hcmllIERpZ2dz
ICA8amRpZ2dzQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVg6IFByZXNlbnRhdGlvbmFsIHJvbGUg
b24gU1ZHIGVsZW1lbnRzIGlzIHRydW1wZWQgYnkgY2hpbGQgJ3RpdGxlJyBhbmQgJ2Rlc2MnIGVs
ZW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NTY1MTkKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBGbGVpemFjaC4KKworICAgICAgICBV
cGRhdGUgdzNjLXN2Zy1wcmVzZW50YXRpb25hbC1yb2xlLmh0bWwgZXhwZWN0YXRpb25zIGJlY2F1
c2UgdGhlcmUgYXJlIHRlc3QgY2FzZXMgaW4gd2hpY2gKKyAgICAgICAgZWxlbWVudHMgYXJlIG5v
dyBiZWluZyBpbmNsdWRlZCBpbiB0aGUgYWNjZXNzaWJpbGl0eSB0cmVlIGFzIGEgcmVzdWx0IG9m
IHRoaXMgY2hhbmdlLiBBbHNvCisgICAgICAgIGFkZCBuZXcgdGVzdCBjYXNlcyB3aGljaCBsYWNr
IGNoaWxkICd0aXRsZScgYW5kICdkZXNjJyBlbGVtZW50cy4KKworICAgICAgICAqIGFjY2Vzc2li
aWxpdHkvdzNjLXN2Zy1jb250ZW50LWxhbmd1YWdlLWF0dHJpYnV0ZS5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L3czYy1zdmctcHJlc2VudGF0aW9uYWwtcm9sZS5odG1sOiBO
ZXcgdGVzdCBjYXNlcyBhZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0
eS93M2Mtc3ZnLWNvbnRlbnQtbGFuZ3VhZ2UtYXR0cmlidXRlLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdzNjLXN2Zy1wcmVzZW50YXRp
b25hbC1yb2xlLWV4cGVjdGVkLnR4dDogVXBkYXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
YWNjZXNzaWJpbGl0eS93M2Mtc3ZnLWNvbnRlbnQtbGFuZ3VhZ2UtYXR0cmlidXRlLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvdzNjLXN2
Zy1wcmVzZW50YXRpb25hbC1yb2xlLWV4cGVjdGVkLnR4dDogVXBkYXRlZC4KKwogMjAxNi0wNC0x
NSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAg
U2VsZWN0aW9uLmRlbGV0ZUZyb21Eb2N1bWVudCBzaG91bGQgbm90IGxlYXZlIGEgc2VsZWN0aW9u
IGNoYXJhY3RlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS93M2Mtc3Zn
LWNvbnRlbnQtbGFuZ3VhZ2UtYXR0cmlidXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L3czYy1zdmctY29udGVudC1sYW5ndWFnZS1hdHRyaWJ1dGUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
NGNjZjkxMzM0YTM5OTlkNzg2YTg0ZDhkMTkxNDNkNmZiMWRjMGFkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS93M2Mtc3ZnLWNvbnRlbnQtbGFuZ3VhZ2UtYXR0
cmlidXRlLmh0bWwKQEAgLTAsMCArMSwxNzIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v
SUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxtZXRhIGh0dHAtZXF1
aXY9ImNvbnRlbnQtbGFuZ3VhZ2UiIGNvbnRlbnQ9ImVuLWdiIj4KKzxib2R5IGlkPSJib2R5Ij4K
KzxkaXYgaWQ9ImNvbnRlbnQiPgorPHN2Zz4KKyAgPGNpcmNsZSBpZD0idGVzdDEiIGN4PSI1MCIg
Y3k9IjEwMCIgcj0iMTUiIGRhdGEtZXhwZWN0ZWQ9Im5hbWU6IGdlbmVyaWMgdGl0bGU7IGRlc2Ny
aXB0aW9uOiBnZW5lcmljIGRlc2MiPgorICAgIDx0aXRsZT5nZW5lcmljIHRpdGxlPC90aXRsZT4K
KyAgICA8ZGVzYz5nZW5lcmljIGRlc2M8L2Rlc2M+CisgIDwvY2lyY2xlPgorPC9zdmc+Cis8c3Zn
PgorICA8Y2lyY2xlIGlkPSJ0ZXN0MiIgY3g9IjUwIiBjeT0iMTAwIiByPSIxNSIgZGF0YS1leHBl
Y3RlZD0ibmFtZTogdGl0bGUgZm9yIGVuOyBkZXNjcmlwdGlvbjogZGVzYyBmb3IgZW4iPgorICAg
IDx0aXRsZSBsYW5nPSJkZSI+dGl0bGUgZm9yIGRlPC90aXRsZT4KKyAgICA8dGl0bGUgbGFuZz0i
ZnIiPnRpdGxlIGZvciBmcjwvdGl0bGU+CisgICAgPHRpdGxlIGxhbmc9ImVuIj50aXRsZSBmb3Ig
ZW48L3RpdGxlPgorICAgIDxkZXNjIGxhbmc9ImZyIj5kZXNjIGZvciBmcjwvZGVzYz4KKyAgICA8
ZGVzYyBsYW5nPSJlbiI+ZGVzYyBmb3IgZW48L2Rlc2M+CisgICAgPGRlc2MgbGFuZz0iZXMiPmRl
c2MgZm9yIGVzPC9kZXNjPgorICA8L2NpcmNsZT4KKzwvc3ZnPgorPHN2Zz4KKyAgPGNpcmNsZSBp
ZD0idGVzdDMiIGN4PSI1MCIgY3k9IjEwMCIgcj0iMTUiIGRhdGEtZXhwZWN0ZWQ9Im5hbWU6IHRp
dGxlIGZvciBlbjsgZGVzY3JpcHRpb246IGRlc2MgZm9yIGVuIj4KKyAgICA8dGl0bGU+Z2VuZXJp
YyB0aXRsZTwvdGl0bGU+CisgICAgPHRpdGxlIGxhbmc9ImZyIj50aXRsZSBmb3IgZnI8L3RpdGxl
PgorICAgIDx0aXRsZSBsYW5nPSJlbiI+dGl0bGUgZm9yIGVuPC90aXRsZT4KKyAgICA8ZGVzYz5n
ZW5lcmljIGRlc2M8L2Rlc2M+CisgICAgPGRlc2MgbGFuZz0iZW4iPmRlc2MgZm9yIGVuPC9kZXNj
PgorICAgIDxkZXNjIGxhbmc9ImVzIj5kZXNjIGZvciBlczwvZGVzYz4KKyAgPC9jaXJjbGU+Cis8
L3N2Zz4KKzxzdmc+CisgIDxjaXJjbGUgaWQ9InRlc3Q0IiBjeD0iNTAiIGN5PSIxMDAiIHI9IjE1
IiBkYXRhLWV4cGVjdGVkPSJuYW1lOiB0aXRsZSBmb3IgRU47IGRlc2NyaXB0aW9uOiBkZXNjIGZv
ciBFTiI+CisgICAgPHRpdGxlPmdlbmVyaWMgdGl0bGU8L3RpdGxlPgorICAgIDx0aXRsZSBsYW5n
PSJmciI+dGl0bGUgZm9yIGZyPC90aXRsZT4KKyAgICA8dGl0bGUgbGFuZz0iRU4iPnRpdGxlIGZv
ciBFTjwvdGl0bGU+CisgICAgPGRlc2M+Z2VuZXJpYyBkZXNjPC9kZXNjPgorICAgIDxkZXNjIGxh
bmc9IkVOIj5kZXNjIGZvciBFTjwvZGVzYz4KKyAgICA8ZGVzYyBsYW5nPSJlcyI+ZGVzYyBmb3Ig
ZXM8L2Rlc2M+CisgIDwvY2lyY2xlPgorPC9zdmc+Cis8c3ZnPgorICA8Y2lyY2xlIGlkPSJ0ZXN0
NSIgY3g9IjUwIiBjeT0iMTAwIiByPSIxNSIgZGF0YS1leHBlY3RlZD0ibmFtZTogZ2VuZXJpYyB0
aXRsZTsgZGVzY3JpcHRpb246IGdlbmVyaWMgZGVzYyI+CisgICAgPHRpdGxlPmdlbmVyaWMgdGl0
bGU8L3RpdGxlPgorICAgIDx0aXRsZSBsYW5nPSJmciI+dGl0bGUgZm9yIGZyPC90aXRsZT4KKyAg
ICA8ZGVzYz5nZW5lcmljIGRlc2M8L2Rlc2M+CisgICAgPGRlc2MgbGFuZz0iZXMiPmRlc2MgZm9y
IGVzPC9kZXNjPgorICA8L2NpcmNsZT4KKzwvc3ZnPgorPHN2Zz4KKyAgPGNpcmNsZSBpZD0idGVz
dDYiIGN4PSI1MCIgY3k9IjEwMCIgcj0iMTUiIGRhdGEtZXhwZWN0ZWQ9Im5hbWU6IGdlbmVyaWMg
dGl0bGU7IGRlc2NyaXB0aW9uOiBnZW5lcmljIGRlc2MiPgorICAgIDx0aXRsZSBsYW5nPSJmciI+
dGl0bGUgZm9yIGZyPC90aXRsZT4KKyAgICA8dGl0bGU+Z2VuZXJpYyB0aXRsZTwvdGl0bGU+Cisg
ICAgPGRlc2MgbGFuZz0iZXMiPmRlc2MgZm9yIGVzPC9kZXNjPgorICAgIDxkZXNjPmdlbmVyaWMg
ZGVzYzwvZGVzYz4KKyAgPC9jaXJjbGU+Cis8L3N2Zz4KKzxzdmc+CisgIDxjaXJjbGUgaWQ9InRl
c3Q3IiBjeD0iNTAiIGN5PSIxMDAiIHI9IjE1IiBkYXRhLWV4cGVjdGVkPSJuYW1lOiB0aXRsZSBm
b3IgZW4tZ2I7IGRlc2NyaXB0aW9uOiBkZXNjIGZvciBlbi1nYiI+CisgICAgPHRpdGxlPmdlbmVy
aWMgdGl0bGU8L3RpdGxlPgorICAgIDx0aXRsZSBsYW5nPSJlbi11cyI+dGl0bGUgZm9yIGVuLXVz
PC90aXRsZT4KKyAgICA8dGl0bGUgbGFuZz0iZW4tZ2IiPnRpdGxlIGZvciBlbi1nYjwvdGl0bGU+
CisgICAgPGRlc2M+Z2VuZXJpYyBkZXNjPC9kZXNjPgorICAgIDxkZXNjIGxhbmc9ImVuLWdiIj5k
ZXNjIGZvciBlbi1nYjwvZGVzYz4KKyAgICA8ZGVzYyBsYW5nPSJlbi11cyI+ZGVzYyBmb3IgZW4t
dXM8L2Rlc2M+CisgIDwvY2lyY2xlPgorPC9zdmc+Cis8c3ZnPgorICA8Y2lyY2xlIGlkPSJ0ZXN0
NyIgY3g9IjUwIiBjeT0iMTAwIiByPSIxNSIgZGF0YS1leHBlY3RlZD0ibmFtZTogdGl0bGUgZm9y
IGVuX0dCOyBkZXNjcmlwdGlvbjogZGVzYyBmb3IgZW5fR0IiPgorICAgIDx0aXRsZT5nZW5lcmlj
IHRpdGxlPC90aXRsZT4KKyAgICA8dGl0bGUgbGFuZz0iZW4tdXMiPnRpdGxlIGZvciBlbi11czwv
dGl0bGU+CisgICAgPHRpdGxlIGxhbmc9ImVuX0dCIj50aXRsZSBmb3IgZW5fR0I8L3RpdGxlPgor
ICAgIDxkZXNjPmdlbmVyaWMgZGVzYzwvZGVzYz4KKyAgICA8ZGVzYyBsYW5nPSJlbl9HQiI+ZGVz
YyBmb3IgZW5fR0I8L2Rlc2M+CisgICAgPGRlc2MgbGFuZz0iZW4tdXMiPmRlc2MgZm9yIGVuLXVz
PC9kZXNjPgorICA8L2NpcmNsZT4KKzwvc3ZnPgorPHN2Zz4KKyAgPGNpcmNsZSBpZD0idGVzdDgi
IGN4PSI1MCIgY3k9IjEwMCIgcj0iMTUiIGRhdGEtZXhwZWN0ZWQ9Im5hbWU6IHRpdGxlIGZvciBl
bl9HQjsgZGVzY3JpcHRpb246IGRlc2MgZm9yIGVuX0dCIj4KKyAgICA8dGl0bGU+Z2VuZXJpYyB0
aXRsZTwvdGl0bGU+CisgICAgPHRpdGxlIGxhbmc9ImVuIj50aXRsZSBmb3IgZW48L3RpdGxlPgor
ICAgIDx0aXRsZSBsYW5nPSJlbl9HQiI+dGl0bGUgZm9yIGVuX0dCPC90aXRsZT4KKyAgICA8ZGVz
Yz5nZW5lcmljIGRlc2M8L2Rlc2M+CisgICAgPGRlc2MgbGFuZz0iZW5fR0IiPmRlc2MgZm9yIGVu
X0dCPC9kZXNjPgorICAgIDxkZXNjIGxhbmc9ImVuIj5kZXNjIGZvciBlbjwvZGVzYz4KKyAgPC9j
aXJjbGU+Cis8L3N2Zz4KKzxzdmc+CisgIDxjaXJjbGUgaWQ9InRlc3Q5IiBjeD0iNTAiIGN5PSIx
MDAiIHI9IjE1IiBkYXRhLWV4cGVjdGVkPSJuYW1lOiB0aXRsZSBmb3IgZW47IGRlc2NyaXB0aW9u
OiBkZXNjIGZvciBlbiI+CisgICAgPHRpdGxlPmdlbmVyaWMgdGl0bGU8L3RpdGxlPgorICAgIDx0
aXRsZSBsYW5nPSJlbiI+dGl0bGUgZm9yIGVuPC90aXRsZT4KKyAgICA8dGl0bGUgbGFuZz0iZW5f
VVMiPnRpdGxlIGZvciBlbl9VUzwvdGl0bGU+CisgICAgPGRlc2M+Z2VuZXJpYyBkZXNjPC9kZXNj
PgorICAgIDxkZXNjIGxhbmc9ImVuX1VTIj5kZXNjIGZvciBlbl9VUzwvZGVzYz4KKyAgICA8ZGVz
YyBsYW5nPSJlbiI+ZGVzYyBmb3IgZW48L2Rlc2M+CisgIDwvY2lyY2xlPgorPC9zdmc+Cis8c3Zn
PgorICA8Y2lyY2xlIGlkPSJ0ZXN0MTAiIGN4PSI1MCIgY3k9IjEwMCIgcj0iMTUiIGRhdGEtZXhw
ZWN0ZWQ9Im5hbWU6IHRpdGxlIGZvciBlbi11czsgZGVzY3JpcHRpb246IGRlc2MgZm9yIGVuLXVz
Ij4KKyAgICA8dGl0bGUgbGFuZz0iZnIiPnRpdGxlIGZvciBmcjwvdGl0bGU+CisgICAgPHRpdGxl
IGxhbmc9ImVuLXVzIj50aXRsZSBmb3IgZW4tdXM8L3RpdGxlPgorICAgIDxkZXNjIGxhbmc9ImZy
Ij5kZXNjIGZvciBmcjwvZGVzYz4KKyAgICA8ZGVzYyBsYW5nPSJlbi11cyI+ZGVzYyBmb3IgZW4t
dXM8L2Rlc2M+CisgIDwvY2lyY2xlPgorPC9zdmc+Cis8c3ZnPgorICA8Y2lyY2xlIGlkPSJ0ZXN0
MTEiIGN4PSI1MCIgY3k9IjEwMCIgcj0iMTUiIGRhdGEtZXhwZWN0ZWQ9Im5hbWU6IHRpdGxlIGZv
ciBlbi11czsgZGVzY3JpcHRpb246IGRlc2MgZm9yIGVuLXVzIj4KKyAgICA8dGl0bGU+Z2VuZXJp
YyB0aXRsZTwvdGl0bGU+CisgICAgPHRpdGxlIGxhbmc9ImVuLXVzIj50aXRsZSBmb3IgZW4tdXM8
L3RpdGxlPgorICAgIDxkZXNjPmdlbmVyaWMgZGVzYzwvZGVzYz4KKyAgICA8ZGVzYyBsYW5nPSJl
bi11cyI+ZGVzYyBmb3IgZW4tdXM8L2Rlc2M+CisgIDwvY2lyY2xlPgorPC9zdmc+Cis8c3ZnPgor
ICA8Y2lyY2xlIGlkPSJ0ZXN0MTIiIGN4PSI1MCIgY3k9IjEwMCIgcj0iMTUiIGRhdGEtZXhwZWN0
ZWQ9Im5hbWU6IGdlbmVyaWMgdGl0bGU7IGRlc2NyaXB0aW9uOiBnZW5lcmljIGRlc2MiPgorICAg
IDx0aXRsZT5nZW5lcmljIHRpdGxlPC90aXRsZT4KKyAgICA8dGl0bGUgbGFuZz0iZnIiPnRpdGxl
IGZvciBmcjwvdGl0bGU+CisgICAgPGRlc2MgbGFuZz0iZnIiPmRlc2MgZm9yIGZyPC9kZXNjPgor
ICAgIDxkZXNjPmdlbmVyaWMgZGVzYzwvZGVzYz4KKyAgPC9jaXJjbGU+Cis8L3N2Zz4KKzxzdmc+
CisgIDxjaXJjbGUgaWQ9InRlc3QxMyIgY3g9IjUwIiBjeT0iMTAwIiByPSIxNSIgZGF0YS1leHBl
Y3RlZD0ibmFtZTogMXN0IHRpdGxlIGZvciBlbl9HQjsgZGVzY3JpcHRpb246IDFzdCBkZXNjIGZv
ciBlbl9HQiI+CisgICAgPHRpdGxlPmdlbmVyaWMgdGl0bGU8L3RpdGxlPgorICAgIDx0aXRsZSBs
YW5nPSJlbl9HQiI+MXN0IHRpdGxlIGZvciBlbl9HQjwvdGl0bGU+CisgICAgPHRpdGxlIGxhbmc9
ImVuX0dCIj4ybmQgdGl0bGUgZm9yIGVuX0dCPC90aXRsZT4KKyAgICA8ZGVzYz5nZW5lcmljIGRl
c2M8L2Rlc2M+CisgICAgPGRlc2MgbGFuZz0iZW5fR0IiPjFzdCBkZXNjIGZvciBlbl9HQjwvZGVz
Yz4KKyAgICA8ZGVzYyBsYW5nPSJlbl9HQiI+Mm5kIGRlc2MgZm9yIGVuX0dCPC9kZXNjPgorICAg
IDxkZXNjIGxhbmc9ImVuIj5kZXNjIGZvciBlbjwvZGVzYz4KKyAgPC9jaXJjbGU+Cis8L3N2Zz4K
Kzxzdmc+CisgIDxjaXJjbGUgaWQ9InRlc3QxNCIgY3g9IjUwIiBjeT0iMTAwIiByPSIxNSIgZGF0
YS1leHBlY3RlZD0ibmFtZTogMXN0IGdlbmVyaWMgdGl0bGU7IGRlc2NyaXB0aW9uOiAxc3QgZ2Vu
ZXJpYyBkZXNjIj4KKyAgICA8dGl0bGU+MXN0IGdlbmVyaWMgdGl0bGU8L3RpdGxlPgorICAgIDx0
aXRsZT4ybmQgZ2VuZXJpYyB0aXRsZTwvdGl0bGU+CisgICAgPGRlc2M+MXN0IGdlbmVyaWMgZGVz
YzwvZGVzYz4KKyAgICA8ZGVzYz4ybmQgZ2VuZXJpYyBkZXNjPC9kZXNjPgorICA8L2NpcmNsZT4K
Kzwvc3ZnPgorPC9kaXY+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2PgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB0ZXh0QWx0ZXJuYXRpdmVzKGF4RWxl
bWVudCkgeworICAgICAgICBpZiAoIWF4RWxlbWVudCkKKyAgICAgICAgICAgIHJldHVybiAiRWxl
bWVudCBub3QgZXhwb3NlZCI7CisKKyAgICAgICByZXN1bHQgPSBheEVsZW1lbnQudGl0bGUgKyAi
XG5cdCIgKyBheEVsZW1lbnQuZGVzY3JpcHRpb247CisgICAgICAgaWYgKGFjY2Vzc2liaWxpdHlD
b250cm9sbGVyLnBsYXRmb3JtTmFtZSA9PSAibWFjIikKKyAgICAgICAgICAgcmVzdWx0ICs9ICJc
blx0IiArIGF4RWxlbWVudC5oZWxwVGV4dDsKKyAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0K
KworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoZSBhY2Nlc3NpYmxlIHRleHQgYWx0ZXJu
YXRpdmVzIHJlc3VsdHMgZm9yIFNWRyB3aGVuIHRoZSBjb250ZW50LWxhbmd1YWdlIGF0dHJpYnV0
ZSBpcyBzZXQuIik7CisgICAgaWYgKHdpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlcikgewor
ICAgICAgICBmb3IgKHZhciBpID0gMTsgaSA8PSAxNDsgaSsrKSB7CisgICAgICAgICAgICB2YXIg
ZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0IiArIGkpOworICAgICAgICAg
ICAgdmFyIGF4RWxlbWVudCA9IGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmFjY2Vzc2libGVFbGVt
ZW50QnlJZCgidGVzdCIgKyBpKTsKKyAgICAgICAgICAgIHZhciByZXN1bHQgPSB0ZXh0QWx0ZXJu
YXRpdmVzKGF4RWxlbWVudCk7CisgICAgICAgICAgICBkZWJ1ZygidGVzdCIgKyBpICsgIjpcblx0
RXhwZWN0ZWQgIiArIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCJkYXRhLWV4cGVjdGVkIikgKyAiXG5c
dCIgKyByZXN1bHQpOworICAgICAgICB9CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250ZW50Iikuc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOworICAgIH0KKzwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L3czYy1zdmctcHJlc2VudGF0aW9uYWwtcm9sZS5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS93M2Mtc3ZnLXByZXNlbnRhdGlvbmFsLXJvbGUuaHRtbAppbmRleCA1YmNlMTU3OGFhMDFl
N2I3OWYyMjRkZGQ2NDZlMmFkNjBjZjQ1ODQyLi4xMzg4MGVmYmU3NzMyYjQwNDBiYTgxNTM1MmQ5
NTFkNDIxMjgyYzA0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3czYy1z
dmctcHJlc2VudGF0aW9uYWwtcm9sZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvdzNjLXN2Zy1wcmVzZW50YXRpb25hbC1yb2xlLmh0bWwKQEAgLTE1NiwxMyArMTU2LDMyIEBA
CiA8c3ZnPgogICA8cG9seWxpbmUgaWQ9InRlc3QzNCIgZmlsbD0icHJlc2VudGF0aW9uIiBzdHJv
a2U9ImJsdWUiIHN0cm9rZS13aWR0aD0iMTAiIHBvaW50cz0iNTAsMzc1IDE1MCwzNzUgMTUwLDMy
NSAyNTAsMzI1IDI1MCwzNzUgMzUwLDM3NSAzNTAsMjUwIDQ1MCwyNTAgNDUwLDM3NSA1NTAsMzc1
IDU1MCwxNzUgNjUwLDE3NSA2NTAsMzc1IDc1MCwzNzUgNzUwLDEwMCA4NTAsMTAwIDg1MCwzNzUg
OTUwLDM3NSA5NTAsMjUgMTA1MCwyNSAxMDUwLDM3NSAxMTUwLDM3NSIgcm9sZT0icHJlc2VudGF0
aW9uIi8+CiA8L3N2Zz4KKzxzdmc+CisgIDxnIGlkPSJ0ZXN0MzUiIHJvbGU9InByZXNlbnRhdGlv
biI+CisgICAgPGNpcmNsZSBjeD0iNTAiIGN5PSI1MCIgcj0iMjAiIGFyaWEtbGFiZWw9InNldCBB
Ii8+CisgICAgPGNpcmNsZSBjeD0iNTAiIGN5PSI3NSIgcj0iMjAiIGFyaWEtbGFiZWw9InNldCBC
Ii8+CisgIDwvZz4KKzwvc3ZnPgorPHN2Zz4KKyAgPGltYWdlIGlkPSJ0ZXN0MzYiIHg9IjIwMCIg
eT0iMjAwIiB3aWR0aD0iMTAwcHgiIGhlaWdodD0iMTAwcHgiIGhyZWY9Im15aW1hZ2UucG5nIiBy
b2xlPSJwcmVzZW50YXRpb24iPjwvaW1hZ2U+Cis8L3N2Zz4KKzxzdmc+CisgIDxwYXRoIGlkPSJ0
ZXN0MzciIGQ9Ik0gMTAwIDEwMCBMIDMwMCAxMDAgTCAyMDAgMzAwIHoiIGZpbGw9InJlZCIgcm9s
ZT0icHJlc2VudGF0aW9uIj48L3BhdGg+Cis8L3N2Zz4KKzxzdmc+CisgIDxlbGxpcHNlIGlkPSJ0
ZXN0MzgiIGN4PSIxMCIgY3k9IjEwMCIgcng9IjI1IiByeT0iMTUiIHJvbGU9InByZXNlbnRhdGlv
biI+PC9lbGxpcHNlPgorPC9zdmc+Cis8c3ZnPgorICA8cG9seWdvbiBpZD0idGVzdDM5IiBmaWxs
PSJtYWdlbnRhIiBwb2ludHM9Ijg1MCw3NSA5NTgsMTM3LjUgOTU4LDI2Mi41IDg1MCwzMjUgNzQy
LDI2Mi42IDc0MiwxMzcuNSIgcm9sZT0icHJlc2VudGF0aW9uIj4KKyAgPC9wb2x5Z29uPgorPC9z
dmc+CiA8L2Rpdj4KIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+CiA8c2NyaXB0PgogICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgU1ZHIGVs
ZW1lbnRzIHdpdGggcm9sZSBwcmVzZW50YXRpb24gYXJlIG5vdCBleHBvc2VkLiIpOwogICAgIGlm
ICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLSAgICAgICAgZm9yICh2YXIgaSA9
IDE7IGkgPD0gMzQ7IGkrKykgeworICAgICAgICBmb3IgKHZhciBpID0gMTsgaSA8PSAzOTsgaSsr
KSB7CiAgICAgICAgICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
ZXN0IiArIGkpOwogICAgICAgICAgICAgdmFyIGF4RWxlbWVudCA9IGFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmFjY2Vzc2libGVFbGVtZW50QnlJZCgidGVzdCIgKyBpKTsKICAgICAgICAgICAgIGRl
YnVnKCJ0ZXN0IiArIGkgKyAiOiAiICsgKGF4RWxlbWVudCA/IGF4RWxlbWVudC5yb2xlIDogIkVs
ZW1lbnQgbm90IGV4cG9zZWQiKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvYWNjZXNzaWJpbGl0eS93M2Mtc3ZnLWNvbnRlbnQtbGFuZ3VhZ2UtYXR0cmlidXRlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9hY2Nlc3NpYmlsaXR5L3czYy1zdmct
Y29udGVudC1sYW5ndWFnZS1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1Mjlm
MGIxODQwMTA2NWQwMTRjYzk1ODg5OTcyNGQyZDQwN2Q4Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS93M2Mtc3ZnLWNvbnRlbnQtbGFu
Z3VhZ2UtYXR0cmlidXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY1IEBACitUaGlzIHRlc3Rz
IHRoZSBhY2Nlc3NpYmxlIHRleHQgYWx0ZXJuYXRpdmVzIHJlc3VsdHMgZm9yIFNWRyB3aGVuIHRo
ZSBjb250ZW50LWxhbmd1YWdlIGF0dHJpYnV0ZSBpcyBzZXQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCit0ZXN0MToKKwlFeHBlY3RlZCBuYW1lOiBnZW5lcmljIHRpdGxlOyBkZXNj
cmlwdGlvbjogZ2VuZXJpYyBkZXNjCisJQVhUaXRsZTogZ2VuZXJpYyB0aXRsZQorCUFYRGVzY3Jp
cHRpb246IGdlbmVyaWMgZGVzYwordGVzdDI6CisJRXhwZWN0ZWQgbmFtZTogdGl0bGUgZm9yIGVu
OyBkZXNjcmlwdGlvbjogZGVzYyBmb3IgZW4KKwlBWFRpdGxlOiB0aXRsZSBmb3IgZW4KKwlBWERl
c2NyaXB0aW9uOiBkZXNjIGZvciBlbgordGVzdDM6CisJRXhwZWN0ZWQgbmFtZTogdGl0bGUgZm9y
IGVuOyBkZXNjcmlwdGlvbjogZGVzYyBmb3IgZW4KKwlBWFRpdGxlOiB0aXRsZSBmb3IgZW4KKwlB
WERlc2NyaXB0aW9uOiBkZXNjIGZvciBlbgordGVzdDQ6CisJRXhwZWN0ZWQgbmFtZTogdGl0bGUg
Zm9yIEVOOyBkZXNjcmlwdGlvbjogZGVzYyBmb3IgRU4KKwlBWFRpdGxlOiB0aXRsZSBmb3IgRU4K
KwlBWERlc2NyaXB0aW9uOiBkZXNjIGZvciBFTgordGVzdDU6CisJRXhwZWN0ZWQgbmFtZTogZ2Vu
ZXJpYyB0aXRsZTsgZGVzY3JpcHRpb246IGdlbmVyaWMgZGVzYworCUFYVGl0bGU6IGdlbmVyaWMg
dGl0bGUKKwlBWERlc2NyaXB0aW9uOiBnZW5lcmljIGRlc2MKK3Rlc3Q2OgorCUV4cGVjdGVkIG5h
bWU6IGdlbmVyaWMgdGl0bGU7IGRlc2NyaXB0aW9uOiBnZW5lcmljIGRlc2MKKwlBWFRpdGxlOiBn
ZW5lcmljIHRpdGxlCisJQVhEZXNjcmlwdGlvbjogZ2VuZXJpYyBkZXNjCit0ZXN0NzoKKwlFeHBl
Y3RlZCBuYW1lOiB0aXRsZSBmb3IgZW4tZ2I7IGRlc2NyaXB0aW9uOiBkZXNjIGZvciBlbi1nYgor
CUFYVGl0bGU6IHRpdGxlIGZvciBlbi1nYgorCUFYRGVzY3JpcHRpb246IGRlc2MgZm9yIGVuLWdi
Cit0ZXN0ODoKKwlFeHBlY3RlZCBuYW1lOiB0aXRsZSBmb3IgZW5fR0I7IGRlc2NyaXB0aW9uOiBk
ZXNjIGZvciBlbl9HQgorCUFYVGl0bGU6IHRpdGxlIGZvciBlbl9HQgorCUFYRGVzY3JpcHRpb246
IGRlc2MgZm9yIGVuX0dCCit0ZXN0OToKKwlFeHBlY3RlZCBuYW1lOiB0aXRsZSBmb3IgZW47IGRl
c2NyaXB0aW9uOiBkZXNjIGZvciBlbgorCUFYVGl0bGU6IHRpdGxlIGZvciBlbgorCUFYRGVzY3Jp
cHRpb246IGRlc2MgZm9yIGVuCit0ZXN0MTA6CisJRXhwZWN0ZWQgbmFtZTogdGl0bGUgZm9yIGVu
LXVzOyBkZXNjcmlwdGlvbjogZGVzYyBmb3IgZW4tdXMKKwlBWFRpdGxlOiB0aXRsZSBmb3IgZW4t
dXMKKwlBWERlc2NyaXB0aW9uOiBkZXNjIGZvciBlbi11cwordGVzdDExOgorCUV4cGVjdGVkIG5h
bWU6IHRpdGxlIGZvciBlbi11czsgZGVzY3JpcHRpb246IGRlc2MgZm9yIGVuLXVzCisJQVhUaXRs
ZTogdGl0bGUgZm9yIGVuLXVzCisJQVhEZXNjcmlwdGlvbjogZGVzYyBmb3IgZW4tdXMKK3Rlc3Qx
MjoKKwlFeHBlY3RlZCBuYW1lOiBnZW5lcmljIHRpdGxlOyBkZXNjcmlwdGlvbjogZ2VuZXJpYyBk
ZXNjCisJQVhUaXRsZTogZ2VuZXJpYyB0aXRsZQorCUFYRGVzY3JpcHRpb246IGdlbmVyaWMgZGVz
YwordGVzdDEzOgorCUV4cGVjdGVkIG5hbWU6IDFzdCB0aXRsZSBmb3IgZW5fR0I7IGRlc2NyaXB0
aW9uOiAxc3QgZGVzYyBmb3IgZW5fR0IKKwlBWFRpdGxlOiAxc3QgdGl0bGUgZm9yIGVuX0dCCisJ
QVhEZXNjcmlwdGlvbjogMXN0IGRlc2MgZm9yIGVuX0dCCit0ZXN0MTQ6CisJRXhwZWN0ZWQgbmFt
ZTogMXN0IGdlbmVyaWMgdGl0bGU7IGRlc2NyaXB0aW9uOiAxc3QgZ2VuZXJpYyBkZXNjCisJQVhU
aXRsZTogMXN0IGdlbmVyaWMgdGl0bGUKKwlBWERlc2NyaXB0aW9uOiAxc3QgZ2VuZXJpYyBkZXNj
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdzNjLXN2Zy1w
cmVzZW50YXRpb25hbC1yb2xlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9hY2Nlc3NpYmlsaXR5L3czYy1zdmctcHJlc2VudGF0aW9uYWwtcm9sZS1leHBlY3RlZC50eHQK
aW5kZXggZDFkMjI3ZmMwNTgzMTJjMmVlOWVhNGFiMTMwOGZhNjNlNjAzNDY3Ny4uYmQ2ODViNzc3
ZGI5YzIxMjY2ZWViNmVhYjA2YTIxZmMwYWZhYmIzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL2FjY2Vzc2liaWxpdHkvdzNjLXN2Zy1wcmVzZW50YXRpb25hbC1yb2xlLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvYWNjZXNzaWJpbGl0eS93
M2Mtc3ZnLXByZXNlbnRhdGlvbmFsLXJvbGUtZXhwZWN0ZWQudHh0CkBAIC00LDMwICs0LDMwIEBA
IE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIAogdGVzdDE6IEFYUm9sZTogQVhHcm91cAotdGVz
dDI6IEVsZW1lbnQgbm90IGV4cG9zZWQKLXRlc3QzOiBFbGVtZW50IG5vdCBleHBvc2VkCi10ZXN0
NDogRWxlbWVudCBub3QgZXhwb3NlZAordGVzdDI6IEFYUm9sZTogQVhHcm91cAordGVzdDM6IEFY
Um9sZTogQVhJbWFnZQordGVzdDQ6IEFYUm9sZTogQVhHcm91cAogdGVzdDU6IEFYUm9sZTogQVhJ
bWFnZQotdGVzdDY6IEVsZW1lbnQgbm90IGV4cG9zZWQKK3Rlc3Q2OiBBWFJvbGU6IEFYSW1hZ2UK
IHRlc3Q3OiBBWFJvbGU6IEFYSW1hZ2UKLXRlc3Q4OiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0
ODogQVhSb2xlOiBBWEltYWdlCiB0ZXN0OTogQVhSb2xlOiBBWEltYWdlCiB0ZXN0MTA6IEFYUm9s
ZTogQVhJbWFnZQotdGVzdDExOiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0MTE6IEFYUm9sZTog
QVhJbWFnZQogdGVzdDEyOiBFbGVtZW50IG5vdCBleHBvc2VkCiB0ZXN0MTM6IEVsZW1lbnQgbm90
IGV4cG9zZWQKIHRlc3QxNDogRWxlbWVudCBub3QgZXhwb3NlZAogdGVzdDE1OiBBWFJvbGU6IEFY
R3JvdXAKLXRlc3QxNjogRWxlbWVudCBub3QgZXhwb3NlZAotdGVzdDE3OiBFbGVtZW50IG5vdCBl
eHBvc2VkCi10ZXN0MTg6IEVsZW1lbnQgbm90IGV4cG9zZWQKK3Rlc3QxNjogQVhSb2xlOiBBWEdy
b3VwCit0ZXN0MTc6IEFYUm9sZTogQVhJbWFnZQordGVzdDE4OiBBWFJvbGU6IEFYR3JvdXAKIHRl
c3QxOTogQVhSb2xlOiBBWEltYWdlCi10ZXN0MjA6IEVsZW1lbnQgbm90IGV4cG9zZWQKK3Rlc3Qy
MDogQVhSb2xlOiBBWEltYWdlCiB0ZXN0MjE6IEFYUm9sZTogQVhJbWFnZQotdGVzdDIyOiBFbGVt
ZW50IG5vdCBleHBvc2VkCit0ZXN0MjI6IEFYUm9sZTogQVhJbWFnZQogdGVzdDIzOiBBWFJvbGU6
IEFYSW1hZ2UKIHRlc3QyNDogQVhSb2xlOiBBWEltYWdlCi10ZXN0MjU6IEVsZW1lbnQgbm90IGV4
cG9zZWQKK3Rlc3QyNTogQVhSb2xlOiBBWEltYWdlCiB0ZXN0MjY6IEVsZW1lbnQgbm90IGV4cG9z
ZWQKIHRlc3QyNzogRWxlbWVudCBub3QgZXhwb3NlZAogdGVzdDI4OiBFbGVtZW50IG5vdCBleHBv
c2VkCkBAIC0zNyw2ICszNywxMSBAQCB0ZXN0MzE6IEVsZW1lbnQgbm90IGV4cG9zZWQKIHRlc3Qz
MjogRWxlbWVudCBub3QgZXhwb3NlZAogdGVzdDMzOiBFbGVtZW50IG5vdCBleHBvc2VkCiB0ZXN0
MzQ6IEVsZW1lbnQgbm90IGV4cG9zZWQKK3Rlc3QzNTogRWxlbWVudCBub3QgZXhwb3NlZAordGVz
dDM2OiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0Mzc6IEVsZW1lbnQgbm90IGV4cG9zZWQKK3Rl
c3QzODogRWxlbWVudCBub3QgZXhwb3NlZAordGVzdDM5OiBFbGVtZW50IG5vdCBleHBvc2VkCiBQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3czYy1zdmctY29udGVu
dC1sYW5ndWFnZS1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2FjY2Vzc2liaWxpdHkvdzNjLXN2Zy1jb250ZW50LWxhbmd1YWdlLWF0dHJpYnV0ZS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTczODE3NTdiMmNjZDgwNmYyMDRjZDEyZWIxODU1NGM0Y2U2
NjliMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9hY2Nlc3Np
YmlsaXR5L3czYy1zdmctY29udGVudC1sYW5ndWFnZS1hdHRyaWJ1dGUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNzkgQEAKK1RoaXMgdGVzdHMgdGhlIGFjY2Vzc2libGUgdGV4dCBhbHRlcm5hdGl2
ZXMgcmVzdWx0cyBmb3IgU1ZHIHdoZW4gdGhlIGNvbnRlbnQtbGFuZ3VhZ2UgYXR0cmlidXRlIGlz
IHNldC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK3Rlc3QxOgorCUV4cGVjdGVk
IG5hbWU6IGdlbmVyaWMgdGl0bGU7IGRlc2NyaXB0aW9uOiBnZW5lcmljIGRlc2MKKwlBWFRpdGxl
OiAKKwlBWERlc2NyaXB0aW9uOiBnZW5lcmljIHRpdGxlCisJQVhIZWxwOiBnZW5lcmljIGRlc2MK
K3Rlc3QyOgorCUV4cGVjdGVkIG5hbWU6IHRpdGxlIGZvciBlbjsgZGVzY3JpcHRpb246IGRlc2Mg
Zm9yIGVuCisJQVhUaXRsZTogCisJQVhEZXNjcmlwdGlvbjogdGl0bGUgZm9yIGVuCisJQVhIZWxw
OiBkZXNjIGZvciBlbgordGVzdDM6CisJRXhwZWN0ZWQgbmFtZTogdGl0bGUgZm9yIGVuOyBkZXNj
cmlwdGlvbjogZGVzYyBmb3IgZW4KKwlBWFRpdGxlOiAKKwlBWERlc2NyaXB0aW9uOiB0aXRsZSBm
b3IgZW4KKwlBWEhlbHA6IGRlc2MgZm9yIGVuCit0ZXN0NDoKKwlFeHBlY3RlZCBuYW1lOiB0aXRs
ZSBmb3IgRU47IGRlc2NyaXB0aW9uOiBkZXNjIGZvciBFTgorCUFYVGl0bGU6IAorCUFYRGVzY3Jp
cHRpb246IHRpdGxlIGZvciBFTgorCUFYSGVscDogZGVzYyBmb3IgRU4KK3Rlc3Q1OgorCUV4cGVj
dGVkIG5hbWU6IGdlbmVyaWMgdGl0bGU7IGRlc2NyaXB0aW9uOiBnZW5lcmljIGRlc2MKKwlBWFRp
dGxlOiAKKwlBWERlc2NyaXB0aW9uOiBnZW5lcmljIHRpdGxlCisJQVhIZWxwOiBnZW5lcmljIGRl
c2MKK3Rlc3Q2OgorCUV4cGVjdGVkIG5hbWU6IGdlbmVyaWMgdGl0bGU7IGRlc2NyaXB0aW9uOiBn
ZW5lcmljIGRlc2MKKwlBWFRpdGxlOiAKKwlBWERlc2NyaXB0aW9uOiBnZW5lcmljIHRpdGxlCisJ
QVhIZWxwOiBnZW5lcmljIGRlc2MKK3Rlc3Q3OgorCUV4cGVjdGVkIG5hbWU6IHRpdGxlIGZvciBl
bi1nYjsgZGVzY3JpcHRpb246IGRlc2MgZm9yIGVuLWdiCisJQVhUaXRsZTogCisJQVhEZXNjcmlw
dGlvbjogdGl0bGUgZm9yIGVuLWdiCisJQVhIZWxwOiBkZXNjIGZvciBlbi1nYgordGVzdDg6CisJ
RXhwZWN0ZWQgbmFtZTogdGl0bGUgZm9yIGVuX0dCOyBkZXNjcmlwdGlvbjogZGVzYyBmb3IgZW5f
R0IKKwlBWFRpdGxlOiAKKwlBWERlc2NyaXB0aW9uOiB0aXRsZSBmb3IgZW5fR0IKKwlBWEhlbHA6
IGRlc2MgZm9yIGVuX0dCCit0ZXN0OToKKwlFeHBlY3RlZCBuYW1lOiB0aXRsZSBmb3IgZW47IGRl
c2NyaXB0aW9uOiBkZXNjIGZvciBlbgorCUFYVGl0bGU6IAorCUFYRGVzY3JpcHRpb246IHRpdGxl
IGZvciBlbgorCUFYSGVscDogZGVzYyBmb3IgZW4KK3Rlc3QxMDoKKwlFeHBlY3RlZCBuYW1lOiB0
aXRsZSBmb3IgZW4tdXM7IGRlc2NyaXB0aW9uOiBkZXNjIGZvciBlbi11cworCUFYVGl0bGU6IAor
CUFYRGVzY3JpcHRpb246IHRpdGxlIGZvciBlbi11cworCUFYSGVscDogZGVzYyBmb3IgZW4tdXMK
K3Rlc3QxMToKKwlFeHBlY3RlZCBuYW1lOiB0aXRsZSBmb3IgZW4tdXM7IGRlc2NyaXB0aW9uOiBk
ZXNjIGZvciBlbi11cworCUFYVGl0bGU6IAorCUFYRGVzY3JpcHRpb246IHRpdGxlIGZvciBlbi11
cworCUFYSGVscDogZGVzYyBmb3IgZW4tdXMKK3Rlc3QxMjoKKwlFeHBlY3RlZCBuYW1lOiBnZW5l
cmljIHRpdGxlOyBkZXNjcmlwdGlvbjogZ2VuZXJpYyBkZXNjCisJQVhUaXRsZTogCisJQVhEZXNj
cmlwdGlvbjogZ2VuZXJpYyB0aXRsZQorCUFYSGVscDogZ2VuZXJpYyBkZXNjCit0ZXN0MTM6CisJ
RXhwZWN0ZWQgbmFtZTogMXN0IHRpdGxlIGZvciBlbl9HQjsgZGVzY3JpcHRpb246IDFzdCBkZXNj
IGZvciBlbl9HQgorCUFYVGl0bGU6IAorCUFYRGVzY3JpcHRpb246IDFzdCB0aXRsZSBmb3IgZW5f
R0IKKwlBWEhlbHA6IDFzdCBkZXNjIGZvciBlbl9HQgordGVzdDE0OgorCUV4cGVjdGVkIG5hbWU6
IDFzdCBnZW5lcmljIHRpdGxlOyBkZXNjcmlwdGlvbjogMXN0IGdlbmVyaWMgZGVzYworCUFYVGl0
bGU6IAorCUFYRGVzY3JpcHRpb246IDFzdCBnZW5lcmljIHRpdGxlCisJQVhIZWxwOiAxc3QgZ2Vu
ZXJpYyBkZXNjCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkv
dzNjLXN2Zy1wcmVzZW50YXRpb25hbC1yb2xlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9hY2Nlc3NpYmlsaXR5L3czYy1zdmctcHJlc2VudGF0aW9uYWwtcm9sZS1leHBl
Y3RlZC50eHQKaW5kZXggZDFkMjI3ZmMwNTgzMTJjMmVlOWVhNGFiMTMwOGZhNjNlNjAzNDY3Ny4u
YmQ2ODViNzc3ZGI5YzIxMjY2ZWViNmVhYjA2YTIxZmMwYWZhYmIzOSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvdzNjLXN2Zy1wcmVzZW50YXRpb25h
bC1yb2xlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvYWNjZXNz
aWJpbGl0eS93M2Mtc3ZnLXByZXNlbnRhdGlvbmFsLXJvbGUtZXhwZWN0ZWQudHh0CkBAIC00LDMw
ICs0LDMwIEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIAogdGVzdDE6IEFYUm9sZTogQVhH
cm91cAotdGVzdDI6IEVsZW1lbnQgbm90IGV4cG9zZWQKLXRlc3QzOiBFbGVtZW50IG5vdCBleHBv
c2VkCi10ZXN0NDogRWxlbWVudCBub3QgZXhwb3NlZAordGVzdDI6IEFYUm9sZTogQVhHcm91cAor
dGVzdDM6IEFYUm9sZTogQVhJbWFnZQordGVzdDQ6IEFYUm9sZTogQVhHcm91cAogdGVzdDU6IEFY
Um9sZTogQVhJbWFnZQotdGVzdDY6IEVsZW1lbnQgbm90IGV4cG9zZWQKK3Rlc3Q2OiBBWFJvbGU6
IEFYSW1hZ2UKIHRlc3Q3OiBBWFJvbGU6IEFYSW1hZ2UKLXRlc3Q4OiBFbGVtZW50IG5vdCBleHBv
c2VkCit0ZXN0ODogQVhSb2xlOiBBWEltYWdlCiB0ZXN0OTogQVhSb2xlOiBBWEltYWdlCiB0ZXN0
MTA6IEFYUm9sZTogQVhJbWFnZQotdGVzdDExOiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0MTE6
IEFYUm9sZTogQVhJbWFnZQogdGVzdDEyOiBFbGVtZW50IG5vdCBleHBvc2VkCiB0ZXN0MTM6IEVs
ZW1lbnQgbm90IGV4cG9zZWQKIHRlc3QxNDogRWxlbWVudCBub3QgZXhwb3NlZAogdGVzdDE1OiBB
WFJvbGU6IEFYR3JvdXAKLXRlc3QxNjogRWxlbWVudCBub3QgZXhwb3NlZAotdGVzdDE3OiBFbGVt
ZW50IG5vdCBleHBvc2VkCi10ZXN0MTg6IEVsZW1lbnQgbm90IGV4cG9zZWQKK3Rlc3QxNjogQVhS
b2xlOiBBWEdyb3VwCit0ZXN0MTc6IEFYUm9sZTogQVhJbWFnZQordGVzdDE4OiBBWFJvbGU6IEFY
R3JvdXAKIHRlc3QxOTogQVhSb2xlOiBBWEltYWdlCi10ZXN0MjA6IEVsZW1lbnQgbm90IGV4cG9z
ZWQKK3Rlc3QyMDogQVhSb2xlOiBBWEltYWdlCiB0ZXN0MjE6IEFYUm9sZTogQVhJbWFnZQotdGVz
dDIyOiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0MjI6IEFYUm9sZTogQVhJbWFnZQogdGVzdDIz
OiBBWFJvbGU6IEFYSW1hZ2UKIHRlc3QyNDogQVhSb2xlOiBBWEltYWdlCi10ZXN0MjU6IEVsZW1l
bnQgbm90IGV4cG9zZWQKK3Rlc3QyNTogQVhSb2xlOiBBWEltYWdlCiB0ZXN0MjY6IEVsZW1lbnQg
bm90IGV4cG9zZWQKIHRlc3QyNzogRWxlbWVudCBub3QgZXhwb3NlZAogdGVzdDI4OiBFbGVtZW50
IG5vdCBleHBvc2VkCkBAIC0zNyw2ICszNywxMSBAQCB0ZXN0MzE6IEVsZW1lbnQgbm90IGV4cG9z
ZWQKIHRlc3QzMjogRWxlbWVudCBub3QgZXhwb3NlZAogdGVzdDMzOiBFbGVtZW50IG5vdCBleHBv
c2VkCiB0ZXN0MzQ6IEVsZW1lbnQgbm90IGV4cG9zZWQKK3Rlc3QzNTogRWxlbWVudCBub3QgZXhw
b3NlZAordGVzdDM2OiBFbGVtZW50IG5vdCBleHBvc2VkCit0ZXN0Mzc6IEVsZW1lbnQgbm90IGV4
cG9zZWQKK3Rlc3QzODogRWxlbWVudCBub3QgZXhwb3NlZAordGVzdDM5OiBFbGVtZW50IG5vdCBl
eHBvc2VkCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUK
</data>

          </attachment>
      

    </bug>

</bugzilla>