<?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>33986</bug_id>
          
          <creation_ts>2010-01-21 20:41:38 -0800</creation_ts>
          <short_desc>HTMLInputElement::valueAsDate setter support for type=week.</short_desc>
          <delta_ts>2010-01-24 18:17:23 -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>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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>
          
          <blocked>32697</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>darin</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>183461</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-01-21 20:41:38 -0800</bug_when>
    <thetext>HTMLInputElement::valueAsDate setter support for type=week.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183463</commentid>
    <comment_count>1</comment_count>
      <attachid>47173</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-01-21 20:44:06 -0800</bug_when>
    <thetext>Created attachment 47173
Proposd patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183464</commentid>
    <comment_count>2</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-01-21 20:46:30 -0800</bug_when>
    <thetext>This is the last patch for HTMLInputElement::valueAsDate!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183466</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-21 20:58:40 -0800</bug_when>
    <thetext>Attachment 47173 did not build on mac:
Build output: http://webkit-commit-queue.appspot.com/results/203576</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183470</commentid>
    <comment_count>4</comment_count>
      <attachid>47174</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-01-21 21:09:05 -0800</bug_when>
    <thetext>Created attachment 47174
Proposed patch (rev.2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>183673</commentid>
    <comment_count>5</comment_count>
      <attachid>47174</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-01-22 09:28:59 -0800</bug_when>
    <thetext>Comment on attachment 47174
Proposed patch (rev.2)

&gt; +debug(&apos;Around Geregorian calendar starting year:&apos;);

Typo: &quot;Geregorian&quot;.

&gt; +// Gregorian calendar started in 1582. We don&apos;t suuprot that year.

Typo: &quot;suuprot&quot;.

&gt;      case Week: {
&gt; -        // Offset from January 1st to Monday of the ISO 8601&apos;s first week.
&gt; -        //   ex. If January 1st is Friday, such Monday is 3 days later.
&gt; -        int offsetTo1stWeekStart = 1 - dayOfWeek(m_year, 0, 1);
&gt; -        if (offsetTo1stWeekStart &lt;= -4)
&gt; -            offsetTo1stWeekStart += 7;
&gt; -        return (dateToDaysFrom1970(m_year, 0, 1) + offsetTo1stWeekStart + (m_week - 1) * 7) * msPerDay;
&gt; +        return (dateToDaysFrom1970(m_year, 0, 1) + offsetTo1stWeekStart(m_year) + (m_week - 1) * 7) * msPerDay;
&gt;      }

Should get rid of the unneeded braces here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>184127</commentid>
    <comment_count>6</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-01-24 18:17:23 -0800</bug_when>
    <thetext>Thank you for the review.

(In reply to comment #5)
&gt; (From update of attachment 47174 [details])
&gt; &gt; +debug(&apos;Around Geregorian calendar starting year:&apos;);
&gt; 
&gt; Typo: &quot;Geregorian&quot;.

Fixed.

&gt; &gt; +// Gregorian calendar started in 1582. We don&apos;t suuprot that year.
&gt; 
&gt; Typo: &quot;suuprot&quot;.

Fixed.

&gt; &gt;      case Week: {
&gt; &gt; -        // Offset from January 1st to Monday of the ISO 8601&apos;s first week.
&gt; &gt; -        //   ex. If January 1st is Friday, such Monday is 3 days later.
&gt; &gt; -        int offsetTo1stWeekStart = 1 - dayOfWeek(m_year, 0, 1);
&gt; &gt; -        if (offsetTo1stWeekStart &lt;= -4)
&gt; &gt; -            offsetTo1stWeekStart += 7;
&gt; &gt; -        return (dateToDaysFrom1970(m_year, 0, 1) + offsetTo1stWeekStart + (m_week - 1) * 7) * msPerDay;
&gt; &gt; +        return (dateToDaysFrom1970(m_year, 0, 1) + offsetTo1stWeekStart(m_year) + (m_week - 1) * 7) * msPerDay;
&gt; &gt;      }
&gt; 
&gt; Should get rid of the unneeded braces here.

Fixed.

Landed as r53787.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47173</attachid>
            <date>2010-01-21 20:44:06 -0800</date>
            <delta_ts>2010-01-21 21:08:59 -0800</delta_ts>
            <desc>Proposd patch</desc>
            <filename>bug-33986-20100122134404.patch</filename>
            <type>text/plain</type>
            <size>11835</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyYjY1NzVkLi5jMjgxODI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTggQEAKIDIwMTAtMDEt
MjEgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEhUTUxJbnB1dEVsZW1lbnQ6OnZhbHVlQXNE
YXRlIHNldHRlciBzdXBwb3J0IGZvciB0eXBlPXdlZWsuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzk4NgorCisgICAgICAgIEFkZCBzZXR0ZXIgdGVz
dHMgdG8gaW5wdXQtdmFsdWVhc2RhdGUtZGF0ZXRpbWUuanMsIGFuZCB1cGRhdGUgdGhlCisgICAg
ICAgIGV4cGVjdGF0aW9uLgorCisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dC12YWx1ZWFzZGF0
ZS13ZWVrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9p
bnB1dC12YWx1ZWFzZGF0ZS13ZWVrLmpzOgorCisyMDEwLTAxLTIxICBLZW50IFRhbXVyYSAgPHRr
ZW50QGNocm9taXVtLm9yZz4KKwogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KIAog
ICAgICAgICBIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZUFzRGF0ZSBzZXR0ZXIgc3VwcG9ydCBmb3Ig
dHlwZT1kYXRldGltZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQt
dmFsdWVhc2RhdGUtd2Vlay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lu
cHV0LXZhbHVlYXNkYXRlLXdlZWstZXhwZWN0ZWQudHh0CmluZGV4IGE0ZTljOGIuLmM1ZWZkZjQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtdmFsdWVhc2RhdGUtd2Vl
ay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC12YWx1ZWFz
ZGF0ZS13ZWVrLWV4cGVjdGVkLnR4dApAQCAtMTEsNiArMTEsMjggQEAgUEFTUyB2YWx1ZUFzRGF0
ZUZvcigiMjAwNC1XMDEiKS5nZXRUaW1lKCkgaXMgRGF0ZS5VVEMoMjAwMywgMTEsIDI5LCAwLCAw
LCAwLCAwKQogUEFTUyB2YWx1ZUFzRGF0ZUZvcigiMjAxMC1XMDEiKS5nZXRUaW1lKCkgaXMgRGF0
ZS5VVEMoMjAxMCwgMCwgNCkKIFBBU1MgdmFsdWVBc0RhdGVGb3IoIjIwMDUtVzAxIikuZ2V0VGlt
ZSgpIGlzIERhdGUuVVRDKDIwMDUsIDAsIDMpCiBQQVNTIHZhbHVlQXNEYXRlRm9yKCIyMDA2LVcw
MSIpLmdldFRpbWUoKSBpcyBEYXRlLlVUQygyMDA2LCAwLCAyKQorVmFyaW91cyBKYW51YXJ5IDFz
dDoKK1BBU1Mgc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgyMDA3LCAwLCAxKSBpcyAiMjAwNy1X
MDEiCitQQVNTIHNldFZhbHVlQXNEYXRlQW5kR2V0VmFsdWUoMjAwOCwgMCwgMSkgaXMgIjIwMDgt
VzAxIgorUEFTUyBzZXRWYWx1ZUFzRGF0ZUFuZEdldFZhbHVlKDIwMDMsIDAsIDEpIGlzICIyMDAz
LVcwMSIKK1BBU1Mgc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgyMDA0LCAwLCAxKSBpcyAiMjAw
NC1XMDEiCitQQVNTIHNldFZhbHVlQXNEYXRlQW5kR2V0VmFsdWUoMjAxMCwgMCwgMSkgaXMgIjIw
MDktVzUzIgorUEFTUyBzZXRWYWx1ZUFzRGF0ZUFuZEdldFZhbHVlKDIwMDUsIDAsIDEpIGlzICIy
MDA0LVc1MyIKK1BBU1Mgc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgyMDA2LCAwLCAxKSBpcyAi
MjAwNS1XNTIiCitOb3JtYWwgY2FzZXM6CitQQVNTIHNldFZhbHVlQXNEYXRlQW5kR2V0VmFsdWUo
MjAxMCwgMCwgMykgaXMgIjIwMDktVzUzIgorUEFTUyBzZXRWYWx1ZUFzRGF0ZUFuZEdldFZhbHVl
KDIwMTAsIDAsIDQpIGlzICIyMDEwLVcwMSIKK1BBU1Mgc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1
ZSgyMDEwLCAwLCAxMCkgaXMgIjIwMTAtVzAxIgorUEFTUyBzZXRWYWx1ZUFzRGF0ZUFuZEdldFZh
bHVlKDIwMTAsIDAsIDExKSBpcyAiMjAxMC1XMDIiCitQQVNTIHNldFZhbHVlQXNEYXRlQW5kR2V0
VmFsdWUoMjAxMCwgMCwgMTcpIGlzICIyMDEwLVcwMiIKK1BBU1Mgc2V0VmFsdWVBc0RhdGVBbmRH
ZXRWYWx1ZSgyMDEwLCAxMSwgMzEpIGlzICIyMDEwLVc1MiIKK0Fyb3VuZCBHZXJlZ29yaWFuIGNh
bGVuZGFyIHN0YXJ0aW5nIHllYXI6CitQQVNTIHNldFZhbHVlQXNEYXRlQW5kR2V0VmFsdWUoMTU4
MiwgOSwgMTQpIGlzICIiCitQQVNTIHNldFZhbHVlQXNEYXRlQW5kR2V0VmFsdWUoMTU4MiwgOSwg
MTUpIGlzICIiCitQQVNTIHNldFZhbHVlQXNEYXRlQW5kR2V0VmFsdWUoMTU4MiwgMTEsIDMxKSBp
cyAiIgorUEFTUyBzZXRWYWx1ZUFzRGF0ZUFuZEdldFZhbHVlKDE1ODMsIDAsIDEpIGlzICIiCitQ
QVNTIHNldFZhbHVlQXNEYXRlQW5kR2V0VmFsdWUoMTU4MywgMCwgMikgaXMgIiIKK1BBU1Mgc2V0
VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgxNTgzLCAwLCAzKSBpcyAiMTU4My1XMDEiCiBQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXZhbHVlYXNkYXRlLXdlZWsu
anMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC12YWx1ZWFzZGF0
ZS13ZWVrLmpzCmluZGV4IGY5YzQ2OWUuLjE3NTM2ZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXZhbHVlYXNkYXRlLXdlZWsuanMKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtdmFsdWVhc2RhdGUtd2Vl
ay5qcwpAQCAtOCw2ICs4LDEzIEBAIGZ1bmN0aW9uIHZhbHVlQXNEYXRlRm9yKHN0cmluZ1ZhbHVl
KSB7CiAgICAgcmV0dXJuIGlucHV0LnZhbHVlQXNEYXRlOwogfQogCitmdW5jdGlvbiBzZXRWYWx1
ZUFzRGF0ZUFuZEdldFZhbHVlKHllYXIsIG1vbnRoLCBkYXkpIHsKKyAgICB2YXIgZGF0ZSA9IG5l
dyBEYXRlKCk7CisgICAgZGF0ZS5zZXRUaW1lKERhdGUuVVRDKHllYXIsIG1vbnRoLCBkYXkpKTsK
KyAgICBpbnB1dC52YWx1ZUFzRGF0ZSA9IGRhdGU7CisgICAgcmV0dXJuIGlucHV0LnZhbHVlOwor
fQorCiBzaG91bGRCZSgndmFsdWVBc0RhdGVGb3IoIiIpJywgJ251bGwnKTsKIC8vIEphbnVhcnkg
MXN0IGlzIE1vbmRheS4gVzAxIHN0YXJ0cyBvbiBKYW51YXJ5IDFuZC4KIHNob3VsZEJlKCd2YWx1
ZUFzRGF0ZUZvcigiMjAwNy1XMDEiKS5nZXRUaW1lKCknLCAnRGF0ZS5VVEMoMjAwNywgMCwgMSkn
KTsKQEAgLTI0LDQgKzMxLDMxIEBAIHNob3VsZEJlKCd2YWx1ZUFzRGF0ZUZvcigiMjAwNS1XMDEi
KS5nZXRUaW1lKCknLCAnRGF0ZS5VVEMoMjAwNSwgMCwgMyknKTsKIC8vIEphbnVhcnkgMXN0IGlz
IFN1bmRheS4gVzAxIHN0YXJ0cyBvbiBKYW51YXJ5IDJuZC4KIHNob3VsZEJlKCd2YWx1ZUFzRGF0
ZUZvcigiMjAwNi1XMDEiKS5nZXRUaW1lKCknLCAnRGF0ZS5VVEMoMjAwNiwgMCwgMiknKTsKIAor
ZGVidWcoJ1ZhcmlvdXMgSmFudWFyeSAxc3Q6Jyk7CitzaG91bGRCZSgnc2V0VmFsdWVBc0RhdGVB
bmRHZXRWYWx1ZSgyMDA3LCAwLCAxKScsICciMjAwNy1XMDEiJyk7CitzaG91bGRCZSgnc2V0VmFs
dWVBc0RhdGVBbmRHZXRWYWx1ZSgyMDA4LCAwLCAxKScsICciMjAwOC1XMDEiJyk7CitzaG91bGRC
ZSgnc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgyMDAzLCAwLCAxKScsICciMjAwMy1XMDEiJyk7
CitzaG91bGRCZSgnc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgyMDA0LCAwLCAxKScsICciMjAw
NC1XMDEiJyk7CitzaG91bGRCZSgnc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgyMDEwLCAwLCAx
KScsICciMjAwOS1XNTMiJyk7CitzaG91bGRCZSgnc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgy
MDA1LCAwLCAxKScsICciMjAwNC1XNTMiJyk7CitzaG91bGRCZSgnc2V0VmFsdWVBc0RhdGVBbmRH
ZXRWYWx1ZSgyMDA2LCAwLCAxKScsICciMjAwNS1XNTIiJyk7CisKK2RlYnVnKCdOb3JtYWwgY2Fz
ZXM6Jyk7CitzaG91bGRCZSgnc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgyMDEwLCAwLCAzKScs
ICciMjAwOS1XNTMiJyk7CitzaG91bGRCZSgnc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgyMDEw
LCAwLCA0KScsICciMjAxMC1XMDEiJyk7CitzaG91bGRCZSgnc2V0VmFsdWVBc0RhdGVBbmRHZXRW
YWx1ZSgyMDEwLCAwLCAxMCknLCAnIjIwMTAtVzAxIicpOworc2hvdWxkQmUoJ3NldFZhbHVlQXNE
YXRlQW5kR2V0VmFsdWUoMjAxMCwgMCwgMTEpJywgJyIyMDEwLVcwMiInKTsKK3Nob3VsZEJlKCdz
ZXRWYWx1ZUFzRGF0ZUFuZEdldFZhbHVlKDIwMTAsIDAsIDE3KScsICciMjAxMC1XMDIiJyk7Citz
aG91bGRCZSgnc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgyMDEwLCAxMSwgMzEpJywgJyIyMDEw
LVc1MiInKTsKKworZGVidWcoJ0Fyb3VuZCBHZXJlZ29yaWFuIGNhbGVuZGFyIHN0YXJ0aW5nIHll
YXI6Jyk7CisvLyBHcmVnb3JpYW4gY2FsZW5kYXIgc3RhcnRlZCBpbiAxNTgyLiBXZSBkb24ndCBz
dXVwcm90IHRoYXQgeWVhci4KK3Nob3VsZEJlKCdzZXRWYWx1ZUFzRGF0ZUFuZEdldFZhbHVlKDE1
ODIsIDksIDE0KScsICciIicpOworc2hvdWxkQmUoJ3NldFZhbHVlQXNEYXRlQW5kR2V0VmFsdWUo
MTU4MiwgOSwgMTUpJywgJyIiJyk7CitzaG91bGRCZSgnc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1
ZSgxNTgyLCAxMSwgMzEpJywgJyIiJyk7CisvLyBKYW51YXJ5IDFzdCBpcyBTYXR1cmRheS4gVzAx
IHN0YXJ0cyBvbiBKYW51YXJ5IDNyZC4KK3Nob3VsZEJlKCdzZXRWYWx1ZUFzRGF0ZUFuZEdldFZh
bHVlKDE1ODMsIDAsIDEpJywgJyIiJyk7CitzaG91bGRCZSgnc2V0VmFsdWVBc0RhdGVBbmRHZXRW
YWx1ZSgxNTgzLCAwLCAyKScsICciIicpOworc2hvdWxkQmUoJ3NldFZhbHVlQXNEYXRlQW5kR2V0
VmFsdWUoMTU4MywgMCwgMyknLCAnIjE1ODMtVzAxIicpOworCiB2YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggNTJhYzBhMC4uMWZlMzRiMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyNyBAQAogMjAxMC0wMS0yMSAg
S2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSFRNTElucHV0RWxlbWVudDo6dmFsdWVBc0RhdGUg
c2V0dGVyIHN1cHBvcnQgZm9yIHR5cGU9d2Vlay4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTMzOTg2CisKKyAgICAgICAgSW50cm9kdWNlIElTT0RhdGVU
aW1lOjpzZXRNaWxsaXNlY29uZHNTaW5jZUVwb2NoRm9yV2VlaygpIGFuZCBhZGQKKyAgICAgICAg
V2VlayB0eXBlIHN1cHBvcnQgdG8gSVNPRGF0ZVRpbWU6OnRvU3RyaW5nKCkuCisKKyAgICAgICAg
KiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0
RWxlbWVudDo6dmFsdWVBc0RhdGUpOiBBdm9pZCBkZWZhdWx0Oi4KKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxJbnB1dEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRlKToKKyAgICAgICAgICBBZGQgV0VFSyB0
eXBlIGhhbmRsaW5nIGFuZCBhdm9pZCBkZWZhdWx0Oi4KKyAgICAgICAgKiBodG1sL0lTT0RhdGVU
aW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om9mZnNldFRvMXN0V2Vla1N0YXJ0KToKKyAgICAg
ICAgKFdlYkNvcmU6OklTT0RhdGVUaW1lOjpzZXRNaWxsaXNlY29uZHNTaW5jZUVwb2NoRm9yV2Vl
ayk6CisgICAgICAgIChXZWJDb3JlOjpJU09EYXRlVGltZTo6bWlsbGlzZWNvbmRzU2luY2VFcG9j
aCk6CisgICAgICAgIChXZWJDb3JlOjpJU09EYXRlVGltZTo6dG9TdHJpbmcpOgorICAgICAgICAg
IEFkZCBXZWVrIHR5cGUgc3VwcG9ydCBhbmQgYXZvaWQgZGVmYXVsdDouCisgICAgICAgICogaHRt
bC9JU09EYXRlVGltZS5oOgorCisyMDEwLTAxLTIxICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9t
aXVtLm9yZz4KKwogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KIAogICAgICAgICBI
VE1MSW5wdXRFbGVtZW50Ojp2YWx1ZUFzRGF0ZSBzZXR0ZXIgc3VwcG9ydCBmb3IgdHlwZT1kYXRl
dGltZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCA3OGQxNzg0Li40ZDFkYmZlIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29y
ZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC0xMzc3LDcgKzEzNzcsNiBAQCB2b2lkIEhU
TUxJbnB1dEVsZW1lbnQ6OnNldFZhbHVlKGNvbnN0IFN0cmluZyYgdmFsdWUsIGJvb2wgc2VuZENo
YW5nZUV2ZW50KQogZG91YmxlIEhUTUxJbnB1dEVsZW1lbnQ6OnZhbHVlQXNEYXRlKCkgY29uc3QK
IHsKICAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7Ci0gICAgLy8gdmFsdWVBc0RhdGUgZG9lc24n
dCB3b3JrIGZvciB0aGUgREFURVRJTUVMT0NBTCB0eXBlIGFjY29yZGluZyB0byB0aGUgc3RhbmRh
cmQuCiAgICAgY2FzZSBEQVRFOgogICAgIGNhc2UgREFURVRJTUU6CiAgICAgY2FzZSBNT05USDoK
QEAgLTEzODgsOSArMTM4NywyOSBAQCBkb3VibGUgSFRNTElucHV0RWxlbWVudDo6dmFsdWVBc0Rh
dGUoKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIElTT0RhdGVUaW1lOjppbnZhbGlkTWlsbGlz
ZWNvbmRzKCk7CiAgICAgICAgIHJldHVybiBkYXRlVGltZS5taWxsaXNlY29uZHNTaW5jZUVwb2No
KCk7CiAgICAgfQotICAgIGRlZmF1bHQ6CisgICAgY2FzZSBCVVRUT046CisgICAgY2FzZSBDSEVD
S0JPWDoKKyAgICBjYXNlIENPTE9SOgorICAgIGNhc2UgREFURVRJTUVMT0NBTDogLy8gdmFsdWVB
c0RhdGUgZG9lc24ndCB3b3JrIGZvciB0aGUgREFURVRJTUVMT0NBTCB0eXBlIGFjY29yZGluZyB0
byB0aGUgc3RhbmRhcmQuCisgICAgY2FzZSBFTUFJTDoKKyAgICBjYXNlIEZJTEU6CisgICAgY2Fz
ZSBISURERU46CisgICAgY2FzZSBJTUFHRToKKyAgICBjYXNlIElTSU5ERVg6CisgICAgY2FzZSBO
VU1CRVI6CisgICAgY2FzZSBQQVNTV09SRDoKKyAgICBjYXNlIFJBRElPOgorICAgIGNhc2UgUkFO
R0U6CisgICAgY2FzZSBSRVNFVDoKKyAgICBjYXNlIFNFQVJDSDoKKyAgICBjYXNlIFNVQk1JVDoK
KyAgICBjYXNlIFRFTEVQSE9ORToKKyAgICBjYXNlIFRFWFQ6CisgICAgY2FzZSBVUkw6CiAgICAg
ICAgIHJldHVybiBJU09EYXRlVGltZTo6aW52YWxpZE1pbGxpc2Vjb25kcygpOwogICAgIH0KKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gSVNPRGF0ZVRpbWU6OmludmFsaWRN
aWxsaXNlY29uZHMoKTsKIH0KIAogdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRWYWx1ZUFzRGF0
ZShkb3VibGUgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQpAQCAtMTQxMCw4ICsxNDI5LDI4IEBA
IHZvaWQgSFRNTElucHV0RWxlbWVudDo6c2V0VmFsdWVBc0RhdGUoZG91YmxlIHZhbHVlLCBFeGNl
cHRpb25Db2RlJiBlYykKICAgICBjYXNlIFRJTUU6CiAgICAgICAgIHN1Y2Nlc3MgPSBkYXRlVGlt
ZS5zZXRNaWxsaXNlY29uZHNTaW5jZU1pZG5pZ2h0KHZhbHVlKTsKICAgICAgICAgYnJlYWs7Ci0g
ICAgLy8gRklYTUU6IGltcGxlbWVudGF0aW9ucyBmb3Igb3RoZXIgc3VwcG9ydGVkIHR5cGVzLgot
ICAgIGRlZmF1bHQ6CisgICAgY2FzZSBXRUVLOgorICAgICAgICBzdWNjZXNzID0gZGF0ZVRpbWUu
c2V0TWlsbGlzZWNvbmRzU2luY2VFcG9jaEZvcldlZWsodmFsdWUpOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIEJVVFRPTjoKKyAgICBjYXNlIENIRUNLQk9YOgorICAgIGNhc2UgQ09MT1I6Cisg
ICAgY2FzZSBEQVRFVElNRUxPQ0FMOiAvLyB2YWx1ZUFzRGF0ZSBkb2Vzbid0IHdvcmsgZm9yIHRo
ZSBEQVRFVElNRUxPQ0FMIHR5cGUgYWNjb3JkaW5nIHRvIHRoZSBzdGFuZGFyZC4KKyAgICBjYXNl
IEVNQUlMOgorICAgIGNhc2UgRklMRToKKyAgICBjYXNlIEhJRERFTjoKKyAgICBjYXNlIElNQUdF
OgorICAgIGNhc2UgSVNJTkRFWDoKKyAgICBjYXNlIE5VTUJFUjoKKyAgICBjYXNlIFBBU1NXT1JE
OgorICAgIGNhc2UgUkFESU86CisgICAgY2FzZSBSQU5HRToKKyAgICBjYXNlIFJFU0VUOgorICAg
IGNhc2UgU0VBUkNIOgorICAgIGNhc2UgU1VCTUlUOgorICAgIGNhc2UgVEVMRVBIT05FOgorICAg
IGNhc2UgVEVYVDoKKyAgICBjYXNlIFVSTDoKICAgICAgICAgZWMgPSBJTlZBTElEX1NUQVRFX0VS
UjsKICAgICAgICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JU09E
YXRlVGltZS5jcHAgYi9XZWJDb3JlL2h0bWwvSVNPRGF0ZVRpbWUuY3BwCmluZGV4IGY5YjQ1YjAu
LmNlMWM1MGMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9JU09EYXRlVGltZS5jcHAKKysrIGIv
V2ViQ29yZS9odG1sL0lTT0RhdGVUaW1lLmNwcApAQCAtNTI4LDYgKzUyOCw0NyBAQCBib29sIElT
T0RhdGVUaW1lOjpzZXRNaWxsaXNlY29uZHNTaW5jZU1pZG5pZ2h0KGRvdWJsZSBtcykKICAgICBy
ZXR1cm4gdHJ1ZTsKIH0KIAorLy8gT2Zmc2V0IGZyb20gSmFudWFyeSAxc3QgdG8gTW9uZGF5IG9m
IHRoZSBJU08gODYwMSdzIGZpcnN0IHdlZWsuCisvLyAgIGV4LiBJZiBKYW51YXJ5IDFzdCBpcyBG
cmlkYXksIHN1Y2ggTW9uZGF5IGlzIDMgZGF5cyBsYXRlci4gUmV0dXJucyAzLgorc3RhdGljIGlu
dCBvZmZzZXRUbzFzdFdlZWtTdGFydChpbnQgeWVhcikKK3sKKyAgICBpbnQgb2Zmc2V0VG8xc3RX
ZWVrU3RhcnQgPSAxIC0gZGF5T2ZXZWVrKHllYXIsIDAsIDEpOworICAgIGlmIChvZmZzZXRUbzFz
dFdlZWtTdGFydCA8PSAtNCkKKyAgICAgICAgb2Zmc2V0VG8xc3RXZWVrU3RhcnQgKz0gNzsKKyAg
ICByZXR1cm4gb2Zmc2V0VG8xc3RXZWVrU3RhcnQ7Cit9CisKK2Jvb2wgSVNPRGF0ZVRpbWU6OnNl
dE1pbGxpc2Vjb25kc1NpbmNlRXBvY2hGb3JXZWVrKGRvdWJsZSBtcykKK3sKKyAgICBtX3R5cGUg
PSBJbnZhbGlkOworICAgIGlmICghaXNmaW5pdGUobXMpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgbXMgPSByb3VuZChtcyk7CisKKyAgICBtX3llYXIgPSBtc1RvWWVhcihtcyk7CisgICAg
Ly8gV2UgZG9uJ3Qgc3VwcG9ydCBncmVnb3JpYW5TdGFydFllYXIuIFdlZWsgbnVtYmVycyBhcmUg
dW5kZWZpbmVkIGluIHRoYXQgeWVhci4KKyAgICBpZiAobV95ZWFyIDw9IGdyZWdvcmlhblN0YXJ0
WWVhcikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaW50IHllYXJEYXkgPSBkYXlJblll
YXIobXMsIG1feWVhcik7CisgICAgaW50IG9mZnNldCA9IG9mZnNldFRvMXN0V2Vla1N0YXJ0KG1f
eWVhcik7CisgICAgaWYgKHllYXJEYXkgPCBvZmZzZXQpIHsKKyAgICAgICAgLy8gVGhlIGRheSBi
ZWxvbmdzIHRvIHRoZSBsYXN0IHdlZWsgb2YgdGhlIHByZXZpb3VzIHllYXIuCisgICAgICAgIG1f
eWVhci0tOworICAgICAgICBpZiAobV95ZWFyIDw9IGdyZWdvcmlhblN0YXJ0WWVhcikKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgbV93ZWVrID0gbWF4V2Vla051bWJlckluWWVh
cigpOworICAgIH0gZWxzZSB7CisgICAgICAgIG1fd2VlayA9ICgoeWVhckRheSAtIG9mZnNldCkg
LyA3KSArIDE7CisgICAgICAgIGlmIChtX3dlZWsgPiBtYXhXZWVrTnVtYmVySW5ZZWFyKCkpIHsK
KyAgICAgICAgICAgIG1feWVhcisrOworICAgICAgICAgICAgbV93ZWVrID0gMTsKKyAgICAgICAg
fQorICAgIH0KKyAgICBtX3R5cGUgPSBXZWVrOworICAgIHJldHVybiB0cnVlOworfQorCiBkb3Vi
bGUgSVNPRGF0ZVRpbWU6Om1pbGxpc2Vjb25kc1NpbmNlRXBvY2hGb3JUaW1lKCkgY29uc3QKIHsK
ICAgICBBU1NFUlQobV90eXBlID09IFRpbWUgfHwgbV90eXBlID09IERhdGVUaW1lKTsKQEAgLTU0
NywxMiArNTg4LDcgQEAgZG91YmxlIElTT0RhdGVUaW1lOjptaWxsaXNlY29uZHNTaW5jZUVwb2No
KCkgY29uc3QKICAgICBjYXNlIFRpbWU6CiAgICAgICAgIHJldHVybiBtaWxsaXNlY29uZHNTaW5j
ZUVwb2NoRm9yVGltZSgpOwogICAgIGNhc2UgV2VlazogewotICAgICAgICAvLyBPZmZzZXQgZnJv
bSBKYW51YXJ5IDFzdCB0byBNb25kYXkgb2YgdGhlIElTTyA4NjAxJ3MgZmlyc3Qgd2Vlay4KLSAg
ICAgICAgLy8gICBleC4gSWYgSmFudWFyeSAxc3QgaXMgRnJpZGF5LCBzdWNoIE1vbmRheSBpcyAz
IGRheXMgbGF0ZXIuCi0gICAgICAgIGludCBvZmZzZXRUbzFzdFdlZWtTdGFydCA9IDEgLSBkYXlP
ZldlZWsobV95ZWFyLCAwLCAxKTsKLSAgICAgICAgaWYgKG9mZnNldFRvMXN0V2Vla1N0YXJ0IDw9
IC00KQotICAgICAgICAgICAgb2Zmc2V0VG8xc3RXZWVrU3RhcnQgKz0gNzsKLSAgICAgICAgcmV0
dXJuIChkYXRlVG9EYXlzRnJvbTE5NzAobV95ZWFyLCAwLCAxKSArIG9mZnNldFRvMXN0V2Vla1N0
YXJ0ICsgKG1fd2VlayAtIDEpICogNykgKiBtc1BlckRheTsKKyAgICAgICAgcmV0dXJuIChkYXRl
VG9EYXlzRnJvbTE5NzAobV95ZWFyLCAwLCAxKSArIG9mZnNldFRvMXN0V2Vla1N0YXJ0KG1feWVh
cikgKyAobV93ZWVrIC0gMSkgKiA3KSAqIG1zUGVyRGF5OwogICAgIH0KICAgICBjYXNlIEludmFs
aWQ6CiAgICAgICAgIGJyZWFrOwpAQCAtNTk1LDkgKzYzMSwxMCBAQCBTdHJpbmcgSVNPRGF0ZVRp
bWU6OnRvU3RyaW5nKFNlY29uZEZvcm1hdCBmb3JtYXQpIGNvbnN0CiAgICAgICAgIHJldHVybiBT
dHJpbmc6OmZvcm1hdCgiJTA0ZC0lMDJkIiwgbV95ZWFyLCBtX21vbnRoICsgMSk7CiAgICAgY2Fz
ZSBUaW1lOgogICAgICAgICByZXR1cm4gdG9TdHJpbmdGb3JUaW1lKGZvcm1hdCk7Ci0KLSAgICAv
LyBGSVhNRTogaW1wbGVtZW50YXRpb25zIGZvciBvdGhlciB0eXBlcy4KLSAgICBkZWZhdWx0Ogor
ICAgIGNhc2UgV2VlazoKKyAgICAgICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCIlMDRkLVclMDJk
IiwgbV95ZWFyLCBtX3dlZWspOworICAgIGNhc2UgRGF0ZVRpbWVMb2NhbDoKKyAgICBjYXNlIElu
dmFsaWQ6CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9JU09EYXRlVGltZS5oIGIvV2ViQ29yZS9odG1sL0lT
T0RhdGVUaW1lLmgKaW5kZXggZTUyNmViOS4uODJlMzg0OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9o
dG1sL0lTT0RhdGVUaW1lLmgKKysrIGIvV2ViQ29yZS9odG1sL0lTT0RhdGVUaW1lLmgKQEAgLTEx
Niw3ICsxMTYsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzZXRNaWxsaXNlY29uZHNTaW5jZUVwb2No
Rm9yRGF0ZVRpbWUoZG91YmxlIG1zKTsKICAgICAvLyBGb3IgTW9udGggdHlwZS4gVXBkYXRlcyBt
X3llYXIgYW5kIG1fbW9udGguCiAgICAgYm9vbCBzZXRNaWxsaXNlY29uZHNTaW5jZUVwb2NoRm9y
TW9udGgoZG91YmxlIG1zKTsKLSAgICAvLyBGSVhNRTogQWRkIHNldE1pbGxpc2Vjb25kc1NpbmNl
RXBvY2hGb3IqKCkgZm9yIG90aGVyIHR5cGVzLgorICAgIC8vIEZvciBXZWVrIHR5cGUuIFVwZGF0
ZXMgbV95ZWFyIGFuZCBtX3dlZWsuCisgICAgYm9vbCBzZXRNaWxsaXNlY29uZHNTaW5jZUVwb2No
Rm9yV2Vlayhkb3VibGUgbXMpOwogCiAgICAgLy8gRm9yIFRpbWUgdHlwZS4gVXBkYXRlcyBtX2hv
dXIsIG1fbWludXRlLCBtX3NlY29uZCBhbmQgbV9taWxsaXNlY29uZC4KICAgICBib29sIHNldE1p
bGxpc2Vjb25kc1NpbmNlTWlkbmlnaHQoZG91YmxlIG1zKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47174</attachid>
            <date>2010-01-21 21:09:05 -0800</date>
            <delta_ts>2010-01-22 09:28:59 -0800</delta_ts>
            <desc>Proposed patch (rev.2)</desc>
            <filename>bug-33986-20100122140903.patch</filename>
            <type>text/plain</type>
            <size>11957</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyYjY1NzVkLi5jMjgxODI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTggQEAKIDIwMTAtMDEt
MjEgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEhUTUxJbnB1dEVsZW1lbnQ6OnZhbHVlQXNE
YXRlIHNldHRlciBzdXBwb3J0IGZvciB0eXBlPXdlZWsuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzk4NgorCisgICAgICAgIEFkZCBzZXR0ZXIgdGVz
dHMgdG8gaW5wdXQtdmFsdWVhc2RhdGUtZGF0ZXRpbWUuanMsIGFuZCB1cGRhdGUgdGhlCisgICAg
ICAgIGV4cGVjdGF0aW9uLgorCisgICAgICAgICogZmFzdC9mb3Jtcy9pbnB1dC12YWx1ZWFzZGF0
ZS13ZWVrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9p
bnB1dC12YWx1ZWFzZGF0ZS13ZWVrLmpzOgorCisyMDEwLTAxLTIxICBLZW50IFRhbXVyYSAgPHRr
ZW50QGNocm9taXVtLm9yZz4KKwogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KIAog
ICAgICAgICBIVE1MSW5wdXRFbGVtZW50Ojp2YWx1ZUFzRGF0ZSBzZXR0ZXIgc3VwcG9ydCBmb3Ig
dHlwZT1kYXRldGltZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQt
dmFsdWVhc2RhdGUtd2Vlay1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lu
cHV0LXZhbHVlYXNkYXRlLXdlZWstZXhwZWN0ZWQudHh0CmluZGV4IGE0ZTljOGIuLmM1ZWZkZjQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW5wdXQtdmFsdWVhc2RhdGUtd2Vl
ay1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pbnB1dC12YWx1ZWFz
ZGF0ZS13ZWVrLWV4cGVjdGVkLnR4dApAQCAtMTEsNiArMTEsMjggQEAgUEFTUyB2YWx1ZUFzRGF0
ZUZvcigiMjAwNC1XMDEiKS5nZXRUaW1lKCkgaXMgRGF0ZS5VVEMoMjAwMywgMTEsIDI5LCAwLCAw
LCAwLCAwKQogUEFTUyB2YWx1ZUFzRGF0ZUZvcigiMjAxMC1XMDEiKS5nZXRUaW1lKCkgaXMgRGF0
ZS5VVEMoMjAxMCwgMCwgNCkKIFBBU1MgdmFsdWVBc0RhdGVGb3IoIjIwMDUtVzAxIikuZ2V0VGlt
ZSgpIGlzIERhdGUuVVRDKDIwMDUsIDAsIDMpCiBQQVNTIHZhbHVlQXNEYXRlRm9yKCIyMDA2LVcw
MSIpLmdldFRpbWUoKSBpcyBEYXRlLlVUQygyMDA2LCAwLCAyKQorVmFyaW91cyBKYW51YXJ5IDFz
dDoKK1BBU1Mgc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgyMDA3LCAwLCAxKSBpcyAiMjAwNy1X
MDEiCitQQVNTIHNldFZhbHVlQXNEYXRlQW5kR2V0VmFsdWUoMjAwOCwgMCwgMSkgaXMgIjIwMDgt
VzAxIgorUEFTUyBzZXRWYWx1ZUFzRGF0ZUFuZEdldFZhbHVlKDIwMDMsIDAsIDEpIGlzICIyMDAz
LVcwMSIKK1BBU1Mgc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgyMDA0LCAwLCAxKSBpcyAiMjAw
NC1XMDEiCitQQVNTIHNldFZhbHVlQXNEYXRlQW5kR2V0VmFsdWUoMjAxMCwgMCwgMSkgaXMgIjIw
MDktVzUzIgorUEFTUyBzZXRWYWx1ZUFzRGF0ZUFuZEdldFZhbHVlKDIwMDUsIDAsIDEpIGlzICIy
MDA0LVc1MyIKK1BBU1Mgc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgyMDA2LCAwLCAxKSBpcyAi
MjAwNS1XNTIiCitOb3JtYWwgY2FzZXM6CitQQVNTIHNldFZhbHVlQXNEYXRlQW5kR2V0VmFsdWUo
MjAxMCwgMCwgMykgaXMgIjIwMDktVzUzIgorUEFTUyBzZXRWYWx1ZUFzRGF0ZUFuZEdldFZhbHVl
KDIwMTAsIDAsIDQpIGlzICIyMDEwLVcwMSIKK1BBU1Mgc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1
ZSgyMDEwLCAwLCAxMCkgaXMgIjIwMTAtVzAxIgorUEFTUyBzZXRWYWx1ZUFzRGF0ZUFuZEdldFZh
bHVlKDIwMTAsIDAsIDExKSBpcyAiMjAxMC1XMDIiCitQQVNTIHNldFZhbHVlQXNEYXRlQW5kR2V0
VmFsdWUoMjAxMCwgMCwgMTcpIGlzICIyMDEwLVcwMiIKK1BBU1Mgc2V0VmFsdWVBc0RhdGVBbmRH
ZXRWYWx1ZSgyMDEwLCAxMSwgMzEpIGlzICIyMDEwLVc1MiIKK0Fyb3VuZCBHZXJlZ29yaWFuIGNh
bGVuZGFyIHN0YXJ0aW5nIHllYXI6CitQQVNTIHNldFZhbHVlQXNEYXRlQW5kR2V0VmFsdWUoMTU4
MiwgOSwgMTQpIGlzICIiCitQQVNTIHNldFZhbHVlQXNEYXRlQW5kR2V0VmFsdWUoMTU4MiwgOSwg
MTUpIGlzICIiCitQQVNTIHNldFZhbHVlQXNEYXRlQW5kR2V0VmFsdWUoMTU4MiwgMTEsIDMxKSBp
cyAiIgorUEFTUyBzZXRWYWx1ZUFzRGF0ZUFuZEdldFZhbHVlKDE1ODMsIDAsIDEpIGlzICIiCitQ
QVNTIHNldFZhbHVlQXNEYXRlQW5kR2V0VmFsdWUoMTU4MywgMCwgMikgaXMgIiIKK1BBU1Mgc2V0
VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgxNTgzLCAwLCAzKSBpcyAiMTU4My1XMDEiCiBQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXZhbHVlYXNkYXRlLXdlZWsu
anMgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3NjcmlwdC10ZXN0cy9pbnB1dC12YWx1ZWFzZGF0
ZS13ZWVrLmpzCmluZGV4IGY5YzQ2OWUuLjE3NTM2ZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvc2NyaXB0LXRlc3RzL2lucHV0LXZhbHVlYXNkYXRlLXdlZWsuanMKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9zY3JpcHQtdGVzdHMvaW5wdXQtdmFsdWVhc2RhdGUtd2Vl
ay5qcwpAQCAtOCw2ICs4LDEzIEBAIGZ1bmN0aW9uIHZhbHVlQXNEYXRlRm9yKHN0cmluZ1ZhbHVl
KSB7CiAgICAgcmV0dXJuIGlucHV0LnZhbHVlQXNEYXRlOwogfQogCitmdW5jdGlvbiBzZXRWYWx1
ZUFzRGF0ZUFuZEdldFZhbHVlKHllYXIsIG1vbnRoLCBkYXkpIHsKKyAgICB2YXIgZGF0ZSA9IG5l
dyBEYXRlKCk7CisgICAgZGF0ZS5zZXRUaW1lKERhdGUuVVRDKHllYXIsIG1vbnRoLCBkYXkpKTsK
KyAgICBpbnB1dC52YWx1ZUFzRGF0ZSA9IGRhdGU7CisgICAgcmV0dXJuIGlucHV0LnZhbHVlOwor
fQorCiBzaG91bGRCZSgndmFsdWVBc0RhdGVGb3IoIiIpJywgJ251bGwnKTsKIC8vIEphbnVhcnkg
MXN0IGlzIE1vbmRheS4gVzAxIHN0YXJ0cyBvbiBKYW51YXJ5IDFuZC4KIHNob3VsZEJlKCd2YWx1
ZUFzRGF0ZUZvcigiMjAwNy1XMDEiKS5nZXRUaW1lKCknLCAnRGF0ZS5VVEMoMjAwNywgMCwgMSkn
KTsKQEAgLTI0LDQgKzMxLDMxIEBAIHNob3VsZEJlKCd2YWx1ZUFzRGF0ZUZvcigiMjAwNS1XMDEi
KS5nZXRUaW1lKCknLCAnRGF0ZS5VVEMoMjAwNSwgMCwgMyknKTsKIC8vIEphbnVhcnkgMXN0IGlz
IFN1bmRheS4gVzAxIHN0YXJ0cyBvbiBKYW51YXJ5IDJuZC4KIHNob3VsZEJlKCd2YWx1ZUFzRGF0
ZUZvcigiMjAwNi1XMDEiKS5nZXRUaW1lKCknLCAnRGF0ZS5VVEMoMjAwNiwgMCwgMiknKTsKIAor
ZGVidWcoJ1ZhcmlvdXMgSmFudWFyeSAxc3Q6Jyk7CitzaG91bGRCZSgnc2V0VmFsdWVBc0RhdGVB
bmRHZXRWYWx1ZSgyMDA3LCAwLCAxKScsICciMjAwNy1XMDEiJyk7CitzaG91bGRCZSgnc2V0VmFs
dWVBc0RhdGVBbmRHZXRWYWx1ZSgyMDA4LCAwLCAxKScsICciMjAwOC1XMDEiJyk7CitzaG91bGRC
ZSgnc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgyMDAzLCAwLCAxKScsICciMjAwMy1XMDEiJyk7
CitzaG91bGRCZSgnc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgyMDA0LCAwLCAxKScsICciMjAw
NC1XMDEiJyk7CitzaG91bGRCZSgnc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgyMDEwLCAwLCAx
KScsICciMjAwOS1XNTMiJyk7CitzaG91bGRCZSgnc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgy
MDA1LCAwLCAxKScsICciMjAwNC1XNTMiJyk7CitzaG91bGRCZSgnc2V0VmFsdWVBc0RhdGVBbmRH
ZXRWYWx1ZSgyMDA2LCAwLCAxKScsICciMjAwNS1XNTIiJyk7CisKK2RlYnVnKCdOb3JtYWwgY2Fz
ZXM6Jyk7CitzaG91bGRCZSgnc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgyMDEwLCAwLCAzKScs
ICciMjAwOS1XNTMiJyk7CitzaG91bGRCZSgnc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgyMDEw
LCAwLCA0KScsICciMjAxMC1XMDEiJyk7CitzaG91bGRCZSgnc2V0VmFsdWVBc0RhdGVBbmRHZXRW
YWx1ZSgyMDEwLCAwLCAxMCknLCAnIjIwMTAtVzAxIicpOworc2hvdWxkQmUoJ3NldFZhbHVlQXNE
YXRlQW5kR2V0VmFsdWUoMjAxMCwgMCwgMTEpJywgJyIyMDEwLVcwMiInKTsKK3Nob3VsZEJlKCdz
ZXRWYWx1ZUFzRGF0ZUFuZEdldFZhbHVlKDIwMTAsIDAsIDE3KScsICciMjAxMC1XMDIiJyk7Citz
aG91bGRCZSgnc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1ZSgyMDEwLCAxMSwgMzEpJywgJyIyMDEw
LVc1MiInKTsKKworZGVidWcoJ0Fyb3VuZCBHZXJlZ29yaWFuIGNhbGVuZGFyIHN0YXJ0aW5nIHll
YXI6Jyk7CisvLyBHcmVnb3JpYW4gY2FsZW5kYXIgc3RhcnRlZCBpbiAxNTgyLiBXZSBkb24ndCBz
dXVwcm90IHRoYXQgeWVhci4KK3Nob3VsZEJlKCdzZXRWYWx1ZUFzRGF0ZUFuZEdldFZhbHVlKDE1
ODIsIDksIDE0KScsICciIicpOworc2hvdWxkQmUoJ3NldFZhbHVlQXNEYXRlQW5kR2V0VmFsdWUo
MTU4MiwgOSwgMTUpJywgJyIiJyk7CitzaG91bGRCZSgnc2V0VmFsdWVBc0RhdGVBbmRHZXRWYWx1
ZSgxNTgyLCAxMSwgMzEpJywgJyIiJyk7CisvLyBKYW51YXJ5IDFzdCBpcyBTYXR1cmRheS4gVzAx
IHN0YXJ0cyBvbiBKYW51YXJ5IDNyZC4KK3Nob3VsZEJlKCdzZXRWYWx1ZUFzRGF0ZUFuZEdldFZh
bHVlKDE1ODMsIDAsIDEpJywgJyIiJyk7CitzaG91bGRCZSgnc2V0VmFsdWVBc0RhdGVBbmRHZXRW
YWx1ZSgxNTgzLCAwLCAyKScsICciIicpOworc2hvdWxkQmUoJ3NldFZhbHVlQXNEYXRlQW5kR2V0
VmFsdWUoMTU4MywgMCwgMyknLCAnIjE1ODMtVzAxIicpOworCiB2YXIgc3VjY2Vzc2Z1bGx5UGFy
c2VkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggNTJhYzBhMC4uMWZlMzRiMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyNyBAQAogMjAxMC0wMS0yMSAg
S2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSFRNTElucHV0RWxlbWVudDo6dmFsdWVBc0RhdGUg
c2V0dGVyIHN1cHBvcnQgZm9yIHR5cGU9d2Vlay4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTMzOTg2CisKKyAgICAgICAgSW50cm9kdWNlIElTT0RhdGVU
aW1lOjpzZXRNaWxsaXNlY29uZHNTaW5jZUVwb2NoRm9yV2VlaygpIGFuZCBhZGQKKyAgICAgICAg
V2VlayB0eXBlIHN1cHBvcnQgdG8gSVNPRGF0ZVRpbWU6OnRvU3RyaW5nKCkuCisKKyAgICAgICAg
KiBodG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0
RWxlbWVudDo6dmFsdWVBc0RhdGUpOiBBdm9pZCBkZWZhdWx0Oi4KKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxJbnB1dEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRlKToKKyAgICAgICAgICBBZGQgV0VFSyB0
eXBlIGhhbmRsaW5nIGFuZCBhdm9pZCBkZWZhdWx0Oi4KKyAgICAgICAgKiBodG1sL0lTT0RhdGVU
aW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om9mZnNldFRvMXN0V2Vla1N0YXJ0KToKKyAgICAg
ICAgKFdlYkNvcmU6OklTT0RhdGVUaW1lOjpzZXRNaWxsaXNlY29uZHNTaW5jZUVwb2NoRm9yV2Vl
ayk6CisgICAgICAgIChXZWJDb3JlOjpJU09EYXRlVGltZTo6bWlsbGlzZWNvbmRzU2luY2VFcG9j
aCk6CisgICAgICAgIChXZWJDb3JlOjpJU09EYXRlVGltZTo6dG9TdHJpbmcpOgorICAgICAgICAg
IEFkZCBXZWVrIHR5cGUgc3VwcG9ydCBhbmQgYXZvaWQgZGVmYXVsdDouCisgICAgICAgICogaHRt
bC9JU09EYXRlVGltZS5oOgorCisyMDEwLTAxLTIxICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9t
aXVtLm9yZz4KKwogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KIAogICAgICAgICBI
VE1MSW5wdXRFbGVtZW50Ojp2YWx1ZUFzRGF0ZSBzZXR0ZXIgc3VwcG9ydCBmb3IgdHlwZT1kYXRl
dGltZS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dl
YkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAppbmRleCA3OGQxNzg0Li5hMWZmYjNmIDEw
MDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29y
ZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCkBAIC0xMzc3LDcgKzEzNzcsNiBAQCB2b2lkIEhU
TUxJbnB1dEVsZW1lbnQ6OnNldFZhbHVlKGNvbnN0IFN0cmluZyYgdmFsdWUsIGJvb2wgc2VuZENo
YW5nZUV2ZW50KQogZG91YmxlIEhUTUxJbnB1dEVsZW1lbnQ6OnZhbHVlQXNEYXRlKCkgY29uc3QK
IHsKICAgICBzd2l0Y2ggKGlucHV0VHlwZSgpKSB7Ci0gICAgLy8gdmFsdWVBc0RhdGUgZG9lc24n
dCB3b3JrIGZvciB0aGUgREFURVRJTUVMT0NBTCB0eXBlIGFjY29yZGluZyB0byB0aGUgc3RhbmRh
cmQuCiAgICAgY2FzZSBEQVRFOgogICAgIGNhc2UgREFURVRJTUU6CiAgICAgY2FzZSBNT05USDoK
QEAgLTEzODgsOSArMTM4NywyOSBAQCBkb3VibGUgSFRNTElucHV0RWxlbWVudDo6dmFsdWVBc0Rh
dGUoKSBjb25zdAogICAgICAgICAgICAgcmV0dXJuIElTT0RhdGVUaW1lOjppbnZhbGlkTWlsbGlz
ZWNvbmRzKCk7CiAgICAgICAgIHJldHVybiBkYXRlVGltZS5taWxsaXNlY29uZHNTaW5jZUVwb2No
KCk7CiAgICAgfQotICAgIGRlZmF1bHQ6CisgICAgY2FzZSBCVVRUT046CisgICAgY2FzZSBDSEVD
S0JPWDoKKyAgICBjYXNlIENPTE9SOgorICAgIGNhc2UgREFURVRJTUVMT0NBTDogLy8gdmFsdWVB
c0RhdGUgZG9lc24ndCB3b3JrIGZvciB0aGUgREFURVRJTUVMT0NBTCB0eXBlIGFjY29yZGluZyB0
byB0aGUgc3RhbmRhcmQuCisgICAgY2FzZSBFTUFJTDoKKyAgICBjYXNlIEZJTEU6CisgICAgY2Fz
ZSBISURERU46CisgICAgY2FzZSBJTUFHRToKKyAgICBjYXNlIElTSU5ERVg6CisgICAgY2FzZSBO
VU1CRVI6CisgICAgY2FzZSBQQVNTV09SRDoKKyAgICBjYXNlIFJBRElPOgorICAgIGNhc2UgUkFO
R0U6CisgICAgY2FzZSBSRVNFVDoKKyAgICBjYXNlIFNFQVJDSDoKKyAgICBjYXNlIFNVQk1JVDoK
KyAgICBjYXNlIFRFTEVQSE9ORToKKyAgICBjYXNlIFRFWFQ6CisgICAgY2FzZSBVUkw6CiAgICAg
ICAgIHJldHVybiBJU09EYXRlVGltZTo6aW52YWxpZE1pbGxpc2Vjb25kcygpOwogICAgIH0KKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gSVNPRGF0ZVRpbWU6OmludmFsaWRN
aWxsaXNlY29uZHMoKTsKIH0KIAogdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRWYWx1ZUFzRGF0
ZShkb3VibGUgdmFsdWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQpAQCAtMTQxMCwxMCArMTQyOSwzMyBA
QCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldFZhbHVlQXNEYXRlKGRvdWJsZSB2YWx1ZSwgRXhj
ZXB0aW9uQ29kZSYgZWMpCiAgICAgY2FzZSBUSU1FOgogICAgICAgICBzdWNjZXNzID0gZGF0ZVRp
bWUuc2V0TWlsbGlzZWNvbmRzU2luY2VNaWRuaWdodCh2YWx1ZSk7CiAgICAgICAgIGJyZWFrOwot
ICAgIC8vIEZJWE1FOiBpbXBsZW1lbnRhdGlvbnMgZm9yIG90aGVyIHN1cHBvcnRlZCB0eXBlcy4K
LSAgICBkZWZhdWx0OgorICAgIGNhc2UgV0VFSzoKKyAgICAgICAgc3VjY2VzcyA9IGRhdGVUaW1l
LnNldE1pbGxpc2Vjb25kc1NpbmNlRXBvY2hGb3JXZWVrKHZhbHVlKTsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBCVVRUT046CisgICAgY2FzZSBDSEVDS0JPWDoKKyAgICBjYXNlIENPTE9SOgor
ICAgIGNhc2UgREFURVRJTUVMT0NBTDogLy8gdmFsdWVBc0RhdGUgZG9lc24ndCB3b3JrIGZvciB0
aGUgREFURVRJTUVMT0NBTCB0eXBlIGFjY29yZGluZyB0byB0aGUgc3RhbmRhcmQuCisgICAgY2Fz
ZSBFTUFJTDoKKyAgICBjYXNlIEZJTEU6CisgICAgY2FzZSBISURERU46CisgICAgY2FzZSBJTUFH
RToKKyAgICBjYXNlIElTSU5ERVg6CisgICAgY2FzZSBOVU1CRVI6CisgICAgY2FzZSBQQVNTV09S
RDoKKyAgICBjYXNlIFJBRElPOgorICAgIGNhc2UgUkFOR0U6CisgICAgY2FzZSBSRVNFVDoKKyAg
ICBjYXNlIFNFQVJDSDoKKyAgICBjYXNlIFNVQk1JVDoKKyAgICBjYXNlIFRFTEVQSE9ORToKKyAg
ICBjYXNlIFRFWFQ6CisgICAgY2FzZSBVUkw6CiAgICAgICAgIGVjID0gSU5WQUxJRF9TVEFURV9F
UlI7CiAgICAgICAgIHJldHVybjsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICAgICAgc3VjY2VzcyA9IGZhbHNlOwogICAgIH0KICAgICBpZiAoIXN1Y2Nl
c3MpIHsKICAgICAgICAgc2V0VmFsdWUoU3RyaW5nKCkpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9o
dG1sL0lTT0RhdGVUaW1lLmNwcCBiL1dlYkNvcmUvaHRtbC9JU09EYXRlVGltZS5jcHAKaW5kZXgg
ZjliNDViMC4uY2UxYzUwYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0lTT0RhdGVUaW1lLmNw
cAorKysgYi9XZWJDb3JlL2h0bWwvSVNPRGF0ZVRpbWUuY3BwCkBAIC01MjgsNiArNTI4LDQ3IEBA
IGJvb2wgSVNPRGF0ZVRpbWU6OnNldE1pbGxpc2Vjb25kc1NpbmNlTWlkbmlnaHQoZG91YmxlIG1z
KQogICAgIHJldHVybiB0cnVlOwogfQogCisvLyBPZmZzZXQgZnJvbSBKYW51YXJ5IDFzdCB0byBN
b25kYXkgb2YgdGhlIElTTyA4NjAxJ3MgZmlyc3Qgd2Vlay4KKy8vICAgZXguIElmIEphbnVhcnkg
MXN0IGlzIEZyaWRheSwgc3VjaCBNb25kYXkgaXMgMyBkYXlzIGxhdGVyLiBSZXR1cm5zIDMuCitz
dGF0aWMgaW50IG9mZnNldFRvMXN0V2Vla1N0YXJ0KGludCB5ZWFyKQoreworICAgIGludCBvZmZz
ZXRUbzFzdFdlZWtTdGFydCA9IDEgLSBkYXlPZldlZWsoeWVhciwgMCwgMSk7CisgICAgaWYgKG9m
ZnNldFRvMXN0V2Vla1N0YXJ0IDw9IC00KQorICAgICAgICBvZmZzZXRUbzFzdFdlZWtTdGFydCAr
PSA3OworICAgIHJldHVybiBvZmZzZXRUbzFzdFdlZWtTdGFydDsKK30KKworYm9vbCBJU09EYXRl
VGltZTo6c2V0TWlsbGlzZWNvbmRzU2luY2VFcG9jaEZvcldlZWsoZG91YmxlIG1zKQoreworICAg
IG1fdHlwZSA9IEludmFsaWQ7CisgICAgaWYgKCFpc2Zpbml0ZShtcykpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICBtcyA9IHJvdW5kKG1zKTsKKworICAgIG1feWVhciA9IG1zVG9ZZWFyKG1z
KTsKKyAgICAvLyBXZSBkb24ndCBzdXBwb3J0IGdyZWdvcmlhblN0YXJ0WWVhci4gV2VlayBudW1i
ZXJzIGFyZSB1bmRlZmluZWQgaW4gdGhhdCB5ZWFyLgorICAgIGlmIChtX3llYXIgPD0gZ3JlZ29y
aWFuU3RhcnRZZWFyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpbnQgeWVhckRheSA9
IGRheUluWWVhcihtcywgbV95ZWFyKTsKKyAgICBpbnQgb2Zmc2V0ID0gb2Zmc2V0VG8xc3RXZWVr
U3RhcnQobV95ZWFyKTsKKyAgICBpZiAoeWVhckRheSA8IG9mZnNldCkgeworICAgICAgICAvLyBU
aGUgZGF5IGJlbG9uZ3MgdG8gdGhlIGxhc3Qgd2VlayBvZiB0aGUgcHJldmlvdXMgeWVhci4KKyAg
ICAgICAgbV95ZWFyLS07CisgICAgICAgIGlmIChtX3llYXIgPD0gZ3JlZ29yaWFuU3RhcnRZZWFy
KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBtX3dlZWsgPSBtYXhXZWVrTnVt
YmVySW5ZZWFyKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgbV93ZWVrID0gKCh5ZWFyRGF5IC0g
b2Zmc2V0KSAvIDcpICsgMTsKKyAgICAgICAgaWYgKG1fd2VlayA+IG1heFdlZWtOdW1iZXJJblll
YXIoKSkgeworICAgICAgICAgICAgbV95ZWFyKys7CisgICAgICAgICAgICBtX3dlZWsgPSAxOwor
ICAgICAgICB9CisgICAgfQorICAgIG1fdHlwZSA9IFdlZWs7CisgICAgcmV0dXJuIHRydWU7Cit9
CisKIGRvdWJsZSBJU09EYXRlVGltZTo6bWlsbGlzZWNvbmRzU2luY2VFcG9jaEZvclRpbWUoKSBj
b25zdAogewogICAgIEFTU0VSVChtX3R5cGUgPT0gVGltZSB8fCBtX3R5cGUgPT0gRGF0ZVRpbWUp
OwpAQCAtNTQ3LDEyICs1ODgsNyBAQCBkb3VibGUgSVNPRGF0ZVRpbWU6Om1pbGxpc2Vjb25kc1Np
bmNlRXBvY2goKSBjb25zdAogICAgIGNhc2UgVGltZToKICAgICAgICAgcmV0dXJuIG1pbGxpc2Vj
b25kc1NpbmNlRXBvY2hGb3JUaW1lKCk7CiAgICAgY2FzZSBXZWVrOiB7Ci0gICAgICAgIC8vIE9m
ZnNldCBmcm9tIEphbnVhcnkgMXN0IHRvIE1vbmRheSBvZiB0aGUgSVNPIDg2MDEncyBmaXJzdCB3
ZWVrLgotICAgICAgICAvLyAgIGV4LiBJZiBKYW51YXJ5IDFzdCBpcyBGcmlkYXksIHN1Y2ggTW9u
ZGF5IGlzIDMgZGF5cyBsYXRlci4KLSAgICAgICAgaW50IG9mZnNldFRvMXN0V2Vla1N0YXJ0ID0g
MSAtIGRheU9mV2VlayhtX3llYXIsIDAsIDEpOwotICAgICAgICBpZiAob2Zmc2V0VG8xc3RXZWVr
U3RhcnQgPD0gLTQpCi0gICAgICAgICAgICBvZmZzZXRUbzFzdFdlZWtTdGFydCArPSA3OwotICAg
ICAgICByZXR1cm4gKGRhdGVUb0RheXNGcm9tMTk3MChtX3llYXIsIDAsIDEpICsgb2Zmc2V0VG8x
c3RXZWVrU3RhcnQgKyAobV93ZWVrIC0gMSkgKiA3KSAqIG1zUGVyRGF5OworICAgICAgICByZXR1
cm4gKGRhdGVUb0RheXNGcm9tMTk3MChtX3llYXIsIDAsIDEpICsgb2Zmc2V0VG8xc3RXZWVrU3Rh
cnQobV95ZWFyKSArIChtX3dlZWsgLSAxKSAqIDcpICogbXNQZXJEYXk7CiAgICAgfQogICAgIGNh
c2UgSW52YWxpZDoKICAgICAgICAgYnJlYWs7CkBAIC01OTUsOSArNjMxLDEwIEBAIFN0cmluZyBJ
U09EYXRlVGltZTo6dG9TdHJpbmcoU2Vjb25kRm9ybWF0IGZvcm1hdCkgY29uc3QKICAgICAgICAg
cmV0dXJuIFN0cmluZzo6Zm9ybWF0KCIlMDRkLSUwMmQiLCBtX3llYXIsIG1fbW9udGggKyAxKTsK
ICAgICBjYXNlIFRpbWU6CiAgICAgICAgIHJldHVybiB0b1N0cmluZ0ZvclRpbWUoZm9ybWF0KTsK
LQotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnRhdGlvbnMgZm9yIG90aGVyIHR5cGVzLgotICAgIGRl
ZmF1bHQ6CisgICAgY2FzZSBXZWVrOgorICAgICAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoIiUw
NGQtVyUwMmQiLCBtX3llYXIsIG1fd2Vlayk7CisgICAgY2FzZSBEYXRlVGltZUxvY2FsOgorICAg
IGNhc2UgSW52YWxpZDoKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0lTT0RhdGVUaW1lLmggYi9XZWJDb3Jl
L2h0bWwvSVNPRGF0ZVRpbWUuaAppbmRleCBlNTI2ZWI5Li44MmUzODQ4IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL2h0bWwvSVNPRGF0ZVRpbWUuaAorKysgYi9XZWJDb3JlL2h0bWwvSVNPRGF0ZVRpbWUu
aApAQCAtMTE2LDcgKzExNiw4IEBAIHB1YmxpYzoKICAgICBib29sIHNldE1pbGxpc2Vjb25kc1Np
bmNlRXBvY2hGb3JEYXRlVGltZShkb3VibGUgbXMpOwogICAgIC8vIEZvciBNb250aCB0eXBlLiBV
cGRhdGVzIG1feWVhciBhbmQgbV9tb250aC4KICAgICBib29sIHNldE1pbGxpc2Vjb25kc1NpbmNl
RXBvY2hGb3JNb250aChkb3VibGUgbXMpOwotICAgIC8vIEZJWE1FOiBBZGQgc2V0TWlsbGlzZWNv
bmRzU2luY2VFcG9jaEZvciooKSBmb3Igb3RoZXIgdHlwZXMuCisgICAgLy8gRm9yIFdlZWsgdHlw
ZS4gVXBkYXRlcyBtX3llYXIgYW5kIG1fd2Vlay4KKyAgICBib29sIHNldE1pbGxpc2Vjb25kc1Np
bmNlRXBvY2hGb3JXZWVrKGRvdWJsZSBtcyk7CiAKICAgICAvLyBGb3IgVGltZSB0eXBlLiBVcGRh
dGVzIG1faG91ciwgbV9taW51dGUsIG1fc2Vjb25kIGFuZCBtX21pbGxpc2Vjb25kLgogICAgIGJv
b2wgc2V0TWlsbGlzZWNvbmRzU2luY2VNaWRuaWdodChkb3VibGUgbXMpOwo=
</data>
<flag name="review"
          id="29577"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>