<?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>36299</bug_id>
          
          <creation_ts>2010-03-18 09:26:06 -0700</creation_ts>
          <short_desc>Volume control not correctly initialized</short_desc>
          <delta_ts>2010-12-01 09:18:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Alexander Hunziker">alex.hunziker</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>201337</commentid>
    <comment_count>0</comment_count>
    <who name="Alexander Hunziker">alex.hunziker</who>
    <bug_when>2010-03-18 09:26:06 -0700</bug_when>
    <thetext>When watching HTML5 video, WebkitGTK seems to use the browser&apos;s volume channel in PulseAudio to control the volume, which is good. However, when first showing a website, the volume level is not correctly initialized.

When i open my sound preferences, I see that epiphany&apos;s channel there is set to, say, 30%. The video viewer on e.g. openvideo.dailymotion.com however shows the volume as maximised. The problem now arises when one uses the GUI on the website to change the volume. At the first small change in the GUI (say from 100% to 98%, the real volume jumps from the 30% it was set to to 98%, which potentially blasts one&apos;s ears out when wearing headphones.

Solution, when loading a website with sound or video, the volume controls there should be initialised to the volume currently set in Pulse.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312739</commentid>
    <comment_count>1</comment_count>
      <attachid>74636</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-11-23 03:27:53 -0800</bug_when>
    <thetext>Created attachment 74636
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312740</commentid>
    <comment_count>2</comment_count>
      <attachid>74637</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-11-23 03:34:46 -0800</bug_when>
    <thetext>Created attachment 74637
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312743</commentid>
    <comment_count>3</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-11-23 03:42:20 -0800</bug_when>
    <thetext>So after some investigation on this issue, the previous mute/volume notifications we got from PulseAudio were not going up to the MediaPlayer (and HTMLMediaElement). The one-shot Timers used to do so were simply never fired.

It seems that the loop processing the Timers in ThreadTimers.cpp is in some cases triggered too late for the one-shot-now (startOneShot(0)) Timers and thus they are ignored. This whole code relying on currentTime() value is quite fragile IMHO.

I tried to replace the Timer class implementation with a new implementation using g_timeout and skipping the ThreadTimers processing but then some tests started to fail, I could fix some but not all, so for now I decided to add that TimerGlib standalone implementation and keep the Timer one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312796</commentid>
    <comment_count>4</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-11-23 05:54:00 -0800</bug_when>
    <thetext>Another, less intrusive and simpler, option would be to replace the Timers in the player with g_timeouts, like it was before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312868</commentid>
    <comment_count>5</comment_count>
      <attachid>74637</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-11-23 08:43:46 -0800</bug_when>
    <thetext>Comment on attachment 74637
proposed patch

Pulling out of review after discussion with Martin. The Timer issue is more general and will be dealt with in a separate patch.

Will send a new patch for this issue asap :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313164</commentid>
    <comment_count>6</comment_count>
      <attachid>74731</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-11-24 01:08:38 -0800</bug_when>
    <thetext>Created attachment 74731
simpler patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313165</commentid>
    <comment_count>7</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-11-24 01:10:12 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=74731) [details]
&gt; simpler patch

Not flagged for review yet, I have some issues here with a debug build, it seems the mute/volume callbacks get called during destruction of the MediaPlayer. I&apos;ll investigate this further later on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314922</commentid>
    <comment_count>8</comment_count>
      <attachid>75117</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-11-30 02:50:11 -0800</bug_when>
    <thetext>Created attachment 75117
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315100</commentid>
    <comment_count>9</comment_count>
      <attachid>75117</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-11-30 09:30:58 -0800</bug_when>
    <thetext>Comment on attachment 75117
proposed patch

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

Sorry, that I missed this! Looks great in general, but I have a few questions...

&gt; WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:184
&gt; +    MediaPlayerPrivateGStreamer* mp = reinterpret_cast&lt;MediaPlayerPrivateGStreamer*&gt;(data);
&gt; +    mp-&gt;notifyVolumeToPlayer();

Instead of doing the reinterpret_cast here, why not do it when you set the callback. What I mean is this:
gboolean mediaPlayerPrivateVolumeChangeTimeoutCallback(MediaPlayerPrivateGStreamer* player)
...
m_volumeTimerHandler = g_timeout_add(0, reinterpret_cast&lt;GSourceFunc&gt;(mediaPlayerPrivateVolumeChangeTimeoutCallback), this);

If you do it here, it only needs to be a static_cast too.

&gt; WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:201
&gt; +gboolean mediaPlayerPrivateMuteChangeTimeoutCallback(gpointer data)
&gt; +{
&gt; +    // This is the callback of the timeout source created in ::muteChanged.
&gt; +    MediaPlayerPrivateGStreamer* mp = reinterpret_cast&lt;MediaPlayerPrivateGStreamer*&gt;(data);
&gt; +    mp-&gt;notifyMuteToPlayer();
&gt; +    return FALSE;
&gt; +}

Same comment here.

&gt; WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:357
&gt; +    if (m_muteTimerHandler)
&gt; +        g_source_remove(m_muteTimerHandler);
&gt; +    m_muteTimerHandler = 0;
&gt; +
&gt; +    if (m_volumeTimerHandler)
&gt; +        g_source_remove(m_volumeTimerHandler);
&gt; +    m_volumeTimerHandler = 0;

Is there some chance that these id&apos;s may be re-used after the callback fires? Maybe you should set them to 0 in notifyMuteToPlayer and notifyVolumeToPlayer. If they are re-used you&apos;ll be removing some unknown GSource.

&gt; WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:91
&gt; -            void volumeChangedTimerFired(Timer&lt;MediaPlayerPrivateGStreamer&gt;*);
&gt; +            void notifyVolumeToPlayer();
&gt;  
&gt;              bool supportsMuting() const;
&gt;              void setMuted(bool);
&gt;              void muteChanged();
&gt; -            void muteChangedTimerFired(Timer&lt;MediaPlayerPrivateGStreamer&gt;*);
&gt; +            void notifyMuteToPlayer();

The names of the methods is just slightly funky. Maybe &quot;notifyPlayerOfMute&quot; and &quot;notifyPlayerOfVolumeChange&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315557</commentid>
    <comment_count>10</comment_count>
      <attachid>75259</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-12-01 00:08:09 -0800</bug_when>
    <thetext>Created attachment 75259
updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315579</commentid>
    <comment_count>11</comment_count>
      <attachid>75259</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-12-01 02:13:58 -0800</bug_when>
    <thetext>Comment on attachment 75259
updated patch

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

Only one small issue, but it&apos;s fine to fix before landing it.

&gt; WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:618
&gt; +    m_volumeTimerHandler = 0;

I think this should happen before the early return.

&gt; WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:1197
&gt; +    m_muteTimerHandler = 0;

Same here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315589</commentid>
    <comment_count>12</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2010-12-01 03:42:34 -0800</bug_when>
    <thetext>Committed r73014: &lt;http://trac.webkit.org/changeset/73014&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315682</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-01 09:18:09 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/73014 might have broken GTK Linux 32-bit Debug</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74636</attachid>
            <date>2010-11-23 03:27:53 -0800</date>
            <delta_ts>2010-11-23 03:34:46 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>proposed-patch.patch</filename>
            <type>text/plain</type>
            <size>15544</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSBmY2FlMDgwNTQ3NjFkMTFiODg1YjcwY2FjOTkzZGM4NGQyMTIyZTE4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBUdWUsIDIzIE5vdiAyMDEwIDEwOjQ4OjA0ICswMTAwClN1YmplY3Q6IFtQQVRDSF0g
cHJvcG9zZWQgcGF0Y2gKCi0tLQogV2ViQ29yZS9DTWFrZUxpc3RzRWZsLnR4dCAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgICA0ICsKIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgICA0MSArKysrKysrKysrCiBXZWJDb3JlL0dOVW1ha2VmaWxl
LmFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDMgKwogV2ViQ29yZS9XZWJDb3Jl
LnBybyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA1ICstCiBXZWJDb3JlL3Bs
YXRmb3JtL2dsaWIvVGltZXJHbGliLmNwcCAgICAgICAgICAgICAgICB8ICAgODMgKysrKysrKysr
KysrKysrKysrKysKIFdlYkNvcmUvcGxhdGZvcm0vZ2xpYi9UaW1lckdsaWIuaCAgICAgICAgICAg
ICAgICAgIHwgICA3NCArKysrKysrKysrKysrKysrKwogLi4uL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXIuY3BwICAgICAgfCAgIDIyICsrKystLQogLi4uL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaCAgICAgICAgfCAgICA3ICstCiA4IGZpbGVzIGNo
YW5nZWQsIDIyOSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEw
MDY0NCBXZWJDb3JlL3BsYXRmb3JtL2dsaWIvVGltZXJHbGliLmNwcAogY3JlYXRlIG1vZGUgMTAw
NjQ0IFdlYkNvcmUvcGxhdGZvcm0vZ2xpYi9UaW1lckdsaWIuaAoKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvQ01ha2VMaXN0c0VmbC50eHQgYi9XZWJDb3JlL0NNYWtlTGlzdHNFZmwudHh0CmluZGV4IDc4
OWNmZGMuLmUwOGY4NDkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ01ha2VMaXN0c0VmbC50eHQKKysr
IGIvV2ViQ29yZS9DTWFrZUxpc3RzRWZsLnR4dApAQCAtMjQzLDYgKzI0MywxMCBAQCBJRiAoRU5B
QkxFX0dMSUJfU1VQUE9SVCkKICAgTElTVChBUFBFTkQgV2ViQ29yZV9JTkNMVURFX0RJUkVDVE9S
SUVTCiAgICAgJHtHREtfSU5DTFVERV9ESVJTfQogICAgICR7R2xpYl9JTkNMVURFX0RJUlN9Cisg
ICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dsaWIiCisgICkKKyAgTElTVChBUFBFTkQgV2Vi
Q29yZV9TT1VSQ0VTCisgICAgcGxhdGZvcm0vZ2xpYi9UaW1lckdsaWIuY3BwCiAgICkKIEVORElG
ICgpCiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggYTFlYWU5Ny4uMDNmYTAxOCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NCBAQAorMjAxMC0xMS0yMyAgUGhpbGlw
cGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVm9sdW1lIGNvbnRyb2wgbm90IGNvcnJlY3RseSBp
bml0aWFsaXplZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MzYyOTkKKworICAgICAgICBSZXBsYWNlZCB0aGUgdm9sdW1lL211dGUgVGltZXJzIGluIHRo
ZSBwbGF5ZXIgd2l0aCBuZXcgVGltZXJHbGliCisgICAgICAgIGluc3RhbmNlcyB0aGF0IGFyZSBt
b3JlIHJlbGlhYmxlIHRoYW4gVGltZXIgZm9yIHRoZQorICAgICAgICBvbmUtc2hvdC1vbmUtZmly
ZSB1c2UtY2FzZS4KKworICAgICAgICBUZXN0OiBtZWRpYS92aWRlby1tdXRlZC5odG1sCisKKyAg
ICAgICAgKiBDTWFrZUxpc3RzRWZsLnR4dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAg
ICAgICAgKiBXZWJDb3JlLnBybzoKKyAgICAgICAgKiBwbGF0Zm9ybS9nbGliL1RpbWVyR2xpYi5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6dGltZXJHdGtGaXJlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpUaW1lckdsaWJCYXNlOjpUaW1lckdsaWJCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6
OlRpbWVyR2xpYkJhc2U6On5UaW1lckdsaWJCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVy
R2xpYkJhc2U6OnN0YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyR2xpYkJhc2U6OnN0b3Ap
OgorICAgICAgICAoV2ViQ29yZTo6VGltZXJHbGliQmFzZTo6bm90aWZ5RmlyZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6VGltZXJHbGliQmFzZTo6YXVnbWVudFJlcGVhdEludGVydmFsKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9nbGliL1RpbWVyR2xpYi5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlRpbWVyR2xpYkJhc2U6OnN0YXJ0UmVwZWF0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVy
R2xpYkJhc2U6OnN0YXJ0T25lU2hvdCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckdsaWJCYXNl
OjpyZXBlYXRJbnRlcnZhbCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckdsaWI6OlRpbWVyR2xp
Yik6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckdsaWI6OmZpcmVkKToKKyAgICAgICAgKFdlYkNv
cmU6OlRpbWVyR2xpYkJhc2U6OmlzQWN0aXZlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6
fk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI6OnZvbHVtZUNoYW5nZWRUaW1lckZpcmVkKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dm9sdW1lQ2hhbmdlZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om11dGVDaGFuZ2Vk
VGltZXJGaXJlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6Om11dGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6Y3JlYXRlR1NUUGxheUJpbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oOgorCiAyMDEwLTExLTIyICBB
bmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBO
aWtvbGFzIFppbW1lcm1hbm4uCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCBlNWZlMmE3Li5mNWZkNjI2IDEwMDY0NAotLS0g
YS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAg
LTM2LDYgKzM2LDcgQEAgd2ViY29yZV9jcHBmbGFncyArPSBcCiAJLUkkKHNyY2RpcikvV2ViQ29y
ZS9wYWdlL2FuaW1hdGlvbiBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZS9wbGF0Zm9ybSBcCiAJLUkk
KHNyY2RpcikvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24gXAorCS1JJChzcmNkaXIpL1dlYkNv
cmUvcGxhdGZvcm0vZ2xpYiBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cyBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzIFwKIAkt
SSQoc3JjZGlyKS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMgXApAQCAtMzUx
NCw2ICszNTE1LDggQEAgd2ViY29yZWd0a19zb3VyY2VzICs9IFwKIAlXZWJDb3JlL3BhZ2UvZ3Rr
L0RyYWdDb250cm9sbGVyR3RrLmNwcCBcCiAJV2ViQ29yZS9wYWdlL2d0ay9FdmVudEhhbmRsZXJH
dGsuY3BwIFwKIAlXZWJDb3JlL3BhZ2UvZ3RrL0ZyYW1lR3RrLmNwcCBcCisJV2ViQ29yZS9wbGF0
Zm9ybS9nbGliL1RpbWVyR2xpYi5oIFwKKwlXZWJDb3JlL3BsYXRmb3JtL2dsaWIvVGltZXJHbGli
LmNwcCBcCiAJV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9DYWlyb1BhdGguaCBcCiAJ
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9DYWlyb1V0aWxpdGllcy5jcHAgXAogCVdl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9VdGlsaXRpZXMuaCBcCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL1dlYkNvcmUucHJvIGIvV2ViQ29yZS9XZWJDb3JlLnBybwppbmRleCA2NzE0
ODkzLi5kZTBhMDhjIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1dlYkNv
cmUvV2ViQ29yZS5wcm8KQEAgLTMxNTcsNiArMzE1Nyw3IEBAIGNvbnRhaW5zKERFRklORVMsIEVO
QUJMRV9WSURFTz0xKSB7CiAKICAgICBjb250YWlucyhERUZJTkVTLCBVU0VfR1NUUkVBTUVSPTEp
IHsKICAgICAgICAgSEVBREVSUyArPSBcCisgICAgICAgICAgICBwbGF0Zm9ybS9nbGliL1RpbWVy
R2xpYi5oIFwKICAgICAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9EYXRhU291
cmNlR1N0cmVhbWVyLmggXAogICAgICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L0dPd25QdHJHU3RyZWFtZXIuaCBcCiAgICAgICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvR1N0cmVhbWVyR1dvcmxkLmggXApAQCAtMzE2Nyw2ICszMTY4LDcgQEAgY29udGFpbnMo
REVGSU5FUywgRU5BQkxFX1ZJREVPPTEpIHsKICAgICAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9QbGF0Zm9ybVZpZGVvV2luZG93UHJpdmF0ZS5oIFwKICAgICAgICAgICAgIHBs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9JbWFnZUdTdHJlYW1lci5oCiAgICAgICAgIFNPVVJD
RVMgKz0gXAorICAgICAgICAgICAgcGxhdGZvcm0vZ2xpYi9UaW1lckdsaWIuY3BwIFwKICAgICAg
ICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9EYXRhU291cmNlR1N0cmVhbWVyLmNw
cCBcCiAgICAgICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR093blB0ckdTdHJl
YW1lci5jcHAgXAogICAgICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJl
YW1lckdXb3JsZC5jcHAgXApAQCAtMzE3OSw3ICszMTgxLDggQEAgY29udGFpbnMoREVGSU5FUywg
RU5BQkxFX1ZJREVPPTEpIHsKICAgICAgICAgREVGSU5FUyArPSBXVEZfVVNFX0dTVFJFQU1FUj0x
CiAgICAgICAgIERFRklORVMgKz0gRU5BQkxFX0dMSUJfU1VQUE9SVD0xCiAKLSAgICAgICAgSU5D
TFVERVBBVEggKz0gJCRQV0QvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyCisgICAgICAgIElO
Q0xVREVQQVRIICs9ICQkUFdEL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lciBcCisgICAgICAg
ICAgICAgICAgICAgICAgICQkUFdEL3BsYXRmb3JtL2dsaWIKIAogICAgICAgICBQS0dDT05GSUcg
Kz0gZ2xpYi0yLjAgZ2lvLTIuMCBnc3RyZWFtZXItMC4xMCBnc3RyZWFtZXItYXBwLTAuMTAgZ3N0
cmVhbWVyLWJhc2UtMC4xMCBnc3RyZWFtZXItaW50ZXJmYWNlcy0wLjEwIGdzdHJlYW1lci1wYnV0
aWxzLTAuMTAgZ3N0cmVhbWVyLXBsdWdpbnMtYmFzZS0wLjEwIGdzdHJlYW1lci12aWRlby0wLjEw
CiAgICAgIH0gZWxzZTpjb250YWlucyhNT0JJTElUWV9DT05GSUcsIG11bHRpbWVkaWEpIHsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9UaW1lckdsaWIuY3BwIGIvV2ViQ29yZS9w
bGF0Zm9ybS9nbGliL1RpbWVyR2xpYi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uMDExYjMxMQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9U
aW1lckdsaWIuY3BwCkBAIC0wLDAgKzEsODMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
SWdhbGlhIFMuTAorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICog
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KKyAqLworCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJUaW1lckdsaWIuaCIK
KworI2lmIEVOQUJMRShHTElCX1NVUFBPUlQpCisKKyNpbmNsdWRlICJUaHJlYWRHbG9iYWxEYXRh
LmgiCisjaW5jbHVkZSAiVGhyZWFkVGltZXJzLmgiCisjaW5jbHVkZSA8Z2RrL2dkay5oPgorCit1
c2luZyBuYW1lc3BhY2Ugc3RkOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2dib29sZWFuIHRp
bWVyR3RrRmlyZWQoZ3BvaW50ZXIgZGF0YSkKK3sKKyAgICBUaW1lckdsaWJCYXNlKiB0aW1lciA9
IHJlaW50ZXJwcmV0X2Nhc3Q8VGltZXJHbGliQmFzZSo+KGRhdGEpOworICAgIHJldHVybiB0aW1l
ci0+bm90aWZ5RmlyZWQoKTsKK30KKworVGltZXJHbGliQmFzZTo6VGltZXJHbGliQmFzZSgpCisg
ICAgOiBtX3NvdXJjZUlkKDApCisgICAgLCBtX3JlcGVhdEludGVydmFsKDApCit7Cit9CisKK1Rp
bWVyR2xpYkJhc2U6On5UaW1lckdsaWJCYXNlKCkKK3sKKyAgICBzdG9wKCk7Cit9CisKK3ZvaWQg
VGltZXJHbGliQmFzZTo6c3RhcnQoZG91YmxlIHJlcGVhdEludGVydmFsKQoreworICAgIG1fcmVw
ZWF0SW50ZXJ2YWwgPSByZXBlYXRJbnRlcnZhbDsKKyAgICBzdG9wKCk7CisgICAgbV9zb3VyY2VJ
ZCA9IGdfdGltZW91dF9hZGRfZnVsbChHREtfUFJJT1JJVFlfUkVEUkFXLCByZXBlYXRJbnRlcnZh
bCoxMDAwLCAoR1NvdXJjZUZ1bmMpIHRpbWVyR3RrRmlyZWQsIHRoaXMsIDApOworfQorCit2b2lk
IFRpbWVyR2xpYkJhc2U6OnN0b3AoKQoreworICAgIG1fcmVwZWF0SW50ZXJ2YWwgPSAwOworICAg
IGlmIChtX3NvdXJjZUlkKQorICAgICAgICBnX3NvdXJjZV9yZW1vdmUobV9zb3VyY2VJZCk7Cisg
ICAgbV9zb3VyY2VJZCA9IDA7Cit9CisKK2dib29sZWFuIFRpbWVyR2xpYkJhc2U6Om5vdGlmeUZp
cmVkKCkKK3sKKyAgICBmaXJlZCgpOworICAgIGdib29sZWFuIHJldCA9IG1fcmVwZWF0SW50ZXJ2
YWwgPiAwID8gVFJVRTpGQUxTRTsKKyAgICByZXR1cm4gcmV0OworfQorCit2b2lkIFRpbWVyR2xp
YkJhc2U6OmF1Z21lbnRSZXBlYXRJbnRlcnZhbChkb3VibGUgZGVsdGEpCit7CisgICAgZG91Ymxl
IHJlcGVhdEludGVydmFsID0gbV9yZXBlYXRJbnRlcnZhbCArIGRlbHRhOworICAgIHN0b3AoKTsK
KyAgICBzdGFydChyZXBlYXRJbnRlcnZhbCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworCisjZW5kaWYKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9UaW1lckdsaWIu
aCBiL1dlYkNvcmUvcGxhdGZvcm0vZ2xpYi9UaW1lckdsaWIuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi43OWM5ODc0Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9nbGliL1RpbWVyR2xpYi5oCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgSWdhbGlhIFMuTAorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIFRpbWVyR2xpYl9oCisjZGVmaW5lIFRpbWVyR2xp
Yl9oCisjaWYgRU5BQkxFKEdMSUJfU1VQUE9SVCkKKworI2luY2x1ZGUgIk5vbmNvcHlhYmxlLmgi
CisjaW5jbHVkZSA8Z2xpYi5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFRpbWVy
R2xpYkJhc2UgOiBwdWJsaWMgTm9uY29weWFibGUgeworcHVibGljOgorICAgIFRpbWVyR2xpYkJh
c2UoKTsKKyAgICB+VGltZXJHbGliQmFzZSgpOworCisgICAgdm9pZCBzdGFydChkb3VibGUgcmVw
ZWF0SW50ZXJ2YWwpOworICAgIHZvaWQgc3RhcnRSZXBlYXRpbmcoZG91YmxlIHJlcGVhdEludGVy
dmFsKSB7IHN0YXJ0KHJlcGVhdEludGVydmFsKTsgfQorICAgIHZvaWQgc3RhcnRPbmVTaG90KGRv
dWJsZSBpbnRlcnZhbCkgeyBzdGFydChpbnRlcnZhbCk7IH0KKyAgICB2b2lkIHN0b3AoKTsKKyAg
ICBib29sIGlzQWN0aXZlKCkgY29uc3Q7CisgICAgZ2Jvb2xlYW4gbm90aWZ5RmlyZWQoKTsKKwor
ICAgIHZvaWQgYXVnbWVudFJlcGVhdEludGVydmFsKGRvdWJsZSBkZWx0YSk7CisgICAgZG91Ymxl
IHJlcGVhdEludGVydmFsKCkgY29uc3QgeyByZXR1cm4gbV9yZXBlYXRJbnRlcnZhbDsgfQorCitw
cml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCBmaXJlZCgpID0gMDsKKyAgICBndWludCBtX3NvdXJj
ZUlkOworICAgIGRvdWJsZSBtX3JlcGVhdEludGVydmFsOyAvLyAwIGlmIG5vdCByZXBlYXRpbmcK
K307CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUaW1lckZpcmVkQ2xhc3M+IGNsYXNzIFRpbWVyR2xp
YiA6IHB1YmxpYyBUaW1lckdsaWJCYXNlIHsKK3B1YmxpYzoKKyAgICB0eXBlZGVmIHZvaWQgKFRp
bWVyRmlyZWRDbGFzczo6KlRpbWVyRmlyZWRGdW5jdGlvbikoVGltZXJHbGliKik7CisKKyAgICBU
aW1lckdsaWIoVGltZXJGaXJlZENsYXNzKiBvLCBUaW1lckZpcmVkRnVuY3Rpb24gZikKKyAgICAg
ICAgOiBtX29iamVjdChvKSwgbV9mdW5jdGlvbihmKSB7IH0KKworcHJpdmF0ZToKKyAgICB2aXJ0
dWFsIHZvaWQgZmlyZWQoKSB7IChtX29iamVjdC0+Km1fZnVuY3Rpb24pKHRoaXMpOyB9CisKKyAg
ICBUaW1lckZpcmVkQ2xhc3MqIG1fb2JqZWN0OworICAgIFRpbWVyRmlyZWRGdW5jdGlvbiBtX2Z1
bmN0aW9uOworfTsKKworCitpbmxpbmUgYm9vbCBUaW1lckdsaWJCYXNlOjppc0FjdGl2ZSgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1fc291cmNlSWQ7Cit9CisKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEdMSUJfU1VQUE9SVCkKKyNlbmRpZiAvLyBUaW1lckds
aWJfaApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggNzAxMmM5Zi4u
YWIxZTc5YSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC0yOTUs
NiArMjk1LDggQEAgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXIoTWVkaWFQbGF5ZXIqIHBsYXllcikKICAgICAsIG1fcHJlbG9hZChNZWRpYVBs
YXllcjo6QXV0bykKICAgICAsIG1fZGVsYXlpbmdMb2FkKGZhbHNlKQogICAgICwgbV9tZWRpYUR1
cmF0aW9uS25vd24odHJ1ZSkKKyAgICAsIG1fbXV0ZUNoYW5nZWRUaW1lcih0aGlzLCAmTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjptdXRlQ2hhbmdlZFRpbWVyRmlyZWQpCisgICAgLCBtX3Zv
bHVtZUNoYW5nZWRUaW1lcih0aGlzLCAmTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp2b2x1
bWVDaGFuZ2VkVGltZXJGaXJlZCkKIHsKICAgICBpZiAoZG9Hc3RJbml0KCkpCiAgICAgICAgIGNy
ZWF0ZUdTVFBsYXlCaW4oKTsKQEAgLTMwMiw2ICszMDQsMTIgQEAgTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIoTWVkaWFQbGF5ZXIqIHBsYXll
cikKIAogTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp+TWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyKCkKIHsKKyAgICBpZiAobV92b2x1bWVDaGFuZ2VkVGltZXIuaXNBY3RpdmUoKSkKKyAg
ICAgICAgbV92b2x1bWVDaGFuZ2VkVGltZXIuc3RvcCgpOworCisgICAgaWYgKG1fbXV0ZUNoYW5n
ZWRUaW1lci5pc0FjdGl2ZSgpKQorICAgICAgICBtX211dGVDaGFuZ2VkVGltZXIuc3RvcCgpOwor
CiAgICAgaWYgKG1fZmlsbFRpbWVyLmlzQWN0aXZlKCkpCiAgICAgICAgIG1fZmlsbFRpbWVyLnN0
b3AoKTsKIApAQCAtNTg0LDcgKzU5Miw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjpzZXRWb2x1bWUoZmxvYXQgdm9sdW1lKQogICAgIGdfb2JqZWN0X3NldChtX3BsYXlCaW4s
ICJ2b2x1bWUiLCBzdGF0aWNfY2FzdDxkb3VibGU+KHZvbHVtZSksIE5VTEwpOwogfQogCi12b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dm9sdW1lQ2hhbmdlZFRpbWVyRmlyZWQoVGlt
ZXI8TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiopCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lcjo6dm9sdW1lQ2hhbmdlZFRpbWVyRmlyZWQoVGltZXJHbGliPE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lcj4qKQogewogICAgIGRvdWJsZSB2b2x1bWU7CiAgICAgZ19vYmplY3Rf
Z2V0KG1fcGxheUJpbiwgInZvbHVtZSIsICZ2b2x1bWUsIE5VTEwpOwpAQCAtNTkzLDggKzYwMSw3
IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp2b2x1bWVDaGFuZ2VkVGltZXJG
aXJlZChUaW1lcjxNZWRpYVBsYXllclByaXZhCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyOjp2b2x1bWVDaGFuZ2VkKCkKIHsKLSAgICBUaW1lcjxNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI+IHZvbHVtZUNoYW5nZWRUaW1lcih0aGlzLCAmTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyOjp2b2x1bWVDaGFuZ2VkVGltZXJGaXJlZCk7Ci0gICAgdm9sdW1lQ2hhbmdlZFRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKKyAgICBtX3ZvbHVtZUNoYW5nZWRUaW1lci5zdGFydE9uZVNob3Qo
MCk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXRSYXRlKGZsb2F0
IHJhdGUpCkBAIC0xMTU4LDcgKzExNjUsNyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lcjo6c2V0TXV0ZWQoYm9vbCBtdXRlZCkKICAgICBnX29iamVjdF9zZXQobV9wbGF5QmluLCAi
bXV0ZSIsIG11dGVkLCBOVUxMKTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6Om11dGVDaGFuZ2VkVGltZXJGaXJlZChUaW1lcjxNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI+KikKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjptdXRlQ2hhbmdlZFRpbWVy
RmlyZWQoVGltZXJHbGliPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4qKQogewogICAgIGdi
b29sZWFuIG11dGVkOwogICAgIGdfb2JqZWN0X2dldChtX3BsYXlCaW4sICJtdXRlIiwgJm11dGVk
LCBOVUxMKTsKQEAgLTExNjcsOCArMTE3NCw3IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyOjptdXRlQ2hhbmdlZFRpbWVyRmlyZWQoVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlCiAK
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjptdXRlQ2hhbmdlZCgpCiB7Ci0gICAg
VGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiBtdXRlQ2hhbmdlZFRpbWVyKHRoaXMs
ICZNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om11dGVDaGFuZ2VkVGltZXJGaXJlZCk7Ci0g
ICAgbXV0ZUNoYW5nZWRUaW1lci5zdGFydE9uZVNob3QoMCk7CisgICAgbV9tdXRlQ2hhbmdlZFRp
bWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6OmxvYWRpbmdGYWlsZWQoTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZSBlcnJvcikKQEAgLTE0
MDEsOCArMTQwNywxMCBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRl
R1NUUGxheUJpbigpCiAgICAgZ19zaWduYWxfY29ubmVjdChidXMsICJtZXNzYWdlIiwgR19DQUxM
QkFDSyhtZWRpYVBsYXllclByaXZhdGVNZXNzYWdlQ2FsbGJhY2spLCB0aGlzKTsKICAgICBnc3Rf
b2JqZWN0X3VucmVmKGJ1cyk7CiAKLSAgICBnX3NpZ25hbF9jb25uZWN0KG1fcGxheUJpbiwgIm5v
dGlmeTo6dm9sdW1lIiwgR19DQUxMQkFDSyhtZWRpYVBsYXllclByaXZhdGVWb2x1bWVDaGFuZ2Vk
Q2FsbGJhY2spLCB0aGlzKTsKKyAgICBnX29iamVjdF9zZXQobV9wbGF5QmluLCAibXV0ZSIsIG1f
cGxheWVyLT5tdXRlZCgpLCAidm9sdW1lIiwgbV9wbGF5ZXItPnZvbHVtZSgpLCBOVUxMKTsKKwog
ICAgIGdfc2lnbmFsX2Nvbm5lY3QobV9wbGF5QmluLCAibm90aWZ5Ojpzb3VyY2UiLCBHX0NBTExC
QUNLKG1lZGlhUGxheWVyUHJpdmF0ZVNvdXJjZUNoYW5nZWRDYWxsYmFjayksIHRoaXMpOworICAg
IGdfc2lnbmFsX2Nvbm5lY3QobV9wbGF5QmluLCAibm90aWZ5Ojp2b2x1bWUiLCBHX0NBTExCQUNL
KG1lZGlhUGxheWVyUHJpdmF0ZVZvbHVtZUNoYW5nZWRDYWxsYmFjayksIHRoaXMpOwogICAgIGdf
c2lnbmFsX2Nvbm5lY3QobV9wbGF5QmluLCAibm90aWZ5OjptdXRlIiwgR19DQUxMQkFDSyhtZWRp
YVBsYXllclByaXZhdGVNdXRlQ2hhbmdlZENhbGxiYWNrKSwgdGhpcyk7CiAKICAgICBtX3dlYmtp
dFZpZGVvU2luayA9IHdlYmtpdF92aWRlb19zaW5rX25ldygpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXIuaAppbmRleCA4MDBjYTZkLi40ZjRlNTUxIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIu
aAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuaApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSAiTWVkaWFQbGF5ZXJQcml2YXRlLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIK
KyNpbmNsdWRlICJUaW1lckdsaWIuaCIKIAogI2luY2x1ZGUgPGdsaWIuaD4KICNpbmNsdWRlIDxn
c3QvZ3N0Lmg+CkBAIC04MSwxMiArODIsMTIgQEAgY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyIDogcHVibGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSB7CiAKICAgICAgICAg
ICAgIHZvaWQgc2V0Vm9sdW1lKGZsb2F0KTsKICAgICAgICAgICAgIHZvaWQgdm9sdW1lQ2hhbmdl
ZCgpOwotICAgICAgICAgICAgdm9pZCB2b2x1bWVDaGFuZ2VkVGltZXJGaXJlZChUaW1lcjxNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXI+Kik7CisgICAgICAgICAgICB2b2lkIHZvbHVtZUNoYW5n
ZWRUaW1lckZpcmVkKFRpbWVyR2xpYjxNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI+Kik7CiAK
ICAgICAgICAgICAgIGJvb2wgc3VwcG9ydHNNdXRpbmcoKSBjb25zdDsKICAgICAgICAgICAgIHZv
aWQgc2V0TXV0ZWQoYm9vbCk7CiAgICAgICAgICAgICB2b2lkIG11dGVDaGFuZ2VkKCk7Ci0gICAg
ICAgICAgICB2b2lkIG11dGVDaGFuZ2VkVGltZXJGaXJlZChUaW1lcjxNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXI+Kik7CisgICAgICAgICAgICB2b2lkIG11dGVDaGFuZ2VkVGltZXJGaXJlZChU
aW1lckdsaWI8TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiopOwogCiAgICAgICAgICAgICB2
b2lkIHNldFByZWxvYWQoTWVkaWFQbGF5ZXI6OlByZWxvYWQpOwogICAgICAgICAgICAgdm9pZCBm
aWxsVGltZXJGaXJlZChUaW1lcjxNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI+Kik7CkBAIC0x
NzYsNiArMTc3LDggQEAgY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyIDogcHVibGlj
IE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSB7CiAgICAgICAgICAgICBib29sIG1fZGVsYXlp
bmdMb2FkOwogICAgICAgICAgICAgYm9vbCBtX21lZGlhRHVyYXRpb25Lbm93bjsKICAgICAgICAg
ICAgIFJlZlB0cjxHU3RyZWFtZXJHV29ybGQ+IG1fZ3N0R1dvcmxkOworICAgICAgICAgICAgVGlt
ZXJHbGliPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4gbV9tdXRlQ2hhbmdlZFRpbWVyOwor
ICAgICAgICAgICAgVGltZXJHbGliPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4gbV92b2x1
bWVDaGFuZ2VkVGltZXI7CiAgICAgfTsKIH0KIAotLSAKMS43LjIuMw==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74637</attachid>
            <date>2010-11-23 03:34:46 -0800</date>
            <delta_ts>2010-11-23 08:43:46 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>proposed-patch.patch</filename>
            <type>text/plain</type>
            <size>15507</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSA1MTdlZDUzOTUzOWIzYTQxNjI5ZmFlNjk0OTFlNDQ3MDVmN2RmOTA0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBUdWUsIDIzIE5vdiAyMDEwIDEwOjQ4OjA0ICswMTAwClN1YmplY3Q6IFtQQVRDSF0g
cHJvcG9zZWQgcGF0Y2gKCi0tLQogV2ViQ29yZS9DTWFrZUxpc3RzRWZsLnR4dCAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgICA0ICsKIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgICA0MSArKysrKysrKysrCiBXZWJDb3JlL0dOVW1ha2VmaWxl
LmFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDMgKwogV2ViQ29yZS9XZWJDb3Jl
LnBybyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA1ICstCiBXZWJDb3JlL3Bs
YXRmb3JtL2dsaWIvVGltZXJHbGliLmNwcCAgICAgICAgICAgICAgICB8ICAgODIgKysrKysrKysr
KysrKysrKysrKysKIFdlYkNvcmUvcGxhdGZvcm0vZ2xpYi9UaW1lckdsaWIuaCAgICAgICAgICAg
ICAgICAgIHwgICA3NCArKysrKysrKysrKysrKysrKysKIC4uLi9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCAgICAgIHwgICAyMiArKysrLS0KIC4uLi9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmggICAgICAgIHwgICAgNyArLQogOCBmaWxlcyBj
aGFuZ2VkLCAyMjggaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAx
MDA2NDQgV2ViQ29yZS9wbGF0Zm9ybS9nbGliL1RpbWVyR2xpYi5jcHAKIGNyZWF0ZSBtb2RlIDEw
MDY0NCBXZWJDb3JlL3BsYXRmb3JtL2dsaWIvVGltZXJHbGliLmgKCmRpZmYgLS1naXQgYS9XZWJD
b3JlL0NNYWtlTGlzdHNFZmwudHh0IGIvV2ViQ29yZS9DTWFrZUxpc3RzRWZsLnR4dAppbmRleCA3
ODljZmRjLi5lMDhmODQ5IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NNYWtlTGlzdHNFZmwudHh0Cisr
KyBiL1dlYkNvcmUvQ01ha2VMaXN0c0VmbC50eHQKQEAgLTI0Myw2ICsyNDMsMTAgQEAgSUYgKEVO
QUJMRV9HTElCX1NVUFBPUlQpCiAgIExJU1QoQVBQRU5EIFdlYkNvcmVfSU5DTFVERV9ESVJFQ1RP
UklFUwogICAgICR7R0RLX0lOQ0xVREVfRElSU30KICAgICAke0dsaWJfSU5DTFVERV9ESVJTfQor
ICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9nbGliIgorICApCisgIExJU1QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUworICAgIHBsYXRmb3JtL2dsaWIvVGltZXJHbGliLmNwcAogICApCiBFTkRJ
RiAoKQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IGExZWFlOTcuLjAzZmEwMTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDQgQEAKKzIwMTAtMTEtMjMgIFBoaWxp
cHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFZvbHVtZSBjb250cm9sIG5vdCBjb3JyZWN0bHkg
aW5pdGlhbGl6ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM2Mjk5CisKKyAgICAgICAgUmVwbGFjZWQgdGhlIHZvbHVtZS9tdXRlIFRpbWVycyBpbiB0
aGUgcGxheWVyIHdpdGggbmV3IFRpbWVyR2xpYgorICAgICAgICBpbnN0YW5jZXMgdGhhdCBhcmUg
bW9yZSByZWxpYWJsZSB0aGFuIFRpbWVyIGZvciB0aGUKKyAgICAgICAgb25lLXNob3Qtb25lLWZp
cmUgdXNlLWNhc2UuCisKKyAgICAgICAgVGVzdDogbWVkaWEvdmlkZW8tbXV0ZWQuaHRtbAorCisg
ICAgICAgICogQ01ha2VMaXN0c0VmbC50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUuYW06Cisg
ICAgICAgICogV2ViQ29yZS5wcm86CisgICAgICAgICogcGxhdGZvcm0vZ2xpYi9UaW1lckdsaWIu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnRpbWVyR3RrRmlyZWQpOgorICAgICAgICAo
V2ViQ29yZTo6VGltZXJHbGliQmFzZTo6VGltZXJHbGliQmFzZSk6CisgICAgICAgIChXZWJDb3Jl
OjpUaW1lckdsaWJCYXNlOjp+VGltZXJHbGliQmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpUaW1l
ckdsaWJCYXNlOjpzdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpUaW1lckdsaWJCYXNlOjpzdG9w
KToKKyAgICAgICAgKFdlYkNvcmU6OlRpbWVyR2xpYkJhc2U6Om5vdGlmeUZpcmVkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlRpbWVyR2xpYkJhc2U6OmF1Z21lbnRSZXBlYXRJbnRlcnZhbCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ2xpYi9UaW1lckdsaWIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpUaW1lckdsaWJCYXNlOjpzdGFydFJlcGVhdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpUaW1l
ckdsaWJCYXNlOjpzdGFydE9uZVNob3QpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJHbGliQmFz
ZTo6cmVwZWF0SW50ZXJ2YWwpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJHbGliOjpUaW1lckds
aWIpOgorICAgICAgICAoV2ViQ29yZTo6VGltZXJHbGliOjpmaXJlZCk6CisgICAgICAgIChXZWJD
b3JlOjpUaW1lckdsaWJCYXNlOjppc0FjdGl2ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Ok1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6
On5NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp2b2x1bWVDaGFuZ2VkVGltZXJGaXJlZCk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnZvbHVtZUNoYW5nZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjptdXRlQ2hhbmdl
ZFRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjptdXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI6OmNyZWF0ZUdTVFBsYXlCaW4pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaDoKKwogMjAxMC0xMS0yMiAg
QW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
Tmlrb2xhcyBaaW1tZXJtYW5uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBi
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggZTVmZTJhNy4uZjVmZDYyNiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBA
IC0zNiw2ICszNiw3IEBAIHdlYmNvcmVfY3BwZmxhZ3MgKz0gXAogCS1JJChzcmNkaXIpL1dlYkNv
cmUvcGFnZS9hbmltYXRpb24gXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvcGxhdGZvcm0gXAogCS1J
JChzcmNkaXIpL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uIFwKKwktSSQoc3JjZGlyKS9XZWJD
b3JlL3BsYXRmb3JtL2dsaWIgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycyBcCiAJ
LUkkKHNyY2RpcikvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zIFwKQEAgLTM1
MTQsNiArMzUxNSw4IEBAIHdlYmNvcmVndGtfc291cmNlcyArPSBcCiAJV2ViQ29yZS9wYWdlL2d0
ay9EcmFnQ29udHJvbGxlckd0ay5jcHAgXAogCVdlYkNvcmUvcGFnZS9ndGsvRXZlbnRIYW5kbGVy
R3RrLmNwcCBcCiAJV2ViQ29yZS9wYWdlL2d0ay9GcmFtZUd0ay5jcHAgXAorCVdlYkNvcmUvcGxh
dGZvcm0vZ2xpYi9UaW1lckdsaWIuaCBcCisJV2ViQ29yZS9wbGF0Zm9ybS9nbGliL1RpbWVyR2xp
Yi5jcHAgXAogCVdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9QYXRoLmggXAog
CVdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9VdGlsaXRpZXMuY3BwIFwKIAlX
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJvVXRpbGl0aWVzLmggXApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1dlYkNvcmUvV2ViQ29yZS5wcm8KaW5kZXggNjcx
NDg5My4uZGUwYTA4YyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnBybworKysgYi9XZWJD
b3JlL1dlYkNvcmUucHJvCkBAIC0zMTU3LDYgKzMxNTcsNyBAQCBjb250YWlucyhERUZJTkVTLCBF
TkFCTEVfVklERU89MSkgewogCiAgICAgY29udGFpbnMoREVGSU5FUywgVVNFX0dTVFJFQU1FUj0x
KSB7CiAgICAgICAgIEhFQURFUlMgKz0gXAorICAgICAgICAgICAgcGxhdGZvcm0vZ2xpYi9UaW1l
ckdsaWIuaCBcCiAgICAgICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvRGF0YVNv
dXJjZUdTdHJlYW1lci5oIFwKICAgICAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9HT3duUHRyR1N0cmVhbWVyLmggXAogICAgICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL0dTdHJlYW1lckdXb3JsZC5oIFwKQEAgLTMxNjcsNiArMzE2OCw3IEBAIGNvbnRhaW5z
KERFRklORVMsIEVOQUJMRV9WSURFTz0xKSB7CiAgICAgICAgICAgICBwbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvUGxhdGZvcm1WaWRlb1dpbmRvd1ByaXZhdGUuaCBcCiAgICAgICAgICAgICBw
bGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvSW1hZ2VHU3RyZWFtZXIuaAogICAgICAgICBTT1VS
Q0VTICs9IFwKKyAgICAgICAgICAgIHBsYXRmb3JtL2dsaWIvVGltZXJHbGliLmNwcCBcCiAgICAg
ICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvRGF0YVNvdXJjZUdTdHJlYW1lci5j
cHAgXAogICAgICAgICAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dPd25QdHJHU3Ry
ZWFtZXIuY3BwIFwKICAgICAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3Ry
ZWFtZXJHV29ybGQuY3BwIFwKQEAgLTMxNzksNyArMzE4MSw4IEBAIGNvbnRhaW5zKERFRklORVMs
IEVOQUJMRV9WSURFTz0xKSB7CiAgICAgICAgIERFRklORVMgKz0gV1RGX1VTRV9HU1RSRUFNRVI9
MQogICAgICAgICBERUZJTkVTICs9IEVOQUJMRV9HTElCX1NVUFBPUlQ9MQogCi0gICAgICAgIElO
Q0xVREVQQVRIICs9ICQkUFdEL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lcgorICAgICAgICBJ
TkNMVURFUEFUSCArPSAkJFBXRC9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIgXAorICAgICAg
ICAgICAgICAgICAgICAgICAkJFBXRC9wbGF0Zm9ybS9nbGliCiAKICAgICAgICAgUEtHQ09ORklH
ICs9IGdsaWItMi4wIGdpby0yLjAgZ3N0cmVhbWVyLTAuMTAgZ3N0cmVhbWVyLWFwcC0wLjEwIGdz
dHJlYW1lci1iYXNlLTAuMTAgZ3N0cmVhbWVyLWludGVyZmFjZXMtMC4xMCBnc3RyZWFtZXItcGJ1
dGlscy0wLjEwIGdzdHJlYW1lci1wbHVnaW5zLWJhc2UtMC4xMCBnc3RyZWFtZXItdmlkZW8tMC4x
MAogICAgICB9IGVsc2U6Y29udGFpbnMoTU9CSUxJVFlfQ09ORklHLCBtdWx0aW1lZGlhKSB7CmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvVGltZXJHbGliLmNwcCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ2xpYi9UaW1lckdsaWIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLmRkNGQ5ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dsaWIv
VGltZXJHbGliLmNwcApAQCAtMCwwICsxLDgyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IElnYWxpYSBTLkwKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgor
ICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAq
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBu
b3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG
cmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCisgKi8KKworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiVGltZXJHbGliLmgi
CisKKyNpZiBFTkFCTEUoR0xJQl9TVVBQT1JUKQorCisjaW5jbHVkZSAiVGhyZWFkR2xvYmFsRGF0
YS5oIgorI2luY2x1ZGUgIlRocmVhZFRpbWVycy5oIgorI2luY2x1ZGUgPGdkay9nZGsuaD4KKwor
dXNpbmcgbmFtZXNwYWNlIHN0ZDsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitnYm9vbGVhbiB0
aW1lckd0a0ZpcmVkKGdwb2ludGVyIGRhdGEpCit7CisgICAgVGltZXJHbGliQmFzZSogdGltZXIg
PSByZWludGVycHJldF9jYXN0PFRpbWVyR2xpYkJhc2UqPihkYXRhKTsKKyAgICByZXR1cm4gdGlt
ZXItPm5vdGlmeUZpcmVkKCk7Cit9CisKK1RpbWVyR2xpYkJhc2U6OlRpbWVyR2xpYkJhc2UoKQor
ICAgIDogbV9zb3VyY2VJZCgwKQorICAgICwgbV9yZXBlYXRJbnRlcnZhbCgwKQoreworfQorCitU
aW1lckdsaWJCYXNlOjp+VGltZXJHbGliQmFzZSgpCit7CisgICAgc3RvcCgpOworfQorCit2b2lk
IFRpbWVyR2xpYkJhc2U6OnN0YXJ0KGRvdWJsZSByZXBlYXRJbnRlcnZhbCkKK3sKKyAgICBtX3Jl
cGVhdEludGVydmFsID0gcmVwZWF0SW50ZXJ2YWw7CisgICAgc3RvcCgpOworICAgIG1fc291cmNl
SWQgPSBnX3RpbWVvdXRfYWRkX2Z1bGwoR0RLX1BSSU9SSVRZX1JFRFJBVywgcmVwZWF0SW50ZXJ2
YWwqMTAwMCwgKEdTb3VyY2VGdW5jKSB0aW1lckd0a0ZpcmVkLCB0aGlzLCAwKTsKK30KKwordm9p
ZCBUaW1lckdsaWJCYXNlOjpzdG9wKCkKK3sKKyAgICBtX3JlcGVhdEludGVydmFsID0gMDsKKyAg
ICBpZiAobV9zb3VyY2VJZCkKKyAgICAgICAgZ19zb3VyY2VfcmVtb3ZlKG1fc291cmNlSWQpOwor
ICAgIG1fc291cmNlSWQgPSAwOworfQorCitnYm9vbGVhbiBUaW1lckdsaWJCYXNlOjpub3RpZnlG
aXJlZCgpCit7CisgICAgZmlyZWQoKTsKKyAgICByZXR1cm4gbV9yZXBlYXRJbnRlcnZhbCA+IDA7
Cit9CisKK3ZvaWQgVGltZXJHbGliQmFzZTo6YXVnbWVudFJlcGVhdEludGVydmFsKGRvdWJsZSBk
ZWx0YSkKK3sKKyAgICBkb3VibGUgcmVwZWF0SW50ZXJ2YWwgPSBtX3JlcGVhdEludGVydmFsICsg
ZGVsdGE7CisgICAgc3RvcCgpOworICAgIHN0YXJ0KHJlcGVhdEludGVydmFsKTsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9nbGliL1RpbWVyR2xpYi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9nbGliL1RpbWVyR2xpYi5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5Yzk4NzQKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dsaWIvVGltZXJHbGliLmgKQEAgLTAsMCArMSw3NCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBJZ2FsaWEgUy5MCisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
KyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgVGltZXJHbGli
X2gKKyNkZWZpbmUgVGltZXJHbGliX2gKKyNpZiBFTkFCTEUoR0xJQl9TVVBQT1JUKQorCisjaW5j
bHVkZSAiTm9uY29weWFibGUuaCIKKyNpbmNsdWRlIDxnbGliLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgVGltZXJHbGliQmFzZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CitwdWJs
aWM6CisgICAgVGltZXJHbGliQmFzZSgpOworICAgIH5UaW1lckdsaWJCYXNlKCk7CisKKyAgICB2
b2lkIHN0YXJ0KGRvdWJsZSByZXBlYXRJbnRlcnZhbCk7CisgICAgdm9pZCBzdGFydFJlcGVhdGlu
Zyhkb3VibGUgcmVwZWF0SW50ZXJ2YWwpIHsgc3RhcnQocmVwZWF0SW50ZXJ2YWwpOyB9CisgICAg
dm9pZCBzdGFydE9uZVNob3QoZG91YmxlIGludGVydmFsKSB7IHN0YXJ0KGludGVydmFsKTsgfQor
ICAgIHZvaWQgc3RvcCgpOworICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdDsKKyAgICBnYm9vbGVh
biBub3RpZnlGaXJlZCgpOworCisgICAgdm9pZCBhdWdtZW50UmVwZWF0SW50ZXJ2YWwoZG91Ymxl
IGRlbHRhKTsKKyAgICBkb3VibGUgcmVwZWF0SW50ZXJ2YWwoKSBjb25zdCB7IHJldHVybiBtX3Jl
cGVhdEludGVydmFsOyB9CisKK3ByaXZhdGU6CisgICAgdmlydHVhbCB2b2lkIGZpcmVkKCkgPSAw
OworICAgIGd1aW50IG1fc291cmNlSWQ7CisgICAgZG91YmxlIG1fcmVwZWF0SW50ZXJ2YWw7IC8v
IDAgaWYgbm90IHJlcGVhdGluZworfTsKKwordGVtcGxhdGUgPHR5cGVuYW1lIFRpbWVyRmlyZWRD
bGFzcz4gY2xhc3MgVGltZXJHbGliIDogcHVibGljIFRpbWVyR2xpYkJhc2UgeworcHVibGljOgor
ICAgIHR5cGVkZWYgdm9pZCAoVGltZXJGaXJlZENsYXNzOjoqVGltZXJGaXJlZEZ1bmN0aW9uKShU
aW1lckdsaWIqKTsKKworICAgIFRpbWVyR2xpYihUaW1lckZpcmVkQ2xhc3MqIG8sIFRpbWVyRmly
ZWRGdW5jdGlvbiBmKQorICAgICAgICA6IG1fb2JqZWN0KG8pLCBtX2Z1bmN0aW9uKGYpIHsgfQor
Citwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCBmaXJlZCgpIHsgKG1fb2JqZWN0LT4qbV9mdW5j
dGlvbikodGhpcyk7IH0KKworICAgIFRpbWVyRmlyZWRDbGFzcyogbV9vYmplY3Q7CisgICAgVGlt
ZXJGaXJlZEZ1bmN0aW9uIG1fZnVuY3Rpb247Cit9OworCisKK2lubGluZSBib29sIFRpbWVyR2xp
YkJhc2U6OmlzQWN0aXZlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zb3VyY2VJZDsKK30KKwor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoR0xJQl9TVVBQT1JU
KQorI2VuZGlmIC8vIFRpbWVyR2xpYl9oCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
LmNwcAppbmRleCA3MDEyYzlmLi5hYjFlNzlhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBi
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lci5jcHAKQEAgLTI5NSw2ICsyOTUsOCBAQCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcihNZWRpYVBsYXllciogcGxheWVyKQogICAg
ICwgbV9wcmVsb2FkKE1lZGlhUGxheWVyOjpBdXRvKQogICAgICwgbV9kZWxheWluZ0xvYWQoZmFs
c2UpCiAgICAgLCBtX21lZGlhRHVyYXRpb25Lbm93bih0cnVlKQorICAgICwgbV9tdXRlQ2hhbmdl
ZFRpbWVyKHRoaXMsICZNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om11dGVDaGFuZ2VkVGlt
ZXJGaXJlZCkKKyAgICAsIG1fdm9sdW1lQ2hhbmdlZFRpbWVyKHRoaXMsICZNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXI6OnZvbHVtZUNoYW5nZWRUaW1lckZpcmVkKQogewogICAgIGlmIChkb0dz
dEluaXQoKSkKICAgICAgICAgY3JlYXRlR1NUUGxheUJpbigpOwpAQCAtMzAyLDYgKzMwNCwxMiBA
QCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
cihNZWRpYVBsYXllciogcGxheWVyKQogCiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6On5N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIoKQogeworICAgIGlmIChtX3ZvbHVtZUNoYW5nZWRU
aW1lci5pc0FjdGl2ZSgpKQorICAgICAgICBtX3ZvbHVtZUNoYW5nZWRUaW1lci5zdG9wKCk7CisK
KyAgICBpZiAobV9tdXRlQ2hhbmdlZFRpbWVyLmlzQWN0aXZlKCkpCisgICAgICAgIG1fbXV0ZUNo
YW5nZWRUaW1lci5zdG9wKCk7CisKICAgICBpZiAobV9maWxsVGltZXIuaXNBY3RpdmUoKSkKICAg
ICAgICAgbV9maWxsVGltZXIuc3RvcCgpOwogCkBAIC01ODQsNyArNTkyLDcgQEAgdm9pZCBNZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldFZvbHVtZShmbG9hdCB2b2x1bWUpCiAgICAgZ19v
YmplY3Rfc2V0KG1fcGxheUJpbiwgInZvbHVtZSIsIHN0YXRpY19jYXN0PGRvdWJsZT4odm9sdW1l
KSwgTlVMTCk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp2b2x1bWVD
aGFuZ2VkVGltZXJGaXJlZChUaW1lcjxNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI+KikKK3Zv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp2b2x1bWVDaGFuZ2VkVGltZXJGaXJlZChU
aW1lckdsaWI8TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiopCiB7CiAgICAgZG91YmxlIHZv
bHVtZTsKICAgICBnX29iamVjdF9nZXQobV9wbGF5QmluLCAidm9sdW1lIiwgJnZvbHVtZSwgTlVM
TCk7CkBAIC01OTMsOCArNjAxLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6
OnZvbHVtZUNoYW5nZWRUaW1lckZpcmVkKFRpbWVyPE1lZGlhUGxheWVyUHJpdmEKIAogdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnZvbHVtZUNoYW5nZWQoKQogewotICAgIFRpbWVy
PE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4gdm9sdW1lQ2hhbmdlZFRpbWVyKHRoaXMsICZN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnZvbHVtZUNoYW5nZWRUaW1lckZpcmVkKTsKLSAg
ICB2b2x1bWVDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIG1fdm9sdW1lQ2hhbmdl
ZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXI6OnNldFJhdGUoZmxvYXQgcmF0ZSkKQEAgLTExNTgsNyArMTE2NSw3IEBAIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXRNdXRlZChib29sIG11dGVkKQogICAgIGdfb2Jq
ZWN0X3NldChtX3BsYXlCaW4sICJtdXRlIiwgbXV0ZWQsIE5VTEwpOwogfQogCi12b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bXV0ZUNoYW5nZWRUaW1lckZpcmVkKFRpbWVyPE1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4qKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6Om11dGVDaGFuZ2VkVGltZXJGaXJlZChUaW1lckdsaWI8TWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyPiopCiB7CiAgICAgZ2Jvb2xlYW4gbXV0ZWQ7CiAgICAgZ19vYmplY3RfZ2V0KG1fcGxh
eUJpbiwgIm11dGUiLCAmbXV0ZWQsIE5VTEwpOwpAQCAtMTE2Nyw4ICsxMTc0LDcgQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om11dGVDaGFuZ2VkVGltZXJGaXJlZChUaW1lcjxN
ZWRpYVBsYXllclByaXZhdGUKIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om11
dGVDaGFuZ2VkKCkKIHsKLSAgICBUaW1lcjxNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI+IG11
dGVDaGFuZ2VkVGltZXIodGhpcywgJk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bXV0ZUNo
YW5nZWRUaW1lckZpcmVkKTsKLSAgICBtdXRlQ2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBtX211dGVDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KDApOwogfQogCiB2b2lkIE1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bG9hZGluZ0ZhaWxlZChNZWRpYVBsYXllcjo6TmV0d29y
a1N0YXRlIGVycm9yKQpAQCAtMTQwMSw4ICsxNDA3LDEwIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyOjpjcmVhdGVHU1RQbGF5QmluKCkKICAgICBnX3NpZ25hbF9jb25uZWN0KGJ1
cywgIm1lc3NhZ2UiLCBHX0NBTExCQUNLKG1lZGlhUGxheWVyUHJpdmF0ZU1lc3NhZ2VDYWxsYmFj
ayksIHRoaXMpOwogICAgIGdzdF9vYmplY3RfdW5yZWYoYnVzKTsKIAotICAgIGdfc2lnbmFsX2Nv
bm5lY3QobV9wbGF5QmluLCAibm90aWZ5Ojp2b2x1bWUiLCBHX0NBTExCQUNLKG1lZGlhUGxheWVy
UHJpdmF0ZVZvbHVtZUNoYW5nZWRDYWxsYmFjayksIHRoaXMpOworICAgIGdfb2JqZWN0X3NldCht
X3BsYXlCaW4sICJtdXRlIiwgbV9wbGF5ZXItPm11dGVkKCksICJ2b2x1bWUiLCBtX3BsYXllci0+
dm9sdW1lKCksIE5VTEwpOworCiAgICAgZ19zaWduYWxfY29ubmVjdChtX3BsYXlCaW4sICJub3Rp
Znk6OnNvdXJjZSIsIEdfQ0FMTEJBQ0sobWVkaWFQbGF5ZXJQcml2YXRlU291cmNlQ2hhbmdlZENh
bGxiYWNrKSwgdGhpcyk7CisgICAgZ19zaWduYWxfY29ubmVjdChtX3BsYXlCaW4sICJub3RpZnk6
OnZvbHVtZSIsIEdfQ0FMTEJBQ0sobWVkaWFQbGF5ZXJQcml2YXRlVm9sdW1lQ2hhbmdlZENhbGxi
YWNrKSwgdGhpcyk7CiAgICAgZ19zaWduYWxfY29ubmVjdChtX3BsYXlCaW4sICJub3RpZnk6Om11
dGUiLCBHX0NBTExCQUNLKG1lZGlhUGxheWVyUHJpdmF0ZU11dGVDaGFuZ2VkQ2FsbGJhY2spLCB0
aGlzKTsKIAogICAgIG1fd2Via2l0VmlkZW9TaW5rID0gd2Via2l0X3ZpZGVvX3NpbmtfbmV3KCk7
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCmluZGV4IDgwMGNhNmQuLjRmNGU1NTEg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lci5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCkBAIC0yNyw2ICsyNyw3IEBACiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlICJNZWRpYVBsYXllclByaXZhdGUuaCIK
ICNpbmNsdWRlICJUaW1lci5oIgorI2luY2x1ZGUgIlRpbWVyR2xpYi5oIgogCiAjaW5jbHVkZSA8
Z2xpYi5oPgogI2luY2x1ZGUgPGdzdC9nc3QuaD4KQEAgLTgxLDEyICs4MiwxMiBAQCBjbGFzcyBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIgOiBwdWJsaWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50
ZXJmYWNlIHsKIAogICAgICAgICAgICAgdm9pZCBzZXRWb2x1bWUoZmxvYXQpOwogICAgICAgICAg
ICAgdm9pZCB2b2x1bWVDaGFuZ2VkKCk7Ci0gICAgICAgICAgICB2b2lkIHZvbHVtZUNoYW5nZWRU
aW1lckZpcmVkKFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4qKTsKKyAgICAgICAg
ICAgIHZvaWQgdm9sdW1lQ2hhbmdlZFRpbWVyRmlyZWQoVGltZXJHbGliPE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lcj4qKTsKIAogICAgICAgICAgICAgYm9vbCBzdXBwb3J0c011dGluZygpIGNv
bnN0OwogICAgICAgICAgICAgdm9pZCBzZXRNdXRlZChib29sKTsKICAgICAgICAgICAgIHZvaWQg
bXV0ZUNoYW5nZWQoKTsKLSAgICAgICAgICAgIHZvaWQgbXV0ZUNoYW5nZWRUaW1lckZpcmVkKFRp
bWVyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4qKTsKKyAgICAgICAgICAgIHZvaWQgbXV0
ZUNoYW5nZWRUaW1lckZpcmVkKFRpbWVyR2xpYjxNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI+
Kik7CiAKICAgICAgICAgICAgIHZvaWQgc2V0UHJlbG9hZChNZWRpYVBsYXllcjo6UHJlbG9hZCk7
CiAgICAgICAgICAgICB2b2lkIGZpbGxUaW1lckZpcmVkKFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lcj4qKTsKQEAgLTE3Niw2ICsxNzcsOCBAQCBjbGFzcyBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXIgOiBwdWJsaWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsKICAgICAg
ICAgICAgIGJvb2wgbV9kZWxheWluZ0xvYWQ7CiAgICAgICAgICAgICBib29sIG1fbWVkaWFEdXJh
dGlvbktub3duOwogICAgICAgICAgICAgUmVmUHRyPEdTdHJlYW1lckdXb3JsZD4gbV9nc3RHV29y
bGQ7CisgICAgICAgICAgICBUaW1lckdsaWI8TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiBt
X211dGVDaGFuZ2VkVGltZXI7CisgICAgICAgICAgICBUaW1lckdsaWI8TWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyPiBtX3ZvbHVtZUNoYW5nZWRUaW1lcjsKICAgICB9OwogfQogCi0tIAoxLjcu
Mi4z
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74731</attachid>
            <date>2010-11-24 01:08:38 -0800</date>
            <delta_ts>2010-11-30 02:50:11 -0800</delta_ts>
            <desc>simpler patch</desc>
            <filename>simpler-patch.patch</filename>
            <type>text/plain</type>
            <size>8747</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSAxMjFiODIxZDU2MmJlMmU4MDQzMzRjN2MzMzNiYzM3NmUyZWQ4NzkxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBXZWQsIDI0IE5vdiAyMDEwIDEwOjA5OjM1ICswMTAwClN1YmplY3Q6IFtQQVRDSF0g
c2ltcGxlciBwYXRjaAoKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgMjQgKysrKysrKysrKysKIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuY3BwICAgICAgICAgIHwgICAgMSArCiAuLi4vZ3N0cmVhbWVyL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgICAgICB8ICAgNDEgKysrKysrKysrKysrKysrKyst
LS0KIC4uLi9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmggICAgICAgIHwg
ICAgOCArKystCiA0IGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25z
KC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCBhZTMxNGNkLi5iY2NmM2Y1IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEwLTExLTI0ICBQaGlsaXBw
ZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBWb2x1bWUgY29udHJvbCBub3QgY29ycmVjdGx5IGlu
aXRpYWxpemVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zNjI5OQorCisgICAgICAgIFJlcGxhY2VkIHRoZSBtdXRlL3ZvbHVtZSBUaW1lcnMgd2l0aCBn
X3RpbWVvdXRzIHdoaWNoIGFyZSAoZm9yCisgICAgICAgIG5vdywgYXQgbGVhc3QpIG1vcmUgcmVs
aWFibGUgdGhhbiBUaW1lcnMgZm9yIG9uZS1zaG90LWZpcmUtbm93CisgICAgICAgIGFjdGlvbnMu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllcjo6fk1lZGlhUGxheWVyKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Om1lZGlhUGxheWVyUHJpdmF0ZVZvbHVtZUNoYW5nZVRpbWVvdXRDYWxs
YmFjayk6CisgICAgICAgIChXZWJDb3JlOjptZWRpYVBsYXllclByaXZhdGVNdXRlQ2hhbmdlVGlt
ZW91dENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lcjo6fk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcik6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om5vdGlmeVZvbHVtZVRvUGxheWVyKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dm9sdW1lQ2hhbmdlZCk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om5vdGlmeU11
dGVUb1BsYXllcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6Om11dGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6Y3JlYXRlR1NUUGxheUJpbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oOgorCiAyMDEwLTExLTIzICBQ
aGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBNYXJ0aW4gUm9iaW5zb24uCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5
ZXIuY3BwCmluZGV4IGU4N2M1M2MuLjU0Yjk0MWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvTWVkaWFQbGF5ZXIuY3BwCkBAIC0yNjgsNiArMjY4LDcgQEAgTWVkaWFQbGF5ZXI6Ok1lZGlh
UGxheWVyKE1lZGlhUGxheWVyQ2xpZW50KiBjbGllbnQpCiAKIE1lZGlhUGxheWVyOjp+TWVkaWFQ
bGF5ZXIoKQogeworICAgIG1fbWVkaWFQbGF5ZXJDbGllbnQgPSAwOwogfQogCiB2b2lkIE1lZGlh
UGxheWVyOjpsb2FkKGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBDb250ZW50VHlwZSYgY29udGVu
dFR5cGUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCA3MDEyYzlm
Li41MGE0ZGVmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKQEAgLTE3
Nyw2ICsxNzcsMTQgQEAgdm9pZCBtZWRpYVBsYXllclByaXZhdGVWb2x1bWVDaGFuZ2VkQ2FsbGJh
Y2soR09iamVjdCAqZWxlbWVudCwgR1BhcmFtU3BlYyAqcHNwZWMKICAgICBtcC0+dm9sdW1lQ2hh
bmdlZCgpOwogfQogCitnYm9vbGVhbiBtZWRpYVBsYXllclByaXZhdGVWb2x1bWVDaGFuZ2VUaW1l
b3V0Q2FsbGJhY2soZ3BvaW50ZXIgZGF0YSkKK3sKKyAgICAvLyBUaGlzIGlzIHRoZSBjYWxsYmFj
ayBvZiB0aGUgdGltZW91dCBzb3VyY2UgY3JlYXRlZCBpbiA6OnZvbHVtZUNoYW5nZWQuCisgICAg
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyKiBtcCA9IHJlaW50ZXJwcmV0X2Nhc3Q8TWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyKj4oZGF0YSk7CisgICAgbXAtPm5vdGlmeVZvbHVtZVRvUGxh
eWVyKCk7CisgICAgcmV0dXJuIEZBTFNFOworfQorCiB2b2lkIG1lZGlhUGxheWVyUHJpdmF0ZU11
dGVDaGFuZ2VkQ2FsbGJhY2soR09iamVjdCAqZWxlbWVudCwgR1BhcmFtU3BlYyAqcHNwZWMsIGdw
b2ludGVyIGRhdGEpCiB7CiAgICAgLy8gVGhpcyBpcyBjYWxsZWQgd2hlbiBwbGF5YmluIHJlY2Vp
dmVzIHRoZSBub3RpZnk6Om11dGUgc2lnbmFsLgpAQCAtMTg0LDYgKzE5MiwxNCBAQCB2b2lkIG1l
ZGlhUGxheWVyUHJpdmF0ZU11dGVDaGFuZ2VkQ2FsbGJhY2soR09iamVjdCAqZWxlbWVudCwgR1Bh
cmFtU3BlYyAqcHNwZWMsCiAgICAgbXAtPm11dGVDaGFuZ2VkKCk7CiB9CiAKK2dib29sZWFuIG1l
ZGlhUGxheWVyUHJpdmF0ZU11dGVDaGFuZ2VUaW1lb3V0Q2FsbGJhY2soZ3BvaW50ZXIgZGF0YSkK
K3sKKyAgICAvLyBUaGlzIGlzIHRoZSBjYWxsYmFjayBvZiB0aGUgdGltZW91dCBzb3VyY2UgY3Jl
YXRlZCBpbiA6Om11dGVDaGFuZ2VkLgorICAgIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lciog
bXAgPSByZWludGVycHJldF9jYXN0PE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcio+KGRhdGEp
OworICAgIG1wLT5ub3RpZnlNdXRlVG9QbGF5ZXIoKTsKKyAgICByZXR1cm4gRkFMU0U7Cit9CisK
IHN0YXRpYyBmbG9hdCBwbGF5YmFja1Bvc2l0aW9uKEdzdEVsZW1lbnQqIHBsYXliaW4pCiB7CiAK
QEAgLTMwMiw2ICszMTgsMTQgQEAgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIoTWVkaWFQbGF5ZXIqIHBsYXllcikKIAogTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyOjp+TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyKCkKIHsKKyAgICBp
ZiAobV9tdXRlVGltZXJIYW5kbGVyKQorICAgICAgICBnX3NvdXJjZV9yZW1vdmUobV9tdXRlVGlt
ZXJIYW5kbGVyKTsKKyAgICBtX211dGVUaW1lckhhbmRsZXIgPSAwOworCisgICAgaWYgKG1fdm9s
dW1lVGltZXJIYW5kbGVyKQorICAgICAgICBnX3NvdXJjZV9yZW1vdmUobV92b2x1bWVUaW1lckhh
bmRsZXIpOworICAgIG1fdm9sdW1lVGltZXJIYW5kbGVyID0gMDsKKwogICAgIGlmIChtX2ZpbGxU
aW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX2ZpbGxUaW1lci5zdG9wKCk7CiAKQEAgLTU4NCw4
ICs2MDgsMTAgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldFZvbHVtZShm
bG9hdCB2b2x1bWUpCiAgICAgZ19vYmplY3Rfc2V0KG1fcGxheUJpbiwgInZvbHVtZSIsIHN0YXRp
Y19jYXN0PGRvdWJsZT4odm9sdW1lKSwgTlVMTCk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyOjp2b2x1bWVDaGFuZ2VkVGltZXJGaXJlZChUaW1lcjxNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXI+KikKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpub3Rp
ZnlWb2x1bWVUb1BsYXllcigpCiB7CisgICAgaWYgKCFtX3BsYXllcikKKyAgICAgICAgcmV0dXJu
OwogICAgIGRvdWJsZSB2b2x1bWU7CiAgICAgZ19vYmplY3RfZ2V0KG1fcGxheUJpbiwgInZvbHVt
ZSIsICZ2b2x1bWUsIE5VTEwpOwogICAgIG1fcGxheWVyLT52b2x1bWVDaGFuZ2VkKHN0YXRpY19j
YXN0PGZsb2F0Pih2b2x1bWUpKTsKQEAgLTU5Myw4ICs2MTksNyBAQCB2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lcjo6dm9sdW1lQ2hhbmdlZFRpbWVyRmlyZWQoVGltZXI8TWVkaWFQbGF5
ZXJQcml2YQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dm9sdW1lQ2hhbmdl
ZCgpCiB7Ci0gICAgVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiB2b2x1bWVDaGFu
Z2VkVGltZXIodGhpcywgJk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dm9sdW1lQ2hhbmdl
ZFRpbWVyRmlyZWQpOwotICAgIHZvbHVtZUNoYW5nZWRUaW1lci5zdGFydE9uZVNob3QoMCk7Cisg
ICAgbV92b2x1bWVUaW1lckhhbmRsZXIgPSBnX3RpbWVvdXRfYWRkKDAsIG1lZGlhUGxheWVyUHJp
dmF0ZVZvbHVtZUNoYW5nZVRpbWVvdXRDYWxsYmFjaywgdGhpcyk7CiB9CiAKIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXRSYXRlKGZsb2F0IHJhdGUpCkBAIC0xMTU4LDggKzEx
ODMsMTEgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldE11dGVkKGJvb2wg
bXV0ZWQpCiAgICAgZ19vYmplY3Rfc2V0KG1fcGxheUJpbiwgIm11dGUiLCBtdXRlZCwgTlVMTCk7
CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjptdXRlQ2hhbmdlZFRpbWVy
RmlyZWQoVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiopCit2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lcjo6bm90aWZ5TXV0ZVRvUGxheWVyKCkKIHsKKyAgICBpZiAoIW1f
cGxheWVyKQorICAgICAgICByZXR1cm47CisKICAgICBnYm9vbGVhbiBtdXRlZDsKICAgICBnX29i
amVjdF9nZXQobV9wbGF5QmluLCAibXV0ZSIsICZtdXRlZCwgTlVMTCk7CiAgICAgbV9wbGF5ZXIt
Pm11dGVDaGFuZ2VkKHN0YXRpY19jYXN0PGJvb2w+KG11dGVkKSk7CkBAIC0xMTY3LDggKzExOTUs
NyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bXV0ZUNoYW5nZWRUaW1lckZp
cmVkKFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZQogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6bXV0ZUNoYW5nZWQoKQogewotICAgIFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcj4gbXV0ZUNoYW5nZWRUaW1lcih0aGlzLCAmTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjptdXRlQ2hhbmdlZFRpbWVyRmlyZWQpOwotICAgIG11dGVDaGFuZ2VkVGltZXIuc3RhcnRP
bmVTaG90KDApOworICAgIG1fbXV0ZVRpbWVySGFuZGxlciA9IGdfdGltZW91dF9hZGQoMCwgbWVk
aWFQbGF5ZXJQcml2YXRlTXV0ZUNoYW5nZVRpbWVvdXRDYWxsYmFjaywgdGhpcyk7CiB9CiAKIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpsb2FkaW5nRmFpbGVkKE1lZGlhUGxheWVy
OjpOZXR3b3JrU3RhdGUgZXJyb3IpCkBAIC0xNDAxLDYgKzE0MjgsOCBAQCB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlR1NUUGxheUJpbigpCiAgICAgZ19zaWduYWxfY29u
bmVjdChidXMsICJtZXNzYWdlIiwgR19DQUxMQkFDSyhtZWRpYVBsYXllclByaXZhdGVNZXNzYWdl
Q2FsbGJhY2spLCB0aGlzKTsKICAgICBnc3Rfb2JqZWN0X3VucmVmKGJ1cyk7CiAKKyAgICBnX29i
amVjdF9zZXQobV9wbGF5QmluLCAibXV0ZSIsIG1fcGxheWVyLT5tdXRlZCgpLCAidm9sdW1lIiwg
bV9wbGF5ZXItPnZvbHVtZSgpLCBOVUxMKTsKKwogICAgIGdfc2lnbmFsX2Nvbm5lY3QobV9wbGF5
QmluLCAibm90aWZ5Ojp2b2x1bWUiLCBHX0NBTExCQUNLKG1lZGlhUGxheWVyUHJpdmF0ZVZvbHVt
ZUNoYW5nZWRDYWxsYmFjayksIHRoaXMpOwogICAgIGdfc2lnbmFsX2Nvbm5lY3QobV9wbGF5Qmlu
LCAibm90aWZ5Ojpzb3VyY2UiLCBHX0NBTExCQUNLKG1lZGlhUGxheWVyUHJpdmF0ZVNvdXJjZUNo
YW5nZWRDYWxsYmFjayksIHRoaXMpOwogICAgIGdfc2lnbmFsX2Nvbm5lY3QobV9wbGF5QmluLCAi
bm90aWZ5OjptdXRlIiwgR19DQUxMQkFDSyhtZWRpYVBsYXllclByaXZhdGVNdXRlQ2hhbmdlZENh
bGxiYWNrKSwgdGhpcyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCmluZGV4IDgw
MGNhNmQuLmU3MDdjNTAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCkBAIC00
OCw2ICs0OCw4IEBAIGdib29sZWFuIG1lZGlhUGxheWVyUHJpdmF0ZU1lc3NhZ2VDYWxsYmFjayhH
c3RCdXMqIGJ1cywgR3N0TWVzc2FnZSogbWVzc2FnZSwgZ3BvCiB2b2lkIG1lZGlhUGxheWVyUHJp
dmF0ZVZvbHVtZUNoYW5nZWRDYWxsYmFjayhHT2JqZWN0KiBlbGVtZW50LCBHUGFyYW1TcGVjKiBw
c3BlYywgZ3BvaW50ZXIgZGF0YSk7CiB2b2lkIG1lZGlhUGxheWVyUHJpdmF0ZU11dGVDaGFuZ2Vk
Q2FsbGJhY2soR09iamVjdCogZWxlbWVudCwgR1BhcmFtU3BlYyogcHNwZWMsIGdwb2ludGVyIGRh
dGEpOwogdm9pZCBtZWRpYVBsYXllclByaXZhdGVTb3VyY2VDaGFuZ2VkQ2FsbGJhY2soR09iamVj
dCogZWxlbWVudCwgR1BhcmFtU3BlYyogcHNwZWMsIGdwb2ludGVyIGRhdGEpOworZ2Jvb2xlYW4g
bWVkaWFQbGF5ZXJQcml2YXRlVm9sdW1lQ2hhbmdlVGltZW91dENhbGxiYWNrKGdwb2ludGVyIGRh
dGEpOworZ2Jvb2xlYW4gbWVkaWFQbGF5ZXJQcml2YXRlTXV0ZUNoYW5nZVRpbWVvdXRDYWxsYmFj
ayhncG9pbnRlciBkYXRhKTsKIAogY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyIDog
cHVibGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSB7CiAgICAgICAgIGZyaWVuZCBnYm9v
bGVhbiBtZWRpYVBsYXllclByaXZhdGVNZXNzYWdlQ2FsbGJhY2soR3N0QnVzKiBidXMsIEdzdE1l
c3NhZ2UqIG1lc3NhZ2UsIGdwb2ludGVyIGRhdGEpOwpAQCAtODEsMTIgKzgzLDEyIEBAIGNsYXNz
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lciA6IHB1YmxpYyBNZWRpYVBsYXllclByaXZhdGVJ
bnRlcmZhY2UgewogCiAgICAgICAgICAgICB2b2lkIHNldFZvbHVtZShmbG9hdCk7CiAgICAgICAg
ICAgICB2b2lkIHZvbHVtZUNoYW5nZWQoKTsKLSAgICAgICAgICAgIHZvaWQgdm9sdW1lQ2hhbmdl
ZFRpbWVyRmlyZWQoVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiopOworICAgICAg
ICAgICAgdm9pZCBub3RpZnlWb2x1bWVUb1BsYXllcigpOwogCiAgICAgICAgICAgICBib29sIHN1
cHBvcnRzTXV0aW5nKCkgY29uc3Q7CiAgICAgICAgICAgICB2b2lkIHNldE11dGVkKGJvb2wpOwog
ICAgICAgICAgICAgdm9pZCBtdXRlQ2hhbmdlZCgpOwotICAgICAgICAgICAgdm9pZCBtdXRlQ2hh
bmdlZFRpbWVyRmlyZWQoVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiopOworICAg
ICAgICAgICAgdm9pZCBub3RpZnlNdXRlVG9QbGF5ZXIoKTsKIAogICAgICAgICAgICAgdm9pZCBz
ZXRQcmVsb2FkKE1lZGlhUGxheWVyOjpQcmVsb2FkKTsKICAgICAgICAgICAgIHZvaWQgZmlsbFRp
bWVyRmlyZWQoVGltZXI8TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyPiopOwpAQCAtMTc2LDYg
KzE3OCw4IEBAIGNsYXNzIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lciA6IHB1YmxpYyBNZWRp
YVBsYXllclByaXZhdGVJbnRlcmZhY2UgewogICAgICAgICAgICAgYm9vbCBtX2RlbGF5aW5nTG9h
ZDsKICAgICAgICAgICAgIGJvb2wgbV9tZWRpYUR1cmF0aW9uS25vd247CiAgICAgICAgICAgICBS
ZWZQdHI8R1N0cmVhbWVyR1dvcmxkPiBtX2dzdEdXb3JsZDsKKyAgICAgICAgICAgIGd1aW50IG1f
dm9sdW1lVGltZXJIYW5kbGVyOworICAgICAgICAgICAgZ3VpbnQgbV9tdXRlVGltZXJIYW5kbGVy
OwogICAgIH07CiB9CiAKLS0gCjEuNy4yLjM=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75117</attachid>
            <date>2010-11-30 02:50:11 -0800</date>
            <delta_ts>2010-12-01 00:08:09 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>proposed-patch.patch</filename>
            <type>text/plain</type>
            <size>9204</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSA4ZDc3ODJiZmM2NDUxN2RiZjE5MTRlZjkwZGQ4MzM4ZDQ3ZWVjNWE3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBUdWUsIDMwIE5vdiAyMDEwIDExOjUxOjE2ICswMTAwClN1YmplY3Q6IFtQQVRDSF0g
cHJvcG9zZWQgcGF0Y2gKCi0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDI4ICsrKysrKysrKysrKwogV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9NZWRpYVBsYXllci5jcHAgICAgICAgICAgfCAgICAxICsKIC4uLi9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCAgICAgIHwgICA0NyArKysrKysrKysrKysrKysr
Ky0tLQogLi4uL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaCAgICAgICAg
fCAgICA4ICsrKy0KIDQgZmlsZXMgY2hhbmdlZCwgNzYgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IGE1N2I1NjYuLjk2ZDk2MWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTAtMTEtMjkgIFBoaWxp
cHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFZvbHVtZSBjb250cm9sIG5vdCBjb3JyZWN0bHkg
aW5pdGlhbGl6ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM2Mjk5CisKKyAgICAgICAgUmVwbGFjZWQgdGhlIG11dGUvdm9sdW1lIFRpbWVycyB3aXRo
IGdfdGltZW91dHMgd2hpY2ggYXJlIChmb3IKKyAgICAgICAgbm93LCBhdCBsZWFzdCkgbW9yZSBy
ZWxpYWJsZSB0aGFuIFRpbWVycyBmb3Igb25lLXNob3QtZmlyZS1ub3cKKyAgICAgICAgYWN0aW9u
cy4KKworICAgICAgICBUZXN0OiBtZWRpYS92aWRlby12b2x1bWUuaHRtbAorCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXI6On5NZWRpYVBsYXllcik6IFJlc2V0IHRoZSByYXcgcG9pbnRlcnMgdG8gMAorICAg
ICAgICB3aGVuIGRlc3RydWN0aW5nIHRoZSBwbGF5ZXIuCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjptZWRpYVBsYXllclByaXZhdGVWb2x1bWVDaGFuZ2VUaW1lb3V0Q2FsbGJhY2sp
OgorICAgICAgICAoV2ViQ29yZTo6bWVkaWFQbGF5ZXJQcml2YXRlTXV0ZUNoYW5nZVRpbWVvdXRD
YWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6
On5NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpub3RpZnlWb2x1bWVUb1BsYXllcik6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnZvbHVtZUNoYW5nZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpub3RpZnlNdXRlVG9Q
bGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpt
dXRlQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6OmNyZWF0ZUdTVFBsYXlCaW4pOiBTZXQKKyAgICAgICAgcGxheWJpbjIgdm9sdW1lL211dGUg
YmFzZSBvbiBNZWRpYVBsYXllciByZWxhdGVkIHZhbHVlcy4KKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmg6CisKIDIwMTAt
MTEtMzAgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvTWVkaWFQbGF5ZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9NZWRp
YVBsYXllci5jcHAKaW5kZXggZTg3YzUzYy4uNTRiOTQxYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9NZWRpYVBsYXllci5jcHAKQEAgLTI2OCw2ICsyNjgsNyBAQCBNZWRpYVBsYXllcjo6
TWVkaWFQbGF5ZXIoTWVkaWFQbGF5ZXJDbGllbnQqIGNsaWVudCkKIAogTWVkaWFQbGF5ZXI6On5N
ZWRpYVBsYXllcigpCiB7CisgICAgbV9tZWRpYVBsYXllckNsaWVudCA9IDA7CiB9CiAKIHZvaWQg
TWVkaWFQbGF5ZXI6OmxvYWQoY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IENvbnRlbnRUeXBlJiBj
b250ZW50VHlwZSkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IDY5
NWQxZjcuLmYwOWY0MzIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcApA
QCAtMTc3LDYgKzE3NywxNCBAQCB2b2lkIG1lZGlhUGxheWVyUHJpdmF0ZVZvbHVtZUNoYW5nZWRD
YWxsYmFjayhHT2JqZWN0ICplbGVtZW50LCBHUGFyYW1TcGVjICpwc3BlYwogICAgIG1wLT52b2x1
bWVDaGFuZ2VkKCk7CiB9CiAKK2dib29sZWFuIG1lZGlhUGxheWVyUHJpdmF0ZVZvbHVtZUNoYW5n
ZVRpbWVvdXRDYWxsYmFjayhncG9pbnRlciBkYXRhKQoreworICAgIC8vIFRoaXMgaXMgdGhlIGNh
bGxiYWNrIG9mIHRoZSB0aW1lb3V0IHNvdXJjZSBjcmVhdGVkIGluIDo6dm9sdW1lQ2hhbmdlZC4K
KyAgICBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIqIG1wID0gcmVpbnRlcnByZXRfY2FzdDxN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIqPihkYXRhKTsKKyAgICBtcC0+bm90aWZ5Vm9sdW1l
VG9QbGF5ZXIoKTsKKyAgICByZXR1cm4gRkFMU0U7Cit9CisKIHZvaWQgbWVkaWFQbGF5ZXJQcml2
YXRlTXV0ZUNoYW5nZWRDYWxsYmFjayhHT2JqZWN0ICplbGVtZW50LCBHUGFyYW1TcGVjICpwc3Bl
YywgZ3BvaW50ZXIgZGF0YSkKIHsKICAgICAvLyBUaGlzIGlzIGNhbGxlZCB3aGVuIHBsYXliaW4g
cmVjZWl2ZXMgdGhlIG5vdGlmeTo6bXV0ZSBzaWduYWwuCkBAIC0xODQsNiArMTkyLDE0IEBAIHZv
aWQgbWVkaWFQbGF5ZXJQcml2YXRlTXV0ZUNoYW5nZWRDYWxsYmFjayhHT2JqZWN0ICplbGVtZW50
LCBHUGFyYW1TcGVjICpwc3BlYywKICAgICBtcC0+bXV0ZUNoYW5nZWQoKTsKIH0KIAorZ2Jvb2xl
YW4gbWVkaWFQbGF5ZXJQcml2YXRlTXV0ZUNoYW5nZVRpbWVvdXRDYWxsYmFjayhncG9pbnRlciBk
YXRhKQoreworICAgIC8vIFRoaXMgaXMgdGhlIGNhbGxiYWNrIG9mIHRoZSB0aW1lb3V0IHNvdXJj
ZSBjcmVhdGVkIGluIDo6bXV0ZUNoYW5nZWQuCisgICAgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyKiBtcCA9IHJlaW50ZXJwcmV0X2Nhc3Q8TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyKj4o
ZGF0YSk7CisgICAgbXAtPm5vdGlmeU11dGVUb1BsYXllcigpOworICAgIHJldHVybiBGQUxTRTsK
K30KKwogc3RhdGljIGZsb2F0IHBsYXliYWNrUG9zaXRpb24oR3N0RWxlbWVudCogcGxheWJpbikK
IHsKIApAQCAtMzI3LDggKzM0MywxOCBAQCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6On5N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIoKQogICAgIGlmIChtX3BsYXlCaW4pIHsKICAgICAg
ICAgZ3N0X2VsZW1lbnRfc2V0X3N0YXRlKG1fcGxheUJpbiwgR1NUX1NUQVRFX05VTEwpOwogICAg
ICAgICBnc3Rfb2JqZWN0X3VucmVmKEdTVF9PQkpFQ1QobV9wbGF5QmluKSk7CisgICAgICAgIG1f
cGxheUJpbiA9IDA7CiAgICAgfQogCisgICAgbV9wbGF5ZXIgPSAwOworCisgICAgaWYgKG1fbXV0
ZVRpbWVySGFuZGxlcikKKyAgICAgICAgZ19zb3VyY2VfcmVtb3ZlKG1fbXV0ZVRpbWVySGFuZGxl
cik7CisgICAgbV9tdXRlVGltZXJIYW5kbGVyID0gMDsKKworICAgIGlmIChtX3ZvbHVtZVRpbWVy
SGFuZGxlcikKKyAgICAgICAgZ19zb3VyY2VfcmVtb3ZlKG1fdm9sdW1lVGltZXJIYW5kbGVyKTsK
KyAgICBtX3ZvbHVtZVRpbWVySGFuZGxlciA9IDA7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyOjpsb2FkKGNvbnN0IFN0cmluZyYgdXJsKQpAQCAtNTg0LDggKzYxMCwxMCBA
QCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2V0Vm9sdW1lKGZsb2F0IHZvbHVt
ZSkKICAgICBnX29iamVjdF9zZXQobV9wbGF5QmluLCAidm9sdW1lIiwgc3RhdGljX2Nhc3Q8ZG91
YmxlPih2b2x1bWUpLCBOVUxMKTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6OnZvbHVtZUNoYW5nZWRUaW1lckZpcmVkKFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lcj4qKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om5vdGlmeVZvbHVtZVRv
UGxheWVyKCkKIHsKKyAgICBpZiAoIW1fcGxheWVyIHx8ICFtX3BsYXlCaW4pCisgICAgICAgIHJl
dHVybjsKICAgICBkb3VibGUgdm9sdW1lOwogICAgIGdfb2JqZWN0X2dldChtX3BsYXlCaW4sICJ2
b2x1bWUiLCAmdm9sdW1lLCBOVUxMKTsKICAgICBtX3BsYXllci0+dm9sdW1lQ2hhbmdlZChzdGF0
aWNfY2FzdDxmbG9hdD4odm9sdW1lKSk7CkBAIC01OTMsOCArNjIxLDkgQEAgdm9pZCBNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI6OnZvbHVtZUNoYW5nZWRUaW1lckZpcmVkKFRpbWVyPE1lZGlh
UGxheWVyUHJpdmEKIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnZvbHVtZUNo
YW5nZWQoKQogewotICAgIFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4gdm9sdW1l
Q2hhbmdlZFRpbWVyKHRoaXMsICZNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnZvbHVtZUNo
YW5nZWRUaW1lckZpcmVkKTsKLSAgICB2b2x1bWVDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KDAp
OworICAgIGlmIChtX3ZvbHVtZVRpbWVySGFuZGxlcikKKyAgICAgICAgZ19zb3VyY2VfcmVtb3Zl
KG1fdm9sdW1lVGltZXJIYW5kbGVyKTsKKyAgICBtX3ZvbHVtZVRpbWVySGFuZGxlciA9IGdfdGlt
ZW91dF9hZGQoMCwgbWVkaWFQbGF5ZXJQcml2YXRlVm9sdW1lQ2hhbmdlVGltZW91dENhbGxiYWNr
LCB0aGlzKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldFJhdGUo
ZmxvYXQgcmF0ZSkKQEAgLTExNTgsOCArMTE4NywxMSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lcjo6c2V0TXV0ZWQoYm9vbCBtdXRlZCkKICAgICBnX29iamVjdF9zZXQobV9wbGF5
QmluLCAibXV0ZSIsIG11dGVkLCBOVUxMKTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI6Om11dGVDaGFuZ2VkVGltZXJGaXJlZChUaW1lcjxNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI+KikKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpub3RpZnlNdXRl
VG9QbGF5ZXIoKQogeworICAgIGlmICghbV9wbGF5ZXIgfHwgIW1fcGxheUJpbikKKyAgICAgICAg
cmV0dXJuOworCiAgICAgZ2Jvb2xlYW4gbXV0ZWQ7CiAgICAgZ19vYmplY3RfZ2V0KG1fcGxheUJp
biwgIm11dGUiLCAmbXV0ZWQsIE5VTEwpOwogICAgIG1fcGxheWVyLT5tdXRlQ2hhbmdlZChzdGF0
aWNfY2FzdDxib29sPihtdXRlZCkpOwpAQCAtMTE2Nyw4ICsxMTk5LDkgQEAgdm9pZCBNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI6Om11dGVDaGFuZ2VkVGltZXJGaXJlZChUaW1lcjxNZWRpYVBs
YXllclByaXZhdGUKIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om11dGVDaGFu
Z2VkKCkKIHsKLSAgICBUaW1lcjxNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI+IG11dGVDaGFu
Z2VkVGltZXIodGhpcywgJk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bXV0ZUNoYW5nZWRU
aW1lckZpcmVkKTsKLSAgICBtdXRlQ2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKKyAgICBp
ZiAobV9tdXRlVGltZXJIYW5kbGVyKQorICAgICAgICBnX3NvdXJjZV9yZW1vdmUobV9tdXRlVGlt
ZXJIYW5kbGVyKTsKKyAgICBtX211dGVUaW1lckhhbmRsZXIgPSBnX3RpbWVvdXRfYWRkKDAsIG1l
ZGlhUGxheWVyUHJpdmF0ZU11dGVDaGFuZ2VUaW1lb3V0Q2FsbGJhY2ssIHRoaXMpOwogfQogCiB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bG9hZGluZ0ZhaWxlZChNZWRpYVBsYXll
cjo6TmV0d29ya1N0YXRlIGVycm9yKQpAQCAtMTQwMSw2ICsxNDM0LDggQEAgdm9pZCBNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZUdTVFBsYXlCaW4oKQogICAgIGdfc2lnbmFsX2Nv
bm5lY3QoYnVzLCAibWVzc2FnZSIsIEdfQ0FMTEJBQ0sobWVkaWFQbGF5ZXJQcml2YXRlTWVzc2Fn
ZUNhbGxiYWNrKSwgdGhpcyk7CiAgICAgZ3N0X29iamVjdF91bnJlZihidXMpOwogCisgICAgZ19v
YmplY3Rfc2V0KG1fcGxheUJpbiwgIm11dGUiLCBtX3BsYXllci0+bXV0ZWQoKSwgInZvbHVtZSIs
IG1fcGxheWVyLT52b2x1bWUoKSwgTlVMTCk7CisKICAgICBnX3NpZ25hbF9jb25uZWN0KG1fcGxh
eUJpbiwgIm5vdGlmeTo6dm9sdW1lIiwgR19DQUxMQkFDSyhtZWRpYVBsYXllclByaXZhdGVWb2x1
bWVDaGFuZ2VkQ2FsbGJhY2spLCB0aGlzKTsKICAgICBnX3NpZ25hbF9jb25uZWN0KG1fcGxheUJp
biwgIm5vdGlmeTo6c291cmNlIiwgR19DQUxMQkFDSyhtZWRpYVBsYXllclByaXZhdGVTb3VyY2VD
aGFuZ2VkQ2FsbGJhY2spLCB0aGlzKTsKICAgICBnX3NpZ25hbF9jb25uZWN0KG1fcGxheUJpbiwg
Im5vdGlmeTo6bXV0ZSIsIEdfQ0FMTEJBQ0sobWVkaWFQbGF5ZXJQcml2YXRlTXV0ZUNoYW5nZWRD
YWxsYmFjayksIHRoaXMpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmggYi9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAppbmRleCA4
MDBjYTZkLi5lNzA3YzUwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaApAQCAt
NDgsNiArNDgsOCBAQCBnYm9vbGVhbiBtZWRpYVBsYXllclByaXZhdGVNZXNzYWdlQ2FsbGJhY2so
R3N0QnVzKiBidXMsIEdzdE1lc3NhZ2UqIG1lc3NhZ2UsIGdwbwogdm9pZCBtZWRpYVBsYXllclBy
aXZhdGVWb2x1bWVDaGFuZ2VkQ2FsbGJhY2soR09iamVjdCogZWxlbWVudCwgR1BhcmFtU3BlYyog
cHNwZWMsIGdwb2ludGVyIGRhdGEpOwogdm9pZCBtZWRpYVBsYXllclByaXZhdGVNdXRlQ2hhbmdl
ZENhbGxiYWNrKEdPYmplY3QqIGVsZW1lbnQsIEdQYXJhbVNwZWMqIHBzcGVjLCBncG9pbnRlciBk
YXRhKTsKIHZvaWQgbWVkaWFQbGF5ZXJQcml2YXRlU291cmNlQ2hhbmdlZENhbGxiYWNrKEdPYmpl
Y3QqIGVsZW1lbnQsIEdQYXJhbVNwZWMqIHBzcGVjLCBncG9pbnRlciBkYXRhKTsKK2dib29sZWFu
IG1lZGlhUGxheWVyUHJpdmF0ZVZvbHVtZUNoYW5nZVRpbWVvdXRDYWxsYmFjayhncG9pbnRlciBk
YXRhKTsKK2dib29sZWFuIG1lZGlhUGxheWVyUHJpdmF0ZU11dGVDaGFuZ2VUaW1lb3V0Q2FsbGJh
Y2soZ3BvaW50ZXIgZGF0YSk7CiAKIGNsYXNzIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lciA6
IHB1YmxpYyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UgewogICAgICAgICBmcmllbmQgZ2Jv
b2xlYW4gbWVkaWFQbGF5ZXJQcml2YXRlTWVzc2FnZUNhbGxiYWNrKEdzdEJ1cyogYnVzLCBHc3RN
ZXNzYWdlKiBtZXNzYWdlLCBncG9pbnRlciBkYXRhKTsKQEAgLTgxLDEyICs4MywxMiBAQCBjbGFz
cyBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIgOiBwdWJsaWMgTWVkaWFQbGF5ZXJQcml2YXRl
SW50ZXJmYWNlIHsKIAogICAgICAgICAgICAgdm9pZCBzZXRWb2x1bWUoZmxvYXQpOwogICAgICAg
ICAgICAgdm9pZCB2b2x1bWVDaGFuZ2VkKCk7Ci0gICAgICAgICAgICB2b2lkIHZvbHVtZUNoYW5n
ZWRUaW1lckZpcmVkKFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4qKTsKKyAgICAg
ICAgICAgIHZvaWQgbm90aWZ5Vm9sdW1lVG9QbGF5ZXIoKTsKIAogICAgICAgICAgICAgYm9vbCBz
dXBwb3J0c011dGluZygpIGNvbnN0OwogICAgICAgICAgICAgdm9pZCBzZXRNdXRlZChib29sKTsK
ICAgICAgICAgICAgIHZvaWQgbXV0ZUNoYW5nZWQoKTsKLSAgICAgICAgICAgIHZvaWQgbXV0ZUNo
YW5nZWRUaW1lckZpcmVkKFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4qKTsKKyAg
ICAgICAgICAgIHZvaWQgbm90aWZ5TXV0ZVRvUGxheWVyKCk7CiAKICAgICAgICAgICAgIHZvaWQg
c2V0UHJlbG9hZChNZWRpYVBsYXllcjo6UHJlbG9hZCk7CiAgICAgICAgICAgICB2b2lkIGZpbGxU
aW1lckZpcmVkKFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4qKTsKQEAgLTE3Niw2
ICsxNzgsOCBAQCBjbGFzcyBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIgOiBwdWJsaWMgTWVk
aWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNlIHsKICAgICAgICAgICAgIGJvb2wgbV9kZWxheWluZ0xv
YWQ7CiAgICAgICAgICAgICBib29sIG1fbWVkaWFEdXJhdGlvbktub3duOwogICAgICAgICAgICAg
UmVmUHRyPEdTdHJlYW1lckdXb3JsZD4gbV9nc3RHV29ybGQ7CisgICAgICAgICAgICBndWludCBt
X3ZvbHVtZVRpbWVySGFuZGxlcjsKKyAgICAgICAgICAgIGd1aW50IG1fbXV0ZVRpbWVySGFuZGxl
cjsKICAgICB9OwogfQogCi0tIAoxLjcuMi4z
</data>
<flag name="review"
          id="65861"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75259</attachid>
            <date>2010-12-01 00:08:09 -0800</date>
            <delta_ts>2010-12-01 02:13:57 -0800</delta_ts>
            <desc>updated patch</desc>
            <filename>updated-patch.patch</filename>
            <type>text/plain</type>
            <size>9181</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSBmNDc3MGRmN2RhYTc4NTI3NWIxODBmMzQxNTY1OWNhZTI0ZGNhMjI0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBUdWUsIDMwIE5vdiAyMDEwIDExOjUxOjE2ICswMTAwClN1YmplY3Q6IFtQQVRDSF0g
dXBkYXRlZCBwYXRjaAoKLS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAgMjggKysrKysrKysrKysrCiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL01lZGlhUGxheWVyLmNwcCAgICAgICAgICB8ICAgIDEgKwogLi4uL2dzdHJlYW1lci9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwICAgICAgfCAgIDQ3ICsrKysrKysrKysrKysrKysr
LS0tCiAuLi4vZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oICAgICAgICB8
ICAgIDkgKysrLQogNCBmaWxlcyBjaGFuZ2VkLCA3NyBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9u
cygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggMGM5MTJiMC4uODA2NDcyNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxMC0xMS0yOSAgUGhpbGlw
cGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVm9sdW1lIGNvbnRyb2wgbm90IGNvcnJlY3RseSBp
bml0aWFsaXplZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MzYyOTkKKworICAgICAgICBSZXBsYWNlZCB0aGUgbXV0ZS92b2x1bWUgVGltZXJzIHdpdGgg
Z190aW1lb3V0cyB3aGljaCBhcmUgKGZvcgorICAgICAgICBub3csIGF0IGxlYXN0KSBtb3JlIHJl
bGlhYmxlIHRoYW4gVGltZXJzIGZvciBvbmUtc2hvdC1maXJlLW5vdworICAgICAgICBhY3Rpb25z
LgorCisgICAgICAgIFRlc3Q6IG1lZGlhL3ZpZGVvLXZvbHVtZS5odG1sCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YVBsYXllcjo6fk1lZGlhUGxheWVyKTogUmVzZXQgdGhlIHJhdyBwb2ludGVycyB0byAwCisgICAg
ICAgIHdoZW4gZGVzdHJ1Y3RpbmcgdGhlIHBsYXllci4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Om1lZGlhUGxheWVyUHJpdmF0ZVZvbHVtZUNoYW5nZVRpbWVvdXRDYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjptZWRpYVBsYXllclByaXZhdGVNdXRlQ2hhbmdlVGltZW91dENh
bGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6
fk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI6Om5vdGlmeVBsYXllck9mVm9sdW1lQ2hhbmdlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dm9sdW1lQ2hhbmdlZCk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om5vdGlmeVBs
YXllck9mTXV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXI6Om11dGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6Y3JlYXRlR1NUUGxheUJpbik6IFNldAorICAgICAgICBwbGF5YmluMiB2b2x1bWUv
bXV0ZSBiYXNlIG9uIE1lZGlhUGxheWVyIHJlbGF0ZWQgdmFsdWVzLgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaDoKKwog
MjAxMC0xMS0zMCAgUmVuYXRhIEhvZG92YW4gIDxyZW5pQGluZi51LXN6ZWdlZC5odT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9NZWRpYVBsYXllci5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L01lZGlhUGxheWVyLmNwcAppbmRleCBlODdjNTNjLi41NGI5NDFjIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL01lZGlhUGxheWVyLmNwcApAQCAtMjY4LDYgKzI2OCw3IEBAIE1lZGlhUGxh
eWVyOjpNZWRpYVBsYXllcihNZWRpYVBsYXllckNsaWVudCogY2xpZW50KQogCiBNZWRpYVBsYXll
cjo6fk1lZGlhUGxheWVyKCkKIHsKKyAgICBtX21lZGlhUGxheWVyQ2xpZW50ID0gMDsKIH0KIAog
dm9pZCBNZWRpYVBsYXllcjo6bG9hZChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgQ29udGVudFR5
cGUmIGNvbnRlbnRUeXBlKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5k
ZXggNjk1ZDFmNy4uZWNmMzViZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIu
Y3BwCkBAIC0xNzcsNiArMTc3LDEzIEBAIHZvaWQgbWVkaWFQbGF5ZXJQcml2YXRlVm9sdW1lQ2hh
bmdlZENhbGxiYWNrKEdPYmplY3QgKmVsZW1lbnQsIEdQYXJhbVNwZWMgKnBzcGVjCiAgICAgbXAt
PnZvbHVtZUNoYW5nZWQoKTsKIH0KIAorZ2Jvb2xlYW4gbWVkaWFQbGF5ZXJQcml2YXRlVm9sdW1l
Q2hhbmdlVGltZW91dENhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lciogcGxheWVy
KQoreworICAgIC8vIFRoaXMgaXMgdGhlIGNhbGxiYWNrIG9mIHRoZSB0aW1lb3V0IHNvdXJjZSBj
cmVhdGVkIGluIDo6dm9sdW1lQ2hhbmdlZC4KKyAgICBwbGF5ZXItPm5vdGlmeVBsYXllck9mVm9s
dW1lQ2hhbmdlKCk7CisgICAgcmV0dXJuIEZBTFNFOworfQorCiB2b2lkIG1lZGlhUGxheWVyUHJp
dmF0ZU11dGVDaGFuZ2VkQ2FsbGJhY2soR09iamVjdCAqZWxlbWVudCwgR1BhcmFtU3BlYyAqcHNw
ZWMsIGdwb2ludGVyIGRhdGEpCiB7CiAgICAgLy8gVGhpcyBpcyBjYWxsZWQgd2hlbiBwbGF5Ymlu
IHJlY2VpdmVzIHRoZSBub3RpZnk6Om11dGUgc2lnbmFsLgpAQCAtMTg0LDYgKzE5MSwxMyBAQCB2
b2lkIG1lZGlhUGxheWVyUHJpdmF0ZU11dGVDaGFuZ2VkQ2FsbGJhY2soR09iamVjdCAqZWxlbWVu
dCwgR1BhcmFtU3BlYyAqcHNwZWMsCiAgICAgbXAtPm11dGVDaGFuZ2VkKCk7CiB9CiAKK2dib29s
ZWFuIG1lZGlhUGxheWVyUHJpdmF0ZU11dGVDaGFuZ2VUaW1lb3V0Q2FsbGJhY2soTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyKiBwbGF5ZXIpCit7CisgICAgLy8gVGhpcyBpcyB0aGUgY2FsbGJh
Y2sgb2YgdGhlIHRpbWVvdXQgc291cmNlIGNyZWF0ZWQgaW4gOjptdXRlQ2hhbmdlZC4KKyAgICBw
bGF5ZXItPm5vdGlmeVBsYXllck9mTXV0ZSgpOworICAgIHJldHVybiBGQUxTRTsKK30KKwogc3Rh
dGljIGZsb2F0IHBsYXliYWNrUG9zaXRpb24oR3N0RWxlbWVudCogcGxheWJpbikKIHsKIApAQCAt
MzI3LDggKzM0MSwxOCBAQCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6On5NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXIoKQogICAgIGlmIChtX3BsYXlCaW4pIHsKICAgICAgICAgZ3N0X2Vs
ZW1lbnRfc2V0X3N0YXRlKG1fcGxheUJpbiwgR1NUX1NUQVRFX05VTEwpOwogICAgICAgICBnc3Rf
b2JqZWN0X3VucmVmKEdTVF9PQkpFQ1QobV9wbGF5QmluKSk7CisgICAgICAgIG1fcGxheUJpbiA9
IDA7CiAgICAgfQogCisgICAgbV9wbGF5ZXIgPSAwOworCisgICAgaWYgKG1fbXV0ZVRpbWVySGFu
ZGxlcikKKyAgICAgICAgZ19zb3VyY2VfcmVtb3ZlKG1fbXV0ZVRpbWVySGFuZGxlcik7CisgICAg
bV9tdXRlVGltZXJIYW5kbGVyID0gMDsKKworICAgIGlmIChtX3ZvbHVtZVRpbWVySGFuZGxlcikK
KyAgICAgICAgZ19zb3VyY2VfcmVtb3ZlKG1fdm9sdW1lVGltZXJIYW5kbGVyKTsKKyAgICBtX3Zv
bHVtZVRpbWVySGFuZGxlciA9IDA7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjpsb2FkKGNvbnN0IFN0cmluZyYgdXJsKQpAQCAtNTg0LDE3ICs2MDgsMjEgQEAgdm9pZCBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnNldFZvbHVtZShmbG9hdCB2b2x1bWUpCiAgICAg
Z19vYmplY3Rfc2V0KG1fcGxheUJpbiwgInZvbHVtZSIsIHN0YXRpY19jYXN0PGRvdWJsZT4odm9s
dW1lKSwgTlVMTCk7CiB9CiAKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp2b2x1
bWVDaGFuZ2VkVGltZXJGaXJlZChUaW1lcjxNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI+KikK
K3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpub3RpZnlQbGF5ZXJPZlZvbHVtZUNo
YW5nZSgpCiB7CisgICAgaWYgKCFtX3BsYXllciB8fCAhbV9wbGF5QmluKQorICAgICAgICByZXR1
cm47CiAgICAgZG91YmxlIHZvbHVtZTsKICAgICBnX29iamVjdF9nZXQobV9wbGF5QmluLCAidm9s
dW1lIiwgJnZvbHVtZSwgTlVMTCk7CiAgICAgbV9wbGF5ZXItPnZvbHVtZUNoYW5nZWQoc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KHZvbHVtZSkpOworICAgIG1fdm9sdW1lVGltZXJIYW5kbGVyID0gMDsKIH0K
IAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnZvbHVtZUNoYW5nZWQoKQogewot
ICAgIFRpbWVyPE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4gdm9sdW1lQ2hhbmdlZFRpbWVy
KHRoaXMsICZNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnZvbHVtZUNoYW5nZWRUaW1lckZp
cmVkKTsKLSAgICB2b2x1bWVDaGFuZ2VkVGltZXIuc3RhcnRPbmVTaG90KDApOworICAgIGlmICht
X3ZvbHVtZVRpbWVySGFuZGxlcikKKyAgICAgICAgZ19zb3VyY2VfcmVtb3ZlKG1fdm9sdW1lVGlt
ZXJIYW5kbGVyKTsKKyAgICBtX3ZvbHVtZVRpbWVySGFuZGxlciA9IGdfdGltZW91dF9hZGQoMCwg
cmVpbnRlcnByZXRfY2FzdDxHU291cmNlRnVuYz4obWVkaWFQbGF5ZXJQcml2YXRlVm9sdW1lQ2hh
bmdlVGltZW91dENhbGxiYWNrKSwgdGhpcyk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyOjpzZXRSYXRlKGZsb2F0IHJhdGUpCkBAIC0xMTU4LDE3ICsxMTg2LDIyIEBAIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpzZXRNdXRlZChib29sIG11dGVkKQogICAg
IGdfb2JqZWN0X3NldChtX3BsYXlCaW4sICJtdXRlIiwgbXV0ZWQsIE5VTEwpOwogfQogCi12b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bXV0ZUNoYW5nZWRUaW1lckZpcmVkKFRpbWVy
PE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcj4qKQordm9pZCBNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI6Om5vdGlmeVBsYXllck9mTXV0ZSgpCiB7CisgICAgaWYgKCFtX3BsYXllciB8fCAh
bV9wbGF5QmluKQorICAgICAgICByZXR1cm47CisKICAgICBnYm9vbGVhbiBtdXRlZDsKICAgICBn
X29iamVjdF9nZXQobV9wbGF5QmluLCAibXV0ZSIsICZtdXRlZCwgTlVMTCk7CiAgICAgbV9wbGF5
ZXItPm11dGVDaGFuZ2VkKHN0YXRpY19jYXN0PGJvb2w+KG11dGVkKSk7CisgICAgbV9tdXRlVGlt
ZXJIYW5kbGVyID0gMDsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om11
dGVDaGFuZ2VkKCkKIHsKLSAgICBUaW1lcjxNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI+IG11
dGVDaGFuZ2VkVGltZXIodGhpcywgJk1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bXV0ZUNo
YW5nZWRUaW1lckZpcmVkKTsKLSAgICBtdXRlQ2hhbmdlZFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsK
KyAgICBpZiAobV9tdXRlVGltZXJIYW5kbGVyKQorICAgICAgICBnX3NvdXJjZV9yZW1vdmUobV9t
dXRlVGltZXJIYW5kbGVyKTsKKyAgICBtX211dGVUaW1lckhhbmRsZXIgPSBnX3RpbWVvdXRfYWRk
KDAsIHJlaW50ZXJwcmV0X2Nhc3Q8R1NvdXJjZUZ1bmM+KG1lZGlhUGxheWVyUHJpdmF0ZU11dGVD
aGFuZ2VUaW1lb3V0Q2FsbGJhY2spLCB0aGlzKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXI6OmxvYWRpbmdGYWlsZWQoTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZSBlcnJv
cikKQEAgLTE0MDEsNiArMTQzNCw4IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
OjpjcmVhdGVHU1RQbGF5QmluKCkKICAgICBnX3NpZ25hbF9jb25uZWN0KGJ1cywgIm1lc3NhZ2Ui
LCBHX0NBTExCQUNLKG1lZGlhUGxheWVyUHJpdmF0ZU1lc3NhZ2VDYWxsYmFjayksIHRoaXMpOwog
ICAgIGdzdF9vYmplY3RfdW5yZWYoYnVzKTsKIAorICAgIGdfb2JqZWN0X3NldChtX3BsYXlCaW4s
ICJtdXRlIiwgbV9wbGF5ZXItPm11dGVkKCksICJ2b2x1bWUiLCBtX3BsYXllci0+dm9sdW1lKCks
IE5VTEwpOworCiAgICAgZ19zaWduYWxfY29ubmVjdChtX3BsYXlCaW4sICJub3RpZnk6OnZvbHVt
ZSIsIEdfQ0FMTEJBQ0sobWVkaWFQbGF5ZXJQcml2YXRlVm9sdW1lQ2hhbmdlZENhbGxiYWNrKSwg
dGhpcyk7CiAgICAgZ19zaWduYWxfY29ubmVjdChtX3BsYXlCaW4sICJub3RpZnk6OnNvdXJjZSIs
IEdfQ0FMTEJBQ0sobWVkaWFQbGF5ZXJQcml2YXRlU291cmNlQ2hhbmdlZENhbGxiYWNrKSwgdGhp
cyk7CiAgICAgZ19zaWduYWxfY29ubmVjdChtX3BsYXlCaW4sICJub3RpZnk6Om11dGUiLCBHX0NB
TExCQUNLKG1lZGlhUGxheWVyUHJpdmF0ZU11dGVDaGFuZ2VkQ2FsbGJhY2spLCB0aGlzKTsKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKaW5kZXggODAwY2E2ZC4uMjMwOTVlYyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKQEAgLTQzLDExICs0MywxNCBAQCBjbGFz
cyBHcmFwaGljc0NvbnRleHQ7CiBjbGFzcyBJbnRTaXplOwogY2xhc3MgSW50UmVjdDsKIGNsYXNz
IEdTdHJlYW1lckdXb3JsZDsKK2NsYXNzIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjsKIAog
Z2Jvb2xlYW4gbWVkaWFQbGF5ZXJQcml2YXRlTWVzc2FnZUNhbGxiYWNrKEdzdEJ1cyogYnVzLCBH
c3RNZXNzYWdlKiBtZXNzYWdlLCBncG9pbnRlciBkYXRhKTsKIHZvaWQgbWVkaWFQbGF5ZXJQcml2
YXRlVm9sdW1lQ2hhbmdlZENhbGxiYWNrKEdPYmplY3QqIGVsZW1lbnQsIEdQYXJhbVNwZWMqIHBz
cGVjLCBncG9pbnRlciBkYXRhKTsKIHZvaWQgbWVkaWFQbGF5ZXJQcml2YXRlTXV0ZUNoYW5nZWRD
YWxsYmFjayhHT2JqZWN0KiBlbGVtZW50LCBHUGFyYW1TcGVjKiBwc3BlYywgZ3BvaW50ZXIgZGF0
YSk7CiB2b2lkIG1lZGlhUGxheWVyUHJpdmF0ZVNvdXJjZUNoYW5nZWRDYWxsYmFjayhHT2JqZWN0
KiBlbGVtZW50LCBHUGFyYW1TcGVjKiBwc3BlYywgZ3BvaW50ZXIgZGF0YSk7CitnYm9vbGVhbiBt
ZWRpYVBsYXllclByaXZhdGVWb2x1bWVDaGFuZ2VUaW1lb3V0Q2FsbGJhY2soTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyKik7CitnYm9vbGVhbiBtZWRpYVBsYXllclByaXZhdGVNdXRlQ2hhbmdl
VGltZW91dENhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lciopOwogCiBjbGFzcyBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIgOiBwdWJsaWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50
ZXJmYWNlIHsKICAgICAgICAgZnJpZW5kIGdib29sZWFuIG1lZGlhUGxheWVyUHJpdmF0ZU1lc3Nh
Z2VDYWxsYmFjayhHc3RCdXMqIGJ1cywgR3N0TWVzc2FnZSogbWVzc2FnZSwgZ3BvaW50ZXIgZGF0
YSk7CkBAIC04MSwxMiArODQsMTIgQEAgY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
IDogcHVibGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSB7CiAKICAgICAgICAgICAgIHZv
aWQgc2V0Vm9sdW1lKGZsb2F0KTsKICAgICAgICAgICAgIHZvaWQgdm9sdW1lQ2hhbmdlZCgpOwot
ICAgICAgICAgICAgdm9pZCB2b2x1bWVDaGFuZ2VkVGltZXJGaXJlZChUaW1lcjxNZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXI+Kik7CisgICAgICAgICAgICB2b2lkIG5vdGlmeVBsYXllck9mVm9s
dW1lQ2hhbmdlKCk7CiAKICAgICAgICAgICAgIGJvb2wgc3VwcG9ydHNNdXRpbmcoKSBjb25zdDsK
ICAgICAgICAgICAgIHZvaWQgc2V0TXV0ZWQoYm9vbCk7CiAgICAgICAgICAgICB2b2lkIG11dGVD
aGFuZ2VkKCk7Ci0gICAgICAgICAgICB2b2lkIG11dGVDaGFuZ2VkVGltZXJGaXJlZChUaW1lcjxN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI+Kik7CisgICAgICAgICAgICB2b2lkIG5vdGlmeVBs
YXllck9mTXV0ZSgpOwogCiAgICAgICAgICAgICB2b2lkIHNldFByZWxvYWQoTWVkaWFQbGF5ZXI6
OlByZWxvYWQpOwogICAgICAgICAgICAgdm9pZCBmaWxsVGltZXJGaXJlZChUaW1lcjxNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI+Kik7CkBAIC0xNzYsNiArMTc5LDggQEAgY2xhc3MgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyIDogcHVibGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFj
ZSB7CiAgICAgICAgICAgICBib29sIG1fZGVsYXlpbmdMb2FkOwogICAgICAgICAgICAgYm9vbCBt
X21lZGlhRHVyYXRpb25Lbm93bjsKICAgICAgICAgICAgIFJlZlB0cjxHU3RyZWFtZXJHV29ybGQ+
IG1fZ3N0R1dvcmxkOworICAgICAgICAgICAgZ3VpbnQgbV92b2x1bWVUaW1lckhhbmRsZXI7Cisg
ICAgICAgICAgICBndWludCBtX211dGVUaW1lckhhbmRsZXI7CiAgICAgfTsKIH0KIAotLSAKMS43
LjIuMw==
</data>
<flag name="review"
          id="66032"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>