<?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>206966</bug_id>
          
          <creation_ts>2020-01-29 14:17:30 -0800</creation_ts>
          <short_desc>Don&apos;t include CCallHelpers.h in B3Procedure.h</short_desc>
          <delta_ts>2020-01-29 15:36:14 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Robin Morisset">rmorisset</reporter>
          <assigned_to name="Robin Morisset">rmorisset</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1612671</commentid>
    <comment_count>0</comment_count>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2020-01-29 14:17:30 -0800</bug_when>
    <thetext>It brings in AssemblyHelpers.h, which includes CodeBlock.h which brings basically the entire runtime.
There is no need for random B3 files to know about Heap.h or Structure.h or anything like that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612672</commentid>
    <comment_count>1</comment_count>
      <attachid>389185</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2020-01-29 14:20:31 -0800</bug_when>
    <thetext>Created attachment 389185
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612674</commentid>
    <comment_count>2</comment_count>
      <attachid>389186</attachid>
    <who name="Robin Morisset">rmorisset</who>
    <bug_when>2020-01-29 14:21:46 -0800</bug_when>
    <thetext>Created attachment 389186
fix style nit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612713</commentid>
    <comment_count>3</comment_count>
      <attachid>389186</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-01-29 15:04:15 -0800</bug_when>
    <thetext>Comment on attachment 389186
fix style nit

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

&gt; Source/JavaScriptCore/b3/testb3_6.cpp:2176
&gt; +    CodeLocationLabel&lt;B3CompilationPtrTag&gt; labelOne = linkBuffer.locationOf&lt;B3CompilationPtrTag&gt;(proc.code().entrypointLabel(0));

should we also make AirCode not use Label directly?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612714</commentid>
    <comment_count>4</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-01-29 15:05:57 -0800</bug_when>
    <thetext>(In reply to Saam Barati from comment #3)
&gt; Comment on attachment 389186 [details]
&gt; fix style nit
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=389186&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/b3/testb3_6.cpp:2176
&gt; &gt; +    CodeLocationLabel&lt;B3CompilationPtrTag&gt; labelOne = linkBuffer.locationOf&lt;B3CompilationPtrTag&gt;(proc.code().entrypointLabel(0));
&gt; 
&gt; should we also make AirCode not use Label directly?

We could also make Label not depend on AssemblerLabel/Masm since we only have one type per compilation target</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612732</commentid>
    <comment_count>5</comment_count>
      <attachid>389186</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-29 15:35:38 -0800</bug_when>
    <thetext>Comment on attachment 389186
fix style nit

Clearing flags on attachment: 389186

Committed r255394: &lt;https://trac.webkit.org/changeset/255394&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612733</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-29 15:35:39 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612734</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-29 15:36:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/59009948&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389185</attachid>
            <date>2020-01-29 14:20:31 -0800</date>
            <delta_ts>2020-01-29 14:21:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch206966</filename>
            <type>text/plain</type>
            <size>10381</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGE5OWVlMDEzMTcyLi4zYjk0YThkZWIyZSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjAtMDEtMjkgIFJvYmlu
IE1vcmlzc2V0ICA8cm1vcmlzc2V0QGFwcGxlLmNvbT4KKworICAgICAgICBEb24ndCBpbmNsdWRl
IENDYWxsSGVscGVycy5oIGluIEIzUHJvY2VkdXJlLmgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjk2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEkgdmVyaWZpZWQgdGhyb3VnaCAtZnRpbWUtdHJhY2Ug
YW5kIGl0IG1hc3NpdmVseSBzcGVlZHMgdXAgYSBmZXcgb2YgdGhlIGNvbXBpbGF0aW9uIHVuaXRz
IChlLmcuIFVuaWZpZWRTb3VyY2UxMC5jcHApLgorCisgICAgICAgICogYjMvQjNQcm9jZWR1cmUu
Y3BwOgorICAgICAgICAqIGIzL0IzUHJvY2VkdXJlLmg6CisgICAgICAgICogYjMvdGVzdGIzXzYu
Y3BwOgorICAgICAgICAodGVzdEVudHJ5U3dpdGNoU2ltcGxlKToKKyAgICAgICAgKHRlc3RFbnRy
eVN3aXRjaE5vRW50cnlTd2l0Y2gpOgorICAgICAgICAodGVzdEVudHJ5U3dpdGNoV2l0aENvbW1v
blBhdGhzKToKKyAgICAgICAgKHRlc3RFbnRyeVN3aXRjaFdpdGhDb21tb25QYXRoc0FuZE5vblRy
aXZpYWxFbnRyeXBvaW50KToKKyAgICAgICAgKHRlc3RFbnRyeVN3aXRjaExvb3ApOgorICAgICAg
ICAqIGZ0bC9GVExDb21waWxlLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpjb21waWxlKToKKyAg
ICAgICAgKiB3YXNtL1dhc21QYXJzZXIuaDoKKwogMjAyMC0wMS0yNyAgUm9iaW4gTW9yaXNzZXQg
IDxybW9yaXNzZXRAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB0aGUgaW5jbHVkZSBvZiBC
eXRlY29kZUdlbmVyYXRvci5oIGluIENvZGVDYWNoZS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzUHJvY2VkdXJlLmNwcAppbmRleCAyZWNjZGFjMDQ5ZS4uMDEyZDcyNmM5MGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVyZS5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlLmNwcApAQCAtMzQ5LDExICszNDksNiBAQCBi
b29sIFByb2NlZHVyZTo6aXNGYXN0Q29uc3RhbnQoY29uc3QgVmFsdWVLZXkmIGNvbnN0YW50KQog
ICAgIHJldHVybiBtX2Zhc3RDb25zdGFudHMuY29udGFpbnMoY29uc3RhbnQpOwogfQogCi1DQ2Fs
bEhlbHBlcnM6OkxhYmVsIFByb2NlZHVyZTo6ZW50cnlwb2ludExhYmVsKHVuc2lnbmVkIGluZGV4
KSBjb25zdAotewotICAgIHJldHVybiBtX2NvZGUtPmVudHJ5cG9pbnRMYWJlbChpbmRleCk7Ci19
Ci0KIHZvaWQqIFByb2NlZHVyZTo6YWRkRGF0YVNlY3Rpb24oc2l6ZV90IHNpemUpCiB7CiAgICAg
aWYgKCFzaXplKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2Vk
dXJlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmUuaAppbmRleCA1NzYw
MjllYmIyNC4uNWNlMGE1MmY3ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM1Byb2NlZHVyZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVy
ZS5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiQjNTcGFyc2VDb2xsZWN0aW9uLmgiCiAj
aW5jbHVkZSAiQjNUeXBlLmgiCiAjaW5jbHVkZSAiQjNWYWx1ZUtleS5oIgotI2luY2x1ZGUgIkND
YWxsSGVscGVycy5oIgogI2luY2x1ZGUgIlB1cmVOYU4uaCIKICNpbmNsdWRlICJSZWdpc3RlckF0
T2Zmc2V0TGlzdC5oIgogI2luY2x1ZGUgPHd0Zi9CYWcuaD4KQEAgLTQ2LDcgKzQ1LDExIEBACiAj
aW5jbHVkZSA8d3RmL1RyaVN0YXRlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCi1uYW1l
c3BhY2UgSlNDIHsgbmFtZXNwYWNlIEIzIHsKK25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBDQ2Fs
bEhlbHBlcnM7CisKK25hbWVzcGFjZSBCMyB7CiAKIGNsYXNzIEJhY2t3YXJkc0NGRzsKIGNsYXNz
IEJhY2t3YXJkc0RvbWluYXRvcnM7CkBAIC0xOTcsMTEgKzIwMCw2IEBAIHB1YmxpYzoKICAgICB1
bnNpZ25lZCBudW1FbnRyeXBvaW50cygpIGNvbnN0IHsgcmV0dXJuIG1fbnVtRW50cnlwb2ludHM7
IH0KICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIHNldE51bUVudHJ5cG9pbnRzKHVuc2lnbmVk
KTsKIAotICAgIC8vIE9ubHkgY2FsbCB0aGlzIGFmdGVyIGNvZGUgZ2VuZXJhdGlvbiBpcyBjb21w
bGV0ZS4gTm90ZSB0aGF0IHRoZSBsYWJlbCBmb3IgdGhlIDB0aCBlbnRyeXBvaW50Ci0gICAgLy8g
c2hvdWxkIHBvaW50IHRvIGV4YWN0bHkgd2hlcmUgdGhlIGNvZGUgZ2VuZXJhdGlvbiBjdXJzb3Ig
d2FzIGJlZm9yZSB5b3Ugc3RhcnRlZCBnZW5lcmF0aW5nCi0gICAgLy8gY29kZS4KLSAgICBKU19F
WFBPUlRfUFJJVkFURSBDQ2FsbEhlbHBlcnM6OkxhYmVsIGVudHJ5cG9pbnRMYWJlbCh1bnNpZ25l
ZCBlbnRyeXBvaW50SW5kZXgpIGNvbnN0OwotCiAgICAgLy8gVGhlIG5hbWUgaGFzIHRvIGJlIGEg
c3RyaW5nIGxpdGVyYWwsIHNpbmNlIHdlIGRvbid0IGRvIGFueSBtZW1vcnkgbWFuYWdlbWVudCBm
b3IgdGhlIHN0cmluZy4KICAgICB2b2lkIHNldExhc3RQaGFzZU5hbWUoY29uc3QgY2hhciogbmFt
ZSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzXzYu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiM182LmNwcAppbmRleCBlMTg1ZDNm
YTlmYy4uMjU2OWU1OWM4NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy90
ZXN0YjNfNi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiM182LmNwcApA
QCAtMTkzNiw5ICsxOTM2LDkgQEAgdm9pZCB0ZXN0RW50cnlTd2l0Y2hTaW1wbGUoKQogICAgIEND
YWxsSGVscGVycyBqaXQ7CiAgICAgZ2VuZXJhdGUocHJvYywgaml0KTsKICAgICBMaW5rQnVmZmVy
IGxpbmtCdWZmZXIoaml0LCBudWxscHRyKTsKLSAgICBDb2RlTG9jYXRpb25MYWJlbDxCM0NvbXBp
bGF0aW9uUHRyVGFnPiBsYWJlbE9uZSA9IGxpbmtCdWZmZXIubG9jYXRpb25PZjxCM0NvbXBpbGF0
aW9uUHRyVGFnPihwcm9jLmVudHJ5cG9pbnRMYWJlbCgwKSk7Ci0gICAgQ29kZUxvY2F0aW9uTGFi
ZWw8QjNDb21waWxhdGlvblB0clRhZz4gbGFiZWxUd28gPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2Y8
QjNDb21waWxhdGlvblB0clRhZz4ocHJvYy5lbnRyeXBvaW50TGFiZWwoMSkpOwotICAgIENvZGVM
b2NhdGlvbkxhYmVsPEIzQ29tcGlsYXRpb25QdHJUYWc+IGxhYmVsVGhyZWUgPSBsaW5rQnVmZmVy
LmxvY2F0aW9uT2Y8QjNDb21waWxhdGlvblB0clRhZz4ocHJvYy5lbnRyeXBvaW50TGFiZWwoMikp
OworICAgIENvZGVMb2NhdGlvbkxhYmVsPEIzQ29tcGlsYXRpb25QdHJUYWc+IGxhYmVsT25lID0g
bGlua0J1ZmZlci5sb2NhdGlvbk9mPEIzQ29tcGlsYXRpb25QdHJUYWc+KHByb2MuY29kZSgpLmVu
dHJ5cG9pbnRMYWJlbCgwKSk7CisgICAgQ29kZUxvY2F0aW9uTGFiZWw8QjNDb21waWxhdGlvblB0
clRhZz4gbGFiZWxUd28gPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2Y8QjNDb21waWxhdGlvblB0clRh
Zz4ocHJvYy5jb2RlKCkuZW50cnlwb2ludExhYmVsKDEpKTsKKyAgICBDb2RlTG9jYXRpb25MYWJl
bDxCM0NvbXBpbGF0aW9uUHRyVGFnPiBsYWJlbFRocmVlID0gbGlua0J1ZmZlci5sb2NhdGlvbk9m
PEIzQ29tcGlsYXRpb25QdHJUYWc+KHByb2MuY29kZSgpLmVudHJ5cG9pbnRMYWJlbCgyKSk7CiAK
ICAgICBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8QjNDb21waWxhdGlvblB0clRhZz4gY29kZVJlZiA9
IEZJTkFMSVpFX0NPREUobGlua0J1ZmZlciwgQjNDb21waWxhdGlvblB0clRhZywgInRlc3RiMyBj
b21waWxhdGlvbiIpOwogCkBAIC0xOTY5LDkgKzE5NjksOSBAQCB2b2lkIHRlc3RFbnRyeVN3aXRj
aE5vRW50cnlTd2l0Y2goKQogICAgIENDYWxsSGVscGVycyBqaXQ7CiAgICAgZ2VuZXJhdGUocHJv
Yywgaml0KTsKICAgICBMaW5rQnVmZmVyIGxpbmtCdWZmZXIoaml0LCBudWxscHRyKTsKLSAgICBD
b2RlTG9jYXRpb25MYWJlbDxCM0NvbXBpbGF0aW9uUHRyVGFnPiBsYWJlbE9uZSA9IGxpbmtCdWZm
ZXIubG9jYXRpb25PZjxCM0NvbXBpbGF0aW9uUHRyVGFnPihwcm9jLmVudHJ5cG9pbnRMYWJlbCgw
KSk7Ci0gICAgQ29kZUxvY2F0aW9uTGFiZWw8QjNDb21waWxhdGlvblB0clRhZz4gbGFiZWxUd28g
PSBsaW5rQnVmZmVyLmxvY2F0aW9uT2Y8QjNDb21waWxhdGlvblB0clRhZz4ocHJvYy5lbnRyeXBv
aW50TGFiZWwoMSkpOwotICAgIENvZGVMb2NhdGlvbkxhYmVsPEIzQ29tcGlsYXRpb25QdHJUYWc+
IGxhYmVsVGhyZWUgPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2Y8QjNDb21waWxhdGlvblB0clRhZz4o
cHJvYy5lbnRyeXBvaW50TGFiZWwoMikpOworICAgIENvZGVMb2NhdGlvbkxhYmVsPEIzQ29tcGls
YXRpb25QdHJUYWc+IGxhYmVsT25lID0gbGlua0J1ZmZlci5sb2NhdGlvbk9mPEIzQ29tcGlsYXRp
b25QdHJUYWc+KHByb2MuY29kZSgpLmVudHJ5cG9pbnRMYWJlbCgwKSk7CisgICAgQ29kZUxvY2F0
aW9uTGFiZWw8QjNDb21waWxhdGlvblB0clRhZz4gbGFiZWxUd28gPSBsaW5rQnVmZmVyLmxvY2F0
aW9uT2Y8QjNDb21waWxhdGlvblB0clRhZz4ocHJvYy5jb2RlKCkuZW50cnlwb2ludExhYmVsKDEp
KTsKKyAgICBDb2RlTG9jYXRpb25MYWJlbDxCM0NvbXBpbGF0aW9uUHRyVGFnPiBsYWJlbFRocmVl
ID0gbGlua0J1ZmZlci5sb2NhdGlvbk9mPEIzQ29tcGlsYXRpb25QdHJUYWc+KHByb2MuY29kZSgp
LmVudHJ5cG9pbnRMYWJlbCgyKSk7CiAKICAgICBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8QjNDb21w
aWxhdGlvblB0clRhZz4gY29kZVJlZiA9IEZJTkFMSVpFX0NPREUobGlua0J1ZmZlciwgQjNDb21w
aWxhdGlvblB0clRhZywgInRlc3RiMyBjb21waWxhdGlvbiIpOwogCkBAIC0yMDU2LDkgKzIwNTYs
OSBAQCB2b2lkIHRlc3RFbnRyeVN3aXRjaFdpdGhDb21tb25QYXRocygpCiAgICAgQ0NhbGxIZWxw
ZXJzIGppdDsKICAgICBnZW5lcmF0ZShwcm9jLCBqaXQpOwogICAgIExpbmtCdWZmZXIgbGlua0J1
ZmZlcihqaXQsIG51bGxwdHIpOwotICAgIENvZGVMb2NhdGlvbkxhYmVsPEIzQ29tcGlsYXRpb25Q
dHJUYWc+IGxhYmVsT25lID0gbGlua0J1ZmZlci5sb2NhdGlvbk9mPEIzQ29tcGlsYXRpb25QdHJU
YWc+KHByb2MuZW50cnlwb2ludExhYmVsKDApKTsKLSAgICBDb2RlTG9jYXRpb25MYWJlbDxCM0Nv
bXBpbGF0aW9uUHRyVGFnPiBsYWJlbFR3byA9IGxpbmtCdWZmZXIubG9jYXRpb25PZjxCM0NvbXBp
bGF0aW9uUHRyVGFnPihwcm9jLmVudHJ5cG9pbnRMYWJlbCgxKSk7Ci0gICAgQ29kZUxvY2F0aW9u
TGFiZWw8QjNDb21waWxhdGlvblB0clRhZz4gbGFiZWxUaHJlZSA9IGxpbmtCdWZmZXIubG9jYXRp
b25PZjxCM0NvbXBpbGF0aW9uUHRyVGFnPihwcm9jLmVudHJ5cG9pbnRMYWJlbCgyKSk7CisgICAg
Q29kZUxvY2F0aW9uTGFiZWw8QjNDb21waWxhdGlvblB0clRhZz4gbGFiZWxPbmUgPSBsaW5rQnVm
ZmVyLmxvY2F0aW9uT2Y8QjNDb21waWxhdGlvblB0clRhZz4ocHJvYy5jb2RlKCkuZW50cnlwb2lu
dExhYmVsKDApKTsKKyAgICBDb2RlTG9jYXRpb25MYWJlbDxCM0NvbXBpbGF0aW9uUHRyVGFnPiBs
YWJlbFR3byA9IGxpbmtCdWZmZXIubG9jYXRpb25PZjxCM0NvbXBpbGF0aW9uUHRyVGFnPihwcm9j
LmNvZGUoKS5lbnRyeXBvaW50TGFiZWwoMSkpOworICAgIENvZGVMb2NhdGlvbkxhYmVsPEIzQ29t
cGlsYXRpb25QdHJUYWc+IGxhYmVsVGhyZWUgPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2Y8QjNDb21w
aWxhdGlvblB0clRhZz4ocHJvYy5jb2RlKCkuZW50cnlwb2ludExhYmVsKDIpKTsKIAogICAgIE1h
Y3JvQXNzZW1ibGVyQ29kZVJlZjxCM0NvbXBpbGF0aW9uUHRyVGFnPiBjb2RlUmVmID0gRklOQUxJ
WkVfQ09ERShsaW5rQnVmZmVyLCBCM0NvbXBpbGF0aW9uUHRyVGFnLCAidGVzdGIzIGNvbXBpbGF0
aW9uIik7CiAKQEAgLTIxNzMsOSArMjE3Myw5IEBAIHZvaWQgdGVzdEVudHJ5U3dpdGNoV2l0aENv
bW1vblBhdGhzQW5kTm9uVHJpdmlhbEVudHJ5cG9pbnQoKQogICAgIENDYWxsSGVscGVycyBqaXQ7
CiAgICAgZ2VuZXJhdGUocHJvYywgaml0KTsKICAgICBMaW5rQnVmZmVyIGxpbmtCdWZmZXIoaml0
LCBudWxscHRyKTsKLSAgICBDb2RlTG9jYXRpb25MYWJlbDxCM0NvbXBpbGF0aW9uUHRyVGFnPiBs
YWJlbE9uZSA9IGxpbmtCdWZmZXIubG9jYXRpb25PZjxCM0NvbXBpbGF0aW9uUHRyVGFnPihwcm9j
LmVudHJ5cG9pbnRMYWJlbCgwKSk7Ci0gICAgQ29kZUxvY2F0aW9uTGFiZWw8QjNDb21waWxhdGlv
blB0clRhZz4gbGFiZWxUd28gPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2Y8QjNDb21waWxhdGlvblB0
clRhZz4ocHJvYy5lbnRyeXBvaW50TGFiZWwoMSkpOwotICAgIENvZGVMb2NhdGlvbkxhYmVsPEIz
Q29tcGlsYXRpb25QdHJUYWc+IGxhYmVsVGhyZWUgPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2Y8QjND
b21waWxhdGlvblB0clRhZz4ocHJvYy5lbnRyeXBvaW50TGFiZWwoMikpOworICAgIENvZGVMb2Nh
dGlvbkxhYmVsPEIzQ29tcGlsYXRpb25QdHJUYWc+IGxhYmVsT25lID0gbGlua0J1ZmZlci5sb2Nh
dGlvbk9mPEIzQ29tcGlsYXRpb25QdHJUYWc+KHByb2MuY29kZSgpLmVudHJ5cG9pbnRMYWJlbCgw
KSk7CisgICAgQ29kZUxvY2F0aW9uTGFiZWw8QjNDb21waWxhdGlvblB0clRhZz4gbGFiZWxUd28g
PSBsaW5rQnVmZmVyLmxvY2F0aW9uT2Y8QjNDb21waWxhdGlvblB0clRhZz4ocHJvYy5jb2RlKCku
ZW50cnlwb2ludExhYmVsKDEpKTsKKyAgICBDb2RlTG9jYXRpb25MYWJlbDxCM0NvbXBpbGF0aW9u
UHRyVGFnPiBsYWJlbFRocmVlID0gbGlua0J1ZmZlci5sb2NhdGlvbk9mPEIzQ29tcGlsYXRpb25Q
dHJUYWc+KHByb2MuY29kZSgpLmVudHJ5cG9pbnRMYWJlbCgyKSk7CiAKICAgICBNYWNyb0Fzc2Vt
YmxlckNvZGVSZWY8QjNDb21waWxhdGlvblB0clRhZz4gY29kZVJlZiA9IEZJTkFMSVpFX0NPREUo
bGlua0J1ZmZlciwgQjNDb21waWxhdGlvblB0clRhZywgInRlc3RiMyBjb21waWxhdGlvbiIpOwog
CkBAIC0yMjUxLDggKzIyNTEsOCBAQCB2b2lkIHRlc3RFbnRyeVN3aXRjaExvb3AoKQogICAgIEND
YWxsSGVscGVycyBqaXQ7CiAgICAgZ2VuZXJhdGUocHJvYywgaml0KTsKICAgICBMaW5rQnVmZmVy
IGxpbmtCdWZmZXIoaml0LCBudWxscHRyKTsKLSAgICBDb2RlTG9jYXRpb25MYWJlbDxCM0NvbXBp
bGF0aW9uUHRyVGFnPiBsYWJlbE9uZSA9IGxpbmtCdWZmZXIubG9jYXRpb25PZjxCM0NvbXBpbGF0
aW9uUHRyVGFnPihwcm9jLmVudHJ5cG9pbnRMYWJlbCgwKSk7Ci0gICAgQ29kZUxvY2F0aW9uTGFi
ZWw8QjNDb21waWxhdGlvblB0clRhZz4gbGFiZWxUd28gPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2Y8
QjNDb21waWxhdGlvblB0clRhZz4ocHJvYy5lbnRyeXBvaW50TGFiZWwoMSkpOworICAgIENvZGVM
b2NhdGlvbkxhYmVsPEIzQ29tcGlsYXRpb25QdHJUYWc+IGxhYmVsT25lID0gbGlua0J1ZmZlci5s
b2NhdGlvbk9mPEIzQ29tcGlsYXRpb25QdHJUYWc+KHByb2MuY29kZSgpLmVudHJ5cG9pbnRMYWJl
bCgwKSk7CisgICAgQ29kZUxvY2F0aW9uTGFiZWw8QjNDb21waWxhdGlvblB0clRhZz4gbGFiZWxU
d28gPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2Y8QjNDb21waWxhdGlvblB0clRhZz4ocHJvYy5jb2Rl
KCkuZW50cnlwb2ludExhYmVsKDEpKTsKIAogICAgIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxCM0Nv
bXBpbGF0aW9uUHRyVGFnPiBjb2RlUmVmID0gRklOQUxJWkVfQ09ERShsaW5rQnVmZmVyLCBCM0Nv
bXBpbGF0aW9uUHRyVGFnLCAidGVzdGIzIGNvbXBpbGF0aW9uIik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTENvbXBpbGUuY3BwCmluZGV4IGRlMzI2YmVjYTNkLi5jZDNiNTlmOGZkNyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBpbGUuY3BwCkBAIC0xNTMsNyArMTUz
LDcgQEAgdm9pZCBjb21waWxlKFN0YXRlJiBzdGF0ZSwgU2FmZXBvaW50OjpSZXN1bHQmIHNhZmVw
b2ludFJlc3VsdCkKICAgICBpZiAodm0uc2hvdWxkQnVpbGRlclBDVG9Db2RlT3JpZ2luTWFwcGlu
ZygpKQogICAgICAgICBjb2RlQmxvY2stPnNldFBDVG9Db2RlT3JpZ2luTWFwKG1ha2VVbmlxdWU8
UENUb0NvZGVPcmlnaW5NYXA+KFBDVG9Db2RlT3JpZ2luTWFwQnVpbGRlcih2bSwgV1RGTW92ZShv
cmlnaW5NYXApKSwgKnN0YXRlLmZpbmFsaXplci0+YjNDb2RlTGlua0J1ZmZlcikpOwogCi0gICAg
Q29kZUxvY2F0aW9uTGFiZWw8SlNFbnRyeVB0clRhZz4gbGFiZWwgPSBzdGF0ZS5maW5hbGl6ZXIt
PmIzQ29kZUxpbmtCdWZmZXItPmxvY2F0aW9uT2Y8SlNFbnRyeVB0clRhZz4oc3RhdGUucHJvYy0+
ZW50cnlwb2ludExhYmVsKDApKTsKKyAgICBDb2RlTG9jYXRpb25MYWJlbDxKU0VudHJ5UHRyVGFn
PiBsYWJlbCA9IHN0YXRlLmZpbmFsaXplci0+YjNDb2RlTGlua0J1ZmZlci0+bG9jYXRpb25PZjxK
U0VudHJ5UHRyVGFnPihzdGF0ZS5wcm9jLT5jb2RlKCkuZW50cnlwb2ludExhYmVsKDApKTsKICAg
ICBzdGF0ZS5nZW5lcmF0ZWRGdW5jdGlvbiA9IGxhYmVsOwogICAgIHN0YXRlLmppdENvZGUtPmlu
aXRpYWxpemVCM0J5cHJvZHVjdHMoc3RhdGUucHJvYy0+cmVsZWFzZUJ5cHJvZHVjdHMoKSk7CiAK
QEAgLTE2Miw3ICsxNjIsNyBAQCB2b2lkIGNvbXBpbGUoU3RhdGUmIHN0YXRlLCBTYWZlcG9pbnQ6
OlJlc3VsdCYgc2FmZXBvaW50UmVzdWx0KQogICAgICAgICB1bnNpZ25lZCBlbnRyeXBvaW50SW5k
ZXggPSBwYWlyLmtleTsKICAgICAgICAgVmVjdG9yPEZsdXNoRm9ybWF0PiBhcmd1bWVudEZvcm1h
dHMgPSBzdGF0ZS5ncmFwaC5tX2FyZ3VtZW50Rm9ybWF0c1tlbnRyeXBvaW50SW5kZXhdOwogICAg
ICAgICBzdGF0ZS5qaXRDb2RlLT5jb21tb24uYXBwZW5kQ2F0Y2hFbnRyeXBvaW50KAotICAgICAg
ICAgICAgY2F0Y2hCeXRlY29kZUluZGV4LCBzdGF0ZS5maW5hbGl6ZXItPmIzQ29kZUxpbmtCdWZm
ZXItPmxvY2F0aW9uT2Y8RXhjZXB0aW9uSGFuZGxlclB0clRhZz4oc3RhdGUucHJvYy0+ZW50cnlw
b2ludExhYmVsKGVudHJ5cG9pbnRJbmRleCkpLCBXVEZNb3ZlKGFyZ3VtZW50Rm9ybWF0cykpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNo
Qnl0ZWNvZGVJbmRleCwgc3RhdGUuZmluYWxpemVyLT5iM0NvZGVMaW5rQnVmZmVyLT5sb2NhdGlv
bk9mPEV4Y2VwdGlvbkhhbmRsZXJQdHJUYWc+KHN0YXRlLnByb2MtPmNvZGUoKS5lbnRyeXBvaW50
TGFiZWwoZW50cnlwb2ludEluZGV4KSksIFdURk1vdmUoYXJndW1lbnRGb3JtYXRzKSk7CiAgICAg
fQogICAgIHN0YXRlLmppdENvZGUtPmNvbW1vbi5maW5hbGl6ZUNhdGNoRW50cnlwb2ludHMoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVBhcnNlci5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVBhcnNlci5oCmluZGV4IDg1NzIzOGEyNjcz
Li5kNzk4MzAwOTMwZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bVBhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21QYXJzZXIuaApA
QCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiQjNDb21waWxhdGlvbi5oIgogI2luY2x1ZGUg
IkIzUHJvY2VkdXJlLmgiCisjaW5jbHVkZSAiVmlydHVhbFJlZ2lzdGVyLmgiCiAjaW5jbHVkZSAi
V2FzbUZvcm1hdC5oIgogI2luY2x1ZGUgIldhc21MaW1pdHMuaCIKICNpbmNsdWRlICJXYXNtTW9k
dWxlSW5mb3JtYXRpb24uaCIKQEAgLTM4LDYgKzM5LDcgQEAKICNpbmNsdWRlIDx3dGYvRXhwZWN0
ZWQuaD4KICNpbmNsdWRlIDx3dGYvTEVCRGVjb2Rlci5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJF
eHRyYXMuaD4KKyNpbmNsdWRlIDx3dGYvU3RyaW5nUHJpbnRTdHJlYW0uaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9VVEY4Q29udmVyc2lv
bi5oPgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389186</attachid>
            <date>2020-01-29 14:21:46 -0800</date>
            <delta_ts>2020-01-29 15:35:38 -0800</delta_ts>
            <desc>fix style nit</desc>
            <filename>patch206966</filename>
            <type>text/plain</type>
            <size>10437</size>
            <attacher name="Robin Morisset">rmorisset</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGE5OWVlMDEzMTcyLi4zYjk0YThkZWIyZSAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjAtMDEtMjkgIFJvYmlu
IE1vcmlzc2V0ICA8cm1vcmlzc2V0QGFwcGxlLmNvbT4KKworICAgICAgICBEb24ndCBpbmNsdWRl
IENDYWxsSGVscGVycy5oIGluIEIzUHJvY2VkdXJlLmgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjk2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEkgdmVyaWZpZWQgdGhyb3VnaCAtZnRpbWUtdHJhY2Ug
YW5kIGl0IG1hc3NpdmVseSBzcGVlZHMgdXAgYSBmZXcgb2YgdGhlIGNvbXBpbGF0aW9uIHVuaXRz
IChlLmcuIFVuaWZpZWRTb3VyY2UxMC5jcHApLgorCisgICAgICAgICogYjMvQjNQcm9jZWR1cmUu
Y3BwOgorICAgICAgICAqIGIzL0IzUHJvY2VkdXJlLmg6CisgICAgICAgICogYjMvdGVzdGIzXzYu
Y3BwOgorICAgICAgICAodGVzdEVudHJ5U3dpdGNoU2ltcGxlKToKKyAgICAgICAgKHRlc3RFbnRy
eVN3aXRjaE5vRW50cnlTd2l0Y2gpOgorICAgICAgICAodGVzdEVudHJ5U3dpdGNoV2l0aENvbW1v
blBhdGhzKToKKyAgICAgICAgKHRlc3RFbnRyeVN3aXRjaFdpdGhDb21tb25QYXRoc0FuZE5vblRy
aXZpYWxFbnRyeXBvaW50KToKKyAgICAgICAgKHRlc3RFbnRyeVN3aXRjaExvb3ApOgorICAgICAg
ICAqIGZ0bC9GVExDb21waWxlLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpjb21waWxlKToKKyAg
ICAgICAgKiB3YXNtL1dhc21QYXJzZXIuaDoKKwogMjAyMC0wMS0yNyAgUm9iaW4gTW9yaXNzZXQg
IDxybW9yaXNzZXRAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSB0aGUgaW5jbHVkZSBvZiBC
eXRlY29kZUdlbmVyYXRvci5oIGluIENvZGVDYWNoZS5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Iz
L0IzUHJvY2VkdXJlLmNwcAppbmRleCAyZWNjZGFjMDQ5ZS4uMDEyZDcyNmM5MGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVyZS5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2VkdXJlLmNwcApAQCAtMzQ5LDExICszNDksNiBAQCBi
b29sIFByb2NlZHVyZTo6aXNGYXN0Q29uc3RhbnQoY29uc3QgVmFsdWVLZXkmIGNvbnN0YW50KQog
ICAgIHJldHVybiBtX2Zhc3RDb25zdGFudHMuY29udGFpbnMoY29uc3RhbnQpOwogfQogCi1DQ2Fs
bEhlbHBlcnM6OkxhYmVsIFByb2NlZHVyZTo6ZW50cnlwb2ludExhYmVsKHVuc2lnbmVkIGluZGV4
KSBjb25zdAotewotICAgIHJldHVybiBtX2NvZGUtPmVudHJ5cG9pbnRMYWJlbChpbmRleCk7Ci19
Ci0KIHZvaWQqIFByb2NlZHVyZTo6YWRkRGF0YVNlY3Rpb24oc2l6ZV90IHNpemUpCiB7CiAgICAg
aWYgKCFzaXplKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzUHJvY2Vk
dXJlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvQjNQcm9jZWR1cmUuaAppbmRleCA1NzYw
MjllYmIyNC4uNWNlMGE1MmY3ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9CM1Byb2NlZHVyZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM1Byb2NlZHVy
ZS5oCkBAIC0zMyw3ICszMyw2IEBACiAjaW5jbHVkZSAiQjNTcGFyc2VDb2xsZWN0aW9uLmgiCiAj
aW5jbHVkZSAiQjNUeXBlLmgiCiAjaW5jbHVkZSAiQjNWYWx1ZUtleS5oIgotI2luY2x1ZGUgIkND
YWxsSGVscGVycy5oIgogI2luY2x1ZGUgIlB1cmVOYU4uaCIKICNpbmNsdWRlICJSZWdpc3RlckF0
T2Zmc2V0TGlzdC5oIgogI2luY2x1ZGUgPHd0Zi9CYWcuaD4KQEAgLTQ2LDcgKzQ1LDExIEBACiAj
aW5jbHVkZSA8d3RmL1RyaVN0YXRlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCi1uYW1l
c3BhY2UgSlNDIHsgbmFtZXNwYWNlIEIzIHsKK25hbWVzcGFjZSBKU0MgeworCitjbGFzcyBDQ2Fs
bEhlbHBlcnM7CisKK25hbWVzcGFjZSBCMyB7CiAKIGNsYXNzIEJhY2t3YXJkc0NGRzsKIGNsYXNz
IEJhY2t3YXJkc0RvbWluYXRvcnM7CkBAIC0xOTcsMTEgKzIwMCw2IEBAIHB1YmxpYzoKICAgICB1
bnNpZ25lZCBudW1FbnRyeXBvaW50cygpIGNvbnN0IHsgcmV0dXJuIG1fbnVtRW50cnlwb2ludHM7
IH0KICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIHNldE51bUVudHJ5cG9pbnRzKHVuc2lnbmVk
KTsKIAotICAgIC8vIE9ubHkgY2FsbCB0aGlzIGFmdGVyIGNvZGUgZ2VuZXJhdGlvbiBpcyBjb21w
bGV0ZS4gTm90ZSB0aGF0IHRoZSBsYWJlbCBmb3IgdGhlIDB0aCBlbnRyeXBvaW50Ci0gICAgLy8g
c2hvdWxkIHBvaW50IHRvIGV4YWN0bHkgd2hlcmUgdGhlIGNvZGUgZ2VuZXJhdGlvbiBjdXJzb3Ig
d2FzIGJlZm9yZSB5b3Ugc3RhcnRlZCBnZW5lcmF0aW5nCi0gICAgLy8gY29kZS4KLSAgICBKU19F
WFBPUlRfUFJJVkFURSBDQ2FsbEhlbHBlcnM6OkxhYmVsIGVudHJ5cG9pbnRMYWJlbCh1bnNpZ25l
ZCBlbnRyeXBvaW50SW5kZXgpIGNvbnN0OwotCiAgICAgLy8gVGhlIG5hbWUgaGFzIHRvIGJlIGEg
c3RyaW5nIGxpdGVyYWwsIHNpbmNlIHdlIGRvbid0IGRvIGFueSBtZW1vcnkgbWFuYWdlbWVudCBm
b3IgdGhlIHN0cmluZy4KICAgICB2b2lkIHNldExhc3RQaGFzZU5hbWUoY29uc3QgY2hhciogbmFt
ZSkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzXzYu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiM182LmNwcAppbmRleCBlMTg1ZDNm
YTlmYy4uMjU2OWU1OWM4NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy90
ZXN0YjNfNi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiM182LmNwcApA
QCAtMTkzNiw5ICsxOTM2LDkgQEAgdm9pZCB0ZXN0RW50cnlTd2l0Y2hTaW1wbGUoKQogICAgIEND
YWxsSGVscGVycyBqaXQ7CiAgICAgZ2VuZXJhdGUocHJvYywgaml0KTsKICAgICBMaW5rQnVmZmVy
IGxpbmtCdWZmZXIoaml0LCBudWxscHRyKTsKLSAgICBDb2RlTG9jYXRpb25MYWJlbDxCM0NvbXBp
bGF0aW9uUHRyVGFnPiBsYWJlbE9uZSA9IGxpbmtCdWZmZXIubG9jYXRpb25PZjxCM0NvbXBpbGF0
aW9uUHRyVGFnPihwcm9jLmVudHJ5cG9pbnRMYWJlbCgwKSk7Ci0gICAgQ29kZUxvY2F0aW9uTGFi
ZWw8QjNDb21waWxhdGlvblB0clRhZz4gbGFiZWxUd28gPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2Y8
QjNDb21waWxhdGlvblB0clRhZz4ocHJvYy5lbnRyeXBvaW50TGFiZWwoMSkpOwotICAgIENvZGVM
b2NhdGlvbkxhYmVsPEIzQ29tcGlsYXRpb25QdHJUYWc+IGxhYmVsVGhyZWUgPSBsaW5rQnVmZmVy
LmxvY2F0aW9uT2Y8QjNDb21waWxhdGlvblB0clRhZz4ocHJvYy5lbnRyeXBvaW50TGFiZWwoMikp
OworICAgIENvZGVMb2NhdGlvbkxhYmVsPEIzQ29tcGlsYXRpb25QdHJUYWc+IGxhYmVsT25lID0g
bGlua0J1ZmZlci5sb2NhdGlvbk9mPEIzQ29tcGlsYXRpb25QdHJUYWc+KHByb2MuY29kZSgpLmVu
dHJ5cG9pbnRMYWJlbCgwKSk7CisgICAgQ29kZUxvY2F0aW9uTGFiZWw8QjNDb21waWxhdGlvblB0
clRhZz4gbGFiZWxUd28gPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2Y8QjNDb21waWxhdGlvblB0clRh
Zz4ocHJvYy5jb2RlKCkuZW50cnlwb2ludExhYmVsKDEpKTsKKyAgICBDb2RlTG9jYXRpb25MYWJl
bDxCM0NvbXBpbGF0aW9uUHRyVGFnPiBsYWJlbFRocmVlID0gbGlua0J1ZmZlci5sb2NhdGlvbk9m
PEIzQ29tcGlsYXRpb25QdHJUYWc+KHByb2MuY29kZSgpLmVudHJ5cG9pbnRMYWJlbCgyKSk7CiAK
ICAgICBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8QjNDb21waWxhdGlvblB0clRhZz4gY29kZVJlZiA9
IEZJTkFMSVpFX0NPREUobGlua0J1ZmZlciwgQjNDb21waWxhdGlvblB0clRhZywgInRlc3RiMyBj
b21waWxhdGlvbiIpOwogCkBAIC0xOTY5LDkgKzE5NjksOSBAQCB2b2lkIHRlc3RFbnRyeVN3aXRj
aE5vRW50cnlTd2l0Y2goKQogICAgIENDYWxsSGVscGVycyBqaXQ7CiAgICAgZ2VuZXJhdGUocHJv
Yywgaml0KTsKICAgICBMaW5rQnVmZmVyIGxpbmtCdWZmZXIoaml0LCBudWxscHRyKTsKLSAgICBD
b2RlTG9jYXRpb25MYWJlbDxCM0NvbXBpbGF0aW9uUHRyVGFnPiBsYWJlbE9uZSA9IGxpbmtCdWZm
ZXIubG9jYXRpb25PZjxCM0NvbXBpbGF0aW9uUHRyVGFnPihwcm9jLmVudHJ5cG9pbnRMYWJlbCgw
KSk7Ci0gICAgQ29kZUxvY2F0aW9uTGFiZWw8QjNDb21waWxhdGlvblB0clRhZz4gbGFiZWxUd28g
PSBsaW5rQnVmZmVyLmxvY2F0aW9uT2Y8QjNDb21waWxhdGlvblB0clRhZz4ocHJvYy5lbnRyeXBv
aW50TGFiZWwoMSkpOwotICAgIENvZGVMb2NhdGlvbkxhYmVsPEIzQ29tcGlsYXRpb25QdHJUYWc+
IGxhYmVsVGhyZWUgPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2Y8QjNDb21waWxhdGlvblB0clRhZz4o
cHJvYy5lbnRyeXBvaW50TGFiZWwoMikpOworICAgIENvZGVMb2NhdGlvbkxhYmVsPEIzQ29tcGls
YXRpb25QdHJUYWc+IGxhYmVsT25lID0gbGlua0J1ZmZlci5sb2NhdGlvbk9mPEIzQ29tcGlsYXRp
b25QdHJUYWc+KHByb2MuY29kZSgpLmVudHJ5cG9pbnRMYWJlbCgwKSk7CisgICAgQ29kZUxvY2F0
aW9uTGFiZWw8QjNDb21waWxhdGlvblB0clRhZz4gbGFiZWxUd28gPSBsaW5rQnVmZmVyLmxvY2F0
aW9uT2Y8QjNDb21waWxhdGlvblB0clRhZz4ocHJvYy5jb2RlKCkuZW50cnlwb2ludExhYmVsKDEp
KTsKKyAgICBDb2RlTG9jYXRpb25MYWJlbDxCM0NvbXBpbGF0aW9uUHRyVGFnPiBsYWJlbFRocmVl
ID0gbGlua0J1ZmZlci5sb2NhdGlvbk9mPEIzQ29tcGlsYXRpb25QdHJUYWc+KHByb2MuY29kZSgp
LmVudHJ5cG9pbnRMYWJlbCgyKSk7CiAKICAgICBNYWNyb0Fzc2VtYmxlckNvZGVSZWY8QjNDb21w
aWxhdGlvblB0clRhZz4gY29kZVJlZiA9IEZJTkFMSVpFX0NPREUobGlua0J1ZmZlciwgQjNDb21w
aWxhdGlvblB0clRhZywgInRlc3RiMyBjb21waWxhdGlvbiIpOwogCkBAIC0yMDU2LDkgKzIwNTYs
OSBAQCB2b2lkIHRlc3RFbnRyeVN3aXRjaFdpdGhDb21tb25QYXRocygpCiAgICAgQ0NhbGxIZWxw
ZXJzIGppdDsKICAgICBnZW5lcmF0ZShwcm9jLCBqaXQpOwogICAgIExpbmtCdWZmZXIgbGlua0J1
ZmZlcihqaXQsIG51bGxwdHIpOwotICAgIENvZGVMb2NhdGlvbkxhYmVsPEIzQ29tcGlsYXRpb25Q
dHJUYWc+IGxhYmVsT25lID0gbGlua0J1ZmZlci5sb2NhdGlvbk9mPEIzQ29tcGlsYXRpb25QdHJU
YWc+KHByb2MuZW50cnlwb2ludExhYmVsKDApKTsKLSAgICBDb2RlTG9jYXRpb25MYWJlbDxCM0Nv
bXBpbGF0aW9uUHRyVGFnPiBsYWJlbFR3byA9IGxpbmtCdWZmZXIubG9jYXRpb25PZjxCM0NvbXBp
bGF0aW9uUHRyVGFnPihwcm9jLmVudHJ5cG9pbnRMYWJlbCgxKSk7Ci0gICAgQ29kZUxvY2F0aW9u
TGFiZWw8QjNDb21waWxhdGlvblB0clRhZz4gbGFiZWxUaHJlZSA9IGxpbmtCdWZmZXIubG9jYXRp
b25PZjxCM0NvbXBpbGF0aW9uUHRyVGFnPihwcm9jLmVudHJ5cG9pbnRMYWJlbCgyKSk7CisgICAg
Q29kZUxvY2F0aW9uTGFiZWw8QjNDb21waWxhdGlvblB0clRhZz4gbGFiZWxPbmUgPSBsaW5rQnVm
ZmVyLmxvY2F0aW9uT2Y8QjNDb21waWxhdGlvblB0clRhZz4ocHJvYy5jb2RlKCkuZW50cnlwb2lu
dExhYmVsKDApKTsKKyAgICBDb2RlTG9jYXRpb25MYWJlbDxCM0NvbXBpbGF0aW9uUHRyVGFnPiBs
YWJlbFR3byA9IGxpbmtCdWZmZXIubG9jYXRpb25PZjxCM0NvbXBpbGF0aW9uUHRyVGFnPihwcm9j
LmNvZGUoKS5lbnRyeXBvaW50TGFiZWwoMSkpOworICAgIENvZGVMb2NhdGlvbkxhYmVsPEIzQ29t
cGlsYXRpb25QdHJUYWc+IGxhYmVsVGhyZWUgPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2Y8QjNDb21w
aWxhdGlvblB0clRhZz4ocHJvYy5jb2RlKCkuZW50cnlwb2ludExhYmVsKDIpKTsKIAogICAgIE1h
Y3JvQXNzZW1ibGVyQ29kZVJlZjxCM0NvbXBpbGF0aW9uUHRyVGFnPiBjb2RlUmVmID0gRklOQUxJ
WkVfQ09ERShsaW5rQnVmZmVyLCBCM0NvbXBpbGF0aW9uUHRyVGFnLCAidGVzdGIzIGNvbXBpbGF0
aW9uIik7CiAKQEAgLTIxNzMsOSArMjE3Myw5IEBAIHZvaWQgdGVzdEVudHJ5U3dpdGNoV2l0aENv
bW1vblBhdGhzQW5kTm9uVHJpdmlhbEVudHJ5cG9pbnQoKQogICAgIENDYWxsSGVscGVycyBqaXQ7
CiAgICAgZ2VuZXJhdGUocHJvYywgaml0KTsKICAgICBMaW5rQnVmZmVyIGxpbmtCdWZmZXIoaml0
LCBudWxscHRyKTsKLSAgICBDb2RlTG9jYXRpb25MYWJlbDxCM0NvbXBpbGF0aW9uUHRyVGFnPiBs
YWJlbE9uZSA9IGxpbmtCdWZmZXIubG9jYXRpb25PZjxCM0NvbXBpbGF0aW9uUHRyVGFnPihwcm9j
LmVudHJ5cG9pbnRMYWJlbCgwKSk7Ci0gICAgQ29kZUxvY2F0aW9uTGFiZWw8QjNDb21waWxhdGlv
blB0clRhZz4gbGFiZWxUd28gPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2Y8QjNDb21waWxhdGlvblB0
clRhZz4ocHJvYy5lbnRyeXBvaW50TGFiZWwoMSkpOwotICAgIENvZGVMb2NhdGlvbkxhYmVsPEIz
Q29tcGlsYXRpb25QdHJUYWc+IGxhYmVsVGhyZWUgPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2Y8QjND
b21waWxhdGlvblB0clRhZz4ocHJvYy5lbnRyeXBvaW50TGFiZWwoMikpOworICAgIENvZGVMb2Nh
dGlvbkxhYmVsPEIzQ29tcGlsYXRpb25QdHJUYWc+IGxhYmVsT25lID0gbGlua0J1ZmZlci5sb2Nh
dGlvbk9mPEIzQ29tcGlsYXRpb25QdHJUYWc+KHByb2MuY29kZSgpLmVudHJ5cG9pbnRMYWJlbCgw
KSk7CisgICAgQ29kZUxvY2F0aW9uTGFiZWw8QjNDb21waWxhdGlvblB0clRhZz4gbGFiZWxUd28g
PSBsaW5rQnVmZmVyLmxvY2F0aW9uT2Y8QjNDb21waWxhdGlvblB0clRhZz4ocHJvYy5jb2RlKCku
ZW50cnlwb2ludExhYmVsKDEpKTsKKyAgICBDb2RlTG9jYXRpb25MYWJlbDxCM0NvbXBpbGF0aW9u
UHRyVGFnPiBsYWJlbFRocmVlID0gbGlua0J1ZmZlci5sb2NhdGlvbk9mPEIzQ29tcGlsYXRpb25Q
dHJUYWc+KHByb2MuY29kZSgpLmVudHJ5cG9pbnRMYWJlbCgyKSk7CiAKICAgICBNYWNyb0Fzc2Vt
YmxlckNvZGVSZWY8QjNDb21waWxhdGlvblB0clRhZz4gY29kZVJlZiA9IEZJTkFMSVpFX0NPREUo
bGlua0J1ZmZlciwgQjNDb21waWxhdGlvblB0clRhZywgInRlc3RiMyBjb21waWxhdGlvbiIpOwog
CkBAIC0yMjUxLDggKzIyNTEsOCBAQCB2b2lkIHRlc3RFbnRyeVN3aXRjaExvb3AoKQogICAgIEND
YWxsSGVscGVycyBqaXQ7CiAgICAgZ2VuZXJhdGUocHJvYywgaml0KTsKICAgICBMaW5rQnVmZmVy
IGxpbmtCdWZmZXIoaml0LCBudWxscHRyKTsKLSAgICBDb2RlTG9jYXRpb25MYWJlbDxCM0NvbXBp
bGF0aW9uUHRyVGFnPiBsYWJlbE9uZSA9IGxpbmtCdWZmZXIubG9jYXRpb25PZjxCM0NvbXBpbGF0
aW9uUHRyVGFnPihwcm9jLmVudHJ5cG9pbnRMYWJlbCgwKSk7Ci0gICAgQ29kZUxvY2F0aW9uTGFi
ZWw8QjNDb21waWxhdGlvblB0clRhZz4gbGFiZWxUd28gPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2Y8
QjNDb21waWxhdGlvblB0clRhZz4ocHJvYy5lbnRyeXBvaW50TGFiZWwoMSkpOworICAgIENvZGVM
b2NhdGlvbkxhYmVsPEIzQ29tcGlsYXRpb25QdHJUYWc+IGxhYmVsT25lID0gbGlua0J1ZmZlci5s
b2NhdGlvbk9mPEIzQ29tcGlsYXRpb25QdHJUYWc+KHByb2MuY29kZSgpLmVudHJ5cG9pbnRMYWJl
bCgwKSk7CisgICAgQ29kZUxvY2F0aW9uTGFiZWw8QjNDb21waWxhdGlvblB0clRhZz4gbGFiZWxU
d28gPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2Y8QjNDb21waWxhdGlvblB0clRhZz4ocHJvYy5jb2Rl
KCkuZW50cnlwb2ludExhYmVsKDEpKTsKIAogICAgIE1hY3JvQXNzZW1ibGVyQ29kZVJlZjxCM0Nv
bXBpbGF0aW9uUHRyVGFnPiBjb2RlUmVmID0gRklOQUxJWkVfQ09ERShsaW5rQnVmZmVyLCBCM0Nv
bXBpbGF0aW9uUHRyVGFnLCAidGVzdGIzIGNvbXBpbGF0aW9uIik7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTENvbXBpbGUuY3BwCmluZGV4IGRlMzI2YmVjYTNkLi5kMTFlNzQ0N2E1MSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENvbXBpbGUuY3BwCkBAIC0xNTMsNyArMTUz
LDcgQEAgdm9pZCBjb21waWxlKFN0YXRlJiBzdGF0ZSwgU2FmZXBvaW50OjpSZXN1bHQmIHNhZmVw
b2ludFJlc3VsdCkKICAgICBpZiAodm0uc2hvdWxkQnVpbGRlclBDVG9Db2RlT3JpZ2luTWFwcGlu
ZygpKQogICAgICAgICBjb2RlQmxvY2stPnNldFBDVG9Db2RlT3JpZ2luTWFwKG1ha2VVbmlxdWU8
UENUb0NvZGVPcmlnaW5NYXA+KFBDVG9Db2RlT3JpZ2luTWFwQnVpbGRlcih2bSwgV1RGTW92ZShv
cmlnaW5NYXApKSwgKnN0YXRlLmZpbmFsaXplci0+YjNDb2RlTGlua0J1ZmZlcikpOwogCi0gICAg
Q29kZUxvY2F0aW9uTGFiZWw8SlNFbnRyeVB0clRhZz4gbGFiZWwgPSBzdGF0ZS5maW5hbGl6ZXIt
PmIzQ29kZUxpbmtCdWZmZXItPmxvY2F0aW9uT2Y8SlNFbnRyeVB0clRhZz4oc3RhdGUucHJvYy0+
ZW50cnlwb2ludExhYmVsKDApKTsKKyAgICBDb2RlTG9jYXRpb25MYWJlbDxKU0VudHJ5UHRyVGFn
PiBsYWJlbCA9IHN0YXRlLmZpbmFsaXplci0+YjNDb2RlTGlua0J1ZmZlci0+bG9jYXRpb25PZjxK
U0VudHJ5UHRyVGFnPihzdGF0ZS5wcm9jLT5jb2RlKCkuZW50cnlwb2ludExhYmVsKDApKTsKICAg
ICBzdGF0ZS5nZW5lcmF0ZWRGdW5jdGlvbiA9IGxhYmVsOwogICAgIHN0YXRlLmppdENvZGUtPmlu
aXRpYWxpemVCM0J5cHJvZHVjdHMoc3RhdGUucHJvYy0+cmVsZWFzZUJ5cHJvZHVjdHMoKSk7CiAK
QEAgLTE2MSw4ICsxNjEsNyBAQCB2b2lkIGNvbXBpbGUoU3RhdGUmIHN0YXRlLCBTYWZlcG9pbnQ6
OlJlc3VsdCYgc2FmZXBvaW50UmVzdWx0KQogICAgICAgICBCeXRlY29kZUluZGV4IGNhdGNoQnl0
ZWNvZGVJbmRleCA9IHBhaXIudmFsdWU7CiAgICAgICAgIHVuc2lnbmVkIGVudHJ5cG9pbnRJbmRl
eCA9IHBhaXIua2V5OwogICAgICAgICBWZWN0b3I8Rmx1c2hGb3JtYXQ+IGFyZ3VtZW50Rm9ybWF0
cyA9IHN0YXRlLmdyYXBoLm1fYXJndW1lbnRGb3JtYXRzW2VudHJ5cG9pbnRJbmRleF07Ci0gICAg
ICAgIHN0YXRlLmppdENvZGUtPmNvbW1vbi5hcHBlbmRDYXRjaEVudHJ5cG9pbnQoCi0gICAgICAg
ICAgICBjYXRjaEJ5dGVjb2RlSW5kZXgsIHN0YXRlLmZpbmFsaXplci0+YjNDb2RlTGlua0J1ZmZl
ci0+bG9jYXRpb25PZjxFeGNlcHRpb25IYW5kbGVyUHRyVGFnPihzdGF0ZS5wcm9jLT5lbnRyeXBv
aW50TGFiZWwoZW50cnlwb2ludEluZGV4KSksIFdURk1vdmUoYXJndW1lbnRGb3JtYXRzKSk7Cisg
ICAgICAgIHN0YXRlLmppdENvZGUtPmNvbW1vbi5hcHBlbmRDYXRjaEVudHJ5cG9pbnQoY2F0Y2hC
eXRlY29kZUluZGV4LCBzdGF0ZS5maW5hbGl6ZXItPmIzQ29kZUxpbmtCdWZmZXItPmxvY2F0aW9u
T2Y8RXhjZXB0aW9uSGFuZGxlclB0clRhZz4oc3RhdGUucHJvYy0+Y29kZSgpLmVudHJ5cG9pbnRM
YWJlbChlbnRyeXBvaW50SW5kZXgpKSwgV1RGTW92ZShhcmd1bWVudEZvcm1hdHMpKTsKICAgICB9
CiAgICAgc3RhdGUuaml0Q29kZS0+Y29tbW9uLmZpbmFsaXplQ2F0Y2hFbnRyeXBvaW50cygpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtUGFyc2VyLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtUGFyc2VyLmgKaW5kZXggODU3MjM4YTI2NzMu
LmQ3OTgzMDA5MzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNt
UGFyc2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVBhcnNlci5oCkBA
IC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJCM0NvbXBpbGF0aW9uLmgiCiAjaW5jbHVkZSAi
QjNQcm9jZWR1cmUuaCIKKyNpbmNsdWRlICJWaXJ0dWFsUmVnaXN0ZXIuaCIKICNpbmNsdWRlICJX
YXNtRm9ybWF0LmgiCiAjaW5jbHVkZSAiV2FzbUxpbWl0cy5oIgogI2luY2x1ZGUgIldhc21Nb2R1
bGVJbmZvcm1hdGlvbi5oIgpAQCAtMzgsNiArMzksNyBAQAogI2luY2x1ZGUgPHd0Zi9FeHBlY3Rl
ZC5oPgogI2luY2x1ZGUgPHd0Zi9MRUJEZWNvZGVyLmg+CiAjaW5jbHVkZSA8d3RmL1N0ZExpYkV4
dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi9TdHJpbmdQcmludFN0cmVhbS5oPgogI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VURjhDb252ZXJzaW9u
Lmg+CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>