<?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>172944</bug_id>
          
          <creation_ts>2017-06-05 17:21:39 -0700</creation_ts>
          <short_desc>OMG tier up checks should be a patchpoint</short_desc>
          <delta_ts>2017-06-06 15:20:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1315828</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-06-05 17:21:39 -0700</bug_when>
    <thetext>OMG tier up checks should be a patchpoint</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315829</commentid>
    <comment_count>1</comment_count>
      <attachid>312039</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-06-05 17:23:33 -0700</bug_when>
    <thetext>Created attachment 312039
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315841</commentid>
    <comment_count>2</comment_count>
      <attachid>312039</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-06-05 18:40:18 -0700</bug_when>
    <thetext>Comment on attachment 312039
Patch

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

&gt; Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:913
&gt; +            MacroAssembler::Call call = jit.nearCall();
&gt; +
&gt; +            ScratchRegisterAllocator::restoreRegistersFromStackForCall(jit, registersToSpill, RegisterSet(), numberOfStackBytesUsedForRegisterPreservation, extraPaddingBytes);

This code looks wrong. You&apos;re not restoring SP after the call. Are tests passing? I&apos;m also looking at our other wasm call code, and wondering how any of it works since none of it restores SP.

&gt; Source/JavaScriptCore/wasm/WasmThunks.cpp:120
&gt; +    jit.call(GPRInfo::argumentGPR2);

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315845</commentid>
    <comment_count>3</comment_count>
      <attachid>312039</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-06-05 19:04:39 -0700</bug_when>
    <thetext>Comment on attachment 312039
Patch

Ignore me, C CC says SP is callee save.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315854</commentid>
    <comment_count>4</comment_count>
      <attachid>312039</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-05 19:34:55 -0700</bug_when>
    <thetext>Comment on attachment 312039
Patch

Clearing flags on attachment: 312039

Committed r217812: &lt;http://trac.webkit.org/changeset/217812&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1315855</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-05 19:34:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316017</commentid>
    <comment_count>6</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-06-06 09:16:18 -0700</bug_when>
    <thetext>Reverted r217812 for reason:

This change caused test failures on arm64.

Committed r217833: &lt;http://trac.webkit.org/changeset/217833&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316018</commentid>
    <comment_count>7</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-06-06 09:16:47 -0700</bug_when>
    <thetext>(In reply to Ryan Haddad from comment #6)
&gt; Reverted r217812 for reason:
&gt; 
&gt; This change caused test failures on arm64.
&gt; 
&gt; Committed r217833: &lt;http://trac.webkit.org/changeset/217833&gt;
&lt;rdar://problem/32590017&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316243</commentid>
    <comment_count>8</comment_count>
      <attachid>312121</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-06-06 14:41:49 -0700</bug_when>
    <thetext>Created attachment 312121
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316270</commentid>
    <comment_count>9</comment_count>
      <attachid>312121</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-06 15:20:19 -0700</bug_when>
    <thetext>Comment on attachment 312121
Patch for landing

Clearing flags on attachment: 312121

Committed r217861: &lt;http://trac.webkit.org/changeset/217861&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316271</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-06 15:20:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312039</attachid>
            <date>2017-06-05 17:23:33 -0700</date>
            <delta_ts>2017-06-06 14:41:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-172944-20170605172333.patch</filename>
            <type>text/plain</type>
            <size>9717</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3NzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
MWU5ZWU5ODdlNDI3ZjczMWYwMGI4M2Q4ODQ1YjRjYzc5NzI3NGJiLi41YTNiZDI1NGJmM2I0OWZh
NWIyZjEwZDFmODA0ZGU3MDYwZTE0MGYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxNy0wNi0wNSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBPTUcgdGllciB1cCBjaGVja3Mgc2hvdWxkIGJlIGEgcGF0Y2hwb2lu
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyOTQ0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGllciB1
cCBjaGVja3MgaW4gQkJRIHNob3VsZCBiZSBkb25lIGFzIGEgcGF0Y2hwb2ludCByYXRoZXIgdGhh
biBpbmRpdmlkdWFsIEIzIG9wY29kZXMuCisgICAgICAgIEluIG9yZGVyIHRvIHJlZHVjZSBjb2Rl
IGdlbmVyYXRlZCBvdXQgb2YgbGluZSBpbiBlYWNoIGZ1bmN0aW9uLiBXZSBnZW5lcmF0ZSBhIHNp
bmdsZSBzdHViCisgICAgICAgIHRoYXQgcHVzaGVzIGFsbCB0aGUgY2FsbGVlLXNhdmVzLiBUaGlz
IGxvb2tzIGxpa2UgYSA1LTEwJSBjb21waWxlIHRpbWUgc3BlZWR1cC4KKworICAgICAgICAqIHdh
c20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpXYXNtOjpCM0lSR2VuZXJh
dG9yOjpCM0lSR2VuZXJhdG9yKToKKyAgICAgICAgKEpTQzo6V2FzbTo6QjNJUkdlbmVyYXRvcjo6
ZW1pdFRpZXJVcENoZWNrKToKKyAgICAgICAgKEpTQzo6V2FzbTo6QjNJUkdlbmVyYXRvcjo6YWRk
TG9vcCk6CisgICAgICAgICogd2FzbS9XYXNtVGh1bmtzLmNwcDoKKyAgICAgICAgKEpTQzo6V2Fz
bTo6dHJpZ2dlck9NR1RpZXJVcFRodW5rR2VuZXJhdG9yKToKKyAgICAgICAgKiB3YXNtL1dhc21U
aHVua3MuaDoKKwogMjAxNy0wNi0wMiAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgog
CiAgICAgICAgIEF0b21pY3MubG9hZCBhbmQgQXRvbWljcy5zdG9yZSBuZWVkIHRvIGJlIGZ1bGx5
IGZlbmNlZApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUIzSVJH
ZW5lcmF0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUIzSVJHZW5lcmF0
b3IuY3BwCmluZGV4IDFlZmM1MWUzOWJhNTM5ZjBhM2QzNTg1MjAzMzVlY2M1ODExZmYxZjMuLjAx
NTM3YzQ4NDNhMTgxZmEwM2VjNTExYjE1YWYwMTgzMGNkYTk5ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CM0lSR2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5jcHAKQEAgLTUxLDYgKzUxLDcg
QEAKICNpbmNsdWRlICJKU1dlYkFzc2VtYmx5SW5zdGFuY2UuaCIKICNpbmNsdWRlICJKU1dlYkFz
c2VtYmx5TW9kdWxlLmgiCiAjaW5jbHVkZSAiSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5oIgor
I2luY2x1ZGUgIlNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvci5oIgogI2luY2x1ZGUgIlZpcnR1YWxS
ZWdpc3Rlci5oIgogI2luY2x1ZGUgIldhc21DYWxsaW5nQ29udmVudGlvbi5oIgogI2luY2x1ZGUg
Ildhc21Db250ZXh0LmgiCkBAIC0yMzAsNyArMjMxLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAg
ICB2b2lkIGVtaXRFeGNlcHRpb25DaGVjayhDQ2FsbEhlbHBlcnMmLCBFeGNlcHRpb25UeXBlKTsK
IAotICAgIEJhc2ljQmxvY2sqIGVtaXRUaWVyVXBDaGVjayhCYXNpY0Jsb2NrKiBlbnRyeSwgdWlu
dDMyX3QgZGVjcmVtZW50Q291bnQsIE9yaWdpbik7CisgICAgdm9pZCBlbWl0VGllclVwQ2hlY2so
dWludDMyX3QgZGVjcmVtZW50Q291bnQsIE9yaWdpbik7CiAKICAgICBFeHByZXNzaW9uVHlwZSBl
bWl0Q2hlY2tBbmRQcmVwYXJlUG9pbnRlcihFeHByZXNzaW9uVHlwZSBwb2ludGVyLCB1aW50MzJf
dCBvZmZzZXQsIHVpbnQzMl90IHNpemVPZk9wKTsKICAgICBCMzo6S2luZCBtZW1vcnlLaW5kKEIz
OjpPcGNvZGUgbWVtb3J5T3ApOwpAQCAtNDI4LDcgKzQyOSw3IEBAIEIzSVJHZW5lcmF0b3I6OkIz
SVJHZW5lcmF0b3IoY29uc3QgTW9kdWxlSW5mb3JtYXRpb24mIGluZm8sIFByb2NlZHVyZSYgcHJv
Y2VkdXJlCiAgICAgICAgIH0pOwogICAgIH0KIAotICAgIG1fY3VycmVudEJsb2NrID0gZW1pdFRp
ZXJVcENoZWNrKG1fY3VycmVudEJsb2NrLCBUaWVyVXBDb3VudDo6ZnVuY3Rpb25FbnRyeURlY3Jl
bWVudCgpLCBPcmlnaW4oKSk7CisgICAgZW1pdFRpZXJVcENoZWNrKFRpZXJVcENvdW50OjpmdW5j
dGlvbkVudHJ5RGVjcmVtZW50KCksIE9yaWdpbigpKTsKIH0KIAogdm9pZCBCM0lSR2VuZXJhdG9y
OjpyZXN0b3JlV2ViQXNzZW1ibHlHbG9iYWxTdGF0ZShjb25zdCBNZW1vcnlJbmZvcm1hdGlvbiYg
bWVtb3J5LCBWYWx1ZSogaW5zdGFuY2UsIFByb2NlZHVyZSYgcHJvYywgQmFzaWNCbG9jayogYmxv
Y2spCkBAIC04NzQsNDggKzg3NSw2MyBAQCBCM0lSR2VuZXJhdG9yOjpFeHByZXNzaW9uVHlwZSBC
M0lSR2VuZXJhdG9yOjphZGRDb25zdGFudChUeXBlIHR5cGUsIHVpbnQ2NF90IHZhbAogICAgIHJl
dHVybiBjb25zdGFudCh0b0IzVHlwZSh0eXBlKSwgdmFsdWUpOwogfQogCi1CYXNpY0Jsb2NrKiBC
M0lSR2VuZXJhdG9yOjplbWl0VGllclVwQ2hlY2soQmFzaWNCbG9jayogZW50cnksIHVpbnQzMl90
IGRlY3JlbWVudENvdW50LCBPcmlnaW4gb3JpZ2luKQordm9pZCBCM0lSR2VuZXJhdG9yOjplbWl0
VGllclVwQ2hlY2sodWludDMyX3QgZGVjcmVtZW50Q291bnQsIE9yaWdpbiBvcmlnaW4pCiB7CiAg
ICAgaWYgKCFtX3RpZXJVcCkKLSAgICAgICAgcmV0dXJuIGVudHJ5OwotCi0gICAgLy8gRklYTUU6
IE1ha2UgdGhpcyBhIHBhdGNocG9pbnQuCi0gICAgQmFzaWNCbG9jayogY29udGludWF0aW9uID0g
bV9wcm9jLmFkZEJsb2NrKCk7CisgICAgICAgIHJldHVybjsKIAogICAgIEFTU0VSVChtX3RpZXJV
cCk7CiAgICAgVmFsdWUqIGNvdW50RG93bkxvY2F0aW9uID0gY29uc3RhbnQocG9pbnRlclR5cGUo
KSwgcmVpbnRlcnByZXRfY2FzdDx1aW50NjRfdD4obV90aWVyVXApLCBvcmlnaW4pOwotICAgIFZh
bHVlKiBvbGRDb3VudERvd24gPSBlbnRyeS0+YXBwZW5kTmV3PE1lbW9yeVZhbHVlPihtX3Byb2Ms
IExvYWQsIEludDMyLCBvcmlnaW4sIGNvdW50RG93bkxvY2F0aW9uKTsKLSAgICBWYWx1ZSogbmV3
Q291bnREb3duID0gZW50cnktPmFwcGVuZE5ldzxWYWx1ZT4obV9wcm9jLCBTdWIsIG9yaWdpbiwg
b2xkQ291bnREb3duLCBjb25zdGFudChJbnQzMiwgZGVjcmVtZW50Q291bnQsIG9yaWdpbikpOwot
ICAgIGVudHJ5LT5hcHBlbmROZXc8TWVtb3J5VmFsdWU+KG1fcHJvYywgU3RvcmUsIG9yaWdpbiwg
bmV3Q291bnREb3duLCBjb3VudERvd25Mb2NhdGlvbik7CisgICAgVmFsdWUqIG9sZENvdW50RG93
biA9IG1fY3VycmVudEJsb2NrLT5hcHBlbmROZXc8TWVtb3J5VmFsdWU+KG1fcHJvYywgTG9hZCwg
SW50MzIsIG9yaWdpbiwgY291bnREb3duTG9jYXRpb24pOworICAgIFZhbHVlKiBuZXdDb3VudERv
d24gPSBtX2N1cnJlbnRCbG9jay0+YXBwZW5kTmV3PFZhbHVlPihtX3Byb2MsIFN1Yiwgb3JpZ2lu
LCBvbGRDb3VudERvd24sIGNvbnN0YW50KEludDMyLCBkZWNyZW1lbnRDb3VudCwgb3JpZ2luKSk7
CisgICAgbV9jdXJyZW50QmxvY2stPmFwcGVuZE5ldzxNZW1vcnlWYWx1ZT4obV9wcm9jLCBTdG9y
ZSwgb3JpZ2luLCBuZXdDb3VudERvd24sIGNvdW50RG93bkxvY2F0aW9uKTsKIAotICAgIFZhbHVl
KiB1bmRlckZsb3dlZCA9IGVudHJ5LT5hcHBlbmROZXc8VmFsdWU+KG1fcHJvYywgQWJvdmUsIG9y
aWdpbiwgbmV3Q291bnREb3duLCBvbGRDb3VudERvd24pOworICAgIFBhdGNocG9pbnRWYWx1ZSog
cGF0Y2ggPSBtX2N1cnJlbnRCbG9jay0+YXBwZW5kTmV3PFBhdGNocG9pbnRWYWx1ZT4obV9wcm9j
LCBCMzo6Vm9pZCwgb3JpZ2luKTsKKyAgICBFZmZlY3RzIGVmZmVjdHMgPSBFZmZlY3RzOjpub25l
KCk7CisgICAgLy8gRklYTUU6IHdlIHNob3VsZCBoYXZlIGEgbW9yZSBwcmVjaXNlIGhlYXAgcmFu
Z2UgZm9yIHRoZSB0aWVyIHVwIGNvdW50LgorICAgIGVmZmVjdHMucmVhZHMgPSBCMzo6SGVhcFJh
bmdlOjp0b3AoKTsKKyAgICBlZmZlY3RzLndyaXRlcyA9IEIzOjpIZWFwUmFuZ2U6OnRvcCgpOwor
ICAgIHBhdGNoLT5lZmZlY3RzID0gZWZmZWN0czsKIAotICAgIHsKLSAgICAgICAgQmFzaWNCbG9j
ayogdGllclVwID0gbV9wcm9jLmFkZEJsb2NrKCk7Ci0gICAgICAgIGVudHJ5LT5hcHBlbmROZXc8
VmFsdWU+KG1fcHJvYywgQjM6OkJyYW5jaCwgb3JpZ2luLCB1bmRlckZsb3dlZCk7Ci0gICAgICAg
IGVudHJ5LT5zZXRTdWNjZXNzb3JzKEZyZXF1ZW50ZWRCbG9jayh0aWVyVXAsIEZyZXF1ZW5jeUNs
YXNzOjpSYXJlKSwgRnJlcXVlbnRlZEJsb2NrKGNvbnRpbnVhdGlvbikpOworICAgIHBhdGNoLT5h
cHBlbmQobmV3Q291bnREb3duLCBWYWx1ZVJlcDo6U29tZVJlZ2lzdGVyKTsKKyAgICBwYXRjaC0+
YXBwZW5kKG9sZENvdW50RG93biwgVmFsdWVSZXA6OlNvbWVSZWdpc3Rlcik7CisgICAgcGF0Y2gt
PnNldEdlbmVyYXRvcihbPV0gKENDYWxsSGVscGVycyYgaml0LCBjb25zdCBTdGFja21hcEdlbmVy
YXRpb25QYXJhbXMmIHBhcmFtcykgeworICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCB0aWVy
VXAgPSBqaXQuYnJhbmNoMzIoTWFjcm9Bc3NlbWJsZXI6OkFib3ZlLCBwYXJhbXNbMF0uZ3ByKCks
IHBhcmFtc1sxXS5ncHIoKSk7CisgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCB0aWVyVXBS
ZXN1bWUgPSBqaXQubGFiZWwoKTsKIAotICAgICAgICB0aWVyVXAtPmFwcGVuZE5ldzxDQ2FsbFZh
bHVlPihtX3Byb2MsIEIzOjpWb2lkLCBvcmlnaW4sIEVmZmVjdHM6OmZvckNhbGwoKSwKLSAgICAg
ICAgICAgIGNvbnN0YW50KHBvaW50ZXJUeXBlKCksIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+
KHJ1bk9NR1BsYW5Gb3JJbmRleCksIG9yaWdpbiksCi0gICAgICAgICAgICBtYXRlcmlhbGl6ZVdh
c21Db250ZXh0KHRpZXJVcCksCi0gICAgICAgICAgICBjb25zdGFudChJbnQzMiwgbV9mdW5jdGlv
bkluZGV4LCBvcmlnaW4pKTsKKyAgICAgICAgcGFyYW1zLmFkZExhdGVQYXRoKFs9XSAoQ0NhbGxI
ZWxwZXJzJiBqaXQpIHsKKyAgICAgICAgICAgIHRpZXJVcC5saW5rKCZqaXQpOwogCi0gICAgICAg
IHRpZXJVcC0+YXBwZW5kTmV3Q29udHJvbFZhbHVlKG1fcHJvYywgSnVtcCwgb3JpZ2luLCBjb250
aW51YXRpb24pOwotICAgIH0KKyAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGV4dHJhUGFkZGlu
Z0J5dGVzID0gMDsKKyAgICAgICAgICAgIFJlZ2lzdGVyU2V0IHJlZ2lzdGVyc1RvU3BpbGwgPSBS
ZWdpc3RlclNldCgpOworICAgICAgICAgICAgcmVnaXN0ZXJzVG9TcGlsbC5hZGQoR1BSSW5mbzo6
YXJndW1lbnRHUFIxKTsKKyAgICAgICAgICAgIHVuc2lnbmVkIG51bWJlck9mU3RhY2tCeXRlc1Vz
ZWRGb3JSZWdpc3RlclByZXNlcnZhdGlvbiA9IFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvcjo6cHJl
c2VydmVSZWdpc3RlcnNUb1N0YWNrRm9yQ2FsbChqaXQsIHJlZ2lzdGVyc1RvU3BpbGwsIGV4dHJh
UGFkZGluZ0J5dGVzKTsKIAotICAgIHJldHVybiBjb250aW51YXRpb247CisgICAgICAgICAgICBq
aXQubW92ZShNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKG1fZnVuY3Rpb25JbmRleCksIEdQ
UkluZm86OmFyZ3VtZW50R1BSMSk7CisgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBj
YWxsID0gaml0Lm5lYXJDYWxsKCk7CisKKyAgICAgICAgICAgIFNjcmF0Y2hSZWdpc3RlckFsbG9j
YXRvcjo6cmVzdG9yZVJlZ2lzdGVyc0Zyb21TdGFja0ZvckNhbGwoaml0LCByZWdpc3RlcnNUb1Nw
aWxsLCBSZWdpc3RlclNldCgpLCBudW1iZXJPZlN0YWNrQnl0ZXNVc2VkRm9yUmVnaXN0ZXJQcmVz
ZXJ2YXRpb24sIGV4dHJhUGFkZGluZ0J5dGVzKTsKKyAgICAgICAgICAgIGppdC5qdW1wKHRpZXJV
cFJlc3VtZSk7CisKKyAgICAgICAgICAgIGppdC5hZGRMaW5rVGFzayhbPV0gKExpbmtCdWZmZXIm
IGxpbmtCdWZmZXIpIHsKKyAgICAgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6cmVwYXRjaE5l
YXJDYWxsKGxpbmtCdWZmZXIubG9jYXRpb25PZk5lYXJDYWxsKGNhbGwpLCBDb2RlTG9jYXRpb25M
YWJlbChUaHVua3M6OnNpbmdsZXRvbigpLnN0dWIodHJpZ2dlck9NR1RpZXJVcFRodW5rR2VuZXJh
dG9yKS5jb2RlKCkpKTsKKworICAgICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAgIH0pOwog
fQogCiBCM0lSR2VuZXJhdG9yOjpDb250cm9sRGF0YSBCM0lSR2VuZXJhdG9yOjphZGRMb29wKFR5
cGUgc2lnbmF0dXJlKQogewotICAgIEJhc2ljQmxvY2sqIGJyYW5jaFRhcmdldCA9IG1fcHJvYy5h
ZGRCbG9jaygpOworICAgIEJhc2ljQmxvY2sqIGJvZHkgPSBtX3Byb2MuYWRkQmxvY2soKTsKICAg
ICBCYXNpY0Jsb2NrKiBjb250aW51YXRpb24gPSBtX3Byb2MuYWRkQmxvY2soKTsKLSAgICBCYXNp
Y0Jsb2NrKiBib2R5ID0gZW1pdFRpZXJVcENoZWNrKGJyYW5jaFRhcmdldCwgVGllclVwQ291bnQ6
Omxvb3BEZWNyZW1lbnQoKSwgb3JpZ2luKCkpOwogCiAgICAgbV9jdXJyZW50QmxvY2stPmFwcGVu
ZE5ld0NvbnRyb2xWYWx1ZShtX3Byb2MsIEp1bXAsIG9yaWdpbigpLCBib2R5KTsKIAogICAgIG1f
Y3VycmVudEJsb2NrID0gYm9keTsKLSAgICByZXR1cm4gQ29udHJvbERhdGEobV9wcm9jLCBvcmln
aW4oKSwgc2lnbmF0dXJlLCBCbG9ja1R5cGU6Okxvb3AsIGNvbnRpbnVhdGlvbiwgYnJhbmNoVGFy
Z2V0KTsKKyAgICBlbWl0VGllclVwQ2hlY2soVGllclVwQ291bnQ6Omxvb3BEZWNyZW1lbnQoKSwg
b3JpZ2luKCkpOworCisgICAgcmV0dXJuIENvbnRyb2xEYXRhKG1fcHJvYywgb3JpZ2luKCksIHNp
Z25hdHVyZSwgQmxvY2tUeXBlOjpMb29wLCBjb250aW51YXRpb24sIGJvZHkpOwogfQogCiBCM0lS
R2VuZXJhdG9yOjpDb250cm9sRGF0YSBCM0lSR2VuZXJhdG9yOjphZGRUb3BMZXZlbChUeXBlIHNp
Z25hdHVyZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21UaHVu
a3MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVRodW5rcy5jcHAKaW5kZXgg
MGVmNDkxOTgyMzhkZGUzNDdkMmU0OTkzMGNlMzY2YjE2NTU3YzQ2OC4uOWI2ZDBjMjU5NmIzNTAw
YjRiZTBjZGJjZjZiZTBiODk3Y2FkZGE1MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3dhc20vV2FzbVRodW5rcy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
V2FzbVRodW5rcy5jcHAKQEAgLTM1LDggKzM1LDEwIEBACiAjaW5jbHVkZSAiSlNXZWJBc3NlbWJs
eUluc3RhbmNlLmgiCiAjaW5jbHVkZSAiSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5oIgogI2lu
Y2x1ZGUgIkxpbmtCdWZmZXIuaCIKKyNpbmNsdWRlICJTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3Iu
aCIKICNpbmNsdWRlICJXYXNtQ29udGV4dC5oIgogI2luY2x1ZGUgIldhc21FeGNlcHRpb25UeXBl
LmgiCisjaW5jbHVkZSAiV2FzbU9NR1BsYW4uaCIKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFj
ZSBXYXNtIHsKIApAQCAtMTAzLDYgKzEwNSwyNyBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgdGhy
b3dTdGFja092ZXJmbG93RnJvbVdhc21UaHVua0dlbmVyYXRvcihjb25zdCBBYnN0cmFjdExvYwog
ICAgIHJldHVybiBGSU5BTElaRV9DT0RFKGxpbmtCdWZmZXIsICgiVGhyb3cgc3RhY2sgb3ZlcmZs
b3cgZnJvbSBXYXNtIikpOwogfQogCitNYWNyb0Fzc2VtYmxlckNvZGVSZWYgdHJpZ2dlck9NR1Rp
ZXJVcFRodW5rR2VuZXJhdG9yKGNvbnN0IEFic3RyYWN0TG9ja2VyJikKK3sKKyAgICAvLyBXZSBl
eHBlY3QgdGhhdCB0aGUgdXNlciBoYXMgYWxyZWFkeSBwdXQgdGhlIGZ1bmN0aW9uIGluZGV4IGlu
dG8gR1BSSW5mbzo6YXJndW1lbnRHUFIxCisgICAgQ0NhbGxIZWxwZXJzIGppdDsKKworICAgIGNv
bnN0IHVuc2lnbmVkIGV4dHJhUGFkZGluZ0J5dGVzID0gMDsKKyAgICBSZWdpc3RlclNldCByZWdp
c3RlcnNUb1NwaWxsID0gUmVnaXN0ZXJTZXQ6OmFsbFJlZ2lzdGVycygpOworICAgIHJlZ2lzdGVy
c1RvU3BpbGwuZXhjbHVkZShSZWdpc3RlclNldDo6cmVnaXN0ZXJzVG9Ob3RTYXZlRm9yQ0NhbGwo
KSk7CisgICAgdW5zaWduZWQgbnVtYmVyT2ZTdGFja0J5dGVzVXNlZEZvclJlZ2lzdGVyUHJlc2Vy
dmF0aW9uID0gU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yOjpwcmVzZXJ2ZVJlZ2lzdGVyc1RvU3Rh
Y2tGb3JDYWxsKGppdCwgcmVnaXN0ZXJzVG9TcGlsbCwgZXh0cmFQYWRkaW5nQnl0ZXMpOworCisg
ICAgaml0LmxvYWRXYXNtQ29udGV4dChHUFJJbmZvOjphcmd1bWVudEdQUjApOworICAgIGppdC5t
b3ZlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+
KHJ1bk9NR1BsYW5Gb3JJbmRleCkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjIpOworICAgIGppdC5j
YWxsKEdQUkluZm86OmFyZ3VtZW50R1BSMik7CisKKyAgICBTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0
b3I6OnJlc3RvcmVSZWdpc3RlcnNGcm9tU3RhY2tGb3JDYWxsKGppdCwgcmVnaXN0ZXJzVG9TcGls
bCwgUmVnaXN0ZXJTZXQoKSwgbnVtYmVyT2ZTdGFja0J5dGVzVXNlZEZvclJlZ2lzdGVyUHJlc2Vy
dmF0aW9uLCBleHRyYVBhZGRpbmdCeXRlcyk7CisKKyAgICBqaXQucmV0KCk7CisgICAgTGlua0J1
ZmZlciBsaW5rQnVmZmVyKGppdCwgR0xPQkFMX1RIVU5LX0lEKTsKKyAgICByZXR1cm4gRklOQUxJ
WkVfQ09ERShsaW5rQnVmZmVyLCAoIlRyaWdnZXIgT01HIHRpZXIgdXAiKSk7Cit9CisKIHN0YXRp
YyBUaHVua3MqIHRodW5rczsKIHZvaWQgVGh1bmtzOjppbml0aWFsaXplKCkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21UaHVua3MuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93YXNtL1dhc21UaHVua3MuaAppbmRleCA2YmNhMzAyYWUzNDkzYzg2ZjEyZjQy
NzM4N2NhNjIxNzM5MzgzM2I1Li5kZjE0Y2EyNmE4M2I0OGRhZTMzOTcyY2ZkZmI5OGM5OTYwMDk5
ZTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtVGh1bmtzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVRodW5rcy5oCkBAIC0zMyw2ICsz
Myw3IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgV2FzbSB7CiAKIE1hY3JvQXNzZW1ibGVy
Q29kZVJlZiB0aHJvd0V4Y2VwdGlvbkZyb21XYXNtVGh1bmtHZW5lcmF0b3IoY29uc3QgQWJzdHJh
Y3RMb2NrZXImKTsKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiB0aHJvd1N0YWNrT3ZlcmZsb3dGcm9t
V2FzbVRodW5rR2VuZXJhdG9yKGNvbnN0IEFic3RyYWN0TG9ja2VyJik7CitNYWNyb0Fzc2VtYmxl
ckNvZGVSZWYgdHJpZ2dlck9NR1RpZXJVcFRodW5rR2VuZXJhdG9yKGNvbnN0IEFic3RyYWN0TG9j
a2VyJik7CiAKIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmICgqVGh1bmtHZW5lcmF0b3Ip
KGNvbnN0IEFic3RyYWN0TG9ja2VyJik7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312121</attachid>
            <date>2017-06-06 14:41:49 -0700</date>
            <delta_ts>2017-06-06 15:20:19 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-172944-20170606144148.patch</filename>
            <type>text/plain</type>
            <size>9834</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3ODM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
ZDJiNDkzNzYxZTMxZDFhNGZkM2YyNGE2NzM0NWY0M2QyYjc2YTJkLi5lNGRmM2EwMzBhMTMzNmUw
ZTE4ZWJmODZjY2FmMWQ4NDY3MzgyNjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxNy0wNi0wNiAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBPTUcgdGllciB1cCBjaGVja3Mgc2hvdWxkIGJlIGEgcGF0Y2hwb2lu
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyOTQ0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2FhbSBCYXJhdGkuCisKKyAgICAgICAgVGllciB1cCBj
aGVja3MgaW4gQkJRIHNob3VsZCBiZSBkb25lIGFzIGEgcGF0Y2hwb2ludCByYXRoZXIgdGhhbiBp
bmRpdmlkdWFsIEIzIG9wY29kZXMuCisgICAgICAgIEluIG9yZGVyIHRvIHJlZHVjZSBjb2RlIGdl
bmVyYXRlZCBvdXQgb2YgbGluZSBpbiBlYWNoIGZ1bmN0aW9uLiBXZSBnZW5lcmF0ZSBhIHNpbmds
ZSBzdHViCisgICAgICAgIHRoYXQgcHVzaGVzIGFsbCB0aGUgY2FsbGVlLXNhdmVzLiBUaGlzIGxv
b2tzIGxpa2UgYSA1LTEwJSBjb21waWxlIHRpbWUgc3BlZWR1cC4KKworICAgICAgICAqIHdhc20v
V2FzbUIzSVJHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpXYXNtOjpCM0lSR2VuZXJhdG9y
OjpCM0lSR2VuZXJhdG9yKToKKyAgICAgICAgKEpTQzo6V2FzbTo6QjNJUkdlbmVyYXRvcjo6ZW1p
dFRpZXJVcENoZWNrKToKKyAgICAgICAgKEpTQzo6V2FzbTo6QjNJUkdlbmVyYXRvcjo6YWRkTG9v
cCk6CisgICAgICAgICogd2FzbS9XYXNtVGh1bmtzLmNwcDoKKyAgICAgICAgKEpTQzo6V2FzbTo6
dHJpZ2dlck9NR1RpZXJVcFRodW5rR2VuZXJhdG9yKToKKyAgICAgICAgKiB3YXNtL1dhc21UaHVu
a3MuaDoKKwogMjAxNy0wNi0wNiAgUnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjE3ODEyLgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwCmluZGV4IDFlZmM1MWUz
OWJhNTM5ZjBhM2QzNTg1MjAzMzVlY2M1ODExZmYxZjMuLjAxNTM3YzQ4NDNhMTgxZmEwM2VjNTEx
YjE1YWYwMTgzMGNkYTk5ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dhc21CM0lSR2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9X
YXNtQjNJUkdlbmVyYXRvci5jcHAKQEAgLTUxLDYgKzUxLDcgQEAKICNpbmNsdWRlICJKU1dlYkFz
c2VtYmx5SW5zdGFuY2UuaCIKICNpbmNsdWRlICJKU1dlYkFzc2VtYmx5TW9kdWxlLmgiCiAjaW5j
bHVkZSAiSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5oIgorI2luY2x1ZGUgIlNjcmF0Y2hSZWdp
c3RlckFsbG9jYXRvci5oIgogI2luY2x1ZGUgIlZpcnR1YWxSZWdpc3Rlci5oIgogI2luY2x1ZGUg
Ildhc21DYWxsaW5nQ29udmVudGlvbi5oIgogI2luY2x1ZGUgIldhc21Db250ZXh0LmgiCkBAIC0y
MzAsNyArMjMxLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB2b2lkIGVtaXRFeGNlcHRpb25D
aGVjayhDQ2FsbEhlbHBlcnMmLCBFeGNlcHRpb25UeXBlKTsKIAotICAgIEJhc2ljQmxvY2sqIGVt
aXRUaWVyVXBDaGVjayhCYXNpY0Jsb2NrKiBlbnRyeSwgdWludDMyX3QgZGVjcmVtZW50Q291bnQs
IE9yaWdpbik7CisgICAgdm9pZCBlbWl0VGllclVwQ2hlY2sodWludDMyX3QgZGVjcmVtZW50Q291
bnQsIE9yaWdpbik7CiAKICAgICBFeHByZXNzaW9uVHlwZSBlbWl0Q2hlY2tBbmRQcmVwYXJlUG9p
bnRlcihFeHByZXNzaW9uVHlwZSBwb2ludGVyLCB1aW50MzJfdCBvZmZzZXQsIHVpbnQzMl90IHNp
emVPZk9wKTsKICAgICBCMzo6S2luZCBtZW1vcnlLaW5kKEIzOjpPcGNvZGUgbWVtb3J5T3ApOwpA
QCAtNDI4LDcgKzQyOSw3IEBAIEIzSVJHZW5lcmF0b3I6OkIzSVJHZW5lcmF0b3IoY29uc3QgTW9k
dWxlSW5mb3JtYXRpb24mIGluZm8sIFByb2NlZHVyZSYgcHJvY2VkdXJlCiAgICAgICAgIH0pOwog
ICAgIH0KIAotICAgIG1fY3VycmVudEJsb2NrID0gZW1pdFRpZXJVcENoZWNrKG1fY3VycmVudEJs
b2NrLCBUaWVyVXBDb3VudDo6ZnVuY3Rpb25FbnRyeURlY3JlbWVudCgpLCBPcmlnaW4oKSk7Cisg
ICAgZW1pdFRpZXJVcENoZWNrKFRpZXJVcENvdW50OjpmdW5jdGlvbkVudHJ5RGVjcmVtZW50KCks
IE9yaWdpbigpKTsKIH0KIAogdm9pZCBCM0lSR2VuZXJhdG9yOjpyZXN0b3JlV2ViQXNzZW1ibHlH
bG9iYWxTdGF0ZShjb25zdCBNZW1vcnlJbmZvcm1hdGlvbiYgbWVtb3J5LCBWYWx1ZSogaW5zdGFu
Y2UsIFByb2NlZHVyZSYgcHJvYywgQmFzaWNCbG9jayogYmxvY2spCkBAIC04NzQsNDggKzg3NSw2
MyBAQCBCM0lSR2VuZXJhdG9yOjpFeHByZXNzaW9uVHlwZSBCM0lSR2VuZXJhdG9yOjphZGRDb25z
dGFudChUeXBlIHR5cGUsIHVpbnQ2NF90IHZhbAogICAgIHJldHVybiBjb25zdGFudCh0b0IzVHlw
ZSh0eXBlKSwgdmFsdWUpOwogfQogCi1CYXNpY0Jsb2NrKiBCM0lSR2VuZXJhdG9yOjplbWl0VGll
clVwQ2hlY2soQmFzaWNCbG9jayogZW50cnksIHVpbnQzMl90IGRlY3JlbWVudENvdW50LCBPcmln
aW4gb3JpZ2luKQordm9pZCBCM0lSR2VuZXJhdG9yOjplbWl0VGllclVwQ2hlY2sodWludDMyX3Qg
ZGVjcmVtZW50Q291bnQsIE9yaWdpbiBvcmlnaW4pCiB7CiAgICAgaWYgKCFtX3RpZXJVcCkKLSAg
ICAgICAgcmV0dXJuIGVudHJ5OwotCi0gICAgLy8gRklYTUU6IE1ha2UgdGhpcyBhIHBhdGNocG9p
bnQuCi0gICAgQmFzaWNCbG9jayogY29udGludWF0aW9uID0gbV9wcm9jLmFkZEJsb2NrKCk7Cisg
ICAgICAgIHJldHVybjsKIAogICAgIEFTU0VSVChtX3RpZXJVcCk7CiAgICAgVmFsdWUqIGNvdW50
RG93bkxvY2F0aW9uID0gY29uc3RhbnQocG9pbnRlclR5cGUoKSwgcmVpbnRlcnByZXRfY2FzdDx1
aW50NjRfdD4obV90aWVyVXApLCBvcmlnaW4pOwotICAgIFZhbHVlKiBvbGRDb3VudERvd24gPSBl
bnRyeS0+YXBwZW5kTmV3PE1lbW9yeVZhbHVlPihtX3Byb2MsIExvYWQsIEludDMyLCBvcmlnaW4s
IGNvdW50RG93bkxvY2F0aW9uKTsKLSAgICBWYWx1ZSogbmV3Q291bnREb3duID0gZW50cnktPmFw
cGVuZE5ldzxWYWx1ZT4obV9wcm9jLCBTdWIsIG9yaWdpbiwgb2xkQ291bnREb3duLCBjb25zdGFu
dChJbnQzMiwgZGVjcmVtZW50Q291bnQsIG9yaWdpbikpOwotICAgIGVudHJ5LT5hcHBlbmROZXc8
TWVtb3J5VmFsdWU+KG1fcHJvYywgU3RvcmUsIG9yaWdpbiwgbmV3Q291bnREb3duLCBjb3VudERv
d25Mb2NhdGlvbik7CisgICAgVmFsdWUqIG9sZENvdW50RG93biA9IG1fY3VycmVudEJsb2NrLT5h
cHBlbmROZXc8TWVtb3J5VmFsdWU+KG1fcHJvYywgTG9hZCwgSW50MzIsIG9yaWdpbiwgY291bnRE
b3duTG9jYXRpb24pOworICAgIFZhbHVlKiBuZXdDb3VudERvd24gPSBtX2N1cnJlbnRCbG9jay0+
YXBwZW5kTmV3PFZhbHVlPihtX3Byb2MsIFN1Yiwgb3JpZ2luLCBvbGRDb3VudERvd24sIGNvbnN0
YW50KEludDMyLCBkZWNyZW1lbnRDb3VudCwgb3JpZ2luKSk7CisgICAgbV9jdXJyZW50QmxvY2st
PmFwcGVuZE5ldzxNZW1vcnlWYWx1ZT4obV9wcm9jLCBTdG9yZSwgb3JpZ2luLCBuZXdDb3VudERv
d24sIGNvdW50RG93bkxvY2F0aW9uKTsKIAotICAgIFZhbHVlKiB1bmRlckZsb3dlZCA9IGVudHJ5
LT5hcHBlbmROZXc8VmFsdWU+KG1fcHJvYywgQWJvdmUsIG9yaWdpbiwgbmV3Q291bnREb3duLCBv
bGRDb3VudERvd24pOworICAgIFBhdGNocG9pbnRWYWx1ZSogcGF0Y2ggPSBtX2N1cnJlbnRCbG9j
ay0+YXBwZW5kTmV3PFBhdGNocG9pbnRWYWx1ZT4obV9wcm9jLCBCMzo6Vm9pZCwgb3JpZ2luKTsK
KyAgICBFZmZlY3RzIGVmZmVjdHMgPSBFZmZlY3RzOjpub25lKCk7CisgICAgLy8gRklYTUU6IHdl
IHNob3VsZCBoYXZlIGEgbW9yZSBwcmVjaXNlIGhlYXAgcmFuZ2UgZm9yIHRoZSB0aWVyIHVwIGNv
dW50LgorICAgIGVmZmVjdHMucmVhZHMgPSBCMzo6SGVhcFJhbmdlOjp0b3AoKTsKKyAgICBlZmZl
Y3RzLndyaXRlcyA9IEIzOjpIZWFwUmFuZ2U6OnRvcCgpOworICAgIHBhdGNoLT5lZmZlY3RzID0g
ZWZmZWN0czsKIAotICAgIHsKLSAgICAgICAgQmFzaWNCbG9jayogdGllclVwID0gbV9wcm9jLmFk
ZEJsb2NrKCk7Ci0gICAgICAgIGVudHJ5LT5hcHBlbmROZXc8VmFsdWU+KG1fcHJvYywgQjM6OkJy
YW5jaCwgb3JpZ2luLCB1bmRlckZsb3dlZCk7Ci0gICAgICAgIGVudHJ5LT5zZXRTdWNjZXNzb3Jz
KEZyZXF1ZW50ZWRCbG9jayh0aWVyVXAsIEZyZXF1ZW5jeUNsYXNzOjpSYXJlKSwgRnJlcXVlbnRl
ZEJsb2NrKGNvbnRpbnVhdGlvbikpOworICAgIHBhdGNoLT5hcHBlbmQobmV3Q291bnREb3duLCBW
YWx1ZVJlcDo6U29tZVJlZ2lzdGVyKTsKKyAgICBwYXRjaC0+YXBwZW5kKG9sZENvdW50RG93biwg
VmFsdWVSZXA6OlNvbWVSZWdpc3Rlcik7CisgICAgcGF0Y2gtPnNldEdlbmVyYXRvcihbPV0gKEND
YWxsSGVscGVycyYgaml0LCBjb25zdCBTdGFja21hcEdlbmVyYXRpb25QYXJhbXMmIHBhcmFtcykg
eworICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCB0aWVyVXAgPSBqaXQuYnJhbmNoMzIoTWFj
cm9Bc3NlbWJsZXI6OkFib3ZlLCBwYXJhbXNbMF0uZ3ByKCksIHBhcmFtc1sxXS5ncHIoKSk7Cisg
ICAgICAgIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCB0aWVyVXBSZXN1bWUgPSBqaXQubGFiZWwoKTsK
IAotICAgICAgICB0aWVyVXAtPmFwcGVuZE5ldzxDQ2FsbFZhbHVlPihtX3Byb2MsIEIzOjpWb2lk
LCBvcmlnaW4sIEVmZmVjdHM6OmZvckNhbGwoKSwKLSAgICAgICAgICAgIGNvbnN0YW50KHBvaW50
ZXJUeXBlKCksIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+KHJ1bk9NR1BsYW5Gb3JJbmRleCks
IG9yaWdpbiksCi0gICAgICAgICAgICBtYXRlcmlhbGl6ZVdhc21Db250ZXh0KHRpZXJVcCksCi0g
ICAgICAgICAgICBjb25zdGFudChJbnQzMiwgbV9mdW5jdGlvbkluZGV4LCBvcmlnaW4pKTsKKyAg
ICAgICAgcGFyYW1zLmFkZExhdGVQYXRoKFs9XSAoQ0NhbGxIZWxwZXJzJiBqaXQpIHsKKyAgICAg
ICAgICAgIHRpZXJVcC5saW5rKCZqaXQpOwogCi0gICAgICAgIHRpZXJVcC0+YXBwZW5kTmV3Q29u
dHJvbFZhbHVlKG1fcHJvYywgSnVtcCwgb3JpZ2luLCBjb250aW51YXRpb24pOwotICAgIH0KKyAg
ICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGV4dHJhUGFkZGluZ0J5dGVzID0gMDsKKyAgICAgICAg
ICAgIFJlZ2lzdGVyU2V0IHJlZ2lzdGVyc1RvU3BpbGwgPSBSZWdpc3RlclNldCgpOworICAgICAg
ICAgICAgcmVnaXN0ZXJzVG9TcGlsbC5hZGQoR1BSSW5mbzo6YXJndW1lbnRHUFIxKTsKKyAgICAg
ICAgICAgIHVuc2lnbmVkIG51bWJlck9mU3RhY2tCeXRlc1VzZWRGb3JSZWdpc3RlclByZXNlcnZh
dGlvbiA9IFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvcjo6cHJlc2VydmVSZWdpc3RlcnNUb1N0YWNr
Rm9yQ2FsbChqaXQsIHJlZ2lzdGVyc1RvU3BpbGwsIGV4dHJhUGFkZGluZ0J5dGVzKTsKIAotICAg
IHJldHVybiBjb250aW51YXRpb247CisgICAgICAgICAgICBqaXQubW92ZShNYWNyb0Fzc2VtYmxl
cjo6VHJ1c3RlZEltbTMyKG1fZnVuY3Rpb25JbmRleCksIEdQUkluZm86OmFyZ3VtZW50R1BSMSk7
CisgICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6Q2FsbCBjYWxsID0gaml0Lm5lYXJDYWxsKCk7
CisKKyAgICAgICAgICAgIFNjcmF0Y2hSZWdpc3RlckFsbG9jYXRvcjo6cmVzdG9yZVJlZ2lzdGVy
c0Zyb21TdGFja0ZvckNhbGwoaml0LCByZWdpc3RlcnNUb1NwaWxsLCBSZWdpc3RlclNldCgpLCBu
dW1iZXJPZlN0YWNrQnl0ZXNVc2VkRm9yUmVnaXN0ZXJQcmVzZXJ2YXRpb24sIGV4dHJhUGFkZGlu
Z0J5dGVzKTsKKyAgICAgICAgICAgIGppdC5qdW1wKHRpZXJVcFJlc3VtZSk7CisKKyAgICAgICAg
ICAgIGppdC5hZGRMaW5rVGFzayhbPV0gKExpbmtCdWZmZXImIGxpbmtCdWZmZXIpIHsKKyAgICAg
ICAgICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6cmVwYXRjaE5lYXJDYWxsKGxpbmtCdWZmZXIubG9j
YXRpb25PZk5lYXJDYWxsKGNhbGwpLCBDb2RlTG9jYXRpb25MYWJlbChUaHVua3M6OnNpbmdsZXRv
bigpLnN0dWIodHJpZ2dlck9NR1RpZXJVcFRodW5rR2VuZXJhdG9yKS5jb2RlKCkpKTsKKworICAg
ICAgICAgICAgfSk7CisgICAgICAgIH0pOworICAgIH0pOwogfQogCiBCM0lSR2VuZXJhdG9yOjpD
b250cm9sRGF0YSBCM0lSR2VuZXJhdG9yOjphZGRMb29wKFR5cGUgc2lnbmF0dXJlKQogewotICAg
IEJhc2ljQmxvY2sqIGJyYW5jaFRhcmdldCA9IG1fcHJvYy5hZGRCbG9jaygpOworICAgIEJhc2lj
QmxvY2sqIGJvZHkgPSBtX3Byb2MuYWRkQmxvY2soKTsKICAgICBCYXNpY0Jsb2NrKiBjb250aW51
YXRpb24gPSBtX3Byb2MuYWRkQmxvY2soKTsKLSAgICBCYXNpY0Jsb2NrKiBib2R5ID0gZW1pdFRp
ZXJVcENoZWNrKGJyYW5jaFRhcmdldCwgVGllclVwQ291bnQ6Omxvb3BEZWNyZW1lbnQoKSwgb3Jp
Z2luKCkpOwogCiAgICAgbV9jdXJyZW50QmxvY2stPmFwcGVuZE5ld0NvbnRyb2xWYWx1ZShtX3By
b2MsIEp1bXAsIG9yaWdpbigpLCBib2R5KTsKIAogICAgIG1fY3VycmVudEJsb2NrID0gYm9keTsK
LSAgICByZXR1cm4gQ29udHJvbERhdGEobV9wcm9jLCBvcmlnaW4oKSwgc2lnbmF0dXJlLCBCbG9j
a1R5cGU6Okxvb3AsIGNvbnRpbnVhdGlvbiwgYnJhbmNoVGFyZ2V0KTsKKyAgICBlbWl0VGllclVw
Q2hlY2soVGllclVwQ291bnQ6Omxvb3BEZWNyZW1lbnQoKSwgb3JpZ2luKCkpOworCisgICAgcmV0
dXJuIENvbnRyb2xEYXRhKG1fcHJvYywgb3JpZ2luKCksIHNpZ25hdHVyZSwgQmxvY2tUeXBlOjpM
b29wLCBjb250aW51YXRpb24sIGJvZHkpOwogfQogCiBCM0lSR2VuZXJhdG9yOjpDb250cm9sRGF0
YSBCM0lSR2VuZXJhdG9yOjphZGRUb3BMZXZlbChUeXBlIHNpZ25hdHVyZSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21UaHVua3MuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3dhc20vV2FzbVRodW5rcy5jcHAKaW5kZXggMGVmNDkxOTgyMzhkZGUzNDdkMmU0
OTkzMGNlMzY2YjE2NTU3YzQ2OC4uOTc3YjAxYjFjNmNmNWU1NGY5NWMzZWU4NGE5N2UxMjU1MzM4
OWQxNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVRodW5rcy5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVRodW5rcy5jcHAKQEAgLTM1
LDggKzM1LDEwIEBACiAjaW5jbHVkZSAiSlNXZWJBc3NlbWJseUluc3RhbmNlLmgiCiAjaW5jbHVk
ZSAiSlNXZWJBc3NlbWJseVJ1bnRpbWVFcnJvci5oIgogI2luY2x1ZGUgIkxpbmtCdWZmZXIuaCIK
KyNpbmNsdWRlICJTY3JhdGNoUmVnaXN0ZXJBbGxvY2F0b3IuaCIKICNpbmNsdWRlICJXYXNtQ29u
dGV4dC5oIgogI2luY2x1ZGUgIldhc21FeGNlcHRpb25UeXBlLmgiCisjaW5jbHVkZSAiV2FzbU9N
R1BsYW4uaCIKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBXYXNtIHsKIApAQCAtMTAzLDYg
KzEwNSwzMSBAQCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgdGhyb3dTdGFja092ZXJmbG93RnJvbVdh
c21UaHVua0dlbmVyYXRvcihjb25zdCBBYnN0cmFjdExvYwogICAgIHJldHVybiBGSU5BTElaRV9D
T0RFKGxpbmtCdWZmZXIsICgiVGhyb3cgc3RhY2sgb3ZlcmZsb3cgZnJvbSBXYXNtIikpOwogfQog
CitNYWNyb0Fzc2VtYmxlckNvZGVSZWYgdHJpZ2dlck9NR1RpZXJVcFRodW5rR2VuZXJhdG9yKGNv
bnN0IEFic3RyYWN0TG9ja2VyJikKK3sKKyAgICAvLyBXZSBleHBlY3QgdGhhdCB0aGUgdXNlciBo
YXMgYWxyZWFkeSBwdXQgdGhlIGZ1bmN0aW9uIGluZGV4IGludG8gR1BSSW5mbzo6YXJndW1lbnRH
UFIxCisgICAgQ0NhbGxIZWxwZXJzIGppdDsKKworICAgIGNvbnN0IHVuc2lnbmVkIGV4dHJhUGFk
ZGluZ0J5dGVzID0gMDsKKyAgICBSZWdpc3RlclNldCByZWdpc3RlcnNUb1NwaWxsID0gUmVnaXN0
ZXJTZXQ6OmFsbFJlZ2lzdGVycygpOworICAgIHJlZ2lzdGVyc1RvU3BpbGwuZXhjbHVkZShSZWdp
c3RlclNldDo6cmVnaXN0ZXJzVG9Ob3RTYXZlRm9yQ0NhbGwoKSk7CisjaWYgQ1BVKEFSTTY0KQor
ICAgIC8vIFdlIGFsc28gd2FudCB0byBzcGlsbCB4MzAgc2luY2UgdGhhdCBob2xkcyBvdXIgcmV0
dXJuIHBjLgorICAgIHJlZ2lzdGVyc1RvU3BpbGwuc2V0KEFSTTY0UmVnaXN0ZXJzOjp4MzApOwor
I2VuZGlmCisgICAgdW5zaWduZWQgbnVtYmVyT2ZTdGFja0J5dGVzVXNlZEZvclJlZ2lzdGVyUHJl
c2VydmF0aW9uID0gU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yOjpwcmVzZXJ2ZVJlZ2lzdGVyc1Rv
U3RhY2tGb3JDYWxsKGppdCwgcmVnaXN0ZXJzVG9TcGlsbCwgZXh0cmFQYWRkaW5nQnl0ZXMpOwor
CisgICAgaml0LmxvYWRXYXNtQ29udGV4dChHUFJJbmZvOjphcmd1bWVudEdQUjApOworICAgIGpp
dC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKHJlaW50ZXJwcmV0X2Nhc3Q8dm9p
ZCo+KHJ1bk9NR1BsYW5Gb3JJbmRleCkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjIpOworICAgIGpp
dC5jYWxsKEdQUkluZm86OmFyZ3VtZW50R1BSMik7CisKKyAgICBTY3JhdGNoUmVnaXN0ZXJBbGxv
Y2F0b3I6OnJlc3RvcmVSZWdpc3RlcnNGcm9tU3RhY2tGb3JDYWxsKGppdCwgcmVnaXN0ZXJzVG9T
cGlsbCwgUmVnaXN0ZXJTZXQoKSwgbnVtYmVyT2ZTdGFja0J5dGVzVXNlZEZvclJlZ2lzdGVyUHJl
c2VydmF0aW9uLCBleHRyYVBhZGRpbmdCeXRlcyk7CisKKyAgICBqaXQucmV0KCk7CisgICAgTGlu
a0J1ZmZlciBsaW5rQnVmZmVyKGppdCwgR0xPQkFMX1RIVU5LX0lEKTsKKyAgICByZXR1cm4gRklO
QUxJWkVfQ09ERShsaW5rQnVmZmVyLCAoIlRyaWdnZXIgT01HIHRpZXIgdXAiKSk7Cit9CisKIHN0
YXRpYyBUaHVua3MqIHRodW5rczsKIHZvaWQgVGh1bmtzOjppbml0aWFsaXplKCkKIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21UaHVua3MuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL1dhc21UaHVua3MuaAppbmRleCA2YmNhMzAyYWUzNDkzYzg2ZjEy
ZjQyNzM4N2NhNjIxNzM5MzgzM2I1Li5kZjE0Y2EyNmE4M2I0OGRhZTMzOTcyY2ZkZmI5OGM5OTYw
MDk5ZTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtVGh1bmtz
LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVRodW5rcy5oCkBAIC0zMyw2
ICszMyw3IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgV2FzbSB7CiAKIE1hY3JvQXNzZW1i
bGVyQ29kZVJlZiB0aHJvd0V4Y2VwdGlvbkZyb21XYXNtVGh1bmtHZW5lcmF0b3IoY29uc3QgQWJz
dHJhY3RMb2NrZXImKTsKIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiB0aHJvd1N0YWNrT3ZlcmZsb3dG
cm9tV2FzbVRodW5rR2VuZXJhdG9yKGNvbnN0IEFic3RyYWN0TG9ja2VyJik7CitNYWNyb0Fzc2Vt
YmxlckNvZGVSZWYgdHJpZ2dlck9NR1RpZXJVcFRodW5rR2VuZXJhdG9yKGNvbnN0IEFic3RyYWN0
TG9ja2VyJik7CiAKIHR5cGVkZWYgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmICgqVGh1bmtHZW5lcmF0
b3IpKGNvbnN0IEFic3RyYWN0TG9ja2VyJik7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>