<?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>87826</bug_id>
          
          <creation_ts>2012-05-29 23:37:58 -0700</creation_ts>
          <short_desc>File::lastModifiedDate should use NaN or separate boolean flag for null Date value</short_desc>
          <delta_ts>2012-06-13 23:26:37 -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>WebCore Misc.</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>88498</dependson>
    
    <dependson>88648</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kinuko Yasuda">kinuko</reporter>
          <assigned_to name="Kinuko Yasuda">kinuko</assigned_to>
          <cc>abarth</cc>
    
    <cc>danw</cc>
    
    <cc>darin</cc>
    
    <cc>gustavo</cc>
    
    <cc>jianli</cc>
    
    <cc>mitz</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ojan</cc>
    
    <cc>rakuco</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>636921</commentid>
    <comment_count>0</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-05-29 23:37:58 -0700</bug_when>
    <thetext>Currently we use the value 0 (in double) to indicate uninitialized or invalid Date value at several places, but this could be a valid date value as 0 epoch time (i.e. Jan 1 1970) and the binding code just returns Date(0) unless we use custom binding, while null should be returned instead.

We should probably use NaN instead 0 (which is automatically converted to Date null) to indicate uninitialized Date value, or should have some binding machinery support to return null.

This issue is separated from issue 87709.
https://bugs.webkit.org/show_bug.cgi?id=87709#c10

&quot;Seems like it would be better to use a separate boolean or a NaN to represent the fact that a date is not available rather than using the number 0.

Generally speaking, instead of a custom binding, I’d like to see our binding machinery support this ability to return null for a date, perhaps by having the date-returning internal DOM functions return a boolean and use an out argument for the date, or something else along those lines.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636996</commentid>
    <comment_count>1</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-30 01:07:14 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; Currently we use the value 0 (in double) to indicate uninitialized or invalid Date value at several places, but this could be a valid date value as 0 epoch time (i.e. Jan 1 1970) and the binding code just returns Date(0) unless we use custom binding, while null should be returned instead.
&gt; 
&gt; We should probably use NaN instead 0 (which is automatically converted to Date null) to indicate uninitialized Date value, or should have some binding machinery support to return null.

Our binding code already supports NaN -&gt; null Date mapping.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637002</commentid>
    <comment_count>2</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-30 01:12:57 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; (In reply to comment #0)
&gt; &gt; Currently we use the value 0 (in double) to indicate uninitialized or invalid Date value at several places, but this could be a valid date value as 0 epoch time (i.e. Jan 1 1970) and the binding code just returns Date(0) unless we use custom binding, while null should be returned instead.
&gt; &gt; 
&gt; &gt; We should probably use NaN instead 0 (which is automatically converted to Date null) to indicate uninitialized Date value, or should have some binding machinery support to return null.
&gt; 
&gt; Our binding code already supports NaN -&gt; null Date mapping.

Ah, you mean 0-&gt;null mapping?
I think we can use ImplementedAs to avoid custom binding code.

readonly attribute [ImplementedAs=lastModifiedDateForBinding] Date lastModifiedDate;

double lastModifiedDateForBinding()
{
    double value = lastModifiedDate();
    return !value ? std::numeric_limits:quiet_nan() : value;
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637004</commentid>
    <comment_count>3</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-05-30 01:15:50 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (In reply to comment #1)
&gt; &gt; (In reply to comment #0)
&gt; &gt; &gt; Currently we use the value 0 (in double) to indicate uninitialized or invalid Date value at several places, but this could be a valid date value as 0 epoch time (i.e. Jan 1 1970) and the binding code just returns Date(0) unless we use custom binding, while null should be returned instead.
&gt; &gt; &gt; 
&gt; &gt; &gt; We should probably use NaN instead 0 (which is automatically converted to Date null) to indicate uninitialized Date value, or should have some binding machinery support to return null.
&gt; &gt; 
&gt; &gt; Our binding code already supports NaN -&gt; null Date mapping.
&gt; 
&gt; Ah, you mean 0-&gt;null mapping?
&gt; I think we can use ImplementedAs to avoid custom binding code.
&gt; 
&gt; readonly attribute [ImplementedAs=lastModifiedDateForBinding] Date lastModifiedDate;
&gt; 
&gt; double lastModifiedDateForBinding()
&gt; {
&gt;     double value = lastModifiedDate();
&gt;     return !value ? std::numeric_limits:quiet_nan() : value;
&gt; }

Phew looks cool.  Let me try!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637176</commentid>
    <comment_count>4</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-05-30 07:02:43 -0700</bug_when>
    <thetext>Closing this as we could get rid of the custom binding for this (r118920)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637196</commentid>
    <comment_count>5</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-05-30 07:30:21 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Closing this as we could get rid of the custom binding for this (r118920)

However, we still have an issue that we can&apos;t represent Unix epoch with lastModifiedDate, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637211</commentid>
    <comment_count>6</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-05-30 07:46:58 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Closing this as we could get rid of the custom binding for this (r118920)
&gt; 
&gt; However, we still have an issue that we can&apos;t represent Unix epoch with lastModifiedDate, right?

Yes, though I wonder if it makes sense as file modification time... Well strictly speaking you&apos;re right as we can set such mtime by, say touch.   Ok I&apos;m reopening this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642344</commentid>
    <comment_count>7</comment_count>
      <attachid>145983</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-06-06 03:44:08 -0700</bug_when>
    <thetext>Created attachment 145983
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642348</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-06 03:49:17 -0700</bug_when>
    <thetext>Attachment 145983 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/platform/chromium/support/WebHTTPBody.cpp:34:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642351</commentid>
    <comment_count>9</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-06-06 03:53:50 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Attachment 145983 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
&gt; Source/WebCore/platform/chromium/support/WebHTTPBody.cpp:34:  Alphabetical sorting problem.  [build/include_order] [4]
&gt; Total errors found: 1 in 8 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against check-webkit-style.

Putting &lt;public/WebHTTPBody.h&gt; at the top of the headers seems to generate this warning.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642353</commentid>
    <comment_count>10</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-06-06 03:55:57 -0700</bug_when>
    <thetext>Chromium fix consists of multiple parts:
http://codereview.chromium.org/10447110/
http://codereview.chromium.org/10536025/

I hope other ports should be fine (watching EWS results).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643013</commentid>
    <comment_count>11</comment_count>
      <attachid>145983</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-06-06 17:42:46 -0700</bug_when>
    <thetext>Comment on attachment 145983
Patch

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

&gt; Source/WebCore/fileapi/File.cpp:42
&gt; +    return microsec * 1000.0;

It seems this can be infinity.  Is it ok?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643149</commentid>
    <comment_count>12</comment_count>
      <attachid>146186</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-06-06 21:00:12 -0700</bug_when>
    <thetext>Created attachment 146186
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643150</commentid>
    <comment_count>13</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-06-06 21:02:45 -0700</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=145983&amp;action=review

&gt;&gt; Source/WebCore/fileapi/File.cpp:42
&gt;&gt; +    return microsec * 1000.0;
&gt; 
&gt; It seems this can be infinity.  Is it ok?

infinity will be converted to null as well.

Actually I guess I didn&apos;t need this function at all. (Since nan/inf results in nan/inf whatever operation we apply)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643151</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-06 21:03:03 -0700</bug_when>
    <thetext>Attachment 146186 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/platform/chromium/support/WebHTTPBody.cpp:34:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643156</commentid>
    <comment_count>15</comment_count>
      <attachid>146186</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-06-06 21:13:33 -0700</bug_when>
    <thetext>Comment on attachment 146186
Patch

Looks ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643197</commentid>
    <comment_count>16</comment_count>
      <attachid>146186</attachid>
    <who name="">mitz</who>
    <bug_when>2012-06-06 21:50:13 -0700</bug_when>
    <thetext>Comment on attachment 146186
Patch

Looks like this was committed as http://trac.webkit.org/r119680 and broke the build due to adding this global initializer:

const double invalidTime = std::numeric_limits&lt;double&gt;::quiet_NaN();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643199</commentid>
    <comment_count>17</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-06-06 21:51:42 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (From update of attachment 146186 [details])
&gt; Looks like this was committed as http://trac.webkit.org/r119680 and broke the build due to adding this global initializer:
&gt; 
&gt; const double invalidTime = std::numeric_limits&lt;double&gt;::quiet_NaN();

See &lt;http://build.webkit.org/builders/Lion%20Release%20%28Build%29/builds/10376/steps/compile-webkit/logs/stdio/text&gt; for example.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643203</commentid>
    <comment_count>18</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-06-06 21:55:20 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #16)
&gt; &gt; (From update of attachment 146186 [details] [details])
&gt; &gt; Looks like this was committed as http://trac.webkit.org/r119680 and broke the build due to adding this global initializer:
&gt; &gt; 
&gt; &gt; const double invalidTime = std::numeric_limits&lt;double&gt;::quiet_NaN();
&gt; 
&gt; See &lt;http://build.webkit.org/builders/Lion%20Release%20%28Build%29/builds/10376/steps/compile-webkit/logs/stdio/text&gt; for example.

Yup sorry for the breakage, I just rolled out the change.  Will rework on it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643237</commentid>
    <comment_count>19</comment_count>
      <attachid>146203</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-06-06 23:00:34 -0700</bug_when>
    <thetext>Created attachment 146203
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643259</commentid>
    <comment_count>20</comment_count>
      <attachid>146203</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-06-06 23:40:12 -0700</bug_when>
    <thetext>Comment on attachment 146203
Patch

Attachment 146203 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12913117</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643325</commentid>
    <comment_count>21</comment_count>
      <attachid>146231</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-06-07 01:45:36 -0700</bug_when>
    <thetext>Created attachment 146231
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643331</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-07 01:50:24 -0700</bug_when>
    <thetext>Attachment 146231 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/platform/chromium/support/WebHTTPBody.cpp:34:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643419</commentid>
    <comment_count>23</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-06-07 04:46:30 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; Attachment 146231 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
&gt; Source/WebCore/platform/chromium/support/WebHTTPBody.cpp:34:  Alphabetical sorting problem.  [build/include_order] [4]
&gt; Total errors found: 1 in 12 files
&gt;
&gt; If any of these errors are false positives, please file a bug against check-webkit-style.

Filed bug 88524 for this one.

Removed the global constructor from the previous patch that caused a build breakage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644460</commentid>
    <comment_count>24</comment_count>
      <attachid>146504</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-06-08 01:23:56 -0700</bug_when>
    <thetext>Created attachment 146504
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644481</commentid>
    <comment_count>25</comment_count>
      <attachid>146504</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-06-08 01:50:59 -0700</bug_when>
    <thetext>Comment on attachment 146504
Patch

Looks simple and good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644578</commentid>
    <comment_count>26</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-06-08 04:50:36 -0700</bug_when>
    <thetext>Committed r119821: &lt;http://trac.webkit.org/changeset/119821&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>644597</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-08 05:39:06 -0700</bug_when>
    <thetext>Re-opened since this is blocked by 88648</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648712</commentid>
    <comment_count>28</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-06-13 19:51:46 -0700</bug_when>
    <thetext>The last commit attempt caused regression on Mac because I missed to replace isValidFileTime with null comparison in platform/FileStream.cpp. I&apos;m going to try re-landing this with following additional change:

Source/WebCore/platform/FileStream.cpp, line 70:
-    if (expectedModificationTime) {
+    if (isValidFileTime(expectedModificationTime)) {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648837</commentid>
    <comment_count>29</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-06-13 23:26:37 -0700</bug_when>
    <thetext>Committed r120282: &lt;http://trac.webkit.org/changeset/120282&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145983</attachid>
            <date>2012-06-06 03:44:08 -0700</date>
            <delta_ts>2012-06-06 20:59:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87826-20120606194407.patch</filename>
            <type>text/plain</type>
            <size>8332</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NTczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDNlOGQ4Y2JmNzVjY2M3
MWNiODk2ZjJiNjcxNDRmMDQ3NzRlNTM3OC4uNzk5OGFlMDg4ZjQ3MzczOWM2YWQwMmZjYzEzMzFi
NmIzOWIzYmFlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTA2LTA2ICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBGaWxlOjpsYXN0TW9k
aWZpZWREYXRlIHNob3VsZCB1c2UgTmFOIG9yIHNlcGFyYXRlIGJvb2xlYW4gZmxhZyBmb3IgbnVs
bCBEYXRlIHZhbHVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04NzgyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRlc3Q6IGh0dHAvdGVzdHMvbG9jYWwvZmlsZWFwaS9maWxlLWxhc3QtbW9kaWZpZWQtYWZ0
ZXItZGVsZXRlLmh0bWwKKworICAgICAgICAqIGZpbGVhcGkvRmlsZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGaWxlOjpGaWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGU6OmNhcHR1cmVTbmFw
c2hvdCk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlOjpsYXN0TW9kaWZpZWREYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZpbGU6Omxhc3RNb2RpZmllZERhdGVGb3JCaW5kaW5nKTogUmVtb3ZlZC4K
KyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnRUaW1lVG9NaWxsaXNlYyk6IEFkZGVkIGFzIGEgaGVs
cGVyIG1ldGhvZC4KKyAgICAgICAgKiBmaWxlYXBpL0ZpbGUuaDoKKyAgICAgICAgKEZpbGUpOgor
ICAgICAgICAqIGZpbGVhcGkvRmlsZS5pZGw6CisgICAgICAgICogcGxhdGZvcm0vRmlsZU1ldGFk
YXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpGaWxlTWV0YWRhdGE6OkZpbGVNZXRhZGF0YSk6Cisg
ICAgICAgICogcGxhdGZvcm0vRmlsZVN5c3RlbS5oOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL3N1cHBvcnQvV2ViSFRUUEJvZHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJIVFRQQm9k
eTo6ZWxlbWVudEF0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmNwcDoK
KyAgICAgICAgKFdlYkNvcmUpOgorCiAyMDEyLTA2LTA2ICBTaGlueWEgS2F3YW5ha2EgIDxzaGlu
eWFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBQb3NpdGlvbkl0ZXJhdG9yOjtzZXRPZmZzZXRJ
bkxlYWZOb2RlKCkgaXMgbm90IHVzZWQgYW55d2hlcmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9maWxlYXBpL0ZpbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmNwcApp
bmRleCA4NmQ1OTg5NGY1ZmVjYWFmZjk1NGQ5OGI1MjIwNjJkZGNmZjBkNTZmLi41OWIzYTA2MzUy
NzJlMGVkNWVhMmJiODFhNjdhMzg4YTE3ZDhiZGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9maWxlYXBpL0ZpbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5jcHAK
QEAgLTMwLDEwICszMCwxOCBAQAogI2luY2x1ZGUgIkZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJN
SU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CisjaW5jbHVk
ZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCitzdGF0aWMgZG91YmxlIGNvbnZlcnRUaW1lVG9NaWxsaXNl
Yyhkb3VibGUgbWljcm9zZWMpCit7CisgICAgaWYgKGlzbmFuKG1pY3Jvc2VjKSkKKyAgICAgICAg
cmV0dXJuIGludmFsaWRUaW1lOworICAgIHJldHVybiBtaWNyb3NlYyAqIDEwMDAuMDsKK30KKwog
c3RhdGljIFN0cmluZyBnZXRDb250ZW50VHlwZUZyb21GaWxlTmFtZShjb25zdCBTdHJpbmcmIG5h
bWUpCiB7CiAgICAgU3RyaW5nIHR5cGU7CkBAIC04Niw3ICs5NCw3IEBAIEZpbGU6OkZpbGUoY29u
c3QgU3RyaW5nJiBwYXRoKQogICAgICwgbV9uYW1lKHBhdGhHZXRGaWxlTmFtZShwYXRoKSkKICNp
ZiBFTkFCTEUoRklMRV9TWVNURU0pCiAgICAgLCBtX3NuYXBzaG90U2l6ZSgtMSkKLSAgICAsIG1f
c25hcHNob3RNb2RpZmljYXRpb25UaW1lKDApCisgICAgLCBtX3NuYXBzaG90TW9kaWZpY2F0aW9u
VGltZShpbnZhbGlkVGltZSkKICNlbmRpZgogewogfQpAQCAtOTYsNyArMTA0LDcgQEAgRmlsZTo6
RmlsZShjb25zdCBTdHJpbmcmIHBhdGgsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB0
eXBlKQogICAgICwgbV9wYXRoKHBhdGgpCiAjaWYgRU5BQkxFKEZJTEVfU1lTVEVNKQogICAgICwg
bV9zbmFwc2hvdFNpemUoLTEpCi0gICAgLCBtX3NuYXBzaG90TW9kaWZpY2F0aW9uVGltZSgwKQor
ICAgICwgbV9zbmFwc2hvdE1vZGlmaWNhdGlvblRpbWUoaW52YWxpZFRpbWUpCiAjZW5kaWYKIHsK
ICAgICBtX25hbWUgPSBwYXRoR2V0RmlsZU5hbWUocGF0aCk7CkBAIC0xMTEsNyArMTE5LDcgQEAg
RmlsZTo6RmlsZShjb25zdCBTdHJpbmcmIHBhdGgsIGNvbnN0IFN0cmluZyYgbmFtZSkKICAgICAs
IG1fbmFtZShuYW1lKQogI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKICAgICAsIG1fc25hcHNob3RT
aXplKC0xKQotICAgICwgbV9zbmFwc2hvdE1vZGlmaWNhdGlvblRpbWUoMCkKKyAgICAsIG1fc25h
cHNob3RNb2RpZmljYXRpb25UaW1lKGludmFsaWRUaW1lKQogI2VuZGlmCiB7CiB9CkBAIC0xMzEs
MjEgKzEzOSwxNSBAQCBkb3VibGUgRmlsZTo6bGFzdE1vZGlmaWVkRGF0ZSgpIGNvbnN0CiB7CiAj
aWYgRU5BQkxFKEZJTEVfU1lTVEVNKQogICAgIGlmIChoYXNWYWxpZFNuYXBzaG90TWV0YWRhdGEo
KSkKLSAgICAgICAgcmV0dXJuIG1fc25hcHNob3RNb2RpZmljYXRpb25UaW1lICogMTAwMC4wOwor
ICAgICAgICByZXR1cm4gY29udmVydFRpbWVUb01pbGxpc2VjKG1fc25hcHNob3RNb2RpZmljYXRp
b25UaW1lKTsKICNlbmRpZgogCiAgICAgdGltZV90IG1vZGlmaWNhdGlvblRpbWU7CiAgICAgaWYg
KCFnZXRGaWxlTW9kaWZpY2F0aW9uVGltZShtX3BhdGgsIG1vZGlmaWNhdGlvblRpbWUpKQotICAg
ICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIGludmFsaWRUaW1lOwogCiAgICAgLy8gTmVl
ZHMgdG8gcmV0dXJuIGVwb2NoIHRpbWUgaW4gbWlsbGlzZWNvbmRzIGZvciBEYXRlLgotICAgIHJl
dHVybiBtb2RpZmljYXRpb25UaW1lICogMTAwMC4wOwotfQotCi1kb3VibGUgRmlsZTo6bGFzdE1v
ZGlmaWVkRGF0ZUZvckJpbmRpbmcoKSBjb25zdAotewotICAgIGRvdWJsZSB2YWx1ZSA9IGxhc3RN
b2RpZmllZERhdGUoKTsKLSAgICByZXR1cm4gKCF2YWx1ZSkgPyBzdGQ6Om51bWVyaWNfbGltaXRz
PGRvdWJsZT46OnF1aWV0X05hTigpIDogdmFsdWU7CisgICAgcmV0dXJuIGNvbnZlcnRUaW1lVG9N
aWxsaXNlYyhtb2RpZmljYXRpb25UaW1lKTsKIH0KIAogdW5zaWduZWQgbG9uZyBsb25nIEZpbGU6
OnNpemUoKSBjb25zdApAQCAtMTc4LDcgKzE4MCw3IEBAIHZvaWQgRmlsZTo6Y2FwdHVyZVNuYXBz
aG90KGxvbmcgbG9uZyYgc25hcHNob3RTaXplLCBkb3VibGUmIHNuYXBzaG90TW9kaWZpY2F0aW9u
CiAgICAgRmlsZU1ldGFkYXRhIG1ldGFkYXRhOwogICAgIGlmICghZ2V0RmlsZU1ldGFkYXRhKG1f
cGF0aCwgbWV0YWRhdGEpKSB7CiAgICAgICAgIHNuYXBzaG90U2l6ZSA9IDA7Ci0gICAgICAgIHNu
YXBzaG90TW9kaWZpY2F0aW9uVGltZSA9IDA7CisgICAgICAgIHNuYXBzaG90TW9kaWZpY2F0aW9u
VGltZSA9IGludmFsaWRUaW1lOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuaCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkv
RmlsZS5oCmluZGV4IDY3ZjMxZjZhNzhiNzUzYjcwMzJmNWQwYzMyMDQ1MmYwZjMyODQzMjkuLmNi
N2M0MWU5ODUyOGY3YzI0NTE5Y2MyNjIzMjBhOThmYjgxZDYwMDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmls
ZS5oCkBAIC03NywxMiArNzcsOSBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBwYXRoKCkg
Y29uc3QgeyByZXR1cm4gbV9wYXRoOyB9CiAgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3Qg
eyByZXR1cm4gbV9uYW1lOyB9CiAKLSAgICAvLyBUaGlzIG1heSByZXR1cm4gemVybyBpZiBnZXRG
aWxlTW9kaWZpY2F0aW9uVGltZSgpIHBsYXRmb3JtIGNhbGwgaGFzIGZhaWxlZCBvciB6ZXJvIHNu
YXBzaG90IGxhc3RNb2RpZmllZFRpbWUgaXMgZ2l2ZW4gYXQgY29uc3RydWN0aW9uIHRpbWUuCisg
ICAgLy8gVGhpcyBtYXkgcmV0dXJuIE5hTiAod2hpY2ggaXMgY29udmVydGVkIHRvIG51bGwgRGF0
ZSBpbiBqYXZhc2NyaXB0IGxheWVyKSBpZiBnZXRGaWxlTW9kaWZpY2F0aW9uVGltZSgpIHBsYXRm
b3JtIGNhbGwgaGFzIGZhaWxlZCBvciB0aGUgaW5mb3JtYXRpb24gaXMgbm90IGF2YWlsYWJsZS4K
ICAgICBkb3VibGUgbGFzdE1vZGlmaWVkRGF0ZSgpIGNvbnN0OwogCi0gICAgLy8gRm9yIGJpbmRp
bmcuIFdlIHdhbnQgdG8gcmV0dXJuIG51bGwgRGF0ZSBpZiB3ZSBnZXQgdGhlIHZhbHVlIDAgRGF0
ZSAod2hpY2ggaXMgdXNlZCB0byBpbmRpY2F0ZSB0aGUgaW5mb3JtYXRpb24gaXMgdW5hdmFpbGFi
bGUpLgotICAgIGRvdWJsZSBsYXN0TW9kaWZpZWREYXRlRm9yQmluZGluZygpIGNvbnN0OwotCiAj
aWYgRU5BQkxFKERJUkVDVE9SWV9VUExPQUQpCiAgICAgLy8gUmV0dXJucyB0aGUgcmVsYXRpdmUg
cGF0aCBvZiB0aGlzIGZpbGUgaW4gdGhlIGNvbnRleHQgb2YgYSBkaXJlY3Rvcnkgc2VsZWN0aW9u
LgogICAgIGNvbnN0IFN0cmluZyYgd2Via2l0UmVsYXRpdmVQYXRoKCkgY29uc3QgeyByZXR1cm4g
bV9yZWxhdGl2ZVBhdGg7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmls
ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuaWRsCmluZGV4IDAwYmRkZTZmNTEw
MjRkYmEwYWU0OTA2ODgxNTY2NDQwZGNmZTJmNjQuLjdjMGRlNDMwOWRmZGE1YTYwZWQxNDNjYWE1
NDhiMzU5OTQxMjhkNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmlkbApAQCAtMzIsNyArMzIsNyBA
QCBtb2R1bGUgaHRtbCB7CiAgICAgXSBGaWxlIDogQmxvYiB7CiAgICAgICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKICNpZiAhZGVmaW5lZChMQU5HVUFHRV9HT0JKRUNUKSB8
fCAhTEFOR1VBR0VfR09CSkVDVAotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0ltcGxlbWVu
dGVkQXM9bGFzdE1vZGlmaWVkRGF0ZUZvckJpbmRpbmddIERhdGUgbGFzdE1vZGlmaWVkRGF0ZTsK
KyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERhdGUgbGFzdE1vZGlmaWVkRGF0ZTsKICNlbmRp
ZgogI2lmIGRlZmluZWQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICYmIEVOQUJMRV9ESVJFQ1RP
UllfVVBMT0FECiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgd2Via2l0UmVs
YXRpdmVQYXRoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZU1ldGFk
YXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlTWV0YWRhdGEuaAppbmRleCAwNGRm
OTJjYmYwNmQ1Nzc5MmRhNjY2NTViNjgxY2FiYmEyZDE1NDY1Li5hZjljYzdiOTVkMzNkOTdmNWMw
ZWQzOTVhZGM0NWE1YmMzNzYxMzg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9GaWxlTWV0YWRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlTWV0YWRh
dGEuaApAQCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBGaWxlTWV0YWRhdGFfaAogI2RlZmluZSBG
aWxlTWV0YWRhdGFfaAogCisjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01Niw3ICs1Nyw3IEBA
IHN0cnVjdCBGaWxlTWV0YWRhdGEgewogICAgIFN0cmluZyBwbGF0Zm9ybVBhdGg7CiAjZW5kaWYK
IAotICAgIEZpbGVNZXRhZGF0YSgpIDogbW9kaWZpY2F0aW9uVGltZSgwLjApLCBsZW5ndGgoLTEp
LCB0eXBlKFR5cGVVbmtub3duKSB7IH0KKyAgICBGaWxlTWV0YWRhdGEoKSA6IG1vZGlmaWNhdGlv
blRpbWUoaW52YWxpZFRpbWUpLCBsZW5ndGgoLTEpLCB0eXBlKFR5cGVVbmtub3duKSB7IH0KIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0ZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0u
aAppbmRleCAyMWVjZTExMjFmMzE3ZGJiZmVkM2FlOTExMDg3OTAxZWUwZDFjNzE0Li42YzA5MTYx
N2E4NGJmNDg0NjIxNDFlNTY2YjVkN2Y2MmEzZWY3Zjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
RmlsZVN5c3RlbS5oCkBAIC0xNDUsNiArMTQ1LDggQEAgZW51bSBGaWxlU2Vla09yaWdpbiB7CiAg
ICAgU2Vla0Zyb21FbmQKIH07CiAKK2NvbnN0IGRvdWJsZSBpbnZhbGlkVGltZSA9IHN0ZDo6bnVt
ZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7CisKICNpZiBPUyhXSU5ET1dTKQogc3Rh
dGljIGNvbnN0IGNoYXIgUGxhdGZvcm1GaWxlUGF0aFNlcGFyYXRvciA9ICdcXCc7CiAjZWxzZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vc3VwcG9ydC9XZWJI
VFRQQm9keS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9zdXBwb3J0L1dl
YkhUVFBCb2R5LmNwcAppbmRleCBkMTgzYWYxMjNiODNmMjdhOTFlZjBkNjYyNTViNmRkYjBjMDJh
NWQ1Li45YzIyZmEyMjI2MjU2NWYyMjdmNGE5MmQ5Mjg0ZGFmMzM4MmZmNTFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9zdXBwb3J0L1dlYkhUVFBCb2R5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9zdXBwb3J0L1dlYkhUVFBC
b2R5LmNwcApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
PHB1YmxpYy9XZWJIVFRQQm9keS5oPgogCisjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgogI2luY2x1
ZGUgIkZvcm1EYXRhLmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtNzcsNyArNzgs
NyBAQCBib29sIFdlYkhUVFBCb2R5OjplbGVtZW50QXQoc2l6ZV90IGluZGV4LCBFbGVtZW50JiBy
ZXN1bHQpIGNvbnN0CiAgICAgcmVzdWx0LmZpbGVQYXRoLnJlc2V0KCk7CiAgICAgcmVzdWx0LmZp
bGVTdGFydCA9IDA7CiAgICAgcmVzdWx0LmZpbGVMZW5ndGggPSAwOwotICAgIHJlc3VsdC5tb2Rp
ZmljYXRpb25UaW1lID0gMC4wOworICAgIHJlc3VsdC5tb2RpZmljYXRpb25UaW1lID0gaW52YWxp
ZFRpbWU7CiAgICAgcmVzdWx0LmJsb2JVUkwgPSBLVVJMKCk7CiAKICAgICBzd2l0Y2ggKGVsZW1l
bnQubV90eXBlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0Jsb2JEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEu
Y3BwCmluZGV4IGQ0Zjg4NWYwMDJjZjgwMTI1NzAwOGMzMzU5MzVjYTY0NTM1NWUzN2YuLjI5MWEx
ZjhmNzU2YmEzNTA5OGU1NDM1MTFiNmU1NDliZTgxY2YyOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJCbG9iRGF0YS5oIgorI2luY2x1ZGUgIkZpbGVTeXN0
ZW0uaCIKIAogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgpAQCAtNDAsNyArNDEsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBsb25n
IGxvbmcgQmxvYkRhdGFJdGVtOjp0b0VuZE9mRmlsZSA9IC0xOwotY29uc3QgZG91YmxlIEJsb2JE
YXRhSXRlbTo6ZG9Ob3RDaGVja0ZpbGVDaGFuZ2UgPSAwOworY29uc3QgZG91YmxlIEJsb2JEYXRh
SXRlbTo6ZG9Ob3RDaGVja0ZpbGVDaGFuZ2UgPSBpbnZhbGlkVGltZTsKIAogUmF3RGF0YTo6UmF3
RGF0YSgpCiB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146186</attachid>
            <date>2012-06-06 21:00:12 -0700</date>
            <delta_ts>2012-06-06 23:00:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87826-20120607130010.patch</filename>
            <type>text/plain</type>
            <size>7809</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NTczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDNlOGQ4Y2JmNzVjY2M3
MWNiODk2ZjJiNjcxNDRmMDQ3NzRlNTM3OC4uMWRhYmRhZWY4N2UyMzhhZDRjZjgyOTlkNWY4ZGIz
NmIzMGNjYWFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA2LTA2ICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBGaWxlOjpsYXN0TW9k
aWZpZWREYXRlIHNob3VsZCB1c2UgTmFOIG9yIHNlcGFyYXRlIGJvb2xlYW4gZmxhZyBmb3IgbnVs
bCBEYXRlIHZhbHVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04NzgyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRlc3Q6IGh0dHAvdGVzdHMvbG9jYWwvZmlsZWFwaS9maWxlLWxhc3QtbW9kaWZpZWQtYWZ0
ZXItZGVsZXRlLmh0bWwKKworICAgICAgICAqIGZpbGVhcGkvRmlsZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGaWxlOjpGaWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGU6OmNhcHR1cmVTbmFw
c2hvdCk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlOjpsYXN0TW9kaWZpZWREYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZpbGU6Omxhc3RNb2RpZmllZERhdGVGb3JCaW5kaW5nKTogUmVtb3ZlZC4K
KyAgICAgICAgKiBmaWxlYXBpL0ZpbGUuaDoKKyAgICAgICAgKEZpbGUpOgorICAgICAgICAqIGZp
bGVhcGkvRmlsZS5pZGw6CisgICAgICAgICogcGxhdGZvcm0vRmlsZU1ldGFkYXRhLmg6CisgICAg
ICAgIChXZWJDb3JlOjpGaWxlTWV0YWRhdGE6OkZpbGVNZXRhZGF0YSk6CisgICAgICAgICogcGxh
dGZvcm0vRmlsZVN5c3RlbS5oOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3N1cHBvcnQv
V2ViSFRUUEJvZHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJIVFRQQm9keTo6ZWxlbWVudEF0
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorCiAyMDEyLTA2LTA2ICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBQb3NpdGlvbkl0ZXJhdG9yOjtzZXRPZmZzZXRJbkxlYWZOb2RlKCkg
aXMgbm90IHVzZWQgYW55d2hlcmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBp
L0ZpbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmNwcAppbmRleCA4NmQ1OTg5
NGY1ZmVjYWFmZjk1NGQ5OGI1MjIwNjJkZGNmZjBkNTZmLi5iYWE4NGQ1NTczZGVkNTZhODM0NWE0
MTZiOWNmMzllOTEzMTU0YjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Zp
bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5jcHAKQEAgLTMwLDYgKzMw
LDcgQEAKICNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3Ry
eS5oIgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgorI2luY2x1ZGUgPHd0Zi9NYXRoRXh0
cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTg2LDcgKzg3LDcgQEAgRmlsZTo6RmlsZShjb25zdCBTdHJpbmcmIHBhdGgpCiAg
ICAgLCBtX25hbWUocGF0aEdldEZpbGVOYW1lKHBhdGgpKQogI2lmIEVOQUJMRShGSUxFX1NZU1RF
TSkKICAgICAsIG1fc25hcHNob3RTaXplKC0xKQotICAgICwgbV9zbmFwc2hvdE1vZGlmaWNhdGlv
blRpbWUoMCkKKyAgICAsIG1fc25hcHNob3RNb2RpZmljYXRpb25UaW1lKGludmFsaWRUaW1lKQog
I2VuZGlmCiB7CiB9CkBAIC05Niw3ICs5Nyw3IEBAIEZpbGU6OkZpbGUoY29uc3QgU3RyaW5nJiBw
YXRoLCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgdHlwZSkKICAgICAsIG1fcGF0aChw
YXRoKQogI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKICAgICAsIG1fc25hcHNob3RTaXplKC0xKQot
ICAgICwgbV9zbmFwc2hvdE1vZGlmaWNhdGlvblRpbWUoMCkKKyAgICAsIG1fc25hcHNob3RNb2Rp
ZmljYXRpb25UaW1lKGludmFsaWRUaW1lKQogI2VuZGlmCiB7CiAgICAgbV9uYW1lID0gcGF0aEdl
dEZpbGVOYW1lKHBhdGgpOwpAQCAtMTExLDcgKzExMiw3IEBAIEZpbGU6OkZpbGUoY29uc3QgU3Ry
aW5nJiBwYXRoLCBjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgLCBtX25hbWUobmFtZSkKICNpZiBF
TkFCTEUoRklMRV9TWVNURU0pCiAgICAgLCBtX3NuYXBzaG90U2l6ZSgtMSkKLSAgICAsIG1fc25h
cHNob3RNb2RpZmljYXRpb25UaW1lKDApCisgICAgLCBtX3NuYXBzaG90TW9kaWZpY2F0aW9uVGlt
ZShpbnZhbGlkVGltZSkKICNlbmRpZgogewogfQpAQCAtMTM2LDE4ICsxMzcsMTIgQEAgZG91Ymxl
IEZpbGU6Omxhc3RNb2RpZmllZERhdGUoKSBjb25zdAogCiAgICAgdGltZV90IG1vZGlmaWNhdGlv
blRpbWU7CiAgICAgaWYgKCFnZXRGaWxlTW9kaWZpY2F0aW9uVGltZShtX3BhdGgsIG1vZGlmaWNh
dGlvblRpbWUpKQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIGludmFsaWRUaW1l
OwogCiAgICAgLy8gTmVlZHMgdG8gcmV0dXJuIGVwb2NoIHRpbWUgaW4gbWlsbGlzZWNvbmRzIGZv
ciBEYXRlLgogICAgIHJldHVybiBtb2RpZmljYXRpb25UaW1lICogMTAwMC4wOwogfQogCi1kb3Vi
bGUgRmlsZTo6bGFzdE1vZGlmaWVkRGF0ZUZvckJpbmRpbmcoKSBjb25zdAotewotICAgIGRvdWJs
ZSB2YWx1ZSA9IGxhc3RNb2RpZmllZERhdGUoKTsKLSAgICByZXR1cm4gKCF2YWx1ZSkgPyBzdGQ6
Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpIDogdmFsdWU7Ci19Ci0KIHVuc2ln
bmVkIGxvbmcgbG9uZyBGaWxlOjpzaXplKCkgY29uc3QKIHsKICNpZiBFTkFCTEUoRklMRV9TWVNU
RU0pCkBAIC0xNzgsNyArMTczLDcgQEAgdm9pZCBGaWxlOjpjYXB0dXJlU25hcHNob3QobG9uZyBs
b25nJiBzbmFwc2hvdFNpemUsIGRvdWJsZSYgc25hcHNob3RNb2RpZmljYXRpb24KICAgICBGaWxl
TWV0YWRhdGEgbWV0YWRhdGE7CiAgICAgaWYgKCFnZXRGaWxlTWV0YWRhdGEobV9wYXRoLCBtZXRh
ZGF0YSkpIHsKICAgICAgICAgc25hcHNob3RTaXplID0gMDsKLSAgICAgICAgc25hcHNob3RNb2Rp
ZmljYXRpb25UaW1lID0gMDsKKyAgICAgICAgc25hcHNob3RNb2RpZmljYXRpb25UaW1lID0gaW52
YWxpZFRpbWU7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2ZpbGVhcGkvRmlsZS5oIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmgKaW5k
ZXggNjdmMzFmNmE3OGI3NTNiNzAzMmY1ZDBjMzIwNDUyZjBmMzI4NDMyOS4uY2I3YzQxZTk4NTI4
ZjdjMjQ1MTljYzI2MjMyMGE5OGZiODFkNjAwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmgKQEAgLTc3
LDEyICs3Nyw5IEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIHBhdGgoKSBjb25zdCB7IHJl
dHVybiBtX3BhdGg7IH0KICAgICBjb25zdCBTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBt
X25hbWU7IH0KIAotICAgIC8vIFRoaXMgbWF5IHJldHVybiB6ZXJvIGlmIGdldEZpbGVNb2RpZmlj
YXRpb25UaW1lKCkgcGxhdGZvcm0gY2FsbCBoYXMgZmFpbGVkIG9yIHplcm8gc25hcHNob3QgbGFz
dE1vZGlmaWVkVGltZSBpcyBnaXZlbiBhdCBjb25zdHJ1Y3Rpb24gdGltZS4KKyAgICAvLyBUaGlz
IG1heSByZXR1cm4gTmFOICh3aGljaCBpcyBjb252ZXJ0ZWQgdG8gbnVsbCBEYXRlIGluIGphdmFz
Y3JpcHQgbGF5ZXIpIGlmIGdldEZpbGVNb2RpZmljYXRpb25UaW1lKCkgcGxhdGZvcm0gY2FsbCBo
YXMgZmFpbGVkIG9yIHRoZSBpbmZvcm1hdGlvbiBpcyBub3QgYXZhaWxhYmxlLgogICAgIGRvdWJs
ZSBsYXN0TW9kaWZpZWREYXRlKCkgY29uc3Q7CiAKLSAgICAvLyBGb3IgYmluZGluZy4gV2Ugd2Fu
dCB0byByZXR1cm4gbnVsbCBEYXRlIGlmIHdlIGdldCB0aGUgdmFsdWUgMCBEYXRlICh3aGljaCBp
cyB1c2VkIHRvIGluZGljYXRlIHRoZSBpbmZvcm1hdGlvbiBpcyB1bmF2YWlsYWJsZSkuCi0gICAg
ZG91YmxlIGxhc3RNb2RpZmllZERhdGVGb3JCaW5kaW5nKCkgY29uc3Q7Ci0KICNpZiBFTkFCTEUo
RElSRUNUT1JZX1VQTE9BRCkKICAgICAvLyBSZXR1cm5zIHRoZSByZWxhdGl2ZSBwYXRoIG9mIHRo
aXMgZmlsZSBpbiB0aGUgY29udGV4dCBvZiBhIGRpcmVjdG9yeSBzZWxlY3Rpb24uCiAgICAgY29u
c3QgU3RyaW5nJiB3ZWJraXRSZWxhdGl2ZVBhdGgoKSBjb25zdCB7IHJldHVybiBtX3JlbGF0aXZl
UGF0aDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5pZGwKaW5kZXggMDBiZGRlNmY1MTAyNGRiYTBhZTQ5
MDY4ODE1NjY0NDBkY2ZlMmY2NC4uN2MwZGU0MzA5ZGZkYTVhNjBlZDE0M2NhYTU0OGIzNTk5NDEy
OGQ1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuaWRsCkBAIC0zMiw3ICszMiw3IEBAIG1vZHVsZSBo
dG1sIHsKICAgICBdIEZpbGUgOiBCbG9iIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyBuYW1lOwogI2lmICFkZWZpbmVkKExBTkdVQUdFX0dPQkpFQ1QpIHx8ICFMQU5HVUFH
RV9HT0JKRUNUCi0gICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbSW1wbGVtZW50ZWRBcz1sYXN0
TW9kaWZpZWREYXRlRm9yQmluZGluZ10gRGF0ZSBsYXN0TW9kaWZpZWREYXRlOworICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgRGF0ZSBsYXN0TW9kaWZpZWREYXRlOwogI2VuZGlmCiAjaWYgZGVm
aW5lZChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCkgJiYgRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQK
ICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyB3ZWJraXRSZWxhdGl2ZVBhdGg7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlTWV0YWRhdGEuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVNZXRhZGF0YS5oCmluZGV4IDA0ZGY5MmNiZjA2ZDU3
NzkyZGE2NjY1NWI2ODFjYWJiYTJkMTU0NjUuLmFmOWNjN2I5NWQzM2Q5N2Y1YzBlZDM5NWFkYzQ1
YTViYzM3NjEzODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVNZXRh
ZGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVNZXRhZGF0YS5oCkBAIC0z
MSw2ICszMSw3IEBACiAjaWZuZGVmIEZpbGVNZXRhZGF0YV9oCiAjZGVmaW5lIEZpbGVNZXRhZGF0
YV9oCiAKKyNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU2LDcgKzU3LDcgQEAgc3RydWN0IEZp
bGVNZXRhZGF0YSB7CiAgICAgU3RyaW5nIHBsYXRmb3JtUGF0aDsKICNlbmRpZgogCi0gICAgRmls
ZU1ldGFkYXRhKCkgOiBtb2RpZmljYXRpb25UaW1lKDAuMCksIGxlbmd0aCgtMSksIHR5cGUoVHlw
ZVVua25vd24pIHsgfQorICAgIEZpbGVNZXRhZGF0YSgpIDogbW9kaWZpY2F0aW9uVGltZShpbnZh
bGlkVGltZSksIGxlbmd0aCgtMSksIHR5cGUoVHlwZVVua25vd24pIHsgfQogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmls
ZVN5c3RlbS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5oCmluZGV4IDIx
ZWNlMTEyMWYzMTdkYmJmZWQzYWU5MTEwODc5MDFlZTBkMWM3MTQuLjZjMDkxNjE3YTg0YmY0ODQ2
MjE0MWU1NjZiNWQ3ZjYyYTNlZjdmODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0ZpbGVTeXN0ZW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVt
LmgKQEAgLTE0NSw2ICsxNDUsOCBAQCBlbnVtIEZpbGVTZWVrT3JpZ2luIHsKICAgICBTZWVrRnJv
bUVuZAogfTsKIAorY29uc3QgZG91YmxlIGludmFsaWRUaW1lID0gc3RkOjpudW1lcmljX2xpbWl0
czxkb3VibGU+OjpxdWlldF9OYU4oKTsKKwogI2lmIE9TKFdJTkRPV1MpCiBzdGF0aWMgY29uc3Qg
Y2hhciBQbGF0Zm9ybUZpbGVQYXRoU2VwYXJhdG9yID0gJ1xcJzsKICNlbHNlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9zdXBwb3J0L1dlYkhUVFBCb2R5LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL3N1cHBvcnQvV2ViSFRUUEJvZHku
Y3BwCmluZGV4IGQxODNhZjEyM2I4M2YyN2E5MWVmMGQ2NjI1NWI2ZGRiMGMwMmE1ZDUuLjljMjJm
YTIyMjYyNTY1ZjIyN2Y0YTkyZDkyODRkYWYzMzgyZmY1MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL3N1cHBvcnQvV2ViSFRUUEJvZHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL3N1cHBvcnQvV2ViSFRUUEJvZHkuY3BwCkBA
IC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSA8cHVibGljL1dl
YkhUVFBCb2R5Lmg+CiAKKyNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiRm9ybURh
dGEuaCIKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CkBAIC03Nyw3ICs3OCw3IEBAIGJvb2wg
V2ViSFRUUEJvZHk6OmVsZW1lbnRBdChzaXplX3QgaW5kZXgsIEVsZW1lbnQmIHJlc3VsdCkgY29u
c3QKICAgICByZXN1bHQuZmlsZVBhdGgucmVzZXQoKTsKICAgICByZXN1bHQuZmlsZVN0YXJ0ID0g
MDsKICAgICByZXN1bHQuZmlsZUxlbmd0aCA9IDA7Ci0gICAgcmVzdWx0Lm1vZGlmaWNhdGlvblRp
bWUgPSAwLjA7CisgICAgcmVzdWx0Lm1vZGlmaWNhdGlvblRpbWUgPSBpbnZhbGlkVGltZTsKICAg
ICByZXN1bHQuYmxvYlVSTCA9IEtVUkwoKTsKIAogICAgIHN3aXRjaCAoZWxlbWVudC5tX3R5cGUp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5jcHAKaW5kZXgg
ZDRmODg1ZjAwMmNmODAxMjU3MDA4YzMzNTkzNWNhNjQ1MzU1ZTM3Zi4uMjkxYTFmOGY3NTZiYTM1
MDk4ZTU0MzUxMWI2ZTU0OWJlODFjZjI5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9CbG9iRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9CbG9iRGF0YS5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIkJsb2JEYXRhLmgiCisjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgogCiAj
aW5jbHVkZSA8d3RmL093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CkBAIC00
MCw3ICs0MSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNvbnN0IGxvbmcgbG9uZyBCbG9i
RGF0YUl0ZW06OnRvRW5kT2ZGaWxlID0gLTE7Ci1jb25zdCBkb3VibGUgQmxvYkRhdGFJdGVtOjpk
b05vdENoZWNrRmlsZUNoYW5nZSA9IDA7Citjb25zdCBkb3VibGUgQmxvYkRhdGFJdGVtOjpkb05v
dENoZWNrRmlsZUNoYW5nZSA9IGludmFsaWRUaW1lOwogCiBSYXdEYXRhOjpSYXdEYXRhKCkKIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146203</attachid>
            <date>2012-06-06 23:00:34 -0700</date>
            <delta_ts>2012-06-07 01:45:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87826-20120607150033.patch</filename>
            <type>text/plain</type>
            <size>16634</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NTczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDNlOGQ4Y2JmNzVjY2M3
MWNiODk2ZjJiNjcxNDRmMDQ3NzRlNTM3OC4uYjZkMDdiMjVlYmY3MDk2NDZkMDFlNjMyMTUxN2E2
ZGM1YzQ2ZTM3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTA2LTA2ICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBGaWxlOjpsYXN0TW9k
aWZpZWREYXRlIHNob3VsZCB1c2UgTmFOIG9yIHNlcGFyYXRlIGJvb2xlYW4gZmxhZyBmb3IgbnVs
bCBEYXRlIHZhbHVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04NzgyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRlc3Q6IGh0dHAvdGVzdHMvbG9jYWwvZmlsZWFwaS9maWxlLWxhc3QtbW9kaWZpZWQtYWZ0
ZXItZGVsZXRlLmh0bWwKKworICAgICAgICAqIGZpbGVhcGkvQmxvYi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpCbG9iOjp3ZWJraXRTbGljZSk6CisgICAgICAgICogZmlsZWFwaS9GaWxlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZpbGU6OkZpbGUpOgorICAgICAgICAoV2ViQ29yZTo6RmlsZTo6
bGFzdE1vZGlmaWVkRGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlOjpjYXB0dXJlU25hcHNo
b3QpOgorICAgICAgICAqIGZpbGVhcGkvRmlsZS5oOgorICAgICAgICAqIGZpbGVhcGkvRmlsZS5p
ZGw6CisgICAgICAgICogZmlsZWFwaS9XZWJLaXRCbG9iQnVpbGRlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJLaXRCbG9iQnVpbGRlcjo6YXBwZW5kKToKKyAgICAgICAgKiBwbGF0Zm9ybS9G
aWxlTWV0YWRhdGEuaDoKKyAgICAgICAgKEZpbGVUaW1lKTogQWRkZWQgYXMgYSB0aGluIHdyYXBw
ZXIgZm9yIGRvdWJsZSAodGltZV90KS4KKyAgICAgICAgKFdlYkNvcmU6OkZpbGVNZXRhZGF0YTo6
RmlsZU1ldGFkYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9zdXBwb3J0L1dlYkhU
VFBCb2R5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSFRUUEJvZHk6OmVsZW1lbnRBdCk6Cisg
ICAgICAgICogcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmg6CisgICAgICAgIChXZWJD
b3JlOjpCbG9iRGF0YUl0ZW06OkJsb2JEYXRhSXRlbSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0
d29yay9Gb3JtRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb3JtRGF0YTo6YXBwZW5kRmls
ZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YS5oOgorICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjphZHZhbmNlQ3VycmVudFN0cmVhbSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9z
b3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpibG9iSXNPdXRP
ZkRhdGUpOgorCiAyMDEyLTA2LTA2ICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBQb3NpdGlvbkl0ZXJhdG9yOjtzZXRPZmZzZXRJbkxlYWZOb2RlKCkg
aXMgbm90IHVzZWQgYW55d2hlcmUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBp
L0Jsb2IuY3BwIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9CbG9iLmNwcAppbmRleCAyMzg1ZWM3
ZDFkOTY4YzM2YzE1Zjc3NDNmMmU0NTNhMjk0YjJmYzQ5Li4zYjczNWEwMjRmNWY2ZjIzMzBiYjIw
MzVkMTgwYjM4MTA3Yzc4NDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Js
b2IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvQmxvYi5jcHAKQEAgLTc4LDcgKzc4
LDcgQEAgUGFzc1JlZlB0cjxCbG9iPiBCbG9iOjp3ZWJraXRTbGljZShsb25nIGxvbmcgc3RhcnQs
IGxvbmcgbG9uZyBlbmQsIGNvbnN0IFN0cmluZyYKICAgICAvLyBXaGVuIHdlIHNsaWNlIGEgZmls
ZSBmb3IgdGhlIGZpcnN0IHRpbWUsIHdlIG9idGFpbiBhIHNuYXBzaG90IG9mIHRoZSBmaWxlIGJ5
IGNhcHR1cmluZyBpdHMgY3VycmVudCBzaXplIGFuZCBtb2RpZmljYXRpb24gdGltZS4KICAgICAv
LyBUaGUgbW9kaWZpY2F0aW9uIHRpbWUgd2lsbCBiZSB1c2VkIHRvIHZlcmlmeSBpZiB0aGUgZmls
ZSBoYXMgYmVlbiBjaGFuZ2VkIG9yIG5vdCwgd2hlbiB0aGUgdW5kZXJseWluZyBkYXRhIGFyZSBh
Y2Nlc3NlZC4KICAgICBsb25nIGxvbmcgc2l6ZTsKLSAgICBkb3VibGUgbW9kaWZpY2F0aW9uVGlt
ZTsKKyAgICBGaWxlVGltZSBtb2RpZmljYXRpb25UaW1lOwogICAgIGlmIChpc0ZpbGUoKSkgewog
ICAgICAgICAvLyBGSVhNRTogVGhpcyBpbnZvbHZlcyBzeW5jaHJvbm91cyBmaWxlIG9wZXJhdGlv
bi4gV2UgbmVlZCB0byBmaWd1cmUgb3V0IGhvdyB0byBtYWtlIGl0IGFzeW5jaHJvbm91cy4KICAg
ICAgICAgdG9GaWxlKHRoaXMpLT5jYXB0dXJlU25hcHNob3Qoc2l6ZSwgbW9kaWZpY2F0aW9uVGlt
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvZmlsZWFwaS9GaWxlLmNwcAppbmRleCA4NmQ1OTg5NGY1ZmVjYWFmZjk1NGQ5OGI1
MjIwNjJkZGNmZjBkNTZmLi43MWE0MjJjZDE1NjliNTA4Nzk2MTY5MDI1YWY3NjFlNGEzZGYwNWFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5jcHAKQEAgLTg2LDcgKzg2LDYgQEAgRmlsZTo6RmlsZShj
b25zdCBTdHJpbmcmIHBhdGgpCiAgICAgLCBtX25hbWUocGF0aEdldEZpbGVOYW1lKHBhdGgpKQog
I2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKICAgICAsIG1fc25hcHNob3RTaXplKC0xKQotICAgICwg
bV9zbmFwc2hvdE1vZGlmaWNhdGlvblRpbWUoMCkKICNlbmRpZgogewogfQpAQCAtOTYsNyArOTUs
NiBAQCBGaWxlOjpGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCwgY29uc3QgS1VSTCYgdXJsLCBjb25z
dCBTdHJpbmcmIHR5cGUpCiAgICAgLCBtX3BhdGgocGF0aCkKICNpZiBFTkFCTEUoRklMRV9TWVNU
RU0pCiAgICAgLCBtX3NuYXBzaG90U2l6ZSgtMSkKLSAgICAsIG1fc25hcHNob3RNb2RpZmljYXRp
b25UaW1lKDApCiAjZW5kaWYKIHsKICAgICBtX25hbWUgPSBwYXRoR2V0RmlsZU5hbWUocGF0aCk7
CkBAIC0xMTEsNyArMTA5LDYgQEAgRmlsZTo6RmlsZShjb25zdCBTdHJpbmcmIHBhdGgsIGNvbnN0
IFN0cmluZyYgbmFtZSkKICAgICAsIG1fbmFtZShuYW1lKQogI2lmIEVOQUJMRShGSUxFX1NZU1RF
TSkKICAgICAsIG1fc25hcHNob3RTaXplKC0xKQotICAgICwgbV9zbmFwc2hvdE1vZGlmaWNhdGlv
blRpbWUoMCkKICNlbmRpZgogewogfQpAQCAtMTM2LDE4ICsxMzMsMTIgQEAgZG91YmxlIEZpbGU6
Omxhc3RNb2RpZmllZERhdGUoKSBjb25zdAogCiAgICAgdGltZV90IG1vZGlmaWNhdGlvblRpbWU7
CiAgICAgaWYgKCFnZXRGaWxlTW9kaWZpY2F0aW9uVGltZShtX3BhdGgsIG1vZGlmaWNhdGlvblRp
bWUpKQotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1p
dHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7CiAKICAgICAvLyBOZWVkcyB0byByZXR1cm4gZXBvY2gg
dGltZSBpbiBtaWxsaXNlY29uZHMgZm9yIERhdGUuCiAgICAgcmV0dXJuIG1vZGlmaWNhdGlvblRp
bWUgKiAxMDAwLjA7CiB9CiAKLWRvdWJsZSBGaWxlOjpsYXN0TW9kaWZpZWREYXRlRm9yQmluZGlu
ZygpIGNvbnN0Ci17Ci0gICAgZG91YmxlIHZhbHVlID0gbGFzdE1vZGlmaWVkRGF0ZSgpOwotICAg
IHJldHVybiAoIXZhbHVlKSA/IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFO
KCkgOiB2YWx1ZTsKLX0KLQogdW5zaWduZWQgbG9uZyBsb25nIEZpbGU6OnNpemUoKSBjb25zdAog
ewogI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKQEAgLTE2Myw3ICsxNTQsNyBAQCB1bnNpZ25lZCBs
b25nIGxvbmcgRmlsZTo6c2l6ZSgpIGNvbnN0CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVuc2ln
bmVkIGxvbmcgbG9uZz4oc2l6ZSk7CiB9CiAKLXZvaWQgRmlsZTo6Y2FwdHVyZVNuYXBzaG90KGxv
bmcgbG9uZyYgc25hcHNob3RTaXplLCBkb3VibGUmIHNuYXBzaG90TW9kaWZpY2F0aW9uVGltZSkg
Y29uc3QKK3ZvaWQgRmlsZTo6Y2FwdHVyZVNuYXBzaG90KGxvbmcgbG9uZyYgc25hcHNob3RTaXpl
LCBGaWxlVGltZSYgc25hcHNob3RNb2RpZmljYXRpb25UaW1lKSBjb25zdAogewogI2lmIEVOQUJM
RShGSUxFX1NZU1RFTSkKICAgICBpZiAoaGFzVmFsaWRTbmFwc2hvdE1ldGFkYXRhKCkpIHsKQEAg
LTE3OCw3ICsxNjksNiBAQCB2b2lkIEZpbGU6OmNhcHR1cmVTbmFwc2hvdChsb25nIGxvbmcmIHNu
YXBzaG90U2l6ZSwgZG91YmxlJiBzbmFwc2hvdE1vZGlmaWNhdGlvbgogICAgIEZpbGVNZXRhZGF0
YSBtZXRhZGF0YTsKICAgICBpZiAoIWdldEZpbGVNZXRhZGF0YShtX3BhdGgsIG1ldGFkYXRhKSkg
ewogICAgICAgICBzbmFwc2hvdFNpemUgPSAwOwotICAgICAgICBzbmFwc2hvdE1vZGlmaWNhdGlv
blRpbWUgPSAwOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9maWxlYXBpL0ZpbGUuaCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5oCmlu
ZGV4IDY3ZjMxZjZhNzhiNzUzYjcwMzJmNWQwYzMyMDQ1MmYwZjMyODQzMjkuLjlmYWU5MDk0YzVh
MGU4ZWU0ZjY0MTU1OWY3MWZhNzdjMTVhNzU2MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvRmlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5oCkBAIC0y
Nyw2ICsyNyw3IEBACiAjZGVmaW5lIEZpbGVfaAogCiAjaW5jbHVkZSAiQmxvYi5oIgorI2luY2x1
ZGUgIkZpbGVNZXRhZGF0YS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtNzcs
MTkgKzc4LDE2IEBAIHB1YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIHBhdGgoKSBjb25zdCB7IHJl
dHVybiBtX3BhdGg7IH0KICAgICBjb25zdCBTdHJpbmcmIG5hbWUoKSBjb25zdCB7IHJldHVybiBt
X25hbWU7IH0KIAotICAgIC8vIFRoaXMgbWF5IHJldHVybiB6ZXJvIGlmIGdldEZpbGVNb2RpZmlj
YXRpb25UaW1lKCkgcGxhdGZvcm0gY2FsbCBoYXMgZmFpbGVkIG9yIHplcm8gc25hcHNob3QgbGFz
dE1vZGlmaWVkVGltZSBpcyBnaXZlbiBhdCBjb25zdHJ1Y3Rpb24gdGltZS4KKyAgICAvLyBUaGlz
IG1heSByZXR1cm4gTmFOICh3aGljaCBpcyBjb252ZXJ0ZWQgdG8gbnVsbCBEYXRlIGluIGphdmFz
Y3JpcHQgbGF5ZXIpIGlmIGdldEZpbGVNb2RpZmljYXRpb25UaW1lKCkgcGxhdGZvcm0gY2FsbCBo
YXMgZmFpbGVkIG9yIHRoZSBpbmZvcm1hdGlvbiBpcyBub3QgYXZhaWxhYmxlLgogICAgIGRvdWJs
ZSBsYXN0TW9kaWZpZWREYXRlKCkgY29uc3Q7CiAKLSAgICAvLyBGb3IgYmluZGluZy4gV2Ugd2Fu
dCB0byByZXR1cm4gbnVsbCBEYXRlIGlmIHdlIGdldCB0aGUgdmFsdWUgMCBEYXRlICh3aGljaCBp
cyB1c2VkIHRvIGluZGljYXRlIHRoZSBpbmZvcm1hdGlvbiBpcyB1bmF2YWlsYWJsZSkuCi0gICAg
ZG91YmxlIGxhc3RNb2RpZmllZERhdGVGb3JCaW5kaW5nKCkgY29uc3Q7Ci0KICNpZiBFTkFCTEUo
RElSRUNUT1JZX1VQTE9BRCkKICAgICAvLyBSZXR1cm5zIHRoZSByZWxhdGl2ZSBwYXRoIG9mIHRo
aXMgZmlsZSBpbiB0aGUgY29udGV4dCBvZiBhIGRpcmVjdG9yeSBzZWxlY3Rpb24uCiAgICAgY29u
c3QgU3RyaW5nJiB3ZWJraXRSZWxhdGl2ZVBhdGgoKSBjb25zdCB7IHJldHVybiBtX3JlbGF0aXZl
UGF0aDsgfQogI2VuZGlmCiAKICAgICAvLyBOb3RlIHRoYXQgdGhpcyBpbnZvbHZlcyBzeW5jaHJv
bm91cyBmaWxlIG9wZXJhdGlvbi4gVGhpbmsgdHdpY2UgYmVmb3JlIGNhbGxpbmcgdGhpcyBmdW5j
dGlvbi4KLSAgICB2b2lkIGNhcHR1cmVTbmFwc2hvdChsb25nIGxvbmcmIHNuYXBzaG90U2l6ZSwg
ZG91YmxlJiBzbmFwc2hvdE1vZGlmaWNhdGlvblRpbWUpIGNvbnN0OworICAgIHZvaWQgY2FwdHVy
ZVNuYXBzaG90KGxvbmcgbG9uZyYgc25hcHNob3RTaXplLCBGaWxlVGltZSYgc25hcHNob3RNb2Rp
ZmljYXRpb25UaW1lKSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBGaWxlKGNvbnN0IFN0cmluZyYg
cGF0aCk7CkBAIC0xMTIsNyArMTEwLDcgQEAgcHJpdmF0ZToKICAgICAvLyBJZiBtX3NuYXBzaG90
U2l6ZSBpcyBuZWdhdGl2ZSAoaW5pdGlhbGl6ZWQgdG8gLTEgYnkgZGVmYXVsdCksIHRoZSBzbmFw
c2hvdCBtZXRhZGF0YSBpcyBpbnZhbGlkIGFuZCB3ZSByZXRyaWV2ZSB0aGUgbGF0ZXN0IG1ldGFk
YXRhIHN5bmNocm9ub3VzbHkgaW4gc2l6ZSgpLCBsYXN0TW9kaWZpZWRUaW1lKCkgYW5kIHdlYmtp
dFNsaWNlKCkuCiAgICAgLy8gT3RoZXJ3aXNlLCB0aGUgc25hcHNob3QgbWV0YWRhdGEgYXJlIHVz
ZWQgZGlyZWN0bHkgaW4gdGhvc2UgbWV0aG9kcy4KICAgICBjb25zdCBsb25nIGxvbmcgbV9zbmFw
c2hvdFNpemU7Ci0gICAgY29uc3QgZG91YmxlIG1fc25hcHNob3RNb2RpZmljYXRpb25UaW1lOwor
ICAgIGNvbnN0IEZpbGVUaW1lIG1fc25hcHNob3RNb2RpZmljYXRpb25UaW1lOwogI2VuZGlmCiAK
ICNpZiBFTkFCTEUoRElSRUNUT1JZX1VQTE9BRCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvRmlsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuaWRsCmluZGV4
IDAwYmRkZTZmNTEwMjRkYmEwYWU0OTA2ODgxNTY2NDQwZGNmZTJmNjQuLjdjMGRlNDMwOWRmZGE1
YTYwZWQxNDNjYWE1NDhiMzU5OTQxMjhkNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Zp
bGVhcGkvRmlsZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmlkbApAQCAt
MzIsNyArMzIsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgXSBGaWxlIDogQmxvYiB7CiAgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKICNpZiAhZGVmaW5lZChMQU5HVUFH
RV9HT0JKRUNUKSB8fCAhTEFOR1VBR0VfR09CSkVDVAotICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgW0ltcGxlbWVudGVkQXM9bGFzdE1vZGlmaWVkRGF0ZUZvckJpbmRpbmddIERhdGUgbGFzdE1v
ZGlmaWVkRGF0ZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERhdGUgbGFzdE1vZGlmaWVk
RGF0ZTsKICNlbmRpZgogI2lmIGRlZmluZWQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICYmIEVO
QUJMRV9ESVJFQ1RPUllfVVBMT0FECiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmcgd2Via2l0UmVsYXRpdmVQYXRoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFw
aS9XZWJLaXRCbG9iQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJs
b2JCdWlsZGVyLmNwcAppbmRleCBlODdiZmU1NTU3MGM3NTA5MDQxNjE1YTI2YzZkY2E1MjFhMzYw
NjA2Li5kZGYwMWE3MWYwMDQxNDhkNWFlMjE3YWVhNmNiMWQ2ZDgxZTYxMTI3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9maWxlYXBpL1dlYktpdEJsb2JCdWlsZGVyLmNwcApAQCAtMzIsNyArMzIsNiBA
QAogCiAjaW5jbHVkZSAiV2ViS2l0QmxvYkJ1aWxkZXIuaCIKIAotI2luY2x1ZGUgIkJsb2IuaCIK
ICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiRmlsZS5oIgogI2luY2x1ZGUg
IkxpbmVFbmRpbmcuaCIKQEAgLTEwNiw3ICsxMDUsNyBAQCB2b2lkIFdlYktpdEJsb2JCdWlsZGVy
OjphcHBlbmQoQmxvYiogYmxvYikKICAgICAgICAgLy8gSWYgdGhlIGJsb2IgaXMgZmlsZSB0aGF0
IGlzIG5vdCBzbmFwc2hvdGVkLCBjYXB0dXJlIHRoZSBzbmFwc2hvdCBub3cuCiAgICAgICAgIC8v
IEZJWE1FOiBUaGlzIGludm9sdmVzIHN5bmNocm9ub3VzIGZpbGUgb3BlcmF0aW9uLiBXZSBuZWVk
IHRvIGZpZ3VyZSBvdXQgaG93IHRvIG1ha2UgaXQgYXN5bmNocm9ub3VzLgogICAgICAgICBsb25n
IGxvbmcgc25hcHNob3RTaXplOwotICAgICAgICBkb3VibGUgc25hcHNob3RNb2RpZmljYXRpb25U
aW1lOworICAgICAgICBGaWxlVGltZSBzbmFwc2hvdE1vZGlmaWNhdGlvblRpbWU7CiAgICAgICAg
IGZpbGUtPmNhcHR1cmVTbmFwc2hvdChzbmFwc2hvdFNpemUsIHNuYXBzaG90TW9kaWZpY2F0aW9u
VGltZSk7CiAKICAgICAgICAgbV9zaXplICs9IHNuYXBzaG90U2l6ZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVNZXRhZGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vRmlsZU1ldGFkYXRhLmgKaW5kZXggMDRkZjkyY2JmMDZkNTc3OTJkYTY2NjU1YjY4MWNh
YmJhMmQxNTQ2NS4uYTk3YzdlMDBkMjFiMWYzMmZhMDNlNzJiNDdjMzQ1N2RiOTc2YWZlOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZU1ldGFkYXRhLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZU1ldGFkYXRhLmgKQEAgLTMxLDE0ICszMSwyNSBAQAog
I2lmbmRlZiBGaWxlTWV0YWRhdGFfaAogI2RlZmluZSBGaWxlTWV0YWRhdGFfaAogCisjaW5jbHVk
ZSA8d3RmL01hdGhFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCisvLyBBIHRoaW4gd3JhcHBlciBmb3IgYSBmaWxlIHRpbWUg
aW4gc2Vjb25kcywgd2hpY2ggZGVmYXVsdHMgdG8gTmFOLgorY2xhc3MgRmlsZVRpbWUgeworcHVi
bGljOgorICAgIEZpbGVUaW1lKCkgOiB2YWx1ZShzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46
OnF1aWV0X05hTigpKSB7IH0KKyAgICBGaWxlVGltZShkb3VibGUgdGltZSkgOiB2YWx1ZSh0aW1l
KSB7IH0KKyAgICBvcGVyYXRvciBkb3VibGUoKSBjb25zdCB7IHJldHVybiB2YWx1ZTsgfQorICAg
IGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIGlzZmluaXRlKHZhbHVlKTsgfQorCitwcml2
YXRlOgorICAgIGRvdWJsZSB2YWx1ZTsKK307CisKIHN0cnVjdCBGaWxlTWV0YWRhdGEgewotICAg
IC8vIFRoZSBsYXN0IG1vZGlmaWNhdGlvbiB0aW1lIG9mIHRoZSBmaWxlLCBpbiBzZWNvbmRzLgot
ICAgIC8vIFRoZSB2YWx1ZSAwLjAgbWVhbnMgdGhhdCB0aGUgdGltZSBpcyBub3Qgc2V0LgotICAg
IGRvdWJsZSBtb2RpZmljYXRpb25UaW1lOworICAgIEZpbGVUaW1lIG1vZGlmaWNhdGlvblRpbWU7
CiAKICAgICAvLyBUaGUgbGVuZ3RoIG9mIHRoZSBmaWxlIGluIGJ5dGVzLgogICAgIC8vIFRoZSB2
YWx1ZSAtMSBtZWFucyB0aGF0IHRoZSBsZW5ndGggaXMgbm90IHNldC4KQEAgLTU2LDcgKzY3LDcg
QEAgc3RydWN0IEZpbGVNZXRhZGF0YSB7CiAgICAgU3RyaW5nIHBsYXRmb3JtUGF0aDsKICNlbmRp
ZgogCi0gICAgRmlsZU1ldGFkYXRhKCkgOiBtb2RpZmljYXRpb25UaW1lKDAuMCksIGxlbmd0aCgt
MSksIHR5cGUoVHlwZVVua25vd24pIHsgfQorICAgIEZpbGVNZXRhZGF0YSgpIDogbGVuZ3RoKC0x
KSwgdHlwZShUeXBlVW5rbm93bikgeyB9CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9zdXBwb3J0L1dlYkhU
VFBCb2R5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL3N1cHBvcnQvV2Vi
SFRUUEJvZHkuY3BwCmluZGV4IGQxODNhZjEyM2I4M2YyN2E5MWVmMGQ2NjI1NWI2ZGRiMGMwMmE1
ZDUuLjhmN2JlMGM0YjQ2ZDU3NDZlNDkzZTM5MzJmY2YyZDQ2MGU0YTM5N2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL3N1cHBvcnQvV2ViSFRUUEJvZHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL3N1cHBvcnQvV2ViSFRUUEJv
ZHkuY3BwCkBAIC03Nyw3ICs3Nyw3IEBAIGJvb2wgV2ViSFRUUEJvZHk6OmVsZW1lbnRBdChzaXpl
X3QgaW5kZXgsIEVsZW1lbnQmIHJlc3VsdCkgY29uc3QKICAgICByZXN1bHQuZmlsZVBhdGgucmVz
ZXQoKTsKICAgICByZXN1bHQuZmlsZVN0YXJ0ID0gMDsKICAgICByZXN1bHQuZmlsZUxlbmd0aCA9
IDA7Ci0gICAgcmVzdWx0Lm1vZGlmaWNhdGlvblRpbWUgPSAwLjA7CisgICAgcmVzdWx0Lm1vZGlm
aWNhdGlvblRpbWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpOwog
ICAgIHJlc3VsdC5ibG9iVVJMID0gS1VSTCgpOwogCiAgICAgc3dpdGNoIChlbGVtZW50Lm1fdHlw
ZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0
YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmNwcAppbmRl
eCBkNGY4ODVmMDAyY2Y4MDEyNTcwMDhjMzM1OTM1Y2E2NDUzNTVlMzdmLi4yMzUzMzQ0MmFmZGNj
NDIzMjkxNTgxMzlhMDNkYjc1ZTY1MjFhMmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL0Jsb2JEYXRhLmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiQmxvYkRhdGEuaCIKKyNpbmNsdWRlICJGaWxlTWV0YWRhdGEuaCIK
IAogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgpA
QCAtNDAsNyArNDEsNiBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBsb25nIGxvbmcg
QmxvYkRhdGFJdGVtOjp0b0VuZE9mRmlsZSA9IC0xOwotY29uc3QgZG91YmxlIEJsb2JEYXRhSXRl
bTo6ZG9Ob3RDaGVja0ZpbGVDaGFuZ2UgPSAwOwogCiBSYXdEYXRhOjpSYXdEYXRhKCkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEuaAppbmRleCBmOTE5ZDY0YmY3
NmY2NmFjYjMxYWUwMzI4ODhkNGM4MmVkMmRlZDkwLi5mNzFlYmNmNDQ2MjE0MTQ2MmMxNGM5NDI0
MjJjMDUwZDE3MTM4NjBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0Jsb2JEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9i
RGF0YS5oCkBAIC0zMSw2ICszMSw3IEBACiAjaWZuZGVmIEJsb2JEYXRhX2gKICNkZWZpbmUgQmxv
YkRhdGFfaAogCisjaW5jbHVkZSAiRmlsZU1ldGFkYXRhLmgiCiAjaW5jbHVkZSAiS1VSTC5oIgog
I2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KQEAg
LTU5LDE0ICs2MCwxMiBAQCBwcml2YXRlOgogCiBzdHJ1Y3QgQmxvYkRhdGFJdGVtIHsKICAgICBz
dGF0aWMgY29uc3QgbG9uZyBsb25nIHRvRW5kT2ZGaWxlOwotICAgIHN0YXRpYyBjb25zdCBkb3Vi
bGUgZG9Ob3RDaGVja0ZpbGVDaGFuZ2U7CiAKICAgICAvLyBEZWZhdWx0IGNvbnN0cnVjdG9yLgog
ICAgIEJsb2JEYXRhSXRlbSgpCiAgICAgICAgIDogdHlwZShEYXRhKQogICAgICAgICAsIG9mZnNl
dCgwKQogICAgICAgICAsIGxlbmd0aCh0b0VuZE9mRmlsZSkKLSAgICAgICAgLCBleHBlY3RlZE1v
ZGlmaWNhdGlvblRpbWUoZG9Ob3RDaGVja0ZpbGVDaGFuZ2UpCiAgICAgewogICAgIH0KIApAQCAt
NzYsNyArNzUsNiBAQCBzdHJ1Y3QgQmxvYkRhdGFJdGVtIHsKICAgICAgICAgLCBkYXRhKGRhdGEp
CiAgICAgICAgICwgb2Zmc2V0KDApCiAgICAgICAgICwgbGVuZ3RoKHRvRW5kT2ZGaWxlKQotICAg
ICAgICAsIGV4cGVjdGVkTW9kaWZpY2F0aW9uVGltZShkb05vdENoZWNrRmlsZUNoYW5nZSkKICAg
ICB7CiAgICAgfQogCkBAIC04NiwxMiArODQsMTEgQEAgc3RydWN0IEJsb2JEYXRhSXRlbSB7CiAg
ICAgICAgICwgcGF0aChwYXRoKQogICAgICAgICAsIG9mZnNldCgwKQogICAgICAgICAsIGxlbmd0
aCh0b0VuZE9mRmlsZSkKLSAgICAgICAgLCBleHBlY3RlZE1vZGlmaWNhdGlvblRpbWUoZG9Ob3RD
aGVja0ZpbGVDaGFuZ2UpCiAgICAgewogICAgIH0KIAogICAgIC8vIENvbnN0cnVjdG9yIGZvciBG
aWxlIHR5cGUgKHBhcnRpYWwgZmlsZSkuCi0gICAgQmxvYkRhdGFJdGVtKGNvbnN0IFN0cmluZyYg
cGF0aCwgbG9uZyBsb25nIG9mZnNldCwgbG9uZyBsb25nIGxlbmd0aCwgZG91YmxlIGV4cGVjdGVk
TW9kaWZpY2F0aW9uVGltZSkKKyAgICBCbG9iRGF0YUl0ZW0oY29uc3QgU3RyaW5nJiBwYXRoLCBs
b25nIGxvbmcgb2Zmc2V0LCBsb25nIGxvbmcgbGVuZ3RoLCBGaWxlVGltZSBleHBlY3RlZE1vZGlm
aWNhdGlvblRpbWUpCiAgICAgICAgIDogdHlwZShGaWxlKQogICAgICAgICAsIHBhdGgocGF0aCkK
ICAgICAgICAgLCBvZmZzZXQob2Zmc2V0KQpAQCAtMTA2LDcgKzEwMyw2IEBAIHN0cnVjdCBCbG9i
RGF0YUl0ZW0gewogICAgICAgICAsIHVybCh1cmwpCiAgICAgICAgICwgb2Zmc2V0KG9mZnNldCkK
ICAgICAgICAgLCBsZW5ndGgobGVuZ3RoKQotICAgICAgICAsIGV4cGVjdGVkTW9kaWZpY2F0aW9u
VGltZShkb05vdENoZWNrRmlsZUNoYW5nZSkKICAgICB7CiAgICAgfQogCkBAIC0xMjYsNyArMTIy
LDcgQEAgc3RydWN0IEJsb2JEYXRhSXRlbSB7CiAKICAgICBsb25nIGxvbmcgb2Zmc2V0OwogICAg
IGxvbmcgbG9uZyBsZW5ndGg7Ci0gICAgZG91YmxlIGV4cGVjdGVkTW9kaWZpY2F0aW9uVGltZTsK
KyAgICBGaWxlVGltZSBleHBlY3RlZE1vZGlmaWNhdGlvblRpbWU7CiAKIHByaXZhdGU6CiAgICAg
ZnJpZW5kIGNsYXNzIEJsb2JEYXRhOwpAQCAtMTM3LDcgKzEzMyw2IEBAIHByaXZhdGU6CiAgICAg
ICAgICwgZGF0YShkYXRhKQogICAgICAgICAsIG9mZnNldChvZmZzZXQpCiAgICAgICAgICwgbGVu
Z3RoKGxlbmd0aCkKLSAgICAgICAgLCBleHBlY3RlZE1vZGlmaWNhdGlvblRpbWUoZG9Ob3RDaGVj
a0ZpbGVDaGFuZ2UpCiAgICAgewogICAgIH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvRm9ybURhdGEuY3BwCmluZGV4IGViZjI3M2NkNWM4ZTEzMTYzYzlhY2FmNjJkMTRi
ZjUwNDBmOGNkZGIuLjgwN2QzNzI0N2EyOWQwMjcyYjNjZWRmMTllNGExOWFjMTA4NjAzNzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuY3BwCkBAIC0yOCw2
ICsyOCw3IEBACiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQu
aCIKICNpbmNsdWRlICJGaWxlLmgiCisjaW5jbHVkZSAiRmlsZU1ldGFkYXRhLmgiCiAjaW5jbHVk
ZSAiRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIkZvcm1EYXRhQnVpbGRlci5oIgogI2luY2x1ZGUg
IkZvcm1EYXRhTGlzdC5oIgpAQCAtMTY0LDcgKzE2NSw3IEBAIHZvaWQgRm9ybURhdGE6OmFwcGVu
ZERhdGEoY29uc3Qgdm9pZCogZGF0YSwgc2l6ZV90IHNpemUpCiB2b2lkIEZvcm1EYXRhOjphcHBl
bmRGaWxlKGNvbnN0IFN0cmluZyYgZmlsZW5hbWUsIGJvb2wgc2hvdWxkR2VuZXJhdGVGaWxlKQog
ewogI2lmIEVOQUJMRShCTE9CKQotICAgIG1fZWxlbWVudHMuYXBwZW5kKEZvcm1EYXRhRWxlbWVu
dChmaWxlbmFtZSwgMCwgQmxvYkRhdGFJdGVtOjp0b0VuZE9mRmlsZSwgQmxvYkRhdGFJdGVtOjpk
b05vdENoZWNrRmlsZUNoYW5nZSwgc2hvdWxkR2VuZXJhdGVGaWxlKSk7CisgICAgbV9lbGVtZW50
cy5hcHBlbmQoRm9ybURhdGFFbGVtZW50KGZpbGVuYW1lLCAwLCBCbG9iRGF0YUl0ZW06OnRvRW5k
T2ZGaWxlLCBGaWxlVGltZSgpLCBzaG91bGRHZW5lcmF0ZUZpbGUpKTsKICNlbHNlCiAgICAgbV9l
bGVtZW50cy5hcHBlbmQoRm9ybURhdGFFbGVtZW50KGZpbGVuYW1lLCBzaG91bGRHZW5lcmF0ZUZp
bGUpKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9Gb3JtRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YS5o
CmluZGV4IDE0OTgxMzY2YjNlZDU1NzRhNjliMGIwMzlhZGQ0MDkyZjJlODlkY2YuLjA5MGY5NTAx
YTYxMmUxMmRjZTMyZGY1NTFkZjViN2I4MDM1NDAxNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmgKQEAgLTIwLDYgKzIwLDcgQEAKICNpZm5kZWYgRm9ybURh
dGFfaAogI2RlZmluZSBGb3JtRGF0YV9oCiAKKyNpbmNsdWRlICJGaWxlTWV0YWRhdGEuaCIKICNp
bmNsdWRlICJLVVJMLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgpAQCAtNTYsNyArNTcsNyBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKEJMT0Ip
CiAgICAgbG9uZyBsb25nIG1fZmlsZVN0YXJ0OwogICAgIGxvbmcgbG9uZyBtX2ZpbGVMZW5ndGg7
Ci0gICAgZG91YmxlIG1fZXhwZWN0ZWRGaWxlTW9kaWZpY2F0aW9uVGltZTsKKyAgICBGaWxlVGlt
ZSBtX2V4cGVjdGVkRmlsZU1vZGlmaWNhdGlvblRpbWU7CiAgICAgS1VSTCBtX2Jsb2JVUkw7CiAj
ZW5kaWYKICAgICBTdHJpbmcgbV9nZW5lcmF0ZWRGaWxlbmFtZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQuY3Bw
CmluZGV4IGRlYzlkYzIxY2QxODM2YjZiODUzMTA5ODkwZjI4MzllODIwYzhlOTcuLmU4OWNlOTE2
Y2JiYjUwNDI1OWVlM2QyNWZmYmNlOWYyMzBmMjc4NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Gb3JtRGF0YVN0cmVhbUNGTmV0LmNwcApA
QCAtMTU2LDcgKzE1Niw3IEBAIHN0YXRpYyBib29sIGFkdmFuY2VDdXJyZW50U3RyZWFtKEZvcm1T
dHJlYW1GaWVsZHMqIGZvcm0pCiAgICAgfSBlbHNlIHsKICNpZiBFTkFCTEUoQkxPQikKICAgICAg
ICAgLy8gQ2hlY2sgaWYgdGhlIGZpbGUgaGFzIGJlZW4gY2hhbmdlZCBvciBub3QgaWYgcmVxdWly
ZWQuCi0gICAgICAgIGlmIChuZXh0SW5wdXQubV9leHBlY3RlZEZpbGVNb2RpZmljYXRpb25UaW1l
ICE9IEJsb2JEYXRhSXRlbTo6ZG9Ob3RDaGVja0ZpbGVDaGFuZ2UpIHsKKyAgICAgICAgaWYgKG5l
eHRJbnB1dC5tX2V4cGVjdGVkRmlsZU1vZGlmaWNhdGlvblRpbWUuaXNWYWxpZCgpKSB7CiAgICAg
ICAgICAgICB0aW1lX3QgZmlsZU1vZGlmaWNhdGlvblRpbWU7CiAgICAgICAgICAgICBpZiAoIWdl
dEZpbGVNb2RpZmljYXRpb25UaW1lKG5leHRJbnB1dC5tX2ZpbGVuYW1lLCBmaWxlTW9kaWZpY2F0
aW9uVGltZSkgfHwgZmlsZU1vZGlmaWNhdGlvblRpbWUgIT0gc3RhdGljX2Nhc3Q8dGltZV90Pihu
ZXh0SW5wdXQubV9leHBlY3RlZEZpbGVNb2RpZmljYXRpb25UaW1lKSkKICAgICAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCmluZGV4IGRjMGNiNjI0M2FjYzQy
NzJhN2Y2M2E1NmVmNWVmOTNkNzBlMzcyNDkuLmM1ZGI3OTZiYjc4ZTc4ZjA0MDY3MTY5MTM2YjVj
ZmMzN2RhYmMyOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
c291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwCkBAIC00MjgsNyArNDI4LDcgQEAg
c3RhdGljIGJvb2wgYWRkRmlsZVRvU291cE1lc3NhZ2VCb2R5KFNvdXBNZXNzYWdlKiBtZXNzYWdl
LCBjb25zdCBTdHJpbmcmIGZpbGVOYW0KIHN0YXRpYyBib29sIGJsb2JJc091dE9mRGF0ZShjb25z
dCBCbG9iRGF0YUl0ZW0mIGJsb2JJdGVtKQogewogICAgIEFTU0VSVChibG9iSXRlbS50eXBlID09
IEJsb2JEYXRhSXRlbTo6RmlsZSk7Ci0gICAgaWYgKGJsb2JJdGVtLmV4cGVjdGVkTW9kaWZpY2F0
aW9uVGltZSA9PSBCbG9iRGF0YUl0ZW06OmRvTm90Q2hlY2tGaWxlQ2hhbmdlKQorICAgIGlmICgh
YmxvYkl0ZW0uZXhwZWN0ZWRNb2RpZmljYXRpb25UaW1lLmlzVmFsaWQoKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCiAgICAgdGltZV90IGZpbGVNb2RpZmljYXRpb25UaW1lOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146231</attachid>
            <date>2012-06-07 01:45:36 -0700</date>
            <delta_ts>2012-06-08 01:23:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87826-20120607174535.patch</filename>
            <type>text/plain</type>
            <size>13126</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NTczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDNlOGQ4Y2JmNzVjY2M3
MWNiODk2ZjJiNjcxNDRmMDQ3NzRlNTM3OC4uNmI2ZjU3Y2Q0OGVlNTJjYTAwZWNiOGVkOGY2MDQx
MzBlYjcwMjJlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA2LTA3ICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBGaWxlOjpsYXN0TW9k
aWZpZWREYXRlIHNob3VsZCB1c2UgTmFOIG9yIHNlcGFyYXRlIGJvb2xlYW4gZmxhZyBmb3IgbnVs
bCBEYXRlIHZhbHVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04NzgyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRlc3Q6IGh0dHAvdGVzdHMvbG9jYWwvZmlsZWFwaS9maWxlLWxhc3QtbW9kaWZpZWQtYWZ0
ZXItZGVsZXRlLmh0bWwKKworICAgICAgICAqIGZpbGVhcGkvRmlsZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGaWxlOjpGaWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGU6OmNhcHR1cmVTbmFw
c2hvdCk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlOjpsYXN0TW9kaWZpZWREYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZpbGU6Omxhc3RNb2RpZmllZERhdGVGb3JCaW5kaW5nKTogUmVtb3ZlZC4K
KyAgICAgICAgKiBmaWxlYXBpL0ZpbGUuaDoKKyAgICAgICAgKEZpbGUpOgorICAgICAgICAqIGZp
bGVhcGkvRmlsZS5pZGw6CisgICAgICAgICogcGxhdGZvcm0vRmlsZU1ldGFkYXRhLmg6CisgICAg
ICAgIChXZWJDb3JlOjpGaWxlTWV0YWRhdGE6OkZpbGVNZXRhZGF0YSk6CisgICAgICAgICogcGxh
dGZvcm0vRmlsZVN5c3RlbS5oOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3N1cHBvcnQv
V2ViSFRUUEJvZHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJIVFRQQm9keTo6ZWxlbWVudEF0
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmg6CisgICAgICAgIChXZWJD
b3JlOjpCbG9iRGF0YUl0ZW06OmRvTm90Q2hlY2tGaWxlQ2hhbmdlKTogUmVtb3ZlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9u
ZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YWR2
YW5jZUN1cnJlbnRTdHJlYW0pOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNv
dXJjZUhhbmRsZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YmxvYklzT3V0T2ZEYXRlKToK
KwogMjAxMi0wNi0wNiAgU2hpbnlhIEthd2FuYWthICA8c2hpbnlha0BjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUG9zaXRpb25JdGVyYXRvcjo7c2V0T2Zmc2V0SW5MZWFmTm9kZSgpIGlzIG5vdCB1
c2VkIGFueXdoZXJlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5jcHAKaW5kZXggODZkNTk4OTRmNWZlY2Fh
ZmY5NTRkOThiNTIyMDYyZGRjZmYwZDU2Zi4uNWY4YjkzYjc4MjhkNDMxMmVhODE3YTAwMWY2NDE1
MTY2MTQyYzI0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuY3BwCkBAIC04Niw3ICs4Niw3IEBAIEZp
bGU6OkZpbGUoY29uc3QgU3RyaW5nJiBwYXRoKQogICAgICwgbV9uYW1lKHBhdGhHZXRGaWxlTmFt
ZShwYXRoKSkKICNpZiBFTkFCTEUoRklMRV9TWVNURU0pCiAgICAgLCBtX3NuYXBzaG90U2l6ZSgt
MSkKLSAgICAsIG1fc25hcHNob3RNb2RpZmljYXRpb25UaW1lKDApCisgICAgLCBtX3NuYXBzaG90
TW9kaWZpY2F0aW9uVGltZShpbnZhbGlkRmlsZVRpbWUoKSkKICNlbmRpZgogewogfQpAQCAtOTYs
NyArOTYsNyBAQCBGaWxlOjpGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCwgY29uc3QgS1VSTCYgdXJs
LCBjb25zdCBTdHJpbmcmIHR5cGUpCiAgICAgLCBtX3BhdGgocGF0aCkKICNpZiBFTkFCTEUoRklM
RV9TWVNURU0pCiAgICAgLCBtX3NuYXBzaG90U2l6ZSgtMSkKLSAgICAsIG1fc25hcHNob3RNb2Rp
ZmljYXRpb25UaW1lKDApCisgICAgLCBtX3NuYXBzaG90TW9kaWZpY2F0aW9uVGltZShpbnZhbGlk
RmlsZVRpbWUoKSkKICNlbmRpZgogewogICAgIG1fbmFtZSA9IHBhdGhHZXRGaWxlTmFtZShwYXRo
KTsKQEAgLTExMSw3ICsxMTEsNyBAQCBGaWxlOjpGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCwgY29u
c3QgU3RyaW5nJiBuYW1lKQogICAgICwgbV9uYW1lKG5hbWUpCiAjaWYgRU5BQkxFKEZJTEVfU1lT
VEVNKQogICAgICwgbV9zbmFwc2hvdFNpemUoLTEpCi0gICAgLCBtX3NuYXBzaG90TW9kaWZpY2F0
aW9uVGltZSgwKQorICAgICwgbV9zbmFwc2hvdE1vZGlmaWNhdGlvblRpbWUoaW52YWxpZEZpbGVU
aW1lKCkpCiAjZW5kaWYKIHsKIH0KQEAgLTEzNiwxOCArMTM2LDEyIEBAIGRvdWJsZSBGaWxlOjps
YXN0TW9kaWZpZWREYXRlKCkgY29uc3QKIAogICAgIHRpbWVfdCBtb2RpZmljYXRpb25UaW1lOwog
ICAgIGlmICghZ2V0RmlsZU1vZGlmaWNhdGlvblRpbWUobV9wYXRoLCBtb2RpZmljYXRpb25UaW1l
KSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBpbnZhbGlkRmlsZVRpbWUoKTsK
IAogICAgIC8vIE5lZWRzIHRvIHJldHVybiBlcG9jaCB0aW1lIGluIG1pbGxpc2Vjb25kcyBmb3Ig
RGF0ZS4KICAgICByZXR1cm4gbW9kaWZpY2F0aW9uVGltZSAqIDEwMDAuMDsKIH0KIAotZG91Ymxl
IEZpbGU6Omxhc3RNb2RpZmllZERhdGVGb3JCaW5kaW5nKCkgY29uc3QKLXsKLSAgICBkb3VibGUg
dmFsdWUgPSBsYXN0TW9kaWZpZWREYXRlKCk7Ci0gICAgcmV0dXJuICghdmFsdWUpID8gc3RkOjpu
dW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKSA6IHZhbHVlOwotfQotCiB1bnNpZ25l
ZCBsb25nIGxvbmcgRmlsZTo6c2l6ZSgpIGNvbnN0CiB7CiAjaWYgRU5BQkxFKEZJTEVfU1lTVEVN
KQpAQCAtMTc4LDcgKzE3Miw3IEBAIHZvaWQgRmlsZTo6Y2FwdHVyZVNuYXBzaG90KGxvbmcgbG9u
ZyYgc25hcHNob3RTaXplLCBkb3VibGUmIHNuYXBzaG90TW9kaWZpY2F0aW9uCiAgICAgRmlsZU1l
dGFkYXRhIG1ldGFkYXRhOwogICAgIGlmICghZ2V0RmlsZU1ldGFkYXRhKG1fcGF0aCwgbWV0YWRh
dGEpKSB7CiAgICAgICAgIHNuYXBzaG90U2l6ZSA9IDA7Ci0gICAgICAgIHNuYXBzaG90TW9kaWZp
Y2F0aW9uVGltZSA9IDA7CisgICAgICAgIHNuYXBzaG90TW9kaWZpY2F0aW9uVGltZSA9IGludmFs
aWRGaWxlVGltZSgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuaCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5o
CmluZGV4IDY3ZjMxZjZhNzhiNzUzYjcwMzJmNWQwYzMyMDQ1MmYwZjMyODQzMjkuLmNiN2M0MWU5
ODUyOGY3YzI0NTE5Y2MyNjIzMjBhOThmYjgxZDYwMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2ZpbGVhcGkvRmlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5oCkBA
IC03NywxMiArNzcsOSBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBwYXRoKCkgY29uc3Qg
eyByZXR1cm4gbV9wYXRoOyB9CiAgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1
cm4gbV9uYW1lOyB9CiAKLSAgICAvLyBUaGlzIG1heSByZXR1cm4gemVybyBpZiBnZXRGaWxlTW9k
aWZpY2F0aW9uVGltZSgpIHBsYXRmb3JtIGNhbGwgaGFzIGZhaWxlZCBvciB6ZXJvIHNuYXBzaG90
IGxhc3RNb2RpZmllZFRpbWUgaXMgZ2l2ZW4gYXQgY29uc3RydWN0aW9uIHRpbWUuCisgICAgLy8g
VGhpcyBtYXkgcmV0dXJuIE5hTiAod2hpY2ggaXMgY29udmVydGVkIHRvIG51bGwgRGF0ZSBpbiBq
YXZhc2NyaXB0IGxheWVyKSBpZiBnZXRGaWxlTW9kaWZpY2F0aW9uVGltZSgpIHBsYXRmb3JtIGNh
bGwgaGFzIGZhaWxlZCBvciB0aGUgaW5mb3JtYXRpb24gaXMgbm90IGF2YWlsYWJsZS4KICAgICBk
b3VibGUgbGFzdE1vZGlmaWVkRGF0ZSgpIGNvbnN0OwogCi0gICAgLy8gRm9yIGJpbmRpbmcuIFdl
IHdhbnQgdG8gcmV0dXJuIG51bGwgRGF0ZSBpZiB3ZSBnZXQgdGhlIHZhbHVlIDAgRGF0ZSAod2hp
Y2ggaXMgdXNlZCB0byBpbmRpY2F0ZSB0aGUgaW5mb3JtYXRpb24gaXMgdW5hdmFpbGFibGUpLgot
ICAgIGRvdWJsZSBsYXN0TW9kaWZpZWREYXRlRm9yQmluZGluZygpIGNvbnN0OwotCiAjaWYgRU5B
QkxFKERJUkVDVE9SWV9VUExPQUQpCiAgICAgLy8gUmV0dXJucyB0aGUgcmVsYXRpdmUgcGF0aCBv
ZiB0aGlzIGZpbGUgaW4gdGhlIGNvbnRleHQgb2YgYSBkaXJlY3Rvcnkgc2VsZWN0aW9uLgogICAg
IGNvbnN0IFN0cmluZyYgd2Via2l0UmVsYXRpdmVQYXRoKCkgY29uc3QgeyByZXR1cm4gbV9yZWxh
dGl2ZVBhdGg7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuaWRsCmluZGV4IDAwYmRkZTZmNTEwMjRkYmEw
YWU0OTA2ODgxNTY2NDQwZGNmZTJmNjQuLjdjMGRlNDMwOWRmZGE1YTYwZWQxNDNjYWE1NDhiMzU5
OTQxMjhkNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmlkbApAQCAtMzIsNyArMzIsNyBAQCBtb2R1
bGUgaHRtbCB7CiAgICAgXSBGaWxlIDogQmxvYiB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01TdHJpbmcgbmFtZTsKICNpZiAhZGVmaW5lZChMQU5HVUFHRV9HT0JKRUNUKSB8fCAhTEFO
R1VBR0VfR09CSkVDVAotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0ltcGxlbWVudGVkQXM9
bGFzdE1vZGlmaWVkRGF0ZUZvckJpbmRpbmddIERhdGUgbGFzdE1vZGlmaWVkRGF0ZTsKKyAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIERhdGUgbGFzdE1vZGlmaWVkRGF0ZTsKICNlbmRpZgogI2lm
IGRlZmluZWQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICYmIEVOQUJMRV9ESVJFQ1RPUllfVVBM
T0FECiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgd2Via2l0UmVsYXRpdmVQ
YXRoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZU1ldGFkYXRhLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlTWV0YWRhdGEuaAppbmRleCAwNGRmOTJjYmYw
NmQ1Nzc5MmRhNjY2NTViNjgxY2FiYmEyZDE1NDY1Li44MjkwZDY3NTFmOGNhNmJlNmNlOTU2NGVi
Y2Y2NWZlOGMxZDg0MzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxl
TWV0YWRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlTWV0YWRhdGEuaApA
QCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBGaWxlTWV0YWRhdGFfaAogI2RlZmluZSBGaWxlTWV0
YWRhdGFfaAogCisjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01Niw3ICs1Nyw3IEBAIHN0cnVj
dCBGaWxlTWV0YWRhdGEgewogICAgIFN0cmluZyBwbGF0Zm9ybVBhdGg7CiAjZW5kaWYKIAotICAg
IEZpbGVNZXRhZGF0YSgpIDogbW9kaWZpY2F0aW9uVGltZSgwLjApLCBsZW5ndGgoLTEpLCB0eXBl
KFR5cGVVbmtub3duKSB7IH0KKyAgICBGaWxlTWV0YWRhdGEoKSA6IG1vZGlmaWNhdGlvblRpbWUo
aW52YWxpZEZpbGVUaW1lKCkpLCBsZW5ndGgoLTEpLCB0eXBlKFR5cGVVbmtub3duKSB7IH0KIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0ZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0u
aAppbmRleCAyMWVjZTExMjFmMzE3ZGJiZmVkM2FlOTExMDg3OTAxZWUwZDFjNzE0Li45N2Y0YjBm
MTBkOTgyYTBiYTRjYTIzNDE1MzljMDU2M2Q5NmNhYmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
RmlsZVN5c3RlbS5oCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcu
aCIKICNpbmNsdWRlIDx0aW1lLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpbmNsdWRl
IDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogI2lmIFVTRShD
RikKQEAgLTE3NCw2ICsxNzUsOSBAQCBDU3RyaW5nIGZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbihj
b25zdCBTdHJpbmcmKTsKIAogaW5saW5lIGJvb2wgaXNIYW5kbGVWYWxpZChjb25zdCBQbGF0Zm9y
bUZpbGVIYW5kbGUmIGhhbmRsZSkgeyByZXR1cm4gaGFuZGxlICE9IGludmFsaWRQbGF0Zm9ybUZp
bGVIYW5kbGU7IH0KIAoraW5saW5lIGRvdWJsZSBpbnZhbGlkRmlsZVRpbWUoKSB7IHJldHVybiBz
dGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpOyB9CitpbmxpbmUgYm9vbCBp
c1ZhbGlkRmlsZVRpbWUoZG91YmxlIHRpbWUpIHsgcmV0dXJuIGlzZmluaXRlKHRpbWUpOyB9CisK
IC8vIFByZWZpeCBpcyB3aGF0IHRoZSBmaWxlbmFtZSBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCwg
bm90IHRoZSBmdWxsIHBhdGguCiBTdHJpbmcgb3BlblRlbXBvcmFyeUZpbGUoY29uc3QgU3RyaW5n
JiBwcmVmaXgsIFBsYXRmb3JtRmlsZUhhbmRsZSYpOwogUGxhdGZvcm1GaWxlSGFuZGxlIG9wZW5G
aWxlKGNvbnN0IFN0cmluZyYgcGF0aCwgRmlsZU9wZW5Nb2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL3N1cHBvcnQvV2ViSFRUUEJvZHkuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vc3VwcG9ydC9XZWJIVFRQQm9keS5jcHAKaW5k
ZXggZDE4M2FmMTIzYjgzZjI3YTkxZWYwZDY2MjU1YjZkZGIwYzAyYTVkNS4uNDBiMGZjZDI2YmM4
YzhkN2M4Zjk5ZDg2Yzk3MDk1MzFjOTI2M2FlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vc3VwcG9ydC9XZWJIVFRQQm9keS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vc3VwcG9ydC9XZWJIVFRQQm9keS5jcHAKQEAgLTMxLDYg
KzMxLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlIDxwdWJsaWMvV2ViSFRUUEJv
ZHkuaD4KIAorI2luY2x1ZGUgIkZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJGb3JtRGF0YS5oIgog
CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKQEAgLTc3LDcgKzc4LDcgQEAgYm9vbCBXZWJIVFRQ
Qm9keTo6ZWxlbWVudEF0KHNpemVfdCBpbmRleCwgRWxlbWVudCYgcmVzdWx0KSBjb25zdAogICAg
IHJlc3VsdC5maWxlUGF0aC5yZXNldCgpOwogICAgIHJlc3VsdC5maWxlU3RhcnQgPSAwOwogICAg
IHJlc3VsdC5maWxlTGVuZ3RoID0gMDsKLSAgICByZXN1bHQubW9kaWZpY2F0aW9uVGltZSA9IDAu
MDsKKyAgICByZXN1bHQubW9kaWZpY2F0aW9uVGltZSA9IGludmFsaWRGaWxlVGltZSgpOwogICAg
IHJlc3VsdC5ibG9iVVJMID0gS1VSTCgpOwogCiAgICAgc3dpdGNoIChlbGVtZW50Lm1fdHlwZSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmNwcAppbmRleCBk
NGY4ODVmMDAyY2Y4MDEyNTcwMDhjMzM1OTM1Y2E2NDUzNTVlMzdmLi4zNjk4YjQyZDE0Mzk4YmUz
MTE4Njc3NzgzODZiYWEzNTdhNWEzZWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0Jsb2JEYXRhLmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiQmxvYkRhdGEuaCIKKyNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCiAKICNp
bmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KQEAgLTQw
LDcgKzQxLDYgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY29uc3QgbG9uZyBsb25nIEJsb2JE
YXRhSXRlbTo6dG9FbmRPZkZpbGUgPSAtMTsKLWNvbnN0IGRvdWJsZSBCbG9iRGF0YUl0ZW06OmRv
Tm90Q2hlY2tGaWxlQ2hhbmdlID0gMDsKIAogUmF3RGF0YTo6UmF3RGF0YSgpCiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgKaW5kZXggZjkxOWQ2NGJmNzZmNjZh
Y2IzMWFlMDMyODg4ZDRjODJlZDJkZWQ5MC4uNTE5NWNjOTVjZTUyMDk3NjU4NzViZGMyZDI0MTRl
NjU1ZTk3ZTcyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9C
bG9iRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYkRhdGEu
aApAQCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBCbG9iRGF0YV9oCiAjZGVmaW5lIEJsb2JEYXRh
X2gKIAorI2luY2x1ZGUgIkZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJLVVJMLmgiCiAjaW5jbHVk
ZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgpAQCAtNTksMTQg
KzYwLDEzIEBAIHByaXZhdGU6CiAKIHN0cnVjdCBCbG9iRGF0YUl0ZW0gewogICAgIHN0YXRpYyBj
b25zdCBsb25nIGxvbmcgdG9FbmRPZkZpbGU7Ci0gICAgc3RhdGljIGNvbnN0IGRvdWJsZSBkb05v
dENoZWNrRmlsZUNoYW5nZTsKIAogICAgIC8vIERlZmF1bHQgY29uc3RydWN0b3IuCiAgICAgQmxv
YkRhdGFJdGVtKCkKICAgICAgICAgOiB0eXBlKERhdGEpCiAgICAgICAgICwgb2Zmc2V0KDApCiAg
ICAgICAgICwgbGVuZ3RoKHRvRW5kT2ZGaWxlKQotICAgICAgICAsIGV4cGVjdGVkTW9kaWZpY2F0
aW9uVGltZShkb05vdENoZWNrRmlsZUNoYW5nZSkKKyAgICAgICAgLCBleHBlY3RlZE1vZGlmaWNh
dGlvblRpbWUoaW52YWxpZEZpbGVUaW1lKCkpCiAgICAgewogICAgIH0KIApAQCAtNzYsNyArNzYs
NyBAQCBzdHJ1Y3QgQmxvYkRhdGFJdGVtIHsKICAgICAgICAgLCBkYXRhKGRhdGEpCiAgICAgICAg
ICwgb2Zmc2V0KDApCiAgICAgICAgICwgbGVuZ3RoKHRvRW5kT2ZGaWxlKQotICAgICAgICAsIGV4
cGVjdGVkTW9kaWZpY2F0aW9uVGltZShkb05vdENoZWNrRmlsZUNoYW5nZSkKKyAgICAgICAgLCBl
eHBlY3RlZE1vZGlmaWNhdGlvblRpbWUoaW52YWxpZEZpbGVUaW1lKCkpCiAgICAgewogICAgIH0K
IApAQCAtODYsNyArODYsNyBAQCBzdHJ1Y3QgQmxvYkRhdGFJdGVtIHsKICAgICAgICAgLCBwYXRo
KHBhdGgpCiAgICAgICAgICwgb2Zmc2V0KDApCiAgICAgICAgICwgbGVuZ3RoKHRvRW5kT2ZGaWxl
KQotICAgICAgICAsIGV4cGVjdGVkTW9kaWZpY2F0aW9uVGltZShkb05vdENoZWNrRmlsZUNoYW5n
ZSkKKyAgICAgICAgLCBleHBlY3RlZE1vZGlmaWNhdGlvblRpbWUoaW52YWxpZEZpbGVUaW1lKCkp
CiAgICAgewogICAgIH0KIApAQCAtOTksMTQgKzk5LDE0IEBAIHN0cnVjdCBCbG9iRGF0YUl0ZW0g
ewogICAgICAgICAsIGV4cGVjdGVkTW9kaWZpY2F0aW9uVGltZShleHBlY3RlZE1vZGlmaWNhdGlv
blRpbWUpCiAgICAgewogICAgIH0KLSAgICAKKwogICAgIC8vIENvbnN0cnVjdG9yIGZvciBCbG9i
IHR5cGUuCiAgICAgQmxvYkRhdGFJdGVtKGNvbnN0IEtVUkwmIHVybCwgbG9uZyBsb25nIG9mZnNl
dCwgbG9uZyBsb25nIGxlbmd0aCkKICAgICAgICAgOiB0eXBlKEJsb2IpCiAgICAgICAgICwgdXJs
KHVybCkKICAgICAgICAgLCBvZmZzZXQob2Zmc2V0KQogICAgICAgICAsIGxlbmd0aChsZW5ndGgp
Ci0gICAgICAgICwgZXhwZWN0ZWRNb2RpZmljYXRpb25UaW1lKGRvTm90Q2hlY2tGaWxlQ2hhbmdl
KQorICAgICAgICAsIGV4cGVjdGVkTW9kaWZpY2F0aW9uVGltZShpbnZhbGlkRmlsZVRpbWUoKSkK
ICAgICB7CiAgICAgfQogCkBAIC0xMTQsNyArMTE0LDcgQEAgc3RydWN0IEJsb2JEYXRhSXRlbSB7
CiAgICAgdm9pZCBkZXRhY2hGcm9tQ3VycmVudFRocmVhZCgpOwogCiAgICAgZW51bSB7IERhdGEs
IEZpbGUsIEJsb2IgfSB0eXBlOwotICAgIAorCiAgICAgLy8gRm9yIERhdGEgdHlwZS4KICAgICBS
ZWZQdHI8UmF3RGF0YT4gZGF0YTsKIApAQCAtMTM3LDcgKzEzNyw3IEBAIHByaXZhdGU6CiAgICAg
ICAgICwgZGF0YShkYXRhKQogICAgICAgICAsIG9mZnNldChvZmZzZXQpCiAgICAgICAgICwgbGVu
Z3RoKGxlbmd0aCkKLSAgICAgICAgLCBleHBlY3RlZE1vZGlmaWNhdGlvblRpbWUoZG9Ob3RDaGVj
a0ZpbGVDaGFuZ2UpCisgICAgICAgICwgZXhwZWN0ZWRNb2RpZmljYXRpb25UaW1lKGludmFsaWRG
aWxlVGltZSgpKQogICAgIHsKICAgICB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL0Zvcm1EYXRhLmNwcAppbmRleCBlYmYyNzNjZDVjOGUxMzE2M2M5YWNhZjYyZDE0YmY1
MDQwZjhjZGRiLi4wN2JlYmIyODdmOGVjYjVkMGFmMzJmOWIyZWQyYzIzZTcwMDVjODM1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmNwcApAQCAtMTY0LDcg
KzE2NCw3IEBAIHZvaWQgRm9ybURhdGE6OmFwcGVuZERhdGEoY29uc3Qgdm9pZCogZGF0YSwgc2l6
ZV90IHNpemUpCiB2b2lkIEZvcm1EYXRhOjphcHBlbmRGaWxlKGNvbnN0IFN0cmluZyYgZmlsZW5h
bWUsIGJvb2wgc2hvdWxkR2VuZXJhdGVGaWxlKQogewogI2lmIEVOQUJMRShCTE9CKQotICAgIG1f
ZWxlbWVudHMuYXBwZW5kKEZvcm1EYXRhRWxlbWVudChmaWxlbmFtZSwgMCwgQmxvYkRhdGFJdGVt
Ojp0b0VuZE9mRmlsZSwgQmxvYkRhdGFJdGVtOjpkb05vdENoZWNrRmlsZUNoYW5nZSwgc2hvdWxk
R2VuZXJhdGVGaWxlKSk7CisgICAgbV9lbGVtZW50cy5hcHBlbmQoRm9ybURhdGFFbGVtZW50KGZp
bGVuYW1lLCAwLCBCbG9iRGF0YUl0ZW06OnRvRW5kT2ZGaWxlLCBpbnZhbGlkRmlsZVRpbWUoKSwg
c2hvdWxkR2VuZXJhdGVGaWxlKSk7CiAjZWxzZQogICAgIG1fZWxlbWVudHMuYXBwZW5kKEZvcm1E
YXRhRWxlbWVudChmaWxlbmFtZSwgc2hvdWxkR2VuZXJhdGVGaWxlKSk7CiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1D
Rk5ldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0Zvcm1EYXRhU3Ry
ZWFtQ0ZOZXQuY3BwCmluZGV4IGRlYzlkYzIxY2QxODM2YjZiODUzMTA5ODkwZjI4MzllODIwYzhl
OTcuLjY4ZjA2MzM0NmMxMzc1NGMxYjBiZGRkZmI3NmE2ZGE5NzVmODQ3YzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5ldC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Gb3JtRGF0YVN0cmVh
bUNGTmV0LmNwcApAQCAtMTU2LDcgKzE1Niw3IEBAIHN0YXRpYyBib29sIGFkdmFuY2VDdXJyZW50
U3RyZWFtKEZvcm1TdHJlYW1GaWVsZHMqIGZvcm0pCiAgICAgfSBlbHNlIHsKICNpZiBFTkFCTEUo
QkxPQikKICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGZpbGUgaGFzIGJlZW4gY2hhbmdlZCBvciBu
b3QgaWYgcmVxdWlyZWQuCi0gICAgICAgIGlmIChuZXh0SW5wdXQubV9leHBlY3RlZEZpbGVNb2Rp
ZmljYXRpb25UaW1lICE9IEJsb2JEYXRhSXRlbTo6ZG9Ob3RDaGVja0ZpbGVDaGFuZ2UpIHsKKyAg
ICAgICAgaWYgKGlzVmFsaWRGaWxlVGltZShuZXh0SW5wdXQubV9leHBlY3RlZEZpbGVNb2RpZmlj
YXRpb25UaW1lKSkgewogICAgICAgICAgICAgdGltZV90IGZpbGVNb2RpZmljYXRpb25UaW1lOwog
ICAgICAgICAgICAgaWYgKCFnZXRGaWxlTW9kaWZpY2F0aW9uVGltZShuZXh0SW5wdXQubV9maWxl
bmFtZSwgZmlsZU1vZGlmaWNhdGlvblRpbWUpIHx8IGZpbGVNb2RpZmljYXRpb25UaW1lICE9IHN0
YXRpY19jYXN0PHRpbWVfdD4obmV4dElucHV0Lm1fZXhwZWN0ZWRGaWxlTW9kaWZpY2F0aW9uVGlt
ZSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFuZGxlU291cC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApp
bmRleCBkYzBjYjYyNDNhY2M0MjcyYTdmNjNhNTZlZjVlZjkzZDcwZTM3MjQ5Li4xMGM2ZmE5ODVi
YmNkMjZhOWZhMzQ1M2ViNDFiOGMzYTA5MDEyNTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVTb3VwLmNwcApA
QCAtNDI4LDcgKzQyOCw3IEBAIHN0YXRpYyBib29sIGFkZEZpbGVUb1NvdXBNZXNzYWdlQm9keShT
b3VwTWVzc2FnZSogbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBmaWxlTmFtCiBzdGF0aWMgYm9vbCBi
bG9iSXNPdXRPZkRhdGUoY29uc3QgQmxvYkRhdGFJdGVtJiBibG9iSXRlbSkKIHsKICAgICBBU1NF
UlQoYmxvYkl0ZW0udHlwZSA9PSBCbG9iRGF0YUl0ZW06OkZpbGUpOwotICAgIGlmIChibG9iSXRl
bS5leHBlY3RlZE1vZGlmaWNhdGlvblRpbWUgPT0gQmxvYkRhdGFJdGVtOjpkb05vdENoZWNrRmls
ZUNoYW5nZSkKKyAgICBpZiAoIWlzVmFsaWRGaWxlVGltZShibG9iSXRlbS5leHBlY3RlZE1vZGlm
aWNhdGlvblRpbWUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICB0aW1lX3QgZmlsZU1v
ZGlmaWNhdGlvblRpbWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146504</attachid>
            <date>2012-06-08 01:23:56 -0700</date>
            <delta_ts>2012-06-08 01:50:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87826-20120608172355.patch</filename>
            <type>text/plain</type>
            <size>13144</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5ODExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmZlZTJhNDZmZWI2NzZi
N2U4MTQ4NzI1MzAzMzM1ZmIyZmZhZTM1Yy4uY2QwZjRmNDkxMzgwNzUzMDI3NjZjZWUxNTE1OGRi
NmUzZjUzODYyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA2LTA3ICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBGaWxlOjpsYXN0TW9k
aWZpZWREYXRlIHNob3VsZCB1c2UgTmFOIG9yIHNlcGFyYXRlIGJvb2xlYW4gZmxhZyBmb3IgbnVs
bCBEYXRlIHZhbHVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04NzgyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRlc3Q6IGh0dHAvdGVzdHMvbG9jYWwvZmlsZWFwaS9maWxlLWxhc3QtbW9kaWZpZWQtYWZ0
ZXItZGVsZXRlLmh0bWwKKworICAgICAgICAqIGZpbGVhcGkvRmlsZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpGaWxlOjpGaWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkZpbGU6OmNhcHR1cmVTbmFw
c2hvdCk6CisgICAgICAgIChXZWJDb3JlOjpGaWxlOjpsYXN0TW9kaWZpZWREYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkZpbGU6Omxhc3RNb2RpZmllZERhdGVGb3JCaW5kaW5nKTogUmVtb3ZlZC4K
KyAgICAgICAgKiBmaWxlYXBpL0ZpbGUuaDoKKyAgICAgICAgKEZpbGUpOgorICAgICAgICAqIGZp
bGVhcGkvRmlsZS5pZGw6CisgICAgICAgICogcGxhdGZvcm0vRmlsZU1ldGFkYXRhLmg6CisgICAg
ICAgIChXZWJDb3JlOjpGaWxlTWV0YWRhdGE6OkZpbGVNZXRhZGF0YSk6CisgICAgICAgICogcGxh
dGZvcm0vRmlsZVN5c3RlbS5oOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3N1cHBvcnQv
V2ViSFRUUEJvZHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJIVFRQQm9keTo6ZWxlbWVudEF0
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmg6CisgICAgICAgIChXZWJD
b3JlOjpCbG9iRGF0YUl0ZW06OmRvTm90Q2hlY2tGaWxlQ2hhbmdlKTogUmVtb3ZlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9u
ZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YWR2
YW5jZUN1cnJlbnRTdHJlYW0pOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9SZXNv
dXJjZUhhbmRsZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YmxvYklzT3V0T2ZEYXRlKToK
KwogMjAxMi0wNi0wOCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAg
IEhUVFAgMjA0IE5vIENvbnRlbnQgcmVzcG9uc2VzIHNob3VsZG4ndCB0cmlnZ2VyIE1JTUUgdHlw
ZSB3YXJuaW5ncyBpbiB0aGUgd2ViIGluc3BlY3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZmlsZWFwaS9GaWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5jcHAKaW5k
ZXggODZkNTk4OTRmNWZlY2FhZmY5NTRkOThiNTIyMDYyZGRjZmYwZDU2Zi4uNWY4YjkzYjc4Mjhk
NDMxMmVhODE3YTAwMWY2NDE1MTY2MTQyYzI0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9GaWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuY3BwCkBA
IC04Niw3ICs4Niw3IEBAIEZpbGU6OkZpbGUoY29uc3QgU3RyaW5nJiBwYXRoKQogICAgICwgbV9u
YW1lKHBhdGhHZXRGaWxlTmFtZShwYXRoKSkKICNpZiBFTkFCTEUoRklMRV9TWVNURU0pCiAgICAg
LCBtX3NuYXBzaG90U2l6ZSgtMSkKLSAgICAsIG1fc25hcHNob3RNb2RpZmljYXRpb25UaW1lKDAp
CisgICAgLCBtX3NuYXBzaG90TW9kaWZpY2F0aW9uVGltZShpbnZhbGlkRmlsZVRpbWUoKSkKICNl
bmRpZgogewogfQpAQCAtOTYsNyArOTYsNyBAQCBGaWxlOjpGaWxlKGNvbnN0IFN0cmluZyYgcGF0
aCwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHR5cGUpCiAgICAgLCBtX3BhdGgocGF0
aCkKICNpZiBFTkFCTEUoRklMRV9TWVNURU0pCiAgICAgLCBtX3NuYXBzaG90U2l6ZSgtMSkKLSAg
ICAsIG1fc25hcHNob3RNb2RpZmljYXRpb25UaW1lKDApCisgICAgLCBtX3NuYXBzaG90TW9kaWZp
Y2F0aW9uVGltZShpbnZhbGlkRmlsZVRpbWUoKSkKICNlbmRpZgogewogICAgIG1fbmFtZSA9IHBh
dGhHZXRGaWxlTmFtZShwYXRoKTsKQEAgLTExMSw3ICsxMTEsNyBAQCBGaWxlOjpGaWxlKGNvbnN0
IFN0cmluZyYgcGF0aCwgY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICwgbV9uYW1lKG5hbWUpCiAj
aWYgRU5BQkxFKEZJTEVfU1lTVEVNKQogICAgICwgbV9zbmFwc2hvdFNpemUoLTEpCi0gICAgLCBt
X3NuYXBzaG90TW9kaWZpY2F0aW9uVGltZSgwKQorICAgICwgbV9zbmFwc2hvdE1vZGlmaWNhdGlv
blRpbWUoaW52YWxpZEZpbGVUaW1lKCkpCiAjZW5kaWYKIHsKIH0KQEAgLTEzNiwxOCArMTM2LDEy
IEBAIGRvdWJsZSBGaWxlOjpsYXN0TW9kaWZpZWREYXRlKCkgY29uc3QKIAogICAgIHRpbWVfdCBt
b2RpZmljYXRpb25UaW1lOwogICAgIGlmICghZ2V0RmlsZU1vZGlmaWNhdGlvblRpbWUobV9wYXRo
LCBtb2RpZmljYXRpb25UaW1lKSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBp
bnZhbGlkRmlsZVRpbWUoKTsKIAogICAgIC8vIE5lZWRzIHRvIHJldHVybiBlcG9jaCB0aW1lIGlu
IG1pbGxpc2Vjb25kcyBmb3IgRGF0ZS4KICAgICByZXR1cm4gbW9kaWZpY2F0aW9uVGltZSAqIDEw
MDAuMDsKIH0KIAotZG91YmxlIEZpbGU6Omxhc3RNb2RpZmllZERhdGVGb3JCaW5kaW5nKCkgY29u
c3QKLXsKLSAgICBkb3VibGUgdmFsdWUgPSBsYXN0TW9kaWZpZWREYXRlKCk7Ci0gICAgcmV0dXJu
ICghdmFsdWUpID8gc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjpxdWlldF9OYU4oKSA6IHZh
bHVlOwotfQotCiB1bnNpZ25lZCBsb25nIGxvbmcgRmlsZTo6c2l6ZSgpIGNvbnN0CiB7CiAjaWYg
RU5BQkxFKEZJTEVfU1lTVEVNKQpAQCAtMTc4LDcgKzE3Miw3IEBAIHZvaWQgRmlsZTo6Y2FwdHVy
ZVNuYXBzaG90KGxvbmcgbG9uZyYgc25hcHNob3RTaXplLCBkb3VibGUmIHNuYXBzaG90TW9kaWZp
Y2F0aW9uCiAgICAgRmlsZU1ldGFkYXRhIG1ldGFkYXRhOwogICAgIGlmICghZ2V0RmlsZU1ldGFk
YXRhKG1fcGF0aCwgbWV0YWRhdGEpKSB7CiAgICAgICAgIHNuYXBzaG90U2l6ZSA9IDA7Ci0gICAg
ICAgIHNuYXBzaG90TW9kaWZpY2F0aW9uVGltZSA9IDA7CisgICAgICAgIHNuYXBzaG90TW9kaWZp
Y2F0aW9uVGltZSA9IGludmFsaWRGaWxlVGltZSgpOwogICAgICAgICByZXR1cm47CiAgICAgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuaCBiL1NvdXJjZS9XZWJD
b3JlL2ZpbGVhcGkvRmlsZS5oCmluZGV4IDY3ZjMxZjZhNzhiNzUzYjcwMzJmNWQwYzMyMDQ1MmYw
ZjMyODQzMjkuLmNiN2M0MWU5ODUyOGY3YzI0NTE5Y2MyNjIzMjBhOThmYjgxZDYwMDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvRmlsZS5oCkBAIC03NywxMiArNzcsOSBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3Ry
aW5nJiBwYXRoKCkgY29uc3QgeyByZXR1cm4gbV9wYXRoOyB9CiAgICAgY29uc3QgU3RyaW5nJiBu
YW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CiAKLSAgICAvLyBUaGlzIG1heSByZXR1cm4g
emVybyBpZiBnZXRGaWxlTW9kaWZpY2F0aW9uVGltZSgpIHBsYXRmb3JtIGNhbGwgaGFzIGZhaWxl
ZCBvciB6ZXJvIHNuYXBzaG90IGxhc3RNb2RpZmllZFRpbWUgaXMgZ2l2ZW4gYXQgY29uc3RydWN0
aW9uIHRpbWUuCisgICAgLy8gVGhpcyBtYXkgcmV0dXJuIE5hTiAod2hpY2ggaXMgY29udmVydGVk
IHRvIG51bGwgRGF0ZSBpbiBqYXZhc2NyaXB0IGxheWVyKSBpZiBnZXRGaWxlTW9kaWZpY2F0aW9u
VGltZSgpIHBsYXRmb3JtIGNhbGwgaGFzIGZhaWxlZCBvciB0aGUgaW5mb3JtYXRpb24gaXMgbm90
IGF2YWlsYWJsZS4KICAgICBkb3VibGUgbGFzdE1vZGlmaWVkRGF0ZSgpIGNvbnN0OwogCi0gICAg
Ly8gRm9yIGJpbmRpbmcuIFdlIHdhbnQgdG8gcmV0dXJuIG51bGwgRGF0ZSBpZiB3ZSBnZXQgdGhl
IHZhbHVlIDAgRGF0ZSAod2hpY2ggaXMgdXNlZCB0byBpbmRpY2F0ZSB0aGUgaW5mb3JtYXRpb24g
aXMgdW5hdmFpbGFibGUpLgotICAgIGRvdWJsZSBsYXN0TW9kaWZpZWREYXRlRm9yQmluZGluZygp
IGNvbnN0OwotCiAjaWYgRU5BQkxFKERJUkVDVE9SWV9VUExPQUQpCiAgICAgLy8gUmV0dXJucyB0
aGUgcmVsYXRpdmUgcGF0aCBvZiB0aGlzIGZpbGUgaW4gdGhlIGNvbnRleHQgb2YgYSBkaXJlY3Rv
cnkgc2VsZWN0aW9uLgogICAgIGNvbnN0IFN0cmluZyYgd2Via2l0UmVsYXRpdmVQYXRoKCkgY29u
c3QgeyByZXR1cm4gbV9yZWxhdGl2ZVBhdGg7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2ZpbGVhcGkvRmlsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9maWxlYXBpL0ZpbGUuaWRsCmluZGV4
IDAwYmRkZTZmNTEwMjRkYmEwYWU0OTA2ODgxNTY2NDQwZGNmZTJmNjQuLjdjMGRlNDMwOWRmZGE1
YTYwZWQxNDNjYWE1NDhiMzU5OTQxMjhkNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Zp
bGVhcGkvRmlsZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlLmlkbApAQCAt
MzIsNyArMzIsNyBAQCBtb2R1bGUgaHRtbCB7CiAgICAgXSBGaWxlIDogQmxvYiB7CiAgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKICNpZiAhZGVmaW5lZChMQU5HVUFH
RV9HT0JKRUNUKSB8fCAhTEFOR1VBR0VfR09CSkVDVAotICAgICAgICByZWFkb25seSBhdHRyaWJ1
dGUgW0ltcGxlbWVudGVkQXM9bGFzdE1vZGlmaWVkRGF0ZUZvckJpbmRpbmddIERhdGUgbGFzdE1v
ZGlmaWVkRGF0ZTsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERhdGUgbGFzdE1vZGlmaWVk
RGF0ZTsKICNlbmRpZgogI2lmIGRlZmluZWQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICYmIEVO
QUJMRV9ESVJFQ1RPUllfVVBMT0FECiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJp
bmcgd2Via2l0UmVsYXRpdmVQYXRoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vRmlsZU1ldGFkYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlTWV0YWRhdGEu
aAppbmRleCAwNGRmOTJjYmYwNmQ1Nzc5MmRhNjY2NTViNjgxY2FiYmEyZDE1NDY1Li44MjkwZDY3
NTFmOGNhNmJlNmNlOTU2NGViY2Y2NWZlOGMxZDg0MzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9GaWxlTWV0YWRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9GaWxlTWV0YWRhdGEuaApAQCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBGaWxlTWV0YWRhdGFf
aAogI2RlZmluZSBGaWxlTWV0YWRhdGFfaAogCisjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01
Niw3ICs1Nyw3IEBAIHN0cnVjdCBGaWxlTWV0YWRhdGEgewogICAgIFN0cmluZyBwbGF0Zm9ybVBh
dGg7CiAjZW5kaWYKIAotICAgIEZpbGVNZXRhZGF0YSgpIDogbW9kaWZpY2F0aW9uVGltZSgwLjAp
LCBsZW5ndGgoLTEpLCB0eXBlKFR5cGVVbmtub3duKSB7IH0KKyAgICBGaWxlTWV0YWRhdGEoKSA6
IG1vZGlmaWNhdGlvblRpbWUoaW52YWxpZEZpbGVUaW1lKCkpLCBsZW5ndGgoLTEpLCB0eXBlKFR5
cGVVbmtub3duKSB7IH0KIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0ZpbGVTeXN0ZW0uaAppbmRleCAyMWVjZTExMjFmMzE3ZGJiZmVkM2FlOTExMDg3OTAx
ZWUwZDFjNzE0Li45N2Y0YjBmMTBkOTgyYTBiYTRjYTIzNDE1MzljMDU2M2Q5NmNhYmE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5oCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVk
ZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx0aW1lLmg+CiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KIAogI2lmIFVTRShDRikKQEAgLTE3NCw2ICsxNzUsOSBAQCBDU3RyaW5nIGZpbGVTeXN0
ZW1SZXByZXNlbnRhdGlvbihjb25zdCBTdHJpbmcmKTsKIAogaW5saW5lIGJvb2wgaXNIYW5kbGVW
YWxpZChjb25zdCBQbGF0Zm9ybUZpbGVIYW5kbGUmIGhhbmRsZSkgeyByZXR1cm4gaGFuZGxlICE9
IGludmFsaWRQbGF0Zm9ybUZpbGVIYW5kbGU7IH0KIAoraW5saW5lIGRvdWJsZSBpbnZhbGlkRmls
ZVRpbWUoKSB7IHJldHVybiBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigp
OyB9CitpbmxpbmUgYm9vbCBpc1ZhbGlkRmlsZVRpbWUoZG91YmxlIHRpbWUpIHsgcmV0dXJuIGlz
ZmluaXRlKHRpbWUpOyB9CisKIC8vIFByZWZpeCBpcyB3aGF0IHRoZSBmaWxlbmFtZSBzaG91bGQg
YmUgcHJlZml4ZWQgd2l0aCwgbm90IHRoZSBmdWxsIHBhdGguCiBTdHJpbmcgb3BlblRlbXBvcmFy
eUZpbGUoY29uc3QgU3RyaW5nJiBwcmVmaXgsIFBsYXRmb3JtRmlsZUhhbmRsZSYpOwogUGxhdGZv
cm1GaWxlSGFuZGxlIG9wZW5GaWxlKGNvbnN0IFN0cmluZyYgcGF0aCwgRmlsZU9wZW5Nb2RlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL3N1cHBvcnQvV2Vi
SFRUUEJvZHkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vc3VwcG9ydC9X
ZWJIVFRQQm9keS5jcHAKaW5kZXggZDE4M2FmMTIzYjgzZjI3YTkxZWYwZDY2MjU1YjZkZGIwYzAy
YTVkNS4uNDBiMGZjZDI2YmM4YzhkN2M4Zjk5ZDg2Yzk3MDk1MzFjOTI2M2FlZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vc3VwcG9ydC9XZWJIVFRQQm9keS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vc3VwcG9ydC9XZWJIVFRQ
Qm9keS5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
IDxwdWJsaWMvV2ViSFRUUEJvZHkuaD4KIAorI2luY2x1ZGUgIkZpbGVTeXN0ZW0uaCIKICNpbmNs
dWRlICJGb3JtRGF0YS5oIgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKQEAgLTc3LDcgKzc4
LDcgQEAgYm9vbCBXZWJIVFRQQm9keTo6ZWxlbWVudEF0KHNpemVfdCBpbmRleCwgRWxlbWVudCYg
cmVzdWx0KSBjb25zdAogICAgIHJlc3VsdC5maWxlUGF0aC5yZXNldCgpOwogICAgIHJlc3VsdC5m
aWxlU3RhcnQgPSAwOwogICAgIHJlc3VsdC5maWxlTGVuZ3RoID0gMDsKLSAgICByZXN1bHQubW9k
aWZpY2F0aW9uVGltZSA9IDAuMDsKKyAgICByZXN1bHQubW9kaWZpY2F0aW9uVGltZSA9IGludmFs
aWRGaWxlVGltZSgpOwogICAgIHJlc3VsdC5ibG9iVVJMID0gS1VSTCgpOwogCiAgICAgc3dpdGNo
IChlbGVtZW50Lm1fdHlwZSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9CbG9iRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Js
b2JEYXRhLmNwcAppbmRleCBkNGY4ODVmMDAyY2Y4MDEyNTcwMDhjMzM1OTM1Y2E2NDUzNTVlMzdm
Li4zNjk4YjQyZDE0Mzk4YmUzMTE4Njc3NzgzODZiYWEzNTdhNWEzZWZiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmNwcApAQCAtMzAsNiArMzAsNyBAQAog
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQmxvYkRhdGEuaCIKKyNpbmNsdWRlICJG
aWxlU3lzdGVtLmgiCiAKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bh
c3NPd25QdHIuaD4KQEAgLTQwLDcgKzQxLDYgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY29u
c3QgbG9uZyBsb25nIEJsb2JEYXRhSXRlbTo6dG9FbmRPZkZpbGUgPSAtMTsKLWNvbnN0IGRvdWJs
ZSBCbG9iRGF0YUl0ZW06OmRvTm90Q2hlY2tGaWxlQ2hhbmdlID0gMDsKIAogUmF3RGF0YTo6UmF3
RGF0YSgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Js
b2JEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JEYXRhLmgKaW5k
ZXggZjkxOWQ2NGJmNzZmNjZhY2IzMWFlMDMyODg4ZDRjODJlZDJkZWQ5MC4uNTE5NWNjOTVjZTUy
MDk3NjU4NzViZGMyZDI0MTRlNjU1ZTk3ZTcyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9CbG9iRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvQmxvYkRhdGEuaApAQCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBCbG9iRGF0YV9o
CiAjZGVmaW5lIEJsb2JEYXRhX2gKIAorI2luY2x1ZGUgIkZpbGVTeXN0ZW0uaCIKICNpbmNsdWRl
ICJLVVJMLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgpAQCAtNTksMTQgKzYwLDEzIEBAIHByaXZhdGU6CiAKIHN0cnVjdCBCbG9iRGF0YUl0
ZW0gewogICAgIHN0YXRpYyBjb25zdCBsb25nIGxvbmcgdG9FbmRPZkZpbGU7Ci0gICAgc3RhdGlj
IGNvbnN0IGRvdWJsZSBkb05vdENoZWNrRmlsZUNoYW5nZTsKIAogICAgIC8vIERlZmF1bHQgY29u
c3RydWN0b3IuCiAgICAgQmxvYkRhdGFJdGVtKCkKICAgICAgICAgOiB0eXBlKERhdGEpCiAgICAg
ICAgICwgb2Zmc2V0KDApCiAgICAgICAgICwgbGVuZ3RoKHRvRW5kT2ZGaWxlKQotICAgICAgICAs
IGV4cGVjdGVkTW9kaWZpY2F0aW9uVGltZShkb05vdENoZWNrRmlsZUNoYW5nZSkKKyAgICAgICAg
LCBleHBlY3RlZE1vZGlmaWNhdGlvblRpbWUoaW52YWxpZEZpbGVUaW1lKCkpCiAgICAgewogICAg
IH0KIApAQCAtNzYsNyArNzYsNyBAQCBzdHJ1Y3QgQmxvYkRhdGFJdGVtIHsKICAgICAgICAgLCBk
YXRhKGRhdGEpCiAgICAgICAgICwgb2Zmc2V0KDApCiAgICAgICAgICwgbGVuZ3RoKHRvRW5kT2ZG
aWxlKQotICAgICAgICAsIGV4cGVjdGVkTW9kaWZpY2F0aW9uVGltZShkb05vdENoZWNrRmlsZUNo
YW5nZSkKKyAgICAgICAgLCBleHBlY3RlZE1vZGlmaWNhdGlvblRpbWUoaW52YWxpZEZpbGVUaW1l
KCkpCiAgICAgewogICAgIH0KIApAQCAtODYsNyArODYsNyBAQCBzdHJ1Y3QgQmxvYkRhdGFJdGVt
IHsKICAgICAgICAgLCBwYXRoKHBhdGgpCiAgICAgICAgICwgb2Zmc2V0KDApCiAgICAgICAgICwg
bGVuZ3RoKHRvRW5kT2ZGaWxlKQotICAgICAgICAsIGV4cGVjdGVkTW9kaWZpY2F0aW9uVGltZShk
b05vdENoZWNrRmlsZUNoYW5nZSkKKyAgICAgICAgLCBleHBlY3RlZE1vZGlmaWNhdGlvblRpbWUo
aW52YWxpZEZpbGVUaW1lKCkpCiAgICAgewogICAgIH0KIApAQCAtOTksMTQgKzk5LDE0IEBAIHN0
cnVjdCBCbG9iRGF0YUl0ZW0gewogICAgICAgICAsIGV4cGVjdGVkTW9kaWZpY2F0aW9uVGltZShl
eHBlY3RlZE1vZGlmaWNhdGlvblRpbWUpCiAgICAgewogICAgIH0KLSAgICAKKwogICAgIC8vIENv
bnN0cnVjdG9yIGZvciBCbG9iIHR5cGUuCiAgICAgQmxvYkRhdGFJdGVtKGNvbnN0IEtVUkwmIHVy
bCwgbG9uZyBsb25nIG9mZnNldCwgbG9uZyBsb25nIGxlbmd0aCkKICAgICAgICAgOiB0eXBlKEJs
b2IpCiAgICAgICAgICwgdXJsKHVybCkKICAgICAgICAgLCBvZmZzZXQob2Zmc2V0KQogICAgICAg
ICAsIGxlbmd0aChsZW5ndGgpCi0gICAgICAgICwgZXhwZWN0ZWRNb2RpZmljYXRpb25UaW1lKGRv
Tm90Q2hlY2tGaWxlQ2hhbmdlKQorICAgICAgICAsIGV4cGVjdGVkTW9kaWZpY2F0aW9uVGltZShp
bnZhbGlkRmlsZVRpbWUoKSkKICAgICB7CiAgICAgfQogCkBAIC0xMTQsNyArMTE0LDcgQEAgc3Ry
dWN0IEJsb2JEYXRhSXRlbSB7CiAgICAgdm9pZCBkZXRhY2hGcm9tQ3VycmVudFRocmVhZCgpOwog
CiAgICAgZW51bSB7IERhdGEsIEZpbGUsIEJsb2IgfSB0eXBlOwotICAgIAorCiAgICAgLy8gRm9y
IERhdGEgdHlwZS4KICAgICBSZWZQdHI8UmF3RGF0YT4gZGF0YTsKIApAQCAtMTM3LDcgKzEzNyw3
IEBAIHByaXZhdGU6CiAgICAgICAgICwgZGF0YShkYXRhKQogICAgICAgICAsIG9mZnNldChvZmZz
ZXQpCiAgICAgICAgICwgbGVuZ3RoKGxlbmd0aCkKLSAgICAgICAgLCBleHBlY3RlZE1vZGlmaWNh
dGlvblRpbWUoZG9Ob3RDaGVja0ZpbGVDaGFuZ2UpCisgICAgICAgICwgZXhwZWN0ZWRNb2RpZmlj
YXRpb25UaW1lKGludmFsaWRGaWxlVGltZSgpKQogICAgIHsKICAgICB9CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmNwcAppbmRleCBlYmYyNzNjZDVjOGUx
MzE2M2M5YWNhZjYyZDE0YmY1MDQwZjhjZGRiLi4wN2JlYmIyODdmOGVjYjVkMGFmMzJmOWIyZWQy
YzIzZTcwMDVjODM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L0Zvcm1EYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1E
YXRhLmNwcApAQCAtMTY0LDcgKzE2NCw3IEBAIHZvaWQgRm9ybURhdGE6OmFwcGVuZERhdGEoY29u
c3Qgdm9pZCogZGF0YSwgc2l6ZV90IHNpemUpCiB2b2lkIEZvcm1EYXRhOjphcHBlbmRGaWxlKGNv
bnN0IFN0cmluZyYgZmlsZW5hbWUsIGJvb2wgc2hvdWxkR2VuZXJhdGVGaWxlKQogewogI2lmIEVO
QUJMRShCTE9CKQotICAgIG1fZWxlbWVudHMuYXBwZW5kKEZvcm1EYXRhRWxlbWVudChmaWxlbmFt
ZSwgMCwgQmxvYkRhdGFJdGVtOjp0b0VuZE9mRmlsZSwgQmxvYkRhdGFJdGVtOjpkb05vdENoZWNr
RmlsZUNoYW5nZSwgc2hvdWxkR2VuZXJhdGVGaWxlKSk7CisgICAgbV9lbGVtZW50cy5hcHBlbmQo
Rm9ybURhdGFFbGVtZW50KGZpbGVuYW1lLCAwLCBCbG9iRGF0YUl0ZW06OnRvRW5kT2ZGaWxlLCBp
bnZhbGlkRmlsZVRpbWUoKSwgc2hvdWxkR2VuZXJhdGVGaWxlKSk7CiAjZWxzZQogICAgIG1fZWxl
bWVudHMuYXBwZW5kKEZvcm1EYXRhRWxlbWVudChmaWxlbmFtZSwgc2hvdWxkR2VuZXJhdGVGaWxl
KSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
Y2YvRm9ybURhdGFTdHJlYW1DRk5ldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQuY3BwCmluZGV4IGRlYzlkYzIxY2QxODM2YjZiODUz
MTA5ODkwZjI4MzllODIwYzhlOTcuLjY4ZjA2MzM0NmMxMzc1NGMxYjBiZGRkZmI3NmE2ZGE5NzVm
ODQ3YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvRm9y
bURhdGFTdHJlYW1DRk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jZi9Gb3JtRGF0YVN0cmVhbUNGTmV0LmNwcApAQCAtMTU2LDcgKzE1Niw3IEBAIHN0YXRpYyBi
b29sIGFkdmFuY2VDdXJyZW50U3RyZWFtKEZvcm1TdHJlYW1GaWVsZHMqIGZvcm0pCiAgICAgfSBl
bHNlIHsKICNpZiBFTkFCTEUoQkxPQikKICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGZpbGUgaGFz
IGJlZW4gY2hhbmdlZCBvciBub3QgaWYgcmVxdWlyZWQuCi0gICAgICAgIGlmIChuZXh0SW5wdXQu
bV9leHBlY3RlZEZpbGVNb2RpZmljYXRpb25UaW1lICE9IEJsb2JEYXRhSXRlbTo6ZG9Ob3RDaGVj
a0ZpbGVDaGFuZ2UpIHsKKyAgICAgICAgaWYgKGlzVmFsaWRGaWxlVGltZShuZXh0SW5wdXQubV9l
eHBlY3RlZEZpbGVNb2RpZmljYXRpb25UaW1lKSkgewogICAgICAgICAgICAgdGltZV90IGZpbGVN
b2RpZmljYXRpb25UaW1lOwogICAgICAgICAgICAgaWYgKCFnZXRGaWxlTW9kaWZpY2F0aW9uVGlt
ZShuZXh0SW5wdXQubV9maWxlbmFtZSwgZmlsZU1vZGlmaWNhdGlvblRpbWUpIHx8IGZpbGVNb2Rp
ZmljYXRpb25UaW1lICE9IHN0YXRpY19jYXN0PHRpbWVfdD4obmV4dElucHV0Lm1fZXhwZWN0ZWRG
aWxlTW9kaWZpY2F0aW9uVGltZSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlSGFu
ZGxlU291cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VIYW5kbGVTb3VwLmNwcAppbmRleCBkYzBjYjYyNDNhY2M0MjcyYTdmNjNhNTZlZjVlZjkzZDcw
ZTM3MjQ5Li4xMGM2ZmE5ODViYmNkMjZhOWZhMzQ1M2ViNDFiOGMzYTA5MDEyNTY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VIYW5kbGVT
b3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VIYW5kbGVTb3VwLmNwcApAQCAtNDI4LDcgKzQyOCw3IEBAIHN0YXRpYyBib29sIGFkZEZpbGVU
b1NvdXBNZXNzYWdlQm9keShTb3VwTWVzc2FnZSogbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBmaWxl
TmFtCiBzdGF0aWMgYm9vbCBibG9iSXNPdXRPZkRhdGUoY29uc3QgQmxvYkRhdGFJdGVtJiBibG9i
SXRlbSkKIHsKICAgICBBU1NFUlQoYmxvYkl0ZW0udHlwZSA9PSBCbG9iRGF0YUl0ZW06OkZpbGUp
OwotICAgIGlmIChibG9iSXRlbS5leHBlY3RlZE1vZGlmaWNhdGlvblRpbWUgPT0gQmxvYkRhdGFJ
dGVtOjpkb05vdENoZWNrRmlsZUNoYW5nZSkKKyAgICBpZiAoIWlzVmFsaWRGaWxlVGltZShibG9i
SXRlbS5leHBlY3RlZE1vZGlmaWNhdGlvblRpbWUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
ICAgICB0aW1lX3QgZmlsZU1vZGlmaWNhdGlvblRpbWU7Cg==
</data>
<flag name="review"
          id="153816"
          type_id="1"
          status="+"
          setter="tkent"
    />
          </attachment>
      

    </bug>

</bugzilla>