<?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>93262</bug_id>
          
          <creation_ts>2012-08-06 05:57:13 -0700</creation_ts>
          <short_desc>[WK2][GTK] Improvements for the new spell-checking API</short_desc>
          <delta_ts>2012-08-06 06:43: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>WebKitGTK</component>
          <version>528+ (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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>90268</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mario Sanchez Prada">mario</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>688056</commentid>
    <comment_count>0</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-08-06 05:57:13 -0700</bug_when>
    <thetext>As you can see from Carlos&apos;s last comment on bug 90268 [1], it seems like I was too fast pushing that patch and that some improvements could still have happened over the last iteration of the patch.

So, this bug is just for tracking down those improvements, now that bug 90268 has already been resolved.

[1] https://bugs.webkit.org/show_bug.cgi?id=90268#c25</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688076</commentid>
    <comment_count>1</comment_count>
      <attachid>156680</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-08-06 06:23:07 -0700</bug_when>
    <thetext>Created attachment 156680
Patch proposal

Patch addressing the issues pointed out by Carlos in https://bugs.webkit.org/show_bug.cgi?id=90268#c25</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688079</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-06 06:27:18 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688084</commentid>
    <comment_count>3</comment_count>
      <attachid>156680</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2012-08-06 06:33:49 -0700</bug_when>
    <thetext>Comment on attachment 156680
Patch proposal

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

Please, check the comments I made here before landing, thanks!

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp:485
&gt; +    if (!spellCheckingLanguages.length())

Use spellCheckingLanguages.isNull() instead.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp:517
&gt; +    context-&gt;priv-&gt;textChecker-&gt;setSpellCheckingLanguages(CString(languages));

A char* can be assigned to a CString, so I&apos;m not sure, but I think you can pass the languages directly here:

context-&gt;priv-&gt;textChecker-&gt;setSpellCheckingLanguages(languages);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688092</commentid>
    <comment_count>4</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2012-08-06 06:43:27 -0700</bug_when>
    <thetext>Committed r124763: &lt;http://trac.webkit.org/changeset/124763&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156680</attachid>
            <date>2012-08-06 06:23:07 -0700</date>
            <delta_ts>2012-08-06 06:33:49 -0700</delta_ts>
            <desc>Patch proposal</desc>
            <filename>0001-2012-08-06-Mario-Sanchez-Prada-msanchez-igalia.com.patch</filename>
            <type>text/plain</type>
            <size>19129</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">RnJvbSAxZGJhNzVjMDcwZTI2OGE0MGIwMjM3MzIwNWMxZmVjYjcyNThmMmFiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJpbyBTYW5jaGV6IFByYWRhIDxtc2FuY2hlekBpZ2FsaWEu
Y29tPgpEYXRlOiBNb24sIDYgQXVnIDIwMTIgMDk6Mjk6MzkgKzAyMDAKU3ViamVjdDogW1BBVENI
XSAyMDEyLTA4LTA2ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4K
CiAgICAgICAgW1dLMl1bR1RLXSBJbXByb3ZlbWVudHMgZm9yIHRoZSBuZXcgc3BlbGwtY2hlY2tp
bmcgQVBJCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkz
MjYyCgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBJbXByb3Zl
IHRoZSB3YXkgdGhlIG5ldyBzcGVsbC1jaGVja2luZyBBUEkgaXMgaW1wbGVtZW50ZWQsIGJ5CiAg
ICAgICAgdXNpbmcgYmV0dGVyIGludGVybmFsIHJlcHJlc2VudGF0aW9ucyBmb3IgZGF0YSwgZG9j
dW1lbnRpbmcgYmV0dGVyCiAgICAgICAgdGhlIG5ldyBmdW5jdGlvbnMgYW5kIHVzaW5nIGJldHRl
ciB1bml0IHRlc3RzLgoKICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFRleHRDaGVj
a2VyLmNwcDoKICAgICAgICAoV2ViS2l0VGV4dENoZWNrZXI6OmdldFNwZWxsQ2hlY2tpbmdMYW5n
dWFnZXMpOiBKdXN0IHJldHVybiB0aGUKICAgICAgICB2YWx1ZSBwcmV2aW91c2x5IGNhY2hlZCB3
aGVuIGNhbGxpbmcgdG8gdGhlIHNldHRlciBmdW5jdGlvbi4KICAgICAgICAoV2ViS2l0VGV4dENo
ZWNrZXI6OnNldFNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMpOiBVcGRhdGUgdGhlIHRleHQKICAgICAg
ICBjaGVja2VyIGluIFdlYkNvcmUgYW5kIGNhY2hlIHRoZSB2YWx1ZSByZXR1cm5lZCBmcm9tIGl0
LgogICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VGV4dENoZWNrZXIuaDoKICAgICAg
ICAoV2ViS2l0VGV4dENoZWNrZXIpOiBVc2UgYSBDU3RyaW5nIGluc3RlYWQgb2YgYW4gU3RyaW5n
IHRvIGNhY2hlCiAgICAgICAgdGhlIGxpc3Qgb2Ygc3BlbGwgY2hlY2tpbmcgbGFuZ3VhZ2VzLiBV
cGRhdGUgZ2V0dGVyIGFuZCBzZXR0ZXIuCiAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRXZWJDb250ZXh0LmNwcDoKICAgICAgICAoX1dlYktpdFdlYkNvbnRleHRQcml2YXRlKTogTm8g
bmVlZCB0byBjYWNoZSB0aGUgc3BlbGwgY2hlY2tpbmcKICAgICAgICBsYW5ndWFnZXMgaGVyZSBh
bnltb3JlLgogICAgICAgICh3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3NwZWxsX2NoZWNraW5nX2xh
bmd1YWdlcyk6IEltcHJvdmUKICAgICAgICBib3RoIGltcGxlbWVudGF0aW9uIGFuZCBkb2N1bWVu
dGF0aW9uIHRvIGJlIG1vcmUgY29uc2lzdGVudC4KICAgICAgICAod2Via2l0X3dlYl9jb250ZXh0
X3NldF9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXMpOiBNYWtlCiAgICAgICAgJ2xhbmd1YWdlcycg
YSBtYW5kYXRvcnkgKG5vbi1OVUxMKSBwYXJhbWV0ZXIuIFVwZGF0ZSBkb2N1bWVudGF0aW9uLgog
ICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvVGVzdFdlYktpdFdlYkNvbnRleHQuY3Bw
OgogICAgICAgICh0ZXN0V2ViQ29udGV4dFNwZWxsQ2hlY2tlcik6IFRlc3QgZXZlbiBtb3JlIHNp
dHVhdGlvbnMuCgoyMDEyLTA4LTA2ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdh
bGlhLmNvbT4KCiAgICAgICAgW1dLMl1bR1RLXSBJbXByb3ZlbWVudHMgZm9yIHRoZSBuZXcgc3Bl
bGwtY2hlY2tpbmcgQVBJCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTkzMjYyCgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAg
ICBQcm92aWRlIGEgd2F5IHRvIGFzayBUZXh0Q2hlY2tlckVuY2hhbnQgaGVscGVyIGNsYXNzIGZv
ciB0aGUgbGlzdAogICAgICAgIG9mIGxhbmd1YWdlcyBjdXJyZW50bHkgYXZhaWxhYmxlIGZvciB0
aGUgc3BlbGwgY2hlY2tpbmcgZmVhdHVyZS4KCiAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L2d0ay9U
ZXh0Q2hlY2tlckVuY2hhbnQuY3BwOgogICAgICAgIChlbmNoYW50RGljdERlc2NyaWJlQ2FsbGJh
Y2spOiBSZW5hbWVkIGZyb20KICAgICAgICBnZXRBdmFpbGFibGVEaWN0aW9uYXJpZXNDYWxsYmFj
aywgZm9yIGNvbnNpc3RlbmN5LgogICAgICAgIChUZXh0Q2hlY2tlckVuY2hhbnQ6OnVwZGF0ZVNw
ZWxsQ2hlY2tpbmdMYW5ndWFnZXMpOiBVcGRhdGVkIHVzYWdlCiAgICAgICAgb2YgZ2V0QXZhaWxh
YmxlRGljdGlvbmFyaWVzQ2FsbGJhY2sgdG8gZW5jaGFudERpY3REZXNjcmliZUNhbGxiYWNrLgog
ICAgICAgIChUZXh0Q2hlY2tlckVuY2hhbnQ6OmdldFNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMpOiBO
ZXcuIFdpbGwgYnVpbGQKICAgICAgICBhbmQgcmV0dXJuIGEgU3RyaW5nIHdpdGggYSBjb21tYS1z
ZXBhcmF0ZWQgbGlzdCBvZiBsYW5ndWFnZXMKICAgICAgICBjdXJyZW50bHkgaW4gdXNlIGJ5IHRo
ZSBzcGVsbCBjaGVja2luZyBmZWF0dXJlLgogICAgICAgICogcGxhdGZvcm0vdGV4dC9ndGsvVGV4
dENoZWNrZXJFbmNoYW50Lmg6CiAgICAgICAgKFRleHRDaGVja2VyRW5jaGFudCk6IEFkZGVkIG5l
dyBmdW5jdGlvbiBnZXRTcGVsbENoZWNraW5nTGFuZ3VhZ2VzLgotLS0KIFNvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjEgKysrKysrKysrKysKIC4u
Li9wbGF0Zm9ybS90ZXh0L2d0ay9UZXh0Q2hlY2tlckVuY2hhbnQuY3BwICAgICAgIHwgMjUgKysr
KysrKysrKystLQogLi4uL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9ndGsvVGV4dENoZWNrZXJFbmNo
YW50LmggfCAgMSArCiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8IDI5ICsrKysrKysrKysrKysrKwogLi4uL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFRleHRDaGVja2VyLmNwcCAgICAgICAgfCAxNCArKysrLS0tLQogLi4uL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0VGV4dENoZWNrZXIuaCAgfCAgNyArKy0tCiAuLi4vV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJDb250ZXh0LmNwcCB8IDM0ICsrKysrKysrKysrLS0t
LS0tLQogLi4uL0FQSS9ndGsvdGVzdHMvVGVzdFdlYktpdFdlYkNvbnRleHQuY3BwICAgICAgICAg
fCA0MSArKysrKysrKysrKysrLS0tLS0tLS0tCiA4IGZpbGVzIGNoYW5nZWQsIDEzMiBpbnNlcnRp
b25zKCspLCA0MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWMyZDcwOS4uZDQzNDA1MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA4LTA2ICBNYXJpbyBTYW5jaGV6IFBy
YWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBbV0syXVtHVEtdIEltcHJvdmVt
ZW50cyBmb3IgdGhlIG5ldyBzcGVsbC1jaGVja2luZyBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzMjYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUHJvdmlkZSBhIHdheSB0byBhc2sgVGV4dENoZWNr
ZXJFbmNoYW50IGhlbHBlciBjbGFzcyBmb3IgdGhlIGxpc3QKKyAgICAgICAgb2YgbGFuZ3VhZ2Vz
IGN1cnJlbnRseSBhdmFpbGFibGUgZm9yIHRoZSBzcGVsbCBjaGVja2luZyBmZWF0dXJlLgorCisg
ICAgICAgICogcGxhdGZvcm0vdGV4dC9ndGsvVGV4dENoZWNrZXJFbmNoYW50LmNwcDoKKyAgICAg
ICAgKGVuY2hhbnREaWN0RGVzY3JpYmVDYWxsYmFjayk6IFJlbmFtZWQgZnJvbQorICAgICAgICBn
ZXRBdmFpbGFibGVEaWN0aW9uYXJpZXNDYWxsYmFjaywgZm9yIGNvbnNpc3RlbmN5LgorICAgICAg
ICAoVGV4dENoZWNrZXJFbmNoYW50Ojp1cGRhdGVTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKTogVXBk
YXRlZCB1c2FnZQorICAgICAgICBvZiBnZXRBdmFpbGFibGVEaWN0aW9uYXJpZXNDYWxsYmFjayB0
byBlbmNoYW50RGljdERlc2NyaWJlQ2FsbGJhY2suCisgICAgICAgIChUZXh0Q2hlY2tlckVuY2hh
bnQ6OmdldFNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMpOiBOZXcuIFdpbGwgYnVpbGQKKyAgICAgICAg
YW5kIHJldHVybiBhIFN0cmluZyB3aXRoIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbGFuZ3Vh
Z2VzCisgICAgICAgIGN1cnJlbnRseSBpbiB1c2UgYnkgdGhlIHNwZWxsIGNoZWNraW5nIGZlYXR1
cmUuCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9ndGsvVGV4dENoZWNrZXJFbmNoYW50Lmg6Cisg
ICAgICAgIChUZXh0Q2hlY2tlckVuY2hhbnQpOiBBZGRlZCBuZXcgZnVuY3Rpb24gZ2V0U3BlbGxD
aGVja2luZ0xhbmd1YWdlcy4KKwogMjAxMi0wOC0wNiAgRG91Z2xhcyBTdG9ja3dlbGwgIDxkc3Rv
Y2t3ZWxsQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDcmFzaCBpbiBXZWJDb3JlOjpSZW5kZXJM
aXN0SXRlbTo6dXBkYXRlTWFya2VyTG9jYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvZ3RrL1RleHRDaGVja2VyRW5jaGFudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L2d0ay9UZXh0Q2hlY2tlckVuY2hhbnQuY3BwCmluZGV4IDgyNjc1YmQu
LmFkNjY4YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvZ3RrL1Rl
eHRDaGVja2VyRW5jaGFudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9n
dGsvVGV4dENoZWNrZXJFbmNoYW50LmNwcApAQCAtMjQsMTIgKzI0LDEzIEBACiAjaW5jbHVkZSA8
cGFuZ28vcGFuZ28uaD4KICNpbmNsdWRlIDx3dGYvZ29iamVjdC9HT3duUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIu
aD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHN0YXRpYyBjb25zdCBzaXplX3QgbWF4
aW11bU51bWJlck9mU3VnZ2VzdGlvbnMgPSAxMDsKIAotc3RhdGljIHZvaWQgZ2V0QXZhaWxhYmxl
RGljdGlvbmFyaWVzQ2FsbGJhY2soY29uc3QgY2hhciogY29uc3QgbGFuZ3VhZ2VUYWcsIGNvbnN0
IGNoYXIqIGNvbnN0LCBjb25zdCBjaGFyKiBjb25zdCwgY29uc3QgY2hhciogY29uc3QsIHZvaWQq
IGRhdGEpCitzdGF0aWMgdm9pZCBlbmNoYW50RGljdERlc2NyaWJlQ2FsbGJhY2soY29uc3QgY2hh
ciogY29uc3QgbGFuZ3VhZ2VUYWcsIGNvbnN0IGNoYXIqIGNvbnN0LCBjb25zdCBjaGFyKiBjb25z
dCwgY29uc3QgY2hhciogY29uc3QsIHZvaWQqIGRhdGEpCiB7CiAgICAgVmVjdG9yPENTdHJpbmc+
KiBkaWN0aW9uYXJpZXMgPSBzdGF0aWNfY2FzdDxWZWN0b3I8Q1N0cmluZz4qPihkYXRhKTsKICAg
ICBkaWN0aW9uYXJpZXMtPmFwcGVuZChsYW5ndWFnZVRhZyk7CkBAIC0xNzYsNyArMTc3LDcgQEAg
dm9pZCBUZXh0Q2hlY2tlckVuY2hhbnQ6OnVwZGF0ZVNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoY29u
c3QgU3RyaW5nJiBsYW5ndWFnZXMpCiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAvLyBO
byBkaWN0aW9uYXJpZXMgc2VsZWN0ZWQsIHdlIGdldCBvbmUgZnJvbSB0aGUgbGlzdC4KICAgICAg
ICAgICAgIFZlY3RvcjxDU3RyaW5nPiBhbGxEaWN0aW9uYXJpZXM7Ci0gICAgICAgICAgICBlbmNo
YW50X2Jyb2tlcl9saXN0X2RpY3RzKG1fYnJva2VyLCBnZXRBdmFpbGFibGVEaWN0aW9uYXJpZXND
YWxsYmFjaywgJmFsbERpY3Rpb25hcmllcyk7CisgICAgICAgICAgICBlbmNoYW50X2Jyb2tlcl9s
aXN0X2RpY3RzKG1fYnJva2VyLCBlbmNoYW50RGljdERlc2NyaWJlQ2FsbGJhY2ssICZhbGxEaWN0
aW9uYXJpZXMpOwogICAgICAgICAgICAgaWYgKCFhbGxEaWN0aW9uYXJpZXMuaXNFbXB0eSgpKSB7
CiAgICAgICAgICAgICAgICAgRW5jaGFudERpY3QqIGRpY3QgPSBlbmNoYW50X2Jyb2tlcl9yZXF1
ZXN0X2RpY3QobV9icm9rZXIsIGFsbERpY3Rpb25hcmllc1swXS5kYXRhKCkpOwogICAgICAgICAg
ICAgICAgIHNwZWxsRGljdGlvbmFyaWVzLmFwcGVuZChkaWN0KTsKQEAgLTE4Nyw2ICsxODgsMjYg
QEAgdm9pZCBUZXh0Q2hlY2tlckVuY2hhbnQ6OnVwZGF0ZVNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMo
Y29uc3QgU3RyaW5nJiBsYW5ndWFnZXMpCiAgICAgbV9lbmNoYW50RGljdGlvbmFyaWVzID0gc3Bl
bGxEaWN0aW9uYXJpZXM7CiB9CiAKK1N0cmluZyBUZXh0Q2hlY2tlckVuY2hhbnQ6OmdldFNwZWxs
Q2hlY2tpbmdMYW5ndWFnZXMoKQoreworICAgIGlmIChtX2VuY2hhbnREaWN0aW9uYXJpZXMuaXNF
bXB0eSgpKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisKKyAgICAvLyBHZXQgYSBWZWN0b3I8
Q1N0cmluZz4gd2l0aCB0aGUgbGlzdCBvZiBsYW5ndWFnZXMgaW4gdXNlLgorICAgIFZlY3RvcjxD
U3RyaW5nPiBjdXJyZW50RGljdGlvbmFyaWVzOworICAgIGZvciAoVmVjdG9yPEVuY2hhbnREaWN0
Kj46OmNvbnN0X2l0ZXJhdG9yIGl0ZXIgPSBtX2VuY2hhbnREaWN0aW9uYXJpZXMuYmVnaW4oKTsg
aXRlciAhPSBtX2VuY2hhbnREaWN0aW9uYXJpZXMuZW5kKCk7ICsraXRlcikKKyAgICAgICAgZW5j
aGFudF9kaWN0X2Rlc2NyaWJlKCppdGVyLCBlbmNoYW50RGljdERlc2NyaWJlQ2FsbGJhY2ssICZj
dXJyZW50RGljdGlvbmFyaWVzKTsKKworICAgIC8vIEJ1aWxkIHRoZSByZXN1bHQgU3RyaW5nOwor
ICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKKyAgICBmb3IgKFZlY3RvcjxDU3RyaW5nPjo6Y29u
c3RfaXRlcmF0b3IgaXRlciA9IGN1cnJlbnREaWN0aW9uYXJpZXMuYmVnaW4oKTsgaXRlciAhPSBj
dXJyZW50RGljdGlvbmFyaWVzLmVuZCgpOyArK2l0ZXIpIHsKKyAgICAgICAgaWYgKGl0ZXIgIT0g
Y3VycmVudERpY3Rpb25hcmllcy5iZWdpbigpKQorICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQo
IiwiKTsKKyAgICAgICAgYnVpbGRlci5hcHBlbmQoU3RyaW5nOjpmcm9tVVRGOChpdGVyLT5kYXRh
KCkpKTsKKyAgICB9CisgICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsKK30KKwogdm9pZCBU
ZXh0Q2hlY2tlckVuY2hhbnQ6OmZyZWVFbmNoYW50QnJva2VyRGljdGlvbmFyaWVzKCkKIHsKICAg
ICBmb3IgKFZlY3RvcjxFbmNoYW50RGljdCo+Ojpjb25zdF9pdGVyYXRvciBpdGVyID0gbV9lbmNo
YW50RGljdGlvbmFyaWVzLmJlZ2luKCk7IGl0ZXIgIT0gbV9lbmNoYW50RGljdGlvbmFyaWVzLmVu
ZCgpOyArK2l0ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2d0
ay9UZXh0Q2hlY2tlckVuY2hhbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvZ3Rr
L1RleHRDaGVja2VyRW5jaGFudC5oCmluZGV4IDczOTc1NWUuLmU3YTk4MDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvZ3RrL1RleHRDaGVja2VyRW5jaGFudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvZ3RrL1RleHRDaGVja2VyRW5jaGFudC5o
CkBAIC00Miw2ICs0Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNoZWNrU3BlbGxpbmdPZlN0cmlu
Zyhjb25zdCBTdHJpbmcmLCBpbnQmIG1pc3NwZWxsaW5nTG9jYXRpb24sIGludCYgbWlzc3BlbGxp
bmdMZW5ndGgpOwogICAgIFZlY3RvcjxTdHJpbmc+IGdldEd1ZXNzZXNGb3JXb3JkKGNvbnN0IFN0
cmluZyYpOwogICAgIHZvaWQgdXBkYXRlU3BlbGxDaGVja2luZ0xhbmd1YWdlcyhjb25zdCBTdHJp
bmcmIGxhbmd1YWdlcyk7CisgICAgU3RyaW5nIGdldFNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoKTsK
IAogcHJpdmF0ZToKICAgICBUZXh0Q2hlY2tlckVuY2hhbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAzNzg4
YWIzLi43ZDVlY2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzQgQEAKIDIwMTItMDgtMDYgIE1h
cmlvIFNhbmNoZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgogCisgICAgICAgIFtXSzJd
W0dUS10gSW1wcm92ZW1lbnRzIGZvciB0aGUgbmV3IHNwZWxsLWNoZWNraW5nIEFQSQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMyNjIKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXByb3ZlIHRoZSB3YXkg
dGhlIG5ldyBzcGVsbC1jaGVja2luZyBBUEkgaXMgaW1wbGVtZW50ZWQsIGJ5CisgICAgICAgIHVz
aW5nIGJldHRlciBpbnRlcm5hbCByZXByZXNlbnRhdGlvbnMgZm9yIGRhdGEsIGRvY3VtZW50aW5n
IGJldHRlcgorICAgICAgICB0aGUgbmV3IGZ1bmN0aW9ucyBhbmQgdXNpbmcgYmV0dGVyIHVuaXQg
dGVzdHMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRUZXh0Q2hlY2tlci5j
cHA6CisgICAgICAgIChXZWJLaXRUZXh0Q2hlY2tlcjo6Z2V0U3BlbGxDaGVja2luZ0xhbmd1YWdl
cyk6IEp1c3QgcmV0dXJuIHRoZQorICAgICAgICB2YWx1ZSBwcmV2aW91c2x5IGNhY2hlZCB3aGVu
IGNhbGxpbmcgdG8gdGhlIHNldHRlciBmdW5jdGlvbi4KKyAgICAgICAgKFdlYktpdFRleHRDaGVj
a2VyOjpzZXRTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKTogVXBkYXRlIHRoZSB0ZXh0CisgICAgICAg
IGNoZWNrZXIgaW4gV2ViQ29yZSBhbmQgY2FjaGUgdGhlIHZhbHVlIHJldHVybmVkIGZyb20gaXQu
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VGV4dENoZWNrZXIuaDoKKyAgICAg
ICAgKFdlYktpdFRleHRDaGVja2VyKTogVXNlIGEgQ1N0cmluZyBpbnN0ZWFkIG9mIGFuIFN0cmlu
ZyB0byBjYWNoZQorICAgICAgICB0aGUgbGlzdCBvZiBzcGVsbCBjaGVja2luZyBsYW5ndWFnZXMu
IFVwZGF0ZSBnZXR0ZXIgYW5kIHNldHRlci4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRXZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKF9XZWJLaXRXZWJDb250ZXh0UHJpdmF0ZSk6
IE5vIG5lZWQgdG8gY2FjaGUgdGhlIHNwZWxsIGNoZWNraW5nCisgICAgICAgIGxhbmd1YWdlcyBo
ZXJlIGFueW1vcmUuCisgICAgICAgICh3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3NwZWxsX2NoZWNr
aW5nX2xhbmd1YWdlcyk6IEltcHJvdmUKKyAgICAgICAgYm90aCBpbXBsZW1lbnRhdGlvbiBhbmQg
ZG9jdW1lbnRhdGlvbiB0byBiZSBtb3JlIGNvbnNpc3RlbnQuCisgICAgICAgICh3ZWJraXRfd2Vi
X2NvbnRleHRfc2V0X3NwZWxsX2NoZWNraW5nX2xhbmd1YWdlcyk6IE1ha2UKKyAgICAgICAgJ2xh
bmd1YWdlcycgYSBtYW5kYXRvcnkgKG5vbi1OVUxMKSBwYXJhbWV0ZXIuIFVwZGF0ZSBkb2N1bWVu
dGF0aW9uLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RXZWJLaXRXZWJD
b250ZXh0LmNwcDoKKyAgICAgICAgKHRlc3RXZWJDb250ZXh0U3BlbGxDaGVja2VyKTogVGVzdCBl
dmVuIG1vcmUgc2l0dWF0aW9ucy4KKworMjAxMi0wOC0wNiAgTWFyaW8gU2FuY2hleiBQcmFkYSAg
PG1zYW5jaGV6QGlnYWxpYS5jb20+CisKICAgICAgICAgW1dLMl1bR1RLXSBJbXBsZW1lbnQgYSBu
ZXcgc3BlbGwgY2hlY2tlciBBUEkgZm9yIFdlYktpdDJHVEsrCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDI2OAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRUZXh0Q2hlY2tlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRUZXh0Q2hlY2tlci5jcHAKaW5kZXggNTY3
NmJiNi4uNWFlNjJjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0VGV4dENoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFRleHRDaGVja2VyLmNwcApAQCAtMTQwLDEzICsxNDAsMTUgQEAgdm9pZCBX
ZWJLaXRUZXh0Q2hlY2tlcjo6c2V0U3BlbGxDaGVja2luZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQog
ICAgIFdLVGV4dENoZWNrZXJDb250aW51b3VzU3BlbGxDaGVja2luZ0VuYWJsZWRTdGF0ZUNoYW5n
ZWQoZW5hYmxlZCk7CiB9CiAKLXZvaWQgV2ViS2l0VGV4dENoZWNrZXI6OnNldFNwZWxsQ2hlY2tp
bmdMYW5ndWFnZXMoY29uc3QgU3RyaW5nJiBsYW5ndWFnZXMpCitjb25zdCBDU3RyaW5nJiBXZWJL
aXRUZXh0Q2hlY2tlcjo6Z2V0U3BlbGxDaGVja2luZ0xhbmd1YWdlcygpCiB7Ci0gICAgaWYgKG1f
c3BlbGxDaGVja2luZ0xhbmd1YWdlcyA9PSBsYW5ndWFnZXMpCi0gICAgICAgIHJldHVybjsKLSAg
ICBtX3NwZWxsQ2hlY2tpbmdMYW5ndWFnZXMgPSBsYW5ndWFnZXM7CisgICAgU3RyaW5nIHNwZWxs
Q2hlY2tpbmdMYW5ndWFnZXMgPSBtX3RleHRDaGVja2VyLT5nZXRTcGVsbENoZWNraW5nTGFuZ3Vh
Z2VzKCk7CisgICAgbV9zcGVsbENoZWNraW5nTGFuZ3VhZ2VzID0gc3BlbGxDaGVja2luZ0xhbmd1
YWdlcy5pc0VtcHR5KCkgPyBDU3RyaW5nKCkgOiBzcGVsbENoZWNraW5nTGFuZ3VhZ2VzLnV0Zjgo
KTsKKyAgICByZXR1cm4gbV9zcGVsbENoZWNraW5nTGFuZ3VhZ2VzOworfQogCi0gICAgLy8gV2Ug
bmVlZCB0byB1cGRhdGUgdGhlIGxhbmd1YWdlcyBpbiB0aGUgZW5jaGFudC1iYXNlZCBjaGVja2Vy
IHRvby4KLSAgICBtX3RleHRDaGVja2VyLT51cGRhdGVTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKGxh
bmd1YWdlcyk7Cit2b2lkIFdlYktpdFRleHRDaGVja2VyOjpzZXRTcGVsbENoZWNraW5nTGFuZ3Vh
Z2VzKGNvbnN0IENTdHJpbmcmIGxhbmd1YWdlcykKK3sKKyAgICBtX3RleHRDaGVja2VyLT51cGRh
dGVTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKFN0cmluZzo6ZnJvbVVURjgobGFuZ3VhZ2VzLmRhdGEo
KSkpOwogfQogI2VuZGlmIC8vIEVOQUJMRShTUEVMTENIRUNLKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VGV4dENoZWNrZXIuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFRleHRDaGVja2VyLmgKaW5kZXggZGQ3NTgz
YS4uM2NjYTU2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0VGV4dENoZWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRUZXh0Q2hlY2tlci5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8d3RmL0Zh
c3RBbGxvY0Jhc2UuaD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIGNsYXNzIFdlYktp
dFRleHRDaGVja2VyIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKQEAgLTQzLDE0ICs0
NCwxNCBAQCBwdWJsaWM6CiAgICAgdm9pZCBpZ25vcmVXb3JkKGNvbnN0IFN0cmluZyYgd29yZCk7
CiAKICAgICAvLyBUbyBiZSBjYWxsZWQgZnJvbSBXZWJLaXRXZWJDb250ZXh0IG9ubHkuCi0gICAg
Y29uc3QgU3RyaW5nIGdldFNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoKSB7IHJldHVybiBtX3NwZWxs
Q2hlY2tpbmdMYW5ndWFnZXM7IH0KLSAgICB2b2lkIHNldFNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMo
Y29uc3QgU3RyaW5nJiBzcGVsbENoZWNraW5nTGFuZ3VhZ2VzKTsKKyAgICBjb25zdCBDU3RyaW5n
JiBnZXRTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKCk7CisgICAgdm9pZCBzZXRTcGVsbENoZWNraW5n
TGFuZ3VhZ2VzKGNvbnN0IENTdHJpbmcmIHNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMpOwogCiBwcml2
YXRlOgogICAgIFdlYktpdFRleHRDaGVja2VyKCk7CiAKICAgICBPd25QdHI8V2ViQ29yZTo6VGV4
dENoZWNrZXJFbmNoYW50PiBtX3RleHRDaGVja2VyOwotICAgIFN0cmluZyBtX3NwZWxsQ2hlY2tp
bmdMYW5ndWFnZXM7CisgICAgQ1N0cmluZyBtX3NwZWxsQ2hlY2tpbmdMYW5ndWFnZXM7CiAgICAg
Ym9vbCBtX3NwZWxsQ2hlY2tpbmdFbmFibGVkOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJDb250ZXh0LmNwcAppbmRleCBhYmU2YjZm
Li45NTMyZjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRXZWJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJDb250ZXh0LmNwcApAQCAtNzcsNyArNzcsNiBAQCBzdHJ1Y3QgX1dlYktpdFdl
YkNvbnRleHRQcml2YXRlIHsKICNlbmRpZgogI2lmIEVOQUJMRShTUEVMTENIRUNLKQogICAgIE93
blB0cjxXZWJLaXRUZXh0Q2hlY2tlcj4gdGV4dENoZWNrZXI7Ci0gICAgR093blB0cjxnY2hhcj4g
c3BlbGxDaGVja2luZ0xhbmd1YWdlczsKICNlbmRpZgogfTsKIApAQCAtNDMyLDcgKzQzMSw3IEBA
IHZvaWQgd2Via2l0X3dlYl9jb250ZXh0X3JlZ2lzdGVyX3VyaV9zY2hlbWUoV2ViS2l0V2ViQ29u
dGV4dCogY29udGV4dCwgY29uc3QgY2hhCiAgKiB3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3NwZWxs
X2NoZWNraW5nX2VuYWJsZWQ6CiAgKiBAY29udGV4dDogYSAjV2ViS2l0V2ViQ29udGV4dAogICoK
LSAqIEdldCB0aGUgY3VycmVudCBzdGF0dXMgb2YgdGhlIHNwZWxsIGNoZWNraW5nIGZlYXR1cmUu
CisgKiBHZXQgd2hldGhlciBzcGVsbCBjaGVja2luZyBmZWF0dXJlIGlzIGN1cnJlbnRseSBlbmFi
bGVkLgogICoKICAqIFJldHVybnM6ICVUUlVFIElmIHNwZWxsIGNoZWNraW5nIGlzIGVuYWJsZWQs
IG9yICVGQUxTRSBvdGhlcndpc2UuCiAgKi8KQEAgLTQ2OCwxOCArNDY3LDI0IEBAIHZvaWQgd2Vi
a2l0X3dlYl9jb250ZXh0X3NldF9zcGVsbF9jaGVja2luZ19lbmFibGVkKFdlYktpdFdlYkNvbnRl
eHQqIGNvbnRleHQsIGdiCiAgKiBAY29udGV4dDogYSAjV2ViS2l0V2ViQ29udGV4dAogICoKICAq
IEdldCB0aGUgdGhlIGxpc3Qgb2Ygc3BlbGwgY2hlY2tpbmcgbGFuZ3VhZ2VzIGFzc29jaWF0ZWQg
d2l0aAotICogQGNvbnRleHQsIHNlcGFyYXRlZCBieSBjb21tYXMuIFNlZQotICogd2Via2l0X3dl
Yl9jb250ZXh0X3NldF9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXMoKSBmb3IgbW9yZSBkZXRhaWxz
Ci0gKiBvbiB0aGUgZm9ybWF0IG9mIHRoZSBsYW5ndWFnZXMgaW4gdGhlIGxpc3QuCisgKiBAY29u
dGV4dCBzZXBhcmF0ZWQgYnkgY29tbWFzLCBvciAlTlVMTCBpZiBubyBsYW5ndWFnZXMgaGF2ZSBi
ZWVuCisgKiBwcmV2aW91c2x5IHNldC4KKworICogU2VlIHdlYmtpdF93ZWJfY29udGV4dF9zZXRf
c3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzKCkgZm9yIG1vcmUKKyAqIGRldGFpbHMgb24gdGhlIGZv
cm1hdCBvZiB0aGUgbGFuZ3VhZ2VzIGluIHRoZSBsaXN0LgogICoKLSAqIFJldHVybnM6ICh0cmFu
c2ZlciBub25lKTogQSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBsYW5ndWFnZXMuCisgKiBSZXR1
cm5zOiAodHJhbnNmZXIgbm9uZSk6IEEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgbGFuZ3VhZ2Vz
IGlmCisgKiBhdmFpbGFibGUsIG9yICVOVUxMIG90aGVyd2lzZS4KICAqLwogY29uc3QgZ2NoYXIq
IHdlYmtpdF93ZWJfY29udGV4dF9nZXRfc3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzKFdlYktpdFdl
YkNvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lT
X1dFQl9DT05URVhUKGNvbnRleHQpLCAwKTsKIAogI2lmIEVOQUJMRShTUEVMTENIRUNLKQotICAg
IHJldHVybiBjb250ZXh0LT5wcml2LT5zcGVsbENoZWNraW5nTGFuZ3VhZ2VzLmdldCgpOworICAg
IENTdHJpbmcgc3BlbGxDaGVja2luZ0xhbmd1YWdlcyA9IGNvbnRleHQtPnByaXYtPnRleHRDaGVj
a2VyLT5nZXRTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKCk7CisgICAgaWYgKCFzcGVsbENoZWNraW5n
TGFuZ3VhZ2VzLmxlbmd0aCgpKQorICAgICAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gc3BlbGxD
aGVja2luZ0xhbmd1YWdlcy5kYXRhKCk7CiAjZWxzZQogICAgIHJldHVybiAwOwogI2VuZGlmCkBA
IC00ODgsMjUgKzQ5MywyOCBAQCBjb25zdCBnY2hhciogd2Via2l0X3dlYl9jb250ZXh0X2dldF9z
cGVsbF9jaGVja2luZ19sYW5ndWFnZXMoV2ViS2l0V2ViQ29udGV4dCogYwogLyoqCiAgKiB3ZWJr
aXRfd2ViX2NvbnRleHRfc2V0X3NwZWxsX2NoZWNraW5nX2xhbmd1YWdlczoKICAqIEBjb250ZXh0
OiBhICNXZWJLaXRXZWJDb250ZXh0Ci0gKiBAbGFuZ3VhZ2VzOiAoYWxsb3ctbm9uZSk6IG5ldyBs
aXN0IG9mIHNwZWxsIGNoZWNraW5nCi0gKiBsYW5ndWFnZXMgc2VwYXJhdGVkIGJ5IGNvbW1hcywg
b3IgJU5VTEwKKyAqIEBsYW5ndWFnZXM6IG5ldyBsaXN0IG9mIHNwZWxsIGNoZWNraW5nIGxhbmd1
YWdlcyBzZXBhcmF0ZWQgYnkKKyAqIGNvbW1hcwogICoKICAqIFNldCB0aGUgbGlzdCBvZiBzcGVs
bCBjaGVja2luZyBsYW5ndWFnZXMgdG8gYmUgdXNlZCBmb3Igc3BlbGwKLSAqIGNoZWNraW5nLCBz
ZXBhcmF0ZWQgYnkgY29tbWFzLiBJbiBjYXNlICVOVUxMIGlzIHBhc3NlZCwgdGhlIGRlZmF1bHQK
LSAqIHZhbHVlIGFzIHJldHVybmVkIGJ5IGd0a19nZXRfZGVmYXVsdF9sYW5ndWFnZSgpIHdpbGwg
YmUgdXNlZC4KKyAqIGNoZWNraW5nLCBzZXBhcmF0ZWQgYnkgY29tbWFzLgogICoKICAqIFRoZSBs
b2NhbGUgc3RyaW5nIHR5cGljYWxseSBpcyBpbiB0aGUgZm9ybSBsYW5nX0NPVU5UUlksIHdoZXJl
IGxhbmcKICAqIGlzIGFuIElTTy02MzkgbGFuZ3VhZ2UgY29kZSwgYW5kIENPVU5UUlkgaXMgYW4g
SVNPLTMxNjYgY291bnRyeSBjb2RlLgogICogRm9yIGluc3RhbmNlLCBzdl9GSSBmb3IgU3dlZGlz
aCBhcyB3cml0dGVuIGluIEZpbmxhbmQgb3IgcHRfQlIKICAqIGZvciBQb3J0dWd1ZXNlIGFzIHdy
aXR0ZW4gaW4gQnJhemlsLgorICoKKyAqIFlvdSBuZWVkIHRvIGNhbGwgdGhpcyBmdW5jdGlvbiB3
aXRoIGEgdmFsaWQgbGlzdCBvZiBsYW5ndWFnZXMgYXQKKyAqIGxlYXN0IG9uY2UgaW4gb3JkZXIg
dG8gcHJvcGVybHkgZW5hYmxlIHRoZSBzcGVsbCBjaGVja2luZyBmZWF0dXJlCisgKiBpbiBXZWJL
aXQuCiAgKi8KIHZvaWQgd2Via2l0X3dlYl9jb250ZXh0X3NldF9zcGVsbF9jaGVja2luZ19sYW5n
dWFnZXMoV2ViS2l0V2ViQ29udGV4dCogY29udGV4dCwgY29uc3QgZ2NoYXIqIGxhbmd1YWdlcykK
IHsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19XRUJfQ09OVEVYVChjb250ZXh0KSk7
CisgICAgZ19yZXR1cm5faWZfZmFpbChsYW5ndWFnZXMpOwogCiAjaWYgRU5BQkxFKFNQRUxMQ0hF
Q0spCi0gICAgY29udGV4dC0+cHJpdi0+dGV4dENoZWNrZXItPnNldFNwZWxsQ2hlY2tpbmdMYW5n
dWFnZXMoU3RyaW5nKGxhbmd1YWdlcykpOwotICAgIGNvbnRleHQtPnByaXYtPnNwZWxsQ2hlY2tp
bmdMYW5ndWFnZXMuc2V0KGdfc3RyZHVwKGxhbmd1YWdlcykpOworICAgIGNvbnRleHQtPnByaXYt
PnRleHRDaGVja2VyLT5zZXRTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKENTdHJpbmcobGFuZ3VhZ2Vz
KSk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvdGVzdHMvVGVzdFdlYktpdFdlYkNvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvdGVzdHMvVGVzdFdlYktpdFdlYkNvbnRleHQuY3BwCmluZGV4IGY0MmZl
YWYuLjFiMTcyZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L3Rlc3RzL1Rlc3RXZWJLaXRXZWJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0V2ViQ29udGV4dC5jcHAKQEAgLTIzMywyOCAr
MjMzLDM3IEBAIHN0YXRpYyB2b2lkIHRlc3RXZWJDb250ZXh0VVJJU2NoZW1lKFVSSVNjaGVtZVRl
c3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCiAKIHN0YXRpYyB2b2lkIHRlc3RXZWJDb250ZXh0U3Bl
bGxDaGVja2VyKFRlc3QqIHRlc3QsIGdjb25zdHBvaW50ZXIpCiB7Ci0gICAgR1JlZlB0cjxXZWJL
aXRXZWJDb250ZXh0PiB3ZWJDb250ZXh0KHdlYmtpdF93ZWJfY29udGV4dF9nZXRfZGVmYXVsdCgp
KTsKKyAgICBXZWJLaXRXZWJDb250ZXh0KiB3ZWJDb250ZXh0ID0gd2Via2l0X3dlYl9jb250ZXh0
X2dldF9kZWZhdWx0KCk7CiAKLSAgICAvLyBTZXQgdGhlIGxhbmd1YWdlIHRvIGEgc3BlY2lmaWMg
b25lLCBhbiBlbXB0eSBvbmUgYW5kIGEgbGlzdCBvZiB0aGVtLgotICAgIHdlYmtpdF93ZWJfY29u
dGV4dF9zZXRfc3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzKHdlYkNvbnRleHQuZ2V0KCksICJlbl9V
UyIpOwotICAgIGNvbnN0IGdjaGFyKiBjdXJyZW50TGFuZ3VhZ2Uod2Via2l0X3dlYl9jb250ZXh0
X2dldF9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXMod2ViQ29udGV4dC5nZXQoKSkpOworICAgIC8v
IENoZWNrIHdoYXQgaGFwcGVucyBpZiBubyBzcGVsbCBjaGVja2luZyBsYW5ndWFnZSBoYXMgYmVl
biBzZXQuCisgICAgY29uc3QgZ2NoYXIqIGN1cnJlbnRMYW5ndWFnZSA9IHdlYmtpdF93ZWJfY29u
dGV4dF9nZXRfc3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzKHdlYkNvbnRleHQpOworICAgIGdfYXNz
ZXJ0KCFjdXJyZW50TGFuZ3VhZ2UpOworCisgICAgLy8gU2V0IHRoZSBsYW5ndWFnZSB0byBhIHNw
ZWNpZmljIG9uZS4KKyAgICB3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3NwZWxsX2NoZWNraW5nX2xh
bmd1YWdlcyh3ZWJDb250ZXh0LCAiZW5fVVMiKTsKKyAgICBjdXJyZW50TGFuZ3VhZ2UgPSB3ZWJr
aXRfd2ViX2NvbnRleHRfZ2V0X3NwZWxsX2NoZWNraW5nX2xhbmd1YWdlcyh3ZWJDb250ZXh0KTsK
ICAgICBnX2Fzc2VydF9jbXBzdHIoY3VycmVudExhbmd1YWdlLCA9PSwgImVuX1VTIik7CiAKLSAg
ICB3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3NwZWxsX2NoZWNraW5nX2xhbmd1YWdlcyh3ZWJDb250
ZXh0LmdldCgpLCAwKTsKLSAgICBjdXJyZW50TGFuZ3VhZ2UgPSB3ZWJraXRfd2ViX2NvbnRleHRf
Z2V0X3NwZWxsX2NoZWNraW5nX2xhbmd1YWdlcyh3ZWJDb250ZXh0LmdldCgpKTsKLSAgICBnX2Fz
c2VydF9jbXBzdHIoY3VycmVudExhbmd1YWdlLCA9PSwgMCk7CisgICAgLy8gU2V0IHRoZSBsYW5n
dWFnZSBzdHJpbmcgdG8gbGlzdCBvZiB2YWxpZCBsYW5ndWFnZXMuCisgICAgd2Via2l0X3dlYl9j
b250ZXh0X3NldF9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXMod2ViQ29udGV4dCwgImVuX0dCLGVu
X1VTIik7CisgICAgY3VycmVudExhbmd1YWdlID0gd2Via2l0X3dlYl9jb250ZXh0X2dldF9zcGVs
bF9jaGVja2luZ19sYW5ndWFnZXMod2ViQ29udGV4dCk7CisgICAgZ19hc3NlcnRfY21wc3RyKGN1
cnJlbnRMYW5ndWFnZSwgPT0sICJlbl9HQixlbl9VUyIpOworCisgICAgLy8gVHJ5IHBhc3Npbmcg
YSB3cm9uZyBsYW5ndWFnZSBhbG9uZyB3aXRoIGdvb2Qgb25lcy4KKyAgICB3ZWJraXRfd2ViX2Nv
bnRleHRfc2V0X3NwZWxsX2NoZWNraW5nX2xhbmd1YWdlcyh3ZWJDb250ZXh0LCAiYmRfV1IsZW5f
VVMsZW5fR0IiKTsKKyAgICBjdXJyZW50TGFuZ3VhZ2UgPSB3ZWJraXRfd2ViX2NvbnRleHRfZ2V0
X3NwZWxsX2NoZWNraW5nX2xhbmd1YWdlcyh3ZWJDb250ZXh0KTsKKyAgICBnX2Fzc2VydF9jbXBz
dHIoY3VycmVudExhbmd1YWdlLCA9PSwgImVuX1VTLGVuX0dCIik7CiAKLSAgICB3ZWJraXRfd2Vi
X2NvbnRleHRfc2V0X3NwZWxsX2NoZWNraW5nX2xhbmd1YWdlcyh3ZWJDb250ZXh0LmdldCgpLCAi
ZXNfRVMsZW5fVVMiKTsKLSAgICBjdXJyZW50TGFuZ3VhZ2UgPSB3ZWJraXRfd2ViX2NvbnRleHRf
Z2V0X3NwZWxsX2NoZWNraW5nX2xhbmd1YWdlcyh3ZWJDb250ZXh0LmdldCgpKTsKLSAgICBnX2Fz
c2VydF9jbXBzdHIoY3VycmVudExhbmd1YWdlLCA9PSwgImVzX0VTLGVuX1VTIik7CisgICAgLy8g
VHJ5IHBhc3NpbmcgYSBsaXN0IHdpdGggb25seSB3cm9uZyBsYW5ndWFnZXMuCisgICAgd2Via2l0
X3dlYl9jb250ZXh0X3NldF9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXMod2ViQ29udGV4dCwgImJk
X1dSLHdyX0JEIik7CisgICAgY3VycmVudExhbmd1YWdlID0gd2Via2l0X3dlYl9jb250ZXh0X2dl
dF9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXMod2ViQ29udGV4dCk7CisgICAgZ19hc3NlcnQoIWN1
cnJlbnRMYW5ndWFnZSk7CiAKICAgICAvLyBDaGVjayBkaXNhYmxpbmcgYW5kIHJlLWVuYWJsaW5n
IHNwZWxsIGNoZWNraW5nLgotICAgIHdlYmtpdF93ZWJfY29udGV4dF9zZXRfc3BlbGxfY2hlY2tp
bmdfZW5hYmxlZCh3ZWJDb250ZXh0LmdldCgpLCBGQUxTRSk7Ci0gICAgZ2Jvb2xlYW4gaXNTcGVs
bENoZWNraW5nRW5hYmxlZCA9IHdlYmtpdF93ZWJfY29udGV4dF9nZXRfc3BlbGxfY2hlY2tpbmdf
ZW5hYmxlZCh3ZWJDb250ZXh0LmdldCgpKTsKLSAgICBnX2Fzc2VydCghaXNTcGVsbENoZWNraW5n
RW5hYmxlZCk7Ci0gICAgd2Via2l0X3dlYl9jb250ZXh0X3NldF9zcGVsbF9jaGVja2luZ19lbmFi
bGVkKHdlYkNvbnRleHQuZ2V0KCksIFRSVUUpOwotICAgIGlzU3BlbGxDaGVja2luZ0VuYWJsZWQg
PSB3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3NwZWxsX2NoZWNraW5nX2VuYWJsZWQod2ViQ29udGV4
dC5nZXQoKSk7Ci0gICAgZ19hc3NlcnQoaXNTcGVsbENoZWNraW5nRW5hYmxlZCk7CisgICAgd2Vi
a2l0X3dlYl9jb250ZXh0X3NldF9zcGVsbF9jaGVja2luZ19lbmFibGVkKHdlYkNvbnRleHQsIEZB
TFNFKTsKKyAgICBnX2Fzc2VydCghd2Via2l0X3dlYl9jb250ZXh0X2dldF9zcGVsbF9jaGVja2lu
Z19lbmFibGVkKHdlYkNvbnRleHQpKTsKKyAgICB3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3NwZWxs
X2NoZWNraW5nX2VuYWJsZWQod2ViQ29udGV4dCwgVFJVRSk7CisgICAgZ19hc3NlcnQod2Via2l0
X3dlYl9jb250ZXh0X2dldF9zcGVsbF9jaGVja2luZ19lbmFibGVkKHdlYkNvbnRleHQpKTsKIH0K
IAogdm9pZCBiZWZvcmVBbGwoKQotLSAKMS43LjExLjIKCg==
</data>
<flag name="review"
          id="166420"
          type_id="1"
          status="+"
          setter="cgarcia"
    />
          </attachment>
      

    </bug>

</bugzilla>