<?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>100482</bug_id>
          
          <creation_ts>2012-10-26 01:33:09 -0700</creation_ts>
          <short_desc>Refactor Localizer-related classes.</short_desc>
          <delta_ts>2012-10-26 07:23:10 -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>Platform</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>haraken</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>751681</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-26 01:33:09 -0700</bug_when>
    <thetext>- Localizer has unused code
- Some Localizer subclasses hide Localizer data members
- Should use String::isNull to check initialization-or-not</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751686</commentid>
    <comment_count>1</comment_count>
      <attachid>170849</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-26 01:42:58 -0700</bug_when>
    <thetext>Created attachment 170849
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751695</commentid>
    <comment_count>2</comment_count>
      <attachid>170849</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-10-26 01:51:03 -0700</bug_when>
    <thetext>Comment on attachment 170849
Patch

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

&gt; Source/WebCore/platform/text/LocaleNone.cpp:150
&gt; +    if (!m_timeAMPMLabels.isEmpty())

isNull() ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751698</commentid>
    <comment_count>3</comment_count>
      <attachid>170849</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-26 01:52:30 -0700</bug_when>
    <thetext>Comment on attachment 170849
Patch

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

&gt;&gt; Source/WebCore/platform/text/LocaleNone.cpp:150
&gt;&gt; +    if (!m_timeAMPMLabels.isEmpty())
&gt; 
&gt; isNull() ?

No. This is a Vector.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751759</commentid>
    <comment_count>4</comment_count>
      <attachid>170849</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-26 03:03:05 -0700</bug_when>
    <thetext>Comment on attachment 170849
Patch

Attachment 170849 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14607006</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751760</commentid>
    <comment_count>5</comment_count>
      <attachid>170863</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-26 03:05:04 -0700</bug_when>
    <thetext>Created attachment 170863
Patch for landing

Fix LocaleICU build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751814</commentid>
    <comment_count>6</comment_count>
      <attachid>170863</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-26 03:50:16 -0700</bug_when>
    <thetext>Comment on attachment 170863
Patch for landing

Attachment 170863 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14609015</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751971</commentid>
    <comment_count>7</comment_count>
      <attachid>170909</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-26 06:28:13 -0700</bug_when>
    <thetext>Created attachment 170909
Patch for landing 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752019</commentid>
    <comment_count>8</comment_count>
      <attachid>170909</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-26 07:23:07 -0700</bug_when>
    <thetext>Comment on attachment 170909
Patch for landing 2

Clearing flags on attachment: 170909

Committed r132650: &lt;http://trac.webkit.org/changeset/132650&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752020</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-26 07:23:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170849</attachid>
            <date>2012-10-26 01:42:58 -0700</date>
            <delta_ts>2012-10-26 03:05:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100482-20121026174130.patch</filename>
            <type>text/plain</type>
            <size>13014</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDVkMDBjNzk2Njc0ZWY2
NGY3N2ZhOTNiZmY1OTc2MWQyZWZhZDAxOC4uMGJiY2Q3ODI2YTgxYWVjMzk4NDJkNWQ2YzZkNDM1
MTNiOWMzNDkxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEyLTEwLTI3ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZWZhY3RvciBMb2NhbGl6
ZXItcmVsYXRlZCBjbGFzc2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAwNDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgLSBMb2NhbGl6ZXIgaGFzIHVudXNlZCBjb2RlCisgICAgICAgICBMb2NhbGl6
ZXIgc2hvdWxkIGhhdmUgZnVuY3Rpb24gaW1wbGVtZW50YXRpb25zIG9ubHkgaWYgdGhleSBhcmUg
dXNlZCBpbgorICAgICAgICAgbXVsdGlwbGUgc3ViY2xhc3Nlcy4KKyAgICAgICAgLSBTb21lIExv
Y2FsaXplciBzdWJjbGFzc2VzIGhpZGUgTG9jYWxpemVyIGRhdGEgbWVtYmVycworICAgICAgICAt
IFNob3VsZCB1c2UgU3RyaW5nOjppc051bGwgdG8gY2hlY2sgaW5pdGlhbGl6YXRpb24tb3Itbm90
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBUaGlzIHNob3VsZCBub3QgY2hhbmdlIGFueSBiZWhh
dmlvci4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9jYWxpemVyLmg6CisgICAgICAgIChM
b2NhbGl6ZXIpOgorICAgICAgICAtIHRpbWVGb3JtYXQsIHNob3J0VGltZUZvcm1hdCwgYW5kIHRp
bWVBTVBNTGFiZWxzIHNob3VsZCBiZSBwdXJlIHZpcnR1YWwuCisgICAgICAgIC0gUmVtb3ZlIG1f
bG9jYWxpemVkRGF0ZUZvcm1hdFRleHQsIG1fbG9jYWxpemVkU2hvcnRUaW1lRm9ybWF0VGV4dCwg
YW5kCisgICAgICAgICAgbV90aW1lQU1QTUxhYmVscworICAgICAgICAqIHBsYXRmb3JtL3RleHQv
TG9jYWxpemVyLmNwcDoKKyAgICAgICAgUmVtb3ZlIGltcGxlbWVudGF0aW9ucyBvZiB0aW1lRm9y
bWF0LCBzaG9ydFRpbWVGb3JtYXQsIGFuZCB0aW1lQU1QTUxhYmVscy4KKworICAgICAgICAqIHBs
YXRmb3JtL3RleHQvTG9jYWxlSUNVLmg6CisgICAgICAgIChMb2NhbGVJQ1UpOiBJbnRyb2R1Y2Ug
bV90aW1lRm9ybWF0V2l0aFNlY29uZHMgYW5kIG1fdGltZUZvcm1hdFdpdGhvdXRTZWNvbmRzLgor
ICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkxvY2FsZUlDVTo6aW5pdGlhbGl6ZURhdGVUaW1lRm9ybWF0KToKKyAgICAgICAgVXNlIG5ldyBk
YXRhIG1lbWJlcnMgaW5zdGVhZCBvZiBMb2NhbGl6ZXIgZGF0YSBtZW1iZXJzLgorICAgICAgICAo
V2ViQ29yZTo6TG9jYWxlSUNVOjpkYXRlRm9ybWF0KTogVXNlIGlzTnVsbC4KKworICAgICAgICAq
IHBsYXRmb3JtL3RleHQvTG9jYWxlTm9uZS5jcHA6CisgICAgICAgIChMb2NhbGVOb25lKTogQWRk
IHRpbWVGb3JtYXQsIHNob3J0VGltZUZvcm1hdCwgdGltZUFNUE1MYWJlbHMKKyAgICAgICAgaW1w
bGVtZW50YXRpb25zLCBhbmQgbV90aW1lQU1QTUxhYmVscy4KKyAgICAgICAgKFdlYkNvcmU6Okxv
Y2FsZU5vbmU6OnRpbWVGb3JtYXQpOiBSZXR1cm5zIHRoZSBIVE1MIHRpbWUgZm9ybWF0LgorICAg
ICAgICAoV2ViQ29yZTo6TG9jYWxlTm9uZTo6c2hvcnRUaW1lRm9ybWF0KTogUmV0dXJucyB0aGUg
SFRNTCB0aW1lIGZvcm1hdC4KKyAgICAgICAgKFdlYkNvcmU6OkxvY2FsZU5vbmU6OnRpbWVBTVBN
TGFiZWxzKTogUmV0dXJucyAiQU0iIGFuZCAiUE0iLgorCisgICAgICAgICogcGxhdGZvcm0vdGV4
dC9Mb2NhbGVXaW4uaDoKKyAgICAgICAgKExvY2FsZVdpbik6IEFkZCBtX3RpbWVGb3JtYXRXaXRo
U2Vjb25kcy4KKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpMb2NhbGVXaW46OmRhdGVGb3JtYXQpOiBVc2UgaXNOdWxsLgorICAgICAgICAo
V2ViQ29yZTo6TG9jYWxlV2luOjp0aW1lRm9ybWF0KTogVXNlIG1fdGltZUZvcm1hdFdpdGhTZWNv
bmRzLgorCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLmg6CisgICAgICAg
IChMb2NhbGVNYWMpOiBSZW5hbWUgbV9sb2NhbGl6ZWQqVGltZUZvcm1hdFRleHQgdG8gbV90aW1l
Rm9ybWF0V2l0aCpTZWNvbmRzLgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1h
Yy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkxvY2FsZU1hYzo6dGltZUZvcm1hdCk6IEZvbGxvdyB0
aGUgcmVuYW1pbmcuCisgICAgICAgIChXZWJDb3JlOjpMb2NhbGVNYWM6OnNob3J0VGltZUZvcm1h
dCk6IERpdHRvLgorCiAyMDEyLTEwLTI2ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBbQ2hyb21pdW0tV2luXSBTdXBwb3J0IHNob3J0VGltZUZvcm1hdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwCmluZGV4IDViY2Y0ZGQ3MjA5
M2E1NWEwOGExNjlkZDY0YzRmYTA5Yjk5NjRiYzcuLjE4MTJlN2VlMmJlNjBkMzFiODI0YzY1NTI4
ZTZjN2RlM2VhOThiMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
TG9jYWxlSUNVLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZUlD
VS5jcHAKQEAgLTM4MiwxMCArMzgyLDEwIEBAIHZvaWQgTG9jYWxlSUNVOjppbml0aWFsaXplRGF0
ZVRpbWVGb3JtYXQoKQogICAgIC8vIHdpdGggTERNTCwgYmVjYXVzZSBJQ1Ugc3BlY2lmaWMgcGF0
dGVybiBjaGFyYWN0ZXIgIlYiIGRvZXNuJ3QgYXBwZWFyCiAgICAgLy8gaW4gYm90aCBtZWRpdW0g
YW5kIHNob3J0IHRpbWUgcGF0dGVybi4KICAgICBtX21lZGl1bVRpbWVGb3JtYXQgPSBvcGVuRGF0
ZUZvcm1hdChVREFUX01FRElVTSwgVURBVF9OT05FKTsKLSAgICBtX2xvY2FsaXplZFRpbWVGb3Jt
YXRUZXh0ID0gZ2V0RGF0ZUZvcm1hdFBhdHRlcm4obV9tZWRpdW1UaW1lRm9ybWF0KTsKKyAgICBt
X3RpbWVGb3JtYXRXaXRoU2Vjb25kcyA9IGdldERhdGVGb3JtYXRQYXR0ZXJuKG1fbWVkaXVtVGlt
ZUZvcm1hdCk7CiAKICAgICBtX3Nob3J0VGltZUZvcm1hdCA9IG9wZW5EYXRlRm9ybWF0KFVEQVRf
U0hPUlQsIFVEQVRfTk9ORSk7Ci0gICAgbV9sb2NhbGl6ZWRTaG9ydFRpbWVGb3JtYXRUZXh0ID0g
Z2V0RGF0ZUZvcm1hdFBhdHRlcm4obV9zaG9ydFRpbWVGb3JtYXQpOworICAgIG1fdGltZUZvcm1h
dFdpdGhvdXRTZWNvbmRzID0gZ2V0RGF0ZUZvcm1hdFBhdHRlcm4obV9zaG9ydFRpbWVGb3JtYXQp
OwogCiAgICAgT3duUHRyPFZlY3RvcjxTdHJpbmc+ID4gdGltZUFNUE1MYWJlbHMgPSBjcmVhdGVM
YWJlbFZlY3RvcihtX21lZGl1bVRpbWVGb3JtYXQsIFVEQVRfQU1fUE1TLCBVQ0FMX0FNLCAyKTsK
ICAgICBpZiAoIXRpbWVBTVBNTGFiZWxzKQpAQCAtMzk3LDcgKzM5Nyw3IEBAIHZvaWQgTG9jYWxl
SUNVOjppbml0aWFsaXplRGF0ZVRpbWVGb3JtYXQoKQogCiBTdHJpbmcgTG9jYWxlSUNVOjpkYXRl
Rm9ybWF0KCkKIHsKLSAgICBpZiAoIW1fZGF0ZUZvcm1hdC5pc0VtcHR5KCkpCisgICAgaWYgKCFt
X2RhdGVGb3JtYXQuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBtX2RhdGVGb3JtYXQ7CiAgICAg
aWYgKCFpbml0aWFsaXplU2hvcnREYXRlRm9ybWF0KCkpCiAgICAgICAgIHJldHVybiBBU0NJSUxp
dGVyYWwoImRkL01NL3l5eXkiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvTG9jYWxlSUNVLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZUlD
VS5oCmluZGV4IGVlODBjYmZkY2UzMTYwMjBjYTQ4YTAzM2M2MWIzNTYxMTRkNzhkOWEuLmI1NTg1
M2QxNzE1MWUwYTVjODIzOWNhMDU0ZmQ3MmFkMDM0ZWJmYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9Mb2NhbGVJQ1UuaApAQCAtMTE0LDYgKzExNCw4IEBAIHByaXZhdGU6CiAjaWYg
RU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKICAgICBTdHJpbmcgbV9kYXRlRm9ybWF0
OwogICAgIFN0cmluZyBtX21vbnRoRm9ybWF0OworICAgIFN0cmluZyBtX3RpbWVGb3JtYXRXaXRo
U2Vjb25kczsKKyAgICBTdHJpbmcgbV90aW1lRm9ybWF0V2l0aG91dFNlY29uZHM7CiAgICAgVURh
dGVGb3JtYXQqIG1fbWVkaXVtVGltZUZvcm1hdDsKICAgICBVRGF0ZUZvcm1hdCogbV9zaG9ydFRp
bWVGb3JtYXQ7CiAgICAgVmVjdG9yPFN0cmluZz4gbV9zaG9ydE1vbnRoTGFiZWxzOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVOb25lLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlTm9uZS5jcHAKaW5kZXggNjExNzM4MDZlOTFh
Y2I1YzhjYjAzZDM3N2Q2Y2YwY2VkODNhMWMxMC4uODIxNzJiMjQ1YWFiNTQwZWJkNjE5NTY1ZGU0
ZmNiNzUyYjYxMDc5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9M
b2NhbGVOb25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZU5v
bmUuY3BwCkBAIC00NywxMCArNDcsMTQgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoSU5QVVRfTVVM
VElQTEVfRklFTERTX1VJKQogICAgIHZpcnR1YWwgU3RyaW5nIGRhdGVGb3JtYXQoKSBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIFN0cmluZyBtb250aEZvcm1hdCgpIE9WRVJSSURFOworICAgIHZpcnR1
YWwgU3RyaW5nIHRpbWVGb3JtYXQoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFN0cmluZyBzaG9y
dFRpbWVGb3JtYXQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiBzaG9ydE1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8
U3RyaW5nPiYgc3RhbmRBbG9uZU1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBj
b25zdCBWZWN0b3I8U3RyaW5nPiYgc2hvcnRTdGFuZEFsb25lTW9udGhMYWJlbHMoKSBPVkVSUklE
RTsKKyAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB0aW1lQU1QTUxhYmVscygpIE9W
RVJSSURFOwogCisgICAgVmVjdG9yPFN0cmluZz4gbV90aW1lQU1QTUxhYmVsczsKICAgICBWZWN0
b3I8U3RyaW5nPiBtX3Nob3J0TW9udGhMYWJlbHM7CiAjZW5kaWYKICNpZiBFTkFCTEUoQ0FMRU5E
QVJfUElDS0VSKSB8fCBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQpAQCAtMTExLDYg
KzExNSwxNiBAQCBTdHJpbmcgTG9jYWxlTm9uZTo6bW9udGhGb3JtYXQoKQogICAgIHJldHVybiBB
U0NJSUxpdGVyYWwoInl5eXktTU0iKTsKIH0KIAorU3RyaW5nIExvY2FsZU5vbmU6OnRpbWVGb3Jt
YXQoKQoreworICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkhIOm1tOnNzIik7Cit9CisKK1N0cmlu
ZyBMb2NhbGVOb25lOjpzaG9ydFRpbWVGb3JtYXQoKQoreworICAgIHJldHVybiBBU0NJSUxpdGVy
YWwoIkhIOm1tIik7Cit9CisKIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBMb2NhbGVOb25lOjpzaG9y
dE1vbnRoTGFiZWxzKCkKIHsKICAgICBpZiAoIW1fc2hvcnRNb250aExhYmVscy5pc0VtcHR5KCkp
CkBAIC0xMzAsNiArMTQ0LDE3IEBAIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBMb2NhbGVOb25lOjpz
dGFuZEFsb25lTW9udGhMYWJlbHMoKQogewogICAgIHJldHVybiBtb250aExhYmVscygpOwogfQor
Citjb25zdCBWZWN0b3I8U3RyaW5nPiYgTG9jYWxlTm9uZTo6dGltZUFNUE1MYWJlbHMoKQorewor
ICAgIGlmICghbV90aW1lQU1QTUxhYmVscy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBtX3Rp
bWVBTVBNTGFiZWxzOworICAgIG1fdGltZUFNUE1MYWJlbHMucmVzZXJ2ZUNhcGFjaXR5KDIpOwor
ICAgIG1fdGltZUFNUE1MYWJlbHMuYXBwZW5kKCJBTSIpOworICAgIG1fdGltZUFNUE1MYWJlbHMu
YXBwZW5kKCJQTSIpOworICAgIHJldHVybiBtX3RpbWVBTVBNTGFiZWxzOworfQorCiAjZW5kaWYK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9Mb2NhbGVXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9M
b2NhbGVXaW4uY3BwCmluZGV4IGQ5MzlkODExZGU4MTkwNWYxNzI4Nzc1MjhmZDQxM2VlODBhNmEx
OTcuLjE2YzE3MjNiNTg2YTExMzMyMjM5YTEwOTE3ZTdlYzI5MWU5MzU2NjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlV2luLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5jcHAKQEAgLTY3Nyw3ICs2NzcsNyBAQCBz
dGF0aWMgU3RyaW5nIGNvbnZlcnRXaW5kb3dzVGltZUZvcm1hdFRvTERNTChjb25zdCBTdHJpbmcm
IHdpbmRvd3NUaW1lRm9ybWF0KQogCiBTdHJpbmcgTG9jYWxlV2luOjpkYXRlRm9ybWF0KCkKIHsK
LSAgICBpZiAoIW1fZGF0ZUZvcm1hdC5pc0VtcHR5KCkpCisgICAgaWYgKCFtX2RhdGVGb3JtYXQu
aXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBtX2RhdGVGb3JtYXQ7CiAgICAgZW5zdXJlU2hvcnRE
YXRlVG9rZW5zKCk7CiAgICAgbV9kYXRlRm9ybWF0ID0gY29udmVydFdpbmRvd3NEYXRlRm9ybWF0
VG9MRE1MKG1fc2hvcnREYXRlVG9rZW5zKTsKQEAgLTY5OSw4ICs2OTksOCBAQCBTdHJpbmcgTG9j
YWxlV2luOjptb250aEZvcm1hdCgpCiAKIFN0cmluZyBMb2NhbGVXaW46OnRpbWVGb3JtYXQoKQog
ewotICAgIGlmIChtX2xvY2FsaXplZFRpbWVGb3JtYXRUZXh0LmlzRW1wdHkoKSkKLSAgICAgICAg
bV9sb2NhbGl6ZWRUaW1lRm9ybWF0VGV4dCA9IGNvbnZlcnRXaW5kb3dzVGltZUZvcm1hdFRvTERN
TChnZXRMb2NhbGVJbmZvU3RyaW5nKExPQ0FMRV9TVElNRUZPUk1BVCkpOworICAgIGlmIChtX3Rp
bWVGb3JtYXRXaXRoU2Vjb25kcy5pc051bGwoKSkKKyAgICAgICAgbV90aW1lRm9ybWF0V2l0aFNl
Y29uZHMgPSBjb252ZXJ0V2luZG93c1RpbWVGb3JtYXRUb0xETUwoZ2V0TG9jYWxlSW5mb1N0cmlu
ZyhMT0NBTEVfU1RJTUVGT1JNQVQpKTsKICAgICByZXR1cm4gbV9sb2NhbGl6ZWRUaW1lRm9ybWF0
VGV4dDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2Nh
bGVXaW4uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlV2luLmgKaW5kZXgg
YzUxNzVkNWI5Y2E0OWI4MzEwOWMyZWRjNDZhMjEzNjA5ZTRiMWVlYy4uMjQyMmZiZjlmYTExZDJj
YWM3MTgyYTBkYTM4ZTdlZDBiOWViMmY0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9Mb2NhbGVXaW4uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L0xvY2FsZVdpbi5oCkBAIC0xMDQsNyArMTA0LDkgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoSU5Q
VVRfTVVMVElQTEVfRklFTERTX1VJKQogICAgIFN0cmluZyBtX2RhdGVGb3JtYXQ7CiAgICAgU3Ry
aW5nIG1fbW9udGhGb3JtYXQ7CisgICAgU3RyaW5nIG1fdGltZUZvcm1hdFdpdGhTZWNvbmRzOwog
ICAgIFN0cmluZyBtX3RpbWVGb3JtYXRXaXRob3V0U2Vjb25kczsKKyAgICBWZWN0b3I8U3RyaW5n
PiBtX3RpbWVBTVBNTGFiZWxzOwogI2VuZGlmCiAjaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikK
ICAgICBWZWN0b3I8U3RyaW5nPiBtX3dlZWtEYXlTaG9ydExhYmVsczsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvTG9jYWxpemVyLmNwcAppbmRleCA5YzcxMmIzMGM4ZmNkMzAwNmViYzVh
NmRkYzBkYjU5Yjk4YzgzOWQzLi43Y2M0MmYzYjhhMTA5NTU3YjQ1Y2I5MGVhODNiYTg2NzlkMjMz
ZGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZXIuY3BwCkBAIC0z
MTUsMjIgKzMxNSw2IEBAIFN0cmluZyBMb2NhbGl6ZXI6OmxvY2FsaXplZERlY2ltYWxTZXBhcmF0
b3IoKQogICAgIHJldHVybiBtX2RlY2ltYWxTeW1ib2xzW0RlY2ltYWxTZXBhcmF0b3JJbmRleF07
CiB9CiAKLVN0cmluZyBMb2NhbGl6ZXI6OnRpbWVGb3JtYXQoKQotewotICAgIGlmICghbV9sb2Nh
bGl6ZWRUaW1lRm9ybWF0VGV4dC5pc051bGwoKSkKLSAgICAgICAgcmV0dXJuIG1fbG9jYWxpemVk
VGltZUZvcm1hdFRleHQ7Ci0gICAgbV9sb2NhbGl6ZWRUaW1lRm9ybWF0VGV4dCA9ICJoaDptbTpz
cyI7Ci0gICAgcmV0dXJuIG1fbG9jYWxpemVkVGltZUZvcm1hdFRleHQ7Ci19Ci0KLVN0cmluZyBM
b2NhbGl6ZXI6OnNob3J0VGltZUZvcm1hdCgpCi17Ci0gICAgaWYgKCFtX2xvY2FsaXplZFNob3J0
VGltZUZvcm1hdFRleHQuaXNOdWxsKCkpCi0gICAgICAgIHJldHVybiBtX2xvY2FsaXplZFNob3J0
VGltZUZvcm1hdFRleHQ7Ci0gICAgbV9sb2NhbGl6ZWRUaW1lRm9ybWF0VGV4dCA9ICJoaDptbSI7
Ci0gICAgcmV0dXJuIG1fbG9jYWxpemVkU2hvcnRUaW1lRm9ybWF0VGV4dDsKLX0KLQogU3RyaW5n
IExvY2FsaXplcjo6ZGF0ZVRpbWVGb3JtYXRXaXRoU2Vjb25kcygpCiB7CiAgICAgaWYgKCFtX2Rh
dGVUaW1lRm9ybWF0V2l0aFNlY29uZHMuaXNOdWxsKCkpCkBAIC0zNTYsMTYgKzM0MCw2IEBAIFN0
cmluZyBMb2NhbGl6ZXI6OmRhdGVUaW1lRm9ybWF0V2l0aG91dFNlY29uZHMoKQogICAgIG1fZGF0
ZVRpbWVGb3JtYXRXaXRob3V0U2Vjb25kcyA9IGJ1aWxkZXIudG9TdHJpbmcoKTsKICAgICByZXR1
cm4gbV9kYXRlVGltZUZvcm1hdFdpdGhvdXRTZWNvbmRzOwogfQotCi1jb25zdCBWZWN0b3I8U3Ry
aW5nPiYgTG9jYWxpemVyOjp0aW1lQU1QTUxhYmVscygpCi17Ci0gICAgaWYgKCFtX3RpbWVBTVBN
TGFiZWxzLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIG1fdGltZUFNUE1MYWJlbHM7Ci0gICAg
bV90aW1lQU1QTUxhYmVscy5yZXNlcnZlQ2FwYWNpdHkoMik7Ci0gICAgbV90aW1lQU1QTUxhYmVs
cy5hcHBlbmQoIkFNIik7Ci0gICAgbV90aW1lQU1QTUxhYmVscy5hcHBlbmQoIlBNIik7Ci0gICAg
cmV0dXJuIG1fdGltZUFNUE1MYWJlbHM7Ci19CiAjZW5kaWYKIAogU3RyaW5nIExvY2FsaXplcjo6
Zm9ybWF0RGF0ZVRpbWUoY29uc3QgRGF0ZUNvbXBvbmVudHMmIGRhdGUsIEZvcm1hdFR5cGUgZm9y
bWF0VHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxp
emVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplci5oCmluZGV4IGI0
MjJmYWFiNzVlYThkZTE0NzIyYjNjZDA5OGFmNmRlZjE4MjFlN2IuLjUzNWYwMWYxYTcxNTI0MzBi
MmM3NmE1MTU3ZDMyZDkzMmEyYjAxZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvTG9jYWxpemVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9M
b2NhbGl6ZXIuaApAQCAtNjgsMTIgKzY4LDEyIEBAIHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIHRp
bWUgZm9ybWF0IGluIFVuaWNvZGUgVFIzNSBMRE1MWzFdIGNvbnRhaW5pbmcgaG91ciwgbWludXRl
LCBhbmQKICAgICAvLyBzZWNvbmQgd2l0aCBvcHRpb25hbCBwZXJpb2QoQU0vUE0pLCBlLmcuICJo
Om1tOnNzIGEiCiAgICAgLy8gWzFdIExETUwgaHR0cDovL3VuaWNvZGUub3JnL3JlcG9ydHMvdHIz
NS8jRGF0ZV9Gb3JtYXRfUGF0dGVybnMKLSAgICB2aXJ0dWFsIFN0cmluZyB0aW1lRm9ybWF0KCk7
CisgICAgdmlydHVhbCBTdHJpbmcgdGltZUZvcm1hdCgpID0gMDsKIAogICAgIC8vIFJldHVybnMg
dGltZSBmb3JtYXQgaW4gVW5pY29kZSBUUjM1IExETUwgY29udGFpbmluZyBob3VyLCBhbmQgbWlu
dXRlCiAgICAgLy8gd2l0aCBvcHRpb25hbCBwZXJpb2QoQU0vUE0pLCBlLmcuICJoOm1tIGEiCiAg
ICAgLy8gTm90ZTogU29tZSBwbGF0Zm9ybXMgcmV0dXJuIHNhbWUgdmFsdWUgYXMgdGltZUZvcm1h
dCgpLgotICAgIHZpcnR1YWwgU3RyaW5nIHNob3J0VGltZUZvcm1hdCgpOworICAgIHZpcnR1YWwg
U3RyaW5nIHNob3J0VGltZUZvcm1hdCgpID0gMDsKIAogICAgIC8vIFJldHVybnMgYSBkYXRlLXRp
bWUgZm9ybWF0IGluIFVuaWNvZGUgVFIzNSBMRE1MLiBJdCBzaG91bGQgaGF2ZSBhIHNlY29uZHMK
ICAgICAvLyBmaWVsZC4KQEAgLTk4LDcgKzk4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgY29u
c3QgVmVjdG9yPFN0cmluZz4mIHNob3J0U3RhbmRBbG9uZU1vbnRoTGFiZWxzKCkgPSAwOwogCiAg
ICAgLy8gUmV0dXJucyBsb2NhbGl6ZWQgcGVyaW9kIGZpZWxkKEFNL1BNKSBzdHJpbmdzLgotICAg
IHZpcnR1YWwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHRpbWVBTVBNTGFiZWxzKCk7CisgICAgdmly
dHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgdGltZUFNUE1MYWJlbHMoKSA9IDA7CiAjZW5kaWYK
IAogI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpIHx8IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9G
SUVMRFNfVUkpCkBAIC0xNTAsOSArMTUwLDYgQEAgcHJvdGVjdGVkOgogICAgIH07CiAKICNpZiBF
TkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQotICAgIFN0cmluZyBtX2xvY2FsaXplZFRp
bWVGb3JtYXRUZXh0OwotICAgIFN0cmluZyBtX2xvY2FsaXplZFNob3J0VGltZUZvcm1hdFRleHQ7
Ci0gICAgVmVjdG9yPFN0cmluZz4gbV90aW1lQU1QTUxhYmVsczsKICAgICBTdHJpbmcgbV9kYXRl
VGltZUZvcm1hdFdpdGhTZWNvbmRzOwogICAgIFN0cmluZyBtX2RhdGVUaW1lRm9ybWF0V2l0aG91
dFNlY29uZHM7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvbWFjL0xvY2FsZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9j
YWxlTWFjLmgKaW5kZXggYTdhNzJkYTJlNzBiMzhjNzRhYmJmYzlmZjZlN2NkYTk1NzQ5ZjBlMi4u
MzA3MmRkNTJjYzQ3YTNiMTllYzJhODlhZDBiZTRkYzQ1ZGJjYmU3MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLmgKQEAgLTkzLDggKzkzLDggQEAgcHJp
dmF0ZToKIAogICAgIFN0cmluZyBtX2RhdGVGb3JtYXQ7CiAgICAgU3RyaW5nIG1fbW9udGhGb3Jt
YXQ7Ci0gICAgU3RyaW5nIG1fbG9jYWxpemVkVGltZUZvcm1hdFRleHQ7Ci0gICAgU3RyaW5nIG1f
bG9jYWxpemVkU2hvcnRUaW1lRm9ybWF0VGV4dDsKKyAgICBTdHJpbmcgbV90aW1lRm9ybWF0V2l0
aFNlY29uZHM7CisgICAgU3RyaW5nIG1fdGltZUZvcm1hdFdpdGhvdXRTZWNvbmRzOwogICAgIFZl
Y3RvcjxTdHJpbmc+IG1fc2hvcnRNb250aExhYmVsczsKICAgICBWZWN0b3I8U3RyaW5nPiBtX3N0
YW5kQWxvbmVNb250aExhYmVsczsKICAgICBWZWN0b3I8U3RyaW5nPiBtX3Nob3J0U3RhbmRBbG9u
ZU1vbnRoTGFiZWxzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9t
YWMvTG9jYWxlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxl
TWFjLm1tCmluZGV4IGJiYzg2NTA3YTIyYjJiMmUxZGM4MGNlMjU3YTFmM2VkZThlMWQ4MDEuLmMw
YWY4NWRhNGQ5M2JiOGM2NGYxMmRlODdhMTM0ZGNiNmZmNzYzMjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMubW0KQEAgLTI2MiwxOCArMjYyLDE4IEBA
IFN0cmluZyBMb2NhbGVNYWM6Om1vbnRoRm9ybWF0KCkKIAogU3RyaW5nIExvY2FsZU1hYzo6dGlt
ZUZvcm1hdCgpCiB7Ci0gICAgaWYgKCFtX2xvY2FsaXplZFRpbWVGb3JtYXRUZXh0LmlzTnVsbCgp
KQotICAgICAgICByZXR1cm4gbV9sb2NhbGl6ZWRUaW1lRm9ybWF0VGV4dDsKLSAgICBtX2xvY2Fs
aXplZFRpbWVGb3JtYXRUZXh0ID0gW3RpbWVGb3JtYXR0ZXIoKS5nZXQoKSBkYXRlRm9ybWF0XTsK
LSAgICByZXR1cm4gbV9sb2NhbGl6ZWRUaW1lRm9ybWF0VGV4dDsKKyAgICBpZiAoIW1fdGltZUZv
cm1hdFdpdGhTZWNvbmRzLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gbV90aW1lRm9ybWF0V2l0
aFNlY29uZHM7CisgICAgbV90aW1lRm9ybWF0V2l0aFNlY29uZHMgPSBbdGltZUZvcm1hdHRlcigp
LmdldCgpIGRhdGVGb3JtYXRdOworICAgIHJldHVybiBtX3RpbWVGb3JtYXRXaXRoU2Vjb25kczsK
IH0KIAogU3RyaW5nIExvY2FsZU1hYzo6c2hvcnRUaW1lRm9ybWF0KCkKIHsKLSAgICBpZiAoIW1f
bG9jYWxpemVkU2hvcnRUaW1lRm9ybWF0VGV4dC5pc051bGwoKSkKLSAgICAgICAgcmV0dXJuIG1f
bG9jYWxpemVkU2hvcnRUaW1lRm9ybWF0VGV4dDsKLSAgICBtX2xvY2FsaXplZFNob3J0VGltZUZv
cm1hdFRleHQgPSBbc2hvcnRUaW1lRm9ybWF0dGVyKCkuZ2V0KCkgZGF0ZUZvcm1hdF07Ci0gICAg
cmV0dXJuIG1fbG9jYWxpemVkU2hvcnRUaW1lRm9ybWF0VGV4dDsKKyAgICBpZiAoIW1fdGltZUZv
cm1hdFdpdGhvdXRTZWNvbmRzLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gbV90aW1lRm9ybWF0
V2l0aG91dFNlY29uZHM7CisgICAgbV90aW1lRm9ybWF0V2l0aG91dFNlY29uZHMgPSBbc2hvcnRU
aW1lRm9ybWF0dGVyKCkuZ2V0KCkgZGF0ZUZvcm1hdF07CisgICAgcmV0dXJuIG1fdGltZUZvcm1h
dFdpdGhvdXRTZWNvbmRzOwogfQogCiBjb25zdCBWZWN0b3I8U3RyaW5nPiYgTG9jYWxlTWFjOjpz
aG9ydE1vbnRoTGFiZWxzKCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170863</attachid>
            <date>2012-10-26 03:05:04 -0700</date>
            <delta_ts>2012-10-26 06:28:09 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-100482-20121026190336.patch</filename>
            <type>text/plain</type>
            <size>13448</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWEyOTJiY2FlMGZjNmUw
MWY2YTgxMTNjOTg3MmIxMGRkYzQwNDQzOS4uMWQ4OTY4NzE3MWVhZDY0N2ZhZGI0MDdiOTNiNGU4
ZDg1NjI0MzFjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEyLTEwLTI3ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZWZhY3RvciBMb2NhbGl6
ZXItcmVsYXRlZCBjbGFzc2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAwNDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VudGFybyBIYXJhLgor
CisgICAgICAgIC0gTG9jYWxpemVyIGhhcyB1bnVzZWQgY29kZQorICAgICAgICAgTG9jYWxpemVy
IHNob3VsZCBoYXZlIGZ1bmN0aW9uIGltcGxlbWVudGF0aW9ucyBvbmx5IGlmIHRoZXkgYXJlIHVz
ZWQgaW4KKyAgICAgICAgIG11bHRpcGxlIHN1YmNsYXNzZXMuCisgICAgICAgIC0gU29tZSBMb2Nh
bGl6ZXIgc3ViY2xhc3NlcyBoaWRlIExvY2FsaXplciBkYXRhIG1lbWJlcnMKKyAgICAgICAgLSBT
aG91bGQgdXNlIFN0cmluZzo6aXNOdWxsIHRvIGNoZWNrIGluaXRpYWxpemF0aW9uLW9yLW5vdAor
CisgICAgICAgIE5vIG5ldyB0ZXN0cy4gVGhpcyBzaG91bGQgbm90IGNoYW5nZSBhbnkgYmVoYXZp
b3IuCisKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2FsaXplci5oOgorICAgICAgICAoTG9j
YWxpemVyKToKKyAgICAgICAgLSB0aW1lRm9ybWF0LCBzaG9ydFRpbWVGb3JtYXQsIGFuZCB0aW1l
QU1QTUxhYmVscyBzaG91bGQgYmUgcHVyZSB2aXJ0dWFsLgorICAgICAgICAtIFJlbW92ZSBtX2xv
Y2FsaXplZERhdGVGb3JtYXRUZXh0LCBtX2xvY2FsaXplZFNob3J0VGltZUZvcm1hdFRleHQsIGFu
ZAorICAgICAgICAgIG1fdGltZUFNUE1MYWJlbHMKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xv
Y2FsaXplci5jcHA6CisgICAgICAgIFJlbW92ZSBpbXBsZW1lbnRhdGlvbnMgb2YgdGltZUZvcm1h
dCwgc2hvcnRUaW1lRm9ybWF0LCBhbmQgdGltZUFNUE1MYWJlbHMuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS90ZXh0L0xvY2FsZUlDVS5oOgorICAgICAgICAoTG9jYWxlSUNVKTogSW50cm9kdWNlIG1f
dGltZUZvcm1hdFdpdGhTZWNvbmRzIGFuZCBtX3RpbWVGb3JtYXRXaXRob3V0U2Vjb25kcy4KKyAg
ICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpM
b2NhbGVJQ1U6OmluaXRpYWxpemVEYXRlVGltZUZvcm1hdCk6CisgICAgICAgIFVzZSBuZXcgZGF0
YSBtZW1iZXJzIGluc3RlYWQgb2YgTG9jYWxpemVyIGRhdGEgbWVtYmVycy4KKyAgICAgICAgKFdl
YkNvcmU6OkxvY2FsZUlDVTo6ZGF0ZUZvcm1hdCk6IFVzZSBpc051bGwuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS90ZXh0L0xvY2FsZU5vbmUuY3BwOgorICAgICAgICAoTG9jYWxlTm9uZSk6IEFkZCB0
aW1lRm9ybWF0LCBzaG9ydFRpbWVGb3JtYXQsIHRpbWVBTVBNTGFiZWxzCisgICAgICAgIGltcGxl
bWVudGF0aW9ucywgYW5kIG1fdGltZUFNUE1MYWJlbHMuCisgICAgICAgIChXZWJDb3JlOjpMb2Nh
bGVOb25lOjp0aW1lRm9ybWF0KTogUmV0dXJucyB0aGUgSFRNTCB0aW1lIGZvcm1hdC4KKyAgICAg
ICAgKFdlYkNvcmU6OkxvY2FsZU5vbmU6OnNob3J0VGltZUZvcm1hdCk6IFJldHVybnMgdGhlIEhU
TUwgdGltZSBmb3JtYXQuCisgICAgICAgIChXZWJDb3JlOjpMb2NhbGVOb25lOjp0aW1lQU1QTUxh
YmVscyk6IFJldHVybnMgIkFNIiBhbmQgIlBNIi4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQv
TG9jYWxlV2luLmg6CisgICAgICAgIChMb2NhbGVXaW4pOiBBZGQgbV90aW1lRm9ybWF0V2l0aFNl
Y29uZHMuCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TG9jYWxlV2luOjpkYXRlRm9ybWF0KTogVXNlIGlzTnVsbC4KKyAgICAgICAgKFdl
YkNvcmU6OkxvY2FsZVdpbjo6dGltZUZvcm1hdCk6IFVzZSBtX3RpbWVGb3JtYXRXaXRoU2Vjb25k
cy4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5oOgorICAgICAgICAo
TG9jYWxlTWFjKTogUmVuYW1lIG1fbG9jYWxpemVkKlRpbWVGb3JtYXRUZXh0IHRvIG1fdGltZUZv
cm1hdFdpdGgqU2Vjb25kcy4KKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMu
bW06CisgICAgICAgIChXZWJDb3JlOjpMb2NhbGVNYWM6OnRpbWVGb3JtYXQpOiBGb2xsb3cgdGhl
IHJlbmFtaW5nLgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxlTWFjOjpzaG9ydFRpbWVGb3JtYXQp
OiBEaXR0by4KKwogMjAxMi0xMC0yNiAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBSZWZhY3RvciBjYWxlbmRhciBwaWNrZXIgdG8gcmVtb3ZlIF94L195IGZy
b20gRGF5c1RhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xv
Y2FsZUlDVS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5jcHAK
aW5kZXggNWJjZjRkZDcyMDkzYTU1YTA4YTE2OWRkNjRjNGZhMDliOTk2NGJjNy4uODk5ZmJlNTQz
ODQzNWUzZGM2NmQ3MjU4YzgxNWE4YWY5NTZhMzU3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvTG9jYWxlSUNVLmNwcApAQCAtMzgyLDEwICszODIsMTAgQEAgdm9pZCBMb2NhbGVJ
Q1U6OmluaXRpYWxpemVEYXRlVGltZUZvcm1hdCgpCiAgICAgLy8gd2l0aCBMRE1MLCBiZWNhdXNl
IElDVSBzcGVjaWZpYyBwYXR0ZXJuIGNoYXJhY3RlciAiViIgZG9lc24ndCBhcHBlYXIKICAgICAv
LyBpbiBib3RoIG1lZGl1bSBhbmQgc2hvcnQgdGltZSBwYXR0ZXJuLgogICAgIG1fbWVkaXVtVGlt
ZUZvcm1hdCA9IG9wZW5EYXRlRm9ybWF0KFVEQVRfTUVESVVNLCBVREFUX05PTkUpOwotICAgIG1f
bG9jYWxpemVkVGltZUZvcm1hdFRleHQgPSBnZXREYXRlRm9ybWF0UGF0dGVybihtX21lZGl1bVRp
bWVGb3JtYXQpOworICAgIG1fdGltZUZvcm1hdFdpdGhTZWNvbmRzID0gZ2V0RGF0ZUZvcm1hdFBh
dHRlcm4obV9tZWRpdW1UaW1lRm9ybWF0KTsKIAogICAgIG1fc2hvcnRUaW1lRm9ybWF0ID0gb3Bl
bkRhdGVGb3JtYXQoVURBVF9TSE9SVCwgVURBVF9OT05FKTsKLSAgICBtX2xvY2FsaXplZFNob3J0
VGltZUZvcm1hdFRleHQgPSBnZXREYXRlRm9ybWF0UGF0dGVybihtX3Nob3J0VGltZUZvcm1hdCk7
CisgICAgbV90aW1lRm9ybWF0V2l0aG91dFNlY29uZHMgPSBnZXREYXRlRm9ybWF0UGF0dGVybiht
X3Nob3J0VGltZUZvcm1hdCk7CiAKICAgICBPd25QdHI8VmVjdG9yPFN0cmluZz4gPiB0aW1lQU1Q
TUxhYmVscyA9IGNyZWF0ZUxhYmVsVmVjdG9yKG1fbWVkaXVtVGltZUZvcm1hdCwgVURBVF9BTV9Q
TVMsIFVDQUxfQU0sIDIpOwogICAgIGlmICghdGltZUFNUE1MYWJlbHMpCkBAIC0zOTcsNyArMzk3
LDcgQEAgdm9pZCBMb2NhbGVJQ1U6OmluaXRpYWxpemVEYXRlVGltZUZvcm1hdCgpCiAKIFN0cmlu
ZyBMb2NhbGVJQ1U6OmRhdGVGb3JtYXQoKQogewotICAgIGlmICghbV9kYXRlRm9ybWF0LmlzRW1w
dHkoKSkKKyAgICBpZiAoIW1fZGF0ZUZvcm1hdC5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIG1f
ZGF0ZUZvcm1hdDsKICAgICBpZiAoIWluaXRpYWxpemVTaG9ydERhdGVGb3JtYXQoKSkKICAgICAg
ICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiZGQvTU0veXl5eSIpOwpAQCAtNDM4LDEzICs0MzgsMTMg
QEAgU3RyaW5nIExvY2FsZUlDVTo6bW9udGhGb3JtYXQoKQogU3RyaW5nIExvY2FsZUlDVTo6dGlt
ZUZvcm1hdCgpCiB7CiAgICAgaW5pdGlhbGl6ZURhdGVUaW1lRm9ybWF0KCk7Ci0gICAgcmV0dXJu
IG1fbG9jYWxpemVkVGltZUZvcm1hdFRleHQ7CisgICAgcmV0dXJuIG1fdGltZUZvcm1hdFdpdGhT
ZWNvbmRzCiB9CiAKIFN0cmluZyBMb2NhbGVJQ1U6OnNob3J0VGltZUZvcm1hdCgpCiB7CiAgICAg
aW5pdGlhbGl6ZURhdGVUaW1lRm9ybWF0KCk7Ci0gICAgcmV0dXJuIG1fbG9jYWxpemVkU2hvcnRU
aW1lRm9ybWF0VGV4dDsKKyAgICByZXR1cm4gbV90aW1lRm9ybWF0V2l0aG91dFNlY29uZHM7CiB9
CiAKIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBMb2NhbGVJQ1U6OnNob3J0TW9udGhMYWJlbHMoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmgKaW5kZXggZWU4MGNiZmRjZTMx
NjAyMGNhNDhhMDMzYzYxYjM1NjExNGQ3OGQ5YS4uYjU1ODUzZDE3MTUxZTBhNWM4MjM5Y2EwNTRm
ZDcyYWQwMzRlYmZjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9M
b2NhbGVJQ1UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5o
CkBAIC0xMTQsNiArMTE0LDggQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVf
RklFTERTX1VJKQogICAgIFN0cmluZyBtX2RhdGVGb3JtYXQ7CiAgICAgU3RyaW5nIG1fbW9udGhG
b3JtYXQ7CisgICAgU3RyaW5nIG1fdGltZUZvcm1hdFdpdGhTZWNvbmRzOworICAgIFN0cmluZyBt
X3RpbWVGb3JtYXRXaXRob3V0U2Vjb25kczsKICAgICBVRGF0ZUZvcm1hdCogbV9tZWRpdW1UaW1l
Rm9ybWF0OwogICAgIFVEYXRlRm9ybWF0KiBtX3Nob3J0VGltZUZvcm1hdDsKICAgICBWZWN0b3I8
U3RyaW5nPiBtX3Nob3J0TW9udGhMYWJlbHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L0xvY2FsZU5vbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC9Mb2NhbGVOb25lLmNwcAppbmRleCA2MTE3MzgwNmU5MWFjYjVjOGNiMDNkMzc3ZDZjZjBjZWQ4
M2ExYzEwLi44MjE3MmIyNDVhYWI1NDBlYmQ2MTk1NjVkZTRmY2I3NTJiNjEwNzk4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZU5vbmUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlTm9uZS5jcHAKQEAgLTQ3LDEwICs0Nywx
NCBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAgICAg
dmlydHVhbCBTdHJpbmcgZGF0ZUZvcm1hdCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5n
IG1vbnRoRm9ybWF0KCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBTdHJpbmcgdGltZUZvcm1hdCgp
IE9WRVJSSURFOworICAgIHZpcnR1YWwgU3RyaW5nIHNob3J0VGltZUZvcm1hdCgpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHNob3J0TW9udGhMYWJlbHMoKSBP
VkVSUklERTsKICAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzdGFuZEFsb25lTW9u
dGhMYWJlbHMoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBz
aG9ydFN0YW5kQWxvbmVNb250aExhYmVscygpIE9WRVJSSURFOworICAgIHZpcnR1YWwgY29uc3Qg
VmVjdG9yPFN0cmluZz4mIHRpbWVBTVBNTGFiZWxzKCkgT1ZFUlJJREU7CiAKKyAgICBWZWN0b3I8
U3RyaW5nPiBtX3RpbWVBTVBNTGFiZWxzOwogICAgIFZlY3RvcjxTdHJpbmc+IG1fc2hvcnRNb250
aExhYmVsczsKICNlbmRpZgogI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpIHx8IEVOQUJMRShJ
TlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCkBAIC0xMTEsNiArMTE1LDE2IEBAIFN0cmluZyBMb2Nh
bGVOb25lOjptb250aEZvcm1hdCgpCiAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgieXl5eS1NTSIp
OwogfQogCitTdHJpbmcgTG9jYWxlTm9uZTo6dGltZUZvcm1hdCgpCit7CisgICAgcmV0dXJuIEFT
Q0lJTGl0ZXJhbCgiSEg6bW06c3MiKTsKK30KKworU3RyaW5nIExvY2FsZU5vbmU6OnNob3J0VGlt
ZUZvcm1hdCgpCit7CisgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiSEg6bW0iKTsKK30KKwogY29u
c3QgVmVjdG9yPFN0cmluZz4mIExvY2FsZU5vbmU6OnNob3J0TW9udGhMYWJlbHMoKQogewogICAg
IGlmICghbV9zaG9ydE1vbnRoTGFiZWxzLmlzRW1wdHkoKSkKQEAgLTEzMCw2ICsxNDQsMTcgQEAg
Y29uc3QgVmVjdG9yPFN0cmluZz4mIExvY2FsZU5vbmU6OnN0YW5kQWxvbmVNb250aExhYmVscygp
CiB7CiAgICAgcmV0dXJuIG1vbnRoTGFiZWxzKCk7CiB9CisKK2NvbnN0IFZlY3RvcjxTdHJpbmc+
JiBMb2NhbGVOb25lOjp0aW1lQU1QTUxhYmVscygpCit7CisgICAgaWYgKCFtX3RpbWVBTVBNTGFi
ZWxzLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIG1fdGltZUFNUE1MYWJlbHM7CisgICAgbV90
aW1lQU1QTUxhYmVscy5yZXNlcnZlQ2FwYWNpdHkoMik7CisgICAgbV90aW1lQU1QTUxhYmVscy5h
cHBlbmQoIkFNIik7CisgICAgbV90aW1lQU1QTUxhYmVscy5hcHBlbmQoIlBNIik7CisgICAgcmV0
dXJuIG1fdGltZUFNUE1MYWJlbHM7Cit9CisKICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5jcHAKaW5kZXggZDkz
OWQ4MTFkZTgxOTA1ZjE3Mjg3NzUyOGZkNDEzZWU4MGE2YTE5Ny4uMTZjMTcyM2I1ODZhMTEzMzIy
MzlhMTA5MTdlN2VjMjkxZTkzNTY2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9Mb2NhbGVXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
TG9jYWxlV2luLmNwcApAQCAtNjc3LDcgKzY3Nyw3IEBAIHN0YXRpYyBTdHJpbmcgY29udmVydFdp
bmRvd3NUaW1lRm9ybWF0VG9MRE1MKGNvbnN0IFN0cmluZyYgd2luZG93c1RpbWVGb3JtYXQpCiAK
IFN0cmluZyBMb2NhbGVXaW46OmRhdGVGb3JtYXQoKQogewotICAgIGlmICghbV9kYXRlRm9ybWF0
LmlzRW1wdHkoKSkKKyAgICBpZiAoIW1fZGF0ZUZvcm1hdC5pc051bGwoKSkKICAgICAgICAgcmV0
dXJuIG1fZGF0ZUZvcm1hdDsKICAgICBlbnN1cmVTaG9ydERhdGVUb2tlbnMoKTsKICAgICBtX2Rh
dGVGb3JtYXQgPSBjb252ZXJ0V2luZG93c0RhdGVGb3JtYXRUb0xETUwobV9zaG9ydERhdGVUb2tl
bnMpOwpAQCAtNjk5LDggKzY5OSw4IEBAIFN0cmluZyBMb2NhbGVXaW46Om1vbnRoRm9ybWF0KCkK
IAogU3RyaW5nIExvY2FsZVdpbjo6dGltZUZvcm1hdCgpCiB7Ci0gICAgaWYgKG1fbG9jYWxpemVk
VGltZUZvcm1hdFRleHQuaXNFbXB0eSgpKQotICAgICAgICBtX2xvY2FsaXplZFRpbWVGb3JtYXRU
ZXh0ID0gY29udmVydFdpbmRvd3NUaW1lRm9ybWF0VG9MRE1MKGdldExvY2FsZUluZm9TdHJpbmco
TE9DQUxFX1NUSU1FRk9STUFUKSk7CisgICAgaWYgKG1fdGltZUZvcm1hdFdpdGhTZWNvbmRzLmlz
TnVsbCgpKQorICAgICAgICBtX3RpbWVGb3JtYXRXaXRoU2Vjb25kcyA9IGNvbnZlcnRXaW5kb3dz
VGltZUZvcm1hdFRvTERNTChnZXRMb2NhbGVJbmZvU3RyaW5nKExPQ0FMRV9TVElNRUZPUk1BVCkp
OwogICAgIHJldHVybiBtX2xvY2FsaXplZFRpbWVGb3JtYXRUZXh0OwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uaAppbmRleCBjNTE3NWQ1YjljYTQ5YjgzMTA5YzJl
ZGM0NmEyMTM2MDllNGIxZWVjLi4yNDIyZmJmOWZhMTFkMmNhYzcxODJhMGRhMzhlN2VkMGI5ZWIy
ZjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlV2luLmgKQEAgLTEwNCw3
ICsxMDQsOSBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkp
CiAgICAgU3RyaW5nIG1fZGF0ZUZvcm1hdDsKICAgICBTdHJpbmcgbV9tb250aEZvcm1hdDsKKyAg
ICBTdHJpbmcgbV90aW1lRm9ybWF0V2l0aFNlY29uZHM7CiAgICAgU3RyaW5nIG1fdGltZUZvcm1h
dFdpdGhvdXRTZWNvbmRzOworICAgIFZlY3RvcjxTdHJpbmc+IG1fdGltZUFNUE1MYWJlbHM7CiAj
ZW5kaWYKICNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQogICAgIFZlY3RvcjxTdHJpbmc+IG1f
d2Vla0RheVNob3J0TGFiZWxzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9Mb2NhbGl6ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6
ZXIuY3BwCmluZGV4IDljNzEyYjMwYzhmY2QzMDA2ZWJjNWE2ZGRjMGRiNTliOThjODM5ZDMuLjdj
YzQyZjNiOGExMDk1NTdiNDVjYjkwZWE4M2JhODY3OWQyMzNkYzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplci5jcHAKQEAgLTMxNSwyMiArMzE1LDYgQEAgU3RyaW5n
IExvY2FsaXplcjo6bG9jYWxpemVkRGVjaW1hbFNlcGFyYXRvcigpCiAgICAgcmV0dXJuIG1fZGVj
aW1hbFN5bWJvbHNbRGVjaW1hbFNlcGFyYXRvckluZGV4XTsKIH0KIAotU3RyaW5nIExvY2FsaXpl
cjo6dGltZUZvcm1hdCgpCi17Ci0gICAgaWYgKCFtX2xvY2FsaXplZFRpbWVGb3JtYXRUZXh0Lmlz
TnVsbCgpKQotICAgICAgICByZXR1cm4gbV9sb2NhbGl6ZWRUaW1lRm9ybWF0VGV4dDsKLSAgICBt
X2xvY2FsaXplZFRpbWVGb3JtYXRUZXh0ID0gImhoOm1tOnNzIjsKLSAgICByZXR1cm4gbV9sb2Nh
bGl6ZWRUaW1lRm9ybWF0VGV4dDsKLX0KLQotU3RyaW5nIExvY2FsaXplcjo6c2hvcnRUaW1lRm9y
bWF0KCkKLXsKLSAgICBpZiAoIW1fbG9jYWxpemVkU2hvcnRUaW1lRm9ybWF0VGV4dC5pc051bGwo
KSkKLSAgICAgICAgcmV0dXJuIG1fbG9jYWxpemVkU2hvcnRUaW1lRm9ybWF0VGV4dDsKLSAgICBt
X2xvY2FsaXplZFRpbWVGb3JtYXRUZXh0ID0gImhoOm1tIjsKLSAgICByZXR1cm4gbV9sb2NhbGl6
ZWRTaG9ydFRpbWVGb3JtYXRUZXh0OwotfQotCiBTdHJpbmcgTG9jYWxpemVyOjpkYXRlVGltZUZv
cm1hdFdpdGhTZWNvbmRzKCkKIHsKICAgICBpZiAoIW1fZGF0ZVRpbWVGb3JtYXRXaXRoU2Vjb25k
cy5pc051bGwoKSkKQEAgLTM1NiwxNiArMzQwLDYgQEAgU3RyaW5nIExvY2FsaXplcjo6ZGF0ZVRp
bWVGb3JtYXRXaXRob3V0U2Vjb25kcygpCiAgICAgbV9kYXRlVGltZUZvcm1hdFdpdGhvdXRTZWNv
bmRzID0gYnVpbGRlci50b1N0cmluZygpOwogICAgIHJldHVybiBtX2RhdGVUaW1lRm9ybWF0V2l0
aG91dFNlY29uZHM7CiB9Ci0KLWNvbnN0IFZlY3RvcjxTdHJpbmc+JiBMb2NhbGl6ZXI6OnRpbWVB
TVBNTGFiZWxzKCkKLXsKLSAgICBpZiAoIW1fdGltZUFNUE1MYWJlbHMuaXNFbXB0eSgpKQotICAg
ICAgICByZXR1cm4gbV90aW1lQU1QTUxhYmVsczsKLSAgICBtX3RpbWVBTVBNTGFiZWxzLnJlc2Vy
dmVDYXBhY2l0eSgyKTsKLSAgICBtX3RpbWVBTVBNTGFiZWxzLmFwcGVuZCgiQU0iKTsKLSAgICBt
X3RpbWVBTVBNTGFiZWxzLmFwcGVuZCgiUE0iKTsKLSAgICByZXR1cm4gbV90aW1lQU1QTUxhYmVs
czsKLX0KICNlbmRpZgogCiBTdHJpbmcgTG9jYWxpemVyOjpmb3JtYXREYXRlVGltZShjb25zdCBE
YXRlQ29tcG9uZW50cyYgZGF0ZSwgRm9ybWF0VHlwZSBmb3JtYXRUeXBlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvTG9jYWxpemVyLmgKaW5kZXggYjQyMmZhYWI3NWVhOGRlMTQ3MjJiM2Nk
MDk4YWY2ZGVmMTgyMWU3Yi4uNTM1ZjAxZjFhNzE1MjQzMGIyYzc2YTUxNTdkMzJkOTMyYTJiMDFl
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplci5oCkBAIC02OCwxMiAr
NjgsMTIgQEAgcHVibGljOgogICAgIC8vIFJldHVybnMgdGltZSBmb3JtYXQgaW4gVW5pY29kZSBU
UjM1IExETUxbMV0gY29udGFpbmluZyBob3VyLCBtaW51dGUsIGFuZAogICAgIC8vIHNlY29uZCB3
aXRoIG9wdGlvbmFsIHBlcmlvZChBTS9QTSksIGUuZy4gImg6bW06c3MgYSIKICAgICAvLyBbMV0g
TERNTCBodHRwOi8vdW5pY29kZS5vcmcvcmVwb3J0cy90cjM1LyNEYXRlX0Zvcm1hdF9QYXR0ZXJu
cwotICAgIHZpcnR1YWwgU3RyaW5nIHRpbWVGb3JtYXQoKTsKKyAgICB2aXJ0dWFsIFN0cmluZyB0
aW1lRm9ybWF0KCkgPSAwOwogCiAgICAgLy8gUmV0dXJucyB0aW1lIGZvcm1hdCBpbiBVbmljb2Rl
IFRSMzUgTERNTCBjb250YWluaW5nIGhvdXIsIGFuZCBtaW51dGUKICAgICAvLyB3aXRoIG9wdGlv
bmFsIHBlcmlvZChBTS9QTSksIGUuZy4gImg6bW0gYSIKICAgICAvLyBOb3RlOiBTb21lIHBsYXRm
b3JtcyByZXR1cm4gc2FtZSB2YWx1ZSBhcyB0aW1lRm9ybWF0KCkuCi0gICAgdmlydHVhbCBTdHJp
bmcgc2hvcnRUaW1lRm9ybWF0KCk7CisgICAgdmlydHVhbCBTdHJpbmcgc2hvcnRUaW1lRm9ybWF0
KCkgPSAwOwogCiAgICAgLy8gUmV0dXJucyBhIGRhdGUtdGltZSBmb3JtYXQgaW4gVW5pY29kZSBU
UjM1IExETUwuIEl0IHNob3VsZCBoYXZlIGEgc2Vjb25kcwogICAgIC8vIGZpZWxkLgpAQCAtOTgs
NyArOTgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2hv
cnRTdGFuZEFsb25lTW9udGhMYWJlbHMoKSA9IDA7CiAKICAgICAvLyBSZXR1cm5zIGxvY2FsaXpl
ZCBwZXJpb2QgZmllbGQoQU0vUE0pIHN0cmluZ3MuCi0gICAgdmlydHVhbCBjb25zdCBWZWN0b3I8
U3RyaW5nPiYgdGltZUFNUE1MYWJlbHMoKTsKKyAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiB0aW1lQU1QTUxhYmVscygpID0gMDsKICNlbmRpZgogCiAjaWYgRU5BQkxFKENBTEVOREFS
X1BJQ0tFUikgfHwgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKQEAgLTE1MCw5ICsx
NTAsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgfTsKIAogI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9G
SUVMRFNfVUkpCi0gICAgU3RyaW5nIG1fbG9jYWxpemVkVGltZUZvcm1hdFRleHQ7Ci0gICAgU3Ry
aW5nIG1fbG9jYWxpemVkU2hvcnRUaW1lRm9ybWF0VGV4dDsKLSAgICBWZWN0b3I8U3RyaW5nPiBt
X3RpbWVBTVBNTGFiZWxzOwogICAgIFN0cmluZyBtX2RhdGVUaW1lRm9ybWF0V2l0aFNlY29uZHM7
CiAgICAgU3RyaW5nIG1fZGF0ZVRpbWVGb3JtYXRXaXRob3V0U2Vjb25kczsKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMuaAppbmRleCBhN2E3MmRh
MmU3MGIzOGM3NGFiYmZjOWZmNmU3Y2RhOTU3NDlmMGUyLi4zMDcyZGQ1MmNjNDdhM2IxOWVjMmE4
OWFkMGJlNGRjNDVkYmNiZTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L21hYy9Mb2NhbGVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21h
Yy9Mb2NhbGVNYWMuaApAQCAtOTMsOCArOTMsOCBAQCBwcml2YXRlOgogCiAgICAgU3RyaW5nIG1f
ZGF0ZUZvcm1hdDsKICAgICBTdHJpbmcgbV9tb250aEZvcm1hdDsKLSAgICBTdHJpbmcgbV9sb2Nh
bGl6ZWRUaW1lRm9ybWF0VGV4dDsKLSAgICBTdHJpbmcgbV9sb2NhbGl6ZWRTaG9ydFRpbWVGb3Jt
YXRUZXh0OworICAgIFN0cmluZyBtX3RpbWVGb3JtYXRXaXRoU2Vjb25kczsKKyAgICBTdHJpbmcg
bV90aW1lRm9ybWF0V2l0aG91dFNlY29uZHM7CiAgICAgVmVjdG9yPFN0cmluZz4gbV9zaG9ydE1v
bnRoTGFiZWxzOwogICAgIFZlY3RvcjxTdHJpbmc+IG1fc3RhbmRBbG9uZU1vbnRoTGFiZWxzOwog
ICAgIFZlY3RvcjxTdHJpbmc+IG1fc2hvcnRTdGFuZEFsb25lTW9udGhMYWJlbHM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMubW0KaW5kZXggYmJjODY1MDdh
MjJiMmIyZTFkYzgwY2UyNTdhMWYzZWRlOGUxZDgwMS4uYzBhZjg1ZGE0ZDkzYmI4YzY0ZjEyZGU4
N2ExMzRkY2I2ZmY3NjMyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC9tYWMvTG9jYWxlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFj
L0xvY2FsZU1hYy5tbQpAQCAtMjYyLDE4ICsyNjIsMTggQEAgU3RyaW5nIExvY2FsZU1hYzo6bW9u
dGhGb3JtYXQoKQogCiBTdHJpbmcgTG9jYWxlTWFjOjp0aW1lRm9ybWF0KCkKIHsKLSAgICBpZiAo
IW1fbG9jYWxpemVkVGltZUZvcm1hdFRleHQuaXNOdWxsKCkpCi0gICAgICAgIHJldHVybiBtX2xv
Y2FsaXplZFRpbWVGb3JtYXRUZXh0OwotICAgIG1fbG9jYWxpemVkVGltZUZvcm1hdFRleHQgPSBb
dGltZUZvcm1hdHRlcigpLmdldCgpIGRhdGVGb3JtYXRdOwotICAgIHJldHVybiBtX2xvY2FsaXpl
ZFRpbWVGb3JtYXRUZXh0OworICAgIGlmICghbV90aW1lRm9ybWF0V2l0aFNlY29uZHMuaXNOdWxs
KCkpCisgICAgICAgIHJldHVybiBtX3RpbWVGb3JtYXRXaXRoU2Vjb25kczsKKyAgICBtX3RpbWVG
b3JtYXRXaXRoU2Vjb25kcyA9IFt0aW1lRm9ybWF0dGVyKCkuZ2V0KCkgZGF0ZUZvcm1hdF07Cisg
ICAgcmV0dXJuIG1fdGltZUZvcm1hdFdpdGhTZWNvbmRzOwogfQogCiBTdHJpbmcgTG9jYWxlTWFj
OjpzaG9ydFRpbWVGb3JtYXQoKQogewotICAgIGlmICghbV9sb2NhbGl6ZWRTaG9ydFRpbWVGb3Jt
YXRUZXh0LmlzTnVsbCgpKQotICAgICAgICByZXR1cm4gbV9sb2NhbGl6ZWRTaG9ydFRpbWVGb3Jt
YXRUZXh0OwotICAgIG1fbG9jYWxpemVkU2hvcnRUaW1lRm9ybWF0VGV4dCA9IFtzaG9ydFRpbWVG
b3JtYXR0ZXIoKS5nZXQoKSBkYXRlRm9ybWF0XTsKLSAgICByZXR1cm4gbV9sb2NhbGl6ZWRTaG9y
dFRpbWVGb3JtYXRUZXh0OworICAgIGlmICghbV90aW1lRm9ybWF0V2l0aG91dFNlY29uZHMuaXNO
dWxsKCkpCisgICAgICAgIHJldHVybiBtX3RpbWVGb3JtYXRXaXRob3V0U2Vjb25kczsKKyAgICBt
X3RpbWVGb3JtYXRXaXRob3V0U2Vjb25kcyA9IFtzaG9ydFRpbWVGb3JtYXR0ZXIoKS5nZXQoKSBk
YXRlRm9ybWF0XTsKKyAgICByZXR1cm4gbV90aW1lRm9ybWF0V2l0aG91dFNlY29uZHM7CiB9CiAK
IGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBMb2NhbGVNYWM6OnNob3J0TW9udGhMYWJlbHMoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170909</attachid>
            <date>2012-10-26 06:28:13 -0700</date>
            <delta_ts>2012-10-26 07:23:07 -0700</delta_ts>
            <desc>Patch for landing 2</desc>
            <filename>bug-100482-20121026222644.patch</filename>
            <type>text/plain</type>
            <size>13484</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNjM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjY0MjJiMjY1MmZjNWEx
MTBmNzcwMWRhYzA3ZjRhYzMwMzE1NjdlZC4uZDU0N2M5NDkxZDkwZmRlOTQ4NGUwYzc5YTI4YWNj
MGE4OTczYTE3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEyLTEwLTI2ICBLZW50
IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZWZhY3RvciBMb2NhbGl6
ZXItcmVsYXRlZCBjbGFzc2VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAwNDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VudGFybyBIYXJhLgor
CisgICAgICAgIC0gTG9jYWxpemVyIGhhcyB1bnVzZWQgY29kZQorICAgICAgICAgTG9jYWxpemVy
IHNob3VsZCBoYXZlIGZ1bmN0aW9uIGltcGxlbWVudGF0aW9ucyBvbmx5IGlmIHRoZXkgYXJlIHVz
ZWQgaW4KKyAgICAgICAgIG11bHRpcGxlIHN1YmNsYXNzZXMuCisgICAgICAgIC0gU29tZSBMb2Nh
bGl6ZXIgc3ViY2xhc3NlcyBoaWRlIExvY2FsaXplciBkYXRhIG1lbWJlcnMKKyAgICAgICAgLSBT
aG91bGQgdXNlIFN0cmluZzo6aXNOdWxsIHRvIGNoZWNrIGluaXRpYWxpemF0aW9uLW9yLW5vdAor
CisgICAgICAgIE5vIG5ldyB0ZXN0cy4gVGhpcyBzaG91bGQgbm90IGNoYW5nZSBhbnkgYmVoYXZp
b3IuCisKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2FsaXplci5oOgorICAgICAgICAoTG9j
YWxpemVyKToKKyAgICAgICAgLSB0aW1lRm9ybWF0LCBzaG9ydFRpbWVGb3JtYXQsIGFuZCB0aW1l
QU1QTUxhYmVscyBzaG91bGQgYmUgcHVyZSB2aXJ0dWFsLgorICAgICAgICAtIFJlbW92ZSBtX2xv
Y2FsaXplZERhdGVGb3JtYXRUZXh0LCBtX2xvY2FsaXplZFNob3J0VGltZUZvcm1hdFRleHQsIGFu
ZAorICAgICAgICAgIG1fdGltZUFNUE1MYWJlbHMKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xv
Y2FsaXplci5jcHA6CisgICAgICAgIFJlbW92ZSBpbXBsZW1lbnRhdGlvbnMgb2YgdGltZUZvcm1h
dCwgc2hvcnRUaW1lRm9ybWF0LCBhbmQgdGltZUFNUE1MYWJlbHMuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS90ZXh0L0xvY2FsZUlDVS5oOgorICAgICAgICAoTG9jYWxlSUNVKTogSW50cm9kdWNlIG1f
dGltZUZvcm1hdFdpdGhTZWNvbmRzIGFuZCBtX3RpbWVGb3JtYXRXaXRob3V0U2Vjb25kcy4KKyAg
ICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpM
b2NhbGVJQ1U6OmluaXRpYWxpemVEYXRlVGltZUZvcm1hdCk6CisgICAgICAgIFVzZSBuZXcgZGF0
YSBtZW1iZXJzIGluc3RlYWQgb2YgTG9jYWxpemVyIGRhdGEgbWVtYmVycy4KKyAgICAgICAgKFdl
YkNvcmU6OkxvY2FsZUlDVTo6ZGF0ZUZvcm1hdCk6IFVzZSBpc051bGwuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS90ZXh0L0xvY2FsZU5vbmUuY3BwOgorICAgICAgICAoTG9jYWxlTm9uZSk6IEFkZCB0
aW1lRm9ybWF0LCBzaG9ydFRpbWVGb3JtYXQsIHRpbWVBTVBNTGFiZWxzCisgICAgICAgIGltcGxl
bWVudGF0aW9ucywgYW5kIG1fdGltZUFNUE1MYWJlbHMuCisgICAgICAgIChXZWJDb3JlOjpMb2Nh
bGVOb25lOjp0aW1lRm9ybWF0KTogUmV0dXJucyB0aGUgSFRNTCB0aW1lIGZvcm1hdC4KKyAgICAg
ICAgKFdlYkNvcmU6OkxvY2FsZU5vbmU6OnNob3J0VGltZUZvcm1hdCk6IFJldHVybnMgdGhlIEhU
TUwgdGltZSBmb3JtYXQuCisgICAgICAgIChXZWJDb3JlOjpMb2NhbGVOb25lOjp0aW1lQU1QTUxh
YmVscyk6IFJldHVybnMgIkFNIiBhbmQgIlBNIi4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQv
TG9jYWxlV2luLmg6CisgICAgICAgIChMb2NhbGVXaW4pOiBBZGQgbV90aW1lRm9ybWF0V2l0aFNl
Y29uZHMuCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TG9jYWxlV2luOjpkYXRlRm9ybWF0KTogVXNlIGlzTnVsbC4KKyAgICAgICAgKFdl
YkNvcmU6OkxvY2FsZVdpbjo6dGltZUZvcm1hdCk6IFVzZSBtX3RpbWVGb3JtYXRXaXRoU2Vjb25k
cy4KKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5oOgorICAgICAgICAo
TG9jYWxlTWFjKTogUmVuYW1lIG1fbG9jYWxpemVkKlRpbWVGb3JtYXRUZXh0IHRvIG1fdGltZUZv
cm1hdFdpdGgqU2Vjb25kcy4KKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMu
bW06CisgICAgICAgIChXZWJDb3JlOjpMb2NhbGVNYWM6OnRpbWVGb3JtYXQpOiBGb2xsb3cgdGhl
IHJlbmFtaW5nLgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxlTWFjOjpzaG9ydFRpbWVGb3JtYXQp
OiBEaXR0by4KKwogMjAxMi0xMC0yNiAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBk
aWdpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCB0cml2aWFsIGJ1aWxkIGZpeDogSXQncyBn
bFhHZXRDdXJyZW50Q29udGV4dCBub3QgZ2x4R2V0Q3VycmVudENvbnRleHQgOikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmNwcAppbmRleCA1YmNmNGRkNzIwOTNhNTVh
MDhhMTY5ZGQ2NGM0ZmEwOWI5OTY0YmM3Li5lNTE0YzkxOGM0YjdiN2JlMTA1ZDhhOWMzZmU1OTdh
MDA4NDgyMTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2Fs
ZUlDVS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3Bw
CkBAIC0zODIsMTAgKzM4MiwxMCBAQCB2b2lkIExvY2FsZUlDVTo6aW5pdGlhbGl6ZURhdGVUaW1l
Rm9ybWF0KCkKICAgICAvLyB3aXRoIExETUwsIGJlY2F1c2UgSUNVIHNwZWNpZmljIHBhdHRlcm4g
Y2hhcmFjdGVyICJWIiBkb2Vzbid0IGFwcGVhcgogICAgIC8vIGluIGJvdGggbWVkaXVtIGFuZCBz
aG9ydCB0aW1lIHBhdHRlcm4uCiAgICAgbV9tZWRpdW1UaW1lRm9ybWF0ID0gb3BlbkRhdGVGb3Jt
YXQoVURBVF9NRURJVU0sIFVEQVRfTk9ORSk7Ci0gICAgbV9sb2NhbGl6ZWRUaW1lRm9ybWF0VGV4
dCA9IGdldERhdGVGb3JtYXRQYXR0ZXJuKG1fbWVkaXVtVGltZUZvcm1hdCk7CisgICAgbV90aW1l
Rm9ybWF0V2l0aFNlY29uZHMgPSBnZXREYXRlRm9ybWF0UGF0dGVybihtX21lZGl1bVRpbWVGb3Jt
YXQpOwogCiAgICAgbV9zaG9ydFRpbWVGb3JtYXQgPSBvcGVuRGF0ZUZvcm1hdChVREFUX1NIT1JU
LCBVREFUX05PTkUpOwotICAgIG1fbG9jYWxpemVkU2hvcnRUaW1lRm9ybWF0VGV4dCA9IGdldERh
dGVGb3JtYXRQYXR0ZXJuKG1fc2hvcnRUaW1lRm9ybWF0KTsKKyAgICBtX3RpbWVGb3JtYXRXaXRo
b3V0U2Vjb25kcyA9IGdldERhdGVGb3JtYXRQYXR0ZXJuKG1fc2hvcnRUaW1lRm9ybWF0KTsKIAog
ICAgIE93blB0cjxWZWN0b3I8U3RyaW5nPiA+IHRpbWVBTVBNTGFiZWxzID0gY3JlYXRlTGFiZWxW
ZWN0b3IobV9tZWRpdW1UaW1lRm9ybWF0LCBVREFUX0FNX1BNUywgVUNBTF9BTSwgMik7CiAgICAg
aWYgKCF0aW1lQU1QTUxhYmVscykKQEAgLTM5Nyw3ICszOTcsNyBAQCB2b2lkIExvY2FsZUlDVTo6
aW5pdGlhbGl6ZURhdGVUaW1lRm9ybWF0KCkKIAogU3RyaW5nIExvY2FsZUlDVTo6ZGF0ZUZvcm1h
dCgpCiB7Ci0gICAgaWYgKCFtX2RhdGVGb3JtYXQuaXNFbXB0eSgpKQorICAgIGlmICghbV9kYXRl
Rm9ybWF0LmlzTnVsbCgpKQogICAgICAgICByZXR1cm4gbV9kYXRlRm9ybWF0OwogICAgIGlmICgh
aW5pdGlhbGl6ZVNob3J0RGF0ZUZvcm1hdCgpKQogICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFs
KCJkZC9NTS95eXl5Iik7CkBAIC00MzgsMTMgKzQzOCwxMyBAQCBTdHJpbmcgTG9jYWxlSUNVOjpt
b250aEZvcm1hdCgpCiBTdHJpbmcgTG9jYWxlSUNVOjp0aW1lRm9ybWF0KCkKIHsKICAgICBpbml0
aWFsaXplRGF0ZVRpbWVGb3JtYXQoKTsKLSAgICByZXR1cm4gbV9sb2NhbGl6ZWRUaW1lRm9ybWF0
VGV4dDsKKyAgICByZXR1cm4gbV90aW1lRm9ybWF0V2l0aFNlY29uZHM7CiB9CiAKIFN0cmluZyBM
b2NhbGVJQ1U6OnNob3J0VGltZUZvcm1hdCgpCiB7CiAgICAgaW5pdGlhbGl6ZURhdGVUaW1lRm9y
bWF0KCk7Ci0gICAgcmV0dXJuIG1fbG9jYWxpemVkU2hvcnRUaW1lRm9ybWF0VGV4dDsKKyAgICBy
ZXR1cm4gbV90aW1lRm9ybWF0V2l0aG91dFNlY29uZHM7CiB9CiAKIGNvbnN0IFZlY3RvcjxTdHJp
bmc+JiBMb2NhbGVJQ1U6OnNob3J0TW9udGhMYWJlbHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvTG9jYWxlSUNVLmgKaW5kZXggZWU4MGNiZmRjZTMxNjAyMGNhNDhhMDMzYzYxYjM1NjEx
NGQ3OGQ5YS4uYjU1ODUzZDE3MTUxZTBhNWM4MjM5Y2EwNTRmZDcyYWQwMzRlYmZjMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5oCkBAIC0xMTQsNiArMTE0LDggQEAg
cHJpdmF0ZToKICNpZiBFTkFCTEUoSU5QVVRfTVVMVElQTEVfRklFTERTX1VJKQogICAgIFN0cmlu
ZyBtX2RhdGVGb3JtYXQ7CiAgICAgU3RyaW5nIG1fbW9udGhGb3JtYXQ7CisgICAgU3RyaW5nIG1f
dGltZUZvcm1hdFdpdGhTZWNvbmRzOworICAgIFN0cmluZyBtX3RpbWVGb3JtYXRXaXRob3V0U2Vj
b25kczsKICAgICBVRGF0ZUZvcm1hdCogbV9tZWRpdW1UaW1lRm9ybWF0OwogICAgIFVEYXRlRm9y
bWF0KiBtX3Nob3J0VGltZUZvcm1hdDsKICAgICBWZWN0b3I8U3RyaW5nPiBtX3Nob3J0TW9udGhM
YWJlbHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZU5v
bmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVOb25lLmNwcAppbmRl
eCA2MTE3MzgwNmU5MWFjYjVjOGNiMDNkMzc3ZDZjZjBjZWQ4M2ExYzEwLi44MjE3MmIyNDVhYWI1
NDBlYmQ2MTk1NjVkZTRmY2I3NTJiNjEwNzk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L0xvY2FsZU5vbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvTG9jYWxlTm9uZS5jcHAKQEAgLTQ3LDEwICs0NywxNCBAQCBwcml2YXRlOgogI2lmIEVO
QUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAgICAgdmlydHVhbCBTdHJpbmcgZGF0ZUZv
cm1hdCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgU3RyaW5nIG1vbnRoRm9ybWF0KCkgT1ZFUlJJ
REU7CisgICAgdmlydHVhbCBTdHJpbmcgdGltZUZvcm1hdCgpIE9WRVJSSURFOworICAgIHZpcnR1
YWwgU3RyaW5nIHNob3J0VGltZUZvcm1hdCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgY29uc3Qg
VmVjdG9yPFN0cmluZz4mIHNob3J0TW9udGhMYWJlbHMoKSBPVkVSUklERTsKICAgICB2aXJ0dWFs
IGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzdGFuZEFsb25lTW9udGhMYWJlbHMoKSBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzaG9ydFN0YW5kQWxvbmVNb250aExh
YmVscygpIE9WRVJSSURFOworICAgIHZpcnR1YWwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHRpbWVB
TVBNTGFiZWxzKCkgT1ZFUlJJREU7CiAKKyAgICBWZWN0b3I8U3RyaW5nPiBtX3RpbWVBTVBNTGFi
ZWxzOwogICAgIFZlY3RvcjxTdHJpbmc+IG1fc2hvcnRNb250aExhYmVsczsKICNlbmRpZgogI2lm
IEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpIHx8IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNf
VUkpCkBAIC0xMTEsNiArMTE1LDE2IEBAIFN0cmluZyBMb2NhbGVOb25lOjptb250aEZvcm1hdCgp
CiAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgieXl5eS1NTSIpOwogfQogCitTdHJpbmcgTG9jYWxl
Tm9uZTo6dGltZUZvcm1hdCgpCit7CisgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiSEg6bW06c3Mi
KTsKK30KKworU3RyaW5nIExvY2FsZU5vbmU6OnNob3J0VGltZUZvcm1hdCgpCit7CisgICAgcmV0
dXJuIEFTQ0lJTGl0ZXJhbCgiSEg6bW0iKTsKK30KKwogY29uc3QgVmVjdG9yPFN0cmluZz4mIExv
Y2FsZU5vbmU6OnNob3J0TW9udGhMYWJlbHMoKQogewogICAgIGlmICghbV9zaG9ydE1vbnRoTGFi
ZWxzLmlzRW1wdHkoKSkKQEAgLTEzMCw2ICsxNDQsMTcgQEAgY29uc3QgVmVjdG9yPFN0cmluZz4m
IExvY2FsZU5vbmU6OnN0YW5kQWxvbmVNb250aExhYmVscygpCiB7CiAgICAgcmV0dXJuIG1vbnRo
TGFiZWxzKCk7CiB9CisKK2NvbnN0IFZlY3RvcjxTdHJpbmc+JiBMb2NhbGVOb25lOjp0aW1lQU1Q
TUxhYmVscygpCit7CisgICAgaWYgKCFtX3RpbWVBTVBNTGFiZWxzLmlzRW1wdHkoKSkKKyAgICAg
ICAgcmV0dXJuIG1fdGltZUFNUE1MYWJlbHM7CisgICAgbV90aW1lQU1QTUxhYmVscy5yZXNlcnZl
Q2FwYWNpdHkoMik7CisgICAgbV90aW1lQU1QTUxhYmVscy5hcHBlbmQoIkFNIik7CisgICAgbV90
aW1lQU1QTUxhYmVscy5hcHBlbmQoIlBNIik7CisgICAgcmV0dXJuIG1fdGltZUFNUE1MYWJlbHM7
Cit9CisKICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5jcHAKaW5kZXggZDkzOWQ4MTFkZTgxOTA1ZjE3Mjg3NzUy
OGZkNDEzZWU4MGE2YTE5Ny4uMTZjMTcyM2I1ODZhMTEzMzIyMzlhMTA5MTdlN2VjMjkxZTkzNTY2
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlV2luLmNwcApAQCAtNjc3
LDcgKzY3Nyw3IEBAIHN0YXRpYyBTdHJpbmcgY29udmVydFdpbmRvd3NUaW1lRm9ybWF0VG9MRE1M
KGNvbnN0IFN0cmluZyYgd2luZG93c1RpbWVGb3JtYXQpCiAKIFN0cmluZyBMb2NhbGVXaW46OmRh
dGVGb3JtYXQoKQogewotICAgIGlmICghbV9kYXRlRm9ybWF0LmlzRW1wdHkoKSkKKyAgICBpZiAo
IW1fZGF0ZUZvcm1hdC5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIG1fZGF0ZUZvcm1hdDsKICAg
ICBlbnN1cmVTaG9ydERhdGVUb2tlbnMoKTsKICAgICBtX2RhdGVGb3JtYXQgPSBjb252ZXJ0V2lu
ZG93c0RhdGVGb3JtYXRUb0xETUwobV9zaG9ydERhdGVUb2tlbnMpOwpAQCAtNjk5LDggKzY5OSw4
IEBAIFN0cmluZyBMb2NhbGVXaW46Om1vbnRoRm9ybWF0KCkKIAogU3RyaW5nIExvY2FsZVdpbjo6
dGltZUZvcm1hdCgpCiB7Ci0gICAgaWYgKG1fbG9jYWxpemVkVGltZUZvcm1hdFRleHQuaXNFbXB0
eSgpKQotICAgICAgICBtX2xvY2FsaXplZFRpbWVGb3JtYXRUZXh0ID0gY29udmVydFdpbmRvd3NU
aW1lRm9ybWF0VG9MRE1MKGdldExvY2FsZUluZm9TdHJpbmcoTE9DQUxFX1NUSU1FRk9STUFUKSk7
CisgICAgaWYgKG1fdGltZUZvcm1hdFdpdGhTZWNvbmRzLmlzTnVsbCgpKQorICAgICAgICBtX3Rp
bWVGb3JtYXRXaXRoU2Vjb25kcyA9IGNvbnZlcnRXaW5kb3dzVGltZUZvcm1hdFRvTERNTChnZXRM
b2NhbGVJbmZvU3RyaW5nKExPQ0FMRV9TVElNRUZPUk1BVCkpOwogICAgIHJldHVybiBtX2xvY2Fs
aXplZFRpbWVGb3JtYXRUZXh0OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L0xvY2FsZVdpbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2Nh
bGVXaW4uaAppbmRleCBjNTE3NWQ1YjljYTQ5YjgzMTA5YzJlZGM0NmEyMTM2MDllNGIxZWVjLi4y
NDIyZmJmOWZhMTFkMmNhYzcxODJhMGRhMzhlN2VkMGI5ZWIyZjQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvTG9jYWxlV2luLmgKQEAgLTEwNCw3ICsxMDQsOSBAQCBwcml2YXRlOgog
I2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiAgICAgU3RyaW5nIG1fZGF0ZUZv
cm1hdDsKICAgICBTdHJpbmcgbV9tb250aEZvcm1hdDsKKyAgICBTdHJpbmcgbV90aW1lRm9ybWF0
V2l0aFNlY29uZHM7CiAgICAgU3RyaW5nIG1fdGltZUZvcm1hdFdpdGhvdXRTZWNvbmRzOworICAg
IFZlY3RvcjxTdHJpbmc+IG1fdGltZUFNUE1MYWJlbHM7CiAjZW5kaWYKICNpZiBFTkFCTEUoQ0FM
RU5EQVJfUElDS0VSKQogICAgIFZlY3RvcjxTdHJpbmc+IG1fd2Vla0RheVNob3J0TGFiZWxzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZXIuY3BwCmluZGV4IDljNzEyYjMw
YzhmY2QzMDA2ZWJjNWE2ZGRjMGRiNTliOThjODM5ZDMuLjdjYzQyZjNiOGExMDk1NTdiNDVjYjkw
ZWE4M2JhODY3OWQyMzNkYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvTG9jYWxpemVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2Fs
aXplci5jcHAKQEAgLTMxNSwyMiArMzE1LDYgQEAgU3RyaW5nIExvY2FsaXplcjo6bG9jYWxpemVk
RGVjaW1hbFNlcGFyYXRvcigpCiAgICAgcmV0dXJuIG1fZGVjaW1hbFN5bWJvbHNbRGVjaW1hbFNl
cGFyYXRvckluZGV4XTsKIH0KIAotU3RyaW5nIExvY2FsaXplcjo6dGltZUZvcm1hdCgpCi17Ci0g
ICAgaWYgKCFtX2xvY2FsaXplZFRpbWVGb3JtYXRUZXh0LmlzTnVsbCgpKQotICAgICAgICByZXR1
cm4gbV9sb2NhbGl6ZWRUaW1lRm9ybWF0VGV4dDsKLSAgICBtX2xvY2FsaXplZFRpbWVGb3JtYXRU
ZXh0ID0gImhoOm1tOnNzIjsKLSAgICByZXR1cm4gbV9sb2NhbGl6ZWRUaW1lRm9ybWF0VGV4dDsK
LX0KLQotU3RyaW5nIExvY2FsaXplcjo6c2hvcnRUaW1lRm9ybWF0KCkKLXsKLSAgICBpZiAoIW1f
bG9jYWxpemVkU2hvcnRUaW1lRm9ybWF0VGV4dC5pc051bGwoKSkKLSAgICAgICAgcmV0dXJuIG1f
bG9jYWxpemVkU2hvcnRUaW1lRm9ybWF0VGV4dDsKLSAgICBtX2xvY2FsaXplZFRpbWVGb3JtYXRU
ZXh0ID0gImhoOm1tIjsKLSAgICByZXR1cm4gbV9sb2NhbGl6ZWRTaG9ydFRpbWVGb3JtYXRUZXh0
OwotfQotCiBTdHJpbmcgTG9jYWxpemVyOjpkYXRlVGltZUZvcm1hdFdpdGhTZWNvbmRzKCkKIHsK
ICAgICBpZiAoIW1fZGF0ZVRpbWVGb3JtYXRXaXRoU2Vjb25kcy5pc051bGwoKSkKQEAgLTM1Niwx
NiArMzQwLDYgQEAgU3RyaW5nIExvY2FsaXplcjo6ZGF0ZVRpbWVGb3JtYXRXaXRob3V0U2Vjb25k
cygpCiAgICAgbV9kYXRlVGltZUZvcm1hdFdpdGhvdXRTZWNvbmRzID0gYnVpbGRlci50b1N0cmlu
ZygpOwogICAgIHJldHVybiBtX2RhdGVUaW1lRm9ybWF0V2l0aG91dFNlY29uZHM7CiB9Ci0KLWNv
bnN0IFZlY3RvcjxTdHJpbmc+JiBMb2NhbGl6ZXI6OnRpbWVBTVBNTGFiZWxzKCkKLXsKLSAgICBp
ZiAoIW1fdGltZUFNUE1MYWJlbHMuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gbV90aW1lQU1Q
TUxhYmVsczsKLSAgICBtX3RpbWVBTVBNTGFiZWxzLnJlc2VydmVDYXBhY2l0eSgyKTsKLSAgICBt
X3RpbWVBTVBNTGFiZWxzLmFwcGVuZCgiQU0iKTsKLSAgICBtX3RpbWVBTVBNTGFiZWxzLmFwcGVu
ZCgiUE0iKTsKLSAgICByZXR1cm4gbV90aW1lQU1QTUxhYmVsczsKLX0KICNlbmRpZgogCiBTdHJp
bmcgTG9jYWxpemVyOjpmb3JtYXREYXRlVGltZShjb25zdCBEYXRlQ29tcG9uZW50cyYgZGF0ZSwg
Rm9ybWF0VHlwZSBmb3JtYXRUeXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9Mb2NhbGl6ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxp
emVyLmgKaW5kZXggYjQyMmZhYWI3NWVhOGRlMTQ3MjJiM2NkMDk4YWY2ZGVmMTgyMWU3Yi4uNTM1
ZjAxZjFhNzE1MjQzMGIyYzc2YTUxNTdkMzJkOTMyYTJiMDFlYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L0xvY2FsaXplci5oCkBAIC02OCwxMiArNjgsMTIgQEAgcHVibGljOgogICAg
IC8vIFJldHVybnMgdGltZSBmb3JtYXQgaW4gVW5pY29kZSBUUjM1IExETUxbMV0gY29udGFpbmlu
ZyBob3VyLCBtaW51dGUsIGFuZAogICAgIC8vIHNlY29uZCB3aXRoIG9wdGlvbmFsIHBlcmlvZChB
TS9QTSksIGUuZy4gImg6bW06c3MgYSIKICAgICAvLyBbMV0gTERNTCBodHRwOi8vdW5pY29kZS5v
cmcvcmVwb3J0cy90cjM1LyNEYXRlX0Zvcm1hdF9QYXR0ZXJucwotICAgIHZpcnR1YWwgU3RyaW5n
IHRpbWVGb3JtYXQoKTsKKyAgICB2aXJ0dWFsIFN0cmluZyB0aW1lRm9ybWF0KCkgPSAwOwogCiAg
ICAgLy8gUmV0dXJucyB0aW1lIGZvcm1hdCBpbiBVbmljb2RlIFRSMzUgTERNTCBjb250YWluaW5n
IGhvdXIsIGFuZCBtaW51dGUKICAgICAvLyB3aXRoIG9wdGlvbmFsIHBlcmlvZChBTS9QTSksIGUu
Zy4gImg6bW0gYSIKICAgICAvLyBOb3RlOiBTb21lIHBsYXRmb3JtcyByZXR1cm4gc2FtZSB2YWx1
ZSBhcyB0aW1lRm9ybWF0KCkuCi0gICAgdmlydHVhbCBTdHJpbmcgc2hvcnRUaW1lRm9ybWF0KCk7
CisgICAgdmlydHVhbCBTdHJpbmcgc2hvcnRUaW1lRm9ybWF0KCkgPSAwOwogCiAgICAgLy8gUmV0
dXJucyBhIGRhdGUtdGltZSBmb3JtYXQgaW4gVW5pY29kZSBUUjM1IExETUwuIEl0IHNob3VsZCBo
YXZlIGEgc2Vjb25kcwogICAgIC8vIGZpZWxkLgpAQCAtOTgsNyArOTgsNyBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgc2hvcnRTdGFuZEFsb25lTW9udGhMYWJl
bHMoKSA9IDA7CiAKICAgICAvLyBSZXR1cm5zIGxvY2FsaXplZCBwZXJpb2QgZmllbGQoQU0vUE0p
IHN0cmluZ3MuCi0gICAgdmlydHVhbCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgdGltZUFNUE1MYWJl
bHMoKTsKKyAgICB2aXJ0dWFsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB0aW1lQU1QTUxhYmVscygp
ID0gMDsKICNlbmRpZgogCiAjaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikgfHwgRU5BQkxFKElO
UFVUX01VTFRJUExFX0ZJRUxEU19VSSkKQEAgLTE1MCw5ICsxNTAsNiBAQCBwcm90ZWN0ZWQ6CiAg
ICAgfTsKIAogI2lmIEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCi0gICAgU3RyaW5n
IG1fbG9jYWxpemVkVGltZUZvcm1hdFRleHQ7Ci0gICAgU3RyaW5nIG1fbG9jYWxpemVkU2hvcnRU
aW1lRm9ybWF0VGV4dDsKLSAgICBWZWN0b3I8U3RyaW5nPiBtX3RpbWVBTVBNTGFiZWxzOwogICAg
IFN0cmluZyBtX2RhdGVUaW1lRm9ybWF0V2l0aFNlY29uZHM7CiAgICAgU3RyaW5nIG1fZGF0ZVRp
bWVGb3JtYXRXaXRob3V0U2Vjb25kczsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L21hYy9Mb2NhbGVNYWMuaAppbmRleCBhN2E3MmRhMmU3MGIzOGM3NGFiYmZjOWZmNmU3
Y2RhOTU3NDlmMGUyLi4zMDcyZGQ1MmNjNDdhM2IxOWVjMmE4OWFkMGJlNGRjNDVkYmNiZTczIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMuaApAQCAtOTMs
OCArOTMsOCBAQCBwcml2YXRlOgogCiAgICAgU3RyaW5nIG1fZGF0ZUZvcm1hdDsKICAgICBTdHJp
bmcgbV9tb250aEZvcm1hdDsKLSAgICBTdHJpbmcgbV9sb2NhbGl6ZWRUaW1lRm9ybWF0VGV4dDsK
LSAgICBTdHJpbmcgbV9sb2NhbGl6ZWRTaG9ydFRpbWVGb3JtYXRUZXh0OworICAgIFN0cmluZyBt
X3RpbWVGb3JtYXRXaXRoU2Vjb25kczsKKyAgICBTdHJpbmcgbV90aW1lRm9ybWF0V2l0aG91dFNl
Y29uZHM7CiAgICAgVmVjdG9yPFN0cmluZz4gbV9zaG9ydE1vbnRoTGFiZWxzOwogICAgIFZlY3Rv
cjxTdHJpbmc+IG1fc3RhbmRBbG9uZU1vbnRoTGFiZWxzOwogICAgIFZlY3RvcjxTdHJpbmc+IG1f
c2hvcnRTdGFuZEFsb25lTW9udGhMYWJlbHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L21hYy9Mb2NhbGVNYWMubW0KaW5kZXggYmJjODY1MDdhMjJiMmIyZTFkYzgwY2UyNTdhMWYz
ZWRlOGUxZDgwMS4uYzBhZjg1ZGE0ZDkzYmI4YzY0ZjEyZGU4N2ExMzRkY2I2ZmY3NjMyNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5tbQpAQCAtMjYy
LDE4ICsyNjIsMTggQEAgU3RyaW5nIExvY2FsZU1hYzo6bW9udGhGb3JtYXQoKQogCiBTdHJpbmcg
TG9jYWxlTWFjOjp0aW1lRm9ybWF0KCkKIHsKLSAgICBpZiAoIW1fbG9jYWxpemVkVGltZUZvcm1h
dFRleHQuaXNOdWxsKCkpCi0gICAgICAgIHJldHVybiBtX2xvY2FsaXplZFRpbWVGb3JtYXRUZXh0
OwotICAgIG1fbG9jYWxpemVkVGltZUZvcm1hdFRleHQgPSBbdGltZUZvcm1hdHRlcigpLmdldCgp
IGRhdGVGb3JtYXRdOwotICAgIHJldHVybiBtX2xvY2FsaXplZFRpbWVGb3JtYXRUZXh0OworICAg
IGlmICghbV90aW1lRm9ybWF0V2l0aFNlY29uZHMuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBt
X3RpbWVGb3JtYXRXaXRoU2Vjb25kczsKKyAgICBtX3RpbWVGb3JtYXRXaXRoU2Vjb25kcyA9IFt0
aW1lRm9ybWF0dGVyKCkuZ2V0KCkgZGF0ZUZvcm1hdF07CisgICAgcmV0dXJuIG1fdGltZUZvcm1h
dFdpdGhTZWNvbmRzOwogfQogCiBTdHJpbmcgTG9jYWxlTWFjOjpzaG9ydFRpbWVGb3JtYXQoKQog
ewotICAgIGlmICghbV9sb2NhbGl6ZWRTaG9ydFRpbWVGb3JtYXRUZXh0LmlzTnVsbCgpKQotICAg
ICAgICByZXR1cm4gbV9sb2NhbGl6ZWRTaG9ydFRpbWVGb3JtYXRUZXh0OwotICAgIG1fbG9jYWxp
emVkU2hvcnRUaW1lRm9ybWF0VGV4dCA9IFtzaG9ydFRpbWVGb3JtYXR0ZXIoKS5nZXQoKSBkYXRl
Rm9ybWF0XTsKLSAgICByZXR1cm4gbV9sb2NhbGl6ZWRTaG9ydFRpbWVGb3JtYXRUZXh0OworICAg
IGlmICghbV90aW1lRm9ybWF0V2l0aG91dFNlY29uZHMuaXNOdWxsKCkpCisgICAgICAgIHJldHVy
biBtX3RpbWVGb3JtYXRXaXRob3V0U2Vjb25kczsKKyAgICBtX3RpbWVGb3JtYXRXaXRob3V0U2Vj
b25kcyA9IFtzaG9ydFRpbWVGb3JtYXR0ZXIoKS5nZXQoKSBkYXRlRm9ybWF0XTsKKyAgICByZXR1
cm4gbV90aW1lRm9ybWF0V2l0aG91dFNlY29uZHM7CiB9CiAKIGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiBMb2NhbGVNYWM6OnNob3J0TW9udGhMYWJlbHMoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>