<?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>167766</bug_id>
          
          <creation_ts>2017-02-02 16:00:59 -0800</creation_ts>
          <short_desc>CrashTracer: [USER] com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::URL::host const + 9</short_desc>
          <delta_ts>2017-02-02 17:03:01 -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>Media</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1272696</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-02-02 16:00:59 -0800</bug_when>
    <thetext>WebContent crash when vending a media session for the touch bar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272697</commentid>
    <comment_count>1</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-02-02 16:01:35 -0800</bug_when>
    <thetext>&lt;rdar://problem/30132707&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272707</commentid>
    <comment_count>2</comment_count>
      <attachid>300466</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-02-02 16:15:09 -0800</bug_when>
    <thetext>Created attachment 300466
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272710</commentid>
    <comment_count>3</comment_count>
      <attachid>300469</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-02-02 16:16:41 -0800</bug_when>
    <thetext>Created attachment 300469
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272713</commentid>
    <comment_count>4</comment_count>
      <attachid>300469</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-02-02 16:19:52 -0800</bug_when>
    <thetext>Comment on attachment 300469
Patch

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

r=me with comment.

&gt; Source/WebCore/html/HTMLMediaElement.cpp:586
&gt; +    if (auto document = page.mainFrame().document()) {

We normally prefer earlier returns and auto*.

auto* document = page.mainFrame().document();
if (!document)
    return false;

String host = document-&gt;url().host();
return equalLettersIgnoringASCIICase(host, &quot;netflix.com&quot;) || host.endsWithIgnoringASCIICase(&quot;.netflix.com&quot;);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272717</commentid>
    <comment_count>5</comment_count>
      <attachid>300473</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-02-02 16:23:46 -0800</bug_when>
    <thetext>Created attachment 300473
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272720</commentid>
    <comment_count>6</comment_count>
      <attachid>300473</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-02 16:25:28 -0800</bug_when>
    <thetext>Comment on attachment 300473
Patch for landing

Rejecting attachment 300473 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 300473, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in Source/WebCore/ChangeLog contains OOPS!.

Full output: http://webkit-queues.webkit.org/results/2994162</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272724</commentid>
    <comment_count>7</comment_count>
      <attachid>300473</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-02-02 16:31:19 -0800</bug_when>
    <thetext>Comment on attachment 300473
Patch for landing

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        The mainframe&apos;s document pointer may be null when tearing down a page upon navigation to a page that is in the
&gt; +        page cache. If this triggers a GC sweep, we will attempt to reload touch bar media controls, which (as a part of

Is the real bug here that work with side effects is being done during GC sweep? I don&apos;t think that it&apos;s an OK time for such work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272734</commentid>
    <comment_count>8</comment_count>
      <attachid>300473</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-02-02 16:56:32 -0800</bug_when>
    <thetext>Comment on attachment 300473
Patch for landing

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

&gt;&gt; Source/WebCore/ChangeLog:10
&gt;&gt; +        page cache. If this triggers a GC sweep, we will attempt to reload touch bar media controls, which (as a part of
&gt; 
&gt; Is the real bug here that work with side effects is being done during GC sweep? I don&apos;t think that it&apos;s an OK time for such work.

Alexey is likely right that this work should not be done in the destructor but likely earlier (e.g. removed from document, ...).

That being said, I still think having a null check here makes sense as there is never a guarantee that a frame has a document. It is also a safe change if needed for a branch.
In addition to the null check though, we should find a better place to do this work than the destructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272735</commentid>
    <comment_count>9</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-02-02 16:57:45 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Comment on attachment 300473 [details]
&gt; Patch for landing
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=300473&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/ChangeLog:10
&gt; &gt;&gt; +        page cache. If this triggers a GC sweep, we will attempt to reload touch bar media controls, which (as a part of
&gt; &gt; 
&gt; &gt; Is the real bug here that work with side effects is being done during GC sweep? I don&apos;t think that it&apos;s an OK time for such work.
&gt; 
&gt; Alexey is likely right that this work should not be done in the destructor
&gt; but likely earlier (e.g. removed from document, ...).
&gt; 
&gt; That being said, I still think having a null check here makes sense as there
&gt; is never a guarantee that a frame has a document. It is also a safe change
&gt; if needed for a branch.
&gt; In addition to the null check though, we should find a better place to do
&gt; this work than the destructor.

See also: &lt;rdar://problem/30340495&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1272738</commentid>
    <comment_count>10</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-02-02 17:03:01 -0800</bug_when>
    <thetext>Committed r211613: &lt;http://trac.webkit.org/changeset/211613&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300466</attachid>
            <date>2017-02-02 16:15:09 -0800</date>
            <delta_ts>2017-02-02 16:16:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167766-20170202161255.patch</filename>
            <type>text/plain</type>
            <size>34524</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExNTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGY4MGQ4ZmVkMDk3MjE4
NTY1MWJlM2RiYWIxN2ViM2EzNTZlNWFjNS4uZjZhOTY5OTIzZWIyYjRmZWE3OGI5MGQ2NzY0ZjM3
YWE2NjBmZWYxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE3LTAyLTAyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIENyYXNoVHJhY2Vy
OiBbVVNFUl0gY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IGF0IGNvbS5hcHBsZS5XZWJDb3Jl
OiBXZWJDb3JlOjpVUkw6Omhvc3QgY29uc3QgKyA5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc3NjYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMw
MTMyNzA3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoZSBtYWluZnJhbWUncyBkb2N1bWVudCBwb2ludGVyIG1heSBiZSBudWxsIHdoZW4gdGVhcmlu
ZyBkb3duIGEgcGFnZSB1cG9uIG5hdmlnYXRpb24gdG8gYSBwYWdlIHRoYXQgaXMgaW4gdGhlCisg
ICAgICAgIHBhZ2UgY2FjaGUuIElmIHRoaXMgdHJpZ2dlcnMgYSBHQyBzd2VlcCwgd2Ugd2lsbCBh
dHRlbXB0IHRvIHJlbG9hZCB0b3VjaCBiYXIgbWVkaWEgY29udHJvbHMsIHdoaWNoIChhcyBhIHBh
cnQgb2YKKyAgICAgICAgdGhlIG1lZGlhIGNvbnRyb2xsZXIgaGV1cmlzdGljKSBjaGVja3MgdGhl
IG1haW5mcmFtZSdzIGRvY3VtZW50IFVSTCB0byBzZWUgaWYgcXVpcmtzIHNob3VsZCBiZSBlbmFi
bGVkLiBUaGlzCisgICAgICAgIGFzc3VtZXMgdGhhdCB0aGUgbWFpbmZyYW1lJ3MgZG9jdW1lbnQg
ZXhpc3RzLCB3aGljaCBpcyBub3QgYSBzYWZlIGFzc3VtcHRpb24gaWYgcGFnZSBuYXZpZ2F0aW9u
IGlzIG9jY3VycmluZy4gQXMKKyAgICAgICAgc3VjaCwgd2UgbmVlZCBhIG51bGwgY2hlY2sgZm9y
IHRoZSBtYWluZnJhbWUncyBkb2N1bWVudCBpbiBuZWVkc1BsYXliYWNrQ29udHJvbHNNYW5hZ2Vy
UXVpcmsoKS4KKworICAgICAgICBObyB0ZXN0LCBhcyB3ZSB3ZXJlIHVuYWJsZSB0byByZXByb2R1
Y2UgdGhpcyBjcmFzaC4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpuZWVkc1BsYXliYWNrQ29udHJvbHNNYW5hZ2VyUXVpcmspOgorCisy
MDE3LTAyLTAxICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAg
ICAgIERyYWcgaW1hZ2VzIHNob3VsZCBiZSBhbmNob3JlZCB0byB0aGUgbW91c2UgbG9jYXRpb24K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzY5MAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAyOTUyNjE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RW5yaWNhIENhc3VjY2kuCisKKyAgICAgICAgQWRkcyBsb2dpYyB0byBjb21wdXRlIHRoZSBtb3Vz
ZSBhbmNob3IgcG9pbnQuIFRoaXMgaXMgYSBwb2ludCBpbiB0aGUgdW5pdCBzcXVhcmUgaW5kaWNh
dGluZyB3aGVyZSB0aGUgZHJhZworICAgICAgICBvcmlnaW4gaXMgcmVsYXRpdmUgdG8gdGhlIGJv
dW5kcyBvZiB0aGUgZHJhZyBpbWFnZS4gVGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdlLCBzaW5j
ZSB0aGlzIGFuY2hvciBwb2ludCBpcyBub3QKKyAgICAgICAgdXNlZCBieSBhbnkgY2xpZW50IHll
dDsgdGhpcyBwYXRjaCBvbmx5IGNvbXB1dGVzIGFuZCB2ZW5kcyB0aGlzIGluZm9ybWF0aW9uIGZy
b20gV2ViQ29yZS4KKworICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuY3BwOgorICAgICAg
ICAqIHBhZ2UvRHJhZ0NsaWVudC5oOgorICAgICAgICAqIHBhZ2UvRHJhZ0NvbnRyb2xsZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OnN0YXJ0RHJhZyk6CisgICAgICAg
IChXZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6ZG9JbWFnZURyYWcpOgorICAgICAgICAoV2ViQ29y
ZTo6RHJhZ0NvbnRyb2xsZXI6OmRvU3lzdGVtRHJhZyk6CisgICAgICAgICogcGFnZS9EcmFnQ29u
dHJvbGxlci5oOgorICAgICAgICAqIHBsYXRmb3JtL0RyYWdJbWFnZS5oOgorCiAyMDE3LTAyLTAx
ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNd
IFVwZGF0ZSBDQVJpbmdCdWZmZXIgY2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFj
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA0M2Y5YmYwNDIz
NjNkM2Y2YTE5ZmRlZmMyMTVjNTQwYjE1YWQxN2E2Li5hNTljOWExN2ZmZTgxMzU0NzRkZjA0NjVm
MWEwNzFlNGE5NmUyNDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTkgQEAKIDIwMTct
MDItMDEgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKKyAgICAgICAg
RHJhZyBpbWFnZXMgc2hvdWxkIGJlIGFuY2hvcmVkIHRvIHRoZSBtb3VzZSBsb2NhdGlvbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3NjkwCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8zMDI5NTI2MT4KKworICAgICAgICBSZXZpZXdlZCBieSBFbnJp
Y2EgQ2FzdWNjaS4KKworICAgICAgICBBZGRzIHNvbWUgcGx1bWJpbmcgZm9yIHRoZSBhbmNob3Ig
cG9pbnQgaW4gdGhlIFdLMSBjbGllbnQgbGF5ZXIuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9y
dC9XZWJEcmFnQ2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVu
dC5tbToKKyAgICAgICAgKFdlYkRyYWdDbGllbnQ6OnN0YXJ0RHJhZyk6CisKKzIwMTctMDItMDEg
IFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKICAgICAgICAgW1dLMV0g
QWxsb3cgdGhlIGRyYWcgY2xpZW50IHRvIGJlIGluaXRpYWxpemVkIG9uIHBsYXRmb3JtcyB0aGF0
IGRvIG5vdCBzdXBwb3J0IGRyYWcgYW5kIGRyb3AKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzY5NQogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAz
MDUzOTA+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggOGU4YTY1ZTBlYTFlZmI3MDJiNzc4M2Q4ZWE2MTFj
MjY2M2NmMjJmMC4uNWZmZjc0YmJhMzg0YjdjZDk1YmM4OTI4ZWVmNzdhMTVhODRhZjU5OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE3LTAyLTAxICBXZW5zb24gSHNpZWgg
IDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIERyYWcgaW1hZ2VzIHNob3VsZCBi
ZSBhbmNob3JlZCB0byB0aGUgbW91c2UgbG9jYXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzY5MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
MzAyOTUyNjE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRW5yaWNhIENhc3VjY2kuCisKKyAgICAg
ICAgQWRkcyBzb21lIHBsdW1iaW5nIGZvciB0aGUgYW5jaG9yIHBvaW50IGluIHRoZSBXSzEgY2xp
ZW50IGxheWVyLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5jcHA6
CisgICAgICAgIChXZWJEcmFnQ2xpZW50OjpzdGFydERyYWcpOgorICAgICAgICAqIFdlYkNvcmVT
dXBwb3J0L1dlYkRyYWdDbGllbnQuaDoKKwogMjAxNy0wMS0yOCAgWW9hdiBXZWlzcyAgPHlvYXZA
eW9hdi53cz4KIAogICAgICAgICBBZGQgTGluayBQcmVsb2FkIGFzIGFuIG9mZi1ieS1kZWZhdWx0
IGV4cGVyaW1lbnRhbCBmZWF0dXJlIG1lbnUgaXRlbS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAyZWNhMGUwZmE1
ODk4ODc2NmE5MDhlYmJhYWZhNmY3N2FiNmM4YzFiLi5mZWNhZmU0YjU2NTA1Nzc1Y2JjNDA2ZGQ0
OWM2MmRkMjFiY2IxY2U2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzQgQEAKIDIwMTctMDItMDEg
IFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJhZyBp
bWFnZXMgc2hvdWxkIGJlIGFuY2hvcmVkIHRvIHRoZSBtb3VzZSBsb2NhdGlvbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3NjkwCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS8zMDI5NTI2MT4KKworICAgICAgICBSZXZpZXdlZCBieSBFbnJpY2EgQ2Fz
dWNjaS4KKworICAgICAgICBBZGRzIHNvbWUgcGx1bWJpbmcgZm9yIHRoZSBtb3VzZSBhbmNob3Ig
cG9pbnQgaW4gdGhlIFVJIHByb2Nlc3MuIEFkZGl0aW9uYWxseSwgcmVmYWN0b3JzIHNvbWUgdW5y
ZWxhdGVkIGNvZGUKKyAgICAgICAgZm9yIGhhbmRsaW5nIGRhdGEgaW50ZXJhY3Rpb24uCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpQ
YWdlQ2xpZW50SW1wbDo6c3RhcnREYXRhSW50ZXJhY3Rpb25XaXRoSW1hZ2UpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFn
ZUNsaWVudEltcGwubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpzdGFydERh
dGFJbnRlcmFjdGlvbldpdGhJbWFnZSk6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9XZWJQYWdl
UHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2V0RHJhZ0ltYWdl
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJEcmFnQ2xpZW50OjpzdGFydERyYWcpOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkRyYWdDbGllbnRNYWMubW06CisgICAgICAg
IChXZWJLaXQ6OldlYkRyYWdDbGllbnQ6OnN0YXJ0RHJhZyk6CisKKzIwMTctMDItMDEgIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKICAgICAgICAgVW5yZXZpZXdlZCwg
Zml4IHRoZSBuaWdodGx5IG9wZW4gc291cmNlIGJ1aWxkLgogCiAgICAgICAgIEFkZHMgbW9yZSBo
ZWFkZXIgY2hlY2tzIHdoZW4gaW1wb3J0aW5nIGZyb20gV2ViS2l0QWRkaXRpb25zLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggZGI4Mzk3NDk3ZGY3NDQ5OTRi
YTFjNDdmZWJkYjQwMmIxODRmMTgzYi4uZDZiM2UxNDk1YzZmODAzYTg3NGVlZDY0ODZkMGNmMWZm
NTIxOGU1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC01
ODMsOCArNTgzLDEyIEBAIHN0YXRpYyBib29sIG5lZWRzUGxheWJhY2tDb250cm9sc01hbmFnZXJR
dWlyayhQYWdlJiBwYWdlKQogICAgIGlmICghcGFnZS5zZXR0aW5ncygpLm5lZWRzU2l0ZVNwZWNp
ZmljUXVpcmtzKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIFN0cmluZyBob3N0ID0g
cGFnZS5tYWluRnJhbWUoKS5kb2N1bWVudCgpLT51cmwoKS5ob3N0KCk7Ci0gICAgcmV0dXJuIGVx
dWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJuZXRmbGl4LmNvbSIpIHx8IGhvc3Qu
ZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLm5ldGZsaXguY29tIik7CisgICAgaWYgKGF1dG8g
ZG9jdW1lbnQgPSBwYWdlLm1haW5GcmFtZSgpLmRvY3VtZW50KCkpIHsKKyAgICAgICAgU3RyaW5n
IGhvc3QgPSBkb2N1bWVudC0+dXJsKCkuaG9zdCgpOworICAgICAgICByZXR1cm4gZXF1YWxMZXR0
ZXJzSWdub3JpbmdBU0NJSUNhc2UoaG9zdCwgIm5ldGZsaXguY29tIikgfHwgaG9zdC5lbmRzV2l0
aElnbm9yaW5nQVNDSUlDYXNlKCIubmV0ZmxpeC5jb20iKTsKKyAgICB9CisKKyAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKIEhUTUxNZWRpYUVsZW1lbnQqIEhUTUxNZWRpYUVsZW1lbnQ6OmJlc3RNZWRp
YUVsZW1lbnRGb3JTaG93aW5nUGxheWJhY2tDb250cm9sc01hbmFnZXIoTWVkaWFFbGVtZW50U2Vz
c2lvbjo6UGxheWJhY2tDb250cm9sc1B1cnBvc2UgcHVycG9zZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggYTUyNzljMmJlMGIzZmNlOTRiM2RkMTQ3YzMzMGY5MWM3
MDg0YjhmYy4uZjAwZmQwMDQyOWU1NzBhMjJhYWFjZWEzNTliNzcxOTkxNzZhZGRiMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKQEAgLTEzMCw3ICsxMzAsNyBAQCBjbGFz
cyBFbXB0eURyYWdDbGllbnQgZmluYWwgOiBwdWJsaWMgRHJhZ0NsaWVudCB7CiAgICAgdm9pZCB3
aWxsUGVyZm9ybURyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJjZUFjdGlvbiwgY29uc3QgSW50UG9p
bnQmLCBEYXRhVHJhbnNmZXImKSBmaW5hbCB7IH0KICAgICBEcmFnRGVzdGluYXRpb25BY3Rpb24g
YWN0aW9uTWFza0ZvckRyYWcoY29uc3QgRHJhZ0RhdGEmKSBmaW5hbCB7IHJldHVybiBEcmFnRGVz
dGluYXRpb25BY3Rpb25Ob25lOyB9CiAgICAgRHJhZ1NvdXJjZUFjdGlvbiBkcmFnU291cmNlQWN0
aW9uTWFza0ZvclBvaW50KGNvbnN0IEludFBvaW50JikgZmluYWwgeyByZXR1cm4gRHJhZ1NvdXJj
ZUFjdGlvbk5vbmU7IH0KLSAgICB2b2lkIHN0YXJ0RHJhZyhEcmFnSW1hZ2VSZWYsIGNvbnN0IElu
dFBvaW50JiwgY29uc3QgSW50UG9pbnQmLCBEYXRhVHJhbnNmZXImLCBGcmFtZSYsIGJvb2wpIGZp
bmFsIHsgfQorICAgIHZvaWQgc3RhcnREcmFnKERyYWdJbWFnZVJlZiwgY29uc3QgSW50UG9pbnQm
LCBjb25zdCBJbnRQb2ludCYsIGNvbnN0IEZsb2F0UG9pbnQmLCBEYXRhVHJhbnNmZXImLCBGcmFt
ZSYsIGJvb2wpIGZpbmFsIHsgfQogICAgIHZvaWQgZHJhZ0NvbnRyb2xsZXJEZXN0cm95ZWQoKSBm
aW5hbCB7IH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NsaWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ2xpZW50LmgKaW5kZXggOTlhNzZlYzU4ZDRm
Y2NkNmYzZjYwZjc2N2I5NjY3MmU1ZGM5YzUxOC4uMWFjMTkxNmM0ZDg1ZGU4ODg4MWU2NjA0OGI5
ZTM1ZjM4OGYwMjVhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ2xpZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ2xpZW50LmgKQEAgLTI3LDYgKzI3LDcg
QEAKIAogI2luY2x1ZGUgIkRyYWdBY3Rpb25zLmgiCiAjaW5jbHVkZSAiRHJhZ0ltYWdlLmgiCisj
aW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTQ2LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgRHJhZ0Rl
c3RpbmF0aW9uQWN0aW9uIGFjdGlvbk1hc2tGb3JEcmFnKGNvbnN0IERyYWdEYXRhJikgPSAwOwog
ICAgIHZpcnR1YWwgRHJhZ1NvdXJjZUFjdGlvbiBkcmFnU291cmNlQWN0aW9uTWFza0ZvclBvaW50
KGNvbnN0IEludFBvaW50JiByb290Vmlld1BvaW50KSA9IDA7CiAgICAgCi0gICAgdmlydHVhbCB2
b2lkIHN0YXJ0RHJhZyhEcmFnSW1hZ2VSZWYsIGNvbnN0IEludFBvaW50JiBkcmFnSW1hZ2VPcmln
aW4sIGNvbnN0IEludFBvaW50JiBldmVudFBvcywgRGF0YVRyYW5zZmVyJiwgRnJhbWUmLCBib29s
IGxpbmtEcmFnID0gZmFsc2UpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnREcmFnKERyYWdJ
bWFnZVJlZiwgY29uc3QgSW50UG9pbnQmIGRyYWdJbWFnZU9yaWdpbiwgY29uc3QgSW50UG9pbnQm
IGV2ZW50UG9zLCBjb25zdCBGbG9hdFBvaW50JiBkcmFnSW1hZ2VBbmNob3IsIERhdGFUcmFuc2Zl
ciYsIEZyYW1lJiwgYm9vbCBsaW5rRHJhZyA9IGZhbHNlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IGRyYWdFbmRlZCgpIHsgfQogCiAjaWYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RHJhZ0NvbnRyb2xsZXIuY3BwCmluZGV4IGU0N2VkMzFkNDVmMzI0YzZkM2ExMDFkMWUwYWU0YThl
MWM3NDAzOTguLjkzZTQ4N2I3Yzc4MTZiZTYyNDIyNWU4NTM4MmJmNGVlNDI3NjE5NTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaWYg
RU5BQkxFKERSQUdfU1VQUE9SVCkKICNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2luY2x1ZGUg
IkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCisjaW5jbHVkZSAiQ2xpZW50UmVjdC5oIgogI2luY2x1
ZGUgIkRhdGFUcmFuc2Zlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9j
dW1lbnRGcmFnbWVudC5oIgpAQCAtNzYsNiArNzcsMTEgQEAKICNpbmNsdWRlICJUZXh0RXZlbnQu
aCIKICNpbmNsdWRlICJodG1sZWRpdGluZy5oIgogI2luY2x1ZGUgIm1hcmt1cC5oIgorCisjaWYg
RU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCisjaW5jbHVkZSAiU2VsZWN0aW9uUmVjdC5oIgorI2Vu
ZGlmCisKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRy
Lmg+CiAjZW5kaWYKQEAgLTgxMCw2ICs4MTYsNyBAQCBib29sIERyYWdDb250cm9sbGVyOjpzdGFy
dERyYWcoRnJhbWUmIHNyYywgY29uc3QgRHJhZ1N0YXRlJiBzdGF0ZSwgRHJhZ09wZXJhdGlvbgog
ICAgIEFTU0VSVChzdGF0ZS5zb3VyY2UpOwogICAgIEVsZW1lbnQmIGVsZW1lbnQgPSAqc3RhdGUu
c291cmNlOwogCisgICAgSW50UmVjdCBkcmFnSW1hZ2VCb3VuZHM7CiAgICAgSW1hZ2UqIGltYWdl
ID0gZ2V0SW1hZ2UoZWxlbWVudCk7CiAgICAgaWYgKHN0YXRlLnR5cGUgPT0gRHJhZ1NvdXJjZUFj
dGlvblNlbGVjdGlvbikgewogICAgICAgICBpZiAoIWRhdGFUcmFuc2Zlci5wYXN0ZWJvYXJkKCku
aGFzRGF0YSgpKSB7CkBAIC04MTgsNiArODI1LDE0IEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OnN0
YXJ0RHJhZyhGcmFtZSYgc3JjLCBjb25zdCBEcmFnU3RhdGUmIHN0YXRlLCBEcmFnT3BlcmF0aW9u
CiAgICAgICAgICAgICBSZWZQdHI8UmFuZ2U+IHNlbGVjdGlvblJhbmdlID0gc3JjLnNlbGVjdGlv
bigpLnRvTm9ybWFsaXplZFJhbmdlKCk7CiAgICAgICAgICAgICBBU1NFUlQoc2VsZWN0aW9uUmFu
Z2UpOwogCisjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCisgICAgICAgICAgICBWZWN0b3I8
U2VsZWN0aW9uUmVjdD4gc2VsZWN0aW9uUmVjdHM7CisgICAgICAgICAgICBzZWxlY3Rpb25SYW5n
ZS0+Y29sbGVjdFNlbGVjdGlvblJlY3RzKHNlbGVjdGlvblJlY3RzKTsKKyAgICAgICAgICAgIGZv
ciAoYXV0byBzZWxlY3Rpb25SZWN0IDogc2VsZWN0aW9uUmVjdHMpCisgICAgICAgICAgICAgICAg
ZHJhZ0ltYWdlQm91bmRzLnVuaXRlKHNlbGVjdGlvblJlY3QucmVjdCgpKTsKKyAgICAgICAgICAg
IGRyYWdJbWFnZUJvdW5kcy5pbmZsYXRlKFNlbGVjdGlvbkRyYWdJbWFnZVBhZGRpbmcpOworI2Vu
ZGlmCisKICAgICAgICAgICAgIHNyYy5lZGl0b3IoKS53aWxsV3JpdGVTZWxlY3Rpb25Ub1Bhc3Rl
Ym9hcmQoc2VsZWN0aW9uUmFuZ2UuZ2V0KCkpOwogCiAgICAgICAgICAgICBpZiAoZW5jbG9zaW5n
VGV4dEZvcm1Db250cm9sKHNyYy5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKS5zdGFydCgpKSkKQEAg
LTg0Myw3ICs4NTgsNyBAQCBib29sIERyYWdDb250cm9sbGVyOjpzdGFydERyYWcoRnJhbWUmIHNy
YywgY29uc3QgRHJhZ1N0YXRlJiBzdGF0ZSwgRHJhZ09wZXJhdGlvbgogICAgICAgICBpZiAoIWRy
YWdJbWFnZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICBkb1N5c3RlbURy
YWcoZHJhZ0ltYWdlLCBkcmFnTG9jLCBkcmFnT3JpZ2luLCBkYXRhVHJhbnNmZXIsIHNyYywgZmFs
c2UpOworICAgICAgICBkb1N5c3RlbURyYWcoZHJhZ0ltYWdlLCBkcmFnTG9jLCBkcmFnT3JpZ2lu
LCBkcmFnSW1hZ2VCb3VuZHMsIGRhdGFUcmFuc2Zlciwgc3JjLCBmYWxzZSk7CiAgICAgfSBlbHNl
IGlmICghc3JjLmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkuY2FuRGlzcGxheShsaW5rVVJM
KSkgewogICAgICAgICBzcmMuZG9jdW1lbnQoKS0+YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNv
dXJjZTo6U2VjdXJpdHksIE1lc3NhZ2VMZXZlbDo6RXJyb3IsICJOb3QgYWxsb3dlZCB0byBkcmFn
IGxvY2FsIHJlc291cmNlOiAiICsgbGlua1VSTC5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5n
dGgoKSk7CiAgICAgICAgIHN0YXJ0ZWREcmFnID0gZmFsc2U7CkBAIC04NjYsNyArODgxLDcgQEAg
Ym9vbCBEcmFnQ29udHJvbGxlcjo6c3RhcnREcmFnKEZyYW1lJiBzcmMsIGNvbnN0IERyYWdTdGF0
ZSYgc3RhdGUsIERyYWdPcGVyYXRpb24KICAgICAgICAgICAgIGRvSW1hZ2VEcmFnKGVsZW1lbnQs
IGRyYWdPcmlnaW4sIGhpdFRlc3RSZXN1bHQuaW1hZ2VSZWN0KCksIGRhdGFUcmFuc2Zlciwgc3Jj
LCBtX2RyYWdPZmZzZXQpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgLy8gREhUTUwg
ZGVmaW5lZCBkcmFnIGltYWdlCi0gICAgICAgICAgICBkb1N5c3RlbURyYWcoZHJhZ0ltYWdlLCBk
cmFnTG9jLCBkcmFnT3JpZ2luLCBkYXRhVHJhbnNmZXIsIHNyYywgZmFsc2UpOworICAgICAgICAg
ICAgZG9TeXN0ZW1EcmFnKGRyYWdJbWFnZSwgZHJhZ0xvYywgZHJhZ09yaWdpbiwgeyB9LCBkYXRh
VHJhbnNmZXIsIHNyYywgZmFsc2UpOwogICAgICAgICB9CiAgICAgfSBlbHNlIGlmICghbGlua1VS
TC5pc0VtcHR5KCkgJiYgKG1fZHJhZ1NvdXJjZUFjdGlvbiAmIERyYWdTb3VyY2VBY3Rpb25MaW5r
KSkgewogICAgICAgICBpZiAoIWRhdGFUcmFuc2Zlci5wYXN0ZWJvYXJkKCkuaGFzRGF0YSgpKSB7
CkBAIC05MDIsNyArOTE3LDcgQEAgYm9vbCBEcmFnQ29udHJvbGxlcjo6c3RhcnREcmFnKEZyYW1l
JiBzcmMsIGNvbnN0IERyYWdTdGF0ZSYgc3RhdGUsIERyYWdPcGVyYXRpb24KICAgICAgICAgICAg
IC8vIExhdGVyIGNvZGUgZXhwZWN0cyB0aGUgZHJhZyBpbWFnZSB0byBiZSBzY2FsZWQgYnkgZGV2
aWNlJ3Mgc2NhbGUgZmFjdG9yLgogICAgICAgICAgICAgZHJhZ0ltYWdlID0gc2NhbGVEcmFnSW1h
Z2UoZHJhZ0ltYWdlLCBGbG9hdFNpemUobV9wYWdlLmRldmljZVNjYWxlRmFjdG9yKCksIG1fcGFn
ZS5kZXZpY2VTY2FsZUZhY3RvcigpKSk7CiAgICAgICAgIH0KLSAgICAgICAgZG9TeXN0ZW1EcmFn
KGRyYWdJbWFnZSwgZHJhZ0xvYywgbW91c2VEcmFnZ2VkUG9pbnQsIGRhdGFUcmFuc2Zlciwgc3Jj
LCB0cnVlKTsKKyAgICAgICAgZG9TeXN0ZW1EcmFnKGRyYWdJbWFnZSwgZHJhZ0xvYywgbW91c2VE
cmFnZ2VkUG9pbnQsIHsgfSwgZGF0YVRyYW5zZmVyLCBzcmMsIHRydWUpOwogI2lmIEVOQUJMRShB
VFRBQ0hNRU5UX0VMRU1FTlQpCiAgICAgfSBlbHNlIGlmICghYXR0YWNobWVudFVSTC5pc0VtcHR5
KCkgJiYgKG1fZHJhZ1NvdXJjZUFjdGlvbiAmIERyYWdTb3VyY2VBY3Rpb25BdHRhY2htZW50KSkg
ewogICAgICAgICBpZiAoIWRhdGFUcmFuc2Zlci5wYXN0ZWJvYXJkKCkuaGFzRGF0YSgpKSB7CkBA
IC05MTgsMTMgKzkzMywxMyBAQCBib29sIERyYWdDb250cm9sbGVyOjpzdGFydERyYWcoRnJhbWUm
IHNyYywgY29uc3QgRHJhZ1N0YXRlJiBzdGF0ZSwgRHJhZ09wZXJhdGlvbgogICAgICAgICAgICAg
ZHJhZ0xvYyA9IGRyYWdMb2NGb3JTZWxlY3Rpb25EcmFnKHNyYyk7CiAgICAgICAgICAgICBtX2Ry
YWdPZmZzZXQgPSBJbnRQb2ludChkcmFnT3JpZ2luLngoKSAtIGRyYWdMb2MueCgpLCBkcmFnT3Jp
Z2luLnkoKSAtIGRyYWdMb2MueSgpKTsKICAgICAgICAgfQotICAgICAgICBkb1N5c3RlbURyYWco
ZHJhZ0ltYWdlLCBkcmFnTG9jLCBkcmFnT3JpZ2luLCBkYXRhVHJhbnNmZXIsIHNyYywgZmFsc2Up
OworICAgICAgICBkb1N5c3RlbURyYWcoZHJhZ0ltYWdlLCBkcmFnTG9jLCBkcmFnT3JpZ2luLCB7
IH0sIGRhdGFUcmFuc2Zlciwgc3JjLCBmYWxzZSk7CiAjZW5kaWYKICAgICB9IGVsc2UgaWYgKHN0
YXRlLnR5cGUgPT0gRHJhZ1NvdXJjZUFjdGlvbkRIVE1MKSB7CiAgICAgICAgIGlmIChkcmFnSW1h
Z2UpIHsKICAgICAgICAgICAgIEFTU0VSVChtX2RyYWdTb3VyY2VBY3Rpb24gJiBEcmFnU291cmNl
QWN0aW9uREhUTUwpOwogICAgICAgICAgICAgbV9jbGllbnQud2lsbFBlcmZvcm1EcmFnU291cmNl
QWN0aW9uKERyYWdTb3VyY2VBY3Rpb25ESFRNTCwgZHJhZ09yaWdpbiwgZGF0YVRyYW5zZmVyKTsK
LSAgICAgICAgICAgIGRvU3lzdGVtRHJhZyhkcmFnSW1hZ2UsIGRyYWdMb2MsIGRyYWdPcmlnaW4s
IGRhdGFUcmFuc2Zlciwgc3JjLCBmYWxzZSk7CisgICAgICAgICAgICBkb1N5c3RlbURyYWcoZHJh
Z0ltYWdlLCBkcmFnTG9jLCBkcmFnT3JpZ2luLCB7IH0sIGRhdGFUcmFuc2Zlciwgc3JjLCBmYWxz
ZSk7CiAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgc3RhcnRlZERyYWcgPSBmYWxzZTsKICAg
ICB9IGVsc2UgewpAQCAtOTgxLDIwICs5OTYsMjUgQEAgdm9pZCBEcmFnQ29udHJvbGxlcjo6ZG9J
bWFnZURyYWcoRWxlbWVudCYgZWxlbWVudCwgY29uc3QgSW50UG9pbnQmIGRyYWdPcmlnaW4sIGMK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgZHJhZ0ltYWdlT2Zmc2V0ID0gbW91c2VEb3duUG9pbnQg
KyBzY2FsZWRPcmlnaW47Ci0gICAgZG9TeXN0ZW1EcmFnKGRyYWdJbWFnZSwgZHJhZ0ltYWdlT2Zm
c2V0LCBkcmFnT3JpZ2luLCBkYXRhVHJhbnNmZXIsIGZyYW1lLCBmYWxzZSk7CisgICAgZG9TeXN0
ZW1EcmFnKGRyYWdJbWFnZSwgZHJhZ0ltYWdlT2Zmc2V0LCBkcmFnT3JpZ2luLCBlbGVtZW50LmJv
dW5kc0luUm9vdFZpZXdTcGFjZSgpLCBkYXRhVHJhbnNmZXIsIGZyYW1lLCBmYWxzZSk7CiAKICAg
ICBkZWxldGVEcmFnSW1hZ2UoZHJhZ0ltYWdlKTsKIH0KIAotdm9pZCBEcmFnQ29udHJvbGxlcjo6
ZG9TeXN0ZW1EcmFnKERyYWdJbWFnZVJlZiBpbWFnZSwgY29uc3QgSW50UG9pbnQmIGRyYWdMb2Ms
IGNvbnN0IEludFBvaW50JiBldmVudFBvcywgRGF0YVRyYW5zZmVyJiBkYXRhVHJhbnNmZXIsIEZy
YW1lJiBmcmFtZSwgYm9vbCBmb3JMaW5rKQordm9pZCBEcmFnQ29udHJvbGxlcjo6ZG9TeXN0ZW1E
cmFnKERyYWdJbWFnZVJlZiBpbWFnZSwgY29uc3QgSW50UG9pbnQmIGRyYWdMb2MsIGNvbnN0IElu
dFBvaW50JiBldmVudFBvcywgY29uc3QgSW50UmVjdCYgZHJhZ0ltYWdlQm91bmRzLCBEYXRhVHJh
bnNmZXImIGRhdGFUcmFuc2ZlciwgRnJhbWUmIGZyYW1lLCBib29sIGZvckxpbmspCiB7CisgICAg
RmxvYXRQb2ludCBkcmFnSW1hZ2VBbmNob3IgPSB7IDAuNSwgMC41IH07CisgICAgaWYgKCFkcmFn
SW1hZ2VCb3VuZHMuaXNFbXB0eSgpKSB7CisgICAgICAgIGRyYWdJbWFnZUFuY2hvci5zZXRYKChl
dmVudFBvcy54KCkgLSBkcmFnSW1hZ2VCb3VuZHMueCgpKSAvIChmbG9hdClkcmFnSW1hZ2VCb3Vu
ZHMud2lkdGgoKSk7CisgICAgICAgIGRyYWdJbWFnZUFuY2hvci5zZXRZKChldmVudFBvcy55KCkg
LSBkcmFnSW1hZ2VCb3VuZHMueSgpKSAvIChmbG9hdClkcmFnSW1hZ2VCb3VuZHMuaGVpZ2h0KCkp
OworICAgIH0KKwogICAgIG1fZGlkSW5pdGlhdGVEcmFnID0gdHJ1ZTsKICAgICBtX2RyYWdJbml0
aWF0b3IgPSBmcmFtZS5kb2N1bWVudCgpOwogICAgIC8vIFByb3RlY3QgdGhpcyBmcmFtZSBhbmQg
dmlldywgYXMgYSBsb2FkIG1heSBvY2N1ciBtaWQgZHJhZyBhbmQgYXR0ZW1wdCB0byB1bmxvYWQg
dGhpcyBmcmFtZQogICAgIFJlZjxNYWluRnJhbWU+IGZyYW1lUHJvdGVjdG9yKG1fcGFnZS5tYWlu
RnJhbWUoKSk7CiAgICAgUmVmUHRyPEZyYW1lVmlldz4gdmlld1Byb3RlY3RvciA9IGZyYW1lUHJv
dGVjdG9yLT52aWV3KCk7Ci0gICAgbV9jbGllbnQuc3RhcnREcmFnKGltYWdlLCB2aWV3UHJvdGVj
dG9yLT5yb290Vmlld1RvQ29udGVudHMoZnJhbWUudmlldygpLT5jb250ZW50c1RvUm9vdFZpZXco
ZHJhZ0xvYykpLAotICAgICAgICB2aWV3UHJvdGVjdG9yLT5yb290Vmlld1RvQ29udGVudHMoZnJh
bWUudmlldygpLT5jb250ZW50c1RvUm9vdFZpZXcoZXZlbnRQb3MpKSwgZGF0YVRyYW5zZmVyLCBm
cmFtZVByb3RlY3Rvci5nZXQoKSwgZm9yTGluayk7CisgICAgbV9jbGllbnQuc3RhcnREcmFnKGlt
YWdlLCB2aWV3UHJvdGVjdG9yLT5yb290Vmlld1RvQ29udGVudHMoZnJhbWUudmlldygpLT5jb250
ZW50c1RvUm9vdFZpZXcoZHJhZ0xvYykpLCB2aWV3UHJvdGVjdG9yLT5yb290Vmlld1RvQ29udGVu
dHMoZnJhbWUudmlldygpLT5jb250ZW50c1RvUm9vdFZpZXcoZXZlbnRQb3MpKSwgZHJhZ0ltYWdl
QW5jaG9yLCBkYXRhVHJhbnNmZXIsIGZyYW1lUHJvdGVjdG9yLmdldCgpLCBmb3JMaW5rKTsKICAg
ICAvLyBEcmFnQ2xpZW50OjpzdGFydERyYWcgY2FuIGNhdXNlIG91ciBQYWdlIHRvIGRpc3BlYXIs
IGRlYWxsb2NhdGluZyB8dGhpc3wuCiAgICAgaWYgKCFmcmFtZVByb3RlY3Rvci0+cGFnZSgpKQog
ICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250
cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKaW5kZXggZGVk
ZGFkODZlNmRkY2M2M2FlYjBlMmY4ZGNiN2RiY2YzZDdjNGNmMy4uNzgyMTA0ZjJkNmJhZWU0NDQ5
NGM4ZDkwYTYzNGJkNmFkODc2NDRkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9E
cmFnQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIu
aApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkRyYWdBY3Rpb25zLmgiCiAjaW5jbHVkZSAi
RHJhZ0ltYWdlLmgiCiAjaW5jbHVkZSAiSW50UG9pbnQuaCIKKyNpbmNsdWRlICJJbnRSZWN0Lmgi
CiAjaW5jbHVkZSAiVVJMLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTExMSw3ICsxMTIs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgbW91c2VNb3ZlZEludG9Eb2N1
bWVudChEb2N1bWVudCopOwogCiAgICAgICAgIHZvaWQgZG9JbWFnZURyYWcoRWxlbWVudCYsIGNv
bnN0IEludFBvaW50JiwgY29uc3QgSW50UmVjdCYsIERhdGFUcmFuc2ZlciYsIEZyYW1lJiwgSW50
UG9pbnQmKTsKLSAgICAgICAgdm9pZCBkb1N5c3RlbURyYWcoRHJhZ0ltYWdlUmVmLCBjb25zdCBJ
bnRQb2ludCYsIGNvbnN0IEludFBvaW50JiwgRGF0YVRyYW5zZmVyJiwgRnJhbWUmLCBib29sIGZv
ckxpbmspOworICAgICAgICB2b2lkIGRvU3lzdGVtRHJhZyhEcmFnSW1hZ2VSZWYsIGNvbnN0IElu
dFBvaW50JiwgY29uc3QgSW50UG9pbnQmLCBjb25zdCBJbnRSZWN0JiBkcmFnSW1hZ2VCb3VuZHMs
IERhdGFUcmFuc2ZlciYsIEZyYW1lJiwgYm9vbCBmb3JMaW5rKTsKICAgICAgICAgdm9pZCBjbGVh
bnVwQWZ0ZXJTeXN0ZW1EcmFnKCk7CiAgICAgICAgIHZvaWQgZGVjbGFyZUFuZFdyaXRlRHJhZ0lt
YWdlKERhdGFUcmFuc2ZlciYsIEVsZW1lbnQmLCBjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIGxh
YmVsKTsKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0ltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9E
cmFnSW1hZ2UuaAppbmRleCBhMjg4NDE3OWY4NzU4ODQ1NTA3YjU1MGFjOGY0Zjc3YmEwZjk0MmZj
Li5jM2I2NjVjNmI1MjAzZWI2N2E2MmJiYjU1NGM2NjY5ODAxYjg1ZTI0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9EcmFnSW1hZ2UuaApAQCAtNjcsNiArNjcsMTAgQEAgdHlwZWRlZiBjYWlyb19zdXJm
YWNlX3QqIERyYWdJbWFnZVJlZjsKIHR5cGVkZWYgdm9pZCogRHJhZ0ltYWdlUmVmOwogI2VuZGlm
CiAKKyNpZiBQTEFURk9STShDT0NPQSkKK3N0YXRpYyBjb25zdCBmbG9hdCBTZWxlY3Rpb25EcmFn
SW1hZ2VQYWRkaW5nID0gMTU7CisjZW5kaWYKKwogSW50U2l6ZSBkcmFnSW1hZ2VTaXplKERyYWdJ
bWFnZVJlZik7CiAKIC8vIFRoZXNlIGZ1bmN0aW9ucyBzaG91bGQgYmUgbWVtb3J5IG5ldXRyYWws
IGVnLiBpZiB0aGV5IHJldHVybiBhIG5ld2x5IGFsbG9jYXRlZCBpbWFnZSwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQuaAppbmRleCA0MTcwNjBi
Yzg5ODQwODlhZTQxYWEzNWI5M2YwOTBkNmRlZDZiOTY3Li5iZTZjYmIxZGZlODA0NzBmOGY0MzUy
MWU4MWIyZGI1NDdkMDYyNDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJEcmFnQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViRHJhZ0NsaWVudC5oCkBAIC0zNyw3ICszNyw3IEBAIHB1YmxpYzoKICAgICBXZWJD
b3JlOjpEcmFnRGVzdGluYXRpb25BY3Rpb24gYWN0aW9uTWFza0ZvckRyYWcoY29uc3QgV2ViQ29y
ZTo6RHJhZ0RhdGEmKSBvdmVycmlkZTsKICAgICB2b2lkIGRyYWdDb250cm9sbGVyRGVzdHJveWVk
KCkgb3ZlcnJpZGU7CiAgICAgV2ViQ29yZTo6RHJhZ1NvdXJjZUFjdGlvbiBkcmFnU291cmNlQWN0
aW9uTWFza0ZvclBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiB3aW5kb3dQb2ludCkgb3Zl
cnJpZGU7Ci0gICAgdm9pZCBzdGFydERyYWcoV2ViQ29yZTo6RHJhZ0ltYWdlUmVmLCBjb25zdCBX
ZWJDb3JlOjpJbnRQb2ludCYgZHJhZ1BvcywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGV2ZW50
UG9zLCBXZWJDb3JlOjpEYXRhVHJhbnNmZXImLCBXZWJDb3JlOjpGcmFtZSYsIGJvb2wgbGlua0Ry
YWcpIG92ZXJyaWRlOworICAgIHZvaWQgc3RhcnREcmFnKFdlYkNvcmU6OkRyYWdJbWFnZVJlZiwg
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGRyYWdQb3MsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JiBldmVudFBvcywgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYsIFdlYkNvcmU6OkRhdGFUcmFu
c2ZlciYsIFdlYkNvcmU6OkZyYW1lJiwgYm9vbCBsaW5rRHJhZykgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBkZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2UoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwg
V2ViQ29yZTo6RWxlbWVudCYsIGNvbnN0IFdlYkNvcmU6OlVSTCYsIGNvbnN0IFN0cmluZyYsIFdl
YkNvcmU6OkZyYW1lKikgb3ZlcnJpZGU7CiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkK
ICAgICB2b2lkIGRlY2xhcmVBbmRXcml0ZUF0dGFjaG1lbnQoY29uc3QgU3RyaW5nJiBwYXN0ZWJv
YXJkTmFtZSwgV2ViQ29yZTo6RWxlbWVudCYsIGNvbnN0IFdlYkNvcmU6OlVSTCYsIGNvbnN0IFN0
cmluZyYgcGF0aCwgV2ViQ29yZTo6RnJhbWUqKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQubW0gYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50Lm1tCmluZGV4IDNlOTcwOWViMTg2
ODFhOWY0NzlkZTNlZTRkNmFjOWE2YTBjN2Q4OWUuLjRhODRiYzhlNTM2MmI5MWUwYzczZjA3MGNj
YmE3MzNmZDBlNzQ5ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkRyYWdDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViRHJhZ0NsaWVudC5tbQpAQCAtOTUsNyArOTUsNyBAQCB2b2lkIFdlYkRyYWdDbGllbnQ6
OndpbGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlvbihXZWJDb3JlOjpEcmFnU291cmNlQWN0aW9uIGFj
dGlvbgogICAgIFtbbV93ZWJWaWV3IF9VSURlbGVnYXRlRm9yd2FyZGVyXSB3ZWJWaWV3Om1fd2Vi
VmlldyB3aWxsUGVyZm9ybURyYWdTb3VyY2VBY3Rpb246KFdlYkRyYWdTb3VyY2VBY3Rpb24pYWN0
aW9uIGZyb21Qb2ludDptb3VzZURvd25Qb2ludCB3aXRoUGFzdGVib2FyZDpbTlNQYXN0ZWJvYXJk
IHBhc3RlYm9hcmRXaXRoTmFtZTpkYXRhVHJhbnNmZXIucGFzdGVib2FyZCgpLm5hbWUoKV1dOwog
fQogCi12b2lkIFdlYkRyYWdDbGllbnQ6OnN0YXJ0RHJhZyhEcmFnSW1hZ2VSZWYgZHJhZ0ltYWdl
LCBjb25zdCBJbnRQb2ludCYgYXQsIGNvbnN0IEludFBvaW50JiBldmVudFBvcywgRGF0YVRyYW5z
ZmVyJiBkYXRhVHJhbnNmZXIsIEZyYW1lJiBmcmFtZSwgYm9vbCBsaW5rRHJhZykKK3ZvaWQgV2Vi
RHJhZ0NsaWVudDo6c3RhcnREcmFnKERyYWdJbWFnZVJlZiBkcmFnSW1hZ2UsIGNvbnN0IEludFBv
aW50JiBhdCwgY29uc3QgSW50UG9pbnQmIGV2ZW50UG9zLCBjb25zdCBGbG9hdFBvaW50JiwgRGF0
YVRyYW5zZmVyJiBkYXRhVHJhbnNmZXIsIEZyYW1lJiBmcmFtZSwgYm9vbCBsaW5rRHJhZykKIHsK
ICAgICBSZXRhaW5QdHI8V2ViSFRNTFZpZXc+IGh0bWxWaWV3ID0gKFdlYkhUTUxWaWV3KilbW2tp
dCgmZnJhbWUpIGZyYW1lVmlld10gZG9jdW1lbnRWaWV3XTsKICAgICBpZiAoIVtodG1sVmlldy5n
ZXQoKSBpc0tpbmRPZkNsYXNzOltXZWJIVE1MVmlldyBjbGFzc11dKQpAQCAtMTY1LDcgKzE2NSw3
IEBAIHZvaWQgV2ViRHJhZ0NsaWVudDo6d2lsbFBlcmZvcm1EcmFnU291cmNlQWN0aW9uKFdlYkNv
cmU6OkRyYWdTb3VyY2VBY3Rpb24sIGNvbnN0CiB7CiB9CiAKLXZvaWQgV2ViRHJhZ0NsaWVudDo6
c3RhcnREcmFnKERyYWdJbWFnZVJlZiwgY29uc3QgSW50UG9pbnQmLCBjb25zdCBJbnRQb2ludCYs
IERhdGFUcmFuc2ZlciYsIEZyYW1lJiwgYm9vbCkKK3ZvaWQgV2ViRHJhZ0NsaWVudDo6c3RhcnRE
cmFnKERyYWdJbWFnZVJlZiwgY29uc3QgSW50UG9pbnQmLCBjb25zdCBJbnRQb2ludCYsIGNvbnN0
IEZsb2F0UG9pbnQmLCBEYXRhVHJhbnNmZXImLCBGcmFtZSYsIGJvb2wpCiB7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQuY3Bw
IGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5jcHAKaW5k
ZXggNmEwZGRjZWMzNjliZDA5ZWE4YjUyOWZmZjBiY2MxNjM0YjMzMzMyMC4uMzc5ODBhNGQzODdl
MDRmN2ZjMWZlNmU3YmI3NmEyMmYwNDYyNzNjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93
aW4vV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC93
aW4vV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5jcHAKQEAgLTExMCw3ICsxMTAsNyBAQCB2
b2lkIFdlYkRyYWdDbGllbnQ6OndpbGxQZXJmb3JtRHJhZ1NvdXJjZUFjdGlvbihEcmFnU291cmNl
QWN0aW9uIGFjdGlvbiwgY29uc3QgSQogICAgICAgICBjb25zdF9jYXN0PFBhc3RlYm9hcmQmPihk
YXRhVHJhbnNmZXIucGFzdGVib2FyZCgpKS5zZXRFeHRlcm5hbERhdGFPYmplY3QobmV3RGF0YU9i
amVjdC5nZXQoKSk7CiB9CiAKLXZvaWQgV2ViRHJhZ0NsaWVudDo6c3RhcnREcmFnKERyYWdJbWFn
ZVJlZiBpbWFnZSwgY29uc3QgSW50UG9pbnQmIGltYWdlT3JpZ2luLCBjb25zdCBJbnRQb2ludCYg
ZHJhZ1BvaW50LCBEYXRhVHJhbnNmZXImIGRhdGFUcmFuc2ZlciwgRnJhbWUmIGZyYW1lLCBib29s
IGlzTGluaykKK3ZvaWQgV2ViRHJhZ0NsaWVudDo6c3RhcnREcmFnKERyYWdJbWFnZVJlZiBpbWFn
ZSwgY29uc3QgSW50UG9pbnQmIGltYWdlT3JpZ2luLCBjb25zdCBJbnRQb2ludCYgZHJhZ1BvaW50
LCBjb25zdCBGbG9hdFBvaW50JiwgRGF0YVRyYW5zZmVyJiBkYXRhVHJhbnNmZXIsIEZyYW1lJiBm
cmFtZSwgYm9vbCBpc0xpbmspCiB7CiAgICAgLy9GSVhNRTogQWxsb3cgVUlEZWxlZ2F0ZSB0byBv
dmVycmlkZSBiZWhhdmlvdXIgPHJkYXI6Ly9wcm9ibGVtLzUwMTU5NTM+CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQuaAppbmRleCAwOTVjNjBm
Y2YwZmMyNTM0NGY3N2VmZDlmY2YyZGFkODQ3NjUwNmJkLi43ZjVkMmFlOGM2MzA2MGRmZDdhOTg0
MzVkZmM2M2YzYWI0Njg2ZGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJEcmFnQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1
cHBvcnQvV2ViRHJhZ0NsaWVudC5oCkBAIC0zOSw3ICszOSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIFdlYkNvcmU6OkRyYWdTb3VyY2VBY3Rpb24gZHJhZ1NvdXJjZUFjdGlvbk1hc2tGb3JQb2lu
dChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsUGVyZm9y
bURyYWdEZXN0aW5hdGlvbkFjdGlvbihXZWJDb3JlOjpEcmFnRGVzdGluYXRpb25BY3Rpb24sIGNv
bnN0IFdlYkNvcmU6OkRyYWdEYXRhJik7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxQZXJmb3JtRHJh
Z1NvdXJjZUFjdGlvbihXZWJDb3JlOjpEcmFnU291cmNlQWN0aW9uLCBjb25zdCBXZWJDb3JlOjpJ
bnRQb2ludCYsIFdlYkNvcmU6OkRhdGFUcmFuc2ZlciYpOwotICAgIHZpcnR1YWwgdm9pZCBzdGFy
dERyYWcoV2ViQ29yZTo6RHJhZ0ltYWdlUmVmLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIGNv
bnN0IFdlYkNvcmU6OkludFBvaW50JiwgV2ViQ29yZTo6RGF0YVRyYW5zZmVyJiwgV2ViQ29yZTo6
RnJhbWUmLCBib29sKTsKKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnREcmFnKFdlYkNvcmU6OkRyYWdJ
bWFnZVJlZiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBjb25zdCBXZWJDb3JlOjpJbnRQb2lu
dCYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmLCBXZWJDb3JlOjpEYXRhVHJhbnNmZXImLCBX
ZWJDb3JlOjpGcmFtZSYsIGJvb2wpOwogCiBwcml2YXRlOgogICAgIFdlYlZpZXcqIG1fd2ViVmll
dzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4IDQyNTcwMTA0NTg1N2U3
YWRjN2VhOWI2MDIzZWE2ZGE5NjAyNWRhMWIuLjEwYTFjODZiZmExOTE5ZTJlODdkYWMxN2Y5ZWIz
NDk0OTJmODRlYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAtMzgz
LDcgKzM4Myw3IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQogICAg
IHZpcnR1YWwgdm9pZCBkaWRQZXJmb3JtRGF0YUludGVyYWN0aW9uQ29udHJvbGxlck9wZXJhdGlv
bigpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc3RhcnREYXRhSW50ZXJhY3Rpb25XaXRoSW1hZ2Uo
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBTaGFyZWFibGVC
aXRtYXA6OkhhbmRsZSYgaW1hZ2UsIGJvb2wgaXNMaW5rKSA9IDA7CisgICAgdmlydHVhbCB2b2lk
IHN0YXJ0RGF0YUludGVyYWN0aW9uV2l0aEltYWdlKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBj
bGllbnRQb3NpdGlvbiwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlLCBjb25z
dCBXZWJDb3JlOjpGbG9hdFBvaW50JiBhbmNob3JQb2ludCwgYm9vbCBpc0xpbmspID0gMDsKICNl
bmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGU1
NDJlZjQ5YzhmM2U0ODkzNGYwOGJlZDU0MzVmNjQ1M2RjYjU5MTguLmQyZWY0MGIxMzlhNDUyNDkx
NmM1MGIxMzk4NzhiYjZhYTdkNTVjMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKQEAgLTgzNSw3ICs4MzUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRQZXJmb3Jt
RHJhZ0NvbnRyb2xsZXJBY3Rpb24odWludDY0X3QgZHJhZ09wZXJhdGlvbiwgYm9vbCBtb3VzZUlz
T3ZlckZpbGVJbnB1dCwgdW5zaWduZWQgbnVtYmVyT2ZJdGVtc1RvQmVBY2NlcHRlZCk7CiAgICAg
dm9pZCBkcmFnRW5kZWQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBj
b25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIHVpbnQ2NF90IG9wZXJhdGlv
bik7CiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgdm9pZCBzZXREcmFnSW1hZ2UoY29uc3QgV2Vi
Q29yZTo6SW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6Okhh
bmRsZSYgZHJhZ0ltYWdlSGFuZGxlLCBib29sIGlzTGlua0RyYWcpOworICAgIHZvaWQgc2V0RHJh
Z0ltYWdlKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgU2hh
cmVhYmxlQml0bWFwOjpIYW5kbGUmIGRyYWdJbWFnZUhhbmRsZSwgY29uc3QgV2ViQ29yZTo6Rmxv
YXRQb2ludCYgZHJhZ0ltYWdlQW5jaG9yLCBib29sIGlzTGlua0RyYWcpOwogICAgIHZvaWQgc2V0
UHJvbWlzZWREYXRhRm9ySW1hZ2UoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3Qg
U2hhcmVkTWVtb3J5OjpIYW5kbGUmIGltYWdlSGFuZGxlLCB1aW50NjRfdCBpbWFnZVNpemUsIGNv
bnN0IFN0cmluZyYgZmlsZW5hbWUsIGNvbnN0IFN0cmluZyYgZXh0ZW5zaW9uLAogICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgdXJsLCBj
b25zdCBTdHJpbmcmIHZpc2libGVVUkwsIGNvbnN0IFNoYXJlZE1lbW9yeTo6SGFuZGxlJiBhcmNo
aXZlSGFuZGxlLCB1aW50NjRfdCBhcmNoaXZlU2l6ZSk7CiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRf
RUxFTUVOVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCmluZGV4IGYyMzc0Zjc1NzEyNWRjMTg5ZDU4M2M0MDczMmViY2Y3NWJmMjc2MzYu
LjlkZjMwMjU0MmNmOTYyYzc5MThiYTQ2YzcxOWVmN2E4OTZhMmQwYTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMzA3LDcg
KzMwNyw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgRGlkUGVyZm9ybURyYWdD
b250cm9sbGVyQWN0aW9uKHVpbnQ2NF90IGRyYWdPcGVyYXRpb24sIGJvb2wgbW91c2VJc092ZXJG
aWxlSW5wdXQsIHVuc2lnbmVkIG51bWJlck9mSXRlbXNUb0JlQWNjZXB0ZWQpCiAjZW5kaWYKICNp
ZiBQTEFURk9STShDT0NPQSkgJiYgRU5BQkxFKERSQUdfU1VQUE9SVCkKLSAgICBTZXREcmFnSW1h
Z2UoV2ViQ29yZTo6SW50UG9pbnQgY2xpZW50UG9zaXRpb24sIFdlYktpdDo6U2hhcmVhYmxlQml0
bWFwOjpIYW5kbGUgZHJhZ0ltYWdlLCBib29sIGxpbmtEcmFnKQorICAgIFNldERyYWdJbWFnZShX
ZWJDb3JlOjpJbnRQb2ludCBjbGllbnRQb3NpdGlvbiwgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6
OkhhbmRsZSBkcmFnSW1hZ2UsIFdlYkNvcmU6OkZsb2F0UG9pbnQgZHJhZ0ltYWdlQW5jaG9yLCBi
b29sIGxpbmtEcmFnKQogICAgIFNldFByb21pc2VkRGF0YUZvckltYWdlKFN0cmluZyBwYXN0ZWJv
YXJkTmFtZSwgV2ViS2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZSBpbWFnZUhhbmRsZSwgdWludDY0
X3QgaW1hZ2VTaXplLCBTdHJpbmcgZmlsZW5hbWUsIFN0cmluZyBleHRlbnNpb24sIFN0cmluZyB0
aXRsZSwgU3RyaW5nIHVybCwgU3RyaW5nIHZpc2libGVVUkwsIFdlYktpdDo6U2hhcmVkTWVtb3J5
OjpIYW5kbGUgYXJjaGl2ZUhhbmRsZSwgdWludDY0X3QgYXJjaGl2ZVNpemUpCiAjaWYgRU5BQkxF
KEFUVEFDSE1FTlRfRUxFTUVOVCkKICAgICBTZXRQcm9taXNlZERhdGFGb3JBdHRhY2htZW50KFN0
cmluZyBwYXN0ZWJvYXJkTmFtZSwgU3RyaW5nIGZpbGVuYW1lLCBTdHJpbmcgZXh0ZW5zaW9uLCBT
dHJpbmcgdGl0bGUsIFN0cmluZyB1cmwsIFN0cmluZyB2aXNpYmxlVVJMKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCmluZGV4IDIwNjUxYTNj
NzY5MzQ3OGQzNDViMmM3ODhjMGM5MjQ3OGJmZmZkZTMuLmM0MDdlOGNiNGUyZjhkMTg1ZWIwMTRl
NWQxNmUyODBkNTMxODJlNjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9p
b3MvUGFnZUNsaWVudEltcGxJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9z
L1BhZ2VDbGllbnRJbXBsSU9TLmgKQEAgLTIwMyw3ICsyMDMsNyBAQCBwcml2YXRlOgogCiAjaWYg
RU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCiAgICAgdm9pZCBkaWRQZXJmb3JtRGF0YUludGVyYWN0
aW9uQ29udHJvbGxlck9wZXJhdGlvbigpIG92ZXJyaWRlOwotICAgIHZvaWQgc3RhcnREYXRhSW50
ZXJhY3Rpb25XaXRoSW1hZ2UoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGNsaWVudFBvc2l0aW9u
LCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2UsIGJvb2wgaXNMaW5rKSBvdmVy
cmlkZTsKKyAgICB2b2lkIHN0YXJ0RGF0YUludGVyYWN0aW9uV2l0aEltYWdlKGNvbnN0IFdlYkNv
cmU6OkludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5k
bGUmIGltYWdlLCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBhbmNob3JQb2ludCwgYm9vbCBp
c0xpbmspIG92ZXJyaWRlOwogI2VuZGlmCiAKICAgICBXS0NvbnRlbnRWaWV3ICptX2NvbnRlbnRW
aWV3OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50
SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJ
T1MubW0KaW5kZXggY2QzM2Y5Y2Y0MWVmZDkyZmRiZTcxOGUwOGRiM2FlZWY5MDNiNTQxZi4uMTgz
MTI1MDZlNWEyODgyMzAwNTM1OTdkOTg1ZjQ1NjZhZWZiNGNmMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBAIC03NjgsOSArNzY4
LDkgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkUGVyZm9ybURhdGFJbnRlcmFjdGlvbkNvbnRy
b2xsZXJPcGVyYXRpb24oKQogICAgIFttX2NvbnRlbnRWaWV3IF9kaWRQZXJmb3JtRGF0YUludGVy
YWN0aW9uQ29udHJvbGxlck9wZXJhdGlvbl07CiB9CiAKLXZvaWQgUGFnZUNsaWVudEltcGw6OnN0
YXJ0RGF0YUludGVyYWN0aW9uV2l0aEltYWdlKGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlv
biwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlLCBib29sIGlzTGluaykKK3Zv
aWQgUGFnZUNsaWVudEltcGw6OnN0YXJ0RGF0YUludGVyYWN0aW9uV2l0aEltYWdlKGNvbnN0IElu
dFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGlt
YWdlLCBjb25zdCBGbG9hdFBvaW50JiBhbmNob3JQb2ludCwgYm9vbCBpc0xpbmspCiB7Ci0gICAg
W21fY29udGVudFZpZXcgX3N0YXJ0RGF0YUludGVyYWN0aW9uV2l0aEltYWdlOlNoYXJlYWJsZUJp
dG1hcDo6Y3JlYXRlKGltYWdlKS0+bWFrZUNHSW1hZ2VDb3B5KCkgYXRDbGllbnRQb3NpdGlvbjpD
R1BvaW50TWFrZShjbGllbnRQb3NpdGlvbi54KCksIGNsaWVudFBvc2l0aW9uLnkoKSkgaXNMaW5r
OmlzTGlua107CisgICAgW21fY29udGVudFZpZXcgX3N0YXJ0RGF0YUludGVyYWN0aW9uV2l0aElt
YWdlOlNoYXJlYWJsZUJpdG1hcDo6Y3JlYXRlKGltYWdlKS0+bWFrZUNHSW1hZ2VDb3B5KCkgYXRD
bGllbnRQb3NpdGlvbjpDR1BvaW50TWFrZShjbGllbnRQb3NpdGlvbi54KCksIGNsaWVudFBvc2l0
aW9uLnkoKSkgYW5jaG9yUG9pbnQ6YW5jaG9yUG9pbnQgaXNMaW5rOmlzTGlua107CiB9CiAjZW5k
aWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLmgKaW5kZXggY2UwYzRmNTFlYjZkNWFjOTJlNzQ2ZTcyZTdjZmVkMmFk
NjI4MDQ3NC4uNzZlNjU1MTAzOGVlZjI0YjMzZTZlODU2NDllZTQ1NzU3ZDM3MDI0NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRl
cmFjdGlvbi5oCkBAIC0yNTIsNyArMjUyLDcgQEAgc3RydWN0IFdLQXV0b0NvcnJlY3Rpb25EYXRh
IHsKIAogI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQogLSAodm9pZClfZGlkUGVyZm9ybURh
dGFJbnRlcmFjdGlvbkNvbnRyb2xsZXJPcGVyYXRpb247Ci0tICh2b2lkKV9zdGFydERhdGFJbnRl
cmFjdGlvbldpdGhJbWFnZTooUmV0YWluUHRyPENHSW1hZ2VSZWY+KWltYWdlIGF0Q2xpZW50UG9z
aXRpb246KENHUG9pbnQpY2xpZW50UG9zaXRpb24gaXNMaW5rOihCT09MKWlzTGluazsKKy0gKHZv
aWQpX3N0YXJ0RGF0YUludGVyYWN0aW9uV2l0aEltYWdlOihSZXRhaW5QdHI8Q0dJbWFnZVJlZj4p
aW1hZ2UgYXRDbGllbnRQb3NpdGlvbjooQ0dQb2ludCljbGllbnRQb3NpdGlvbiBhbmNob3JQb2lu
dDooQ0dQb2ludClhbmNob3JQb2ludCBpc0xpbms6KEJPT0wpaXNMaW5rOwogI2VuZGlmCiAKIEBl
bmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudElt
cGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaAppbmRl
eCBjZWRiN2IyMTA4N2EwZmZlNDM4ZjNhYWQ1MjYzN2Q5NjM4YjkyZDMwLi5mZWU5YzU0OTRhMzhh
ZWQ5N2UxNjk1Yjg3YjVkN2I3ODFiOGVjMTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oCkBAIC0yMzQsNyArMjM0LDcgQEAgcHJpdmF0ZToKIAog
I2lmIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQogICAgIHZvaWQgZGlkUGVyZm9ybURhdGFJbnRl
cmFjdGlvbkNvbnRyb2xsZXJPcGVyYXRpb24oKSBvdmVycmlkZTsKLSAgICB2b2lkIHN0YXJ0RGF0
YUludGVyYWN0aW9uV2l0aEltYWdlKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBjbGllbnRQb3Np
dGlvbiwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlLCBib29sIGlzTGluaykg
b3ZlcnJpZGU7CisgICAgdm9pZCBzdGFydERhdGFJbnRlcmFjdGlvbldpdGhJbWFnZShjb25zdCBX
ZWJDb3JlOjpJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6
SGFuZGxlJiBpbWFnZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgYW5jaG9yUG9pbnQsIGJv
b2wgaXNMaW5rKSBvdmVycmlkZTsKICNlbmRpZgogCiAgICAgTlNWaWV3ICptX3ZpZXc7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQppbmRleCBkM2Fj
YzU4NzkwNzM4M2M4NGFhYjQ4NDMzOGYxMjIyNzlhMTE4OTExLi4xOGZhZjliNTg4NWQxYWI1Y2M2
OWZiOGM3YWNkNGRiY2FiMGU1MDg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9t
YWMvUGFnZUNsaWVudEltcGwubW0KQEAgLTg4MSw3ICs4ODEsNyBAQCB2b2lkIFBhZ2VDbGllbnRJ
bXBsOjpkaWRQZXJmb3JtRGF0YUludGVyYWN0aW9uQ29udHJvbGxlck9wZXJhdGlvbigpCiAgICAg
Ly8gRklYTUU6IEltcGxlbWVudCBtZS4KIH0KIAotdm9pZCBQYWdlQ2xpZW50SW1wbDo6c3RhcnRE
YXRhSW50ZXJhY3Rpb25XaXRoSW1hZ2UoY29uc3QgSW50UG9pbnQmLCBjb25zdCBTaGFyZWFibGVC
aXRtYXA6OkhhbmRsZSYsIGJvb2wpCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpzdGFydERhdGFJbnRl
cmFjdGlvbldpdGhJbWFnZShjb25zdCBJbnRQb2ludCYsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6
SGFuZGxlJiwgY29uc3QgRmxvYXRQb2ludCYsIGJvb2wpCiB7CiAgICAgLy8gRklYTUU6IEltcGxl
bWVudCBtZS4KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2Vi
UGFnZVByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJv
eHlNYWMubW0KaW5kZXggYjdjYTI3ZTBhYWExM2RmNjkwMTVmNjNhNGQxNjMzMTU5ZTE1MTc2ZS4u
NjAxM2I5N2IyNDNjODc1MzYxMWFmZmE5NTk2NmRlNjE3MmUxZjM1MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0KKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0KQEAgLTI2OSw3ICsyNjks
NyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVwbGFjZVNlbGVjdGlvbldpdGhQYXN0ZWJvYXJkRGF0
YShjb25zdCBWZWN0b3I8U3RyaW5nPiYgdHlwZQogI2VuZGlmCiAKICNpZiBFTkFCTEUoRFJBR19T
VVBQT1JUKQotdm9pZCBXZWJQYWdlUHJveHk6OnNldERyYWdJbWFnZShjb25zdCBXZWJDb3JlOjpJ
bnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBk
cmFnSW1hZ2VIYW5kbGUsIGJvb2wgaXNMaW5rRHJhZykKK3ZvaWQgV2ViUGFnZVByb3h5OjpzZXRE
cmFnSW1hZ2UoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBT
aGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgZHJhZ0ltYWdlSGFuZGxlLCBjb25zdCBGbG9hdFBvaW50
JiwgYm9vbCBpc0xpbmtEcmFnKQogewogICAgIGlmIChhdXRvIGRyYWdJbWFnZSA9IFNoYXJlYWJs
ZUJpdG1hcDo6Y3JlYXRlKGRyYWdJbWFnZUhhbmRsZSkpCiAgICAgICAgIG1fcGFnZUNsaWVudC5z
ZXREcmFnSW1hZ2UoY2xpZW50UG9zaXRpb24sIFdURk1vdmUoZHJhZ0ltYWdlKSwgaXNMaW5rRHJh
Zyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkRyYWdDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJEcmFnQ2xpZW50LmNwcAppbmRleCBhOTVkMjYwZDlkMmQ0OGIyMGJlOGJjODg3NjU5
MzZiYTA5MTgyMzc0Li5hMDZiMjZjZDk3NGQzMjczNTIyZWQyMzgyMDE1MzBjNGE1ZGQ0OTAyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRy
YWdDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViRHJhZ0NsaWVudC5jcHAKQEAgLTU3LDcgKzU3LDcgQEAgRHJhZ1NvdXJjZUFjdGlvbiBX
ZWJEcmFnQ2xpZW50OjpkcmFnU291cmNlQWN0aW9uTWFza0ZvclBvaW50KGNvbnN0IEludFBvaW50
JikKIH0KIAogI2lmICFQTEFURk9STShDT0NPQSkgJiYgIVBMQVRGT1JNKEdUSykKLXZvaWQgV2Vi
RHJhZ0NsaWVudDo6c3RhcnREcmFnKERyYWdJbWFnZVJlZiwgY29uc3QgSW50UG9pbnQmLCBjb25z
dCBJbnRQb2ludCYsIERhdGFUcmFuc2ZlciYsIEZyYW1lJiwgYm9vbCkKK3ZvaWQgV2ViRHJhZ0Ns
aWVudDo6c3RhcnREcmFnKERyYWdJbWFnZVJlZiwgY29uc3QgSW50UG9pbnQmLCBjb25zdCBJbnRQ
b2ludCYsIGNvbnN0IEZsb2F0UG9pbnQmLCBEYXRhVHJhbnNmZXImLCBGcmFtZSYsIGJvb2wpCiB7
CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50LmgKaW5kZXggYzk1N2M4ZWEwOWI5NDhkY2YxYTVkMjM2
MGViNzRmNGRiNTA0NzVhNy4uNTZkYzEzY2FjYTc1Y2I2NzRlNjIwMWIzZjA3ODllN2ViOTc4ZTc2
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJEcmFnQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJEcmFnQ2xpZW50LmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHJpdmF0ZToKICAgICBXZWJD
b3JlOjpEcmFnRGVzdGluYXRpb25BY3Rpb24gYWN0aW9uTWFza0ZvckRyYWcoY29uc3QgV2ViQ29y
ZTo6RHJhZ0RhdGEmKSBvdmVycmlkZTsKICAgICBXZWJDb3JlOjpEcmFnU291cmNlQWN0aW9uIGRy
YWdTb3VyY2VBY3Rpb25NYXNrRm9yUG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHdpbmRv
d1BvaW50KSBvdmVycmlkZTsKIAotICAgIHZvaWQgc3RhcnREcmFnKFdlYkNvcmU6OkRyYWdJbWFn
ZVJlZiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGRyYWdJbWFnZU9yaWdpbiwgY29uc3QgV2Vi
Q29yZTo6SW50UG9pbnQmIGV2ZW50UG9zLCBXZWJDb3JlOjpEYXRhVHJhbnNmZXImLCBXZWJDb3Jl
OjpGcmFtZSYsIGJvb2wgbGlua0RyYWcgPSBmYWxzZSkgb3ZlcnJpZGU7CisgICAgdm9pZCBzdGFy
dERyYWcoV2ViQ29yZTo6RHJhZ0ltYWdlUmVmLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZHJh
Z0ltYWdlT3JpZ2luLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZXZlbnRQb3MsIGNvbnN0IFdl
YkNvcmU6OkZsb2F0UG9pbnQmIGRyYWdJbWFnZUFuY2hvciwgV2ViQ29yZTo6RGF0YVRyYW5zZmVy
JiwgV2ViQ29yZTo6RnJhbWUmLCBib29sIGxpbmtEcmFnID0gZmFsc2UpIG92ZXJyaWRlOwogCiAj
aWYgUExBVEZPUk0oQ09DT0EpCiAgICAgdm9pZCBkZWNsYXJlQW5kV3JpdGVEcmFnSW1hZ2UoY29u
c3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgV2ViQ29yZTo6RWxlbWVudCYsIGNvbnN0IFdlYkNv
cmU6OlVSTCYsIGNvbnN0IFN0cmluZyYsIFdlYkNvcmU6OkZyYW1lKikgb3ZlcnJpZGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJE
cmFnQ2xpZW50R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvZ3RrL1dlYkRyYWdDbGllbnRHdGsuY3BwCmluZGV4IGY1Y2FkYzc3YTYxY2VlMDNlZTJlYTVi
MzY5YjQxMjU5YzgzZTVmNzYuLjNkZWFmZTE3YTU3ZDE1YmU0M2NhMmRkNmRlNDcxNzE5YWM1YTYx
YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
Z3RrL1dlYkRyYWdDbGllbnRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkRyYWdDbGllbnRHdGsuY3BwCkBAIC01Niw3ICs1Niw3IEBA
IHN0YXRpYyBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBjb252ZXJ0Q2Fpcm9TdXJmYWNlVG9TaGFy
ZWFibGVCaXRtYXAoY2Fpcm9fc3VyZmFjCiAgICAgcmV0dXJuIGJpdG1hcDsKIH0KIAotdm9pZCBX
ZWJEcmFnQ2xpZW50OjpzdGFydERyYWcoRHJhZ0ltYWdlUmVmIGRyYWdJbWFnZSwgY29uc3QgSW50
UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIERh
dGFUcmFuc2ZlciYgZGF0YVRyYW5zZmVyLCBGcmFtZSYsIGJvb2wpCit2b2lkIFdlYkRyYWdDbGll
bnQ6OnN0YXJ0RHJhZyhEcmFnSW1hZ2VSZWYgZHJhZ0ltYWdlLCBjb25zdCBJbnRQb2ludCYgY2xp
ZW50UG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgY29uc3QgRmxvYXRQ
b2ludCYsIERhdGFUcmFuc2ZlciYgZGF0YVRyYW5zZmVyLCBGcmFtZSYsIGJvb2wpCiB7CiAgICAg
UmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gYml0bWFwID0gY29udmVydENhaXJvU3VyZmFjZVRvU2hh
cmVhYmxlQml0bWFwKGRyYWdJbWFnZSk7CiAgICAgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUgaGFu
ZGxlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9tYWMvV2ViRHJhZ0NsaWVudE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvbWFjL1dlYkRyYWdDbGllbnRNYWMubW0KaW5kZXggYzg0ZGNiZWMwMzBiNjUz
NDgxODlkZmNhN2Y3Yzg1OGEwYzY0YWI1OS4uNjlkNzQ2MzVlMDU5YmM2OWQwODJhMzMzYzk0ZGU0
OGM0YzBkNmM5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9tYWMvV2ViRHJhZ0NsaWVudE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJEcmFnQ2xpZW50TWFjLm1tCkBAIC04MCw3ICs4
MCw3IEBAIHN0YXRpYyBQYXNzUmVmUHRyPFNoYXJlYWJsZUJpdG1hcD4gY29udmVydEltYWdlVG9C
aXRtYXAoTlNJbWFnZSAqaW1hZ2UsIGNvbnN0IEluCiAgICAgcmV0dXJuIFdURk1vdmUoYml0bWFw
KTsKIH0KIAotdm9pZCBXZWJEcmFnQ2xpZW50OjpzdGFydERyYWcoUmV0YWluUHRyPE5TSW1hZ2U+
IGltYWdlLCBjb25zdCBJbnRQb2ludCYgcG9pbnQsIGNvbnN0IEludFBvaW50JiwgRGF0YVRyYW5z
ZmVyJiwgRnJhbWUmIGZyYW1lLCBib29sIGxpbmtEcmFnKQordm9pZCBXZWJEcmFnQ2xpZW50Ojpz
dGFydERyYWcoUmV0YWluUHRyPE5TSW1hZ2U+IGltYWdlLCBjb25zdCBJbnRQb2ludCYgcG9pbnQs
IGNvbnN0IEludFBvaW50JiwgY29uc3QgRmxvYXRQb2ludCYsIERhdGFUcmFuc2ZlciYsIEZyYW1l
JiBmcmFtZSwgYm9vbCBsaW5rRHJhZykKIHsKICAgICBJbnRTaXplIGJpdG1hcFNpemUoW2ltYWdl
IHNpemVdKTsKICAgICBSZWZQdHI8U2hhcmVhYmxlQml0bWFwPiBiaXRtYXAgPSBjb252ZXJ0SW1h
Z2VUb0JpdG1hcChpbWFnZS5nZXQoKSwgYml0bWFwU2l6ZSwgZnJhbWUpOwpAQCAtOTEsNyArOTEs
NyBAQCB2b2lkIFdlYkRyYWdDbGllbnQ6OnN0YXJ0RHJhZyhSZXRhaW5QdHI8TlNJbWFnZT4gaW1h
Z2UsIGNvbnN0IEludFBvaW50JiBwb2ludCwgYwogICAgIG1fcGFnZS0+d2lsbFN0YXJ0RHJhZygp
OwogCiAgICAgLy8gRklYTUU6IFNlZW1zIHRoaXMgbWVzc2FnZSBzaG91bGQgYmUgbmFtZWQgU3Rh
cnREcmFnLCBub3QgU2V0RHJhZ0ltYWdlLgotICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpTZXREcmFnSW1hZ2UoZnJhbWUudmlldygpLT5jb250ZW50c1RvV2luZG93KHBv
aW50KSwgaGFuZGxlLCBsaW5rRHJhZykpOworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpTZXREcmFnSW1hZ2UoZnJhbWUudmlldygpLT5jb250ZW50c1RvV2luZG93KHBv
aW50KSwgaGFuZGxlLCB7IH0sIGxpbmtEcmFnKSk7CiB9CiAKIHN0YXRpYyBXZWJDb3JlOjpDYWNo
ZWRJbWFnZSogY2FjaGVkSW1hZ2UoRWxlbWVudCYgZWxlbWVudCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300469</attachid>
            <date>2017-02-02 16:16:41 -0800</date>
            <delta_ts>2017-02-02 16:31:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167766-20170202161427.patch</filename>
            <type>text/plain</type>
            <size>2440</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExNTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTNiMWIxMzA2Nzg4NWJk
MjU0YjliOGQzYzhkOGQ5OWQ0OWYzMjJhYy4uZjZhOTY5OTIzZWIyYjRmZWE3OGI5MGQ2NzY0ZjM3
YWE2NjBmZWYxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE3LTAyLTAyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIENyYXNoVHJhY2Vy
OiBbVVNFUl0gY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IGF0IGNvbS5hcHBsZS5XZWJDb3Jl
OiBXZWJDb3JlOjpVUkw6Omhvc3QgY29uc3QgKyA5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc3NjYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMw
MTMyNzA3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoZSBtYWluZnJhbWUncyBkb2N1bWVudCBwb2ludGVyIG1heSBiZSBudWxsIHdoZW4gdGVhcmlu
ZyBkb3duIGEgcGFnZSB1cG9uIG5hdmlnYXRpb24gdG8gYSBwYWdlIHRoYXQgaXMgaW4gdGhlCisg
ICAgICAgIHBhZ2UgY2FjaGUuIElmIHRoaXMgdHJpZ2dlcnMgYSBHQyBzd2VlcCwgd2Ugd2lsbCBh
dHRlbXB0IHRvIHJlbG9hZCB0b3VjaCBiYXIgbWVkaWEgY29udHJvbHMsIHdoaWNoIChhcyBhIHBh
cnQgb2YKKyAgICAgICAgdGhlIG1lZGlhIGNvbnRyb2xsZXIgaGV1cmlzdGljKSBjaGVja3MgdGhl
IG1haW5mcmFtZSdzIGRvY3VtZW50IFVSTCB0byBzZWUgaWYgcXVpcmtzIHNob3VsZCBiZSBlbmFi
bGVkLiBUaGlzCisgICAgICAgIGFzc3VtZXMgdGhhdCB0aGUgbWFpbmZyYW1lJ3MgZG9jdW1lbnQg
ZXhpc3RzLCB3aGljaCBpcyBub3QgYSBzYWZlIGFzc3VtcHRpb24gaWYgcGFnZSBuYXZpZ2F0aW9u
IGlzIG9jY3VycmluZy4gQXMKKyAgICAgICAgc3VjaCwgd2UgbmVlZCBhIG51bGwgY2hlY2sgZm9y
IHRoZSBtYWluZnJhbWUncyBkb2N1bWVudCBpbiBuZWVkc1BsYXliYWNrQ29udHJvbHNNYW5hZ2Vy
UXVpcmsoKS4KKworICAgICAgICBObyB0ZXN0LCBhcyB3ZSB3ZXJlIHVuYWJsZSB0byByZXByb2R1
Y2UgdGhpcyBjcmFzaC4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpuZWVkc1BsYXliYWNrQ29udHJvbHNNYW5hZ2VyUXVpcmspOgorCiAy
MDE3LTAyLTAxICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAg
ICAgIERyYWcgaW1hZ2VzIHNob3VsZCBiZSBhbmNob3JlZCB0byB0aGUgbW91c2UgbG9jYXRpb24K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGRiODM5NzQ5N2Rm
NzQ0OTk0YmExYzQ3ZmViZGI0MDJiMTg0ZjE4M2IuLmQ2YjNlMTQ5NWM2ZjgwM2E4NzRlZWQ2NDg2
ZDBjZjFmZjUyMThlNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cApAQCAtNTgzLDggKzU4MywxMiBAQCBzdGF0aWMgYm9vbCBuZWVkc1BsYXliYWNrQ29udHJvbHNN
YW5hZ2VyUXVpcmsoUGFnZSYgcGFnZSkKICAgICBpZiAoIXBhZ2Uuc2V0dGluZ3MoKS5uZWVkc1Np
dGVTcGVjaWZpY1F1aXJrcygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBTdHJpbmcg
aG9zdCA9IHBhZ2UubWFpbkZyYW1lKCkuZG9jdW1lbnQoKS0+dXJsKCkuaG9zdCgpOwotICAgIHJl
dHVybiBlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0LCAibmV0ZmxpeC5jb20iKSB8
fCBob3N0LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi5uZXRmbGl4LmNvbSIpOworICAgIGlm
IChhdXRvIGRvY3VtZW50ID0gcGFnZS5tYWluRnJhbWUoKS5kb2N1bWVudCgpKSB7CisgICAgICAg
IFN0cmluZyBob3N0ID0gZG9jdW1lbnQtPnVybCgpLmhvc3QoKTsKKyAgICAgICAgcmV0dXJuIGVx
dWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJuZXRmbGl4LmNvbSIpIHx8IGhvc3Qu
ZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLm5ldGZsaXguY29tIik7CisgICAgfQorCisgICAg
cmV0dXJuIGZhbHNlOwogfQogCiBIVE1MTWVkaWFFbGVtZW50KiBIVE1MTWVkaWFFbGVtZW50Ojpi
ZXN0TWVkaWFFbGVtZW50Rm9yU2hvd2luZ1BsYXliYWNrQ29udHJvbHNNYW5hZ2VyKE1lZGlhRWxl
bWVudFNlc3Npb246OlBsYXliYWNrQ29udHJvbHNQdXJwb3NlIHB1cnBvc2UpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300473</attachid>
            <date>2017-02-02 16:23:46 -0800</date>
            <delta_ts>2017-02-02 16:35:30 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-167766-20170202162132.patch</filename>
            <type>text/plain</type>
            <size>2189</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExNTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTNiMWIxMzA2Nzg4NWJk
MjU0YjliOGQzYzhkOGQ5OWQ0OWYzMjJhYy4uZjZhOTY5OTIzZWIyYjRmZWE3OGI5MGQ2NzY0ZjM3
YWE2NjBmZWYxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE3LTAyLTAyICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIENyYXNoVHJhY2Vy
OiBbVVNFUl0gY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IGF0IGNvbS5hcHBsZS5XZWJDb3Jl
OiBXZWJDb3JlOjpVUkw6Omhvc3QgY29uc3QgKyA5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc3NjYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzMw
MTMyNzA3PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoZSBtYWluZnJhbWUncyBkb2N1bWVudCBwb2ludGVyIG1heSBiZSBudWxsIHdoZW4gdGVhcmlu
ZyBkb3duIGEgcGFnZSB1cG9uIG5hdmlnYXRpb24gdG8gYSBwYWdlIHRoYXQgaXMgaW4gdGhlCisg
ICAgICAgIHBhZ2UgY2FjaGUuIElmIHRoaXMgdHJpZ2dlcnMgYSBHQyBzd2VlcCwgd2Ugd2lsbCBh
dHRlbXB0IHRvIHJlbG9hZCB0b3VjaCBiYXIgbWVkaWEgY29udHJvbHMsIHdoaWNoIChhcyBhIHBh
cnQgb2YKKyAgICAgICAgdGhlIG1lZGlhIGNvbnRyb2xsZXIgaGV1cmlzdGljKSBjaGVja3MgdGhl
IG1haW5mcmFtZSdzIGRvY3VtZW50IFVSTCB0byBzZWUgaWYgcXVpcmtzIHNob3VsZCBiZSBlbmFi
bGVkLiBUaGlzCisgICAgICAgIGFzc3VtZXMgdGhhdCB0aGUgbWFpbmZyYW1lJ3MgZG9jdW1lbnQg
ZXhpc3RzLCB3aGljaCBpcyBub3QgYSBzYWZlIGFzc3VtcHRpb24gaWYgcGFnZSBuYXZpZ2F0aW9u
IGlzIG9jY3VycmluZy4gQXMKKyAgICAgICAgc3VjaCwgd2UgbmVlZCBhIG51bGwgY2hlY2sgZm9y
IHRoZSBtYWluZnJhbWUncyBkb2N1bWVudCBpbiBuZWVkc1BsYXliYWNrQ29udHJvbHNNYW5hZ2Vy
UXVpcmsoKS4KKworICAgICAgICBObyB0ZXN0LCBhcyB3ZSB3ZXJlIHVuYWJsZSB0byByZXByb2R1
Y2UgdGhpcyBjcmFzaC4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpuZWVkc1BsYXliYWNrQ29udHJvbHNNYW5hZ2VyUXVpcmspOgorCiAy
MDE3LTAyLTAxICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAg
ICAgIERyYWcgaW1hZ2VzIHNob3VsZCBiZSBhbmNob3JlZCB0byB0aGUgbW91c2UgbG9jYXRpb24K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IGRiODM5NzQ5N2Rm
NzQ0OTk0YmExYzQ3ZmViZGI0MDJiMTg0ZjE4M2IuLjkxMTQyNzRlNGMwOTE0MjJhZjk2ODVmYWU2
N2VhMDY5YTY2MzEyZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cApAQCAtNTgzLDcgKzU4MywxMSBAQCBzdGF0aWMgYm9vbCBuZWVkc1BsYXliYWNrQ29udHJvbHNN
YW5hZ2VyUXVpcmsoUGFnZSYgcGFnZSkKICAgICBpZiAoIXBhZ2Uuc2V0dGluZ3MoKS5uZWVkc1Np
dGVTcGVjaWZpY1F1aXJrcygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBTdHJpbmcg
aG9zdCA9IHBhZ2UubWFpbkZyYW1lKCkuZG9jdW1lbnQoKS0+dXJsKCkuaG9zdCgpOworICAgIGF1
dG8qIGRvY3VtZW50ID0gcGFnZS5tYWluRnJhbWUoKS5kb2N1bWVudCgpOworICAgIGlmICghZG9j
dW1lbnQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIFN0cmluZyBob3N0ID0gZG9jdW1l
bnQtPnVybCgpLmhvc3QoKTsKICAgICByZXR1cm4gZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNh
c2UoaG9zdCwgIm5ldGZsaXguY29tIikgfHwgaG9zdC5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNl
KCIubmV0ZmxpeC5jb20iKTsKIH0KIAo=
</data>
<flag name="review"
          id="322358"
          type_id="1"
          status="+"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>