<?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>171618</bug_id>
          
          <creation_ts>2017-05-03 14:14:28 -0700</creation_ts>
          <short_desc>[Win][Meta] Build WebKit using Clang</short_desc>
          <delta_ts>2023-10-03 19:00:29 -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>Tools / Tests</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>170833</dependson>
    
    <dependson>171751</dependson>
    
    <dependson>171752</dependson>
    
    <dependson>171864</dependson>
    
    <dependson>173889</dependson>
    
    <dependson>189398</dependson>
    
    <dependson>189399</dependson>
    
    <dependson>189402</dependson>
    
    <dependson>189538</dependson>
    
    <dependson>189539</dependson>
    
    <dependson>189542</dependson>
    
    <dependson>189575</dependson>
    
    <dependson>189612</dependson>
    
    <dependson>189693</dependson>
    
    <dependson>189730</dependson>
    
    <dependson>189732</dependson>
    
    <dependson>189733</dependson>
    
    <dependson>190514</dependson>
    
    <dependson>190744</dependson>
    
    <dependson>191146</dependson>
    
    <dependson>191959</dependson>
    
    <dependson>191960</dependson>
    
    <dependson>192581</dependson>
    
    <dependson>192583</dependson>
    
    <dependson>192584</dependson>
    
    <dependson>192617</dependson>
    
    <dependson>192618</dependson>
    
    <dependson>192688</dependson>
    
    <dependson>192693</dependson>
    
    <dependson>192695</dependson>
    
    <dependson>192924</dependson>
    
    <dependson>193029</dependson>
    
    <dependson>193035</dependson>
    
    <dependson>204831</dependson>
    
    <dependson>234696</dependson>
    
    <dependson>255449</dependson>
    
    <dependson>259090</dependson>
    
    <dependson>259096</dependson>
    
    <dependson>259097</dependson>
    
    <dependson>259098</dependson>
    
    <dependson>259119</dependson>
    
    <dependson>260376</dependson>
    
    <dependson>261297</dependson>
    
    <dependson>262154</dependson>
    
    <dependson>262506</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Don Olmstead">don.olmstead</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>basuke</cc>
    
    <cc>fujii</cc>
    
    <cc>ian.grunert</cc>
    
    <cc>lforschler</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1304236</commentid>
    <comment_count>0</comment_count>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2017-05-03 14:14:28 -0700</bug_when>
    <thetext>Tracking bug for supporting Clang builds on Windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457004</commentid>
    <comment_count>1</comment_count>
      <attachid>349006</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-06 00:42:15 -0700</bug_when>
    <thetext>Created attachment 349006
WIP patch

&gt; perl Tools\Scripts\build-webkit --release --wincairo --ninja --cmakeargs=&quot;-DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_C_FLAGS=-m64 -DCMAKE_CXX_FLAGS=-m64&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457012</commentid>
    <comment_count>2</comment_count>
      <attachid>349010</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-06 02:40:12 -0700</bug_when>
    <thetext>Created attachment 349010
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457420</commentid>
    <comment_count>3</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-06 23:26:37 -0700</bug_when>
    <thetext>I uploaded build logs showing all compilation errors.
https://gist.github.com/fujii/ea5a60634e44f9c2a84cf3d3de95e2ad
I&apos;m using LLVM-8.0.0-r339319-win64.exe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1457430</commentid>
    <comment_count>4</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-07 00:48:11 -0700</bug_when>
    <thetext>  LLVM Project Blog: Clang is now used to build Chrome for Windows
  http://blog.llvm.org/2018/03/clang-is-now-used-to-build-chrome-for.html

I believe this is the right direction WinCairo port should follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1459259</commentid>
    <comment_count>5</comment_count>
      <attachid>349627</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-12 22:13:47 -0700</bug_when>
    <thetext>Created attachment 349627
WIP patch

Compiler macro definitions should be rethought.

Current definitions:

WTF_COMPILER_GCC_OR_CLANG 0
WTF_COMPILER_CLANG 1
WTF_COMPILER_MSVC 1

* It is weird WTF_COMPILER_GCC_OR_CLANG is off even though WTF_COMPILER_CLANG is on.
* Should WTF_COMPILER_MSVC be on?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1459654</commentid>
    <comment_count>6</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-13 21:20:09 -0700</bug_when>
    <thetext>Here are the built-in macro definitions of Clang for Windows:

_MSC_VER: 1914
__GNUC__ is not defined
__clang__: 1

clang version 8.0.0 (trunk)
Target: x86_64-pc-windows-msvc

check program: https://gist.github.com/fujii/4547bda099b3568f46ee164674b1f60d</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460477</commentid>
    <comment_count>7</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-17 20:08:29 -0700</bug_when>
    <thetext>Using clang-cl to ship Windows builds - Google Group
https://groups.google.com/forum/m/#!topic/mozilla.dev.platform/wwO48xXFx0A

1443590 - Use clang-cl for Windows builds we ship to users
https://bugzilla.mozilla.org/show_bug.cgi?id=1443590

glandium.org » Blog Archive » Firefox is now built with clang LTO on all* platforms
https://glandium.org/blog/?p=3888</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460520</commentid>
    <comment_count>8</comment_count>
      <attachid>350006</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-17 23:41:40 -0700</bug_when>
    <thetext>Created attachment 350006
WIP Patch not to define WTF_COMPILER_MSVC

WTF_COMPILER_GCC_OR_CLANG 1
WTF_COMPILER_CLANG 1
WTF_COMPILER_MSVC 0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460521</commentid>
    <comment_count>9</comment_count>
      <attachid>350007</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-17 23:42:43 -0700</bug_when>
    <thetext>Created attachment 350007
WIP Patch to define WTF_COMPILER_MSVC

WTF_COMPILER_GCC_OR_CLANG 0
WTF_COMPILER_CLANG 1
WTF_COMPILER_MSVC 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1460842</commentid>
    <comment_count>10</comment_count>
      <attachid>350006</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-18 20:16:03 -0700</bug_when>
    <thetext>Comment on attachment 350006
WIP Patch not to define WTF_COMPILER_MSVC

It seems safer that Clang for Windows builds the same code path with MSVC in the transition phase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463119</commentid>
    <comment_count>11</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-25 03:02:06 -0700</bug_when>
    <thetext>WinCairo port can be built by Clang for Windows (with zillions of compilation warnings).
https://trac.webkit.org/r236450

I took benchmarks:

ARES-6:

MSVC: 37.24ms
Clang: 35.85ms (faster)

Speedometer:

MSVC: 59.38 (faster)
Clang: 56.9

(I needed some trial for Clang because Clang built executable is unstable and did finish the benchmark.)

Build Time:

Ninja+MSVC: 30min (much faster)
Ninja+Clang+link.exe: 50min</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463120</commentid>
    <comment_count>12</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-25 03:03:17 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #11)
&gt; (I needed some trial for Clang because Clang built executable is unstable
&gt; and did finish the benchmark.)

did not finish</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463463</commentid>
    <comment_count>13</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-25 18:52:47 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #12)
&gt; (In reply to Fujii Hironori from comment #11)
&gt; &gt; (I needed some trial for Clang because Clang built executable is unstable
&gt; &gt; and did finish the benchmark.)
&gt; 
&gt; did not finish

I was wrong. MSVC builds are also unstable for the benchmark. This is not Clang builds issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463494</commentid>
    <comment_count>14</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-25 20:28:00 -0700</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #11)
&gt; Build Time:
&gt; 
&gt; Ninja+MSVC: 30min (much faster)
&gt; Ninja+Clang+link.exe: 50min

This slowness is caused by the zillions of compilation warnings.
If I apply the part of Comment 8 patch to suppress the warning,
the build time becomes comparable.

&gt; ====================================================================
&gt;  WebKit is now built (32m:13s).
&gt; ====================================================================</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463496</commentid>
    <comment_count>15</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-25 20:34:13 -0700</bug_when>
    <thetext>How to: Debug an Executable Not Part of a Visual Studio Solution | Microsoft Docs
https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-3.0/0bxe8ytt(v=vs.85)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471527</commentid>
    <comment_count>16</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-10-23 02:44:48 -0700</bug_when>
    <thetext>* Set up

http://releases.llvm.org/download.html#7.0.0
LLVM-7.0.0-win64.exe

Add path to clang-cl and ninja

* Build

set CC=clang-cl
set CXX=clang-cl
perl Tools\Scripts\build-webkit --release --wincairo --ninja

* Remaining Tasks

- Create a Docker image with clang-cl
- Fix more compilation warnings</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593302</commentid>
    <comment_count>17</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-11-24 18:00:20 -0800</bug_when>
    <thetext>This is a blocker for Clang 9.
  Bug 201759 – [Win][Clang 9][MiniBrowser] comip.h(174,16): error: conflicting types for &apos;_com_ptr_t&apos;

Keep you clang-cl 8.0.1 at the moment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1614444</commentid>
    <comment_count>18</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-02-04 00:22:44 -0800</bug_when>
    <thetext>New blocker: Bug 204831 – [Win] lld-link: error: /manifestdependency: is not allowed in .drectve</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726087</commentid>
    <comment_count>19</comment_count>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2021-02-05 08:50:33 -0800</bug_when>
    <thetext>Can we close this now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726252</commentid>
    <comment_count>20</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-02-05 13:18:46 -0800</bug_when>
    <thetext>There are still remaining compilation warnings.
And, I&apos;m maintaining internal WinCairo clang-cl Jenkins jobs, but there is no public bots using clang-cl. So, I&apos;m using this ticket to let anyone know the current status. https://trac.webkit.org/wiki/BuildingCairoOnWindows#CompileWinCairowithClang

When will WinCairo bots switch to Clang? The MSVC lambda bug is annoying. (Bug 209358)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751954</commentid>
    <comment_count>21</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-04-19 13:48:53 -0700</bug_when>
    <thetext>LLVM 12.0.0 was released. I upgraded it for all internal Jenkins workers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1811641</commentid>
    <comment_count>22</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-11-03 13:55:09 -0700</bug_when>
    <thetext>I upgraded the internal Jenkins workers to Clang 13.0.0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1826933</commentid>
    <comment_count>23</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-12-26 18:26:33 -0800</bug_when>
    <thetext>The latest WinCairo can&apos;t compile with Clang.
Bug 234696 – [Clang][Win] NotificationData.h(47,5): error: reference to &apos;UUID&apos; is ambiguous</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1949334</commentid>
    <comment_count>24</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2023-04-17 18:19:48 -0700</bug_when>
    <thetext>Build time:
&gt; perl .\Tools\Scripts\build-webkit --debug --skip-library-update --no-fatal-warnings
263045@main

MSVC:  22m:13s
Clang: 25m:16s

Size of WebKitBuild directory:
$ du -hs WebKitBuild/Debug

MSVC:  14G
Clang: 7.5G</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1967752</commentid>
    <comment_count>25</comment_count>
    <who name="Ian Grunert">ian.grunert</who>
    <bug_when>2023-07-22 19:20:14 -0700</bug_when>
    <thetext>This blocks FTL on windows (bug 145366) - the generated AirOpcodeGenerated.h contains code that builds on clang but warns on MSVC.

Could fix the generator to stop spitting out switch statements with a default case and no case labels, but it might be easier to wait till the switch to clang happens?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1967781</commentid>
    <comment_count>26</comment_count>
    <who name="Ian Grunert">ian.grunert</who>
    <bug_when>2023-07-23 13:54:51 -0700</bug_when>
    <thetext>Went ahead and fixed those switch statements in bug 259429</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1980082</commentid>
    <comment_count>27</comment_count>
      <attachid>467870</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2023-09-26 00:30:57 -0700</bug_when>
    <thetext>Created attachment 467870
&quot;-T ClangCL&quot; patch

It&apos;s possible to use CMake Visual Studio generator and clang-cl extension.
However, there are two problems at the moment.
1. You have to apply a patch to set &quot;-T ClangCL&quot; CMake switch.
2. CMake Visual Studio generator ignores some compiler warning disabling switches like /wd4100.
   It reports compiler warnings. You have to give --no-fatal-warnings switches.

How to build WebKit Windows port with Visual Studio and clang-cl

1. Install LLVM extension.
  https://learn.microsoft.com/en-us/cpp/build/clang-support-msbuild
2. Apply the &quot;-T ClangCL&quot; patch
3. Invoke &quot;perl .\Tools\Scripts\build-webkit --no-ninja --no-fatal-warnings&quot; in WebKit command prompt.

Or, you can open the solution file:

3. Invoke &quot;perl .\Tools\Scripts\build-webkit --no-ninja --no-fatal-warnings --generate-project-only&quot; in WebKit command prompt.
4. Invoke &quot;devenv WebKitBuild\Release\WebKit.sln&quot; in WebKit command prompt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1980269</commentid>
    <comment_count>28</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2023-09-26 13:15:07 -0700</bug_when>
    <thetext>We don&apos;t need the patch. 

&gt; perl .\Tools\Scripts\build-webkit --debug --no-fatal-warnings --no-ninja --cmakeargs=&quot;-T ClangCL&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1982326</commentid>
    <comment_count>29</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2023-10-03 18:59:56 -0700</bug_when>
    <thetext>The build instruction has been updated.
https://github.com/WebKit/Documentation/commit/739ce4449adb3de8e272a4221b67468b404644e2
No remaining tasks. Closed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1982327</commentid>
    <comment_count>30</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-10-03 19:00:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/116439320&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349006</attachid>
            <date>2018-09-06 00:42:15 -0700</date>
            <delta_ts>2018-09-06 02:40:12 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>wip.patch</filename>
            <type>text/plain</type>
            <size>13141</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUTWF0aElDLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE1hdGhJQy5oCmluZGV4IDRlMDA5NThkMTlmOC4uNjgx
Njc5MjZmYmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE1hdGhJ
Qy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUTWF0aElDLmgKQEAgLTE0NCw3
ICsxNDQsNyBAQCBwdWJsaWM6CiAgICAgICAgIH07CiAKICAgICAgICAgYXV0byByZXBsYWNlQ2Fs
bCA9IFsmXSAoKSB7Ci0jaWYgQ09NUElMRVIoTVNWQykKKyNpZiBDT01QSUxFUihNU1ZDKSAmJiAh
Q09NUElMRVIoQ0xBTkcpCiAgICAgICAgICAgICBmdGxUaHVua0F3YXJlUmVwYXRjaENhbGwoY29k
ZUJsb2NrLCBzbG93UGF0aENhbGxMb2NhdGlvbigpLnJldGFnZ2VkPEpTSW50ZXJuYWxQdHJUYWc+
KCksIGNhbGxSZXBsYWNlbWVudCk7CiAjZWxzZQogICAgICAgICAgICAgZnRsVGh1bmtBd2FyZVJl
cGF0Y2hDYWxsKGNvZGVCbG9jaywgc2xvd1BhdGhDYWxsTG9jYXRpb24oKS50ZW1wbGF0ZSByZXRh
Z2dlZDxKU0ludGVybmFsUHRyVGFnPigpLCBjYWxsUmVwbGFjZW1lbnQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvQ29tcGlsZXIuaCBiL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmgKaW5k
ZXggNzk4YzMwOTBjOWIxLi4zMTQ2MTUwN2E1M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L0NvbXBpbGVyLmgKKysrIGIvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaApAQCAtMzYzLDcgKzM2
Myw3IEBACiAKIC8qIFVOVVNFRF9QQVJBTSAqLwogCi0jaWYgIWRlZmluZWQoVU5VU0VEX1BBUkFN
KSAmJiBDT01QSUxFUihNU1ZDKQorI2lmICFkZWZpbmVkKFVOVVNFRF9QQVJBTSkgJiYgQ09NUElM
RVIoTVNWQykgJiYgIUNPTVBJTEVSKENMQU5HKQogI2RlZmluZSBVTlVTRURfUEFSQU0odmFyaWFi
bGUpICh2b2lkKSZ2YXJpYWJsZQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcAppbmRleCA5ZDk4NTgxOWNiM2QuLjRhZjcwOGQy
ZDMxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxl
U2hlZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNo
ZWV0LmNwcApAQCAtNjM1LDcgKzYzNSw3IEBAIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6
OkNTU1N0eWxlPiBJbnNwZWN0b3JTdHlsZTo6c3R5bGVXaXRoUHJvcGVydGllcygpIGNvCiAgICAg
ICAgIGNvbnN0IFN0cmluZyYgbmFtZSA9IHByb3BlcnR5RW50cnkubmFtZTsKIAogICAgICAgICAv
LyBWaXN1YWwgU3R1ZGlvIGRpc2FncmVlcyB3aXRoIG90aGVyIGNvbXBpbGVycyBhcyB0byB3aGV0
aGVyICdjbGFzcycgaXMgbmVlZGVkIGhlcmUuCi0jaWYgQ09NUElMRVIoTVNWQykKKyNpZiBDT01Q
SUxFUihNU1ZDKSAmJiAhQ09NUElMRVIoQ0xBTkcpCiAgICAgICAgIGVudW0gY2xhc3MgUHJvdG9j
b2w6OkNTUzo6Q1NTUHJvcGVydHlTdGF0dXMgc3RhdHVzOwogI2Vsc2UKICAgICAgICAgZW51bSBJ
bnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OkNTU1Byb3BlcnR5U3RhdHVzIHN0YXR1czsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmgKaW5kZXggOGQxOWY3Zjg2
MmVmLi40NjkyM2FjZTNiNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0Zsb2F0UmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0Zsb2F0UmVjdC5oCkBAIC0xOTUsNiArMTk1LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBQ
TEFURk9STShXSU4pCisgICAgV0VCQ09SRV9FWFBPUlQgRmxvYXRSZWN0KGNvbnN0IFJFQ1QmIHJl
Y3QpOwogICAgIFdFQkNPUkVfRVhQT1JUIEZsb2F0UmVjdChjb25zdCBEMkQxX1JFQ1RfRiYpOwog
ICAgIFdFQkNPUkVfRVhQT1JUIG9wZXJhdG9yIEQyRDFfUkVDVF9GKCkgY29uc3Q7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9GbG9hdFJl
Y3REaXJlY3QyRC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRmxv
YXRSZWN0RGlyZWN0MkQuY3BwCmluZGV4IDg4ZDA1ZTY5NTM4ZS4uNTdmODM1NmIwODA0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRmxvYXRSZWN0RGly
ZWN0MkQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9GbG9h
dFJlY3REaXJlY3QyRC5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBQTEFURk9STShXSU4pCiAK
ICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCisjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUg
PGQyZDEuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTAsNiArNTEsMTEgQEAgc3RhdGlj
IGJvb2wgaXNJbmZpbml0ZVJlY3QoY29uc3QgRDJEMV9SRUNUX0YmIHJlY3QpCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKK0Zsb2F0UmVjdDo6RmxvYXRSZWN0KGNvbnN0IFJFQ1QmIHJlY3QpCisgICAg
OiBGbG9hdFJlY3QoSW50UmVjdChyZWN0KSkKK3sKK30KKwogRmxvYXRSZWN0OjpGbG9hdFJlY3Qo
Y29uc3QgRDJEMV9SRUNUX0YmIHIpCiB7CiAgICAgLy8gSW5maW5pdGUgUmVjdCBjYXNlOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ludFBvaW50V2lu
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9JbnRQb2ludFdpbi5j
cHAKaW5kZXggZjc2NzQ5ZThkMzcwLi5hMjQzNjlmMWM5OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9JbnRQb2ludFdpbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ludFBvaW50V2luLmNwcApAQCAtNTMsNyAr
NTMsNyBAQCBJbnRQb2ludDo6SW50UG9pbnQoY29uc3QgUE9JTlRTJiBwKQogCiBJbnRQb2ludDo6
b3BlcmF0b3IgUE9JTlRTKCkgY29uc3QKIHsKLSAgICBQT0lOVFMgcCA9IHttX3gsIG1feX07Cisg
ICAgUE9JTlRTIHAgPSB7c3RhdGljX2Nhc3Q8U0hPUlQ+KG1feCksIHN0YXRpY19jYXN0PFNIT1JU
PihtX3kpfTsKICAgICByZXR1cm4gcDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwCmluZGV4
IGEwMTQ3NzM0NDc1YS4uMGI2MTYyNmQ0NTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vVW5pc2NyaWJlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwCkBA
IC0zNjksOCArMzY5LDggQEAgYm9vbCBVbmlzY3JpYmVDb250cm9sbGVyOjpzaGFwZUFuZFBsYWNl
SXRlbShjb25zdCBVQ2hhciogY3AsIHVuc2lnbmVkIGksIGNvbnN0IEYKICAgICAgICAgICAgICAg
ICBnbHlwaEJ1ZmZlci0+c2V0SW5pdGlhbEFkdmFuY2Uob3JpZ2luKTsKICAgICAgICAgICAgIGVs
c2UKICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci0+ZXhwYW5kTGFzdEFkdmFuY2Uob3JpZ2lu
KTsKLSAgICAgICAgICAgIEdseXBoQnVmZmVyQWR2YW5jZSBhZHZhbmNlKC1vcmlnaW4ud2lkdGgo
KSArIGFkdmFuY2UsIC1vcmlnaW4uaGVpZ2h0KCkpOwotICAgICAgICAgICAgZ2x5cGhCdWZmZXIt
PmFkZChnbHlwaCwgZm9udERhdGEsIGFkdmFuY2UpOworICAgICAgICAgICAgR2x5cGhCdWZmZXJB
ZHZhbmNlIGdseXBoQWR2YW5jZSgtb3JpZ2luLndpZHRoKCkgKyBhZHZhbmNlLCAtb3JpZ2luLmhl
aWdodCgpKTsKKyAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZGQoZ2x5cGgsIGZvbnREYXRhLCBn
bHlwaEFkdmFuY2UpOwogICAgICAgICB9CiAKICAgICAgICAgRmxvYXRSZWN0IGdseXBoQm91bmRz
ID0gZm9udERhdGEtPmJvdW5kc0ZvckdseXBoKGdseXBoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9TdHJ1Y3R1cmVkRXhjZXB0aW9uSGFuZGxlclN1cHByZXNzb3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1N0cnVjdHVyZWRFeGNlcHRpb25IYW5k
bGVyU3VwcHJlc3Nvci5jcHAKaW5kZXggNjY5NDdmZDU5NTk5Li5iMTI4NzFhZWY1YWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9TdHJ1Y3R1cmVkRXhjZXB0aW9uSGFu
ZGxlclN1cHByZXNzb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9TdHJ1
Y3R1cmVkRXhjZXB0aW9uSGFuZGxlclN1cHByZXNzb3IuY3BwCkBAIC0zMSw3ICszMSw3IEBACiBl
eHRlcm4gIkMiIGludCBfX3N0ZGNhbGwgZXhjZXB0aW9uSGFuZGxlclRodW5rKCk7IC8vIERlZmlu
ZWQgaW4gbWFrZXNhZmVzZWguYXNtCiAjZW5kaWYKIAotc3RhdGljIGJvb2wgZXhjZXB0aW9uU2hv
dWxkVGVybWluYXRlUHJvZ3JhbShpbnQgY29kZSkKK3N0YXRpYyBib29sIGV4Y2VwdGlvblNob3Vs
ZFRlcm1pbmF0ZVByb2dyYW0oRFdPUkQgY29kZSkKIHsKICAgICBzd2l0Y2ggKGNvZGUpIHsKICNp
Zm5kZWYgTkRFQlVHCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2hl
ZWxFdmVudFdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2hlZWxFdmVudFdp
bi5jcHAKaW5kZXggYzI0YWVkMThlNTQzLi4xM2JiODAyYjE3NmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaGVlbEV2ZW50V2luLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS93aW4vV2hlZWxFdmVudFdpbi5jcHAKQEAgLTgzLDcgKzgzLDcgQEAgUGxh
dGZvcm1XaGVlbEV2ZW50OjpQbGF0Zm9ybVdoZWVsRXZlbnQoSFdORCBoV25kLCBjb25zdCBGbG9h
dFNpemUmIGRlbHRhLCBjb25zdAogICAgIG1fd2hlZWxUaWNrc1kgPSBtX2RlbHRhWTsKIAogICAg
IC8vIEdsb2JhbCBQb3NpdGlvbiBpcyBqdXN0IHgsIHkgbG9jYXRpb24gb2YgZXZlbnQKLSAgICBQ
T0lOVCBwb2ludCA9IHtsb2NhdGlvbi54KCksIGxvY2F0aW9uLnkoKX07CisgICAgUE9JTlQgcG9p
bnQgPSBmbG9vcmVkSW50UG9pbnQobG9jYXRpb24pOwogICAgIGZsb2F0IGludmVyc2VTY2FsZUZh
Y3RvciA9IDEuMGYgLyBkZXZpY2VTY2FsZUZhY3RvckZvcldpbmRvdyhoV25kKTsKICAgICBtX2ds
b2JhbFBvc2l0aW9uID0gcG9pbnQ7CiAgICAgbV9nbG9iYWxQb3NpdGlvbi5zY2FsZShpbnZlcnNl
U2NhbGVGYWN0b3IsIGludmVyc2VTY2FsZUZhY3Rvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy93aW4vV2ViSW5zcGVjdG9yUHJveHlXaW4uY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3Mvd2luL1dlYkluc3BlY3RvclByb3h5V2luLmNwcAppbmRleCA3NTgxMzNkOTJk
YmQuLmVlODYyN2UyYzM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2lu
L1dlYkluc3BlY3RvclByb3h5V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93
aW4vV2ViSW5zcGVjdG9yUHJveHlXaW4uY3BwCkBAIC0yMzEsNyArMjMxLDcgQEAgV2ViUGFnZVBy
b3h5KiBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DcmVhdGVGcm9udGVuZFBhZ2UoKQogICAg
ICAgICBudWxscHRyLCAvLyBkaWRSZW1vdmVOYXZpZ2F0aW9uR2VzdHVyZVNuYXBzaG90CiAgICAg
fTsKIAotICAgIFJFQ1QgciA9IHsgMCwgMCwgaW5pdGlhbFdpbmRvd1dpZHRoLCBpbml0aWFsV2lu
ZG93SGVpZ2h0IH07CisgICAgUkVDVCByID0geyAwLCAwLCBzdGF0aWNfY2FzdDxMT05HPihpbml0
aWFsV2luZG93V2lkdGgpLCBzdGF0aWNfY2FzdDxMT05HPihpbml0aWFsV2luZG93SGVpZ2h0KSB9
OwogICAgIGF1dG8gcGFnZSA9IGluc3BlY3RlZFBhZ2UoKTsKICAgICBtX2luc3BlY3RlZFZpZXdX
aW5kb3cgPSBwYWdlLT52aWV3V2lkZ2V0KCk7CiAgICAgbV9pbnNwZWN0ZWRWaWV3UGFyZW50V2lu
ZG93ID0gOjpHZXRQYXJlbnQobV9pbnNwZWN0ZWRWaWV3V2luZG93KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5o
IGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xp
ZW50LmgKaW5kZXggYTRiNGEwM2FmMGQ5Li44MzQyZmUwM2JiODggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNs
aWVudC5oCkBAIC0xNDEsNyArMTQxLDcgQEAgcHJpdmF0ZToKICAgICBXVEY6OlN0cmluZyBtX2lu
c3BlY3RlZFVSTDsKICAgICBib29sIG1fZGVzdHJveWluZ0luc3BlY3RvclZpZXc7CiAKLSAgICBz
dGF0aWMgZnJpZW5kIExSRVNVTFQgQ0FMTEJBQ0sgV2ViSW5zcGVjdG9yV25kUHJvYyhIV05ELCBV
SU5ULCBXUEFSQU0sIExQQVJBTSk7CisgICAgZnJpZW5kIExSRVNVTFQgQ0FMTEJBQ0sgV2ViSW5z
cGVjdG9yV25kUHJvYyhIV05ELCBVSU5ULCBXUEFSQU0sIExQQVJBTSk7CiB9OwogCiAjZW5kaWYg
Ly8gIWRlZmluZWQoV2ViSW5zcGVjdG9yQ2xpZW50X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJOb2RlSGlnaGxpZ2h0LmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL1dlYk5vZGVIaWdobGlnaHQuY3BwCmluZGV4IDc4NDdlZDA4NWI2Mi4uMDdhMmY2MDRmMzk3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJOb2RlSGlnaGxpZ2h0LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJOb2RlSGlnaGxpZ2h0LmNwcApAQCAt
NDEsNiArNDEsNyBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAorTFJFU1VMVCBDQUxM
QkFDSyBPdmVybGF5V25kUHJvYyhIV05ELCBVSU5ULCBXUEFSQU0sIExQQVJBTSk7CiBzdGF0aWMg
TFBDVFNUUiBrT3ZlcmxheVdpbmRvd0NsYXNzTmFtZSA9IFRFWFQoIldlYk5vZGVIaWdobGlnaHRX
aW5kb3dDbGFzcyIpOwogc3RhdGljIEFUT00gcmVnaXN0ZXJPdmVybGF5Q2xhc3MoKTsKIHN0YXRp
YyBMUENUU1RSIGtXZWJOb2RlSGlnaGxpZ2h0UG9pbnRlclByb3AgPSBURVhUKCJXZWJOb2RlSGln
aGxpZ2h0UG9pbnRlciIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
Tm9kZUhpZ2hsaWdodC5oIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViTm9kZUhpZ2hsaWdo
dC5oCmluZGV4IDJmODI2OWE5Yzg1Mi4uZjk3NTViYjhkYWVhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJOb2RlSGlnaGxpZ2h0LmgKKysrIGIvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViTm9kZUhpZ2hsaWdodC5oCkBAIC02Niw3ICs2Niw3IEBAIHByaXZhdGU6CiAg
ICAgSFdORCBtX29ic2VydmVkV2luZG93OwogICAgIGJvb2wgbV9zaG93c1doaWxlV2ViVmlld0lz
VmlzaWJsZTsKIAotICAgIGZyaWVuZCBzdGF0aWMgTFJFU1VMVCBDQUxMQkFDSyBPdmVybGF5V25k
UHJvYyhIV05ELCBVSU5ULCBXUEFSQU0sIExQQVJBTSk7CisgICAgZnJpZW5kIExSRVNVTFQgQ0FM
TEJBQ0sgT3ZlcmxheVduZFByb2MoSFdORCwgVUlOVCwgV1BBUkFNLCBMUEFSQU0pOwogfTsKIAog
I2VuZGlmIC8vICFkZWZpbmVkKFdlYk5vZGVIaWdobGlnaHRfaCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCBmMWQ4MWQ4M2RjY2YuLjljZGNhNmMxYjQy
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcApAQCAtNjEs
MTAgKzYxLDEwIEBAIHN0YXRpYyBjb25zdCBTdHJpbmcmIG9sZFByZWZlcmVuY2VzUGF0aCgpCiAg
ICAgcmV0dXJuIHBhdGg7CiB9CiAKLXRlbXBsYXRlPHR5cGVuYW1lIE51bWJlclR5cGU+IHN0cnVj
dCBDRk51bWJlclRyYWl0cyB7IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBUeXBlOyB9OwotdGVtcGxh
dGU8PiBzdHJ1Y3QgQ0ZOdW1iZXJUcmFpdHM8aW50PiB7IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBU
eXBlID0ga0NGTnVtYmVyU0ludDMyVHlwZTsgfTsKLXRlbXBsYXRlPD4gc3RydWN0IENGTnVtYmVy
VHJhaXRzPExPTkdMT05HPiB7IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBUeXBlID0ga0NGTnVtYmVy
TG9uZ0xvbmdUeXBlOyB9OwotdGVtcGxhdGU8PiBzdHJ1Y3QgQ0ZOdW1iZXJUcmFpdHM8ZmxvYXQ+
IHsgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFR5cGUgPSBrQ0ZOdW1iZXJGbG9hdDMyVHlwZTsgfTsK
K3RlbXBsYXRlPHR5cGVuYW1lIE51bWJlclR5cGU+IHN0cnVjdCBDRk51bWJlclRyYWl0cyB7IHN0
YXRpYyBjb25zdCBDRk51bWJlclR5cGUgVHlwZTsgfTsKK3RlbXBsYXRlPD4gc3RydWN0IENGTnVt
YmVyVHJhaXRzPGludD4geyBzdGF0aWMgY29uc3QgQ0ZOdW1iZXJUeXBlIFR5cGUgPSBrQ0ZOdW1i
ZXJTSW50MzJUeXBlOyB9OwordGVtcGxhdGU8PiBzdHJ1Y3QgQ0ZOdW1iZXJUcmFpdHM8TE9OR0xP
Tkc+IHsgc3RhdGljIGNvbnN0IENGTnVtYmVyVHlwZSBUeXBlID0ga0NGTnVtYmVyTG9uZ0xvbmdU
eXBlOyB9OwordGVtcGxhdGU8PiBzdHJ1Y3QgQ0ZOdW1iZXJUcmFpdHM8ZmxvYXQ+IHsgc3RhdGlj
IGNvbnN0IENGTnVtYmVyVHlwZSBUeXBlID0ga0NGTnVtYmVyRmxvYXQzMlR5cGU7IH07CiAKIHRl
bXBsYXRlPHR5cGVuYW1lIE51bWJlclR5cGU+CiBzdGF0aWMgTnVtYmVyVHlwZSBudW1iZXJWYWx1
ZUZvclByZWZlcmVuY2VzVmFsdWUoQ0ZQcm9wZXJ0eUxpc3RSZWYgdmFsdWUpCkBAIC01MTUsNyAr
NTE1LDcgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6bWlncmF0ZVdlYktpdFByZWZlcmVuY2VzVG9D
RlByZWZlcmVuY2VzKCkKICAgICBpZiAoIUNGUmVhZFN0cmVhbU9wZW4oc3RyZWFtLmdldCgpKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgQ0ZQcm9wZXJ0eUxpc3RGb3JtYXQgZm9ybWF0ID0ga0NG
UHJvcGVydHlMaXN0QmluYXJ5Rm9ybWF0X3YxXzAgfCBrQ0ZQcm9wZXJ0eUxpc3RYTUxGb3JtYXRf
djFfMDsKKyAgICBDRlByb3BlcnR5TGlzdEZvcm1hdCBmb3JtYXQgPSBzdGF0aWNfY2FzdDxDRlBy
b3BlcnR5TGlzdEZvcm1hdD4oa0NGUHJvcGVydHlMaXN0QmluYXJ5Rm9ybWF0X3YxXzAgfCBrQ0ZQ
cm9wZXJ0eUxpc3RYTUxGb3JtYXRfdjFfMCk7CiAgICAgUmV0YWluUHRyPENGUHJvcGVydHlMaXN0
UmVmPiBwbGlzdCA9IGFkb3B0Q0YoQ0ZQcm9wZXJ0eUxpc3RDcmVhdGVGcm9tU3RyZWFtKDAsIHN0
cmVhbS5nZXQoKSwgMCwga0NGUHJvcGVydHlMaXN0TXV0YWJsZUNvbnRhaW5lcnNBbmRMZWF2ZXMs
ICZmb3JtYXQsIDApKTsKICAgICBDRlJlYWRTdHJlYW1DbG9zZShzdHJlYW0uZ2V0KCkpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0Q29tcGlsZXJGbGFncy5jbWFrZSBiL1NvdXJj
ZS9jbWFrZS9XZWJLaXRDb21waWxlckZsYWdzLmNtYWtlCmluZGV4IDcyZGM1Yzk2Nzc5Mi4uNmJk
MWZmN2ZhNjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2ViS2l0Q29tcGlsZXJGbGFncy5j
bWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0Q29tcGlsZXJGbGFncy5jbWFrZQpAQCAtMTE2
LDE4ICsxMTYsMTcgQEAgaWYgKENPTVBJTEVSX0lTX0dDQ19PUl9DTEFORykKICAgICAgICAgICAg
IFdFQktJVF9QUkVQRU5EX0dMT0JBTF9DT01QSUxFUl9GTEFHUygtV25vLXVua25vd24tcHJhZ21h
cykKICAgICAgICAgICAgIGFkZF9kZWZpbml0aW9ucygtRF9fVVNFX01JTkdXX0FOU0lfU1RESU89
MSkKICAgICAgICAgZW5kaWYgKCkKKyAgICAgICAgIyBXYXJuaW5ncyB0byBiZSBlbmFibGVkCisg
ICAgICAgIFdFQktJVF9QUkVQRU5EX0dMT0JBTF9DT01QSUxFUl9GTEFHUygtV2FsbAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLVdleHRyYQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLVdjYXN0LWFsaWduCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtV2Zvcm1hdC1zZWN1cml0eQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLVdtaXNzaW5nLWZv
cm1hdC1hdHRyaWJ1dGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC1XcG9pbnRlci1hcml0aAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLVd1bmRlZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLVd3cml0ZS1zdHJpbmdzKQogICAgIGVuZGlmICgpCiAKLSAgICAjIFdhcm5pbmdzIHRv
IGJlIGVuYWJsZWQKLSAgICBXRUJLSVRfUFJFUEVORF9HTE9CQUxfQ09NUElMRVJfRkxBR1MoLVdh
bGwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLVdleHRyYQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtV2Nhc3QtYWxpZ24KLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLVdmb3JtYXQtc2VjdXJpdHkKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLVdtaXNzaW5nLWZvcm1hdC1h
dHRyaWJ1dGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLVdwb2lu
dGVyLWFyaXRoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1XdW5k
ZWYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLVd3cml0ZS1zdHJp
bmdzKQotCiAgICAgIyBXYXJuaW5ncyB0byBiZSBkaXNhYmxlZAogICAgICMgRklYTUU6IFdlIHNo
b3VsZCBwcm9iYWJseSBub3QgYmUgZGlzYWJsaW5nIC1Xbm8tbWF5YmUtdW5pbml0aWFsaXplZD8K
ICAgICBXRUJLSVRfUFJFUEVORF9HTE9CQUxfQ09NUElMRVJfRkxBR1MoLVF1bnVzZWQtYXJndW1l
bnRzCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKaW5k
ZXggNjM0Y2U4YThlNDExLi43YmM3ZDVhZjlkZTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKQEAgLTY1LDYgKzY1LDkgQEAgY2xhc3MgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudCB7CiBwdWJsaWM6CiAgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudChQ
bGF0Zm9ybVVJRWxlbWVudCk7CiAgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudChjb25zdCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Jik7CisjaWYgUExBVEZPUk0oV0lOKQorICAgIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQobnVsbHB0cl90KTsKKyNlbmRpZgogICAgIH5BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50KCk7CiAKICAgICBQbGF0Zm9ybVVJRWxlbWVudCBwbGF0Zm9ybVVJRWxlbWVudCgpIGNvbnN0
IHsgcmV0dXJuIG1fZWxlbWVudDsgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
d2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
d2luL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwCmluZGV4IDRkYTIyNjkyNDQyNC4uZGQw
OGVkYmE2MGZhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vQWNjZXNzaWJp
bGl0eVVJRWxlbWVudFdpbi5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnRXaW4uY3BwCkBAIC01Myw2ICs1MywxMSBAQCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KFBsYXRmb3JtVUlFbGVtZW50IGVsZW1l
bnQpCiB7CiB9CiAKK0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQobnVsbHB0cl90KQorICAgIDogbV9lbGVtZW50KG51bGxwdHIpCit7Cit9CisKIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQoY29uc3QgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudCYgb3RoZXIpCiAgICAgOiBtX2VsZW1lbnQob3RoZXIubV9lbGVtZW50KQogewpk
aWZmIC0tZ2l0IGEvVG9vbHMvSW1hZ2VEaWZmL2NhaXJvL1BsYXRmb3JtSW1hZ2VDYWlyby5jcHAg
Yi9Ub29scy9JbWFnZURpZmYvY2Fpcm8vUGxhdGZvcm1JbWFnZUNhaXJvLmNwcAppbmRleCBiOGRj
OGYwYTIwZjkuLjQ0NDE2ZTk4Nzk4YiAxMDA2NDQKLS0tIGEvVG9vbHMvSW1hZ2VEaWZmL2NhaXJv
L1BsYXRmb3JtSW1hZ2VDYWlyby5jcHAKKysrIGIvVG9vbHMvSW1hZ2VEaWZmL2NhaXJvL1BsYXRm
b3JtSW1hZ2VDYWlyby5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgc3RkOjp1bmlxdWVfcHRyPFBsYXRm
b3JtSW1hZ2U+IFBsYXRmb3JtSW1hZ2U6OmNyZWF0ZUZyb21TdGRpbihzaXplX3QgaW1hZ2VTaXpl
KQogewogICAgIHN0cnVjdCBSZWFkQ29udGV4dCB7CiAgICAgICAgIGNoYXIgYnVmZmVyWzIwNDhd
OwotICAgICAgICB1bnNpZ25lZCBsb25nIGluY29taW5nQnl0ZXM7CisgICAgICAgIHNpemVfdCBp
bmNvbWluZ0J5dGVzOwogICAgICAgICB1bnNpZ25lZCBsb25nIHJlYWRCeXRlczsKICAgICB9IGNv
bnRleHQgeyB7IH0sIGltYWdlU2l6ZSwgMCB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349010</attachid>
            <date>2018-09-06 02:40:12 -0700</date>
            <delta_ts>2018-09-12 22:13:47 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>wip.patch</filename>
            <type>text/plain</type>
            <size>14634</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUTWF0aElDLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE1hdGhJQy5oCmluZGV4IDRlMDA5NThkMTlmOC4uNjgx
Njc5MjZmYmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE1hdGhJ
Qy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUTWF0aElDLmgKQEAgLTE0NCw3
ICsxNDQsNyBAQCBwdWJsaWM6CiAgICAgICAgIH07CiAKICAgICAgICAgYXV0byByZXBsYWNlQ2Fs
bCA9IFsmXSAoKSB7Ci0jaWYgQ09NUElMRVIoTVNWQykKKyNpZiBDT01QSUxFUihNU1ZDKSAmJiAh
Q09NUElMRVIoQ0xBTkcpCiAgICAgICAgICAgICBmdGxUaHVua0F3YXJlUmVwYXRjaENhbGwoY29k
ZUJsb2NrLCBzbG93UGF0aENhbGxMb2NhdGlvbigpLnJldGFnZ2VkPEpTSW50ZXJuYWxQdHJUYWc+
KCksIGNhbGxSZXBsYWNlbWVudCk7CiAjZWxzZQogICAgICAgICAgICAgZnRsVGh1bmtBd2FyZVJl
cGF0Y2hDYWxsKGNvZGVCbG9jaywgc2xvd1BhdGhDYWxsTG9jYXRpb24oKS50ZW1wbGF0ZSByZXRh
Z2dlZDxKU0ludGVybmFsUHRyVGFnPigpLCBjYWxsUmVwbGFjZW1lbnQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvQ29tcGlsZXIuaCBiL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmgKaW5k
ZXggNzk4YzMwOTBjOWIxLi4zMTQ2MTUwN2E1M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L0NvbXBpbGVyLmgKKysrIGIvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaApAQCAtMzYzLDcgKzM2
Myw3IEBACiAKIC8qIFVOVVNFRF9QQVJBTSAqLwogCi0jaWYgIWRlZmluZWQoVU5VU0VEX1BBUkFN
KSAmJiBDT01QSUxFUihNU1ZDKQorI2lmICFkZWZpbmVkKFVOVVNFRF9QQVJBTSkgJiYgQ09NUElM
RVIoTVNWQykgJiYgIUNPTVBJTEVSKENMQU5HKQogI2RlZmluZSBVTlVTRURfUEFSQU0odmFyaWFi
bGUpICh2b2lkKSZ2YXJpYWJsZQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcAppbmRleCA5ZDk4NTgxOWNiM2QuLjRhZjcwOGQy
ZDMxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxl
U2hlZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNo
ZWV0LmNwcApAQCAtNjM1LDcgKzYzNSw3IEBAIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpDU1M6
OkNTU1N0eWxlPiBJbnNwZWN0b3JTdHlsZTo6c3R5bGVXaXRoUHJvcGVydGllcygpIGNvCiAgICAg
ICAgIGNvbnN0IFN0cmluZyYgbmFtZSA9IHByb3BlcnR5RW50cnkubmFtZTsKIAogICAgICAgICAv
LyBWaXN1YWwgU3R1ZGlvIGRpc2FncmVlcyB3aXRoIG90aGVyIGNvbXBpbGVycyBhcyB0byB3aGV0
aGVyICdjbGFzcycgaXMgbmVlZGVkIGhlcmUuCi0jaWYgQ09NUElMRVIoTVNWQykKKyNpZiBDT01Q
SUxFUihNU1ZDKSAmJiAhQ09NUElMRVIoQ0xBTkcpCiAgICAgICAgIGVudW0gY2xhc3MgUHJvdG9j
b2w6OkNTUzo6Q1NTUHJvcGVydHlTdGF0dXMgc3RhdHVzOwogI2Vsc2UKICAgICAgICAgZW51bSBJ
bnNwZWN0b3I6OlByb3RvY29sOjpDU1M6OkNTU1Byb3BlcnR5U3RhdHVzIHN0YXR1czsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UmVjdC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRSZWN0LmgKaW5kZXggOGQxOWY3Zjg2
MmVmLi40NjkyM2FjZTNiNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0Zsb2F0UmVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0Zsb2F0UmVjdC5oCkBAIC0xOTUsNiArMTk1LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBQ
TEFURk9STShXSU4pCisgICAgV0VCQ09SRV9FWFBPUlQgRmxvYXRSZWN0KGNvbnN0IFJFQ1QmIHJl
Y3QpOwogICAgIFdFQkNPUkVfRVhQT1JUIEZsb2F0UmVjdChjb25zdCBEMkQxX1JFQ1RfRiYpOwog
ICAgIFdFQkNPUkVfRVhQT1JUIG9wZXJhdG9yIEQyRDFfUkVDVF9GKCkgY29uc3Q7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9GbG9hdFJl
Y3REaXJlY3QyRC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRmxv
YXRSZWN0RGlyZWN0MkQuY3BwCmluZGV4IDg4ZDA1ZTY5NTM4ZS4uNTdmODM1NmIwODA0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRmxvYXRSZWN0RGly
ZWN0MkQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9GbG9h
dFJlY3REaXJlY3QyRC5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBQTEFURk9STShXSU4pCiAK
ICNpbmNsdWRlICJGbG9hdFBvaW50LmgiCisjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUg
PGQyZDEuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNTAsNiArNTEsMTEgQEAgc3RhdGlj
IGJvb2wgaXNJbmZpbml0ZVJlY3QoY29uc3QgRDJEMV9SRUNUX0YmIHJlY3QpCiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKK0Zsb2F0UmVjdDo6RmxvYXRSZWN0KGNvbnN0IFJFQ1QmIHJlY3QpCisgICAg
OiBGbG9hdFJlY3QoSW50UmVjdChyZWN0KSkKK3sKK30KKwogRmxvYXRSZWN0OjpGbG9hdFJlY3Qo
Y29uc3QgRDJEMV9SRUNUX0YmIHIpCiB7CiAgICAgLy8gSW5maW5pdGUgUmVjdCBjYXNlOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ludFBvaW50V2lu
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9JbnRQb2ludFdpbi5j
cHAKaW5kZXggZjc2NzQ5ZThkMzcwLi5hMjQzNjlmMWM5OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9JbnRQb2ludFdpbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ludFBvaW50V2luLmNwcApAQCAtNTMsNyAr
NTMsNyBAQCBJbnRQb2ludDo6SW50UG9pbnQoY29uc3QgUE9JTlRTJiBwKQogCiBJbnRQb2ludDo6
b3BlcmF0b3IgUE9JTlRTKCkgY29uc3QKIHsKLSAgICBQT0lOVFMgcCA9IHttX3gsIG1feX07Cisg
ICAgUE9JTlRTIHAgPSB7c3RhdGljX2Nhc3Q8U0hPUlQ+KG1feCksIHN0YXRpY19jYXN0PFNIT1JU
PihtX3kpfTsKICAgICByZXR1cm4gcDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwCmluZGV4
IGEwMTQ3NzM0NDc1YS4uMGI2MTYyNmQ0NTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vVW5pc2NyaWJlQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwCkBA
IC0zNjksOCArMzY5LDggQEAgYm9vbCBVbmlzY3JpYmVDb250cm9sbGVyOjpzaGFwZUFuZFBsYWNl
SXRlbShjb25zdCBVQ2hhciogY3AsIHVuc2lnbmVkIGksIGNvbnN0IEYKICAgICAgICAgICAgICAg
ICBnbHlwaEJ1ZmZlci0+c2V0SW5pdGlhbEFkdmFuY2Uob3JpZ2luKTsKICAgICAgICAgICAgIGVs
c2UKICAgICAgICAgICAgICAgICBnbHlwaEJ1ZmZlci0+ZXhwYW5kTGFzdEFkdmFuY2Uob3JpZ2lu
KTsKLSAgICAgICAgICAgIEdseXBoQnVmZmVyQWR2YW5jZSBhZHZhbmNlKC1vcmlnaW4ud2lkdGgo
KSArIGFkdmFuY2UsIC1vcmlnaW4uaGVpZ2h0KCkpOwotICAgICAgICAgICAgZ2x5cGhCdWZmZXIt
PmFkZChnbHlwaCwgZm9udERhdGEsIGFkdmFuY2UpOworICAgICAgICAgICAgR2x5cGhCdWZmZXJB
ZHZhbmNlIGdseXBoQWR2YW5jZSgtb3JpZ2luLndpZHRoKCkgKyBhZHZhbmNlLCAtb3JpZ2luLmhl
aWdodCgpKTsKKyAgICAgICAgICAgIGdseXBoQnVmZmVyLT5hZGQoZ2x5cGgsIGZvbnREYXRhLCBn
bHlwaEFkdmFuY2UpOwogICAgICAgICB9CiAKICAgICAgICAgRmxvYXRSZWN0IGdseXBoQm91bmRz
ID0gZm9udERhdGEtPmJvdW5kc0ZvckdseXBoKGdseXBoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3dpbi9TdHJ1Y3R1cmVkRXhjZXB0aW9uSGFuZGxlclN1cHByZXNzb3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1N0cnVjdHVyZWRFeGNlcHRpb25IYW5k
bGVyU3VwcHJlc3Nvci5jcHAKaW5kZXggNjY5NDdmZDU5NTk5Li5iMTI4NzFhZWY1YWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9TdHJ1Y3R1cmVkRXhjZXB0aW9uSGFu
ZGxlclN1cHByZXNzb3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9TdHJ1
Y3R1cmVkRXhjZXB0aW9uSGFuZGxlclN1cHByZXNzb3IuY3BwCkBAIC0zMSw3ICszMSw3IEBACiBl
eHRlcm4gIkMiIGludCBfX3N0ZGNhbGwgZXhjZXB0aW9uSGFuZGxlclRodW5rKCk7IC8vIERlZmlu
ZWQgaW4gbWFrZXNhZmVzZWguYXNtCiAjZW5kaWYKIAotc3RhdGljIGJvb2wgZXhjZXB0aW9uU2hv
dWxkVGVybWluYXRlUHJvZ3JhbShpbnQgY29kZSkKK3N0YXRpYyBib29sIGV4Y2VwdGlvblNob3Vs
ZFRlcm1pbmF0ZVByb2dyYW0oRFdPUkQgY29kZSkKIHsKICAgICBzd2l0Y2ggKGNvZGUpIHsKICNp
Zm5kZWYgTkRFQlVHCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2hl
ZWxFdmVudFdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vV2hlZWxFdmVudFdp
bi5jcHAKaW5kZXggYzI0YWVkMThlNTQzLi4xM2JiODAyYjE3NmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaGVlbEV2ZW50V2luLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS93aW4vV2hlZWxFdmVudFdpbi5jcHAKQEAgLTgzLDcgKzgzLDcgQEAgUGxh
dGZvcm1XaGVlbEV2ZW50OjpQbGF0Zm9ybVdoZWVsRXZlbnQoSFdORCBoV25kLCBjb25zdCBGbG9h
dFNpemUmIGRlbHRhLCBjb25zdAogICAgIG1fd2hlZWxUaWNrc1kgPSBtX2RlbHRhWTsKIAogICAg
IC8vIEdsb2JhbCBQb3NpdGlvbiBpcyBqdXN0IHgsIHkgbG9jYXRpb24gb2YgZXZlbnQKLSAgICBQ
T0lOVCBwb2ludCA9IHtsb2NhdGlvbi54KCksIGxvY2F0aW9uLnkoKX07CisgICAgUE9JTlQgcG9p
bnQgPSBmbG9vcmVkSW50UG9pbnQobG9jYXRpb24pOwogICAgIGZsb2F0IGludmVyc2VTY2FsZUZh
Y3RvciA9IDEuMGYgLyBkZXZpY2VTY2FsZUZhY3RvckZvcldpbmRvdyhoV25kKTsKICAgICBtX2ds
b2JhbFBvc2l0aW9uID0gcG9pbnQ7CiAgICAgbV9nbG9iYWxQb3NpdGlvbi5zY2FsZShpbnZlcnNl
U2NhbGVGYWN0b3IsIGludmVyc2VTY2FsZUZhY3Rvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy93aW4vV2ViSW5zcGVjdG9yUHJveHlXaW4uY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3Mvd2luL1dlYkluc3BlY3RvclByb3h5V2luLmNwcAppbmRleCA3NTgxMzNkOTJk
YmQuLmVlODYyN2UyYzM1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2lu
L1dlYkluc3BlY3RvclByb3h5V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93
aW4vV2ViSW5zcGVjdG9yUHJveHlXaW4uY3BwCkBAIC0yMzEsNyArMjMxLDcgQEAgV2ViUGFnZVBy
b3h5KiBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1DcmVhdGVGcm9udGVuZFBhZ2UoKQogICAg
ICAgICBudWxscHRyLCAvLyBkaWRSZW1vdmVOYXZpZ2F0aW9uR2VzdHVyZVNuYXBzaG90CiAgICAg
fTsKIAotICAgIFJFQ1QgciA9IHsgMCwgMCwgaW5pdGlhbFdpbmRvd1dpZHRoLCBpbml0aWFsV2lu
ZG93SGVpZ2h0IH07CisgICAgUkVDVCByID0geyAwLCAwLCBzdGF0aWNfY2FzdDxMT05HPihpbml0
aWFsV2luZG93V2lkdGgpLCBzdGF0aWNfY2FzdDxMT05HPihpbml0aWFsV2luZG93SGVpZ2h0KSB9
OwogICAgIGF1dG8gcGFnZSA9IGluc3BlY3RlZFBhZ2UoKTsKICAgICBtX2luc3BlY3RlZFZpZXdX
aW5kb3cgPSBwYWdlLT52aWV3V2lkZ2V0KCk7CiAgICAgbV9pbnNwZWN0ZWRWaWV3UGFyZW50V2lu
ZG93ID0gOjpHZXRQYXJlbnQobV9pbnNwZWN0ZWRWaWV3V2luZG93KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0RlZmF1bHRQb2xpY3lEZWxlZ2F0ZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9EZWZhdWx0UG9saWN5RGVsZWdhdGUuY3BwCmluZGV4IDNiMDBmYjlk
NzgxNC4uZThlNWY1YzRjYzExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9E
ZWZhdWx0UG9saWN5RGVsZWdhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0Rl
ZmF1bHRQb2xpY3lEZWxlZ2F0ZS5jcHAKQEAgLTE3OSw3ICsxNzksNyBAQCBIUkVTVUxUIERlZmF1
bHRQb2xpY3lEZWxlZ2F0ZTo6dW5hYmxlVG9JbXBsZW1lbnRQb2xpY3lXaXRoRXJyb3IoX0luX29w
dF8gSVdlYlZpZQogICAgIEJTdHJpbmcgZnJhbWVOYW1lOwogICAgIGZyYW1lLT5uYW1lKCZmcmFt
ZU5hbWUpOwogCi0gICAgTE9HX0VSUk9SKCJjYWxsZWQgdW5hYmxlVG9JbXBsZW1lbnRQb2xpY3lX
aXRoRXJyb3I6JVMgaW5GcmFtZTolUyIsIGVycm9yU3RyID8gZXJyb3JTdHIgOiBURVhUKCIiKSwg
ZnJhbWVOYW1lID8gZnJhbWVOYW1lIDogVEVYVCgiIikpOworICAgIExPR19FUlJPUigiY2FsbGVk
IHVuYWJsZVRvSW1wbGVtZW50UG9saWN5V2l0aEVycm9yOiVTIGluRnJhbWU6JVMiLCBlcnJvclN0
ciA/IHN0YXRpY19jYXN0PEJTVFI+KGVycm9yU3RyKSA6IFRFWFQoIiIpLCBmcmFtZU5hbWUgPyBz
dGF0aWNfY2FzdDxCU1RSPihmcmFtZU5hbWUpIDogVEVYVCgiIikpOwogCiAgICAgcmV0dXJuIFNf
T0s7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJJbnNwZWN0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkNvcmVT
dXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCmluZGV4IGE0YjRhMDNhZjBkOS4uODM0MmZlMDNi
Yjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJJbnNwZWN0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaApAQCAtMTQxLDcgKzE0MSw3IEBAIHByaXZhdGU6
CiAgICAgV1RGOjpTdHJpbmcgbV9pbnNwZWN0ZWRVUkw7CiAgICAgYm9vbCBtX2Rlc3Ryb3lpbmdJ
bnNwZWN0b3JWaWV3OwogCi0gICAgc3RhdGljIGZyaWVuZCBMUkVTVUxUIENBTExCQUNLIFdlYklu
c3BlY3RvclduZFByb2MoSFdORCwgVUlOVCwgV1BBUkFNLCBMUEFSQU0pOworICAgIGZyaWVuZCBM
UkVTVUxUIENBTExCQUNLIFdlYkluc3BlY3RvclduZFByb2MoSFdORCwgVUlOVCwgV1BBUkFNLCBM
UEFSQU0pOwogfTsKIAogI2VuZGlmIC8vICFkZWZpbmVkKFdlYkluc3BlY3RvckNsaWVudF9oKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdz
LmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAK
aW5kZXggYzU1NjA3ZjYyNzRiLi5kZTAyMjFmNTQ1ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAKKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vV2ViTG9jYWxpemFibGVTdHJpbmdzLmNwcApAQCAtMTYxLDcgKzE2MSw3IEBA
IHN0YXRpYyBDRlN0cmluZ1JlZiBjb3B5TG9jYWxpemVkU3RyaW5nRnJvbUJ1bmRsZShXZWJMb2Nh
bGl6YWJsZVN0cmluZ3NCdW5kbGUqIHN0CiAKICAgICBDRlN0cmluZ1JlZiByZXN1bHQgPSBDRkNv
cHlMb2NhbGl6ZWRTdHJpbmdXaXRoRGVmYXVsdFZhbHVlKGtleS5jcmVhdGVDRlN0cmluZygpLmdl
dCgpLCAwLCBidW5kbGUsIG5vdEZvdW5kLCAwKTsKIAotICAgIEFTU0VSVF9XSVRIX01FU1NBR0Uo
cmVzdWx0ICE9IG5vdEZvdW5kLCAiY291bGQgbm90IGZpbmQgbG9jYWxpemFibGUgc3RyaW5nICVz
IGluIGJ1bmRsZSIsIGtleSk7CisgICAgQVNTRVJUX1dJVEhfTUVTU0FHRShyZXN1bHQgIT0gbm90
Rm91bmQsICJjb3VsZCBub3QgZmluZCBsb2NhbGl6YWJsZSBzdHJpbmcgJXMgaW4gYnVuZGxlIiwg
a2V5LnV0ZjgoKS5kYXRhKCkpOwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYk5vZGVIaWdobGlnaHQuY3BwIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViTm9kZUhpZ2hsaWdodC5jcHAKaW5kZXggNzg0N2VkMDg1YjYyLi4w
N2EyZjYwNGYzOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYk5vZGVI
aWdobGlnaHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYk5vZGVIaWdobGln
aHQuY3BwCkBAIC00MSw2ICs0MSw3IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCitM
UkVTVUxUIENBTExCQUNLIE92ZXJsYXlXbmRQcm9jKEhXTkQsIFVJTlQsIFdQQVJBTSwgTFBBUkFN
KTsKIHN0YXRpYyBMUENUU1RSIGtPdmVybGF5V2luZG93Q2xhc3NOYW1lID0gVEVYVCgiV2ViTm9k
ZUhpZ2hsaWdodFdpbmRvd0NsYXNzIik7CiBzdGF0aWMgQVRPTSByZWdpc3Rlck92ZXJsYXlDbGFz
cygpOwogc3RhdGljIExQQ1RTVFIga1dlYk5vZGVIaWdobGlnaHRQb2ludGVyUHJvcCA9IFRFWFQo
IldlYk5vZGVIaWdobGlnaHRQb2ludGVyIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJOb2RlSGlnaGxpZ2h0LmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJO
b2RlSGlnaGxpZ2h0LmgKaW5kZXggMmY4MjY5YTljODUyLi5mOTc1NWJiOGRhZWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYk5vZGVIaWdobGlnaHQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJOb2RlSGlnaGxpZ2h0LmgKQEAgLTY2LDcgKzY2LDcgQEAg
cHJpdmF0ZToKICAgICBIV05EIG1fb2JzZXJ2ZWRXaW5kb3c7CiAgICAgYm9vbCBtX3Nob3dzV2hp
bGVXZWJWaWV3SXNWaXNpYmxlOwogCi0gICAgZnJpZW5kIHN0YXRpYyBMUkVTVUxUIENBTExCQUNL
IE92ZXJsYXlXbmRQcm9jKEhXTkQsIFVJTlQsIFdQQVJBTSwgTFBBUkFNKTsKKyAgICBmcmllbmQg
TFJFU1VMVCBDQUxMQkFDSyBPdmVybGF5V25kUHJvYyhIV05ELCBVSU5ULCBXUEFSQU0sIExQQVJB
TSk7CiB9OwogCiAjZW5kaWYgLy8gIWRlZmluZWQoV2ViTm9kZUhpZ2hsaWdodF9oKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwIGIvU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCmluZGV4IGYxZDgxZDgzZGNjZi4u
OWNkY2E2YzFiNDJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVm
ZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMu
Y3BwCkBAIC02MSwxMCArNjEsMTAgQEAgc3RhdGljIGNvbnN0IFN0cmluZyYgb2xkUHJlZmVyZW5j
ZXNQYXRoKCkKICAgICByZXR1cm4gcGF0aDsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgTnVtYmVy
VHlwZT4gc3RydWN0IENGTnVtYmVyVHJhaXRzIHsgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFR5cGU7
IH07Ci10ZW1wbGF0ZTw+IHN0cnVjdCBDRk51bWJlclRyYWl0czxpbnQ+IHsgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIFR5cGUgPSBrQ0ZOdW1iZXJTSW50MzJUeXBlOyB9OwotdGVtcGxhdGU8PiBzdHJ1
Y3QgQ0ZOdW1iZXJUcmFpdHM8TE9OR0xPTkc+IHsgc3RhdGljIGNvbnN0IHVuc2lnbmVkIFR5cGUg
PSBrQ0ZOdW1iZXJMb25nTG9uZ1R5cGU7IH07Ci10ZW1wbGF0ZTw+IHN0cnVjdCBDRk51bWJlclRy
YWl0czxmbG9hdD4geyBzdGF0aWMgY29uc3QgdW5zaWduZWQgVHlwZSA9IGtDRk51bWJlckZsb2F0
MzJUeXBlOyB9OwordGVtcGxhdGU8dHlwZW5hbWUgTnVtYmVyVHlwZT4gc3RydWN0IENGTnVtYmVy
VHJhaXRzIHsgc3RhdGljIGNvbnN0IENGTnVtYmVyVHlwZSBUeXBlOyB9OwordGVtcGxhdGU8PiBz
dHJ1Y3QgQ0ZOdW1iZXJUcmFpdHM8aW50PiB7IHN0YXRpYyBjb25zdCBDRk51bWJlclR5cGUgVHlw
ZSA9IGtDRk51bWJlclNJbnQzMlR5cGU7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBDRk51bWJlclRy
YWl0czxMT05HTE9ORz4geyBzdGF0aWMgY29uc3QgQ0ZOdW1iZXJUeXBlIFR5cGUgPSBrQ0ZOdW1i
ZXJMb25nTG9uZ1R5cGU7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBDRk51bWJlclRyYWl0czxmbG9h
dD4geyBzdGF0aWMgY29uc3QgQ0ZOdW1iZXJUeXBlIFR5cGUgPSBrQ0ZOdW1iZXJGbG9hdDMyVHlw
ZTsgfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgTnVtYmVyVHlwZT4KIHN0YXRpYyBOdW1iZXJUeXBl
IG51bWJlclZhbHVlRm9yUHJlZmVyZW5jZXNWYWx1ZShDRlByb3BlcnR5TGlzdFJlZiB2YWx1ZSkK
QEAgLTUxNSw3ICs1MTUsNyBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjptaWdyYXRlV2ViS2l0UHJl
ZmVyZW5jZXNUb0NGUHJlZmVyZW5jZXMoKQogICAgIGlmICghQ0ZSZWFkU3RyZWFtT3BlbihzdHJl
YW0uZ2V0KCkpKQogICAgICAgICByZXR1cm47CiAKLSAgICBDRlByb3BlcnR5TGlzdEZvcm1hdCBm
b3JtYXQgPSBrQ0ZQcm9wZXJ0eUxpc3RCaW5hcnlGb3JtYXRfdjFfMCB8IGtDRlByb3BlcnR5TGlz
dFhNTEZvcm1hdF92MV8wOworICAgIENGUHJvcGVydHlMaXN0Rm9ybWF0IGZvcm1hdCA9IHN0YXRp
Y19jYXN0PENGUHJvcGVydHlMaXN0Rm9ybWF0PihrQ0ZQcm9wZXJ0eUxpc3RCaW5hcnlGb3JtYXRf
djFfMCB8IGtDRlByb3BlcnR5TGlzdFhNTEZvcm1hdF92MV8wKTsKICAgICBSZXRhaW5QdHI8Q0ZQ
cm9wZXJ0eUxpc3RSZWY+IHBsaXN0ID0gYWRvcHRDRihDRlByb3BlcnR5TGlzdENyZWF0ZUZyb21T
dHJlYW0oMCwgc3RyZWFtLmdldCgpLCAwLCBrQ0ZQcm9wZXJ0eUxpc3RNdXRhYmxlQ29udGFpbmVy
c0FuZExlYXZlcywgJmZvcm1hdCwgMCkpOwogICAgIENGUmVhZFN0cmVhbUNsb3NlKHN0cmVhbS5n
ZXQoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRDb21waWxlckZsYWdzLmNt
YWtlIGIvU291cmNlL2NtYWtlL1dlYktpdENvbXBpbGVyRmxhZ3MuY21ha2UKaW5kZXggNzJkYzVj
OTY3NzkyLi42YmQxZmY3ZmE2OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9XZWJLaXRDb21w
aWxlckZsYWdzLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9XZWJLaXRDb21waWxlckZsYWdzLmNt
YWtlCkBAIC0xMTYsMTggKzExNiwxNyBAQCBpZiAoQ09NUElMRVJfSVNfR0NDX09SX0NMQU5HKQog
ICAgICAgICAgICAgV0VCS0lUX1BSRVBFTkRfR0xPQkFMX0NPTVBJTEVSX0ZMQUdTKC1Xbm8tdW5r
bm93bi1wcmFnbWFzKQogICAgICAgICAgICAgYWRkX2RlZmluaXRpb25zKC1EX19VU0VfTUlOR1df
QU5TSV9TVERJTz0xKQogICAgICAgICBlbmRpZiAoKQorICAgICAgICAjIFdhcm5pbmdzIHRvIGJl
IGVuYWJsZWQKKyAgICAgICAgV0VCS0lUX1BSRVBFTkRfR0xPQkFMX0NPTVBJTEVSX0ZMQUdTKC1X
YWxsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtV2V4dHJh
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtV2Nhc3QtYWxp
Z24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1XZm9ybWF0
LXNlY3VyaXR5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt
V21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLVdwb2ludGVyLWFyaXRoCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAtV3VuZGVmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAtV3dyaXRlLXN0cmluZ3MpCiAgICAgZW5kaWYgKCkKIAotICAgICMg
V2FybmluZ3MgdG8gYmUgZW5hYmxlZAotICAgIFdFQktJVF9QUkVQRU5EX0dMT0JBTF9DT01QSUxF
Ul9GTEFHUygtV2FsbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt
V2V4dHJhCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1XY2FzdC1h
bGlnbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtV2Zvcm1hdC1z
ZWN1cml0eQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtV21pc3Np
bmctZm9ybWF0LWF0dHJpYnV0ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAtV3BvaW50ZXItYXJpdGgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLVd1bmRlZgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt
V3dyaXRlLXN0cmluZ3MpCi0KICAgICAjIFdhcm5pbmdzIHRvIGJlIGRpc2FibGVkCiAgICAgIyBG
SVhNRTogV2Ugc2hvdWxkIHByb2JhYmx5IG5vdCBiZSBkaXNhYmxpbmcgLVduby1tYXliZS11bmlu
aXRpYWxpemVkPwogICAgIFdFQktJVF9QUkVQRU5EX0dMT0JBTF9DT01QSUxFUl9GTEFHUygtUXVu
dXNlZC1hcmd1bWVudHMKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnQuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQuaAppbmRleCA2MzRjZThhOGU0MTEuLjdiYzdkNWFmOWRlMyAxMDA2NDQKLS0tIGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaApAQCAtNjUsNiArNjUsOSBAQCBj
bGFzcyBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IHsKIHB1YmxpYzoKICAgICBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50KFBsYXRmb3JtVUlFbGVtZW50KTsKICAgICBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
KGNvbnN0IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQmKTsKKyNpZiBQTEFURk9STShXSU4pCisgICAg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudChudWxscHRyX3QpOworI2VuZGlmCiAgICAgfkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQoKTsKIAogICAgIFBsYXRmb3JtVUlFbGVtZW50IHBsYXRmb3JtVUlFbGVt
ZW50KCkgY29uc3QgeyByZXR1cm4gbV9lbGVtZW50OyB9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHAgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHAKaW5kZXggNGRhMjI2
OTI0NDI0Li5kZDA4ZWRiYTYwZmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dp
bi9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50V2luLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS93aW4vQWNjZXNzaWJpbGl0eVVJRWxlbWVudFdpbi5jcHAKQEAgLTUzLDYgKzUzLDExIEBAIEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQoUGxhdGZvcm1VSUVs
ZW1lbnQgZWxlbWVudCkKIHsKIH0KIAorQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudChudWxscHRyX3QpCisgICAgOiBtX2VsZW1lbnQobnVsbHB0cikKK3sKK30K
KwogQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudChjb25zdCBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50JiBvdGhlcikKICAgICA6IG1fZWxlbWVudChvdGhlci5tX2Vs
ZW1lbnQpCiB7CmRpZmYgLS1naXQgYS9Ub29scy9JbWFnZURpZmYvY2Fpcm8vUGxhdGZvcm1JbWFn
ZUNhaXJvLmNwcCBiL1Rvb2xzL0ltYWdlRGlmZi9jYWlyby9QbGF0Zm9ybUltYWdlQ2Fpcm8uY3Bw
CmluZGV4IGI4ZGM4ZjBhMjBmOS4uNDQ0MTZlOTg3OThiIDEwMDY0NAotLS0gYS9Ub29scy9JbWFn
ZURpZmYvY2Fpcm8vUGxhdGZvcm1JbWFnZUNhaXJvLmNwcAorKysgYi9Ub29scy9JbWFnZURpZmYv
Y2Fpcm8vUGxhdGZvcm1JbWFnZUNhaXJvLmNwcApAQCAtNDEsNyArNDEsNyBAQCBzdGQ6OnVuaXF1
ZV9wdHI8UGxhdGZvcm1JbWFnZT4gUGxhdGZvcm1JbWFnZTo6Y3JlYXRlRnJvbVN0ZGluKHNpemVf
dCBpbWFnZVNpemUpCiB7CiAgICAgc3RydWN0IFJlYWRDb250ZXh0IHsKICAgICAgICAgY2hhciBi
dWZmZXJbMjA0OF07Ci0gICAgICAgIHVuc2lnbmVkIGxvbmcgaW5jb21pbmdCeXRlczsKKyAgICAg
ICAgc2l6ZV90IGluY29taW5nQnl0ZXM7CiAgICAgICAgIHVuc2lnbmVkIGxvbmcgcmVhZEJ5dGVz
OwogICAgIH0gY29udGV4dCB7IHsgfSwgaW1hZ2VTaXplLCAwIH07CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>349627</attachid>
            <date>2018-09-12 22:13:47 -0700</date>
            <delta_ts>2018-09-17 20:48:29 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>wip.patch</filename>
            <type>text/plain</type>
            <size>5981</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUTWF0aElDLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE1hdGhJQy5oCmluZGV4IDRlMDA5NThkMTlmLi42ODE2
NzkyNmZiYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRNYXRoSUMu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE1hdGhJQy5oCkBAIC0xNDQsNyAr
MTQ0LDcgQEAgcHVibGljOgogICAgICAgICB9OwogCiAgICAgICAgIGF1dG8gcmVwbGFjZUNhbGwg
PSBbJl0gKCkgewotI2lmIENPTVBJTEVSKE1TVkMpCisjaWYgQ09NUElMRVIoTVNWQykgJiYgIUNP
TVBJTEVSKENMQU5HKQogICAgICAgICAgICAgZnRsVGh1bmtBd2FyZVJlcGF0Y2hDYWxsKGNvZGVC
bG9jaywgc2xvd1BhdGhDYWxsTG9jYXRpb24oKS5yZXRhZ2dlZDxKU0ludGVybmFsUHRyVGFnPigp
LCBjYWxsUmVwbGFjZW1lbnQpOwogI2Vsc2UKICAgICAgICAgICAgIGZ0bFRodW5rQXdhcmVSZXBh
dGNoQ2FsbChjb2RlQmxvY2ssIHNsb3dQYXRoQ2FsbExvY2F0aW9uKCkudGVtcGxhdGUgcmV0YWdn
ZWQ8SlNJbnRlcm5hbFB0clRhZz4oKSwgY2FsbFJlcGxhY2VtZW50KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL0NvbXBpbGVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCmluZGV4
IDcxZTZiOGU2YTA4Li41YTkyMWQzMjEyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ29t
cGlsZXIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCkBAIC0zNjMsNyArMzYzLDcg
QEAKIAogLyogVU5VU0VEX1BBUkFNICovCiAKLSNpZiAhZGVmaW5lZChVTlVTRURfUEFSQU0pICYm
IENPTVBJTEVSKE1TVkMpCisjaWYgIWRlZmluZWQoVU5VU0VEX1BBUkFNKSAmJiBDT01QSUxFUihN
U1ZDKSAmJiAhQ09NUElMRVIoQ0xBTkcpCiAjZGVmaW5lIFVOVVNFRF9QQVJBTSh2YXJpYWJsZSkg
KHZvaWQpJnZhcmlhYmxlCiAjZW5kaWYKIApAQCAtNDMwLDcgKzQzMCw3IEBACiAjZGVmaW5lIElH
Tk9SRV9HQ0NfV0FSTklOR1NfRU5ECiAjZW5kaWYKIAotI2lmIENPTVBJTEVSKENMQU5HKQorI2lm
IENPTVBJTEVSKENMQU5HKSAmJiAhQ09NUElMRVIoTVNWQykKICNkZWZpbmUgSUdOT1JFX0NMQU5H
X1dBUk5JTkdTX0JFR0lOKHdhcm5pbmcpIElHTk9SRV9XQVJOSU5HU19CRUdJTl9JTVBMKGNsYW5n
LCB3YXJuaW5nKQogI2RlZmluZSBJR05PUkVfQ0xBTkdfV0FSTklOR1NfRU5EIElHTk9SRV9XQVJO
SU5HU19FTkRfSU1QTChjbGFuZykKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAKaW5kZXggOWQ5ODU4MTljYjMuLjRhZjcwOGQyZDMx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVl
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQu
Y3BwCkBAIC02MzUsNyArNjM1LDcgQEAgUmVmPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1NT
U3R5bGU+IEluc3BlY3RvclN0eWxlOjpzdHlsZVdpdGhQcm9wZXJ0aWVzKCkgY28KICAgICAgICAg
Y29uc3QgU3RyaW5nJiBuYW1lID0gcHJvcGVydHlFbnRyeS5uYW1lOwogCiAgICAgICAgIC8vIFZp
c3VhbCBTdHVkaW8gZGlzYWdyZWVzIHdpdGggb3RoZXIgY29tcGlsZXJzIGFzIHRvIHdoZXRoZXIg
J2NsYXNzJyBpcyBuZWVkZWQgaGVyZS4KLSNpZiBDT01QSUxFUihNU1ZDKQorI2lmIENPTVBJTEVS
KE1TVkMpICYmICFDT01QSUxFUihDTEFORykKICAgICAgICAgZW51bSBjbGFzcyBQcm90b2NvbDo6
Q1NTOjpDU1NQcm9wZXJ0eVN0YXR1cyBzdGF0dXM7CiAjZWxzZQogICAgICAgICBlbnVtIEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6OkNTUzo6Q1NTUHJvcGVydHlTdGF0dXMgc3RhdHVzOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1doZWVsRXZlbnRXaW4uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vd2luL1doZWVsRXZlbnRXaW4uY3BwCmluZGV4IGMyNGFlZDE4ZTU0
Li4zZDkwNDZmYTRkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1do
ZWVsRXZlbnRXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9XaGVlbEV2
ZW50V2luLmNwcApAQCAtODMsMTIgKzgzLDEyIEBAIFBsYXRmb3JtV2hlZWxFdmVudDo6UGxhdGZv
cm1XaGVlbEV2ZW50KEhXTkQgaFduZCwgY29uc3QgRmxvYXRTaXplJiBkZWx0YSwgY29uc3QKICAg
ICBtX3doZWVsVGlja3NZID0gbV9kZWx0YVk7CiAKICAgICAvLyBHbG9iYWwgUG9zaXRpb24gaXMg
anVzdCB4LCB5IGxvY2F0aW9uIG9mIGV2ZW50Ci0gICAgUE9JTlQgcG9pbnQgPSB7bG9jYXRpb24u
eCgpLCBsb2NhdGlvbi55KCl9OwogICAgIGZsb2F0IGludmVyc2VTY2FsZUZhY3RvciA9IDEuMGYg
LyBkZXZpY2VTY2FsZUZhY3RvckZvcldpbmRvdyhoV25kKTsKLSAgICBtX2dsb2JhbFBvc2l0aW9u
ID0gcG9pbnQ7CisgICAgbV9nbG9iYWxQb3NpdGlvbiA9IGZsb29yZWRJbnRQb2ludChsb2NhdGlv
bik7CiAgICAgbV9nbG9iYWxQb3NpdGlvbi5zY2FsZShpbnZlcnNlU2NhbGVGYWN0b3IsIGludmVy
c2VTY2FsZUZhY3Rvcik7CiAKICAgICAvLyBQb3NpdGlvbiBuZWVkcyB0byBiZSB0cmFuc2xhdGVk
IHRvIG91ciBjbGllbnQKKyAgICBQT0lOVCBwb2ludDsKICAgICBTY3JlZW5Ub0NsaWVudChoV25k
LCAmcG9pbnQpOwogICAgIG1fcG9zaXRpb24gPSBwb2ludDsKICAgICBtX3Bvc2l0aW9uLnNjYWxl
KGludmVyc2VTY2FsZUZhY3RvciwgaW52ZXJzZVNjYWxlRmFjdG9yKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0RlZmF1bHRQb2xpY3lEZWxlZ2F0ZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9EZWZhdWx0UG9saWN5RGVsZWdhdGUuY3BwCmluZGV4IDNiMDBmYjlk
NzgxLi5lOGU1ZjVjNGNjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vRGVm
YXVsdFBvbGljeURlbGVnYXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9EZWZh
dWx0UG9saWN5RGVsZWdhdGUuY3BwCkBAIC0xNzksNyArMTc5LDcgQEAgSFJFU1VMVCBEZWZhdWx0
UG9saWN5RGVsZWdhdGU6OnVuYWJsZVRvSW1wbGVtZW50UG9saWN5V2l0aEVycm9yKF9Jbl9vcHRf
IElXZWJWaWUKICAgICBCU3RyaW5nIGZyYW1lTmFtZTsKICAgICBmcmFtZS0+bmFtZSgmZnJhbWVO
YW1lKTsKIAotICAgIExPR19FUlJPUigiY2FsbGVkIHVuYWJsZVRvSW1wbGVtZW50UG9saWN5V2l0
aEVycm9yOiVTIGluRnJhbWU6JVMiLCBlcnJvclN0ciA/IGVycm9yU3RyIDogVEVYVCgiIiksIGZy
YW1lTmFtZSA/IGZyYW1lTmFtZSA6IFRFWFQoIiIpKTsKKyAgICBMT0dfRVJST1IoImNhbGxlZCB1
bmFibGVUb0ltcGxlbWVudFBvbGljeVdpdGhFcnJvcjolUyBpbkZyYW1lOiVTIiwgZXJyb3JTdHIg
PyBzdGF0aWNfY2FzdDxCU1RSPihlcnJvclN0cikgOiBURVhUKCIiKSwgZnJhbWVOYW1lID8gc3Rh
dGljX2Nhc3Q8QlNUUj4oZnJhbWVOYW1lKSA6IFRFWFQoIiIpKTsKIAogICAgIHJldHVybiBTX09L
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViTG9jYWxpemFibGVT
dHJpbmdzLmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5n
cy5jcHAKaW5kZXggYzU1NjA3ZjYyNzQuLmRlMDIyMWY1NDVmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJMb2NhbGl6YWJsZVN0cmluZ3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5jcHAKQEAgLTE2MSw3ICsxNjEs
NyBAQCBzdGF0aWMgQ0ZTdHJpbmdSZWYgY29weUxvY2FsaXplZFN0cmluZ0Zyb21CdW5kbGUoV2Vi
TG9jYWxpemFibGVTdHJpbmdzQnVuZGxlKiBzdAogCiAgICAgQ0ZTdHJpbmdSZWYgcmVzdWx0ID0g
Q0ZDb3B5TG9jYWxpemVkU3RyaW5nV2l0aERlZmF1bHRWYWx1ZShrZXkuY3JlYXRlQ0ZTdHJpbmco
KS5nZXQoKSwgMCwgYnVuZGxlLCBub3RGb3VuZCwgMCk7CiAKLSAgICBBU1NFUlRfV0lUSF9NRVNT
QUdFKHJlc3VsdCAhPSBub3RGb3VuZCwgImNvdWxkIG5vdCBmaW5kIGxvY2FsaXphYmxlIHN0cmlu
ZyAlcyBpbiBidW5kbGUiLCBrZXkpOworICAgIEFTU0VSVF9XSVRIX01FU1NBR0UocmVzdWx0ICE9
IG5vdEZvdW5kLCAiY291bGQgbm90IGZpbmQgbG9jYWxpemFibGUgc3RyaW5nICVzIGluIGJ1bmRs
ZSIsIGtleS51dGY4KCkuZGF0YSgpKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0Q29tcGlsZXJGbGFncy5jbWFrZSBiL1NvdXJjZS9jbWFr
ZS9XZWJLaXRDb21waWxlckZsYWdzLmNtYWtlCmluZGV4IDcyZGM1Yzk2Nzc5Li42YmQxZmY3ZmE2
OSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktpdENvbXBpbGVyRmxhZ3MuY21ha2UKKysr
IGIvU291cmNlL2NtYWtlL1dlYktpdENvbXBpbGVyRmxhZ3MuY21ha2UKQEAgLTExNiwxOCArMTE2
LDE3IEBAIGlmIChDT01QSUxFUl9JU19HQ0NfT1JfQ0xBTkcpCiAgICAgICAgICAgICBXRUJLSVRf
UFJFUEVORF9HTE9CQUxfQ09NUElMRVJfRkxBR1MoLVduby11bmtub3duLXByYWdtYXMpCiAgICAg
ICAgICAgICBhZGRfZGVmaW5pdGlvbnMoLURfX1VTRV9NSU5HV19BTlNJX1NURElPPTEpCiAgICAg
ICAgIGVuZGlmICgpCisgICAgICAgICMgV2FybmluZ3MgdG8gYmUgZW5hYmxlZAorICAgICAgICBX
RUJLSVRfUFJFUEVORF9HTE9CQUxfQ09NUElMRVJfRkxBR1MoLVdhbGwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1XZXh0cmEKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1XY2FzdC1hbGlnbgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLVdmb3JtYXQtc2VjdXJpdHkKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1XbWlzc2luZy1mb3JtYXQtYXR0
cmlidXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtV3Bv
aW50ZXItYXJpdGgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC1XdW5kZWYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1X
d3JpdGUtc3RyaW5ncykKICAgICBlbmRpZiAoKQogCi0gICAgIyBXYXJuaW5ncyB0byBiZSBlbmFi
bGVkCi0gICAgV0VCS0lUX1BSRVBFTkRfR0xPQkFMX0NPTVBJTEVSX0ZMQUdTKC1XYWxsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1XZXh0cmEKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLVdjYXN0LWFsaWduCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1XZm9ybWF0LXNlY3VyaXR5Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRl
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1XcG9pbnRlci1hcml0
aAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtV3VuZGVmCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1Xd3JpdGUtc3RyaW5ncykKLQog
ICAgICMgV2FybmluZ3MgdG8gYmUgZGlzYWJsZWQKICAgICAjIEZJWE1FOiBXZSBzaG91bGQgcHJv
YmFibHkgbm90IGJlIGRpc2FibGluZyAtV25vLW1heWJlLXVuaW5pdGlhbGl6ZWQ/CiAgICAgV0VC
S0lUX1BSRVBFTkRfR0xPQkFMX0NPTVBJTEVSX0ZMQUdTKC1RdW51c2VkLWFyZ3VtZW50cwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350006</attachid>
            <date>2018-09-17 23:41:40 -0700</date>
            <delta_ts>2018-09-18 20:16:03 -0700</delta_ts>
            <desc>WIP Patch not to define WTF_COMPILER_MSVC</desc>
            <filename>wip.patch</filename>
            <type>text/plain</type>
            <size>9085</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXJYODZDb21tb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlclg4NkNvbW1vbi5jcHAKaW5kZXggNDNiODYyNTE3MTYuLmQxMTYxOGMwNzAzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2
Q29tbW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyWDg2Q29tbW9uLmNwcApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgIlByb2JlQ29u
dGV4dC5oIgogI2luY2x1ZGUgPHd0Zi9JbmxpbmVBU00uaD4KIAotI2lmIENPTVBJTEVSKE1TVkMp
CisjaWYgT1MoV0lORE9XUykKICNpbmNsdWRlIDxpbnRyaW4uaD4KICNlbmRpZgogCkBAIC0xNzEs
NyArMTcxLDcgQEAgc3RhdGljX2Fzc2VydCgoUFJPQkVfRVhFQ1VUT1JfT0ZGU0VUICsgUFRSX1NJ
WkUpIDw9IChQUk9CRV9TSVpFICsgT1VUX1NJWkUpLCAiTXUKICN1bmRlZiBQUk9CRV9PRkZTRVRP
RgogCiAjaWYgQ1BVKFg4NikKLSNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpCisjaWYgQ09NUElM
RVIoR0NDX09SX0NMQU5HKSAmJiAhT1MoV0lORE9XUykKIGFzbSAoCiAgICAgIi5nbG9ibCAiIFNZ
TUJPTF9TVFJJTkcoY3RpTWFzbVByb2JlVHJhbXBvbGluZSkgIlxuIgogICAgIEhJREVfU1lNQk9M
KGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUpICJcbiIKQEAgLTM0MCw3ICszNDAsNyBAQCBhc20gKAog
KTsKICNlbmRpZgogCi0jaWYgQ09NUElMRVIoTVNWQykKKyNpZiBPUyhXSU5ET1dTKQogZXh0ZXJu
ICJDIiBfX2RlY2xzcGVjKG5ha2VkKSB2b2lkIGN0aU1hc21Qcm9iZVRyYW1wb2xpbmUoKQogewog
ICAgIF9fYXNtIHsKQEAgLTUwNiwxMiArNTA2LDEyIEBAIGV4dGVybiAiQyIgX19kZWNsc3BlYyhu
YWtlZCkgdm9pZCBjdGlNYXNtUHJvYmVUcmFtcG9saW5lKCkKICAgICAgICAgcmV0CiAgICAgfQog
fQotI2VuZGlmIC8vIENPTVBJTEVSKE1TVkMpCisjZW5kaWYgLy8gT1MoV0lORE9XUykKIAogI2Vu
ZGlmIC8vIENQVShYODYpCiAKICNpZiBDUFUoWDg2XzY0KQotI2lmIENPTVBJTEVSKEdDQ19PUl9D
TEFORykKKyNpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmICFPUyhXSU5ET1dTKQogYXNtICgK
ICAgICAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlNYXNtUHJvYmVUcmFtcG9saW5lKSAiXG4i
CiAgICAgSElERV9TWU1CT0woY3RpTWFzbVByb2JlVHJhbXBvbGluZSkgIlxuIgpAQCAtNzY5LDcg
Kzc2OSw3IEBAIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpDUFVJRCBNYWNyb0Fzc2VtYmxlclg4
NkNvbW1vbjo6Z2V0Q1BVSUQodW5zaWduZWQgbGV2ZWwpCiBNYWNyb0Fzc2VtYmxlclg4NkNvbW1v
bjo6Q1BVSUQgTWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmdldENQVUlERXgodW5zaWduZWQgbGV2
ZWwsIHVuc2lnbmVkIGNvdW50KQogewogICAgIENQVUlEIHJlc3VsdCB7IH07Ci0jaWYgQ09NUElM
RVIoTVNWQykKKyNpZiBPUyhXSU5ET1dTKQogICAgIF9fY3B1aWRleChiaXR3aXNlX2Nhc3Q8aW50
Kj4ocmVzdWx0LmRhdGEoKSksIGxldmVsLCBjb3VudCk7CiAjZWxzZQogICAgIF9fYXNtX18gKApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKaW5kZXggYjJlYjQx
OGNmZjguLjMyZDI2NTY5NzM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bl
cmF0aW9ucy5jcHAKQEAgLTI0NjIsMTAgKzI0NjIsMTAgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbkV4Y2VwdGlvbkZ1enooRXhlY1N0YXRlKiBleGVjKQogICAgIE5hdGl2ZUNhbGxGcmFt
ZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9X
X1NDT1BFKCp2bSk7CiAgICAgVU5VU0VEX1BBUkFNKHNjb3BlKTsKLSNpZiBDT01QSUxFUihHQ0Nf
T1JfQ0xBTkcpCisjaWYgIU9TKFdJTkRPV1MpCiAgICAgdm9pZCogcmV0dXJuUEMgPSBfX2J1aWx0
aW5fcmV0dXJuX2FkZHJlc3MoMCk7CiAgICAgZG9FeGNlcHRpb25GdXp6aW5nKGV4ZWMsIHNjb3Bl
LCAiSklUT3BlcmF0aW9ucyIsIHJldHVyblBDKTsKLSNlbmRpZiAvLyBDT01QSUxFUihHQ0NfT1Jf
Q0xBTkcpCisjZW5kaWYgLy8gIU9TKFdJTkRPV1MpCiB9CiAKIEFMV0FZU19JTkxJTkUgc3RhdGlj
IEVuY29kZWRKU1ZhbHVlIHVucHJvZmlsZWRBZGQoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNW
YWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyKQpAQCAtMjkxOCw3ICsy
OTE4LDcgQEAgZXh0ZXJuICJDIiBFbmNvZGVkSlNWYWx1ZSBIT1NUX0NBTExfUkVUVVJOX1ZBTFVF
X09QVElPTiBnZXRIb3N0Q2FsbFJldHVyblZhbHVlV2kKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKGV4ZWMtPnZtKCkuaG9zdENhbGxSZXR1cm5WYWx1ZSk7CiB9CiAKLSNpZiBDT01QSUxFUihH
Q0NfT1JfQ0xBTkcpICYmIENQVShYODZfNjQpCisjaWYgIU9TKFdJTkRPV1MpICYmIENQVShYODZf
NjQpCiBhc20gKAogIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENhbGxSZXR1cm5WYWx1
ZSkgIlxuIgogSElERV9TWU1CT0woZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIlxuIgpAQCAtMjky
Nyw3ICsyOTI3LDcgQEAgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIg
IlxuIgogICAgICJqbXAgIiBMT0NBTF9SRUZFUkVOQ0UoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdp
dGhFeGVjU3RhdGUpICJcbiIKICk7CiAKLSNlbGlmIENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYg
Q1BVKFg4NikKKyNlbGlmICFPUyhXSU5ET1dTKSAmJiBDUFUoWDg2KQogYXNtICgKICIudGV4dCIg
IlxuIiBcCiAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAi
XG4iCkBAIC0yOTQzLDcgKzI5NDMsNyBAQCBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJu
VmFsdWUpICI6IiAiXG4iCiAgICAgInJldFxuIgogKTsKIAotI2VsaWYgQ09NUElMRVIoR0NDX09S
X0NMQU5HKSAmJiBDUFUoQVJNX1RIVU1CMikKKyNlbGlmICFPUyhXSU5ET1dTKSAmJiBDUFUoQVJN
X1RIVU1CMikKIGFzbSAoCiAiLnRleHQiICJcbiIKICIuYWxpZ24gMiIgIlxuIgpAQCAtMjk1Niw3
ICsyOTU2LDcgQEAgU1lNQk9MX1NUUklORyhnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSAiOiIgIlxu
IgogICAgICJiICIgTE9DQUxfUkVGRVJFTkNFKGdldEhvc3RDYWxsUmV0dXJuVmFsdWVXaXRoRXhl
Y1N0YXRlKSAiXG4iCiApOwogCi0jZWxpZiBDT01QSUxFUihHQ0NfT1JfQ0xBTkcpICYmIENQVShB
Uk1fVFJBRElUSU9OQUwpCisjZWxpZiAhT1MoV0lORE9XUykgJiYgQ1BVKEFSTV9UUkFESVRJT05B
TCkKIGFzbSAoCiAiLnRleHQiICJcbiIKICIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RD
YWxsUmV0dXJuVmFsdWUpICJcbiIKQEAgLTI5NzgsNyArMjk3OCw3IEBAIFNZTUJPTF9TVFJJTkco
Z2V0SG9zdENhbGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKICAgICAgImIgIiBMT0NBTF9SRUZFUkVO
Q0UoZ2V0SG9zdENhbGxSZXR1cm5WYWx1ZVdpdGhFeGVjU3RhdGUpICJcbiIKICk7CiAKLSNlbGlm
IENPTVBJTEVSKEdDQ19PUl9DTEFORykgJiYgQ1BVKE1JUFMpCisjZWxpZiAhT1MoV0lORE9XUykg
JiYgQ1BVKE1JUFMpCiAKICNpZiBXVEZfTUlQU19QSUMKICNkZWZpbmUgTE9BRF9GVU5DVElPTl9U
T19UOShmdW5jdGlvbikgXApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9S
ZWdpc3RlckF0T2Zmc2V0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJB
dE9mZnNldC5jcHAKaW5kZXggMTZhNjM5Y2E4YzcuLmFmZDQ4YTg0NDNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlZ2lzdGVyQXRPZmZzZXQuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVnaXN0ZXJBdE9mZnNldC5jcHAKQEAgLTMwLDcgKzMwLDcg
QEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLSNpZiAhQ09NUElMRVIoTVNWQykKKyNpZiAhT1MoV0lO
RE9XUykKIHN0YXRpY19hc3NlcnQoc2l6ZW9mKFJlZ2lzdGVyQXRPZmZzZXQpID09IHNpemVvZihw
dHJkaWZmX3QpLCAiUmVnaXN0ZXJBdE9mZnNldCBzaG91bGQgYmUgc21hbGwuIik7CiAjZW5kaWYK
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50T2ZmbGluZUFz
bUNvbmZpZy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50T2ZmbGluZUFzbUNv
bmZpZy5oCmluZGV4IGE2NDM3ZDQwM2E0Li43N2ZmMzY2ZjNhZSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50T2ZmbGluZUFzbUNvbmZpZy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZmxpbmVBc21Db25maWcuaApAQCAtNDksMTMg
KzQ5LDEzIEBACiAKICNkZWZpbmUgT0ZGTElORV9BU01fQ19MT09QIDAKIAotI2lmIENQVShYODYp
ICYmICFDT01QSUxFUihNU1ZDKQorI2lmIENQVShYODYpICYmICFPUyhXSU5ET1dTKQogI2RlZmlu
ZSBPRkZMSU5FX0FTTV9YODYgMQogI2Vsc2UKICNkZWZpbmUgT0ZGTElORV9BU01fWDg2IDAKICNl
bmRpZgogCi0jaWYgQ1BVKFg4NikgJiYgQ09NUElMRVIoTVNWQykKKyNpZiBDUFUoWDg2KSAmJiBP
UyhXSU5ET1dTKQogI2RlZmluZSBPRkZMSU5FX0FTTV9YODZfV0lOIDEKICNlbHNlCiAjZGVmaW5l
IE9GRkxJTkVfQVNNX1g4Nl9XSU4gMApAQCAtOTIsMTMgKzkyLDEzIEBACiAjZGVmaW5lIE9GRkxJ
TkVfQVNNX0FSTSAwCiAjZW5kaWYKIAotI2lmIENQVShYODZfNjQpICYmICFDT01QSUxFUihNU1ZD
KQorI2lmIENQVShYODZfNjQpICYmICFPUyhXSU5ET1dTKQogI2RlZmluZSBPRkZMSU5FX0FTTV9Y
ODZfNjQgMQogI2Vsc2UKICNkZWZpbmUgT0ZGTElORV9BU01fWDg2XzY0IDAKICNlbmRpZgogCi0j
aWYgQ1BVKFg4Nl82NCkgJiYgQ09NUElMRVIoTVNWQykKKyNpZiBDUFUoWDg2XzY0KSAmJiBPUyhX
SU5ET1dTKQogI2RlZmluZSBPRkZMSU5FX0FTTV9YODZfNjRfV0lOIDEKICNlbHNlCiAjZGVmaW5l
IE9GRkxJTkVfQVNNX1g4Nl82NF9XSU4gMApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuY3BwCmluZGV4IDc4YmZmMDg4NGM0Li42MjEwMzY5
ZmRiYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmNwcApAQCAtNTA3LDcgKzUwNyw3IEBAIEpTVmFsdWUgQ0xvb3A6OmV4ZWN1dGUo
T3Bjb2RlSUQgZW50cnlPcGNvZGVJRCwgdm9pZCogZXhlY3V0YWJsZUFkZHJlc3MsIFZNKiB2bSwK
IAogfSAvLyBuYW1lc3BhY2UgSlNDCiAKLSNlbGlmICFDT01QSUxFUihNU1ZDKQorI2VsaWYgIU9T
KFdJTkRPV1MpCiAKIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLy8gRGVmaW5lIHRoZSBvcGNvZGUg
ZGlzcGF0Y2ggbWVjaGFuaXNtIHdoZW4gdXNpbmcgYW4gQVNNIGxvb3A6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9Db21waWxlci5oIGIvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaAppbmRl
eCA3MWU2YjhlNmEwOC4uYWNjMzNmMjM3MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0Nv
bXBpbGVyLmgKKysrIGIvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaApAQCAtODIsNyArODIsNyBA
QAogI2VuZGlmIC8vIGRlZmluZWQoX19jbGFuZ19fKQogCiAvKiBDT01QSUxFUihHQ0NfT1JfQ0xB
TkcpIC0gR05VIENvbXBpbGVyIENvbGxlY3Rpb24gb3IgQ2xhbmcgKi8KLSNpZiBkZWZpbmVkKF9f
R05VQ19fKQorI2lmIGRlZmluZWQoX19HTlVDX18pIHx8IGRlZmluZWQoX19jbGFuZ19fKQogI2Rl
ZmluZSBXVEZfQ09NUElMRVJfR0NDX09SX0NMQU5HIDEKICNlbmRpZgogCkBAIC0xMjEsNyArMTIx
LDcgQEAKIAogLyogQ09NUElMRVIoTVNWQykgLSBNaWNyb3NvZnQgVmlzdWFsIEMrKyAqLwogCi0j
aWYgZGVmaW5lZChfTVNDX1ZFUikKKyNpZiBkZWZpbmVkKF9NU0NfVkVSKSAmJiAhQ09NUElMRVIo
Q0xBTkcpCiAKICNkZWZpbmUgV1RGX0NPTVBJTEVSX01TVkMgMQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9EYXRlTWF0aC5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9EYXRlTWF0aC5jcHAKaW5k
ZXggM2RlOWM2ZDlhNjUuLmNiZTMzNjI3MzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9E
YXRlTWF0aC5jcHAKKysrIGIvU291cmNlL1dURi93dGYvRGF0ZU1hdGguY3BwCkBAIC0xMjUsNyAr
MTI1LDcgQEAgc3RhdGljIGNvbnN0IGludCBmaXJzdERheU9mTW9udGhbMl1bMTJdID0gewogCiBz
dGF0aWMgaW5saW5lIHZvaWQgZ2V0TG9jYWxUaW1lKGNvbnN0IHRpbWVfdCogbG9jYWxUaW1lLCBz
dHJ1Y3QgdG0qIGxvY2FsVE0pCiB7Ci0jaWYgQ09NUElMRVIoTVNWQykKKyNpZiBPUyhXSU5ET1dT
KQogICAgIGxvY2FsdGltZV9zKGxvY2FsVE0sIGxvY2FsVGltZSk7CiAjZWxpZiBIQVZFKExPQ0FM
VElNRV9SKQogICAgIGxvY2FsdGltZV9yKGxvY2FsVGltZSwgbG9jYWxUTSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApp
bmRleCBlNTY5Y2RjNTYzOC4uZDdlYjQ2MjFjYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtLmgKKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaApAQCAtOTUxLDcgKzk1
MSw3IEBACiAjZGVmaW5lIEVOQUJMRV9DT01QVVRFRF9HT1RPX09QQ09ERVMgMQogI2VuZGlmCiAK
LSNpZiBFTkFCTEUoSklUKSAmJiAhQ09NUElMRVIoTVNWQykgJiYgXAorI2lmIEVOQUJMRShKSVQp
ICYmICFPUyhXSU5ET1dTKSAmJiBcCiAgICAgKENQVShYODYpIHx8IENQVShYODZfNjQpIHx8IENQ
VShBUk02NCkgfHwgKENQVShBUk1fVEhVTUIyKSAmJiBPUyhEQVJXSU4pKSkKIC8qIFRoaXMgZmVh
dHVyZSB3b3JrcyBieSBlbWJlZGRpbmcgdGhlIE9wY29kZUlEIGluIHRoZSAzMiBiaXQganVzdCBi
ZWZvcmUgdGhlIGdlbmVyYXRlZCBMTGludCBjb2RlCiAgICB0aGF0IGV4ZWN1dGVzIGVhY2ggb3Bj
b2RlLiBJdCBjYW5ub3QgYmUgc3VwcG9ydGVkIGJ5IHRoZSBDTG9vcCBzaW5jZSB0aGVyZSdzIG5v
IHdheSB0byBlbWJlZCB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9XZWJLaXRDb21waWxl
ckZsYWdzLmNtYWtlIGIvU291cmNlL2NtYWtlL1dlYktpdENvbXBpbGVyRmxhZ3MuY21ha2UKaW5k
ZXggNzJkYzVjOTY3NzkuLjZiZDFmZjdmYTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvV2Vi
S2l0Q29tcGlsZXJGbGFncy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvV2ViS2l0Q29tcGlsZXJG
bGFncy5jbWFrZQpAQCAtMTE2LDE4ICsxMTYsMTcgQEAgaWYgKENPTVBJTEVSX0lTX0dDQ19PUl9D
TEFORykKICAgICAgICAgICAgIFdFQktJVF9QUkVQRU5EX0dMT0JBTF9DT01QSUxFUl9GTEFHUygt
V25vLXVua25vd24tcHJhZ21hcykKICAgICAgICAgICAgIGFkZF9kZWZpbml0aW9ucygtRF9fVVNF
X01JTkdXX0FOU0lfU1RESU89MSkKICAgICAgICAgZW5kaWYgKCkKKyAgICAgICAgIyBXYXJuaW5n
cyB0byBiZSBlbmFibGVkCisgICAgICAgIFdFQktJVF9QUkVQRU5EX0dMT0JBTF9DT01QSUxFUl9G
TEFHUygtV2FsbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LVdleHRyYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLVdj
YXN0LWFsaWduCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt
V2Zvcm1hdC1zZWN1cml0eQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC1XcG9pbnRlci1hcml0aAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLVd1bmRlZgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLVd3cml0ZS1zdHJpbmdzKQogICAgIGVuZGlmICgpCiAK
LSAgICAjIFdhcm5pbmdzIHRvIGJlIGVuYWJsZWQKLSAgICBXRUJLSVRfUFJFUEVORF9HTE9CQUxf
Q09NUElMRVJfRkxBR1MoLVdhbGwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLVdleHRyYQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAt
V2Nhc3QtYWxpZ24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLVdm
b3JtYXQtc2VjdXJpdHkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
LVdtaXNzaW5nLWZvcm1hdC1hdHRyaWJ1dGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLVdwb2ludGVyLWFyaXRoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC1XdW5kZWYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLVd3cml0ZS1zdHJpbmdzKQotCiAgICAgIyBXYXJuaW5ncyB0byBiZSBkaXNhYmxlZAog
ICAgICMgRklYTUU6IFdlIHNob3VsZCBwcm9iYWJseSBub3QgYmUgZGlzYWJsaW5nIC1Xbm8tbWF5
YmUtdW5pbml0aWFsaXplZD8KICAgICBXRUJLSVRfUFJFUEVORF9HTE9CQUxfQ09NUElMRVJfRkxB
R1MoLVF1bnVzZWQtYXJndW1lbnRzCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350007</attachid>
            <date>2018-09-17 23:42:43 -0700</date>
            <delta_ts>2018-09-24 23:55:17 -0700</delta_ts>
            <desc>WIP Patch to define WTF_COMPILER_MSVC</desc>
            <filename>wip.patch</filename>
            <type>text/plain</type>
            <size>2882</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUTWF0aElDLmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE1hdGhJQy5oCmluZGV4IDRlMDA5NThkMTlmLi42ODE2
NzkyNmZiYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRNYXRoSUMu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE1hdGhJQy5oCkBAIC0xNDQsNyAr
MTQ0LDcgQEAgcHVibGljOgogICAgICAgICB9OwogCiAgICAgICAgIGF1dG8gcmVwbGFjZUNhbGwg
PSBbJl0gKCkgewotI2lmIENPTVBJTEVSKE1TVkMpCisjaWYgQ09NUElMRVIoTVNWQykgJiYgIUNP
TVBJTEVSKENMQU5HKQogICAgICAgICAgICAgZnRsVGh1bmtBd2FyZVJlcGF0Y2hDYWxsKGNvZGVC
bG9jaywgc2xvd1BhdGhDYWxsTG9jYXRpb24oKS5yZXRhZ2dlZDxKU0ludGVybmFsUHRyVGFnPigp
LCBjYWxsUmVwbGFjZW1lbnQpOwogI2Vsc2UKICAgICAgICAgICAgIGZ0bFRodW5rQXdhcmVSZXBh
dGNoQ2FsbChjb2RlQmxvY2ssIHNsb3dQYXRoQ2FsbExvY2F0aW9uKCkudGVtcGxhdGUgcmV0YWdn
ZWQ8SlNJbnRlcm5hbFB0clRhZz4oKSwgY2FsbFJlcGxhY2VtZW50KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL0NvbXBpbGVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCmluZGV4
IDcxZTZiOGU2YTA4Li41YTkyMWQzMjEyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ29t
cGlsZXIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCkBAIC0zNjMsNyArMzYzLDcg
QEAKIAogLyogVU5VU0VEX1BBUkFNICovCiAKLSNpZiAhZGVmaW5lZChVTlVTRURfUEFSQU0pICYm
IENPTVBJTEVSKE1TVkMpCisjaWYgIWRlZmluZWQoVU5VU0VEX1BBUkFNKSAmJiBDT01QSUxFUihN
U1ZDKSAmJiAhQ09NUElMRVIoQ0xBTkcpCiAjZGVmaW5lIFVOVVNFRF9QQVJBTSh2YXJpYWJsZSkg
KHZvaWQpJnZhcmlhYmxlCiAjZW5kaWYKIApAQCAtNDMwLDcgKzQzMCw3IEBACiAjZGVmaW5lIElH
Tk9SRV9HQ0NfV0FSTklOR1NfRU5ECiAjZW5kaWYKIAotI2lmIENPTVBJTEVSKENMQU5HKQorI2lm
IENPTVBJTEVSKENMQU5HKSAmJiAhQ09NUElMRVIoTVNWQykKICNkZWZpbmUgSUdOT1JFX0NMQU5H
X1dBUk5JTkdTX0JFR0lOKHdhcm5pbmcpIElHTk9SRV9XQVJOSU5HU19CRUdJTl9JTVBMKGNsYW5n
LCB3YXJuaW5nKQogI2RlZmluZSBJR05PUkVfQ0xBTkdfV0FSTklOR1NfRU5EIElHTk9SRV9XQVJO
SU5HU19FTkRfSU1QTChjbGFuZykKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2Vi
S2l0Q29tcGlsZXJGbGFncy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRDb21waWxlckZsYWdz
LmNtYWtlCmluZGV4IDcyZGM1Yzk2Nzc5Li42YmQxZmY3ZmE2OSAxMDA2NDQKLS0tIGEvU291cmNl
L2NtYWtlL1dlYktpdENvbXBpbGVyRmxhZ3MuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL1dlYktp
dENvbXBpbGVyRmxhZ3MuY21ha2UKQEAgLTExNiwxOCArMTE2LDE3IEBAIGlmIChDT01QSUxFUl9J
U19HQ0NfT1JfQ0xBTkcpCiAgICAgICAgICAgICBXRUJLSVRfUFJFUEVORF9HTE9CQUxfQ09NUElM
RVJfRkxBR1MoLVduby11bmtub3duLXByYWdtYXMpCiAgICAgICAgICAgICBhZGRfZGVmaW5pdGlv
bnMoLURfX1VTRV9NSU5HV19BTlNJX1NURElPPTEpCiAgICAgICAgIGVuZGlmICgpCisgICAgICAg
ICMgV2FybmluZ3MgdG8gYmUgZW5hYmxlZAorICAgICAgICBXRUJLSVRfUFJFUEVORF9HTE9CQUxf
Q09NUElMRVJfRkxBR1MoLVdhbGwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC1XZXh0cmEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC1XY2FzdC1hbGlnbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLVdmb3JtYXQtc2VjdXJpdHkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtV3BvaW50ZXItYXJpdGgKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1XdW5kZWYKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1Xd3JpdGUtc3RyaW5ncykKICAgICBl
bmRpZiAoKQogCi0gICAgIyBXYXJuaW5ncyB0byBiZSBlbmFibGVkCi0gICAgV0VCS0lUX1BSRVBF
TkRfR0xPQkFMX0NPTVBJTEVSX0ZMQUdTKC1XYWxsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC1XZXh0cmEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLVdjYXN0LWFsaWduCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC1XZm9ybWF0LXNlY3VyaXR5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC1XbWlzc2luZy1mb3JtYXQtYXR0cmlidXRlCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC1XcG9pbnRlci1hcml0aAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAtV3VuZGVmCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC1Xd3JpdGUtc3RyaW5ncykKLQogICAgICMgV2FybmluZ3MgdG8gYmUg
ZGlzYWJsZWQKICAgICAjIEZJWE1FOiBXZSBzaG91bGQgcHJvYmFibHkgbm90IGJlIGRpc2FibGlu
ZyAtV25vLW1heWJlLXVuaW5pdGlhbGl6ZWQ/CiAgICAgV0VCS0lUX1BSRVBFTkRfR0xPQkFMX0NP
TVBJTEVSX0ZMQUdTKC1RdW51c2VkLWFyZ3VtZW50cwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>467870</attachid>
            <date>2023-09-26 00:30:57 -0700</date>
            <delta_ts>2023-10-02 20:57:21 -0700</delta_ts>
            <desc>&quot;-T ClangCL&quot; patch</desc>
            <filename>vs-clang-cl.patch</filename>
            <type>text/plain</type>
            <size>541</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0ZGlycy5wbQppbmRleCAzNzYwZTBjZWU4ZDIuLmJjZDc1YWE0MmY5MCAxMDA3NTUKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
ZGlycy5wbQpAQCAtMjY5NCw2ICsyNjk0LDcgQEAgc3ViIGdlbmVyYXRlQnVpbGRTeXN0ZW1Gcm9t
Q01ha2VQcm9qZWN0CiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYgKGlzQW55V2luZG93cygpKSB7
CiAgICAgICAgICAgICBwdXNoIEBhcmdzLCBnZXRDTWFrZVdpbmRvd3NUb29sc2V0QXJndW1lbnQo
KTsKKyAgICAgICAgICAgIHB1c2ggQGFyZ3MsIHFxKC1UIENsYW5nQ0wpOwogICAgICAgICB9CiAg
ICAgICAgIGlmICgoaXNBbnlXaW5kb3dzKCkgfHwgaXNQbGF5U3RhdGlvbigpKSAmJiBkZWZpbmVk
ICRFTlZ7VmlzdWFsU3R1ZGlvVmVyc2lvbn0pIHsKICAgICAgICAgICAgIG15ICR2YXIgPSBpbnQo
JEVOVntWaXN1YWxTdHVkaW9WZXJzaW9ufSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>