<?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>28780</bug_id>
          
          <creation_ts>2009-08-27 12:14:14 -0700</creation_ts>
          <short_desc>dataTransfer.types() should include type &quot;Files&quot; when files are present in the clipboard.</short_desc>
          <delta_ts>2009-08-27 18:38:24 -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>New Bugs</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="noel gordon">noel.gordon</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>143165</commentid>
    <comment_count>0</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2009-08-27 12:14:14 -0700</bug_when>
    <thetext>Per http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-August/021919.html,
when files are present in the clipboard, the mime type report by .types() shall
include the value &quot;Files&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143168</commentid>
    <comment_count>1</comment_count>
      <attachid>38678</attachid>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2009-08-27 12:25:12 -0700</bug_when>
    <thetext>Created attachment 38678
Add dataTransfer mime type &quot;Files&quot; to the chromium port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143182</commentid>
    <comment_count>2</comment_count>
      <attachid>38678</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-27 13:32:31 -0700</bug_when>
    <thetext>Comment on attachment 38678
Add dataTransfer mime type &quot;Files&quot; to the chromium port.

This type of change needs a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143199</commentid>
    <comment_count>3</comment_count>
      <attachid>38686</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-27 14:19:57 -0700</bug_when>
    <thetext>Created attachment 38686
First whack at a mac implementation (with some cleanup)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143211</commentid>
    <comment_count>4</comment_count>
      <attachid>38692</attachid>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2009-08-27 15:25:44 -0700</bug_when>
    <thetext>Created attachment 38692
Add dataTransfer.types &quot;Files&quot; test for all ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143212</commentid>
    <comment_count>5</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2009-08-27 15:26:56 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; This type of change needs a test.

tests added, tired your patch mac patch with this test too, all&apos;s well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143237</commentid>
    <comment_count>6</comment_count>
      <attachid>38695</attachid>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2009-08-27 16:34:25 -0700</bug_when>
    <thetext>Created attachment 38695
Combine mac and chromium patches. Report PASS/FAIL for &quot;Files&quot; test cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143256</commentid>
    <comment_count>7</comment_count>
      <attachid>38695</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-27 17:24:15 -0700</bug_when>
    <thetext>Comment on attachment 38695
Combine mac and chromium patches. Report PASS/FAIL for &quot;Files&quot; test cases.

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143257</commentid>
    <comment_count>8</comment_count>
      <attachid>38695</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-27 17:25:47 -0700</bug_when>
    <thetext>Comment on attachment 38695
Combine mac and chromium patches. Report PASS/FAIL for &quot;Files&quot; test cases.

Unintentional change:
-    NSArray *absoluteURLs = absoluteURLsFromPasteboardFilenames(m_pasteboard.get());
+    NSArray *absoluteURLs = absoluteURLsFromPasteboard(m_pasteboard.get());</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143261</commentid>
    <comment_count>9</comment_count>
      <attachid>38704</attachid>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2009-08-27 17:38:45 -0700</bug_when>
    <thetext>Created attachment 38704
Remove unintentional change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143262</commentid>
    <comment_count>10</comment_count>
      <attachid>38704</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-27 17:40:47 -0700</bug_when>
    <thetext>Comment on attachment 38704
Remove unintentional change.

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143270</commentid>
    <comment_count>11</comment_count>
      <attachid>38704</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-27 18:38:21 -0700</bug_when>
    <thetext>Comment on attachment 38704
Remove unintentional change.

Clearing flags on attachment: 38704

Committed r47852: &lt;http://trac.webkit.org/changeset/47852&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143271</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-27 18:38:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38678</attachid>
            <date>2009-08-27 12:25:12 -0700</date>
            <delta_ts>2009-08-27 16:34:25 -0700</delta_ts>
            <desc>Add dataTransfer mime type &quot;Files&quot; to the chromium port.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>1265</size>
            <attacher name="noel gordon">noel.gordon</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NzgyOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMDgtMjcgIE5vZWwgR29yZG9uICA8bm9lbC5nb3Jkb25AZ21h
aWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGRhdGFUcmFuc2Zlci50eXBlcygpIHNob3VsZCBpbmNsdWRlIHR5cGUgIkZpbGVzIiB3aGVuIGZp
bGVzIGFyZSBwcmVzZW50IGluIHRoZSBjbGlwYm9hcmQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODc4MAorICAgICAgICAKKyAgICAgICAgQWRkIGRh
dGFUcmFuc2ZlciBtaW1lIHR5cGUgIkZpbGVzIiB0byB0aGUgY2hyb21pdW0gcG9ydC4KKworICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNsaXBib2FyZENocm9taXVtOjp0eXBlcyk6CisKIDIwMDktMDgtMjcgIEplcmVt
eSBPcmxvdyAgPGpvcmxvd0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTm90IHJldmlld2VkLiAg
QnVpbGQgZml4IGZvciBDaHJvbWl1bS4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0v
Q2xpcGJvYXJkQ2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vY2hy
b21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uY3BwCShyZXZpc2lvbiA0NzgyNykKKysrIFdlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xNjMsNiArMTYzLDkgQEAgSGFzaFNldDxTdHJpbmc+IENsaXBib2FyZENocm9taXVtOjp0eXBl
cwogICAgIGlmICghbV9kYXRhT2JqZWN0KQogICAgICAgICByZXR1cm4gcmVzdWx0czsKIAorICAg
IGlmICghbV9kYXRhT2JqZWN0LT5maWxlbmFtZXMuaXNFbXB0eSgpKQorICAgICAgICByZXN1bHRz
LmFkZCgiRmlsZXMiKTsKKwogICAgIGlmIChtX2RhdGFPYmplY3QtPnVybC5pc1ZhbGlkKCkpIHsK
ICAgICAgICAgcmVzdWx0cy5hZGQoIlVSTCIpOwogICAgICAgICByZXN1bHRzLmFkZCgidGV4dC91
cmktbGlzdCIpOwo=
</data>
<flag name="review"
          id="19685"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38686</attachid>
            <date>2009-08-27 14:19:57 -0700</date>
            <delta_ts>2009-08-27 14:19:57 -0700</delta_ts>
            <desc>First whack at a mac implementation (with some cleanup)</desc>
            <filename>bug-28780-20090827141956.patch</filename>
            <type>text/plain</type>
            <size>5487</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5tbSBiL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5tbQppbmRleCBjMjQ4YjdjLi43OTdkYWU0IDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMubW0KKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLm1tCkBAIC02Myw3ICs2Myw3IEBAIGJvb2wg
Q2xpcGJvYXJkTWFjOjpoYXNEYXRhKCkKICAgICByZXR1cm4gbV9wYXN0ZWJvYXJkICYmIFttX3Bh
c3RlYm9hcmQuZ2V0KCkgdHlwZXNdICYmIFtbbV9wYXN0ZWJvYXJkLmdldCgpIHR5cGVzXSBjb3Vu
dF0gPiAwOwogfQogICAgIAotc3RhdGljIE5TU3RyaW5nICpjb2NvYVR5cGVGcm9tTUlNRVR5cGUo
Y29uc3QgU3RyaW5nJiB0eXBlKQorc3RhdGljIE5TU3RyaW5nICpjb2NvYVR5cGVGcm9tSFRNTENs
aXBib2FyZFR5cGUoY29uc3QgU3RyaW5nJiB0eXBlKQogewogICAgIFN0cmluZyBxVHlwZSA9IHR5
cGUuc3RyaXBXaGl0ZVNwYWNlKCk7CiAKQEAgLTkzLDI0ICs5MywzNSBAQCBzdGF0aWMgTlNTdHJp
bmcgKmNvY29hVHlwZUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCiAgICAgcmV0dXJu
IHFUeXBlOwogfQogCi1zdGF0aWMgU3RyaW5nIE1JTUVUeXBlRnJvbUNvY29hVHlwZShOU1N0cmlu
ZyAqdHlwZSkKK3N0YXRpYyBTdHJpbmcgdXRpVHlwZUZyb21Db2NvYVR5cGUoTlNTdHJpbmcgKnR5
cGUpCiB7Ci0gICAgLy8gVVRJIG1heSBub3QgZG8gdGhlc2UgcmlnaHQsIHNvIG1ha2Ugc3VyZSB3
ZSBnZXQgdGhlIHJpZ2h0LCBwcmVkaWN0YWJsZSByZXN1bHQKLSAgICBpZiAoW3R5cGUgaXNFcXVh
bFRvU3RyaW5nOk5TU3RyaW5nUGJvYXJkVHlwZV0pCi0gICAgICAgIHJldHVybiAidGV4dC9wbGFp
biI7Ci0gICAgaWYgKFt0eXBlIGlzRXF1YWxUb1N0cmluZzpOU1VSTFBib2FyZFR5cGVdIHx8IFt0
eXBlIGlzRXF1YWxUb1N0cmluZzpOU0ZpbGVuYW1lc1Bib2FyZFR5cGVdKQotICAgICAgICByZXR1
cm4gInRleHQvdXJpLWxpc3QiOwotICAgIAotICAgIC8vIE5vdyB0cnkgdGhlIGdlbmVyYWwgVVRJ
IG1lY2hhbmlzbQogICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gdXRpVHlwZShBZG9wdENGLCBV
VFR5cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlmaWVyRm9yVGFnKGtVVFRhZ0NsYXNzTlNQYm9hcmRU
eXBlLCAoQ0ZTdHJpbmdSZWYpdHlwZSwgTlVMTCkpOwogICAgIGlmICh1dGlUeXBlKSB7CiAgICAg
ICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gbWltZVR5cGUoQWRvcHRDRiwgVVRUeXBlQ29weVBy
ZWZlcnJlZFRhZ1dpdGhDbGFzcyh1dGlUeXBlLmdldCgpLCBrVVRUYWdDbGFzc01JTUVUeXBlKSk7
CiAgICAgICAgIGlmIChtaW1lVHlwZSkKICAgICAgICAgICAgIHJldHVybiBTdHJpbmcobWltZVR5
cGUuZ2V0KCkpOwogICAgIH0KKyAgICByZXR1cm4gU3RyaW5nKCk7Cit9CiAKLSAgICAvLyBObyBt
YXBwaW5nLCBqdXN0IHBhc3MgdGhlIHdob2xlIHN0cmluZyB0aG91Z2gKLSAgICByZXR1cm4gdHlw
ZTsKK3N0YXRpYyB2b2lkIGFkZEhUTUxDbGlwYm9hcmRUeXBlc0ZvckNvY29hVHlwZShIYXNoU2V0
PFN0cmluZz4mIHJlc3VsdFR5cGVzLCBOU1N0cmluZyAqY29jb2FUeXBlKQoreworICAgIC8vIFVU
SSBtYXkgbm90IGRvIHRoZXNlIHJpZ2h0LCBzbyBtYWtlIHN1cmUgd2UgZ2V0IHRoZSByaWdodCwg
cHJlZGljdGFibGUgcmVzdWx0CisgICAgaWYgKFtjb2NvYVR5cGUgaXNFcXVhbFRvU3RyaW5nOk5T
U3RyaW5nUGJvYXJkVHlwZV0pCisgICAgICAgIHJlc3VsdFR5cGVzLmFkZCgidGV4dC9wbGFpbiIp
OworICAgIGVsc2UgaWYgKFtjb2NvYVR5cGUgaXNFcXVhbFRvU3RyaW5nOk5TVVJMUGJvYXJkVHlw
ZV0pCisgICAgICAgIHJlc3VsdFR5cGVzLmFkZCgidGV4dC91cmktbGlzdCIpOworICAgIGVsc2Ug
aWYgKFtjb2NvYVR5cGUgaXNFcXVhbFRvU3RyaW5nOk5TRmlsZW5hbWVzUGJvYXJkVHlwZV0pIHsK
KyAgICAgICAgLy8gSXQgaXMgdW5rbm93biBpZiBOU0ZpbGVuYW1lc1Bib2FyZFR5cGUgYWx3YXlz
IGltcGxpZXMgTlNVUkxQYm9hcmRUeXBlIGluIENvY29hLAorICAgICAgICAvLyBidXQgTlNGaWxl
bmFtZXNQYm9hcmRUeXBlIHNob3VsZCBpbXBseSBib3RoICd0ZXh0L3VyaS1saXN0JyBhbmQgJ0Zp
bGVzJworICAgICAgICByZXN1bHRUeXBlcy5hZGQoInRleHQvdXJpLWxpc3QiKTsKKyAgICAgICAg
cmVzdWx0VHlwZXMuYWRkKCJGaWxlcyIpOworICAgIH0gZWxzZSBpZiAoU3RyaW5nIHV0aVR5cGUg
PSB1dGlUeXBlRnJvbUNvY29hVHlwZShjb2NvYVR5cGUpKQorICAgICAgICByZXN1bHRUeXBlcy5h
ZGQodXRpVHlwZSk7CisgICAgZWxzZSB7CisgICAgICAgIC8vIE5vIG1hcHBpbmcsIGp1c3QgcGFz
cyB0aGUgd2hvbGUgc3RyaW5nIHRob3VnaAorICAgICAgICByZXN1bHRUeXBlcy5hZGQoY29jb2FU
eXBlKTsKKyAgICB9CiB9CiAKIHZvaWQgQ2xpcGJvYXJkTWFjOjpjbGVhckRhdGEoY29uc3QgU3Ry
aW5nJiB0eXBlKQpAQCAtMTIwLDcgKzEzMSw3IEBAIHZvaWQgQ2xpcGJvYXJkTWFjOjpjbGVhckRh
dGEoY29uc3QgU3RyaW5nJiB0eXBlKQogCiAgICAgLy8gbm90ZSBOU1Bhc3RlYm9hcmQgZW5mb3Jj
ZXMgY2hhbmdlQ291bnQgaXRzZWxmIG9uIHdyaXRpbmcgLSBjYW4ndCB3cml0ZSBpZiBub3QgdGhl
IG93bmVyCiAKLSAgICBOU1N0cmluZyAqY29jb2FUeXBlID0gY29jb2FUeXBlRnJvbU1JTUVUeXBl
KHR5cGUpOworICAgIE5TU3RyaW5nICpjb2NvYVR5cGUgPSBjb2NvYVR5cGVGcm9tSFRNTENsaXBi
b2FyZFR5cGUodHlwZSk7CiAgICAgaWYgKGNvY29hVHlwZSkKICAgICAgICAgW21fcGFzdGVib2Fy
ZC5nZXQoKSBzZXRTdHJpbmc6QCIiIGZvclR5cGU6Y29jb2FUeXBlXTsKIH0KQEAgLTE4NywxMiAr
MTk4LDEyIEBAIFN0cmluZyBDbGlwYm9hcmRNYWM6OmdldERhdGEoY29uc3QgU3RyaW5nJiB0eXBl
LCBib29sJiBzdWNjZXNzKSBjb25zdAogICAgIGlmIChwb2xpY3koKSAhPSBDbGlwYm9hcmRSZWFk
YWJsZSkKICAgICAgICAgcmV0dXJuIFN0cmluZygpOwogCi0gICAgTlNTdHJpbmcgKmNvY29hVHlw
ZSA9IGNvY29hVHlwZUZyb21NSU1FVHlwZSh0eXBlKTsKKyAgICBOU1N0cmluZyAqY29jb2FUeXBl
ID0gY29jb2FUeXBlRnJvbUhUTUxDbGlwYm9hcmRUeXBlKHR5cGUpOwogICAgIE5TU3RyaW5nICpj
b2NvYVZhbHVlID0gbmlsOwogCiAgICAgLy8gR3JhYiB0aGUgdmFsdWUgb2ZmIHRoZSBwYXN0ZWJv
YXJkIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGNvY29hVHlwZQogICAgIGlmIChbY29jb2FUeXBlIGlz
RXF1YWxUb1N0cmluZzpOU1VSTFBib2FyZFR5cGVdKSB7Ci0gICAgICAgIC8vICJVUkwiIGFuZCAi
dGV4dC91cmwtbGlzdCIgYm90aCBtYXAgdG8gTlNVUkxQYm9hcmRUeXBlIGluIGNvY29hVHlwZUZy
b21NSU1FVHlwZSgpLCAiVVJMIiBvbmx5IHdhbnRzIHRoZSBmaXJzdCBVUkwKKyAgICAgICAgLy8g
IlVSTCIgYW5kICJ0ZXh0L3VybC1saXN0IiBib3RoIG1hcCB0byBOU1VSTFBib2FyZFR5cGUgaW4g
Y29jb2FUeXBlRnJvbUhUTUxDbGlwYm9hcmRUeXBlKCksICJVUkwiIG9ubHkgd2FudHMgdGhlIGZp
cnN0IFVSTAogICAgICAgICBib29sIG9ubHlGaXJzdFVSTCA9ICh0eXBlID09ICJVUkwiKTsKICAg
ICAgICAgTlNBcnJheSAqYWJzb2x1dGVVUkxzID0gYWJzb2x1dGVVUkxzRnJvbVBhc3RlYm9hcmQo
bV9wYXN0ZWJvYXJkLmdldCgpLCBvbmx5Rmlyc3RVUkwpOwogICAgICAgICBjb2NvYVZhbHVlID0g
W2Fic29sdXRlVVJMcyBjb21wb25lbnRzSm9pbmVkQnlTdHJpbmc6QCJcbiJdOwpAQCAtMjE3LDcg
KzIyOCw3IEBAIGJvb2wgQ2xpcGJvYXJkTWFjOjpzZXREYXRhKGNvbnN0IFN0cmluZyAmdHlwZSwg
Y29uc3QgU3RyaW5nICZkYXRhKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgLy8gbm90ZSBO
U1Bhc3RlYm9hcmQgZW5mb3JjZXMgY2hhbmdlQ291bnQgaXRzZWxmIG9uIHdyaXRpbmcgLSBjYW4n
dCB3cml0ZSBpZiBub3QgdGhlIG93bmVyCiAKLSAgICBOU1N0cmluZyAqY29jb2FUeXBlID0gY29j
b2FUeXBlRnJvbU1JTUVUeXBlKHR5cGUpOworICAgIE5TU3RyaW5nICpjb2NvYVR5cGUgPSBjb2Nv
YVR5cGVGcm9tSFRNTENsaXBib2FyZFR5cGUodHlwZSk7CiAgICAgTlNTdHJpbmcgKmNvY29hRGF0
YSA9IGRhdGE7CiAKICAgICBpZiAoW2NvY29hVHlwZSBpc0VxdWFsVG9TdHJpbmc6TlNVUkxQYm9h
cmRUeXBlXSkgewpAQCAtMjU4LDE1ICsyNjksMTggQEAgSGFzaFNldDxTdHJpbmc+IENsaXBib2Fy
ZE1hYzo6dHlwZXMoKSBjb25zdAogCiAgICAgSGFzaFNldDxTdHJpbmc+IHJlc3VsdDsKICAgICBO
U1VJbnRlZ2VyIGNvdW50ID0gW3R5cGVzIGNvdW50XTsKKyAgICAvLyBGSVhNRTogVGhpcyBsb29w
IGNvdWxkIGJlIHNwbGl0IGludG8gdHdvIHN0YWdlcy4gT25lIHdoaWNoIGFkZHMgYWxsIHRoZSBI
VE1MNSBzcGVjaWZpZWQgdHlwZXMKKyAgICAvLyBhbmQgYSBzZWNvbmQgd2hpY2ggYWRkcyBhbGwg
dGhlIGV4dHJhIHR5cGVzIGZyb20gdGhlIGNvY29hIGNsaXBib2FyZCAod2hpY2ggaXMgTWFjLW9u
bHkgYmVoYXZpb3IpLgogICAgIGZvciAoTlNVSW50ZWdlciBpID0gMDsgaSA8IGNvdW50OyBpKysp
IHsKICAgICAgICAgTlNTdHJpbmcgKnBiVHlwZSA9IFt0eXBlcyBvYmplY3RBdEluZGV4OmldOwog
ICAgICAgICBpZiAoW3BiVHlwZSBpc0VxdWFsVG9TdHJpbmc6QCJOZVhUIHBsYWluIGFzY2lpIHBh
c3RlYm9hcmQgdHlwZSJdKQogICAgICAgICAgICAgY29udGludWU7ICAgLy8gc2tpcCB0aGlzIGFu
Y2llbnQgdHlwZSB0aGF0IGdldHMgYXV0by1zdXBwbGllZCBieSBzb21lIHN5c3RlbSBjb252ZXJz
aW9uCiAKLSAgICAgICAgU3RyaW5nIHN0ciA9IE1JTUVUeXBlRnJvbUNvY29hVHlwZShwYlR5cGUp
OworICAgICAgICBTdHJpbmcgc3RyID0gYWRkSFRNTENsaXBib2FyZFR5cGVzRm9yQ29jb2FUeXBl
KHJlc3VsdCwgcGJUeXBlKTsKICAgICAgICAgaWYgKCFyZXN1bHQuY29udGFpbnMoc3RyKSkKICAg
ICAgICAgICAgIHJlc3VsdC5hZGQoc3RyKTsKICAgICB9CisKICAgICByZXR1cm4gcmVzdWx0Owog
fQogCkBAIC0yNzgsNyArMjkyLDcgQEAgUGFzc1JlZlB0cjxGaWxlTGlzdD4gQ2xpcGJvYXJkTWFj
OjpmaWxlcygpIGNvbnN0CiAgICAgaWYgKHBvbGljeSgpICE9IENsaXBib2FyZFJlYWRhYmxlKQog
ICAgICAgICByZXR1cm4gRmlsZUxpc3Q6OmNyZWF0ZSgpOwogCi0gICAgTlNBcnJheSAqYWJzb2x1
dGVVUkxzID0gYWJzb2x1dGVVUkxzRnJvbVBhc3RlYm9hcmRGaWxlbmFtZXMobV9wYXN0ZWJvYXJk
LmdldCgpKTsKKyAgICBOU0FycmF5ICphYnNvbHV0ZVVSTHMgPSBhYnNvbHV0ZVVSTHNGcm9tUGFz
dGVib2FyZChtX3Bhc3RlYm9hcmQuZ2V0KCkpOwogICAgIE5TVUludGVnZXIgY291bnQgPSBbYWJz
b2x1dGVVUkxzIGNvdW50XTsKIAogICAgIFJlZlB0cjxGaWxlTGlzdD4gZmlsZUxpc3QgPSBGaWxl
TGlzdDo6Y3JlYXRlKCk7
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38692</attachid>
            <date>2009-08-27 15:25:44 -0700</date>
            <delta_ts>2009-08-27 16:34:25 -0700</delta_ts>
            <desc>Add dataTransfer.types &quot;Files&quot; test for all ports.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>4881</size>
            <attacher name="noel gordon">noel.gordon</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NzgzOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMDktMDgtMjcgIE5vZWwgR29yZG9uICA8bm9lbC5nb3Jkb25AZ21h
aWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGRhdGFUcmFuc2Zlci50eXBlcygpIHNob3VsZCBpbmNsdWRlIHR5cGUgIkZpbGVzIiB3aGVuIGZp
bGVzIGFyZSBwcmVzZW50IGluIHRoZSBjbGlwYm9hcmQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODc4MAorCisgICAgICAgIEFkZCBkYXRhVHJhbnNm
ZXIgbWltZSB0eXBlICJGaWxlcyIgdG8gdGhlIGNocm9taXVtIHBvcnQuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5jcHA6CisKIDIwMDktMDgtMjcgIFBl
dGVyIEthc3RpbmcgIDxwa2FzdGluZ0Bnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEVyaWMgU2VpZGVsLgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRD
aHJvbWl1bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlw
Ym9hcmRDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDQ3ODM4KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9j
aHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2NSw2ICsx
NjUsOSBAQCBIYXNoU2V0PFN0cmluZz4gQ2xpcGJvYXJkQ2hyb21pdW06OnR5cGVzCiAgICAgaWYg
KCFtX2RhdGFPYmplY3QpCiAgICAgICAgIHJldHVybiByZXN1bHRzOwogCisgICAgaWYgKCFtX2Rh
dGFPYmplY3QtPmZpbGVuYW1lcy5pc0VtcHR5KCkpCisgICAgICAgIHJlc3VsdHMuYWRkKCJGaWxl
cyIpOworCiAgICAgaWYgKG1fZGF0YU9iamVjdC0+dXJsLmlzVmFsaWQoKSkgewogICAgICAgICBy
ZXN1bHRzLmFkZCgiVVJMIik7CiAgICAgICAgIHJlc3VsdHMuYWRkKCJ0ZXh0L3VyaS1saXN0Iik7
CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiA0NzgzOCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDA5LTA4LTI3ICBOb2VsIEdvcmRvbiAgPG5v
ZWwuZ29yZG9uQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBkYXRhVHJhbnNmZXIudHlwZXMoKSBzaG91bGQgaW5jbHVkZSB0eXBlICJG
aWxlcyIgd2hlbiBmaWxlcyBhcmUgcHJlc2VudCBpbiB0aGUgY2xpcGJvYXJkLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjg3ODAKKworICAgICAgICBU
ZXN0IGRhdGFUcmFuc2Zlci50eXBlcyAiRmlsZXMiIGFjY2VzcyBmb3IgYWxsIHBvcnRzLgorCisg
ICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jbGlwYm9hcmQvY2xpcGJvYXJkLWZpbGUtYWNj
ZXNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NsaXBib2Fy
ZC9yZXNvdXJjZXMvY2xpcGJvYXJkLWZpbGUtYWNjZXNzLmpzOgorCiAyMDA5LTA4LTI3ICBEcmV3
IFdpbHNvbiAgPGF0d2lsc29uQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2
aWQgTGV2aW4uCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NsaXBib2Fy
ZC9jbGlwYm9hcmQtZmlsZS1hY2Nlc3MtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY2xpcGJvYXJkL2NsaXBib2FyZC1maWxlLWFjY2Vz
cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQ3ODM4KQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jbGlwYm9hcmQvY2xpcGJvYXJkLWZpbGUtYWNjZXNzLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLVRlc3RzIGFjY2VzcyB0byBldmVudC5kYXRh
VHJhbnNmZXIuZmlsZXMKK1Rlc3RzIGFjY2VzcyB0byBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMg
YW5kIC50eXBlcwogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY2xpcGJvYXJkL3Jlc291cmNlcy9jbGlwYm9hcmQtZmls
ZS1hY2Nlc3MuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jbGlwYm9hcmQvcmVzb3VyY2VzL2NsaXBib2FyZC1maWxlLWFjY2Vzcy5qcwkocmV2aXNpb24g
NDc4MzgpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NsaXBib2FyZC9yZXNv
dXJjZXMvY2xpcGJvYXJkLWZpbGUtYWNjZXNzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQgKzEs
NCBAQAotZGVzY3JpcHRpb24oIlRlc3RzIGFjY2VzcyB0byBldmVudC5kYXRhVHJhbnNmZXIuZmls
ZXMiKTsKK2Rlc2NyaXB0aW9uKCJUZXN0cyBhY2Nlc3MgdG8gZXZlbnQuZGF0YVRyYW5zZmVyLmZp
bGVzIGFuZCAudHlwZXMiKTsKIAogdmFyIGRyYWdUYXJnZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJkaXYiKTsKIGRyYWdUYXJnZXQuaW5uZXJIVE1MID0gIkRyYWcgaGVyZSIKQEAgLTExLDYg
KzExLDcgQEAgZG9jdW1lbnQuYm9keS5pbnNlcnRCZWZvcmUoZHJhZ1RhcmdldCwgZAogZHJhZ1Rh
cmdldC5hZGRFdmVudExpc3RlbmVyKCJkcmFnZW50ZXIiLCBmdW5jdGlvbigpIHsKICAgICBkZWJ1
ZygiT24gZHJhZ2VudGVyOiIpCiAgICAgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSAi
Y29weSI7CisgICAgdHlwZXNBcnJheVNob3VsZENvbnRhaW4oZXZlbnQuZGF0YVRyYW5zZmVyLnR5
cGVzLCAiRmlsZXMiKTsKICAgICBmaWxlTGlzdFNob3VsZEJlKCJldmVudC5kYXRhVHJhbnNmZXIu
ZmlsZXMiLCBbXSk7CiAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKIH0sIGZhbHNlKTsKQEAg
LTE4LDE4ICsxOSwyMSBAQCBkcmFnVGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoImRyYWdlbnRlciIs
CiBkcmFnVGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIiwgZnVuY3Rpb24oKSB7CiAg
ICAgZGVidWcoIk9uIGRyYWdvdmVyOiIpCiAgICAgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZl
Y3QgPSAiY29weSI7CisgICAgdHlwZXNBcnJheVNob3VsZENvbnRhaW4oZXZlbnQuZGF0YVRyYW5z
ZmVyLnR5cGVzLCAiRmlsZXMiKTsKICAgICBmaWxlTGlzdFNob3VsZEJlKCJldmVudC5kYXRhVHJh
bnNmZXIuZmlsZXMiLCBbXSk7CiAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKIH0sIGZhbHNl
KTsKIAogZHJhZ1RhcmdldC5hZGRFdmVudExpc3RlbmVyKCJkcmFnbGVhdmUiLCBmdW5jdGlvbigp
IHsKICAgICBkZWJ1ZygiT24gZHJhZ2xlYXZlOiIpCisgICAgdHlwZXNBcnJheVNob3VsZENvbnRh
aW4oZXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzLCAiRmlsZXMiKTsKICAgICBmaWxlTGlzdFNob3Vs
ZEJlKCJldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMiLCBbXSk7CiB9LCBmYWxzZSk7CiAKIHZhciBl
eHBlY3RlZEZpbGVzT25Ecm9wOwogZHJhZ1RhcmdldC5hZGRFdmVudExpc3RlbmVyKCJkcm9wIiwg
ZnVuY3Rpb24oKSB7CiAgICAgZGVidWcoIk9uIGRyb3A6IikKKyAgICB0eXBlc0FycmF5U2hvdWxk
Q29udGFpbihldmVudC5kYXRhVHJhbnNmZXIudHlwZXMsICJGaWxlcyIpOwogICAgIGZpbGVMaXN0
U2hvdWxkQmUoImV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcyIsIGV4cGVjdGVkRmlsZXNPbkRyb3Ap
OwogICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiB9LCBmYWxzZSk7CkBAIC01MCwxMCArNTQs
MTYgQEAgZnVuY3Rpb24gZHJhZ0ZpbGVzT250b0RyYWdUYXJnZXQoZmlsZXMsIAogICAgIGV2ZW50
U2VuZGVyLmJlZ2luRHJhZ1dpdGhGaWxlcyhmaWxlcyk7CiAgICAgbW92ZU1vdXNlVG9DZW50ZXJP
ZkVsZW1lbnQoZHJhZ1RhcmdldCk7CiAgICAgaWYgKGxlYXZlICYmIGxlYXZlID09PSB0cnVlKQot
ICAgICAgbW92ZU1vdXNlVG9PdXRzaWRlT2ZFbGVtZW50KGRyYWdUYXJnZXQpOworICAgICAgICBt
b3ZlTW91c2VUb091dHNpZGVPZkVsZW1lbnQoZHJhZ1RhcmdldCk7ICAgICAgICAKICAgICBldmVu
dFNlbmRlci5tb3VzZVVwKCk7CiB9CiAKK2Z1bmN0aW9uIHR5cGVzQXJyYXlTaG91bGRDb250YWlu
KHR5cGVzQXJyYXksIHR5cGVTdHJpbmcpCit7CisgICBpZiAodHlwZXNBcnJheS5pbmRleE9mKHR5
cGVTdHJpbmcpID09IC0xKQorICAgICAgIHRlc3RGYWlsZWQoInR5cGUgJyIgKyB0eXBlU3RyaW5n
ICsgIicgbm90IGZvdW5kLiIpOworfQorCiBmdW5jdGlvbiBmaWxlTGlzdFNob3VsZEJlKGZpbGVM
aXN0U3RyaW5nLCBmaWxlc0FycmF5KQogewogICAgIHNob3VsZEJlKGZpbGVMaXN0U3RyaW5nICsg
Ii5sZW5ndGgiLCAiIiArIGZpbGVzQXJyYXkubGVuZ3RoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38695</attachid>
            <date>2009-08-27 16:34:25 -0700</date>
            <delta_ts>2009-08-27 17:38:45 -0700</delta_ts>
            <desc>Combine mac and chromium patches. Report PASS/FAIL for &quot;Files&quot; test cases.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>15529</size>
            <attacher name="noel gordon">noel.gordon</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NzgzOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMDgtMjcgIE5vZWwgR29yZG9uICA8bm9lbC5nb3Jkb25AZ21h
aWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGRhdGFUcmFuc2Zlci50eXBlcygpIHNob3VsZCBpbmNsdWRlIHR5cGUgIkZpbGVzIiB3aGVuIGZp
bGVzIGFyZSBwcmVzZW50IGluIHRoZSBjbGlwYm9hcmQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODc4MAorCisgICAgICAgIEFkZCBkYXRhVHJhbnNm
ZXIgdHlwZSAiRmlsZXMiIHRvIHRoZSBjaHJvbWl1bSBwb3J0LiAgQWRkIGVzZWlkZWwncworICAg
ICAgICBwYXRjaCBmb3Igc2FtZSBmb3IgdGhlIG1hYyBwb3J0LgorCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uY3BwOgorCiAyMDA5LTA4LTI3ICBQZXRlciBL
YXN0aW5nICA8cGthc3RpbmdAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmlj
IFNlaWRlbC4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21p
dW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJk
Q2hyb21pdW0uY3BwCShyZXZpc2lvbiA0NzgzOCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21p
dW0vQ2xpcGJvYXJkQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjUsNiArMTY1LDkg
QEAgSGFzaFNldDxTdHJpbmc+IENsaXBib2FyZENocm9taXVtOjp0eXBlcwogICAgIGlmICghbV9k
YXRhT2JqZWN0KQogICAgICAgICByZXR1cm4gcmVzdWx0czsKIAorICAgIGlmICghbV9kYXRhT2Jq
ZWN0LT5maWxlbmFtZXMuaXNFbXB0eSgpKQorICAgICAgICByZXN1bHRzLmFkZCgiRmlsZXMiKTsK
KwogICAgIGlmIChtX2RhdGFPYmplY3QtPnVybC5pc1ZhbGlkKCkpIHsKICAgICAgICAgcmVzdWx0
cy5hZGQoIlVSTCIpOwogICAgICAgICByZXN1bHRzLmFkZCgidGV4dC91cmktbGlzdCIpOwpJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5tbQkocmV2aXNpb24gNDc4MzgpCisrKyBX
ZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTYz
LDcgKzYzLDcgQEAgYm9vbCBDbGlwYm9hcmRNYWM6Omhhc0RhdGEoKQogICAgIHJldHVybiBtX3Bh
c3RlYm9hcmQgJiYgW21fcGFzdGVib2FyZC5nZXQoKSB0eXBlc10gJiYgW1ttX3Bhc3RlYm9hcmQu
Z2V0KCkgdHlwZXNdIGNvdW50XSA+IDA7CiB9CiAgICAgCi1zdGF0aWMgTlNTdHJpbmcgKmNvY29h
VHlwZUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCitzdGF0aWMgTlNTdHJpbmcgKmNv
Y29hVHlwZUZyb21IVE1MQ2xpcGJvYXJkVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCiB7CiAgICAg
U3RyaW5nIHFUeXBlID0gdHlwZS5zdHJpcFdoaXRlU3BhY2UoKTsKIApAQCAtOTMsMjQgKzkzLDM1
IEBAIHN0YXRpYyBOU1N0cmluZyAqY29jb2FUeXBlRnJvbU1JTUVUeXBlKGMKICAgICByZXR1cm4g
cVR5cGU7CiB9CiAKLXN0YXRpYyBTdHJpbmcgTUlNRVR5cGVGcm9tQ29jb2FUeXBlKE5TU3RyaW5n
ICp0eXBlKQorc3RhdGljIFN0cmluZyB1dGlUeXBlRnJvbUNvY29hVHlwZShOU1N0cmluZyAqdHlw
ZSkKIHsKLSAgICAvLyBVVEkgbWF5IG5vdCBkbyB0aGVzZSByaWdodCwgc28gbWFrZSBzdXJlIHdl
IGdldCB0aGUgcmlnaHQsIHByZWRpY3RhYmxlIHJlc3VsdAotICAgIGlmIChbdHlwZSBpc0VxdWFs
VG9TdHJpbmc6TlNTdHJpbmdQYm9hcmRUeXBlXSkKLSAgICAgICAgcmV0dXJuICJ0ZXh0L3BsYWlu
IjsKLSAgICBpZiAoW3R5cGUgaXNFcXVhbFRvU3RyaW5nOk5TVVJMUGJvYXJkVHlwZV0gfHwgW3R5
cGUgaXNFcXVhbFRvU3RyaW5nOk5TRmlsZW5hbWVzUGJvYXJkVHlwZV0pCi0gICAgICAgIHJldHVy
biAidGV4dC91cmktbGlzdCI7Ci0gICAgCi0gICAgLy8gTm93IHRyeSB0aGUgZ2VuZXJhbCBVVEkg
bWVjaGFuaXNtCiAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiB1dGlUeXBlKEFkb3B0Q0YsIFVU
VHlwZUNyZWF0ZVByZWZlcnJlZElkZW50aWZpZXJGb3JUYWcoa1VUVGFnQ2xhc3NOU1Bib2FyZFR5
cGUsIChDRlN0cmluZ1JlZil0eXBlLCBOVUxMKSk7CiAgICAgaWYgKHV0aVR5cGUpIHsKICAgICAg
ICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBtaW1lVHlwZShBZG9wdENGLCBVVFR5cGVDb3B5UHJl
ZmVycmVkVGFnV2l0aENsYXNzKHV0aVR5cGUuZ2V0KCksIGtVVFRhZ0NsYXNzTUlNRVR5cGUpKTsK
ICAgICAgICAgaWYgKG1pbWVUeXBlKQogICAgICAgICAgICAgcmV0dXJuIFN0cmluZyhtaW1lVHlw
ZS5nZXQoKSk7CiAgICAgfQorICAgIHJldHVybiBTdHJpbmcoKTsKK30KIAotICAgIC8vIE5vIG1h
cHBpbmcsIGp1c3QgcGFzcyB0aGUgd2hvbGUgc3RyaW5nIHRob3VnaAotICAgIHJldHVybiB0eXBl
Oworc3RhdGljIHZvaWQgYWRkSFRNTENsaXBib2FyZFR5cGVzRm9yQ29jb2FUeXBlKEhhc2hTZXQ8
U3RyaW5nPiYgcmVzdWx0VHlwZXMsIE5TU3RyaW5nICpjb2NvYVR5cGUpCit7CisgICAgLy8gVVRJ
IG1heSBub3QgZG8gdGhlc2UgcmlnaHQsIHNvIG1ha2Ugc3VyZSB3ZSBnZXQgdGhlIHJpZ2h0LCBw
cmVkaWN0YWJsZSByZXN1bHQKKyAgICBpZiAoW2NvY29hVHlwZSBpc0VxdWFsVG9TdHJpbmc6TlNT
dHJpbmdQYm9hcmRUeXBlXSkKKyAgICAgICAgcmVzdWx0VHlwZXMuYWRkKCJ0ZXh0L3BsYWluIik7
CisgICAgZWxzZSBpZiAoW2NvY29hVHlwZSBpc0VxdWFsVG9TdHJpbmc6TlNVUkxQYm9hcmRUeXBl
XSkKKyAgICAgICAgcmVzdWx0VHlwZXMuYWRkKCJ0ZXh0L3VyaS1saXN0Iik7CisgICAgZWxzZSBp
ZiAoW2NvY29hVHlwZSBpc0VxdWFsVG9TdHJpbmc6TlNGaWxlbmFtZXNQYm9hcmRUeXBlXSkgewor
ICAgICAgICAvLyBJdCBpcyB1bmtub3duIGlmIE5TRmlsZW5hbWVzUGJvYXJkVHlwZSBhbHdheXMg
aW1wbGllcyBOU1VSTFBib2FyZFR5cGUgaW4gQ29jb2EsCisgICAgICAgIC8vIGJ1dCBOU0ZpbGVu
YW1lc1Bib2FyZFR5cGUgc2hvdWxkIGltcGx5IGJvdGggJ3RleHQvdXJpLWxpc3QnIGFuZCAnRmls
ZXMnCisgICAgICAgIHJlc3VsdFR5cGVzLmFkZCgidGV4dC91cmktbGlzdCIpOworICAgICAgICBy
ZXN1bHRUeXBlcy5hZGQoIkZpbGVzIik7CisgICAgfSBlbHNlIGlmIChTdHJpbmcgdXRpVHlwZSA9
IHV0aVR5cGVGcm9tQ29jb2FUeXBlKGNvY29hVHlwZSkpCisgICAgICAgIHJlc3VsdFR5cGVzLmFk
ZCh1dGlUeXBlKTsKKyAgICBlbHNlIHsKKyAgICAgICAgLy8gTm8gbWFwcGluZywganVzdCBwYXNz
IHRoZSB3aG9sZSBzdHJpbmcgdGhvdWdoCisgICAgICAgIHJlc3VsdFR5cGVzLmFkZChjb2NvYVR5
cGUpOworICAgIH0KIH0KIAogdm9pZCBDbGlwYm9hcmRNYWM6OmNsZWFyRGF0YShjb25zdCBTdHJp
bmcmIHR5cGUpCkBAIC0xMjAsNyArMTMxLDcgQEAgdm9pZCBDbGlwYm9hcmRNYWM6OmNsZWFyRGF0
YShjb25zdCBTdHJpbgogCiAgICAgLy8gbm90ZSBOU1Bhc3RlYm9hcmQgZW5mb3JjZXMgY2hhbmdl
Q291bnQgaXRzZWxmIG9uIHdyaXRpbmcgLSBjYW4ndCB3cml0ZSBpZiBub3QgdGhlIG93bmVyCiAK
LSAgICBOU1N0cmluZyAqY29jb2FUeXBlID0gY29jb2FUeXBlRnJvbU1JTUVUeXBlKHR5cGUpOwor
ICAgIE5TU3RyaW5nICpjb2NvYVR5cGUgPSBjb2NvYVR5cGVGcm9tSFRNTENsaXBib2FyZFR5cGUo
dHlwZSk7CiAgICAgaWYgKGNvY29hVHlwZSkKICAgICAgICAgW21fcGFzdGVib2FyZC5nZXQoKSBz
ZXRTdHJpbmc6QCIiIGZvclR5cGU6Y29jb2FUeXBlXTsKIH0KQEAgLTE4NywxMiArMTk4LDEyIEBA
IFN0cmluZyBDbGlwYm9hcmRNYWM6OmdldERhdGEoY29uc3QgU3RyaW4KICAgICBpZiAocG9saWN5
KCkgIT0gQ2xpcGJvYXJkUmVhZGFibGUpCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKIAotICAg
IE5TU3RyaW5nICpjb2NvYVR5cGUgPSBjb2NvYVR5cGVGcm9tTUlNRVR5cGUodHlwZSk7CisgICAg
TlNTdHJpbmcgKmNvY29hVHlwZSA9IGNvY29hVHlwZUZyb21IVE1MQ2xpcGJvYXJkVHlwZSh0eXBl
KTsKICAgICBOU1N0cmluZyAqY29jb2FWYWx1ZSA9IG5pbDsKIAogICAgIC8vIEdyYWIgdGhlIHZh
bHVlIG9mZiB0aGUgcGFzdGVib2FyZCBjb3JyZXNwb25kaW5nIHRvIHRoZSBjb2NvYVR5cGUKICAg
ICBpZiAoW2NvY29hVHlwZSBpc0VxdWFsVG9TdHJpbmc6TlNVUkxQYm9hcmRUeXBlXSkgewotICAg
ICAgICAvLyAiVVJMIiBhbmQgInRleHQvdXJsLWxpc3QiIGJvdGggbWFwIHRvIE5TVVJMUGJvYXJk
VHlwZSBpbiBjb2NvYVR5cGVGcm9tTUlNRVR5cGUoKSwgIlVSTCIgb25seSB3YW50cyB0aGUgZmly
c3QgVVJMCisgICAgICAgIC8vICJVUkwiIGFuZCAidGV4dC91cmwtbGlzdCIgYm90aCBtYXAgdG8g
TlNVUkxQYm9hcmRUeXBlIGluIGNvY29hVHlwZUZyb21IVE1MQ2xpcGJvYXJkVHlwZSgpLCAiVVJM
IiBvbmx5IHdhbnRzIHRoZSBmaXJzdCBVUkwKICAgICAgICAgYm9vbCBvbmx5Rmlyc3RVUkwgPSAo
dHlwZSA9PSAiVVJMIik7CiAgICAgICAgIE5TQXJyYXkgKmFic29sdXRlVVJMcyA9IGFic29sdXRl
VVJMc0Zyb21QYXN0ZWJvYXJkKG1fcGFzdGVib2FyZC5nZXQoKSwgb25seUZpcnN0VVJMKTsKICAg
ICAgICAgY29jb2FWYWx1ZSA9IFthYnNvbHV0ZVVSTHMgY29tcG9uZW50c0pvaW5lZEJ5U3RyaW5n
OkAiXG4iXTsKQEAgLTIxNyw3ICsyMjgsNyBAQCBib29sIENsaXBib2FyZE1hYzo6c2V0RGF0YShj
b25zdCBTdHJpbmcgCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAvLyBub3RlIE5TUGFzdGVi
b2FyZCBlbmZvcmNlcyBjaGFuZ2VDb3VudCBpdHNlbGYgb24gd3JpdGluZyAtIGNhbid0IHdyaXRl
IGlmIG5vdCB0aGUgb3duZXIKIAotICAgIE5TU3RyaW5nICpjb2NvYVR5cGUgPSBjb2NvYVR5cGVG
cm9tTUlNRVR5cGUodHlwZSk7CisgICAgTlNTdHJpbmcgKmNvY29hVHlwZSA9IGNvY29hVHlwZUZy
b21IVE1MQ2xpcGJvYXJkVHlwZSh0eXBlKTsKICAgICBOU1N0cmluZyAqY29jb2FEYXRhID0gZGF0
YTsKIAogICAgIGlmIChbY29jb2FUeXBlIGlzRXF1YWxUb1N0cmluZzpOU1VSTFBib2FyZFR5cGVd
KSB7CkBAIC0yNTgsMTUgKzI2OSwxNiBAQCBIYXNoU2V0PFN0cmluZz4gQ2xpcGJvYXJkTWFjOjp0
eXBlcygpIGNvCiAKICAgICBIYXNoU2V0PFN0cmluZz4gcmVzdWx0OwogICAgIE5TVUludGVnZXIg
Y291bnQgPSBbdHlwZXMgY291bnRdOworICAgIC8vIEZJWE1FOiBUaGlzIGxvb3AgY291bGQgYmUg
c3BsaXQgaW50byB0d28gc3RhZ2VzLiBPbmUgd2hpY2ggYWRkcyBhbGwgdGhlIEhUTUw1IHNwZWNp
ZmllZCB0eXBlcworICAgIC8vIGFuZCBhIHNlY29uZCB3aGljaCBhZGRzIGFsbCB0aGUgZXh0cmEg
dHlwZXMgZnJvbSB0aGUgY29jb2EgY2xpcGJvYXJkICh3aGljaCBpcyBNYWMtb25seSBiZWhhdmlv
cikuCiAgICAgZm9yIChOU1VJbnRlZ2VyIGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewogICAgICAg
ICBOU1N0cmluZyAqcGJUeXBlID0gW3R5cGVzIG9iamVjdEF0SW5kZXg6aV07CiAgICAgICAgIGlm
IChbcGJUeXBlIGlzRXF1YWxUb1N0cmluZzpAIk5lWFQgcGxhaW4gYXNjaWkgcGFzdGVib2FyZCB0
eXBlIl0pCiAgICAgICAgICAgICBjb250aW51ZTsgICAvLyBza2lwIHRoaXMgYW5jaWVudCB0eXBl
IHRoYXQgZ2V0cyBhdXRvLXN1cHBsaWVkIGJ5IHNvbWUgc3lzdGVtIGNvbnZlcnNpb24KIAotICAg
ICAgICBTdHJpbmcgc3RyID0gTUlNRVR5cGVGcm9tQ29jb2FUeXBlKHBiVHlwZSk7Ci0gICAgICAg
IGlmICghcmVzdWx0LmNvbnRhaW5zKHN0cikpCi0gICAgICAgICAgICByZXN1bHQuYWRkKHN0cik7
CisgICAgICAgIGFkZEhUTUxDbGlwYm9hcmRUeXBlc0ZvckNvY29hVHlwZShyZXN1bHQsIHBiVHlw
ZSk7CiAgICAgfQorCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApAQCAtMjc4LDcgKzI5MCw3IEBA
IFBhc3NSZWZQdHI8RmlsZUxpc3Q+IENsaXBib2FyZE1hYzo6ZmlsZXMKICAgICBpZiAocG9saWN5
KCkgIT0gQ2xpcGJvYXJkUmVhZGFibGUpCiAgICAgICAgIHJldHVybiBGaWxlTGlzdDo6Y3JlYXRl
KCk7CiAKLSAgICBOU0FycmF5ICphYnNvbHV0ZVVSTHMgPSBhYnNvbHV0ZVVSTHNGcm9tUGFzdGVi
b2FyZEZpbGVuYW1lcyhtX3Bhc3RlYm9hcmQuZ2V0KCkpOworICAgIE5TQXJyYXkgKmFic29sdXRl
VVJMcyA9IGFic29sdXRlVVJMc0Zyb21QYXN0ZWJvYXJkKG1fcGFzdGVib2FyZC5nZXQoKSk7CiAg
ICAgTlNVSW50ZWdlciBjb3VudCA9IFthYnNvbHV0ZVVSTHMgY291bnRdOwogCiAgICAgUmVmUHRy
PEZpbGVMaXN0PiBmaWxlTGlzdCA9IEZpbGVMaXN0OjpjcmVhdGUoKTsKSW5kZXg6IExheW91dFRl
c3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDQ3ODM4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTUgQEAKKzIwMDktMDgtMjcgIE5vZWwgR29yZG9uICA8bm9lbC5nb3Jkb25AZ21haWwu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGRh
dGFUcmFuc2Zlci50eXBlcygpIHNob3VsZCBpbmNsdWRlIHR5cGUgIkZpbGVzIiB3aGVuIGZpbGVz
IGFyZSBwcmVzZW50IGluIHRoZSBjbGlwYm9hcmQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODc4MAorCisgICAgICAgIFRlc3QgZGF0YVRyYW5zZmVy
LnR5cGVzICJGaWxlcyIgYWNjZXNzIGZvciBhbGwgcG9ydHMuCisKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L2NsaXBib2FyZC9jbGlwYm9hcmQtZmlsZS1hY2Nlc3MtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY2xpcGJvYXJkL3Jlc291cmNlcy9jbGlw
Ym9hcmQtZmlsZS1hY2Nlc3MuanM6CisKIDIwMDktMDgtMjcgIERyZXcgV2lsc29uICA8YXR3aWxz
b25AZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY2xpcGJvYXJkL2NsaXBib2FyZC1maWxl
LWFjY2Vzcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jbGlwYm9hcmQvY2xpcGJvYXJkLWZpbGUtYWNjZXNzLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gNDc4MzgpCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NsaXBi
b2FyZC9jbGlwYm9hcmQtZmlsZS1hY2Nlc3MtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xLDUxICsxLDY4IEBACi1UZXN0cyBhY2Nlc3MgdG8gZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVz
CitUZXN0cyBhY2Nlc3MgdG8gZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzIGFuZCAudHlwZXMKIAog
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgogCiAKIERyYWdnaW5nIG5vIGZpbGVzIHNob3VsZCBy
ZXR1cm4gYW4gZW1wdHkgZmlsZSBsaXN0IChhcmJpdHJhcnkgaW1wbGVtZW50YXRpb24gZGV0YWls
KToKIE9uIGRyYWdlbnRlcjoKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzIGNvbnRhaW5z
IEZpbGVzLgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMubGVuZ3RoIGlzIDAKIE9uIGRy
YWdvdmVyOgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIudHlwZXMgY29udGFpbnMgRmlsZXMuCiBQ
QVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGggaXMgMAogT24gZHJvcDoKK1BBU1Mg
ZXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzIGNvbnRhaW5zIEZpbGVzLgogUEFTUyBldmVudC5kYXRh
VHJhbnNmZXIuZmlsZXMubGVuZ3RoIGlzIDAKIERyYWcgZHJvcCBhIHNpbmdsZSAobm9uLWV4aXN0
YW50KSBmaWxlIG9udG8gYW4gZWxlbWVudDoKIE9uIGRyYWdlbnRlcjoKK1BBU1MgZXZlbnQuZGF0
YVRyYW5zZmVyLnR5cGVzIGNvbnRhaW5zIEZpbGVzLgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIu
ZmlsZXMubGVuZ3RoIGlzIDAKIE9uIGRyYWdvdmVyOgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIu
dHlwZXMgY29udGFpbnMgRmlsZXMuCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5n
dGggaXMgMAogT24gZHJhZ292ZXI6CitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcyBjb250
YWlucyBGaWxlcy4KIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aCBpcyAwCiBP
biBkcm9wOgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIudHlwZXMgY29udGFpbnMgRmlsZXMuCiBQ
QVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGggaXMgMQogUEFTUyBldmVudC5kYXRh
VHJhbnNmZXIuZmlsZXNbMF0uZmlsZU5hbWUgaXMgIkRSVEZha2VGaWxlIgogUEFTUyBldmVudC5k
YXRhVHJhbnNmZXIuZmlsZXNbMF0uZmlsZVNpemUgaXMgMAogRklYTUU6IEZpbGUuZmlsZVNpemUg
YWx3YXlzIHJldHVybnMgMCBmb3IgZmlsZXMgZHJvcHBlZCBieSBldmVudFNlbmRlci5iZWdpbkRy
YWdXaXRoRmlsZXMgZnJvbSBodHRwIHRlc3RzOiAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTI1OTA5CiBEcmFnIGZpbGVzIG92ZXIgYW4gZWxlbWVudCwgbGVhdmUgdGhh
dCBlbGVtZW50IGFuZCByZWxlYXNlIHRoZSBtb3VzZToKIE9uIGRyYWdlbnRlcjoKK1BBU1MgZXZl
bnQuZGF0YVRyYW5zZmVyLnR5cGVzIGNvbnRhaW5zIEZpbGVzLgogUEFTUyBldmVudC5kYXRhVHJh
bnNmZXIuZmlsZXMubGVuZ3RoIGlzIDAKIE9uIGRyYWdvdmVyOgorUEFTUyBldmVudC5kYXRhVHJh
bnNmZXIudHlwZXMgY29udGFpbnMgRmlsZXMuCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxl
cy5sZW5ndGggaXMgMAogT24gZHJhZ2xlYXZlOgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIudHlw
ZXMgY29udGFpbnMgRmlsZXMuCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGgg
aXMgMAogRHJhZyBkcm9wIGEgcmVhbCBmaWxlIG9udG8gYW4gZWxlbWVudDoKIE9uIGRyYWdlbnRl
cjoKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzIGNvbnRhaW5zIEZpbGVzLgogUEFTUyBl
dmVudC5kYXRhVHJhbnNmZXIuZmlsZXMubGVuZ3RoIGlzIDAKIE9uIGRyYWdvdmVyOgorUEFTUyBl
dmVudC5kYXRhVHJhbnNmZXIudHlwZXMgY29udGFpbnMgRmlsZXMuCiBQQVNTIGV2ZW50LmRhdGFU
cmFuc2Zlci5maWxlcy5sZW5ndGggaXMgMAogT24gZHJvcDoKK1BBU1MgZXZlbnQuZGF0YVRyYW5z
ZmVyLnR5cGVzIGNvbnRhaW5zIEZpbGVzLgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMu
bGVuZ3RoIGlzIDEKIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzWzBdLmZpbGVOYW1lIGlz
ICJhcHBsZS5naWYiCiBGQUlMIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlc1swXS5maWxlU2l6ZSBz
aG91bGQgYmUgMTQ3Ni4gV2FzIDAuCiBEcmFnIGRyb3AgdHdvIGZpbGVzIG9udG8gYW4gZWxlbWVu
dDoKIE9uIGRyYWdlbnRlcjoKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzIGNvbnRhaW5z
IEZpbGVzLgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMubGVuZ3RoIGlzIDAKIE9uIGRy
YWdvdmVyOgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIudHlwZXMgY29udGFpbnMgRmlsZXMuCiBQ
QVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGggaXMgMAogT24gZHJhZ292ZXI6CitQ
QVNTIGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcyBjb250YWlucyBGaWxlcy4KIFBBU1MgZXZlbnQu
ZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aCBpcyAwCiBPbiBkcm9wOgorUEFTUyBldmVudC5kYXRh
VHJhbnNmZXIudHlwZXMgY29udGFpbnMgRmlsZXMuCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5m
aWxlcy5sZW5ndGggaXMgMgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXNbMF0uZmlsZU5h
bWUgaXMgImFwcGxlLmdpZiIKIEZBSUwgZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzWzBdLmZpbGVT
aXplIHNob3VsZCBiZSAxNDc2LiBXYXMgMC4KQEAgLTUzLDEyICs3MCwxNiBAQCBQQVNTIGV2ZW50
LmRhdGFUcmFuc2Zlci5maWxlc1sxXS5maWxlTmFtCiBGQUlMIGV2ZW50LmRhdGFUcmFuc2Zlci5m
aWxlc1sxXS5maWxlU2l6ZSBzaG91bGQgYmUgMjU5My4gV2FzIDAuCiBEcmFnIGRyb3AgdHdvIGZp
bGVzIGluIHJldmVyc2UgYWxwaGFiZXRpY2FsIG9yZGVyIG9udG8gYW4gZWxlbWVudDoKIE9uIGRy
YWdlbnRlcjoKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzIGNvbnRhaW5zIEZpbGVzLgog
UEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMubGVuZ3RoIGlzIDAKIE9uIGRyYWdvdmVyOgor
UEFTUyBldmVudC5kYXRhVHJhbnNmZXIudHlwZXMgY29udGFpbnMgRmlsZXMuCiBQQVNTIGV2ZW50
LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGggaXMgMAogT24gZHJhZ292ZXI6CitQQVNTIGV2ZW50
LmRhdGFUcmFuc2Zlci50eXBlcyBjb250YWlucyBGaWxlcy4KIFBBU1MgZXZlbnQuZGF0YVRyYW5z
ZmVyLmZpbGVzLmxlbmd0aCBpcyAwCiBPbiBkcm9wOgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIu
dHlwZXMgY29udGFpbnMgRmlsZXMuCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5n
dGggaXMgMgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXNbMF0uZmlsZU5hbWUgaXMgIm1v
emlsbGEuZ2lmIgogRkFJTCBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXNbMF0uZmlsZVNpemUgc2hv
dWxkIGJlIDI1OTMuIFdhcyAwLgpAQCAtNjcsMzAgKzg4LDQyIEBAIEZBSUwgZXZlbnQuZGF0YVRy
YW5zZmVyLmZpbGVzWzFdLmZpbGVTaXoKIEZJWE1FOiBXZSBzaG91bGQgbm90IGFsbG93IGVsZW1l
bnQgdG8gYWNjZXB0IGRyb3BzIGluY2x1ZGluZyBkaXJlY3RvcmllcyB1bmxlc3MgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI1ODc5IGlzIGZpeGVkIHRvIG1ha2UgZGly
ZWN0b3J5IEZpbGUgb2JqZWN0cyB1c2VmdWwgZnJvbSBKYXZhU2NyaXB0LiAgVGhlIHBhZ2UgaXMg
Z2l2ZW4gRmlsZSBvYmplY3RzIGNvcnJlc3BvbmRpbmcgdG8gZGlyZWN0b3JpZXMsIGJ1dCBmb3Jt
IHN1Ym1pc3Npb24gYW5kIHhoci5zZW5kKCkgd2lsbCBmYWlsLgogRHJhZyBkcm9wIGEgZGlyZWN0
b3J5IG9udG8gYW4gZWxlbWVudDoKIE9uIGRyYWdlbnRlcjoKK1BBU1MgZXZlbnQuZGF0YVRyYW5z
ZmVyLnR5cGVzIGNvbnRhaW5zIEZpbGVzLgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMu
bGVuZ3RoIGlzIDAKIE9uIGRyYWdvdmVyOgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIudHlwZXMg
Y29udGFpbnMgRmlsZXMuCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGggaXMg
MAogT24gZHJhZ292ZXI6CitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcyBjb250YWlucyBG
aWxlcy4KIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aCBpcyAwCiBPbiBkcm9w
OgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIudHlwZXMgY29udGFpbnMgRmlsZXMuCiBGQUlMIGV2
ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGggc2hvdWxkIGJlIDAuIFdhcyAxLgogRHJhZyBk
cm9wIGEgZmlsZSBhbmQgYSBkaXJlY3Rvcnkgb250byBhbiBlbGVtZW50OgogT24gZHJhZ2VudGVy
OgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIudHlwZXMgY29udGFpbnMgRmlsZXMuCiBQQVNTIGV2
ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGggaXMgMAogT24gZHJhZ292ZXI6CitQQVNTIGV2
ZW50LmRhdGFUcmFuc2Zlci50eXBlcyBjb250YWlucyBGaWxlcy4KIFBBU1MgZXZlbnQuZGF0YVRy
YW5zZmVyLmZpbGVzLmxlbmd0aCBpcyAwCiBPbiBkcmFnb3ZlcjoKK1BBU1MgZXZlbnQuZGF0YVRy
YW5zZmVyLnR5cGVzIGNvbnRhaW5zIEZpbGVzLgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZmls
ZXMubGVuZ3RoIGlzIDAKIE9uIGRyb3A6CitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcyBj
b250YWlucyBGaWxlcy4KIEZBSUwgZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aCBzaG91
bGQgYmUgMC4gV2FzIDIuCiBEcmFnIGRyb3AgYSBkaXJlY3RvcnkgYW5kIGEgZmlsZSBvbnRvIGFu
IGVsZW1lbnQ6CiBPbiBkcmFnZW50ZXI6CitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcyBj
b250YWlucyBGaWxlcy4KIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aCBpcyAw
CiBPbiBkcmFnb3ZlcjoKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzIGNvbnRhaW5zIEZp
bGVzLgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMubGVuZ3RoIGlzIDAKIE9uIGRyYWdv
dmVyOgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIudHlwZXMgY29udGFpbnMgRmlsZXMuCiBQQVNT
IGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGggaXMgMAogT24gZHJvcDoKK1BBU1MgZXZl
bnQuZGF0YVRyYW5zZmVyLnR5cGVzIGNvbnRhaW5zIEZpbGVzLgogRkFJTCBldmVudC5kYXRhVHJh
bnNmZXIuZmlsZXMubGVuZ3RoIHNob3VsZCBiZSAwLiBXYXMgMi4KIFBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKIApJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
bGlwYm9hcmQvcmVzb3VyY2VzL2NsaXBib2FyZC1maWxlLWFjY2Vzcy5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NsaXBib2FyZC9yZXNvdXJjZXMvY2xp
cGJvYXJkLWZpbGUtYWNjZXNzLmpzCShyZXZpc2lvbiA0NzgzOCkKKysrIExheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY2xpcGJvYXJkL3Jlc291cmNlcy9jbGlwYm9hcmQtZmlsZS1hY2Nl
c3MuanMJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0IEBACi1kZXNjcmlwdGlvbigiVGVzdHMg
YWNjZXNzIHRvIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcyIpOworZGVzY3JpcHRpb24oIlRlc3Rz
IGFjY2VzcyB0byBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMgYW5kIC50eXBlcyIpOwogCiB2YXIg
ZHJhZ1RhcmdldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogZHJhZ1RhcmdldC5p
bm5lckhUTUwgPSAiRHJhZyBoZXJlIgpAQCAtMTEsNiArMTEsNyBAQCBkb2N1bWVudC5ib2R5Lmlu
c2VydEJlZm9yZShkcmFnVGFyZ2V0LCBkCiBkcmFnVGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoImRy
YWdlbnRlciIsIGZ1bmN0aW9uKCkgewogICAgIGRlYnVnKCJPbiBkcmFnZW50ZXI6IikKICAgICBl
dmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9ICJjb3B5IjsKKyAgICBldmVudFNob3VsZENv
bnRhaW5UcmFuc2ZlclR5cGUoZXZlbnQsICJGaWxlcyIpOwogICAgIGZpbGVMaXN0U2hvdWxkQmUo
ImV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcyIsIFtdKTsKICAgICBldmVudC5wcmV2ZW50RGVmYXVs
dCgpOwogfSwgZmFsc2UpOwpAQCAtMTgsMTggKzE5LDIxIEBAIGRyYWdUYXJnZXQuYWRkRXZlbnRM
aXN0ZW5lcigiZHJhZ2VudGVyIiwKIGRyYWdUYXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292
ZXIiLCBmdW5jdGlvbigpIHsKICAgICBkZWJ1ZygiT24gZHJhZ292ZXI6IikKICAgICBldmVudC5k
YXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9ICJjb3B5IjsKKyAgICBldmVudFNob3VsZENvbnRhaW5U
cmFuc2ZlclR5cGUoZXZlbnQsICJGaWxlcyIpOwogICAgIGZpbGVMaXN0U2hvdWxkQmUoImV2ZW50
LmRhdGFUcmFuc2Zlci5maWxlcyIsIFtdKTsKICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwog
fSwgZmFsc2UpOwogCiBkcmFnVGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoImRyYWdsZWF2ZSIsIGZ1
bmN0aW9uKCkgewogICAgIGRlYnVnKCJPbiBkcmFnbGVhdmU6IikKKyAgICBldmVudFNob3VsZENv
bnRhaW5UcmFuc2ZlclR5cGUoZXZlbnQsICJGaWxlcyIpOwogICAgIGZpbGVMaXN0U2hvdWxkQmUo
ImV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcyIsIFtdKTsKIH0sIGZhbHNlKTsKIAogdmFyIGV4cGVj
dGVkRmlsZXNPbkRyb3A7CiBkcmFnVGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoImRyb3AiLCBmdW5j
dGlvbigpIHsKICAgICBkZWJ1ZygiT24gZHJvcDoiKQorICAgIGV2ZW50U2hvdWxkQ29udGFpblRy
YW5zZmVyVHlwZShldmVudCwgIkZpbGVzIik7CiAgICAgZmlsZUxpc3RTaG91bGRCZSgiZXZlbnQu
ZGF0YVRyYW5zZmVyLmZpbGVzIiwgZXhwZWN0ZWRGaWxlc09uRHJvcCk7CiAgICAgZXZlbnQucHJl
dmVudERlZmF1bHQoKTsKIH0sIGZhbHNlKTsKQEAgLTUwLDEwICs1NCwxOCBAQCBmdW5jdGlvbiBk
cmFnRmlsZXNPbnRvRHJhZ1RhcmdldChmaWxlcywgCiAgICAgZXZlbnRTZW5kZXIuYmVnaW5EcmFn
V2l0aEZpbGVzKGZpbGVzKTsKICAgICBtb3ZlTW91c2VUb0NlbnRlck9mRWxlbWVudChkcmFnVGFy
Z2V0KTsKICAgICBpZiAobGVhdmUgJiYgbGVhdmUgPT09IHRydWUpCi0gICAgICBtb3ZlTW91c2VU
b091dHNpZGVPZkVsZW1lbnQoZHJhZ1RhcmdldCk7CisgICAgICAgIG1vdmVNb3VzZVRvT3V0c2lk
ZU9mRWxlbWVudChkcmFnVGFyZ2V0KTsgICAgICAgIAogICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAo
KTsKIH0KIAorZnVuY3Rpb24gZXZlbnRTaG91bGRDb250YWluVHJhbnNmZXJUeXBlKGV2ZW50LCB0
eXBlU3RyaW5nKQoreworICAgaWYgKGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcy5pbmRleE9mKHR5
cGVTdHJpbmcpID09IC0xKQorICAgICAgIHRlc3RGYWlsZWQoImV2ZW50LmRhdGFUcmFuc2Zlci50
eXBlcyAiICsgdHlwZVN0cmluZyArICIgZXhwZWN0ZWQuIik7CisgICBlbHNlCisgICAgICAgdGVz
dFBhc3NlZCgiZXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzIGNvbnRhaW5zICIgKyB0eXBlU3RyaW5n
ICsgIi4iKTsKK30KKwogZnVuY3Rpb24gZmlsZUxpc3RTaG91bGRCZShmaWxlTGlzdFN0cmluZywg
ZmlsZXNBcnJheSkKIHsKICAgICBzaG91bGRCZShmaWxlTGlzdFN0cmluZyArICIubGVuZ3RoIiwg
IiIgKyBmaWxlc0FycmF5Lmxlbmd0aCk7Cg==
</data>
<flag name="review"
          id="19695"
          type_id="1"
          status="-"
          setter="eric"
    />
    <flag name="commit-queue"
          id="19702"
          type_id="3"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38704</attachid>
            <date>2009-08-27 17:38:45 -0700</date>
            <delta_ts>2009-08-27 18:38:20 -0700</delta_ts>
            <desc>Remove unintentional change.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>15118</size>
            <attacher name="noel gordon">noel.gordon</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NzgzOCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMDgtMjcgIE5vZWwgR29yZG9uICA8bm9lbC5nb3Jkb25AZ21h
aWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGRhdGFUcmFuc2Zlci50eXBlcygpIHNob3VsZCBpbmNsdWRlIHR5cGUgIkZpbGVzIiB3aGVuIGZp
bGVzIGFyZSBwcmVzZW50IGluIHRoZSBjbGlwYm9hcmQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODc4MAorCisgICAgICAgIEFkZCBkYXRhVHJhbnNm
ZXIgdHlwZSAiRmlsZXMiIHRvIHRoZSBjaHJvbWl1bSBwb3J0LiAgQWRkIGVzZWlkZWwncworICAg
ICAgICBwYXRjaCBmb3Igc2FtZSBmb3IgdGhlIG1hYyBwb3J0LgorCisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uY3BwOgorCiAyMDA5LTA4LTI3ICBQZXRlciBL
YXN0aW5nICA8cGthc3RpbmdAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmlj
IFNlaWRlbC4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21p
dW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJk
Q2hyb21pdW0uY3BwCShyZXZpc2lvbiA0NzgzOCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21p
dW0vQ2xpcGJvYXJkQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjUsNiArMTY1LDkg
QEAgSGFzaFNldDxTdHJpbmc+IENsaXBib2FyZENocm9taXVtOjp0eXBlcwogICAgIGlmICghbV9k
YXRhT2JqZWN0KQogICAgICAgICByZXR1cm4gcmVzdWx0czsKIAorICAgIGlmICghbV9kYXRhT2Jq
ZWN0LT5maWxlbmFtZXMuaXNFbXB0eSgpKQorICAgICAgICByZXN1bHRzLmFkZCgiRmlsZXMiKTsK
KwogICAgIGlmIChtX2RhdGFPYmplY3QtPnVybC5pc1ZhbGlkKCkpIHsKICAgICAgICAgcmVzdWx0
cy5hZGQoIlVSTCIpOwogICAgICAgICByZXN1bHRzLmFkZCgidGV4dC91cmktbGlzdCIpOwpJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ2xpcGJvYXJkTWFjLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdl
YkNvcmUvcGxhdGZvcm0vbWFjL0NsaXBib2FyZE1hYy5tbQkocmV2aXNpb24gNDc4MzgpCisrKyBX
ZWJDb3JlL3BsYXRmb3JtL21hYy9DbGlwYm9hcmRNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTYz
LDcgKzYzLDcgQEAgYm9vbCBDbGlwYm9hcmRNYWM6Omhhc0RhdGEoKQogICAgIHJldHVybiBtX3Bh
c3RlYm9hcmQgJiYgW21fcGFzdGVib2FyZC5nZXQoKSB0eXBlc10gJiYgW1ttX3Bhc3RlYm9hcmQu
Z2V0KCkgdHlwZXNdIGNvdW50XSA+IDA7CiB9CiAgICAgCi1zdGF0aWMgTlNTdHJpbmcgKmNvY29h
VHlwZUZyb21NSU1FVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCitzdGF0aWMgTlNTdHJpbmcgKmNv
Y29hVHlwZUZyb21IVE1MQ2xpcGJvYXJkVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCiB7CiAgICAg
U3RyaW5nIHFUeXBlID0gdHlwZS5zdHJpcFdoaXRlU3BhY2UoKTsKIApAQCAtOTMsMjQgKzkzLDM1
IEBAIHN0YXRpYyBOU1N0cmluZyAqY29jb2FUeXBlRnJvbU1JTUVUeXBlKGMKICAgICByZXR1cm4g
cVR5cGU7CiB9CiAKLXN0YXRpYyBTdHJpbmcgTUlNRVR5cGVGcm9tQ29jb2FUeXBlKE5TU3RyaW5n
ICp0eXBlKQorc3RhdGljIFN0cmluZyB1dGlUeXBlRnJvbUNvY29hVHlwZShOU1N0cmluZyAqdHlw
ZSkKIHsKLSAgICAvLyBVVEkgbWF5IG5vdCBkbyB0aGVzZSByaWdodCwgc28gbWFrZSBzdXJlIHdl
IGdldCB0aGUgcmlnaHQsIHByZWRpY3RhYmxlIHJlc3VsdAotICAgIGlmIChbdHlwZSBpc0VxdWFs
VG9TdHJpbmc6TlNTdHJpbmdQYm9hcmRUeXBlXSkKLSAgICAgICAgcmV0dXJuICJ0ZXh0L3BsYWlu
IjsKLSAgICBpZiAoW3R5cGUgaXNFcXVhbFRvU3RyaW5nOk5TVVJMUGJvYXJkVHlwZV0gfHwgW3R5
cGUgaXNFcXVhbFRvU3RyaW5nOk5TRmlsZW5hbWVzUGJvYXJkVHlwZV0pCi0gICAgICAgIHJldHVy
biAidGV4dC91cmktbGlzdCI7Ci0gICAgCi0gICAgLy8gTm93IHRyeSB0aGUgZ2VuZXJhbCBVVEkg
bWVjaGFuaXNtCiAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiB1dGlUeXBlKEFkb3B0Q0YsIFVU
VHlwZUNyZWF0ZVByZWZlcnJlZElkZW50aWZpZXJGb3JUYWcoa1VUVGFnQ2xhc3NOU1Bib2FyZFR5
cGUsIChDRlN0cmluZ1JlZil0eXBlLCBOVUxMKSk7CiAgICAgaWYgKHV0aVR5cGUpIHsKICAgICAg
ICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBtaW1lVHlwZShBZG9wdENGLCBVVFR5cGVDb3B5UHJl
ZmVycmVkVGFnV2l0aENsYXNzKHV0aVR5cGUuZ2V0KCksIGtVVFRhZ0NsYXNzTUlNRVR5cGUpKTsK
ICAgICAgICAgaWYgKG1pbWVUeXBlKQogICAgICAgICAgICAgcmV0dXJuIFN0cmluZyhtaW1lVHlw
ZS5nZXQoKSk7CiAgICAgfQorICAgIHJldHVybiBTdHJpbmcoKTsKK30KIAotICAgIC8vIE5vIG1h
cHBpbmcsIGp1c3QgcGFzcyB0aGUgd2hvbGUgc3RyaW5nIHRob3VnaAotICAgIHJldHVybiB0eXBl
Oworc3RhdGljIHZvaWQgYWRkSFRNTENsaXBib2FyZFR5cGVzRm9yQ29jb2FUeXBlKEhhc2hTZXQ8
U3RyaW5nPiYgcmVzdWx0VHlwZXMsIE5TU3RyaW5nICpjb2NvYVR5cGUpCit7CisgICAgLy8gVVRJ
IG1heSBub3QgZG8gdGhlc2UgcmlnaHQsIHNvIG1ha2Ugc3VyZSB3ZSBnZXQgdGhlIHJpZ2h0LCBw
cmVkaWN0YWJsZSByZXN1bHQKKyAgICBpZiAoW2NvY29hVHlwZSBpc0VxdWFsVG9TdHJpbmc6TlNT
dHJpbmdQYm9hcmRUeXBlXSkKKyAgICAgICAgcmVzdWx0VHlwZXMuYWRkKCJ0ZXh0L3BsYWluIik7
CisgICAgZWxzZSBpZiAoW2NvY29hVHlwZSBpc0VxdWFsVG9TdHJpbmc6TlNVUkxQYm9hcmRUeXBl
XSkKKyAgICAgICAgcmVzdWx0VHlwZXMuYWRkKCJ0ZXh0L3VyaS1saXN0Iik7CisgICAgZWxzZSBp
ZiAoW2NvY29hVHlwZSBpc0VxdWFsVG9TdHJpbmc6TlNGaWxlbmFtZXNQYm9hcmRUeXBlXSkgewor
ICAgICAgICAvLyBJdCBpcyB1bmtub3duIGlmIE5TRmlsZW5hbWVzUGJvYXJkVHlwZSBhbHdheXMg
aW1wbGllcyBOU1VSTFBib2FyZFR5cGUgaW4gQ29jb2EsCisgICAgICAgIC8vIGJ1dCBOU0ZpbGVu
YW1lc1Bib2FyZFR5cGUgc2hvdWxkIGltcGx5IGJvdGggJ3RleHQvdXJpLWxpc3QnIGFuZCAnRmls
ZXMnCisgICAgICAgIHJlc3VsdFR5cGVzLmFkZCgidGV4dC91cmktbGlzdCIpOworICAgICAgICBy
ZXN1bHRUeXBlcy5hZGQoIkZpbGVzIik7CisgICAgfSBlbHNlIGlmIChTdHJpbmcgdXRpVHlwZSA9
IHV0aVR5cGVGcm9tQ29jb2FUeXBlKGNvY29hVHlwZSkpCisgICAgICAgIHJlc3VsdFR5cGVzLmFk
ZCh1dGlUeXBlKTsKKyAgICBlbHNlIHsKKyAgICAgICAgLy8gTm8gbWFwcGluZywganVzdCBwYXNz
IHRoZSB3aG9sZSBzdHJpbmcgdGhvdWdoCisgICAgICAgIHJlc3VsdFR5cGVzLmFkZChjb2NvYVR5
cGUpOworICAgIH0KIH0KIAogdm9pZCBDbGlwYm9hcmRNYWM6OmNsZWFyRGF0YShjb25zdCBTdHJp
bmcmIHR5cGUpCkBAIC0xMjAsNyArMTMxLDcgQEAgdm9pZCBDbGlwYm9hcmRNYWM6OmNsZWFyRGF0
YShjb25zdCBTdHJpbgogCiAgICAgLy8gbm90ZSBOU1Bhc3RlYm9hcmQgZW5mb3JjZXMgY2hhbmdl
Q291bnQgaXRzZWxmIG9uIHdyaXRpbmcgLSBjYW4ndCB3cml0ZSBpZiBub3QgdGhlIG93bmVyCiAK
LSAgICBOU1N0cmluZyAqY29jb2FUeXBlID0gY29jb2FUeXBlRnJvbU1JTUVUeXBlKHR5cGUpOwor
ICAgIE5TU3RyaW5nICpjb2NvYVR5cGUgPSBjb2NvYVR5cGVGcm9tSFRNTENsaXBib2FyZFR5cGUo
dHlwZSk7CiAgICAgaWYgKGNvY29hVHlwZSkKICAgICAgICAgW21fcGFzdGVib2FyZC5nZXQoKSBz
ZXRTdHJpbmc6QCIiIGZvclR5cGU6Y29jb2FUeXBlXTsKIH0KQEAgLTE4NywxMiArMTk4LDEyIEBA
IFN0cmluZyBDbGlwYm9hcmRNYWM6OmdldERhdGEoY29uc3QgU3RyaW4KICAgICBpZiAocG9saWN5
KCkgIT0gQ2xpcGJvYXJkUmVhZGFibGUpCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKIAotICAg
IE5TU3RyaW5nICpjb2NvYVR5cGUgPSBjb2NvYVR5cGVGcm9tTUlNRVR5cGUodHlwZSk7CisgICAg
TlNTdHJpbmcgKmNvY29hVHlwZSA9IGNvY29hVHlwZUZyb21IVE1MQ2xpcGJvYXJkVHlwZSh0eXBl
KTsKICAgICBOU1N0cmluZyAqY29jb2FWYWx1ZSA9IG5pbDsKIAogICAgIC8vIEdyYWIgdGhlIHZh
bHVlIG9mZiB0aGUgcGFzdGVib2FyZCBjb3JyZXNwb25kaW5nIHRvIHRoZSBjb2NvYVR5cGUKICAg
ICBpZiAoW2NvY29hVHlwZSBpc0VxdWFsVG9TdHJpbmc6TlNVUkxQYm9hcmRUeXBlXSkgewotICAg
ICAgICAvLyAiVVJMIiBhbmQgInRleHQvdXJsLWxpc3QiIGJvdGggbWFwIHRvIE5TVVJMUGJvYXJk
VHlwZSBpbiBjb2NvYVR5cGVGcm9tTUlNRVR5cGUoKSwgIlVSTCIgb25seSB3YW50cyB0aGUgZmly
c3QgVVJMCisgICAgICAgIC8vICJVUkwiIGFuZCAidGV4dC91cmwtbGlzdCIgYm90aCBtYXAgdG8g
TlNVUkxQYm9hcmRUeXBlIGluIGNvY29hVHlwZUZyb21IVE1MQ2xpcGJvYXJkVHlwZSgpLCAiVVJM
IiBvbmx5IHdhbnRzIHRoZSBmaXJzdCBVUkwKICAgICAgICAgYm9vbCBvbmx5Rmlyc3RVUkwgPSAo
dHlwZSA9PSAiVVJMIik7CiAgICAgICAgIE5TQXJyYXkgKmFic29sdXRlVVJMcyA9IGFic29sdXRl
VVJMc0Zyb21QYXN0ZWJvYXJkKG1fcGFzdGVib2FyZC5nZXQoKSwgb25seUZpcnN0VVJMKTsKICAg
ICAgICAgY29jb2FWYWx1ZSA9IFthYnNvbHV0ZVVSTHMgY29tcG9uZW50c0pvaW5lZEJ5U3RyaW5n
OkAiXG4iXTsKQEAgLTIxNyw3ICsyMjgsNyBAQCBib29sIENsaXBib2FyZE1hYzo6c2V0RGF0YShj
b25zdCBTdHJpbmcgCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAvLyBub3RlIE5TUGFzdGVi
b2FyZCBlbmZvcmNlcyBjaGFuZ2VDb3VudCBpdHNlbGYgb24gd3JpdGluZyAtIGNhbid0IHdyaXRl
IGlmIG5vdCB0aGUgb3duZXIKIAotICAgIE5TU3RyaW5nICpjb2NvYVR5cGUgPSBjb2NvYVR5cGVG
cm9tTUlNRVR5cGUodHlwZSk7CisgICAgTlNTdHJpbmcgKmNvY29hVHlwZSA9IGNvY29hVHlwZUZy
b21IVE1MQ2xpcGJvYXJkVHlwZSh0eXBlKTsKICAgICBOU1N0cmluZyAqY29jb2FEYXRhID0gZGF0
YTsKIAogICAgIGlmIChbY29jb2FUeXBlIGlzRXF1YWxUb1N0cmluZzpOU1VSTFBib2FyZFR5cGVd
KSB7CkBAIC0yNTgsMTUgKzI2OSwxNiBAQCBIYXNoU2V0PFN0cmluZz4gQ2xpcGJvYXJkTWFjOjp0
eXBlcygpIGNvCiAKICAgICBIYXNoU2V0PFN0cmluZz4gcmVzdWx0OwogICAgIE5TVUludGVnZXIg
Y291bnQgPSBbdHlwZXMgY291bnRdOworICAgIC8vIEZJWE1FOiBUaGlzIGxvb3AgY291bGQgYmUg
c3BsaXQgaW50byB0d28gc3RhZ2VzLiBPbmUgd2hpY2ggYWRkcyBhbGwgdGhlIEhUTUw1IHNwZWNp
ZmllZCB0eXBlcworICAgIC8vIGFuZCBhIHNlY29uZCB3aGljaCBhZGRzIGFsbCB0aGUgZXh0cmEg
dHlwZXMgZnJvbSB0aGUgY29jb2EgY2xpcGJvYXJkICh3aGljaCBpcyBNYWMtb25seSBiZWhhdmlv
cikuCiAgICAgZm9yIChOU1VJbnRlZ2VyIGkgPSAwOyBpIDwgY291bnQ7IGkrKykgewogICAgICAg
ICBOU1N0cmluZyAqcGJUeXBlID0gW3R5cGVzIG9iamVjdEF0SW5kZXg6aV07CiAgICAgICAgIGlm
IChbcGJUeXBlIGlzRXF1YWxUb1N0cmluZzpAIk5lWFQgcGxhaW4gYXNjaWkgcGFzdGVib2FyZCB0
eXBlIl0pCiAgICAgICAgICAgICBjb250aW51ZTsgICAvLyBza2lwIHRoaXMgYW5jaWVudCB0eXBl
IHRoYXQgZ2V0cyBhdXRvLXN1cHBsaWVkIGJ5IHNvbWUgc3lzdGVtIGNvbnZlcnNpb24KIAotICAg
ICAgICBTdHJpbmcgc3RyID0gTUlNRVR5cGVGcm9tQ29jb2FUeXBlKHBiVHlwZSk7Ci0gICAgICAg
IGlmICghcmVzdWx0LmNvbnRhaW5zKHN0cikpCi0gICAgICAgICAgICByZXN1bHQuYWRkKHN0cik7
CisgICAgICAgIGFkZEhUTUxDbGlwYm9hcmRUeXBlc0ZvckNvY29hVHlwZShyZXN1bHQsIHBiVHlw
ZSk7CiAgICAgfQorCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApJbmRleDogTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24g
NDc4MzgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxNSBAQAorMjAwOS0wOC0yNyAgTm9lbCBHb3Jkb24gIDxub2VsLmdvcmRvbkBnbWFpbC5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgZGF0YVRy
YW5zZmVyLnR5cGVzKCkgc2hvdWxkIGluY2x1ZGUgdHlwZSAiRmlsZXMiIHdoZW4gZmlsZXMgYXJl
IHByZXNlbnQgaW4gdGhlIGNsaXBib2FyZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTI4NzgwCisKKyAgICAgICAgVGVzdCBkYXRhVHJhbnNmZXIudHlw
ZXMgIkZpbGVzIiBhY2Nlc3MgZm9yIGFsbCBwb3J0cy4KKworICAgICAgICAqIGh0dHAvdGVzdHMv
c2VjdXJpdHkvY2xpcGJvYXJkL2NsaXBib2FyZC1maWxlLWFjY2Vzcy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jbGlwYm9hcmQvcmVzb3VyY2VzL2NsaXBib2Fy
ZC1maWxlLWFjY2Vzcy5qczoKKwogMjAwOS0wOC0yNyAgRHJldyBXaWxzb24gIDxhdHdpbHNvbkBn
b29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIExldmluLgpJbmRleDogTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jbGlwYm9hcmQvY2xpcGJvYXJkLWZpbGUtYWNj
ZXNzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NsaXBib2FyZC9jbGlwYm9hcmQtZmlsZS1hY2Nlc3MtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA0NzgzOCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY2xpcGJvYXJk
L2NsaXBib2FyZC1maWxlLWFjY2Vzcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEs
NTEgKzEsNjggQEAKLVRlc3RzIGFjY2VzcyB0byBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMKK1Rl
c3RzIGFjY2VzcyB0byBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMgYW5kIC50eXBlcwogCiBPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAogRHJhZ2dpbmcgbm8gZmlsZXMgc2hvdWxkIHJldHVy
biBhbiBlbXB0eSBmaWxlIGxpc3QgKGFyYml0cmFyeSBpbXBsZW1lbnRhdGlvbiBkZXRhaWwpOgog
T24gZHJhZ2VudGVyOgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIudHlwZXMgY29udGFpbnMgRmls
ZXMuCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGggaXMgMAogT24gZHJhZ292
ZXI6CitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcyBjb250YWlucyBGaWxlcy4KIFBBU1Mg
ZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aCBpcyAwCiBPbiBkcm9wOgorUEFTUyBldmVu
dC5kYXRhVHJhbnNmZXIudHlwZXMgY29udGFpbnMgRmlsZXMuCiBQQVNTIGV2ZW50LmRhdGFUcmFu
c2Zlci5maWxlcy5sZW5ndGggaXMgMAogRHJhZyBkcm9wIGEgc2luZ2xlIChub24tZXhpc3RhbnQp
IGZpbGUgb250byBhbiBlbGVtZW50OgogT24gZHJhZ2VudGVyOgorUEFTUyBldmVudC5kYXRhVHJh
bnNmZXIudHlwZXMgY29udGFpbnMgRmlsZXMuCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxl
cy5sZW5ndGggaXMgMAogT24gZHJhZ292ZXI6CitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci50eXBl
cyBjb250YWlucyBGaWxlcy4KIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aCBp
cyAwCiBPbiBkcmFnb3ZlcjoKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzIGNvbnRhaW5z
IEZpbGVzLgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMubGVuZ3RoIGlzIDAKIE9uIGRy
b3A6CitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcyBjb250YWlucyBGaWxlcy4KIFBBU1Mg
ZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aCBpcyAxCiBQQVNTIGV2ZW50LmRhdGFUcmFu
c2Zlci5maWxlc1swXS5maWxlTmFtZSBpcyAiRFJURmFrZUZpbGUiCiBQQVNTIGV2ZW50LmRhdGFU
cmFuc2Zlci5maWxlc1swXS5maWxlU2l6ZSBpcyAwCiBGSVhNRTogRmlsZS5maWxlU2l6ZSBhbHdh
eXMgcmV0dXJucyAwIGZvciBmaWxlcyBkcm9wcGVkIGJ5IGV2ZW50U2VuZGVyLmJlZ2luRHJhZ1dp
dGhGaWxlcyBmcm9tIGh0dHAgdGVzdHM6ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjU5MDkKIERyYWcgZmlsZXMgb3ZlciBhbiBlbGVtZW50LCBsZWF2ZSB0aGF0IGVs
ZW1lbnQgYW5kIHJlbGVhc2UgdGhlIG1vdXNlOgogT24gZHJhZ2VudGVyOgorUEFTUyBldmVudC5k
YXRhVHJhbnNmZXIudHlwZXMgY29udGFpbnMgRmlsZXMuCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zl
ci5maWxlcy5sZW5ndGggaXMgMAogT24gZHJhZ292ZXI6CitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zl
ci50eXBlcyBjb250YWlucyBGaWxlcy4KIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzLmxl
bmd0aCBpcyAwCiBPbiBkcmFnbGVhdmU6CitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcyBj
b250YWlucyBGaWxlcy4KIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aCBpcyAw
CiBEcmFnIGRyb3AgYSByZWFsIGZpbGUgb250byBhbiBlbGVtZW50OgogT24gZHJhZ2VudGVyOgor
UEFTUyBldmVudC5kYXRhVHJhbnNmZXIudHlwZXMgY29udGFpbnMgRmlsZXMuCiBQQVNTIGV2ZW50
LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGggaXMgMAogT24gZHJhZ292ZXI6CitQQVNTIGV2ZW50
LmRhdGFUcmFuc2Zlci50eXBlcyBjb250YWlucyBGaWxlcy4KIFBBU1MgZXZlbnQuZGF0YVRyYW5z
ZmVyLmZpbGVzLmxlbmd0aCBpcyAwCiBPbiBkcm9wOgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIu
dHlwZXMgY29udGFpbnMgRmlsZXMuCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5n
dGggaXMgMQogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXNbMF0uZmlsZU5hbWUgaXMgImFw
cGxlLmdpZiIKIEZBSUwgZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzWzBdLmZpbGVTaXplIHNob3Vs
ZCBiZSAxNDc2LiBXYXMgMC4KIERyYWcgZHJvcCB0d28gZmlsZXMgb250byBhbiBlbGVtZW50Ogog
T24gZHJhZ2VudGVyOgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIudHlwZXMgY29udGFpbnMgRmls
ZXMuCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGggaXMgMAogT24gZHJhZ292
ZXI6CitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcyBjb250YWlucyBGaWxlcy4KIFBBU1Mg
ZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aCBpcyAwCiBPbiBkcmFnb3ZlcjoKK1BBU1Mg
ZXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzIGNvbnRhaW5zIEZpbGVzLgogUEFTUyBldmVudC5kYXRh
VHJhbnNmZXIuZmlsZXMubGVuZ3RoIGlzIDAKIE9uIGRyb3A6CitQQVNTIGV2ZW50LmRhdGFUcmFu
c2Zlci50eXBlcyBjb250YWlucyBGaWxlcy4KIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVz
Lmxlbmd0aCBpcyAyCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlc1swXS5maWxlTmFtZSBp
cyAiYXBwbGUuZ2lmIgogRkFJTCBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXNbMF0uZmlsZVNpemUg
c2hvdWxkIGJlIDE0NzYuIFdhcyAwLgpAQCAtNTMsMTIgKzcwLDE2IEBAIFBBU1MgZXZlbnQuZGF0
YVRyYW5zZmVyLmZpbGVzWzFdLmZpbGVOYW0KIEZBSUwgZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVz
WzFdLmZpbGVTaXplIHNob3VsZCBiZSAyNTkzLiBXYXMgMC4KIERyYWcgZHJvcCB0d28gZmlsZXMg
aW4gcmV2ZXJzZSBhbHBoYWJldGljYWwgb3JkZXIgb250byBhbiBlbGVtZW50OgogT24gZHJhZ2Vu
dGVyOgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIudHlwZXMgY29udGFpbnMgRmlsZXMuCiBQQVNT
IGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGggaXMgMAogT24gZHJhZ292ZXI6CitQQVNT
IGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcyBjb250YWlucyBGaWxlcy4KIFBBU1MgZXZlbnQuZGF0
YVRyYW5zZmVyLmZpbGVzLmxlbmd0aCBpcyAwCiBPbiBkcmFnb3ZlcjoKK1BBU1MgZXZlbnQuZGF0
YVRyYW5zZmVyLnR5cGVzIGNvbnRhaW5zIEZpbGVzLgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIu
ZmlsZXMubGVuZ3RoIGlzIDAKIE9uIGRyb3A6CitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci50eXBl
cyBjb250YWlucyBGaWxlcy4KIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aCBp
cyAyCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlc1swXS5maWxlTmFtZSBpcyAibW96aWxs
YS5naWYiCiBGQUlMIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlc1swXS5maWxlU2l6ZSBzaG91bGQg
YmUgMjU5My4gV2FzIDAuCkBAIC02NywzMCArODgsNDIgQEAgRkFJTCBldmVudC5kYXRhVHJhbnNm
ZXIuZmlsZXNbMV0uZmlsZVNpegogRklYTUU6IFdlIHNob3VsZCBub3QgYWxsb3cgZWxlbWVudCB0
byBhY2NlcHQgZHJvcHMgaW5jbHVkaW5nIGRpcmVjdG9yaWVzIHVubGVzcyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU4NzkgaXMgZml4ZWQgdG8gbWFrZSBkaXJlY3Rv
cnkgRmlsZSBvYmplY3RzIHVzZWZ1bCBmcm9tIEphdmFTY3JpcHQuICBUaGUgcGFnZSBpcyBnaXZl
biBGaWxlIG9iamVjdHMgY29ycmVzcG9uZGluZyB0byBkaXJlY3RvcmllcywgYnV0IGZvcm0gc3Vi
bWlzc2lvbiBhbmQgeGhyLnNlbmQoKSB3aWxsIGZhaWwuCiBEcmFnIGRyb3AgYSBkaXJlY3Rvcnkg
b250byBhbiBlbGVtZW50OgogT24gZHJhZ2VudGVyOgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIu
dHlwZXMgY29udGFpbnMgRmlsZXMuCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5n
dGggaXMgMAogT24gZHJhZ292ZXI6CitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcyBjb250
YWlucyBGaWxlcy4KIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aCBpcyAwCiBP
biBkcmFnb3ZlcjoKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzIGNvbnRhaW5zIEZpbGVz
LgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMubGVuZ3RoIGlzIDAKIE9uIGRyb3A6CitQ
QVNTIGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcyBjb250YWlucyBGaWxlcy4KIEZBSUwgZXZlbnQu
ZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aCBzaG91bGQgYmUgMC4gV2FzIDEuCiBEcmFnIGRyb3Ag
YSBmaWxlIGFuZCBhIGRpcmVjdG9yeSBvbnRvIGFuIGVsZW1lbnQ6CiBPbiBkcmFnZW50ZXI6CitQ
QVNTIGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcyBjb250YWlucyBGaWxlcy4KIFBBU1MgZXZlbnQu
ZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aCBpcyAwCiBPbiBkcmFnb3ZlcjoKK1BBU1MgZXZlbnQu
ZGF0YVRyYW5zZmVyLnR5cGVzIGNvbnRhaW5zIEZpbGVzLgogUEFTUyBldmVudC5kYXRhVHJhbnNm
ZXIuZmlsZXMubGVuZ3RoIGlzIDAKIE9uIGRyYWdvdmVyOgorUEFTUyBldmVudC5kYXRhVHJhbnNm
ZXIudHlwZXMgY29udGFpbnMgRmlsZXMuCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5s
ZW5ndGggaXMgMAogT24gZHJvcDoKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzIGNvbnRh
aW5zIEZpbGVzLgogRkFJTCBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMubGVuZ3RoIHNob3VsZCBi
ZSAwLiBXYXMgMi4KIERyYWcgZHJvcCBhIGRpcmVjdG9yeSBhbmQgYSBmaWxlIG9udG8gYW4gZWxl
bWVudDoKIE9uIGRyYWdlbnRlcjoKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzIGNvbnRh
aW5zIEZpbGVzLgogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMubGVuZ3RoIGlzIDAKIE9u
IGRyYWdvdmVyOgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIudHlwZXMgY29udGFpbnMgRmlsZXMu
CiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGggaXMgMAogT24gZHJhZ292ZXI6
CitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcyBjb250YWlucyBGaWxlcy4KIFBBU1MgZXZl
bnQuZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aCBpcyAwCiBPbiBkcm9wOgorUEFTUyBldmVudC5k
YXRhVHJhbnNmZXIudHlwZXMgY29udGFpbnMgRmlsZXMuCiBGQUlMIGV2ZW50LmRhdGFUcmFuc2Zl
ci5maWxlcy5sZW5ndGggc2hvdWxkIGJlIDAuIFdhcyAyLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQogCkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NsaXBi
b2FyZC9yZXNvdXJjZXMvY2xpcGJvYXJkLWZpbGUtYWNjZXNzLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY2xpcGJvYXJkL3Jlc291cmNlcy9jbGlwYm9h
cmQtZmlsZS1hY2Nlc3MuanMJKHJldmlzaW9uIDQ3ODM4KQorKysgTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jbGlwYm9hcmQvcmVzb3VyY2VzL2NsaXBib2FyZC1maWxlLWFjY2Vzcy5q
cwkod29ya2luZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLWRlc2NyaXB0aW9uKCJUZXN0cyBhY2Nl
c3MgdG8gZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzIik7CitkZXNjcmlwdGlvbigiVGVzdHMgYWNj
ZXNzIHRvIGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcyBhbmQgLnR5cGVzIik7CiAKIHZhciBkcmFn
VGFyZ2V0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiBkcmFnVGFyZ2V0LmlubmVy
SFRNTCA9ICJEcmFnIGhlcmUiCkBAIC0xMSw2ICsxMSw3IEBAIGRvY3VtZW50LmJvZHkuaW5zZXJ0
QmVmb3JlKGRyYWdUYXJnZXQsIGQKIGRyYWdUYXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ2Vu
dGVyIiwgZnVuY3Rpb24oKSB7CiAgICAgZGVidWcoIk9uIGRyYWdlbnRlcjoiKQogICAgIGV2ZW50
LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0ID0gImNvcHkiOworICAgIGV2ZW50U2hvdWxkQ29udGFp
blRyYW5zZmVyVHlwZShldmVudCwgIkZpbGVzIik7CiAgICAgZmlsZUxpc3RTaG91bGRCZSgiZXZl
bnQuZGF0YVRyYW5zZmVyLmZpbGVzIiwgW10pOwogICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7
CiB9LCBmYWxzZSk7CkBAIC0xOCwxOCArMTksMjEgQEAgZHJhZ1RhcmdldC5hZGRFdmVudExpc3Rl
bmVyKCJkcmFnZW50ZXIiLAogZHJhZ1RhcmdldC5hZGRFdmVudExpc3RlbmVyKCJkcmFnb3ZlciIs
IGZ1bmN0aW9uKCkgewogICAgIGRlYnVnKCJPbiBkcmFnb3ZlcjoiKQogICAgIGV2ZW50LmRhdGFU
cmFuc2Zlci5kcm9wRWZmZWN0ID0gImNvcHkiOworICAgIGV2ZW50U2hvdWxkQ29udGFpblRyYW5z
ZmVyVHlwZShldmVudCwgIkZpbGVzIik7CiAgICAgZmlsZUxpc3RTaG91bGRCZSgiZXZlbnQuZGF0
YVRyYW5zZmVyLmZpbGVzIiwgW10pOwogICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiB9LCBm
YWxzZSk7CiAKIGRyYWdUYXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ2xlYXZlIiwgZnVuY3Rp
b24oKSB7CiAgICAgZGVidWcoIk9uIGRyYWdsZWF2ZToiKQorICAgIGV2ZW50U2hvdWxkQ29udGFp
blRyYW5zZmVyVHlwZShldmVudCwgIkZpbGVzIik7CiAgICAgZmlsZUxpc3RTaG91bGRCZSgiZXZl
bnQuZGF0YVRyYW5zZmVyLmZpbGVzIiwgW10pOwogfSwgZmFsc2UpOwogCiB2YXIgZXhwZWN0ZWRG
aWxlc09uRHJvcDsKIGRyYWdUYXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigiZHJvcCIsIGZ1bmN0aW9u
KCkgewogICAgIGRlYnVnKCJPbiBkcm9wOiIpCisgICAgZXZlbnRTaG91bGRDb250YWluVHJhbnNm
ZXJUeXBlKGV2ZW50LCAiRmlsZXMiKTsKICAgICBmaWxlTGlzdFNob3VsZEJlKCJldmVudC5kYXRh
VHJhbnNmZXIuZmlsZXMiLCBleHBlY3RlZEZpbGVzT25Ecm9wKTsKICAgICBldmVudC5wcmV2ZW50
RGVmYXVsdCgpOwogfSwgZmFsc2UpOwpAQCAtNTAsMTAgKzU0LDE4IEBAIGZ1bmN0aW9uIGRyYWdG
aWxlc09udG9EcmFnVGFyZ2V0KGZpbGVzLCAKICAgICBldmVudFNlbmRlci5iZWdpbkRyYWdXaXRo
RmlsZXMoZmlsZXMpOwogICAgIG1vdmVNb3VzZVRvQ2VudGVyT2ZFbGVtZW50KGRyYWdUYXJnZXQp
OwogICAgIGlmIChsZWF2ZSAmJiBsZWF2ZSA9PT0gdHJ1ZSkKLSAgICAgIG1vdmVNb3VzZVRvT3V0
c2lkZU9mRWxlbWVudChkcmFnVGFyZ2V0KTsKKyAgICAgICAgbW92ZU1vdXNlVG9PdXRzaWRlT2ZF
bGVtZW50KGRyYWdUYXJnZXQpOwogICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKIH0KIAorZnVu
Y3Rpb24gZXZlbnRTaG91bGRDb250YWluVHJhbnNmZXJUeXBlKGV2ZW50LCB0eXBlU3RyaW5nKQor
eworICAgaWYgKGV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcy5pbmRleE9mKHR5cGVTdHJpbmcpID09
IC0xKQorICAgICAgIHRlc3RGYWlsZWQoImV2ZW50LmRhdGFUcmFuc2Zlci50eXBlcyAiICsgdHlw
ZVN0cmluZyArICIgZXhwZWN0ZWQuIik7CisgICBlbHNlCisgICAgICAgdGVzdFBhc3NlZCgiZXZl
bnQuZGF0YVRyYW5zZmVyLnR5cGVzIGNvbnRhaW5zICIgKyB0eXBlU3RyaW5nICsgIi4iKTsKK30K
KwogZnVuY3Rpb24gZmlsZUxpc3RTaG91bGRCZShmaWxlTGlzdFN0cmluZywgZmlsZXNBcnJheSkK
IHsKICAgICBzaG91bGRCZShmaWxlTGlzdFN0cmluZyArICIubGVuZ3RoIiwgIiIgKyBmaWxlc0Fy
cmF5Lmxlbmd0aCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>