<?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>24211</bug_id>
          
          <creation_ts>2009-02-26 15:37:47 -0800</creation_ts>
          <short_desc>Add ScheduledAction for V8</short_desc>
          <delta_ts>2009-03-03 13:26:07 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>All</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="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>111333</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-02-26 15:37:47 -0800</bug_when>
    <thetext>Initial scrubbing here: http://codereview.chromium.org/27230</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>111334</commentid>
    <comment_count>1</comment_count>
      <attachid>28046</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-02-26 15:38:43 -0800</bug_when>
    <thetext>Created attachment 28046
2009-02-26  Gustavo Noronha Silva  &lt;gns@gnome.org&gt;


        Unreviewed build fix for building with GNOME Keyring enabled.

        * platform/network/soup/webkit-soup-auth-dialog.c:
        (show_auth_dialog):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41271 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
 WebCore/ChangeLog                                  |    7 +++++++
 .../network/soup/webkit-soup-auth-dialog.c         |    2 +-
 2 files changed, 8 insertions(+), 1 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>111335</commentid>
    <comment_count>2</comment_count>
      <attachid>28047</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-02-26 15:38:45 -0800</bug_when>
    <thetext>Created attachment 28047
2009-02-26  Dimitri Glazkov  &lt;dglazkov@chromium.org&gt;


        Reviewed by Eric Seidel.

        http://codereview.chromium.org/27217
        Add custom V8 bindings for Navigator, Clipboard, Document, and Node.

        * bindings/v8/custom/V8ClipboardCustom.cpp: Added.
        (WebCore::ACCESSOR_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8DocumentCustom.cpp: Added.
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8NavigatorCustom.cpp: Added.
        (WebCore::ACCESSOR_GETTER):
        * bindings/v8/custom/V8NodeCustom.cpp: Added.
        (WebCore::CALLBACK_FUNC_DECL):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41272 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
 WebCore/ChangeLog                                |   17 +++
 WebCore/bindings/v8/custom/V8ClipboardCustom.cpp |  141 ++++++++++++++++++++++
 WebCore/bindings/v8/custom/V8DocumentCustom.cpp  |   86 +++++++++++++
 WebCore/bindings/v8/custom/V8NavigatorCustom.cpp |   48 ++++++++
 WebCore/bindings/v8/custom/V8NodeCustom.cpp      |   86 +++++++++++++
 5 files changed, 378 insertions(+), 0 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>111336</commentid>
    <comment_count>3</comment_count>
      <attachid>28048</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-02-26 15:38:46 -0800</bug_when>
    <thetext>Created attachment 28048
Fix ChangeLog entry


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41273 268f45cc-cd09-0410-ab3c-d52691b4dbfc
---
 WebCore/ChangeLog |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>111339</commentid>
    <comment_count>4</comment_count>
      <attachid>28050</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-02-26 15:40:34 -0800</bug_when>
    <thetext>Created attachment 28050
Add ScheduledAction for V8, v1.

 WebCore/ChangeLog                       |   14 ++++
 WebCore/bindings/v8/ScheduledAction.cpp |  114 +++++++++++++++++++++++++++++++
 WebCore/bindings/v8/ScheduledAction.h   |   65 +++++++++++++++++
 3 files changed, 193 insertions(+), 0 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>111341</commentid>
    <comment_count>5</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-02-26 15:41:38 -0800</bug_when>
    <thetext>Automation&apos;s gotten the best of me. Sorry for extra attachments and comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>111351</commentid>
    <comment_count>6</comment_count>
      <attachid>28050</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-02-26 16:47:53 -0800</bug_when>
    <thetext>Comment on attachment 28050
Add ScheduledAction for V8, v1.

Looks fine here too. ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>112072</commentid>
    <comment_count>7</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-03-03 13:26:07 -0800</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/41286.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28046</attachid>
            <date>2009-02-26 15:38:43 -0800</date>
            <delta_ts>2009-02-26 15:39:02 -0800</delta_ts>
            <desc>2009-02-26  Gustavo Noronha Silva  &lt;gns@gnome.org&gt;</desc>
            <filename>2009-02-26-Gustavo-Noronha-Silva-gns-gnome.org-.patch</filename>
            <type>text/plain</type>
            <size>1303</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">NGRiNjNmMTY1MmZjZTIyOWU5OGRjZjhiNjIyYmMyZmI4NzgxNTQwOApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2ZGYxZTIzLi5hNmE3ZWQ3
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEwIEBACisyMDA5LTAyLTI2ICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxnbnNA
Z25vbWUub3JnPgorCisgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4IGZvciBidWlsZGluZyB3
aXRoIEdOT01FIEtleXJpbmcgZW5hYmxlZC4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
c291cC93ZWJraXQtc291cC1hdXRoLWRpYWxvZy5jOgorICAgICAgICAoc2hvd19hdXRoX2RpYWxv
Zyk6CisKIDIwMDktMDItMjYgIFhhbiBMb3BleiAgPHhhbkBnbm9tZS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgSG9sZ2VyIEZyZXl0aGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvd2Via2l0LXNvdXAtYXV0aC1kaWFsb2cuYyBiL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL3dlYmtpdC1zb3VwLWF1dGgtZGlhbG9nLmMKaW5kZXggZTY5YWZlOS4u
YmNmMTQzMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvd2Via2l0
LXNvdXAtYXV0aC1kaWFsb2cuYworKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC93
ZWJraXQtc291cC1hdXRoLWRpYWxvZy5jCkBAIC0yNjYsNyArMjY2LDcgQEAgc3RhdGljIHZvaWQg
c2hvd19hdXRoX2RpYWxvZyhXZWJLaXRBdXRoRGF0YSogYXV0aERhdGEsIGNvbnN0IGNoYXIqIGxv
Z2luLCBjb25zdAogICAgIGd0a19ib3hfcGFja19zdGFydCAoR1RLX0JPWCAodmJveCksIHJlbWVt
YmVyQm94LAogICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsIEZBTFNFLCAwKTsKIAotICAg
IGNoZWNrQnV0dG9uID0gZ3RrX2NoZWNrQnV0dG9uX25ld193aXRoX2xhYmVsKCJSZW1lbWJlciBw
YXNzd29yZCIpOworICAgIGNoZWNrQnV0dG9uID0gZ3RrX2NoZWNrX2J1dHRvbl9uZXdfd2l0aF9s
YWJlbCgiUmVtZW1iZXIgcGFzc3dvcmQiKTsKICAgICBpZiAobG9naW4gJiYgcGFzc3dvcmQpCiAg
ICAgICAgIGd0a190b2dnbGVfYnV0dG9uX3NldF9hY3RpdmUoR1RLX1RPR0dMRV9CVVRUT04oY2hl
Y2tCdXR0b24pLCBUUlVFKTsKICAgICBndGtfbGFiZWxfc2V0X2xpbmVfd3JhcChHVEtfTEFCRUwo
Z3RrX2Jpbl9nZXRfY2hpbGQoR1RLX0JJTihjaGVja0J1dHRvbikpKSwgVFJVRSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28047</attachid>
            <date>2009-02-26 15:38:45 -0800</date>
            <delta_ts>2009-02-26 15:39:17 -0800</delta_ts>
            <desc>2009-02-26  Dimitri Glazkov  &lt;dglazkov@chromium.org&gt;</desc>
            <filename>2009-02-26-Dimitri-Glazkov-dglazkov-chromium.org-.patch</filename>
            <type>text/plain</type>
            <size>15648</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">N2VlOWQzNDNkMThkOTJjMTUzY2Q5YzFmZDJlMTE4NTYzYmZlOGY0YgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhNmE3ZWQ3Li43ZDZiOGUx
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIwIEBACisyMDA5LTAyLTI2ICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCisKKyAgICAg
ICAgaHR0cDovL2NvZGVyZXZpZXcuY2hyb21pdW0ub3JnLzI3MjE3CisgICAgICAgIEFkZCBjdXN0
b20gVjggYmluZGluZ3MgZm9yIE5hdmlnYXRvciwgQ2xpcGJvYXJkLCBEb2N1bWVudCwgYW5kIE5v
ZGUuCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhDbGlwYm9hcmRDdXN0b20uY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFDQ0VTU09SX0dFVFRFUik6CisgICAgICAgIChX
ZWJDb3JlOjpDQUxMQkFDS19GVU5DX0RFQ0wpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3Rv
bS9WOERvY3VtZW50Q3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDQUxMQkFD
S19GVU5DX0RFQ0wpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvckN1
c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6QUNDRVNTT1JfR0VUVEVSKToKKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpDQUxMQkFDS19GVU5DX0RFQ0wpOgorCiAyMDA5LTAyLTI2ICBHdXN0YXZv
IE5vcm9uaGEgU2lsdmEgIDxnbnNAZ25vbWUub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVp
bGQgZml4IGZvciBidWlsZGluZyB3aXRoIEdOT01FIEtleXJpbmcgZW5hYmxlZC4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q2xpcGJvYXJkQ3VzdG9tLmNwcCBiL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q2xpcGJvYXJkQ3VzdG9tLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOWI4NjU1Ci0tLSAvZGV2L251bGwKKysrIGIvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDbGlwYm9hcmRDdXN0b20uY3BwCkBAIC0wLDAgKzEs
MTQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDkgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
cgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBv
ZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgY2xpcGJvYXJk
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBj
bGlwYm9hcmRMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ2xp
cGJvYXJkLmgiCisKKyNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRN
TE5hbWVzLmgiCisjaW5jbHVkZSAiSW50UG9pbnQuaCIKKyNpbmNsdWRlICJOb2RlLmgiCisjaW5j
bHVkZSAiRWxlbWVudC5oIgorCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCisjaW5jbHVkZSAiVjhD
dXN0b21CaW5kaW5nLmgiCisjaW5jbHVkZSAiVjhOb2RlLmgiCisjaW5jbHVkZSAiVjhQcm94eS5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0FDQ0VTU09SX0dFVFRFUihDbGlwYm9hcmRUeXBl
cykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5DbGlwYm9hcmQudHlwZXMoKSIpOworICAgIENsaXBi
b2FyZCogY2xpcGJvYXJkID0gVjhQcm94eTo6VG9OYXRpdmVPYmplY3Q8Q2xpcGJvYXJkPihWOENs
YXNzSW5kZXg6OkNMSVBCT0FSRCwgaW5mby5Ib2xkZXIoKSk7CisKKyAgICBIYXNoU2V0PFN0cmlu
Zz4gdHlwZXMgPSBjbGlwYm9hcmQtPnR5cGVzKCk7CisgICAgaWYgKHR5cGVzLmlzRW1wdHkoKSkK
KyAgICAgICAgcmV0dXJuIHY4OjpOdWxsKCk7CisKKyAgICB2ODo6TG9jYWw8djg6OkFycmF5PiBy
ZXN1bHQgPSB2ODo6QXJyYXk6Ok5ldyh0eXBlcy5zaXplKCkpOworICAgIEhhc2hTZXQ8U3RyaW5n
Pjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gdHlwZXMuZW5kKCk7CisgICAgaW50IGluZGV4ID0gMDsK
KyAgICBmb3IgKEhhc2hTZXQ8U3RyaW5nPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSB0eXBlcy5iZWdp
bigpOyBpdCAhPSBlbmQ7ICsraXQsICsraW5kZXgpCisgICAgICAgIHJlc3VsdC0+U2V0KHY4OjpJ
bnRlZ2VyOjpOZXcoaW5kZXgpLCB2OFN0cmluZygqaXQpKTsKKworICAgIHJldHVybiByZXN1bHQ7
Cit9CisKK0NBTExCQUNLX0ZVTkNfREVDTChDbGlwYm9hcmRDbGVhckRhdGEpCit7CisgICAgSU5D
X1NUQVRTKCJET00uQ2xpcGJvYXJkLmNsZWFyRGF0YSgpIik7CisgICAgQ2xpcGJvYXJkKiBjbGlw
Ym9hcmQgPSBWOFByb3h5OjpUb05hdGl2ZU9iamVjdDxDbGlwYm9hcmQ+KFY4Q2xhc3NJbmRleDo6
Q0xJUEJPQVJELCBhcmdzLkhvbGRlcigpKTsKKworICAgIGlmICghYXJncy5MZW5ndGgoKSkgewor
ICAgICAgICBjbGlwYm9hcmQtPmNsZWFyQWxsRGF0YSgpOworICAgICAgICByZXR1cm4gdjg6OlVu
ZGVmaW5lZCgpOworICAgIH0KKworICAgIGlmIChhcmdzLkxlbmd0aCgpICE9IDEpCisgICAgICAg
IHJldHVybiB0aHJvd0Vycm9yKCJjbGVhckRhdGE6IEludmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50
cyIsIFY4UHJveHk6OlNZTlRBWF9FUlJPUik7CisKKyAgICBTdHJpbmcgdHlwZSA9IHRvV2ViQ29y
ZVN0cmluZyhhcmdzWzBdKTsKKyAgICBjbGlwYm9hcmQtPmNsZWFyRGF0YSh0eXBlKTsKKyAgICBy
ZXR1cm4gdjg6OlVuZGVmaW5lZCgpOworfQorCitDQUxMQkFDS19GVU5DX0RFQ0woQ2xpcGJvYXJk
R2V0RGF0YSkKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5DbGlwYm9hcmQuZ2V0RGF0YSgpIik7Cisg
ICAgQ2xpcGJvYXJkKiBjbGlwYm9hcmQgPSBWOFByb3h5OjpUb05hdGl2ZU9iamVjdDxDbGlwYm9h
cmQ+KFY4Q2xhc3NJbmRleDo6Q0xJUEJPQVJELCBhcmdzLkhvbGRlcigpKTsKKworICAgIGlmIChh
cmdzLkxlbmd0aCgpICE9IDEpCisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJnZXREYXRhOiBJ
bnZhbGlkIG51bWJlciBvZiBhcmd1bWVudHMiLCBWOFByb3h5OjpTWU5UQVhfRVJST1IpOworCisg
ICAgYm9vbCBzdWNjZXNzOworICAgIFN0cmluZyByZXN1bHQgPSBjbGlwYm9hcmQtPmdldERhdGEo
dG9XZWJDb3JlU3RyaW5nKGFyZ3NbMF0pLCBzdWNjZXNzKTsKKyAgICBpZiAoc3VjY2VzcykKKyAg
ICAgICAgcmV0dXJuIHY4U3RyaW5nKHJlc3VsdCk7CisKKyAgICByZXR1cm4gdjg6OlVuZGVmaW5l
ZCgpOworfQorCitDQUxMQkFDS19GVU5DX0RFQ0woQ2xpcGJvYXJkU2V0RGF0YSkKK3sKKyAgICBJ
TkNfU1RBVFMoIkRPTS5DbGlwYm9hcmQuc2V0RGF0YSgpIik7CisgICAgQ2xpcGJvYXJkKiBjbGlw
Ym9hcmQgPSBWOFByb3h5OjpUb05hdGl2ZU9iamVjdDxDbGlwYm9hcmQ+KFY4Q2xhc3NJbmRleDo6
Q0xJUEJPQVJELCBhcmdzLkhvbGRlcigpKTsKKworICAgIGlmIChhcmdzLkxlbmd0aCgpICE9IDIp
CisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCJzZXREYXRhOiBJbnZhbGlkIG51bWJlciBvZiBh
cmd1bWVudHMiLCBWOFByb3h5OjpTWU5UQVhfRVJST1IpOworCisgICAgU3RyaW5nIHR5cGUgPSB0
b1dlYkNvcmVTdHJpbmcoYXJnc1swXSk7CisgICAgU3RyaW5nIGRhdGEgPSB0b1dlYkNvcmVTdHJp
bmcoYXJnc1sxXSk7CisgICAgcmV0dXJuIHY4Qm9vbGVhbihjbGlwYm9hcmQtPnNldERhdGEodHlw
ZSwgZGF0YSkpOworfQorCitDQUxMQkFDS19GVU5DX0RFQ0woQ2xpcGJvYXJkU2V0RHJhZ0ltYWdl
KQoreworICAgIElOQ19TVEFUUygiRE9NLkNsaXBib2FyZC5zZXREcmFnSW1hZ2UoKSIpOworICAg
IENsaXBib2FyZCogY2xpcGJvYXJkID0gVjhQcm94eTo6VG9OYXRpdmVPYmplY3Q8Q2xpcGJvYXJk
PihWOENsYXNzSW5kZXg6OkNMSVBCT0FSRCwgYXJncy5Ib2xkZXIoKSk7CisKKyAgICBpZiAoIWNs
aXBib2FyZC0+aXNGb3JEcmFnZ2luZygpKQorICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgp
OworCisgICAgaWYgKGFyZ3MuTGVuZ3RoKCkgIT0gMykKKyAgICAgICAgcmV0dXJuIHRocm93RXJy
b3IoInNldERyYWdJbWFnZTogSW52YWxpZCBudW1iZXIgb2YgYXJndW1lbnRzIiwgVjhQcm94eTo6
U1lOVEFYX0VSUk9SKTsKKworICAgIGludCB4ID0gdG9JbnQzMihhcmdzWzFdKTsKKyAgICBpbnQg
eSA9IHRvSW50MzIoYXJnc1syXSk7CisKKyAgICBOb2RlKiBub2RlID0gMDsKKyAgICBpZiAoVjhO
b2RlOjpIYXNJbnN0YW5jZShhcmdzWzBdKSkKKyAgICAgICAgbm9kZSA9IFY4UHJveHk6OkRPTVdy
YXBwZXJUb05vZGU8Tm9kZT4oYXJnc1swXSk7CisKKyAgICBpZiAoIW5vZGUgfHwgIW5vZGUtPmlz
RWxlbWVudE5vZGUoKSkKKyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoInNldERyYWdJbWFnZUZy
b21FbGVtZW50OiBJbnZhbGlkIGZpcnN0IGFyZ3VtZW50Iik7CisKKyAgICBpZiAoc3RhdGljX2Nh
c3Q8RWxlbWVudCo+KG5vZGUpLT5oYXNMb2NhbE5hbWUoSFRNTE5hbWVzOjppbWdUYWcpICYmICFu
b2RlLT5pbkRvY3VtZW50KCkpCisgICAgICAgIGNsaXBib2FyZC0+c2V0RHJhZ0ltYWdlKHN0YXRp
Y19jYXN0PEhUTUxJbWFnZUVsZW1lbnQqPihub2RlKS0+Y2FjaGVkSW1hZ2UoKSwgSW50UG9pbnQo
eCwgeSkpOworICAgIGVsc2UKKyAgICAgICAgY2xpcGJvYXJkLT5zZXREcmFnSW1hZ2VFbGVtZW50
KG5vZGUsIEludFBvaW50KHgsIHkpKTsKKworICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4RG9jdW1lbnRDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhEb2N1bWVudEN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uMDdjNjc0NQotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4RG9jdW1lbnRDdXN0b20uY3BwCkBAIC0wLDAgKzEsODYgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDctMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBkb2N1bWVudExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgZG9jdW1lbnRMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKworI2luY2x1ZGUgIkV4Y2Vw
dGlvbkNvZGUuaCIKKyNpbmNsdWRlICJKU1hQYXRoTlNSZXNvbHZlci5oIgorI2luY2x1ZGUgIk5v
ZGUuaCIKKyNpbmNsdWRlICJYUGF0aE5TUmVzb2x2ZXIuaCIKKyNpbmNsdWRlICJYUGF0aFJlc3Vs
dC5oIgorCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCisjaW5jbHVkZSAiVjhDdXN0b21CaW5kaW5n
LmgiCisjaW5jbHVkZSAiVjhOb2RlLmgiCisjaW5jbHVkZSAiVjhQcm94eS5oIgorI2luY2x1ZGUg
IlY4WFBhdGhOU1Jlc29sdmVyLmgiCisjaW5jbHVkZSAiVjhYUGF0aFJlc3VsdC5oIgorCisjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0NBTExCQUNLX0ZV
TkNfREVDTChEb2N1bWVudEV2YWx1YXRlKQoreworICAgIElOQ19TVEFUUygiRE9NLkRvY3VtZW50
LmV2YWx1YXRlKCkiKTsKKworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IFY4UHJveHk6OkRPTVdy
YXBwZXJUb05vZGU8RG9jdW1lbnQ+KGFyZ3MuSG9sZGVyKCkpOworICAgIEV4Y2VwdGlvbkNvZGUg
ZWMgPSAwOworICAgIFN0cmluZyBleHByZXNzaW9uID0gdG9XZWJDb3JlU3RyaW5nKGFyZ3NbMF0p
OworICAgIE5vZGUqIGNvbnRleHROb2RlID0gMDsKKyAgICBpZiAoVjhOb2RlOjpIYXNJbnN0YW5j
ZShhcmdzWzFdKSkKKyAgICAgICAgY29udGV4dE5vZGUgPSBWOFByb3h5OjpET01XcmFwcGVyVG9O
b2RlPE5vZGU+KGFyZ3NbMV0pOworCisgICAgWFBhdGhOU1Jlc29sdmVyKiByZXNvbHZlciA9IDA7
CisgICAgaWYgKFY4WFBhdGhOU1Jlc29sdmVyOjpIYXNJbnN0YW5jZShhcmdzWzJdKSkKKyAgICAg
ICAgcmVzb2x2ZXIgPSBWOFByb3h5OjpUb05hdGl2ZU9iamVjdDxYUGF0aE5TUmVzb2x2ZXI+KFY4
Q2xhc3NJbmRleDo6WFBBVEhOU1JFU09MVkVSLCBhcmdzWzJdKTsKKyAgICBlbHNlIGlmIChhcmdz
WzJdLT5Jc09iamVjdCgpKQorICAgICAgICByZXNvbHZlciA9IG5ldyBKU1hQYXRoTlNSZXNvbHZl
cihhcmdzWzJdLT5Ub09iamVjdCgpKTsKKyAgICBlbHNlIGlmICghYXJnc1syXS0+SXNOdWxsKCkg
JiYgIWFyZ3NbMl0tPklzVW5kZWZpbmVkKCkpCisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKFRZ
UEVfTUlTTUFUQ0hfRVJSKTsKKworICAgIGludCB0eXBlID0gdG9JbnQzMihhcmdzWzNdKTsKKyAg
ICBYUGF0aFJlc3VsdCogaW5SZXN1bHQgPSAwOworICAgIGlmIChWOFhQYXRoUmVzdWx0OjpIYXNJ
bnN0YW5jZShhcmdzWzRdKSkKKyAgICAgICAgaW5SZXN1bHQgPSBWOFByb3h5OjpUb05hdGl2ZU9i
amVjdDxYUGF0aFJlc3VsdD4oVjhDbGFzc0luZGV4OjpYUEFUSFJFU1VMVCwgYXJnc1s0XSk7CisK
KyAgICB2ODo6VHJ5Q2F0Y2ggZXhjZXB0aW9uQ2F0Y2hlcjsKKyAgICBSZWZQdHI8WFBhdGhSZXN1
bHQ+IHJlc3VsdCA9IGRvY3VtZW50LT5ldmFsdWF0ZShleHByZXNzaW9uLCBjb250ZXh0Tm9kZSwg
cmVzb2x2ZXIsIHR5cGUsIGluUmVzdWx0LCBlYyk7CisgICAgaWYgKGV4Y2VwdGlvbkNhdGNoZXIu
SGFzQ2F1Z2h0KCkpCisgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGV4Y2VwdGlvbkNhdGNoZXIu
RXhjZXB0aW9uKCkpOworCisgICAgaWYgKGVjKQorICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihl
Yyk7CisKKyAgICByZXR1cm4gVjhQcm94eTo6VG9WOE9iamVjdChWOENsYXNzSW5kZXg6OlhQQVRI
UkVTVUxULCByZXN1bHQuZ2V0KCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvckN1c3RvbS5jcHAg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5hdmlnYXRvckN1c3RvbS5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDZjMDlhMgotLS0gL2Rldi9udWxsCisrKyBi
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TmF2aWdhdG9yQ3VzdG9tLmNwcApAQCAtMCww
ICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDkgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgbmF2aWdh
dG9yTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBuYXZpZ2F0b3JMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
TmF2aWdhdG9yLmgiCisKKyNpbmNsdWRlICJWOEJpbmRpbmcuaCIKKyNpbmNsdWRlICJWOEN1c3Rv
bUJpbmRpbmcuaCIKKyNpbmNsdWRlICJWOFByb3h5LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworQUNDRVNTT1JfR0VUVEVSKE5hdmlnYXRvckFwcFZlcnNpb24pCit7CisgICAgSU5DX1NUQVRT
KCJET00uTmF2aWdhdG9yLmFwcFZlcnNpb24iKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
IGhvbGRlciA9IGluZm8uSG9sZGVyKCk7CisgICAgTmF2aWdhdG9yKiBuYXZpZ2F0b3IgPSBWOFBy
b3h5OjpUb05hdGl2ZU9iamVjdDxOYXZpZ2F0b3I+KFY4Q2xhc3NJbmRleDo6TkFWSUdBVE9SLCBo
b2xkZXIpOworICAgIHJldHVybiB2OFN0cmluZ09yVW5kZWZpbmVkKG5hdmlnYXRvci0+YXBwVmVy
c2lvbigpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uYmYzMDQxNAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4Tm9kZUN1c3RvbS5jcHAKQEAgLTAsMCArMSw4NiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAwNy0yMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIk5vZGUuaCIKKworI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVk
ZSAiRXZlbnRMaXN0ZW5lci5oIgorCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCisjaW5jbHVkZSAi
VjhDdXN0b21CaW5kaW5nLmgiCisjaW5jbHVkZSAiVjhDdXN0b21FdmVudExpc3RlbmVyLmgiCisj
aW5jbHVkZSAiVjhQcm94eS5oIgorCisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK0NBTExCQUNLX0ZVTkNfREVDTChOb2RlQWRkRXZlbnRMaXN0ZW5lcikK
K3sKKyAgICBJTkNfU1RBVFMoIkRPTS5Ob2RlLmFkZEV2ZW50TGlzdGVuZXIoKSIpOworICAgIE5v
ZGUqIG5vZGUgPSBWOFByb3h5OjpET01XcmFwcGVyVG9Ob2RlPE5vZGU+KGFyZ3MuSG9sZGVyKCkp
OworCisgICAgVjhQcm94eSogcHJveHkgPSBWOFByb3h5OjpyZXRyaWV2ZShub2RlLT5kb2N1bWVu
dCgpLT5mcmFtZSgpKTsKKyAgICBpZiAoIXByb3h5KQorICAgICAgICByZXR1cm4gdjg6OlVuZGVm
aW5lZCgpOworCisgICAgUmVmUHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyID0gcHJveHktPkZp
bmRPckNyZWF0ZVY4RXZlbnRMaXN0ZW5lcihhcmdzWzFdLCBmYWxzZSk7CisgICAgaWYgKGxpc3Rl
bmVyKSB7CisgICAgICAgIFN0cmluZyB0eXBlID0gdG9XZWJDb3JlU3RyaW5nKGFyZ3NbMF0pOwor
ICAgICAgICBib29sIHVzZUNhcHR1cmUgPSBhcmdzWzJdLT5Cb29sZWFuVmFsdWUoKTsKKyAgICAg
ICAgbm9kZS0+YWRkRXZlbnRMaXN0ZW5lcih0eXBlLCBsaXN0ZW5lciwgdXNlQ2FwdHVyZSk7Cisg
ICAgfQorICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7Cit9CisKK0NBTExCQUNLX0ZVTkNfREVD
TChOb2RlUmVtb3ZlRXZlbnRMaXN0ZW5lcikKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5Ob2RlLnJl
bW92ZUV2ZW50TGlzdGVuZXIoKSIpOworICAgIE5vZGUqIG5vZGUgPSBWOFByb3h5OjpET01XcmFw
cGVyVG9Ob2RlPE5vZGU+KGFyZ3MuSG9sZGVyKCkpOworCisgICAgVjhQcm94eSogcHJveHkgPSBW
OFByb3h5OjpyZXRyaWV2ZShub2RlLT5kb2N1bWVudCgpLT5mcmFtZSgpKTsKKyAgICAvLyBJdCBp
cyBwb3NzYmlsZSB0aGF0IHRoZSBvd25lciBkb2N1bWVudCBvZiB0aGUgbm9kZSBpcyBkZXRhY2hl
ZAorICAgIC8vIGZyb20gdGhlIGZyYW1lLCByZXR1cm4gaW1tZWRpYXRlbHkgaW4gdGhpcyBjYXNl
LgorICAgIC8vIFNlZSBpc3N1ZSBodHRwOi8vYi84Nzg5MDkKKyAgICBpZiAoIXByb3h5KQorICAg
ICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOworCisgICAgUmVmUHRyPEV2ZW50TGlzdGVuZXI+
IGxpc3RlbmVyID0gcHJveHktPkZpbmRWOEV2ZW50TGlzdGVuZXIoYXJnc1sxXSwgZmFsc2UpOwor
ICAgIGlmIChsaXN0ZW5lcikgeworICAgICAgICBTdHJpbmcgdHlwZSA9IHRvV2ViQ29yZVN0cmlu
ZyhhcmdzWzBdKTsKKyAgICAgICAgYm9vbCB1c2VDYXB0dXJlID0gYXJnc1syXS0+Qm9vbGVhblZh
bHVlKCk7CisgICAgICAgIG5vZGUtPnJlbW92ZUV2ZW50TGlzdGVuZXIodHlwZSwgbGlzdGVuZXIu
Z2V0KCksIHVzZUNhcHR1cmUpOworICAgIH0KKworICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28048</attachid>
            <date>2009-02-26 15:38:46 -0800</date>
            <delta_ts>2009-02-26 15:40:14 -0800</delta_ts>
            <desc>Fix ChangeLog entry</desc>
            <filename>Fix-ChangeLog-entry.patch</filename>
            <type>text/plain</type>
            <size>465</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">NjlhZGZhMjZlZjI4Njc4MWNkOTc1ZDMyM2Q3NWZlZmVlYjZmOGVkMQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3ZDZiOGUxLi5mODc4NWE2
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMiw3ICsyLDcgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KIAotICAg
ICAgICBodHRwOi8vY29kZXJldmlldy5jaHJvbWl1bS5vcmcvMjcyMTcKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MjA4CiAgICAgICAgIEFkZCBjdXN0
b20gVjggYmluZGluZ3MgZm9yIE5hdmlnYXRvciwgQ2xpcGJvYXJkLCBEb2N1bWVudCwgYW5kIE5v
ZGUuCiAKICAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhDbGlwYm9hcmRDdXN0b20uY3Bw
OiBBZGRlZC4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28050</attachid>
            <date>2009-02-26 15:40:34 -0800</date>
            <delta_ts>2009-02-26 16:47:53 -0800</delta_ts>
            <desc>Add ScheduledAction for V8, v1.</desc>
            <filename>Add-ScheduledAction-for-V8-v1..patch</filename>
            <type>text/plain</type>
            <size>7454</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">MWVmZDU0ZGM3NWRkMGVlNjY3ZWRhYjRkZjFiODRjOWFhMjc0MGZlMwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmODc4NWE2Li4yM2UyMzdm
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSw1ICsxLDE5IEBACiAyMDA5LTAyLTI2ICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBj
aHJvbWl1bS5vcmc+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MjExCisgICAg
ICAgIEFkZCBTY2hlZHVsZWRBY3Rpb24gZm9yIFY4LgorCisgICAgICAgICogYmluZGluZ3Mvdjgv
U2NoZWR1bGVkQWN0aW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTY2hlZHVsZWRB
Y3Rpb246OlNjaGVkdWxlZEFjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTY2hlZHVsZWRBY3Rp
b246On5TY2hlZHVsZWRBY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2NoZWR1bGVkQWN0aW9u
OjpleGVjdXRlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY2hlZHVsZWRBY3Rpb24uaDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpTY2hlZHVsZWRBY3Rpb246OlNjaGVkdWxlZEFjdGlvbik6
CisKKzIwMDktMDItMjYgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4K
KwogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KIAogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQyMDgKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
YmluZGluZ3MvdjgvU2NoZWR1bGVkQWN0aW9uLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2No
ZWR1bGVkQWN0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMzIy
MTM2Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy92OC9TY2hlZHVsZWRBY3Rp
b24uY3BwCkBAIC0wLDAgKzEsMTE0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMDkg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiU2NoZWR1bGVkQWN0aW9uLmgiCisKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUg
IlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKKyNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgi
CisKKyNpbmNsdWRlICJWOEJpbmRpbmcuaCIKKyNpbmNsdWRlICJWOFByb3h5LmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworU2NoZWR1bGVkQWN0aW9uOjpTY2hlZHVsZWRBY3Rpb24odjg6Okhh
bmRsZTx2ODo6RnVuY3Rpb24+IGZ1bmMsIGludCBhcmdjLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
YXJndltdKQorICAgIDogbV9jb2RlKFN0cmluZygpLCBLVVJMKCksIDApCit7CisgICAgbV9mdW5j
dGlvbiA9IHY4OjpQZXJzaXN0ZW50PHY4OjpGdW5jdGlvbj46Ok5ldyhmdW5jKTsKKworI2lmbmRl
ZiBOREVCVUcKKyAgICBWOFByb3h5OjpSZWdpc3Rlckdsb2JhbEhhbmRsZShTQ0hFRFVMRURfQUNU
SU9OLCB0aGlzLCBtX2Z1bmN0aW9uKTsKKyNlbmRpZgorCisgICAgbV9hcmdjID0gYXJnYzsKKyAg
ICBpZiAoYXJnYyA+IDApIHsKKyAgICAgICAgbV9hcmd2ID0gbmV3IHY4OjpQZXJzaXN0ZW50PHY4
OjpWYWx1ZT5bYXJnY107CisgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYXJnYzsgaSsrKSB7
CisgICAgICAgICAgICBtX2FyZ3ZbaV0gPSB2ODo6UGVyc2lzdGVudDx2ODo6VmFsdWU+OjpOZXco
YXJndltpXSk7CisKKyNpZm5kZWYgTkRFQlVHCisgICAgVjhQcm94eTo6UmVnaXN0ZXJHbG9iYWxI
YW5kbGUoU0NIRURVTEVEX0FDVElPTiwgdGhpcywgbV9hcmd2W2ldKTsKKyNlbmRpZgorICAgICAg
ICB9CisgICAgfSBlbHNlCisgICAgICAgIG1fYXJndiA9IDA7Cit9CisKK1NjaGVkdWxlZEFjdGlv
bjo6flNjaGVkdWxlZEFjdGlvbigpCit7CisgICAgaWYgKG1fZnVuY3Rpb24uSXNFbXB0eSgpKQor
ICAgICAgICByZXR1cm47CisKKyNpZm5kZWYgTkRFQlVHCisgICAgVjhQcm94eTo6VW5yZWdpc3Rl
ckdsb2JhbEhhbmRsZSh0aGlzLCBtX2Z1bmN0aW9uKTsKKyNlbmRpZgorICAgIG1fZnVuY3Rpb24u
RGlzcG9zZSgpOworCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtX2FyZ2M7IGkrKykgeworI2lm
bmRlZiBOREVCVUcKKyAgICAgICAgVjhQcm94eTo6VW5yZWdpc3Rlckdsb2JhbEhhbmRsZSh0aGlz
LCBtX2FyZ3ZbaV0pOworI2VuZGlmCisgICAgICAgIG1fYXJndltpXS5EaXNwb3NlKCk7CisgICAg
fQorCisgICAgaWYgKG1fYXJnYyA+IDApCisgICAgICAgIGRlbGV0ZVtdIG1fYXJndjsKK30KKwor
dm9pZCBTY2hlZHVsZWRBY3Rpb246OmV4ZWN1dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCkKK3sKKyAgICAvLyBGSVhNRTogVGltZW91dHMgZm9yIHJ1bm5pbmcgdGhlIGphdmFzY3Jp
cHQgY29kZSBhcmUgbm90IHNldC4KKyAgICBWOFByb3h5KiBwcm94eSA9IFY4UHJveHk6OnJldHJp
ZXZlKGNvbnRleHQpOworICAgIGlmICghcHJveHkpCisgICAgICAgIHJldHVybjsKKworICAgIHY4
OjpIYW5kbGVTY29wZSBoYW5kbGVTY29wZTsKKyAgICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IHY4
Q29udGV4dCA9IHByb3h5LT5HZXRDb250ZXh0KCk7CisgICAgaWYgKHY4Q29udGV4dC5Jc0VtcHR5
KCkpCisgICAgICAgIHJldHVybjsgLy8gSlMgbWF5IG5vdCBiZSBlbmFibGVkLgorCisgICAgdjg6
OkNvbnRleHQ6OlNjb3BlIHNjb3BlKHY4Q29udGV4dCk7CisKKyAgICBwcm94eS0+c2V0VGltZXJD
YWxsYmFjayh0cnVlKTsKKworICAgIGlmICghbV9mdW5jdGlvbi5Jc0VtcHR5KCkgJiYgbV9mdW5j
dGlvbi0+SXNGdW5jdGlvbigpKQorICAgICAgICBwcm94eS0+Q2FsbEZ1bmN0aW9uKHY4OjpQZXJz
aXN0ZW50PHY4OjpGdW5jdGlvbj46OkNhc3QobV9mdW5jdGlvbiksIHY4Q29udGV4dC0+R2xvYmFs
KCksIG1fYXJnYywgbV9hcmd2KTsKKyAgICBlbHNlCisgICAgICAgIHByb3h5LT5FdmFsdWF0ZSht
X2NvZGUudXJsKCksIG1fY29kZS5zdGFydExpbmUoKSAtIDEsIG1fY29kZS5zb3VyY2UoKSwgMCk7
CisKKyAgICBpZiAoY29udGV4dC0+aXNEb2N1bWVudCgpKQorICAgICAgICBzdGF0aWNfY2FzdDxE
b2N1bWVudCo+KGNvbnRleHQpLT51cGRhdGVSZW5kZXJpbmcoKTsKKworICAgIHByb3h5LT5zZXRU
aW1lckNhbGxiYWNrKGZhbHNlKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY2hlZHVsZWRBY3Rpb24uaCBiL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvU2NoZWR1bGVkQWN0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uZGE2Y2IwMgotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2No
ZWR1bGVkQWN0aW9uLmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAw
Ny0yMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBTY2hlZHVsZWRBY3Rp
b25faAorI2RlZmluZSBTY2hlZHVsZWRBY3Rpb25faAorCisjaW5jbHVkZSAiU2NyaXB0U291cmNl
Q29kZS5oIgorCisjaW5jbHVkZSA8djguaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisgICAg
Y2xhc3MgU3RyaW5nOworICAgIGNsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisKKyAgICBj
bGFzcyBTY2hlZHVsZWRBY3Rpb24geworICAgIHB1YmxpYzoKKyAgICAgICAgU2NoZWR1bGVkQWN0
aW9uKHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uPiwgaW50IGFyZ2MsIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBhcmd2W10pOworICAgICAgICBleHBsaWNpdCBTY2hlZHVsZWRBY3Rpb24oY29uc3QgV2Vi
Q29yZTo6U3RyaW5nJiBjb2RlKQorICAgICAgICAgICAgOiBtX2FyZ2MoMCkKKyAgICAgICAgICAg
ICwgbV9hcmd2KDApCisgICAgICAgICAgICAsIG1fY29kZShjb2RlKQorICAgICAgICB7CisgICAg
ICAgIH0KKworICAgICAgICB2aXJ0dWFsIH5TY2hlZHVsZWRBY3Rpb24oKTsKKyAgICAgICAgdmly
dHVhbCB2b2lkIGV4ZWN1dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOworCisgICAgcHJpdmF0
ZToKKyAgICAgICAgdjg6OlBlcnNpc3RlbnQ8djg6OkZ1bmN0aW9uPiBtX2Z1bmN0aW9uOworICAg
ICAgICBpbnQgbV9hcmdjOworICAgICAgICB2ODo6UGVyc2lzdGVudDx2ODo6VmFsdWU+KiBtX2Fy
Z3Y7CisgICAgICAgIFNjcmlwdFNvdXJjZUNvZGUgbV9jb2RlOworICAgIH07CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFNjaGVkdWxlZEFjdGlvbgo=
</data>
<flag name="review"
          id="13680"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>