<?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>156847</bug_id>
          
          <creation_ts>2016-04-21 06:14:16 -0700</creation_ts>
          <short_desc>[GTK][EFL] Move non-glib/gtk platform implementations out of platform/gtk</short_desc>
          <delta_ts>2020-10-21 02:34:18 -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>
          
          <blocked>157027</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Claudio Saavedra">csaavedra</reporter>
          <assigned_to name="Claudio Saavedra">csaavedra</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1185757</commentid>
    <comment_count>0</comment_count>
    <who name="Claudio Saavedra">csaavedra</who>
    <bug_when>2016-04-21 06:14:16 -0700</bug_when>
    <thetext>[GTK] Move non-glib/gtk platform implementations out of platform/gtk</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185758</commentid>
    <comment_count>1</comment_count>
      <attachid>276916</attachid>
    <who name="Claudio Saavedra">csaavedra</who>
    <bug_when>2016-04-21 06:16:45 -0700</bug_when>
    <thetext>Created attachment 276916
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185759</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-21 06:18:56 -0700</bug_when>
    <thetext>Attachment 276916 did not pass style-queue:


ERROR: Source/WebCore/platform/unix/LanguageUnix.cpp:25:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 4 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>1185763</commentid>
    <comment_count>3</comment_count>
      <attachid>276916</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-04-21 06:33:43 -0700</bug_when>
    <thetext>Comment on attachment 276916
Patch

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

&gt; Source/WebCore/PlatformGTK.cmake:187
&gt; +
&gt; +    platform/unix/LanguageUnix.cpp
&gt; +    platform/unix/LoggingUnix.cpp

You should do the same for EFL, since the implementation is now the same, no?

&gt; Source/WebCore/platform/unix/LanguageUnix.cpp:25
&gt; +

Remove this empty line here.

&gt; Source/WebCore/platform/unix/LanguageUnix.cpp:49
&gt; +    Vector&lt;String&gt; userPreferredLanguages;
&gt; +    userPreferredLanguages.append(platformLanguage());
&gt; +    return userPreferredLanguages;

This could just be return { platformLanguage() }; I think

&gt; Source/WebCore/platform/unix/LoggingUnix.cpp:46
&gt; +    String logLevel = &quot;NotYetImplemented,&quot;;
&gt; +    logLevel.append(logEnv);
&gt; +    return logLevel;

And this could probably be return String(&quot;NotYetImplemented,&quot;) + logEnv</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185772</commentid>
    <comment_count>4</comment_count>
      <attachid>276922</attachid>
    <who name="Claudio Saavedra">csaavedra</who>
    <bug_when>2016-04-21 07:14:32 -0700</bug_when>
    <thetext>Created attachment 276922
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185788</commentid>
    <comment_count>5</comment_count>
      <attachid>276922</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-21 08:11:54 -0700</bug_when>
    <thetext>Comment on attachment 276922
Patch for landing

Clearing flags on attachment: 276922

Committed r199815: &lt;http://trac.webkit.org/changeset/199815&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1185789</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-21 08:11:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1700118</commentid>
    <comment_count>7</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2020-10-21 02:34:18 -0700</bug_when>
    <thetext>*** Bug 116460 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276916</attachid>
            <date>2016-04-21 06:16:45 -0700</date>
            <delta_ts>2016-04-21 07:14:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156847-20160421161706.patch</filename>
            <type>text/plain</type>
            <size>10689</size>
            <attacher name="Claudio Saavedra">csaavedra</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5ODEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDMwNWM2ZjY4ZGEzMDhk
ZDJkZjk0OWMyYzg3NWQ0OTY3YmNkNzgyYS4uY2Y0MmVjOGVlN2FlMDdhNzJjNTBhOGU1NTFjZDJh
NjdhMjhiN2U0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE2LTA0LTIxICBDbGF1
ZGlvIFNhYXZlZHJhICA8Y3NhYXZlZHJhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS10gTW92
ZSBub24tZ2xpYi9ndGsgcGxhdGZvcm0gaW1wbGVtZW50YXRpb25zIG91dCBvZiBwbGF0Zm9ybS9n
dGsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1Njg0
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBM
YW5ndWFnZSBhbmQgTG9nZ2luZyBpbXBsZW1lbnRhdGlvbiBkb24ndCByZWFsbHkgbmVlZCBnbGli
LCBzbworICAgICAgICByZXdvcmsgdGhlbSBhbmQgbW92ZSB0aGVtIHRvIGEgbmV3IHBsYXRmb3Jt
L3VuaXggZGlyZWN0b3J5IHNvIHRoYXQKKyAgICAgICAgdGhleSBjYW4gYmUgcmV1c2VkIGJ5IG90
aGVyIHVuaXggcG9ydHMgaWYgbmVlZGVkLgorCisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6
IERvIHRoZSBtb3ZlLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9MYW5ndWFnZUd0ay5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpwbGF0Zm9ybUxhbmd1YWdlKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OnBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlcyk6IERlbGV0ZWQuCisgICAgICAg
ICogcGxhdGZvcm0vZ3RrL0xvZ2dpbmdHdGsuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bG9nTGV2
ZWxTdHJpbmcpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL3VuaXgvTGFuZ3VhZ2VVbml4
LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9MYW5ndWFnZUd0
ay5jcHAuCisgICAgICAgIChXZWJDb3JlOjpwbGF0Zm9ybUxhbmd1YWdlKToKKyAgICAgICAgKFdl
YkNvcmU6OnBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlcyk6CisgICAgICAgICogcGxhdGZv
cm0vdW5peC9Mb2dnaW5nVW5peC5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ndGsvTG9nZ2luZ0d0ay5jcHAuCisgICAgICAgIChXZWJDb3JlOjpsb2dMZXZlbFN0cmlu
Zyk6CisKIDIwMTYtMDQtMjEgIE5hbiBXYW5nICA8bl93YW5nQGFwcGxlLmNvbT4KIAogICAgICAg
ICBBWDogc3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlIHJldHVybmluZyBlbXB0eSBzdHJpbmcgZm9y
IGRvY3VtZW50IHJhbmdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5j
bWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IGRlZjI2ZWJjNzA3
MTJiNTU1M2YyMTQ0ZGVhZGEzZGJjNjBhZjgyNDYuLjQxNzc0NDZhYWFhMGFjOGIzZDcxOWI2OGY5
M2M2MmU5ODk4YjBmOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNt
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0xNDEsOCArMTQx
LDYgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3Mv
eDExL1hVbmlxdWVSZXNvdXJjZS5jcHAKIAogICAgIHBsYXRmb3JtL2d0ay9FcnJvcnNHdGsuY3Bw
Ci0gICAgcGxhdGZvcm0vZ3RrL0xhbmd1YWdlR3RrLmNwcAotICAgIHBsYXRmb3JtL2d0ay9Mb2dn
aW5nR3RrLmNwcAogICAgIHBsYXRmb3JtL2d0ay9NSU1FVHlwZVJlZ2lzdHJ5R3RrLmNwcAogICAg
IHBsYXRmb3JtL2d0ay9TY3JvbGxBbmltYXRvckd0ay5jcHAKICAgICBwbGF0Zm9ybS9ndGsvVGVt
cG9yYXJ5TGlua1N0dWJzLmNwcApAQCAtMTg0LDYgKzE4Miw5IEBAIGxpc3QoQVBQRU5EIFdlYkNv
cmVfU09VUkNFUwogICAgIHBsYXRmb3JtL3RleHQvZ3RrL1RleHRCcmVha0l0ZXJhdG9ySW50ZXJu
YWxJQ1VHdGsuY3BwCiAKICAgICBwbGF0Zm9ybS90ZXh0L2h5cGhlbi9IeXBoZW5hdGlvbkxpYkh5
cGhlbi5jcHAKKworICAgIHBsYXRmb3JtL3VuaXgvTGFuZ3VhZ2VVbml4LmNwcAorICAgIHBsYXRm
b3JtL3VuaXgvTG9nZ2luZ1VuaXguY3BwCiApCiAKIGxpc3QoQVBQRU5EIFdlYkNvcmVQbGF0Zm9y
bUdUS19TT1VSQ0VTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTGFu
Z3VhZ2VHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xhbmd1YWdlR3RrLmNw
cApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTE1YzgyZDk2MWNiODc0N2VkNjNhZDA2
MzgwNDRmODczYmY1MmVhYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTGFuZ3VhZ2VHdGsuY3BwCisrKyAv
ZGV2L251bGwKQEAgLTEsNjQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNyBBbHAg
VG9rZXIgPGFscEBhdG9rZXIuY29tPgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5H
LkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAy
MTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTGFu
Z3VhZ2UuaCIKLQotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpbmNsdWRlIDx3dGYvZ2xpYi9H
VW5pcXVlUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgotI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgotCi0jaW5jbHVkZSA8Z2xpYi5oPgotI2luY2x1ZGUgPGxvY2Fs
ZS5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLS8vIFVzaW5nIHBhbmdvX2xhbmd1YWdlX2dl
dF9kZWZhdWx0KCkgaGVyZSBpcyBub3QgYW4gb3B0aW9uLCBiZWNhdXNlCi0vLyBpdCBkb2Vzbid0
IHN1cHBvcnQgY2hhbmdpbmcgdGhlIGxvY2FsZSBpbiBydW50aW1lLCBzbyBpdCByZXR1cm5zCi0v
LyBhbHdheXMgdGhlIHNhbWUgdmFsdWUuCi1zdGF0aWMgU3RyaW5nIHBsYXRmb3JtTGFuZ3VhZ2Uo
KQotewotICAgIGNoYXIqIGxvY2FsZURlZmF1bHQgPSBzZXRsb2NhbGUoTENfQ1RZUEUsIE5VTEwp
OwotCi0gICAgaWYgKCFsb2NhbGVEZWZhdWx0KQotICAgICAgICByZXR1cm4gU3RyaW5nKCJjIik7
Ci0KLSAgICBHVW5pcXVlUHRyPGdjaGFyPiBub3JtYWxpemVkRGVmYXVsdChnX2FzY2lpX3N0cmRv
d24obG9jYWxlRGVmYXVsdCwgLTEpKTsKLSAgICBjaGFyKiBwdHIgPSBzdHJjaHIobm9ybWFsaXpl
ZERlZmF1bHQuZ2V0KCksICdfJyk7Ci0KLSAgICBpZiAocHRyKQotICAgICAgICAqcHRyID0gJy0n
OwotCi0gICAgcHRyID0gc3RyY2hyKG5vcm1hbGl6ZWREZWZhdWx0LmdldCgpLCAnLicpOwotCi0g
ICAgaWYgKHB0cikKLSAgICAgICAgKnB0ciA9ICdcMCc7Ci0KLSAgICByZXR1cm4gU3RyaW5nKG5v
cm1hbGl6ZWREZWZhdWx0LmdldCgpKTsKLX0KLQotVmVjdG9yPFN0cmluZz4gcGxhdGZvcm1Vc2Vy
UHJlZmVycmVkTGFuZ3VhZ2VzKCkKLXsKLSAgICBWZWN0b3I8U3RyaW5nPiB1c2VyUHJlZmVycmVk
TGFuZ3VhZ2VzOwotICAgIHVzZXJQcmVmZXJyZWRMYW5ndWFnZXMuYXBwZW5kKHBsYXRmb3JtTGFu
Z3VhZ2UoKSk7Ci0gICAgcmV0dXJuIHVzZXJQcmVmZXJyZWRMYW5ndWFnZXM7Ci19Ci0gICAgCi19
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9nZ2luZ0d0ay5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9nZ2luZ0d0ay5jcHAKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGE4NDUwYmI2MDc5NWFjMDBlYTQ5MjhjODVhNzA4MDNmNTA2NTc5
OTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xvZ2dpbmdHdGsuY3BwCisrKyAvZGV2L251bGwKQEAgLTEs
NTIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNyBBbHAgVG9rZXIgPGFscEBhdG9r
ZXIuY29tPgotICogQ29weXJpZ2h0IChDKSAyMDA5IEd1c3Rhdm8gTm9yb25oYSBTaWx2YSA8Z25z
QGdub21lLm9yZz4KLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAq
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJMb2dnaW5nLmgiCi0KLSNp
ZiAhTE9HX0RJU0FCTEVECi0KLSNpbmNsdWRlIDxnbGliLmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+
Ci0jaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotU3RyaW5nIGxvZ0xldmVsU3RyaW5nKCkKLXsKLSAgICBjaGFyKiBsb2dFbnYgPSBnZXRlbnYo
IldFQktJVF9ERUJVRyIpOwotICAgIGlmICghbG9nRW52KQotICAgICAgICByZXR1cm4gZW1wdHlT
dHJpbmcoKTsKLQotICAgIC8vIFdlIHNldCB1cCB0aGUgbG9ncyBhbnl3YXkgYmVjYXVzZSBzb21l
IG9mIG91ciBsb2dnaW5nLCBzdWNoIGFzIFNvdXAncyBpcyBhdmFpbGFibGUgaW4gcmVsZWFzZSBi
dWlsZHMuCi0jaWYgZGVmaW5lZChOREVCVUcpCi0gICAgZ193YXJuaW5nKCJXRUJLSVRfREVCVUcg
aXMgbm90IGVtcHR5LCBidXQgdGhpcyBpcyBhIHJlbGVhc2UgYnVpbGQuIE5vdGljZSB0aGF0IG1h
bnkgbG9nIG1lc3NhZ2VzIHdpbGwgb25seSBhcHBlYXIgaW4gYSBkZWJ1ZyBidWlsZC4iKTsKLSNl
bmRpZgotCi0gICAgLy8gVG8gZGlzYWJsZSBsb2dnaW5nIG5vdEltcGxlbWVudGVkIHNldCB0aGUg
RElTQUJMRV9OSV9XQVJOSU5HIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIDEuCi0gICAgU3RyaW5n
IGxvZ0xldmVsID0gIk5vdFlldEltcGxlbWVudGVkLCI7Ci0gICAgbG9nTGV2ZWwuYXBwZW5kKGxv
Z0Vudik7Ci0gICAgcmV0dXJuIGxvZ0xldmVsOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Ci0KLSNlbmRpZiAvLyAhTE9HX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS91bml4L0xhbmd1YWdlVW5peC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS91
bml4L0xhbmd1YWdlVW5peC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODNjNmM1MDk5MjQxMmQ1ZDE4OWRiNDRk
ODlkZTNhNmY3Mjk2NTZhYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3VuaXgvTGFuZ3VhZ2VVbml4LmNwcApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDA3IEFscCBUb2tlciA8YWxwQGF0b2tlci5jb20+CisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
KyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJMYW5ndWFnZS5oIgorCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCisjaW5jbHVkZSA8bG9jYWxlLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworLy8gVXNpbmcgcGFuZ29fbGFuZ3VhZ2VfZ2V0X2RlZmF1bHQo
KSBoZXJlIGlzIG5vdCBhbiBvcHRpb24sIGJlY2F1c2UKKy8vIGl0IGRvZXNuJ3Qgc3VwcG9ydCBj
aGFuZ2luZyB0aGUgbG9jYWxlIGluIHJ1bnRpbWUsIHNvIGl0IHJldHVybnMKKy8vIGFsd2F5cyB0
aGUgc2FtZSB2YWx1ZS4KK3N0YXRpYyBTdHJpbmcgcGxhdGZvcm1MYW5ndWFnZSgpCit7CisgICAg
U3RyaW5nIGxvY2FsZURlZmF1bHQoc2V0bG9jYWxlKExDX0NUWVBFLCBudWxscHRyKSk7CisgICAg
aWYgKGxvY2FsZURlZmF1bHQuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gU3RyaW5nKCJjIik7
CisKKyAgICBTdHJpbmcgbm9ybWFsaXplZERlZmF1bHQgPSBsb2NhbGVEZWZhdWx0LmNvbnZlcnRU
b0FTQ0lJTG93ZXJjYXNlKCk7CisgICAgbm9ybWFsaXplZERlZmF1bHQucmVwbGFjZSgnXycsICct
Jyk7CisgICAgbm9ybWFsaXplZERlZmF1bHQudHJ1bmNhdGUobm9ybWFsaXplZERlZmF1bHQuZmlu
ZCgnLicpKTsKKyAgICByZXR1cm4gbm9ybWFsaXplZERlZmF1bHQ7Cit9CisKK1ZlY3RvcjxTdHJp
bmc+IHBsYXRmb3JtVXNlclByZWZlcnJlZExhbmd1YWdlcygpCit7CisgICAgVmVjdG9yPFN0cmlu
Zz4gdXNlclByZWZlcnJlZExhbmd1YWdlczsKKyAgICB1c2VyUHJlZmVycmVkTGFuZ3VhZ2VzLmFw
cGVuZChwbGF0Zm9ybUxhbmd1YWdlKCkpOworICAgIHJldHVybiB1c2VyUHJlZmVycmVkTGFuZ3Vh
Z2VzOworfQorICAgIAorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdW5p
eC9Mb2dnaW5nVW5peC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS91bml4L0xvZ2dpbmdV
bml4LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hOTlkYzg2YTczMzUwYWRkNWUwYzZjMDdjZjEzOWMwNDA3MTIx
NmUzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdW5peC9Mb2dn
aW5nVW5peC5jcHAKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNyBB
bHAgVG9rZXIgPGFscEBhdG9rZXIuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDA5IEd1c3Rhdm8g
Tm9yb25oYSBTaWx2YSA8Z25zQGdub21lLm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJMb2dnaW5nLmgiCisKKyNpZiAhTE9HX0RJU0FCTEVECisKKyNpbmNsdWRlIDxzdHJpbmcuaD4K
KyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitTdHJpbmcgbG9nTGV2ZWxTdHJpbmcoKQoreworICAgIGNoYXIqIGxvZ0VudiA9IGdldGVudigi
V0VCS0lUX0RFQlVHIik7CisgICAgaWYgKCFsb2dFbnYpCisgICAgICAgIHJldHVybiBlbXB0eVN0
cmluZygpOworCisgICAgLy8gV2Ugc2V0IHVwIHRoZSBsb2dzIGFueXdheSBiZWNhdXNlIHNvbWUg
b2Ygb3VyIGxvZ2dpbmcsIHN1Y2ggYXMgU291cCdzIGlzIGF2YWlsYWJsZSBpbiByZWxlYXNlIGJ1
aWxkcy4KKyNpZiBkZWZpbmVkKE5ERUJVRykKKyAgICBXVEZMb2dBbHdheXMoIldFQktJVF9ERUJV
RyBpcyBub3QgZW1wdHksIGJ1dCB0aGlzIGlzIGEgcmVsZWFzZSBidWlsZC4gTm90aWNlIHRoYXQg
bWFueSBsb2cgbWVzc2FnZXMgd2lsbCBvbmx5IGFwcGVhciBpbiBhIGRlYnVnIGJ1aWxkLiIpOwor
I2VuZGlmCisKKyAgICAvLyBUbyBkaXNhYmxlIGxvZ2dpbmcgbm90SW1wbGVtZW50ZWQgc2V0IHRo
ZSBESVNBQkxFX05JX1dBUk5JTkcgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gMS4KKyAgICBTdHJp
bmcgbG9nTGV2ZWwgPSAiTm90WWV0SW1wbGVtZW50ZWQsIjsKKyAgICBsb2dMZXZlbC5hcHBlbmQo
bG9nRW52KTsKKyAgICByZXR1cm4gbG9nTGV2ZWw7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vICFMT0dfRElTQUJMRUQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276922</attachid>
            <date>2016-04-21 07:14:32 -0700</date>
            <delta_ts>2016-04-21 08:11:54 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-156847-20160421171452.patch</filename>
            <type>text/plain</type>
            <size>15865</size>
            <attacher name="Claudio Saavedra">csaavedra</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5ODEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDMwNWM2ZjY4ZGEzMDhk
ZDJkZjk0OWMyYzg3NWQ0OTY3YmNkNzgyYS4uYjMyN2Q4NzE3NjQ4MjRjMDNkZDdhNzc2ODEwMjU2
ZTllNDc3ZjkyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE2LTA0LTIxICBDbGF1
ZGlvIFNhYXZlZHJhICA8Y3NhYXZlZHJhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bRUZM
XSBNb3ZlIG5vbi1nbGliL2d0ayBwbGF0Zm9ybSBpbXBsZW1lbnRhdGlvbnMgb3V0IG9mIHBsYXRm
b3JtL2d0aworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU2ODQ3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2FybG9zIEdhcmNpYSBDYW1wb3MuCisKKyAg
ICAgICAgVGhlIExhbmd1YWdlIGFuZCBMb2dnaW5nIGltcGxlbWVudGF0aW9uIGRvbid0IHJlYWxs
eSBuZWVkIGdsaWIsIHNvCisgICAgICAgIHJld29yayB0aGVtIGFuZCBtb3ZlIHRoZW0gdG8gYSBu
ZXcgcGxhdGZvcm0vdW5peCBkaXJlY3Rvcnkgc28gdGhhdAorICAgICAgICB0aGV5IGNhbiBiZSBz
aGFyZWQgYW1vbmcgVW5peCBwb3J0cy4KKworICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOiBV
c2UgdGhlIHVuaXggdmVyc2lvbi4KKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZTogU2FtZS4K
KyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvTGFuZ3VhZ2VFZmwuY3BwOiBSZW1vdmVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2VmbC9Mb2dnaW5nRWZsLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS91bml4L0xhbmd1YWdlVW5peC5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvTGFuZ3VhZ2VHdGsuY3BwLgorICAgICAgICAoV2ViQ29yZTo6cGxhdGZvcm1M
YW5ndWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpwbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFn
ZXMpOgorICAgICAgICAqIHBsYXRmb3JtL3VuaXgvTG9nZ2luZ1VuaXguY3BwOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xvZ2dpbmdHdGsuY3BwLgorICAgICAgICAo
V2ViQ29yZTo6bG9nTGV2ZWxTdHJpbmcpOgorCiAyMDE2LTA0LTIxICBOYW4gV2FuZyAgPG5fd2Fu
Z0BhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IHN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZSByZXR1
cm5pbmcgZW1wdHkgc3RyaW5nIGZvciBkb2N1bWVudCByYW5nZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5j
bWFrZQppbmRleCA4N2E5MWQwNTRhZWU5ODUyMGRiYjllNGY2NzQzNmFmZjcwNmFmM2JkLi4zMjk0
NGY1YjVhYjc1ZTAwNThiZjUyYWMzNGZhMjBjNTNjZTFhODlhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVm
bC5jbWFrZQpAQCAtOTksOSArOTksNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAg
ICBwbGF0Zm9ybS9lZmwvRXZlbnRMb29wRWZsLmNwcAogICAgIHBsYXRmb3JtL2VmbC9GaWxlU3lz
dGVtRWZsLmNwcAogICAgIHBsYXRmb3JtL2VmbC9HYW1lcGFkc0VmbC5jcHAKLSAgICBwbGF0Zm9y
bS9lZmwvTGFuZ3VhZ2VFZmwuY3BwCiAgICAgcGxhdGZvcm0vZWZsL0xvY2FsaXplZFN0cmluZ3NF
ZmwuY3BwCi0gICAgcGxhdGZvcm0vZWZsL0xvZ2dpbmdFZmwuY3BwCiAgICAgcGxhdGZvcm0vZWZs
L01JTUVUeXBlUmVnaXN0cnlFZmwuY3BwCiAgICAgcGxhdGZvcm0vZWZsL01haW5UaHJlYWRTaGFy
ZWRUaW1lckVmbC5jcHAKICAgICBwbGF0Zm9ybS9lZmwvUGFzdGVib2FyZEVmbC5jcHAKQEAgLTIy
MCw2ICsyMTgsOSBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKIAogICAgIHBsYXRmb3Jt
L3RleHQvaHlwaGVuL0h5cGhlbmF0aW9uTGliSHlwaGVuLmNwcAogCisgICAgcGxhdGZvcm0vdW5p
eC9MYW5ndWFnZVVuaXguY3BwCisgICAgcGxhdGZvcm0vdW5peC9Mb2dnaW5nVW5peC5jcHAKKwog
ICAgIHJlbmRlcmluZy9SZW5kZXJUaGVtZUVmbC5jcHAKICkKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdUSy5j
bWFrZQppbmRleCBkZWYyNmViYzcwNzEyYjU1NTNmMjE0NGRlYWRhM2RiYzYwYWY4MjQ2Li40MTc3
NDQ2YWFhYTBhYzhiM2Q3MTliNjhmOTNjNjJlOTg5OGIwZjliIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUdU
Sy5jbWFrZQpAQCAtMTQxLDggKzE0MSw2IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwog
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL3gxMS9YVW5pcXVlUmVzb3VyY2UuY3BwCiAKICAgICBwbGF0
Zm9ybS9ndGsvRXJyb3JzR3RrLmNwcAotICAgIHBsYXRmb3JtL2d0ay9MYW5ndWFnZUd0ay5jcHAK
LSAgICBwbGF0Zm9ybS9ndGsvTG9nZ2luZ0d0ay5jcHAKICAgICBwbGF0Zm9ybS9ndGsvTUlNRVR5
cGVSZWdpc3RyeUd0ay5jcHAKICAgICBwbGF0Zm9ybS9ndGsvU2Nyb2xsQW5pbWF0b3JHdGsuY3Bw
CiAgICAgcGxhdGZvcm0vZ3RrL1RlbXBvcmFyeUxpbmtTdHVicy5jcHAKQEAgLTE4NCw2ICsxODIs
OSBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS90ZXh0L2d0ay9U
ZXh0QnJlYWtJdGVyYXRvckludGVybmFsSUNVR3RrLmNwcAogCiAgICAgcGxhdGZvcm0vdGV4dC9o
eXBoZW4vSHlwaGVuYXRpb25MaWJIeXBoZW4uY3BwCisKKyAgICBwbGF0Zm9ybS91bml4L0xhbmd1
YWdlVW5peC5jcHAKKyAgICBwbGF0Zm9ybS91bml4L0xvZ2dpbmdVbml4LmNwcAogKQogCiBsaXN0
KEFQUEVORCBXZWJDb3JlUGxhdGZvcm1HVEtfU09VUkNFUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZWZsL0xhbmd1YWdlRWZsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2VmbC9MYW5ndWFnZUVmbC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU4
YzVhZjFhODZkYmNlNGMwMmRiMWQyMjEyNGUxMjUzMDU4ZTNmMDkuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZs
L0xhbmd1YWdlRWZsLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDYxICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMDMsIDIwMDYgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqIENvcHlyaWdodCAoQykgMjAwOCBJTmRUIC0gSW5zdGl0dXRvIE5va2lhIGRlIFRlY25vbG9n
aWEKLSAqIENvcHlyaWdodCAoQykgMjAwOS0yMDEwIFByb0ZVU0lPTiBlbWJlZGRlZCBzeXN0ZW1z
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMDktMjAxMCBTYW1zdW5nIEVsZWN0cm9uaWNzCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
Ci0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LSNpbmNsdWRlICJMYW5ndWFnZS5oIgotCi0jaW5jbHVkZSA8bG9jYWxlLmg+Ci0jaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLXN0YXRpYyBTdHJpbmcgcGxhdGZvcm1MYW5ndWFnZSgpCi17Ci0gICAg
Y2hhciogbG9jYWxlRGVmYXVsdCA9IHNldGxvY2FsZShMQ19DVFlQRSwgMCk7Ci0KLSAgICBpZiAo
IWxvY2FsZURlZmF1bHQpCi0gICAgICAgIHJldHVybiBTdHJpbmcoImMiKTsKLQotICAgIFN0cmlu
ZyBsb2NhbGUgPSBTdHJpbmcobG9jYWxlRGVmYXVsdCk7Ci0gICAgbG9jYWxlLnJlcGxhY2UoJ18n
LCAnLScpOwotICAgIHNpemVfdCBwb3NpdGlvbiA9IGxvY2FsZS5maW5kKCcuJyk7Ci0gICAgaWYg
KHBvc2l0aW9uICE9IG5vdEZvdW5kKQotICAgICAgICBsb2NhbGUgPSBsb2NhbGUubGVmdChwb3Np
dGlvbik7Ci0KLSAgICByZXR1cm4gbG9jYWxlOwotfQotCi1WZWN0b3I8U3RyaW5nPiBwbGF0Zm9y
bVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKQotewotICAgIFZlY3RvcjxTdHJpbmc+IHVzZXJQcmVm
ZXJyZWRMYW5ndWFnZXM7Ci0gICAgdXNlclByZWZlcnJlZExhbmd1YWdlcy5hcHBlbmQocGxhdGZv
cm1MYW5ndWFnZSgpKTsKLSAgICByZXR1cm4gdXNlclByZWZlcnJlZExhbmd1YWdlczsKLX0KLQot
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0xvZ2dpbmdFZmwuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0xvZ2dpbmdFZmwuY3BwCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA2ZmRmMTg3ZjMzNDE3N2ZiOTM3M2E5NTk0MDE2NmUyOGViMWIy
NjI1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9Mb2dnaW5nRWZsLmNwcAorKysgL2Rldi9udWxsCkBAIC0x
LDUyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcgQWxwIFRva2VyIDxhbHBAYXRv
a2VyLmNvbT4KLSAqIENvcHlyaWdodCAoQykgMjAwOCBJTmRUIC0gSW5zdGl0dXRvIE5va2lhIGRl
IFRlY25vbG9naWEKLSAqIENvcHlyaWdodCAoQykgMjAwOS0yMDEwIFByb0ZVU0lPTiBlbWJlZGRl
ZCBzeXN0ZW1zCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDktMjAxMCBTYW1zdW5nIEVsZWN0cm9uaWNz
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAq
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
LSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0j
aW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTG9nZ2luZy5oIgotCi0jaWYgIUxPR19ESVNB
QkxFRAotCi0jaW5jbHVkZSA8RWluYS5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5o
PgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVN0cmluZyBsb2dMZXZlbFN0cmluZygpCi17Ci0g
ICAgY2hhciogbG9nRW52ID0gZ2V0ZW52KCJXRUJLSVRfREVCVUciKTsKLSAgICBpZiAoIWxvZ0Vu
dikKLSAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci0KLSNpZiBkZWZpbmVkKE5ERUJVRykK
LSAgICBFSU5BX0xPR19XQVJOKCJXRUJLSVRfREVCVUcgaXMgbm90IGVtcHR5LCBidXQgdGhpcyBp
cyBhIHJlbGVhc2UgYnVpbGQuIE5vdGljZSB0aGF0IG1hbnkgbG9nIG1lc3NhZ2VzIHdpbGwgb25s
eSBhcHBlYXIgaW4gYSBkZWJ1ZyBidWlsZC4iKTsKLSNlbmRpZgotCi0gICAgLy8gVG8gZGlzYWJs
ZSBsb2dnaW5nIG5vdEltcGxlbWVudGVkIHNldCB0aGUgRElTQUJMRV9OSV9XQVJOSU5HIGVudmly
b25tZW50IHZhcmlhYmxlIHRvIDEuCi0gICAgU3RyaW5nIGxvZ0xldmVsID0gIk5vdFlldEltcGxl
bWVudGVkLCI7Ci0gICAgbG9nTGV2ZWwuYXBwZW5kKGxvZ0Vudik7Ci0gICAgcmV0dXJuIGxvZ0xl
dmVsOwotfQotCi19Ci0KLSNlbmRpZiAvLyAhTE9HX0RJU0FCTEVECmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTGFuZ3VhZ2VHdGsuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3RrL0xhbmd1YWdlR3RrLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggNTE1YzgyZDk2MWNiODc0N2VkNjNhZDA2MzgwNDRmODczYmY1MmVhYi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvTGFuZ3VhZ2VHdGsuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAwNyBBbHAgVG9rZXIgPGFscEBhdG9rZXIuY29tPgotICoKLSAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
Ci0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jaW5jbHVk
ZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiTGFuZ3VhZ2UuaCIKLQotI2luY2x1ZGUgPHd0Zi9WZWN0
b3IuaD4KLSNpbmNsdWRlIDx3dGYvZ2xpYi9HVW5pcXVlUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL3Rl
eHQvQ1N0cmluZy5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgotCi0jaW5jbHVk
ZSA8Z2xpYi5oPgotI2luY2x1ZGUgPGxvY2FsZS5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LS8vIFVzaW5nIHBhbmdvX2xhbmd1YWdlX2dldF9kZWZhdWx0KCkgaGVyZSBpcyBub3QgYW4gb3B0
aW9uLCBiZWNhdXNlCi0vLyBpdCBkb2Vzbid0IHN1cHBvcnQgY2hhbmdpbmcgdGhlIGxvY2FsZSBp
biBydW50aW1lLCBzbyBpdCByZXR1cm5zCi0vLyBhbHdheXMgdGhlIHNhbWUgdmFsdWUuCi1zdGF0
aWMgU3RyaW5nIHBsYXRmb3JtTGFuZ3VhZ2UoKQotewotICAgIGNoYXIqIGxvY2FsZURlZmF1bHQg
PSBzZXRsb2NhbGUoTENfQ1RZUEUsIE5VTEwpOwotCi0gICAgaWYgKCFsb2NhbGVEZWZhdWx0KQot
ICAgICAgICByZXR1cm4gU3RyaW5nKCJjIik7Ci0KLSAgICBHVW5pcXVlUHRyPGdjaGFyPiBub3Jt
YWxpemVkRGVmYXVsdChnX2FzY2lpX3N0cmRvd24obG9jYWxlRGVmYXVsdCwgLTEpKTsKLSAgICBj
aGFyKiBwdHIgPSBzdHJjaHIobm9ybWFsaXplZERlZmF1bHQuZ2V0KCksICdfJyk7Ci0KLSAgICBp
ZiAocHRyKQotICAgICAgICAqcHRyID0gJy0nOwotCi0gICAgcHRyID0gc3RyY2hyKG5vcm1hbGl6
ZWREZWZhdWx0LmdldCgpLCAnLicpOwotCi0gICAgaWYgKHB0cikKLSAgICAgICAgKnB0ciA9ICdc
MCc7Ci0KLSAgICByZXR1cm4gU3RyaW5nKG5vcm1hbGl6ZWREZWZhdWx0LmdldCgpKTsKLX0KLQot
VmVjdG9yPFN0cmluZz4gcGxhdGZvcm1Vc2VyUHJlZmVycmVkTGFuZ3VhZ2VzKCkKLXsKLSAgICBW
ZWN0b3I8U3RyaW5nPiB1c2VyUHJlZmVycmVkTGFuZ3VhZ2VzOwotICAgIHVzZXJQcmVmZXJyZWRM
YW5ndWFnZXMuYXBwZW5kKHBsYXRmb3JtTGFuZ3VhZ2UoKSk7Ci0gICAgcmV0dXJuIHVzZXJQcmVm
ZXJyZWRMYW5ndWFnZXM7Ci19Ci0gICAgCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvTG9nZ2luZ0d0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsv
TG9nZ2luZ0d0ay5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE4NDUwYmI2MDc5
NWFjMDBlYTQ5MjhjODVhNzA4MDNmNTA2NTc5OTguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xvZ2dpbmdH
dGsuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAwNyBBbHAgVG9rZXIgPGFscEBhdG9rZXIuY29tPgotICogQ29weXJpZ2h0IChDKSAyMDA5
IEd1c3Rhdm8gTm9yb25oYSBTaWx2YSA8Z25zQGdub21lLm9yZz4KLSAqIENvcHlyaWdodCAoQykg
MjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
LSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
Ci0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAq
Ci0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAq
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LSNpbmNsdWRlICJMb2dnaW5nLmgiCi0KLSNpZiAhTE9HX0RJU0FCTEVECi0KLSNpbmNsdWRlIDxn
bGliLmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0jaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotU3RyaW5nIGxvZ0xldmVsU3RyaW5nKCkKLXsK
LSAgICBjaGFyKiBsb2dFbnYgPSBnZXRlbnYoIldFQktJVF9ERUJVRyIpOwotICAgIGlmICghbG9n
RW52KQotICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLQotICAgIC8vIFdlIHNldCB1cCB0
aGUgbG9ncyBhbnl3YXkgYmVjYXVzZSBzb21lIG9mIG91ciBsb2dnaW5nLCBzdWNoIGFzIFNvdXAn
cyBpcyBhdmFpbGFibGUgaW4gcmVsZWFzZSBidWlsZHMuCi0jaWYgZGVmaW5lZChOREVCVUcpCi0g
ICAgZ193YXJuaW5nKCJXRUJLSVRfREVCVUcgaXMgbm90IGVtcHR5LCBidXQgdGhpcyBpcyBhIHJl
bGVhc2UgYnVpbGQuIE5vdGljZSB0aGF0IG1hbnkgbG9nIG1lc3NhZ2VzIHdpbGwgb25seSBhcHBl
YXIgaW4gYSBkZWJ1ZyBidWlsZC4iKTsKLSNlbmRpZgotCi0gICAgLy8gVG8gZGlzYWJsZSBsb2dn
aW5nIG5vdEltcGxlbWVudGVkIHNldCB0aGUgRElTQUJMRV9OSV9XQVJOSU5HIGVudmlyb25tZW50
IHZhcmlhYmxlIHRvIDEuCi0gICAgU3RyaW5nIGxvZ0xldmVsID0gIk5vdFlldEltcGxlbWVudGVk
LCI7Ci0gICAgbG9nTGV2ZWwuYXBwZW5kKGxvZ0Vudik7Ci0gICAgcmV0dXJuIGxvZ0xldmVsOwot
fQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyAhTE9HX0RJU0FCTEVECmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS91bml4L0xhbmd1YWdlVW5peC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS91bml4L0xhbmd1YWdlVW5peC5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uODdlM2I0ZjM2YjMwNmRiY2E1MDZlYTMwZGYxOGIyYTliNzJkODAyMwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3VuaXgvTGFuZ3VhZ2VVbml4LmNwcApAQCAt
MCwwICsxLDQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3IEFscCBUb2tlciA8YWxwQGF0
b2tlci5jb20+CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMYW5ndWFnZS5oIgorCisj
aW5jbHVkZSA8bG9jYWxlLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKy8vIFVzaW5nIHBh
bmdvX2xhbmd1YWdlX2dldF9kZWZhdWx0KCkgaGVyZSBpcyBub3QgYW4gb3B0aW9uLCBiZWNhdXNl
CisvLyBpdCBkb2Vzbid0IHN1cHBvcnQgY2hhbmdpbmcgdGhlIGxvY2FsZSBpbiBydW50aW1lLCBz
byBpdCByZXR1cm5zCisvLyBhbHdheXMgdGhlIHNhbWUgdmFsdWUuCitzdGF0aWMgU3RyaW5nIHBs
YXRmb3JtTGFuZ3VhZ2UoKQoreworICAgIFN0cmluZyBsb2NhbGVEZWZhdWx0KHNldGxvY2FsZShM
Q19DVFlQRSwgbnVsbHB0cikpOworICAgIGlmIChsb2NhbGVEZWZhdWx0LmlzRW1wdHkoKSkKKyAg
ICAgICAgcmV0dXJuIFN0cmluZygiYyIpOworCisgICAgU3RyaW5nIG5vcm1hbGl6ZWREZWZhdWx0
ID0gbG9jYWxlRGVmYXVsdC5jb252ZXJ0VG9BU0NJSUxvd2VyY2FzZSgpOworICAgIG5vcm1hbGl6
ZWREZWZhdWx0LnJlcGxhY2UoJ18nLCAnLScpOworICAgIG5vcm1hbGl6ZWREZWZhdWx0LnRydW5j
YXRlKG5vcm1hbGl6ZWREZWZhdWx0LmZpbmQoJy4nKSk7CisgICAgcmV0dXJuIG5vcm1hbGl6ZWRE
ZWZhdWx0OworfQorCitWZWN0b3I8U3RyaW5nPiBwbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFn
ZXMoKQoreworICAgIHJldHVybiB7IHBsYXRmb3JtTGFuZ3VhZ2UoKSB9OworfQorCit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS91bml4L0xvZ2dpbmdVbml4LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3VuaXgvTG9nZ2luZ1VuaXguY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcy
ZWIxMGE2M2RmZGJiOTY0NWU4M2NlNTczNDU4MTIwYWY3MDA5OWQKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS91bml4L0xvZ2dpbmdVbml4LmNwcApAQCAtMCwwICsx
LDQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3IEFscCBUb2tlciA8YWxwQGF0b2tlci5j
b20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR3VzdGF2byBOb3JvbmhhIFNpbHZhIDxnbnNAZ25v
bWUub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKworI2lmICFM
T0dfRElTQUJMRUQKKworI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1N0cmluZyBsb2dMZXZlbFN0cmlu
ZygpCit7CisgICAgY2hhciogbG9nRW52ID0gZ2V0ZW52KCJXRUJLSVRfREVCVUciKTsKKyAgICBp
ZiAoIWxvZ0VudikKKyAgICAgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CisKKyAgICAvLyBXZSBz
ZXQgdXAgdGhlIGxvZ3MgYW55d2F5IGJlY2F1c2Ugc29tZSBvZiBvdXIgbG9nZ2luZywgc3VjaCBh
cyBTb3VwJ3MgaXMgYXZhaWxhYmxlIGluIHJlbGVhc2UgYnVpbGRzLgorI2lmIGRlZmluZWQoTkRF
QlVHKQorICAgIFdURkxvZ0Fsd2F5cygiV0VCS0lUX0RFQlVHIGlzIG5vdCBlbXB0eSwgYnV0IHRo
aXMgaXMgYSByZWxlYXNlIGJ1aWxkLiBOb3RpY2UgdGhhdCBtYW55IGxvZyBtZXNzYWdlcyB3aWxs
IG9ubHkgYXBwZWFyIGluIGEgZGVidWcgYnVpbGQuIik7CisjZW5kaWYKKworICAgIC8vIFRvIGRp
c2FibGUgbG9nZ2luZyBub3RJbXBsZW1lbnRlZCBzZXQgdGhlIERJU0FCTEVfTklfV0FSTklORyBl
bnZpcm9ubWVudCB2YXJpYWJsZSB0byAxLgorICAgIHJldHVybiBTdHJpbmcoIk5vdFlldEltcGxl
bWVudGVkLCIpICsgbG9nRW52OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyAhTE9HX0RJU0FCTEVECg==
</data>

          </attachment>
      

    </bug>

</bugzilla>