<?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>78938</bug_id>
          
          <creation_ts>2012-02-17 15:10:18 -0800</creation_ts>
          <short_desc>Have ScrollAnimatorNone use requestAnimationFrame</short_desc>
          <delta_ts>2012-03-08 11:37:53 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Scott Byer">scottbyer</reporter>
          <assigned_to name="Scott Byer">scottbyer</assigned_to>
          <cc>jamesr</cc>
    
    <cc>nduca</cc>
    
    <cc>rjkroege</cc>
    
    <cc>scottbyer</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>wjmaclean</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>559570</commentid>
    <comment_count>0</comment_count>
    <who name="Scott Byer">scottbyer</who>
    <bug_when>2012-02-17 15:10:18 -0800</bug_when>
    <thetext>Have ScrollAnimatorNone use requestAnimationFrame</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569035</commentid>
    <comment_count>1</comment_count>
      <attachid>129768</attachid>
    <who name="Scott Byer">scottbyer</who>
    <bug_when>2012-03-01 16:23:17 -0800</bug_when>
    <thetext>Created attachment 129768
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569042</commentid>
    <comment_count>2</comment_count>
    <who name="Scott Byer">scottbyer</who>
    <bug_when>2012-03-01 16:28:34 -0800</bug_when>
    <thetext>James, any thoughts on this? I&apos;m still trying to collect various traces to be sure this isn&apos;t messing things up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569050</commentid>
    <comment_count>3</comment_count>
      <attachid>129768</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-03-01 16:33:09 -0800</bug_when>
    <thetext>Comment on attachment 129768
Patch

Ooo, nice! Suggestion: instead of a HostWindow getter on ScrollableArea, what about a virtual func to request a serviceScrollAnimations() call that the subclasses can implement?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569062</commentid>
    <comment_count>4</comment_count>
    <who name="Scott Byer">scottbyer</who>
    <bug_when>2012-03-01 16:48:14 -0800</bug_when>
    <thetext>You mean a scheduleAnimation() call? I&apos;m also realizing I didn&apos;t bury these changes under ENABLE(REQUEST_ANIMATION_FRAME), so they look cleaner than they should be ;-).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569072</commentid>
    <comment_count>5</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-03-01 16:55:22 -0800</bug_when>
    <thetext>Yeah, exactly. Theoretically ScrollableAreas that don&apos;t have HostWindows could implement this with whatever mechanism they want.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572308</commentid>
    <comment_count>6</comment_count>
      <attachid>130481</attachid>
    <who name="Scott Byer">scottbyer</who>
    <bug_when>2012-03-06 17:16:47 -0800</bug_when>
    <thetext>Created attachment 130481
Remove HostWindows, virtualize scheduleAnimation instead, handle non-rAF compile case

This version of the patch is ready for review, but I&apos;m still checking traces, and it might conflict with 79827, checking...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>572430</commentid>
    <comment_count>7</comment_count>
      <attachid>130481</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-03-06 18:43:38 -0800</bug_when>
    <thetext>Comment on attachment 130481
Remove HostWindows, virtualize scheduleAnimation instead, handle non-rAF compile case

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

Are there any platforms that actually compile in ScrollAnimatorNone.cpp and do not set ENABLE(REQUEST_ANIMATION_FRAME)? if not, then all of these guards in the middle of the file are not useful

&gt; Source/WebCore/platform/ScrollAnimatorNone.cpp:493
&gt; +#if ENABLE(REQUEST_ANIMATION_FRAME)
&gt; +void ScrollAnimatorNone::animationTimerFired()
&gt; +#else
&gt;  void ScrollAnimatorNone::animationTimerFired(Timer&lt;ScrollAnimatorNone&gt;* timer)
&gt; +#endif

i think this could be refactored to be a lot less if-deffy. For instance, you could factor all of the calculation code into a function that takes a timestamp as a parameter and move the schedule-a-new-tick outside of it.

&gt; Source/WebCore/platform/ScrollableArea.h:159
&gt; +#if ENABLE(REQUEST_ANIMATION_FRAME)

the #ifdef and runtime guards seem redundant. if a platform doesn&apos;t set ENABLE(REQUEST_ANIMATION_FRAME) they can just return false from this function and everything should Just Work (TM)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573156</commentid>
    <comment_count>8</comment_count>
      <attachid>130676</attachid>
    <who name="Scott Byer">scottbyer</who>
    <bug_when>2012-03-07 13:13:18 -0800</bug_when>
    <thetext>Created attachment 130676
Clean out compiler conditionals</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573328</commentid>
    <comment_count>9</comment_count>
      <attachid>130676</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-03-07 15:56:55 -0800</bug_when>
    <thetext>Comment on attachment 130676
Clean out compiler conditionals

This looks good. Are you just waiting for EWS results before landing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573335</commentid>
    <comment_count>10</comment_count>
    <who name="Scott Byer">scottbyer</who>
    <bug_when>2012-03-07 16:01:25 -0800</bug_when>
    <thetext>I wanted to get in some manual testing on it tomorrow - I think it should be fine, but I want to double-check before marking it c?.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573362</commentid>
    <comment_count>11</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-03-07 16:47:17 -0800</bug_when>
    <thetext>Sounds good, set cq? whenever you are comfortable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>573968</commentid>
    <comment_count>12</comment_count>
      <attachid>130676</attachid>
    <who name="Scott Byer">scottbyer</who>
    <bug_when>2012-03-08 11:08:27 -0800</bug_when>
    <thetext>Comment on attachment 130676
Clean out compiler conditionals

Ok, the traces look good, it&apos;s good to go.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574013</commentid>
    <comment_count>13</comment_count>
      <attachid>130676</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-08 11:37:49 -0800</bug_when>
    <thetext>Comment on attachment 130676
Clean out compiler conditionals

Clearing flags on attachment: 130676

Committed r110185: &lt;http://trac.webkit.org/changeset/110185&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>574014</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-08 11:37:53 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129768</attachid>
            <date>2012-03-01 16:23:17 -0800</date>
            <delta_ts>2012-03-06 17:16:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78938-20120301162316.patch</filename>
            <type>text/plain</type>
            <size>13567</size>
            <attacher name="Scott Byer">scottbyer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5NDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMThjM2FjZDc1NmY5NjZh
MjNmZTM0YTJlM2FjNmZlMWRmZWE1NTFkNS4uOTdmOGIwYzVhZmE3MjcxYjUzZjdhZDEyMjNmN2M4
OTlhY2YzNzdmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTAyLTE3ICBTY290
dCBCeWVyICA8c2NvdHRieWVyQGNocm9taXVtLm9yZz4KKworICAgICAgICBIYXZlIFNjcm9sbEFu
aW1hdG9yTm9uZSB1c2UgcmVxdWVzdEFuaW1hdGlvbkZyYW1lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODkzOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gUGFzc2VzIENocm9taXVt
IHdlYmtpdF91bml0X3Rlc3RzLgorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzZXJ2aWNlU2NyaXB0ZWRBbmltYXRpb25zKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsQW5pbWF0b3I6OnNlcnZpY2VTY3JvbGxBbmltYXRpb25zKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9TY3JvbGxBbmltYXRvck5vbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0
b3JOb25lOjpTY3JvbGxBbmltYXRvck5vbmUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5p
bWF0b3JOb25lOjpzY3JvbGwpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JOb25l
OjpjYW5jZWxBbmltYXRpb25zKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsQW5pbWF0b3JOb25lOjpzZXJ2aWNlU2Nyb2xsQW5pbWF0aW9ucyk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck5vbmU6OmFuaW1hdGlvblRpbWVyRmlyZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JOb25lOjpzdGFydE5leHRUaW1lcik6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck5vbmU6OmFuaW1hdGlvblRpbWVyQWN0aXZlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTm9uZTo6c3RvcEFuaW1hdGlvblRpbWVy
SWZOZWVkZWQpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5oOgorICAg
ICAgICAoU2Nyb2xsQW5pbWF0b3JOb25lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxl
QXJlYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6c2VydmljZVNjcm9s
bEFuaW1hdGlvbnMpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vU2Ny
b2xsYWJsZUFyZWEuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoU2Nyb2xsYWJsZUFy
ZWEpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXI6Omhvc3RXaW5kb3cpOgorICAgICAgICAoUmVuZGVyTGF5ZXIpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMaXN0Qm94Ojpob3N0V2luZG93KToKKyAgICAgICAgKFJlbmRlckxpc3RCb3gpOgorCiAyMDEy
LTAyLTI5ICBOYXQgRHVjYSAgPG5kdWNhQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21p
dW1dIE1vdmUgY29udGV4dCBsb3N0IGNvbnRyb2wgY29kZSBmcm9tIENDU2luZ2xlVGhyZWFkUHJv
eHkgdG8gQ0NMYXllclRyZWVIb3N0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDExZDEw
MDBhMzk3ZWFiYzVmZTI5NzEyODc3MDI2MjIxNWJlMmE1YzAuLmU0MWQ4ZDkyYzZiZWMwMjUxN2Q1
N2I0YWRjNzIzNjc5OGYyODA0NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMTItMDItMTcgIFNjb3R0IEJ5ZXIgIDxzY290dGJ5ZXJAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIEhhdmUgU2Nyb2xsQW5pbWF0b3JOb25lIHVzZSByZXF1ZXN0QW5pbWF0aW9u
RnJhbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4
OTM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBz
cmMvU2Nyb2xsYmFyR3JvdXAuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViS2l0
OjpTY3JvbGxiYXJHcm91cDo6aG9zdFdpbmRvdyk6CisgICAgICAgIChTY3JvbGxiYXJHcm91cCk6
CisgICAgICAgICogdGVzdHMvU2Nyb2xsQW5pbWF0b3JOb25lVGVzdC5jcHA6CisgICAgICAgIChN
b2NrU2Nyb2xsYWJsZUFyZWE6Omhvc3RXaW5kb3cpOgorCiAyMDEyLTAyLTI5ICBOYXQgRHVjYSAg
PG5kdWNhQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIE1vdmUgY29udGV4dCBs
b3N0IGNvbnRyb2wgY29kZSBmcm9tIENDU2luZ2xlVGhyZWFkUHJveHkgdG8gQ0NMYXllclRyZWVI
b3N0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggNDJjZjlkNjkzNzNkZWZhNTQ3OTMz
OGZjZDYzYmJmMzViOWM4MzM5MC4uNjFmOTE4ZjE4YWQ3MjczMWM3YWQ1NjJmOTcyNWMzYTY2YTQ3
ODBkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMjEwMyw2ICsyMTAzLDggQEAg
dm9pZCBGcmFtZVZpZXc6OnVuc2NoZWR1bGVSZWxheW91dCgpCiAjaWYgRU5BQkxFKFJFUVVFU1Rf
QU5JTUFUSU9OX0ZSQU1FKQogdm9pZCBGcmFtZVZpZXc6OnNlcnZpY2VTY3JpcHRlZEFuaW1hdGlv
bnMoRE9NVGltZVN0YW1wIHRpbWUpCiB7CisgICAgc2VydmljZVNjcm9sbEFuaW1hdGlvbnMoKTsK
KwogICAgIFZlY3RvcjxBbmltYXRpb25Db250cm9sbGVyKj4gYW5pbWF0aW9uczsKICAgICBmb3Ig
KEZyYW1lKiBmcmFtZSA9IG1fZnJhbWUuZ2V0KCk7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVl
KCktPnRyYXZlcnNlTmV4dCgpKQogICAgICAgICBmcmFtZS0+YW5pbWF0aW9uKCktPnNlcnZpY2VB
bmltYXRpb25zKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxB
bmltYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaAppbmRl
eCA5MTQxM2U4NTg4MWJiYzBkMWU0N2ExM2FlMTQwYThmODFlMTEzYmRiLi4wOTk4MTBjZWY1NzFi
NWY0MDAwYTFjZjQxNzQ4OWJhOWJiNzQxOWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbEFuaW1hdG9yLmgKQEAgLTczLDYgKzczLDcgQEAgcHVibGljOgogICAgIEZsb2F0UG9pbnQg
Y3VycmVudFBvc2l0aW9uKCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsQW5pbWF0
aW9ucygpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBzZXJ2aWNlU2Nyb2xsQW5pbWF0aW9ucygpIHsg
fQogCiAgICAgdmlydHVhbCB2b2lkIGNvbnRlbnRBcmVhV2lsbFBhaW50KCkgY29uc3QgeyB9CiAg
ICAgdmlydHVhbCB2b2lkIG1vdXNlRW50ZXJlZENvbnRlbnRBcmVhKCkgY29uc3QgeyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmNwcAppbmRleCAwODNh
MThhNzAxYWZmMTU2YTJhNmJhNzllODQwODc2MjE4Njk4ZDcyLi40MzU3N2U2ZjhmYTMyOWJjYTlj
MDlmNjA4ZjNiODlmM2I0ZmE4ZTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxBbmltYXRvck5vbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbEFuaW1hdG9yTm9uZS5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJTY3JvbGxB
bmltYXRvck5vbmUuaCIKIAogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKKyNpbmNsdWRlICJIb3N0
V2luZG93LmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJPd25BcnJh
eVB0ci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtR2VzdHVyZUV2ZW50LmgiCkBAIC0zNzUsNyArMzc2
LDcgQEAgU2Nyb2xsQW5pbWF0b3JOb25lOjpTY3JvbGxBbmltYXRvck5vbmUoU2Nyb2xsYWJsZUFy
ZWEqIHNjcm9sbGFibGVBcmVhKQogICAgIDogU2Nyb2xsQW5pbWF0b3Ioc2Nyb2xsYWJsZUFyZWEp
CiAgICAgLCBtX2hvcml6b250YWxEYXRhKHRoaXMsICZtX2N1cnJlbnRQb3NYLCBzY3JvbGxhYmxl
QXJlYS0+dmlzaWJsZVdpZHRoKCkpCiAgICAgLCBtX3ZlcnRpY2FsRGF0YSh0aGlzLCAmbV9jdXJy
ZW50UG9zWSwgc2Nyb2xsYWJsZUFyZWEtPnZpc2libGVIZWlnaHQoKSkKLSAgICAsIG1fYW5pbWF0
aW9uVGltZXIodGhpcywgJlNjcm9sbEFuaW1hdG9yTm9uZTo6YW5pbWF0aW9uVGltZXJGaXJlZCkK
KyAgICAsIG1fYW5pbWF0aW9uQWN0aXZlKGZhbHNlKQogewogfQogCkBAIC00MjIsOSArNDIzLDkg
QEAgYm9vbCBTY3JvbGxBbmltYXRvck5vbmU6OnNjcm9sbChTY3JvbGxiYXJPcmllbnRhdGlvbiBv
cmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVsYXIKIAogICAgIFBlckF4aXNEYXRhJiBkYXRhID0gKG9y
aWVudGF0aW9uID09IFZlcnRpY2FsU2Nyb2xsYmFyKSA/IG1fdmVydGljYWxEYXRhIDogbV9ob3Jp
em9udGFsRGF0YTsKICAgICBib29sIG5lZWRUb1Njcm9sbCA9IGRhdGEudXBkYXRlRGF0YUZyb21Q
YXJhbWV0ZXJzKHN0ZXAsIG11bHRpcGxpZXIsIHNjcm9sbGFibGVTaXplLCBXVEY6Om1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nVGltZSgpLCAmcGFyYW1ldGVycyk7Ci0gICAgaWYgKG5lZWRUb1Njcm9s
bCAmJiAhbV9hbmltYXRpb25UaW1lci5pc0FjdGl2ZSgpKSB7CisgICAgaWYgKG5lZWRUb1Njcm9s
bCAmJiAhYW5pbWF0aW9uVGltZXJBY3RpdmUoKSkgewogICAgICAgICBtX3N0YXJ0VGltZSA9IGRh
dGEubV9zdGFydFRpbWU7Ci0gICAgICAgIGFuaW1hdGlvblRpbWVyRmlyZWQoJm1fYW5pbWF0aW9u
VGltZXIpOworICAgICAgICBhbmltYXRpb25UaW1lckZpcmVkKCk7CiAgICAgfQogICAgIHJldHVy
biBuZWVkVG9TY3JvbGw7CiB9CkBAIC00NDQsNiArNDQ1LDE3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0
b3JOb25lOjpzY3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24oY29uc3QgRmxvYXRQb2ludCYg
b2Zmc2V0CiAgICAgbm90aWZ5UG9zaXRpb25DaGFuZ2VkKCk7CiB9CiAKK3ZvaWQgU2Nyb2xsQW5p
bWF0b3JOb25lOjpjYW5jZWxBbmltYXRpb25zKCkKK3sKKyAgICBtX2FuaW1hdGlvbkFjdGl2ZSA9
IGZhbHNlOworfQorCit2b2lkIFNjcm9sbEFuaW1hdG9yTm9uZTo6c2VydmljZVNjcm9sbEFuaW1h
dGlvbnMoKQoreworICAgIGlmIChtX2FuaW1hdGlvbkFjdGl2ZSkKKyAgICAgICAgYW5pbWF0aW9u
VGltZXJGaXJlZCgpOworfQorCiB2b2lkIFNjcm9sbEFuaW1hdG9yTm9uZTo6d2lsbEVuZExpdmVS
ZXNpemUoKQogewogICAgIHVwZGF0ZVZpc2libGVMZW5ndGhzKCk7CkBAIC00NjUsMjUgKzQ3Nywy
NCBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTm9uZTo6dXBkYXRlVmlzaWJsZUxlbmd0aHMoKQogICAg
IG1fdmVydGljYWxEYXRhLnVwZGF0ZVZpc2libGVMZW5ndGgoc2Nyb2xsYWJsZUFyZWEoKS0+dmlz
aWJsZUhlaWdodCgpKTsKIH0KIAotdm9pZCBTY3JvbGxBbmltYXRvck5vbmU6OmFuaW1hdGlvblRp
bWVyRmlyZWQoVGltZXI8U2Nyb2xsQW5pbWF0b3JOb25lPiogdGltZXIpCit2b2lkIFNjcm9sbEFu
aW1hdG9yTm9uZTo6YW5pbWF0aW9uVGltZXJGaXJlZCgpCiB7CiAjaWYgUExBVEZPUk0oQ0hST01J
VU0pCiAgICAgVFJBQ0VfRVZFTlQoIlNjcm9sbEFuaW1hdG9yTm9uZTo6YW5pbWF0aW9uVGltZXJG
aXJlZCIsIHRoaXMsIDApOwogI2VuZGlmCiAKICAgICBkb3VibGUgY3VycmVudFRpbWUgPSBXVEY6
Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgIGRvdWJsZSBkZWx0YVRvTmV4dEZy
YW1lID0gY2VpbCgoY3VycmVudFRpbWUgLSBtX3N0YXJ0VGltZSkgKiBrRnJhbWVSYXRlKSAvIGtG
cmFtZVJhdGUgLSAoY3VycmVudFRpbWUgLSBtX3N0YXJ0VGltZSk7CiAKICAgICBib29sIGNvbnRp
bnVlQW5pbWF0aW9uID0gZmFsc2U7Ci0gICAgaWYgKG1faG9yaXpvbnRhbERhdGEubV9zdGFydFRp
bWUgJiYgbV9ob3Jpem9udGFsRGF0YS5hbmltYXRlU2Nyb2xsKGN1cnJlbnRUaW1lICsgZGVsdGFU
b05leHRGcmFtZSkpCisgICAgaWYgKG1faG9yaXpvbnRhbERhdGEubV9zdGFydFRpbWUgJiYgbV9o
b3Jpem9udGFsRGF0YS5hbmltYXRlU2Nyb2xsKGN1cnJlbnRUaW1lKSkKICAgICAgICAgY29udGlu
dWVBbmltYXRpb24gPSB0cnVlOwotICAgIGlmIChtX3ZlcnRpY2FsRGF0YS5tX3N0YXJ0VGltZSAm
JiBtX3ZlcnRpY2FsRGF0YS5hbmltYXRlU2Nyb2xsKGN1cnJlbnRUaW1lICsgZGVsdGFUb05leHRG
cmFtZSkpCisgICAgaWYgKG1fdmVydGljYWxEYXRhLm1fc3RhcnRUaW1lICYmIG1fdmVydGljYWxE
YXRhLmFuaW1hdGVTY3JvbGwoY3VycmVudFRpbWUpKQogICAgICAgICBjb250aW51ZUFuaW1hdGlv
biA9IHRydWU7CiAKLSAgICBpZiAoY29udGludWVBbmltYXRpb24pIHsKLSAgICAgICAgZG91Ymxl
IG5leHRUaW1lckludGVydmFsID0gbWF4KGtNaW5pbXVtVGltZXJJbnRlcnZhbCwgZGVsdGFUb05l
eHRGcmFtZSk7Ci0gICAgICAgIHRpbWVyLT5zdGFydE9uZVNob3QobmV4dFRpbWVySW50ZXJ2YWwp
OwotICAgIH0KKyAgICBpZiAoY29udGludWVBbmltYXRpb24pCisgICAgICAgIHN0YXJ0TmV4dFRp
bWVyKCk7CisgICAgZWxzZQorICAgICAgICBtX2FuaW1hdGlvbkFjdGl2ZSA9IGZhbHNlOwogCiAj
aWYgUExBVEZPUk0oQ0hST01JVU0pCiAgICAgVFJBQ0VfRVZFTlQoIlNjcm9sbEFuaW1hdG9yTm9u
ZTo6bm90aWZ5UG9zaXRpb25DaGFuZ2VkIiwgdGhpcywgMCk7CkBAIC00OTEsMTAgKzUwMiwyMyBA
QCB2b2lkIFNjcm9sbEFuaW1hdG9yTm9uZTo6YW5pbWF0aW9uVGltZXJGaXJlZChUaW1lcjxTY3Jv
bGxBbmltYXRvck5vbmU+KiB0aW1lcikKICAgICBub3RpZnlQb3NpdGlvbkNoYW5nZWQoKTsKIH0K
IAordm9pZCBTY3JvbGxBbmltYXRvck5vbmU6OnN0YXJ0TmV4dFRpbWVyKCkKK3sKKyAgICBpZiAo
c2Nyb2xsYWJsZUFyZWEoKS0+aG9zdFdpbmRvdygpKSB7CisgICAgICAgIHNjcm9sbGFibGVBcmVh
KCktPmhvc3RXaW5kb3coKS0+c2NoZWR1bGVBbmltYXRpb24oKTsKKyAgICAgICAgbV9hbmltYXRp
b25BY3RpdmUgPSB0cnVlOworICAgIH0KK30KKworYm9vbCBTY3JvbGxBbmltYXRvck5vbmU6OmFu
aW1hdGlvblRpbWVyQWN0aXZlKCkKK3sKKyAgICByZXR1cm4gbV9hbmltYXRpb25BY3RpdmU7Cit9
CisKIHZvaWQgU2Nyb2xsQW5pbWF0b3JOb25lOjpzdG9wQW5pbWF0aW9uVGltZXJJZk5lZWRlZCgp
CiB7Ci0gICAgaWYgKG1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9hbmlt
YXRpb25UaW1lci5zdG9wKCk7CisgICAgaWYgKGFuaW1hdGlvblRpbWVyQWN0aXZlKCkpCisgICAg
ICAgIG1fYW5pbWF0aW9uQWN0aXZlID0gZmFsc2U7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9u
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmgKaW5kZXgg
NGQ2OWE3YzRhNjQ2MzcyNWJlMTBhNmE2NjVjZWI3OWRhMzIxNWI4Yi4uNzE2ZTAxNTI3NGM1NjBm
OWU5NTY3MjM1YTA3NTE1OTkwZDUyODY0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsQW5pbWF0b3JOb25lLmgKQEAgLTUwLDYgKzUwLDkgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgYm9vbCBzY3JvbGwoU2Nyb2xsYmFyT3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBm
bG9hdCBzdGVwLCBmbG9hdCBtdWx0aXBsaWVyKTsKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsVG9P
ZmZzZXRXaXRob3V0QW5pbWF0aW9uKGNvbnN0IEZsb2F0UG9pbnQmKTsKIAorICAgIHZpcnR1YWwg
dm9pZCBjYW5jZWxBbmltYXRpb25zKCk7CisgICAgdmlydHVhbCB2b2lkIHNlcnZpY2VTY3JvbGxB
bmltYXRpb25zKCk7CisKICAgICB2aXJ0dWFsIHZvaWQgd2lsbEVuZExpdmVSZXNpemUoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkQWRkVmVydGljYWxTY3JvbGxiYXIoU2Nyb2xsYmFyKik7CiAgICAg
dmlydHVhbCB2b2lkIGRpZEFkZEhvcml6b250YWxTY3JvbGxiYXIoU2Nyb2xsYmFyKik7CkBAIC0x
MjYsMTUgKzEyOSwyMCBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIGludCBtX3Zpc2libGVMZW5ndGg7
CiAgICAgfTsKIAotICAgIHZvaWQgYW5pbWF0aW9uVGltZXJGaXJlZChUaW1lcjxTY3JvbGxBbmlt
YXRvck5vbmU+Kik7CisKKyAgICAvLyBmcmllbmQgY2xhc3MgU2Nyb2xsQW5pbWF0b3JOb25lUmVx
dWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2s7CisKKyAgICB2b2lkIGFuaW1hdGlvblRpbWVyRmly
ZWQoKTsKKyAgICB2b2lkIHN0YXJ0TmV4dFRpbWVyKCk7CiAgICAgdm9pZCBzdG9wQW5pbWF0aW9u
VGltZXJJZk5lZWRlZCgpOworICAgIGJvb2wgYW5pbWF0aW9uVGltZXJBY3RpdmUoKTsKICAgICB2
b2lkIHVwZGF0ZVZpc2libGVMZW5ndGhzKCk7CiAKICAgICBQZXJBeGlzRGF0YSBtX2hvcml6b250
YWxEYXRhOwogICAgIFBlckF4aXNEYXRhIG1fdmVydGljYWxEYXRhOwogCiAgICAgZG91YmxlIG1f
c3RhcnRUaW1lOwotICAgIFRpbWVyPFNjcm9sbEFuaW1hdG9yTm9uZT4gbV9hbmltYXRpb25UaW1l
cjsKKyAgICBib29sIG1fYW5pbWF0aW9uQWN0aXZlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4IDY2
ZjcyOTJiMmYyMWQzOGUwY2I4MWVlMDE1MzkyZjEyOGVlNDdiOTEuLmE2ZDY5OWUwMzNkN2VhNzY0
MmNlYTgyYTBkMGE1MjhkZjRiMjk2YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbGFibGVBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxhYmxlQXJlYS5jcHAKQEAgLTM0Miw0ICszNDIsOSBAQCBib29sIFNjcm9sbGFibGVBcmVhOjpo
YXNMYXllckZvclNjcm9sbENvcm5lcigpIGNvbnN0CiAjZW5kaWYKIH0KIAordm9pZCBTY3JvbGxh
YmxlQXJlYTo6c2VydmljZVNjcm9sbEFuaW1hdGlvbnMoKQoreworICAgIHNjcm9sbEFuaW1hdG9y
KCktPnNlcnZpY2VTY3JvbGxBbmltYXRpb25zKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCmluZGV4IGNiZTM4ZDc2
NjAzNTNkMThiMTNiYmMxZmI3ZDRmNDVkMzI2MmY3ZGMuLmQzNWJlMjk2OTQ3ZjE5NTg5YTYzMWM2
ZDBhZDFjMDU0MTljNzc5OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Nj
cm9sbGFibGVBcmVhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFy
ZWEuaApAQCAtMzMsNiArMzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEZsb2F0
UG9pbnQ7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7CitjbGFzcyBIb3N0V2luZG93OwogY2xhc3Mg
UGxhdGZvcm1HZXN0dXJlRXZlbnQ7CiBjbGFzcyBQbGF0Zm9ybVdoZWVsRXZlbnQ7CiBjbGFzcyBT
Y3JvbGxBbmltYXRvcjsKQEAgLTQyLDYgKzQzLDEwIEBAIGNsYXNzIEdyYXBoaWNzTGF5ZXI7CiAK
IGNsYXNzIFNjcm9sbGFibGVBcmVhIHsKIHB1YmxpYzoKKyAgICAvLyBUaGUgd2luZG93IHRoYXRz
IGhvc3RzIHRoZSBTY3JvbGxWaWV3LiBUaGUgU2Nyb2xsVmlldyB3aWxsIGNvbW11bmljYXRlIHNj
cm9sbHMgYW5kIHJlcGFpbnRzIHRvIHRoZQorICAgIC8vIGhvc3Qgd2luZG93IGluIHRoZSB3aW5k
b3cncyBjb29yZGluYXRlIHNwYWNlLgorICAgIHZpcnR1YWwgSG9zdFdpbmRvdyogaG9zdFdpbmRv
dygpIGNvbnN0ID0gMDsKKwogICAgIGJvb2wgc2Nyb2xsKFNjcm9sbERpcmVjdGlvbiwgU2Nyb2xs
R3JhbnVsYXJpdHksIGZsb2F0IG11bHRpcGxpZXIgPSAxKTsKICAgICB2b2lkIHNjcm9sbFRvT2Zm
c2V0V2l0aG91dEFuaW1hdGlvbihjb25zdCBGbG9hdFBvaW50Jik7CiAgICAgdm9pZCBzY3JvbGxU
b09mZnNldFdpdGhvdXRBbmltYXRpb24oU2Nyb2xsYmFyT3JpZW50YXRpb24sIGZsb2F0IG9mZnNl
dCk7CkBAIC0xNzgsNiArMTgzLDggQEAgcHJvdGVjdGVkOgogICAgIGJvb2wgaGFzTGF5ZXJGb3JW
ZXJ0aWNhbFNjcm9sbGJhcigpIGNvbnN0OwogICAgIGJvb2wgaGFzTGF5ZXJGb3JTY3JvbGxDb3Ju
ZXIoKSBjb25zdDsKIAorICAgIHZvaWQgc2VydmljZVNjcm9sbEFuaW1hdGlvbnMoKTsKKwogcHJp
dmF0ZToKICAgICB2b2lkIHNjcm9sbFBvc2l0aW9uQ2hhbmdlZChjb25zdCBJbnRQb2ludCYpOwog
ICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCA0YzViZTBjZGM1
NWU5MTYyNTJjZWQ4MjdiM2FiYzUyYzlkNTcwMmE5Li5kM2VlZjQxZTk1ZjZmMTg3YjIwNzZmNmQw
YTI5YjMzZGU0Mjc4N2FhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApA
QCAtMjIyLDYgKzIyMiw4IEBAIHB1YmxpYzoKICAgICBSZW5kZXJMYXllcihSZW5kZXJCb3hNb2Rl
bE9iamVjdCopOwogICAgIH5SZW5kZXJMYXllcigpOwogCisgICAgdmlydHVhbCBIb3N0V2luZG93
KiBob3N0V2luZG93KCkgY29uc3QgeyByZXR1cm4gMDsgfQorCiAgICAgUmVuZGVyQm94TW9kZWxP
YmplY3QqIHJlbmRlcmVyKCkgY29uc3QgeyByZXR1cm4gbV9yZW5kZXJlcjsgfQogICAgIFJlbmRl
ckJveCogcmVuZGVyQm94KCkgY29uc3QgeyByZXR1cm4gbV9yZW5kZXJlciAmJiBtX3JlbmRlcmVy
LT5pc0JveCgpID8gdG9SZW5kZXJCb3gobV9yZW5kZXJlcikgOiAwOyB9CiAgICAgUmVuZGVyTGF5
ZXIqIHBhcmVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFyZW50OyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxpc3RCb3guaAppbmRleCA0MDdmYTUyNDcxYTU4N2QxZGMyOWI0OTI3OTgx
OWU4ODIyN2NjNzE5Li5kYTdlNjg3ZGJkMjNlZmUzNWExNDgyMTgzNTVhODVlN2U3Y2EzZTA0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgKQEAgLTQxLDYgKzQxLDgg
QEAgcHVibGljOgogICAgIFJlbmRlckxpc3RCb3goRWxlbWVudCopOwogICAgIHZpcnR1YWwgflJl
bmRlckxpc3RCb3goKTsKIAorICAgIHZpcnR1YWwgSG9zdFdpbmRvdyogaG9zdFdpbmRvdygpIGNv
bnN0IHsgcmV0dXJuIDA7IH0KKwogICAgIHZvaWQgc2VsZWN0aW9uQ2hhbmdlZCgpOwogCiAgICAg
dm9pZCBzZXRPcHRpb25zQ2hhbmdlZChib29sIGNoYW5nZWQpIHsgbV9vcHRpb25zQ2hhbmdlZCA9
IGNoYW5nZWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1Njcm9s
bGJhckdyb3VwLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9TY3JvbGxiYXJHcm91cC5o
CmluZGV4IDQ0YmUyY2Y1MTk4MTAxNDUyMDZhYWZkNTJiNmI4OWY5YjNmODM1ZmEuLmMwMGFmNDQ3
MjgxYjA5MGQxM2FkNzk4Y2EyY2EyMjc1ZDY3NWNiOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1Njcm9sbGJhckdyb3VwLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvU2Nyb2xsYmFyR3JvdXAuaApAQCAtMzIsNiArMzIsNyBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBGcmFtZVZpZXc7CitjbGFzcyBIb3N0V2luZG93OwogfQogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKQEAgLTQzLDYgKzQ0LDggQEAgcHVibGljOgogICAgIGV4cGxpY2l0IFNj
cm9sbGJhckdyb3VwKFdlYkNvcmU6OkZyYW1lVmlldyopOwogICAgIH5TY3JvbGxiYXJHcm91cCgp
OwogCisgICAgdmlydHVhbCBXZWJDb3JlOjpIb3N0V2luZG93KiBob3N0V2luZG93KCkgY29uc3Qg
eyByZXR1cm4gMDsgfQorCiAgICAgdm9pZCBzY3JvbGxiYXJDcmVhdGVkKFdlYlNjcm9sbGJhcklt
cGwqKTsKICAgICB2b2lkIHNjcm9sbGJhckRlc3Ryb3llZChXZWJTY3JvbGxiYXJJbXBsKik7CiAg
ICAgdm9pZCBzZXRMYXN0TW91c2VQb3NpdGlvbihjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9TY3JvbGxBbmltYXRvck5v
bmVUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvU2Nyb2xsQW5pbWF0b3JO
b25lVGVzdC5jcHAKaW5kZXggODVjY2E5MDY2MDMzN2ZlOWEwNmI2OTkzMzQyYTMxYTM1YTMyNWIz
Zi4uZmQ0NjYyZWEwMmRhZGQ2NDM2MDMwZmVjNWFiOWQ3MTk4ZjU0ZDcwMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9TY3JvbGxBbmltYXRvck5vbmVUZXN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1Njcm9sbEFuaW1hdG9yTm9uZVRlc3Qu
Y3BwCkBAIC02NCw2ICs2NCw3IEBAIHB1YmxpYzoKICAgICBNT0NLX01FVEhPRDEoc2V0U2Nyb2xs
T2Zmc2V0RnJvbUFuaW1hdGlvbiwgdm9pZChjb25zdCBJbnRQb2ludCYpKTsKICAgICBNT0NLX0NP
TlNUX01FVEhPRDAoZW5jbG9zaW5nU2Nyb2xsYWJsZUFyZWEsIFNjcm9sbGFibGVBcmVhKigpKTsK
IAorICAgIHZpcnR1YWwgSG9zdFdpbmRvdyogaG9zdFdpbmRvdygpIGNvbnN0IHsgcmV0dXJuIDA7
IH0KICAgICB2aXJ0dWFsIGludCB2aXNpYmxlSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gNzY4OyB9
CiAgICAgdmlydHVhbCBpbnQgdmlzaWJsZVdpZHRoKCkgY29uc3QgeyByZXR1cm4gMTAyNDsgfQog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130481</attachid>
            <date>2012-03-06 17:16:47 -0800</date>
            <delta_ts>2012-03-07 13:13:15 -0800</delta_ts>
            <desc>Remove HostWindows, virtualize scheduleAnimation instead, handle non-rAF compile case</desc>
            <filename>bug-78938-20120306171645.patch</filename>
            <type>text/plain</type>
            <size>11725</size>
            <attacher name="Scott Byer">scottbyer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5OTM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU3MDg4NTA1OThhZjc1
NTVkYjZmMjY5N2UxNWVjMmNhMTMxMDU4Yi4uMTA4MDY3YTZkZTBjNGVkMTc1MDhhZDY1MjFjN2Nm
NjhlMzMzZjNiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTAyLTE3ICBTY290
dCBCeWVyICA8c2NvdHRieWVyQGNocm9taXVtLm9yZz4KKworICAgICAgICBIYXZlIFNjcm9sbEFu
aW1hdG9yTm9uZSB1c2UgcmVxdWVzdEFuaW1hdGlvbkZyYW1lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODkzOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gUGFzc2VzIENocm9taXVt
IHdlYmtpdF91bml0X3Rlc3RzLgorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzZXJ2aWNlU2NyaXB0ZWRBbmltYXRpb25zKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsQW5pbWF0b3I6OnNlcnZpY2VTY3JvbGxBbmltYXRpb25zKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9TY3JvbGxBbmltYXRvck5vbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0
b3JOb25lOjpTY3JvbGxBbmltYXRvck5vbmUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5p
bWF0b3JOb25lOjpzY3JvbGwpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JOb25l
OjpjYW5jZWxBbmltYXRpb25zKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsQW5pbWF0b3JOb25lOjpzZXJ2aWNlU2Nyb2xsQW5pbWF0aW9ucyk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck5vbmU6OmFuaW1hdGlvblRpbWVyRmlyZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JOb25lOjpzdGFydE5leHRUaW1lcik6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck5vbmU6OmFuaW1hdGlvblRpbWVyQWN0aXZlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTm9uZTo6c3RvcEFuaW1hdGlvblRpbWVy
SWZOZWVkZWQpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5oOgorICAg
ICAgICAoU2Nyb2xsQW5pbWF0b3JOb25lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxl
QXJlYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6c2VydmljZVNjcm9s
bEFuaW1hdGlvbnMpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vU2Ny
b2xsYWJsZUFyZWEuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoU2Nyb2xsYWJsZUFy
ZWEpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXI6Omhvc3RXaW5kb3cpOgorICAgICAgICAoUmVuZGVyTGF5ZXIpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMaXN0Qm94Ojpob3N0V2luZG93KToKKyAgICAgICAgKFJlbmRlckxpc3RCb3gpOgorCiAyMDEy
LTAzLTA2ICBEYXZpZCBDb3J2b3lzaWVyICA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgog
CiAgICAgICAgIFVucmVsZWFzZWQgZ3N0X29iamVjdF9yZWZlcmVuY2UgdG8gYXVkaW8gc2luayBp
biBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5k
ZXggYjdjYzA4ZThiZDQ5N2Y1NDVmOWIxOGVmMGUyNTI2NWIyNmM1ZGQxOS4uZDVkYjUyZjdmYzZm
MmQ3MDlkMmYzNDNhNzU3YWU1ZjdjMTYzMWIwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNyBAQAorMjAxMi0wMi0xNyAgU2NvdHQgQnllciAgPHNjb3R0YnllckBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgSGF2ZSBTY3JvbGxBbmltYXRvck5vbmUgdXNlIHJlcXVlc3RB
bmltYXRpb25GcmFtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Nzg5MzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHNyYy9TY3JvbGxiYXJHcm91cC5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJLaXQ6OlNjcm9sbGJhckdyb3VwOjpob3N0V2luZG93KToKKyAgICAgICAgKFNjcm9sbGJh
ckdyb3VwKToKKyAgICAgICAgKiB0ZXN0cy9TY3JvbGxBbmltYXRvck5vbmVUZXN0LmNwcDoKKyAg
ICAgICAgKE1vY2tTY3JvbGxhYmxlQXJlYTo6aG9zdFdpbmRvdyk6CisKIDIwMTItMDMtMDYgIFRh
a2FzaGkgVG95b3NoaW1hICA8dG95b3NoaW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJv
bWl1bV0gW1dlYlNvY2tldF0gQWRkIFdlYlNvY2tldCBleHRlbnNpb25zIHF1ZXJ5IFdlYktpdCBB
UEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCBlMTkxMjIxOTY2Zjg4YjFkYWI5MGQy
MGVjYzZkMWVmMWU3YWY0ZTdiLi41OTdmNWZmMWEyN2MwM2RkMTc3MDJkNmQzNWFjYmMxMjUxYTc1
MjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC00MDcsMTAgKzQwNywxMyBAQCB2
b2lkIEZyYW1lVmlldzo6c2V0RnJhbWVSZWN0KGNvbnN0IEludFJlY3QmIG5ld1JlY3QpCiB9CiAK
ICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCi12b2lkIEZyYW1lVmlldzo6c2No
ZWR1bGVBbmltYXRpb24oKQorYm9vbCBGcmFtZVZpZXc6OnNjaGVkdWxlQW5pbWF0aW9uKCkKIHsK
LSAgICBpZiAoaG9zdFdpbmRvdygpKQorICAgIGlmIChob3N0V2luZG93KCkpIHsKICAgICAgICAg
aG9zdFdpbmRvdygpLT5zY2hlZHVsZUFuaW1hdGlvbigpOworICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICB9CisgICAgcmV0dXJuIGZhbHNlOwogfQogI2VuZGlmCiAKQEAgLTIxMDMsNiArMjEwNiw4
IEBAIHZvaWQgRnJhbWVWaWV3Ojp1bnNjaGVkdWxlUmVsYXlvdXQoKQogI2lmIEVOQUJMRShSRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSkKIHZvaWQgRnJhbWVWaWV3OjpzZXJ2aWNlU2NyaXB0ZWRBbmlt
YXRpb25zKERPTVRpbWVTdGFtcCB0aW1lKQogeworICAgIHNlcnZpY2VTY3JvbGxBbmltYXRpb25z
KCk7CisKICAgICBWZWN0b3I8QW5pbWF0aW9uQ29udHJvbGxlcio+IGFuaW1hdGlvbnM7CiAgICAg
Zm9yIChGcmFtZSogZnJhbWUgPSBtX2ZyYW1lLmdldCgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+
dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkKICAgICAgICAgZnJhbWUtPmFuaW1hdGlvbigpLT5zZXJ2
aWNlQW5pbWF0aW9ucygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggYjQwNjk2Njc0MWU4
ZDVkYjNlNDQ3ZTIyODM5MWUzOTQ1NWVjYTBhZS4uMWY5MGJjM2I4MGE2MDM4OTgxNWE4MDkxMzUz
MWNjYmQwYjU3MDQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC02OSw3ICs2OSw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0RnJhbWVSZWN0KGNvbnN0IEludFJlY3QmKTsK
IAogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKLSAgICB2b2lkIHNjaGVkdWxl
QW5pbWF0aW9uKCk7CisgICAgdmlydHVhbCBib29sIHNjaGVkdWxlQW5pbWF0aW9uKCk7CiAjZW5k
aWYKIAogICAgIEZyYW1lKiBmcmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnJhbWUuZ2V0KCk7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCmluZGV4IDkxNDEzZTg1ODgx
YmJjMGQxZTQ3YTEzYWUxNDBhOGY4MWUxMTNiZGIuLjA5OTgxMGNlZjU3MWI1ZjQwMDBhMWNmNDE3
NDg5YmE5YmI3NDE5ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bEFuaW1hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3Iu
aApAQCAtNzMsNiArNzMsNyBAQCBwdWJsaWM6CiAgICAgRmxvYXRQb2ludCBjdXJyZW50UG9zaXRp
b24oKSBjb25zdDsKIAogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxBbmltYXRpb25zKCkgeyB9Cisg
ICAgdmlydHVhbCB2b2lkIHNlcnZpY2VTY3JvbGxBbmltYXRpb25zKCkgeyB9CiAKICAgICB2aXJ0
dWFsIHZvaWQgY29udGVudEFyZWFXaWxsUGFpbnQoKSBjb25zdCB7IH0KICAgICB2aXJ0dWFsIHZv
aWQgbW91c2VFbnRlcmVkQ29udGVudEFyZWEoKSBjb25zdCB7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuY3BwCmluZGV4IDA4M2ExOGE3MDFhZmYxNTZh
MmE2YmE3OWU4NDA4NzYyMTg2OThkNzIuLjI1MGIyODM4YTZlMWM3ZjA2ZWVhNzY0YjM4MWY2MzJm
NDU4ODNiMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1h
dG9yTm9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JO
b25lLmNwcApAQCAtMzc1LDcgKzM3NSwxMSBAQCBTY3JvbGxBbmltYXRvck5vbmU6OlNjcm9sbEFu
aW1hdG9yTm9uZShTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFyZWEpCiAgICAgOiBTY3JvbGxB
bmltYXRvcihzY3JvbGxhYmxlQXJlYSkKICAgICAsIG1faG9yaXpvbnRhbERhdGEodGhpcywgJm1f
Y3VycmVudFBvc1gsIHNjcm9sbGFibGVBcmVhLT52aXNpYmxlV2lkdGgoKSkKICAgICAsIG1fdmVy
dGljYWxEYXRhKHRoaXMsICZtX2N1cnJlbnRQb3NZLCBzY3JvbGxhYmxlQXJlYS0+dmlzaWJsZUhl
aWdodCgpKQorI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKKyAgICAsIG1fYW5p
bWF0aW9uQWN0aXZlKGZhbHNlKQorI2Vsc2UKICAgICAsIG1fYW5pbWF0aW9uVGltZXIodGhpcywg
JlNjcm9sbEFuaW1hdG9yTm9uZTo6YW5pbWF0aW9uVGltZXJGaXJlZCkKKyNlbmRpZgogewogfQog
CkBAIC00MjIsOSArNDI2LDEzIEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3JOb25lOjpzY3JvbGwoU2Ny
b2xsYmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyCiAKICAgICBQZXJB
eGlzRGF0YSYgZGF0YSA9IChvcmllbnRhdGlvbiA9PSBWZXJ0aWNhbFNjcm9sbGJhcikgPyBtX3Zl
cnRpY2FsRGF0YSA6IG1faG9yaXpvbnRhbERhdGE7CiAgICAgYm9vbCBuZWVkVG9TY3JvbGwgPSBk
YXRhLnVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhzdGVwLCBtdWx0aXBsaWVyLCBzY3JvbGxhYmxl
U2l6ZSwgV1RGOjptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSwgJnBhcmFtZXRlcnMpOwot
ICAgIGlmIChuZWVkVG9TY3JvbGwgJiYgIW1fYW5pbWF0aW9uVGltZXIuaXNBY3RpdmUoKSkgewor
ICAgIGlmIChuZWVkVG9TY3JvbGwgJiYgIWFuaW1hdGlvblRpbWVyQWN0aXZlKCkpIHsKICAgICAg
ICAgbV9zdGFydFRpbWUgPSBkYXRhLm1fc3RhcnRUaW1lOworI2lmIEVOQUJMRShSRVFVRVNUX0FO
SU1BVElPTl9GUkFNRSkKKyAgICAgICAgYW5pbWF0aW9uVGltZXJGaXJlZCgpOworI2Vsc2UKICAg
ICAgICAgYW5pbWF0aW9uVGltZXJGaXJlZCgmbV9hbmltYXRpb25UaW1lcik7CisjZW5kaWYKICAg
ICB9CiAgICAgcmV0dXJuIG5lZWRUb1Njcm9sbDsKIH0KQEAgLTQ0NCw2ICs0NTIsMTkgQEAgdm9p
ZCBTY3JvbGxBbmltYXRvck5vbmU6OnNjcm9sbFRvT2Zmc2V0V2l0aG91dEFuaW1hdGlvbihjb25z
dCBGbG9hdFBvaW50JiBvZmZzZXQKICAgICBub3RpZnlQb3NpdGlvbkNoYW5nZWQoKTsKIH0KIAor
I2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKK3ZvaWQgU2Nyb2xsQW5pbWF0b3JO
b25lOjpjYW5jZWxBbmltYXRpb25zKCkKK3sKKyAgICBtX2FuaW1hdGlvbkFjdGl2ZSA9IGZhbHNl
OworfQorCit2b2lkIFNjcm9sbEFuaW1hdG9yTm9uZTo6c2VydmljZVNjcm9sbEFuaW1hdGlvbnMo
KQoreworICAgIGlmIChtX2FuaW1hdGlvbkFjdGl2ZSkKKyAgICAgICAgYW5pbWF0aW9uVGltZXJG
aXJlZCgpOworfQorI2VuZGlmCisKIHZvaWQgU2Nyb2xsQW5pbWF0b3JOb25lOjp3aWxsRW5kTGl2
ZVJlc2l6ZSgpCiB7CiAgICAgdXBkYXRlVmlzaWJsZUxlbmd0aHMoKTsKQEAgLTQ2NSwyNSArNDg2
LDQwIEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JOb25lOjp1cGRhdGVWaXNpYmxlTGVuZ3RocygpCiAg
ICAgbV92ZXJ0aWNhbERhdGEudXBkYXRlVmlzaWJsZUxlbmd0aChzY3JvbGxhYmxlQXJlYSgpLT52
aXNpYmxlSGVpZ2h0KCkpOwogfQogCisjaWYgRU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1F
KQordm9pZCBTY3JvbGxBbmltYXRvck5vbmU6OmFuaW1hdGlvblRpbWVyRmlyZWQoKQorI2Vsc2UK
IHZvaWQgU2Nyb2xsQW5pbWF0b3JOb25lOjphbmltYXRpb25UaW1lckZpcmVkKFRpbWVyPFNjcm9s
bEFuaW1hdG9yTm9uZT4qIHRpbWVyKQorI2VuZGlmCiB7CiAjaWYgUExBVEZPUk0oQ0hST01JVU0p
CiAgICAgVFJBQ0VfRVZFTlQoIlNjcm9sbEFuaW1hdG9yTm9uZTo6YW5pbWF0aW9uVGltZXJGaXJl
ZCIsIHRoaXMsIDApOwogI2VuZGlmCiAKICAgICBkb3VibGUgY3VycmVudFRpbWUgPSBXVEY6Om1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOworI2lmICFFTkFCTEUoUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUUpCiAgICAgZG91YmxlIGRlbHRhVG9OZXh0RnJhbWUgPSBjZWlsKChjdXJyZW50VGlt
ZSAtIG1fc3RhcnRUaW1lKSAqIGtGcmFtZVJhdGUpIC8ga0ZyYW1lUmF0ZSAtIChjdXJyZW50VGlt
ZSAtIG1fc3RhcnRUaW1lKTsKKyAgICBjdXJyZW50VGltZSArPSBkZWx0YVRvTmV4dEZyYW1lOwor
I2VuZGlmCiAKICAgICBib29sIGNvbnRpbnVlQW5pbWF0aW9uID0gZmFsc2U7Ci0gICAgaWYgKG1f
aG9yaXpvbnRhbERhdGEubV9zdGFydFRpbWUgJiYgbV9ob3Jpem9udGFsRGF0YS5hbmltYXRlU2Ny
b2xsKGN1cnJlbnRUaW1lICsgZGVsdGFUb05leHRGcmFtZSkpCisgICAgaWYgKG1faG9yaXpvbnRh
bERhdGEubV9zdGFydFRpbWUgJiYgbV9ob3Jpem9udGFsRGF0YS5hbmltYXRlU2Nyb2xsKGN1cnJl
bnRUaW1lKSkKICAgICAgICAgY29udGludWVBbmltYXRpb24gPSB0cnVlOwotICAgIGlmIChtX3Zl
cnRpY2FsRGF0YS5tX3N0YXJ0VGltZSAmJiBtX3ZlcnRpY2FsRGF0YS5hbmltYXRlU2Nyb2xsKGN1
cnJlbnRUaW1lICsgZGVsdGFUb05leHRGcmFtZSkpCisgICAgaWYgKG1fdmVydGljYWxEYXRhLm1f
c3RhcnRUaW1lICYmIG1fdmVydGljYWxEYXRhLmFuaW1hdGVTY3JvbGwoY3VycmVudFRpbWUpKQog
ICAgICAgICBjb250aW51ZUFuaW1hdGlvbiA9IHRydWU7CiAKKyNpZiBFTkFCTEUoUkVRVUVTVF9B
TklNQVRJT05fRlJBTUUpCisgICAgaWYgKGNvbnRpbnVlQW5pbWF0aW9uKQorICAgICAgICBzdGFy
dE5leHRUaW1lcigpOworICAgIGVsc2UKKyAgICAgICAgbV9hbmltYXRpb25BY3RpdmUgPSBmYWxz
ZTsKKyNlbHNlCiAgICAgaWYgKGNvbnRpbnVlQW5pbWF0aW9uKSB7CiAgICAgICAgIGRvdWJsZSBu
ZXh0VGltZXJJbnRlcnZhbCA9IG1heChrTWluaW11bVRpbWVySW50ZXJ2YWwsIGRlbHRhVG9OZXh0
RnJhbWUpOwogICAgICAgICB0aW1lci0+c3RhcnRPbmVTaG90KG5leHRUaW1lckludGVydmFsKTsK
ICAgICB9CisjZW5kaWYKKwogCiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCiAgICAgVFJBQ0VfRVZF
TlQoIlNjcm9sbEFuaW1hdG9yTm9uZTo6bm90aWZ5UG9zaXRpb25DaGFuZ2VkIiwgdGhpcywgMCk7
CkBAIC00OTEsMTAgKzUyNywzMiBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTm9uZTo6YW5pbWF0aW9u
VGltZXJGaXJlZChUaW1lcjxTY3JvbGxBbmltYXRvck5vbmU+KiB0aW1lcikKICAgICBub3RpZnlQ
b3NpdGlvbkNoYW5nZWQoKTsKIH0KIAorI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFN
RSkKK3ZvaWQgU2Nyb2xsQW5pbWF0b3JOb25lOjpzdGFydE5leHRUaW1lcigpCit7CisgICAgaWYg
KHNjcm9sbGFibGVBcmVhKCktPnNjaGVkdWxlQW5pbWF0aW9uKCkpCisgICAgICAgIG1fYW5pbWF0
aW9uQWN0aXZlID0gdHJ1ZTsKK30KKyNlbmRpZgorCitib29sIFNjcm9sbEFuaW1hdG9yTm9uZTo6
YW5pbWF0aW9uVGltZXJBY3RpdmUoKQoreworI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9G
UkFNRSkKKyAgICByZXR1cm4gbV9hbmltYXRpb25BY3RpdmU7CisjZWxzZQorICAgIHJldHVybiBt
X2FuaW1hdGlvblRpbWVyLmlzQWN0aXZlKCk7CisjZW5kaWYKK30KKwogdm9pZCBTY3JvbGxBbmlt
YXRvck5vbmU6OnN0b3BBbmltYXRpb25UaW1lcklmTmVlZGVkKCkKIHsKLSAgICBpZiAobV9hbmlt
YXRpb25UaW1lci5pc0FjdGl2ZSgpKQorICAgIGlmIChhbmltYXRpb25UaW1lckFjdGl2ZSgpKSB7
CisjaWYgRU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQorICAgICAgICBtX2FuaW1hdGlv
bkFjdGl2ZSA9IGZhbHNlOworI2Vsc2UKICAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdG9wKCk7
CisjZW5kaWYKKyAgICB9CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmgKaW5kZXggNGQ2OWE3YzRhNjQ2Mzcy
NWJlMTBhNmE2NjVjZWI3OWRhMzIxNWI4Yi4uNjEzMTY2NDBiYmVmMjgyZjk1N2JjMzhlNGUyNDZl
YTJjMTc4N2VkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0b3JOb25lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JO
b25lLmgKQEAgLTUwLDYgKzUwLDExIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgc2Nyb2xs
KFNjcm9sbGJhck9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwgZmxvYXQgc3RlcCwgZmxv
YXQgbXVsdGlwbGllcik7CiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbFRvT2Zmc2V0V2l0aG91dEFu
aW1hdGlvbihjb25zdCBGbG9hdFBvaW50Jik7CiAKKyNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJ
T05fRlJBTUUpCisgICAgdmlydHVhbCB2b2lkIGNhbmNlbEFuaW1hdGlvbnMoKTsKKyAgICB2aXJ0
dWFsIHZvaWQgc2VydmljZVNjcm9sbEFuaW1hdGlvbnMoKTsKKyNlbmRpZgorCiAgICAgdmlydHVh
bCB2b2lkIHdpbGxFbmRMaXZlUmVzaXplKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZEFkZFZlcnRp
Y2FsU2Nyb2xsYmFyKFNjcm9sbGJhciopOwogICAgIHZpcnR1YWwgdm9pZCBkaWRBZGRIb3Jpem9u
dGFsU2Nyb2xsYmFyKFNjcm9sbGJhciopOwpAQCAtMTI2LDE1ICsxMzEsMjUgQEAgcHJvdGVjdGVk
OgogICAgICAgICBpbnQgbV92aXNpYmxlTGVuZ3RoOwogICAgIH07CiAKKyNpZiBFTkFCTEUoUkVR
VUVTVF9BTklNQVRJT05fRlJBTUUpCisgICAgdm9pZCBzdGFydE5leHRUaW1lcigpOworICAgIHZv
aWQgYW5pbWF0aW9uVGltZXJGaXJlZCgpOworI2Vsc2UKICAgICB2b2lkIGFuaW1hdGlvblRpbWVy
RmlyZWQoVGltZXI8U2Nyb2xsQW5pbWF0b3JOb25lPiopOworI2VuZGlmCiAgICAgdm9pZCBzdG9w
QW5pbWF0aW9uVGltZXJJZk5lZWRlZCgpOworICAgIGJvb2wgYW5pbWF0aW9uVGltZXJBY3RpdmUo
KTsKICAgICB2b2lkIHVwZGF0ZVZpc2libGVMZW5ndGhzKCk7CiAKICAgICBQZXJBeGlzRGF0YSBt
X2hvcml6b250YWxEYXRhOwogICAgIFBlckF4aXNEYXRhIG1fdmVydGljYWxEYXRhOwogCiAgICAg
ZG91YmxlIG1fc3RhcnRUaW1lOworI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkK
KyAgICBib29sIG1fYW5pbWF0aW9uQWN0aXZlOworI2Vsc2UKICAgICBUaW1lcjxTY3JvbGxBbmlt
YXRvck5vbmU+IG1fYW5pbWF0aW9uVGltZXI7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVB
cmVhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAppbmRl
eCA2NmY3MjkyYjJmMjFkMzhlMGNiODFlZTAxNTM5MmYxMjhlZTQ3YjkxLi42YWIxODYyMDU3NmNk
OWE5MTM5NzVkYTI0YTM0ZGM4YjA0ZGNmMGIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsYWJsZUFyZWEuY3BwCkBAIC0zNDIsNCArMzQyLDExIEBAIGJvb2wgU2Nyb2xsYWJsZUFy
ZWE6Omhhc0xheWVyRm9yU2Nyb2xsQ29ybmVyKCkgY29uc3QKICNlbmRpZgogfQogCisjaWYgRU5B
QkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQordm9pZCBTY3JvbGxhYmxlQXJlYTo6c2Vydmlj
ZVNjcm9sbEFuaW1hdGlvbnMoKQoreworICAgIHNjcm9sbEFuaW1hdG9yKCktPnNlcnZpY2VTY3Jv
bGxBbmltYXRpb25zKCk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKaW5kZXggY2JlMzhkNzY2MDM1M2Qx
OGIxM2JiYzFmYjdkNGY0NWQzMjYyZjdkYy4uMTg0N2I4YzJjNzc1ZGY4NGQwNWY1MzM2NmQ0NWNi
ZTgyMmQ1Y2RlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJs
ZUFyZWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCkBA
IC0xNTYsNiArMTU2LDEzIEBAIHB1YmxpYzoKICAgICAvLyBOT1RFOiBPbmx5IGNhbGxlZCBmcm9t
IEludGVybmFscyBmb3IgdGVzdGluZy4KICAgICB2b2lkIHNldFNjcm9sbE9mZnNldEZyb21JbnRl
cm5hbHMoY29uc3QgSW50UG9pbnQmKTsKIAorI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9G
UkFNRSkKKyAgICAvLyBMZXQgc3ViY2xhc3NlcyBwcm92aWRlIGEgd2F5IG9mIGFza2luZyBmb3Ig
YW5kIHNlcnZpY2luZyBzY3JvbGwKKyAgICAvLyBhbmltYXRpb25zLgorICAgIHZpcnR1YWwgYm9v
bCBzY2hlZHVsZUFuaW1hdGlvbigpIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdm9pZCBzZXJ2aWNl
U2Nyb2xsQW5pbWF0aW9ucygpOworI2VuZGlmCisKIHByb3RlY3RlZDoKICAgICBTY3JvbGxhYmxl
QXJlYSgpOwogICAgIHZpcnR1YWwgflNjcm9sbGFibGVBcmVhKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130676</attachid>
            <date>2012-03-07 13:13:18 -0800</date>
            <delta_ts>2012-03-08 11:37:49 -0800</delta_ts>
            <desc>Clean out compiler conditionals</desc>
            <filename>bug-78938-20120307131317.patch</filename>
            <type>text/plain</type>
            <size>11251</size>
            <attacher name="Scott Byer">scottbyer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwMDY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2U2M2YyZWEyZmEzYzk2
ODE4YmU4N2YxMDlmNTE4Y2ExNWQ1Nzk3Zi4uZTdmYmU0NDliNTQ0NmI2YjIxMTA1ODk0MTY1NTU4
N2M5ZDMxNzY1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTAyLTE3ICBTY290
dCBCeWVyICA8c2NvdHRieWVyQGNocm9taXVtLm9yZz4KKworICAgICAgICBIYXZlIFNjcm9sbEFu
aW1hdG9yTm9uZSB1c2UgcmVxdWVzdEFuaW1hdGlvbkZyYW1lCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODkzOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gUGFzc2VzIENocm9taXVt
IHdlYmtpdF91bml0X3Rlc3RzLgorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzZXJ2aWNlU2NyaXB0ZWRBbmltYXRpb25zKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsQW5pbWF0b3I6OnNlcnZpY2VTY3JvbGxBbmltYXRpb25zKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9TY3JvbGxBbmltYXRvck5vbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0
b3JOb25lOjpTY3JvbGxBbmltYXRvck5vbmUpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5p
bWF0b3JOb25lOjpzY3JvbGwpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JOb25l
OjpjYW5jZWxBbmltYXRpb25zKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsQW5pbWF0b3JOb25lOjpzZXJ2aWNlU2Nyb2xsQW5pbWF0aW9ucyk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck5vbmU6OmFuaW1hdGlvblRpbWVyRmlyZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JOb25lOjpzdGFydE5leHRUaW1lcik6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvck5vbmU6OmFuaW1hdGlvblRpbWVyQWN0aXZlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTm9uZTo6c3RvcEFuaW1hdGlvblRpbWVy
SWZOZWVkZWQpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5oOgorICAg
ICAgICAoU2Nyb2xsQW5pbWF0b3JOb25lKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxl
QXJlYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6c2VydmljZVNjcm9s
bEFuaW1hdGlvbnMpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZvcm0vU2Ny
b2xsYWJsZUFyZWEuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoU2Nyb2xsYWJsZUFy
ZWEpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXI6Omhvc3RXaW5kb3cpOgorICAgICAgICAoUmVuZGVyTGF5ZXIpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMaXN0Qm94Ojpob3N0V2luZG93KToKKyAgICAgICAgKFJlbmRlckxpc3RCb3gpOgorCiAyMDEy
LTAzLTA3ICBRaSBaaGFuZyAgPHFpLjIuemhhbmdAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF0g
VW5za2lwIGh0dHAvdGVzdHMvd2Vic29ja2V0L3Rlc3RzL2hpeGllNzYvbG9uZy1pbnZhbGlkLWhl
YWRlci5odG1sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDQ1MjQ1MWI1N2JhZjcwMWE0
MDE1ODU0MzViNGU0MTNmY2FmODI5MTQuLjdiOGQ5Y2E2MDc3NmFiYjcxY2NmMzc0NzIxYzM0MGRk
NGUwNjYwMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIw
MTItMDItMTcgIFNjb3R0IEJ5ZXIgIDxzY290dGJ5ZXJAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IEhhdmUgU2Nyb2xsQW5pbWF0b3JOb25lIHVzZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc4OTM4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzcmMvU2Nyb2xsYmFy
R3JvdXAuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViS2l0OjpTY3JvbGxiYXJH
cm91cDo6aG9zdFdpbmRvdyk6CisgICAgICAgIChTY3JvbGxiYXJHcm91cCk6CisgICAgICAgICog
dGVzdHMvU2Nyb2xsQW5pbWF0b3JOb25lVGVzdC5jcHA6CisgICAgICAgIChNb2NrU2Nyb2xsYWJs
ZUFyZWE6Omhvc3RXaW5kb3cpOgorCiAyMDEyLTAzLTA3ICBFbGxpb3QgUG9nZXIgIDxlcG9nZXJA
Z29vZ2xlLmNvbT4KIAogICAgICAgICBbQ2hyb21pdW1dIFJlbW92ZSB1c2Vfc2tpYSBvcHRpb24g
ZnJvbSBHWVAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA5Mzc3MjUzNGZkN2Y3ZThj
YzhhODE3OGI0YzA5MmZkZDkyNTg1YmU3Li40ZmVkOGEzNzM1NzY0ZDlkY2IzMThhZjNlNGFlNWFl
NzhiODVlNmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC00MDksMTAgKzQwOSwx
MyBAQCB2b2lkIEZyYW1lVmlldzo6c2V0RnJhbWVSZWN0KGNvbnN0IEludFJlY3QmIG5ld1JlY3Qp
CiB9CiAKICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCi12b2lkIEZyYW1lVmll
dzo6c2NoZWR1bGVBbmltYXRpb24oKQorYm9vbCBGcmFtZVZpZXc6OnNjaGVkdWxlQW5pbWF0aW9u
KCkKIHsKLSAgICBpZiAoaG9zdFdpbmRvdygpKQorICAgIGlmIChob3N0V2luZG93KCkpIHsKICAg
ICAgICAgaG9zdFdpbmRvdygpLT5zY2hlZHVsZUFuaW1hdGlvbigpOworICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOwogfQogI2VuZGlmCiAKQEAgLTIxMDUsNiAr
MjEwOCw4IEBAIHZvaWQgRnJhbWVWaWV3Ojp1bnNjaGVkdWxlUmVsYXlvdXQoKQogI2lmIEVOQUJM
RShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKIHZvaWQgRnJhbWVWaWV3OjpzZXJ2aWNlU2NyaXB0
ZWRBbmltYXRpb25zKERPTVRpbWVTdGFtcCB0aW1lKQogeworICAgIHNlcnZpY2VTY3JvbGxBbmlt
YXRpb25zKCk7CisKICAgICBWZWN0b3I8QW5pbWF0aW9uQ29udHJvbGxlcio+IGFuaW1hdGlvbnM7
CiAgICAgZm9yIChGcmFtZSogZnJhbWUgPSBtX2ZyYW1lLmdldCgpOyBmcmFtZTsgZnJhbWUgPSBm
cmFtZS0+dHJlZSgpLT50cmF2ZXJzZU5leHQoKSkKICAgICAgICAgZnJhbWUtPmFuaW1hdGlvbigp
LT5zZXJ2aWNlQW5pbWF0aW9ucygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggYjQwNjk2
Njc0MWU4ZDVkYjNlNDQ3ZTIyODM5MWUzOTQ1NWVjYTBhZS4uMWY5MGJjM2I4MGE2MDM4OTgxNWE4
MDkxMzUzMWNjYmQwYjU3MDQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC02OSw3ICs2
OSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0RnJhbWVSZWN0KGNvbnN0IEludFJl
Y3QmKTsKIAogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKLSAgICB2b2lkIHNj
aGVkdWxlQW5pbWF0aW9uKCk7CisgICAgdmlydHVhbCBib29sIHNjaGVkdWxlQW5pbWF0aW9uKCk7
CiAjZW5kaWYKIAogICAgIEZyYW1lKiBmcmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fZnJhbWUuZ2V0
KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9y
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCmluZGV4IDkxNDEz
ZTg1ODgxYmJjMGQxZTQ3YTEzYWUxNDBhOGY4MWUxMTNiZGIuLjA5OTgxMGNlZjU3MWI1ZjQwMDBh
MWNmNDE3NDg5YmE5YmI3NDE5ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbEFuaW1hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0b3IuaApAQCAtNzMsNiArNzMsNyBAQCBwdWJsaWM6CiAgICAgRmxvYXRQb2ludCBjdXJyZW50
UG9zaXRpb24oKSBjb25zdDsKIAogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxBbmltYXRpb25zKCkg
eyB9CisgICAgdmlydHVhbCB2b2lkIHNlcnZpY2VTY3JvbGxBbmltYXRpb25zKCkgeyB9CiAKICAg
ICB2aXJ0dWFsIHZvaWQgY29udGVudEFyZWFXaWxsUGFpbnQoKSBjb25zdCB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgbW91c2VFbnRlcmVkQ29udGVudEFyZWEoKSBjb25zdCB7IH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvck5vbmUuY3BwCmluZGV4IDA4M2ExOGE3MDFh
ZmYxNTZhMmE2YmE3OWU4NDA4NzYyMTg2OThkNzIuLjk4NjhhZTNhZGI1ZDI4NWUwNzc1ZmQ1ZGQ3
MDY1YTBmN2ZhZGEyZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bEFuaW1hdG9yTm9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5p
bWF0b3JOb25lLmNwcApAQCAtMzc1LDcgKzM3NSw3IEBAIFNjcm9sbEFuaW1hdG9yTm9uZTo6U2Ny
b2xsQW5pbWF0b3JOb25lKFNjcm9sbGFibGVBcmVhKiBzY3JvbGxhYmxlQXJlYSkKICAgICA6IFNj
cm9sbEFuaW1hdG9yKHNjcm9sbGFibGVBcmVhKQogICAgICwgbV9ob3Jpem9udGFsRGF0YSh0aGlz
LCAmbV9jdXJyZW50UG9zWCwgc2Nyb2xsYWJsZUFyZWEtPnZpc2libGVXaWR0aCgpKQogICAgICwg
bV92ZXJ0aWNhbERhdGEodGhpcywgJm1fY3VycmVudFBvc1ksIHNjcm9sbGFibGVBcmVhLT52aXNp
YmxlSGVpZ2h0KCkpCi0gICAgLCBtX2FuaW1hdGlvblRpbWVyKHRoaXMsICZTY3JvbGxBbmltYXRv
ck5vbmU6OmFuaW1hdGlvblRpbWVyRmlyZWQpCisgICAgLCBtX2FuaW1hdGlvbkFjdGl2ZShmYWxz
ZSkKIHsKIH0KIApAQCAtNDIyLDkgKzQyMiw5IEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3JOb25lOjpz
Y3JvbGwoU2Nyb2xsYmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24sIFNjcm9sbEdyYW51bGFyCiAK
ICAgICBQZXJBeGlzRGF0YSYgZGF0YSA9IChvcmllbnRhdGlvbiA9PSBWZXJ0aWNhbFNjcm9sbGJh
cikgPyBtX3ZlcnRpY2FsRGF0YSA6IG1faG9yaXpvbnRhbERhdGE7CiAgICAgYm9vbCBuZWVkVG9T
Y3JvbGwgPSBkYXRhLnVwZGF0ZURhdGFGcm9tUGFyYW1ldGVycyhzdGVwLCBtdWx0aXBsaWVyLCBz
Y3JvbGxhYmxlU2l6ZSwgV1RGOjptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSwgJnBhcmFt
ZXRlcnMpOwotICAgIGlmIChuZWVkVG9TY3JvbGwgJiYgIW1fYW5pbWF0aW9uVGltZXIuaXNBY3Rp
dmUoKSkgeworICAgIGlmIChuZWVkVG9TY3JvbGwgJiYgIWFuaW1hdGlvblRpbWVyQWN0aXZlKCkp
IHsKICAgICAgICAgbV9zdGFydFRpbWUgPSBkYXRhLm1fc3RhcnRUaW1lOwotICAgICAgICBhbmlt
YXRpb25UaW1lckZpcmVkKCZtX2FuaW1hdGlvblRpbWVyKTsKKyAgICAgICAgYW5pbWF0aW9uVGlt
ZXJGaXJlZCgpOwogICAgIH0KICAgICByZXR1cm4gbmVlZFRvU2Nyb2xsOwogfQpAQCAtNDQ0LDYg
KzQ0NCwxNyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTm9uZTo6c2Nyb2xsVG9PZmZzZXRXaXRob3V0
QW5pbWF0aW9uKGNvbnN0IEZsb2F0UG9pbnQmIG9mZnNldAogICAgIG5vdGlmeVBvc2l0aW9uQ2hh
bmdlZCgpOwogfQogCit2b2lkIFNjcm9sbEFuaW1hdG9yTm9uZTo6Y2FuY2VsQW5pbWF0aW9ucygp
Cit7CisgICAgbV9hbmltYXRpb25BY3RpdmUgPSBmYWxzZTsKK30KKwordm9pZCBTY3JvbGxBbmlt
YXRvck5vbmU6OnNlcnZpY2VTY3JvbGxBbmltYXRpb25zKCkKK3sKKyAgICBpZiAobV9hbmltYXRp
b25BY3RpdmUpCisgICAgICAgIGFuaW1hdGlvblRpbWVyRmlyZWQoKTsKK30KKwogdm9pZCBTY3Jv
bGxBbmltYXRvck5vbmU6OndpbGxFbmRMaXZlUmVzaXplKCkKIHsKICAgICB1cGRhdGVWaXNpYmxl
TGVuZ3RocygpOwpAQCAtNDY1LDcgKzQ3Niw3IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3JOb25lOjp1
cGRhdGVWaXNpYmxlTGVuZ3RocygpCiAgICAgbV92ZXJ0aWNhbERhdGEudXBkYXRlVmlzaWJsZUxl
bmd0aChzY3JvbGxhYmxlQXJlYSgpLT52aXNpYmxlSGVpZ2h0KCkpOwogfQogCi12b2lkIFNjcm9s
bEFuaW1hdG9yTm9uZTo6YW5pbWF0aW9uVGltZXJGaXJlZChUaW1lcjxTY3JvbGxBbmltYXRvck5v
bmU+KiB0aW1lcikKK3ZvaWQgU2Nyb2xsQW5pbWF0b3JOb25lOjphbmltYXRpb25UaW1lckZpcmVk
KCkKIHsKICNpZiBQTEFURk9STShDSFJPTUlVTSkKICAgICBUUkFDRV9FVkVOVCgiU2Nyb2xsQW5p
bWF0b3JOb25lOjphbmltYXRpb25UaW1lckZpcmVkIiwgdGhpcywgMCk7CkBAIC00NzMsMTcgKzQ4
NCwxOCBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTm9uZTo6YW5pbWF0aW9uVGltZXJGaXJlZChUaW1l
cjxTY3JvbGxBbmltYXRvck5vbmU+KiB0aW1lcikKIAogICAgIGRvdWJsZSBjdXJyZW50VGltZSA9
IFdURjo6bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAgICAgZG91YmxlIGRlbHRhVG9O
ZXh0RnJhbWUgPSBjZWlsKChjdXJyZW50VGltZSAtIG1fc3RhcnRUaW1lKSAqIGtGcmFtZVJhdGUp
IC8ga0ZyYW1lUmF0ZSAtIChjdXJyZW50VGltZSAtIG1fc3RhcnRUaW1lKTsKKyAgICBjdXJyZW50
VGltZSArPSBkZWx0YVRvTmV4dEZyYW1lOwogCiAgICAgYm9vbCBjb250aW51ZUFuaW1hdGlvbiA9
IGZhbHNlOwotICAgIGlmIChtX2hvcml6b250YWxEYXRhLm1fc3RhcnRUaW1lICYmIG1faG9yaXpv
bnRhbERhdGEuYW5pbWF0ZVNjcm9sbChjdXJyZW50VGltZSArIGRlbHRhVG9OZXh0RnJhbWUpKQor
ICAgIGlmIChtX2hvcml6b250YWxEYXRhLm1fc3RhcnRUaW1lICYmIG1faG9yaXpvbnRhbERhdGEu
YW5pbWF0ZVNjcm9sbChjdXJyZW50VGltZSkpCiAgICAgICAgIGNvbnRpbnVlQW5pbWF0aW9uID0g
dHJ1ZTsKLSAgICBpZiAobV92ZXJ0aWNhbERhdGEubV9zdGFydFRpbWUgJiYgbV92ZXJ0aWNhbERh
dGEuYW5pbWF0ZVNjcm9sbChjdXJyZW50VGltZSArIGRlbHRhVG9OZXh0RnJhbWUpKQorICAgIGlm
IChtX3ZlcnRpY2FsRGF0YS5tX3N0YXJ0VGltZSAmJiBtX3ZlcnRpY2FsRGF0YS5hbmltYXRlU2Ny
b2xsKGN1cnJlbnRUaW1lKSkKICAgICAgICAgY29udGludWVBbmltYXRpb24gPSB0cnVlOwogCi0g
ICAgaWYgKGNvbnRpbnVlQW5pbWF0aW9uKSB7Ci0gICAgICAgIGRvdWJsZSBuZXh0VGltZXJJbnRl
cnZhbCA9IG1heChrTWluaW11bVRpbWVySW50ZXJ2YWwsIGRlbHRhVG9OZXh0RnJhbWUpOwotICAg
ICAgICB0aW1lci0+c3RhcnRPbmVTaG90KG5leHRUaW1lckludGVydmFsKTsKLSAgICB9CisgICAg
aWYgKGNvbnRpbnVlQW5pbWF0aW9uKQorICAgICAgICBzdGFydE5leHRUaW1lcigpOworICAgIGVs
c2UKKyAgICAgICAgbV9hbmltYXRpb25BY3RpdmUgPSBmYWxzZTsKIAogI2lmIFBMQVRGT1JNKENI
Uk9NSVVNKQogICAgIFRSQUNFX0VWRU5UKCJTY3JvbGxBbmltYXRvck5vbmU6Om5vdGlmeVBvc2l0
aW9uQ2hhbmdlZCIsIHRoaXMsIDApOwpAQCAtNDkxLDEwICs1MDMsMjEgQEAgdm9pZCBTY3JvbGxB
bmltYXRvck5vbmU6OmFuaW1hdGlvblRpbWVyRmlyZWQoVGltZXI8U2Nyb2xsQW5pbWF0b3JOb25l
PiogdGltZXIpCiAgICAgbm90aWZ5UG9zaXRpb25DaGFuZ2VkKCk7CiB9CiAKK3ZvaWQgU2Nyb2xs
QW5pbWF0b3JOb25lOjpzdGFydE5leHRUaW1lcigpCit7CisgICAgaWYgKHNjcm9sbGFibGVBcmVh
KCktPnNjaGVkdWxlQW5pbWF0aW9uKCkpCisgICAgICAgIG1fYW5pbWF0aW9uQWN0aXZlID0gdHJ1
ZTsKK30KKworYm9vbCBTY3JvbGxBbmltYXRvck5vbmU6OmFuaW1hdGlvblRpbWVyQWN0aXZlKCkK
K3sKKyAgICByZXR1cm4gbV9hbmltYXRpb25BY3RpdmU7Cit9CisKIHZvaWQgU2Nyb2xsQW5pbWF0
b3JOb25lOjpzdG9wQW5pbWF0aW9uVGltZXJJZk5lZWRlZCgpCiB7Ci0gICAgaWYgKG1fYW5pbWF0
aW9uVGltZXIuaXNBY3RpdmUoKSkKLSAgICAgICAgbV9hbmltYXRpb25UaW1lci5zdG9wKCk7Cisg
ICAgaWYgKGFuaW1hdGlvblRpbWVyQWN0aXZlKCkpCisgICAgICAgIG1fYW5pbWF0aW9uQWN0aXZl
ID0gZmFsc2U7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yTm9uZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmgKaW5kZXggNGQ2OWE3YzRhNjQ2MzcyNWJlMTBh
NmE2NjVjZWI3OWRhMzIxNWI4Yi4uOTE4ZjhkMjFjNjZhZmI0MWNiN2Q4MDAyMTZjM2Q1Y2FiOWNm
Y2JlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JO
b25lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3JOb25lLmgK
QEAgLTMzLDYgKzMzLDEwIEBACiAKICNpZiBFTkFCTEUoU01PT1RIX1NDUk9MTElORykKIAorI2lm
ICFFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCisjZXJyb3IgIlNNT09USF9TQ1JPTExJ
TkcgcmVxdWlyZXMgUkVRVUVTVF9BTklNQVRJT05fRlJBTUUgdG8gYmUgZW5hYmxlZC4iCisjZW5k
aWYKKwogI2luY2x1ZGUgIlNjcm9sbEFuaW1hdG9yLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKIApA
QCAtNTAsNiArNTQsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHNjcm9sbChTY3JvbGxi
YXJPcmllbnRhdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IHN0ZXAsIGZsb2F0IG11bHRp
cGxpZXIpOwogICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxUb09mZnNldFdpdGhvdXRBbmltYXRpb24o
Y29uc3QgRmxvYXRQb2ludCYpOwogCisgICAgdmlydHVhbCB2b2lkIGNhbmNlbEFuaW1hdGlvbnMo
KTsKKyAgICB2aXJ0dWFsIHZvaWQgc2VydmljZVNjcm9sbEFuaW1hdGlvbnMoKTsKKwogICAgIHZp
cnR1YWwgdm9pZCB3aWxsRW5kTGl2ZVJlc2l6ZSgpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRBZGRW
ZXJ0aWNhbFNjcm9sbGJhcihTY3JvbGxiYXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQWRkSG9y
aXpvbnRhbFNjcm9sbGJhcihTY3JvbGxiYXIqKTsKQEAgLTEyNiwxNSArMTMzLDE4IEBAIHByb3Rl
Y3RlZDoKICAgICAgICAgaW50IG1fdmlzaWJsZUxlbmd0aDsKICAgICB9OwogCi0gICAgdm9pZCBh
bmltYXRpb25UaW1lckZpcmVkKFRpbWVyPFNjcm9sbEFuaW1hdG9yTm9uZT4qKTsKKyAgICB2b2lk
IHN0YXJ0TmV4dFRpbWVyKCk7CisgICAgdm9pZCBhbmltYXRpb25UaW1lckZpcmVkKCk7CisKICAg
ICB2b2lkIHN0b3BBbmltYXRpb25UaW1lcklmTmVlZGVkKCk7CisgICAgYm9vbCBhbmltYXRpb25U
aW1lckFjdGl2ZSgpOwogICAgIHZvaWQgdXBkYXRlVmlzaWJsZUxlbmd0aHMoKTsKIAogICAgIFBl
ckF4aXNEYXRhIG1faG9yaXpvbnRhbERhdGE7CiAgICAgUGVyQXhpc0RhdGEgbV92ZXJ0aWNhbERh
dGE7CiAKICAgICBkb3VibGUgbV9zdGFydFRpbWU7Ci0gICAgVGltZXI8U2Nyb2xsQW5pbWF0b3JO
b25lPiBtX2FuaW1hdGlvblRpbWVyOworICAgIGJvb2wgbV9hbmltYXRpb25BY3RpdmU7CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxh
YmxlQXJlYS5jcHAKaW5kZXggNjZmNzI5MmIyZjIxZDM4ZTBjYjgxZWUwMTUzOTJmMTI4ZWU0N2I5
MS4uYTZkNjk5ZTAzM2Q3ZWE3NjQyY2VhODJhMGQwYTUyOGRmNGIyOTZhMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcApAQCAtMzQyLDQgKzM0Miw5IEBAIGJv
b2wgU2Nyb2xsYWJsZUFyZWE6Omhhc0xheWVyRm9yU2Nyb2xsQ29ybmVyKCkgY29uc3QKICNlbmRp
ZgogfQogCit2b2lkIFNjcm9sbGFibGVBcmVhOjpzZXJ2aWNlU2Nyb2xsQW5pbWF0aW9ucygpCit7
CisgICAgc2Nyb2xsQW5pbWF0b3IoKS0+c2VydmljZVNjcm9sbEFuaW1hdGlvbnMoKTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsYWJsZUFyZWEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVB
cmVhLmgKaW5kZXggY2JlMzhkNzY2MDM1M2QxOGIxM2JiYzFmYjdkNGY0NWQzMjYyZjdkYy4uNjE3
ODczYWZkMmZkYzUwMDY3NGI0OTZmNzBlMTA1MjQ3OGIzZGZiZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCkBAIC0xNTYsNiArMTU2LDExIEBAIHB1YmxpYzoKICAg
ICAvLyBOT1RFOiBPbmx5IGNhbGxlZCBmcm9tIEludGVybmFscyBmb3IgdGVzdGluZy4KICAgICB2
b2lkIHNldFNjcm9sbE9mZnNldEZyb21JbnRlcm5hbHMoY29uc3QgSW50UG9pbnQmKTsKIAorICAg
IC8vIExldCBzdWJjbGFzc2VzIHByb3ZpZGUgYSB3YXkgb2YgYXNraW5nIGZvciBhbmQgc2Vydmlj
aW5nIHNjcm9sbAorICAgIC8vIGFuaW1hdGlvbnMuCisgICAgdmlydHVhbCBib29sIHNjaGVkdWxl
QW5pbWF0aW9uKCkgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2b2lkIHNlcnZpY2VTY3JvbGxBbmlt
YXRpb25zKCk7CisKIHByb3RlY3RlZDoKICAgICBTY3JvbGxhYmxlQXJlYSgpOwogICAgIHZpcnR1
YWwgflNjcm9sbGFibGVBcmVhKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>