<?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>20679</bug_id>
          
          <creation_ts>2008-09-05 17:34:37 -0700</creation_ts>
          <short_desc>Need to handle the case when 0% or 100% keyframe is omitted</short_desc>
          <delta_ts>2008-09-09 16:40:17 -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>Mac</rep_platform>
          <op_sys>OS X 10.5</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="Chris Marrin">cmarrin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dino</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>90331</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2008-09-05 17:34:37 -0700</bug_when>
    <thetext>Today we don&apos;t handle the omission of the 0% or 100% keyframe well.

I believe the behavior should be that if you omit the 0% keyframe, the value for the properties being animated before the animation came into scope should be used. And if the 100% keyframe is omitted, I think the keyframe with the largest key time should be used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90332</commentid>
    <comment_count>1</comment_count>
      <attachid>23207</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2008-09-05 17:36:55 -0700</bug_when>
    <thetext>Created attachment 23207
Patch, including LayoutTest file</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90698</commentid>
    <comment_count>2</comment_count>
      <attachid>23207</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-09-09 15:40:58 -0700</bug_when>
    <thetext>Comment on attachment 23207
Patch, including LayoutTest file

+    if (rule-&gt;item(0)-&gt;key() != 0 || rule-&gt;item(rule-&gt;length()-1)-&gt;key() != 1)

We usually write rule-&gt;item(0)-&gt;key() != 0 as just rule-&gt;item(0)-&gt;key().   You need spaces (rule-&gt;length()-1) here between length() and 1.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90703</commentid>
    <comment_count>3</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2008-09-09 16:40:17 -0700</bug_when>
    <thetext>Committed r36303
	M	WebCore/ChangeLog
	M	WebCore/css/CSSStyleSelector.cpp
	M	LayoutTests/ChangeLog
	A	LayoutTests/animations/keyframes-to-missing.html
	A	LayoutTests/animations/keyframes-from-missing.html
	A	LayoutTests/animations/keyframes-to-missing-expected.txt
	A	LayoutTests/animations/keyframes-from-missing-expected.txt

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23207</attachid>
            <date>2008-09-05 17:36:55 -0700</date>
            <delta_ts>2008-09-09 15:40:58 -0700</delta_ts>
            <desc>Patch, including LayoutTest file</desc>
            <filename>20679.patch</filename>
            <type>text/plain</type>
            <size>8089</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNjEyMSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMDgtMDktMDUgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5l
ZWQgdG8gaGFuZGxlIHRoZSBjYXNlIHdoZW4gMCUgb3IgMTAwJSBrZXlmcmFtZSBpcyBvbWl0dGVk
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY3OQor
CisgICAgICAgIFRlc3RzOiBhbmltYXRpb25zL2tleWZyYW1lcy1mcm9tLW1pc3NpbmcuaHRtbAor
ICAgICAgICAgICAgICAgYW5pbWF0aW9ucy9rZXlmcmFtZXMtdG8tbWlzc2luZy5odG1sCisKKyAg
ICAgICAgKiBjc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NT
dHlsZVNlbGVjdG9yOjphZGRLZXlmcmFtZVN0eWxlKToKKwogMjAwOC0wOS0wNSAgRXJpYyBTZWlk
ZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBSb2Jlbi4K
SW5kZXg6IFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCShyZXZpc2lvbiAzNjEyMCkKKysrIFdlYkNv
cmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzQsNyArNDM0
LDExIEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6YWRkS2V5ZnJhbWVTdHlsZSgKICAgICAgICAg
bV9rZXlmcmFtZVJ1bGVNYXAuYWRkKHMuaW1wbCgpLCBsaXN0KTsKICAgICB9CiAgICAgbGlzdC0+
Y2xlYXIoKTsKLSAgICAgICAgICAgICAgICAgICAgCisKKyAgICAvLyBtYWtlIHN1cmUgdGhlcmUg
aXMgYSAwJSBhbmQgYSAxMDAlIGtleWZyYW1lCisgICAgaWYgKHJ1bGUtPml0ZW0oMCktPmtleSgp
ICE9IDAgfHwgcnVsZS0+aXRlbShydWxlLT5sZW5ndGgoKS0xKS0+a2V5KCkgIT0gMSkKKyAgICAg
ICAgcmV0dXJuOworICAgICAgICAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcnVsZS0+
bGVuZ3RoKCk7ICsraSkgewogICAgICAgICBjb25zdCBXZWJLaXRDU1NLZXlmcmFtZVJ1bGUqIGtm
ID0gcnVsZS0+aXRlbShpKTsKICAgICAgICAgbV9zdHlsZSA9IG5ldyAoZG9jLT5yZW5kZXJBcmVu
YSgpKSBSZW5kZXJTdHlsZSgpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMzYxMjEpCisrKyBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAwOC0wOS0w
NSAgQ2hyaXMgTWFycmluICA8Y21hcnJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmVlZCB0byBoYW5kbGUgdGhlIGNhc2Ugd2hl
biAwJSBvciAxMDAlIGtleWZyYW1lIGlzIG9taXR0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjc5CisKKyAgICAgICAgKiBhbmltYXRpb25zL2tl
eWZyYW1lcy1mcm9tLW1pc3NpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBhbmlt
YXRpb25zL2tleWZyYW1lcy1mcm9tLW1pc3NpbmcuaHRtbDogQWRkZWQuCisgICAgICAgICogYW5p
bWF0aW9ucy9rZXlmcmFtZXMtdG8tbWlzc2luZy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGFuaW1hdGlvbnMva2V5ZnJhbWVzLXRvLW1pc3NpbmcuaHRtbDogQWRkZWQuCisKIDIwMDgt
MDktMDQgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBCZXRoIERha2luLgpJbmRleDogTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9rZXlmcmFtZXMt
ZnJvbS1taXNzaW5nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9hbmlt
YXRpb25zL2tleWZyYW1lcy1mcm9tLW1pc3NpbmctZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9rZXlmcmFtZXMtZnJvbS1taXNzaW5nLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitUaGlzIHRlc3QgcGVyZm9ybXMgYW4g
YW5pbWF0aW9uIG9mIHRoZSBsZWZ0IHByb3BlcnR5LiBUaGUgJ2Zyb20nIGtleWZyYW1lIGlzIG1p
c3Npbmcgc28gaXQgc2hvdWxkIG5vdCBhbmltYXRlCitQQVNTCkluZGV4OiBMYXlvdXRUZXN0cy9h
bmltYXRpb25zL2tleWZyYW1lcy1mcm9tLW1pc3NpbmcuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9hbmltYXRpb25zL2tleWZyYW1lcy1mcm9tLW1pc3NpbmcuaHRtbAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2FuaW1hdGlvbnMva2V5ZnJhbWVzLWZyb20tbWlzc2luZy5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDc5IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0v
L1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIgorICAgImh0dHA6Ly93d3cudzMu
b3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+CisKKzxodG1sIGxhbmc9ImVuIj4KKzxoZWFkPgorICA8
bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNl
dD11dGYtOCI+CisgIDx0aXRsZT5LZXlmcmFtZXMgdGVzdCB3aXRoICdmcm9tJyBrZXlmcmFtZSBt
aXNzaW5nPC90aXRsZT4KKyAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4K
KyAgICAjYm94IHsKKyAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICBsZWZ0OiAw
OworICAgICAgICB0b3A6IDEwMHB4OworICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICB3
aWR0aDogMTAwcHg7CisgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7CisgICAgICAgIC13
ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsKKyAgICAgICAgLXdlYmtpdC1hbmltYXRpb24t
dGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7CisgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6
ICJhbmltIjsKKyAgICB9CisgICAgQC13ZWJraXQta2V5ZnJhbWVzICJhbmltIiB7CisgICAgICAg
IDIwJSAgeyBsZWZ0OiAxMDBweDsgfQorICAgICAgICA0MCUgIHsgbGVmdDogMTAwcHg7IH0KKyAg
ICAgICAgNjAlICB7IGxlZnQ6IDIwMHB4OyB9CisgICAgICAgIDgwJSAgeyBsZWZ0OiAyMDBweDsg
fQorICAgICAgICB0byAgIHsgbGVmdDogMzAwcHg7IH0KKyAgICB9CisgICAgPC9zdHlsZT4KKyAg
ICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPgorICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50
aWxEb25lKCk7CisgICAgfQorICAgIAorICAgIHJlc3VsdCA9ICJQQVNTIjsKKyAgICBjb25zdCBk
ZWZhdWx0VG9sZXJhbmNlID0gMC4yOworICAgIAorICAgIGZ1bmN0aW9uIGlzRXF1YWwoYWN0dWFs
LCBkZXNpcmVkLCB0b2xlcmFuY2UpCisgICAgeworICAgICAgICBpZiAodG9sZXJhbmNlID09IHVu
ZGVmaW5lZCB8fCB0b2xlcmFuY2UgPT0gMCkKKyAgICAgICAgICAgIHRvbGVyYW5jZSA9IGRlZmF1
bHRUb2xlcmFuY2U7CisgICAgICAgIHZhciBkaWZmID0gTWF0aC5hYnMoYWN0dWFsIC0gZGVzaXJl
ZCk7CisgICAgICAgIHJldHVybiBkaWZmIDwgdG9sZXJhbmNlOworICAgIH0KKyAgICAKKyAgICBm
dW5jdGlvbiBzbmFwc2hvdCh3aGljaCkKKyAgICB7CisgICAgICAgIGlmIChyZXN1bHQgIT0gIlBB
U1MiKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgCisgICAgICAgIHZhciBsZWZ0
ID0gcGFyc2VJbnQod2luZG93LmdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2JveCcpKS5sZWZ0KTsKKyAgICAgICAgdmFyIGV4cGVjdGVkID0gMDsKKyAgICAgICAgaWYg
KCFpc0VxdWFsKGxlZnQsIGV4cGVjdGVkKSkKKyAgICAgICAgICAgIHJlc3VsdCA9ICJGQUlMKHdh
czoiK2xlZnQrIiwgZXhwZWN0ZWQ6IitleHBlY3RlZCsiKSI7CisgICAgfQorCisgICAgZnVuY3Rp
b24gc3RhcnQoKQorICAgIHsKKyAgICAgICAgc2V0VGltZW91dCgic25hcHNob3QoMCkiLCAzMDAp
OworICAgICAgICBzZXRUaW1lb3V0KCJzbmFwc2hvdCgxKSIsIDcwMCk7CisgICAgICAgIAorICAg
ICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lckhUTUwgPSByZXN1bHQ7CisgICAgICAgICAg
ICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfSwgODAwKTsKKyAgICB9Cisg
ICAgCisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBzdGFydCwgZmFsc2UpOwor
ICAgIAorICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXN0IHBlcmZvcm1zIGFu
IGFuaW1hdGlvbiBvZiB0aGUgbGVmdCBwcm9wZXJ0eS4gVGhlICdmcm9tJyBrZXlmcmFtZSBpcyBt
aXNzaW5nIHNvIGl0IHNob3VsZCBub3QgYW5pbWF0ZQorPGRpdiBpZD0iYm94Ij4KKzwvZGl2Pgor
PGRpdiBpZD0icmVzdWx0Ij4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvYW5pbWF0aW9ucy9rZXlmcmFtZXMtdG8tbWlzc2luZy1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9rZXlmcmFtZXMtdG8tbWlzc2luZy1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9hbmltYXRpb25zL2tleWZyYW1l
cy10by1taXNzaW5nLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyIEBACitU
aGlzIHRlc3QgcGVyZm9ybXMgYW4gYW5pbWF0aW9uIG9mIHRoZSBsZWZ0IHByb3BlcnR5LiBUaGUg
J3RvJyBrZXlmcmFtZSBpcyBtaXNzaW5nIHNvIGl0IHNob3VsZCBub3QgYW5pbWF0ZQorUEFTUwpJ
bmRleDogTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9rZXlmcmFtZXMtdG8tbWlzc2luZy5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2FuaW1hdGlvbnMva2V5ZnJhbWVzLXRvLW1pc3Npbmcu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2FuaW1hdGlvbnMva2V5ZnJhbWVzLXRv
LW1pc3NpbmcuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3OSBAQAorPCFET0NUWVBFIGh0
bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIKKyAgICJo
dHRwOi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGQiPgorCis8aHRtbCBsYW5nPSJlbiI+
Cis8aGVhZD4KKyAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0
L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgorICA8dGl0bGU+S2V5ZnJhbWVzIHRlc3Qgd2l0aCAndG8n
IGtleWZyYW1lIG1pc3Npbmc8L3RpdGxlPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlh
PSJzY3JlZW4iPgorICAgICNib3ggeworICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAg
ICAgIGxlZnQ6IDA7CisgICAgICAgIHRvcDogMTAwcHg7CisgICAgICAgIGhlaWdodDogMTAwcHg7
CisgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsK
KyAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzOworICAgICAgICAtd2Via2l0
LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsKKyAgICAgICAgLXdlYmtpdC1hbmlt
YXRpb24tbmFtZTogImFuaW0iOworICAgIH0KKyAgICBALXdlYmtpdC1rZXlmcmFtZXMgImFuaW0i
IHsKKyAgICAgICAgZnJvbSB7IGxlZnQ6IDUwcHg7IH0KKyAgICAgICAgMjAlICB7IGxlZnQ6IDEw
MHB4OyB9CisgICAgICAgIDQwJSAgeyBsZWZ0OiAxMDBweDsgfQorICAgICAgICA2MCUgIHsgbGVm
dDogMjAwcHg7IH0KKyAgICAgICAgODAlICB7IGxlZnQ6IDIwMHB4OyB9CisgICAgfQorICAgIDwv
c3R5bGU+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04
Ij4KKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKyAgICAKKyAgICByZXN1bHQgPSAiUEFTUyI7Cisg
ICAgY29uc3QgZGVmYXVsdFRvbGVyYW5jZSA9IDAuMjsKKyAgICAKKyAgICBmdW5jdGlvbiBpc0Vx
dWFsKGFjdHVhbCwgZGVzaXJlZCwgdG9sZXJhbmNlKQorICAgIHsKKyAgICAgICAgaWYgKHRvbGVy
YW5jZSA9PSB1bmRlZmluZWQgfHwgdG9sZXJhbmNlID09IDApCisgICAgICAgICAgICB0b2xlcmFu
Y2UgPSBkZWZhdWx0VG9sZXJhbmNlOworICAgICAgICB2YXIgZGlmZiA9IE1hdGguYWJzKGFjdHVh
bCAtIGRlc2lyZWQpOworICAgICAgICByZXR1cm4gZGlmZiA8IHRvbGVyYW5jZTsKKyAgICB9Cisg
ICAgCisgICAgZnVuY3Rpb24gc25hcHNob3Qod2hpY2gpCisgICAgeworICAgICAgICBpZiAocmVz
dWx0ICE9ICJQQVNTIikKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIAorICAgICAg
ICB2YXIgbGVmdCA9IHBhcnNlSW50KHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdib3gnKSkubGVmdCk7CisgICAgICAgIHZhciBleHBlY3RlZCA9IDA7Cisg
ICAgICAgIGlmICghaXNFcXVhbChsZWZ0LCBleHBlY3RlZCkpCisgICAgICAgICAgICByZXN1bHQg
PSAiRkFJTCh3YXM6IitsZWZ0KyIsIGV4cGVjdGVkOiIrZXhwZWN0ZWQrIikiOworICAgIH0KKwor
ICAgIGZ1bmN0aW9uIHN0YXJ0KCkKKyAgICB7CisgICAgICAgIHNldFRpbWVvdXQoInNuYXBzaG90
KDApIiwgMzAwKTsKKyAgICAgICAgc2V0VGltZW91dCgic25hcHNob3QoMSkiLCA3MDApOworICAg
ICAgICAKKyAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJIVE1MID0gcmVzdWx0Owor
ICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0sIDgwMCk7
CisgICAgfQorICAgIAorICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgc3RhcnQs
IGZhbHNlKTsKKyAgICAKKyAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KK1RoaXMgdGVzdCBw
ZXJmb3JtcyBhbiBhbmltYXRpb24gb2YgdGhlIGxlZnQgcHJvcGVydHkuIFRoZSAndG8nIGtleWZy
YW1lIGlzIG1pc3Npbmcgc28gaXQgc2hvdWxkIG5vdCBhbmltYXRlCis8ZGl2IGlkPSJib3giPgor
PC9kaXY+Cis8ZGl2IGlkPSJyZXN1bHQiPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="10332"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>