<?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>53122</bug_id>
          
          <creation_ts>2011-01-25 13:37:19 -0800</creation_ts>
          <short_desc>Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId.</short_desc>
          <delta_ts>2011-02-03 05:23:11 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>52917</dependson>
    
    <dependson>53674</dependson>
          <blocked>53020</blocked>
    
    <blocked>53136</blocked>
    
    <blocked>53314</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>339890</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-01-25 13:37:19 -0800</bug_when>
    <thetext>Change HTMLInputElement-derived parts of media element shadow DOM to use shadowPseudoId.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339896</commentid>
    <comment_count>1</comment_count>
      <attachid>80115</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-01-25 13:48:12 -0800</bug_when>
    <thetext>Created attachment 80115
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339912</commentid>
    <comment_count>2</comment_count>
      <attachid>80115</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-01-25 14:06:13 -0800</bug_when>
    <thetext>Comment on attachment 80115
Patch

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

Seems unfortunate that shadowPseudoId returns an AtomicString so has to thrash reference counts. Is there any caller that can’t return const AtomicString&amp; instead? Might be nice to tighten that up again.

&gt; Source/WebCore/rendering/MediaControlElements.cpp:468
&gt; +    m_displayType = MediaMuteButton;

Why isn’t this a MediaControlInputElement constructor argument? It seems less than optimal to set this field in a base class directly instead of letting the constructor do it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339919</commentid>
    <comment_count>3</comment_count>
      <attachid>80115</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-01-25 14:11:03 -0800</bug_when>
    <thetext>Comment on attachment 80115
Patch

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

Good point on shadowPseudoId. I&apos;ll change to use const AtomicString&amp; in separate patch.

&gt;&gt; Source/WebCore/rendering/MediaControlElements.cpp:468
&gt;&gt; +    m_displayType = MediaMuteButton;
&gt; 
&gt; Why isn’t this a MediaControlInputElement constructor argument? It seems less than optimal to set this field in a base class directly instead of letting the constructor do it.

I&apos;ll change to use a constructor argument, I like it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339965</commentid>
    <comment_count>4</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-01-25 15:23:00 -0800</bug_when>
    <thetext>Turns out I also neglected to realize that since the elements now use proper selector pipeline, some initial CSS properties need to be explicitly set to avoid inheriting values from input[type=button] and input[type=range] definitions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339966</commentid>
    <comment_count>5</comment_count>
      <attachid>80135</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-01-25 15:23:16 -0800</bug_when>
    <thetext>Created attachment 80135
With fixups</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>339967</commentid>
    <comment_count>6</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-01-25 15:23:51 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Created an attachment (id=80135) [details]
&gt; With fixups

Darin, can you take another look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340451</commentid>
    <comment_count>7</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-01-26 13:59:50 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; Created an attachment (id=80135) [details] [details]
&gt; &gt; With fixups
&gt; 
&gt; Darin, can you take another look?

Since you r+ the first patch, I&apos;ll land this improvement with your silent agreement :) -- please yell at me if I&apos;d done wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340458</commentid>
    <comment_count>8</comment_count>
      <attachid>80135</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-01-26 14:09:04 -0800</bug_when>
    <thetext>Comment on attachment 80135
With fixups

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340465</commentid>
    <comment_count>9</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-01-26 14:20:07 -0800</bug_when>
    <thetext>Committed r76719: &lt;http://trac.webkit.org/changeset/76719&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340490</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-26 14:52:30 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/76719 might have broken Qt Linux Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340493</commentid>
    <comment_count>11</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-01-26 14:54:46 -0800</bug_when>
    <thetext>Reverted r76719 for reason:

Broke a bunch of media tests in Chromium/Qt/GTK

Committed r76724: &lt;http://trac.webkit.org/changeset/76724&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340496</commentid>
    <comment_count>12</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-01-26 14:57:12 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; Reverted r76719 for reason:
&gt; 
&gt; Broke a bunch of media tests in Chromium/Qt/GTK
&gt; 
&gt; Committed r76724: &lt;http://trac.webkit.org/changeset/76724&gt;

I think we may have to fix bug 52197 before proceeding further :(.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>340535</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-26 15:51:04 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/76724 might have broken Leopard Intel Release (Tests)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341492</commentid>
    <comment_count>14</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-01-28 09:53:08 -0800</bug_when>
    <thetext>Committed r76951: &lt;http://trac.webkit.org/changeset/76951&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>341512</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-01-28 10:29:18 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/76951 might have broken Qt Linux Release
The following tests are not passing:
media/controls-without-preload.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80115</attachid>
            <date>2011-01-25 13:48:12 -0800</date>
            <delta_ts>2011-01-25 15:23:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53122-20110125134811.patch</filename>
            <type>text/plain</type>
            <size>36417</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmMjljN2JlYWQ1YmNiNjJkZDhjODUyODkxNDA2NGViZmYxY2YwZDY5Li4w
N2VjOGIwYjdjM2YzMThlZGVjNmUxYWEwNjUwMDRhYzlkNWRiYzZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNzAgQEAKKzIwMTEtMDEtMjUgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBDaGFuZ2UgSFRNTElucHV0RWxlbWVudC1kZXJpdmVkIHBhcnRzIG9mIG1lZGlhIGVsZW1lbnQg
c2hhZG93IERPTSB0byB1c2Ugc2hhZG93UHNldWRvSWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzEyMgorCisgICAgICAgIFRoaXMgaXMgdGhlIGZp
cnN0IHN0ZXAgaW4gY29udmVydGluZyBIVE1MTWVkaWFFbGVtZW50IHRvIHRoZSBuZXcgc2hhZG93
IERPTS4KKworICAgICAgICBTaG91bGQgbm90IHJlZ3Jlc3MgYW55IGV4aXN0aW5nIHRlc3RzLiBO
byBvYnNlcnZhYmxlIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGNzcy9DU1NTZWxl
Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rvcjo6cHNldWRvSWQpOiBSZW1v
dmVkIG5vdy11bm5lY2Vzc2FyeSBoYXJkLWNvZGVkIHBzZXVkby1lbGVtZW50IHNlbGVjdG9ycy4K
KyAgICAgICAgKFdlYkNvcmU6Om5hbWVUb1BzZXVkb1R5cGVNYXApOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OkNTU1NlbGVjdG9yOjpleHRyYWN0UHNldWRvVHlwZSk6IERpdHRvLgorICAgICAg
ICAqIGNzcy9DU1NTZWxlY3Rvci5oOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvTWVkaWFD
b250cm9sRWxlbWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sSW5wdXRF
bGVtZW50OjpNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQpOiBSZW1vdmVkIHRoZSBzd2l0Y2ggc3Rh
dGVtZW50LAorICAgICAgICAgICAgd2hpY2ggaXMgbm93IHJlcGxhY2VkIHdpdGggdmlydHVhbCBz
aGFkb3dQc2V1ZG9JZCBvbiBlYWNoIGNvcnJlc3BvbmRpbmcgY2xhc3MuCisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQ6OnN0eWxlRm9yRWxlbWVudCk6IENoYW5nZWQg
dG8gdXNlIGVsZW1lbnQgcGlwZWxpbmUuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xN
dXRlQnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sTXV0ZUJ1dHRvbkVsZW1lbnQpOiBDaGFuZ2Vk
IHRvIHNldAorICAgICAgICAgICAgZGlzcGxheSB0eXBlIGluIGNvbnN0cnVjdG9yLgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sTXV0ZUJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZSk6IENoYW5n
ZWQgdG8gbm90IHRha2UgUHNldWRvSWQgYXMKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yIGFyZ3Vt
ZW50LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sTXV0ZUJ1dHRvbkVsZW1lbnQ6OnNo
YWRvd1BzZXVkb0lkKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xWb2x1
bWVTbGlkZXJNdXRlQnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sVm9sdW1lU2xpZGVyTXV0ZUJ1
dHRvbkVsZW1lbnQpOiBBZGRlZAorICAgICAgICAgICAgdG8gZGlzYW1iaWd1YXRlIGZyb20gdGhl
IE1lZGlhQ29udHJvbE11dGVCdXR0b25FbGVtZW50LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFD
b250cm9sVm9sdW1lU2xpZGVyTXV0ZUJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZSk6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVm9sdW1lU2xpZGVyTXV0ZUJ1dHRvbkVsZW1lbnQ6
OnNoYWRvd1BzZXVkb0lkKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQ
bGF5QnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sUGxheUJ1dHRvbkVsZW1lbnQpOiBDaGFuZ2Vk
IHRvIG5vdCB0YWtlIFBzZXVkb0lkIGFzCisgICAgICAgICAgICBjb25zdHJ1Y3RvciBhcmd1bWVu
dC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFBsYXlCdXR0b25FbGVtZW50OjpzaGFk
b3dQc2V1ZG9JZCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sU2Vla0J1
dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbFNlZWtCdXR0b25FbGVtZW50KTogQ2hhbmdlZCB0byBu
b3QgdGFrZSBQc2V1ZG9JZCBhcworICAgICAgICAgICAgY29uc3RydWN0b3IgYXJndW1lbnQuCisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xTZWVrRm9yd2FyZEJ1dHRvbkVsZW1lbnQ6Ok1l
ZGlhQ29udHJvbFNlZWtGb3J3YXJkQnV0dG9uRWxlbWVudCk6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sU2Vla0ZvcndhcmRCdXR0b25FbGVtZW50OjpjcmVhdGUpOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFNlZWtGb3J3YXJkQnV0dG9uRWxlbWVu
dDo6c2hhZG93UHNldWRvSWQpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJv
bFNlZWtCYWNrQnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sU2Vla0JhY2tCdXR0b25FbGVtZW50
KTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xTZWVrQmFja0J1dHRvbkVs
ZW1lbnQ6OmNyZWF0ZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sU2Vl
a0JhY2tCdXR0b25FbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCk6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sUmV3aW5kQnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sUmV3aW5k
QnV0dG9uRWxlbWVudCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sUmV3
aW5kQnV0dG9uRWxlbWVudDo6c2hhZG93UHNldWRvSWQpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhQ29udHJvbFJldHVyblRvUmVhbHRpbWVCdXR0b25FbGVtZW50OjpNZWRpYUNvbnRy
b2xSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uRWxlbWVudCk6IENoYW5nZWQgdG8gbm90IHRha2UgUHNl
dWRvSWQgYXMKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yIGFyZ3VtZW50LgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sUmV0dXJuVG9SZWFsdGltZUJ1dHRvbkVsZW1lbnQ6OnNoYWRvd1Bz
ZXVkb0lkKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xUb2dnbGVDbG9z
ZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbFRvZ2dsZUNsb3NlZENhcHRpb25z
QnV0dG9uRWxlbWVudCk6IENoYW5nZWQgdG8gbm90IHRha2UgUHNldWRvSWQgYXMKKyAgICAgICAg
ICAgIGNvbnN0cnVjdG9yIGFyZ3VtZW50LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
VG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCk6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50OjpNZWRpYUNv
bnRyb2xUaW1lbGluZUVsZW1lbnQpOiBDaGFuZ2VkIHRvIG5vdCB0YWtlIFBzZXVkb0lkIGFzCisg
ICAgICAgICAgICBjb25zdHJ1Y3RvciBhcmd1bWVudC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q29udHJvbFRpbWVsaW5lRWxlbWVudDo6c2hhZG93UHNldWRvSWQpOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6Ok1lZGlhQ29udHJvbFZv
bHVtZVNsaWRlckVsZW1lbnQpOiBDaGFuZ2VkIHRvIG5vdCB0YWtlIFBzZXVkb0lkIGFzCisgICAg
ICAgICAgICBjb25zdHJ1Y3RvciBhcmd1bWVudC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29u
dHJvbFZvbHVtZVNsaWRlckVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKTogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudDo6TWVkaWFDb250
cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQpOiBDaGFuZ2VkIHRvIG5vdCB0YWtlIFBzZXVkb0lk
IGFzCisgICAgICAgICAgICBjb25zdHJ1Y3RvciBhcmd1bWVudC4KKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCk6IEFk
ZGVkLgorICAgICAgICAqIHJlbmRlcmluZy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sU2Vla0ZvcndhcmRCdXR0b25FbGVtZW50Ojppc0Zvcndh
cmRCdXR0b24pOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFNlZWtCYWNr
QnV0dG9uRWxlbWVudDo6aXNGb3J3YXJkQnV0dG9uKTogQWRkZWQuCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlck1lZGlhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lZGlhOjpjcmVh
dGVNdXRlQnV0dG9uKTogQ2hhbmdlZCB0byB1c2UgbmV3IGNvbnN0cnVjdG9yLgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTWVkaWE6OmNyZWF0ZVNlZWtCYWNrQnV0dG9uKTogRGl0dG8uCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJNZWRpYTo6Y3JlYXRlU2Vla0ZvcndhcmRCdXR0b24pOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lZGlhOjpjcmVhdGVWb2x1bWVTbGlkZXJNdXRl
QnV0dG9uKTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29u
c3RhbnRzLmg6IFJlbW92ZWQgY29uc3RhbnRzIHRoYXQgYXJlIG5vIGxvbmdlciB1c2VkLgorCiAy
MDExLTAxLTI1ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTU2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNw
cAppbmRleCBjYTM4MTRhMTYzNDA4NmE4ZjMxOWVlNmZhNWI4N2JjMmQ3ZjcxM2QwLi44Mjc0NmNk
MDAyYjk1MzNjYzIwNzUyZDFkYzY2ZTllYmI4ZjdmOTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTU2VsZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxl
Y3Rvci5jcHAKQEAgLTE2MywxMCArMTYzLDYgQEAgUHNldWRvSWQgQ1NTU2VsZWN0b3I6OnBzZXVk
b0lkKFBzZXVkb1R5cGUgdHlwZSkKICAgICAgICAgcmV0dXJuIFNFQVJDSF9SRVNVTFRTX0JVVFRP
TjsKICAgICBjYXNlIFBzZXVkb01lZGlhQ29udHJvbHNQYW5lbDoKICAgICAgICAgcmV0dXJuIE1F
RElBX0NPTlRST0xTX1BBTkVMOwotICAgIGNhc2UgUHNldWRvTWVkaWFDb250cm9sc011dGVCdXR0
b246Ci0gICAgICAgIHJldHVybiBNRURJQV9DT05UUk9MU19NVVRFX0JVVFRPTjsKLSAgICBjYXNl
IFBzZXVkb01lZGlhQ29udHJvbHNQbGF5QnV0dG9uOgotICAgICAgICByZXR1cm4gTUVESUFfQ09O
VFJPTFNfUExBWV9CVVRUT047CiAgICAgY2FzZSBQc2V1ZG9NZWRpYUNvbnRyb2xzVGltZWxpbmVD
b250YWluZXI6CiAgICAgICAgIHJldHVybiBNRURJQV9DT05UUk9MU19USU1FTElORV9DT05UQUlO
RVI7CiAgICAgY2FzZSBQc2V1ZG9NZWRpYUNvbnRyb2xzVm9sdW1lU2xpZGVyQ29udGFpbmVyOgpA
QCAtMTc1LDI2ICsxNzEsOCBAQCBQc2V1ZG9JZCBDU1NTZWxlY3Rvcjo6cHNldWRvSWQoUHNldWRv
VHlwZSB0eXBlKQogICAgICAgICByZXR1cm4gTUVESUFfQ09OVFJPTFNfQ1VSUkVOVF9USU1FX0RJ
U1BMQVk7CiAgICAgY2FzZSBQc2V1ZG9NZWRpYUNvbnRyb2xzVGltZVJlbWFpbmluZ0Rpc3BsYXk6
CiAgICAgICAgIHJldHVybiBNRURJQV9DT05UUk9MU19USU1FX1JFTUFJTklOR19ESVNQTEFZOwot
ICAgIGNhc2UgUHNldWRvTWVkaWFDb250cm9sc1RpbWVsaW5lOgotICAgICAgICByZXR1cm4gTUVE
SUFfQ09OVFJPTFNfVElNRUxJTkU7Ci0gICAgY2FzZSBQc2V1ZG9NZWRpYUNvbnRyb2xzVm9sdW1l
U2xpZGVyOgotICAgICAgICByZXR1cm4gTUVESUFfQ09OVFJPTFNfVk9MVU1FX1NMSURFUjsKLSAg
ICBjYXNlIFBzZXVkb01lZGlhQ29udHJvbHNWb2x1bWVTbGlkZXJNdXRlQnV0dG9uOgotICAgICAg
ICByZXR1cm4gTUVESUFfQ09OVFJPTFNfVk9MVU1FX1NMSURFUl9NVVRFX0JVVFRPTjsKLSAgICBj
YXNlIFBzZXVkb01lZGlhQ29udHJvbHNTZWVrQmFja0J1dHRvbjoKLSAgICAgICAgcmV0dXJuIE1F
RElBX0NPTlRST0xTX1NFRUtfQkFDS19CVVRUT047Ci0gICAgY2FzZSBQc2V1ZG9NZWRpYUNvbnRy
b2xzU2Vla0ZvcndhcmRCdXR0b246Ci0gICAgICAgIHJldHVybiBNRURJQV9DT05UUk9MU19TRUVL
X0ZPUldBUkRfQlVUVE9OOwotICAgIGNhc2UgUHNldWRvTWVkaWFDb250cm9sc1Jld2luZEJ1dHRv
bjoKLSAgICAgICAgcmV0dXJuIE1FRElBX0NPTlRST0xTX1JFV0lORF9CVVRUT047Ci0gICAgY2Fz
ZSBQc2V1ZG9NZWRpYUNvbnRyb2xzUmV0dXJuVG9SZWFsdGltZUJ1dHRvbjoKLSAgICAgICAgcmV0
dXJuIE1FRElBX0NPTlRST0xTX1JFVFVSTl9UT19SRUFMVElNRV9CVVRUT047Ci0gICAgY2FzZSBQ
c2V1ZG9NZWRpYUNvbnRyb2xzVG9nZ2xlQ2xvc2VkQ2FwdGlvbnM6Ci0gICAgICAgIHJldHVybiBN
RURJQV9DT05UUk9MU19UT0dHTEVfQ0xPU0VEX0NBUFRJT05TX0JVVFRPTjsKICAgICBjYXNlIFBz
ZXVkb01lZGlhQ29udHJvbHNTdGF0dXNEaXNwbGF5OgogICAgICAgICByZXR1cm4gTUVESUFfQ09O
VFJPTFNfU1RBVFVTX0RJU1BMQVk7Ci0gICAgY2FzZSBQc2V1ZG9NZWRpYUNvbnRyb2xzRnVsbHNj
cmVlbkJ1dHRvbjoKLSAgICAgICAgcmV0dXJuIE1FRElBX0NPTlRST0xTX0ZVTExTQ1JFRU5fQlVU
VE9OOwogICAgIGNhc2UgUHNldWRvU2Nyb2xsYmFyOgogICAgICAgICByZXR1cm4gU0NST0xMQkFS
OwogICAgIGNhc2UgUHNldWRvU2Nyb2xsYmFyQnV0dG9uOgpAQCAtMzcwLDE4ICszNDgsNyBAQCBz
dGF0aWMgSGFzaE1hcDxBdG9taWNTdHJpbmdJbXBsKiwgQ1NTU2VsZWN0b3I6OlBzZXVkb1R5cGU+
KiBuYW1lVG9Qc2V1ZG9UeXBlTWFwKAogICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3Ry
aW5nLCBsaW5rLCAoImxpbmsiKSk7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJp
bmcsIGxhbmcsICgibGFuZygiKSk7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJp
bmcsIG1lZGlhQ29udHJvbHNQYW5lbCwgKCItd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBhbmVsIikp
OwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBtZWRpYUNvbnRyb2xzTXV0
ZUJ1dHRvbiwgKCItd2Via2l0LW1lZGlhLWNvbnRyb2xzLW11dGUtYnV0dG9uIikpOwotICAgIERF
RklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBtZWRpYUNvbnRyb2xzUGxheUJ1dHRvbiwg
KCItd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBsYXktYnV0dG9uIikpOwotICAgIERFRklORV9TVEFU
SUNfTE9DQUwoQXRvbWljU3RyaW5nLCBtZWRpYUNvbnRyb2xzVGltZWxpbmUsICgiLXdlYmtpdC1t
ZWRpYS1jb250cm9scy10aW1lbGluZSIpKTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21p
Y1N0cmluZywgbWVkaWFDb250cm9sc1ZvbHVtZVNsaWRlciwgKCItd2Via2l0LW1lZGlhLWNvbnRy
b2xzLXZvbHVtZS1zbGlkZXIiKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJp
bmcsIG1lZGlhQ29udHJvbHNWb2x1bWVTbGlkZXJNdXRlQnV0dG9uLCAoIi13ZWJraXQtbWVkaWEt
Y29udHJvbHMtdm9sdW1lLXNsaWRlci1tdXRlLWJ1dHRvbiIpKTsKLSAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKEF0b21pY1N0cmluZywgbWVkaWFDb250cm9sc1NlZWtCYWNrQnV0dG9uLCAoIi13ZWJr
aXQtbWVkaWEtY29udHJvbHMtc2Vlay1iYWNrLWJ1dHRvbiIpKTsKLSAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKEF0b21pY1N0cmluZywgbWVkaWFDb250cm9sc1NlZWtGb3J3YXJkQnV0dG9uLCAoIi13
ZWJraXQtbWVkaWEtY29udHJvbHMtc2Vlay1mb3J3YXJkLWJ1dHRvbiIpKTsKLSAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbWVkaWFDb250cm9sc1Jld2luZEJ1dHRvbiwgKCIt
d2Via2l0LW1lZGlhLWNvbnRyb2xzLXJld2luZC1idXR0b24iKSk7Ci0gICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChBdG9taWNTdHJpbmcsIG1lZGlhQ29udHJvbHNSZXR1cm5Ub1JlYWx0aW1lQnV0dG9u
LCAoIi13ZWJraXQtbWVkaWEtY29udHJvbHMtcmV0dXJuLXRvLXJlYWx0aW1lLWJ1dHRvbiIpKTsK
LSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbWVkaWFDb250cm9sc1RvZ2ds
ZUNsb3NlZENhcHRpb25zQnV0dG9uLCAoIi13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xlLWNs
b3NlZC1jYXB0aW9ucy1idXR0b24iKSk7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNT
dHJpbmcsIG1lZGlhQ29udHJvbHNTdGF0dXNEaXNwbGF5LCAoIi13ZWJraXQtbWVkaWEtY29udHJv
bHMtc3RhdHVzLWRpc3BsYXkiKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJp
bmcsIG1lZGlhQ29udHJvbHNGdWxsc2NyZWVuQnV0dG9uLCAoIi13ZWJraXQtbWVkaWEtY29udHJv
bHMtZnVsbHNjcmVlbi1idXR0b24iKSk7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNT
dHJpbmcsIG1lZGlhQ29udHJvbHNUaW1lbGluZUNvbnRhaW5lciwgKCItd2Via2l0LW1lZGlhLWNv
bnRyb2xzLXRpbWVsaW5lLWNvbnRhaW5lciIpKTsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0
b21pY1N0cmluZywgbWVkaWFDb250cm9sc1ZvbHVtZVNsaWRlckNvbnRhaW5lciwgKCItd2Via2l0
LW1lZGlhLWNvbnRyb2xzLXZvbHVtZS1zbGlkZXItY29udGFpbmVyIikpOwogICAgIERFRklORV9T
VEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBtZWRpYUNvbnRyb2xzQ3VycmVudFRpbWVEaXNwbGF5
LCAoIi13ZWJraXQtbWVkaWEtY29udHJvbHMtY3VycmVudC10aW1lLWRpc3BsYXkiKSk7CkBAIC00
ODcsMjAgKzQ1NCw5IEBAIHN0YXRpYyBIYXNoTWFwPEF0b21pY1N0cmluZ0ltcGwqLCBDU1NTZWxl
Y3Rvcjo6UHNldWRvVHlwZT4qIG5hbWVUb1BzZXVkb1R5cGVNYXAoCiAgICAgICAgIG5hbWVUb1Bz
ZXVkb1R5cGUtPnNldChsaW5rLmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb0xpbmspOwogICAg
ICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQobGFuZy5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1
ZG9MYW5nKTsKICAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KG1lZGlhQ29udHJvbHNQYW5l
bC5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9NZWRpYUNvbnRyb2xzUGFuZWwpOwotICAgICAg
ICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQobWVkaWFDb250cm9sc011dGVCdXR0b24uaW1wbCgpLCBD
U1NTZWxlY3Rvcjo6UHNldWRvTWVkaWFDb250cm9sc011dGVCdXR0b24pOwotICAgICAgICBuYW1l
VG9Qc2V1ZG9UeXBlLT5zZXQobWVkaWFDb250cm9sc1BsYXlCdXR0b24uaW1wbCgpLCBDU1NTZWxl
Y3Rvcjo6UHNldWRvTWVkaWFDb250cm9sc1BsYXlCdXR0b24pOwogICAgICAgICBuYW1lVG9Qc2V1
ZG9UeXBlLT5zZXQobWVkaWFDb250cm9sc0N1cnJlbnRUaW1lRGlzcGxheS5pbXBsKCksIENTU1Nl
bGVjdG9yOjpQc2V1ZG9NZWRpYUNvbnRyb2xzQ3VycmVudFRpbWVEaXNwbGF5KTsKICAgICAgICAg
bmFtZVRvUHNldWRvVHlwZS0+c2V0KG1lZGlhQ29udHJvbHNUaW1lUmVtYWluaW5nRGlzcGxheS5p
bXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9NZWRpYUNvbnRyb2xzVGltZVJlbWFpbmluZ0Rpc3Bs
YXkpOwotICAgICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQobWVkaWFDb250cm9sc1RpbWVsaW5l
LmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb01lZGlhQ29udHJvbHNUaW1lbGluZSk7Ci0gICAg
ICAgIG5hbWVUb1BzZXVkb1R5cGUtPnNldChtZWRpYUNvbnRyb2xzVm9sdW1lU2xpZGVyLmltcGwo
KSwgQ1NTU2VsZWN0b3I6OlBzZXVkb01lZGlhQ29udHJvbHNWb2x1bWVTbGlkZXIpOwotICAgICAg
ICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQobWVkaWFDb250cm9sc1ZvbHVtZVNsaWRlck11dGVCdXR0
b24uaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvTWVkaWFDb250cm9sc1ZvbHVtZVNsaWRlck11
dGVCdXR0b24pOwotICAgICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQobWVkaWFDb250cm9sc1Nl
ZWtCYWNrQnV0dG9uLmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb01lZGlhQ29udHJvbHNTZWVr
QmFja0J1dHRvbik7Ci0gICAgICAgIG5hbWVUb1BzZXVkb1R5cGUtPnNldChtZWRpYUNvbnRyb2xz
U2Vla0ZvcndhcmRCdXR0b24uaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvTWVkaWFDb250cm9s
c1NlZWtGb3J3YXJkQnV0dG9uKTsKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KG1lZGlh
Q29udHJvbHNSZXdpbmRCdXR0b24uaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvTWVkaWFDb250
cm9sc1Jld2luZEJ1dHRvbik7Ci0gICAgICAgIG5hbWVUb1BzZXVkb1R5cGUtPnNldChtZWRpYUNv
bnRyb2xzUmV0dXJuVG9SZWFsdGltZUJ1dHRvbi5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9N
ZWRpYUNvbnRyb2xzUmV0dXJuVG9SZWFsdGltZUJ1dHRvbik7Ci0gICAgICAgIG5hbWVUb1BzZXVk
b1R5cGUtPnNldChtZWRpYUNvbnRyb2xzVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b24uaW1wbCgp
LCBDU1NTZWxlY3Rvcjo6UHNldWRvTWVkaWFDb250cm9sc1RvZ2dsZUNsb3NlZENhcHRpb25zKTsK
ICAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KG1lZGlhQ29udHJvbHNTdGF0dXNEaXNwbGF5
LmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb01lZGlhQ29udHJvbHNTdGF0dXNEaXNwbGF5KTsK
LSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KG1lZGlhQ29udHJvbHNGdWxsc2NyZWVuQnV0
dG9uLmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb01lZGlhQ29udHJvbHNGdWxsc2NyZWVuQnV0
dG9uKTsKICAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KG1lZGlhQ29udHJvbHNUaW1lbGlu
ZUNvbnRhaW5lci5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9NZWRpYUNvbnRyb2xzVGltZWxp
bmVDb250YWluZXIpOwogICAgICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQobWVkaWFDb250cm9s
c1ZvbHVtZVNsaWRlckNvbnRhaW5lci5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9NZWRpYUNv
bnRyb2xzVm9sdW1lU2xpZGVyQ29udGFpbmVyKTsKICAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+
c2V0KG5vdFN0ci5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9Ob3QpOwpAQCAtNTk3LDIwICs1
NTMsOSBAQCB2b2lkIENTU1NlbGVjdG9yOjpleHRyYWN0UHNldWRvVHlwZSgpIGNvbnN0CiAjZW5k
aWYKICAgICBjYXNlIFBzZXVkb0lubmVyU3BpbkJ1dHRvbjoKICAgICBjYXNlIFBzZXVkb01lZGlh
Q29udHJvbHNQYW5lbDoKLSAgICBjYXNlIFBzZXVkb01lZGlhQ29udHJvbHNNdXRlQnV0dG9uOgot
ICAgIGNhc2UgUHNldWRvTWVkaWFDb250cm9sc1BsYXlCdXR0b246CiAgICAgY2FzZSBQc2V1ZG9N
ZWRpYUNvbnRyb2xzQ3VycmVudFRpbWVEaXNwbGF5OgogICAgIGNhc2UgUHNldWRvTWVkaWFDb250
cm9sc1RpbWVSZW1haW5pbmdEaXNwbGF5OgotICAgIGNhc2UgUHNldWRvTWVkaWFDb250cm9sc1Rp
bWVsaW5lOgotICAgIGNhc2UgUHNldWRvTWVkaWFDb250cm9sc1ZvbHVtZVNsaWRlcjoKLSAgICBj
YXNlIFBzZXVkb01lZGlhQ29udHJvbHNWb2x1bWVTbGlkZXJNdXRlQnV0dG9uOgotICAgIGNhc2Ug
UHNldWRvTWVkaWFDb250cm9sc1NlZWtCYWNrQnV0dG9uOgotICAgIGNhc2UgUHNldWRvTWVkaWFD
b250cm9sc1NlZWtGb3J3YXJkQnV0dG9uOgotICAgIGNhc2UgUHNldWRvTWVkaWFDb250cm9sc1Jl
d2luZEJ1dHRvbjoKLSAgICBjYXNlIFBzZXVkb01lZGlhQ29udHJvbHNSZXR1cm5Ub1JlYWx0aW1l
QnV0dG9uOgotICAgIGNhc2UgUHNldWRvTWVkaWFDb250cm9sc1RvZ2dsZUNsb3NlZENhcHRpb25z
OgogICAgIGNhc2UgUHNldWRvTWVkaWFDb250cm9sc1N0YXR1c0Rpc3BsYXk6Ci0gICAgY2FzZSBQ
c2V1ZG9NZWRpYUNvbnRyb2xzRnVsbHNjcmVlbkJ1dHRvbjoKICAgICBjYXNlIFBzZXVkb01lZGlh
Q29udHJvbHNUaW1lbGluZUNvbnRhaW5lcjoKICAgICBjYXNlIFBzZXVkb01lZGlhQ29udHJvbHNW
b2x1bWVTbGlkZXJDb250YWluZXI6CiAgICAgY2FzZSBQc2V1ZG9NZXRlckhvcml6b250YWxCYXI6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCmluZGV4IGI5MzAzNTM2ZjZiZjdiMGJkYzk0NjVkMTY4
NjNmODQzZWU2NzJjNjQuLjQyYjU5MzExYzI2ODQwZWJhYWViY2E5YzUxNjZhNDNiNTc5ZjNkNWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCkBAIC0xODQsMjIgKzE4NCwxMSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgICAgICBQc2V1ZG9TZWFyY2hSZXN1bHRzRGVjb3JhdGlvbiwK
ICAgICAgICAgICAgIFBzZXVkb1NlYXJjaFJlc3VsdHNCdXR0b24sCiAgICAgICAgICAgICBQc2V1
ZG9NZWRpYUNvbnRyb2xzUGFuZWwsCi0gICAgICAgICAgICBQc2V1ZG9NZWRpYUNvbnRyb2xzTXV0
ZUJ1dHRvbiwKLSAgICAgICAgICAgIFBzZXVkb01lZGlhQ29udHJvbHNQbGF5QnV0dG9uLAogICAg
ICAgICAgICAgUHNldWRvTWVkaWFDb250cm9sc1RpbWVsaW5lQ29udGFpbmVyLAogICAgICAgICAg
ICAgUHNldWRvTWVkaWFDb250cm9sc1ZvbHVtZVNsaWRlckNvbnRhaW5lciwKLSAgICAgICAgICAg
IFBzZXVkb01lZGlhQ29udHJvbHNWb2x1bWVTbGlkZXJNdXRlQnV0dG9uLAogICAgICAgICAgICAg
UHNldWRvTWVkaWFDb250cm9sc0N1cnJlbnRUaW1lRGlzcGxheSwKICAgICAgICAgICAgIFBzZXVk
b01lZGlhQ29udHJvbHNUaW1lUmVtYWluaW5nRGlzcGxheSwKLSAgICAgICAgICAgIFBzZXVkb01l
ZGlhQ29udHJvbHNUb2dnbGVDbG9zZWRDYXB0aW9ucywKLSAgICAgICAgICAgIFBzZXVkb01lZGlh
Q29udHJvbHNUaW1lbGluZSwKLSAgICAgICAgICAgIFBzZXVkb01lZGlhQ29udHJvbHNWb2x1bWVT
bGlkZXIsCi0gICAgICAgICAgICBQc2V1ZG9NZWRpYUNvbnRyb2xzU2Vla0JhY2tCdXR0b24sCi0g
ICAgICAgICAgICBQc2V1ZG9NZWRpYUNvbnRyb2xzU2Vla0ZvcndhcmRCdXR0b24sCi0gICAgICAg
ICAgICBQc2V1ZG9NZWRpYUNvbnRyb2xzUmV3aW5kQnV0dG9uLAotICAgICAgICAgICAgUHNldWRv
TWVkaWFDb250cm9sc1JldHVyblRvUmVhbHRpbWVCdXR0b24sCiAgICAgICAgICAgICBQc2V1ZG9N
ZWRpYUNvbnRyb2xzU3RhdHVzRGlzcGxheSwKLSAgICAgICAgICAgIFBzZXVkb01lZGlhQ29udHJv
bHNGdWxsc2NyZWVuQnV0dG9uLAogICAgICAgICAgICAgUHNldWRvTWV0ZXJIb3Jpem9udGFsQmFy
LAogICAgICAgICAgICAgUHNldWRvTWV0ZXJWZXJ0aWNhbEJhciwKICAgICAgICAgICAgIFBzZXVk
b01ldGVySG9yaXpvbnRhbE9wdGltdW0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAppbmRleCBlMjcxODFlYzg4YmUzMzY5ZjQ1OWNmY2Zl
OGZhNzU4YmJjYTAzZmQ2Li43YjNmZTVjZTM2NjExZDg2YzQ1MTFiZjZkNTVjZDhhMTkxZmUyZWQw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTWVkaWFDb250cm9sRWxlbWVu
dHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9NZWRpYUNvbnRyb2xFbGVtZW50
cy5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKIAogI2luY2x1ZGUgIk1lZGlhQ29udHJvbEVsZW1lbnRz
LmgiCiAKKyNpbmNsdWRlICJDU1NTdHlsZVNlbGVjdG9yLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1l
cy5oIgogI2luY2x1ZGUgIkZsb2F0Q29udmVyc2lvbi5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCkBA
IC0zNTIsNTEgKzM1MywxMCBAQCBib29sIE1lZGlhQ29udHJvbFN0YXR1c0Rpc3BsYXlFbGVtZW50
OjpyZW5kZXJlcklzTmVlZGVkKFJlbmRlclN0eWxlKiBzdHlsZSkKIAogLy8gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQogICAgIAotTWVkaWFDb250cm9sSW5wdXRFbGVtZW50OjpNZWRpYUNv
bnRyb2xJbnB1dEVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50LCBQc2V1ZG9J
ZCBwc2V1ZG8pCitNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQ6Ok1lZGlhQ29udHJvbElucHV0RWxl
bWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCiAgICAgOiBIVE1MSW5wdXRFbGVt
ZW50KGlucHV0VGFnLCBtZWRpYUVsZW1lbnQtPmRvY3VtZW50KCkpCiAgICAgLCBtX21lZGlhRWxl
bWVudChtZWRpYUVsZW1lbnQpCi0gICAgLCBtX3BzZXVkb1N0eWxlSWQocHNldWRvKQogewotICAg
IHNldEluRG9jdW1lbnQoKTsKLQotICAgIHN3aXRjaCAocHNldWRvKSB7Ci0gICAgY2FzZSBNRURJ
QV9DT05UUk9MU19NVVRFX0JVVFRPTjoKLSAgICAgICAgbV9kaXNwbGF5VHlwZSA9IE1lZGlhTXV0
ZUJ1dHRvbjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNRURJQV9DT05UUk9MU19QTEFZX0JV
VFRPTjoKLSAgICAgICAgbV9kaXNwbGF5VHlwZSA9IE1lZGlhUGxheUJ1dHRvbjsKLSAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBNRURJQV9DT05UUk9MU19TRUVLX0ZPUldBUkRfQlVUVE9OOgotICAg
ICAgICBtX2Rpc3BsYXlUeXBlID0gTWVkaWFTZWVrRm9yd2FyZEJ1dHRvbjsKLSAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBNRURJQV9DT05UUk9MU19TRUVLX0JBQ0tfQlVUVE9OOgotICAgICAgICBt
X2Rpc3BsYXlUeXBlID0gTWVkaWFTZWVrQmFja0J1dHRvbjsKLSAgICAgICAgYnJlYWs7Ci0gICAg
Y2FzZSBNRURJQV9DT05UUk9MU19GVUxMU0NSRUVOX0JVVFRPTjoKLSAgICAgICAgbV9kaXNwbGF5
VHlwZSA9IE1lZGlhRnVsbHNjcmVlbkJ1dHRvbjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBN
RURJQV9DT05UUk9MU19USU1FTElORToKLSAgICAgICAgbV9kaXNwbGF5VHlwZSA9IE1lZGlhU2xp
ZGVyOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIE1FRElBX0NPTlRST0xTX1JFVFVSTl9UT19S
RUFMVElNRV9CVVRUT046Ci0gICAgICAgIG1fZGlzcGxheVR5cGUgPSBNZWRpYVJldHVyblRvUmVh
bHRpbWVCdXR0b247Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTUVESUFfQ09OVFJPTFNfUkVX
SU5EX0JVVFRPTjoKLSAgICAgICAgbV9kaXNwbGF5VHlwZSA9IE1lZGlhUmV3aW5kQnV0dG9uOwot
ICAgICAgICBicmVhazsKLSAgICBjYXNlIE1FRElBX0NPTlRST0xTX1ZPTFVNRV9TTElERVI6Ci0g
ICAgICAgIG1fZGlzcGxheVR5cGUgPSBNZWRpYVZvbHVtZVNsaWRlcjsKLSAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBNRURJQV9DT05UUk9MU19WT0xVTUVfU0xJREVSX01VVEVfQlVUVE9OOgotICAg
ICAgICBtX2Rpc3BsYXlUeXBlID0gTWVkaWFWb2x1bWVTbGlkZXJNdXRlQnV0dG9uOwotICAgICAg
ICBicmVhazsKLSAgICBjYXNlIE1FRElBX0NPTlRST0xTX1RPR0dMRV9DTE9TRURfQ0FQVElPTlNf
QlVUVE9OOgotICAgICAgICBtX2Rpc3BsYXlUeXBlID0gTWVkaWFTaG93Q2xvc2VkQ2FwdGlvbnNC
dXR0b247Ci0gICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwotICAgICAgICBicmVhazsKLSAgICB9CiB9CiAKIHZvaWQgTWVkaWFDb250cm9s
SW5wdXRFbGVtZW50OjphdHRhY2hUb1BhcmVudChFbGVtZW50KiBwYXJlbnQpCkBAIC00MTYsNyAr
Mzc2LDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQ6OnVwZGF0ZSgpCiAKIFBhc3NS
ZWZQdHI8UmVuZGVyU3R5bGU+IE1lZGlhQ29udHJvbElucHV0RWxlbWVudDo6c3R5bGVGb3JFbGVt
ZW50KCkKIHsKLSAgICByZXR1cm4gbWVkaWFFbGVtZW50KCktPnJlbmRlcmVyKCktPmdldENhY2hl
ZFBzZXVkb1N0eWxlKG1fcHNldWRvU3R5bGVJZCk7CisgICAgcmV0dXJuIGRvY3VtZW50KCktPnN0
eWxlU2VsZWN0b3IoKS0+c3R5bGVGb3JFbGVtZW50KHRoaXMsIDAsIHRydWUpOwogfQogCiBib29s
IE1lZGlhQ29udHJvbElucHV0RWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZChSZW5kZXJTdHlsZSog
c3R5bGUpCkBAIC00ODEsNyArNDQxLDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQ6
OnVwZGF0ZVN0eWxlKCkKICAgICBpZiAoTm9kZSogc2hhZG93Tm9kZSA9IHNoYWRvd1Jvb3QoKSkK
ICAgICAgICAgc2hhZG93Tm9kZS0+cmVjYWxjU3R5bGUoTm9kZTo6Rm9yY2UpOwogfQotICAgIAor
CiBib29sIE1lZGlhQ29udHJvbElucHV0RWxlbWVudDo6aGl0VGVzdChjb25zdCBJbnRQb2ludCYg
YWJzUG9pbnQpCiB7CiAgICAgaWYgKHJlbmRlcmVyKCkgJiYgcmVuZGVyZXIoKS0+c3R5bGUoKS0+
aGFzQXBwZWFyYW5jZSgpKQpAQCAtNTAyLDE0ICs0NjIsMTUgQEAgdm9pZCBNZWRpYUNvbnRyb2xJ
bnB1dEVsZW1lbnQ6OnNldERpc3BsYXlUeXBlKE1lZGlhQ29udHJvbEVsZW1lbnRUeXBlIGRpc3Bs
YXlUeXAKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1pbmxpbmUgTWVkaWFD
b250cm9sTXV0ZUJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbE11dGVCdXR0b25FbGVtZW50KEhU
TUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCwgQnV0dG9uTG9jYXRpb24gbG9jYXRpb24pCi0g
ICAgOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQobWVkaWFFbGVtZW50LCBsb2NhdGlvbiA9PSBD
b250cm9sbGVyID8gTUVESUFfQ09OVFJPTFNfTVVURV9CVVRUT04gOiBNRURJQV9DT05UUk9MU19W
T0xVTUVfU0xJREVSX01VVEVfQlVUVE9OKQoraW5saW5lIE1lZGlhQ29udHJvbE11dGVCdXR0b25F
bGVtZW50OjpNZWRpYUNvbnRyb2xNdXRlQnV0dG9uRWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiBt
ZWRpYUVsZW1lbnQpCisgICAgOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQobWVkaWFFbGVtZW50
KQogeworICAgIG1fZGlzcGxheVR5cGUgPSBNZWRpYU11dGVCdXR0b247CiB9CiAKLVBhc3NSZWZQ
dHI8TWVkaWFDb250cm9sTXV0ZUJ1dHRvbkVsZW1lbnQ+IE1lZGlhQ29udHJvbE11dGVCdXR0b25F
bGVtZW50OjpjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50LCBCdXR0b25Mb2Nh
dGlvbiBsb2NhdGlvbikKK1Bhc3NSZWZQdHI8TWVkaWFDb250cm9sTXV0ZUJ1dHRvbkVsZW1lbnQ+
IE1lZGlhQ29udHJvbE11dGVCdXR0b25FbGVtZW50OjpjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCog
bWVkaWFFbGVtZW50KQogewotICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xNdXRlQnV0dG9uRWxlbWVu
dD4gYnV0dG9uID0gYWRvcHRSZWYobmV3IE1lZGlhQ29udHJvbE11dGVCdXR0b25FbGVtZW50KG1l
ZGlhRWxlbWVudCwgbG9jYXRpb24pKTsKKyAgICBSZWZQdHI8TWVkaWFDb250cm9sTXV0ZUJ1dHRv
bkVsZW1lbnQ+IGJ1dHRvbiA9IGFkb3B0UmVmKG5ldyBNZWRpYUNvbnRyb2xNdXRlQnV0dG9uRWxl
bWVudChtZWRpYUVsZW1lbnQpKTsKICAgICBidXR0b24tPnNldFR5cGUoImJ1dHRvbiIpOwogICAg
IHJldHVybiBidXR0b24ucmVsZWFzZSgpOwogfQpAQCAtNTIzLDE2ICs0ODQsNDIgQEAgdm9pZCBN
ZWRpYUNvbnRyb2xNdXRlQnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCog
ZXZlbnQpCiAgICAgSFRNTElucHV0RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7
CiB9CiAKK0F0b21pY1N0cmluZyBNZWRpYUNvbnRyb2xNdXRlQnV0dG9uRWxlbWVudDo6c2hhZG93
UHNldWRvSWQoKSBjb25zdAoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5n
LCBtdXRlQnV0dG9uLCAoIi13ZWJraXQtbWVkaWEtY29udHJvbHMtbXV0ZS1idXR0b24iKSk7Cisg
ICAgcmV0dXJuIG11dGVCdXR0b247Cit9CisKIHZvaWQgTWVkaWFDb250cm9sTXV0ZUJ1dHRvbkVs
ZW1lbnQ6OnVwZGF0ZURpc3BsYXlUeXBlKCkKIHsKICAgICBzZXREaXNwbGF5VHlwZShtZWRpYUVs
ZW1lbnQoKS0+bXV0ZWQoKSA/IE1lZGlhVW5NdXRlQnV0dG9uIDogTWVkaWFNdXRlQnV0dG9uKTsK
IH0KIAoraW5saW5lIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlck11dGVCdXR0b25FbGVtZW50OjpN
ZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJNdXRlQnV0dG9uRWxlbWVudChIVE1MTWVkaWFFbGVtZW50
KiBtZWRpYUVsZW1lbnQpCisgICAgOiBNZWRpYUNvbnRyb2xNdXRlQnV0dG9uRWxlbWVudChtZWRp
YUVsZW1lbnQpCit7CisgICAgbV9kaXNwbGF5VHlwZSA9IE1lZGlhVm9sdW1lU2xpZGVyTXV0ZUJ1
dHRvbjsKK30KKworUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJNdXRlQnV0dG9u
RWxlbWVudD4gTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyTXV0ZUJ1dHRvbkVsZW1lbnQ6OmNyZWF0
ZShIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCit7CisgICAgUmVmUHRyPE1lZGlhQ29u
dHJvbFZvbHVtZVNsaWRlck11dGVCdXR0b25FbGVtZW50PiBidXR0b24gPSBhZG9wdFJlZihuZXcg
TWVkaWFDb250cm9sVm9sdW1lU2xpZGVyTXV0ZUJ1dHRvbkVsZW1lbnQobWVkaWFFbGVtZW50KSk7
CisgICAgYnV0dG9uLT5zZXRUeXBlKCJidXR0b24iKTsKKyAgICByZXR1cm4gYnV0dG9uLnJlbGVh
c2UoKTsKK30KKworQXRvbWljU3RyaW5nIE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlck11dGVCdXR0
b25FbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0Cit7CisgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChBdG9taWNTdHJpbmcsIG11dGVCdXR0b24sICgiLXdlYmtpdC1tZWRpYS1jb250cm9scy12
b2x1bWUtc2xpZGVyLW11dGUtYnV0dG9uIikpOworICAgIHJldHVybiBtdXRlQnV0dG9uOworfQor
CiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIGlubGluZSBNZWRpYUNvbnRyb2xQ
bGF5QnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sUGxheUJ1dHRvbkVsZW1lbnQoSFRNTE1lZGlh
RWxlbWVudCogbWVkaWFFbGVtZW50KQotICAgIDogTWVkaWFDb250cm9sSW5wdXRFbGVtZW50KG1l
ZGlhRWxlbWVudCwgTUVESUFfQ09OVFJPTFNfUExBWV9CVVRUT04pCisgICAgOiBNZWRpYUNvbnRy
b2xJbnB1dEVsZW1lbnQobWVkaWFFbGVtZW50KQogeworICAgIG1fZGlzcGxheVR5cGUgPSBNZWRp
YVBsYXlCdXR0b247CiB9CiAKIFBhc3NSZWZQdHI8TWVkaWFDb250cm9sUGxheUJ1dHRvbkVsZW1l
bnQ+IE1lZGlhQ29udHJvbFBsYXlCdXR0b25FbGVtZW50OjpjcmVhdGUoSFRNTE1lZGlhRWxlbWVu
dCogbWVkaWFFbGVtZW50KQpAQCAtNTU2LDI4ICs1NDMsMjIgQEAgdm9pZCBNZWRpYUNvbnRyb2xQ
bGF5QnV0dG9uRWxlbWVudDo6dXBkYXRlRGlzcGxheVR5cGUoKQogICAgIHNldERpc3BsYXlUeXBl
KG1lZGlhRWxlbWVudCgpLT5jYW5QbGF5KCkgPyBNZWRpYVBsYXlCdXR0b24gOiBNZWRpYVBhdXNl
QnV0dG9uKTsKIH0KIAorQXRvbWljU3RyaW5nIE1lZGlhQ29udHJvbFBsYXlCdXR0b25FbGVtZW50
OjpzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0Cit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9t
aWNTdHJpbmcsIHBsYXlCdXR0b24sICgiLXdlYmtpdC1tZWRpYS1jb250cm9scy1wbGF5LWJ1dHRv
biIpKTsKKyAgICByZXR1cm4gcGxheUJ1dHRvbjsKK30KKwogLy8gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQogCi1pbmxpbmUgTWVkaWFDb250cm9sU2Vla0J1dHRvbkVsZW1lbnQ6Ok1lZGlh
Q29udHJvbFNlZWtCdXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCwg
UHNldWRvSWQgcHNldWRvSWQpCi0gICAgOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQobWVkaWFF
bGVtZW50LCBwc2V1ZG9JZCkKK2lubGluZSBNZWRpYUNvbnRyb2xTZWVrQnV0dG9uRWxlbWVudDo6
TWVkaWFDb250cm9sU2Vla0J1dHRvbkVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVt
ZW50KQorICAgIDogTWVkaWFDb250cm9sSW5wdXRFbGVtZW50KG1lZGlhRWxlbWVudCkKICAgICAs
IG1fc2Vla2luZyhmYWxzZSkKICAgICAsIG1fY2FwdHVyaW5nKGZhbHNlKQogICAgICwgbV9zZWVr
VGltZXIodGhpcywgJk1lZGlhQ29udHJvbFNlZWtCdXR0b25FbGVtZW50OjpzZWVrVGltZXJGaXJl
ZCkKIHsKIH0KIAotUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xTZWVrQnV0dG9uRWxlbWVudD4gTWVk
aWFDb250cm9sU2Vla0J1dHRvbkVsZW1lbnQ6OmNyZWF0ZShIVE1MTWVkaWFFbGVtZW50KiBtZWRp
YUVsZW1lbnQsIFBzZXVkb0lkIHBzZXVkb1N0eWxlSWQpCi17Ci0gICAgUmVmUHRyPE1lZGlhQ29u
dHJvbFNlZWtCdXR0b25FbGVtZW50PiBidXR0b24gPSBhZG9wdFJlZihuZXcgTWVkaWFDb250cm9s
U2Vla0J1dHRvbkVsZW1lbnQobWVkaWFFbGVtZW50LCBwc2V1ZG9TdHlsZUlkKSk7Ci0gICAgYnV0
dG9uLT5zZXRUeXBlKCJidXR0b24iKTsKLSAgICByZXR1cm4gYnV0dG9uLnJlbGVhc2UoKTsKLX0K
LQotaW5saW5lIGJvb2wgTWVkaWFDb250cm9sU2Vla0J1dHRvbkVsZW1lbnQ6OmlzRm9yd2FyZEJ1
dHRvbigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHBzZXVkb1N0eWxlSWQoKSA9PSBNRURJQV9DT05U
Uk9MU19TRUVLX0ZPUldBUkRfQlVUVE9OOwotfQotCiB2b2lkIE1lZGlhQ29udHJvbFNlZWtCdXR0
b25FbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50KiBldmVudCkKIHsKICAgICBpZiAo
ZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkubW91c2Vkb3duRXZlbnQpIHsKQEAgLTYyNyw5
ICs2MDgsNTIgQEAgdm9pZCBNZWRpYUNvbnRyb2xTZWVrQnV0dG9uRWxlbWVudDo6ZGV0YWNoKCkK
IAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCitpbmxpbmUgTWVkaWFDb250cm9s
U2Vla0ZvcndhcmRCdXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xTZWVrRm9yd2FyZEJ1dHRvbkVs
ZW1lbnQoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KQorICAgIDogTWVkaWFDb250cm9s
U2Vla0J1dHRvbkVsZW1lbnQobWVkaWFFbGVtZW50KQoreworICAgIG1fZGlzcGxheVR5cGUgPSBN
ZWRpYVNlZWtGb3J3YXJkQnV0dG9uOworfQorCitQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFNlZWtG
b3J3YXJkQnV0dG9uRWxlbWVudD4gTWVkaWFDb250cm9sU2Vla0ZvcndhcmRCdXR0b25FbGVtZW50
OjpjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KQoreworICAgIFJlZlB0cjxN
ZWRpYUNvbnRyb2xTZWVrRm9yd2FyZEJ1dHRvbkVsZW1lbnQ+IGJ1dHRvbiA9IGFkb3B0UmVmKG5l
dyBNZWRpYUNvbnRyb2xTZWVrRm9yd2FyZEJ1dHRvbkVsZW1lbnQobWVkaWFFbGVtZW50KSk7Cisg
ICAgYnV0dG9uLT5zZXRUeXBlKCJidXR0b24iKTsKKyAgICByZXR1cm4gYnV0dG9uLnJlbGVhc2Uo
KTsKK30KKworQXRvbWljU3RyaW5nIE1lZGlhQ29udHJvbFNlZWtGb3J3YXJkQnV0dG9uRWxlbWVu
dDo6c2hhZG93UHNldWRvSWQoKSBjb25zdAoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRv
bWljU3RyaW5nLCBzZWVrRm9yd2FyZEJ1dHRvbiwgKCItd2Via2l0LW1lZGlhLWNvbnRyb2xzLXNl
ZWstZm9yd2FyZC1idXR0b24iKSk7CisgICAgcmV0dXJuIHNlZWtGb3J3YXJkQnV0dG9uOworfQor
CisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK2lubGluZSBNZWRpYUNvbnRyb2xT
ZWVrQmFja0J1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbFNlZWtCYWNrQnV0dG9uRWxlbWVudChI
VE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCisgICAgOiBNZWRpYUNvbnRyb2xTZWVrQnV0
dG9uRWxlbWVudChtZWRpYUVsZW1lbnQpCit7CisgICAgbV9kaXNwbGF5VHlwZSA9IE1lZGlhU2Vl
a0JhY2tCdXR0b247Cit9CisKK1Bhc3NSZWZQdHI8TWVkaWFDb250cm9sU2Vla0JhY2tCdXR0b25F
bGVtZW50PiBNZWRpYUNvbnRyb2xTZWVrQmFja0J1dHRvbkVsZW1lbnQ6OmNyZWF0ZShIVE1MTWVk
aWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCit7CisgICAgUmVmUHRyPE1lZGlhQ29udHJvbFNlZWtC
YWNrQnV0dG9uRWxlbWVudD4gYnV0dG9uID0gYWRvcHRSZWYobmV3IE1lZGlhQ29udHJvbFNlZWtC
YWNrQnV0dG9uRWxlbWVudChtZWRpYUVsZW1lbnQpKTsKKyAgICBidXR0b24tPnNldFR5cGUoImJ1
dHRvbiIpOworICAgIHJldHVybiBidXR0b24ucmVsZWFzZSgpOworfQorCitBdG9taWNTdHJpbmcg
TWVkaWFDb250cm9sU2Vla0JhY2tCdXR0b25FbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0
Cit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIHNlZWtCYWNrQnV0dG9u
LCAoIi13ZWJraXQtbWVkaWEtY29udHJvbHMtc2Vlay1iYWNrLWJ1dHRvbiIpKTsKKyAgICByZXR1
cm4gc2Vla0JhY2tCdXR0b247Cit9CisKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
KwogaW5saW5lIE1lZGlhQ29udHJvbFJld2luZEJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbFJl
d2luZEJ1dHRvbkVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCogZWxlbWVudCkKLSAgICA6IE1lZGlh
Q29udHJvbElucHV0RWxlbWVudChlbGVtZW50LCBNRURJQV9DT05UUk9MU19SRVdJTkRfQlVUVE9O
KQorICAgIDogTWVkaWFDb250cm9sSW5wdXRFbGVtZW50KGVsZW1lbnQpCiB7CisgICAgbV9kaXNw
bGF5VHlwZSA9IE1lZGlhUmV3aW5kQnV0dG9uOwogfQogCiBQYXNzUmVmUHRyPE1lZGlhQ29udHJv
bFJld2luZEJ1dHRvbkVsZW1lbnQ+IE1lZGlhQ29udHJvbFJld2luZEJ1dHRvbkVsZW1lbnQ6OmNy
ZWF0ZShIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCkBAIC02NDgsMTEgKzY3MiwxOCBA
QCB2b2lkIE1lZGlhQ29udHJvbFJld2luZEJ1dHRvbkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRs
ZXIoRXZlbnQqIGV2ZW50KQogICAgIEhUTUxJbnB1dEVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRs
ZXIoZXZlbnQpOwogfQogCitBdG9taWNTdHJpbmcgTWVkaWFDb250cm9sUmV3aW5kQnV0dG9uRWxl
bWVudDo6c2hhZG93UHNldWRvSWQoKSBjb25zdAoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwo
QXRvbWljU3RyaW5nLCByZXdpbmRCdXR0b24sICgiLXdlYmtpdC1tZWRpYS1jb250cm9scy1yZXdp
bmQtYnV0dG9uIikpOworICAgIHJldHVybiByZXdpbmRCdXR0b247Cit9CisKIC8vIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogaW5saW5lIE1lZGlhQ29udHJvbFJldHVyblRvUmVhbHRp
bWVCdXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uRWxlbWVu
dChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCi0gICAgOiBNZWRpYUNvbnRyb2xJbnB1
dEVsZW1lbnQobWVkaWFFbGVtZW50LCBNRURJQV9DT05UUk9MU19SRVRVUk5fVE9fUkVBTFRJTUVf
QlVUVE9OKQorICAgIDogTWVkaWFDb250cm9sSW5wdXRFbGVtZW50KG1lZGlhRWxlbWVudCkKIHsK
KyAgICBtX2Rpc3BsYXlUeXBlID0gTWVkaWFSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uOwogfQogCiBQ
YXNzUmVmUHRyPE1lZGlhQ29udHJvbFJldHVyblRvUmVhbHRpbWVCdXR0b25FbGVtZW50PiBNZWRp
YUNvbnRyb2xSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uRWxlbWVudDo6Y3JlYXRlKEhUTUxNZWRpYUVs
ZW1lbnQqIG1lZGlhRWxlbWVudCkKQEAgLTY3MSwxMiArNzAyLDE4IEBAIHZvaWQgTWVkaWFDb250
cm9sUmV0dXJuVG9SZWFsdGltZUJ1dHRvbkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZl
bnQqIGV2ZW50CiAgICAgSFRNTElucHV0RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVu
dCk7CiB9CiAKK0F0b21pY1N0cmluZyBNZWRpYUNvbnRyb2xSZXR1cm5Ub1JlYWx0aW1lQnV0dG9u
RWxlbWVudDo6c2hhZG93UHNldWRvSWQoKSBjb25zdAoreworICAgIERFRklORV9TVEFUSUNfTE9D
QUwoQXRvbWljU3RyaW5nLCByZXR1cm5Ub1JlYWx0aW1lQnV0dG9uLCAoIi13ZWJraXQtbWVkaWEt
Y29udHJvbHMtcmV0dXJuLXRvLXJlYWx0aW1lLWJ1dHRvbiIpKTsKKyAgICByZXR1cm4gcmV0dXJu
VG9SZWFsdGltZUJ1dHRvbjsKK30KIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQog
CiBpbmxpbmUgTWVkaWFDb250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpN
ZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQoSFRNTE1lZGlhRWxl
bWVudCogbWVkaWFFbGVtZW50KQotICAgIDogTWVkaWFDb250cm9sSW5wdXRFbGVtZW50KG1lZGlh
RWxlbWVudCwgTUVESUFfQ09OVFJPTFNfVE9HR0xFX0NMT1NFRF9DQVBUSU9OU19CVVRUT04pCisg
ICAgOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQobWVkaWFFbGVtZW50KQogeworICAgIG1fZGlz
cGxheVR5cGUgPSBNZWRpYVNob3dDbG9zZWRDYXB0aW9uc0J1dHRvbjsKIH0KIAogUGFzc1JlZlB0
cjxNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9uc0J1dHRvbkVsZW1lbnQ+IE1lZGlhQ29u
dHJvbFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudDo6Y3JlYXRlKEhUTUxNZWRpYUVs
ZW1lbnQqIG1lZGlhRWxlbWVudCkKQEAgLTcwMSwxMSArNzM4LDE4IEBAIHZvaWQgTWVkaWFDb250
cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50Ojp1cGRhdGVEaXNwbGF5VHlwZSgp
CiAgICAgc2V0RGlzcGxheVR5cGUobWVkaWFFbGVtZW50KCktPmNsb3NlZENhcHRpb25zVmlzaWJs
ZSgpID8gTWVkaWFIaWRlQ2xvc2VkQ2FwdGlvbnNCdXR0b24gOiBNZWRpYVNob3dDbG9zZWRDYXB0
aW9uc0J1dHRvbik7CiB9CiAKK0F0b21pY1N0cmluZyBNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRD
YXB0aW9uc0J1dHRvbkVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKCkgY29uc3QKK3sKKyAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgY2xvc2VkQ2FwdGlvbnNCdXR0b24sICgiLXdl
YmtpdC1tZWRpYS1jb250cm9scy10b2dnbGUtY2xvc2VkLWNhcHRpb25zLWJ1dHRvbiIpKTsKKyAg
ICByZXR1cm4gY2xvc2VkQ2FwdGlvbnNCdXR0b247Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KIAogTWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50OjpNZWRpYUNvbnRyb2xU
aW1lbGluZUVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KQotICAgIDogTWVk
aWFDb250cm9sSW5wdXRFbGVtZW50KG1lZGlhRWxlbWVudCwgTUVESUFfQ09OVFJPTFNfVElNRUxJ
TkUpCisgICAgOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQobWVkaWFFbGVtZW50KQogeworICAg
IG1fZGlzcGxheVR5cGUgPSBNZWRpYVNsaWRlcjsKIH0KIAogUGFzc1JlZlB0cjxNZWRpYUNvbnRy
b2xUaW1lbGluZUVsZW1lbnQ+IE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudDo6Y3JlYXRlKEhU
TUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCkKQEAgLTc1NiwxMSArODAwLDE4IEBAIHZvaWQg
TWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50Ojp1cGRhdGUoYm9vbCB1cGRhdGVEdXJhdGlvbikK
ICAgICBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQ6OnVwZGF0ZSgpOwogfQogCitBdG9taWNTdHJp
bmcgTWVkaWFDb250cm9sVGltZWxpbmVFbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0Cit7
CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIHRpbWVsaW5lU2xpZGVyLCAo
Ii13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZWxpbmUiKSk7CisgICAgcmV0dXJuIHRpbWVsaW5l
U2xpZGVyOworfQorCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIGlubGluZSBN
ZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50OjpNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJF
bGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCkKLSAgICA6IE1lZGlhQ29udHJv
bElucHV0RWxlbWVudChtZWRpYUVsZW1lbnQsIE1FRElBX0NPTlRST0xTX1ZPTFVNRV9TTElERVIp
CisgICAgOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQobWVkaWFFbGVtZW50KQogeworICAgIG1f
ZGlzcGxheVR5cGUgPSBNZWRpYVZvbHVtZVNsaWRlcjsKIH0KIAogUGFzc1JlZlB0cjxNZWRpYUNv
bnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50PiBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50
OjpjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KQpAQCAtODAwLDExICs4NTEs
MTggQEAgdm9pZCBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50Ojp1cGRhdGUoKQogICAg
IE1lZGlhQ29udHJvbElucHV0RWxlbWVudDo6dXBkYXRlKCk7CiB9CiAKK0F0b21pY1N0cmluZyBN
ZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0Cit7
CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIHZvbHVtZVNsaWRlciwgKCIt
d2Via2l0LW1lZGlhLWNvbnRyb2xzLXZvbHVtZS1zbGlkZXIiKSk7CisgICAgcmV0dXJuIHZvbHVt
ZVNsaWRlcjsKK30KKwogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBpbmxpbmUg
TWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbEZ1bGxzY3Jl
ZW5CdXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCkKLSAgICA6IE1l
ZGlhQ29udHJvbElucHV0RWxlbWVudChtZWRpYUVsZW1lbnQsIE1FRElBX0NPTlRST0xTX0ZVTExT
Q1JFRU5fQlVUVE9OKQorICAgIDogTWVkaWFDb250cm9sSW5wdXRFbGVtZW50KG1lZGlhRWxlbWVu
dCkKIHsKKyAgICBtX2Rpc3BsYXlUeXBlID0gTWVkaWFGdWxsc2NyZWVuQnV0dG9uOwogfQogCiBQ
YXNzUmVmUHRyPE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50PiBNZWRpYUNvbnRy
b2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudDo6Y3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlh
RWxlbWVudCkKQEAgLTgzNiw2ICs4OTQsMTIgQEAgdm9pZCBNZWRpYUNvbnRyb2xGdWxsc2NyZWVu
QnV0dG9uRWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiAgICAgSFRN
TElucHV0RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7CiB9CiAKK0F0b21pY1N0
cmluZyBNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudDo6c2hhZG93UHNldWRvSWQo
KSBjb25zdAoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCBmdWxsc2Ny
ZWVuQnV0dG9uLCAoIi13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVsbHNjcmVlbi1idXR0b24iKSk7
CisgICAgcmV0dXJuIGZ1bGxzY3JlZW5CdXR0b247Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KIAogaW5saW5lIE1lZGlhQ29udHJvbFRpbWVEaXNwbGF5RWxlbWVudDo6TWVk
aWFDb250cm9sVGltZURpc3BsYXlFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVu
dCwgUHNldWRvSWQgcHNldWRvKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L01lZGlhQ29udHJvbEVsZW1lbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTWVkaWFD
b250cm9sRWxlbWVudHMuaAppbmRleCBiMmQwNjNkNGZlYmEzYTk1ODViZTI1NjZmMjhjNTYyZThm
ZjA1OWQ2Li5jYjU3MTQ5YWYwY2Y2M2VjNzM5ZWY3Mzk1MjAzM2RjZDdhMzBlNWYxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTWVkaWFDb250cm9sRWxlbWVudHMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvTWVkaWFDb250cm9sRWxlbWVudHMuaApAQCAtMTc0
LDEyICsxNzQsMTEgQEAgcHVibGljOgogICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVu
dCgpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWFFbGVtZW50OyB9CiAKIHByb3RlY3RlZDoKLSAgICBN
ZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCosIFBzZXVkb0lkKTsKKyAg
ICBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCopOworICAgIE1lZGlh
Q29udHJvbEVsZW1lbnRUeXBlIG1fZGlzcGxheVR5cGU7CiAKICAgICB2b2lkIHNldERpc3BsYXlU
eXBlKE1lZGlhQ29udHJvbEVsZW1lbnRUeXBlKTsKIAotICAgIFBzZXVkb0lkIHBzZXVkb1N0eWxl
SWQoKSBjb25zdCB7IHJldHVybiBtX3BzZXVkb1N0eWxlSWQ7IH0KLQogcHJpdmF0ZToKICAgICB2
aXJ0dWFsIHZvaWQgYXR0YWNoKCk7CiAgICAgdmlydHVhbCBib29sIHJlbmRlcmVySXNOZWVkZWQo
UmVuZGVyU3R5bGUqKTsKQEAgLTE5MCwyNiArMTg5LDM4IEBAIHByaXZhdGU6CiAKICAgICB2aXJ0
dWFsIHZvaWQgdXBkYXRlRGlzcGxheVR5cGUoKSB7IH0KIAotICAgIEhUTUxNZWRpYUVsZW1lbnQq
IG1fbWVkaWFFbGVtZW50OyAgIAotICAgIFBzZXVkb0lkIG1fcHNldWRvU3R5bGVJZDsKLSAgICBN
ZWRpYUNvbnRyb2xFbGVtZW50VHlwZSBtX2Rpc3BsYXlUeXBlOworICAgIEhUTUxNZWRpYUVsZW1l
bnQqIG1fbWVkaWFFbGVtZW50OwogfTsKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogCiBjbGFzcyBNZWRpYUNvbnRyb2xNdXRlQnV0dG9uRWxlbWVudCA6IHB1YmxpYyBNZWRpYUNv
bnRyb2xJbnB1dEVsZW1lbnQgewogcHVibGljOgotICAgIGVudW0gQnV0dG9uTG9jYXRpb24geyBD
b250cm9sbGVyLCBWb2x1bWVTbGlkZXIgfTsKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUNv
bnRyb2xNdXRlQnV0dG9uRWxlbWVudD4gY3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqLCBCdXR0b25M
b2NhdGlvbik7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFDb250cm9sTXV0ZUJ1dHRvbkVs
ZW1lbnQ+IGNyZWF0ZShIVE1MTWVkaWFFbGVtZW50Kik7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGVm
YXVsdEV2ZW50SGFuZGxlcihFdmVudCopOwogCi1wcml2YXRlOgotICAgIE1lZGlhQ29udHJvbE11
dGVCdXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqLCBCdXR0b25Mb2NhdGlvbik7Citwcm90
ZWN0ZWQ6CisgICAgTWVkaWFDb250cm9sTXV0ZUJ1dHRvbkVsZW1lbnQoSFRNTE1lZGlhRWxlbWVu
dCopOwogCitwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVEaXNwbGF5VHlwZSgpOwor
ICAgIHZpcnR1YWwgQXRvbWljU3RyaW5nIHNoYWRvd1BzZXVkb0lkKCkgY29uc3Q7Cit9OworCisv
LyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK2NsYXNzIE1lZGlhQ29udHJvbFZvbHVt
ZVNsaWRlck11dGVCdXR0b25FbGVtZW50IDogcHVibGljIE1lZGlhQ29udHJvbE11dGVCdXR0b25F
bGVtZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xWb2x1
bWVTbGlkZXJNdXRlQnV0dG9uRWxlbWVudD4gY3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqKTsKKwor
cHJpdmF0ZToKKyAgICBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJNdXRlQnV0dG9uRWxlbWVudChI
VE1MTWVkaWFFbGVtZW50Kik7CisKKyAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyBzaGFkb3dQc2V1
ZG9JZCgpIGNvbnN0OwogfTsKIAorCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAK
IGNsYXNzIE1lZGlhQ29udHJvbFBsYXlCdXR0b25FbGVtZW50IDogcHVibGljIE1lZGlhQ29udHJv
bElucHV0RWxlbWVudCB7CkBAIC0yMjIsMjAgKzIzMywyMCBAQCBwcml2YXRlOgogICAgIE1lZGlh
Q29udHJvbFBsYXlCdXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqKTsKIAogICAgIHZpcnR1
YWwgdm9pZCB1cGRhdGVEaXNwbGF5VHlwZSgpOworICAgIHZpcnR1YWwgQXRvbWljU3RyaW5nIHNo
YWRvd1BzZXVkb0lkKCkgY29uc3Q7CiB9OwogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiAKIGNsYXNzIE1lZGlhQ29udHJvbFNlZWtCdXR0b25FbGVtZW50IDogcHVibGljIE1lZGlh
Q29udHJvbElucHV0RWxlbWVudCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8TWVk
aWFDb250cm9sU2Vla0J1dHRvbkVsZW1lbnQ+IGNyZWF0ZShIVE1MTWVkaWFFbGVtZW50KiwgUHNl
dWRvSWQpOwotCiAgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKTsK
IAotcHJpdmF0ZToKLSAgICBNZWRpYUNvbnRyb2xTZWVrQnV0dG9uRWxlbWVudChIVE1MTWVkaWFF
bGVtZW50KiwgUHNldWRvSWQpOworcHJvdGVjdGVkOgorICAgIE1lZGlhQ29udHJvbFNlZWtCdXR0
b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqKTsKIAotICAgIGJvb2wgaXNGb3J3YXJkQnV0dG9u
KCkgY29uc3Q7Citwcml2YXRlOgorICAgIHZpcnR1YWwgYm9vbCBpc0ZvcndhcmRCdXR0b24oKSBj
b25zdCA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoKCk7CiAgICAgdm9pZCBzZWVrVGlt
ZXJGaXJlZChUaW1lcjxNZWRpYUNvbnRyb2xTZWVrQnV0dG9uRWxlbWVudD4qKTsKQEAgLTI0NCw3
ICsyNTUsMzMgQEAgcHJpdmF0ZToKICAgICBib29sIG1fY2FwdHVyaW5nOwogICAgIFRpbWVyPE1l
ZGlhQ29udHJvbFNlZWtCdXR0b25FbGVtZW50PiBtX3NlZWtUaW1lcjsKIH07Ci0gICAgCisKKy8v
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworY2xhc3MgTWVkaWFDb250cm9sU2Vla0Zv
cndhcmRCdXR0b25FbGVtZW50IDogcHVibGljIE1lZGlhQ29udHJvbFNlZWtCdXR0b25FbGVtZW50
IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xTZWVrRm9yd2Fy
ZEJ1dHRvbkVsZW1lbnQ+IGNyZWF0ZShIVE1MTWVkaWFFbGVtZW50Kik7CisKK3ByaXZhdGU6Cisg
ICAgTWVkaWFDb250cm9sU2Vla0ZvcndhcmRCdXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQq
KTsKKworICAgIHZpcnR1YWwgYm9vbCBpc0ZvcndhcmRCdXR0b24oKSBjb25zdCB7IHJldHVybiB0
cnVlOyB9CisgICAgdmlydHVhbCBBdG9taWNTdHJpbmcgc2hhZG93UHNldWRvSWQoKSBjb25zdDsK
K307CisKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworY2xhc3MgTWVkaWFDb250
cm9sU2Vla0JhY2tCdXR0b25FbGVtZW50IDogcHVibGljIE1lZGlhQ29udHJvbFNlZWtCdXR0b25F
bGVtZW50IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xTZWVr
QmFja0J1dHRvbkVsZW1lbnQ+IGNyZWF0ZShIVE1MTWVkaWFFbGVtZW50Kik7CisKK3ByaXZhdGU6
CisgICAgTWVkaWFDb250cm9sU2Vla0JhY2tCdXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQq
KTsKKworICAgIHZpcnR1YWwgYm9vbCBpc0ZvcndhcmRCdXR0b24oKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQorICAgIHZpcnR1YWwgQXRvbWljU3RyaW5nIHNoYWRvd1BzZXVkb0lkKCkgY29uc3Q7
Cit9OworCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIGNsYXNzIE1lZGlhQ29u
dHJvbFJld2luZEJ1dHRvbkVsZW1lbnQgOiBwdWJsaWMgTWVkaWFDb250cm9sSW5wdXRFbGVtZW50
IHsKQEAgLTI1NSw2ICsyOTIsOCBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgTWVkaWFDb250
cm9sUmV3aW5kQnV0dG9uRWxlbWVudChIVE1MTWVkaWFFbGVtZW50Kik7CisKKyAgICB2aXJ0dWFs
IEF0b21pY1N0cmluZyBzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0OwogfTsKIAogLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMjY3LDYgKzMwNiw4IEBAIHB1YmxpYzoKIAogcHJpdmF0
ZToKICAgICBNZWRpYUNvbnRyb2xSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uRWxlbWVudChIVE1MTWVk
aWFFbGVtZW50Kik7CisKKyAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyBzaGFkb3dQc2V1ZG9JZCgp
IGNvbnN0OwogfTsgICAgCiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTI4
MSw2ICszMjIsNyBAQCBwcml2YXRlOgogICAgIE1lZGlhQ29udHJvbFRvZ2dsZUNsb3NlZENhcHRp
b25zQnV0dG9uRWxlbWVudChIVE1MTWVkaWFFbGVtZW50Kik7CiAKICAgICB2aXJ0dWFsIHZvaWQg
dXBkYXRlRGlzcGxheVR5cGUoKTsKKyAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyBzaGFkb3dQc2V1
ZG9JZCgpIGNvbnN0OwogfTsgICAgCiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
QEAgLTI5NCw2ICszMzYsOCBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgTWVkaWFDb250cm9s
VGltZWxpbmVFbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqKTsKKworICAgIHZpcnR1YWwgQXRvbWlj
U3RyaW5nIHNoYWRvd1BzZXVkb0lkKCkgY29uc3Q7CiB9OwogCiAvLyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCkBAIC0zMDcsNiArMzUxLDggQEAgcHVibGljOgogCiBwcml2YXRlOgogICAg
IE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlckVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCopOworCisg
ICAgdmlydHVhbCBBdG9taWNTdHJpbmcgc2hhZG93UHNldWRvSWQoKSBjb25zdDsKIH07CiAKIC8v
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTMxOSw2ICszNjUsOCBAQCBwdWJsaWM6
CiAKIHByaXZhdGU6CiAgICAgTWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQoSFRN
TE1lZGlhRWxlbWVudCopOworCisgICAgdmlydHVhbCBBdG9taWNTdHJpbmcgc2hhZG93UHNldWRv
SWQoKSBjb25zdDsKIH07CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVkaWEuY3BwCmluZGV4IDdkYTcyZGJhOTM3OTIwMjJl
YzQwYmU2MjQwMmM2MDMzNDE5OGJlODEuLjcwYjFiMzM2YjA5YzlkYmUwN2EyMTdmMjY3OTU3ZDg5
ZjY0ZTFkMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRp
YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhLmNwcApAQCAt
MTkwLDcgKzE5MCw3IEBAIHZvaWQgUmVuZGVyTWVkaWE6OmNyZWF0ZVBhbmVsKCkKIHZvaWQgUmVu
ZGVyTWVkaWE6OmNyZWF0ZU11dGVCdXR0b24oKQogewogICAgIEFTU0VSVCghbV9tdXRlQnV0dG9u
KTsKLSAgICBtX211dGVCdXR0b24gPSBNZWRpYUNvbnRyb2xNdXRlQnV0dG9uRWxlbWVudDo6Y3Jl
YXRlKG1lZGlhRWxlbWVudCgpLCBNZWRpYUNvbnRyb2xNdXRlQnV0dG9uRWxlbWVudDo6Q29udHJv
bGxlcik7CisgICAgbV9tdXRlQnV0dG9uID0gTWVkaWFDb250cm9sTXV0ZUJ1dHRvbkVsZW1lbnQ6
OmNyZWF0ZShtZWRpYUVsZW1lbnQoKSk7CiAgICAgbV9tdXRlQnV0dG9uLT5hdHRhY2hUb1BhcmVu
dChtX3BhbmVsLmdldCgpKTsKIH0KIApAQCAtMjA0LDE0ICsyMDQsMTQgQEAgdm9pZCBSZW5kZXJN
ZWRpYTo6Y3JlYXRlUGxheUJ1dHRvbigpCiB2b2lkIFJlbmRlck1lZGlhOjpjcmVhdGVTZWVrQmFj
a0J1dHRvbigpCiB7CiAgICAgQVNTRVJUKCFtX3NlZWtCYWNrQnV0dG9uKTsKLSAgICBtX3NlZWtC
YWNrQnV0dG9uID0gTWVkaWFDb250cm9sU2Vla0J1dHRvbkVsZW1lbnQ6OmNyZWF0ZShtZWRpYUVs
ZW1lbnQoKSwgTUVESUFfQ09OVFJPTFNfU0VFS19CQUNLX0JVVFRPTik7CisgICAgbV9zZWVrQmFj
a0J1dHRvbiA9IE1lZGlhQ29udHJvbFNlZWtCYWNrQnV0dG9uRWxlbWVudDo6Y3JlYXRlKG1lZGlh
RWxlbWVudCgpKTsKICAgICBtX3NlZWtCYWNrQnV0dG9uLT5hdHRhY2hUb1BhcmVudChtX3BhbmVs
LmdldCgpKTsKIH0KIAogdm9pZCBSZW5kZXJNZWRpYTo6Y3JlYXRlU2Vla0ZvcndhcmRCdXR0b24o
KQogewogICAgIEFTU0VSVCghbV9zZWVrRm9yd2FyZEJ1dHRvbik7Ci0gICAgbV9zZWVrRm9yd2Fy
ZEJ1dHRvbiA9IE1lZGlhQ29udHJvbFNlZWtCdXR0b25FbGVtZW50OjpjcmVhdGUobWVkaWFFbGVt
ZW50KCksIE1FRElBX0NPTlRST0xTX1NFRUtfRk9SV0FSRF9CVVRUT04pOworICAgIG1fc2Vla0Zv
cndhcmRCdXR0b24gPSBNZWRpYUNvbnRyb2xTZWVrRm9yd2FyZEJ1dHRvbkVsZW1lbnQ6OmNyZWF0
ZShtZWRpYUVsZW1lbnQoKSk7CiAgICAgbV9zZWVrRm9yd2FyZEJ1dHRvbi0+YXR0YWNoVG9QYXJl
bnQobV9wYW5lbC5nZXQoKSk7CiB9CiAKQEAgLTI3OCw3ICsyNzgsNyBAQCB2b2lkIFJlbmRlck1l
ZGlhOjpjcmVhdGVWb2x1bWVTbGlkZXIoKQogdm9pZCBSZW5kZXJNZWRpYTo6Y3JlYXRlVm9sdW1l
U2xpZGVyTXV0ZUJ1dHRvbigpCiB7CiAgICAgQVNTRVJUKCFtX3ZvbHVtZVNsaWRlck11dGVCdXR0
b24pOwotICAgIG1fdm9sdW1lU2xpZGVyTXV0ZUJ1dHRvbiA9IE1lZGlhQ29udHJvbE11dGVCdXR0
b25FbGVtZW50OjpjcmVhdGUobWVkaWFFbGVtZW50KCksIE1lZGlhQ29udHJvbE11dGVCdXR0b25F
bGVtZW50OjpWb2x1bWVTbGlkZXIpOworICAgIG1fdm9sdW1lU2xpZGVyTXV0ZUJ1dHRvbiA9IE1l
ZGlhQ29udHJvbFZvbHVtZVNsaWRlck11dGVCdXR0b25FbGVtZW50OjpjcmVhdGUobWVkaWFFbGVt
ZW50KCkpOwogICAgIG1fdm9sdW1lU2xpZGVyTXV0ZUJ1dHRvbi0+YXR0YWNoVG9QYXJlbnQobV92
b2x1bWVTbGlkZXJDb250YWluZXIuZ2V0KCkpOwogICAgIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlQ29uc3RhbnRzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAppbmRleCA3Y2Q0
OTAzMDFhMTc1YzNmMTlmZmNjZjhmNjZlYWFmOWZmYjZmNTM2Li42MzNkNDgyNGE5ZWQxYjE1ZWUy
NDM5YzJiMGQ5OWYzOTE0YjBkZGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGVDb25zdGFudHMuaApAQCAtNjksMTEgKzY5LDcgQEAgZW51
bSBQc2V1ZG9JZCB7CiAgICAgLy8gVGhlIG9yZGVyIG11c3QgYmUgTk9QIElELCBwdWJsaWMgSURz
LCBhbmQgdGhlbiBpbnRlcm5hbCBJRHMuCiAgICAgTk9QU0VVRE8sIEZJUlNUX0xJTkUsIEZJUlNU
X0xFVFRFUiwgQkVGT1JFLCBBRlRFUiwgU0VMRUNUSU9OLCBGSVJTVF9MSU5FX0lOSEVSSVRFRCwg
U0NST0xMQkFSLCBGSUxFX1VQTE9BRF9CVVRUT04sIElOUFVUX1BMQUNFSE9MREVSLAogICAgIFNF
QVJDSF9DQU5DRUxfQlVUVE9OLCBTRUFSQ0hfREVDT1JBVElPTiwgU0VBUkNIX1JFU1VMVFNfREVD
T1JBVElPTiwgU0VBUkNIX1JFU1VMVFNfQlVUVE9OLCBNRURJQV9DT05UUk9MU19QQU5FTCwKLSAg
ICBNRURJQV9DT05UUk9MU19QTEFZX0JVVFRPTiwgTUVESUFfQ09OVFJPTFNfTVVURV9CVVRUT04s
IE1FRElBX0NPTlRST0xTX1RJTUVMSU5FLCBNRURJQV9DT05UUk9MU19USU1FTElORV9DT05UQUlO
RVIsCi0gICAgTUVESUFfQ09OVFJPTFNfVk9MVU1FX1NMSURFUiwgTUVESUFfQ09OVFJPTFNfVk9M
VU1FX1NMSURFUl9DT05UQUlORVIsIE1FRElBX0NPTlRST0xTX1ZPTFVNRV9TTElERVJfTVVURV9C
VVRUT04sIAotICAgIE1FRElBX0NPTlRST0xTX0NVUlJFTlRfVElNRV9ESVNQTEFZLCBNRURJQV9D
T05UUk9MU19USU1FX1JFTUFJTklOR19ESVNQTEFZLCAKLSAgICBNRURJQV9DT05UUk9MU19TRUVL
X0JBQ0tfQlVUVE9OLCBNRURJQV9DT05UUk9MU19TRUVLX0ZPUldBUkRfQlVUVE9OLCBNRURJQV9D
T05UUk9MU19GVUxMU0NSRUVOX0JVVFRPTiwgTUVESUFfQ09OVFJPTFNfUkVXSU5EX0JVVFRPTiwg
Ci0gICAgTUVESUFfQ09OVFJPTFNfUkVUVVJOX1RPX1JFQUxUSU1FX0JVVFRPTiwgTUVESUFfQ09O
VFJPTFNfVE9HR0xFX0NMT1NFRF9DQVBUSU9OU19CVVRUT04sCisgICAgTUVESUFfQ09OVFJPTFNf
VElNRUxJTkVfQ09OVEFJTkVSLCBNRURJQV9DT05UUk9MU19WT0xVTUVfU0xJREVSX0NPTlRBSU5F
UiwgTUVESUFfQ09OVFJPTFNfQ1VSUkVOVF9USU1FX0RJU1BMQVksIE1FRElBX0NPTlRST0xTX1RJ
TUVfUkVNQUlOSU5HX0RJU1BMQVksIAogICAgIE1FRElBX0NPTlRST0xTX1NUQVRVU19ESVNQTEFZ
LCBTQ1JPTExCQVJfVEhVTUIsIFNDUk9MTEJBUl9CVVRUT04sIFNDUk9MTEJBUl9UUkFDSywgU0NS
T0xMQkFSX1RSQUNLX1BJRUNFLCBTQ1JPTExCQVJfQ09STkVSLCBSRVNJWkVSLAogICAgIElOUFVU
X0xJU1RfQlVUVE9OLCBJTlBVVF9TUEVFQ0hfQlVUVE9OLCBJTk5FUl9TUElOX0JVVFRPTiwgT1VU
RVJfU1BJTl9CVVRUT04sIFZJU0lURURfTElOSywgUFJPR1JFU1NfQkFSX1ZBTFVFLAogICAgIE1F
VEVSX0hPUklaT05UQUxfQkFSLCBNRVRFUl9IT1JJWk9OVEFMX09QVElNVU0sIE1FVEVSX0hPUkla
T05UQUxfU1VCT1BUSU1BTCwgTUVURVJfSE9SSVpPTlRBTF9FVkVOX0xFU1NfR09PRCwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80135</attachid>
            <date>2011-01-25 15:23:16 -0800</date>
            <delta_ts>2011-01-26 14:09:04 -0800</delta_ts>
            <desc>With fixups</desc>
            <filename>bug-53122-20110125152314.patch</filename>
            <type>text/plain</type>
            <size>39461</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmMjljN2JlYWQ1YmNiNjJkZDhjODUyODkxNDA2NGViZmYxY2YwZDY5Li4x
NjI2ZGE5MTA3M2ZmZGRjYmQ1MzYzMDhiOGNjOWQ0Mjk0MjVjMDUzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNzEgQEAKKzIwMTEtMDEtMjUgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBDaGFuZ2UgSFRNTElucHV0RWxlbWVudC1kZXJpdmVkIHBhcnRzIG9mIG1lZGlhIGVsZW1lbnQg
c2hhZG93IERPTSB0byB1c2Ugc2hhZG93UHNldWRvSWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzEyMgorCisgICAgICAgIFRoaXMgaXMgdGhlIGZp
cnN0IHN0ZXAgaW4gY29udmVydGluZyBIVE1MTWVkaWFFbGVtZW50IHRvIHRoZSBuZXcgc2hhZG93
IERPTS4KKworICAgICAgICBTaG91bGQgbm90IHJlZ3Jlc3MgYW55IGV4aXN0aW5nIHRlc3RzLiBO
byBvYnNlcnZhYmxlIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIGNzcy9DU1NTZWxl
Y3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rvcjo6cHNldWRvSWQpOiBSZW1v
dmVkIG5vdy11bm5lY2Vzc2FyeSBoYXJkLWNvZGVkIHBzZXVkby1lbGVtZW50IHNlbGVjdG9ycy4K
KyAgICAgICAgKFdlYkNvcmU6Om5hbWVUb1BzZXVkb1R5cGVNYXApOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OkNTU1NlbGVjdG9yOjpleHRyYWN0UHNldWRvVHlwZSk6IERpdHRvLgorICAgICAg
ICAqIGNzcy9DU1NTZWxlY3Rvci5oOiBEaXR0by4KKyAgICAgICAgKiBjc3MvbWVkaWFDb250cm9s
cy5jc3M6IEFkZGVkIHByb3BlciBpbml0aWFsIHZhbHVlcywgbm93IHRoYXQgZWxlbWVudHMgdXNl
IHRoZSBwcm9wZXIgc2VsZWN0b3IgcGlwZWxpbmUuCisgICAgICAgICogcmVuZGVyaW5nL01lZGlh
Q29udHJvbEVsZW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbElucHV0
RWxlbWVudDo6TWVkaWFDb250cm9sSW5wdXRFbGVtZW50KTogUmVtb3ZlZCB0aGUgc3dpdGNoIHN0
YXRlbWVudCwKKyAgICAgICAgICAgIHdoaWNoIGlzIG5vdyByZXBsYWNlZCB3aXRoIHZpcnR1YWwg
c2hhZG93UHNldWRvSWQgb24gZWFjaCBjb3JyZXNwb25kaW5nIGNsYXNzLgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFDb250cm9sSW5wdXRFbGVtZW50OjpzdHlsZUZvckVsZW1lbnQpOiBDaGFuZ2Vk
IHRvIHVzZSBlbGVtZW50IHBpcGVsaW5lLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
TXV0ZUJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbE11dGVCdXR0b25FbGVtZW50KTogQ2hhbmdl
ZCB0byBzZXQKKyAgICAgICAgICAgIGRpc3BsYXkgdHlwZSBpbiBjb25zdHJ1Y3Rvci4KKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbE11dGVCdXR0b25FbGVtZW50OjpjcmVhdGUpOiBDaGFu
Z2VkIHRvIG5vdCB0YWtlIFBzZXVkb0lkIGFzCisgICAgICAgICAgICBjb25zdHJ1Y3RvciBhcmd1
bWVudC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbE11dGVCdXR0b25FbGVtZW50Ojpz
aGFkb3dQc2V1ZG9JZCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVm9s
dW1lU2xpZGVyTXV0ZUJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbFZvbHVtZVNsaWRlck11dGVC
dXR0b25FbGVtZW50KTogQWRkZWQKKyAgICAgICAgICAgIHRvIGRpc2FtYmlndWF0ZSBmcm9tIHRo
ZSBNZWRpYUNvbnRyb2xNdXRlQnV0dG9uRWxlbWVudC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
Q29udHJvbFZvbHVtZVNsaWRlck11dGVCdXR0b25FbGVtZW50OjpjcmVhdGUpOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFZvbHVtZVNsaWRlck11dGVCdXR0b25FbGVtZW50
OjpzaGFkb3dQc2V1ZG9JZCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9s
UGxheUJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbFBsYXlCdXR0b25FbGVtZW50KTogQ2hhbmdl
ZCB0byBub3QgdGFrZSBQc2V1ZG9JZCBhcworICAgICAgICAgICAgY29uc3RydWN0b3IgYXJndW1l
bnQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xQbGF5QnV0dG9uRWxlbWVudDo6c2hh
ZG93UHNldWRvSWQpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFNlZWtC
dXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xTZWVrQnV0dG9uRWxlbWVudCk6IENoYW5nZWQgdG8g
bm90IHRha2UgUHNldWRvSWQgYXMKKyAgICAgICAgICAgIGNvbnN0cnVjdG9yIGFyZ3VtZW50Lgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sU2Vla0ZvcndhcmRCdXR0b25FbGVtZW50OjpN
ZWRpYUNvbnRyb2xTZWVrRm9yd2FyZEJ1dHRvbkVsZW1lbnQpOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhQ29udHJvbFNlZWtGb3J3YXJkQnV0dG9uRWxlbWVudDo6Y3JlYXRlKTogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xTZWVrRm9yd2FyZEJ1dHRvbkVsZW1l
bnQ6OnNoYWRvd1BzZXVkb0lkKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRy
b2xTZWVrQmFja0J1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbFNlZWtCYWNrQnV0dG9uRWxlbWVu
dCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sU2Vla0JhY2tCdXR0b25F
bGVtZW50OjpjcmVhdGUpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFNl
ZWtCYWNrQnV0dG9uRWxlbWVudDo6c2hhZG93UHNldWRvSWQpOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhQ29udHJvbFJld2luZEJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbFJld2lu
ZEJ1dHRvbkVsZW1lbnQpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFJl
d2luZEJ1dHRvbkVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKTogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUNvbnRyb2xSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uRWxlbWVudDo6TWVkaWFDb250
cm9sUmV0dXJuVG9SZWFsdGltZUJ1dHRvbkVsZW1lbnQpOiBDaGFuZ2VkIHRvIG5vdCB0YWtlIFBz
ZXVkb0lkIGFzCisgICAgICAgICAgICBjb25zdHJ1Y3RvciBhcmd1bWVudC4KKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhQ29udHJvbFJldHVyblRvUmVhbHRpbWVCdXR0b25FbGVtZW50OjpzaGFkb3dQ
c2V1ZG9JZCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFDb250cm9sVG9nZ2xlQ2xv
c2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9u
c0J1dHRvbkVsZW1lbnQpOiBDaGFuZ2VkIHRvIG5vdCB0YWtlIFBzZXVkb0lkIGFzCisgICAgICAg
ICAgICBjb25zdHJ1Y3RvciBhcmd1bWVudC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJv
bFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudDo6c2hhZG93UHNldWRvSWQpOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudDo6TWVkaWFD
b250cm9sVGltZWxpbmVFbGVtZW50KTogQ2hhbmdlZCB0byBub3QgdGFrZSBQc2V1ZG9JZCBhcwor
ICAgICAgICAgICAgY29uc3RydWN0b3IgYXJndW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpNZWRp
YUNvbnRyb2xUaW1lbGluZUVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKTogQWRkZWQuCisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50OjpNZWRpYUNvbnRyb2xW
b2x1bWVTbGlkZXJFbGVtZW50KTogQ2hhbmdlZCB0byBub3QgdGFrZSBQc2V1ZG9JZCBhcworICAg
ICAgICAgICAgY29uc3RydWN0b3IgYXJndW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNv
bnRyb2xWb2x1bWVTbGlkZXJFbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCk6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFDb250cm9sRnVsbHNjcmVlbkJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29u
dHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50KTogQ2hhbmdlZCB0byBub3QgdGFrZSBQc2V1ZG9J
ZCBhcworICAgICAgICAgICAgY29uc3RydWN0b3IgYXJndW1lbnQuCisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0dG9uRWxlbWVudDo6c2hhZG93UHNldWRvSWQpOiBB
ZGRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvTWVkaWFDb250cm9sRWxlbWVudHMuaDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhQ29udHJvbFNlZWtGb3J3YXJkQnV0dG9uRWxlbWVudDo6aXNGb3J3
YXJkQnV0dG9uKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUNvbnRyb2xTZWVrQmFj
a0J1dHRvbkVsZW1lbnQ6OmlzRm9yd2FyZEJ1dHRvbik6IEFkZGVkLgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJNZWRpYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZWRpYTo6Y3Jl
YXRlTXV0ZUJ1dHRvbik6IENoYW5nZWQgdG8gdXNlIG5ldyBjb25zdHJ1Y3Rvci4KKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlck1lZGlhOjpjcmVhdGVTZWVrQmFja0J1dHRvbik6IERpdHRvLgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTWVkaWE6OmNyZWF0ZVNlZWtGb3J3YXJkQnV0dG9uKTogRGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZWRpYTo6Y3JlYXRlVm9sdW1lU2xpZGVyTXV0
ZUJ1dHRvbik6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNv
bnN0YW50cy5oOiBSZW1vdmVkIGNvbnN0YW50cyB0aGF0IGFyZSBubyBsb25nZXIgdXNlZC4KKwog
MjAxMS0wMS0yNSAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1NlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5j
cHAKaW5kZXggY2EzODE0YTE2MzQwODZhOGYzMTllZTZmYTViODdiYzJkN2Y3MTNkMC4uODI3NDZj
ZDAwMmI5NTMzY2MyMDc1MmQxZGM2NmU5ZWJiOGY3Zjk3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2Vs
ZWN0b3IuY3BwCkBAIC0xNjMsMTAgKzE2Myw2IEBAIFBzZXVkb0lkIENTU1NlbGVjdG9yOjpwc2V1
ZG9JZChQc2V1ZG9UeXBlIHR5cGUpCiAgICAgICAgIHJldHVybiBTRUFSQ0hfUkVTVUxUU19CVVRU
T047CiAgICAgY2FzZSBQc2V1ZG9NZWRpYUNvbnRyb2xzUGFuZWw6CiAgICAgICAgIHJldHVybiBN
RURJQV9DT05UUk9MU19QQU5FTDsKLSAgICBjYXNlIFBzZXVkb01lZGlhQ29udHJvbHNNdXRlQnV0
dG9uOgotICAgICAgICByZXR1cm4gTUVESUFfQ09OVFJPTFNfTVVURV9CVVRUT047Ci0gICAgY2Fz
ZSBQc2V1ZG9NZWRpYUNvbnRyb2xzUGxheUJ1dHRvbjoKLSAgICAgICAgcmV0dXJuIE1FRElBX0NP
TlRST0xTX1BMQVlfQlVUVE9OOwogICAgIGNhc2UgUHNldWRvTWVkaWFDb250cm9sc1RpbWVsaW5l
Q29udGFpbmVyOgogICAgICAgICByZXR1cm4gTUVESUFfQ09OVFJPTFNfVElNRUxJTkVfQ09OVEFJ
TkVSOwogICAgIGNhc2UgUHNldWRvTWVkaWFDb250cm9sc1ZvbHVtZVNsaWRlckNvbnRhaW5lcjoK
QEAgLTE3NSwyNiArMTcxLDggQEAgUHNldWRvSWQgQ1NTU2VsZWN0b3I6OnBzZXVkb0lkKFBzZXVk
b1R5cGUgdHlwZSkKICAgICAgICAgcmV0dXJuIE1FRElBX0NPTlRST0xTX0NVUlJFTlRfVElNRV9E
SVNQTEFZOwogICAgIGNhc2UgUHNldWRvTWVkaWFDb250cm9sc1RpbWVSZW1haW5pbmdEaXNwbGF5
OgogICAgICAgICByZXR1cm4gTUVESUFfQ09OVFJPTFNfVElNRV9SRU1BSU5JTkdfRElTUExBWTsK
LSAgICBjYXNlIFBzZXVkb01lZGlhQ29udHJvbHNUaW1lbGluZToKLSAgICAgICAgcmV0dXJuIE1F
RElBX0NPTlRST0xTX1RJTUVMSU5FOwotICAgIGNhc2UgUHNldWRvTWVkaWFDb250cm9sc1ZvbHVt
ZVNsaWRlcjoKLSAgICAgICAgcmV0dXJuIE1FRElBX0NPTlRST0xTX1ZPTFVNRV9TTElERVI7Ci0g
ICAgY2FzZSBQc2V1ZG9NZWRpYUNvbnRyb2xzVm9sdW1lU2xpZGVyTXV0ZUJ1dHRvbjoKLSAgICAg
ICAgcmV0dXJuIE1FRElBX0NPTlRST0xTX1ZPTFVNRV9TTElERVJfTVVURV9CVVRUT047Ci0gICAg
Y2FzZSBQc2V1ZG9NZWRpYUNvbnRyb2xzU2Vla0JhY2tCdXR0b246Ci0gICAgICAgIHJldHVybiBN
RURJQV9DT05UUk9MU19TRUVLX0JBQ0tfQlVUVE9OOwotICAgIGNhc2UgUHNldWRvTWVkaWFDb250
cm9sc1NlZWtGb3J3YXJkQnV0dG9uOgotICAgICAgICByZXR1cm4gTUVESUFfQ09OVFJPTFNfU0VF
S19GT1JXQVJEX0JVVFRPTjsKLSAgICBjYXNlIFBzZXVkb01lZGlhQ29udHJvbHNSZXdpbmRCdXR0
b246Ci0gICAgICAgIHJldHVybiBNRURJQV9DT05UUk9MU19SRVdJTkRfQlVUVE9OOwotICAgIGNh
c2UgUHNldWRvTWVkaWFDb250cm9sc1JldHVyblRvUmVhbHRpbWVCdXR0b246Ci0gICAgICAgIHJl
dHVybiBNRURJQV9DT05UUk9MU19SRVRVUk5fVE9fUkVBTFRJTUVfQlVUVE9OOwotICAgIGNhc2Ug
UHNldWRvTWVkaWFDb250cm9sc1RvZ2dsZUNsb3NlZENhcHRpb25zOgotICAgICAgICByZXR1cm4g
TUVESUFfQ09OVFJPTFNfVE9HR0xFX0NMT1NFRF9DQVBUSU9OU19CVVRUT047CiAgICAgY2FzZSBQ
c2V1ZG9NZWRpYUNvbnRyb2xzU3RhdHVzRGlzcGxheToKICAgICAgICAgcmV0dXJuIE1FRElBX0NP
TlRST0xTX1NUQVRVU19ESVNQTEFZOwotICAgIGNhc2UgUHNldWRvTWVkaWFDb250cm9sc0Z1bGxz
Y3JlZW5CdXR0b246Ci0gICAgICAgIHJldHVybiBNRURJQV9DT05UUk9MU19GVUxMU0NSRUVOX0JV
VFRPTjsKICAgICBjYXNlIFBzZXVkb1Njcm9sbGJhcjoKICAgICAgICAgcmV0dXJuIFNDUk9MTEJB
UjsKICAgICBjYXNlIFBzZXVkb1Njcm9sbGJhckJ1dHRvbjoKQEAgLTM3MCwxOCArMzQ4LDcgQEAg
c3RhdGljIEhhc2hNYXA8QXRvbWljU3RyaW5nSW1wbCosIENTU1NlbGVjdG9yOjpQc2V1ZG9UeXBl
PiogbmFtZVRvUHNldWRvVHlwZU1hcCgKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0
cmluZywgbGluaywgKCJsaW5rIikpOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3Ry
aW5nLCBsYW5nLCAoImxhbmcoIikpOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3Ry
aW5nLCBtZWRpYUNvbnRyb2xzUGFuZWwsICgiLXdlYmtpdC1tZWRpYS1jb250cm9scy1wYW5lbCIp
KTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbWVkaWFDb250cm9sc011
dGVCdXR0b24sICgiLXdlYmtpdC1tZWRpYS1jb250cm9scy1tdXRlLWJ1dHRvbiIpKTsKLSAgICBE
RUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbWVkaWFDb250cm9sc1BsYXlCdXR0b24s
ICgiLXdlYmtpdC1tZWRpYS1jb250cm9scy1wbGF5LWJ1dHRvbiIpKTsKLSAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKEF0b21pY1N0cmluZywgbWVkaWFDb250cm9sc1RpbWVsaW5lLCAoIi13ZWJraXQt
bWVkaWEtY29udHJvbHMtdGltZWxpbmUiKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9t
aWNTdHJpbmcsIG1lZGlhQ29udHJvbHNWb2x1bWVTbGlkZXIsICgiLXdlYmtpdC1tZWRpYS1jb250
cm9scy12b2x1bWUtc2xpZGVyIikpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3Ry
aW5nLCBtZWRpYUNvbnRyb2xzVm9sdW1lU2xpZGVyTXV0ZUJ1dHRvbiwgKCItd2Via2l0LW1lZGlh
LWNvbnRyb2xzLXZvbHVtZS1zbGlkZXItbXV0ZS1idXR0b24iKSk7Ci0gICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChBdG9taWNTdHJpbmcsIG1lZGlhQ29udHJvbHNTZWVrQmFja0J1dHRvbiwgKCItd2Vi
a2l0LW1lZGlhLWNvbnRyb2xzLXNlZWstYmFjay1idXR0b24iKSk7Ci0gICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChBdG9taWNTdHJpbmcsIG1lZGlhQ29udHJvbHNTZWVrRm9yd2FyZEJ1dHRvbiwgKCIt
d2Via2l0LW1lZGlhLWNvbnRyb2xzLXNlZWstZm9yd2FyZC1idXR0b24iKSk7Ci0gICAgREVGSU5F
X1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG1lZGlhQ29udHJvbHNSZXdpbmRCdXR0b24sICgi
LXdlYmtpdC1tZWRpYS1jb250cm9scy1yZXdpbmQtYnV0dG9uIikpOwotICAgIERFRklORV9TVEFU
SUNfTE9DQUwoQXRvbWljU3RyaW5nLCBtZWRpYUNvbnRyb2xzUmV0dXJuVG9SZWFsdGltZUJ1dHRv
biwgKCItd2Via2l0LW1lZGlhLWNvbnRyb2xzLXJldHVybi10by1yZWFsdGltZS1idXR0b24iKSk7
Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIG1lZGlhQ29udHJvbHNUb2dn
bGVDbG9zZWRDYXB0aW9uc0J1dHRvbiwgKCItd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRvZ2dsZS1j
bG9zZWQtY2FwdGlvbnMtYnV0dG9uIikpOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWlj
U3RyaW5nLCBtZWRpYUNvbnRyb2xzU3RhdHVzRGlzcGxheSwgKCItd2Via2l0LW1lZGlhLWNvbnRy
b2xzLXN0YXR1cy1kaXNwbGF5IikpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3Ry
aW5nLCBtZWRpYUNvbnRyb2xzRnVsbHNjcmVlbkJ1dHRvbiwgKCItd2Via2l0LW1lZGlhLWNvbnRy
b2xzLWZ1bGxzY3JlZW4tYnV0dG9uIikpOwogICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWlj
U3RyaW5nLCBtZWRpYUNvbnRyb2xzVGltZWxpbmVDb250YWluZXIsICgiLXdlYmtpdC1tZWRpYS1j
b250cm9scy10aW1lbGluZS1jb250YWluZXIiKSk7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChB
dG9taWNTdHJpbmcsIG1lZGlhQ29udHJvbHNWb2x1bWVTbGlkZXJDb250YWluZXIsICgiLXdlYmtp
dC1tZWRpYS1jb250cm9scy12b2x1bWUtc2xpZGVyLWNvbnRhaW5lciIpKTsKICAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgbWVkaWFDb250cm9sc0N1cnJlbnRUaW1lRGlzcGxh
eSwgKCItd2Via2l0LW1lZGlhLWNvbnRyb2xzLWN1cnJlbnQtdGltZS1kaXNwbGF5IikpOwpAQCAt
NDg3LDIwICs0NTQsOSBAQCBzdGF0aWMgSGFzaE1hcDxBdG9taWNTdHJpbmdJbXBsKiwgQ1NTU2Vs
ZWN0b3I6OlBzZXVkb1R5cGU+KiBuYW1lVG9Qc2V1ZG9UeXBlTWFwKAogICAgICAgICBuYW1lVG9Q
c2V1ZG9UeXBlLT5zZXQobGluay5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9MaW5rKTsKICAg
ICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KGxhbmcuaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNl
dWRvTGFuZyk7CiAgICAgICAgIG5hbWVUb1BzZXVkb1R5cGUtPnNldChtZWRpYUNvbnRyb2xzUGFu
ZWwuaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvTWVkaWFDb250cm9sc1BhbmVsKTsKLSAgICAg
ICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KG1lZGlhQ29udHJvbHNNdXRlQnV0dG9uLmltcGwoKSwg
Q1NTU2VsZWN0b3I6OlBzZXVkb01lZGlhQ29udHJvbHNNdXRlQnV0dG9uKTsKLSAgICAgICAgbmFt
ZVRvUHNldWRvVHlwZS0+c2V0KG1lZGlhQ29udHJvbHNQbGF5QnV0dG9uLmltcGwoKSwgQ1NTU2Vs
ZWN0b3I6OlBzZXVkb01lZGlhQ29udHJvbHNQbGF5QnV0dG9uKTsKICAgICAgICAgbmFtZVRvUHNl
dWRvVHlwZS0+c2V0KG1lZGlhQ29udHJvbHNDdXJyZW50VGltZURpc3BsYXkuaW1wbCgpLCBDU1NT
ZWxlY3Rvcjo6UHNldWRvTWVkaWFDb250cm9sc0N1cnJlbnRUaW1lRGlzcGxheSk7CiAgICAgICAg
IG5hbWVUb1BzZXVkb1R5cGUtPnNldChtZWRpYUNvbnRyb2xzVGltZVJlbWFpbmluZ0Rpc3BsYXku
aW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvTWVkaWFDb250cm9sc1RpbWVSZW1haW5pbmdEaXNw
bGF5KTsKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KG1lZGlhQ29udHJvbHNUaW1lbGlu
ZS5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9NZWRpYUNvbnRyb2xzVGltZWxpbmUpOwotICAg
ICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQobWVkaWFDb250cm9sc1ZvbHVtZVNsaWRlci5pbXBs
KCksIENTU1NlbGVjdG9yOjpQc2V1ZG9NZWRpYUNvbnRyb2xzVm9sdW1lU2xpZGVyKTsKLSAgICAg
ICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KG1lZGlhQ29udHJvbHNWb2x1bWVTbGlkZXJNdXRlQnV0
dG9uLmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb01lZGlhQ29udHJvbHNWb2x1bWVTbGlkZXJN
dXRlQnV0dG9uKTsKLSAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KG1lZGlhQ29udHJvbHNT
ZWVrQmFja0J1dHRvbi5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9NZWRpYUNvbnRyb2xzU2Vl
a0JhY2tCdXR0b24pOwotICAgICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQobWVkaWFDb250cm9s
c1NlZWtGb3J3YXJkQnV0dG9uLmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb01lZGlhQ29udHJv
bHNTZWVrRm9yd2FyZEJ1dHRvbik7Ci0gICAgICAgIG5hbWVUb1BzZXVkb1R5cGUtPnNldChtZWRp
YUNvbnRyb2xzUmV3aW5kQnV0dG9uLmltcGwoKSwgQ1NTU2VsZWN0b3I6OlBzZXVkb01lZGlhQ29u
dHJvbHNSZXdpbmRCdXR0b24pOwotICAgICAgICBuYW1lVG9Qc2V1ZG9UeXBlLT5zZXQobWVkaWFD
b250cm9sc1JldHVyblRvUmVhbHRpbWVCdXR0b24uaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRv
TWVkaWFDb250cm9sc1JldHVyblRvUmVhbHRpbWVCdXR0b24pOwotICAgICAgICBuYW1lVG9Qc2V1
ZG9UeXBlLT5zZXQobWVkaWFDb250cm9sc1RvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uLmltcGwo
KSwgQ1NTU2VsZWN0b3I6OlBzZXVkb01lZGlhQ29udHJvbHNUb2dnbGVDbG9zZWRDYXB0aW9ucyk7
CiAgICAgICAgIG5hbWVUb1BzZXVkb1R5cGUtPnNldChtZWRpYUNvbnRyb2xzU3RhdHVzRGlzcGxh
eS5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9NZWRpYUNvbnRyb2xzU3RhdHVzRGlzcGxheSk7
Ci0gICAgICAgIG5hbWVUb1BzZXVkb1R5cGUtPnNldChtZWRpYUNvbnRyb2xzRnVsbHNjcmVlbkJ1
dHRvbi5pbXBsKCksIENTU1NlbGVjdG9yOjpQc2V1ZG9NZWRpYUNvbnRyb2xzRnVsbHNjcmVlbkJ1
dHRvbik7CiAgICAgICAgIG5hbWVUb1BzZXVkb1R5cGUtPnNldChtZWRpYUNvbnRyb2xzVGltZWxp
bmVDb250YWluZXIuaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvTWVkaWFDb250cm9sc1RpbWVs
aW5lQ29udGFpbmVyKTsKICAgICAgICAgbmFtZVRvUHNldWRvVHlwZS0+c2V0KG1lZGlhQ29udHJv
bHNWb2x1bWVTbGlkZXJDb250YWluZXIuaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvTWVkaWFD
b250cm9sc1ZvbHVtZVNsaWRlckNvbnRhaW5lcik7CiAgICAgICAgIG5hbWVUb1BzZXVkb1R5cGUt
PnNldChub3RTdHIuaW1wbCgpLCBDU1NTZWxlY3Rvcjo6UHNldWRvTm90KTsKQEAgLTU5NywyMCAr
NTUzLDkgQEAgdm9pZCBDU1NTZWxlY3Rvcjo6ZXh0cmFjdFBzZXVkb1R5cGUoKSBjb25zdAogI2Vu
ZGlmCiAgICAgY2FzZSBQc2V1ZG9Jbm5lclNwaW5CdXR0b246CiAgICAgY2FzZSBQc2V1ZG9NZWRp
YUNvbnRyb2xzUGFuZWw6Ci0gICAgY2FzZSBQc2V1ZG9NZWRpYUNvbnRyb2xzTXV0ZUJ1dHRvbjoK
LSAgICBjYXNlIFBzZXVkb01lZGlhQ29udHJvbHNQbGF5QnV0dG9uOgogICAgIGNhc2UgUHNldWRv
TWVkaWFDb250cm9sc0N1cnJlbnRUaW1lRGlzcGxheToKICAgICBjYXNlIFBzZXVkb01lZGlhQ29u
dHJvbHNUaW1lUmVtYWluaW5nRGlzcGxheToKLSAgICBjYXNlIFBzZXVkb01lZGlhQ29udHJvbHNU
aW1lbGluZToKLSAgICBjYXNlIFBzZXVkb01lZGlhQ29udHJvbHNWb2x1bWVTbGlkZXI6Ci0gICAg
Y2FzZSBQc2V1ZG9NZWRpYUNvbnRyb2xzVm9sdW1lU2xpZGVyTXV0ZUJ1dHRvbjoKLSAgICBjYXNl
IFBzZXVkb01lZGlhQ29udHJvbHNTZWVrQmFja0J1dHRvbjoKLSAgICBjYXNlIFBzZXVkb01lZGlh
Q29udHJvbHNTZWVrRm9yd2FyZEJ1dHRvbjoKLSAgICBjYXNlIFBzZXVkb01lZGlhQ29udHJvbHNS
ZXdpbmRCdXR0b246Ci0gICAgY2FzZSBQc2V1ZG9NZWRpYUNvbnRyb2xzUmV0dXJuVG9SZWFsdGlt
ZUJ1dHRvbjoKLSAgICBjYXNlIFBzZXVkb01lZGlhQ29udHJvbHNUb2dnbGVDbG9zZWRDYXB0aW9u
czoKICAgICBjYXNlIFBzZXVkb01lZGlhQ29udHJvbHNTdGF0dXNEaXNwbGF5OgotICAgIGNhc2Ug
UHNldWRvTWVkaWFDb250cm9sc0Z1bGxzY3JlZW5CdXR0b246CiAgICAgY2FzZSBQc2V1ZG9NZWRp
YUNvbnRyb2xzVGltZWxpbmVDb250YWluZXI6CiAgICAgY2FzZSBQc2V1ZG9NZWRpYUNvbnRyb2xz
Vm9sdW1lU2xpZGVyQ29udGFpbmVyOgogICAgIGNhc2UgUHNldWRvTWV0ZXJIb3Jpem9udGFsQmFy
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAppbmRleCBiOTMwMzUzNmY2YmY3YjBiZGM5NDY1ZDE2
ODYzZjg0M2VlNjcyYzY0Li40MmI1OTMxMWMyNjg0MGViYWFlYmNhOWM1MTY2YTQzYjU3OWYzZDVk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaApAQCAtMTg0LDIyICsxODQsMTEgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICAgICAgUHNldWRvU2VhcmNoUmVzdWx0c0RlY29yYXRpb24s
CiAgICAgICAgICAgICBQc2V1ZG9TZWFyY2hSZXN1bHRzQnV0dG9uLAogICAgICAgICAgICAgUHNl
dWRvTWVkaWFDb250cm9sc1BhbmVsLAotICAgICAgICAgICAgUHNldWRvTWVkaWFDb250cm9sc011
dGVCdXR0b24sCi0gICAgICAgICAgICBQc2V1ZG9NZWRpYUNvbnRyb2xzUGxheUJ1dHRvbiwKICAg
ICAgICAgICAgIFBzZXVkb01lZGlhQ29udHJvbHNUaW1lbGluZUNvbnRhaW5lciwKICAgICAgICAg
ICAgIFBzZXVkb01lZGlhQ29udHJvbHNWb2x1bWVTbGlkZXJDb250YWluZXIsCi0gICAgICAgICAg
ICBQc2V1ZG9NZWRpYUNvbnRyb2xzVm9sdW1lU2xpZGVyTXV0ZUJ1dHRvbiwKICAgICAgICAgICAg
IFBzZXVkb01lZGlhQ29udHJvbHNDdXJyZW50VGltZURpc3BsYXksCiAgICAgICAgICAgICBQc2V1
ZG9NZWRpYUNvbnRyb2xzVGltZVJlbWFpbmluZ0Rpc3BsYXksCi0gICAgICAgICAgICBQc2V1ZG9N
ZWRpYUNvbnRyb2xzVG9nZ2xlQ2xvc2VkQ2FwdGlvbnMsCi0gICAgICAgICAgICBQc2V1ZG9NZWRp
YUNvbnRyb2xzVGltZWxpbmUsCi0gICAgICAgICAgICBQc2V1ZG9NZWRpYUNvbnRyb2xzVm9sdW1l
U2xpZGVyLAotICAgICAgICAgICAgUHNldWRvTWVkaWFDb250cm9sc1NlZWtCYWNrQnV0dG9uLAot
ICAgICAgICAgICAgUHNldWRvTWVkaWFDb250cm9sc1NlZWtGb3J3YXJkQnV0dG9uLAotICAgICAg
ICAgICAgUHNldWRvTWVkaWFDb250cm9sc1Jld2luZEJ1dHRvbiwKLSAgICAgICAgICAgIFBzZXVk
b01lZGlhQ29udHJvbHNSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uLAogICAgICAgICAgICAgUHNldWRv
TWVkaWFDb250cm9sc1N0YXR1c0Rpc3BsYXksCi0gICAgICAgICAgICBQc2V1ZG9NZWRpYUNvbnRy
b2xzRnVsbHNjcmVlbkJ1dHRvbiwKICAgICAgICAgICAgIFBzZXVkb01ldGVySG9yaXpvbnRhbEJh
ciwKICAgICAgICAgICAgIFBzZXVkb01ldGVyVmVydGljYWxCYXIsCiAgICAgICAgICAgICBQc2V1
ZG9NZXRlckhvcml6b250YWxPcHRpbXVtLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L21lZGlhQ29udHJvbHMuY3NzIGIvU291cmNlL1dlYkNvcmUvY3NzL21lZGlhQ29udHJvbHMuY3Nz
CmluZGV4IDZhMGYxNGIwMGQ3NzkzY2M0Y2E2YzRlNTZhMGUxYjdjNjJjNDVlZjcuLjg4MTQ0YjQ2
ZGZkMzNkZjAzNTU5OTk4YTMyYTUzYjNkZTk3YjQ3ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9tZWRpYUNvbnRyb2xzLmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWVkaWFD
b250cm9scy5jc3MKQEAgLTUyLDYgKzUyLDkgQEAgYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJv
bHMtbXV0ZS1idXR0b24sIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLW11dGUtYnUKICAg
ICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgICB3aWR0aDogMTZweDsKICAgICBoZWlnaHQ6IDE2
cHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDsKKyAgICBib3JkZXI6IGluaXRpYWw7
CisgICAgY29sb3I6IGluaGVyaXQ7CiB9CiAKIGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xz
LXBsYXktYnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1wbGF5LWJ1dHRvbiB7
CkBAIC01OSw2ICs2Miw5IEBAIGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBsYXktYnV0
dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1wbGF5LWJ1CiAgICAgZGlzcGxheTog
LXdlYmtpdC1ib3g7CiAgICAgd2lkdGg6IDE2cHg7CiAgICAgaGVpZ2h0OiAxNnB4OworICAgIGJh
Y2tncm91bmQtY29sb3I6IGluaXRpYWw7CisgICAgYm9yZGVyOiBpbml0aWFsOworICAgIGNvbG9y
OiBpbmhlcml0OwogfQogCiBhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lbGluZS1j
b250YWluZXIsIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWVsaW5lLWNvbnRhaW5l
ciB7CkBAIC04Niw2ICs5MiwxMCBAQCBhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1l
bGluZSwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZWxpbmUgewogICAgIC13ZWJr
aXQtYm94LWZsZXg6IDE7CiAgICAgaGVpZ2h0OiAxNnB4OwogICAgIHBhZGRpbmc6IDBweCAycHg7
CisgICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDsKKyAgICBib3JkZXI6IGluaXRpYWw7Cisg
ICAgY29sb3I6IGluaGVyaXQ7CisgICAgbWFyZ2luOiBpbml0aWFsOwogfQogCiBhdWRpbzo6LXdl
YmtpdC1tZWRpYS1jb250cm9scy12b2x1bWUtc2xpZGVyLWNvbnRhaW5lciwgdmlkZW86Oi13ZWJr
aXQtbWVkaWEtY29udHJvbHMtdm9sdW1lLXNsaWRlci1jb250YWluZXIgewpAQCAtOTQsNiArMTA0
LDEwIEBAIGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXZvbHVtZS1zbGlkZXItY29udGFp
bmVyLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250CiAKIGF1ZGlvOjotd2Via2l0LW1lZGlhLWNv
bnRyb2xzLXZvbHVtZS1zbGlkZXIsIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXZvbHVt
ZS1zbGlkZXIgewogICAgIGRpc3BsYXk6IG5vbmU7CisgICAgYmFja2dyb3VuZC1jb2xvcjogaW5p
dGlhbDsKKyAgICBib3JkZXI6IGluaXRpYWw7CisgICAgY29sb3I6IGluaGVyaXQ7CisgICAgbWFy
Z2luOiBpbml0aWFsOwogfQogCiBhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1zZWVrLWJh
Y2stYnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1zZWVrLWJhY2stYnV0dG9u
IHsKQEAgLTEwMSw2ICsxMTUsOSBAQCBhdWRpbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1zZWVr
LWJhY2stYnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1zZQogICAgIGRpc3Bs
YXk6IC13ZWJraXQtYm94OwogICAgIHdpZHRoOiAxNnB4OwogICAgIGhlaWdodDogMTZweDsKKyAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsOworICAgIGJvcmRlcjogaW5pdGlhbDsKKyAgICBj
b2xvcjogaW5oZXJpdDsKIH0KIAogYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtc2Vlay1m
b3J3YXJkLWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtc2Vlay1mb3J3YXJk
LWJ1dHRvbiB7CkBAIC0xMDgsNiArMTI1LDkgQEAgYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJv
bHMtc2Vlay1mb3J3YXJkLWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMKICAg
ICBkaXNwbGF5OiAtd2Via2l0LWJveDsKICAgICB3aWR0aDogMTZweDsKICAgICBoZWlnaHQ6IDE2
cHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDsKKyAgICBib3JkZXI6IGluaXRpYWw7
CisgICAgY29sb3I6IGluaGVyaXQ7CiB9CiAKIGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xz
LWZ1bGxzY3JlZW4tYnV0dG9uLCB2aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1mdWxsc2Ny
ZWVuLWJ1dHRvbiB7CkBAIC0xMTUsMTQgKzEzNSwyMyBAQCBhdWRpbzo6LXdlYmtpdC1tZWRpYS1j
b250cm9scy1mdWxsc2NyZWVuLWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMt
ZgogICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgIHdpZHRoOiAxNnB4OwogICAgIGhlaWdo
dDogMTZweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsOworICAgIGJvcmRlcjogaW5p
dGlhbDsKKyAgICBjb2xvcjogaW5oZXJpdDsKIH0KIAogYXVkaW86Oi13ZWJraXQtbWVkaWEtY29u
dHJvbHMtcmV3aW5kLWJ1dHRvbiwgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcmV3aW5k
LWJ1dHRvbiB7CiAgICAgZGlzcGxheTogbm9uZTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0
aWFsOworICAgIGJvcmRlcjogaW5pdGlhbDsKKyAgICBjb2xvcjogaW5oZXJpdDsKIH0KIAogYXVk
aW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcmV0dXJuLXRvLXJlYWx0aW1lLWJ1dHRvbiwgdmlk
ZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcmV0dXJuLXRvLXJlYWx0aW1lLWJ1dHRvbiB7CiAg
ICAgZGlzcGxheTogbm9uZTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsOworICAgIGJv
cmRlcjogaW5pdGlhbDsKKyAgICBjb2xvcjogaW5oZXJpdDsKIH0KIAogYXVkaW86Oi13ZWJraXQt
bWVkaWEtY29udHJvbHMtdG9nZ2xlLWNsb3NlZC1jYXB0aW9ucy1idXR0b24sIHZpZGVvOjotd2Vi
a2l0LW1lZGlhLWNvbnRyb2xzLXRvZ2dsZS1jbG9zZWQtY2FwdGlvbnMtYnV0dG9uIHsKQEAgLTEz
MCw5ICsxNTksMTUgQEAgYXVkaW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdG9nZ2xlLWNsb3Nl
ZC1jYXB0aW9ucy1idXR0b24sIHZpZGVvOjotd2Via2l0LW1lZGkKICAgICBkaXNwbGF5OiAtd2Vi
a2l0LWJveDsKICAgICB3aWR0aDogMTZweDsKICAgICBoZWlnaHQ6IDE2cHg7CisgICAgYmFja2dy
b3VuZC1jb2xvcjogaW5pdGlhbDsKKyAgICBib3JkZXI6IGluaXRpYWw7CisgICAgY29sb3I6IGlu
aGVyaXQ7CiB9CiAKIGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXZvbHVtZS1zbGlkZXIt
bXV0ZS1idXR0b24sIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXZvbHVtZS1zbGlkZXIt
bXV0ZS1idXR0b24gewogICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbWVkaWEtdm9sdW1lLXNsaWRl
ci1tdXRlLWJ1dHRvbjsKICAgICBkaXNwbGF5OiBub25lOworICAgIGJhY2tncm91bmQtY29sb3I6
IGluaXRpYWw7CisgICAgYm9yZGVyOiBpbml0aWFsOworICAgIGNvbG9yOiBpbmhlcml0OwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL01lZGlhQ29udHJvbEVsZW1lbnRz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9NZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAK
aW5kZXggZTI3MTgxZWM4OGJlMzM2OWY0NTljZmNmZThmYTc1OGJiY2EwM2ZkNi4uOTc1Y2YyYjE4
Y2Q0OTc2MDk0Mzc0N2MyYTg3YzFhZjczOWQwM2VlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL01lZGlhQ29udHJvbEVsZW1lbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvTWVkaWFDb250cm9sRWxlbWVudHMuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAK
ICNpbmNsdWRlICJNZWRpYUNvbnRyb2xFbGVtZW50cy5oIgogCisjaW5jbHVkZSAiQ1NTU3R5bGVT
ZWxlY3Rvci5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJGbG9hdENvbnZl
cnNpb24uaCIKICNpbmNsdWRlICJGcmFtZS5oIgpAQCAtMzUyLDUxICszNTMsMTEgQEAgYm9vbCBN
ZWRpYUNvbnRyb2xTdGF0dXNEaXNwbGF5RWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZChSZW5kZXJT
dHlsZSogc3R5bGUpCiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAKLU1l
ZGlhQ29udHJvbElucHV0RWxlbWVudDo6TWVkaWFDb250cm9sSW5wdXRFbGVtZW50KEhUTUxNZWRp
YUVsZW1lbnQqIG1lZGlhRWxlbWVudCwgUHNldWRvSWQgcHNldWRvKQorTWVkaWFDb250cm9sSW5w
dXRFbGVtZW50OjpNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCogbWVk
aWFFbGVtZW50LCBNZWRpYUNvbnRyb2xFbGVtZW50VHlwZSBkaXNwbGF5VHlwZSkKICAgICA6IEhU
TUxJbnB1dEVsZW1lbnQoaW5wdXRUYWcsIG1lZGlhRWxlbWVudC0+ZG9jdW1lbnQoKSkKICAgICAs
IG1fbWVkaWFFbGVtZW50KG1lZGlhRWxlbWVudCkKLSAgICAsIG1fcHNldWRvU3R5bGVJZChwc2V1
ZG8pCisgICAgLCBtX2Rpc3BsYXlUeXBlKGRpc3BsYXlUeXBlKQogewotICAgIHNldEluRG9jdW1l
bnQoKTsKLQotICAgIHN3aXRjaCAocHNldWRvKSB7Ci0gICAgY2FzZSBNRURJQV9DT05UUk9MU19N
VVRFX0JVVFRPTjoKLSAgICAgICAgbV9kaXNwbGF5VHlwZSA9IE1lZGlhTXV0ZUJ1dHRvbjsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNRURJQV9DT05UUk9MU19QTEFZX0JVVFRPTjoKLSAgICAg
ICAgbV9kaXNwbGF5VHlwZSA9IE1lZGlhUGxheUJ1dHRvbjsKLSAgICAgICAgYnJlYWs7Ci0gICAg
Y2FzZSBNRURJQV9DT05UUk9MU19TRUVLX0ZPUldBUkRfQlVUVE9OOgotICAgICAgICBtX2Rpc3Bs
YXlUeXBlID0gTWVkaWFTZWVrRm9yd2FyZEJ1dHRvbjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2Fz
ZSBNRURJQV9DT05UUk9MU19TRUVLX0JBQ0tfQlVUVE9OOgotICAgICAgICBtX2Rpc3BsYXlUeXBl
ID0gTWVkaWFTZWVrQmFja0J1dHRvbjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNRURJQV9D
T05UUk9MU19GVUxMU0NSRUVOX0JVVFRPTjoKLSAgICAgICAgbV9kaXNwbGF5VHlwZSA9IE1lZGlh
RnVsbHNjcmVlbkJ1dHRvbjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBNRURJQV9DT05UUk9M
U19USU1FTElORToKLSAgICAgICAgbV9kaXNwbGF5VHlwZSA9IE1lZGlhU2xpZGVyOwotICAgICAg
ICBicmVhazsKLSAgICBjYXNlIE1FRElBX0NPTlRST0xTX1JFVFVSTl9UT19SRUFMVElNRV9CVVRU
T046Ci0gICAgICAgIG1fZGlzcGxheVR5cGUgPSBNZWRpYVJldHVyblRvUmVhbHRpbWVCdXR0b247
Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTUVESUFfQ09OVFJPTFNfUkVXSU5EX0JVVFRPTjoK
LSAgICAgICAgbV9kaXNwbGF5VHlwZSA9IE1lZGlhUmV3aW5kQnV0dG9uOwotICAgICAgICBicmVh
azsKLSAgICBjYXNlIE1FRElBX0NPTlRST0xTX1ZPTFVNRV9TTElERVI6Ci0gICAgICAgIG1fZGlz
cGxheVR5cGUgPSBNZWRpYVZvbHVtZVNsaWRlcjsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBN
RURJQV9DT05UUk9MU19WT0xVTUVfU0xJREVSX01VVEVfQlVUVE9OOgotICAgICAgICBtX2Rpc3Bs
YXlUeXBlID0gTWVkaWFWb2x1bWVTbGlkZXJNdXRlQnV0dG9uOwotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIE1FRElBX0NPTlRST0xTX1RPR0dMRV9DTE9TRURfQ0FQVElPTlNfQlVUVE9OOgotICAg
ICAgICBtX2Rpc3BsYXlUeXBlID0gTWVkaWFTaG93Q2xvc2VkQ2FwdGlvbnNCdXR0b247Ci0gICAg
ICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwot
ICAgICAgICBicmVhazsKLSAgICB9CiB9CiAKIHZvaWQgTWVkaWFDb250cm9sSW5wdXRFbGVtZW50
OjphdHRhY2hUb1BhcmVudChFbGVtZW50KiBwYXJlbnQpCkBAIC00MTYsNyArMzc3LDcgQEAgdm9p
ZCBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQ6OnVwZGF0ZSgpCiAKIFBhc3NSZWZQdHI8UmVuZGVy
U3R5bGU+IE1lZGlhQ29udHJvbElucHV0RWxlbWVudDo6c3R5bGVGb3JFbGVtZW50KCkKIHsKLSAg
ICByZXR1cm4gbWVkaWFFbGVtZW50KCktPnJlbmRlcmVyKCktPmdldENhY2hlZFBzZXVkb1N0eWxl
KG1fcHNldWRvU3R5bGVJZCk7CisgICAgcmV0dXJuIGRvY3VtZW50KCktPnN0eWxlU2VsZWN0b3Io
KS0+c3R5bGVGb3JFbGVtZW50KHRoaXMsIDAsIHRydWUpOwogfQogCiBib29sIE1lZGlhQ29udHJv
bElucHV0RWxlbWVudDo6cmVuZGVyZXJJc05lZWRlZChSZW5kZXJTdHlsZSogc3R5bGUpCkBAIC00
ODEsNyArNDQyLDcgQEAgdm9pZCBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQ6OnVwZGF0ZVN0eWxl
KCkKICAgICBpZiAoTm9kZSogc2hhZG93Tm9kZSA9IHNoYWRvd1Jvb3QoKSkKICAgICAgICAgc2hh
ZG93Tm9kZS0+cmVjYWxjU3R5bGUoTm9kZTo6Rm9yY2UpOwogfQotICAgIAorCiBib29sIE1lZGlh
Q29udHJvbElucHV0RWxlbWVudDo6aGl0VGVzdChjb25zdCBJbnRQb2ludCYgYWJzUG9pbnQpCiB7
CiAgICAgaWYgKHJlbmRlcmVyKCkgJiYgcmVuZGVyZXIoKS0+c3R5bGUoKS0+aGFzQXBwZWFyYW5j
ZSgpKQpAQCAtNTAyLDE0ICs0NjMsMTQgQEAgdm9pZCBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQ6
OnNldERpc3BsYXlUeXBlKE1lZGlhQ29udHJvbEVsZW1lbnRUeXBlIGRpc3BsYXlUeXAKIAogLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1pbmxpbmUgTWVkaWFDb250cm9sTXV0ZUJ1
dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbE11dGVCdXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1l
bnQqIG1lZGlhRWxlbWVudCwgQnV0dG9uTG9jYXRpb24gbG9jYXRpb24pCi0gICAgOiBNZWRpYUNv
bnRyb2xJbnB1dEVsZW1lbnQobWVkaWFFbGVtZW50LCBsb2NhdGlvbiA9PSBDb250cm9sbGVyID8g
TUVESUFfQ09OVFJPTFNfTVVURV9CVVRUT04gOiBNRURJQV9DT05UUk9MU19WT0xVTUVfU0xJREVS
X01VVEVfQlVUVE9OKQoraW5saW5lIE1lZGlhQ29udHJvbE11dGVCdXR0b25FbGVtZW50OjpNZWRp
YUNvbnRyb2xNdXRlQnV0dG9uRWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQs
IE1lZGlhQ29udHJvbEVsZW1lbnRUeXBlIGRpc3BsYXlUeXBlKQorICAgIDogTWVkaWFDb250cm9s
SW5wdXRFbGVtZW50KG1lZGlhRWxlbWVudCwgZGlzcGxheVR5cGUpCiB7CiB9CiAKLVBhc3NSZWZQ
dHI8TWVkaWFDb250cm9sTXV0ZUJ1dHRvbkVsZW1lbnQ+IE1lZGlhQ29udHJvbE11dGVCdXR0b25F
bGVtZW50OjpjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50LCBCdXR0b25Mb2Nh
dGlvbiBsb2NhdGlvbikKK1Bhc3NSZWZQdHI8TWVkaWFDb250cm9sTXV0ZUJ1dHRvbkVsZW1lbnQ+
IE1lZGlhQ29udHJvbE11dGVCdXR0b25FbGVtZW50OjpjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCog
bWVkaWFFbGVtZW50KQogewotICAgIFJlZlB0cjxNZWRpYUNvbnRyb2xNdXRlQnV0dG9uRWxlbWVu
dD4gYnV0dG9uID0gYWRvcHRSZWYobmV3IE1lZGlhQ29udHJvbE11dGVCdXR0b25FbGVtZW50KG1l
ZGlhRWxlbWVudCwgbG9jYXRpb24pKTsKKyAgICBSZWZQdHI8TWVkaWFDb250cm9sTXV0ZUJ1dHRv
bkVsZW1lbnQ+IGJ1dHRvbiA9IGFkb3B0UmVmKG5ldyBNZWRpYUNvbnRyb2xNdXRlQnV0dG9uRWxl
bWVudChtZWRpYUVsZW1lbnQsIE1lZGlhTXV0ZUJ1dHRvbikpOwogICAgIGJ1dHRvbi0+c2V0VHlw
ZSgiYnV0dG9uIik7CiAgICAgcmV0dXJuIGJ1dHRvbi5yZWxlYXNlKCk7CiB9CkBAIC01MjMsMTUg
KzQ4NCwzOSBAQCB2b2lkIE1lZGlhQ29udHJvbE11dGVCdXR0b25FbGVtZW50OjpkZWZhdWx0RXZl
bnRIYW5kbGVyKEV2ZW50KiBldmVudCkKICAgICBIVE1MSW5wdXRFbGVtZW50OjpkZWZhdWx0RXZl
bnRIYW5kbGVyKGV2ZW50KTsKIH0KIAorQXRvbWljU3RyaW5nIE1lZGlhQ29udHJvbE11dGVCdXR0
b25FbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0Cit7CisgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChBdG9taWNTdHJpbmcsIG11dGVCdXR0b24sICgiLXdlYmtpdC1tZWRpYS1jb250cm9scy1t
dXRlLWJ1dHRvbiIpKTsKKyAgICByZXR1cm4gbXV0ZUJ1dHRvbjsKK30KKwogdm9pZCBNZWRpYUNv
bnRyb2xNdXRlQnV0dG9uRWxlbWVudDo6dXBkYXRlRGlzcGxheVR5cGUoKQogewogICAgIHNldERp
c3BsYXlUeXBlKG1lZGlhRWxlbWVudCgpLT5tdXRlZCgpID8gTWVkaWFVbk11dGVCdXR0b24gOiBN
ZWRpYU11dGVCdXR0b24pOwogfQogCitpbmxpbmUgTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyTXV0
ZUJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbFZvbHVtZVNsaWRlck11dGVCdXR0b25FbGVtZW50
KEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCkKKyAgICA6IE1lZGlhQ29udHJvbE11dGVC
dXR0b25FbGVtZW50KG1lZGlhRWxlbWVudCwgTWVkaWFWb2x1bWVTbGlkZXJNdXRlQnV0dG9uKQor
eworfQorCitQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFZvbHVtZVNsaWRlck11dGVCdXR0b25FbGVt
ZW50PiBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJNdXRlQnV0dG9uRWxlbWVudDo6Y3JlYXRlKEhU
TUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCkKK3sKKyAgICBSZWZQdHI8TWVkaWFDb250cm9s
Vm9sdW1lU2xpZGVyTXV0ZUJ1dHRvbkVsZW1lbnQ+IGJ1dHRvbiA9IGFkb3B0UmVmKG5ldyBNZWRp
YUNvbnRyb2xWb2x1bWVTbGlkZXJNdXRlQnV0dG9uRWxlbWVudChtZWRpYUVsZW1lbnQpKTsKKyAg
ICBidXR0b24tPnNldFR5cGUoImJ1dHRvbiIpOworICAgIHJldHVybiBidXR0b24ucmVsZWFzZSgp
OworfQorCitBdG9taWNTdHJpbmcgTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyTXV0ZUJ1dHRvbkVs
ZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKCkgY29uc3QKK3sKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KEF0b21pY1N0cmluZywgbXV0ZUJ1dHRvbiwgKCItd2Via2l0LW1lZGlhLWNvbnRyb2xzLXZvbHVt
ZS1zbGlkZXItbXV0ZS1idXR0b24iKSk7CisgICAgcmV0dXJuIG11dGVCdXR0b247Cit9CisKIC8v
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogaW5saW5lIE1lZGlhQ29udHJvbFBsYXlC
dXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xQbGF5QnV0dG9uRWxlbWVudChIVE1MTWVkaWFFbGVt
ZW50KiBtZWRpYUVsZW1lbnQpCi0gICAgOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQobWVkaWFF
bGVtZW50LCBNRURJQV9DT05UUk9MU19QTEFZX0JVVFRPTikKKyAgICA6IE1lZGlhQ29udHJvbElu
cHV0RWxlbWVudChtZWRpYUVsZW1lbnQsIE1lZGlhUGxheUJ1dHRvbikKIHsKIH0KIApAQCAtNTU2
LDI4ICs1NDEsMjIgQEAgdm9pZCBNZWRpYUNvbnRyb2xQbGF5QnV0dG9uRWxlbWVudDo6dXBkYXRl
RGlzcGxheVR5cGUoKQogICAgIHNldERpc3BsYXlUeXBlKG1lZGlhRWxlbWVudCgpLT5jYW5QbGF5
KCkgPyBNZWRpYVBsYXlCdXR0b24gOiBNZWRpYVBhdXNlQnV0dG9uKTsKIH0KIAorQXRvbWljU3Ry
aW5nIE1lZGlhQ29udHJvbFBsYXlCdXR0b25FbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0
Cit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIHBsYXlCdXR0b24sICgi
LXdlYmtpdC1tZWRpYS1jb250cm9scy1wbGF5LWJ1dHRvbiIpKTsKKyAgICByZXR1cm4gcGxheUJ1
dHRvbjsKK30KKwogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1pbmxpbmUgTWVk
aWFDb250cm9sU2Vla0J1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbFNlZWtCdXR0b25FbGVtZW50
KEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCwgUHNldWRvSWQgcHNldWRvSWQpCi0gICAg
OiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQobWVkaWFFbGVtZW50LCBwc2V1ZG9JZCkKK2lubGlu
ZSBNZWRpYUNvbnRyb2xTZWVrQnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sU2Vla0J1dHRvbkVs
ZW1lbnQoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50LCBNZWRpYUNvbnRyb2xFbGVtZW50
VHlwZSBkaXNwbGF5VHlwZSkKKyAgICA6IE1lZGlhQ29udHJvbElucHV0RWxlbWVudChtZWRpYUVs
ZW1lbnQsIGRpc3BsYXlUeXBlKQogICAgICwgbV9zZWVraW5nKGZhbHNlKQogICAgICwgbV9jYXB0
dXJpbmcoZmFsc2UpCiAgICAgLCBtX3NlZWtUaW1lcih0aGlzLCAmTWVkaWFDb250cm9sU2Vla0J1
dHRvbkVsZW1lbnQ6OnNlZWtUaW1lckZpcmVkKQogewogfQogCi1QYXNzUmVmUHRyPE1lZGlhQ29u
dHJvbFNlZWtCdXR0b25FbGVtZW50PiBNZWRpYUNvbnRyb2xTZWVrQnV0dG9uRWxlbWVudDo6Y3Jl
YXRlKEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCwgUHNldWRvSWQgcHNldWRvU3R5bGVJ
ZCkKLXsKLSAgICBSZWZQdHI8TWVkaWFDb250cm9sU2Vla0J1dHRvbkVsZW1lbnQ+IGJ1dHRvbiA9
IGFkb3B0UmVmKG5ldyBNZWRpYUNvbnRyb2xTZWVrQnV0dG9uRWxlbWVudChtZWRpYUVsZW1lbnQs
IHBzZXVkb1N0eWxlSWQpKTsKLSAgICBidXR0b24tPnNldFR5cGUoImJ1dHRvbiIpOwotICAgIHJl
dHVybiBidXR0b24ucmVsZWFzZSgpOwotfQotCi1pbmxpbmUgYm9vbCBNZWRpYUNvbnRyb2xTZWVr
QnV0dG9uRWxlbWVudDo6aXNGb3J3YXJkQnV0dG9uKCkgY29uc3QKLXsKLSAgICByZXR1cm4gcHNl
dWRvU3R5bGVJZCgpID09IE1FRElBX0NPTlRST0xTX1NFRUtfRk9SV0FSRF9CVVRUT047Ci19Ci0K
IHZvaWQgTWVkaWFDb250cm9sU2Vla0J1dHRvbkVsZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIo
RXZlbnQqIGV2ZW50KQogewogICAgIGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5t
b3VzZWRvd25FdmVudCkgewpAQCAtNjI3LDggKzYwNiw0OCBAQCB2b2lkIE1lZGlhQ29udHJvbFNl
ZWtCdXR0b25FbGVtZW50OjpkZXRhY2goKQogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCiAKK2lubGluZSBNZWRpYUNvbnRyb2xTZWVrRm9yd2FyZEJ1dHRvbkVsZW1lbnQ6Ok1lZGlh
Q29udHJvbFNlZWtGb3J3YXJkQnV0dG9uRWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVs
ZW1lbnQpCisgICAgOiBNZWRpYUNvbnRyb2xTZWVrQnV0dG9uRWxlbWVudChtZWRpYUVsZW1lbnQs
IE1lZGlhU2Vla0ZvcndhcmRCdXR0b24pCit7Cit9CisKK1Bhc3NSZWZQdHI8TWVkaWFDb250cm9s
U2Vla0ZvcndhcmRCdXR0b25FbGVtZW50PiBNZWRpYUNvbnRyb2xTZWVrRm9yd2FyZEJ1dHRvbkVs
ZW1lbnQ6OmNyZWF0ZShIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCit7CisgICAgUmVm
UHRyPE1lZGlhQ29udHJvbFNlZWtGb3J3YXJkQnV0dG9uRWxlbWVudD4gYnV0dG9uID0gYWRvcHRS
ZWYobmV3IE1lZGlhQ29udHJvbFNlZWtGb3J3YXJkQnV0dG9uRWxlbWVudChtZWRpYUVsZW1lbnQp
KTsKKyAgICBidXR0b24tPnNldFR5cGUoImJ1dHRvbiIpOworICAgIHJldHVybiBidXR0b24ucmVs
ZWFzZSgpOworfQorCitBdG9taWNTdHJpbmcgTWVkaWFDb250cm9sU2Vla0ZvcndhcmRCdXR0b25F
bGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0Cit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NB
TChBdG9taWNTdHJpbmcsIHNlZWtGb3J3YXJkQnV0dG9uLCAoIi13ZWJraXQtbWVkaWEtY29udHJv
bHMtc2Vlay1mb3J3YXJkLWJ1dHRvbiIpKTsKKyAgICByZXR1cm4gc2Vla0ZvcndhcmRCdXR0b247
Cit9CisKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworaW5saW5lIE1lZGlhQ29u
dHJvbFNlZWtCYWNrQnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sU2Vla0JhY2tCdXR0b25FbGVt
ZW50KEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCkKKyAgICA6IE1lZGlhQ29udHJvbFNl
ZWtCdXR0b25FbGVtZW50KG1lZGlhRWxlbWVudCwgTWVkaWFTZWVrQmFja0J1dHRvbikKK3sKK30K
KworUGFzc1JlZlB0cjxNZWRpYUNvbnRyb2xTZWVrQmFja0J1dHRvbkVsZW1lbnQ+IE1lZGlhQ29u
dHJvbFNlZWtCYWNrQnV0dG9uRWxlbWVudDo6Y3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlh
RWxlbWVudCkKK3sKKyAgICBSZWZQdHI8TWVkaWFDb250cm9sU2Vla0JhY2tCdXR0b25FbGVtZW50
PiBidXR0b24gPSBhZG9wdFJlZihuZXcgTWVkaWFDb250cm9sU2Vla0JhY2tCdXR0b25FbGVtZW50
KG1lZGlhRWxlbWVudCkpOworICAgIGJ1dHRvbi0+c2V0VHlwZSgiYnV0dG9uIik7CisgICAgcmV0
dXJuIGJ1dHRvbi5yZWxlYXNlKCk7Cit9CisKK0F0b21pY1N0cmluZyBNZWRpYUNvbnRyb2xTZWVr
QmFja0J1dHRvbkVsZW1lbnQ6OnNoYWRvd1BzZXVkb0lkKCkgY29uc3QKK3sKKyAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgc2Vla0JhY2tCdXR0b24sICgiLXdlYmtpdC1tZWRp
YS1jb250cm9scy1zZWVrLWJhY2stYnV0dG9uIikpOworICAgIHJldHVybiBzZWVrQmFja0J1dHRv
bjsKK30KKworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCiBpbmxpbmUgTWVkaWFD
b250cm9sUmV3aW5kQnV0dG9uRWxlbWVudDo6TWVkaWFDb250cm9sUmV3aW5kQnV0dG9uRWxlbWVu
dChIVE1MTWVkaWFFbGVtZW50KiBlbGVtZW50KQotICAgIDogTWVkaWFDb250cm9sSW5wdXRFbGVt
ZW50KGVsZW1lbnQsIE1FRElBX0NPTlRST0xTX1JFV0lORF9CVVRUT04pCisgICAgOiBNZWRpYUNv
bnRyb2xJbnB1dEVsZW1lbnQoZWxlbWVudCwgTWVkaWFSZXdpbmRCdXR0b24pCiB7CiB9CiAKQEAg
LTY0OCwxMCArNjY3LDE2IEBAIHZvaWQgTWVkaWFDb250cm9sUmV3aW5kQnV0dG9uRWxlbWVudDo6
ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCogZXZlbnQpCiAgICAgSFRNTElucHV0RWxlbWVudDo6
ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7CiB9CiAKK0F0b21pY1N0cmluZyBNZWRpYUNvbnRy
b2xSZXdpbmRCdXR0b25FbGVtZW50OjpzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0Cit7CisgICAgREVG
SU5FX1NUQVRJQ19MT0NBTChBdG9taWNTdHJpbmcsIHJld2luZEJ1dHRvbiwgKCItd2Via2l0LW1l
ZGlhLWNvbnRyb2xzLXJld2luZC1idXR0b24iKSk7CisgICAgcmV0dXJuIHJld2luZEJ1dHRvbjsK
K30KKwogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBpbmxpbmUgTWVkaWFDb250
cm9sUmV0dXJuVG9SZWFsdGltZUJ1dHRvbkVsZW1lbnQ6Ok1lZGlhQ29udHJvbFJldHVyblRvUmVh
bHRpbWVCdXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCkKLSAgICA6
IE1lZGlhQ29udHJvbElucHV0RWxlbWVudChtZWRpYUVsZW1lbnQsIE1FRElBX0NPTlRST0xTX1JF
VFVSTl9UT19SRUFMVElNRV9CVVRUT04pCisgICAgOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQo
bWVkaWFFbGVtZW50LCBNZWRpYVJldHVyblRvUmVhbHRpbWVCdXR0b24pCiB7CiB9CiAKQEAgLTY3
MSwxMSArNjk2LDE2IEBAIHZvaWQgTWVkaWFDb250cm9sUmV0dXJuVG9SZWFsdGltZUJ1dHRvbkVs
ZW1lbnQ6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqIGV2ZW50CiAgICAgSFRNTElucHV0RWxl
bWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxlcihldmVudCk7CiB9CiAKK0F0b21pY1N0cmluZyBNZWRp
YUNvbnRyb2xSZXR1cm5Ub1JlYWx0aW1lQnV0dG9uRWxlbWVudDo6c2hhZG93UHNldWRvSWQoKSBj
b25zdAoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCByZXR1cm5Ub1Jl
YWx0aW1lQnV0dG9uLCAoIi13ZWJraXQtbWVkaWEtY29udHJvbHMtcmV0dXJuLXRvLXJlYWx0aW1l
LWJ1dHRvbiIpKTsKKyAgICByZXR1cm4gcmV0dXJuVG9SZWFsdGltZUJ1dHRvbjsKK30KIAogLy8g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBpbmxpbmUgTWVkaWFDb250cm9sVG9nZ2xl
Q2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0
aW9uc0J1dHRvbkVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50KQotICAgIDog
TWVkaWFDb250cm9sSW5wdXRFbGVtZW50KG1lZGlhRWxlbWVudCwgTUVESUFfQ09OVFJPTFNfVE9H
R0xFX0NMT1NFRF9DQVBUSU9OU19CVVRUT04pCisgICAgOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1l
bnQobWVkaWFFbGVtZW50LCBNZWRpYVNob3dDbG9zZWRDYXB0aW9uc0J1dHRvbikKIHsKIH0KIApA
QCAtNzAxLDEwICs3MzEsMTYgQEAgdm9pZCBNZWRpYUNvbnRyb2xUb2dnbGVDbG9zZWRDYXB0aW9u
c0J1dHRvbkVsZW1lbnQ6OnVwZGF0ZURpc3BsYXlUeXBlKCkKICAgICBzZXREaXNwbGF5VHlwZSht
ZWRpYUVsZW1lbnQoKS0+Y2xvc2VkQ2FwdGlvbnNWaXNpYmxlKCkgPyBNZWRpYUhpZGVDbG9zZWRD
YXB0aW9uc0J1dHRvbiA6IE1lZGlhU2hvd0Nsb3NlZENhcHRpb25zQnV0dG9uKTsKIH0KIAorQXRv
bWljU3RyaW5nIE1lZGlhQ29udHJvbFRvZ2dsZUNsb3NlZENhcHRpb25zQnV0dG9uRWxlbWVudDo6
c2hhZG93UHNldWRvSWQoKSBjb25zdAoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWlj
U3RyaW5nLCBjbG9zZWRDYXB0aW9uc0J1dHRvbiwgKCItd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRv
Z2dsZS1jbG9zZWQtY2FwdGlvbnMtYnV0dG9uIikpOworICAgIHJldHVybiBjbG9zZWRDYXB0aW9u
c0J1dHRvbjsKK30KKwogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBNZWRpYUNv
bnRyb2xUaW1lbGluZUVsZW1lbnQ6Ok1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudChIVE1MTWVk
aWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCi0gICAgOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQo
bWVkaWFFbGVtZW50LCBNRURJQV9DT05UUk9MU19USU1FTElORSkKKyAgICA6IE1lZGlhQ29udHJv
bElucHV0RWxlbWVudChtZWRpYUVsZW1lbnQsIE1lZGlhU2xpZGVyKQogewogfQogCkBAIC03NTYs
MTAgKzc5MiwxNiBAQCB2b2lkIE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudDo6dXBkYXRlKGJv
b2wgdXBkYXRlRHVyYXRpb24pCiAgICAgTWVkaWFDb250cm9sSW5wdXRFbGVtZW50Ojp1cGRhdGUo
KTsKIH0KIAorQXRvbWljU3RyaW5nIE1lZGlhQ29udHJvbFRpbWVsaW5lRWxlbWVudDo6c2hhZG93
UHNldWRvSWQoKSBjb25zdAoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5n
LCB0aW1lbGluZVNsaWRlciwgKCItd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWVsaW5lIikpOwor
ICAgIHJldHVybiB0aW1lbGluZVNsaWRlcjsKK30KKwogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQogCiBpbmxpbmUgTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudDo6TWVkaWFD
b250cm9sVm9sdW1lU2xpZGVyRWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQp
Ci0gICAgOiBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQobWVkaWFFbGVtZW50LCBNRURJQV9DT05U
Uk9MU19WT0xVTUVfU0xJREVSKQorICAgIDogTWVkaWFDb250cm9sSW5wdXRFbGVtZW50KG1lZGlh
RWxlbWVudCwgTWVkaWFWb2x1bWVTbGlkZXIpCiB7CiB9CiAKQEAgLTgwMCwxMCArODQyLDE2IEBA
IHZvaWQgTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudDo6dXBkYXRlKCkKICAgICBNZWRp
YUNvbnRyb2xJbnB1dEVsZW1lbnQ6OnVwZGF0ZSgpOwogfQogCitBdG9taWNTdHJpbmcgTWVkaWFD
b250cm9sVm9sdW1lU2xpZGVyRWxlbWVudDo6c2hhZG93UHNldWRvSWQoKSBjb25zdAoreworICAg
IERFRklORV9TVEFUSUNfTE9DQUwoQXRvbWljU3RyaW5nLCB2b2x1bWVTbGlkZXIsICgiLXdlYmtp
dC1tZWRpYS1jb250cm9scy12b2x1bWUtc2xpZGVyIikpOworICAgIHJldHVybiB2b2x1bWVTbGlk
ZXI7Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogaW5saW5lIE1lZGlh
Q29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50OjpNZWRpYUNvbnRyb2xGdWxsc2NyZWVuQnV0
dG9uRWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQpCi0gICAgOiBNZWRpYUNv
bnRyb2xJbnB1dEVsZW1lbnQobWVkaWFFbGVtZW50LCBNRURJQV9DT05UUk9MU19GVUxMU0NSRUVO
X0JVVFRPTikKKyAgICA6IE1lZGlhQ29udHJvbElucHV0RWxlbWVudChtZWRpYUVsZW1lbnQsIE1l
ZGlhRnVsbHNjcmVlbkJ1dHRvbikKIHsKIH0KIApAQCAtODM2LDYgKzg4NCwxMiBAQCB2b2lkIE1l
ZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKEV2
ZW50KiBldmVudCkKICAgICBIVE1MSW5wdXRFbGVtZW50OjpkZWZhdWx0RXZlbnRIYW5kbGVyKGV2
ZW50KTsKIH0KIAorQXRvbWljU3RyaW5nIE1lZGlhQ29udHJvbEZ1bGxzY3JlZW5CdXR0b25FbGVt
ZW50OjpzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0Cit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChB
dG9taWNTdHJpbmcsIGZ1bGxzY3JlZW5CdXR0b24sICgiLXdlYmtpdC1tZWRpYS1jb250cm9scy1m
dWxsc2NyZWVuLWJ1dHRvbiIpKTsKKyAgICByZXR1cm4gZnVsbHNjcmVlbkJ1dHRvbjsKK30KKwog
Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBpbmxpbmUgTWVkaWFDb250cm9sVGlt
ZURpc3BsYXlFbGVtZW50OjpNZWRpYUNvbnRyb2xUaW1lRGlzcGxheUVsZW1lbnQoSFRNTE1lZGlh
RWxlbWVudCogbWVkaWFFbGVtZW50LCBQc2V1ZG9JZCBwc2V1ZG8pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvTWVkaWFDb250cm9sRWxlbWVudHMuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9NZWRpYUNvbnRyb2xFbGVtZW50cy5oCmluZGV4IGIyZDA2M2Q0ZmViYTNh
OTU4NWJlMjU2NmYyOGM1NjJlOGZmMDU5ZDYuLjgwNjE1MGQ2MzE0MGMwODY4N2EzMjgzZjlkNzJl
Mzg5ODI5M2M5YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9NZWRpYUNv
bnRyb2xFbGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9NZWRpYUNvbnRy
b2xFbGVtZW50cy5oCkBAIC0xNzQsMTIgKzE3NCwxMCBAQCBwdWJsaWM6CiAgICAgSFRNTE1lZGlh
RWxlbWVudCogbWVkaWFFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYUVsZW1lbnQ7IH0K
IAogcHJvdGVjdGVkOgotICAgIE1lZGlhQ29udHJvbElucHV0RWxlbWVudChIVE1MTWVkaWFFbGVt
ZW50KiwgUHNldWRvSWQpOworICAgIE1lZGlhQ29udHJvbElucHV0RWxlbWVudChIVE1MTWVkaWFF
bGVtZW50KiwgTWVkaWFDb250cm9sRWxlbWVudFR5cGUpOwogCiAgICAgdm9pZCBzZXREaXNwbGF5
VHlwZShNZWRpYUNvbnRyb2xFbGVtZW50VHlwZSk7CiAKLSAgICBQc2V1ZG9JZCBwc2V1ZG9TdHls
ZUlkKCkgY29uc3QgeyByZXR1cm4gbV9wc2V1ZG9TdHlsZUlkOyB9Ci0KIHByaXZhdGU6CiAgICAg
dmlydHVhbCB2b2lkIGF0dGFjaCgpOwogICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVk
KFJlbmRlclN0eWxlKik7CkBAIC0xOTAsOCArMTg4LDcgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1
YWwgdm9pZCB1cGRhdGVEaXNwbGF5VHlwZSgpIHsgfQogCi0gICAgSFRNTE1lZGlhRWxlbWVudCog
bV9tZWRpYUVsZW1lbnQ7ICAgCi0gICAgUHNldWRvSWQgbV9wc2V1ZG9TdHlsZUlkOworICAgIEhU
TUxNZWRpYUVsZW1lbnQqIG1fbWVkaWFFbGVtZW50OwogICAgIE1lZGlhQ29udHJvbEVsZW1lbnRU
eXBlIG1fZGlzcGxheVR5cGU7CiB9OwogCkBAIC0xOTksMTkgKzE5NiwzMyBAQCBwcml2YXRlOgog
CiBjbGFzcyBNZWRpYUNvbnRyb2xNdXRlQnV0dG9uRWxlbWVudCA6IHB1YmxpYyBNZWRpYUNvbnRy
b2xJbnB1dEVsZW1lbnQgewogcHVibGljOgotICAgIGVudW0gQnV0dG9uTG9jYXRpb24geyBDb250
cm9sbGVyLCBWb2x1bWVTbGlkZXIgfTsKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUNvbnRy
b2xNdXRlQnV0dG9uRWxlbWVudD4gY3JlYXRlKEhUTUxNZWRpYUVsZW1lbnQqLCBCdXR0b25Mb2Nh
dGlvbik7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8TWVkaWFDb250cm9sTXV0ZUJ1dHRvbkVsZW1l
bnQ+IGNyZWF0ZShIVE1MTWVkaWFFbGVtZW50Kik7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGVmYXVs
dEV2ZW50SGFuZGxlcihFdmVudCopOwogCi1wcml2YXRlOgotICAgIE1lZGlhQ29udHJvbE11dGVC
dXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqLCBCdXR0b25Mb2NhdGlvbik7Citwcm90ZWN0
ZWQ6CisgICAgTWVkaWFDb250cm9sTXV0ZUJ1dHRvbkVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCos
IE1lZGlhQ29udHJvbEVsZW1lbnRUeXBlKTsKIAorcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQg
dXBkYXRlRGlzcGxheVR5cGUoKTsKKyAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyBzaGFkb3dQc2V1
ZG9JZCgpIGNvbnN0OwogfTsKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCitj
bGFzcyBNZWRpYUNvbnRyb2xWb2x1bWVTbGlkZXJNdXRlQnV0dG9uRWxlbWVudCA6IHB1YmxpYyBN
ZWRpYUNvbnRyb2xNdXRlQnV0dG9uRWxlbWVudCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8TWVkaWFDb250cm9sVm9sdW1lU2xpZGVyTXV0ZUJ1dHRvbkVsZW1lbnQ+IGNyZWF0ZShI
VE1MTWVkaWFFbGVtZW50Kik7CisKK3ByaXZhdGU6CisgICAgTWVkaWFDb250cm9sVm9sdW1lU2xp
ZGVyTXV0ZUJ1dHRvbkVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCopOworCisgICAgdmlydHVhbCBB
dG9taWNTdHJpbmcgc2hhZG93UHNldWRvSWQoKSBjb25zdDsKK307CisKKworLy8gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorCiBjbGFzcyBNZWRpYUNvbnRyb2xQbGF5QnV0dG9uRWxlbWVu
dCA6IHB1YmxpYyBNZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQgewogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPE1lZGlhQ29udHJvbFBsYXlCdXR0b25FbGVtZW50PiBjcmVhdGUoSFRNTE1l
ZGlhRWxlbWVudCopOwpAQCAtMjIyLDIwICsyMzMsMjAgQEAgcHJpdmF0ZToKICAgICBNZWRpYUNv
bnRyb2xQbGF5QnV0dG9uRWxlbWVudChIVE1MTWVkaWFFbGVtZW50Kik7CiAKICAgICB2aXJ0dWFs
IHZvaWQgdXBkYXRlRGlzcGxheVR5cGUoKTsKKyAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyBzaGFk
b3dQc2V1ZG9JZCgpIGNvbnN0OwogfTsKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogCiBjbGFzcyBNZWRpYUNvbnRyb2xTZWVrQnV0dG9uRWxlbWVudCA6IHB1YmxpYyBNZWRpYUNv
bnRyb2xJbnB1dEVsZW1lbnQgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlh
Q29udHJvbFNlZWtCdXR0b25FbGVtZW50PiBjcmVhdGUoSFRNTE1lZGlhRWxlbWVudCosIFBzZXVk
b0lkKTsKLQogICAgIHZpcnR1YWwgdm9pZCBkZWZhdWx0RXZlbnRIYW5kbGVyKEV2ZW50Kik7CiAK
LXByaXZhdGU6Ci0gICAgTWVkaWFDb250cm9sU2Vla0J1dHRvbkVsZW1lbnQoSFRNTE1lZGlhRWxl
bWVudCosIFBzZXVkb0lkKTsKK3Byb3RlY3RlZDoKKyAgICBNZWRpYUNvbnRyb2xTZWVrQnV0dG9u
RWxlbWVudChIVE1MTWVkaWFFbGVtZW50KiwgTWVkaWFDb250cm9sRWxlbWVudFR5cGUpOwogCi0g
ICAgYm9vbCBpc0ZvcndhcmRCdXR0b24oKSBjb25zdDsKK3ByaXZhdGU6CisgICAgdmlydHVhbCBi
b29sIGlzRm9yd2FyZEJ1dHRvbigpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBkZXRh
Y2goKTsKICAgICB2b2lkIHNlZWtUaW1lckZpcmVkKFRpbWVyPE1lZGlhQ29udHJvbFNlZWtCdXR0
b25FbGVtZW50PiopOwpAQCAtMjQ0LDcgKzI1NSwzMyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9j
YXB0dXJpbmc7CiAgICAgVGltZXI8TWVkaWFDb250cm9sU2Vla0J1dHRvbkVsZW1lbnQ+IG1fc2Vl
a1RpbWVyOwogfTsKLSAgICAKKworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitj
bGFzcyBNZWRpYUNvbnRyb2xTZWVrRm9yd2FyZEJ1dHRvbkVsZW1lbnQgOiBwdWJsaWMgTWVkaWFD
b250cm9sU2Vla0J1dHRvbkVsZW1lbnQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PE1lZGlhQ29udHJvbFNlZWtGb3J3YXJkQnV0dG9uRWxlbWVudD4gY3JlYXRlKEhUTUxNZWRpYUVs
ZW1lbnQqKTsKKworcHJpdmF0ZToKKyAgICBNZWRpYUNvbnRyb2xTZWVrRm9yd2FyZEJ1dHRvbkVs
ZW1lbnQoSFRNTE1lZGlhRWxlbWVudCopOworCisgICAgdmlydHVhbCBib29sIGlzRm9yd2FyZEJ1
dHRvbigpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyBz
aGFkb3dQc2V1ZG9JZCgpIGNvbnN0OworfTsKKworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQorCitjbGFzcyBNZWRpYUNvbnRyb2xTZWVrQmFja0J1dHRvbkVsZW1lbnQgOiBwdWJsaWMg
TWVkaWFDb250cm9sU2Vla0J1dHRvbkVsZW1lbnQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNz
UmVmUHRyPE1lZGlhQ29udHJvbFNlZWtCYWNrQnV0dG9uRWxlbWVudD4gY3JlYXRlKEhUTUxNZWRp
YUVsZW1lbnQqKTsKKworcHJpdmF0ZToKKyAgICBNZWRpYUNvbnRyb2xTZWVrQmFja0J1dHRvbkVs
ZW1lbnQoSFRNTE1lZGlhRWxlbWVudCopOworCisgICAgdmlydHVhbCBib29sIGlzRm9yd2FyZEJ1
dHRvbigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBBdG9taWNTdHJpbmcg
c2hhZG93UHNldWRvSWQoKSBjb25zdDsKK307CisKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KIAogY2xhc3MgTWVkaWFDb250cm9sUmV3aW5kQnV0dG9uRWxlbWVudCA6IHB1YmxpYyBN
ZWRpYUNvbnRyb2xJbnB1dEVsZW1lbnQgewpAQCAtMjU1LDYgKzI5Miw4IEBAIHB1YmxpYzoKIAog
cHJpdmF0ZToKICAgICBNZWRpYUNvbnRyb2xSZXdpbmRCdXR0b25FbGVtZW50KEhUTUxNZWRpYUVs
ZW1lbnQqKTsKKworICAgIHZpcnR1YWwgQXRvbWljU3RyaW5nIHNoYWRvd1BzZXVkb0lkKCkgY29u
c3Q7CiB9OwogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0yNjcsNiArMzA2
LDggQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIE1lZGlhQ29udHJvbFJldHVyblRvUmVhbHRp
bWVCdXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQqKTsKKworICAgIHZpcnR1YWwgQXRvbWlj
U3RyaW5nIHNoYWRvd1BzZXVkb0lkKCkgY29uc3Q7CiB9OyAgICAKIAogLy8gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQpAQCAtMjgxLDYgKzMyMiw3IEBAIHByaXZhdGU6CiAgICAgTWVkaWFD
b250cm9sVG9nZ2xlQ2xvc2VkQ2FwdGlvbnNCdXR0b25FbGVtZW50KEhUTUxNZWRpYUVsZW1lbnQq
KTsKIAogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVEaXNwbGF5VHlwZSgpOworICAgIHZpcnR1YWwg
QXRvbWljU3RyaW5nIHNoYWRvd1BzZXVkb0lkKCkgY29uc3Q7CiB9OyAgICAKIAogLy8gLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMjk0LDYgKzMzNiw4IEBAIHB1YmxpYzoKIAogcHJp
dmF0ZToKICAgICBNZWRpYUNvbnRyb2xUaW1lbGluZUVsZW1lbnQoSFRNTE1lZGlhRWxlbWVudCop
OworCisgICAgdmlydHVhbCBBdG9taWNTdHJpbmcgc2hhZG93UHNldWRvSWQoKSBjb25zdDsKIH07
CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTMwNyw2ICszNTEsOCBAQCBw
dWJsaWM6CiAKIHByaXZhdGU6CiAgICAgTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyRWxlbWVudChI
VE1MTWVkaWFFbGVtZW50Kik7CisKKyAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyBzaGFkb3dQc2V1
ZG9JZCgpIGNvbnN0OwogfTsKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAt
MzE5LDYgKzM2NSw4IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICBNZWRpYUNvbnRyb2xGdWxs
c2NyZWVuQnV0dG9uRWxlbWVudChIVE1MTWVkaWFFbGVtZW50Kik7CisKKyAgICB2aXJ0dWFsIEF0
b21pY1N0cmluZyBzaGFkb3dQc2V1ZG9JZCgpIGNvbnN0OwogfTsKIAogLy8gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck1lZGlhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZWRpYS5jcHAK
aW5kZXggN2RhNzJkYmE5Mzc5MjAyMmVjNDBiZTYyNDAyYzYwMzM0MTk4YmU4MS4uNzBiMWIzMzZi
MDljOWRiZTA3YTIxN2YyNjc5NTdkODlmNjRlMWQwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lZGlhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWVkaWEuY3BwCkBAIC0xOTAsNyArMTkwLDcgQEAgdm9pZCBSZW5kZXJNZWRpYTo6
Y3JlYXRlUGFuZWwoKQogdm9pZCBSZW5kZXJNZWRpYTo6Y3JlYXRlTXV0ZUJ1dHRvbigpCiB7CiAg
ICAgQVNTRVJUKCFtX211dGVCdXR0b24pOwotICAgIG1fbXV0ZUJ1dHRvbiA9IE1lZGlhQ29udHJv
bE11dGVCdXR0b25FbGVtZW50OjpjcmVhdGUobWVkaWFFbGVtZW50KCksIE1lZGlhQ29udHJvbE11
dGVCdXR0b25FbGVtZW50OjpDb250cm9sbGVyKTsKKyAgICBtX211dGVCdXR0b24gPSBNZWRpYUNv
bnRyb2xNdXRlQnV0dG9uRWxlbWVudDo6Y3JlYXRlKG1lZGlhRWxlbWVudCgpKTsKICAgICBtX211
dGVCdXR0b24tPmF0dGFjaFRvUGFyZW50KG1fcGFuZWwuZ2V0KCkpOwogfQogCkBAIC0yMDQsMTQg
KzIwNCwxNCBAQCB2b2lkIFJlbmRlck1lZGlhOjpjcmVhdGVQbGF5QnV0dG9uKCkKIHZvaWQgUmVu
ZGVyTWVkaWE6OmNyZWF0ZVNlZWtCYWNrQnV0dG9uKCkKIHsKICAgICBBU1NFUlQoIW1fc2Vla0Jh
Y2tCdXR0b24pOwotICAgIG1fc2Vla0JhY2tCdXR0b24gPSBNZWRpYUNvbnRyb2xTZWVrQnV0dG9u
RWxlbWVudDo6Y3JlYXRlKG1lZGlhRWxlbWVudCgpLCBNRURJQV9DT05UUk9MU19TRUVLX0JBQ0tf
QlVUVE9OKTsKKyAgICBtX3NlZWtCYWNrQnV0dG9uID0gTWVkaWFDb250cm9sU2Vla0JhY2tCdXR0
b25FbGVtZW50OjpjcmVhdGUobWVkaWFFbGVtZW50KCkpOwogICAgIG1fc2Vla0JhY2tCdXR0b24t
PmF0dGFjaFRvUGFyZW50KG1fcGFuZWwuZ2V0KCkpOwogfQogCiB2b2lkIFJlbmRlck1lZGlhOjpj
cmVhdGVTZWVrRm9yd2FyZEJ1dHRvbigpCiB7CiAgICAgQVNTRVJUKCFtX3NlZWtGb3J3YXJkQnV0
dG9uKTsKLSAgICBtX3NlZWtGb3J3YXJkQnV0dG9uID0gTWVkaWFDb250cm9sU2Vla0J1dHRvbkVs
ZW1lbnQ6OmNyZWF0ZShtZWRpYUVsZW1lbnQoKSwgTUVESUFfQ09OVFJPTFNfU0VFS19GT1JXQVJE
X0JVVFRPTik7CisgICAgbV9zZWVrRm9yd2FyZEJ1dHRvbiA9IE1lZGlhQ29udHJvbFNlZWtGb3J3
YXJkQnV0dG9uRWxlbWVudDo6Y3JlYXRlKG1lZGlhRWxlbWVudCgpKTsKICAgICBtX3NlZWtGb3J3
YXJkQnV0dG9uLT5hdHRhY2hUb1BhcmVudChtX3BhbmVsLmdldCgpKTsKIH0KIApAQCAtMjc4LDcg
KzI3OCw3IEBAIHZvaWQgUmVuZGVyTWVkaWE6OmNyZWF0ZVZvbHVtZVNsaWRlcigpCiB2b2lkIFJl
bmRlck1lZGlhOjpjcmVhdGVWb2x1bWVTbGlkZXJNdXRlQnV0dG9uKCkKIHsKICAgICBBU1NFUlQo
IW1fdm9sdW1lU2xpZGVyTXV0ZUJ1dHRvbik7Ci0gICAgbV92b2x1bWVTbGlkZXJNdXRlQnV0dG9u
ID0gTWVkaWFDb250cm9sTXV0ZUJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShtZWRpYUVsZW1lbnQoKSwg
TWVkaWFDb250cm9sTXV0ZUJ1dHRvbkVsZW1lbnQ6OlZvbHVtZVNsaWRlcik7CisgICAgbV92b2x1
bWVTbGlkZXJNdXRlQnV0dG9uID0gTWVkaWFDb250cm9sVm9sdW1lU2xpZGVyTXV0ZUJ1dHRvbkVs
ZW1lbnQ6OmNyZWF0ZShtZWRpYUVsZW1lbnQoKSk7CiAgICAgbV92b2x1bWVTbGlkZXJNdXRlQnV0
dG9uLT5hdHRhY2hUb1BhcmVudChtX3ZvbHVtZVNsaWRlckNvbnRhaW5lci5nZXQoKSk7CiAgICAg
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGVDb25zdGFudHMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZUNvbnN0YW50cy5oCmluZGV4IDdjZDQ5MDMwMWExNzVjM2YxOWZmY2NmOGY2NmVhYWY5ZmZiNmY1
MzYuLjYzM2Q0ODI0YTllZDFiMTVlZTI0MzljMmIwZDk5ZjM5MTRiMGRkZWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZUNvbnN0YW50cy5o
CkBAIC02OSwxMSArNjksNyBAQCBlbnVtIFBzZXVkb0lkIHsKICAgICAvLyBUaGUgb3JkZXIgbXVz
dCBiZSBOT1AgSUQsIHB1YmxpYyBJRHMsIGFuZCB0aGVuIGludGVybmFsIElEcy4KICAgICBOT1BT
RVVETywgRklSU1RfTElORSwgRklSU1RfTEVUVEVSLCBCRUZPUkUsIEFGVEVSLCBTRUxFQ1RJT04s
IEZJUlNUX0xJTkVfSU5IRVJJVEVELCBTQ1JPTExCQVIsIEZJTEVfVVBMT0FEX0JVVFRPTiwgSU5Q
VVRfUExBQ0VIT0xERVIsCiAgICAgU0VBUkNIX0NBTkNFTF9CVVRUT04sIFNFQVJDSF9ERUNPUkFU
SU9OLCBTRUFSQ0hfUkVTVUxUU19ERUNPUkFUSU9OLCBTRUFSQ0hfUkVTVUxUU19CVVRUT04sIE1F
RElBX0NPTlRST0xTX1BBTkVMLAotICAgIE1FRElBX0NPTlRST0xTX1BMQVlfQlVUVE9OLCBNRURJ
QV9DT05UUk9MU19NVVRFX0JVVFRPTiwgTUVESUFfQ09OVFJPTFNfVElNRUxJTkUsIE1FRElBX0NP
TlRST0xTX1RJTUVMSU5FX0NPTlRBSU5FUiwKLSAgICBNRURJQV9DT05UUk9MU19WT0xVTUVfU0xJ
REVSLCBNRURJQV9DT05UUk9MU19WT0xVTUVfU0xJREVSX0NPTlRBSU5FUiwgTUVESUFfQ09OVFJP
TFNfVk9MVU1FX1NMSURFUl9NVVRFX0JVVFRPTiwgCi0gICAgTUVESUFfQ09OVFJPTFNfQ1VSUkVO
VF9USU1FX0RJU1BMQVksIE1FRElBX0NPTlRST0xTX1RJTUVfUkVNQUlOSU5HX0RJU1BMQVksIAot
ICAgIE1FRElBX0NPTlRST0xTX1NFRUtfQkFDS19CVVRUT04sIE1FRElBX0NPTlRST0xTX1NFRUtf
Rk9SV0FSRF9CVVRUT04sIE1FRElBX0NPTlRST0xTX0ZVTExTQ1JFRU5fQlVUVE9OLCBNRURJQV9D
T05UUk9MU19SRVdJTkRfQlVUVE9OLCAKLSAgICBNRURJQV9DT05UUk9MU19SRVRVUk5fVE9fUkVB
TFRJTUVfQlVUVE9OLCBNRURJQV9DT05UUk9MU19UT0dHTEVfQ0xPU0VEX0NBUFRJT05TX0JVVFRP
TiwKKyAgICBNRURJQV9DT05UUk9MU19USU1FTElORV9DT05UQUlORVIsIE1FRElBX0NPTlRST0xT
X1ZPTFVNRV9TTElERVJfQ09OVEFJTkVSLCBNRURJQV9DT05UUk9MU19DVVJSRU5UX1RJTUVfRElT
UExBWSwgTUVESUFfQ09OVFJPTFNfVElNRV9SRU1BSU5JTkdfRElTUExBWSwgCiAgICAgTUVESUFf
Q09OVFJPTFNfU1RBVFVTX0RJU1BMQVksIFNDUk9MTEJBUl9USFVNQiwgU0NST0xMQkFSX0JVVFRP
TiwgU0NST0xMQkFSX1RSQUNLLCBTQ1JPTExCQVJfVFJBQ0tfUElFQ0UsIFNDUk9MTEJBUl9DT1JO
RVIsIFJFU0laRVIsCiAgICAgSU5QVVRfTElTVF9CVVRUT04sIElOUFVUX1NQRUVDSF9CVVRUT04s
IElOTkVSX1NQSU5fQlVUVE9OLCBPVVRFUl9TUElOX0JVVFRPTiwgVklTSVRFRF9MSU5LLCBQUk9H
UkVTU19CQVJfVkFMVUUsCiAgICAgTUVURVJfSE9SSVpPTlRBTF9CQVIsIE1FVEVSX0hPUklaT05U
QUxfT1BUSU1VTSwgTUVURVJfSE9SSVpPTlRBTF9TVUJPUFRJTUFMLCBNRVRFUl9IT1JJWk9OVEFM
X0VWRU5fTEVTU19HT09ELAo=
</data>
<flag name="review"
          id="71596"
          type_id="1"
          status="+"
          setter="tkent"
    />
          </attachment>
      

    </bug>

</bugzilla>