<?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>119171</bug_id>
          
          <creation_ts>2013-07-26 17:14:19 -0700</creation_ts>
          <short_desc>Allow new transitions to run even when controller is suspended</short_desc>
          <delta_ts>2013-07-26 17:56:45 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</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="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dstockwell</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>912173</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-07-26 17:14:19 -0700</bug_when>
    <thetext>We fixed a bug where newly created CSS animations and transitions would run, even when the WebView had explicitly suspended animations. It turns out that some content in some clients actually relied on this behaviour :(

Add a flag to toggle back to the old buggy operation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912174</commentid>
    <comment_count>1</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-07-26 17:14:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/14511404&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912176</commentid>
    <comment_count>2</comment_count>
      <attachid>207566</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-07-26 17:25:23 -0700</bug_when>
    <thetext>Created attachment 207566
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912178</commentid>
    <comment_count>3</comment_count>
      <attachid>207566</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-07-26 17:30:07 -0700</bug_when>
    <thetext>Comment on attachment 207566
Patch

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

&gt; Source/WebCore/ChangeLog:21
&gt; +        (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): Initialize new flag to false.
&gt; +        (WebCore::AnimationControllerPrivate::startAnimationsIfNotSuspended): Expose getter.
&gt; +        (WebCore::AnimationControllerPrivate::setAllowNewAnimationsWhileSuspended): Expose setter.
&gt; +        (WebCore::AnimationController::allowNewAnimationsWhileSuspended): &quot;Public&quot; getter.
&gt; +        (WebCore::AnimationController::setAllowNewAnimationsWhileSuspended): &quot;Public&quot; setter.

Are these up-to-date with the code changes?

&gt; Source/WebCore/page/animation/AnimationController.h:81
&gt; +    bool allowNewAnimationsWhileSuspended() const;
&gt; +    void setAllowNewAnimationsWhileSuspended(bool);

allow -&gt; allows

&gt; Source/WebCore/page/animation/AnimationControllerPrivate.h:114
&gt; +    bool allowNewAnimationsWhileSuspended() const { return m_allowNewAnimationsWhileSuspended; }
&gt; +    void setAllowNewAnimationsWhileSuspended(bool);

allow -&gt; allows

&gt; Source/WebCore/page/animation/AnimationControllerPrivate.h:148
&gt; +    bool m_allowNewAnimationsWhileSuspended;

allows. might want to add a comment to explain why this is here.

&gt; Source/WebKit/mac/WebView/WebViewPrivate.h:568
&gt; +- (BOOL)allowNewCSSAnimationsWhileSuspended;
&gt; +- (void)setAllowNewCSSAnimationsWhileSuspended:(BOOL)allowed;

allows</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912183</commentid>
    <comment_count>4</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-07-26 17:41:38 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 207566 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=207566&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:21
&gt; &gt; +        (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): Initialize new flag to false.
&gt; &gt; +        (WebCore::AnimationControllerPrivate::startAnimationsIfNotSuspended): Expose getter.
&gt; &gt; +        (WebCore::AnimationControllerPrivate::setAllowNewAnimationsWhileSuspended): Expose setter.
&gt; &gt; +        (WebCore::AnimationController::allowNewAnimationsWhileSuspended): &quot;Public&quot; getter.
&gt; &gt; +        (WebCore::AnimationController::setAllowNewAnimationsWhileSuspended): &quot;Public&quot; setter.
&gt; 
&gt; Are these up-to-date with the code changes?

Yes, other than a little error :)

Made other changes as requested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912185</commentid>
    <comment_count>5</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-07-26 17:56:45 -0700</bug_when>
    <thetext>Committed r153396: &lt;http://trac.webkit.org/changeset/153396&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207566</attachid>
            <date>2013-07-26 17:25:23 -0700</date>
            <delta_ts>2013-07-26 17:30:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119171-20130727102521.patch</filename>
            <type>text/plain</type>
            <size>14417</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUzMzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDI1ZWI1ZTdlZmM5NDFk
ZjY5ZjIyMmE2ZWMzYmMxZDQyNmU2YjlhYy4uY2M0MGM3ZWM1ZGU5MDFjZTAxODIyZjQ1ZDBlNzA2
NWJlZjRlZmM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEzLTA3LTI2ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBuZXcgdHJhbnNpdGlv
bnMgdG8gcnVuIGV2ZW4gd2hlbiBjb250cm9sbGVyIGlzIHN1c3BlbmRlZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5MTcxCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS8xNDUxMTQwND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBFeHBvc2UgYSBuZXcgcHJvcGVydHkgb24gQW5pbWF0aW9uQ29udHJvbGxl
ciB0aGF0IGFsbG93cyBuZXdseSBjcmVhdGVkCisgICAgICAgIGFuaW1hdGlvbnMgdG8gcnVuIGV2
ZW4gaWYgdGhlIGNvbnRyb2xsZXIgc2F5cyBpdCBpcyBzdXNwZW5kZWQuIFNlZSBXZWJLaXQKKyAg
ICAgICAgQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgVGVzdDogdHJhbnNp
dGlvbnMvY3JlYXRlZC13aGlsZS1zdXNwZW5kZWQuaHRtbAorCisgICAgICAgICogV2ViQ29yZS5l
eHAuaW46IEV4cG9ydCB0aGUgbmV3IG1ldGhvZHMgc28gV2ViVmlldyBjYW4gdXNlIHRoZW0uCisg
ICAgICAgICogcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6QW5pbWF0aW9uQ29udHJvbGxl
clByaXZhdGUpOiBJbml0aWFsaXplIG5ldyBmbGFnIHRvIGZhbHNlLgorICAgICAgICAoV2ViQ29y
ZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGU6OnN0YXJ0QW5pbWF0aW9uc0lmTm90U3VzcGVu
ZGVkKTogRXhwb3NlIGdldHRlci4KKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkNvbnRyb2xs
ZXJQcml2YXRlOjpzZXRBbGxvd05ld0FuaW1hdGlvbnNXaGlsZVN1c3BlbmRlZCk6IEV4cG9zZSBz
ZXR0ZXIuCisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25Db250cm9sbGVyOjphbGxvd05ld0Fu
aW1hdGlvbnNXaGlsZVN1c3BlbmRlZCk6ICJQdWJsaWMiIGdldHRlci4KKyAgICAgICAgKFdlYkNv
cmU6OkFuaW1hdGlvbkNvbnRyb2xsZXI6OnNldEFsbG93TmV3QW5pbWF0aW9uc1doaWxlU3VzcGVu
ZGVkKTogIlB1YmxpYyIgc2V0dGVyLgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0FuaW1hdGlv
bkNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9s
bGVyUHJpdmF0ZS5oOgorICAgICAgICAoV2ViQ29yZTo6QW5pbWF0aW9uQ29udHJvbGxlclByaXZh
dGU6OmFsbG93TmV3QW5pbWF0aW9uc1doaWxlU3VzcGVuZGVkKToKKyAgICAgICAgKiBwYWdlL2Fu
aW1hdGlvbi9Db21wb3NpdGVBbmltYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcG9z
aXRlQW5pbWF0aW9uOjpDb21wb3NpdGVBbmltYXRpb24pOiBPbmx5IHN1c3BlbmQgaWYgbmV3IGZs
YWcgaXMgZmFsc2UuIEV2ZXJ5dGhpbmcgZWxzZQorICAgICAgICByZWxpZXMgb24gdGhlIG1fc3Vz
cGVuZGVkIGZsYWcsIHNvIHRoZSByZWFsIGNvZGUgY2hhbmdlIGlzIHRoaXMgb25lIGxpbmUuCisK
IDIwMTMtMDctMjYgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAg
ICAgW1dpbmRvd3NdIFVucmV2aWV3ZWQgYnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDg5
ZmNiNTE2ZGNkOTMyZjJhNzc0MjE2MDdkNmVkMzRjZWZhMTNjMDIuLmI1ZWY5ZjQ5MzQxMTdhOWVm
MzVmZWEyOTdhZmI3ZDA3MWJkNDkxMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBA
QAorMjAxMy0wNy0yNiAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAg
QWxsb3cgbmV3IHRyYW5zaXRpb25zIHRvIHJ1biBldmVuIHdoZW4gY29udHJvbGxlciBpcyBzdXNw
ZW5kZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEx
OTE3MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTQ1MTE0MDQ+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3NlIGEgbmV3IFNQSSBvbiBXZWJW
aWV3IHRoYXQgdHJpZ2dlcnMgdGhlIChidWdneSkgb2xkIGJlaGF2aW91cgorICAgICAgICBmb3Ig
YW5pbWF0aW9ucywgc3VjaCB0aGF0IGFueSBuZXdseSBjcmVhdGVkIGFuaW1hdGlvbnMgd2lsbCBz
dGFydCBldmVuCisgICAgICAgIHdoZW4gdGhlIGRvY3VtZW50IGlzIHN1cHBvc2VkbHkgc3VzcGVu
ZGVkLiBJdCB0dXJucyBvdXQgdGhhdCBjbGllbnQgY29udGVudCB3YXMKKyAgICAgICAgdW5rbm93
aW5nbHkgcmVseWluZyBvbiB0aGlzIGJlaGF2aW91ciAtIGUuZy4gc3VzcGVuZGluZyBhIHZpZXcs
IGxvYWRpbmcgYQorICAgICAgICBidW5jaCBvZiBuZXcgY29udGVudCwgYnJpbmdpbmcgdGhlIHZp
ZXcgb24gc2NyZWVuIGFuZCB0aGVuIHVuc3VzcGVuZGluZy4gSW4gdGhpcworICAgICAgICBzaXR1
YXRpb24sIHdlIHdlcmUgbm90IHJ1bm5pbmcgQ1NTIHRyYW5zaXRpb25zLCBiZWNhdXNlIHRoZSBw
YWdlIHdhcyBzdXNwZW5kZWQuCisgICAgICAgIEhvd2V2ZXIsIEpTIHdhcyBzdGlsbCB0cmlnZ2Vy
aW5nIHRoZW0sIGFuZCBjb250ZW50IHdhcyBleHBlY3RpbmcgYSB0cmFuc2l0aW9uRW5kIGV2ZW50
LgorCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IGFs
bG93TmV3Q1NTQW5pbWF0aW9uc1doaWxlU3VzcGVuZGVkXSk6IENhbGxzIGludG8gQW5pbWF0aW9u
Q29udHJvbGxlci4KKyAgICAgICAgKC1bV2ViVmlldyBzZXRBbGxvd05ld0NTU0FuaW1hdGlvbnNX
aGlsZVN1c3BlbmRlZDpdKTogRGl0dG8uCisgICAgICAgICogV2ViVmlldy9XZWJWaWV3UHJpdmF0
ZS5oOiBOZXcgbWV0aG9kcyBsaXN0ZWQgYWJvdmUuCisKIDIwMTMtMDctMjYgIEFuZGVycyBDYXJs
c3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYW5vdGhlciBtZXRob2Qg
dGhhdCB3ZSBuZWVkIHRvIHNldCBhc2lkZSBzdWJ2aWV3cyBmb3IKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4K
aW5kZXggODlmNWViZjIwZDI2ZDI4MTkyZGRmNjc0Y2RhYWEyMDU1ZDdhNzk0ZS4uNTg3MjVlZGI5
NDdkNTQ4NGNlZWQ0NmFhZDEzZTc4YmNlMGQ1ZWRlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAg
LTYyMiw2ICs2MjIsOCBAQCBfX1pON1dlYkNvcmUxOUFuaW1hdGlvbkNvbnRyb2xsZXIxNnJlc3Vt
ZUFuaW1hdGlvbnNFdgogX19aTjdXZWJDb3JlMTlBbmltYXRpb25Db250cm9sbGVyMTdzdXNwZW5k
QW5pbWF0aW9uc0V2CiBfX1pON1dlYkNvcmUxOUFuaW1hdGlvbkNvbnRyb2xsZXIyMHBhdXNlQW5p
bWF0aW9uQXRUaW1lRVBOU18xMlJlbmRlck9iamVjdEVSS04zV1RGMTJBdG9taWNTdHJpbmdFZAog
X19aTjdXZWJDb3JlMTlBbmltYXRpb25Db250cm9sbGVyMjFwYXVzZVRyYW5zaXRpb25BdFRpbWVF
UE5TXzEyUmVuZGVyT2JqZWN0RVJLTjNXVEY2U3RyaW5nRWQKK19fWk43V2ViQ29yZTE5QW5pbWF0
aW9uQ29udHJvbGxlcjM1c2V0QWxsb3dOZXdBbmltYXRpb25zV2hpbGVTdXNwZW5kZWRFYgorX19a
Tks3V2ViQ29yZTE5QW5pbWF0aW9uQ29udHJvbGxlcjMyYWxsb3dOZXdBbmltYXRpb25zV2hpbGVT
dXNwZW5kZWRFdgogX19aTjdXZWJDb3JlMTlCYWNrRm9yd2FyZExpc3RJbXBsMTByZW1vdmVJdGVt
RVBOU18xMUhpc3RvcnlJdGVtRQogX19aTjdXZWJDb3JlMTlCYWNrRm9yd2FyZExpc3RJbXBsMTBz
ZXRFbmFibGVkRWIKIF9fWk43V2ViQ29yZTE5QmFja0ZvcndhcmRMaXN0SW1wbDExY3VycmVudEl0
ZW1FdgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9u
Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25D
b250cm9sbGVyLmNwcAppbmRleCA0Y2NhNjUzZTcyOGRmNzY1YWI0M2YwMWMwYTJhMWZkYTIwODcy
YmI1Li5lMWI4NzMwNDk1YTY5ZjQ0ZGU2M2IzMTQxY2I3NjQ5YjVjY2MzY2NlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmNw
cApAQCAtNTksNiArNTksNyBAQCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6QW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGUoRnJhbWUqIGZyYW1lKQogICAgICwgbV9hbmltYXRpb25zV2FpdGlu
Z0ZvclN0YXJ0VGltZVJlc3BvbnNlKCkKICAgICAsIG1fd2FpdGluZ0ZvckFzeW5jU3RhcnROb3Rp
ZmljYXRpb24oZmFsc2UpCiAgICAgLCBtX2lzU3VzcGVuZGVkKGZhbHNlKQorICAgICwgbV9hbGxv
d05ld0FuaW1hdGlvbnNXaGlsZVN1c3BlbmRlZChmYWxzZSkKIHsKIH0KIApAQCAtMzIyLDEwICsz
MjMsMTUgQEAgdm9pZCBBbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZTo6cmVzdW1lQW5pbWF0aW9u
c0ZvckRvY3VtZW50KERvY3VtZW50KiBkb2N1bWVudCkKIAogdm9pZCBBbmltYXRpb25Db250cm9s
bGVyUHJpdmF0ZTo6c3RhcnRBbmltYXRpb25zSWZOb3RTdXNwZW5kZWQoRG9jdW1lbnQqIGRvY3Vt
ZW50KQogewotICAgIGlmICghaXNTdXNwZW5kZWQoKSkKKyAgICBpZiAoIWlzU3VzcGVuZGVkKCkg
fHwgYWxsb3dOZXdBbmltYXRpb25zV2hpbGVTdXNwZW5kZWQoKSkKICAgICAgICAgcmVzdW1lQW5p
bWF0aW9uc0ZvckRvY3VtZW50KGRvY3VtZW50KTsKIH0KIAordm9pZCBBbmltYXRpb25Db250cm9s
bGVyUHJpdmF0ZTo6c2V0QWxsb3dOZXdBbmltYXRpb25zV2hpbGVTdXNwZW5kZWQoYm9vbCBhbGxv
d2VkKQoreworICAgIG1fYWxsb3dOZXdBbmltYXRpb25zV2hpbGVTdXNwZW5kZWQgPSBhbGxvd2Vk
OworfQorCiBib29sIEFuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlOjpwYXVzZUFuaW1hdGlvbkF0
VGltZShSZW5kZXJPYmplY3QqIHJlbmRlcmVyLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGRv
dWJsZSB0KQogewogICAgIGlmICghcmVuZGVyZXIpCkBAIC02MDMsNiArNjA5LDE2IEBAIHZvaWQg
QW5pbWF0aW9uQ29udHJvbGxlcjo6cmVzdW1lQW5pbWF0aW9ucygpCiAgICAgbV9kYXRhLT5yZXN1
bWVBbmltYXRpb25zKCk7CiB9CiAKK2Jvb2wgQW5pbWF0aW9uQ29udHJvbGxlcjo6YWxsb3dOZXdB
bmltYXRpb25zV2hpbGVTdXNwZW5kZWQoKSBjb25zdAoreworICAgIHJldHVybiBtX2RhdGEtPmFs
bG93TmV3QW5pbWF0aW9uc1doaWxlU3VzcGVuZGVkKCk7Cit9CisKK3ZvaWQgQW5pbWF0aW9uQ29u
dHJvbGxlcjo6c2V0QWxsb3dOZXdBbmltYXRpb25zV2hpbGVTdXNwZW5kZWQoYm9vbCBhbGxvd2Vk
KQoreworICAgIG1fZGF0YS0+c2V0QWxsb3dOZXdBbmltYXRpb25zV2hpbGVTdXNwZW5kZWQoYWxs
b3dlZCk7Cit9CisKICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCiB2b2lkIEFu
aW1hdGlvbkNvbnRyb2xsZXI6OnNlcnZpY2VBbmltYXRpb25zKCkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXIuaAppbmRleCA5YTI2
N2Q0NWIwYmNkMDMwZmJjNDJhOTU3OTg5Y2YyZjEzZmQ1Njg4Li41ZjdkNGZhOWMwNDYyMzVlNzZk
N2FlOTFlMzA4ZDU3MTExZjU5MzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2Fu
aW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9h
bmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlci5oCkBAIC03Niw2ICs3Niw5IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgYmVnaW5BbmltYXRpb25VcGRhdGUoKTsKICAgICB2b2lkIGVuZEFuaW1hdGlv
blVwZGF0ZSgpOworCisgICAgYm9vbCBhbGxvd05ld0FuaW1hdGlvbnNXaGlsZVN1c3BlbmRlZCgp
IGNvbnN0OworICAgIHZvaWQgc2V0QWxsb3dOZXdBbmltYXRpb25zV2hpbGVTdXNwZW5kZWQoYm9v
bCk7CiAgICAgCiAgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNBY2NlbGVyYXRlZEFuaW1hdGlvbk9m
UHJvcGVydHkoQ1NTUHJvcGVydHlJRCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvYW5pbWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25Db250cm9sbGVyUHJpdmF0ZS5oCmluZGV4IDNmNDYz
Mjg5NjdhOTg1ZDFkYmRmNzljMmQ0OTg1YzE4NTA0ODgxYTkuLmU5ZjljMzE3MWQ1ZTc4NmQxZTVm
MDMxY2E0Y2ZlNTI2MGI3ZWJhYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5p
bWF0aW9uL0FuaW1hdGlvbkNvbnRyb2xsZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQ29udHJvbGxlclByaXZhdGUuaApAQCAtMTA5LDcgKzEw
OSwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBhbmltYXRpb25XaWxsQmVSZW1vdmVkKEFuaW1hdGlv
bkJhc2UqKTsKIAogICAgIHZvaWQgdXBkYXRlQW5pbWF0aW9uVGltZXJGb3JSZW5kZXJlcihSZW5k
ZXJPYmplY3QqKTsKLSAgICAKKworICAgIGJvb2wgYWxsb3dOZXdBbmltYXRpb25zV2hpbGVTdXNw
ZW5kZWQoKSBjb25zdCB7IHJldHVybiBtX2FsbG93TmV3QW5pbWF0aW9uc1doaWxlU3VzcGVuZGVk
OyB9CisgICAgdm9pZCBzZXRBbGxvd05ld0FuaW1hdGlvbnNXaGlsZVN1c3BlbmRlZChib29sKTsK
KwogcHJpdmF0ZToKICAgICB2b2lkIGFuaW1hdGlvblRpbWVyRmlyZWQoVGltZXI8QW5pbWF0aW9u
Q29udHJvbGxlclByaXZhdGU+Kik7CiAKQEAgLTE0Miw2ICsxNDUsNyBAQCBwcml2YXRlOgogICAg
IFdhaXRpbmdBbmltYXRpb25zU2V0IG1fYW5pbWF0aW9uc1dhaXRpbmdGb3JTdGFydFRpbWVSZXNw
b25zZTsKICAgICBib29sIG1fd2FpdGluZ0ZvckFzeW5jU3RhcnROb3RpZmljYXRpb247CiAgICAg
Ym9vbCBtX2lzU3VzcGVuZGVkOworICAgIGJvb2wgbV9hbGxvd05ld0FuaW1hdGlvbnNXaGlsZVN1
c3BlbmRlZDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9Db21wb3NpdGVBbmltYXRpb24uY3BwCmluZGV4IGU3ZDE4
MzdlODQ5OGVjZWUxMWFjMTY3NjE4NmQ2NDg2M2NjZTMwMDUuLmMwYmRjY2U2MjU3YzA3ZTdiYmY5
ZmRlNTYyMDlkYTEyNzllMGQ4YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5p
bWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9h
bmltYXRpb24vQ29tcG9zaXRlQW5pbWF0aW9uLmNwcApAQCAtNDQsNyArNDQsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBDb21wb3NpdGVBbmltYXRpb246OkNvbXBvc2l0ZUFuaW1hdGlvbihBbmlt
YXRpb25Db250cm9sbGVyUHJpdmF0ZSogYW5pbWF0aW9uQ29udHJvbGxlcikKICAgICA6IG1fYW5p
bWF0aW9uQ29udHJvbGxlcihhbmltYXRpb25Db250cm9sbGVyKQogewotICAgIG1fc3VzcGVuZGVk
ID0gYW5pbWF0aW9uQ29udHJvbGxlci0+aXNTdXNwZW5kZWQoKTsKKyAgICBtX3N1c3BlbmRlZCA9
IGFuaW1hdGlvbkNvbnRyb2xsZXItPmlzU3VzcGVuZGVkKCkgJiYgIWFuaW1hdGlvbkNvbnRyb2xs
ZXItPmFsbG93TmV3QW5pbWF0aW9uc1doaWxlU3VzcGVuZGVkKCk7CiB9CiAKIENvbXBvc2l0ZUFu
aW1hdGlvbjo6fkNvbXBvc2l0ZUFuaW1hdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZp
ZXcubW0KaW5kZXggYmFmMjM1YWIzZDEwMjM1NzEzZDRhNmQ0Mjg2OWVjMDM4OTk2MzZjNi4uOTRm
NGQ0Y2Y2Yzg5YjA3ZjA2NmQyYzEyN2NmMDk2NTQyZmZkYWM4MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViVmlldy5tbQpAQCAtMjc5MCw2ICsyNzkwLDIyIEBAIHN0YXRpYyBWZWN0b3I8U3Ry
aW5nPiB0b1N0cmluZ1ZlY3RvcihOU0FycmF5KiBwYXR0ZXJucykKICAgICBwYWdlR3JvdXAtPnJl
bW92ZUFsbFVzZXJDb250ZW50KCk7CiB9CiAKKy0gKEJPT0wpYWxsb3dOZXdDU1NBbmltYXRpb25z
V2hpbGVTdXNwZW5kZWQKK3sKKyAgICBGcmFtZSogZnJhbWUgPSBjb3JlKFtzZWxmIG1haW5GcmFt
ZV0pOworICAgIGlmIChmcmFtZSkKKyAgICAgICAgcmV0dXJuIGZyYW1lLT5hbmltYXRpb24oKS0+
YWxsb3dOZXdBbmltYXRpb25zV2hpbGVTdXNwZW5kZWQoKTsKKworICAgIHJldHVybiBmYWxzZTsK
K30KKworLSAodm9pZClzZXRBbGxvd05ld0NTU0FuaW1hdGlvbnNXaGlsZVN1c3BlbmRlZDooQk9P
TClhbGxvd2VkCit7CisgICAgRnJhbWUqIGZyYW1lID0gY29yZShbc2VsZiBtYWluRnJhbWVdKTsK
KyAgICBpZiAoZnJhbWUpCisgICAgICAgIGZyYW1lLT5hbmltYXRpb24oKS0+c2V0QWxsb3dOZXdB
bmltYXRpb25zV2hpbGVTdXNwZW5kZWQoYWxsb3dlZCk7Cit9CisKIC0gKEJPT0wpY3NzQW5pbWF0
aW9uc1N1c3BlbmRlZAogewogICAgIC8vIHNob3VsZCBhc2sgdGhlIHBhZ2UhCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlZpZXdQcml2YXRlLmgKaW5kZXggNGQ3MWIxNjhmZmE4YjYxYmY5
NjRjZDVkZjhmMjUyNjVlZDY4M2YzZC4uMjUyNzNlOGFhYTM3MThhMDA1YjU3MjY4YTZmNjk4YWU3
NjEzM2U0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3UHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlld1ByaXZhdGUuaApA
QCAtNTY0LDYgKzU2NCw5IEBAIENvdWxkIGJlIHdvcnRoIGFkZGluZyB0byB0aGUgQVBJLgogKi8K
IC0gKHZvaWQpc2V0Q1NTQW5pbWF0aW9uc1N1c3BlbmRlZDooQk9PTClzdXNwZW5kZWQ7CiAKKy0g
KEJPT0wpYWxsb3dOZXdDU1NBbmltYXRpb25zV2hpbGVTdXNwZW5kZWQ7CistICh2b2lkKXNldEFs
bG93TmV3Q1NTQW5pbWF0aW9uc1doaWxlU3VzcGVuZGVkOihCT09MKWFsbG93ZWQ7CisKICsgKHZv
aWQpX3NldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW46KEJPT0wpZm9yYmlkZGVuIGZvclVSTFNj
aGVtZTooTlNTdHJpbmcgKilzY2hlbWU7CiArICh2b2lkKV9yZWdpc3RlclVSTFNjaGVtZUFzU2Vj
dXJlOihOU1N0cmluZyAqKXNjaGVtZTsKICsgKHZvaWQpX3JlZ2lzdGVyVVJMU2NoZW1lQXNBbGxv
d2luZ0xvY2FsU3RvcmFnZUFjY2Vzc0luUHJpdmF0ZUJyb3dzaW5nOihOU1N0cmluZyAqKXNjaGVt
ZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCAzNjk2MmIxODgwY2YxYzI5Zjg2OWYwMzc4NTFmZDIxNGQ1ZTMzOTg2Li40Nzg4
NjI2Nzk0NDY3NmZjYTEwNzBlZmQxNWZkZTIyNTQyYTg5Y2RiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTMtMDctMjYgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAg
IEFsbG93IG5ldyB0cmFuc2l0aW9ucyB0byBydW4gZXZlbiB3aGVuIGNvbnRyb2xsZXIgaXMgc3Vz
cGVuZGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTkxNzEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE0NTExNDA0PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgYWN0dWFsbHkgYSB0ZXN0
IHRvIG1ha2Ugc3VyZSB0aGlzIGZpeCBkaWRuJ3QgYnJlYWsgYW55dGhpbmcuIFRoZXJlIGlzIG5v
CisgICAgICAgIHdheSB0byB0cmlnZ2VyIHRoZSBuZXcgYmVoYXZpb3VyIGZyb20gdGhlIHRlc3Qg
c3lzdGVtIChvciBmcm9tIFNhZmFyaSkuCisKIDIwMTMtMDctMjYgIE9saXZlciBIdW50ICA8b2xp
dmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKEZUTD8pOiBDcmFzaGVzIGluIHBs
dWdpbiB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdHJhbnNpdGlvbnMvY3JlYXRlZC13
aGlsZS1zdXNwZW5kZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvdHJhbnNpdGlvbnMvY3Jl
YXRlZC13aGlsZS1zdXNwZW5kZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3Njg5YTViZjFk
NjE4MmJmMWE3Yzg2OGQ1Nzc0NGQ3M2NjNWZmYjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy90cmFuc2l0aW9ucy9jcmVhdGVkLXdoaWxlLXN1c3BlbmRlZC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMiBAQAorVGhpcyB0ZXN0IGNyZWF0ZXMgYSBib3gsIGFkZHMgYSB0cmFuc2l0aW9u
LCB0aGVuIHNldHMgdGhlIGxlZnQgcHJvcGVydHkuIEl0IHdpbGwgb25seSBoYXZlIHJlcHJvZHVj
aWJsZSBvdXRwdXQgd2hlbiBydW4gaW4gdGhlIHRlc3Qgc3lzdGVtCisKKyoqKiBTdGFydGluZyB0
ZXN0LgorVHJhbnNpdGlvbnMgc2hvdWxkIG5vdCBiZSBzdXNwZW5kZWQ6IFBBU1MKKyoqKiBTdXNw
ZW5kaW5nIEFuaW1hdGlvbnMvVHJhbnNpdGlvbnMKK1RyYW5zaXRpb25zIHNob3VsZCBiZSBzdXNw
ZW5kZWQ6IFBBU1MKKyoqKiBDcmVhdGluZyB0aGUgYm94LgorKioqIEFkZGluZyB0cmFuc2l0aW9u
IHByb3BlcnR5IGFuZCBzZXR0aW5nIGxlZnQgdG8gMTAwcHguIFdlIHNob3VsZCBOT1Qgc2VlIHRy
YW5zaXRpb24gZXZlbnRzLgorKioqIFJlc3VtaW5nIEFuaW1hdGlvbnMvVHJhbnNpdGlvbnMKK1Ry
YW5zaXRpb25zIHNob3VsZCBub3QgYmUgc3VzcGVuZGVkOiBQQVNTCisqKiogVGVzdCBmaW5pc2hl
ZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90cmFuc2l0aW9ucy9jcmVhdGVkLXdoaWxlLXN1
c3BlbmRlZC5odG1sIGIvTGF5b3V0VGVzdHMvdHJhbnNpdGlvbnMvY3JlYXRlZC13aGlsZS1zdXNw
ZW5kZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZWJmZjlmZmM0M2YzNGY2ODQ1ODQzMjgwOWE4MmUxYThm
MGEwOWRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvdHJhbnNpdGlvbnMvY3JlYXRl
ZC13aGlsZS1zdXNwZW5kZWQuaHRtbApAQCAtMCwwICsxLDkyIEBACis8dGl0bGU+VGVzdCB0aGF0
IG5ld2x5IGNyZWF0ZWQgdHJhbnNpdGlvbnMgZG8gbm90IHJ1biB3aGlsZSB3ZSBhcmUgc3VzcGVu
ZGVkPC90aXRsZT4KKzxzdHlsZT4KKyNib3ggeworICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAg
ICBsZWZ0OiAwcHg7CisgICAgaGVpZ2h0OiA1MHB4OworICAgIHdpZHRoOiA1MHB4OworICAgIGJh
Y2tncm91bmQtY29sb3I6IGJsdWU7Cit9Cis8L3N0eWxlPgorPHNjcmlwdD4KK3ZhciBib3g7CisK
K2Z1bmN0aW9uIHN1c3BlbmQoKQoreworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAg
ICBpbnRlcm5hbHMuc3VzcGVuZEFuaW1hdGlvbnMoZG9jdW1lbnQpOworfQorCitmdW5jdGlvbiBy
ZXN1bWUoKQoreworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBpbnRlcm5hbHMu
cmVzdW1lQW5pbWF0aW9ucyhkb2N1bWVudCk7Cit9CisKK2Z1bmN0aW9uIHRyYW5zaXRpb25FbmRl
ZChldmVudCkKK3sKKyAgICBsb2coIiMjIyMgVHJhbnNpdGlvbiBlbmRlZCBvbiBlbGVtZW50IHdp
dGggaWQ6ICIgKyBldmVudC50YXJnZXQuaWQpOworfQorCitmdW5jdGlvbiBzdXNwZW5kQW5kQ3Jl
YXRlKCkKK3sKKyAgICBsb2coIioqKiBTdXNwZW5kaW5nIEFuaW1hdGlvbnMvVHJhbnNpdGlvbnMi
KTsKKyAgICBzdXNwZW5kKCk7CisgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICBsb2coIlRyYW5zaXRpb25zIHNob3Vs
ZCBiZSBzdXNwZW5kZWQ6ICIgKyAod2luZG93LmludGVybmFscy5hbmltYXRpb25zQXJlU3VzcGVu
ZGVkKGRvY3VtZW50KSA/ICJQQVNTIiA6ICJGQUlMIikpOworCisgICAgICAgIGxvZygiKioqIENy
ZWF0aW5nIHRoZSBib3guIikKKyAgICAgICAgYm94ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CisgICAgICAgIGJveC5pZCA9ICJib3giOworICAgICAgICBkb2N1bWVudC5hZGRFdmVu
dExpc3RlbmVyKCJ3ZWJraXRUcmFuc2l0aW9uRW5kIiwgdHJhbnNpdGlvbkVuZGVkLCBmYWxzZSk7
CisgICAgICAgIGRvY3VtZW50LmJvZHkuaW5zZXJ0QmVmb3JlKGJveCwgZG9jdW1lbnQucXVlcnlT
ZWxlY3RvcigiI3Jlc3VsdHMiKSk7CisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICBsb2coIioqKiBBZGRpbmcgdHJhbnNpdGlvbiBwcm9wZXJ0eSBhbmQgc2V0dGlu
ZyBsZWZ0IHRvIDEwMHB4LiBXZSBzaG91bGQgTk9UIHNlZSB0cmFuc2l0aW9uIGV2ZW50cy4iKQor
ICAgICAgICAgICAgYm94LnN0eWxlLndlYmtpdFRyYW5zaXRpb25EdXJhdGlvbiA9ICIxMDBtcyI7
CisgICAgICAgICAgICBib3guc3R5bGUubGVmdCA9ICIxMDBweCI7CisgICAgICAgICAgICBzZXRU
aW1lb3V0KGVuZFRlc3QsIDIwMCk7CisgICAgICAgIH0sIDEwMCk7CisgICAgfSwgMTAwKTsKK30K
KworZnVuY3Rpb24gZW5kVGVzdCgpCit7CisgICAgbG9nKCIqKiogUmVzdW1pbmcgQW5pbWF0aW9u
cy9UcmFuc2l0aW9ucyIpOworICAgIHJlc3VtZSgpOworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxz
KQorICAgICAgICBsb2coIlRyYW5zaXRpb25zIHNob3VsZCBub3QgYmUgc3VzcGVuZGVkOiAiICsg
KHdpbmRvdy5pbnRlcm5hbHMuYW5pbWF0aW9uc0FyZVN1c3BlbmRlZChkb2N1bWVudCkgPyAiRkFJ
TCIgOiAiUEFTUyIpKTsKKworICAgIHJlc3VtZSgpOyAvLyBKdXN0IGluIGNhc2UuCisgICAgbG9n
KCIqKiogVGVzdCBmaW5pc2hlZCIpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7IHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpO30sIDgw
MDApOworfQorCitmdW5jdGlvbiBzdGFydFRlc3QoKQoreworICAgIGxvZygiKioqIFN0YXJ0aW5n
IHRlc3QuIikKKworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBsb2coIlRyYW5z
aXRpb25zIHNob3VsZCBub3QgYmUgc3VzcGVuZGVkOiAiICsgKHdpbmRvdy5pbnRlcm5hbHMuYW5p
bWF0aW9uc0FyZVN1c3BlbmRlZChkb2N1bWVudCkgPyAiRkFJTCIgOiAiUEFTUyIpKTsKKworICAg
IHN1c3BlbmRBbmRDcmVhdGUoKTsKK30KKworZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAg
dmFyIHJlc3VsdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0cyIpOworICAgIHJl
c3VsdHMuaW5uZXJIVE1MID0gcmVzdWx0cy5pbm5lckhUTUwgKyBtZXNzYWdlICsgIjxicj4iOwor
fQorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERv
bmUoKTsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKK30KKword2luZG93LmFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBzdGFydFRlc3QsIGZhbHNlKTsKKworPC9zY3JpcHQ+Cis8cD5UaGlz
IHRlc3QgY3JlYXRlcyBhIGJveCwgYWRkcyBhIHRyYW5zaXRpb24sIHRoZW4gc2V0cyB0aGUgbGVm
dCBwcm9wZXJ0eS4gSXQgd2lsbCBvbmx5IGhhdmUgcmVwcm9kdWNpYmxlIG91dHB1dCB3aGVuIHJ1
biBpbiB0aGUgdGVzdCBzeXN0ZW08L3A+Cis8ZGl2IGlkPSJyZXN1bHRzIj4KKzwvZGl2Pgo=
</data>
<flag name="review"
          id="229368"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>