<?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>121599</bug_id>
          
          <creation_ts>2013-09-19 03:23:40 -0700</creation_ts>
          <short_desc>[WIN] Replace CF time functions with Windows API functions in WebHistory</short_desc>
          <delta_ts>2013-09-27 05:33:51 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows 7</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>121601</dependson>
          <blocked>122010</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rego+ews</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>930879</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-09-19 03:23:40 -0700</bug_when>
    <thetext>[WIN] Replace CF time functions with Windows API functions in WebHistory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930883</commentid>
    <comment_count>1</comment_count>
      <attachid>212047</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-09-19 03:30:07 -0700</bug_when>
    <thetext>Created attachment 212047
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930884</commentid>
    <comment_count>2</comment_count>
      <attachid>212047</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-09-19 03:36:52 -0700</bug_when>
    <thetext>Comment on attachment 212047
Patch

Attachment 212047 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/1955082</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930886</commentid>
    <comment_count>3</comment_count>
      <attachid>212047</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-09-19 03:37:21 -0700</bug_when>
    <thetext>Comment on attachment 212047
Patch

Attachment 212047 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/1955083</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930887</commentid>
    <comment_count>4</comment_count>
      <attachid>212047</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-09-19 03:37:26 -0700</bug_when>
    <thetext>Comment on attachment 212047
Patch

Attachment 212047 did not pass qt-ews (qt):
Output: http://webkit-queues.appspot.com/results/1961107</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930889</commentid>
    <comment_count>5</comment_count>
      <attachid>212047</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-09-19 03:38:06 -0700</bug_when>
    <thetext>Comment on attachment 212047
Patch

Attachment 212047 did not pass qt-wk2-ews (qt-wk2):
Output: http://webkit-queues.appspot.com/results/2006003</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930890</commentid>
    <comment_count>6</comment_count>
      <attachid>212049</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-09-19 03:49:08 -0700</bug_when>
    <thetext>Created attachment 212049
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931288</commentid>
    <comment_count>7</comment_count>
      <attachid>212154</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-09-20 05:50:00 -0700</bug_when>
    <thetext>Created attachment 212154
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>932319</commentid>
    <comment_count>8</comment_count>
      <attachid>212154</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-09-23 15:25:49 -0700</bug_when>
    <thetext>Comment on attachment 212154
Patch

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

The general intent of this change is fine, but I would prefer not to lose the two methods (ageLimitDate and timeToDate).  The other client I was concerned about uses the WebKIt COM API, so switching to DATE over CFAbsoluteTime should be fine.

r- to avoid removing the two methods, but otherwise this is fine.

&gt; Source/WebKit/win/WebHistory.cpp:645
&gt; +    }

It would be nice if the above code was contained in a  static function that consumed the &apos;day&apos; argument and returned the &apos;beginningOfNextDayLocalTime&apos; and &apos;beginningLocalTime&apos; values.

&gt; Source/WebKit/win/WebHistory.cpp:650
&gt; +    VariantTimeToSystemTime(date, &amp;beginningOfNextDayLocalTime);

... including this fix-up code.

&gt; Source/WebKit/win/WebHistory.cpp:-722
&gt; -CFAbsoluteTime WebHistory::timeToDate(CFAbsoluteTime time)

This is needed by ageLimitDate.

&gt; Source/WebKit/win/WebHistory.cpp:-738
&gt; -HRESULT WebHistory::ageLimitDate(CFAbsoluteTime* time)

I don&apos;t think we should get rid of this. I was thinking of making use of it for the WinLauncher program.  But it would be okay to use a DATE argument if you wanted.

&gt; Source/WebKit/win/WebHistory.h:-142
&gt; -    HRESULT ageLimitDate(CFAbsoluteTime* time);

We need to keep this.

&gt; Source/WebKit/win/WebHistory.h:-144
&gt; -    static CFAbsoluteTime timeToDate(CFAbsoluteTime time);

Don&apos;t remove this, as it is needed by ageLimitDate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>932323</commentid>
    <comment_count>9</comment_count>
      <attachid>212154</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-09-23 15:34:50 -0700</bug_when>
    <thetext>Comment on attachment 212154
Patch

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

&gt;&gt; Source/WebKit/win/WebHistory.cpp:645
&gt;&gt; +    }
&gt; 
&gt; It would be nice if the above code was contained in a  static function that consumed the &apos;day&apos; argument and returned the &apos;beginningOfNextDayLocalTime&apos; and &apos;beginningLocalTime&apos; values.

sure we want to call VariantTimeToSystemTime(day, &amp;systemTime) then twice? Or pass beginningLocalTime to beginningOfNext() and return it as local time (including the fix-up)

&gt;&gt; Source/WebKit/win/WebHistory.h:-142
&gt;&gt; -    HRESULT ageLimitDate(CFAbsoluteTime* time);
&gt; 
&gt; We need to keep this.

who uses it? it&apos;s a private method...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>932331</commentid>
    <comment_count>10</comment_count>
      <attachid>212154</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-09-23 15:45:58 -0700</bug_when>
    <thetext>Comment on attachment 212154
Patch

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

&gt;&gt; Source/WebKit/win/WebHistory.cpp:-738
&gt;&gt; -HRESULT WebHistory::ageLimitDate(CFAbsoluteTime* time)
&gt; 
&gt; I don&apos;t think we should get rid of this. I was thinking of making use of it for the WinLauncher program.  But it would be okay to use a DATE argument if you wanted.

there is no CF-stuff in the public API, so it can&apos;t be used as it is IMO. why keep then a unused method instead of getting it back from svn history when needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>932348</commentid>
    <comment_count>11</comment_count>
      <attachid>212154</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-09-23 16:29:25 -0700</bug_when>
    <thetext>Comment on attachment 212154
Patch

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

&gt;&gt;&gt; Source/WebKit/win/WebHistory.cpp:645
&gt;&gt;&gt; +    }
&gt;&gt; 
&gt;&gt; It would be nice if the above code was contained in a  static function that consumed the &apos;day&apos; argument and returned the &apos;beginningOfNextDayLocalTime&apos; and &apos;beginningLocalTime&apos; values.
&gt; 
&gt; sure we want to call VariantTimeToSystemTime(day, &amp;systemTime) then twice? Or pass beginningLocalTime to beginningOfNext() and return it as local time (including the fix-up)

Why do we need to call VariantTimeToSystemTime twice? Can&apos;t we just return &quot;beginningOfLocalTime&quot; along with &quot;beginningOfNextDayLocalTime&quot; and then use them for the rest of the logic?

&gt;&gt;&gt; Source/WebKit/win/WebHistory.cpp:-738
&gt;&gt;&gt; -HRESULT WebHistory::ageLimitDate(CFAbsoluteTime* time)
&gt;&gt; 
&gt;&gt; I don&apos;t think we should get rid of this. I was thinking of making use of it for the WinLauncher program.  But it would be okay to use a DATE argument if you wanted.
&gt; 
&gt; there is no CF-stuff in the public API, so it can&apos;t be used as it is IMO. why keep then a unused method instead of getting it back from svn history when needed?

Okay -- you&apos;ve convinced me.  Ditch it and the &quot;timeToDate&quot; method.

&gt;&gt;&gt; Source/WebKit/win/WebHistory.h:-142
&gt;&gt;&gt; -    HRESULT ageLimitDate(CFAbsoluteTime* time);
&gt;&gt; 
&gt;&gt; We need to keep this.
&gt; 
&gt; who uses it? it&apos;s a private method...

Okay

&gt;&gt; Source/WebKit/win/WebHistory.h:-144
&gt;&gt; -    static CFAbsoluteTime timeToDate(CFAbsoluteTime time);
&gt; 
&gt; Don&apos;t remove this, as it is needed by ageLimitDate.

Disregard this comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>932464</commentid>
    <comment_count>12</comment_count>
      <attachid>212439</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-09-24 01:38:34 -0700</bug_when>
    <thetext>Created attachment 212439
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933129</commentid>
    <comment_count>13</comment_count>
      <attachid>212439</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2013-09-25 11:32:13 -0700</bug_when>
    <thetext>Comment on attachment 212439
Patch

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

Looks good to me, with some minor nits.

&gt; Source/WebKit/win/WebHistory.cpp:100
&gt; +    VariantTimeToSystemTime(day, &amp;systemTime);

We have been prefixing these Windows API calls with :: (e.g., &quot;::VariantTimeToSystemTime(...)&quot; and &quot;::SystemTimeToTzSpecificLocalTime(...)&quot;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933153</commentid>
    <comment_count>14</comment_count>
      <attachid>212615</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2013-09-25 12:12:07 -0700</bug_when>
    <thetext>Created attachment 212615
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933239</commentid>
    <comment_count>15</comment_count>
      <attachid>212615</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-25 16:16:59 -0700</bug_when>
    <thetext>Comment on attachment 212615
Patch

Clearing flags on attachment: 212615

Committed r156430: &lt;http://trac.webkit.org/changeset/156430&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>933240</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-09-25 16:17:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212047</attachid>
            <date>2013-09-19 03:30:07 -0700</date>
            <delta_ts>2013-09-19 03:49:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121599.patch</filename>
            <type>text/plain</type>
            <size>10685</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggMDgwNTY5MS4uZGFlN2Y5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMy0wOS0xOSAg
UGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KKworICAgICAgICBbV0lOXSBS
ZXBsYWNlIENGIHRpbWUgZnVuY3Rpb25zIHdpdGggV2luZG93cyBBUEkgZnVuY3Rpb25zIGluIFdl
Ykhpc3RvcnkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyMTU5OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogd3RmL0RhdGVNYXRoLmg6IEFkZGVkIFdURjo6c2Vjb25kc1BlckRheS4KKwogMjAxMy0wOS0x
OCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luZG93
c10gVW5yZXZpZXdlZCBidWlsZCBjb3JyZWN0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93
dGYvRGF0ZU1hdGguaCBiL1NvdXJjZS9XVEYvd3RmL0RhdGVNYXRoLmgKaW5kZXggNTAxZWRkNy4u
YWZmZmM1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRGF0ZU1hdGguaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9EYXRlTWF0aC5oCkBAIC0xMDQsMTMgKzEwNCwxNCBAQCBjb25zdCBjaGFyKiBj
b25zdCBtb250aEZ1bGxOYW1lWzEyXSA9IHsgIkphbnVhcnkiLCAiRmVicnVhcnkiLCAiTWFyY2gi
LCAiQXByaWwiLAogCiBjb25zdCBkb3VibGUgaG91cnNQZXJEYXkgPSAyNC4wOwogY29uc3QgZG91
YmxlIG1pbnV0ZXNQZXJIb3VyID0gNjAuMDsKLWNvbnN0IGRvdWJsZSBzZWNvbmRzUGVySG91ciA9
IDYwLjAgKiA2MC4wOwogY29uc3QgZG91YmxlIHNlY29uZHNQZXJNaW51dGUgPSA2MC4wOwogY29u
c3QgZG91YmxlIG1zUGVyU2Vjb25kID0gMTAwMC4wOwotY29uc3QgZG91YmxlIG1zUGVyTWludXRl
ID0gNjAuMCAqIDEwMDAuMDsKLWNvbnN0IGRvdWJsZSBtc1BlckhvdXIgPSA2MC4wICogNjAuMCAq
IDEwMDAuMDsKLWNvbnN0IGRvdWJsZSBtc1BlckRheSA9IDI0LjAgKiA2MC4wICogNjAuMCAqIDEw
MDAuMDsKIGNvbnN0IGRvdWJsZSBtc1Blck1vbnRoID0gMjU5MjAwMDAwMC4wOworY29uc3QgZG91
YmxlIHNlY29uZHNQZXJIb3VyID0gc2Vjb25kc1Blck1pbnV0ZSAqIG1pbnV0ZXNQZXJIb3VyOwor
Y29uc3QgZG91YmxlIHNlY29uZHNQZXJEYXkgPSBzZWNvbmRzUGVySG91ciAqIGhvdXJzUGVyRGF5
OworY29uc3QgZG91YmxlIG1zUGVyTWludXRlID0gbXNQZXJTZWNvbmQgKiBzZWNvbmRzUGVyTWlu
dXRlOworY29uc3QgZG91YmxlIG1zUGVySG91ciA9IG1zUGVyU2Vjb25kICogc2Vjb25kc1Blckhv
dXI7Citjb25zdCBkb3VibGUgbXNQZXJEYXkgPSBtc1BlclNlY29uZCAqIHNlY29uZHNQZXJIb3Vy
OwogCiBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBpc0xlYXBZZWFyKGludCB5ZWFyKTsKIApAQCAt
MTQ0LDYgKzE0NSw3IEBAIHVzaW5nIFdURjo6bXNUb1llYXI7CiB1c2luZyBXVEY6Om1zVG9EYXlz
OwogdXNpbmcgV1RGOjptc1RvTWludXRlczsKIHVzaW5nIFdURjo6bXNUb0hvdXJzOwordXNpbmcg
V1RGOjpzZWNvbmRzUGVyRGF5OwogdXNpbmcgV1RGOjpzZWNvbmRzUGVyTWludXRlOwogdXNpbmcg
V1RGOjpwYXJzZURhdGVGcm9tTnVsbFRlcm1pbmF0ZWRDaGFyYWN0ZXJzOwogdXNpbmcgV1RGOjpt
YWtlUkZDMjgyMkRhdGVTdHJpbmc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggZTExNDI2OGMuLjhhMTNj
MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMy0wOS0xOSAgUGF0cmlj
ayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KKworICAgICAgICBbV0lOXSBSZXBsYWNl
IENGIHRpbWUgZnVuY3Rpb25zIHdpdGggV2luZG93cyBBUEkgZnVuY3Rpb25zIGluIFdlYkhpc3Rv
cnkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTU5
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
cmVkdWNlcyB0aGUgZGVwZW5kZW5jaWVzIG9uIHRoZSBDb3JlRm91bmRhdGlvbiBsaWJyYXJ5Lgor
CisgICAgICAgICogV2ViSGlzdG9yeS5jcHA6CisgICAgICAgIChXZWJIaXN0b3J5OjpvcmRlcmVk
TGFzdFZpc2l0ZWREYXlzKToKKyAgICAgICAgKFdlYkhpc3Rvcnk6Om9yZGVyZWRJdGVtc0xhc3RW
aXNpdGVkT25EYXkpOgorICAgICAgICAoV2ViSGlzdG9yeTo6YWRkSXRlbVRvRGF0ZUNhY2hlcyk6
CisgICAgICAgIChXZWJIaXN0b3J5OjpyZW1vdmVJdGVtRnJvbURhdGVDYWNoZXMpOgorICAgICAg
ICAoZ2V0RGF5Qm91bmRhcmllcyk6CisgICAgICAgIChiZWdpbm5pbmdPZkRheSk6CisgICAgICAg
IChkYXRlS2V5KToKKyAgICAgICAgKFdlYkhpc3Rvcnk6OmZpbmRLZXkpOgorICAgICAgICAqIFdl
Ykhpc3RvcnkuaDoKKwogMjAxMy0wOS0xOCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxl
LmNvbT4KIAogICAgICAgICBbV2luZG93c10gQnVpbGQgZml4IGFmdGVyIHIxNTYwNjMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJIaXN0b3J5LmNwcCBiL1NvdXJjZS9XZWJLaXQv
d2luL1dlYkhpc3RvcnkuY3BwCmluZGV4IDU1OTUwOTEuLmU1N2Y4YzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYkhpc3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dl
Ykhpc3RvcnkuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9QYWdlR3Jv
dXAuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgogI2luY2x1ZGUgPGZ1bmN0
aW9uYWw+CisjaW5jbHVkZSA8d3RmL0RhdGVNYXRoLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4
dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtMjc2LDcgKzI3Nyw3IEBAIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViSGlzdG9yeTo6b3JkZXJlZExhc3RWaXNpdGVkRGF5
cygKICAgICAgICAgRGF0ZVRvRW50cmllc01hcDo6Y29uc3RfaXRlcmF0b3I6OktleXMgZW5kID0g
bV9lbnRyaWVzQnlEYXRlLmVuZCgpLmtleXMoKTsKICAgICAgICAgaW50IGkgPSAwOwogICAgICAg
ICBmb3IgKERhdGVUb0VudHJpZXNNYXA6OmNvbnN0X2l0ZXJhdG9yOjpLZXlzIGl0ID0gbV9lbnRy
aWVzQnlEYXRlLmJlZ2luKCkua2V5cygpOyBpdCAhPSBlbmQ7ICsraXQsICsraSkKLSAgICAgICAg
ICAgIG1fb3JkZXJlZExhc3RWaXNpdGVkRGF5c1tpXSA9IE1hcnNoYWxsaW5nSGVscGVyczo6Q0ZB
YnNvbHV0ZVRpbWVUb0RBVEUoKml0KTsKKyAgICAgICAgICAgIG1fb3JkZXJlZExhc3RWaXNpdGVk
RGF5c1tpXSA9ICppdCAvIHNlY29uZHNQZXJEYXk7CiAgICAgICAgIC8vIFVzZSBzdGQ6OmdyZWF0
ZXIgdG8gc29ydCB0aGUgZGF5cyBpbiBkZXNjZW5kaW5nIG9yZGVyIChpLmUuLCBtb3N0LXJlY2Vu
dCBmaXJzdCkuCiAgICAgICAgIHNvcnQobV9vcmRlcmVkTGFzdFZpc2l0ZWREYXlzLmdldCgpLCBt
X29yZGVyZWRMYXN0VmlzaXRlZERheXMuZ2V0KCkgKyBkYXRlQ291bnQsIGdyZWF0ZXI8REFURT4o
KSk7CiAgICAgfQpAQCAtMjkxLDcgKzI5Miw3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUg
V2ViSGlzdG9yeTo6b3JkZXJlZEl0ZW1zTGFzdFZpc2l0ZWRPbkRheSgKICAgICAvKiBbaW5dICov
IERBVEUgY2FsZW5kYXJEYXRlKQogewogICAgIERhdGVLZXkgZGF0ZUtleTsKLSAgICBpZiAoIWZp
bmRLZXkoJmRhdGVLZXksIE1hcnNoYWxsaW5nSGVscGVyczo6REFURVRvQ0ZBYnNvbHV0ZVRpbWUo
Y2FsZW5kYXJEYXRlKSkpIHsKKyAgICBpZiAoIWZpbmRLZXkoJmRhdGVLZXksIGNhbGVuZGFyRGF0
ZSkpIHsKICAgICAgICAgKmNvdW50ID0gMDsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQpAQCAt
NTcyLDcgKzU3Myw3IEBAIEhSRVNVTFQgV2ViSGlzdG9yeTo6YWRkSXRlbVRvRGF0ZUNhY2hlcyhJ
V2ViSGlzdG9yeUl0ZW0qIGVudHJ5KQogICAgIGVudHJ5LT5sYXN0VmlzaXRlZFRpbWVJbnRlcnZh
bCgmbGFzdFZpc2l0ZWRDT01UaW1lKTsKICAgICAKICAgICBEYXRlS2V5IGRhdGVLZXk7Ci0gICAg
aWYgKGZpbmRLZXkoJmRhdGVLZXksIE1hcnNoYWxsaW5nSGVscGVyczo6REFURVRvQ0ZBYnNvbHV0
ZVRpbWUobGFzdFZpc2l0ZWRDT01UaW1lKSkpIHsKKyAgICBpZiAoZmluZEtleSgmZGF0ZUtleSwg
bGFzdFZpc2l0ZWRDT01UaW1lKSkgewogICAgICAgICAvLyBvdGhlciBlbnRyaWVzIGFscmVhZHkg
ZXhpc3QgZm9yIHRoaXMgZGF0ZQogICAgICAgICBociA9IGluc2VydEl0ZW0oZW50cnksIGRhdGVL
ZXkpOwogICAgIH0gZWxzZSB7CkBAIC01OTcsNyArNTk4LDcgQEAgSFJFU1VMVCBXZWJIaXN0b3J5
OjpyZW1vdmVJdGVtRnJvbURhdGVDYWNoZXMoSVdlYkhpc3RvcnlJdGVtKiBlbnRyeSkKICAgICBl
bnRyeS0+bGFzdFZpc2l0ZWRUaW1lSW50ZXJ2YWwoJmxhc3RWaXNpdGVkQ09NVGltZSk7CiAKICAg
ICBEYXRlS2V5IGRhdGVLZXk7Ci0gICAgaWYgKCFmaW5kS2V5KCZkYXRlS2V5LCBNYXJzaGFsbGlu
Z0hlbHBlcnM6OkRBVEVUb0NGQWJzb2x1dGVUaW1lKGxhc3RWaXNpdGVkQ09NVGltZSkpKQorICAg
IGlmICghZmluZEtleSgmZGF0ZUtleSwgbGFzdFZpc2l0ZWRDT01UaW1lKSkKICAgICAgICAgcmV0
dXJuIEVfRkFJTDsKIAogICAgIERhdGVUb0VudHJpZXNNYXA6Oml0ZXJhdG9yIGZvdW5kID0gbV9l
bnRyaWVzQnlEYXRlLmZpbmQoZGF0ZUtleSk7CkBAIC02MjAsMzggKzYyMSw2MyBAQCBIUkVTVUxU
IFdlYkhpc3Rvcnk6OnJlbW92ZUl0ZW1Gcm9tRGF0ZUNhY2hlcyhJV2ViSGlzdG9yeUl0ZW0qIGVu
dHJ5KQogICAgIHJldHVybiBocjsKIH0KIAotc3RhdGljIHZvaWQgZ2V0RGF5Qm91bmRhcmllcyhD
RkFic29sdXRlVGltZSBkYXksIENGQWJzb2x1dGVUaW1lJiBiZWdpbm5pbmdPZkRheSwgQ0ZBYnNv
bHV0ZVRpbWUmIGJlZ2lubmluZ09mTmV4dERheSkKK3N0YXRpYyB2b2lkIGdldERheUJvdW5kYXJp
ZXMoREFURSBkYXksIERBVEUmIGJlZ2lubmluZ09mRGF5LCBEQVRFJiBiZWdpbm5pbmdPZk5leHRE
YXkpCiB7Ci0gICAgUmV0YWluUHRyPENGVGltZVpvbmVSZWY+IHRpbWVab25lID0gYWRvcHRDRihD
RlRpbWVab25lQ29weURlZmF1bHQoKSk7Ci0gICAgQ0ZHcmVnb3JpYW5EYXRlIGRhdGUgPSBDRkFi
c29sdXRlVGltZUdldEdyZWdvcmlhbkRhdGUoZGF5LCB0aW1lWm9uZS5nZXQoKSk7Ci0gICAgZGF0
ZS5ob3VyID0gMDsKLSAgICBkYXRlLm1pbnV0ZSA9IDA7Ci0gICAgZGF0ZS5zZWNvbmQgPSAwOwot
ICAgIGJlZ2lubmluZ09mRGF5ID0gQ0ZHcmVnb3JpYW5EYXRlR2V0QWJzb2x1dGVUaW1lKGRhdGUs
IHRpbWVab25lLmdldCgpKTsKLSAgICBkYXRlLmRheSArPSAxOwotICAgIGJlZ2lubmluZ09mTmV4
dERheSA9IENGR3JlZ29yaWFuRGF0ZUdldEFic29sdXRlVGltZShkYXRlLCB0aW1lWm9uZS5nZXQo
KSk7CisgICAgU1lTVEVNVElNRSBzeXN0ZW1UaW1lOworICAgIFZhcmlhbnRUaW1lVG9TeXN0ZW1U
aW1lKGRheSwgJnN5c3RlbVRpbWUpOworCisgICAgU1lTVEVNVElNRSBiZWdpbm5pbmdMb2NhbFRp
bWU7CisgICAgU3lzdGVtVGltZVRvVHpTcGVjaWZpY0xvY2FsVGltZSgwLCAmc3lzdGVtVGltZSwg
JmJlZ2lubmluZ0xvY2FsVGltZSk7CisgICAgYmVnaW5uaW5nTG9jYWxUaW1lLndIb3VyID0gMDsK
KyAgICBiZWdpbm5pbmdMb2NhbFRpbWUud01pbnV0ZSA9IDA7CisgICAgYmVnaW5uaW5nTG9jYWxU
aW1lLndTZWNvbmQgPSAwOworICAgIGJlZ2lubmluZ0xvY2FsVGltZS53TWlsbGlzZWNvbmRzID0g
MDsKKworICAgIFNZU1RFTVRJTUUgYmVnaW5uaW5nT2ZOZXh0RGF5TG9jYWxUaW1lID0gYmVnaW5u
aW5nTG9jYWxUaW1lOworICAgIGJlZ2lubmluZ09mTmV4dERheUxvY2FsVGltZS53RGF5ICs9IDE7
CisgICAgaWYgKGJlZ2lubmluZ09mTmV4dERheUxvY2FsVGltZS53RGF5ID4gMzEpIHsKKyAgICAg
ICAgYmVnaW5uaW5nT2ZOZXh0RGF5TG9jYWxUaW1lLndEYXkgPSAxOworICAgICAgICBiZWdpbm5p
bmdPZk5leHREYXlMb2NhbFRpbWUud01vbnRoICs9IDE7CisgICAgfQorICAgIGlmIChiZWdpbm5p
bmdPZk5leHREYXlMb2NhbFRpbWUud01vbnRoID4gMTIpIHsKKyAgICAgICAgYmVnaW5uaW5nT2ZO
ZXh0RGF5TG9jYWxUaW1lLndNb250aCA9IDE7CisgICAgICAgIGJlZ2lubmluZ09mTmV4dERheUxv
Y2FsVGltZS53WWVhciArPSAxOworICAgIH0KKworICAgIC8vIENvbnZlcnQgdG8gYW5kIGZyb20g
VmFyaWFudFRpbWUgdG8gZml4IGludmFsaWQgZGF0ZXMgbGlrZSAyMDAxLTA0LTMxLgorICAgIERB
VEUgZGF0ZSA9IDAuMDsKKyAgICBTeXN0ZW1UaW1lVG9WYXJpYW50VGltZSgmYmVnaW5uaW5nT2ZO
ZXh0RGF5TG9jYWxUaW1lLCAmZGF0ZSk7CisgICAgVmFyaWFudFRpbWVUb1N5c3RlbVRpbWUoZGF0
ZSwgJmJlZ2lubmluZ09mTmV4dERheUxvY2FsVGltZSk7CisKKyAgICBTWVNURU1USU1FIGJlZ2lu
bmluZ1N5c3RlbVRpbWU7CisgICAgVHpTcGVjaWZpY0xvY2FsVGltZVRvU3lzdGVtVGltZSgwLCAm
YmVnaW5uaW5nTG9jYWxUaW1lLCAmYmVnaW5uaW5nU3lzdGVtVGltZSk7CisgICAgU3lzdGVtVGlt
ZVRvVmFyaWFudFRpbWUoJmJlZ2lubmluZ1N5c3RlbVRpbWUsICZiZWdpbm5pbmdPZkRheSk7CisK
KyAgICBTWVNURU1USU1FIGJlZ2lubmluZ09mTmV4dERheVN5c3RlbVRpbWU7CisgICAgVHpTcGVj
aWZpY0xvY2FsVGltZVRvU3lzdGVtVGltZSgwLCAmYmVnaW5uaW5nT2ZOZXh0RGF5TG9jYWxUaW1l
LCAmYmVnaW5uaW5nT2ZOZXh0RGF5U3lzdGVtVGltZSk7CisgICAgU3lzdGVtVGltZVRvVmFyaWFu
dFRpbWUoJmJlZ2lubmluZ09mTmV4dERheVN5c3RlbVRpbWUsICZiZWdpbm5pbmdPZk5leHREYXkp
OwogfQogCi1zdGF0aWMgaW5saW5lIENGQWJzb2x1dGVUaW1lIGJlZ2lubmluZ09mRGF5KENGQWJz
b2x1dGVUaW1lIGRhdGUpCitzdGF0aWMgaW5saW5lIERBVEUgYmVnaW5uaW5nT2ZEYXkoREFURSBk
YXRlKQogewotICAgIHN0YXRpYyBDRkFic29sdXRlVGltZSBjYWNoZWRCZWdpbm5pbmdPZkRheSA9
IG51bWVyaWNfbGltaXRzPENGQWJzb2x1dGVUaW1lPjo6cXVpZXRfTmFOKCk7Ci0gICAgc3RhdGlj
IENGQWJzb2x1dGVUaW1lIGNhY2hlZEJlZ2lubmluZ09mTmV4dERheTsKKyAgICBzdGF0aWMgREFU
RSBjYWNoZWRCZWdpbm5pbmdPZkRheSA9IG51bWVyaWNfbGltaXRzPERBVEU+OjpxdWlldF9OYU4o
KTsKKyAgICBzdGF0aWMgREFURSBjYWNoZWRCZWdpbm5pbmdPZk5leHREYXk7CiAgICAgaWYgKCEo
ZGF0ZSA+PSBjYWNoZWRCZWdpbm5pbmdPZkRheSAmJiBkYXRlIDwgY2FjaGVkQmVnaW5uaW5nT2ZO
ZXh0RGF5KSkKICAgICAgICAgZ2V0RGF5Qm91bmRhcmllcyhkYXRlLCBjYWNoZWRCZWdpbm5pbmdP
ZkRheSwgY2FjaGVkQmVnaW5uaW5nT2ZOZXh0RGF5KTsKICAgICByZXR1cm4gY2FjaGVkQmVnaW5u
aW5nT2ZEYXk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgV2ViSGlzdG9yeTo6RGF0ZUtleSBkYXRlS2V5
KENGQWJzb2x1dGVUaW1lIGRhdGUpCitzdGF0aWMgaW5saW5lIFdlYkhpc3Rvcnk6OkRhdGVLZXkg
ZGF0ZUtleShEQVRFIGRhdGUpCiB7Ci0gICAgLy8gQ29udmVydGluZyBmcm9tIGRvdWJsZSAoQ0ZB
YnNvbHV0ZVRpbWUpIHRvIGludDY0X3QgKFdlYkhpc3RvcnlEYXRlS2V5KSBpcwotICAgIC8vIHNh
ZmUgaGVyZSBiZWNhdXNlIGFsbCBzZW5zaWJsZSBkYXRlcyBhcmUgaW4gdGhlIHJhbmdlIC0yKio0
OCAuLiAyKio0NyB3aGljaAorICAgIC8vIENvbnZlcnRpbmcgZnJvbSBkb3VibGUgKERBVEUpIHRv
IGludDY0X3QgKFdlYkhpc3RvcnlEYXRlS2V5KSBpcyBzYWZlCisgICAgLy8gaGVyZSBiZWNhdXNl
IGFsbCBzZW5zaWJsZSBkYXRlcyBhcmUgaW4gdGhlIHJhbmdlIC0yKio0OCAuLiAyKio0NyB3aGlj
aAogICAgIC8vIHNhZmVseSBmaXRzIGluIGFuIGludDY0X3QuCi0gICAgcmV0dXJuIGJlZ2lubmlu
Z09mRGF5KGRhdGUpOworICAgIHJldHVybiBiZWdpbm5pbmdPZkRheShkYXRlKSAqIHNlY29uZHNQ
ZXJEYXk7CiB9CiAKIC8vIFJldHVybnMgd2hldGhlciB0aGUgZGF5IGlzIGFscmVhZHkgaW4gdGhl
IGxpc3Qgb2YgZGF5cywKIC8vIGFuZCBmaWxscyBpbiAqa2V5IHdpdGggdGhlIGZvdW5kIG9yIHBy
b3Bvc2VkIGtleS4KLWJvb2wgV2ViSGlzdG9yeTo6ZmluZEtleShEYXRlS2V5KiBrZXksIENGQWJz
b2x1dGVUaW1lIGZvckRheSkKK2Jvb2wgV2ViSGlzdG9yeTo6ZmluZEtleShEYXRlS2V5KiBrZXks
IERBVEUgZm9yRGF5KSBjb25zdAogewogICAgIEFTU0VSVF9BUkcoa2V5LCBrZXkpOwogCkBAIC03
MTksMzcgKzc0NSw2IEBAIEhSRVNVTFQgV2ViSGlzdG9yeTo6aW5zZXJ0SXRlbShJV2ViSGlzdG9y
eUl0ZW0qIGVudHJ5LCBEYXRlS2V5IGRhdGVLZXkpCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKLUNG
QWJzb2x1dGVUaW1lIFdlYkhpc3Rvcnk6OnRpbWVUb0RhdGUoQ0ZBYnNvbHV0ZVRpbWUgdGltZSkK
LXsKLSAgICAvLyBjYW4ndCBqdXN0IGRpdmlkZS9yb3VuZCBzaW5jZSB0aGUgZGF5IGJvdW5kYXJp
ZXMgZGVwZW5kIG9uIG91ciBjdXJyZW50IHRpbWUgem9uZQotICAgIGNvbnN0IGRvdWJsZSBzZWNv
bmRzUGVyRGF5ID0gNjAgKiA2MCAqIDI0OwotICAgIENGVGltZVpvbmVSZWYgdGltZVpvbmUgPSBD
RlRpbWVab25lQ29weVN5c3RlbSgpOwotICAgIENGR3JlZ29yaWFuRGF0ZSBkYXRlID0gQ0ZBYnNv
bHV0ZVRpbWVHZXRHcmVnb3JpYW5EYXRlKHRpbWUsIHRpbWVab25lKTsKLSAgICBkYXRlLmhvdXIg
PSBkYXRlLm1pbnV0ZSA9IDA7Ci0gICAgZGF0ZS5zZWNvbmQgPSAwLjA7Ci0gICAgQ0ZBYnNvbHV0
ZVRpbWUgdGltZUluRGF5cyA9IENGR3JlZ29yaWFuRGF0ZUdldEFic29sdXRlVGltZShkYXRlLCB0
aW1lWm9uZSk7Ci0gICAgaWYgKGFyZUVxdWFsT3JDbG9zZSh0aW1lIC0gdGltZUluRGF5cywgc2Vj
b25kc1BlckRheSkpCi0gICAgICAgIHRpbWVJbkRheXMgKz0gc2Vjb25kc1BlckRheTsKLSAgICBy
ZXR1cm4gdGltZUluRGF5czsKLX0KLQotLy8gUmV0dXJuIGEgZGF0ZSB0aGF0IG1hcmtzIHRoZSBh
Z2UgbGltaXQgZm9yIGhpc3RvcnkgZW50cmllcyBzYXZlZCB0byBvcgotLy8gbG9hZGVkIGZyb20g
ZGlzay4gQW55IGVudHJ5IG9sZGVyIHRoYW4gdGhpcyBpdGVtIHNob3VsZCBiZSByZWplY3RlZC4K
LUhSRVNVTFQgV2ViSGlzdG9yeTo6YWdlTGltaXREYXRlKENGQWJzb2x1dGVUaW1lKiB0aW1lKQot
ewotICAgIC8vIGdldCB0aGUgY3VycmVudCBkYXRlIGFzIGEgQ0ZBYnNvbHV0ZVRpbWUKLSAgICBD
RkFic29sdXRlVGltZSBjdXJyZW50RGF0ZSA9IHRpbWVUb0RhdGUoQ0ZBYnNvbHV0ZVRpbWVHZXRD
dXJyZW50KCkpOwotCi0gICAgQ0ZHcmVnb3JpYW5Vbml0cyBhZ2VMaW1pdCA9IHswfTsKLSAgICBp
bnQgaGlzdG9yeUxpbWl0RGF5czsKLSAgICBIUkVTVUxUIGhyID0gaGlzdG9yeUFnZUluRGF5c0xp
bWl0KCZoaXN0b3J5TGltaXREYXlzKTsKLSAgICBpZiAoRkFJTEVEKGhyKSkKLSAgICAgICAgcmV0
dXJuIGhyOwotICAgIGFnZUxpbWl0LmRheXMgPSAtaGlzdG9yeUxpbWl0RGF5czsKLSAgICAqdGlt
ZSA9IENGQWJzb2x1dGVUaW1lQWRkR3JlZ29yaWFuVW5pdHMoY3VycmVudERhdGUsIENGVGltZVpv
bmVDb3B5U3lzdGVtKCksIGFnZUxpbWl0KTsKLSAgICByZXR1cm4gU19PSzsKLX0KLQogdm9pZCBX
ZWJIaXN0b3J5OjphZGRWaXNpdGVkTGlua3NUb1BhZ2VHcm91cChQYWdlR3JvdXAmIGdyb3VwKQog
ewogICAgIGZvciAoYXV0byBpdCA9IG1fZW50cmllc0J5VVJMLmJlZ2luKCk7IGl0ICE9IG1fZW50
cmllc0J5VVJMLmVuZCgpOyArK2l0KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9X
ZWJIaXN0b3J5LmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJIaXN0b3J5LmgKaW5kZXggYWY2ZDZi
YS4uNjkwN2Y5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViSGlzdG9yeS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkhpc3RvcnkuaApAQCAtMTM5LDkgKzEzOSw3IEBAIHBy
aXZhdGU6CiAgICAgSFJFU1VMVCBhZGRJdGVtVG9EYXRlQ2FjaGVzKElXZWJIaXN0b3J5SXRlbSog
ZW50cnkpOwogICAgIEhSRVNVTFQgcmVtb3ZlSXRlbUZyb21EYXRlQ2FjaGVzKElXZWJIaXN0b3J5
SXRlbSogZW50cnkpOwogICAgIEhSRVNVTFQgaW5zZXJ0SXRlbShJV2ViSGlzdG9yeUl0ZW0qIGVu
dHJ5LCBEYXRlS2V5KTsKLSAgICBIUkVTVUxUIGFnZUxpbWl0RGF0ZShDRkFic29sdXRlVGltZSog
dGltZSk7Ci0gICAgYm9vbCBmaW5kS2V5KERhdGVLZXkqLCBDRkFic29sdXRlVGltZSBmb3JEYXkp
OwotICAgIHN0YXRpYyBDRkFic29sdXRlVGltZSB0aW1lVG9EYXRlKENGQWJzb2x1dGVUaW1lIHRp
bWUpOworICAgIGJvb2wgZmluZEtleShEYXRlS2V5KiwgREFURSBmb3JEYXkpIGNvbnN0OwogICAg
IEJTVFIgZ2V0Tm90aWZpY2F0aW9uU3RyaW5nKE5vdGlmaWNhdGlvblR5cGUgbm90aWZ5VHlwZSk7
CiAKICAgICBVTE9ORyBtX3JlZkNvdW50Owo=
</data>
<flag name="commit-queue"
          id="234198"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212049</attachid>
            <date>2013-09-19 03:49:08 -0700</date>
            <delta_ts>2013-09-20 05:49:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121599.patch</filename>
            <type>text/plain</type>
            <size>9178</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwppbmRleCBlMTE0MjY4Yy4uOGExM2MwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIzIEBACisyMDEzLTA5LTE5ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3
ZWJraXQub3JnPgorCisgICAgICAgIFtXSU5dIFJlcGxhY2UgQ0YgdGltZSBmdW5jdGlvbnMgd2l0
aCBXaW5kb3dzIEFQSSBmdW5jdGlvbnMgaW4gV2ViSGlzdG9yeQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxNTk5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyByZWR1Y2VzIHRoZSBkZXBlbmRlbmNp
ZXMgb24gdGhlIENvcmVGb3VuZGF0aW9uIGxpYnJhcnkuCisKKyAgICAgICAgKiBXZWJIaXN0b3J5
LmNwcDoKKyAgICAgICAgKFdlYkhpc3Rvcnk6Om9yZGVyZWRMYXN0VmlzaXRlZERheXMpOgorICAg
ICAgICAoV2ViSGlzdG9yeTo6b3JkZXJlZEl0ZW1zTGFzdFZpc2l0ZWRPbkRheSk6CisgICAgICAg
IChXZWJIaXN0b3J5OjphZGRJdGVtVG9EYXRlQ2FjaGVzKToKKyAgICAgICAgKFdlYkhpc3Rvcnk6
OnJlbW92ZUl0ZW1Gcm9tRGF0ZUNhY2hlcyk6CisgICAgICAgIChnZXREYXlCb3VuZGFyaWVzKToK
KyAgICAgICAgKGJlZ2lubmluZ09mRGF5KToKKyAgICAgICAgKGRhdGVLZXkpOgorICAgICAgICAo
V2ViSGlzdG9yeTo6ZmluZEtleSk6CisgICAgICAgICogV2ViSGlzdG9yeS5oOgorCiAyMDEzLTA5
LTE4ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5k
b3dzXSBCdWlsZCBmaXggYWZ0ZXIgcjE1NjA2My4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
d2luL1dlYkhpc3RvcnkuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViSGlzdG9yeS5jcHAKaW5k
ZXggNTU5NTA5MS4uODg2YjRmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViSGlz
dG9yeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViSGlzdG9yeS5jcHAKQEAgLTQyLDEy
ICs0MiwxNiBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZUdyb3VwLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9TaGFyZWRCdWZmZXIuaD4KICNpbmNsdWRlIDxmdW5jdGlvbmFsPgorI2luY2x1ZGUgPHd0
Zi9EYXRlTWF0aC5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNl
IHN0ZDsKIAorLy8gVGhpcyBpcyBvbmx5IHRlbXBvcmFyeSB0byBtYWtlIHRoZSBFV1MgaGFwcHkg
dW50aWwgdGhlIG90aGVyIHBhdGNoIGZvciBEYXRlTWF0aC5oIGlzIGxhbmRlZC4KK3N0YXRpYyBj
b25zdCBkb3VibGUgc2Vjb25kc1BlckRheSA9IDYwICogNjAgKiAyNDsKKwogc3RhdGljIGJvb2wg
YXJlRXF1YWxPckNsb3NlKGRvdWJsZSBkMSwgZG91YmxlIGQyKQogewogICAgIGRvdWJsZSBkaWZm
ID0gZDEtZDI7CkBAIC0yNzYsNyArMjgwLDcgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBX
ZWJIaXN0b3J5OjpvcmRlcmVkTGFzdFZpc2l0ZWREYXlzKAogICAgICAgICBEYXRlVG9FbnRyaWVz
TWFwOjpjb25zdF9pdGVyYXRvcjo6S2V5cyBlbmQgPSBtX2VudHJpZXNCeURhdGUuZW5kKCkua2V5
cygpOwogICAgICAgICBpbnQgaSA9IDA7CiAgICAgICAgIGZvciAoRGF0ZVRvRW50cmllc01hcDo6
Y29uc3RfaXRlcmF0b3I6OktleXMgaXQgPSBtX2VudHJpZXNCeURhdGUuYmVnaW4oKS5rZXlzKCk7
IGl0ICE9IGVuZDsgKytpdCwgKytpKQotICAgICAgICAgICAgbV9vcmRlcmVkTGFzdFZpc2l0ZWRE
YXlzW2ldID0gTWFyc2hhbGxpbmdIZWxwZXJzOjpDRkFic29sdXRlVGltZVRvREFURSgqaXQpOwor
ICAgICAgICAgICAgbV9vcmRlcmVkTGFzdFZpc2l0ZWREYXlzW2ldID0gKml0IC8gc2Vjb25kc1Bl
ckRheTsKICAgICAgICAgLy8gVXNlIHN0ZDo6Z3JlYXRlciB0byBzb3J0IHRoZSBkYXlzIGluIGRl
c2NlbmRpbmcgb3JkZXIgKGkuZS4sIG1vc3QtcmVjZW50IGZpcnN0KS4KICAgICAgICAgc29ydCht
X29yZGVyZWRMYXN0VmlzaXRlZERheXMuZ2V0KCksIG1fb3JkZXJlZExhc3RWaXNpdGVkRGF5cy5n
ZXQoKSArIGRhdGVDb3VudCwgZ3JlYXRlcjxEQVRFPigpKTsKICAgICB9CkBAIC0yOTEsNyArMjk1
LDcgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJIaXN0b3J5OjpvcmRlcmVkSXRlbXNM
YXN0VmlzaXRlZE9uRGF5KAogICAgIC8qIFtpbl0gKi8gREFURSBjYWxlbmRhckRhdGUpCiB7CiAg
ICAgRGF0ZUtleSBkYXRlS2V5OwotICAgIGlmICghZmluZEtleSgmZGF0ZUtleSwgTWFyc2hhbGxp
bmdIZWxwZXJzOjpEQVRFVG9DRkFic29sdXRlVGltZShjYWxlbmRhckRhdGUpKSkgeworICAgIGlm
ICghZmluZEtleSgmZGF0ZUtleSwgY2FsZW5kYXJEYXRlKSkgewogICAgICAgICAqY291bnQgPSAw
OwogICAgICAgICByZXR1cm4gMDsKICAgICB9CkBAIC01NzIsNyArNTc2LDcgQEAgSFJFU1VMVCBX
ZWJIaXN0b3J5OjphZGRJdGVtVG9EYXRlQ2FjaGVzKElXZWJIaXN0b3J5SXRlbSogZW50cnkpCiAg
ICAgZW50cnktPmxhc3RWaXNpdGVkVGltZUludGVydmFsKCZsYXN0VmlzaXRlZENPTVRpbWUpOwog
ICAgIAogICAgIERhdGVLZXkgZGF0ZUtleTsKLSAgICBpZiAoZmluZEtleSgmZGF0ZUtleSwgTWFy
c2hhbGxpbmdIZWxwZXJzOjpEQVRFVG9DRkFic29sdXRlVGltZShsYXN0VmlzaXRlZENPTVRpbWUp
KSkgeworICAgIGlmIChmaW5kS2V5KCZkYXRlS2V5LCBsYXN0VmlzaXRlZENPTVRpbWUpKSB7CiAg
ICAgICAgIC8vIG90aGVyIGVudHJpZXMgYWxyZWFkeSBleGlzdCBmb3IgdGhpcyBkYXRlCiAgICAg
ICAgIGhyID0gaW5zZXJ0SXRlbShlbnRyeSwgZGF0ZUtleSk7CiAgICAgfSBlbHNlIHsKQEAgLTU5
Nyw3ICs2MDEsNyBAQCBIUkVTVUxUIFdlYkhpc3Rvcnk6OnJlbW92ZUl0ZW1Gcm9tRGF0ZUNhY2hl
cyhJV2ViSGlzdG9yeUl0ZW0qIGVudHJ5KQogICAgIGVudHJ5LT5sYXN0VmlzaXRlZFRpbWVJbnRl
cnZhbCgmbGFzdFZpc2l0ZWRDT01UaW1lKTsKIAogICAgIERhdGVLZXkgZGF0ZUtleTsKLSAgICBp
ZiAoIWZpbmRLZXkoJmRhdGVLZXksIE1hcnNoYWxsaW5nSGVscGVyczo6REFURVRvQ0ZBYnNvbHV0
ZVRpbWUobGFzdFZpc2l0ZWRDT01UaW1lKSkpCisgICAgaWYgKCFmaW5kS2V5KCZkYXRlS2V5LCBs
YXN0VmlzaXRlZENPTVRpbWUpKQogICAgICAgICByZXR1cm4gRV9GQUlMOwogCiAgICAgRGF0ZVRv
RW50cmllc01hcDo6aXRlcmF0b3IgZm91bmQgPSBtX2VudHJpZXNCeURhdGUuZmluZChkYXRlS2V5
KTsKQEAgLTYyMCwzOCArNjI0LDYzIEBAIEhSRVNVTFQgV2ViSGlzdG9yeTo6cmVtb3ZlSXRlbUZy
b21EYXRlQ2FjaGVzKElXZWJIaXN0b3J5SXRlbSogZW50cnkpCiAgICAgcmV0dXJuIGhyOwogfQog
Ci1zdGF0aWMgdm9pZCBnZXREYXlCb3VuZGFyaWVzKENGQWJzb2x1dGVUaW1lIGRheSwgQ0ZBYnNv
bHV0ZVRpbWUmIGJlZ2lubmluZ09mRGF5LCBDRkFic29sdXRlVGltZSYgYmVnaW5uaW5nT2ZOZXh0
RGF5KQorc3RhdGljIHZvaWQgZ2V0RGF5Qm91bmRhcmllcyhEQVRFIGRheSwgREFURSYgYmVnaW5u
aW5nT2ZEYXksIERBVEUmIGJlZ2lubmluZ09mTmV4dERheSkKIHsKLSAgICBSZXRhaW5QdHI8Q0ZU
aW1lWm9uZVJlZj4gdGltZVpvbmUgPSBhZG9wdENGKENGVGltZVpvbmVDb3B5RGVmYXVsdCgpKTsK
LSAgICBDRkdyZWdvcmlhbkRhdGUgZGF0ZSA9IENGQWJzb2x1dGVUaW1lR2V0R3JlZ29yaWFuRGF0
ZShkYXksIHRpbWVab25lLmdldCgpKTsKLSAgICBkYXRlLmhvdXIgPSAwOwotICAgIGRhdGUubWlu
dXRlID0gMDsKLSAgICBkYXRlLnNlY29uZCA9IDA7Ci0gICAgYmVnaW5uaW5nT2ZEYXkgPSBDRkdy
ZWdvcmlhbkRhdGVHZXRBYnNvbHV0ZVRpbWUoZGF0ZSwgdGltZVpvbmUuZ2V0KCkpOwotICAgIGRh
dGUuZGF5ICs9IDE7Ci0gICAgYmVnaW5uaW5nT2ZOZXh0RGF5ID0gQ0ZHcmVnb3JpYW5EYXRlR2V0
QWJzb2x1dGVUaW1lKGRhdGUsIHRpbWVab25lLmdldCgpKTsKKyAgICBTWVNURU1USU1FIHN5c3Rl
bVRpbWU7CisgICAgVmFyaWFudFRpbWVUb1N5c3RlbVRpbWUoZGF5LCAmc3lzdGVtVGltZSk7CisK
KyAgICBTWVNURU1USU1FIGJlZ2lubmluZ0xvY2FsVGltZTsKKyAgICBTeXN0ZW1UaW1lVG9UelNw
ZWNpZmljTG9jYWxUaW1lKDAsICZzeXN0ZW1UaW1lLCAmYmVnaW5uaW5nTG9jYWxUaW1lKTsKKyAg
ICBiZWdpbm5pbmdMb2NhbFRpbWUud0hvdXIgPSAwOworICAgIGJlZ2lubmluZ0xvY2FsVGltZS53
TWludXRlID0gMDsKKyAgICBiZWdpbm5pbmdMb2NhbFRpbWUud1NlY29uZCA9IDA7CisgICAgYmVn
aW5uaW5nTG9jYWxUaW1lLndNaWxsaXNlY29uZHMgPSAwOworCisgICAgU1lTVEVNVElNRSBiZWdp
bm5pbmdPZk5leHREYXlMb2NhbFRpbWUgPSBiZWdpbm5pbmdMb2NhbFRpbWU7CisgICAgYmVnaW5u
aW5nT2ZOZXh0RGF5TG9jYWxUaW1lLndEYXkgKz0gMTsKKyAgICBpZiAoYmVnaW5uaW5nT2ZOZXh0
RGF5TG9jYWxUaW1lLndEYXkgPiAzMSkgeworICAgICAgICBiZWdpbm5pbmdPZk5leHREYXlMb2Nh
bFRpbWUud0RheSA9IDE7CisgICAgICAgIGJlZ2lubmluZ09mTmV4dERheUxvY2FsVGltZS53TW9u
dGggKz0gMTsKKyAgICB9CisgICAgaWYgKGJlZ2lubmluZ09mTmV4dERheUxvY2FsVGltZS53TW9u
dGggPiAxMikgeworICAgICAgICBiZWdpbm5pbmdPZk5leHREYXlMb2NhbFRpbWUud01vbnRoID0g
MTsKKyAgICAgICAgYmVnaW5uaW5nT2ZOZXh0RGF5TG9jYWxUaW1lLndZZWFyICs9IDE7CisgICAg
fQorCisgICAgLy8gQ29udmVydCB0byBhbmQgZnJvbSBWYXJpYW50VGltZSB0byBmaXggaW52YWxp
ZCBkYXRlcyBsaWtlIDIwMDEtMDQtMzEuCisgICAgREFURSBkYXRlID0gMC4wOworICAgIFN5c3Rl
bVRpbWVUb1ZhcmlhbnRUaW1lKCZiZWdpbm5pbmdPZk5leHREYXlMb2NhbFRpbWUsICZkYXRlKTsK
KyAgICBWYXJpYW50VGltZVRvU3lzdGVtVGltZShkYXRlLCAmYmVnaW5uaW5nT2ZOZXh0RGF5TG9j
YWxUaW1lKTsKKworICAgIFNZU1RFTVRJTUUgYmVnaW5uaW5nU3lzdGVtVGltZTsKKyAgICBUelNw
ZWNpZmljTG9jYWxUaW1lVG9TeXN0ZW1UaW1lKDAsICZiZWdpbm5pbmdMb2NhbFRpbWUsICZiZWdp
bm5pbmdTeXN0ZW1UaW1lKTsKKyAgICBTeXN0ZW1UaW1lVG9WYXJpYW50VGltZSgmYmVnaW5uaW5n
U3lzdGVtVGltZSwgJmJlZ2lubmluZ09mRGF5KTsKKworICAgIFNZU1RFTVRJTUUgYmVnaW5uaW5n
T2ZOZXh0RGF5U3lzdGVtVGltZTsKKyAgICBUelNwZWNpZmljTG9jYWxUaW1lVG9TeXN0ZW1UaW1l
KDAsICZiZWdpbm5pbmdPZk5leHREYXlMb2NhbFRpbWUsICZiZWdpbm5pbmdPZk5leHREYXlTeXN0
ZW1UaW1lKTsKKyAgICBTeXN0ZW1UaW1lVG9WYXJpYW50VGltZSgmYmVnaW5uaW5nT2ZOZXh0RGF5
U3lzdGVtVGltZSwgJmJlZ2lubmluZ09mTmV4dERheSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgQ0ZB
YnNvbHV0ZVRpbWUgYmVnaW5uaW5nT2ZEYXkoQ0ZBYnNvbHV0ZVRpbWUgZGF0ZSkKK3N0YXRpYyBp
bmxpbmUgREFURSBiZWdpbm5pbmdPZkRheShEQVRFIGRhdGUpCiB7Ci0gICAgc3RhdGljIENGQWJz
b2x1dGVUaW1lIGNhY2hlZEJlZ2lubmluZ09mRGF5ID0gbnVtZXJpY19saW1pdHM8Q0ZBYnNvbHV0
ZVRpbWU+OjpxdWlldF9OYU4oKTsKLSAgICBzdGF0aWMgQ0ZBYnNvbHV0ZVRpbWUgY2FjaGVkQmVn
aW5uaW5nT2ZOZXh0RGF5OworICAgIHN0YXRpYyBEQVRFIGNhY2hlZEJlZ2lubmluZ09mRGF5ID0g
bnVtZXJpY19saW1pdHM8REFURT46OnF1aWV0X05hTigpOworICAgIHN0YXRpYyBEQVRFIGNhY2hl
ZEJlZ2lubmluZ09mTmV4dERheTsKICAgICBpZiAoIShkYXRlID49IGNhY2hlZEJlZ2lubmluZ09m
RGF5ICYmIGRhdGUgPCBjYWNoZWRCZWdpbm5pbmdPZk5leHREYXkpKQogICAgICAgICBnZXREYXlC
b3VuZGFyaWVzKGRhdGUsIGNhY2hlZEJlZ2lubmluZ09mRGF5LCBjYWNoZWRCZWdpbm5pbmdPZk5l
eHREYXkpOwogICAgIHJldHVybiBjYWNoZWRCZWdpbm5pbmdPZkRheTsKIH0KIAotc3RhdGljIGlu
bGluZSBXZWJIaXN0b3J5OjpEYXRlS2V5IGRhdGVLZXkoQ0ZBYnNvbHV0ZVRpbWUgZGF0ZSkKK3N0
YXRpYyBpbmxpbmUgV2ViSGlzdG9yeTo6RGF0ZUtleSBkYXRlS2V5KERBVEUgZGF0ZSkKIHsKLSAg
ICAvLyBDb252ZXJ0aW5nIGZyb20gZG91YmxlIChDRkFic29sdXRlVGltZSkgdG8gaW50NjRfdCAo
V2ViSGlzdG9yeURhdGVLZXkpIGlzCi0gICAgLy8gc2FmZSBoZXJlIGJlY2F1c2UgYWxsIHNlbnNp
YmxlIGRhdGVzIGFyZSBpbiB0aGUgcmFuZ2UgLTIqKjQ4IC4uIDIqKjQ3IHdoaWNoCisgICAgLy8g
Q29udmVydGluZyBmcm9tIGRvdWJsZSAoREFURSkgdG8gaW50NjRfdCAoV2ViSGlzdG9yeURhdGVL
ZXkpIGlzIHNhZmUKKyAgICAvLyBoZXJlIGJlY2F1c2UgYWxsIHNlbnNpYmxlIGRhdGVzIGFyZSBp
biB0aGUgcmFuZ2UgLTIqKjQ4IC4uIDIqKjQ3IHdoaWNoCiAgICAgLy8gc2FmZWx5IGZpdHMgaW4g
YW4gaW50NjRfdC4KLSAgICByZXR1cm4gYmVnaW5uaW5nT2ZEYXkoZGF0ZSk7CisgICAgcmV0dXJu
IGJlZ2lubmluZ09mRGF5KGRhdGUpICogc2Vjb25kc1BlckRheTsKIH0KIAogLy8gUmV0dXJucyB3
aGV0aGVyIHRoZSBkYXkgaXMgYWxyZWFkeSBpbiB0aGUgbGlzdCBvZiBkYXlzLAogLy8gYW5kIGZp
bGxzIGluICprZXkgd2l0aCB0aGUgZm91bmQgb3IgcHJvcG9zZWQga2V5LgotYm9vbCBXZWJIaXN0
b3J5OjpmaW5kS2V5KERhdGVLZXkqIGtleSwgQ0ZBYnNvbHV0ZVRpbWUgZm9yRGF5KQorYm9vbCBX
ZWJIaXN0b3J5OjpmaW5kS2V5KERhdGVLZXkqIGtleSwgREFURSBmb3JEYXkpIGNvbnN0CiB7CiAg
ICAgQVNTRVJUX0FSRyhrZXksIGtleSk7CiAKQEAgLTcxOSwzNyArNzQ4LDYgQEAgSFJFU1VMVCBX
ZWJIaXN0b3J5OjppbnNlcnRJdGVtKElXZWJIaXN0b3J5SXRlbSogZW50cnksIERhdGVLZXkgZGF0
ZUtleSkKICAgICByZXR1cm4gU19PSzsKIH0KIAotQ0ZBYnNvbHV0ZVRpbWUgV2ViSGlzdG9yeTo6
dGltZVRvRGF0ZShDRkFic29sdXRlVGltZSB0aW1lKQotewotICAgIC8vIGNhbid0IGp1c3QgZGl2
aWRlL3JvdW5kIHNpbmNlIHRoZSBkYXkgYm91bmRhcmllcyBkZXBlbmQgb24gb3VyIGN1cnJlbnQg
dGltZSB6b25lCi0gICAgY29uc3QgZG91YmxlIHNlY29uZHNQZXJEYXkgPSA2MCAqIDYwICogMjQ7
Ci0gICAgQ0ZUaW1lWm9uZVJlZiB0aW1lWm9uZSA9IENGVGltZVpvbmVDb3B5U3lzdGVtKCk7Ci0g
ICAgQ0ZHcmVnb3JpYW5EYXRlIGRhdGUgPSBDRkFic29sdXRlVGltZUdldEdyZWdvcmlhbkRhdGUo
dGltZSwgdGltZVpvbmUpOwotICAgIGRhdGUuaG91ciA9IGRhdGUubWludXRlID0gMDsKLSAgICBk
YXRlLnNlY29uZCA9IDAuMDsKLSAgICBDRkFic29sdXRlVGltZSB0aW1lSW5EYXlzID0gQ0ZHcmVn
b3JpYW5EYXRlR2V0QWJzb2x1dGVUaW1lKGRhdGUsIHRpbWVab25lKTsKLSAgICBpZiAoYXJlRXF1
YWxPckNsb3NlKHRpbWUgLSB0aW1lSW5EYXlzLCBzZWNvbmRzUGVyRGF5KSkKLSAgICAgICAgdGlt
ZUluRGF5cyArPSBzZWNvbmRzUGVyRGF5OwotICAgIHJldHVybiB0aW1lSW5EYXlzOwotfQotCi0v
LyBSZXR1cm4gYSBkYXRlIHRoYXQgbWFya3MgdGhlIGFnZSBsaW1pdCBmb3IgaGlzdG9yeSBlbnRy
aWVzIHNhdmVkIHRvIG9yCi0vLyBsb2FkZWQgZnJvbSBkaXNrLiBBbnkgZW50cnkgb2xkZXIgdGhh
biB0aGlzIGl0ZW0gc2hvdWxkIGJlIHJlamVjdGVkLgotSFJFU1VMVCBXZWJIaXN0b3J5OjphZ2VM
aW1pdERhdGUoQ0ZBYnNvbHV0ZVRpbWUqIHRpbWUpCi17Ci0gICAgLy8gZ2V0IHRoZSBjdXJyZW50
IGRhdGUgYXMgYSBDRkFic29sdXRlVGltZQotICAgIENGQWJzb2x1dGVUaW1lIGN1cnJlbnREYXRl
ID0gdGltZVRvRGF0ZShDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKSk7Ci0KLSAgICBDRkdyZWdv
cmlhblVuaXRzIGFnZUxpbWl0ID0gezB9OwotICAgIGludCBoaXN0b3J5TGltaXREYXlzOwotICAg
IEhSRVNVTFQgaHIgPSBoaXN0b3J5QWdlSW5EYXlzTGltaXQoJmhpc3RvcnlMaW1pdERheXMpOwot
ICAgIGlmIChGQUlMRUQoaHIpKQotICAgICAgICByZXR1cm4gaHI7Ci0gICAgYWdlTGltaXQuZGF5
cyA9IC1oaXN0b3J5TGltaXREYXlzOwotICAgICp0aW1lID0gQ0ZBYnNvbHV0ZVRpbWVBZGRHcmVn
b3JpYW5Vbml0cyhjdXJyZW50RGF0ZSwgQ0ZUaW1lWm9uZUNvcHlTeXN0ZW0oKSwgYWdlTGltaXQp
OwotICAgIHJldHVybiBTX09LOwotfQotCiB2b2lkIFdlYkhpc3Rvcnk6OmFkZFZpc2l0ZWRMaW5r
c1RvUGFnZUdyb3VwKFBhZ2VHcm91cCYgZ3JvdXApCiB7CiAgICAgZm9yIChhdXRvIGl0ID0gbV9l
bnRyaWVzQnlVUkwuYmVnaW4oKTsgaXQgIT0gbV9lbnRyaWVzQnlVUkwuZW5kKCk7ICsraXQpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkhpc3RvcnkuaCBiL1NvdXJjZS9XZWJL
aXQvd2luL1dlYkhpc3RvcnkuaAppbmRleCBhZjZkNmJhLi42OTA3ZjkzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJIaXN0b3J5LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2Vi
SGlzdG9yeS5oCkBAIC0xMzksOSArMTM5LDcgQEAgcHJpdmF0ZToKICAgICBIUkVTVUxUIGFkZEl0
ZW1Ub0RhdGVDYWNoZXMoSVdlYkhpc3RvcnlJdGVtKiBlbnRyeSk7CiAgICAgSFJFU1VMVCByZW1v
dmVJdGVtRnJvbURhdGVDYWNoZXMoSVdlYkhpc3RvcnlJdGVtKiBlbnRyeSk7CiAgICAgSFJFU1VM
VCBpbnNlcnRJdGVtKElXZWJIaXN0b3J5SXRlbSogZW50cnksIERhdGVLZXkpOwotICAgIEhSRVNV
TFQgYWdlTGltaXREYXRlKENGQWJzb2x1dGVUaW1lKiB0aW1lKTsKLSAgICBib29sIGZpbmRLZXko
RGF0ZUtleSosIENGQWJzb2x1dGVUaW1lIGZvckRheSk7Ci0gICAgc3RhdGljIENGQWJzb2x1dGVU
aW1lIHRpbWVUb0RhdGUoQ0ZBYnNvbHV0ZVRpbWUgdGltZSk7CisgICAgYm9vbCBmaW5kS2V5KERh
dGVLZXkqLCBEQVRFIGZvckRheSkgY29uc3Q7CiAgICAgQlNUUiBnZXROb3RpZmljYXRpb25TdHJp
bmcoTm90aWZpY2F0aW9uVHlwZSBub3RpZnlUeXBlKTsKIAogICAgIFVMT05HIG1fcmVmQ291bnQ7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212154</attachid>
            <date>2013-09-20 05:50:00 -0700</date>
            <delta_ts>2013-09-24 01:38:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121599-20130920144958.patch</filename>
            <type>text/plain</type>
            <size>9189</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2MTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggMGIxNDM5MmI1
OTc3ZjQyZmY5YzU0OTEzYzliMzIzNWMyYjc2MDNiNC4uZTMzMjkwYTVkZWZhYTE5MmZlZjA4NWQw
NDhlNzYzNDYyZjcyZWZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI1IEBACiAyMDEz
LTA5LTIwICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCisgICAgICAg
IFtXSU5dIFJlcGxhY2UgQ0YgdGltZSBmdW5jdGlvbnMgd2l0aCBXaW5kb3dzIEFQSSBmdW5jdGlv
bnMgaW4gV2ViSGlzdG9yeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTIxNTk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVGhpcyByZWR1Y2VzIHRoZSBkZXBlbmRlbmNpZXMgb24gdGhlIENvcmVGb3VuZGF0
aW9uIGxpYnJhcnkuCisKKyAgICAgICAgKiBXZWJIaXN0b3J5LmNwcDoKKyAgICAgICAgKFdlYkhp
c3Rvcnk6Om9yZGVyZWRMYXN0VmlzaXRlZERheXMpOgorICAgICAgICAoV2ViSGlzdG9yeTo6b3Jk
ZXJlZEl0ZW1zTGFzdFZpc2l0ZWRPbkRheSk6CisgICAgICAgIChXZWJIaXN0b3J5OjphZGRJdGVt
VG9EYXRlQ2FjaGVzKToKKyAgICAgICAgKFdlYkhpc3Rvcnk6OnJlbW92ZUl0ZW1Gcm9tRGF0ZUNh
Y2hlcyk6CisgICAgICAgIChnZXREYXlCb3VuZGFyaWVzKToKKyAgICAgICAgKGJlZ2lubmluZ09m
RGF5KToKKyAgICAgICAgKGRhdGVLZXkpOgorICAgICAgICAoV2ViSGlzdG9yeTo6ZmluZEtleSk6
CisgICAgICAgICogV2ViSGlzdG9yeS5oOgorCisyMDEzLTA5LTIwICBQYXRyaWNrIEdhbnN0ZXJl
ciAgPHBhcm9nYUB3ZWJraXQub3JnPgorCiAgICAgICAgIFJlbW92ZSBkdXBsaWNhdGVkIHNlY29u
ZHNQZXJEYXkgdmFyaWFibGVzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjE2MDEKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViSGlz
dG9yeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJIaXN0b3J5LmNwcAppbmRleCA1NTk1MDkx
NGQ3YzVmZTVkNjlkYzkzYjI5NTExZWM4YmI0ZWYwMzAwLi5lNTdmOGMxOGEyNGQwNjZmNGFkZDUy
ZDAxYTY0MjJkMmY2YTBlMjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJIaXN0
b3J5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJIaXN0b3J5LmNwcApAQCAtNDIsNiAr
NDIsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZUdyb3VwLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9TaGFyZWRCdWZmZXIuaD4KICNpbmNsdWRlIDxmdW5jdGlvbmFsPgorI2luY2x1ZGUgPHd0Zi9E
YXRlTWF0aC5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CiAKQEAgLTI3Niw3ICsyNzcsNyBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
IFdlYkhpc3Rvcnk6Om9yZGVyZWRMYXN0VmlzaXRlZERheXMoCiAgICAgICAgIERhdGVUb0VudHJp
ZXNNYXA6OmNvbnN0X2l0ZXJhdG9yOjpLZXlzIGVuZCA9IG1fZW50cmllc0J5RGF0ZS5lbmQoKS5r
ZXlzKCk7CiAgICAgICAgIGludCBpID0gMDsKICAgICAgICAgZm9yIChEYXRlVG9FbnRyaWVzTWFw
Ojpjb25zdF9pdGVyYXRvcjo6S2V5cyBpdCA9IG1fZW50cmllc0J5RGF0ZS5iZWdpbigpLmtleXMo
KTsgaXQgIT0gZW5kOyArK2l0LCArK2kpCi0gICAgICAgICAgICBtX29yZGVyZWRMYXN0VmlzaXRl
ZERheXNbaV0gPSBNYXJzaGFsbGluZ0hlbHBlcnM6OkNGQWJzb2x1dGVUaW1lVG9EQVRFKCppdCk7
CisgICAgICAgICAgICBtX29yZGVyZWRMYXN0VmlzaXRlZERheXNbaV0gPSAqaXQgLyBzZWNvbmRz
UGVyRGF5OwogICAgICAgICAvLyBVc2Ugc3RkOjpncmVhdGVyIHRvIHNvcnQgdGhlIGRheXMgaW4g
ZGVzY2VuZGluZyBvcmRlciAoaS5lLiwgbW9zdC1yZWNlbnQgZmlyc3QpLgogICAgICAgICBzb3J0
KG1fb3JkZXJlZExhc3RWaXNpdGVkRGF5cy5nZXQoKSwgbV9vcmRlcmVkTGFzdFZpc2l0ZWREYXlz
LmdldCgpICsgZGF0ZUNvdW50LCBncmVhdGVyPERBVEU+KCkpOwogICAgIH0KQEAgLTI5MSw3ICsy
OTIsNyBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYkhpc3Rvcnk6Om9yZGVyZWRJdGVt
c0xhc3RWaXNpdGVkT25EYXkoCiAgICAgLyogW2luXSAqLyBEQVRFIGNhbGVuZGFyRGF0ZSkKIHsK
ICAgICBEYXRlS2V5IGRhdGVLZXk7Ci0gICAgaWYgKCFmaW5kS2V5KCZkYXRlS2V5LCBNYXJzaGFs
bGluZ0hlbHBlcnM6OkRBVEVUb0NGQWJzb2x1dGVUaW1lKGNhbGVuZGFyRGF0ZSkpKSB7CisgICAg
aWYgKCFmaW5kS2V5KCZkYXRlS2V5LCBjYWxlbmRhckRhdGUpKSB7CiAgICAgICAgICpjb3VudCA9
IDA7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KQEAgLTU3Miw3ICs1NzMsNyBAQCBIUkVTVUxU
IFdlYkhpc3Rvcnk6OmFkZEl0ZW1Ub0RhdGVDYWNoZXMoSVdlYkhpc3RvcnlJdGVtKiBlbnRyeSkK
ICAgICBlbnRyeS0+bGFzdFZpc2l0ZWRUaW1lSW50ZXJ2YWwoJmxhc3RWaXNpdGVkQ09NVGltZSk7
CiAgICAgCiAgICAgRGF0ZUtleSBkYXRlS2V5OwotICAgIGlmIChmaW5kS2V5KCZkYXRlS2V5LCBN
YXJzaGFsbGluZ0hlbHBlcnM6OkRBVEVUb0NGQWJzb2x1dGVUaW1lKGxhc3RWaXNpdGVkQ09NVGlt
ZSkpKSB7CisgICAgaWYgKGZpbmRLZXkoJmRhdGVLZXksIGxhc3RWaXNpdGVkQ09NVGltZSkpIHsK
ICAgICAgICAgLy8gb3RoZXIgZW50cmllcyBhbHJlYWR5IGV4aXN0IGZvciB0aGlzIGRhdGUKICAg
ICAgICAgaHIgPSBpbnNlcnRJdGVtKGVudHJ5LCBkYXRlS2V5KTsKICAgICB9IGVsc2UgewpAQCAt
NTk3LDcgKzU5OCw3IEBAIEhSRVNVTFQgV2ViSGlzdG9yeTo6cmVtb3ZlSXRlbUZyb21EYXRlQ2Fj
aGVzKElXZWJIaXN0b3J5SXRlbSogZW50cnkpCiAgICAgZW50cnktPmxhc3RWaXNpdGVkVGltZUlu
dGVydmFsKCZsYXN0VmlzaXRlZENPTVRpbWUpOwogCiAgICAgRGF0ZUtleSBkYXRlS2V5OwotICAg
IGlmICghZmluZEtleSgmZGF0ZUtleSwgTWFyc2hhbGxpbmdIZWxwZXJzOjpEQVRFVG9DRkFic29s
dXRlVGltZShsYXN0VmlzaXRlZENPTVRpbWUpKSkKKyAgICBpZiAoIWZpbmRLZXkoJmRhdGVLZXks
IGxhc3RWaXNpdGVkQ09NVGltZSkpCiAgICAgICAgIHJldHVybiBFX0ZBSUw7CiAKICAgICBEYXRl
VG9FbnRyaWVzTWFwOjppdGVyYXRvciBmb3VuZCA9IG1fZW50cmllc0J5RGF0ZS5maW5kKGRhdGVL
ZXkpOwpAQCAtNjIwLDM4ICs2MjEsNjMgQEAgSFJFU1VMVCBXZWJIaXN0b3J5OjpyZW1vdmVJdGVt
RnJvbURhdGVDYWNoZXMoSVdlYkhpc3RvcnlJdGVtKiBlbnRyeSkKICAgICByZXR1cm4gaHI7CiB9
CiAKLXN0YXRpYyB2b2lkIGdldERheUJvdW5kYXJpZXMoQ0ZBYnNvbHV0ZVRpbWUgZGF5LCBDRkFi
c29sdXRlVGltZSYgYmVnaW5uaW5nT2ZEYXksIENGQWJzb2x1dGVUaW1lJiBiZWdpbm5pbmdPZk5l
eHREYXkpCitzdGF0aWMgdm9pZCBnZXREYXlCb3VuZGFyaWVzKERBVEUgZGF5LCBEQVRFJiBiZWdp
bm5pbmdPZkRheSwgREFURSYgYmVnaW5uaW5nT2ZOZXh0RGF5KQogewotICAgIFJldGFpblB0cjxD
RlRpbWVab25lUmVmPiB0aW1lWm9uZSA9IGFkb3B0Q0YoQ0ZUaW1lWm9uZUNvcHlEZWZhdWx0KCkp
OwotICAgIENGR3JlZ29yaWFuRGF0ZSBkYXRlID0gQ0ZBYnNvbHV0ZVRpbWVHZXRHcmVnb3JpYW5E
YXRlKGRheSwgdGltZVpvbmUuZ2V0KCkpOwotICAgIGRhdGUuaG91ciA9IDA7Ci0gICAgZGF0ZS5t
aW51dGUgPSAwOwotICAgIGRhdGUuc2Vjb25kID0gMDsKLSAgICBiZWdpbm5pbmdPZkRheSA9IENG
R3JlZ29yaWFuRGF0ZUdldEFic29sdXRlVGltZShkYXRlLCB0aW1lWm9uZS5nZXQoKSk7Ci0gICAg
ZGF0ZS5kYXkgKz0gMTsKLSAgICBiZWdpbm5pbmdPZk5leHREYXkgPSBDRkdyZWdvcmlhbkRhdGVH
ZXRBYnNvbHV0ZVRpbWUoZGF0ZSwgdGltZVpvbmUuZ2V0KCkpOworICAgIFNZU1RFTVRJTUUgc3lz
dGVtVGltZTsKKyAgICBWYXJpYW50VGltZVRvU3lzdGVtVGltZShkYXksICZzeXN0ZW1UaW1lKTsK
KworICAgIFNZU1RFTVRJTUUgYmVnaW5uaW5nTG9jYWxUaW1lOworICAgIFN5c3RlbVRpbWVUb1R6
U3BlY2lmaWNMb2NhbFRpbWUoMCwgJnN5c3RlbVRpbWUsICZiZWdpbm5pbmdMb2NhbFRpbWUpOwor
ICAgIGJlZ2lubmluZ0xvY2FsVGltZS53SG91ciA9IDA7CisgICAgYmVnaW5uaW5nTG9jYWxUaW1l
LndNaW51dGUgPSAwOworICAgIGJlZ2lubmluZ0xvY2FsVGltZS53U2Vjb25kID0gMDsKKyAgICBi
ZWdpbm5pbmdMb2NhbFRpbWUud01pbGxpc2Vjb25kcyA9IDA7CisKKyAgICBTWVNURU1USU1FIGJl
Z2lubmluZ09mTmV4dERheUxvY2FsVGltZSA9IGJlZ2lubmluZ0xvY2FsVGltZTsKKyAgICBiZWdp
bm5pbmdPZk5leHREYXlMb2NhbFRpbWUud0RheSArPSAxOworICAgIGlmIChiZWdpbm5pbmdPZk5l
eHREYXlMb2NhbFRpbWUud0RheSA+IDMxKSB7CisgICAgICAgIGJlZ2lubmluZ09mTmV4dERheUxv
Y2FsVGltZS53RGF5ID0gMTsKKyAgICAgICAgYmVnaW5uaW5nT2ZOZXh0RGF5TG9jYWxUaW1lLndN
b250aCArPSAxOworICAgIH0KKyAgICBpZiAoYmVnaW5uaW5nT2ZOZXh0RGF5TG9jYWxUaW1lLndN
b250aCA+IDEyKSB7CisgICAgICAgIGJlZ2lubmluZ09mTmV4dERheUxvY2FsVGltZS53TW9udGgg
PSAxOworICAgICAgICBiZWdpbm5pbmdPZk5leHREYXlMb2NhbFRpbWUud1llYXIgKz0gMTsKKyAg
ICB9CisKKyAgICAvLyBDb252ZXJ0IHRvIGFuZCBmcm9tIFZhcmlhbnRUaW1lIHRvIGZpeCBpbnZh
bGlkIGRhdGVzIGxpa2UgMjAwMS0wNC0zMS4KKyAgICBEQVRFIGRhdGUgPSAwLjA7CisgICAgU3lz
dGVtVGltZVRvVmFyaWFudFRpbWUoJmJlZ2lubmluZ09mTmV4dERheUxvY2FsVGltZSwgJmRhdGUp
OworICAgIFZhcmlhbnRUaW1lVG9TeXN0ZW1UaW1lKGRhdGUsICZiZWdpbm5pbmdPZk5leHREYXlM
b2NhbFRpbWUpOworCisgICAgU1lTVEVNVElNRSBiZWdpbm5pbmdTeXN0ZW1UaW1lOworICAgIFR6
U3BlY2lmaWNMb2NhbFRpbWVUb1N5c3RlbVRpbWUoMCwgJmJlZ2lubmluZ0xvY2FsVGltZSwgJmJl
Z2lubmluZ1N5c3RlbVRpbWUpOworICAgIFN5c3RlbVRpbWVUb1ZhcmlhbnRUaW1lKCZiZWdpbm5p
bmdTeXN0ZW1UaW1lLCAmYmVnaW5uaW5nT2ZEYXkpOworCisgICAgU1lTVEVNVElNRSBiZWdpbm5p
bmdPZk5leHREYXlTeXN0ZW1UaW1lOworICAgIFR6U3BlY2lmaWNMb2NhbFRpbWVUb1N5c3RlbVRp
bWUoMCwgJmJlZ2lubmluZ09mTmV4dERheUxvY2FsVGltZSwgJmJlZ2lubmluZ09mTmV4dERheVN5
c3RlbVRpbWUpOworICAgIFN5c3RlbVRpbWVUb1ZhcmlhbnRUaW1lKCZiZWdpbm5pbmdPZk5leHRE
YXlTeXN0ZW1UaW1lLCAmYmVnaW5uaW5nT2ZOZXh0RGF5KTsKIH0KIAotc3RhdGljIGlubGluZSBD
RkFic29sdXRlVGltZSBiZWdpbm5pbmdPZkRheShDRkFic29sdXRlVGltZSBkYXRlKQorc3RhdGlj
IGlubGluZSBEQVRFIGJlZ2lubmluZ09mRGF5KERBVEUgZGF0ZSkKIHsKLSAgICBzdGF0aWMgQ0ZB
YnNvbHV0ZVRpbWUgY2FjaGVkQmVnaW5uaW5nT2ZEYXkgPSBudW1lcmljX2xpbWl0czxDRkFic29s
dXRlVGltZT46OnF1aWV0X05hTigpOwotICAgIHN0YXRpYyBDRkFic29sdXRlVGltZSBjYWNoZWRC
ZWdpbm5pbmdPZk5leHREYXk7CisgICAgc3RhdGljIERBVEUgY2FjaGVkQmVnaW5uaW5nT2ZEYXkg
PSBudW1lcmljX2xpbWl0czxEQVRFPjo6cXVpZXRfTmFOKCk7CisgICAgc3RhdGljIERBVEUgY2Fj
aGVkQmVnaW5uaW5nT2ZOZXh0RGF5OwogICAgIGlmICghKGRhdGUgPj0gY2FjaGVkQmVnaW5uaW5n
T2ZEYXkgJiYgZGF0ZSA8IGNhY2hlZEJlZ2lubmluZ09mTmV4dERheSkpCiAgICAgICAgIGdldERh
eUJvdW5kYXJpZXMoZGF0ZSwgY2FjaGVkQmVnaW5uaW5nT2ZEYXksIGNhY2hlZEJlZ2lubmluZ09m
TmV4dERheSk7CiAgICAgcmV0dXJuIGNhY2hlZEJlZ2lubmluZ09mRGF5OwogfQogCi1zdGF0aWMg
aW5saW5lIFdlYkhpc3Rvcnk6OkRhdGVLZXkgZGF0ZUtleShDRkFic29sdXRlVGltZSBkYXRlKQor
c3RhdGljIGlubGluZSBXZWJIaXN0b3J5OjpEYXRlS2V5IGRhdGVLZXkoREFURSBkYXRlKQogewot
ICAgIC8vIENvbnZlcnRpbmcgZnJvbSBkb3VibGUgKENGQWJzb2x1dGVUaW1lKSB0byBpbnQ2NF90
IChXZWJIaXN0b3J5RGF0ZUtleSkgaXMKLSAgICAvLyBzYWZlIGhlcmUgYmVjYXVzZSBhbGwgc2Vu
c2libGUgZGF0ZXMgYXJlIGluIHRoZSByYW5nZSAtMioqNDggLi4gMioqNDcgd2hpY2gKKyAgICAv
LyBDb252ZXJ0aW5nIGZyb20gZG91YmxlIChEQVRFKSB0byBpbnQ2NF90IChXZWJIaXN0b3J5RGF0
ZUtleSkgaXMgc2FmZQorICAgIC8vIGhlcmUgYmVjYXVzZSBhbGwgc2Vuc2libGUgZGF0ZXMgYXJl
IGluIHRoZSByYW5nZSAtMioqNDggLi4gMioqNDcgd2hpY2gKICAgICAvLyBzYWZlbHkgZml0cyBp
biBhbiBpbnQ2NF90LgotICAgIHJldHVybiBiZWdpbm5pbmdPZkRheShkYXRlKTsKKyAgICByZXR1
cm4gYmVnaW5uaW5nT2ZEYXkoZGF0ZSkgKiBzZWNvbmRzUGVyRGF5OwogfQogCiAvLyBSZXR1cm5z
IHdoZXRoZXIgdGhlIGRheSBpcyBhbHJlYWR5IGluIHRoZSBsaXN0IG9mIGRheXMsCiAvLyBhbmQg
ZmlsbHMgaW4gKmtleSB3aXRoIHRoZSBmb3VuZCBvciBwcm9wb3NlZCBrZXkuCi1ib29sIFdlYkhp
c3Rvcnk6OmZpbmRLZXkoRGF0ZUtleSoga2V5LCBDRkFic29sdXRlVGltZSBmb3JEYXkpCitib29s
IFdlYkhpc3Rvcnk6OmZpbmRLZXkoRGF0ZUtleSoga2V5LCBEQVRFIGZvckRheSkgY29uc3QKIHsK
ICAgICBBU1NFUlRfQVJHKGtleSwga2V5KTsKIApAQCAtNzE5LDM3ICs3NDUsNiBAQCBIUkVTVUxU
IFdlYkhpc3Rvcnk6Omluc2VydEl0ZW0oSVdlYkhpc3RvcnlJdGVtKiBlbnRyeSwgRGF0ZUtleSBk
YXRlS2V5KQogICAgIHJldHVybiBTX09LOwogfQogCi1DRkFic29sdXRlVGltZSBXZWJIaXN0b3J5
Ojp0aW1lVG9EYXRlKENGQWJzb2x1dGVUaW1lIHRpbWUpCi17Ci0gICAgLy8gY2FuJ3QganVzdCBk
aXZpZGUvcm91bmQgc2luY2UgdGhlIGRheSBib3VuZGFyaWVzIGRlcGVuZCBvbiBvdXIgY3VycmVu
dCB0aW1lIHpvbmUKLSAgICBjb25zdCBkb3VibGUgc2Vjb25kc1BlckRheSA9IDYwICogNjAgKiAy
NDsKLSAgICBDRlRpbWVab25lUmVmIHRpbWVab25lID0gQ0ZUaW1lWm9uZUNvcHlTeXN0ZW0oKTsK
LSAgICBDRkdyZWdvcmlhbkRhdGUgZGF0ZSA9IENGQWJzb2x1dGVUaW1lR2V0R3JlZ29yaWFuRGF0
ZSh0aW1lLCB0aW1lWm9uZSk7Ci0gICAgZGF0ZS5ob3VyID0gZGF0ZS5taW51dGUgPSAwOwotICAg
IGRhdGUuc2Vjb25kID0gMC4wOwotICAgIENGQWJzb2x1dGVUaW1lIHRpbWVJbkRheXMgPSBDRkdy
ZWdvcmlhbkRhdGVHZXRBYnNvbHV0ZVRpbWUoZGF0ZSwgdGltZVpvbmUpOwotICAgIGlmIChhcmVF
cXVhbE9yQ2xvc2UodGltZSAtIHRpbWVJbkRheXMsIHNlY29uZHNQZXJEYXkpKQotICAgICAgICB0
aW1lSW5EYXlzICs9IHNlY29uZHNQZXJEYXk7Ci0gICAgcmV0dXJuIHRpbWVJbkRheXM7Ci19Ci0K
LS8vIFJldHVybiBhIGRhdGUgdGhhdCBtYXJrcyB0aGUgYWdlIGxpbWl0IGZvciBoaXN0b3J5IGVu
dHJpZXMgc2F2ZWQgdG8gb3IKLS8vIGxvYWRlZCBmcm9tIGRpc2suIEFueSBlbnRyeSBvbGRlciB0
aGFuIHRoaXMgaXRlbSBzaG91bGQgYmUgcmVqZWN0ZWQuCi1IUkVTVUxUIFdlYkhpc3Rvcnk6OmFn
ZUxpbWl0RGF0ZShDRkFic29sdXRlVGltZSogdGltZSkKLXsKLSAgICAvLyBnZXQgdGhlIGN1cnJl
bnQgZGF0ZSBhcyBhIENGQWJzb2x1dGVUaW1lCi0gICAgQ0ZBYnNvbHV0ZVRpbWUgY3VycmVudERh
dGUgPSB0aW1lVG9EYXRlKENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpKTsKLQotICAgIENGR3Jl
Z29yaWFuVW5pdHMgYWdlTGltaXQgPSB7MH07Ci0gICAgaW50IGhpc3RvcnlMaW1pdERheXM7Ci0g
ICAgSFJFU1VMVCBociA9IGhpc3RvcnlBZ2VJbkRheXNMaW1pdCgmaGlzdG9yeUxpbWl0RGF5cyk7
Ci0gICAgaWYgKEZBSUxFRChocikpCi0gICAgICAgIHJldHVybiBocjsKLSAgICBhZ2VMaW1pdC5k
YXlzID0gLWhpc3RvcnlMaW1pdERheXM7Ci0gICAgKnRpbWUgPSBDRkFic29sdXRlVGltZUFkZEdy
ZWdvcmlhblVuaXRzKGN1cnJlbnREYXRlLCBDRlRpbWVab25lQ29weVN5c3RlbSgpLCBhZ2VMaW1p
dCk7Ci0gICAgcmV0dXJuIFNfT0s7Ci19Ci0KIHZvaWQgV2ViSGlzdG9yeTo6YWRkVmlzaXRlZExp
bmtzVG9QYWdlR3JvdXAoUGFnZUdyb3VwJiBncm91cCkKIHsKICAgICBmb3IgKGF1dG8gaXQgPSBt
X2VudHJpZXNCeVVSTC5iZWdpbigpOyBpdCAhPSBtX2VudHJpZXNCeVVSTC5lbmQoKTsgKytpdCkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViSGlzdG9yeS5oIGIvU291cmNlL1dl
YktpdC93aW4vV2ViSGlzdG9yeS5oCmluZGV4IGFmNmQ2YmE5YzA4Y2I1YWViNjdmZWI5MDI5NDgy
ZmM4NjY5YjQxNTUuLjY5MDdmOTNmZDNmZjhkZmEzYmU4YzMxZWVlOTU2MGM4ZTczYjg4N2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkhpc3RvcnkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJIaXN0b3J5LmgKQEAgLTEzOSw5ICsxMzksNyBAQCBwcml2YXRlOgogICAgIEhS
RVNVTFQgYWRkSXRlbVRvRGF0ZUNhY2hlcyhJV2ViSGlzdG9yeUl0ZW0qIGVudHJ5KTsKICAgICBI
UkVTVUxUIHJlbW92ZUl0ZW1Gcm9tRGF0ZUNhY2hlcyhJV2ViSGlzdG9yeUl0ZW0qIGVudHJ5KTsK
ICAgICBIUkVTVUxUIGluc2VydEl0ZW0oSVdlYkhpc3RvcnlJdGVtKiBlbnRyeSwgRGF0ZUtleSk7
Ci0gICAgSFJFU1VMVCBhZ2VMaW1pdERhdGUoQ0ZBYnNvbHV0ZVRpbWUqIHRpbWUpOwotICAgIGJv
b2wgZmluZEtleShEYXRlS2V5KiwgQ0ZBYnNvbHV0ZVRpbWUgZm9yRGF5KTsKLSAgICBzdGF0aWMg
Q0ZBYnNvbHV0ZVRpbWUgdGltZVRvRGF0ZShDRkFic29sdXRlVGltZSB0aW1lKTsKKyAgICBib29s
IGZpbmRLZXkoRGF0ZUtleSosIERBVEUgZm9yRGF5KSBjb25zdDsKICAgICBCU1RSIGdldE5vdGlm
aWNhdGlvblN0cmluZyhOb3RpZmljYXRpb25UeXBlIG5vdGlmeVR5cGUpOwogCiAgICAgVUxPTkcg
bV9yZWZDb3VudDsK
</data>
<flag name="review"
          id="234314"
          type_id="1"
          status="-"
          setter="bfulgham"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212439</attachid>
            <date>2013-09-24 01:38:34 -0700</date>
            <delta_ts>2013-09-25 12:11:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121599.patch</filename>
            <type>text/plain</type>
            <size>7434</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwppbmRleCBjNzFjNTBlLi5hODk2NmY3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBA
IC0xLDUgKzEsMjIgQEAKIDIwMTMtMDktMjQgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdl
YmtpdC5vcmc+CiAKKyAgICAgICAgW1dJTl0gUmVwbGFjZSBDRiB0aW1lIGZ1bmN0aW9ucyB3aXRo
IFdpbmRvd3MgQVBJIGZ1bmN0aW9ucyBpbiBXZWJIaXN0b3J5CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjE1OTkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHJlZHVjZXMgdGhlIGRlcGVuZGVuY2ll
cyBvbiB0aGUgQ29yZUZvdW5kYXRpb24gbGlicmFyeS4KKworICAgICAgICAqIFdlYkhpc3Rvcnku
Y3BwOgorICAgICAgICAoYWRkRGF5VG9TeXN0ZW1UaW1lKToKKyAgICAgICAgKGdldERheUJvdW5k
YXJpZXMpOgorICAgICAgICAoYmVnaW5uaW5nT2ZEYXkpOgorICAgICAgICAoZGF0ZUtleSk6Cisg
ICAgICAgIChXZWJIaXN0b3J5OjpvcmRlcmVkTGFzdFZpc2l0ZWREYXlzKToKKyAgICAgICAgKiBX
ZWJIaXN0b3J5Lmg6CisKKzIwMTMtMDktMjQgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdl
YmtpdC5vcmc+CisKICAgICAgICAgW1dJTl0gUmVkdWNlIHVzYWdlIG9mIENGU1RSKCkgaW4gV2Vi
UHJlZmVyZW5jZXMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEyMTgyNwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJIaXN0b3J5LmNw
cCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkhpc3RvcnkuY3BwCmluZGV4IDc2MDZlNmQuLmYxMDBh
ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkhpc3RvcnkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luL1dlYkhpc3RvcnkuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVk
ZSA8V2ViQ29yZS9QYWdlR3JvdXAuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5o
PgogI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CisjaW5jbHVkZSA8d3RmL0RhdGVNYXRoLmg+CiAjaW5j
bHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAt
NzUsMjIgKzc2LDUyIEBAIHN0YXRpYyBDT01QdHI8Q0ZEaWN0aW9uYXJ5UHJvcGVydHlCYWc+IGNy
ZWF0ZVVzZXJJbmZvRnJvbUhpc3RvcnlJdGVtKEJTVFIgbm90aWZpCiAgICAgcmV0dXJuIGluZm87
CiB9CiAKLXN0YXRpYyB2b2lkIGdldERheUJvdW5kYXJpZXMoQ0ZBYnNvbHV0ZVRpbWUgZGF5LCBD
RkFic29sdXRlVGltZSYgYmVnaW5uaW5nT2ZEYXksIENGQWJzb2x1dGVUaW1lJiBiZWdpbm5pbmdP
Zk5leHREYXkpCitzdGF0aWMgaW5saW5lIHZvaWQgYWRkRGF5VG9TeXN0ZW1UaW1lKFNZU1RFTVRJ
TUUmIHN5c3RlbVRpbWUpCiB7Ci0gICAgUmV0YWluUHRyPENGVGltZVpvbmVSZWY+IHRpbWVab25l
ID0gYWRvcHRDRihDRlRpbWVab25lQ29weURlZmF1bHQoKSk7Ci0gICAgQ0ZHcmVnb3JpYW5EYXRl
IGRhdGUgPSBDRkFic29sdXRlVGltZUdldEdyZWdvcmlhbkRhdGUoZGF5LCB0aW1lWm9uZS5nZXQo
KSk7Ci0gICAgZGF0ZS5ob3VyID0gMDsKLSAgICBkYXRlLm1pbnV0ZSA9IDA7Ci0gICAgZGF0ZS5z
ZWNvbmQgPSAwOwotICAgIGJlZ2lubmluZ09mRGF5ID0gQ0ZHcmVnb3JpYW5EYXRlR2V0QWJzb2x1
dGVUaW1lKGRhdGUsIHRpbWVab25lLmdldCgpKTsKLSAgICBkYXRlLmRheSArPSAxOwotICAgIGJl
Z2lubmluZ09mTmV4dERheSA9IENGR3JlZ29yaWFuRGF0ZUdldEFic29sdXRlVGltZShkYXRlLCB0
aW1lWm9uZS5nZXQoKSk7CisgICAgc3lzdGVtVGltZS53RGF5ICs9IDE7CisgICAgaWYgKHN5c3Rl
bVRpbWUud0RheSA+IDMxKSB7CisgICAgICAgIHN5c3RlbVRpbWUud0RheSA9IDE7CisgICAgICAg
IHN5c3RlbVRpbWUud01vbnRoICs9IDE7CisgICAgfQorICAgIGlmIChzeXN0ZW1UaW1lLndNb250
aCA+IDEyKSB7CisgICAgICAgIHN5c3RlbVRpbWUud01vbnRoID0gMTsKKyAgICAgICAgc3lzdGVt
VGltZS53WWVhciArPSAxOworICAgIH0KKworICAgIC8vIENvbnZlcnQgdG8gYW5kIGZyb20gVmFy
aWFudFRpbWUgdG8gZml4IGludmFsaWQgZGF0ZXMgbGlrZSAyMDAxLTA0LTMxLgorICAgIERBVEUg
ZGF0ZSA9IDAuMDsKKyAgICBTeXN0ZW1UaW1lVG9WYXJpYW50VGltZSgmc3lzdGVtVGltZSwgJmRh
dGUpOworICAgIFZhcmlhbnRUaW1lVG9TeXN0ZW1UaW1lKGRhdGUsICZzeXN0ZW1UaW1lKTsKK30K
Kworc3RhdGljIHZvaWQgZ2V0RGF5Qm91bmRhcmllcyhEQVRFIGRheSwgREFURSYgYmVnaW5uaW5n
T2ZEYXksIERBVEUmIGJlZ2lubmluZ09mTmV4dERheSkKK3sKKyAgICBTWVNURU1USU1FIHN5c3Rl
bVRpbWU7CisgICAgVmFyaWFudFRpbWVUb1N5c3RlbVRpbWUoZGF5LCAmc3lzdGVtVGltZSk7CisK
KyAgICBTWVNURU1USU1FIGJlZ2lubmluZ0xvY2FsVGltZTsKKyAgICBTeXN0ZW1UaW1lVG9UelNw
ZWNpZmljTG9jYWxUaW1lKDAsICZzeXN0ZW1UaW1lLCAmYmVnaW5uaW5nTG9jYWxUaW1lKTsKKyAg
ICBiZWdpbm5pbmdMb2NhbFRpbWUud0hvdXIgPSAwOworICAgIGJlZ2lubmluZ0xvY2FsVGltZS53
TWludXRlID0gMDsKKyAgICBiZWdpbm5pbmdMb2NhbFRpbWUud1NlY29uZCA9IDA7CisgICAgYmVn
aW5uaW5nTG9jYWxUaW1lLndNaWxsaXNlY29uZHMgPSAwOworCisgICAgU1lTVEVNVElNRSBiZWdp
bm5pbmdPZk5leHREYXlMb2NhbFRpbWUgPSBiZWdpbm5pbmdMb2NhbFRpbWU7CisgICAgYWRkRGF5
VG9TeXN0ZW1UaW1lKGJlZ2lubmluZ09mTmV4dERheUxvY2FsVGltZSk7CisKKyAgICBTWVNURU1U
SU1FIGJlZ2lubmluZ1N5c3RlbVRpbWU7CisgICAgVHpTcGVjaWZpY0xvY2FsVGltZVRvU3lzdGVt
VGltZSgwLCAmYmVnaW5uaW5nTG9jYWxUaW1lLCAmYmVnaW5uaW5nU3lzdGVtVGltZSk7CisgICAg
U3lzdGVtVGltZVRvVmFyaWFudFRpbWUoJmJlZ2lubmluZ1N5c3RlbVRpbWUsICZiZWdpbm5pbmdP
ZkRheSk7CisKKyAgICBTWVNURU1USU1FIGJlZ2lubmluZ09mTmV4dERheVN5c3RlbVRpbWU7Cisg
ICAgVHpTcGVjaWZpY0xvY2FsVGltZVRvU3lzdGVtVGltZSgwLCAmYmVnaW5uaW5nT2ZOZXh0RGF5
TG9jYWxUaW1lLCAmYmVnaW5uaW5nT2ZOZXh0RGF5U3lzdGVtVGltZSk7CisgICAgU3lzdGVtVGlt
ZVRvVmFyaWFudFRpbWUoJmJlZ2lubmluZ09mTmV4dERheVN5c3RlbVRpbWUsICZiZWdpbm5pbmdP
Zk5leHREYXkpOwogfQogCi1zdGF0aWMgaW5saW5lIENGQWJzb2x1dGVUaW1lIGJlZ2lubmluZ09m
RGF5KENGQWJzb2x1dGVUaW1lIGRhdGUpCitzdGF0aWMgaW5saW5lIERBVEUgYmVnaW5uaW5nT2ZE
YXkoREFURSBkYXRlKQogewotICAgIHN0YXRpYyBDRkFic29sdXRlVGltZSBjYWNoZWRCZWdpbm5p
bmdPZkRheSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8Q0ZBYnNvbHV0ZVRpbWU+OjpxdWlldF9OYU4o
KTsKLSAgICBzdGF0aWMgQ0ZBYnNvbHV0ZVRpbWUgY2FjaGVkQmVnaW5uaW5nT2ZOZXh0RGF5Owor
ICAgIHN0YXRpYyBEQVRFIGNhY2hlZEJlZ2lubmluZ09mRGF5ID0gc3RkOjpudW1lcmljX2xpbWl0
czxEQVRFPjo6cXVpZXRfTmFOKCk7CisgICAgc3RhdGljIERBVEUgY2FjaGVkQmVnaW5uaW5nT2ZO
ZXh0RGF5OwogICAgIGlmICghKGRhdGUgPj0gY2FjaGVkQmVnaW5uaW5nT2ZEYXkgJiYgZGF0ZSA8
IGNhY2hlZEJlZ2lubmluZ09mTmV4dERheSkpCiAgICAgICAgIGdldERheUJvdW5kYXJpZXMoZGF0
ZSwgY2FjaGVkQmVnaW5uaW5nT2ZEYXksIGNhY2hlZEJlZ2lubmluZ09mTmV4dERheSk7CiAgICAg
cmV0dXJuIGNhY2hlZEJlZ2lubmluZ09mRGF5OwpAQCAtOTgsMTAgKzEyOSwxMCBAQCBzdGF0aWMg
aW5saW5lIENGQWJzb2x1dGVUaW1lIGJlZ2lubmluZ09mRGF5KENGQWJzb2x1dGVUaW1lIGRhdGUp
CiAKIHN0YXRpYyBpbmxpbmUgV2ViSGlzdG9yeTo6RGF0ZUtleSBkYXRlS2V5KERBVEUgZGF0ZSkK
IHsKLSAgICAvLyBDb252ZXJ0aW5nIGZyb20gZG91YmxlIChDRkFic29sdXRlVGltZSkgdG8gaW50
NjRfdCAoV2ViSGlzdG9yeURhdGVLZXkpIGlzCi0gICAgLy8gc2FmZSBoZXJlIGJlY2F1c2UgYWxs
IHNlbnNpYmxlIGRhdGVzIGFyZSBpbiB0aGUgcmFuZ2UgLTIqKjQ4IC4uIDIqKjQ3IHdoaWNoCisg
ICAgLy8gQ29udmVydGluZyBmcm9tIGRvdWJsZSAoREFURSkgdG8gaW50NjRfdCAoV2ViSGlzdG9y
eURhdGVLZXkpIGlzIHNhZmUKKyAgICAvLyBoZXJlIGJlY2F1c2UgYWxsIHNlbnNpYmxlIGRhdGVz
IGFyZSBpbiB0aGUgcmFuZ2UgLTIqKjQ4IC4uIDIqKjQ3IHdoaWNoCiAgICAgLy8gc2FmZWx5IGZp
dHMgaW4gYW4gaW50NjRfdC4KLSAgICByZXR1cm4gYmVnaW5uaW5nT2ZEYXkoTWFyc2hhbGxpbmdI
ZWxwZXJzOjpEQVRFVG9DRkFic29sdXRlVGltZShkYXRlKSk7CisgICAgcmV0dXJuIGJlZ2lubmlu
Z09mRGF5KGRhdGUpICogc2Vjb25kc1BlckRheTsKIH0KIAogLy8gV2ViSGlzdG9yeSAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQpAQCAtMzA1LDcgKzMzNiw3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViSGlzdG9y
eTo6b3JkZXJlZExhc3RWaXNpdGVkRGF5cygKICAgICAgICAgRGF0ZVRvRW50cmllc01hcDo6Y29u
c3RfaXRlcmF0b3I6OktleXMgZW5kID0gbV9lbnRyaWVzQnlEYXRlLmVuZCgpLmtleXMoKTsKICAg
ICAgICAgaW50IGkgPSAwOwogICAgICAgICBmb3IgKERhdGVUb0VudHJpZXNNYXA6OmNvbnN0X2l0
ZXJhdG9yOjpLZXlzIGl0ID0gbV9lbnRyaWVzQnlEYXRlLmJlZ2luKCkua2V5cygpOyBpdCAhPSBl
bmQ7ICsraXQsICsraSkKLSAgICAgICAgICAgIG1fb3JkZXJlZExhc3RWaXNpdGVkRGF5c1tpXSA9
IE1hcnNoYWxsaW5nSGVscGVyczo6Q0ZBYnNvbHV0ZVRpbWVUb0RBVEUoKml0KTsKKyAgICAgICAg
ICAgIG1fb3JkZXJlZExhc3RWaXNpdGVkRGF5c1tpXSA9ICppdCAvIHNlY29uZHNQZXJEYXk7CiAg
ICAgICAgIC8vIFVzZSBzdGQ6OmdyZWF0ZXIgdG8gc29ydCB0aGUgZGF5cyBpbiBkZXNjZW5kaW5n
IG9yZGVyIChpLmUuLCBtb3N0LXJlY2VudCBmaXJzdCkuCiAgICAgICAgIHNvcnQobV9vcmRlcmVk
TGFzdFZpc2l0ZWREYXlzLmdldCgpLCBtX29yZGVyZWRMYXN0VmlzaXRlZERheXMuZ2V0KCkgKyBk
YXRlQ291bnQsIGdyZWF0ZXI8REFURT4oKSk7CiAgICAgfQpAQCAtNjc1LDM3ICs3MDYsNiBAQCBI
UkVTVUxUIFdlYkhpc3Rvcnk6OmFkZEl0ZW1Ub0RhdGVDYWNoZXMoSVdlYkhpc3RvcnlJdGVtKiBl
bnRyeSkKICAgICByZXR1cm4gU19PSzsKIH0KIAotQ0ZBYnNvbHV0ZVRpbWUgV2ViSGlzdG9yeTo6
dGltZVRvRGF0ZShDRkFic29sdXRlVGltZSB0aW1lKQotewotICAgIC8vIGNhbid0IGp1c3QgZGl2
aWRlL3JvdW5kIHNpbmNlIHRoZSBkYXkgYm91bmRhcmllcyBkZXBlbmQgb24gb3VyIGN1cnJlbnQg
dGltZSB6b25lCi0gICAgY29uc3QgZG91YmxlIHNlY29uZHNQZXJEYXkgPSA2MCAqIDYwICogMjQ7
Ci0gICAgQ0ZUaW1lWm9uZVJlZiB0aW1lWm9uZSA9IENGVGltZVpvbmVDb3B5U3lzdGVtKCk7Ci0g
ICAgQ0ZHcmVnb3JpYW5EYXRlIGRhdGUgPSBDRkFic29sdXRlVGltZUdldEdyZWdvcmlhbkRhdGUo
dGltZSwgdGltZVpvbmUpOwotICAgIGRhdGUuaG91ciA9IGRhdGUubWludXRlID0gMDsKLSAgICBk
YXRlLnNlY29uZCA9IDAuMDsKLSAgICBDRkFic29sdXRlVGltZSB0aW1lSW5EYXlzID0gQ0ZHcmVn
b3JpYW5EYXRlR2V0QWJzb2x1dGVUaW1lKGRhdGUsIHRpbWVab25lKTsKLSAgICBpZiAoYXJlRXF1
YWxPckNsb3NlKHRpbWUgLSB0aW1lSW5EYXlzLCBzZWNvbmRzUGVyRGF5KSkKLSAgICAgICAgdGlt
ZUluRGF5cyArPSBzZWNvbmRzUGVyRGF5OwotICAgIHJldHVybiB0aW1lSW5EYXlzOwotfQotCi0v
LyBSZXR1cm4gYSBkYXRlIHRoYXQgbWFya3MgdGhlIGFnZSBsaW1pdCBmb3IgaGlzdG9yeSBlbnRy
aWVzIHNhdmVkIHRvIG9yCi0vLyBsb2FkZWQgZnJvbSBkaXNrLiBBbnkgZW50cnkgb2xkZXIgdGhh
biB0aGlzIGl0ZW0gc2hvdWxkIGJlIHJlamVjdGVkLgotSFJFU1VMVCBXZWJIaXN0b3J5OjphZ2VM
aW1pdERhdGUoQ0ZBYnNvbHV0ZVRpbWUqIHRpbWUpCi17Ci0gICAgLy8gZ2V0IHRoZSBjdXJyZW50
IGRhdGUgYXMgYSBDRkFic29sdXRlVGltZQotICAgIENGQWJzb2x1dGVUaW1lIGN1cnJlbnREYXRl
ID0gdGltZVRvRGF0ZShDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKSk7Ci0KLSAgICBDRkdyZWdv
cmlhblVuaXRzIGFnZUxpbWl0ID0gezB9OwotICAgIGludCBoaXN0b3J5TGltaXREYXlzOwotICAg
IEhSRVNVTFQgaHIgPSBoaXN0b3J5QWdlSW5EYXlzTGltaXQoJmhpc3RvcnlMaW1pdERheXMpOwot
ICAgIGlmIChGQUlMRUQoaHIpKQotICAgICAgICByZXR1cm4gaHI7Ci0gICAgYWdlTGltaXQuZGF5
cyA9IC1oaXN0b3J5TGltaXREYXlzOwotICAgICp0aW1lID0gQ0ZBYnNvbHV0ZVRpbWVBZGRHcmVn
b3JpYW5Vbml0cyhjdXJyZW50RGF0ZSwgQ0ZUaW1lWm9uZUNvcHlTeXN0ZW0oKSwgYWdlTGltaXQp
OwotICAgIHJldHVybiBTX09LOwotfQotCiB2b2lkIFdlYkhpc3Rvcnk6OmFkZFZpc2l0ZWRMaW5r
c1RvUGFnZUdyb3VwKFBhZ2VHcm91cCYgZ3JvdXApCiB7CiAgICAgZm9yIChhdXRvIGl0ID0gbV9l
bnRyaWVzQnlVUkwuYmVnaW4oKTsgaXQgIT0gbV9lbnRyaWVzQnlVUkwuZW5kKCk7ICsraXQpIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkhpc3RvcnkuaCBiL1NvdXJjZS9XZWJL
aXQvd2luL1dlYkhpc3RvcnkuaAppbmRleCBkNjJmMjZmLi4zYzc1YTE4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJIaXN0b3J5LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2Vi
SGlzdG9yeS5oCkBAIC0xMzgsOCArMTM4LDYgQEAgcHJpdmF0ZToKICAgICBIUkVTVUxUIHJlbW92
ZUl0ZW1Gb3JVUkxTdHJpbmcoY29uc3QgV1RGOjpTdHJpbmcmIHVybFN0cmluZyk7CiAgICAgSFJF
U1VMVCBhZGRJdGVtVG9EYXRlQ2FjaGVzKElXZWJIaXN0b3J5SXRlbSogZW50cnkpOwogICAgIEhS
RVNVTFQgcmVtb3ZlSXRlbUZyb21EYXRlQ2FjaGVzKElXZWJIaXN0b3J5SXRlbSogZW50cnkpOwot
ICAgIEhSRVNVTFQgYWdlTGltaXREYXRlKENGQWJzb2x1dGVUaW1lKiB0aW1lKTsKLSAgICBzdGF0
aWMgQ0ZBYnNvbHV0ZVRpbWUgdGltZVRvRGF0ZShDRkFic29sdXRlVGltZSB0aW1lKTsKICAgICBC
U1RSIGdldE5vdGlmaWNhdGlvblN0cmluZyhOb3RpZmljYXRpb25UeXBlIG5vdGlmeVR5cGUpOwog
CiAgICAgVUxPTkcgbV9yZWZDb3VudDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212615</attachid>
            <date>2013-09-25 12:12:07 -0700</date>
            <delta_ts>2013-09-25 16:16:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121599-20130925211205.patch</filename>
            <type>text/plain</type>
            <size>7650</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2NDE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggZjI3MThhMWNh
NGUzMDUxZTliZDk0MDk4M2FlZGU1ZDIwNDRlYjRlNi4uMDFjNjJhNzc1MDRjMTZlMDBhMmQwYjlj
MGRiMzQ1MTExMjY1N2I5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEz
LTA5LTI1ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgorCisgICAgICAg
IFtXSU5dIFJlcGxhY2UgQ0YgdGltZSBmdW5jdGlvbnMgd2l0aCBXaW5kb3dzIEFQSSBmdW5jdGlv
bnMgaW4gV2ViSGlzdG9yeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTIxNTk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKwor
ICAgICAgICBUaGlzIHJlZHVjZXMgdGhlIGRlcGVuZGVuY2llcyBvbiB0aGUgQ29yZUZvdW5kYXRp
b24gbGlicmFyeS4KKworICAgICAgICAqIFdlYkhpc3RvcnkuY3BwOgorICAgICAgICAoYWRkRGF5
VG9TeXN0ZW1UaW1lKToKKyAgICAgICAgKGdldERheUJvdW5kYXJpZXMpOgorICAgICAgICAoYmVn
aW5uaW5nT2ZEYXkpOgorICAgICAgICAoZGF0ZUtleSk6CisgICAgICAgIChXZWJIaXN0b3J5Ojpv
cmRlcmVkTGFzdFZpc2l0ZWREYXlzKToKKyAgICAgICAgKiBXZWJIaXN0b3J5Lmg6CisKIDIwMTMt
MDktMjQgIFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2lu
ZG93c10gT3ZlcnBhbm5pbmcgb2NjdXJzIGV2ZW4gd2hlbiB3aGF0IGlzIGJlaW5nIHBhbm5lZCBp
c24ndCB0aGUgbWFpbiBkb2N1bWVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dl
Ykhpc3RvcnkuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViSGlzdG9yeS5jcHAKaW5kZXggNWIw
OWQzOTFmYTg5ZmVhOWNkMzJhZGJjZjViNTEwYzY3Mjc5NGZiOC4uNTNlMWQ1NDhhYzM4YzkyZjE4
ZmE2YmRhZWY4MGUyN2EwMjAyNTRlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2Vi
SGlzdG9yeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViSGlzdG9yeS5jcHAKQEAgLTQy
LDYgKzQyLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2VHcm91cC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvU2hhcmVkQnVmZmVyLmg+CiAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KKyNpbmNsdWRlIDx3
dGYvRGF0ZU1hdGguaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgogCkBAIC03NSwyMiArNzYsNTIgQEAgc3RhdGljIENPTVB0cjxDRkRpY3Rp
b25hcnlQcm9wZXJ0eUJhZz4gY3JlYXRlVXNlckluZm9Gcm9tSGlzdG9yeUl0ZW0oQlNUUiBub3Rp
ZmkKICAgICByZXR1cm4gaW5mbzsKIH0KIAotc3RhdGljIHZvaWQgZ2V0RGF5Qm91bmRhcmllcyhD
RkFic29sdXRlVGltZSBkYXksIENGQWJzb2x1dGVUaW1lJiBiZWdpbm5pbmdPZkRheSwgQ0ZBYnNv
bHV0ZVRpbWUmIGJlZ2lubmluZ09mTmV4dERheSkKK3N0YXRpYyBpbmxpbmUgdm9pZCBhZGREYXlU
b1N5c3RlbVRpbWUoU1lTVEVNVElNRSYgc3lzdGVtVGltZSkKIHsKLSAgICBSZXRhaW5QdHI8Q0ZU
aW1lWm9uZVJlZj4gdGltZVpvbmUgPSBhZG9wdENGKENGVGltZVpvbmVDb3B5RGVmYXVsdCgpKTsK
LSAgICBDRkdyZWdvcmlhbkRhdGUgZGF0ZSA9IENGQWJzb2x1dGVUaW1lR2V0R3JlZ29yaWFuRGF0
ZShkYXksIHRpbWVab25lLmdldCgpKTsKLSAgICBkYXRlLmhvdXIgPSAwOwotICAgIGRhdGUubWlu
dXRlID0gMDsKLSAgICBkYXRlLnNlY29uZCA9IDA7Ci0gICAgYmVnaW5uaW5nT2ZEYXkgPSBDRkdy
ZWdvcmlhbkRhdGVHZXRBYnNvbHV0ZVRpbWUoZGF0ZSwgdGltZVpvbmUuZ2V0KCkpOwotICAgIGRh
dGUuZGF5ICs9IDE7Ci0gICAgYmVnaW5uaW5nT2ZOZXh0RGF5ID0gQ0ZHcmVnb3JpYW5EYXRlR2V0
QWJzb2x1dGVUaW1lKGRhdGUsIHRpbWVab25lLmdldCgpKTsKKyAgICBzeXN0ZW1UaW1lLndEYXkg
Kz0gMTsKKyAgICBpZiAoc3lzdGVtVGltZS53RGF5ID4gMzEpIHsKKyAgICAgICAgc3lzdGVtVGlt
ZS53RGF5ID0gMTsKKyAgICAgICAgc3lzdGVtVGltZS53TW9udGggKz0gMTsKKyAgICB9CisgICAg
aWYgKHN5c3RlbVRpbWUud01vbnRoID4gMTIpIHsKKyAgICAgICAgc3lzdGVtVGltZS53TW9udGgg
PSAxOworICAgICAgICBzeXN0ZW1UaW1lLndZZWFyICs9IDE7CisgICAgfQorCisgICAgLy8gQ29u
dmVydCB0byBhbmQgZnJvbSBWYXJpYW50VGltZSB0byBmaXggaW52YWxpZCBkYXRlcyBsaWtlIDIw
MDEtMDQtMzEuCisgICAgREFURSBkYXRlID0gMC4wOworICAgIDo6U3lzdGVtVGltZVRvVmFyaWFu
dFRpbWUoJnN5c3RlbVRpbWUsICZkYXRlKTsKKyAgICA6OlZhcmlhbnRUaW1lVG9TeXN0ZW1UaW1l
KGRhdGUsICZzeXN0ZW1UaW1lKTsKK30KKworc3RhdGljIHZvaWQgZ2V0RGF5Qm91bmRhcmllcyhE
QVRFIGRheSwgREFURSYgYmVnaW5uaW5nT2ZEYXksIERBVEUmIGJlZ2lubmluZ09mTmV4dERheSkK
K3sKKyAgICBTWVNURU1USU1FIHN5c3RlbVRpbWU7CisgICAgOjpWYXJpYW50VGltZVRvU3lzdGVt
VGltZShkYXksICZzeXN0ZW1UaW1lKTsKKworICAgIFNZU1RFTVRJTUUgYmVnaW5uaW5nTG9jYWxU
aW1lOworICAgIDo6U3lzdGVtVGltZVRvVHpTcGVjaWZpY0xvY2FsVGltZSgwLCAmc3lzdGVtVGlt
ZSwgJmJlZ2lubmluZ0xvY2FsVGltZSk7CisgICAgYmVnaW5uaW5nTG9jYWxUaW1lLndIb3VyID0g
MDsKKyAgICBiZWdpbm5pbmdMb2NhbFRpbWUud01pbnV0ZSA9IDA7CisgICAgYmVnaW5uaW5nTG9j
YWxUaW1lLndTZWNvbmQgPSAwOworICAgIGJlZ2lubmluZ0xvY2FsVGltZS53TWlsbGlzZWNvbmRz
ID0gMDsKKworICAgIFNZU1RFTVRJTUUgYmVnaW5uaW5nT2ZOZXh0RGF5TG9jYWxUaW1lID0gYmVn
aW5uaW5nTG9jYWxUaW1lOworICAgIGFkZERheVRvU3lzdGVtVGltZShiZWdpbm5pbmdPZk5leHRE
YXlMb2NhbFRpbWUpOworCisgICAgU1lTVEVNVElNRSBiZWdpbm5pbmdTeXN0ZW1UaW1lOworICAg
IDo6VHpTcGVjaWZpY0xvY2FsVGltZVRvU3lzdGVtVGltZSgwLCAmYmVnaW5uaW5nTG9jYWxUaW1l
LCAmYmVnaW5uaW5nU3lzdGVtVGltZSk7CisgICAgOjpTeXN0ZW1UaW1lVG9WYXJpYW50VGltZSgm
YmVnaW5uaW5nU3lzdGVtVGltZSwgJmJlZ2lubmluZ09mRGF5KTsKKworICAgIFNZU1RFTVRJTUUg
YmVnaW5uaW5nT2ZOZXh0RGF5U3lzdGVtVGltZTsKKyAgICA6OlR6U3BlY2lmaWNMb2NhbFRpbWVU
b1N5c3RlbVRpbWUoMCwgJmJlZ2lubmluZ09mTmV4dERheUxvY2FsVGltZSwgJmJlZ2lubmluZ09m
TmV4dERheVN5c3RlbVRpbWUpOworICAgIDo6U3lzdGVtVGltZVRvVmFyaWFudFRpbWUoJmJlZ2lu
bmluZ09mTmV4dERheVN5c3RlbVRpbWUsICZiZWdpbm5pbmdPZk5leHREYXkpOwogfQogCi1zdGF0
aWMgaW5saW5lIENGQWJzb2x1dGVUaW1lIGJlZ2lubmluZ09mRGF5KENGQWJzb2x1dGVUaW1lIGRh
dGUpCitzdGF0aWMgaW5saW5lIERBVEUgYmVnaW5uaW5nT2ZEYXkoREFURSBkYXRlKQogewotICAg
IHN0YXRpYyBDRkFic29sdXRlVGltZSBjYWNoZWRCZWdpbm5pbmdPZkRheSA9IHN0ZDo6bnVtZXJp
Y19saW1pdHM8Q0ZBYnNvbHV0ZVRpbWU+OjpxdWlldF9OYU4oKTsKLSAgICBzdGF0aWMgQ0ZBYnNv
bHV0ZVRpbWUgY2FjaGVkQmVnaW5uaW5nT2ZOZXh0RGF5OworICAgIHN0YXRpYyBEQVRFIGNhY2hl
ZEJlZ2lubmluZ09mRGF5ID0gc3RkOjpudW1lcmljX2xpbWl0czxEQVRFPjo6cXVpZXRfTmFOKCk7
CisgICAgc3RhdGljIERBVEUgY2FjaGVkQmVnaW5uaW5nT2ZOZXh0RGF5OwogICAgIGlmICghKGRh
dGUgPj0gY2FjaGVkQmVnaW5uaW5nT2ZEYXkgJiYgZGF0ZSA8IGNhY2hlZEJlZ2lubmluZ09mTmV4
dERheSkpCiAgICAgICAgIGdldERheUJvdW5kYXJpZXMoZGF0ZSwgY2FjaGVkQmVnaW5uaW5nT2ZE
YXksIGNhY2hlZEJlZ2lubmluZ09mTmV4dERheSk7CiAgICAgcmV0dXJuIGNhY2hlZEJlZ2lubmlu
Z09mRGF5OwpAQCAtOTgsMTAgKzEyOSwxMCBAQCBzdGF0aWMgaW5saW5lIENGQWJzb2x1dGVUaW1l
IGJlZ2lubmluZ09mRGF5KENGQWJzb2x1dGVUaW1lIGRhdGUpCiAKIHN0YXRpYyBpbmxpbmUgV2Vi
SGlzdG9yeTo6RGF0ZUtleSBkYXRlS2V5KERBVEUgZGF0ZSkKIHsKLSAgICAvLyBDb252ZXJ0aW5n
IGZyb20gZG91YmxlIChDRkFic29sdXRlVGltZSkgdG8gaW50NjRfdCAoV2ViSGlzdG9yeURhdGVL
ZXkpIGlzCi0gICAgLy8gc2FmZSBoZXJlIGJlY2F1c2UgYWxsIHNlbnNpYmxlIGRhdGVzIGFyZSBp
biB0aGUgcmFuZ2UgLTIqKjQ4IC4uIDIqKjQ3IHdoaWNoCisgICAgLy8gQ29udmVydGluZyBmcm9t
IGRvdWJsZSAoREFURSkgdG8gaW50NjRfdCAoV2ViSGlzdG9yeURhdGVLZXkpIGlzIHNhZmUKKyAg
ICAvLyBoZXJlIGJlY2F1c2UgYWxsIHNlbnNpYmxlIGRhdGVzIGFyZSBpbiB0aGUgcmFuZ2UgLTIq
KjQ4IC4uIDIqKjQ3IHdoaWNoCiAgICAgLy8gc2FmZWx5IGZpdHMgaW4gYW4gaW50NjRfdC4KLSAg
ICByZXR1cm4gYmVnaW5uaW5nT2ZEYXkoTWFyc2hhbGxpbmdIZWxwZXJzOjpEQVRFVG9DRkFic29s
dXRlVGltZShkYXRlKSk7CisgICAgcmV0dXJuIGJlZ2lubmluZ09mRGF5KGRhdGUpICogc2Vjb25k
c1BlckRheTsKIH0KIAogLy8gV2ViSGlzdG9yeSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMzA2LDcgKzMzNyw3IEBA
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViSGlzdG9yeTo6b3JkZXJlZExhc3RWaXNpdGVk
RGF5cygKICAgICAgICAgRGF0ZVRvRW50cmllc01hcDo6Y29uc3RfaXRlcmF0b3I6OktleXMgZW5k
ID0gbV9lbnRyaWVzQnlEYXRlLmVuZCgpLmtleXMoKTsKICAgICAgICAgaW50IGkgPSAwOwogICAg
ICAgICBmb3IgKERhdGVUb0VudHJpZXNNYXA6OmNvbnN0X2l0ZXJhdG9yOjpLZXlzIGl0ID0gbV9l
bnRyaWVzQnlEYXRlLmJlZ2luKCkua2V5cygpOyBpdCAhPSBlbmQ7ICsraXQsICsraSkKLSAgICAg
ICAgICAgIG1fb3JkZXJlZExhc3RWaXNpdGVkRGF5c1tpXSA9IE1hcnNoYWxsaW5nSGVscGVyczo6
Q0ZBYnNvbHV0ZVRpbWVUb0RBVEUoKml0KTsKKyAgICAgICAgICAgIG1fb3JkZXJlZExhc3RWaXNp
dGVkRGF5c1tpXSA9ICppdCAvIHNlY29uZHNQZXJEYXk7CiAgICAgICAgIC8vIFVzZSBzdGQ6Omdy
ZWF0ZXIgdG8gc29ydCB0aGUgZGF5cyBpbiBkZXNjZW5kaW5nIG9yZGVyIChpLmUuLCBtb3N0LXJl
Y2VudCBmaXJzdCkuCiAgICAgICAgIHNvcnQobV9vcmRlcmVkTGFzdFZpc2l0ZWREYXlzLmdldCgp
LCBtX29yZGVyZWRMYXN0VmlzaXRlZERheXMuZ2V0KCkgKyBkYXRlQ291bnQsIGdyZWF0ZXI8REFU
RT4oKSk7CiAgICAgfQpAQCAtNjc2LDM3ICs3MDcsNiBAQCBIUkVTVUxUIFdlYkhpc3Rvcnk6OmFk
ZEl0ZW1Ub0RhdGVDYWNoZXMoSVdlYkhpc3RvcnlJdGVtKiBlbnRyeSkKICAgICByZXR1cm4gU19P
SzsKIH0KIAotQ0ZBYnNvbHV0ZVRpbWUgV2ViSGlzdG9yeTo6dGltZVRvRGF0ZShDRkFic29sdXRl
VGltZSB0aW1lKQotewotICAgIC8vIGNhbid0IGp1c3QgZGl2aWRlL3JvdW5kIHNpbmNlIHRoZSBk
YXkgYm91bmRhcmllcyBkZXBlbmQgb24gb3VyIGN1cnJlbnQgdGltZSB6b25lCi0gICAgY29uc3Qg
ZG91YmxlIHNlY29uZHNQZXJEYXkgPSA2MCAqIDYwICogMjQ7Ci0gICAgQ0ZUaW1lWm9uZVJlZiB0
aW1lWm9uZSA9IENGVGltZVpvbmVDb3B5U3lzdGVtKCk7Ci0gICAgQ0ZHcmVnb3JpYW5EYXRlIGRh
dGUgPSBDRkFic29sdXRlVGltZUdldEdyZWdvcmlhbkRhdGUodGltZSwgdGltZVpvbmUpOwotICAg
IGRhdGUuaG91ciA9IGRhdGUubWludXRlID0gMDsKLSAgICBkYXRlLnNlY29uZCA9IDAuMDsKLSAg
ICBDRkFic29sdXRlVGltZSB0aW1lSW5EYXlzID0gQ0ZHcmVnb3JpYW5EYXRlR2V0QWJzb2x1dGVU
aW1lKGRhdGUsIHRpbWVab25lKTsKLSAgICBpZiAoYXJlRXF1YWxPckNsb3NlKHRpbWUgLSB0aW1l
SW5EYXlzLCBzZWNvbmRzUGVyRGF5KSkKLSAgICAgICAgdGltZUluRGF5cyArPSBzZWNvbmRzUGVy
RGF5OwotICAgIHJldHVybiB0aW1lSW5EYXlzOwotfQotCi0vLyBSZXR1cm4gYSBkYXRlIHRoYXQg
bWFya3MgdGhlIGFnZSBsaW1pdCBmb3IgaGlzdG9yeSBlbnRyaWVzIHNhdmVkIHRvIG9yCi0vLyBs
b2FkZWQgZnJvbSBkaXNrLiBBbnkgZW50cnkgb2xkZXIgdGhhbiB0aGlzIGl0ZW0gc2hvdWxkIGJl
IHJlamVjdGVkLgotSFJFU1VMVCBXZWJIaXN0b3J5OjphZ2VMaW1pdERhdGUoQ0ZBYnNvbHV0ZVRp
bWUqIHRpbWUpCi17Ci0gICAgLy8gZ2V0IHRoZSBjdXJyZW50IGRhdGUgYXMgYSBDRkFic29sdXRl
VGltZQotICAgIENGQWJzb2x1dGVUaW1lIGN1cnJlbnREYXRlID0gdGltZVRvRGF0ZShDRkFic29s
dXRlVGltZUdldEN1cnJlbnQoKSk7Ci0KLSAgICBDRkdyZWdvcmlhblVuaXRzIGFnZUxpbWl0ID0g
ezB9OwotICAgIGludCBoaXN0b3J5TGltaXREYXlzOwotICAgIEhSRVNVTFQgaHIgPSBoaXN0b3J5
QWdlSW5EYXlzTGltaXQoJmhpc3RvcnlMaW1pdERheXMpOwotICAgIGlmIChGQUlMRUQoaHIpKQot
ICAgICAgICByZXR1cm4gaHI7Ci0gICAgYWdlTGltaXQuZGF5cyA9IC1oaXN0b3J5TGltaXREYXlz
OwotICAgICp0aW1lID0gQ0ZBYnNvbHV0ZVRpbWVBZGRHcmVnb3JpYW5Vbml0cyhjdXJyZW50RGF0
ZSwgQ0ZUaW1lWm9uZUNvcHlTeXN0ZW0oKSwgYWdlTGltaXQpOwotICAgIHJldHVybiBTX09LOwot
fQotCiB2b2lkIFdlYkhpc3Rvcnk6OmFkZFZpc2l0ZWRMaW5rc1RvUGFnZUdyb3VwKFBhZ2VHcm91
cCYgZ3JvdXApCiB7CiAgICAgZm9yIChhdXRvIGl0ID0gbV9lbnRyaWVzQnlVUkwuYmVnaW4oKTsg
aXQgIT0gbV9lbnRyaWVzQnlVUkwuZW5kKCk7ICsraXQpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvd2luL1dlYkhpc3RvcnkuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkhpc3RvcnkuaApp
bmRleCBkNjJmMjZmYjg4ZGE2OWIzODEwOGZlNWFiZTBkNzQ4ODNhZTJmNTRhLi4zYzc1YTE4MGRj
NDE0ZDRlOTVhZmM1NmJiOTkwZGNhYTVkMjQ5Y2NjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3dpbi9XZWJIaXN0b3J5LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViSGlzdG9yeS5oCkBA
IC0xMzgsOCArMTM4LDYgQEAgcHJpdmF0ZToKICAgICBIUkVTVUxUIHJlbW92ZUl0ZW1Gb3JVUkxT
dHJpbmcoY29uc3QgV1RGOjpTdHJpbmcmIHVybFN0cmluZyk7CiAgICAgSFJFU1VMVCBhZGRJdGVt
VG9EYXRlQ2FjaGVzKElXZWJIaXN0b3J5SXRlbSogZW50cnkpOwogICAgIEhSRVNVTFQgcmVtb3Zl
SXRlbUZyb21EYXRlQ2FjaGVzKElXZWJIaXN0b3J5SXRlbSogZW50cnkpOwotICAgIEhSRVNVTFQg
YWdlTGltaXREYXRlKENGQWJzb2x1dGVUaW1lKiB0aW1lKTsKLSAgICBzdGF0aWMgQ0ZBYnNvbHV0
ZVRpbWUgdGltZVRvRGF0ZShDRkFic29sdXRlVGltZSB0aW1lKTsKICAgICBCU1RSIGdldE5vdGlm
aWNhdGlvblN0cmluZyhOb3RpZmljYXRpb25UeXBlIG5vdGlmeVR5cGUpOwogCiAgICAgVUxPTkcg
bV9yZWZDb3VudDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>