<?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>124804</bug_id>
          
          <creation_ts>2013-11-22 17:22:30 -0800</creation_ts>
          <short_desc>Add DatabaseProcessCreationParameters, starting with the database path.</short_desc>
          <delta_ts>2013-11-22 23:09:05 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>124521</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>philn</cc>
    
    <cc>rego+ews</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>953741</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-11-22 17:22:30 -0800</bug_when>
    <thetext>Add DatabaseProcessCreationParameters, starting with the database path.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953742</commentid>
    <comment_count>1</comment_count>
      <attachid>217732</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-11-22 17:24:31 -0800</bug_when>
    <thetext>Created attachment 217732
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953743</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-22 17:25:10 -0800</bug_when>
    <thetext>Attachment 217732 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp&apos;, u&apos;Source/WebKit2/DatabaseProcess/DatabaseProcess.h&apos;, u&apos;Source/WebKit2/DatabaseProcess/DatabaseProcess.messages.in&apos;, u&apos;Source/WebKit2/Scripts/webkit2/messages.py&apos;, u&apos;Source/WebKit2/Shared/Databases/DatabaseProcessCreationParameters.cpp&apos;, u&apos;Source/WebKit2/Shared/Databases/DatabaseProcessCreationParameters.h&apos;, u&apos;Source/WebKit2/UIProcess/WebContext.cpp&apos;, u&apos;Source/WebKit2/WebKit2.xcodeproj/project.pbxproj&apos;]&quot; exit_code: 1
Source/WebKit2/Shared/Databases/DatabaseProcessCreationParameters.h:35:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 9 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>953744</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-11-22 17:25:36 -0800</bug_when>
    <thetext>Stylebot will complain:
Source/WebKit2/Shared/Databases/DatabaseProcessCreationParameters.h:35:  Code inside a namespace should not be indented.  [whitespace/indent] [4]

And I&apos;ve fixed locally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953745</commentid>
    <comment_count>4</comment_count>
      <attachid>217732</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-11-22 17:31:36 -0800</bug_when>
    <thetext>Comment on attachment 217732
Patch v1

Attachment 217732 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/35208037</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953747</commentid>
    <comment_count>5</comment_count>
      <attachid>217733</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-11-22 17:36:05 -0800</bug_when>
    <thetext>Created attachment 217733
Patch v2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953750</commentid>
    <comment_count>6</comment_count>
      <attachid>217733</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-11-22 17:42:16 -0800</bug_when>
    <thetext>Comment on attachment 217733
Patch v2

Attachment 217733 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/35288032</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953751</commentid>
    <comment_count>7</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-11-22 17:44:10 -0800</bug_when>
    <thetext>Will, of course, continue figuring out the other build failures, but they shouldn&apos;t hold up review of the patch at this point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953753</commentid>
    <comment_count>8</comment_count>
      <attachid>217733</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-11-22 17:49:04 -0800</bug_when>
    <thetext>Comment on attachment 217733
Patch v2

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

&gt; Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp:32
&gt; +#include &quot;SecurityOriginData.h&quot;

Not sure why you need this, but I guess you do.

&gt; Source/WebKit2/DatabaseProcess/DatabaseProcess.h:38
&gt; +struct SecurityOriginData;

... and here.

&gt; Source/WebKit2/UIProcess/WebContext.cpp:422
&gt; +    // Indexed databases exist in a subdirectory of the &quot;database directory path&quot;

Nit: .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953754</commentid>
    <comment_count>9</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-11-22 17:50:54 -0800</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=217733&amp;action=review

r+ from me too. Some comments:

&gt; Source/WebKit2/UIProcess/WebContext.cpp:425
&gt; +    // Indexed databases exist in a subdirectory of the &quot;database directory path&quot;
&gt; +    // The top level of that directory contains entities related to WebSQL databases, but an entity name
&gt; +    // prefixed with three underscores will not conflict with any of those entities.
&gt; +    parameters.indexedDatabaseDirectory = pathByAppendingComponent(databaseDirectory(), &quot;___IndexedDB&quot;);

That is awful. Can&apos;t we put WebSQL and IndexedDB in different subdirectories of the databaseDirectory()? (with a migration path for existing databases).

&gt; Source/WebKit2/WebKit2.xcodeproj/project.pbxproj:5765
&gt;  				330934561315B9750097A7BC /* WebCookieManagerProxy.h in Headers */,
&gt; +				515E772C184008B90007203F /* DatabaseProcessCreationParameters.h in Headers */,
&gt;  				33AA1067131F060000D4A575 /* WebCookieManagerProxyClient.h in Headers */,

Please move the build sections alphabetically (the next one too).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953767</commentid>
    <comment_count>10</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-11-22 19:55:29 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=217733&amp;action=review
&gt; 
&gt; r+ from me too. Some comments:
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/WebContext.cpp:425
&gt; &gt; +    // Indexed databases exist in a subdirectory of the &quot;database directory path&quot;
&gt; &gt; +    // The top level of that directory contains entities related to WebSQL databases, but an entity name
&gt; &gt; +    // prefixed with three underscores will not conflict with any of those entities.
&gt; &gt; +    parameters.indexedDatabaseDirectory = pathByAppendingComponent(databaseDirectory(), &quot;___IndexedDB&quot;);
&gt; 
&gt; That is awful. Can&apos;t we put WebSQL and IndexedDB in different subdirectories of the databaseDirectory()? (with a migration path for existing databases).

Absolutely we can - I want to migrate WebSQL over to a different subdirectory of the databaseDirectory!  I should&apos;ve filed a bug and made that clear in the comment, which I will do before landing.

&gt; 
&gt; &gt; Source/WebKit2/WebKit2.xcodeproj/project.pbxproj:5765
&gt; &gt;  				330934561315B9750097A7BC /* WebCookieManagerProxy.h in Headers */,
&gt; &gt; +				515E772C184008B90007203F /* DatabaseProcessCreationParameters.h in Headers */,
&gt; &gt;  				33AA1067131F060000D4A575 /* WebCookieManagerProxyClient.h in Headers */,
&gt; 
&gt; Please move the build sections alphabetically (the next one too).

These two are Xcode&apos;s random placement in non-UI-visible sections of the project file which are not in any human-sensible order.  We don&apos;t try to keep these sections manually sorted, which can be demonstrated by opening the project file in a text editor and taking a look at these sections.
(In reply to comment #8)
&gt; (From update of attachment 217733 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=217733&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp:32
&gt; &gt; +#include &quot;SecurityOriginData.h&quot;
&gt; 
&gt; Not sure why you need this, but I guess you do.
&gt; 
&gt; &gt; Source/WebKit2/DatabaseProcess/DatabaseProcess.h:38
&gt; &gt; +struct SecurityOriginData;
&gt; 
&gt; ... and here.

Was working on a much larger patch and broke this one out for separate review - Probably isn&apos;t needed.

Thanks for the review(s)!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953781</commentid>
    <comment_count>11</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-11-22 22:28:01 -0800</bug_when>
    <thetext>Filed https://bugs.webkit.org/show_bug.cgi?id=124807 for the WebSQL migration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953782</commentid>
    <comment_count>12</comment_count>
      <attachid>217740</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-11-22 22:28:33 -0800</bug_when>
    <thetext>Created attachment 217740
Patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953783</commentid>
    <comment_count>13</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-11-22 22:29:14 -0800</bug_when>
    <thetext>Think I fixed other platforms - Will let EWS churn on this, then cq+ from here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953784</commentid>
    <comment_count>14</comment_count>
      <attachid>217740</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-22 23:09:00 -0800</bug_when>
    <thetext>Comment on attachment 217740
Patch for landing.

Clearing flags on attachment: 217740

Committed r159728: &lt;http://trac.webkit.org/changeset/159728&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953785</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-22 23:09:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217732</attachid>
            <date>2013-11-22 17:24:31 -0800</date>
            <delta_ts>2013-11-22 17:36:05 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>15375</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBjZjJmZGI0Li5mY2EwNDMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTMtMTEtMjIgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIEFkZCBEYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMsIHN0YXJ0aW5nIHdpdGgg
dGhlIGRhdGFiYXNlIHBhdGguCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjQ4MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIERhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpEYXRhYmFzZVByb2Nlc3M6OmluaXRpYWxpemVEYXRhYmFzZVByb2Nlc3MpOgor
ICAgICAgICAqIERhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MuaDoKKyAgICAgICAgKFdl
YktpdDo6RGF0YWJhc2VQcm9jZXNzOjppbmRleGVkRGF0YWJhc2VEaXJlY3RvcnkpOgorICAgICAg
ICAqIERhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MubWVzc2FnZXMuaW46CisKKyAgICAg
ICAgKiBTaGFyZWQvRGF0YWJhc2VzL0RhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpEYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnM6OkRhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJL
aXQ6OkRhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlKToKKyAgICAgICAg
KFdlYktpdDo6RGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAg
ICAgICAqIFNoYXJlZC9EYXRhYmFzZXMvRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
Lmg6IEFkZGVkLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJDb250ZXh0OjplbnN1cmVEYXRhYmFzZVByb2Nlc3MpOgorCisgICAgICAg
ICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0Mi9tZXNzYWdlcy5weToKKyAgICAgICAgKHN0cnVjdF9vcl9jbGFzcyk6CisKIDIwMTMt
MTEtMjAgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIEhvb2sg
dXAgV2ViUHJvY2Vzcy1zaWRlIG9mIGdldE9yRXN0YWJsaXNoSURCRGF0YWJhc2VNZXRhZGF0YQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNlUHJvY2Vz
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzLmNw
cAppbmRleCBhNWMwODQyLi5kNDE0OWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9EYXRh
YmFzZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9EYXRh
YmFzZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzLmNwcApAQCAtMjYsOCArMjYsMTAgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEYXRhYmFzZVByb2Nlc3MuaCIKIAorI2luY2x1ZGUg
IkRhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIkRhdGFiYXNl
UHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nv
bm5lY3Rpb24uaCIKKyNpbmNsdWRlICJTZWN1cml0eU9yaWdpbkRhdGEuaCIKIAogI2lmIEVOQUJM
RShEQVRBQkFTRV9QUk9DRVNTKQogCkBAIC02Nyw2ICs2OSwxMSBAQCB2b2lkIERhdGFiYXNlUHJv
Y2Vzczo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3Jl
SVBDOjpTdAogICAgIFJ1bkxvb3A6OmN1cnJlbnQoKS0+c3RvcCgpOwogfQogCit2b2lkIERhdGFi
YXNlUHJvY2Vzczo6aW5pdGlhbGl6ZURhdGFiYXNlUHJvY2Vzcyhjb25zdCBEYXRhYmFzZVByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCit7CisgICAgbV9pbmRleGVkRGF0YWJh
c2VEaXJlY3RvcnkgPSBwYXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFzZURpcmVjdG9yeTsKK30KKwog
dm9pZCBEYXRhYmFzZVByb2Nlc3M6OmNyZWF0ZURhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlv
bigpCiB7CiAjaWYgUExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvRGF0
YWJhc2VQcm9jZXNzL0RhdGFiYXNlUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQ
cm9jZXNzL0RhdGFiYXNlUHJvY2Vzcy5oCmluZGV4IDRiY2RiM2IuLjQ2ODdhMDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzLmgKQEAgLTM1
LDEyICszNSwxNSBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIERhdGFiYXNlVG9XZWJQcm9j
ZXNzQ29ubmVjdGlvbjsKIAogc3RydWN0IERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
czsKK3N0cnVjdCBTZWN1cml0eU9yaWdpbkRhdGE7CiAKIGNsYXNzIERhdGFiYXNlUHJvY2VzcyA6
IHB1YmxpYyBDaGlsZFByb2Nlc3MgIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFz
ZVByb2Nlc3MpOwogcHVibGljOgogICAgIHN0YXRpYyBEYXRhYmFzZVByb2Nlc3MmIHNoYXJlZCgp
OwogCisgICAgY29uc3QgU3RyaW5nJiBpbmRleGVkRGF0YWJhc2VEaXJlY3RvcnkoKSBjb25zdCB7
IHJldHVybiBtX2luZGV4ZWREYXRhYmFzZURpcmVjdG9yeTsgfQorCiBwcml2YXRlOgogICAgIERh
dGFiYXNlUHJvY2VzcygpOwogICAgIH5EYXRhYmFzZVByb2Nlc3MoKTsKQEAgLTU4LDkgKzYxLDEy
IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShD
b3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VSZWNl
aXZlck5hbWUsIENvcmVJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlTmFtZSkgT1ZFUlJJREU7
CiAKICAgICAvLyBNZXNzYWdlIEhhbmRsZXJzCisgICAgdm9pZCBpbml0aWFsaXplRGF0YWJhc2VQ
cm9jZXNzKGNvbnN0IERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYpOwogICAgIHZv
aWQgY3JlYXRlRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uKCk7CiAKICAgICBWZWN0b3I8
UmVmUHRyPERhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbj4+IG1fZGF0YWJhc2VUb1dlYlBy
b2Nlc3NDb25uZWN0aW9uczsKKworICAgIFN0cmluZyBtX2luZGV4ZWREYXRhYmFzZURpcmVjdG9y
eTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvRGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNlUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXgg
MDg1ZGZjZi4uYzBkYTA3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9j
ZXNzL0RhdGFiYXNlUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9EYXRh
YmFzZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0yMyw2ICsyMyw5IEBA
CiAjaWYgRU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCiAKIG1lc3NhZ2VzIC0+IERhdGFiYXNlUHJv
Y2VzcyB7CisgICAgIyBJbml0aWFsaXplcyB0aGUgRGF0YWJhc2VQcm9jZXNzIHdpdGggdGhlIGNv
cnJlY3QgcGFyYW1ldGVycworICAgIEluaXRpYWxpemVEYXRhYmFzZVByb2Nlc3MoV2ViS2l0OjpE
YXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgcHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cykKKwogICAgICMgQ3JlYXRlcyBhIGNvbm5lY3Rpb24gZm9yIGNvbW11bmljYXRpb24gd2l0aCBh
IFdlYlByb2Nlc3MKICAgICBDcmVhdGVEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24oKQog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5
IGIvU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CmluZGV4IGQ0Njc1
ZDMuLmU3YjlhN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9t
ZXNzYWdlcy5weQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMu
cHkKQEAgLTIwMSw2ICsyMDEsNyBAQCBkZWYgc3RydWN0X29yX2NsYXNzKG5hbWVzcGFjZSwgdHlw
ZSk6CiAgICAgICAgICdXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmcnLAogICAgICAgICAnV2ViS2l0
OjpDb2xvclNwYWNlRGF0YScsCiAgICAgICAgICdXZWJLaXQ6OkNvbnRleHRNZW51U3RhdGUnLAor
ICAgICAgICAnV2ViS2l0OjpEYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMnLAogICAg
ICAgICAnV2ViS2l0OjpEaWN0aW9uYXJ5UG9wdXBJbmZvJywKICAgICAgICAgJ1dlYktpdDo6RHJh
d2luZ0FyZWFJbmZvJywKICAgICAgICAgJ1dlYktpdDo6RWRpdG9yU3RhdGUnLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0RhdGFiYXNlcy9EYXRhYmFzZVByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0RhdGFiYXNlcy9EYXRhYmFz
ZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmM5NGFkZGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvRGF0YWJhc2VzL0RhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTAs
MCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJE
YXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKKworI2lmIEVOQUJMRShJTkRFWEVE
X0RBVEFCQVNFKSAmJiBFTkFCTEUoREFUQUJBU0VfUFJPQ0VTUykKKworI2luY2x1ZGUgIkFyZ3Vt
ZW50Q29kZXJzLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitEYXRhYmFzZVByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnM6OkRhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycygpCit7Cit9
CisKK3ZvaWQgRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUoQ29yZUlQ
Qzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgaW5k
ZXhlZERhdGFiYXNlRGlyZWN0b3J5OworfQorCitib29sIERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVyczo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgRGF0
YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiByZXN1bHQpCit7CisgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShyZXN1bHQuaW5kZXhlZERhdGFiYXNlRGlyZWN0b3J5KSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktp
dAorCisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpICYmIEVOQUJMRShEQVRBQkFT
RV9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0RhdGFiYXNlcy9E
YXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9EYXRhYmFzZXMvRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTllZDMwZgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9EYXRhYmFzZXMvRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmgKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICovCisKKyNpZm5kZWYgRGF0YWJhc2VQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzX2gKKyNkZWZpbmUgRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzX2gKKworI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCisjaWYgRU5BQkxFKElO
REVYRURfREFUQUJBU0UpICYmIEVOQUJMRShEQVRBQkFTRV9QUk9DRVNTKQorCituYW1lc3BhY2Ug
Q29yZUlQQyB7CisgICAgY2xhc3MgQXJndW1lbnREZWNvZGVyOworICAgIGNsYXNzIEFyZ3VtZW50
RW5jb2RlcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3N0cnVjdCBEYXRhYmFzZVByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMgeworICAgIERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycygpOworCisgICAgdm9pZCBlbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJikgY29u
c3Q7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYsIERh
dGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYpOworCisgICAgU3RyaW5nIGluZGV4ZWRE
YXRhYmFzZURpcmVjdG9yeTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYg
Ly8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpICYmIEVOQUJMRShEQVRBQkFTRV9QUk9DRVNTKQor
I2VuZGlmIC8vIERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyc19oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKaW5kZXggMmRhYWJiMi4uYWNiYTcyNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcApAQCAtMjcsNiArMjcsOCBAQAogI2lu
Y2x1ZGUgIldlYkNvbnRleHQuaCIKIAogI2luY2x1ZGUgIkFQSUFycmF5LmgiCisjaW5jbHVkZSAi
RGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCisjaW5jbHVkZSAiRGF0YWJhc2VQ
cm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJEb3dubG9hZFByb3h5LmgiCiAjaW5jbHVkZSAi
RG93bmxvYWRQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgpAQCAtNDExLDYg
KzQxMywxNSBAQCB2b2lkIFdlYkNvbnRleHQ6OmVuc3VyZURhdGFiYXNlUHJvY2VzcygpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIG1fZGF0YWJhc2VQcm9jZXNzID0gRGF0YWJhc2VQcm9jZXNzUHJv
eHk6OmNyZWF0ZSh0aGlzKTsKKworICAgIERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cyBwYXJhbWV0ZXJzOworCisgICAgLy8gSW5kZXhlZCBkYXRhYmFzZXMgZXhpc3QgaW4gYSBzdWJk
aXJlY3Rvcnkgb2YgdGhlICJkYXRhYmFzZSBkaXJlY3RvcnkgcGF0aCIKKyAgICAvLyBUaGUgdG9w
IGxldmVsIG9mIHRoYXQgZGlyZWN0b3J5IGNvbnRhaW5zIGVudGl0aWVzIHJlbGF0ZWQgdG8gV2Vi
U1FMIGRhdGFiYXNlcywgYnV0IGFuIGVudGl0eSBuYW1lCisgICAgLy8gcHJlZml4ZWQgd2l0aCB0
aHJlZSB1bmRlcnNjb3JlcyB3aWxsIG5vdCBjb25mbGljdCB3aXRoIGFueSBvZiB0aG9zZSBlbnRp
dGllcy4KKyAgICBwYXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFzZURpcmVjdG9yeSA9IHBhdGhCeUFw
cGVuZGluZ0NvbXBvbmVudChkYXRhYmFzZURpcmVjdG9yeSgpLCAiX19fSW5kZXhlZERCIik7CisK
KyAgICBtX2RhdGFiYXNlUHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6RGF0YWJhc2VQcm9jZXNzOjpJ
bml0aWFsaXplRGF0YWJhc2VQcm9jZXNzKHBhcmFtZXRlcnMpLCAwKTsKIH0KIAogdm9pZCBXZWJD
b250ZXh0OjpnZXREYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uKFBhc3NSZWZQdHI8TWVzc2FnZXM6
OldlYlByb2Nlc3NQcm94eTo6R2V0RGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbjo6RGVsYXllZFJl
cGx5PiByZXBseSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCA3Y2Y1ZDYzLi5hMDc4ZWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01MzAsNiArNTMwLDggQEAK
IAkJNTE1NzhCODMxMjA5RUNFRjAwQTM3QzRBIC8qIFdlYkRhdGEuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNTc4QjgyMTIwOUVDRUYwMEEzN0M0QSAv
KiBXZWJEYXRhLmggKi87IH07CiAJCTUxNUU3NzI3MTgzREQ2RjYwMDA3MjAzRiAvKiBBc3luY1Jl
cXVlc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTE1RTc3MjUxODNERDZGNjAwMDcyMDNGIC8qIEFzeW5jUmVxdWVzdC5jcHAgKi87IH07CiAJCTUx
NUU3NzI4MTgzREQ2RjYwMDA3MjAzRiAvKiBBc3luY1JlcXVlc3QuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNUU3NzI2MTgzREQ2RjYwMDA3MjAzRiAv
KiBBc3luY1JlcXVlc3QuaCAqLzsgfTsKKwkJNTE1RTc3MkIxODQwMDhCOTAwMDcyMDNGIC8qIERh
dGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTVFNzcyOTE4NDAwOEI5MDAwNzIwM0YgLyogRGF0
YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCAqLzsgfTsKKwkJNTE1RTc3MkMxODQw
MDhCOTAwMDcyMDNGIC8qIERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE1RTc3MkExODQwMDhC
OTAwMDcyMDNGIC8qIERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oICovOyB9Owog
CQk1MTYwQkZFMTEzMzgxREY5MDA5MTg5OTkgLyogTG9nZ2luZy5tYWMubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTYwQkZFMDEzMzgxREY5MDA5MTg5
OTkgLyogTG9nZ2luZy5tYWMubW0gKi87IH07CiAJCTUxNjMxOTkyMTYyODk4MEEwMEUyMkYwMCAv
KiBOZXR3b3JrUHJvY2Vzc1Byb3h5TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTE2MzE5OTExNjI4OTgwQTAwRTIyRjAwIC8qIE5ldHdvcmtQcm9j
ZXNzUHJveHlNYWMubW0gKi87IH07CiAJCTUxNjMxOTk0MTYyODlBNjAwMEUyMkYwMCAvKiBOZXR3
b3JrUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MUFDQzkzNDE2MjgwNjQ4MDAzNDI1NTAgLyogTmV0d29ya1By
b2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwpAQCAtMjA1MSw2ICsyMDUzLDggQEAKIAkJ
NTE1NzhCODIxMjA5RUNFRjAwQTM3QzRBIC8qIFdlYkRhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
MTVFNzcyNTE4M0RENkY2MDAwNzIwM0YgLyogQXN5bmNSZXF1ZXN0LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFzeW5jUmVxdWVzdC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTUxNUU3NzI2MTgzREQ2RjYwMDA3MjAzRiAvKiBBc3luY1JlcXVlc3Qu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXN5bmNSZXF1ZXN0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxNUU3NzI5MTg0MDA4QjkwMDA3MjAzRiAvKiBEYXRh
YmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTE1RTc3MkExODQwMDhCOTAwMDcyMDNGIC8qIERh
dGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBEYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE2MEJGRTAxMzM4MURGOTAwOTE4OTk5IC8qIExvZ2dpbmcu
bWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTG9nZ2luZy5t
YWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxNjMxOTkxMTYyODk4MEEwMEUy
MkYwMCAvKiBOZXR3b3JrUHJvY2Vzc1Byb3h5TWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBuYW1lID0gTmV0d29ya1Byb2Nlc3NQcm94eU1hYy5tbTsgcGF0aCA9IG1hYy9O
ZXR3b3JrUHJvY2Vzc1Byb3h5TWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
MTY3RUU5RTE3MDM3N0JGMDA3NjgxQ0EgLyogRGlza0NhY2hlTW9uaXRvci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBEaXNrQ2FjaGVNb25pdG9yLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC00MDE4LDYgKzQwMjIsOCBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJ
CQljaGlsZHJlbiA9ICgKIAkJCQk1MUUzNTFDMzE4MEYyQzhBMDBFNTNCRTkgLyogSW5kZXhlZERC
ICovLAorCQkJCTUxNUU3NzI5MTg0MDA4QjkwMDA3MjAzRiAvKiBEYXRhYmFzZVByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuY3BwICovLAorCQkJCTUxNUU3NzJBMTg0MDA4QjkwMDA3MjAzRiAvKiBE
YXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0g
RGF0YWJhc2VzOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTU3NTUsNiArNTc2MSw3
IEBACiAJCQkJMzMwOTM0NTAxMzE1Qjk0RDAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTMzMDkzNDQ4MTMxNUI5MjIwMDk3QTdCQyAvKiBXZWJDb29raWVN
YW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTMzMDkzNDU2MTMxNUI5NzUwMDk3
QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyUHJveHkuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxNUU3
NzJDMTg0MDA4QjkwMDA3MjAzRiAvKiBEYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTMzQUExMDY3MTMxRjA2MDAwMEQ0QTU3NSAvKiBXZWJDb29r
aWVNYW5hZ2VyUHJveHlDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTMzMDkzNDRBMTMxNUI5
MjIwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkMxREQ3QjIxMTREQzM5NjAwNUFEQUYzIC8qIFdlYkNvcmVBcmd1bWVudENvZGVy
cy5oIGluIEhlYWRlcnMgKi8sCkBAIC03MDA5LDYgKzcwMTYsNyBAQAogCQkJCUUxOEU2OTE3MTY5
QjY2N0IwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTMzMTUyOTc1MTMwRDBDQjIwMEVEMjQ4MyAvKiBTZWN1cml0eU9yaWdp
bkRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE4RDJDQ0ExMkQ1MURGQjAwM0JCOTNCIC8q
IFNlc3Npb25TdGF0ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MTVFNzcyQjE4NDAwOEI5MDAw
NzIwM0YgLyogRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTFBNjQyMEU0MTJEQ0UyRkYwMENBQUUyQyAvKiBTaGFyZWFibGVCaXRtYXAuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQzAxQTI2MDExMjY2MkYyMTAwQzlFRDU1IC8qIFNoYXJlYWJs
ZUJpdG1hcENHLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMjE3NDYwMTY0QzIwRTMwMDM3QTVD
MSAvKiBTaGFyZWFibGVSZXNvdXJjZS5jcHAgaW4gU291cmNlcyAqLywK
</data>
<flag name="commit-queue"
          id="240920"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217733</attachid>
            <date>2013-11-22 17:36:05 -0800</date>
            <delta_ts>2013-11-22 22:28:33 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>15590</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBjZjJmZGI0Li5mY2EwNDMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTMtMTEtMjIgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIEFkZCBEYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMsIHN0YXJ0aW5nIHdpdGgg
dGhlIGRhdGFiYXNlIHBhdGguCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjQ4MDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIERhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpEYXRhYmFzZVByb2Nlc3M6OmluaXRpYWxpemVEYXRhYmFzZVByb2Nlc3MpOgor
ICAgICAgICAqIERhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MuaDoKKyAgICAgICAgKFdl
YktpdDo6RGF0YWJhc2VQcm9jZXNzOjppbmRleGVkRGF0YWJhc2VEaXJlY3RvcnkpOgorICAgICAg
ICAqIERhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MubWVzc2FnZXMuaW46CisKKyAgICAg
ICAgKiBTaGFyZWQvRGF0YWJhc2VzL0RhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpEYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnM6OkRhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyk6CisgICAgICAgIChXZWJL
aXQ6OkRhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlKToKKyAgICAgICAg
KFdlYktpdDo6RGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAg
ICAgICAqIFNoYXJlZC9EYXRhYmFzZXMvRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
Lmg6IEFkZGVkLgorCisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJDb250ZXh0OjplbnN1cmVEYXRhYmFzZVByb2Nlc3MpOgorCisgICAgICAg
ICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0Mi9tZXNzYWdlcy5weToKKyAgICAgICAgKHN0cnVjdF9vcl9jbGFzcyk6CisKIDIwMTMt
MTEtMjAgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIEhvb2sg
dXAgV2ViUHJvY2Vzcy1zaWRlIG9mIGdldE9yRXN0YWJsaXNoSURCRGF0YWJhc2VNZXRhZGF0YQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNlUHJvY2Vz
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzLmNw
cAppbmRleCBhNWMwODQyLi5kNDE0OWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9EYXRh
YmFzZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9EYXRh
YmFzZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzLmNwcApAQCAtMjYsOCArMjYsMTAgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEYXRhYmFzZVByb2Nlc3MuaCIKIAorI2luY2x1ZGUg
IkRhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIkRhdGFiYXNl
UHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nv
bm5lY3Rpb24uaCIKKyNpbmNsdWRlICJTZWN1cml0eU9yaWdpbkRhdGEuaCIKIAogI2lmIEVOQUJM
RShEQVRBQkFTRV9QUk9DRVNTKQogCkBAIC02Nyw2ICs2OSwxMSBAQCB2b2lkIERhdGFiYXNlUHJv
Y2Vzczo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3Jl
SVBDOjpTdAogICAgIFJ1bkxvb3A6OmN1cnJlbnQoKS0+c3RvcCgpOwogfQogCit2b2lkIERhdGFi
YXNlUHJvY2Vzczo6aW5pdGlhbGl6ZURhdGFiYXNlUHJvY2Vzcyhjb25zdCBEYXRhYmFzZVByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCit7CisgICAgbV9pbmRleGVkRGF0YWJh
c2VEaXJlY3RvcnkgPSBwYXJhbWV0ZXJzLmluZGV4ZWREYXRhYmFzZURpcmVjdG9yeTsKK30KKwog
dm9pZCBEYXRhYmFzZVByb2Nlc3M6OmNyZWF0ZURhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlv
bigpCiB7CiAjaWYgUExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvRGF0
YWJhc2VQcm9jZXNzL0RhdGFiYXNlUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQ
cm9jZXNzL0RhdGFiYXNlUHJvY2Vzcy5oCmluZGV4IDRiY2RiM2IuLjQ2ODdhMDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzLmgKQEAgLTM1
LDEyICszNSwxNSBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIERhdGFiYXNlVG9XZWJQcm9j
ZXNzQ29ubmVjdGlvbjsKIAogc3RydWN0IERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
czsKK3N0cnVjdCBTZWN1cml0eU9yaWdpbkRhdGE7CiAKIGNsYXNzIERhdGFiYXNlUHJvY2VzcyA6
IHB1YmxpYyBDaGlsZFByb2Nlc3MgIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShEYXRhYmFz
ZVByb2Nlc3MpOwogcHVibGljOgogICAgIHN0YXRpYyBEYXRhYmFzZVByb2Nlc3MmIHNoYXJlZCgp
OwogCisgICAgY29uc3QgU3RyaW5nJiBpbmRleGVkRGF0YWJhc2VEaXJlY3RvcnkoKSBjb25zdCB7
IHJldHVybiBtX2luZGV4ZWREYXRhYmFzZURpcmVjdG9yeTsgfQorCiBwcml2YXRlOgogICAgIERh
dGFiYXNlUHJvY2VzcygpOwogICAgIH5EYXRhYmFzZVByb2Nlc3MoKTsKQEAgLTU4LDkgKzYxLDEy
IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZShD
b3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlIG1lc3NhZ2VSZWNl
aXZlck5hbWUsIENvcmVJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlTmFtZSkgT1ZFUlJJREU7
CiAKICAgICAvLyBNZXNzYWdlIEhhbmRsZXJzCisgICAgdm9pZCBpbml0aWFsaXplRGF0YWJhc2VQ
cm9jZXNzKGNvbnN0IERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYpOwogICAgIHZv
aWQgY3JlYXRlRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uKCk7CiAKICAgICBWZWN0b3I8
UmVmUHRyPERhdGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbj4+IG1fZGF0YWJhc2VUb1dlYlBy
b2Nlc3NDb25uZWN0aW9uczsKKworICAgIFN0cmluZyBtX2luZGV4ZWREYXRhYmFzZURpcmVjdG9y
eTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvRGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNlUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXgg
MDg1ZGZjZi4uYzBkYTA3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9j
ZXNzL0RhdGFiYXNlUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9EYXRh
YmFzZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0yMyw2ICsyMyw5IEBA
CiAjaWYgRU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCiAKIG1lc3NhZ2VzIC0+IERhdGFiYXNlUHJv
Y2VzcyB7CisgICAgIyBJbml0aWFsaXplcyB0aGUgRGF0YWJhc2VQcm9jZXNzIHdpdGggdGhlIGNv
cnJlY3QgcGFyYW1ldGVycworICAgIEluaXRpYWxpemVEYXRhYmFzZVByb2Nlc3MoV2ViS2l0OjpE
YXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgcHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cykKKwogICAgICMgQ3JlYXRlcyBhIGNvbm5lY3Rpb24gZm9yIGNvbW11bmljYXRpb24gd2l0aCBh
IFdlYlByb2Nlc3MKICAgICBDcmVhdGVEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24oKQog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5
IGIvU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CmluZGV4IGQ0Njc1
ZDMuLmU3YjlhN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9t
ZXNzYWdlcy5weQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMu
cHkKQEAgLTIwMSw2ICsyMDEsNyBAQCBkZWYgc3RydWN0X29yX2NsYXNzKG5hbWVzcGFjZSwgdHlw
ZSk6CiAgICAgICAgICdXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmcnLAogICAgICAgICAnV2ViS2l0
OjpDb2xvclNwYWNlRGF0YScsCiAgICAgICAgICdXZWJLaXQ6OkNvbnRleHRNZW51U3RhdGUnLAor
ICAgICAgICAnV2ViS2l0OjpEYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMnLAogICAg
ICAgICAnV2ViS2l0OjpEaWN0aW9uYXJ5UG9wdXBJbmZvJywKICAgICAgICAgJ1dlYktpdDo6RHJh
d2luZ0FyZWFJbmZvJywKICAgICAgICAgJ1dlYktpdDo6RWRpdG9yU3RhdGUnLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0RhdGFiYXNlcy9EYXRhYmFzZVByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0RhdGFiYXNlcy9EYXRhYmFz
ZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmM5NGFkZGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvRGF0YWJhc2VzL0RhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKQEAgLTAs
MCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJE
YXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKKworI2lmIEVOQUJMRShJTkRFWEVE
X0RBVEFCQVNFKSAmJiBFTkFCTEUoREFUQUJBU0VfUFJPQ0VTUykKKworI2luY2x1ZGUgIkFyZ3Vt
ZW50Q29kZXJzLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitEYXRhYmFzZVByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnM6OkRhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycygpCit7Cit9
CisKK3ZvaWQgRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjplbmNvZGUoQ29yZUlQ
Qzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgaW5k
ZXhlZERhdGFiYXNlRGlyZWN0b3J5OworfQorCitib29sIERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVyczo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgRGF0
YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiByZXN1bHQpCit7CisgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShyZXN1bHQuaW5kZXhlZERhdGFiYXNlRGlyZWN0b3J5KSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktp
dAorCisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpICYmIEVOQUJMRShEQVRBQkFT
RV9QUk9DRVNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0RhdGFiYXNlcy9E
YXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9EYXRhYmFzZXMvRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWVkYzYxOAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9EYXRhYmFzZXMvRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmgKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICovCisKKyNpZm5kZWYgRGF0YWJhc2VQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzX2gKKyNkZWZpbmUgRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzX2gKKworI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCisjaWYgRU5BQkxFKElO
REVYRURfREFUQUJBU0UpICYmIEVOQUJMRShEQVRBQkFTRV9QUk9DRVNTKQorCituYW1lc3BhY2Ug
Q29yZUlQQyB7CitjbGFzcyBBcmd1bWVudERlY29kZXI7CitjbGFzcyBBcmd1bWVudEVuY29kZXI7
Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitzdHJ1Y3QgRGF0YWJhc2VQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzIHsKKyAgICBEYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMoKTsK
KworICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciYpIGNvbnN0OworICAg
IHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBEYXRhYmFzZVBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmKTsKKworICAgIFN0cmluZyBpbmRleGVkRGF0YWJhc2VE
aXJlY3Rvcnk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJM
RShJTkRFWEVEX0RBVEFCQVNFKSAmJiBFTkFCTEUoREFUQUJBU0VfUFJPQ0VTUykKKyNlbmRpZiAv
LyBEYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnNfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkNvbnRleHQuY3BwCmluZGV4IDJkYWFiYjIuLjVhNDIzNWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJX
ZWJDb250ZXh0LmgiCiAKICNpbmNsdWRlICJBUElBcnJheS5oIgorI2luY2x1ZGUgIkRhdGFiYXNl
UHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiRG93bmxvYWRQcm94eS5oIgogI2luY2x1ZGUg
IkRvd25sb2FkUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTc0LDYg
Kzc1LDEwIEBACiAjaW5jbHVkZSAiV2ViTmV0d29ya0luZm9NYW5hZ2VyUHJveHkuaCIKICNlbmRp
ZgogCisjaWYgRU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCisjaW5jbHVkZSAiRGF0YWJhc2VQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCisjZW5kaWYKKwogI2lmIEVOQUJMRShORVRXT1JLX1BS
T0NFU1MpCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNp
bmNsdWRlICJOZXR3b3JrUHJvY2Vzc01lc3NhZ2VzLmgiCkBAIC00MTEsNiArNDE2LDE1IEBAIHZv
aWQgV2ViQ29udGV4dDo6ZW5zdXJlRGF0YWJhc2VQcm9jZXNzKCkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgbV9kYXRhYmFzZVByb2Nlc3MgPSBEYXRhYmFzZVByb2Nlc3NQcm94eTo6Y3JlYXRlKHRo
aXMpOworCisgICAgRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzIHBhcmFtZXRlcnM7
CisKKyAgICAvLyBJbmRleGVkIGRhdGFiYXNlcyBleGlzdCBpbiBhIHN1YmRpcmVjdG9yeSBvZiB0
aGUgImRhdGFiYXNlIGRpcmVjdG9yeSBwYXRoIgorICAgIC8vIFRoZSB0b3AgbGV2ZWwgb2YgdGhh
dCBkaXJlY3RvcnkgY29udGFpbnMgZW50aXRpZXMgcmVsYXRlZCB0byBXZWJTUUwgZGF0YWJhc2Vz
LCBidXQgYW4gZW50aXR5IG5hbWUKKyAgICAvLyBwcmVmaXhlZCB3aXRoIHRocmVlIHVuZGVyc2Nv
cmVzIHdpbGwgbm90IGNvbmZsaWN0IHdpdGggYW55IG9mIHRob3NlIGVudGl0aWVzLgorICAgIHBh
cmFtZXRlcnMuaW5kZXhlZERhdGFiYXNlRGlyZWN0b3J5ID0gcGF0aEJ5QXBwZW5kaW5nQ29tcG9u
ZW50KGRhdGFiYXNlRGlyZWN0b3J5KCksICJfX19JbmRleGVkREIiKTsKKworICAgIG1fZGF0YWJh
c2VQcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpEYXRhYmFzZVByb2Nlc3M6OkluaXRpYWxpemVEYXRh
YmFzZVByb2Nlc3MocGFyYW1ldGVycyksIDApOwogfQogCiB2b2lkIFdlYkNvbnRleHQ6OmdldERh
dGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24oUGFzc1JlZlB0cjxNZXNzYWdlczo6V2ViUHJvY2Vzc1By
b3h5OjpHZXREYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHk+IHJlcGx5KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDdjZjVkNjMuLmEwNzhlYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTUzMCw2ICs1MzAsOCBAQAogCQk1MTU3OEI4MzEy
MDlFQ0VGMDBBMzdDNEEgLyogV2ViRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTE1NzhCODIxMjA5RUNFRjAwQTM3QzRBIC8qIFdlYkRhdGEuaCAq
LzsgfTsKIAkJNTE1RTc3MjcxODNERDZGNjAwMDcyMDNGIC8qIEFzeW5jUmVxdWVzdC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTVFNzcyNTE4M0RE
NkY2MDAwNzIwM0YgLyogQXN5bmNSZXF1ZXN0LmNwcCAqLzsgfTsKIAkJNTE1RTc3MjgxODNERDZG
NjAwMDcyMDNGIC8qIEFzeW5jUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTE1RTc3MjYxODNERDZGNjAwMDcyMDNGIC8qIEFzeW5jUmVxdWVz
dC5oICovOyB9OworCQk1MTVFNzcyQjE4NDAwOEI5MDAwNzIwM0YgLyogRGF0YWJhc2VQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxNUU3NzI5MTg0MDA4QjkwMDA3MjAzRiAvKiBEYXRhYmFzZVByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuY3BwICovOyB9OworCQk1MTVFNzcyQzE4NDAwOEI5MDAwNzIwM0Yg
LyogRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTVFNzcyQTE4NDAwOEI5MDAwNzIwM0YgLyog
RGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggKi87IH07CiAJCTUxNjBCRkUxMTMz
ODFERjkwMDkxODk5OSAvKiBMb2dnaW5nLm1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjBCRkUwMTMzODFERjkwMDkxODk5OSAvKiBMb2dnaW5n
Lm1hYy5tbSAqLzsgfTsKIAkJNTE2MzE5OTIxNjI4OTgwQTAwRTIyRjAwIC8qIE5ldHdvcmtQcm9j
ZXNzUHJveHlNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MTYzMTk5MTE2Mjg5ODBBMDBFMjJGMDAgLyogTmV0d29ya1Byb2Nlc3NQcm94eU1hYy5t
bSAqLzsgfTsKIAkJNTE2MzE5OTQxNjI4OUE2MDAwRTIyRjAwIC8qIE5ldHdvcmtQcm9jZXNzTWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxQUNDOTM0MTYyODA2NDgwMDM0MjU1MCAvKiBOZXR3b3JrUHJvY2Vzc01lc3NhZ2VS
ZWNlaXZlci5jcHAgKi87IH07CkBAIC0yMDUxLDYgKzIwNTMsOCBAQAogCQk1MTU3OEI4MjEyMDlF
Q0VGMDBBMzdDNEEgLyogV2ViRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxNUU3NzI1MTgzREQ2
RjYwMDA3MjAzRiAvKiBBc3luY1JlcXVlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQXN5bmNSZXF1ZXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNTE1RTc3MjYxODNERDZGNjAwMDcyMDNGIC8qIEFzeW5jUmVxdWVzdC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBc3luY1JlcXVlc3QuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNTE1RTc3MjkxODQwMDhCOTAwMDcyMDNGIC8qIERhdGFiYXNlUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBEYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk1MTVFNzcyQTE4NDAwOEI5MDAwNzIwM0YgLyogRGF0YWJhc2VQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERh
dGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1MTYwQkZFMDEzMzgxREY5MDA5MTg5OTkgLyogTG9nZ2luZy5tYWMubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb2dnaW5nLm1hYy5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE2MzE5OTExNjI4OTgwQTAwRTIyRjAwIC8qIE5ldHdv
cmtQcm9jZXNzUHJveHlNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5h
bWUgPSBOZXR3b3JrUHJvY2Vzc1Byb3h5TWFjLm1tOyBwYXRoID0gbWFjL05ldHdvcmtQcm9jZXNz
UHJveHlNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxNjdFRTlFMTcwMzc3
QkYwMDc2ODFDQSAvKiBEaXNrQ2FjaGVNb25pdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERpc2tDYWNoZU1vbml0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTQwMTgsNiArNDAyMiw4IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0g
KAogCQkJCTUxRTM1MUMzMTgwRjJDOEEwMEU1M0JFOSAvKiBJbmRleGVkREIgKi8sCisJCQkJNTE1
RTc3MjkxODQwMDhCOTAwMDcyMDNGIC8qIERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5jcHAgKi8sCisJCQkJNTE1RTc3MkExODQwMDhCOTAwMDcyMDNGIC8qIERhdGFiYXNlUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oICovLAogCQkJKTsKIAkJCXBhdGggPSBEYXRhYmFzZXM7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtNTc1NSw2ICs1NzYxLDcgQEAKIAkJCQkzMzA5
MzQ1MDEzMTVCOTREMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMzMwOTM0NDgxMzE1QjkyMjAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXJNZXNzYWdl
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzMwOTM0NTYxMzE1Qjk3NTAwOTdBN0JDIC8qIFdlYkNv
b2tpZU1hbmFnZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE1RTc3MkMxODQwMDhCOTAw
MDcyMDNGIC8qIERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMzNBQTEwNjcxMzFGMDYwMDAwRDRBNTc1IC8qIFdlYkNvb2tpZU1hbmFnZXJQcm94
eUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzMwOTM0NEExMzE1QjkyMjAwOTdBN0JDIC8q
IFdlYkNvb2tpZU1hbmFnZXJQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzFE
RDdCMjExNERDMzk2MDA1QURBRjMgLyogV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggaW4gSGVhZGVy
cyAqLywKQEAgLTcwMDksNiArNzAxNiw3IEBACiAJCQkJRTE4RTY5MTcxNjlCNjY3QjAwOUI2Njcw
IC8qIFNlY0l0ZW1TaGltUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMzMxNTI5NzUxMzBEMENCMjAwRUQyNDgzIC8qIFNlY3VyaXR5T3JpZ2luRGF0YS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1MThEMkNDQTEyRDUxREZCMDAzQkI5M0IgLyogU2Vzc2lvblN0YXRl
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxNUU3NzJCMTg0MDA4QjkwMDA3MjAzRiAvKiBEYXRh
YmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE2
NDIwRTQxMkRDRTJGRjAwQ0FBRTJDIC8qIFNoYXJlYWJsZUJpdG1hcC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlDMDFBMjYwMTEyNjYyRjIxMDBDOUVENTUgLyogU2hhcmVhYmxlQml0bWFwQ0cuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNTEyMTc0NjAxNjRDMjBFMzAwMzdBNUMxIC8qIFNoYXJlYWJs
ZVJlc291cmNlLmNwcCBpbiBTb3VyY2VzICovLAo=
</data>
<flag name="review"
          id="240921"
          type_id="1"
          status="+"
          setter="dino"
    />
    <flag name="commit-queue"
          id="240923"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217740</attachid>
            <date>2013-11-22 22:28:33 -0800</date>
            <delta_ts>2013-11-22 23:09:00 -0800</delta_ts>
            <desc>Patch for landing.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>15319</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA4MzM3NzRmLi5kNjNmYjVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTMtMTEtMjIgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIEFkZCBEYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMsIHN0YXJ0aW5nIHdpdGgg
dGhlIGRhdGFiYXNlIHBhdGguCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjQ4MDQKKworICAgICAgICBSZXZpZXdlZCBieSBEZWFuIEphY2tzb24gYW5k
IEJlbmphbWluIFBvdWxhaW4uCisKKyAgICAgICAgKiBEYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VQ
cm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RGF0YWJhc2VQcm9jZXNzOjppbml0aWFsaXpl
RGF0YWJhc2VQcm9jZXNzKToKKyAgICAgICAgKiBEYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VQcm9j
ZXNzLmg6CisgICAgICAgIChXZWJLaXQ6OkRhdGFiYXNlUHJvY2Vzczo6aW5kZXhlZERhdGFiYXNl
RGlyZWN0b3J5KToKKyAgICAgICAgKiBEYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzLm1l
c3NhZ2VzLmluOgorCisgICAgICAgICogU2hhcmVkL0RhdGFiYXNlcy9EYXRhYmFzZVByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6RGF0YWJhc2VQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpEYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMpOgorICAgICAgICAoV2ViS2l0OjpEYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6
OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OkRhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvRGF0YWJhc2VzL0RhdGFiYXNlUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oOiBBZGRlZC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJD
b250ZXh0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6ZW5zdXJlRGF0YWJhc2VQ
cm9jZXNzKToKKworICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHk6CisgICAgICAgIChzdHJ1Y3Rf
b3JfY2xhc3MpOgorCiAyMDEzLTExLTIyICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5n
LmNvbT4KIAogICAgICAgICBbRUZMXSBCdWlsZCBicmVhayBhZnRlciByMTU5NzI0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MuY3BwCmluZGV4
IGE1YzA4NDIuLmNlM2MzODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJv
Y2Vzcy9EYXRhYmFzZVByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJv
Y2Vzcy9EYXRhYmFzZVByb2Nlc3MuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VQcm9jZXNzLmgiCiAKKyNpbmNsdWRlICJEYXRhYmFz
ZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJEYXRhYmFzZVByb2Nlc3NQ
cm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9u
LmgiCiAKQEAgLTY3LDYgKzY4LDExIEBAIHZvaWQgRGF0YWJhc2VQcm9jZXNzOjpkaWRSZWNlaXZl
SW52YWxpZE1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6OlN0CiAgICAgUnVu
TG9vcDo6Y3VycmVudCgpLT5zdG9wKCk7CiB9CiAKK3ZvaWQgRGF0YWJhc2VQcm9jZXNzOjppbml0
aWFsaXplRGF0YWJhc2VQcm9jZXNzKGNvbnN0IERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycyYgcGFyYW1ldGVycykKK3sKKyAgICBtX2luZGV4ZWREYXRhYmFzZURpcmVjdG9yeSA9IHBh
cmFtZXRlcnMuaW5kZXhlZERhdGFiYXNlRGlyZWN0b3J5OworfQorCiB2b2lkIERhdGFiYXNlUHJv
Y2Vzczo6Y3JlYXRlRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uKCkKIHsKICNpZiBQTEFU
Rk9STShNQUMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvRGF0
YWJhc2VQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VQ
cm9jZXNzLmgKaW5kZXggNGJjZGIzYi4uNjNhY2RkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvRGF0YWJhc2VQcm9jZXNzL0RhdGFiYXNlUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nlc3MuaApAQCAtNDEsNiArNDEsOCBAQCBjbGFz
cyBEYXRhYmFzZVByb2Nlc3MgOiBwdWJsaWMgQ2hpbGRQcm9jZXNzICB7CiBwdWJsaWM6CiAgICAg
c3RhdGljIERhdGFiYXNlUHJvY2VzcyYgc2hhcmVkKCk7CiAKKyAgICBjb25zdCBTdHJpbmcmIGlu
ZGV4ZWREYXRhYmFzZURpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1faW5kZXhlZERhdGFiYXNl
RGlyZWN0b3J5OyB9CisKIHByaXZhdGU6CiAgICAgRGF0YWJhc2VQcm9jZXNzKCk7CiAgICAgfkRh
dGFiYXNlUHJvY2VzcygpOwpAQCAtNTgsOSArNjAsMTIgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFs
IHZvaWQgZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3Jl
SVBDOjpTdHJpbmdSZWZlcmVuY2UgbWVzc2FnZVJlY2VpdmVyTmFtZSwgQ29yZUlQQzo6U3RyaW5n
UmVmZXJlbmNlIG1lc3NhZ2VOYW1lKSBPVkVSUklERTsKIAogICAgIC8vIE1lc3NhZ2UgSGFuZGxl
cnMKKyAgICB2b2lkIGluaXRpYWxpemVEYXRhYmFzZVByb2Nlc3MoY29uc3QgRGF0YWJhc2VQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJik7CiAgICAgdm9pZCBjcmVhdGVEYXRhYmFzZVRvV2ViUHJv
Y2Vzc0Nvbm5lY3Rpb24oKTsKIAogICAgIFZlY3RvcjxSZWZQdHI8RGF0YWJhc2VUb1dlYlByb2Nl
c3NDb25uZWN0aW9uPj4gbV9kYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25zOworCisgICAg
U3RyaW5nIG1faW5kZXhlZERhdGFiYXNlRGlyZWN0b3J5OwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvRGF0YWJh
c2VQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0Rh
dGFiYXNlUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCAwODVkZmNmLi5jMGRhMDc5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvRGF0YWJhc2VQcm9jZXNzLm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9EYXRhYmFzZVByb2Nl
c3MubWVzc2FnZXMuaW4KQEAgLTIzLDYgKzIzLDkgQEAKICNpZiBFTkFCTEUoREFUQUJBU0VfUFJP
Q0VTUykKIAogbWVzc2FnZXMgLT4gRGF0YWJhc2VQcm9jZXNzIHsKKyAgICAjIEluaXRpYWxpemVz
IHRoZSBEYXRhYmFzZVByb2Nlc3Mgd2l0aCB0aGUgY29ycmVjdCBwYXJhbWV0ZXJzCisgICAgSW5p
dGlhbGl6ZURhdGFiYXNlUHJvY2VzcyhXZWJLaXQ6OkRhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycyBwcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzKQorCiAgICAgIyBDcmVhdGVzIGEgY29u
bmVjdGlvbiBmb3IgY29tbXVuaWNhdGlvbiB3aXRoIGEgV2ViUHJvY2VzcwogICAgIENyZWF0ZURh
dGFiYXNlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbigpCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRz
L3dlYmtpdDIvbWVzc2FnZXMucHkKaW5kZXggYTE0ZWY2ZC4uZGUyYmI2NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weQpAQCAtMjAyLDYgKzIwMiw3IEBAIGRl
ZiBzdHJ1Y3Rfb3JfY2xhc3MobmFtZXNwYWNlLCB0eXBlKToKICAgICAgICAgJ1dlYktpdDo6QXR0
cmlidXRlZFN0cmluZycsCiAgICAgICAgICdXZWJLaXQ6OkNvbG9yU3BhY2VEYXRhJywKICAgICAg
ICAgJ1dlYktpdDo6Q29udGV4dE1lbnVTdGF0ZScsCisgICAgICAgICdXZWJLaXQ6OkRhdGFiYXNl
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycycsCiAgICAgICAgICdXZWJLaXQ6OkRpY3Rpb25hcnlQ
b3B1cEluZm8nLAogICAgICAgICAnV2ViS2l0OjpEcmF3aW5nQXJlYUluZm8nLAogICAgICAgICAn
V2ViS2l0OjpFZGl0b3JTdGF0ZScsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
RGF0YWJhc2VzL0RhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvRGF0YWJhc2VzL0RhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzk0YWRkYQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9EYXRhYmFzZXMvRGF0YWJhc2VQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oIgorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpICYmIEVOQUJMRShEQVRB
QkFTRV9QUk9DRVNTKQorCisjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnMuaCIKKworbmFtZXNwYWNl
IFdlYktpdCB7CisKK0RhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6RGF0YWJhc2VQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzKCkKK3sKK30KKwordm9pZCBEYXRhYmFzZVByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29k
ZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBpbmRleGVkRGF0YWJhc2VEaXJlY3Rvcnk7Cit9
CisKK2Jvb2wgRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUoQ29yZUlQ
Qzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBEYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMmIHJlc3VsdCkKK3sKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5pbmRleGVk
RGF0YWJhc2VEaXJlY3RvcnkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoSU5E
RVhFRF9EQVRBQkFTRSkgJiYgRU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvRGF0YWJhc2VzL0RhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0RhdGFiYXNlcy9EYXRhYmFzZVByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5lZWRjNjE4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0RhdGFi
YXNlcy9EYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApAQCAtMCwwICsxLDUzIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFLCBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisg
Ki8KKworI2lmbmRlZiBEYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnNfaAorI2RlZmlu
ZSBEYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnNfaAorCisjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkgJiYgRU5BQkxF
KERBVEFCQVNFX1BST0NFU1MpCisKK25hbWVzcGFjZSBDb3JlSVBDIHsKK2NsYXNzIEFyZ3VtZW50
RGVjb2RlcjsKK2NsYXNzIEFyZ3VtZW50RW5jb2RlcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK3N0cnVjdCBEYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgeworICAgIERhdGFi
YXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycygpOworCisgICAgdm9pZCBlbmNvZGUoQ29yZUlQ
Qzo6QXJndW1lbnRFbmNvZGVyJikgY29uc3Q7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJ
UEM6OkFyZ3VtZW50RGVjb2RlciYsIERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYp
OworCisgICAgU3RyaW5nIGluZGV4ZWREYXRhYmFzZURpcmVjdG9yeTsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpICYmIEVO
QUJMRShEQVRBQkFTRV9QUk9DRVNTKQorI2VuZGlmIC8vIERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVyc19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29u
dGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKaW5kZXgg
ZmViMmVmZi4uNGNkOTBjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNw
cApAQCAtNzQsNiArNzQsMTEgQEAKICNpbmNsdWRlICJXZWJOZXR3b3JrSW5mb01hbmFnZXJQcm94
eS5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoREFUQUJBU0VfUFJPQ0VTUykKKyNpbmNsdWRlICJE
YXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlICJEYXRhYmFzZVBy
b2Nlc3NNZXNzYWdlcy5oIgorI2VuZGlmCisKICNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQog
I2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAi
TmV0d29ya1Byb2Nlc3NNZXNzYWdlcy5oIgpAQCAtNDE5LDYgKzQyNCwxNiBAQCB2b2lkIFdlYkNv
bnRleHQ6OmVuc3VyZURhdGFiYXNlUHJvY2VzcygpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1f
ZGF0YWJhc2VQcm9jZXNzID0gRGF0YWJhc2VQcm9jZXNzUHJveHk6OmNyZWF0ZSh0aGlzKTsKKwor
ICAgIERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyBwYXJhbWV0ZXJzOworCisgICAg
Ly8gSW5kZXhlZCBkYXRhYmFzZXMgZXhpc3QgaW4gYSBzdWJkaXJlY3Rvcnkgb2YgdGhlICJkYXRh
YmFzZSBkaXJlY3RvcnkgcGF0aC4iCisgICAgLy8gQ3VycmVudGx5LCB0aGUgdG9wIGxldmVsIG9m
IHRoYXQgZGlyZWN0b3J5IGNvbnRhaW5zIGVudGl0aWVzIHJlbGF0ZWQgdG8gV2ViU1FMIGRhdGFi
YXNlcy4KKyAgICAvLyBXZSBzaG91bGQgZml4IHRoaXMsIGFuZCBtb3ZlIFdlYlNRTCBpbnRvIGEg
c3ViZGlyZWN0b3J5IChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0
ODA3KQorICAgIC8vIEluIHRoZSBtZWFudGltZSwgYW4gZW50aXR5IG5hbWUgcHJlZml4ZWQgd2l0
aCB0aHJlZSB1bmRlcnNjb3JlcyB3aWxsIG5vdCBjb25mbGljdCB3aXRoIGFueSBXZWJTUUwgZW50
aXRpZXMuCisgICAgcGFyYW1ldGVycy5pbmRleGVkRGF0YWJhc2VEaXJlY3RvcnkgPSBwYXRoQnlB
cHBlbmRpbmdDb21wb25lbnQoZGF0YWJhc2VEaXJlY3RvcnkoKSwgIl9fX0luZGV4ZWREQiIpOwor
CisgICAgbV9kYXRhYmFzZVByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OkRhdGFiYXNlUHJvY2Vzczo6
SW5pdGlhbGl6ZURhdGFiYXNlUHJvY2VzcyhwYXJhbWV0ZXJzKSwgMCk7CiB9CiAKIHZvaWQgV2Vi
Q29udGV4dDo6Z2V0RGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbihQYXNzUmVmUHRyPE1lc3NhZ2Vz
OjpXZWJQcm9jZXNzUHJveHk6OkdldERhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb246OkRlbGF5ZWRS
ZXBseT4gcmVwbHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggYWY2OTQxMS4uYTY2MDg2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTM3LDYgKzUzNyw4IEBA
CiAJCTUxNTc4QjgzMTIwOUVDRUYwMEEzN0M0QSAvKiBXZWJEYXRhLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTU3OEI4MjEyMDlFQ0VGMDBBMzdDNEEg
LyogV2ViRGF0YS5oICovOyB9OwogCQk1MTVFNzcyNzE4M0RENkY2MDAwNzIwM0YgLyogQXN5bmNS
ZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxNUU3NzI1MTgzREQ2RjYwMDA3MjAzRiAvKiBBc3luY1JlcXVlc3QuY3BwICovOyB9OwogCQk1
MTVFNzcyODE4M0RENkY2MDAwNzIwM0YgLyogQXN5bmNSZXF1ZXN0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTVFNzcyNjE4M0RENkY2MDAwNzIwM0Yg
LyogQXN5bmNSZXF1ZXN0LmggKi87IH07CisJCTUxNUU3NzJCMTg0MDA4QjkwMDA3MjAzRiAvKiBE
YXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE1RTc3MjkxODQwMDhCOTAwMDcyMDNGIC8qIERh
dGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgKi87IH07CisJCTUxNUU3NzJDMTg0
MDA4QjkwMDA3MjAzRiAvKiBEYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNUU3NzJBMTg0MDA4
QjkwMDA3MjAzRiAvKiBEYXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCAqLzsgfTsK
IAkJNTE2MEJGRTExMzM4MURGOTAwOTE4OTk5IC8qIExvZ2dpbmcubWFjLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2MEJGRTAxMzM4MURGOTAwOTE4
OTk5IC8qIExvZ2dpbmcubWFjLm1tICovOyB9OwogCQk1MTYzMTk5MjE2Mjg5ODBBMDBFMjJGMDAg
LyogTmV0d29ya1Byb2Nlc3NQcm94eU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjMxOTkxMTYyODk4MEEwMEUyMkYwMCAvKiBOZXR3b3JrUHJv
Y2Vzc1Byb3h5TWFjLm1tICovOyB9OwogCQk1MTYzMTk5NDE2Mjg5QTYwMDBFMjJGMDAgLyogTmV0
d29ya1Byb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTFBQ0M5MzQxNjI4MDY0ODAwMzQyNTUwIC8qIE5ldHdvcmtQ
cm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKQEAgLTIwNjUsNiArMjA2Nyw4IEBACiAJ
CTUxNTc4QjgyMTIwOUVDRUYwMEEzN0M0QSAvKiBXZWJEYXRhLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdlYkRhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTE1RTc3MjUxODNERDZGNjAwMDcyMDNGIC8qIEFzeW5jUmVxdWVzdC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBBc3luY1JlcXVlc3QuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1MTVFNzcyNjE4M0RENkY2MDAwNzIwM0YgLyogQXN5bmNSZXF1ZXN0
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFzeW5jUmVxdWVzdC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTVFNzcyOTE4NDAwOEI5MDAwNzIwM0YgLyogRGF0
YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxNUU3NzJBMTg0MDA4QjkwMDA3MjAzRiAvKiBE
YXRhYmFzZVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxNjBCRkUwMTMzODFERjkwMDkxODk5OSAvKiBMb2dnaW5n
Lm1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExvZ2dpbmcu
bWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTYzMTk5MTE2Mjg5ODBBMDBF
MjJGMDAgLyogTmV0d29ya1Byb2Nlc3NQcm94eU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgbmFtZSA9IE5ldHdvcmtQcm9jZXNzUHJveHlNYWMubW07IHBhdGggPSBtYWMv
TmV0d29ya1Byb2Nlc3NQcm94eU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTE2N0VFOUUxNzAzNzdCRjAwNzY4MUNBIC8qIERpc2tDYWNoZU1vbml0b3IuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlza0NhY2hlTW9uaXRvci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNDAzMiw2ICs0MDM2LDggQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCiAJCQkJNTFFMzUxQzMxODBGMkM4QTAwRTUzQkU5IC8qIEluZGV4ZWRE
QiAqLywKKwkJCQk1MTVFNzcyOTE4NDAwOEI5MDAwNzIwM0YgLyogRGF0YWJhc2VQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmNwcCAqLywKKwkJCQk1MTVFNzcyQTE4NDAwOEI5MDAwNzIwM0YgLyog
RGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggKi8sCiAJCQkpOwogCQkJcGF0aCA9
IERhdGFiYXNlczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC01Nzc5LDYgKzU3ODUs
NyBAQAogCQkJCTMzMDkzNDUwMTMxNUI5NEQwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkzMzA5MzQ0ODEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2ll
TWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMzA5MzQ1NjEzMTVCOTc1MDA5
N0E3QkMgLyogV2ViQ29va2llTWFuYWdlclByb3h5LmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTVF
NzcyQzE4NDAwOEI5MDAwNzIwM0YgLyogRGF0YWJhc2VQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
LmggaW4gSGVhZGVycyAqLywKIAkJCQkzM0FBMTA2NzEzMUYwNjAwMDBENEE1NzUgLyogV2ViQ29v
a2llTWFuYWdlclByb3h5Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkzMzA5MzQ0QTEzMTVC
OTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDMUREN0IyMTE0REMzOTYwMDVBREFGMyAvKiBXZWJDb3JlQXJndW1lbnRDb2Rl
cnMuaCBpbiBIZWFkZXJzICovLApAQCAtNzAzNyw2ICs3MDQ0LDcgQEAKIAkJCQlFMThFNjkxNzE2
OUI2NjdCMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkzMzE1Mjk3NTEzMEQwQ0IyMDBFRDI0ODMgLyogU2VjdXJpdHlPcmln
aW5EYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxOEQyQ0NBMTJENTFERkIwMDNCQjkzQiAv
KiBTZXNzaW9uU3RhdGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTE1RTc3MkIxODQwMDhCOTAw
MDcyMDNGIC8qIERhdGFiYXNlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkxQTY0MjBFNDEyRENFMkZGMDBDQUFFMkMgLyogU2hhcmVhYmxlQml0bWFwLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUMwMUEyNjAxMTI2NjJGMjEwMEM5RUQ1NSAvKiBTaGFyZWFi
bGVCaXRtYXBDRy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTIxNzQ2MDE2NEMyMEUzMDAzN0E1
QzEgLyogU2hhcmVhYmxlUmVzb3VyY2UuY3BwIGluIFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>