<?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>150167</bug_id>
          
          <creation_ts>2015-10-15 06:35:58 -0700</creation_ts>
          <short_desc>Binding generator should allow generating private JS functions</short_desc>
          <delta_ts>2015-10-19 03:37:27 -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>WebCore JavaScript</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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>adam.bergkvist</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1133449</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-15 06:35:58 -0700</bug_when>
    <thetext>JS builtins functions may need getting access to private JS functions implemented through DOM classes.
It may be convenient for the binding generator to support this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133452</commentid>
    <comment_count>1</comment_count>
      <attachid>263152</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-15 06:44:25 -0700</bug_when>
    <thetext>Created attachment 263152
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133453</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-15 06:45:49 -0700</bug_when>
    <thetext>Attachment 263152 did not pass style-queue:


ERROR: Source/WebCore/bindings/js/WebCoreJSBuiltins.cpp:30:  Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 1 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133455</commentid>
    <comment_count>3</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-15 06:47:20 -0700</bug_when>
    <thetext>I used MediaDevices.getUserMedia as an example as it could be readily used for webkitGetUserMedia JS builtin implementation.
See bug 149499.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133458</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-15 06:51:59 -0700</bug_when>
    <thetext>See bug 150166 for another related usecase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133461</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2015-10-15 06:56:15 -0700</bug_when>
    <thetext>+1 for this feature</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134390</commentid>
    <comment_count>6</comment_count>
      <attachid>263152</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-10-18 16:27:21 -0700</bug_when>
    <thetext>Comment on attachment 263152
Patch

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

&gt; Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm:372
&gt; +    return 1 if ($function-&gt;signature-&gt;type eq &quot;Promise&quot;);

No need for the parentheses.

&gt; Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm:374
&gt; +    return 1 if ($function-&gt;signature-&gt;type eq &quot;Date&quot;);

Ditto.

&gt; Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm:376
&gt; +    return 1 if ($function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;JSBuiltin&quot;});

Ditto.

&gt; Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm:378
&gt; +    return 1 if ($function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Private&quot;});

Ditto.

&gt; Source/WebCore/bindings/scripts/CodeGeneratorObjC.pm:550
&gt; +    return 1 if ($function-&gt;signature-&gt;extendedAttributes-&gt;{&quot;Private&quot;});

No need for the parentheses.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134525</commentid>
    <comment_count>7</comment_count>
      <attachid>263463</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-19 02:57:20 -0700</bug_when>
    <thetext>Created attachment 263463
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134535</commentid>
    <comment_count>8</comment_count>
      <attachid>263463</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-19 03:37:22 -0700</bug_when>
    <thetext>Comment on attachment 263463
Patch for landing

Clearing flags on attachment: 263463

Committed r191287: &lt;http://trac.webkit.org/changeset/191287&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134536</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-19 03:37:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263152</attachid>
            <date>2015-10-15 06:44:25 -0700</date>
            <delta_ts>2015-10-19 02:57:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150167-20151015104346.patch</filename>
            <type>text/plain</type>
            <size>18384</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxMDg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzFhNmQ3YjAyNmE3MzYx
NDM3YjAyNGQyOTUwYmExYjhiMWQ3MThmMy4uNjA0MTMzNWE1YjM3ODNhYTk5Mzg2MjE5ZWY2ZWEy
NTA1N2U1YmQ1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE1LTEwLTE1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgQmluZGlu
ZyBnZW5lcmF0b3Igc2hvdWxkIGFsbG93IGdlbmVyYXRpbmcgcHJpdmF0ZSBKUyBmdW5jdGlvbnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDE2Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVj
aW5nIHRoZSAiUHJpdmF0ZSIga2V5d29yZCBmb3IgdGhhdCBwdXJwb3NlLgorICAgICAgICBBcHBs
eWluZyBpdCB0byBNZWRpYURldmljZXMuZ2V0VXNlck1lZGlhIHdoaWNoIGNhbiBiZSB1c2VkIGRp
cmVjdGx5IG9yIHRocm91Z2ggbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYQorICAgICAgICB3
aGljaCBjb3VsZCBiZSBpbXBsZW1lbnRlZCBhcyBKUyBidWlsdGluIGJhc2VkIG9uIGl0LgorCisg
ICAgICAgICJQcml2YXRlIiBmdW5jdGlvbnMgYXJlIGFkZGVkIHRvIHRoZSBwcm90b3R5cGUgd2l0
aCBhIGNvcnJlc3BvbmRpbmcgcHJpdmF0ZSBzeW1ib2wuCisgICAgICAgIFRoaXMgc3ltYm9sIG11
c3QgYmUgZGVmaW5lZCBpbiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmguCisKKyAg
ICAgICAgQWRkaW5nIGEgZ2V0VXNlck1lZGlhRnJvbUpTIGZ1bmN0aW9uIHZpc2libGUgZnJvbSBi
dWlsdGlucyBzY3JpcHQuCisgICAgICAgIEltcGxlbWVudGluZyBNZWRpYURldmljZXMuZ2V0VXNl
ck1lZGlhIGFzIGEgSlMgYnVpbHRpbiBiYXNlZCBvbiBpdC4KKworICAgICAgICBBZGRpbmcgYmlu
ZGluZyBnZW5lcmF0b3IgdGVzdC4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGRpbmcg
TWVkaWFEZXZpY2VzLmpzLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IERpdHRvLgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmg6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYURldmljZXM6OmdldFVzZXJNZWRpYUZyb21KUyk6CisgICAgICAgICogTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaWRsOiBNYXJraW5nIGdldFVzZXJNZWRpYUZy
b21KUyBwcml2YXRlIGFuZCBnZXRVc2VyTWVkaWEgSlNCdWlsdGluLgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmpzOiBBZGRlZC4KKyAgICAgICAgKGdldFVzZXJN
ZWRpYSk6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVKU0J1aWx0aW5zLmNwcDoKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9XZWJDb3JlSlNCdWlsdGlucy5oOgorICAgICAgICAoV2ViQ29yZTo6SlNCdWlsdGlu
RnVuY3Rpb25zOjpKU0J1aWx0aW5GdW5jdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6SlNCdWls
dGluRnVuY3Rpb25zOjptZWRpYURldmljZXNCdWlsdGlucyk6CisgICAgICAgICogYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbTogU2tpcHBpbmcgZ2VuZXJhdGlvbiBvZiBQ
cml2YXRlIGZ1bmN0aW9ucy4KKyAgICAgICAgKFNraXBGdW5jdGlvbik6CisgICAgICAgICogYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUltcGxl
bWVudGF0aW9uKTogRGlzYWJsaW5nIGFkZGl0aW9uIG9mIHByaXZhdGUgZnVuY3Rpb24gaW4gdGFi
bGUgYW5kIGFkZGluZyBwcml2YXRlIG1lbWJlciBmaWVsZCB0byB0aGUgcHJvdG90eXBlLgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG06IFNraXBwaW5nIGdl
bmVyYXRpb24gb2YgUHJpdmF0ZSBmdW5jdGlvbnMuCisgICAgICAgIChTa2lwRnVuY3Rpb24pOgor
ICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQ6IEFkZGluZyBQcml2
YXRlIGtleXdvcmQuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9i
ai5jcHA6IEFkZGluZyBQcml2YXRlIGtleXdvcmQgdGVzdC4KKyAgICAgICAgKFdlYkNvcmU6OkpT
VGVzdE9ialByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6anNU
ZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Qcml2YXRlTWV0aG9kKToKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGw6CisKIDIwMTUtMTAtMTQgIFpodW8gTGkgIDx6YWNo
bGlAYXBwbGUuY29tPgogCiAgICAgICAgIEF1Z21lbnQgPGlucHV0IHR5cGU9c2VhcmNoPuKAmXMg
cmVjZW50IHNlYXJjaCBoaXN0b3J5IHdpdGggdGhlIHRpbWUgZWFjaCBlbnRyeSB3YXMgYWRkZWQs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDVjZjFiYzFlYzIwNjM2Yjc2Njg5ODE3Y2RhMTdkM2Q3
ODQ4Y2Q4ZDkuLmU4M2UzZTUzMWNlM2ExOWYxNWM1ODQxZGNjOGExNzdiYWM0NTk4ODYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CkBAIC0zMzU0LDYgKzMzNTQsNyBAQCBzZXQoREVESUNBVEVEV09SS0VS
R0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JTX0ZJTEUgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9E
SVJ9Lwogc2V0KElETF9BVFRSSUJVVEVTX0ZJTEUgJHtXRUJDT1JFX0RJUn0vYmluZGluZ3Mvc2Ny
aXB0cy9JRExBdHRyaWJ1dGVzLnR4dCkKIAogc2V0KFdFQkNPUkVfSlNfQlVJTFRJTlMKKyAgICAk
e1dFQkNPUkVfRElSfS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5qcwogICAgICR7
V0VCQ09SRV9ESVJ9L01vZHVsZXMvc3RyZWFtcy9CeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5Lmpz
CiAgICAgJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9zdHJlYW1zL0NvdW50UXVldWluZ1N0cmF0ZWd5
LmpzCiAgICAgJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmpz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA0NjY1NGYyYWQzMTg4OWRiMzQyNTdi
ZmQ4YzhmYWM5M2UyZGYwNGI1Li45OGEzOTFhMDE5ZTA2MDZmZjdhYTVhMzQyMmRkN2UwOGNlOGZl
MzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEyNTIsNiArMTI1Miw3IEBA
IFdlYlJlcGxheUlucHV0cy5oIDogJChJTlBVVF9HRU5FUkFUT1JfU1BFQ0lGSUNBVElPTlMpICQo
SU5QVVRfR0VORVJBVE9SX1NDUklQVFMpCiAjIFdlYkNvcmUgSlMgQnVpbHRpbnMKIAogV0VCQ09S
RV9KU19CVUlMVElOUyA9IFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFEZXZpY2VzLmpzIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvc3RyZWFtcy9CeXRlTGVuZ3Ro
UXVldWluZ1N0cmF0ZWd5LmpzIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvc3RyZWFtcy9Db3Vu
dFF1ZXVpbmdTdHJhdGVneS5qcyBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3N0cmVhbXMvUmVh
ZGFibGVTdHJlYW0uanMgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYURldmljZXMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vTWVkaWFEZXZpY2VzLmgKaW5kZXggNTU4MDYzY2YzYTU5YTkwM2MzYjE1NTY4ZjQ5YWNjNzZj
NDY0NmQ1ZS4uY2EwNTY2ZjFjN2UxMmQ4ZDVjZWEzMTU0OGFlMWI0ZDU2NTYzNzM5MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oCkBA
IC02Myw2ICs2Myw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGdldFVzZXJNZWRpYShjb25zdCBEaWN0
aW9uYXJ5JiwgUHJvbWlzZSYmLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAgICAgdm9pZCBlbnVt
ZXJhdGVEZXZpY2VzKEVudW1lcmF0ZURldmljZXNQcm9taXNlJiYsIEV4Y2VwdGlvbkNvZGUmKSBj
b25zdDsKIAorICAgIHZvaWQgZ2V0VXNlck1lZGlhRnJvbUpTKGNvbnN0IERpY3Rpb25hcnkmIGRp
Y3Rpb25hcnksIFByb21pc2UmJiBwcm9taXNlLCBFeGNlcHRpb25Db2RlJiBlYykgY29uc3QgeyBn
ZXRVc2VyTWVkaWEoZGljdGlvbmFyeSwgV1RGOjptb3ZlKHByb21pc2UpLCBlYyk7IH0KKwogcHJp
dmF0ZToKICAgICBleHBsaWNpdCBNZWRpYURldmljZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCop
OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFEZXZpY2VzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFE
ZXZpY2VzLmlkbAppbmRleCA2Yjg0NDM0ZTZiMzU4ZTYzYjM1ZTNlNGY4OThhNzUyYWE1Yzg3Yjcw
Li42ODU3ODYyZDE1MjMxMTkyMGJmOGY0YjkxZTM0NDA3NzlhZmIzYzgyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaWRsCkBAIC0z
Miw2ICszMiw4IEBACiAgICAgTm9JbnRlcmZhY2VPYmplY3QsCiAgICAgQ29uZGl0aW9uYWw9TUVE
SUFfU1RSRUFNCiBdIGludGVyZmFjZSBNZWRpYURldmljZXMgewotICAgIFtSYWlzZXNFeGNlcHRp
b25dIFByb21pc2UgZ2V0VXNlck1lZGlhKERpY3Rpb25hcnkgb3B0aW9ucyk7CisgICAgW0pTQnVp
bHRpbl0gUHJvbWlzZSBnZXRVc2VyTWVkaWEoRGljdGlvbmFyeSBvcHRpb25zKTsKICAgICBbUmFp
c2VzRXhjZXB0aW9uXSBQcm9taXNlIGVudW1lcmF0ZURldmljZXMoKTsKKworICAgIFtQcml2YXRl
LCBSYWlzZXNFeGNlcHRpb25dIFByb21pc2UgZ2V0VXNlck1lZGlhRnJvbUpTKERpY3Rpb25hcnkg
b3B0aW9ucyk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYURldmljZXMuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhRGV2aWNlcy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYWIyYzkzZDEwZmVlM2FjODA3NjkxOWUzMmNl
YTI4MjI0MGY5NWYzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYURldmljZXMuanMKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNSBDYW5vbiBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQsIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgcmVxdWlyZWQgdG8gYmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQ2Fub24gSW5jLiBub3IgdGhlIG5hbWVzIG9m
CisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIENBTk9OIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBDQU5PTiBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IKKyAqIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisgKiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUgorICogQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyAqIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIEBvcHRpb25hbD1NRURJQV9TVFJFQU0K
KworZnVuY3Rpb24gZ2V0VXNlck1lZGlhKG9wdGlvbnMpCit7CisgICAgaWYgKCF0aGlzLkBnZXRV
c2VyTWVkaWFGcm9tSlMpCisgICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJGdW5jdGlvbiBz
aG91bGQgYmUgY2FsbGVkIG9uIGEgTWVkaWFEZXZpY2VzIik7CisgICAgcmV0dXJuIHRoaXMuQGdl
dFVzZXJNZWRpYUZyb21KUy5AYXBwbHkodGhpcywgYXJndW1lbnRzKTsKK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCAwZWIwNWFh
YzdlZDlkNGU0NmFhNzM5OGYwMDcyMGExOTFmZTUzZGMxLi5iZTcyNmMxY2MxYjA3ZjhkNDdlZmZh
YmIwMTYzMmI0ZWMyMGFjMmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
V2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0zOCwxNyArMzgsMTggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIG1hY3JvKGNsb3NlZFByb21pc2VSZWplY3QpIFwKICAgICBtYWNybyhjb250cm9s
bGVkUmVhZGFibGVTdHJlYW0pIFwKICAgICBtYWNybyhjb250cm9sbGVyKSBcCisgICAgbWFjcm8o
Z2V0VXNlck1lZGlhRnJvbUpTKSBcCiAgICAgbWFjcm8oaGlnaFdhdGVyTWFyaykgXAogICAgIG1h
Y3JvKG93bmVyUmVhZGFibGVTdHJlYW0pIFwKLSAgICBtYWNybyhwdWxsQWdhaW4pIFwKICAgICBt
YWNybyhwdWxsaW5nKSBcCisgICAgbWFjcm8ocHVsbEFnYWluKSBcCiAgICAgbWFjcm8ocXVldWUp
IFwKICAgICBtYWNybyhxdWV1ZVNpemUpIFwKICAgICBtYWNybyhyZWFkYWJsZVN0cmVhbUNsb3Nl
ZCkgXAogICAgIG1hY3JvKHJlYWRhYmxlU3RyZWFtRXJyb3JlZCkgXAogICAgIG1hY3JvKHJlYWRh
YmxlU3RyZWFtUmVhZGFibGUpIFwKLSAgICBtYWNybyhyZWFkUmVxdWVzdHMpIFwKICAgICBtYWNy
byhyZWFkZXIpIFwKKyAgICBtYWNybyhyZWFkUmVxdWVzdHMpIFwKICAgICBtYWNybyhzdGF0ZSkg
XAogICAgIG1hY3JvKHN0YXJ0ZWQpIFwKICAgICBtYWNybyhzdG9yZWRFcnJvcikgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQnVpbHRpbnMuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQnVpbHRpbnMuY3BwCmluZGV4IDg3
ZjlmMjA1OTU4YjUwZTY0ZWI1YWI0ODQ4OTI1M2QyOTE4ODk5NmUuLjc4N2UzNDY5NWQ2MGIwY2U3
OTE4NWVhMDliZTIyMjYyOTI3NDY4ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dlYkNvcmVKU0J1aWx0aW5zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9XZWJDb3JlSlNCdWlsdGlucy5jcHAKQEAgLTI2LDYgKzI2LDEwIEBACiAKICNpbmNsdWRl
ICJjb25maWcuaCIKIAorI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisjaW5jbHVkZSAiTWVkaWFE
ZXZpY2VzQnVpbHRpbnMuY3BwIgorI2VuZGlmCisKICNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCiAj
aW5jbHVkZSAiQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zLmNwcCIKICNpbmNsdWRl
ICJDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0J1aWx0aW5zLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlSlNCdWlsdGlucy5oCmluZGV4IGI2YjA1Yjk1OTQ2MTIxNDdhYzgy
YTg2YTdmNDgyMzcxYzE0MjU2MDkuLmRkOGIzMDUzMmY5NTk0OWI0YjFmNWFhNGY4ZjUyZDljZjBh
ODA1YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0J1
aWx0aW5zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQnVpbHRp
bnMuaApAQCAtMjcsNiArMjcsMTAgQEAKICNpZm5kZWYgV2ViQ29yZUpTQnVpbHRpbnNfaAogI2Rl
ZmluZSBXZWJDb3JlSlNCdWlsdGluc19oCiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorI2lu
Y2x1ZGUgIk1lZGlhRGV2aWNlc0J1aWx0aW5zV3JhcHBlci5oIgorI2VuZGlmCisKICNpZiBFTkFC
TEUoU1RSRUFNU19BUEkpCiAjaW5jbHVkZSAiQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0
aW5zV3JhcHBlci5oIgogI2luY2x1ZGUgIkNvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnNXcmFw
cGVyLmgiCkBAIC0zNiw3ICs0MCw2IEBACiAjaW5jbHVkZSAiUmVhZGFibGVTdHJlYW1SZWFkZXJC
dWlsdGluc1dyYXBwZXIuaCIKICNlbmRpZgogCi0KICNpbmNsdWRlIDxydW50aW1lL1ZNLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTUzLDYgKzU2LDkgQEAgcHVibGljOgogICAgICAgICAs
IG1fcmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucygmdm0pCiAgICAgICAgICwgbV9yZWFk
YWJsZVN0cmVhbVJlYWRlckJ1aWx0aW5zKCZ2bSkKICNlbmRpZgorI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCisgICAgICAgICwgbV9tZWRpYURldmljZXNCdWlsdGlucygmdm0pCisjZW5kaWYKICAg
ICB7CiAjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQogICAgICAgICBtX3JlYWRhYmxlU3RyZWFtSW50
ZXJuYWxzQnVpbHRpbnMuZXhwb3J0TmFtZXMoKTsKQEAgLTY2LDYgKzcyLDkgQEAgcHVibGljOgog
ICAgIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyJiByZWFkYWJsZVN0cmVh
bUludGVybmFsc0J1aWx0aW5zKCkgeyByZXR1cm4gbV9yZWFkYWJsZVN0cmVhbUludGVybmFsc0J1
aWx0aW5zO30KICAgICBSZWFkYWJsZVN0cmVhbVJlYWRlckJ1aWx0aW5zV3JhcHBlciYgcmVhZGFi
bGVTdHJlYW1SZWFkZXJCdWlsdGlucygpIHsgcmV0dXJuIG1fcmVhZGFibGVTdHJlYW1SZWFkZXJC
dWlsdGluczt9CiAjZW5kaWYKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIE1lZGlhRGV2
aWNlc0J1aWx0aW5zV3JhcHBlciYgbWVkaWFEZXZpY2VzQnVpbHRpbnMoKSB7IHJldHVybiBtX21l
ZGlhRGV2aWNlc0J1aWx0aW5zOyB9CisjZW5kaWYKIAogcHJpdmF0ZToKICAgICBKU0M6OlZNJiB2
bTsKQEAgLTc3LDYgKzg2LDkgQEAgcHJpdmF0ZToKICAgICBSZWFkYWJsZVN0cmVhbUludGVybmFs
c0J1aWx0aW5zV3JhcHBlciBtX3JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnM7CiAgICAg
UmVhZGFibGVTdHJlYW1SZWFkZXJCdWlsdGluc1dyYXBwZXIgbV9yZWFkYWJsZVN0cmVhbVJlYWRl
ckJ1aWx0aW5zOwogI2VuZGlmCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBNZWRpYURl
dmljZXNCdWlsdGluc1dyYXBwZXIgbV9tZWRpYURldmljZXNCdWlsdGluczsKKyNlbmRpZgogCiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JHT2JqZWN0LnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yR09iamVjdC5wbQppbmRleCAyNmE2NzM5ODk2ZjUzZTdiNzY0ZGMwNmM5MmEyZjgyNDUx
Y2E5ODFjLi5kNjY0YjgzMWI4YmY0OGYyMTEwZDI5YjFkZDkxOTllODc2MGRkODA5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0
LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdP
YmplY3QucG0KQEAgLTM2OSwxNyArMzY5LDEzIEBAIHN1YiBTa2lwRnVuY3Rpb24gewogICAgICAg
ICByZXR1cm4gMTsKICAgICB9CiAKLSAgICBpZiAoJGZ1bmN0aW9uLT5zaWduYXR1cmUtPnR5cGUg
ZXEgIlByb21pc2UiKSB7Ci0gICAgICAgIHJldHVybiAxOwotICAgIH0KKyAgICByZXR1cm4gMSBp
ZiAoJGZ1bmN0aW9uLT5zaWduYXR1cmUtPnR5cGUgZXEgIlByb21pc2UiKTsKIAotICAgIGlmICgk
ZnVuY3Rpb24tPnNpZ25hdHVyZS0+dHlwZSBlcSAiRGF0ZSIpIHsKLSAgICAgICAgcmV0dXJuIDE7
Ci0gICAgfQorICAgIHJldHVybiAxIGlmICgkZnVuY3Rpb24tPnNpZ25hdHVyZS0+dHlwZSBlcSAi
RGF0ZSIpOwogCi0gICAgaWYgKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0
ZXMtPnsiSlNCdWlsdGluIn0pIHsKLSAgICAgICAgcmV0dXJuIDE7Ci0gICAgfQorICAgIHJldHVy
biAxIGlmICgkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQnVp
bHRpbiJ9KTsKKworICAgIHJldHVybiAxIGlmICgkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IlByaXZhdGUifSk7CiAKICAgICByZXR1cm4gMDsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KaW5kZXgg
Mzg0MDFlYmUxYzNhMjIyYWQ3M2Q5ZTNhZTVlNjI3ZDU2NDVmOTljMy4uNDJkNTUwZmI5Y2ZmMDI3
MWU0NGIxZjgyYWNiZmI1YzNlMzQwNTliOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTIwMzIsNiArMjAzMiw3IEBAIHN1
YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgbXkgQHJ1bnRpbWVFbmFibGVkRnVuY3Rpb25z
ID0gKCk7CiAKICAgICBmb3JlYWNoIG15ICRmdW5jdGlvbiAoQHskaW50ZXJmYWNlLT5mdW5jdGlv
bnN9KSB7CisgICAgICAgIG5leHQgaWYgKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiUHJpdmF0ZSJ9KTsKICAgICAgICAgbmV4dCBpZiAoJGZ1bmN0aW9uLT5pc1N0
YXRpYyk7CiAgICAgICAgIG5leHQgaWYgJGZ1bmN0aW9uLT57b3ZlcmxvYWRJbmRleH0gJiYgJGZ1
bmN0aW9uLT57b3ZlcmxvYWRJbmRleH0gPiAxOwogICAgICAgICBteSAkbmFtZSA9ICRmdW5jdGlv
bi0+c2lnbmF0dXJlLT5uYW1lOwpAQCAtMjEwNiw2ICsyMTA3LDE2IEBAIHN1YiBHZW5lcmF0ZUlt
cGxlbWVudGF0aW9uCiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgfVxu
Iik7CiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIjZW5kaWZcbiIpIGlmICRj
b25kaXRpb25hbFN0cmluZzsKICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgbXkgJGZpcnN0
UHJpdmF0ZUZ1bmN0aW9uID0gMTsKKyAgICAgICAgICAgIGZvcmVhY2ggbXkgJGZ1bmN0aW9uIChA
eyRpbnRlcmZhY2UtPmZ1bmN0aW9uc30pIHsKKyAgICAgICAgICAgICAgICBuZXh0IHVubGVzcyAo
JGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJQcml2YXRlIn0pOwor
ICAgICAgICAgICAgICAgIEFkZFRvSW1wbEluY2x1ZGVzKCJXZWJDb3JlSlNDbGllbnREYXRhLmgi
KTsKKyAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBKU1ZNQ2xpZW50RGF0
YSYgY2xpZW50RGF0YSA9ICpzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERh
dGEpO1xuIikgaWYgJGZpcnN0UHJpdmF0ZUZ1bmN0aW9uOworICAgICAgICAgICAgICAgICRmaXJz
dFByaXZhdGVGdW5jdGlvbiA9IDA7CisgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICIgICAgcHV0RGlyZWN0KHZtLCBjbGllbnREYXRhLmJ1aWx0aW5OYW1lcygpLiIgLiAkZnVuY3Rp
b24tPnNpZ25hdHVyZS0+bmFtZSAuICJQcml2YXRlTmFtZSgpLCBKU0Z1bmN0aW9uOjpjcmVhdGUo
dm0sIGdsb2JhbE9iamVjdCgpLCAwLCBTdHJpbmcoKSwgIiAuIEdldEZ1bmN0aW9uTmFtZSgkY2xh
c3NOYW1lLCAkZnVuY3Rpb24pIC4gIiksIFJlYWRPbmx5IHwgRG9udEVudW0pO1xuIik7CisgICAg
ICAgICAgICB9CisKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAifVxuXG4iKTsKICAg
ICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAidm9pZCAke2Ns
YXNzTmFtZX1Qcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSlcbiIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbSBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0KaW5k
ZXggNjM1ZDEzMzMzNjlhOTMwZTRlMWVlMDg2ZTc1NjZhZTE4OTJhM2Q4ZS4uMzQyZjkwOGY1Yjdk
ZTFlMTcwOTE4ZjhkN2U1YmViOWM4MzI3YWVmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCkBAIC01NDcsNiArNTQ3LDgg
QEAgc3ViIFNraXBGdW5jdGlvbgogICAgICAgICByZXR1cm4gMSBpZiAkcGFyYW0tPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJDbGFtcCJ9OwogICAgIH0KIAorICAgIHJldHVybiAxIGlmICgkZnVuY3Rp
b24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlByaXZhdGUifSk7CisKICAgICBy
ZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9JRExBdHRyaWJ1dGVzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURM
QXR0cmlidXRlcy50eHQKaW5kZXggZGQxMDI3M2E1NzMwNjU5ZmQ5NTY0YWRlYWNjNTc5M2E4YTc2
MGUzNi4uNDc5NWIxMGU1YTM0NWQ2YWYyZDIxZGU0M2UzNWE1NmYyOGMzMmE3NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CkBAIC0x
MDMsNiArMTAzLDcgQEAgT2JqQ1Byb3RvY29sCiBPYmpDVXNlRGVmYXVsdFZpZXcKIE92ZXJyaWRl
QnVpbHRpbnMKIFBhc3NDb250ZXh0CitQcml2YXRlCiBQdXRGb3J3YXJkcz0qCiBSYWlzZXNFeGNl
cHRpb24KIFJlZmxlY3Q9KgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAppbmRleCBhYzg2OGMzODI0NTExN2JmNTNkYTRlYTE2
YTcyMTdjMjA4ZGMwNzI4Li44NmM5ZWEyYTkyMGQ1MWM5NDJlOTU3MjE2NzkwMzJhMTliMGRkYTVm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNU
ZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0T2JqLmNwcApAQCAtNTIsNiArNTIsNyBAQAogI2luY2x1ZGUgIlRlc3ROb2RlLmgiCiAj
aW5jbHVkZSAiVGVzdE9iai5oIgogI2luY2x1ZGUgIlVSTC5oIgorI2luY2x1ZGUgIldlYkNvcmVK
U0NsaWVudERhdGEuaCIKICNpbmNsdWRlICJib29sLmgiCiAjaW5jbHVkZSA8YmluZGluZ3MvU2Ny
aXB0VmFsdWUuaD4KICNpbmNsdWRlIDxpbnNwZWN0b3IvU2NyaXB0QXJndW1lbnRzLmg+CkBAIC0x
MDMsNiArMTA0LDcgQEAgSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9i
alByb3RvdHlwZUZ1bmN0aW9uT3B0aW9uc09iamVjdChKU0M6OkUKIEpTQzo6RW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbk1ldGhvZFdpdGhFeGNl
cHRpb24oSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkN1c3RvbU1ldGhvZChKU0M6OkV4ZWNTdGF0ZSop
OwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1
bmN0aW9uQ3VzdG9tTWV0aG9kV2l0aEFyZ3MoSlNDOjpFeGVjU3RhdGUqKTsKK0pTQzo6RW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblByaXZhdGVN
ZXRob2QoSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkFkZEV2ZW50TGlzdGVuZXIoSlNDOjpFeGVjU3Rh
dGUqKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5
cGVGdW5jdGlvblJlbW92ZUV2ZW50TGlzdGVuZXIoSlNDOjpFeGVjU3RhdGUqKTsKIEpTQzo6RW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbldpdGhT
Y3JpcHRTdGF0ZVZvaWQoSlNDOjpFeGVjU3RhdGUqKTsKQEAgLTcyMiw2ICs3MjQsOCBAQCB2b2lk
IEpTVGVzdE9ialByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQogewogICAgIEJhc2U6
OmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICByZWlmeVN0YXRpY1Byb3BlcnRpZXModm0sIEpTVGVz
dE9ialByb3RvdHlwZVRhYmxlVmFsdWVzLCAqdGhpcyk7CisgICAgSlNWTUNsaWVudERhdGEmIGNs
aWVudERhdGEgPSAqc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKTsK
KyAgICBwdXREaXJlY3Qodm0sIGNsaWVudERhdGEuYnVpbHRpbk5hbWVzKCkucHJpdmF0ZU1ldGhv
ZFByaXZhdGVOYW1lKCksIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0KCksIDAs
IFN0cmluZygpLCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvblByaXZhdGVNZXRob2QpLCBSZWFk
T25seSB8IERvbnRFbnVtKTsKIH0KIAogY29uc3QgQ2xhc3NJbmZvIEpTVGVzdE9iajo6c19pbmZv
ID0geyAiVGVzdE9iamVjdCIsICZCYXNlOjpzX2luZm8sICZKU1Rlc3RPYmpUYWJsZSwgQ1JFQVRF
X01FVEhPRF9UQUJMRShKU1Rlc3RPYmopIH07CkBAIC0zNTE5LDYgKzM1MjMsMjMgQEAgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RPYmpQcm90b3R5cGVGdW5jdGlvbkN1c3RvbU1l
dGhvZFdpdGhBcmdzKEV4ZWMKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGNhc3RlZFRoaXMt
PmN1c3RvbU1ldGhvZFdpdGhBcmdzKCpzdGF0ZSkpOwogfQogCitFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uUHJpdmF0ZU1ldGhvZChFeGVjU3Rh
dGUqIHN0YXRlKQoreworICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0gc3RhdGUtPnRoaXNWYWx1ZSgp
OworICAgIEpTVGVzdE9iaiogY2FzdGVkVGhpcyA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0T2JqKj4o
dGhpc1ZhbHVlKTsKKyAgICBpZiAoVU5MSUtFTFkoIWNhc3RlZFRoaXMpKQorICAgICAgICByZXR1
cm4gdGhyb3dUaGlzVHlwZUVycm9yKCpzdGF0ZSwgIlRlc3RPYmoiLCAicHJpdmF0ZU1ldGhvZCIp
OworICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFMoY2FzdGVkVGhpcywgSlNUZXN0T2JqOjpp
bmZvKCkpOworICAgIGF1dG8mIGltcGwgPSBjYXN0ZWRUaGlzLT5pbXBsKCk7CisgICAgaWYgKFVO
TElLRUxZKHN0YXRlLT5hcmd1bWVudENvdW50KCkgPCAxKSkKKyAgICAgICAgcmV0dXJuIHRocm93
Vk1FcnJvcihzdGF0ZSwgY3JlYXRlTm90RW5vdWdoQXJndW1lbnRzRXJyb3Ioc3RhdGUpKTsKKyAg
ICBTdHJpbmcgYXJndW1lbnQgPSBzdGF0ZS0+YXJndW1lbnQoMCkudG9TdHJpbmcoc3RhdGUpLT52
YWx1ZShzdGF0ZSk7CisgICAgaWYgKFVOTElLRUxZKHN0YXRlLT5oYWRFeGNlcHRpb24oKSkpCisg
ICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgSlNWYWx1
ZSByZXN1bHQgPSBqc1N0cmluZ1dpdGhDYWNoZShzdGF0ZSwgaW1wbC5wcml2YXRlTWV0aG9kKGFy
Z3VtZW50KSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOworfQorCiBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQWRkRXZl
bnRMaXN0ZW5lcihFeGVjU3RhdGUqIHN0YXRlKQogewogICAgIEpTVmFsdWUgdGhpc1ZhbHVlID0g
c3RhdGUtPnRoaXNWYWx1ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Rlc3RPYmouaWRsCmluZGV4IDM1ZDQ2MWZjNDliYzJmYjcxNzI3M2EyMmFhMWY4ODJk
OWNiZThjZDQuLjM0MmQ2ODU4NWQyMGZmZTg3MzQwN2ZjNDUxNDU0ZWJiOTUxOTllMWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKQEAg
LTEyMyw2ICsxMjMsOSBAQCBlbnVtIF9vcHRpb25hbCB7ICIiLCAiT3B0aW9uYWxWYWx1ZTEiLCAi
T3B0aW9uYWxWYWx1ZTIiLCAiT3B0aW9uYWxWYWx1ZTMiIH07CiAgICAgW0NvbmRpdGlvbmFsPUNv
bmRpdGlvbjQsIEpTQnVpbHRpbl0gYXR0cmlidXRlIFRlc3RPYmoganNCdWlsdGluQXR0cmlidXRl
OwogICAgIFtDb25kaXRpb25hbD1Db25kaXRpb240LCBKU0J1aWx0aW5dIHJlYWRvbmx5IGF0dHJp
YnV0ZSBUZXN0T2JqIGpzQnVpbHRpblJlYWRPbmx5QXR0cmlidXRlOwogCisgICAgLy8gUHJpdmF0
ZSBleHRlbmRlZCBhdHRyaWJ1dGUKKyAgICBbUHJpdmF0ZV0gRE9NU3RyaW5nIHByaXZhdGVNZXRo
b2QoRE9NU3RyaW5nIGFyZ3VtZW50KTsKKwogICAgIHZvaWQgYWRkRXZlbnRMaXN0ZW5lcihET01T
dHJpbmcgdHlwZSwgRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgb3B0aW9uYWwgYm9vbGVhbiB1c2VD
YXB0dXJlKTsKICAgICB2b2lkIHJlbW92ZUV2ZW50TGlzdGVuZXIoRE9NU3RyaW5nIHR5cGUsIEV2
ZW50TGlzdGVuZXIgbGlzdGVuZXIsIG9wdGlvbmFsIGJvb2xlYW4gdXNlQ2FwdHVyZSk7CiAgICAg
YXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmZvbzsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263463</attachid>
            <date>2015-10-19 02:57:20 -0700</date>
            <delta_ts>2015-10-19 03:37:22 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-150167-20151019115636.patch</filename>
            <type>text/plain</type>
            <size>18404</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxMjg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzhhNDFhZjYxN2I3MTQ1
MGI4OTdmNjgyYmY3ZmVlN2M3YWVmZDYxNi4uYzRkZTJlOWJkOTdkNmFkYjljY2FjNTUyOTA4NzNj
ODRlNDUzMDc3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ4IEBACiAyMDE1LTEwLTE5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CiAKKyAgICAgICAgQmluZGlu
ZyBnZW5lcmF0b3Igc2hvdWxkIGFsbG93IGdlbmVyYXRpbmcgcHJpdmF0ZSBKUyBmdW5jdGlvbnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MDE2Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEludHJvZHVjaW5n
IHRoZSAiUHJpdmF0ZSIga2V5d29yZCBmb3IgdGhhdCBwdXJwb3NlLgorICAgICAgICBBcHBseWlu
ZyBpdCB0byBNZWRpYURldmljZXMuZ2V0VXNlck1lZGlhIHdoaWNoIGNhbiBiZSB1c2VkIGRpcmVj
dGx5IG9yIHRocm91Z2ggbmF2aWdhdG9yLndlYmtpdEdldFVzZXJNZWRpYQorICAgICAgICB3aGlj
aCBjb3VsZCBiZSBpbXBsZW1lbnRlZCBhcyBKUyBidWlsdGluIGJhc2VkIG9uIGl0LgorCisgICAg
ICAgICJQcml2YXRlIiBmdW5jdGlvbnMgYXJlIGFkZGVkIHRvIHRoZSBwcm90b3R5cGUgd2l0aCBh
IGNvcnJlc3BvbmRpbmcgcHJpdmF0ZSBzeW1ib2wuCisgICAgICAgIFRoaXMgc3ltYm9sIG11c3Qg
YmUgZGVmaW5lZCBpbiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmguCisKKyAgICAg
ICAgQWRkaW5nIGEgZ2V0VXNlck1lZGlhRnJvbUpTIGZ1bmN0aW9uIHZpc2libGUgZnJvbSBidWls
dGlucyBzY3JpcHQuCisgICAgICAgIEltcGxlbWVudGluZyBNZWRpYURldmljZXMuZ2V0VXNlck1l
ZGlhIGFzIGEgSlMgYnVpbHRpbiBiYXNlZCBvbiBpdC4KKworICAgICAgICBBZGRpbmcgYmluZGlu
ZyBnZW5lcmF0b3IgdGVzdC4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGRpbmcgTWVk
aWFEZXZpY2VzLmpzLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IERpdHRvLgorICAg
ICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmg6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYURldmljZXM6OmdldFVzZXJNZWRpYUZyb21KUyk6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaWRsOiBNYXJraW5nIGdldFVzZXJNZWRpYUZyb21K
UyBwcml2YXRlIGFuZCBnZXRVc2VyTWVkaWEgSlNCdWlsdGluLgorICAgICAgICAqIE1vZHVsZXMv
bWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmpzOiBBZGRlZC4KKyAgICAgICAgKGdldFVzZXJNZWRp
YSk6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorICAgICAg
ICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVKU0J1aWx0aW5zLmNwcDoKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9XZWJDb3JlSlNCdWlsdGlucy5oOgorICAgICAgICAoV2ViQ29yZTo6SlNCdWlsdGluRnVu
Y3Rpb25zOjpKU0J1aWx0aW5GdW5jdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6SlNCdWlsdGlu
RnVuY3Rpb25zOjptZWRpYURldmljZXNCdWlsdGlucyk6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbTogU2tpcHBpbmcgZ2VuZXJhdGlvbiBvZiBQcml2
YXRlIGZ1bmN0aW9ucy4KKyAgICAgICAgKFNraXBGdW5jdGlvbik6CisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZW5lcmF0ZUltcGxlbWVu
dGF0aW9uKTogRGlzYWJsaW5nIGFkZGl0aW9uIG9mIHByaXZhdGUgZnVuY3Rpb24gaW4gdGFibGUg
YW5kIGFkZGluZyBwcml2YXRlIG1lbWJlciBmaWVsZCB0byB0aGUgcHJvdG90eXBlLgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG06IFNraXBwaW5nIGdlbmVy
YXRpb24gb2YgUHJpdmF0ZSBmdW5jdGlvbnMuCisgICAgICAgIChTa2lwRnVuY3Rpb24pOgorICAg
ICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQ6IEFkZGluZyBQcml2YXRl
IGtleXdvcmQuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5j
cHA6IEFkZGluZyBQcml2YXRlIGtleXdvcmQgdGVzdC4KKyAgICAgICAgKFdlYkNvcmU6OkpTVGVz
dE9ialByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6anNUZXN0
T2JqUHJvdG90eXBlRnVuY3Rpb25Qcml2YXRlTWV0aG9kKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdE9iai5pZGw6CisKKzIwMTUtMTAtMTkgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKwogICAgICAgICBCaW5kaW5nIGdlbmVyYXRvciBz
aG91bGQgZ2VuZXJhdGUgbmFtZXMgZm9yIEpTQnVpbHRpbnMgcGFydGlhbCBpbnRlcmZhY2UgbWV0
aG9kcyB1c2luZyBJbXBsZW1lbnRlZEJ5IHZhbHVlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTAxNjMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA5
NGM4Y2FjMjMwNjk5MjQ3MDVmNDhmMmU5MjVjZjVmODYzNDMwNDkwLi5lYTA3Mzc1ODdiNjRlYTIx
ZWIxMDE3M2RlZjU4MTk2NTczZTY5YzcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMzM2Myw2
ICszMzYzLDcgQEAgc2V0KERFRElDQVRFRFdPUktFUkdMT0JBTFNDT1BFX0NPTlNUUlVDVE9SU19G
SUxFICR7REVSSVZFRF9TT1VSQ0VTX1dFQkNPUkVfRElSfS8KIHNldChJRExfQVRUUklCVVRFU19G
SUxFICR7V0VCQ09SRV9ESVJ9L2JpbmRpbmdzL3NjcmlwdHMvSURMQXR0cmlidXRlcy50eHQpCiAK
IHNldChXRUJDT1JFX0pTX0JVSUxUSU5TCisgICAgJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYURldmljZXMuanMKICAgICAke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3N0cmVh
bXMvQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneS5qcwogICAgICR7V0VCQ09SRV9ESVJ9L01vZHVs
ZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVneS5qcwogICAgICR7V0VCQ09SRV9ESVJ9L01v
ZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKaW5kZXggYTJlY2RlMzk0M2Q2NjQzMzczMTQyZDc3OGU0ODBmYWM5ZmVmOTMyNy4uM2M1Zjg1
ZmI4ODIzNzc3ZTM2YzUxYWE1ZGU2ODUxMDM4MzYzNDYyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlCkBAIC0xMjU1LDYgKzEyNTUsNyBAQCBXZWJSZXBsYXlJbnB1dHMuaCA6ICQoSU5Q
VVRfR0VORVJBVE9SX1NQRUNJRklDQVRJT05TKSAkKElOUFVUX0dFTkVSQVRPUl9TQ1JJUFRTKQog
IyBXZWJDb3JlIEpTIEJ1aWx0aW5zCiAKIFdFQkNPUkVfSlNfQlVJTFRJTlMgPSBcCisgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5qcyBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL3N0cmVhbXMvQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneS5qcyBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRlZ3kuanMgXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmpzIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5oCmluZGV4IDU1
ODA2M2NmM2E1OWE5MDNjM2IxNTU2OGY0OWFjYzc2YzQ2NDZkNWUuLmNhMDU2NmYxYzdlMTJkOGQ1
Y2VhMzE1NDhhZTFiNGQ1NjU2MzczOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuaApAQCAtNjMsNiArNjMsOCBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBnZXRVc2VyTWVkaWEoY29uc3QgRGljdGlvbmFyeSYsIFByb21pc2UmJiwgRXhjZXB0
aW9uQ29kZSYpIGNvbnN0OwogICAgIHZvaWQgZW51bWVyYXRlRGV2aWNlcyhFbnVtZXJhdGVEZXZp
Y2VzUHJvbWlzZSYmLCBFeGNlcHRpb25Db2RlJikgY29uc3Q7CiAKKyAgICB2b2lkIGdldFVzZXJN
ZWRpYUZyb21KUyhjb25zdCBEaWN0aW9uYXJ5JiBkaWN0aW9uYXJ5LCBQcm9taXNlJiYgcHJvbWlz
ZSwgRXhjZXB0aW9uQ29kZSYgZWMpIGNvbnN0IHsgZ2V0VXNlck1lZGlhKGRpY3Rpb25hcnksIFdU
Rjo6bW92ZShwcm9taXNlKSwgZWMpOyB9CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgTWVkaWFE
ZXZpY2VzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhRGV2aWNlcy5pZGwKaW5kZXggNmI4NDQzNGU2
YjM1OGU2M2IzNWUzZTRmODk4YTc1MmFhNWM4N2I3MC4uNjg1Nzg2MmQxNTIzMTE5MjBiZjhmNGI5
MWUzNDQwNzc5YWZiM2M4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYURldmljZXMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFEZXZpY2VzLmlkbApAQCAtMzIsNiArMzIsOCBAQAogICAgIE5vSW50ZXJm
YWNlT2JqZWN0LAogICAgIENvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQogXSBpbnRlcmZhY2UgTWVk
aWFEZXZpY2VzIHsKLSAgICBbUmFpc2VzRXhjZXB0aW9uXSBQcm9taXNlIGdldFVzZXJNZWRpYShE
aWN0aW9uYXJ5IG9wdGlvbnMpOworICAgIFtKU0J1aWx0aW5dIFByb21pc2UgZ2V0VXNlck1lZGlh
KERpY3Rpb25hcnkgb3B0aW9ucyk7CiAgICAgW1JhaXNlc0V4Y2VwdGlvbl0gUHJvbWlzZSBlbnVt
ZXJhdGVEZXZpY2VzKCk7CisKKyAgICBbUHJpdmF0ZSwgUmFpc2VzRXhjZXB0aW9uXSBQcm9taXNl
IGdldFVzZXJNZWRpYUZyb21KUyhEaWN0aW9uYXJ5IG9wdGlvbnMpOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmpzIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYURldmljZXMuanMKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZWFiMmM5M2QxMGZlZTNhYzgwNzY5MTllMzJjZWEyODIyNDBmOTVmMwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFEZXZpY2VzLmpz
CkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQ2Fub24gSW5jLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkLCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIHJlcXVpcmVkIHRvIGJlIG1l
dDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1l
IG9mIENhbm9uIEluYy4gbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAg
ICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBDQU5PTiBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAor
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQ0FOT04g
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCisgKiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
CisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUgorICogU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKyAqIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksCisgKiBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisvLyBAb3B0aW9uYWw9TUVESUFfU1RSRUFNCisKK2Z1bmN0aW9uIGdldFVzZXJNZWRpYShv
cHRpb25zKQoreworICAgIGlmICghdGhpcy5AZ2V0VXNlck1lZGlhRnJvbUpTKQorICAgICAgICB0
aHJvdyBuZXcgQFR5cGVFcnJvcigiRnVuY3Rpb24gc2hvdWxkIGJlIGNhbGxlZCBvbiBhIE1lZGlh
RGV2aWNlcyIpOworICAgIHJldHVybiB0aGlzLkBnZXRVc2VyTWVkaWFGcm9tSlMuQGFwcGx5KHRo
aXMsIGFyZ3VtZW50cyk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJD
b3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggMGViMDVhYWM3ZWQ5ZDRlNDZhYTczOThmMDA3MjBhMTkx
ZmU1M2RjMS4uYmU3MjZjMWNjMWIwN2Y4ZDQ3ZWZmYWJiMDE2MzJiNGVjMjBhYzJmZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAt
MzgsMTcgKzM4LDE4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhjbG9zZWRQcm9t
aXNlUmVqZWN0KSBcCiAgICAgbWFjcm8oY29udHJvbGxlZFJlYWRhYmxlU3RyZWFtKSBcCiAgICAg
bWFjcm8oY29udHJvbGxlcikgXAorICAgIG1hY3JvKGdldFVzZXJNZWRpYUZyb21KUykgXAogICAg
IG1hY3JvKGhpZ2hXYXRlck1hcmspIFwKICAgICBtYWNybyhvd25lclJlYWRhYmxlU3RyZWFtKSBc
Ci0gICAgbWFjcm8ocHVsbEFnYWluKSBcCiAgICAgbWFjcm8ocHVsbGluZykgXAorICAgIG1hY3Jv
KHB1bGxBZ2FpbikgXAogICAgIG1hY3JvKHF1ZXVlKSBcCiAgICAgbWFjcm8ocXVldWVTaXplKSBc
CiAgICAgbWFjcm8ocmVhZGFibGVTdHJlYW1DbG9zZWQpIFwKICAgICBtYWNybyhyZWFkYWJsZVN0
cmVhbUVycm9yZWQpIFwKICAgICBtYWNybyhyZWFkYWJsZVN0cmVhbVJlYWRhYmxlKSBcCi0gICAg
bWFjcm8ocmVhZFJlcXVlc3RzKSBcCiAgICAgbWFjcm8ocmVhZGVyKSBcCisgICAgbWFjcm8ocmVh
ZFJlcXVlc3RzKSBcCiAgICAgbWFjcm8oc3RhdGUpIFwKICAgICBtYWNybyhzdGFydGVkKSBcCiAg
ICAgbWFjcm8oc3RvcmVkRXJyb3IpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dlYkNvcmVKU0J1aWx0aW5zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVKU0J1aWx0aW5zLmNwcAppbmRleCA3MzgwMGM3ZDg2YTM0M2UyM2YwMjM4MDBiNjEy
ZjcxMzVjOGRlMmRhLi40MWZlNmU0MmQ1ZDA3ZTE2ZTcyN2ZkMzkwNjIwZWE2ZTBhZWZhMDhkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNCdWlsdGlucy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQnVpbHRpbnMuY3Bw
CkBAIC0yNiw2ICsyNiwxMCBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKKyNpZiBFTkFCTEUo
TUVESUFfU1RSRUFNKQorI2luY2x1ZGUgIk1lZGlhRGV2aWNlc0J1aWx0aW5zLmNwcCIKKyNlbmRp
ZgorCiAjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQogI2luY2x1ZGUgIkJ5dGVMZW5ndGhRdWV1aW5n
U3RyYXRlZ3lCdWlsdGlucy5jcHAiCiAjaW5jbHVkZSAiQ291bnRRdWV1aW5nU3RyYXRlZ3lCdWls
dGlucy5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3Jl
SlNCdWlsdGlucy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQnVpbHRp
bnMuaAppbmRleCA3NjJjYWZkMDE5YjU0Y2ZiNDRmYmRjNDg5YjMxY2MyNTlmNDk3ZDQzLi40ZDE0
MWZmMDJhM2U2MDJiZGJhYTU0YjlkNzIyYjdkMDE4MmU0Y2I0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNCdWlsdGlucy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0J1aWx0aW5zLmgKQEAgLTI3LDYgKzI3LDEwIEBACiAj
aWZuZGVmIFdlYkNvcmVKU0J1aWx0aW5zX2gKICNkZWZpbmUgV2ViQ29yZUpTQnVpbHRpbnNfaAog
CisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyNpbmNsdWRlICJNZWRpYURldmljZXNCdWlsdGlu
c1dyYXBwZXIuaCIKKyNlbmRpZgorCiAjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQogI2luY2x1ZGUg
IkJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGluc1dyYXBwZXIuaCIKICNpbmNsdWRlICJD
b3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlci5oIgpAQCAtMzcsNyArNDEsNiBAQAog
I2luY2x1ZGUgIldyaXRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyLmgiCiAjZW5kaWYKIAotCiAj
aW5jbHVkZSA8cnVudGltZS9WTS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01NSw2ICs1
OCw5IEBAIHB1YmxpYzoKICAgICAgICAgLCBtX3JlYWRhYmxlU3RyZWFtUmVhZGVyQnVpbHRpbnMo
JnZtKQogICAgICAgICAsIG1fd3JpdGFibGVTdHJlYW1CdWlsdGlucygmdm0pCiAjZW5kaWYKKyNp
ZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgICAgICAsIG1fbWVkaWFEZXZpY2VzQnVpbHRpbnMo
JnZtKQorI2VuZGlmCiAgICAgewogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKICAgICAgICAgbV9y
ZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmV4cG9ydE5hbWVzKCk7CkBAIC02OSw2ICs3
NSw5IEBAIHB1YmxpYzoKICAgICBSZWFkYWJsZVN0cmVhbVJlYWRlckJ1aWx0aW5zV3JhcHBlciYg
cmVhZGFibGVTdHJlYW1SZWFkZXJCdWlsdGlucygpIHsgcmV0dXJuIG1fcmVhZGFibGVTdHJlYW1S
ZWFkZXJCdWlsdGluczsgfQogICAgIFdyaXRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyJiB3cml0
YWJsZVN0cmVhbUJ1aWx0aW5zKCkgeyByZXR1cm4gbV93cml0YWJsZVN0cmVhbUJ1aWx0aW5zOyB9
CiAjZW5kaWYKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorICAgIE1lZGlhRGV2aWNlc0J1aWx0
aW5zV3JhcHBlciYgbWVkaWFEZXZpY2VzQnVpbHRpbnMoKSB7IHJldHVybiBtX21lZGlhRGV2aWNl
c0J1aWx0aW5zOyB9CisjZW5kaWYKIAogcHJpdmF0ZToKICAgICBKU0M6OlZNJiB2bTsKQEAgLTgx
LDYgKzkwLDkgQEAgcHJpdmF0ZToKICAgICBSZWFkYWJsZVN0cmVhbVJlYWRlckJ1aWx0aW5zV3Jh
cHBlciBtX3JlYWRhYmxlU3RyZWFtUmVhZGVyQnVpbHRpbnM7CiAgICAgV3JpdGFibGVTdHJlYW1C
dWlsdGluc1dyYXBwZXIgbV93cml0YWJsZVN0cmVhbUJ1aWx0aW5zOwogI2VuZGlmCisjaWYgRU5B
QkxFKE1FRElBX1NUUkVBTSkKKyAgICBNZWRpYURldmljZXNCdWlsdGluc1dyYXBwZXIgbV9tZWRp
YURldmljZXNCdWlsdGluczsKKyNlbmRpZgogCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbQppbmRleCAyNmE2
NzM5ODk2ZjUzZTdiNzY0ZGMwNmM5MmEyZjgyNDUxY2E5ODFjLi5hM2ExMzczZTc4ZjA3YmNlYmNl
OGQ0OGJjYWEwY2Q2YTYwMmVjZmFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG0KQEAgLTM2OSwxNyArMzY5LDEz
IEBAIHN1YiBTa2lwRnVuY3Rpb24gewogICAgICAgICByZXR1cm4gMTsKICAgICB9CiAKLSAgICBp
ZiAoJGZ1bmN0aW9uLT5zaWduYXR1cmUtPnR5cGUgZXEgIlByb21pc2UiKSB7Ci0gICAgICAgIHJl
dHVybiAxOwotICAgIH0KKyAgICByZXR1cm4gMSBpZiAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+dHlw
ZSBlcSAiUHJvbWlzZSI7CiAKLSAgICBpZiAoJGZ1bmN0aW9uLT5zaWduYXR1cmUtPnR5cGUgZXEg
IkRhdGUiKSB7Ci0gICAgICAgIHJldHVybiAxOwotICAgIH0KKyAgICByZXR1cm4gMSBpZiAkZnVu
Y3Rpb24tPnNpZ25hdHVyZS0+dHlwZSBlcSAiRGF0ZSI7CiAKLSAgICBpZiAoJGZ1bmN0aW9uLT5z
aWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0J1aWx0aW4ifSkgewotICAgICAgICBy
ZXR1cm4gMTsKLSAgICB9CisgICAgcmV0dXJuIDEgaWYgJGZ1bmN0aW9uLT5zaWduYXR1cmUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJKU0J1aWx0aW4ifTsKKworICAgIHJldHVybiAxIGlmICRmdW5j
dGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUHJpdmF0ZSJ9OwogCiAgICAg
cmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtCmluZGV4IDk1ZjJjZTBjZTg5MTgwZjlhM2U3NzlmZDc3N2YzZmE2ZjY3
NmQxNGYuLjQ2YWEzODAzZTBiZWYzNWY3MzQ5ZWZjNTk5ZTU5ZjhmY2RmYjkzYWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBA
IC0yMDE4LDYgKzIwMTgsNyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgIG15IEBy
dW50aW1lRW5hYmxlZEZ1bmN0aW9ucyA9ICgpOwogCiAgICAgZm9yZWFjaCBteSAkZnVuY3Rpb24g
KEB7JGludGVyZmFjZS0+ZnVuY3Rpb25zfSkgeworICAgICAgICBuZXh0IGlmICgkZnVuY3Rpb24t
PnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlByaXZhdGUifSk7CiAgICAgICAgIG5l
eHQgaWYgKCRmdW5jdGlvbi0+aXNTdGF0aWMpOwogICAgICAgICBuZXh0IGlmICRmdW5jdGlvbi0+
e292ZXJsb2FkSW5kZXh9ICYmICRmdW5jdGlvbi0+e292ZXJsb2FkSW5kZXh9ID4gMTsKICAgICAg
ICAgbXkgJG5hbWUgPSAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+bmFtZTsKQEAgLTIwOTIsNiArMjA5
MywxNiBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgIH1cbiIpOwogICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250
ZW50LCAiI2VuZGlmXG4iKSBpZiAkY29uZGl0aW9uYWxTdHJpbmc7CiAgICAgICAgICAgICB9CisK
KyAgICAgICAgICAgIG15ICRmaXJzdFByaXZhdGVGdW5jdGlvbiA9IDE7CisgICAgICAgICAgICBm
b3JlYWNoIG15ICRmdW5jdGlvbiAoQHskaW50ZXJmYWNlLT5mdW5jdGlvbnN9KSB7CisgICAgICAg
ICAgICAgICAgbmV4dCB1bmxlc3MgKCRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiUHJpdmF0ZSJ9KTsKKyAgICAgICAgICAgICAgICBBZGRUb0ltcGxJbmNsdWRlcygi
V2ViQ29yZUpTQ2xpZW50RGF0YS5oIik7CisgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRl
bnQsICIgICAgSlNWTUNsaWVudERhdGEmIGNsaWVudERhdGEgPSAqc3RhdGljX2Nhc3Q8SlNWTUNs
aWVudERhdGEqPih2bS5jbGllbnREYXRhKTtcbiIpIGlmICRmaXJzdFByaXZhdGVGdW5jdGlvbjsK
KyAgICAgICAgICAgICAgICAkZmlyc3RQcml2YXRlRnVuY3Rpb24gPSAwOworICAgICAgICAgICAg
ICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHB1dERpcmVjdCh2bSwgY2xpZW50RGF0YS5idWls
dGluTmFtZXMoKS4iIC4gJGZ1bmN0aW9uLT5zaWduYXR1cmUtPm5hbWUgLiAiUHJpdmF0ZU5hbWUo
KSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QoKSwgMCwgU3RyaW5nKCksICIg
LiBHZXRGdW5jdGlvbk5hbWUoJGNsYXNzTmFtZSwgJGZ1bmN0aW9uKSAuICIpLCBSZWFkT25seSB8
IERvbnRFbnVtKTtcbiIpOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIn1cblxuIik7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgInZvaWQgJHtjbGFzc05hbWV9UHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihW
TSYgdm0pXG4iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvck9iakMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JPYmpDLnBtCmluZGV4IDYzNWQxMzMzMzY5YTkzMGU0ZTFlZTA4NmU3NTY2YWUx
ODkyYTNkOGUuLjhkOGJiMTBmN2M1N2FlN2RhZTRjYzE0ZThmODFkZGJkZmE5ODI0Y2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMu
cG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2Jq
Qy5wbQpAQCAtNTQ3LDYgKzU0Nyw4IEBAIHN1YiBTa2lwRnVuY3Rpb24KICAgICAgICAgcmV0dXJu
IDEgaWYgJHBhcmFtLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2xhbXAifTsKICAgICB9CiAKKyAg
ICByZXR1cm4gMSBpZiAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IlByaXZhdGUifTsKKwogICAgIHJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0IGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9JRExBdHRyaWJ1dGVzLnR4dAppbmRleCBkZDEwMjczYTU3MzA2NTlm
ZDk1NjRhZGVhY2M1NzkzYThhNzYwZTM2Li40Nzk1YjEwZTVhMzQ1ZDZhZjJkMjFkZTQzZTM1YTU2
ZjI4YzMyYTc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lE
TEF0dHJpYnV0ZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvSURM
QXR0cmlidXRlcy50eHQKQEAgLTEwMyw2ICsxMDMsNyBAQCBPYmpDUHJvdG9jb2wKIE9iakNVc2VE
ZWZhdWx0VmlldwogT3ZlcnJpZGVCdWlsdGlucwogUGFzc0NvbnRleHQKK1ByaXZhdGUKIFB1dEZv
cndhcmRzPSoKIFJhaXNlc0V4Y2VwdGlvbgogUmVmbGVjdD0qCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4IDQwOTky
MzdkMWE2YjMxZGUzYjBiYjVmNzM5OWQyYmUxMGJmOWM2MTkuLmZjN2FhZDNhMjQ2ZDExNzE4Yjgy
NGQ1NDhiYTM1MTdmMmRlODAwYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC01Myw2ICs1Myw3IEBACiAjaW5j
bHVkZSAiVGVzdE5vZGUuaCIKICNpbmNsdWRlICJUZXN0T2JqLmgiCiAjaW5jbHVkZSAiVVJMLmgi
CisjaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgogI2luY2x1ZGUgImJvb2wuaCIKICNp
bmNsdWRlIDxiaW5kaW5ncy9TY3JpcHRWYWx1ZS5oPgogI2luY2x1ZGUgPGluc3BlY3Rvci9TY3Jp
cHRBcmd1bWVudHMuaD4KQEAgLTEwNCw2ICsxMDUsNyBAQCBKU0M6OkVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25PcHRpb25zT2JqZWN0KEpTQzo6
RQogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1
bmN0aW9uTWV0aG9kV2l0aEV4Y2VwdGlvbihKU0M6OkV4ZWNTdGF0ZSopOwogSlNDOjpFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQ3VzdG9tTWV0
aG9kKEpTQzo6RXhlY1N0YXRlKik7CiBKU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
anNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25DdXN0b21NZXRob2RXaXRoQXJncyhKU0M6OkV4ZWNT
dGF0ZSopOworSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3Rv
dHlwZUZ1bmN0aW9uUHJpdmF0ZU1ldGhvZChKU0M6OkV4ZWNTdGF0ZSopOwogSlNDOjpFbmNvZGVk
SlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uQWRkRXZlbnRM
aXN0ZW5lcihKU0M6OkV4ZWNTdGF0ZSopOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9uUmVtb3ZlRXZlbnRMaXN0ZW5lcihKU0M6OkV4
ZWNTdGF0ZSopOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialBy
b3RvdHlwZUZ1bmN0aW9uV2l0aFNjcmlwdFN0YXRlVm9pZChKU0M6OkV4ZWNTdGF0ZSopOwpAQCAt
Njg3LDYgKzY4OSw4IEBAIHZvaWQgSlNUZXN0T2JqUHJvdG90eXBlOjpmaW5pc2hDcmVhdGlvbihW
TSYgdm0pCiB7CiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgIHJlaWZ5U3RhdGlj
UHJvcGVydGllcyh2bSwgSlNUZXN0T2JqUHJvdG90eXBlVGFibGVWYWx1ZXMsICp0aGlzKTsKKyAg
ICBKU1ZNQ2xpZW50RGF0YSYgY2xpZW50RGF0YSA9ICpzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0
YSo+KHZtLmNsaWVudERhdGEpOworICAgIHB1dERpcmVjdCh2bSwgY2xpZW50RGF0YS5idWlsdGlu
TmFtZXMoKS5wcml2YXRlTWV0aG9kUHJpdmF0ZU5hbWUoKSwgSlNGdW5jdGlvbjo6Y3JlYXRlKHZt
LCBnbG9iYWxPYmplY3QoKSwgMCwgU3RyaW5nKCksIGpzVGVzdE9ialByb3RvdHlwZUZ1bmN0aW9u
UHJpdmF0ZU1ldGhvZCksIFJlYWRPbmx5IHwgRG9udEVudW0pOwogfQogCiBjb25zdCBDbGFzc0lu
Zm8gSlNUZXN0T2JqOjpzX2luZm8gPSB7ICJUZXN0T2JqZWN0IiwgJkJhc2U6OnNfaW5mbywgJkpT
VGVzdE9ialRhYmxlLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdE9iaikgfTsKQEAgLTM0ODQs
NiArMzQ4OCwyMyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGpzVGVzdE9ialByb3Rv
dHlwZUZ1bmN0aW9uQ3VzdG9tTWV0aG9kV2l0aEFyZ3MoRXhlYwogICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoY2FzdGVkVGhpcy0+Y3VzdG9tTWV0aG9kV2l0aEFyZ3MoKnN0YXRlKSk7CiB9CiAK
K0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJvdG90eXBlRnVuY3Rpb25Q
cml2YXRlTWV0aG9kKEV4ZWNTdGF0ZSogc3RhdGUpCit7CisgICAgSlNWYWx1ZSB0aGlzVmFsdWUg
PSBzdGF0ZS0+dGhpc1ZhbHVlKCk7CisgICAgSlNUZXN0T2JqKiBjYXN0ZWRUaGlzID0ganNEeW5h
bWljQ2FzdDxKU1Rlc3RPYmoqPih0aGlzVmFsdWUpOworICAgIGlmIChVTkxJS0VMWSghY2FzdGVk
VGhpcykpCisgICAgICAgIHJldHVybiB0aHJvd1RoaXNUeXBlRXJyb3IoKnN0YXRlLCAiVGVzdE9i
aiIsICJwcml2YXRlTWV0aG9kIik7CisgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyhjYXN0
ZWRUaGlzLCBKU1Rlc3RPYmo6OmluZm8oKSk7CisgICAgYXV0byYgaW1wbCA9IGNhc3RlZFRoaXMt
PmltcGwoKTsKKyAgICBpZiAoVU5MSUtFTFkoc3RhdGUtPmFyZ3VtZW50Q291bnQoKSA8IDEpKQor
ICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKHN0YXRlLCBjcmVhdGVOb3RFbm91Z2hBcmd1bWVu
dHNFcnJvcihzdGF0ZSkpOworICAgIFN0cmluZyBhcmd1bWVudCA9IHN0YXRlLT5hcmd1bWVudCgw
KS50b1N0cmluZyhzdGF0ZSktPnZhbHVlKHN0YXRlKTsKKyAgICBpZiAoVU5MSUtFTFkoc3RhdGUt
PmhhZEV4Y2VwdGlvbigpKSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVm
aW5lZCgpKTsKKyAgICBKU1ZhbHVlIHJlc3VsdCA9IGpzU3RyaW5nV2l0aENhY2hlKHN0YXRlLCBp
bXBsLnByaXZhdGVNZXRob2QoYXJndW1lbnQpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KHJlc3VsdCk7Cit9CisKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0T2JqUHJv
dG90eXBlRnVuY3Rpb25BZGRFdmVudExpc3RlbmVyKEV4ZWNTdGF0ZSogc3RhdGUpCiB7CiAgICAg
SlNWYWx1ZSB0aGlzVmFsdWUgPSBzdGF0ZS0+dGhpc1ZhbHVlKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKaW5kZXggMzVkNDYxZmM0OWJj
MmZiNzE3MjczYTIyYWExZjg4MmQ5Y2JlOGNkNC4uMzQyZDY4NTg1ZDIwZmZlODczNDA3ZmM0NTE0
NTRlYmI5NTE5OWUxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Rlc3RPYmouaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9UZXN0T2JqLmlkbApAQCAtMTIzLDYgKzEyMyw5IEBAIGVudW0gX29wdGlvbmFsIHsgIiIs
ICJPcHRpb25hbFZhbHVlMSIsICJPcHRpb25hbFZhbHVlMiIsICJPcHRpb25hbFZhbHVlMyIgfTsK
ICAgICBbQ29uZGl0aW9uYWw9Q29uZGl0aW9uNCwgSlNCdWlsdGluXSBhdHRyaWJ1dGUgVGVzdE9i
aiBqc0J1aWx0aW5BdHRyaWJ1dGU7CiAgICAgW0NvbmRpdGlvbmFsPUNvbmRpdGlvbjQsIEpTQnVp
bHRpbl0gcmVhZG9ubHkgYXR0cmlidXRlIFRlc3RPYmoganNCdWlsdGluUmVhZE9ubHlBdHRyaWJ1
dGU7CiAKKyAgICAvLyBQcml2YXRlIGV4dGVuZGVkIGF0dHJpYnV0ZQorICAgIFtQcml2YXRlXSBE
T01TdHJpbmcgcHJpdmF0ZU1ldGhvZChET01TdHJpbmcgYXJndW1lbnQpOworCiAgICAgdm9pZCBh
ZGRFdmVudExpc3RlbmVyKERPTVN0cmluZyB0eXBlLCBFdmVudExpc3RlbmVyIGxpc3RlbmVyLCBv
cHRpb25hbCBib29sZWFuIHVzZUNhcHR1cmUpOwogICAgIHZvaWQgcmVtb3ZlRXZlbnRMaXN0ZW5l
cihET01TdHJpbmcgdHlwZSwgRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciwgb3B0aW9uYWwgYm9vbGVh
biB1c2VDYXB0dXJlKTsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uZm9vOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>