<?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>38147</bug_id>
          
          <creation_ts>2010-04-26 16:15:53 -0700</creation_ts>
          <short_desc>[chromium] WebKit API additions to support appcache in workers.</short_desc>
          <delta_ts>2010-04-27 22:40:38 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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="Michael Nordman">michaeln</reporter>
          <assigned_to name="Michael Nordman">michaeln</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dimich</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>217347</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2010-04-26 16:15:53 -0700</bug_when>
    <thetext>This is a subtask of http://code.google.com/p/chromium/issues/detail?id=39368

Add two things to the webkit API.

1) WebURLRequest TargetTypes for worker and shared worker main resources.

2) Factory method on class WebCommonWorkerClient to createApplicationCacheHost() for the associated worker.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217357</commentid>
    <comment_count>1</comment_count>
      <attachid>54348</attachid>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2010-04-26 16:50:46 -0700</bug_when>
    <thetext>Created attachment 54348
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217365</commentid>
    <comment_count>2</comment_count>
      <attachid>54348</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-26 17:01:14 -0700</bug_when>
    <thetext>Comment on attachment 54348
patch

Rejecting patch 54348 from commit-queue.

michaeln@google.com does not have committer permissions according to http://trac.webkit.org/browser/trunk/WebKitTools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in WebKitTools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  Due to bug 30084 the commit-queue will require a restart after your change.  Please contact eseidel@chromium.org to request a commit-queue restart.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217379</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-26 17:33:13 -0700</bug_when>
    <thetext>Attachment 54348 did not build on chromium:
Build output: http://webkit-commit-queue.appspot.com/results/1801129</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217396</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2010-04-26 17:55:56 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Attachment 54348 [details] did not build on chromium:
&gt; Build output: http://webkit-commit-queue.appspot.com/results/1801129

I missed a derived class in DRT/chromium! New patch coming soon (this time with
commit-queue?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217399</commentid>
    <comment_count>5</comment_count>
      <attachid>54358</attachid>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2010-04-26 17:58:13 -0700</bug_when>
    <thetext>Created attachment 54358
added DRT/chromium mods</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217408</commentid>
    <comment_count>6</comment_count>
      <attachid>54362</attachid>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2010-04-26 18:10:00 -0700</bug_when>
    <thetext>Created attachment 54362
add some WebKit:: namespace prefixes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218032</commentid>
    <comment_count>7</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-04-27 16:27:45 -0700</bug_when>
    <thetext>Target types are defined bun not used in this patch. Can they be a part of some other patch, where they are actually used? Or are they sued entirely in the code that is not part of the WebKit repo?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218035</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2010-04-27 16:33:16 -0700</bug_when>
    <thetext>I&apos;m just touching the webkit API in this patch. I have a subsquent webcore patch that defines corresponding enum values in webcore and uses them. See http://codereview.chromium.org/1521038/show</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218038</commentid>
    <comment_count>9</comment_count>
      <attachid>54362</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-04-27 16:37:06 -0700</bug_when>
    <thetext>Comment on attachment 54362
add some WebKit:: namespace prefixes

And a small nit:

&gt; Index: WebKit/chromium/src/WebWorkerBase.cpp

&gt; +void WebWorkerBase::didCreateDataSource(WebFrame* frame, WebDataSource* ds)
&gt; +{
&gt; +    // Tell the loader to load the data into the &apos;shadow page&apos; synchronously,
&gt; +    // so we can grab the resulting Document right after load.
&gt; +    static_cast&lt;WebDataSourceImpl*&gt;(ds)-&gt;setDeferMainResourceDataLoad(false);
&gt; +}

&apos;frame&apos; is not used in this function, should be omitted.

Almost there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218039</commentid>
    <comment_count>10</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-04-27 16:41:22 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; I&apos;m just touching the webkit API in this patch. I have a subsquent webcore
&gt; patch that defines corresponding enum values in webcore and uses them. See
&gt; http://codereview.chromium.org/1521038/show

So we have 2 enums that should be kept in sync. Perhaps making the change in the same patch could be better, to keep changes to related things together?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218052</commentid>
    <comment_count>11</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2010-04-27 16:55:32 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #8)
&gt; &gt; I&apos;m just touching the webkit API in this patch. I have a subsquent webcore
&gt; &gt; patch that defines corresponding enum values in webcore and uses them. See
&gt; &gt; http://codereview.chromium.org/1521038/show
&gt; 
&gt; So we have 2 enums that should be kept in sync. Perhaps making the change in
&gt; the same patch could be better, to keep changes to related things together?

We could smush them together. I had them broken up for a few reasons.

1) I thought we liked smaller patches. If i put them together i could just as easily hear &quot;maybe you should separate the API from the webcore changes&quot; which sounds just as valid as &quot;please smush them together&quot;.

2) Chrome has compile time dependencies on the API. Once landed, its in and I can code to it in chrome. If smushed together, there&apos;s a chance that this will hiccup somewhere and get rolled out. If the API changes are rolled out after chrome depends on it, that could break the Chrome build.
 
3) Need to run the webcore changes thru webkit tests and that&apos;s easier said than done on windows.

I went with two patches for those reasons. The one that bugs me the most is the second item.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218126</commentid>
    <comment_count>12</comment_count>
      <attachid>54494</attachid>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2010-04-27 18:38:16 -0700</bug_when>
    <thetext>Created attachment 54494
take4

Removed the unused param name per dimich&apos;s comment. Also added a call to frame-&gt;setClient(NULL) in the dtor since we&apos;re no longer using a global frameClient instance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218163</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-27 19:50:56 -0700</bug_when>
    <thetext>Attachment 54494 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebKit/chromium/src/WebWorkerBase.cpp:84:  Use 0 instead of NULL.  [readability/null] [5]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218166</commentid>
    <comment_count>14</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2010-04-27 19:57:59 -0700</bug_when>
    <thetext>Given that frames are refcounted objects with &apos;squishy&apos; lifetimes. I&apos;d be more comfortable with an explicit call to setClient(NULL) at WebWorkerBase dtor time. I just stepped thru in the debugger to see the sequence of events. Under normal circumstances this definitely isn&apos;t needed... but since &apos;frames&apos; are refcounted there may be cases where it actually outlives WebWorkerBase.

I&apos;ll post the webcore changes in a second patch for review coincident with this one. I&apos;d like to keep them in different patches for the reasons mentioned earlier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218167</commentid>
    <comment_count>15</comment_count>
      <attachid>54509</attachid>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2010-04-27 20:00:17 -0700</bug_when>
    <thetext>Created attachment 54509
replace NULL with 0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218169</commentid>
    <comment_count>16</comment_count>
      <attachid>54509</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2010-04-27 20:03:50 -0700</bug_when>
    <thetext>Comment on attachment 54509
replace NULL with 0

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218209</commentid>
    <comment_count>17</comment_count>
      <attachid>54509</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-27 22:40:32 -0700</bug_when>
    <thetext>Comment on attachment 54509
replace NULL with 0

Clearing flags on attachment: 54509

Committed r58380: &lt;http://trac.webkit.org/changeset/58380&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>218210</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-27 22:40:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54348</attachid>
            <date>2010-04-26 16:50:46 -0700</date>
            <delta_ts>2010-04-26 17:58:13 -0700</delta_ts>
            <desc>patch</desc>
            <filename>api.patch</filename>
            <type>text/plain</type>
            <size>7293</size>
            <attacher name="Michael Nordman">michaeln</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNTgyNzEpCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTAtMDQtMjYgIE1pY2hh
ZWwgTm9yZG1hbiAgPG1pY2hhZWxuQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBBZGQgdHdvIHRoaW5ncyB0byB0
aGUgd2Via2l0IEFQSSB0byBzdXBwb3J0IGFwcGNhY2hlcyBpbiB3b3JrZXJzLgorICAgICAgICAx
KSBXZWJVUkxSZXF1ZXN0IFRhcmdldFR5cGVzIGZvciB3b3JrZXIgYW5kIHNoYXJlZCB3b3JrZXIg
bWFpbiByZXNvdXJjZXMuCisgICAgICAgIDIpIEZhY3RvcnkgbWV0aG9kIG9uIGNsYXNzIFdlYkNv
bW1vbldvcmtlckNsaWVudCB0bworICAgICAgICAgICBjcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9z
dCgpIGZvciB0aGUgYXNzb2NpYXRlZCB3b3JrZXIuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4MTQ3CisKKyAgICAgICAgKiBwdWJsaWMvV2ViQ29t
bW9uV29ya2VyQ2xpZW50Lmg6IGFkZCB0aGUgZmFjdG9yeSBtZXRob2QKKyAgICAgICAgKiBwdWJs
aWMvV2ViVVJMUmVxdWVzdC5oOiBhZGQgdGhlIFRhcmdldFR5cGVzCisgICAgICAgICogc3JjL1dl
YldvcmtlckJhc2UuY3BwOiBjYWxsIHRoZSBlbWJlZGRlcidzIGZhY3Rvcnkgd2hlbiBuZWVkZWQK
KyAgICAgICAgKFdlYktpdDo6V2ViV29ya2VyQmFzZTo6ZGlkQ3JlYXRlRGF0YVNvdXJjZSkKKyAg
ICAgICAgKFdlYktpdDo6V2ViV29ya2VyQmFzZTo6Y3JlYXRlQXBwbGljYXRpb25DYWNoZUhvc3Qp
CisgICAgICAgICogc3JjL1dlYldvcmtlckJhc2UuaDogZGl0dG8KKyAgICAgICAgKiBzcmMvV2Vi
V29ya2VyQ2xpZW50SW1wbC5oOiBhZGQgYSBzdHViIGltcGwgdGhlIG5ldyBtZXRob2QgCisgICAg
ICAgIChXZWJLaXQ6OldlYldvcmtlckNsaWVudEltcGw6OmNyZWF0ZUFwcGxpY2F0aW9uQ2FjaGVI
b3N0KToKKwogMjAxMC0wNC0yNSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgpJbmRleDogV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJDb21tb25Xb3JrZXJDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkNvbW1vbldvcmtlckNsaWVudC5oCShyZXZpc2lvbiA1ODI2NSkKKysr
IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQ29tbW9uV29ya2VyQ2xpZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTMzLDYgKzMzLDggQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK2NsYXNzIFdl
YkFwcGxpY2F0aW9uQ2FjaGVIb3N0OworY2xhc3MgV2ViQXBwbGljYXRpb25DYWNoZUhvc3RDbGll
bnQ7CiBjbGFzcyBXZWJOb3RpZmljYXRpb25QcmVzZW50ZXI7CiBjbGFzcyBXZWJTdHJpbmc7CiBj
bGFzcyBXZWJXb3JrZXI7CkBAIC03NCw2ICs3Niw5IEBAIHB1YmxpYzoKICAgICAvLyB0aGV5IGFy
ZSBjcmVhdGVkIHZpYSB0aGUgV2ViU2hhcmVkV29ya2VyUmVwb3NpdG9yeS4KICAgICB2aXJ0dWFs
IFdlYldvcmtlciogY3JlYXRlV29ya2VyKFdlYldvcmtlckNsaWVudCogY2xpZW50KSA9IDA7CiAK
KyAgICAvLyBDYWxsZWQgb24gdGhlIG1haW4gd2Via2l0IHRocmVhZCBpbiB0aGUgd29ya2VyIHBy
b2Nlc3MgZHVyaW5nIGluaXRpYWxpemF0aW9uLgorICAgIHZpcnR1YWwgV2ViQXBwbGljYXRpb25D
YWNoZUhvc3QqIGNyZWF0ZUFwcGxpY2F0aW9uQ2FjaGVIb3N0KFdlYkFwcGxpY2F0aW9uQ2FjaGVI
b3N0Q2xpZW50KikgPSAwOworCiBwcm90ZWN0ZWQ6CiAgICAgfldlYkNvbW1vbldvcmtlckNsaWVu
dCgpIHsgfQogfTsKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVVJMUmVxdWVzdC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVVJMUmVxdWVzdC5oCShy
ZXZpc2lvbiA1ODI2NSkKKysrIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVVJMUmVxdWVzdC5o
CSh3b3JraW5nIGNvcHkpCkBAIC02Nyw3ICs2Nyw5IEBAIHB1YmxpYzoKICAgICAgICAgVGFyZ2V0
SXNGb250UmVzb3VyY2UgPSA1LAogICAgICAgICBUYXJnZXRJc0ltYWdlID0gNiwKICAgICAgICAg
VGFyZ2V0SXNPYmplY3QgPSA3LAotICAgICAgICBUYXJnZXRJc01lZGlhID0gOAorICAgICAgICBU
YXJnZXRJc01lZGlhID0gOCwKKyAgICAgICAgVGFyZ2V0SXNXb3JrZXIgPSA5LAorICAgICAgICBU
YXJnZXRJc1NoYXJlZFdvcmtlciA9IDEwCiAgICAgfTsKIAogICAgIH5XZWJVUkxSZXF1ZXN0KCkg
eyByZXNldCgpOyB9CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckJhc2UuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5jcHAJKHJl
dmlzaW9uIDU4MjY1KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJCYXNlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTEsMzAgKzUxLDYgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKICNp
ZiBFTkFCTEUoV09SS0VSUykKIAotLy8gRHVtbXkgV2ViVmlld0RlbGVnYXRlIC0gd2Ugb25seSBu
ZWVkIGl0IGluIFdvcmtlciBwcm9jZXNzIHRvIGxvYWQgYQotLy8gJ3NoYWRvdyBwYWdlJyB3aGlj
aCB3aWxsIGluaXRpYWxpemUgV2ViQ29yZSBsb2FkZXIuCi1jbGFzcyBXb3JrZXJXZWJGcmFtZUNs
aWVudCA6IHB1YmxpYyBXZWJGcmFtZUNsaWVudCB7Ci1wdWJsaWM6Ci0gICAgLy8gVGVsbCB0aGUg
bG9hZGVyIHRvIGxvYWQgdGhlIGRhdGEgaW50byB0aGUgJ3NoYWRvdyBwYWdlJyBzeW5jaHJvbm91
c2x5LAotICAgIC8vIHNvIHdlIGNhbiBncmFiIHRoZSByZXN1bHRpbmcgRG9jdW1lbnQgcmlnaHQg
YWZ0ZXIgbG9hZC4KLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRGF0YVNvdXJjZShXZWJGcmFt
ZSogZnJhbWUsIFdlYkRhdGFTb3VyY2UqIGRzKQotICAgIHsKLSAgICAgICAgc3RhdGljX2Nhc3Q8
V2ViRGF0YVNvdXJjZUltcGwqPihkcyktPnNldERlZmVyTWFpblJlc291cmNlRGF0YUxvYWQoZmFs
c2UpOwotICAgIH0KLQotICAgIC8vIExhenkgYWxsb2NhdGUgYW5kIGxlYWsgdGhpcyBpbnN0YW5j
ZS4KLSAgICBzdGF0aWMgV29ya2VyV2ViRnJhbWVDbGllbnQqIHNoYXJlZEluc3RhbmNlKCkKLSAg
ICB7Ci0gICAgICAgIHN0YXRpYyBXb3JrZXJXZWJGcmFtZUNsaWVudCBjbGllbnQ7Ci0gICAgICAg
IHJldHVybiAmY2xpZW50OwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBXb3JrZXJXZWJGcmFtZUNs
aWVudCgpCi0gICAgewotICAgIH0KLX07Ci0KIC8vIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIG9u
IHRoZSBtYWluIHRocmVhZCB0byBmb3JjZSB0byBpbml0aWFsaXplIHNvbWUgc3RhdGljCiAvLyB2
YWx1ZXMgdXNlZCBpbiBXZWJLaXQgYmVmb3JlIGFueSB3b3JrZXIgdGhyZWFkIGlzIHN0YXJ0ZWQu
IFRoaXMgaXMgYmVjYXVzZSBpbgogLy8gb3VyIHdvcmtlciBwcm9jZXNzcywgd2UgZG8gbm90IHJ1
biBhbnkgV2ViS2l0IGNvZGUgaW4gbWFpbiB0aHJlYWQgYW5kIHRodXMKQEAgLTEyMiw3ICs5OCw3
IEBAIHZvaWQgV2ViV29ya2VyQmFzZTo6aW5pdGlhbGl6ZUxvYWRlcihjb24KICAgICAvLyBpbmZy
YXN0cnVjdHVyZS4KICAgICBBU1NFUlQoIW1fd2ViVmlldyk7CiAgICAgbV93ZWJWaWV3ID0gV2Vi
Vmlldzo6Y3JlYXRlKDApOwotICAgIG1fd2ViVmlldy0+aW5pdGlhbGl6ZU1haW5GcmFtZShXb3Jr
ZXJXZWJGcmFtZUNsaWVudDo6c2hhcmVkSW5zdGFuY2UoKSk7CisgICAgbV93ZWJWaWV3LT5pbml0
aWFsaXplTWFpbkZyYW1lKHRoaXMpOwogCiAgICAgV2ViRnJhbWVJbXBsKiB3ZWJGcmFtZSA9IHN0
YXRpY19jYXN0PFdlYkZyYW1lSW1wbCo+KG1fd2ViVmlldy0+bWFpbkZyYW1lKCkpOwogCkBAIC0x
NTEsNiArMTI3LDIwIEBAIHZvaWQgV2ViV29ya2VyQmFzZTo6aW52b2tlVGFza01ldGhvZCh2b2kK
ICAgICBkZWxldGUgdGFzazsKIH0KIAordm9pZCBXZWJXb3JrZXJCYXNlOjpkaWRDcmVhdGVEYXRh
U291cmNlKFdlYkZyYW1lKiBmcmFtZSwgV2ViRGF0YVNvdXJjZSogZHMpCit7CisgICAgLy8gVGVs
bCB0aGUgbG9hZGVyIHRvIGxvYWQgdGhlIGRhdGEgaW50byB0aGUgJ3NoYWRvdyBwYWdlJyBzeW5j
aHJvbm91c2x5LAorICAgIC8vIHNvIHdlIGNhbiBncmFiIHRoZSByZXN1bHRpbmcgRG9jdW1lbnQg
cmlnaHQgYWZ0ZXIgbG9hZC4KKyAgICBzdGF0aWNfY2FzdDxXZWJEYXRhU291cmNlSW1wbCo+KGRz
KS0+c2V0RGVmZXJNYWluUmVzb3VyY2VEYXRhTG9hZChmYWxzZSk7Cit9CisKK1dlYkFwcGxpY2F0
aW9uQ2FjaGVIb3N0KiBXZWJXb3JrZXJCYXNlOjpjcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9zdChX
ZWJGcmFtZSosIFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0Q2xpZW50KiBhcHBjYWNoZUhvc3RDbGll
bnQpCit7CisgICAgaWYgKGNvbW1vbkNsaWVudCgpKQorICAgICAgICByZXR1cm4gY29tbW9uQ2xp
ZW50KCktPmNyZWF0ZUFwcGxpY2F0aW9uQ2FjaGVIb3N0KGFwcGNhY2hlSG9zdENsaWVudCk7Cisg
ICAgcmV0dXJuIDA7Cit9CisKIC8vIFdvcmtlck9iamVjdFByb3h5IC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIHZvaWQgV2ViV29y
a2VyQmFzZTo6cG9zdE1lc3NhZ2VUb1dvcmtlck9iamVjdChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZT4gbWVzc2FnZSwKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2Vy
QmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5o
CShyZXZpc2lvbiA1ODI2NSkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAjaWYgRU5BQkxFKFdPUktFUlMpCiAK
ICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisjaW5jbHVkZSAiV2ViRnJhbWVD
bGllbnQuaCIKICNpbmNsdWRlICJXb3JrZXJMb2FkZXJQcm94eS5oIgogI2luY2x1ZGUgIldvcmtl
ck9iamVjdFByb3h5LmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KQEAgLTQ0LDYgKzQ1
LDggQEAgY2xhc3MgV29ya2VyVGhyZWFkOwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKK2NsYXNz
IFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0OworY2xhc3MgV2ViQXBwbGljYXRpb25DYWNoZUhvc3RD
bGllbnQ7CiBjbGFzcyBXZWJDb21tb25Xb3JrZXJDbGllbnQ7CiBjbGFzcyBXZWJTZWN1cml0eU9y
aWdpbjsKIGNsYXNzIFdlYlN0cmluZzsKQEAgLTU2LDcgKzU5LDggQEAgY2xhc3MgV2ViV29ya2Vy
Q2xpZW50OwogLy8gY29kZSB1c2VkIGJ5IGJvdGggaW1wbGVtZW50YXRpb24gY2xhc3NlcywgaW5j
bHVkaW5nIGltcGxlbWVudGF0aW9ucyBvZiB0aGUKIC8vIFdvcmtlck9iamVjdFByb3h5IGFuZCBX
b3JrZXJMb2FkZXJQcm94eSBpbnRlcmZhY2VzLgogY2xhc3MgV2ViV29ya2VyQmFzZSA6IHB1Ymxp
YyBXZWJDb3JlOjpXb3JrZXJPYmplY3RQcm94eQotICAgICAgICAgICAgICAgICAgICAsIHB1Ymxp
YyBXZWJDb3JlOjpXb3JrZXJMb2FkZXJQcm94eSB7CisgICAgICAgICAgICAgICAgICAgICwgcHVi
bGljIFdlYkNvcmU6OldvcmtlckxvYWRlclByb3h5CisgICAgICAgICAgICAgICAgICAgICwgcHVi
bGljIFdlYkZyYW1lQ2xpZW50IHsKIHB1YmxpYzoKICAgICBXZWJXb3JrZXJCYXNlKCk7CiAgICAg
dmlydHVhbCB+V2ViV29ya2VyQmFzZSgpOwpAQCAtODAsNiArODQsMTAgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBwb3N0VGFza0Zvck1vZGVUb1dvcmtlckNvbnRleHQoCiAgICAgICAgIFBh
c3NPd25QdHI8V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4sIGNvbnN0IFdl
YkNvcmU6OlN0cmluZyYgbW9kZSk7CiAKKyAgICAvLyBXZWJGcmFtZUNsaWVudCBtZXRob2RzIHRv
IHN1cHBvcnQgcmVzb3VyY2UgbG9hZGluZyB0aHJ1IHRoZSAnc2hhZG93IHBhZ2UnLgorICAgIHZp
cnR1YWwgdm9pZCBkaWRDcmVhdGVEYXRhU291cmNlKFdlYkZyYW1lKiwgV2ViRGF0YVNvdXJjZSop
OworICAgIHZpcnR1YWwgV2ViQXBwbGljYXRpb25DYWNoZUhvc3QqIGNyZWF0ZUFwcGxpY2F0aW9u
Q2FjaGVIb3N0KFdlYkZyYW1lKiwgV2ViQXBwbGljYXRpb25DYWNoZUhvc3RDbGllbnQqKTsKKwog
ICAgIC8vIEV4ZWN1dGVzIHRoZSBnaXZlbiB0YXNrIG9uIHRoZSBtYWluIHRocmVhZC4KICAgICBz
dGF0aWMgdm9pZCBkaXNwYXRjaFRhc2tUb01haW5UaHJlYWQoUGFzc093blB0cjxXZWJDb3JlOjpT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPik7CiAKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9z
cmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9z
cmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oCShyZXZpc2lvbiA1ODI2NSkKKysrIFdlYktpdC9jaHJv
bWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC05NCw2ICs5
NCwxMSBAQCBwdWJsaWM6CiAgICAgICAgIC8vIEZJWE1FOiBOb3RpZmljYXRpb25zIG5vdCB5ZXQg
c3VwcG9ydGVkIGluIHdvcmtlcnMuCiAgICAgICAgIHJldHVybiAwOwogICAgIH0KKyAgICB2aXJ0
dWFsIFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0KiBjcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9zdChX
ZWJBcHBsaWNhdGlvbkNhY2hlSG9zdENsaWVudCopCisgICAgeworICAgICAgICAvLyBUaGlzIGlz
IG5vdCByZWFjaGVkLCBubyBuZWVkIHRvIGltcGxlbWVudC4KKyAgICAgICAgcmV0dXJuIDA7Cisg
ICAgfQogCiBwcml2YXRlOgogICAgIHZpcnR1YWwgfldlYldvcmtlckNsaWVudEltcGwoKTsK
</data>
<flag name="commit-queue"
          id="38291"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54358</attachid>
            <date>2010-04-26 17:58:13 -0700</date>
            <delta_ts>2010-04-26 18:10:00 -0700</delta_ts>
            <desc>added DRT/chromium mods</desc>
            <filename>api.take2.patch</filename>
            <type>text/plain</type>
            <size>8712</size>
            <attacher name="Michael Nordman">michaeln</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNTgyNzEpCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTAtMDQtMjYgIE1pY2hh
ZWwgTm9yZG1hbiAgPG1pY2hhZWxuQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBBZGQgdHdvIHRoaW5ncyB0byB0
aGUgd2Via2l0IEFQSSB0byBzdXBwb3J0IGFwcGNhY2hlcyBpbiB3b3JrZXJzLgorICAgICAgICAx
KSBXZWJVUkxSZXF1ZXN0IFRhcmdldFR5cGVzIGZvciB3b3JrZXIgYW5kIHNoYXJlZCB3b3JrZXIg
bWFpbiByZXNvdXJjZXMuCisgICAgICAgIDIpIEZhY3RvcnkgbWV0aG9kIG9uIGNsYXNzIFdlYkNv
bW1vbldvcmtlckNsaWVudCB0bworICAgICAgICAgICBjcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9z
dCgpIGZvciB0aGUgYXNzb2NpYXRlZCB3b3JrZXIuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4MTQ3CisKKyAgICAgICAgKiBwdWJsaWMvV2ViQ29t
bW9uV29ya2VyQ2xpZW50Lmg6IGFkZCB0aGUgZmFjdG9yeSBtZXRob2QKKyAgICAgICAgKiBwdWJs
aWMvV2ViVVJMUmVxdWVzdC5oOiBhZGQgdGhlIFRhcmdldFR5cGVzCisgICAgICAgICogc3JjL1dl
YldvcmtlckJhc2UuY3BwOiBjYWxsIHRoZSBlbWJlZGRlcidzIGZhY3Rvcnkgd2hlbiBuZWVkZWQK
KyAgICAgICAgKFdlYktpdDo6V2ViV29ya2VyQmFzZTo6ZGlkQ3JlYXRlRGF0YVNvdXJjZSkKKyAg
ICAgICAgKFdlYktpdDo6V2ViV29ya2VyQmFzZTo6Y3JlYXRlQXBwbGljYXRpb25DYWNoZUhvc3Qp
CisgICAgICAgICogc3JjL1dlYldvcmtlckJhc2UuaDogZGl0dG8KKyAgICAgICAgKiBzcmMvV2Vi
V29ya2VyQ2xpZW50SW1wbC5oOiBhZGQgYSBzdHViIGltcGwgdGhlIG5ldyBtZXRob2QgCisgICAg
ICAgIChXZWJLaXQ6OldlYldvcmtlckNsaWVudEltcGw6OmNyZWF0ZUFwcGxpY2F0aW9uQ2FjaGVI
b3N0KToKKwogMjAxMC0wNC0yNSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgpJbmRleDogV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJDb21tb25Xb3JrZXJDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkNvbW1vbldvcmtlckNsaWVudC5oCShyZXZpc2lvbiA1ODI2NSkKKysr
IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQ29tbW9uV29ya2VyQ2xpZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTMzLDYgKzMzLDggQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK2NsYXNzIFdl
YkFwcGxpY2F0aW9uQ2FjaGVIb3N0OworY2xhc3MgV2ViQXBwbGljYXRpb25DYWNoZUhvc3RDbGll
bnQ7CiBjbGFzcyBXZWJOb3RpZmljYXRpb25QcmVzZW50ZXI7CiBjbGFzcyBXZWJTdHJpbmc7CiBj
bGFzcyBXZWJXb3JrZXI7CkBAIC03NCw2ICs3Niw5IEBAIHB1YmxpYzoKICAgICAvLyB0aGV5IGFy
ZSBjcmVhdGVkIHZpYSB0aGUgV2ViU2hhcmVkV29ya2VyUmVwb3NpdG9yeS4KICAgICB2aXJ0dWFs
IFdlYldvcmtlciogY3JlYXRlV29ya2VyKFdlYldvcmtlckNsaWVudCogY2xpZW50KSA9IDA7CiAK
KyAgICAvLyBDYWxsZWQgb24gdGhlIG1haW4gd2Via2l0IHRocmVhZCBpbiB0aGUgd29ya2VyIHBy
b2Nlc3MgZHVyaW5nIGluaXRpYWxpemF0aW9uLgorICAgIHZpcnR1YWwgV2ViQXBwbGljYXRpb25D
YWNoZUhvc3QqIGNyZWF0ZUFwcGxpY2F0aW9uQ2FjaGVIb3N0KFdlYkFwcGxpY2F0aW9uQ2FjaGVI
b3N0Q2xpZW50KikgPSAwOworCiBwcm90ZWN0ZWQ6CiAgICAgfldlYkNvbW1vbldvcmtlckNsaWVu
dCgpIHsgfQogfTsKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVVJMUmVxdWVzdC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVVJMUmVxdWVzdC5oCShy
ZXZpc2lvbiA1ODI2NSkKKysrIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVVJMUmVxdWVzdC5o
CSh3b3JraW5nIGNvcHkpCkBAIC02Nyw3ICs2Nyw5IEBAIHB1YmxpYzoKICAgICAgICAgVGFyZ2V0
SXNGb250UmVzb3VyY2UgPSA1LAogICAgICAgICBUYXJnZXRJc0ltYWdlID0gNiwKICAgICAgICAg
VGFyZ2V0SXNPYmplY3QgPSA3LAotICAgICAgICBUYXJnZXRJc01lZGlhID0gOAorICAgICAgICBU
YXJnZXRJc01lZGlhID0gOCwKKyAgICAgICAgVGFyZ2V0SXNXb3JrZXIgPSA5LAorICAgICAgICBU
YXJnZXRJc1NoYXJlZFdvcmtlciA9IDEwCiAgICAgfTsKIAogICAgIH5XZWJVUkxSZXF1ZXN0KCkg
eyByZXNldCgpOyB9CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckJhc2UuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5jcHAJKHJl
dmlzaW9uIDU4MjY1KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJCYXNlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTEsMzAgKzUxLDYgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKICNp
ZiBFTkFCTEUoV09SS0VSUykKIAotLy8gRHVtbXkgV2ViVmlld0RlbGVnYXRlIC0gd2Ugb25seSBu
ZWVkIGl0IGluIFdvcmtlciBwcm9jZXNzIHRvIGxvYWQgYQotLy8gJ3NoYWRvdyBwYWdlJyB3aGlj
aCB3aWxsIGluaXRpYWxpemUgV2ViQ29yZSBsb2FkZXIuCi1jbGFzcyBXb3JrZXJXZWJGcmFtZUNs
aWVudCA6IHB1YmxpYyBXZWJGcmFtZUNsaWVudCB7Ci1wdWJsaWM6Ci0gICAgLy8gVGVsbCB0aGUg
bG9hZGVyIHRvIGxvYWQgdGhlIGRhdGEgaW50byB0aGUgJ3NoYWRvdyBwYWdlJyBzeW5jaHJvbm91
c2x5LAotICAgIC8vIHNvIHdlIGNhbiBncmFiIHRoZSByZXN1bHRpbmcgRG9jdW1lbnQgcmlnaHQg
YWZ0ZXIgbG9hZC4KLSAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRGF0YVNvdXJjZShXZWJGcmFt
ZSogZnJhbWUsIFdlYkRhdGFTb3VyY2UqIGRzKQotICAgIHsKLSAgICAgICAgc3RhdGljX2Nhc3Q8
V2ViRGF0YVNvdXJjZUltcGwqPihkcyktPnNldERlZmVyTWFpblJlc291cmNlRGF0YUxvYWQoZmFs
c2UpOwotICAgIH0KLQotICAgIC8vIExhenkgYWxsb2NhdGUgYW5kIGxlYWsgdGhpcyBpbnN0YW5j
ZS4KLSAgICBzdGF0aWMgV29ya2VyV2ViRnJhbWVDbGllbnQqIHNoYXJlZEluc3RhbmNlKCkKLSAg
ICB7Ci0gICAgICAgIHN0YXRpYyBXb3JrZXJXZWJGcmFtZUNsaWVudCBjbGllbnQ7Ci0gICAgICAg
IHJldHVybiAmY2xpZW50OwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBXb3JrZXJXZWJGcmFtZUNs
aWVudCgpCi0gICAgewotICAgIH0KLX07Ci0KIC8vIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIG9u
IHRoZSBtYWluIHRocmVhZCB0byBmb3JjZSB0byBpbml0aWFsaXplIHNvbWUgc3RhdGljCiAvLyB2
YWx1ZXMgdXNlZCBpbiBXZWJLaXQgYmVmb3JlIGFueSB3b3JrZXIgdGhyZWFkIGlzIHN0YXJ0ZWQu
IFRoaXMgaXMgYmVjYXVzZSBpbgogLy8gb3VyIHdvcmtlciBwcm9jZXNzcywgd2UgZG8gbm90IHJ1
biBhbnkgV2ViS2l0IGNvZGUgaW4gbWFpbiB0aHJlYWQgYW5kIHRodXMKQEAgLTEyMiw3ICs5OCw3
IEBAIHZvaWQgV2ViV29ya2VyQmFzZTo6aW5pdGlhbGl6ZUxvYWRlcihjb24KICAgICAvLyBpbmZy
YXN0cnVjdHVyZS4KICAgICBBU1NFUlQoIW1fd2ViVmlldyk7CiAgICAgbV93ZWJWaWV3ID0gV2Vi
Vmlldzo6Y3JlYXRlKDApOwotICAgIG1fd2ViVmlldy0+aW5pdGlhbGl6ZU1haW5GcmFtZShXb3Jr
ZXJXZWJGcmFtZUNsaWVudDo6c2hhcmVkSW5zdGFuY2UoKSk7CisgICAgbV93ZWJWaWV3LT5pbml0
aWFsaXplTWFpbkZyYW1lKHRoaXMpOwogCiAgICAgV2ViRnJhbWVJbXBsKiB3ZWJGcmFtZSA9IHN0
YXRpY19jYXN0PFdlYkZyYW1lSW1wbCo+KG1fd2ViVmlldy0+bWFpbkZyYW1lKCkpOwogCkBAIC0x
NTEsNiArMTI3LDIwIEBAIHZvaWQgV2ViV29ya2VyQmFzZTo6aW52b2tlVGFza01ldGhvZCh2b2kK
ICAgICBkZWxldGUgdGFzazsKIH0KIAordm9pZCBXZWJXb3JrZXJCYXNlOjpkaWRDcmVhdGVEYXRh
U291cmNlKFdlYkZyYW1lKiBmcmFtZSwgV2ViRGF0YVNvdXJjZSogZHMpCit7CisgICAgLy8gVGVs
bCB0aGUgbG9hZGVyIHRvIGxvYWQgdGhlIGRhdGEgaW50byB0aGUgJ3NoYWRvdyBwYWdlJyBzeW5j
aHJvbm91c2x5LAorICAgIC8vIHNvIHdlIGNhbiBncmFiIHRoZSByZXN1bHRpbmcgRG9jdW1lbnQg
cmlnaHQgYWZ0ZXIgbG9hZC4KKyAgICBzdGF0aWNfY2FzdDxXZWJEYXRhU291cmNlSW1wbCo+KGRz
KS0+c2V0RGVmZXJNYWluUmVzb3VyY2VEYXRhTG9hZChmYWxzZSk7Cit9CisKK1dlYkFwcGxpY2F0
aW9uQ2FjaGVIb3N0KiBXZWJXb3JrZXJCYXNlOjpjcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9zdChX
ZWJGcmFtZSosIFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0Q2xpZW50KiBhcHBjYWNoZUhvc3RDbGll
bnQpCit7CisgICAgaWYgKGNvbW1vbkNsaWVudCgpKQorICAgICAgICByZXR1cm4gY29tbW9uQ2xp
ZW50KCktPmNyZWF0ZUFwcGxpY2F0aW9uQ2FjaGVIb3N0KGFwcGNhY2hlSG9zdENsaWVudCk7Cisg
ICAgcmV0dXJuIDA7Cit9CisKIC8vIFdvcmtlck9iamVjdFByb3h5IC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIHZvaWQgV2ViV29y
a2VyQmFzZTo6cG9zdE1lc3NhZ2VUb1dvcmtlck9iamVjdChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZT4gbWVzc2FnZSwKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2Vy
QmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5o
CShyZXZpc2lvbiA1ODI2NSkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAjaWYgRU5BQkxFKFdPUktFUlMpCiAK
ICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisjaW5jbHVkZSAiV2ViRnJhbWVD
bGllbnQuaCIKICNpbmNsdWRlICJXb3JrZXJMb2FkZXJQcm94eS5oIgogI2luY2x1ZGUgIldvcmtl
ck9iamVjdFByb3h5LmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KQEAgLTQ0LDYgKzQ1
LDggQEAgY2xhc3MgV29ya2VyVGhyZWFkOwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKK2NsYXNz
IFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0OworY2xhc3MgV2ViQXBwbGljYXRpb25DYWNoZUhvc3RD
bGllbnQ7CiBjbGFzcyBXZWJDb21tb25Xb3JrZXJDbGllbnQ7CiBjbGFzcyBXZWJTZWN1cml0eU9y
aWdpbjsKIGNsYXNzIFdlYlN0cmluZzsKQEAgLTU2LDcgKzU5LDggQEAgY2xhc3MgV2ViV29ya2Vy
Q2xpZW50OwogLy8gY29kZSB1c2VkIGJ5IGJvdGggaW1wbGVtZW50YXRpb24gY2xhc3NlcywgaW5j
bHVkaW5nIGltcGxlbWVudGF0aW9ucyBvZiB0aGUKIC8vIFdvcmtlck9iamVjdFByb3h5IGFuZCBX
b3JrZXJMb2FkZXJQcm94eSBpbnRlcmZhY2VzLgogY2xhc3MgV2ViV29ya2VyQmFzZSA6IHB1Ymxp
YyBXZWJDb3JlOjpXb3JrZXJPYmplY3RQcm94eQotICAgICAgICAgICAgICAgICAgICAsIHB1Ymxp
YyBXZWJDb3JlOjpXb3JrZXJMb2FkZXJQcm94eSB7CisgICAgICAgICAgICAgICAgICAgICwgcHVi
bGljIFdlYkNvcmU6OldvcmtlckxvYWRlclByb3h5CisgICAgICAgICAgICAgICAgICAgICwgcHVi
bGljIFdlYkZyYW1lQ2xpZW50IHsKIHB1YmxpYzoKICAgICBXZWJXb3JrZXJCYXNlKCk7CiAgICAg
dmlydHVhbCB+V2ViV29ya2VyQmFzZSgpOwpAQCAtODAsNiArODQsMTAgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgdm9pZCBwb3N0VGFza0Zvck1vZGVUb1dvcmtlckNvbnRleHQoCiAgICAgICAgIFBh
c3NPd25QdHI8V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4sIGNvbnN0IFdl
YkNvcmU6OlN0cmluZyYgbW9kZSk7CiAKKyAgICAvLyBXZWJGcmFtZUNsaWVudCBtZXRob2RzIHRv
IHN1cHBvcnQgcmVzb3VyY2UgbG9hZGluZyB0aHJ1IHRoZSAnc2hhZG93IHBhZ2UnLgorICAgIHZp
cnR1YWwgdm9pZCBkaWRDcmVhdGVEYXRhU291cmNlKFdlYkZyYW1lKiwgV2ViRGF0YVNvdXJjZSop
OworICAgIHZpcnR1YWwgV2ViQXBwbGljYXRpb25DYWNoZUhvc3QqIGNyZWF0ZUFwcGxpY2F0aW9u
Q2FjaGVIb3N0KFdlYkZyYW1lKiwgV2ViQXBwbGljYXRpb25DYWNoZUhvc3RDbGllbnQqKTsKKwog
ICAgIC8vIEV4ZWN1dGVzIHRoZSBnaXZlbiB0YXNrIG9uIHRoZSBtYWluIHRocmVhZC4KICAgICBz
dGF0aWMgdm9pZCBkaXNwYXRjaFRhc2tUb01haW5UaHJlYWQoUGFzc093blB0cjxXZWJDb3JlOjpT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrPik7CiAKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9z
cmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9z
cmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oCShyZXZpc2lvbiA1ODI2NSkKKysrIFdlYktpdC9jaHJv
bWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC05NCw2ICs5
NCw3IEBAIHB1YmxpYzoKICAgICAgICAgLy8gRklYTUU6IE5vdGlmaWNhdGlvbnMgbm90IHlldCBz
dXBwb3J0ZWQgaW4gd29ya2Vycy4KICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQorICAgIHZpcnR1
YWwgV2ViQXBwbGljYXRpb25DYWNoZUhvc3QqIGNyZWF0ZUFwcGxpY2F0aW9uQ2FjaGVIb3N0KFdl
YkFwcGxpY2F0aW9uQ2FjaGVIb3N0Q2xpZW50KikgeyByZXR1cm4gMDsgfQogCiBwcml2YXRlOgog
ICAgIHZpcnR1YWwgfldlYldvcmtlckNsaWVudEltcGwoKTsKSW5kZXg6IFdlYktpdFRvb2xzL0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDU4
MjY1KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTcgQEAKKzIwMTAtMDQtMjYgIE1pY2hhZWwgTm9yZG1hbiAgPG1pY2hhZWxuQGdvb2dsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9t
aXVtXSBBZGQgdHdvIHRoaW5ncyB0byB0aGUgd2Via2l0IEFQSSB0byBzdXBwb3J0IGFwcGNhY2hl
cyBpbiB3b3JrZXJzLgorICAgICAgICAxKSBXZWJVUkxSZXF1ZXN0IFRhcmdldFR5cGVzIGZvciB3
b3JrZXIgYW5kIHNoYXJlZCB3b3JrZXIgbWFpbiByZXNvdXJjZXMuCisgICAgICAgIDIpIEZhY3Rv
cnkgbWV0aG9kIG9uIGNsYXNzIFdlYkNvbW1vbldvcmtlckNsaWVudCB0bworICAgICAgICAgICBj
cmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9zdCgpIGZvciB0aGUgYXNzb2NpYXRlZCB3b3JrZXIuCisK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4MTQ3CisK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViV29ya2VyLmggYWRkIGEg
c3R1YiBpbXBsIHRoZSBmYWN0b3J5IG1ldGhvZCAKKyAgICAgICAgKFRlc3RXZWJXb3JrZXI6OmNy
ZWF0ZUFwcGxpY2F0aW9uQ2FjaGVIb3N0KToKKwogMjAxMC0wNC0yNiAgT2phbiBWYWZhaSAgPG9q
YW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRl
eDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYldvcmtlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJX
b3JrZXIuaAkocmV2aXNpb24gNTgyNjUpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9UZXN0V2ViV29ya2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTc5LDYgKzc5LDcgQEAg
cHVibGljOgogICAgIH0KICAgICB2aXJ0dWFsIFdlYktpdDo6V2ViV29ya2VyKiBjcmVhdGVXb3Jr
ZXIoV2ViS2l0OjpXZWJXb3JrZXJDbGllbnQqKSB7IHJldHVybiAwOyB9CiAgICAgdmlydHVhbCBX
ZWJLaXQ6OldlYk5vdGlmaWNhdGlvblByZXNlbnRlciogbm90aWZpY2F0aW9uUHJlc2VudGVyKCkg
eyByZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgV2ViQXBwbGljYXRpb25DYWNoZUhvc3QqIGNyZWF0
ZUFwcGxpY2F0aW9uQ2FjaGVIb3N0KFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0Q2xpZW50KikgeyBy
ZXR1cm4gMDsgfQogCiBwcml2YXRlOgogICAgIH5UZXN0V2ViV29ya2VyKCkge30K
</data>
<flag name="review"
          id="38303"
          type_id="1"
          status="-"
          setter="michaeln"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54362</attachid>
            <date>2010-04-26 18:10:00 -0700</date>
            <delta_ts>2010-04-27 18:38:16 -0700</delta_ts>
            <desc>add some WebKit:: namespace prefixes</desc>
            <filename>api.take3.patch</filename>
            <type>text/plain</type>
            <size>8738</size>
            <attacher name="Michael Nordman">michaeln</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNTgyNzEpCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTAtMDQtMjYgIE1pY2hh
ZWwgTm9yZG1hbiAgPG1pY2hhZWxuQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBBZGQgdHdvIHRoaW5ncyB0byB0
aGUgd2Via2l0IEFQSSB0byBzdXBwb3J0IGFwcGNhY2hlcyBpbiB3b3JrZXJzLgorICAgICAgICAx
KSBXZWJVUkxSZXF1ZXN0IFRhcmdldFR5cGVzIGZvciB3b3JrZXIgYW5kIHNoYXJlZCB3b3JrZXIg
bWFpbiByZXNvdXJjZXMuCisgICAgICAgIDIpIEZhY3RvcnkgbWV0aG9kIG9uIGNsYXNzIFdlYkNv
bW1vbldvcmtlckNsaWVudCB0bworICAgICAgICAgICBjcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9z
dCgpIGZvciB0aGUgYXNzb2NpYXRlZCB3b3JrZXIuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4MTQ3CisKKyAgICAgICAgKiBwdWJsaWMvV2ViQ29t
bW9uV29ya2VyQ2xpZW50Lmg6IGFkZCB0aGUgZmFjdG9yeSBtZXRob2QKKyAgICAgICAgKiBwdWJs
aWMvV2ViVVJMUmVxdWVzdC5oOiBhZGQgdGhlIFRhcmdldFR5cGVzCisgICAgICAgICogc3JjL1dl
YldvcmtlckJhc2UuY3BwOiBjYWxsIHRoZSBlbWJlZGRlcidzIGZhY3Rvcnkgd2hlbiBuZWVkZWQK
KyAgICAgICAgKFdlYktpdDo6V2ViV29ya2VyQmFzZTo6ZGlkQ3JlYXRlRGF0YVNvdXJjZSkKKyAg
ICAgICAgKFdlYktpdDo6V2ViV29ya2VyQmFzZTo6Y3JlYXRlQXBwbGljYXRpb25DYWNoZUhvc3Qp
CisgICAgICAgICogc3JjL1dlYldvcmtlckJhc2UuaDogZGl0dG8KKyAgICAgICAgKiBzcmMvV2Vi
V29ya2VyQ2xpZW50SW1wbC5oOiBhZGQgYSBzdHViIGltcGwgb2YgdGhlIGZhY3RvcnkgbWV0aG9k
IAorICAgICAgICAoV2ViS2l0OjpXZWJXb3JrZXJDbGllbnRJbXBsOjpjcmVhdGVBcHBsaWNhdGlv
bkNhY2hlSG9zdCk6CisKIDIwMTAtMDQtMjUgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBNYWNpZWogU3RhY2hvd2lhay4KSW5kZXg6IFdlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViQ29tbW9uV29ya2VyQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDb21tb25Xb3JrZXJDbGllbnQuaAkocmV2aXNpb24gNTgy
NjUpCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbW1vbldvcmtlckNsaWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw4IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCitj
bGFzcyBXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdDsKK2NsYXNzIFdlYkFwcGxpY2F0aW9uQ2FjaGVI
b3N0Q2xpZW50OwogY2xhc3MgV2ViTm90aWZpY2F0aW9uUHJlc2VudGVyOwogY2xhc3MgV2ViU3Ry
aW5nOwogY2xhc3MgV2ViV29ya2VyOwpAQCAtNzQsNiArNzYsOSBAQCBwdWJsaWM6CiAgICAgLy8g
dGhleSBhcmUgY3JlYXRlZCB2aWEgdGhlIFdlYlNoYXJlZFdvcmtlclJlcG9zaXRvcnkuCiAgICAg
dmlydHVhbCBXZWJXb3JrZXIqIGNyZWF0ZVdvcmtlcihXZWJXb3JrZXJDbGllbnQqIGNsaWVudCkg
PSAwOwogCisgICAgLy8gQ2FsbGVkIG9uIHRoZSBtYWluIHdlYmtpdCB0aHJlYWQgaW4gdGhlIHdv
cmtlciBwcm9jZXNzIGR1cmluZyBpbml0aWFsaXphdGlvbi4KKyAgICB2aXJ0dWFsIFdlYkFwcGxp
Y2F0aW9uQ2FjaGVIb3N0KiBjcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9zdChXZWJBcHBsaWNhdGlv
bkNhY2hlSG9zdENsaWVudCopID0gMDsKKwogcHJvdGVjdGVkOgogICAgIH5XZWJDb21tb25Xb3Jr
ZXJDbGllbnQoKSB7IH0KIH07CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlVSTFJl
cXVlc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlVSTFJlcXVl
c3QuaAkocmV2aXNpb24gNTgyNjUpCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlVSTFJl
cXVlc3QuaAkod29ya2luZyBjb3B5KQpAQCAtNjcsNyArNjcsOSBAQCBwdWJsaWM6CiAgICAgICAg
IFRhcmdldElzRm9udFJlc291cmNlID0gNSwKICAgICAgICAgVGFyZ2V0SXNJbWFnZSA9IDYsCiAg
ICAgICAgIFRhcmdldElzT2JqZWN0ID0gNywKLSAgICAgICAgVGFyZ2V0SXNNZWRpYSA9IDgKKyAg
ICAgICAgVGFyZ2V0SXNNZWRpYSA9IDgsCisgICAgICAgIFRhcmdldElzV29ya2VyID0gOSwKKyAg
ICAgICAgVGFyZ2V0SXNTaGFyZWRXb3JrZXIgPSAxMAogICAgIH07CiAKICAgICB+V2ViVVJMUmVx
dWVzdCgpIHsgcmVzZXQoKTsgfQpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJC
YXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckJhc2Uu
Y3BwCShyZXZpc2lvbiA1ODI2NSkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFz
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDMwICs1MSw2IEBAIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiAjaWYgRU5BQkxFKFdPUktFUlMpCiAKLS8vIER1bW15IFdlYlZpZXdEZWxlZ2F0ZSAtIHdl
IG9ubHkgbmVlZCBpdCBpbiBXb3JrZXIgcHJvY2VzcyB0byBsb2FkIGEKLS8vICdzaGFkb3cgcGFn
ZScgd2hpY2ggd2lsbCBpbml0aWFsaXplIFdlYkNvcmUgbG9hZGVyLgotY2xhc3MgV29ya2VyV2Vi
RnJhbWVDbGllbnQgOiBwdWJsaWMgV2ViRnJhbWVDbGllbnQgewotcHVibGljOgotICAgIC8vIFRl
bGwgdGhlIGxvYWRlciB0byBsb2FkIHRoZSBkYXRhIGludG8gdGhlICdzaGFkb3cgcGFnZScgc3lu
Y2hyb25vdXNseSwKLSAgICAvLyBzbyB3ZSBjYW4gZ3JhYiB0aGUgcmVzdWx0aW5nIERvY3VtZW50
IHJpZ2h0IGFmdGVyIGxvYWQuCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZURhdGFTb3VyY2Uo
V2ViRnJhbWUqIGZyYW1lLCBXZWJEYXRhU291cmNlKiBkcykKLSAgICB7Ci0gICAgICAgIHN0YXRp
Y19jYXN0PFdlYkRhdGFTb3VyY2VJbXBsKj4oZHMpLT5zZXREZWZlck1haW5SZXNvdXJjZURhdGFM
b2FkKGZhbHNlKTsKLSAgICB9Ci0KLSAgICAvLyBMYXp5IGFsbG9jYXRlIGFuZCBsZWFrIHRoaXMg
aW5zdGFuY2UuCi0gICAgc3RhdGljIFdvcmtlcldlYkZyYW1lQ2xpZW50KiBzaGFyZWRJbnN0YW5j
ZSgpCi0gICAgewotICAgICAgICBzdGF0aWMgV29ya2VyV2ViRnJhbWVDbGllbnQgY2xpZW50Owot
ICAgICAgICByZXR1cm4gJmNsaWVudDsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgV29ya2VyV2Vi
RnJhbWVDbGllbnQoKQotICAgIHsKLSAgICB9Ci19OwotCiAvLyBUaGlzIGZ1bmN0aW9uIGlzIGNh
bGxlZCBvbiB0aGUgbWFpbiB0aHJlYWQgdG8gZm9yY2UgdG8gaW5pdGlhbGl6ZSBzb21lIHN0YXRp
YwogLy8gdmFsdWVzIHVzZWQgaW4gV2ViS2l0IGJlZm9yZSBhbnkgd29ya2VyIHRocmVhZCBpcyBz
dGFydGVkLiBUaGlzIGlzIGJlY2F1c2UgaW4KIC8vIG91ciB3b3JrZXIgcHJvY2Vzc3MsIHdlIGRv
IG5vdCBydW4gYW55IFdlYktpdCBjb2RlIGluIG1haW4gdGhyZWFkIGFuZCB0aHVzCkBAIC0xMjIs
NyArOTgsNyBAQCB2b2lkIFdlYldvcmtlckJhc2U6OmluaXRpYWxpemVMb2FkZXIoY29uCiAgICAg
Ly8gaW5mcmFzdHJ1Y3R1cmUuCiAgICAgQVNTRVJUKCFtX3dlYlZpZXcpOwogICAgIG1fd2ViVmll
dyA9IFdlYlZpZXc6OmNyZWF0ZSgwKTsKLSAgICBtX3dlYlZpZXctPmluaXRpYWxpemVNYWluRnJh
bWUoV29ya2VyV2ViRnJhbWVDbGllbnQ6OnNoYXJlZEluc3RhbmNlKCkpOworICAgIG1fd2ViVmll
dy0+aW5pdGlhbGl6ZU1haW5GcmFtZSh0aGlzKTsKIAogICAgIFdlYkZyYW1lSW1wbCogd2ViRnJh
bWUgPSBzdGF0aWNfY2FzdDxXZWJGcmFtZUltcGwqPihtX3dlYlZpZXctPm1haW5GcmFtZSgpKTsK
IApAQCAtMTUxLDYgKzEyNywyMCBAQCB2b2lkIFdlYldvcmtlckJhc2U6Omludm9rZVRhc2tNZXRo
b2Qodm9pCiAgICAgZGVsZXRlIHRhc2s7CiB9CiAKK3ZvaWQgV2ViV29ya2VyQmFzZTo6ZGlkQ3Jl
YXRlRGF0YVNvdXJjZShXZWJGcmFtZSogZnJhbWUsIFdlYkRhdGFTb3VyY2UqIGRzKQoreworICAg
IC8vIFRlbGwgdGhlIGxvYWRlciB0byBsb2FkIHRoZSBkYXRhIGludG8gdGhlICdzaGFkb3cgcGFn
ZScgc3luY2hyb25vdXNseSwKKyAgICAvLyBzbyB3ZSBjYW4gZ3JhYiB0aGUgcmVzdWx0aW5nIERv
Y3VtZW50IHJpZ2h0IGFmdGVyIGxvYWQuCisgICAgc3RhdGljX2Nhc3Q8V2ViRGF0YVNvdXJjZUlt
cGwqPihkcyktPnNldERlZmVyTWFpblJlc291cmNlRGF0YUxvYWQoZmFsc2UpOworfQorCitXZWJB
cHBsaWNhdGlvbkNhY2hlSG9zdCogV2ViV29ya2VyQmFzZTo6Y3JlYXRlQXBwbGljYXRpb25DYWNo
ZUhvc3QoV2ViRnJhbWUqLCBXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdENsaWVudCogYXBwY2FjaGVI
b3N0Q2xpZW50KQoreworICAgIGlmIChjb21tb25DbGllbnQoKSkKKyAgICAgICAgcmV0dXJuIGNv
bW1vbkNsaWVudCgpLT5jcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9zdChhcHBjYWNoZUhvc3RDbGll
bnQpOworICAgIHJldHVybiAwOworfQorCiAvLyBXb3JrZXJPYmplY3RQcm94eSAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiB2b2lk
IFdlYldvcmtlckJhc2U6OnBvc3RNZXNzYWdlVG9Xb3JrZXJPYmplY3QoUGFzc1JlZlB0cjxTZXJp
YWxpemVkU2NyaXB0VmFsdWU+IG1lc3NhZ2UsCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dl
YldvcmtlckJhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtl
ckJhc2UuaAkocmV2aXNpb24gNTgyNjUpCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtl
ckJhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsNyBAQAogI2lmIEVOQUJMRShXT1JL
RVJTKQogCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgorI2luY2x1ZGUgIldl
YkZyYW1lQ2xpZW50LmgiCiAjaW5jbHVkZSAiV29ya2VyTG9hZGVyUHJveHkuaCIKICNpbmNsdWRl
ICJXb3JrZXJPYmplY3RQcm94eS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CkBAIC00
NCw2ICs0NSw4IEBAIGNsYXNzIFdvcmtlclRocmVhZDsKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7
CitjbGFzcyBXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdDsKK2NsYXNzIFdlYkFwcGxpY2F0aW9uQ2Fj
aGVIb3N0Q2xpZW50OwogY2xhc3MgV2ViQ29tbW9uV29ya2VyQ2xpZW50OwogY2xhc3MgV2ViU2Vj
dXJpdHlPcmlnaW47CiBjbGFzcyBXZWJTdHJpbmc7CkBAIC01Niw3ICs1OSw4IEBAIGNsYXNzIFdl
YldvcmtlckNsaWVudDsKIC8vIGNvZGUgdXNlZCBieSBib3RoIGltcGxlbWVudGF0aW9uIGNsYXNz
ZXMsIGluY2x1ZGluZyBpbXBsZW1lbnRhdGlvbnMgb2YgdGhlCiAvLyBXb3JrZXJPYmplY3RQcm94
eSBhbmQgV29ya2VyTG9hZGVyUHJveHkgaW50ZXJmYWNlcy4KIGNsYXNzIFdlYldvcmtlckJhc2Ug
OiBwdWJsaWMgV2ViQ29yZTo6V29ya2VyT2JqZWN0UHJveHkKLSAgICAgICAgICAgICAgICAgICAg
LCBwdWJsaWMgV2ViQ29yZTo6V29ya2VyTG9hZGVyUHJveHkgeworICAgICAgICAgICAgICAgICAg
ICAsIHB1YmxpYyBXZWJDb3JlOjpXb3JrZXJMb2FkZXJQcm94eQorICAgICAgICAgICAgICAgICAg
ICAsIHB1YmxpYyBXZWJGcmFtZUNsaWVudCB7CiBwdWJsaWM6CiAgICAgV2ViV29ya2VyQmFzZSgp
OwogICAgIHZpcnR1YWwgfldlYldvcmtlckJhc2UoKTsKQEAgLTgwLDYgKzg0LDEwIEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgcG9zdFRhc2tGb3JNb2RlVG9Xb3JrZXJDb250ZXh0KAogICAg
ICAgICBQYXNzT3duUHRyPFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2s+LCBj
b25zdCBXZWJDb3JlOjpTdHJpbmcmIG1vZGUpOwogCisgICAgLy8gV2ViRnJhbWVDbGllbnQgbWV0
aG9kcyB0byBzdXBwb3J0IHJlc291cmNlIGxvYWRpbmcgdGhydSB0aGUgJ3NoYWRvdyBwYWdlJy4K
KyAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlRGF0YVNvdXJjZShXZWJGcmFtZSosIFdlYkRhdGFT
b3VyY2UqKTsKKyAgICB2aXJ0dWFsIFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0KiBjcmVhdGVBcHBs
aWNhdGlvbkNhY2hlSG9zdChXZWJGcmFtZSosIFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0Q2xpZW50
Kik7CisKICAgICAvLyBFeGVjdXRlcyB0aGUgZ2l2ZW4gdGFzayBvbiB0aGUgbWFpbiB0aHJlYWQu
CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hUYXNrVG9NYWluVGhyZWFkKFBhc3NPd25QdHI8V2Vi
Q29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4pOwogCkluZGV4OiBXZWJLaXQvY2hy
b21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hy
b21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuaAkocmV2aXNpb24gNTgyNjUpCisrKyBXZWJL
aXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuaAkod29ya2luZyBjb3B5KQpAQCAt
OTQsNiArOTQsNyBAQCBwdWJsaWM6CiAgICAgICAgIC8vIEZJWE1FOiBOb3RpZmljYXRpb25zIG5v
dCB5ZXQgc3VwcG9ydGVkIGluIHdvcmtlcnMuCiAgICAgICAgIHJldHVybiAwOwogICAgIH0KKyAg
ICB2aXJ0dWFsIFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0KiBjcmVhdGVBcHBsaWNhdGlvbkNhY2hl
SG9zdChXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdENsaWVudCopIHsgcmV0dXJuIDA7IH0KIAogcHJp
dmF0ZToKICAgICB2aXJ0dWFsIH5XZWJXb3JrZXJDbGllbnRJbXBsKCk7CkluZGV4OiBXZWJLaXRU
b29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiA1ODI2NSkKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE3IEBACisyMDEwLTA0LTI2ICBNaWNoYWVsIE5vcmRtYW4gIDxtaWNoYWVsbkBnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFtDaHJvbWl1bV0gQWRkIHR3byB0aGluZ3MgdG8gdGhlIHdlYmtpdCBBUEkgdG8gc3VwcG9ydCBh
cHBjYWNoZXMgaW4gd29ya2Vycy4KKyAgICAgICAgMSkgV2ViVVJMUmVxdWVzdCBUYXJnZXRUeXBl
cyBmb3Igd29ya2VyIGFuZCBzaGFyZWQgd29ya2VyIG1haW4gcmVzb3VyY2VzLgorICAgICAgICAy
KSBGYWN0b3J5IG1ldGhvZCBvbiBjbGFzcyBXZWJDb21tb25Xb3JrZXJDbGllbnQgdG8KKyAgICAg
ICAgICAgY3JlYXRlQXBwbGljYXRpb25DYWNoZUhvc3QoKSBmb3IgdGhlIGFzc29jaWF0ZWQgd29y
a2VyLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0z
ODE0NworCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYldvcmtlci5o
IGFkZCBhIHN0dWIgaW1wbCBvZiB0aGUgZmFjdG9yeSBtZXRob2QgCisgICAgICAgIChUZXN0V2Vi
V29ya2VyOjpjcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9zdCk6CisKIDIwMTAtMDQtMjYgIE9qYW4g
VmFmYWkgIDxvamFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNl
aWRlbC4KSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJX
b3JrZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9UZXN0V2ViV29ya2VyLmgJKHJldmlzaW9uIDU4MjY1KQorKysgV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYldvcmtlci5oCSh3b3JraW5nIGNvcHkpCkBAIC03OSw2
ICs3OSw3IEBAIHB1YmxpYzoKICAgICB9CiAgICAgdmlydHVhbCBXZWJLaXQ6OldlYldvcmtlciog
Y3JlYXRlV29ya2VyKFdlYktpdDo6V2ViV29ya2VyQ2xpZW50KikgeyByZXR1cm4gMDsgfQogICAg
IHZpcnR1YWwgV2ViS2l0OjpXZWJOb3RpZmljYXRpb25QcmVzZW50ZXIqIG5vdGlmaWNhdGlvblBy
ZXNlbnRlcigpIHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFsIFdlYktpdDo6V2ViQXBwbGljYXRp
b25DYWNoZUhvc3QqIGNyZWF0ZUFwcGxpY2F0aW9uQ2FjaGVIb3N0KFdlYktpdDo6V2ViQXBwbGlj
YXRpb25DYWNoZUhvc3RDbGllbnQqKSB7IHJldHVybiAwOyB9CiAKIHByaXZhdGU6CiAgICAgflRl
c3RXZWJXb3JrZXIoKSB7fQo=
</data>
<flag name="review"
          id="38309"
          type_id="1"
          status="-"
          setter="dimich"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54494</attachid>
            <date>2010-04-27 18:38:16 -0700</date>
            <delta_ts>2010-04-27 20:00:17 -0700</delta_ts>
            <desc>take4</desc>
            <filename>api.take4.patch</filename>
            <type>text/plain</type>
            <size>9010</size>
            <attacher name="Michael Nordman">michaeln</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNTgyNzEpCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTAtMDQtMjYgIE1pY2hh
ZWwgTm9yZG1hbiAgPG1pY2hhZWxuQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBBZGQgdHdvIHRoaW5ncyB0byB0
aGUgd2Via2l0IEFQSSB0byBzdXBwb3J0IGFwcGNhY2hlcyBpbiB3b3JrZXJzLgorICAgICAgICAx
KSBXZWJVUkxSZXF1ZXN0IFRhcmdldFR5cGVzIGZvciB3b3JrZXIgYW5kIHNoYXJlZCB3b3JrZXIg
bWFpbiByZXNvdXJjZXMuCisgICAgICAgIDIpIEZhY3RvcnkgbWV0aG9kIG9uIGNsYXNzIFdlYkNv
bW1vbldvcmtlckNsaWVudCB0bworICAgICAgICAgICBjcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9z
dCgpIGZvciB0aGUgYXNzb2NpYXRlZCB3b3JrZXIuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4MTQ3CisKKyAgICAgICAgKiBwdWJsaWMvV2ViQ29t
bW9uV29ya2VyQ2xpZW50Lmg6IGFkZCB0aGUgZmFjdG9yeSBtZXRob2QKKyAgICAgICAgKiBwdWJs
aWMvV2ViVVJMUmVxdWVzdC5oOiBhZGQgdGhlIFRhcmdldFR5cGVzCisgICAgICAgICogc3JjL1dl
YldvcmtlckJhc2UuY3BwOiBjYWxsIHRoZSBlbWJlZGRlcidzIGZhY3Rvcnkgd2hlbiBuZWVkZWQK
KyAgICAgICAgKFdlYktpdDo6V2ViV29ya2VyQmFzZTo6ZGlkQ3JlYXRlRGF0YVNvdXJjZSkKKyAg
ICAgICAgKFdlYktpdDo6V2ViV29ya2VyQmFzZTo6Y3JlYXRlQXBwbGljYXRpb25DYWNoZUhvc3Qp
CisgICAgICAgICogc3JjL1dlYldvcmtlckJhc2UuaDogZGl0dG8KKyAgICAgICAgKiBzcmMvV2Vi
V29ya2VyQ2xpZW50SW1wbC5oOiBhZGQgYSBzdHViIGltcGwgb2YgdGhlIGZhY3RvcnkgbWV0aG9k
IAorICAgICAgICAoV2ViS2l0OjpXZWJXb3JrZXJDbGllbnRJbXBsOjpjcmVhdGVBcHBsaWNhdGlv
bkNhY2hlSG9zdCk6CisKIDIwMTAtMDQtMjUgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBNYWNpZWogU3RhY2hvd2lhay4KSW5kZXg6IFdlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViQ29tbW9uV29ya2VyQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDb21tb25Xb3JrZXJDbGllbnQuaAkocmV2aXNpb24gNTgy
NjUpCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbW1vbldvcmtlckNsaWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw4IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCitj
bGFzcyBXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdDsKK2NsYXNzIFdlYkFwcGxpY2F0aW9uQ2FjaGVI
b3N0Q2xpZW50OwogY2xhc3MgV2ViTm90aWZpY2F0aW9uUHJlc2VudGVyOwogY2xhc3MgV2ViU3Ry
aW5nOwogY2xhc3MgV2ViV29ya2VyOwpAQCAtNzQsNiArNzYsOSBAQCBwdWJsaWM6CiAgICAgLy8g
dGhleSBhcmUgY3JlYXRlZCB2aWEgdGhlIFdlYlNoYXJlZFdvcmtlclJlcG9zaXRvcnkuCiAgICAg
dmlydHVhbCBXZWJXb3JrZXIqIGNyZWF0ZVdvcmtlcihXZWJXb3JrZXJDbGllbnQqIGNsaWVudCkg
PSAwOwogCisgICAgLy8gQ2FsbGVkIG9uIHRoZSBtYWluIHdlYmtpdCB0aHJlYWQgaW4gdGhlIHdv
cmtlciBwcm9jZXNzIGR1cmluZyBpbml0aWFsaXphdGlvbi4KKyAgICB2aXJ0dWFsIFdlYkFwcGxp
Y2F0aW9uQ2FjaGVIb3N0KiBjcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9zdChXZWJBcHBsaWNhdGlv
bkNhY2hlSG9zdENsaWVudCopID0gMDsKKwogcHJvdGVjdGVkOgogICAgIH5XZWJDb21tb25Xb3Jr
ZXJDbGllbnQoKSB7IH0KIH07CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlVSTFJl
cXVlc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlVSTFJlcXVl
c3QuaAkocmV2aXNpb24gNTgyNjUpCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlVSTFJl
cXVlc3QuaAkod29ya2luZyBjb3B5KQpAQCAtNjcsNyArNjcsOSBAQCBwdWJsaWM6CiAgICAgICAg
IFRhcmdldElzRm9udFJlc291cmNlID0gNSwKICAgICAgICAgVGFyZ2V0SXNJbWFnZSA9IDYsCiAg
ICAgICAgIFRhcmdldElzT2JqZWN0ID0gNywKLSAgICAgICAgVGFyZ2V0SXNNZWRpYSA9IDgKKyAg
ICAgICAgVGFyZ2V0SXNNZWRpYSA9IDgsCisgICAgICAgIFRhcmdldElzV29ya2VyID0gOSwKKyAg
ICAgICAgVGFyZ2V0SXNTaGFyZWRXb3JrZXIgPSAxMAogICAgIH07CiAKICAgICB+V2ViVVJMUmVx
dWVzdCgpIHsgcmVzZXQoKTsgfQpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJC
YXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckJhc2Uu
Y3BwCShyZXZpc2lvbiA1ODI2NSkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFz
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDMwICs1MSw2IEBAIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiAjaWYgRU5BQkxFKFdPUktFUlMpCiAKLS8vIER1bW15IFdlYlZpZXdEZWxlZ2F0ZSAtIHdl
IG9ubHkgbmVlZCBpdCBpbiBXb3JrZXIgcHJvY2VzcyB0byBsb2FkIGEKLS8vICdzaGFkb3cgcGFn
ZScgd2hpY2ggd2lsbCBpbml0aWFsaXplIFdlYkNvcmUgbG9hZGVyLgotY2xhc3MgV29ya2VyV2Vi
RnJhbWVDbGllbnQgOiBwdWJsaWMgV2ViRnJhbWVDbGllbnQgewotcHVibGljOgotICAgIC8vIFRl
bGwgdGhlIGxvYWRlciB0byBsb2FkIHRoZSBkYXRhIGludG8gdGhlICdzaGFkb3cgcGFnZScgc3lu
Y2hyb25vdXNseSwKLSAgICAvLyBzbyB3ZSBjYW4gZ3JhYiB0aGUgcmVzdWx0aW5nIERvY3VtZW50
IHJpZ2h0IGFmdGVyIGxvYWQuCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZURhdGFTb3VyY2Uo
V2ViRnJhbWUqIGZyYW1lLCBXZWJEYXRhU291cmNlKiBkcykKLSAgICB7Ci0gICAgICAgIHN0YXRp
Y19jYXN0PFdlYkRhdGFTb3VyY2VJbXBsKj4oZHMpLT5zZXREZWZlck1haW5SZXNvdXJjZURhdGFM
b2FkKGZhbHNlKTsKLSAgICB9Ci0KLSAgICAvLyBMYXp5IGFsbG9jYXRlIGFuZCBsZWFrIHRoaXMg
aW5zdGFuY2UuCi0gICAgc3RhdGljIFdvcmtlcldlYkZyYW1lQ2xpZW50KiBzaGFyZWRJbnN0YW5j
ZSgpCi0gICAgewotICAgICAgICBzdGF0aWMgV29ya2VyV2ViRnJhbWVDbGllbnQgY2xpZW50Owot
ICAgICAgICByZXR1cm4gJmNsaWVudDsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgV29ya2VyV2Vi
RnJhbWVDbGllbnQoKQotICAgIHsKLSAgICB9Ci19OwotCiAvLyBUaGlzIGZ1bmN0aW9uIGlzIGNh
bGxlZCBvbiB0aGUgbWFpbiB0aHJlYWQgdG8gZm9yY2UgdG8gaW5pdGlhbGl6ZSBzb21lIHN0YXRp
YwogLy8gdmFsdWVzIHVzZWQgaW4gV2ViS2l0IGJlZm9yZSBhbnkgd29ya2VyIHRocmVhZCBpcyBz
dGFydGVkLiBUaGlzIGlzIGJlY2F1c2UgaW4KIC8vIG91ciB3b3JrZXIgcHJvY2Vzc3MsIHdlIGRv
IG5vdCBydW4gYW55IFdlYktpdCBjb2RlIGluIG1haW4gdGhyZWFkIGFuZCB0aHVzCkBAIC0xMDMs
NiArNzksOSBAQCBXZWJXb3JrZXJCYXNlOjpXZWJXb3JrZXJCYXNlKCkKIFdlYldvcmtlckJhc2U6
On5XZWJXb3JrZXJCYXNlKCkKIHsKICAgICBBU1NFUlQobV93ZWJWaWV3KTsKKyAgICBXZWJGcmFt
ZUltcGwqIHdlYkZyYW1lID0gc3RhdGljX2Nhc3Q8V2ViRnJhbWVJbXBsKj4obV93ZWJWaWV3LT5t
YWluRnJhbWUoKSk7CisgICAgaWYgKHdlYkZyYW1lKQorICAgICAgICB3ZWJGcmFtZS0+c2V0Q2xp
ZW50KE5VTEwpOwogICAgIG1fd2ViVmlldy0+Y2xvc2UoKTsKIH0KIApAQCAtMTIyLDcgKzEwMSw3
IEBAIHZvaWQgV2ViV29ya2VyQmFzZTo6aW5pdGlhbGl6ZUxvYWRlcihjb24KICAgICAvLyBpbmZy
YXN0cnVjdHVyZS4KICAgICBBU1NFUlQoIW1fd2ViVmlldyk7CiAgICAgbV93ZWJWaWV3ID0gV2Vi
Vmlldzo6Y3JlYXRlKDApOwotICAgIG1fd2ViVmlldy0+aW5pdGlhbGl6ZU1haW5GcmFtZShXb3Jr
ZXJXZWJGcmFtZUNsaWVudDo6c2hhcmVkSW5zdGFuY2UoKSk7CisgICAgbV93ZWJWaWV3LT5pbml0
aWFsaXplTWFpbkZyYW1lKHRoaXMpOwogCiAgICAgV2ViRnJhbWVJbXBsKiB3ZWJGcmFtZSA9IHN0
YXRpY19jYXN0PFdlYkZyYW1lSW1wbCo+KG1fd2ViVmlldy0+bWFpbkZyYW1lKCkpOwogCkBAIC0x
NTEsNiArMTMwLDIwIEBAIHZvaWQgV2ViV29ya2VyQmFzZTo6aW52b2tlVGFza01ldGhvZCh2b2kK
ICAgICBkZWxldGUgdGFzazsKIH0KIAordm9pZCBXZWJXb3JrZXJCYXNlOjpkaWRDcmVhdGVEYXRh
U291cmNlKFdlYkZyYW1lKiwgV2ViRGF0YVNvdXJjZSogZHMpCit7CisgICAgLy8gVGVsbCB0aGUg
bG9hZGVyIHRvIGxvYWQgdGhlIGRhdGEgaW50byB0aGUgJ3NoYWRvdyBwYWdlJyBzeW5jaHJvbm91
c2x5LAorICAgIC8vIHNvIHdlIGNhbiBncmFiIHRoZSByZXN1bHRpbmcgRG9jdW1lbnQgcmlnaHQg
YWZ0ZXIgbG9hZC4KKyAgICBzdGF0aWNfY2FzdDxXZWJEYXRhU291cmNlSW1wbCo+KGRzKS0+c2V0
RGVmZXJNYWluUmVzb3VyY2VEYXRhTG9hZChmYWxzZSk7Cit9CisKK1dlYkFwcGxpY2F0aW9uQ2Fj
aGVIb3N0KiBXZWJXb3JrZXJCYXNlOjpjcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9zdChXZWJGcmFt
ZSosIFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0Q2xpZW50KiBhcHBjYWNoZUhvc3RDbGllbnQpCit7
CisgICAgaWYgKGNvbW1vbkNsaWVudCgpKQorICAgICAgICByZXR1cm4gY29tbW9uQ2xpZW50KCkt
PmNyZWF0ZUFwcGxpY2F0aW9uQ2FjaGVIb3N0KGFwcGNhY2hlSG9zdENsaWVudCk7CisgICAgcmV0
dXJuIDA7Cit9CisKIC8vIFdvcmtlck9iamVjdFByb3h5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIHZvaWQgV2ViV29ya2VyQmFz
ZTo6cG9zdE1lc3NhZ2VUb1dvcmtlck9iamVjdChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZT4gbWVzc2FnZSwKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5oCShyZXZp
c2lvbiA1ODI2NSkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAjaWYgRU5BQkxFKFdPUktFUlMpCiAKICNpbmNs
dWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisjaW5jbHVkZSAiV2ViRnJhbWVDbGllbnQu
aCIKICNpbmNsdWRlICJXb3JrZXJMb2FkZXJQcm94eS5oIgogI2luY2x1ZGUgIldvcmtlck9iamVj
dFByb3h5LmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KQEAgLTQ0LDYgKzQ1LDggQEAg
Y2xhc3MgV29ya2VyVGhyZWFkOwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKK2NsYXNzIFdlYkFw
cGxpY2F0aW9uQ2FjaGVIb3N0OworY2xhc3MgV2ViQXBwbGljYXRpb25DYWNoZUhvc3RDbGllbnQ7
CiBjbGFzcyBXZWJDb21tb25Xb3JrZXJDbGllbnQ7CiBjbGFzcyBXZWJTZWN1cml0eU9yaWdpbjsK
IGNsYXNzIFdlYlN0cmluZzsKQEAgLTU2LDcgKzU5LDggQEAgY2xhc3MgV2ViV29ya2VyQ2xpZW50
OwogLy8gY29kZSB1c2VkIGJ5IGJvdGggaW1wbGVtZW50YXRpb24gY2xhc3NlcywgaW5jbHVkaW5n
IGltcGxlbWVudGF0aW9ucyBvZiB0aGUKIC8vIFdvcmtlck9iamVjdFByb3h5IGFuZCBXb3JrZXJM
b2FkZXJQcm94eSBpbnRlcmZhY2VzLgogY2xhc3MgV2ViV29ya2VyQmFzZSA6IHB1YmxpYyBXZWJD
b3JlOjpXb3JrZXJPYmplY3RQcm94eQotICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBXZWJD
b3JlOjpXb3JrZXJMb2FkZXJQcm94eSB7CisgICAgICAgICAgICAgICAgICAgICwgcHVibGljIFdl
YkNvcmU6OldvcmtlckxvYWRlclByb3h5CisgICAgICAgICAgICAgICAgICAgICwgcHVibGljIFdl
YkZyYW1lQ2xpZW50IHsKIHB1YmxpYzoKICAgICBXZWJXb3JrZXJCYXNlKCk7CiAgICAgdmlydHVh
bCB+V2ViV29ya2VyQmFzZSgpOwpAQCAtODAsNiArODQsMTAgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBwb3N0VGFza0Zvck1vZGVUb1dvcmtlckNvbnRleHQoCiAgICAgICAgIFBhc3NPd25Q
dHI8V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4sIGNvbnN0IFdlYkNvcmU6
OlN0cmluZyYgbW9kZSk7CiAKKyAgICAvLyBXZWJGcmFtZUNsaWVudCBtZXRob2RzIHRvIHN1cHBv
cnQgcmVzb3VyY2UgbG9hZGluZyB0aHJ1IHRoZSAnc2hhZG93IHBhZ2UnLgorICAgIHZpcnR1YWwg
dm9pZCBkaWRDcmVhdGVEYXRhU291cmNlKFdlYkZyYW1lKiwgV2ViRGF0YVNvdXJjZSopOworICAg
IHZpcnR1YWwgV2ViQXBwbGljYXRpb25DYWNoZUhvc3QqIGNyZWF0ZUFwcGxpY2F0aW9uQ2FjaGVI
b3N0KFdlYkZyYW1lKiwgV2ViQXBwbGljYXRpb25DYWNoZUhvc3RDbGllbnQqKTsKKwogICAgIC8v
IEV4ZWN1dGVzIHRoZSBnaXZlbiB0YXNrIG9uIHRoZSBtYWluIHRocmVhZC4KICAgICBzdGF0aWMg
dm9pZCBkaXNwYXRjaFRhc2tUb01haW5UaHJlYWQoUGFzc093blB0cjxXZWJDb3JlOjpTY3JpcHRF
eGVjdXRpb25Db250ZXh0OjpUYXNrPik7CiAKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
V29ya2VyQ2xpZW50SW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
V29ya2VyQ2xpZW50SW1wbC5oCShyZXZpc2lvbiA1ODI2NSkKKysrIFdlYktpdC9jaHJvbWl1bS9z
cmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC05NCw2ICs5NCw3IEBA
IHB1YmxpYzoKICAgICAgICAgLy8gRklYTUU6IE5vdGlmaWNhdGlvbnMgbm90IHlldCBzdXBwb3J0
ZWQgaW4gd29ya2Vycy4KICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQorICAgIHZpcnR1YWwgV2Vi
QXBwbGljYXRpb25DYWNoZUhvc3QqIGNyZWF0ZUFwcGxpY2F0aW9uQ2FjaGVIb3N0KFdlYkFwcGxp
Y2F0aW9uQ2FjaGVIb3N0Q2xpZW50KikgeyByZXR1cm4gMDsgfQogCiBwcml2YXRlOgogICAgIHZp
cnR1YWwgfldlYldvcmtlckNsaWVudEltcGwoKTsKSW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDU4MjY1KQor
KysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTAtMDQtMjYgIE1pY2hhZWwgTm9yZG1hbiAgPG1pY2hhZWxuQGdvb2dsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBB
ZGQgdHdvIHRoaW5ncyB0byB0aGUgd2Via2l0IEFQSSB0byBzdXBwb3J0IGFwcGNhY2hlcyBpbiB3
b3JrZXJzLgorICAgICAgICAxKSBXZWJVUkxSZXF1ZXN0IFRhcmdldFR5cGVzIGZvciB3b3JrZXIg
YW5kIHNoYXJlZCB3b3JrZXIgbWFpbiByZXNvdXJjZXMuCisgICAgICAgIDIpIEZhY3RvcnkgbWV0
aG9kIG9uIGNsYXNzIFdlYkNvbW1vbldvcmtlckNsaWVudCB0bworICAgICAgICAgICBjcmVhdGVB
cHBsaWNhdGlvbkNhY2hlSG9zdCgpIGZvciB0aGUgYXNzb2NpYXRlZCB3b3JrZXIuCisKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4MTQ3CisKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViV29ya2VyLmggYWRkIGEgc3R1YiBp
bXBsIG9mIHRoZSBmYWN0b3J5IG1ldGhvZCAKKyAgICAgICAgKFRlc3RXZWJXb3JrZXI6OmNyZWF0
ZUFwcGxpY2F0aW9uQ2FjaGVIb3N0KToKKwogMjAxMC0wNC0yNiAgT2phbiBWYWZhaSAgPG9qYW5A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRleDog
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYldvcmtlci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJXb3Jr
ZXIuaAkocmV2aXNpb24gNTgyNjUpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9UZXN0V2ViV29ya2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTc5LDYgKzc5LDcgQEAgcHVi
bGljOgogICAgIH0KICAgICB2aXJ0dWFsIFdlYktpdDo6V2ViV29ya2VyKiBjcmVhdGVXb3JrZXIo
V2ViS2l0OjpXZWJXb3JrZXJDbGllbnQqKSB7IHJldHVybiAwOyB9CiAgICAgdmlydHVhbCBXZWJL
aXQ6OldlYk5vdGlmaWNhdGlvblByZXNlbnRlciogbm90aWZpY2F0aW9uUHJlc2VudGVyKCkgeyBy
ZXR1cm4gMDsgfQorICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdCog
Y3JlYXRlQXBwbGljYXRpb25DYWNoZUhvc3QoV2ViS2l0OjpXZWJBcHBsaWNhdGlvbkNhY2hlSG9z
dENsaWVudCopIHsgcmV0dXJuIDA7IH0KIAogcHJpdmF0ZToKICAgICB+VGVzdFdlYldvcmtlcigp
IHt9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54509</attachid>
            <date>2010-04-27 20:00:17 -0700</date>
            <delta_ts>2010-04-27 22:40:32 -0700</delta_ts>
            <desc>replace NULL with 0</desc>
            <filename>api.take5.patch</filename>
            <type>text/plain</type>
            <size>9007</size>
            <attacher name="Michael Nordman">michaeln</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNTgyNzEpCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTAtMDQtMjYgIE1pY2hh
ZWwgTm9yZG1hbiAgPG1pY2hhZWxuQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBBZGQgdHdvIHRoaW5ncyB0byB0
aGUgd2Via2l0IEFQSSB0byBzdXBwb3J0IGFwcGNhY2hlcyBpbiB3b3JrZXJzLgorICAgICAgICAx
KSBXZWJVUkxSZXF1ZXN0IFRhcmdldFR5cGVzIGZvciB3b3JrZXIgYW5kIHNoYXJlZCB3b3JrZXIg
bWFpbiByZXNvdXJjZXMuCisgICAgICAgIDIpIEZhY3RvcnkgbWV0aG9kIG9uIGNsYXNzIFdlYkNv
bW1vbldvcmtlckNsaWVudCB0bworICAgICAgICAgICBjcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9z
dCgpIGZvciB0aGUgYXNzb2NpYXRlZCB3b3JrZXIuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4MTQ3CisKKyAgICAgICAgKiBwdWJsaWMvV2ViQ29t
bW9uV29ya2VyQ2xpZW50Lmg6IGFkZCB0aGUgZmFjdG9yeSBtZXRob2QKKyAgICAgICAgKiBwdWJs
aWMvV2ViVVJMUmVxdWVzdC5oOiBhZGQgdGhlIFRhcmdldFR5cGVzCisgICAgICAgICogc3JjL1dl
YldvcmtlckJhc2UuY3BwOiBjYWxsIHRoZSBlbWJlZGRlcidzIGZhY3Rvcnkgd2hlbiBuZWVkZWQK
KyAgICAgICAgKFdlYktpdDo6V2ViV29ya2VyQmFzZTo6ZGlkQ3JlYXRlRGF0YVNvdXJjZSkKKyAg
ICAgICAgKFdlYktpdDo6V2ViV29ya2VyQmFzZTo6Y3JlYXRlQXBwbGljYXRpb25DYWNoZUhvc3Qp
CisgICAgICAgICogc3JjL1dlYldvcmtlckJhc2UuaDogZGl0dG8KKyAgICAgICAgKiBzcmMvV2Vi
V29ya2VyQ2xpZW50SW1wbC5oOiBhZGQgYSBzdHViIGltcGwgb2YgdGhlIGZhY3RvcnkgbWV0aG9k
IAorICAgICAgICAoV2ViS2l0OjpXZWJXb3JrZXJDbGllbnRJbXBsOjpjcmVhdGVBcHBsaWNhdGlv
bkNhY2hlSG9zdCk6CisKIDIwMTAtMDQtMjUgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBNYWNpZWogU3RhY2hvd2lhay4KSW5kZXg6IFdlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViQ29tbW9uV29ya2VyQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDb21tb25Xb3JrZXJDbGllbnQuaAkocmV2aXNpb24gNTgy
NjUpCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbW1vbldvcmtlckNsaWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw4IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCitj
bGFzcyBXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdDsKK2NsYXNzIFdlYkFwcGxpY2F0aW9uQ2FjaGVI
b3N0Q2xpZW50OwogY2xhc3MgV2ViTm90aWZpY2F0aW9uUHJlc2VudGVyOwogY2xhc3MgV2ViU3Ry
aW5nOwogY2xhc3MgV2ViV29ya2VyOwpAQCAtNzQsNiArNzYsOSBAQCBwdWJsaWM6CiAgICAgLy8g
dGhleSBhcmUgY3JlYXRlZCB2aWEgdGhlIFdlYlNoYXJlZFdvcmtlclJlcG9zaXRvcnkuCiAgICAg
dmlydHVhbCBXZWJXb3JrZXIqIGNyZWF0ZVdvcmtlcihXZWJXb3JrZXJDbGllbnQqIGNsaWVudCkg
PSAwOwogCisgICAgLy8gQ2FsbGVkIG9uIHRoZSBtYWluIHdlYmtpdCB0aHJlYWQgaW4gdGhlIHdv
cmtlciBwcm9jZXNzIGR1cmluZyBpbml0aWFsaXphdGlvbi4KKyAgICB2aXJ0dWFsIFdlYkFwcGxp
Y2F0aW9uQ2FjaGVIb3N0KiBjcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9zdChXZWJBcHBsaWNhdGlv
bkNhY2hlSG9zdENsaWVudCopID0gMDsKKwogcHJvdGVjdGVkOgogICAgIH5XZWJDb21tb25Xb3Jr
ZXJDbGllbnQoKSB7IH0KIH07CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlVSTFJl
cXVlc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlVSTFJlcXVl
c3QuaAkocmV2aXNpb24gNTgyNjUpCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlVSTFJl
cXVlc3QuaAkod29ya2luZyBjb3B5KQpAQCAtNjcsNyArNjcsOSBAQCBwdWJsaWM6CiAgICAgICAg
IFRhcmdldElzRm9udFJlc291cmNlID0gNSwKICAgICAgICAgVGFyZ2V0SXNJbWFnZSA9IDYsCiAg
ICAgICAgIFRhcmdldElzT2JqZWN0ID0gNywKLSAgICAgICAgVGFyZ2V0SXNNZWRpYSA9IDgKKyAg
ICAgICAgVGFyZ2V0SXNNZWRpYSA9IDgsCisgICAgICAgIFRhcmdldElzV29ya2VyID0gOSwKKyAg
ICAgICAgVGFyZ2V0SXNTaGFyZWRXb3JrZXIgPSAxMAogICAgIH07CiAKICAgICB+V2ViVVJMUmVx
dWVzdCgpIHsgcmVzZXQoKTsgfQpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJC
YXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckJhc2Uu
Y3BwCShyZXZpc2lvbiA1ODI2NSkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFz
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDMwICs1MSw2IEBAIG5hbWVzcGFjZSBXZWJLaXQg
ewogCiAjaWYgRU5BQkxFKFdPUktFUlMpCiAKLS8vIER1bW15IFdlYlZpZXdEZWxlZ2F0ZSAtIHdl
IG9ubHkgbmVlZCBpdCBpbiBXb3JrZXIgcHJvY2VzcyB0byBsb2FkIGEKLS8vICdzaGFkb3cgcGFn
ZScgd2hpY2ggd2lsbCBpbml0aWFsaXplIFdlYkNvcmUgbG9hZGVyLgotY2xhc3MgV29ya2VyV2Vi
RnJhbWVDbGllbnQgOiBwdWJsaWMgV2ViRnJhbWVDbGllbnQgewotcHVibGljOgotICAgIC8vIFRl
bGwgdGhlIGxvYWRlciB0byBsb2FkIHRoZSBkYXRhIGludG8gdGhlICdzaGFkb3cgcGFnZScgc3lu
Y2hyb25vdXNseSwKLSAgICAvLyBzbyB3ZSBjYW4gZ3JhYiB0aGUgcmVzdWx0aW5nIERvY3VtZW50
IHJpZ2h0IGFmdGVyIGxvYWQuCi0gICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZURhdGFTb3VyY2Uo
V2ViRnJhbWUqIGZyYW1lLCBXZWJEYXRhU291cmNlKiBkcykKLSAgICB7Ci0gICAgICAgIHN0YXRp
Y19jYXN0PFdlYkRhdGFTb3VyY2VJbXBsKj4oZHMpLT5zZXREZWZlck1haW5SZXNvdXJjZURhdGFM
b2FkKGZhbHNlKTsKLSAgICB9Ci0KLSAgICAvLyBMYXp5IGFsbG9jYXRlIGFuZCBsZWFrIHRoaXMg
aW5zdGFuY2UuCi0gICAgc3RhdGljIFdvcmtlcldlYkZyYW1lQ2xpZW50KiBzaGFyZWRJbnN0YW5j
ZSgpCi0gICAgewotICAgICAgICBzdGF0aWMgV29ya2VyV2ViRnJhbWVDbGllbnQgY2xpZW50Owot
ICAgICAgICByZXR1cm4gJmNsaWVudDsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgV29ya2VyV2Vi
RnJhbWVDbGllbnQoKQotICAgIHsKLSAgICB9Ci19OwotCiAvLyBUaGlzIGZ1bmN0aW9uIGlzIGNh
bGxlZCBvbiB0aGUgbWFpbiB0aHJlYWQgdG8gZm9yY2UgdG8gaW5pdGlhbGl6ZSBzb21lIHN0YXRp
YwogLy8gdmFsdWVzIHVzZWQgaW4gV2ViS2l0IGJlZm9yZSBhbnkgd29ya2VyIHRocmVhZCBpcyBz
dGFydGVkLiBUaGlzIGlzIGJlY2F1c2UgaW4KIC8vIG91ciB3b3JrZXIgcHJvY2Vzc3MsIHdlIGRv
IG5vdCBydW4gYW55IFdlYktpdCBjb2RlIGluIG1haW4gdGhyZWFkIGFuZCB0aHVzCkBAIC0xMDMs
NiArNzksOSBAQCBXZWJXb3JrZXJCYXNlOjpXZWJXb3JrZXJCYXNlKCkKIFdlYldvcmtlckJhc2U6
On5XZWJXb3JrZXJCYXNlKCkKIHsKICAgICBBU1NFUlQobV93ZWJWaWV3KTsKKyAgICBXZWJGcmFt
ZUltcGwqIHdlYkZyYW1lID0gc3RhdGljX2Nhc3Q8V2ViRnJhbWVJbXBsKj4obV93ZWJWaWV3LT5t
YWluRnJhbWUoKSk7CisgICAgaWYgKHdlYkZyYW1lKQorICAgICAgICB3ZWJGcmFtZS0+c2V0Q2xp
ZW50KDApOwogICAgIG1fd2ViVmlldy0+Y2xvc2UoKTsKIH0KIApAQCAtMTIyLDcgKzEwMSw3IEBA
IHZvaWQgV2ViV29ya2VyQmFzZTo6aW5pdGlhbGl6ZUxvYWRlcihjb24KICAgICAvLyBpbmZyYXN0
cnVjdHVyZS4KICAgICBBU1NFUlQoIW1fd2ViVmlldyk7CiAgICAgbV93ZWJWaWV3ID0gV2ViVmll
dzo6Y3JlYXRlKDApOwotICAgIG1fd2ViVmlldy0+aW5pdGlhbGl6ZU1haW5GcmFtZShXb3JrZXJX
ZWJGcmFtZUNsaWVudDo6c2hhcmVkSW5zdGFuY2UoKSk7CisgICAgbV93ZWJWaWV3LT5pbml0aWFs
aXplTWFpbkZyYW1lKHRoaXMpOwogCiAgICAgV2ViRnJhbWVJbXBsKiB3ZWJGcmFtZSA9IHN0YXRp
Y19jYXN0PFdlYkZyYW1lSW1wbCo+KG1fd2ViVmlldy0+bWFpbkZyYW1lKCkpOwogCkBAIC0xNTEs
NiArMTMwLDIwIEBAIHZvaWQgV2ViV29ya2VyQmFzZTo6aW52b2tlVGFza01ldGhvZCh2b2kKICAg
ICBkZWxldGUgdGFzazsKIH0KIAordm9pZCBXZWJXb3JrZXJCYXNlOjpkaWRDcmVhdGVEYXRhU291
cmNlKFdlYkZyYW1lKiwgV2ViRGF0YVNvdXJjZSogZHMpCit7CisgICAgLy8gVGVsbCB0aGUgbG9h
ZGVyIHRvIGxvYWQgdGhlIGRhdGEgaW50byB0aGUgJ3NoYWRvdyBwYWdlJyBzeW5jaHJvbm91c2x5
LAorICAgIC8vIHNvIHdlIGNhbiBncmFiIHRoZSByZXN1bHRpbmcgRG9jdW1lbnQgcmlnaHQgYWZ0
ZXIgbG9hZC4KKyAgICBzdGF0aWNfY2FzdDxXZWJEYXRhU291cmNlSW1wbCo+KGRzKS0+c2V0RGVm
ZXJNYWluUmVzb3VyY2VEYXRhTG9hZChmYWxzZSk7Cit9CisKK1dlYkFwcGxpY2F0aW9uQ2FjaGVI
b3N0KiBXZWJXb3JrZXJCYXNlOjpjcmVhdGVBcHBsaWNhdGlvbkNhY2hlSG9zdChXZWJGcmFtZSos
IFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0Q2xpZW50KiBhcHBjYWNoZUhvc3RDbGllbnQpCit7Cisg
ICAgaWYgKGNvbW1vbkNsaWVudCgpKQorICAgICAgICByZXR1cm4gY29tbW9uQ2xpZW50KCktPmNy
ZWF0ZUFwcGxpY2F0aW9uQ2FjaGVIb3N0KGFwcGNhY2hlSG9zdENsaWVudCk7CisgICAgcmV0dXJu
IDA7Cit9CisKIC8vIFdvcmtlck9iamVjdFByb3h5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIHZvaWQgV2ViV29ya2VyQmFzZTo6
cG9zdE1lc3NhZ2VUb1dvcmtlck9iamVjdChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZT4gbWVzc2FnZSwKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5oCShyZXZpc2lv
biA1ODI2NSkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQmFzZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAjaWYgRU5BQkxFKFdPUktFUlMpCiAKICNpbmNsdWRl
ICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCisjaW5jbHVkZSAiV2ViRnJhbWVDbGllbnQuaCIK
ICNpbmNsdWRlICJXb3JrZXJMb2FkZXJQcm94eS5oIgogI2luY2x1ZGUgIldvcmtlck9iamVjdFBy
b3h5LmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KQEAgLTQ0LDYgKzQ1LDggQEAgY2xh
c3MgV29ya2VyVGhyZWFkOwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKK2NsYXNzIFdlYkFwcGxp
Y2F0aW9uQ2FjaGVIb3N0OworY2xhc3MgV2ViQXBwbGljYXRpb25DYWNoZUhvc3RDbGllbnQ7CiBj
bGFzcyBXZWJDb21tb25Xb3JrZXJDbGllbnQ7CiBjbGFzcyBXZWJTZWN1cml0eU9yaWdpbjsKIGNs
YXNzIFdlYlN0cmluZzsKQEAgLTU2LDcgKzU5LDggQEAgY2xhc3MgV2ViV29ya2VyQ2xpZW50Owog
Ly8gY29kZSB1c2VkIGJ5IGJvdGggaW1wbGVtZW50YXRpb24gY2xhc3NlcywgaW5jbHVkaW5nIGlt
cGxlbWVudGF0aW9ucyBvZiB0aGUKIC8vIFdvcmtlck9iamVjdFByb3h5IGFuZCBXb3JrZXJMb2Fk
ZXJQcm94eSBpbnRlcmZhY2VzLgogY2xhc3MgV2ViV29ya2VyQmFzZSA6IHB1YmxpYyBXZWJDb3Jl
OjpXb3JrZXJPYmplY3RQcm94eQotICAgICAgICAgICAgICAgICAgICAsIHB1YmxpYyBXZWJDb3Jl
OjpXb3JrZXJMb2FkZXJQcm94eSB7CisgICAgICAgICAgICAgICAgICAgICwgcHVibGljIFdlYkNv
cmU6OldvcmtlckxvYWRlclByb3h5CisgICAgICAgICAgICAgICAgICAgICwgcHVibGljIFdlYkZy
YW1lQ2xpZW50IHsKIHB1YmxpYzoKICAgICBXZWJXb3JrZXJCYXNlKCk7CiAgICAgdmlydHVhbCB+
V2ViV29ya2VyQmFzZSgpOwpAQCAtODAsNiArODQsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
dm9pZCBwb3N0VGFza0Zvck1vZGVUb1dvcmtlckNvbnRleHQoCiAgICAgICAgIFBhc3NPd25QdHI8
V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzaz4sIGNvbnN0IFdlYkNvcmU6OlN0
cmluZyYgbW9kZSk7CiAKKyAgICAvLyBXZWJGcmFtZUNsaWVudCBtZXRob2RzIHRvIHN1cHBvcnQg
cmVzb3VyY2UgbG9hZGluZyB0aHJ1IHRoZSAnc2hhZG93IHBhZ2UnLgorICAgIHZpcnR1YWwgdm9p
ZCBkaWRDcmVhdGVEYXRhU291cmNlKFdlYkZyYW1lKiwgV2ViRGF0YVNvdXJjZSopOworICAgIHZp
cnR1YWwgV2ViQXBwbGljYXRpb25DYWNoZUhvc3QqIGNyZWF0ZUFwcGxpY2F0aW9uQ2FjaGVIb3N0
KFdlYkZyYW1lKiwgV2ViQXBwbGljYXRpb25DYWNoZUhvc3RDbGllbnQqKTsKKwogICAgIC8vIEV4
ZWN1dGVzIHRoZSBnaXZlbiB0YXNrIG9uIHRoZSBtYWluIHRocmVhZC4KICAgICBzdGF0aWMgdm9p
ZCBkaXNwYXRjaFRhc2tUb01haW5UaHJlYWQoUGFzc093blB0cjxXZWJDb3JlOjpTY3JpcHRFeGVj
dXRpb25Db250ZXh0OjpUYXNrPik7CiAKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29y
a2VyQ2xpZW50SW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29y
a2VyQ2xpZW50SW1wbC5oCShyZXZpc2lvbiA1ODI2NSkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMv
V2ViV29ya2VyQ2xpZW50SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC05NCw2ICs5NCw3IEBAIHB1
YmxpYzoKICAgICAgICAgLy8gRklYTUU6IE5vdGlmaWNhdGlvbnMgbm90IHlldCBzdXBwb3J0ZWQg
aW4gd29ya2Vycy4KICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQorICAgIHZpcnR1YWwgV2ViQXBw
bGljYXRpb25DYWNoZUhvc3QqIGNyZWF0ZUFwcGxpY2F0aW9uQ2FjaGVIb3N0KFdlYkFwcGxpY2F0
aW9uQ2FjaGVIb3N0Q2xpZW50KikgeyByZXR1cm4gMDsgfQogCiBwcml2YXRlOgogICAgIHZpcnR1
YWwgfldlYldvcmtlckNsaWVudEltcGwoKTsKSW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDU4MjY1KQorKysg
V2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIw
MTAtMDQtMjYgIE1pY2hhZWwgTm9yZG1hbiAgPG1pY2hhZWxuQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBBZGQg
dHdvIHRoaW5ncyB0byB0aGUgd2Via2l0IEFQSSB0byBzdXBwb3J0IGFwcGNhY2hlcyBpbiB3b3Jr
ZXJzLgorICAgICAgICAxKSBXZWJVUkxSZXF1ZXN0IFRhcmdldFR5cGVzIGZvciB3b3JrZXIgYW5k
IHNoYXJlZCB3b3JrZXIgbWFpbiByZXNvdXJjZXMuCisgICAgICAgIDIpIEZhY3RvcnkgbWV0aG9k
IG9uIGNsYXNzIFdlYkNvbW1vbldvcmtlckNsaWVudCB0bworICAgICAgICAgICBjcmVhdGVBcHBs
aWNhdGlvbkNhY2hlSG9zdCgpIGZvciB0aGUgYXNzb2NpYXRlZCB3b3JrZXIuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4MTQ3CisKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViV29ya2VyLmggYWRkIGEgc3R1YiBpbXBs
IG9mIHRoZSBmYWN0b3J5IG1ldGhvZCAKKyAgICAgICAgKFRlc3RXZWJXb3JrZXI6OmNyZWF0ZUFw
cGxpY2F0aW9uQ2FjaGVIb3N0KToKKwogMjAxMC0wNC0yNiAgT2phbiBWYWZhaSAgPG9qYW5AY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYldvcmtlci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJXb3JrZXIu
aAkocmV2aXNpb24gNTgyNjUpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9UZXN0V2ViV29ya2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTc5LDYgKzc5LDcgQEAgcHVibGlj
OgogICAgIH0KICAgICB2aXJ0dWFsIFdlYktpdDo6V2ViV29ya2VyKiBjcmVhdGVXb3JrZXIoV2Vi
S2l0OjpXZWJXb3JrZXJDbGllbnQqKSB7IHJldHVybiAwOyB9CiAgICAgdmlydHVhbCBXZWJLaXQ6
OldlYk5vdGlmaWNhdGlvblByZXNlbnRlciogbm90aWZpY2F0aW9uUHJlc2VudGVyKCkgeyByZXR1
cm4gMDsgfQorICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdCogY3Jl
YXRlQXBwbGljYXRpb25DYWNoZUhvc3QoV2ViS2l0OjpXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdENs
aWVudCopIHsgcmV0dXJuIDA7IH0KIAogcHJpdmF0ZToKICAgICB+VGVzdFdlYldvcmtlcigpIHt9
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>