<?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>147287</bug_id>
          
          <creation_ts>2015-07-24 18:21:01 -0700</creation_ts>
          <short_desc>[ES6] Add Reflect namespace and add Reflect.deleteProperty</short_desc>
          <delta_ts>2015-07-27 16:46:34 -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>JavaScriptCore</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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>joepeck</cc>
    
    <cc>oliver</cc>
    
    <cc>ossy</cc>
    
    <cc>peavo</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1112164</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-24 18:21:01 -0700</bug_when>
    <thetext>Let&apos;s implement ES6 Reflect APIs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112168</commentid>
    <comment_count>1</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-24 18:26:55 -0700</bug_when>
    <thetext>As the first step, just add the namespace.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112169</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-24 18:28:10 -0700</bug_when>
    <thetext>Generally, Reflect APIs are easy to implement.
One concern is Reflect.construct. It may replace the newTarget.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112172</commentid>
    <comment_count>3</comment_count>
      <attachid>257502</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-24 19:03:10 -0700</bug_when>
    <thetext>Created attachment 257502
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112173</commentid>
    <comment_count>4</comment_count>
      <attachid>257503</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-24 19:08:36 -0700</bug_when>
    <thetext>Created attachment 257503
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112174</commentid>
    <comment_count>5</comment_count>
      <attachid>257504</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-24 19:34:38 -0700</bug_when>
    <thetext>Created attachment 257504
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112175</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-24 19:36:11 -0700</bug_when>
    <thetext>Since the current Reflect JS builtins are empty, it generates empty C array and it becomes compiling error.
So I&apos;ll add one easy method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112184</commentid>
    <comment_count>7</comment_count>
      <attachid>257508</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-24 20:15:38 -0700</bug_when>
    <thetext>Created attachment 257508
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112185</commentid>
    <comment_count>8</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-24 20:16:55 -0700</bug_when>
    <thetext>Let&apos;s implement it as a side project :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112270</commentid>
    <comment_count>9</comment_count>
      <attachid>257508</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-25 21:25:09 -0700</bug_when>
    <thetext>Comment on attachment 257508
Patch

Thanks! Reflect is also needed for Reflect.Loader impl in modules.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112279</commentid>
    <comment_count>10</comment_count>
      <attachid>257508</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-25 22:13:50 -0700</bug_when>
    <thetext>Comment on attachment 257508
Patch

Clearing flags on attachment: 257508

Committed r187401: &lt;http://trac.webkit.org/changeset/187401&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112280</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-25 22:13:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112391</commentid>
    <comment_count>12</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-07-27 03:39:39 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Comment on attachment 257508 [details]
&gt; Patch
&gt; 
&gt; Clearing flags on attachment: 257508
&gt; 
&gt; Committed r187401: &lt;http://trac.webkit.org/changeset/187401&gt;

It broke the WinCairo build:

C:\Users\Alex\Documents\WinCairoBot\win-cairo-release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\ReflectObject.lut.h(27): error C2065: &apos;reflectObjectApply&apos; : undeclared identifier [C:\Users\Alex\Documents\WinCairoBot\win-cairo-release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj]
C:\Users\Alex\Documents\WinCairoBot\win-cairo-release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\ReflectObject.lut.h(32): error C2065: &apos;reflectObjectDeleteProperty&apos; : undeclared identifier [C:\Users\Alex\Documents\WinCairoBot\win-cairo-release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.vcxproj]


cc-ing WinCairo maintainers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112413</commentid>
    <comment_count>13</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-27 07:55:05 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #10)
&gt; &gt; Comment on attachment 257508 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; Clearing flags on attachment: 257508
&gt; &gt; 
&gt; &gt; Committed r187401: &lt;http://trac.webkit.org/changeset/187401&gt;
&gt; 
&gt; It broke the WinCairo build:
&gt; 
&gt; C:\Users\Alex\Documents\WinCairoBot\win-cairo-
&gt; release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\ReflectObject
&gt; .lut.h(27): error C2065: &apos;reflectObjectApply&apos; : undeclared identifier
&gt; [C:\Users\Alex\Documents\WinCairoBot\win-cairo-
&gt; release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.
&gt; vcxproj]
&gt; C:\Users\Alex\Documents\WinCairoBot\win-cairo-
&gt; release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\ReflectObject
&gt; .lut.h(32): error C2065: &apos;reflectObjectDeleteProperty&apos; : undeclared
&gt; identifier
&gt; [C:\Users\Alex\Documents\WinCairoBot\win-cairo-
&gt; release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.
&gt; vcxproj]
&gt; 
&gt; 
&gt; cc-ing WinCairo maintainers

I guess it is caused because DerivedSource JSCBuiltins.* are not updsted.
Could you peform the clean build?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112415</commentid>
    <comment_count>14</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-27 07:56:35 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; Comment on attachment 257508 [details]
&gt; &gt; &gt; Patch
&gt; &gt; &gt; 
&gt; &gt; &gt; Clearing flags on attachment: 257508
&gt; &gt; &gt; 
&gt; &gt; &gt; Committed r187401: &lt;http://trac.webkit.org/changeset/187401&gt;
&gt; &gt; 
&gt; &gt; It broke the WinCairo build:
&gt; &gt; 
&gt; &gt; C:\Users\Alex\Documents\WinCairoBot\win-cairo-
&gt; &gt; release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\ReflectObject
&gt; &gt; .lut.h(27): error C2065: &apos;reflectObjectApply&apos; : undeclared identifier
&gt; &gt; [C:\Users\Alex\Documents\WinCairoBot\win-cairo-
&gt; &gt; release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.
&gt; &gt; vcxproj]
&gt; &gt; C:\Users\Alex\Documents\WinCairoBot\win-cairo-
&gt; &gt; release\build\WebKitBuild\Release\DerivedSources\JavaScriptCore\ReflectObject
&gt; &gt; .lut.h(32): error C2065: &apos;reflectObjectDeleteProperty&apos; : undeclared
&gt; &gt; identifier
&gt; &gt; [C:\Users\Alex\Documents\WinCairoBot\win-cairo-
&gt; &gt; release\build\WebKitBuild\Release\Source\JavaScriptCore\JavaScriptCore.
&gt; &gt; vcxproj]
&gt; &gt; 
&gt; &gt; 
&gt; &gt; cc-ing WinCairo maintainers
&gt; .
&gt; I guess it is caused because DerivedSource JSCBuiltins.* are not updsted.
&gt; Could you peform the clean build?

I&apos;ll check this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112416</commentid>
    <comment_count>15</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-07-27 08:01:14 -0700</bug_when>
    <thetext>I triggered clean build on the WinCairo bot, let&apos;s see if it helps:
https://build.webkit.org/builders/WinCairo%2064-Bit%20Release/builds/47678</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112417</commentid>
    <comment_count>16</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-07-27 08:04:05 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; I triggered clean build on the WinCairo bot, let&apos;s see if it helps:
&gt; https://build.webkit.org/builders/WinCairo%2064-Bit%20Release/builds/47678

It didn&apos;t help and now the bot is completely broken:

-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- Configuring incomplete, errors occurred!
See also &quot;C:/Users/Alex/Documents/WinCairoBot/win-cairo-release/build/WebKitBuild/Release/CMakeFiles/CMakeOutput.log&quot;.
See also &quot;C:/Users/Alex/Documents/WinCairoBot/win-cairo-release/build/WebKitBuild/Release/CMakeFiles/CMakeError.log&quot;.
CMake Error at CMakeLists.txt:2 (project):
  No CMAKE_C_COMPILER could be found.

  Tell CMake where to find the compiler by setting either the environment
  variable &quot;CC&quot; or the CMake cache entry CMAKE_C_COMPILER to the full path to
  the compiler, or to the compiler name if it is in the PATH.


CMake Error at CMakeLists.txt:2 (project):
  No CMAKE_CXX_COMPILER could be found.

  Tell CMake where to find the compiler by setting either the environment
  variable &quot;CXX&quot; or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112430</commentid>
    <comment_count>17</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-07-27 09:57:27 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; It didn&apos;t help and now the bot is completely broken:
That&apos;s because I installed ninja and haven&apos;t landed https://bugs.webkit.org/show_bug.cgi?id=147228 yet.  I&apos;ll uninstall ninja and do another clean build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112591</commentid>
    <comment_count>18</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-07-27 16:46:34 -0700</bug_when>
    <thetext>WinCairo bot becomes green :D</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257502</attachid>
            <date>2015-07-24 19:03:10 -0700</date>
            <delta_ts>2015-07-24 19:08:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147287-20150724190152.patch</filename>
            <type>text/plain</type>
            <size>20315</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MzcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
YmI0Y2E1Zjg0NDRmMTA3MWVkOWZiZDNmNDNiMDNiNDEyNzkwYzYwLi44OWZkMThiMWFiYzIwMmNj
MjcxMzVmMzEyNWM2NzQ4MzFjZGU5ODY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwzMiBAQAorMjAxNS0wNy0yNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbRVM2XSBBZGQgUmVmbGVjdCBuYW1lc3BhY2UKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzI4NworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2gganVzdCBjcmVh
dGVzIHRoZSBuYW1lc3BhY2UgZm9yIEVTNiBSZWZsZWN0IEFQSXMuCisgICAgICAgIEFuZCBhZGQg
dGVtcGxhdGUgZmlsZXMgdG8gaW1wbGVtZW50IHRoZSBhY3R1YWwgY29kZS4KKworICAgICAgICAq
IENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgorICAgICAg
ICAqIEphdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJz
OgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogYnVpbHRpbnMvUmVmbGVjdE9iamVjdC5qczogQWRkZWQuCisgICAgICAgICogcnVu
dGltZS9Db21tb25JZGVudGlmaWVycy5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6aW5pdCk6CisgICAgICAgICog
cnVudGltZS9SZWZsZWN0T2JqZWN0LmNwcDogQWRkZWQuCisgICAgICAgIChKU0M6OlJlZmxlY3RP
YmplY3Q6OlJlZmVsY3RPYmplY3QpOgorICAgICAgICAoSlNDOjpSZWZsZWN0T2JqZWN0OjpmaW5p
c2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OlJlZmxlY3RPYmplY3Q6OmdldE93blByb3BlcnR5
U2xvdCk6CisgICAgICAgICogcnVudGltZS9SZWZsZWN0T2JqZWN0Lmg6IEFkZGVkLgorICAgICAg
ICAoSlNDOjpSZWZsZWN0T2JqZWN0OjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpSZWZsZWN0T2Jq
ZWN0OjpjcmVhdGVTdHJ1Y3R1cmUpOgorCiAyMDE1LTA3LTI0ICBZdXN1a2UgU3V6dWtpICA8dXRh
dGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIEF2b2lkIDIgdGltZXMgbmFtZSBpdGVyYXRp
b24gaW4gT2JqZWN0LmFzc2lnbgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQ3MjY4CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
TWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCBmMzI5NWU1Zjg1YzQwNjhiZjFlMGFiZDFkY2UxOTZkNGJkMzUzYmQ3Li40OTliYjc3OTAxMTNk
MzY3MDFlMGIyNGFlYmJlZWMzYjc0NGVhMDU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlz
dHMudHh0CkBAIC02MjksNiArNjI5LDcgQEAgc2V0KEphdmFTY3JpcHRDb3JlX0xVVF9GSUxFUwog
ICAgIHJ1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3BwCiAgICAgcnVudGltZS9OdW1iZXJQcm90
b3R5cGUuY3BwCiAgICAgcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKKyAgICBydW50aW1l
L1JlZmxlY3RPYmplY3QuY3BwCiAgICAgcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAKICAg
ICBydW50aW1lL1JlZ0V4cFByb3RvdHlwZS5jcHAKICAgICBydW50aW1lL1N0cmluZ0NvbnN0cnVj
dG9yLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA2
NzdmNGNlZTY5MzU2MDQ1OWU4MDc4N2E2MDg2NTY4MjJhNWY0NzVhLi5mMzVhYjg2NzI0MGY5MjY4
OGY5MzZkMTIxZjk5YzExYjM1ZmZhYzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQpAQCAtNTEsNiArNTEsNyBAQCBhbGwgOiBcCiAgICAgTnVtYmVyQ29uc3Ry
dWN0b3IubHV0LmggXAogICAgIE51bWJlclByb3RvdHlwZS5sdXQuaCBcCiAgICAgT2JqZWN0Q29u
c3RydWN0b3IubHV0LmggXAorICAgIFJlZmxlY3RPYmplY3QubHV0LmggXAogICAgIFJlZ0V4cENv
bnN0cnVjdG9yLmx1dC5oIFwKICAgICBSZWdFeHBQcm90b3R5cGUubHV0LmggXAogICAgIFJlZ0V4
cEppdFRhYmxlcy5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCmluZGV4
IDkzMmZjYWNlMzMwZWRkZjRkZmRhMWQ1OGJiNTAyMDZhMDFlZGNjZDYuLjExOGE5MTNkZjU0Njg4
NWM0NDZjYTVhYjNlNDY3N2MzOTI4ZmYwMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENv
cmUudmN4cHJvagpAQCAtODA5LDYgKzgwOSw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxydW50aW1lXFByb3BlcnR5U2xvdC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxydW50aW1lXFByb3BlcnR5VGFibGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5ccnVudGltZVxQcm90b3R5cGVNYXAuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5ccnVudGltZVxSZWZsZWN0T2JqZWN0LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXHJ1bnRpbWVcUmVnRXhwLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1
bnRpbWVcUmVnRXhwQ2FjaGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVu
dGltZVxSZWdFeHBDYWNoZWRSZXN1bHQuY3BwIiAvPgpAQCAtOTAyLDYgKzkwMyw3IEBACiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9y
bUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcTnVtYmVyQ29uc3Ry
dWN0b3IubHV0LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25C
dWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcTnVtYmVyUHJvdG90eXBlLmx1dC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXE9iamVjdENvbnN0cnVjdG9yLmx1dC5oIiAvPgor
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxh
dGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFJlZmxlY3RP
YmplY3QubHV0LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25C
dWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcUmVnRXhwQ29uc3RydWN0b3IubHV0LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcUmVnRXhwSml0VGFibGVzLmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9y
bUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcUmVnRXhwUHJvdG90
eXBlLmx1dC5oIiAvPgpAQCAtMTY1MSw2ICsxNjUzLDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHJ1bnRpbWVcUHJvdG90eXBlTWFwLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxydW50aW1lXFB1dERpcmVjdEluZGV4TW9kZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5ccnVudGltZVxQdXRQcm9wZXJ0eVNsb3QuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHJ1bnRpbWVcUmVmbGVjdE9iamVjdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5ccnVudGltZVxSZWdFeHAuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHJ1bnRpbWVcUmVnRXhwQ2FjaGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1
bnRpbWVcUmVnRXhwQ2FjaGVkUmVzdWx0LmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZp
bHRlcnMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZh
U2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggOGU2NTU3MWQ0N2ZmOGYzYTQ3ZWFmODM3
ZTc0NDNlZDNmYmY1NDYxNS4uNjBjNjQ5YTgzM2JlZmE1YjJiOWI0N2Y5MjU5MjU0YmI1YWVkMGYz
ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHBy
b2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVy
cwpAQCAtNzk4LDYgKzc5OCw5IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1l
XFByb3BlcnR5U2xvdC5jcHAiPgogICAgICAgPEZpbHRlcj5ydW50aW1lPC9GaWx0ZXI+CiAgICAg
PC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXFJlZmxlY3RP
YmplY3QuY3BwIj4KKyAgICAgIDxGaWx0ZXI+cnVudGltZTwvRmlsdGVyPgorICAgIDwvQ2xDb21w
aWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxSZWdFeHAuY3BwIj4KICAg
ICAgIDxGaWx0ZXI+cnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtMjg4MCw2
ICsyODgzLDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcUHV0UHJvcGVy
dHlTbG90LmgiPgogICAgICAgPEZpbHRlcj5ydW50aW1lPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1
ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXFJlZmxlY3RPYmplY3QuaCI+
CisgICAgICA8RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcUmVnRXhwLmgiPgogICAgICAgPEZpbHRlcj5y
dW50aW1lPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CkBAIC0zMTE1LDYgKzMxMjEsOSBAQAog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxh
dGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXE9iamVjdENv
bnN0cnVjdG9yLmx1dC5oIj4KICAgICAgIDxGaWx0ZXI+RGVyaXZlZCBTb3VyY2VzPC9GaWx0ZXI+
CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcUmVmbGVjdE9iamVjdC5sdXQuaCI+CisgICAgICA8RmlsdGVyPkRlcml2ZWQg
U291cmNlczwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFJlZ0V4cENvbnN0cnVjdG9yLmx1dC5oIj4KICAg
ICAgIDxGaWx0ZXI+RGVyaXZlZCBTb3VyY2VzPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGUxYzMxYzY3MzA3ZGFjNWIxYWQxZjA5NjY5
NTliOTUwZTlkOGQyYjkuLmYxMzk3Y2I1M2U2OTgxYTI1MjRlZTgzNDI3NDI2ZTRjNDJjODFlYjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNjU1LDYgKzE2NTUsOCBAQAogCQlF
MTI0QThGNzBFNTU1Nzc1MDAzMDkxRjEgLyogT3BhcXVlSlNTdHJpbmcuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxMjRBOEY1MEU1NTU3NzUwMDMwOTFG
MSAvKiBPcGFxdWVKU1N0cmluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUUxMjRBOEY4MEU1NTU3NzUwMDMwOTFGMSAvKiBPcGFxdWVKU1N0cmlu
Zy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTI0
QThGNjBFNTU1Nzc1MDAzMDkxRjEgLyogT3BhcXVlSlNTdHJpbmcuY3BwICovOyB9OwogCQlFMThF
M0E1OTBERjkyNzhDMDBEOTBCMzQgLyogVk0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTE4RTNBNTcwREY5Mjc4QzAwRDkwQjM0IC8qIFZNLmNwcCAq
LzsgfTsKKwkJRTMzNjM3QTUxQjYzMjIwMjAwRUUwODQwIC8qIFJlZmxlY3RPYmplY3QuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMzNjM3QTMxQjYz
MjIwMjAwRUUwODQwIC8qIFJlZmxlY3RPYmplY3QuY3BwICovOyB9OworCQlFMzM2MzdBNjFCNjMy
MjAyMDBFRTA4NDAgLyogUmVmbGVjdE9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTMzNjM3QTQxQjYzMjIwMjAwRUUwODQwIC8qIFJlZmxlY3RP
YmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlFMzU0NjIyQjFCNjA2NUQxMDA1NDUzODYgLyogQ29uc3RydWN0QWJpbGl0eS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1NDYyMkExQjYwNjVEMTAw
NTQ1Mzg2IC8qIENvbnN0cnVjdEFiaWxpdHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlFNDlEQzE2QjEyRUYyOTNFMDAxODRBMUYgLyogU291cmNl
UHJvdmlkZXJDYWNoZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFNDlEQzE1NTEyRUYyNzcyMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJDYWNoZS5j
cHAgKi87IH07CiAJCUU0OURDMTZDMTJFRjI5NEUwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNh
Y2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDlE
QzE1MTEyRUYyNzIyMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJDYWNoZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zNDI4LDYgKzM0MzAsOCBA
QAogCQlFMTc4NjM2QzBEOUJFRUMzMDBENzRFNzUgLyogSW5pdGlhbGl6ZVRocmVhZGluZy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbml0aWFsaXplVGhyZWFkaW5n
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTE4RTNBNTYwREY5Mjc4QzAwRDkw
QjM0IC8qIFZNLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbGluZUVuZGluZyA9IDA7IHBh
dGggPSBWTS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlv
bklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLm9iamNwcDsgfTsKIAkJRTE4RTNBNTcwREY5Mjc4QzAw
RDkwQjM0IC8qIFZNLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGlu
ZyA9IDA7IHBhdGggPSBWTS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VT
cGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OworCQlFMzM2MzdBMzFC
NjMyMjAyMDBFRTA4NDAgLyogUmVmbGVjdE9iamVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBSZWZsZWN0T2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRTMzNjM3QTQxQjYzMjIwMjAwRUUwODQwIC8qIFJlZmxlY3RPYmplY3QuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmbGVjdE9iamVjdC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFMzU0NjIyQTFCNjA2NUQxMDA1NDUzODYgLyogQ29uc3RydWN0
QWJpbGl0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb25zdHJ1Y3RBYmls
aXR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0OURDMTQ5MTJFRjI2MUEwMDE4
NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFNDlEQzE1MTEyRUYyNzIyMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJDYWNo
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb3VyY2VQcm92aWRlckNhY2hl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00Njg0LDYgKzQ2ODgsOCBAQAogCQkJ
CTBGNTc4MEExMThGRTFFOTgwMDFFNzJEOSAvKiBQdXJlTmFOLmggKi8sCiAJCQkJMEYwQ0Q0QzAx
NUYxQTYwNDAwMzJGMUMwIC8qIFB1dERpcmVjdEluZGV4TW9kZS5oICovLAogCQkJCTE0N0I4NDYy
MEU2REU2QjEwMDQ3NzVBNCAvKiBQdXRQcm9wZXJ0eVNsb3QuaCAqLywKKwkJCQlFMzM2MzdBMzFC
NjMyMjAyMDBFRTA4NDAgLyogUmVmbGVjdE9iamVjdC5jcHAgKi8sCisJCQkJRTMzNjM3QTQxQjYz
MjIwMjAwRUUwODQwIC8qIFJlZmxlY3RPYmplY3QuaCAqLywKIAkJCQlGNjkyQTg3RDAyNTU1OTdE
MDFGRjYwRjcgLyogUmVnRXhwLmNwcCAqLywKIAkJCQlGNjkyQTg3RTAyNTU1OTdEMDFGRjYwRjcg
LyogUmVnRXhwLmggKi8sCiAJCQkJQTE3MTJCM0ExMUM3QjIxMjAwN0E1MzE1IC8qIFJlZ0V4cENh
Y2hlLmNwcCAqLywKQEAgLTYyOTcsNiArNjMwMyw3IEBACiAJCQkJMEZDM0NDRkUxOUFEQTQxMDAw
NkFDNzJBIC8qIERGR0Jsb2NrU2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0U1QUIzODE3OTlF
NEIyMDBEMjgzM0QgLyogTExWTURpc2Fzc2VtYmxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZD
RUZBRDMxODA1RURDQzAwNDcyQ0U0IC8qIExMVk1IZWFkZXJzLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlFMzM2MzdBNjFCNjMyMjAyMDBFRTA4NDAgLyogUmVmbGVjdE9iamVjdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMTQyRTMxMzkxMzRGRjBBNjAwQUZBREI1IC8qIExvY2FsLmggaW4gSGVhZGVycyAq
LywKIAkJCQkxNDJFMzEzQTEzNEZGMEE2MDBBRkFEQjUgLyogTG9jYWxTY29wZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkMxOEM0MzcwRTE2RjVDRDAwQjM0NDYwIC8qIExvb2t1cC5oIGluIEhlYWRl
cnMgKi8sCkBAIC03MzA3LDYgKzczMTQsNyBAQAogCQkJCTBGNUExMjczMTkyRDlGREYwMDg3NjRB
MyAvKiBERkdEb2VzR0MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTUzQ0UwODcxOEJDMUE1NjAw
QkVERjc2IC8qIEpTQ29uc29sZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjVBNjI4MzE4OEM5
OEQ0MDA3MkM5REYgLyogRlRMVmFsdWVSYW5nZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlFMzM2
MzdBNTFCNjMyMjAyMDBFRTA4NDAgLyogUmVmbGVjdE9iamVjdC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkxNDdGMzlDQjEwN0VDMzc2MDA0MjdBNDggLyogRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkwRkYwRjE5RjE2QjcyQTE3MDA1REY5NUIgLyogRnVuY3Rpb25F
eGVjdXRhYmxlRHVtcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MkIzMTBGRDE5NzRBRTg3MDA4
MDg1N0MgLyogRnVuY3Rpb25IYXNFeGVjdXRlZENhY2hlLmNwcCBpbiBTb3VyY2VzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1JlZmxlY3RPYmplY3QuanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUmVmbGVjdE9iamVjdC5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44YmNlNjYzZWUxN2Q0Njg0YTU4ZGFiOTViM2ViZjI0ODU1MTEyMTAwCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1JlZmxlY3RPYmplY3QuanMK
QEAgLTAsMCArMSwyNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklk
ZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oCmluZGV4IGExZWEzMjhkN2M1NGNkM2FlNDcxOWRjMzU5MmIyYWVjZjhjNzZlZTkuLjQz
MmZiNmMxYjE2ZmNmMmYyMjcxMTNkMjc2ZWMwODI1ZmM1MjliZDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaApAQCAtNDksNiArNDks
NyBAQAogICAgIG1hY3JvKFByb21pc2UpIFwKICAgICBtYWNybyhSYW5nZUVycm9yKSBcCiAgICAg
bWFjcm8oUmVmZXJlbmNlRXJyb3IpIFwKKyAgICBtYWNybyhSZWZsZWN0KSBcCiAgICAgbWFjcm8o
UmVnRXhwKSBcCiAgICAgbWFjcm8oU2V0KVwKICAgICBtYWNybyhTZXRJdGVyYXRvcilcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXgg
N2Y3NDFhZGY1ZDc5ODFlMzk1ZGUxMzk0ZjU0MzU0ZjcyN2EzOTM3Ni4uM2VmYTY2NzAwZjAzNGQ3
MTUxYjYyYzg3MTAxODllYzQ0ZTNkODM0MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtMTEyLDYgKzExMiw3IEBACiAjaW5jbHVk
ZSAiT2JqZWN0Q29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJPYmplY3RQcm90b3R5cGUuaCIKICNp
bmNsdWRlICJQYXJzZXJFcnJvci5oIgorI2luY2x1ZGUgIlJlZmxlY3RPYmplY3QuaCIKICNpbmNs
dWRlICJSZWdFeHBDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIlJlZ0V4cE1hdGNoZXNBcnJheS5o
IgogI2luY2x1ZGUgIlJlZ0V4cE9iamVjdC5oIgpAQCAtNDM0LDYgKzQzNSw3IEBAIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT4ganNOYW1lLCBsb3dlck5h
bWUgIyMgQ29uc3RydWN0CiAjZW5kaWYgLy8gRU5BQkxFKElOVEwpCiAgICAgcHV0RGlyZWN0V2l0
aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPkpTT04sIEpTT05PYmplY3Q6OmNy
ZWF0ZSh2bSwgSlNPTk9iamVjdDo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX29iamVjdFBy
b3RvdHlwZS5nZXQoKSkpLCBEb250RW51bSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRp
b24odm0sIHZtLnByb3BlcnR5TmFtZXMtPk1hdGgsIE1hdGhPYmplY3Q6OmNyZWF0ZSh2bSwgdGhp
cywgTWF0aE9iamVjdDo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX29iamVjdFByb3RvdHlw
ZS5nZXQoKSkpLCBEb250RW51bSk7CisgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0s
IHZtLnByb3BlcnR5TmFtZXMtPlJlZmxlY3QsIFJlZmxlY3RPYmplY3Q6OmNyZWF0ZSh2bSwgdGhp
cywgUmVmbGVjdE9iamVjdDo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX29iamVjdFByb3Rv
dHlwZS5nZXQoKSkpLCBEb250RW51bSk7CiAgICAgCiAgICAgc3RkOjphcnJheTxJbnRlcm5hbEZ1
bmN0aW9uKiwgTlVNQkVSX09GX1RZUEVEX0FSUkFZX1RZUEVTPiB0eXBlZEFycmF5Q29uc3RydWN0
b3JzOwogICAgIHR5cGVkQXJyYXlDb25zdHJ1Y3RvcnNbdG9JbmRleChUeXBlSW50OCldID0gSlNJ
bnQ4QXJyYXlDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBKU0ludDhBcnJheUNvbnN0cnVjdG9yOjpj
cmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX3R5
cGVkQXJyYXlzW3RvSW5kZXgoVHlwZUludDgpXS5wcm90b3R5cGUuZ2V0KCksIEFTQ0lJTGl0ZXJh
bCgiSW50OEFycmF5IikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVmbGVjdE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWZs
ZWN0T2JqZWN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOTdiM2EwNTI3OWFmZjk3MmNkYTNhMDk2NjVjMTYx
OTk4ZDQ1ODgwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVmbGVjdE9iamVjdC5jcHAKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNSBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJSZWZsZWN0T2JqZWN0LmgiCisKKyNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCisjaW5jbHVkZSAi
TG9va3VwLmgiCisKKyNpbmNsdWRlICJSZWZsZWN0T2JqZWN0Lmx1dC5oIgorCituYW1lc3BhY2Ug
SlNDIHsKKworU1RBVElDX0FTU0VSVF9JU19UUklWSUFMTFlfREVTVFJVQ1RJQkxFKFJlZmxlY3RP
YmplY3QpOworCitjb25zdCBDbGFzc0luZm8gUmVmbGVjdE9iamVjdDo6c19pbmZvID0geyAiUmVm
bGVjdCIsICZCYXNlOjpzX2luZm8sICZyZWZsZWN0T2JqZWN0VGFibGUsIENSRUFURV9NRVRIT0Rf
VEFCTEUoUmVmbGVjdE9iamVjdCkgfTsKKworLyogU291cmNlIGZvciBSZWZsZWN0T2JqZWN0Lmx1
dC5oCitAYmVnaW4gcmVmbGVjdE9iamVjdFRhYmxlCitAZW5kCisqLworCitSZWZsZWN0T2JqZWN0
OjpSZWZlbGN0T2JqZWN0KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgOiBKU05v
bkZpbmFsT2JqZWN0KHZtLCBzdHJ1Y3R1cmUpCit7Cit9CisKK3ZvaWQgUmVmbGVjdE9iamVjdDo6
ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQorewor
ICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKKyAgICBBU1NFUlQoaW5oZXJpdHMoaW5mbygp
KSk7Cit9CisKK2Jvb2wgUmVmbGVjdE9iamVjdDo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0
KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSwgUHJv
cGVydHlTbG90ICZzbG90KQoreworICAgIHJldHVybiBnZXRTdGF0aWNGdW5jdGlvblNsb3Q8QmFz
ZT4oZXhlYywgcmVmbGVjdE9iamVjdFRhYmxlLCBqc0Nhc3Q8UmVmbGVjdE9iamVjdCo+KG9iamVj
dCksIHByb3BlcnR5TmFtZSwgc2xvdCk7Cit9CisKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSBGdW5jdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworfSAv
LyBuYW1lc3BhY2UgSlNDCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9SZWZsZWN0T2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWZsZWN0
T2JqZWN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNmE3MzUwMjI5ZGM4MTJkNDRiZTc2N2ZjMTRmNTZiOTJlY2Y2
MWZjYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Jl
ZmxlY3RPYmplY3QuaApAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1
IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBSZWZsZWN0T2JqZWN0X2gKKyNkZWZpbmUgUmVm
bGVjdE9iamVjdF9oCisKKyNpbmNsdWRlICJKU09iamVjdC5oIgorCituYW1lc3BhY2UgSlNDIHsK
KworY2xhc3MgUmVmbGVjdE9iamVjdCA6IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKK3ByaXZh
dGU6CisgICAgUmVmbGVjdE9iamVjdChWTSYsIFN0cnVjdHVyZSopOworCitwdWJsaWM6CisgICAg
dHlwZWRlZiBKU05vbkZpbmFsT2JqZWN0IEJhc2U7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3MgfCBPdmVycmlkZXNHZXRPd25Q
cm9wZXJ0eVNsb3Q7CisKKyAgICBzdGF0aWMgUmVmbGVjdE9iamVjdCogY3JlYXRlKFZNJiB2bSwg
SlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAg
eworICAgICAgICBSZWZsZWN0T2JqZWN0KiBvYmplY3QgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRl
Q2VsbDxSZWZsZWN0T2JqZWN0Pih2bS5oZWFwKSkgUmVmbGVjdE9iamVjdCh2bSwgc3RydWN0dXJl
KTsKKyAgICAgICAgb2JqZWN0LT5maW5pc2hDcmVhdGlvbih2bSwgZ2xvYmFsT2JqZWN0KTsKKyAg
ICAgICAgcmV0dXJuIG9iamVjdDsKKyAgICB9CisKKyAgICBERUNMQVJFX0lORk87CisKKyAgICBz
dGF0aWMgU3RydWN0dXJlKiBjcmVhdGVTdHJ1Y3R1cmUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHByb3RvdHlwZSkKKyAgICB7CisgICAgICAgIHJldHVybiBT
dHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKE9i
amVjdFR5cGUsIFN0cnVjdHVyZUZsYWdzKSwgaW5mbygpKTsKKyAgICB9CisKKyAgICBzdGF0aWMg
Ym9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBQcm9wZXJ0eU5h
bWUsIFByb3BlcnR5U2xvdCYpOworCitwcm90ZWN0ZWQ6CisgICAgdm9pZCBmaW5pc2hDcmVhdGlv
bihWTSYsIEpTR2xvYmFsT2JqZWN0Kik7Cit9OworCit9IC8vIG5hbWVzcGFjZSBKU0MKKworI2Vu
ZGlmIC8vIFJlZmxlY3RPYmplY3RfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257503</attachid>
            <date>2015-07-24 19:08:36 -0700</date>
            <delta_ts>2015-07-24 19:34:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147287-20150724190718.patch</filename>
            <type>text/plain</type>
            <size>20302</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MzcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
YmI0Y2E1Zjg0NDRmMTA3MWVkOWZiZDNmNDNiMDNiNDEyNzkwYzYwLi5kNDdkNGIwZTQxNThiNGRj
OWRkZmUzZTU5ZjQ3NDVhOTFlMjgwNjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwzMiBAQAorMjAxNS0wNy0yNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbRVM2XSBBZGQgUmVmbGVjdCBuYW1lc3BhY2UKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzI4NworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2gganVzdCBjcmVh
dGVzIHRoZSBuYW1lc3BhY2UgZm9yIEVTNiBSZWZsZWN0IEFQSXMuCisgICAgICAgIEFuZCBhZGQg
dGVtcGxhdGUgZmlsZXMgdG8gaW1wbGVtZW50IHRoZSBhY3R1YWwgY29kZS4KKworICAgICAgICAq
IENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgorICAgICAg
ICAqIEphdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJz
OgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogYnVpbHRpbnMvUmVmbGVjdE9iamVjdC5qczogQWRkZWQuCisgICAgICAgICogcnVu
dGltZS9Db21tb25JZGVudGlmaWVycy5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6aW5pdCk6CisgICAgICAgICog
cnVudGltZS9SZWZsZWN0T2JqZWN0LmNwcDogQWRkZWQuCisgICAgICAgIChKU0M6OlJlZmxlY3RP
YmplY3Q6OlJlZmxlY3RPYmplY3QpOgorICAgICAgICAoSlNDOjpSZWZsZWN0T2JqZWN0OjpmaW5p
c2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OlJlZmxlY3RPYmplY3Q6OmdldE93blByb3BlcnR5
U2xvdCk6CisgICAgICAgICogcnVudGltZS9SZWZsZWN0T2JqZWN0Lmg6IEFkZGVkLgorICAgICAg
ICAoSlNDOjpSZWZsZWN0T2JqZWN0OjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpSZWZsZWN0T2Jq
ZWN0OjpjcmVhdGVTdHJ1Y3R1cmUpOgorCiAyMDE1LTA3LTI0ICBZdXN1a2UgU3V6dWtpICA8dXRh
dGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIEF2b2lkIDIgdGltZXMgbmFtZSBpdGVyYXRp
b24gaW4gT2JqZWN0LmFzc2lnbgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQ3MjY4CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
TWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCBmMzI5NWU1Zjg1YzQwNjhiZjFlMGFiZDFkY2UxOTZkNGJkMzUzYmQ3Li40OTliYjc3OTAxMTNk
MzY3MDFlMGIyNGFlYmJlZWMzYjc0NGVhMDU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlz
dHMudHh0CkBAIC02MjksNiArNjI5LDcgQEAgc2V0KEphdmFTY3JpcHRDb3JlX0xVVF9GSUxFUwog
ICAgIHJ1bnRpbWUvTnVtYmVyQ29uc3RydWN0b3IuY3BwCiAgICAgcnVudGltZS9OdW1iZXJQcm90
b3R5cGUuY3BwCiAgICAgcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKKyAgICBydW50aW1l
L1JlZmxlY3RPYmplY3QuY3BwCiAgICAgcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAKICAg
ICBydW50aW1lL1JlZ0V4cFByb3RvdHlwZS5jcHAKICAgICBydW50aW1lL1N0cmluZ0NvbnN0cnVj
dG9yLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA2
NzdmNGNlZTY5MzU2MDQ1OWU4MDc4N2E2MDg2NTY4MjJhNWY0NzVhLi5mMzVhYjg2NzI0MGY5MjY4
OGY5MzZkMTIxZjk5YzExYjM1ZmZhYzUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQpAQCAtNTEsNiArNTEsNyBAQCBhbGwgOiBcCiAgICAgTnVtYmVyQ29uc3Ry
dWN0b3IubHV0LmggXAogICAgIE51bWJlclByb3RvdHlwZS5sdXQuaCBcCiAgICAgT2JqZWN0Q29u
c3RydWN0b3IubHV0LmggXAorICAgIFJlZmxlY3RPYmplY3QubHV0LmggXAogICAgIFJlZ0V4cENv
bnN0cnVjdG9yLmx1dC5oIFwKICAgICBSZWdFeHBQcm90b3R5cGUubHV0LmggXAogICAgIFJlZ0V4
cEppdFRhYmxlcy5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCmluZGV4
IDkzMmZjYWNlMzMwZWRkZjRkZmRhMWQ1OGJiNTAyMDZhMDFlZGNjZDYuLjExOGE5MTNkZjU0Njg4
NWM0NDZjYTVhYjNlNDY3N2MzOTI4ZmYwMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENv
cmUudmN4cHJvagpAQCAtODA5LDYgKzgwOSw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxydW50aW1lXFByb3BlcnR5U2xvdC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxydW50aW1lXFByb3BlcnR5VGFibGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5ccnVudGltZVxQcm90b3R5cGVNYXAuY3BwIiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5ccnVudGltZVxSZWZsZWN0T2JqZWN0LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXHJ1bnRpbWVcUmVnRXhwLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1
bnRpbWVcUmVnRXhwQ2FjaGUuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVu
dGltZVxSZWdFeHBDYWNoZWRSZXN1bHQuY3BwIiAvPgpAQCAtOTAyLDYgKzkwMyw3IEBACiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9y
bUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcTnVtYmVyQ29uc3Ry
dWN0b3IubHV0LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25C
dWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcTnVtYmVyUHJvdG90eXBlLmx1dC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXE9iamVjdENvbnN0cnVjdG9yLmx1dC5oIiAvPgor
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxh
dGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFJlZmxlY3RP
YmplY3QubHV0LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25C
dWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcUmVnRXhwQ29uc3RydWN0b3IubHV0LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcUmVnRXhwSml0VGFibGVzLmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9y
bUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcUmVnRXhwUHJvdG90
eXBlLmx1dC5oIiAvPgpAQCAtMTY1MSw2ICsxNjUzLDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHJ1bnRpbWVcUHJvdG90eXBlTWFwLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxydW50aW1lXFB1dERpcmVjdEluZGV4TW9kZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5ccnVudGltZVxQdXRQcm9wZXJ0eVNsb3QuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHJ1bnRpbWVcUmVmbGVjdE9iamVjdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5ccnVudGltZVxSZWdFeHAuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHJ1bnRpbWVcUmVnRXhwQ2FjaGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1
bnRpbWVcUmVnRXhwQ2FjaGVkUmVzdWx0LmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZp
bHRlcnMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZh
U2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggOGU2NTU3MWQ0N2ZmOGYzYTQ3ZWFmODM3
ZTc0NDNlZDNmYmY1NDYxNS4uNjBjNjQ5YTgzM2JlZmE1YjJiOWI0N2Y5MjU5MjU0YmI1YWVkMGYz
ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHBy
b2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVy
cwpAQCAtNzk4LDYgKzc5OCw5IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1l
XFByb3BlcnR5U2xvdC5jcHAiPgogICAgICAgPEZpbHRlcj5ydW50aW1lPC9GaWx0ZXI+CiAgICAg
PC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXFJlZmxlY3RP
YmplY3QuY3BwIj4KKyAgICAgIDxGaWx0ZXI+cnVudGltZTwvRmlsdGVyPgorICAgIDwvQ2xDb21w
aWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxSZWdFeHAuY3BwIj4KICAg
ICAgIDxGaWx0ZXI+cnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtMjg4MCw2
ICsyODgzLDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcUHV0UHJvcGVy
dHlTbG90LmgiPgogICAgICAgPEZpbHRlcj5ydW50aW1lPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1
ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXFJlZmxlY3RPYmplY3QuaCI+
CisgICAgICA8RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcUmVnRXhwLmgiPgogICAgICAgPEZpbHRlcj5y
dW50aW1lPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CkBAIC0zMTE1LDYgKzMxMjEsOSBAQAog
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxh
dGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXE9iamVjdENv
bnN0cnVjdG9yLmx1dC5oIj4KICAgICAgIDxGaWx0ZXI+RGVyaXZlZCBTb3VyY2VzPC9GaWx0ZXI+
CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcUmVmbGVjdE9iamVjdC5sdXQuaCI+CisgICAgICA8RmlsdGVyPkRlcml2ZWQg
U291cmNlczwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFJlZ0V4cENvbnN0cnVjdG9yLmx1dC5oIj4KICAg
ICAgIDxGaWx0ZXI+RGVyaXZlZCBTb3VyY2VzPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGUxYzMxYzY3MzA3ZGFjNWIxYWQxZjA5NjY5
NTliOTUwZTlkOGQyYjkuLmYxMzk3Y2I1M2U2OTgxYTI1MjRlZTgzNDI3NDI2ZTRjNDJjODFlYjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNjU1LDYgKzE2NTUsOCBAQAogCQlF
MTI0QThGNzBFNTU1Nzc1MDAzMDkxRjEgLyogT3BhcXVlSlNTdHJpbmcuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxMjRBOEY1MEU1NTU3NzUwMDMwOTFG
MSAvKiBPcGFxdWVKU1N0cmluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUUxMjRBOEY4MEU1NTU3NzUwMDMwOTFGMSAvKiBPcGFxdWVKU1N0cmlu
Zy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTI0
QThGNjBFNTU1Nzc1MDAzMDkxRjEgLyogT3BhcXVlSlNTdHJpbmcuY3BwICovOyB9OwogCQlFMThF
M0E1OTBERjkyNzhDMDBEOTBCMzQgLyogVk0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTE4RTNBNTcwREY5Mjc4QzAwRDkwQjM0IC8qIFZNLmNwcCAq
LzsgfTsKKwkJRTMzNjM3QTUxQjYzMjIwMjAwRUUwODQwIC8qIFJlZmxlY3RPYmplY3QuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTMzNjM3QTMxQjYz
MjIwMjAwRUUwODQwIC8qIFJlZmxlY3RPYmplY3QuY3BwICovOyB9OworCQlFMzM2MzdBNjFCNjMy
MjAyMDBFRTA4NDAgLyogUmVmbGVjdE9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTMzNjM3QTQxQjYzMjIwMjAwRUUwODQwIC8qIFJlZmxlY3RP
YmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlFMzU0NjIyQjFCNjA2NUQxMDA1NDUzODYgLyogQ29uc3RydWN0QWJpbGl0eS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM1NDYyMkExQjYwNjVEMTAw
NTQ1Mzg2IC8qIENvbnN0cnVjdEFiaWxpdHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlFNDlEQzE2QjEyRUYyOTNFMDAxODRBMUYgLyogU291cmNl
UHJvdmlkZXJDYWNoZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFNDlEQzE1NTEyRUYyNzcyMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJDYWNoZS5j
cHAgKi87IH07CiAJCUU0OURDMTZDMTJFRjI5NEUwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNh
Y2hlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDlE
QzE1MTEyRUYyNzIyMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJDYWNoZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zNDI4LDYgKzM0MzAsOCBA
QAogCQlFMTc4NjM2QzBEOUJFRUMzMDBENzRFNzUgLyogSW5pdGlhbGl6ZVRocmVhZGluZy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbml0aWFsaXplVGhyZWFkaW5n
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTE4RTNBNTYwREY5Mjc4QzAwRDkw
QjM0IC8qIFZNLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbGluZUVuZGluZyA9IDA7IHBh
dGggPSBWTS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlv
bklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLm9iamNwcDsgfTsKIAkJRTE4RTNBNTcwREY5Mjc4QzAw
RDkwQjM0IC8qIFZNLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGlu
ZyA9IDA7IHBhdGggPSBWTS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VT
cGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OworCQlFMzM2MzdBMzFC
NjMyMjAyMDBFRTA4NDAgLyogUmVmbGVjdE9iamVjdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBSZWZsZWN0T2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRTMzNjM3QTQxQjYzMjIwMjAwRUUwODQwIC8qIFJlZmxlY3RPYmplY3QuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVmbGVjdE9iamVjdC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFMzU0NjIyQTFCNjA2NUQxMDA1NDUzODYgLyogQ29uc3RydWN0
QWJpbGl0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb25zdHJ1Y3RBYmls
aXR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0OURDMTQ5MTJFRjI2MUEwMDE4
NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTb3VyY2VQcm92aWRlckNhY2hlSXRlbS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFNDlEQzE1MTEyRUYyNzIyMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJDYWNo
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb3VyY2VQcm92aWRlckNhY2hl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00Njg0LDYgKzQ2ODgsOCBAQAogCQkJ
CTBGNTc4MEExMThGRTFFOTgwMDFFNzJEOSAvKiBQdXJlTmFOLmggKi8sCiAJCQkJMEYwQ0Q0QzAx
NUYxQTYwNDAwMzJGMUMwIC8qIFB1dERpcmVjdEluZGV4TW9kZS5oICovLAogCQkJCTE0N0I4NDYy
MEU2REU2QjEwMDQ3NzVBNCAvKiBQdXRQcm9wZXJ0eVNsb3QuaCAqLywKKwkJCQlFMzM2MzdBMzFC
NjMyMjAyMDBFRTA4NDAgLyogUmVmbGVjdE9iamVjdC5jcHAgKi8sCisJCQkJRTMzNjM3QTQxQjYz
MjIwMjAwRUUwODQwIC8qIFJlZmxlY3RPYmplY3QuaCAqLywKIAkJCQlGNjkyQTg3RDAyNTU1OTdE
MDFGRjYwRjcgLyogUmVnRXhwLmNwcCAqLywKIAkJCQlGNjkyQTg3RTAyNTU1OTdEMDFGRjYwRjcg
LyogUmVnRXhwLmggKi8sCiAJCQkJQTE3MTJCM0ExMUM3QjIxMjAwN0E1MzE1IC8qIFJlZ0V4cENh
Y2hlLmNwcCAqLywKQEAgLTYyOTcsNiArNjMwMyw3IEBACiAJCQkJMEZDM0NDRkUxOUFEQTQxMDAw
NkFDNzJBIC8qIERGR0Jsb2NrU2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0U1QUIzODE3OTlF
NEIyMDBEMjgzM0QgLyogTExWTURpc2Fzc2VtYmxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZD
RUZBRDMxODA1RURDQzAwNDcyQ0U0IC8qIExMVk1IZWFkZXJzLmggaW4gSGVhZGVycyAqLywKKwkJ
CQlFMzM2MzdBNjFCNjMyMjAyMDBFRTA4NDAgLyogUmVmbGVjdE9iamVjdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMTQyRTMxMzkxMzRGRjBBNjAwQUZBREI1IC8qIExvY2FsLmggaW4gSGVhZGVycyAq
LywKIAkJCQkxNDJFMzEzQTEzNEZGMEE2MDBBRkFEQjUgLyogTG9jYWxTY29wZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkMxOEM0MzcwRTE2RjVDRDAwQjM0NDYwIC8qIExvb2t1cC5oIGluIEhlYWRl
cnMgKi8sCkBAIC03MzA3LDYgKzczMTQsNyBAQAogCQkJCTBGNUExMjczMTkyRDlGREYwMDg3NjRB
MyAvKiBERkdEb2VzR0MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTUzQ0UwODcxOEJDMUE1NjAw
QkVERjc2IC8qIEpTQ29uc29sZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjVBNjI4MzE4OEM5
OEQ0MDA3MkM5REYgLyogRlRMVmFsdWVSYW5nZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlFMzM2
MzdBNTFCNjMyMjAyMDBFRTA4NDAgLyogUmVmbGVjdE9iamVjdC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkxNDdGMzlDQjEwN0VDMzc2MDA0MjdBNDggLyogRnVuY3Rpb25Db25zdHJ1Y3Rvci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkwRkYwRjE5RjE2QjcyQTE3MDA1REY5NUIgLyogRnVuY3Rpb25F
eGVjdXRhYmxlRHVtcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MkIzMTBGRDE5NzRBRTg3MDA4
MDg1N0MgLyogRnVuY3Rpb25IYXNFeGVjdXRlZENhY2hlLmNwcCBpbiBTb3VyY2VzICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1JlZmxlY3RPYmplY3QuanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvUmVmbGVjdE9iamVjdC5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44YmNlNjYzZWUxN2Q0Njg0YTU4ZGFiOTViM2ViZjI0ODU1MTEyMTAwCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1JlZmxlY3RPYmplY3QuanMK
QEAgLTAsMCArMSwyNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklk
ZW50aWZpZXJzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oCmluZGV4IGExZWEzMjhkN2M1NGNkM2FlNDcxOWRjMzU5MmIyYWVjZjhjNzZlZTkuLjQz
MmZiNmMxYjE2ZmNmMmYyMjcxMTNkMjc2ZWMwODI1ZmM1MjliZDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaApAQCAtNDksNiArNDks
NyBAQAogICAgIG1hY3JvKFByb21pc2UpIFwKICAgICBtYWNybyhSYW5nZUVycm9yKSBcCiAgICAg
bWFjcm8oUmVmZXJlbmNlRXJyb3IpIFwKKyAgICBtYWNybyhSZWZsZWN0KSBcCiAgICAgbWFjcm8o
UmVnRXhwKSBcCiAgICAgbWFjcm8oU2V0KVwKICAgICBtYWNybyhTZXRJdGVyYXRvcilcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKaW5kZXgg
N2Y3NDFhZGY1ZDc5ODFlMzk1ZGUxMzk0ZjU0MzU0ZjcyN2EzOTM3Ni4uM2VmYTY2NzAwZjAzNGQ3
MTUxYjYyYzg3MTAxODllYzQ0ZTNkODM0MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtMTEyLDYgKzExMiw3IEBACiAjaW5jbHVk
ZSAiT2JqZWN0Q29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJPYmplY3RQcm90b3R5cGUuaCIKICNp
bmNsdWRlICJQYXJzZXJFcnJvci5oIgorI2luY2x1ZGUgIlJlZmxlY3RPYmplY3QuaCIKICNpbmNs
dWRlICJSZWdFeHBDb25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIlJlZ0V4cE1hdGNoZXNBcnJheS5o
IgogI2luY2x1ZGUgIlJlZ0V4cE9iamVjdC5oIgpAQCAtNDM0LDYgKzQzNSw3IEBAIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT4ganNOYW1lLCBsb3dlck5h
bWUgIyMgQ29uc3RydWN0CiAjZW5kaWYgLy8gRU5BQkxFKElOVEwpCiAgICAgcHV0RGlyZWN0V2l0
aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPkpTT04sIEpTT05PYmplY3Q6OmNy
ZWF0ZSh2bSwgSlNPTk9iamVjdDo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX29iamVjdFBy
b3RvdHlwZS5nZXQoKSkpLCBEb250RW51bSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRp
b24odm0sIHZtLnByb3BlcnR5TmFtZXMtPk1hdGgsIE1hdGhPYmplY3Q6OmNyZWF0ZSh2bSwgdGhp
cywgTWF0aE9iamVjdDo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX29iamVjdFByb3RvdHlw
ZS5nZXQoKSkpLCBEb250RW51bSk7CisgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0s
IHZtLnByb3BlcnR5TmFtZXMtPlJlZmxlY3QsIFJlZmxlY3RPYmplY3Q6OmNyZWF0ZSh2bSwgdGhp
cywgUmVmbGVjdE9iamVjdDo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX29iamVjdFByb3Rv
dHlwZS5nZXQoKSkpLCBEb250RW51bSk7CiAgICAgCiAgICAgc3RkOjphcnJheTxJbnRlcm5hbEZ1
bmN0aW9uKiwgTlVNQkVSX09GX1RZUEVEX0FSUkFZX1RZUEVTPiB0eXBlZEFycmF5Q29uc3RydWN0
b3JzOwogICAgIHR5cGVkQXJyYXlDb25zdHJ1Y3RvcnNbdG9JbmRleChUeXBlSW50OCldID0gSlNJ
bnQ4QXJyYXlDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBKU0ludDhBcnJheUNvbnN0cnVjdG9yOjpj
cmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX3R5
cGVkQXJyYXlzW3RvSW5kZXgoVHlwZUludDgpXS5wcm90b3R5cGUuZ2V0KCksIEFTQ0lJTGl0ZXJh
bCgiSW50OEFycmF5IikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVmbGVjdE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWZs
ZWN0T2JqZWN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMWM3YzNlZDgyY2RlNDY5NDA3YmNiZDI1ODVkZGE2
MTdmYmU5ODliCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvUmVmbGVjdE9iamVjdC5jcHAKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNSBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJSZWZsZWN0T2JqZWN0LmgiCisKKyNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCisjaW5jbHVkZSAi
TG9va3VwLmgiCisKKyNpbmNsdWRlICJSZWZsZWN0T2JqZWN0Lmx1dC5oIgorCituYW1lc3BhY2Ug
SlNDIHsKKworU1RBVElDX0FTU0VSVF9JU19UUklWSUFMTFlfREVTVFJVQ1RJQkxFKFJlZmxlY3RP
YmplY3QpOworCitjb25zdCBDbGFzc0luZm8gUmVmbGVjdE9iamVjdDo6c19pbmZvID0geyAiUmVm
bGVjdCIsICZCYXNlOjpzX2luZm8sICZyZWZsZWN0T2JqZWN0VGFibGUsIENSRUFURV9NRVRIT0Rf
VEFCTEUoUmVmbGVjdE9iamVjdCkgfTsKKworLyogU291cmNlIGZvciBSZWZsZWN0T2JqZWN0Lmx1
dC5oCitAYmVnaW4gcmVmbGVjdE9iamVjdFRhYmxlCitAZW5kCisqLworCitSZWZsZWN0T2JqZWN0
OjpSZWZsZWN0T2JqZWN0KFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgOiBKU05v
bkZpbmFsT2JqZWN0KHZtLCBzdHJ1Y3R1cmUpCit7Cit9CisKK3ZvaWQgUmVmbGVjdE9iamVjdDo6
ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCopCit7CisgICAgQmFzZTo6Zmlu
aXNoQ3JlYXRpb24odm0pOworICAgIEFTU0VSVChpbmhlcml0cyhpbmZvKCkpKTsKK30KKworYm9v
bCBSZWZsZWN0T2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqIG9iamVjdCwgRXhl
Y1N0YXRlKiBleGVjLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QgJnNs
b3QpCit7CisgICAgcmV0dXJuIGdldFN0YXRpY0Z1bmN0aW9uU2xvdDxCYXNlPihleGVjLCByZWZs
ZWN0T2JqZWN0VGFibGUsIGpzQ2FzdDxSZWZsZWN0T2JqZWN0Kj4ob2JqZWN0KSwgcHJvcGVydHlO
YW1lLCBzbG90KTsKK30KKworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEZ1bmN0
aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCit9IC8vIG5hbWVzcGFjZSBK
U0MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZmxlY3RPYmpl
Y3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZmxlY3RPYmplY3QuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42YTczNTAyMjlkYzgxMmQ0NGJlNzY3ZmMxNGY1NmI5MmVjZjYxZmNjCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVmbGVjdE9iamVjdC5o
CkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBB
bGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIFJlZmxlY3RPYmplY3RfaAorI2RlZmluZSBSZWZsZWN0T2JqZWN0X2gK
KworI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBSZWZs
ZWN0T2JqZWN0IDogcHVibGljIEpTTm9uRmluYWxPYmplY3QgeworcHJpdmF0ZToKKyAgICBSZWZs
ZWN0T2JqZWN0KFZNJiwgU3RydWN0dXJlKik7CisKK3B1YmxpYzoKKyAgICB0eXBlZGVmIEpTTm9u
RmluYWxPYmplY3QgQmFzZTsKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgU3RydWN0dXJlRmxh
Z3MgPSBCYXNlOjpTdHJ1Y3R1cmVGbGFncyB8IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdDsK
KworICAgIHN0YXRpYyBSZWZsZWN0T2JqZWN0KiBjcmVhdGUoVk0mIHZtLCBKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICB7CisgICAgICAgIFJl
ZmxlY3RPYmplY3QqIG9iamVjdCA9IG5ldyAoTm90TnVsbCwgYWxsb2NhdGVDZWxsPFJlZmxlY3RP
YmplY3Q+KHZtLmhlYXApKSBSZWZsZWN0T2JqZWN0KHZtLCBzdHJ1Y3R1cmUpOworICAgICAgICBv
YmplY3QtPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QpOworICAgICAgICByZXR1cm4g
b2JqZWN0OworICAgIH0KKworICAgIERFQ0xBUkVfSU5GTzsKKworICAgIHN0YXRpYyBTdHJ1Y3R1
cmUqIGNyZWF0ZVN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IEpTVmFsdWUgcHJvdG90eXBlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN0cnVjdHVyZTo6Y3Jl
YXRlKHZtLCBnbG9iYWxPYmplY3QsIHByb3RvdHlwZSwgVHlwZUluZm8oT2JqZWN0VHlwZSwgU3Ry
dWN0dXJlRmxhZ3MpLCBpbmZvKCkpOworICAgIH0KKworICAgIHN0YXRpYyBib29sIGdldE93blBy
b3BlcnR5U2xvdChKU09iamVjdCosIEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZSwgUHJvcGVydHlT
bG90Jik7CisKK3Byb3RlY3RlZDoKKyAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9i
YWxPYmplY3QqKTsKK307CisKK30gLy8gbmFtZXNwYWNlIEpTQworCisjZW5kaWYgLy8gUmVmbGVj
dE9iamVjdF9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257504</attachid>
            <date>2015-07-24 19:34:38 -0700</date>
            <delta_ts>2015-07-24 20:15:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147287-20150724193320.patch</filename>
            <type>text/plain</type>
            <size>20568</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MzcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
YmI0Y2E1Zjg0NDRmMTA3MWVkOWZiZDNmNDNiMDNiNDEyNzkwYzYwLi5kNDdkNGIwZTQxNThiNGRj
OWRkZmUzZTU5ZjQ3NDVhOTFlMjgwNjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwzMiBAQAorMjAxNS0wNy0yNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbRVM2XSBBZGQgUmVmbGVjdCBuYW1lc3BhY2UKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzI4NworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2gganVzdCBjcmVh
dGVzIHRoZSBuYW1lc3BhY2UgZm9yIEVTNiBSZWZsZWN0IEFQSXMuCisgICAgICAgIEFuZCBhZGQg
dGVtcGxhdGUgZmlsZXMgdG8gaW1wbGVtZW50IHRoZSBhY3R1YWwgY29kZS4KKworICAgICAgICAq
IENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgorICAgICAg
ICAqIEphdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJz
OgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogYnVpbHRpbnMvUmVmbGVjdE9iamVjdC5qczogQWRkZWQuCisgICAgICAgICogcnVu
dGltZS9Db21tb25JZGVudGlmaWVycy5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmpl
Y3QuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6aW5pdCk6CisgICAgICAgICog
cnVudGltZS9SZWZsZWN0T2JqZWN0LmNwcDogQWRkZWQuCisgICAgICAgIChKU0M6OlJlZmxlY3RP
YmplY3Q6OlJlZmxlY3RPYmplY3QpOgorICAgICAgICAoSlNDOjpSZWZsZWN0T2JqZWN0OjpmaW5p
c2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OlJlZmxlY3RPYmplY3Q6OmdldE93blByb3BlcnR5
U2xvdCk6CisgICAgICAgICogcnVudGltZS9SZWZsZWN0T2JqZWN0Lmg6IEFkZGVkLgorICAgICAg
ICAoSlNDOjpSZWZsZWN0T2JqZWN0OjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpSZWZsZWN0T2Jq
ZWN0OjpjcmVhdGVTdHJ1Y3R1cmUpOgorCiAyMDE1LTA3LTI0ICBZdXN1a2UgU3V6dWtpICA8dXRh
dGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIEF2b2lkIDIgdGltZXMgbmFtZSBpdGVyYXRp
b24gaW4gT2JqZWN0LmFzc2lnbgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQ3MjY4CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
TWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCBmMzI5NWU1Zjg1YzQwNjhiZjFlMGFiZDFkY2UxOTZkNGJkMzUzYmQ3Li41MTlmY2FmNDYxMTM5
Y2Y3MTE4ODZmOGQxMzRhOWRkYzUxYTg2MjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlz
dHMudHh0CkBAIC01NTYsNiArNTU2LDcgQEAgc2V0KEphdmFTY3JpcHRDb3JlX1JVTlRJTUVfU09V
UkNFUwogICAgIHJ1bnRpbWUvUHJvcGVydHlTbG90LmNwcAogICAgIHJ1bnRpbWUvUHJvcGVydHlU
YWJsZS5jcHAKICAgICBydW50aW1lL1Byb3RvdHlwZU1hcC5jcHAKKyAgICBydW50aW1lL1JlZmxl
Y3RPYmplY3QuY3BwCiAgICAgcnVudGltZS9SZWdFeHAuY3BwCiAgICAgcnVudGltZS9SZWdFeHBD
YWNoZS5jcHAKICAgICBydW50aW1lL1JlZ0V4cENhY2hlZFJlc3VsdC5jcHAKQEAgLTYyOSw2ICs2
MzAsNyBAQCBzZXQoSmF2YVNjcmlwdENvcmVfTFVUX0ZJTEVTCiAgICAgcnVudGltZS9OdW1iZXJD
b25zdHJ1Y3Rvci5jcHAKICAgICBydW50aW1lL051bWJlclByb3RvdHlwZS5jcHAKICAgICBydW50
aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcAorICAgIHJ1bnRpbWUvUmVmbGVjdE9iamVjdC5jcHAK
ICAgICBydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcAogICAgIHJ1bnRpbWUvUmVnRXhwUHJv
dG90eXBlLmNwcAogICAgIHJ1bnRpbWUvU3RyaW5nQ29uc3RydWN0b3IuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDY3N2Y0Y2VlNjkzNTYwNDU5ZTgw
Nzg3YTYwODY1NjgyMmE1ZjQ3NWEuLmYzNWFiODY3MjQwZjkyNjg4ZjkzNmQxMjFmOTljMTFiMzVm
ZmFjNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC01
MSw2ICs1MSw3IEBAIGFsbCA6IFwKICAgICBOdW1iZXJDb25zdHJ1Y3Rvci5sdXQuaCBcCiAgICAg
TnVtYmVyUHJvdG90eXBlLmx1dC5oIFwKICAgICBPYmplY3RDb25zdHJ1Y3Rvci5sdXQuaCBcCisg
ICAgUmVmbGVjdE9iamVjdC5sdXQuaCBcCiAgICAgUmVnRXhwQ29uc3RydWN0b3IubHV0LmggXAog
ICAgIFJlZ0V4cFByb3RvdHlwZS5sdXQuaCBcCiAgICAgUmVnRXhwSml0VGFibGVzLmggXApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2
YVNjcmlwdENvcmUudmN4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oKaW5kZXggOTMyZmNhY2UzMzBlZGRmNGRm
ZGExZDU4YmI1MDIwNmEwMWVkY2NkNi4uMTE4YTkxM2RmNTQ2ODg1YzQ0NmNhNWFiM2U0Njc3YzM5
MjhmZjAyMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCkBAIC04MDks
NiArODA5LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcUHJvcGVydHlT
bG90LmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcUHJvcGVydHlU
YWJsZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXFByb3RvdHlw
ZU1hcC5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXFJlZmxlY3RP
YmplY3QuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxSZWdFeHAu
Y3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxSZWdFeHBDYWNoZS5j
cHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50aW1lXFJlZ0V4cENhY2hlZFJl
c3VsdC5jcHAiIC8+CkBAIC05MDIsNiArOTAzLDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xOdW1iZXJDb25zdHJ1Y3Rvci5sdXQuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRm
b3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xOdW1iZXJQcm90
b3R5cGUubHV0LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25C
dWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcT2JqZWN0Q29uc3RydWN0b3IubHV0LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcUmVmbGVjdE9iamVjdC5sdXQuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRm
b3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xSZWdFeHBDb25z
dHJ1Y3Rvci5sdXQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlv
bkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJp
dmVkU291cmNlc1xSZWdFeHBKaXRUYWJsZXMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xSZWdFeHBQcm90b3R5cGUubHV0LmgiIC8+CkBAIC0x
NjUxLDYgKzE2NTMsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxQcm90
b3R5cGVNYXAuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcUHV0RGly
ZWN0SW5kZXhNb2RlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXFB1
dFByb3BlcnR5U2xvdC5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxS
ZWZsZWN0T2JqZWN0LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXFJl
Z0V4cC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxSZWdFeHBDYWNo
ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxSZWdFeHBDYWNoZWRS
ZXN1bHQuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ou
ZmlsdGVycwppbmRleCA4ZTY1NTcxZDQ3ZmY4ZjNhNDdlYWY4MzdlNzQ0M2VkM2ZiZjU0NjE1Li42
MGM2NDlhODMzYmVmYTViMmI5YjQ3ZjkyNTkyNTRiYjVhZWQwZjNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52
Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3Jl
LnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJzCkBAIC03OTgsNiArNzk4LDkg
QEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcUHJvcGVydHlTbG90LmNwcCI+
CiAgICAgICA8RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KKyAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcUmVmbGVjdE9iamVjdC5jcHAiPgorICAgICAg
PEZpbHRlcj5ydW50aW1lPC9GaWx0ZXI+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxydW50aW1lXFJlZ0V4cC5jcHAiPgogICAgICAgPEZpbHRlcj5ydW50aW1l
PC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC0yODgwLDYgKzI4ODMsOSBAQAogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxQdXRQcm9wZXJ0eVNsb3QuaCI+CiAgICAgICA8
RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHJ1bnRpbWVcUmVmbGVjdE9iamVjdC5oIj4KKyAgICAgIDxGaWx0ZXI+cnVu
dGltZTwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccnVudGltZVxSZWdFeHAuaCI+CiAgICAgICA8RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4KICAg
ICA8L0NsSW5jbHVkZT4KQEAgLTMxMTUsNiArMzEyMSw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcT2JqZWN0Q29uc3RydWN0b3IubHV0LmgiPgog
ICAgICAgPEZpbHRlcj5EZXJpdmVkIFNvdXJjZXM8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4K
KyAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBs
YXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xSZWZsZWN0
T2JqZWN0Lmx1dC5oIj4KKyAgICAgIDxGaWx0ZXI+RGVyaXZlZCBTb3VyY2VzPC9GaWx0ZXI+Cisg
ICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25C
dWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZl
ZFNvdXJjZXNcUmVnRXhwQ29uc3RydWN0b3IubHV0LmgiPgogICAgICAgPEZpbHRlcj5EZXJpdmVk
IFNvdXJjZXM8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggZTFjMzFjNjczMDdkYWM1YjFhZDFmMDk2Njk1OWI5NTBlOWQ4ZDJiOS4uZjEz
OTdjYjUzZTY5ODFhMjUyNGVlODM0Mjc0MjZlNGM0MmM4MWViNSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTE2NTUsNiArMTY1NSw4IEBACiAJCUUxMjRBOEY3MEU1NTU3NzUwMDMw
OTFGMSAvKiBPcGFxdWVKU1N0cmluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTEyNEE4RjUwRTU1NTc3NTAwMzA5MUYxIC8qIE9wYXF1ZUpTU3RyaW5n
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTEy
NEE4RjgwRTU1NTc3NTAwMzA5MUYxIC8qIE9wYXF1ZUpTU3RyaW5nLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxMjRBOEY2MEU1NTU3NzUwMDMwOTFG
MSAvKiBPcGFxdWVKU1N0cmluZy5jcHAgKi87IH07CiAJCUUxOEUzQTU5MERGOTI3OEMwMEQ5MEIz
NCAvKiBWTS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFMThFM0E1NzBERjkyNzhDMDBEOTBCMzQgLyogVk0uY3BwICovOyB9OworCQlFMzM2MzdBNTFC
NjMyMjAyMDBFRTA4NDAgLyogUmVmbGVjdE9iamVjdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzM2MzdBMzFCNjMyMjAyMDBFRTA4NDAgLyogUmVm
bGVjdE9iamVjdC5jcHAgKi87IH07CisJCUUzMzYzN0E2MUI2MzIyMDIwMEVFMDg0MCAvKiBSZWZs
ZWN0T2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBFMzM2MzdBNDFCNjMyMjAyMDBFRTA4NDAgLyogUmVmbGVjdE9iamVjdC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUzNTQ2MjJCMUI2MDY1RDEw
MDU0NTM4NiAvKiBDb25zdHJ1Y3RBYmlsaXR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFMzU0NjIyQTFCNjA2NUQxMDA1NDUzODYgLyogQ29uc3RydWN0
QWJpbGl0eS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUU0OURDMTZCMTJFRjI5M0UwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0OURDMTU1MTJF
RjI3NzIwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hlLmNwcCAqLzsgfTsKIAkJRTQ5REMx
NkMxMkVGMjk0RTAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0OURDMTUxMTJFRjI3MjIwMDE4NEEx
RiAvKiBTb3VyY2VQcm92aWRlckNhY2hlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTM0MjgsNiArMzQzMCw4IEBACiAJCUUxNzg2MzZDMEQ5QkVF
QzMwMEQ3NEU3NSAvKiBJbml0aWFsaXplVGhyZWFkaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEluaXRpYWxpemVUaHJlYWRpbmcuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMThFM0E1NjBERjkyNzhDMDBEOTBCMzQgLyogVk0uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IFZNLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2Rl
Lmxhbmcub2JqY3BwOyB9OwogCQlFMThFM0E1NzBERjkyNzhDMDBEOTBCMzQgLyogVk0uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgcGF0aCA9IFZNLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlm
aWVyID0geGNvZGUubGFuZy5jcHA7IH07CisJCUUzMzYzN0EzMUI2MzIyMDIwMEVFMDg0MCAvKiBS
ZWZsZWN0T2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJl
ZmxlY3RPYmplY3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMzM2MzdBNDFC
NjMyMjAyMDBFRTA4NDAgLyogUmVmbGVjdE9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBSZWZsZWN0T2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUUzNTQ2MjJBMUI2MDY1RDEwMDU0NTM4NiAvKiBDb25zdHJ1Y3RBYmlsaXR5LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbnN0cnVjdEFiaWxpdHkuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTQ5REMxNDkxMkVGMjYxQTAwMTg0QTFGIC8qIFNvdXJjZVByb3Zp
ZGVyQ2FjaGVJdGVtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNvdXJjZVBy
b3ZpZGVyQ2FjaGVJdGVtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU0OURDMTUx
MTJFRjI3MjIwMDE4NEExRiAvKiBTb3VyY2VQcm92aWRlckNhY2hlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFNvdXJjZVByb3ZpZGVyQ2FjaGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTQ2ODQsNiArNDY4OCw4IEBACiAJCQkJMEY1NzgwQTExOEZFMUU5ODAw
MUU3MkQ5IC8qIFB1cmVOYU4uaCAqLywKIAkJCQkwRjBDRDRDMDE1RjFBNjA0MDAzMkYxQzAgLyog
UHV0RGlyZWN0SW5kZXhNb2RlLmggKi8sCiAJCQkJMTQ3Qjg0NjIwRTZERTZCMTAwNDc3NUE0IC8q
IFB1dFByb3BlcnR5U2xvdC5oICovLAorCQkJCUUzMzYzN0EzMUI2MzIyMDIwMEVFMDg0MCAvKiBS
ZWZsZWN0T2JqZWN0LmNwcCAqLywKKwkJCQlFMzM2MzdBNDFCNjMyMjAyMDBFRTA4NDAgLyogUmVm
bGVjdE9iamVjdC5oICovLAogCQkJCUY2OTJBODdEMDI1NTU5N0QwMUZGNjBGNyAvKiBSZWdFeHAu
Y3BwICovLAogCQkJCUY2OTJBODdFMDI1NTU5N0QwMUZGNjBGNyAvKiBSZWdFeHAuaCAqLywKIAkJ
CQlBMTcxMkIzQTExQzdCMjEyMDA3QTUzMTUgLyogUmVnRXhwQ2FjaGUuY3BwICovLApAQCAtNjI5
Nyw2ICs2MzAzLDcgQEAKIAkJCQkwRkMzQ0NGRTE5QURBNDEwMDA2QUM3MkEgLyogREZHQmxvY2tT
ZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3RTVBQjM4MTc5OUU0QjIwMEQyODMzRCAvKiBMTFZN
RGlzYXNzZW1ibGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkNFRkFEMzE4MDVFRENDMDA0NzJD
RTQgLyogTExWTUhlYWRlcnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUUzMzYzN0E2MUI2MzIyMDIw
MEVFMDg0MCAvKiBSZWZsZWN0T2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDJFMzEzOTEz
NEZGMEE2MDBBRkFEQjUgLyogTG9jYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0MkUzMTNBMTM0
RkYwQTYwMEFGQURCNSAvKiBMb2NhbFNjb3BlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE4QzQz
NzBFMTZGNUNEMDBCMzQ0NjAgLyogTG9va3VwLmggaW4gSGVhZGVycyAqLywKQEAgLTczMDcsNiAr
NzMxNCw3IEBACiAJCQkJMEY1QTEyNzMxOTJEOUZERjAwODc2NEEzIC8qIERGR0RvZXNHQy5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlBNTNDRTA4NzE4QkMxQTU2MDBCRURGNzYgLyogSlNDb25zb2xl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBGNUE2MjgzMTg4Qzk4RDQwMDcyQzlERiAvKiBGVExW
YWx1ZVJhbmdlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUUzMzYzN0E1MUI2MzIyMDIwMEVFMDg0
MCAvKiBSZWZsZWN0T2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0N0YzOUNCMTA3RUMz
NzYwMDQyN0E0OCAvKiBGdW5jdGlvbkNvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBGRjBGMTlGMTZCNzJBMTcwMDVERjk1QiAvKiBGdW5jdGlvbkV4ZWN1dGFibGVEdW1wLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTUyQjMxMEZEMTk3NEFFODcwMDgwODU3QyAvKiBGdW5jdGlvbkhh
c0V4ZWN1dGVkQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnVpbHRpbnMvUmVmbGVjdE9iamVjdC5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9idWlsdGlucy9SZWZsZWN0T2JqZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiY2U2NjNlZTE3ZDQ2
ODRhNThkYWI5NWIzZWJmMjQ4NTUxMTIxMDAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnVpbHRpbnMvUmVmbGVjdE9iamVjdC5qcwpAQCAtMCwwICsxLDI1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZpZXJzLmgKaW5kZXggYTFlYTMy
OGQ3YzU0Y2QzYWU0NzE5ZGMzNTkyYjJhZWNmOGM3NmVlOS4uNDMyZmI2YzFiMTZmY2YyZjIyNzEx
M2QyNzZlYzA4MjVmYzUyOWJkNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Db21tb25JZGVudGlmaWVycy5oCkBAIC00OSw2ICs0OSw3IEBACiAgICAgbWFjcm8oUHJv
bWlzZSkgXAogICAgIG1hY3JvKFJhbmdlRXJyb3IpIFwKICAgICBtYWNybyhSZWZlcmVuY2VFcnJv
cikgXAorICAgIG1hY3JvKFJlZmxlY3QpIFwKICAgICBtYWNybyhSZWdFeHApIFwKICAgICBtYWNy
byhTZXQpXAogICAgIG1hY3JvKFNldEl0ZXJhdG9yKVwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAppbmRleCA3Zjc0MWFkZjVkNzk4MWUzOTVk
ZTEzOTRmNTQzNTRmNzI3YTM5Mzc2Li4zZWZhNjY3MDBmMDM0ZDcxNTFiNjJjODcxMDE4OWVjNDRl
M2Q4MzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuY3BwCkBAIC0xMTIsNiArMTEyLDcgQEAKICNpbmNsdWRlICJPYmplY3RDb25zdHJ1Y3Rv
ci5oIgogI2luY2x1ZGUgIk9iamVjdFByb3RvdHlwZS5oIgogI2luY2x1ZGUgIlBhcnNlckVycm9y
LmgiCisjaW5jbHVkZSAiUmVmbGVjdE9iamVjdC5oIgogI2luY2x1ZGUgIlJlZ0V4cENvbnN0cnVj
dG9yLmgiCiAjaW5jbHVkZSAiUmVnRXhwTWF0Y2hlc0FycmF5LmgiCiAjaW5jbHVkZSAiUmVnRXhw
T2JqZWN0LmgiCkBAIC00MzQsNiArNDM1LDcgQEAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24o
dm0sIHZtLnByb3BlcnR5TmFtZXMtPiBqc05hbWUsIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3QKICNl
bmRpZiAvLyBFTkFCTEUoSU5UTCkKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwg
dm0ucHJvcGVydHlOYW1lcy0+SlNPTiwgSlNPTk9iamVjdDo6Y3JlYXRlKHZtLCBKU09OT2JqZWN0
OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSksIERv
bnRFbnVtKTsKICAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlO
YW1lcy0+TWF0aCwgTWF0aE9iamVjdDo6Y3JlYXRlKHZtLCB0aGlzLCBNYXRoT2JqZWN0OjpjcmVh
dGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSksIERvbnRFbnVt
KTsKKyAgICBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+
UmVmbGVjdCwgUmVmbGVjdE9iamVjdDo6Y3JlYXRlKHZtLCB0aGlzLCBSZWZsZWN0T2JqZWN0Ojpj
cmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fb2JqZWN0UHJvdG90eXBlLmdldCgpKSksIERvbnRF
bnVtKTsKICAgICAKICAgICBzdGQ6OmFycmF5PEludGVybmFsRnVuY3Rpb24qLCBOVU1CRVJfT0Zf
VFlQRURfQVJSQVlfVFlQRVM+IHR5cGVkQXJyYXlDb25zdHJ1Y3RvcnM7CiAgICAgdHlwZWRBcnJh
eUNvbnN0cnVjdG9yc1t0b0luZGV4KFR5cGVJbnQ4KV0gPSBKU0ludDhBcnJheUNvbnN0cnVjdG9y
OjpjcmVhdGUodm0sIEpTSW50OEFycmF5Q29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSh2bSwg
dGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSksIG1fdHlwZWRBcnJheXNbdG9JbmRleChU
eXBlSW50OCldLnByb3RvdHlwZS5nZXQoKSwgQVNDSUlMaXRlcmFsKCJJbnQ4QXJyYXkiKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWZsZWN0T2JqZWN0LmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZmxlY3RPYmplY3QuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmUxYzdjM2VkODJjZGU0Njk0MDdiY2JkMjU4NWRkYTYxN2ZiZTk4OWIKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWZsZWN0T2JqZWN0LmNw
cApAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4g
QWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJlZmxlY3RPYmplY3QuaCIK
KworI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKyNpbmNsdWRlICJMb29rdXAuaCIKKworI2luY2x1
ZGUgIlJlZmxlY3RPYmplY3QubHV0LmgiCisKK25hbWVzcGFjZSBKU0MgeworCitTVEFUSUNfQVNT
RVJUX0lTX1RSSVZJQUxMWV9ERVNUUlVDVElCTEUoUmVmbGVjdE9iamVjdCk7CisKK2NvbnN0IENs
YXNzSW5mbyBSZWZsZWN0T2JqZWN0OjpzX2luZm8gPSB7ICJSZWZsZWN0IiwgJkJhc2U6OnNfaW5m
bywgJnJlZmxlY3RPYmplY3RUYWJsZSwgQ1JFQVRFX01FVEhPRF9UQUJMRShSZWZsZWN0T2JqZWN0
KSB9OworCisvKiBTb3VyY2UgZm9yIFJlZmxlY3RPYmplY3QubHV0LmgKK0BiZWdpbiByZWZsZWN0
T2JqZWN0VGFibGUKK0BlbmQKKyovCisKK1JlZmxlY3RPYmplY3Q6OlJlZmxlY3RPYmplY3QoVk0m
IHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICA6IEpTTm9uRmluYWxPYmplY3Qodm0sIHN0
cnVjdHVyZSkKK3sKK30KKwordm9pZCBSZWZsZWN0T2JqZWN0OjpmaW5pc2hDcmVhdGlvbihWTSYg
dm0sIEpTR2xvYmFsT2JqZWN0KikKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7Cisg
ICAgQVNTRVJUKGluaGVyaXRzKGluZm8oKSkpOworfQorCitib29sIFJlZmxlY3RPYmplY3Q6Omdl
dE93blByb3BlcnR5U2xvdChKU09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3Bl
cnR5TmFtZSBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCAmc2xvdCkKK3sKKyAgICByZXR1cm4g
Z2V0U3RhdGljRnVuY3Rpb25TbG90PEJhc2U+KGV4ZWMsIHJlZmxlY3RPYmplY3RUYWJsZSwganND
YXN0PFJlZmxlY3RPYmplY3QqPihvYmplY3QpLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworfQorCisv
LyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCisKK30gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVmbGVjdE9iamVjdC5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvUmVmbGVjdE9iamVjdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhNzM1MDIyOWRj
ODEyZDQ0YmU3NjdmYzE0ZjU2YjkyZWNmNjFmY2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWZsZWN0T2JqZWN0LmgKQEAgLTAsMCArMSw2MyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUmVm
bGVjdE9iamVjdF9oCisjZGVmaW5lIFJlZmxlY3RPYmplY3RfaAorCisjaW5jbHVkZSAiSlNPYmpl
Y3QuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK2NsYXNzIFJlZmxlY3RPYmplY3QgOiBwdWJsaWMg
SlNOb25GaW5hbE9iamVjdCB7Citwcml2YXRlOgorICAgIFJlZmxlY3RPYmplY3QoVk0mLCBTdHJ1
Y3R1cmUqKTsKKworcHVibGljOgorICAgIHR5cGVkZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOwor
ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVy
ZUZsYWdzIHwgT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlTbG90OworCisgICAgc3RhdGljIFJlZmxl
Y3RPYmplY3QqIGNyZWF0ZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0
cnVjdHVyZSogc3RydWN0dXJlKQorICAgIHsKKyAgICAgICAgUmVmbGVjdE9iamVjdCogb2JqZWN0
ID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8UmVmbGVjdE9iamVjdD4odm0uaGVhcCkpIFJl
ZmxlY3RPYmplY3Qodm0sIHN0cnVjdHVyZSk7CisgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRp
b24odm0sIGdsb2JhbE9iamVjdCk7CisgICAgICAgIHJldHVybiBvYmplY3Q7CisgICAgfQorCisg
ICAgREVDTEFSRV9JTkZPOworCisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJl
KFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUp
CisgICAgeworICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVj
dCwgcHJvdG90eXBlLCBUeXBlSW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8o
KSk7CisgICAgfQorCisgICAgc3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0
KiwgRXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKKworcHJvdGVjdGVk
OgorICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCopOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgSlNDCisKKyNlbmRpZiAvLyBSZWZsZWN0T2JqZWN0X2gK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257508</attachid>
            <date>2015-07-24 20:15:38 -0700</date>
            <delta_ts>2015-07-25 22:13:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147287-20150724201421.patch</filename>
            <type>text/plain</type>
            <size>23332</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MzcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
YmI0Y2E1Zjg0NDRmMTA3MWVkOWZiZDNmNDNiMDNiNDEyNzkwYzYwLi45OTUyMzU3MzNjNWMxZDU5
OWQyMDg0ZDU4YjI3Y2VkOWU4NjU0ZGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwzOSBAQAorMjAxNS0wNy0yNCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbRVM2XSBBZGQgUmVmbGVjdCBuYW1lc3BhY2UgYW5kIGFkZCBSZWZs
ZWN0LmRlbGV0ZVByb3BlcnR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDcyODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGlzIHBhdGNoIGp1c3QgY3JlYXRlcyB0aGUgbmFtZXNwYWNlIGZvciBFUzYg
UmVmbGVjdCBBUElzLgorICAgICAgICBBbmQgYWRkIHRlbXBsYXRlIGZpbGVzIHRvIGltcGxlbWVu
dCB0aGUgYWN0dWFsIGNvZGUuCisKKyAgICAgICAgTm90IHRvIGtlZXAgdGhlIEpTIGdlbmVyYXRl
ZCBwcm9wZXJ0aWVzIEMgYXJyYXkgZW1wdHksCisgICAgICAgIHdlIGFkZGVkIG9uZSBzbWFsbCBt
ZXRob2QsIFJlZmxlY3QuZGVsZXRlUHJvcGVydHkgaW4gdGhpcyBwYXRjaC4KKworICAgICAgICAq
IENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAg
ICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qOgorICAgICAg
ICAqIEphdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0ZXJz
OgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogYnVpbHRpbnMvUmVmbGVjdE9iamVjdC5qczogQWRkZWQuCisgICAgICAgIChkZWxl
dGVQcm9wZXJ0eSk6CisgICAgICAgICogcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oOgorICAg
ICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU0dsb2Jh
bE9iamVjdDo6aW5pdCk6CisgICAgICAgICogcnVudGltZS9SZWZsZWN0T2JqZWN0LmNwcDogQWRk
ZWQuCisgICAgICAgIChKU0M6OlJlZmxlY3RPYmplY3Q6OlJlZmxlY3RPYmplY3QpOgorICAgICAg
ICAoSlNDOjpSZWZsZWN0T2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6OlJl
ZmxlY3RPYmplY3Q6OmdldE93blByb3BlcnR5U2xvdCk6CisgICAgICAgICogcnVudGltZS9SZWZs
ZWN0T2JqZWN0Lmg6IEFkZGVkLgorICAgICAgICAoSlNDOjpSZWZsZWN0T2JqZWN0OjpjcmVhdGUp
OgorICAgICAgICAoSlNDOjpSZWZsZWN0T2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUpOgorICAgICAg
ICAqIHRlc3RzL3N0cmVzcy9yZWZsZWN0LWRlbGV0ZS1wcm9wZXJ0eS5qczogQWRkZWQuCisgICAg
ICAgIChzaG91bGRCZSk6CisgICAgICAgIChzaG91bGRUaHJvdyk6CisKIDIwMTUtMDctMjQgIFl1
c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgQXZvaWQgMiB0
aW1lcyBuYW1lIGl0ZXJhdGlvbiBpbiBPYmplY3QuYXNzaWduCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDcyNjgKIApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NN
YWtlTGlzdHMudHh0CmluZGV4IGYzMjk1ZTVmODVjNDA2OGJmMWUwYWJkMWRjZTE5NmQ0YmQzNTNi
ZDcuLjUxOWZjYWY0NjExMzljZjcxMTg4NmY4ZDEzNGE5ZGRjNTFhODYyNTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTU1Niw2ICs1NTYsNyBAQCBzZXQoSmF2YVNjcmlw
dENvcmVfUlVOVElNRV9TT1VSQ0VTCiAgICAgcnVudGltZS9Qcm9wZXJ0eVNsb3QuY3BwCiAgICAg
cnVudGltZS9Qcm9wZXJ0eVRhYmxlLmNwcAogICAgIHJ1bnRpbWUvUHJvdG90eXBlTWFwLmNwcAor
ICAgIHJ1bnRpbWUvUmVmbGVjdE9iamVjdC5jcHAKICAgICBydW50aW1lL1JlZ0V4cC5jcHAKICAg
ICBydW50aW1lL1JlZ0V4cENhY2hlLmNwcAogICAgIHJ1bnRpbWUvUmVnRXhwQ2FjaGVkUmVzdWx0
LmNwcApAQCAtNjI5LDYgKzYzMCw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9MVVRfRklMRVMKICAg
ICBydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcAogICAgIHJ1bnRpbWUvTnVtYmVyUHJvdG90
eXBlLmNwcAogICAgIHJ1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCisgICAgcnVudGltZS9S
ZWZsZWN0T2JqZWN0LmNwcAogICAgIHJ1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCiAgICAg
cnVudGltZS9SZWdFeHBQcm90b3R5cGUuY3BwCiAgICAgcnVudGltZS9TdHJpbmdDb25zdHJ1Y3Rv
ci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5t
YWtlIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNjc3
ZjRjZWU2OTM1NjA0NTllODA3ODdhNjA4NjU2ODIyYTVmNDc1YS4uZjM1YWI4NjcyNDBmOTI2ODhm
OTM2ZDEyMWY5OWMxMWIzNWZmYWM1MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKQEAgLTUxLDYgKzUxLDcgQEAgYWxsIDogXAogICAgIE51bWJlckNvbnN0cnVj
dG9yLmx1dC5oIFwKICAgICBOdW1iZXJQcm90b3R5cGUubHV0LmggXAogICAgIE9iamVjdENvbnN0
cnVjdG9yLmx1dC5oIFwKKyAgICBSZWZsZWN0T2JqZWN0Lmx1dC5oIFwKICAgICBSZWdFeHBDb25z
dHJ1Y3Rvci5sdXQuaCBcCiAgICAgUmVnRXhwUHJvdG90eXBlLmx1dC5oIFwKICAgICBSZWdFeHBK
aXRUYWJsZXMuaCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvagppbmRleCA5
MzJmY2FjZTMzMGVkZGY0ZGZkYTFkNThiYjUwMjA2YTAxZWRjY2Q2Li4xMThhOTEzZGY1NDY4ODVj
NDQ2Y2E1YWIzZTQ2NzdjMzkyOGZmMDIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3Jl
LnZjeHByb2oKQEAgLTgwOSw2ICs4MDksNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
cnVudGltZVxQcm9wZXJ0eVNsb3QuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
cnVudGltZVxQcm9wZXJ0eVRhYmxlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHJ1bnRpbWVcUHJvdG90eXBlTWFwLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4u
XHJ1bnRpbWVcUmVmbGVjdE9iamVjdC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxydW50aW1lXFJlZ0V4cC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxydW50
aW1lXFJlZ0V4cENhY2hlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRp
bWVcUmVnRXhwQ2FjaGVkUmVzdWx0LmNwcCIgLz4KQEAgLTkwMiw2ICs5MDMsNyBAQAogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1B
cmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXE51bWJlckNvbnN0cnVj
dG9yLmx1dC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVp
bGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXE51bWJlclByb3RvdHlwZS5sdXQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xPYmplY3RDb25zdHJ1Y3Rvci5sdXQuaCIgLz4KKyAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRm
b3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xSZWZsZWN0T2Jq
ZWN0Lmx1dC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVp
bGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXFJlZ0V4cENvbnN0cnVjdG9yLmx1dC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQo
UHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFJlZ0V4cEppdFRhYmxlcy5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1B
cmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFJlZ0V4cFByb3RvdHlw
ZS5sdXQuaCIgLz4KQEAgLTE2NTEsNiArMTY1Myw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxydW50aW1lXFByb3RvdHlwZU1hcC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5ccnVudGltZVxQdXREaXJlY3RJbmRleE1vZGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHJ1bnRpbWVcUHV0UHJvcGVydHlTbG90LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlxydW50aW1lXFJlZmxlY3RPYmplY3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXHJ1bnRpbWVcUmVnRXhwLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxy
dW50aW1lXFJlZ0V4cENhY2hlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50
aW1lXFJlZ0V4cENhY2hlZFJlc3VsdC5oIiAvPgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvai5maWx0
ZXJzIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNj
cmlwdENvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IDhlNjU1NzFkNDdmZjhmM2E0N2VhZjgzN2U3
NDQzZWQzZmJmNTQ2MTUuLjYwYzY0OWE4MzNiZWZhNWIyYjliNDdmOTI1OTI1NGJiNWFlZDBmM2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9q
L0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMK
QEAgLTc5OCw2ICs3OTgsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxQ
cm9wZXJ0eVNsb3QuY3BwIj4KICAgICAgIDxGaWx0ZXI+cnVudGltZTwvRmlsdGVyPgogICAgIDwv
Q2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccnVudGltZVxSZWZsZWN0T2Jq
ZWN0LmNwcCI+CisgICAgICA8RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4KKyAgICA8L0NsQ29tcGls
ZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHJ1bnRpbWVcUmVnRXhwLmNwcCI+CiAgICAg
ICA8RmlsdGVyPnJ1bnRpbWU8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTI4ODAsNiAr
Mjg4Myw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXFB1dFByb3BlcnR5
U2xvdC5oIj4KICAgICAgIDxGaWx0ZXI+cnVudGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRl
PgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccnVudGltZVxSZWZsZWN0T2JqZWN0LmgiPgor
ICAgICAgPEZpbHRlcj5ydW50aW1lPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxydW50aW1lXFJlZ0V4cC5oIj4KICAgICAgIDxGaWx0ZXI+cnVu
dGltZTwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpAQCAtMzExNSw2ICszMTIxLDkgQEAKICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRm
b3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xPYmplY3RDb25z
dHJ1Y3Rvci5sdXQuaCI+CiAgICAgICA8RmlsdGVyPkRlcml2ZWQgU291cmNlczwvRmlsdGVyPgog
ICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9u
QnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXFJlZmxlY3RPYmplY3QubHV0LmgiPgorICAgICAgPEZpbHRlcj5EZXJpdmVkIFNv
dXJjZXM8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFBy
b2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xSZWdFeHBDb25zdHJ1Y3Rvci5sdXQuaCI+CiAgICAg
ICA8RmlsdGVyPkRlcml2ZWQgU291cmNlczwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlMWMzMWM2NzMwN2RhYzViMWFkMWYwOTY2OTU5
Yjk1MGU5ZDhkMmI5Li5mMTM5N2NiNTNlNjk4MWEyNTI0ZWU4MzQyNzQyNmU0YzQyYzgxZWI1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTY1NSw2ICsxNjU1LDggQEAKIAkJRTEy
NEE4RjcwRTU1NTc3NTAwMzA5MUYxIC8qIE9wYXF1ZUpTU3RyaW5nLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTI0QThGNTBFNTU1Nzc1MDAzMDkxRjEg
LyogT3BhcXVlSlNTdHJpbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlFMTI0QThGODBFNTU1Nzc1MDAzMDkxRjEgLyogT3BhcXVlSlNTdHJpbmcu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTEyNEE4
RjYwRTU1NTc3NTAwMzA5MUYxIC8qIE9wYXF1ZUpTU3RyaW5nLmNwcCAqLzsgfTsKIAkJRTE4RTNB
NTkwREY5Mjc4QzAwRDkwQjM0IC8qIFZNLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUxOEUzQTU3MERGOTI3OEMwMEQ5MEIzNCAvKiBWTS5jcHAgKi87
IH07CisJCUUzMzYzN0E1MUI2MzIyMDIwMEVFMDg0MCAvKiBSZWZsZWN0T2JqZWN0LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzMzYzN0EzMUI2MzIy
MDIwMEVFMDg0MCAvKiBSZWZsZWN0T2JqZWN0LmNwcCAqLzsgfTsKKwkJRTMzNjM3QTYxQjYzMjIw
MjAwRUUwODQwIC8qIFJlZmxlY3RPYmplY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEUzMzYzN0E0MUI2MzIyMDIwMEVFMDg0MCAvKiBSZWZsZWN0T2Jq
ZWN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
RTM1NDYyMkIxQjYwNjVEMTAwNTQ1Mzg2IC8qIENvbnN0cnVjdEFiaWxpdHkuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzNTQ2MjJBMUI2MDY1RDEwMDU0
NTM4NiAvKiBDb25zdHJ1Y3RBYmlsaXR5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTQ5REMxNkIxMkVGMjkzRTAwMTg0QTFGIC8qIFNvdXJjZVBy
b3ZpZGVyQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTQ5REMxNTUxMkVGMjc3MjAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUuY3Bw
ICovOyB9OwogCQlFNDlEQzE2QzEyRUYyOTRFMDAxODRBMUYgLyogU291cmNlUHJvdmlkZXJDYWNo
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQ5REMx
NTExMkVGMjcyMjAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMzQyOCw2ICszNDMwLDggQEAK
IAkJRTE3ODYzNkMwRDlCRUVDMzAwRDc0RTc1IC8qIEluaXRpYWxpemVUaHJlYWRpbmcuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5pdGlhbGl6ZVRocmVhZGluZy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxOEUzQTU2MERGOTI3OEMwMEQ5MEIz
NCAvKiBWTS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IGxpbmVFbmRpbmcgPSAwOyBwYXRo
ID0gVk0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25J
ZGVudGlmaWVyID0geGNvZGUubGFuZy5vYmpjcHA7IH07CiAJCUUxOEUzQTU3MERGOTI3OEMwMEQ5
MEIzNCAvKiBWTS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcg
PSAwOyBwYXRoID0gVk0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3Bl
Y2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKKwkJRTMzNjM3QTMxQjYz
MjIwMjAwRUUwODQwIC8qIFJlZmxlY3RPYmplY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gUmVmbGVjdE9iamVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUUzMzYzN0E0MUI2MzIyMDIwMEVFMDg0MCAvKiBSZWZsZWN0T2JqZWN0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlZmxlY3RPYmplY3QuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTM1NDYyMkExQjYwNjVEMTAwNTQ1Mzg2IC8qIENvbnN0cnVjdEFi
aWxpdHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29uc3RydWN0QWJpbGl0
eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNDlEQzE0OTEyRUYyNjFBMDAxODRB
MUYgLyogU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU291cmNlUHJvdmlkZXJDYWNoZUl0ZW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTQ5REMxNTExMkVGMjcyMjAwMTg0QTFGIC8qIFNvdXJjZVByb3ZpZGVyQ2FjaGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU291cmNlUHJvdmlkZXJDYWNoZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDY4NCw2ICs0Njg4LDggQEAKIAkJCQkw
RjU3ODBBMTE4RkUxRTk4MDAxRTcyRDkgLyogUHVyZU5hTi5oICovLAogCQkJCTBGMENENEMwMTVG
MUE2MDQwMDMyRjFDMCAvKiBQdXREaXJlY3RJbmRleE1vZGUuaCAqLywKIAkJCQkxNDdCODQ2MjBF
NkRFNkIxMDA0Nzc1QTQgLyogUHV0UHJvcGVydHlTbG90LmggKi8sCisJCQkJRTMzNjM3QTMxQjYz
MjIwMjAwRUUwODQwIC8qIFJlZmxlY3RPYmplY3QuY3BwICovLAorCQkJCUUzMzYzN0E0MUI2MzIy
MDIwMEVFMDg0MCAvKiBSZWZsZWN0T2JqZWN0LmggKi8sCiAJCQkJRjY5MkE4N0QwMjU1NTk3RDAx
RkY2MEY3IC8qIFJlZ0V4cC5jcHAgKi8sCiAJCQkJRjY5MkE4N0UwMjU1NTk3RDAxRkY2MEY3IC8q
IFJlZ0V4cC5oICovLAogCQkJCUExNzEyQjNBMTFDN0IyMTIwMDdBNTMxNSAvKiBSZWdFeHBDYWNo
ZS5jcHAgKi8sCkBAIC02Mjk3LDYgKzYzMDMsNyBAQAogCQkJCTBGQzNDQ0ZFMTlBREE0MTAwMDZB
QzcyQSAvKiBERkdCbG9ja1NldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTdFNUFCMzgxNzk5RTRC
MjAwRDI4MzNEIC8qIExMVk1EaXNhc3NlbWJsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQ0VG
QUQzMTgwNUVEQ0MwMDQ3MkNFNCAvKiBMTFZNSGVhZGVycy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
RTMzNjM3QTYxQjYzMjIwMjAwRUUwODQwIC8qIFJlZmxlY3RPYmplY3QuaCBpbiBIZWFkZXJzICov
LAogCQkJCTE0MkUzMTM5MTM0RkYwQTYwMEFGQURCNSAvKiBMb2NhbC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMTQyRTMxM0ExMzRGRjBBNjAwQUZBREI1IC8qIExvY2FsU2NvcGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDMThDNDM3MEUxNkY1Q0QwMEIzNDQ2MCAvKiBMb29rdXAuaCBpbiBIZWFkZXJz
ICovLApAQCAtNzMwNyw2ICs3MzE0LDcgQEAKIAkJCQkwRjVBMTI3MzE5MkQ5RkRGMDA4NzY0QTMg
LyogREZHRG9lc0dDLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE1M0NFMDg3MThCQzFBNTYwMEJF
REY3NiAvKiBKU0NvbnNvbGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY1QTYyODMxODhDOThE
NDAwNzJDOURGIC8qIEZUTFZhbHVlUmFuZ2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRTMzNjM3
QTUxQjYzMjIwMjAwRUUwODQwIC8qIFJlZmxlY3RPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMTQ3RjM5Q0IxMDdFQzM3NjAwNDI3QTQ4IC8qIEZ1bmN0aW9uQ29uc3RydWN0b3IuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMEZGMEYxOUYxNkI3MkExNzAwNURGOTVCIC8qIEZ1bmN0aW9uRXhl
Y3V0YWJsZUR1bXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTJCMzEwRkQxOTc0QUU4NzAwODA4
NTdDIC8qIEZ1bmN0aW9uSGFzRXhlY3V0ZWRDYWNoZS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9SZWZsZWN0T2JqZWN0LmpzIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL1JlZmxlY3RPYmplY3QuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMTUwMTNhYzRlZTI3NmMwNGQwM2Y0YTcwM2YwNTgwYzU0NjFiOWI2NgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9SZWZsZWN0T2JqZWN0LmpzCkBA
IC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCitmdW5jdGlvbiBkZWxldGVQcm9wZXJ0eSh0YXJnZXQsIHByb3BlcnR5S2V5KQoreworICAg
IC8vIEludGVudGlvbmFsbHkga2VlcCB0aGUgY29kZSB0aGUgc2xvcHB5IG1vZGUgdG8gc3VwcHJl
c3MgdGhlIFR5cGVFcnJvcgorICAgIC8vIHJhaXNlZCBieSB0aGUgZGVsZXRlIG9wZXJhdG9yIHVu
ZGVyIHRoZSBzdHJpY3QgbW9kZS4KKworICAgIGlmICghQGlzT2JqZWN0KHRhcmdldCkpCisgICAg
ICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJSZWZsZWN0LmRlbGV0ZVByb3BlcnR5IHJlcXVpcmVz
IHRoZSBmaXJzdCBhcmd1bWVudCBiZSBhIG9iamVjdCIpOworCisgICAgcmV0dXJuIGRlbGV0ZSB0
YXJnZXRbcHJvcGVydHlLZXldOworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Db21tb25JZGVudGlmaWVycy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQ29tbW9uSWRlbnRpZmllcnMuaAppbmRleCBhMWVhMzI4ZDdjNTRjZDNhZTQ3MTlkYzM1
OTJiMmFlY2Y4Yzc2ZWU5Li40MzJmYjZjMWIxNmZjZjJmMjI3MTEzZDI3NmVjMDgyNWZjNTI5YmQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db21tb25JZGVudGlm
aWVycy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbW1vbklkZW50aWZp
ZXJzLmgKQEAgLTQ5LDYgKzQ5LDcgQEAKICAgICBtYWNybyhQcm9taXNlKSBcCiAgICAgbWFjcm8o
UmFuZ2VFcnJvcikgXAogICAgIG1hY3JvKFJlZmVyZW5jZUVycm9yKSBcCisgICAgbWFjcm8oUmVm
bGVjdCkgXAogICAgIG1hY3JvKFJlZ0V4cCkgXAogICAgIG1hY3JvKFNldClcCiAgICAgbWFjcm8o
U2V0SXRlcmF0b3IpXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9i
YWxPYmplY3QuY3BwCmluZGV4IDdmNzQxYWRmNWQ3OTgxZTM5NWRlMTM5NGY1NDM1NGY3MjdhMzkz
NzYuLjNlZmE2NjcwMGYwMzRkNzE1MWI2MmM4NzEwMTg5ZWM0NGUzZDgzNDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKQEAgLTExMiw2
ICsxMTIsNyBAQAogI2luY2x1ZGUgIk9iamVjdENvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiT2Jq
ZWN0UHJvdG90eXBlLmgiCiAjaW5jbHVkZSAiUGFyc2VyRXJyb3IuaCIKKyNpbmNsdWRlICJSZWZs
ZWN0T2JqZWN0LmgiCiAjaW5jbHVkZSAiUmVnRXhwQ29uc3RydWN0b3IuaCIKICNpbmNsdWRlICJS
ZWdFeHBNYXRjaGVzQXJyYXkuaCIKICNpbmNsdWRlICJSZWdFeHBPYmplY3QuaCIKQEAgLTQzNCw2
ICs0MzUsNyBAQCBwdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1l
cy0+IGpzTmFtZSwgbG93ZXJOYW1lICMjIENvbnN0cnVjdAogI2VuZGlmIC8vIEVOQUJMRShJTlRM
KQogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5K
U09OLCBKU09OT2JqZWN0OjpjcmVhdGUodm0sIEpTT05PYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZSh2
bSwgdGhpcywgbV9vYmplY3RQcm90b3R5cGUuZ2V0KCkpKSwgRG9udEVudW0pOwogICAgIHB1dERp
cmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5NYXRoLCBNYXRoT2Jq
ZWN0OjpjcmVhdGUodm0sIHRoaXMsIE1hdGhPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhp
cywgbV9vYmplY3RQcm90b3R5cGUuZ2V0KCkpKSwgRG9udEVudW0pOworICAgIHB1dERpcmVjdFdp
dGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5SZWZsZWN0LCBSZWZsZWN0T2Jq
ZWN0OjpjcmVhdGUodm0sIHRoaXMsIFJlZmxlY3RPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZSh2bSwg
dGhpcywgbV9vYmplY3RQcm90b3R5cGUuZ2V0KCkpKSwgRG9udEVudW0pOwogICAgIAogICAgIHN0
ZDo6YXJyYXk8SW50ZXJuYWxGdW5jdGlvbiosIE5VTUJFUl9PRl9UWVBFRF9BUlJBWV9UWVBFUz4g
dHlwZWRBcnJheUNvbnN0cnVjdG9yczsKICAgICB0eXBlZEFycmF5Q29uc3RydWN0b3JzW3RvSW5k
ZXgoVHlwZUludDgpXSA9IEpTSW50OEFycmF5Q29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgSlNJbnQ4
QXJyYXlDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9uUHJv
dG90eXBlLmdldCgpKSwgbV90eXBlZEFycmF5c1t0b0luZGV4KFR5cGVJbnQ4KV0ucHJvdG90eXBl
LmdldCgpLCBBU0NJSUxpdGVyYWwoIkludDhBcnJheSIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZmxlY3RPYmplY3QuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUmVmbGVjdE9iamVjdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGUxM2Q2NzEwMzUw
NGIzNzg4NTU5MWQ5MDNjY2M4OWJkOWQwMTJkNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZmxlY3RPYmplY3QuY3BwCkBAIC0wLDAgKzEsNjQgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiUmVmbGVjdE9iamVjdC5oIgorCisjaW5jbHVkZSAiSlNDSW5s
aW5lcy5oIgorI2luY2x1ZGUgIkxvb2t1cC5oIgorCisjaW5jbHVkZSAiUmVmbGVjdE9iamVjdC5s
dXQuaCIKKworbmFtZXNwYWNlIEpTQyB7CisKK1NUQVRJQ19BU1NFUlRfSVNfVFJJVklBTExZX0RF
U1RSVUNUSUJMRShSZWZsZWN0T2JqZWN0KTsKKworY29uc3QgQ2xhc3NJbmZvIFJlZmxlY3RPYmpl
Y3Q6OnNfaW5mbyA9IHsgIlJlZmxlY3QiLCAmQmFzZTo6c19pbmZvLCAmcmVmbGVjdE9iamVjdFRh
YmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFJlZmxlY3RPYmplY3QpIH07CisKKy8qIFNvdXJjZSBm
b3IgUmVmbGVjdE9iamVjdC5sdXQuaAorQGJlZ2luIHJlZmxlY3RPYmplY3RUYWJsZQorICAgIGRl
bGV0ZVByb3BlcnR5ICByZWZsZWN0T2JqZWN0R2V0IERvbnRFbnVtfEZ1bmN0aW9uIDIKK0BlbmQK
KyovCisKK1JlZmxlY3RPYmplY3Q6OlJlZmxlY3RPYmplY3QoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSkKKyAgICA6IEpTTm9uRmluYWxPYmplY3Qodm0sIHN0cnVjdHVyZSkKK3sKK30KKwor
dm9pZCBSZWZsZWN0T2JqZWN0OjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTR2xvYmFsT2JqZWN0
KikKK3sKKyAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CisgICAgQVNTRVJUKGluaGVyaXRz
KGluZm8oKSkpOworfQorCitib29sIFJlZmxlY3RPYmplY3Q6OmdldE93blByb3BlcnR5U2xvdChK
U09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5h
bWUsIFByb3BlcnR5U2xvdCAmc2xvdCkKK3sKKyAgICByZXR1cm4gZ2V0U3RhdGljRnVuY3Rpb25T
bG90PEJhc2U+KGV4ZWMsIHJlZmxlY3RPYmplY3RUYWJsZSwganNDYXN0PFJlZmxlY3RPYmplY3Qq
PihvYmplY3QpLCBwcm9wZXJ0eU5hbWUsIHNsb3QpOworfQorCisvLyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0gRnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
CisKK30gLy8gbmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUmVmbGVjdE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UmVmbGVjdE9iamVjdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhNzM1MDIyOWRjODEyZDQ0YmU3NjdmYzE0ZjU2
YjkyZWNmNjFmY2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9SZWZsZWN0T2JqZWN0LmgKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNSBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUmVmbGVjdE9iamVjdF9oCisjZGVm
aW5lIFJlZmxlY3RPYmplY3RfaAorCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKworbmFtZXNwYWNl
IEpTQyB7CisKK2NsYXNzIFJlZmxlY3RPYmplY3QgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7
Citwcml2YXRlOgorICAgIFJlZmxlY3RPYmplY3QoVk0mLCBTdHJ1Y3R1cmUqKTsKKworcHVibGlj
OgorICAgIHR5cGVkZWYgSlNOb25GaW5hbE9iamVjdCBCYXNlOworICAgIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgT3ZlcnJpZGVz
R2V0T3duUHJvcGVydHlTbG90OworCisgICAgc3RhdGljIFJlZmxlY3RPYmplY3QqIGNyZWF0ZShW
TSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFN0cnVjdHVyZSogc3RydWN0dXJl
KQorICAgIHsKKyAgICAgICAgUmVmbGVjdE9iamVjdCogb2JqZWN0ID0gbmV3IChOb3ROdWxsLCBh
bGxvY2F0ZUNlbGw8UmVmbGVjdE9iamVjdD4odm0uaGVhcCkpIFJlZmxlY3RPYmplY3Qodm0sIHN0
cnVjdHVyZSk7CisgICAgICAgIG9iamVjdC0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVj
dCk7CisgICAgICAgIHJldHVybiBvYmplY3Q7CisgICAgfQorCisgICAgREVDTEFSRV9JTkZPOwor
CisgICAgc3RhdGljIFN0cnVjdHVyZSogY3JlYXRlU3RydWN0dXJlKFZNJiB2bSwgSlNHbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgSlNWYWx1ZSBwcm90b3R5cGUpCisgICAgeworICAgICAgICBy
ZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBUeXBl
SW5mbyhPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7CisgICAgfQorCisgICAg
c3RhdGljIGJvb2wgZ2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgUHJv
cGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKKworcHJvdGVjdGVkOgorICAgIHZvaWQgZmluaXNo
Q3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCopOworfTsKKworfSAvLyBuYW1lc3BhY2UgSlND
CisKKyNlbmRpZiAvLyBSZWZsZWN0T2JqZWN0X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvcmVmbGVjdC1kZWxldGUtcHJvcGVydHkuanMgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3JlZmxlY3QtZGVsZXRlLXByb3BlcnR5LmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmNiOGY5N2E2MzczNTJkZjE4ZGMxNGE3ZDM2MjYwOGY4OThlMjQ5ZjEKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3JlZmxlY3Qt
ZGVsZXRlLXByb3BlcnR5LmpzCkBAIC0wLDAgKzEsNTYgQEAKK2Z1bmN0aW9uIHNob3VsZEJlKGFj
dHVhbCwgZXhwZWN0ZWQpIHsKKyAgICBpZiAoYWN0dWFsICE9PSBleHBlY3RlZCkKKyAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCdiYWQgdmFsdWU6ICcgKyBhY3R1YWwpOworfQorCitmdW5jdGlvbiBz
aG91bGRUaHJvdyhmdW5jLCBtZXNzYWdlKSB7CisgICAgdmFyIGVycm9yID0gbnVsbDsKKyAgICB0
cnkgeworICAgICAgICBmdW5jKCk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBlcnJvciA9
IGU7CisgICAgfQorICAgIGlmICghZXJyb3IpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigibm90
IHRocm93bi4iKTsKKyAgICBpZiAoU3RyaW5nKGVycm9yKSAhPT0gbWVzc2FnZSkKKyAgICAgICAg
dGhyb3cgbmV3IEVycm9yKCJiYWQgZXJyb3I6ICIgKyBTdHJpbmcoZXJyb3IpKTsKK30KKworc2hv
dWxkQmUoUmVmbGVjdC5kZWxldGVQcm9wZXJ0eS5sZW5ndGgsIDIpOworCitzaG91bGRUaHJvdygo
KSA9PiB7CisgICAgUmVmbGVjdC5kZWxldGVQcm9wZXJ0eSgiaGVsbG8iLCA0Mik7Cit9LCBgVHlw
ZUVycm9yOiBSZWZsZWN0LmRlbGV0ZVByb3BlcnR5IHJlcXVpcmVzIHRoZSBmaXJzdCBhcmd1bWVu
dCBiZSBhIG9iamVjdGApOworCit2YXIgb2JqZWN0ID0geyBoZWxsbzogNDIgfTsKK3Nob3VsZEJl
KG9iamVjdC5oZWxsbywgNDIpOworc2hvdWxkQmUob2JqZWN0Lmhhc093blByb3BlcnR5KCdoZWxs
bycpLCB0cnVlKTsKK3Nob3VsZEJlKFJlZmxlY3QuZGVsZXRlUHJvcGVydHkob2JqZWN0LCAnaGVs
bG8nKSwgdHJ1ZSk7CitzaG91bGRCZShvYmplY3QuaGFzT3duUHJvcGVydHkoJ2hlbGxvJyksIGZh
bHNlKTsKK3Nob3VsZEJlKFJlZmxlY3QuZGVsZXRlUHJvcGVydHkob2JqZWN0LCAnaGFzT3duUHJv
cGVydHknKSwgdHJ1ZSk7CitzaG91bGRCZShvYmplY3QuaGFzT3duUHJvcGVydHkoJ2hhc093blBy
b3BlcnR5JyksIGZhbHNlKTsKKworc2hvdWxkQmUoUmVmbGVjdC5kZWxldGVQcm9wZXJ0eShbXSwg
J2xlbmd0aCcpLCBmYWxzZSk7CitzaG91bGRCZShSZWZsZWN0LmRlbGV0ZVByb3BlcnR5KFswLDEs
Ml0sIDApLCB0cnVlKTsKKwordmFyIG9iamVjdCA9IHsKKyAgICBbU3ltYm9sLml0ZXJhdG9yXTog
NDIKK307CitzaG91bGRCZShvYmplY3QuaGFzT3duUHJvcGVydHkoU3ltYm9sLml0ZXJhdG9yKSwg
dHJ1ZSk7CitzaG91bGRCZShvYmplY3RbU3ltYm9sLml0ZXJhdG9yXSwgNDIpOworc2hvdWxkQmUo
UmVmbGVjdC5kZWxldGVQcm9wZXJ0eShvYmplY3QsIFN5bWJvbC5pdGVyYXRvciksIHRydWUpOwor
c2hvdWxkQmUob2JqZWN0Lmhhc093blByb3BlcnR5KFN5bWJvbC5pdGVyYXRvciksIGZhbHNlKTsK
KwordmFyIHRvUHJvcGVydHlLZXkgPSB7CisgICAgdG9TdHJpbmcoKSB7CisgICAgICAgIHRocm93
IG5ldyBFcnJvcigndG9TdHJpbmcgY2FsbGVkLicpOworICAgIH0KK307CisKK3Nob3VsZFRocm93
KCgpID0+IHsKKyAgICBSZWZsZWN0LmRlbGV0ZVByb3BlcnR5KCJoZWxsbyIsIHRvUHJvcGVydHlL
ZXkpOworfSwgYFR5cGVFcnJvcjogUmVmbGVjdC5kZWxldGVQcm9wZXJ0eSByZXF1aXJlcyB0aGUg
Zmlyc3QgYXJndW1lbnQgYmUgYSBvYmplY3RgKTsKKworc2hvdWxkVGhyb3coKCkgPT4geworICAg
IFJlZmxlY3QuZGVsZXRlUHJvcGVydHkoe30sIHRvUHJvcGVydHlLZXkpOworfSwgYEVycm9yOiB0
b1N0cmluZyBjYWxsZWQuYCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>