<?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>58456</bug_id>
          
          <creation_ts>2011-04-13 10:47:20 -0700</creation_ts>
          <short_desc>Add external file type enum and expose factory function for creating FileEntry and DirectoryEntry instances from Chromium side</short_desc>
          <delta_ts>2011-04-15 08:22:51 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Other</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>0</everconfirmed>
          <reporter name="Zelidrag Hornung">zelidrag</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ericu</cc>
    
    <cc>fishd</cc>
    
    <cc>levin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>384998</commentid>
    <comment_count>0</comment_count>
    <who name="Zelidrag Hornung">zelidrag</who>
    <bug_when>2011-04-13 10:47:20 -0700</bug_when>
    <thetext>We need to expose a factory function for creating FileEntry and DirectoryEntry instances from Chromium side. These object can now be created as payload in one of Chromium extension events. (see details at http://codereview.chromium.org/6749021/).

The patch is coming in few min.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385076</commentid>
    <comment_count>1</comment_count>
      <attachid>89418</attachid>
    <who name="Zelidrag Hornung">zelidrag</who>
    <bug_when>2011-04-13 11:47:56 -0700</bug_when>
    <thetext>Created attachment 89418
Added factory function for creating File- and DirectoryEntry objects

Added factory function for creating File- and DirectoryEntry objects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385083</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-13 11:50:17 -0700</bug_when>
    <thetext>Attachment 89418 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit/chromium/ChangeLog&apos;, u&apos;Sourc...&quot; exit_code: 1

Source/WebKit/chromium/src/WebFrameImpl.cpp:871:  Local variables should never be PassRefPtr (see http://webkit.org/coding/RefPtr.html).  [readability/pass_ptr] [5]
Source/WebKit/chromium/src/WebFrameImpl.cpp:872:  An else statement can be removed when the prior &quot;if&quot; concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
Total errors found: 2 in 4 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>385141</commentid>
    <comment_count>3</comment_count>
      <attachid>89435</attachid>
    <who name="Zelidrag Hornung">zelidrag</who>
    <bug_when>2011-04-13 12:27:52 -0700</bug_when>
    <thetext>Created attachment 89435
Added factory function for creating File- and DirectoryEntry objects from Chromium side

review comments from the previous CR are addresses</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385204</commentid>
    <comment_count>4</comment_count>
      <attachid>89435</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-04-13 14:11:42 -0700</bug_when>
    <thetext>Comment on attachment 89435
Added factory function for creating File- and DirectoryEntry objects from Chromium side

View in context: https://bugs.webkit.org/attachment.cgi?id=89435&amp;action=review

One question. Other than that it seems fine.

&gt; Source/WebKit/chromium/src/WebFrameImpl.cpp:871
&gt; +    RefPtr&lt;DOMFileSystemBase&gt; fileSystem = DOMFileSystem::create(frame()-&gt;document(), fileSystemName, AsyncFileSystemChromium::create(static_cast&lt;AsyncFileSystem::Type&gt;(fileSystemType), fileSystemPath));

Where is the error checking for invalid values of fileSystemType?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385205</commentid>
    <comment_count>5</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-04-13 14:12:15 -0700</bug_when>
    <thetext>Needs to go by Darin as well since you touch the chromium public api.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385209</commentid>
    <comment_count>6</comment_count>
    <who name="Zelidrag Hornung">zelidrag</who>
    <bug_when>2011-04-13 14:15:53 -0700</bug_when>
    <thetext>The error checking is exactly what I needed to avoid with this method (and one above) since it method will work for filesystem types that are not part of HTML5 standard. Exposed parts of the local file system in ChromeOS is such example.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385225</commentid>
    <comment_count>7</comment_count>
      <attachid>89435</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-04-13 14:21:20 -0700</bug_when>
    <thetext>Comment on attachment 89435
Added factory function for creating File- and DirectoryEntry objects from Chromium side

View in context: https://bugs.webkit.org/attachment.cgi?id=89435&amp;action=review

&gt; Source/WebKit/chromium/public/WebFrame.h:266
&gt;      virtual v8::Handle&lt;v8::Value&gt; createFileSystem(int type,

Wow, this createFileSystem API is really unusual.  Why do we have a method
like this returning a V8 object?  What are the allowed values for the int
type?  Peeking at the implementation, there should have been an enum defined
here.

I&apos;m confused about why we need either of these APIs.  Can&apos;t you do roughly the
same thing with executeScriptAndReturnValue in both of these cases?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385393</commentid>
    <comment_count>8</comment_count>
      <attachid>89502</attachid>
    <who name="Zelidrag Hornung">zelidrag</who>
    <bug_when>2011-04-13 17:30:54 -0700</bug_when>
    <thetext>Created attachment 89502
Added &apos;external&apos; file system enum, few Chromium factory functions for File API objects. 

As agreed with Darin, I have added &apos;external&apos; file system enum to match Pepper implementation ids for file system types.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385394</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-13 17:33:00 -0700</bug_when>
    <thetext>Attachment 89502 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebKit/chromium/public/WebFrame.h:268:  The parameter name &quot;type&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit/chromium/public/WebFrame.h:272:  The parameter name &quot;type&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebCore/fileapi/EntryBase.cpp:68:  A case label should not be indented, but line up with its switch statement.  [whitespace/indent] [4]
Source/WebKit/chromium/src/WebFrameImpl.h:112:  The parameter name &quot;type&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebKit/chromium/src/WebFrameImpl.h:115:  The parameter name &quot;type&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 5 in 15 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>385396</commentid>
    <comment_count>10</comment_count>
      <attachid>89503</attachid>
    <who name="Zelidrag Hornung">zelidrag</who>
    <bug_when>2011-04-13 17:37:31 -0700</bug_when>
    <thetext>Created attachment 89503
Added &apos;external&apos; file system enum, few Chromium factory functions for File API objects. 

added &apos;external&apos; file system enum, few Chromium factory functions for File API objects

fixed style issues from the previous patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385496</commentid>
    <comment_count>11</comment_count>
      <attachid>89503</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-04-13 21:38:36 -0700</bug_when>
    <thetext>Comment on attachment 89503
Added &apos;external&apos; file system enum, few Chromium factory functions for File API objects. 

R=me, but I also want Kinuko to review this before we commit it.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386075</commentid>
    <comment_count>12</comment_count>
      <attachid>89662</attachid>
    <who name="Zelidrag Hornung">zelidrag</who>
    <bug_when>2011-04-14 15:05:00 -0700</bug_when>
    <thetext>Created attachment 89662
Added &apos;external&apos; file system enum, few Chromium factory functions for File API objects

added WEB_FILE_SYSTEM_TYPE_EXTERNAL define that should let me check in changed on Chromium side that will prevent build breaks when this lands</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386083</commentid>
    <comment_count>13</comment_count>
    <who name="Zelidrag Hornung">zelidrag</who>
    <bug_when>2011-04-14 15:08:48 -0700</bug_when>
    <thetext>http://codereview.chromium.org/6852031 should prevent build breaks on Chromium side when this one lands</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386105</commentid>
    <comment_count>14</comment_count>
      <attachid>89662</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-04-14 15:23:45 -0700</bug_when>
    <thetext>Comment on attachment 89662
Added &apos;external&apos; file system enum, few Chromium factory functions for File API objects

View in context: https://bugs.webkit.org/attachment.cgi?id=89662&amp;action=review

R=me, CQ-

&gt; Source/WebKit/chromium/public/WebFileSystem.h:43
&gt; +#define WEB_FILE_SYSTEM_TYPE_EXTERNAL;

nit: no trailing &quot;;&quot;

please add a FIXME about removing this #define once the Chromium side has caught up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386108</commentid>
    <comment_count>15</comment_count>
      <attachid>89671</attachid>
    <who name="Zelidrag Hornung">zelidrag</who>
    <bug_when>2011-04-14 15:28:50 -0700</bug_when>
    <thetext>Created attachment 89671
Added &apos;external&apos; file system enum, few Chromium factory functions for File API objects

nit fixes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386131</commentid>
    <comment_count>16</comment_count>
      <attachid>89671</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-04-14 15:51:13 -0700</bug_when>
    <thetext>Comment on attachment 89671
Added &apos;external&apos; file system enum, few Chromium factory functions for File API objects

Normally, FIXME comments in WebKit are not suffixed with (username)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386610</commentid>
    <comment_count>17</comment_count>
      <attachid>89671</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-15 07:35:51 -0700</bug_when>
    <thetext>Comment on attachment 89671
Added &apos;external&apos; file system enum, few Chromium factory functions for File API objects

Clearing flags on attachment: 89671

Committed r83972: &lt;http://trac.webkit.org/changeset/83972&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386611</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-15 07:35:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386635</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-15 08:22:51 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 89671:

java/lc3/JSObject/ToObject-001.html bug 53091 (author: ap@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89418</attachid>
            <date>2011-04-13 11:47:56 -0700</date>
            <delta_ts>2011-04-13 12:27:52 -0700</delta_ts>
            <desc>Added factory function for creating File- and DirectoryEntry objects</desc>
            <filename>wk_58456.diff</filename>
            <type>text/plain</type>
            <size>4266</size>
            <attacher name="Zelidrag Hornung">zelidrag</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA4Mzc1MCkKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTEtMDQtMTMgIFplbGlkcmFnIEhvcm51bmcgIDx6ZWxpZHJhZ0BjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
ZmFjdG9yeSBmdW5jdGlvbiBmb3IgY3JlYXRpbmcgRmlsZS0gYW5kIERpcmVjdG9yeUVudHJ5IG9i
amVjdHMKKyAgICAgICAgZnJvbSBDaHJvbWl1bSBzaWRlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg0NTYKKworICAgICAgICAqIHB1YmxpYy9XZWJG
cmFtZS5oOgorICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJGcmFtZUltcGw6OmNyZWF0ZUZpbGVFbnRyeSk6CisgICAgICAgICogc3JjL1dlYkZyYW1l
SW1wbC5oOgorCiAyMDExLTA0LTEzICBLaW51a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KSW5kZXg6IFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAkocmV2aXNpb24gODM0MzIpCisrKyBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNjYs
NiArMjY2LDEyIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBj
cmVhdGVGaWxlU3lzdGVtKGludCB0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBuYW1lLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBw
YXRoKSA9IDA7CisgICAgLy8gQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBmaWxlIG9yIGRpcmVjdG9y
eSBlbnRyeSBvYmplY3QuCisgICAgdmlydHVhbCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRl
RmlsZUVudHJ5KGludCBmaWxlU3lzdGVtVHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlU3lzdGVtTmFtZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
V2ViU3RyaW5nJiBmaWxlU3lzdGVtUGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlUGF0aCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc0RpcmVjdG9y
eSkgPSAwOwogI2VuZGlmCiAKIApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RnJhbWVJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJGcmFtZUltcGwuY3BwCShyZXZpc2lvbiA4MzQzMikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2NCw4ICsxNjQsMTIg
QEAKICNpZiBVU0UoVjgpCiAjaW5jbHVkZSAiQXN5bmNGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAi
QXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uaCIKKyNpbmNsdWRlICJEaXJlY3RvcnlFbnRyeS5oIgog
I2luY2x1ZGUgIkRPTUZpbGVTeXN0ZW0uaCIKKyNpbmNsdWRlICJGaWxlRW50cnkuaCIKKyNpbmNs
dWRlICJWOERpcmVjdG9yeUVudHJ5LmgiCiAjaW5jbHVkZSAiVjhET01GaWxlU3lzdGVtLmgiCisj
aW5jbHVkZSAiVjhGaWxlRW50cnkuaCIKICNlbmRpZgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKQEAgLTg1Nyw2ICs4NjEsMTkgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFdlYkZyYW1lSW1w
bDo6Y3JlYQogewogICAgIHJldHVybiB0b1Y4KERPTUZpbGVTeXN0ZW06OmNyZWF0ZShmcmFtZSgp
LT5kb2N1bWVudCgpLCBuYW1lLCBBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bTo6Y3JlYXRlKHN0YXRp
Y19jYXN0PEFzeW5jRmlsZVN5c3RlbTo6VHlwZT4odHlwZSksIHBhdGgpKSk7CiB9CisKK3Y4OjpI
YW5kbGU8djg6OlZhbHVlPiBXZWJGcmFtZUltcGw6OmNyZWF0ZUZpbGVFbnRyeShpbnQgZmlsZVN5
c3RlbVR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlU3lzdGVtTmFtZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGZpbGVT
eXN0ZW1QYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVBhdGgsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc0RpcmVjdG9yeSkKK3sKKyAgICBQ
YXNzUmVmUHRyPERPTUZpbGVTeXN0ZW1CYXNlPiBmaWxlU3lzdGVtID0gRE9NRmlsZVN5c3RlbTo6
Y3JlYXRlKGZyYW1lKCktPmRvY3VtZW50KCksIGZpbGVTeXN0ZW1OYW1lLCBBc3luY0ZpbGVTeXN0
ZW1DaHJvbWl1bTo6Y3JlYXRlKHN0YXRpY19jYXN0PEFzeW5jRmlsZVN5c3RlbTo6VHlwZT4oZmls
ZVN5c3RlbVR5cGUpLCBmaWxlU3lzdGVtUGF0aCkpOworICAgIGlmIChpc0RpcmVjdG9yeSkKKyAg
ICAgICAgcmV0dXJuIHRvVjgoRGlyZWN0b3J5RW50cnk6OmNyZWF0ZShmaWxlU3lzdGVtLCBmaWxl
UGF0aCkpOworICAgIGVsc2UKKyAgICAgICAgcmV0dXJuIHRvVjgoRmlsZUVudHJ5OjpjcmVhdGUo
ZmlsZVN5c3RlbSwgZmlsZVBhdGgpKTsKK30KICNlbmRpZgogCiBib29sIFdlYkZyYW1lSW1wbDo6
aW5zZXJ0U3R5bGVUZXh0KApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJh
bWVJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJh
bWVJbXBsLmgJKHJldmlzaW9uIDgzNDMyKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViRnJhbWVJbXBsLmgJKHdvcmtpbmcgY29weSkKQEAgLTExMiw2ICsxMTIsMTEgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNyZWF0ZUZpbGVTeXN0ZW0oaW50
IHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBXZWJTdHJpbmcmIG5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIHBhdGgpOworICAgIHZpcnR1YWwg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IGNyZWF0ZUZpbGVFbnRyeShpbnQgZmlsZVN5c3RlbVR5cGUs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IFdlYlN0cmluZyYgZmlsZVN5c3RlbU5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbVBhdGgsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdl
YlN0cmluZyYgZmlsZVBhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJvb2wgaXNEaXJlY3RvcnkpOwogI2VuZGlmCiAgICAgdmlydHVhbCBib29s
IGluc2VydFN0eWxlVGV4dChjb25zdCBXZWJTdHJpbmcmIGNzcywgY29uc3QgV2ViU3RyaW5nJiBp
ZCk7CiAgICAgdmlydHVhbCB2b2lkIHJlbG9hZChib29sIGlnbm9yZUNhY2hlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89435</attachid>
            <date>2011-04-13 12:27:52 -0700</date>
            <delta_ts>2011-04-13 17:30:54 -0700</delta_ts>
            <desc>Added factory function for creating File- and DirectoryEntry objects from Chromium side</desc>
            <filename>wk_58456.diff</filename>
            <type>text/plain</type>
            <size>4248</size>
            <attacher name="Zelidrag Hornung">zelidrag</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA4Mzc1MCkKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTEtMDQtMTMgIFplbGlkcmFnIEhvcm51bmcgIDx6ZWxpZHJhZ0BjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
ZmFjdG9yeSBmdW5jdGlvbiBmb3IgY3JlYXRpbmcgRmlsZS0gYW5kIERpcmVjdG9yeUVudHJ5IG9i
amVjdHMKKyAgICAgICAgZnJvbSBDaHJvbWl1bSBzaWRlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg0NTYKKworICAgICAgICAqIHB1YmxpYy9XZWJG
cmFtZS5oOgorICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJGcmFtZUltcGw6OmNyZWF0ZUZpbGVFbnRyeSk6CisgICAgICAgICogc3JjL1dlYkZyYW1l
SW1wbC5oOgorCiAyMDExLTA0LTEzICBLaW51a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KSW5kZXg6IFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAkocmV2aXNpb24gODM0MzIpCisrKyBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNjYs
NiArMjY2LDEyIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBj
cmVhdGVGaWxlU3lzdGVtKGludCB0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBuYW1lLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBw
YXRoKSA9IDA7CisgICAgLy8gQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBmaWxlIG9yIGRpcmVjdG9y
eSBlbnRyeSBvYmplY3QuCisgICAgdmlydHVhbCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRl
RmlsZUVudHJ5KGludCBmaWxlU3lzdGVtVHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlU3lzdGVtTmFtZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
V2ViU3RyaW5nJiBmaWxlU3lzdGVtUGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlUGF0aCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc0RpcmVjdG9y
eSkgPSAwOwogI2VuZGlmCiAKIApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RnJhbWVJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJGcmFtZUltcGwuY3BwCShyZXZpc2lvbiA4MzQzMikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2NCw4ICsxNjQsMTIg
QEAKICNpZiBVU0UoVjgpCiAjaW5jbHVkZSAiQXN5bmNGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAi
QXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uaCIKKyNpbmNsdWRlICJEaXJlY3RvcnlFbnRyeS5oIgog
I2luY2x1ZGUgIkRPTUZpbGVTeXN0ZW0uaCIKKyNpbmNsdWRlICJGaWxlRW50cnkuaCIKKyNpbmNs
dWRlICJWOERpcmVjdG9yeUVudHJ5LmgiCiAjaW5jbHVkZSAiVjhET01GaWxlU3lzdGVtLmgiCisj
aW5jbHVkZSAiVjhGaWxlRW50cnkuaCIKICNlbmRpZgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKQEAgLTg1Nyw2ICs4NjEsMTggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFdlYkZyYW1lSW1w
bDo6Y3JlYQogewogICAgIHJldHVybiB0b1Y4KERPTUZpbGVTeXN0ZW06OmNyZWF0ZShmcmFtZSgp
LT5kb2N1bWVudCgpLCBuYW1lLCBBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bTo6Y3JlYXRlKHN0YXRp
Y19jYXN0PEFzeW5jRmlsZVN5c3RlbTo6VHlwZT4odHlwZSksIHBhdGgpKSk7CiB9CisKK3Y4OjpI
YW5kbGU8djg6OlZhbHVlPiBXZWJGcmFtZUltcGw6OmNyZWF0ZUZpbGVFbnRyeShpbnQgZmlsZVN5
c3RlbVR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlU3lzdGVtTmFtZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGZpbGVT
eXN0ZW1QYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVBhdGgsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc0RpcmVjdG9yeSkKK3sKKyAgICBS
ZWZQdHI8RE9NRmlsZVN5c3RlbUJhc2U+IGZpbGVTeXN0ZW0gPSBET01GaWxlU3lzdGVtOjpjcmVh
dGUoZnJhbWUoKS0+ZG9jdW1lbnQoKSwgZmlsZVN5c3RlbU5hbWUsIEFzeW5jRmlsZVN5c3RlbUNo
cm9taXVtOjpjcmVhdGUoc3RhdGljX2Nhc3Q8QXN5bmNGaWxlU3lzdGVtOjpUeXBlPihmaWxlU3lz
dGVtVHlwZSksIGZpbGVTeXN0ZW1QYXRoKSk7CisgICAgaWYgKGlzRGlyZWN0b3J5KQorICAgICAg
ICByZXR1cm4gdG9WOChEaXJlY3RvcnlFbnRyeTo6Y3JlYXRlKGZpbGVTeXN0ZW0sIGZpbGVQYXRo
KSk7CisgICAgcmV0dXJuIHRvVjgoRmlsZUVudHJ5OjpjcmVhdGUoZmlsZVN5c3RlbSwgZmlsZVBh
dGgpKTsKK30KICNlbmRpZgogCiBib29sIFdlYkZyYW1lSW1wbDo6aW5zZXJ0U3R5bGVUZXh0KApJ
bmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgJKHJldmlzaW9u
IDgzNDMyKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgJKHdv
cmtpbmcgY29weSkKQEAgLTExMiw2ICsxMTIsMTEgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdjg6
OkhhbmRsZTx2ODo6VmFsdWU+IGNyZWF0ZUZpbGVTeXN0ZW0oaW50IHR5cGUsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcm
IG5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBXZWJTdHJpbmcmIHBhdGgpOworICAgIHZpcnR1YWwgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IGNyZWF0ZUZpbGVFbnRyeShpbnQgZmlsZVN5c3RlbVR5cGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5
c3RlbU5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbVBhdGgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVBhdGgs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wg
aXNEaXJlY3RvcnkpOwogI2VuZGlmCiAgICAgdmlydHVhbCBib29sIGluc2VydFN0eWxlVGV4dChj
b25zdCBXZWJTdHJpbmcmIGNzcywgY29uc3QgV2ViU3RyaW5nJiBpZCk7CiAgICAgdmlydHVhbCB2
b2lkIHJlbG9hZChib29sIGlnbm9yZUNhY2hlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89502</attachid>
            <date>2011-04-13 17:30:54 -0700</date>
            <delta_ts>2011-04-13 17:37:31 -0700</delta_ts>
            <desc>Added &apos;external&apos; file system enum, few Chromium factory functions for File API objects. </desc>
            <filename>wk_58456.diff</filename>
            <type>text/plain</type>
            <size>15590</size>
            <attacher name="Zelidrag Hornung">zelidrag</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgzNzg5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDQtMTMgIFplbGlkcmFn
IEhvcm51bmcgIDx6ZWxpZHJhZ0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZW51bXMgZm9yIGV4dGVybmFsIGZpbGUg
c3lzdGVtIHR5cGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01ODQ1NgorCisgICAgICAgICogZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpET01GaWxlU3lzdGVtQmFzZTo6Y3JhY2tGaWxlU3lzdGVtVVJMKToK
KyAgICAgICAgKiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmg6CisgICAgICAgICogZmlsZWFw
aS9FbnRyeUJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RW50cnlCYXNlOjp0b1VSTCk6Cisg
ICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93
OjpyZXF1ZXN0RmlsZVN5c3RlbSk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtl
ckNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dDo6cmVxdWVzdEZp
bGVTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dDo6cmVxdWVzdEZpbGVT
eXN0ZW1TeW5jKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckNvbnRleHQuaDoKKwogMjAxMS0w
NC0xMiAgTHVpeiBBZ29zdGluaSAgPGx1aXouYWdvc3RpbmlAb3BlbmJvc3NhLm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgpJbmRleDogU291cmNlL1dlYkNvcmUvZmls
ZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHAJKHJldmlzaW9uIDgzNDMyKQorKysgU291cmNl
L1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU0LDYgKzU0LDggQEAgY29uc3QgY2hhciBET01GaWxlU3lzdGVtQmFzZTo6a1BlcnNpc3Rlbgog
Y29uc3Qgc2l6ZV90IERPTUZpbGVTeXN0ZW1CYXNlOjprUGVyc2lzdGVudFBhdGhQcmVmaXhMZW5n
dGggPSBzaXplb2YoRE9NRmlsZVN5c3RlbUJhc2U6OmtQZXJzaXN0ZW50UGF0aFByZWZpeCkgLSAx
OwogY29uc3QgY2hhciBET01GaWxlU3lzdGVtQmFzZTo6a1RlbXBvcmFyeVBhdGhQcmVmaXhbXSA9
ICJ0ZW1wb3JhcnkiOwogY29uc3Qgc2l6ZV90IERPTUZpbGVTeXN0ZW1CYXNlOjprVGVtcG9yYXJ5
UGF0aFByZWZpeExlbmd0aCA9IHNpemVvZihET01GaWxlU3lzdGVtQmFzZTo6a1RlbXBvcmFyeVBh
dGhQcmVmaXgpIC0gMTsKK2NvbnN0IGNoYXIgRE9NRmlsZVN5c3RlbUJhc2U6OmtFeHRlcm5hbFBh
dGhQcmVmaXhbXSA9ICJleHRlcm5hbCI7Citjb25zdCBzaXplX3QgRE9NRmlsZVN5c3RlbUJhc2U6
OmtFeHRlcm5hbFBhdGhQcmVmaXhMZW5ndGggPSBzaXplb2YoRE9NRmlsZVN5c3RlbUJhc2U6OmtF
eHRlcm5hbFBhdGhQcmVmaXgpIC0gMTsKIAogYm9vbCBET01GaWxlU3lzdGVtQmFzZTo6Y3JhY2tG
aWxlU3lzdGVtVVJMKGNvbnN0IEtVUkwmIHVybCwgQXN5bmNGaWxlU3lzdGVtOjpUeXBlJiB0eXBl
LCBTdHJpbmcmIGZpbGVQYXRoKQogewpAQCAtNzIsNiArNzQsOSBAQCBib29sIERPTUZpbGVTeXN0
ZW1CYXNlOjpjcmFja0ZpbGVTeXN0ZW1VCiAgICAgfSBlbHNlIGlmIChwYXRoLnN0YXJ0c1dpdGgo
a1BlcnNpc3RlbnRQYXRoUHJlZml4KSkgewogICAgICAgICB0eXBlID0gQXN5bmNGaWxlU3lzdGVt
OjpQZXJzaXN0ZW50OwogICAgICAgICBwYXRoID0gcGF0aC5zdWJzdHJpbmcoa1BlcnNpc3RlbnRQ
YXRoUHJlZml4TGVuZ3RoKTsKKyAgICB9IGVsc2UgaWYgKHBhdGguc3RhcnRzV2l0aChrRXh0ZXJu
YWxQYXRoUHJlZml4KSkgeworICAgICAgICB0eXBlID0gQXN5bmNGaWxlU3lzdGVtOjpFeHRlcm5h
bDsKKyAgICAgICAgcGF0aCA9IHBhdGguc3Vic3RyaW5nKGtFeHRlcm5hbFBhdGhQcmVmaXhMZW5n
dGgpOwogICAgIH0gZWxzZQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmgJKHJldmlzaW9uIDgzNDMyKQorKysg
U291cmNlL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC02Niw2ICs2Niw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGtQZXJz
aXN0ZW50UGF0aFByZWZpeExlbmd0aDsKICAgICBzdGF0aWMgY29uc3QgY2hhciBrVGVtcG9yYXJ5
UGF0aFByZWZpeFtdOwogICAgIHN0YXRpYyBjb25zdCBzaXplX3Qga1RlbXBvcmFyeVBhdGhQcmVm
aXhMZW5ndGg7CisgICAgc3RhdGljIGNvbnN0IGNoYXIga0V4dGVybmFsUGF0aFByZWZpeFtdOwor
ICAgIHN0YXRpYyBjb25zdCBzaXplX3Qga0V4dGVybmFsUGF0aFByZWZpeExlbmd0aDsKICAgICBz
dGF0aWMgYm9vbCBjcmFja0ZpbGVTeXN0ZW1VUkwoY29uc3QgS1VSTCYsIEFzeW5jRmlsZVN5c3Rl
bTo6VHlwZSYsIFN0cmluZyYgZmlsZVBhdGgpOwogCiAgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkg
Y29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Vu
dHJ5QmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUJh
c2UuY3BwCShyZXZpc2lvbiA4MzQzMikKKysrIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRW50cnlC
YXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjQsNyArNjQsMTcgQEAgU3RyaW5nIEVudHJ5QmFz
ZTo6dG9VUkwoKQogICAgIHJlc3VsdC5hcHBlbmQoImZpbGVzeXN0ZW06Iik7CiAgICAgcmVzdWx0
LmFwcGVuZChvcmlnaW5TdHJpbmcpOwogICAgIHJlc3VsdC5hcHBlbmQoIi8iKTsKLSAgICByZXN1
bHQuYXBwZW5kKG1fZmlsZVN5c3RlbS0+YXN5bmNGaWxlU3lzdGVtKCktPnR5cGUoKSA9PSBBc3lu
Y0ZpbGVTeXN0ZW06OlRlbXBvcmFyeSA/IERPTUZpbGVTeXN0ZW1CYXNlOjprVGVtcG9yYXJ5UGF0
aFByZWZpeCA6IERPTUZpbGVTeXN0ZW1CYXNlOjprUGVyc2lzdGVudFBhdGhQcmVmaXgpOworICAg
IHN3aXRjaCAobV9maWxlU3lzdGVtLT5hc3luY0ZpbGVTeXN0ZW0oKS0+dHlwZSgpKSB7CisgICAg
ICAgIGNhc2UgQXN5bmNGaWxlU3lzdGVtOjpUZW1wb3Jhcnk6CisgICAgICAgICAgICByZXN1bHQu
YXBwZW5kKERPTUZpbGVTeXN0ZW1CYXNlOjprVGVtcG9yYXJ5UGF0aFByZWZpeCk7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBc3luY0ZpbGVTeXN0ZW06OlBlcnNpc3RlbnQ6Cisg
ICAgICAgICAgICByZXN1bHQuYXBwZW5kKERPTUZpbGVTeXN0ZW1CYXNlOjprUGVyc2lzdGVudFBh
dGhQcmVmaXgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQXN5bmNGaWxlU3lz
dGVtOjpFeHRlcm5hbDoKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoRE9NRmlsZVN5c3RlbUJh
c2U6OmtFeHRlcm5hbFBhdGhQcmVmaXgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgfQogICAg
IHJlc3VsdC5hcHBlbmQobV9mdWxsUGF0aCk7CiAgICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygp
OwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAkocmV2aXNpb24gODM0MzIpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc1
NSw3ICs3NTUsNyBAQCB2b2lkIERPTVdpbmRvdzo6cmVxdWVzdEZpbGVTeXN0ZW0oaW50IHR5CiAg
ICAgfQogCiAgICAgQXN5bmNGaWxlU3lzdGVtOjpUeXBlIGZpbGVTeXN0ZW1UeXBlID0gc3RhdGlj
X2Nhc3Q8QXN5bmNGaWxlU3lzdGVtOjpUeXBlPih0eXBlKTsKLSAgICBpZiAoZmlsZVN5c3RlbVR5
cGUgIT0gQXN5bmNGaWxlU3lzdGVtOjpUZW1wb3JhcnkgJiYgZmlsZVN5c3RlbVR5cGUgIT0gQXN5
bmNGaWxlU3lzdGVtOjpQZXJzaXN0ZW50KSB7CisgICAgaWYgKGZpbGVTeXN0ZW1UeXBlICE9IEFz
eW5jRmlsZVN5c3RlbTo6VGVtcG9yYXJ5ICYmIGZpbGVTeXN0ZW1UeXBlICE9IEFzeW5jRmlsZVN5
c3RlbTo6UGVyc2lzdGVudCAmJiBmaWxlU3lzdGVtVHlwZSAhPSBBc3luY0ZpbGVTeXN0ZW06OkV4
dGVybmFsKSB7CiAgICAgICAgIERPTUZpbGVTeXN0ZW06OnNjaGVkdWxlQ2FsbGJhY2soZG9jdW1l
bnQsIGVycm9yQ2FsbGJhY2ssIEZpbGVFcnJvcjo6Y3JlYXRlKEZpbGVFcnJvcjo6SU5WQUxJRF9N
T0RJRklDQVRJT05fRVJSKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC03ODgsNiArNzg4
LDcgQEAgdm9pZCBET01XaW5kb3c6OnJlc29sdmVMb2NhbEZpbGVTeXN0ZW1VUgogCiBDT01QSUxF
X0FTU0VSVChzdGF0aWNfY2FzdDxpbnQ+KERPTVdpbmRvdzo6VEVNUE9SQVJZKSA9PSBzdGF0aWNf
Y2FzdDxpbnQ+KEFzeW5jRmlsZVN5c3RlbTo6VGVtcG9yYXJ5KSwgZW51bV9taXNtYXRjaCk7CiBD
T01QSUxFX0FTU0VSVChzdGF0aWNfY2FzdDxpbnQ+KERPTVdpbmRvdzo6UEVSU0lTVEVOVCkgPT0g
c3RhdGljX2Nhc3Q8aW50PihBc3luY0ZpbGVTeXN0ZW06OlBlcnNpc3RlbnQpLCBlbnVtX21pc21h
dGNoKTsKK0NPTVBJTEVfQVNTRVJUKHN0YXRpY19jYXN0PGludD4oRE9NV2luZG93OjpFWFRFUk5B
TCkgPT0gc3RhdGljX2Nhc3Q8aW50PihBc3luY0ZpbGVTeXN0ZW06OkV4dGVybmFsKSwgZW51bV9t
aXNtYXRjaCk7CiAKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgJKHJldmlz
aW9uIDgzNDMyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAkod29ya2luZyBj
b3B5KQpAQCAtMzg2LDYgKzM4Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgZW51
bSBGaWxlU3lzdGVtVHlwZSB7CiAgICAgICAgICAgICBURU1QT1JBUlksCiAgICAgICAgICAgICBQ
RVJTSVNURU5ULAorICAgICAgICAgICAgRVhURVJOQUwsCiAgICAgICAgIH07CiAgICAgICAgIHZv
aWQgcmVxdWVzdEZpbGVTeXN0ZW0oaW50IHR5cGUsIGxvbmcgbG9uZyBzaXplLCBQYXNzUmVmUHRy
PEZpbGVTeXN0ZW1DYWxsYmFjaz4sIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFjaz4pOwogICAgICAg
ICB2b2lkIHJlc29sdmVMb2NhbEZpbGVTeXN0ZW1VUkwoY29uc3QgU3RyaW5nJiwgUGFzc1JlZlB0
cjxFbnRyeUNhbGxiYWNrPiwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPik7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAkocmV2aXNpb24gODM0MzIpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAkod29ya2luZyBjb3B5
KQpAQCAtNTMsNiArNTMsNyBAQCBwdWJsaWM6CiAgICAgZW51bSBUeXBlIHsKICAgICAgICAgVGVt
cG9yYXJ5LAogICAgICAgICBQZXJzaXN0ZW50LAorICAgICAgICBFeHRlcm5hbCwKICAgICB9Owog
CiAgICAgdmlydHVhbCB2b2lkIHN0b3AoKSB7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJDb250ZXh0LmNwcAkocmV2aXNpb24gODM0MzIpCisrKyBTb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNTMsNyArMzUzLDcg
QEAgdm9pZCBXb3JrZXJDb250ZXh0OjpyZXF1ZXN0RmlsZVN5c3RlbShpbgogICAgIH0KIAogICAg
IEFzeW5jRmlsZVN5c3RlbTo6VHlwZSBmaWxlU3lzdGVtVHlwZSA9IHN0YXRpY19jYXN0PEFzeW5j
RmlsZVN5c3RlbTo6VHlwZT4odHlwZSk7Ci0gICAgaWYgKGZpbGVTeXN0ZW1UeXBlICE9IEFzeW5j
RmlsZVN5c3RlbTo6VGVtcG9yYXJ5ICYmIGZpbGVTeXN0ZW1UeXBlICE9IEFzeW5jRmlsZVN5c3Rl
bTo6UGVyc2lzdGVudCkgeworICAgIGlmIChmaWxlU3lzdGVtVHlwZSAhPSBBc3luY0ZpbGVTeXN0
ZW06OlRlbXBvcmFyeSAmJiBmaWxlU3lzdGVtVHlwZSAhPSBBc3luY0ZpbGVTeXN0ZW06OlBlcnNp
c3RlbnQgJiYgZmlsZVN5c3RlbVR5cGUgIT0gQXN5bmNGaWxlU3lzdGVtOjpFeHRlcm5hbCkgewog
ICAgICAgICBET01GaWxlU3lzdGVtOjpzY2hlZHVsZUNhbGxiYWNrKHRoaXMsIGVycm9yQ2FsbGJh
Y2ssIEZpbGVFcnJvcjo6Y3JlYXRlKEZpbGVFcnJvcjo6SU5WQUxJRF9NT0RJRklDQVRJT05fRVJS
KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0zNzAsNyArMzcwLDcgQEAgUGFzc1JlZlB0
cjxET01GaWxlU3lzdGVtU3luYz4gV29ya2VyQ29udAogICAgIH0KIAogICAgIEFzeW5jRmlsZVN5
c3RlbTo6VHlwZSBmaWxlU3lzdGVtVHlwZSA9IHN0YXRpY19jYXN0PEFzeW5jRmlsZVN5c3RlbTo6
VHlwZT4odHlwZSk7Ci0gICAgaWYgKGZpbGVTeXN0ZW1UeXBlICE9IEFzeW5jRmlsZVN5c3RlbTo6
VGVtcG9yYXJ5ICYmIGZpbGVTeXN0ZW1UeXBlICE9IEFzeW5jRmlsZVN5c3RlbTo6UGVyc2lzdGVu
dCkgeworICAgIGlmIChmaWxlU3lzdGVtVHlwZSAhPSBBc3luY0ZpbGVTeXN0ZW06OlRlbXBvcmFy
eSAmJiBmaWxlU3lzdGVtVHlwZSAhPSBBc3luY0ZpbGVTeXN0ZW06OlBlcnNpc3RlbnQgJiYgZmls
ZVN5c3RlbVR5cGUgIT0gQXN5bmNGaWxlU3lzdGVtOjpFeHRlcm5hbCkgewogICAgICAgICBlYyA9
IEZpbGVFeGNlcHRpb246OklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUjsKICAgICAgICAgcmV0dXJu
IDA7CiAgICAgfQpAQCAtNDI5LDYgKzQyOSw3IEBAIFBhc3NSZWZQdHI8RW50cnlTeW5jPiBXb3Jr
ZXJDb250ZXh0OjpyZXMKIAogQ09NUElMRV9BU1NFUlQoc3RhdGljX2Nhc3Q8aW50PihXb3JrZXJD
b250ZXh0OjpURU1QT1JBUlkpID09IHN0YXRpY19jYXN0PGludD4oQXN5bmNGaWxlU3lzdGVtOjpU
ZW1wb3JhcnkpLCBlbnVtX21pc21hdGNoKTsKIENPTVBJTEVfQVNTRVJUKHN0YXRpY19jYXN0PGlu
dD4oV29ya2VyQ29udGV4dDo6UEVSU0lTVEVOVCkgPT0gc3RhdGljX2Nhc3Q8aW50PihBc3luY0Zp
bGVTeXN0ZW06OlBlcnNpc3RlbnQpLCBlbnVtX21pc21hdGNoKTsKK0NPTVBJTEVfQVNTRVJUKHN0
YXRpY19jYXN0PGludD4oV29ya2VyQ29udGV4dDo6RVhURVJOQUwpID09IHN0YXRpY19jYXN0PGlu
dD4oQXN5bmNGaWxlU3lzdGVtOjpFeHRlcm5hbCksIGVudW1fbWlzbWF0Y2gpOwogI2VuZGlmCiAK
IFdvcmtlckNvbnRleHQ6Ok9ic2VydmVyOjpPYnNlcnZlcihXb3JrZXJDb250ZXh0KiBjb250ZXh0
KQpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgJKHJldmlzaW9uIDgz
NDMyKQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEzMCw2ICsxMzAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGVu
dW0gRmlsZVN5c3RlbVR5cGUgewogICAgICAgICAgICAgVEVNUE9SQVJZLAogICAgICAgICAgICAg
UEVSU0lTVEVOVCwKKyAgICAgICAgICAgIEVYVEVSTkFMLAogICAgICAgICB9OwogICAgICAgICB2
b2lkIHJlcXVlc3RGaWxlU3lzdGVtKGludCB0eXBlLCBsb25nIGxvbmcgc2l6ZSwgUGFzc1JlZlB0
cjxGaWxlU3lzdGVtQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1JlZlB0cjxFcnJvckNh
bGxiYWNrPik7CiAgICAgICAgIFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbVN5bmM+IHJlcXVlc3RG
aWxlU3lzdGVtU3luYyhpbnQgdHlwZSwgbG9uZyBsb25nIHNpemUsIEV4Y2VwdGlvbkNvZGUmKTsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA4Mzc4MykKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTEtMDQtMTMgIFplbGlkcmFnIEhvcm51bmcgIDx6ZWxpZHJhZ0BjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQg
ZW51bXMgZm9yIGV4dGVybmFsIGZpbGUgc3lzdGVtIHR5cGUgYW5kIGV4cG9zZWQgZmFjdG9yeSBm
dW5jdGlvbgorICAgICAgICBmb3IgY3JlYXRpbmcgRmlsZS0gYW5kIERpcmVjdG9yeUVudHJ5IG9i
amVjdHMgZnJvbSBDaHJvbWl1bSBzaWRlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTg0NTYKKworICAgICAgICAqIHB1YmxpYy9XZWJGaWxlU3lzdGVt
Lmg6CisgICAgICAgICogcHVibGljL1dlYkZyYW1lLmg6CisgICAgICAgICogc3JjL0Fzc2VydE1h
dGNoaW5nRW51bXMuY3BwOgorICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmNyZWF0ZUZpbGVTeXN0ZW0pOgorICAgICAgICAoV2Vi
S2l0OjpXZWJGcmFtZUltcGw6OmNyZWF0ZUZpbGVFbnRyeSk6CisgICAgICAgICogc3JjL1dlYkZy
YW1lSW1wbC5oOgorCiAyMDExLTA0LTEzICBKb2huIEFiZC1FbC1NYWxlayAgPGphbUBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmlhbiBMaS4KSW5kZXg6IFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYkZpbGVTeXN0ZW0uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtLmgJKHJldmlzaW9uIDgzNDMyKQor
KysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbS5oCSh3b3JraW5n
IGNvcHkpCkBAIC00NSw2ICs0NSw3IEBAIHB1YmxpYzoKICAgICBlbnVtIFR5cGUgewogICAgICAg
ICBUeXBlVGVtcG9yYXJ5LAogICAgICAgICBUeXBlUGVyc2lzdGVudCwKKyAgICAgICAgVHlwZUV4
dGVybmFsLAogICAgIH07CiAKICAgICAvLyBNb3ZlcyBhIGZpbGUgb3IgZGlyZWN0b3J5IGF0IHxz
cmNQYXRofCB0byB8ZGVzdFBhdGh8LgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViRnJhbWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJGcmFtZS5oCShyZXZpc2lvbiA4MzQzMikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYkZyYW1lLmgJKHdvcmtpbmcgY29weSkKQEAgLTMyLDYgKzMyLDcgQEAKICNkZWZp
bmUgV2ViRnJhbWVfaAogCiAjaW5jbHVkZSAiV2ViQ2FudmFzLmgiCisjaW5jbHVkZSAiV2ViRmls
ZVN5c3RlbS5oIgogI2luY2x1ZGUgIldlYk5vZGUuaCIKICNpbmNsdWRlICJXZWJVUkwuaCIKIApA
QCAtNzIsNiArNzMsNyBAQCBzdHJ1Y3QgV2ViUmVjdDsKIHN0cnVjdCBXZWJTY3JpcHRTb3VyY2U7
CiBzdHJ1Y3QgV2ViU2l6ZTsKIHN0cnVjdCBXZWJVUkxMb2FkZXJPcHRpb25zOworCiB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVD4gY2xhc3MgV2ViVmVjdG9yOwogCiBjbGFzcyBXZWJGcmFtZSB7CkBAIC0y
NjMsOSArMjY1LDE1IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHY4OjpMb2NhbDx2ODo6Q29udGV4
dD4gbWFpbldvcmxkU2NyaXB0Q29udGV4dCgpIGNvbnN0ID0gMDsKIAogICAgIC8vIENyZWF0ZXMg
YW4gaW5zdGFuY2Ugb2YgZmlsZSBzeXN0ZW0gb2JqZWN0LgotICAgIHZpcnR1YWwgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IGNyZWF0ZUZpbGVTeXN0ZW0oaW50IHR5cGUsCisgICAgdmlydHVhbCB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlRmlsZVN5c3RlbShXZWJGaWxlU3lzdGVtOjpUeXBlIHR5
cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBXZWJTdHJpbmcmIG5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIHBhdGgpID0gMDsKKyAgICAvLyBDcmVh
dGVzIGFuIGluc3RhbmNlIG9mIGZpbGUgb3IgZGlyZWN0b3J5IGVudHJ5IG9iamVjdC4KKyAgICB2
aXJ0dWFsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjcmVhdGVGaWxlRW50cnkoV2ViRmlsZVN5c3Rl
bTo6VHlwZSB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGZpbGVTeXN0ZW1OYW1lLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGZpbGVT
eXN0ZW1QYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBXZWJTdHJpbmcmIGZpbGVQYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGlzRGlyZWN0b3J5KSA9IDA7CiAjZW5kaWYK
IAogCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1z
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRj
aGluZ0VudW1zLmNwcAkocmV2aXNpb24gODM0MzIpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzkyLDYgKzM5
Miw3IEBAIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViSURCRmFjdG8KICNpZiBFTkFC
TEUoRklMRV9TWVNURU0pCiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkZpbGVTeXN0
ZW06OlR5cGVUZW1wb3JhcnksIEFzeW5jRmlsZVN5c3RlbTo6VGVtcG9yYXJ5KTsKIENPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oV2ViRmlsZVN5c3RlbTo6VHlwZVBlcnNpc3RlbnQsIEFzeW5j
RmlsZVN5c3RlbTo6UGVyc2lzdGVudCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdl
YkZpbGVTeXN0ZW06OlR5cGVFeHRlcm5hbCwgQXN5bmNGaWxlU3lzdGVtOjpFeHRlcm5hbCk7CiBD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkZpbGVJbmZvOjpUeXBlVW5rbm93biwgRmls
ZU1ldGFkYXRhOjpUeXBlVW5rbm93bik7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdl
YkZpbGVJbmZvOjpUeXBlRmlsZSwgRmlsZU1ldGFkYXRhOjpUeXBlRmlsZSk7CiBDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFdlYkZpbGVJbmZvOjpUeXBlRGlyZWN0b3J5LCBGaWxlTWV0YWRh
dGE6OlR5cGVEaXJlY3RvcnkpOwpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RnJhbWVJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJGcmFtZUltcGwuY3BwCShyZXZpc2lvbiA4MzQzMikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2NCw4ICsxNjQsMTMg
QEAKICNpZiBVU0UoVjgpCiAjaW5jbHVkZSAiQXN5bmNGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAi
QXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uaCIKKyNpbmNsdWRlICJEaXJlY3RvcnlFbnRyeS5oIgog
I2luY2x1ZGUgIkRPTUZpbGVTeXN0ZW0uaCIKKyNpbmNsdWRlICJGaWxlRW50cnkuaCIKKyNpbmNs
dWRlICJWOERpcmVjdG9yeUVudHJ5LmgiCiAjaW5jbHVkZSAiVjhET01GaWxlU3lzdGVtLmgiCisj
aW5jbHVkZSAiVjhGaWxlRW50cnkuaCIKKyNpbmNsdWRlICJXZWJGaWxlU3lzdGVtLmgiCiAjZW5k
aWYKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CkBAIC04NTEsMTIgKzg1NiwyNCBAQCB2ODo6
TG9jYWw8djg6OkNvbnRleHQ+IFdlYkZyYW1lSW1wbDo6bWFpCiAgICAgcmV0dXJuIFY4UHJveHk6
Om1haW5Xb3JsZENvbnRleHQobV9mcmFtZSk7CiB9CiAKLXY4OjpIYW5kbGU8djg6OlZhbHVlPiBX
ZWJGcmFtZUltcGw6OmNyZWF0ZUZpbGVTeXN0ZW0oaW50IHR5cGUsCit2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gV2ViRnJhbWVJbXBsOjpjcmVhdGVGaWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW06OlR5cGUg
dHlwZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgV2ViU3RyaW5nJiBuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIHBhdGgpCiB7CiAgICAgcmV0
dXJuIHRvVjgoRE9NRmlsZVN5c3RlbTo6Y3JlYXRlKGZyYW1lKCktPmRvY3VtZW50KCksIG5hbWUs
IEFzeW5jRmlsZVN5c3RlbUNocm9taXVtOjpjcmVhdGUoc3RhdGljX2Nhc3Q8QXN5bmNGaWxlU3lz
dGVtOjpUeXBlPih0eXBlKSwgcGF0aCkpKTsKIH0KKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFdl
YkZyYW1lSW1wbDo6Y3JlYXRlRmlsZUVudHJ5KFdlYkZpbGVTeXN0ZW06OlR5cGUgdHlwZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBX
ZWJTdHJpbmcmIGZpbGVTeXN0ZW1OYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbVBhdGgsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
V2ViU3RyaW5nJiBmaWxlUGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBib29sIGlzRGlyZWN0b3J5KQoreworICAgIFJlZlB0cjxET01GaWxl
U3lzdGVtQmFzZT4gZmlsZVN5c3RlbSA9IERPTUZpbGVTeXN0ZW06OmNyZWF0ZShmcmFtZSgpLT5k
b2N1bWVudCgpLCBmaWxlU3lzdGVtTmFtZSwgQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW06OmNyZWF0
ZShzdGF0aWNfY2FzdDxBc3luY0ZpbGVTeXN0ZW06OlR5cGU+KHR5cGUpLCBmaWxlU3lzdGVtUGF0
aCkpOworICAgIGlmIChpc0RpcmVjdG9yeSkKKyAgICAgICAgcmV0dXJuIHRvVjgoRGlyZWN0b3J5
RW50cnk6OmNyZWF0ZShmaWxlU3lzdGVtLCBmaWxlUGF0aCkpOworICAgIHJldHVybiB0b1Y4KEZp
bGVFbnRyeTo6Y3JlYXRlKGZpbGVTeXN0ZW0sIGZpbGVQYXRoKSk7Cit9CiAjZW5kaWYKIAogYm9v
bCBXZWJGcmFtZUltcGw6Omluc2VydFN0eWxlVGV4dCgKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCShyZXZpc2lvbiA4MzQzMikKKysrIFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDksOSAr
MTA5LDE0IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBleGVj
dXRlU2NyaXB0QW5kUmV0dXJuVmFsdWUoCiAgICAgICAgIGNvbnN0IFdlYlNjcmlwdFNvdXJjZSYp
OwogICAgIHZpcnR1YWwgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiBtYWluV29ybGRTY3JpcHRDb250
ZXh0KCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlRmls
ZVN5c3RlbShpbnQgdHlwZSwKKyAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjcmVh
dGVGaWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW06OlR5cGUgdHlwZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgbmFtZSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IFdlYlN0cmluZyYgcGF0aCk7CisgICAgdmlydHVhbCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3Jl
YXRlRmlsZUVudHJ5KFdlYkZpbGVTeXN0ZW06OlR5cGUgdHlwZSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlU3lz
dGVtTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlU3lzdGVtUGF0aCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlUGF0aCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBp
c0RpcmVjdG9yeSk7CiAjZW5kaWYKICAgICB2aXJ0dWFsIGJvb2wgaW5zZXJ0U3R5bGVUZXh0KGNv
bnN0IFdlYlN0cmluZyYgY3NzLCBjb25zdCBXZWJTdHJpbmcmIGlkKTsKICAgICB2aXJ0dWFsIHZv
aWQgcmVsb2FkKGJvb2wgaWdub3JlQ2FjaGUpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89503</attachid>
            <date>2011-04-13 17:37:31 -0700</date>
            <delta_ts>2011-04-14 15:08:55 -0700</delta_ts>
            <desc>Added &apos;external&apos; file system enum, few Chromium factory functions for File API objects. </desc>
            <filename>wk_58456.diff</filename>
            <type>text/plain</type>
            <size>15534</size>
            <attacher name="Zelidrag Hornung">zelidrag</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgzNzg5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDQtMTMgIFplbGlkcmFn
IEhvcm51bmcgIDx6ZWxpZHJhZ0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZW51bXMgZm9yIGV4dGVybmFsIGZpbGUg
c3lzdGVtIHR5cGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01ODQ1NgorCisgICAgICAgICogZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpET01GaWxlU3lzdGVtQmFzZTo6Y3JhY2tGaWxlU3lzdGVtVVJMKToK
KyAgICAgICAgKiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmg6CisgICAgICAgICogZmlsZWFw
aS9FbnRyeUJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RW50cnlCYXNlOjp0b1VSTCk6Cisg
ICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93
OjpyZXF1ZXN0RmlsZVN5c3RlbSk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtl
ckNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dDo6cmVxdWVzdEZp
bGVTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dDo6cmVxdWVzdEZpbGVT
eXN0ZW1TeW5jKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckNvbnRleHQuaDoKKwogMjAxMS0w
NC0xMiAgTHVpeiBBZ29zdGluaSAgPGx1aXouYWdvc3RpbmlAb3BlbmJvc3NhLm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBBbmRyZWFzIEtsaW5nLgpJbmRleDogU291cmNlL1dlYkNvcmUvZmls
ZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHAJKHJldmlzaW9uIDgzNDMyKQorKysgU291cmNl
L1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTU0LDYgKzU0LDggQEAgY29uc3QgY2hhciBET01GaWxlU3lzdGVtQmFzZTo6a1BlcnNpc3Rlbgog
Y29uc3Qgc2l6ZV90IERPTUZpbGVTeXN0ZW1CYXNlOjprUGVyc2lzdGVudFBhdGhQcmVmaXhMZW5n
dGggPSBzaXplb2YoRE9NRmlsZVN5c3RlbUJhc2U6OmtQZXJzaXN0ZW50UGF0aFByZWZpeCkgLSAx
OwogY29uc3QgY2hhciBET01GaWxlU3lzdGVtQmFzZTo6a1RlbXBvcmFyeVBhdGhQcmVmaXhbXSA9
ICJ0ZW1wb3JhcnkiOwogY29uc3Qgc2l6ZV90IERPTUZpbGVTeXN0ZW1CYXNlOjprVGVtcG9yYXJ5
UGF0aFByZWZpeExlbmd0aCA9IHNpemVvZihET01GaWxlU3lzdGVtQmFzZTo6a1RlbXBvcmFyeVBh
dGhQcmVmaXgpIC0gMTsKK2NvbnN0IGNoYXIgRE9NRmlsZVN5c3RlbUJhc2U6OmtFeHRlcm5hbFBh
dGhQcmVmaXhbXSA9ICJleHRlcm5hbCI7Citjb25zdCBzaXplX3QgRE9NRmlsZVN5c3RlbUJhc2U6
OmtFeHRlcm5hbFBhdGhQcmVmaXhMZW5ndGggPSBzaXplb2YoRE9NRmlsZVN5c3RlbUJhc2U6OmtF
eHRlcm5hbFBhdGhQcmVmaXgpIC0gMTsKIAogYm9vbCBET01GaWxlU3lzdGVtQmFzZTo6Y3JhY2tG
aWxlU3lzdGVtVVJMKGNvbnN0IEtVUkwmIHVybCwgQXN5bmNGaWxlU3lzdGVtOjpUeXBlJiB0eXBl
LCBTdHJpbmcmIGZpbGVQYXRoKQogewpAQCAtNzIsNiArNzQsOSBAQCBib29sIERPTUZpbGVTeXN0
ZW1CYXNlOjpjcmFja0ZpbGVTeXN0ZW1VCiAgICAgfSBlbHNlIGlmIChwYXRoLnN0YXJ0c1dpdGgo
a1BlcnNpc3RlbnRQYXRoUHJlZml4KSkgewogICAgICAgICB0eXBlID0gQXN5bmNGaWxlU3lzdGVt
OjpQZXJzaXN0ZW50OwogICAgICAgICBwYXRoID0gcGF0aC5zdWJzdHJpbmcoa1BlcnNpc3RlbnRQ
YXRoUHJlZml4TGVuZ3RoKTsKKyAgICB9IGVsc2UgaWYgKHBhdGguc3RhcnRzV2l0aChrRXh0ZXJu
YWxQYXRoUHJlZml4KSkgeworICAgICAgICB0eXBlID0gQXN5bmNGaWxlU3lzdGVtOjpFeHRlcm5h
bDsKKyAgICAgICAgcGF0aCA9IHBhdGguc3Vic3RyaW5nKGtFeHRlcm5hbFBhdGhQcmVmaXhMZW5n
dGgpOwogICAgIH0gZWxzZQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2ZpbGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9maWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmgJKHJldmlzaW9uIDgzNDMyKQorKysg
U291cmNlL1dlYkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC02Niw2ICs2Niw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGtQZXJz
aXN0ZW50UGF0aFByZWZpeExlbmd0aDsKICAgICBzdGF0aWMgY29uc3QgY2hhciBrVGVtcG9yYXJ5
UGF0aFByZWZpeFtdOwogICAgIHN0YXRpYyBjb25zdCBzaXplX3Qga1RlbXBvcmFyeVBhdGhQcmVm
aXhMZW5ndGg7CisgICAgc3RhdGljIGNvbnN0IGNoYXIga0V4dGVybmFsUGF0aFByZWZpeFtdOwor
ICAgIHN0YXRpYyBjb25zdCBzaXplX3Qga0V4dGVybmFsUGF0aFByZWZpeExlbmd0aDsKICAgICBz
dGF0aWMgYm9vbCBjcmFja0ZpbGVTeXN0ZW1VUkwoY29uc3QgS1VSTCYsIEFzeW5jRmlsZVN5c3Rl
bTo6VHlwZSYsIFN0cmluZyYgZmlsZVBhdGgpOwogCiAgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkg
Y29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0Vu
dHJ5QmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUJh
c2UuY3BwCShyZXZpc2lvbiA4MzQzMikKKysrIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRW50cnlC
YXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjQsNyArNjQsMTcgQEAgU3RyaW5nIEVudHJ5QmFz
ZTo6dG9VUkwoKQogICAgIHJlc3VsdC5hcHBlbmQoImZpbGVzeXN0ZW06Iik7CiAgICAgcmVzdWx0
LmFwcGVuZChvcmlnaW5TdHJpbmcpOwogICAgIHJlc3VsdC5hcHBlbmQoIi8iKTsKLSAgICByZXN1
bHQuYXBwZW5kKG1fZmlsZVN5c3RlbS0+YXN5bmNGaWxlU3lzdGVtKCktPnR5cGUoKSA9PSBBc3lu
Y0ZpbGVTeXN0ZW06OlRlbXBvcmFyeSA/IERPTUZpbGVTeXN0ZW1CYXNlOjprVGVtcG9yYXJ5UGF0
aFByZWZpeCA6IERPTUZpbGVTeXN0ZW1CYXNlOjprUGVyc2lzdGVudFBhdGhQcmVmaXgpOworICAg
IHN3aXRjaCAobV9maWxlU3lzdGVtLT5hc3luY0ZpbGVTeXN0ZW0oKS0+dHlwZSgpKSB7CisgICAg
Y2FzZSBBc3luY0ZpbGVTeXN0ZW06OlRlbXBvcmFyeToKKyAgICAgICAgcmVzdWx0LmFwcGVuZChE
T01GaWxlU3lzdGVtQmFzZTo6a1RlbXBvcmFyeVBhdGhQcmVmaXgpOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIEFzeW5jRmlsZVN5c3RlbTo6UGVyc2lzdGVudDoKKyAgICAgICAgcmVzdWx0LmFw
cGVuZChET01GaWxlU3lzdGVtQmFzZTo6a1BlcnNpc3RlbnRQYXRoUHJlZml4KTsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBBc3luY0ZpbGVTeXN0ZW06OkV4dGVybmFsOgorICAgICAgICByZXN1
bHQuYXBwZW5kKERPTUZpbGVTeXN0ZW1CYXNlOjprRXh0ZXJuYWxQYXRoUHJlZml4KTsKKyAgICAg
ICAgYnJlYWs7CisgICAgfQogICAgIHJlc3VsdC5hcHBlbmQobV9mdWxsUGF0aCk7CiAgICAgcmV0
dXJuIHJlc3VsdC50b1N0cmluZygpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNw
cAkocmV2aXNpb24gODM0MzIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTc1NSw3ICs3NTUsNyBAQCB2b2lkIERPTVdpbmRvdzo6cmVxdWVz
dEZpbGVTeXN0ZW0oaW50IHR5CiAgICAgfQogCiAgICAgQXN5bmNGaWxlU3lzdGVtOjpUeXBlIGZp
bGVTeXN0ZW1UeXBlID0gc3RhdGljX2Nhc3Q8QXN5bmNGaWxlU3lzdGVtOjpUeXBlPih0eXBlKTsK
LSAgICBpZiAoZmlsZVN5c3RlbVR5cGUgIT0gQXN5bmNGaWxlU3lzdGVtOjpUZW1wb3JhcnkgJiYg
ZmlsZVN5c3RlbVR5cGUgIT0gQXN5bmNGaWxlU3lzdGVtOjpQZXJzaXN0ZW50KSB7CisgICAgaWYg
KGZpbGVTeXN0ZW1UeXBlICE9IEFzeW5jRmlsZVN5c3RlbTo6VGVtcG9yYXJ5ICYmIGZpbGVTeXN0
ZW1UeXBlICE9IEFzeW5jRmlsZVN5c3RlbTo6UGVyc2lzdGVudCAmJiBmaWxlU3lzdGVtVHlwZSAh
PSBBc3luY0ZpbGVTeXN0ZW06OkV4dGVybmFsKSB7CiAgICAgICAgIERPTUZpbGVTeXN0ZW06OnNj
aGVkdWxlQ2FsbGJhY2soZG9jdW1lbnQsIGVycm9yQ2FsbGJhY2ssIEZpbGVFcnJvcjo6Y3JlYXRl
KEZpbGVFcnJvcjo6SU5WQUxJRF9NT0RJRklDQVRJT05fRVJSKSk7CiAgICAgICAgIHJldHVybjsK
ICAgICB9CkBAIC03ODgsNiArNzg4LDcgQEAgdm9pZCBET01XaW5kb3c6OnJlc29sdmVMb2NhbEZp
bGVTeXN0ZW1VUgogCiBDT01QSUxFX0FTU0VSVChzdGF0aWNfY2FzdDxpbnQ+KERPTVdpbmRvdzo6
VEVNUE9SQVJZKSA9PSBzdGF0aWNfY2FzdDxpbnQ+KEFzeW5jRmlsZVN5c3RlbTo6VGVtcG9yYXJ5
KSwgZW51bV9taXNtYXRjaCk7CiBDT01QSUxFX0FTU0VSVChzdGF0aWNfY2FzdDxpbnQ+KERPTVdp
bmRvdzo6UEVSU0lTVEVOVCkgPT0gc3RhdGljX2Nhc3Q8aW50PihBc3luY0ZpbGVTeXN0ZW06OlBl
cnNpc3RlbnQpLCBlbnVtX21pc21hdGNoKTsKK0NPTVBJTEVfQVNTRVJUKHN0YXRpY19jYXN0PGlu
dD4oRE9NV2luZG93OjpFWFRFUk5BTCkgPT0gc3RhdGljX2Nhc3Q8aW50PihBc3luY0ZpbGVTeXN0
ZW06OkV4dGVybmFsKSwgZW51bV9taXNtYXRjaCk7CiAKICNlbmRpZgogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmgJKHJldmlzaW9uIDgzNDMyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaAkod29ya2luZyBjb3B5KQpAQCAtMzg2LDYgKzM4Niw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgZW51bSBGaWxlU3lzdGVtVHlwZSB7CiAgICAgICAgICAgICBURU1Q
T1JBUlksCiAgICAgICAgICAgICBQRVJTSVNURU5ULAorICAgICAgICAgICAgRVhURVJOQUwsCiAg
ICAgICAgIH07CiAgICAgICAgIHZvaWQgcmVxdWVzdEZpbGVTeXN0ZW0oaW50IHR5cGUsIGxvbmcg
bG9uZyBzaXplLCBQYXNzUmVmUHRyPEZpbGVTeXN0ZW1DYWxsYmFjaz4sIFBhc3NSZWZQdHI8RXJy
b3JDYWxsYmFjaz4pOwogICAgICAgICB2b2lkIHJlc29sdmVMb2NhbEZpbGVTeXN0ZW1VUkwoY29u
c3QgU3RyaW5nJiwgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiwgUGFzc1JlZlB0cjxFcnJvckNh
bGxiYWNrPik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0u
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0u
aAkocmV2aXNpb24gODM0MzIpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVT
eXN0ZW0uaAkod29ya2luZyBjb3B5KQpAQCAtNTMsNiArNTMsNyBAQCBwdWJsaWM6CiAgICAgZW51
bSBUeXBlIHsKICAgICAgICAgVGVtcG9yYXJ5LAogICAgICAgICBQZXJzaXN0ZW50LAorICAgICAg
ICBFeHRlcm5hbCwKICAgICB9OwogCiAgICAgdmlydHVhbCB2b2lkIHN0b3AoKSB7IH0KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAkocmV2aXNpb24gODM0MzIp
CisrKyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zNTMsNyArMzUzLDcgQEAgdm9pZCBXb3JrZXJDb250ZXh0OjpyZXF1ZXN0RmlsZVN5
c3RlbShpbgogICAgIH0KIAogICAgIEFzeW5jRmlsZVN5c3RlbTo6VHlwZSBmaWxlU3lzdGVtVHlw
ZSA9IHN0YXRpY19jYXN0PEFzeW5jRmlsZVN5c3RlbTo6VHlwZT4odHlwZSk7Ci0gICAgaWYgKGZp
bGVTeXN0ZW1UeXBlICE9IEFzeW5jRmlsZVN5c3RlbTo6VGVtcG9yYXJ5ICYmIGZpbGVTeXN0ZW1U
eXBlICE9IEFzeW5jRmlsZVN5c3RlbTo6UGVyc2lzdGVudCkgeworICAgIGlmIChmaWxlU3lzdGVt
VHlwZSAhPSBBc3luY0ZpbGVTeXN0ZW06OlRlbXBvcmFyeSAmJiBmaWxlU3lzdGVtVHlwZSAhPSBB
c3luY0ZpbGVTeXN0ZW06OlBlcnNpc3RlbnQgJiYgZmlsZVN5c3RlbVR5cGUgIT0gQXN5bmNGaWxl
U3lzdGVtOjpFeHRlcm5hbCkgewogICAgICAgICBET01GaWxlU3lzdGVtOjpzY2hlZHVsZUNhbGxi
YWNrKHRoaXMsIGVycm9yQ2FsbGJhY2ssIEZpbGVFcnJvcjo6Y3JlYXRlKEZpbGVFcnJvcjo6SU5W
QUxJRF9NT0RJRklDQVRJT05fRVJSKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0zNzAs
NyArMzcwLDcgQEAgUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtU3luYz4gV29ya2VyQ29udAogICAg
IH0KIAogICAgIEFzeW5jRmlsZVN5c3RlbTo6VHlwZSBmaWxlU3lzdGVtVHlwZSA9IHN0YXRpY19j
YXN0PEFzeW5jRmlsZVN5c3RlbTo6VHlwZT4odHlwZSk7Ci0gICAgaWYgKGZpbGVTeXN0ZW1UeXBl
ICE9IEFzeW5jRmlsZVN5c3RlbTo6VGVtcG9yYXJ5ICYmIGZpbGVTeXN0ZW1UeXBlICE9IEFzeW5j
RmlsZVN5c3RlbTo6UGVyc2lzdGVudCkgeworICAgIGlmIChmaWxlU3lzdGVtVHlwZSAhPSBBc3lu
Y0ZpbGVTeXN0ZW06OlRlbXBvcmFyeSAmJiBmaWxlU3lzdGVtVHlwZSAhPSBBc3luY0ZpbGVTeXN0
ZW06OlBlcnNpc3RlbnQgJiYgZmlsZVN5c3RlbVR5cGUgIT0gQXN5bmNGaWxlU3lzdGVtOjpFeHRl
cm5hbCkgewogICAgICAgICBlYyA9IEZpbGVFeGNlcHRpb246OklOVkFMSURfTU9ESUZJQ0FUSU9O
X0VSUjsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQpAQCAtNDI5LDYgKzQyOSw3IEBAIFBhc3NS
ZWZQdHI8RW50cnlTeW5jPiBXb3JrZXJDb250ZXh0OjpyZXMKIAogQ09NUElMRV9BU1NFUlQoc3Rh
dGljX2Nhc3Q8aW50PihXb3JrZXJDb250ZXh0OjpURU1QT1JBUlkpID09IHN0YXRpY19jYXN0PGlu
dD4oQXN5bmNGaWxlU3lzdGVtOjpUZW1wb3JhcnkpLCBlbnVtX21pc21hdGNoKTsKIENPTVBJTEVf
QVNTRVJUKHN0YXRpY19jYXN0PGludD4oV29ya2VyQ29udGV4dDo6UEVSU0lTVEVOVCkgPT0gc3Rh
dGljX2Nhc3Q8aW50PihBc3luY0ZpbGVTeXN0ZW06OlBlcnNpc3RlbnQpLCBlbnVtX21pc21hdGNo
KTsKK0NPTVBJTEVfQVNTRVJUKHN0YXRpY19jYXN0PGludD4oV29ya2VyQ29udGV4dDo6RVhURVJO
QUwpID09IHN0YXRpY19jYXN0PGludD4oQXN5bmNGaWxlU3lzdGVtOjpFeHRlcm5hbCksIGVudW1f
bWlzbWF0Y2gpOwogI2VuZGlmCiAKIFdvcmtlckNvbnRleHQ6Ok9ic2VydmVyOjpPYnNlcnZlcihX
b3JrZXJDb250ZXh0KiBjb250ZXh0KQpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJDb250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJD
b250ZXh0LmgJKHJldmlzaW9uIDgzNDMyKQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJDb250ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEzMCw2ICsxMzAsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIGVudW0gRmlsZVN5c3RlbVR5cGUgewogICAgICAgICAgICAgVEVN
UE9SQVJZLAogICAgICAgICAgICAgUEVSU0lTVEVOVCwKKyAgICAgICAgICAgIEVYVEVSTkFMLAog
ICAgICAgICB9OwogICAgICAgICB2b2lkIHJlcXVlc3RGaWxlU3lzdGVtKGludCB0eXBlLCBsb25n
IGxvbmcgc2l6ZSwgUGFzc1JlZlB0cjxGaWxlU3lzdGVtQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFj
aywgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPik7CiAgICAgICAgIFBhc3NSZWZQdHI8RE9NRmls
ZVN5c3RlbVN5bmM+IHJlcXVlc3RGaWxlU3lzdGVtU3luYyhpbnQgdHlwZSwgbG9uZyBsb25nIHNp
emUsIEV4Y2VwdGlvbkNvZGUmKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZp
c2lvbiA4Mzc4MykKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDQtMTMgIFplbGlkcmFnIEhvcm51bmcgIDx6
ZWxpZHJhZ0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkZWQgZW51bXMgZm9yIGV4dGVybmFsIGZpbGUgc3lzdGVtIHR5cGUg
YW5kIGV4cG9zZWQgZmFjdG9yeSBmdW5jdGlvbgorICAgICAgICBmb3IgY3JlYXRpbmcgRmlsZS0g
YW5kIERpcmVjdG9yeUVudHJ5IG9iamVjdHMgZnJvbSBDaHJvbWl1bSBzaWRlLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg0NTYKKworICAgICAgICAq
IHB1YmxpYy9XZWJGaWxlU3lzdGVtLmg6CisgICAgICAgICogcHVibGljL1dlYkZyYW1lLmg6Cisg
ICAgICAgICogc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwOgorICAgICAgICAqIHNyYy9XZWJG
cmFtZUltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmNyZWF0ZUZpbGVT
eXN0ZW0pOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmNyZWF0ZUZpbGVFbnRyeSk6
CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5oOgorCiAyMDExLTA0LTEzICBKb2huIEFiZC1F
bC1NYWxlayAgPGphbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmlhbiBM
aS4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZpbGVTeXN0ZW0uaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVt
LmgJKHJldmlzaW9uIDgzNDMyKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
RmlsZVN5c3RlbS5oCSh3b3JraW5nIGNvcHkpCkBAIC00NSw2ICs0NSw3IEBAIHB1YmxpYzoKICAg
ICBlbnVtIFR5cGUgewogICAgICAgICBUeXBlVGVtcG9yYXJ5LAogICAgICAgICBUeXBlUGVyc2lz
dGVudCwKKyAgICAgICAgVHlwZUV4dGVybmFsLAogICAgIH07CiAKICAgICAvLyBNb3ZlcyBhIGZp
bGUgb3IgZGlyZWN0b3J5IGF0IHxzcmNQYXRofCB0byB8ZGVzdFBhdGh8LgpJbmRleDogU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCShyZXZpc2lvbiA4MzQzMikKKysrIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgJKHdvcmtpbmcgY29weSkKQEAg
LTMyLDYgKzMyLDcgQEAKICNkZWZpbmUgV2ViRnJhbWVfaAogCiAjaW5jbHVkZSAiV2ViQ2FudmFz
LmgiCisjaW5jbHVkZSAiV2ViRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIldlYk5vZGUuaCIKICNp
bmNsdWRlICJXZWJVUkwuaCIKIApAQCAtNzIsNiArNzMsNyBAQCBzdHJ1Y3QgV2ViUmVjdDsKIHN0
cnVjdCBXZWJTY3JpcHRTb3VyY2U7CiBzdHJ1Y3QgV2ViU2l6ZTsKIHN0cnVjdCBXZWJVUkxMb2Fk
ZXJPcHRpb25zOworCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgV2ViVmVjdG9yOwogCiBj
bGFzcyBXZWJGcmFtZSB7CkBAIC0yNjMsOSArMjY1LDE1IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gbWFpbldvcmxkU2NyaXB0Q29udGV4dCgpIGNvbnN0ID0g
MDsKIAogICAgIC8vIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgZmlsZSBzeXN0ZW0gb2JqZWN0Lgot
ICAgIHZpcnR1YWwgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNyZWF0ZUZpbGVTeXN0ZW0oaW50IHR5
cGUsCisgICAgdmlydHVhbCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlRmlsZVN5c3RlbShX
ZWJGaWxlU3lzdGVtOjpUeXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBuYW1lLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBwYXRoKSA9
IDA7CisgICAgLy8gQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBmaWxlIG9yIGRpcmVjdG9yeSBlbnRy
eSBvYmplY3QuCisgICAgdmlydHVhbCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlRmlsZUVu
dHJ5KFdlYkZpbGVTeXN0ZW06OlR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbU5hbWUsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0
cmluZyYgZmlsZVN5c3RlbVBhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVBhdGgsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNEaXJlY3RvcnkpID0g
MDsKICNlbmRpZgogCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1h
dGNoaW5nRW51bXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCShyZXZpc2lvbiA4MzQzMikKKysrIFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zOTIsNiArMzkyLDcgQEAgQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJJREJGYWN0
bwogI2lmIEVOQUJMRShGSUxFX1NZU1RFTSkKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
V2ViRmlsZVN5c3RlbTo6VHlwZVRlbXBvcmFyeSwgQXN5bmNGaWxlU3lzdGVtOjpUZW1wb3Jhcnkp
OwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJGaWxlU3lzdGVtOjpUeXBlUGVyc2lz
dGVudCwgQXN5bmNGaWxlU3lzdGVtOjpQZXJzaXN0ZW50KTsKK0NPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oV2ViRmlsZVN5c3RlbTo6VHlwZUV4dGVybmFsLCBBc3luY0ZpbGVTeXN0ZW06OkV4
dGVybmFsKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViRmlsZUluZm86OlR5cGVV
bmtub3duLCBGaWxlTWV0YWRhdGE6OlR5cGVVbmtub3duKTsKIENPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oV2ViRmlsZUluZm86OlR5cGVGaWxlLCBGaWxlTWV0YWRhdGE6OlR5cGVGaWxlKTsK
IENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViRmlsZUluZm86OlR5cGVEaXJlY3Rvcnks
IEZpbGVNZXRhZGF0YTo6VHlwZURpcmVjdG9yeSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAJKHJldmlzaW9uIDgzNDMyKQorKysgU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY0
LDggKzE2NCwxMyBAQAogI2lmIFVTRShWOCkKICNpbmNsdWRlICJBc3luY0ZpbGVTeXN0ZW0uaCIK
ICNpbmNsdWRlICJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5oIgorI2luY2x1ZGUgIkRpcmVjdG9y
eUVudHJ5LmgiCiAjaW5jbHVkZSAiRE9NRmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgIkZpbGVFbnRy
eS5oIgorI2luY2x1ZGUgIlY4RGlyZWN0b3J5RW50cnkuaCIKICNpbmNsdWRlICJWOERPTUZpbGVT
eXN0ZW0uaCIKKyNpbmNsdWRlICJWOEZpbGVFbnRyeS5oIgorI2luY2x1ZGUgIldlYkZpbGVTeXN0
ZW0uaCIKICNlbmRpZgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKQEAgLTg1MSwxMiArODU2
LDI0IEBAIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gV2ViRnJhbWVJbXBsOjptYWkKICAgICByZXR1
cm4gVjhQcm94eTo6bWFpbldvcmxkQ29udGV4dChtX2ZyYW1lKTsKIH0KIAotdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IFdlYkZyYW1lSW1wbDo6Y3JlYXRlRmlsZVN5c3RlbShpbnQgdHlwZSwKK3Y4OjpI
YW5kbGU8djg6OlZhbHVlPiBXZWJGcmFtZUltcGw6OmNyZWF0ZUZpbGVTeXN0ZW0oV2ViRmlsZVN5
c3RlbTo6VHlwZSB0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIG5hbWUsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgcGF0aCkK
IHsKICAgICByZXR1cm4gdG9WOChET01GaWxlU3lzdGVtOjpjcmVhdGUoZnJhbWUoKS0+ZG9jdW1l
bnQoKSwgbmFtZSwgQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW06OmNyZWF0ZShzdGF0aWNfY2FzdDxB
c3luY0ZpbGVTeXN0ZW06OlR5cGU+KHR5cGUpLCBwYXRoKSkpOwogfQorCit2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gV2ViRnJhbWVJbXBsOjpjcmVhdGVGaWxlRW50cnkoV2ViRmlsZVN5c3RlbTo6VHlw
ZSB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbU5hbWUsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlU3lz
dGVtUGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBXZWJTdHJpbmcmIGZpbGVQYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNEaXJlY3RvcnkpCit7CisgICAgUmVm
UHRyPERPTUZpbGVTeXN0ZW1CYXNlPiBmaWxlU3lzdGVtID0gRE9NRmlsZVN5c3RlbTo6Y3JlYXRl
KGZyYW1lKCktPmRvY3VtZW50KCksIGZpbGVTeXN0ZW1OYW1lLCBBc3luY0ZpbGVTeXN0ZW1DaHJv
bWl1bTo6Y3JlYXRlKHN0YXRpY19jYXN0PEFzeW5jRmlsZVN5c3RlbTo6VHlwZT4odHlwZSksIGZp
bGVTeXN0ZW1QYXRoKSk7CisgICAgaWYgKGlzRGlyZWN0b3J5KQorICAgICAgICByZXR1cm4gdG9W
OChEaXJlY3RvcnlFbnRyeTo6Y3JlYXRlKGZpbGVTeXN0ZW0sIGZpbGVQYXRoKSk7CisgICAgcmV0
dXJuIHRvVjgoRmlsZUVudHJ5OjpjcmVhdGUoZmlsZVN5c3RlbSwgZmlsZVBhdGgpKTsKK30KICNl
bmRpZgogCiBib29sIFdlYkZyYW1lSW1wbDo6aW5zZXJ0U3R5bGVUZXh0KApJbmRleDogU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgJKHJldmlzaW9uIDgzNDMyKQorKysg
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgJKHdvcmtpbmcgY29weSkK
QEAgLTEwOSw5ICsxMDksMTQgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IGV4ZWN1dGVTY3JpcHRBbmRSZXR1cm5WYWx1ZSgKICAgICAgICAgY29uc3QgV2ViU2Ny
aXB0U291cmNlJik7CiAgICAgdmlydHVhbCB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IG1haW5Xb3Js
ZFNjcmlwdENvbnRleHQoKSBjb25zdDsKLSAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiBjcmVhdGVGaWxlU3lzdGVtKGludCB0eXBlLAorICAgIHZpcnR1YWwgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IGNyZWF0ZUZpbGVTeXN0ZW0oV2ViRmlsZVN5c3RlbTo6VHlwZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYg
bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IFdlYlN0cmluZyYgcGF0aCk7CisgICAgdmlydHVhbCB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gY3JlYXRlRmlsZUVudHJ5KFdlYkZpbGVTeXN0ZW06OlR5cGUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5
c3RlbU5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbVBhdGgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVBhdGgs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wg
aXNEaXJlY3RvcnkpOwogI2VuZGlmCiAgICAgdmlydHVhbCBib29sIGluc2VydFN0eWxlVGV4dChj
b25zdCBXZWJTdHJpbmcmIGNzcywgY29uc3QgV2ViU3RyaW5nJiBpZCk7CiAgICAgdmlydHVhbCB2
b2lkIHJlbG9hZChib29sIGlnbm9yZUNhY2hlKTsK
</data>
<flag name="review"
          id="82191"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89662</attachid>
            <date>2011-04-14 15:05:00 -0700</date>
            <delta_ts>2011-04-14 15:28:50 -0700</delta_ts>
            <desc>Added &apos;external&apos; file system enum, few Chromium factory functions for File API objects</desc>
            <filename>wk_58456.diff</filename>
            <type>text/plain</type>
            <size>15676</size>
            <attacher name="Zelidrag Hornung">zelidrag</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgzODYzKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDQtMTQgIFplbGlkcmFn
IEhvcm51bmcgIDx6ZWxpZHJhZ0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZW51bXMgZm9yIGV4dGVybmFsIGZpbGUg
c3lzdGVtIHR5cGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01ODQ1NgorCisgICAgICAgICogZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpET01GaWxlU3lzdGVtQmFzZTo6Y3JhY2tGaWxlU3lzdGVtVVJMKToK
KyAgICAgICAgKiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmg6CisgICAgICAgICogZmlsZWFw
aS9FbnRyeUJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RW50cnlCYXNlOjp0b1VSTCk6Cisg
ICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93
OjpyZXF1ZXN0RmlsZVN5c3RlbSk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtl
ckNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dDo6cmVxdWVzdEZp
bGVTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dDo6cmVxdWVzdEZpbGVT
eXN0ZW1TeW5jKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckNvbnRleHQuaDoKKwogMjAxMS0w
NC0xNCAgU2F0aXNoIFNhbXBhdGggIDxzYXRpc2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEtlbnQgVGFtdXJhLgpJbmRleDogU291cmNlL1dlYkNvcmUvZmlsZWFwaS9ET01G
aWxlU3lzdGVtQmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZmlsZWFwaS9E
T01GaWxlU3lzdGVtQmFzZS5jcHAJKHJldmlzaW9uIDgzODA3KQorKysgU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDYgKzU0
LDggQEAgY29uc3QgY2hhciBET01GaWxlU3lzdGVtQmFzZTo6a1BlcnNpc3RlbgogY29uc3Qgc2l6
ZV90IERPTUZpbGVTeXN0ZW1CYXNlOjprUGVyc2lzdGVudFBhdGhQcmVmaXhMZW5ndGggPSBzaXpl
b2YoRE9NRmlsZVN5c3RlbUJhc2U6OmtQZXJzaXN0ZW50UGF0aFByZWZpeCkgLSAxOwogY29uc3Qg
Y2hhciBET01GaWxlU3lzdGVtQmFzZTo6a1RlbXBvcmFyeVBhdGhQcmVmaXhbXSA9ICJ0ZW1wb3Jh
cnkiOwogY29uc3Qgc2l6ZV90IERPTUZpbGVTeXN0ZW1CYXNlOjprVGVtcG9yYXJ5UGF0aFByZWZp
eExlbmd0aCA9IHNpemVvZihET01GaWxlU3lzdGVtQmFzZTo6a1RlbXBvcmFyeVBhdGhQcmVmaXgp
IC0gMTsKK2NvbnN0IGNoYXIgRE9NRmlsZVN5c3RlbUJhc2U6OmtFeHRlcm5hbFBhdGhQcmVmaXhb
XSA9ICJleHRlcm5hbCI7Citjb25zdCBzaXplX3QgRE9NRmlsZVN5c3RlbUJhc2U6OmtFeHRlcm5h
bFBhdGhQcmVmaXhMZW5ndGggPSBzaXplb2YoRE9NRmlsZVN5c3RlbUJhc2U6OmtFeHRlcm5hbFBh
dGhQcmVmaXgpIC0gMTsKIAogYm9vbCBET01GaWxlU3lzdGVtQmFzZTo6Y3JhY2tGaWxlU3lzdGVt
VVJMKGNvbnN0IEtVUkwmIHVybCwgQXN5bmNGaWxlU3lzdGVtOjpUeXBlJiB0eXBlLCBTdHJpbmcm
IGZpbGVQYXRoKQogewpAQCAtNzIsNiArNzQsOSBAQCBib29sIERPTUZpbGVTeXN0ZW1CYXNlOjpj
cmFja0ZpbGVTeXN0ZW1VCiAgICAgfSBlbHNlIGlmIChwYXRoLnN0YXJ0c1dpdGgoa1BlcnNpc3Rl
bnRQYXRoUHJlZml4KSkgewogICAgICAgICB0eXBlID0gQXN5bmNGaWxlU3lzdGVtOjpQZXJzaXN0
ZW50OwogICAgICAgICBwYXRoID0gcGF0aC5zdWJzdHJpbmcoa1BlcnNpc3RlbnRQYXRoUHJlZml4
TGVuZ3RoKTsKKyAgICB9IGVsc2UgaWYgKHBhdGguc3RhcnRzV2l0aChrRXh0ZXJuYWxQYXRoUHJl
Zml4KSkgeworICAgICAgICB0eXBlID0gQXN5bmNGaWxlU3lzdGVtOjpFeHRlcm5hbDsKKyAgICAg
ICAgcGF0aCA9IHBhdGguc3Vic3RyaW5nKGtFeHRlcm5hbFBhdGhQcmVmaXhMZW5ndGgpOwogICAg
IH0gZWxzZQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Zp
bGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9m
aWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmgJKHJldmlzaW9uIDgzODA3KQorKysgU291cmNlL1dl
YkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02Niw2
ICs2Niw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGtQZXJzaXN0ZW50UGF0
aFByZWZpeExlbmd0aDsKICAgICBzdGF0aWMgY29uc3QgY2hhciBrVGVtcG9yYXJ5UGF0aFByZWZp
eFtdOwogICAgIHN0YXRpYyBjb25zdCBzaXplX3Qga1RlbXBvcmFyeVBhdGhQcmVmaXhMZW5ndGg7
CisgICAgc3RhdGljIGNvbnN0IGNoYXIga0V4dGVybmFsUGF0aFByZWZpeFtdOworICAgIHN0YXRp
YyBjb25zdCBzaXplX3Qga0V4dGVybmFsUGF0aFByZWZpeExlbmd0aDsKICAgICBzdGF0aWMgYm9v
bCBjcmFja0ZpbGVTeXN0ZW1VUkwoY29uc3QgS1VSTCYsIEFzeW5jRmlsZVN5c3RlbTo6VHlwZSYs
IFN0cmluZyYgZmlsZVBhdGgpOwogCiAgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyBy
ZXR1cm4gbV9uYW1lOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0VudHJ5QmFzZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUJhc2UuY3BwCShy
ZXZpc2lvbiA4MzgwNykKKysrIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRW50cnlCYXNlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjQsNyArNjQsMTcgQEAgU3RyaW5nIEVudHJ5QmFzZTo6dG9VUkwo
KQogICAgIHJlc3VsdC5hcHBlbmQoImZpbGVzeXN0ZW06Iik7CiAgICAgcmVzdWx0LmFwcGVuZChv
cmlnaW5TdHJpbmcpOwogICAgIHJlc3VsdC5hcHBlbmQoIi8iKTsKLSAgICByZXN1bHQuYXBwZW5k
KG1fZmlsZVN5c3RlbS0+YXN5bmNGaWxlU3lzdGVtKCktPnR5cGUoKSA9PSBBc3luY0ZpbGVTeXN0
ZW06OlRlbXBvcmFyeSA/IERPTUZpbGVTeXN0ZW1CYXNlOjprVGVtcG9yYXJ5UGF0aFByZWZpeCA6
IERPTUZpbGVTeXN0ZW1CYXNlOjprUGVyc2lzdGVudFBhdGhQcmVmaXgpOworICAgIHN3aXRjaCAo
bV9maWxlU3lzdGVtLT5hc3luY0ZpbGVTeXN0ZW0oKS0+dHlwZSgpKSB7CisgICAgY2FzZSBBc3lu
Y0ZpbGVTeXN0ZW06OlRlbXBvcmFyeToKKyAgICAgICAgcmVzdWx0LmFwcGVuZChET01GaWxlU3lz
dGVtQmFzZTo6a1RlbXBvcmFyeVBhdGhQcmVmaXgpOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IEFzeW5jRmlsZVN5c3RlbTo6UGVyc2lzdGVudDoKKyAgICAgICAgcmVzdWx0LmFwcGVuZChET01G
aWxlU3lzdGVtQmFzZTo6a1BlcnNpc3RlbnRQYXRoUHJlZml4KTsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBBc3luY0ZpbGVTeXN0ZW06OkV4dGVybmFsOgorICAgICAgICByZXN1bHQuYXBwZW5k
KERPTUZpbGVTeXN0ZW1CYXNlOjprRXh0ZXJuYWxQYXRoUHJlZml4KTsKKyAgICAgICAgYnJlYWs7
CisgICAgfQogICAgIHJlc3VsdC5hcHBlbmQobV9mdWxsUGF0aCk7CiAgICAgcmV0dXJuIHJlc3Vs
dC50b1N0cmluZygpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAkocmV2aXNp
b24gODM4MDcpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTc1NSw3ICs3NTUsNyBAQCB2b2lkIERPTVdpbmRvdzo6cmVxdWVzdEZpbGVTeXN0
ZW0oaW50IHR5CiAgICAgfQogCiAgICAgQXN5bmNGaWxlU3lzdGVtOjpUeXBlIGZpbGVTeXN0ZW1U
eXBlID0gc3RhdGljX2Nhc3Q8QXN5bmNGaWxlU3lzdGVtOjpUeXBlPih0eXBlKTsKLSAgICBpZiAo
ZmlsZVN5c3RlbVR5cGUgIT0gQXN5bmNGaWxlU3lzdGVtOjpUZW1wb3JhcnkgJiYgZmlsZVN5c3Rl
bVR5cGUgIT0gQXN5bmNGaWxlU3lzdGVtOjpQZXJzaXN0ZW50KSB7CisgICAgaWYgKGZpbGVTeXN0
ZW1UeXBlICE9IEFzeW5jRmlsZVN5c3RlbTo6VGVtcG9yYXJ5ICYmIGZpbGVTeXN0ZW1UeXBlICE9
IEFzeW5jRmlsZVN5c3RlbTo6UGVyc2lzdGVudCAmJiBmaWxlU3lzdGVtVHlwZSAhPSBBc3luY0Zp
bGVTeXN0ZW06OkV4dGVybmFsKSB7CiAgICAgICAgIERPTUZpbGVTeXN0ZW06OnNjaGVkdWxlQ2Fs
bGJhY2soZG9jdW1lbnQsIGVycm9yQ2FsbGJhY2ssIEZpbGVFcnJvcjo6Y3JlYXRlKEZpbGVFcnJv
cjo6SU5WQUxJRF9NT0RJRklDQVRJT05fRVJSKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBA
IC03ODgsNiArNzg4LDcgQEAgdm9pZCBET01XaW5kb3c6OnJlc29sdmVMb2NhbEZpbGVTeXN0ZW1V
UgogCiBDT01QSUxFX0FTU0VSVChzdGF0aWNfY2FzdDxpbnQ+KERPTVdpbmRvdzo6VEVNUE9SQVJZ
KSA9PSBzdGF0aWNfY2FzdDxpbnQ+KEFzeW5jRmlsZVN5c3RlbTo6VGVtcG9yYXJ5KSwgZW51bV9t
aXNtYXRjaCk7CiBDT01QSUxFX0FTU0VSVChzdGF0aWNfY2FzdDxpbnQ+KERPTVdpbmRvdzo6UEVS
U0lTVEVOVCkgPT0gc3RhdGljX2Nhc3Q8aW50PihBc3luY0ZpbGVTeXN0ZW06OlBlcnNpc3RlbnQp
LCBlbnVtX21pc21hdGNoKTsKK0NPTVBJTEVfQVNTRVJUKHN0YXRpY19jYXN0PGludD4oRE9NV2lu
ZG93OjpFWFRFUk5BTCkgPT0gc3RhdGljX2Nhc3Q8aW50PihBc3luY0ZpbGVTeXN0ZW06OkV4dGVy
bmFsKSwgZW51bV9taXNtYXRjaCk7CiAKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmgJKHJldmlzaW9uIDgzODA3KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aAkod29ya2luZyBjb3B5KQpAQCAtMzg2LDYgKzM4Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgZW51bSBGaWxlU3lzdGVtVHlwZSB7CiAgICAgICAgICAgICBURU1QT1JBUlksCiAg
ICAgICAgICAgICBQRVJTSVNURU5ULAorICAgICAgICAgICAgRVhURVJOQUwsCiAgICAgICAgIH07
CiAgICAgICAgIHZvaWQgcmVxdWVzdEZpbGVTeXN0ZW0oaW50IHR5cGUsIGxvbmcgbG9uZyBzaXpl
LCBQYXNzUmVmUHRyPEZpbGVTeXN0ZW1DYWxsYmFjaz4sIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFj
az4pOwogICAgICAgICB2b2lkIHJlc29sdmVMb2NhbEZpbGVTeXN0ZW1VUkwoY29uc3QgU3RyaW5n
JiwgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPik7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAkocmV2aXNp
b24gODM4MDcpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAko
d29ya2luZyBjb3B5KQpAQCAtNTMsNiArNTMsNyBAQCBwdWJsaWM6CiAgICAgZW51bSBUeXBlIHsK
ICAgICAgICAgVGVtcG9yYXJ5LAogICAgICAgICBQZXJzaXN0ZW50LAorICAgICAgICBFeHRlcm5h
bCwKICAgICB9OwogCiAgICAgdmlydHVhbCB2b2lkIHN0b3AoKSB7IH0KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAkocmV2aXNpb24gODM4MDcpCisrKyBTb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
NTMsNyArMzUzLDcgQEAgdm9pZCBXb3JrZXJDb250ZXh0OjpyZXF1ZXN0RmlsZVN5c3RlbShpbgog
ICAgIH0KIAogICAgIEFzeW5jRmlsZVN5c3RlbTo6VHlwZSBmaWxlU3lzdGVtVHlwZSA9IHN0YXRp
Y19jYXN0PEFzeW5jRmlsZVN5c3RlbTo6VHlwZT4odHlwZSk7Ci0gICAgaWYgKGZpbGVTeXN0ZW1U
eXBlICE9IEFzeW5jRmlsZVN5c3RlbTo6VGVtcG9yYXJ5ICYmIGZpbGVTeXN0ZW1UeXBlICE9IEFz
eW5jRmlsZVN5c3RlbTo6UGVyc2lzdGVudCkgeworICAgIGlmIChmaWxlU3lzdGVtVHlwZSAhPSBB
c3luY0ZpbGVTeXN0ZW06OlRlbXBvcmFyeSAmJiBmaWxlU3lzdGVtVHlwZSAhPSBBc3luY0ZpbGVT
eXN0ZW06OlBlcnNpc3RlbnQgJiYgZmlsZVN5c3RlbVR5cGUgIT0gQXN5bmNGaWxlU3lzdGVtOjpF
eHRlcm5hbCkgewogICAgICAgICBET01GaWxlU3lzdGVtOjpzY2hlZHVsZUNhbGxiYWNrKHRoaXMs
IGVycm9yQ2FsbGJhY2ssIEZpbGVFcnJvcjo6Y3JlYXRlKEZpbGVFcnJvcjo6SU5WQUxJRF9NT0RJ
RklDQVRJT05fRVJSKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0zNzAsNyArMzcwLDcg
QEAgUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtU3luYz4gV29ya2VyQ29udAogICAgIH0KIAogICAg
IEFzeW5jRmlsZVN5c3RlbTo6VHlwZSBmaWxlU3lzdGVtVHlwZSA9IHN0YXRpY19jYXN0PEFzeW5j
RmlsZVN5c3RlbTo6VHlwZT4odHlwZSk7Ci0gICAgaWYgKGZpbGVTeXN0ZW1UeXBlICE9IEFzeW5j
RmlsZVN5c3RlbTo6VGVtcG9yYXJ5ICYmIGZpbGVTeXN0ZW1UeXBlICE9IEFzeW5jRmlsZVN5c3Rl
bTo6UGVyc2lzdGVudCkgeworICAgIGlmIChmaWxlU3lzdGVtVHlwZSAhPSBBc3luY0ZpbGVTeXN0
ZW06OlRlbXBvcmFyeSAmJiBmaWxlU3lzdGVtVHlwZSAhPSBBc3luY0ZpbGVTeXN0ZW06OlBlcnNp
c3RlbnQgJiYgZmlsZVN5c3RlbVR5cGUgIT0gQXN5bmNGaWxlU3lzdGVtOjpFeHRlcm5hbCkgewog
ICAgICAgICBlYyA9IEZpbGVFeGNlcHRpb246OklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUjsKICAg
ICAgICAgcmV0dXJuIDA7CiAgICAgfQpAQCAtNDI5LDYgKzQyOSw3IEBAIFBhc3NSZWZQdHI8RW50
cnlTeW5jPiBXb3JrZXJDb250ZXh0OjpyZXMKIAogQ09NUElMRV9BU1NFUlQoc3RhdGljX2Nhc3Q8
aW50PihXb3JrZXJDb250ZXh0OjpURU1QT1JBUlkpID09IHN0YXRpY19jYXN0PGludD4oQXN5bmNG
aWxlU3lzdGVtOjpUZW1wb3JhcnkpLCBlbnVtX21pc21hdGNoKTsKIENPTVBJTEVfQVNTRVJUKHN0
YXRpY19jYXN0PGludD4oV29ya2VyQ29udGV4dDo6UEVSU0lTVEVOVCkgPT0gc3RhdGljX2Nhc3Q8
aW50PihBc3luY0ZpbGVTeXN0ZW06OlBlcnNpc3RlbnQpLCBlbnVtX21pc21hdGNoKTsKK0NPTVBJ
TEVfQVNTRVJUKHN0YXRpY19jYXN0PGludD4oV29ya2VyQ29udGV4dDo6RVhURVJOQUwpID09IHN0
YXRpY19jYXN0PGludD4oQXN5bmNGaWxlU3lzdGVtOjpFeHRlcm5hbCksIGVudW1fbWlzbWF0Y2gp
OwogI2VuZGlmCiAKIFdvcmtlckNvbnRleHQ6Ok9ic2VydmVyOjpPYnNlcnZlcihXb3JrZXJDb250
ZXh0KiBjb250ZXh0KQpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgJ
KHJldmlzaW9uIDgzODA3KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEzMCw2ICsxMzAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIGVudW0gRmlsZVN5c3RlbVR5cGUgewogICAgICAgICAgICAgVEVNUE9SQVJZLAog
ICAgICAgICAgICAgUEVSU0lTVEVOVCwKKyAgICAgICAgICAgIEVYVEVSTkFMLAogICAgICAgICB9
OwogICAgICAgICB2b2lkIHJlcXVlc3RGaWxlU3lzdGVtKGludCB0eXBlLCBsb25nIGxvbmcgc2l6
ZSwgUGFzc1JlZlB0cjxGaWxlU3lzdGVtQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1Jl
ZlB0cjxFcnJvckNhbGxiYWNrPik7CiAgICAgICAgIFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbVN5
bmM+IHJlcXVlc3RGaWxlU3lzdGVtU3luYyhpbnQgdHlwZSwgbG9uZyBsb25nIHNpemUsIEV4Y2Vw
dGlvbkNvZGUmKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA4Mzg2
MykKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMTEtMDQtMTQgIFplbGlkcmFnIEhvcm51bmcgIDx6ZWxpZHJhZ0Bj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkZWQgZW51bXMgZm9yIGV4dGVybmFsIGZpbGUgc3lzdGVtIHR5cGUgYW5kIGV4cG9z
ZWQgZmFjdG9yeSBmdW5jdGlvbgorICAgICAgICBmb3IgY3JlYXRpbmcgRmlsZS0gYW5kIERpcmVj
dG9yeUVudHJ5IG9iamVjdHMgZnJvbSBDaHJvbWl1bSBzaWRlLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg0NTYKKworICAgICAgICAqIHB1YmxpYy9X
ZWJGaWxlU3lzdGVtLmg6CisgICAgICAgICogcHVibGljL1dlYkZyYW1lLmg6CisgICAgICAgICog
c3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwOgorICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmNyZWF0ZUZpbGVTeXN0ZW0pOgor
ICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmNyZWF0ZUZpbGVFbnRyeSk6CisgICAgICAg
ICogc3JjL1dlYkZyYW1lSW1wbC5oOgorCiAyMDExLTA0LTE0ICBCaWxsIEJ1ZGdlICA8YmJ1ZGdl
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCkluZGV4
OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbS5oCShyZXZp
c2lvbiA4MzgwNykKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZpbGVTeXN0
ZW0uaAkod29ya2luZyBjb3B5KQpAQCAtNDAsMTEgKzQwLDE0IEBAIGNsYXNzIFdlYkZpbGVTeXN0
ZW1DYWxsYmFja3M7CiBjbGFzcyBXZWJGaWxlV3JpdGVyOwogY2xhc3MgV2ViRmlsZVdyaXRlckNs
aWVudDsKIAorI2RlZmluZSBXRUJfRklMRV9TWVNURU1fVFlQRV9FWFRFUk5BTDsKKwogY2xhc3Mg
V2ViRmlsZVN5c3RlbSB7CiBwdWJsaWM6CiAgICAgZW51bSBUeXBlIHsKICAgICAgICAgVHlwZVRl
bXBvcmFyeSwKICAgICAgICAgVHlwZVBlcnNpc3RlbnQsCisgICAgICAgIFR5cGVFeHRlcm5hbCwK
ICAgICB9OwogCiAgICAgLy8gTW92ZXMgYSBmaWxlIG9yIGRpcmVjdG9yeSBhdCB8c3JjUGF0aHwg
dG8gfGRlc3RQYXRofC4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZy
YW1lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJh
bWUuaAkocmV2aXNpb24gODM4MDcpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJGcmFtZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw2ICszMiw3IEBACiAjZGVmaW5lIFdlYkZy
YW1lX2gKIAogI2luY2x1ZGUgIldlYkNhbnZhcy5oIgorI2luY2x1ZGUgIldlYkZpbGVTeXN0ZW0u
aCIKICNpbmNsdWRlICJXZWJOb2RlLmgiCiAjaW5jbHVkZSAiV2ViVVJMLmgiCiAKQEAgLTcyLDYg
KzczLDcgQEAgc3RydWN0IFdlYlJlY3Q7CiBzdHJ1Y3QgV2ViU2NyaXB0U291cmNlOwogc3RydWN0
IFdlYlNpemU7CiBzdHJ1Y3QgV2ViVVJMTG9hZGVyT3B0aW9uczsKKwogdGVtcGxhdGUgPHR5cGVu
YW1lIFQ+IGNsYXNzIFdlYlZlY3RvcjsKIAogY2xhc3MgV2ViRnJhbWUgewpAQCAtMjYzLDkgKzI2
NSwxNSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IG1haW5X
b3JsZFNjcmlwdENvbnRleHQoKSBjb25zdCA9IDA7CiAKICAgICAvLyBDcmVhdGVzIGFuIGluc3Rh
bmNlIG9mIGZpbGUgc3lzdGVtIG9iamVjdC4KLSAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBjcmVhdGVGaWxlU3lzdGVtKGludCB0eXBlLAorICAgIHZpcnR1YWwgdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IGNyZWF0ZUZpbGVTeXN0ZW0oV2ViRmlsZVN5c3RlbTo6VHlwZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0cmlu
ZyYgbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IFdlYlN0cmluZyYgcGF0aCkgPSAwOworICAgIC8vIENyZWF0ZXMgYW4gaW5zdGFu
Y2Ugb2YgZmlsZSBvciBkaXJlY3RvcnkgZW50cnkgb2JqZWN0LgorICAgIHZpcnR1YWwgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IGNyZWF0ZUZpbGVFbnRyeShXZWJGaWxlU3lzdGVtOjpUeXBlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJT
dHJpbmcmIGZpbGVTeXN0ZW1OYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGZpbGVTeXN0ZW1QYXRoLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJp
bmcmIGZpbGVQYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBib29sIGlzRGlyZWN0b3J5KSA9IDA7CiAjZW5kaWYKIAogCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAkocmV2
aXNpb24gODM4MDcpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGlu
Z0VudW1zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzkyLDYgKzM5Miw3IEBAIENPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oV2ViSURCRmFjdG8KICNpZiBFTkFCTEUoRklMRV9TWVNURU0pCiBD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkZpbGVTeXN0ZW06OlR5cGVUZW1wb3Jhcnks
IEFzeW5jRmlsZVN5c3RlbTo6VGVtcG9yYXJ5KTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oV2ViRmlsZVN5c3RlbTo6VHlwZVBlcnNpc3RlbnQsIEFzeW5jRmlsZVN5c3RlbTo6UGVyc2lz
dGVudCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkZpbGVTeXN0ZW06OlR5cGVF
eHRlcm5hbCwgQXN5bmNGaWxlU3lzdGVtOjpFeHRlcm5hbCk7CiBDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKFdlYkZpbGVJbmZvOjpUeXBlVW5rbm93biwgRmlsZU1ldGFkYXRhOjpUeXBlVW5r
bm93bik7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYkZpbGVJbmZvOjpUeXBlRmls
ZSwgRmlsZU1ldGFkYXRhOjpUeXBlRmlsZSk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFdlYkZpbGVJbmZvOjpUeXBlRGlyZWN0b3J5LCBGaWxlTWV0YWRhdGE6OlR5cGVEaXJlY3Rvcnkp
OwpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCShy
ZXZpc2lvbiA4MzgwNykKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1w
bC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2NCw4ICsxNjQsMTMgQEAKICNpZiBVU0UoVjgpCiAj
aW5jbHVkZSAiQXN5bmNGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiQXN5bmNGaWxlU3lzdGVtQ2hy
b21pdW0uaCIKKyNpbmNsdWRlICJEaXJlY3RvcnlFbnRyeS5oIgogI2luY2x1ZGUgIkRPTUZpbGVT
eXN0ZW0uaCIKKyNpbmNsdWRlICJGaWxlRW50cnkuaCIKKyNpbmNsdWRlICJWOERpcmVjdG9yeUVu
dHJ5LmgiCiAjaW5jbHVkZSAiVjhET01GaWxlU3lzdGVtLmgiCisjaW5jbHVkZSAiVjhGaWxlRW50
cnkuaCIKKyNpbmNsdWRlICJXZWJGaWxlU3lzdGVtLmgiCiAjZW5kaWYKIAogdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CkBAIC04NTEsMTIgKzg1NiwyNCBAQCB2ODo6TG9jYWw8djg6OkNvbnRleHQ+
IFdlYkZyYW1lSW1wbDo6bWFpCiAgICAgcmV0dXJuIFY4UHJveHk6Om1haW5Xb3JsZENvbnRleHQo
bV9mcmFtZSk7CiB9CiAKLXY4OjpIYW5kbGU8djg6OlZhbHVlPiBXZWJGcmFtZUltcGw6OmNyZWF0
ZUZpbGVTeXN0ZW0oaW50IHR5cGUsCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gV2ViRnJhbWVJbXBs
OjpjcmVhdGVGaWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW06OlR5cGUgdHlwZSwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5n
JiBuYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBXZWJTdHJpbmcmIHBhdGgpCiB7CiAgICAgcmV0dXJuIHRvVjgoRE9NRmlsZVN5
c3RlbTo6Y3JlYXRlKGZyYW1lKCktPmRvY3VtZW50KCksIG5hbWUsIEFzeW5jRmlsZVN5c3RlbUNo
cm9taXVtOjpjcmVhdGUoc3RhdGljX2Nhc3Q8QXN5bmNGaWxlU3lzdGVtOjpUeXBlPih0eXBlKSwg
cGF0aCkpKTsKIH0KKwordjg6OkhhbmRsZTx2ODo6VmFsdWU+IFdlYkZyYW1lSW1wbDo6Y3JlYXRl
RmlsZUVudHJ5KFdlYkZpbGVTeXN0ZW06OlR5cGUgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGZpbGVTeXN0
ZW1OYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNvbnN0IFdlYlN0cmluZyYgZmlsZVN5c3RlbVBhdGgsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlUGF0
aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
b29sIGlzRGlyZWN0b3J5KQoreworICAgIFJlZlB0cjxET01GaWxlU3lzdGVtQmFzZT4gZmlsZVN5
c3RlbSA9IERPTUZpbGVTeXN0ZW06OmNyZWF0ZShmcmFtZSgpLT5kb2N1bWVudCgpLCBmaWxlU3lz
dGVtTmFtZSwgQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW06OmNyZWF0ZShzdGF0aWNfY2FzdDxBc3lu
Y0ZpbGVTeXN0ZW06OlR5cGU+KHR5cGUpLCBmaWxlU3lzdGVtUGF0aCkpOworICAgIGlmIChpc0Rp
cmVjdG9yeSkKKyAgICAgICAgcmV0dXJuIHRvVjgoRGlyZWN0b3J5RW50cnk6OmNyZWF0ZShmaWxl
U3lzdGVtLCBmaWxlUGF0aCkpOworICAgIHJldHVybiB0b1Y4KEZpbGVFbnRyeTo6Y3JlYXRlKGZp
bGVTeXN0ZW0sIGZpbGVQYXRoKSk7Cit9CiAjZW5kaWYKIAogYm9vbCBXZWJGcmFtZUltcGw6Omlu
c2VydFN0eWxlVGV4dCgKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1l
SW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1l
SW1wbC5oCShyZXZpc2lvbiA4MzgwNykKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkZyYW1lSW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDksOSArMTA5LDE0IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBleGVjdXRlU2NyaXB0QW5kUmV0dXJu
VmFsdWUoCiAgICAgICAgIGNvbnN0IFdlYlNjcmlwdFNvdXJjZSYpOwogICAgIHZpcnR1YWwgdjg6
OkxvY2FsPHY4OjpDb250ZXh0PiBtYWluV29ybGRTY3JpcHRDb250ZXh0KCkgY29uc3Q7Ci0gICAg
dmlydHVhbCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlRmlsZVN5c3RlbShpbnQgdHlwZSwK
KyAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjcmVhdGVGaWxlU3lzdGVtKFdlYkZp
bGVTeXN0ZW06OlR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIG5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIHBhdGgpOworICAg
IHZpcnR1YWwgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNyZWF0ZUZpbGVFbnRyeShXZWJGaWxlU3lz
dGVtOjpUeXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBXZWJTdHJpbmcmIGZpbGVTeXN0ZW1OYW1lLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGZpbGVTeXN0
ZW1QYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBXZWJTdHJpbmcmIGZpbGVQYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBib29sIGlzRGlyZWN0b3J5KTsKICNlbmRpZgogICAgIHZp
cnR1YWwgYm9vbCBpbnNlcnRTdHlsZVRleHQoY29uc3QgV2ViU3RyaW5nJiBjc3MsIGNvbnN0IFdl
YlN0cmluZyYgaWQpOwogICAgIHZpcnR1YWwgdm9pZCByZWxvYWQoYm9vbCBpZ25vcmVDYWNoZSk7
Cg==
</data>
<flag name="review"
          id="82380"
          type_id="1"
          status="+"
          setter="fishd"
    />
    <flag name="commit-queue"
          id="82381"
          type_id="3"
          status="-"
          setter="fishd"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89671</attachid>
            <date>2011-04-14 15:28:50 -0700</date>
            <delta_ts>2011-04-15 07:35:51 -0700</delta_ts>
            <desc>Added &apos;external&apos; file system enum, few Chromium factory functions for File API objects</desc>
            <filename>wk_58456.diff</filename>
            <type>text/plain</type>
            <size>15746</size>
            <attacher name="Zelidrag Hornung">zelidrag</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgzODYzKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDQtMTQgIFplbGlkcmFn
IEhvcm51bmcgIDx6ZWxpZHJhZ0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgZW51bXMgZm9yIGV4dGVybmFsIGZpbGUg
c3lzdGVtIHR5cGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01ODQ1NgorCisgICAgICAgICogZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpET01GaWxlU3lzdGVtQmFzZTo6Y3JhY2tGaWxlU3lzdGVtVVJMKToK
KyAgICAgICAgKiBmaWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmg6CisgICAgICAgICogZmlsZWFw
aS9FbnRyeUJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RW50cnlCYXNlOjp0b1VSTCk6Cisg
ICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2luZG93
OjpyZXF1ZXN0RmlsZVN5c3RlbSk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtl
ckNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dDo6cmVxdWVzdEZp
bGVTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dDo6cmVxdWVzdEZpbGVT
eXN0ZW1TeW5jKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckNvbnRleHQuaDoKKwogMjAxMS0w
NC0xNCAgU2F0aXNoIFNhbXBhdGggIDxzYXRpc2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEtlbnQgVGFtdXJhLgpJbmRleDogU291cmNlL1dlYkNvcmUvZmlsZWFwaS9ET01G
aWxlU3lzdGVtQmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZmlsZWFwaS9E
T01GaWxlU3lzdGVtQmFzZS5jcHAJKHJldmlzaW9uIDgzODA3KQorKysgU291cmNlL1dlYkNvcmUv
ZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDYgKzU0
LDggQEAgY29uc3QgY2hhciBET01GaWxlU3lzdGVtQmFzZTo6a1BlcnNpc3RlbgogY29uc3Qgc2l6
ZV90IERPTUZpbGVTeXN0ZW1CYXNlOjprUGVyc2lzdGVudFBhdGhQcmVmaXhMZW5ndGggPSBzaXpl
b2YoRE9NRmlsZVN5c3RlbUJhc2U6OmtQZXJzaXN0ZW50UGF0aFByZWZpeCkgLSAxOwogY29uc3Qg
Y2hhciBET01GaWxlU3lzdGVtQmFzZTo6a1RlbXBvcmFyeVBhdGhQcmVmaXhbXSA9ICJ0ZW1wb3Jh
cnkiOwogY29uc3Qgc2l6ZV90IERPTUZpbGVTeXN0ZW1CYXNlOjprVGVtcG9yYXJ5UGF0aFByZWZp
eExlbmd0aCA9IHNpemVvZihET01GaWxlU3lzdGVtQmFzZTo6a1RlbXBvcmFyeVBhdGhQcmVmaXgp
IC0gMTsKK2NvbnN0IGNoYXIgRE9NRmlsZVN5c3RlbUJhc2U6OmtFeHRlcm5hbFBhdGhQcmVmaXhb
XSA9ICJleHRlcm5hbCI7Citjb25zdCBzaXplX3QgRE9NRmlsZVN5c3RlbUJhc2U6OmtFeHRlcm5h
bFBhdGhQcmVmaXhMZW5ndGggPSBzaXplb2YoRE9NRmlsZVN5c3RlbUJhc2U6OmtFeHRlcm5hbFBh
dGhQcmVmaXgpIC0gMTsKIAogYm9vbCBET01GaWxlU3lzdGVtQmFzZTo6Y3JhY2tGaWxlU3lzdGVt
VVJMKGNvbnN0IEtVUkwmIHVybCwgQXN5bmNGaWxlU3lzdGVtOjpUeXBlJiB0eXBlLCBTdHJpbmcm
IGZpbGVQYXRoKQogewpAQCAtNzIsNiArNzQsOSBAQCBib29sIERPTUZpbGVTeXN0ZW1CYXNlOjpj
cmFja0ZpbGVTeXN0ZW1VCiAgICAgfSBlbHNlIGlmIChwYXRoLnN0YXJ0c1dpdGgoa1BlcnNpc3Rl
bnRQYXRoUHJlZml4KSkgewogICAgICAgICB0eXBlID0gQXN5bmNGaWxlU3lzdGVtOjpQZXJzaXN0
ZW50OwogICAgICAgICBwYXRoID0gcGF0aC5zdWJzdHJpbmcoa1BlcnNpc3RlbnRQYXRoUHJlZml4
TGVuZ3RoKTsKKyAgICB9IGVsc2UgaWYgKHBhdGguc3RhcnRzV2l0aChrRXh0ZXJuYWxQYXRoUHJl
Zml4KSkgeworICAgICAgICB0eXBlID0gQXN5bmNGaWxlU3lzdGVtOjpFeHRlcm5hbDsKKyAgICAg
ICAgcGF0aCA9IHBhdGguc3Vic3RyaW5nKGtFeHRlcm5hbFBhdGhQcmVmaXhMZW5ndGgpOwogICAg
IH0gZWxzZQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Zp
bGVhcGkvRE9NRmlsZVN5c3RlbUJhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9m
aWxlYXBpL0RPTUZpbGVTeXN0ZW1CYXNlLmgJKHJldmlzaW9uIDgzODA3KQorKysgU291cmNlL1dl
YkNvcmUvZmlsZWFwaS9ET01GaWxlU3lzdGVtQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02Niw2
ICs2Niw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGtQZXJzaXN0ZW50UGF0
aFByZWZpeExlbmd0aDsKICAgICBzdGF0aWMgY29uc3QgY2hhciBrVGVtcG9yYXJ5UGF0aFByZWZp
eFtdOwogICAgIHN0YXRpYyBjb25zdCBzaXplX3Qga1RlbXBvcmFyeVBhdGhQcmVmaXhMZW5ndGg7
CisgICAgc3RhdGljIGNvbnN0IGNoYXIga0V4dGVybmFsUGF0aFByZWZpeFtdOworICAgIHN0YXRp
YyBjb25zdCBzaXplX3Qga0V4dGVybmFsUGF0aFByZWZpeExlbmd0aDsKICAgICBzdGF0aWMgYm9v
bCBjcmFja0ZpbGVTeXN0ZW1VUkwoY29uc3QgS1VSTCYsIEFzeW5jRmlsZVN5c3RlbTo6VHlwZSYs
IFN0cmluZyYgZmlsZVBhdGgpOwogCiAgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyBy
ZXR1cm4gbV9uYW1lOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9maWxlYXBpL0VudHJ5QmFzZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZmlsZWFwaS9FbnRyeUJhc2UuY3BwCShy
ZXZpc2lvbiA4MzgwNykKKysrIFNvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRW50cnlCYXNlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjQsNyArNjQsMTcgQEAgU3RyaW5nIEVudHJ5QmFzZTo6dG9VUkwo
KQogICAgIHJlc3VsdC5hcHBlbmQoImZpbGVzeXN0ZW06Iik7CiAgICAgcmVzdWx0LmFwcGVuZChv
cmlnaW5TdHJpbmcpOwogICAgIHJlc3VsdC5hcHBlbmQoIi8iKTsKLSAgICByZXN1bHQuYXBwZW5k
KG1fZmlsZVN5c3RlbS0+YXN5bmNGaWxlU3lzdGVtKCktPnR5cGUoKSA9PSBBc3luY0ZpbGVTeXN0
ZW06OlRlbXBvcmFyeSA/IERPTUZpbGVTeXN0ZW1CYXNlOjprVGVtcG9yYXJ5UGF0aFByZWZpeCA6
IERPTUZpbGVTeXN0ZW1CYXNlOjprUGVyc2lzdGVudFBhdGhQcmVmaXgpOworICAgIHN3aXRjaCAo
bV9maWxlU3lzdGVtLT5hc3luY0ZpbGVTeXN0ZW0oKS0+dHlwZSgpKSB7CisgICAgY2FzZSBBc3lu
Y0ZpbGVTeXN0ZW06OlRlbXBvcmFyeToKKyAgICAgICAgcmVzdWx0LmFwcGVuZChET01GaWxlU3lz
dGVtQmFzZTo6a1RlbXBvcmFyeVBhdGhQcmVmaXgpOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IEFzeW5jRmlsZVN5c3RlbTo6UGVyc2lzdGVudDoKKyAgICAgICAgcmVzdWx0LmFwcGVuZChET01G
aWxlU3lzdGVtQmFzZTo6a1BlcnNpc3RlbnRQYXRoUHJlZml4KTsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBBc3luY0ZpbGVTeXN0ZW06OkV4dGVybmFsOgorICAgICAgICByZXN1bHQuYXBwZW5k
KERPTUZpbGVTeXN0ZW1CYXNlOjprRXh0ZXJuYWxQYXRoUHJlZml4KTsKKyAgICAgICAgYnJlYWs7
CisgICAgfQogICAgIHJlc3VsdC5hcHBlbmQobV9mdWxsUGF0aCk7CiAgICAgcmV0dXJuIHJlc3Vs
dC50b1N0cmluZygpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAkocmV2aXNp
b24gODM4MDcpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTc1NSw3ICs3NTUsNyBAQCB2b2lkIERPTVdpbmRvdzo6cmVxdWVzdEZpbGVTeXN0
ZW0oaW50IHR5CiAgICAgfQogCiAgICAgQXN5bmNGaWxlU3lzdGVtOjpUeXBlIGZpbGVTeXN0ZW1U
eXBlID0gc3RhdGljX2Nhc3Q8QXN5bmNGaWxlU3lzdGVtOjpUeXBlPih0eXBlKTsKLSAgICBpZiAo
ZmlsZVN5c3RlbVR5cGUgIT0gQXN5bmNGaWxlU3lzdGVtOjpUZW1wb3JhcnkgJiYgZmlsZVN5c3Rl
bVR5cGUgIT0gQXN5bmNGaWxlU3lzdGVtOjpQZXJzaXN0ZW50KSB7CisgICAgaWYgKGZpbGVTeXN0
ZW1UeXBlICE9IEFzeW5jRmlsZVN5c3RlbTo6VGVtcG9yYXJ5ICYmIGZpbGVTeXN0ZW1UeXBlICE9
IEFzeW5jRmlsZVN5c3RlbTo6UGVyc2lzdGVudCAmJiBmaWxlU3lzdGVtVHlwZSAhPSBBc3luY0Zp
bGVTeXN0ZW06OkV4dGVybmFsKSB7CiAgICAgICAgIERPTUZpbGVTeXN0ZW06OnNjaGVkdWxlQ2Fs
bGJhY2soZG9jdW1lbnQsIGVycm9yQ2FsbGJhY2ssIEZpbGVFcnJvcjo6Y3JlYXRlKEZpbGVFcnJv
cjo6SU5WQUxJRF9NT0RJRklDQVRJT05fRVJSKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBA
IC03ODgsNiArNzg4LDcgQEAgdm9pZCBET01XaW5kb3c6OnJlc29sdmVMb2NhbEZpbGVTeXN0ZW1V
UgogCiBDT01QSUxFX0FTU0VSVChzdGF0aWNfY2FzdDxpbnQ+KERPTVdpbmRvdzo6VEVNUE9SQVJZ
KSA9PSBzdGF0aWNfY2FzdDxpbnQ+KEFzeW5jRmlsZVN5c3RlbTo6VGVtcG9yYXJ5KSwgZW51bV9t
aXNtYXRjaCk7CiBDT01QSUxFX0FTU0VSVChzdGF0aWNfY2FzdDxpbnQ+KERPTVdpbmRvdzo6UEVS
U0lTVEVOVCkgPT0gc3RhdGljX2Nhc3Q8aW50PihBc3luY0ZpbGVTeXN0ZW06OlBlcnNpc3RlbnQp
LCBlbnVtX21pc21hdGNoKTsKK0NPTVBJTEVfQVNTRVJUKHN0YXRpY19jYXN0PGludD4oRE9NV2lu
ZG93OjpFWFRFUk5BTCkgPT0gc3RhdGljX2Nhc3Q8aW50PihBc3luY0ZpbGVTeXN0ZW06OkV4dGVy
bmFsKSwgZW51bV9taXNtYXRjaCk7CiAKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmgJKHJldmlzaW9uIDgzODA3KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aAkod29ya2luZyBjb3B5KQpAQCAtMzg2LDYgKzM4Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgZW51bSBGaWxlU3lzdGVtVHlwZSB7CiAgICAgICAgICAgICBURU1QT1JBUlksCiAg
ICAgICAgICAgICBQRVJTSVNURU5ULAorICAgICAgICAgICAgRVhURVJOQUwsCiAgICAgICAgIH07
CiAgICAgICAgIHZvaWQgcmVxdWVzdEZpbGVTeXN0ZW0oaW50IHR5cGUsIGxvbmcgbG9uZyBzaXpl
LCBQYXNzUmVmUHRyPEZpbGVTeXN0ZW1DYWxsYmFjaz4sIFBhc3NSZWZQdHI8RXJyb3JDYWxsYmFj
az4pOwogICAgICAgICB2b2lkIHJlc29sdmVMb2NhbEZpbGVTeXN0ZW1VUkwoY29uc3QgU3RyaW5n
JiwgUGFzc1JlZlB0cjxFbnRyeUNhbGxiYWNrPiwgUGFzc1JlZlB0cjxFcnJvckNhbGxiYWNrPik7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAkocmV2aXNp
b24gODM4MDcpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaAko
d29ya2luZyBjb3B5KQpAQCAtNTMsNiArNTMsNyBAQCBwdWJsaWM6CiAgICAgZW51bSBUeXBlIHsK
ICAgICAgICAgVGVtcG9yYXJ5LAogICAgICAgICBQZXJzaXN0ZW50LAorICAgICAgICBFeHRlcm5h
bCwKICAgICB9OwogCiAgICAgdmlydHVhbCB2b2lkIHN0b3AoKSB7IH0KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAkocmV2aXNpb24gODM4MDcpCisrKyBTb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
NTMsNyArMzUzLDcgQEAgdm9pZCBXb3JrZXJDb250ZXh0OjpyZXF1ZXN0RmlsZVN5c3RlbShpbgog
ICAgIH0KIAogICAgIEFzeW5jRmlsZVN5c3RlbTo6VHlwZSBmaWxlU3lzdGVtVHlwZSA9IHN0YXRp
Y19jYXN0PEFzeW5jRmlsZVN5c3RlbTo6VHlwZT4odHlwZSk7Ci0gICAgaWYgKGZpbGVTeXN0ZW1U
eXBlICE9IEFzeW5jRmlsZVN5c3RlbTo6VGVtcG9yYXJ5ICYmIGZpbGVTeXN0ZW1UeXBlICE9IEFz
eW5jRmlsZVN5c3RlbTo6UGVyc2lzdGVudCkgeworICAgIGlmIChmaWxlU3lzdGVtVHlwZSAhPSBB
c3luY0ZpbGVTeXN0ZW06OlRlbXBvcmFyeSAmJiBmaWxlU3lzdGVtVHlwZSAhPSBBc3luY0ZpbGVT
eXN0ZW06OlBlcnNpc3RlbnQgJiYgZmlsZVN5c3RlbVR5cGUgIT0gQXN5bmNGaWxlU3lzdGVtOjpF
eHRlcm5hbCkgewogICAgICAgICBET01GaWxlU3lzdGVtOjpzY2hlZHVsZUNhbGxiYWNrKHRoaXMs
IGVycm9yQ2FsbGJhY2ssIEZpbGVFcnJvcjo6Y3JlYXRlKEZpbGVFcnJvcjo6SU5WQUxJRF9NT0RJ
RklDQVRJT05fRVJSKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0zNzAsNyArMzcwLDcg
QEAgUGFzc1JlZlB0cjxET01GaWxlU3lzdGVtU3luYz4gV29ya2VyQ29udAogICAgIH0KIAogICAg
IEFzeW5jRmlsZVN5c3RlbTo6VHlwZSBmaWxlU3lzdGVtVHlwZSA9IHN0YXRpY19jYXN0PEFzeW5j
RmlsZVN5c3RlbTo6VHlwZT4odHlwZSk7Ci0gICAgaWYgKGZpbGVTeXN0ZW1UeXBlICE9IEFzeW5j
RmlsZVN5c3RlbTo6VGVtcG9yYXJ5ICYmIGZpbGVTeXN0ZW1UeXBlICE9IEFzeW5jRmlsZVN5c3Rl
bTo6UGVyc2lzdGVudCkgeworICAgIGlmIChmaWxlU3lzdGVtVHlwZSAhPSBBc3luY0ZpbGVTeXN0
ZW06OlRlbXBvcmFyeSAmJiBmaWxlU3lzdGVtVHlwZSAhPSBBc3luY0ZpbGVTeXN0ZW06OlBlcnNp
c3RlbnQgJiYgZmlsZVN5c3RlbVR5cGUgIT0gQXN5bmNGaWxlU3lzdGVtOjpFeHRlcm5hbCkgewog
ICAgICAgICBlYyA9IEZpbGVFeGNlcHRpb246OklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUjsKICAg
ICAgICAgcmV0dXJuIDA7CiAgICAgfQpAQCAtNDI5LDYgKzQyOSw3IEBAIFBhc3NSZWZQdHI8RW50
cnlTeW5jPiBXb3JrZXJDb250ZXh0OjpyZXMKIAogQ09NUElMRV9BU1NFUlQoc3RhdGljX2Nhc3Q8
aW50PihXb3JrZXJDb250ZXh0OjpURU1QT1JBUlkpID09IHN0YXRpY19jYXN0PGludD4oQXN5bmNG
aWxlU3lzdGVtOjpUZW1wb3JhcnkpLCBlbnVtX21pc21hdGNoKTsKIENPTVBJTEVfQVNTRVJUKHN0
YXRpY19jYXN0PGludD4oV29ya2VyQ29udGV4dDo6UEVSU0lTVEVOVCkgPT0gc3RhdGljX2Nhc3Q8
aW50PihBc3luY0ZpbGVTeXN0ZW06OlBlcnNpc3RlbnQpLCBlbnVtX21pc21hdGNoKTsKK0NPTVBJ
TEVfQVNTRVJUKHN0YXRpY19jYXN0PGludD4oV29ya2VyQ29udGV4dDo6RVhURVJOQUwpID09IHN0
YXRpY19jYXN0PGludD4oQXN5bmNGaWxlU3lzdGVtOjpFeHRlcm5hbCksIGVudW1fbWlzbWF0Y2gp
OwogI2VuZGlmCiAKIFdvcmtlckNvbnRleHQ6Ok9ic2VydmVyOjpPYnNlcnZlcihXb3JrZXJDb250
ZXh0KiBjb250ZXh0KQpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmgJ
KHJldmlzaW9uIDgzODA3KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEzMCw2ICsxMzAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIGVudW0gRmlsZVN5c3RlbVR5cGUgewogICAgICAgICAgICAgVEVNUE9SQVJZLAog
ICAgICAgICAgICAgUEVSU0lTVEVOVCwKKyAgICAgICAgICAgIEVYVEVSTkFMLAogICAgICAgICB9
OwogICAgICAgICB2b2lkIHJlcXVlc3RGaWxlU3lzdGVtKGludCB0eXBlLCBsb25nIGxvbmcgc2l6
ZSwgUGFzc1JlZlB0cjxGaWxlU3lzdGVtQ2FsbGJhY2s+IHN1Y2Nlc3NDYWxsYmFjaywgUGFzc1Jl
ZlB0cjxFcnJvckNhbGxiYWNrPik7CiAgICAgICAgIFBhc3NSZWZQdHI8RE9NRmlsZVN5c3RlbVN5
bmM+IHJlcXVlc3RGaWxlU3lzdGVtU3luYyhpbnQgdHlwZSwgbG9uZyBsb25nIHNpemUsIEV4Y2Vw
dGlvbkNvZGUmKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA4Mzg2
MykKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMTEtMDQtMTQgIFplbGlkcmFnIEhvcm51bmcgIDx6ZWxpZHJhZ0Bj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkZWQgZW51bXMgZm9yIGV4dGVybmFsIGZpbGUgc3lzdGVtIHR5cGUgYW5kIGV4cG9z
ZWQgZmFjdG9yeSBmdW5jdGlvbgorICAgICAgICBmb3IgY3JlYXRpbmcgRmlsZS0gYW5kIERpcmVj
dG9yeUVudHJ5IG9iamVjdHMgZnJvbSBDaHJvbWl1bSBzaWRlLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg0NTYKKworICAgICAgICAqIHB1YmxpYy9X
ZWJGaWxlU3lzdGVtLmg6CisgICAgICAgICogcHVibGljL1dlYkZyYW1lLmg6CisgICAgICAgICog
c3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwOgorICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmNyZWF0ZUZpbGVTeXN0ZW0pOgor
ICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUltcGw6OmNyZWF0ZUZpbGVFbnRyeSk6CisgICAgICAg
ICogc3JjL1dlYkZyYW1lSW1wbC5oOgorCiAyMDExLTA0LTE0ICBCaWxsIEJ1ZGdlICA8YmJ1ZGdl
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBGaXNoZXIuCkluZGV4
OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbS5oCShyZXZp
c2lvbiA4MzgwNykKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZpbGVTeXN0
ZW0uaAkod29ya2luZyBjb3B5KQpAQCAtNDAsMTEgKzQwLDE1IEBAIGNsYXNzIFdlYkZpbGVTeXN0
ZW1DYWxsYmFja3M7CiBjbGFzcyBXZWJGaWxlV3JpdGVyOwogY2xhc3MgV2ViRmlsZVdyaXRlckNs
aWVudDsKIAorLy8gRklYTUUoemVsaWRyYWcpOiBSZW1vdmUgdGhpcyBkZWZpbmUgb25jZSBDaHJv
bWl1bSBzaWRlIGNhdGNoZXMgdXAuCisjZGVmaW5lIFdFQl9GSUxFX1NZU1RFTV9UWVBFX0VYVEVS
TkFMCisKIGNsYXNzIFdlYkZpbGVTeXN0ZW0gewogcHVibGljOgogICAgIGVudW0gVHlwZSB7CiAg
ICAgICAgIFR5cGVUZW1wb3JhcnksCiAgICAgICAgIFR5cGVQZXJzaXN0ZW50LAorICAgICAgICBU
eXBlRXh0ZXJuYWwsCiAgICAgfTsKIAogICAgIC8vIE1vdmVzIGEgZmlsZSBvciBkaXJlY3Rvcnkg
YXQgfHNyY1BhdGh8IHRvIHxkZXN0UGF0aHwuCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJGcmFtZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYkZyYW1lLmgJKHJldmlzaW9uIDgzODA3KQorKysgU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViRnJhbWUuaAkod29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAog
I2RlZmluZSBXZWJGcmFtZV9oCiAKICNpbmNsdWRlICJXZWJDYW52YXMuaCIKKyNpbmNsdWRlICJX
ZWJGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiV2ViTm9kZS5oIgogI2luY2x1ZGUgIldlYlVSTC5o
IgogCkBAIC03Miw2ICs3Myw3IEBAIHN0cnVjdCBXZWJSZWN0Owogc3RydWN0IFdlYlNjcmlwdFNv
dXJjZTsKIHN0cnVjdCBXZWJTaXplOwogc3RydWN0IFdlYlVSTExvYWRlck9wdGlvbnM7CisKIHRl
bXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBXZWJWZWN0b3I7CiAKIGNsYXNzIFdlYkZyYW1lIHsK
QEAgLTI2Myw5ICsyNjUsMTUgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdjg6OkxvY2FsPHY4OjpD
b250ZXh0PiBtYWluV29ybGRTY3JpcHRDb250ZXh0KCkgY29uc3QgPSAwOwogCiAgICAgLy8gQ3Jl
YXRlcyBhbiBpbnN0YW5jZSBvZiBmaWxlIHN5c3RlbSBvYmplY3QuCi0gICAgdmlydHVhbCB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlRmlsZVN5c3RlbShpbnQgdHlwZSwKKyAgICB2aXJ0dWFs
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjcmVhdGVGaWxlU3lzdGVtKFdlYkZpbGVTeXN0ZW06OlR5
cGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBXZWJTdHJpbmcmIG5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIHBhdGgpID0gMDsKKyAgICAvLyBDcmVh
dGVzIGFuIGluc3RhbmNlIG9mIGZpbGUgb3IgZGlyZWN0b3J5IGVudHJ5IG9iamVjdC4KKyAgICB2
aXJ0dWFsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjcmVhdGVGaWxlRW50cnkoV2ViRmlsZVN5c3Rl
bTo6VHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlU3lzdGVtTmFtZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlU3lzdGVt
UGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgV2ViU3RyaW5nJiBmaWxlUGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc0RpcmVjdG9yeSkgPSAwOwogI2VuZGlmCiAKIApJ
bmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdF
bnVtcy5jcHAJKHJldmlzaW9uIDgzODA3KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
QXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5Miw2ICszOTIsNyBA
QCBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYklEQkZhY3RvCiAjaWYgRU5BQkxFKEZJ
TEVfU1lTVEVNKQogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJGaWxlU3lzdGVtOjpU
eXBlVGVtcG9yYXJ5LCBBc3luY0ZpbGVTeXN0ZW06OlRlbXBvcmFyeSk7CiBDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKFdlYkZpbGVTeXN0ZW06OlR5cGVQZXJzaXN0ZW50LCBBc3luY0ZpbGVT
eXN0ZW06OlBlcnNpc3RlbnQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJGaWxl
U3lzdGVtOjpUeXBlRXh0ZXJuYWwsIEFzeW5jRmlsZVN5c3RlbTo6RXh0ZXJuYWwpOwogQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJGaWxlSW5mbzo6VHlwZVVua25vd24sIEZpbGVNZXRh
ZGF0YTo6VHlwZVVua25vd24pOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJGaWxl
SW5mbzo6VHlwZUZpbGUsIEZpbGVNZXRhZGF0YTo6VHlwZUZpbGUpOwogQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShXZWJGaWxlSW5mbzo6VHlwZURpcmVjdG9yeSwgRmlsZU1ldGFkYXRhOjpU
eXBlRGlyZWN0b3J5KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1l
SW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJh
bWVJbXBsLmNwcAkocmV2aXNpb24gODM4MDcpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJGcmFtZUltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjQsOCArMTY0LDEzIEBACiAj
aWYgVVNFKFY4KQogI2luY2x1ZGUgIkFzeW5jRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIkFzeW5j
RmlsZVN5c3RlbUNocm9taXVtLmgiCisjaW5jbHVkZSAiRGlyZWN0b3J5RW50cnkuaCIKICNpbmNs
dWRlICJET01GaWxlU3lzdGVtLmgiCisjaW5jbHVkZSAiRmlsZUVudHJ5LmgiCisjaW5jbHVkZSAi
VjhEaXJlY3RvcnlFbnRyeS5oIgogI2luY2x1ZGUgIlY4RE9NRmlsZVN5c3RlbS5oIgorI2luY2x1
ZGUgIlY4RmlsZUVudHJ5LmgiCisjaW5jbHVkZSAiV2ViRmlsZVN5c3RlbS5oIgogI2VuZGlmCiAK
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtODUxLDEyICs4NTYsMjQgQEAgdjg6OkxvY2Fs
PHY4OjpDb250ZXh0PiBXZWJGcmFtZUltcGw6Om1haQogICAgIHJldHVybiBWOFByb3h5OjptYWlu
V29ybGRDb250ZXh0KG1fZnJhbWUpOwogfQogCi12ODo6SGFuZGxlPHY4OjpWYWx1ZT4gV2ViRnJh
bWVJbXBsOjpjcmVhdGVGaWxlU3lzdGVtKGludCB0eXBlLAordjg6OkhhbmRsZTx2ODo6VmFsdWU+
IFdlYkZyYW1lSW1wbDo6Y3JlYXRlRmlsZVN5c3RlbShXZWJGaWxlU3lzdGVtOjpUeXBlIHR5cGUs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IFdlYlN0cmluZyYgbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBwYXRoKQogewogICAgIHJldHVybiB0
b1Y4KERPTUZpbGVTeXN0ZW06OmNyZWF0ZShmcmFtZSgpLT5kb2N1bWVudCgpLCBuYW1lLCBBc3lu
Y0ZpbGVTeXN0ZW1DaHJvbWl1bTo6Y3JlYXRlKHN0YXRpY19jYXN0PEFzeW5jRmlsZVN5c3RlbTo6
VHlwZT4odHlwZSksIHBhdGgpKSk7CiB9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBXZWJGcmFt
ZUltcGw6OmNyZWF0ZUZpbGVFbnRyeShXZWJGaWxlU3lzdGVtOjpUeXBlIHR5cGUsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3Ry
aW5nJiBmaWxlU3lzdGVtTmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGZpbGVTeXN0ZW1QYXRoLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlN0
cmluZyYgZmlsZVBhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYm9vbCBpc0RpcmVjdG9yeSkKK3sKKyAgICBSZWZQdHI8RE9NRmlsZVN5c3Rl
bUJhc2U+IGZpbGVTeXN0ZW0gPSBET01GaWxlU3lzdGVtOjpjcmVhdGUoZnJhbWUoKS0+ZG9jdW1l
bnQoKSwgZmlsZVN5c3RlbU5hbWUsIEFzeW5jRmlsZVN5c3RlbUNocm9taXVtOjpjcmVhdGUoc3Rh
dGljX2Nhc3Q8QXN5bmNGaWxlU3lzdGVtOjpUeXBlPih0eXBlKSwgZmlsZVN5c3RlbVBhdGgpKTsK
KyAgICBpZiAoaXNEaXJlY3RvcnkpCisgICAgICAgIHJldHVybiB0b1Y4KERpcmVjdG9yeUVudHJ5
OjpjcmVhdGUoZmlsZVN5c3RlbSwgZmlsZVBhdGgpKTsKKyAgICByZXR1cm4gdG9WOChGaWxlRW50
cnk6OmNyZWF0ZShmaWxlU3lzdGVtLCBmaWxlUGF0aCkpOworfQogI2VuZGlmCiAKIGJvb2wgV2Vi
RnJhbWVJbXBsOjppbnNlcnRTdHlsZVRleHQoCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJGcmFtZUltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJGcmFtZUltcGwuaAkocmV2aXNpb24gODM4MDcpCisrKyBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtMTA5LDkgKzEwOSwx
NCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZXhlY3V0ZVNj
cmlwdEFuZFJldHVyblZhbHVlKAogICAgICAgICBjb25zdCBXZWJTY3JpcHRTb3VyY2UmKTsKICAg
ICB2aXJ0dWFsIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gbWFpbldvcmxkU2NyaXB0Q29udGV4dCgp
IGNvbnN0OwotICAgIHZpcnR1YWwgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNyZWF0ZUZpbGVTeXN0
ZW0oaW50IHR5cGUsCisgICAgdmlydHVhbCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY3JlYXRlRmls
ZVN5c3RlbShXZWJGaWxlU3lzdGVtOjpUeXBlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBuYW1lLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5n
JiBwYXRoKTsKKyAgICB2aXJ0dWFsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjcmVhdGVGaWxlRW50
cnkoV2ViRmlsZVN5c3RlbTo6VHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlU3lzdGVtTmFtZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3Ry
aW5nJiBmaWxlU3lzdGVtUGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBmaWxlUGF0aCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpc0RpcmVjdG9yeSk7CiAj
ZW5kaWYKICAgICB2aXJ0dWFsIGJvb2wgaW5zZXJ0U3R5bGVUZXh0KGNvbnN0IFdlYlN0cmluZyYg
Y3NzLCBjb25zdCBXZWJTdHJpbmcmIGlkKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVsb2FkKGJvb2wg
aWdub3JlQ2FjaGUpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>