<?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>98227</bug_id>
          
          <creation_ts>2012-10-02 20:48:11 -0700</creation_ts>
          <short_desc>DateTimeYearFieldElement should respect min/max values specified by page authors</short_desc>
          <delta_ts>2012-10-03 21:32:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>98228</dependson>
    
    <dependson>98230</dependson>
          <blocked>97299</blocked>
    
    <blocked>97997</blocked>
    
    <blocked>98226</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>mifenton</cc>
    
    <cc>morrita</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>733337</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-02 20:48:11 -0700</bug_when>
    <thetext>DateTimeYearFieldElement should respect min/max values specified by page authors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733405</commentid>
    <comment_count>1</comment_count>
      <attachid>166819</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-03 00:31:29 -0700</bug_when>
    <thetext>Created attachment 166819
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733485</commentid>
    <comment_count>2</comment_count>
      <attachid>166819</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-03 02:28:29 -0700</bug_when>
    <thetext>Comment on attachment 166819
Patch

Attachment 166819 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14125690

New failing tests:
fast/forms/month-multiple-fields/month-multiple-fields-appearance-pseudo-classes.html
fast/forms/week-multiple-fields/week-multiple-fields-appearance-basic.html
fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-classes.html
fast/forms/week-multiple-fields/week-multiple-fields-appearance-style.html
fast/forms/week-multiple-fields/week-multiple-fields-appearance-pseudo-elements.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733516</commentid>
    <comment_count>3</comment_count>
      <attachid>166819</attachid>
    <who name="">yosin</who>
    <bug_when>2012-10-03 03:03:01 -0700</bug_when>
    <thetext>Comment on attachment 166819
Patch

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

&gt; Source/WebCore/html/shadow/DateTimeFieldElements.cpp:456
&gt; +    return range().isInRange(fullYear) ? fullYear : DateTimeNumericFieldElement::defaultValueForStepDown();

In current UI document, we use current year if we author doesn&apos;t specify &quot;min&quot; attribute, otherwise we use minimum value.
If you think using current year if it is in-range is better, please update UI document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733525</commentid>
    <comment_count>4</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-03 03:12:13 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; In current UI document, we use current year if we author doesn&apos;t specify &quot;min&quot; attribute, otherwise we use minimum value.
&gt; If you think using current year if it is in-range is better, please update UI document.

I see. I&apos;ll update the implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733555</commentid>
    <comment_count>5</comment_count>
      <attachid>166854</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-03 04:19:01 -0700</bug_when>
    <thetext>Created attachment 166854
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734331</commentid>
    <comment_count>6</comment_count>
      <attachid>166854</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-10-03 20:33:26 -0700</bug_when>
    <thetext>Comment on attachment 166854
Patch 2

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

&gt; Source/WebCore/html/shadow/DateTimeEditElement.cpp:164
&gt; +            yearParams.minIsSpecified = false;

Nit: could be
 yearParams.minIsSpecified = m_parameters.minimumYear != m_parameters.undefinedYear();

&gt; Source/WebCore/html/shadow/DateTimeFieldElements.h:177
&gt; +            : minimumYear(-1)

Why not use undefinedYear()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734335</commentid>
    <comment_count>7</comment_count>
      <attachid>166854</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-03 20:38:55 -0700</bug_when>
    <thetext>Comment on attachment 166854
Patch 2

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

&gt;&gt; Source/WebCore/html/shadow/DateTimeFieldElements.h:177
&gt;&gt; +            : minimumYear(-1)
&gt; 
&gt; Why not use undefinedYear()?

Because we&apos;d like to avoid dependency from DateTime*FieldElement to DateTimeEditElement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734337</commentid>
    <comment_count>8</comment_count>
      <attachid>166854</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-03 20:43:42 -0700</bug_when>
    <thetext>Comment on attachment 166854
Patch 2

Rejecting attachment 166854 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
/WebCore/html/shadow/DateTimeNumericFieldElement.h
patching file LayoutTests/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file LayoutTests/fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events-expected.txt
patching file LayoutTests/fast/forms/month-multiple-fields/month-multiple-fields-keyboard-events.html

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;Hajime Mor...&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue

Full output: http://queues.webkit.org/results/14129925</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734348</commentid>
    <comment_count>9</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-03 21:32:41 -0700</bug_when>
    <thetext>Committed r130362: &lt;http://trac.webkit.org/changeset/130362&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166819</attachid>
            <date>2012-10-03 00:31:29 -0700</date>
            <delta_ts>2012-10-03 04:18:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98227-20121003163040.patch</filename>
            <type>text/plain</type>
            <size>21830</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMjU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDZlY2M2YzE1NmYzMGY5
ZDM1ZjViNGFhZDQ5OWIwZDE4NmJmZWU5OS4uMTZiODAwNDFlNzMyY2Y1NDNjYmNhMDQyMmVhNTgy
NTBiNWU1ODc5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDEyLTEwLTA0ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBEYXRlVGltZVllYXJGaWVs
ZEVsZW1lbnQgc2hvdWxkIHJlc3BlY3QgbWluL21heCB2YWx1ZXMgc3BlY2lmaWVkIGJ5IHBhZ2Ug
YXV0aG9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTgyMjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBC
ZWZvcmUgdGhpcyBwYXRjaCwgd2UgYWx3YXlzIHNldCAxIHRvIHRoZSBtaW5pbXVtIGxpbWl0IGFu
ZCAyNzU3NjAgdG8KKyAgICAgICAgdGhlIG1heGltdW0gbGltaXQgZm9yIGEgeWVhciBmaWVsZCwg
YW5kIGEgdXNlciBjYW4gc3BlY2lmeSBhbnkgeWVhcgorICAgICAgICByZWdhcmRsZXNzIG9mIG1p
bi9tYXggYXR0cmlidXRlcy4gU3VjaCB3aWRlIHJhbmdlIGlzIHVubmVjZXNzYXJ5IGZvcgorICAg
ICAgICBub3JtYWwgYXBwbGljYXRpb25zIGFuZCB3ZSBzaG91bGQgcHJvdmlkZSBhIHdheSB0byBs
aW1pdCB0aGUgcmFuZ2UuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBs
ZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy5odG1sCisKKyAg
ICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudHMuaDoKKyAgICAgICAgKERh
dGVUaW1lWWVhckZpZWxkRWxlbWVudCk6IEFkZCBtaW5pbXVtIGFuZCBtYXhpbXVtIGFyZ3VtZW50
cyB0byB0aGUKKyAgICAgICAgY29uc3RydWN0b3IgYW5kIHRoZSBmYWN0b3J5LgorICAgICAgICAq
IGh0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50cy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQ6OkRhdGVUaW1lWWVhckZpZWxkRWxlbWVudCk6IGRp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50OjpjcmVhdGUp
OiBkaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OmN1cnJlbnRGdWxsWWVhcik6IEEgaGVscGVyIHRv
IGdldCB0aGUgY3VycmVudCB5ZWFyLgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVZZWFyRmll
bGRFbGVtZW50OjpkZWZhdWx0VmFsdWVGb3JTdGVwRG93bik6CisgICAgICAgIElmIHRoZSBmaWVs
ZCBoYXMgbm8gdmFsdWUgYW5kIHN0ZXAgZG93biBvcGVyYXRpb24gb2NjdXJzLAorICAgICAgICAg
LSB0aGUgZmllbGQgaGFzIHRoZSBjdXJyZW50IHllYXIgaWYgdGhlIGN1cnJlbnQgeWVhciBpcyBp
biB0aGUgcmFuZ2UuCisgICAgICAgICAtIHRoZSBmaWVsZCBoYXMgdGhlIG1heGltdW0gdmFsdWUg
b3RoZXJ3aXNlLgorICAgICAgICBCZWZvcmUgdGhpcyBwYXRjaCwgd2UgY291bGQgYXNzdW1lIHRo
ZSBjdXJyZW50IHllYXIgaXMgYWx3YXlzIGluIHRoZQorICAgICAgICByYW5nZS4gV2UgY2FuJ3Qg
aGF2ZSB0aGUgYXNzdW1wdGlvbiBub3cuCisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZVllYXJG
aWVsZEVsZW1lbnQ6OmRlZmF1bHRWYWx1ZUZvclN0ZXBVcCk6IFNpbWlsYXIgY2hhbmdlLgorCisg
ICAgICAgICogaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5oOgorICAgICAgICAoTGF5
b3V0UGFyYW1ldGVycyk6IEFkZCBtaW5pbXVtWWVhciBhbmQgbWF4aW11bVllYXIgbWVtYmVycy4K
KyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnM6
OkxheW91dFBhcmFtZXRlcnMpOgorICAgICAgICBJbml0aWFsaXplIG1pbmltdW1ZZWFyIGFuZCBt
YXhpbXVtWWVhci4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lRWRpdEJ1aWxkZXI6OnZpc2l0RmllbGQpOgor
ICAgICAgICBQYXNzIG1pbmltdW1ZZWFyIGFuZCBtYXhpbXVtWWVhciB0byB0aGUgRGF0ZVRpbWVZ
ZWFyRmllbGQgZmFjdG9yeS4KKworICAgICAgICAqIGh0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0
ZUFuZFRpbWVJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QmFzZU11bHRpcGxlRmll
bGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnVwZGF0ZUlubmVyVGV4dFZhbHVlKToKKyAgICAgICAg
TWFrZSBzdXJlIG1pbmltdW1ZZWFyIDw9IG1heGltdW1ZZWFyLgorICAgICAgICAoV2ViQ29yZTo6
QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmZ1bGxZZWFyKToKKyAgICAg
ICAgQSBoZWxwZXIgdG8gZ2V0IGEgeWVhciB2YWx1ZSBmcm9tIGFuIGF0dHJpYnV0ZSB2YWx1ZSBz
dHJpbmcuCisgICAgICAgICogaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0
VHlwZS5oOgorICAgICAgICAoQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUp
OiBBZGQgZnVsbFllYXIoKS4KKworICAgICAgICAqIGh0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVJbnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1l
dGVycyk6CisgICAgICAgIFNldCBMYXlvdXRQYXJhbWV0ZXJzOjptaW5pbXVtWWVhciBhbmQgbWF4
aW11bVllYXIuCisgICAgICAgICogaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lTG9jYWxJbnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1l
dGVycyk6IGRpdHRvLgorICAgICAgICAqIGh0bWwvTW9udGhJbnB1dFR5cGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TW9udGhJbnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1ldGVycyk6IGRpdHRv
LgorCiAyMDEyLTEwLTAzICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBJbnRyb2R1Y2UgRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1ZZWFyIGFuZCBtYXhpbXVtWWVh
cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRl
QW5kVGltZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZp
ZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcAppbmRleCBjNzI1YjE5ODVkNzUzZDVhMWE2YWU5
YjM4M2I0M2UxZDcyZDk5MjgyLi5hOTNjNzdmMjUxZmZhYmZmN2NjMzk1MGU0MmM5NGRlODAyYjcy
YWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0Rh
dGVBbmRUaW1lSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0
aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmNwcApAQCAtMjMxLDYgKzIzMSw4IEBAIHZv
aWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OnVwZGF0ZUlubmVyVGV4
dFZhbHVlKCkKICAgICAgICAgc2V0TWlsbGlzZWNvbmRUb0RhdGVDb21wb25lbnRzKGxheW91dFBh
cmFtZXRlcnMuc3RlcFJhbmdlLm1pbmltdW0oKS50b0RvdWJsZSgpLCAmZGF0ZSk7CiAKICAgICBz
ZXR1cExheW91dFBhcmFtZXRlcnMobGF5b3V0UGFyYW1ldGVycywgZGF0ZSk7CisgICAgaWYgKGxh
eW91dFBhcmFtZXRlcnMubWluaW11bVllYXIgPiBsYXlvdXRQYXJhbWV0ZXJzLm1heGltdW1ZZWFy
KQorICAgICAgICBzdGQ6OnN3YXAobGF5b3V0UGFyYW1ldGVycy5taW5pbXVtWWVhciwgbGF5b3V0
UGFyYW1ldGVycy5tYXhpbXVtWWVhcik7CiAKICAgICBpZiAoaGFzVmFsdWUpCiAgICAgICAgIG1f
ZGF0ZVRpbWVFZGl0RWxlbWVudC0+c2V0VmFsdWVBc0RhdGUobGF5b3V0UGFyYW1ldGVycywgZGF0
ZSk7CkBAIC0yMzgsNiArMjQwLDE0IEBAIHZvaWQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRp
bWVJbnB1dFR5cGU6OnVwZGF0ZUlubmVyVGV4dFZhbHVlKCkKICAgICAgICAgbV9kYXRlVGltZUVk
aXRFbGVtZW50LT5zZXRFbXB0eVZhbHVlKGxheW91dFBhcmFtZXRlcnMsIGRhdGUpOwogfQogCitp
bnQgQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmZ1bGxZZWFyKGNvbnN0
IFN0cmluZyYgc291cmNlLCBpbnQgZGVmYXVsdFZhbHVlKSBjb25zdAoreworICAgIERhdGVDb21w
b25lbnRzIGRhdGU7CisgICAgaWYgKCFwYXJzZVRvRGF0ZUNvbXBvbmVudHMoc291cmNlLCAmZGF0
ZSkpCisgICAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7CisgICAgcmV0dXJuIGRhdGUuZnVsbFll
YXIoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5
cGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJ
bnB1dFR5cGUuaAppbmRleCBmNmFiMTU5NjIwNGVmNWRkNDBkZTU0NGVjNzMyYjhkMTFkNWEwNWQ0
Li5jZmMyOTFkZGQzZTNlMDI4Mjg4NmI2YzAzN2NhZWE5YjMwMTZhMGFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGlt
ZUlucHV0VHlwZS5oCkBAIC00Myw2ICs0Myw3IEBAIHByb3RlY3RlZDoKICAgICBCYXNlTXVsdGlw
bGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZShIVE1MSW5wdXRFbGVtZW50Kik7CiAgICAgdmly
dHVhbCB+QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUoKTsKICAgICB2aXJ0
dWFsIHZvaWQgc2V0dXBMYXlvdXRQYXJhbWV0ZXJzKERhdGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91
dFBhcmFtZXRlcnMmLCBjb25zdCBEYXRlQ29tcG9uZW50cyYpIGNvbnN0ID0gMDsKKyAgICBpbnQg
ZnVsbFllYXIoY29uc3QgU3RyaW5nJiwgaW50IGRlZmF1bHRWYWx1ZSkgY29uc3Q7CiAKIHByaXZh
dGU6CiAgICAgLy8gRGF0ZVRpbWVFZGl0RWxlbWVudDo6RWRpdENvbnRyb2xPd25lciBmdW5jdGlv
bnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0VHlwZS5jcHAKaW5kZXggYjk5YTU4
MGZiYzlkZjNkZDAzNzA3ZjI2NmQwMzY4Zjk0MzcyMDEzYi4uNDM0YjgzOGRiNDgwNzJiMzZiNGE4
MTMyNWJkMDcxZDE3NzI4ZjNhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRl
VGltZUlucHV0VHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUlucHV0
VHlwZS5jcHAKQEAgLTE1Miw2ICsxNTIsOCBAQCB2b2lkIERhdGVUaW1lSW5wdXRUeXBlOjpzZXR1
cExheW91dFBhcmFtZXRlcnMoRGF0ZVRpbWVFZGl0RWxlbWVudDo6TGF5b3V0UGFyYW1ldAogICAg
ICAgICBsYXlvdXRQYXJhbWV0ZXJzLmRhdGVUaW1lRm9ybWF0ID0gbGF5b3V0UGFyYW1ldGVycy5s
b2NhbGl6ZXIuZGF0ZVRpbWVGb3JtYXRXaXRob3V0U2Vjb25kKCk7CiAgICAgICAgIGxheW91dFBh
cmFtZXRlcnMuZmFsbGJhY2tEYXRlVGltZUZvcm1hdCA9ICJkZC9NTS95eXl5IEhIOm1tIjsKICAg
ICB9CisgICAgbGF5b3V0UGFyYW1ldGVycy5taW5pbXVtWWVhciA9IGZ1bGxZZWFyKGVsZW1lbnQo
KS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1ZZWFy
KCkpOworICAgIGxheW91dFBhcmFtZXRlcnMubWF4aW11bVllYXIgPSBmdWxsWWVhcihlbGVtZW50
KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0ciksIERhdGVDb21wb25lbnRzOjptYXhpbXVtWWVh
cigpKTsKICAgICBsYXlvdXRQYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9yRGF5ID0gcGxhY2Vob2xk
ZXJGb3JEYXlPZk1vbnRoRmllbGQoKTsKICAgICBsYXlvdXRQYXJhbWV0ZXJzLnBsYWNlaG9sZGVy
Rm9yTW9udGggPSBwbGFjZWhvbGRlckZvck1vbnRoRmllbGQoKTsKICAgICBsYXlvdXRQYXJhbWV0
ZXJzLnBsYWNlaG9sZGVyRm9yWWVhciA9IHBsYWNlaG9sZGVyRm9yWWVhckZpZWxkKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcAppbmRleCBlMjNl
ZjgxODM3NjM2MGZiZjY2NTg1OTExYTE0ODY1ZmI1OGRiZjY2Li4wYTUwMTQ0YzdjMzE5MzFiNjRh
ZDg0MzU0ZjY1OWJhYzU2ZmI1MzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0Rh
dGVUaW1lTG9jYWxJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvRGF0ZVRp
bWVMb2NhbElucHV0VHlwZS5jcHAKQEAgLTE1OCw2ICsxNTgsOCBAQCB2b2lkIERhdGVUaW1lTG9j
YWxJbnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVtZW50OjpM
YXlvdXRQYQogICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLmRhdGVUaW1lRm9ybWF0ID0gbGF5b3V0
UGFyYW1ldGVycy5sb2NhbGl6ZXIuZGF0ZVRpbWVGb3JtYXRXaXRob3V0U2Vjb25kKCk7CiAgICAg
ICAgIGxheW91dFBhcmFtZXRlcnMuZmFsbGJhY2tEYXRlVGltZUZvcm1hdCA9ICJkZC9NTS95eXl5
IEhIOm1tIjsKICAgICB9CisgICAgbGF5b3V0UGFyYW1ldGVycy5taW5pbXVtWWVhciA9IGZ1bGxZ
ZWFyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSwgRGF0ZUNvbXBvbmVudHM6
Om1pbmltdW1ZZWFyKCkpOworICAgIGxheW91dFBhcmFtZXRlcnMubWF4aW11bVllYXIgPSBmdWxs
WWVhcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0ciksIERhdGVDb21wb25lbnRz
OjptYXhpbXVtWWVhcigpKTsKICAgICBsYXlvdXRQYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9yRGF5
ID0gcGxhY2Vob2xkZXJGb3JEYXlPZk1vbnRoRmllbGQoKTsKICAgICBsYXlvdXRQYXJhbWV0ZXJz
LnBsYWNlaG9sZGVyRm9yTW9udGggPSBwbGFjZWhvbGRlckZvck1vbnRoRmllbGQoKTsKICAgICBs
YXlvdXRQYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9yWWVhciA9IHBsYWNlaG9sZGVyRm9yWWVhckZp
ZWxkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3BwCmluZGV4IGVmMDc2MjAx
YTAzZGFiYTFiYTkyYTMxYzY0N2E2MDM5ZmIwZmI0YzYuLmYwNzNlODg3MWIzNzM3N2Q5Yzk3YmVj
OGVmYTI3NzE0MTViOTE4NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJ
bnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTW9udGhJbnB1dFR5cGUuY3Bw
CkBAIC0xNTYsNiArMTU2LDggQEAgdm9pZCBNb250aElucHV0VHlwZTo6c2V0dXBMYXlvdXRQYXJh
bWV0ZXJzKERhdGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnMKIHsKICAgICBsYXlv
dXRQYXJhbWV0ZXJzLmRhdGVUaW1lRm9ybWF0ID0gbW9udGhGb3JtYXRJbkxETUwoKTsKICAgICBs
YXlvdXRQYXJhbWV0ZXJzLmZhbGxiYWNrRGF0ZVRpbWVGb3JtYXQgPSAiTU0veXl5eSI7CisgICAg
bGF5b3V0UGFyYW1ldGVycy5taW5pbXVtWWVhciA9IGZ1bGxZZWFyKGVsZW1lbnQoKS0+ZmFzdEdl
dEF0dHJpYnV0ZShtaW5BdHRyKSwgRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1ZZWFyKCkpOworICAg
IGxheW91dFBhcmFtZXRlcnMubWF4aW11bVllYXIgPSBmdWxsWWVhcihlbGVtZW50KCktPmZhc3RH
ZXRBdHRyaWJ1dGUobWF4QXR0ciksIERhdGVDb21wb25lbnRzOjptYXhpbXVtWWVhcigpKTsKICAg
ICBsYXlvdXRQYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9yTW9udGggPSAiLS0iOwogICAgIGxheW91
dFBhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JZZWFyID0gIi0tLS0iOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcAppbmRleCBjNDYy
ZTI2ZTQ3MGU3NWE0ZDNlNTgxMzcwODNhYzc3ZTQ3NmZiOGUyLi5kOTZiYmJhNzI4NDAxMzE1MzA3
ZjQxYWM0MTc3ZmNiM2FjNGE4ZWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3No
YWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcApAQCAtMTU4LDcgKzE1OCw3IEBAIHZvaWQgRGF0
ZVRpbWVFZGl0QnVpbGRlcjo6dmlzaXRGaWVsZChEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlIGZp
ZWxkVHlwZSwgaW50KQogICAgICAgICByZXR1cm47CiAKICAgICBjYXNlIERhdGVUaW1lRm9ybWF0
OjpGaWVsZFR5cGVZZWFyOgotICAgICAgICBtX2VkaXRFbGVtZW50LmFkZEZpZWxkKERhdGVUaW1l
WWVhckZpZWxkRWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LCBtX2VkaXRFbGVtZW50LCBtX3BhcmFt
ZXRlcnMucGxhY2Vob2xkZXJGb3JZZWFyKSk7CisgICAgICAgIG1fZWRpdEVsZW1lbnQuYWRkRmll
bGQoRGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVsZW1l
bnQsIG1fcGFyYW1ldGVycy5taW5pbXVtWWVhciwgbV9wYXJhbWV0ZXJzLm1heGltdW1ZZWFyLCBt
X3BhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JZZWFyKSk7CiAgICAgICAgIHJldHVybjsKIAogICAg
IGRlZmF1bHQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGlt
ZUVkaXRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRF
bGVtZW50LmgKaW5kZXggYmVkYTI5ZGNjZmNhYzZiMjIyZDIwODYxNTE4ZjU2YmM4M2Q5OGQxNC4u
NzUyZDA4NzhhNzRiYjgyMjI5YjViOTIxMTc0ZTcxNGRhYmEwOWFlYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuaApAQCAtNjYsNiArNjYs
OCBAQCBwdWJsaWM6CiAgICAgICAgIFN0cmluZyBmYWxsYmFja0RhdGVUaW1lRm9ybWF0OwogICAg
ICAgICBMb2NhbGl6ZXImIGxvY2FsaXplcjsKICAgICAgICAgY29uc3QgU3RlcFJhbmdlIHN0ZXBS
YW5nZTsKKyAgICAgICAgaW50IG1pbmltdW1ZZWFyOworICAgICAgICBpbnQgbWF4aW11bVllYXI7
CiAgICAgICAgIFN0cmluZyBwbGFjZWhvbGRlckZvckRheTsKICAgICAgICAgU3RyaW5nIHBsYWNl
aG9sZGVyRm9yTW9udGg7CiAgICAgICAgIFN0cmluZyBwbGFjZWhvbGRlckZvclllYXI7CkBAIC03
Myw2ICs3NSw4IEBAIHB1YmxpYzoKICAgICAgICAgTGF5b3V0UGFyYW1ldGVycyhMb2NhbGl6ZXIm
IGxvY2FsaXplciwgY29uc3QgU3RlcFJhbmdlJiBzdGVwUmFuZ2UpCiAgICAgICAgICAgICA6IGxv
Y2FsaXplcihsb2NhbGl6ZXIpCiAgICAgICAgICAgICAsIHN0ZXBSYW5nZShzdGVwUmFuZ2UpCisg
ICAgICAgICAgICAsIG1pbmltdW1ZZWFyKC0xKQorICAgICAgICAgICAgLCBtYXhpbXVtWWVhcigt
MSkKICAgICAgICAgewogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudHMuY3BwCmluZGV4IGJiY2VkZTc0OGMzNzlmMjVm
YWUyNGZhMmU5NzJkNmFiNGM3NDczOTAuLjM4ZDYyYzg4MTVhNzQ3ZDNiMDMzNGQ3ZTNhMTM5NDM4
Y2IwMzY1NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1l
RmllbGRFbGVtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRp
bWVGaWVsZEVsZW1lbnRzLmNwcApAQCAtNDIyLDIwICs0MjIsMjIgQEAgdm9pZCBEYXRlVGltZVdl
ZWtGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0IERhdGVU
aW1lRmllbGQKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1EYXRlVGltZVll
YXJGaWVsZEVsZW1lbnQ6OkRhdGVUaW1lWWVhckZpZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1l
bnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xkZXIpCi0g
ICAgOiBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3duZXIsIERh
dGVDb21wb25lbnRzOjptaW5pbXVtWWVhcigpLCBEYXRlQ29tcG9uZW50czo6bWF4aW11bVllYXIo
KSwgcGxhY2Vob2xkZXIpCitEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQ6OkRhdGVUaW1lWWVhckZp
ZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGlu
dCBtaW5pbXVtLCBpbnQgbWF4aW11bSwgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRlcikKKyAgICA6
IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgbWluaW11
bSwgbWF4aW11bSwgcGxhY2Vob2xkZXIpCiB7CisgICAgQVNTRVJUKG1pbmltdW0gPj0gRGF0ZUNv
bXBvbmVudHM6Om1pbmltdW1ZZWFyKCkpOworICAgIEFTU0VSVChtYXhpbXVtIDw9IERhdGVDb21w
b25lbnRzOjptYXhpbXVtWWVhcigpKTsKIH0KIAotUGFzc1JlZlB0cjxEYXRlVGltZVllYXJGaWVs
ZEVsZW1lbnQ+IERhdGVUaW1lWWVhckZpZWxkRWxlbWVudDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1
bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRlcikK
K1Bhc3NSZWZQdHI8RGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50PiBEYXRlVGltZVllYXJGaWVsZEVs
ZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIs
IGludCBtaW5pbXVtLCBpbnQgbWF4aW11bSwgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRlcikKIHsK
ICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgeWVhclBzdWVkb0lkLCAoIi13
ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxkIikpOwotICAgIFJlZlB0cjxEYXRlVGltZVll
YXJGaWVsZEVsZW1lbnQ+IGZpZWxkID0gYWRvcHRSZWYobmV3IERhdGVUaW1lWWVhckZpZWxkRWxl
bWVudChkb2N1bWVudCwgZmllbGRPd25lciwgcGxhY2Vob2xkZXIuaXNFbXB0eSgpID8gQVNDSUlM
aXRlcmFsKCItLS0tIikgOiBwbGFjZWhvbGRlcikpOworICAgIFJlZlB0cjxEYXRlVGltZVllYXJG
aWVsZEVsZW1lbnQ+IGZpZWxkID0gYWRvcHRSZWYobmV3IERhdGVUaW1lWWVhckZpZWxkRWxlbWVu
dChkb2N1bWVudCwgZmllbGRPd25lciwgbWluaW11bSwgbWF4aW11bSwgcGxhY2Vob2xkZXIuaXNF
bXB0eSgpID8gQVNDSUlMaXRlcmFsKCItLS0tIikgOiBwbGFjZWhvbGRlcikpOwogICAgIGZpZWxk
LT5pbml0aWFsaXplKHllYXJQc3VlZG9JZCwgQVhZZWFyRmllbGRUZXh0KCkpOwogICAgIHJldHVy
biBmaWVsZC5yZWxlYXNlKCk7CiB9CiAKLWludCBEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQ6OmRl
ZmF1bHRWYWx1ZUZvclN0ZXBEb3duKCkgY29uc3QKK3N0YXRpYyBpbnQgY3VycmVudEZ1bGxZZWFy
KCkKIHsKICAgICBkb3VibGUgY3VycmVudCA9IGN1cnJlbnRUaW1lTVMoKTsKICAgICBkb3VibGUg
dXRjT2Zmc2V0ID0gY2FsY3VsYXRlVVRDT2Zmc2V0KCk7CkBAIC00NDgsOSArNDUwLDE2IEBAIGlu
dCBEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQ6OmRlZmF1bHRWYWx1ZUZvclN0ZXBEb3duKCkgY29u
c3QKICAgICByZXR1cm4gZGF0ZS5mdWxsWWVhcigpOwogfQogCitpbnQgRGF0ZVRpbWVZZWFyRmll
bGRFbGVtZW50OjpkZWZhdWx0VmFsdWVGb3JTdGVwRG93bigpIGNvbnN0Cit7CisgICAgaW50IGZ1
bGxZZWFyID0gY3VycmVudEZ1bGxZZWFyKCk7CisgICAgcmV0dXJuIHJhbmdlKCkuaXNJblJhbmdl
KGZ1bGxZZWFyKSA/IGZ1bGxZZWFyIDogRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpkZWZh
dWx0VmFsdWVGb3JTdGVwRG93bigpOworfQorCiBpbnQgRGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50
OjpkZWZhdWx0VmFsdWVGb3JTdGVwVXAoKSBjb25zdAogewotICAgIHJldHVybiBkZWZhdWx0VmFs
dWVGb3JTdGVwRG93bigpOworICAgIGludCBmdWxsWWVhciA9IGN1cnJlbnRGdWxsWWVhcigpOwor
ICAgIHJldHVybiByYW5nZSgpLmlzSW5SYW5nZShmdWxsWWVhcikgPyBmdWxsWWVhciA6IERhdGVU
aW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6ZGVmYXVsdFZhbHVlRm9yU3RlcFVwKCk7CiB9CiAKIHZv
aWQgRGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50Ojpwb3B1bGF0ZURhdGVUaW1lRmllbGRzU3RhdGUo
RGF0ZVRpbWVGaWVsZHNTdGF0ZSYgZGF0ZVRpbWVGaWVsZHNTdGF0ZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50cy5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmgKaW5kZXggMTk4NGVm
YjUzZjZlMGE5ZDNjN2Y3MmZhYmExN2Q0MTc2YjIxMzE4NS4uOTI5MTg4ZWZmYTExODk2MWVjMjU1
ZDFmZDg3NWEyZTA0YmYyZTYzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvRGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmgKQEAgLTE2NiwxMCArMTY2LDEwIEBAIGNsYXNzIERh
dGVUaW1lWWVhckZpZWxkRWxlbWVudCA6IHB1YmxpYyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1l
bnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKERhdGVUaW1lWWVhckZpZWxkRWxlbWVudCk7
CiAKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRlVGltZVllYXJGaWVsZEVsZW1l
bnQ+IGNyZWF0ZShEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBTdHJpbmcmIHBsYWNlaG9s
ZGVyKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQ+IGNy
ZWF0ZShEb2N1bWVudCosIEZpZWxkT3duZXImLCBpbnQgbWluaW11bSwgaW50IG1heGltdW0sIGNv
bnN0IFN0cmluZyYgcGxhY2Vob2xkZXIpOwogCiBwcml2YXRlOgotICAgIERhdGVUaW1lWWVhckZp
ZWxkRWxlbWVudChEb2N1bWVudCosIEZpZWxkT3duZXImLCBjb25zdCBTdHJpbmcmIHBsYWNlaG9s
ZGVyKTsKKyAgICBEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93bmVy
JiwgaW50IG1pbmltdW0sIGludCBtYXhpbXVtLCBjb25zdCBTdHJpbmcmIHBsYWNlaG9sZGVyKTsK
IAogICAgIC8vIERhdGVUaW1lRmllbGRFbGVtZW50IGZ1bmN0aW9ucy4KICAgICB2aXJ0dWFsIHZv
aWQgcG9wdWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1lRmllbGRzU3RhdGUmKSBPVkVS
UklERSBGSU5BTDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCBjMjU3MjExYTUxZmExMDdlMzIyNTQ0NWE5OTM0NGZmODI1NTBk
OTJmLi43NTIxNjhjZGY4MmQwMzY2YWZkMzVjYjhhNTFiNWQ0M2JmMzFmNGExIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTMgQEAKKzIwMTItMTAtMDMgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIERhdGVUaW1lWWVhckZpZWxkRWxlbWVudCBzaG91bGQgcmVzcGVjdCBtaW4v
bWF4IHZhbHVlcyBzcGVjaWZpZWQgYnkgcGFnZSBhdXRob3JzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODIyNworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1m
aWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRo
LW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMuaHRtbDogQWRkZWQuCisKIDIwMTItMTAt
MDIgIEFya28gU2FoYSAgPGFya29AbW90b3JvbGEuY29tPgogCiAgICAgICAgIE1pY3JvZGF0YTog
aXRlbXByb3AgbmFtZXMgbXVzdCBub3Qgb3ZlcnJpZGUgYnVpbHRpbiBwcm9wZXJ0aWVzLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9u
dGgtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVs
ZHMta2V5Ym9hcmQtZXZlbnRzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTQxMmI1NjQ1YjAz
MWNiNmE3YmU4OGM1OTljYzFhNjkyNTM4ZmU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRz
LWtleWJvYXJkLWV2ZW50cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1NyBAQAorTXVsdGlwbGUg
ZmllbGRzIFVJIG9mIG1vbnRoIGlucHV0IHR5cGUgd2l0aCBrZXlib2FyZCBldmVudHMKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BsZWFzZSBydW4gdGhpcyB3aXRoIER1bXBSZW5k
ZXJUcmVlLgorCitUZXN0IGZvbGxvd2luZyBrZXlzOgorRGlnaXRzCitMZWZ0L1JpZ2h0IC0gTW92
ZSBmb2N1cyBmaWVsZCBpbnNpZGUgZWxlbWVudAorVXAvRG93biAtIEluY3JlbWVudC9kZWNyZW1l
bnQgdmFsdWUgb2YgZm9jdXMgZmllbGQKK1RhYiAtIE1vdmUgZm9jdXMgZmllbGQKK0JhY2tzcGFj
ZSAtIE1ha2UgdmFsdWUgZW1wdHkKKyAgCis9PSBEaWdpdCBrZXlzID09CitQQVNTIGlucHV0LnZh
bHVlIGlzICIyMDEyLTA5IgorPT0gTGVmdC9SaWdodCBrZXlzID09CitQQVNTIGlucHV0LnZhbHVl
IGlzICIwMDA1LTA2IgorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJpbnB1dCIK
Kz09IFVwL0Rvd24ga2V5cyA9PQorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0xMCIKK1BBU1Mg
aW5wdXQudmFsdWUgaXMgIjIwMTItMDgiCis9PSBVcC9Eb3duIGtleXMgb24gZW1wdHkgdmFsdWUg
PT0KK1BBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMTEiCis9PSBUYWIga2V5ID09CitQQVNTIGlu
cHV0LnZhbHVlIGlzICIwMDA1LTA5IgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDAwNS0wNyIKK1BB
U1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAiYW5vdGhlciIKKz09IFNoZml0K1RhYiBr
ZXkgPT0KK1BBU1MgaW5wdXQudmFsdWUgaXMgIjAwMDMtMDkiCitQQVNTIGRvY3VtZW50LmFjdGl2
ZUVsZW1lbnQuaWQgaXMgImJlZm9yZSIKKz09IFVwIGtleSBvbiBtYXhpbXVtIHZhbHVlID09CitQ
QVNTIGlucHV0LnZhbHVlIGlzICIwMDAxLTEwIgorPT0gVXAga2V5IHdpdGggYSBtYXhpbXVtIGF0
dHJpYnV0ZSA9PQorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDAwMS0wMSIKKz09IERvd24ga2V5IG9u
IG1pbmltdW0gdmFsdWUgPT0KK1BBU1MgaW5wdXQudmFsdWUgaXMgIjI3NTc2MC0xMiIKKz09IERv
d24ga2V5IHdpdGggYSBtaW5pbXVtIGF0dHJpYnV0ZSA9PQorUEFTUyBpbnB1dC52YWx1ZSBpcyAi
Mjc1NzYwLTEyIgorPT0gSW5jb25zaXN0ZW50IG1pbi1tYXggYXR0cmlidXRlcyA9PQorUEFTUyBp
bnB1dC52YWx1ZSBpcyAiMTAwMC0xMiIKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjE5OTktMTIiCis9
PSBCYWNrc3BhY2Uga2V5ID09CitQQVNTIGlucHV0LnZhbHVlIGlzICIiCis9PSBEZWxldGUga2V5
ID09CitQQVNTIGlucHV0LnZhbHVlIGlzICIiCis9PSBUeXBlYWhlYWQgPT0KK1BBU1MgaW5wdXQu
dmFsdWUgaXMgIjAwMDEtMTIiCitQQVNTIGlucHV0LnZhbHVlIGlzICIwMDAyLTEyIgorPT0gUlRM
IExlZnQvUmlnaHQga2V5cyA9PQorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0wMSIKK1BBU1Mg
aW5wdXQudmFsdWUgaXMgIjAwMDItMDEiCitQQVNTIGlucHV0LnZhbHVlIGlzICIwMDAyLTAzIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRo
LW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1rZXlib2Fy
ZC1ldmVudHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zZmEyNjRhNjY3ZGZmZWQ4YWFlODdmOTVmOWEyNThj
MWMyMWY0ZDg5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250
aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy5o
dG1sCkBAIC0wLDAgKzEsMTc0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8cD4KK1BsZWFzZSBy
dW4gdGhpcyB3aXRoIER1bXBSZW5kZXJUcmVlLgorPC9wPgorVGVzdCBmb2xsb3dpbmcga2V5czoK
Kzx1bD4KKyAgICA8bGk+RGlnaXRzPC9saT4KKyAgICA8bGk+TGVmdC9SaWdodCAtIE1vdmUgZm9j
dXMgZmllbGQgaW5zaWRlIGVsZW1lbnQ8L2xpPgorICAgIDxsaT5VcC9Eb3duIC0gSW5jcmVtZW50
L2RlY3JlbWVudCB2YWx1ZSBvZiBmb2N1cyBmaWVsZDwvbGk+CisgICAgPGxpPlRhYiAtIE1vdmUg
Zm9jdXMgZmllbGQ8L2xpPgorICAgIDxsaT5CYWNrc3BhY2UgLSBNYWtlIHZhbHVlIGVtcHR5PC9s
aT4KKzwvdWw+Cis8aW5wdXQgaWQ9ImJlZm9yZSI+Cis8aW5wdXQgaWQ9ImlucHV0IiB0eXBlPSJt
b250aCI+Cis8aW5wdXQgaWQ9ImFub3RoZXIiPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0PgorZGVzY3JpcHRpb24oIk11bHRpcGxlIGZpZWxkcyBVSSBvZiBtb250aCBpbnB1dCB0
eXBlIHdpdGgga2V5Ym9hcmQgZXZlbnRzIik7Cit2YXIgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiaW5wdXQiKTsKKworZnVuY3Rpb24ga2V5RG93bihrZXksIG1vZGlmaWVycykKK3sK
KyAgICBpZiAoIXdpbmRvdy5ldmVudFNlbmRlcikKKyAgICAgICAgcmV0dXJuOworICAgIGV2ZW50
U2VuZGVyLmtleURvd24oa2V5LCBtb2RpZmllcnMpOworfQorCitmdW5jdGlvbiBiZWdpblRlc3Qo
dGl0bGUsIHZhbHVlLCBvcHRfbWluLCBvcHRfbWF4KQoreworICAgIGRlYnVnKCI9PSAiICsgdGl0
bGUgKyAiID09Iik7CisgICAgaW5wdXQudmFsdWUgPSB2YWx1ZTsKKyAgICBpbnB1dC5taW4gPSBv
cHRfbWluID8gb3B0X21pbiA6ICIiOworICAgIGlucHV0Lm1heCA9IG9wdF9tYXggPyBvcHRfbWF4
IDogIiI7CisgICAgaW5wdXQuYmx1cigpOworICAgIGlucHV0LmZvY3VzKCk7Cit9CisKKy8vIFdl
IGFzc3VtZSB0aGUgeWVhci1tb250aCBmb3JtYXQgaXMgTU0veXl5eS4KKworYmVnaW5UZXN0KCdE
aWdpdCBrZXlzJyk7CitrZXlEb3duKCc5Jyk7CitrZXlEb3duKCcyJyk7CitrZXlEb3duKCcwJyk7
CitrZXlEb3duKCcxJyk7CitrZXlEb3duKCcyJyk7CitrZXlEb3duKCdBJyk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMDknKTsKKworLy8gRklYTUU6IFdlIHNo
b3VsZCB0ZXN0IHR5cGUgYWhlYWQgdGltZSBvdXQuIFdoZW4gZXZlbnQubGVhcEZvcndhcmQoKSBh
ZmZlY3RzCisvLyBrZXlib2FyZCBldmVudCB0aW1lIHN0YW1wLCB3ZSBjYW4gdW5jb21tZW50IHRo
aXMgZnJhZ21lbnQuCisvKgorYmVnaW5UZXN0KCdEaWdpdCBrZXlzIHdpdGggdHlwZSBhaGVhZCB0
aW1lb3V0Jyk7CitrZXlEb3duKCcxJyk7CitsZWFwRm9yd2FyZCgxMTAwKTsKK2tleURvd24oJzEn
KTsKK2tleURvd24oJzUnKTsKK2tleURvd24oJzYnKTsKK2tleURvd24oJ0EnKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDA1Ni0wMScpOworKi8KKworYmVnaW5UZXN0
KCdMZWZ0L1JpZ2h0IGtleXMnLCAnMjAxMi0wOScpOwora2V5RG93bigncmlnaHRBcnJvdycpOwor
a2V5RG93bignNScpOwora2V5RG93bignbGVmdEFycm93Jyk7CitrZXlEb3duKCc2Jyk7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDUtMDYnKTsKK2tleURvd24oJ2xl
ZnRBcnJvdycpOwora2V5RG93bignbGVmdEFycm93Jyk7CitrZXlEb3duKCdsZWZ0QXJyb3cnKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICdpbnB1
dCcpOworCitiZWdpblRlc3QoJ1VwL0Rvd24ga2V5cycsICcyMDEyLTA5Jyk7CitrZXlEb3duKCd1
cEFycm93Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMTAn
KTsKK2tleURvd24oJ2Rvd25BcnJvdycpOwora2V5RG93bignZG93bkFycm93Jyk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMDgnKTsKKworYmVnaW5UZXN0KCdV
cC9Eb3duIGtleXMgb24gZW1wdHkgdmFsdWUnLCAnJywgJzIwMTItMDEnLCAnMjAxMi0xMicpOwor
Ly8gTm90ZSB0aGF0IGVtcHR5IHZhbHVlIGZvciB0aGUgeWVhciBmaWVsZCBpcyBub3QgdGVzdGFi
bGUgYmVjYXVzZSBpdHMgZGVmYXVsdAorLy8gdmFsdWUgZGVwZW5kcyBvbiB0aGUgY3VycmVudCBk
YXRlLgora2V5RG93bignZG93bkFycm93Jyk7CitrZXlEb3duKCdkb3duQXJyb3cnKTsKK2tleURv
d24oJ3JpZ2h0QXJyb3cnKTsKK2tleURvd24oJ2Rvd25BcnJvdycpOwora2V5RG93bigndXBBcnJv
dycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcyMDEyLTExJyk7CisK
K2JlZ2luVGVzdCgnVGFiIGtleScsICcyMDEyLTA5Jyk7CitrZXlEb3duKCdcdCcpOwora2V5RG93
bignNScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDA1LTA5Jyk7
CitrZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7CitrZXlEb3duKCc3Jyk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDUtMDcnKTsKK2tleURvd24oJ1x0Jyk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAnYW5vdGhl
cicpOworCitiZWdpblRlc3QoJ1NoZml0K1RhYiBrZXknLCAnMjAxMi0wOScpOworYW5vdGhlci5m
b2N1cygpOwora2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10pOwora2V5RG93bignMycpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDAzLTA5Jyk7CitrZXlEb3duKCdc
dCcsIFsnc2hpZnRLZXknXSk7CitrZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQnLCAnYmVmb3JlJyk7CisK
K2JlZ2luVGVzdCgnVXAga2V5IG9uIG1heGltdW0gdmFsdWUnLCAnMjc1NzYwLTA5Jyk7CitrZXlE
b3duKCd1cEFycm93Jyk7CitrZXlEb3duKCdcdCcpOwora2V5RG93bigndXBBcnJvdycpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDAxLTEwJyk7CitiZWdpblRlc3Qo
J1VwIGtleSB3aXRoIGEgbWF4aW11bSBhdHRyaWJ1dGUnLCAnMTk5OS0xMicsIHVuZGVmaW5lZCwg
JzE5OTktMTInKTsKK2tleURvd24oJ3VwQXJyb3cnKTsKK2tleURvd24oJ1x0Jyk7CitrZXlEb3du
KCd1cEFycm93Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDEt
MDEnKTsKKworYmVnaW5UZXN0KCdEb3duIGtleSBvbiBtaW5pbXVtIHZhbHVlJywgJzAwMDEtMDEn
LCAnYmFkIG1pbicsICd3cm9uZyBtYXgnKTsKK2tleURvd24oJ2Rvd25BcnJvdycpOwora2V5RG93
bignXHQnKTsKK2tleURvd24oJ2Rvd25BcnJvdycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdp
bnB1dC52YWx1ZScsICcyNzU3NjAtMTInKTsKK2JlZ2luVGVzdCgnRG93biBrZXkgd2l0aCBhIG1p
bmltdW0gYXR0cmlidXRlJywgJzAwMDEtMDEnLCAnMDAwMS0wMScpOwora2V5RG93bignZG93bkFy
cm93Jyk7CitrZXlEb3duKCdcdCcpOwora2V5RG93bignZG93bkFycm93Jyk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzI3NTc2MC0xMicpOworCitiZWdpblRlc3QoJ0lu
Y29uc2lzdGVudCBtaW4tbWF4IGF0dHJpYnV0ZXMnLCAnMTk5OS0xMicsICcxOTk5LTEyJywgJzEw
MDAtMDEnKTsKK2tleURvd24oJ1x0Jyk7CitrZXlEb3duKCd1cEFycm93Jyk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzEwMDAtMTInKTsKK2tleURvd24oJ2Rvd25BcnJv
dycpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcxOTk5LTEyJyk7CisK
K2JlZ2luVGVzdCgnQmFja3NwYWNlIGtleScsICcyMDEyLTA5Jyk7CitrZXlEb3duKCJcYiIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKKworYmVnaW5UZXN0KCdE
ZWxldGUga2V5JywgJzIwMTItMDknKTsKK2tleURvd24oImRlbGV0ZSIpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcnKTsKKworYmVnaW5UZXN0KCdUeXBlYWhlYWQnLCAn
MjAxMi0xMicpOwora2V5RG93bigncmlnaHRBcnJvdycpOwora2V5RG93bignMScpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDAxLTEyJyk7CitrZXlEb3duKCdsZWZ0
QXJyb3cnKTsKK2tleURvd24oJ3JpZ2h0QXJyb3cnKTsKK2tleURvd24oJzInKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAwMi0xMicpOworCitiZWdpblRlc3QoJ1JU
TCBMZWZ0L1JpZ2h0IGtleXMnLCAnMjAxMi0wOScpOworaW5wdXQuc2V0QXR0cmlidXRlKCJkaXIi
LCAicnRsIik7CitrZXlEb3duKCcxJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZh
bHVlJywgJzIwMTItMDEnKTsKK2tleURvd24oJ2xlZnRBcnJvdycpOwora2V5RG93bignMicpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDAyLTAxJyk7CitrZXlEb3du
KCdyaWdodEFycm93Jyk7CitrZXlEb3duKCczJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lu
cHV0LnZhbHVlJywgJzAwMDItMDMnKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166854</attachid>
            <date>2012-10-03 04:19:01 -0700</date>
            <delta_ts>2012-10-03 20:43:42 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>bug-98227-20121003201813.patch</filename>
            <type>text/plain</type>
            <size>27415</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMjU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDZlY2M2YzE1NmYzMGY5
ZDM1ZjViNGFhZDQ5OWIwZDE4NmJmZWU5OS4uODg0MzFjMDNhMGNiYzhkNDYzOWE2MzcwNWEzMWE0
NWNkMmViZmNkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDEyLTEwLTA0ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBEYXRlVGltZVllYXJGaWVs
ZEVsZW1lbnQgc2hvdWxkIHJlc3BlY3QgbWluL21heCB2YWx1ZXMgc3BlY2lmaWVkIGJ5IHBhZ2Ug
YXV0aG9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTgyMjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBC
ZWZvcmUgdGhpcyBwYXRjaCwgd2UgYWx3YXlzIHNldCAxIHRvIHRoZSBtaW5pbXVtIGxpbWl0IGFu
ZCAyNzU3NjAgdG8KKyAgICAgICAgdGhlIG1heGltdW0gbGltaXQgZm9yIGEgeWVhciBmaWVsZCwg
YW5kIGEgdXNlciBjYW4gc3BlY2lmeSBhbnkgeWVhcgorICAgICAgICByZWdhcmRsZXNzIG9mIG1p
bi9tYXggYXR0cmlidXRlcy4gU3VjaCB3aWRlIHJhbmdlIGlzIHVubmVjZXNzYXJ5IGZvcgorICAg
ICAgICBub3JtYWwgYXBwbGljYXRpb25zIGFuZCB3ZSBzaG91bGQgcHJvdmlkZSBhIHdheSB0byBs
aW1pdCB0aGUgcmFuZ2UuCisKKyAgICAgICAgVGVzdDogZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBs
ZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy5odG1sCisKKyAg
ICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudHMuaDoKKyAgICAgICAgVG8g
YWRkIGZvdXIgY29uc3RydWN0b3IgYXJndW1lbnRzLCBpbnRyb2R1Y2UgUGFyYW1ldGVycyBzdHJ1
Y3QuCisgICAgICAgIEFjdHVhbGx5LCB3ZSBhZGQgdGhlIGZvbGxvd2luZ3M7CisgICAgICAgICAt
IG1pbmltdW0geWVhciBpbiBVSQorICAgICAgICAgLSBtYXhpbXVtIHllYXIgaW4gVUkKKyAgICAg
ICAgIC0gbWluIGF0dHJpYnV0ZSBpcyBzcGVjaWZpZWQKKyAgICAgICAgIC0gbWF4IGF0dHJpYnV0
ZSBpcyBzcGVjaWZpZWQKKyAgICAgICAgKFBhcmFtZXRlcnMpOgorICAgICAgICAoV2ViQ29yZTo6
RGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50OjpQYXJhbWV0ZXJzOjpQYXJhbWV0ZXJzKToKKyAgICAg
ICAgKERhdGVUaW1lWWVhckZpZWxkRWxlbWVudCk6CisgICAgICAgICogaHRtbC9zaGFkb3cvRGF0
ZVRpbWVGaWVsZEVsZW1lbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lWWVhckZp
ZWxkRWxlbWVudDo6RGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50KTogZGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQ6OmNyZWF0ZSk6IGRpdHRvLgorICAgICAg
ICAoV2ViQ29yZTo6RGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50OjpjbGFtcFZhbHVlRm9ySGFyZExp
bWl0cyk6CisgICAgICAgIE92ZXJyaWRlIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6Y2xh
bXBWYWx1ZUZvckhhcmRMaW1pdHMuCisgICAgICAgIEJ5IHRoaXMsIHdlIGFsbG93IHRvIHNldCBv
dXQtb2YtcmFuZ2UgeWVhciB2YWx1ZXMuCisgICAgICAgIChXZWJDb3JlOjpjdXJyZW50RnVsbFll
YXIpOiBBIGhlbHBlciB0byBnZXQgdGhlIGN1cnJlbnQgeWVhci4KKyAgICAgICAgKFdlYkNvcmU6
OkRhdGVUaW1lWWVhckZpZWxkRWxlbWVudDo6ZGVmYXVsdFZhbHVlRm9yU3RlcERvd24pOgorICAg
ICAgICBJZiB0aGUgZmllbGQgaGFzIG5vIHZhbHVlIGFuZCBzdGVwIGRvd24gb3BlcmF0aW9uIG9j
Y3VycywKKyAgICAgICAgIC0gdGhlIGZpZWxkIGhhcyB0aGUgY3VycmVudCB5ZWFyIGlmIHRoZSBt
YXggYXR0cmlidXRlIGlzIG5vdCBzcGVjaWZpZWQuCisgICAgICAgICAtIHRoZSBmaWVsZCBoYXMg
dGhlIG1heGltdW0gdmFsdWUgb3RoZXJ3aXNlLgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVZ
ZWFyRmllbGRFbGVtZW50OjpkZWZhdWx0VmFsdWVGb3JTdGVwVXApOiBTaW1pbGFyIGNoYW5nZS4K
KworICAgICAgICAqIGh0bWwvc2hhZG93L0RhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5oOgor
ICAgICAgICAoRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50KTogRGVjbGFyZSBjbGFtcFZhbHVl
Rm9ySGFyZExpbWl0cy4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVs
ZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVt
ZW50OjpjbGFtcFZhbHVlRm9ySGFyZExpbWl0cyk6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGlt
ZU51bWVyaWNGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNJbnRlZ2VyKToKKyAgICAgICAgQ2FsbCBj
bGFtcFZhbHVlRm9ySGFyZExpbWl0cyBpbnN0ZWFkIG9mIGNsYW1wVmFsdWUgaW4gb3JkZXIgdG8K
KyAgICAgICAgZGlzdGluZ3Vpc2ggbGltaXRzIGZvciBVSSBhbmQgbGltaXRzIGZvciBpbnRlcm5h
bCB2YWx1ZSB1cGRhdGUuCisKKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVt
ZW50Lmg6CisgICAgICAgIChMYXlvdXRQYXJhbWV0ZXJzKTogQWRkIG1pbmltdW1ZZWFyIGFuZCBt
YXhpbXVtWWVhciBtZW1iZXJzLgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVFZGl0RWxlbWVu
dDo6TGF5b3V0UGFyYW1ldGVyczo6TGF5b3V0UGFyYW1ldGVycyk6CisgICAgICAgIEluaXRpYWxp
emUgbWluaW11bVllYXIgYW5kIG1heGltdW1ZZWFyLgorICAgICAgICAoV2ViQ29yZTo6RGF0ZVRp
bWVFZGl0RWxlbWVudDo6TGF5b3V0UGFyYW1ldGVyczo6dW5kZWZpbmVkWWVhcik6CisgICAgICAg
IFJlcHJlc2VudHMgJ3VuZGVmaW5lZCcgdmFsdWUgZm9yIG1pbmltdW1ZZWFyIGFuZCBtYXhpbXVt
WWVhci4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRhdGVUaW1lRWRpdEJ1aWxkZXI6OnZpc2l0RmllbGQpOgorICAgICAg
ICBQcmVwYXJhcyBEYXRlVGltZVllYXJGaWVsZDo6UGFyYW1ldGVycyBhbmQgcGFzcyBpdCB0byB0
aGUgRGF0ZVRpbWVZZWFyRmllbGQgZmFjdG9yeS4KKworICAgICAgICAqIGh0bWwvQmFzZU11bHRp
cGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QmFz
ZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGU6OmZ1bGxZZWFyKToKKyAgICAgICAg
QSBoZWxwZXIgdG8gZ2V0IGEgeWVhciB2YWx1ZSBmcm9tIGFuIGF0dHJpYnV0ZSB2YWx1ZSBzdHJp
bmcuCisgICAgICAgICogaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlw
ZS5oOgorICAgICAgICAoQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUpOiBB
ZGQgZnVsbFllYXIoKS4KKworICAgICAgICAqIGh0bWwvRGF0ZVRpbWVJbnB1dFR5cGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RGF0ZVRpbWVJbnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1ldGVy
cyk6CisgICAgICAgIFNldCBMYXlvdXRQYXJhbWV0ZXJzOjptaW5pbXVtWWVhciBhbmQgbWF4aW11
bVllYXIuCisgICAgICAgICogaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRhdGVUaW1lTG9jYWxJbnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1ldGVy
cyk6IGRpdHRvLgorICAgICAgICAqIGh0bWwvTW9udGhJbnB1dFR5cGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TW9udGhJbnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1ldGVycyk6IGRpdHRvLgor
ICAgICAgICAqIGh0bWwvV2Vla0lucHV0VHlwZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWVr
SW5wdXRUeXBlOjpzZXR1cExheW91dFBhcmFtZXRlcnMpOiBkaXR0by4KKwogMjAxMi0xMC0wMyAg
S2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW50cm9kdWNlIERh
dGVDb21wb25lbnRzOjptaW5pbXVtWWVhciBhbmQgbWF4aW11bVllYXIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvQmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlu
cHV0VHlwZS5jcHAKaW5kZXggYzcyNWIxOTg1ZDc1M2Q1YTFhNmFlOWIzODNiNDNlMWQ3MmQ5OTI4
Mi4uYjQ3YTliYTg3MWE2NzYwNGYzNWVmYTk2YmFhZWIzNTM1NWExM2VmYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlw
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5k
VGltZUlucHV0VHlwZS5jcHAKQEAgLTIzOCw2ICsyMzgsMTQgQEAgdm9pZCBCYXNlTXVsdGlwbGVG
aWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6dXBkYXRlSW5uZXJUZXh0VmFsdWUoKQogICAgICAg
ICBtX2RhdGVUaW1lRWRpdEVsZW1lbnQtPnNldEVtcHR5VmFsdWUobGF5b3V0UGFyYW1ldGVycywg
ZGF0ZSk7CiB9CiAKK2ludCBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZTo6
ZnVsbFllYXIoY29uc3QgU3RyaW5nJiBzb3VyY2UpIGNvbnN0Cit7CisgICAgRGF0ZUNvbXBvbmVu
dHMgZGF0ZTsKKyAgICBpZiAoIXBhcnNlVG9EYXRlQ29tcG9uZW50cyhzb3VyY2UsICZkYXRlKSkK
KyAgICAgICAgcmV0dXJuIERhdGVUaW1lRWRpdEVsZW1lbnQ6OkxheW91dFBhcmFtZXRlcnM6OnVu
ZGVmaW5lZFllYXIoKTsKKyAgICByZXR1cm4gZGF0ZS5mdWxsWWVhcigpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9CYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS5oCmluZGV4IGY2
YWIxNTk2MjA0ZWY1ZGQ0MGRlNTQ0ZWM3MzJiOGQxMWQ1YTA1ZDQuLjYxOTFjODUyM2QxZjg5OGU5
Zjk0NGU4MzA2MWM3ZTk3NGFmY2ZhNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
QmFzZU11bHRpcGxlRmllbGRzRGF0ZUFuZFRpbWVJbnB1dFR5cGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0Jhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1lSW5wdXRUeXBlLmgKQEAgLTQz
LDYgKzQzLDcgQEAgcHJvdGVjdGVkOgogICAgIEJhc2VNdWx0aXBsZUZpZWxkc0RhdGVBbmRUaW1l
SW5wdXRUeXBlKEhUTUxJbnB1dEVsZW1lbnQqKTsKICAgICB2aXJ0dWFsIH5CYXNlTXVsdGlwbGVG
aWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZSgpOwogICAgIHZpcnR1YWwgdm9pZCBzZXR1cExheW91
dFBhcmFtZXRlcnMoRGF0ZVRpbWVFZGl0RWxlbWVudDo6TGF5b3V0UGFyYW1ldGVycyYsIGNvbnN0
IERhdGVDb21wb25lbnRzJikgY29uc3QgPSAwOworICAgIGludCBmdWxsWWVhcihjb25zdCBTdHJp
bmcmKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICAvLyBEYXRlVGltZUVkaXRFbGVtZW50OjpFZGl0
Q29udHJvbE93bmVyIGZ1bmN0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9E
YXRlVGltZUlucHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRU
eXBlLmNwcAppbmRleCBiOTlhNTgwZmJjOWRmM2RkMDM3MDdmMjY2ZDAzNjhmOTQzNzIwMTNiLi43
Mzg1ZDA3Yzk4YmJiOTYxYmI4ODczYmE1MjQ2Y2YyZDY5NzM0NzQ5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0RhdGVUaW1lSW5wdXRUeXBlLmNwcApAQCAtMTUyLDYgKzE1Miw4IEBAIHZvaWQgRGF0
ZVRpbWVJbnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVtZW50
OjpMYXlvdXRQYXJhbWV0CiAgICAgICAgIGxheW91dFBhcmFtZXRlcnMuZGF0ZVRpbWVGb3JtYXQg
PSBsYXlvdXRQYXJhbWV0ZXJzLmxvY2FsaXplci5kYXRlVGltZUZvcm1hdFdpdGhvdXRTZWNvbmQo
KTsKICAgICAgICAgbGF5b3V0UGFyYW1ldGVycy5mYWxsYmFja0RhdGVUaW1lRm9ybWF0ID0gImRk
L01NL3l5eXkgSEg6bW0iOwogICAgIH0KKyAgICBsYXlvdXRQYXJhbWV0ZXJzLm1pbmltdW1ZZWFy
ID0gZnVsbFllYXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1pbkF0dHIpKTsKKyAgICBs
YXlvdXRQYXJhbWV0ZXJzLm1heGltdW1ZZWFyID0gZnVsbFllYXIoZWxlbWVudCgpLT5mYXN0R2V0
QXR0cmlidXRlKG1heEF0dHIpKTsKICAgICBsYXlvdXRQYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9y
RGF5ID0gcGxhY2Vob2xkZXJGb3JEYXlPZk1vbnRoRmllbGQoKTsKICAgICBsYXlvdXRQYXJhbWV0
ZXJzLnBsYWNlaG9sZGVyRm9yTW9udGggPSBwbGFjZWhvbGRlckZvck1vbnRoRmllbGQoKTsKICAg
ICBsYXlvdXRQYXJhbWV0ZXJzLnBsYWNlaG9sZGVyRm9yWWVhciA9IHBsYWNlaG9sZGVyRm9yWWVh
ckZpZWxkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJ
bnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9EYXRlVGltZUxvY2FsSW5wdXRUeXBl
LmNwcAppbmRleCBlMjNlZjgxODM3NjM2MGZiZjY2NTg1OTExYTE0ODY1ZmI1OGRiZjY2Li41YmY4
MWVlZmJiZTFhNmNhZGZmOTAwNjVmYTVhYzhmMmJjYTE3YmMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0RhdGVUaW1lTG9jYWxJbnB1dFR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvRGF0ZVRpbWVMb2NhbElucHV0VHlwZS5jcHAKQEAgLTE1OCw2ICsxNTgsOCBAQCB2
b2lkIERhdGVUaW1lTG9jYWxJbnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGlt
ZUVkaXRFbGVtZW50OjpMYXlvdXRQYQogICAgICAgICBsYXlvdXRQYXJhbWV0ZXJzLmRhdGVUaW1l
Rm9ybWF0ID0gbGF5b3V0UGFyYW1ldGVycy5sb2NhbGl6ZXIuZGF0ZVRpbWVGb3JtYXRXaXRob3V0
U2Vjb25kKCk7CiAgICAgICAgIGxheW91dFBhcmFtZXRlcnMuZmFsbGJhY2tEYXRlVGltZUZvcm1h
dCA9ICJkZC9NTS95eXl5IEhIOm1tIjsKICAgICB9CisgICAgbGF5b3V0UGFyYW1ldGVycy5taW5p
bXVtWWVhciA9IGZ1bGxZZWFyKGVsZW1lbnQoKS0+ZmFzdEdldEF0dHJpYnV0ZShtaW5BdHRyKSk7
CisgICAgbGF5b3V0UGFyYW1ldGVycy5tYXhpbXVtWWVhciA9IGZ1bGxZZWFyKGVsZW1lbnQoKS0+
ZmFzdEdldEF0dHJpYnV0ZShtYXhBdHRyKSk7CiAgICAgbGF5b3V0UGFyYW1ldGVycy5wbGFjZWhv
bGRlckZvckRheSA9IHBsYWNlaG9sZGVyRm9yRGF5T2ZNb250aEZpZWxkKCk7CiAgICAgbGF5b3V0
UGFyYW1ldGVycy5wbGFjZWhvbGRlckZvck1vbnRoID0gcGxhY2Vob2xkZXJGb3JNb250aEZpZWxk
KCk7CiAgICAgbGF5b3V0UGFyYW1ldGVycy5wbGFjZWhvbGRlckZvclllYXIgPSBwbGFjZWhvbGRl
ckZvclllYXJGaWVsZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9Nb250aElu
cHV0VHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5wdXRUeXBlLmNwcAppbmRl
eCBlZjA3NjIwMWEwM2RhYmExYmE5MmEzMWM2NDdhNjAzOWZiMGZiNGM2Li5iNTg3NDM4NzhhZGJl
ZWI5MjFkMDdkZDVkNGExMDZkMTBlNjA4YjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01vbnRoSW5wdXRUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01vbnRoSW5w
dXRUeXBlLmNwcApAQCAtMTU2LDYgKzE1Niw4IEBAIHZvaWQgTW9udGhJbnB1dFR5cGU6OnNldHVw
TGF5b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRFbGVtZW50OjpMYXlvdXRQYXJhbWV0ZXJzCiB7
CiAgICAgbGF5b3V0UGFyYW1ldGVycy5kYXRlVGltZUZvcm1hdCA9IG1vbnRoRm9ybWF0SW5MRE1M
KCk7CiAgICAgbGF5b3V0UGFyYW1ldGVycy5mYWxsYmFja0RhdGVUaW1lRm9ybWF0ID0gIk1NL3l5
eXkiOworICAgIGxheW91dFBhcmFtZXRlcnMubWluaW11bVllYXIgPSBmdWxsWWVhcihlbGVtZW50
KCktPmZhc3RHZXRBdHRyaWJ1dGUobWluQXR0cikpOworICAgIGxheW91dFBhcmFtZXRlcnMubWF4
aW11bVllYXIgPSBmdWxsWWVhcihlbGVtZW50KCktPmZhc3RHZXRBdHRyaWJ1dGUobWF4QXR0cikp
OwogICAgIGxheW91dFBhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JNb250aCA9ICItLSI7CiAgICAg
bGF5b3V0UGFyYW1ldGVycy5wbGFjZWhvbGRlckZvclllYXIgPSAiLS0tLSI7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9XZWVrSW5wdXRUeXBlLmNwcAppbmRleCA2Y2FlODdmNGMwNjlhYmIzZjlkNzM4ZDBk
OTk5ZDkxMjEwZTJhYTMyLi5iMTZhYzI4NTY5MDM1ZWE2YWY2ZTZjYTA1NWVhOTcyMDBiZTU1M2Qw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL1dlZWtJbnB1dFR5cGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvV2Vla0lucHV0VHlwZS5jcHAKQEAgLTExMCw2ICsxMTAsOCBA
QCB2b2lkIFdlZWtJbnB1dFR5cGU6OnNldHVwTGF5b3V0UGFyYW1ldGVycyhEYXRlVGltZUVkaXRF
bGVtZW50OjpMYXlvdXRQYXJhbWV0ZXJzJgogewogICAgIGxheW91dFBhcmFtZXRlcnMuZGF0ZVRp
bWVGb3JtYXQgPSB3ZWVrRm9ybWF0SW5MRE1MKCk7CiAgICAgbGF5b3V0UGFyYW1ldGVycy5mYWxs
YmFja0RhdGVUaW1lRm9ybWF0ID0gIidXZWVrJyB3dy15eXl5IjsKKyAgICBsYXlvdXRQYXJhbWV0
ZXJzLm1pbmltdW1ZZWFyID0gZnVsbFllYXIoZWxlbWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1p
bkF0dHIpKTsKKyAgICBsYXlvdXRQYXJhbWV0ZXJzLm1heGltdW1ZZWFyID0gZnVsbFllYXIoZWxl
bWVudCgpLT5mYXN0R2V0QXR0cmlidXRlKG1heEF0dHIpKTsKICAgICBsYXlvdXRQYXJhbWV0ZXJz
LnBsYWNlaG9sZGVyRm9yWWVhciA9ICItLS0tIjsKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcAppbmRleCBjNDYyZTI2
ZTQ3MGU3NWE0ZDNlNTgxMzcwODNhYzc3ZTQ3NmZiOGUyLi4zYzA1YWFmZDEyN2MwZDVmNTY5Yzc3
ODU0YjU2NjkwMjFlZjJjOTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9EYXRlVGltZUVkaXRFbGVtZW50LmNwcApAQCAtMTU3LDkgKzE1NywzMCBAQCB2b2lkIERhdGVU
aW1lRWRpdEJ1aWxkZXI6OnZpc2l0RmllbGQoRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZSBmaWVs
ZFR5cGUsIGludCkKICAgICAgICAgbV9lZGl0RWxlbWVudC5hZGRGaWVsZChEYXRlVGltZVdlZWtG
aWVsZEVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudCwgbV9lZGl0RWxlbWVudCkpOwogICAgICAgICBy
ZXR1cm47CiAKLSAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVZZWFyOgotICAgICAg
ICBtX2VkaXRFbGVtZW50LmFkZEZpZWxkKERhdGVUaW1lWWVhckZpZWxkRWxlbWVudDo6Y3JlYXRl
KGRvY3VtZW50LCBtX2VkaXRFbGVtZW50LCBtX3BhcmFtZXRlcnMucGxhY2Vob2xkZXJGb3JZZWFy
KSk7CisgICAgY2FzZSBEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlWWVhcjogeworICAgICAgICBE
YXRlVGltZVllYXJGaWVsZEVsZW1lbnQ6OlBhcmFtZXRlcnMgeWVhclBhcmFtczsKKyAgICAgICAg
aWYgKG1fcGFyYW1ldGVycy5taW5pbXVtWWVhciA9PSBtX3BhcmFtZXRlcnMudW5kZWZpbmVkWWVh
cigpKSB7CisgICAgICAgICAgICB5ZWFyUGFyYW1zLm1pbmltdW1ZZWFyID0gRGF0ZUNvbXBvbmVu
dHM6Om1pbmltdW1ZZWFyKCk7CisgICAgICAgICAgICB5ZWFyUGFyYW1zLm1pbklzU3BlY2lmaWVk
ID0gZmFsc2U7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB5ZWFyUGFyYW1zLm1pbmlt
dW1ZZWFyID0gbV9wYXJhbWV0ZXJzLm1pbmltdW1ZZWFyOworICAgICAgICAgICAgeWVhclBhcmFt
cy5taW5Jc1NwZWNpZmllZCA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKG1fcGFyYW1l
dGVycy5tYXhpbXVtWWVhciA9PSBtX3BhcmFtZXRlcnMudW5kZWZpbmVkWWVhcigpKSB7CisgICAg
ICAgICAgICB5ZWFyUGFyYW1zLm1heGltdW1ZZWFyID0gRGF0ZUNvbXBvbmVudHM6Om1heGltdW1Z
ZWFyKCk7CisgICAgICAgICAgICB5ZWFyUGFyYW1zLm1heElzU3BlY2lmaWVkID0gZmFsc2U7Cisg
ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB5ZWFyUGFyYW1zLm1heGltdW1ZZWFyID0gbV9w
YXJhbWV0ZXJzLm1heGltdW1ZZWFyOworICAgICAgICAgICAgeWVhclBhcmFtcy5tYXhJc1NwZWNp
ZmllZCA9IHRydWU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHllYXJQYXJhbXMubWluaW11bVll
YXIgPiB5ZWFyUGFyYW1zLm1heGltdW1ZZWFyKSB7CisgICAgICAgICAgICBzdGQ6OnN3YXAoeWVh
clBhcmFtcy5taW5pbXVtWWVhciwgeWVhclBhcmFtcy5tYXhpbXVtWWVhcik7CisgICAgICAgICAg
ICBzdGQ6OnN3YXAoeWVhclBhcmFtcy5taW5Jc1NwZWNpZmllZCwgeWVhclBhcmFtcy5tYXhJc1Nw
ZWNpZmllZCk7CisgICAgICAgIH0KKyAgICAgICAgeWVhclBhcmFtcy5wbGFjZWhvbGRlciA9IG1f
cGFyYW1ldGVycy5wbGFjZWhvbGRlckZvclllYXI7CisgICAgICAgIG1fZWRpdEVsZW1lbnQuYWRk
RmllbGQoRGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQsIG1fZWRpdEVs
ZW1lbnQsIHllYXJQYXJhbXMpKTsKICAgICAgICAgcmV0dXJuOworICAgIH0KIAogICAgIGRlZmF1
bHQ6CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0RhdGVUaW1lRWRpdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Rh
dGVUaW1lRWRpdEVsZW1lbnQuaAppbmRleCBiZWRhMjlkY2NmY2FjNmIyMjJkMjA4NjE1MThmNTZi
YzgzZDk4ZDE0Li5jOWE0YmJhMDI3MDllNzM1MGJiMmM0NjdmZmI2YTQ3Yzc2YTM4NmVjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZUVkaXRFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVFZGl0RWxlbWVudC5oCkBA
IC02Niw2ICs2Niw4IEBAIHB1YmxpYzoKICAgICAgICAgU3RyaW5nIGZhbGxiYWNrRGF0ZVRpbWVG
b3JtYXQ7CiAgICAgICAgIExvY2FsaXplciYgbG9jYWxpemVyOwogICAgICAgICBjb25zdCBTdGVw
UmFuZ2Ugc3RlcFJhbmdlOworICAgICAgICBpbnQgbWluaW11bVllYXI7CisgICAgICAgIGludCBt
YXhpbXVtWWVhcjsKICAgICAgICAgU3RyaW5nIHBsYWNlaG9sZGVyRm9yRGF5OwogICAgICAgICBT
dHJpbmcgcGxhY2Vob2xkZXJGb3JNb250aDsKICAgICAgICAgU3RyaW5nIHBsYWNlaG9sZGVyRm9y
WWVhcjsKQEAgLTczLDEwICs3NSwxMyBAQCBwdWJsaWM6CiAgICAgICAgIExheW91dFBhcmFtZXRl
cnMoTG9jYWxpemVyJiBsb2NhbGl6ZXIsIGNvbnN0IFN0ZXBSYW5nZSYgc3RlcFJhbmdlKQogICAg
ICAgICAgICAgOiBsb2NhbGl6ZXIobG9jYWxpemVyKQogICAgICAgICAgICAgLCBzdGVwUmFuZ2Uo
c3RlcFJhbmdlKQorICAgICAgICAgICAgLCBtaW5pbXVtWWVhcih1bmRlZmluZWRZZWFyKCkpCisg
ICAgICAgICAgICAsIG1heGltdW1ZZWFyKHVuZGVmaW5lZFllYXIoKSkKICAgICAgICAgewogICAg
ICAgICB9CiAKICAgICAgICAgYm9vbCBzaG91bGRIYXZlU2Vjb25kRmllbGQoKSBjb25zdDsKKyAg
ICAgICAgc3RhdGljIGlubGluZSBpbnQgdW5kZWZpbmVkWWVhcigpIHsgcmV0dXJuIC0xOyB9CiAg
ICAgfTsKIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPERhdGVUaW1lRWRpdEVsZW1lbnQ+IGNyZWF0
ZShEb2N1bWVudCosIEVkaXRDb250cm9sT3duZXImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudHMuY3BwCmluZGV4IGJiY2VkZTc0OGMz
NzlmMjVmYWUyNGZhMmU5NzJkNmFiNGM3NDczOTAuLmFkY2M3MjI3YWEzMDk5ZGU1MGU0MTMzOTNk
NTcyMmY5YjkzOTBlODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Rh
dGVUaW1lRmllbGRFbGVtZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
RGF0ZVRpbWVGaWVsZEVsZW1lbnRzLmNwcApAQCAtNDIyLDIwICs0MjIsMjkgQEAgdm9pZCBEYXRl
VGltZVdlZWtGaWVsZEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRlVGltZUZpZWxkc1N0YXRlKGNvbnN0
IERhdGVUaW1lRmllbGQKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1EYXRl
VGltZVllYXJGaWVsZEVsZW1lbnQ6OkRhdGVUaW1lWWVhckZpZWxkRWxlbWVudChEb2N1bWVudCog
ZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3duZXIsIGNvbnN0IFN0cmluZyYgcGxhY2Vob2xk
ZXIpCi0gICAgOiBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQoZG9jdW1lbnQsIGZpZWxkT3du
ZXIsIERhdGVDb21wb25lbnRzOjptaW5pbXVtWWVhcigpLCBEYXRlQ29tcG9uZW50czo6bWF4aW11
bVllYXIoKSwgcGxhY2Vob2xkZXIpCitEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQ6OkRhdGVUaW1l
WWVhckZpZWxkRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXImIGZpZWxkT3du
ZXIsIGNvbnN0IERhdGVUaW1lWWVhckZpZWxkRWxlbWVudDo6UGFyYW1ldGVycyYgcGFyYW1ldGVy
cykKKyAgICA6IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25l
ciwgcGFyYW1ldGVycy5taW5pbXVtWWVhciwgcGFyYW1ldGVycy5tYXhpbXVtWWVhciwgcGFyYW1l
dGVycy5wbGFjZWhvbGRlci5pc0VtcHR5KCkgPyBBU0NJSUxpdGVyYWwoIi0tLS0iKSA6IHBhcmFt
ZXRlcnMucGxhY2Vob2xkZXIpCisgICAgLCBtX21pbklzU3BlY2lmaWVkKHBhcmFtZXRlcnMubWlu
SXNTcGVjaWZpZWQpCisgICAgLCBtX21heElzU3BlY2lmaWVkKHBhcmFtZXRlcnMubWF4SXNTcGVj
aWZpZWQpCiB7CisgICAgQVNTRVJUKHBhcmFtZXRlcnMubWluaW11bVllYXIgPj0gRGF0ZUNvbXBv
bmVudHM6Om1pbmltdW1ZZWFyKCkpOworICAgIEFTU0VSVChwYXJhbWV0ZXJzLm1heGltdW1ZZWFy
IDw9IERhdGVDb21wb25lbnRzOjptYXhpbXVtWWVhcigpKTsKIH0KIAotUGFzc1JlZlB0cjxEYXRl
VGltZVllYXJGaWVsZEVsZW1lbnQ+IERhdGVUaW1lWWVhckZpZWxkRWxlbWVudDo6Y3JlYXRlKERv
Y3VtZW50KiBkb2N1bWVudCwgRmllbGRPd25lciYgZmllbGRPd25lciwgY29uc3QgU3RyaW5nJiBw
bGFjZWhvbGRlcikKK1Bhc3NSZWZQdHI8RGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50PiBEYXRlVGlt
ZVllYXJGaWVsZEVsZW1lbnQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIEZpZWxkT3duZXIm
IGZpZWxkT3duZXIsIGNvbnN0IERhdGVUaW1lWWVhckZpZWxkRWxlbWVudDo6UGFyYW1ldGVycyYg
cGFyYW1ldGVycykKIHsKICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKEF0b21pY1N0cmluZywgeWVh
clBzdWVkb0lkLCAoIi13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxkIikpOwotICAgIFJl
ZlB0cjxEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQ+IGZpZWxkID0gYWRvcHRSZWYobmV3IERhdGVU
aW1lWWVhckZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgcGxhY2Vob2xkZXIuaXNF
bXB0eSgpID8gQVNDSUlMaXRlcmFsKCItLS0tIikgOiBwbGFjZWhvbGRlcikpOworICAgIFJlZlB0
cjxEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQ+IGZpZWxkID0gYWRvcHRSZWYobmV3IERhdGVUaW1l
WWVhckZpZWxkRWxlbWVudChkb2N1bWVudCwgZmllbGRPd25lciwgcGFyYW1ldGVycykpOwogICAg
IGZpZWxkLT5pbml0aWFsaXplKHllYXJQc3VlZG9JZCwgQVhZZWFyRmllbGRUZXh0KCkpOwogICAg
IHJldHVybiBmaWVsZC5yZWxlYXNlKCk7CiB9CiAKLWludCBEYXRlVGltZVllYXJGaWVsZEVsZW1l
bnQ6OmRlZmF1bHRWYWx1ZUZvclN0ZXBEb3duKCkgY29uc3QKK2ludCBEYXRlVGltZVllYXJGaWVs
ZEVsZW1lbnQ6OmNsYW1wVmFsdWVGb3JIYXJkTGltaXRzKGludCB2YWx1ZSkgY29uc3QKK3sKKyAg
ICByZXR1cm4gUmFuZ2UoRGF0ZUNvbXBvbmVudHM6Om1pbmltdW1ZZWFyKCksIERhdGVDb21wb25l
bnRzOjptYXhpbXVtWWVhcigpKS5jbGFtcFZhbHVlKHZhbHVlKTsKK30KKworc3RhdGljIGludCBj
dXJyZW50RnVsbFllYXIoKQogewogICAgIGRvdWJsZSBjdXJyZW50ID0gY3VycmVudFRpbWVNUygp
OwogICAgIGRvdWJsZSB1dGNPZmZzZXQgPSBjYWxjdWxhdGVVVENPZmZzZXQoKTsKQEAgLTQ0OCw5
ICs0NTcsMTQgQEAgaW50IERhdGVUaW1lWWVhckZpZWxkRWxlbWVudDo6ZGVmYXVsdFZhbHVlRm9y
U3RlcERvd24oKSBjb25zdAogICAgIHJldHVybiBkYXRlLmZ1bGxZZWFyKCk7CiB9CiAKK2ludCBE
YXRlVGltZVllYXJGaWVsZEVsZW1lbnQ6OmRlZmF1bHRWYWx1ZUZvclN0ZXBEb3duKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gbV9tYXhJc1NwZWNpZmllZCA/IERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxl
bWVudDo6ZGVmYXVsdFZhbHVlRm9yU3RlcERvd24oKSA6IGN1cnJlbnRGdWxsWWVhcigpOworfQor
CiBpbnQgRGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50OjpkZWZhdWx0VmFsdWVGb3JTdGVwVXAoKSBj
b25zdAogewotICAgIHJldHVybiBkZWZhdWx0VmFsdWVGb3JTdGVwRG93bigpOworICAgIHJldHVy
biBtX21pbklzU3BlY2lmaWVkID8gRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpkZWZhdWx0
VmFsdWVGb3JTdGVwVXAoKSA6IGN1cnJlbnRGdWxsWWVhcigpOwogfQogCiB2b2lkIERhdGVUaW1l
WWVhckZpZWxkRWxlbWVudDo6cG9wdWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1lRmll
bGRzU3RhdGUmIGRhdGVUaW1lRmllbGRzU3RhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9EYXRlVGltZUZpZWxkRWxlbWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0RhdGVUaW1lRmllbGRFbGVtZW50cy5oCmluZGV4IDE5ODRlZmI1M2Y2ZTBhOWQz
YzdmNzJmYWJhMTdkNDE3NmIyMTMxODUuLjQ2ZDUxYTc4NjBhYTc3MGE5MWIxYWM5M2JiOWI2Y2Uz
MWJlM2E0Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1l
RmllbGRFbGVtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1l
RmllbGRFbGVtZW50cy5oCkBAIC0xNjYsMTAgKzE2NiwyNiBAQCBjbGFzcyBEYXRlVGltZVllYXJG
aWVsZEVsZW1lbnQgOiBwdWJsaWMgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50IHsKICAgICBX
VEZfTUFLRV9OT05DT1BZQUJMRShEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQpOwogCiBwdWJsaWM6
Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RGF0ZVRpbWVZZWFyRmllbGRFbGVtZW50PiBjcmVhdGUo
RG9jdW1lbnQqLCBGaWVsZE93bmVyJiwgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRlcik7CisgICAg
c3RydWN0IFBhcmFtZXRlcnMgeworICAgICAgICBpbnQgbWluaW11bVllYXI7CisgICAgICAgIGlu
dCBtYXhpbXVtWWVhcjsKKyAgICAgICAgYm9vbCBtaW5Jc1NwZWNpZmllZDsKKyAgICAgICAgYm9v
bCBtYXhJc1NwZWNpZmllZDsKKyAgICAgICAgU3RyaW5nIHBsYWNlaG9sZGVyOworCisgICAgICAg
IFBhcmFtZXRlcnMoKQorICAgICAgICAgICAgOiBtaW5pbXVtWWVhcigtMSkKKyAgICAgICAgICAg
ICwgbWF4aW11bVllYXIoLTEpCisgICAgICAgICAgICAsIG1pbklzU3BlY2lmaWVkKGZhbHNlKQor
ICAgICAgICAgICAgLCBtYXhJc1NwZWNpZmllZChmYWxzZSkKKyAgICAgICAgeworICAgICAgICB9
CisgICAgfTsKKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPERhdGVUaW1lWWVhckZpZWxkRWxlbWVu
dD4gY3JlYXRlKERvY3VtZW50KiwgRmllbGRPd25lciYsIGNvbnN0IFBhcmFtZXRlcnMmKTsKIAog
cHJpdmF0ZToKLSAgICBEYXRlVGltZVllYXJGaWVsZEVsZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93
bmVyJiwgY29uc3QgU3RyaW5nJiBwbGFjZWhvbGRlcik7CisgICAgRGF0ZVRpbWVZZWFyRmllbGRF
bGVtZW50KERvY3VtZW50KiwgRmllbGRPd25lciYsIGNvbnN0IFBhcmFtZXRlcnMmKTsKIAogICAg
IC8vIERhdGVUaW1lRmllbGRFbGVtZW50IGZ1bmN0aW9ucy4KICAgICB2aXJ0dWFsIHZvaWQgcG9w
dWxhdGVEYXRlVGltZUZpZWxkc1N0YXRlKERhdGVUaW1lRmllbGRzU3RhdGUmKSBPVkVSUklERSBG
SU5BTDsKQEAgLTE3Nyw4ICsxOTMsMTIgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2V0
VmFsdWVBc0RhdGVUaW1lRmllbGRzU3RhdGUoY29uc3QgRGF0ZVRpbWVGaWVsZHNTdGF0ZSYsIGNv
bnN0IERhdGVDb21wb25lbnRzJiBkYXRlRm9yUmVhZE9ubHlGaWVsZCkgT1ZFUlJJREUgRklOQUw7
CiAKICAgICAvLyBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQgZnVuY3Rpb25zLgorICAgIHZp
cnR1YWwgaW50IGNsYW1wVmFsdWVGb3JIYXJkTGltaXRzKGludCkgY29uc3QgT1ZFUlJJREUgRklO
QUw7CiAgICAgdmlydHVhbCBpbnQgZGVmYXVsdFZhbHVlRm9yU3RlcERvd24oKSBjb25zdCBPVkVS
UklERSBGSU5BTDsKICAgICB2aXJ0dWFsIGludCBkZWZhdWx0VmFsdWVGb3JTdGVwVXAoKSBjb25z
dCBPVkVSUklERSBGSU5BTDsKKworICAgIGJvb2wgbV9taW5Jc1NwZWNpZmllZDsKKyAgICBib29s
IG1fbWF4SXNTcGVjaWZpZWQ7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvRGF0ZVRpbWVOdW1lcmljRmllbGRF
bGVtZW50LmNwcAppbmRleCBhNjMxY2M1NjQ0MWNlNjYzYzExOWQ0MjU1ZmIzN2FkMzRjZjc1Mjcx
Li4yMTY1ZjJmMWExNmI1YmZjMjUxMTk0MmM3OWI4NmUwOGEyODFjZTA4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1lTnVtZXJpY0ZpZWxkRWxl
bWVudC5jcHAKQEAgLTY0LDYgKzY0LDExIEBAIERhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudDo6
RGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50KERvY3VtZW50KiBkb2N1bWVudCwgRmllCiB7CiB9
CiAKK2ludCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OmNsYW1wVmFsdWVGb3JIYXJkTGlt
aXRzKGludCB2YWx1ZSkgY29uc3QKK3sKKyAgICByZXR1cm4gY2xhbXBWYWx1ZSh2YWx1ZSk7Cit9
CisKIGludCBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQ6OmRlZmF1bHRWYWx1ZUZvclN0ZXBE
b3duKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9yYW5nZS5tYXhpbXVtOwpAQCAtMTQ0LDcgKzE0
OSw3IEBAIHZvaWQgRGF0ZVRpbWVOdW1lcmljRmllbGRFbGVtZW50OjpzZXRFbXB0eVZhbHVlKGNv
bnN0IERhdGVDb21wb25lbnRzJiBkYXRlRm9yUmVhCiAKIHZvaWQgRGF0ZVRpbWVOdW1lcmljRmll
bGRFbGVtZW50OjpzZXRWYWx1ZUFzSW50ZWdlcihpbnQgdmFsdWUsIEV2ZW50QmVoYXZpb3IgZXZl
bnRCZWhhdmlvcikKIHsKLSAgICBtX3ZhbHVlID0gY2xhbXBWYWx1ZSh2YWx1ZSk7CisgICAgbV92
YWx1ZSA9IGNsYW1wVmFsdWVGb3JIYXJkTGltaXRzKHZhbHVlKTsKICAgICBtX2hhc1ZhbHVlID0g
dHJ1ZTsKICAgICB1cGRhdGVWaXNpYmxlVmFsdWUoZXZlbnRCZWhhdmlvcik7CiAgICAgbV9sYXN0
RGlnaXRDaGFyVGltZSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9EYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L0RhdGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5oCmluZGV4IDhkMDZjZmJiMzRjZDAxNThk
MTc0MjJjNTg4ZTFkMjM2MTcyMGNhYTUuLjc4YTBmNDY4NmVjZWVlNzllOGRmOWE0YjYyZjIxZDg2
NWUxNjJiMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0RhdGVUaW1l
TnVtZXJpY0ZpZWxkRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0Rh
dGVUaW1lTnVtZXJpY0ZpZWxkRWxlbWVudC5oCkBAIC01NCw2ICs1NCw3IEBAIHByb3RlY3RlZDoK
ICAgICBEYXRlVGltZU51bWVyaWNGaWVsZEVsZW1lbnQoRG9jdW1lbnQqLCBGaWVsZE93bmVyJiwg
aW50IG1pbmltdW0sIGludCBtYXhpbXVtLCBjb25zdCBTdHJpbmcmIHBsYWNlaG9sZGVyKTsKIAog
ICAgIGludCBjbGFtcFZhbHVlKGludCB2YWx1ZSkgY29uc3QgeyByZXR1cm4gbV9yYW5nZS5jbGFt
cFZhbHVlKHZhbHVlKTsgfQorICAgIHZpcnR1YWwgaW50IGNsYW1wVmFsdWVGb3JIYXJkTGltaXRz
KGludCkgY29uc3Q7CiAgICAgdmlydHVhbCBpbnQgZGVmYXVsdFZhbHVlRm9yU3RlcERvd24oKSBj
b25zdDsKICAgICB2aXJ0dWFsIGludCBkZWZhdWx0VmFsdWVGb3JTdGVwVXAoKSBjb25zdDsKICAg
ICBjb25zdCBSYW5nZSYgcmFuZ2UoKSBjb25zdCB7IHJldHVybiBtX3JhbmdlOyB9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
YzI1NzIxMWE1MWZhMTA3ZTMyMjU0NDVhOTkzNDRmZjgyNTUwZDkyZi4uNzUyMTY4Y2RmODJkMDM2
NmFmZDM1Y2I4YTUxYjVkNDNiZjMxZjRhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTEw
LTAzICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBEYXRlVGlt
ZVllYXJGaWVsZEVsZW1lbnQgc2hvdWxkIHJlc3BlY3QgbWluL21heCB2YWx1ZXMgc3BlY2lmaWVk
IGJ5IHBhZ2UgYXV0aG9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTgyMjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGZhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxl
LWZpZWxkcy1rZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2Zvcm1zL21vbnRoLW11bHRpcGxlLWZpZWxkcy9tb250aC1tdWx0aXBsZS1maWVsZHMta2V5
Ym9hcmQtZXZlbnRzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTEwLTAyICBBcmtvIFNhaGEgIDxhcmtv
QG1vdG9yb2xhLmNvbT4KIAogICAgICAgICBNaWNyb2RhdGE6IGl0ZW1wcm9wIG5hbWVzIG11c3Qg
bm90IG92ZXJyaWRlIGJ1aWx0aW4gcHJvcGVydGllcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1r
ZXlib2FyZC1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250
aC1tdWx0aXBsZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWVkZjg4MzhmN2IzODhkZjk0NjNjN2FjYzI3ZmU5MWI3
MGMwZWE2ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgt
bXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTkgQEAKK011bHRpcGxlIGZpZWxkcyBVSSBvZiBtb250aCBp
bnB1dCB0eXBlIHdpdGgga2V5Ym9hcmQgZXZlbnRzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitQbGVhc2UgcnVuIHRoaXMgd2l0aCBEdW1wUmVuZGVyVHJlZS4KKworVGVzdCBmb2xs
b3dpbmcga2V5czoKK0RpZ2l0cworTGVmdC9SaWdodCAtIE1vdmUgZm9jdXMgZmllbGQgaW5zaWRl
IGVsZW1lbnQKK1VwL0Rvd24gLSBJbmNyZW1lbnQvZGVjcmVtZW50IHZhbHVlIG9mIGZvY3VzIGZp
ZWxkCitUYWIgLSBNb3ZlIGZvY3VzIGZpZWxkCitCYWNrc3BhY2UgLSBNYWtlIHZhbHVlIGVtcHR5
CisgIAorPT0gRGlnaXQga2V5cyA9PQorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0wOSIKKz09
IExlZnQvUmlnaHQga2V5cyA9PQorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDAwNS0wNiIKK1BBU1Mg
ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAiaW5wdXQiCis9PSBVcC9Eb3duIGtleXMgPT0K
K1BBU1MgaW5wdXQudmFsdWUgaXMgIjIwMTItMTAiCitQQVNTIGlucHV0LnZhbHVlIGlzICIyMDEy
LTA4IgorPT0gVXAvRG93biBrZXlzIG9uIGVtcHR5IHZhbHVlID09CitQQVNTIGlucHV0LnZhbHVl
IGlzICIyMDEyLTExIgorPT0gVXAvRG93biBrZXlzIG9uIGVtcHR5IHZhbHVlIDIgPT0KK1BBU1Mg
aW5wdXQudmFsdWUgaXMgIjIwMTItMDIiCis9PSBUYWIga2V5ID09CitQQVNTIGlucHV0LnZhbHVl
IGlzICIwMDA1LTA5IgorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDAwNS0wNyIKK1BBU1MgZG9jdW1l
bnQuYWN0aXZlRWxlbWVudC5pZCBpcyAiYW5vdGhlciIKKz09IFNoZml0K1RhYiBrZXkgPT0KK1BB
U1MgaW5wdXQudmFsdWUgaXMgIjAwMDMtMDkiCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQu
aWQgaXMgImJlZm9yZSIKKz09IFVwIGtleSBvbiBtYXhpbXVtIHZhbHVlID09CitQQVNTIGlucHV0
LnZhbHVlIGlzICIwMDAxLTEwIgorPT0gVXAga2V5IHdpdGggYSBtYXhpbXVtIGF0dHJpYnV0ZSA9
PQorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMDAwMS0wMSIKKz09IERvd24ga2V5IG9uIG1pbmltdW0g
dmFsdWUgPT0KK1BBU1MgaW5wdXQudmFsdWUgaXMgIjI3NTc2MC0xMiIKKz09IERvd24ga2V5IHdp
dGggYSBtaW5pbXVtIGF0dHJpYnV0ZSA9PQorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjc1NzYwLTEy
IgorPT0gSW5jb25zaXN0ZW50IG1pbi1tYXggYXR0cmlidXRlcyA9PQorUEFTUyBpbnB1dC52YWx1
ZSBpcyAiMTAwMC0xMiIKK1BBU1MgaW5wdXQudmFsdWUgaXMgIjE5OTktMTIiCis9PSBCYWNrc3Bh
Y2Uga2V5ID09CitQQVNTIGlucHV0LnZhbHVlIGlzICIiCis9PSBEZWxldGUga2V5ID09CitQQVNT
IGlucHV0LnZhbHVlIGlzICIiCis9PSBUeXBlYWhlYWQgPT0KK1BBU1MgaW5wdXQudmFsdWUgaXMg
IjAwMDEtMTIiCitQQVNTIGlucHV0LnZhbHVlIGlzICIwMDAyLTEyIgorPT0gUlRMIExlZnQvUmln
aHQga2V5cyA9PQorUEFTUyBpbnB1dC52YWx1ZSBpcyAiMjAxMi0wMSIKK1BBU1MgaW5wdXQudmFs
dWUgaXMgIjAwMDItMDEiCitQQVNTIGlucHV0LnZhbHVlIGlzICIwMDAyLTAzIgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9udGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxl
LWZpZWxkcy1rZXlib2FyZC1ldmVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvbW9u
dGgtbXVsdGlwbGUtZmllbGRzL21vbnRoLW11bHRpcGxlLWZpZWxkcy1rZXlib2FyZC1ldmVudHMu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kYzQyZTRjMWVjNjM1MTNiOTcyOGNmNWU1YWY2NGE4ODdkNjkyOWQx
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9tb250aC1tdWx0aXBs
ZS1maWVsZHMvbW9udGgtbXVsdGlwbGUtZmllbGRzLWtleWJvYXJkLWV2ZW50cy5odG1sCkBAIC0w
LDAgKzEsMTg0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8cD4KK1BsZWFzZSBydW4gdGhpcyB3
aXRoIER1bXBSZW5kZXJUcmVlLgorPC9wPgorVGVzdCBmb2xsb3dpbmcga2V5czoKKzx1bD4KKyAg
ICA8bGk+RGlnaXRzPC9saT4KKyAgICA8bGk+TGVmdC9SaWdodCAtIE1vdmUgZm9jdXMgZmllbGQg
aW5zaWRlIGVsZW1lbnQ8L2xpPgorICAgIDxsaT5VcC9Eb3duIC0gSW5jcmVtZW50L2RlY3JlbWVu
dCB2YWx1ZSBvZiBmb2N1cyBmaWVsZDwvbGk+CisgICAgPGxpPlRhYiAtIE1vdmUgZm9jdXMgZmll
bGQ8L2xpPgorICAgIDxsaT5CYWNrc3BhY2UgLSBNYWtlIHZhbHVlIGVtcHR5PC9saT4KKzwvdWw+
Cis8aW5wdXQgaWQ9ImJlZm9yZSI+Cis8aW5wdXQgaWQ9ImlucHV0IiB0eXBlPSJtb250aCI+Cis8
aW5wdXQgaWQ9ImFub3RoZXIiPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
ZGVzY3JpcHRpb24oIk11bHRpcGxlIGZpZWxkcyBVSSBvZiBtb250aCBpbnB1dCB0eXBlIHdpdGgg
a2V5Ym9hcmQgZXZlbnRzIik7Cit2YXIgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
aW5wdXQiKTsKKworZnVuY3Rpb24ga2V5RG93bihrZXksIG1vZGlmaWVycykKK3sKKyAgICBpZiAo
IXdpbmRvdy5ldmVudFNlbmRlcikKKyAgICAgICAgcmV0dXJuOworICAgIGV2ZW50U2VuZGVyLmtl
eURvd24oa2V5LCBtb2RpZmllcnMpOworfQorCitmdW5jdGlvbiBiZWdpblRlc3QodGl0bGUsIHZh
bHVlLCBvcHRfbWluLCBvcHRfbWF4KQoreworICAgIGRlYnVnKCI9PSAiICsgdGl0bGUgKyAiID09
Iik7CisgICAgaW5wdXQudmFsdWUgPSB2YWx1ZTsKKyAgICBpbnB1dC5taW4gPSBvcHRfbWluID8g
b3B0X21pbiA6ICIiOworICAgIGlucHV0Lm1heCA9IG9wdF9tYXggPyBvcHRfbWF4IDogIiI7Cisg
ICAgaW5wdXQuYmx1cigpOworICAgIGlucHV0LmZvY3VzKCk7Cit9CisKKy8vIFdlIGFzc3VtZSB0
aGUgeWVhci1tb250aCBmb3JtYXQgaXMgTU0veXl5eS4KKworYmVnaW5UZXN0KCdEaWdpdCBrZXlz
Jyk7CitrZXlEb3duKCc5Jyk7CitrZXlEb3duKCcyJyk7CitrZXlEb3duKCcwJyk7CitrZXlEb3du
KCcxJyk7CitrZXlEb3duKCcyJyk7CitrZXlEb3duKCdBJyk7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMDknKTsKKworLy8gRklYTUU6IFdlIHNob3VsZCB0ZXN0
IHR5cGUgYWhlYWQgdGltZSBvdXQuIFdoZW4gZXZlbnQubGVhcEZvcndhcmQoKSBhZmZlY3RzCisv
LyBrZXlib2FyZCBldmVudCB0aW1lIHN0YW1wLCB3ZSBjYW4gdW5jb21tZW50IHRoaXMgZnJhZ21l
bnQuCisvKgorYmVnaW5UZXN0KCdEaWdpdCBrZXlzIHdpdGggdHlwZSBhaGVhZCB0aW1lb3V0Jyk7
CitrZXlEb3duKCcxJyk7CitsZWFwRm9yd2FyZCgxMTAwKTsKK2tleURvd24oJzEnKTsKK2tleURv
d24oJzUnKTsKK2tleURvd24oJzYnKTsKK2tleURvd24oJ0EnKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygnaW5wdXQudmFsdWUnLCAnMDA1Ni0wMScpOworKi8KKworYmVnaW5UZXN0KCdMZWZ0L1Jp
Z2h0IGtleXMnLCAnMjAxMi0wOScpOwora2V5RG93bigncmlnaHRBcnJvdycpOwora2V5RG93bign
NScpOwora2V5RG93bignbGVmdEFycm93Jyk7CitrZXlEb3duKCc2Jyk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDUtMDYnKTsKK2tleURvd24oJ2xlZnRBcnJvdycp
Owora2V5RG93bignbGVmdEFycm93Jyk7CitrZXlEb3duKCdsZWZ0QXJyb3cnKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICdpbnB1dCcpOworCiti
ZWdpblRlc3QoJ1VwL0Rvd24ga2V5cycsICcyMDEyLTA5Jyk7CitrZXlEb3duKCd1cEFycm93Jyk7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMTAnKTsKK2tleURv
d24oJ2Rvd25BcnJvdycpOwora2V5RG93bignZG93bkFycm93Jyk7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMDgnKTsKKworLy8gTm90ZSB0aGF0IGVtcHR5IHZh
bHVlIGZvciB0aGUgeWVhciBmaWVsZCB3aXRob3V0IG1pbi9tYXggYXR0cmlidXRlcyBpcyBub3QK
Ky8vIHRlc3RhYmxlIGJlY2F1c2UgaXRzIGRlZmF1bHQgdmFsdWUgZGVwZW5kcyBvbiB0aGUgY3Vy
cmVudCBkYXRlLgorYmVnaW5UZXN0KCdVcC9Eb3duIGtleXMgb24gZW1wdHkgdmFsdWUnLCAnJywg
JzIwMTItMDEnKTsKK2tleURvd24oJ2Rvd25BcnJvdycpOwora2V5RG93bignZG93bkFycm93Jyk7
CitrZXlEb3duKCdyaWdodEFycm93Jyk7CitrZXlEb3duKCd1cEFycm93Jyk7CitrZXlEb3duKCd1
cEFycm93Jyk7CitrZXlEb3duKCdkb3duQXJyb3cnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
aW5wdXQudmFsdWUnLCAnMjAxMi0xMScpOworCitiZWdpblRlc3QoJ1VwL0Rvd24ga2V5cyBvbiBl
bXB0eSB2YWx1ZSAyJywgJycsIHVuZGVmaW5lZCwgJzIwMTItMDEnKTsKK2tleURvd24oJ3VwQXJy
b3cnKTsKK2tleURvd24oJ3VwQXJyb3cnKTsKK2tleURvd24oJ3JpZ2h0QXJyb3cnKTsKK2tleURv
d24oJ2Rvd25BcnJvdycpOwora2V5RG93bignZG93bkFycm93Jyk7CitrZXlEb3duKCd1cEFycm93
Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzIwMTItMDInKTsKKwor
YmVnaW5UZXN0KCdUYWIga2V5JywgJzIwMTItMDknKTsKK2tleURvd24oJ1x0Jyk7CitrZXlEb3du
KCc1Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDUtMDknKTsK
K2tleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsKK2tleURvd24oJzcnKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAwNS0wNycpOwora2V5RG93bignXHQnKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICdhbm90aGVy
Jyk7CisKK2JlZ2luVGVzdCgnU2hmaXQrVGFiIGtleScsICcyMDEyLTA5Jyk7Cithbm90aGVyLmZv
Y3VzKCk7CitrZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7CitrZXlEb3duKCczJyk7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDMtMDknKTsKK2tleURvd24oJ1x0
JywgWydzaGlmdEtleSddKTsKK2tleURvd24oJ1x0JywgWydzaGlmdEtleSddKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygnZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCcsICdiZWZvcmUnKTsKKwor
YmVnaW5UZXN0KCdVcCBrZXkgb24gbWF4aW11bSB2YWx1ZScsICcyNzU3NjAtMDknKTsKK2tleURv
d24oJ3VwQXJyb3cnKTsKK2tleURvd24oJ1x0Jyk7CitrZXlEb3duKCd1cEFycm93Jyk7CitzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDEtMTAnKTsKK2JlZ2luVGVzdCgn
VXAga2V5IHdpdGggYSBtYXhpbXVtIGF0dHJpYnV0ZScsICcxOTk5LTEyJywgdW5kZWZpbmVkLCAn
MTk5OS0xMicpOwora2V5RG93bigndXBBcnJvdycpOwora2V5RG93bignXHQnKTsKK2tleURvd24o
J3VwQXJyb3cnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMDAwMS0w
MScpOworCitiZWdpblRlc3QoJ0Rvd24ga2V5IG9uIG1pbmltdW0gdmFsdWUnLCAnMDAwMS0wMScs
ICdiYWQgbWluJywgJ3dyb25nIG1heCcpOwora2V5RG93bignZG93bkFycm93Jyk7CitrZXlEb3du
KCdcdCcpOwora2V5RG93bignZG93bkFycm93Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lu
cHV0LnZhbHVlJywgJzI3NTc2MC0xMicpOworYmVnaW5UZXN0KCdEb3duIGtleSB3aXRoIGEgbWlu
aW11bSBhdHRyaWJ1dGUnLCAnMDAwMS0wMScsICcwMDAxLTAxJyk7CitrZXlEb3duKCdkb3duQXJy
b3cnKTsKK2tleURvd24oJ1x0Jyk7CitrZXlEb3duKCdkb3duQXJyb3cnKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMjc1NzYwLTEyJyk7CisKK2JlZ2luVGVzdCgnSW5j
b25zaXN0ZW50IG1pbi1tYXggYXR0cmlidXRlcycsICcxOTk5LTEyJywgJzE5OTktMTInLCAnMTAw
MC0wMScpOwora2V5RG93bignXHQnKTsKK2tleURvd24oJ3VwQXJyb3cnKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygnaW5wdXQudmFsdWUnLCAnMTAwMC0xMicpOwora2V5RG93bignZG93bkFycm93
Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzE5OTktMTInKTsKKwor
YmVnaW5UZXN0KCdCYWNrc3BhY2Uga2V5JywgJzIwMTItMDknKTsKK2tleURvd24oIlxiIik7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJycpOworCitiZWdpblRlc3QoJ0Rl
bGV0ZSBrZXknLCAnMjAxMi0wOScpOwora2V5RG93bigiZGVsZXRlIik7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJycpOworCitiZWdpblRlc3QoJ1R5cGVhaGVhZCcsICcy
MDEyLTEyJyk7CitrZXlEb3duKCdyaWdodEFycm93Jyk7CitrZXlEb3duKCcxJyk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDEtMTInKTsKK2tleURvd24oJ2xlZnRB
cnJvdycpOwora2V5RG93bigncmlnaHRBcnJvdycpOwora2V5RG93bignMicpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdpbnB1dC52YWx1ZScsICcwMDAyLTEyJyk7CisKK2JlZ2luVGVzdCgnUlRM
IExlZnQvUmlnaHQga2V5cycsICcyMDEyLTA5Jyk7CitpbnB1dC5zZXRBdHRyaWJ1dGUoImRpciIs
ICJydGwiKTsKK2tleURvd24oJzEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnaW5wdXQudmFs
dWUnLCAnMjAxMi0wMScpOwora2V5RG93bignbGVmdEFycm93Jyk7CitrZXlEb3duKCcyJyk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2lucHV0LnZhbHVlJywgJzAwMDItMDEnKTsKK2tleURvd24o
J3JpZ2h0QXJyb3cnKTsKK2tleURvd24oJzMnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnaW5w
dXQudmFsdWUnLCAnMDAwMi0wMycpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="179328"
          type_id="1"
          status="+"
          setter="morrita"
    />
    <flag name="commit-queue"
          id="179572"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>