<?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>167443</bug_id>
          
          <creation_ts>2017-01-25 18:37:29 -0800</creation_ts>
          <short_desc>Add infrastructure to support data interaction in WebKit2</short_desc>
          <delta_ts>2017-01-28 12:26:05 -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>WebKit Misc.</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></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>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>enrica</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1270087</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-01-25 18:37:29 -0800</bug_when>
    <thetext>Add infrastructure to support data interaction in WebKit2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270106</commentid>
    <comment_count>1</comment_count>
      <attachid>299787</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-01-25 19:24:31 -0800</bug_when>
    <thetext>Created attachment 299787
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270108</commentid>
    <comment_count>2</comment_count>
      <attachid>299787</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-01-25 19:31:13 -0800</bug_when>
    <thetext>Comment on attachment 299787
Patch

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

&gt; Source/WebCore/page/Page.cpp:2170
&gt; +    if (auto selectedRange = currentSelection.toNormalizedRange()) {
&gt; +        Vector&lt;SelectionRect&gt; selectionRects;
&gt; +        selectedRange-&gt;collectSelectionRects(selectionRects);
&gt; +        for (auto selectionRect : selectionRects) {
&gt; +            if (FloatRect(selectionRect.rect()).contains(position))
&gt; +                return true;
&gt; +        }

Is &quot;position&quot; in the same coordinate space as the rects? Did you test with zooming, iframes etc?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270112</commentid>
    <comment_count>3</comment_count>
      <attachid>299787</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-01-25 19:39:26 -0800</bug_when>
    <thetext>Comment on attachment 299787
Patch

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

Thank you!

&gt;&gt; Source/WebCore/page/Page.cpp:2170
&gt;&gt; +        }
&gt; 
&gt; Is &quot;position&quot; in the same coordinate space as the rects? Did you test with zooming, iframes etc?

I believe so -- the position here is the same one set by calling into Frame::nodeRespondingToClickEvents, which appears to be in document coordinates. I have tested scaling, but not frames -- I will try that case out as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270113</commentid>
    <comment_count>4</comment_count>
      <attachid>299789</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-01-25 19:43:02 -0800</bug_when>
    <thetext>Created attachment 299789
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270114</commentid>
    <comment_count>5</comment_count>
      <attachid>299789</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-25 19:43:57 -0800</bug_when>
    <thetext>Comment on attachment 299789
Patch for landing

Rejecting attachment 299789 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-02&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 299789, &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/2950105</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270115</commentid>
    <comment_count>6</comment_count>
      <attachid>299790</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-01-25 19:46:42 -0800</bug_when>
    <thetext>Created attachment 299790
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270124</commentid>
    <comment_count>7</comment_count>
      <attachid>299790</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-25 20:23:24 -0800</bug_when>
    <thetext>Comment on attachment 299790
Patch for landing

Clearing flags on attachment: 299790

Committed r211199: &lt;http://trac.webkit.org/changeset/211199&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271038</commentid>
    <comment_count>8</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-01-28 12:26:05 -0800</bug_when>
    <thetext>&lt;rdar://problem/30107775&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299787</attachid>
            <date>2017-01-25 19:24:31 -0800</date>
            <delta_ts>2017-01-25 19:31:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167443-20170125192229.patch</filename>
            <type>text/plain</type>
            <size>17949</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2RhYTY1NjkwYTFjN2Fh
N2Q1ZDhiNGEyZDM2NGVlM2ZjYjk1OWQyYS4uYTRhY2MzNGUzYzdkNjM0NTY2Y2MzYjcyYTgxM2Zh
YTFhODQ4NjZiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDE3LTAxLTI1ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCisgICAgICAgIEFkZCBpbmZyYXN0
cnVjdHVyZSB0byBzdXBwb3J0IGRhdGEgaW50ZXJhY3Rpb24gaW4gV2ViS2l0MgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3NDQzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBzdXBwb3J0IGluIFdl
YkNvcmUgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlcmUgaXMgaW50ZXJhY3RpdmUgZGF0YSBhdCBh
IGdpdmVuIHBvc2l0aW9uLiBObyBuZXcgdGVzdHMsIHNpbmNlCisgICAgICAgIHRoZXJlIHNob3Vs
ZCBiZSBubyBiZWhhdmlvciBjaGFuZ2UgeWV0LgorCisgICAgICAgICogcGFnZS9FdmVudEhhbmRs
ZXIuaDoKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6
aGFzRGF0YUludGVyYWN0aW9uQXRQb3NpdGlvbik6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisK
KzIwMTctMDEtMjUgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKICAg
ICAgICAgUmVmYWN0b3IgZHJhZyBhbmQgZHJvcCBpbXBsZW1lbnRhdGlvbiBvbiBNYWMKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzQyNwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggNjE3NmEyM2ZiNjE2ZmUyMmU2ZDUxMzA4ZjI5NDc2YmI4YWYxYWE3Ny4uZGJiNDFl
NzNiNDM5NjRhNmJlNTQwOWJkOWViYjUxMzFkZjcxMjA0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsx
LDQzIEBACiAyMDE3LTAxLTI1ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgogCisgICAgICAgIEFkZCBpbmZyYXN0cnVjdHVyZSB0byBzdXBwb3J0IGRhdGEgaW50ZXJhY3Rp
b24gaW4gV2ViS2l0MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTY3NDQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkcyBwbHVtYmluZyBmb3IgdHdvIG5ldyBYUEMgbWVzc2FnZXM6IFdlYlBhZ2VQcm94
eTo6RGlkUGVyZm9ybURhdGFJbnRlcmFjdGlvbkNvbnRyb2xsZXJPcGVyYXRpb24gYW5kCisgICAg
ICAgIFdlYlBhZ2U6OlJlcXVlc3RTdGFydERhdGFJbnRlcmFjdGlvbi4gQWRkaXRpb25hbGx5LCBh
ZGRzIGEgbmV3IGZpZWxkIHRvIEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uIHRoYXQK
KyAgICAgICAgaW5kaWNhdGVzIHdoZXRoZXIgb3Igbm90IHRoZXJlIGlzIGRhdGEgdG8gaW50ZXJh
Y3Qgd2l0aCBhdCBhIGdpdmVuIGxvY2F0aW9uLgorCisgICAgICAgIFRoaXMgcGF0Y2ggb25seSBh
ZGRzIGluZnJhc3RydWN0dXJlLCBhbmQgZG9lcyBub3QgY2hhbmdlIGFueSBiZWhhdmlvci4KKwor
ICAgICAgICAqIFNoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaDoK
KyAgICAgICAgKiBTaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLm1t
OgorICAgICAgICAoV2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbjo6ZW5j
b2RlKToKKyAgICAgICAgKFdlYktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb246
OmRlY29kZSk6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9T
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbToKKyAgICAg
ICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmRpZFBlcmZvcm1EYXRhSW50ZXJhY3Rpb25Db250
cm9sbGVyT3BlcmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnN0YXJ0
RGF0YUludGVyYWN0aW9uV2l0aEltYWdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dlYlBh
Z2VQcm94eUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRQZXJmb3Jt
RGF0YUludGVyYWN0aW9uQ29udHJvbGxlck9wZXJhdGlvbik6CisgICAgICAgIChXZWJLaXQ6OnJl
cXVlc3RTdGFydERhdGFJbnRlcmFjdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdl
Q2xpZW50SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW06
CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpkaWRQZXJmb3JtRGF0YUludGVyYWN0
aW9uQ29udHJvbGxlck9wZXJhdGlvbik6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBs
OjpzdGFydERhdGFJbnRlcmFjdGlvbldpdGhJbWFnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjpyZXF1ZXN0U3RhcnREYXRhSW50ZXJhY3Rpb24pOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjpnZXRQb3NpdGlvbkluZm9ybWF0aW9uKToKKworMjAxNy0wMS0yNSAg
V2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKwogICAgICAgICBSZWZhY3Rv
ciBkcmFnIGFuZCBkcm9wIGltcGxlbWVudGF0aW9uIG9uIE1hYwogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3NDI3CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
SGFuZGxlci5oCmluZGV4IDljNzU3NjVmZjI0NTA3NjA4Njc1NTQ3MWVjMGMxZTJkNGY2ZmVlZTcu
LmE4MmQ3Y2QzYWIzNTNmOWUzMGEzZDgxMGExNjI3ODZlMzAzYmMxYmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuaApAQCAtMzE1LDYgKzMxNSwxMCBAQCBwdWJsaWM6CiAKICAgICBzdGF0
aWMgV2lkZ2V0KiB3aWRnZXRGb3JFdmVudFRhcmdldChFbGVtZW50KiBldmVudFRhcmdldCk7CiAK
KyNpZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikKKyAgICBXRUJDT1JFX0VYUE9SVCBib29sIHRy
eVRvQmVnaW5EYXRhSW50ZXJhY3Rpb25BdFBvaW50KGNvbnN0IEludFBvaW50JiBjbGllbnRQb3Np
dGlvbiwgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uKTsKKyNlbmRpZgorCiBwcml2YXRl
OgogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgc3RhdGljIERyYWdTdGF0ZSYgZHJhZ1N0
YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCA3N2M3ZjNlMGI5MmVhNzBmZTI4YjQ5ZjVhYWY1
YjkzMWZiZGZhOWU3Li5hNjQ2YWVlNzk1Yjg5YWNiODU2ZDQwZjFiY2IwYjJiYjZiOGZlYTRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTg0LDYgKzg0LDcgQEAKICNpbmNsdWRlICJTY2hlbWVSZWdp
c3RyeS5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTY3JvbGxp
bmdDb29yZGluYXRvci5oIgorI2luY2x1ZGUgIlNlbGVjdGlvblJlY3QuaCIKICNpbmNsdWRlICJT
ZXR0aW5ncy5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUgIlNvY2tldFBy
b3ZpZGVyLmgiCkBAIC0yMTUyLDQgKzIxNTMsMjYgQEAgdm9pZCBQYWdlOjphY2Nlc3NpYmlsaXR5
U2V0dGluZ3NEaWRDaGFuZ2UoKQogICAgICAgICBMT0coTGF5b3V0LCAiaGFzTWVkaWFRdWVyaWVz
QWZmZWN0ZWRCeUFjY2Vzc2liaWxpdHlTZXR0aW5nc0NoYW5nZSwgZW5xdWV1ZWluZyBzdHlsZSBy
ZWNhbGMiKTsKIH0KIAorI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQorCitib29sIFBhZ2U6
Omhhc0RhdGFJbnRlcmFjdGlvbkF0UG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYgcG9zaXRpb24p
IGNvbnN0Cit7CisgICAgYXV0byBjdXJyZW50U2VsZWN0aW9uID0gbV9tYWluRnJhbWUtPnNlbGVj
dGlvbigpLnNlbGVjdGlvbigpOworICAgIGlmICghY3VycmVudFNlbGVjdGlvbi5pc1JhbmdlKCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChhdXRvIHNlbGVjdGVkUmFuZ2UgPSBj
dXJyZW50U2VsZWN0aW9uLnRvTm9ybWFsaXplZFJhbmdlKCkpIHsKKyAgICAgICAgVmVjdG9yPFNl
bGVjdGlvblJlY3Q+IHNlbGVjdGlvblJlY3RzOworICAgICAgICBzZWxlY3RlZFJhbmdlLT5jb2xs
ZWN0U2VsZWN0aW9uUmVjdHMoc2VsZWN0aW9uUmVjdHMpOworICAgICAgICBmb3IgKGF1dG8gc2Vs
ZWN0aW9uUmVjdCA6IHNlbGVjdGlvblJlY3RzKSB7CisgICAgICAgICAgICBpZiAoRmxvYXRSZWN0
KHNlbGVjdGlvblJlY3QucmVjdCgpKS5jb250YWlucyhwb3NpdGlvbikpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCmluZGV4IGFk
ODM1MWIyMDY0NDBlNThlNjBhYzRkZjY2NjJkZjk3ZjlkZDA0YzMuLjQ0MGQxYWJlOTgwNTQ0ZjM4
MzFkZDBhYWE4YzMxOWQ2YjAyYTUzZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCkBAIC01NjYsNiArNTY2LDEw
IEBAIHB1YmxpYzoKICAgICBib29sIGlzT25seU5vblV0aWxpdHlQYWdlKCkgY29uc3Q7CiAgICAg
Ym9vbCBpc1V0aWxpdHlQYWdlKCkgY29uc3QgeyByZXR1cm4gbV9pc1V0aWxpdHlQYWdlOyB9CiAK
KyNpZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikKKyAgICBXRUJDT1JFX0VYUE9SVCBib29sIGhh
c0RhdGFJbnRlcmFjdGlvbkF0UG9zaXRpb24oY29uc3QgRmxvYXRQb2ludCYpIGNvbnN0OworI2Vu
ZGlmCisKIHByaXZhdGU6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBpbml0R3JvdXAoKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9JbnRlcmFjdGlvbkluZm9ybWF0
aW9uQXRQb3NpdGlvbi5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9JbnRlcmFjdGlvbklu
Zm9ybWF0aW9uQXRQb3NpdGlvbi5oCmluZGV4IGI5YzJkOGYzOWQ0NGY1MTZlOWUzMzU2MzZhMDdh
NDQ5MDhhYjQwNDkuLmI0MWQ2NGQ5MjAwOThjN2IyYTU1ZGMxMWQ4MWI4MjJjODZmNjk1ZDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlv
bkF0UG9zaXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvaW9zL0ludGVyYWN0aW9u
SW5mb3JtYXRpb25BdFBvc2l0aW9uLmgKQEAgLTQxLDYgKzQxLDkgQEAgc3RydWN0IEludGVyYWN0
aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uIHsKICAgICBJbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVx
dWVzdCByZXF1ZXN0OwogCiAgICAgYm9vbCBub2RlQXRQb3NpdGlvbklzQXNzaXN0ZWROb2RlIHsg
ZmFsc2UgfTsKKyNpZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikKKyAgICBib29sIGhhc0RhdGFJ
bnRlcmFjdGlvbkF0UG9zaXRpb24geyBmYWxzZSB9OworI2VuZGlmCiAgICAgYm9vbCBpc1NlbGVj
dGFibGUgeyBmYWxzZSB9OwogICAgIGJvb2wgaXNOZWFyTWFya2VkVGV4dCB7IGZhbHNlIH07CiAg
ICAgYm9vbCB0b3VjaENhbGxvdXRFbmFibGVkIHsgdHJ1ZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL2lvcy9JbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbi5tbSBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRp
b24ubW0KaW5kZXggYTY0ZTc5YjEwYTA4ZTQxZDg4ODk3N2JlMmNjMWI4ZWNjM2QzN2IyYi4uYmEx
YTRjNTkxZTFhMTYzMTM2ZjU3MmVjMGJhMjA3NWFlNjU0NDZiYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL2lvcy9JbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbi5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBv
c2l0aW9uLm1tCkBAIC00Myw2ICs0Myw5IEBAIHZvaWQgSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0
UG9zaXRpb246OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2Rl
ciA8PCByZXF1ZXN0OwogCiAgICAgZW5jb2RlciA8PCBub2RlQXRQb3NpdGlvbklzQXNzaXN0ZWRO
b2RlOworI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQorICAgIGVuY29kZXIgPDwgaGFzRGF0
YUludGVyYWN0aW9uQXRQb3NpdGlvbjsKKyNlbmRpZgogICAgIGVuY29kZXIgPDwgaXNTZWxlY3Rh
YmxlOwogICAgIGVuY29kZXIgPDwgaXNOZWFyTWFya2VkVGV4dDsKICAgICBlbmNvZGVyIDw8IHRv
dWNoQ2FsbG91dEVuYWJsZWQ7CkBAIC04Nyw2ICs5MCwxMSBAQCBib29sIEludGVyYWN0aW9uSW5m
b3JtYXRpb25BdFBvc2l0aW9uOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBJbnRlcmFj
dGlvbgogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm5vZGVBdFBvc2l0aW9uSXNBc3Np
c3RlZE5vZGUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyNpZiBFTkFCTEUoREFUQV9JTlRF
UkFDVElPTikKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5oYXNEYXRhSW50ZXJhY3Rp
b25BdFBvc2l0aW9uKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCisKICAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKHJlc3VsdC5pc1NlbGVjdGFibGUpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4IGFiY2ZkZWNhMDRi
NDUxYmEyMjljOThhYjBkMzA5YmNkOTA4OTg4ZWMuLmZhYzc5ODA4Njk4MmNmM2NhNzc5MzJmZjdl
MTJjNjQ1MGY2OWQwZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdl
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAt
MzgxLDYgKzM4MSwxMSBAQCBwdWJsaWM6CiAjaWYgVVNFKFFVSUNLX0xPT0spCiAgICAgdmlydHVh
bCB2b2lkIHJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50KGNvbnN0IFN0cmluZyYg
ZmlsZU5hbWUsIHN0ZDo6ZnVuY3Rpb248dm9pZChjb25zdCBTdHJpbmcmKT4mJikgPSAwOwogI2Vu
ZGlmCisKKyNpZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikKKyAgICB2aXJ0dWFsIHZvaWQgZGlk
UGVyZm9ybURhdGFJbnRlcmFjdGlvbkNvbnRyb2xsZXJPcGVyYXRpb24oKSA9IDA7CisgICAgdmly
dHVhbCB2b2lkIHN0YXJ0RGF0YUludGVyYWN0aW9uV2l0aEltYWdlKGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGlt
YWdlLCBib29sIGlzTGluaykgPSAwOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA3NzAyODlhMDM1
Y2UyODkyNjBmYzgxNjI2ZjE0MzRkZTA3YzBlN2Y1Li5hYWMwOGE4YzNlYTcyOGJjY2E1NDk2M2Mw
N2M3YjgwMTVkMWI5YmM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
CkBAIC01NDMsNiArNTQzLDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIGhhbmRsZVR3b0ZpbmdlclRh
cEF0UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCB1aW50NjRfdCByZXF1ZXN0SUQpOwog
ICAgIHZvaWQgc2V0Rm9yY2VBbHdheXNVc2VyU2NhbGFibGUoYm9vbCk7CiAgICAgdm9pZCBzZXRJ
c1Njcm9sbGluZ09yWm9vbWluZyhib29sKTsKKyNpZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikK
KyAgICB2b2lkIGRpZFBlcmZvcm1EYXRhSW50ZXJhY3Rpb25Db250cm9sbGVyT3BlcmF0aW9uKCk7
CisgICAgdm9pZCByZXF1ZXN0U3RhcnREYXRhSW50ZXJhY3Rpb24oY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZ2xvYmFsUG9z
aXRpb24pOworI2VuZGlmCiAjZW5kaWYKICNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCiAgICAg
dm9pZCBzZXREYXRhRGV0ZWN0aW9uUmVzdWx0KGNvbnN0IERhdGFEZXRlY3Rpb25SZXN1bHQmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
CmluZGV4IGY2YTlkMTAzYzZiOGY0ZjM0NjRmN2E1MDNmZDMzYmY2YWU1OTdmMWUuLjQ3YzgxMjAz
MWFlOTE0NWNkZGYzOWQyNDA4YjhhMDVjZDdmMmRlMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMzE2LDYgKzMxNiwxMCBA
QCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIFN0YXJ0RHJhZyhzdHJ1Y3QgV2ViS2l0
OjpXZWJTZWxlY3Rpb25EYXRhIHNlbGVjdGlvbiwgdWludDY0X3QgZHJhZ09wZXJhdGlvbiwgV2Vi
S2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBkcmFnSW1hZ2UpCiAjZW5kaWYKIAorI2lmIEVO
QUJMRShEQVRBX0lOVEVSQUNUSU9OKQorICAgIERpZFBlcmZvcm1EYXRhSW50ZXJhY3Rpb25Db250
cm9sbGVyT3BlcmF0aW9uKCkKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgIyBE
aWN0aW9uYXJ5IHN1cHBvcnQuCiAgICAgRGlkUGVyZm9ybURpY3Rpb25hcnlMb29rdXAoc3RydWN0
IFdlYkNvcmU6OkRpY3Rpb25hcnlQb3B1cEluZm8gZGljdGlvbmFyeVBvcHVwSW5mbykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAppbmRleCAw
NjQzNTAwNzFiMDgwYWM0OGEyMjcxY2I3MTY2YzljM2UwNzYwOGI4Li44YjMyZmYxZmUwNzQ4NTc4
MTA2ZjJkNTQ0NzFkMjQ0NjkwMzU2NjM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCkBAIC0yMDAsNiArMjAwLDExIEBAIHByaXZhdGU6
CiAKICAgICB2b2lkIHJlcXVlc3RQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50KGNvbnN0IFN0
cmluZyYgZmlsZU5hbWUsIHN0ZDo6ZnVuY3Rpb248dm9pZChjb25zdCBTdHJpbmcmKT4mJikgb3Zl
cnJpZGU7CiAKKyNpZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikKKyAgICB2b2lkIGRpZFBlcmZv
cm1EYXRhSW50ZXJhY3Rpb25Db250cm9sbGVyT3BlcmF0aW9uKCkgb3ZlcnJpZGU7CisgICAgdm9p
ZCBzdGFydERhdGFJbnRlcmFjdGlvbldpdGhJbWFnZShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYg
Y2xpZW50UG9zaXRpb24sIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZSwgYm9v
bCBpc0xpbmspIG92ZXJyaWRlOworI2VuZGlmCisKICAgICBXS0NvbnRlbnRWaWV3ICptX2NvbnRl
bnRWaWV3OwogICAgIFdLV2ViVmlldyAqbV93ZWJWaWV3OwogICAgIFJldGFpblB0cjxXS0VkaXRv
clVuZG9UYXJnZXRPYmpDPiBtX3VuZG9UYXJnZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQppbmRleCBlYWJkOTM0ZDNlOTE0NWQ4Nzhm
MDU0N2Q2NzEyNmQwNjM2ODNjMjJmLi44YjdiNjY1MTU1Mjg1OWVjZWMzODE4N2IzMjc4ZGQ1NWM1
ZjViOGY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MubW0KQEAgLTc2Miw2ICs3NjIsMTYgQEAgUmVmPFZhbGlkYXRpb25CdWJibGU+IFBh
Z2VDbGllbnRJbXBsOjpjcmVhdGVWYWxpZGF0aW9uQnViYmxlKGNvbnN0IFN0cmluZyYgbWVzc2EK
ICAgICByZXR1cm4gVmFsaWRhdGlvbkJ1YmJsZTo6Y3JlYXRlKG1fY29udGVudFZpZXcsIG1lc3Nh
Z2UpOwogfQogCisjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCit2b2lkIFBhZ2VDbGllbnRJ
bXBsOjpkaWRQZXJmb3JtRGF0YUludGVyYWN0aW9uQ29udHJvbGxlck9wZXJhdGlvbigpCit7Cit9
CisKK3ZvaWQgUGFnZUNsaWVudEltcGw6OnN0YXJ0RGF0YUludGVyYWN0aW9uV2l0aEltYWdlKGNv
bnN0IFdlYkNvcmU6OkludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgU2hhcmVhYmxlQml0
bWFwOjpIYW5kbGUmIGltYWdlLCBib29sIGlzTGluaykKK3sKK30KKyNlbmRpZgorCiB2b2lkIFBh
Z2VDbGllbnRJbXBsOjpoYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZShi
b29sIGhhc0FjdGl2ZVNlc3Npb24sIGNvbnN0IFN0cmluZyYgdGl0bGUsIGRvdWJsZSBkdXJhdGlv
biwgZG91YmxlIGVsYXBzZWRUaW1lKQogewogICAgIFttX3dlYlZpZXcgX2hhbmRsZUFjdGl2ZU5v
d1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlOmhhc0FjdGl2ZVNlc3Npb24gdGl0bGU6bnNTdHJp
bmdGcm9tV2ViQ29yZVN0cmluZyh0aXRsZSkgZHVyYXRpb246ZHVyYXRpb24gZWxhcHNlZFRpbWU6
ZWxhcHNlZFRpbWVdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9X
ZWJQYWdlUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQ
cm94eUlPUy5tbQppbmRleCBmOGM5YjVhNWI5N2Q5YzM0Njg5MjhhMDBhMzliNWJlMmQ4NDlhN2Nl
Li5jNGMzMjEyZmQ4MDI3MzM0YjkyODJjMDA2ZjQzODc1YTE3YjRlNDYxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQpAQCAtMTA4MSw2ICsx
MDgxLDIxIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRJc1Njcm9sbGluZ09yWm9vbWluZyhib29s
IGlzU2Nyb2xsaW5nT3Jab29taW5nKQogICAgICAgICBtX3ZhbGlkYXRpb25CdWJibGUtPnNob3co
KTsKIH0KIAorI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQorCit2b2lkIFdlYlBhZ2VQcm94
eTo6ZGlkUGVyZm9ybURhdGFJbnRlcmFjdGlvbkNvbnRyb2xsZXJPcGVyYXRpb24oKQoreworICAg
IG1fcGFnZUNsaWVudC5kaWRQZXJmb3JtRGF0YUludGVyYWN0aW9uQ29udHJvbGxlck9wZXJhdGlv
bigpOworfQorCit2b2lkIHJlcXVlc3RTdGFydERhdGFJbnRlcmFjdGlvbihjb25zdCBXZWJDb3Jl
OjpJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBnbG9i
YWxQb3NpdGlvbikKK3sKKyAgICBpZiAoaXNWYWxpZCgpKQorICAgICAgICBtX3Byb2Nlc3MtPnNl
bmQoTWVzc2FnZXM6OldlYlBhZ2U6OlJlcXVlc3RTdGFydERhdGFJbnRlcmFjdGlvbihjbGllbnRQ
b3NpdGlvbiwgZ2xvYmFsUG9zaXRpb24pLCBtX3BhZ2VJRCk7Cit9CisKKyNlbmRpZgorCiAjaWYg
VVNFKFFVSUNLX0xPT0spCiAgICAgCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkU3RhcnRMb2FkRm9y
UXVpY2tMb29rRG9jdW1lbnRJbk1haW5GcmFtZShjb25zdCBTdHJpbmcmIGZpbGVOYW1lLCBjb25z
dCBTdHJpbmcmIHV0aSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMv
UGFnZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVu
dEltcGwuaAppbmRleCAwZDJkZGFhMmNkY2Q3YjY2MDk2OWM2ZDQzY2Q4ZGIyZTI5ZmFiMTY3Li5j
ZWRiN2IyMTA4N2EwZmZlNDM4ZjNhYWQ1MjYzN2Q5NjM4YjkyZDMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oCkBAIC0yMzIsNiArMjMyLDExIEBA
IHByaXZhdGU6CiAgICAgX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkgKnJlbW90ZU9iamVjdFJlZ2lz
dHJ5KCkgb3ZlcnJpZGU7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQor
ICAgIHZvaWQgZGlkUGVyZm9ybURhdGFJbnRlcmFjdGlvbkNvbnRyb2xsZXJPcGVyYXRpb24oKSBv
dmVycmlkZTsKKyAgICB2b2lkIHN0YXJ0RGF0YUludGVyYWN0aW9uV2l0aEltYWdlKGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpI
YW5kbGUmIGltYWdlLCBib29sIGlzTGluaykgb3ZlcnJpZGU7CisjZW5kaWYKKwogICAgIE5TVmll
dyAqbV92aWV3OwogICAgIFdLV2ViVmlldyAqbV93ZWJWaWV3OwogICAgIFdlYlZpZXdJbXBsKiBt
X2ltcGwgeyBudWxscHRyIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1BhZ2VDbGllbnRJbXBsLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdl
Q2xpZW50SW1wbC5tbQppbmRleCBiMGU0Njc2MjQxZmNhZTdlMDE4ZDc0MzJkNjc2ZTBiNjdmYzZh
Zjc3Li5kM2FjYzU4NzkwNzM4M2M4NGFhYjQ4NDMzOGYxMjIyNzlhMTE4OTExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0KQEAgLTg3NSw2ICs4
NzUsMTggQEAgYm9vbCBQYWdlQ2xpZW50SW1wbDo6d2luZG93SXNGcm9udFdpbmRvd1VuZGVyTW91
c2UoY29uc3QgTmF0aXZlV2ViTW91c2VFdmVudCYgZXYKICAgICByZXR1cm4gbV9pbXBsLT53aW5k
b3dJc0Zyb250V2luZG93VW5kZXJNb3VzZShldmVudC5uYXRpdmVFdmVudCgpKTsKIH0KIAorI2lm
IEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQordm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkUGVyZm9y
bURhdGFJbnRlcmFjdGlvbkNvbnRyb2xsZXJPcGVyYXRpb24oKQoreworICAgIC8vIEZJWE1FOiBJ
bXBsZW1lbnQgbWUuCit9CisKK3ZvaWQgUGFnZUNsaWVudEltcGw6OnN0YXJ0RGF0YUludGVyYWN0
aW9uV2l0aEltYWdlKGNvbnN0IEludFBvaW50JiwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5k
bGUmLCBib29sKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgbWUuCit9CisjZW5kaWYKKwog
V2ViQ29yZTo6VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbiBQYWdlQ2xpZW50SW1wbDo6dXNl
ckludGVyZmFjZUxheW91dERpcmVjdGlvbigpCiB7CiAgICAgaWYgKCFtX3ZpZXcpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZGY1ZDA1NGZj
MWNiMjMzMWIyN2NiNTYyMzRkODVkN2Y0MzYzMGE4NS4uYWU4MjgwMDc0N2E4YzViOTk0OTkwYmI4
MmVhZmQ4N2FmNTBjNTAzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcApAQCAtMzUyNyw2ICszNTI3LDkgQEAgdm9pZCBXZWJQYWdlOjpwZXJmb3Jt
RHJhZ0NvbnRyb2xsZXJBY3Rpb24odWludDY0X3QgYWN0aW9uLCBjb25zdCBXZWJDb3JlOjpEcmFn
RGEKICAgICAgICAgbV9wZW5kaW5nRHJvcFNhbmRib3hFeHRlbnNpb24gPSBudWxscHRyOwogCiAg
ICAgICAgIG1fcGVuZGluZ0Ryb3BFeHRlbnNpb25zRm9yRmlsZVVwbG9hZC5jbGVhcigpOworI2lm
IEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQorICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
UHJveHk6OkRpZFBlcmZvcm1EYXRhSW50ZXJhY3Rpb25Db250cm9sbGVyT3BlcmF0aW9uKCkpOwor
I2VuZGlmCiAgICAgICAgIGJyZWFrOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggMmY3ZmJiMTY0OTRjNDZhYzA1MjFkYmY2YzA1N2Qx
YThlNDRkMDVhOC4uZWJjY2MzMzMyZjgzMjA0NDkyNTA0NjljMTA5MGMyM2Q3MWVmOTYwMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0xMDE0LDYg
KzEwMTQsOSBAQCBwcml2YXRlOgogICAgIFBhc3NSZWZQdHI8V2ViQ29yZTo6UmFuZ2U+IHJhbmdl
Rm9yR3JhbnVsYXJpdHlBdFBvaW50KGNvbnN0IFdlYkNvcmU6OkZyYW1lJiwgY29uc3QgV2ViQ29y
ZTo6SW50UG9pbnQmLCB1aW50MzJfdCBncmFudWxhcml0eSwgYm9vbCBpc0ludGVyYWN0aW5nV2l0
aEFzc2lzdGVkTm9kZSk7CiAgICAgYm9vbCBzaG91bGRTd2l0Y2hUb0Jsb2NrTW9kZUZvckhhbmRs
ZShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgaGFuZGxlUG9pbnQsIFNlbGVjdGlvbkhhbmRsZVBv
c2l0aW9uKTsKICAgICBSZWZQdHI8V2ViQ29yZTo6UmFuZ2U+IHN3aXRjaFRvQmxvY2tTZWxlY3Rp
b25BdFBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgU2VsZWN0aW9uSGFuZGxlUG9zaXRp
b24pOworI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQorICAgIHZvaWQgcmVxdWVzdFN0YXJ0
RGF0YUludGVyYWN0aW9uKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBjbGllbnRQb3NpdGlvbiwg
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uKTsKKyNlbmRpZgogI2VuZGlm
CiAKICNpZiAhUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IGI5YjRiNzg2ZDc5MGE5ZDVk
MmQwMGJiZjJiMzA5ZTc0ZmU1YmZmODIuLjhiNzI4ODViMzZjOGMyZjBjOGQ0YmE0YWIwODg3ZTVk
NWMwMWFjNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0yNDYsNiArMjQ2LDEwIEBAIG1lc3NhZ2VzIC0+IFdl
YlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogICAgIERyYWdFbmRlZChXZWJDb3JlOjpJbnRQb2ludCBj
bGllbnRQb3NpdGlvbiwgV2ViQ29yZTo6SW50UG9pbnQgZ2xvYmFsUG9zaXRpb24sIHVpbnQ2NF90
IG9wZXJhdGlvbikKICNlbmRpZgogCisjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCisgICAg
UmVxdWVzdFN0YXJ0RGF0YUludGVyYWN0aW9uKFdlYkNvcmU6OkludFBvaW50IGNsaWVudFBvc2l0
aW9uLCBXZWJDb3JlOjpJbnRQb2ludCBnbG9iYWxQb3NpdGlvbikKKyNlbmRpZgorCiAgICAgIyBQ
b3B1cCBtZW51LgogICAgIERpZENoYW5nZVNlbGVjdGVkSW5kZXhGb3JBY3RpdmVQb3B1cE1lbnUo
aW50MzJfdCBuZXdJbmRleCkKICAgICBTZXRUZXh0Rm9yQWN0aXZlUG9wdXBNZW51KGludDMyX3Qg
aW5kZXgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9z
L1dlYlBhZ2VJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dl
YlBhZ2VJT1MubW0KaW5kZXggZDFjZjMzMjFjN2JjMzNiYjFlNWU3MGUyYmRiMjUyZTdjODc4ZjFm
Ni4uMWUzZDU5MGMyYjBhMjlhMGUyZDU1ZmE3MWEzMzg0MzkzZDg0ZWVjYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAt
NjIwLDYgKzYyMCwxMyBAQCB2b2lkIFdlYlBhZ2U6OmhhbmRsZVRhcChjb25zdCBJbnRQb2ludCYg
cG9pbnQsIHVpbnQ2NF90IGxhc3RMYXllclRyZWVUcmFuc2FjdGlvbgogICAgICAgICBoYW5kbGVT
eW50aGV0aWNDbGljayhub2RlUmVzcG9uZGluZ1RvQ2xpY2ssIGFkanVzdGVkUG9pbnQpOwogfQog
CisjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCit2b2lkIFdlYlBhZ2U6OnJlcXVlc3RTdGFy
dERhdGFJbnRlcmFjdGlvbihjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IElu
dFBvaW50JiBnbG9iYWxQb3NpdGlvbikKK3sKKyAgICBtX3BhZ2UtPm1haW5GcmFtZSgpLmV2ZW50
SGFuZGxlcigpLnRyeVRvQmVnaW5EYXRhSW50ZXJhY3Rpb25BdFBvaW50KGNsaWVudFBvc2l0aW9u
LCBnbG9iYWxQb3NpdGlvbik7Cit9CisjZW5kaWYKKwogdm9pZCBXZWJQYWdlOjpzZW5kVGFwSGln
aGxpZ2h0Rm9yTm9kZUlmTmVjZXNzYXJ5KHVpbnQ2NF90IHJlcXVlc3RJRCwgTm9kZSogbm9kZSkK
IHsKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQpAQCAtMjQ2Myw2ICsyNDcwLDEwIEBAIHZvaWQg
V2ViUGFnZTo6Z2V0UG9zaXRpb25JbmZvcm1hdGlvbihjb25zdCBJbnRlcmFjdGlvbkluZm9ybWF0
aW9uUmVxdWVzdCYgcmVxdWVzCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CisKKyNp
ZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikKKyAgICBpbmZvLmhhc0RhdGFJbnRlcmFjdGlvbkF0
UG9zaXRpb24gPSBtX3BhZ2UtPmhhc0RhdGFJbnRlcmFjdGlvbkF0UG9zaXRpb24oYWRqdXN0ZWRQ
b2ludCk7CisjZW5kaWYKIH0KIAogdm9pZCBXZWJQYWdlOjpyZXF1ZXN0UG9zaXRpb25JbmZvcm1h
dGlvbihjb25zdCBJbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdCYgcmVxdWVzdCkK
</data>
<flag name="review"
          id="321720"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299789</attachid>
            <date>2017-01-25 19:43:02 -0800</date>
            <delta_ts>2017-01-25 19:43:57 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-167443-20170125194101.patch</filename>
            <type>text/plain</type>
            <size>17932</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2RhYTY1NjkwYTFjN2Fh
N2Q1ZDhiNGEyZDM2NGVlM2ZjYjk1OWQyYS4uYTRhY2MzNGUzYzdkNjM0NTY2Y2MzYjcyYTgxM2Zh
YTFhODQ4NjZiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDE3LTAxLTI1ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCisgICAgICAgIEFkZCBpbmZyYXN0
cnVjdHVyZSB0byBzdXBwb3J0IGRhdGEgaW50ZXJhY3Rpb24gaW4gV2ViS2l0MgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3NDQzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBzdXBwb3J0IGluIFdl
YkNvcmUgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlcmUgaXMgaW50ZXJhY3RpdmUgZGF0YSBhdCBh
IGdpdmVuIHBvc2l0aW9uLiBObyBuZXcgdGVzdHMsIHNpbmNlCisgICAgICAgIHRoZXJlIHNob3Vs
ZCBiZSBubyBiZWhhdmlvciBjaGFuZ2UgeWV0LgorCisgICAgICAgICogcGFnZS9FdmVudEhhbmRs
ZXIuaDoKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6
aGFzRGF0YUludGVyYWN0aW9uQXRQb3NpdGlvbik6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisK
KzIwMTctMDEtMjUgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKICAg
ICAgICAgUmVmYWN0b3IgZHJhZyBhbmQgZHJvcCBpbXBsZW1lbnRhdGlvbiBvbiBNYWMKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzQyNwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggNjE3NmEyM2ZiNjE2ZmUyMmU2ZDUxMzA4ZjI5NDc2YmI4YWYxYWE3Ny4uZGJiNDFl
NzNiNDM5NjRhNmJlNTQwOWJkOWViYjUxMzFkZjcxMjA0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsx
LDQzIEBACiAyMDE3LTAxLTI1ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29t
PgogCisgICAgICAgIEFkZCBpbmZyYXN0cnVjdHVyZSB0byBzdXBwb3J0IGRhdGEgaW50ZXJhY3Rp
b24gaW4gV2ViS2l0MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTY3NDQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkcyBwbHVtYmluZyBmb3IgdHdvIG5ldyBYUEMgbWVzc2FnZXM6IFdlYlBhZ2VQcm94
eTo6RGlkUGVyZm9ybURhdGFJbnRlcmFjdGlvbkNvbnRyb2xsZXJPcGVyYXRpb24gYW5kCisgICAg
ICAgIFdlYlBhZ2U6OlJlcXVlc3RTdGFydERhdGFJbnRlcmFjdGlvbi4gQWRkaXRpb25hbGx5LCBh
ZGRzIGEgbmV3IGZpZWxkIHRvIEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uIHRoYXQK
KyAgICAgICAgaW5kaWNhdGVzIHdoZXRoZXIgb3Igbm90IHRoZXJlIGlzIGRhdGEgdG8gaW50ZXJh
Y3Qgd2l0aCBhdCBhIGdpdmVuIGxvY2F0aW9uLgorCisgICAgICAgIFRoaXMgcGF0Y2ggb25seSBh
ZGRzIGluZnJhc3RydWN0dXJlLCBhbmQgZG9lcyBub3QgY2hhbmdlIGFueSBiZWhhdmlvci4KKwor
ICAgICAgICAqIFNoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaDoK
KyAgICAgICAgKiBTaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLm1t
OgorICAgICAgICAoV2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbjo6ZW5j
b2RlKToKKyAgICAgICAgKFdlYktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb246
OmRlY29kZSk6CisgICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9T
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbToKKyAgICAg
ICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmRpZFBlcmZvcm1EYXRhSW50ZXJhY3Rpb25Db250
cm9sbGVyT3BlcmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnN0YXJ0
RGF0YUludGVyYWN0aW9uV2l0aEltYWdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dlYlBh
Z2VQcm94eUlPUy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRQZXJmb3Jt
RGF0YUludGVyYWN0aW9uQ29udHJvbGxlck9wZXJhdGlvbik6CisgICAgICAgIChXZWJLaXQ6OnJl
cXVlc3RTdGFydERhdGFJbnRlcmFjdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdl
Q2xpZW50SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW06
CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpkaWRQZXJmb3JtRGF0YUludGVyYWN0
aW9uQ29udHJvbGxlck9wZXJhdGlvbik6CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBs
OjpzdGFydERhdGFJbnRlcmFjdGlvbldpdGhJbWFnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjpyZXF1ZXN0U3RhcnREYXRhSW50ZXJhY3Rpb24pOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjpnZXRQb3NpdGlvbkluZm9ybWF0aW9uKToKKworMjAxNy0wMS0yNSAg
V2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKwogICAgICAgICBSZWZhY3Rv
ciBkcmFnIGFuZCBkcm9wIGltcGxlbWVudGF0aW9uIG9uIE1hYwogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3NDI3CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
SGFuZGxlci5oCmluZGV4IDljNzU3NjVmZjI0NTA3NjA4Njc1NTQ3MWVjMGMxZTJkNGY2ZmVlZTcu
LmE4MmQ3Y2QzYWIzNTNmOWUzMGEzZDgxMGExNjI3ODZlMzAzYmMxYmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuaApAQCAtMzE1LDYgKzMxNSwxMCBAQCBwdWJsaWM6CiAKICAgICBzdGF0
aWMgV2lkZ2V0KiB3aWRnZXRGb3JFdmVudFRhcmdldChFbGVtZW50KiBldmVudFRhcmdldCk7CiAK
KyNpZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikKKyAgICBXRUJDT1JFX0VYUE9SVCBib29sIHRy
eVRvQmVnaW5EYXRhSW50ZXJhY3Rpb25BdFBvaW50KGNvbnN0IEludFBvaW50JiBjbGllbnRQb3Np
dGlvbiwgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uKTsKKyNlbmRpZgorCiBwcml2YXRl
OgogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgc3RhdGljIERyYWdTdGF0ZSYgZHJhZ1N0
YXRlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCA3N2M3ZjNlMGI5MmVhNzBmZTI4YjQ5ZjVhYWY1
YjkzMWZiZGZhOWU3Li5iMzE2ZDY2ZWY3M2JjYTFmODliZjg1OWM0MTVhOTc4ZDFhZmYzNzc5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTEyNyw2ICsxMjcsMTAgQEAKICNpbmNsdWRlICJJblByb2Nl
c3NJREJTZXJ2ZXIuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCisj
aW5jbHVkZSAiU2VsZWN0aW9uUmVjdC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogc3RhdGljIEhhc2hTZXQ8UGFnZSo+KiBhbGxQYWdlczsKQEAgLTIxNTIsNCArMjE1NiwyNiBA
QCB2b2lkIFBhZ2U6OmFjY2Vzc2liaWxpdHlTZXR0aW5nc0RpZENoYW5nZSgpCiAgICAgICAgIExP
RyhMYXlvdXQsICJoYXNNZWRpYVF1ZXJpZXNBZmZlY3RlZEJ5QWNjZXNzaWJpbGl0eVNldHRpbmdz
Q2hhbmdlLCBlbnF1ZXVlaW5nIHN0eWxlIHJlY2FsYyIpOwogfQogCisjaWYgRU5BQkxFKERBVEFf
SU5URVJBQ1RJT04pCisKK2Jvb2wgUGFnZTo6aGFzRGF0YUludGVyYWN0aW9uQXRQb3NpdGlvbihj
b25zdCBGbG9hdFBvaW50JiBwb3NpdGlvbikgY29uc3QKK3sKKyAgICBhdXRvIGN1cnJlbnRTZWxl
Y3Rpb24gPSBtX21haW5GcmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uKCk7CisgICAgaWYgKCFj
dXJyZW50U2VsZWN0aW9uLmlzUmFuZ2UoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
aWYgKGF1dG8gc2VsZWN0ZWRSYW5nZSA9IGN1cnJlbnRTZWxlY3Rpb24udG9Ob3JtYWxpemVkUmFu
Z2UoKSkgeworICAgICAgICBWZWN0b3I8U2VsZWN0aW9uUmVjdD4gc2VsZWN0aW9uUmVjdHM7Cisg
ICAgICAgIHNlbGVjdGVkUmFuZ2UtPmNvbGxlY3RTZWxlY3Rpb25SZWN0cyhzZWxlY3Rpb25SZWN0
cyk7CisgICAgICAgIGZvciAoYXV0byBzZWxlY3Rpb25SZWN0IDogc2VsZWN0aW9uUmVjdHMpIHsK
KyAgICAgICAgICAgIGlmIChGbG9hdFJlY3Qoc2VsZWN0aW9uUmVjdC5yZWN0KCkpLmNvbnRhaW5z
KHBvc2l0aW9uKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAg
IH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKworI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggYWQ4MzUxYjIwNjQ0MGU1OGU2MGFjNGRmNjY2MmRmOTdm
OWRkMDRjMy4uNDQwZDFhYmU5ODA1NDRmMzgzMWRkMGFhYThjMzE5ZDZiMDJhNTNmNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9QYWdlLmgKQEAgLTU2Niw2ICs1NjYsMTAgQEAgcHVibGljOgogICAgIGJvb2wgaXNPbmx5Tm9u
VXRpbGl0eVBhZ2UoKSBjb25zdDsKICAgICBib29sIGlzVXRpbGl0eVBhZ2UoKSBjb25zdCB7IHJl
dHVybiBtX2lzVXRpbGl0eVBhZ2U7IH0KIAorI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQor
ICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaGFzRGF0YUludGVyYWN0aW9uQXRQb3NpdGlvbihjb25z
dCBGbG9hdFBvaW50JikgY29uc3Q7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIGluaXRHcm91cCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLmggYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvaW9zL0ludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLmgKaW5kZXggYjlj
MmQ4ZjM5ZDQ0ZjUxNmU5ZTMzNTYzNmEwN2E0NDkwOGFiNDA0OS4uYjQxZDY0ZDkyMDA5OGM3YjJh
NTVkYzExZDgxYjgyMmM4NmY2OTVkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L2lvcy9JbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaApAQCAtNDEs
NiArNDEsOSBAQCBzdHJ1Y3QgSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24gewogICAg
IEludGVyYWN0aW9uSW5mb3JtYXRpb25SZXF1ZXN0IHJlcXVlc3Q7CiAKICAgICBib29sIG5vZGVB
dFBvc2l0aW9uSXNBc3Npc3RlZE5vZGUgeyBmYWxzZSB9OworI2lmIEVOQUJMRShEQVRBX0lOVEVS
QUNUSU9OKQorICAgIGJvb2wgaGFzRGF0YUludGVyYWN0aW9uQXRQb3NpdGlvbiB7IGZhbHNlIH07
CisjZW5kaWYKICAgICBib29sIGlzU2VsZWN0YWJsZSB7IGZhbHNlIH07CiAgICAgYm9vbCBpc05l
YXJNYXJrZWRUZXh0IHsgZmFsc2UgfTsKICAgICBib29sIHRvdWNoQ2FsbG91dEVuYWJsZWQgeyB0
cnVlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvaW9zL0ludGVyYWN0aW9u
SW5mb3JtYXRpb25BdFBvc2l0aW9uLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9JbnRl
cmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbi5tbQppbmRleCBhNjRlNzliMTBhMDhlNDFkODg4
OTc3YmUyY2MxYjhlY2MzZDM3YjJiLi5iYTFhNGM1OTFlMWExNjMxMzZmNTcyZWMwYmEyMDc1YWU2
NTQ0NmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvaW9zL0ludGVyYWN0aW9u
SW5mb3JtYXRpb25BdFBvc2l0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3Mv
SW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24ubW0KQEAgLTQzLDYgKzQzLDkgQEAgdm9p
ZCBJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbjo6ZW5jb2RlKElQQzo6RW5jb2RlciYg
ZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVyIDw8IHJlcXVlc3Q7CiAKICAgICBlbmNvZGVyIDw8
IG5vZGVBdFBvc2l0aW9uSXNBc3Npc3RlZE5vZGU7CisjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJ
T04pCisgICAgZW5jb2RlciA8PCBoYXNEYXRhSW50ZXJhY3Rpb25BdFBvc2l0aW9uOworI2VuZGlm
CiAgICAgZW5jb2RlciA8PCBpc1NlbGVjdGFibGU7CiAgICAgZW5jb2RlciA8PCBpc05lYXJNYXJr
ZWRUZXh0OwogICAgIGVuY29kZXIgPDwgdG91Y2hDYWxsb3V0RW5hYmxlZDsKQEAgLTg3LDYgKzkw
LDExIEBAIGJvb2wgSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb246OmRlY29kZShJUEM6
OkRlY29kZXImIGRlY29kZXIsIEludGVyYWN0aW9uCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShy
ZXN1bHQubm9kZUF0UG9zaXRpb25Jc0Fzc2lzdGVkTm9kZSkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAorI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQorICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUocmVzdWx0Lmhhc0RhdGFJbnRlcmFjdGlvbkF0UG9zaXRpb24pKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisjZW5kaWYKKwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmlzU2VsZWN0
YWJsZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdl
Q2xpZW50LmgKaW5kZXggYWJjZmRlY2EwNGI0NTFiYTIyOWM5OGFiMGQzMDliY2Q5MDg5ODhlYy4u
ZmFjNzk4MDg2OTgyY2YzY2E3NzkzMmZmN2UxMmM2NDUwZjY5ZDBlZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0zODEsNiArMzgxLDExIEBAIHB1YmxpYzoKICNpZiBV
U0UoUVVJQ0tfTE9PSykKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdFBhc3N3b3JkRm9yUXVpY2tM
b29rRG9jdW1lbnQoY29uc3QgU3RyaW5nJiBmaWxlTmFtZSwgc3RkOjpmdW5jdGlvbjx2b2lkKGNv
bnN0IFN0cmluZyYpPiYmKSA9IDA7CiAjZW5kaWYKKworI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNU
SU9OKQorICAgIHZpcnR1YWwgdm9pZCBkaWRQZXJmb3JtRGF0YUludGVyYWN0aW9uQ29udHJvbGxl
ck9wZXJhdGlvbigpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnREYXRhSW50ZXJhY3Rpb25X
aXRoSW1hZ2UoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBT
aGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2UsIGJvb2wgaXNMaW5rKSA9IDA7CisjZW5kaWYK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCmluZGV4IDc3MDI4OWEwMzVjZTI4OTI2MGZjODE2MjZmMTQzNGRlMDdjMGU3ZjUu
LmFhYzA4YThjM2VhNzI4YmNjYTU0OTYzYzA3YzdiODAxNWQxYjliYzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTU0Myw2ICs1NDMsMTAgQEAgcHVibGljOgog
ICAgIHZvaWQgaGFuZGxlVHdvRmluZ2VyVGFwQXRQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2lu
dCYsIHVpbnQ2NF90IHJlcXVlc3RJRCk7CiAgICAgdm9pZCBzZXRGb3JjZUFsd2F5c1VzZXJTY2Fs
YWJsZShib29sKTsKICAgICB2b2lkIHNldElzU2Nyb2xsaW5nT3Jab29taW5nKGJvb2wpOworI2lm
IEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQorICAgIHZvaWQgZGlkUGVyZm9ybURhdGFJbnRlcmFj
dGlvbkNvbnRyb2xsZXJPcGVyYXRpb24oKTsKKyAgICB2b2lkIHJlcXVlc3RTdGFydERhdGFJbnRl
cmFjdGlvbihjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiBnbG9iYWxQb3NpdGlvbik7CisjZW5kaWYKICNlbmRpZgogI2lmIEVO
QUJMRShEQVRBX0RFVEVDVElPTikKICAgICB2b2lkIHNldERhdGFEZXRlY3Rpb25SZXN1bHQoY29u
c3QgRGF0YURldGVjdGlvblJlc3VsdCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZjZhOWQxMDNjNmI4ZjRmMzQ2NGY3YTUw
M2ZkMzNiZjZhZTU5N2YxZS4uNDdjODEyMDMxYWU5MTQ1Y2RkZjM5ZDI0MDhiOGEwNWNkN2YyZGUz
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluCkBAIC0zMTYsNiArMzE2LDEwIEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAg
ICAgU3RhcnREcmFnKHN0cnVjdCBXZWJLaXQ6OldlYlNlbGVjdGlvbkRhdGEgc2VsZWN0aW9uLCB1
aW50NjRfdCBkcmFnT3BlcmF0aW9uLCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlIGRy
YWdJbWFnZSkKICNlbmRpZgogCisjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCisgICAgRGlk
UGVyZm9ybURhdGFJbnRlcmFjdGlvbkNvbnRyb2xsZXJPcGVyYXRpb24oKQorI2VuZGlmCisKICNp
ZiBQTEFURk9STShDT0NPQSkKICAgICAjIERpY3Rpb25hcnkgc3VwcG9ydC4KICAgICBEaWRQZXJm
b3JtRGljdGlvbmFyeUxvb2t1cChzdHJ1Y3QgV2ViQ29yZTo6RGljdGlvbmFyeVBvcHVwSW5mbyBk
aWN0aW9uYXJ5UG9wdXBJbmZvKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9Q
YWdlQ2xpZW50SW1wbElPUy5oCmluZGV4IDA2NDM1MDA3MWIwODBhYzQ4YTIyNzFjYjcxNjZjOWMz
ZTA3NjA4YjguLjhiMzJmZjFmZTA3NDg1NzgxMDZmMmQ1NDQ3MWQyNDQ2OTAzNTY2MzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKQEAg
LTIwMCw2ICsyMDAsMTEgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcmVxdWVzdFBhc3N3b3JkRm9y
UXVpY2tMb29rRG9jdW1lbnQoY29uc3QgU3RyaW5nJiBmaWxlTmFtZSwgc3RkOjpmdW5jdGlvbjx2
b2lkKGNvbnN0IFN0cmluZyYpPiYmKSBvdmVycmlkZTsKIAorI2lmIEVOQUJMRShEQVRBX0lOVEVS
QUNUSU9OKQorICAgIHZvaWQgZGlkUGVyZm9ybURhdGFJbnRlcmFjdGlvbkNvbnRyb2xsZXJPcGVy
YXRpb24oKSBvdmVycmlkZTsKKyAgICB2b2lkIHN0YXJ0RGF0YUludGVyYWN0aW9uV2l0aEltYWdl
KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgU2hhcmVhYmxl
Qml0bWFwOjpIYW5kbGUmIGltYWdlLCBib29sIGlzTGluaykgb3ZlcnJpZGU7CisjZW5kaWYKKwog
ICAgIFdLQ29udGVudFZpZXcgKm1fY29udGVudFZpZXc7CiAgICAgV0tXZWJWaWV3ICptX3dlYlZp
ZXc7CiAgICAgUmV0YWluUHRyPFdLRWRpdG9yVW5kb1RhcmdldE9iakM+IG1fdW5kb1RhcmdldDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJ
T1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1t
CmluZGV4IGVhYmQ5MzRkM2U5MTQ1ZDg3OGYwNTQ3ZDY3MTI2ZDA2MzY4M2MyMmYuLjhiN2I2NjUx
NTUyODU5ZWNlYzM4MTg3YjMyNzhkZDU1YzVmNWI4ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQpAQCAtNzYyLDYgKzc2MiwxNiBA
QCBSZWY8VmFsaWRhdGlvbkJ1YmJsZT4gUGFnZUNsaWVudEltcGw6OmNyZWF0ZVZhbGlkYXRpb25C
dWJibGUoY29uc3QgU3RyaW5nJiBtZXNzYQogICAgIHJldHVybiBWYWxpZGF0aW9uQnViYmxlOjpj
cmVhdGUobV9jb250ZW50VmlldywgbWVzc2FnZSk7CiB9CiAKKyNpZiBFTkFCTEUoREFUQV9JTlRF
UkFDVElPTikKK3ZvaWQgUGFnZUNsaWVudEltcGw6OmRpZFBlcmZvcm1EYXRhSW50ZXJhY3Rpb25D
b250cm9sbGVyT3BlcmF0aW9uKCkKK3sKK30KKwordm9pZCBQYWdlQ2xpZW50SW1wbDo6c3RhcnRE
YXRhSW50ZXJhY3Rpb25XaXRoSW1hZ2UoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGNsaWVudFBv
c2l0aW9uLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYgaW1hZ2UsIGJvb2wgaXNMaW5r
KQoreworfQorI2VuZGlmCisKIHZvaWQgUGFnZUNsaWVudEltcGw6OmhhbmRsZUFjdGl2ZU5vd1Bs
YXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGJvb2wgaGFzQWN0aXZlU2Vzc2lvbiwgY29uc3QgU3Ry
aW5nJiB0aXRsZSwgZG91YmxlIGR1cmF0aW9uLCBkb3VibGUgZWxhcHNlZFRpbWUpCiB7CiAgICAg
W21fd2ViVmlldyBfaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2U6aGFz
QWN0aXZlU2Vzc2lvbiB0aXRsZTpuc1N0cmluZ0Zyb21XZWJDb3JlU3RyaW5nKHRpdGxlKSBkdXJh
dGlvbjpkdXJhdGlvbiBlbGFwc2VkVGltZTplbGFwc2VkVGltZV07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbSBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCmluZGV4IGY4YzliNWE1Yjk3ZDlj
MzQ2ODkyOGEwMGEzOWI1YmUyZDg0OWE3Y2UuLjAzZjQ0N2ZhOGU1Y2JlY2M3OWJmZTk3ODY4OTRk
OTIzNGVhYzM2ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2Vi
UGFnZVByb3h5SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViUGFn
ZVByb3h5SU9TLm1tCkBAIC0xMDgxLDYgKzEwODEsMjEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnNl
dElzU2Nyb2xsaW5nT3Jab29taW5nKGJvb2wgaXNTY3JvbGxpbmdPclpvb21pbmcpCiAgICAgICAg
IG1fdmFsaWRhdGlvbkJ1YmJsZS0+c2hvdygpOwogfQogCisjaWYgRU5BQkxFKERBVEFfSU5URVJB
Q1RJT04pCisKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRQZXJmb3JtRGF0YUludGVyYWN0aW9uQ29u
dHJvbGxlck9wZXJhdGlvbigpCit7CisgICAgbV9wYWdlQ2xpZW50LmRpZFBlcmZvcm1EYXRhSW50
ZXJhY3Rpb25Db250cm9sbGVyT3BlcmF0aW9uKCk7Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5Ojpy
ZXF1ZXN0U3RhcnREYXRhSW50ZXJhY3Rpb24oY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGNsaWVu
dFBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24pCit7Cisg
ICAgaWYgKGlzVmFsaWQoKSkKKyAgICAgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlOjpSZXF1ZXN0U3RhcnREYXRhSW50ZXJhY3Rpb24oY2xpZW50UG9zaXRpb24sIGdsb2JhbFBv
c2l0aW9uKSwgbV9wYWdlSUQpOworfQorCisjZW5kaWYKKwogI2lmIFVTRShRVUlDS19MT09LKQog
ICAgIAogdm9pZCBXZWJQYWdlUHJveHk6OmRpZFN0YXJ0TG9hZEZvclF1aWNrTG9va0RvY3VtZW50
SW5NYWluRnJhbWUoY29uc3QgU3RyaW5nJiBmaWxlTmFtZSwgY29uc3QgU3RyaW5nJiB1dGkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmgKaW5kZXggMGQy
ZGRhYTJjZGNkN2I2NjA5NjljNmQ0M2NkOGRiMmUyOWZhYjE2Ny4uY2VkYjdiMjEwODdhMGZmZTQz
OGYzYWFkNTI2MzdkOTYzOGI5MmQzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9t
YWMvUGFnZUNsaWVudEltcGwuaApAQCAtMjMyLDYgKzIzMiwxMSBAQCBwcml2YXRlOgogICAgIF9X
S1JlbW90ZU9iamVjdFJlZ2lzdHJ5ICpyZW1vdGVPYmplY3RSZWdpc3RyeSgpIG92ZXJyaWRlOwog
I2VuZGlmCiAKKyNpZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikKKyAgICB2b2lkIGRpZFBlcmZv
cm1EYXRhSW50ZXJhY3Rpb25Db250cm9sbGVyT3BlcmF0aW9uKCkgb3ZlcnJpZGU7CisgICAgdm9p
ZCBzdGFydERhdGFJbnRlcmFjdGlvbldpdGhJbWFnZShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYg
Y2xpZW50UG9zaXRpb24sIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZSwgYm9v
bCBpc0xpbmspIG92ZXJyaWRlOworI2VuZGlmCisKICAgICBOU1ZpZXcgKm1fdmlldzsKICAgICBX
S1dlYlZpZXcgKm1fd2ViVmlldzsKICAgICBXZWJWaWV3SW1wbCogbV9pbXBsIHsgbnVsbHB0ciB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1w
bC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0KaW5k
ZXggYjBlNDY3NjI0MWZjYWU3ZTAxOGQ3NDMyZDY3NmUwYjY3ZmM2YWY3Ny4uZDNhY2M1ODc5MDcz
ODNjODRhYWI0ODQzMzhmMTIyMjc5YTExODkxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCkBAIC04NzUsNiArODc1LDE4IEBAIGJvb2wgUGFn
ZUNsaWVudEltcGw6OndpbmRvd0lzRnJvbnRXaW5kb3dVbmRlck1vdXNlKGNvbnN0IE5hdGl2ZVdl
Yk1vdXNlRXZlbnQmIGV2CiAgICAgcmV0dXJuIG1faW1wbC0+d2luZG93SXNGcm9udFdpbmRvd1Vu
ZGVyTW91c2UoZXZlbnQubmF0aXZlRXZlbnQoKSk7CiB9CiAKKyNpZiBFTkFCTEUoREFUQV9JTlRF
UkFDVElPTikKK3ZvaWQgUGFnZUNsaWVudEltcGw6OmRpZFBlcmZvcm1EYXRhSW50ZXJhY3Rpb25D
b250cm9sbGVyT3BlcmF0aW9uKCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IG1lLgorfQor
Cit2b2lkIFBhZ2VDbGllbnRJbXBsOjpzdGFydERhdGFJbnRlcmFjdGlvbldpdGhJbWFnZShjb25z
dCBJbnRQb2ludCYsIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiwgYm9vbCkKK3sKKyAg
ICAvLyBGSVhNRTogSW1wbGVtZW50IG1lLgorfQorI2VuZGlmCisKIFdlYkNvcmU6OlVzZXJJbnRl
cmZhY2VMYXlvdXREaXJlY3Rpb24gUGFnZUNsaWVudEltcGw6OnVzZXJJbnRlcmZhY2VMYXlvdXRE
aXJlY3Rpb24oKQogewogICAgIGlmICghbV92aWV3KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGRmNWQwNTRmYzFjYjIzMzFiMjdjYjU2MjM0
ZDg1ZDdmNDM2MzBhODUuLmFlODI4MDA3NDdhOGM1Yjk5NDk5MGJiODJlYWZkODdhZjUwYzUwMzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAg
LTM1MjcsNiArMzUyNyw5IEBAIHZvaWQgV2ViUGFnZTo6cGVyZm9ybURyYWdDb250cm9sbGVyQWN0
aW9uKHVpbnQ2NF90IGFjdGlvbiwgY29uc3QgV2ViQ29yZTo6RHJhZ0RhCiAgICAgICAgIG1fcGVu
ZGluZ0Ryb3BTYW5kYm94RXh0ZW5zaW9uID0gbnVsbHB0cjsKIAogICAgICAgICBtX3BlbmRpbmdE
cm9wRXh0ZW5zaW9uc0ZvckZpbGVVcGxvYWQuY2xlYXIoKTsKKyNpZiBFTkFCTEUoREFUQV9JTlRF
UkFDVElPTikKKyAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRQZXJmb3Jt
RGF0YUludGVyYWN0aW9uQ29udHJvbGxlck9wZXJhdGlvbigpKTsKKyNlbmRpZgogICAgICAgICBi
cmVhazsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oCmluZGV4IDJmN2ZiYjE2NDk0YzQ2YWMwNTIxZGJmNmMwNTdkMWE4ZTQ0ZDA1YTguLmViY2Nj
MzMzMmY4MzIwNDQ5MjUwNDY5YzEwOTBjMjNkNzFlZjk2MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTAxNCw2ICsxMDE0LDkgQEAgcHJpdmF0
ZToKICAgICBQYXNzUmVmUHRyPFdlYkNvcmU6OlJhbmdlPiByYW5nZUZvckdyYW51bGFyaXR5QXRQ
b2ludChjb25zdCBXZWJDb3JlOjpGcmFtZSYsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgdWlu
dDMyX3QgZ3JhbnVsYXJpdHksIGJvb2wgaXNJbnRlcmFjdGluZ1dpdGhBc3Npc3RlZE5vZGUpOwog
ICAgIGJvb2wgc2hvdWxkU3dpdGNoVG9CbG9ja01vZGVGb3JIYW5kbGUoY29uc3QgV2ViQ29yZTo6
SW50UG9pbnQmIGhhbmRsZVBvaW50LCBTZWxlY3Rpb25IYW5kbGVQb3NpdGlvbik7CiAgICAgUmVm
UHRyPFdlYkNvcmU6OlJhbmdlPiBzd2l0Y2hUb0Jsb2NrU2VsZWN0aW9uQXRQb2ludChjb25zdCBX
ZWJDb3JlOjpJbnRQb2ludCYsIFNlbGVjdGlvbkhhbmRsZVBvc2l0aW9uKTsKKyNpZiBFTkFCTEUo
REFUQV9JTlRFUkFDVElPTikKKyAgICB2b2lkIHJlcXVlc3RTdGFydERhdGFJbnRlcmFjdGlvbihj
b25zdCBXZWJDb3JlOjpJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50JiBnbG9iYWxQb3NpdGlvbik7CisjZW5kaWYKICNlbmRpZgogCiAjaWYgIVBMQVRGT1JN
KENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5tZXNzYWdlcy5pbgppbmRleCBiOWI0Yjc4NmQ3OTBhOWQ1ZDJkMDBiYmYyYjMwOWU3NGZl
NWJmZjgyLi44YjcyODg1YjM2YzhjMmYwYzhkNGJhNGFiMDg4N2U1ZDVjMDFhYzRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdl
cy5pbgpAQCAtMjQ2LDYgKzI0NiwxMCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2Vp
dmVyIHsKICAgICBEcmFnRW5kZWQoV2ViQ29yZTo6SW50UG9pbnQgY2xpZW50UG9zaXRpb24sIFdl
YkNvcmU6OkludFBvaW50IGdsb2JhbFBvc2l0aW9uLCB1aW50NjRfdCBvcGVyYXRpb24pCiAjZW5k
aWYKIAorI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQorICAgIFJlcXVlc3RTdGFydERhdGFJ
bnRlcmFjdGlvbihXZWJDb3JlOjpJbnRQb2ludCBjbGllbnRQb3NpdGlvbiwgV2ViQ29yZTo6SW50
UG9pbnQgZ2xvYmFsUG9zaXRpb24pCisjZW5kaWYKKwogICAgICMgUG9wdXAgbWVudS4KICAgICBE
aWRDaGFuZ2VTZWxlY3RlZEluZGV4Rm9yQWN0aXZlUG9wdXBNZW51KGludDMyX3QgbmV3SW5kZXgp
CiAgICAgU2V0VGV4dEZvckFjdGl2ZVBvcHVwTWVudShpbnQzMl90IGluZGV4KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4
IGQxY2YzMzIxYzdiYzMzYmIxZTVlNzBlMmJkYjI1MmU3Yzg3OGYxZjYuLjFlM2Q1OTBjMmIwYTI5
YTBlMmQ1NWZhNzFhMzM4NDM5M2Q4NGVlY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTYyMCw2ICs2MjAsMTMgQEAg
dm9pZCBXZWJQYWdlOjpoYW5kbGVUYXAoY29uc3QgSW50UG9pbnQmIHBvaW50LCB1aW50NjRfdCBs
YXN0TGF5ZXJUcmVlVHJhbnNhY3Rpb24KICAgICAgICAgaGFuZGxlU3ludGhldGljQ2xpY2sobm9k
ZVJlc3BvbmRpbmdUb0NsaWNrLCBhZGp1c3RlZFBvaW50KTsKIH0KIAorI2lmIEVOQUJMRShEQVRB
X0lOVEVSQUNUSU9OKQordm9pZCBXZWJQYWdlOjpyZXF1ZXN0U3RhcnREYXRhSW50ZXJhY3Rpb24o
Y29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9z
aXRpb24pCit7CisgICAgbV9wYWdlLT5tYWluRnJhbWUoKS5ldmVudEhhbmRsZXIoKS50cnlUb0Jl
Z2luRGF0YUludGVyYWN0aW9uQXRQb2ludChjbGllbnRQb3NpdGlvbiwgZ2xvYmFsUG9zaXRpb24p
OworfQorI2VuZGlmCisKIHZvaWQgV2ViUGFnZTo6c2VuZFRhcEhpZ2hsaWdodEZvck5vZGVJZk5l
Y2Vzc2FyeSh1aW50NjRfdCByZXF1ZXN0SUQsIE5vZGUqIG5vZGUpCiB7CiAjaWYgRU5BQkxFKFRP
VUNIX0VWRU5UUykKQEAgLTI0NjMsNiArMjQ3MCwxMCBAQCB2b2lkIFdlYlBhZ2U6OmdldFBvc2l0
aW9uSW5mb3JtYXRpb24oY29uc3QgSW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3QmIHJlcXVl
cwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQorCisjaWYgRU5BQkxFKERBVEFfSU5U
RVJBQ1RJT04pCisgICAgaW5mby5oYXNEYXRhSW50ZXJhY3Rpb25BdFBvc2l0aW9uID0gbV9wYWdl
LT5oYXNEYXRhSW50ZXJhY3Rpb25BdFBvc2l0aW9uKGFkanVzdGVkUG9pbnQpOworI2VuZGlmCiB9
CiAKIHZvaWQgV2ViUGFnZTo6cmVxdWVzdFBvc2l0aW9uSW5mb3JtYXRpb24oY29uc3QgSW50ZXJh
Y3Rpb25JbmZvcm1hdGlvblJlcXVlc3QmIHJlcXVlc3QpCg==
</data>
<flag name="commit-queue"
          id="321722"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299790</attachid>
            <date>2017-01-25 19:46:42 -0800</date>
            <delta_ts>2017-01-25 20:23:24 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-167443-20170125194441.patch</filename>
            <type>text/plain</type>
            <size>17928</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2RhYTY1NjkwYTFjN2Fh
N2Q1ZDhiNGEyZDM2NGVlM2ZjYjk1OWQyYS4uYzE5MjhiMjIxZmJjYzVhZjQ2MWEwMDZkYTk3NDNk
MDhkNzI4ODM4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDE3LTAxLTI1ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCisgICAgICAgIEFkZCBpbmZyYXN0
cnVjdHVyZSB0byBzdXBwb3J0IGRhdGEgaW50ZXJhY3Rpb24gaW4gV2ViS2l0MgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3NDQzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIEFkZHMgc3VwcG9ydCBpbiBXZWJD
b3JlIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZXJlIGlzIGludGVyYWN0aXZlIGRhdGEgYXQgYSBn
aXZlbiBwb3NpdGlvbi4gTm8gbmV3IHRlc3RzLCBzaW5jZQorICAgICAgICB0aGVyZSBzaG91bGQg
YmUgbm8gYmVoYXZpb3IgY2hhbmdlIHlldC4KKworICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVy
Lmg6CisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6Omhh
c0RhdGFJbnRlcmFjdGlvbkF0UG9zaXRpb24pOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgorCisy
MDE3LTAxLTI1ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCiAgICAg
ICAgIFJlZmFjdG9yIGRyYWcgYW5kIGRyb3AgaW1wbGVtZW50YXRpb24gb24gTWFjCiAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc0MjcKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CmluZGV4IDYxNzZhMjNmYjYxNmZlMjJlNmQ1MTMwOGYyOTQ3NmJiOGFmMWFhNzcuLmYxNTIwNDUy
ODg3Y2Q5YTVlMDMxNjFlN2UxODVmZTM4MTFkNjkzNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSw0
MyBAQAogMjAxNy0wMS0yNSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4K
IAorICAgICAgICBBZGQgaW5mcmFzdHJ1Y3R1cmUgdG8gc3VwcG9ydCBkYXRhIGludGVyYWN0aW9u
IGluIFdlYktpdDIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE2NzQ0MworCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAg
ICBBZGRzIHBsdW1iaW5nIGZvciB0d28gbmV3IFhQQyBtZXNzYWdlczogV2ViUGFnZVByb3h5OjpE
aWRQZXJmb3JtRGF0YUludGVyYWN0aW9uQ29udHJvbGxlck9wZXJhdGlvbiBhbmQKKyAgICAgICAg
V2ViUGFnZTo6UmVxdWVzdFN0YXJ0RGF0YUludGVyYWN0aW9uLiBBZGRpdGlvbmFsbHksIGFkZHMg
YSBuZXcgZmllbGQgdG8gSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24gdGhhdAorICAg
ICAgICBpbmRpY2F0ZXMgd2hldGhlciBvciBub3QgdGhlcmUgaXMgZGF0YSB0byBpbnRlcmFjdCB3
aXRoIGF0IGEgZ2l2ZW4gbG9jYXRpb24uCisKKyAgICAgICAgVGhpcyBwYXRjaCBvbmx5IGFkZHMg
aW5mcmFzdHJ1Y3R1cmUsIGFuZCBkb2VzIG5vdCBjaGFuZ2UgYW55IGJlaGF2aW9yLgorCisgICAg
ICAgICogU2hhcmVkL2lvcy9JbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbi5oOgorICAg
ICAgICAqIFNoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24ubW06Cisg
ICAgICAgIChXZWJLaXQ6OkludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uOjplbmNvZGUp
OgorICAgICAgICAoV2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbjo6ZGVj
b2RlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOgorICAgICAgICAo
V2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6ZGlkUGVyZm9ybURhdGFJbnRlcmFjdGlvbkNvbnRyb2xs
ZXJPcGVyYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6c3RhcnREYXRh
SW50ZXJhY3Rpb25XaXRoSW1hZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViUGFnZVBy
b3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZFBlcmZvcm1EYXRh
SW50ZXJhY3Rpb25Db250cm9sbGVyT3BlcmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6cmVxdWVz
dFN0YXJ0RGF0YUludGVyYWN0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGll
bnRJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbToKKyAg
ICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmRpZFBlcmZvcm1EYXRhSW50ZXJhY3Rpb25D
b250cm9sbGVyT3BlcmF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OnN0
YXJ0RGF0YUludGVyYWN0aW9uV2l0aEltYWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2U6OnJlcXVlc3RTdGFydERhdGFJbnRlcmFjdGlvbik6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2U6OmdldFBvc2l0aW9uSW5mb3JtYXRpb24pOgorCisyMDE3LTAxLTI1ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCiAgICAgICAgIFJlZmFjdG9yIGRy
YWcgYW5kIGRyb3AgaW1wbGVtZW50YXRpb24gb24gTWFjCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc0MjcKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmgKaW5kZXggOWM3NTc2NWZmMjQ1MDc2MDg2NzU1NDcxZWMwYzFlMmQ0ZjZmZWVlNy4uYTgy
ZDdjZDNhYjM1M2Y5ZTMwYTNkODEwYTE2Mjc4NmUzMDNiYzFiYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5oCkBAIC0zMTUsNiArMzE1LDEwIEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBX
aWRnZXQqIHdpZGdldEZvckV2ZW50VGFyZ2V0KEVsZW1lbnQqIGV2ZW50VGFyZ2V0KTsKIAorI2lm
IEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQorICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgdHJ5VG9C
ZWdpbkRhdGFJbnRlcmFjdGlvbkF0UG9pbnQoY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9u
LCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24pOworI2VuZGlmCisKIHByaXZhdGU6CiAj
aWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBzdGF0aWMgRHJhZ1N0YXRlJiBkcmFnU3RhdGUo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDc3YzdmM2UwYjkyZWE3MGZlMjhiNDlmNWFhZjViOTMx
ZmJkZmE5ZTcuLmIzMTZkNjZlZjczYmNhMWY4OWJmODU5YzQxNWE5NzhkMWFmZjM3NzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9QYWdlLmNwcApAQCAtMTI3LDYgKzEyNywxMCBAQAogI2luY2x1ZGUgIkluUHJvY2Vzc0lE
QlNlcnZlci5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikKKyNpbmNs
dWRlICJTZWxlY3Rpb25SZWN0LmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBz
dGF0aWMgSGFzaFNldDxQYWdlKj4qIGFsbFBhZ2VzOwpAQCAtMjE1Miw0ICsyMTU2LDI2IEBAIHZv
aWQgUGFnZTo6YWNjZXNzaWJpbGl0eVNldHRpbmdzRGlkQ2hhbmdlKCkKICAgICAgICAgTE9HKExh
eW91dCwgImhhc01lZGlhUXVlcmllc0FmZmVjdGVkQnlBY2Nlc3NpYmlsaXR5U2V0dGluZ3NDaGFu
Z2UsIGVucXVldWVpbmcgc3R5bGUgcmVjYWxjIik7CiB9CiAKKyNpZiBFTkFCTEUoREFUQV9JTlRF
UkFDVElPTikKKworYm9vbCBQYWdlOjpoYXNEYXRhSW50ZXJhY3Rpb25BdFBvc2l0aW9uKGNvbnN0
IEZsb2F0UG9pbnQmIHBvc2l0aW9uKSBjb25zdAoreworICAgIGF1dG8gY3VycmVudFNlbGVjdGlv
biA9IG1fbWFpbkZyYW1lLT5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKTsKKyAgICBpZiAoIWN1cnJl
bnRTZWxlY3Rpb24uaXNSYW5nZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAo
YXV0byBzZWxlY3RlZFJhbmdlID0gY3VycmVudFNlbGVjdGlvbi50b05vcm1hbGl6ZWRSYW5nZSgp
KSB7CisgICAgICAgIFZlY3RvcjxTZWxlY3Rpb25SZWN0PiBzZWxlY3Rpb25SZWN0czsKKyAgICAg
ICAgc2VsZWN0ZWRSYW5nZS0+Y29sbGVjdFNlbGVjdGlvblJlY3RzKHNlbGVjdGlvblJlY3RzKTsK
KyAgICAgICAgZm9yIChhdXRvIHNlbGVjdGlvblJlY3QgOiBzZWxlY3Rpb25SZWN0cykgeworICAg
ICAgICAgICAgaWYgKEZsb2F0UmVjdChzZWxlY3Rpb25SZWN0LnJlY3QoKSkuY29udGFpbnMocG9z
aXRpb24pKQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgfQor
CisgICAgcmV0dXJuIGZhbHNlOworfQorCisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2UuaAppbmRleCBhZDgzNTFiMjA2NDQwZTU4ZTYwYWM0ZGY2NjYyZGY5N2Y5ZGQw
NGMzLi40NDBkMWFiZTk4MDU0NGYzODMxZGQwYWFhOGMzMTlkNmIwMmE1M2Y0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Bh
Z2UuaApAQCAtNTY2LDYgKzU2NiwxMCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc09ubHlOb25VdGls
aXR5UGFnZSgpIGNvbnN0OwogICAgIGJvb2wgaXNVdGlsaXR5UGFnZSgpIGNvbnN0IHsgcmV0dXJu
IG1faXNVdGlsaXR5UGFnZTsgfQogCisjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCisgICAg
V0VCQ09SRV9FWFBPUlQgYm9vbCBoYXNEYXRhSW50ZXJhY3Rpb25BdFBvc2l0aW9uKGNvbnN0IEZs
b2F0UG9pbnQmKSBjb25zdDsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgaW5pdEdyb3VwKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9p
b3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaAppbmRleCBiOWMyZDhm
MzlkNDRmNTE2ZTllMzM1NjM2YTA3YTQ0OTA4YWI0MDQ5Li5iNDFkNjRkOTIwMDk4YzdiMmE1NWRj
MTFkODFiODIyYzg2ZjY5NWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvaW9z
L0ludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL2lvcy9JbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbi5oCkBAIC00MSw2ICs0
MSw5IEBAIHN0cnVjdCBJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbiB7CiAgICAgSW50
ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3QgcmVxdWVzdDsKIAogICAgIGJvb2wgbm9kZUF0UG9z
aXRpb25Jc0Fzc2lzdGVkTm9kZSB7IGZhbHNlIH07CisjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJ
T04pCisgICAgYm9vbCBoYXNEYXRhSW50ZXJhY3Rpb25BdFBvc2l0aW9uIHsgZmFsc2UgfTsKKyNl
bmRpZgogICAgIGJvb2wgaXNTZWxlY3RhYmxlIHsgZmFsc2UgfTsKICAgICBib29sIGlzTmVhck1h
cmtlZFRleHQgeyBmYWxzZSB9OwogICAgIGJvb2wgdG91Y2hDYWxsb3V0RW5hYmxlZCB7IHRydWUg
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZv
cm1hdGlvbkF0UG9zaXRpb24ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvaW9zL0ludGVyYWN0
aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLm1tCmluZGV4IGE2NGU3OWIxMGEwOGU0MWQ4ODg5Nzdi
ZTJjYzFiOGVjYzNkMzdiMmIuLmJhMWE0YzU5MWUxYTE2MzEzNmY1NzJlYzBiYTIwNzVhZTY1NDQ2
YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3MvSW50ZXJhY3Rpb25JbmZv
cm1hdGlvbkF0UG9zaXRpb24ubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9JbnRl
cmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbi5tbQpAQCAtNDMsNiArNDMsOSBAQCB2b2lkIElu
dGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNv
ZGVyKSBjb25zdAogICAgIGVuY29kZXIgPDwgcmVxdWVzdDsKIAogICAgIGVuY29kZXIgPDwgbm9k
ZUF0UG9zaXRpb25Jc0Fzc2lzdGVkTm9kZTsKKyNpZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikK
KyAgICBlbmNvZGVyIDw8IGhhc0RhdGFJbnRlcmFjdGlvbkF0UG9zaXRpb247CisjZW5kaWYKICAg
ICBlbmNvZGVyIDw8IGlzU2VsZWN0YWJsZTsKICAgICBlbmNvZGVyIDw8IGlzTmVhck1hcmtlZFRl
eHQ7CiAgICAgZW5jb2RlciA8PCB0b3VjaENhbGxvdXRFbmFibGVkOwpAQCAtODcsNiArOTAsMTEg
QEAgYm9vbCBJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbjo6ZGVjb2RlKElQQzo6RGVj
b2RlciYgZGVjb2RlciwgSW50ZXJhY3Rpb24KICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3Vs
dC5ub2RlQXRQb3NpdGlvbklzQXNzaXN0ZWROb2RlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CisjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShy
ZXN1bHQuaGFzRGF0YUludGVyYWN0aW9uQXRQb3NpdGlvbikpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyNlbmRpZgorCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuaXNTZWxlY3RhYmxl
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGll
bnQuaAppbmRleCBhYmNmZGVjYTA0YjQ1MWJhMjI5Yzk4YWIwZDMwOWJjZDkwODk4OGVjLi5mYWM3
OTgwODY5ODJjZjNjYTc3OTMyZmY3ZTEyYzY0NTBmNjlkMGVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTM4MSw2ICszODEsMTEgQEAgcHVibGljOgogI2lmIFVTRShR
VUlDS19MT09LKQogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0UGFzc3dvcmRGb3JRdWlja0xvb2tE
b2N1bWVudChjb25zdCBTdHJpbmcmIGZpbGVOYW1lLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoY29uc3Qg
U3RyaW5nJik+JiYpID0gMDsKICNlbmRpZgorCisjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJT04p
CisgICAgdmlydHVhbCB2b2lkIGRpZFBlcmZvcm1EYXRhSW50ZXJhY3Rpb25Db250cm9sbGVyT3Bl
cmF0aW9uKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzdGFydERhdGFJbnRlcmFjdGlvbldpdGhJ
bWFnZShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IFNoYXJl
YWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZSwgYm9vbCBpc0xpbmspID0gMDsKKyNlbmRpZgogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmgKaW5kZXggNzcwMjg5YTAzNWNlMjg5MjYwZmM4MTYyNmYxNDM0ZGUwN2MwZTdmNS4uYWFj
MDhhOGMzZWE3MjhiY2NhNTQ5NjNjMDdjN2I4MDE1ZDFiOWJjOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtNTQzLDYgKzU0MywxMCBAQCBwdWJsaWM6CiAgICAg
dm9pZCBoYW5kbGVUd29GaW5nZXJUYXBBdFBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50Jiwg
dWludDY0X3QgcmVxdWVzdElEKTsKICAgICB2b2lkIHNldEZvcmNlQWx3YXlzVXNlclNjYWxhYmxl
KGJvb2wpOwogICAgIHZvaWQgc2V0SXNTY3JvbGxpbmdPclpvb21pbmcoYm9vbCk7CisjaWYgRU5B
QkxFKERBVEFfSU5URVJBQ1RJT04pCisgICAgdm9pZCBkaWRQZXJmb3JtRGF0YUludGVyYWN0aW9u
Q29udHJvbGxlck9wZXJhdGlvbigpOworICAgIHZvaWQgcmVxdWVzdFN0YXJ0RGF0YUludGVyYWN0
aW9uKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgV2ViQ29y
ZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uKTsKKyNlbmRpZgogI2VuZGlmCiAjaWYgRU5BQkxF
KERBVEFfREVURUNUSU9OKQogICAgIHZvaWQgc2V0RGF0YURldGVjdGlvblJlc3VsdChjb25zdCBE
YXRhRGV0ZWN0aW9uUmVzdWx0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBmNmE5ZDEwM2M2YjhmNGYzNDY0ZjdhNTAzZmQz
M2JmNmFlNTk3ZjFlLi40N2M4MTIwMzFhZTkxNDVjZGRmMzlkMjQwOGI4YTA1Y2Q3ZjJkZTMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KQEAgLTMxNiw2ICszMTYsMTAgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBT
dGFydERyYWcoc3RydWN0IFdlYktpdDo6V2ViU2VsZWN0aW9uRGF0YSBzZWxlY3Rpb24sIHVpbnQ2
NF90IGRyYWdPcGVyYXRpb24sIFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUgZHJhZ0lt
YWdlKQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoREFUQV9JTlRFUkFDVElPTikKKyAgICBEaWRQZXJm
b3JtRGF0YUludGVyYWN0aW9uQ29udHJvbGxlck9wZXJhdGlvbigpCisjZW5kaWYKKwogI2lmIFBM
QVRGT1JNKENPQ09BKQogICAgICMgRGljdGlvbmFyeSBzdXBwb3J0LgogICAgIERpZFBlcmZvcm1E
aWN0aW9uYXJ5TG9va3VwKHN0cnVjdCBXZWJDb3JlOjpEaWN0aW9uYXJ5UG9wdXBJbmZvIGRpY3Rp
b25hcnlQb3B1cEluZm8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9z
L1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VD
bGllbnRJbXBsSU9TLmgKaW5kZXggMDY0MzUwMDcxYjA4MGFjNDhhMjI3MWNiNzE2NmM5YzNlMDc2
MDhiOC4uOGIzMmZmMWZlMDc0ODU3ODEwNmYyZDU0NDcxZDI0NDY5MDM1NjYzOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaApAQCAtMjAw
LDYgKzIwMCwxMSBAQCBwcml2YXRlOgogCiAgICAgdm9pZCByZXF1ZXN0UGFzc3dvcmRGb3JRdWlj
a0xvb2tEb2N1bWVudChjb25zdCBTdHJpbmcmIGZpbGVOYW1lLCBzdGQ6OmZ1bmN0aW9uPHZvaWQo
Y29uc3QgU3RyaW5nJik+JiYpIG92ZXJyaWRlOwogCisjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJ
T04pCisgICAgdm9pZCBkaWRQZXJmb3JtRGF0YUludGVyYWN0aW9uQ29udHJvbGxlck9wZXJhdGlv
bigpIG92ZXJyaWRlOworICAgIHZvaWQgc3RhcnREYXRhSW50ZXJhY3Rpb25XaXRoSW1hZ2UoY29u
c3QgV2ViQ29yZTo6SW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBTaGFyZWFibGVCaXRt
YXA6OkhhbmRsZSYgaW1hZ2UsIGJvb2wgaXNMaW5rKSBvdmVycmlkZTsKKyNlbmRpZgorCiAgICAg
V0tDb250ZW50VmlldyAqbV9jb250ZW50VmlldzsKICAgICBXS1dlYlZpZXcgKm1fd2ViVmlldzsK
ICAgICBSZXRhaW5QdHI8V0tFZGl0b3JVbmRvVGFyZ2V0T2JqQz4gbV91bmRvVGFyZ2V0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5t
bSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5k
ZXggZWFiZDkzNGQzZTkxNDVkODc4ZjA1NDdkNjcxMjZkMDYzNjgzYzIyZi4uOGI3YjY2NTE1NTI4
NTllY2VjMzgxODdiMzI3OGRkNTVjNWY1YjhmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBAIC03NjIsNiArNzYyLDE2IEBAIFJl
ZjxWYWxpZGF0aW9uQnViYmxlPiBQYWdlQ2xpZW50SW1wbDo6Y3JlYXRlVmFsaWRhdGlvbkJ1YmJs
ZShjb25zdCBTdHJpbmcmIG1lc3NhCiAgICAgcmV0dXJuIFZhbGlkYXRpb25CdWJibGU6OmNyZWF0
ZShtX2NvbnRlbnRWaWV3LCBtZXNzYWdlKTsKIH0KIAorI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNU
SU9OKQordm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkUGVyZm9ybURhdGFJbnRlcmFjdGlvbkNvbnRy
b2xsZXJPcGVyYXRpb24oKQoreworfQorCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpzdGFydERhdGFJ
bnRlcmFjdGlvbldpdGhJbWFnZShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgY2xpZW50UG9zaXRp
b24sIGNvbnN0IFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlJiBpbWFnZSwgYm9vbCBpc0xpbmspCit7
Cit9CisjZW5kaWYKKwogdm9pZCBQYWdlQ2xpZW50SW1wbDo6aGFuZGxlQWN0aXZlTm93UGxheWlu
Z1Nlc3Npb25JbmZvUmVzcG9uc2UoYm9vbCBoYXNBY3RpdmVTZXNzaW9uLCBjb25zdCBTdHJpbmcm
IHRpdGxlLCBkb3VibGUgZHVyYXRpb24sIGRvdWJsZSBlbGFwc2VkVGltZSkKIHsKICAgICBbbV93
ZWJWaWV3IF9oYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZTpoYXNBY3Rp
dmVTZXNzaW9uIHRpdGxlOm5zU3RyaW5nRnJvbVdlYkNvcmVTdHJpbmcodGl0bGUpIGR1cmF0aW9u
OmR1cmF0aW9uIGVsYXBzZWRUaW1lOmVsYXBzZWRUaW1lXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KaW5kZXggZjhjOWI1YTViOTdkOWMzNDY4
OTI4YTAwYTM5YjViZTJkODQ5YTdjZS4uMDNmNDQ3ZmE4ZTVjYmVjYzc5YmZlOTc4Njg5NGQ5MjM0
ZWFjMzZlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdl
UHJveHlJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJv
eHlJT1MubW0KQEAgLTEwODEsNiArMTA4MSwyMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2V0SXNT
Y3JvbGxpbmdPclpvb21pbmcoYm9vbCBpc1Njcm9sbGluZ09yWm9vbWluZykKICAgICAgICAgbV92
YWxpZGF0aW9uQnViYmxlLT5zaG93KCk7CiB9CiAKKyNpZiBFTkFCTEUoREFUQV9JTlRFUkFDVElP
TikKKwordm9pZCBXZWJQYWdlUHJveHk6OmRpZFBlcmZvcm1EYXRhSW50ZXJhY3Rpb25Db250cm9s
bGVyT3BlcmF0aW9uKCkKK3sKKyAgICBtX3BhZ2VDbGllbnQuZGlkUGVyZm9ybURhdGFJbnRlcmFj
dGlvbkNvbnRyb2xsZXJPcGVyYXRpb24oKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6OnJlcXVl
c3RTdGFydERhdGFJbnRlcmFjdGlvbihjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgY2xpZW50UG9z
aXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBnbG9iYWxQb3NpdGlvbikKK3sKKyAgICBp
ZiAoaXNWYWxpZCgpKQorICAgICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6
OlJlcXVlc3RTdGFydERhdGFJbnRlcmFjdGlvbihjbGllbnRQb3NpdGlvbiwgZ2xvYmFsUG9zaXRp
b24pLCBtX3BhZ2VJRCk7Cit9CisKKyNlbmRpZgorCiAjaWYgVVNFKFFVSUNLX0xPT0spCiAgICAg
CiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkU3RhcnRMb2FkRm9yUXVpY2tMb29rRG9jdW1lbnRJbk1h
aW5GcmFtZShjb25zdCBTdHJpbmcmIGZpbGVOYW1lLCBjb25zdCBTdHJpbmcmIHV0aSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaAppbmRleCAwZDJkZGFh
MmNkY2Q3YjY2MDk2OWM2ZDQzY2Q4ZGIyZTI5ZmFiMTY3Li5jZWRiN2IyMTA4N2EwZmZlNDM4ZjNh
YWQ1MjYzN2Q5NjM4YjkyZDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1BhZ2VDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9Q
YWdlQ2xpZW50SW1wbC5oCkBAIC0yMzIsNiArMjMyLDExIEBAIHByaXZhdGU6CiAgICAgX1dLUmVt
b3RlT2JqZWN0UmVnaXN0cnkgKnJlbW90ZU9iamVjdFJlZ2lzdHJ5KCkgb3ZlcnJpZGU7CiAjZW5k
aWYKIAorI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNUSU9OKQorICAgIHZvaWQgZGlkUGVyZm9ybURh
dGFJbnRlcmFjdGlvbkNvbnRyb2xsZXJPcGVyYXRpb24oKSBvdmVycmlkZTsKKyAgICB2b2lkIHN0
YXJ0RGF0YUludGVyYWN0aW9uV2l0aEltYWdlKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBjbGll
bnRQb3NpdGlvbiwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmIGltYWdlLCBib29sIGlz
TGluaykgb3ZlcnJpZGU7CisjZW5kaWYKKwogICAgIE5TVmlldyAqbV92aWV3OwogICAgIFdLV2Vi
VmlldyAqbV93ZWJWaWV3OwogICAgIFdlYlZpZXdJbXBsKiBtX2ltcGwgeyBudWxscHRyIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1t
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQppbmRleCBi
MGU0Njc2MjQxZmNhZTdlMDE4ZDc0MzJkNjc2ZTBiNjdmYzZhZjc3Li5kM2FjYzU4NzkwNzM4M2M4
NGFhYjQ4NDMzOGYxMjIyNzlhMTE4OTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9tYWMvUGFnZUNsaWVudEltcGwubW0KQEAgLTg3NSw2ICs4NzUsMTggQEAgYm9vbCBQYWdlQ2xp
ZW50SW1wbDo6d2luZG93SXNGcm9udFdpbmRvd1VuZGVyTW91c2UoY29uc3QgTmF0aXZlV2ViTW91
c2VFdmVudCYgZXYKICAgICByZXR1cm4gbV9pbXBsLT53aW5kb3dJc0Zyb250V2luZG93VW5kZXJN
b3VzZShldmVudC5uYXRpdmVFdmVudCgpKTsKIH0KIAorI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNU
SU9OKQordm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkUGVyZm9ybURhdGFJbnRlcmFjdGlvbkNvbnRy
b2xsZXJPcGVyYXRpb24oKQoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgbWUuCit9CisKK3Zv
aWQgUGFnZUNsaWVudEltcGw6OnN0YXJ0RGF0YUludGVyYWN0aW9uV2l0aEltYWdlKGNvbnN0IElu
dFBvaW50JiwgY29uc3QgU2hhcmVhYmxlQml0bWFwOjpIYW5kbGUmLCBib29sKQoreworICAgIC8v
IEZJWE1FOiBJbXBsZW1lbnQgbWUuCit9CisjZW5kaWYKKwogV2ViQ29yZTo6VXNlckludGVyZmFj
ZUxheW91dERpcmVjdGlvbiBQYWdlQ2xpZW50SW1wbDo6dXNlckludGVyZmFjZUxheW91dERpcmVj
dGlvbigpCiB7CiAgICAgaWYgKCFtX3ZpZXcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZGY1ZDA1NGZjMWNiMjMzMWIyN2NiNTYyMzRkODVk
N2Y0MzYzMGE4NS4uYWU4MjgwMDc0N2E4YzViOTk0OTkwYmI4MmVhZmQ4N2FmNTBjNTAzMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMzUy
Nyw2ICszNTI3LDkgQEAgdm9pZCBXZWJQYWdlOjpwZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24o
dWludDY0X3QgYWN0aW9uLCBjb25zdCBXZWJDb3JlOjpEcmFnRGEKICAgICAgICAgbV9wZW5kaW5n
RHJvcFNhbmRib3hFeHRlbnNpb24gPSBudWxscHRyOwogCiAgICAgICAgIG1fcGVuZGluZ0Ryb3BF
eHRlbnNpb25zRm9yRmlsZVVwbG9hZC5jbGVhcigpOworI2lmIEVOQUJMRShEQVRBX0lOVEVSQUNU
SU9OKQorICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFBlcmZvcm1EYXRh
SW50ZXJhY3Rpb25Db250cm9sbGVyT3BlcmF0aW9uKCkpOworI2VuZGlmCiAgICAgICAgIGJyZWFr
OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgK
aW5kZXggMmY3ZmJiMTY0OTRjNDZhYzA1MjFkYmY2YzA1N2QxYThlNDRkMDVhOC4uZWJjY2MzMzMy
ZjgzMjA0NDkyNTA0NjljMTA5MGMyM2Q3MWVmOTYwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0xMDE0LDYgKzEwMTQsOSBAQCBwcml2YXRlOgog
ICAgIFBhc3NSZWZQdHI8V2ViQ29yZTo6UmFuZ2U+IHJhbmdlRm9yR3JhbnVsYXJpdHlBdFBvaW50
KGNvbnN0IFdlYkNvcmU6OkZyYW1lJiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCB1aW50MzJf
dCBncmFudWxhcml0eSwgYm9vbCBpc0ludGVyYWN0aW5nV2l0aEFzc2lzdGVkTm9kZSk7CiAgICAg
Ym9vbCBzaG91bGRTd2l0Y2hUb0Jsb2NrTW9kZUZvckhhbmRsZShjb25zdCBXZWJDb3JlOjpJbnRQ
b2ludCYgaGFuZGxlUG9pbnQsIFNlbGVjdGlvbkhhbmRsZVBvc2l0aW9uKTsKICAgICBSZWZQdHI8
V2ViQ29yZTo6UmFuZ2U+IHN3aXRjaFRvQmxvY2tTZWxlY3Rpb25BdFBvaW50KGNvbnN0IFdlYkNv
cmU6OkludFBvaW50JiwgU2VsZWN0aW9uSGFuZGxlUG9zaXRpb24pOworI2lmIEVOQUJMRShEQVRB
X0lOVEVSQUNUSU9OKQorICAgIHZvaWQgcmVxdWVzdFN0YXJ0RGF0YUludGVyYWN0aW9uKGNvbnN0
IFdlYkNvcmU6OkludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9p
bnQmIGdsb2JhbFBvc2l0aW9uKTsKKyNlbmRpZgogI2VuZGlmCiAKICNpZiAhUExBVEZPUk0oQ09D
T0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lm1lc3NhZ2VzLmluCmluZGV4IGI5YjRiNzg2ZDc5MGE5ZDVkMmQwMGJiZjJiMzA5ZTc0ZmU1YmZm
ODIuLjhiNzI4ODViMzZjOGMyZjBjOGQ0YmE0YWIwODg3ZTVkNWMwMWFjNGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
CkBAIC0yNDYsNiArMjQ2LDEwIEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIg
ewogICAgIERyYWdFbmRlZChXZWJDb3JlOjpJbnRQb2ludCBjbGllbnRQb3NpdGlvbiwgV2ViQ29y
ZTo6SW50UG9pbnQgZ2xvYmFsUG9zaXRpb24sIHVpbnQ2NF90IG9wZXJhdGlvbikKICNlbmRpZgog
CisjaWYgRU5BQkxFKERBVEFfSU5URVJBQ1RJT04pCisgICAgUmVxdWVzdFN0YXJ0RGF0YUludGVy
YWN0aW9uKFdlYkNvcmU6OkludFBvaW50IGNsaWVudFBvc2l0aW9uLCBXZWJDb3JlOjpJbnRQb2lu
dCBnbG9iYWxQb3NpdGlvbikKKyNlbmRpZgorCiAgICAgIyBQb3B1cCBtZW51LgogICAgIERpZENo
YW5nZVNlbGVjdGVkSW5kZXhGb3JBY3RpdmVQb3B1cE1lbnUoaW50MzJfdCBuZXdJbmRleCkKICAg
ICBTZXRUZXh0Rm9yQWN0aXZlUG9wdXBNZW51KGludDMyX3QgaW5kZXgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0gYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggZDFj
ZjMzMjFjN2JjMzNiYjFlNWU3MGUyYmRiMjUyZTdjODc4ZjFmNi4uMWUzZDU5MGMyYjBhMjlhMGUy
ZDU1ZmE3MWEzMzg0MzkzZDg0ZWVjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQpAQCAtNjIwLDYgKzYyMCwxMyBAQCB2b2lk
IFdlYlBhZ2U6OmhhbmRsZVRhcChjb25zdCBJbnRQb2ludCYgcG9pbnQsIHVpbnQ2NF90IGxhc3RM
YXllclRyZWVUcmFuc2FjdGlvbgogICAgICAgICBoYW5kbGVTeW50aGV0aWNDbGljayhub2RlUmVz
cG9uZGluZ1RvQ2xpY2ssIGFkanVzdGVkUG9pbnQpOwogfQogCisjaWYgRU5BQkxFKERBVEFfSU5U
RVJBQ1RJT04pCit2b2lkIFdlYlBhZ2U6OnJlcXVlc3RTdGFydERhdGFJbnRlcmFjdGlvbihjb25z
dCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlv
bikKK3sKKyAgICBtX3BhZ2UtPm1haW5GcmFtZSgpLmV2ZW50SGFuZGxlcigpLnRyeVRvQmVnaW5E
YXRhSW50ZXJhY3Rpb25BdFBvaW50KGNsaWVudFBvc2l0aW9uLCBnbG9iYWxQb3NpdGlvbik7Cit9
CisjZW5kaWYKKwogdm9pZCBXZWJQYWdlOjpzZW5kVGFwSGlnaGxpZ2h0Rm9yTm9kZUlmTmVjZXNz
YXJ5KHVpbnQ2NF90IHJlcXVlc3RJRCwgTm9kZSogbm9kZSkKIHsKICNpZiBFTkFCTEUoVE9VQ0hf
RVZFTlRTKQpAQCAtMjQ2Myw2ICsyNDcwLDEwIEBAIHZvaWQgV2ViUGFnZTo6Z2V0UG9zaXRpb25J
bmZvcm1hdGlvbihjb25zdCBJbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdCYgcmVxdWVzCiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CisKKyNpZiBFTkFCTEUoREFUQV9JTlRFUkFD
VElPTikKKyAgICBpbmZvLmhhc0RhdGFJbnRlcmFjdGlvbkF0UG9zaXRpb24gPSBtX3BhZ2UtPmhh
c0RhdGFJbnRlcmFjdGlvbkF0UG9zaXRpb24oYWRqdXN0ZWRQb2ludCk7CisjZW5kaWYKIH0KIAog
dm9pZCBXZWJQYWdlOjpyZXF1ZXN0UG9zaXRpb25JbmZvcm1hdGlvbihjb25zdCBJbnRlcmFjdGlv
bkluZm9ybWF0aW9uUmVxdWVzdCYgcmVxdWVzdCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>