<?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>100165</bug_id>
          
          <creation_ts>2012-10-23 15:29:50 -0700</creation_ts>
          <short_desc>Add a strategy for shared workers</short_desc>
          <delta_ts>2012-10-24 10:29:23 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>andersca</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mjs</cc>
    
    <cc>rakuco</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>749058</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-23 15:29:50 -0700</bug_when>
    <thetext>Just an empty one for now. Will be used to create a worker process when appropriate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749064</commentid>
    <comment_count>1</comment_count>
      <attachid>170252</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-23 15:36:12 -0700</bug_when>
    <thetext>Created attachment 170252
proposed patch

Since bug 100031 wasn&apos;t such a great idea, this is a lot of copy/pasted code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749065</commentid>
    <comment_count>2</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-10-23 15:39:54 -0700</bug_when>
    <thetext>A lot of the copy/paste into the WebKit1 ports could be avoided by adding a default strategy to WebCore.  This is something I currently have in my working tree for the strategy I&apos;m considering adding soon... thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749071</commentid>
    <comment_count>3</comment_count>
      <attachid>170252</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-10-23 15:45:22 -0700</bug_when>
    <thetext>Comment on attachment 170252
proposed patch

Attachment 170252 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/14525126</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749080</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-23 15:56:43 -0700</bug_when>
    <thetext>That would save some effort, but it would be quite a layering violation.

Having PlatformStrategies know the names of non-platform classes is one thing - we can think of it as a universal connector. But directly including them is certainly wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749084</commentid>
    <comment_count>5</comment_count>
      <attachid>170257</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-23 15:57:53 -0700</bug_when>
    <thetext>Created attachment 170257
with Qt copy-pasta fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749088</commentid>
    <comment_count>6</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-10-23 16:02:54 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; That would save some effort, but it would be quite a layering violation.
&gt; 
&gt; Having PlatformStrategies know the names of non-platform classes is one thing - we can think of it as a universal connector. But directly including them is certainly wrong.

I was thinking to *not* have individual strategies be in WebCore/Platform.

Imagine if PluginStrategy.h/cpp were in WebCore/Plugins, as an example.  All PlatformStrategies.h/cpp would do would provide access to the default PluginStrategy for those platforms that don&apos;t need different behavior...  that&apos;s what I was thinking.

Does that sound as bad?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749089</commentid>
    <comment_count>7</comment_count>
      <attachid>170257</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-10-23 16:03:03 -0700</bug_when>
    <thetext>Comment on attachment 170257
with Qt copy-pasta fixed

Attachment 170257 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/14539042</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749129</commentid>
    <comment_count>8</comment_count>
      <attachid>170257</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-10-23 16:46:57 -0700</bug_when>
    <thetext>Comment on attachment 170257
with Qt copy-pasta fixed

Attachment 170257 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/14505630</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749141</commentid>
    <comment_count>9</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-10-23 17:19:28 -0700</bug_when>
    <thetext>We chatted in person.

I&apos;ll review after EWS has been pleased.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749143</commentid>
    <comment_count>10</comment_count>
      <attachid>170274</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-23 17:20:32 -0700</bug_when>
    <thetext>Created attachment 170274
more Qt fixing

Not sure how to fix EFL. Grepped everywhere trying to find how it finds PluginStrategy.h for comparison, but couldn&apos;t find that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749226</commentid>
    <comment_count>11</comment_count>
      <attachid>170274</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-10-23 19:02:52 -0700</bug_when>
    <thetext>Comment on attachment 170274
more Qt fixing

Attachment 170274 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/14543024</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749349</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-23 22:25:42 -0700</bug_when>
    <thetext>Could someone working on EFL please help with this build failure?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749357</commentid>
    <comment_count>13</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-10-23 22:38:33 -0700</bug_when>
    <thetext>Does EFL have workers enabled?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749376</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-23 23:06:23 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Does EFL have workers enabled?

Yes, we do have worker enabled:
Source/cmake/OptionsEfl.cmake:WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHARED_WORKERS ON)
Source/cmake/OptionsEfl.cmake:WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WORKERS ON)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749377</commentid>
    <comment_count>15</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-23 23:08:19 -0700</bug_when>
    <thetext>I&apos;m looking into it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749381</commentid>
    <comment_count>16</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-23 23:17:27 -0700</bug_when>
    <thetext>This will fix the EFL build:

diff --git a/Source/WebKit/CMakeLists.txt b/Source/WebKit/CMakeLists.txt
index a7983d9..5d0e361 100644
--- a/Source/WebKit/CMakeLists.txt
+++ b/Source/WebKit/CMakeLists.txt
@@ -43,6 +43,7 @@ SET(WebKit_INCLUDE_DIRECTORIES
     &quot;${WEBCORE_DIR}/svg&quot;
     &quot;${WEBCORE_DIR}/svg/graphics&quot;
     &quot;${WEBCORE_DIR}/svg/properties&quot;
+    &quot;${WEBCORE_DIR}/workers&quot;
     &quot;${JAVASCRIPTCORE_DIR}&quot;
     &quot;${JAVASCRIPTCORE_DIR}/ForwardingHeaders&quot;
     &quot;${JAVASCRIPTCORE_DIR}/API&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749412</commentid>
    <comment_count>17</comment_count>
      <attachid>170331</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-24 00:03:41 -0700</bug_when>
    <thetext>Created attachment 170331
with EFL build fix

Thank you so much!

Build fix included, let&apos;s see how happy EWS is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749422</commentid>
    <comment_count>18</comment_count>
      <attachid>170331</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-10-24 00:19:10 -0700</bug_when>
    <thetext>Comment on attachment 170331
with EFL build fix

EFL passed, yay!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749716</commentid>
    <comment_count>19</comment_count>
      <attachid>170331</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-24 08:52:52 -0700</bug_when>
    <thetext>Comment on attachment 170331
with EFL build fix

Rejecting attachment 170331 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
t/git/webkit-commit-queue/Source/WebKit/chromium/v8 --revision 12787 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
50&gt;At revision 12787.

________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/14569231</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749792</commentid>
    <comment_count>20</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-24 10:29:23 -0700</bug_when>
    <thetext>Committed manually: http://trac.webkit.org/changeset/132367</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170252</attachid>
            <date>2012-10-23 15:36:12 -0700</date>
            <delta_ts>2012-10-23 15:57:53 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>AddSharedWorkerStrategy.txt</filename>
            <type>text/plain</type>
            <size>37690</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjI3NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDEyLTEwLTIzICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIHN0cmF0ZWd5IGZv
ciBzaGFyZWQgd29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAwMTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWxzbyBhIGxpdHRsZSBiaXQgb2YgYWxwaGFiZXRpemF0aW9uLgorCisgICAgICAg
ICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBwbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAgICAgKiB3b3JrZXJzL1NoYXJl
ZFdvcmtlclN0cmF0ZWd5Lmg6IEFkZGVkLgorCiAyMDEyLTEwLTIzICBTaW1vbiBGcmFzZXIgIDxz
aW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFsbG93IHRlc3RzIHRvIHJ1biB3aXRo
IGEgdGlsZSBjYWNoZSwgYW5kIG9wdGlvbmFsbHkgZHVtcCB0aGUgdGlsZSBjYWNoZSB2aWEgbGF5
ZXJUcmVlQXNUZXh0KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDEzMjI2NCkKKysr
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMzI4LDYgKzMy
OCw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vU2VhcmNoUG9wdXBNZW51LmgnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9T
aGFyZWRCdWZmZXJDaHVua1JlYWRlci5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9TaGFyZWRX
b3JrZXJTdHJhdGVneS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9TdGF0c0NvdW50ZXIuaCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vU3VwcGxlbWVudGFibGUuaCcsCiAgICAgICAgICAgICAn
cGxhdGZvcm0vU3lzdGVtVGltZS5oJywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiAxMzIyNjQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtMjg3NTks
NiArMjg3NTksMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5ccGxhdGZvcm1cU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cU291bmQuaCIKIAkJ
CQk+CiAJCQk8L0ZpbGU+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxMzIyNjQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTYw
ODYsNiArNjA4Niw3IEBACiAJCUUxQjI1MTA2MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVByb3Bl
cnR5U2hvcnRoYW5kLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUxQjI1MTA0MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVByb3BlcnR5U2hvcnRoYW5k
LmNwcCAqLzsgfTsKIAkJRTFCMjUxMDcxNTJBMEJCMDAwNjlCNzc5IC8qIFN0eWxlUHJvcGVydHlT
aG9ydGhhbmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUxQjI1MTA1MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmggKi87
IH07CiAJCUUxQjRDRDI1MTBCMzIyRTIwMEJGRkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQjRDRDI0
MTBCMzIyRTIwMEJGRkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5tbSAqLzsgfTsKKwkJRTFC
NzgzOUMxNjM3NDBBNzAwMDdCNjkyIC8qIFNoYXJlZFdvcmtlclN0cmF0ZWd5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUI3ODM5QjE2Mzc0MEE3MDAw
N0I2OTIgLyogU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMUJFNTEyRDBDRjZDNTEyMDAyRUE5NTkgLyogWFNM
VFVuaWNvZGVTb3J0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUxQkU1MTJCMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuY3BwICov
OyB9OwogCQlFMUJFNTEyRTBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUJFNTEyQzBDRjZD
NTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmggKi87IH07CiAJCUUxQzJGMjRBMTUzM0Ey
MTIwMDgzRjk3NCAvKiBTZXR0aW5nc01hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUxQzJGMjQ4MTUzM0EyMTIwMDgzRjk3NCAvKiBTZXR0aW5nc01h
Yy5tbSAqLzsgfTsKQEAgLTg2OTEsNiArODY5Miw4IEBACiAJCTUwM0QwQ0E4MTRCNUIwODcwMEYz
MkY1NyAvKiBDdXN0b21GaWx0ZXJQcm9ncmFtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IEN1c3RvbUZpbHRlclByb2dyYW0uaDsgcGF0aCA9IGZpbHRlcnMvQ3VzdG9tRmlsdGVy
UHJvZ3JhbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MDNEMENBOTE0QjVCMDg3
MDBGMzJGNTcgLyogQ3VzdG9tRmlsdGVyUHJvZ3JhbUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBDdXN0b21GaWx0ZXJQcm9ncmFtQ2xpZW50Lmg7IHBhdGggPSBmaWx0
ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1DbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNTAzRDBDQUQxNEI1QjBCQTAwRjMyRjU3IC8qIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3Jh
bS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTdHlsZUN1c3RvbUZpbHRlclBy
b2dyYW0uaDsgcGF0aCA9IHN0eWxlL1N0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk1MDgxRTNERjNDRkM4MEMxNkVGOEI0OEIgLyogQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBDYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk1MDgxRTNFMTNEMDI4MEMxNkVGOEI0OEIgLyogQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRSZXNvdXJjZVJlcXVlc3QuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTA4Q0NBNEQxM0NGMTA2QjAwMzE1MUYzIC8q
IFJlbmRlckZsb3dUaHJlYWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVu
ZGVyRmxvd1RocmVhZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MDhDQ0E0RTEz
Q0YxMDZCMDAzMTUxRjMgLyogUmVuZGVyRmxvd1RocmVhZC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJGbG93VGhyZWFkLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTA5ODdDMjQxNTdENjc2RDAwQkRBODM1IC8qIEN1c3RvbUZpbHRlckds
b2JhbENvbnRleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQ3Vz
dG9tRmlsdGVyR2xvYmFsQ29udGV4dC5jcHA7IHBhdGggPSBmaWx0ZXJzL0N1c3RvbUZpbHRlckds
b2JhbENvbnRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTI5NjUsOCAr
MTI5NjgsNiBAQAogCQlCQ0IxNkMwRjA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVT
aGVldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkWFNMU3R5bGVT
aGVldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0IxNkMxMDA5NzlDM0JEMDA0
Njc3NDEgLyogQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IENhY2hlZFJlc291cmNlTG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQkNCMTZDMTEwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFJlc291cmNl
TG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRSZXNvdXJj
ZUxvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1MDgxRTNERjNDRkM4MEMx
NkVGOEI0OEIgLyogQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk1MDgxRTNFMTNEMDI4MEMxNkVGOEI0OEIgLyogQ2FjaGVkUmVz
b3VyY2VSZXF1ZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRS
ZXNvdXJjZVJlcXVlc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNCNzczNUUw
QzE3ODUzRDAwMTMyQkE0IC8qIEpTTm9kZUZpbHRlckNvbmRpdGlvbi5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOb2RlRmlsdGVyQ29uZGl0aW9uLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNCNzczNUYwQzE3ODUzRDAwMTMyQkE0IC8qIEpT
Tm9kZUZpbHRlckNvbmRpdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNOb2RlRmlsdGVyQ29uZGl0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJD
Qjc3MzYwMEMxNzg1M0QwMDEzMkJBNCAvKiBKU05vZGVGaWx0ZXJDdXN0b20uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTm9kZUZpbHRlckN1c3RvbS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzQ5OCw2ICsxMzQ5OSw3IEBACiAJCUUxQjI1
MTA0MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUIyNTEwNTE1MkEwQkFGMDA2OUI3Nzkg
LyogU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUxQjRDRDI0MTBCMzIyRTIwMEJGRkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENyZWRlbnRpYWxTdG9yYWdl
TWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMUI3ODM5QjE2Mzc0MEE3MDAw
N0I2OTIgLyogU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gU2hhcmVkV29ya2VyU3RyYXRlZ3kuaDsgcGF0aCA9IHdvcmtlcnMvU2hhcmVkV29y
a2VyU3RyYXRlZ3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFCRTUxMkIwQ0Y2
QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBYU0xUVW5pY29kZVNvcnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFMUJFNTEyQzBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhTTFRVbmljb2RlU29ydC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUMyRjI0ODE1MzNBMjEyMDA4M0Y5NzQgLyogU2V0
dGluZ3NNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTZXR0
aW5nc01hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0OTM2LDYgKzE0OTM4
LDcgQEAKIAkJCQk0MUQxNjhFMDEwMjI2RTg5MDA5QkM4MjcgLyogU2hhcmVkV29ya2VyQ29udGV4
dC5oICovLAogCQkJCTQxRDE2OEUxMTAyMjZFODkwMDlCQzgyNyAvKiBTaGFyZWRXb3JrZXJDb250
ZXh0LmlkbCAqLywKIAkJCQk0MUQxNjhFMjEwMjI2RTg5MDA5QkM4MjcgLyogU2hhcmVkV29ya2Vy
UmVwb3NpdG9yeS5oICovLAorCQkJCUUxQjc4MzlCMTYzNzQwQTcwMDA3QjY5MiAvKiBTaGFyZWRX
b3JrZXJTdHJhdGVneS5oICovLAogCQkJCTQxRDE2OEU1MTAyMjZFODkwMDlCQzgyNyAvKiBTaGFy
ZWRXb3JrZXJUaHJlYWQuY3BwICovLAogCQkJCTQxRDE2OEU2MTAyMjZFODkwMDlCQzgyNyAvKiBT
aGFyZWRXb3JrZXJUaHJlYWQuaCAqLywKIAkJCQkyRTQzNDYzMzBGNTQ2QTgyMDBCMEYxQkEgLyog
V29ya2VyLmNwcCAqLywKQEAgLTI1NjQ5LDYgKzI1NjUyLDcgQEAKIAkJCQk3RTVEN0E3NzE2MUQz
RjhGMDA4OTZDMzQgLyogT0VTRWxlbWVudEluZGV4VWludC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
N0U0NkY2RkIxNjI3QTJDQTAwMDYyMjIzIC8qIEpTT0VTRWxlbWVudEluZGV4VWludC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTQ3MTI3Q0IxNjM0MzhBRTAwRUQ2RjVBIC8qIFN0eWxlSW52YWxpZGF0
aW9uQW5hbHlzaXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUUxQjc4MzlDMTYzNzQwQTcwMDA3QjY5
MiAvKiBTaGFyZWRXb3JrZXJTdHJhdGVneS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVu
T25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaAkocmV2aXNpb24gMTMyMjY0
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSwg
MjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTMzLDYgKzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
Q29va2llc1N0cmF0ZWd5OwogY2xhc3MgUGFzdGVib2FyZFN0cmF0ZWd5OwogY2xhc3MgUGx1Z2lu
U3RyYXRlZ3k7CitjbGFzcyBTaGFyZWRXb3JrZXJTdHJhdGVneTsKIGNsYXNzIFZpc2l0ZWRMaW5r
U3RyYXRlZ3k7CiAKIGNsYXNzIFBsYXRmb3JtU3RyYXRlZ2llcyB7CkBAIC00NCw2ICs0NSwxMyBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX2Nvb2tpZXNTdHJhdGVneTsKICAgICB9CiAKKyAg
ICBQYXN0ZWJvYXJkU3RyYXRlZ3kqIHBhc3RlYm9hcmRTdHJhdGVneSgpCisgICAgeworICAgICAg
ICBpZiAoIW1fcGFzdGVib2FyZFN0cmF0ZWd5KQorICAgICAgICAgICAgbV9wYXN0ZWJvYXJkU3Ry
YXRlZ3kgPSBjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKTsKKyAgICAgICAgcmV0dXJuIG1fcGFz
dGVib2FyZFN0cmF0ZWd5OworICAgIH0KKwogICAgIFBsdWdpblN0cmF0ZWd5KiBwbHVnaW5TdHJh
dGVneSgpCiAgICAgewogICAgICAgICBpZiAoIW1fcGx1Z2luU3RyYXRlZ3kpCkBAIC01MSwyNSAr
NTksMjcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9wbHVnaW5TdHJhdGVneTsKICAgICB9
CiAKKyAgICBTaGFyZWRXb3JrZXJTdHJhdGVneSogc2hhcmVkV29ya2VyU3RyYXRlZ3koKQorICAg
IHsKKyAgICAgICAgaWYgKCFtX3NoYXJlZFdvcmtlclN0cmF0ZWd5KQorICAgICAgICAgICAgbV9z
aGFyZWRXb3JrZXJTdHJhdGVneSA9IGNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCk7CisgICAg
ICAgIHJldHVybiBtX3NoYXJlZFdvcmtlclN0cmF0ZWd5OworICAgIH0KKwogICAgIFZpc2l0ZWRM
aW5rU3RyYXRlZ3kqIHZpc2l0ZWRMaW5rU3RyYXRlZ3koKQogICAgIHsKICAgICAgICAgaWYgKCFt
X3Zpc2l0ZWRMaW5rU3RyYXRlZ3kpCiAgICAgICAgICAgICBtX3Zpc2l0ZWRMaW5rU3RyYXRlZ3kg
PSBjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCk7CiAgICAgICAgIHJldHVybiBtX3Zpc2l0ZWRM
aW5rU3RyYXRlZ3k7CiAgICAgfQotICAgIFBhc3RlYm9hcmRTdHJhdGVneSogcGFzdGVib2FyZFN0
cmF0ZWd5KCkKLSAgICB7Ci0gICAgICAgIGlmICghbV9wYXN0ZWJvYXJkU3RyYXRlZ3kpCi0gICAg
ICAgICAgICBtX3Bhc3RlYm9hcmRTdHJhdGVneSA9IGNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgp
OwotICAgICAgICByZXR1cm4gbV9wYXN0ZWJvYXJkU3RyYXRlZ3k7Ci0gICAgfQogCiBwcm90ZWN0
ZWQ6CiAgICAgUGxhdGZvcm1TdHJhdGVnaWVzKCkKICAgICAgICAgOiBtX2Nvb2tpZXNTdHJhdGVn
eSgwKQorICAgICAgICAsIG1fcGFzdGVib2FyZFN0cmF0ZWd5KDApCiAgICAgICAgICwgbV9wbHVn
aW5TdHJhdGVneSgwKQorICAgICAgICAsIG1fc2hhcmVkV29ya2VyU3RyYXRlZ3koMCkKICAgICAg
ICAgLCBtX3Zpc2l0ZWRMaW5rU3RyYXRlZ3koMCkKLSAgICAgICAgLCBtX3Bhc3RlYm9hcmRTdHJh
dGVneSgwKQogICAgIHsKICAgICB9CiAKQEAgLTc5LDE0ICs4OSwxNiBAQCBwcm90ZWN0ZWQ6CiAK
IHByaXZhdGU6CiAgICAgdmlydHVhbCBDb29raWVzU3RyYXRlZ3kqIGNyZWF0ZUNvb2tpZXNTdHJh
dGVneSgpID0gMDsKKyAgICB2aXJ0dWFsIFBhc3RlYm9hcmRTdHJhdGVneSogY3JlYXRlUGFzdGVi
b2FyZFN0cmF0ZWd5KCkgPSAwOwogICAgIHZpcnR1YWwgUGx1Z2luU3RyYXRlZ3kqIGNyZWF0ZVBs
dWdpblN0cmF0ZWd5KCkgPSAwOworICAgIHZpcnR1YWwgU2hhcmVkV29ya2VyU3RyYXRlZ3kqIGNy
ZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCkgPSAwOwogICAgIHZpcnR1YWwgVmlzaXRlZExpbmtT
dHJhdGVneSogY3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpID0gMDsKLSAgICB2aXJ0dWFsIFBh
c3RlYm9hcmRTdHJhdGVneSogY3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCkgPSAwOyAKIAogICAg
IENvb2tpZXNTdHJhdGVneSogbV9jb29raWVzU3RyYXRlZ3k7CisgICAgUGFzdGVib2FyZFN0cmF0
ZWd5KiBtX3Bhc3RlYm9hcmRTdHJhdGVneTsKICAgICBQbHVnaW5TdHJhdGVneSogbV9wbHVnaW5T
dHJhdGVneTsKKyAgICBTaGFyZWRXb3JrZXJTdHJhdGVneSogbV9zaGFyZWRXb3JrZXJTdHJhdGVn
eTsKICAgICBWaXNpdGVkTGlua1N0cmF0ZWd5KiBtX3Zpc2l0ZWRMaW5rU3RyYXRlZ3k7Ci0gICAg
UGFzdGVib2FyZFN0cmF0ZWd5KiBtX3Bhc3RlYm9hcmRTdHJhdGVneTsKIH07CiAKIFBsYXRmb3Jt
U3RyYXRlZ2llcyogcGxhdGZvcm1TdHJhdGVnaWVzKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1NoYXJlZFdvcmtlclN0cmF0ZWd5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvd29ya2Vycy9TaGFyZWRXb3JrZXJTdHJhdGVneS5oCShyZXZpc2lvbiAwKQorKysgU291cmNl
L1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJTdHJhdGVneS5oCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBTaGFyZWRXb3JrZXJTdHJhdGVneV9o
CisjZGVmaW5lIFNoYXJlZFdvcmtlclN0cmF0ZWd5X2gKKworI2lmIFVTRShQTEFURk9STV9TVFJB
VEVHSUVTKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAgCitjbGFzcyBTaGFyZWRXb3JrZXJT
dHJhdGVneSB7CitwdWJsaWM6Citwcm90ZWN0ZWQ6CisgICAgdmlydHVhbCB+U2hhcmVkV29ya2Vy
U3RyYXRlZ3koKQorICAgIHsKKyAgICB9Cit9OworCit9CisjZW5kaWYgLy8gVVNFKFBMQVRGT1JN
X1NUUkFURUdJRVMpCisKKyNlbmRpZiAvLyBTaGFyZWRXb3JrZXJTdHJhdGVneV9oCgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlclN0cmF0ZWd5
LmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cJKHJldmlzaW9uIDEzMjI3NikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTEwLTIzICBBbGV4ZXkgUHJvc2t1cnlh
a292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIHN0cmF0ZWd5IGZvciBzaGFyZWQg
d29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAwMTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlUGFzdGVib2FyZFN0
cmF0ZWd5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVT
aGFyZWRXb3JrZXJTdHJhdGVneSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXRmb3JtU3RyYXRl
Z2llczo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKwogMjAxMi0xMC0yMyAgTm8n
YW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29tPgogCiAgICAgICAgIENvb3Jk
aW5hdGVkIEdyYXBoaWNzOiBFbmFibGUgdGhyZWFkZWQvSVBDIGFuaW1hdGlvbnMKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAJKHJldmlzaW9uIDEzMjI2NCkKKysrIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjgsMTcgKzY4LDIyIEBAIENvb2tpZXNTdHJhdGVn
eSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjoKICAgICByZXR1cm4gdGhpczsKIH0KIAorUGFzdGVi
b2FyZFN0cmF0ZWd5KiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZVBhc3RlYm9hcmRTdHJh
dGVneSgpCit7CisgICAgcmV0dXJuIHRoaXM7Cit9CisKIFBsdWdpblN0cmF0ZWd5KiBXZWJQbGF0
Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4gdGhp
czsKIH0KIAotVmlzaXRlZExpbmtTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVh
dGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkKK1NoYXJlZFdvcmtlclN0cmF0ZWd5KiBXZWJQbGF0Zm9y
bVN0cmF0ZWdpZXM6OmNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4g
dGhpczsKIH0KIAotUGFzdGVib2FyZFN0cmF0ZWd5KiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNy
ZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpCitWaXNpdGVkTGlua1N0cmF0ZWd5KiBXZWJQbGF0Zm9y
bVN0cmF0ZWdpZXM6OmNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKQogewogICAgIHJldHVybiB0
aGlzOwogfQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCShyZXZpc2lvbiAx
MzIyNjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBs
YXRmb3JtU3RyYXRlZ2llcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiwxMSArMzIsMTIgQEAKICNp
bmNsdWRlIDxXZWJDb3JlL1Bhc3RlYm9hcmRTdHJhdGVneS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UGxhdGZvcm1TdHJhdGVnaWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5TdHJhdGVneS5o
PgorI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkV29ya2VyU3RyYXRlZ3kuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1Zpc2l0ZWRMaW5rU3RyYXRlZ3kuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNs
YXNzIFdlYlBsYXRmb3JtU3RyYXRlZ2llcyA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0
ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6
OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3ksIHBy
aXZhdGUgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5IHsKK2NsYXNzIFdlYlBsYXRmb3JtU3Ry
YXRlZ2llcyA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMsIHByaXZhdGUgV2Vi
Q29yZTo6Q29va2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVn
eSwgcHJpdmF0ZSBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpTaGFy
ZWRXb3JrZXJTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5IHsK
IHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplKCk7CiAgICAgCkBAIC00NSw5ICs0
NiwxMCBAQCBwcml2YXRlOgogICAgIAogICAgIC8vIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2ll
cwogICAgIHZpcnR1YWwgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5KiBjcmVhdGVDb29raWVzU3Ry
YXRlZ3koKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVn
eSogY3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBXZWJD
b3JlOjpQbHVnaW5TdHJhdGVneSogY3JlYXRlUGx1Z2luU3RyYXRlZ3koKSBPVkVSUklERTsKKyAg
ICB2aXJ0dWFsIFdlYkNvcmU6OlNoYXJlZFdvcmtlclN0cmF0ZWd5KiBjcmVhdGVTaGFyZWRXb3Jr
ZXJTdHJhdGVneSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6VmlzaXRlZExpbmtT
dHJhdGVneSogY3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpIE9WRVJSSURFOwotICAgIHZpcnR1
YWwgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5KiBjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3ko
KSBPVkVSUklERTsKIAogICAgIC8vIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneQogICAgIHZpcnR1
YWwgdm9pZCBub3RpZnlDb29raWVzQ2hhbmdlZCgpIE9WRVJSSURFOwpJbmRleDogU291cmNlL1dl
YktpdC9lZmwvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZWZsL0NoYW5n
ZUxvZwkocmV2aXNpb24gMTMyMjc2KQorKysgU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTAtMjMgIEFsZXhleSBQcm9za3Vy
eWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgc3RyYXRlZ3kgZm9yIHNoYXJl
ZCB3b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDAxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5jcHA6CisgICAgICAgIChQ
bGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSk6CisgICAgICAg
IChQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KToKKyAg
ICAgICAgKFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSk6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmg6CisKIDIw
MTItMTAtMjMgIEFuZHJhcyBCZWNzaSAgPGFuZHJhcy5iZWNzaUBkaWdpYS5jb20+CiAKICAgICAg
ICAgUmVtb3ZlIGRldmljZVBpeGVsUmF0aW8gZnJvbSBWaWV3cG9ydEF0dHJpYnV0ZXMKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZv
cm1TdHJhdGVnaWVzRWZsLmNwcAkocmV2aXNpb24gMTMyMjY0KQorKysgU291cmNlL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDQsMjcgKzQ0LDMwIEBAIFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6UGxhdGZvcm1TdHJh
dGVnaWUKIHsKIH0KIAotLy8gQ29va2llc1N0cmF0ZWd5CiBDb29raWVzU3RyYXRlZ3kqIFBsYXRm
b3JtU3RyYXRlZ2llc0VmbDo6Y3JlYXRlQ29va2llc1N0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4g
dGhpczsKIH0KIAotLy8gUGx1Z2luU3RyYXRlZ3kKK1Bhc3RlYm9hcmRTdHJhdGVneSogUGxhdGZv
cm1TdHJhdGVnaWVzRWZsOjpjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKQoreworICAgIG5vdElt
cGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKIFBsdWdpblN0cmF0ZWd5KiBQbGF0Zm9y
bVN0cmF0ZWdpZXNFZmw6OmNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4gdGhp
czsKIH0KIAotVmlzaXRlZExpbmtTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVzRWZsOjpjcmVh
dGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkKK1NoYXJlZFdvcmtlclN0cmF0ZWd5KiBQbGF0Zm9ybVN0
cmF0ZWdpZXNFZmw6OmNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4g
dGhpczsKIH0KIAotUGFzdGVib2FyZFN0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmNy
ZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpCitWaXNpdGVkTGlua1N0cmF0ZWd5KiBQbGF0Zm9ybVN0
cmF0ZWdpZXNFZmw6OmNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKQogewotICAgIG5vdEltcGxl
bWVudGVkKCk7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHRoaXM7CiB9CiAKIC8vIENvb2tp
ZXNTdHJhdGVneQpJbmRleDogU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZv
cm1TdHJhdGVnaWVzRWZsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmgJKHJldmlzaW9uIDEzMjI2NCkKKysrIFNv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yNCw5ICsyNCwxMCBAQAogI2luY2x1ZGUgIlBhc3RlYm9hcmRTdHJh
dGVneS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgogI2luY2x1ZGUgIlBsdWdp
blN0cmF0ZWd5LmgiCisjaW5jbHVkZSAiU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCIKICNpbmNsdWRl
ICJWaXNpdGVkTGlua1N0cmF0ZWd5LmgiCiAKLWNsYXNzIFBsYXRmb3JtU3RyYXRlZ2llc0VmbCA6
IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29v
a2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdl
YkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kgeworY2xhc3MgUGxhdGZvcm1TdHJhdGVnaWVzRWZs
IDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywgcHJpdmF0ZSBXZWJDb3JlOjpD
b29raWVzU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3ksIHByaXZhdGUg
V2ViQ29yZTo6U2hhcmVkV29ya2VyU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6VmlzaXRlZExp
bmtTdHJhdGVneSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZSgpOwogCkBA
IC0zNSw5ICszNiwxMCBAQCBwcml2YXRlOgogCiAgICAgLy8gV2ViQ29yZTo6UGxhdGZvcm1TdHJh
dGVnaWVzCiAgICAgdmlydHVhbCBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kqIGNyZWF0ZUNvb2tp
ZXNTdHJhdGVneSgpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5KiBj
cmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OlBsdWdpblN0
cmF0ZWd5KiBjcmVhdGVQbHVnaW5TdHJhdGVneSgpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6U2hh
cmVkV29ya2VyU3RyYXRlZ3kqIGNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCk7CiAgICAgdmly
dHVhbCBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5KiBjcmVhdGVWaXNpdGVkTGlua1N0cmF0
ZWd5KCk7Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kqIGNyZWF0ZVBh
c3RlYm9hcmRTdHJhdGVneSgpOwogCiAgICAgLy8gV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5CiAg
ICAgdmlydHVhbCB2b2lkIG5vdGlmeUNvb2tpZXNDaGFuZ2VkKCk7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9ndGsvQ2hhbmdl
TG9nCShyZXZpc2lvbiAxMzIyNzYpCisrKyBTb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0xMC0yMyAgQWxleGV5IFByb3NrdXJ5
YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSBzdHJhdGVneSBmb3Igc2hhcmVk
IHdvcmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwMDE2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNwcDoKKyAgICAgICAgKFBs
YXRmb3JtU3RyYXRlZ2llc0d0azo6Y3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KToKKyAgICAgICAg
KFBsYXRmb3JtU3RyYXRlZ2llc0d0azo6Y3JlYXRlU2hhcmVkV29ya2VyU3RyYXRlZ3kpOgorICAg
ICAgICAoUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjpjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuaDoKKwogMjAx
Mi0xMC0yMyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZC4gVXBkYXRlIE5FV1MgYW5kIGNvbmZpZ3VyZS5hYyBmb3IgMS4xMS4x
IHJlbGVhc2UKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3Jt
U3RyYXRlZ2llc0d0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNwcAkocmV2aXNpb24gMTMyMjY0KQorKysg
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDIsMjEgKzQyLDI2IEBAIENvb2tpZXNTdHJhdGVneSogUGxh
dGZvcm1TdHJhdGVnaWVzR3RrOjoKICAgICByZXR1cm4gdGhpczsKIH0KIAorUGFzdGVib2FyZFN0
cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgp
Cit7CisgICAgLy8gVGhpcyBpcyBjdXJyZW50bHkgdXNlZCBvbmx5IGJ5IE1hYyBjb2RlLgorICAg
IG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKIFBsdWdpblN0cmF0ZWd5KiBQ
bGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkKIHsKICAgICByZXR1
cm4gdGhpczsKIH0KIAotVmlzaXRlZExpbmtTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVzR3Rr
OjpjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkKK1NoYXJlZFdvcmtlclN0cmF0ZWd5KiBQbGF0
Zm9ybVN0cmF0ZWdpZXNHdGs6OmNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCkKIHsKICAgICBy
ZXR1cm4gdGhpczsKIH0KIAotUGFzdGVib2FyZFN0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNH
dGs6OmNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpCitWaXNpdGVkTGlua1N0cmF0ZWd5KiBQbGF0
Zm9ybVN0cmF0ZWdpZXNHdGs6OmNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKQogewotICAgIC8v
IFRoaXMgaXMgY3VycmVudGx5IHVzZWQgb25seSBieSBtYWMgY29kZS4KLSAgICBub3RJbXBsZW1l
bnRlZCgpOwotICAgIHJldHVybiAwOworICAgIHJldHVybiB0aGlzOwogfQogCiAvLyBDb29raWVz
U3RyYXRlZ3kKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3Jt
U3RyYXRlZ2llc0d0ay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5oCShyZXZpc2lvbiAxMzIyNjQpCisrKyBTb3Vy
Y2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuaAkod29y
a2luZyBjb3B5KQpAQCAtMjMsOSArMjMsMTAgQEAKICNpbmNsdWRlICJQYXN0ZWJvYXJkU3RyYXRl
Z3kuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKICNpbmNsdWRlICJQbHVnaW5T
dHJhdGVneS5oIgorI2luY2x1ZGUgIlNoYXJlZFdvcmtlclN0cmF0ZWd5LmgiCiAjaW5jbHVkZSAi
VmlzaXRlZExpbmtTdHJhdGVneS5oIgogCi1jbGFzcyBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGsgOiBw
dWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzLCBwcml2YXRlIFdlYkNvcmU6OkNvb2tp
ZXNTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneSwgcHJpdmF0ZSBXZWJD
b3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5IHsKK2NsYXNzIFBsYXRmb3JtU3RyYXRlZ2llc0d0ayA6
IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29v
a2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdl
YkNvcmU6OlNoYXJlZFdvcmtlclN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5r
U3RyYXRlZ3kgewogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemUoKTsKIApAQCAt
MzQsOSArMzUsMTAgQEAgcHJpdmF0ZToKIAogICAgIC8vIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRl
Z2llcwogICAgIHZpcnR1YWwgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5KiBjcmVhdGVDb29raWVz
U3RyYXRlZ3koKTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVneSogY3Jl
YXRlUGFzdGVib2FyZFN0cmF0ZWd5KCk7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpQbHVnaW5TdHJh
dGVneSogY3JlYXRlUGx1Z2luU3RyYXRlZ3koKTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlNoYXJl
ZFdvcmtlclN0cmF0ZWd5KiBjcmVhdGVTaGFyZWRXb3JrZXJTdHJhdGVneSgpOwogICAgIHZpcnR1
YWwgV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneSogY3JlYXRlVmlzaXRlZExpbmtTdHJhdGVn
eSgpOwotICAgIHZpcnR1YWwgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5KiBjcmVhdGVQYXN0
ZWJvYXJkU3RyYXRlZ3koKTsKIAogICAgIC8vIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneQogICAg
IHZpcnR1YWwgdm9pZCBub3RpZnlDb29raWVzQ2hhbmdlZCgpOwpJbmRleDogU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwkocmV2aXNpb24gMTMyMjc2KQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTAtMjMgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgc3RyYXRlZ3kgZm9yIHNoYXJlZCB3
b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDAxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oOgorICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbToKKyAgICAgICAgKFdlYlBsYXRmb3Jt
U3RyYXRlZ2llczo6Y3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KToKKyAgICAgICAgKFdlYlBsYXRm
b3JtU3RyYXRlZ2llczo6Y3JlYXRlU2hhcmVkV29ya2VyU3RyYXRlZ3kpOgorICAgICAgICAoV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KToKKwogMjAxMi0x
MC0yMyAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHJlc29sdXRpb24gbWVkaWEgcXVlcnkKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3Jt
U3RyYXRlZ2llcy5oCShyZXZpc2lvbiAxMzIyNjQpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzAs
OSArMzAsMTAgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1Bhc3RlYm9hcmRTdHJhdGVneS5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1TdHJhdGVnaWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Q
bHVnaW5TdHJhdGVneS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkV29ya2VyU3RyYXRlZ3ku
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1Zpc2l0ZWRMaW5rU3RyYXRlZ3kuaD4KIAotY2xhc3MgV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzIDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywg
cHJpdmF0ZSBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6UGx1Z2lu
U3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneSwgcHJpdmF0ZSBX
ZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kgeworY2xhc3MgV2ViUGxhdGZvcm1TdHJhdGVnaWVz
IDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywgcHJpdmF0ZSBXZWJDb3JlOjpD
b29raWVzU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5LCBwcml2
YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlNoYXJlZFdvcmtl
clN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kgewogcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemUoKTsKICAgICAKQEAgLTQxLDkgKzQyLDEwIEBA
IHByaXZhdGU6CiAgICAgCiAgICAgLy8gV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzCiAgICAg
dmlydHVhbCBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kqIGNyZWF0ZUNvb2tpZXNTdHJhdGVneSgp
IE9WRVJSSURFOworICAgIHZpcnR1YWwgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5KiBjcmVh
dGVQYXN0ZWJvYXJkU3RyYXRlZ3koKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OlBs
dWdpblN0cmF0ZWd5KiBjcmVhdGVQbHVnaW5TdHJhdGVneSgpIE9WRVJSSURFOworICAgIHZpcnR1
YWwgV2ViQ29yZTo6U2hhcmVkV29ya2VyU3RyYXRlZ3kqIGNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0
ZWd5KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5
KiBjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBXZWJD
b3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kqIGNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpIE9WRVJS
SURFOwogCiAgICAgLy8gV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5CiAgICAgdmlydHVhbCB2b2lk
IG5vdGlmeUNvb2tpZXNDaGFuZ2VkKCkgT1ZFUlJJREU7CkBAIC03Miw3ICs3NCw2IEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCB2b2lkIHNldEJ1ZmZlckZvclR5cGUoUGFzc1JlZlB0cjxXZWJDb3Jl
OjpTaGFyZWRCdWZmZXI+LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJp
bmcmIHBhc3RlYm9hcmROYW1lKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGF0aG5h
bWVzRm9yVHlwZShjb25zdCBWZWN0b3I8U3RyaW5nPiYsIGNvbnN0IFN0cmluZyYgcGFzdGVib2Fy
ZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpIE9WRVJSSURFOwogICAgIHZpcnR1
YWwgdm9pZCBzZXRTdHJpbmdGb3JUeXBlKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYgcGFz
dGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpIE9WRVJSSURFOwotICAg
IAogfTsKIAogI2VuZGlmIC8vIFdlYlBsYXRmb3JtU3RyYXRlZ2llc19oCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJh
dGVnaWVzLm1tCShyZXZpc2lvbiAxMzIyNjQpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTUwLDE3
ICs1MCwyMiBAQCBDb29raWVzU3RyYXRlZ3kqIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6CiAgICAg
cmV0dXJuIHRoaXM7CiB9CiAKK1Bhc3RlYm9hcmRTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVn
aWVzOjpjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKQoreworICAgIHJldHVybiB0aGlzOworfQor
CiBQbHVnaW5TdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVQbHVnaW5TdHJh
dGVneSgpCiB7CiAgICAgcmV0dXJuIHRoaXM7CiB9CiAKLVZpc2l0ZWRMaW5rU3RyYXRlZ3kqIFdl
YlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpCitTaGFyZWRX
b3JrZXJTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVTaGFyZWRXb3JrZXJT
dHJhdGVneSgpCiB7CiAgICAgcmV0dXJuIHRoaXM7CiB9CiAKLVBhc3RlYm9hcmRTdHJhdGVneSog
V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKQorVmlzaXRl
ZExpbmtTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVWaXNpdGVkTGlua1N0
cmF0ZWd5KCkKIHsKICAgICByZXR1cm4gdGhpczsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCShyZXZp
c2lvbiAxMzIyNzYpCisrKyBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTEwLTIzICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBA
YXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIHN0cmF0ZWd5IGZvciBzaGFyZWQgd29ya2Vycwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMTY1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5jcHA6CisgICAgICAgIChQbGF0Zm9ybVN0cmF0
ZWdpZXNRdDo6Y3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KToKKyAgICAgICAgKFBsYXRmb3JtU3Ry
YXRlZ2llc1F0OjpjcmVhdGVTaGFyZWRXb3JrZXJTdHJhdGVneSk6CisgICAgICAgIChQbGF0Zm9y
bVN0cmF0ZWdpZXNRdDo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSk6CisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuaDoKKwogMjAxMi0xMC0yMyAgQW5kcmFz
IEJlY3NpICA8YW5kcmFzLmJlY3NpQGRpZ2lhLmNvbT4KIAogICAgICAgICBSZW1vdmUgZGV2aWNl
UGl4ZWxSYXRpbyBmcm9tIFZpZXdwb3J0QXR0cmlidXRlcwpJbmRleDogU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5jcHAJ
KHJldmlzaW9uIDEzMjI2NCkKKysrIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxh
dGZvcm1TdHJhdGVnaWVzUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MywxOSArNjMsMjQgQEAg
Q29va2llc1N0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNRdDo6YwogICAgIHJldHVybiB0aGlz
OwogfQogCitQYXN0ZWJvYXJkU3RyYXRlZ3kqIFBsYXRmb3JtU3RyYXRlZ2llc1F0OjpjcmVhdGVQ
YXN0ZWJvYXJkU3RyYXRlZ3koKQoreworICAgIHJldHVybiAwOworfQorCiBQbHVnaW5TdHJhdGVn
eSogUGxhdGZvcm1TdHJhdGVnaWVzUXQ6OmNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkKIHsKICAgICBy
ZXR1cm4gdGhpczsKIH0KIAotVmlzaXRlZExpbmtTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVz
UXQ6OmNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKQorU2hhcmVkV29ya2VyU3RyYXRlZ3kqIFBs
YXRmb3JtU3RyYXRlZ2llc1F0OjpjcmVhdGVTaGFyZWRXb3JrZXJTdHJhdGVneSgpCiB7CiAgICAg
cmV0dXJuIHRoaXM7CiB9CiAKLVBhc3RlYm9hcmRTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVz
UXQ6OmNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpCitWaXNpdGVkTGlua1N0cmF0ZWd5KiBQbGF0
Zm9ybVN0cmF0ZWdpZXNRdDo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpCiB7Ci0gICAgcmV0
dXJuIDA7CisgICAgcmV0dXJuIHRoaXM7CiB9CiAKIHZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzUXQ6
Om5vdGlmeUNvb2tpZXNDaGFuZ2VkKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0LmgJKHJldmlzaW9uIDEzMjI2
NCkKKysrIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVz
UXQuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsMTQgKzMxLDE0IEBACiAjaW5jbHVkZSA8Q29va2ll
c1N0cmF0ZWd5Lmg+CiAjaW5jbHVkZSA8UGxhdGZvcm1TdHJhdGVnaWVzLmg+CiAjaW5jbHVkZSA8
UGx1Z2luU3RyYXRlZ3kuaD4KKyNpbmNsdWRlIDxTaGFyZWRXb3JrZXJTdHJhdGVneS5oPgogI2lu
Y2x1ZGUgPFZpc2l0ZWRMaW5rU3RyYXRlZ3kuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewotY2xh
c3MgUGFnZTsKIGNsYXNzIFBhc3RlYm9hcmRTdHJhdGVneTsKIH0KIAotY2xhc3MgUGxhdGZvcm1T
dHJhdGVnaWVzUXQgOiBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzLCBwcml2YXRl
IFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpQbHVnaW5TdHJhdGVn
eSwgcHJpdmF0ZSBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5IHsKK2NsYXNzIFBsYXRmb3Jt
U3RyYXRlZ2llc1F0IDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywgcHJpdmF0
ZSBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6UGx1Z2luU3RyYXRl
Z3ksIHByaXZhdGUgV2ViQ29yZTo6U2hhcmVkV29ya2VyU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29y
ZTo6VmlzaXRlZExpbmtTdHJhdGVneSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgaW5pdGlh
bGl6ZSgpOwogCkBAIC00Nyw5ICs0NywxMCBAQCBwcml2YXRlOgogCiAgICAgLy8gV2ViQ29yZTo6
UGxhdGZvcm1TdHJhdGVnaWVzCiAgICAgdmlydHVhbCBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kq
IGNyZWF0ZUNvb2tpZXNTdHJhdGVneSgpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6UGFzdGVib2Fy
ZFN0cmF0ZWd5KiBjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKTsKICAgICB2aXJ0dWFsIFdlYkNv
cmU6OlBsdWdpblN0cmF0ZWd5KiBjcmVhdGVQbHVnaW5TdHJhdGVneSgpOworICAgIHZpcnR1YWwg
V2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneSogY3JlYXRlU2hhcmVkV29ya2VyU3RyYXRlZ3ko
KTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kqIGNyZWF0ZVZpc2l0
ZWRMaW5rU3RyYXRlZ3koKTsKLSAgICB2aXJ0dWFsIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVn
eSogY3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCk7CiAgICAgCiAgICAgLy8gV2ViQ29yZTo6Q29v
a2llc1N0cmF0ZWd5CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUNvb2tpZXNDaGFuZ2VkKCk7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzIyNzYpCisrKyBTb3VyY2UvV2ViS2l0L3dp
bi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMC0yMyAg
QWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSBzdHJh
dGVneSBmb3Igc2hhcmVkIHdvcmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwMDE2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNw
cDoKKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlUGFzdGVib2FyZFN0cmF0
ZWd5KToKKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlU2hhcmVkV29ya2Vy
U3RyYXRlZ3kpOgorICAgICAgICAoV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVWaXNpdGVk
TGlua1N0cmF0ZWd5KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuaDoKKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llcyk6CisKIDIwMTItMTAtMjIg
IEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQGRpZ2lhLmNvbT4KIAogICAgICAg
ICBbUXRdIEZpeCAiQVNTRVJUSU9OIEZBSUxFRDogIWRvY3VtZW50LT5pblBhZ2VDYWNoZSgpIiB3
aGVuIGxvYWRpbmcgYSBwYWdlCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAJKHJldmlzaW9uIDEz
MjI2NCkKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3Ry
YXRlZ2llcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDE5ICs0NywyNCBAQCBDb29raWVzU3Ry
YXRlZ3kqIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6CiAgICAgcmV0dXJuIHRoaXM7CiB9CiAKK1Bh
c3RlYm9hcmRTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVQYXN0ZWJvYXJk
U3RyYXRlZ3koKQoreworICAgIHJldHVybiAwOworfQorCiBQbHVnaW5TdHJhdGVneSogV2ViUGxh
dGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVQbHVnaW5TdHJhdGVneSgpCiB7CiAgICAgcmV0dXJuIHRo
aXM7CiB9CiAKLVZpc2l0ZWRMaW5rU3RyYXRlZ3kqIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y3Jl
YXRlVmlzaXRlZExpbmtTdHJhdGVneSgpCitTaGFyZWRXb3JrZXJTdHJhdGVneSogV2ViUGxhdGZv
cm1TdHJhdGVnaWVzOjpjcmVhdGVTaGFyZWRXb3JrZXJTdHJhdGVneSgpCiB7CiAgICAgcmV0dXJu
IHRoaXM7CiB9CiAKLVBhc3RlYm9hcmRTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpj
cmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKQorVmlzaXRlZExpbmtTdHJhdGVneSogV2ViUGxhdGZv
cm1TdHJhdGVnaWVzOjpjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkKIHsKLSAgICByZXR1cm4g
MDsKKyAgICByZXR1cm4gdGhpczsKIH0KIAogdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6Om5v
dGlmeUNvb2tpZXNDaGFuZ2VkKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBw
b3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
d2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCShyZXZpc2lvbiAxMzIy
NjQpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjksOSArMjksMTAgQEAKICNpbmNsdWRlIDxXZWJD
b3JlL0Nvb2tpZXNTdHJhdGVneS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1TdHJhdGVn
aWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5TdHJhdGVneS5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvU2hhcmVkV29ya2VyU3RyYXRlZ3kuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Zpc2l0ZWRM
aW5rU3RyYXRlZ3kuaD4KIAotY2xhc3MgV2ViUGxhdGZvcm1TdHJhdGVnaWVzIDogcHVibGljIFdl
YkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywgcHJpdmF0ZSBXZWJDb3JlOjpDb29raWVzU3RyYXRl
Z3ksIHByaXZhdGUgV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6Vmlz
aXRlZExpbmtTdHJhdGVneSB7CitjbGFzcyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMgOiBwdWJsaWMg
V2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzLCBwcml2YXRlIFdlYkNvcmU6OkNvb2tpZXNTdHJh
dGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpT
aGFyZWRXb3JrZXJTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplKCk7CiAgICAgCkBAIC00MCw5
ICs0MSwxMCBAQCBwcml2YXRlOgogICAgIAogICAgIC8vIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRl
Z2llcwogICAgIHZpcnR1YWwgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5KiBjcmVhdGVDb29raWVz
U3RyYXRlZ3koKTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVneSogY3Jl
YXRlUGFzdGVib2FyZFN0cmF0ZWd5KCk7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpQbHVnaW5TdHJh
dGVneSogY3JlYXRlUGx1Z2luU3RyYXRlZ3koKTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlNoYXJl
ZFdvcmtlclN0cmF0ZWd5KiBjcmVhdGVTaGFyZWRXb3JrZXJTdHJhdGVneSgpOwogICAgIHZpcnR1
YWwgV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneSogY3JlYXRlVmlzaXRlZExpbmtTdHJhdGVn
eSgpOwotICAgIHZpcnR1YWwgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5KiBjcmVhdGVQYXN0
ZWJvYXJkU3RyYXRlZ3koKTsKIAogICAgIC8vIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneQogICAg
IHZpcnR1YWwgdm9pZCBub3RpZnlDb29raWVzQ2hhbmdlZCgpOwpJbmRleDogU291cmNlL1dlYktp
dC93aW5jZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW5jZS9DaGFu
Z2VMb2cJKHJldmlzaW9uIDEzMjI3NikKKysrIFNvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTAtMjMgIEFsZXhleSBQcm9z
a3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgc3RyYXRlZ3kgZm9yIHNo
YXJlZCB3b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDAxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmNwcDoKKyAgICAg
ICAgKFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFOjpjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3kpOgor
ICAgICAgICAoUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0U6OmNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0
ZWd5KToKKyAgICAgICAgKFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFOjpjcmVhdGVWaXNpdGVkTGlu
a1N0cmF0ZWd5KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNX
aW5DRS5oOgorCiAyMDEyLTEwLTEwICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbV0syXSBBY3RpdmF0ZSBwbHVnaW5zIHdoZW4gdXNlciBjbGlja3Mgb24gc25hcHNob3QK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVn
aWVzV2luQ0UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1
cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuY3BwCShyZXZpc2lvbiAxMzIyNjQpCisrKyBT
b3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNF
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDgsMTkgKzQ4LDI0IEBAIENvb2tpZXNTdHJhdGVneSog
UGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UKICAgICByZXR1cm4gdGhpczsKIH0KIAorUGFzdGVib2Fy
ZFN0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRTo6Y3JlYXRlUGFzdGVib2FyZFN0cmF0
ZWd5KCkKK3sKKyAgICByZXR1cm4gMDsKK30KKwogUGx1Z2luU3RyYXRlZ3kqIFBsYXRmb3JtU3Ry
YXRlZ2llc1dpbkNFOjpjcmVhdGVQbHVnaW5TdHJhdGVneSgpCiB7CiAgICAgcmV0dXJuIHRoaXM7
CiB9CiAKLVZpc2l0ZWRMaW5rU3RyYXRlZ3kqIFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFOjpjcmVh
dGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkKK1NoYXJlZFdvcmtlclN0cmF0ZWd5KiBQbGF0Zm9ybVN0
cmF0ZWdpZXNXaW5DRTo6Y3JlYXRlU2hhcmVkV29ya2VyU3RyYXRlZ3koKQogewogICAgIHJldHVy
biB0aGlzOwogfQogCi1QYXN0ZWJvYXJkU3RyYXRlZ3kqIFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNF
OjpjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKQorVmlzaXRlZExpbmtTdHJhdGVneSogUGxhdGZv
cm1TdHJhdGVnaWVzV2luQ0U6OmNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKQogewotICAgIHJl
dHVybiAwOworICAgIHJldHVybiB0aGlzOwogfQogCiB2b2lkIFBsYXRmb3JtU3RyYXRlZ2llc1dp
bkNFOjpub3RpZnlDb29raWVzQ2hhbmdlZCgpCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbmNlL1dl
YkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5o
CShyZXZpc2lvbiAxMzIyNjQpCisrKyBTb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0
L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDkgKzI4LDEw
IEBACiAjaW5jbHVkZSAiQ29va2llc1N0cmF0ZWd5LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJh
dGVnaWVzLmgiCiAjaW5jbHVkZSAiUGx1Z2luU3RyYXRlZ3kuaCIKKyNpbmNsdWRlICJTaGFyZWRX
b3JrZXJTdHJhdGVneS5oIgogI2luY2x1ZGUgIlZpc2l0ZWRMaW5rU3RyYXRlZ3kuaCIKIAotY2xh
c3MgUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UgOiBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1TdHJh
dGVnaWVzLCBwcml2YXRlIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3Jl
OjpQbHVnaW5TdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5IHsK
K2NsYXNzIFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFIDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3Jt
U3RyYXRlZ2llcywgcHJpdmF0ZSBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3ksIHByaXZhdGUgV2Vi
Q29yZTo6UGx1Z2luU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6U2hhcmVkV29ya2VyU3RyYXRl
Z3ksIHByaXZhdGUgV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneSB7CiBwdWJsaWM6CiAgICAg
c3RhdGljIHZvaWQgaW5pdGlhbGl6ZSgpOwogCkBAIC0zOSw5ICs0MCwxMCBAQCBwcml2YXRlOgog
CiAgICAgLy8gV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzCiAgICAgdmlydHVhbCBXZWJDb3Jl
OjpDb29raWVzU3RyYXRlZ3kqIGNyZWF0ZUNvb2tpZXNTdHJhdGVneSgpOworICAgIHZpcnR1YWwg
V2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5KiBjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKTsK
ICAgICB2aXJ0dWFsIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5KiBjcmVhdGVQbHVnaW5TdHJhdGVn
eSgpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6U2hhcmVkV29ya2VyU3RyYXRlZ3kqIGNyZWF0ZVNo
YXJlZFdvcmtlclN0cmF0ZWd5KCk7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpWaXNpdGVkTGlua1N0
cmF0ZWd5KiBjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCk7Ci0gICAgdmlydHVhbCBXZWJDb3Jl
OjpQYXN0ZWJvYXJkU3RyYXRlZ3kqIGNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpOwogCiAgICAg
Ly8gV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUNvb2tp
ZXNDaGFuZ2VkKCk7Cg==
</data>
<flag name="commit-queue"
          id="183801"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170257</attachid>
            <date>2012-10-23 15:57:53 -0700</date>
            <delta_ts>2012-10-23 17:20:32 -0700</delta_ts>
            <desc>with Qt copy-pasta fixed</desc>
            <filename>AddSharedWorkerStrategy.txt</filename>
            <type>text/plain</type>
            <size>37695</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjI3NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDEyLTEwLTIzICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIHN0cmF0ZWd5IGZv
ciBzaGFyZWQgd29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAwMTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWxzbyBhIGxpdHRsZSBiaXQgb2YgYWxwaGFiZXRpemF0aW9uLgorCisgICAgICAg
ICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBwbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAgICAgKiB3b3JrZXJzL1NoYXJl
ZFdvcmtlclN0cmF0ZWd5Lmg6IEFkZGVkLgorCiAyMDEyLTEwLTIzICBTaW1vbiBGcmFzZXIgIDxz
aW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFsbG93IHRlc3RzIHRvIHJ1biB3aXRo
IGEgdGlsZSBjYWNoZSwgYW5kIG9wdGlvbmFsbHkgZHVtcCB0aGUgdGlsZSBjYWNoZSB2aWEgbGF5
ZXJUcmVlQXNUZXh0KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDEzMjI2NCkKKysr
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMzI4LDYgKzMy
OCw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vU2VhcmNoUG9wdXBNZW51LmgnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9T
aGFyZWRCdWZmZXJDaHVua1JlYWRlci5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9TaGFyZWRX
b3JrZXJTdHJhdGVneS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9TdGF0c0NvdW50ZXIuaCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vU3VwcGxlbWVudGFibGUuaCcsCiAgICAgICAgICAgICAn
cGxhdGZvcm0vU3lzdGVtVGltZS5oJywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiAxMzIyNjQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtMjg3NTks
NiArMjg3NTksMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5ccGxhdGZvcm1cU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cU291bmQuaCIKIAkJ
CQk+CiAJCQk8L0ZpbGU+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxMzIyNjQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTYw
ODYsNiArNjA4Niw3IEBACiAJCUUxQjI1MTA2MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVByb3Bl
cnR5U2hvcnRoYW5kLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUxQjI1MTA0MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVByb3BlcnR5U2hvcnRoYW5k
LmNwcCAqLzsgfTsKIAkJRTFCMjUxMDcxNTJBMEJCMDAwNjlCNzc5IC8qIFN0eWxlUHJvcGVydHlT
aG9ydGhhbmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUxQjI1MTA1MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmggKi87
IH07CiAJCUUxQjRDRDI1MTBCMzIyRTIwMEJGRkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQjRDRDI0
MTBCMzIyRTIwMEJGRkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5tbSAqLzsgfTsKKwkJRTFC
NzgzOUMxNjM3NDBBNzAwMDdCNjkyIC8qIFNoYXJlZFdvcmtlclN0cmF0ZWd5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUI3ODM5QjE2Mzc0MEE3MDAw
N0I2OTIgLyogU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMUJFNTEyRDBDRjZDNTEyMDAyRUE5NTkgLyogWFNM
VFVuaWNvZGVTb3J0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUxQkU1MTJCMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuY3BwICov
OyB9OwogCQlFMUJFNTEyRTBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUJFNTEyQzBDRjZD
NTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmggKi87IH07CiAJCUUxQzJGMjRBMTUzM0Ey
MTIwMDgzRjk3NCAvKiBTZXR0aW5nc01hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUxQzJGMjQ4MTUzM0EyMTIwMDgzRjk3NCAvKiBTZXR0aW5nc01h
Yy5tbSAqLzsgfTsKQEAgLTg2OTEsNiArODY5Miw4IEBACiAJCTUwM0QwQ0E4MTRCNUIwODcwMEYz
MkY1NyAvKiBDdXN0b21GaWx0ZXJQcm9ncmFtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IEN1c3RvbUZpbHRlclByb2dyYW0uaDsgcGF0aCA9IGZpbHRlcnMvQ3VzdG9tRmlsdGVy
UHJvZ3JhbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MDNEMENBOTE0QjVCMDg3
MDBGMzJGNTcgLyogQ3VzdG9tRmlsdGVyUHJvZ3JhbUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBDdXN0b21GaWx0ZXJQcm9ncmFtQ2xpZW50Lmg7IHBhdGggPSBmaWx0
ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1DbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNTAzRDBDQUQxNEI1QjBCQTAwRjMyRjU3IC8qIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3Jh
bS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTdHlsZUN1c3RvbUZpbHRlclBy
b2dyYW0uaDsgcGF0aCA9IHN0eWxlL1N0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk1MDgxRTNERjNDRkM4MEMxNkVGOEI0OEIgLyogQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBDYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk1MDgxRTNFMTNEMDI4MEMxNkVGOEI0OEIgLyogQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRSZXNvdXJjZVJlcXVlc3QuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTA4Q0NBNEQxM0NGMTA2QjAwMzE1MUYzIC8q
IFJlbmRlckZsb3dUaHJlYWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVu
ZGVyRmxvd1RocmVhZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MDhDQ0E0RTEz
Q0YxMDZCMDAzMTUxRjMgLyogUmVuZGVyRmxvd1RocmVhZC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJGbG93VGhyZWFkLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTA5ODdDMjQxNTdENjc2RDAwQkRBODM1IC8qIEN1c3RvbUZpbHRlckds
b2JhbENvbnRleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQ3Vz
dG9tRmlsdGVyR2xvYmFsQ29udGV4dC5jcHA7IHBhdGggPSBmaWx0ZXJzL0N1c3RvbUZpbHRlckds
b2JhbENvbnRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTI5NjUsOCAr
MTI5NjgsNiBAQAogCQlCQ0IxNkMwRjA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVT
aGVldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkWFNMU3R5bGVT
aGVldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0IxNkMxMDA5NzlDM0JEMDA0
Njc3NDEgLyogQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IENhY2hlZFJlc291cmNlTG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQkNCMTZDMTEwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFJlc291cmNl
TG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRSZXNvdXJj
ZUxvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1MDgxRTNERjNDRkM4MEMx
NkVGOEI0OEIgLyogQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk1MDgxRTNFMTNEMDI4MEMxNkVGOEI0OEIgLyogQ2FjaGVkUmVz
b3VyY2VSZXF1ZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRS
ZXNvdXJjZVJlcXVlc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNCNzczNUUw
QzE3ODUzRDAwMTMyQkE0IC8qIEpTTm9kZUZpbHRlckNvbmRpdGlvbi5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOb2RlRmlsdGVyQ29uZGl0aW9uLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNCNzczNUYwQzE3ODUzRDAwMTMyQkE0IC8qIEpT
Tm9kZUZpbHRlckNvbmRpdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNOb2RlRmlsdGVyQ29uZGl0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJD
Qjc3MzYwMEMxNzg1M0QwMDEzMkJBNCAvKiBKU05vZGVGaWx0ZXJDdXN0b20uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTm9kZUZpbHRlckN1c3RvbS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzQ5OCw2ICsxMzQ5OSw3IEBACiAJCUUxQjI1
MTA0MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUIyNTEwNTE1MkEwQkFGMDA2OUI3Nzkg
LyogU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUxQjRDRDI0MTBCMzIyRTIwMEJGRkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENyZWRlbnRpYWxTdG9yYWdl
TWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMUI3ODM5QjE2Mzc0MEE3MDAw
N0I2OTIgLyogU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gU2hhcmVkV29ya2VyU3RyYXRlZ3kuaDsgcGF0aCA9IHdvcmtlcnMvU2hhcmVkV29y
a2VyU3RyYXRlZ3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFCRTUxMkIwQ0Y2
QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBYU0xUVW5pY29kZVNvcnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFMUJFNTEyQzBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhTTFRVbmljb2RlU29ydC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUMyRjI0ODE1MzNBMjEyMDA4M0Y5NzQgLyogU2V0
dGluZ3NNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTZXR0
aW5nc01hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0OTM2LDYgKzE0OTM4
LDcgQEAKIAkJCQk0MUQxNjhFMDEwMjI2RTg5MDA5QkM4MjcgLyogU2hhcmVkV29ya2VyQ29udGV4
dC5oICovLAogCQkJCTQxRDE2OEUxMTAyMjZFODkwMDlCQzgyNyAvKiBTaGFyZWRXb3JrZXJDb250
ZXh0LmlkbCAqLywKIAkJCQk0MUQxNjhFMjEwMjI2RTg5MDA5QkM4MjcgLyogU2hhcmVkV29ya2Vy
UmVwb3NpdG9yeS5oICovLAorCQkJCUUxQjc4MzlCMTYzNzQwQTcwMDA3QjY5MiAvKiBTaGFyZWRX
b3JrZXJTdHJhdGVneS5oICovLAogCQkJCTQxRDE2OEU1MTAyMjZFODkwMDlCQzgyNyAvKiBTaGFy
ZWRXb3JrZXJUaHJlYWQuY3BwICovLAogCQkJCTQxRDE2OEU2MTAyMjZFODkwMDlCQzgyNyAvKiBT
aGFyZWRXb3JrZXJUaHJlYWQuaCAqLywKIAkJCQkyRTQzNDYzMzBGNTQ2QTgyMDBCMEYxQkEgLyog
V29ya2VyLmNwcCAqLywKQEAgLTI1NjQ5LDYgKzI1NjUyLDcgQEAKIAkJCQk3RTVEN0E3NzE2MUQz
RjhGMDA4OTZDMzQgLyogT0VTRWxlbWVudEluZGV4VWludC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
N0U0NkY2RkIxNjI3QTJDQTAwMDYyMjIzIC8qIEpTT0VTRWxlbWVudEluZGV4VWludC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTQ3MTI3Q0IxNjM0MzhBRTAwRUQ2RjVBIC8qIFN0eWxlSW52YWxpZGF0
aW9uQW5hbHlzaXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUUxQjc4MzlDMTYzNzQwQTcwMDA3QjY5
MiAvKiBTaGFyZWRXb3JrZXJTdHJhdGVneS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVu
T25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaAkocmV2aXNpb24gMTMyMjY0
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSwg
MjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTMzLDYgKzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
Q29va2llc1N0cmF0ZWd5OwogY2xhc3MgUGFzdGVib2FyZFN0cmF0ZWd5OwogY2xhc3MgUGx1Z2lu
U3RyYXRlZ3k7CitjbGFzcyBTaGFyZWRXb3JrZXJTdHJhdGVneTsKIGNsYXNzIFZpc2l0ZWRMaW5r
U3RyYXRlZ3k7CiAKIGNsYXNzIFBsYXRmb3JtU3RyYXRlZ2llcyB7CkBAIC00NCw2ICs0NSwxMyBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX2Nvb2tpZXNTdHJhdGVneTsKICAgICB9CiAKKyAg
ICBQYXN0ZWJvYXJkU3RyYXRlZ3kqIHBhc3RlYm9hcmRTdHJhdGVneSgpCisgICAgeworICAgICAg
ICBpZiAoIW1fcGFzdGVib2FyZFN0cmF0ZWd5KQorICAgICAgICAgICAgbV9wYXN0ZWJvYXJkU3Ry
YXRlZ3kgPSBjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKTsKKyAgICAgICAgcmV0dXJuIG1fcGFz
dGVib2FyZFN0cmF0ZWd5OworICAgIH0KKwogICAgIFBsdWdpblN0cmF0ZWd5KiBwbHVnaW5TdHJh
dGVneSgpCiAgICAgewogICAgICAgICBpZiAoIW1fcGx1Z2luU3RyYXRlZ3kpCkBAIC01MSwyNSAr
NTksMjcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9wbHVnaW5TdHJhdGVneTsKICAgICB9
CiAKKyAgICBTaGFyZWRXb3JrZXJTdHJhdGVneSogc2hhcmVkV29ya2VyU3RyYXRlZ3koKQorICAg
IHsKKyAgICAgICAgaWYgKCFtX3NoYXJlZFdvcmtlclN0cmF0ZWd5KQorICAgICAgICAgICAgbV9z
aGFyZWRXb3JrZXJTdHJhdGVneSA9IGNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCk7CisgICAg
ICAgIHJldHVybiBtX3NoYXJlZFdvcmtlclN0cmF0ZWd5OworICAgIH0KKwogICAgIFZpc2l0ZWRM
aW5rU3RyYXRlZ3kqIHZpc2l0ZWRMaW5rU3RyYXRlZ3koKQogICAgIHsKICAgICAgICAgaWYgKCFt
X3Zpc2l0ZWRMaW5rU3RyYXRlZ3kpCiAgICAgICAgICAgICBtX3Zpc2l0ZWRMaW5rU3RyYXRlZ3kg
PSBjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCk7CiAgICAgICAgIHJldHVybiBtX3Zpc2l0ZWRM
aW5rU3RyYXRlZ3k7CiAgICAgfQotICAgIFBhc3RlYm9hcmRTdHJhdGVneSogcGFzdGVib2FyZFN0
cmF0ZWd5KCkKLSAgICB7Ci0gICAgICAgIGlmICghbV9wYXN0ZWJvYXJkU3RyYXRlZ3kpCi0gICAg
ICAgICAgICBtX3Bhc3RlYm9hcmRTdHJhdGVneSA9IGNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgp
OwotICAgICAgICByZXR1cm4gbV9wYXN0ZWJvYXJkU3RyYXRlZ3k7Ci0gICAgfQogCiBwcm90ZWN0
ZWQ6CiAgICAgUGxhdGZvcm1TdHJhdGVnaWVzKCkKICAgICAgICAgOiBtX2Nvb2tpZXNTdHJhdGVn
eSgwKQorICAgICAgICAsIG1fcGFzdGVib2FyZFN0cmF0ZWd5KDApCiAgICAgICAgICwgbV9wbHVn
aW5TdHJhdGVneSgwKQorICAgICAgICAsIG1fc2hhcmVkV29ya2VyU3RyYXRlZ3koMCkKICAgICAg
ICAgLCBtX3Zpc2l0ZWRMaW5rU3RyYXRlZ3koMCkKLSAgICAgICAgLCBtX3Bhc3RlYm9hcmRTdHJh
dGVneSgwKQogICAgIHsKICAgICB9CiAKQEAgLTc5LDE0ICs4OSwxNiBAQCBwcm90ZWN0ZWQ6CiAK
IHByaXZhdGU6CiAgICAgdmlydHVhbCBDb29raWVzU3RyYXRlZ3kqIGNyZWF0ZUNvb2tpZXNTdHJh
dGVneSgpID0gMDsKKyAgICB2aXJ0dWFsIFBhc3RlYm9hcmRTdHJhdGVneSogY3JlYXRlUGFzdGVi
b2FyZFN0cmF0ZWd5KCkgPSAwOwogICAgIHZpcnR1YWwgUGx1Z2luU3RyYXRlZ3kqIGNyZWF0ZVBs
dWdpblN0cmF0ZWd5KCkgPSAwOworICAgIHZpcnR1YWwgU2hhcmVkV29ya2VyU3RyYXRlZ3kqIGNy
ZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCkgPSAwOwogICAgIHZpcnR1YWwgVmlzaXRlZExpbmtT
dHJhdGVneSogY3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpID0gMDsKLSAgICB2aXJ0dWFsIFBh
c3RlYm9hcmRTdHJhdGVneSogY3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCkgPSAwOyAKIAogICAg
IENvb2tpZXNTdHJhdGVneSogbV9jb29raWVzU3RyYXRlZ3k7CisgICAgUGFzdGVib2FyZFN0cmF0
ZWd5KiBtX3Bhc3RlYm9hcmRTdHJhdGVneTsKICAgICBQbHVnaW5TdHJhdGVneSogbV9wbHVnaW5T
dHJhdGVneTsKKyAgICBTaGFyZWRXb3JrZXJTdHJhdGVneSogbV9zaGFyZWRXb3JrZXJTdHJhdGVn
eTsKICAgICBWaXNpdGVkTGlua1N0cmF0ZWd5KiBtX3Zpc2l0ZWRMaW5rU3RyYXRlZ3k7Ci0gICAg
UGFzdGVib2FyZFN0cmF0ZWd5KiBtX3Bhc3RlYm9hcmRTdHJhdGVneTsKIH07CiAKIFBsYXRmb3Jt
U3RyYXRlZ2llcyogcGxhdGZvcm1TdHJhdGVnaWVzKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1NoYXJlZFdvcmtlclN0cmF0ZWd5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvd29ya2Vycy9TaGFyZWRXb3JrZXJTdHJhdGVneS5oCShyZXZpc2lvbiAwKQorKysgU291cmNl
L1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJTdHJhdGVneS5oCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBTaGFyZWRXb3JrZXJTdHJhdGVneV9o
CisjZGVmaW5lIFNoYXJlZFdvcmtlclN0cmF0ZWd5X2gKKworI2lmIFVTRShQTEFURk9STV9TVFJB
VEVHSUVTKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAgCitjbGFzcyBTaGFyZWRXb3JrZXJT
dHJhdGVneSB7CitwdWJsaWM6Citwcm90ZWN0ZWQ6CisgICAgdmlydHVhbCB+U2hhcmVkV29ya2Vy
U3RyYXRlZ3koKQorICAgIHsKKyAgICB9Cit9OworCit9CisjZW5kaWYgLy8gVVNFKFBMQVRGT1JN
X1NUUkFURUdJRVMpCisKKyNlbmRpZiAvLyBTaGFyZWRXb3JrZXJTdHJhdGVneV9oCgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlclN0cmF0ZWd5
LmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cJKHJldmlzaW9uIDEzMjI3NikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTEwLTIzICBBbGV4ZXkgUHJvc2t1cnlh
a292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIHN0cmF0ZWd5IGZvciBzaGFyZWQg
d29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAwMTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlUGFzdGVib2FyZFN0
cmF0ZWd5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVT
aGFyZWRXb3JrZXJTdHJhdGVneSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXRmb3JtU3RyYXRl
Z2llczo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKwogMjAxMi0xMC0yMyAgTm8n
YW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29tPgogCiAgICAgICAgIENvb3Jk
aW5hdGVkIEdyYXBoaWNzOiBFbmFibGUgdGhyZWFkZWQvSVBDIGFuaW1hdGlvbnMKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAJKHJldmlzaW9uIDEzMjI2NCkKKysrIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjgsMTcgKzY4LDIyIEBAIENvb2tpZXNTdHJhdGVn
eSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjoKICAgICByZXR1cm4gdGhpczsKIH0KIAorUGFzdGVi
b2FyZFN0cmF0ZWd5KiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZVBhc3RlYm9hcmRTdHJh
dGVneSgpCit7CisgICAgcmV0dXJuIHRoaXM7Cit9CisKIFBsdWdpblN0cmF0ZWd5KiBXZWJQbGF0
Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4gdGhp
czsKIH0KIAotVmlzaXRlZExpbmtTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVh
dGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkKK1NoYXJlZFdvcmtlclN0cmF0ZWd5KiBXZWJQbGF0Zm9y
bVN0cmF0ZWdpZXM6OmNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4g
dGhpczsKIH0KIAotUGFzdGVib2FyZFN0cmF0ZWd5KiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNy
ZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpCitWaXNpdGVkTGlua1N0cmF0ZWd5KiBXZWJQbGF0Zm9y
bVN0cmF0ZWdpZXM6OmNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKQogewogICAgIHJldHVybiB0
aGlzOwogfQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCShyZXZpc2lvbiAx
MzIyNjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBs
YXRmb3JtU3RyYXRlZ2llcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiwxMSArMzIsMTIgQEAKICNp
bmNsdWRlIDxXZWJDb3JlL1Bhc3RlYm9hcmRTdHJhdGVneS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UGxhdGZvcm1TdHJhdGVnaWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5TdHJhdGVneS5o
PgorI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkV29ya2VyU3RyYXRlZ3kuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1Zpc2l0ZWRMaW5rU3RyYXRlZ3kuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNs
YXNzIFdlYlBsYXRmb3JtU3RyYXRlZ2llcyA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0
ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6
OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3ksIHBy
aXZhdGUgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5IHsKK2NsYXNzIFdlYlBsYXRmb3JtU3Ry
YXRlZ2llcyA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMsIHByaXZhdGUgV2Vi
Q29yZTo6Q29va2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVn
eSwgcHJpdmF0ZSBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpTaGFy
ZWRXb3JrZXJTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5IHsK
IHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplKCk7CiAgICAgCkBAIC00NSw5ICs0
NiwxMCBAQCBwcml2YXRlOgogICAgIAogICAgIC8vIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2ll
cwogICAgIHZpcnR1YWwgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5KiBjcmVhdGVDb29raWVzU3Ry
YXRlZ3koKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVn
eSogY3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBXZWJD
b3JlOjpQbHVnaW5TdHJhdGVneSogY3JlYXRlUGx1Z2luU3RyYXRlZ3koKSBPVkVSUklERTsKKyAg
ICB2aXJ0dWFsIFdlYkNvcmU6OlNoYXJlZFdvcmtlclN0cmF0ZWd5KiBjcmVhdGVTaGFyZWRXb3Jr
ZXJTdHJhdGVneSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6VmlzaXRlZExpbmtT
dHJhdGVneSogY3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpIE9WRVJSSURFOwotICAgIHZpcnR1
YWwgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5KiBjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3ko
KSBPVkVSUklERTsKIAogICAgIC8vIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneQogICAgIHZpcnR1
YWwgdm9pZCBub3RpZnlDb29raWVzQ2hhbmdlZCgpIE9WRVJSSURFOwpJbmRleDogU291cmNlL1dl
YktpdC9lZmwvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZWZsL0NoYW5n
ZUxvZwkocmV2aXNpb24gMTMyMjc2KQorKysgU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTAtMjMgIEFsZXhleSBQcm9za3Vy
eWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgc3RyYXRlZ3kgZm9yIHNoYXJl
ZCB3b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDAxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5jcHA6CisgICAgICAgIChQ
bGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSk6CisgICAgICAg
IChQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KToKKyAg
ICAgICAgKFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSk6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmg6CisKIDIw
MTItMTAtMjMgIEFuZHJhcyBCZWNzaSAgPGFuZHJhcy5iZWNzaUBkaWdpYS5jb20+CiAKICAgICAg
ICAgUmVtb3ZlIGRldmljZVBpeGVsUmF0aW8gZnJvbSBWaWV3cG9ydEF0dHJpYnV0ZXMKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZv
cm1TdHJhdGVnaWVzRWZsLmNwcAkocmV2aXNpb24gMTMyMjY0KQorKysgU291cmNlL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDQsMjcgKzQ0LDMwIEBAIFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6UGxhdGZvcm1TdHJh
dGVnaWUKIHsKIH0KIAotLy8gQ29va2llc1N0cmF0ZWd5CiBDb29raWVzU3RyYXRlZ3kqIFBsYXRm
b3JtU3RyYXRlZ2llc0VmbDo6Y3JlYXRlQ29va2llc1N0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4g
dGhpczsKIH0KIAotLy8gUGx1Z2luU3RyYXRlZ3kKK1Bhc3RlYm9hcmRTdHJhdGVneSogUGxhdGZv
cm1TdHJhdGVnaWVzRWZsOjpjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKQoreworICAgIG5vdElt
cGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKIFBsdWdpblN0cmF0ZWd5KiBQbGF0Zm9y
bVN0cmF0ZWdpZXNFZmw6OmNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4gdGhp
czsKIH0KIAotVmlzaXRlZExpbmtTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVzRWZsOjpjcmVh
dGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkKK1NoYXJlZFdvcmtlclN0cmF0ZWd5KiBQbGF0Zm9ybVN0
cmF0ZWdpZXNFZmw6OmNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4g
dGhpczsKIH0KIAotUGFzdGVib2FyZFN0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmNy
ZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpCitWaXNpdGVkTGlua1N0cmF0ZWd5KiBQbGF0Zm9ybVN0
cmF0ZWdpZXNFZmw6OmNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKQogewotICAgIG5vdEltcGxl
bWVudGVkKCk7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHRoaXM7CiB9CiAKIC8vIENvb2tp
ZXNTdHJhdGVneQpJbmRleDogU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZv
cm1TdHJhdGVnaWVzRWZsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmgJKHJldmlzaW9uIDEzMjI2NCkKKysrIFNv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yNCw5ICsyNCwxMCBAQAogI2luY2x1ZGUgIlBhc3RlYm9hcmRTdHJh
dGVneS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgogI2luY2x1ZGUgIlBsdWdp
blN0cmF0ZWd5LmgiCisjaW5jbHVkZSAiU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCIKICNpbmNsdWRl
ICJWaXNpdGVkTGlua1N0cmF0ZWd5LmgiCiAKLWNsYXNzIFBsYXRmb3JtU3RyYXRlZ2llc0VmbCA6
IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29v
a2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdl
YkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kgeworY2xhc3MgUGxhdGZvcm1TdHJhdGVnaWVzRWZs
IDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywgcHJpdmF0ZSBXZWJDb3JlOjpD
b29raWVzU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3ksIHByaXZhdGUg
V2ViQ29yZTo6U2hhcmVkV29ya2VyU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6VmlzaXRlZExp
bmtTdHJhdGVneSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZSgpOwogCkBA
IC0zNSw5ICszNiwxMCBAQCBwcml2YXRlOgogCiAgICAgLy8gV2ViQ29yZTo6UGxhdGZvcm1TdHJh
dGVnaWVzCiAgICAgdmlydHVhbCBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kqIGNyZWF0ZUNvb2tp
ZXNTdHJhdGVneSgpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5KiBj
cmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OlBsdWdpblN0
cmF0ZWd5KiBjcmVhdGVQbHVnaW5TdHJhdGVneSgpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6U2hh
cmVkV29ya2VyU3RyYXRlZ3kqIGNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCk7CiAgICAgdmly
dHVhbCBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5KiBjcmVhdGVWaXNpdGVkTGlua1N0cmF0
ZWd5KCk7Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kqIGNyZWF0ZVBh
c3RlYm9hcmRTdHJhdGVneSgpOwogCiAgICAgLy8gV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5CiAg
ICAgdmlydHVhbCB2b2lkIG5vdGlmeUNvb2tpZXNDaGFuZ2VkKCk7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9ndGsvQ2hhbmdl
TG9nCShyZXZpc2lvbiAxMzIyNzYpCisrKyBTb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0xMC0yMyAgQWxleGV5IFByb3NrdXJ5
YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSBzdHJhdGVneSBmb3Igc2hhcmVk
IHdvcmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwMDE2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNwcDoKKyAgICAgICAgKFBs
YXRmb3JtU3RyYXRlZ2llc0d0azo6Y3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KToKKyAgICAgICAg
KFBsYXRmb3JtU3RyYXRlZ2llc0d0azo6Y3JlYXRlU2hhcmVkV29ya2VyU3RyYXRlZ3kpOgorICAg
ICAgICAoUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjpjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuaDoKKwogMjAx
Mi0xMC0yMyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZC4gVXBkYXRlIE5FV1MgYW5kIGNvbmZpZ3VyZS5hYyBmb3IgMS4xMS4x
IHJlbGVhc2UKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3Jt
U3RyYXRlZ2llc0d0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNwcAkocmV2aXNpb24gMTMyMjY0KQorKysg
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDIsMjEgKzQyLDI2IEBAIENvb2tpZXNTdHJhdGVneSogUGxh
dGZvcm1TdHJhdGVnaWVzR3RrOjoKICAgICByZXR1cm4gdGhpczsKIH0KIAorUGFzdGVib2FyZFN0
cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgp
Cit7CisgICAgLy8gVGhpcyBpcyBjdXJyZW50bHkgdXNlZCBvbmx5IGJ5IE1hYyBjb2RlLgorICAg
IG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKIFBsdWdpblN0cmF0ZWd5KiBQ
bGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkKIHsKICAgICByZXR1
cm4gdGhpczsKIH0KIAotVmlzaXRlZExpbmtTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVzR3Rr
OjpjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkKK1NoYXJlZFdvcmtlclN0cmF0ZWd5KiBQbGF0
Zm9ybVN0cmF0ZWdpZXNHdGs6OmNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCkKIHsKICAgICBy
ZXR1cm4gdGhpczsKIH0KIAotUGFzdGVib2FyZFN0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNH
dGs6OmNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpCitWaXNpdGVkTGlua1N0cmF0ZWd5KiBQbGF0
Zm9ybVN0cmF0ZWdpZXNHdGs6OmNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKQogewotICAgIC8v
IFRoaXMgaXMgY3VycmVudGx5IHVzZWQgb25seSBieSBtYWMgY29kZS4KLSAgICBub3RJbXBsZW1l
bnRlZCgpOwotICAgIHJldHVybiAwOworICAgIHJldHVybiB0aGlzOwogfQogCiAvLyBDb29raWVz
U3RyYXRlZ3kKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3Jt
U3RyYXRlZ2llc0d0ay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5oCShyZXZpc2lvbiAxMzIyNjQpCisrKyBTb3Vy
Y2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuaAkod29y
a2luZyBjb3B5KQpAQCAtMjMsOSArMjMsMTAgQEAKICNpbmNsdWRlICJQYXN0ZWJvYXJkU3RyYXRl
Z3kuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKICNpbmNsdWRlICJQbHVnaW5T
dHJhdGVneS5oIgorI2luY2x1ZGUgIlNoYXJlZFdvcmtlclN0cmF0ZWd5LmgiCiAjaW5jbHVkZSAi
VmlzaXRlZExpbmtTdHJhdGVneS5oIgogCi1jbGFzcyBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGsgOiBw
dWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzLCBwcml2YXRlIFdlYkNvcmU6OkNvb2tp
ZXNTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneSwgcHJpdmF0ZSBXZWJD
b3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5IHsKK2NsYXNzIFBsYXRmb3JtU3RyYXRlZ2llc0d0ayA6
IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29v
a2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdl
YkNvcmU6OlNoYXJlZFdvcmtlclN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5r
U3RyYXRlZ3kgewogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemUoKTsKIApAQCAt
MzQsOSArMzUsMTAgQEAgcHJpdmF0ZToKIAogICAgIC8vIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRl
Z2llcwogICAgIHZpcnR1YWwgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5KiBjcmVhdGVDb29raWVz
U3RyYXRlZ3koKTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVneSogY3Jl
YXRlUGFzdGVib2FyZFN0cmF0ZWd5KCk7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpQbHVnaW5TdHJh
dGVneSogY3JlYXRlUGx1Z2luU3RyYXRlZ3koKTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlNoYXJl
ZFdvcmtlclN0cmF0ZWd5KiBjcmVhdGVTaGFyZWRXb3JrZXJTdHJhdGVneSgpOwogICAgIHZpcnR1
YWwgV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneSogY3JlYXRlVmlzaXRlZExpbmtTdHJhdGVn
eSgpOwotICAgIHZpcnR1YWwgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5KiBjcmVhdGVQYXN0
ZWJvYXJkU3RyYXRlZ3koKTsKIAogICAgIC8vIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneQogICAg
IHZpcnR1YWwgdm9pZCBub3RpZnlDb29raWVzQ2hhbmdlZCgpOwpJbmRleDogU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwkocmV2aXNpb24gMTMyMjc2KQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTAtMjMgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgc3RyYXRlZ3kgZm9yIHNoYXJlZCB3
b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDAxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oOgorICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbToKKyAgICAgICAgKFdlYlBsYXRmb3Jt
U3RyYXRlZ2llczo6Y3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KToKKyAgICAgICAgKFdlYlBsYXRm
b3JtU3RyYXRlZ2llczo6Y3JlYXRlU2hhcmVkV29ya2VyU3RyYXRlZ3kpOgorICAgICAgICAoV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KToKKwogMjAxMi0x
MC0yMyAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHJlc29sdXRpb24gbWVkaWEgcXVlcnkKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3Jt
U3RyYXRlZ2llcy5oCShyZXZpc2lvbiAxMzIyNjQpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzAs
OSArMzAsMTAgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1Bhc3RlYm9hcmRTdHJhdGVneS5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1TdHJhdGVnaWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Q
bHVnaW5TdHJhdGVneS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkV29ya2VyU3RyYXRlZ3ku
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1Zpc2l0ZWRMaW5rU3RyYXRlZ3kuaD4KIAotY2xhc3MgV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzIDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywg
cHJpdmF0ZSBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6UGx1Z2lu
U3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneSwgcHJpdmF0ZSBX
ZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kgeworY2xhc3MgV2ViUGxhdGZvcm1TdHJhdGVnaWVz
IDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywgcHJpdmF0ZSBXZWJDb3JlOjpD
b29raWVzU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5LCBwcml2
YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlNoYXJlZFdvcmtl
clN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kgewogcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemUoKTsKICAgICAKQEAgLTQxLDkgKzQyLDEwIEBA
IHByaXZhdGU6CiAgICAgCiAgICAgLy8gV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzCiAgICAg
dmlydHVhbCBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kqIGNyZWF0ZUNvb2tpZXNTdHJhdGVneSgp
IE9WRVJSSURFOworICAgIHZpcnR1YWwgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5KiBjcmVh
dGVQYXN0ZWJvYXJkU3RyYXRlZ3koKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OlBs
dWdpblN0cmF0ZWd5KiBjcmVhdGVQbHVnaW5TdHJhdGVneSgpIE9WRVJSSURFOworICAgIHZpcnR1
YWwgV2ViQ29yZTo6U2hhcmVkV29ya2VyU3RyYXRlZ3kqIGNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0
ZWd5KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5
KiBjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBXZWJD
b3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kqIGNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpIE9WRVJS
SURFOwogCiAgICAgLy8gV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5CiAgICAgdmlydHVhbCB2b2lk
IG5vdGlmeUNvb2tpZXNDaGFuZ2VkKCkgT1ZFUlJJREU7CkBAIC03Miw3ICs3NCw2IEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCB2b2lkIHNldEJ1ZmZlckZvclR5cGUoUGFzc1JlZlB0cjxXZWJDb3Jl
OjpTaGFyZWRCdWZmZXI+LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJp
bmcmIHBhc3RlYm9hcmROYW1lKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGF0aG5h
bWVzRm9yVHlwZShjb25zdCBWZWN0b3I8U3RyaW5nPiYsIGNvbnN0IFN0cmluZyYgcGFzdGVib2Fy
ZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpIE9WRVJSSURFOwogICAgIHZpcnR1
YWwgdm9pZCBzZXRTdHJpbmdGb3JUeXBlKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYgcGFz
dGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpIE9WRVJSSURFOwotICAg
IAogfTsKIAogI2VuZGlmIC8vIFdlYlBsYXRmb3JtU3RyYXRlZ2llc19oCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJh
dGVnaWVzLm1tCShyZXZpc2lvbiAxMzIyNjQpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTUwLDE3
ICs1MCwyMiBAQCBDb29raWVzU3RyYXRlZ3kqIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6CiAgICAg
cmV0dXJuIHRoaXM7CiB9CiAKK1Bhc3RlYm9hcmRTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVn
aWVzOjpjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKQoreworICAgIHJldHVybiB0aGlzOworfQor
CiBQbHVnaW5TdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVQbHVnaW5TdHJh
dGVneSgpCiB7CiAgICAgcmV0dXJuIHRoaXM7CiB9CiAKLVZpc2l0ZWRMaW5rU3RyYXRlZ3kqIFdl
YlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpCitTaGFyZWRX
b3JrZXJTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVTaGFyZWRXb3JrZXJT
dHJhdGVneSgpCiB7CiAgICAgcmV0dXJuIHRoaXM7CiB9CiAKLVBhc3RlYm9hcmRTdHJhdGVneSog
V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKQorVmlzaXRl
ZExpbmtTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVWaXNpdGVkTGlua1N0
cmF0ZWd5KCkKIHsKICAgICByZXR1cm4gdGhpczsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCShyZXZp
c2lvbiAxMzIyNzYpCisrKyBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTEwLTIzICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBA
YXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIHN0cmF0ZWd5IGZvciBzaGFyZWQgd29ya2Vycwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMTY1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5jcHA6CisgICAgICAgIChQbGF0Zm9ybVN0cmF0
ZWdpZXNRdDo6Y3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KToKKyAgICAgICAgKFBsYXRmb3JtU3Ry
YXRlZ2llc1F0OjpjcmVhdGVTaGFyZWRXb3JrZXJTdHJhdGVneSk6CisgICAgICAgIChQbGF0Zm9y
bVN0cmF0ZWdpZXNRdDo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSk6CisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuaDoKKwogMjAxMi0xMC0yMyAgQW5kcmFz
IEJlY3NpICA8YW5kcmFzLmJlY3NpQGRpZ2lhLmNvbT4KIAogICAgICAgICBSZW1vdmUgZGV2aWNl
UGl4ZWxSYXRpbyBmcm9tIFZpZXdwb3J0QXR0cmlidXRlcwpJbmRleDogU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5jcHAJ
KHJldmlzaW9uIDEzMjI2NCkKKysrIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxh
dGZvcm1TdHJhdGVnaWVzUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MywxOSArNjMsMjQgQEAg
Q29va2llc1N0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNRdDo6YwogICAgIHJldHVybiB0aGlz
OwogfQogCitQYXN0ZWJvYXJkU3RyYXRlZ3kqIFBsYXRmb3JtU3RyYXRlZ2llc1F0OjpjcmVhdGVQ
YXN0ZWJvYXJkU3RyYXRlZ3koKQoreworICAgIHJldHVybiAwOworfQorCiBQbHVnaW5TdHJhdGVn
eSogUGxhdGZvcm1TdHJhdGVnaWVzUXQ6OmNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkKIHsKICAgICBy
ZXR1cm4gdGhpczsKIH0KIAotVmlzaXRlZExpbmtTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVz
UXQ6OmNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKQorU2hhcmVkV29ya2VyU3RyYXRlZ3kqIFBs
YXRmb3JtU3RyYXRlZ2llc1F0OjpjcmVhdGVTaGFyZWRXb3JrZXJTdHJhdGVneSgpCiB7CiAgICAg
cmV0dXJuIHRoaXM7CiB9CiAKLVBhc3RlYm9hcmRTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVz
UXQ6OmNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpCitWaXNpdGVkTGlua1N0cmF0ZWd5KiBQbGF0
Zm9ybVN0cmF0ZWdpZXNRdDo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpCiB7Ci0gICAgcmV0
dXJuIDA7CisgICAgcmV0dXJuIHRoaXM7CiB9CiAKIHZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzUXQ6
Om5vdGlmeUNvb2tpZXNDaGFuZ2VkKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0LmgJKHJldmlzaW9uIDEzMjI2
NCkKKysrIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVz
UXQuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsMTQgKzMxLDE0IEBACiAjaW5jbHVkZSA8Q29va2ll
c1N0cmF0ZWd5Lmg+CiAjaW5jbHVkZSA8UGxhdGZvcm1TdHJhdGVnaWVzLmg+CiAjaW5jbHVkZSA8
UGx1Z2luU3RyYXRlZ3kuaD4KKyNpbmNsdWRlIDxTaGFyZWRXb3JrZXJTdHJhdGVneS5oPgogI2lu
Y2x1ZGUgPFZpc2l0ZWRMaW5rU3RyYXRlZ3kuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewotY2xh
c3MgUGFnZTsKIGNsYXNzIFBhc3RlYm9hcmRTdHJhdGVneTsKIH0KIAotY2xhc3MgUGxhdGZvcm1T
dHJhdGVnaWVzUXQgOiBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzLCBwcml2YXRl
IFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpQbHVnaW5TdHJhdGVn
eSwgcHJpdmF0ZSBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5IHsKK2NsYXNzIFBsYXRmb3Jt
U3RyYXRlZ2llc1F0IDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywgcHJpdmF0
ZSBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6UGx1Z2luU3RyYXRl
Z3ksIHByaXZhdGUgV2ViQ29yZTo6U2hhcmVkV29ya2VyU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29y
ZTo6VmlzaXRlZExpbmtTdHJhdGVneSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgaW5pdGlh
bGl6ZSgpOwogCkBAIC00Nyw5ICs0NywxMCBAQCBwcml2YXRlOgogCiAgICAgLy8gV2ViQ29yZTo6
UGxhdGZvcm1TdHJhdGVnaWVzCiAgICAgdmlydHVhbCBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kq
IGNyZWF0ZUNvb2tpZXNTdHJhdGVneSgpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6UGFzdGVib2Fy
ZFN0cmF0ZWd5KiBjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKTsKICAgICB2aXJ0dWFsIFdlYkNv
cmU6OlBsdWdpblN0cmF0ZWd5KiBjcmVhdGVQbHVnaW5TdHJhdGVneSgpOworICAgIHZpcnR1YWwg
V2ViQ29yZTo6U2hhcmVkV29ya2VyTGlua1N0cmF0ZWd5KiBjcmVhdGVTaGFyZWRXb3JrZXJTdHJh
dGVneSgpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneSogY3JlYXRl
VmlzaXRlZExpbmtTdHJhdGVneSgpOwotICAgIHZpcnR1YWwgV2ViQ29yZTo6UGFzdGVib2FyZFN0
cmF0ZWd5KiBjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKTsKICAgICAKICAgICAvLyBXZWJDb3Jl
OjpDb29raWVzU3RyYXRlZ3kKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5Q29va2llc0NoYW5nZWQo
KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjI3NikKKysrIFNvdXJjZS9XZWJL
aXQvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEyLTEw
LTIzICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBh
IHN0cmF0ZWd5IGZvciBzaGFyZWQgd29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXMuY3BwOgorICAgICAgICAoV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVQYXN0ZWJvYXJk
U3RyYXRlZ3kpOgorICAgICAgICAoV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVTaGFyZWRX
b3JrZXJTdHJhdGVneSk6CisgICAgICAgIChXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZVZp
c2l0ZWRMaW5rU3RyYXRlZ3kpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3Jt
U3RyYXRlZ2llcy5oOgorICAgICAgICAoV2ViUGxhdGZvcm1TdHJhdGVnaWVzKToKKwogMjAxMi0x
MC0yMiAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAZGlnaWEuY29tPgogCiAg
ICAgICAgIFtRdF0gRml4ICJBU1NFUlRJT04gRkFJTEVEOiAhZG9jdW1lbnQtPmluUGFnZUNhY2hl
KCkiIHdoZW4gbG9hZGluZyBhIHBhZ2UKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVT
dXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAkocmV2aXNp
b24gMTMyMjY0KQorKysgU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZv
cm1TdHJhdGVnaWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcsMTkgKzQ3LDI0IEBAIENvb2tp
ZXNTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjoKICAgICByZXR1cm4gdGhpczsKIH0K
IAorUGFzdGVib2FyZFN0cmF0ZWd5KiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZVBhc3Rl
Ym9hcmRTdHJhdGVneSgpCit7CisgICAgcmV0dXJuIDA7Cit9CisKIFBsdWdpblN0cmF0ZWd5KiBX
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkKIHsKICAgICByZXR1
cm4gdGhpczsKIH0KIAotVmlzaXRlZExpbmtTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVz
OjpjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkKK1NoYXJlZFdvcmtlclN0cmF0ZWd5KiBXZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCkKIHsKICAgICBy
ZXR1cm4gdGhpczsKIH0KIAotUGFzdGVib2FyZFN0cmF0ZWd5KiBXZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXM6OmNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpCitWaXNpdGVkTGlua1N0cmF0ZWd5KiBXZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKQogewotICAgIHJl
dHVybiAwOworICAgIHJldHVybiB0aGlzOwogfQogCiB2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2ll
czo6bm90aWZ5Q29va2llc0NoYW5nZWQoKQpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgJKHJldmlzaW9u
IDEzMjI2NCkKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3Jt
U3RyYXRlZ2llcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw5ICsyOSwxMCBAQAogI2luY2x1ZGUg
PFdlYkNvcmUvQ29va2llc1N0cmF0ZWd5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybVN0
cmF0ZWdpZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpblN0cmF0ZWd5Lmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9TaGFyZWRXb3JrZXJTdHJhdGVneS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVmlz
aXRlZExpbmtTdHJhdGVneS5oPgogCi1jbGFzcyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMgOiBwdWJs
aWMgV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzLCBwcml2YXRlIFdlYkNvcmU6OkNvb2tpZXNT
dHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3Jl
OjpWaXNpdGVkTGlua1N0cmF0ZWd5IHsKK2NsYXNzIFdlYlBsYXRmb3JtU3RyYXRlZ2llcyA6IHB1
YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29va2ll
c1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdlYkNv
cmU6OlNoYXJlZFdvcmtlclN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3Ry
YXRlZ3kgewogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemUoKTsKICAgICAKQEAg
LTQwLDkgKzQxLDEwIEBAIHByaXZhdGU6CiAgICAgCiAgICAgLy8gV2ViQ29yZTo6UGxhdGZvcm1T
dHJhdGVnaWVzCiAgICAgdmlydHVhbCBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kqIGNyZWF0ZUNv
b2tpZXNTdHJhdGVneSgpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5
KiBjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OlBsdWdp
blN0cmF0ZWd5KiBjcmVhdGVQbHVnaW5TdHJhdGVneSgpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6
U2hhcmVkV29ya2VyU3RyYXRlZ3kqIGNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCk7CiAgICAg
dmlydHVhbCBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5KiBjcmVhdGVWaXNpdGVkTGlua1N0
cmF0ZWd5KCk7Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kqIGNyZWF0
ZVBhc3RlYm9hcmRTdHJhdGVneSgpOwogCiAgICAgLy8gV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5
CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUNvb2tpZXNDaGFuZ2VkKCk7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0L3dpbmNlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbmNl
L0NoYW5nZUxvZwkocmV2aXNpb24gMTMyMjc2KQorKysgU291cmNlL1dlYktpdC93aW5jZS9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0xMC0yMyAgQWxleGV5
IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSBzdHJhdGVneSBm
b3Igc2hhcmVkIHdvcmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwMDE2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuY3BwOgor
ICAgICAgICAoUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0U6OmNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVn
eSk6CisgICAgICAgIChQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRTo6Y3JlYXRlU2hhcmVkV29ya2Vy
U3RyYXRlZ3kpOgorICAgICAgICAoUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0U6OmNyZWF0ZVZpc2l0
ZWRMaW5rU3RyYXRlZ3kpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRl
Z2llc1dpbkNFLmg6CisKIDIwMTItMTAtMTAgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgog
CiAgICAgICAgIFtXSzJdIEFjdGl2YXRlIHBsdWdpbnMgd2hlbiB1c2VyIGNsaWNrcyBvbiBzbmFw
c2hvdApJbmRleDogU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0
cmF0ZWdpZXNXaW5DRS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW5jZS9XZWJD
b3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5jcHAJKHJldmlzaW9uIDEzMjI2NCkK
KysrIFNvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVz
V2luQ0UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OCwxOSArNDgsMjQgQEAgQ29va2llc1N0cmF0
ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRQogICAgIHJldHVybiB0aGlzOwogfQogCitQYXN0
ZWJvYXJkU3RyYXRlZ3kqIFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFOjpjcmVhdGVQYXN0ZWJvYXJk
U3RyYXRlZ3koKQoreworICAgIHJldHVybiAwOworfQorCiBQbHVnaW5TdHJhdGVneSogUGxhdGZv
cm1TdHJhdGVnaWVzV2luQ0U6OmNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4g
dGhpczsKIH0KIAotVmlzaXRlZExpbmtTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0U6
OmNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKQorU2hhcmVkV29ya2VyU3RyYXRlZ3kqIFBsYXRm
b3JtU3RyYXRlZ2llc1dpbkNFOjpjcmVhdGVTaGFyZWRXb3JrZXJTdHJhdGVneSgpCiB7CiAgICAg
cmV0dXJuIHRoaXM7CiB9CiAKLVBhc3RlYm9hcmRTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVz
V2luQ0U6OmNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpCitWaXNpdGVkTGlua1N0cmF0ZWd5KiBQ
bGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRTo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpCiB7Ci0g
ICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHRoaXM7CiB9CiAKIHZvaWQgUGxhdGZvcm1TdHJhdGVn
aWVzV2luQ0U6Om5vdGlmeUNvb2tpZXNDaGFuZ2VkKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2lu
Y2UvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dp
bkNFLmgJKHJldmlzaW9uIDEzMjI2NCkKKysrIFNvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1
cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsOSAr
MjgsMTAgQEAKICNpbmNsdWRlICJDb29raWVzU3RyYXRlZ3kuaCIKICNpbmNsdWRlICJQbGF0Zm9y
bVN0cmF0ZWdpZXMuaCIKICNpbmNsdWRlICJQbHVnaW5TdHJhdGVneS5oIgorI2luY2x1ZGUgIlNo
YXJlZFdvcmtlclN0cmF0ZWd5LmgiCiAjaW5jbHVkZSAiVmlzaXRlZExpbmtTdHJhdGVneS5oIgog
Ci1jbGFzcyBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRSA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9y
bVN0cmF0ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5LCBwcml2YXRlIFdl
YkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRl
Z3kgeworY2xhc3MgUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UgOiBwdWJsaWMgV2ViQ29yZTo6UGxh
dGZvcm1TdHJhdGVnaWVzLCBwcml2YXRlIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneSwgcHJpdmF0
ZSBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpTaGFyZWRXb3JrZXJT
dHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5IHsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplKCk7CiAKQEAgLTM5LDkgKzQwLDEwIEBAIHByaXZh
dGU6CiAKICAgICAvLyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMKICAgICB2aXJ0dWFsIFdl
YkNvcmU6OkNvb2tpZXNTdHJhdGVneSogY3JlYXRlQ29va2llc1N0cmF0ZWd5KCk7CisgICAgdmly
dHVhbCBXZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kqIGNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVn
eSgpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3kqIGNyZWF0ZVBsdWdpblN0
cmF0ZWd5KCk7CisgICAgdmlydHVhbCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJTdHJhdGVneSogY3Jl
YXRlU2hhcmVkV29ya2VyU3RyYXRlZ3koKTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OlZpc2l0ZWRM
aW5rU3RyYXRlZ3kqIGNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKTsKLSAgICB2aXJ0dWFsIFdl
YkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVneSogY3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCk7CiAK
ICAgICAvLyBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5
Q29va2llc0NoYW5nZWQoKTsK
</data>
<flag name="commit-queue"
          id="183804"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170274</attachid>
            <date>2012-10-23 17:20:32 -0700</date>
            <delta_ts>2012-10-24 00:03:41 -0700</delta_ts>
            <desc>more Qt fixing</desc>
            <filename>AddSharedWorkerStrategy2.txt</filename>
            <type>text/plain</type>
            <size>37691</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjI3NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDEyLTEwLTIzICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIHN0cmF0ZWd5IGZv
ciBzaGFyZWQgd29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAwMTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWxzbyBhIGxpdHRsZSBiaXQgb2YgYWxwaGFiZXRpemF0aW9uLgorCisgICAgICAg
ICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBwbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAgICAgKiB3b3JrZXJzL1NoYXJl
ZFdvcmtlclN0cmF0ZWd5Lmg6IEFkZGVkLgorCiAyMDEyLTEwLTIzICBTaW1vbiBGcmFzZXIgIDxz
aW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFsbG93IHRlc3RzIHRvIHJ1biB3aXRo
IGEgdGlsZSBjYWNoZSwgYW5kIG9wdGlvbmFsbHkgZHVtcCB0aGUgdGlsZSBjYWNoZSB2aWEgbGF5
ZXJUcmVlQXNUZXh0KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDEzMjI2NCkKKysr
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMzI4LDYgKzMy
OCw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vU2VhcmNoUG9wdXBNZW51LmgnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9T
aGFyZWRCdWZmZXJDaHVua1JlYWRlci5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9TaGFyZWRX
b3JrZXJTdHJhdGVneS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9TdGF0c0NvdW50ZXIuaCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vU3VwcGxlbWVudGFibGUuaCcsCiAgICAgICAgICAgICAn
cGxhdGZvcm0vU3lzdGVtVGltZS5oJywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiAxMzIyNjQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtMjg3NTks
NiArMjg3NTksMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5ccGxhdGZvcm1cU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cU291bmQuaCIKIAkJ
CQk+CiAJCQk8L0ZpbGU+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxMzIyNjQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTYw
ODYsNiArNjA4Niw3IEBACiAJCUUxQjI1MTA2MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVByb3Bl
cnR5U2hvcnRoYW5kLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUxQjI1MTA0MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVByb3BlcnR5U2hvcnRoYW5k
LmNwcCAqLzsgfTsKIAkJRTFCMjUxMDcxNTJBMEJCMDAwNjlCNzc5IC8qIFN0eWxlUHJvcGVydHlT
aG9ydGhhbmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUxQjI1MTA1MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmggKi87
IH07CiAJCUUxQjRDRDI1MTBCMzIyRTIwMEJGRkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQjRDRDI0
MTBCMzIyRTIwMEJGRkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5tbSAqLzsgfTsKKwkJRTFC
NzgzOUMxNjM3NDBBNzAwMDdCNjkyIC8qIFNoYXJlZFdvcmtlclN0cmF0ZWd5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUI3ODM5QjE2Mzc0MEE3MDAw
N0I2OTIgLyogU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMUJFNTEyRDBDRjZDNTEyMDAyRUE5NTkgLyogWFNM
VFVuaWNvZGVTb3J0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUxQkU1MTJCMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuY3BwICov
OyB9OwogCQlFMUJFNTEyRTBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUJFNTEyQzBDRjZD
NTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmggKi87IH07CiAJCUUxQzJGMjRBMTUzM0Ey
MTIwMDgzRjk3NCAvKiBTZXR0aW5nc01hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUxQzJGMjQ4MTUzM0EyMTIwMDgzRjk3NCAvKiBTZXR0aW5nc01h
Yy5tbSAqLzsgfTsKQEAgLTg2OTEsNiArODY5Miw4IEBACiAJCTUwM0QwQ0E4MTRCNUIwODcwMEYz
MkY1NyAvKiBDdXN0b21GaWx0ZXJQcm9ncmFtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IEN1c3RvbUZpbHRlclByb2dyYW0uaDsgcGF0aCA9IGZpbHRlcnMvQ3VzdG9tRmlsdGVy
UHJvZ3JhbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MDNEMENBOTE0QjVCMDg3
MDBGMzJGNTcgLyogQ3VzdG9tRmlsdGVyUHJvZ3JhbUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBDdXN0b21GaWx0ZXJQcm9ncmFtQ2xpZW50Lmg7IHBhdGggPSBmaWx0
ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1DbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNTAzRDBDQUQxNEI1QjBCQTAwRjMyRjU3IC8qIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3Jh
bS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTdHlsZUN1c3RvbUZpbHRlclBy
b2dyYW0uaDsgcGF0aCA9IHN0eWxlL1N0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk1MDgxRTNERjNDRkM4MEMxNkVGOEI0OEIgLyogQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBDYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk1MDgxRTNFMTNEMDI4MEMxNkVGOEI0OEIgLyogQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRSZXNvdXJjZVJlcXVlc3QuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTA4Q0NBNEQxM0NGMTA2QjAwMzE1MUYzIC8q
IFJlbmRlckZsb3dUaHJlYWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVu
ZGVyRmxvd1RocmVhZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MDhDQ0E0RTEz
Q0YxMDZCMDAzMTUxRjMgLyogUmVuZGVyRmxvd1RocmVhZC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJGbG93VGhyZWFkLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTA5ODdDMjQxNTdENjc2RDAwQkRBODM1IC8qIEN1c3RvbUZpbHRlckds
b2JhbENvbnRleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQ3Vz
dG9tRmlsdGVyR2xvYmFsQ29udGV4dC5jcHA7IHBhdGggPSBmaWx0ZXJzL0N1c3RvbUZpbHRlckds
b2JhbENvbnRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTI5NjUsOCAr
MTI5NjgsNiBAQAogCQlCQ0IxNkMwRjA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVT
aGVldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkWFNMU3R5bGVT
aGVldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0IxNkMxMDA5NzlDM0JEMDA0
Njc3NDEgLyogQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IENhY2hlZFJlc291cmNlTG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQkNCMTZDMTEwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFJlc291cmNl
TG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRSZXNvdXJj
ZUxvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1MDgxRTNERjNDRkM4MEMx
NkVGOEI0OEIgLyogQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk1MDgxRTNFMTNEMDI4MEMxNkVGOEI0OEIgLyogQ2FjaGVkUmVz
b3VyY2VSZXF1ZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRS
ZXNvdXJjZVJlcXVlc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNCNzczNUUw
QzE3ODUzRDAwMTMyQkE0IC8qIEpTTm9kZUZpbHRlckNvbmRpdGlvbi5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOb2RlRmlsdGVyQ29uZGl0aW9uLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNCNzczNUYwQzE3ODUzRDAwMTMyQkE0IC8qIEpT
Tm9kZUZpbHRlckNvbmRpdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNOb2RlRmlsdGVyQ29uZGl0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJD
Qjc3MzYwMEMxNzg1M0QwMDEzMkJBNCAvKiBKU05vZGVGaWx0ZXJDdXN0b20uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTm9kZUZpbHRlckN1c3RvbS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzQ5OCw2ICsxMzQ5OSw3IEBACiAJCUUxQjI1
MTA0MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUIyNTEwNTE1MkEwQkFGMDA2OUI3Nzkg
LyogU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUxQjRDRDI0MTBCMzIyRTIwMEJGRkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENyZWRlbnRpYWxTdG9yYWdl
TWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMUI3ODM5QjE2Mzc0MEE3MDAw
N0I2OTIgLyogU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gU2hhcmVkV29ya2VyU3RyYXRlZ3kuaDsgcGF0aCA9IHdvcmtlcnMvU2hhcmVkV29y
a2VyU3RyYXRlZ3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFCRTUxMkIwQ0Y2
QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBYU0xUVW5pY29kZVNvcnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFMUJFNTEyQzBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhTTFRVbmljb2RlU29ydC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUMyRjI0ODE1MzNBMjEyMDA4M0Y5NzQgLyogU2V0
dGluZ3NNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTZXR0
aW5nc01hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0OTM2LDYgKzE0OTM4
LDcgQEAKIAkJCQk0MUQxNjhFMDEwMjI2RTg5MDA5QkM4MjcgLyogU2hhcmVkV29ya2VyQ29udGV4
dC5oICovLAogCQkJCTQxRDE2OEUxMTAyMjZFODkwMDlCQzgyNyAvKiBTaGFyZWRXb3JrZXJDb250
ZXh0LmlkbCAqLywKIAkJCQk0MUQxNjhFMjEwMjI2RTg5MDA5QkM4MjcgLyogU2hhcmVkV29ya2Vy
UmVwb3NpdG9yeS5oICovLAorCQkJCUUxQjc4MzlCMTYzNzQwQTcwMDA3QjY5MiAvKiBTaGFyZWRX
b3JrZXJTdHJhdGVneS5oICovLAogCQkJCTQxRDE2OEU1MTAyMjZFODkwMDlCQzgyNyAvKiBTaGFy
ZWRXb3JrZXJUaHJlYWQuY3BwICovLAogCQkJCTQxRDE2OEU2MTAyMjZFODkwMDlCQzgyNyAvKiBT
aGFyZWRXb3JrZXJUaHJlYWQuaCAqLywKIAkJCQkyRTQzNDYzMzBGNTQ2QTgyMDBCMEYxQkEgLyog
V29ya2VyLmNwcCAqLywKQEAgLTI1NjQ5LDYgKzI1NjUyLDcgQEAKIAkJCQk3RTVEN0E3NzE2MUQz
RjhGMDA4OTZDMzQgLyogT0VTRWxlbWVudEluZGV4VWludC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
N0U0NkY2RkIxNjI3QTJDQTAwMDYyMjIzIC8qIEpTT0VTRWxlbWVudEluZGV4VWludC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTQ3MTI3Q0IxNjM0MzhBRTAwRUQ2RjVBIC8qIFN0eWxlSW52YWxpZGF0
aW9uQW5hbHlzaXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUUxQjc4MzlDMTYzNzQwQTcwMDA3QjY5
MiAvKiBTaGFyZWRXb3JrZXJTdHJhdGVneS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVu
T25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaAkocmV2aXNpb24gMTMyMjY0
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSwg
MjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTMzLDYgKzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
Q29va2llc1N0cmF0ZWd5OwogY2xhc3MgUGFzdGVib2FyZFN0cmF0ZWd5OwogY2xhc3MgUGx1Z2lu
U3RyYXRlZ3k7CitjbGFzcyBTaGFyZWRXb3JrZXJTdHJhdGVneTsKIGNsYXNzIFZpc2l0ZWRMaW5r
U3RyYXRlZ3k7CiAKIGNsYXNzIFBsYXRmb3JtU3RyYXRlZ2llcyB7CkBAIC00NCw2ICs0NSwxMyBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX2Nvb2tpZXNTdHJhdGVneTsKICAgICB9CiAKKyAg
ICBQYXN0ZWJvYXJkU3RyYXRlZ3kqIHBhc3RlYm9hcmRTdHJhdGVneSgpCisgICAgeworICAgICAg
ICBpZiAoIW1fcGFzdGVib2FyZFN0cmF0ZWd5KQorICAgICAgICAgICAgbV9wYXN0ZWJvYXJkU3Ry
YXRlZ3kgPSBjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKTsKKyAgICAgICAgcmV0dXJuIG1fcGFz
dGVib2FyZFN0cmF0ZWd5OworICAgIH0KKwogICAgIFBsdWdpblN0cmF0ZWd5KiBwbHVnaW5TdHJh
dGVneSgpCiAgICAgewogICAgICAgICBpZiAoIW1fcGx1Z2luU3RyYXRlZ3kpCkBAIC01MSwyNSAr
NTksMjcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9wbHVnaW5TdHJhdGVneTsKICAgICB9
CiAKKyAgICBTaGFyZWRXb3JrZXJTdHJhdGVneSogc2hhcmVkV29ya2VyU3RyYXRlZ3koKQorICAg
IHsKKyAgICAgICAgaWYgKCFtX3NoYXJlZFdvcmtlclN0cmF0ZWd5KQorICAgICAgICAgICAgbV9z
aGFyZWRXb3JrZXJTdHJhdGVneSA9IGNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCk7CisgICAg
ICAgIHJldHVybiBtX3NoYXJlZFdvcmtlclN0cmF0ZWd5OworICAgIH0KKwogICAgIFZpc2l0ZWRM
aW5rU3RyYXRlZ3kqIHZpc2l0ZWRMaW5rU3RyYXRlZ3koKQogICAgIHsKICAgICAgICAgaWYgKCFt
X3Zpc2l0ZWRMaW5rU3RyYXRlZ3kpCiAgICAgICAgICAgICBtX3Zpc2l0ZWRMaW5rU3RyYXRlZ3kg
PSBjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCk7CiAgICAgICAgIHJldHVybiBtX3Zpc2l0ZWRM
aW5rU3RyYXRlZ3k7CiAgICAgfQotICAgIFBhc3RlYm9hcmRTdHJhdGVneSogcGFzdGVib2FyZFN0
cmF0ZWd5KCkKLSAgICB7Ci0gICAgICAgIGlmICghbV9wYXN0ZWJvYXJkU3RyYXRlZ3kpCi0gICAg
ICAgICAgICBtX3Bhc3RlYm9hcmRTdHJhdGVneSA9IGNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgp
OwotICAgICAgICByZXR1cm4gbV9wYXN0ZWJvYXJkU3RyYXRlZ3k7Ci0gICAgfQogCiBwcm90ZWN0
ZWQ6CiAgICAgUGxhdGZvcm1TdHJhdGVnaWVzKCkKICAgICAgICAgOiBtX2Nvb2tpZXNTdHJhdGVn
eSgwKQorICAgICAgICAsIG1fcGFzdGVib2FyZFN0cmF0ZWd5KDApCiAgICAgICAgICwgbV9wbHVn
aW5TdHJhdGVneSgwKQorICAgICAgICAsIG1fc2hhcmVkV29ya2VyU3RyYXRlZ3koMCkKICAgICAg
ICAgLCBtX3Zpc2l0ZWRMaW5rU3RyYXRlZ3koMCkKLSAgICAgICAgLCBtX3Bhc3RlYm9hcmRTdHJh
dGVneSgwKQogICAgIHsKICAgICB9CiAKQEAgLTc5LDE0ICs4OSwxNiBAQCBwcm90ZWN0ZWQ6CiAK
IHByaXZhdGU6CiAgICAgdmlydHVhbCBDb29raWVzU3RyYXRlZ3kqIGNyZWF0ZUNvb2tpZXNTdHJh
dGVneSgpID0gMDsKKyAgICB2aXJ0dWFsIFBhc3RlYm9hcmRTdHJhdGVneSogY3JlYXRlUGFzdGVi
b2FyZFN0cmF0ZWd5KCkgPSAwOwogICAgIHZpcnR1YWwgUGx1Z2luU3RyYXRlZ3kqIGNyZWF0ZVBs
dWdpblN0cmF0ZWd5KCkgPSAwOworICAgIHZpcnR1YWwgU2hhcmVkV29ya2VyU3RyYXRlZ3kqIGNy
ZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCkgPSAwOwogICAgIHZpcnR1YWwgVmlzaXRlZExpbmtT
dHJhdGVneSogY3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpID0gMDsKLSAgICB2aXJ0dWFsIFBh
c3RlYm9hcmRTdHJhdGVneSogY3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCkgPSAwOyAKIAogICAg
IENvb2tpZXNTdHJhdGVneSogbV9jb29raWVzU3RyYXRlZ3k7CisgICAgUGFzdGVib2FyZFN0cmF0
ZWd5KiBtX3Bhc3RlYm9hcmRTdHJhdGVneTsKICAgICBQbHVnaW5TdHJhdGVneSogbV9wbHVnaW5T
dHJhdGVneTsKKyAgICBTaGFyZWRXb3JrZXJTdHJhdGVneSogbV9zaGFyZWRXb3JrZXJTdHJhdGVn
eTsKICAgICBWaXNpdGVkTGlua1N0cmF0ZWd5KiBtX3Zpc2l0ZWRMaW5rU3RyYXRlZ3k7Ci0gICAg
UGFzdGVib2FyZFN0cmF0ZWd5KiBtX3Bhc3RlYm9hcmRTdHJhdGVneTsKIH07CiAKIFBsYXRmb3Jt
U3RyYXRlZ2llcyogcGxhdGZvcm1TdHJhdGVnaWVzKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1NoYXJlZFdvcmtlclN0cmF0ZWd5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvd29ya2Vycy9TaGFyZWRXb3JrZXJTdHJhdGVneS5oCShyZXZpc2lvbiAwKQorKysgU291cmNl
L1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJTdHJhdGVneS5oCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBTaGFyZWRXb3JrZXJTdHJhdGVneV9o
CisjZGVmaW5lIFNoYXJlZFdvcmtlclN0cmF0ZWd5X2gKKworI2lmIFVTRShQTEFURk9STV9TVFJB
VEVHSUVTKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAgCitjbGFzcyBTaGFyZWRXb3JrZXJT
dHJhdGVneSB7CitwdWJsaWM6Citwcm90ZWN0ZWQ6CisgICAgdmlydHVhbCB+U2hhcmVkV29ya2Vy
U3RyYXRlZ3koKQorICAgIHsKKyAgICB9Cit9OworCit9CisjZW5kaWYgLy8gVVNFKFBMQVRGT1JN
X1NUUkFURUdJRVMpCisKKyNlbmRpZiAvLyBTaGFyZWRXb3JrZXJTdHJhdGVneV9oCgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlclN0cmF0ZWd5
LmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cJKHJldmlzaW9uIDEzMjI3NikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTEwLTIzICBBbGV4ZXkgUHJvc2t1cnlh
a292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIHN0cmF0ZWd5IGZvciBzaGFyZWQg
d29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAwMTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlUGFzdGVib2FyZFN0
cmF0ZWd5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVT
aGFyZWRXb3JrZXJTdHJhdGVneSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXRmb3JtU3RyYXRl
Z2llczo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKwogMjAxMi0xMC0yMyAgTm8n
YW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29tPgogCiAgICAgICAgIENvb3Jk
aW5hdGVkIEdyYXBoaWNzOiBFbmFibGUgdGhyZWFkZWQvSVBDIGFuaW1hdGlvbnMKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAJKHJldmlzaW9uIDEzMjI2NCkKKysrIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjgsMTcgKzY4LDIyIEBAIENvb2tpZXNTdHJhdGVn
eSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjoKICAgICByZXR1cm4gdGhpczsKIH0KIAorUGFzdGVi
b2FyZFN0cmF0ZWd5KiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZVBhc3RlYm9hcmRTdHJh
dGVneSgpCit7CisgICAgcmV0dXJuIHRoaXM7Cit9CisKIFBsdWdpblN0cmF0ZWd5KiBXZWJQbGF0
Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4gdGhp
czsKIH0KIAotVmlzaXRlZExpbmtTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVh
dGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkKK1NoYXJlZFdvcmtlclN0cmF0ZWd5KiBXZWJQbGF0Zm9y
bVN0cmF0ZWdpZXM6OmNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4g
dGhpczsKIH0KIAotUGFzdGVib2FyZFN0cmF0ZWd5KiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNy
ZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpCitWaXNpdGVkTGlua1N0cmF0ZWd5KiBXZWJQbGF0Zm9y
bVN0cmF0ZWdpZXM6OmNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKQogewogICAgIHJldHVybiB0
aGlzOwogfQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCShyZXZpc2lvbiAx
MzIyNjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBs
YXRmb3JtU3RyYXRlZ2llcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiwxMSArMzIsMTIgQEAKICNp
bmNsdWRlIDxXZWJDb3JlL1Bhc3RlYm9hcmRTdHJhdGVneS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UGxhdGZvcm1TdHJhdGVnaWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5TdHJhdGVneS5o
PgorI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkV29ya2VyU3RyYXRlZ3kuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1Zpc2l0ZWRMaW5rU3RyYXRlZ3kuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNs
YXNzIFdlYlBsYXRmb3JtU3RyYXRlZ2llcyA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0
ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6
OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3ksIHBy
aXZhdGUgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5IHsKK2NsYXNzIFdlYlBsYXRmb3JtU3Ry
YXRlZ2llcyA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMsIHByaXZhdGUgV2Vi
Q29yZTo6Q29va2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVn
eSwgcHJpdmF0ZSBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpTaGFy
ZWRXb3JrZXJTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5IHsK
IHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplKCk7CiAgICAgCkBAIC00NSw5ICs0
NiwxMCBAQCBwcml2YXRlOgogICAgIAogICAgIC8vIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2ll
cwogICAgIHZpcnR1YWwgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5KiBjcmVhdGVDb29raWVzU3Ry
YXRlZ3koKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVn
eSogY3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBXZWJD
b3JlOjpQbHVnaW5TdHJhdGVneSogY3JlYXRlUGx1Z2luU3RyYXRlZ3koKSBPVkVSUklERTsKKyAg
ICB2aXJ0dWFsIFdlYkNvcmU6OlNoYXJlZFdvcmtlclN0cmF0ZWd5KiBjcmVhdGVTaGFyZWRXb3Jr
ZXJTdHJhdGVneSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6VmlzaXRlZExpbmtT
dHJhdGVneSogY3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpIE9WRVJSSURFOwotICAgIHZpcnR1
YWwgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5KiBjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3ko
KSBPVkVSUklERTsKIAogICAgIC8vIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneQogICAgIHZpcnR1
YWwgdm9pZCBub3RpZnlDb29raWVzQ2hhbmdlZCgpIE9WRVJSSURFOwpJbmRleDogU291cmNlL1dl
YktpdC9lZmwvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZWZsL0NoYW5n
ZUxvZwkocmV2aXNpb24gMTMyMjc2KQorKysgU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTAtMjMgIEFsZXhleSBQcm9za3Vy
eWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgc3RyYXRlZ3kgZm9yIHNoYXJl
ZCB3b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDAxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5jcHA6CisgICAgICAgIChQ
bGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSk6CisgICAgICAg
IChQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KToKKyAg
ICAgICAgKFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSk6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmg6CisKIDIw
MTItMTAtMjMgIEFuZHJhcyBCZWNzaSAgPGFuZHJhcy5iZWNzaUBkaWdpYS5jb20+CiAKICAgICAg
ICAgUmVtb3ZlIGRldmljZVBpeGVsUmF0aW8gZnJvbSBWaWV3cG9ydEF0dHJpYnV0ZXMKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZv
cm1TdHJhdGVnaWVzRWZsLmNwcAkocmV2aXNpb24gMTMyMjY0KQorKysgU291cmNlL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDQsMjcgKzQ0LDMwIEBAIFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6UGxhdGZvcm1TdHJh
dGVnaWUKIHsKIH0KIAotLy8gQ29va2llc1N0cmF0ZWd5CiBDb29raWVzU3RyYXRlZ3kqIFBsYXRm
b3JtU3RyYXRlZ2llc0VmbDo6Y3JlYXRlQ29va2llc1N0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4g
dGhpczsKIH0KIAotLy8gUGx1Z2luU3RyYXRlZ3kKK1Bhc3RlYm9hcmRTdHJhdGVneSogUGxhdGZv
cm1TdHJhdGVnaWVzRWZsOjpjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKQoreworICAgIG5vdElt
cGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKIFBsdWdpblN0cmF0ZWd5KiBQbGF0Zm9y
bVN0cmF0ZWdpZXNFZmw6OmNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4gdGhp
czsKIH0KIAotVmlzaXRlZExpbmtTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVzRWZsOjpjcmVh
dGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkKK1NoYXJlZFdvcmtlclN0cmF0ZWd5KiBQbGF0Zm9ybVN0
cmF0ZWdpZXNFZmw6OmNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4g
dGhpczsKIH0KIAotUGFzdGVib2FyZFN0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmNy
ZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpCitWaXNpdGVkTGlua1N0cmF0ZWd5KiBQbGF0Zm9ybVN0
cmF0ZWdpZXNFZmw6OmNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKQogewotICAgIG5vdEltcGxl
bWVudGVkKCk7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHRoaXM7CiB9CiAKIC8vIENvb2tp
ZXNTdHJhdGVneQpJbmRleDogU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZv
cm1TdHJhdGVnaWVzRWZsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmgJKHJldmlzaW9uIDEzMjI2NCkKKysrIFNv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yNCw5ICsyNCwxMCBAQAogI2luY2x1ZGUgIlBhc3RlYm9hcmRTdHJh
dGVneS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgogI2luY2x1ZGUgIlBsdWdp
blN0cmF0ZWd5LmgiCisjaW5jbHVkZSAiU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCIKICNpbmNsdWRl
ICJWaXNpdGVkTGlua1N0cmF0ZWd5LmgiCiAKLWNsYXNzIFBsYXRmb3JtU3RyYXRlZ2llc0VmbCA6
IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29v
a2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdl
YkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kgeworY2xhc3MgUGxhdGZvcm1TdHJhdGVnaWVzRWZs
IDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywgcHJpdmF0ZSBXZWJDb3JlOjpD
b29raWVzU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3ksIHByaXZhdGUg
V2ViQ29yZTo6U2hhcmVkV29ya2VyU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6VmlzaXRlZExp
bmtTdHJhdGVneSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZSgpOwogCkBA
IC0zNSw5ICszNiwxMCBAQCBwcml2YXRlOgogCiAgICAgLy8gV2ViQ29yZTo6UGxhdGZvcm1TdHJh
dGVnaWVzCiAgICAgdmlydHVhbCBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kqIGNyZWF0ZUNvb2tp
ZXNTdHJhdGVneSgpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5KiBj
cmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OlBsdWdpblN0
cmF0ZWd5KiBjcmVhdGVQbHVnaW5TdHJhdGVneSgpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6U2hh
cmVkV29ya2VyU3RyYXRlZ3kqIGNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCk7CiAgICAgdmly
dHVhbCBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5KiBjcmVhdGVWaXNpdGVkTGlua1N0cmF0
ZWd5KCk7Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kqIGNyZWF0ZVBh
c3RlYm9hcmRTdHJhdGVneSgpOwogCiAgICAgLy8gV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5CiAg
ICAgdmlydHVhbCB2b2lkIG5vdGlmeUNvb2tpZXNDaGFuZ2VkKCk7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9ndGsvQ2hhbmdl
TG9nCShyZXZpc2lvbiAxMzIyNzYpCisrKyBTb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0xMC0yMyAgQWxleGV5IFByb3NrdXJ5
YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSBzdHJhdGVneSBmb3Igc2hhcmVk
IHdvcmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwMDE2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNwcDoKKyAgICAgICAgKFBs
YXRmb3JtU3RyYXRlZ2llc0d0azo6Y3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KToKKyAgICAgICAg
KFBsYXRmb3JtU3RyYXRlZ2llc0d0azo6Y3JlYXRlU2hhcmVkV29ya2VyU3RyYXRlZ3kpOgorICAg
ICAgICAoUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjpjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuaDoKKwogMjAx
Mi0xMC0yMyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZC4gVXBkYXRlIE5FV1MgYW5kIGNvbmZpZ3VyZS5hYyBmb3IgMS4xMS4x
IHJlbGVhc2UKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3Jt
U3RyYXRlZ2llc0d0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNwcAkocmV2aXNpb24gMTMyMjY0KQorKysg
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDIsMjEgKzQyLDI2IEBAIENvb2tpZXNTdHJhdGVneSogUGxh
dGZvcm1TdHJhdGVnaWVzR3RrOjoKICAgICByZXR1cm4gdGhpczsKIH0KIAorUGFzdGVib2FyZFN0
cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgp
Cit7CisgICAgLy8gVGhpcyBpcyBjdXJyZW50bHkgdXNlZCBvbmx5IGJ5IE1hYyBjb2RlLgorICAg
IG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKIFBsdWdpblN0cmF0ZWd5KiBQ
bGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkKIHsKICAgICByZXR1
cm4gdGhpczsKIH0KIAotVmlzaXRlZExpbmtTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVzR3Rr
OjpjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkKK1NoYXJlZFdvcmtlclN0cmF0ZWd5KiBQbGF0
Zm9ybVN0cmF0ZWdpZXNHdGs6OmNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCkKIHsKICAgICBy
ZXR1cm4gdGhpczsKIH0KIAotUGFzdGVib2FyZFN0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNH
dGs6OmNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpCitWaXNpdGVkTGlua1N0cmF0ZWd5KiBQbGF0
Zm9ybVN0cmF0ZWdpZXNHdGs6OmNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKQogewotICAgIC8v
IFRoaXMgaXMgY3VycmVudGx5IHVzZWQgb25seSBieSBtYWMgY29kZS4KLSAgICBub3RJbXBsZW1l
bnRlZCgpOwotICAgIHJldHVybiAwOworICAgIHJldHVybiB0aGlzOwogfQogCiAvLyBDb29raWVz
U3RyYXRlZ3kKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3Jt
U3RyYXRlZ2llc0d0ay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5oCShyZXZpc2lvbiAxMzIyNjQpCisrKyBTb3Vy
Y2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuaAkod29y
a2luZyBjb3B5KQpAQCAtMjMsOSArMjMsMTAgQEAKICNpbmNsdWRlICJQYXN0ZWJvYXJkU3RyYXRl
Z3kuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKICNpbmNsdWRlICJQbHVnaW5T
dHJhdGVneS5oIgorI2luY2x1ZGUgIlNoYXJlZFdvcmtlclN0cmF0ZWd5LmgiCiAjaW5jbHVkZSAi
VmlzaXRlZExpbmtTdHJhdGVneS5oIgogCi1jbGFzcyBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGsgOiBw
dWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzLCBwcml2YXRlIFdlYkNvcmU6OkNvb2tp
ZXNTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneSwgcHJpdmF0ZSBXZWJD
b3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5IHsKK2NsYXNzIFBsYXRmb3JtU3RyYXRlZ2llc0d0ayA6
IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29v
a2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdl
YkNvcmU6OlNoYXJlZFdvcmtlclN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5r
U3RyYXRlZ3kgewogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemUoKTsKIApAQCAt
MzQsOSArMzUsMTAgQEAgcHJpdmF0ZToKIAogICAgIC8vIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRl
Z2llcwogICAgIHZpcnR1YWwgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5KiBjcmVhdGVDb29raWVz
U3RyYXRlZ3koKTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVneSogY3Jl
YXRlUGFzdGVib2FyZFN0cmF0ZWd5KCk7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpQbHVnaW5TdHJh
dGVneSogY3JlYXRlUGx1Z2luU3RyYXRlZ3koKTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlNoYXJl
ZFdvcmtlclN0cmF0ZWd5KiBjcmVhdGVTaGFyZWRXb3JrZXJTdHJhdGVneSgpOwogICAgIHZpcnR1
YWwgV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneSogY3JlYXRlVmlzaXRlZExpbmtTdHJhdGVn
eSgpOwotICAgIHZpcnR1YWwgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5KiBjcmVhdGVQYXN0
ZWJvYXJkU3RyYXRlZ3koKTsKIAogICAgIC8vIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneQogICAg
IHZpcnR1YWwgdm9pZCBub3RpZnlDb29raWVzQ2hhbmdlZCgpOwpJbmRleDogU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwkocmV2aXNpb24gMTMyMjc2KQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTAtMjMgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgc3RyYXRlZ3kgZm9yIHNoYXJlZCB3
b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDAxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oOgorICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbToKKyAgICAgICAgKFdlYlBsYXRmb3Jt
U3RyYXRlZ2llczo6Y3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KToKKyAgICAgICAgKFdlYlBsYXRm
b3JtU3RyYXRlZ2llczo6Y3JlYXRlU2hhcmVkV29ya2VyU3RyYXRlZ3kpOgorICAgICAgICAoV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KToKKwogMjAxMi0x
MC0yMyAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHJlc29sdXRpb24gbWVkaWEgcXVlcnkKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3Jt
U3RyYXRlZ2llcy5oCShyZXZpc2lvbiAxMzIyNjQpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzAs
OSArMzAsMTAgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1Bhc3RlYm9hcmRTdHJhdGVneS5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1TdHJhdGVnaWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Q
bHVnaW5TdHJhdGVneS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkV29ya2VyU3RyYXRlZ3ku
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1Zpc2l0ZWRMaW5rU3RyYXRlZ3kuaD4KIAotY2xhc3MgV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzIDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywg
cHJpdmF0ZSBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6UGx1Z2lu
U3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneSwgcHJpdmF0ZSBX
ZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kgeworY2xhc3MgV2ViUGxhdGZvcm1TdHJhdGVnaWVz
IDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywgcHJpdmF0ZSBXZWJDb3JlOjpD
b29raWVzU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5LCBwcml2
YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlNoYXJlZFdvcmtl
clN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kgewogcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemUoKTsKICAgICAKQEAgLTQxLDkgKzQyLDEwIEBA
IHByaXZhdGU6CiAgICAgCiAgICAgLy8gV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzCiAgICAg
dmlydHVhbCBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kqIGNyZWF0ZUNvb2tpZXNTdHJhdGVneSgp
IE9WRVJSSURFOworICAgIHZpcnR1YWwgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5KiBjcmVh
dGVQYXN0ZWJvYXJkU3RyYXRlZ3koKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OlBs
dWdpblN0cmF0ZWd5KiBjcmVhdGVQbHVnaW5TdHJhdGVneSgpIE9WRVJSSURFOworICAgIHZpcnR1
YWwgV2ViQ29yZTo6U2hhcmVkV29ya2VyU3RyYXRlZ3kqIGNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0
ZWd5KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5
KiBjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBXZWJD
b3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kqIGNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpIE9WRVJS
SURFOwogCiAgICAgLy8gV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5CiAgICAgdmlydHVhbCB2b2lk
IG5vdGlmeUNvb2tpZXNDaGFuZ2VkKCkgT1ZFUlJJREU7CkBAIC03Miw3ICs3NCw2IEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCB2b2lkIHNldEJ1ZmZlckZvclR5cGUoUGFzc1JlZlB0cjxXZWJDb3Jl
OjpTaGFyZWRCdWZmZXI+LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJp
bmcmIHBhc3RlYm9hcmROYW1lKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGF0aG5h
bWVzRm9yVHlwZShjb25zdCBWZWN0b3I8U3RyaW5nPiYsIGNvbnN0IFN0cmluZyYgcGFzdGVib2Fy
ZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpIE9WRVJSSURFOwogICAgIHZpcnR1
YWwgdm9pZCBzZXRTdHJpbmdGb3JUeXBlKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYgcGFz
dGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpIE9WRVJSSURFOwotICAg
IAogfTsKIAogI2VuZGlmIC8vIFdlYlBsYXRmb3JtU3RyYXRlZ2llc19oCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJh
dGVnaWVzLm1tCShyZXZpc2lvbiAxMzIyNjQpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTUwLDE3
ICs1MCwyMiBAQCBDb29raWVzU3RyYXRlZ3kqIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6CiAgICAg
cmV0dXJuIHRoaXM7CiB9CiAKK1Bhc3RlYm9hcmRTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVn
aWVzOjpjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKQoreworICAgIHJldHVybiB0aGlzOworfQor
CiBQbHVnaW5TdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVQbHVnaW5TdHJh
dGVneSgpCiB7CiAgICAgcmV0dXJuIHRoaXM7CiB9CiAKLVZpc2l0ZWRMaW5rU3RyYXRlZ3kqIFdl
YlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpCitTaGFyZWRX
b3JrZXJTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVTaGFyZWRXb3JrZXJT
dHJhdGVneSgpCiB7CiAgICAgcmV0dXJuIHRoaXM7CiB9CiAKLVBhc3RlYm9hcmRTdHJhdGVneSog
V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKQorVmlzaXRl
ZExpbmtTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVWaXNpdGVkTGlua1N0
cmF0ZWd5KCkKIHsKICAgICByZXR1cm4gdGhpczsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCShyZXZp
c2lvbiAxMzIyNzYpCisrKyBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTEwLTIzICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBA
YXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIHN0cmF0ZWd5IGZvciBzaGFyZWQgd29ya2Vycwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMTY1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5jcHA6CisgICAgICAgIChQbGF0Zm9ybVN0cmF0
ZWdpZXNRdDo6Y3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KToKKyAgICAgICAgKFBsYXRmb3JtU3Ry
YXRlZ2llc1F0OjpjcmVhdGVTaGFyZWRXb3JrZXJTdHJhdGVneSk6CisgICAgICAgIChQbGF0Zm9y
bVN0cmF0ZWdpZXNRdDo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSk6CisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuaDoKKwogMjAxMi0xMC0yMyAgQW5kcmFz
IEJlY3NpICA8YW5kcmFzLmJlY3NpQGRpZ2lhLmNvbT4KIAogICAgICAgICBSZW1vdmUgZGV2aWNl
UGl4ZWxSYXRpbyBmcm9tIFZpZXdwb3J0QXR0cmlidXRlcwpJbmRleDogU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5jcHAJ
KHJldmlzaW9uIDEzMjI2NCkKKysrIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxh
dGZvcm1TdHJhdGVnaWVzUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MywxOSArNjMsMjQgQEAg
Q29va2llc1N0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNRdDo6YwogICAgIHJldHVybiB0aGlz
OwogfQogCitQYXN0ZWJvYXJkU3RyYXRlZ3kqIFBsYXRmb3JtU3RyYXRlZ2llc1F0OjpjcmVhdGVQ
YXN0ZWJvYXJkU3RyYXRlZ3koKQoreworICAgIHJldHVybiAwOworfQorCiBQbHVnaW5TdHJhdGVn
eSogUGxhdGZvcm1TdHJhdGVnaWVzUXQ6OmNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkKIHsKICAgICBy
ZXR1cm4gdGhpczsKIH0KIAotVmlzaXRlZExpbmtTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVz
UXQ6OmNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKQorU2hhcmVkV29ya2VyU3RyYXRlZ3kqIFBs
YXRmb3JtU3RyYXRlZ2llc1F0OjpjcmVhdGVTaGFyZWRXb3JrZXJTdHJhdGVneSgpCiB7CiAgICAg
cmV0dXJuIHRoaXM7CiB9CiAKLVBhc3RlYm9hcmRTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVz
UXQ6OmNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpCitWaXNpdGVkTGlua1N0cmF0ZWd5KiBQbGF0
Zm9ybVN0cmF0ZWdpZXNRdDo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpCiB7Ci0gICAgcmV0
dXJuIDA7CisgICAgcmV0dXJuIHRoaXM7CiB9CiAKIHZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzUXQ6
Om5vdGlmeUNvb2tpZXNDaGFuZ2VkKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0LmgJKHJldmlzaW9uIDEzMjI2
NCkKKysrIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVz
UXQuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsMTQgKzMxLDE0IEBACiAjaW5jbHVkZSA8Q29va2ll
c1N0cmF0ZWd5Lmg+CiAjaW5jbHVkZSA8UGxhdGZvcm1TdHJhdGVnaWVzLmg+CiAjaW5jbHVkZSA8
UGx1Z2luU3RyYXRlZ3kuaD4KKyNpbmNsdWRlIDxTaGFyZWRXb3JrZXJTdHJhdGVneS5oPgogI2lu
Y2x1ZGUgPFZpc2l0ZWRMaW5rU3RyYXRlZ3kuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewotY2xh
c3MgUGFnZTsKIGNsYXNzIFBhc3RlYm9hcmRTdHJhdGVneTsKIH0KIAotY2xhc3MgUGxhdGZvcm1T
dHJhdGVnaWVzUXQgOiBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzLCBwcml2YXRl
IFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpQbHVnaW5TdHJhdGVn
eSwgcHJpdmF0ZSBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5IHsKK2NsYXNzIFBsYXRmb3Jt
U3RyYXRlZ2llc1F0IDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywgcHJpdmF0
ZSBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6UGx1Z2luU3RyYXRl
Z3ksIHByaXZhdGUgV2ViQ29yZTo6U2hhcmVkV29ya2VyU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29y
ZTo6VmlzaXRlZExpbmtTdHJhdGVneSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgaW5pdGlh
bGl6ZSgpOwogCkBAIC00Nyw5ICs0NywxMCBAQCBwcml2YXRlOgogCiAgICAgLy8gV2ViQ29yZTo6
UGxhdGZvcm1TdHJhdGVnaWVzCiAgICAgdmlydHVhbCBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kq
IGNyZWF0ZUNvb2tpZXNTdHJhdGVneSgpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6UGFzdGVib2Fy
ZFN0cmF0ZWd5KiBjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKTsKICAgICB2aXJ0dWFsIFdlYkNv
cmU6OlBsdWdpblN0cmF0ZWd5KiBjcmVhdGVQbHVnaW5TdHJhdGVneSgpOworICAgIHZpcnR1YWwg
V2ViQ29yZTo6U2hhcmVkV29ya2VyU3RyYXRlZ3kqIGNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5
KCk7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5KiBjcmVhdGVWaXNp
dGVkTGlua1N0cmF0ZWd5KCk7Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRl
Z3kqIGNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpOwogICAgIAogICAgIC8vIFdlYkNvcmU6OkNv
b2tpZXNTdHJhdGVneQogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlDb29raWVzQ2hhbmdlZCgpOwpJ
bmRleDogU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gMTMyMjc2KQorKysgU291cmNlL1dlYktpdC93
aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTAtMjMg
IEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgc3Ry
YXRlZ3kgZm9yIHNoYXJlZCB3b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDAxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5j
cHA6CisgICAgICAgIChXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZVBhc3RlYm9hcmRTdHJh
dGVneSk6CisgICAgICAgIChXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZVNoYXJlZFdvcmtl
clN0cmF0ZWd5KToKKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlVmlzaXRl
ZExpbmtTdHJhdGVneSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJh
dGVnaWVzLmg6CisgICAgICAgIChXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMpOgorCiAyMDEyLTEwLTIy
ICBKb2NlbHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBkaWdpYS5jb20+CiAKICAgICAg
ICAgW1F0XSBGaXggIkFTU0VSVElPTiBGQUlMRUQ6ICFkb2N1bWVudC0+aW5QYWdlQ2FjaGUoKSIg
d2hlbiBsb2FkaW5nIGEgcGFnZQpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCShyZXZpc2lvbiAx
MzIyNjQpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0
cmF0ZWdpZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NywxOSArNDcsMjQgQEAgQ29va2llc1N0
cmF0ZWd5KiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OgogICAgIHJldHVybiB0aGlzOwogfQogCitQ
YXN0ZWJvYXJkU3RyYXRlZ3kqIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlUGFzdGVib2Fy
ZFN0cmF0ZWd5KCkKK3sKKyAgICByZXR1cm4gMDsKK30KKwogUGx1Z2luU3RyYXRlZ3kqIFdlYlBs
YXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlUGx1Z2luU3RyYXRlZ3koKQogewogICAgIHJldHVybiB0
aGlzOwogfQogCi1WaXNpdGVkTGlua1N0cmF0ZWd5KiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNy
ZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKQorU2hhcmVkV29ya2VyU3RyYXRlZ3kqIFdlYlBsYXRm
b3JtU3RyYXRlZ2llczo6Y3JlYXRlU2hhcmVkV29ya2VyU3RyYXRlZ3koKQogewogICAgIHJldHVy
biB0aGlzOwogfQogCi1QYXN0ZWJvYXJkU3RyYXRlZ3kqIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6
Y3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCkKK1Zpc2l0ZWRMaW5rU3RyYXRlZ3kqIFdlYlBsYXRm
b3JtU3RyYXRlZ2llczo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpCiB7Ci0gICAgcmV0dXJu
IDA7CisgICAgcmV0dXJuIHRoaXM7CiB9CiAKIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpu
b3RpZnlDb29raWVzQ2hhbmdlZCgpCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAkocmV2aXNpb24gMTMy
MjY0KQorKysgU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJh
dGVnaWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDkgKzI5LDEwIEBACiAjaW5jbHVkZSA8V2Vi
Q29yZS9Db29raWVzU3RyYXRlZ3kuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtU3RyYXRl
Z2llcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z2luU3RyYXRlZ3kuaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL1NoYXJlZFdvcmtlclN0cmF0ZWd5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9WaXNpdGVk
TGlua1N0cmF0ZWd5Lmg+CiAKLWNsYXNzIFdlYlBsYXRmb3JtU3RyYXRlZ2llcyA6IHB1YmxpYyBX
ZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29va2llc1N0cmF0
ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZp
c2l0ZWRMaW5rU3RyYXRlZ3kgeworY2xhc3MgV2ViUGxhdGZvcm1TdHJhdGVnaWVzIDogcHVibGlj
IFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywgcHJpdmF0ZSBXZWJDb3JlOjpDb29raWVzU3Ry
YXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6
U2hhcmVkV29ya2VyU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVn
eSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZSgpOwogICAgIApAQCAtNDAs
OSArNDEsMTAgQEAgcHJpdmF0ZToKICAgICAKICAgICAvLyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0
ZWdpZXMKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneSogY3JlYXRlQ29va2ll
c1N0cmF0ZWd5KCk7CisgICAgdmlydHVhbCBXZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kqIGNy
ZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6UGx1Z2luU3Ry
YXRlZ3kqIGNyZWF0ZVBsdWdpblN0cmF0ZWd5KCk7CisgICAgdmlydHVhbCBXZWJDb3JlOjpTaGFy
ZWRXb3JrZXJTdHJhdGVneSogY3JlYXRlU2hhcmVkV29ya2VyU3RyYXRlZ3koKTsKICAgICB2aXJ0
dWFsIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kqIGNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRl
Z3koKTsKLSAgICB2aXJ0dWFsIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVneSogY3JlYXRlUGFz
dGVib2FyZFN0cmF0ZWd5KCk7CiAKICAgICAvLyBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kKICAg
ICB2aXJ0dWFsIHZvaWQgbm90aWZ5Q29va2llc0NoYW5nZWQoKTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvd2luY2UvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luY2UvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMzIyNzYpCisrKyBTb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTEwLTIzICBBbGV4ZXkgUHJv
c2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIHN0cmF0ZWd5IGZvciBz
aGFyZWQgd29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAwMTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5jcHA6CisgICAg
ICAgIChQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRTo6Y3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KToK
KyAgICAgICAgKFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFOjpjcmVhdGVTaGFyZWRXb3JrZXJTdHJh
dGVneSk6CisgICAgICAgIChQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRTo6Y3JlYXRlVmlzaXRlZExp
bmtTdHJhdGVneSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVz
V2luQ0UuaDoKKwogMjAxMi0xMC0xMCAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW1dLMl0gQWN0aXZhdGUgcGx1Z2lucyB3aGVuIHVzZXIgY2xpY2tzIG9uIHNuYXBzaG90
CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRl
Z2llc1dpbkNFLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVT
dXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmNwcAkocmV2aXNpb24gMTMyMjY0KQorKysg
U291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5D
RS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDE5ICs0OCwyNCBAQCBDb29raWVzU3RyYXRlZ3kq
IFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFCiAgICAgcmV0dXJuIHRoaXM7CiB9CiAKK1Bhc3RlYm9h
cmRTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0U6OmNyZWF0ZVBhc3RlYm9hcmRTdHJh
dGVneSgpCit7CisgICAgcmV0dXJuIDA7Cit9CisKIFBsdWdpblN0cmF0ZWd5KiBQbGF0Zm9ybVN0
cmF0ZWdpZXNXaW5DRTo6Y3JlYXRlUGx1Z2luU3RyYXRlZ3koKQogewogICAgIHJldHVybiB0aGlz
OwogfQogCi1WaXNpdGVkTGlua1N0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRTo6Y3Jl
YXRlVmlzaXRlZExpbmtTdHJhdGVneSgpCitTaGFyZWRXb3JrZXJTdHJhdGVneSogUGxhdGZvcm1T
dHJhdGVnaWVzV2luQ0U6OmNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCkKIHsKICAgICByZXR1
cm4gdGhpczsKIH0KIAotUGFzdGVib2FyZFN0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5D
RTo6Y3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCkKK1Zpc2l0ZWRMaW5rU3RyYXRlZ3kqIFBsYXRm
b3JtU3RyYXRlZ2llc1dpbkNFOjpjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkKIHsKLSAgICBy
ZXR1cm4gMDsKKyAgICByZXR1cm4gdGhpczsKIH0KIAogdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNX
aW5DRTo6bm90aWZ5Q29va2llc0NoYW5nZWQoKQpJbmRleDogU291cmNlL1dlYktpdC93aW5jZS9X
ZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0Uu
aAkocmV2aXNpb24gMTMyMjY0KQorKysgU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9y
dC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw5ICsyOCwx
MCBAQAogI2luY2x1ZGUgIkNvb2tpZXNTdHJhdGVneS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
YXRlZ2llcy5oIgogI2luY2x1ZGUgIlBsdWdpblN0cmF0ZWd5LmgiCisjaW5jbHVkZSAiU2hhcmVk
V29ya2VyU3RyYXRlZ3kuaCIKICNpbmNsdWRlICJWaXNpdGVkTGlua1N0cmF0ZWd5LmgiCiAKLWNs
YXNzIFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFIDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3Ry
YXRlZ2llcywgcHJpdmF0ZSBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29y
ZTo6UGx1Z2luU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneSB7
CitjbGFzcyBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRSA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9y
bVN0cmF0ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5LCBwcml2YXRlIFdl
YkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlNoYXJlZFdvcmtlclN0cmF0
ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kgewogcHVibGljOgogICAg
IHN0YXRpYyB2b2lkIGluaXRpYWxpemUoKTsKIApAQCAtMzksOSArNDAsMTAgQEAgcHJpdmF0ZToK
IAogICAgIC8vIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcwogICAgIHZpcnR1YWwgV2ViQ29y
ZTo6Q29va2llc1N0cmF0ZWd5KiBjcmVhdGVDb29raWVzU3RyYXRlZ3koKTsKKyAgICB2aXJ0dWFs
IFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVneSogY3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCk7
CiAgICAgdmlydHVhbCBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneSogY3JlYXRlUGx1Z2luU3RyYXRl
Z3koKTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlNoYXJlZFdvcmtlclN0cmF0ZWd5KiBjcmVhdGVT
aGFyZWRXb3JrZXJTdHJhdGVneSgpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6VmlzaXRlZExpbmtT
dHJhdGVneSogY3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpOwotICAgIHZpcnR1YWwgV2ViQ29y
ZTo6UGFzdGVib2FyZFN0cmF0ZWd5KiBjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKTsKIAogICAg
IC8vIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneQogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlDb29r
aWVzQ2hhbmdlZCgpOwo=
</data>
<flag name="commit-queue"
          id="183852"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170331</attachid>
            <date>2012-10-24 00:03:41 -0700</date>
            <delta_ts>2012-10-24 08:52:52 -0700</delta_ts>
            <desc>with EFL build fix</desc>
            <filename>AddSharedWorkerStrategy2.txt</filename>
            <type>text/plain</type>
            <size>38951</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjI3NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDEyLTEwLTIzICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIHN0cmF0ZWd5IGZv
ciBzaGFyZWQgd29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAwMTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWxzbyBhIGxpdHRsZSBiaXQgb2YgYWxwaGFiZXRpemF0aW9uLgorCisgICAgICAg
ICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBwbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAgICAgKiB3b3JrZXJzL1NoYXJl
ZFdvcmtlclN0cmF0ZWd5Lmg6IEFkZGVkLgorCiAyMDEyLTEwLTIzICBTaW1vbiBGcmFzZXIgIDxz
aW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFsbG93IHRlc3RzIHRvIHJ1biB3aXRo
IGEgdGlsZSBjYWNoZSwgYW5kIG9wdGlvbmFsbHkgZHVtcCB0aGUgdGlsZSBjYWNoZSB2aWEgbGF5
ZXJUcmVlQXNUZXh0KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDEzMjI2NCkKKysr
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMzI4LDYgKzMy
OCw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0vU2VhcmNoUG9wdXBNZW51LmgnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9T
aGFyZWRCdWZmZXJDaHVua1JlYWRlci5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9TaGFyZWRX
b3JrZXJTdHJhdGVneS5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9TdGF0c0NvdW50ZXIuaCcs
CiAgICAgICAgICAgICAncGxhdGZvcm0vU3VwcGxlbWVudGFibGUuaCcsCiAgICAgICAgICAgICAn
cGxhdGZvcm0vU3lzdGVtVGltZS5oJywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiAxMzIyNjQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtMjg3NTks
NiArMjg3NTksMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZl
UGF0aD0iLi5ccGxhdGZvcm1cU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cU291bmQuaCIKIAkJ
CQk+CiAJCQk8L0ZpbGU+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxMzIyNjQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTYw
ODYsNiArNjA4Niw3IEBACiAJCUUxQjI1MTA2MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVByb3Bl
cnR5U2hvcnRoYW5kLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUxQjI1MTA0MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVByb3BlcnR5U2hvcnRoYW5k
LmNwcCAqLzsgfTsKIAkJRTFCMjUxMDcxNTJBMEJCMDAwNjlCNzc5IC8qIFN0eWxlUHJvcGVydHlT
aG9ydGhhbmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUxQjI1MTA1MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmggKi87
IH07CiAJCUUxQjRDRDI1MTBCMzIyRTIwMEJGRkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQjRDRDI0
MTBCMzIyRTIwMEJGRkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5tbSAqLzsgfTsKKwkJRTFC
NzgzOUMxNjM3NDBBNzAwMDdCNjkyIC8qIFNoYXJlZFdvcmtlclN0cmF0ZWd5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUI3ODM5QjE2Mzc0MEE3MDAw
N0I2OTIgLyogU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFMUJFNTEyRDBDRjZDNTEyMDAyRUE5NTkgLyogWFNM
VFVuaWNvZGVTb3J0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUxQkU1MTJCMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuY3BwICov
OyB9OwogCQlFMUJFNTEyRTBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUJFNTEyQzBDRjZD
NTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmggKi87IH07CiAJCUUxQzJGMjRBMTUzM0Ey
MTIwMDgzRjk3NCAvKiBTZXR0aW5nc01hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUxQzJGMjQ4MTUzM0EyMTIwMDgzRjk3NCAvKiBTZXR0aW5nc01h
Yy5tbSAqLzsgfTsKQEAgLTg2OTEsNiArODY5Miw4IEBACiAJCTUwM0QwQ0E4MTRCNUIwODcwMEYz
MkY1NyAvKiBDdXN0b21GaWx0ZXJQcm9ncmFtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IEN1c3RvbUZpbHRlclByb2dyYW0uaDsgcGF0aCA9IGZpbHRlcnMvQ3VzdG9tRmlsdGVy
UHJvZ3JhbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MDNEMENBOTE0QjVCMDg3
MDBGMzJGNTcgLyogQ3VzdG9tRmlsdGVyUHJvZ3JhbUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBDdXN0b21GaWx0ZXJQcm9ncmFtQ2xpZW50Lmg7IHBhdGggPSBmaWx0
ZXJzL0N1c3RvbUZpbHRlclByb2dyYW1DbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNTAzRDBDQUQxNEI1QjBCQTAwRjMyRjU3IC8qIFN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3Jh
bS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTdHlsZUN1c3RvbUZpbHRlclBy
b2dyYW0uaDsgcGF0aCA9IHN0eWxlL1N0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk1MDgxRTNERjNDRkM4MEMxNkVGOEI0OEIgLyogQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBDYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk1MDgxRTNFMTNEMDI4MEMxNkVGOEI0OEIgLyogQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRSZXNvdXJjZVJlcXVlc3QuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTA4Q0NBNEQxM0NGMTA2QjAwMzE1MUYzIC8q
IFJlbmRlckZsb3dUaHJlYWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVu
ZGVyRmxvd1RocmVhZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MDhDQ0E0RTEz
Q0YxMDZCMDAzMTUxRjMgLyogUmVuZGVyRmxvd1RocmVhZC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJGbG93VGhyZWFkLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTA5ODdDMjQxNTdENjc2RDAwQkRBODM1IC8qIEN1c3RvbUZpbHRlckds
b2JhbENvbnRleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gQ3Vz
dG9tRmlsdGVyR2xvYmFsQ29udGV4dC5jcHA7IHBhdGggPSBmaWx0ZXJzL0N1c3RvbUZpbHRlckds
b2JhbENvbnRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTI5NjUsOCAr
MTI5NjgsNiBAQAogCQlCQ0IxNkMwRjA5NzlDM0JEMDA0Njc3NDEgLyogQ2FjaGVkWFNMU3R5bGVT
aGVldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkWFNMU3R5bGVT
aGVldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0IxNkMxMDA5NzlDM0JEMDA0
Njc3NDEgLyogQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IENhY2hlZFJlc291cmNlTG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQkNCMTZDMTEwOTc5QzNCRDAwNDY3NzQxIC8qIENhY2hlZFJlc291cmNl
TG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRSZXNvdXJj
ZUxvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1MDgxRTNERjNDRkM4MEMx
NkVGOEI0OEIgLyogQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQk1MDgxRTNFMTNEMDI4MEMxNkVGOEI0OEIgLyogQ2FjaGVkUmVz
b3VyY2VSZXF1ZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRS
ZXNvdXJjZVJlcXVlc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNCNzczNUUw
QzE3ODUzRDAwMTMyQkE0IC8qIEpTTm9kZUZpbHRlckNvbmRpdGlvbi5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOb2RlRmlsdGVyQ29uZGl0aW9uLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNCNzczNUYwQzE3ODUzRDAwMTMyQkE0IC8qIEpT
Tm9kZUZpbHRlckNvbmRpdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNOb2RlRmlsdGVyQ29uZGl0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJD
Qjc3MzYwMEMxNzg1M0QwMDEzMkJBNCAvKiBKU05vZGVGaWx0ZXJDdXN0b20uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTm9kZUZpbHRlckN1c3RvbS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzQ5OCw2ICsxMzQ5OSw3IEBACiAJCUUxQjI1
MTA0MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUIyNTEwNTE1MkEwQkFGMDA2OUI3Nzkg
LyogU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUxQjRDRDI0MTBCMzIyRTIwMEJGRkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENyZWRlbnRpYWxTdG9yYWdl
TWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMUI3ODM5QjE2Mzc0MEE3MDAw
N0I2OTIgLyogU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gU2hhcmVkV29ya2VyU3RyYXRlZ3kuaDsgcGF0aCA9IHdvcmtlcnMvU2hhcmVkV29y
a2VyU3RyYXRlZ3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFCRTUxMkIwQ0Y2
QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBYU0xUVW5pY29kZVNvcnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFMUJFNTEyQzBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhTTFRVbmljb2RlU29ydC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUMyRjI0ODE1MzNBMjEyMDA4M0Y5NzQgLyogU2V0
dGluZ3NNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTZXR0
aW5nc01hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0OTM2LDYgKzE0OTM4
LDcgQEAKIAkJCQk0MUQxNjhFMDEwMjI2RTg5MDA5QkM4MjcgLyogU2hhcmVkV29ya2VyQ29udGV4
dC5oICovLAogCQkJCTQxRDE2OEUxMTAyMjZFODkwMDlCQzgyNyAvKiBTaGFyZWRXb3JrZXJDb250
ZXh0LmlkbCAqLywKIAkJCQk0MUQxNjhFMjEwMjI2RTg5MDA5QkM4MjcgLyogU2hhcmVkV29ya2Vy
UmVwb3NpdG9yeS5oICovLAorCQkJCUUxQjc4MzlCMTYzNzQwQTcwMDA3QjY5MiAvKiBTaGFyZWRX
b3JrZXJTdHJhdGVneS5oICovLAogCQkJCTQxRDE2OEU1MTAyMjZFODkwMDlCQzgyNyAvKiBTaGFy
ZWRXb3JrZXJUaHJlYWQuY3BwICovLAogCQkJCTQxRDE2OEU2MTAyMjZFODkwMDlCQzgyNyAvKiBT
aGFyZWRXb3JrZXJUaHJlYWQuaCAqLywKIAkJCQkyRTQzNDYzMzBGNTQ2QTgyMDBCMEYxQkEgLyog
V29ya2VyLmNwcCAqLywKQEAgLTI1NjQ5LDYgKzI1NjUyLDcgQEAKIAkJCQk3RTVEN0E3NzE2MUQz
RjhGMDA4OTZDMzQgLyogT0VTRWxlbWVudEluZGV4VWludC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
N0U0NkY2RkIxNjI3QTJDQTAwMDYyMjIzIC8qIEpTT0VTRWxlbWVudEluZGV4VWludC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTQ3MTI3Q0IxNjM0MzhBRTAwRUQ2RjVBIC8qIFN0eWxlSW52YWxpZGF0
aW9uQW5hbHlzaXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUUxQjc4MzlDMTYzNzQwQTcwMDA3QjY5
MiAvKiBTaGFyZWRXb3JrZXJTdHJhdGVneS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVu
T25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaAkocmV2aXNpb24gMTMyMjY0
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMCwgMjAxMSwg
MjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTMzLDYgKzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3Mg
Q29va2llc1N0cmF0ZWd5OwogY2xhc3MgUGFzdGVib2FyZFN0cmF0ZWd5OwogY2xhc3MgUGx1Z2lu
U3RyYXRlZ3k7CitjbGFzcyBTaGFyZWRXb3JrZXJTdHJhdGVneTsKIGNsYXNzIFZpc2l0ZWRMaW5r
U3RyYXRlZ3k7CiAKIGNsYXNzIFBsYXRmb3JtU3RyYXRlZ2llcyB7CkBAIC00NCw2ICs0NSwxMyBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX2Nvb2tpZXNTdHJhdGVneTsKICAgICB9CiAKKyAg
ICBQYXN0ZWJvYXJkU3RyYXRlZ3kqIHBhc3RlYm9hcmRTdHJhdGVneSgpCisgICAgeworICAgICAg
ICBpZiAoIW1fcGFzdGVib2FyZFN0cmF0ZWd5KQorICAgICAgICAgICAgbV9wYXN0ZWJvYXJkU3Ry
YXRlZ3kgPSBjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKTsKKyAgICAgICAgcmV0dXJuIG1fcGFz
dGVib2FyZFN0cmF0ZWd5OworICAgIH0KKwogICAgIFBsdWdpblN0cmF0ZWd5KiBwbHVnaW5TdHJh
dGVneSgpCiAgICAgewogICAgICAgICBpZiAoIW1fcGx1Z2luU3RyYXRlZ3kpCkBAIC01MSwyNSAr
NTksMjcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV9wbHVnaW5TdHJhdGVneTsKICAgICB9
CiAKKyAgICBTaGFyZWRXb3JrZXJTdHJhdGVneSogc2hhcmVkV29ya2VyU3RyYXRlZ3koKQorICAg
IHsKKyAgICAgICAgaWYgKCFtX3NoYXJlZFdvcmtlclN0cmF0ZWd5KQorICAgICAgICAgICAgbV9z
aGFyZWRXb3JrZXJTdHJhdGVneSA9IGNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCk7CisgICAg
ICAgIHJldHVybiBtX3NoYXJlZFdvcmtlclN0cmF0ZWd5OworICAgIH0KKwogICAgIFZpc2l0ZWRM
aW5rU3RyYXRlZ3kqIHZpc2l0ZWRMaW5rU3RyYXRlZ3koKQogICAgIHsKICAgICAgICAgaWYgKCFt
X3Zpc2l0ZWRMaW5rU3RyYXRlZ3kpCiAgICAgICAgICAgICBtX3Zpc2l0ZWRMaW5rU3RyYXRlZ3kg
PSBjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCk7CiAgICAgICAgIHJldHVybiBtX3Zpc2l0ZWRM
aW5rU3RyYXRlZ3k7CiAgICAgfQotICAgIFBhc3RlYm9hcmRTdHJhdGVneSogcGFzdGVib2FyZFN0
cmF0ZWd5KCkKLSAgICB7Ci0gICAgICAgIGlmICghbV9wYXN0ZWJvYXJkU3RyYXRlZ3kpCi0gICAg
ICAgICAgICBtX3Bhc3RlYm9hcmRTdHJhdGVneSA9IGNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgp
OwotICAgICAgICByZXR1cm4gbV9wYXN0ZWJvYXJkU3RyYXRlZ3k7Ci0gICAgfQogCiBwcm90ZWN0
ZWQ6CiAgICAgUGxhdGZvcm1TdHJhdGVnaWVzKCkKICAgICAgICAgOiBtX2Nvb2tpZXNTdHJhdGVn
eSgwKQorICAgICAgICAsIG1fcGFzdGVib2FyZFN0cmF0ZWd5KDApCiAgICAgICAgICwgbV9wbHVn
aW5TdHJhdGVneSgwKQorICAgICAgICAsIG1fc2hhcmVkV29ya2VyU3RyYXRlZ3koMCkKICAgICAg
ICAgLCBtX3Zpc2l0ZWRMaW5rU3RyYXRlZ3koMCkKLSAgICAgICAgLCBtX3Bhc3RlYm9hcmRTdHJh
dGVneSgwKQogICAgIHsKICAgICB9CiAKQEAgLTc5LDE0ICs4OSwxNiBAQCBwcm90ZWN0ZWQ6CiAK
IHByaXZhdGU6CiAgICAgdmlydHVhbCBDb29raWVzU3RyYXRlZ3kqIGNyZWF0ZUNvb2tpZXNTdHJh
dGVneSgpID0gMDsKKyAgICB2aXJ0dWFsIFBhc3RlYm9hcmRTdHJhdGVneSogY3JlYXRlUGFzdGVi
b2FyZFN0cmF0ZWd5KCkgPSAwOwogICAgIHZpcnR1YWwgUGx1Z2luU3RyYXRlZ3kqIGNyZWF0ZVBs
dWdpblN0cmF0ZWd5KCkgPSAwOworICAgIHZpcnR1YWwgU2hhcmVkV29ya2VyU3RyYXRlZ3kqIGNy
ZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCkgPSAwOwogICAgIHZpcnR1YWwgVmlzaXRlZExpbmtT
dHJhdGVneSogY3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpID0gMDsKLSAgICB2aXJ0dWFsIFBh
c3RlYm9hcmRTdHJhdGVneSogY3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCkgPSAwOyAKIAogICAg
IENvb2tpZXNTdHJhdGVneSogbV9jb29raWVzU3RyYXRlZ3k7CisgICAgUGFzdGVib2FyZFN0cmF0
ZWd5KiBtX3Bhc3RlYm9hcmRTdHJhdGVneTsKICAgICBQbHVnaW5TdHJhdGVneSogbV9wbHVnaW5T
dHJhdGVneTsKKyAgICBTaGFyZWRXb3JrZXJTdHJhdGVneSogbV9zaGFyZWRXb3JrZXJTdHJhdGVn
eTsKICAgICBWaXNpdGVkTGlua1N0cmF0ZWd5KiBtX3Zpc2l0ZWRMaW5rU3RyYXRlZ3k7Ci0gICAg
UGFzdGVib2FyZFN0cmF0ZWd5KiBtX3Bhc3RlYm9hcmRTdHJhdGVneTsKIH07CiAKIFBsYXRmb3Jt
U3RyYXRlZ2llcyogcGxhdGZvcm1TdHJhdGVnaWVzKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1NoYXJlZFdvcmtlclN0cmF0ZWd5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvd29ya2Vycy9TaGFyZWRXb3JrZXJTdHJhdGVneS5oCShyZXZpc2lvbiAwKQorKysgU291cmNl
L1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJTdHJhdGVneS5oCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBTaGFyZWRXb3JrZXJTdHJhdGVneV9o
CisjZGVmaW5lIFNoYXJlZFdvcmtlclN0cmF0ZWd5X2gKKworI2lmIFVTRShQTEFURk9STV9TVFJB
VEVHSUVTKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAgCitjbGFzcyBTaGFyZWRXb3JrZXJT
dHJhdGVneSB7CitwdWJsaWM6Citwcm90ZWN0ZWQ6CisgICAgdmlydHVhbCB+U2hhcmVkV29ya2Vy
U3RyYXRlZ3koKQorICAgIHsKKyAgICB9Cit9OworCit9CisjZW5kaWYgLy8gVVNFKFBMQVRGT1JN
X1NUUkFURUdJRVMpCisKKyNlbmRpZiAvLyBTaGFyZWRXb3JrZXJTdHJhdGVneV9oCgpQcm9wZXJ0
eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlclN0cmF0ZWd5
LmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cJKHJldmlzaW9uIDEzMjI3NikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTEwLTIzICBBbGV4ZXkgUHJvc2t1cnlh
a292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIHN0cmF0ZWd5IGZvciBzaGFyZWQg
d29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAwMTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlUGFzdGVib2FyZFN0
cmF0ZWd5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVT
aGFyZWRXb3JrZXJTdHJhdGVneSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsYXRmb3JtU3RyYXRl
Z2llczo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKwogMjAxMi0xMC0yMyAgTm8n
YW0gUm9zZW50aGFsICA8bm9hbS5yb3NlbnRoYWxAbm9raWEuY29tPgogCiAgICAgICAgIENvb3Jk
aW5hdGVkIEdyYXBoaWNzOiBFbmFibGUgdGhyZWFkZWQvSVBDIGFuaW1hdGlvbnMKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAJKHJldmlzaW9uIDEzMjI2NCkKKysrIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjgsMTcgKzY4LDIyIEBAIENvb2tpZXNTdHJhdGVn
eSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjoKICAgICByZXR1cm4gdGhpczsKIH0KIAorUGFzdGVi
b2FyZFN0cmF0ZWd5KiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZVBhc3RlYm9hcmRTdHJh
dGVneSgpCit7CisgICAgcmV0dXJuIHRoaXM7Cit9CisKIFBsdWdpblN0cmF0ZWd5KiBXZWJQbGF0
Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4gdGhp
czsKIH0KIAotVmlzaXRlZExpbmtTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVh
dGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkKK1NoYXJlZFdvcmtlclN0cmF0ZWd5KiBXZWJQbGF0Zm9y
bVN0cmF0ZWdpZXM6OmNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4g
dGhpczsKIH0KIAotUGFzdGVib2FyZFN0cmF0ZWd5KiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNy
ZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpCitWaXNpdGVkTGlua1N0cmF0ZWd5KiBXZWJQbGF0Zm9y
bVN0cmF0ZWdpZXM6OmNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKQogewogICAgIHJldHVybiB0
aGlzOwogfQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCShyZXZpc2lvbiAx
MzIyNjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBs
YXRmb3JtU3RyYXRlZ2llcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiwxMSArMzIsMTIgQEAKICNp
bmNsdWRlIDxXZWJDb3JlL1Bhc3RlYm9hcmRTdHJhdGVneS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UGxhdGZvcm1TdHJhdGVnaWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5TdHJhdGVneS5o
PgorI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkV29ya2VyU3RyYXRlZ3kuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1Zpc2l0ZWRMaW5rU3RyYXRlZ3kuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNs
YXNzIFdlYlBsYXRmb3JtU3RyYXRlZ2llcyA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0
ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6
OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3ksIHBy
aXZhdGUgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5IHsKK2NsYXNzIFdlYlBsYXRmb3JtU3Ry
YXRlZ2llcyA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMsIHByaXZhdGUgV2Vi
Q29yZTo6Q29va2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVn
eSwgcHJpdmF0ZSBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpTaGFy
ZWRXb3JrZXJTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5IHsK
IHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplKCk7CiAgICAgCkBAIC00NSw5ICs0
NiwxMCBAQCBwcml2YXRlOgogICAgIAogICAgIC8vIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2ll
cwogICAgIHZpcnR1YWwgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5KiBjcmVhdGVDb29raWVzU3Ry
YXRlZ3koKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVn
eSogY3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBXZWJD
b3JlOjpQbHVnaW5TdHJhdGVneSogY3JlYXRlUGx1Z2luU3RyYXRlZ3koKSBPVkVSUklERTsKKyAg
ICB2aXJ0dWFsIFdlYkNvcmU6OlNoYXJlZFdvcmtlclN0cmF0ZWd5KiBjcmVhdGVTaGFyZWRXb3Jr
ZXJTdHJhdGVneSgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6VmlzaXRlZExpbmtT
dHJhdGVneSogY3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpIE9WRVJSSURFOwotICAgIHZpcnR1
YWwgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5KiBjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3ko
KSBPVkVSUklERTsKIAogICAgIC8vIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneQogICAgIHZpcnR1
YWwgdm9pZCBub3RpZnlDb29raWVzQ2hhbmdlZCgpIE9WRVJSSURFOwpJbmRleDogU291cmNlL1dl
YktpdC9lZmwvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZWZsL0NoYW5n
ZUxvZwkocmV2aXNpb24gMTMyMjc2KQorKysgU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTAtMjMgIEFsZXhleSBQcm9za3Vy
eWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgc3RyYXRlZ3kgZm9yIHNoYXJl
ZCB3b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDAxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5jcHA6CisgICAgICAgIChQ
bGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSk6CisgICAgICAg
IChQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KToKKyAg
ICAgICAgKFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSk6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmg6CisKIDIw
MTItMTAtMjMgIEFuZHJhcyBCZWNzaSAgPGFuZHJhcy5iZWNzaUBkaWdpYS5jb20+CiAKICAgICAg
ICAgUmVtb3ZlIGRldmljZVBpeGVsUmF0aW8gZnJvbSBWaWV3cG9ydEF0dHJpYnV0ZXMKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZv
cm1TdHJhdGVnaWVzRWZsLmNwcAkocmV2aXNpb24gMTMyMjY0KQorKysgU291cmNlL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDQsMjcgKzQ0LDMwIEBAIFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6UGxhdGZvcm1TdHJh
dGVnaWUKIHsKIH0KIAotLy8gQ29va2llc1N0cmF0ZWd5CiBDb29raWVzU3RyYXRlZ3kqIFBsYXRm
b3JtU3RyYXRlZ2llc0VmbDo6Y3JlYXRlQ29va2llc1N0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4g
dGhpczsKIH0KIAotLy8gUGx1Z2luU3RyYXRlZ3kKK1Bhc3RlYm9hcmRTdHJhdGVneSogUGxhdGZv
cm1TdHJhdGVnaWVzRWZsOjpjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKQoreworICAgIG5vdElt
cGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKIFBsdWdpblN0cmF0ZWd5KiBQbGF0Zm9y
bVN0cmF0ZWdpZXNFZmw6OmNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4gdGhp
czsKIH0KIAotVmlzaXRlZExpbmtTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVzRWZsOjpjcmVh
dGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkKK1NoYXJlZFdvcmtlclN0cmF0ZWd5KiBQbGF0Zm9ybVN0
cmF0ZWdpZXNFZmw6OmNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCkKIHsKICAgICByZXR1cm4g
dGhpczsKIH0KIAotUGFzdGVib2FyZFN0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmNy
ZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpCitWaXNpdGVkTGlua1N0cmF0ZWd5KiBQbGF0Zm9ybVN0
cmF0ZWdpZXNFZmw6OmNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKQogewotICAgIG5vdEltcGxl
bWVudGVkKCk7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHRoaXM7CiB9CiAKIC8vIENvb2tp
ZXNTdHJhdGVneQpJbmRleDogU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZv
cm1TdHJhdGVnaWVzRWZsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmgJKHJldmlzaW9uIDEzMjI2NCkKKysrIFNv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yNCw5ICsyNCwxMCBAQAogI2luY2x1ZGUgIlBhc3RlYm9hcmRTdHJh
dGVneS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyYXRlZ2llcy5oIgogI2luY2x1ZGUgIlBsdWdp
blN0cmF0ZWd5LmgiCisjaW5jbHVkZSAiU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCIKICNpbmNsdWRl
ICJWaXNpdGVkTGlua1N0cmF0ZWd5LmgiCiAKLWNsYXNzIFBsYXRmb3JtU3RyYXRlZ2llc0VmbCA6
IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29v
a2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdl
YkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kgeworY2xhc3MgUGxhdGZvcm1TdHJhdGVnaWVzRWZs
IDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywgcHJpdmF0ZSBXZWJDb3JlOjpD
b29raWVzU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3ksIHByaXZhdGUg
V2ViQ29yZTo6U2hhcmVkV29ya2VyU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6VmlzaXRlZExp
bmtTdHJhdGVneSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZSgpOwogCkBA
IC0zNSw5ICszNiwxMCBAQCBwcml2YXRlOgogCiAgICAgLy8gV2ViQ29yZTo6UGxhdGZvcm1TdHJh
dGVnaWVzCiAgICAgdmlydHVhbCBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kqIGNyZWF0ZUNvb2tp
ZXNTdHJhdGVneSgpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5KiBj
cmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OlBsdWdpblN0
cmF0ZWd5KiBjcmVhdGVQbHVnaW5TdHJhdGVneSgpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6U2hh
cmVkV29ya2VyU3RyYXRlZ3kqIGNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCk7CiAgICAgdmly
dHVhbCBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5KiBjcmVhdGVWaXNpdGVkTGlua1N0cmF0
ZWd5KCk7Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kqIGNyZWF0ZVBh
c3RlYm9hcmRTdHJhdGVneSgpOwogCiAgICAgLy8gV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5CiAg
ICAgdmlydHVhbCB2b2lkIG5vdGlmeUNvb2tpZXNDaGFuZ2VkKCk7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9ndGsvQ2hhbmdl
TG9nCShyZXZpc2lvbiAxMzIyNzYpCisrKyBTb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0xMC0yMyAgQWxleGV5IFByb3NrdXJ5
YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSBzdHJhdGVneSBmb3Igc2hhcmVk
IHdvcmtlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwMDE2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNwcDoKKyAgICAgICAgKFBs
YXRmb3JtU3RyYXRlZ2llc0d0azo6Y3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KToKKyAgICAgICAg
KFBsYXRmb3JtU3RyYXRlZ2llc0d0azo6Y3JlYXRlU2hhcmVkV29ya2VyU3RyYXRlZ3kpOgorICAg
ICAgICAoUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjpjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuaDoKKwogMjAx
Mi0xMC0yMyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZC4gVXBkYXRlIE5FV1MgYW5kIGNvbmZpZ3VyZS5hYyBmb3IgMS4xMS4x
IHJlbGVhc2UKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3Jt
U3RyYXRlZ2llc0d0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNwcAkocmV2aXNpb24gMTMyMjY0KQorKysg
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDIsMjEgKzQyLDI2IEBAIENvb2tpZXNTdHJhdGVneSogUGxh
dGZvcm1TdHJhdGVnaWVzR3RrOjoKICAgICByZXR1cm4gdGhpczsKIH0KIAorUGFzdGVib2FyZFN0
cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgp
Cit7CisgICAgLy8gVGhpcyBpcyBjdXJyZW50bHkgdXNlZCBvbmx5IGJ5IE1hYyBjb2RlLgorICAg
IG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKIFBsdWdpblN0cmF0ZWd5KiBQ
bGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkKIHsKICAgICByZXR1
cm4gdGhpczsKIH0KIAotVmlzaXRlZExpbmtTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVzR3Rr
OjpjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkKK1NoYXJlZFdvcmtlclN0cmF0ZWd5KiBQbGF0
Zm9ybVN0cmF0ZWdpZXNHdGs6OmNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCkKIHsKICAgICBy
ZXR1cm4gdGhpczsKIH0KIAotUGFzdGVib2FyZFN0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNH
dGs6OmNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpCitWaXNpdGVkTGlua1N0cmF0ZWd5KiBQbGF0
Zm9ybVN0cmF0ZWdpZXNHdGs6OmNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKQogewotICAgIC8v
IFRoaXMgaXMgY3VycmVudGx5IHVzZWQgb25seSBieSBtYWMgY29kZS4KLSAgICBub3RJbXBsZW1l
bnRlZCgpOwotICAgIHJldHVybiAwOworICAgIHJldHVybiB0aGlzOwogfQogCiAvLyBDb29raWVz
U3RyYXRlZ3kKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3Jt
U3RyYXRlZ2llc0d0ay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5oCShyZXZpc2lvbiAxMzIyNjQpCisrKyBTb3Vy
Y2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuaAkod29y
a2luZyBjb3B5KQpAQCAtMjMsOSArMjMsMTAgQEAKICNpbmNsdWRlICJQYXN0ZWJvYXJkU3RyYXRl
Z3kuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKICNpbmNsdWRlICJQbHVnaW5T
dHJhdGVneS5oIgorI2luY2x1ZGUgIlNoYXJlZFdvcmtlclN0cmF0ZWd5LmgiCiAjaW5jbHVkZSAi
VmlzaXRlZExpbmtTdHJhdGVneS5oIgogCi1jbGFzcyBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGsgOiBw
dWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzLCBwcml2YXRlIFdlYkNvcmU6OkNvb2tp
ZXNTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneSwgcHJpdmF0ZSBXZWJD
b3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5IHsKK2NsYXNzIFBsYXRmb3JtU3RyYXRlZ2llc0d0ayA6
IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29v
a2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdl
YkNvcmU6OlNoYXJlZFdvcmtlclN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5r
U3RyYXRlZ3kgewogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemUoKTsKIApAQCAt
MzQsOSArMzUsMTAgQEAgcHJpdmF0ZToKIAogICAgIC8vIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRl
Z2llcwogICAgIHZpcnR1YWwgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5KiBjcmVhdGVDb29raWVz
U3RyYXRlZ3koKTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVneSogY3Jl
YXRlUGFzdGVib2FyZFN0cmF0ZWd5KCk7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpQbHVnaW5TdHJh
dGVneSogY3JlYXRlUGx1Z2luU3RyYXRlZ3koKTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlNoYXJl
ZFdvcmtlclN0cmF0ZWd5KiBjcmVhdGVTaGFyZWRXb3JrZXJTdHJhdGVneSgpOwogICAgIHZpcnR1
YWwgV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneSogY3JlYXRlVmlzaXRlZExpbmtTdHJhdGVn
eSgpOwotICAgIHZpcnR1YWwgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5KiBjcmVhdGVQYXN0
ZWJvYXJkU3RyYXRlZ3koKTsKIAogICAgIC8vIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneQogICAg
IHZpcnR1YWwgdm9pZCBub3RpZnlDb29raWVzQ2hhbmdlZCgpOwpJbmRleDogU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwkocmV2aXNpb24gMTMyMjc2KQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTAtMjMgIEFsZXhleSBQcm9za3VyeWFr
b3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgc3RyYXRlZ3kgZm9yIHNoYXJlZCB3
b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDAxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oOgorICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbToKKyAgICAgICAgKFdlYlBsYXRmb3Jt
U3RyYXRlZ2llczo6Y3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KToKKyAgICAgICAgKFdlYlBsYXRm
b3JtU3RyYXRlZ2llczo6Y3JlYXRlU2hhcmVkV29ya2VyU3RyYXRlZ3kpOgorICAgICAgICAoV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KToKKwogMjAxMi0x
MC0yMyAgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHJlc29sdXRpb24gbWVkaWEgcXVlcnkKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3Jt
U3RyYXRlZ2llcy5oCShyZXZpc2lvbiAxMzIyNjQpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzAs
OSArMzAsMTAgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1Bhc3RlYm9hcmRTdHJhdGVneS5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1TdHJhdGVnaWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Q
bHVnaW5TdHJhdGVneS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkV29ya2VyU3RyYXRlZ3ku
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1Zpc2l0ZWRMaW5rU3RyYXRlZ3kuaD4KIAotY2xhc3MgV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzIDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywg
cHJpdmF0ZSBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6UGx1Z2lu
U3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneSwgcHJpdmF0ZSBX
ZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kgeworY2xhc3MgV2ViUGxhdGZvcm1TdHJhdGVnaWVz
IDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywgcHJpdmF0ZSBXZWJDb3JlOjpD
b29raWVzU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5LCBwcml2
YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlNoYXJlZFdvcmtl
clN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kgewogcHVibGlj
OgogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemUoKTsKICAgICAKQEAgLTQxLDkgKzQyLDEwIEBA
IHByaXZhdGU6CiAgICAgCiAgICAgLy8gV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzCiAgICAg
dmlydHVhbCBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kqIGNyZWF0ZUNvb2tpZXNTdHJhdGVneSgp
IE9WRVJSSURFOworICAgIHZpcnR1YWwgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5KiBjcmVh
dGVQYXN0ZWJvYXJkU3RyYXRlZ3koKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OlBs
dWdpblN0cmF0ZWd5KiBjcmVhdGVQbHVnaW5TdHJhdGVneSgpIE9WRVJSSURFOworICAgIHZpcnR1
YWwgV2ViQ29yZTo6U2hhcmVkV29ya2VyU3RyYXRlZ3kqIGNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0
ZWd5KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5
KiBjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBXZWJD
b3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kqIGNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpIE9WRVJS
SURFOwogCiAgICAgLy8gV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5CiAgICAgdmlydHVhbCB2b2lk
IG5vdGlmeUNvb2tpZXNDaGFuZ2VkKCkgT1ZFUlJJREU7CkBAIC03Miw3ICs3NCw2IEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCB2b2lkIHNldEJ1ZmZlckZvclR5cGUoUGFzc1JlZlB0cjxXZWJDb3Jl
OjpTaGFyZWRCdWZmZXI+LCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlLCBjb25zdCBTdHJp
bmcmIHBhc3RlYm9hcmROYW1lKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGF0aG5h
bWVzRm9yVHlwZShjb25zdCBWZWN0b3I8U3RyaW5nPiYsIGNvbnN0IFN0cmluZyYgcGFzdGVib2Fy
ZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpIE9WRVJSSURFOwogICAgIHZpcnR1
YWwgdm9pZCBzZXRTdHJpbmdGb3JUeXBlKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYgcGFz
dGVib2FyZFR5cGUsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpIE9WRVJSSURFOwotICAg
IAogfTsKIAogI2VuZGlmIC8vIFdlYlBsYXRmb3JtU3RyYXRlZ2llc19oCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJh
dGVnaWVzLm1tCShyZXZpc2lvbiAxMzIyNjQpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTUwLDE3
ICs1MCwyMiBAQCBDb29raWVzU3RyYXRlZ3kqIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6CiAgICAg
cmV0dXJuIHRoaXM7CiB9CiAKK1Bhc3RlYm9hcmRTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVn
aWVzOjpjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKQoreworICAgIHJldHVybiB0aGlzOworfQor
CiBQbHVnaW5TdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVQbHVnaW5TdHJh
dGVneSgpCiB7CiAgICAgcmV0dXJuIHRoaXM7CiB9CiAKLVZpc2l0ZWRMaW5rU3RyYXRlZ3kqIFdl
YlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpCitTaGFyZWRX
b3JrZXJTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVTaGFyZWRXb3JrZXJT
dHJhdGVneSgpCiB7CiAgICAgcmV0dXJuIHRoaXM7CiB9CiAKLVBhc3RlYm9hcmRTdHJhdGVneSog
V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKQorVmlzaXRl
ZExpbmtTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVWaXNpdGVkTGlua1N0
cmF0ZWd5KCkKIHsKICAgICByZXR1cm4gdGhpczsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCShyZXZp
c2lvbiAxMzIyNzYpCisrKyBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTEwLTIzICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBA
YXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIHN0cmF0ZWd5IGZvciBzaGFyZWQgd29ya2Vycwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMTY1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5jcHA6CisgICAgICAgIChQbGF0Zm9ybVN0cmF0
ZWdpZXNRdDo6Y3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KToKKyAgICAgICAgKFBsYXRmb3JtU3Ry
YXRlZ2llc1F0OjpjcmVhdGVTaGFyZWRXb3JrZXJTdHJhdGVneSk6CisgICAgICAgIChQbGF0Zm9y
bVN0cmF0ZWdpZXNRdDo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSk6CisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuaDoKKwogMjAxMi0xMC0yMyAgQW5kcmFz
IEJlY3NpICA8YW5kcmFzLmJlY3NpQGRpZ2lhLmNvbT4KIAogICAgICAgICBSZW1vdmUgZGV2aWNl
UGl4ZWxSYXRpbyBmcm9tIFZpZXdwb3J0QXR0cmlidXRlcwpJbmRleDogU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5jcHAJ
KHJldmlzaW9uIDEzMjI2NCkKKysrIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxh
dGZvcm1TdHJhdGVnaWVzUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MywxOSArNjMsMjQgQEAg
Q29va2llc1N0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNRdDo6YwogICAgIHJldHVybiB0aGlz
OwogfQogCitQYXN0ZWJvYXJkU3RyYXRlZ3kqIFBsYXRmb3JtU3RyYXRlZ2llc1F0OjpjcmVhdGVQ
YXN0ZWJvYXJkU3RyYXRlZ3koKQoreworICAgIHJldHVybiAwOworfQorCiBQbHVnaW5TdHJhdGVn
eSogUGxhdGZvcm1TdHJhdGVnaWVzUXQ6OmNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkKIHsKICAgICBy
ZXR1cm4gdGhpczsKIH0KIAotVmlzaXRlZExpbmtTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVz
UXQ6OmNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKQorU2hhcmVkV29ya2VyU3RyYXRlZ3kqIFBs
YXRmb3JtU3RyYXRlZ2llc1F0OjpjcmVhdGVTaGFyZWRXb3JrZXJTdHJhdGVneSgpCiB7CiAgICAg
cmV0dXJuIHRoaXM7CiB9CiAKLVBhc3RlYm9hcmRTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVz
UXQ6OmNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpCitWaXNpdGVkTGlua1N0cmF0ZWd5KiBQbGF0
Zm9ybVN0cmF0ZWdpZXNRdDo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpCiB7Ci0gICAgcmV0
dXJuIDA7CisgICAgcmV0dXJuIHRoaXM7CiB9CiAKIHZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzUXQ6
Om5vdGlmeUNvb2tpZXNDaGFuZ2VkKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0LmgJKHJldmlzaW9uIDEzMjI2
NCkKKysrIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVz
UXQuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsMTQgKzMxLDE0IEBACiAjaW5jbHVkZSA8Q29va2ll
c1N0cmF0ZWd5Lmg+CiAjaW5jbHVkZSA8UGxhdGZvcm1TdHJhdGVnaWVzLmg+CiAjaW5jbHVkZSA8
UGx1Z2luU3RyYXRlZ3kuaD4KKyNpbmNsdWRlIDxTaGFyZWRXb3JrZXJTdHJhdGVneS5oPgogI2lu
Y2x1ZGUgPFZpc2l0ZWRMaW5rU3RyYXRlZ3kuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewotY2xh
c3MgUGFnZTsKIGNsYXNzIFBhc3RlYm9hcmRTdHJhdGVneTsKIH0KIAotY2xhc3MgUGxhdGZvcm1T
dHJhdGVnaWVzUXQgOiBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzLCBwcml2YXRl
IFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpQbHVnaW5TdHJhdGVn
eSwgcHJpdmF0ZSBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5IHsKK2NsYXNzIFBsYXRmb3Jt
U3RyYXRlZ2llc1F0IDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywgcHJpdmF0
ZSBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6UGx1Z2luU3RyYXRl
Z3ksIHByaXZhdGUgV2ViQ29yZTo6U2hhcmVkV29ya2VyU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29y
ZTo6VmlzaXRlZExpbmtTdHJhdGVneSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgaW5pdGlh
bGl6ZSgpOwogCkBAIC00Nyw5ICs0NywxMCBAQCBwcml2YXRlOgogCiAgICAgLy8gV2ViQ29yZTo6
UGxhdGZvcm1TdHJhdGVnaWVzCiAgICAgdmlydHVhbCBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kq
IGNyZWF0ZUNvb2tpZXNTdHJhdGVneSgpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6UGFzdGVib2Fy
ZFN0cmF0ZWd5KiBjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKTsKICAgICB2aXJ0dWFsIFdlYkNv
cmU6OlBsdWdpblN0cmF0ZWd5KiBjcmVhdGVQbHVnaW5TdHJhdGVneSgpOworICAgIHZpcnR1YWwg
V2ViQ29yZTo6U2hhcmVkV29ya2VyU3RyYXRlZ3kqIGNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5
KCk7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5KiBjcmVhdGVWaXNp
dGVkTGlua1N0cmF0ZWd5KCk7Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRl
Z3kqIGNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpOwogICAgIAogICAgIC8vIFdlYkNvcmU6OkNv
b2tpZXNTdHJhdGVneQogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlDb29raWVzQ2hhbmdlZCgpOwpJ
bmRleDogU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gMTMyMjc2KQorKysgU291cmNlL1dlYktpdC93
aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTAtMjMg
IEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEgc3Ry
YXRlZ3kgZm9yIHNoYXJlZCB3b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDAxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5j
cHA6CisgICAgICAgIChXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZVBhc3RlYm9hcmRTdHJh
dGVneSk6CisgICAgICAgIChXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZVNoYXJlZFdvcmtl
clN0cmF0ZWd5KToKKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlVmlzaXRl
ZExpbmtTdHJhdGVneSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJh
dGVnaWVzLmg6CisgICAgICAgIChXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMpOgorCiAyMDEyLTEwLTIy
ICBKb2NlbHluIFR1cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBkaWdpYS5jb20+CiAKICAgICAg
ICAgW1F0XSBGaXggIkFTU0VSVElPTiBGQUlMRUQ6ICFkb2N1bWVudC0+aW5QYWdlQ2FjaGUoKSIg
d2hlbiBsb2FkaW5nIGEgcGFnZQpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBv
cnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCShyZXZpc2lvbiAx
MzIyNjQpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0
cmF0ZWdpZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NywxOSArNDcsMjQgQEAgQ29va2llc1N0
cmF0ZWd5KiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OgogICAgIHJldHVybiB0aGlzOwogfQogCitQ
YXN0ZWJvYXJkU3RyYXRlZ3kqIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlUGFzdGVib2Fy
ZFN0cmF0ZWd5KCkKK3sKKyAgICByZXR1cm4gMDsKK30KKwogUGx1Z2luU3RyYXRlZ3kqIFdlYlBs
YXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlUGx1Z2luU3RyYXRlZ3koKQogewogICAgIHJldHVybiB0
aGlzOwogfQogCi1WaXNpdGVkTGlua1N0cmF0ZWd5KiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNy
ZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKQorU2hhcmVkV29ya2VyU3RyYXRlZ3kqIFdlYlBsYXRm
b3JtU3RyYXRlZ2llczo6Y3JlYXRlU2hhcmVkV29ya2VyU3RyYXRlZ3koKQogewogICAgIHJldHVy
biB0aGlzOwogfQogCi1QYXN0ZWJvYXJkU3RyYXRlZ3kqIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6
Y3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCkKK1Zpc2l0ZWRMaW5rU3RyYXRlZ3kqIFdlYlBsYXRm
b3JtU3RyYXRlZ2llczo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpCiB7Ci0gICAgcmV0dXJu
IDA7CisgICAgcmV0dXJuIHRoaXM7CiB9CiAKIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpu
b3RpZnlDb29raWVzQ2hhbmdlZCgpCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAkocmV2aXNpb24gMTMy
MjY0KQorKysgU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJh
dGVnaWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDkgKzI5LDEwIEBACiAjaW5jbHVkZSA8V2Vi
Q29yZS9Db29raWVzU3RyYXRlZ3kuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtU3RyYXRl
Z2llcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z2luU3RyYXRlZ3kuaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL1NoYXJlZFdvcmtlclN0cmF0ZWd5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9WaXNpdGVk
TGlua1N0cmF0ZWd5Lmg+CiAKLWNsYXNzIFdlYlBsYXRmb3JtU3RyYXRlZ2llcyA6IHB1YmxpYyBX
ZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29va2llc1N0cmF0
ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZp
c2l0ZWRMaW5rU3RyYXRlZ3kgeworY2xhc3MgV2ViUGxhdGZvcm1TdHJhdGVnaWVzIDogcHVibGlj
IFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywgcHJpdmF0ZSBXZWJDb3JlOjpDb29raWVzU3Ry
YXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6
U2hhcmVkV29ya2VyU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVn
eSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZSgpOwogICAgIApAQCAtNDAs
OSArNDEsMTAgQEAgcHJpdmF0ZToKICAgICAKICAgICAvLyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0
ZWdpZXMKICAgICB2aXJ0dWFsIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneSogY3JlYXRlQ29va2ll
c1N0cmF0ZWd5KCk7CisgICAgdmlydHVhbCBXZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kqIGNy
ZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6UGx1Z2luU3Ry
YXRlZ3kqIGNyZWF0ZVBsdWdpblN0cmF0ZWd5KCk7CisgICAgdmlydHVhbCBXZWJDb3JlOjpTaGFy
ZWRXb3JrZXJTdHJhdGVneSogY3JlYXRlU2hhcmVkV29ya2VyU3RyYXRlZ3koKTsKICAgICB2aXJ0
dWFsIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kqIGNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRl
Z3koKTsKLSAgICB2aXJ0dWFsIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVneSogY3JlYXRlUGFz
dGVib2FyZFN0cmF0ZWd5KCk7CiAKICAgICAvLyBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kKICAg
ICB2aXJ0dWFsIHZvaWQgbm90aWZ5Q29va2llc0NoYW5nZWQoKTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvd2luY2UvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luY2UvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMzIyNzYpCisrKyBTb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTEwLTIzICBBbGV4ZXkgUHJv
c2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIHN0cmF0ZWd5IGZvciBz
aGFyZWQgd29ya2VycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAwMTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5jcHA6CisgICAg
ICAgIChQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRTo6Y3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KToK
KyAgICAgICAgKFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFOjpjcmVhdGVTaGFyZWRXb3JrZXJTdHJh
dGVneSk6CisgICAgICAgIChQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRTo6Y3JlYXRlVmlzaXRlZExp
bmtTdHJhdGVneSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVz
V2luQ0UuaDoKKwogMjAxMi0xMC0xMCAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW1dLMl0gQWN0aXZhdGUgcGx1Z2lucyB3aGVuIHVzZXIgY2xpY2tzIG9uIHNuYXBzaG90
CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRl
Z2llc1dpbkNFLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVT
dXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmNwcAkocmV2aXNpb24gMTMyMjY0KQorKysg
U291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5D
RS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDE5ICs0OCwyNCBAQCBDb29raWVzU3RyYXRlZ3kq
IFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFCiAgICAgcmV0dXJuIHRoaXM7CiB9CiAKK1Bhc3RlYm9h
cmRTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0U6OmNyZWF0ZVBhc3RlYm9hcmRTdHJh
dGVneSgpCit7CisgICAgcmV0dXJuIDA7Cit9CisKIFBsdWdpblN0cmF0ZWd5KiBQbGF0Zm9ybVN0
cmF0ZWdpZXNXaW5DRTo6Y3JlYXRlUGx1Z2luU3RyYXRlZ3koKQogewogICAgIHJldHVybiB0aGlz
OwogfQogCi1WaXNpdGVkTGlua1N0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRTo6Y3Jl
YXRlVmlzaXRlZExpbmtTdHJhdGVneSgpCitTaGFyZWRXb3JrZXJTdHJhdGVneSogUGxhdGZvcm1T
dHJhdGVnaWVzV2luQ0U6OmNyZWF0ZVNoYXJlZFdvcmtlclN0cmF0ZWd5KCkKIHsKICAgICByZXR1
cm4gdGhpczsKIH0KIAotUGFzdGVib2FyZFN0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5D
RTo6Y3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCkKK1Zpc2l0ZWRMaW5rU3RyYXRlZ3kqIFBsYXRm
b3JtU3RyYXRlZ2llc1dpbkNFOjpjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkKIHsKLSAgICBy
ZXR1cm4gMDsKKyAgICByZXR1cm4gdGhpczsKIH0KIAogdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNX
aW5DRTo6bm90aWZ5Q29va2llc0NoYW5nZWQoKQpJbmRleDogU291cmNlL1dlYktpdC93aW5jZS9X
ZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0Uu
aAkocmV2aXNpb24gMTMyMjY0KQorKysgU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9y
dC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw5ICsyOCwx
MCBAQAogI2luY2x1ZGUgIkNvb2tpZXNTdHJhdGVneS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
YXRlZ2llcy5oIgogI2luY2x1ZGUgIlBsdWdpblN0cmF0ZWd5LmgiCisjaW5jbHVkZSAiU2hhcmVk
V29ya2VyU3RyYXRlZ3kuaCIKICNpbmNsdWRlICJWaXNpdGVkTGlua1N0cmF0ZWd5LmgiCiAKLWNs
YXNzIFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFIDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3Ry
YXRlZ2llcywgcHJpdmF0ZSBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29y
ZTo6UGx1Z2luU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneSB7
CitjbGFzcyBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRSA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9y
bVN0cmF0ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5LCBwcml2YXRlIFdl
YkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlNoYXJlZFdvcmtlclN0cmF0
ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kgewogcHVibGljOgogICAg
IHN0YXRpYyB2b2lkIGluaXRpYWxpemUoKTsKIApAQCAtMzksOSArNDAsMTAgQEAgcHJpdmF0ZToK
IAogICAgIC8vIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcwogICAgIHZpcnR1YWwgV2ViQ29y
ZTo6Q29va2llc1N0cmF0ZWd5KiBjcmVhdGVDb29raWVzU3RyYXRlZ3koKTsKKyAgICB2aXJ0dWFs
IFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVneSogY3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCk7
CiAgICAgdmlydHVhbCBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneSogY3JlYXRlUGx1Z2luU3RyYXRl
Z3koKTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlNoYXJlZFdvcmtlclN0cmF0ZWd5KiBjcmVhdGVT
aGFyZWRXb3JrZXJTdHJhdGVneSgpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6VmlzaXRlZExpbmtT
dHJhdGVneSogY3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpOwotICAgIHZpcnR1YWwgV2ViQ29y
ZTo6UGFzdGVib2FyZFN0cmF0ZWd5KiBjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKTsKIAogICAg
IC8vIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneQogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlDb29r
aWVzQ2hhbmdlZCgpOwpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjMxNykKKysrIFNvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTAt
MjMgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGEg
c3RyYXRlZ3kgZm9yIHNoYXJlZCB3b3JrZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAxNjUKKworICAgICAgICBFRkwgYnVpbGQgZml4IGJ5IENo
cmlzdG9waGUgRHVtZXouCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvZiB0aGUgY2hhbmdlIHN1Y2ggYXMgYXBw
cm9hY2gsIHJhdGlvbmFsZS4gUGxlYXNlIGFkZCBwZXItZnVuY3Rpb24gZGVzY3JpcHRpb25zIGJl
bG93IChPT1BTISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRkIFdlYkNvcmUvd29y
a2VycyB0byBpbmNsdWRlIHBhdGhzLgorCiAyMDEyLTEwLTIzICBIeW93b24gS2ltICA8aHcxMDA4
LmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbVGV4bWFwXVtFRkxdIEFkZCBBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nQ29udGV4dEVmbCB0byB0aGUgYnVpbGQgc3lzdGVtLgpJbmRleDogU291cmNl
L1dlYktpdC9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NNYWtl
TGlzdHMudHh0CShyZXZpc2lvbiAxMzIzMTcpCisrKyBTb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3IEBAIFNFVChXZWJLaXRfSU5DTFVERV9E
SVJFQ1RPUklFUwogICAgICIke1dFQkNPUkVfRElSfS9zdmciCiAgICAgIiR7V0VCQ09SRV9ESVJ9
L3N2Zy9ncmFwaGljcyIKICAgICAiJHtXRUJDT1JFX0RJUn0vc3ZnL3Byb3BlcnRpZXMiCisgICAg
IiR7V0VCQ09SRV9ESVJ9L3dvcmtlcnMiCiAgICAgIiR7SkFWQVNDUklQVENPUkVfRElSfSIKICAg
ICAiJHtKQVZBU0NSSVBUQ09SRV9ESVJ9L0ZvcndhcmRpbmdIZWFkZXJzIgogICAgICIke0pBVkFT
Q1JJUFRDT1JFX0RJUn0vQVBJIgo=
</data>
<flag name="review"
          id="183904"
          type_id="1"
          status="+"
          setter="beidson"
    />
    <flag name="commit-queue"
          id="184002"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>