<?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>192695</bug_id>
          
          <creation_ts>2018-12-14 01:19:46 -0800</creation_ts>
          <short_desc>[Win][Clang] Fix compilation warnings under Source/WebKit directory</short_desc>
          <delta_ts>2018-12-18 20:37:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>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>171618</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>pvollan</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1487876</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-12-14 01:19:46 -0800</bug_when>
    <thetext>[Win][Clang] Fix compilation warnings Source/WebKit directory

clang-cl reports the following compilation warnings:

&gt; ..\..\Source\WebKit\NetworkProcess/NetworkResourceLoader.cpp(221,86):  warning: lambda capture &apos;this&apos; is not used [-Wunused-lambda-capture]
&gt; ..\..\Source\WebKit\NetworkProcess/cache/NetworkCacheData.cpp(145,13):  warning: unused function &apos;makeSalt&apos; [-Wunused-function]
&gt; ..\..\Source\WebKit\NetworkProcess/cache/NetworkCacheFileSystem.cpp(54,27):  warning: unused function &apos;directoryEntryType&apos; [-Wunused-function]
&gt; ..\..\Source\WebKit\NetworkProcess\curl\NetworkDataTaskCurl.cpp(238,17):  warning: enumeration value &apos;Suspend&apos; not handled in switch [-Wswitch]
&gt; ..\..\Source\WebKit\Platform\IPC\win\ConnectionWin.cpp(128,27):  warning: unused variable &apos;error&apos; [-Wunused-variable]
&gt; ..\..\Source\WebKit\Platform\win\ModuleWin.cpp(54,12):  warning: implicit conversion between pointer-to-function and pointer-to-object is a Microsoft extension [-Wmicrosoft-cast]
&gt; ..\..\Source\WebKit\Shared\win\WebEventFactory.h(44,126):  warning: missing field &apos;time&apos; initializer [-Wmissing-field-initializers]
&gt; ..\..\Source\WebKit\UIProcess/DrawingAreaProxyImpl.h(79,23):  warning: private field &apos;m_webPage&apos; is not used [-Wunused-private-field]
&gt; ..\..\Source\WebKit\UIProcess/UserMediaPermissionRequestManagerProxy.cpp(46,17):  warning: unused function &apos;generateRequestID&apos; [-Wunused-function]
&gt; ..\..\Source\WebKit\UIProcess\Launcher\win\ProcessLauncherWin.cpp(102,15):  warning: unused variable &apos;error&apos; [-Wunused-variable]
&gt; ..\..\Source\WebKit\UIProcess\Launcher\win\ProcessLauncherWin.cpp(38,8):  warning: &apos;const&apos; type qualifier on return type has no effect [-Wignored-qualifiers]
&gt; ..\..\Source\WebKit\UIProcess\win/WebPopupMenuProxyWin.h(48,18):  warning: &apos;showPopupMenu&apos; overrides a member function but is not marked &apos;override&apos; [-Winconsistent-missing-override]
&gt; ..\..\Source\WebKit\UIProcess\win/WebPopupMenuProxyWin.h(49,18):  warning: &apos;hidePopupMenu&apos; overrides a member function but is not marked &apos;override&apos; [-Winconsistent-missing-override]
&gt; ..\..\Source\WebKit\UIProcess\win\WebInspectorProxyWin.cpp(304,14):  warning: unused variable &apos;inspectedHeight&apos; [-Wunused-variable]
&gt; ..\..\Source\WebKit\UIProcess\win\WebInspectorProxyWin.cpp(305,14):  warning: unused variable &apos;inspectedWidth&apos; [-Wunused-variable]
&gt; ..\..\Source\WebKit\UIProcess\win\WebInspectorProxyWin.cpp(330,21):  warning: unused variable &apos;haveRegisteredClass&apos; [-Wunused-variable]
&gt; ..\..\Source\WebKit\UIProcess\win\WebPopupMenuProxyWin.cpp(53,22):  warning: unused variable &apos;separatorPadding&apos; [-Wunused-const-variable]
&gt; ..\..\Source\WebKit\UIProcess\win\WebPopupMenuProxyWin.cpp(54,22):  warning: unused variable &apos;separatorHeight&apos; [-Wunused-const-variable]
&gt; ..\..\Source\WebKit\UIProcess\win\WebView.cpp(478,18):  warning: unused variable &apos;winRect&apos; [-Wunused-variable]
&gt; ..\..\Source\WebKit\WebProcess\WebCoreSupport\curl\WebFrameNetworkingContext.h(50,28):  warning: &apos;blockedError&apos; overrides a member function but is not marked &apos;override&apos; [-Winconsistent-missing-override]
&gt; ..\..\Source\WebKit\WebProcess\WebCoreSupport\win\WebPopupMenuWin.cpp(114,23):  warning: unused variable &apos;direction&apos; [-Wunused-variable]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1487878</commentid>
    <comment_count>1</comment_count>
      <attachid>357309</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-12-14 01:48:42 -0800</bug_when>
    <thetext>Created attachment 357309
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488214</commentid>
    <comment_count>2</comment_count>
      <attachid>357309</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-12-14 19:54:56 -0800</bug_when>
    <thetext>Comment on attachment 357309
Patch

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

&gt; Source/WebKit/ChangeLog:13
&gt; +        (WebKit::NetworkDataTaskCurl::invokeDidReceiveResponse): Added default case.

Why?  This doesn&apos;t need a default case, and having default makes us forget to update this when we change the enum values.  This particular one might need to be changed to WebPolicyAction

&gt; Source/WebKit/UIProcess/win/WebView.cpp:477
&gt; +        for (size_t i = 0; i &lt; unpaintedRects.size(); ++i)

This should be a c++11-style for loop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488231</commentid>
    <comment_count>3</comment_count>
      <attachid>357309</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-12-14 21:21:29 -0800</bug_when>
    <thetext>Comment on attachment 357309
Patch

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

Thank you for the review.

&gt;&gt; Source/WebKit/ChangeLog:13
&gt;&gt; +        (WebKit::NetworkDataTaskCurl::invokeDidReceiveResponse): Added default case.
&gt; 
&gt; Why?  This doesn&apos;t need a default case, and having default makes us forget to update this when we change the enum values.  This particular one might need to be changed to WebPolicyAction

What is WebPolicyAction? By googling the word, I found it in Chromium and webkit-gtk-clutter. 
https://www.google.com/search?biw=1366&amp;bih=667&amp;tbs=li%3A1&amp;ei=I44UXNHGBszt-QaQ16TQCA&amp;q=WebPolicyAction+webkit&amp;oq=WebPolicyAction+webkit&amp;gs_l=psy-ab.3...11688.12208..12717...0.0..0.101.281.2j1......0....1..gws-wiz.uhhXDcMPfrM

The following is the compilation warning I want to fix.
&gt; ..\..\Source\WebKit\NetworkProcess\curl\NetworkDataTaskCurl.cpp(238,17):  warning: enumeration value &apos;Suspend&apos; not handled in switch [-Wswitch]
I will add missing &apos;Suspend&apos; case.

&gt;&gt; Source/WebKit/UIProcess/win/WebView.cpp:477
&gt;&gt; +        for (size_t i = 0; i &lt; unpaintedRects.size(); ++i)
&gt; 
&gt; This should be a c++11-style for loop.

Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488388</commentid>
    <comment_count>4</comment_count>
      <attachid>357309</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-12-16 20:24:43 -0800</bug_when>
    <thetext>Comment on attachment 357309
Patch

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

&gt;&gt;&gt; Source/WebKit/ChangeLog:13
&gt;&gt;&gt; +        (WebKit::NetworkDataTaskCurl::invokeDidReceiveResponse): Added default case.
&gt;&gt; 
&gt;&gt; Why?  This doesn&apos;t need a default case, and having default makes us forget to update this when we change the enum values.  This particular one might need to be changed to WebPolicyAction
&gt; 
&gt; What is WebPolicyAction? By googling the word, I found it in Chromium and webkit-gtk-clutter. 
&gt; https://www.google.com/search?biw=1366&amp;bih=667&amp;tbs=li%3A1&amp;ei=I44UXNHGBszt-QaQ16TQCA&amp;q=WebPolicyAction+webkit&amp;oq=WebPolicyAction+webkit&amp;gs_l=psy-ab.3...11688.12208..12717...0.0..0.101.281.2j1......0....1..gws-wiz.uhhXDcMPfrM
&gt; 
&gt; The following is the compilation warning I want to fix.

PolicyAction::Suspend was removed and WebPolicyAction has been introduced in Bug 192701.
But, WebPolicyAction has been introduced only in UIProcess, I should remove PolicyAction::Suspend in Network Process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488389</commentid>
    <comment_count>5</comment_count>
      <attachid>357426</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-12-16 20:53:19 -0800</bug_when>
    <thetext>Created attachment 357426
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488853</commentid>
    <comment_count>6</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-12-18 02:33:11 -0800</bug_when>
    <thetext>Review, please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1488908</commentid>
    <comment_count>7</comment_count>
      <attachid>357426</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-12-18 09:16:45 -0800</bug_when>
    <thetext>Comment on attachment 357426
Patch

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

r=me

&gt; Source/WebKit/UIProcess/win/WebPopupMenuProxyWin.h:48
&gt; +    void showPopupMenu(const WebCore::IntRect&amp;, WebCore::TextDirection, double pageScaleFactor, const Vector&lt;WebPopupItem&gt;&amp;, const PlatformPopupMenuData&amp;, int32_t selectedIndex) override;

final?

&gt; Source/WebKit/WebProcess/WebCoreSupport/curl/WebFrameNetworkingContext.h:50
&gt; +    WebCore::ResourceError blockedError(const WebCore::ResourceRequest&amp;) const override;

final?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489174</commentid>
    <comment_count>8</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-12-18 19:00:54 -0800</bug_when>
    <thetext>https://stackoverflow.com/q/29412412/2691131
https://en.cppreference.com/w/cpp/language/final

IIUC, &apos;final&apos;, &apos;final override&apos; and &apos;override&apos; member function marker are exactly same in this case.
But, IMHO, using &apos;override&apos; member function marker and &apos;final&apos; class marker is better in this case.

&gt; class WebPopupMenuProxyWin final : ... {
&gt;   void hidePopupMenu() override;


&apos;final&apos; member function markers are useful only the following case:

&gt; class B {
&gt; public:
&gt;   virtual foo();
&gt;   virtual bar();
&gt; };
&gt; class B1 : public B {
&gt;   foo() final;  
&gt; };
&gt; class D final : B1 {
&gt;   bar() override;
&gt; };

The &apos;final&apos; member function marker indicate D can&apos;t inherit the method foo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489176</commentid>
    <comment_count>9</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-12-18 19:06:26 -0800</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #8)
&gt; The &apos;final&apos; member function marker indicate D can&apos;t inherit the method foo.

So, using &apos;final&apos; member function marker implies other vitual functions can be overridden.
I&apos;m not sure my understanding right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489185</commentid>
    <comment_count>10</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-12-18 19:45:16 -0800</bug_when>
    <thetext>Unfortunately, WebKit Code Style Guidelines seems to prefer &apos;final&apos; method marker. I will use it.

https://webkit.org/code-style-guidelines/#override-methods
Bug 154978 – Update style guide to reflect our style of only using &quot;override&quot; or &quot;final&quot; when overriding virtual methods</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489190</commentid>
    <comment_count>11</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-12-18 20:29:10 -0800</bug_when>
    <thetext>(In reply to Fujii Hironori from comment #10)
&gt; Unfortunately, WebKit Code Style Guidelines seems to prefer &apos;final&apos; method
&gt; marker. I will use it.
&gt; 
&gt; https://webkit.org/code-style-guidelines/#override-methods
&gt; Bug 154978 – Update style guide to reflect our style of only using
&gt; &quot;override&quot; or &quot;final&quot; when overriding virtual methods

Grepping thought WebKit source code, there are a lot of &apos;final&apos; class markers.
And, inconsistently marked methods &apos;final&apos; or &apos;override&apos;.
I will land this patch. Then. I will have a discussion on it in webkit-dev.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489191</commentid>
    <comment_count>12</comment_count>
      <attachid>357648</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-12-18 20:31:48 -0800</bug_when>
    <thetext>Created attachment 357648
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489192</commentid>
    <comment_count>13</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-12-18 20:36:31 -0800</bug_when>
    <thetext>Committed r239366: &lt;https://trac.webkit.org/changeset/239366&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1489193</commentid>
    <comment_count>14</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-12-18 20:37:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/46830492&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357309</attachid>
            <date>2018-12-14 01:48:42 -0800</date>
            <delta_ts>2018-12-16 20:52:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192695-20181214184841.patch</filename>
            <type>text/plain</type>
            <size>13519</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MjAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDlmYmFiZWExZTJmOTMzOWQ2
YjFkZGNiNGY2MGY2MmZhZTFiYjdkZGQuLjBiYmQ1ZWYwNzlhNGU3ZjMxODMzODdlMDJmYWVmYmYw
YmI3MDNhOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTgtMTItMTQgIEZ1amlpIEhp
cm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CisKKyAgICAgICAgW1dpbl1bQ2xhbmdd
IEZpeCBjb21waWxhdGlvbiB3YXJuaW5ncyB1bmRlciBTb3VyY2UvV2ViS2l0IGRpcmVjdG9yeQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyNjk1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVEYXRhLmNwcDoKKyAgICAgICAgKG1ha2VTYWx0KTog
RW5jbG9zZWQgYnkgI2lmICFPUyhXSU5ET1dTKS4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVGaWxlU3lzdGVtLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29y
a0NhY2hlOjpkaXJlY3RvcnlFbnRyeVR5cGUpOiBEaXR0by4KKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9jdXJsL05ldHdvcmtEYXRhVGFza0N1cmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3
b3JrRGF0YVRhc2tDdXJsOjppbnZva2VEaWRSZWNlaXZlUmVzcG9uc2UpOiBBZGRlZCBkZWZhdWx0
IGNhc2UuCisgICAgICAgICogUGxhdGZvcm0vd2luL01vZHVsZVdpbi5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Ok1vZHVsZTo6cGxhdGZvcm1GdW5jdGlvblBvaW50ZXIgY29uc3QpOiBDYXN0IGEgZnVu
Y3Rpb24gcG9pbnRlciB3aXRoIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KCkuCisgICAgICAgICog
VUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJh
d2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpEcmF3aW5nTW9uaXRvcik6CisgICAg
ICAgIE1vdmVkIHRoZSBpbml0aWFsaXplciBvZiBtX3dlYlBhZ2UgaW4gb3JkZXIgdG8gYmUgZW5j
bHVkZWQgYnkgI2lmIFBMQVRGT1JNKEdUSykuCisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdB
cmVhUHJveHlJbXBsLmg6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9MYXVuY2hlci93aW4v
UHJvY2Vzc0xhdW5jaGVyV2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6cHJvY2Vzc05hbWUpOiBS
ZW1vdmVkIHRoZSBkdXBsaWNhdGVkICdjb25zdCcgdHlwZSBxdWFsaWZpZXIuCisgICAgICAgICog
VUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcDoKKyAg
ICAgICAgKGdlbmVyYXRlUmVxdWVzdElEKTogRW5jbG9zZWQgYnkgI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pLgorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2ViSW5zcGVjdG9yUHJveHlXaW4uY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1BdHRhY2gpOiBS
ZW1vdmVkIGFuIHVudXNlZCB2YXJpYWJsZS4KKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9y
UHJveHk6OnBsYXRmb3JtRGV0YWNoKTogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL3dpbi9X
ZWJQb3B1cE1lbnVQcm94eVdpbi5jcHA6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy93aW4v
V2ViVmlldy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OnBhaW50KTogRGl0dG8uCisg
ICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudTo6c2V0VXBQbGF0Zm9ybURhdGEpOiBEaXR0by4K
KyAgICAgICAgKiBVSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmg6IE1hcmtlZCBv
dmVycmlkZSBtZXRob2RzIHdpdGggJ292ZXJyaWRlJy4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L2N1cmwvV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5oOiBEaXR0by4KKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3dpbi9XZWJQb3B1cE1lbnVXaW4uY3Bw
OiBSZW1vdmVkIGFuIHVudXNlZCB2YXJpYWJsZS4KKwogMjAxOC0xMi0xMyAgSm9zZXBoIFBlY29y
YXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFdlYiBJbnNwZWN0b3I6
IE9jY2FzaW9uYWwgVUlQcm9jZXNzIGNyYXNoZXMgdW5kZXIgV2ViUGFnZVByb3h5OjpzaG93SW5z
cGVjdG9ySW5kaWNhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVEYXRhLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlRGF0YS5jcHAKaW5kZXggYTZlMzdiZTQ5MTI4NTY0MDkxYWZi
NTQyMDgzYjc1NWU3MTBhZjEwMS4uNTY0NDdlNGU0ZjQzYzJmMTYzM2NjYWQ3OWVjZTYzNTFlYmZh
NDc5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZURhdGEuY3BwCkBAIC0xNDIsNiArMTQyLDcgQEAgYm9vbCBieXRlc0VxdWFs
KGNvbnN0IERhdGEmIGEsIGNvbnN0IERhdGEmIGIpCiAgICAgcmV0dXJuICFtZW1jbXAoYS5kYXRh
KCksIGIuZGF0YSgpLCBhLnNpemUoKSk7CiB9CiAKKyNpZiAhT1MoV0lORE9XUykKIHN0YXRpYyBT
YWx0IG1ha2VTYWx0KCkKIHsKICAgICBTYWx0IHNhbHQ7CkBAIC0xNTAsNiArMTUxLDcgQEAgc3Rh
dGljIFNhbHQgbWFrZVNhbHQoKQogICAgICpyZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4oJnNh
bHRbNF0pID0gY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1iZXIoKTsKICAgICByZXR1cm4gc2Fs
dDsKIH0KKyNlbmRpZgogCiBzdGQ6Om9wdGlvbmFsPFNhbHQ+IHJlYWRPck1ha2VTYWx0KGNvbnN0
IFN0cmluZyYgcGF0aCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUZpbGVTeXN0ZW0uY3BwCmluZGV4IDQ1Y2YyNmFi
OWQyYTcyZmMzM2IzZTM2OGZhMmY1OGZlNDVhZGZhMmYuLjI1YmVmN2Y5MmU4ZWIzNjZhOTRmNGJj
ZDM3OTgzYjE2YTlkZTM1MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVGaWxlU3lzdGVtLmNwcApAQCAtNTEsOSAr
NTEsOSBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiBuYW1lc3BhY2UgTmV0d29ya0NhY2hlIHsKIAor
I2lmICFPUyhXSU5ET1dTKQogc3RhdGljIERpcmVjdG9yeUVudHJ5VHlwZSBkaXJlY3RvcnlFbnRy
eVR5cGUodWludDhfdCBkdHlwZSkKIHsKLSNpZiAhT1MoV0lORE9XUykKICAgICBzd2l0Y2ggKGR0
eXBlKSB7CiAgICAgY2FzZSBEVF9ESVI6CiAgICAgICAgIHJldHVybiBEaXJlY3RvcnlFbnRyeVR5
cGU6OkRpcmVjdG9yeTsKQEAgLTYzLDEwICs2Myw5IEBAIHN0YXRpYyBEaXJlY3RvcnlFbnRyeVR5
cGUgZGlyZWN0b3J5RW50cnlUeXBlKHVpbnQ4X3QgZHR5cGUpCiAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gRGlyZWN0b3J5RW50cnlUeXBlOjpGaWxlOwogICAg
IH0KLSNlbHNlCiAgICAgcmV0dXJuIERpcmVjdG9yeUVudHJ5VHlwZTo6RmlsZTsKLSNlbmRpZgog
fQorI2VuZGlmCiAKIHZvaWQgdHJhdmVyc2VEaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBwYXRoLCBj
b25zdCBGdW5jdGlvbjx2b2lkIChjb25zdCBTdHJpbmcmLCBEaXJlY3RvcnlFbnRyeVR5cGUpPiYg
ZnVuY3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2N1
cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2N1cmwvTmV0d29ya0RhdGFUYXNrQ3VybC5jcHAKaW5kZXggYjFiN2E4MTU1ZjFiYTE5MWQ5MmU4
NmM4MjRiNTIzZTc2NDkwN2M1OC4uMDkxZDhhODVlMmM0ZDYxMTE3MzVhZjM0YTU4NGFkNTczNjhk
NzhiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jdXJsL05ldHdv
cmtEYXRhVGFza0N1cmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY3Vy
bC9OZXR3b3JrRGF0YVRhc2tDdXJsLmNwcApAQCAtMjQ1LDYgKzI0NSw4IEBAIHZvaWQgTmV0d29y
a0RhdGFUYXNrQ3VybDo6aW52b2tlRGlkUmVjZWl2ZVJlc3BvbnNlKCkKICAgICAgICAgY2FzZSBQ
b2xpY3lBY3Rpb246OkRvd25sb2FkOgogICAgICAgICAgICAgbm90SW1wbGVtZW50ZWQoKTsKICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KICAgICB9KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
d2luL01vZHVsZVdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3dpbi9Nb2R1bGVXaW4u
Y3BwCmluZGV4IGZlZmJjMjY4NThkMzYzZTY1YmM2NWYwOGE1MzdhNjU4ZjNhMjZjYjIuLjdiNjVk
Nzc4NjkxNjYyZmRiNWZmNjBkNzM2ODlkMmNlY2M5YjMyZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vd2luL01vZHVsZVdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS93aW4vTW9kdWxlV2luLmNwcApAQCAtNTEsNyArNTEsOCBAQCB2b2lkKiBNb2R1bGU6OnBs
YXRmb3JtRnVuY3Rpb25Qb2ludGVyKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSkgY29uc3QKIHsK
ICAgICBpZiAoIW1fbW9kdWxlKQogICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gOjpHZXRQ
cm9jQWRkcmVzcyhtX21vZHVsZSwgZnVuY3Rpb25OYW1lKTsKKyAgICBhdXRvIHByb2MgPSA6Okdl
dFByb2NBZGRyZXNzKG1fbW9kdWxlLCBmdW5jdGlvbk5hbWUpOworICAgIHJldHVybiByZWludGVy
cHJldF9jYXN0PHZvaWQqPihwcm9jKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCmluZGV4IDU3M2QzMmE1ZDJjNzFlMjhiMmJk
NTFiZjNlZmU1ODQwMGJiNGRhMDIuLjkwNzBiNWFmYjVhYjQ4MTNiYjJkYzNkM2JmYWJmMmRhNjc4
NDcxZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHlJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5
SW1wbC5jcHAKQEAgLTIwMCw4ICsyMDAsMTAgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5SW1wbDo6
ZGlzY2FyZEJhY2tpbmdTdG9yZSgpCiB9CiAKIERyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3aW5n
TW9uaXRvcjo6RHJhd2luZ01vbml0b3IoV2ViUGFnZVByb3h5JiB3ZWJQYWdlKQotICAgIDogbV93
ZWJQYWdlKHdlYlBhZ2UpCi0gICAgLCBtX3RpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJkRy
YXdpbmdNb25pdG9yOjpzdG9wKQorICAgIDogbV90aW1lcihSdW5Mb29wOjptYWluKCksIHRoaXMs
ICZEcmF3aW5nTW9uaXRvcjo6c3RvcCkKKyNpZiBQTEFURk9STShHVEspCisgICAgLCBtX3dlYlBh
Z2Uod2ViUGFnZSkKKyNlbmRpZgogewogI2lmIFVTRShHTElCX0VWRU5UX0xPT1ApCiAgICAgLy8g
R2l2ZSByZWRyYXdzIG1vcmUgcHJpb3JpdHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
RHJhd2luZ0FyZWFQcm94eUltcGwuaAppbmRleCA5NjY1MjI1MmVhM2FhNDUzZWI0ODE4OGQwNjAx
MmRlZTdjYmYzYzNlLi4wYWY3NzdmY2U0NDA3ZDIzNjFkYWQzZmJkZmZlNzZhMWJiYzM3Yjg5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKQEAg
LTc2LDEwICs3NiwxMiBAQCBwcml2YXRlOgogICAgICAgICB2b2lkIHN0b3AoKTsKICAgICAgICAg
dm9pZCBkaWREcmF3KCk7CiAKLSAgICAgICAgV2ViUGFnZVByb3h5JiBtX3dlYlBhZ2U7CiAgICAg
ICAgIE1vbm90b25pY1RpbWUgbV9zdGFydFRpbWU7CiAgICAgICAgIFdURjo6RnVuY3Rpb248dm9p
ZCAoQ2FsbGJhY2tCYXNlOjpFcnJvcik+IG1fY2FsbGJhY2s7CiAgICAgICAgIFJ1bkxvb3A6OlRp
bWVyPERyYXdpbmdNb25pdG9yPiBtX3RpbWVyOworI2lmIFBMQVRGT1JNKEdUSykKKyAgICAgICAg
V2ViUGFnZVByb3h5JiBtX3dlYlBhZ2U7CisjZW5kaWYKICAgICB9OwogCiAgICAgYm9vbCBtX2lz
QmFja2luZ1N0b3JlRGlzY2FyZGFibGUgeyB0cnVlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9MYXVuY2hlci93aW4vUHJvY2Vzc0xhdW5jaGVyV2luLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL3dpbi9Qcm9jZXNzTGF1bmNoZXJXaW4uY3BwCmlu
ZGV4IDBmNzYwN2I1ZDE1YjU4NjBlODEyNzdiMTgzOTQ3Mjc0NjQ4ZjQ4YmQuLjU3N2U0NjljYWRl
MTExYmQxNDg0Y2M4MTQwYTRkMzQyZDU1ODdiNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0xhdW5jaGVyL3dpbi9Qcm9jZXNzTGF1bmNoZXJXaW4uY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL3dpbi9Qcm9jZXNzTGF1bmNoZXJXaW4uY3BwCkBA
IC0zNSw3ICszNSw3IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgY29uc3QgTFBD
V1NUUiBwcm9jZXNzTmFtZShQcm9jZXNzTGF1bmNoZXI6OlByb2Nlc3NUeXBlIHByb2Nlc3NUeXBl
KQorc3RhdGljIExQQ1dTVFIgcHJvY2Vzc05hbWUoUHJvY2Vzc0xhdW5jaGVyOjpQcm9jZXNzVHlw
ZSBwcm9jZXNzVHlwZSkKIHsKICAgICBzd2l0Y2ggKHByb2Nlc3NUeXBlKSB7CiAgICAgY2FzZSBQ
cm9jZXNzTGF1bmNoZXI6OlByb2Nlc3NUeXBlOjpXZWI6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXJQcm94eS5jcHAKaW5kZXggOTVmNTUzZGQyMjVlYmNhZjNkYjhmOWFkMDJiNTdhNDNhOGJjYmY4
My4uZTdiMzcwODRkOWIyMWM4NTc4YjE2NTgxN2RlMmRjOTYwM2UzNTM4ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcApAQCAtNDEsMTMgKzQxLDEzIEBAIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKIHN0YXRpYyBjb25zdCBN
ZWRpYVByb2R1Y2VyOjpNZWRpYVN0YXRlRmxhZ3MgYWN0aXZlQ2FwdHVyZU1hc2sgPSBNZWRpYVBy
b2R1Y2VyOjpIYXNBY3RpdmVBdWRpb0NhcHR1cmVEZXZpY2UgfCBNZWRpYVByb2R1Y2VyOjpIYXNB
Y3RpdmVWaWRlb0NhcHR1cmVEZXZpY2U7Ci0jZW5kaWYKIAogc3RhdGljIHVpbnQ2NF90IGdlbmVy
YXRlUmVxdWVzdElEKCkKIHsKICAgICBzdGF0aWMgdWludDY0X3QgdW5pcXVlUmVxdWVzdElEID0g
MTsKICAgICByZXR1cm4gdW5pcXVlUmVxdWVzdElEKys7CiB9CisjZW5kaWYKIAogVXNlck1lZGlh
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHk6OlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlclByb3h5KFdlYlBhZ2VQcm94eSYgcGFnZSkKICAgICA6IG1fcGFnZShwYWdlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYkluc3BlY3RvclByb3h5V2lu
LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJJbnNwZWN0b3JQcm94eVdpbi5j
cHAKaW5kZXggY2JmZTMwZTllMGJlODMyMTUxODE5NjM1NWY3Nzk4MDhiODI0ZjJmNi4uOTFjZmY2
MTliYjlhZjllM2FjNTRjM2IwNTY1MmUyYjMwZWUzZGI2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3Mvd2luL1dlYkluc3BlY3RvclByb3h5V2luLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViSW5zcGVjdG9yUHJveHlXaW4uY3BwCkBAIC0zMDEsOSAr
MzAxLDYgQEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1BdHRhY2goKQogICAgIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBtaW5pbXVtQXR0YWNoZWRXaWR0aCA9IDc1MDsKICAgICBzdGF0
aWMgY29uc3QgdW5zaWduZWQgbWluaW11bUF0dGFjaGVkSGVpZ2h0ID0gMjUwOwogCi0gICAgdW5z
aWduZWQgaW5zcGVjdGVkSGVpZ2h0ID0gcGxhdGZvcm1JbnNwZWN0ZWRXaW5kb3dIZWlnaHQoKTsK
LSAgICB1bnNpZ25lZCBpbnNwZWN0ZWRXaWR0aCA9IHBsYXRmb3JtSW5zcGVjdGVkV2luZG93V2lk
dGgoKTsKLQogICAgIGlmIChtX2luc3BlY3RvckRldGFjaFdpbmRvdyAmJiA6OkdldFBhcmVudCht
X2luc3BlY3RvclZpZXdXaW5kb3cpID09IG1faW5zcGVjdG9yRGV0YWNoV2luZG93KSB7CiAgICAg
ICAgIDo6U2V0UGFyZW50KG1faW5zcGVjdG9yVmlld1dpbmRvdywgbV9pbnNwZWN0ZWRWaWV3UGFy
ZW50V2luZG93KTsKICAgICAgICAgOjpTaG93V2luZG93KG1faW5zcGVjdG9yRGV0YWNoV2luZG93
LCBTV19ISURFKTsKQEAgLTMyNyw3ICszMjQsNiBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5Ojpw
bGF0Zm9ybURldGFjaCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmICghbV9pbnNwZWN0b3JE
ZXRhY2hXaW5kb3cpIHsKLSAgICAgICAgc3RhdGljIGJvb2wgaGF2ZVJlZ2lzdGVyZWRDbGFzcyA9
IGZhbHNlOwogICAgICAgICByZWdpc3RlcldpbmRvd0NsYXNzKCk7CiAgICAgICAgIG1faW5zcGVj
dG9yRGV0YWNoV2luZG93ID0gOjpDcmVhdGVXaW5kb3dFeCgwLCBXZWJJbnNwZWN0b3JQcm94eUNs
YXNzTmFtZSwgMCwgV1NfT1ZFUkxBUFBFRFdJTkRPVywKICAgICAgICAgICAgIENXX1VTRURFRkFV
TFQsIENXX1VTRURFRkFVTFQsIGluaXRpYWxXaW5kb3dXaWR0aCwgaW5pdGlhbFdpbmRvd0hlaWdo
dCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQ
cm94eVdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51UHJv
eHlXaW4uY3BwCmluZGV4IGEwZjk2M2QzNzc0MzE5OTY4ZTlmNGY2NTU0NGJkYjY0MDRmMTFmZGUu
Ljk4MGUwYjdiYjAxMjI3YTMyM2E2ZDQ1YTk1N2RhOGI5M2JkMjhiNzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcApAQCAt
NTAsOCArNTAsNiBAQCBzdGF0aWMgY29uc3QgTFBDV1NUUiBrV2ViS2l0MldlYlBvcHVwTWVudVBy
b3h5V2luZG93Q2xhc3NOYW1lID0gTCJXZWJLaXQyV2ViUG9wdQogc3RhdGljIGNvbnN0ZXhwciBp
bnQgZGVmYXVsdEFuaW1hdGlvbkR1cmF0aW9uID0gMjAwOwogc3RhdGljIGNvbnN0ZXhwciBpbnQg
bWF4UG9wdXBIZWlnaHQgPSAzMjA7CiBzdGF0aWMgY29uc3RleHByIGludCBwb3B1cFdpbmRvd0Jv
cmRlcldpZHRoID0gMTsKLXN0YXRpYyBjb25zdGV4cHIgaW50IHNlcGFyYXRvclBhZGRpbmcgPSA0
Owotc3RhdGljIGNvbnN0ZXhwciBpbnQgc2VwYXJhdG9ySGVpZ2h0ID0gMTsKIAogLy8gVGhpcyBp
cyB1c2VkIGZyb20gd2l0aGluIG91ciBjdXN0b20gbWVzc2FnZSBwdW1wIHdoZW4gd2Ugd2FudCB0
byBzZW5kIGEKIC8vIG1lc3NhZ2UgdG8gdGhlIHdlYiB2aWV3IGFuZCBub3QgaGF2ZSBvdXIgbWVz
c2FnZSBzdG9sZW4gYW5kIHNlbnQgdG8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
d2luL1dlYlBvcHVwTWVudVByb3h5V2luLmgKaW5kZXggMDI5MmQ5NmM5Mjg2MTJhY2MyOTE5Zjhj
YTdjZjVmZTIyM2Q4ZWU2ZS4uNDY5NGM0N2JiNzk5MDFiMDY2ODQ5Y2NiY2JiNDY0YzMyN2E0YzA4
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVBy
b3h5V2luLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVBy
b3h5V2luLmgKQEAgLTQ1LDggKzQ1LDggQEAgcHVibGljOgogICAgIH0KICAgICB+V2ViUG9wdXBN
ZW51UHJveHlXaW4oKTsKIAotICAgIHZpcnR1YWwgdm9pZCBzaG93UG9wdXBNZW51KGNvbnN0IFdl
YkNvcmU6OkludFJlY3QmLCBXZWJDb3JlOjpUZXh0RGlyZWN0aW9uLCBkb3VibGUgcGFnZVNjYWxl
RmFjdG9yLCBjb25zdCBWZWN0b3I8V2ViUG9wdXBJdGVtPiYsIGNvbnN0IFBsYXRmb3JtUG9wdXBN
ZW51RGF0YSYsIGludDMyX3Qgc2VsZWN0ZWRJbmRleCk7Ci0gICAgdmlydHVhbCB2b2lkIGhpZGVQ
b3B1cE1lbnUoKTsKKyAgICB2b2lkIHNob3dQb3B1cE1lbnUoY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYsIFdlYkNvcmU6OlRleHREaXJlY3Rpb24sIGRvdWJsZSBwYWdlU2NhbGVGYWN0b3IsIGNvbnN0
IFZlY3RvcjxXZWJQb3B1cEl0ZW0+JiwgY29uc3QgUGxhdGZvcm1Qb3B1cE1lbnVEYXRhJiwgaW50
MzJfdCBzZWxlY3RlZEluZGV4KSBvdmVycmlkZTsKKyAgICB2b2lkIGhpZGVQb3B1cE1lbnUoKSBv
dmVycmlkZTsKIAogICAgIGJvb2wgc2V0Rm9jdXNlZEluZGV4KGludCBpbmRleCwgYm9vbCBob3RU
cmFja2luZyA9IGZhbHNlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
d2luL1dlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3Bw
CmluZGV4IGY5Yjg4NWRjMWUyMzUyODgzYjRmNmEyMmVkODc1ZjM2MmVlODUwMzUuLjlkNjcxNmI1
OTJlZTYwZTI3ZmQ1ODZmOGQwYTdjYjc1ZGI5YjljNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy93aW4vV2ViVmlldy5jcHAKQEAgLTQ3NCwxMCArNDc0LDggQEAgdm9pZCBXZWJWaWV3OjpwYWlu
dChIREMgaGRjLCBjb25zdCBJbnRSZWN0JiBkaXJ0eVJlY3QpCiAgICAgICAgIGNhaXJvX3N1cmZh
Y2VfZGVzdHJveShzdXJmYWNlKTsKIAogICAgICAgICBWZWN0b3I8SW50UmVjdD4gdW5wYWludGVk
UmVjdHMgPSB1bnBhaW50ZWRSZWdpb24ucmVjdHMoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCB1bnBhaW50ZWRSZWN0cy5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgUkVDVCB3
aW5SZWN0ID0gdW5wYWludGVkUmVjdHNbaV07CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBp
IDwgdW5wYWludGVkUmVjdHMuc2l6ZSgpOyArK2kpCiAgICAgICAgICAgICBkcmF3UGFnZUJhY2tn
cm91bmQoaGRjLCBtX3BhZ2UuZ2V0KCksIHVucGFpbnRlZFJlY3RzW2ldKTsKLSAgICAgICAgfQog
ICAgIH0gZWxzZQogICAgICAgICBkcmF3UGFnZUJhY2tncm91bmQoaGRjLCBtX3BhZ2UuZ2V0KCks
IGRpcnR5UmVjdCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvY3VybC9XZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0LmggYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvY3VybC9XZWJGcmFtZU5ldHdvcmtpbmdDb250
ZXh0LmgKaW5kZXggZjgzMGU2ODdjYjRmNTg2M2M3NzNkOGJjNGRkNGJjYTQ4YzUwODNmNS4uZjQw
YzVlODU3MmVmZjc2NWU3MjdmODI4ZGI0MzY0NjY4ZGEwMjI5OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2N1cmwvV2ViRnJhbWVOZXR3b3JraW5n
Q29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9j
dXJsL1dlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaApAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6
CiAgICAgV2ViRnJhbWVMb2FkZXJDbGllbnQqIHdlYkZyYW1lTG9hZGVyQ2xpZW50KCkgY29uc3Q7
CiAKICNpZiBQTEFURk9STShXSU4pCi0gICAgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBibG9ja2Vk
RXJyb3IoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JikgY29uc3Q7CisgICAgV2ViQ29y
ZTo6UmVzb3VyY2VFcnJvciBibG9ja2VkRXJyb3IoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JikgY29uc3Qgb3ZlcnJpZGU7CiAjZW5kaWYKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC93aW4vV2ViUG9wdXBNZW51V2lu
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC93aW4vV2ViUG9w
dXBNZW51V2luLmNwcAppbmRleCBlNGI3Y2QwMDBiMDc1MjBkMDZmN2NlNjFkNDQ0ZWI4NTVjZGM2
MGMxLi4zYzFlYTA2NDg3M2M0NTEzNTI4MTY0NzNhMGFkMjIyNjA4Mjk3YmM3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvd2luL1dlYlBvcHVwTWVu
dVdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3dp
bi9XZWJQb3B1cE1lbnVXaW4uY3BwCkBAIC0xMTEsNyArMTExLDYgQEAgdm9pZCBXZWJQb3B1cE1l
bnU6OnNldFVwUGxhdGZvcm1EYXRhKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHBhZ2VDb29yZGlu
YXRlcywgUGwKIAogICAgICAgICBTdHJpbmcgaXRlbVRleHQgPSBtX3BvcHVwQ2xpZW50LT5pdGVt
VGV4dChpbmRleCk7CiAKLSAgICAgICAgVGV4dERpcmVjdGlvbiBkaXJlY3Rpb24gPSBpdGVtVGV4
dC5kZWZhdWx0V3JpdGluZ0RpcmVjdGlvbigpID09IFVfUklHSFRfVE9fTEVGVCA/IFRleHREaXJl
Y3Rpb246OlJUTCA6IFRleHREaXJlY3Rpb246OkxUUjsKICAgICAgICAgVGV4dFJ1biB0ZXh0UnVu
KGl0ZW1UZXh0LCAwLCAwLCBBbGxvd1RyYWlsaW5nRXhwYW5zaW9uLCBpdGVtU3R5bGUudGV4dERp
cmVjdGlvbigpLCBpdGVtU3R5bGUuaGFzVGV4dERpcmVjdGlvbk92ZXJyaWRlKCkpOwogCiAgICAg
ICAgIG5vdFNlbGVjdGVkQmFja2luZ1N0b3JlQ29udGV4dC0+c2V0RmlsbENvbG9yKG9wdGlvblRl
eHRDb2xvcik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357426</attachid>
            <date>2018-12-16 20:53:19 -0800</date>
            <delta_ts>2018-12-18 20:31:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192695-20181217135318.patch</filename>
            <type>text/plain</type>
            <size>12803</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MjYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcxZTE1MmUxMGU3NDM1Mzc0
YmI1YjU5NzdkNDM3ZTZkYjc5YTYyYTMuLjM4NWMxYjA2NmYyYzUzZjlhZDliNmZjMzEyMDhhNmMw
N2FlNGNmOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTgtMTItMTYgIEZ1amlpIEhp
cm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CisKKyAgICAgICAgW1dpbl1bQ2xhbmdd
IEZpeCBjb21waWxhdGlvbiB3YXJuaW5ncyB1bmRlciBTb3VyY2UvV2ViS2l0IGRpcmVjdG9yeQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyNjk1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVEYXRhLmNwcDoKKyAgICAgICAgKG1ha2VTYWx0KTog
RW5jbG9zZWQgYnkgI2lmICFPUyhXSU5ET1dTKS4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVGaWxlU3lzdGVtLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29y
a0NhY2hlOjpkaXJlY3RvcnlFbnRyeVR5cGUpOiBEaXR0by4KKyAgICAgICAgKiBQbGF0Zm9ybS93
aW4vTW9kdWxlV2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TW9kdWxlOjpwbGF0Zm9ybUZ1bmN0
aW9uUG9pbnRlciBjb25zdCk6IENhc3QgYSBmdW5jdGlvbiBwb2ludGVyIHdpdGggcmVpbnRlcnBy
ZXRfY2FzdDx2b2lkKj4oKS4KKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUlt
cGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5SW1wbDo6RHJhd2luZ01v
bml0b3I6OkRyYXdpbmdNb25pdG9yKToKKyAgICAgICAgTW92ZWQgdGhlIGluaXRpYWxpemVyIG9m
IG1fd2ViUGFnZSBpbiBvcmRlciB0byBiZSBlbmNsdWRlZCBieSAjaWYgUExBVEZPUk0oR1RLKS4K
KyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaDogRGl0dG8uCisgICAg
ICAgICogVUlQcm9jZXNzL0xhdW5jaGVyL3dpbi9Qcm9jZXNzTGF1bmNoZXJXaW4uY3BwOgorICAg
ICAgICAoV2ViS2l0Ojpwcm9jZXNzTmFtZSk6IFJlbW92ZWQgdGhlIGR1cGxpY2F0ZWQgJ2NvbnN0
JyB0eXBlIHF1YWxpZmllci4KKyAgICAgICAgKiBVSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwOgorICAgICAgICAoZ2VuZXJhdGVSZXF1ZXN0SUQpOiBF
bmNsb3NlZCBieSAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkuCisgICAgICAgICogVUlQcm9jZXNz
L3dpbi9XZWJJbnNwZWN0b3JQcm94eVdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3Bl
Y3RvclByb3h5OjpwbGF0Zm9ybUF0dGFjaCk6IFJlbW92ZWQgYW4gdW51c2VkIHZhcmlhYmxlLgor
ICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1EZXRhY2gpOiBEaXR0
by4KKyAgICAgICAgKiBVSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcDogRGl0
dG8uCisgICAgICAgICogVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViVmlldzo6cGFpbnQpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6V2ViUG9wdXBNZW51
OjpzZXRVcFBsYXRmb3JtRGF0YSk6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2Vi
UG9wdXBNZW51UHJveHlXaW4uaDogTWFya2VkIG92ZXJyaWRlIG1ldGhvZHMgd2l0aCAnb3ZlcnJp
ZGUnLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvY3VybC9XZWJGcmFtZU5l
dHdvcmtpbmdDb250ZXh0Lmg6IERpdHRvLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvd2luL1dlYlBvcHVwTWVudVdpbi5jcHA6IFJlbW92ZWQgYW4gdW51c2VkIHZhcmlhYmxl
LgorCiAyMDE4LTEyLTE2ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgQVg6IFN1cHBvcnQga2V5Ym9hcmQgYWNjZXNzIHByZWZlcmVuY2UgZm9yIGlPUyBp
biBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlRGF0YS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZURhdGEuY3BwCmluZGV4IGE2ZTM3YmU0OTEyODU2NDA5MWFmYjU0MjA4M2I3
NTVlNzEwYWYxMDEuLjU2NDQ3ZTRlNGY0M2MyZjE2MzNjY2FkNzllY2U2MzUxZWJmYTQ3OTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hl
RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVEYXRhLmNwcApAQCAtMTQyLDYgKzE0Miw3IEBAIGJvb2wgYnl0ZXNFcXVhbChjb25zdCBE
YXRhJiBhLCBjb25zdCBEYXRhJiBiKQogICAgIHJldHVybiAhbWVtY21wKGEuZGF0YSgpLCBiLmRh
dGEoKSwgYS5zaXplKCkpOwogfQogCisjaWYgIU9TKFdJTkRPV1MpCiBzdGF0aWMgU2FsdCBtYWtl
U2FsdCgpCiB7CiAgICAgU2FsdCBzYWx0OwpAQCAtMTUwLDYgKzE1MSw3IEBAIHN0YXRpYyBTYWx0
IG1ha2VTYWx0KCkKICAgICAqcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+KCZzYWx0WzRdKSA9
IGNyeXB0b2dyYXBoaWNhbGx5UmFuZG9tTnVtYmVyKCk7CiAgICAgcmV0dXJuIHNhbHQ7CiB9Cisj
ZW5kaWYKIAogc3RkOjpvcHRpb25hbDxTYWx0PiByZWFkT3JNYWtlU2FsdChjb25zdCBTdHJpbmcm
IHBhdGgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZUZpbGVTeXN0ZW0uY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9OZXR3b3JrQ2FjaGVGaWxlU3lzdGVtLmNwcAppbmRleCA0NWNmMjZhYjlkMmE3MmZj
MzNiM2UzNjhmYTJmNThmZTQ1YWRmYTJmLi4yNWJlZjdmOTJlOGViMzY2YTk0ZjRiY2QzNzk4M2Ix
NmE5ZGUzNTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L05ldHdvcmtDYWNoZUZpbGVTeXN0ZW0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbS5jcHAKQEAgLTUxLDkgKzUxLDkgQEAK
IG5hbWVzcGFjZSBXZWJLaXQgewogbmFtZXNwYWNlIE5ldHdvcmtDYWNoZSB7CiAKKyNpZiAhT1Mo
V0lORE9XUykKIHN0YXRpYyBEaXJlY3RvcnlFbnRyeVR5cGUgZGlyZWN0b3J5RW50cnlUeXBlKHVp
bnQ4X3QgZHR5cGUpCiB7Ci0jaWYgIU9TKFdJTkRPV1MpCiAgICAgc3dpdGNoIChkdHlwZSkgewog
ICAgIGNhc2UgRFRfRElSOgogICAgICAgICByZXR1cm4gRGlyZWN0b3J5RW50cnlUeXBlOjpEaXJl
Y3Rvcnk7CkBAIC02MywxMCArNjMsOSBAQCBzdGF0aWMgRGlyZWN0b3J5RW50cnlUeXBlIGRpcmVj
dG9yeUVudHJ5VHlwZSh1aW50OF90IGR0eXBlKQogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKICAgICAgICAgcmV0dXJuIERpcmVjdG9yeUVudHJ5VHlwZTo6RmlsZTsKICAgICB9Ci0jZWxz
ZQogICAgIHJldHVybiBEaXJlY3RvcnlFbnRyeVR5cGU6OkZpbGU7Ci0jZW5kaWYKIH0KKyNlbmRp
ZgogCiB2b2lkIHRyYXZlcnNlRGlyZWN0b3J5KGNvbnN0IFN0cmluZyYgcGF0aCwgY29uc3QgRnVu
Y3Rpb248dm9pZCAoY29uc3QgU3RyaW5nJiwgRGlyZWN0b3J5RW50cnlUeXBlKT4mIGZ1bmN0aW9u
KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS93aW4vTW9kdWxlV2luLmNw
cCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vd2luL01vZHVsZVdpbi5jcHAKaW5kZXggZmVmYmMy
Njg1OGQzNjNlNjViYzY1ZjA4YTUzN2E2NThmM2EyNmNiMi4uN2I2NWQ3Nzg2OTE2NjJmZGI1ZmY2
MGQ3MzY4OWQyY2VjYzliMzJmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS93
aW4vTW9kdWxlV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3dpbi9Nb2R1bGVX
aW4uY3BwCkBAIC01MSw3ICs1MSw4IEBAIHZvaWQqIE1vZHVsZTo6cGxhdGZvcm1GdW5jdGlvblBv
aW50ZXIoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lKSBjb25zdAogewogICAgIGlmICghbV9tb2R1
bGUpCiAgICAgICAgIHJldHVybiAwOwotICAgIHJldHVybiA6OkdldFByb2NBZGRyZXNzKG1fbW9k
dWxlLCBmdW5jdGlvbk5hbWUpOworICAgIGF1dG8gcHJvYyA9IDo6R2V0UHJvY0FkZHJlc3MobV9t
b2R1bGUsIGZ1bmN0aW9uTmFtZSk7CisgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+
KHByb2MpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3
aW5nQXJlYVByb3h5SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3aW5nQXJl
YVByb3h5SW1wbC5jcHAKaW5kZXggNTczZDMyYTVkMmM3MWUyOGIyYmQ1MWJmM2VmZTU4NDAwYmI0
ZGEwMi4uOTA3MGI1YWZiNWFiNDgxM2JiMmRjM2QzYmZhYmYyZGE2Nzg0NzFkOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcApAQCAtMjAw
LDggKzIwMCwxMCBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlJbXBsOjpkaXNjYXJkQmFja2luZ1N0
b3JlKCkKIH0KIAogRHJhd2luZ0FyZWFQcm94eUltcGw6OkRyYXdpbmdNb25pdG9yOjpEcmF3aW5n
TW9uaXRvcihXZWJQYWdlUHJveHkmIHdlYlBhZ2UpCi0gICAgOiBtX3dlYlBhZ2Uod2ViUGFnZSkK
LSAgICAsIG1fdGltZXIoUnVuTG9vcDo6bWFpbigpLCB0aGlzLCAmRHJhd2luZ01vbml0b3I6OnN0
b3ApCisgICAgOiBtX3RpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJkRyYXdpbmdNb25pdG9y
OjpzdG9wKQorI2lmIFBMQVRGT1JNKEdUSykKKyAgICAsIG1fd2ViUGFnZSh3ZWJQYWdlKQorI2Vu
ZGlmCiB7CiAjaWYgVVNFKEdMSUJfRVZFTlRfTE9PUCkKICAgICAvLyBHaXZlIHJlZHJhd3MgbW9y
ZSBwcmlvcml0eS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdB
cmVhUHJveHlJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5
SW1wbC5oCmluZGV4IDk2NjUyMjUyZWEzYWE0NTNlYjQ4MTg4ZDA2MDEyZGVlN2NiZjNjM2UuLjBh
Zjc3N2ZjZTQ0MDdkMjM2MWRhZDNmYmRmZmU3NmExYmJjMzdiODkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaApAQCAtNzYsMTAgKzc2LDEyIEBA
IHByaXZhdGU6CiAgICAgICAgIHZvaWQgc3RvcCgpOwogICAgICAgICB2b2lkIGRpZERyYXcoKTsK
IAotICAgICAgICBXZWJQYWdlUHJveHkmIG1fd2ViUGFnZTsKICAgICAgICAgTW9ub3RvbmljVGlt
ZSBtX3N0YXJ0VGltZTsKICAgICAgICAgV1RGOjpGdW5jdGlvbjx2b2lkIChDYWxsYmFja0Jhc2U6
OkVycm9yKT4gbV9jYWxsYmFjazsKICAgICAgICAgUnVuTG9vcDo6VGltZXI8RHJhd2luZ01vbml0
b3I+IG1fdGltZXI7CisjaWYgUExBVEZPUk0oR1RLKQorICAgICAgICBXZWJQYWdlUHJveHkmIG1f
d2ViUGFnZTsKKyNlbmRpZgogICAgIH07CiAKICAgICBib29sIG1faXNCYWNraW5nU3RvcmVEaXNj
YXJkYWJsZSB7IHRydWUgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xh
dW5jaGVyL3dpbi9Qcm9jZXNzTGF1bmNoZXJXaW4uY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvTGF1bmNoZXIvd2luL1Byb2Nlc3NMYXVuY2hlcldpbi5jcHAKaW5kZXggMGY3NjA3YjVkMTVi
NTg2MGU4MTI3N2IxODM5NDcyNzQ2NDhmNDhiZC4uNTc3ZTQ2OWNhZGUxMTFiZDE0ODRjYzgxNDBh
NGQzNDJkNTU4N2I2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNo
ZXIvd2luL1Byb2Nlc3NMYXVuY2hlcldpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvTGF1bmNoZXIvd2luL1Byb2Nlc3NMYXVuY2hlcldpbi5jcHAKQEAgLTM1LDcgKzM1LDcgQEAK
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBjb25zdCBMUENXU1RSIHByb2Nlc3NOYW1l
KFByb2Nlc3NMYXVuY2hlcjo6UHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGUpCitzdGF0aWMgTFBDV1NU
UiBwcm9jZXNzTmFtZShQcm9jZXNzTGF1bmNoZXI6OlByb2Nlc3NUeXBlIHByb2Nlc3NUeXBlKQog
ewogICAgIHN3aXRjaCAocHJvY2Vzc1R5cGUpIHsKICAgICBjYXNlIFByb2Nlc3NMYXVuY2hlcjo6
UHJvY2Vzc1R5cGU6OldlYjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1Vz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcAppbmRl
eCA5NWY1NTNkZDIyNWViY2FmM2RiOGY5YWQwMmI1N2E0M2E4YmNiZjgzLi5lN2IzNzA4NGQ5YjIx
Yzg1NzhiMTY1ODE3ZGUyZGM5NjAzZTM1MzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2Vy
UHJveHkuY3BwCkBAIC00MSwxMyArNDEsMTMgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
ICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogc3RhdGljIGNvbnN0IE1lZGlhUHJvZHVjZXI6Ok1l
ZGlhU3RhdGVGbGFncyBhY3RpdmVDYXB0dXJlTWFzayA9IE1lZGlhUHJvZHVjZXI6Okhhc0FjdGl2
ZUF1ZGlvQ2FwdHVyZURldmljZSB8IE1lZGlhUHJvZHVjZXI6Okhhc0FjdGl2ZVZpZGVvQ2FwdHVy
ZURldmljZTsKLSNlbmRpZgogCiBzdGF0aWMgdWludDY0X3QgZ2VuZXJhdGVSZXF1ZXN0SUQoKQog
ewogICAgIHN0YXRpYyB1aW50NjRfdCB1bmlxdWVSZXF1ZXN0SUQgPSAxOwogICAgIHJldHVybiB1
bmlxdWVSZXF1ZXN0SUQrKzsKIH0KKyNlbmRpZgogCiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dE1hbmFnZXJQcm94eTo6VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkoV2Vi
UGFnZVByb3h5JiBwYWdlKQogICAgIDogbV9wYWdlKHBhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViSW5zcGVjdG9yUHJveHlXaW4uY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3Mvd2luL1dlYkluc3BlY3RvclByb3h5V2luLmNwcAppbmRleCBjYmZlMzBl
OWUwYmU4MzIxNTE4MTk2MzU1Zjc3OTgwOGI4MjRmMmY2Li45MWNmZjYxOWJiOWFmOWUzYWM1NGMz
YjA1NjUyZTJiMzBlZTNkYjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93
aW4vV2ViSW5zcGVjdG9yUHJveHlXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L3dpbi9XZWJJbnNwZWN0b3JQcm94eVdpbi5jcHAKQEAgLTMwMSw5ICszMDEsNiBAQCB2b2lkIFdl
Ykluc3BlY3RvclByb3h5OjpwbGF0Zm9ybUF0dGFjaCgpCiAgICAgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIG1pbmltdW1BdHRhY2hlZFdpZHRoID0gNzUwOwogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25l
ZCBtaW5pbXVtQXR0YWNoZWRIZWlnaHQgPSAyNTA7CiAKLSAgICB1bnNpZ25lZCBpbnNwZWN0ZWRI
ZWlnaHQgPSBwbGF0Zm9ybUluc3BlY3RlZFdpbmRvd0hlaWdodCgpOwotICAgIHVuc2lnbmVkIGlu
c3BlY3RlZFdpZHRoID0gcGxhdGZvcm1JbnNwZWN0ZWRXaW5kb3dXaWR0aCgpOwotCiAgICAgaWYg
KG1faW5zcGVjdG9yRGV0YWNoV2luZG93ICYmIDo6R2V0UGFyZW50KG1faW5zcGVjdG9yVmlld1dp
bmRvdykgPT0gbV9pbnNwZWN0b3JEZXRhY2hXaW5kb3cpIHsKICAgICAgICAgOjpTZXRQYXJlbnQo
bV9pbnNwZWN0b3JWaWV3V2luZG93LCBtX2luc3BlY3RlZFZpZXdQYXJlbnRXaW5kb3cpOwogICAg
ICAgICA6OlNob3dXaW5kb3cobV9pbnNwZWN0b3JEZXRhY2hXaW5kb3csIFNXX0hJREUpOwpAQCAt
MzI3LDcgKzMyNCw2IEBAIHZvaWQgV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtRGV0YWNoKCkK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFtX2luc3BlY3RvckRldGFjaFdpbmRvdykgewot
ICAgICAgICBzdGF0aWMgYm9vbCBoYXZlUmVnaXN0ZXJlZENsYXNzID0gZmFsc2U7CiAgICAgICAg
IHJlZ2lzdGVyV2luZG93Q2xhc3MoKTsKICAgICAgICAgbV9pbnNwZWN0b3JEZXRhY2hXaW5kb3cg
PSA6OkNyZWF0ZVdpbmRvd0V4KDAsIFdlYkluc3BlY3RvclByb3h5Q2xhc3NOYW1lLCAwLCBXU19P
VkVSTEFQUEVEV0lORE9XLAogICAgICAgICAgICAgQ1dfVVNFREVGQVVMVCwgQ1dfVVNFREVGQVVM
VCwgaW5pdGlhbFdpbmRvd1dpZHRoLCBpbml0aWFsV2luZG93SGVpZ2h0LApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5jcHAKaW5kZXgg
YTBmOTYzZDM3NzQzMTk5NjhlOWY0ZjY1NTQ0YmRiNjQwNGYxMWZkZS4uOTgwZTBiN2JiMDEyMjdh
MzIzYTZkNDVhOTU3ZGE4YjkzYmQyOGI3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51UHJveHlXaW4uY3BwCkBAIC01MCw4ICs1MCw2IEBAIHN0
YXRpYyBjb25zdCBMUENXU1RSIGtXZWJLaXQyV2ViUG9wdXBNZW51UHJveHlXaW5kb3dDbGFzc05h
bWUgPSBMIldlYktpdDJXZWJQb3B1CiBzdGF0aWMgY29uc3RleHByIGludCBkZWZhdWx0QW5pbWF0
aW9uRHVyYXRpb24gPSAyMDA7CiBzdGF0aWMgY29uc3RleHByIGludCBtYXhQb3B1cEhlaWdodCA9
IDMyMDsKIHN0YXRpYyBjb25zdGV4cHIgaW50IHBvcHVwV2luZG93Qm9yZGVyV2lkdGggPSAxOwot
c3RhdGljIGNvbnN0ZXhwciBpbnQgc2VwYXJhdG9yUGFkZGluZyA9IDQ7Ci1zdGF0aWMgY29uc3Rl
eHByIGludCBzZXBhcmF0b3JIZWlnaHQgPSAxOwogCiAvLyBUaGlzIGlzIHVzZWQgZnJvbSB3aXRo
aW4gb3VyIGN1c3RvbSBtZXNzYWdlIHB1bXAgd2hlbiB3ZSB3YW50IHRvIHNlbmQgYQogLy8gbWVz
c2FnZSB0byB0aGUgd2ViIHZpZXcgYW5kIG5vdCBoYXZlIG91ciBtZXNzYWdlIHN0b2xlbiBhbmQg
c2VudCB0bwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlBvcHVw
TWVudVByb3h5V2luLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51
UHJveHlXaW4uaAppbmRleCAwMjkyZDk2YzkyODYxMmFjYzI5MTlmOGNhN2NmNWZlMjIzZDhlZTZl
Li40Njk0YzQ3YmI3OTkwMWIwNjY4NDljY2JjYmI0NjRjMzI3YTRjMDg5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51UHJveHlXaW4uaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51UHJveHlXaW4uaApAQCAtNDUs
OCArNDUsOCBAQCBwdWJsaWM6CiAgICAgfQogICAgIH5XZWJQb3B1cE1lbnVQcm94eVdpbigpOwog
Ci0gICAgdmlydHVhbCB2b2lkIHNob3dQb3B1cE1lbnUoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYs
IFdlYkNvcmU6OlRleHREaXJlY3Rpb24sIGRvdWJsZSBwYWdlU2NhbGVGYWN0b3IsIGNvbnN0IFZl
Y3RvcjxXZWJQb3B1cEl0ZW0+JiwgY29uc3QgUGxhdGZvcm1Qb3B1cE1lbnVEYXRhJiwgaW50MzJf
dCBzZWxlY3RlZEluZGV4KTsKLSAgICB2aXJ0dWFsIHZvaWQgaGlkZVBvcHVwTWVudSgpOworICAg
IHZvaWQgc2hvd1BvcHVwTWVudShjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgV2ViQ29yZTo6VGV4
dERpcmVjdGlvbiwgZG91YmxlIHBhZ2VTY2FsZUZhY3RvciwgY29uc3QgVmVjdG9yPFdlYlBvcHVw
SXRlbT4mLCBjb25zdCBQbGF0Zm9ybVBvcHVwTWVudURhdGEmLCBpbnQzMl90IHNlbGVjdGVkSW5k
ZXgpIG92ZXJyaWRlOworICAgIHZvaWQgaGlkZVBvcHVwTWVudSgpIG92ZXJyaWRlOwogCiAgICAg
Ym9vbCBzZXRGb2N1c2VkSW5kZXgoaW50IGluZGV4LCBib29sIGhvdFRyYWNraW5nID0gZmFsc2Up
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViVmlldy5jcHAKaW5kZXggZjliODg1ZGMx
ZTIzNTI4ODNiNGY2YTIyZWQ4NzVmMzYyZWU4NTAzNS4uZWY3OTE5YzcyMGZlNzE3YjU5MDkxOWJi
ODViNDU4MTg1YmE1MGZiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2lu
L1dlYlZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJWaWV3LmNw
cApAQCAtNDc0LDEwICs0NzQsOCBAQCB2b2lkIFdlYlZpZXc6OnBhaW50KEhEQyBoZGMsIGNvbnN0
IEludFJlY3QmIGRpcnR5UmVjdCkKICAgICAgICAgY2Fpcm9fc3VyZmFjZV9kZXN0cm95KHN1cmZh
Y2UpOwogCiAgICAgICAgIFZlY3RvcjxJbnRSZWN0PiB1bnBhaW50ZWRSZWN0cyA9IHVucGFpbnRl
ZFJlZ2lvbi5yZWN0cygpOwotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHVucGFpbnRl
ZFJlY3RzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBSRUNUIHdpblJlY3QgPSB1bnBhaW50
ZWRSZWN0c1tpXTsKLSAgICAgICAgICAgIGRyYXdQYWdlQmFja2dyb3VuZChoZGMsIG1fcGFnZS5n
ZXQoKSwgdW5wYWludGVkUmVjdHNbaV0pOwotICAgICAgICB9CisgICAgICAgIGZvciAoYXV0byYg
cmVjdCA6IHVucGFpbnRlZFJlY3RzKQorICAgICAgICAgICAgZHJhd1BhZ2VCYWNrZ3JvdW5kKGhk
YywgbV9wYWdlLmdldCgpLCByZWN0KTsKICAgICB9IGVsc2UKICAgICAgICAgZHJhd1BhZ2VCYWNr
Z3JvdW5kKGhkYywgbV9wYWdlLmdldCgpLCBkaXJ0eVJlY3QpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2N1cmwvV2ViRnJhbWVOZXR3b3Jr
aW5nQ29udGV4dC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2N1
cmwvV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5oCmluZGV4IGY4MzBlNjg3Y2I0ZjU4NjNjNzcz
ZDhiYzRkZDRiY2E0OGM1MDgzZjUuLmY0MGM1ZTg1NzJlZmY3NjVlNzI3ZjgyOGRiNDM2NDY2OGRh
MDIyOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9jdXJsL1dlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvY3VybC9XZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0LmgK
QEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIFdlYkZyYW1lTG9hZGVyQ2xpZW50KiB3ZWJG
cmFtZUxvYWRlckNsaWVudCgpIGNvbnN0OwogCiAjaWYgUExBVEZPUk0oV0lOKQotICAgIFdlYkNv
cmU6OlJlc291cmNlRXJyb3IgYmxvY2tlZEVycm9yKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCYpIGNvbnN0OworICAgIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgYmxvY2tlZEVycm9yKGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCiAK
IHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvd2luL1dlYlBvcHVwTWVudVdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvd2luL1dlYlBvcHVwTWVudVdpbi5jcHAKaW5kZXggZTRiN2NkMDAwYjA3
NTIwZDA2ZjdjZTYxZDQ0NGViODU1Y2RjNjBjMS4uM2MxZWEwNjQ4NzNjNDUxMzUyODE2NDczYTBh
ZDIyMjYwODI5N2JjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L3dpbi9XZWJQb3B1cE1lbnVXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC93aW4vV2ViUG9wdXBNZW51V2luLmNwcApAQCAtMTExLDcg
KzExMSw2IEBAIHZvaWQgV2ViUG9wdXBNZW51OjpzZXRVcFBsYXRmb3JtRGF0YShjb25zdCBXZWJD
b3JlOjpJbnRSZWN0JiBwYWdlQ29vcmRpbmF0ZXMsIFBsCiAKICAgICAgICAgU3RyaW5nIGl0ZW1U
ZXh0ID0gbV9wb3B1cENsaWVudC0+aXRlbVRleHQoaW5kZXgpOwogCi0gICAgICAgIFRleHREaXJl
Y3Rpb24gZGlyZWN0aW9uID0gaXRlbVRleHQuZGVmYXVsdFdyaXRpbmdEaXJlY3Rpb24oKSA9PSBV
X1JJR0hUX1RPX0xFRlQgPyBUZXh0RGlyZWN0aW9uOjpSVEwgOiBUZXh0RGlyZWN0aW9uOjpMVFI7
CiAgICAgICAgIFRleHRSdW4gdGV4dFJ1bihpdGVtVGV4dCwgMCwgMCwgQWxsb3dUcmFpbGluZ0V4
cGFuc2lvbiwgaXRlbVN0eWxlLnRleHREaXJlY3Rpb24oKSwgaXRlbVN0eWxlLmhhc1RleHREaXJl
Y3Rpb25PdmVycmlkZSgpKTsKIAogICAgICAgICBub3RTZWxlY3RlZEJhY2tpbmdTdG9yZUNvbnRl
eHQtPnNldEZpbGxDb2xvcihvcHRpb25UZXh0Q29sb3IpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357648</attachid>
            <date>2018-12-18 20:31:48 -0800</date>
            <delta_ts>2018-12-18 20:31:48 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-192695-20181219133147.patch</filename>
            <type>text/plain</type>
            <size>11844</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MzY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGIyNTI3ZjQxY2Y3OTFjMmI5
YjgxNzM0NDYyNDJmZjcxNmE0MzFlNzcuLjdkMTk2YmIxZDVlMGE0MDY5MjdjNjhjZjc3MTkxYzky
NzE4NjhjNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTgtMTItMTggIEZ1amlpIEhp
cm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CisKKyAgICAgICAgW1dpbl1bQ2xhbmdd
IEZpeCBjb21waWxhdGlvbiB3YXJuaW5ncyB1bmRlciBTb3VyY2UvV2ViS2l0IGRpcmVjdG9yeQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyNjk1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZURhdGEuY3BwOgorICAgICAgICAobWFrZVNhbHQp
OiBFbmNsb3NlZCBieSAjaWYgIU9TKFdJTkRPV1MpLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZUZpbGVTeXN0ZW0uY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3
b3JrQ2FjaGU6OmRpcmVjdG9yeUVudHJ5VHlwZSk6IERpdHRvLgorICAgICAgICAqIFBsYXRmb3Jt
L3dpbi9Nb2R1bGVXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpNb2R1bGU6OnBsYXRmb3JtRnVu
Y3Rpb25Qb2ludGVyIGNvbnN0KTogQ2FzdCBhIGZ1bmN0aW9uIHBvaW50ZXIgd2l0aCByZWludGVy
cHJldF9jYXN0PHZvaWQqPigpLgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5
SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHlJbXBsOjpEcmF3aW5n
TW9uaXRvcjo6RHJhd2luZ01vbml0b3IpOgorICAgICAgICBNb3ZlZCB0aGUgaW5pdGlhbGl6ZXIg
b2YgbV93ZWJQYWdlIGluIG9yZGVyIHRvIGJlIGVuY2x1ZGVkIGJ5ICNpZiBQTEFURk9STShHVEsp
LgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5SW1wbC5oOiBEaXR0by4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvTGF1bmNoZXIvd2luL1Byb2Nlc3NMYXVuY2hlcldpbi5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OnByb2Nlc3NOYW1lKTogUmVtb3ZlZCB0aGUgZHVwbGljYXRlZCAnY29u
c3QnIHR5cGUgcXVhbGlmaWVyLgorICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2ViSW5zcGVjdG9y
UHJveHlXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZv
cm1BdHRhY2gpOiBSZW1vdmVkIGFuIHVudXNlZCB2YXJpYWJsZS4KKyAgICAgICAgKFdlYktpdDo6
V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtRGV0YWNoKTogRGl0dG8uCisgICAgICAgICogVUlQ
cm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5jcHA6IERpdHRvLgorICAgICAgICAqIFVJ
UHJvY2Vzcy93aW4vV2ViVmlldy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OnBhaW50
KTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OldlYlBvcHVwTWVudTo6c2V0VXBQbGF0Zm9ybURh
dGEpOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2lu
Lmg6IE1hcmtlZCBvdmVycmlkZSBtZXRob2RzIHdpdGggJ292ZXJyaWRlJy4KKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2N1cmwvV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5o
OiBEaXR0by4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3dpbi9XZWJQb3B1
cE1lbnVXaW4uY3BwOiBSZW1vdmVkIGFuIHVudXNlZCB2YXJpYWJsZS4KKwogMjAxOC0xMi0xOCAg
V2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbbWFjT1Nd
IGZhc3QvZm9ybXMvZGF0YWxpc3QvZGF0YWxpc3QtdGV4dGlucHV0LXN1Z2dlc3Rpb25zLW9yZGVy
Lmh0bWwgc29tZXRpbWVzIGNyYXNoZXMgYWZ0ZXIgcjIzOTMzNwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVEYXRhLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRGF0YS5jcHAKaW5kZXgg
YTZlMzdiZTQ5MTI4NTY0MDkxYWZiNTQyMDgzYjc1NWU3MTBhZjEwMS4uNTY0NDdlNGU0ZjQzYzJm
MTYzM2NjYWQ3OWVjZTYzNTFlYmZhNDc5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZURhdGEuY3BwCkBAIC0xNDIsNiArMTQy
LDcgQEAgYm9vbCBieXRlc0VxdWFsKGNvbnN0IERhdGEmIGEsIGNvbnN0IERhdGEmIGIpCiAgICAg
cmV0dXJuICFtZW1jbXAoYS5kYXRhKCksIGIuZGF0YSgpLCBhLnNpemUoKSk7CiB9CiAKKyNpZiAh
T1MoV0lORE9XUykKIHN0YXRpYyBTYWx0IG1ha2VTYWx0KCkKIHsKICAgICBTYWx0IHNhbHQ7CkBA
IC0xNTAsNiArMTUxLDcgQEAgc3RhdGljIFNhbHQgbWFrZVNhbHQoKQogICAgICpyZWludGVycHJl
dF9jYXN0PHVpbnQzMl90Kj4oJnNhbHRbNF0pID0gY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21OdW1i
ZXIoKTsKICAgICByZXR1cm4gc2FsdDsKIH0KKyNlbmRpZgogCiBzdGQ6Om9wdGlvbmFsPFNhbHQ+
IHJlYWRPck1ha2VTYWx0KGNvbnN0IFN0cmluZyYgcGF0aCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUZpbGVTeXN0
ZW0uY3BwCmluZGV4IDQ1Y2YyNmFiOWQyYTcyZmMzM2IzZTM2OGZhMmY1OGZlNDVhZGZhMmYuLjI1
YmVmN2Y5MmU4ZWIzNjZhOTRmNGJjZDM3OTgzYjE2YTlkZTM1MDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVGaWxl
U3lzdGVtLmNwcApAQCAtNTEsOSArNTEsOSBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiBuYW1lc3Bh
Y2UgTmV0d29ya0NhY2hlIHsKIAorI2lmICFPUyhXSU5ET1dTKQogc3RhdGljIERpcmVjdG9yeUVu
dHJ5VHlwZSBkaXJlY3RvcnlFbnRyeVR5cGUodWludDhfdCBkdHlwZSkKIHsKLSNpZiAhT1MoV0lO
RE9XUykKICAgICBzd2l0Y2ggKGR0eXBlKSB7CiAgICAgY2FzZSBEVF9ESVI6CiAgICAgICAgIHJl
dHVybiBEaXJlY3RvcnlFbnRyeVR5cGU6OkRpcmVjdG9yeTsKQEAgLTYzLDEwICs2Myw5IEBAIHN0
YXRpYyBEaXJlY3RvcnlFbnRyeVR5cGUgZGlyZWN0b3J5RW50cnlUeXBlKHVpbnQ4X3QgZHR5cGUp
CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gRGlyZWN0b3J5
RW50cnlUeXBlOjpGaWxlOwogICAgIH0KLSNlbHNlCiAgICAgcmV0dXJuIERpcmVjdG9yeUVudHJ5
VHlwZTo6RmlsZTsKLSNlbmRpZgogfQorI2VuZGlmCiAKIHZvaWQgdHJhdmVyc2VEaXJlY3Rvcnko
Y29uc3QgU3RyaW5nJiBwYXRoLCBjb25zdCBGdW5jdGlvbjx2b2lkIChjb25zdCBTdHJpbmcmLCBE
aXJlY3RvcnlFbnRyeVR5cGUpPiYgZnVuY3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL3dpbi9Nb2R1bGVXaW4uY3BwIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS93
aW4vTW9kdWxlV2luLmNwcAppbmRleCBmZWZiYzI2ODU4ZDM2M2U2NWJjNjVmMDhhNTM3YTY1OGYz
YTI2Y2IyLi43YjY1ZDc3ODY5MTY2MmZkYjVmZjYwZDczNjg5ZDJjZWNjOWIzMmZjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3dpbi9Nb2R1bGVXaW4uY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vd2luL01vZHVsZVdpbi5jcHAKQEAgLTUxLDcgKzUxLDggQEAgdm9p
ZCogTW9kdWxlOjpwbGF0Zm9ybUZ1bmN0aW9uUG9pbnRlcihjb25zdCBjaGFyKiBmdW5jdGlvbk5h
bWUpIGNvbnN0CiB7CiAgICAgaWYgKCFtX21vZHVsZSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAg
cmV0dXJuIDo6R2V0UHJvY0FkZHJlc3MobV9tb2R1bGUsIGZ1bmN0aW9uTmFtZSk7CisgICAgYXV0
byBwcm9jID0gOjpHZXRQcm9jQWRkcmVzcyhtX21vZHVsZSwgZnVuY3Rpb25OYW1lKTsKKyAgICBy
ZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4ocHJvYyk7CiB9CiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmNwcAppbmRleCA1NzNkMzJh
NWQyYzcxZTI4YjJiZDUxYmYzZWZlNTg0MDBiYjRkYTAyLi45MDcwYjVhZmI1YWI0ODEzYmIyZGMz
ZDNiZmFiZjJkYTY3ODQ3MWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9E
cmF3aW5nQXJlYVByb3h5SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJh
d2luZ0FyZWFQcm94eUltcGwuY3BwCkBAIC0yMDAsOCArMjAwLDEwIEBAIHZvaWQgRHJhd2luZ0Fy
ZWFQcm94eUltcGw6OmRpc2NhcmRCYWNraW5nU3RvcmUoKQogfQogCiBEcmF3aW5nQXJlYVByb3h5
SW1wbDo6RHJhd2luZ01vbml0b3I6OkRyYXdpbmdNb25pdG9yKFdlYlBhZ2VQcm94eSYgd2ViUGFn
ZSkKLSAgICA6IG1fd2ViUGFnZSh3ZWJQYWdlKQotICAgICwgbV90aW1lcihSdW5Mb29wOjptYWlu
KCksIHRoaXMsICZEcmF3aW5nTW9uaXRvcjo6c3RvcCkKKyAgICA6IG1fdGltZXIoUnVuTG9vcDo6
bWFpbigpLCB0aGlzLCAmRHJhd2luZ01vbml0b3I6OnN0b3ApCisjaWYgUExBVEZPUk0oR1RLKQor
ICAgICwgbV93ZWJQYWdlKHdlYlBhZ2UpCisjZW5kaWYKIHsKICNpZiBVU0UoR0xJQl9FVkVOVF9M
T09QKQogICAgIC8vIEdpdmUgcmVkcmF3cyBtb3JlIHByaW9yaXR5LgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eUltcGwuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHlJbXBsLmgKaW5kZXggOTY2NTIyNTJlYTNhYTQ1
M2ViNDgxODhkMDYwMTJkZWU3Y2JmM2MzZS4uMGFmNzc3ZmNlNDQwN2QyMzYxZGFkM2ZiZGZmZTc2
YTFiYmMzN2I4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eUltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVBy
b3h5SW1wbC5oCkBAIC03NiwxMCArNzYsMTIgQEAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBzdG9w
KCk7CiAgICAgICAgIHZvaWQgZGlkRHJhdygpOwogCi0gICAgICAgIFdlYlBhZ2VQcm94eSYgbV93
ZWJQYWdlOwogICAgICAgICBNb25vdG9uaWNUaW1lIG1fc3RhcnRUaW1lOwogICAgICAgICBXVEY6
OkZ1bmN0aW9uPHZvaWQgKENhbGxiYWNrQmFzZTo6RXJyb3IpPiBtX2NhbGxiYWNrOwogICAgICAg
ICBSdW5Mb29wOjpUaW1lcjxEcmF3aW5nTW9uaXRvcj4gbV90aW1lcjsKKyNpZiBQTEFURk9STShH
VEspCisgICAgICAgIFdlYlBhZ2VQcm94eSYgbV93ZWJQYWdlOworI2VuZGlmCiAgICAgfTsKIAog
ICAgIGJvb2wgbV9pc0JhY2tpbmdTdG9yZURpc2NhcmRhYmxlIHsgdHJ1ZSB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvd2luL1Byb2Nlc3NMYXVuY2hlcldp
bi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci93aW4vUHJvY2Vzc0xhdW5j
aGVyV2luLmNwcAppbmRleCAwZjc2MDdiNWQxNWI1ODYwZTgxMjc3YjE4Mzk0NzI3NDY0OGY0OGJk
Li41NzdlNDY5Y2FkZTExMWJkMTQ4NGNjODE0MGE0ZDM0MmQ1NTg3YjYzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci93aW4vUHJvY2Vzc0xhdW5jaGVyV2luLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci93aW4vUHJvY2Vzc0xhdW5j
aGVyV2luLmNwcApAQCAtMzUsNyArMzUsNyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotc3Rh
dGljIGNvbnN0IExQQ1dTVFIgcHJvY2Vzc05hbWUoUHJvY2Vzc0xhdW5jaGVyOjpQcm9jZXNzVHlw
ZSBwcm9jZXNzVHlwZSkKK3N0YXRpYyBMUENXU1RSIHByb2Nlc3NOYW1lKFByb2Nlc3NMYXVuY2hl
cjo6UHJvY2Vzc1R5cGUgcHJvY2Vzc1R5cGUpCiB7CiAgICAgc3dpdGNoIChwcm9jZXNzVHlwZSkg
ewogICAgIGNhc2UgUHJvY2Vzc0xhdW5jaGVyOjpQcm9jZXNzVHlwZTo6V2ViOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYkluc3BlY3RvclByb3h5V2luLmNwcCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJJbnNwZWN0b3JQcm94eVdpbi5jcHAKaW5k
ZXggY2JmZTMwZTllMGJlODMyMTUxODE5NjM1NWY3Nzk4MDhiODI0ZjJmNi4uOTFjZmY2MTliYjlh
ZjllM2FjNTRjM2IwNTY1MmUyYjMwZWUzZGI2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3Mvd2luL1dlYkluc3BlY3RvclByb3h5V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy93aW4vV2ViSW5zcGVjdG9yUHJveHlXaW4uY3BwCkBAIC0zMDEsOSArMzAxLDYg
QEAgdm9pZCBXZWJJbnNwZWN0b3JQcm94eTo6cGxhdGZvcm1BdHRhY2goKQogICAgIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBtaW5pbXVtQXR0YWNoZWRXaWR0aCA9IDc1MDsKICAgICBzdGF0aWMgY29u
c3QgdW5zaWduZWQgbWluaW11bUF0dGFjaGVkSGVpZ2h0ID0gMjUwOwogCi0gICAgdW5zaWduZWQg
aW5zcGVjdGVkSGVpZ2h0ID0gcGxhdGZvcm1JbnNwZWN0ZWRXaW5kb3dIZWlnaHQoKTsKLSAgICB1
bnNpZ25lZCBpbnNwZWN0ZWRXaWR0aCA9IHBsYXRmb3JtSW5zcGVjdGVkV2luZG93V2lkdGgoKTsK
LQogICAgIGlmIChtX2luc3BlY3RvckRldGFjaFdpbmRvdyAmJiA6OkdldFBhcmVudChtX2luc3Bl
Y3RvclZpZXdXaW5kb3cpID09IG1faW5zcGVjdG9yRGV0YWNoV2luZG93KSB7CiAgICAgICAgIDo6
U2V0UGFyZW50KG1faW5zcGVjdG9yVmlld1dpbmRvdywgbV9pbnNwZWN0ZWRWaWV3UGFyZW50V2lu
ZG93KTsKICAgICAgICAgOjpTaG93V2luZG93KG1faW5zcGVjdG9yRGV0YWNoV2luZG93LCBTV19I
SURFKTsKQEAgLTMyNyw3ICszMjQsNiBAQCB2b2lkIFdlYkluc3BlY3RvclByb3h5OjpwbGF0Zm9y
bURldGFjaCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmICghbV9pbnNwZWN0b3JEZXRhY2hX
aW5kb3cpIHsKLSAgICAgICAgc3RhdGljIGJvb2wgaGF2ZVJlZ2lzdGVyZWRDbGFzcyA9IGZhbHNl
OwogICAgICAgICByZWdpc3RlcldpbmRvd0NsYXNzKCk7CiAgICAgICAgIG1faW5zcGVjdG9yRGV0
YWNoV2luZG93ID0gOjpDcmVhdGVXaW5kb3dFeCgwLCBXZWJJbnNwZWN0b3JQcm94eUNsYXNzTmFt
ZSwgMCwgV1NfT1ZFUkxBUFBFRFdJTkRPVywKICAgICAgICAgICAgIENXX1VTRURFRkFVTFQsIENX
X1VTRURFRkFVTFQsIGluaXRpYWxXaW5kb3dXaWR0aCwgaW5pdGlhbFdpbmRvd0hlaWdodCwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdp
bi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViUG9wdXBNZW51UHJveHlXaW4u
Y3BwCmluZGV4IGEwZjk2M2QzNzc0MzE5OTY4ZTlmNGY2NTU0NGJkYjY0MDRmMTFmZGUuLjk4MGUw
YjdiYjAxMjI3YTMyM2E2ZDQ1YTk1N2RhOGI5M2JkMjhiNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQb3B1cE1lbnVQcm94eVdpbi5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2luLmNwcApAQCAtNTAsOCAr
NTAsNiBAQCBzdGF0aWMgY29uc3QgTFBDV1NUUiBrV2ViS2l0MldlYlBvcHVwTWVudVByb3h5V2lu
ZG93Q2xhc3NOYW1lID0gTCJXZWJLaXQyV2ViUG9wdQogc3RhdGljIGNvbnN0ZXhwciBpbnQgZGVm
YXVsdEFuaW1hdGlvbkR1cmF0aW9uID0gMjAwOwogc3RhdGljIGNvbnN0ZXhwciBpbnQgbWF4UG9w
dXBIZWlnaHQgPSAzMjA7CiBzdGF0aWMgY29uc3RleHByIGludCBwb3B1cFdpbmRvd0JvcmRlcldp
ZHRoID0gMTsKLXN0YXRpYyBjb25zdGV4cHIgaW50IHNlcGFyYXRvclBhZGRpbmcgPSA0Owotc3Rh
dGljIGNvbnN0ZXhwciBpbnQgc2VwYXJhdG9ySGVpZ2h0ID0gMTsKIAogLy8gVGhpcyBpcyB1c2Vk
IGZyb20gd2l0aGluIG91ciBjdXN0b20gbWVzc2FnZSBwdW1wIHdoZW4gd2Ugd2FudCB0byBzZW5k
IGEKIC8vIG1lc3NhZ2UgdG8gdGhlIHdlYiB2aWV3IGFuZCBub3QgaGF2ZSBvdXIgbWVzc2FnZSBz
dG9sZW4gYW5kIHNlbnQgdG8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dp
bi9XZWJQb3B1cE1lbnVQcm94eVdpbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dl
YlBvcHVwTWVudVByb3h5V2luLmgKaW5kZXggMDI5MmQ5NmM5Mjg2MTJhY2MyOTE5ZjhjYTdjZjVm
ZTIyM2Q4ZWU2ZS4uNDY5NGM0N2JiNzk5MDFiMDY2ODQ5Y2NiY2JiNDY0YzMyN2E0YzA4OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2lu
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlBvcHVwTWVudVByb3h5V2lu
LmgKQEAgLTQ1LDggKzQ1LDggQEAgcHVibGljOgogICAgIH0KICAgICB+V2ViUG9wdXBNZW51UHJv
eHlXaW4oKTsKIAotICAgIHZpcnR1YWwgdm9pZCBzaG93UG9wdXBNZW51KGNvbnN0IFdlYkNvcmU6
OkludFJlY3QmLCBXZWJDb3JlOjpUZXh0RGlyZWN0aW9uLCBkb3VibGUgcGFnZVNjYWxlRmFjdG9y
LCBjb25zdCBWZWN0b3I8V2ViUG9wdXBJdGVtPiYsIGNvbnN0IFBsYXRmb3JtUG9wdXBNZW51RGF0
YSYsIGludDMyX3Qgc2VsZWN0ZWRJbmRleCk7Ci0gICAgdmlydHVhbCB2b2lkIGhpZGVQb3B1cE1l
bnUoKTsKKyAgICB2b2lkIHNob3dQb3B1cE1lbnUoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIFdl
YkNvcmU6OlRleHREaXJlY3Rpb24sIGRvdWJsZSBwYWdlU2NhbGVGYWN0b3IsIGNvbnN0IFZlY3Rv
cjxXZWJQb3B1cEl0ZW0+JiwgY29uc3QgUGxhdGZvcm1Qb3B1cE1lbnVEYXRhJiwgaW50MzJfdCBz
ZWxlY3RlZEluZGV4KSBvdmVycmlkZTsKKyAgICB2b2lkIGhpZGVQb3B1cE1lbnUoKSBvdmVycmlk
ZTsKIAogICAgIGJvb2wgc2V0Rm9jdXNlZEluZGV4KGludCBpbmRleCwgYm9vbCBob3RUcmFja2lu
ZyA9IGZhbHNlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dl
YlZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlZpZXcuY3BwCmluZGV4
IGY5Yjg4NWRjMWUyMzUyODgzYjRmNmEyMmVkODc1ZjM2MmVlODUwMzUuLmVmNzkxOWM3MjBmZTcx
N2I1OTA5MTliYjg1YjQ1ODE4NWJhNTBmYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL3dpbi9XZWJWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4v
V2ViVmlldy5jcHAKQEAgLTQ3NCwxMCArNDc0LDggQEAgdm9pZCBXZWJWaWV3OjpwYWludChIREMg
aGRjLCBjb25zdCBJbnRSZWN0JiBkaXJ0eVJlY3QpCiAgICAgICAgIGNhaXJvX3N1cmZhY2VfZGVz
dHJveShzdXJmYWNlKTsKIAogICAgICAgICBWZWN0b3I8SW50UmVjdD4gdW5wYWludGVkUmVjdHMg
PSB1bnBhaW50ZWRSZWdpb24ucmVjdHMoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCB1bnBhaW50ZWRSZWN0cy5zaXplKCk7ICsraSkgewotICAgICAgICAgICAgUkVDVCB3aW5SZWN0
ID0gdW5wYWludGVkUmVjdHNbaV07Ci0gICAgICAgICAgICBkcmF3UGFnZUJhY2tncm91bmQoaGRj
LCBtX3BhZ2UuZ2V0KCksIHVucGFpbnRlZFJlY3RzW2ldKTsKLSAgICAgICAgfQorICAgICAgICBm
b3IgKGF1dG8mIHJlY3QgOiB1bnBhaW50ZWRSZWN0cykKKyAgICAgICAgICAgIGRyYXdQYWdlQmFj
a2dyb3VuZChoZGMsIG1fcGFnZS5nZXQoKSwgcmVjdCk7CiAgICAgfSBlbHNlCiAgICAgICAgIGRy
YXdQYWdlQmFja2dyb3VuZChoZGMsIG1fcGFnZS5nZXQoKSwgZGlydHlSZWN0KTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9jdXJsL1dlYkZy
YW1lTmV0d29ya2luZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9jdXJsL1dlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaAppbmRleCBmODMwZTY4N2Ni
NGY1ODYzYzc3M2Q4YmM0ZGQ0YmNhNDhjNTA4M2Y1Li5mNDBjNWU4NTcyZWZmNzY1ZTcyN2Y4Mjhk
YjQzNjQ2NjhkYTAyMjk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvY3VybC9XZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0LmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2N1cmwvV2ViRnJhbWVOZXR3b3JraW5n
Q29udGV4dC5oCkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICBXZWJGcmFtZUxvYWRlckNs
aWVudCogd2ViRnJhbWVMb2FkZXJDbGllbnQoKSBjb25zdDsKIAogI2lmIFBMQVRGT1JNKFdJTikK
LSAgICBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGJsb2NrZWRFcnJvcihjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QmKSBjb25zdDsKKyAgICBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGJsb2Nr
ZWRFcnJvcihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKSBjb25zdCBvdmVycmlkZTsK
ICNlbmRpZgogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L3dpbi9XZWJQb3B1cE1lbnVXaW4uY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3dpbi9XZWJQb3B1cE1lbnVXaW4uY3BwCmluZGV4IGU0
YjdjZDAwMGIwNzUyMGQwNmY3Y2U2MWQ0NDRlYjg1NWNkYzYwYzEuLjNjMWVhMDY0ODczYzQ1MTM1
MjgxNjQ3M2EwYWQyMjI2MDgyOTdiYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC93aW4vV2ViUG9wdXBNZW51V2luLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvd2luL1dlYlBvcHVwTWVudVdpbi5jcHAK
QEAgLTExMSw3ICsxMTEsNiBAQCB2b2lkIFdlYlBvcHVwTWVudTo6c2V0VXBQbGF0Zm9ybURhdGEo
Y29uc3QgV2ViQ29yZTo6SW50UmVjdCYgcGFnZUNvb3JkaW5hdGVzLCBQbAogCiAgICAgICAgIFN0
cmluZyBpdGVtVGV4dCA9IG1fcG9wdXBDbGllbnQtPml0ZW1UZXh0KGluZGV4KTsKIAotICAgICAg
ICBUZXh0RGlyZWN0aW9uIGRpcmVjdGlvbiA9IGl0ZW1UZXh0LmRlZmF1bHRXcml0aW5nRGlyZWN0
aW9uKCkgPT0gVV9SSUdIVF9UT19MRUZUID8gVGV4dERpcmVjdGlvbjo6UlRMIDogVGV4dERpcmVj
dGlvbjo6TFRSOwogICAgICAgICBUZXh0UnVuIHRleHRSdW4oaXRlbVRleHQsIDAsIDAsIEFsbG93
VHJhaWxpbmdFeHBhbnNpb24sIGl0ZW1TdHlsZS50ZXh0RGlyZWN0aW9uKCksIGl0ZW1TdHlsZS5o
YXNUZXh0RGlyZWN0aW9uT3ZlcnJpZGUoKSk7CiAKICAgICAgICAgbm90U2VsZWN0ZWRCYWNraW5n
U3RvcmVDb250ZXh0LT5zZXRGaWxsQ29sb3Iob3B0aW9uVGV4dENvbG9yKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>