<?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>43054</bug_id>
          
          <creation_ts>2010-07-27 09:46:17 -0700</creation_ts>
          <short_desc>WebBackForwardList.get_{back|forward}_list_with_limit not introspectable</short_desc>
          <delta_ts>2010-08-17 13:01:40 -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>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>https://bugzilla.gnome.org/show_bug.cgi?id=625096</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Lucian">lucian.branescu</reporter>
          <assigned_to name="Gustavo Noronha (kov)">gustavo</assigned_to>
          <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>rgs</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>256657</commentid>
    <comment_count>0</comment_count>
    <who name="Lucian">lucian.branescu</who>
    <bug_when>2010-07-27 09:46:17 -0700</bug_when>
    <thetext>Those methods are marked with introspectable=&quot;0&quot; by the scanner, which means that there are missing annotations from the gtk-doc of those functions.

At the very least, we need (transfer) and (element-type) annotations. (element-type) should be WebHistoryItem, but I&apos;m not sure about (transfer).

introspection gtk-doc info: http://live.gnome.org/GObjectIntrospection/Annotations
pygobject bug :https://bugzilla.gnome.org/show_bug.cgi?id=625096</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>264464</commentid>
    <comment_count>1</comment_count>
      <attachid>64364</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-08-13 12:29:55 -0700</bug_when>
    <thetext>Created attachment 64364
proposed patch

This should fix the problem, including the crash lucian told me about when getting the WebBackForwardList from the view more than once (GI thought the ownership was being transferred, but it was not). You&apos;ll notice the patch moves all of the docstrings to the header file, and here&apos;s why:

The g-ir-scanner is currently unable to parse .cpp files. That is why we only feed it .h files in our build system, I imagine. That means any annotation added to the .cpp file docstrings are going to be ignored. The first thing that came to my mind, that would not be too disruptive is to add a smaller docstring in the header file that would only have the information required by the introspection. I tried that, but it breaks our documentation generation horribly. gtk-doc prefers the docstring it finds in the header, and ignores the one in the .cpp file. If I tell gtk-doc to ignore the header file it generates a rather empty page that only lists the example \o/

So I believe our only way out here, other than fixing the g-ir-scanner to read the .cpp files, is to move all doc strings to .h files. If we have a consensus around this, I will do follow-up patches moving the docstrings for each object, and trying to add the required GI annotation to all of them in the process. Comments?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265690</commentid>
    <comment_count>2</comment_count>
      <attachid>64364</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-08-17 12:19:14 -0700</bug_when>
    <thetext>Comment on attachment 64364
proposed patch

Another patch coming, adapted to the new reality of g-ir-scanner tolerating .cpp files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265696</commentid>
    <comment_count>3</comment_count>
      <attachid>64617</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-08-17 12:30:55 -0700</bug_when>
    <thetext>Created attachment 64617
proposed patch

This patch is adapted to the new reality of g-ir-scanner accepting .cpp files, and much more ortodox, because of that ;D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265711</commentid>
    <comment_count>4</comment_count>
      <attachid>64617</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-08-17 12:54:11 -0700</bug_when>
    <thetext>Comment on attachment 64617
proposed patch

LGTM!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265719</commentid>
    <comment_count>5</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-08-17 13:01:40 -0700</bug_when>
    <thetext>Landed as r65532.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64364</attachid>
            <date>2010-08-13 12:29:55 -0700</date>
            <delta_ts>2010-08-17 12:19:14 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>0001-Annotate-WebKitWebBackForwardList.patch</filename>
            <type>text/plain</type>
            <size>22844</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">RnJvbSBiM2FkYmI2ZTYzMGQzZGJlNWM5YTQ1NjIxNzBlNDQwMjJmNDNkYmU5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgPGduc0Bnbm9tZS5vcmc+
CkRhdGU6IEZyaSwgMTMgQXVnIDIwMTAgMTY6MTY6NDUgLTAzMDAKU3ViamVjdDogW1BBVENIXSBB
bm5vdGF0ZSBXZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QKCi0tLQogV2ViS2l0L2d0ay9DaGFuZ2VM
b2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTkgKysrCiBXZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJiYWNrZm9yd2FyZGxpc3QuY3BwIHwgIDE0NSAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmJhY2tmb3J3YXJkbGlzdC5oICAgfCAg
MTQ1ICsrKysrKysrKysrKysrKysrKysrKysrKwogV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vi
dmlldy5jcHAgICAgICAgICAgICB8ICAgIDggLS0KIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdl
YnZpZXcuaCAgICAgICAgICAgICAgfCAgICA5ICsrCiA1IGZpbGVzIGNoYW5nZWQsIDE3MyBpbnNl
cnRpb25zKCspLCAxNTMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9DaGFu
Z2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCAwY2MyMzFlLi4zMGViNTQzIDEwMDY0
NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIyIEBACisyMDEwLTA4LTEzICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0
YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvLnVrPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFdlYkJhY2tGb3J3YXJkTGlzdC5nZXRfe2JhY2t8Zm9yd2Fy
ZH1fbGlzdF93aXRoX2xpbWl0IG5vdCBpbnRyb3NwZWN0YWJsZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDMwNTQKKworICAgICAgICBBbm5vdGF0ZSBX
ZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QgYW5kIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHVzZWQgdG8g
ZmV0Y2ggaXQgZnJvbQorICAgICAgICB0aGUgV2ViS2l0V2ViVmlldy4gVGhlIEdPYmplY3QgSW50
cm9zcGVjdGlvbiBzY2FubmVyIGlzIGN1cnJlbnRseSBsaW1pdGVkLCBhbmQgaXMKKyAgICAgICAg
bm90IGFibGUgdG8gcGFyc2UgdGhlIC5jcHAgZmlsZXMsIGFuZCBndGstZG9jIHdpbGwgcHJlZmVy
IHRoZSBoZWFkZXIgZmlsZSBmb3IKKyAgICAgICAgZG9jdW1lbnRhdGlvbiwgc28gSSBjYW5ub3Qg
c2ltcGx5IGFkZCBhIG1pbmktZG9jdW1lbnRhdGlvbiBibG9jayBpbiB0aGUgaGVhZGVyCisgICAg
ICAgIGZpbGUganVzdCBmb3IgaW50cm9zcGVjdGlvbi4gSSdtIHRodXMgbW92aW5nIHRoZSBkb2Nz
dHJpbmdzIHRvIHRoZSBoZWFkZXIKKyAgICAgICAgZmlsZS4gTW9yZSB3aWxsIGZvbGxvdy4KKwor
ICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJiYWNrZm9yd2FyZGxpc3QuY3BwOgorICAgICAgICAq
IHdlYmtpdC93ZWJraXR3ZWJiYWNrZm9yd2FyZGxpc3QuaDoKKyAgICAgICAgKiB3ZWJraXQvd2Vi
a2l0d2Vidmlldy5jcHA6CisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnZpZXcuaDoKKwogMjAx
MC0wOC0xMiAgR3VzdGF2byBOb3JvbmhhIFNpbHZhICA8Z3VzdGF2by5ub3JvbmhhQGNvbGxhYm9y
YS5jby51az4KIAogICAgICAgICBSZWFsbHkgYWRkIGEgbWlzc2luZyBmaWxlLiBJIHdpc2ggSSB3
b3VsZCByZW1lbWJlciBydW5uaW5nIGdpdCBhZGQKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHdlYmJhY2tmb3J3YXJkbGlzdC5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXR3ZWJiYWNrZm9yd2FyZGxpc3QuY3BwCmluZGV4IDcwZmRlYTUuLjI5YzY0ZDIgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmJhY2tmb3J3YXJkbGlzdC5jcHAKKysrIGIv
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViYmFja2ZvcndhcmRsaXN0LmNwcApAQCAtOTUsMTQg
Kzk1LDYgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9pbml0KFdl
YktpdFdlYkJhY2tGb3J3YXJkTGlzdCogd2ViQmFja0YKICAgICB3ZWJCYWNrRm9yd2FyZExpc3Qt
PnByaXYgPSBXRUJLSVRfV0VCX0JBQ0tfRk9SV0FSRF9MSVNUX0dFVF9QUklWQVRFKHdlYkJhY2tG
b3J3YXJkTGlzdCk7CiB9CiAKLS8qKgotICogd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9u
ZXdfd2l0aF93ZWJfdmlldzoKLSAqIEB3ZWJfdmlldzogdGhlIGJhY2sgZm9yd2FyZCBsaXN0J3Mg
I1dlYktpdFdlYlZpZXcKLSAqCi0gKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIHRoZSBiYWNrIGZv
cndhcmQgbGlzdCB3aXRoIGEgY29udHJvbGxpbmcgI1dlYktpdFdlYlZpZXcKLSAqCi0gKiBSZXR1
cm4gdmFsdWU6IGEgI1dlYktpdFdlYkJhY2tGb3J3YXJkTGlzdAotICovCiBXZWJLaXRXZWJCYWNr
Rm9yd2FyZExpc3QqIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3RfbmV3X3dpdGhfd2ViX3Zp
ZXcoV2ViS2l0V2ViVmlldyogd2ViVmlldykKIHsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChX
RUJLSVRfSVNfV0VCX1ZJRVcod2ViVmlldyksIE5VTEwpOwpAQCAtMTE4LDEyICsxMTAsNiBAQCBX
ZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QqIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3RfbmV3
X3dpdGhfd2ViX3ZpZXcoV2ViS2l0VwogICAgIHJldHVybiB3ZWJCYWNrRm9yd2FyZExpc3Q7CiB9
CiAKLS8qKgotICogd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9nb19mb3J3YXJkOgotICog
QHdlYl9iYWNrX2ZvcndhcmRfbGlzdDogYSAjV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0Ci0gKgot
ICogU3RlcHMgZm9yd2FyZCBpbiB0aGUgYmFjayBmb3J3YXJkIGxpc3QKLSAqLwogdm9pZCB3ZWJr
aXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2dvX2ZvcndhcmQoV2ViS2l0V2ViQmFja0ZvcndhcmRM
aXN0KiB3ZWJCYWNrRm9yd2FyZExpc3QpCiB7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRf
SVNfV0VCX0JBQ0tfRk9SV0FSRF9MSVNUKHdlYkJhY2tGb3J3YXJkTGlzdCkpOwpAQCAtMTMzLDEy
ICsxMTksNiBAQCB2b2lkIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3RfZ29fZm9yd2FyZChX
ZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QqIHdlYkJhY2tGbwogICAgICAgICBiYWNrRm9yd2FyZExp
c3QtPmdvRm9yd2FyZCgpOwogfQogCi0vKioKLSAqIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xp
c3RfZ29fYmFjazoKLSAqIEB3ZWJfYmFja19mb3J3YXJkX2xpc3Q6IGEgI1dlYktpdFdlYkJhY2tG
b3J3YXJkTGlzdAotICoKLSAqIFN0ZXBzIGJhY2t3YXJkIGluIHRoZSBiYWNrIGZvcndhcmQgbGlz
dAotICovCiB2b2lkIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3RfZ29fYmFjayhXZWJLaXRX
ZWJCYWNrRm9yd2FyZExpc3QqIHdlYkJhY2tGb3J3YXJkTGlzdCkKIHsKICAgICBnX3JldHVybl9p
Zl9mYWlsKFdFQktJVF9JU19XRUJfQkFDS19GT1JXQVJEX0xJU1Qod2ViQmFja0ZvcndhcmRMaXN0
KSk7CkBAIC0xNDgsMTUgKzEyOCw2IEBAIHZvaWQgd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlz
dF9nb19iYWNrKFdlYktpdFdlYkJhY2tGb3J3YXJkTGlzdCogd2ViQmFja0ZvcndhCiAgICAgICAg
IGJhY2tGb3J3YXJkTGlzdC0+Z29CYWNrKCk7CiB9CiAKLS8qKgotICogd2Via2l0X3dlYl9iYWNr
X2ZvcndhcmRfbGlzdF9jb250YWluc19pdGVtOgotICogQHdlYl9iYWNrX2ZvcndhcmRfbGlzdDog
YSAjV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0Ci0gKiBAaGlzdG9yeV9pdGVtOiB0aGUgI1dlYktp
dFdlYkhpc3RvcnlJdGVtIHRvIGNoZWNrCi0gKgotICogQ2hlY2tzIGlmIEB3ZWJfaGlzdG9yeV9p
dGVtIGlzIGluIHRoZSBiYWNrIGZvcndhcmQgbGlzdAotICoKLSAqIFJldHVybjogJVRSVUUgaWYg
QHdlYl9oaXN0b3J5X2l0ZW0gaXMgaW4gdGhlIGJhY2sgZm9yd2FyZCBsaXN0LCAlRkFMU0UgaWYg
aXQgZG9lc24ndAotICovCiBnYm9vbGVhbiB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2Nv
bnRhaW5zX2l0ZW0oV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0KiB3ZWJCYWNrRm9yd2FyZExpc3Qs
IFdlYktpdFdlYkhpc3RvcnlJdGVtKiB3ZWJIaXN0b3J5SXRlbSkKIHsKICAgICBnX3JldHVybl92
YWxfaWZfZmFpbChXRUJLSVRfSVNfV0VCX0JBQ0tfRk9SV0FSRF9MSVNUKHdlYkJhY2tGb3J3YXJk
TGlzdCksIEZBTFNFKTsKQEAgLTE3MSwxMyArMTQyLDYgQEAgZ2Jvb2xlYW4gd2Via2l0X3dlYl9i
YWNrX2ZvcndhcmRfbGlzdF9jb250YWluc19pdGVtKFdlYktpdFdlYkJhY2tGb3J3YXJkTGlzdCog
d2UKICAgICByZXR1cm4gKGJhY2tGb3J3YXJkTGlzdC0+ZW5hYmxlZCgpID8gYmFja0ZvcndhcmRM
aXN0LT5jb250YWluc0l0ZW0oaGlzdG9yeUl0ZW0pIDogRkFMU0UpOwogfQogCi0vKioKLSAqIHdl
YmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3RfZ29fdG9faXRlbToKLSAqIEB3ZWJfYmFja19mb3J3
YXJkX2xpc3Q6IGEgI1dlYktpdFdlYkJhY2tGb3J3YXJkTGlzdAotICogQGhpc3RvcnlfaXRlbTog
dGhlICNXZWJLaXRXZWJIaXN0b3J5SXRlbSB0byBnbyB0bwotICoKLSAqIEdvIHRvIHRoZSBzcGVj
aWZpZWQgQHdlYl9oaXN0b3J5X2l0ZW0gaW4gdGhlIGJhY2sgZm9yd2FyZCBsaXN0Ci0gKi8KIHZv
aWQgd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9nb190b19pdGVtKFdlYktpdFdlYkJhY2tG
b3J3YXJkTGlzdCogd2ViQmFja0ZvcndhcmRMaXN0LCBXZWJLaXRXZWJIaXN0b3J5SXRlbSogd2Vi
SGlzdG9yeUl0ZW0pCiB7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfV0VCX0JBQ0tf
Rk9SV0FSRF9MSVNUKHdlYkJhY2tGb3J3YXJkTGlzdCkpOwpAQCAtMTkwLDE1ICsxNTQsNiBAQCB2
b2lkIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3RfZ29fdG9faXRlbShXZWJLaXRXZWJCYWNr
Rm9yd2FyZExpc3QqIHdlYkJhY2tGbwogICAgICAgICBiYWNrRm9yd2FyZExpc3QtPmdvVG9JdGVt
KGhpc3RvcnlJdGVtKTsKIH0KIAotLyoqCi0gKiB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0
X2dldF9mb3J3YXJkX2xpc3Rfd2l0aF9saW1pdDoKLSAqIEB3ZWJfYmFja19mb3J3YXJkX2xpc3Q6
IGEgI1dlYktpdFdlYkJhY2tGb3J3YXJkTGlzdAotICogQGxpbWl0OiB0aGUgbnVtYmVyIG9mIGl0
ZW1zIHRvIHJldHJpZXZlCi0gKgotICogUmV0dXJucyBhIGxpc3Qgb2YgaXRlbXMgdGhhdCBzdWNj
ZWVkIHRoZSBjdXJyZW50IGl0ZW0sIGxpbWl0ZWQgYnkgQGxpbWl0Ci0gKgotICogUmV0dXJuIHZh
bHVlOiBhICNHTGlzdCBvZiBpdGVtcyBzdWNjZWVkaW5nIHRoZSBjdXJyZW50IGl0ZW0sIGxpbWl0
ZWQgYnkgQGxpbWl0Ci0gKi8KIEdMaXN0KiB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2dl
dF9mb3J3YXJkX2xpc3Rfd2l0aF9saW1pdChXZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QqIHdlYkJh
Y2tGb3J3YXJkTGlzdCwgZ2ludCBsaW1pdCkKIHsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChX
RUJLSVRfSVNfV0VCX0JBQ0tfRk9SV0FSRF9MSVNUKHdlYkJhY2tGb3J3YXJkTGlzdCksIE5VTEwp
OwpAQCAtMjIwLDE1ICsxNzUsNiBAQCBHTGlzdCogd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlz
dF9nZXRfZm9yd2FyZF9saXN0X3dpdGhfbGltaXQoV2ViS2l0V2ViQmFja0ZvcgogICAgIHJldHVy
biBmb3J3YXJkSXRlbXM7CiB9CiAKLS8qKgotICogd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlz
dF9nZXRfYmFja19saXN0X3dpdGhfbGltaXQ6Ci0gKiBAd2ViX2JhY2tfZm9yd2FyZF9saXN0OiBh
ICNXZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QKLSAqIEBsaW1pdDogdGhlIG51bWJlciBvZiBpdGVt
cyB0byByZXRyaWV2ZQotICoKLSAqIFJldHVybnMgYSBsaXN0IG9mIGl0ZW1zIHRoYXQgcHJlY2Vk
ZSB0aGUgY3VycmVudCBpdGVtLCBsaW1pdGVkIGJ5IEBsaW1pdAotICoKLSAqIFJldHVybiB2YWx1
ZTogYSAjR0xpc3Qgb2YgaXRlbXMgcHJlY2VkaW5nIHRoZSBjdXJyZW50IGl0ZW0sIGxpbWl0ZWQg
YnkgQGxpbWl0Ci0gKi8KIEdMaXN0KiB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2dldF9i
YWNrX2xpc3Rfd2l0aF9saW1pdChXZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QqIHdlYkJhY2tGb3J3
YXJkTGlzdCwgZ2ludCBsaW1pdCkKIHsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRf
SVNfV0VCX0JBQ0tfRk9SV0FSRF9MSVNUKHdlYkJhY2tGb3J3YXJkTGlzdCksIE5VTEwpOwpAQCAt
MjUwLDE0ICsxOTYsNiBAQCBHTGlzdCogd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9nZXRf
YmFja19saXN0X3dpdGhfbGltaXQoV2ViS2l0V2ViQmFja0ZvcndhcgogICAgIHJldHVybiBiYWNr
SXRlbXM7CiB9CiAKLS8qKgotICogd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfYmFj
a19pdGVtOgotICogQHdlYl9iYWNrX2ZvcndhcmRfbGlzdDogYSAjV2ViS2l0V2ViQmFja0Zvcndh
cmRMaXN0Ci0gKgotICogUmV0dXJucyB0aGUgaXRlbSB0aGF0IHByZWNlZGVzIHRoZSBjdXJyZW50
IGl0ZW0KLSAqCi0gKiBSZXR1cm4gdmFsdWU6IHRoZSAjV2ViS2l0V2ViSGlzdG9yeUl0ZW0gcHJl
Y2VkaW5nIHRoZSBjdXJyZW50IGl0ZW0KLSAqLwogV2ViS2l0V2ViSGlzdG9yeUl0ZW0qIHdlYmtp
dF93ZWJfYmFja19mb3J3YXJkX2xpc3RfZ2V0X2JhY2tfaXRlbShXZWJLaXRXZWJCYWNrRm9yd2Fy
ZExpc3QqIHdlYkJhY2tGb3J3YXJkTGlzdCkKIHsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChX
RUJLSVRfSVNfV0VCX0JBQ0tfRk9SV0FSRF9MSVNUKHdlYkJhY2tGb3J3YXJkTGlzdCksIE5VTEwp
OwpAQCAtMjcxLDE2ICsyMDksNiBAQCBXZWJLaXRXZWJIaXN0b3J5SXRlbSogd2Via2l0X3dlYl9i
YWNrX2ZvcndhcmRfbGlzdF9nZXRfYmFja19pdGVtKFdlYktpdFdlYkJhY2tGbwogICAgIHJldHVy
biAoaGlzdG9yeUl0ZW0gPyBraXQoaGlzdG9yeUl0ZW0pIDogTlVMTCk7CiB9CiAKLS8qKgotICog
d2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfY3VycmVudF9pdGVtOgotICogQHdlYl9i
YWNrX2ZvcndhcmRfbGlzdDogYSAjV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0Ci0gKgotICogUmV0
dXJucyB0aGUgY3VycmVudCBpdGVtLgotICoKLSAqIFJldHVybnMgYSBOVUxMIHZhbHVlIGlmIHRo
ZSBiYWNrIGZvcndhcmQgbGlzdCBpcyBlbXB0eQotICoKLSAqIFJldHVybiB2YWx1ZTogYSAjV2Vi
S2l0V2ViSGlzdG9yeUl0ZW0KLSAqLwogV2ViS2l0V2ViSGlzdG9yeUl0ZW0qIHdlYmtpdF93ZWJf
YmFja19mb3J3YXJkX2xpc3RfZ2V0X2N1cnJlbnRfaXRlbShXZWJLaXRXZWJCYWNrRm9yd2FyZExp
c3QqIHdlYkJhY2tGb3J3YXJkTGlzdCkKIHsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJL
SVRfSVNfV0VCX0JBQ0tfRk9SV0FSRF9MSVNUKHdlYkJhY2tGb3J3YXJkTGlzdCksIE5VTEwpOwpA
QCAtMjk0LDE2ICsyMjIsNiBAQCBXZWJLaXRXZWJIaXN0b3J5SXRlbSogd2Via2l0X3dlYl9iYWNr
X2ZvcndhcmRfbGlzdF9nZXRfY3VycmVudF9pdGVtKFdlYktpdFdlYkJhYwogICAgIHJldHVybiAo
aGlzdG9yeUl0ZW0gPyBraXQoaGlzdG9yeUl0ZW0pIDogTlVMTCk7CiB9CiAKLS8qKgotICogd2Vi
a2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfZm9yd2FyZF9pdGVtOgotICogQHdlYl9iYWNr
X2ZvcndhcmRfbGlzdDogYSAjV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0Ci0gKgotICogUmV0dXJu
cyB0aGUgaXRlbSB0aGF0IHN1Y2NlZWRzIHRoZSBjdXJyZW50IGl0ZW0uCi0gKgotICogUmV0dXJu
cyBhIE5VTEwgdmFsdWUgaWYgdGhlcmUgbm90aGluZyB0aGF0IHN1Y2NlZWRzIHRoZSBjdXJyZW50
IGl0ZW0KLSAqCi0gKiBSZXR1cm4gdmFsdWU6IGEgI1dlYktpdFdlYkhpc3RvcnlJdGVtCi0gKi8K
IFdlYktpdFdlYkhpc3RvcnlJdGVtKiB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2dldF9m
b3J3YXJkX2l0ZW0oV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0KiB3ZWJCYWNrRm9yd2FyZExpc3Qp
CiB7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9CQUNLX0ZPUldBUkRf
TElTVCh3ZWJCYWNrRm9yd2FyZExpc3QpLCBOVUxMKTsKQEAgLTMxNywxNSArMjM1LDYgQEAgV2Vi
S2l0V2ViSGlzdG9yeUl0ZW0qIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3RfZ2V0X2Zvcndh
cmRfaXRlbShXZWJLaXRXZWJCYWMKICAgICByZXR1cm4gKGhpc3RvcnlJdGVtID8ga2l0KGhpc3Rv
cnlJdGVtKSA6IE5VTEwpOwogfQogCi0vKioKLSAqIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xp
c3RfZ2V0X250aF9pdGVtOgotICogQHdlYl9iYWNrX2ZvcndhcmRfbGlzdDogYSAjV2ViS2l0V2Vi
QmFja0ZvcndhcmRMaXN0Ci0gKiBAaW5kZXg6IHRoZSBpbmRleCBvZiB0aGUgaXRlbQotICoKLSAq
IFJldHVybnMgdGhlIGl0ZW0gYXQgYSBnaXZlbiBpbmRleCByZWxhdGl2ZSB0byB0aGUgY3VycmVu
dCBpdGVtLgotICoKLSAqIFJldHVybiB2YWx1ZTogdGhlICNXZWJLaXRXZWJIaXN0b3J5SXRlbSBs
b2NhdGVkIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXggcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgaXRl
bQotICovCiBXZWJLaXRXZWJIaXN0b3J5SXRlbSogd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlz
dF9nZXRfbnRoX2l0ZW0oV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0KiB3ZWJCYWNrRm9yd2FyZExp
c3QsIGdpbnQgaW5kZXgpCiB7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1dF
Ql9CQUNLX0ZPUldBUkRfTElTVCh3ZWJCYWNrRm9yd2FyZExpc3QpLCBOVUxMKTsKQEAgLTMzOSwx
NCArMjQ4LDYgQEAgV2ViS2l0V2ViSGlzdG9yeUl0ZW0qIHdlYmtpdF93ZWJfYmFja19mb3J3YXJk
X2xpc3RfZ2V0X250aF9pdGVtKFdlYktpdFdlYkJhY2tGb3IKICAgICByZXR1cm4gKGhpc3RvcnlJ
dGVtID8ga2l0KGhpc3RvcnlJdGVtKSA6IE5VTEwpOwogfQogCi0vKioKLSAqIHdlYmtpdF93ZWJf
YmFja19mb3J3YXJkX2xpc3RfZ2V0X2JhY2tfbGVuZ3RoOgotICogQHdlYl9iYWNrX2ZvcndhcmRf
bGlzdDogYSAjV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0Ci0gKgotICogUmV0dXJucyB0aGUgbnVt
YmVyIG9mIGl0ZW1zIHRoYXQgcHJlY2VkIHRoZSBjdXJyZW50IGl0ZW0uCi0gKgotICogUmV0dXJu
IHZhbHVlOiBhICNnaW50IGNvcnJlc3BvbmRpbmcgdG8gdGhlIG51bWJlciBvZiBpdGVtcyBwcmVj
ZWRpbmcgdGhlIGN1cnJlbnQgaXRlbQotICovCiBnaW50IHdlYmtpdF93ZWJfYmFja19mb3J3YXJk
X2xpc3RfZ2V0X2JhY2tfbGVuZ3RoKFdlYktpdFdlYkJhY2tGb3J3YXJkTGlzdCogd2ViQmFja0Zv
cndhcmRMaXN0KQogewogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19XRUJfQkFD
S19GT1JXQVJEX0xJU1Qod2ViQmFja0ZvcndhcmRMaXN0KSwgMCk7CkBAIC0zNTgsMTQgKzI1OSw2
IEBAIGdpbnQgd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfYmFja19sZW5ndGgoV2Vi
S2l0V2ViQmFja0ZvcndhcmRMaXN0KiB3ZWJCCiAgICAgcmV0dXJuIGJhY2tGb3J3YXJkTGlzdC0+
YmFja0xpc3RDb3VudCgpOwogfQogCi0vKioKLSAqIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xp
c3RfZ2V0X2ZvcndhcmRfbGVuZ3RoOgotICogQHdlYl9iYWNrX2ZvcndhcmRfbGlzdDogYSAjV2Vi
S2l0V2ViQmFja0ZvcndhcmRMaXN0Ci0gKgotICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGl0ZW1z
IHRoYXQgc3VjY2VlZCB0aGUgY3VycmVudCBpdGVtLgotICoKLSAqIFJldHVybiB2YWx1ZTogYSAj
Z2ludCBjb3JyZXNwb25kaW5nIHRvIHRoZSBudWJlciBvZiBpdGVtcyBzdWNjZWVkaW5nIHRoZSBj
dXJyZW50IGl0ZW0KLSAqLwogZ2ludCB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2dldF9m
b3J3YXJkX2xlbmd0aChXZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QqIHdlYkJhY2tGb3J3YXJkTGlz
dCkKIHsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfSVNfV0VCX0JBQ0tfRk9SV0FS
RF9MSVNUKHdlYkJhY2tGb3J3YXJkTGlzdCksIDApOwpAQCAtMzc3LDE0ICsyNzAsNiBAQCBnaW50
IHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3RfZ2V0X2ZvcndhcmRfbGVuZ3RoKFdlYktpdFdl
YkJhY2tGb3J3YXJkTGlzdCogdwogICAgIHJldHVybiBiYWNrRm9yd2FyZExpc3QtPmZvcndhcmRM
aXN0Q291bnQoKTsKIH0KIAotLyoqCi0gKiB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2dl
dF9saW1pdDoKLSAqIEB3ZWJfYmFja19mb3J3YXJkX2xpc3Q6IGEgI1dlYktpdFdlYkJhY2tGb3J3
YXJkTGlzdAotICoKLSAqIFJldHVybnMgdGhlIG1heGltdW0gbGltaXQgb2YgdGhlIGJhY2sgZm9y
d2FyZCBsaXN0LgotICoKLSAqIFJldHVybiB2YWx1ZTogYSAjZ2ludCBpbmRpY2F0aW5nIHRoZSBu
dW1iZXIgb2YgI1dlYktpdFdlYkhpc3RvcnlJdGVtIHRoZSBiYWNrIGZvcndhcmQgbGlzdCBjYW4g
aG9sZAotICovCiBnaW50IHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3RfZ2V0X2xpbWl0KFdl
YktpdFdlYkJhY2tGb3J3YXJkTGlzdCogd2ViQmFja0ZvcndhcmRMaXN0KQogewogICAgIGdfcmV0
dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19XRUJfQkFDS19GT1JXQVJEX0xJU1Qod2ViQmFja0Zv
cndhcmRMaXN0KSwgMCk7CkBAIC0zOTYsMTUgKzI4MSw2IEBAIGdpbnQgd2Via2l0X3dlYl9iYWNr
X2ZvcndhcmRfbGlzdF9nZXRfbGltaXQoV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0KiB3ZWJCYWNr
Rm9yCiAgICAgcmV0dXJuIGJhY2tGb3J3YXJkTGlzdC0+Y2FwYWNpdHkoKTsKIH0KIAotLyoqCi0g
KiB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X3NldF9saW1pdDoKLSAqIEB3ZWJfYmFja19m
b3J3YXJkX2xpc3Q6IGEgI1dlYktpdFdlYkJhY2tGb3J3YXJkTGlzdAotICogQGxpbWl0OiB0aGUg
bGltaXQgdG8gc2V0IHRoZSBiYWNrIGZvcndhcmQgbGlzdCB0bwotICoKLSAqIFNldHMgdGhlIG1h
eGltdW0gbGltaXQgb2YgdGhlIGJhY2sgZm9yd2FyZCBsaXN0LiBJZiB0aGUgYmFjayBmb3J3YXJk
IGxpc3QKLSAqIGV4Y2VlZHMgaXRzIGNhcGFjaXR5LCBpdGVtcyB3aWxsIGJlIHJlbW92ZWQgZXZl
cnl0aW1lIGEgbmV3IGl0ZW0gaGFzIGJlZW4KLSAqIGFkZGVkLgotICovCiB2b2lkIHdlYmtpdF93
ZWJfYmFja19mb3J3YXJkX2xpc3Rfc2V0X2xpbWl0KFdlYktpdFdlYkJhY2tGb3J3YXJkTGlzdCog
d2ViQmFja0ZvcndhcmRMaXN0LCBnaW50IGxpbWl0KQogewogICAgIGdfcmV0dXJuX2lmX2ZhaWwo
V0VCS0lUX0lTX1dFQl9CQUNLX0ZPUldBUkRfTElTVCh3ZWJCYWNrRm9yd2FyZExpc3QpKTsKQEAg
LTQxNCwxOCArMjkwLDYgQEAgdm9pZCB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X3NldF9s
aW1pdChXZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QqIHdlYkJhY2tGb3IKICAgICAgICAgYmFja0Zv
cndhcmRMaXN0LT5zZXRDYXBhY2l0eShsaW1pdCk7CiB9CiAKLS8qKgotICogd2Via2l0X3dlYl9i
YWNrX2ZvcndhcmRfbGlzdF9hZGRfaXRlbToKLSAqIEB3ZWJfYmFja19mb3J3YXJkX2xpc3Q6IGEg
I1dlYktpdFdlYkJhY2tGb3J3YXJkTGlzdAotICogQGhpc3RvcnlfaXRlbTogdGhlICNXZWJLaXRX
ZWJIaXN0b3J5SXRlbSB0byBhZGQKLSAqCi0gKiBBZGRzIHRoZSBpdGVtIHRvIHRoZSAjV2ViS2l0
V2ViQmFja0ZvcndhcmRMaXN0LgotICoKLSAqIFRoZSBAd2ViQmFja0ZvcndhcmRMaXN0IHdpbGwg
YWRkIGEgcmVmZXJlbmNlIHRvIHRoZSBAd2ViSGlzdG9yeUl0ZW0sIHNvIHlvdQotICogZG9uJ3Qg
bmVlZCB0byBrZWVwIGEgcmVmZXJlbmNlIG9uY2UgeW91J3ZlIGFkZGVkIGl0IHRvIHRoZSBsaXN0
LgotICoKLSAqIFNpbmNlOiAxLjEuMQotICovCiB2b2lkIHdlYmtpdF93ZWJfYmFja19mb3J3YXJk
X2xpc3RfYWRkX2l0ZW0oV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0ICp3ZWJCYWNrRm9yd2FyZExp
c3QsIFdlYktpdFdlYkhpc3RvcnlJdGVtICp3ZWJIaXN0b3J5SXRlbSkKIHsKICAgICBnX3JldHVy
bl9pZl9mYWlsKFdFQktJVF9JU19XRUJfQkFDS19GT1JXQVJEX0xJU1Qod2ViQmFja0ZvcndhcmRM
aXN0KSk7CkBAIC00MzgsMTUgKzMwMiw2IEBAIHZvaWQgd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRf
bGlzdF9hZGRfaXRlbShXZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QgKndlYkJhY2tGb3J3CiAgICAg
YmFja0ZvcndhcmRMaXN0LT5hZGRJdGVtKGhpc3RvcnlJdGVtKTsKIH0KIAotLyoqCi0gKiB3ZWJr
aXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2NsZWFyOgotICogQHdlYkJhY2tGb3J3YXJkTGlzdDog
IGEgI1dlYktpdFdlYkJhY2tGb3J3YXJkTGlzdAotICoKLSAqIENsZWFycyB0aGUgQHdlYkJhY2tG
b3J3YXJkTGlzdCBieSByZW1vdmluZyBhbGwgaXRzIGVsZW1lbnRzLiBOb3RlIHRoYXQgbm90IGV2
ZW4KLSAqIHRoZSBjdXJyZW50IHBhZ2UgaXMga2VwdCBpbiBsaXN0IHdoZW4gY2xlYXJlZCBzbyB5
b3Ugd291bGQgaGF2ZSB0byBhZGQgaXQgbGF0ZXIuCi0gKgotICogU2luY2U6IDEuMy4xCi0gKiov
CiB2b2lkIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3RfY2xlYXIoV2ViS2l0V2ViQmFja0Zv
cndhcmRMaXN0KiB3ZWJCYWNrRm9yd2FyZExpc3QpCiB7CiAgICAgZ19yZXR1cm5faWZfZmFpbChX
RUJLSVRfSVNfV0VCX0JBQ0tfRk9SV0FSRF9MSVNUKHdlYkJhY2tGb3J3YXJkTGlzdCkpOwpkaWZm
IC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViYmFja2ZvcndhcmRsaXN0LmggYi9X
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJiYWNrZm9yd2FyZGxpc3QuaAppbmRleCAyY2ZmYzY4
Li5lOTJjNTBkIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJiYWNrZm9y
d2FyZGxpc3QuaAorKysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJiYWNrZm9yd2FyZGxp
c3QuaApAQCAtNTcsNTkgKzU3LDIwNCBAQCBzdHJ1Y3QgX1dlYktpdFdlYkJhY2tGb3J3YXJkTGlz
dENsYXNzIHsKIFdFQktJVF9BUEkgR1R5cGUKIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3Rf
Z2V0X3R5cGUgKHZvaWQpOwogCisvKioKKyAqIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3Rf
bmV3X3dpdGhfd2ViX3ZpZXc6IChza2lwKQorICogQHdlYl92aWV3OiB0aGUgYmFjayBmb3J3YXJk
IGxpc3QncyAjV2ViS2l0V2ViVmlldworICoKKyAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgdGhl
IGJhY2sgZm9yd2FyZCBsaXN0IHdpdGggYSBjb250cm9sbGluZyAjV2ViS2l0V2ViVmlldworICoK
KyAqIFJldHVybiB2YWx1ZTogYSAjV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0CisgKi8KIFdFQktJ
VF9BUEkgV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0ICoKIHdlYmtpdF93ZWJfYmFja19mb3J3YXJk
X2xpc3RfbmV3X3dpdGhfd2ViX3ZpZXcgICAgICAgICAgIChXZWJLaXRXZWJWaWV3ICp3ZWJfdmll
dyk7CiAKKy8qKgorICogd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9nb19mb3J3YXJkOgor
ICogQHdlYl9iYWNrX2ZvcndhcmRfbGlzdDogYSAjV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0Cisg
KgorICogU3RlcHMgZm9yd2FyZCBpbiB0aGUgYmFjayBmb3J3YXJkIGxpc3QKKyAqLwogV0VCS0lU
X0FQSSB2b2lkCiB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2dvX2ZvcndhcmQgICAgICAg
ICAgICAgICAgICAoV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0ICp3ZWJfYmFja19mb3J3YXJkX2xp
c3QpOwogCisvKioKKyAqIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3RfZ29fYmFjazoKKyAq
IEB3ZWJfYmFja19mb3J3YXJkX2xpc3Q6IGEgI1dlYktpdFdlYkJhY2tGb3J3YXJkTGlzdAorICoK
KyAqIFN0ZXBzIGJhY2t3YXJkIGluIHRoZSBiYWNrIGZvcndhcmQgbGlzdAorICovCiBXRUJLSVRf
QVBJIHZvaWQKIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3RfZ29fYmFjayAgICAgICAgICAg
ICAgICAgICAgIChXZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QgKndlYl9iYWNrX2ZvcndhcmRfbGlz
dCk7CiAKKy8qKgorICogd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9jb250YWluc19pdGVt
OgorICogQHdlYl9iYWNrX2ZvcndhcmRfbGlzdDogYSAjV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0
CisgKiBAaGlzdG9yeV9pdGVtOiAodHlwZSBXZWJLaXQuV2ViSGlzdG9yeUl0ZW0pICh0cmFuc2Zl
ciBub25lKTogdGhlICNXZWJLaXRXZWJIaXN0b3J5SXRlbSB0byBjaGVjaworICoKKyAqIENoZWNr
cyBpZiBAd2ViX2hpc3RvcnlfaXRlbSBpcyBpbiB0aGUgYmFjayBmb3J3YXJkIGxpc3QKKyAqCisg
KiBSZXR1cm4gdmFsdWU6ICVUUlVFIGlmIEB3ZWJfaGlzdG9yeV9pdGVtIGlzIGluIHRoZSBiYWNr
IGZvcndhcmQgbGlzdCwgJUZBTFNFIGlmIGl0IGRvZXNuJ3QKKyAqLwogV0VCS0lUX0FQSSBnYm9v
bGVhbgogd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9jb250YWluc19pdGVtICAgICAgICAg
ICAgICAgKFdlYktpdFdlYkJhY2tGb3J3YXJkTGlzdCAqd2ViX2JhY2tfZm9yd2FyZF9saXN0LAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFdlYktpdFdlYkhpc3RvcnlJdGVtICAgICAqaGlzdG9yeV9pdGVtKTsKIAorLyoqCisgKiB3ZWJr
aXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2dvX3RvX2l0ZW06CisgKiBAd2ViX2JhY2tfZm9yd2Fy
ZF9saXN0OiBhICNXZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QKKyAqIEBoaXN0b3J5X2l0ZW06ICh0
eXBlIFdlYktpdC5XZWJIaXN0b3J5SXRlbSkgKHRyYW5zZmVyIG5vbmUpOiB0aGUgI1dlYktpdFdl
Ykhpc3RvcnlJdGVtIHRvIGdvIHRvCisgKgorICogR28gdG8gdGhlIHNwZWNpZmllZCBAd2ViX2hp
c3RvcnlfaXRlbSBpbiB0aGUgYmFjayBmb3J3YXJkIGxpc3QKKyAqLwogV0VCS0lUX0FQSSB2b2lk
CiB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2dvX3RvX2l0ZW0gICAgICAgICAgICAgICAg
ICAoV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0ICp3ZWJfYmFja19mb3J3YXJkX2xpc3QsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2Vi
S2l0V2ViSGlzdG9yeUl0ZW0gICAgICpoaXN0b3J5X2l0ZW0pOwogCisvKioKKyAqIHdlYmtpdF93
ZWJfYmFja19mb3J3YXJkX2xpc3RfZ2V0X2ZvcndhcmRfbGlzdF93aXRoX2xpbWl0OgorICogQHdl
Yl9iYWNrX2ZvcndhcmRfbGlzdDogYSAjV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0CisgKiBAbGlt
aXQ6IHRoZSBudW1iZXIgb2YgaXRlbXMgdG8gcmV0cmlldmUKKyAqCisgKiBSZXR1cm5zIGEgbGlz
dCBvZiBpdGVtcyB0aGF0IHN1Y2NlZWQgdGhlIGN1cnJlbnQgaXRlbSwgbGltaXRlZCBieSBAbGlt
aXQKKyAqCisgKiBSZXR1cm4gdmFsdWU6IChlbGVtZW50LXR5cGUgV2ViS2l0LldlYkhpc3RvcnlJ
dGVtKSAodHJhbnNmZXIgY29udGFpbmVyKTogYSAjR0xpc3Qgb2YgaXRlbXMgc3VjY2VlZGluZyB0
aGUgY3VycmVudCBpdGVtLCBsaW1pdGVkIGJ5IEBsaW1pdAorICovCiBXRUJLSVRfQVBJIEdMaXN0
ICoKIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3RfZ2V0X2ZvcndhcmRfbGlzdF93aXRoX2xp
bWl0IChXZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QgKndlYl9iYWNrX2ZvcndhcmRfbGlzdCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn
aW50ICAgICAgICAgICAgICAgICAgICAgIGxpbWl0KTsKIAorLyoqCisgKiB3ZWJraXRfd2ViX2Jh
Y2tfZm9yd2FyZF9saXN0X2dldF9iYWNrX2xpc3Rfd2l0aF9saW1pdDoKKyAqIEB3ZWJfYmFja19m
b3J3YXJkX2xpc3Q6IGEgI1dlYktpdFdlYkJhY2tGb3J3YXJkTGlzdAorICogQGxpbWl0OiB0aGUg
bnVtYmVyIG9mIGl0ZW1zIHRvIHJldHJpZXZlCisgKgorICogUmV0dXJucyBhIGxpc3Qgb2YgaXRl
bXMgdGhhdCBwcmVjZWRlIHRoZSBjdXJyZW50IGl0ZW0sIGxpbWl0ZWQgYnkgQGxpbWl0CisgKgor
ICogUmV0dXJuIHZhbHVlOiAoZWxlbWVudC10eXBlIFdlYktpdC5XZWJIaXN0b3J5SXRlbSkgKHRy
YW5zZmVyIGNvbnRhaW5lcik6IGEgI0dMaXN0IG9mIGl0ZW1zIHByZWNlZGluZyB0aGUgY3VycmVu
dCBpdGVtLCBsaW1pdGVkIGJ5IEBsaW1pdAorICovCiBXRUJLSVRfQVBJIEdMaXN0ICoKIHdlYmtp
dF93ZWJfYmFja19mb3J3YXJkX2xpc3RfZ2V0X2JhY2tfbGlzdF93aXRoX2xpbWl0ICAgIChXZWJL
aXRXZWJCYWNrRm9yd2FyZExpc3QgKndlYl9iYWNrX2ZvcndhcmRfbGlzdCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaW50ICAgICAg
ICAgICAgICAgICAgICAgIGxpbWl0KTsKIAorLyoqCisgKiB3ZWJraXRfd2ViX2JhY2tfZm9yd2Fy
ZF9saXN0X2dldF9iYWNrX2l0ZW06CisgKiBAd2ViX2JhY2tfZm9yd2FyZF9saXN0OiBhICNXZWJL
aXRXZWJCYWNrRm9yd2FyZExpc3QKKyAqCisgKiBSZXR1cm5zIHRoZSBpdGVtIHRoYXQgcHJlY2Vk
ZXMgdGhlIGN1cnJlbnQgaXRlbQorICoKKyAqIFJldHVybiB2YWx1ZTogKHR5cGUgV2ViS2l0Lldl
Ykhpc3RvcnlJdGVtKSAodHJhbnNmZXIgbm9uZSk6IHRoZSAjV2ViS2l0V2ViSGlzdG9yeUl0ZW0g
cHJlY2VkaW5nIHRoZSBjdXJyZW50IGl0ZW0KKyAqLwogV0VCS0lUX0FQSSBXZWJLaXRXZWJIaXN0
b3J5SXRlbSAqCiB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2dldF9iYWNrX2l0ZW0gICAg
ICAgICAgICAgICAoV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0ICp3ZWJfYmFja19mb3J3YXJkX2xp
c3QpOwogCisvKioKKyAqIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3RfZ2V0X2N1cnJlbnRf
aXRlbToKKyAqIEB3ZWJfYmFja19mb3J3YXJkX2xpc3Q6IGEgI1dlYktpdFdlYkJhY2tGb3J3YXJk
TGlzdAorICoKKyAqIFJldHVybnMgdGhlIGN1cnJlbnQgaXRlbS4KKyAqCisgKiBSZXR1cm5zIGEg
TlVMTCB2YWx1ZSBpZiB0aGUgYmFjayBmb3J3YXJkIGxpc3QgaXMgZW1wdHkKKyAqCisgKiBSZXR1
cm4gdmFsdWU6ICh0eXBlIFdlYktpdC5XZWJIaXN0b3J5SXRlbSkgKHRyYW5zZmVyIG5vbmUpOiBh
ICNXZWJLaXRXZWJIaXN0b3J5SXRlbQorICovCiBXRUJLSVRfQVBJIFdlYktpdFdlYkhpc3RvcnlJ
dGVtICoKIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3RfZ2V0X2N1cnJlbnRfaXRlbSAgICAg
ICAgICAgIChXZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QgKndlYl9iYWNrX2ZvcndhcmRfbGlzdCk7
CiAKKy8qKgorICogd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfZm9yd2FyZF9pdGVt
OgorICogQHdlYl9iYWNrX2ZvcndhcmRfbGlzdDogYSAjV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0
CisgKgorICogUmV0dXJucyB0aGUgaXRlbSB0aGF0IHN1Y2NlZWRzIHRoZSBjdXJyZW50IGl0ZW0u
CisgKgorICogUmV0dXJucyBhIE5VTEwgdmFsdWUgaWYgdGhlcmUgbm90aGluZyB0aGF0IHN1Y2Nl
ZWRzIHRoZSBjdXJyZW50IGl0ZW0KKyAqCisgKiBSZXR1cm4gdmFsdWU6ICh0eXBlIFdlYktpdC5X
ZWJIaXN0b3J5SXRlbSkgKHRyYW5zZmVyIG5vbmUpOiBhICNXZWJLaXRXZWJIaXN0b3J5SXRlbQor
ICovCiBXRUJLSVRfQVBJIFdlYktpdFdlYkhpc3RvcnlJdGVtICoKIHdlYmtpdF93ZWJfYmFja19m
b3J3YXJkX2xpc3RfZ2V0X2ZvcndhcmRfaXRlbSAgICAgICAgICAgIChXZWJLaXRXZWJCYWNrRm9y
d2FyZExpc3QgKndlYl9iYWNrX2ZvcndhcmRfbGlzdCk7CiAKKy8qKgorICogd2Via2l0X3dlYl9i
YWNrX2ZvcndhcmRfbGlzdF9nZXRfbnRoX2l0ZW06CisgKiBAd2ViX2JhY2tfZm9yd2FyZF9saXN0
OiBhICNXZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QKKyAqIEBpbmRleDogdGhlIGluZGV4IG9mIHRo
ZSBpdGVtCisgKgorICogUmV0dXJucyB0aGUgaXRlbSBhdCBhIGdpdmVuIGluZGV4IHJlbGF0aXZl
IHRvIHRoZSBjdXJyZW50IGl0ZW0uCisgKgorICogUmV0dXJuIHZhbHVlOiAodHlwZSBXZWJLaXQu
V2ViSGlzdG9yeUl0ZW0pICh0cmFuc2ZlciBub25lKTogdGhlICNXZWJLaXRXZWJIaXN0b3J5SXRl
bSBsb2NhdGVkIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXggcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQg
aXRlbQorICovCiBXRUJLSVRfQVBJIFdlYktpdFdlYkhpc3RvcnlJdGVtICoKIHdlYmtpdF93ZWJf
YmFja19mb3J3YXJkX2xpc3RfZ2V0X250aF9pdGVtICAgICAgICAgICAgICAgIChXZWJLaXRXZWJC
YWNrRm9yd2FyZExpc3QgKndlYl9iYWNrX2ZvcndhcmRfbGlzdCwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaW50ICAgICAgICAgICAg
ICAgICAgICAgIGluZGV4KTsKIAorLyoqCisgKiB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0
X2dldF9iYWNrX2xlbmd0aDoKKyAqIEB3ZWJfYmFja19mb3J3YXJkX2xpc3Q6IGEgI1dlYktpdFdl
YkJhY2tGb3J3YXJkTGlzdAorICoKKyAqIFJldHVybnMgdGhlIG51bWJlciBvZiBpdGVtcyB0aGF0
IHByZWNlZCB0aGUgY3VycmVudCBpdGVtLgorICoKKyAqIFJldHVybiB2YWx1ZTogYSAjZ2ludCBj
b3JyZXNwb25kaW5nIHRvIHRoZSBudW1iZXIgb2YgaXRlbXMgcHJlY2VkaW5nIHRoZSBjdXJyZW50
IGl0ZW0KKyAqLwogV0VCS0lUX0FQSSBnaW50CiB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0
X2dldF9iYWNrX2xlbmd0aCAgICAgICAgICAgICAoV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0ICp3
ZWJfYmFja19mb3J3YXJkX2xpc3QpOwogCisvKioKKyAqIHdlYmtpdF93ZWJfYmFja19mb3J3YXJk
X2xpc3RfZ2V0X2ZvcndhcmRfbGVuZ3RoOgorICogQHdlYl9iYWNrX2ZvcndhcmRfbGlzdDogYSAj
V2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0CisgKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGl0
ZW1zIHRoYXQgc3VjY2VlZCB0aGUgY3VycmVudCBpdGVtLgorICoKKyAqIFJldHVybiB2YWx1ZTog
YSAjZ2ludCBjb3JyZXNwb25kaW5nIHRvIHRoZSBudWJlciBvZiBpdGVtcyBzdWNjZWVkaW5nIHRo
ZSBjdXJyZW50IGl0ZW0KKyAqLwogV0VCS0lUX0FQSSBnaW50CiB3ZWJraXRfd2ViX2JhY2tfZm9y
d2FyZF9saXN0X2dldF9mb3J3YXJkX2xlbmd0aCAgICAgICAgICAoV2ViS2l0V2ViQmFja0Zvcndh
cmRMaXN0ICp3ZWJfYmFja19mb3J3YXJkX2xpc3QpOwogCisvKioKKyAqIHdlYmtpdF93ZWJfYmFj
a19mb3J3YXJkX2xpc3RfZ2V0X2xpbWl0OgorICogQHdlYl9iYWNrX2ZvcndhcmRfbGlzdDogYSAj
V2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0CisgKgorICogUmV0dXJucyB0aGUgbWF4aW11bSBsaW1p
dCBvZiB0aGUgYmFjayBmb3J3YXJkIGxpc3QuCisgKgorICogUmV0dXJuIHZhbHVlOiBhICNnaW50
IGluZGljYXRpbmcgdGhlIG51bWJlciBvZiAjV2ViS2l0V2ViSGlzdG9yeUl0ZW0gdGhlIGJhY2sg
Zm9yd2FyZCBsaXN0IGNhbiBob2xkCisgKi8KIFdFQktJVF9BUEkgZ2ludAogd2Via2l0X3dlYl9i
YWNrX2ZvcndhcmRfbGlzdF9nZXRfbGltaXQgICAgICAgICAgICAgICAgICAgKFdlYktpdFdlYkJh
Y2tGb3J3YXJkTGlzdCAqd2ViX2JhY2tfZm9yd2FyZF9saXN0KTsKIAorLyoqCisgKiB3ZWJraXRf
d2ViX2JhY2tfZm9yd2FyZF9saXN0X3NldF9saW1pdDoKKyAqIEB3ZWJfYmFja19mb3J3YXJkX2xp
c3Q6IGEgI1dlYktpdFdlYkJhY2tGb3J3YXJkTGlzdAorICogQGxpbWl0OiB0aGUgbGltaXQgdG8g
c2V0IHRoZSBiYWNrIGZvcndhcmQgbGlzdCB0bworICoKKyAqIFNldHMgdGhlIG1heGltdW0gbGlt
aXQgb2YgdGhlIGJhY2sgZm9yd2FyZCBsaXN0LiBJZiB0aGUgYmFjayBmb3J3YXJkIGxpc3QKKyAq
IGV4Y2VlZHMgaXRzIGNhcGFjaXR5LCBpdGVtcyB3aWxsIGJlIHJlbW92ZWQgZXZlcnl0aW1lIGEg
bmV3IGl0ZW0gaGFzIGJlZW4KKyAqIGFkZGVkLgorICovCiBXRUJLSVRfQVBJIHZvaWQKIHdlYmtp
dF93ZWJfYmFja19mb3J3YXJkX2xpc3Rfc2V0X2xpbWl0ICAgICAgICAgICAgICAgICAgIChXZWJL
aXRXZWJCYWNrRm9yd2FyZExpc3QgKndlYl9iYWNrX2ZvcndhcmRfbGlzdCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaW50ICAgICAg
ICAgICAgICAgICAgICAgIGxpbWl0KTsKKy8qKgorICogd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRf
bGlzdF9hZGRfaXRlbToKKyAqIEB3ZWJfYmFja19mb3J3YXJkX2xpc3Q6IGEgI1dlYktpdFdlYkJh
Y2tGb3J3YXJkTGlzdAorICogQGhpc3RvcnlfaXRlbTogKHR5cGUgV2ViS2l0LldlYkhpc3RvcnlJ
dGVtKSAodHJhbnNmZXIgbm9uZSk6IHRoZSAjV2ViS2l0V2ViSGlzdG9yeUl0ZW0gdG8gYWRkCisg
KgorICogQWRkcyB0aGUgaXRlbSB0byB0aGUgI1dlYktpdFdlYkJhY2tGb3J3YXJkTGlzdC4KKyAq
CisgKiBUaGUgQHdlYkJhY2tGb3J3YXJkTGlzdCB3aWxsIGFkZCBhIHJlZmVyZW5jZSB0byB0aGUg
QHdlYkhpc3RvcnlJdGVtLCBzbyB5b3UKKyAqIGRvbid0IG5lZWQgdG8ga2VlcCBhIHJlZmVyZW5j
ZSBvbmNlIHlvdSd2ZSBhZGRlZCBpdCB0byB0aGUgbGlzdC4KKyAqCisgKiBTaW5jZTogMS4xLjEK
KyAqLwogV0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2FkZF9p
dGVtICAgICAgICAgICAgICAgICAgICAoV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0ICp3ZWJfYmFj
a19mb3J3YXJkX2xpc3QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgV2ViS2l0V2ViSGlzdG9yeUl0ZW0gICAgICpoaXN0b3J5X2l0ZW0p
OworLyoqCisgKiB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2NsZWFyOgorICogQHdlYl9i
YWNrX2ZvcndhcmRfbGlzdDogdGhlICNXZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QgdG8gYmUgY2xl
YXJlZAorICoKKyAqIENsZWFycyB0aGUgQHdlYkJhY2tGb3J3YXJkTGlzdCBieSByZW1vdmluZyBh
bGwgaXRzIGVsZW1lbnRzLiBOb3RlIHRoYXQgbm90IGV2ZW4KKyAqIHRoZSBjdXJyZW50IHBhZ2Ug
aXMga2VwdCBpbiBsaXN0IHdoZW4gY2xlYXJlZCBzbyB5b3Ugd291bGQgaGF2ZSB0byBhZGQgaXQg
bGF0ZXIuCisgKgorICogU2luY2U6IDEuMy4xCisgKiovCiBXRUJLSVRfQVBJIHZvaWQKIHdlYmtp
dF93ZWJfYmFja19mb3J3YXJkX2xpc3RfY2xlYXIgICAgICAgICAgICAgICAgICAgICAgIChXZWJL
aXRXZWJCYWNrRm9yd2FyZExpc3QgKndlYl9iYWNrX2ZvcndhcmRfbGlzdCk7CiAKZGlmZiAtLWdp
dCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwIGIvV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0d2Vidmlldy5jcHAKaW5kZXggNmRlMzNmZC4uOGJjNjVmYyAxMDA2NDQKLS0tIGEv
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0d2Vidmlldy5jcHAKQEAgLTMyOTgsMTQgKzMyOTgsNiBAQCB2b2lkIHdlYmtpdF93
ZWJfdmlld19zZXRfbWFpbnRhaW5zX2JhY2tfZm9yd2FyZF9saXN0KFdlYktpdFdlYlZpZXcqIHdl
YlZpZXcsIGdibwogICAgIGNvcmUod2ViVmlldyktPmJhY2tGb3J3YXJkTGlzdCgpLT5zZXRFbmFi
bGVkKGZsYWcpOwogfQogCi0vKioKLSAqIHdlYmtpdF93ZWJfdmlld19nZXRfYmFja19mb3J3YXJk
X2xpc3Q6Ci0gKiBAd2ViX3ZpZXc6IGEgI1dlYktpdFdlYlZpZXcKLSAqCi0gKiBSZXR1cm5zIGEg
I1dlYktpdFdlYkJhY2tGb3J3YXJkTGlzdAotICoKLSAqIFJldHVybiB2YWx1ZTogdGhlICNXZWJL
aXRXZWJCYWNrRm9yd2FyZExpc3QKLSAqLwogV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0KiB3ZWJr
aXRfd2ViX3ZpZXdfZ2V0X2JhY2tfZm9yd2FyZF9saXN0KFdlYktpdFdlYlZpZXcqIHdlYlZpZXcp
CiB7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9WSUVXKHdlYlZpZXcp
LCBOVUxMKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuaCBi
L1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuaAppbmRleCA4NjVhZTlkLi5iMzUyZGY5
IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmgKKysrIGIvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5oCkBAIC0xNTIsNiArMTUyLDE1IEBAIFdFQktJ
VF9BUEkgdm9pZAogd2Via2l0X3dlYl92aWV3X3NldF9tYWludGFpbnNfYmFja19mb3J3YXJkX2xp
c3QgKFdlYktpdFdlYlZpZXcgICAgICAgICp3ZWJfdmlldywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVhbiAgICAgICAgICAgICAgZmxhZyk7
CiAKKy8qKgorICogd2Via2l0X3dlYl92aWV3X2dldF9iYWNrX2ZvcndhcmRfbGlzdDoKKyAqIEB3
ZWJfdmlldzogYSAjV2ViS2l0V2ViVmlldworICoKKyAqIE9idGFpbnMgdGhlICNXZWJLaXRCYWNr
Rm9yd2FyZExpc3QgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiAjV2ViS2l0V2ViVmlldy4gVGhl
CisgKiAjV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0IGlzIG93bmVkIGJ5IHRoZSAjV2ViS2l0V2Vi
Vmlldy4KKyAqCisgKiBSZXR1cm4gdmFsdWU6ICh0cmFuc2ZlciBub25lKTogdGhlICNXZWJLaXRX
ZWJCYWNrRm9yd2FyZExpc3QKKyAqLwogV0VCS0lUX0FQSSBXZWJLaXRXZWJCYWNrRm9yd2FyZExp
c3QgKgogd2Via2l0X3dlYl92aWV3X2dldF9iYWNrX2ZvcndhcmRfbGlzdCAgICAgICAgICAgKFdl
YktpdFdlYlZpZXcgICAgICAgICp3ZWJfdmlldyk7CiAKLS0gCjEuNy4xCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>64617</attachid>
            <date>2010-08-17 12:30:55 -0700</date>
            <delta_ts>2010-08-17 12:54:10 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>0001-2010-08-17-Gustavo-Noronha-Silva-gustavo.noronha-col.patch</filename>
            <type>text/plain</type>
            <size>10970</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">RnJvbSBhODU4YzA1NjliYWFiY2U3MmZmZmQwY2QxNzkzYWZiOThhMjA5OWMzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgPGduc0Bnbm9tZS5vcmc+
CkRhdGU6IFR1ZSwgMTcgQXVnIDIwMTAgMTY6Mjk6MjUgLTAzMDAKU3ViamVjdDogW1BBVENIXSAy
MDEwLTA4LTE3ICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFAY29sbGFi
b3JhLmNvdWs+CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBX
ZWJCYWNrRm9yd2FyZExpc3QuZ2V0X3tiYWNrfGZvcndhcmR9X2xpc3Rfd2l0aF9saW1pdCBub3Qg
aW50cm9zcGVjdGFibGUKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NDMwNTQKCiAgICAgICAgKiBHTlVtYWtlZmlsZS5hbTogR2l2ZSBhbHNvIEFQSSBpbXBs
ZW1lbnRhdGlvbiBmaWxlcyB0byB0aGUgR0lSCiAgICAgICAgc2Nhbm5lci4KCldlYktpdC9ndGsK
CjIwMTAtMDgtMTcgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGd1c3Rhdm8ubm9yb25oYUBjb2xs
YWJvcmEuY28udWs+CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAg
ICBXZWJCYWNrRm9yd2FyZExpc3QuZ2V0X3tiYWNrfGZvcndhcmR9X2xpc3Rfd2l0aF9saW1pdCBu
b3QgaW50cm9zcGVjdGFibGUKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDMwNTQKCiAgICAgICAgQW5ub3RhdGUgV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0
IGFuZCB0aGUgZnVuY3Rpb24gdGhhdCBpcyB1c2VkIHRvIGZldGNoIGl0IGZyb20KICAgICAgICB0
aGUgV2ViS2l0V2ViVmlldy4gTW9yZSB3aWxsIGZvbGxvdy4KCiAgICAgICAgKiB3ZWJraXQvd2Vi
a2l0d2ViYmFja2ZvcndhcmRsaXN0LmNwcDogQW5ub3RhdGlvbnMsIGFuZCBzbWFsbAogICAgICAg
IGltcHJvdmVtZW50cyB0byB0aGUgZG9jcy4KICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJiYWNr
Zm9yd2FyZGxpc3QuaDogQ291cGxlIGVtcHR5IGxpbmVzIG1pc3NpbmcuCiAgICAgICAgKiB3ZWJr
aXQvd2Via2l0d2Vidmlldy5jcHA6Ci0tLQogQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB8ICAgMTAgKysrKysrKysrKwogR05VbWFrZWZpbGUuYW0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDMgKystCiBXZWJLaXQvZ3RrL0NoYW5nZUxv
ZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNSArKysrKysrKysrKysrKysKIFdlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHdlYmJhY2tmb3J3YXJkbGlzdC5jcHAgfCAgIDI0ICsrKysrKysr
KysrKy0tLS0tLS0tLS0tLQogV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViYmFja2ZvcndhcmRs
aXN0LmggICB8ICAgIDIgKysKIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwICAg
ICAgICAgICAgfCAgICA1ICsrKy0tCiA2IGZpbGVzIGNoYW5nZWQsIDQ0IGluc2VydGlvbnMoKyks
IDE1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRl
eCBmNjJiOWU4Li41M2EwOWFkIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDgtMTcgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGd1
c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY291az4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBXZWJCYWNrRm9yd2FyZExpc3QuZ2V0X3tiYWNrfGZvcndh
cmR9X2xpc3Rfd2l0aF9saW1pdCBub3QgaW50cm9zcGVjdGFibGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzMDU0CisKKyAgICAgICAgKiBHTlVtYWtl
ZmlsZS5hbTogR2l2ZSBhbHNvIEFQSSBpbXBsZW1lbnRhdGlvbiBmaWxlcyB0byB0aGUgR0lSCisg
ICAgICAgIHNjYW5uZXIuCisKIDIwMTAtMDgtMTcgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGd1
c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY28udWs+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFy
dGluIFJvYmluc29uLgpkaWZmIC0tZ2l0IGEvR05VbWFrZWZpbGUuYW0gYi9HTlVtYWtlZmlsZS5h
bQppbmRleCA5MTY1M2NmLi5lNDVkZmVkIDEwMDY0NAotLS0gYS9HTlVtYWtlZmlsZS5hbQorKysg
Yi9HTlVtYWtlZmlsZS5hbQpAQCAtODQ2LDcgKzg0Niw4IEBAICQoV0VCS0lUX0dJUlNPVVJDRVMp
OiAkKEdfSVJfU0NBTk5FUikgJChKU0NPUkVfR0lSU09VUkNFUykgbGlid2Via2l0Z3RrLUBXRUJL
SVRHCiAJICAgICAtSSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy93ZWJraXQgXAogCSAg
ICAgLUkkKHRvcF9zcmNkaXIpL0phdmFTY3JpcHRDb3JlL0ZvcndhcmRpbmdIZWFkZXJzIFwKIAkg
ICAgIC1JJCh0b3Bfc3JjZGlyKSBcCi0JICAgICAkKHdlYmtpdGd0a19oX2FwaSkKKwkgICAgICQo
d2Via2l0Z3RrX2hfYXBpKSBcCisJICAgICAkKHRvcF9zcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0
LyouY3BwCiAKIGdpcmRpciA9ICQoZGF0YWRpcikvZ2lyLTEuMAogZ2lyX0RBVEEgPSAkKFdFQktJ
VF9HSVJTT1VSQ0VTKSAkKEpTQ09SRV9HSVJTT1VSQ0VTKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCAxZWU3ZjdiLi40NGZiNWQw
IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZ3RrL0NoYW5n
ZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDEwLTA4LTE3ICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEg
IDxndXN0YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvLnVrPgogCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYkJhY2tGb3J3YXJkTGlzdC5nZXRfe2JhY2t8
Zm9yd2FyZH1fbGlzdF93aXRoX2xpbWl0IG5vdCBpbnRyb3NwZWN0YWJsZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDMwNTQKKworICAgICAgICBBbm5v
dGF0ZSBXZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QgYW5kIHRoZSBmdW5jdGlvbiB0aGF0IGlzIHVz
ZWQgdG8gZmV0Y2ggaXQgZnJvbQorICAgICAgICB0aGUgV2ViS2l0V2ViVmlldy4gTW9yZSB3aWxs
IGZvbGxvdy4KKworICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJiYWNrZm9yd2FyZGxpc3QuY3Bw
OiBBbm5vdGF0aW9ucywgYW5kIHNtYWxsCisgICAgICAgIGltcHJvdmVtZW50cyB0byB0aGUgZG9j
cy4KKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2ViYmFja2ZvcndhcmRsaXN0Lmg6IENvdXBsZSBl
bXB0eSBsaW5lcyBtaXNzaW5nLgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcDoK
KworMjAxMC0wOC0xNyAgR3VzdGF2byBOb3JvbmhhIFNpbHZhICA8Z3VzdGF2by5ub3JvbmhhQGNv
bGxhYm9yYS5jby51az4KKwogICAgICAgICBSZXZpZXdlZCBieSBNYXJ0aW4gUm9iaW5zb24uCiAK
ICAgICAgICAgW0dUS10gR1NldHRpbmdzIHN1cHBvcnQgYWRkcyBhbm5veWluZyB3YXJuaW5ncyBv
biBzeXN0ZW1zIHdpdGggb2xkZXIgZ2xpYiB2ZXJzaW9ucwpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0d2ViYmFja2ZvcndhcmRsaXN0LmNwcCBiL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHdlYmJhY2tmb3J3YXJkbGlzdC5jcHAKaW5kZXggNzBmZGVhNS4uZTFiZGFjNCAxMDA2
NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViYmFja2ZvcndhcmRsaXN0LmNwcAor
KysgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJiYWNrZm9yd2FyZGxpc3QuY3BwCkBAIC05
Niw3ICs5Niw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3RfaW5p
dChXZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QqIHdlYkJhY2tGCiB9CiAKIC8qKgotICogd2Via2l0
X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9uZXdfd2l0aF93ZWJfdmlldzoKKyAqIHdlYmtpdF93ZWJf
YmFja19mb3J3YXJkX2xpc3RfbmV3X3dpdGhfd2ViX3ZpZXc6IChza2lwKQogICogQHdlYl92aWV3
OiB0aGUgYmFjayBmb3J3YXJkIGxpc3QncyAjV2ViS2l0V2ViVmlldwogICoKICAqIENyZWF0ZXMg
YW4gaW5zdGFuY2Ugb2YgdGhlIGJhY2sgZm9yd2FyZCBsaXN0IHdpdGggYSBjb250cm9sbGluZyAj
V2ViS2l0V2ViVmlldwpAQCAtMTUxLDExICsxNTEsMTEgQEAgdm9pZCB3ZWJraXRfd2ViX2JhY2tf
Zm9yd2FyZF9saXN0X2dvX2JhY2soV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0KiB3ZWJCYWNrRm9y
d2EKIC8qKgogICogd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9jb250YWluc19pdGVtOgog
ICogQHdlYl9iYWNrX2ZvcndhcmRfbGlzdDogYSAjV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0Ci0g
KiBAaGlzdG9yeV9pdGVtOiB0aGUgI1dlYktpdFdlYkhpc3RvcnlJdGVtIHRvIGNoZWNrCisgKiBA
aGlzdG9yeV9pdGVtOiAodHlwZSBXZWJLaXQuV2ViSGlzdG9yeUl0ZW0pICh0cmFuc2ZlciBub25l
KTogdGhlICNXZWJLaXRXZWJIaXN0b3J5SXRlbSB0byBjaGVjawogICoKICAqIENoZWNrcyBpZiBA
d2ViX2hpc3RvcnlfaXRlbSBpcyBpbiB0aGUgYmFjayBmb3J3YXJkIGxpc3QKICAqCi0gKiBSZXR1
cm46ICVUUlVFIGlmIEB3ZWJfaGlzdG9yeV9pdGVtIGlzIGluIHRoZSBiYWNrIGZvcndhcmQgbGlz
dCwgJUZBTFNFIGlmIGl0IGRvZXNuJ3QKKyAqIFJldHVybiB2YWx1ZTogJVRSVUUgaWYgQHdlYl9o
aXN0b3J5X2l0ZW0gaXMgaW4gdGhlIGJhY2sgZm9yd2FyZCBsaXN0LCAlRkFMU0UgaWYgaXQgZG9l
c24ndAogICovCiBnYm9vbGVhbiB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2NvbnRhaW5z
X2l0ZW0oV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0KiB3ZWJCYWNrRm9yd2FyZExpc3QsIFdlYktp
dFdlYkhpc3RvcnlJdGVtKiB3ZWJIaXN0b3J5SXRlbSkKIHsKQEAgLTE3NCw3ICsxNzQsNyBAQCBn
Ym9vbGVhbiB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2NvbnRhaW5zX2l0ZW0oV2ViS2l0
V2ViQmFja0ZvcndhcmRMaXN0KiB3ZQogLyoqCiAgKiB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9s
aXN0X2dvX3RvX2l0ZW06CiAgKiBAd2ViX2JhY2tfZm9yd2FyZF9saXN0OiBhICNXZWJLaXRXZWJC
YWNrRm9yd2FyZExpc3QKLSAqIEBoaXN0b3J5X2l0ZW06IHRoZSAjV2ViS2l0V2ViSGlzdG9yeUl0
ZW0gdG8gZ28gdG8KKyAqIEBoaXN0b3J5X2l0ZW06ICh0eXBlIFdlYktpdC5XZWJIaXN0b3J5SXRl
bSkgKHRyYW5zZmVyIG5vbmUpOiB0aGUgI1dlYktpdFdlYkhpc3RvcnlJdGVtIHRvIGdvIHRvCiAg
KgogICogR28gdG8gdGhlIHNwZWNpZmllZCBAd2ViX2hpc3RvcnlfaXRlbSBpbiB0aGUgYmFjayBm
b3J3YXJkIGxpc3QKICAqLwpAQCAtMTk3LDcgKzE5Nyw3IEBAIHZvaWQgd2Via2l0X3dlYl9iYWNr
X2ZvcndhcmRfbGlzdF9nb190b19pdGVtKFdlYktpdFdlYkJhY2tGb3J3YXJkTGlzdCogd2ViQmFj
a0ZvCiAgKgogICogUmV0dXJucyBhIGxpc3Qgb2YgaXRlbXMgdGhhdCBzdWNjZWVkIHRoZSBjdXJy
ZW50IGl0ZW0sIGxpbWl0ZWQgYnkgQGxpbWl0CiAgKgotICogUmV0dXJuIHZhbHVlOiBhICNHTGlz
dCBvZiBpdGVtcyBzdWNjZWVkaW5nIHRoZSBjdXJyZW50IGl0ZW0sIGxpbWl0ZWQgYnkgQGxpbWl0
CisgKiBSZXR1cm4gdmFsdWU6IChlbGVtZW50LXR5cGUgV2ViS2l0LldlYkhpc3RvcnlJdGVtKSAo
dHJhbnNmZXIgY29udGFpbmVyKTogYSAjR0xpc3Qgb2YgaXRlbXMgc3VjY2VlZGluZyB0aGUgY3Vy
cmVudCBpdGVtLCBsaW1pdGVkIGJ5IEBsaW1pdAogICovCiBHTGlzdCogd2Via2l0X3dlYl9iYWNr
X2ZvcndhcmRfbGlzdF9nZXRfZm9yd2FyZF9saXN0X3dpdGhfbGltaXQoV2ViS2l0V2ViQmFja0Zv
cndhcmRMaXN0KiB3ZWJCYWNrRm9yd2FyZExpc3QsIGdpbnQgbGltaXQpCiB7CkBAIC0yMjcsNyAr
MjI3LDcgQEAgR0xpc3QqIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3RfZ2V0X2ZvcndhcmRf
bGlzdF93aXRoX2xpbWl0KFdlYktpdFdlYkJhY2tGb3IKICAqCiAgKiBSZXR1cm5zIGEgbGlzdCBv
ZiBpdGVtcyB0aGF0IHByZWNlZGUgdGhlIGN1cnJlbnQgaXRlbSwgbGltaXRlZCBieSBAbGltaXQK
ICAqCi0gKiBSZXR1cm4gdmFsdWU6IGEgI0dMaXN0IG9mIGl0ZW1zIHByZWNlZGluZyB0aGUgY3Vy
cmVudCBpdGVtLCBsaW1pdGVkIGJ5IEBsaW1pdAorICogUmV0dXJuIHZhbHVlOiAoZWxlbWVudC10
eXBlIFdlYktpdC5XZWJIaXN0b3J5SXRlbSkgKHRyYW5zZmVyIGNvbnRhaW5lcik6IGEgI0dMaXN0
IG9mIGl0ZW1zIHByZWNlZGluZyB0aGUgY3VycmVudCBpdGVtLCBsaW1pdGVkIGJ5IEBsaW1pdAog
ICovCiBHTGlzdCogd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfYmFja19saXN0X3dp
dGhfbGltaXQoV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0KiB3ZWJCYWNrRm9yd2FyZExpc3QsIGdp
bnQgbGltaXQpCiB7CkBAIC0yNTYsNyArMjU2LDcgQEAgR0xpc3QqIHdlYmtpdF93ZWJfYmFja19m
b3J3YXJkX2xpc3RfZ2V0X2JhY2tfbGlzdF93aXRoX2xpbWl0KFdlYktpdFdlYkJhY2tGb3J3YXIK
ICAqCiAgKiBSZXR1cm5zIHRoZSBpdGVtIHRoYXQgcHJlY2VkZXMgdGhlIGN1cnJlbnQgaXRlbQog
ICoKLSAqIFJldHVybiB2YWx1ZTogdGhlICNXZWJLaXRXZWJIaXN0b3J5SXRlbSBwcmVjZWRpbmcg
dGhlIGN1cnJlbnQgaXRlbQorICogUmV0dXJuIHZhbHVlOiAodHlwZSBXZWJLaXQuV2ViSGlzdG9y
eUl0ZW0pICh0cmFuc2ZlciBub25lKTogdGhlICNXZWJLaXRXZWJIaXN0b3J5SXRlbSBwcmVjZWRp
bmcgdGhlIGN1cnJlbnQgaXRlbQogICovCiBXZWJLaXRXZWJIaXN0b3J5SXRlbSogd2Via2l0X3dl
Yl9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfYmFja19pdGVtKFdlYktpdFdlYkJhY2tGb3J3YXJkTGlz
dCogd2ViQmFja0ZvcndhcmRMaXN0KQogewpAQCAtMjc5LDcgKzI3OSw3IEBAIFdlYktpdFdlYkhp
c3RvcnlJdGVtKiB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2dldF9iYWNrX2l0ZW0oV2Vi
S2l0V2ViQmFja0ZvCiAgKgogICogUmV0dXJucyBhIE5VTEwgdmFsdWUgaWYgdGhlIGJhY2sgZm9y
d2FyZCBsaXN0IGlzIGVtcHR5CiAgKgotICogUmV0dXJuIHZhbHVlOiBhICNXZWJLaXRXZWJIaXN0
b3J5SXRlbQorICogUmV0dXJuIHZhbHVlOiAodHlwZSBXZWJLaXQuV2ViSGlzdG9yeUl0ZW0pICh0
cmFuc2ZlciBub25lKTogYSAjV2ViS2l0V2ViSGlzdG9yeUl0ZW0KICAqLwogV2ViS2l0V2ViSGlz
dG9yeUl0ZW0qIHdlYmtpdF93ZWJfYmFja19mb3J3YXJkX2xpc3RfZ2V0X2N1cnJlbnRfaXRlbShX
ZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QqIHdlYkJhY2tGb3J3YXJkTGlzdCkKIHsKQEAgLTMwMiw3
ICszMDIsNyBAQCBXZWJLaXRXZWJIaXN0b3J5SXRlbSogd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRf
bGlzdF9nZXRfY3VycmVudF9pdGVtKFdlYktpdFdlYkJhYwogICoKICAqIFJldHVybnMgYSBOVUxM
IHZhbHVlIGlmIHRoZXJlIG5vdGhpbmcgdGhhdCBzdWNjZWVkcyB0aGUgY3VycmVudCBpdGVtCiAg
KgotICogUmV0dXJuIHZhbHVlOiBhICNXZWJLaXRXZWJIaXN0b3J5SXRlbQorICogUmV0dXJuIHZh
bHVlOiAodHlwZSBXZWJLaXQuV2ViSGlzdG9yeUl0ZW0pICh0cmFuc2ZlciBub25lKTogYSAjV2Vi
S2l0V2ViSGlzdG9yeUl0ZW0KICAqLwogV2ViS2l0V2ViSGlzdG9yeUl0ZW0qIHdlYmtpdF93ZWJf
YmFja19mb3J3YXJkX2xpc3RfZ2V0X2ZvcndhcmRfaXRlbShXZWJLaXRXZWJCYWNrRm9yd2FyZExp
c3QqIHdlYkJhY2tGb3J3YXJkTGlzdCkKIHsKQEAgLTMyNCw3ICszMjQsNyBAQCBXZWJLaXRXZWJI
aXN0b3J5SXRlbSogd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfZm9yd2FyZF9pdGVt
KFdlYktpdFdlYkJhYwogICoKICAqIFJldHVybnMgdGhlIGl0ZW0gYXQgYSBnaXZlbiBpbmRleCBy
ZWxhdGl2ZSB0byB0aGUgY3VycmVudCBpdGVtLgogICoKLSAqIFJldHVybiB2YWx1ZTogdGhlICNX
ZWJLaXRXZWJIaXN0b3J5SXRlbSBsb2NhdGVkIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXggcmVsYXRp
dmUgdG8gdGhlIGN1cnJlbnQgaXRlbQorICogUmV0dXJuIHZhbHVlOiAodHlwZSBXZWJLaXQuV2Vi
SGlzdG9yeUl0ZW0pICh0cmFuc2ZlciBub25lKTogdGhlICNXZWJLaXRXZWJIaXN0b3J5SXRlbSBs
b2NhdGVkIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXggcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgaXRl
bQogICovCiBXZWJLaXRXZWJIaXN0b3J5SXRlbSogd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlz
dF9nZXRfbnRoX2l0ZW0oV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0KiB3ZWJCYWNrRm9yd2FyZExp
c3QsIGdpbnQgaW5kZXgpCiB7CkBAIC00MTcsNyArNDE3LDcgQEAgdm9pZCB3ZWJraXRfd2ViX2Jh
Y2tfZm9yd2FyZF9saXN0X3NldF9saW1pdChXZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QqIHdlYkJh
Y2tGb3IKIC8qKgogICogd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9hZGRfaXRlbToKICAq
IEB3ZWJfYmFja19mb3J3YXJkX2xpc3Q6IGEgI1dlYktpdFdlYkJhY2tGb3J3YXJkTGlzdAotICog
QGhpc3RvcnlfaXRlbTogdGhlICNXZWJLaXRXZWJIaXN0b3J5SXRlbSB0byBhZGQKKyAqIEBoaXN0
b3J5X2l0ZW06ICh0eXBlIFdlYktpdC5XZWJIaXN0b3J5SXRlbSkgKHRyYW5zZmVyIG5vbmUpOiB0
aGUgI1dlYktpdFdlYkhpc3RvcnlJdGVtIHRvIGFkZAogICoKICAqIEFkZHMgdGhlIGl0ZW0gdG8g
dGhlICNXZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QuCiAgKgpAQCAtNDQwLDcgKzQ0MCw3IEBAIHZv
aWQgd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRfbGlzdF9hZGRfaXRlbShXZWJLaXRXZWJCYWNrRm9y
d2FyZExpc3QgKndlYkJhY2tGb3J3CiAKIC8qKgogICogd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRf
bGlzdF9jbGVhcjoKLSAqIEB3ZWJCYWNrRm9yd2FyZExpc3Q6ICBhICNXZWJLaXRXZWJCYWNrRm9y
d2FyZExpc3QKKyAqIEB3ZWJfYmFja19mb3J3YXJkX2xpc3Q6IHRoZSAjV2ViS2l0V2ViQmFja0Zv
cndhcmRMaXN0IHRvIGJlIGNsZWFyZWQKICAqCiAgKiBDbGVhcnMgdGhlIEB3ZWJCYWNrRm9yd2Fy
ZExpc3QgYnkgcmVtb3ZpbmcgYWxsIGl0cyBlbGVtZW50cy4gTm90ZSB0aGF0IG5vdCBldmVuCiAg
KiB0aGUgY3VycmVudCBwYWdlIGlzIGtlcHQgaW4gbGlzdCB3aGVuIGNsZWFyZWQgc28geW91IHdv
dWxkIGhhdmUgdG8gYWRkIGl0IGxhdGVyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQv
d2Via2l0d2ViYmFja2ZvcndhcmRsaXN0LmggYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJi
YWNrZm9yd2FyZGxpc3QuaAppbmRleCAyY2ZmYzY4Li4xNWRkYzk0IDEwMDY0NAotLS0gYS9XZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJiYWNrZm9yd2FyZGxpc3QuaAorKysgYi9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXR3ZWJiYWNrZm9yd2FyZGxpc3QuaApAQCAtMTA3LDkgKzEwNywxMSBAQCB3
ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9saXN0X2dldF9saW1pdCAgICAgICAgICAgICAgICAgICAo
V2ViS2l0V2ViQmFja0ZvcndhcmRMaQogV0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfd2ViX2JhY2tf
Zm9yd2FyZF9saXN0X3NldF9saW1pdCAgICAgICAgICAgICAgICAgICAoV2ViS2l0V2ViQmFja0Zv
cndhcmRMaXN0ICp3ZWJfYmFja19mb3J3YXJkX2xpc3QsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ludCAgICAgICAgICAgICAgICAg
ICAgICBsaW1pdCk7CisKIFdFQktJVF9BUEkgdm9pZAogd2Via2l0X3dlYl9iYWNrX2ZvcndhcmRf
bGlzdF9hZGRfaXRlbSAgICAgICAgICAgICAgICAgICAgKFdlYktpdFdlYkJhY2tGb3J3YXJkTGlz
dCAqd2ViX2JhY2tfZm9yd2FyZF9saXN0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdlYktpdFdlYkhpc3RvcnlJdGVtICAgICAqaGlz
dG9yeV9pdGVtKTsKKwogV0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfd2ViX2JhY2tfZm9yd2FyZF9s
aXN0X2NsZWFyICAgICAgICAgICAgICAgICAgICAgICAoV2ViS2l0V2ViQmFja0ZvcndhcmRMaXN0
ICp3ZWJfYmFja19mb3J3YXJkX2xpc3QpOwogCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJ2aWV3LmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3Bw
CmluZGV4IDZkZTMzZmQuLjY0YjdkY2MgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHdlYnZpZXcuY3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3Bw
CkBAIC0zMzAyLDkgKzMzMDIsMTAgQEAgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfc2V0X21haW50YWlu
c19iYWNrX2ZvcndhcmRfbGlzdChXZWJLaXRXZWJWaWV3KiB3ZWJWaWV3LCBnYm8KICAqIHdlYmtp
dF93ZWJfdmlld19nZXRfYmFja19mb3J3YXJkX2xpc3Q6CiAgKiBAd2ViX3ZpZXc6IGEgI1dlYktp
dFdlYlZpZXcKICAqCi0gKiBSZXR1cm5zIGEgI1dlYktpdFdlYkJhY2tGb3J3YXJkTGlzdAorICog
T2J0YWlucyB0aGUgI1dlYktpdEJhY2tGb3J3YXJkTGlzdCBhc3NvY2lhdGVkIHdpdGggdGhlIGdp
dmVuICNXZWJLaXRXZWJWaWV3LiBUaGUKKyAqICNXZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QgaXMg
b3duZWQgYnkgdGhlICNXZWJLaXRXZWJWaWV3LgogICoKLSAqIFJldHVybiB2YWx1ZTogdGhlICNX
ZWJLaXRXZWJCYWNrRm9yd2FyZExpc3QKKyAqIFJldHVybiB2YWx1ZTogKHRyYW5zZmVyIG5vbmUp
OiB0aGUgI1dlYktpdFdlYkJhY2tGb3J3YXJkTGlzdAogICovCiBXZWJLaXRXZWJCYWNrRm9yd2Fy
ZExpc3QqIHdlYmtpdF93ZWJfdmlld19nZXRfYmFja19mb3J3YXJkX2xpc3QoV2ViS2l0V2ViVmll
dyogd2ViVmlldykKIHsKLS0gCjEuNy4xCgo=
</data>
<flag name="review"
          id="53217"
          type_id="1"
          status="+"
          setter="mrobinson"
    />
          </attachment>
      

    </bug>

</bugzilla>