<?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>234199</bug_id>
          
          <creation_ts>2021-12-11 09:05:31 -0800</creation_ts>
          <short_desc>Allow override of system&apos;s preferred color scheme</short_desc>
          <delta_ts>2021-12-14 10:21:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit API</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>andersca</cc>
    
    <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>jer.noble</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1823223</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-12-11 09:05:31 -0800</bug_when>
    <thetext>Allow override of system&apos;s preferred color scheme</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823224</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-11 09:07:46 -0800</bug_when>
    <thetext>&lt;rdar://problem/86366044&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823226</commentid>
    <comment_count>2</comment_count>
      <attachid>446891</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-12-11 09:17:55 -0800</bug_when>
    <thetext>Created attachment 446891
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823253</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2021-12-11 13:36:38 -0800</bug_when>
    <thetext>Looks like all the EWS bots are red.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823315</commentid>
    <comment_count>4</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-12-12 08:45:05 -0800</bug_when>
    <thetext>(In reply to Anders Carlsson from comment #3)
&gt; Looks like all the EWS bots are red.

Very impressive. Do I win a prize?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823636</commentid>
    <comment_count>5</comment_count>
      <attachid>447028</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-12-13 11:08:47 -0800</bug_when>
    <thetext>Created attachment 447028
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823637</commentid>
    <comment_count>6</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-12-13 11:09:50 -0800</bug_when>
    <thetext>Would appreciate feedback on the SPI naming - I put the word &quot;explicitly&quot; in there to make it clear that this isn&apos;t the preference coming from the system.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823651</commentid>
    <comment_count>7</comment_count>
      <attachid>447028</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-12-13 11:22:26 -0800</bug_when>
    <thetext>Comment on attachment 447028
Patch

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

&gt; Source/WebKit/UIProcess/API/APIWebsitePolicies.h:135
&gt; +    WebCore::ColorSchemePreference userExplicitlyPrefersColorScheme() const { return m_userExplicitlyPrefersColorScheme; }

This getter name feels slightly odd (it sounds like it would return a boolean that the &quot;user explicitly prefers (a) color scheme&quot;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823654</commentid>
    <comment_count>8</comment_count>
      <attachid>447028</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-12-13 11:24:58 -0800</bug_when>
    <thetext>Comment on attachment 447028
Patch

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

&gt;&gt; Source/WebKit/UIProcess/API/APIWebsitePolicies.h:135
&gt;&gt; +    WebCore::ColorSchemePreference userExplicitlyPrefersColorScheme() const { return m_userExplicitlyPrefersColorScheme; }
&gt; 
&gt; This getter name feels slightly odd (it sounds like it would return a boolean that the &quot;user explicitly prefers (a) color scheme&quot;).

Do you think I should call it colorSchemePreference?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823697</commentid>
    <comment_count>9</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-12-13 12:39:29 -0800</bug_when>
    <thetext>(In reply to Dean Jackson from comment #8)
&gt; Comment on attachment 447028 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=447028&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit/UIProcess/API/APIWebsitePolicies.h:135
&gt; &gt;&gt; +    WebCore::ColorSchemePreference userExplicitlyPrefersColorScheme() const { return m_userExplicitlyPrefersColorScheme; }
&gt; &gt; 
&gt; &gt; This getter name feels slightly odd (it sounds like it would return a boolean that the &quot;user explicitly prefers (a) color scheme&quot;).
&gt; 
&gt; Do you think I should call it colorSchemePreference?

or preferredColorScheme? Or maybe shove the word &quot;override&quot; in there somewhere because it overrides the system preference?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823732</commentid>
    <comment_count>10</comment_count>
      <attachid>447056</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-12-13 13:44:42 -0800</bug_when>
    <thetext>Created attachment 447056
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823847</commentid>
    <comment_count>11</comment_count>
      <attachid>447056</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-12-13 17:16:03 -0800</bug_when>
    <thetext>Comment on attachment 447056
Patch

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

&gt; Source/WebCore/css/MediaQueryEvaluator.cpp:811
&gt; +    bool useDarkAppearance = [&amp;] () -&gt; auto {

Are there other things that read useDarkAppearance that need to change? Should useDarkAppearance itself respect the bit on DocumentLoader?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1823950</commentid>
    <comment_count>12</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-12-14 02:46:11 -0800</bug_when>
    <thetext>There is an existing `ColorScheme` enum with holds the `Light` and `Dark` options. Maybe instead of adding a new enum you could use an std::optional&lt;ColorScheme&gt; where std::nullopt would indicate the lack of a preference?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1824043</commentid>
    <comment_count>13</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-12-14 10:21:28 -0800</bug_when>
    <thetext>Committed r287030 (?): &lt;https://commits.webkit.org/r287030&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446891</attachid>
            <date>2021-12-11 09:17:55 -0800</date>
            <delta_ts>2021-12-13 11:08:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234199-20211212041753.patch</filename>
            <type>text/plain</type>
            <size>23454</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2Nzk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTk0ZGVmMzcwMzIyZmM0
Mjg4OWM5NjIxMjNiNTg4ZDc5NTAyYmE0NC4uYWI1NjBlM2UzNjkxMTVhOTEyNTZjZjRkZmU0MGNm
NjYwNGVkNWViZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTEyLTExICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBvdmVycmlkZSBvZiBz
eXN0ZW0ncyBwcmVmZXJyZWQgY29sb3Igc2NoZW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQxOTkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg2
MzY2MDQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFVzZSBhIHVzZXItc3BlY2lmaWVkIHByZWZlcmVuY2UgZm9yIGNvbG9yLXNjaGVtZSBiZWZvcmUg
cmVhZGluZworICAgICAgICB0aGUgc3lzdGVtIHZhbHVlLgorCisgICAgICAgICogY3NzL01lZGlh
UXVlcnlFdmFsdWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cHJlZmVyc0NvbG9yU2NoZW1l
RXZhbHVhdGUpOiBJZiB0aGUgZG9jdW1lbnQgbG9hZGVyIHdhcyBnaXZlbgorICAgICAgICBhIHBy
ZWZlcmVuY2UsIHVzZSB0aGF0IHdoZW4gZXZhbHVhdGluZyB0aGUgbWVkaWEgcXVlcnkuCisgICAg
ICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDogTmV3IHByb3BlcnR5IC0gY29sb3JTY2hl
bWVQcmVmZXJlbmNlLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmNvbG9yU2No
ZW1lUHJlZmVyZW5jZSBjb25zdCk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmg6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c2V0Q29sb3JTY2hlbWVQcmVmZXJl
bmNlKToKKwogMjAyMS0xMi0wOCAgQkogQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbQ29jb2FdIFdlYiBJbnNwZWN0b3I6IHByb3ZpZGUgYSB3YXkgZm9yIF9XS0luc3BlY3RvckV4
dGVuc2lvbiBjbGllbnRzIHRvIGJlIHRvIG5vdGlmaWVkIHdoZW4gYW4gZXh0ZW5zaW9uIHRhYiBu
YXZpZ2F0ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggZjg2ZDE3MmRlM2I4NDU3NGRiZjFiNjY1ZjliMDgyMzA3NWU3
OGYzNy4uMDg5MTBlZTc0NDgxMDJkMTdjMTJlNjJlZWE2N2QzZWYxMGEzMmJlZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwzNCBAQAorMjAyMS0xMi0xMSAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5j
b20+CisKKyAgICAgICAgQWxsb3cgb3ZlcnJpZGUgb2Ygc3lzdGVtJ3MgcHJlZmVycmVkIGNvbG9y
IHNjaGVtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjM0MTk5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NjM2NjA0ND4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHBvc2UgbmV3IFByaXZhdGUgQVBJ
IHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGdpdmUgYW4gZXhwbGljaXQgcGVyLXBhZ2UgcHJlZmVy
ZW5jZQorICAgICAgICBmb3IgbGlnaHQgb3IgZGFyayBjb2xvciBzY2hlbWVzIHJhdGhlciB0aGFu
IHJlYWRpbmcgdGhlIHN5c3RlbSB2YWx1ZS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21l
c3NhZ2VzLnB5OgorICAgICAgICAoaGVhZGVyc19mb3JfdHlwZSk6IEFkZCBoZWFkZXIgZm9yIERv
Y3VtZW50TG9hZGVyLgorCisgICAgICAgICogU2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEuY3Bw
OiBFbmNvZGUgdGhlIG5ldyB2YWx1ZSBpbiB0aGUgcG9saWNpZXMgc2VudAorICAgICAgICB0byB0
aGUgV2ViIFByb2Nlc3MuCisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE6OmVu
Y29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE6OmRlY29k
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE6OmFwcGx5VG9Eb2N1bWVu
dExvYWRlcik6CisgICAgICAgICogU2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEuaDoKKworICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmNwcDogRXhwb3NlIGEgbmV3
IHBvbGljeSAidXNlckV4cGxpY2l0bHlQcmVmZXJzQ29sb3JTY2hlbWUiLgorICAgICAgICAoQVBJ
OjpXZWJzaXRlUG9saWNpZXM6OmNvcHkgY29uc3QpOgorICAgICAgICAoQVBJOjpXZWJzaXRlUG9s
aWNpZXM6OmRhdGEpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVz
Lmg6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2VicGFnZVByZWZlcmVuY2Vz
Lm1tOiBFeHBvc2UgYSBuZXcgcHJpdmF0ZSBBUEkgIl91c2VyRXhwbGljaXRseVByZWZlcnNDb2xv
clNjaGVtZSIuCisgICAgICAgICgtW1dLV2VicGFnZVByZWZlcmVuY2VzIF91c2VyRXhwbGljaXRs
eVByZWZlcnNDb2xvclNjaGVtZV0pOgorICAgICAgICAoLVtXS1dlYnBhZ2VQcmVmZXJlbmNlcyBf
c2V0VXNlckV4cGxpY2l0bHlQcmVmZXJzQ29sb3JTY2hlbWU6XSk6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYnBhZ2VQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKwogMjAyMS0xMi0w
OCAgQkogQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIFdlYiBJbnNw
ZWN0b3I6IHByb3ZpZGUgYSB3YXkgZm9yIF9XS0luc3BlY3RvckV4dGVuc2lvbiBjbGllbnRzIHRv
IGJlIHRvIG5vdGlmaWVkIHdoZW4gYW4gZXh0ZW5zaW9uIHRhYiBuYXZpZ2F0ZXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcAppbmRleCA5YzAwODg2OTU4ZDVhZTMy
ZWRkNWY3NmY3Njg0M2QwYmRmYWZmZTcwLi5hNzk0NWU2ZDI5YjY2YTZjMWZmODYzZGI5M2RlOThl
MzFjNGZmYzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1
YXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3Bw
CkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgogI2luY2x1
ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgorI2luY2x1ZGUgIkRvY3Vt
ZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIK
ICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC04MDcsNyArODA4LDE1IEBAIHN0YXRpYyBib29sIHBy
ZWZlcnNDb2xvclNjaGVtZUV2YWx1YXRlKENTU1ZhbHVlKiB2YWx1ZSwgY29uc3QgQ1NTVG9MZW5n
dGhDb252ZXJzCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGF1dG8ga2V5d29yZCA9IGRv
d25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqdmFsdWUpLnZhbHVlSUQoKTsKLSAgICBib29sIHVz
ZURhcmtBcHBlYXJhbmNlID0gZnJhbWUucGFnZSgpLT51c2VEYXJrQXBwZWFyYW5jZSgpOworICAg
IGJvb2wgdXNlRGFya0FwcGVhcmFuY2UgPSBbJl0gKCkgLT4gYXV0byB7CisgICAgICAgIGlmIChm
cmFtZS5kb2N1bWVudCgpLT5sb2FkZXIoKSkgeworICAgICAgICAgICAgYXV0byBjb2xvclNjaGVt
ZVByZWZlcmVuY2UgPSBmcmFtZS5kb2N1bWVudCgpLT5sb2FkZXIoKS0+Y29sb3JTY2hlbWVQcmVm
ZXJlbmNlKCk7CisgICAgICAgICAgICBpZiAoY29sb3JTY2hlbWVQcmVmZXJlbmNlICE9IENvbG9y
U2NoZW1lUHJlZmVyZW5jZTo6Tm9QcmVmZXJlbmNlKQorICAgICAgICAgICAgICAgIHJldHVybiBj
b2xvclNjaGVtZVByZWZlcmVuY2UgPT0gQ29sb3JTY2hlbWVQcmVmZXJlbmNlOjpEYXJrOworICAg
ICAgICB9CisKKyAgICAgICAgcmV0dXJuIGZyYW1lLnBhZ2UoKS0+dXNlRGFya0FwcGVhcmFuY2Uo
KTsKKyAgICB9KCk7CiAKICAgICBzd2l0Y2ggKGtleXdvcmQpIHsKICAgICBjYXNlIENTU1ZhbHVl
RGFyazoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IGNmNmNj
ZjJiZDA4OTI1MGM2MDNmZDA0Yjc0YzNlYzhjMGU0OWM0ZjEuLmZiNTg3M2EwOWNjYmMyZDM0ZDU3
ZmI3MjBkNTEzYzc2YjIzODc0NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9h
ZGVyLmNwcApAQCAtMTQxMSw2ICsxNDExLDExIEBAIE1vdXNlRXZlbnRQb2xpY3kgRG9jdW1lbnRM
b2FkZXI6Om1vdXNlRXZlbnRQb2xpY3koKSBjb25zdAogICAgIHJldHVybiBtX21vdXNlRXZlbnRQ
b2xpY3k7CiB9CiAKK0NvbG9yU2NoZW1lUHJlZmVyZW5jZSBEb2N1bWVudExvYWRlcjo6Y29sb3JT
Y2hlbWVQcmVmZXJlbmNlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9jb2xvclNjaGVtZVByZWZl
cmVuY2U7Cit9CisKIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmF0dGFjaFRvRnJhbWUoRnJhbWUmIGZy
YW1lKQogewogICAgIGlmIChtX2ZyYW1lID09ICZmcmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50TG9hZGVyLmgKaW5kZXggZjdmM2YzODQ0ZjE4NDQ3YmU4ZGQ3YjgyZDNhNDQzNTAwMjIx
Njc2Mi4uYzU0OTcxOGZkODMxY2QxMTk5YmJkNWU3OTMxNzE1NjlkYzA4NjI4OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKQEAgLTE0NCw2ICsxNDQsMTIgQEAgZW51bSBj
bGFzcyBNb3VzZUV2ZW50UG9saWN5IDogdWludDhfdCB7CiAjZW5kaWYKIH07CiAKK2VudW0gY2xh
c3MgQ29sb3JTY2hlbWVQcmVmZXJlbmNlIDogdWludDhfdCB7CisgICAgTm9QcmVmZXJlbmNlLAor
ICAgIExpZ2h0LAorICAgIERhcmsKK307CisKIERFQ0xBUkVfQUxMT0NBVE9SX1dJVEhfSEVBUF9J
REVOVElGSUVSKERvY3VtZW50TG9hZGVyKTsKIGNsYXNzIERvY3VtZW50TG9hZGVyCiAgICAgOiBw
dWJsaWMgUmVmQ291bnRlZDxEb2N1bWVudExvYWRlcj4KQEAgLTM0Myw2ICszNDksOSBAQCBwdWJs
aWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgTW91c2VFdmVudFBvbGljeSBtb3VzZUV2ZW50UG9saWN5
KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRNb3VzZUV2ZW50UG9saWN5KE1vdXNlRXZlbnRQb2xpY3kg
cG9saWN5KSB7IG1fbW91c2VFdmVudFBvbGljeSA9IHBvbGljeTsgfQogCisgICAgV0VCQ09SRV9F
WFBPUlQgQ29sb3JTY2hlbWVQcmVmZXJlbmNlIGNvbG9yU2NoZW1lUHJlZmVyZW5jZSgpIGNvbnN0
OworICAgIHZvaWQgc2V0Q29sb3JTY2hlbWVQcmVmZXJlbmNlKENvbG9yU2NoZW1lUHJlZmVyZW5j
ZSBwcmVmZXJlbmNlKSB7IG1fY29sb3JTY2hlbWVQcmVmZXJlbmNlID0gcHJlZmVyZW5jZTsgfQor
CiAgICAgdm9pZCBhZGRTdWJyZXNvdXJjZUxvYWRlcihSZXNvdXJjZUxvYWRlciYpOwogICAgIHZv
aWQgcmVtb3ZlU3VicmVzb3VyY2VMb2FkZXIoTG9hZENvbXBsZXRpb25UeXBlLCBSZXNvdXJjZUxv
YWRlciopOwogICAgIHZvaWQgYWRkUGx1Z0luU3RyZWFtTG9hZGVyKFJlc291cmNlTG9hZGVyJik7
CkBAIC02NjcsNiArNjc2LDcgQEAgcHJpdmF0ZToKICAgICBTaW11bGF0ZWRNb3VzZUV2ZW50c0Rp
c3BhdGNoUG9saWN5IG1fc2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeSB7IFNpbXVs
YXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3k6OkRlZmF1bHQgfTsKICAgICBMZWdhY3lPdmVy
Zmxvd1Njcm9sbGluZ1RvdWNoUG9saWN5IG1fbGVnYWN5T3ZlcmZsb3dTY3JvbGxpbmdUb3VjaFBv
bGljeSB7IExlZ2FjeU92ZXJmbG93U2Nyb2xsaW5nVG91Y2hQb2xpY3k6OkRlZmF1bHQgfTsKICAg
ICBNb3VzZUV2ZW50UG9saWN5IG1fbW91c2VFdmVudFBvbGljeSB7IE1vdXNlRXZlbnRQb2xpY3k6
OkRlZmF1bHQgfTsKKyAgICBDb2xvclNjaGVtZVByZWZlcmVuY2UgbV9jb2xvclNjaGVtZVByZWZl
cmVuY2UgeyBDb2xvclNjaGVtZVByZWZlcmVuY2U6Ok5vUHJlZmVyZW5jZSB9OwogCiAjaWYgRU5B
QkxFKFNFUlZJQ0VfV09SS0VSKQogICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbkRhdGE+IG1fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE7CkBAIC03ODIsNCAr
NzkyLDEzIEBAIHRlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TW91c2VFdmVu
dFBvbGljeT4gewogICAgID47CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdl
YkNvcmU6OkNvbG9yU2NoZW1lUHJlZmVyZW5jZT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1W
YWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OkNvbG9yU2NoZW1lUHJlZmVyZW5jZSwKKyAgICAgICAg
V2ViQ29yZTo6Q29sb3JTY2hlbWVQcmVmZXJlbmNlOjpOb1ByZWZlcmVuY2UsCisgICAgICAgIFdl
YkNvcmU6OkNvbG9yU2NoZW1lUHJlZmVyZW5jZTo6TGlnaHQsCisgICAgICAgIFdlYkNvcmU6OkNv
bG9yU2NoZW1lUHJlZmVyZW5jZTo6RGFyaworICAgID47Cit9OworCiB9IC8vIG5hbWVzcGFjZSBX
VEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkg
Yi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IDA5MzBjZjkx
N2JhNzkwZTU3NWQ4NGI5NjllYWMwNTgxZjUyZjUxNmUuLjQ3MmZkODBhNmY2YTUzMjE1NmU1NTkz
NmVkYjk2YTRlMmMxZWFhMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJr
aXQvbWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdl
cy5weQpAQCAtNzU2LDYgKzc1Niw3IEBAIGRlZiBoZWFkZXJzX2Zvcl90eXBlKHR5cGUpOgogICAg
ICAgICAnV2ViQ29yZTo6QnJvd3NpbmdDb250ZXh0R3JvdXBTd2l0Y2hEZWNpc2lvbic6IFsnPFdl
YkNvcmUvRnJhbWVMb2FkZXJUeXBlcy5oPiddLAogICAgICAgICAnV2ViQ29yZTo6Q09FUERpc3Bv
c2l0aW9uJzogWyc8V2ViQ29yZS9Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5Lmg+J10sCiAgICAg
ICAgICdXZWJDb3JlOjpDT09QRGlzcG9zaXRpb24nOiBbJzxXZWJDb3JlL0Nyb3NzT3JpZ2luT3Bl
bmVyUG9saWN5Lmg+J10sCisgICAgICAgICdXZWJDb3JlOjpDb2xvclNjaGVtZVByZWZlcmVuY2Un
OiBbJzxXZWJDb3JlL0RvY3VtZW50TG9hZGVyLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpDb21w
b3NpdGVPcGVyYXRvcic6IFsnPFdlYkNvcmUvR3JhcGhpY3NUeXBlcy5oPiddLAogICAgICAgICAn
V2ViQ29yZTo6Q3JlYXRlTmV3R3JvdXBGb3JIaWdobGlnaHQnOiBbJzxXZWJDb3JlL0FwcEhpZ2hs
aWdodC5oPiddLAogICAgICAgICAnV2ViQ29yZTo6RE9NUGFzdGVBY2Nlc3NSZXNwb25zZSc6IFsn
PFdlYkNvcmUvRE9NUGFzdGVBY2Nlc3MuaD4nXSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
c2l0ZVBvbGljaWVzRGF0YS5jcHAKaW5kZXggYmE3ZmVmOTA4YWJjYWFmM2Y1OTQxOWFjOTIxOGUx
NzY0YzE1ZDEyNS4uY2JjMTE1ZjY3ZTY4Yjg4Y2IzMTY1MDY3YWYwNGQzNzg3ZWNhNWYxYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5jcHAKQEAgLTU0LDYg
KzU0LDcgQEAgdm9pZCBXZWJzaXRlUG9saWNpZXNEYXRhOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBl
bmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgYWxsb3dDb250ZW50Q2hhbmdlT2JzZXJ2ZXJR
dWlyazsKICAgICBlbmNvZGVyIDw8IGFsbG93c0NvbnRlbnRKYXZhU2NyaXB0OwogICAgIGVuY29k
ZXIgPDwgbW91c2VFdmVudFBvbGljeTsKKyAgICBlbmNvZGVyIDw8IGNvbG9yU2NoZW1lUHJlZmVy
ZW5jZTsKICAgICBlbmNvZGVyIDw8IGlkZW1wb3RlbnRNb2RlQXV0b3NpemluZ09ubHlIb25vcnNQ
ZXJjZW50YWdlczsKIH0KIApAQCAtMTQ2LDYgKzE0NywxMSBAQCBzdGQ6Om9wdGlvbmFsPFdlYnNp
dGVQb2xpY2llc0RhdGE+IFdlYnNpdGVQb2xpY2llc0RhdGE6OmRlY29kZShJUEM6OkRlY29kZXIm
IGRlYwogICAgIGlmICghbW91c2VFdmVudFBvbGljeSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKIAorICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6Q29sb3JTY2hlbWVQcmVmZXJlbmNl
PiBjb2xvclNjaGVtZVByZWZlcmVuY2U7CisgICAgZGVjb2RlciA+PiBjb2xvclNjaGVtZVByZWZl
cmVuY2U7CisgICAgaWYgKCFjb2xvclNjaGVtZVByZWZlcmVuY2UpCisgICAgICAgIHJldHVybiBz
dGQ6Om51bGxvcHQ7CisKICAgICBzdGQ6Om9wdGlvbmFsPGJvb2w+IGlkZW1wb3RlbnRNb2RlQXV0
b3NpemluZ09ubHlIb25vcnNQZXJjZW50YWdlczsKICAgICBkZWNvZGVyID4+IGlkZW1wb3RlbnRN
b2RlQXV0b3NpemluZ09ubHlIb25vcnNQZXJjZW50YWdlczsKICAgICBpZiAoIWlkZW1wb3RlbnRN
b2RlQXV0b3NpemluZ09ubHlIb25vcnNQZXJjZW50YWdlcykKQEAgLTE3MSw2ICsxNzcsNyBAQCBz
dGQ6Om9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+IFdlYnNpdGVQb2xpY2llc0RhdGE6OmRl
Y29kZShJUEM6OkRlY29kZXImIGRlYwogICAgICAgICBXVEZNb3ZlKCphbGxvd0NvbnRlbnRDaGFu
Z2VPYnNlcnZlclF1aXJrKSwKICAgICAgICAgV1RGTW92ZSgqYWxsb3dzQ29udGVudEphdmFTY3Jp
cHQpLAogICAgICAgICBXVEZNb3ZlKCptb3VzZUV2ZW50UG9saWN5KSwKKyAgICAgICAgV1RGTW92
ZSgqY29sb3JTY2hlbWVQcmVmZXJlbmNlKSwKICAgICAgICAgV1RGTW92ZSgqaWRlbXBvdGVudE1v
ZGVBdXRvc2l6aW5nT25seUhvbm9yc1BlcmNlbnRhZ2VzKSwKICAgICB9IH07CiB9CkBAIC0yOTUs
NiArMzAyLDcgQEAgdm9pZCBXZWJzaXRlUG9saWNpZXNEYXRhOjphcHBseVRvRG9jdW1lbnRMb2Fk
ZXIoV2Vic2l0ZVBvbGljaWVzRGF0YSYmIHdlYnNpdGVQb2wKICNlbmRpZgogICAgIH0KIAorICAg
IGRvY3VtZW50TG9hZGVyLnNldENvbG9yU2NoZW1lUHJlZmVyZW5jZSh3ZWJzaXRlUG9saWNpZXMu
Y29sb3JTY2hlbWVQcmVmZXJlbmNlKTsKICAgICBkb2N1bWVudExvYWRlci5zZXRBbGxvd0NvbnRl
bnRDaGFuZ2VPYnNlcnZlclF1aXJrKHdlYnNpdGVQb2xpY2llcy5hbGxvd0NvbnRlbnRDaGFuZ2VP
YnNlcnZlclF1aXJrKTsKICAgICBkb2N1bWVudExvYWRlci5zZXRJZGVtcG90ZW50TW9kZUF1dG9z
aXppbmdPbmx5SG9ub3JzUGVyY2VudGFnZXMod2Vic2l0ZVBvbGljaWVzLmlkZW1wb3RlbnRNb2Rl
QXV0b3NpemluZ09ubHlIb25vcnNQZXJjZW50YWdlcyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYnNpdGVQb2xpY2llc0RhdGEuaAppbmRleCA4ZDJhODc4MjExNzBlMmMyZWVhZjhmNzViZDFi
M2I4MzA2MDg2MGRkLi4wMjdlM2MwM2M0NmY1YzE0MDk4MThhYzQyY2FlOWYzZDBjNDg3NzM5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRlUG9saWNpZXNEYXRhLmgKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5oCkBAIC03MSw2ICs3
MSw3IEBAIHN0cnVjdCBXZWJzaXRlUG9saWNpZXNEYXRhIHsKICAgICBib29sIGFsbG93Q29udGVu
dENoYW5nZU9ic2VydmVyUXVpcmsgeyBmYWxzZSB9OwogICAgIFdlYkNvcmU6OkFsbG93c0NvbnRl
bnRKYXZhU2NyaXB0IGFsbG93c0NvbnRlbnRKYXZhU2NyaXB0IHsgV2ViQ29yZTo6QWxsb3dzQ29u
dGVudEphdmFTY3JpcHQ6OlllcyB9OwogICAgIFdlYkNvcmU6Ok1vdXNlRXZlbnRQb2xpY3kgbW91
c2VFdmVudFBvbGljeSB7IFdlYkNvcmU6Ok1vdXNlRXZlbnRQb2xpY3k6OkRlZmF1bHQgfTsKKyAg
ICBXZWJDb3JlOjpDb2xvclNjaGVtZVByZWZlcmVuY2UgY29sb3JTY2hlbWVQcmVmZXJlbmNlIHsg
V2ViQ29yZTo6Q29sb3JTY2hlbWVQcmVmZXJlbmNlOjpOb1ByZWZlcmVuY2UgfTsKICAgICBib29s
IGlkZW1wb3RlbnRNb2RlQXV0b3NpemluZ09ubHlIb25vcnNQZXJjZW50YWdlcyB7IGZhbHNlIH07
CiAKICAgICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImKSBjb25zdDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuY3BwIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5jcHAKaW5kZXggY2YzMzQw
ZDcyNzEyMjdhN2MzODBjN2M4YjMxNmQ2NTU3Yjg1NGNmMy4uOWY0ZWIyODdlNjg1Yjc3OGU1ZTUz
Yzk4NzFhMTVhZWY1NzY1NzhlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0FQSVdlYnNpdGVQb2xpY2llcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0FQSVdlYnNpdGVQb2xpY2llcy5jcHAKQEAgLTc2LDYgKzc2LDcgQEAgUmVmPFdlYnNpdGVQ
b2xpY2llcz4gV2Vic2l0ZVBvbGljaWVzOjpjb3B5KCkgY29uc3QKICAgICBwb2xpY2llcy0+c2V0
QWxsb3dzQ29udGVudEphdmFTY3JpcHQobV9hbGxvd3NDb250ZW50SmF2YVNjcmlwdCk7CiAgICAg
cG9saWNpZXMtPnNldENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZChtX2NhcHRpdmVQb3J0YWxNb2Rl
RW5hYmxlZCk7CiAgICAgcG9saWNpZXMtPnNldE1vdXNlRXZlbnRQb2xpY3kobV9tb3VzZUV2ZW50
UG9saWN5KTsKKyAgICBwb2xpY2llcy0+c2V0VXNlckV4cGxpY2l0bHlQcmVmZXJzQ29sb3JTY2hl
bWUobV91c2VyRXhwbGljaXRseVByZWZlcnNDb2xvclNjaGVtZSk7CiAgICAgcmV0dXJuIHBvbGlj
aWVzOwogfQogCkBAIC0xMjEsNiArMTIyLDcgQEAgV2ViS2l0OjpXZWJzaXRlUG9saWNpZXNEYXRh
IFdlYnNpdGVQb2xpY2llczo6ZGF0YSgpCiAgICAgICAgIG1fYWxsb3dDb250ZW50Q2hhbmdlT2Jz
ZXJ2ZXJRdWlyaywKICAgICAgICAgbV9hbGxvd3NDb250ZW50SmF2YVNjcmlwdCwKICAgICAgICAg
bV9tb3VzZUV2ZW50UG9saWN5LAorICAgICAgICBtX3VzZXJFeHBsaWNpdGx5UHJlZmVyc0NvbG9y
U2NoZW1lLAogICAgICAgICBtX2lkZW1wb3RlbnRNb2RlQXV0b3NpemluZ09ubHlIb25vcnNQZXJj
ZW50YWdlcwogICAgIH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQVBJV2Vic2l0ZVBvbGljaWVzLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJ
V2Vic2l0ZVBvbGljaWVzLmgKaW5kZXggNDk3MjgyMzA1ZTY0ZmM4YmVmZDRiZjIzMDIzZTZlYTQ3
ZDA3MTJkNi4uYzg4NmI1YmE3NzcxMjdjZmU3NGI3ZDg4MzJkZWY4YTAwNzI0OGYxYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaApAQCAt
MTMyLDYgKzEzMiw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldENhcHRpdmVQb3J0YWxNb2RlRW5h
YmxlZChzdGQ6Om9wdGlvbmFsPGJvb2w+IGNhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZCkgeyBtX2Nh
cHRpdmVQb3J0YWxNb2RlRW5hYmxlZCA9IGNhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZDsgfQogICAg
IGJvb2wgaXNDYXB0aXZlUG9ydGFsTW9kZUV4cGxpY2l0bHlTZXQoKSBjb25zdCB7IHJldHVybiAh
IW1fY2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkOyB9CiAKKyAgICBXZWJDb3JlOjpDb2xvclNjaGVt
ZVByZWZlcmVuY2UgdXNlckV4cGxpY2l0bHlQcmVmZXJzQ29sb3JTY2hlbWUoKSBjb25zdCB7IHJl
dHVybiBtX3VzZXJFeHBsaWNpdGx5UHJlZmVyc0NvbG9yU2NoZW1lOyB9CisgICAgdm9pZCBzZXRV
c2VyRXhwbGljaXRseVByZWZlcnNDb2xvclNjaGVtZShXZWJDb3JlOjpDb2xvclNjaGVtZVByZWZl
cmVuY2UgcHJlZmVyc0NvbG9yU2NoZW1lKSB7IG1fdXNlckV4cGxpY2l0bHlQcmVmZXJzQ29sb3JT
Y2hlbWUgPSBwcmVmZXJzQ29sb3JTY2hlbWU7IH0KKwogICAgIFdlYkNvcmU6Ok1vdXNlRXZlbnRQ
b2xpY3kgbW91c2VFdmVudFBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fbW91c2VFdmVudFBvbGlj
eTsgfQogICAgIHZvaWQgc2V0TW91c2VFdmVudFBvbGljeShXZWJDb3JlOjpNb3VzZUV2ZW50UG9s
aWN5IHBvbGljeSkgeyBtX21vdXNlRXZlbnRQb2xpY3kgPSBwb2xpY3k7IH0KIApAQCAtMTY3LDYg
KzE3MCw3IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6TW91c2VFdmVudFBvbGljeSBtX21vdXNl
RXZlbnRQb2xpY3kgeyBXZWJDb3JlOjpNb3VzZUV2ZW50UG9saWN5OjpEZWZhdWx0IH07CiAgICAg
Ym9vbCBtX2lkZW1wb3RlbnRNb2RlQXV0b3NpemluZ09ubHlIb25vcnNQZXJjZW50YWdlcyB7IGZh
bHNlIH07CiAgICAgc3RkOjpvcHRpb25hbDxib29sPiBtX2NhcHRpdmVQb3J0YWxNb2RlRW5hYmxl
ZDsKKyAgICBXZWJDb3JlOjpDb2xvclNjaGVtZVByZWZlcmVuY2UgbV91c2VyRXhwbGljaXRseVBy
ZWZlcnNDb2xvclNjaGVtZSB7IFdlYkNvcmU6OkNvbG9yU2NoZW1lUHJlZmVyZW5jZTo6Tm9QcmVm
ZXJlbmNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnBhZ2VQcmVmZXJlbmNlcy5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnBhZ2VQcmVmZXJlbmNlcy5tbQppbmRl
eCAxYjUzNDM3YzI4NTVkNDBlNWQ2YjI5NTc2MDVmOWZlN2RhOWJjMmY1Li4xYmZjYjU2OTJiNGVj
YmEzMGRmN2JiYTJkYjM5Y2EwMmVlYmU1NGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJwYWdlUHJlZmVyZW5jZXMubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2VicGFnZVByZWZlcmVuY2VzLm1tCkBAIC00Njks
NiArNDY5LDMzIEBAIHN0YXRpYyBfV0tXZWJzaXRlRGV2aWNlT3JpZW50YXRpb25BbmRNb3Rpb25B
Y2Nlc3NQb2xpY3kgdG9XS1dlYnNpdGVEZXZpY2VPcmllbnRhCiAgICAgcmV0dXJuIF93ZWJzaXRl
UG9saWNpZXMtPmNhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZCgpOwogfQogCistIChfV0tXZWJzaXRl
VXNlckV4cGxpY2l0bHlQcmVmZXJzQ29sb3JTY2hlbWUpX3VzZXJFeHBsaWNpdGx5UHJlZmVyc0Nv
bG9yU2NoZW1lCit7CisgICAgc3dpdGNoIChfd2Vic2l0ZVBvbGljaWVzLT51c2VyRXhwbGljaXRs
eVByZWZlcnNDb2xvclNjaGVtZSgpKSB7CisgICAgY2FzZSBXZWJDb3JlOjpDb2xvclNjaGVtZVBy
ZWZlcmVuY2U6Ok5vUHJlZmVyZW5jZToKKyAgICAgICAgcmV0dXJuIF9XS1dlYnNpdGVVc2VyRXhw
bGljaXRseVByZWZlcnNDb2xvclNjaGVtZU5vUHJlZmVyZW5jZTsKKyAgICBjYXNlIFdlYkNvcmU6
OkNvbG9yU2NoZW1lUHJlZmVyZW5jZTo6TGlnaHQ6CisgICAgICAgIHJldHVybiBfV0tXZWJzaXRl
VXNlckV4cGxpY2l0bHlQcmVmZXJzQ29sb3JTY2hlbWVMaWdodDsKKyAgICBjYXNlIFdlYkNvcmU6
OkNvbG9yU2NoZW1lUHJlZmVyZW5jZTo6RGFyazoKKyAgICAgICAgcmV0dXJuIF9XS1dlYnNpdGVV
c2VyRXhwbGljaXRseVByZWZlcnNDb2xvclNjaGVtZURhcms7CisgICAgfQorfQorCistICh2b2lk
KV9zZXRVc2VyRXhwbGljaXRseVByZWZlcnNDb2xvclNjaGVtZTooX1dLV2Vic2l0ZVVzZXJFeHBs
aWNpdGx5UHJlZmVyc0NvbG9yU2NoZW1lKXZhbHVlCit7CisgICAgc3dpdGNoICh2YWx1ZSkgewor
ICAgIGNhc2UgX1dLV2Vic2l0ZVVzZXJFeHBsaWNpdGx5UHJlZmVyc0NvbG9yU2NoZW1lTm9QcmVm
ZXJlbmNlOgorICAgICAgICBfd2Vic2l0ZVBvbGljaWVzLT5zZXRVc2VyRXhwbGljaXRseVByZWZl
cnNDb2xvclNjaGVtZShXZWJDb3JlOjpDb2xvclNjaGVtZVByZWZlcmVuY2U6Ok5vUHJlZmVyZW5j
ZSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgX1dLV2Vic2l0ZVVzZXJFeHBsaWNpdGx5UHJl
ZmVyc0NvbG9yU2NoZW1lTGlnaHQ6CisgICAgICAgIF93ZWJzaXRlUG9saWNpZXMtPnNldFVzZXJF
eHBsaWNpdGx5UHJlZmVyc0NvbG9yU2NoZW1lKFdlYkNvcmU6OkNvbG9yU2NoZW1lUHJlZmVyZW5j
ZTo6TGlnaHQpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIF9XS1dlYnNpdGVVc2VyRXhwbGlj
aXRseVByZWZlcnNDb2xvclNjaGVtZURhcms6CisgICAgICAgIF93ZWJzaXRlUG9saWNpZXMtPnNl
dFVzZXJFeHBsaWNpdGx5UHJlZmVyc0NvbG9yU2NoZW1lKFdlYkNvcmU6OkNvbG9yU2NoZW1lUHJl
ZmVyZW5jZTo6RGFyayk7CisgICAgICAgIGJyZWFrOworICAgIH0KK30KKwogI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCiAKIC0gKHZvaWQpc2V0UHJlZmVycmVkQ29udGVudE1vZGU6KFdLQ29udGVu
dE1vZGUpY29udGVudE1vZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYnBhZ2VQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYnBhZ2VQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCAxNzVl
OTczNGZlMTc3ZWJlMjc4MjZmODJlYjY3YWQxNDM4NWFjMWIzLi4zN2QxNDc2YTliMWQ1YWM0MjVj
MmMwZTk5NTQxMDIyMDQ3Mjc3ZGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJwYWdlUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2VicGFnZVByZWZlcmVuY2VzUHJpdmF0ZS5oCkBA
IC02Miw2ICs2MiwxMiBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLV2Vic2l0
ZU1vdXNlRXZlbnRQb2xpY3kpIHsKICNlbmRpZgogfSBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEx
LjApLCBpb3MoMTQuMCkpOwogCit0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLV2Vi
c2l0ZVVzZXJFeHBsaWNpdGx5UHJlZmVyc0NvbG9yU2NoZW1lKSB7CisgICAgX1dLV2Vic2l0ZVVz
ZXJFeHBsaWNpdGx5UHJlZmVyc0NvbG9yU2NoZW1lTm9QcmVmZXJlbmNlLAorICAgIF9XS1dlYnNp
dGVVc2VyRXhwbGljaXRseVByZWZlcnNDb2xvclNjaGVtZUxpZ2h0LAorICAgIF9XS1dlYnNpdGVV
c2VyRXhwbGljaXRseVByZWZlcnNDb2xvclNjaGVtZURhcmssCit9IFdLX0FQSV9BVkFJTEFCTEUo
bWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKIEBjbGFzcyBfV0tDdXN0b21I
ZWFkZXJGaWVsZHM7CiBAY2xhc3MgV0tVc2VyQ29udGVudENvbnRyb2xsZXI7CiBAY2xhc3MgV0tX
ZWJzaXRlRGF0YVN0b3JlOwpAQCAtODgsNCArOTQsNiBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNV
SW50ZWdlciwgX1dLV2Vic2l0ZU1vdXNlRXZlbnRQb2xpY3kpIHsKIAogQHByb3BlcnR5IChub25h
dG9taWMsIHNldHRlcj1fc2V0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkOikgQk9PTCBfY2FwdGl2
ZVBvcnRhbE1vZGVFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlv
cyhXS19JT1NfVEJBKSk7CiAKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFVzZXJF
eHBsaWNpdGx5UHJlZmVyc0NvbG9yU2NoZW1lOikgX1dLV2Vic2l0ZVVzZXJFeHBsaWNpdGx5UHJl
ZmVyc0NvbG9yU2NoZW1lIF91c2VyRXhwbGljaXRseVByZWZlcnNDb2xvclNjaGVtZTsKKwogQGVu
ZApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDhl
MTQ1NzBjYTEwYWI1OGQwMDFlMzM5NzZkNzBjNTVlYWE0ODRhN2IuLmY5ZGNhZDk4YWNjODhhM2Y4
ZjE0Y2M2YTk5ODQ5MjI3MTk4MDUzZTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMS0xMi0xMSAgRGVhbiBKYWNr
c29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgb3ZlcnJpZGUgb2Ygc3lzdGVt
J3MgcHJlZmVycmVkIGNvbG9yIHNjaGVtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM0MTk5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NjM2NjA0
ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcg
QVBJIHRlc3QgdGhhdCBjaGVja3MgdGhlIGNvbG9yLXNjaGVtZSBhZnRlcgorICAgICAgICBleHBs
aWNpdGx5IHNldHRpbmcgaXQuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYktpdC9jb2xvci1zY2hlbWUuaHRtbDogQWRkZWQuIE5vdGU6IFhjb2RlIHdhcworICAg
ICAgICBiZWluZyBkaWZmaWN1bHQgYW5kIHdvdWxkbid0IGxldCBtZSBwdXQgdGhpcyBmaWxlIGlu
IHRoZSByaWdodCBvcmRlcgorICAgICAgICBmb3IgdGhlIENvcHkgQnVpbGQgUGhhc2UgOigKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dlYnNpdGVQb2xpY2llcy5t
bToKKwogMjAyMS0xMi0wOCAgQkogQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBb
Q29jb2FdIFdlYiBJbnNwZWN0b3I6IHByb3ZpZGUgYSB3YXkgZm9yIF9XS0luc3BlY3RvckV4dGVu
c2lvbiBjbGllbnRzIHRvIGJlIHRvIG5vdGlmaWVkIHdoZW4gYW4gZXh0ZW5zaW9uIHRhYiBuYXZp
Z2F0ZXMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggN2Y2OTE1NTNlM2U0MzNkMjI1ZjMzNDNh
NjE3ZjUwZDQ2OWVmODI4NS4uMmZmZWI0ZDBmZTM0YjliYjk2ODQwYjM3NmNiMTkxNzFiYjMyMDE2
ZiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE3Niw2ICsxNzYsNyBAQAogCQkzMTI4QTgx
MzIzNzYzRkFDMDBEOTBENDAgLyogbGluay13aXRoLWltYWdlLmh0bWwgaW4gQ29weSBSZXNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEyOEE4MTIyMzc2M0YwQjAw
RDkwRDQwIC8qIGxpbmstd2l0aC1pbWFnZS5odG1sICovOyB9OwogCQkzMTI4QTgxNTIzNzY0MTMz
MDBEOTBENDAgLyogaW1hZ2UuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzMTI4QTgxNDIzNzY0MEZEMDBEOTBENDAgLyogaW1hZ2UuaHRt
bCAqLzsgfTsKIAkJMzEzQzNBMDIyMUU1NjdDMzAwREJBODZFIC8qIFN5c3RlbVByZXZpZXdCbG9i
TmFtaW5nLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzEzQzNBMDEyMUU1Njc3QTAwREJBODZFIC8qIFN5c3RlbVByZXZpZXdCbG9iTmFt
aW5nLmh0bWwgKi87IH07CisJCTMxOTAzQzkxMjc2NTA3NzQwMDM2MzQ3MiAvKiBjb2xvci1zY2hl
bWUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzMTkwM0M5MDI3NjRGRTE0MDAzNjM0NzIgLyogY29sb3Itc2NoZW1lLmh0bWwgKi87IH07
CiAJCTMxQjc2RTQ1MjMyOTlCREMwMDdGRUQyQyAvKiBzeXN0ZW0tcHJldmlldy10cmlnZ2VyLmh0
bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MzFCNzZFNDQyMzI5OUJBMzAwN0ZFRDJDIC8qIHN5c3RlbS1wcmV2aWV3LXRyaWdnZXIuaHRtbCAq
LzsgfTsKIAkJMzFFOUJEQTEyNDdGNEM2MjAwMkU1MUEyIC8qIFdlYkdMUHJlcGFyZURpc3BsYXlP
bldlYlRocmVhZC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxRTlCREEwMjQ3RjRDNjIwMDJFNTFBMiAvKiBXZWJHTFByZXBhcmVEaXNwbGF5T25XZWJU
aHJlYWQubW0gKi87IH07CiAJCTMxRTlCREEzMjQ3RjU3MjkwMDJFNTFBMiAvKiB3ZWJnbC5odG1s
IGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
RTlCREEyMjQ3RjRERDAwMDJFNTFBMiAvKiB3ZWJnbC5odG1sICovOyB9OwpAQCAtMTI1Nyw2ICsx
MjU4LDcgQEAKIAkJCQk5QjkzMzJDRTIzMjBDNzQ1MDAyRDUwRTggLyogY29jb2Etd3JpdGVyLW1h
cmt1cC13aXRoLWxpc3RzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJOUJBRTE3N0Iy
MkUyQkJGQjAwREYzMDk4IC8qIGNvY29hLXdyaXRlci1tYXJrdXAtd2l0aC1zeXN0ZW0tZm9udHMu
aHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlFNTAzNkY3ODIxMUJDMjU0MDBCRkRCRTIg
LyogY29sb3ItZHJvcC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAorCQkJCTMxOTAzQzkxMjc2
NTA3NzQwMDM2MzQ3MiAvKiBjb2xvci1zY2hlbWUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywK
IAkJCQkwRjE2QkVEODIzMDRBMUYzMDBCNEExNjcgLyogY29tcG9zaXRlZC5odG1sIGluIENvcHkg
UmVzb3VyY2VzICovLAogCQkJCUY0QjgyNUQ4MUVGNERCRkIwMDZFNDE3RiAvKiBjb21wcmVzc2Vk
LWZpbGVzLnppcCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1QzlFNTY4NzFERjkxNEFFMDBD
OUVFMzMgLyogY29udGVudEJsb2NrZXJDaGVjay5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLApA
QCAtMTg1MCw2ICsxODUyLDcgQEAKIAkJMzEyOEE4MTIyMzc2M0YwQjAwRDkwRDQwIC8qIGxpbmst
d2l0aC1pbWFnZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImxpbmstd2l0aC1pbWFnZS5odG1sIjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzEyOEE4MTQyMzc2NDBGRDAwRDkwRDQwIC8qIGltYWdl
Lmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0Lmh0bWw7IHBhdGggPSBpbWFnZS5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkzMTNDM0EwMTIxRTU2NzdBMDBEQkE4NkUgLyogU3lzdGVtUHJldmlld0Jsb2JOYW1pbmcuaHRt
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9IFN5c3RlbVByZXZpZXdCbG9iTmFtaW5nLmh0
bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxOTAzQzkwMjc2NEZFMTQwMDM2MzQ3
MiAvKiBjb2xvci1zY2hlbWUuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJjb2xv
ci1zY2hlbWUuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQjc2RTQyMjMy
OThFMkIwMDdGRUQyQyAvKiBTeXN0ZW1QcmV2aWV3Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gU3lzdGVtUHJldmlldy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzFCNzZFNDQyMzI5OUJBMzAwN0ZFRDJDIC8qIHN5c3RlbS1wcmV2aWV3LXRyaWdn
ZXIuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQuaHRtbDsgcGF0aCA9ICJzeXN0ZW0tcHJldmlldy10cmlnZ2VyLmh0bWwiOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkzMUU5QkRBMDI0N0Y0QzYyMDAyRTUxQTIgLyogV2ViR0xQ
cmVwYXJlRGlzcGxheU9uV2ViVGhyZWFkLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViR0xQ
cmVwYXJlRGlzcGxheU9uV2ViVGhyZWFkLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtNDU5OSw2ICs0NjAyLDcgQEAKIAkJCQk5QkQ0MjM5QjFFMDRCRkQwMDAyMDAzOTUgLyogY2hp
bmVzZS1jaGFyYWN0ZXItd2l0aC1pbWFnZS5odG1sICovLAogCQkJCTFBNTBBQTFGMUEyQTRFQTUw
MEY0QzM0NSAvKiBjbG9zZS1mcm9tLXdpdGhpbi1jcmVhdGUtcGFnZS5odG1sICovLAogCQkJCTlC
MjcwRkVEMUREQzI1RkQwMDJENTNGMyAvKiBjbG9zZWQtc2hhZG93LXRyZWUtdGVzdC5odG1sICov
LAorCQkJCTMxOTAzQzkwMjc2NEZFMTQwMDM2MzQ3MiAvKiBjb2xvci1zY2hlbWUuaHRtbCAqLywK
IAkJCQk1QzlFNTY4NjFERjkxNDhFMDBDOUVFMzMgLyogY29udGVudEJsb2NrZXJDaGVjay5odG1s
ICovLAogCQkJCUY0MDM0RkEyMjc1RDU0NDkwMDNBODFGOCAvKiBjb29raWUtY29uc2VudC1iYXNp
Yy5odG1sICovLAogCQkJCTJEREQ0REEzMjcwQjhCMzMwMDY1OUE2MSAvKiBjdWJlLnVzZHogKi8s
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9jb2xvci1zY2hl
bWUuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0L2NvbG9yLXNjaGVtZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmY0YjJjYjBhZDJlMzAzZGVlZDJlM2Q3YWJiMzMxZWY4NThjNmJkNTAK
LS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9jb2xv
ci1zY2hlbWUuaHRtbApAQCAtMCwwICsxLDIwIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4K
K2Z1bmN0aW9uIHRlc3RDb2xvclNjaGVtZSgpIHsKKyAgICBpZiAod2luZG93Lm1hdGNoTWVkaWEo
IihwcmVmZXJzLWNvbG9yLXNjaGVtZTogbGlnaHQpIikpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNz
YWdlKCJsaWdodC1kZXRlY3RlZCIpOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0KKyAg
ICBpZiAod2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKSkg
eworICAgICAgICB0cnkgeworICAgICAgICAgICAgd2luZG93LndlYmtpdC5tZXNzYWdlSGFuZGxl
cnMudGVzdEhhbmRsZXIucG9zdE1lc3NhZ2UoImRhcmstZGV0ZWN0ZWQiKTsKKyAgICAgICAgfSBj
YXRjaChlKSB7IH0KKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0i
dGVzdENvbG9yU2NoZW1lKCkiPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRlUG9saWNpZXMubW0gYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dlYnNpdGVQb2xpY2llcy5tbQppbmRl
eCBiOTBkOGNjYjdlZjUzYTUzNWUxOWQ1YzAyYTkzZDYwYzZmOTE1Zjc1Li4zMmY4ZmE4NDQwNmM4
NGY5ZTg5YmNmM2VmMmIzYjA3N2EyODFjZjhmIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL1dlYnNpdGVQb2xpY2llcy5tbQorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dlYnNpdGVQb2xpY2llcy5tbQpAQCAtMTc4Nywz
ICsxNzg3LDI3IEBAIFRFU1QoV2VicGFnZVByZWZlcmVuY2VzLCBXZWJzaXRlUG9saWNpZXNVc2Vy
Q29udGVudENvbnRyb2xsZXIpCiAgICAgW3JlcGxhY2VtZW50VXNlckNvbnRlbnRDb250cm9sbGVy
IF9hZGRVc2VyU2NyaXB0SW1tZWRpYXRlbHk6bWFrZVNjcmlwdChAImFsZXJ0KCd0ZXN0QWxlcnQz
Jyk7IikuZ2V0KCldOwogICAgIEVYUEVDVF9XS19TVFJFUShbdWlEZWxlZ2F0ZSB3YWl0Rm9yQWxl
cnRdLCAidGVzdEFsZXJ0MyIpOwogfQorCitURVNUKFdlYnBhZ2VQcmVmZXJlbmNlcywgVXNlckV4
cGxpY2l0bHlQcmVmZXJzQ29sb3JTY2hlbWVMaWdodCkKK3sKKyAgICBhdXRvIGNvbmZpZ3VyYXRp
b24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworCisg
ICAgY29uZmlndXJhdGlvbi5nZXQoKS5kZWZhdWx0V2VicGFnZVByZWZlcmVuY2VzLl91c2VyRXhw
bGljaXRseVByZWZlcnNDb2xvclNjaGVtZSA9IF9XS1dlYnNpdGVVc2VyRXhwbGljaXRseVByZWZl
cnNDb2xvclNjaGVtZURhcms7CisKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdL
V2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBj
b25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAgIFt3ZWJWaWV3IGxvYWRU
ZXN0UGFnZU5hbWVkOkAiY29sb3Itc2NoZW1lIl07CisgICAgW3dlYlZpZXcgd2FpdEZvck1lc3Nh
Z2U6QCJsaWdodC1kZXRlY3RlZCJdOworfQorCitURVNUKFdlYnBhZ2VQcmVmZXJlbmNlcywgVXNl
ckV4cGxpY2l0bHlQcmVmZXJzQ29sb3JTY2hlbWVEYXJrKQoreworICAgIGF1dG8gY29uZmlndXJh
dGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisK
KyAgICBjb25maWd1cmF0aW9uLmdldCgpLmRlZmF1bHRXZWJwYWdlUHJlZmVyZW5jZXMuX3VzZXJF
eHBsaWNpdGx5UHJlZmVyc0NvbG9yU2NoZW1lID0gX1dLV2Vic2l0ZVVzZXJFeHBsaWNpdGx5UHJl
ZmVyc0NvbG9yU2NoZW1lRGFyazsKKworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0
V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDAp
IGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOworCisgICAgW3dlYlZpZXcgbG9h
ZFRlc3RQYWdlTmFtZWQ6QCJjb2xvci1zY2hlbWUiXTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTWVz
c2FnZTpAImRhcmstZGV0ZWN0ZWQiXTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447028</attachid>
            <date>2021-12-13 11:08:47 -0800</date>
            <delta_ts>2021-12-13 13:44:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234199-20211214060846.patch</filename>
            <type>text/plain</type>
            <size>23757</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2OTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjNjZTNiMWUxYWNkZjhm
ZDZiMGIyN2M2YzkzZjExNGQ3NmU2OWI2OS4uNWM4MWFiMDdkZTgzYTc1ODExMzFkODAxMTU3MzZl
NWExMDBiY2QyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTEyLTExICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBvdmVycmlkZSBvZiBz
eXN0ZW0ncyBwcmVmZXJyZWQgY29sb3Igc2NoZW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQxOTkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg2
MzY2MDQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFVzZSBhIHVzZXItc3BlY2lmaWVkIHByZWZlcmVuY2UgZm9yIGNvbG9yLXNjaGVtZSBiZWZvcmUg
cmVhZGluZworICAgICAgICB0aGUgc3lzdGVtIHZhbHVlLgorCisgICAgICAgICogY3NzL01lZGlh
UXVlcnlFdmFsdWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cHJlZmVyc0NvbG9yU2NoZW1l
RXZhbHVhdGUpOiBJZiB0aGUgZG9jdW1lbnQgbG9hZGVyIHdhcyBnaXZlbgorICAgICAgICBhIHBy
ZWZlcmVuY2UsIHVzZSB0aGF0IHdoZW4gZXZhbHVhdGluZyB0aGUgbWVkaWEgcXVlcnkuCisgICAg
ICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDogTmV3IHByb3BlcnR5IC0gY29sb3JTY2hl
bWVQcmVmZXJlbmNlLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmNvbG9yU2No
ZW1lUHJlZmVyZW5jZSBjb25zdCk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmg6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c2V0Q29sb3JTY2hlbWVQcmVmZXJl
bmNlKToKKwogMjAyMS0xMi0xMyAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgogCiAgICAg
ICAgIEZpeCBwYWludCBvcmRlciBvZiBDU1MgdGV4dCBkZWNvcmF0aW9ucwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAx
MTE3NzUwNzFlMjQ4OTQ1ODZkNzJjNDM0OGFlYWI4YTcxNTQ3ZTc0Li4wMDAyMjMyN2U5OTZlOWEx
ODJiZWUzZTAxNTViY2ViYzljZGVmY2UxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIx
LTEyLTExICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBv
dmVycmlkZSBvZiBzeXN0ZW0ncyBwcmVmZXJyZWQgY29sb3Igc2NoZW1lCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQxOTkKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzg2MzY2MDQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEV4cG9zZSBuZXcgUHJpdmF0ZSBBUEkgdGhhdCBhbGxvd3MgdGhlIHVzZXIg
dG8gZ2l2ZSBhbiBleHBsaWNpdCBwZXItcGFnZSBwcmVmZXJlbmNlCisgICAgICAgIGZvciBsaWdo
dCBvciBkYXJrIGNvbG9yIHNjaGVtZXMgcmF0aGVyIHRoYW4gcmVhZGluZyB0aGUgc3lzdGVtIHZh
bHVlLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHk6CisgICAgICAgICho
ZWFkZXJzX2Zvcl90eXBlKTogQWRkIGhlYWRlciBmb3IgRG9jdW1lbnRMb2FkZXIuCisKKyAgICAg
ICAgKiBTaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5jcHA6IEVuY29kZSB0aGUgbmV3IHZhbHVl
IGluIHRoZSBwb2xpY2llcyBzZW50CisgICAgICAgIHRvIHRoZSBXZWIgUHJvY2Vzcy4KKyAgICAg
ICAgKFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAg
KFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktpdDo6
V2Vic2l0ZVBvbGljaWVzRGF0YTo6YXBwbHlUb0RvY3VtZW50TG9hZGVyKToKKyAgICAgICAgKiBT
aGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5oOgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9B
UElXZWJzaXRlUG9saWNpZXMuY3BwOiBFeHBvc2UgYSBuZXcgcG9saWN5ICJ1c2VyRXhwbGljaXRs
eVByZWZlcnNDb2xvclNjaGVtZSIuCisgICAgICAgIChBUEk6OldlYnNpdGVQb2xpY2llczo6Y29w
eSBjb25zdCk6CisgICAgICAgIChBUEk6OldlYnNpdGVQb2xpY2llczo6ZGF0YSk6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaDoKKworICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJwYWdlUHJlZmVyZW5jZXMubW06IEV4cG9zZSBhIG5ldyBwcml2
YXRlIEFQSSAiX3VzZXJFeHBsaWNpdGx5UHJlZmVyc0NvbG9yU2NoZW1lIi4KKyAgICAgICAgKC1b
V0tXZWJwYWdlUHJlZmVyZW5jZXMgX3VzZXJFeHBsaWNpdGx5UHJlZmVyc0NvbG9yU2NoZW1lXSk6
CisgICAgICAgICgtW1dLV2VicGFnZVByZWZlcmVuY2VzIF9zZXRVc2VyRXhwbGljaXRseVByZWZl
cnNDb2xvclNjaGVtZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2VicGFn
ZVByZWZlcmVuY2VzUHJpdmF0ZS5oOgorCiAyMDIxLTEyLTEzICBKb29uZ2h1biBQYXJrICA8amg3
MTgucGFya0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBGaXggYnVpbGQgZXJy
b3Igc2luY2UgcjI4Njk0Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1
ZXJ5RXZhbHVhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9y
LmNwcAppbmRleCA5YzAwODg2OTU4ZDVhZTMyZWRkNWY3NmY3Njg0M2QwYmRmYWZmZTcwLi5hNzk0
NWU2ZDI5YjY2YTZjMWZmODYzZGI5M2RlOThlMzFjNGZmYzkzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAi
Q1NTVmFsdWVLZXl3b3Jkcy5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNocm9t
ZUNsaWVudC5oIgorI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWUu
aCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC04MDcs
NyArODA4LDE1IEBAIHN0YXRpYyBib29sIHByZWZlcnNDb2xvclNjaGVtZUV2YWx1YXRlKENTU1Zh
bHVlKiB2YWx1ZSwgY29uc3QgQ1NTVG9MZW5ndGhDb252ZXJzCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogICAgIGF1dG8ga2V5d29yZCA9IGRvd25jYXN0PENTU1ByaW1pdGl2ZVZhbHVlPigqdmFs
dWUpLnZhbHVlSUQoKTsKLSAgICBib29sIHVzZURhcmtBcHBlYXJhbmNlID0gZnJhbWUucGFnZSgp
LT51c2VEYXJrQXBwZWFyYW5jZSgpOworICAgIGJvb2wgdXNlRGFya0FwcGVhcmFuY2UgPSBbJl0g
KCkgLT4gYXV0byB7CisgICAgICAgIGlmIChmcmFtZS5kb2N1bWVudCgpLT5sb2FkZXIoKSkgewor
ICAgICAgICAgICAgYXV0byBjb2xvclNjaGVtZVByZWZlcmVuY2UgPSBmcmFtZS5kb2N1bWVudCgp
LT5sb2FkZXIoKS0+Y29sb3JTY2hlbWVQcmVmZXJlbmNlKCk7CisgICAgICAgICAgICBpZiAoY29s
b3JTY2hlbWVQcmVmZXJlbmNlICE9IENvbG9yU2NoZW1lUHJlZmVyZW5jZTo6Tm9QcmVmZXJlbmNl
KQorICAgICAgICAgICAgICAgIHJldHVybiBjb2xvclNjaGVtZVByZWZlcmVuY2UgPT0gQ29sb3JT
Y2hlbWVQcmVmZXJlbmNlOjpEYXJrOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIGZyYW1l
LnBhZ2UoKS0+dXNlRGFya0FwcGVhcmFuY2UoKTsKKyAgICB9KCk7CiAKICAgICBzd2l0Y2ggKGtl
eXdvcmQpIHsKICAgICBjYXNlIENTU1ZhbHVlRGFyazoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRMb2FkZXIuY3BwCmluZGV4IGZkZmQwZWFhZjNhNTAxOGQ5MDBiYTFhNmQ3YTQ4YWU1NzMy
ZjM0YzguLmRiMzcxMTZjMGExZjgwYTljOGNhMGJmOWQ5N2E2ZWQ3YTEzNGIzODEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtMTQxMSw2ICsxNDExLDExIEBA
IE1vdXNlRXZlbnRQb2xpY3kgRG9jdW1lbnRMb2FkZXI6Om1vdXNlRXZlbnRQb2xpY3koKSBjb25z
dAogICAgIHJldHVybiBtX21vdXNlRXZlbnRQb2xpY3k7CiB9CiAKK0NvbG9yU2NoZW1lUHJlZmVy
ZW5jZSBEb2N1bWVudExvYWRlcjo6Y29sb3JTY2hlbWVQcmVmZXJlbmNlKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gbV9jb2xvclNjaGVtZVByZWZlcmVuY2U7Cit9CisKIHZvaWQgRG9jdW1lbnRMb2Fk
ZXI6OmF0dGFjaFRvRnJhbWUoRnJhbWUmIGZyYW1lKQogewogICAgIGlmIChtX2ZyYW1lID09ICZm
cmFtZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5o
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKaW5kZXggNmJkMzJmYzJl
Y2Y0NmFmN2NkOTM3OWE5ZDAwYzk5MTE2ZWI3YTZiNS4uYzg0Mzg5MGQzOGEzMWZhMTZlMTc5MDk3
NGNmZWRhOTZjYmE1ZWIxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3Vt
ZW50TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgK
QEAgLTE1Miw2ICsxNTIsMTIgQEAgZW51bSBjbGFzcyBNb2RhbENvbnRhaW5lck9ic2VydmF0aW9u
UG9saWN5IDogdWludDhfdCB7CiAgICAgRGlzYWxsb3csCiB9OwogCitlbnVtIGNsYXNzIENvbG9y
U2NoZW1lUHJlZmVyZW5jZSA6IHVpbnQ4X3QgeworICAgIE5vUHJlZmVyZW5jZSwKKyAgICBMaWdo
dCwKKyAgICBEYXJrCit9OworCiBERUNMQVJFX0FMTE9DQVRPUl9XSVRIX0hFQVBfSURFTlRJRklF
UihEb2N1bWVudExvYWRlcik7CiBjbGFzcyBEb2N1bWVudExvYWRlcgogICAgIDogcHVibGljIFJl
ZkNvdW50ZWQ8RG9jdW1lbnRMb2FkZXI+CkBAIC0zNTQsNiArMzYwLDkgQEAgcHVibGljOgogICAg
IE1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kgbW9kYWxDb250YWluZXJPYnNlcnZhdGlv
blBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGlj
eTsgfQogICAgIHZvaWQgc2V0TW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeShNb2RhbENv
bnRhaW5lck9ic2VydmF0aW9uUG9saWN5IHBvbGljeSkgeyBtX21vZGFsQ29udGFpbmVyT2JzZXJ2
YXRpb25Qb2xpY3kgPSBwb2xpY3k7IH0KIAorICAgIFdFQkNPUkVfRVhQT1JUIENvbG9yU2NoZW1l
UHJlZmVyZW5jZSBjb2xvclNjaGVtZVByZWZlcmVuY2UoKSBjb25zdDsKKyAgICB2b2lkIHNldENv
bG9yU2NoZW1lUHJlZmVyZW5jZShDb2xvclNjaGVtZVByZWZlcmVuY2UgcHJlZmVyZW5jZSkgeyBt
X2NvbG9yU2NoZW1lUHJlZmVyZW5jZSA9IHByZWZlcmVuY2U7IH0KKwogICAgIHZvaWQgYWRkU3Vi
cmVzb3VyY2VMb2FkZXIoUmVzb3VyY2VMb2FkZXImKTsKICAgICB2b2lkIHJlbW92ZVN1YnJlc291
cmNlTG9hZGVyKExvYWRDb21wbGV0aW9uVHlwZSwgUmVzb3VyY2VMb2FkZXIqKTsKICAgICB2b2lk
IGFkZFBsdWdJblN0cmVhbUxvYWRlcihSZXNvdXJjZUxvYWRlciYpOwpAQCAtNjc5LDYgKzY4OCw3
IEBAIHByaXZhdGU6CiAgICAgTGVnYWN5T3ZlcmZsb3dTY3JvbGxpbmdUb3VjaFBvbGljeSBtX2xl
Z2FjeU92ZXJmbG93U2Nyb2xsaW5nVG91Y2hQb2xpY3kgeyBMZWdhY3lPdmVyZmxvd1Njcm9sbGlu
Z1RvdWNoUG9saWN5OjpEZWZhdWx0IH07CiAgICAgTW91c2VFdmVudFBvbGljeSBtX21vdXNlRXZl
bnRQb2xpY3kgeyBNb3VzZUV2ZW50UG9saWN5OjpEZWZhdWx0IH07CiAgICAgTW9kYWxDb250YWlu
ZXJPYnNlcnZhdGlvblBvbGljeSBtX21vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kgeyBN
b2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5OjpEaXNhYmxlZCB9OworICAgIENvbG9yU2No
ZW1lUHJlZmVyZW5jZSBtX2NvbG9yU2NoZW1lUHJlZmVyZW5jZSB7IENvbG9yU2NoZW1lUHJlZmVy
ZW5jZTo6Tm9QcmVmZXJlbmNlIH07CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAgICAg
c3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YT4gbV9zZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uRGF0YTsKQEAgLTgwNCw0ICs4MTQsMTMgQEAgdGVtcGxhdGU8PiBzdHJ1
Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5PiB7
CiAgICAgPjsKIH07CiAKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6Q29s
b3JTY2hlbWVQcmVmZXJlbmNlPiB7CisgICAgdXNpbmcgdmFsdWVzID0gRW51bVZhbHVlczwKKyAg
ICAgICAgV2ViQ29yZTo6Q29sb3JTY2hlbWVQcmVmZXJlbmNlLAorICAgICAgICBXZWJDb3JlOjpD
b2xvclNjaGVtZVByZWZlcmVuY2U6Ok5vUHJlZmVyZW5jZSwKKyAgICAgICAgV2ViQ29yZTo6Q29s
b3JTY2hlbWVQcmVmZXJlbmNlOjpMaWdodCwKKyAgICAgICAgV2ViQ29yZTo6Q29sb3JTY2hlbWVQ
cmVmZXJlbmNlOjpEYXJrCisgICAgPjsKK307CisKIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weSBiL1NvdXJjZS9X
ZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXggOTRjZmQ5MDBjMzA0ZTk1Njc1
MWZjMWIwMjhmZWFjM2U2NDE5MjM5NS4uMmQ1Zjg5NWUyNTQ4NzJlZWFkZmNiZmVlMDU3NWJiZDMw
Njg4N2EyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdl
cy5weQorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CkBAIC03
NTYsNiArNzU2LDcgQEAgZGVmIGhlYWRlcnNfZm9yX3R5cGUodHlwZSk6CiAgICAgICAgICdXZWJD
b3JlOjpCcm93c2luZ0NvbnRleHRHcm91cFN3aXRjaERlY2lzaW9uJzogWyc8V2ViQ29yZS9GcmFt
ZUxvYWRlclR5cGVzLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpDT0VQRGlzcG9zaXRpb24nOiBb
JzxXZWJDb3JlL0Nyb3NzT3JpZ2luRW1iZWRkZXJQb2xpY3kuaD4nXSwKICAgICAgICAgJ1dlYkNv
cmU6OkNPT1BEaXNwb3NpdGlvbic6IFsnPFdlYkNvcmUvQ3Jvc3NPcmlnaW5PcGVuZXJQb2xpY3ku
aD4nXSwKKyAgICAgICAgJ1dlYkNvcmU6OkNvbG9yU2NoZW1lUHJlZmVyZW5jZSc6IFsnPFdlYkNv
cmUvRG9jdW1lbnRMb2FkZXIuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OkNvbXBvc2l0ZU9wZXJh
dG9yJzogWyc8V2ViQ29yZS9HcmFwaGljc1R5cGVzLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpD
cmVhdGVOZXdHcm91cEZvckhpZ2hsaWdodCc6IFsnPFdlYkNvcmUvQXBwSGlnaGxpZ2h0Lmg+J10s
CiAgICAgICAgICdXZWJDb3JlOjpET01QYXN0ZUFjY2Vzc0NhdGVnb3J5JzogWyc8V2ViQ29yZS9E
T01QYXN0ZUFjY2Vzcy5oPiddLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
c2l0ZVBvbGljaWVzRGF0YS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRlUG9saWNp
ZXNEYXRhLmNwcAppbmRleCA5ZTk4M2MyODJlNTQ1Y2M0NGI1YjE4Y2FiODVjYzQ1NTRlYTA2NmIy
Li5lOWVjYWI2YjNmODVhNDI1ZDY3NGUzZWU5YmZkMjMzZjYwZDEwMmYwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRlUG9saWNpZXNEYXRhLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJzaXRlUG9saWNpZXNEYXRhLmNwcApAQCAtNTUsNiArNTUsNyBAQCB2
b2lkIFdlYnNpdGVQb2xpY2llc0RhdGE6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNv
bnN0CiAgICAgZW5jb2RlciA8PCBhbGxvd3NDb250ZW50SmF2YVNjcmlwdDsKICAgICBlbmNvZGVy
IDw8IG1vdXNlRXZlbnRQb2xpY3k7CiAgICAgZW5jb2RlciA8PCBtb2RhbENvbnRhaW5lck9ic2Vy
dmF0aW9uUG9saWN5OworICAgIGVuY29kZXIgPDwgY29sb3JTY2hlbWVQcmVmZXJlbmNlOwogICAg
IGVuY29kZXIgPDwgaWRlbXBvdGVudE1vZGVBdXRvc2l6aW5nT25seUhvbm9yc1BlcmNlbnRhZ2Vz
OwogfQogCkBAIC0xNTIsNiArMTUzLDExIEBAIHN0ZDo6b3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVz
RGF0YT4gV2Vic2l0ZVBvbGljaWVzRGF0YTo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjCiAgICAg
aWYgKCFtb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5KQogICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OwogCisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpDb2xvclNjaGVtZVByZWZl
cmVuY2U+IGNvbG9yU2NoZW1lUHJlZmVyZW5jZTsKKyAgICBkZWNvZGVyID4+IGNvbG9yU2NoZW1l
UHJlZmVyZW5jZTsKKyAgICBpZiAoIWNvbG9yU2NoZW1lUHJlZmVyZW5jZSkKKyAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKKwogICAgIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gaWRlbXBvdGVudE1v
ZGVBdXRvc2l6aW5nT25seUhvbm9yc1BlcmNlbnRhZ2VzOwogICAgIGRlY29kZXIgPj4gaWRlbXBv
dGVudE1vZGVBdXRvc2l6aW5nT25seUhvbm9yc1BlcmNlbnRhZ2VzOwogICAgIGlmICghaWRlbXBv
dGVudE1vZGVBdXRvc2l6aW5nT25seUhvbm9yc1BlcmNlbnRhZ2VzKQpAQCAtMTc4LDYgKzE4NCw3
IEBAIHN0ZDo6b3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4gV2Vic2l0ZVBvbGljaWVzRGF0
YTo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjCiAgICAgICAgIFdURk1vdmUoKmFsbG93c0NvbnRl
bnRKYXZhU2NyaXB0KSwKICAgICAgICAgV1RGTW92ZSgqbW91c2VFdmVudFBvbGljeSksCiAgICAg
ICAgIFdURk1vdmUoKm1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kpLAorICAgICAgICBX
VEZNb3ZlKCpjb2xvclNjaGVtZVByZWZlcmVuY2UpLAogICAgICAgICBXVEZNb3ZlKCppZGVtcG90
ZW50TW9kZUF1dG9zaXppbmdPbmx5SG9ub3JzUGVyY2VudGFnZXMpLAogICAgIH0gfTsKIH0KQEAg
LTMwMyw2ICszMTAsNyBAQCB2b2lkIFdlYnNpdGVQb2xpY2llc0RhdGE6OmFwcGx5VG9Eb2N1bWVu
dExvYWRlcihXZWJzaXRlUG9saWNpZXNEYXRhJiYgd2Vic2l0ZVBvbAogICAgIH0KIAogICAgIGRv
Y3VtZW50TG9hZGVyLnNldE1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kod2Vic2l0ZVBv
bGljaWVzLm1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kpOworICAgIGRvY3VtZW50TG9h
ZGVyLnNldENvbG9yU2NoZW1lUHJlZmVyZW5jZSh3ZWJzaXRlUG9saWNpZXMuY29sb3JTY2hlbWVQ
cmVmZXJlbmNlKTsKICAgICBkb2N1bWVudExvYWRlci5zZXRBbGxvd0NvbnRlbnRDaGFuZ2VPYnNl
cnZlclF1aXJrKHdlYnNpdGVQb2xpY2llcy5hbGxvd0NvbnRlbnRDaGFuZ2VPYnNlcnZlclF1aXJr
KTsKICAgICBkb2N1bWVudExvYWRlci5zZXRJZGVtcG90ZW50TW9kZUF1dG9zaXppbmdPbmx5SG9u
b3JzUGVyY2VudGFnZXMod2Vic2l0ZVBvbGljaWVzLmlkZW1wb3RlbnRNb2RlQXV0b3NpemluZ09u
bHlIb25vcnNQZXJjZW50YWdlcyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYnNpdGVQb2xpY2llc0RhdGEuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xp
Y2llc0RhdGEuaAppbmRleCAzYzMyMTY5YjI0ZmEwNDViZWUyZjJlOTU3YmM5Y2IxZWExMDgwZmY3
Li43YTBlZDM3NWFhNzk1MDk5MmVlNzczMjRkMDI5OTk5MDJlMWJiZmMxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRlUG9saWNpZXNEYXRhLmgKKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5oCkBAIC03Miw2ICs3Miw3IEBAIHN0cnVj
dCBXZWJzaXRlUG9saWNpZXNEYXRhIHsKICAgICBXZWJDb3JlOjpBbGxvd3NDb250ZW50SmF2YVNj
cmlwdCBhbGxvd3NDb250ZW50SmF2YVNjcmlwdCB7IFdlYkNvcmU6OkFsbG93c0NvbnRlbnRKYXZh
U2NyaXB0OjpZZXMgfTsKICAgICBXZWJDb3JlOjpNb3VzZUV2ZW50UG9saWN5IG1vdXNlRXZlbnRQ
b2xpY3kgeyBXZWJDb3JlOjpNb3VzZUV2ZW50UG9saWN5OjpEZWZhdWx0IH07CiAgICAgV2ViQ29y
ZTo6TW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeSBtb2RhbENvbnRhaW5lck9ic2VydmF0
aW9uUG9saWN5IHsgV2ViQ29yZTo6TW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeTo6RGlz
YWJsZWQgfTsKKyAgICBXZWJDb3JlOjpDb2xvclNjaGVtZVByZWZlcmVuY2UgY29sb3JTY2hlbWVQ
cmVmZXJlbmNlIHsgV2ViQ29yZTo6Q29sb3JTY2hlbWVQcmVmZXJlbmNlOjpOb1ByZWZlcmVuY2Ug
fTsKICAgICBib29sIGlkZW1wb3RlbnRNb2RlQXV0b3NpemluZ09ubHlIb25vcnNQZXJjZW50YWdl
cyB7IGZhbHNlIH07CiAKICAgICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImKSBjb25zdDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMu
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5jcHAK
aW5kZXggMDY3MGRmMmUwNzVkNzYzODQ3ODBmMDNlNDAxZTIzYjZlNjQzMWU1Zi4uNjE5MDJiZjRk
ZmJkN2M1M2U1OTVmMTc2ZDBiOTJmMmVkODIyMzIyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5jcHAKQEAgLTc3LDYgKzc3LDcgQEAg
UmVmPFdlYnNpdGVQb2xpY2llcz4gV2Vic2l0ZVBvbGljaWVzOjpjb3B5KCkgY29uc3QKICAgICBw
b2xpY2llcy0+c2V0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkKG1fY2FwdGl2ZVBvcnRhbE1vZGVF
bmFibGVkKTsKICAgICBwb2xpY2llcy0+c2V0TW91c2VFdmVudFBvbGljeShtX21vdXNlRXZlbnRQ
b2xpY3kpOwogICAgIHBvbGljaWVzLT5zZXRNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5
KG1fbW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeSk7CisgICAgcG9saWNpZXMtPnNldFVz
ZXJFeHBsaWNpdGx5UHJlZmVyc0NvbG9yU2NoZW1lKG1fdXNlckV4cGxpY2l0bHlQcmVmZXJzQ29s
b3JTY2hlbWUpOwogICAgIHJldHVybiBwb2xpY2llczsKIH0KIApAQCAtMTIzLDYgKzEyNCw3IEBA
IFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0YSBXZWJzaXRlUG9saWNpZXM6OmRhdGEoKQogICAg
ICAgICBtX2FsbG93c0NvbnRlbnRKYXZhU2NyaXB0LAogICAgICAgICBtX21vdXNlRXZlbnRQb2xp
Y3ksCiAgICAgICAgIG1fbW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeSwKKyAgICAgICAg
bV91c2VyRXhwbGljaXRseVByZWZlcnNDb2xvclNjaGVtZSwKICAgICAgICAgbV9pZGVtcG90ZW50
TW9kZUF1dG9zaXppbmdPbmx5SG9ub3JzUGVyY2VudGFnZXMKICAgICB9OwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5oCmluZGV4IDQxZmRk
MmY0YzNjZGY0ZTMzZjE4OTY3YmQwZWVjMDQ1NzZhZmE3ODMuLjUyZDcxYjdmN2IwODlhNmY1OTAz
YjYxOGQzZGI3YWY2YmNkOTgwNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQVBJV2Vic2l0ZVBvbGljaWVzLmgKQEAgLTEzMiw2ICsxMzIsOSBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRDYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWQoc3RkOjpvcHRpb25hbDxib29sPiBjYXB0
aXZlUG9ydGFsTW9kZUVuYWJsZWQpIHsgbV9jYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWQgPSBjYXB0
aXZlUG9ydGFsTW9kZUVuYWJsZWQ7IH0KICAgICBib29sIGlzQ2FwdGl2ZVBvcnRhbE1vZGVFeHBs
aWNpdGx5U2V0KCkgY29uc3QgeyByZXR1cm4gISFtX2NhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZDsg
fQogCisgICAgV2ViQ29yZTo6Q29sb3JTY2hlbWVQcmVmZXJlbmNlIHVzZXJFeHBsaWNpdGx5UHJl
ZmVyc0NvbG9yU2NoZW1lKCkgY29uc3QgeyByZXR1cm4gbV91c2VyRXhwbGljaXRseVByZWZlcnND
b2xvclNjaGVtZTsgfQorICAgIHZvaWQgc2V0VXNlckV4cGxpY2l0bHlQcmVmZXJzQ29sb3JTY2hl
bWUoV2ViQ29yZTo6Q29sb3JTY2hlbWVQcmVmZXJlbmNlIHByZWZlcnNDb2xvclNjaGVtZSkgeyBt
X3VzZXJFeHBsaWNpdGx5UHJlZmVyc0NvbG9yU2NoZW1lID0gcHJlZmVyc0NvbG9yU2NoZW1lOyB9
CisKICAgICBXZWJDb3JlOjpNb3VzZUV2ZW50UG9saWN5IG1vdXNlRXZlbnRQb2xpY3koKSBjb25z
dCB7IHJldHVybiBtX21vdXNlRXZlbnRQb2xpY3k7IH0KICAgICB2b2lkIHNldE1vdXNlRXZlbnRQ
b2xpY3koV2ViQ29yZTo6TW91c2VFdmVudFBvbGljeSBwb2xpY3kpIHsgbV9tb3VzZUV2ZW50UG9s
aWN5ID0gcG9saWN5OyB9CiAKQEAgLTE3MSw2ICsxNzQsNyBAQCBwcml2YXRlOgogICAgIFdlYkNv
cmU6Ok1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kgbV9tb2RhbENvbnRhaW5lck9ic2Vy
dmF0aW9uUG9saWN5IHsgV2ViQ29yZTo6TW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeTo6
RGlzYWJsZWQgfTsKICAgICBib29sIG1faWRlbXBvdGVudE1vZGVBdXRvc2l6aW5nT25seUhvbm9y
c1BlcmNlbnRhZ2VzIHsgZmFsc2UgfTsKICAgICBzdGQ6Om9wdGlvbmFsPGJvb2w+IG1fY2FwdGl2
ZVBvcnRhbE1vZGVFbmFibGVkOworICAgIFdlYkNvcmU6OkNvbG9yU2NoZW1lUHJlZmVyZW5jZSBt
X3VzZXJFeHBsaWNpdGx5UHJlZmVyc0NvbG9yU2NoZW1lIHsgV2ViQ29yZTo6Q29sb3JTY2hlbWVQ
cmVmZXJlbmNlOjpOb1ByZWZlcmVuY2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFQSQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2VicGFnZVByZWZl
cmVuY2VzLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2VicGFnZVBy
ZWZlcmVuY2VzLm1tCmluZGV4IDAyMmRjNTA4OWFiMWFjYWEwMjgyYjAyYmNlYmFmODllN2ZmNzhj
Y2QuLmI0NzNhODFiY2FhMzlkZTI3Yzc2YjcyOWNjMjVkMWZiZDMzM2Q5YjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnBhZ2VQcmVmZXJlbmNlcy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJwYWdlUHJlZmVy
ZW5jZXMubW0KQEAgLTUwMSw2ICs1MDEsMzMgQEAgc3RhdGljIF9XS1dlYnNpdGVEZXZpY2VPcmll
bnRhdGlvbkFuZE1vdGlvbkFjY2Vzc1BvbGljeSB0b1dLV2Vic2l0ZURldmljZU9yaWVudGEKICAg
ICByZXR1cm4gX3dlYnNpdGVQb2xpY2llcy0+Y2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkKCk7CiB9
CiAKKy0gKF9XS1dlYnNpdGVVc2VyRXhwbGljaXRseVByZWZlcnNDb2xvclNjaGVtZSlfdXNlckV4
cGxpY2l0bHlQcmVmZXJzQ29sb3JTY2hlbWUKK3sKKyAgICBzd2l0Y2ggKF93ZWJzaXRlUG9saWNp
ZXMtPnVzZXJFeHBsaWNpdGx5UHJlZmVyc0NvbG9yU2NoZW1lKCkpIHsKKyAgICBjYXNlIFdlYkNv
cmU6OkNvbG9yU2NoZW1lUHJlZmVyZW5jZTo6Tm9QcmVmZXJlbmNlOgorICAgICAgICByZXR1cm4g
X1dLV2Vic2l0ZVVzZXJFeHBsaWNpdGx5UHJlZmVyc0NvbG9yU2NoZW1lTm9QcmVmZXJlbmNlOwor
ICAgIGNhc2UgV2ViQ29yZTo6Q29sb3JTY2hlbWVQcmVmZXJlbmNlOjpMaWdodDoKKyAgICAgICAg
cmV0dXJuIF9XS1dlYnNpdGVVc2VyRXhwbGljaXRseVByZWZlcnNDb2xvclNjaGVtZUxpZ2h0Owor
ICAgIGNhc2UgV2ViQ29yZTo6Q29sb3JTY2hlbWVQcmVmZXJlbmNlOjpEYXJrOgorICAgICAgICBy
ZXR1cm4gX1dLV2Vic2l0ZVVzZXJFeHBsaWNpdGx5UHJlZmVyc0NvbG9yU2NoZW1lRGFyazsKKyAg
ICB9Cit9CisKKy0gKHZvaWQpX3NldFVzZXJFeHBsaWNpdGx5UHJlZmVyc0NvbG9yU2NoZW1lOihf
V0tXZWJzaXRlVXNlckV4cGxpY2l0bHlQcmVmZXJzQ29sb3JTY2hlbWUpdmFsdWUKK3sKKyAgICBz
d2l0Y2ggKHZhbHVlKSB7CisgICAgY2FzZSBfV0tXZWJzaXRlVXNlckV4cGxpY2l0bHlQcmVmZXJz
Q29sb3JTY2hlbWVOb1ByZWZlcmVuY2U6CisgICAgICAgIF93ZWJzaXRlUG9saWNpZXMtPnNldFVz
ZXJFeHBsaWNpdGx5UHJlZmVyc0NvbG9yU2NoZW1lKFdlYkNvcmU6OkNvbG9yU2NoZW1lUHJlZmVy
ZW5jZTo6Tm9QcmVmZXJlbmNlKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBfV0tXZWJzaXRl
VXNlckV4cGxpY2l0bHlQcmVmZXJzQ29sb3JTY2hlbWVMaWdodDoKKyAgICAgICAgX3dlYnNpdGVQ
b2xpY2llcy0+c2V0VXNlckV4cGxpY2l0bHlQcmVmZXJzQ29sb3JTY2hlbWUoV2ViQ29yZTo6Q29s
b3JTY2hlbWVQcmVmZXJlbmNlOjpMaWdodCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgX1dL
V2Vic2l0ZVVzZXJFeHBsaWNpdGx5UHJlZmVyc0NvbG9yU2NoZW1lRGFyazoKKyAgICAgICAgX3dl
YnNpdGVQb2xpY2llcy0+c2V0VXNlckV4cGxpY2l0bHlQcmVmZXJzQ29sb3JTY2hlbWUoV2ViQ29y
ZTo6Q29sb3JTY2hlbWVQcmVmZXJlbmNlOjpEYXJrKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQor
fQorCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAogLSAodm9pZClzZXRQcmVmZXJyZWRDb250
ZW50TW9kZTooV0tDb250ZW50TW9kZSljb250ZW50TW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2VicGFnZVByZWZlcmVuY2VzUHJpdmF0ZS5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2VicGFnZVByZWZlcmVuY2VzUHJp
dmF0ZS5oCmluZGV4IGYyMWFhNmViNjQzN2FjNWQyNDM1M2M4ZWQ1Yzk5NzYxYzM2ZTY0ZjEuLjQy
ZGNiMzFlNTZmZjg1YTRlYTA5MDFmMmU5MzBkNzZmNWQ3Y2JkYzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnBhZ2VQcmVmZXJlbmNlc1ByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJwYWdlUHJlZmVy
ZW5jZXNQcml2YXRlLmgKQEAgLTY5LDYgKzY5LDEyIEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJ
bnRlZ2VyLCBfV0tXZWJzaXRlTW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeSkgewogICAg
IF9XS1dlYnNpdGVNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5RGlzYWxsb3csCiB9IFdL
X0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiAKK3R5
cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tXZWJzaXRlVXNlckV4cGxpY2l0bHlQcmVm
ZXJzQ29sb3JTY2hlbWUpIHsKKyAgICBfV0tXZWJzaXRlVXNlckV4cGxpY2l0bHlQcmVmZXJzQ29s
b3JTY2hlbWVOb1ByZWZlcmVuY2UsCisgICAgX1dLV2Vic2l0ZVVzZXJFeHBsaWNpdGx5UHJlZmVy
c0NvbG9yU2NoZW1lTGlnaHQsCisgICAgX1dLV2Vic2l0ZVVzZXJFeHBsaWNpdGx5UHJlZmVyc0Nv
bG9yU2NoZW1lRGFyaywKK30gV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9z
KFdLX0lPU19UQkEpKTsKKwogQGNsYXNzIF9XS0N1c3RvbUhlYWRlckZpZWxkczsKIEBjbGFzcyBX
S1VzZXJDb250ZW50Q29udHJvbGxlcjsKIEBjbGFzcyBXS1dlYnNpdGVEYXRhU3RvcmU7CkBAIC05
Niw0ICsxMDIsNiBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLV2Vic2l0ZU1v
ZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kpIHsKIAogQHByb3BlcnR5IChub25hdG9taWMs
IHNldHRlcj1fc2V0Q2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkOikgQk9PTCBfY2FwdGl2ZVBvcnRh
bE1vZGVFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19J
T1NfVEJBKSk7CiAKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFVzZXJFeHBsaWNp
dGx5UHJlZmVyc0NvbG9yU2NoZW1lOikgX1dLV2Vic2l0ZVVzZXJFeHBsaWNpdGx5UHJlZmVyc0Nv
bG9yU2NoZW1lIF91c2VyRXhwbGljaXRseVByZWZlcnNDb2xvclNjaGVtZTsKKwogQGVuZApkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDc0YzU2NDNj
ZDg5OWNhMGFhNmI1ZTIxYTdlZjU2ZWVkNjMxOTYyMWUuLjRkZGFkOWI5Yzk3NDc1Njc4NTE4NGIz
MzVlZTIwNzcxNmFiZTQ2MTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMS0xMi0xMSAgRGVhbiBKYWNrc29uICA8
ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgb3ZlcnJpZGUgb2Ygc3lzdGVtJ3MgcHJl
ZmVycmVkIGNvbG9yIHNjaGVtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjM0MTk5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NjM2NjA0ND4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgQVBJIHRl
c3QgdGhhdCBjaGVja3MgdGhlIGNvbG9yLXNjaGVtZSBhZnRlcgorICAgICAgICBleHBsaWNpdGx5
IHNldHRpbmcgaXQuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdC9jb2xvci1zY2hlbWUuaHRtbDogQWRkZWQuIE5vdGU6IFhjb2RlIHdhcworICAgICAgICBi
ZWluZyBkaWZmaWN1bHQgYW5kIHdvdWxkbid0IGxldCBtZSBwdXQgdGhpcyBmaWxlIGluIHRoZSBy
aWdodCBvcmRlcgorICAgICAgICBmb3IgdGhlIENvcHkgQnVpbGQgUGhhc2UgOigKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dlYnNpdGVQb2xpY2llcy5tbToKKwog
MjAyMS0xMi0xMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAg
U3RhcnQgd2Vic29ja2V0IHNlcnZlciBmb3IgdGVzdHMgaW4gaHR0cC90ZXN0cyB0aGF0IGhhdmUg
d2Vic29ja2V0IGluIHRoZWlyIG5hbWUKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggN2Y2OTE1
NTNlM2U0MzNkMjI1ZjMzNDNhNjE3ZjUwZDQ2OWVmODI4NS4uMmZmZWI0ZDBmZTM0YjliYjk2ODQw
YjM3NmNiMTkxNzFiYjMyMDE2ZiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE3Niw2ICsx
NzYsNyBAQAogCQkzMTI4QTgxMzIzNzYzRkFDMDBEOTBENDAgLyogbGluay13aXRoLWltYWdlLmh0
bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MzEyOEE4MTIyMzc2M0YwQjAwRDkwRDQwIC8qIGxpbmstd2l0aC1pbWFnZS5odG1sICovOyB9Owog
CQkzMTI4QTgxNTIzNzY0MTMzMDBEOTBENDAgLyogaW1hZ2UuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTI4QTgxNDIzNzY0MEZEMDBE
OTBENDAgLyogaW1hZ2UuaHRtbCAqLzsgfTsKIAkJMzEzQzNBMDIyMUU1NjdDMzAwREJBODZFIC8q
IFN5c3RlbVByZXZpZXdCbG9iTmFtaW5nLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEzQzNBMDEyMUU1Njc3QTAwREJBODZFIC8qIFN5
c3RlbVByZXZpZXdCbG9iTmFtaW5nLmh0bWwgKi87IH07CisJCTMxOTAzQzkxMjc2NTA3NzQwMDM2
MzQ3MiAvKiBjb2xvci1zY2hlbWUuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTkwM0M5MDI3NjRGRTE0MDAzNjM0NzIgLyogY29sb3It
c2NoZW1lLmh0bWwgKi87IH07CiAJCTMxQjc2RTQ1MjMyOTlCREMwMDdGRUQyQyAvKiBzeXN0ZW0t
cHJldmlldy10cmlnZ2VyLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzFCNzZFNDQyMzI5OUJBMzAwN0ZFRDJDIC8qIHN5c3RlbS1wcmV2
aWV3LXRyaWdnZXIuaHRtbCAqLzsgfTsKIAkJMzFFOUJEQTEyNDdGNEM2MjAwMkU1MUEyIC8qIFdl
YkdMUHJlcGFyZURpc3BsYXlPbldlYlRocmVhZC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRTlCREEwMjQ3RjRDNjIwMDJFNTFBMiAvKiBXZWJHTFBy
ZXBhcmVEaXNwbGF5T25XZWJUaHJlYWQubW0gKi87IH07CiAJCTMxRTlCREEzMjQ3RjU3MjkwMDJF
NTFBMiAvKiB3ZWJnbC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDMxRTlCREEyMjQ3RjRERDAwMDJFNTFBMiAvKiB3ZWJnbC5odG1sICov
OyB9OwpAQCAtMTI1Nyw2ICsxMjU4LDcgQEAKIAkJCQk5QjkzMzJDRTIzMjBDNzQ1MDAyRDUwRTgg
LyogY29jb2Etd3JpdGVyLW1hcmt1cC13aXRoLWxpc3RzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMg
Ki8sCiAJCQkJOUJBRTE3N0IyMkUyQkJGQjAwREYzMDk4IC8qIGNvY29hLXdyaXRlci1tYXJrdXAt
d2l0aC1zeXN0ZW0tZm9udHMuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlFNTAzNkY3
ODIxMUJDMjU0MDBCRkRCRTIgLyogY29sb3ItZHJvcC5odG1sIGluIENvcHkgUmVzb3VyY2VzICov
LAorCQkJCTMxOTAzQzkxMjc2NTA3NzQwMDM2MzQ3MiAvKiBjb2xvci1zY2hlbWUuaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLywKIAkJCQkwRjE2QkVEODIzMDRBMUYzMDBCNEExNjcgLyogY29tcG9z
aXRlZC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovLAogCQkJCUY0QjgyNUQ4MUVGNERCRkIwMDZF
NDE3RiAvKiBjb21wcmVzc2VkLWZpbGVzLnppcCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQk1
QzlFNTY4NzFERjkxNEFFMDBDOUVFMzMgLyogY29udGVudEJsb2NrZXJDaGVjay5odG1sIGluIENv
cHkgUmVzb3VyY2VzICovLApAQCAtMTg1MCw2ICsxODUyLDcgQEAKIAkJMzEyOEE4MTIyMzc2M0Yw
QjAwRDkwRDQwIC8qIGxpbmstd2l0aC1pbWFnZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImxpbmstd2l0aC1p
bWFnZS5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzEyOEE4MTQyMzc2NDBG
RDAwRDkwRDQwIC8qIGltYWdlLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBpbWFnZS5odG1sOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkzMTNDM0EwMTIxRTU2NzdBMDBEQkE4NkUgLyogU3lzdGVtUHJl
dmlld0Jsb2JOYW1pbmcuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9IFN5c3RlbVBy
ZXZpZXdCbG9iTmFtaW5nLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxOTAz
QzkwMjc2NEZFMTQwMDM2MzQ3MiAvKiBjb2xvci1zY2hlbWUuaHRtbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQu
aHRtbDsgcGF0aCA9ICJjb2xvci1zY2hlbWUuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTMxQjc2RTQyMjMyOThFMkIwMDdGRUQyQyAvKiBTeXN0ZW1QcmV2aWV3Lm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3lzdGVtUHJldmlldy5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFCNzZFNDQyMzI5OUJBMzAwN0ZFRDJDIC8qIHN5
c3RlbS1wcmV2aWV3LXRyaWdnZXIuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJzeXN0ZW0tcHJldmlldy10cmln
Z2VyLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUU5QkRBMDI0N0Y0QzYy
MDAyRTUxQTIgLyogV2ViR0xQcmVwYXJlRGlzcGxheU9uV2ViVGhyZWFkLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gV2ViR0xQcmVwYXJlRGlzcGxheU9uV2ViVGhyZWFkLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtNDU5OSw2ICs0NjAyLDcgQEAKIAkJCQk5QkQ0MjM5QjFFMDRC
RkQwMDAyMDAzOTUgLyogY2hpbmVzZS1jaGFyYWN0ZXItd2l0aC1pbWFnZS5odG1sICovLAogCQkJ
CTFBNTBBQTFGMUEyQTRFQTUwMEY0QzM0NSAvKiBjbG9zZS1mcm9tLXdpdGhpbi1jcmVhdGUtcGFn
ZS5odG1sICovLAogCQkJCTlCMjcwRkVEMUREQzI1RkQwMDJENTNGMyAvKiBjbG9zZWQtc2hhZG93
LXRyZWUtdGVzdC5odG1sICovLAorCQkJCTMxOTAzQzkwMjc2NEZFMTQwMDM2MzQ3MiAvKiBjb2xv
ci1zY2hlbWUuaHRtbCAqLywKIAkJCQk1QzlFNTY4NjFERjkxNDhFMDBDOUVFMzMgLyogY29udGVu
dEJsb2NrZXJDaGVjay5odG1sICovLAogCQkJCUY0MDM0RkEyMjc1RDU0NDkwMDNBODFGOCAvKiBj
b29raWUtY29uc2VudC1iYXNpYy5odG1sICovLAogCQkJCTJEREQ0REEzMjcwQjhCMzMwMDY1OUE2
MSAvKiBjdWJlLnVzZHogKi8sCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9jb2xvci1zY2hlbWUuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0L2NvbG9yLXNjaGVtZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY0YjJjYjBhZDJlMzAzZGVlZDJlM2Q3
YWJiMzMxZWY4NThjNmJkNTAKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdC9jb2xvci1zY2hlbWUuaHRtbApAQCAtMCwwICsxLDIwIEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3RDb2xvclNjaGVtZSgpIHsKKyAgICBpZiAo
d2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogbGlnaHQpIikpIHsKKyAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2FnZUhhbmRsZXJzLnRl
c3RIYW5kbGVyLnBvc3RNZXNzYWdlKCJsaWdodC1kZXRlY3RlZCIpOworICAgICAgICB9IGNhdGNo
KGUpIHsgfQorICAgIH0KKyAgICBpZiAod2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9y
LXNjaGVtZTogZGFyaykiKSkgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgd2luZG93Lndl
YmtpdC5tZXNzYWdlSGFuZGxlcnMudGVzdEhhbmRsZXIucG9zdE1lc3NhZ2UoImRhcmstZGV0ZWN0
ZWQiKTsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IG9ubG9hZD0idGVzdENvbG9yU2NoZW1lKCkiPgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRl
UG9saWNpZXMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dlYnNp
dGVQb2xpY2llcy5tbQppbmRleCBiOTBkOGNjYjdlZjUzYTUzNWUxOWQ1YzAyYTkzZDYwYzZmOTE1
Zjc1Li4zMmY4ZmE4NDQwNmM4NGY5ZTg5YmNmM2VmMmIzYjA3N2EyODFjZjhmIDEwMDY0NAotLS0g
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dlYnNpdGVQb2xpY2llcy5t
bQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dlYnNpdGVQb2xp
Y2llcy5tbQpAQCAtMTc4NywzICsxNzg3LDI3IEBAIFRFU1QoV2VicGFnZVByZWZlcmVuY2VzLCBX
ZWJzaXRlUG9saWNpZXNVc2VyQ29udGVudENvbnRyb2xsZXIpCiAgICAgW3JlcGxhY2VtZW50VXNl
ckNvbnRlbnRDb250cm9sbGVyIF9hZGRVc2VyU2NyaXB0SW1tZWRpYXRlbHk6bWFrZVNjcmlwdChA
ImFsZXJ0KCd0ZXN0QWxlcnQzJyk7IikuZ2V0KCldOwogICAgIEVYUEVDVF9XS19TVFJFUShbdWlE
ZWxlZ2F0ZSB3YWl0Rm9yQWxlcnRdLCAidGVzdEFsZXJ0MyIpOwogfQorCitURVNUKFdlYnBhZ2VQ
cmVmZXJlbmNlcywgVXNlckV4cGxpY2l0bHlQcmVmZXJzQ29sb3JTY2hlbWVMaWdodCkKK3sKKyAg
ICBhdXRvIGNvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBh
bGxvY10gaW5pdF0pOworCisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5kZWZhdWx0V2VicGFnZVBy
ZWZlcmVuY2VzLl91c2VyRXhwbGljaXRseVByZWZlcnNDb2xvclNjaGVtZSA9IF9XS1dlYnNpdGVV
c2VyRXhwbGljaXRseVByZWZlcnNDb2xvclNjaGVtZURhcms7CisKKyAgICBhdXRvIHdlYlZpZXcg
PSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0
KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKwor
ICAgIFt3ZWJWaWV3IGxvYWRUZXN0UGFnZU5hbWVkOkAiY29sb3Itc2NoZW1lIl07CisgICAgW3dl
YlZpZXcgd2FpdEZvck1lc3NhZ2U6QCJsaWdodC1kZXRlY3RlZCJdOworfQorCitURVNUKFdlYnBh
Z2VQcmVmZXJlbmNlcywgVXNlckV4cGxpY2l0bHlQcmVmZXJzQ29sb3JTY2hlbWVEYXJrKQorewor
ICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9u
IGFsbG9jXSBpbml0XSk7CisKKyAgICBjb25maWd1cmF0aW9uLmdldCgpLmRlZmF1bHRXZWJwYWdl
UHJlZmVyZW5jZXMuX3VzZXJFeHBsaWNpdGx5UHJlZmVyc0NvbG9yU2NoZW1lID0gX1dLV2Vic2l0
ZVVzZXJFeHBsaWNpdGx5UHJlZmVyc0NvbG9yU2NoZW1lRGFyazsKKworICAgIGF1dG8gd2ViVmll
dyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJl
Y3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOwor
CisgICAgW3dlYlZpZXcgbG9hZFRlc3RQYWdlTmFtZWQ6QCJjb2xvci1zY2hlbWUiXTsKKyAgICBb
d2ViVmlldyB3YWl0Rm9yTWVzc2FnZTpAImRhcmstZGV0ZWN0ZWQiXTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>447056</attachid>
            <date>2021-12-13 13:44:42 -0800</date>
            <delta_ts>2021-12-13 17:14:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234199-20211214084441.patch</filename>
            <type>text/plain</type>
            <size>23449</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2OTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjNjZTNiMWUxYWNkZjhm
ZDZiMGIyN2M2YzkzZjExNGQ3NmU2OWI2OS4uNWM4MWFiMDdkZTgzYTc1ODExMzFkODAxMTU3MzZl
NWExMDBiY2QyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTEyLTExICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBvdmVycmlkZSBvZiBz
eXN0ZW0ncyBwcmVmZXJyZWQgY29sb3Igc2NoZW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQxOTkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg2
MzY2MDQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFVzZSBhIHVzZXItc3BlY2lmaWVkIHByZWZlcmVuY2UgZm9yIGNvbG9yLXNjaGVtZSBiZWZvcmUg
cmVhZGluZworICAgICAgICB0aGUgc3lzdGVtIHZhbHVlLgorCisgICAgICAgICogY3NzL01lZGlh
UXVlcnlFdmFsdWF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cHJlZmVyc0NvbG9yU2NoZW1l
RXZhbHVhdGUpOiBJZiB0aGUgZG9jdW1lbnQgbG9hZGVyIHdhcyBnaXZlbgorICAgICAgICBhIHBy
ZWZlcmVuY2UsIHVzZSB0aGF0IHdoZW4gZXZhbHVhdGluZyB0aGUgbWVkaWEgcXVlcnkuCisgICAg
ICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDogTmV3IHByb3BlcnR5IC0gY29sb3JTY2hl
bWVQcmVmZXJlbmNlLgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmNvbG9yU2No
ZW1lUHJlZmVyZW5jZSBjb25zdCk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmg6
CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6c2V0Q29sb3JTY2hlbWVQcmVmZXJl
bmNlKToKKwogMjAyMS0xMi0xMyAgVGltIE5ndXllbiAgPG50aW1AYXBwbGUuY29tPgogCiAgICAg
ICAgIEZpeCBwYWludCBvcmRlciBvZiBDU1MgdGV4dCBkZWNvcmF0aW9ucwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAx
MTE3NzUwNzFlMjQ4OTQ1ODZkNzJjNDM0OGFlYWI4YTcxNTQ3ZTc0Li45NTQxNGVkMjcwMzAyNTcy
ZDUyNzg4N2Y2ZjdkNjRiMzk4YmFlZTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIx
LTEyLTExICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBv
dmVycmlkZSBvZiBzeXN0ZW0ncyBwcmVmZXJyZWQgY29sb3Igc2NoZW1lCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQxOTkKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzg2MzY2MDQ0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEV4cG9zZSBuZXcgUHJpdmF0ZSBBUEkgdGhhdCBhbGxvd3MgdGhlIHVzZXIg
dG8gZ2l2ZSBhbiBleHBsaWNpdCBwZXItcGFnZSBwcmVmZXJlbmNlCisgICAgICAgIGZvciBsaWdo
dCBvciBkYXJrIGNvbG9yIHNjaGVtZXMgcmF0aGVyIHRoYW4gcmVhZGluZyB0aGUgc3lzdGVtIHZh
bHVlLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHk6CisgICAgICAgICho
ZWFkZXJzX2Zvcl90eXBlKTogQWRkIGhlYWRlciBmb3IgRG9jdW1lbnRMb2FkZXIuCisKKyAgICAg
ICAgKiBTaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5jcHA6IEVuY29kZSB0aGUgbmV3IHZhbHVl
IGluIHRoZSBwb2xpY2llcyBzZW50CisgICAgICAgIHRvIHRoZSBXZWIgUHJvY2Vzcy4KKyAgICAg
ICAgKFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAg
KFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktpdDo6
V2Vic2l0ZVBvbGljaWVzRGF0YTo6YXBwbHlUb0RvY3VtZW50TG9hZGVyKToKKyAgICAgICAgKiBT
aGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5oOgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9B
UElXZWJzaXRlUG9saWNpZXMuY3BwOiBFeHBvc2UgYSBuZXcgcG9saWN5ICJjb2xvclNjaGVtZVBy
ZWZlcmVuY2UiLgorICAgICAgICAoQVBJOjpXZWJzaXRlUG9saWNpZXM6OmNvcHkgY29uc3QpOgor
ICAgICAgICAoQVBJOjpXZWJzaXRlUG9saWNpZXM6OmRhdGEpOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmg6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2VicGFnZVByZWZlcmVuY2VzLm1tOiBFeHBvc2UgYSBuZXcgcHJpdmF0ZSBBUEkgIl9j
b2xvclNjaGVtZVByZWZlcmVuY2UiLgorICAgICAgICAoLVtXS1dlYnBhZ2VQcmVmZXJlbmNlcyBf
Y29sb3JTY2hlbWVQcmVmZXJlbmNlXSk6CisgICAgICAgICgtW1dLV2VicGFnZVByZWZlcmVuY2Vz
IF9zZXRDb2xvclNjaGVtZVByZWZlcmVuY2U6XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYnBhZ2VQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKwogMjAyMS0xMi0xMyAgSm9vbmdo
dW4gUGFyayAgPGpoNzE4LnBhcmtAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4g
Rml4IGJ1aWxkIGVycm9yIHNpbmNlIHIyODY5NDYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFR
dWVyeUV2YWx1YXRvci5jcHAKaW5kZXggOWMwMDg4Njk1OGQ1YWUzMmVkZDVmNzZmNzY4NDNkMGJk
ZmFmZmU3MC4uYTc5NDVlNmQyOWI2NmE2YzFmZjg2M2RiOTNkZTk4ZTMxYzRmZmM5MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcApAQCAtMzUsNiArMzUsNyBA
QAogI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIKICNp
bmNsdWRlICJDaHJvbWVDbGllbnQuaCIKKyNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2lu
Y2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiTG9nZ2lu
Zy5oIgpAQCAtODA3LDcgKzgwOCwxNSBAQCBzdGF0aWMgYm9vbCBwcmVmZXJzQ29sb3JTY2hlbWVF
dmFsdWF0ZShDU1NWYWx1ZSogdmFsdWUsIGNvbnN0IENTU1RvTGVuZ3RoQ29udmVycwogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKICAgICBhdXRvIGtleXdvcmQgPSBkb3duY2FzdDxDU1NQcmltaXRp
dmVWYWx1ZT4oKnZhbHVlKS52YWx1ZUlEKCk7Ci0gICAgYm9vbCB1c2VEYXJrQXBwZWFyYW5jZSA9
IGZyYW1lLnBhZ2UoKS0+dXNlRGFya0FwcGVhcmFuY2UoKTsKKyAgICBib29sIHVzZURhcmtBcHBl
YXJhbmNlID0gWyZdICgpIC0+IGF1dG8geworICAgICAgICBpZiAoZnJhbWUuZG9jdW1lbnQoKS0+
bG9hZGVyKCkpIHsKKyAgICAgICAgICAgIGF1dG8gY29sb3JTY2hlbWVQcmVmZXJlbmNlID0gZnJh
bWUuZG9jdW1lbnQoKS0+bG9hZGVyKCktPmNvbG9yU2NoZW1lUHJlZmVyZW5jZSgpOworICAgICAg
ICAgICAgaWYgKGNvbG9yU2NoZW1lUHJlZmVyZW5jZSAhPSBDb2xvclNjaGVtZVByZWZlcmVuY2U6
Ok5vUHJlZmVyZW5jZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gY29sb3JTY2hlbWVQcmVmZXJl
bmNlID09IENvbG9yU2NoZW1lUHJlZmVyZW5jZTo6RGFyazsKKyAgICAgICAgfQorCisgICAgICAg
IHJldHVybiBmcmFtZS5wYWdlKCktPnVzZURhcmtBcHBlYXJhbmNlKCk7CisgICAgfSgpOwogCiAg
ICAgc3dpdGNoIChrZXl3b3JkKSB7CiAgICAgY2FzZSBDU1NWYWx1ZURhcms6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCBmZGZkMGVhYWYzYTUwMThkOTAwYmEx
YTZkN2E0OGFlNTczMmYzNGM4Li5kYjM3MTE2YzBhMWY4MGE5YzhjYTBiZjlkOTdhNmVkN2ExMzRi
MzgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAgLTE0MTEs
NiArMTQxMSwxMSBAQCBNb3VzZUV2ZW50UG9saWN5IERvY3VtZW50TG9hZGVyOjptb3VzZUV2ZW50
UG9saWN5KCkgY29uc3QKICAgICByZXR1cm4gbV9tb3VzZUV2ZW50UG9saWN5OwogfQogCitDb2xv
clNjaGVtZVByZWZlcmVuY2UgRG9jdW1lbnRMb2FkZXI6OmNvbG9yU2NoZW1lUHJlZmVyZW5jZSgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIG1fY29sb3JTY2hlbWVQcmVmZXJlbmNlOworfQorCiB2b2lk
IERvY3VtZW50TG9hZGVyOjphdHRhY2hUb0ZyYW1lKEZyYW1lJiBmcmFtZSkKIHsKICAgICBpZiAo
bV9mcmFtZSA9PSAmZnJhbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCmlu
ZGV4IDZiZDMyZmMyZWNmNDZhZjdjZDkzNzlhOWQwMGM5OTExNmViN2E2YjUuLmM4NDM4OTBkMzhh
MzFmYTE2ZTE3OTA5NzRjZmVkYTk2Y2JhNWViMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1
bWVudExvYWRlci5oCkBAIC0xNTIsNiArMTUyLDEyIEBAIGVudW0gY2xhc3MgTW9kYWxDb250YWlu
ZXJPYnNlcnZhdGlvblBvbGljeSA6IHVpbnQ4X3QgewogICAgIERpc2FsbG93LAogfTsKIAorZW51
bSBjbGFzcyBDb2xvclNjaGVtZVByZWZlcmVuY2UgOiB1aW50OF90IHsKKyAgICBOb1ByZWZlcmVu
Y2UsCisgICAgTGlnaHQsCisgICAgRGFyaworfTsKKwogREVDTEFSRV9BTExPQ0FUT1JfV0lUSF9I
RUFQX0lERU5USUZJRVIoRG9jdW1lbnRMb2FkZXIpOwogY2xhc3MgRG9jdW1lbnRMb2FkZXIKICAg
ICA6IHB1YmxpYyBSZWZDb3VudGVkPERvY3VtZW50TG9hZGVyPgpAQCAtMzU0LDYgKzM2MCw5IEBA
IHB1YmxpYzoKICAgICBNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5IG1vZGFsQ29udGFp
bmVyT2JzZXJ2YXRpb25Qb2xpY3koKSBjb25zdCB7IHJldHVybiBtX21vZGFsQ29udGFpbmVyT2Jz
ZXJ2YXRpb25Qb2xpY3k7IH0KICAgICB2b2lkIHNldE1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Q
b2xpY3koTW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeSBwb2xpY3kpIHsgbV9tb2RhbENv
bnRhaW5lck9ic2VydmF0aW9uUG9saWN5ID0gcG9saWN5OyB9CiAKKyAgICBXRUJDT1JFX0VYUE9S
VCBDb2xvclNjaGVtZVByZWZlcmVuY2UgY29sb3JTY2hlbWVQcmVmZXJlbmNlKCkgY29uc3Q7Cisg
ICAgdm9pZCBzZXRDb2xvclNjaGVtZVByZWZlcmVuY2UoQ29sb3JTY2hlbWVQcmVmZXJlbmNlIHBy
ZWZlcmVuY2UpIHsgbV9jb2xvclNjaGVtZVByZWZlcmVuY2UgPSBwcmVmZXJlbmNlOyB9CisKICAg
ICB2b2lkIGFkZFN1YnJlc291cmNlTG9hZGVyKFJlc291cmNlTG9hZGVyJik7CiAgICAgdm9pZCBy
ZW1vdmVTdWJyZXNvdXJjZUxvYWRlcihMb2FkQ29tcGxldGlvblR5cGUsIFJlc291cmNlTG9hZGVy
Kik7CiAgICAgdm9pZCBhZGRQbHVnSW5TdHJlYW1Mb2FkZXIoUmVzb3VyY2VMb2FkZXImKTsKQEAg
LTY3OSw2ICs2ODgsNyBAQCBwcml2YXRlOgogICAgIExlZ2FjeU92ZXJmbG93U2Nyb2xsaW5nVG91
Y2hQb2xpY3kgbV9sZWdhY3lPdmVyZmxvd1Njcm9sbGluZ1RvdWNoUG9saWN5IHsgTGVnYWN5T3Zl
cmZsb3dTY3JvbGxpbmdUb3VjaFBvbGljeTo6RGVmYXVsdCB9OwogICAgIE1vdXNlRXZlbnRQb2xp
Y3kgbV9tb3VzZUV2ZW50UG9saWN5IHsgTW91c2VFdmVudFBvbGljeTo6RGVmYXVsdCB9OwogICAg
IE1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kgbV9tb2RhbENvbnRhaW5lck9ic2VydmF0
aW9uUG9saWN5IHsgTW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeTo6RGlzYWJsZWQgfTsK
KyAgICBDb2xvclNjaGVtZVByZWZlcmVuY2UgbV9jb2xvclNjaGVtZVByZWZlcmVuY2UgeyBDb2xv
clNjaGVtZVByZWZlcmVuY2U6Ok5vUHJlZmVyZW5jZSB9OwogCiAjaWYgRU5BQkxFKFNFUlZJQ0Vf
V09SS0VSKQogICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+
IG1fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE7CkBAIC04MDQsNCArODE0LDEzIEBAIHRl
bXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6TW9kYWxDb250YWluZXJPYnNlcnZh
dGlvblBvbGljeT4gewogICAgID47CiB9OwogCit0ZW1wbGF0ZTw+IHN0cnVjdCBFbnVtVHJhaXRz
PFdlYkNvcmU6OkNvbG9yU2NoZW1lUHJlZmVyZW5jZT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVu
dW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6OkNvbG9yU2NoZW1lUHJlZmVyZW5jZSwKKyAgICAg
ICAgV2ViQ29yZTo6Q29sb3JTY2hlbWVQcmVmZXJlbmNlOjpOb1ByZWZlcmVuY2UsCisgICAgICAg
IFdlYkNvcmU6OkNvbG9yU2NoZW1lUHJlZmVyZW5jZTo6TGlnaHQsCisgICAgICAgIFdlYkNvcmU6
OkNvbG9yU2NoZW1lUHJlZmVyZW5jZTo6RGFyaworICAgID47Cit9OworCiB9IC8vIG5hbWVzcGFj
ZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMu
cHkgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IDk0Y2Zk
OTAwYzMwNGU5NTY3NTFmYzFiMDI4ZmVhYzNlNjQxOTIzOTUuLjJkNWY4OTVlMjU0ODcyZWVhZGZj
YmZlZTA1NzViYmQzMDY4ODdhMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93
ZWJraXQvbWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNz
YWdlcy5weQpAQCAtNzU2LDYgKzc1Niw3IEBAIGRlZiBoZWFkZXJzX2Zvcl90eXBlKHR5cGUpOgog
ICAgICAgICAnV2ViQ29yZTo6QnJvd3NpbmdDb250ZXh0R3JvdXBTd2l0Y2hEZWNpc2lvbic6IFsn
PFdlYkNvcmUvRnJhbWVMb2FkZXJUeXBlcy5oPiddLAogICAgICAgICAnV2ViQ29yZTo6Q09FUERp
c3Bvc2l0aW9uJzogWyc8V2ViQ29yZS9Dcm9zc09yaWdpbkVtYmVkZGVyUG9saWN5Lmg+J10sCiAg
ICAgICAgICdXZWJDb3JlOjpDT09QRGlzcG9zaXRpb24nOiBbJzxXZWJDb3JlL0Nyb3NzT3JpZ2lu
T3BlbmVyUG9saWN5Lmg+J10sCisgICAgICAgICdXZWJDb3JlOjpDb2xvclNjaGVtZVByZWZlcmVu
Y2UnOiBbJzxXZWJDb3JlL0RvY3VtZW50TG9hZGVyLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpD
b21wb3NpdGVPcGVyYXRvcic6IFsnPFdlYkNvcmUvR3JhcGhpY3NUeXBlcy5oPiddLAogICAgICAg
ICAnV2ViQ29yZTo6Q3JlYXRlTmV3R3JvdXBGb3JIaWdobGlnaHQnOiBbJzxXZWJDb3JlL0FwcEhp
Z2hsaWdodC5oPiddLAogICAgICAgICAnV2ViQ29yZTo6RE9NUGFzdGVBY2Nlc3NDYXRlZ29yeSc6
IFsnPFdlYkNvcmUvRE9NUGFzdGVBY2Nlc3MuaD4nXSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2Vic2l0ZVBvbGljaWVzRGF0YS5jcHAKaW5kZXggOWU5ODNjMjgyZTU0NWNjNDRiNWIxOGNhYjg1
Y2M0NTU0ZWEwNjZiMi4uZTllY2FiNmIzZjg1YTQyNWQ2NzRlM2VlOWJmZDIzM2Y2MGQxMDJmMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5jcHAKQEAgLTU1
LDYgKzU1LDcgQEAgdm9pZCBXZWJzaXRlUG9saWNpZXNEYXRhOjplbmNvZGUoSVBDOjpFbmNvZGVy
JiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgYWxsb3dzQ29udGVudEphdmFTY3JpcHQ7
CiAgICAgZW5jb2RlciA8PCBtb3VzZUV2ZW50UG9saWN5OwogICAgIGVuY29kZXIgPDwgbW9kYWxD
b250YWluZXJPYnNlcnZhdGlvblBvbGljeTsKKyAgICBlbmNvZGVyIDw8IGNvbG9yU2NoZW1lUHJl
ZmVyZW5jZTsKICAgICBlbmNvZGVyIDw8IGlkZW1wb3RlbnRNb2RlQXV0b3NpemluZ09ubHlIb25v
cnNQZXJjZW50YWdlczsKIH0KIApAQCAtMTUyLDYgKzE1MywxMSBAQCBzdGQ6Om9wdGlvbmFsPFdl
YnNpdGVQb2xpY2llc0RhdGE+IFdlYnNpdGVQb2xpY2llc0RhdGE6OmRlY29kZShJUEM6OkRlY29k
ZXImIGRlYwogICAgIGlmICghbW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeSkKICAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAorICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6Q29s
b3JTY2hlbWVQcmVmZXJlbmNlPiBjb2xvclNjaGVtZVByZWZlcmVuY2U7CisgICAgZGVjb2RlciA+
PiBjb2xvclNjaGVtZVByZWZlcmVuY2U7CisgICAgaWYgKCFjb2xvclNjaGVtZVByZWZlcmVuY2Up
CisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKICAgICBzdGQ6Om9wdGlvbmFsPGJvb2w+
IGlkZW1wb3RlbnRNb2RlQXV0b3NpemluZ09ubHlIb25vcnNQZXJjZW50YWdlczsKICAgICBkZWNv
ZGVyID4+IGlkZW1wb3RlbnRNb2RlQXV0b3NpemluZ09ubHlIb25vcnNQZXJjZW50YWdlczsKICAg
ICBpZiAoIWlkZW1wb3RlbnRNb2RlQXV0b3NpemluZ09ubHlIb25vcnNQZXJjZW50YWdlcykKQEAg
LTE3OCw2ICsxODQsNyBAQCBzdGQ6Om9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+IFdlYnNp
dGVQb2xpY2llc0RhdGE6OmRlY29kZShJUEM6OkRlY29kZXImIGRlYwogICAgICAgICBXVEZNb3Zl
KCphbGxvd3NDb250ZW50SmF2YVNjcmlwdCksCiAgICAgICAgIFdURk1vdmUoKm1vdXNlRXZlbnRQ
b2xpY3kpLAogICAgICAgICBXVEZNb3ZlKCptb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5
KSwKKyAgICAgICAgV1RGTW92ZSgqY29sb3JTY2hlbWVQcmVmZXJlbmNlKSwKICAgICAgICAgV1RG
TW92ZSgqaWRlbXBvdGVudE1vZGVBdXRvc2l6aW5nT25seUhvbm9yc1BlcmNlbnRhZ2VzKSwKICAg
ICB9IH07CiB9CkBAIC0zMDMsNiArMzEwLDcgQEAgdm9pZCBXZWJzaXRlUG9saWNpZXNEYXRhOjph
cHBseVRvRG9jdW1lbnRMb2FkZXIoV2Vic2l0ZVBvbGljaWVzRGF0YSYmIHdlYnNpdGVQb2wKICAg
ICB9CiAKICAgICBkb2N1bWVudExvYWRlci5zZXRNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9s
aWN5KHdlYnNpdGVQb2xpY2llcy5tb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5KTsKKyAg
ICBkb2N1bWVudExvYWRlci5zZXRDb2xvclNjaGVtZVByZWZlcmVuY2Uod2Vic2l0ZVBvbGljaWVz
LmNvbG9yU2NoZW1lUHJlZmVyZW5jZSk7CiAgICAgZG9jdW1lbnRMb2FkZXIuc2V0QWxsb3dDb250
ZW50Q2hhbmdlT2JzZXJ2ZXJRdWlyayh3ZWJzaXRlUG9saWNpZXMuYWxsb3dDb250ZW50Q2hhbmdl
T2JzZXJ2ZXJRdWlyayk7CiAgICAgZG9jdW1lbnRMb2FkZXIuc2V0SWRlbXBvdGVudE1vZGVBdXRv
c2l6aW5nT25seUhvbm9yc1BlcmNlbnRhZ2VzKHdlYnNpdGVQb2xpY2llcy5pZGVtcG90ZW50TW9k
ZUF1dG9zaXppbmdPbmx5SG9ub3JzUGVyY2VudGFnZXMpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJzaXRlUG9saWNpZXNEYXRhLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJzaXRlUG9saWNpZXNEYXRhLmgKaW5kZXggM2MzMjE2OWIyNGZhMDQ1YmVlMmYyZTk1N2Jj
OWNiMWVhMTA4MGZmNy4uN2EwZWQzNzVhYTc5NTA5OTJlZTc3MzI0ZDAyOTk5OTAyZTFiYmZjMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEuaApAQCAtNzIsNiAr
NzIsNyBAQCBzdHJ1Y3QgV2Vic2l0ZVBvbGljaWVzRGF0YSB7CiAgICAgV2ViQ29yZTo6QWxsb3dz
Q29udGVudEphdmFTY3JpcHQgYWxsb3dzQ29udGVudEphdmFTY3JpcHQgeyBXZWJDb3JlOjpBbGxv
d3NDb250ZW50SmF2YVNjcmlwdDo6WWVzIH07CiAgICAgV2ViQ29yZTo6TW91c2VFdmVudFBvbGlj
eSBtb3VzZUV2ZW50UG9saWN5IHsgV2ViQ29yZTo6TW91c2VFdmVudFBvbGljeTo6RGVmYXVsdCB9
OwogICAgIFdlYkNvcmU6Ok1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kgbW9kYWxDb250
YWluZXJPYnNlcnZhdGlvblBvbGljeSB7IFdlYkNvcmU6Ok1vZGFsQ29udGFpbmVyT2JzZXJ2YXRp
b25Qb2xpY3k6OkRpc2FibGVkIH07CisgICAgV2ViQ29yZTo6Q29sb3JTY2hlbWVQcmVmZXJlbmNl
IGNvbG9yU2NoZW1lUHJlZmVyZW5jZSB7IFdlYkNvcmU6OkNvbG9yU2NoZW1lUHJlZmVyZW5jZTo6
Tm9QcmVmZXJlbmNlIH07CiAgICAgYm9vbCBpZGVtcG90ZW50TW9kZUF1dG9zaXppbmdPbmx5SG9u
b3JzUGVyY2VudGFnZXMgeyBmYWxzZSB9OwogCiAgICAgdm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVy
JikgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vi
c2l0ZVBvbGljaWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRl
UG9saWNpZXMuY3BwCmluZGV4IDA2NzBkZjJlMDc1ZDc2Mzg0NzgwZjAzZTQwMWUyM2I2ZTY0MzFl
NWYuLmFiNTdjNDRmZWVlYmRjZmE4MWE3ZjZmOWRlMDdjOTZkYmVmZTA4YWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuY3BwCkBAIC03
Nyw2ICs3Nyw3IEBAIFJlZjxXZWJzaXRlUG9saWNpZXM+IFdlYnNpdGVQb2xpY2llczo6Y29weSgp
IGNvbnN0CiAgICAgcG9saWNpZXMtPnNldENhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZChtX2NhcHRp
dmVQb3J0YWxNb2RlRW5hYmxlZCk7CiAgICAgcG9saWNpZXMtPnNldE1vdXNlRXZlbnRQb2xpY3ko
bV9tb3VzZUV2ZW50UG9saWN5KTsKICAgICBwb2xpY2llcy0+c2V0TW9kYWxDb250YWluZXJPYnNl
cnZhdGlvblBvbGljeShtX21vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3kpOworICAgIHBv
bGljaWVzLT5zZXRDb2xvclNjaGVtZVByZWZlcmVuY2UobV9jb2xvclNjaGVtZVByZWZlcmVuY2Up
OwogICAgIHJldHVybiBwb2xpY2llczsKIH0KIApAQCAtMTIzLDYgKzEyNCw3IEBAIFdlYktpdDo6
V2Vic2l0ZVBvbGljaWVzRGF0YSBXZWJzaXRlUG9saWNpZXM6OmRhdGEoKQogICAgICAgICBtX2Fs
bG93c0NvbnRlbnRKYXZhU2NyaXB0LAogICAgICAgICBtX21vdXNlRXZlbnRQb2xpY3ksCiAgICAg
ICAgIG1fbW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeSwKKyAgICAgICAgbV9jb2xvclNj
aGVtZVByZWZlcmVuY2UsCiAgICAgICAgIG1faWRlbXBvdGVudE1vZGVBdXRvc2l6aW5nT25seUhv
bm9yc1BlcmNlbnRhZ2VzCiAgICAgfTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaAppbmRleCA0MWZkZDJmNGMzY2RmNGUzM2YxODk2N2Jk
MGVlYzA0NTc2YWZhNzgzLi5lMWM3ZmU5YzBmZDhiYjBhZTdkYzczNzRlN2Q1NWNkOTg0NTE5OTA3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGlj
aWVzLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2ll
cy5oCkBAIC0xMzIsNiArMTMyLDkgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Q2FwdGl2ZVBvcnRh
bE1vZGVFbmFibGVkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4gY2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVk
KSB7IG1fY2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkID0gY2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVk
OyB9CiAgICAgYm9vbCBpc0NhcHRpdmVQb3J0YWxNb2RlRXhwbGljaXRseVNldCgpIGNvbnN0IHsg
cmV0dXJuICEhbV9jYXB0aXZlUG9ydGFsTW9kZUVuYWJsZWQ7IH0KIAorICAgIFdlYkNvcmU6OkNv
bG9yU2NoZW1lUHJlZmVyZW5jZSBjb2xvclNjaGVtZVByZWZlcmVuY2UoKSBjb25zdCB7IHJldHVy
biBtX2NvbG9yU2NoZW1lUHJlZmVyZW5jZTsgfQorICAgIHZvaWQgc2V0Q29sb3JTY2hlbWVQcmVm
ZXJlbmNlKFdlYkNvcmU6OkNvbG9yU2NoZW1lUHJlZmVyZW5jZSBjb2xvclNjaGVtZVByZWZlcmVu
Y2UpIHsgbV9jb2xvclNjaGVtZVByZWZlcmVuY2UgPSBjb2xvclNjaGVtZVByZWZlcmVuY2U7IH0K
KwogICAgIFdlYkNvcmU6Ok1vdXNlRXZlbnRQb2xpY3kgbW91c2VFdmVudFBvbGljeSgpIGNvbnN0
IHsgcmV0dXJuIG1fbW91c2VFdmVudFBvbGljeTsgfQogICAgIHZvaWQgc2V0TW91c2VFdmVudFBv
bGljeShXZWJDb3JlOjpNb3VzZUV2ZW50UG9saWN5IHBvbGljeSkgeyBtX21vdXNlRXZlbnRQb2xp
Y3kgPSBwb2xpY3k7IH0KIApAQCAtMTcxLDYgKzE3NCw3IEBAIHByaXZhdGU6CiAgICAgV2ViQ29y
ZTo6TW9kYWxDb250YWluZXJPYnNlcnZhdGlvblBvbGljeSBtX21vZGFsQ29udGFpbmVyT2JzZXJ2
YXRpb25Qb2xpY3kgeyBXZWJDb3JlOjpNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5OjpE
aXNhYmxlZCB9OwogICAgIGJvb2wgbV9pZGVtcG90ZW50TW9kZUF1dG9zaXppbmdPbmx5SG9ub3Jz
UGVyY2VudGFnZXMgeyBmYWxzZSB9OwogICAgIHN0ZDo6b3B0aW9uYWw8Ym9vbD4gbV9jYXB0aXZl
UG9ydGFsTW9kZUVuYWJsZWQ7CisgICAgV2ViQ29yZTo6Q29sb3JTY2hlbWVQcmVmZXJlbmNlIG1f
Y29sb3JTY2hlbWVQcmVmZXJlbmNlIHsgV2ViQ29yZTo6Q29sb3JTY2hlbWVQcmVmZXJlbmNlOjpO
b1ByZWZlcmVuY2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFQSQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2VicGFnZVByZWZlcmVuY2VzLm1tIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2VicGFnZVByZWZlcmVuY2VzLm1t
CmluZGV4IDAyMmRjNTA4OWFiMWFjYWEwMjgyYjAyYmNlYmFmODllN2ZmNzhjY2QuLjdhNjFhOGI0
NDdmOTVkMjkyNTdiZDQ1NmM5NWIwOTI1ZjA2MzIwZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnBhZ2VQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJwYWdlUHJlZmVyZW5jZXMubW0KQEAg
LTUwMSw2ICs1MDEsMzMgQEAgc3RhdGljIF9XS1dlYnNpdGVEZXZpY2VPcmllbnRhdGlvbkFuZE1v
dGlvbkFjY2Vzc1BvbGljeSB0b1dLV2Vic2l0ZURldmljZU9yaWVudGEKICAgICByZXR1cm4gX3dl
YnNpdGVQb2xpY2llcy0+Y2FwdGl2ZVBvcnRhbE1vZGVFbmFibGVkKCk7CiB9CiAKKy0gKF9XS1dl
YnNpdGVDb2xvclNjaGVtZVByZWZlcmVuY2UpX2NvbG9yU2NoZW1lUHJlZmVyZW5jZQoreworICAg
IHN3aXRjaCAoX3dlYnNpdGVQb2xpY2llcy0+Y29sb3JTY2hlbWVQcmVmZXJlbmNlKCkpIHsKKyAg
ICBjYXNlIFdlYkNvcmU6OkNvbG9yU2NoZW1lUHJlZmVyZW5jZTo6Tm9QcmVmZXJlbmNlOgorICAg
ICAgICByZXR1cm4gX1dLV2Vic2l0ZUNvbG9yU2NoZW1lUHJlZmVyZW5jZU5vUHJlZmVyZW5jZTsK
KyAgICBjYXNlIFdlYkNvcmU6OkNvbG9yU2NoZW1lUHJlZmVyZW5jZTo6TGlnaHQ6CisgICAgICAg
IHJldHVybiBfV0tXZWJzaXRlQ29sb3JTY2hlbWVQcmVmZXJlbmNlTGlnaHQ7CisgICAgY2FzZSBX
ZWJDb3JlOjpDb2xvclNjaGVtZVByZWZlcmVuY2U6OkRhcms6CisgICAgICAgIHJldHVybiBfV0tX
ZWJzaXRlQ29sb3JTY2hlbWVQcmVmZXJlbmNlRGFyazsKKyAgICB9Cit9CisKKy0gKHZvaWQpX3Nl
dENvbG9yU2NoZW1lUHJlZmVyZW5jZTooX1dLV2Vic2l0ZUNvbG9yU2NoZW1lUHJlZmVyZW5jZSl2
YWx1ZQoreworICAgIHN3aXRjaCAodmFsdWUpIHsKKyAgICBjYXNlIF9XS1dlYnNpdGVDb2xvclNj
aGVtZVByZWZlcmVuY2VOb1ByZWZlcmVuY2U6CisgICAgICAgIF93ZWJzaXRlUG9saWNpZXMtPnNl
dENvbG9yU2NoZW1lUHJlZmVyZW5jZShXZWJDb3JlOjpDb2xvclNjaGVtZVByZWZlcmVuY2U6Ok5v
UHJlZmVyZW5jZSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgX1dLV2Vic2l0ZUNvbG9yU2No
ZW1lUHJlZmVyZW5jZUxpZ2h0OgorICAgICAgICBfd2Vic2l0ZVBvbGljaWVzLT5zZXRDb2xvclNj
aGVtZVByZWZlcmVuY2UoV2ViQ29yZTo6Q29sb3JTY2hlbWVQcmVmZXJlbmNlOjpMaWdodCk7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgX1dLV2Vic2l0ZUNvbG9yU2NoZW1lUHJlZmVyZW5jZURh
cms6CisgICAgICAgIF93ZWJzaXRlUG9saWNpZXMtPnNldENvbG9yU2NoZW1lUHJlZmVyZW5jZShX
ZWJDb3JlOjpDb2xvclNjaGVtZVByZWZlcmVuY2U6OkRhcmspOworICAgICAgICBicmVhazsKKyAg
ICB9Cit9CisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogCiAtICh2b2lkKXNldFByZWZlcnJl
ZENvbnRlbnRNb2RlOihXS0NvbnRlbnRNb2RlKWNvbnRlbnRNb2RlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJwYWdlUHJlZmVyZW5jZXNQcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJwYWdlUHJlZmVyZW5j
ZXNQcml2YXRlLmgKaW5kZXggZjIxYWE2ZWI2NDM3YWM1ZDI0MzUzYzhlZDVjOTk3NjFjMzZlNjRm
MS4uZThiYjRlZGUyNWQ1MTYyMDY3ZjgwYWJkNmRjZWM0YWUyN2JkMGFjNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2VicGFnZVByZWZlcmVuY2VzUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYnBhZ2VQ
cmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtNjksNiArNjksMTMgQEAgdHlwZWRlZiBOU19PUFRJT05T
KE5TVUludGVnZXIsIF9XS1dlYnNpdGVNb2RhbENvbnRhaW5lck9ic2VydmF0aW9uUG9saWN5KSB7
CiAgICAgX1dLV2Vic2l0ZU1vZGFsQ29udGFpbmVyT2JzZXJ2YXRpb25Qb2xpY3lEaXNhbGxvdywK
IH0gV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsK
IAorLy8gQWxsb3cgb3ZlcnJpZGluZyB0aGUgc3lzdGVtIGNvbG9yLXNjaGVtZSB3aXRoIGEgcGVy
LXdlYnNpdGUgcHJlZmVyZW5jZS4KK3R5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tX
ZWJzaXRlQ29sb3JTY2hlbWVQcmVmZXJlbmNlKSB7CisgICAgX1dLV2Vic2l0ZUNvbG9yU2NoZW1l
UHJlZmVyZW5jZU5vUHJlZmVyZW5jZSwKKyAgICBfV0tXZWJzaXRlQ29sb3JTY2hlbWVQcmVmZXJl
bmNlTGlnaHQsCisgICAgX1dLV2Vic2l0ZUNvbG9yU2NoZW1lUHJlZmVyZW5jZURhcmssCit9IFdL
X0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CisKIEBj
bGFzcyBfV0tDdXN0b21IZWFkZXJGaWVsZHM7CiBAY2xhc3MgV0tVc2VyQ29udGVudENvbnRyb2xs
ZXI7CiBAY2xhc3MgV0tXZWJzaXRlRGF0YVN0b3JlOwpAQCAtOTYsNCArMTAzLDYgQEAgdHlwZWRl
ZiBOU19PUFRJT05TKE5TVUludGVnZXIsIF9XS1dlYnNpdGVNb2RhbENvbnRhaW5lck9ic2VydmF0
aW9uUG9saWN5KSB7CiAKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldENhcHRpdmVQ
b3J0YWxNb2RlRW5hYmxlZDopIEJPT0wgX2NhcHRpdmVQb3J0YWxNb2RlRW5hYmxlZCBXS19BUElf
QVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCitAcHJvcGVy
dHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRDb2xvclNjaGVtZVByZWZlcmVuY2U6KSBfV0tXZWJz
aXRlQ29sb3JTY2hlbWVQcmVmZXJlbmNlIF9jb2xvclNjaGVtZVByZWZlcmVuY2U7CisKIEBlbmQK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3NGM1
NjQzY2Q4OTljYTBhYTZiNWUyMWE3ZWY1NmVlZDYzMTk2MjFlLi40ZGRhZDliOWM5NzQ3NTY3ODUx
ODRiMzM1ZWUyMDc3MTZhYmU0NjEyIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMTItMTEgIERlYW4gSmFja3Nv
biAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IG92ZXJyaWRlIG9mIHN5c3RlbSdz
IHByZWZlcnJlZCBjb2xvciBzY2hlbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzNDE5OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vODYzNjYwNDQ+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmV3IEFQ
SSB0ZXN0IHRoYXQgY2hlY2tzIHRoZSBjb2xvci1zY2hlbWUgYWZ0ZXIKKyAgICAgICAgZXhwbGlj
aXRseSBzZXR0aW5nIGl0LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQvY29sb3Itc2NoZW1lLmh0bWw6IEFkZGVkLiBOb3RlOiBYY29kZSB3YXMKKyAgICAg
ICAgYmVpbmcgZGlmZmljdWx0IGFuZCB3b3VsZG4ndCBsZXQgbWUgcHV0IHRoaXMgZmlsZSBpbiB0
aGUgcmlnaHQgb3JkZXIKKyAgICAgICAgZm9yIHRoZSBDb3B5IEJ1aWxkIFBoYXNlIDooCisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRlUG9saWNpZXMubW06
CisKIDIwMjEtMTItMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFN0YXJ0IHdlYnNvY2tldCBzZXJ2ZXIgZm9yIHRlc3RzIGluIGh0dHAvdGVzdHMgdGhhdCBo
YXZlIHdlYnNvY2tldCBpbiB0aGVpciBuYW1lCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDdm
NjkxNTUzZTNlNDMzZDIyNWYzMzQzYTYxN2Y1MGQ0NjllZjgyODUuLjJmZmViNGQwZmUzNGI5YmI5
Njg0MGIzNzZjYjE5MTcxYmIzMjAxNmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNzYs
NiArMTc2LDcgQEAKIAkJMzEyOEE4MTMyMzc2M0ZBQzAwRDkwRDQwIC8qIGxpbmstd2l0aC1pbWFn
ZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxMjhBODEyMjM3NjNGMEIwMEQ5MEQ0MCAvKiBsaW5rLXdpdGgtaW1hZ2UuaHRtbCAqLzsg
fTsKIAkJMzEyOEE4MTUyMzc2NDEzMzAwRDkwRDQwIC8qIGltYWdlLmh0bWwgaW4gQ29weSBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEyOEE4MTQyMzc2NDBG
RDAwRDkwRDQwIC8qIGltYWdlLmh0bWwgKi87IH07CiAJCTMxM0MzQTAyMjFFNTY3QzMwMERCQTg2
RSAvKiBTeXN0ZW1QcmV2aWV3QmxvYk5hbWluZy5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxM0MzQTAxMjFFNTY3N0EwMERCQTg2RSAv
KiBTeXN0ZW1QcmV2aWV3QmxvYk5hbWluZy5odG1sICovOyB9OworCQkzMTkwM0M5MTI3NjUwNzc0
MDAzNjM0NzIgLyogY29sb3Itc2NoZW1lLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE5MDNDOTAyNzY0RkUxNDAwMzYzNDcyIC8qIGNv
bG9yLXNjaGVtZS5odG1sICovOyB9OwogCQkzMUI3NkU0NTIzMjk5QkRDMDA3RkVEMkMgLyogc3lz
dGVtLXByZXZpZXctdHJpZ2dlci5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQjc2RTQ0MjMyOTlCQTMwMDdGRUQyQyAvKiBzeXN0ZW0t
cHJldmlldy10cmlnZ2VyLmh0bWwgKi87IH07CiAJCTMxRTlCREExMjQ3RjRDNjIwMDJFNTFBMiAv
KiBXZWJHTFByZXBhcmVEaXNwbGF5T25XZWJUaHJlYWQubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUU5QkRBMDI0N0Y0QzYyMDAyRTUxQTIgLyogV2Vi
R0xQcmVwYXJlRGlzcGxheU9uV2ViVGhyZWFkLm1tICovOyB9OwogCQkzMUU5QkRBMzI0N0Y1NzI5
MDAyRTUxQTIgLyogd2ViZ2wuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzMUU5QkRBMjI0N0Y0REQwMDAyRTUxQTIgLyogd2ViZ2wuaHRt
bCAqLzsgfTsKQEAgLTEyNTcsNiArMTI1OCw3IEBACiAJCQkJOUI5MzMyQ0UyMzIwQzc0NTAwMkQ1
MEU4IC8qIGNvY29hLXdyaXRlci1tYXJrdXAtd2l0aC1saXN0cy5odG1sIGluIENvcHkgUmVzb3Vy
Y2VzICovLAogCQkJCTlCQUUxNzdCMjJFMkJCRkIwMERGMzA5OCAvKiBjb2NvYS13cml0ZXItbWFy
a3VwLXdpdGgtc3lzdGVtLWZvbnRzLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJRTUw
MzZGNzgyMTFCQzI1NDAwQkZEQkUyIC8qIGNvbG9yLWRyb3AuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLywKKwkJCQkzMTkwM0M5MTI3NjUwNzc0MDAzNjM0NzIgLyogY29sb3Itc2NoZW1lLmh0bWwg
aW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJCQkJMEYxNkJFRDgyMzA0QTFGMzAwQjRBMTY3IC8qIGNv
bXBvc2l0ZWQuaHRtbCBpbiBDb3B5IFJlc291cmNlcyAqLywKIAkJCQlGNEI4MjVEODFFRjREQkZC
MDA2RTQxN0YgLyogY29tcHJlc3NlZC1maWxlcy56aXAgaW4gQ29weSBSZXNvdXJjZXMgKi8sCiAJ
CQkJNUM5RTU2ODcxREY5MTRBRTAwQzlFRTMzIC8qIGNvbnRlbnRCbG9ja2VyQ2hlY2suaHRtbCBp
biBDb3B5IFJlc291cmNlcyAqLywKQEAgLTE4NTAsNiArMTg1Miw3IEBACiAJCTMxMjhBODEyMjM3
NjNGMEIwMEQ5MEQ0MCAvKiBsaW5rLXdpdGgtaW1hZ2UuaHRtbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJsaW5rLXdp
dGgtaW1hZ2UuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxMjhBODE0MjM3
NjQwRkQwMEQ5MEQ0MCAvKiBpbWFnZS5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gaW1hZ2UuaHRtbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzEzQzNBMDEyMUU1Njc3QTAwREJBODZFIC8qIFN5c3Rl
bVByZXZpZXdCbG9iTmFtaW5nLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBTeXN0
ZW1QcmV2aWV3QmxvYk5hbWluZy5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkz
MTkwM0M5MDI3NjRGRTE0MDAzNjM0NzIgLyogY29sb3Itc2NoZW1lLmh0bWwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0Lmh0bWw7IHBhdGggPSAiY29sb3Itc2NoZW1lLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzMUI3NkU0MjIzMjk4RTJCMDA3RkVEMkMgLyogU3lzdGVtUHJldmlldy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5c3RlbVByZXZpZXcubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxQjc2RTQ0MjMyOTlCQTMwMDdGRUQyQyAv
KiBzeXN0ZW0tcHJldmlldy10cmlnZ2VyLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAic3lzdGVtLXByZXZpZXct
dHJpZ2dlci5odG1sIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFFOUJEQTAyNDdG
NEM2MjAwMkU1MUEyIC8qIFdlYkdMUHJlcGFyZURpc3BsYXlPbldlYlRocmVhZC5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFdlYkdMUHJlcGFyZURpc3BsYXlPbldlYlRocmVhZC5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ1OTksNiArNDYwMiw3IEBACiAJCQkJOUJENDIzOUIx
RTA0QkZEMDAwMjAwMzk1IC8qIGNoaW5lc2UtY2hhcmFjdGVyLXdpdGgtaW1hZ2UuaHRtbCAqLywK
IAkJCQkxQTUwQUExRjFBMkE0RUE1MDBGNEMzNDUgLyogY2xvc2UtZnJvbS13aXRoaW4tY3JlYXRl
LXBhZ2UuaHRtbCAqLywKIAkJCQk5QjI3MEZFRDFEREMyNUZEMDAyRDUzRjMgLyogY2xvc2VkLXNo
YWRvdy10cmVlLXRlc3QuaHRtbCAqLywKKwkJCQkzMTkwM0M5MDI3NjRGRTE0MDAzNjM0NzIgLyog
Y29sb3Itc2NoZW1lLmh0bWwgKi8sCiAJCQkJNUM5RTU2ODYxREY5MTQ4RTAwQzlFRTMzIC8qIGNv
bnRlbnRCbG9ja2VyQ2hlY2suaHRtbCAqLywKIAkJCQlGNDAzNEZBMjI3NUQ1NDQ5MDAzQTgxRjgg
LyogY29va2llLWNvbnNlbnQtYmFzaWMuaHRtbCAqLywKIAkJCQkyRERENERBMzI3MEI4QjMzMDA2
NTlBNjEgLyogY3ViZS51c2R6ICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQvY29sb3Itc2NoZW1lLmh0bWwgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdC9jb2xvci1zY2hlbWUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNzNhZDQyY2QyNzU3ZWZhOTAx
NWI5NjU4NDU2ZTg0YThkZjQwOTkwCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQvY29sb3Itc2NoZW1lLmh0bWwKQEAgLTAsMCArMSwyMCBAQAorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlvbiB0ZXN0Q29sb3JTY2hlbWUoKSB7CisgICAg
aWYgKHdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGxpZ2h0KSIpLm1h
dGNoZXMpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHdpbmRvdy53ZWJraXQubWVzc2Fn
ZUhhbmRsZXJzLnRlc3RIYW5kbGVyLnBvc3RNZXNzYWdlKCJsaWdodC1kZXRlY3RlZCIpOworICAg
ICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0KKyAgICBpZiAod2luZG93Lm1hdGNoTWVkaWEoIihw
cmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzKSB7CisgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICB3aW5kb3cud2Via2l0Lm1lc3NhZ2VIYW5kbGVycy50ZXN0SGFuZGxlci5wb3N0
TWVzc2FnZSgiZGFyay1kZXRlY3RlZCIpOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0K
K30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0Q29sb3JTY2hlbWUoKSI+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL1dlYnNpdGVQb2xpY2llcy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tCmluZGV4IGI5MGQ4Y2NiN2VmNTNhNTM1
ZTE5ZDVjMDJhOTNkNjBjNmY5MTVmNzUuLjMxNDUwOGU5YjNlODBmMjEzZDdjOTQyOGZiZmM1Y2Yw
MzY0NzUxMjcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvV2Vic2l0ZVBvbGljaWVzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tCkBAIC0xNzg3LDMgKzE3ODcsMjcgQEAgVEVTVChX
ZWJwYWdlUHJlZmVyZW5jZXMsIFdlYnNpdGVQb2xpY2llc1VzZXJDb250ZW50Q29udHJvbGxlcikK
ICAgICBbcmVwbGFjZW1lbnRVc2VyQ29udGVudENvbnRyb2xsZXIgX2FkZFVzZXJTY3JpcHRJbW1l
ZGlhdGVseTptYWtlU2NyaXB0KEAiYWxlcnQoJ3Rlc3RBbGVydDMnKTsiKS5nZXQoKV07CiAgICAg
RVhQRUNUX1dLX1NUUkVRKFt1aURlbGVnYXRlIHdhaXRGb3JBbGVydF0sICJ0ZXN0QWxlcnQzIik7
CiB9CisKK1RFU1QoV2VicGFnZVByZWZlcmVuY2VzLCBVc2VyRXhwbGljaXRseVByZWZlcnNDb2xv
clNjaGVtZUxpZ2h0KQoreworICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dl
YlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7CisKKyAgICBjb25maWd1cmF0aW9uLmdl
dCgpLmRlZmF1bHRXZWJwYWdlUHJlZmVyZW5jZXMuX2NvbG9yU2NoZW1lUHJlZmVyZW5jZSA9IF9X
S1dlYnNpdGVDb2xvclNjaGVtZVByZWZlcmVuY2VMaWdodDsKKworICAgIGF1dG8gd2ViVmlldyA9
IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3Qo
MCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOworCisg
ICAgW3dlYlZpZXcgbG9hZFRlc3RQYWdlTmFtZWQ6QCJjb2xvci1zY2hlbWUiXTsKKyAgICBbd2Vi
VmlldyB3YWl0Rm9yTWVzc2FnZTpAImxpZ2h0LWRldGVjdGVkIl07Cit9CisKK1RFU1QoV2VicGFn
ZVByZWZlcmVuY2VzLCBVc2VyRXhwbGljaXRseVByZWZlcnNDb2xvclNjaGVtZURhcmspCit7Cisg
ICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24g
YWxsb2NdIGluaXRdKTsKKworICAgIGNvbmZpZ3VyYXRpb24uZ2V0KCkuZGVmYXVsdFdlYnBhZ2VQ
cmVmZXJlbmNlcy5fY29sb3JTY2hlbWVQcmVmZXJlbmNlID0gX1dLV2Vic2l0ZUNvbG9yU2NoZW1l
UHJlZmVyZW5jZURhcms7CisKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2Vi
VmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25m
aWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKworICAgIFt3ZWJWaWV3IGxvYWRUZXN0
UGFnZU5hbWVkOkAiY29sb3Itc2NoZW1lIl07CisgICAgW3dlYlZpZXcgd2FpdEZvck1lc3NhZ2U6
QCJkYXJrLWRldGVjdGVkIl07Cit9Cg==
</data>
<flag name="review"
          id="472592"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>