<?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>196760</bug_id>
          
          <creation_ts>2019-04-09 20:33:18 -0700</creation_ts>
          <short_desc>[Win] Use a bundled vswhere.exe instead of downloading by update-vswhere.py</short_desc>
          <delta_ts>2019-04-10 17:09:31 -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>
          
          <blocked>196622</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>lforschler</cc>
    
    <cc>pvollan</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>stephan.szabo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1525866</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-04-09 20:33:18 -0700</bug_when>
    <thetext>[Win] Use a bundled vswhere.exe instead of downloading by update-vswhere.py

We shouldn&apos;t download vswhere.exe anymore.

https://github.com/Microsoft/vswhere

&gt; vswhere is included with the installer as of Visual Studio 2017
&gt; version 15.2 and later, and can be found at the following
&gt; location: %ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525872</commentid>
    <comment_count>1</comment_count>
      <attachid>367100</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-04-09 22:03:24 -0700</bug_when>
    <thetext>Created attachment 367100
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525877</commentid>
    <comment_count>2</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-04-09 22:34:13 -0700</bug_when>
    <thetext>AppleWin EWS failed.

&gt; -- Building for: Visual Studio 15 2017
&gt; -- The C compiler identification is MSVC 19.11.25547.0
&gt; -- The CXX compiler identification is MSVC 19.11.25547.0
&gt; -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.11.25503/bin/Hostx64/x86/cl.exe
&gt; -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.11.25503/bin/Hostx64/x86/cl.exe -- works
&gt; (...)
&gt; Died at /home/buildbot/WebKit/Tools/Scripts/webkitdirs.pm line 1825.
&gt; Using MSBuild: Visual Studio Locator version 2.1.3 [query version 1.12.134.36697]
&gt; *************************************************************
&gt; Cannot find &apos;Visual Studio Locator version 2.1.3 [query version 1.12.134.36697]
&gt; &apos;
&gt; Please make sure execute that the Microsoft .NET Framework SDK
&gt; is installed on this machine.
&gt; *************************************************************

It seems using Visual Studio 2017 version 15.3. Umm, why?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525879</commentid>
    <comment_count>3</comment_count>
      <attachid>367104</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-04-09 22:38:33 -0700</bug_when>
    <thetext>Created attachment 367104
Patch

* Added -no-logo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525883</commentid>
    <comment_count>4</comment_count>
      <attachid>367104</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-04-09 23:22:16 -0700</bug_when>
    <thetext>Comment on attachment 367104
Patch

Oh, no. AppleWin EWS failed again.

&gt; Using MSBuild: Error 0x57: Unknown parameter: find
&gt; *************************************************************
&gt; Cannot find &apos;Error 0x57: Unknown parameter: find
&gt; &apos;
&gt; Please make sure execute that the Microsoft .NET Framework SDK
&gt; is installed on this machine.
&gt; *************************************************************</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525900</commentid>
    <comment_count>5</comment_count>
      <attachid>367109</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-04-10 01:20:36 -0700</bug_when>
    <thetext>Created attachment 367109
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1525913</commentid>
    <comment_count>6</comment_count>
      <attachid>367112</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-04-10 02:29:55 -0700</bug_when>
    <thetext>Created attachment 367112
Patch

* Remove CR LF of the output of vswhere</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526025</commentid>
    <comment_count>7</comment_count>
      <attachid>367112</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2019-04-10 11:21:40 -0700</bug_when>
    <thetext>Comment on attachment 367112
Patch

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

&gt; Tools/ChangeLog:9
&gt; +        vswhere.exe has been bundled since Visual Studio 2017 version
&gt; +        15.2. We shouldn&apos;t download vswhere.exe.

I&apos;m not sure that we shouldn&apos;t have a download as a fallback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526034</commentid>
    <comment_count>8</comment_count>
    <who name="Stephan Szabo">stephan.szabo</who>
    <bug_when>2019-04-10 11:39:04 -0700</bug_when>
    <thetext>Actually, if we&apos;re doing this, maybe it&apos;d be easier to switch to just finding the msbuild location at the same time since we&apos;re not using any of the other information from vswhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526143</commentid>
    <comment_count>9</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-04-10 15:04:43 -0700</bug_when>
    <thetext>(In reply to Don Olmstead from comment #7)
&gt; I&apos;m not sure that we shouldn&apos;t have a download as a fallback.

We shouldn’t keep update-vswhere without knowing the reason. I’ll restore it if we’ll have the reason we need to download.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526144</commentid>
    <comment_count>10</comment_count>
      <attachid>367167</attachid>
    <who name="Stephan Szabo">stephan.szabo</who>
    <bug_when>2019-04-10 15:04:54 -0700</bug_when>
    <thetext>Created attachment 367167
Have vswhere find msbuild itself

Per earlier comment and separate comments on the 2019 patch, maybe something like this to just have vswhere do the lifting for finding msbuild in the non-VSINSTALLDIR case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526149</commentid>
    <comment_count>11</comment_count>
    <who name="Stephan Szabo">stephan.szabo</who>
    <bug_when>2019-04-10 15:13:26 -0700</bug_when>
    <thetext>I missed that was what was tried in one of the patches that was obsolete.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526180</commentid>
    <comment_count>12</comment_count>
    <who name="Stephan Szabo">stephan.szabo</who>
    <bug_when>2019-04-10 15:52:08 -0700</bug_when>
    <thetext>Since it was asked elsewhere, from my standpoint the steps after this would be to get some version of the 2019 patch done so that we can find the msbuild and to let cmake pick the generator for wincairo. And then try to work out how to handle playstation port&apos;s version requirements (whether that is to force vcvars + update the script to set the platform, force vcvars and users to update PLATFORM or to find 2017). Both of which can be followups.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526225</commentid>
    <comment_count>13</comment_count>
      <attachid>367112</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-10 17:08:39 -0700</bug_when>
    <thetext>Comment on attachment 367112
Patch

Clearing flags on attachment: 367112

Committed r244171: &lt;https://trac.webkit.org/changeset/244171&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526226</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-10 17:08:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526228</commentid>
    <comment_count>15</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-04-10 17:09:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/49796686&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367100</attachid>
            <date>2019-04-09 22:03:24 -0700</date>
            <delta_ts>2019-04-09 22:38:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196760-20190410140323.patch</filename>
            <type>text/plain</type>
            <size>11177</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MTAzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYWEwZWFmYTQwY2ZlMjA2YjJhZDhkNjlhOWNjZDRkNTZi
NTM4MDU0NC4uMTc0Y2NlN2I2NWI2NTI1OWUwMmUxMTI3MTZmNzNkNGY4NzY0MDI0MyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMw
IEBACisyMDE5LTA0LTA5ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29t
PgorCisgICAgICAgIFtXaW5dIFVzZSBhIGJ1bmRsZWQgdnN3aGVyZS5leGUgaW5zdGVhZCBvZiBk
b3dubG9hZGluZyBieSB1cGRhdGUtdnN3aGVyZS5weQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2NzYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgdnN3aGVyZS5leGUgaGFzIGJlZW4gYnVuZGxlZCBzaW5j
ZSBWaXN1YWwgU3R1ZGlvIDIwMTcgdmVyc2lvbgorICAgICAgICAxNS4yLiBXZSBzaG91bGRuJ3Qg
ZG93bmxvYWQgdnN3aGVyZS5leGUuCisKKyAgICAgICAgdnN3aGVyZS5leGUgaGFzIGJlZW4gdXNl
ZCBvbmx5IGZvciBmaW5kaW5nIE1TQnVpbGQuCisgICAgICAgIFdlIGRvbid0IG5lZWQgdG8gZmlu
ZCBhIFZTIGluc3RhbGwgZGlyZWN0b3J5LgorCisgICAgICAgICogU2NyaXB0cy9idWlsZC1qc2M6
IERvIG5vdCBjYWxsIHVwZGF0ZS12c3doZXJlLnB5LgorICAgICAgICAqIFNjcmlwdHMvYnVpbGQt
d2Via2l0OiBEaXR0by4KKyAgICAgICAgKiBTY3JpcHRzL3VwZGF0ZS12c3doZXJlLnB5OiBSZW1v
dmVkLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0ZGlycy5wbTogUmVuYW1lZCAkdmNCdWlsZFBh
dGggdG8gJG1zQnVpbGRQYXRoLgorICAgICAgICAobXNCdWlsZFBhdGgpOiBSZW5hbWVkIGZyb20g
bXNCdWlsZEluc3RhbGxEaXIuIEZpbmQgYW5kIHJldHVybiBNU0J1aWxkIHBhdGguCisgICAgICAg
IChzZXR1cEN5Z3dpbkVudik6IFJlbW92ZWQgYSB1bnVzZWQgdmFyaWFibGUgJHZpc3VhbFN0dWRp
b1BhdGguCisgICAgICAgIChidWlsZFZpc3VhbFN0dWRpb1Byb2plY3QpOgorICAgICAgICAocmVx
dWlyZU1vZHVsZXNGb3JWU1doZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKHBpY2tDdXJyZW50Vmlz
dWFsU3R1ZGlvSW5zdGFsbGF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKHZpc3VhbFN0dWRpb0lu
c3RhbGxEaXIpOiBEZWxldGVkLgorICAgICAgICAodmlzdWFsU3R1ZGlvSW5zdGFsbERpclZTV2hl
cmUpOiBEZWxldGVkLgorICAgICAgICAodmlzdWFsU3R1ZGlvSW5zdGFsbERpckZhbGxiYWNrKTog
RGVsZXRlZC4KKyAgICAgICAgKG1zQnVpbGRJbnN0YWxsRGlyKTogRGVsZXRlZC4KKwogMjAxOS0w
NC0wOSAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2V3
cy1idWlsZF0gQWRkIHVuaXQgdGVzdHMgZm9yIFByaW50Q29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy9idWlsZC1qc2MgYi9Ub29scy9TY3JpcHRzL2J1aWxkLWpzYwppbmRl
eCAxM2U0ZDFhOTMzNjQ0MDJkN2IzOWRlMjJjNmRhM2EyZTc4NmU3YTMyLi4wYjNkMGUzYzMxNTgx
MWRhMGYzODM5ZDU5MzI1NDMzMTc2MTdlOWY5IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL2J1
aWxkLWpzYworKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLWpzYwpAQCAtMTI1LDcgKzEyNSw2IEBA
IGlmICgkYnVpbGREaXIgJiYgIWlzQ01ha2VCdWlsZCgpKSB7CiAKIGlmIChpc1dpbkNhaXJvKCkg
fHwgKGlzSlNDT25seSgpICYmIGlzV2luZG93cygpKSkgewogICAgIChzeXN0ZW0oInB5dGhvbiBU
b29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXQtd2luY2Fpcm8tbGlicy5weSIpID09IDApIG9yIGRp
ZTsKLSAgICBzeXN0ZW0oInB5dGhvbiBUb29scy9TY3JpcHRzL3VwZGF0ZS12c3doZXJlLnB5Iik7
CiB9CiAKIGNoZWNrUmVxdWlyZWRTeXN0ZW1Db25maWcoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvYnVpbGQtd2Via2l0IGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKaW5kZXggODIz
OTY3NDNmNzFlY2JiNTkxZDJhMGY1ZTBkMTIyN2YwYjcwMTYxMC4uOWVjYzQxZDJkMWY4YTE5ZTQy
NDdkMjM4MTAxNDQzZDAzODA1Njc0YiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9idWlsZC13
ZWJraXQKKysrIGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKQEAgLTI1OSwxMCArMjU5LDYg
QEAgaWYgKGlzQXBwbGVDb2NvYVdlYktpdCgpKSB7CiAgICAgc2V0dXBBcHBsZVdpbkVudigpCiB9
CiAKLWlmIChpc0FueVdpbmRvd3MoKSkgewotICAgIHN5c3RlbSgicHl0aG9uIFRvb2xzL1Njcmlw
dHMvdXBkYXRlLXZzd2hlcmUucHkiKTsKLX0KLQogIyBJZiBhc2tlZCB0byBidWlsZCBqdXN0IHRo
ZSBXZWJLaXQgcHJvamVjdCwgb3ZlcndyaXRlIHRoZSBwcm9qZWN0cwogIyBsaXN0IGFmdGVyIGFs
bCBvZiB0aGUgcG9ydCBzcGVjaWZpYyB0d2Vha3MgaGF2ZSBiZWVuIG1hZGUgdG8KICMgYnVpbGQg
b3B0aW9ucywgZXRjLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtdnN3aGVyZS5w
eSBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXZzd2hlcmUucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGIyMzYwZjQ0NjZmZDM5MDA4OTNlNWE2M2QwNzFiMDdhMDRlNGUxMGUuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvU2NyaXB0cy91
cGRhdGUtdnN3aGVyZS5weQorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLSMhIC91c3Iv
YmluL2VudiBweXRob24KLSMKLSMgQ29weXJpZ2h0IChDKSAyMDE3IFNvbnkgSW50ZXJhY3RpdmUg
RW50ZXJ0YWlubWVudCBJbmMuCi0jCi0jIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotIyBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSMgYXJlIG1l
dDoKLSMKLSMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSMgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRAotIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0jIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSMgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMKLSMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotIyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQK
LSMgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0jIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KLWlt
cG9ydCBpbXBvcnRsaWIKLWltcG9ydCBzeXMKLWltcG9ydCBvcwotaW1wb3J0IHN0YXQKLQotZG93
bmxvYWQgPSBpbXBvcnRsaWIuaW1wb3J0X21vZHVsZSgnZG93bmxvYWQtZ2l0aHViLXJlbGVhc2Un
KQotCi1yZXBvID0gJ01pY3Jvc29mdC92c3doZXJlJwotZmlsZSA9ICd2c3doZXJlLmV4ZScKLW91
dHB1dCA9ICdXZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzJwotCi1yZXN1bHQgPSBkb3dubG9hZC5t
YWluKFsnLW8nLCBvdXRwdXQsIHJlcG8sIGZpbGVdKQotCi1pZiByZXN1bHQgPT0gZG93bmxvYWQu
U3RhdHVzLkNPVUxEX05PVF9GSU5EOgotICAgIHN5cy5leGl0KDEpCi0KLW9zLmNobW9kKG9zLnBh
dGguam9pbihvdXRwdXQsIGZpbGUpLCAwNzc3KQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRkaXJzLnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCmluZGV4IDNkNTk3ZjIx
NDVmZjEzY2M5YjEzN2ZhZTZjYzhkNDk2Zjk5OWE5OWMuLmEyYjlmMWE2YTk0MGE4NzM4NmU0NDBm
ZGZjY2E4NzA2NzFiMDJiMTkgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5w
bQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KQEAgLTE1OSwxMyArMTU5LDkgQEAg
bXkgJHVua25vd25Qb3J0UHJvaGliaXRlZCA9IDA7CiAKICMgVmFyaWFibGVzIGZvciBXaW4zMiBz
dXBwb3J0CiBteSAkcHJvZ3JhbUZpbGVzUGF0aDsKLW15ICR2Y0J1aWxkUGF0aDsKLW15ICR2c0lu
c3RhbGxEaXI7Ci1teSAkbXNCdWlsZEluc3RhbGxEaXI7Ci1teSAkdnNWZXJzaW9uOworbXkgJG1z
QnVpbGRQYXRoOwogbXkgJHdpbmRvd3NTb3VyY2VEaXI7CiBteSAkd2luVmVyc2lvbjsKLW15ICR2
c1doZXJlRm91bmRJbnN0YWxsYXRpb247CiAKICMgRGVmaW5lZCBpbiBWQ1NVdGlscy4KIHN1YiBl
eGl0U3RhdHVzKCQpOwpAQCAtNjQ2LDEwNyArNjQyLDI0IEBAIHN1YiBwcm9ncmFtRmlsZXNQYXRo
WDg2CiAgICAgcmV0dXJuICRwcm9ncmFtRmlsZXNQYXRoWDg2OwogfQogCi1zdWIgcmVxdWlyZU1v
ZHVsZXNGb3JWU1doZXJlCitzdWIgbXNCdWlsZFBhdGgKIHsKLSAgICByZXF1aXJlIEVuY29kZTsK
LSAgICByZXF1aXJlIEVuY29kZTo6TG9jYWxlOwotICAgIHJlcXVpcmUgSlNPTjo6UFA7Ci19Ci0K
LXN1YiBwaWNrQ3VycmVudFZpc3VhbFN0dWRpb0luc3RhbGxhdGlvbgotewotICAgIHJldHVybiAk
dnNXaGVyZUZvdW5kSW5zdGFsbGF0aW9uIGlmIGRlZmluZWQgJHZzV2hlcmVGb3VuZEluc3RhbGxh
dGlvbjsKLQotICAgIHJlcXVpcmVNb2R1bGVzRm9yVlNXaGVyZSgpOwotICAgIGRldGVybWluZVNv
dXJjZURpcigpOwotCi0gICAgIyBQcmVmZXIgRW50ZXJwcmlzZSwgdGhlbiBQcm9mZXNzaW9uYWws
IHRoZW4gQ29tbXVuaXR5LCB0aGVuCi0gICAgIyBhbnl0aGluZyBlbHNlIHRoYXQgcHJvdmlkZXMg
TVNCdWlsZC4KLSAgICBmb3JlYWNoIG15ICRwcm9kdWN0VHlwZSAoKAotICAgICAgICAnTWljcm9z
b2Z0LlZpc3VhbFN0dWRpby5Qcm9kdWN0LkVudGVycHJpc2UnLAotICAgICAgICAnTWljcm9zb2Z0
LlZpc3VhbFN0dWRpby5Qcm9kdWN0LlByb2Zlc3Npb25hbCcsCi0gICAgICAgICdNaWNyb3NvZnQu
VmlzdWFsU3R1ZGlvLlByb2R1Y3QuQ29tbXVuaXR5JywKLSAgICAgICAgdW5kZWYKLSAgICApKSB7
Ci0gICAgICAgIG15ICRjb21tYW5kID0gIiRzb3VyY2VEaXIvV2ViS2l0TGlicmFyaWVzL3dpbi90
b29scy92c3doZXJlIC1ub2xvZ28gLWxhdGVzdCAtZm9ybWF0IGpzb24gLXJlcXVpcmVzIE1pY3Jv
c29mdC5Db21wb25lbnQuTVNCdWlsZCI7Ci0gICAgICAgIGlmIChkZWZpbmVkICRwcm9kdWN0VHlw
ZSkgewotICAgICAgICAgICAgJGNvbW1hbmQgLj0gIiAtcHJvZHVjdHMgJHByb2R1Y3RUeXBlIjsK
LSAgICAgICAgfQotICAgICAgICBteSAkdnNXaGVyZU91dCA9IGAkY29tbWFuZGA7Ci0gICAgICAg
IG15ICRpbnN0YWxsYXRpb25zID0gW107Ci0gICAgICAgIGV2YWwgewotICAgICAgICAgICAgJGlu
c3RhbGxhdGlvbnMgPSBKU09OOjpQUDo6ZGVjb2RlX2pzb24oRW5jb2RlOjplbmNvZGUoJ1VURi04
JyA9PiBFbmNvZGU6OmRlY29kZShjb25zb2xlX2luID0+ICR2c1doZXJlT3V0KSkpOwotICAgICAg
ICB9OwotICAgICAgICBwcmludCAiRXJyb3IgZ2V0dGluZyBWaXN1YWwgU3R1ZGlvIExvY2F0aW9u
OiAkQFxuIiBpZiAkQDsKLSAgICAgICAgdW5kZWYgJEA7Ci0KLSAgICAgICAgaWYgKHNjYWxhciBA
JGluc3RhbGxhdGlvbnMpIHsKLSAgICAgICAgICAgIG15ICRpbnN0YWxsYXRpb24gPSAkaW5zdGFs
bGF0aW9ucy0+WzBdOwotICAgICAgICAgICAgJHZzV2hlcmVGb3VuZEluc3RhbGxhdGlvbiA9ICRp
bnN0YWxsYXRpb247Ci0gICAgICAgICAgICByZXR1cm4gJGluc3RhbGxhdGlvbjsKLSAgICAgICAg
fQotICAgIH0KLSAgICByZXR1cm4gdW5kZWY7Ci19Ci0KLXN1YiB2aXN1YWxTdHVkaW9JbnN0YWxs
RGlyCi17Ci0gICAgcmV0dXJuICR2c0luc3RhbGxEaXIgaWYgZGVmaW5lZCAkdnNJbnN0YWxsRGly
OworICAgIHJldHVybiAkbXNCdWlsZFBhdGggaWYgZGVmaW5lZCAkbXNCdWlsZFBhdGg7CiAKICAg
ICBpZiAoJEVOVnsnVlNJTlNUQUxMRElSJ30pIHsKLSAgICAgICAgJHZzSW5zdGFsbERpciA9ICRF
TlZ7J1ZTSU5TVEFMTERJUid9OwotICAgICAgICAkdnNJbnN0YWxsRGlyID1+IHN8W1xcL10kfHw7
CisgICAgICAgICRtc0J1aWxkUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGRpcigkRU5WeydWU0lOU1RB
TExESVInfSwgIk1TQnVpbGQiLCAiQ3VycmVudCIsICJiaW4iLCAibXNidWlsZC5leGUiKTsKKyAg
ICAgICAgJG1zQnVpbGRQYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKCRFTlZ7J1ZTSU5TVEFMTERJ
Uid9LCAiTVNCdWlsZCIsICIxNS4wIiwgImJpbiIsICJtc2J1aWxkLmV4ZSIpIHVubGVzcyAoLWUg
JG1zQnVpbGRQYXRoKTsKICAgICB9IGVsc2UgewotICAgICAgICAkdnNJbnN0YWxsRGlyID0gdmlz
dWFsU3R1ZGlvSW5zdGFsbERpclZTV2hlcmUoKTsKLSAgICAgICAgaWYgKG5vdCAtZSAkdnNJbnN0
YWxsRGlyKSB7Ci0gICAgICAgICAgICAkdnNJbnN0YWxsRGlyID0gdmlzdWFsU3R1ZGlvSW5zdGFs
bERpckZhbGxiYWNrKCk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgY2hvbXAoJHZzSW5zdGFsbERp
ciA9IGBjeWdwYXRoICIkdnNJbnN0YWxsRGlyImApIGlmIGlzQ3lnd2luKCk7Ci0KLSAgICBwcmlu
dCAiVXNpbmcgVmlzdWFsIFN0dWRpbzogJHZzSW5zdGFsbERpclxuIjsKLSAgICByZXR1cm4gJHZz
SW5zdGFsbERpcjsKLX0KLQotc3ViIHZpc3VhbFN0dWRpb0luc3RhbGxEaXJWU1doZXJlCi17Ci0g
ICAgcGlja0N1cnJlbnRWaXN1YWxTdHVkaW9JbnN0YWxsYXRpb24oKTsKLSAgICBpZiAoZGVmaW5l
ZCgkdnNXaGVyZUZvdW5kSW5zdGFsbGF0aW9uKSkgewotICAgICAgICByZXR1cm4gJHZzV2hlcmVG
b3VuZEluc3RhbGxhdGlvbi0+e2luc3RhbGxhdGlvblBhdGh9OwotICAgIH0KLSAgICByZXR1cm4g
dW5kZWY7Ci19Ci0KLXN1YiB2aXN1YWxTdHVkaW9JbnN0YWxsRGlyRmFsbGJhY2sKLXsKLSAgICBm
b3JlYWNoIG15ICRwcm9kdWN0VHlwZSAoKAotICAgICAgICAnRW50ZXJwcmlzZScsCi0gICAgICAg
ICdQcm9mZXNzaW9uYWwnLAotICAgICAgICAnQ29tbXVuaXR5JywKLSAgICApKSB7Ci0gICAgICAg
IG15ICRpbnN0YWxsZGlyID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKHByb2dyYW1GaWxlc1BhdGhYODYo
KSwKLSAgICAgICAgICAgICJNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyIsICIyMDE3IiwgJHByb2R1
Y3RUeXBlKTsKLSAgICAgICAgbXkgJG1zYnVpbGRkaXIgPSBGaWxlOjpTcGVjLT5jYXRkaXIoJGlu
c3RhbGxkaXIsCi0gICAgICAgICAgICAiTVNCdWlsZCIsICIxNS4wIiwgImJpbiIpOwotICAgICAg
ICBpZiAoLWUgJGluc3RhbGxkaXIgJiYgLWUgJG1zYnVpbGRkaXIpIHsKLSAgICAgICAgICAgIHJl
dHVybiAkaW5zdGFsbGRpcjsKLSAgICAgICAgfQorICAgICAgICAjIDxodHRwczovL2dpdGh1Yi5j
b20vTWljcm9zb2Z0L3Zzd2hlcmUvd2lraS9GaW5kLU1TQnVpbGQ+CisgICAgICAgIG15ICR2c3do
ZXJlID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKHByb2dyYW1GaWxlc1BhdGhYODYoKSwgIk1pY3Jvc29m
dCBWaXN1YWwgU3R1ZGlvIiwgIkluc3RhbGxlciIsICJ2c3doZXJlLmV4ZSIpOworICAgICAgICBy
ZXR1cm4gdW5kZWYgdW5sZXNzIC1lICR2c3doZXJlOworICAgICAgICBvcGVuKG15ICR2c3doZXJl
T3V0cHV0LCAiLXwiLCAkdnN3aGVyZSwgcXcoLWxhdGVzdCAtcmVxdWlyZXMgTWljcm9zb2Z0LkNv
bXBvbmVudC5NU0J1aWxkIC1maW5kIE1TQnVpbGRcKipcQmluXE1TQnVpbGQuZXhlKSk7CisgICAg
ICAgICRtc0J1aWxkUGF0aCA9IDwkdnN3aGVyZU91dHB1dD47CisgICAgICAgIGNob21wKCRtc0J1
aWxkUGF0aCk7CiAgICAgfQotICAgIHJldHVybiB1bmRlZjsKLX0KLQotc3ViIG1zQnVpbGRJbnN0
YWxsRGlyCi17Ci0gICAgcmV0dXJuICRtc0J1aWxkSW5zdGFsbERpciBpZiBkZWZpbmVkICRtc0J1
aWxkSW5zdGFsbERpcjsKLQotICAgIG15ICRpbnN0YWxsRGlyID0gdmlzdWFsU3R1ZGlvSW5zdGFs
bERpcigpOwotICAgICRtc0J1aWxkSW5zdGFsbERpciA9IEZpbGU6OlNwZWMtPmNhdGRpcigkaW5z
dGFsbERpciwKLSAgICAgICAgIk1TQnVpbGQiLCAiMTUuMCIsICJiaW4iKTsKLQotICAgIGNob21w
KCRtc0J1aWxkSW5zdGFsbERpciA9IGBjeWdwYXRoICIkbXNCdWlsZEluc3RhbGxEaXIiYCkgaWYg
aXNDeWd3aW4oKTsKLQotICAgIHByaW50ICJVc2luZyBNU0J1aWxkOiAkbXNCdWlsZEluc3RhbGxE
aXJcbiI7Ci0gICAgcmV0dXJuICRtc0J1aWxkSW5zdGFsbERpcjsKKyAgICBjaG9tcCgkbXNCdWls
ZFBhdGggPSBgY3lncGF0aCAiJG1zQnVpbGRQYXRoImApIGlmIGlzQ3lnd2luKCk7CisgICAgcHJp
bnQgIlVzaW5nIE1TQnVpbGQ6ICRtc0J1aWxkUGF0aFxuIjsKKyAgICByZXR1cm4gJG1zQnVpbGRQ
YXRoOwogfQogCiBzdWIgZGV0ZXJtaW5lQ29uZmlndXJhdGlvbkZvclZpc3VhbFN0dWRpbwpAQCAt
MTg5MSwxMCArMTgwNCw5IEBAIHN1YiBzZXR1cEFwcGxlV2luRW52KCkKIHN1YiBzZXR1cEN5Z3dp
bkVudigpCiB7CiAgICAgcmV0dXJuIGlmICFpc0FueVdpbmRvd3MoKTsKLSAgICByZXR1cm4gaWYg
JHZjQnVpbGRQYXRoOworICAgIHJldHVybiBpZiAkbXNCdWlsZFBhdGg7CiAKICAgICBteSAkcHJv
Z3JhbUZpbGVzUGF0aCA9IHByb2dyYW1GaWxlc1BhdGgoKTsKLSAgICBteSAkdmlzdWFsU3R1ZGlv
UGF0aCA9IEZpbGU6OlNwZWMtPmNhdGZpbGUodmlzdWFsU3R1ZGlvSW5zdGFsbERpcigpLCBxdyhD
b21tb243IElERSBkZXZlbnYuY29tKSk7CiAKICAgICBwcmludCAiQnVpbGRpbmcgcmVzdWx0cyBp
bnRvOiAiLCBiYXNlUHJvZHVjdERpcigpLCAiXG4iOwogICAgIHByaW50ICJXRUJLSVRfT1VUUFVU
RElSIGlzIHNldCB0bzogIiwgJEVOVnsiV0VCS0lUX09VVFBVVERJUiJ9LCAiXG4iOwpAQCAtMTkw
MiwxMiArMTgxNCwxMSBAQCBzdWIgc2V0dXBDeWd3aW5FbnYoKQogICAgICMgRklYTUUgKDEyNTE4
MCk6IFJlbW92ZSB0aGUgZm9sbG93aW5nIHRlbXBvcmFyeSA2NC1iaXQgc3VwcG9ydCBvbmNlIG9m
ZmljaWFsIHN1cHBvcnQgaXMgYXZhaWxhYmxlLgogICAgIHByaW50ICJXRUJLSVRfNjRfU1VQUE9S
VCBpcyBzZXQgdG86ICIsICRFTlZ7IldFQktJVF82NF9TVVBQT1JUIn0sICJcbiIgaWYgaXNXaW42
NCgpOwogCi0gICAgIyBXZSB3aWxsIGFjdHVhbGx5IHVzZSBNU0J1aWxkIHRvIGJ1aWxkIFdlYktp
dCwgYnV0IHdlIG5lZWQgdG8gZmluZCB0aGUgVmlzdWFsIFN0dWRpbyBpbnN0YWxsIChhYm92ZSkg
dG8gbWFrZQotICAgICMgc3VyZSB3ZSB1c2UgdGhlIHJpZ2h0IG9wdGlvbnMuCi0gICAgJHZjQnVp
bGRQYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZShtc0J1aWxkSW5zdGFsbERpcigpLCBxdyhNU0J1
aWxkLmV4ZSkpOwotICAgIGlmICghIC1lICR2Y0J1aWxkUGF0aCkgeworICAgICMgV2Ugd2lsbCBh
Y3R1YWxseSB1c2UgTVNCdWlsZCB0byBidWlsZCBXZWJLaXQuCisgICAgbXNCdWlsZFBhdGgoKTsK
KyAgICBpZiAoISAtZSAkbXNCdWlsZFBhdGgpIHsKICAgICAgICAgcHJpbnQgIioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiI7Ci0g
ICAgICAgIHByaW50ICJDYW5ub3QgZmluZCAnJHZjQnVpbGRQYXRoJ1xuIjsKKyAgICAgICAgcHJp
bnQgIkNhbm5vdCBmaW5kICckbXNCdWlsZFBhdGgnXG4iOwogICAgICAgICBwcmludCAiUGxlYXNl
IG1ha2Ugc3VyZSBleGVjdXRlIHRoYXQgdGhlIE1pY3Jvc29mdCAuTkVUIEZyYW1ld29yayBTREtc
biI7CiAgICAgICAgIHByaW50ICJpcyBpbnN0YWxsZWQgb24gdGhpcyBtYWNoaW5lLlxuIjsKICAg
ICAgICAgcHJpbnQgIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKipcbiI7CkBAIC0xOTY3LDcgKzE4NzgsNyBAQCBzdWIgYnVpbGRWaXN1
YWxTdHVkaW9Qcm9qZWN0CiAKICAgICBteSAkbWF4Q1BVQ291bnQgPSAnL21heGNwdWNvdW50Oicg
LiBudW1iZXJPZkNQVXMoKTsKIAotICAgIG15IEBjb21tYW5kID0gKCR2Y0J1aWxkUGF0aCwgIi92
ZXJib3NpdHk6bWluaW1hbCIsICRwcm9qZWN0LCAkYWN0aW9uLCAkY29uZmlnLCAkcGxhdGZvcm0s
ICIvZmwiLCAkZXJyb3JMb2dnaW5nLCAiL2ZsMSIsICR3YXJuaW5nTG9nZ2luZywgJG1heENQVUNv
dW50KTsKKyAgICBteSBAY29tbWFuZCA9ICgkbXNCdWlsZFBhdGgsICIvdmVyYm9zaXR5Om1pbmlt
YWwiLCAkcHJvamVjdCwgJGFjdGlvbiwgJGNvbmZpZywgJHBsYXRmb3JtLCAiL2ZsIiwgJGVycm9y
TG9nZ2luZywgIi9mbDEiLCAkd2FybmluZ0xvZ2dpbmcsICRtYXhDUFVDb3VudCk7CiAgICAgcHJp
bnQgam9pbigiICIsIEBjb21tYW5kKSwgIlxuIjsKICAgICByZXR1cm4gc3lzdGVtIEBjb21tYW5k
OwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367104</attachid>
            <date>2019-04-09 22:38:33 -0700</date>
            <delta_ts>2019-04-10 01:20:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196760-20190410143832.patch</filename>
            <type>text/plain</type>
            <size>11185</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MTAzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYWEwZWFmYTQwY2ZlMjA2YjJhZDhkNjlhOWNjZDRkNTZi
NTM4MDU0NC4uMTc0Y2NlN2I2NWI2NTI1OWUwMmUxMTI3MTZmNzNkNGY4NzY0MDI0MyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMw
IEBACisyMDE5LTA0LTA5ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29t
PgorCisgICAgICAgIFtXaW5dIFVzZSBhIGJ1bmRsZWQgdnN3aGVyZS5leGUgaW5zdGVhZCBvZiBk
b3dubG9hZGluZyBieSB1cGRhdGUtdnN3aGVyZS5weQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2NzYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgdnN3aGVyZS5leGUgaGFzIGJlZW4gYnVuZGxlZCBzaW5j
ZSBWaXN1YWwgU3R1ZGlvIDIwMTcgdmVyc2lvbgorICAgICAgICAxNS4yLiBXZSBzaG91bGRuJ3Qg
ZG93bmxvYWQgdnN3aGVyZS5leGUuCisKKyAgICAgICAgdnN3aGVyZS5leGUgaGFzIGJlZW4gdXNl
ZCBvbmx5IGZvciBmaW5kaW5nIE1TQnVpbGQuCisgICAgICAgIFdlIGRvbid0IG5lZWQgdG8gZmlu
ZCBhIFZTIGluc3RhbGwgZGlyZWN0b3J5LgorCisgICAgICAgICogU2NyaXB0cy9idWlsZC1qc2M6
IERvIG5vdCBjYWxsIHVwZGF0ZS12c3doZXJlLnB5LgorICAgICAgICAqIFNjcmlwdHMvYnVpbGQt
d2Via2l0OiBEaXR0by4KKyAgICAgICAgKiBTY3JpcHRzL3VwZGF0ZS12c3doZXJlLnB5OiBSZW1v
dmVkLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0ZGlycy5wbTogUmVuYW1lZCAkdmNCdWlsZFBh
dGggdG8gJG1zQnVpbGRQYXRoLgorICAgICAgICAobXNCdWlsZFBhdGgpOiBSZW5hbWVkIGZyb20g
bXNCdWlsZEluc3RhbGxEaXIuIEZpbmQgYW5kIHJldHVybiBNU0J1aWxkIHBhdGguCisgICAgICAg
IChzZXR1cEN5Z3dpbkVudik6IFJlbW92ZWQgYSB1bnVzZWQgdmFyaWFibGUgJHZpc3VhbFN0dWRp
b1BhdGguCisgICAgICAgIChidWlsZFZpc3VhbFN0dWRpb1Byb2plY3QpOgorICAgICAgICAocmVx
dWlyZU1vZHVsZXNGb3JWU1doZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKHBpY2tDdXJyZW50Vmlz
dWFsU3R1ZGlvSW5zdGFsbGF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKHZpc3VhbFN0dWRpb0lu
c3RhbGxEaXIpOiBEZWxldGVkLgorICAgICAgICAodmlzdWFsU3R1ZGlvSW5zdGFsbERpclZTV2hl
cmUpOiBEZWxldGVkLgorICAgICAgICAodmlzdWFsU3R1ZGlvSW5zdGFsbERpckZhbGxiYWNrKTog
RGVsZXRlZC4KKyAgICAgICAgKG1zQnVpbGRJbnN0YWxsRGlyKTogRGVsZXRlZC4KKwogMjAxOS0w
NC0wOSAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2V3
cy1idWlsZF0gQWRkIHVuaXQgdGVzdHMgZm9yIFByaW50Q29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy9idWlsZC1qc2MgYi9Ub29scy9TY3JpcHRzL2J1aWxkLWpzYwppbmRl
eCAxM2U0ZDFhOTMzNjQ0MDJkN2IzOWRlMjJjNmRhM2EyZTc4NmU3YTMyLi4wYjNkMGUzYzMxNTgx
MWRhMGYzODM5ZDU5MzI1NDMzMTc2MTdlOWY5IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL2J1
aWxkLWpzYworKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLWpzYwpAQCAtMTI1LDcgKzEyNSw2IEBA
IGlmICgkYnVpbGREaXIgJiYgIWlzQ01ha2VCdWlsZCgpKSB7CiAKIGlmIChpc1dpbkNhaXJvKCkg
fHwgKGlzSlNDT25seSgpICYmIGlzV2luZG93cygpKSkgewogICAgIChzeXN0ZW0oInB5dGhvbiBU
b29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXQtd2luY2Fpcm8tbGlicy5weSIpID09IDApIG9yIGRp
ZTsKLSAgICBzeXN0ZW0oInB5dGhvbiBUb29scy9TY3JpcHRzL3VwZGF0ZS12c3doZXJlLnB5Iik7
CiB9CiAKIGNoZWNrUmVxdWlyZWRTeXN0ZW1Db25maWcoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvYnVpbGQtd2Via2l0IGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKaW5kZXggODIz
OTY3NDNmNzFlY2JiNTkxZDJhMGY1ZTBkMTIyN2YwYjcwMTYxMC4uOWVjYzQxZDJkMWY4YTE5ZTQy
NDdkMjM4MTAxNDQzZDAzODA1Njc0YiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9idWlsZC13
ZWJraXQKKysrIGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKQEAgLTI1OSwxMCArMjU5LDYg
QEAgaWYgKGlzQXBwbGVDb2NvYVdlYktpdCgpKSB7CiAgICAgc2V0dXBBcHBsZVdpbkVudigpCiB9
CiAKLWlmIChpc0FueVdpbmRvd3MoKSkgewotICAgIHN5c3RlbSgicHl0aG9uIFRvb2xzL1Njcmlw
dHMvdXBkYXRlLXZzd2hlcmUucHkiKTsKLX0KLQogIyBJZiBhc2tlZCB0byBidWlsZCBqdXN0IHRo
ZSBXZWJLaXQgcHJvamVjdCwgb3ZlcndyaXRlIHRoZSBwcm9qZWN0cwogIyBsaXN0IGFmdGVyIGFs
bCBvZiB0aGUgcG9ydCBzcGVjaWZpYyB0d2Vha3MgaGF2ZSBiZWVuIG1hZGUgdG8KICMgYnVpbGQg
b3B0aW9ucywgZXRjLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtdnN3aGVyZS5w
eSBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXZzd2hlcmUucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGIyMzYwZjQ0NjZmZDM5MDA4OTNlNWE2M2QwNzFiMDdhMDRlNGUxMGUuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvU2NyaXB0cy91
cGRhdGUtdnN3aGVyZS5weQorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLSMhIC91c3Iv
YmluL2VudiBweXRob24KLSMKLSMgQ29weXJpZ2h0IChDKSAyMDE3IFNvbnkgSW50ZXJhY3RpdmUg
RW50ZXJ0YWlubWVudCBJbmMuCi0jCi0jIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotIyBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSMgYXJlIG1l
dDoKLSMKLSMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSMgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRAotIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0jIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSMgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMKLSMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotIyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQK
LSMgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0jIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KLWlt
cG9ydCBpbXBvcnRsaWIKLWltcG9ydCBzeXMKLWltcG9ydCBvcwotaW1wb3J0IHN0YXQKLQotZG93
bmxvYWQgPSBpbXBvcnRsaWIuaW1wb3J0X21vZHVsZSgnZG93bmxvYWQtZ2l0aHViLXJlbGVhc2Un
KQotCi1yZXBvID0gJ01pY3Jvc29mdC92c3doZXJlJwotZmlsZSA9ICd2c3doZXJlLmV4ZScKLW91
dHB1dCA9ICdXZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzJwotCi1yZXN1bHQgPSBkb3dubG9hZC5t
YWluKFsnLW8nLCBvdXRwdXQsIHJlcG8sIGZpbGVdKQotCi1pZiByZXN1bHQgPT0gZG93bmxvYWQu
U3RhdHVzLkNPVUxEX05PVF9GSU5EOgotICAgIHN5cy5leGl0KDEpCi0KLW9zLmNobW9kKG9zLnBh
dGguam9pbihvdXRwdXQsIGZpbGUpLCAwNzc3KQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRkaXJzLnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCmluZGV4IDNkNTk3ZjIx
NDVmZjEzY2M5YjEzN2ZhZTZjYzhkNDk2Zjk5OWE5OWMuLmRiZjY1ODc2Mzk1ZmFjNzQ5NmMyY2E2
ZDVkMTViYWJjYzUxNTNkMDUgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5w
bQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KQEAgLTE1OSwxMyArMTU5LDkgQEAg
bXkgJHVua25vd25Qb3J0UHJvaGliaXRlZCA9IDA7CiAKICMgVmFyaWFibGVzIGZvciBXaW4zMiBz
dXBwb3J0CiBteSAkcHJvZ3JhbUZpbGVzUGF0aDsKLW15ICR2Y0J1aWxkUGF0aDsKLW15ICR2c0lu
c3RhbGxEaXI7Ci1teSAkbXNCdWlsZEluc3RhbGxEaXI7Ci1teSAkdnNWZXJzaW9uOworbXkgJG1z
QnVpbGRQYXRoOwogbXkgJHdpbmRvd3NTb3VyY2VEaXI7CiBteSAkd2luVmVyc2lvbjsKLW15ICR2
c1doZXJlRm91bmRJbnN0YWxsYXRpb247CiAKICMgRGVmaW5lZCBpbiBWQ1NVdGlscy4KIHN1YiBl
eGl0U3RhdHVzKCQpOwpAQCAtNjQ2LDEwNyArNjQyLDI0IEBAIHN1YiBwcm9ncmFtRmlsZXNQYXRo
WDg2CiAgICAgcmV0dXJuICRwcm9ncmFtRmlsZXNQYXRoWDg2OwogfQogCi1zdWIgcmVxdWlyZU1v
ZHVsZXNGb3JWU1doZXJlCitzdWIgbXNCdWlsZFBhdGgKIHsKLSAgICByZXF1aXJlIEVuY29kZTsK
LSAgICByZXF1aXJlIEVuY29kZTo6TG9jYWxlOwotICAgIHJlcXVpcmUgSlNPTjo6UFA7Ci19Ci0K
LXN1YiBwaWNrQ3VycmVudFZpc3VhbFN0dWRpb0luc3RhbGxhdGlvbgotewotICAgIHJldHVybiAk
dnNXaGVyZUZvdW5kSW5zdGFsbGF0aW9uIGlmIGRlZmluZWQgJHZzV2hlcmVGb3VuZEluc3RhbGxh
dGlvbjsKLQotICAgIHJlcXVpcmVNb2R1bGVzRm9yVlNXaGVyZSgpOwotICAgIGRldGVybWluZVNv
dXJjZURpcigpOwotCi0gICAgIyBQcmVmZXIgRW50ZXJwcmlzZSwgdGhlbiBQcm9mZXNzaW9uYWws
IHRoZW4gQ29tbXVuaXR5LCB0aGVuCi0gICAgIyBhbnl0aGluZyBlbHNlIHRoYXQgcHJvdmlkZXMg
TVNCdWlsZC4KLSAgICBmb3JlYWNoIG15ICRwcm9kdWN0VHlwZSAoKAotICAgICAgICAnTWljcm9z
b2Z0LlZpc3VhbFN0dWRpby5Qcm9kdWN0LkVudGVycHJpc2UnLAotICAgICAgICAnTWljcm9zb2Z0
LlZpc3VhbFN0dWRpby5Qcm9kdWN0LlByb2Zlc3Npb25hbCcsCi0gICAgICAgICdNaWNyb3NvZnQu
VmlzdWFsU3R1ZGlvLlByb2R1Y3QuQ29tbXVuaXR5JywKLSAgICAgICAgdW5kZWYKLSAgICApKSB7
Ci0gICAgICAgIG15ICRjb21tYW5kID0gIiRzb3VyY2VEaXIvV2ViS2l0TGlicmFyaWVzL3dpbi90
b29scy92c3doZXJlIC1ub2xvZ28gLWxhdGVzdCAtZm9ybWF0IGpzb24gLXJlcXVpcmVzIE1pY3Jv
c29mdC5Db21wb25lbnQuTVNCdWlsZCI7Ci0gICAgICAgIGlmIChkZWZpbmVkICRwcm9kdWN0VHlw
ZSkgewotICAgICAgICAgICAgJGNvbW1hbmQgLj0gIiAtcHJvZHVjdHMgJHByb2R1Y3RUeXBlIjsK
LSAgICAgICAgfQotICAgICAgICBteSAkdnNXaGVyZU91dCA9IGAkY29tbWFuZGA7Ci0gICAgICAg
IG15ICRpbnN0YWxsYXRpb25zID0gW107Ci0gICAgICAgIGV2YWwgewotICAgICAgICAgICAgJGlu
c3RhbGxhdGlvbnMgPSBKU09OOjpQUDo6ZGVjb2RlX2pzb24oRW5jb2RlOjplbmNvZGUoJ1VURi04
JyA9PiBFbmNvZGU6OmRlY29kZShjb25zb2xlX2luID0+ICR2c1doZXJlT3V0KSkpOwotICAgICAg
ICB9OwotICAgICAgICBwcmludCAiRXJyb3IgZ2V0dGluZyBWaXN1YWwgU3R1ZGlvIExvY2F0aW9u
OiAkQFxuIiBpZiAkQDsKLSAgICAgICAgdW5kZWYgJEA7Ci0KLSAgICAgICAgaWYgKHNjYWxhciBA
JGluc3RhbGxhdGlvbnMpIHsKLSAgICAgICAgICAgIG15ICRpbnN0YWxsYXRpb24gPSAkaW5zdGFs
bGF0aW9ucy0+WzBdOwotICAgICAgICAgICAgJHZzV2hlcmVGb3VuZEluc3RhbGxhdGlvbiA9ICRp
bnN0YWxsYXRpb247Ci0gICAgICAgICAgICByZXR1cm4gJGluc3RhbGxhdGlvbjsKLSAgICAgICAg
fQotICAgIH0KLSAgICByZXR1cm4gdW5kZWY7Ci19Ci0KLXN1YiB2aXN1YWxTdHVkaW9JbnN0YWxs
RGlyCi17Ci0gICAgcmV0dXJuICR2c0luc3RhbGxEaXIgaWYgZGVmaW5lZCAkdnNJbnN0YWxsRGly
OworICAgIHJldHVybiAkbXNCdWlsZFBhdGggaWYgZGVmaW5lZCAkbXNCdWlsZFBhdGg7CiAKICAg
ICBpZiAoJEVOVnsnVlNJTlNUQUxMRElSJ30pIHsKLSAgICAgICAgJHZzSW5zdGFsbERpciA9ICRF
TlZ7J1ZTSU5TVEFMTERJUid9OwotICAgICAgICAkdnNJbnN0YWxsRGlyID1+IHN8W1xcL10kfHw7
CisgICAgICAgICRtc0J1aWxkUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGRpcigkRU5WeydWU0lOU1RB
TExESVInfSwgIk1TQnVpbGQiLCAiQ3VycmVudCIsICJiaW4iLCAibXNidWlsZC5leGUiKTsKKyAg
ICAgICAgJG1zQnVpbGRQYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKCRFTlZ7J1ZTSU5TVEFMTERJ
Uid9LCAiTVNCdWlsZCIsICIxNS4wIiwgImJpbiIsICJtc2J1aWxkLmV4ZSIpIHVubGVzcyAoLWUg
JG1zQnVpbGRQYXRoKTsKICAgICB9IGVsc2UgewotICAgICAgICAkdnNJbnN0YWxsRGlyID0gdmlz
dWFsU3R1ZGlvSW5zdGFsbERpclZTV2hlcmUoKTsKLSAgICAgICAgaWYgKG5vdCAtZSAkdnNJbnN0
YWxsRGlyKSB7Ci0gICAgICAgICAgICAkdnNJbnN0YWxsRGlyID0gdmlzdWFsU3R1ZGlvSW5zdGFs
bERpckZhbGxiYWNrKCk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgY2hvbXAoJHZzSW5zdGFsbERp
ciA9IGBjeWdwYXRoICIkdnNJbnN0YWxsRGlyImApIGlmIGlzQ3lnd2luKCk7Ci0KLSAgICBwcmlu
dCAiVXNpbmcgVmlzdWFsIFN0dWRpbzogJHZzSW5zdGFsbERpclxuIjsKLSAgICByZXR1cm4gJHZz
SW5zdGFsbERpcjsKLX0KLQotc3ViIHZpc3VhbFN0dWRpb0luc3RhbGxEaXJWU1doZXJlCi17Ci0g
ICAgcGlja0N1cnJlbnRWaXN1YWxTdHVkaW9JbnN0YWxsYXRpb24oKTsKLSAgICBpZiAoZGVmaW5l
ZCgkdnNXaGVyZUZvdW5kSW5zdGFsbGF0aW9uKSkgewotICAgICAgICByZXR1cm4gJHZzV2hlcmVG
b3VuZEluc3RhbGxhdGlvbi0+e2luc3RhbGxhdGlvblBhdGh9OwotICAgIH0KLSAgICByZXR1cm4g
dW5kZWY7Ci19Ci0KLXN1YiB2aXN1YWxTdHVkaW9JbnN0YWxsRGlyRmFsbGJhY2sKLXsKLSAgICBm
b3JlYWNoIG15ICRwcm9kdWN0VHlwZSAoKAotICAgICAgICAnRW50ZXJwcmlzZScsCi0gICAgICAg
ICdQcm9mZXNzaW9uYWwnLAotICAgICAgICAnQ29tbXVuaXR5JywKLSAgICApKSB7Ci0gICAgICAg
IG15ICRpbnN0YWxsZGlyID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKHByb2dyYW1GaWxlc1BhdGhYODYo
KSwKLSAgICAgICAgICAgICJNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyIsICIyMDE3IiwgJHByb2R1
Y3RUeXBlKTsKLSAgICAgICAgbXkgJG1zYnVpbGRkaXIgPSBGaWxlOjpTcGVjLT5jYXRkaXIoJGlu
c3RhbGxkaXIsCi0gICAgICAgICAgICAiTVNCdWlsZCIsICIxNS4wIiwgImJpbiIpOwotICAgICAg
ICBpZiAoLWUgJGluc3RhbGxkaXIgJiYgLWUgJG1zYnVpbGRkaXIpIHsKLSAgICAgICAgICAgIHJl
dHVybiAkaW5zdGFsbGRpcjsKLSAgICAgICAgfQorICAgICAgICAjIDxodHRwczovL2dpdGh1Yi5j
b20vTWljcm9zb2Z0L3Zzd2hlcmUvd2lraS9GaW5kLU1TQnVpbGQ+CisgICAgICAgIG15ICR2c3do
ZXJlID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKHByb2dyYW1GaWxlc1BhdGhYODYoKSwgIk1pY3Jvc29m
dCBWaXN1YWwgU3R1ZGlvIiwgIkluc3RhbGxlciIsICJ2c3doZXJlLmV4ZSIpOworICAgICAgICBy
ZXR1cm4gdW5kZWYgdW5sZXNzIC1lICR2c3doZXJlOworICAgICAgICBvcGVuKG15ICR2c3doZXJl
T3V0cHV0LCAiLXwiLCAkdnN3aGVyZSwgcXcoLW5vbG9nbyAtbGF0ZXN0IC1yZXF1aXJlcyBNaWNy
b3NvZnQuQ29tcG9uZW50Lk1TQnVpbGQgLWZpbmQgTVNCdWlsZFwqKlxCaW5cTVNCdWlsZC5leGUp
KTsKKyAgICAgICAgJG1zQnVpbGRQYXRoID0gPCR2c3doZXJlT3V0cHV0PjsKKyAgICAgICAgY2hv
bXAoJG1zQnVpbGRQYXRoKTsKICAgICB9Ci0gICAgcmV0dXJuIHVuZGVmOwotfQotCi1zdWIgbXNC
dWlsZEluc3RhbGxEaXIKLXsKLSAgICByZXR1cm4gJG1zQnVpbGRJbnN0YWxsRGlyIGlmIGRlZmlu
ZWQgJG1zQnVpbGRJbnN0YWxsRGlyOwotCi0gICAgbXkgJGluc3RhbGxEaXIgPSB2aXN1YWxTdHVk
aW9JbnN0YWxsRGlyKCk7Ci0gICAgJG1zQnVpbGRJbnN0YWxsRGlyID0gRmlsZTo6U3BlYy0+Y2F0
ZGlyKCRpbnN0YWxsRGlyLAotICAgICAgICAiTVNCdWlsZCIsICIxNS4wIiwgImJpbiIpOwotCi0g
ICAgY2hvbXAoJG1zQnVpbGRJbnN0YWxsRGlyID0gYGN5Z3BhdGggIiRtc0J1aWxkSW5zdGFsbERp
ciJgKSBpZiBpc0N5Z3dpbigpOwotCi0gICAgcHJpbnQgIlVzaW5nIE1TQnVpbGQ6ICRtc0J1aWxk
SW5zdGFsbERpclxuIjsKLSAgICByZXR1cm4gJG1zQnVpbGRJbnN0YWxsRGlyOworICAgIGNob21w
KCRtc0J1aWxkUGF0aCA9IGBjeWdwYXRoICIkbXNCdWlsZFBhdGgiYCkgaWYgaXNDeWd3aW4oKTsK
KyAgICBwcmludCAiVXNpbmcgTVNCdWlsZDogJG1zQnVpbGRQYXRoXG4iOworICAgIHJldHVybiAk
bXNCdWlsZFBhdGg7CiB9CiAKIHN1YiBkZXRlcm1pbmVDb25maWd1cmF0aW9uRm9yVmlzdWFsU3R1
ZGlvCkBAIC0xODkxLDEwICsxODA0LDkgQEAgc3ViIHNldHVwQXBwbGVXaW5FbnYoKQogc3ViIHNl
dHVwQ3lnd2luRW52KCkKIHsKICAgICByZXR1cm4gaWYgIWlzQW55V2luZG93cygpOwotICAgIHJl
dHVybiBpZiAkdmNCdWlsZFBhdGg7CisgICAgcmV0dXJuIGlmICRtc0J1aWxkUGF0aDsKIAogICAg
IG15ICRwcm9ncmFtRmlsZXNQYXRoID0gcHJvZ3JhbUZpbGVzUGF0aCgpOwotICAgIG15ICR2aXN1
YWxTdHVkaW9QYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZSh2aXN1YWxTdHVkaW9JbnN0YWxsRGly
KCksIHF3KENvbW1vbjcgSURFIGRldmVudi5jb20pKTsKIAogICAgIHByaW50ICJCdWlsZGluZyBy
ZXN1bHRzIGludG86ICIsIGJhc2VQcm9kdWN0RGlyKCksICJcbiI7CiAgICAgcHJpbnQgIldFQktJ
VF9PVVRQVVRESVIgaXMgc2V0IHRvOiAiLCAkRU5WeyJXRUJLSVRfT1VUUFVURElSIn0sICJcbiI7
CkBAIC0xOTAyLDEyICsxODE0LDExIEBAIHN1YiBzZXR1cEN5Z3dpbkVudigpCiAgICAgIyBGSVhN
RSAoMTI1MTgwKTogUmVtb3ZlIHRoZSBmb2xsb3dpbmcgdGVtcG9yYXJ5IDY0LWJpdCBzdXBwb3J0
IG9uY2Ugb2ZmaWNpYWwgc3VwcG9ydCBpcyBhdmFpbGFibGUuCiAgICAgcHJpbnQgIldFQktJVF82
NF9TVVBQT1JUIGlzIHNldCB0bzogIiwgJEVOVnsiV0VCS0lUXzY0X1NVUFBPUlQifSwgIlxuIiBp
ZiBpc1dpbjY0KCk7CiAKLSAgICAjIFdlIHdpbGwgYWN0dWFsbHkgdXNlIE1TQnVpbGQgdG8gYnVp
bGQgV2ViS2l0LCBidXQgd2UgbmVlZCB0byBmaW5kIHRoZSBWaXN1YWwgU3R1ZGlvIGluc3RhbGwg
KGFib3ZlKSB0byBtYWtlCi0gICAgIyBzdXJlIHdlIHVzZSB0aGUgcmlnaHQgb3B0aW9ucy4KLSAg
ICAkdmNCdWlsZFBhdGggPSBGaWxlOjpTcGVjLT5jYXRmaWxlKG1zQnVpbGRJbnN0YWxsRGlyKCks
IHF3KE1TQnVpbGQuZXhlKSk7Ci0gICAgaWYgKCEgLWUgJHZjQnVpbGRQYXRoKSB7CisgICAgIyBX
ZSB3aWxsIGFjdHVhbGx5IHVzZSBNU0J1aWxkIHRvIGJ1aWxkIFdlYktpdC4KKyAgICBtc0J1aWxk
UGF0aCgpOworICAgIGlmICghIC1lICRtc0J1aWxkUGF0aCkgewogICAgICAgICBwcmludCAiKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KlxuIjsKLSAgICAgICAgcHJpbnQgIkNhbm5vdCBmaW5kICckdmNCdWlsZFBhdGgnXG4iOworICAg
ICAgICBwcmludCAiQ2Fubm90IGZpbmQgJyRtc0J1aWxkUGF0aCdcbiI7CiAgICAgICAgIHByaW50
ICJQbGVhc2UgbWFrZSBzdXJlIGV4ZWN1dGUgdGhhdCB0aGUgTWljcm9zb2Z0IC5ORVQgRnJhbWV3
b3JrIFNES1xuIjsKICAgICAgICAgcHJpbnQgImlzIGluc3RhbGxlZCBvbiB0aGlzIG1hY2hpbmUu
XG4iOwogICAgICAgICBwcmludCAiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKlxuIjsKQEAgLTE5NjcsNyArMTg3OCw3IEBAIHN1YiBi
dWlsZFZpc3VhbFN0dWRpb1Byb2plY3QKIAogICAgIG15ICRtYXhDUFVDb3VudCA9ICcvbWF4Y3B1
Y291bnQ6JyAuIG51bWJlck9mQ1BVcygpOwogCi0gICAgbXkgQGNvbW1hbmQgPSAoJHZjQnVpbGRQ
YXRoLCAiL3ZlcmJvc2l0eTptaW5pbWFsIiwgJHByb2plY3QsICRhY3Rpb24sICRjb25maWcsICRw
bGF0Zm9ybSwgIi9mbCIsICRlcnJvckxvZ2dpbmcsICIvZmwxIiwgJHdhcm5pbmdMb2dnaW5nLCAk
bWF4Q1BVQ291bnQpOworICAgIG15IEBjb21tYW5kID0gKCRtc0J1aWxkUGF0aCwgIi92ZXJib3Np
dHk6bWluaW1hbCIsICRwcm9qZWN0LCAkYWN0aW9uLCAkY29uZmlnLCAkcGxhdGZvcm0sICIvZmwi
LCAkZXJyb3JMb2dnaW5nLCAiL2ZsMSIsICR3YXJuaW5nTG9nZ2luZywgJG1heENQVUNvdW50KTsK
ICAgICBwcmludCBqb2luKCIgIiwgQGNvbW1hbmQpLCAiXG4iOwogICAgIHJldHVybiBzeXN0ZW0g
QGNvbW1hbmQ7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367109</attachid>
            <date>2019-04-10 01:20:36 -0700</date>
            <delta_ts>2019-04-10 02:29:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196760-20190410172035.patch</filename>
            <type>text/plain</type>
            <size>8285</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MTAzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYWEwZWFmYTQwY2ZlMjA2YjJhZDhkNjlhOWNjZDRkNTZi
NTM4MDU0NC4uZmYzZGZhNzhhYTZiYjBmNDNjNWRmODRjNTVmZWRhZGU5ZDRmYTM4OCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
IEBACisyMDE5LTA0LTA5ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29t
PgorCisgICAgICAgIFtXaW5dIFVzZSBhIGJ1bmRsZWQgdnN3aGVyZS5leGUgaW5zdGVhZCBvZiBk
b3dubG9hZGluZyBieSB1cGRhdGUtdnN3aGVyZS5weQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2NzYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgdnN3aGVyZS5leGUgaGFzIGJlZW4gYnVuZGxlZCBzaW5j
ZSBWaXN1YWwgU3R1ZGlvIDIwMTcgdmVyc2lvbgorICAgICAgICAxNS4yLiBXZSBzaG91bGRuJ3Qg
ZG93bmxvYWQgdnN3aGVyZS5leGUuCisKKyAgICAgICAgKiBTY3JpcHRzL2J1aWxkLWpzYzogRG8g
bm90IGNhbGwgdXBkYXRlLXZzd2hlcmUucHkuCisgICAgICAgICogU2NyaXB0cy9idWlsZC13ZWJr
aXQ6IERpdHRvLgorICAgICAgICAqIFNjcmlwdHMvdXBkYXRlLXZzd2hlcmUucHk6IFJlbW92ZWQu
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRkaXJzLnBtOgorICAgICAgICAocmVxdWlyZU1vZHVs
ZXNGb3JWU1doZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKHBpY2tDdXJyZW50VmlzdWFsU3R1ZGlv
SW5zdGFsbGF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKHZpc3VhbFN0dWRpb0luc3RhbGxEaXJW
U1doZXJlKTogUmV0dXJuIHRoZSBsYXRlc3QgaW5zdGFsbGVkIFZTCisgICAgICAgIGluc3RhbGxh
dGlvbiBwYXRoIGJ5IHVzaW5nIHRoZSBidW5kbGVkIHZzd2hlcmUuZXhlLgorICAgICAgICAoc2V0
dXBDeWd3aW5FbnYpOiBSZW1vdmVkIGEgdW51c2VkIHZhcmlhYmxlICR2aXN1YWxTdHVkaW9QYXRo
LgorICAgICAgICAodmlzdWFsU3R1ZGlvSW5zdGFsbERpckZhbGxiYWNrKTogUmVtb3ZlZC4KKwog
MjAxOS0wNC0wOSAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW2V3cy1idWlsZF0gQWRkIHVuaXQgdGVzdHMgZm9yIFByaW50Q29uZmlndXJhdGlvbgpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9idWlsZC1qc2MgYi9Ub29scy9TY3JpcHRzL2J1aWxkLWpz
YwppbmRleCAxM2U0ZDFhOTMzNjQ0MDJkN2IzOWRlMjJjNmRhM2EyZTc4NmU3YTMyLi4wYjNkMGUz
YzMxNTgxMWRhMGYzODM5ZDU5MzI1NDMzMTc2MTdlOWY5IDEwMDc1NQotLS0gYS9Ub29scy9TY3Jp
cHRzL2J1aWxkLWpzYworKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLWpzYwpAQCAtMTI1LDcgKzEy
NSw2IEBAIGlmICgkYnVpbGREaXIgJiYgIWlzQ01ha2VCdWlsZCgpKSB7CiAKIGlmIChpc1dpbkNh
aXJvKCkgfHwgKGlzSlNDT25seSgpICYmIGlzV2luZG93cygpKSkgewogICAgIChzeXN0ZW0oInB5
dGhvbiBUb29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXQtd2luY2Fpcm8tbGlicy5weSIpID09IDAp
IG9yIGRpZTsKLSAgICBzeXN0ZW0oInB5dGhvbiBUb29scy9TY3JpcHRzL3VwZGF0ZS12c3doZXJl
LnB5Iik7CiB9CiAKIGNoZWNrUmVxdWlyZWRTeXN0ZW1Db25maWcoKTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0IGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKaW5k
ZXggODIzOTY3NDNmNzFlY2JiNTkxZDJhMGY1ZTBkMTIyN2YwYjcwMTYxMC4uOWVjYzQxZDJkMWY4
YTE5ZTQyNDdkMjM4MTAxNDQzZDAzODA1Njc0YiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9i
dWlsZC13ZWJraXQKKysrIGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKQEAgLTI1OSwxMCAr
MjU5LDYgQEAgaWYgKGlzQXBwbGVDb2NvYVdlYktpdCgpKSB7CiAgICAgc2V0dXBBcHBsZVdpbkVu
digpCiB9CiAKLWlmIChpc0FueVdpbmRvd3MoKSkgewotICAgIHN5c3RlbSgicHl0aG9uIFRvb2xz
L1NjcmlwdHMvdXBkYXRlLXZzd2hlcmUucHkiKTsKLX0KLQogIyBJZiBhc2tlZCB0byBidWlsZCBq
dXN0IHRoZSBXZWJLaXQgcHJvamVjdCwgb3ZlcndyaXRlIHRoZSBwcm9qZWN0cwogIyBsaXN0IGFm
dGVyIGFsbCBvZiB0aGUgcG9ydCBzcGVjaWZpYyB0d2Vha3MgaGF2ZSBiZWVuIG1hZGUgdG8KICMg
YnVpbGQgb3B0aW9ucywgZXRjLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtdnN3
aGVyZS5weSBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXZzd2hlcmUucHkKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGIyMzYwZjQ0NjZmZDM5MDA4OTNlNWE2M2QwNzFiMDdhMDRlNGUxMGUu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvU2Ny
aXB0cy91cGRhdGUtdnN3aGVyZS5weQorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLSMh
IC91c3IvYmluL2VudiBweXRob24KLSMKLSMgQ29weXJpZ2h0IChDKSAyMDE3IFNvbnkgSW50ZXJh
Y3RpdmUgRW50ZXJ0YWlubWVudCBJbmMuCi0jCi0jIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotIyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSMg
YXJlIG1ldDoKLSMKLSMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotIyAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSMg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAotIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0jIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSMg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMKLSMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotIyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQKLSMgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0jIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0KLWltcG9ydCBpbXBvcnRsaWIKLWltcG9ydCBzeXMKLWltcG9ydCBvcwotaW1wb3J0IHN0YXQK
LQotZG93bmxvYWQgPSBpbXBvcnRsaWIuaW1wb3J0X21vZHVsZSgnZG93bmxvYWQtZ2l0aHViLXJl
bGVhc2UnKQotCi1yZXBvID0gJ01pY3Jvc29mdC92c3doZXJlJwotZmlsZSA9ICd2c3doZXJlLmV4
ZScKLW91dHB1dCA9ICdXZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzJwotCi1yZXN1bHQgPSBkb3du
bG9hZC5tYWluKFsnLW8nLCBvdXRwdXQsIHJlcG8sIGZpbGVdKQotCi1pZiByZXN1bHQgPT0gZG93
bmxvYWQuU3RhdHVzLkNPVUxEX05PVF9GSU5EOgotICAgIHN5cy5leGl0KDEpCi0KLW9zLmNobW9k
KG9zLnBhdGguam9pbihvdXRwdXQsIGZpbGUpLCAwNzc3KQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRkaXJzLnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCmluZGV4IDNk
NTk3ZjIxNDVmZjEzY2M5YjEzN2ZhZTZjYzhkNDk2Zjk5OWE5OWMuLjUwYWE1OGFkOTQ5ZWIxNTkx
YmU2NTU0MGNhNDExYzFiZGJjMzM5MDUgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
ZGlycy5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KQEAgLTE2NSw3ICsxNjUs
NiBAQCBteSAkbXNCdWlsZEluc3RhbGxEaXI7CiBteSAkdnNWZXJzaW9uOwogbXkgJHdpbmRvd3NT
b3VyY2VEaXI7CiBteSAkd2luVmVyc2lvbjsKLW15ICR2c1doZXJlRm91bmRJbnN0YWxsYXRpb247
CiAKICMgRGVmaW5lZCBpbiBWQ1NVdGlscy4KIHN1YiBleGl0U3RhdHVzKCQpOwpAQCAtNjQ2LDQ3
ICs2NDUsMTQgQEAgc3ViIHByb2dyYW1GaWxlc1BhdGhYODYKICAgICByZXR1cm4gJHByb2dyYW1G
aWxlc1BhdGhYODY7CiB9CiAKLXN1YiByZXF1aXJlTW9kdWxlc0ZvclZTV2hlcmUKLXsKLSAgICBy
ZXF1aXJlIEVuY29kZTsKLSAgICByZXF1aXJlIEVuY29kZTo6TG9jYWxlOwotICAgIHJlcXVpcmUg
SlNPTjo6UFA7Ci19Ci0KLXN1YiBwaWNrQ3VycmVudFZpc3VhbFN0dWRpb0luc3RhbGxhdGlvbgor
c3ViIHZpc3VhbFN0dWRpb0luc3RhbGxEaXJWU1doZXJlCiB7Ci0gICAgcmV0dXJuICR2c1doZXJl
Rm91bmRJbnN0YWxsYXRpb24gaWYgZGVmaW5lZCAkdnNXaGVyZUZvdW5kSW5zdGFsbGF0aW9uOwot
Ci0gICAgcmVxdWlyZU1vZHVsZXNGb3JWU1doZXJlKCk7Ci0gICAgZGV0ZXJtaW5lU291cmNlRGly
KCk7Ci0KLSAgICAjIFByZWZlciBFbnRlcnByaXNlLCB0aGVuIFByb2Zlc3Npb25hbCwgdGhlbiBD
b21tdW5pdHksIHRoZW4KLSAgICAjIGFueXRoaW5nIGVsc2UgdGhhdCBwcm92aWRlcyBNU0J1aWxk
LgotICAgIGZvcmVhY2ggbXkgJHByb2R1Y3RUeXBlICgoCi0gICAgICAgICdNaWNyb3NvZnQuVmlz
dWFsU3R1ZGlvLlByb2R1Y3QuRW50ZXJwcmlzZScsCi0gICAgICAgICdNaWNyb3NvZnQuVmlzdWFs
U3R1ZGlvLlByb2R1Y3QuUHJvZmVzc2lvbmFsJywKLSAgICAgICAgJ01pY3Jvc29mdC5WaXN1YWxT
dHVkaW8uUHJvZHVjdC5Db21tdW5pdHknLAotICAgICAgICB1bmRlZgotICAgICkpIHsKLSAgICAg
ICAgbXkgJGNvbW1hbmQgPSAiJHNvdXJjZURpci9XZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzL3Zz
d2hlcmUgLW5vbG9nbyAtbGF0ZXN0IC1mb3JtYXQganNvbiAtcmVxdWlyZXMgTWljcm9zb2Z0LkNv
bXBvbmVudC5NU0J1aWxkIjsKLSAgICAgICAgaWYgKGRlZmluZWQgJHByb2R1Y3RUeXBlKSB7Ci0g
ICAgICAgICAgICAkY29tbWFuZCAuPSAiIC1wcm9kdWN0cyAkcHJvZHVjdFR5cGUiOwotICAgICAg
ICB9Ci0gICAgICAgIG15ICR2c1doZXJlT3V0ID0gYCRjb21tYW5kYDsKLSAgICAgICAgbXkgJGlu
c3RhbGxhdGlvbnMgPSBbXTsKLSAgICAgICAgZXZhbCB7Ci0gICAgICAgICAgICAkaW5zdGFsbGF0
aW9ucyA9IEpTT046OlBQOjpkZWNvZGVfanNvbihFbmNvZGU6OmVuY29kZSgnVVRGLTgnID0+IEVu
Y29kZTo6ZGVjb2RlKGNvbnNvbGVfaW4gPT4gJHZzV2hlcmVPdXQpKSk7Ci0gICAgICAgIH07Ci0g
ICAgICAgIHByaW50ICJFcnJvciBnZXR0aW5nIFZpc3VhbCBTdHVkaW8gTG9jYXRpb246ICRAXG4i
IGlmICRAOwotICAgICAgICB1bmRlZiAkQDsKLQotICAgICAgICBpZiAoc2NhbGFyIEAkaW5zdGFs
bGF0aW9ucykgewotICAgICAgICAgICAgbXkgJGluc3RhbGxhdGlvbiA9ICRpbnN0YWxsYXRpb25z
LT5bMF07Ci0gICAgICAgICAgICAkdnNXaGVyZUZvdW5kSW5zdGFsbGF0aW9uID0gJGluc3RhbGxh
dGlvbjsKLSAgICAgICAgICAgIHJldHVybiAkaW5zdGFsbGF0aW9uOwotICAgICAgICB9Ci0gICAg
fQotICAgIHJldHVybiB1bmRlZjsKKyAgICBteSAkdnN3aGVyZSA9IEZpbGU6OlNwZWMtPmNhdGRp
cihwcm9ncmFtRmlsZXNQYXRoWDg2KCksICJNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyIsICJJbnN0
YWxsZXIiLCAidnN3aGVyZS5leGUiKTsKKyAgICByZXR1cm4gdW5sZXNzIC1lICR2c3doZXJlOwor
ICAgIG9wZW4obXkgJGhhbmRsZSwgIi18IiwgJHZzd2hlcmUsIHF3KC1ub2xvZ28gLWxhdGVzdCAt
cmVxdWlyZXMgTWljcm9zb2Z0LkNvbXBvbmVudC5NU0J1aWxkIC1wcm9wZXJ0eSBpbnN0YWxsYXRp
b25QYXRoKSkgfHwgcmV0dXJuOworICAgIG15ICR2c1doZXJlT3V0ID0gPCRoYW5kbGU+OworICAg
IGNob21wKCR2c1doZXJlT3V0KTsKKyAgICByZXR1cm4gJHZzV2hlcmVPdXQ7CiB9CiAKIHN1YiB2
aXN1YWxTdHVkaW9JbnN0YWxsRGlyCkBAIC02OTgsOSArNjY0LDcgQEAgc3ViIHZpc3VhbFN0dWRp
b0luc3RhbGxEaXIKICAgICAgICAgJHZzSW5zdGFsbERpciA9fiBzfFtcXC9dJHx8OwogICAgIH0g
ZWxzZSB7CiAgICAgICAgICR2c0luc3RhbGxEaXIgPSB2aXN1YWxTdHVkaW9JbnN0YWxsRGlyVlNX
aGVyZSgpOwotICAgICAgICBpZiAobm90IC1lICR2c0luc3RhbGxEaXIpIHsKLSAgICAgICAgICAg
ICR2c0luc3RhbGxEaXIgPSB2aXN1YWxTdHVkaW9JbnN0YWxsRGlyRmFsbGJhY2soKTsKLSAgICAg
ICAgfQorICAgICAgICByZXR1cm4gdW5sZXNzIGRlZmluZWQgJHZzSW5zdGFsbERpcjsKICAgICB9
CiAgICAgY2hvbXAoJHZzSW5zdGFsbERpciA9IGBjeWdwYXRoICIkdnNJbnN0YWxsRGlyImApIGlm
IGlzQ3lnd2luKCk7CiAKQEAgLTcwOCwzMyArNjcyLDYgQEAgc3ViIHZpc3VhbFN0dWRpb0luc3Rh
bGxEaXIKICAgICByZXR1cm4gJHZzSW5zdGFsbERpcjsKIH0KIAotc3ViIHZpc3VhbFN0dWRpb0lu
c3RhbGxEaXJWU1doZXJlCi17Ci0gICAgcGlja0N1cnJlbnRWaXN1YWxTdHVkaW9JbnN0YWxsYXRp
b24oKTsKLSAgICBpZiAoZGVmaW5lZCgkdnNXaGVyZUZvdW5kSW5zdGFsbGF0aW9uKSkgewotICAg
ICAgICByZXR1cm4gJHZzV2hlcmVGb3VuZEluc3RhbGxhdGlvbi0+e2luc3RhbGxhdGlvblBhdGh9
OwotICAgIH0KLSAgICByZXR1cm4gdW5kZWY7Ci19Ci0KLXN1YiB2aXN1YWxTdHVkaW9JbnN0YWxs
RGlyRmFsbGJhY2sKLXsKLSAgICBmb3JlYWNoIG15ICRwcm9kdWN0VHlwZSAoKAotICAgICAgICAn
RW50ZXJwcmlzZScsCi0gICAgICAgICdQcm9mZXNzaW9uYWwnLAotICAgICAgICAnQ29tbXVuaXR5
JywKLSAgICApKSB7Ci0gICAgICAgIG15ICRpbnN0YWxsZGlyID0gRmlsZTo6U3BlYy0+Y2F0ZGly
KHByb2dyYW1GaWxlc1BhdGhYODYoKSwKLSAgICAgICAgICAgICJNaWNyb3NvZnQgVmlzdWFsIFN0
dWRpbyIsICIyMDE3IiwgJHByb2R1Y3RUeXBlKTsKLSAgICAgICAgbXkgJG1zYnVpbGRkaXIgPSBG
aWxlOjpTcGVjLT5jYXRkaXIoJGluc3RhbGxkaXIsCi0gICAgICAgICAgICAiTVNCdWlsZCIsICIx
NS4wIiwgImJpbiIpOwotICAgICAgICBpZiAoLWUgJGluc3RhbGxkaXIgJiYgLWUgJG1zYnVpbGRk
aXIpIHsKLSAgICAgICAgICAgIHJldHVybiAkaW5zdGFsbGRpcjsKLSAgICAgICAgfQotICAgIH0K
LSAgICByZXR1cm4gdW5kZWY7Ci19Ci0KIHN1YiBtc0J1aWxkSW5zdGFsbERpcgogewogICAgIHJl
dHVybiAkbXNCdWlsZEluc3RhbGxEaXIgaWYgZGVmaW5lZCAkbXNCdWlsZEluc3RhbGxEaXI7CkBA
IC0xODk0LDcgKzE4MzEsNiBAQCBzdWIgc2V0dXBDeWd3aW5FbnYoKQogICAgIHJldHVybiBpZiAk
dmNCdWlsZFBhdGg7CiAKICAgICBteSAkcHJvZ3JhbUZpbGVzUGF0aCA9IHByb2dyYW1GaWxlc1Bh
dGgoKTsKLSAgICBteSAkdmlzdWFsU3R1ZGlvUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGZpbGUodmlz
dWFsU3R1ZGlvSW5zdGFsbERpcigpLCBxdyhDb21tb243IElERSBkZXZlbnYuY29tKSk7CiAKICAg
ICBwcmludCAiQnVpbGRpbmcgcmVzdWx0cyBpbnRvOiAiLCBiYXNlUHJvZHVjdERpcigpLCAiXG4i
OwogICAgIHByaW50ICJXRUJLSVRfT1VUUFVURElSIGlzIHNldCB0bzogIiwgJEVOVnsiV0VCS0lU
X09VVFBVVERJUiJ9LCAiXG4iOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367112</attachid>
            <date>2019-04-10 02:29:55 -0700</date>
            <delta_ts>2019-04-10 17:08:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196760-20190410182954.patch</filename>
            <type>text/plain</type>
            <size>8291</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MTAzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYWEwZWFmYTQwY2ZlMjA2YjJhZDhkNjlhOWNjZDRkNTZi
NTM4MDU0NC4uZmYzZGZhNzhhYTZiYjBmNDNjNWRmODRjNTVmZWRhZGU5ZDRmYTM4OCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
IEBACisyMDE5LTA0LTA5ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29t
PgorCisgICAgICAgIFtXaW5dIFVzZSBhIGJ1bmRsZWQgdnN3aGVyZS5leGUgaW5zdGVhZCBvZiBk
b3dubG9hZGluZyBieSB1cGRhdGUtdnN3aGVyZS5weQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2NzYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgdnN3aGVyZS5leGUgaGFzIGJlZW4gYnVuZGxlZCBzaW5j
ZSBWaXN1YWwgU3R1ZGlvIDIwMTcgdmVyc2lvbgorICAgICAgICAxNS4yLiBXZSBzaG91bGRuJ3Qg
ZG93bmxvYWQgdnN3aGVyZS5leGUuCisKKyAgICAgICAgKiBTY3JpcHRzL2J1aWxkLWpzYzogRG8g
bm90IGNhbGwgdXBkYXRlLXZzd2hlcmUucHkuCisgICAgICAgICogU2NyaXB0cy9idWlsZC13ZWJr
aXQ6IERpdHRvLgorICAgICAgICAqIFNjcmlwdHMvdXBkYXRlLXZzd2hlcmUucHk6IFJlbW92ZWQu
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRkaXJzLnBtOgorICAgICAgICAocmVxdWlyZU1vZHVs
ZXNGb3JWU1doZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKHBpY2tDdXJyZW50VmlzdWFsU3R1ZGlv
SW5zdGFsbGF0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKHZpc3VhbFN0dWRpb0luc3RhbGxEaXJW
U1doZXJlKTogUmV0dXJuIHRoZSBsYXRlc3QgaW5zdGFsbGVkIFZTCisgICAgICAgIGluc3RhbGxh
dGlvbiBwYXRoIGJ5IHVzaW5nIHRoZSBidW5kbGVkIHZzd2hlcmUuZXhlLgorICAgICAgICAoc2V0
dXBDeWd3aW5FbnYpOiBSZW1vdmVkIGEgdW51c2VkIHZhcmlhYmxlICR2aXN1YWxTdHVkaW9QYXRo
LgorICAgICAgICAodmlzdWFsU3R1ZGlvSW5zdGFsbERpckZhbGxiYWNrKTogUmVtb3ZlZC4KKwog
MjAxOS0wNC0wOSAgQWFrYXNoIEphaW4gIDxhYWthc2hfamFpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgW2V3cy1idWlsZF0gQWRkIHVuaXQgdGVzdHMgZm9yIFByaW50Q29uZmlndXJhdGlvbgpkaWZm
IC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9idWlsZC1qc2MgYi9Ub29scy9TY3JpcHRzL2J1aWxkLWpz
YwppbmRleCAxM2U0ZDFhOTMzNjQ0MDJkN2IzOWRlMjJjNmRhM2EyZTc4NmU3YTMyLi4wYjNkMGUz
YzMxNTgxMWRhMGYzODM5ZDU5MzI1NDMzMTc2MTdlOWY5IDEwMDc1NQotLS0gYS9Ub29scy9TY3Jp
cHRzL2J1aWxkLWpzYworKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLWpzYwpAQCAtMTI1LDcgKzEy
NSw2IEBAIGlmICgkYnVpbGREaXIgJiYgIWlzQ01ha2VCdWlsZCgpKSB7CiAKIGlmIChpc1dpbkNh
aXJvKCkgfHwgKGlzSlNDT25seSgpICYmIGlzV2luZG93cygpKSkgewogICAgIChzeXN0ZW0oInB5
dGhvbiBUb29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXQtd2luY2Fpcm8tbGlicy5weSIpID09IDAp
IG9yIGRpZTsKLSAgICBzeXN0ZW0oInB5dGhvbiBUb29scy9TY3JpcHRzL3VwZGF0ZS12c3doZXJl
LnB5Iik7CiB9CiAKIGNoZWNrUmVxdWlyZWRTeXN0ZW1Db25maWcoKTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0IGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKaW5k
ZXggODIzOTY3NDNmNzFlY2JiNTkxZDJhMGY1ZTBkMTIyN2YwYjcwMTYxMC4uOWVjYzQxZDJkMWY4
YTE5ZTQyNDdkMjM4MTAxNDQzZDAzODA1Njc0YiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9i
dWlsZC13ZWJraXQKKysrIGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKQEAgLTI1OSwxMCAr
MjU5LDYgQEAgaWYgKGlzQXBwbGVDb2NvYVdlYktpdCgpKSB7CiAgICAgc2V0dXBBcHBsZVdpbkVu
digpCiB9CiAKLWlmIChpc0FueVdpbmRvd3MoKSkgewotICAgIHN5c3RlbSgicHl0aG9uIFRvb2xz
L1NjcmlwdHMvdXBkYXRlLXZzd2hlcmUucHkiKTsKLX0KLQogIyBJZiBhc2tlZCB0byBidWlsZCBq
dXN0IHRoZSBXZWJLaXQgcHJvamVjdCwgb3ZlcndyaXRlIHRoZSBwcm9qZWN0cwogIyBsaXN0IGFm
dGVyIGFsbCBvZiB0aGUgcG9ydCBzcGVjaWZpYyB0d2Vha3MgaGF2ZSBiZWVuIG1hZGUgdG8KICMg
YnVpbGQgb3B0aW9ucywgZXRjLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy91cGRhdGUtdnN3
aGVyZS5weSBiL1Rvb2xzL1NjcmlwdHMvdXBkYXRlLXZzd2hlcmUucHkKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGIyMzYwZjQ0NjZmZDM5MDA4OTNlNWE2M2QwNzFiMDdhMDRlNGUxMGUu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvU2Ny
aXB0cy91cGRhdGUtdnN3aGVyZS5weQorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLSMh
IC91c3IvYmluL2VudiBweXRob24KLSMKLSMgQ29weXJpZ2h0IChDKSAyMDE3IFNvbnkgSW50ZXJh
Y3RpdmUgRW50ZXJ0YWlubWVudCBJbmMuCi0jCi0jIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotIyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSMg
YXJlIG1ldDoKLSMKLSMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0jICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0jIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotIyAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSMg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAotIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0jIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSMg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMKLSMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotIyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQKLSMgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0jIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0KLWltcG9ydCBpbXBvcnRsaWIKLWltcG9ydCBzeXMKLWltcG9ydCBvcwotaW1wb3J0IHN0YXQK
LQotZG93bmxvYWQgPSBpbXBvcnRsaWIuaW1wb3J0X21vZHVsZSgnZG93bmxvYWQtZ2l0aHViLXJl
bGVhc2UnKQotCi1yZXBvID0gJ01pY3Jvc29mdC92c3doZXJlJwotZmlsZSA9ICd2c3doZXJlLmV4
ZScKLW91dHB1dCA9ICdXZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzJwotCi1yZXN1bHQgPSBkb3du
bG9hZC5tYWluKFsnLW8nLCBvdXRwdXQsIHJlcG8sIGZpbGVdKQotCi1pZiByZXN1bHQgPT0gZG93
bmxvYWQuU3RhdHVzLkNPVUxEX05PVF9GSU5EOgotICAgIHN5cy5leGl0KDEpCi0KLW9zLmNobW9k
KG9zLnBhdGguam9pbihvdXRwdXQsIGZpbGUpLCAwNzc3KQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRkaXJzLnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCmluZGV4IDNk
NTk3ZjIxNDVmZjEzY2M5YjEzN2ZhZTZjYzhkNDk2Zjk5OWE5OWMuLmUwNjAyNWZiNjU1MGI5ODI4
ZTQzM2NhYjQwMGEwYTUwNDg2MmY0NmIgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
ZGlycy5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KQEAgLTE2NSw3ICsxNjUs
NiBAQCBteSAkbXNCdWlsZEluc3RhbGxEaXI7CiBteSAkdnNWZXJzaW9uOwogbXkgJHdpbmRvd3NT
b3VyY2VEaXI7CiBteSAkd2luVmVyc2lvbjsKLW15ICR2c1doZXJlRm91bmRJbnN0YWxsYXRpb247
CiAKICMgRGVmaW5lZCBpbiBWQ1NVdGlscy4KIHN1YiBleGl0U3RhdHVzKCQpOwpAQCAtNjQ2LDQ3
ICs2NDUsMTQgQEAgc3ViIHByb2dyYW1GaWxlc1BhdGhYODYKICAgICByZXR1cm4gJHByb2dyYW1G
aWxlc1BhdGhYODY7CiB9CiAKLXN1YiByZXF1aXJlTW9kdWxlc0ZvclZTV2hlcmUKLXsKLSAgICBy
ZXF1aXJlIEVuY29kZTsKLSAgICByZXF1aXJlIEVuY29kZTo6TG9jYWxlOwotICAgIHJlcXVpcmUg
SlNPTjo6UFA7Ci19Ci0KLXN1YiBwaWNrQ3VycmVudFZpc3VhbFN0dWRpb0luc3RhbGxhdGlvbgor
c3ViIHZpc3VhbFN0dWRpb0luc3RhbGxEaXJWU1doZXJlCiB7Ci0gICAgcmV0dXJuICR2c1doZXJl
Rm91bmRJbnN0YWxsYXRpb24gaWYgZGVmaW5lZCAkdnNXaGVyZUZvdW5kSW5zdGFsbGF0aW9uOwot
Ci0gICAgcmVxdWlyZU1vZHVsZXNGb3JWU1doZXJlKCk7Ci0gICAgZGV0ZXJtaW5lU291cmNlRGly
KCk7Ci0KLSAgICAjIFByZWZlciBFbnRlcnByaXNlLCB0aGVuIFByb2Zlc3Npb25hbCwgdGhlbiBD
b21tdW5pdHksIHRoZW4KLSAgICAjIGFueXRoaW5nIGVsc2UgdGhhdCBwcm92aWRlcyBNU0J1aWxk
LgotICAgIGZvcmVhY2ggbXkgJHByb2R1Y3RUeXBlICgoCi0gICAgICAgICdNaWNyb3NvZnQuVmlz
dWFsU3R1ZGlvLlByb2R1Y3QuRW50ZXJwcmlzZScsCi0gICAgICAgICdNaWNyb3NvZnQuVmlzdWFs
U3R1ZGlvLlByb2R1Y3QuUHJvZmVzc2lvbmFsJywKLSAgICAgICAgJ01pY3Jvc29mdC5WaXN1YWxT
dHVkaW8uUHJvZHVjdC5Db21tdW5pdHknLAotICAgICAgICB1bmRlZgotICAgICkpIHsKLSAgICAg
ICAgbXkgJGNvbW1hbmQgPSAiJHNvdXJjZURpci9XZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzL3Zz
d2hlcmUgLW5vbG9nbyAtbGF0ZXN0IC1mb3JtYXQganNvbiAtcmVxdWlyZXMgTWljcm9zb2Z0LkNv
bXBvbmVudC5NU0J1aWxkIjsKLSAgICAgICAgaWYgKGRlZmluZWQgJHByb2R1Y3RUeXBlKSB7Ci0g
ICAgICAgICAgICAkY29tbWFuZCAuPSAiIC1wcm9kdWN0cyAkcHJvZHVjdFR5cGUiOwotICAgICAg
ICB9Ci0gICAgICAgIG15ICR2c1doZXJlT3V0ID0gYCRjb21tYW5kYDsKLSAgICAgICAgbXkgJGlu
c3RhbGxhdGlvbnMgPSBbXTsKLSAgICAgICAgZXZhbCB7Ci0gICAgICAgICAgICAkaW5zdGFsbGF0
aW9ucyA9IEpTT046OlBQOjpkZWNvZGVfanNvbihFbmNvZGU6OmVuY29kZSgnVVRGLTgnID0+IEVu
Y29kZTo6ZGVjb2RlKGNvbnNvbGVfaW4gPT4gJHZzV2hlcmVPdXQpKSk7Ci0gICAgICAgIH07Ci0g
ICAgICAgIHByaW50ICJFcnJvciBnZXR0aW5nIFZpc3VhbCBTdHVkaW8gTG9jYXRpb246ICRAXG4i
IGlmICRAOwotICAgICAgICB1bmRlZiAkQDsKLQotICAgICAgICBpZiAoc2NhbGFyIEAkaW5zdGFs
bGF0aW9ucykgewotICAgICAgICAgICAgbXkgJGluc3RhbGxhdGlvbiA9ICRpbnN0YWxsYXRpb25z
LT5bMF07Ci0gICAgICAgICAgICAkdnNXaGVyZUZvdW5kSW5zdGFsbGF0aW9uID0gJGluc3RhbGxh
dGlvbjsKLSAgICAgICAgICAgIHJldHVybiAkaW5zdGFsbGF0aW9uOwotICAgICAgICB9Ci0gICAg
fQotICAgIHJldHVybiB1bmRlZjsKKyAgICBteSAkdnN3aGVyZSA9IEZpbGU6OlNwZWMtPmNhdGRp
cihwcm9ncmFtRmlsZXNQYXRoWDg2KCksICJNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyIsICJJbnN0
YWxsZXIiLCAidnN3aGVyZS5leGUiKTsKKyAgICByZXR1cm4gdW5sZXNzIC1lICR2c3doZXJlOwor
ICAgIG9wZW4obXkgJGhhbmRsZSwgIi18IiwgJHZzd2hlcmUsIHF3KC1ub2xvZ28gLWxhdGVzdCAt
cmVxdWlyZXMgTWljcm9zb2Z0LkNvbXBvbmVudC5NU0J1aWxkIC1wcm9wZXJ0eSBpbnN0YWxsYXRp
b25QYXRoKSkgfHwgcmV0dXJuOworICAgIG15ICR2c1doZXJlT3V0ID0gPCRoYW5kbGU+OworICAg
ICR2c1doZXJlT3V0ID1+IHMvXHI/XG4vLzsKKyAgICByZXR1cm4gJHZzV2hlcmVPdXQ7CiB9CiAK
IHN1YiB2aXN1YWxTdHVkaW9JbnN0YWxsRGlyCkBAIC02OTgsOSArNjY0LDcgQEAgc3ViIHZpc3Vh
bFN0dWRpb0luc3RhbGxEaXIKICAgICAgICAgJHZzSW5zdGFsbERpciA9fiBzfFtcXC9dJHx8Owog
ICAgIH0gZWxzZSB7CiAgICAgICAgICR2c0luc3RhbGxEaXIgPSB2aXN1YWxTdHVkaW9JbnN0YWxs
RGlyVlNXaGVyZSgpOwotICAgICAgICBpZiAobm90IC1lICR2c0luc3RhbGxEaXIpIHsKLSAgICAg
ICAgICAgICR2c0luc3RhbGxEaXIgPSB2aXN1YWxTdHVkaW9JbnN0YWxsRGlyRmFsbGJhY2soKTsK
LSAgICAgICAgfQorICAgICAgICByZXR1cm4gdW5sZXNzIGRlZmluZWQgJHZzSW5zdGFsbERpcjsK
ICAgICB9CiAgICAgY2hvbXAoJHZzSW5zdGFsbERpciA9IGBjeWdwYXRoICIkdnNJbnN0YWxsRGly
ImApIGlmIGlzQ3lnd2luKCk7CiAKQEAgLTcwOCwzMyArNjcyLDYgQEAgc3ViIHZpc3VhbFN0dWRp
b0luc3RhbGxEaXIKICAgICByZXR1cm4gJHZzSW5zdGFsbERpcjsKIH0KIAotc3ViIHZpc3VhbFN0
dWRpb0luc3RhbGxEaXJWU1doZXJlCi17Ci0gICAgcGlja0N1cnJlbnRWaXN1YWxTdHVkaW9JbnN0
YWxsYXRpb24oKTsKLSAgICBpZiAoZGVmaW5lZCgkdnNXaGVyZUZvdW5kSW5zdGFsbGF0aW9uKSkg
ewotICAgICAgICByZXR1cm4gJHZzV2hlcmVGb3VuZEluc3RhbGxhdGlvbi0+e2luc3RhbGxhdGlv
blBhdGh9OwotICAgIH0KLSAgICByZXR1cm4gdW5kZWY7Ci19Ci0KLXN1YiB2aXN1YWxTdHVkaW9J
bnN0YWxsRGlyRmFsbGJhY2sKLXsKLSAgICBmb3JlYWNoIG15ICRwcm9kdWN0VHlwZSAoKAotICAg
ICAgICAnRW50ZXJwcmlzZScsCi0gICAgICAgICdQcm9mZXNzaW9uYWwnLAotICAgICAgICAnQ29t
bXVuaXR5JywKLSAgICApKSB7Ci0gICAgICAgIG15ICRpbnN0YWxsZGlyID0gRmlsZTo6U3BlYy0+
Y2F0ZGlyKHByb2dyYW1GaWxlc1BhdGhYODYoKSwKLSAgICAgICAgICAgICJNaWNyb3NvZnQgVmlz
dWFsIFN0dWRpbyIsICIyMDE3IiwgJHByb2R1Y3RUeXBlKTsKLSAgICAgICAgbXkgJG1zYnVpbGRk
aXIgPSBGaWxlOjpTcGVjLT5jYXRkaXIoJGluc3RhbGxkaXIsCi0gICAgICAgICAgICAiTVNCdWls
ZCIsICIxNS4wIiwgImJpbiIpOwotICAgICAgICBpZiAoLWUgJGluc3RhbGxkaXIgJiYgLWUgJG1z
YnVpbGRkaXIpIHsKLSAgICAgICAgICAgIHJldHVybiAkaW5zdGFsbGRpcjsKLSAgICAgICAgfQot
ICAgIH0KLSAgICByZXR1cm4gdW5kZWY7Ci19Ci0KIHN1YiBtc0J1aWxkSW5zdGFsbERpcgogewog
ICAgIHJldHVybiAkbXNCdWlsZEluc3RhbGxEaXIgaWYgZGVmaW5lZCAkbXNCdWlsZEluc3RhbGxE
aXI7CkBAIC0xODk0LDcgKzE4MzEsNiBAQCBzdWIgc2V0dXBDeWd3aW5FbnYoKQogICAgIHJldHVy
biBpZiAkdmNCdWlsZFBhdGg7CiAKICAgICBteSAkcHJvZ3JhbUZpbGVzUGF0aCA9IHByb2dyYW1G
aWxlc1BhdGgoKTsKLSAgICBteSAkdmlzdWFsU3R1ZGlvUGF0aCA9IEZpbGU6OlNwZWMtPmNhdGZp
bGUodmlzdWFsU3R1ZGlvSW5zdGFsbERpcigpLCBxdyhDb21tb243IElERSBkZXZlbnYuY29tKSk7
CiAKICAgICBwcmludCAiQnVpbGRpbmcgcmVzdWx0cyBpbnRvOiAiLCBiYXNlUHJvZHVjdERpcigp
LCAiXG4iOwogICAgIHByaW50ICJXRUJLSVRfT1VUUFVURElSIGlzIHNldCB0bzogIiwgJEVOVnsi
V0VCS0lUX09VVFBVVERJUiJ9LCAiXG4iOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367167</attachid>
            <date>2019-04-10 15:04:54 -0700</date>
            <delta_ts>2019-04-10 15:11:16 -0700</delta_ts>
            <desc>Have vswhere find msbuild itself</desc>
            <filename>196760.2.diff</filename>
            <type>text/plain</type>
            <size>9652</size>
            <attacher name="Stephan Szabo">stephan.szabo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzMzA3
NmUwNzJmNi4uY2Y0ZDIyNTQyODUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxOS0wNC0xMCAgRnVqaWkgSGlyb25v
cmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4gYW5kIFN0ZXBoYW4gU3phYm8gIDxzdGVwaGFu
LnN6YWJvQHNvbnkuY29tPgorCisgICAgICAgIFtXaW5dIFVzZSBhIGJ1bmRsZWQgdnN3aGVyZS5l
eGUgaW5zdGVhZCBvZiBkb3dubG9hZGluZyBieSB1cGRhdGUtdnN3aGVyZS5weQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk2NzYwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgdnN3aGVyZS5leGUgaGFzIGJl
ZW4gYnVuZGxlZCBzaW5jZSBWaXN1YWwgU3R1ZGlvIDIwMTcgdmVyc2lvbgorICAgICAgICAxNS4y
LiBXZSBzaG91bGRuJ3QgZG93bmxvYWQgdnN3aGVyZS5leGUuIElmIHdlIG9ubHkgdXNlIGl0IHRv
CisgICAgICAgIGZpbmQgbXNidWlsZCwgZG8gdGhhdCBleHBsaWNpdGx5LgorCisgICAgICAgICog
U2NyaXB0cy9idWlsZC1qc2M6IERvIG5vdCBjYWxsIHVwZGF0ZS12c3doZXJlLnB5LgorICAgICAg
ICAqIFNjcmlwdHMvYnVpbGQtd2Via2l0OiBEaXR0by4KKyAgICAgICAgKiBTY3JpcHRzL3VwZGF0
ZS12c3doZXJlLnB5OiBSZW1vdmVkLgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0ZGlycy5wbToK
KyAgICAgICAgKHJlcXVpcmVNb2R1bGVzRm9yVlNXaGVyZSk6IERlbGV0ZWQuCisgICAgICAgIChw
aWNrQ3VycmVudFZpc3VhbFN0dWRpb0luc3RhbGxhdGlvbik6IERlbGV0ZWQuCisgICAgICAgICh2
aXN1YWxTdHVkaW9JbnN0YWxsRGlyKTogRGVsZXRlZC4KKyAgICAgICAgKHZpc3VhbFN0dWRpb0lu
c3RhbGxEaXJWU1doZXJlKTogRGVsZXRlZC4KKyAgICAgICAgKHZpc3VhbFN0dWRpb0luc3RhbGxE
aXJGYWxsYmFjayk6IFJlbW92ZWQuCisgICAgICAgIChtc0J1aWxkSW5zdGFsbERpcik6IFJlbmFt
ZWQgbXNCdWlsZEluc3RhbGxFeGVjdXRhYmxlLCBmaW5kCisgICAgICAgIE1TQnVpbGQuZXhlIGxv
Y2F0aW9uIGVpdGhlciBiYXNlZCBvbiBWU0lOU1RBTExESVIgb3Igd2l0aAorICAgICAgICB2c3do
ZXJlCisgICAgICAgIChzZXR1cEN5Z3dpbkVudik6IFJlbW92ZWQgYSB1bnVzZWQgdmFyaWFibGUg
JHZpc3VhbFN0dWRpb1BhdGguCisgICAgICAgIFVzZSBtc0J1aWxkSW5zdGFsbEV4ZWN1dGFibGUg
Zm9yIE1TQnVpbGQuZXhlIHBhdGgKKworCiAyMDE5LTA0LTA4ICBHdWlsbGF1bWUgRW1vbnQgIDxn
dWlqZW1vbnRAaWdhbGlhLmNvbT4KIAogICAgICAgICBFbmFibGUgREZHIG9uIE1JUFMKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtanNjIGIvVG9vbHMvU2NyaXB0cy9idWlsZC1qc2MK
aW5kZXggMTNlNGQxYTkzMzYuLjBiM2QwZTNjMzE1IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRz
L2J1aWxkLWpzYworKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLWpzYwpAQCAtMTI1LDcgKzEyNSw2
IEBAIGlmICgkYnVpbGREaXIgJiYgIWlzQ01ha2VCdWlsZCgpKSB7CiAKIGlmIChpc1dpbkNhaXJv
KCkgfHwgKGlzSlNDT25seSgpICYmIGlzV2luZG93cygpKSkgewogICAgIChzeXN0ZW0oInB5dGhv
biBUb29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXQtd2luY2Fpcm8tbGlicy5weSIpID09IDApIG9y
IGRpZTsKLSAgICBzeXN0ZW0oInB5dGhvbiBUb29scy9TY3JpcHRzL3VwZGF0ZS12c3doZXJlLnB5
Iik7CiB9CiAKIGNoZWNrUmVxdWlyZWRTeXN0ZW1Db25maWcoKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvYnVpbGQtd2Via2l0IGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKaW5kZXgg
ODIzOTY3NDNmNzEuLjllY2M0MWQyZDFmIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL2J1aWxk
LXdlYmtpdAorKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdApAQCAtMjU5LDEwICsyNTks
NiBAQCBpZiAoaXNBcHBsZUNvY29hV2ViS2l0KCkpIHsKICAgICBzZXR1cEFwcGxlV2luRW52KCkK
IH0KIAotaWYgKGlzQW55V2luZG93cygpKSB7Ci0gICAgc3lzdGVtKCJweXRob24gVG9vbHMvU2Ny
aXB0cy91cGRhdGUtdnN3aGVyZS5weSIpOwotfQotCiAjIElmIGFza2VkIHRvIGJ1aWxkIGp1c3Qg
dGhlIFdlYktpdCBwcm9qZWN0LCBvdmVyd3JpdGUgdGhlIHByb2plY3RzCiAjIGxpc3QgYWZ0ZXIg
YWxsIG9mIHRoZSBwb3J0IHNwZWNpZmljIHR3ZWFrcyBoYXZlIGJlZW4gbWFkZSB0bwogIyBidWls
ZCBvcHRpb25zLCBldGMuCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3VwZGF0ZS12c3doZXJl
LnB5IGIvVG9vbHMvU2NyaXB0cy91cGRhdGUtdnN3aGVyZS5weQpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggYjIzNjBmNDQ2NmYuLjAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1NjcmlwdHMv
dXBkYXRlLXZzd2hlcmUucHkKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi0jISAvdXNy
L2Jpbi9lbnYgcHl0aG9uCi0jCi0jIENvcHlyaWdodCAoQykgMjAxNyBTb255IEludGVyYWN0aXZl
IEVudGVydGFpbm1lbnQgSW5jLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0jIGFyZSBt
ZXQ6Ci0jCi0jIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotIyAyLiAgUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0jCi0jIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0jIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQKLSMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0jIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTCi0jIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSMgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
Ci0jIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0jIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgotIyBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotCi1p
bXBvcnQgaW1wb3J0bGliCi1pbXBvcnQgc3lzCi1pbXBvcnQgb3MKLWltcG9ydCBzdGF0Ci0KLWRv
d25sb2FkID0gaW1wb3J0bGliLmltcG9ydF9tb2R1bGUoJ2Rvd25sb2FkLWdpdGh1Yi1yZWxlYXNl
JykKLQotcmVwbyA9ICdNaWNyb3NvZnQvdnN3aGVyZScKLWZpbGUgPSAndnN3aGVyZS5leGUnCi1v
dXRwdXQgPSAnV2ViS2l0TGlicmFyaWVzL3dpbi90b29scycKLQotcmVzdWx0ID0gZG93bmxvYWQu
bWFpbihbJy1vJywgb3V0cHV0LCByZXBvLCBmaWxlXSkKLQotaWYgcmVzdWx0ID09IGRvd25sb2Fk
LlN0YXR1cy5DT1VMRF9OT1RfRklORDoKLSAgICBzeXMuZXhpdCgxKQotCi1vcy5jaG1vZChvcy5w
YXRoLmpvaW4ob3V0cHV0LCBmaWxlKSwgMDc3NykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0ZGlycy5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQppbmRleCAzZDU5N2Yy
MTQ1Zi4uNzI2NmVmNGVhNzIgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5w
bQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KQEAgLTE2MSwxMSArMTYxLDEwIEBA
IG15ICR1bmtub3duUG9ydFByb2hpYml0ZWQgPSAwOwogbXkgJHByb2dyYW1GaWxlc1BhdGg7CiBt
eSAkdmNCdWlsZFBhdGg7CiBteSAkdnNJbnN0YWxsRGlyOwotbXkgJG1zQnVpbGRJbnN0YWxsRGly
OworbXkgJG1zQnVpbGRFeGVjdXRhYmxlOwogbXkgJHZzVmVyc2lvbjsKIG15ICR3aW5kb3dzU291
cmNlRGlyOwogbXkgJHdpblZlcnNpb247Ci1teSAkdnNXaGVyZUZvdW5kSW5zdGFsbGF0aW9uOwog
CiAjIERlZmluZWQgaW4gVkNTVXRpbHMuCiBzdWIgZXhpdFN0YXR1cygkKTsKQEAgLTY0NiwxMDcg
KzY0NSwyNiBAQCBzdWIgcHJvZ3JhbUZpbGVzUGF0aFg4NgogICAgIHJldHVybiAkcHJvZ3JhbUZp
bGVzUGF0aFg4NjsKIH0KIAotc3ViIHJlcXVpcmVNb2R1bGVzRm9yVlNXaGVyZQorc3ViIG1zQnVp
bGRFeGVjdXRhYmxlCiB7Ci0gICAgcmVxdWlyZSBFbmNvZGU7Ci0gICAgcmVxdWlyZSBFbmNvZGU6
OkxvY2FsZTsKLSAgICByZXF1aXJlIEpTT046OlBQOwotfQotCi1zdWIgcGlja0N1cnJlbnRWaXN1
YWxTdHVkaW9JbnN0YWxsYXRpb24KLXsKLSAgICByZXR1cm4gJHZzV2hlcmVGb3VuZEluc3RhbGxh
dGlvbiBpZiBkZWZpbmVkICR2c1doZXJlRm91bmRJbnN0YWxsYXRpb247Ci0KLSAgICByZXF1aXJl
TW9kdWxlc0ZvclZTV2hlcmUoKTsKLSAgICBkZXRlcm1pbmVTb3VyY2VEaXIoKTsKLQotICAgICMg
UHJlZmVyIEVudGVycHJpc2UsIHRoZW4gUHJvZmVzc2lvbmFsLCB0aGVuIENvbW11bml0eSwgdGhl
bgotICAgICMgYW55dGhpbmcgZWxzZSB0aGF0IHByb3ZpZGVzIE1TQnVpbGQuCi0gICAgZm9yZWFj
aCBteSAkcHJvZHVjdFR5cGUgKCgKLSAgICAgICAgJ01pY3Jvc29mdC5WaXN1YWxTdHVkaW8uUHJv
ZHVjdC5FbnRlcnByaXNlJywKLSAgICAgICAgJ01pY3Jvc29mdC5WaXN1YWxTdHVkaW8uUHJvZHVj
dC5Qcm9mZXNzaW9uYWwnLAotICAgICAgICAnTWljcm9zb2Z0LlZpc3VhbFN0dWRpby5Qcm9kdWN0
LkNvbW11bml0eScsCi0gICAgICAgIHVuZGVmCi0gICAgKSkgewotICAgICAgICBteSAkY29tbWFu
ZCA9ICIkc291cmNlRGlyL1dlYktpdExpYnJhcmllcy93aW4vdG9vbHMvdnN3aGVyZSAtbm9sb2dv
IC1sYXRlc3QgLWZvcm1hdCBqc29uIC1yZXF1aXJlcyBNaWNyb3NvZnQuQ29tcG9uZW50Lk1TQnVp
bGQiOwotICAgICAgICBpZiAoZGVmaW5lZCAkcHJvZHVjdFR5cGUpIHsKLSAgICAgICAgICAgICRj
b21tYW5kIC49ICIgLXByb2R1Y3RzICRwcm9kdWN0VHlwZSI7Ci0gICAgICAgIH0KLSAgICAgICAg
bXkgJHZzV2hlcmVPdXQgPSBgJGNvbW1hbmRgOwotICAgICAgICBteSAkaW5zdGFsbGF0aW9ucyA9
IFtdOwotICAgICAgICBldmFsIHsKLSAgICAgICAgICAgICRpbnN0YWxsYXRpb25zID0gSlNPTjo6
UFA6OmRlY29kZV9qc29uKEVuY29kZTo6ZW5jb2RlKCdVVEYtOCcgPT4gRW5jb2RlOjpkZWNvZGUo
Y29uc29sZV9pbiA9PiAkdnNXaGVyZU91dCkpKTsKLSAgICAgICAgfTsKLSAgICAgICAgcHJpbnQg
IkVycm9yIGdldHRpbmcgVmlzdWFsIFN0dWRpbyBMb2NhdGlvbjogJEBcbiIgaWYgJEA7Ci0gICAg
ICAgIHVuZGVmICRAOwotCi0gICAgICAgIGlmIChzY2FsYXIgQCRpbnN0YWxsYXRpb25zKSB7Ci0g
ICAgICAgICAgICBteSAkaW5zdGFsbGF0aW9uID0gJGluc3RhbGxhdGlvbnMtPlswXTsKLSAgICAg
ICAgICAgICR2c1doZXJlRm91bmRJbnN0YWxsYXRpb24gPSAkaW5zdGFsbGF0aW9uOwotICAgICAg
ICAgICAgcmV0dXJuICRpbnN0YWxsYXRpb247Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJu
IHVuZGVmOwotfQotCi1zdWIgdmlzdWFsU3R1ZGlvSW5zdGFsbERpcgotewotICAgIHJldHVybiAk
dnNJbnN0YWxsRGlyIGlmIGRlZmluZWQgJHZzSW5zdGFsbERpcjsKKyAgICByZXR1cm4gJG1zQnVp
bGRFeGVjdXRhYmxlIGlmIGRlZmluZWQgJG1zQnVpbGRFeGVjdXRhYmxlOwogCiAgICAgaWYgKCRF
TlZ7J1ZTSU5TVEFMTERJUid9KSB7Ci0gICAgICAgICR2c0luc3RhbGxEaXIgPSAkRU5WeydWU0lO
U1RBTExESVInfTsKLSAgICAgICAgJHZzSW5zdGFsbERpciA9fiBzfFtcXC9dJHx8OworICAgICAg
ICBteSAkaW5zdGFsbERpciA9ICRFTlZ7J1ZTSU5TVEFMTERJUid9OworICAgICAgICAkaW5zdGFs
bERpciA9fiBzfFtcXC9dJHx8OworICAgICAgICAkbXNCdWlsZEV4ZWN1dGFibGUgPSBGaWxlOjpT
cGVjLT5jYXRkaXIoJGluc3RhbGxEaXIsCisgICAgICAgICAgICAiTVNCdWlsZCIsICIxNS4wIiwg
ImJpbiIsICJNU0J1aWxkLmV4ZSIpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgICR2c0luc3RhbGxE
aXIgPSB2aXN1YWxTdHVkaW9JbnN0YWxsRGlyVlNXaGVyZSgpOwotICAgICAgICBpZiAobm90IC1l
ICR2c0luc3RhbGxEaXIpIHsKLSAgICAgICAgICAgICR2c0luc3RhbGxEaXIgPSB2aXN1YWxTdHVk
aW9JbnN0YWxsRGlyRmFsbGJhY2soKTsKLSAgICAgICAgfQorICAgICAgICBteSAkdnN3aGVyZSA9
IEZpbGU6OlNwZWMtPmNhdGRpcihwcm9ncmFtRmlsZXNQYXRoWDg2KCksICJNaWNyb3NvZnQgVmlz
dWFsIFN0dWRpbyIsICJJbnN0YWxsZXIiLCAidnN3aGVyZS5leGUiKTsKKyAgICAgICAgcmV0dXJu
IHVubGVzcyAtZSAkdnN3aGVyZTsKKyAgICAgICAgb3BlbihteSAkaGFuZGxlLCAiLXwiLCAkdnN3
aGVyZSwgcXcoLW5vbG9nbyAtbGF0ZXN0IC1yZXF1aXJlcyBNaWNyb3NvZnQuQ29tcG9uZW50Lk1T
QnVpbGQgLWZpbmQgTVNCdWlsZC8qKi9CaW4vTVNCdWlsZC5leGUpKSB8fCByZXR1cm47CisgICAg
ICAgICRtc0J1aWxkRXhlY3V0YWJsZSA9IDwkaGFuZGxlPjsKKyAgICAgICAgJG1zQnVpbGRFeGVj
dXRhYmxlID1+IHMvXHI/XG4vLzsKICAgICB9Ci0gICAgY2hvbXAoJHZzSW5zdGFsbERpciA9IGBj
eWdwYXRoICIkdnNJbnN0YWxsRGlyImApIGlmIGlzQ3lnd2luKCk7Ci0KLSAgICBwcmludCAiVXNp
bmcgVmlzdWFsIFN0dWRpbzogJHZzSW5zdGFsbERpclxuIjsKLSAgICByZXR1cm4gJHZzSW5zdGFs
bERpcjsKLX0KLQotc3ViIHZpc3VhbFN0dWRpb0luc3RhbGxEaXJWU1doZXJlCi17Ci0gICAgcGlj
a0N1cnJlbnRWaXN1YWxTdHVkaW9JbnN0YWxsYXRpb24oKTsKLSAgICBpZiAoZGVmaW5lZCgkdnNX
aGVyZUZvdW5kSW5zdGFsbGF0aW9uKSkgewotICAgICAgICByZXR1cm4gJHZzV2hlcmVGb3VuZElu
c3RhbGxhdGlvbi0+e2luc3RhbGxhdGlvblBhdGh9OwotICAgIH0KLSAgICByZXR1cm4gdW5kZWY7
Ci19Ci0KLXN1YiB2aXN1YWxTdHVkaW9JbnN0YWxsRGlyRmFsbGJhY2sKLXsKLSAgICBmb3JlYWNo
IG15ICRwcm9kdWN0VHlwZSAoKAotICAgICAgICAnRW50ZXJwcmlzZScsCi0gICAgICAgICdQcm9m
ZXNzaW9uYWwnLAotICAgICAgICAnQ29tbXVuaXR5JywKLSAgICApKSB7Ci0gICAgICAgIG15ICRp
bnN0YWxsZGlyID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKHByb2dyYW1GaWxlc1BhdGhYODYoKSwKLSAg
ICAgICAgICAgICJNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyIsICIyMDE3IiwgJHByb2R1Y3RUeXBl
KTsKLSAgICAgICAgbXkgJG1zYnVpbGRkaXIgPSBGaWxlOjpTcGVjLT5jYXRkaXIoJGluc3RhbGxk
aXIsCi0gICAgICAgICAgICAiTVNCdWlsZCIsICIxNS4wIiwgImJpbiIpOwotICAgICAgICBpZiAo
LWUgJGluc3RhbGxkaXIgJiYgLWUgJG1zYnVpbGRkaXIpIHsKLSAgICAgICAgICAgIHJldHVybiAk
aW5zdGFsbGRpcjsKLSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gdW5kZWY7Ci19Ci0KLXN1
YiBtc0J1aWxkSW5zdGFsbERpcgotewotICAgIHJldHVybiAkbXNCdWlsZEluc3RhbGxEaXIgaWYg
ZGVmaW5lZCAkbXNCdWlsZEluc3RhbGxEaXI7Ci0KLSAgICBteSAkaW5zdGFsbERpciA9IHZpc3Vh
bFN0dWRpb0luc3RhbGxEaXIoKTsKLSAgICAkbXNCdWlsZEluc3RhbGxEaXIgPSBGaWxlOjpTcGVj
LT5jYXRkaXIoJGluc3RhbGxEaXIsCi0gICAgICAgICJNU0J1aWxkIiwgIjE1LjAiLCAiYmluIik7
Ci0KLSAgICBjaG9tcCgkbXNCdWlsZEluc3RhbGxEaXIgPSBgY3lncGF0aCAiJG1zQnVpbGRJbnN0
YWxsRGlyImApIGlmIGlzQ3lnd2luKCk7CisgICAgY2hvbXAoJG1zQnVpbGRFeGVjdXRhYmxlID0g
YGN5Z3BhdGggIiRtc0J1aWxkRXhlY3V0YWJsZSJgKSBpZiBpc0N5Z3dpbigpOwogCi0gICAgcHJp
bnQgIlVzaW5nIE1TQnVpbGQ6ICRtc0J1aWxkSW5zdGFsbERpclxuIjsKLSAgICByZXR1cm4gJG1z
QnVpbGRJbnN0YWxsRGlyOworICAgIHByaW50ICJVc2luZyBNU0J1aWxkOiAkbXNCdWlsZEV4ZWN1
dGFibGVcbiI7CisgICAgcmV0dXJuICRtc0J1aWxkRXhlY3V0YWJsZTsKIH0KIAogc3ViIGRldGVy
bWluZUNvbmZpZ3VyYXRpb25Gb3JWaXN1YWxTdHVkaW8KQEAgLTE4OTQsNyArMTgxMiw2IEBAIHN1
YiBzZXR1cEN5Z3dpbkVudigpCiAgICAgcmV0dXJuIGlmICR2Y0J1aWxkUGF0aDsKIAogICAgIG15
ICRwcm9ncmFtRmlsZXNQYXRoID0gcHJvZ3JhbUZpbGVzUGF0aCgpOwotICAgIG15ICR2aXN1YWxT
dHVkaW9QYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZmlsZSh2aXN1YWxTdHVkaW9JbnN0YWxsRGlyKCks
IHF3KENvbW1vbjcgSURFIGRldmVudi5jb20pKTsKIAogICAgIHByaW50ICJCdWlsZGluZyByZXN1
bHRzIGludG86ICIsIGJhc2VQcm9kdWN0RGlyKCksICJcbiI7CiAgICAgcHJpbnQgIldFQktJVF9P
VVRQVVRESVIgaXMgc2V0IHRvOiAiLCAkRU5WeyJXRUJLSVRfT1VUUFVURElSIn0sICJcbiI7CkBA
IC0xOTA0LDcgKzE4MjEsNyBAQCBzdWIgc2V0dXBDeWd3aW5FbnYoKQogCiAgICAgIyBXZSB3aWxs
IGFjdHVhbGx5IHVzZSBNU0J1aWxkIHRvIGJ1aWxkIFdlYktpdCwgYnV0IHdlIG5lZWQgdG8gZmlu
ZCB0aGUgVmlzdWFsIFN0dWRpbyBpbnN0YWxsIChhYm92ZSkgdG8gbWFrZQogICAgICMgc3VyZSB3
ZSB1c2UgdGhlIHJpZ2h0IG9wdGlvbnMuCi0gICAgJHZjQnVpbGRQYXRoID0gRmlsZTo6U3BlYy0+
Y2F0ZmlsZShtc0J1aWxkSW5zdGFsbERpcigpLCBxdyhNU0J1aWxkLmV4ZSkpOworICAgICR2Y0J1
aWxkUGF0aCA9IG1zQnVpbGRFeGVjdXRhYmxlKCk7CiAgICAgaWYgKCEgLWUgJHZjQnVpbGRQYXRo
KSB7CiAgICAgICAgIHByaW50ICIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqXG4iOwogICAgICAgICBwcmludCAiQ2Fubm90IGZpbmQg
JyR2Y0J1aWxkUGF0aCdcbiI7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>