<?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>74301</bug_id>
          
          <creation_ts>2011-12-12 08:41:46 -0800</creation_ts>
          <short_desc>[EFL] Add API to notify that mixed content has been loaded.</short_desc>
          <delta_ts>2011-12-12 10:21:05 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Raphael Kubo da Costa (:rakuco)">rakuco</reporter>
          <assigned_to name="Raphael Kubo da Costa (:rakuco)">rakuco</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>leandro</cc>
    
    <cc>lucas.de.marchi</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>519225</commentid>
    <comment_count>0</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-12-12 08:41:46 -0800</bug_when>
    <thetext>[EFL] Add API to notify that mixed content has been loaded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519227</commentid>
    <comment_count>1</comment_count>
      <attachid>118795</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-12-12 08:42:10 -0800</bug_when>
    <thetext>Created attachment 118795
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519238</commentid>
    <comment_count>2</comment_count>
      <attachid>118799</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-12-12 08:48:02 -0800</bug_when>
    <thetext>Created attachment 118799
Patch with bug number</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519254</commentid>
    <comment_count>3</comment_count>
      <attachid>118805</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-12-12 09:01:18 -0800</bug_when>
    <thetext>Created attachment 118805
Move DocumentLoader.h include to bug 74302</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519266</commentid>
    <comment_count>4</comment_count>
      <attachid>118805</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-12-12 09:20:17 -0800</bug_when>
    <thetext>Comment on attachment 118805
Move DocumentLoader.h include to bug 74302

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

OK, looks good, with just a nit.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:1706
&gt; +        evas_object_smart_callback_call(ewkFrame, &quot;mixedcontent,displayed&quot;, 0);
&gt; +        ewk_view_mixed_content_displayed_set(smartData-&gt;view, true);

Wouldn&apos;t it be more conceptually correct to first set it, and then emit the signal? This way if the API user for some bizarre reason decides to query this flag while handling the signal it&apos;ll be properly set.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519275</commentid>
    <comment_count>5</comment_count>
      <attachid>118810</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-12-12 09:28:20 -0800</bug_when>
    <thetext>Created attachment 118810
Patch for landing, follow kov&apos;s suggestion</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519306</commentid>
    <comment_count>6</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-12-12 10:21:05 -0800</bug_when>
    <thetext>Committed r102600: &lt;http://trac.webkit.org/changeset/102600&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118795</attachid>
            <date>2011-12-12 08:42:10 -0800</date>
            <delta_ts>2011-12-12 08:47:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74301-20111212144300.patch</filename>
            <type>text/plain</type>
            <size>15145</size>
            <attacher name="Raphael Kubo da Costa (:rakuco)">rakuco</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggYzdmN2QxODY5
ZDYyNTA2MjgyNTBiNDdjOTM3NjBiZDIxZDc1N2ZjNi4uYWU1YjMyMmQ1YWZkZjI0YTE2MjYzOGEx
NGQ4ZDM2NDc5MWUzYzIwMyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0IEBACiAyMDEx
LTEyLTEyICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxrdWJvQHByb2Z1c2lvbi5tb2JpPgogCisg
ICAgICAgIFtFRkxdIEFkZCBBUEkgdG8gbm90aWZ5IHRoYXQgbWl4ZWQgY29udGVudCBoYXMgYmVl
biBsb2FkZWQuCisgICAgICAgIE5lZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiBhbmQgYnVnIFVSTCAo
T09QUyEpCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
V2hlbiBtaXhlZCBjb250ZW50IGlzIGRpc3BsYXllZC9ydW4sIGJvdGggZnJhbWVzIGFuZCB2aWV3
cworICAgICAgICBlbWl0IHRoZSBwcm9wZXIgc2lnbmFscyB0byBub3RpZnkgQVBJIHVzZXJzLgor
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpZERpc3BsYXlJbnNlY3VyZUNv
bnRlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpZFJ1bklu
c2VjdXJlQ29udGVudCk6CisgICAgICAgICogZXdrL2V3a19mcmFtZS5jcHA6CisgICAgICAgIChl
d2tfZnJhbWVfdmlld19jcmVhdGVfZm9yX3ZpZXcpOgorICAgICAgICAoZXdrX2ZyYW1lX21peGVk
X2NvbnRlbnRfZGlzcGxheWVkX2dldCk6CisgICAgICAgIChld2tfZnJhbWVfbWl4ZWRfY29udGVu
dF9ydW5fZ2V0KToKKyAgICAgICAgKGV3a19mcmFtZV9taXhlZF9jb250ZW50X2Rpc3BsYXllZF9z
ZXQpOgorICAgICAgICAoZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRfcnVuX3NldCk6CisgICAgICAg
ICogZXdrL2V3a19mcmFtZS5oOgorICAgICAgICAqIGV3ay9ld2tfcHJpdmF0ZS5oOgorICAgICAg
ICAqIGV3ay9ld2tfdmlldy5jcHA6CisgICAgICAgIChld2tfdmlld19mcmFtZV9tYWluX2NsZWFy
ZWQpOgorICAgICAgICAoZXdrX3ZpZXdfbWl4ZWRfY29udGVudF9kaXNwbGF5ZWRfZ2V0KToKKyAg
ICAgICAgKGV3a192aWV3X21peGVkX2NvbnRlbnRfcnVuX2dldCk6CisgICAgICAgIChld2tfdmll
d19taXhlZF9jb250ZW50X2Rpc3BsYXllZF9zZXQpOgorICAgICAgICAoZXdrX3ZpZXdfbWl4ZWRf
Y29udGVudF9ydW5fc2V0KToKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuaDoKKworMjAxMS0xMi0x
MiAgUmFwaGFlbCBLdWJvIGRhIENvc3RhICA8a3Vib0Bwcm9mdXNpb24ubW9iaT4KKwogICAgICAg
ICBbRUZMXSBBZGQgQVBJIHRvIG1hbmFnZSByb290IFguNTA5IENBIGNlcnRpZmljYXRlcy4KICAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzAwCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50RWZsLmNwcAppbmRleCA2ODg1ZTgyZmNjZWI4YzIwZTM4OWM1MTVkN2NiYjFjNzJiMGQ4
MmViLi4yZmQ0ZjkxZDQ2MjQ5OTM5M2Y2NjRhYzgyYjk4Mjc4NWQwNWMwNGNjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGll
bnRFZmwuY3BwCkBAIC01MDIsMTIgKzUwMiwxMiBAQCBib29sIEZyYW1lTG9hZGVyQ2xpZW50RWZs
OjpzaG91bGRTdG9wTG9hZGluZ0Zvckhpc3RvcnlJdGVtKEhpc3RvcnlJdGVtKiBpdGVtKSBjbwog
CiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaWREaXNwbGF5SW5zZWN1cmVDb250ZW50KCkK
IHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGV3a19mcmFtZV9taXhlZF9jb250ZW50X2Rp
c3BsYXllZF9zZXQobV9mcmFtZSwgdHJ1ZSk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRF
Zmw6OmRpZFJ1bkluc2VjdXJlQ29udGVudChTZWN1cml0eU9yaWdpbiosIGNvbnN0IEtVUkwmKQog
ewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRfcnVu
X3NldChtX2ZyYW1lLCB0cnVlKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlk
RGV0ZWN0WFNTKGNvbnN0IEtVUkwmLCBib29sKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19mcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNw
cAppbmRleCBiOWQyYWUzZDA5ZjhjOTEyZTVhMTVmOTZiOWU3ZTNmYTM0MTU1Mjk2Li5iM2JkYzE2
NWU1NWNiMGZjZDUyZTg1Nzk0ZmU1NGM0ZmRlNzY0MjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X2ZyYW1lLmNwcApAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgImV3a19mcmFtZS5oIgogCisjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRl
ICJEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJFdmVudEhhbmRsZXIuaCIK
ICNpbmNsdWRlICJGb2N1c0NvbnRyb2xsZXIuaCIKQEAgLTcwLDYgKzcxLDggQEAgc3RydWN0IEV3
a19GcmFtZV9TbWFydF9EYXRhIHsKICAgICBjb25zdCBjaGFyKiB1cmk7CiAgICAgY29uc3QgY2hh
ciogbmFtZTsKICAgICBib29sIGVkaXRhYmxlIDogMTsKKyAgICBib29sIGhhc0Rpc3BsYXllZE1p
eGVkQ29udGVudCA6IDE7CisgICAgYm9vbCBoYXNSdW5NaXhlZENvbnRlbnQgOiAxOwogfTsKIAog
c3RydWN0IEVpbmFfSXRlcmF0b3JfRXdrX0ZyYW1lIHsKQEAgLTE0NzcsNiArMTQ4MCw5IEBAIHZv
aWQgZXdrX2ZyYW1lX3ZpZXdfY3JlYXRlX2Zvcl92aWV3KEV2YXNfT2JqZWN0KiBld2tGcmFtZSwg
RXZhc19PYmplY3QqIHZpZXcpCiAgICAgY29uc3QgY2hhciogdGhlbWUgPSBld2tfdmlld190aGVt
ZV9nZXQodmlldyk7CiAgICAgc21hcnREYXRhLT5mcmFtZS0+dmlldygpLT5zZXRFZGplVGhlbWUo
dGhlbWUpOwogICAgIHNtYXJ0RGF0YS0+ZnJhbWUtPnZpZXcoKS0+c2V0RXZhc09iamVjdChld2tG
cmFtZSk7CisKKyAgICBld2tfZnJhbWVfbWl4ZWRfY29udGVudF9kaXNwbGF5ZWRfc2V0KGV3a0Zy
YW1lLCBmYWxzZSk7CisgICAgZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRfcnVuX3NldChld2tGcmFt
ZSwgZmFsc2UpOwogfQogCiBzc2l6ZV90IGV3a19mcmFtZV9zb3VyY2VfZ2V0KGNvbnN0IEV2YXNf
T2JqZWN0KiBld2tGcmFtZSwgY2hhcioqIGZyYW1lU291cmNlKQpAQCAtMTU4OSw2ICsxNTk1LDE4
IEBAIGNoYXIqIGV3a19mcmFtZV9wbGFpbl90ZXh0X2dldChjb25zdCBFdmFzX09iamVjdCogZXdr
RnJhbWUpCiAgICAgcmV0dXJuIHN0cmR1cChkb2N1bWVudEVsZW1lbnQtPmlubmVyVGV4dCgpLnV0
ZjgoKS5kYXRhKCkpOwogfQogCitFaW5hX0Jvb2wgZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRfZGlz
cGxheWVkX2dldChjb25zdCBFdmFzX09iamVjdCogZXdrRnJhbWUpCit7CisgICAgRVdLX0ZSQU1F
X1NEX0dFVF9PUl9SRVRVUk4oZXdrRnJhbWUsIHNtYXJ0RGF0YSwgZmFsc2UpOworICAgIHJldHVy
biBzbWFydERhdGEtPmhhc0Rpc3BsYXllZE1peGVkQ29udGVudDsKK30KKworRWluYV9Cb29sIGV3
a19mcmFtZV9taXhlZF9jb250ZW50X3J1bl9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a0ZyYW1l
KQoreworICAgIEVXS19GUkFNRV9TRF9HRVRfT1JfUkVUVVJOKGV3a0ZyYW1lLCBzbWFydERhdGEs
IGZhbHNlKTsKKyAgICByZXR1cm4gc21hcnREYXRhLT5oYXNSdW5NaXhlZENvbnRlbnQ7Cit9CisK
IC8qKgogICogQGludGVybmFsCiAgKiBSZXBvcnRzIHVyaSBjaGFuZ2VkIGFuZCBzd2FwIGludGVy
bmFsIHN0cmluZyByZWZlcmVuY2UuCkBAIC0xNjY3LDYgKzE2ODUsNTIgQEAgdm9pZCBld2tfZnJh
bWVfZWRpdG9yX2NsaWVudF9jb250ZW50c19jaGFuZ2VkKEV2YXNfT2JqZWN0KiBld2tGcmFtZSkK
ICAgICBld2tfdmlld19lZGl0b3JfY2xpZW50X2NvbnRlbnRzX2NoYW5nZWQoc21hcnREYXRhLT52
aWV3KTsKIH0KIAorLyoqCisgKiBAaW50ZXJuYWwKKyAqIERlZmluZXMgd2hldGhlciB0aGUgZnJh
bWUgaGFzIGRpc3BsYXllZCBtaXhlZCBjb250ZW50LgorICoKKyAqIFdoZW4gYSBmcmFtZSBoYXMg
ZGlzcGxheWVkIG1peGVkIGNvbnRlbnQsIHRoZSBjdXJyZW50bHkgbG9hZGVkIFVSSSBpcyBzZWN1
cmUgKEhUVFBTKSBidXQgaXQgaGFzCisgKiBsb2FkZWQgYW5kIGRpc3BsYXllZCBhIHJlc291cmNl
LCBzdWNoIGFzIGFuIGltYWdlLCBmcm9tIGFuIGluc2VjdXJlIChIVFRQKSBzb3VyY2UuCisgKgor
ICogQHBhcmFtIGhhc0Rpc3BsYXllZCBEbyBvciBkbyBub3QgY2xlYXIgdGhlIGZsYWcgZnJvbSB0
aGUgZnJhbWUuIElmIEBjIHRydWUsIHRoZSBjb250YWluZXIgdmlldworICogICAgICAgICAgICAg
ICAgICAgICBpcyBhbHNvIG5vdGlmaWVkIGFuZCBpdCB0aGVuIGVtaXRzIHRoZSAibWl4ZWRjb250
ZW50LGRpc3BsYXllZCIgc2lnbmFsLgorICoKKyAqIEVtaXRzIHNpZ25hbDogIm1peGVkY29udGVu
dCxkaXNwbGF5ZWQiIHdpdGggbm8gcGFyYW1ldGVycyB3aGVuIEBwIGhhc0Rpc3BsYXllZCBpcyBA
YyB0cnVlLgorICovCit2b2lkIGV3a19mcmFtZV9taXhlZF9jb250ZW50X2Rpc3BsYXllZF9zZXQo
RXZhc19PYmplY3QqIGV3a0ZyYW1lLCBib29sIGhhc0Rpc3BsYXllZCkKK3sKKyAgICBFV0tfRlJB
TUVfU0RfR0VUX09SX1JFVFVSTihld2tGcmFtZSwgc21hcnREYXRhKTsKKyAgICBzbWFydERhdGEt
Pmhhc0Rpc3BsYXllZE1peGVkQ29udGVudCA9IGhhc0Rpc3BsYXllZDsKKworICAgIGlmIChoYXNE
aXNwbGF5ZWQpIHsKKyAgICAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfY2FsbChld2tG
cmFtZSwgIm1peGVkY29udGVudCxkaXNwbGF5ZWQiLCAwKTsKKyAgICAgICAgZXdrX3ZpZXdfbWl4
ZWRfY29udGVudF9kaXNwbGF5ZWRfc2V0KHNtYXJ0RGF0YS0+dmlldywgdHJ1ZSk7CisgICAgfQor
fQorCisvKioKKyAqIEBpbnRlcm5hbAorICogRGVmaW5lcyB3aGV0aGVyIHRoZSBmcmFtZSBoYXMg
cnVuIG1peGVkIGNvbnRlbnQuCisgKgorICogV2hlbiBhIGZyYW1lIGhhcyBydW4gbWl4ZWQgY29u
dGVudCwgdGhlIGN1cnJlbnRseSBsb2FkZWQgVVJJIGlzIHNlY3VyZSAoSFRUUFMpIGJ1dCBpdCBo
YXMKKyAqIGxvYWRlZCBhbmQgcnVuIGEgcmVzb3VyY2UsIHN1Y2ggYXMgYSBzY3JpcHQsIGZyb20g
YW4gaW5zZWN1cmUgKEhUVFApIHNvdXJjZS4KKyAqCisgKiBAcGFyYW0gaGFzRGlzcGxheWVkIERv
IG9yIGRvIG5vdCBjbGVhciB0aGUgZmxhZyBmcm9tIHRoZSBmcmFtZS4gSWYgQGMgdHJ1ZSwgdGhl
IGNvbnRhaW5lciB2aWV3CisgKiAgICAgICAgICAgICAgICAgICAgIGlzIGFsc28gbm90aWZpZWQg
YW5kIGl0IHRoZW4gZW1pdHMgdGhlICJtaXhlZGNvbnRlbnQscnVuIiBzaWduYWwuCisgKgorICog
RW1pdHMgc2lnbmFsOiAibWl4ZWRjb250ZW50LHJ1biIgd2l0aCBubyBwYXJhbWV0ZXJzIHdoZW4g
QHAgaGFzUnVuIGlzIEBjIHRydWUuCisgKi8KK3ZvaWQgZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRf
cnVuX3NldChFdmFzX09iamVjdCogZXdrRnJhbWUsIGJvb2wgaGFzUnVuKQoreworICAgIEVXS19G
UkFNRV9TRF9HRVRfT1JfUkVUVVJOKGV3a0ZyYW1lLCBzbWFydERhdGEpOworICAgIHNtYXJ0RGF0
YS0+aGFzUnVuTWl4ZWRDb250ZW50ID0gaGFzUnVuOworCisgICAgaWYgKGhhc1J1bikgeworICAg
ICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKGV3a0ZyYW1lLCAibWl4ZWRjb250
ZW50LHJ1biIsIDApOworICAgICAgICBld2tfdmlld19taXhlZF9jb250ZW50X3J1bl9zZXQoc21h
cnREYXRhLT52aWV3LCB0cnVlKTsKKyAgICB9Cit9CisKIG5hbWVzcGFjZSBFV0tQcml2YXRlIHsK
IAogV2ViQ29yZTo6RnJhbWUgKmNvcmVGcmFtZShjb25zdCBFdmFzX09iamVjdCAqZXdrRnJhbWUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmggYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKaW5kZXggZDliNDIzMDc1M2IyOGJkZTEzNTU3YTU0
YTlmMDQ4MjYwZTY2OTU2My4uNDBjZTM0N2MzMzJiNDM0ZWNhM2U4MDAwZWEwZGI5YmE5YTJkMGUy
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuaApAQCAtNTIsNiArNTIsOCBAQAogICogICAg
ZnJvbSAwLjAgdG8gMS4wLCBjb25uZWN0IHRvIGluZGl2aWR1YWwgZnJhbWVzIGZvciBmaW5lIGdy
YWluZWQpLgogICogIC0gImxvYWQscHJvdmlzaW9uYWwiLCB2b2lkOiBmcmFtZSBzdGFydGVkIHBy
b3Zpc2lvbmFsIGxvYWQuCiAgKiAgLSAibG9hZCxzdGFydGVkIiwgdm9pZDogZnJhbWUgc3RhcnRl
ZCBsb2FkaW5nIHRoZSBkb2N1bWVudC4KKyAqICAtICJtaXhlZGNvbnRlbnQsZGlzcGxheWVkIiwg
dm9pZDogZnJhbWUgaGFzIGxvYWRlZCBhbmQgZGlzcGxheWVkIG1peGVkIGNvbnRlbnQuCisgKiAg
LSAibWl4ZWRjb250ZW50LHJ1biIsIHZvaWQ6IGZyYW1lIGhhcyBsb2FkZWQgYW5kIHJ1biBtaXhl
ZCBjb250ZW50LgogICogIC0gIm5hdmlnYXRpb24sZmlyc3QiLCB2b2lkOiBmaXJzdCBuYXZpZ2F0
aW9uIHdhcyBvY2N1cnJlZC4KICAqICAtICJyZXNvdXJjZSxyZXF1ZXN0LG5ldyIsIEV3a19GcmFt
ZV9SZXNvdXJjZV9SZXF1ZXN0KjogcmVwb3J0cyB0aGF0CiAgKiAgICB0aGVyZSdzIGEgbmV3IHJl
c291cmNlIHJlcXVlc3QuCkBAIC04NDAsNiArODQyLDM2IEBAIEVBUEkgRWluYV9MaXN0ICpld2tf
ZnJhbWVfcmVzb3VyY2VzX2xvY2F0aW9uX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CiAgKi8K
IEVBUEkgY2hhciogZXdrX2ZyYW1lX3BsYWluX3RleHRfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBv
KTsKIAorLyoqCisgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIGZyYW1lIGhhcyBkaXNwbGF5ZWQgbWl4
ZWQgY29udGVudC4KKyAqCisgKiBXaGVuIGEgZnJhbWUgaGFzIGRpc3BsYXllZCBtaXhlZCBjb250
ZW50LCBpdHMgY3VycmVudCBVUkkgaXMgYW4gSFRUUFMgb25lLCBidXQgaXQgaGFzCisgKiBsb2Fk
ZWQgYW5kIGRpc3BsYXllZCBhIHJlc291cmNlIChzdWNoIGFzIGFuIGltYWdlKSBmcm9tIGFuIGlu
c2VjdXJlIChub24tSFRUUFMpIFVSSS4KKyAqIEJvdGggdGhlIGZyYW1lIGFuZCB0aGUgY29udGFp
bmVyIHZpZXcgc2VuZCBhICJtaXhlZGNvbnRlbnQsZGlzcGxheWVkIiBzaWduYWwgaW4gdGhpcyBj
YXNlLgorICoKKyAqIFRoZSBzdGF0dXMgaXMgcmVzZXQgb25seSB3aGVuIGEgbG9hZCBldmVudCBv
Y2N1cnMgKGVnLiB0aGUgcGFnZSBpcyByZWxvYWRlZCBvciBhIG5ldyBwYWdlIGlzIGxvYWRlZCku
CisgKgorICogQHBhcmFtIG8gVGhlIGZyYW1lIHRvIHF1ZXJ5LgorICoKKyAqIEBzYSBld2tfdmll
d19taXhlZF9jb250ZW50X2Rpc3BsYXllZF9nZXQKKyAqLworRUFQSSBFaW5hX0Jvb2wgZXdrX2Zy
YW1lX21peGVkX2NvbnRlbnRfZGlzcGxheWVkX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CisK
Ky8qKgorICogUmV0dXJucyB3aGV0aGVyIHRoZSBmcmFtZSBoYXMgcnVuIG1peGVkIGNvbnRlbnQu
CisgKgorICogV2hlbiBhIGZyYW1lIGhhcyBydW4gbWl4ZWQgY29udGVudCwgaXRzIGN1cnJlbnQg
VVJJIGlzIGFuIEhUVFBTIG9uZSwgYnV0IGl0IGhhcworICogbG9hZGVkIGFuZCBydW4gYSByZXNv
dXJjZSAoc3VjaCBhcyBhbiBpbWFnZSkgZnJvbSBhbiBpbnNlY3VyZSAobm9uLUhUVFBTKSBVUkku
CisgKiBCb3RoIHRoZSBmcmFtZSBhbmQgdGhlIGNvbnRhaW5lciB2aWV3IHNlbmQgYSAibWl4ZWRj
b250ZW50LHJ1biIgc2lnbmFsIGluIHRoaXMgY2FzZS4KKyAqCisgKiBUaGUgc3RhdHVzIGlzIHJl
c2V0IG9ubHkgd2hlbiBhIGxvYWQgZXZlbnQgb2NjdXJzIChlZy4gdGhlIHBhZ2UgaXMgcmVsb2Fk
ZWQgb3IgYSBuZXcgcGFnZSBpcyBsb2FkZWQpLgorICoKKyAqIEBwYXJhbSBvIFRoZSBmcmFtZSB0
byBxdWVyeS4KKyAqCisgKiBAc2EgZXdrX3ZpZXdfbWl4ZWRfY29udGVudF9ydW5fZ2V0CisgKi8K
K0VBUEkgRWluYV9Cb29sIGV3a19mcmFtZV9taXhlZF9jb250ZW50X3J1bl9nZXQoY29uc3QgRXZh
c19PYmplY3QgKm8pOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3ByaXZhdGUuaAppbmRleCA2ZjUzMzIxZjY0ZjI0MGFmMGNlOTEzYzRiOTdkNTJm
NzQ1OTIyZWI2Li41YTBhMDQ4YjRiODk2YTQ2N2M0NmE5MThmZjE2YzRkNTRkOGI3N2MwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaApAQCAtMjIyLDYgKzIyMiwxMSBAQCBjb25zdCBj
aGFyKiBld2tfc2V0dGluZ3NfZGVmYXVsdF91c2VyX2FnZW50X2dldCgpOwogdm9pZCBld2tfZnJh
bWVfZWRpdG9yX2NsaWVudF9jb250ZW50c19jaGFuZ2VkKEV2YXNfT2JqZWN0KiBvKTsKIHZvaWQg
ZXdrX2ZyYW1lX2VkaXRvcl9jbGllbnRfc2VsZWN0aW9uX2NoYW5nZWQoRXZhc19PYmplY3QqIG8p
OwogCit2b2lkIGV3a19mcmFtZV9taXhlZF9jb250ZW50X2Rpc3BsYXllZF9zZXQoRXZhc19PYmpl
Y3QqIGV3a0ZyYW1lLCBib29sIGhhc0Rpc3BsYXllZCk7Cit2b2lkIGV3a19mcmFtZV9taXhlZF9j
b250ZW50X3J1bl9zZXQoRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBib29sIGhhc1J1bik7Cit2b2lk
IGV3a192aWV3X21peGVkX2NvbnRlbnRfZGlzcGxheWVkX3NldChFdmFzX09iamVjdCogZXdrVmll
dywgYm9vbCBoYXNEaXNwbGF5ZWQpOwordm9pZCBld2tfdmlld19taXhlZF9jb250ZW50X3J1bl9z
ZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGJvb2wgaGFzUnVuKTsKKwogI2lmZGVmIF9fY3BsdXNw
bHVzCiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCmluZGV4IDc2NWU2YjVlYzNhOGUz
MGFhNTg3NGI0OGJjNTNjZjYzNmUyM2QwOTEuLmUzN2E0OGE1MmQ3N2YwYjE4ZjE2NjRhNjU3YzM3
MzEwNjg0YTgwZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcApAQCAtMTQ4LDYgKzE0
OCw4IEBAIHN0cnVjdCBfRXdrX1ZpZXdfUHJpdmF0ZV9EYXRhIHsKICAgICBzdHJ1Y3QgewogICAg
ICAgICBib29sIHZpZXdDbGVhcmVkIDogMTsKICAgICAgICAgYm9vbCBuZWVkVG91Y2hFdmVudHMg
OiAxOworICAgICAgICBib29sIGhhc0Rpc3BsYXllZE1peGVkQ29udGVudCA6IDE7CisgICAgICAg
IGJvb2wgaGFzUnVuTWl4ZWRDb250ZW50IDogMTsKICAgICB9IGZsYWdzOwogICAgIHN0cnVjdCB7
CiAgICAgICAgIGNvbnN0IGNoYXIqIHVzZXJBZ2VudDsKQEAgLTI4NDcsNiArMjg0OSw5IEBAIHZv
aWQgZXdrX3ZpZXdfZnJhbWVfbWFpbl9jbGVhcmVkKEV2YXNfT2JqZWN0KiBld2tWaWV3KQogICAg
IEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhKTsKICAgICBFSU5B
X1NBRkVUWV9PTl9OVUxMX1JFVFVSTihzbWFydERhdGEtPmFwaS0+Zmx1c2gpOwogICAgIHNtYXJ0
RGF0YS0+YXBpLT5mbHVzaChzbWFydERhdGEpOworCisgICAgZXdrX3ZpZXdfbWl4ZWRfY29udGVu
dF9kaXNwbGF5ZWRfc2V0KGV3a1ZpZXcsIGZhbHNlKTsKKyAgICBld2tfdmlld19taXhlZF9jb250
ZW50X3J1bl9zZXQoZXdrVmlldywgZmFsc2UpOwogfQogCiAvKioKQEAgLTM4MDQsNiArMzgwOSwy
MCBAQCBFd2tfVmlld19Nb2RlIGV3a192aWV3X21vZGVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBl
d2tWaWV3KQogICAgIHJldHVybiBtb2RlOwogfQogCitFaW5hX0Jvb2wgZXdrX3ZpZXdfbWl4ZWRf
Y29udGVudF9kaXNwbGF5ZWRfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3KQoreworICAg
IEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhLCBmYWxzZSk7Cisg
ICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgcHJpdiwgZmFsc2UpOwor
ICAgIHJldHVybiBwcml2LT5mbGFncy5oYXNEaXNwbGF5ZWRNaXhlZENvbnRlbnQ7Cit9CisKK0Vp
bmFfQm9vbCBld2tfdmlld19taXhlZF9jb250ZW50X3J1bl9nZXQoY29uc3QgRXZhc19PYmplY3Qq
IGV3a1ZpZXcpCit7CisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFy
dERhdGEsIGZhbHNlKTsKKyAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRh
LCBwcml2LCBmYWxzZSk7CisgICAgcmV0dXJuIHByaXYtPmZsYWdzLmhhc1J1bk1peGVkQ29udGVu
dDsKK30KKwogLyoqCiAgKiBAaW50ZXJuYWwKICAqIFJlcG9ydHMgdGhlIHZpZXcgdGhhdCBlZGl0
b3IgY2xpZW50IHNlbGVjdGlvbiBoYXMgY2hhbmdlZC4KQEAgLTM4MzAsNiArMzg0OSw1MiBAQCB2
b2lkIGV3a192aWV3X2VkaXRvcl9jbGllbnRfY29udGVudHNfY2hhbmdlZChFdmFzX09iamVjdCog
ZXdrVmlldykKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKGV3a1ZpZXcsICJl
ZGl0b3JjbGllbnQsY29udGVudHMsY2hhbmdlZCIsIDApOwogfQogCisvKioKKyAqIEBpbnRlcm5h
bAorICogRGVmaW5lcyB3aGV0aGVyIHRoZSB2aWV3IGhhcyBkaXNwbGF5ZWQgbWl4ZWQgY29udGVu
dC4KKyAqCisgKiBXaGVuIGEgdmlldyBoYXMgZGlzcGxheWVkIG1peGVkIGNvbnRlbnQsIGFueSBv
ZiBpdHMgZnJhbWVzIGhhcyBsb2FkZWQgYW4gSFRUUFMgVVJJCisgKiB3aGljaCBoYXMgaXRzZWxm
IGxvYWRlZCBhbmQgZGlzcGxheWVkIGEgcmVzb3VyY2UgKHN1Y2ggYXMgYW4gaW1hZ2UpIGZyb20g
YW4gaW5zZWN1cmUsCisgKiB0aGF0IGlzLCBub24tSFRUUFMsIFVSSS4KKyAqCisgKiBAcGFyYW0g
aGFzRGlzcGxheWVkIERvIG9yIGRvIG5vdCBjbGVhciB0aGUgZmxhZyBmcm9tIHRoZSB2aWV3Lgor
ICoKKyAqIEVtaXRzIHNpZ25hbDogIm1peGVkY29udGVudCxkaXNwbGF5ZWQiIHdpdGggbm8gcGFy
YW1ldGVycyB3aGVuIEBwIGhhc0Rpc3BsYXllZCBpcyBAYyB0cnVlLgorICovCit2b2lkIGV3a192
aWV3X21peGVkX2NvbnRlbnRfZGlzcGxheWVkX3NldChFdmFzX09iamVjdCogZXdrVmlldywgYm9v
bCBoYXNEaXNwbGF5ZWQpCit7CisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3
LCBzbWFydERhdGEpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEs
IHByaXYpOworCisgICAgcHJpdi0+ZmxhZ3MuaGFzRGlzcGxheWVkTWl4ZWRDb250ZW50ID0gaGFz
RGlzcGxheWVkOworCisgICAgaWYgKGhhc0Rpc3BsYXllZCkKKyAgICAgICAgZXZhc19vYmplY3Rf
c21hcnRfY2FsbGJhY2tfY2FsbChld2tWaWV3LCAibWl4ZWRjb250ZW50LGRpc3BsYXllZCIsIDAp
OworfQorCisvKioKKyAqIEBpbnRlcm5hbAorICogRGVmaW5lcyB3aGV0aGVyIHRoZSB2aWV3IGhh
cyBydW4gbWl4ZWQgY29udGVudC4KKyAqCisgKiBXaGVuIGEgdmlldyBoYXMgcnVuIG1peGVkIGNv
bnRlbnQsIGFueSBvZiBpdHMgZnJhbWVzIGhhcyBsb2FkZWQgYW4gSFRUUFMgVVJJCisgKiB3aGlj
aCBoYXMgaXRzZWxmIGxvYWRlZCBhbmQgcnVuIGEgcmVzb3VyY2UgKHN1Y2ggYXMgYSBzY3JpcHQp
IGZyb20gYW4gaW5zZWN1cmUsCisgKiB0aGF0IGlzLCBub24tSFRUUFMsIFVSSS4KKyAqCisgKiBA
cGFyYW0gaGFzUnVuIERvIG9yIGRvIG5vdCBjbGVhciB0aGUgZmxhZyBmcm9tIHRoZSB2aWV3Lgor
ICoKKyAqIEVtaXRzIHNpZ25hbDogIm1peGVkY29udGVudCxydW4iIHdpdGggbm8gcGFyYW1ldGVy
cyB3aGVuIEBwIGhhc1J1biBpcyBAYyB0cnVlLgorICovCit2b2lkIGV3a192aWV3X21peGVkX2Nv
bnRlbnRfcnVuX3NldChFdmFzX09iamVjdCogZXdrVmlldywgYm9vbCBoYXNSdW4pCit7CisgICAg
RVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEpOworICAgIEVXS19W
SUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYpOworCisgICAgcHJpdi0+Zmxh
Z3MuaGFzUnVuTWl4ZWRDb250ZW50ID0gaGFzUnVuOworCisgICAgaWYgKGhhc1J1bikKKyAgICAg
ICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfY2FsbChld2tWaWV3LCAibWl4ZWRjb250ZW50
LHJ1biIsIDApOworfQorCiBFaW5hX0Jvb2wgZXdrX3ZpZXdfdmlzaWJpbGl0eV9zdGF0ZV9zZXQo
RXZhc19PYmplY3QqIGV3a1ZpZXcsIEV3a19QYWdlX1Zpc2liaWxpdHlfU3RhdGUgcGFnZVZpc2li
bGVTdGF0ZSwgRWluYV9Cb29sIGluaXRpYWxTdGF0ZSkKIHsKICNpZiBFTkFCTEUoUEFHRV9WSVNJ
QklMSVRZX0FQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5o
IGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKaW5kZXggMDBiZDAwMmRlNGNkZTY2
MGVmYzMyNmI4MDc5ZTc1OTZjOGQxMzk1Ny4uZTczYzk4ZjExOTcxMTlkNjcwMmQ3OTI4ZjNlNDYz
MWU3ZjExN2I5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKQEAgLTU4LDYgKzU4LDggQEAK
ICAqICAtICJtZW51YmFyLHZpc2libGUsZ2V0IiwgRWluYV9Cb29sICo6IGV4cGVjdHMgYSBAYyBF
SU5BX1RSVUUgaWYgbWVudWJhciBpcwogICogICAgdmlzaWJsZTsgQGMgRUlOQV9GQUxTRSwgb3Ro
ZXJ3aXNlLgogICogIC0gIm1lbnViYXIsdmlzaWJsZSxzZXQiLCBFaW5hX0Jvb2w6IHNldHMgbWVu
dWJhciB2aXNpYmlsaXR5LgorICogIC0gIm1peGVkY29udGVudCxkaXNwbGF5ZWQiLCB2b2lkOiBh
bnkgb2YgdGhlIGNvbnRhaW5pbmcgZnJhbWVzIGhhcyBsb2FkZWQgYW5kIGRpc3BsYXllZCBtaXhl
ZCBjb250ZW50LgorICogIC0gIm1peGVkY29udGVudCxydW4iLCB2b2lkOiBhbnkgb2YgdGhlIGNv
bnRhaW5pbmcgZnJhbWVzIGhhcyBsb2FkZWQgYW5kIHJ1biBtaXhlZCBjb250ZW50LgogICogIC0g
InJlYWR5Iiwgdm9pZDogcGFnZSBpcyBmdWxseSBsb2FkZWQuCiAgKiAgLSAic2Nyb2xsYmFycyx2
aXNpYmxlLGdldCIsIEVpbmFfQm9vbCAqOiBleHBlY3RzIGEgQGMgRUlOQV9UUlVFIGlmIHNjcm9s
bGJhcnMKICAqICAgIGFyZSB2aXNpYmxlOyBAYyBFSU5BX0ZBTFNFLCBvdGhlcndpc2UuCkBAIC0y
Mjc2LDYgKzIyNzgsNDAgQEAgRUFQSSBFaW5hX0Jvb2wgZXdrX3ZpZXdfdmlzaWJpbGl0eV9zdGF0
ZV9zZXQoRXZhc19PYmplY3QqIG8sIEV3a19QYWdlX1Zpc2liaWxpdHkKICAqLwogRUFQSSBFd2tf
UGFnZV9WaXNpYmlsaXR5X1N0YXRlIGV3a192aWV3X3Zpc2liaWxpdHlfc3RhdGVfZ2V0KGNvbnN0
IEV2YXNfT2JqZWN0ICpvKTsKIAorLyoqCisgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIHZpZXcgaGFz
IGRpc3BsYXllZCBtaXhlZCBjb250ZW50LgorICoKKyAqIFdoZW4gYSB2aWV3IGhhcyBkaXNwbGF5
ZWQgbWl4ZWQgY29udGVudCwgYW55IG9mIGl0cyBmcmFtZXMgaGFzIGxvYWRlZCBhbiBIVFRQUyBV
UkkKKyAqIHdoaWNoIGhhcyBpdHNlbGYgbG9hZGVkIGFuZCBkaXNwbGF5ZWQgYSByZXNvdXJjZSAo
c3VjaCBhcyBhbiBpbWFnZSkgZnJvbSBhbiBpbnNlY3VyZSwKKyAqIHRoYXQgaXMsIG5vbi1IVFRQ
UywgVVJJLgorICoKKyAqIFRoZSBzdGF0dXMgaXMgcmVzZXQgb25seSB3aGVuIGEgbG9hZCBldmVu
dCBvY2N1cnMgKGVnLiB0aGUgcGFnZSBpcyByZWxvYWRlZCBvciBhIG5ldyBwYWdlIGlzIGxvYWRl
ZCkuCisgKgorICogV2hlbiBvbmUgb2YgdGhlIGNvbnRhaW5pbmcgZnJhbWVzIGRpc3BsYXlzIG1p
eGVkIGNvbnRlbnQsIHRoZSB2aWV3IGVtaXRzIHRoZSAibWl4ZWRjb250ZW50LGRpc3BsYXllZCIg
c2lnbmFsLgorICoKKyAqIEBwYXJhbSBvIFRoZSB2aWV3IHRvIHF1ZXJ5LgorICoKKyAqIEBzYSBl
d2tfZnJhbWVfbWl4ZWRfY29udGVudF9kaXNwbGF5ZWRfZ2V0CisgKi8KK0VBUEkgRWluYV9Cb29s
IGV3a192aWV3X21peGVkX2NvbnRlbnRfZGlzcGxheWVkX2dldChjb25zdCBFdmFzX09iamVjdCAq
byk7CisKKy8qKgorICogUmV0dXJucyB3aGV0aGVyIHRoZSB2aWV3IGhhcyBydW4gbWl4ZWQgY29u
dGVudC4KKyAqCisgKiBXaGVuIGEgdmlldyBoYXMgcnVuIG1peGVkIGNvbnRlbnQsIGFueSBvZiBp
dHMgZnJhbWVzIGhhcyBsb2FkZWQgYW4gSFRUUFMgVVJJCisgKiB3aGljaCBoYXMgaXRzZWxmIGxv
YWRlZCBhbmQgcnVuIGEgcmVzb3VyY2UgKHN1Y2ggYXMgYW4gaW1hZ2UpIGZyb20gYW4gaW5zZWN1
cmUsCisgKiB0aGF0IGlzLCBub24tSFRUUFMsIFVSSS4KKyAqCisgKiBUaGUgc3RhdHVzIGlzIHJl
c2V0IG9ubHkgd2hlbiBhIGxvYWQgZXZlbnQgb2NjdXJzIChlZy4gdGhlIHBhZ2UgaXMgcmVsb2Fk
ZWQgb3IgYSBuZXcgcGFnZSBpcyBsb2FkZWQpLgorICoKKyAqIFdoZW4gb25lIG9mIHRoZSBjb250
YWluaW5nIGZyYW1lcyBydW5zIG1peGVkIGNvbnRlbnQsIHRoZSB2aWV3IGVtaXRzIHRoZSAibWl4
ZWRjb250ZW50LHJ1biIgc2lnbmFsLgorICoKKyAqIEBwYXJhbSBvIFRoZSB2aWV3IHRvIHF1ZXJ5
LgorICoKKyAqIEBzYSBld2tfZnJhbWVfbWl4ZWRfY29udGVudF9ydW5fZ2V0CisgKi8KK0VBUEkg
RWluYV9Cb29sIGV3a192aWV3X21peGVkX2NvbnRlbnRfcnVuX2dldChjb25zdCBFdmFzX09iamVj
dCAqbyk7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118799</attachid>
            <date>2011-12-12 08:48:02 -0800</date>
            <delta_ts>2011-12-12 09:01:12 -0800</delta_ts>
            <desc>Patch with bug number</desc>
            <filename>bug-74301-20111212144851.patch</filename>
            <type>text/plain</type>
            <size>15146</size>
            <attacher name="Raphael Kubo da Costa (:rakuco)">rakuco</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggYzdmN2QxODY5
ZDYyNTA2MjgyNTBiNDdjOTM3NjBiZDIxZDc1N2ZjNi4uM2FmNmY1ODY1NmY5OTU5ODJkOWYzYTk5
OTY0OGM4NzkyOTgzZDE2ZCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0IEBACiAyMDEx
LTEyLTEyICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxrdWJvQHByb2Z1c2lvbi5tb2JpPgogCisg
ICAgICAgIFtFRkxdIEFkZCBBUEkgdG8gbm90aWZ5IHRoYXQgbWl4ZWQgY29udGVudCBoYXMgYmVl
biBsb2FkZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03NDMwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFdoZW4gbWl4ZWQgY29udGVudCBpcyBkaXNwbGF5ZWQvcnVuLCBib3RoIGZyYW1lcyBhbmQgdmll
d3MKKyAgICAgICAgZW1pdCB0aGUgcHJvcGVyIHNpZ25hbHMgdG8gbm90aWZ5IEFQSSB1c2Vycy4K
KworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaWREaXNwbGF5SW5zZWN1cmVD
b250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaWRSdW5J
bnNlY3VyZUNvbnRlbnQpOgorICAgICAgICAqIGV3ay9ld2tfZnJhbWUuY3BwOgorICAgICAgICAo
ZXdrX2ZyYW1lX3ZpZXdfY3JlYXRlX2Zvcl92aWV3KToKKyAgICAgICAgKGV3a19mcmFtZV9taXhl
ZF9jb250ZW50X2Rpc3BsYXllZF9nZXQpOgorICAgICAgICAoZXdrX2ZyYW1lX21peGVkX2NvbnRl
bnRfcnVuX2dldCk6CisgICAgICAgIChld2tfZnJhbWVfbWl4ZWRfY29udGVudF9kaXNwbGF5ZWRf
c2V0KToKKyAgICAgICAgKGV3a19mcmFtZV9taXhlZF9jb250ZW50X3J1bl9zZXQpOgorICAgICAg
ICAqIGV3ay9ld2tfZnJhbWUuaDoKKyAgICAgICAgKiBld2svZXdrX3ByaXZhdGUuaDoKKyAgICAg
ICAgKiBld2svZXdrX3ZpZXcuY3BwOgorICAgICAgICAoZXdrX3ZpZXdfZnJhbWVfbWFpbl9jbGVh
cmVkKToKKyAgICAgICAgKGV3a192aWV3X21peGVkX2NvbnRlbnRfZGlzcGxheWVkX2dldCk6Cisg
ICAgICAgIChld2tfdmlld19taXhlZF9jb250ZW50X3J1bl9nZXQpOgorICAgICAgICAoZXdrX3Zp
ZXdfbWl4ZWRfY29udGVudF9kaXNwbGF5ZWRfc2V0KToKKyAgICAgICAgKGV3a192aWV3X21peGVk
X2NvbnRlbnRfcnVuX3NldCk6CisgICAgICAgICogZXdrL2V3a192aWV3Lmg6CisKKzIwMTEtMTIt
MTIgIFJhcGhhZWwgS3VibyBkYSBDb3N0YSAgPGt1Ym9AcHJvZnVzaW9uLm1vYmk+CisKICAgICAg
ICAgW0VGTF0gQWRkIEFQSSB0byBtYW5hZ2Ugcm9vdCBYLjUwOSBDQSBjZXJ0aWZpY2F0ZXMuCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMwMAogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRl
ckNsaWVudEVmbC5jcHAKaW5kZXggNjg4NWU4MmZjY2ViOGMyMGUzODljNTE1ZDdjYmIxYzcyYjBk
ODJlYi4uMmZkNGY5MWQ0NjI0OTkzOTNmNjY0YWM4MmI5ODI3ODVkMDVjMDRjYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50RWZsLmNwcApAQCAtNTAyLDEyICs1MDIsMTIgQEAgYm9vbCBGcmFtZUxvYWRlckNsaWVudEVm
bDo6c2hvdWxkU3RvcExvYWRpbmdGb3JIaXN0b3J5SXRlbShIaXN0b3J5SXRlbSogaXRlbSkgY28K
IAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlkRGlzcGxheUluc2VjdXJlQ29udGVudCgp
CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBld2tfZnJhbWVfbWl4ZWRfY29udGVudF9k
aXNwbGF5ZWRfc2V0KG1fZnJhbWUsIHRydWUpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50
RWZsOjpkaWRSdW5JbnNlY3VyZUNvbnRlbnQoU2VjdXJpdHlPcmlnaW4qLCBjb25zdCBLVVJMJikK
IHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGV3a19mcmFtZV9taXhlZF9jb250ZW50X3J1
bl9zZXQobV9mcmFtZSwgdHJ1ZSk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmRp
ZERldGVjdFhTUyhjb25zdCBLVVJMJiwgYm9vbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfZnJhbWUuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5j
cHAKaW5kZXggYjlkMmFlM2QwOWY4YzkxMmU1YTE1Zjk2YjllN2UzZmEzNDE1NTI5Ni4uYjNiZGMx
NjVlNTVjYjBmY2Q1MmU4NTc5NGZlNTRjNGZkZTc2NDI2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a19mcmFtZS5jcHAKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJld2tfZnJhbWUuaCIKIAorI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVk
ZSAiRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRXZlbnRIYW5kbGVyLmgi
CiAjaW5jbHVkZSAiRm9jdXNDb250cm9sbGVyLmgiCkBAIC03MCw2ICs3MSw4IEBAIHN0cnVjdCBF
d2tfRnJhbWVfU21hcnRfRGF0YSB7CiAgICAgY29uc3QgY2hhciogdXJpOwogICAgIGNvbnN0IGNo
YXIqIG5hbWU7CiAgICAgYm9vbCBlZGl0YWJsZSA6IDE7CisgICAgYm9vbCBoYXNEaXNwbGF5ZWRN
aXhlZENvbnRlbnQgOiAxOworICAgIGJvb2wgaGFzUnVuTWl4ZWRDb250ZW50IDogMTsKIH07CiAK
IHN0cnVjdCBFaW5hX0l0ZXJhdG9yX0V3a19GcmFtZSB7CkBAIC0xNDc3LDYgKzE0ODAsOSBAQCB2
b2lkIGV3a19mcmFtZV92aWV3X2NyZWF0ZV9mb3JfdmlldyhFdmFzX09iamVjdCogZXdrRnJhbWUs
IEV2YXNfT2JqZWN0KiB2aWV3KQogICAgIGNvbnN0IGNoYXIqIHRoZW1lID0gZXdrX3ZpZXdfdGhl
bWVfZ2V0KHZpZXcpOwogICAgIHNtYXJ0RGF0YS0+ZnJhbWUtPnZpZXcoKS0+c2V0RWRqZVRoZW1l
KHRoZW1lKTsKICAgICBzbWFydERhdGEtPmZyYW1lLT52aWV3KCktPnNldEV2YXNPYmplY3QoZXdr
RnJhbWUpOworCisgICAgZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRfZGlzcGxheWVkX3NldChld2tG
cmFtZSwgZmFsc2UpOworICAgIGV3a19mcmFtZV9taXhlZF9jb250ZW50X3J1bl9zZXQoZXdrRnJh
bWUsIGZhbHNlKTsKIH0KIAogc3NpemVfdCBld2tfZnJhbWVfc291cmNlX2dldChjb25zdCBFdmFz
X09iamVjdCogZXdrRnJhbWUsIGNoYXIqKiBmcmFtZVNvdXJjZSkKQEAgLTE1ODksNiArMTU5NSwx
OCBAQCBjaGFyKiBld2tfZnJhbWVfcGxhaW5fdGV4dF9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3
a0ZyYW1lKQogICAgIHJldHVybiBzdHJkdXAoZG9jdW1lbnRFbGVtZW50LT5pbm5lclRleHQoKS51
dGY4KCkuZGF0YSgpKTsKIH0KIAorRWluYV9Cb29sIGV3a19mcmFtZV9taXhlZF9jb250ZW50X2Rp
c3BsYXllZF9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a0ZyYW1lKQoreworICAgIEVXS19GUkFN
RV9TRF9HRVRfT1JfUkVUVVJOKGV3a0ZyYW1lLCBzbWFydERhdGEsIGZhbHNlKTsKKyAgICByZXR1
cm4gc21hcnREYXRhLT5oYXNEaXNwbGF5ZWRNaXhlZENvbnRlbnQ7Cit9CisKK0VpbmFfQm9vbCBl
d2tfZnJhbWVfbWl4ZWRfY29udGVudF9ydW5fZ2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tGcmFt
ZSkKK3sKKyAgICBFV0tfRlJBTUVfU0RfR0VUX09SX1JFVFVSTihld2tGcmFtZSwgc21hcnREYXRh
LCBmYWxzZSk7CisgICAgcmV0dXJuIHNtYXJ0RGF0YS0+aGFzUnVuTWl4ZWRDb250ZW50OworfQor
CiAvKioKICAqIEBpbnRlcm5hbAogICogUmVwb3J0cyB1cmkgY2hhbmdlZCBhbmQgc3dhcCBpbnRl
cm5hbCBzdHJpbmcgcmVmZXJlbmNlLgpAQCAtMTY2Nyw2ICsxNjg1LDUyIEBAIHZvaWQgZXdrX2Zy
YW1lX2VkaXRvcl9jbGllbnRfY29udGVudHNfY2hhbmdlZChFdmFzX09iamVjdCogZXdrRnJhbWUp
CiAgICAgZXdrX3ZpZXdfZWRpdG9yX2NsaWVudF9jb250ZW50c19jaGFuZ2VkKHNtYXJ0RGF0YS0+
dmlldyk7CiB9CiAKKy8qKgorICogQGludGVybmFsCisgKiBEZWZpbmVzIHdoZXRoZXIgdGhlIGZy
YW1lIGhhcyBkaXNwbGF5ZWQgbWl4ZWQgY29udGVudC4KKyAqCisgKiBXaGVuIGEgZnJhbWUgaGFz
IGRpc3BsYXllZCBtaXhlZCBjb250ZW50LCB0aGUgY3VycmVudGx5IGxvYWRlZCBVUkkgaXMgc2Vj
dXJlIChIVFRQUykgYnV0IGl0IGhhcworICogbG9hZGVkIGFuZCBkaXNwbGF5ZWQgYSByZXNvdXJj
ZSwgc3VjaCBhcyBhbiBpbWFnZSwgZnJvbSBhbiBpbnNlY3VyZSAoSFRUUCkgc291cmNlLgorICoK
KyAqIEBwYXJhbSBoYXNEaXNwbGF5ZWQgRG8gb3IgZG8gbm90IGNsZWFyIHRoZSBmbGFnIGZyb20g
dGhlIGZyYW1lLiBJZiBAYyB0cnVlLCB0aGUgY29udGFpbmVyIHZpZXcKKyAqICAgICAgICAgICAg
ICAgICAgICAgaXMgYWxzbyBub3RpZmllZCBhbmQgaXQgdGhlbiBlbWl0cyB0aGUgIm1peGVkY29u
dGVudCxkaXNwbGF5ZWQiIHNpZ25hbC4KKyAqCisgKiBFbWl0cyBzaWduYWw6ICJtaXhlZGNvbnRl
bnQsZGlzcGxheWVkIiB3aXRoIG5vIHBhcmFtZXRlcnMgd2hlbiBAcCBoYXNEaXNwbGF5ZWQgaXMg
QGMgdHJ1ZS4KKyAqLwordm9pZCBld2tfZnJhbWVfbWl4ZWRfY29udGVudF9kaXNwbGF5ZWRfc2V0
KEV2YXNfT2JqZWN0KiBld2tGcmFtZSwgYm9vbCBoYXNEaXNwbGF5ZWQpCit7CisgICAgRVdLX0ZS
QU1FX1NEX0dFVF9PUl9SRVRVUk4oZXdrRnJhbWUsIHNtYXJ0RGF0YSk7CisgICAgc21hcnREYXRh
LT5oYXNEaXNwbGF5ZWRNaXhlZENvbnRlbnQgPSBoYXNEaXNwbGF5ZWQ7CisKKyAgICBpZiAoaGFz
RGlzcGxheWVkKSB7CisgICAgICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwoZXdr
RnJhbWUsICJtaXhlZGNvbnRlbnQsZGlzcGxheWVkIiwgMCk7CisgICAgICAgIGV3a192aWV3X21p
eGVkX2NvbnRlbnRfZGlzcGxheWVkX3NldChzbWFydERhdGEtPnZpZXcsIHRydWUpOworICAgIH0K
K30KKworLyoqCisgKiBAaW50ZXJuYWwKKyAqIERlZmluZXMgd2hldGhlciB0aGUgZnJhbWUgaGFz
IHJ1biBtaXhlZCBjb250ZW50LgorICoKKyAqIFdoZW4gYSBmcmFtZSBoYXMgcnVuIG1peGVkIGNv
bnRlbnQsIHRoZSBjdXJyZW50bHkgbG9hZGVkIFVSSSBpcyBzZWN1cmUgKEhUVFBTKSBidXQgaXQg
aGFzCisgKiBsb2FkZWQgYW5kIHJ1biBhIHJlc291cmNlLCBzdWNoIGFzIGEgc2NyaXB0LCBmcm9t
IGFuIGluc2VjdXJlIChIVFRQKSBzb3VyY2UuCisgKgorICogQHBhcmFtIGhhc0Rpc3BsYXllZCBE
byBvciBkbyBub3QgY2xlYXIgdGhlIGZsYWcgZnJvbSB0aGUgZnJhbWUuIElmIEBjIHRydWUsIHRo
ZSBjb250YWluZXIgdmlldworICogICAgICAgICAgICAgICAgICAgICBpcyBhbHNvIG5vdGlmaWVk
IGFuZCBpdCB0aGVuIGVtaXRzIHRoZSAibWl4ZWRjb250ZW50LHJ1biIgc2lnbmFsLgorICoKKyAq
IEVtaXRzIHNpZ25hbDogIm1peGVkY29udGVudCxydW4iIHdpdGggbm8gcGFyYW1ldGVycyB3aGVu
IEBwIGhhc1J1biBpcyBAYyB0cnVlLgorICovCit2b2lkIGV3a19mcmFtZV9taXhlZF9jb250ZW50
X3J1bl9zZXQoRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBib29sIGhhc1J1bikKK3sKKyAgICBFV0tf
RlJBTUVfU0RfR0VUX09SX1JFVFVSTihld2tGcmFtZSwgc21hcnREYXRhKTsKKyAgICBzbWFydERh
dGEtPmhhc1J1bk1peGVkQ29udGVudCA9IGhhc1J1bjsKKworICAgIGlmIChoYXNSdW4pIHsKKyAg
ICAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfY2FsbChld2tGcmFtZSwgIm1peGVkY29u
dGVudCxydW4iLCAwKTsKKyAgICAgICAgZXdrX3ZpZXdfbWl4ZWRfY29udGVudF9ydW5fc2V0KHNt
YXJ0RGF0YS0+dmlldywgdHJ1ZSk7CisgICAgfQorfQorCiBuYW1lc3BhY2UgRVdLUHJpdmF0ZSB7
CiAKIFdlYkNvcmU6OkZyYW1lICpjb3JlRnJhbWUoY29uc3QgRXZhc19PYmplY3QgKmV3a0ZyYW1l
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oIGIvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oCmluZGV4IGQ5YjQyMzA3NTNiMjhiZGUxMzU1N2E1
NGE5ZjA0ODI2MGU2Njk1NjMuLjQwY2UzNDdjMzMyYjQzNGVjYTNlODAwMGVhMGRiOWJhOWEyZDBl
MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuaAorKysgYi9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKQEAgLTUyLDYgKzUyLDggQEAKICAqICAg
IGZyb20gMC4wIHRvIDEuMCwgY29ubmVjdCB0byBpbmRpdmlkdWFsIGZyYW1lcyBmb3IgZmluZSBn
cmFpbmVkKS4KICAqICAtICJsb2FkLHByb3Zpc2lvbmFsIiwgdm9pZDogZnJhbWUgc3RhcnRlZCBw
cm92aXNpb25hbCBsb2FkLgogICogIC0gImxvYWQsc3RhcnRlZCIsIHZvaWQ6IGZyYW1lIHN0YXJ0
ZWQgbG9hZGluZyB0aGUgZG9jdW1lbnQuCisgKiAgLSAibWl4ZWRjb250ZW50LGRpc3BsYXllZCIs
IHZvaWQ6IGZyYW1lIGhhcyBsb2FkZWQgYW5kIGRpc3BsYXllZCBtaXhlZCBjb250ZW50LgorICog
IC0gIm1peGVkY29udGVudCxydW4iLCB2b2lkOiBmcmFtZSBoYXMgbG9hZGVkIGFuZCBydW4gbWl4
ZWQgY29udGVudC4KICAqICAtICJuYXZpZ2F0aW9uLGZpcnN0Iiwgdm9pZDogZmlyc3QgbmF2aWdh
dGlvbiB3YXMgb2NjdXJyZWQuCiAgKiAgLSAicmVzb3VyY2UscmVxdWVzdCxuZXciLCBFd2tfRnJh
bWVfUmVzb3VyY2VfUmVxdWVzdCo6IHJlcG9ydHMgdGhhdAogICogICAgdGhlcmUncyBhIG5ldyBy
ZXNvdXJjZSByZXF1ZXN0LgpAQCAtODQwLDYgKzg0MiwzNiBAQCBFQVBJIEVpbmFfTGlzdCAqZXdr
X2ZyYW1lX3Jlc291cmNlc19sb2NhdGlvbl9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogICov
CiBFQVBJIGNoYXIqIGV3a19mcmFtZV9wbGFpbl90ZXh0X2dldChjb25zdCBFdmFzX09iamVjdCog
byk7CiAKKy8qKgorICogUmV0dXJucyB3aGV0aGVyIHRoZSBmcmFtZSBoYXMgZGlzcGxheWVkIG1p
eGVkIGNvbnRlbnQuCisgKgorICogV2hlbiBhIGZyYW1lIGhhcyBkaXNwbGF5ZWQgbWl4ZWQgY29u
dGVudCwgaXRzIGN1cnJlbnQgVVJJIGlzIGFuIEhUVFBTIG9uZSwgYnV0IGl0IGhhcworICogbG9h
ZGVkIGFuZCBkaXNwbGF5ZWQgYSByZXNvdXJjZSAoc3VjaCBhcyBhbiBpbWFnZSkgZnJvbSBhbiBp
bnNlY3VyZSAobm9uLUhUVFBTKSBVUkkuCisgKiBCb3RoIHRoZSBmcmFtZSBhbmQgdGhlIGNvbnRh
aW5lciB2aWV3IHNlbmQgYSAibWl4ZWRjb250ZW50LGRpc3BsYXllZCIgc2lnbmFsIGluIHRoaXMg
Y2FzZS4KKyAqCisgKiBUaGUgc3RhdHVzIGlzIHJlc2V0IG9ubHkgd2hlbiBhIGxvYWQgZXZlbnQg
b2NjdXJzIChlZy4gdGhlIHBhZ2UgaXMgcmVsb2FkZWQgb3IgYSBuZXcgcGFnZSBpcyBsb2FkZWQp
LgorICoKKyAqIEBwYXJhbSBvIFRoZSBmcmFtZSB0byBxdWVyeS4KKyAqCisgKiBAc2EgZXdrX3Zp
ZXdfbWl4ZWRfY29udGVudF9kaXNwbGF5ZWRfZ2V0CisgKi8KK0VBUEkgRWluYV9Cb29sIGV3a19m
cmFtZV9taXhlZF9jb250ZW50X2Rpc3BsYXllZF9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwor
CisvKioKKyAqIFJldHVybnMgd2hldGhlciB0aGUgZnJhbWUgaGFzIHJ1biBtaXhlZCBjb250ZW50
LgorICoKKyAqIFdoZW4gYSBmcmFtZSBoYXMgcnVuIG1peGVkIGNvbnRlbnQsIGl0cyBjdXJyZW50
IFVSSSBpcyBhbiBIVFRQUyBvbmUsIGJ1dCBpdCBoYXMKKyAqIGxvYWRlZCBhbmQgcnVuIGEgcmVz
b3VyY2UgKHN1Y2ggYXMgYW4gaW1hZ2UpIGZyb20gYW4gaW5zZWN1cmUgKG5vbi1IVFRQUykgVVJJ
LgorICogQm90aCB0aGUgZnJhbWUgYW5kIHRoZSBjb250YWluZXIgdmlldyBzZW5kIGEgIm1peGVk
Y29udGVudCxydW4iIHNpZ25hbCBpbiB0aGlzIGNhc2UuCisgKgorICogVGhlIHN0YXR1cyBpcyBy
ZXNldCBvbmx5IHdoZW4gYSBsb2FkIGV2ZW50IG9jY3VycyAoZWcuIHRoZSBwYWdlIGlzIHJlbG9h
ZGVkIG9yIGEgbmV3IHBhZ2UgaXMgbG9hZGVkKS4KKyAqCisgKiBAcGFyYW0gbyBUaGUgZnJhbWUg
dG8gcXVlcnkuCisgKgorICogQHNhIGV3a192aWV3X21peGVkX2NvbnRlbnRfcnVuX2dldAorICov
CitFQVBJIEVpbmFfQm9vbCBld2tfZnJhbWVfbWl4ZWRfY29udGVudF9ydW5fZ2V0KGNvbnN0IEV2
YXNfT2JqZWN0ICpvKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19wcml2YXRlLmgKaW5kZXggNmY1MzMyMWY2NGYyNDBhZjBjZTkxM2M0Yjk3ZDUy
Zjc0NTkyMmViNi4uNWEwYTA0OGI0Yjg5NmE0NjdjNDZhOTE4ZmYxNmM0ZDU0ZDhiNzdjMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKQEAgLTIyMiw2ICsyMjIsMTEgQEAgY29uc3Qg
Y2hhciogZXdrX3NldHRpbmdzX2RlZmF1bHRfdXNlcl9hZ2VudF9nZXQoKTsKIHZvaWQgZXdrX2Zy
YW1lX2VkaXRvcl9jbGllbnRfY29udGVudHNfY2hhbmdlZChFdmFzX09iamVjdCogbyk7CiB2b2lk
IGV3a19mcmFtZV9lZGl0b3JfY2xpZW50X3NlbGVjdGlvbl9jaGFuZ2VkKEV2YXNfT2JqZWN0KiBv
KTsKIAordm9pZCBld2tfZnJhbWVfbWl4ZWRfY29udGVudF9kaXNwbGF5ZWRfc2V0KEV2YXNfT2Jq
ZWN0KiBld2tGcmFtZSwgYm9vbCBoYXNEaXNwbGF5ZWQpOwordm9pZCBld2tfZnJhbWVfbWl4ZWRf
Y29udGVudF9ydW5fc2V0KEV2YXNfT2JqZWN0KiBld2tGcmFtZSwgYm9vbCBoYXNSdW4pOwordm9p
ZCBld2tfdmlld19taXhlZF9jb250ZW50X2Rpc3BsYXllZF9zZXQoRXZhc19PYmplY3QqIGV3a1Zp
ZXcsIGJvb2wgaGFzRGlzcGxheWVkKTsKK3ZvaWQgZXdrX3ZpZXdfbWl4ZWRfY29udGVudF9ydW5f
c2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBib29sIGhhc1J1bik7CisKICNpZmRlZiBfX2NwbHVz
cGx1cwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3Bw
IGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAppbmRleCA3NjVlNmI1ZWMzYThl
MzBhYTU4NzRiNDhiYzUzY2Y2MzZlMjNkMDkxLi5lMzdhNDhhNTJkNzdmMGIxOGYxNjY0YTY1N2Mz
NzMxMDY4NGE4MGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKQEAgLTE0OCw2ICsx
NDgsOCBAQCBzdHJ1Y3QgX0V3a19WaWV3X1ByaXZhdGVfRGF0YSB7CiAgICAgc3RydWN0IHsKICAg
ICAgICAgYm9vbCB2aWV3Q2xlYXJlZCA6IDE7CiAgICAgICAgIGJvb2wgbmVlZFRvdWNoRXZlbnRz
IDogMTsKKyAgICAgICAgYm9vbCBoYXNEaXNwbGF5ZWRNaXhlZENvbnRlbnQgOiAxOworICAgICAg
ICBib29sIGhhc1J1bk1peGVkQ29udGVudCA6IDE7CiAgICAgfSBmbGFnczsKICAgICBzdHJ1Y3Qg
ewogICAgICAgICBjb25zdCBjaGFyKiB1c2VyQWdlbnQ7CkBAIC0yODQ3LDYgKzI4NDksOSBAQCB2
b2lkIGV3a192aWV3X2ZyYW1lX21haW5fY2xlYXJlZChFdmFzX09iamVjdCogZXdrVmlldykKICAg
ICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSk7CiAgICAgRUlO
QV9TQUZFVFlfT05fTlVMTF9SRVRVUk4oc21hcnREYXRhLT5hcGktPmZsdXNoKTsKICAgICBzbWFy
dERhdGEtPmFwaS0+Zmx1c2goc21hcnREYXRhKTsKKworICAgIGV3a192aWV3X21peGVkX2NvbnRl
bnRfZGlzcGxheWVkX3NldChld2tWaWV3LCBmYWxzZSk7CisgICAgZXdrX3ZpZXdfbWl4ZWRfY29u
dGVudF9ydW5fc2V0KGV3a1ZpZXcsIGZhbHNlKTsKIH0KIAogLyoqCkBAIC0zODA0LDYgKzM4MDks
MjAgQEAgRXdrX1ZpZXdfTW9kZSBld2tfdmlld19tb2RlX2dldChjb25zdCBFdmFzX09iamVjdCog
ZXdrVmlldykKICAgICByZXR1cm4gbW9kZTsKIH0KIAorRWluYV9Cb29sIGV3a192aWV3X21peGVk
X2NvbnRlbnRfZGlzcGxheWVkX2dldChjb25zdCBFdmFzX09iamVjdCogZXdrVmlldykKK3sKKyAg
ICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwgZmFsc2UpOwor
ICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYsIGZhbHNlKTsK
KyAgICByZXR1cm4gcHJpdi0+ZmxhZ3MuaGFzRGlzcGxheWVkTWl4ZWRDb250ZW50OworfQorCitF
aW5hX0Jvb2wgZXdrX3ZpZXdfbWl4ZWRfY29udGVudF9ydW5fZ2V0KGNvbnN0IEV2YXNfT2JqZWN0
KiBld2tWaWV3KQoreworICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21h
cnREYXRhLCBmYWxzZSk7CisgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0
YSwgcHJpdiwgZmFsc2UpOworICAgIHJldHVybiBwcml2LT5mbGFncy5oYXNSdW5NaXhlZENvbnRl
bnQ7Cit9CisKIC8qKgogICogQGludGVybmFsCiAgKiBSZXBvcnRzIHRoZSB2aWV3IHRoYXQgZWRp
dG9yIGNsaWVudCBzZWxlY3Rpb24gaGFzIGNoYW5nZWQuCkBAIC0zODMwLDYgKzM4NDksNTIgQEAg
dm9pZCBld2tfdmlld19lZGl0b3JfY2xpZW50X2NvbnRlbnRzX2NoYW5nZWQoRXZhc19PYmplY3Qq
IGV3a1ZpZXcpCiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfY2FsbChld2tWaWV3LCAi
ZWRpdG9yY2xpZW50LGNvbnRlbnRzLGNoYW5nZWQiLCAwKTsKIH0KIAorLyoqCisgKiBAaW50ZXJu
YWwKKyAqIERlZmluZXMgd2hldGhlciB0aGUgdmlldyBoYXMgZGlzcGxheWVkIG1peGVkIGNvbnRl
bnQuCisgKgorICogV2hlbiBhIHZpZXcgaGFzIGRpc3BsYXllZCBtaXhlZCBjb250ZW50LCBhbnkg
b2YgaXRzIGZyYW1lcyBoYXMgbG9hZGVkIGFuIEhUVFBTIFVSSQorICogd2hpY2ggaGFzIGl0c2Vs
ZiBsb2FkZWQgYW5kIGRpc3BsYXllZCBhIHJlc291cmNlIChzdWNoIGFzIGFuIGltYWdlKSBmcm9t
IGFuIGluc2VjdXJlLAorICogdGhhdCBpcywgbm9uLUhUVFBTLCBVUkkuCisgKgorICogQHBhcmFt
IGhhc0Rpc3BsYXllZCBEbyBvciBkbyBub3QgY2xlYXIgdGhlIGZsYWcgZnJvbSB0aGUgdmlldy4K
KyAqCisgKiBFbWl0cyBzaWduYWw6ICJtaXhlZGNvbnRlbnQsZGlzcGxheWVkIiB3aXRoIG5vIHBh
cmFtZXRlcnMgd2hlbiBAcCBoYXNEaXNwbGF5ZWQgaXMgQGMgdHJ1ZS4KKyAqLwordm9pZCBld2tf
dmlld19taXhlZF9jb250ZW50X2Rpc3BsYXllZF9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGJv
b2wgaGFzRGlzcGxheWVkKQoreworICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmll
dywgc21hcnREYXRhKTsKKyAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRh
LCBwcml2KTsKKworICAgIHByaXYtPmZsYWdzLmhhc0Rpc3BsYXllZE1peGVkQ29udGVudCA9IGhh
c0Rpc3BsYXllZDsKKworICAgIGlmIChoYXNEaXNwbGF5ZWQpCisgICAgICAgIGV2YXNfb2JqZWN0
X3NtYXJ0X2NhbGxiYWNrX2NhbGwoZXdrVmlldywgIm1peGVkY29udGVudCxkaXNwbGF5ZWQiLCAw
KTsKK30KKworLyoqCisgKiBAaW50ZXJuYWwKKyAqIERlZmluZXMgd2hldGhlciB0aGUgdmlldyBo
YXMgcnVuIG1peGVkIGNvbnRlbnQuCisgKgorICogV2hlbiBhIHZpZXcgaGFzIHJ1biBtaXhlZCBj
b250ZW50LCBhbnkgb2YgaXRzIGZyYW1lcyBoYXMgbG9hZGVkIGFuIEhUVFBTIFVSSQorICogd2hp
Y2ggaGFzIGl0c2VsZiBsb2FkZWQgYW5kIHJ1biBhIHJlc291cmNlIChzdWNoIGFzIGEgc2NyaXB0
KSBmcm9tIGFuIGluc2VjdXJlLAorICogdGhhdCBpcywgbm9uLUhUVFBTLCBVUkkuCisgKgorICog
QHBhcmFtIGhhc1J1biBEbyBvciBkbyBub3QgY2xlYXIgdGhlIGZsYWcgZnJvbSB0aGUgdmlldy4K
KyAqCisgKiBFbWl0cyBzaWduYWw6ICJtaXhlZGNvbnRlbnQscnVuIiB3aXRoIG5vIHBhcmFtZXRl
cnMgd2hlbiBAcCBoYXNSdW4gaXMgQGMgdHJ1ZS4KKyAqLwordm9pZCBld2tfdmlld19taXhlZF9j
b250ZW50X3J1bl9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGJvb2wgaGFzUnVuKQoreworICAg
IEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhKTsKKyAgICBFV0tf
VklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2KTsKKworICAgIHByaXYtPmZs
YWdzLmhhc1J1bk1peGVkQ29udGVudCA9IGhhc1J1bjsKKworICAgIGlmIChoYXNSdW4pCisgICAg
ICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwoZXdrVmlldywgIm1peGVkY29udGVu
dCxydW4iLCAwKTsKK30KKwogRWluYV9Cb29sIGV3a192aWV3X3Zpc2liaWxpdHlfc3RhdGVfc2V0
KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFd2tfUGFnZV9WaXNpYmlsaXR5X1N0YXRlIHBhZ2VWaXNp
YmxlU3RhdGUsIEVpbmFfQm9vbCBpbml0aWFsU3RhdGUpCiB7CiAjaWYgRU5BQkxFKFBBR0VfVklT
SUJJTElUWV9BUEkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcu
aCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCmluZGV4IDAwYmQwMDJkZTRjZGU2
NjBlZmMzMjZiODA3OWU3NTk2YzhkMTM5NTcuLmU3M2M5OGYxMTk3MTE5ZDY3MDJkNzkyOGYzZTQ2
MzFlN2YxMTdiOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCkBAIC01OCw2ICs1OCw4IEBA
CiAgKiAgLSAibWVudWJhcix2aXNpYmxlLGdldCIsIEVpbmFfQm9vbCAqOiBleHBlY3RzIGEgQGMg
RUlOQV9UUlVFIGlmIG1lbnViYXIgaXMKICAqICAgIHZpc2libGU7IEBjIEVJTkFfRkFMU0UsIG90
aGVyd2lzZS4KICAqICAtICJtZW51YmFyLHZpc2libGUsc2V0IiwgRWluYV9Cb29sOiBzZXRzIG1l
bnViYXIgdmlzaWJpbGl0eS4KKyAqICAtICJtaXhlZGNvbnRlbnQsZGlzcGxheWVkIiwgdm9pZDog
YW55IG9mIHRoZSBjb250YWluaW5nIGZyYW1lcyBoYXMgbG9hZGVkIGFuZCBkaXNwbGF5ZWQgbWl4
ZWQgY29udGVudC4KKyAqICAtICJtaXhlZGNvbnRlbnQscnVuIiwgdm9pZDogYW55IG9mIHRoZSBj
b250YWluaW5nIGZyYW1lcyBoYXMgbG9hZGVkIGFuZCBydW4gbWl4ZWQgY29udGVudC4KICAqICAt
ICJyZWFkeSIsIHZvaWQ6IHBhZ2UgaXMgZnVsbHkgbG9hZGVkLgogICogIC0gInNjcm9sbGJhcnMs
dmlzaWJsZSxnZXQiLCBFaW5hX0Jvb2wgKjogZXhwZWN0cyBhIEBjIEVJTkFfVFJVRSBpZiBzY3Jv
bGxiYXJzCiAgKiAgICBhcmUgdmlzaWJsZTsgQGMgRUlOQV9GQUxTRSwgb3RoZXJ3aXNlLgpAQCAt
MjI3Niw2ICsyMjc4LDQwIEBAIEVBUEkgRWluYV9Cb29sIGV3a192aWV3X3Zpc2liaWxpdHlfc3Rh
dGVfc2V0KEV2YXNfT2JqZWN0KiBvLCBFd2tfUGFnZV9WaXNpYmlsaXR5CiAgKi8KIEVBUEkgRXdr
X1BhZ2VfVmlzaWJpbGl0eV9TdGF0ZSBld2tfdmlld192aXNpYmlsaXR5X3N0YXRlX2dldChjb25z
dCBFdmFzX09iamVjdCAqbyk7CiAKKy8qKgorICogUmV0dXJucyB3aGV0aGVyIHRoZSB2aWV3IGhh
cyBkaXNwbGF5ZWQgbWl4ZWQgY29udGVudC4KKyAqCisgKiBXaGVuIGEgdmlldyBoYXMgZGlzcGxh
eWVkIG1peGVkIGNvbnRlbnQsIGFueSBvZiBpdHMgZnJhbWVzIGhhcyBsb2FkZWQgYW4gSFRUUFMg
VVJJCisgKiB3aGljaCBoYXMgaXRzZWxmIGxvYWRlZCBhbmQgZGlzcGxheWVkIGEgcmVzb3VyY2Ug
KHN1Y2ggYXMgYW4gaW1hZ2UpIGZyb20gYW4gaW5zZWN1cmUsCisgKiB0aGF0IGlzLCBub24tSFRU
UFMsIFVSSS4KKyAqCisgKiBUaGUgc3RhdHVzIGlzIHJlc2V0IG9ubHkgd2hlbiBhIGxvYWQgZXZl
bnQgb2NjdXJzIChlZy4gdGhlIHBhZ2UgaXMgcmVsb2FkZWQgb3IgYSBuZXcgcGFnZSBpcyBsb2Fk
ZWQpLgorICoKKyAqIFdoZW4gb25lIG9mIHRoZSBjb250YWluaW5nIGZyYW1lcyBkaXNwbGF5cyBt
aXhlZCBjb250ZW50LCB0aGUgdmlldyBlbWl0cyB0aGUgIm1peGVkY29udGVudCxkaXNwbGF5ZWQi
IHNpZ25hbC4KKyAqCisgKiBAcGFyYW0gbyBUaGUgdmlldyB0byBxdWVyeS4KKyAqCisgKiBAc2Eg
ZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRfZGlzcGxheWVkX2dldAorICovCitFQVBJIEVpbmFfQm9v
bCBld2tfdmlld19taXhlZF9jb250ZW50X2Rpc3BsYXllZF9nZXQoY29uc3QgRXZhc19PYmplY3Qg
Km8pOworCisvKioKKyAqIFJldHVybnMgd2hldGhlciB0aGUgdmlldyBoYXMgcnVuIG1peGVkIGNv
bnRlbnQuCisgKgorICogV2hlbiBhIHZpZXcgaGFzIHJ1biBtaXhlZCBjb250ZW50LCBhbnkgb2Yg
aXRzIGZyYW1lcyBoYXMgbG9hZGVkIGFuIEhUVFBTIFVSSQorICogd2hpY2ggaGFzIGl0c2VsZiBs
b2FkZWQgYW5kIHJ1biBhIHJlc291cmNlIChzdWNoIGFzIGFuIGltYWdlKSBmcm9tIGFuIGluc2Vj
dXJlLAorICogdGhhdCBpcywgbm9uLUhUVFBTLCBVUkkuCisgKgorICogVGhlIHN0YXR1cyBpcyBy
ZXNldCBvbmx5IHdoZW4gYSBsb2FkIGV2ZW50IG9jY3VycyAoZWcuIHRoZSBwYWdlIGlzIHJlbG9h
ZGVkIG9yIGEgbmV3IHBhZ2UgaXMgbG9hZGVkKS4KKyAqCisgKiBXaGVuIG9uZSBvZiB0aGUgY29u
dGFpbmluZyBmcmFtZXMgcnVucyBtaXhlZCBjb250ZW50LCB0aGUgdmlldyBlbWl0cyB0aGUgIm1p
eGVkY29udGVudCxydW4iIHNpZ25hbC4KKyAqCisgKiBAcGFyYW0gbyBUaGUgdmlldyB0byBxdWVy
eS4KKyAqCisgKiBAc2EgZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRfcnVuX2dldAorICovCitFQVBJ
IEVpbmFfQm9vbCBld2tfdmlld19taXhlZF9jb250ZW50X3J1bl9nZXQoY29uc3QgRXZhc19PYmpl
Y3QgKm8pOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118805</attachid>
            <date>2011-12-12 09:01:18 -0800</date>
            <delta_ts>2011-12-12 09:28:13 -0800</delta_ts>
            <desc>Move DocumentLoader.h include to bug 74302</desc>
            <filename>bug-74301-20111212150207.patch</filename>
            <type>text/plain</type>
            <size>14956</size>
            <attacher name="Raphael Kubo da Costa (:rakuco)">rakuco</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggYzdmN2QxODY5
ZDYyNTA2MjgyNTBiNDdjOTM3NjBiZDIxZDc1N2ZjNi4uM2FmNmY1ODY1NmY5OTU5ODJkOWYzYTk5
OTY0OGM4NzkyOTgzZDE2ZCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0IEBACiAyMDEx
LTEyLTEyICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxrdWJvQHByb2Z1c2lvbi5tb2JpPgogCisg
ICAgICAgIFtFRkxdIEFkZCBBUEkgdG8gbm90aWZ5IHRoYXQgbWl4ZWQgY29udGVudCBoYXMgYmVl
biBsb2FkZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03NDMwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFdoZW4gbWl4ZWQgY29udGVudCBpcyBkaXNwbGF5ZWQvcnVuLCBib3RoIGZyYW1lcyBhbmQgdmll
d3MKKyAgICAgICAgZW1pdCB0aGUgcHJvcGVyIHNpZ25hbHMgdG8gbm90aWZ5IEFQSSB1c2Vycy4K
KworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaWREaXNwbGF5SW5zZWN1cmVD
b250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaWRSdW5J
bnNlY3VyZUNvbnRlbnQpOgorICAgICAgICAqIGV3ay9ld2tfZnJhbWUuY3BwOgorICAgICAgICAo
ZXdrX2ZyYW1lX3ZpZXdfY3JlYXRlX2Zvcl92aWV3KToKKyAgICAgICAgKGV3a19mcmFtZV9taXhl
ZF9jb250ZW50X2Rpc3BsYXllZF9nZXQpOgorICAgICAgICAoZXdrX2ZyYW1lX21peGVkX2NvbnRl
bnRfcnVuX2dldCk6CisgICAgICAgIChld2tfZnJhbWVfbWl4ZWRfY29udGVudF9kaXNwbGF5ZWRf
c2V0KToKKyAgICAgICAgKGV3a19mcmFtZV9taXhlZF9jb250ZW50X3J1bl9zZXQpOgorICAgICAg
ICAqIGV3ay9ld2tfZnJhbWUuaDoKKyAgICAgICAgKiBld2svZXdrX3ByaXZhdGUuaDoKKyAgICAg
ICAgKiBld2svZXdrX3ZpZXcuY3BwOgorICAgICAgICAoZXdrX3ZpZXdfZnJhbWVfbWFpbl9jbGVh
cmVkKToKKyAgICAgICAgKGV3a192aWV3X21peGVkX2NvbnRlbnRfZGlzcGxheWVkX2dldCk6Cisg
ICAgICAgIChld2tfdmlld19taXhlZF9jb250ZW50X3J1bl9nZXQpOgorICAgICAgICAoZXdrX3Zp
ZXdfbWl4ZWRfY29udGVudF9kaXNwbGF5ZWRfc2V0KToKKyAgICAgICAgKGV3a192aWV3X21peGVk
X2NvbnRlbnRfcnVuX3NldCk6CisgICAgICAgICogZXdrL2V3a192aWV3Lmg6CisKKzIwMTEtMTIt
MTIgIFJhcGhhZWwgS3VibyBkYSBDb3N0YSAgPGt1Ym9AcHJvZnVzaW9uLm1vYmk+CisKICAgICAg
ICAgW0VGTF0gQWRkIEFQSSB0byBtYW5hZ2Ugcm9vdCBYLjUwOSBDQSBjZXJ0aWZpY2F0ZXMuCiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMwMAogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRl
ckNsaWVudEVmbC5jcHAKaW5kZXggNjg4NWU4MmZjY2ViOGMyMGUzODljNTE1ZDdjYmIxYzcyYjBk
ODJlYi4uMmZkNGY5MWQ0NjI0OTkzOTNmNjY0YWM4MmI5ODI3ODVkMDVjMDRjYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50RWZsLmNwcApAQCAtNTAyLDEyICs1MDIsMTIgQEAgYm9vbCBGcmFtZUxvYWRlckNsaWVudEVm
bDo6c2hvdWxkU3RvcExvYWRpbmdGb3JIaXN0b3J5SXRlbShIaXN0b3J5SXRlbSogaXRlbSkgY28K
IAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlkRGlzcGxheUluc2VjdXJlQ29udGVudCgp
CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBld2tfZnJhbWVfbWl4ZWRfY29udGVudF9k
aXNwbGF5ZWRfc2V0KG1fZnJhbWUsIHRydWUpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50
RWZsOjpkaWRSdW5JbnNlY3VyZUNvbnRlbnQoU2VjdXJpdHlPcmlnaW4qLCBjb25zdCBLVVJMJikK
IHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGV3a19mcmFtZV9taXhlZF9jb250ZW50X3J1
bl9zZXQobV9mcmFtZSwgdHJ1ZSk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmRp
ZERldGVjdFhTUyhjb25zdCBLVVJMJiwgYm9vbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfZnJhbWUuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5j
cHAKaW5kZXggYjlkMmFlM2QwOWY4YzkxMmU1YTE1Zjk2YjllN2UzZmEzNDE1NTI5Ni4uYTMyNTQx
YTZhMGUzNzQxNjdmNjY0ZTI4NWRhYjBlOTUxNmUzZjA4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a19mcmFtZS5jcHAKQEAgLTcwLDYgKzcwLDggQEAgc3RydWN0IEV3a19GcmFtZV9TbWFydF9EYXRh
IHsKICAgICBjb25zdCBjaGFyKiB1cmk7CiAgICAgY29uc3QgY2hhciogbmFtZTsKICAgICBib29s
IGVkaXRhYmxlIDogMTsKKyAgICBib29sIGhhc0Rpc3BsYXllZE1peGVkQ29udGVudCA6IDE7Cisg
ICAgYm9vbCBoYXNSdW5NaXhlZENvbnRlbnQgOiAxOwogfTsKIAogc3RydWN0IEVpbmFfSXRlcmF0
b3JfRXdrX0ZyYW1lIHsKQEAgLTE0NzcsNiArMTQ3OSw5IEBAIHZvaWQgZXdrX2ZyYW1lX3ZpZXdf
Y3JlYXRlX2Zvcl92aWV3KEV2YXNfT2JqZWN0KiBld2tGcmFtZSwgRXZhc19PYmplY3QqIHZpZXcp
CiAgICAgY29uc3QgY2hhciogdGhlbWUgPSBld2tfdmlld190aGVtZV9nZXQodmlldyk7CiAgICAg
c21hcnREYXRhLT5mcmFtZS0+dmlldygpLT5zZXRFZGplVGhlbWUodGhlbWUpOwogICAgIHNtYXJ0
RGF0YS0+ZnJhbWUtPnZpZXcoKS0+c2V0RXZhc09iamVjdChld2tGcmFtZSk7CisKKyAgICBld2tf
ZnJhbWVfbWl4ZWRfY29udGVudF9kaXNwbGF5ZWRfc2V0KGV3a0ZyYW1lLCBmYWxzZSk7CisgICAg
ZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRfcnVuX3NldChld2tGcmFtZSwgZmFsc2UpOwogfQogCiBz
c2l6ZV90IGV3a19mcmFtZV9zb3VyY2VfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tGcmFtZSwg
Y2hhcioqIGZyYW1lU291cmNlKQpAQCAtMTU4OSw2ICsxNTk0LDE4IEBAIGNoYXIqIGV3a19mcmFt
ZV9wbGFpbl90ZXh0X2dldChjb25zdCBFdmFzX09iamVjdCogZXdrRnJhbWUpCiAgICAgcmV0dXJu
IHN0cmR1cChkb2N1bWVudEVsZW1lbnQtPmlubmVyVGV4dCgpLnV0ZjgoKS5kYXRhKCkpOwogfQog
CitFaW5hX0Jvb2wgZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRfZGlzcGxheWVkX2dldChjb25zdCBF
dmFzX09iamVjdCogZXdrRnJhbWUpCit7CisgICAgRVdLX0ZSQU1FX1NEX0dFVF9PUl9SRVRVUk4o
ZXdrRnJhbWUsIHNtYXJ0RGF0YSwgZmFsc2UpOworICAgIHJldHVybiBzbWFydERhdGEtPmhhc0Rp
c3BsYXllZE1peGVkQ29udGVudDsKK30KKworRWluYV9Cb29sIGV3a19mcmFtZV9taXhlZF9jb250
ZW50X3J1bl9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a0ZyYW1lKQoreworICAgIEVXS19GUkFN
RV9TRF9HRVRfT1JfUkVUVVJOKGV3a0ZyYW1lLCBzbWFydERhdGEsIGZhbHNlKTsKKyAgICByZXR1
cm4gc21hcnREYXRhLT5oYXNSdW5NaXhlZENvbnRlbnQ7Cit9CisKIC8qKgogICogQGludGVybmFs
CiAgKiBSZXBvcnRzIHVyaSBjaGFuZ2VkIGFuZCBzd2FwIGludGVybmFsIHN0cmluZyByZWZlcmVu
Y2UuCkBAIC0xNjY3LDYgKzE2ODQsNTIgQEAgdm9pZCBld2tfZnJhbWVfZWRpdG9yX2NsaWVudF9j
b250ZW50c19jaGFuZ2VkKEV2YXNfT2JqZWN0KiBld2tGcmFtZSkKICAgICBld2tfdmlld19lZGl0
b3JfY2xpZW50X2NvbnRlbnRzX2NoYW5nZWQoc21hcnREYXRhLT52aWV3KTsKIH0KIAorLyoqCisg
KiBAaW50ZXJuYWwKKyAqIERlZmluZXMgd2hldGhlciB0aGUgZnJhbWUgaGFzIGRpc3BsYXllZCBt
aXhlZCBjb250ZW50LgorICoKKyAqIFdoZW4gYSBmcmFtZSBoYXMgZGlzcGxheWVkIG1peGVkIGNv
bnRlbnQsIHRoZSBjdXJyZW50bHkgbG9hZGVkIFVSSSBpcyBzZWN1cmUgKEhUVFBTKSBidXQgaXQg
aGFzCisgKiBsb2FkZWQgYW5kIGRpc3BsYXllZCBhIHJlc291cmNlLCBzdWNoIGFzIGFuIGltYWdl
LCBmcm9tIGFuIGluc2VjdXJlIChIVFRQKSBzb3VyY2UuCisgKgorICogQHBhcmFtIGhhc0Rpc3Bs
YXllZCBEbyBvciBkbyBub3QgY2xlYXIgdGhlIGZsYWcgZnJvbSB0aGUgZnJhbWUuIElmIEBjIHRy
dWUsIHRoZSBjb250YWluZXIgdmlldworICogICAgICAgICAgICAgICAgICAgICBpcyBhbHNvIG5v
dGlmaWVkIGFuZCBpdCB0aGVuIGVtaXRzIHRoZSAibWl4ZWRjb250ZW50LGRpc3BsYXllZCIgc2ln
bmFsLgorICoKKyAqIEVtaXRzIHNpZ25hbDogIm1peGVkY29udGVudCxkaXNwbGF5ZWQiIHdpdGgg
bm8gcGFyYW1ldGVycyB3aGVuIEBwIGhhc0Rpc3BsYXllZCBpcyBAYyB0cnVlLgorICovCit2b2lk
IGV3a19mcmFtZV9taXhlZF9jb250ZW50X2Rpc3BsYXllZF9zZXQoRXZhc19PYmplY3QqIGV3a0Zy
YW1lLCBib29sIGhhc0Rpc3BsYXllZCkKK3sKKyAgICBFV0tfRlJBTUVfU0RfR0VUX09SX1JFVFVS
Tihld2tGcmFtZSwgc21hcnREYXRhKTsKKyAgICBzbWFydERhdGEtPmhhc0Rpc3BsYXllZE1peGVk
Q29udGVudCA9IGhhc0Rpc3BsYXllZDsKKworICAgIGlmIChoYXNEaXNwbGF5ZWQpIHsKKyAgICAg
ICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfY2FsbChld2tGcmFtZSwgIm1peGVkY29udGVu
dCxkaXNwbGF5ZWQiLCAwKTsKKyAgICAgICAgZXdrX3ZpZXdfbWl4ZWRfY29udGVudF9kaXNwbGF5
ZWRfc2V0KHNtYXJ0RGF0YS0+dmlldywgdHJ1ZSk7CisgICAgfQorfQorCisvKioKKyAqIEBpbnRl
cm5hbAorICogRGVmaW5lcyB3aGV0aGVyIHRoZSBmcmFtZSBoYXMgcnVuIG1peGVkIGNvbnRlbnQu
CisgKgorICogV2hlbiBhIGZyYW1lIGhhcyBydW4gbWl4ZWQgY29udGVudCwgdGhlIGN1cnJlbnRs
eSBsb2FkZWQgVVJJIGlzIHNlY3VyZSAoSFRUUFMpIGJ1dCBpdCBoYXMKKyAqIGxvYWRlZCBhbmQg
cnVuIGEgcmVzb3VyY2UsIHN1Y2ggYXMgYSBzY3JpcHQsIGZyb20gYW4gaW5zZWN1cmUgKEhUVFAp
IHNvdXJjZS4KKyAqCisgKiBAcGFyYW0gaGFzRGlzcGxheWVkIERvIG9yIGRvIG5vdCBjbGVhciB0
aGUgZmxhZyBmcm9tIHRoZSBmcmFtZS4gSWYgQGMgdHJ1ZSwgdGhlIGNvbnRhaW5lciB2aWV3Cisg
KiAgICAgICAgICAgICAgICAgICAgIGlzIGFsc28gbm90aWZpZWQgYW5kIGl0IHRoZW4gZW1pdHMg
dGhlICJtaXhlZGNvbnRlbnQscnVuIiBzaWduYWwuCisgKgorICogRW1pdHMgc2lnbmFsOiAibWl4
ZWRjb250ZW50LHJ1biIgd2l0aCBubyBwYXJhbWV0ZXJzIHdoZW4gQHAgaGFzUnVuIGlzIEBjIHRy
dWUuCisgKi8KK3ZvaWQgZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRfcnVuX3NldChFdmFzX09iamVj
dCogZXdrRnJhbWUsIGJvb2wgaGFzUnVuKQoreworICAgIEVXS19GUkFNRV9TRF9HRVRfT1JfUkVU
VVJOKGV3a0ZyYW1lLCBzbWFydERhdGEpOworICAgIHNtYXJ0RGF0YS0+aGFzUnVuTWl4ZWRDb250
ZW50ID0gaGFzUnVuOworCisgICAgaWYgKGhhc1J1bikgeworICAgICAgICBldmFzX29iamVjdF9z
bWFydF9jYWxsYmFja19jYWxsKGV3a0ZyYW1lLCAibWl4ZWRjb250ZW50LHJ1biIsIDApOworICAg
ICAgICBld2tfdmlld19taXhlZF9jb250ZW50X3J1bl9zZXQoc21hcnREYXRhLT52aWV3LCB0cnVl
KTsKKyAgICB9Cit9CisKIG5hbWVzcGFjZSBFV0tQcml2YXRlIHsKIAogV2ViQ29yZTo6RnJhbWUg
KmNvcmVGcmFtZShjb25zdCBFdmFzX09iamVjdCAqZXdrRnJhbWUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X2ZyYW1lLmgKaW5kZXggZDliNDIzMDc1M2IyOGJkZTEzNTU3YTU0YTlmMDQ4MjYwZTY2OTU2My4u
NDBjZTM0N2MzMzJiNDM0ZWNhM2U4MDAwZWEwZGI5YmE5YTJkMGUyMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfZnJhbWUuaApAQCAtNTIsNiArNTIsOCBAQAogICogICAgZnJvbSAwLjAgdG8gMS4wLCBj
b25uZWN0IHRvIGluZGl2aWR1YWwgZnJhbWVzIGZvciBmaW5lIGdyYWluZWQpLgogICogIC0gImxv
YWQscHJvdmlzaW9uYWwiLCB2b2lkOiBmcmFtZSBzdGFydGVkIHByb3Zpc2lvbmFsIGxvYWQuCiAg
KiAgLSAibG9hZCxzdGFydGVkIiwgdm9pZDogZnJhbWUgc3RhcnRlZCBsb2FkaW5nIHRoZSBkb2N1
bWVudC4KKyAqICAtICJtaXhlZGNvbnRlbnQsZGlzcGxheWVkIiwgdm9pZDogZnJhbWUgaGFzIGxv
YWRlZCBhbmQgZGlzcGxheWVkIG1peGVkIGNvbnRlbnQuCisgKiAgLSAibWl4ZWRjb250ZW50LHJ1
biIsIHZvaWQ6IGZyYW1lIGhhcyBsb2FkZWQgYW5kIHJ1biBtaXhlZCBjb250ZW50LgogICogIC0g
Im5hdmlnYXRpb24sZmlyc3QiLCB2b2lkOiBmaXJzdCBuYXZpZ2F0aW9uIHdhcyBvY2N1cnJlZC4K
ICAqICAtICJyZXNvdXJjZSxyZXF1ZXN0LG5ldyIsIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0
KjogcmVwb3J0cyB0aGF0CiAgKiAgICB0aGVyZSdzIGEgbmV3IHJlc291cmNlIHJlcXVlc3QuCkBA
IC04NDAsNiArODQyLDM2IEBAIEVBUEkgRWluYV9MaXN0ICpld2tfZnJhbWVfcmVzb3VyY2VzX2xv
Y2F0aW9uX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CiAgKi8KIEVBUEkgY2hhciogZXdrX2Zy
YW1lX3BsYWluX3RleHRfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBvKTsKIAorLyoqCisgKiBSZXR1
cm5zIHdoZXRoZXIgdGhlIGZyYW1lIGhhcyBkaXNwbGF5ZWQgbWl4ZWQgY29udGVudC4KKyAqCisg
KiBXaGVuIGEgZnJhbWUgaGFzIGRpc3BsYXllZCBtaXhlZCBjb250ZW50LCBpdHMgY3VycmVudCBV
UkkgaXMgYW4gSFRUUFMgb25lLCBidXQgaXQgaGFzCisgKiBsb2FkZWQgYW5kIGRpc3BsYXllZCBh
IHJlc291cmNlIChzdWNoIGFzIGFuIGltYWdlKSBmcm9tIGFuIGluc2VjdXJlIChub24tSFRUUFMp
IFVSSS4KKyAqIEJvdGggdGhlIGZyYW1lIGFuZCB0aGUgY29udGFpbmVyIHZpZXcgc2VuZCBhICJt
aXhlZGNvbnRlbnQsZGlzcGxheWVkIiBzaWduYWwgaW4gdGhpcyBjYXNlLgorICoKKyAqIFRoZSBz
dGF0dXMgaXMgcmVzZXQgb25seSB3aGVuIGEgbG9hZCBldmVudCBvY2N1cnMgKGVnLiB0aGUgcGFn
ZSBpcyByZWxvYWRlZCBvciBhIG5ldyBwYWdlIGlzIGxvYWRlZCkuCisgKgorICogQHBhcmFtIG8g
VGhlIGZyYW1lIHRvIHF1ZXJ5LgorICoKKyAqIEBzYSBld2tfdmlld19taXhlZF9jb250ZW50X2Rp
c3BsYXllZF9nZXQKKyAqLworRUFQSSBFaW5hX0Jvb2wgZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRf
ZGlzcGxheWVkX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CisKKy8qKgorICogUmV0dXJucyB3
aGV0aGVyIHRoZSBmcmFtZSBoYXMgcnVuIG1peGVkIGNvbnRlbnQuCisgKgorICogV2hlbiBhIGZy
YW1lIGhhcyBydW4gbWl4ZWQgY29udGVudCwgaXRzIGN1cnJlbnQgVVJJIGlzIGFuIEhUVFBTIG9u
ZSwgYnV0IGl0IGhhcworICogbG9hZGVkIGFuZCBydW4gYSByZXNvdXJjZSAoc3VjaCBhcyBhbiBp
bWFnZSkgZnJvbSBhbiBpbnNlY3VyZSAobm9uLUhUVFBTKSBVUkkuCisgKiBCb3RoIHRoZSBmcmFt
ZSBhbmQgdGhlIGNvbnRhaW5lciB2aWV3IHNlbmQgYSAibWl4ZWRjb250ZW50LHJ1biIgc2lnbmFs
IGluIHRoaXMgY2FzZS4KKyAqCisgKiBUaGUgc3RhdHVzIGlzIHJlc2V0IG9ubHkgd2hlbiBhIGxv
YWQgZXZlbnQgb2NjdXJzIChlZy4gdGhlIHBhZ2UgaXMgcmVsb2FkZWQgb3IgYSBuZXcgcGFnZSBp
cyBsb2FkZWQpLgorICoKKyAqIEBwYXJhbSBvIFRoZSBmcmFtZSB0byBxdWVyeS4KKyAqCisgKiBA
c2EgZXdrX3ZpZXdfbWl4ZWRfY29udGVudF9ydW5fZ2V0CisgKi8KK0VBUEkgRWluYV9Cb29sIGV3
a19mcmFtZV9taXhlZF9jb250ZW50X3J1bl9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOworCiAj
aWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUu
aAppbmRleCA2ZjUzMzIxZjY0ZjI0MGFmMGNlOTEzYzRiOTdkNTJmNzQ1OTIyZWI2Li41YTBhMDQ4
YjRiODk2YTQ2N2M0NmE5MThmZjE2YzRkNTRkOGI3N2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3ByaXZhdGUuaApAQCAtMjIyLDYgKzIyMiwxMSBAQCBjb25zdCBjaGFyKiBld2tfc2V0dGluZ3Nf
ZGVmYXVsdF91c2VyX2FnZW50X2dldCgpOwogdm9pZCBld2tfZnJhbWVfZWRpdG9yX2NsaWVudF9j
b250ZW50c19jaGFuZ2VkKEV2YXNfT2JqZWN0KiBvKTsKIHZvaWQgZXdrX2ZyYW1lX2VkaXRvcl9j
bGllbnRfc2VsZWN0aW9uX2NoYW5nZWQoRXZhc19PYmplY3QqIG8pOwogCit2b2lkIGV3a19mcmFt
ZV9taXhlZF9jb250ZW50X2Rpc3BsYXllZF9zZXQoRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBib29s
IGhhc0Rpc3BsYXllZCk7Cit2b2lkIGV3a19mcmFtZV9taXhlZF9jb250ZW50X3J1bl9zZXQoRXZh
c19PYmplY3QqIGV3a0ZyYW1lLCBib29sIGhhc1J1bik7Cit2b2lkIGV3a192aWV3X21peGVkX2Nv
bnRlbnRfZGlzcGxheWVkX3NldChFdmFzX09iamVjdCogZXdrVmlldywgYm9vbCBoYXNEaXNwbGF5
ZWQpOwordm9pZCBld2tfdmlld19taXhlZF9jb250ZW50X3J1bl9zZXQoRXZhc19PYmplY3QqIGV3
a1ZpZXcsIGJvb2wgaGFzUnVuKTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3ZpZXcuY3BwCmluZGV4IDc2NWU2YjVlYzNhOGUzMGFhNTg3NGI0OGJjNTNjZjYz
NmUyM2QwOTEuLmUzN2E0OGE1MmQ3N2YwYjE4ZjE2NjRhNjU3YzM3MzEwNjg0YTgwZDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a192aWV3LmNwcApAQCAtMTQ4LDYgKzE0OCw4IEBAIHN0cnVjdCBfRXdr
X1ZpZXdfUHJpdmF0ZV9EYXRhIHsKICAgICBzdHJ1Y3QgewogICAgICAgICBib29sIHZpZXdDbGVh
cmVkIDogMTsKICAgICAgICAgYm9vbCBuZWVkVG91Y2hFdmVudHMgOiAxOworICAgICAgICBib29s
IGhhc0Rpc3BsYXllZE1peGVkQ29udGVudCA6IDE7CisgICAgICAgIGJvb2wgaGFzUnVuTWl4ZWRD
b250ZW50IDogMTsKICAgICB9IGZsYWdzOwogICAgIHN0cnVjdCB7CiAgICAgICAgIGNvbnN0IGNo
YXIqIHVzZXJBZ2VudDsKQEAgLTI4NDcsNiArMjg0OSw5IEBAIHZvaWQgZXdrX3ZpZXdfZnJhbWVf
bWFpbl9jbGVhcmVkKEV2YXNfT2JqZWN0KiBld2tWaWV3KQogICAgIEVXS19WSUVXX1NEX0dFVF9P
Ul9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhKTsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JF
VFVSTihzbWFydERhdGEtPmFwaS0+Zmx1c2gpOwogICAgIHNtYXJ0RGF0YS0+YXBpLT5mbHVzaChz
bWFydERhdGEpOworCisgICAgZXdrX3ZpZXdfbWl4ZWRfY29udGVudF9kaXNwbGF5ZWRfc2V0KGV3
a1ZpZXcsIGZhbHNlKTsKKyAgICBld2tfdmlld19taXhlZF9jb250ZW50X3J1bl9zZXQoZXdrVmll
dywgZmFsc2UpOwogfQogCiAvKioKQEAgLTM4MDQsNiArMzgwOSwyMCBAQCBFd2tfVmlld19Nb2Rl
IGV3a192aWV3X21vZGVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3KQogICAgIHJldHVy
biBtb2RlOwogfQogCitFaW5hX0Jvb2wgZXdrX3ZpZXdfbWl4ZWRfY29udGVudF9kaXNwbGF5ZWRf
Z2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3KQoreworICAgIEVXS19WSUVXX1NEX0dFVF9P
Ul9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhLCBmYWxzZSk7CisgICAgRVdLX1ZJRVdfUFJJVl9H
RVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgcHJpdiwgZmFsc2UpOworICAgIHJldHVybiBwcml2LT5m
bGFncy5oYXNEaXNwbGF5ZWRNaXhlZENvbnRlbnQ7Cit9CisKK0VpbmFfQm9vbCBld2tfdmlld19t
aXhlZF9jb250ZW50X3J1bl9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcpCit7CisgICAg
RVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEsIGZhbHNlKTsKKyAg
ICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2LCBmYWxzZSk7Cisg
ICAgcmV0dXJuIHByaXYtPmZsYWdzLmhhc1J1bk1peGVkQ29udGVudDsKK30KKwogLyoqCiAgKiBA
aW50ZXJuYWwKICAqIFJlcG9ydHMgdGhlIHZpZXcgdGhhdCBlZGl0b3IgY2xpZW50IHNlbGVjdGlv
biBoYXMgY2hhbmdlZC4KQEAgLTM4MzAsNiArMzg0OSw1MiBAQCB2b2lkIGV3a192aWV3X2VkaXRv
cl9jbGllbnRfY29udGVudHNfY2hhbmdlZChFdmFzX09iamVjdCogZXdrVmlldykKICAgICBldmFz
X29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKGV3a1ZpZXcsICJlZGl0b3JjbGllbnQsY29udGVu
dHMsY2hhbmdlZCIsIDApOwogfQogCisvKioKKyAqIEBpbnRlcm5hbAorICogRGVmaW5lcyB3aGV0
aGVyIHRoZSB2aWV3IGhhcyBkaXNwbGF5ZWQgbWl4ZWQgY29udGVudC4KKyAqCisgKiBXaGVuIGEg
dmlldyBoYXMgZGlzcGxheWVkIG1peGVkIGNvbnRlbnQsIGFueSBvZiBpdHMgZnJhbWVzIGhhcyBs
b2FkZWQgYW4gSFRUUFMgVVJJCisgKiB3aGljaCBoYXMgaXRzZWxmIGxvYWRlZCBhbmQgZGlzcGxh
eWVkIGEgcmVzb3VyY2UgKHN1Y2ggYXMgYW4gaW1hZ2UpIGZyb20gYW4gaW5zZWN1cmUsCisgKiB0
aGF0IGlzLCBub24tSFRUUFMsIFVSSS4KKyAqCisgKiBAcGFyYW0gaGFzRGlzcGxheWVkIERvIG9y
IGRvIG5vdCBjbGVhciB0aGUgZmxhZyBmcm9tIHRoZSB2aWV3LgorICoKKyAqIEVtaXRzIHNpZ25h
bDogIm1peGVkY29udGVudCxkaXNwbGF5ZWQiIHdpdGggbm8gcGFyYW1ldGVycyB3aGVuIEBwIGhh
c0Rpc3BsYXllZCBpcyBAYyB0cnVlLgorICovCit2b2lkIGV3a192aWV3X21peGVkX2NvbnRlbnRf
ZGlzcGxheWVkX3NldChFdmFzX09iamVjdCogZXdrVmlldywgYm9vbCBoYXNEaXNwbGF5ZWQpCit7
CisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEpOworICAg
IEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYpOworCisgICAgcHJp
di0+ZmxhZ3MuaGFzRGlzcGxheWVkTWl4ZWRDb250ZW50ID0gaGFzRGlzcGxheWVkOworCisgICAg
aWYgKGhhc0Rpc3BsYXllZCkKKyAgICAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfY2Fs
bChld2tWaWV3LCAibWl4ZWRjb250ZW50LGRpc3BsYXllZCIsIDApOworfQorCisvKioKKyAqIEBp
bnRlcm5hbAorICogRGVmaW5lcyB3aGV0aGVyIHRoZSB2aWV3IGhhcyBydW4gbWl4ZWQgY29udGVu
dC4KKyAqCisgKiBXaGVuIGEgdmlldyBoYXMgcnVuIG1peGVkIGNvbnRlbnQsIGFueSBvZiBpdHMg
ZnJhbWVzIGhhcyBsb2FkZWQgYW4gSFRUUFMgVVJJCisgKiB3aGljaCBoYXMgaXRzZWxmIGxvYWRl
ZCBhbmQgcnVuIGEgcmVzb3VyY2UgKHN1Y2ggYXMgYSBzY3JpcHQpIGZyb20gYW4gaW5zZWN1cmUs
CisgKiB0aGF0IGlzLCBub24tSFRUUFMsIFVSSS4KKyAqCisgKiBAcGFyYW0gaGFzUnVuIERvIG9y
IGRvIG5vdCBjbGVhciB0aGUgZmxhZyBmcm9tIHRoZSB2aWV3LgorICoKKyAqIEVtaXRzIHNpZ25h
bDogIm1peGVkY29udGVudCxydW4iIHdpdGggbm8gcGFyYW1ldGVycyB3aGVuIEBwIGhhc1J1biBp
cyBAYyB0cnVlLgorICovCit2b2lkIGV3a192aWV3X21peGVkX2NvbnRlbnRfcnVuX3NldChFdmFz
X09iamVjdCogZXdrVmlldywgYm9vbCBoYXNSdW4pCit7CisgICAgRVdLX1ZJRVdfU0RfR0VUX09S
X1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JF
VFVSTihzbWFydERhdGEsIHByaXYpOworCisgICAgcHJpdi0+ZmxhZ3MuaGFzUnVuTWl4ZWRDb250
ZW50ID0gaGFzUnVuOworCisgICAgaWYgKGhhc1J1bikKKyAgICAgICAgZXZhc19vYmplY3Rfc21h
cnRfY2FsbGJhY2tfY2FsbChld2tWaWV3LCAibWl4ZWRjb250ZW50LHJ1biIsIDApOworfQorCiBF
aW5hX0Jvb2wgZXdrX3ZpZXdfdmlzaWJpbGl0eV9zdGF0ZV9zZXQoRXZhc19PYmplY3QqIGV3a1Zp
ZXcsIEV3a19QYWdlX1Zpc2liaWxpdHlfU3RhdGUgcGFnZVZpc2libGVTdGF0ZSwgRWluYV9Cb29s
IGluaXRpYWxTdGF0ZSkKIHsKICNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oIGIvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a192aWV3LmgKaW5kZXggMDBiZDAwMmRlNGNkZTY2MGVmYzMyNmI4MDc5ZTc1OTZj
OGQxMzk1Ny4uZTczYzk4ZjExOTcxMTlkNjcwMmQ3OTI4ZjNlNDYzMWU3ZjExN2I5OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKKysrIGIvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a192aWV3LmgKQEAgLTU4LDYgKzU4LDggQEAKICAqICAtICJtZW51YmFyLHZp
c2libGUsZ2V0IiwgRWluYV9Cb29sICo6IGV4cGVjdHMgYSBAYyBFSU5BX1RSVUUgaWYgbWVudWJh
ciBpcwogICogICAgdmlzaWJsZTsgQGMgRUlOQV9GQUxTRSwgb3RoZXJ3aXNlLgogICogIC0gIm1l
bnViYXIsdmlzaWJsZSxzZXQiLCBFaW5hX0Jvb2w6IHNldHMgbWVudWJhciB2aXNpYmlsaXR5Lgor
ICogIC0gIm1peGVkY29udGVudCxkaXNwbGF5ZWQiLCB2b2lkOiBhbnkgb2YgdGhlIGNvbnRhaW5p
bmcgZnJhbWVzIGhhcyBsb2FkZWQgYW5kIGRpc3BsYXllZCBtaXhlZCBjb250ZW50LgorICogIC0g
Im1peGVkY29udGVudCxydW4iLCB2b2lkOiBhbnkgb2YgdGhlIGNvbnRhaW5pbmcgZnJhbWVzIGhh
cyBsb2FkZWQgYW5kIHJ1biBtaXhlZCBjb250ZW50LgogICogIC0gInJlYWR5Iiwgdm9pZDogcGFn
ZSBpcyBmdWxseSBsb2FkZWQuCiAgKiAgLSAic2Nyb2xsYmFycyx2aXNpYmxlLGdldCIsIEVpbmFf
Qm9vbCAqOiBleHBlY3RzIGEgQGMgRUlOQV9UUlVFIGlmIHNjcm9sbGJhcnMKICAqICAgIGFyZSB2
aXNpYmxlOyBAYyBFSU5BX0ZBTFNFLCBvdGhlcndpc2UuCkBAIC0yMjc2LDYgKzIyNzgsNDAgQEAg
RUFQSSBFaW5hX0Jvb2wgZXdrX3ZpZXdfdmlzaWJpbGl0eV9zdGF0ZV9zZXQoRXZhc19PYmplY3Qq
IG8sIEV3a19QYWdlX1Zpc2liaWxpdHkKICAqLwogRUFQSSBFd2tfUGFnZV9WaXNpYmlsaXR5X1N0
YXRlIGV3a192aWV3X3Zpc2liaWxpdHlfc3RhdGVfZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpvKTsK
IAorLyoqCisgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIHZpZXcgaGFzIGRpc3BsYXllZCBtaXhlZCBj
b250ZW50LgorICoKKyAqIFdoZW4gYSB2aWV3IGhhcyBkaXNwbGF5ZWQgbWl4ZWQgY29udGVudCwg
YW55IG9mIGl0cyBmcmFtZXMgaGFzIGxvYWRlZCBhbiBIVFRQUyBVUkkKKyAqIHdoaWNoIGhhcyBp
dHNlbGYgbG9hZGVkIGFuZCBkaXNwbGF5ZWQgYSByZXNvdXJjZSAoc3VjaCBhcyBhbiBpbWFnZSkg
ZnJvbSBhbiBpbnNlY3VyZSwKKyAqIHRoYXQgaXMsIG5vbi1IVFRQUywgVVJJLgorICoKKyAqIFRo
ZSBzdGF0dXMgaXMgcmVzZXQgb25seSB3aGVuIGEgbG9hZCBldmVudCBvY2N1cnMgKGVnLiB0aGUg
cGFnZSBpcyByZWxvYWRlZCBvciBhIG5ldyBwYWdlIGlzIGxvYWRlZCkuCisgKgorICogV2hlbiBv
bmUgb2YgdGhlIGNvbnRhaW5pbmcgZnJhbWVzIGRpc3BsYXlzIG1peGVkIGNvbnRlbnQsIHRoZSB2
aWV3IGVtaXRzIHRoZSAibWl4ZWRjb250ZW50LGRpc3BsYXllZCIgc2lnbmFsLgorICoKKyAqIEBw
YXJhbSBvIFRoZSB2aWV3IHRvIHF1ZXJ5LgorICoKKyAqIEBzYSBld2tfZnJhbWVfbWl4ZWRfY29u
dGVudF9kaXNwbGF5ZWRfZ2V0CisgKi8KK0VBUEkgRWluYV9Cb29sIGV3a192aWV3X21peGVkX2Nv
bnRlbnRfZGlzcGxheWVkX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CisKKy8qKgorICogUmV0
dXJucyB3aGV0aGVyIHRoZSB2aWV3IGhhcyBydW4gbWl4ZWQgY29udGVudC4KKyAqCisgKiBXaGVu
IGEgdmlldyBoYXMgcnVuIG1peGVkIGNvbnRlbnQsIGFueSBvZiBpdHMgZnJhbWVzIGhhcyBsb2Fk
ZWQgYW4gSFRUUFMgVVJJCisgKiB3aGljaCBoYXMgaXRzZWxmIGxvYWRlZCBhbmQgcnVuIGEgcmVz
b3VyY2UgKHN1Y2ggYXMgYW4gaW1hZ2UpIGZyb20gYW4gaW5zZWN1cmUsCisgKiB0aGF0IGlzLCBu
b24tSFRUUFMsIFVSSS4KKyAqCisgKiBUaGUgc3RhdHVzIGlzIHJlc2V0IG9ubHkgd2hlbiBhIGxv
YWQgZXZlbnQgb2NjdXJzIChlZy4gdGhlIHBhZ2UgaXMgcmVsb2FkZWQgb3IgYSBuZXcgcGFnZSBp
cyBsb2FkZWQpLgorICoKKyAqIFdoZW4gb25lIG9mIHRoZSBjb250YWluaW5nIGZyYW1lcyBydW5z
IG1peGVkIGNvbnRlbnQsIHRoZSB2aWV3IGVtaXRzIHRoZSAibWl4ZWRjb250ZW50LHJ1biIgc2ln
bmFsLgorICoKKyAqIEBwYXJhbSBvIFRoZSB2aWV3IHRvIHF1ZXJ5LgorICoKKyAqIEBzYSBld2tf
ZnJhbWVfbWl4ZWRfY29udGVudF9ydW5fZ2V0CisgKi8KK0VBUEkgRWluYV9Cb29sIGV3a192aWV3
X21peGVkX2NvbnRlbnRfcnVuX2dldChjb25zdCBFdmFzX09iamVjdCAqbyk7CisKICNpZmRlZiBf
X2NwbHVzcGx1cwogfQogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118810</attachid>
            <date>2011-12-12 09:28:20 -0800</date>
            <delta_ts>2011-12-12 09:28:20 -0800</delta_ts>
            <desc>Patch for landing, follow kov&apos;s suggestion</desc>
            <filename>bug-74301-20111212152909.patch</filename>
            <type>text/plain</type>
            <size>14963</size>
            <attacher name="Raphael Kubo da Costa (:rakuco)">rakuco</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggMzIzNmQ3YWRj
NTA0YTI5NTlkZTJjNWUwMDgwZjMyZDQyYmU3YTNmYS4uNDFhYWNjODU3YzNkNmViNzg4YzQ2MmIx
Y2Q4N2I1YTVkMjhhZmZlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0IEBACiAyMDEx
LTEyLTEyICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxrdWJvQHByb2Z1c2lvbi5tb2JpPgogCisg
ICAgICAgIFtFRkxdIEFkZCBBUEkgdG8gbm90aWZ5IHRoYXQgbWl4ZWQgY29udGVudCBoYXMgYmVl
biBsb2FkZWQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03NDMwMQorCisgICAgICAgIFJldmlld2VkIGJ5IEd1c3Rhdm8gTm9yb25oYSBTaWx2YS4KKwor
ICAgICAgICBXaGVuIG1peGVkIGNvbnRlbnQgaXMgZGlzcGxheWVkL3J1biwgYm90aCBmcmFtZXMg
YW5kIHZpZXdzCisgICAgICAgIGVtaXQgdGhlIHByb3BlciBzaWduYWxzIHRvIG5vdGlmeSBBUEkg
dXNlcnMuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6ZGlkRGlzcGxheUlu
c2VjdXJlQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6
ZGlkUnVuSW5zZWN1cmVDb250ZW50KToKKyAgICAgICAgKiBld2svZXdrX2ZyYW1lLmNwcDoKKyAg
ICAgICAgKGV3a19mcmFtZV92aWV3X2NyZWF0ZV9mb3Jfdmlldyk6CisgICAgICAgIChld2tfZnJh
bWVfbWl4ZWRfY29udGVudF9kaXNwbGF5ZWRfZ2V0KToKKyAgICAgICAgKGV3a19mcmFtZV9taXhl
ZF9jb250ZW50X3J1bl9nZXQpOgorICAgICAgICAoZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRfZGlz
cGxheWVkX3NldCk6CisgICAgICAgIChld2tfZnJhbWVfbWl4ZWRfY29udGVudF9ydW5fc2V0KToK
KyAgICAgICAgKiBld2svZXdrX2ZyYW1lLmg6CisgICAgICAgICogZXdrL2V3a19wcml2YXRlLmg6
CisgICAgICAgICogZXdrL2V3a192aWV3LmNwcDoKKyAgICAgICAgKGV3a192aWV3X2ZyYW1lX21h
aW5fY2xlYXJlZCk6CisgICAgICAgIChld2tfdmlld19taXhlZF9jb250ZW50X2Rpc3BsYXllZF9n
ZXQpOgorICAgICAgICAoZXdrX3ZpZXdfbWl4ZWRfY29udGVudF9ydW5fZ2V0KToKKyAgICAgICAg
KGV3a192aWV3X21peGVkX2NvbnRlbnRfZGlzcGxheWVkX3NldCk6CisgICAgICAgIChld2tfdmll
d19taXhlZF9jb250ZW50X3J1bl9zZXQpOgorICAgICAgICAqIGV3ay9ld2tfdmlldy5oOgorCisy
MDExLTEyLTEyICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxrdWJvQHByb2Z1c2lvbi5tb2JpPgor
CiAgICAgICAgIFtFRkxdIEFkZCBBUEkgdG8gbWFuYWdlIHJvb3QgWC41MDkgQ0EgY2VydGlmaWNh
dGVzLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQz
MDAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVM
b2FkZXJDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRFZmwuY3BwCmluZGV4IDY4ODVlODJmY2NlYjhjMjBlMzg5YzUxNWQ3Y2Ji
MWM3MmIwZDgyZWIuLjJmZDRmOTFkNDYyNDk5MzkzZjY2NGFjODJiOTgyNzg1ZDA1YzA0Y2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxv
YWRlckNsaWVudEVmbC5jcHAKQEAgLTUwMiwxMiArNTAyLDEyIEBAIGJvb2wgRnJhbWVMb2FkZXJD
bGllbnRFZmw6OnNob3VsZFN0b3BMb2FkaW5nRm9ySGlzdG9yeUl0ZW0oSGlzdG9yeUl0ZW0qIGl0
ZW0pIGNvCiAKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRFZmw6OmRpZERpc3BsYXlJbnNlY3VyZUNv
bnRlbnQoKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgZXdrX2ZyYW1lX21peGVkX2Nv
bnRlbnRfZGlzcGxheWVkX3NldChtX2ZyYW1lLCB0cnVlKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRl
ckNsaWVudEVmbDo6ZGlkUnVuSW5zZWN1cmVDb250ZW50KFNlY3VyaXR5T3JpZ2luKiwgY29uc3Qg
S1VSTCYpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBld2tfZnJhbWVfbWl4ZWRfY29u
dGVudF9ydW5fc2V0KG1fZnJhbWUsIHRydWUpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50
RWZsOjpkaWREZXRlY3RYU1MoY29uc3QgS1VSTCYsIGJvb2wpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
ZnJhbWUuY3BwCmluZGV4IGI5ZDJhZTNkMDlmOGM5MTJlNWExNWY5NmI5ZTdlM2ZhMzQxNTUyOTYu
LmEyMTI1MTZmMGNmZmYzODQ1N2U5Y2MzZTUwYzM1OWJiNDk3OTViYzUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZs
L2V3ay9ld2tfZnJhbWUuY3BwCkBAIC03MCw2ICs3MCw4IEBAIHN0cnVjdCBFd2tfRnJhbWVfU21h
cnRfRGF0YSB7CiAgICAgY29uc3QgY2hhciogdXJpOwogICAgIGNvbnN0IGNoYXIqIG5hbWU7CiAg
ICAgYm9vbCBlZGl0YWJsZSA6IDE7CisgICAgYm9vbCBoYXNEaXNwbGF5ZWRNaXhlZENvbnRlbnQg
OiAxOworICAgIGJvb2wgaGFzUnVuTWl4ZWRDb250ZW50IDogMTsKIH07CiAKIHN0cnVjdCBFaW5h
X0l0ZXJhdG9yX0V3a19GcmFtZSB7CkBAIC0xNDc3LDYgKzE0NzksOSBAQCB2b2lkIGV3a19mcmFt
ZV92aWV3X2NyZWF0ZV9mb3JfdmlldyhFdmFzX09iamVjdCogZXdrRnJhbWUsIEV2YXNfT2JqZWN0
KiB2aWV3KQogICAgIGNvbnN0IGNoYXIqIHRoZW1lID0gZXdrX3ZpZXdfdGhlbWVfZ2V0KHZpZXcp
OwogICAgIHNtYXJ0RGF0YS0+ZnJhbWUtPnZpZXcoKS0+c2V0RWRqZVRoZW1lKHRoZW1lKTsKICAg
ICBzbWFydERhdGEtPmZyYW1lLT52aWV3KCktPnNldEV2YXNPYmplY3QoZXdrRnJhbWUpOworCisg
ICAgZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRfZGlzcGxheWVkX3NldChld2tGcmFtZSwgZmFsc2Up
OworICAgIGV3a19mcmFtZV9taXhlZF9jb250ZW50X3J1bl9zZXQoZXdrRnJhbWUsIGZhbHNlKTsK
IH0KIAogc3NpemVfdCBld2tfZnJhbWVfc291cmNlX2dldChjb25zdCBFdmFzX09iamVjdCogZXdr
RnJhbWUsIGNoYXIqKiBmcmFtZVNvdXJjZSkKQEAgLTE1ODksNiArMTU5NCwxOCBAQCBjaGFyKiBl
d2tfZnJhbWVfcGxhaW5fdGV4dF9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a0ZyYW1lKQogICAg
IHJldHVybiBzdHJkdXAoZG9jdW1lbnRFbGVtZW50LT5pbm5lclRleHQoKS51dGY4KCkuZGF0YSgp
KTsKIH0KIAorRWluYV9Cb29sIGV3a19mcmFtZV9taXhlZF9jb250ZW50X2Rpc3BsYXllZF9nZXQo
Y29uc3QgRXZhc19PYmplY3QqIGV3a0ZyYW1lKQoreworICAgIEVXS19GUkFNRV9TRF9HRVRfT1Jf
UkVUVVJOKGV3a0ZyYW1lLCBzbWFydERhdGEsIGZhbHNlKTsKKyAgICByZXR1cm4gc21hcnREYXRh
LT5oYXNEaXNwbGF5ZWRNaXhlZENvbnRlbnQ7Cit9CisKK0VpbmFfQm9vbCBld2tfZnJhbWVfbWl4
ZWRfY29udGVudF9ydW5fZ2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tGcmFtZSkKK3sKKyAgICBF
V0tfRlJBTUVfU0RfR0VUX09SX1JFVFVSTihld2tGcmFtZSwgc21hcnREYXRhLCBmYWxzZSk7Cisg
ICAgcmV0dXJuIHNtYXJ0RGF0YS0+aGFzUnVuTWl4ZWRDb250ZW50OworfQorCiAvKioKICAqIEBp
bnRlcm5hbAogICogUmVwb3J0cyB1cmkgY2hhbmdlZCBhbmQgc3dhcCBpbnRlcm5hbCBzdHJpbmcg
cmVmZXJlbmNlLgpAQCAtMTY2Nyw2ICsxNjg0LDUyIEBAIHZvaWQgZXdrX2ZyYW1lX2VkaXRvcl9j
bGllbnRfY29udGVudHNfY2hhbmdlZChFdmFzX09iamVjdCogZXdrRnJhbWUpCiAgICAgZXdrX3Zp
ZXdfZWRpdG9yX2NsaWVudF9jb250ZW50c19jaGFuZ2VkKHNtYXJ0RGF0YS0+dmlldyk7CiB9CiAK
Ky8qKgorICogQGludGVybmFsCisgKiBEZWZpbmVzIHdoZXRoZXIgdGhlIGZyYW1lIGhhcyBkaXNw
bGF5ZWQgbWl4ZWQgY29udGVudC4KKyAqCisgKiBXaGVuIGEgZnJhbWUgaGFzIGRpc3BsYXllZCBt
aXhlZCBjb250ZW50LCB0aGUgY3VycmVudGx5IGxvYWRlZCBVUkkgaXMgc2VjdXJlIChIVFRQUykg
YnV0IGl0IGhhcworICogbG9hZGVkIGFuZCBkaXNwbGF5ZWQgYSByZXNvdXJjZSwgc3VjaCBhcyBh
biBpbWFnZSwgZnJvbSBhbiBpbnNlY3VyZSAoSFRUUCkgc291cmNlLgorICoKKyAqIEBwYXJhbSBo
YXNEaXNwbGF5ZWQgRG8gb3IgZG8gbm90IGNsZWFyIHRoZSBmbGFnIGZyb20gdGhlIGZyYW1lLiBJ
ZiBAYyB0cnVlLCB0aGUgY29udGFpbmVyIHZpZXcKKyAqICAgICAgICAgICAgICAgICAgICAgaXMg
YWxzbyBub3RpZmllZCBhbmQgaXQgdGhlbiBlbWl0cyB0aGUgIm1peGVkY29udGVudCxkaXNwbGF5
ZWQiIHNpZ25hbC4KKyAqCisgKiBFbWl0cyBzaWduYWw6ICJtaXhlZGNvbnRlbnQsZGlzcGxheWVk
IiB3aXRoIG5vIHBhcmFtZXRlcnMgd2hlbiBAcCBoYXNEaXNwbGF5ZWQgaXMgQGMgdHJ1ZS4KKyAq
Lwordm9pZCBld2tfZnJhbWVfbWl4ZWRfY29udGVudF9kaXNwbGF5ZWRfc2V0KEV2YXNfT2JqZWN0
KiBld2tGcmFtZSwgYm9vbCBoYXNEaXNwbGF5ZWQpCit7CisgICAgRVdLX0ZSQU1FX1NEX0dFVF9P
Ul9SRVRVUk4oZXdrRnJhbWUsIHNtYXJ0RGF0YSk7CisgICAgc21hcnREYXRhLT5oYXNEaXNwbGF5
ZWRNaXhlZENvbnRlbnQgPSBoYXNEaXNwbGF5ZWQ7CisKKyAgICBpZiAoaGFzRGlzcGxheWVkKSB7
CisgICAgICAgIGV3a192aWV3X21peGVkX2NvbnRlbnRfZGlzcGxheWVkX3NldChzbWFydERhdGEt
PnZpZXcsIHRydWUpOworICAgICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKGV3
a0ZyYW1lLCAibWl4ZWRjb250ZW50LGRpc3BsYXllZCIsIDApOworICAgIH0KK30KKworLyoqCisg
KiBAaW50ZXJuYWwKKyAqIERlZmluZXMgd2hldGhlciB0aGUgZnJhbWUgaGFzIHJ1biBtaXhlZCBj
b250ZW50LgorICoKKyAqIFdoZW4gYSBmcmFtZSBoYXMgcnVuIG1peGVkIGNvbnRlbnQsIHRoZSBj
dXJyZW50bHkgbG9hZGVkIFVSSSBpcyBzZWN1cmUgKEhUVFBTKSBidXQgaXQgaGFzCisgKiBsb2Fk
ZWQgYW5kIHJ1biBhIHJlc291cmNlLCBzdWNoIGFzIGEgc2NyaXB0LCBmcm9tIGFuIGluc2VjdXJl
IChIVFRQKSBzb3VyY2UuCisgKgorICogQHBhcmFtIGhhc0Rpc3BsYXllZCBEbyBvciBkbyBub3Qg
Y2xlYXIgdGhlIGZsYWcgZnJvbSB0aGUgZnJhbWUuIElmIEBjIHRydWUsIHRoZSBjb250YWluZXIg
dmlldworICogICAgICAgICAgICAgICAgICAgICBpcyBhbHNvIG5vdGlmaWVkIGFuZCBpdCB0aGVu
IGVtaXRzIHRoZSAibWl4ZWRjb250ZW50LHJ1biIgc2lnbmFsLgorICoKKyAqIEVtaXRzIHNpZ25h
bDogIm1peGVkY29udGVudCxydW4iIHdpdGggbm8gcGFyYW1ldGVycyB3aGVuIEBwIGhhc1J1biBp
cyBAYyB0cnVlLgorICovCit2b2lkIGV3a19mcmFtZV9taXhlZF9jb250ZW50X3J1bl9zZXQoRXZh
c19PYmplY3QqIGV3a0ZyYW1lLCBib29sIGhhc1J1bikKK3sKKyAgICBFV0tfRlJBTUVfU0RfR0VU
X09SX1JFVFVSTihld2tGcmFtZSwgc21hcnREYXRhKTsKKyAgICBzbWFydERhdGEtPmhhc1J1bk1p
eGVkQ29udGVudCA9IGhhc1J1bjsKKworICAgIGlmIChoYXNSdW4pIHsKKyAgICAgICAgZXdrX3Zp
ZXdfbWl4ZWRfY29udGVudF9ydW5fc2V0KHNtYXJ0RGF0YS0+dmlldywgdHJ1ZSk7CisgICAgICAg
IGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwoZXdrRnJhbWUsICJtaXhlZGNvbnRlbnQs
cnVuIiwgMCk7CisgICAgfQorfQorCiBuYW1lc3BhY2UgRVdLUHJpdmF0ZSB7CiAKIFdlYkNvcmU6
OkZyYW1lICpjb3JlRnJhbWUoY29uc3QgRXZhc19PYmplY3QgKmV3a0ZyYW1lKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oIGIvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a19mcmFtZS5oCmluZGV4IGQ5YjQyMzA3NTNiMjhiZGUxMzU1N2E1NGE5ZjA0ODI2MGU2
Njk1NjMuLjQwY2UzNDdjMzMyYjQzNGVjYTNlODAwMGVhMGRiOWJhOWEyZDBlMjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX2ZyYW1lLmgKQEAgLTUyLDYgKzUyLDggQEAKICAqICAgIGZyb20gMC4wIHRv
IDEuMCwgY29ubmVjdCB0byBpbmRpdmlkdWFsIGZyYW1lcyBmb3IgZmluZSBncmFpbmVkKS4KICAq
ICAtICJsb2FkLHByb3Zpc2lvbmFsIiwgdm9pZDogZnJhbWUgc3RhcnRlZCBwcm92aXNpb25hbCBs
b2FkLgogICogIC0gImxvYWQsc3RhcnRlZCIsIHZvaWQ6IGZyYW1lIHN0YXJ0ZWQgbG9hZGluZyB0
aGUgZG9jdW1lbnQuCisgKiAgLSAibWl4ZWRjb250ZW50LGRpc3BsYXllZCIsIHZvaWQ6IGZyYW1l
IGhhcyBsb2FkZWQgYW5kIGRpc3BsYXllZCBtaXhlZCBjb250ZW50LgorICogIC0gIm1peGVkY29u
dGVudCxydW4iLCB2b2lkOiBmcmFtZSBoYXMgbG9hZGVkIGFuZCBydW4gbWl4ZWQgY29udGVudC4K
ICAqICAtICJuYXZpZ2F0aW9uLGZpcnN0Iiwgdm9pZDogZmlyc3QgbmF2aWdhdGlvbiB3YXMgb2Nj
dXJyZWQuCiAgKiAgLSAicmVzb3VyY2UscmVxdWVzdCxuZXciLCBFd2tfRnJhbWVfUmVzb3VyY2Vf
UmVxdWVzdCo6IHJlcG9ydHMgdGhhdAogICogICAgdGhlcmUncyBhIG5ldyByZXNvdXJjZSByZXF1
ZXN0LgpAQCAtODQwLDYgKzg0MiwzNiBAQCBFQVBJIEVpbmFfTGlzdCAqZXdrX2ZyYW1lX3Jlc291
cmNlc19sb2NhdGlvbl9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOwogICovCiBFQVBJIGNoYXIq
IGV3a19mcmFtZV9wbGFpbl90ZXh0X2dldChjb25zdCBFdmFzX09iamVjdCogbyk7CiAKKy8qKgor
ICogUmV0dXJucyB3aGV0aGVyIHRoZSBmcmFtZSBoYXMgZGlzcGxheWVkIG1peGVkIGNvbnRlbnQu
CisgKgorICogV2hlbiBhIGZyYW1lIGhhcyBkaXNwbGF5ZWQgbWl4ZWQgY29udGVudCwgaXRzIGN1
cnJlbnQgVVJJIGlzIGFuIEhUVFBTIG9uZSwgYnV0IGl0IGhhcworICogbG9hZGVkIGFuZCBkaXNw
bGF5ZWQgYSByZXNvdXJjZSAoc3VjaCBhcyBhbiBpbWFnZSkgZnJvbSBhbiBpbnNlY3VyZSAobm9u
LUhUVFBTKSBVUkkuCisgKiBCb3RoIHRoZSBmcmFtZSBhbmQgdGhlIGNvbnRhaW5lciB2aWV3IHNl
bmQgYSAibWl4ZWRjb250ZW50LGRpc3BsYXllZCIgc2lnbmFsIGluIHRoaXMgY2FzZS4KKyAqCisg
KiBUaGUgc3RhdHVzIGlzIHJlc2V0IG9ubHkgd2hlbiBhIGxvYWQgZXZlbnQgb2NjdXJzIChlZy4g
dGhlIHBhZ2UgaXMgcmVsb2FkZWQgb3IgYSBuZXcgcGFnZSBpcyBsb2FkZWQpLgorICoKKyAqIEBw
YXJhbSBvIFRoZSBmcmFtZSB0byBxdWVyeS4KKyAqCisgKiBAc2EgZXdrX3ZpZXdfbWl4ZWRfY29u
dGVudF9kaXNwbGF5ZWRfZ2V0CisgKi8KK0VBUEkgRWluYV9Cb29sIGV3a19mcmFtZV9taXhlZF9j
b250ZW50X2Rpc3BsYXllZF9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOworCisvKioKKyAqIFJl
dHVybnMgd2hldGhlciB0aGUgZnJhbWUgaGFzIHJ1biBtaXhlZCBjb250ZW50LgorICoKKyAqIFdo
ZW4gYSBmcmFtZSBoYXMgcnVuIG1peGVkIGNvbnRlbnQsIGl0cyBjdXJyZW50IFVSSSBpcyBhbiBI
VFRQUyBvbmUsIGJ1dCBpdCBoYXMKKyAqIGxvYWRlZCBhbmQgcnVuIGEgcmVzb3VyY2UgKHN1Y2gg
YXMgYW4gaW1hZ2UpIGZyb20gYW4gaW5zZWN1cmUgKG5vbi1IVFRQUykgVVJJLgorICogQm90aCB0
aGUgZnJhbWUgYW5kIHRoZSBjb250YWluZXIgdmlldyBzZW5kIGEgIm1peGVkY29udGVudCxydW4i
IHNpZ25hbCBpbiB0aGlzIGNhc2UuCisgKgorICogVGhlIHN0YXR1cyBpcyByZXNldCBvbmx5IHdo
ZW4gYSBsb2FkIGV2ZW50IG9jY3VycyAoZWcuIHRoZSBwYWdlIGlzIHJlbG9hZGVkIG9yIGEgbmV3
IHBhZ2UgaXMgbG9hZGVkKS4KKyAqCisgKiBAcGFyYW0gbyBUaGUgZnJhbWUgdG8gcXVlcnkuCisg
KgorICogQHNhIGV3a192aWV3X21peGVkX2NvbnRlbnRfcnVuX2dldAorICovCitFQVBJIEVpbmFf
Qm9vbCBld2tfZnJhbWVfbWl4ZWRfY29udGVudF9ydW5fZ2V0KGNvbnN0IEV2YXNfT2JqZWN0ICpv
KTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19w
cml2YXRlLmgKaW5kZXggNmY1MzMyMWY2NGYyNDBhZjBjZTkxM2M0Yjk3ZDUyZjc0NTkyMmViNi4u
NWEwYTA0OGI0Yjg5NmE0NjdjNDZhOTE4ZmYxNmM0ZDU0ZDhiNzdjMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a19wcml2YXRlLmgKQEAgLTIyMiw2ICsyMjIsMTEgQEAgY29uc3QgY2hhciogZXdrX3Nl
dHRpbmdzX2RlZmF1bHRfdXNlcl9hZ2VudF9nZXQoKTsKIHZvaWQgZXdrX2ZyYW1lX2VkaXRvcl9j
bGllbnRfY29udGVudHNfY2hhbmdlZChFdmFzX09iamVjdCogbyk7CiB2b2lkIGV3a19mcmFtZV9l
ZGl0b3JfY2xpZW50X3NlbGVjdGlvbl9jaGFuZ2VkKEV2YXNfT2JqZWN0KiBvKTsKIAordm9pZCBl
d2tfZnJhbWVfbWl4ZWRfY29udGVudF9kaXNwbGF5ZWRfc2V0KEV2YXNfT2JqZWN0KiBld2tGcmFt
ZSwgYm9vbCBoYXNEaXNwbGF5ZWQpOwordm9pZCBld2tfZnJhbWVfbWl4ZWRfY29udGVudF9ydW5f
c2V0KEV2YXNfT2JqZWN0KiBld2tGcmFtZSwgYm9vbCBoYXNSdW4pOwordm9pZCBld2tfdmlld19t
aXhlZF9jb250ZW50X2Rpc3BsYXllZF9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGJvb2wgaGFz
RGlzcGxheWVkKTsKK3ZvaWQgZXdrX3ZpZXdfbWl4ZWRfY29udGVudF9ydW5fc2V0KEV2YXNfT2Jq
ZWN0KiBld2tWaWV3LCBib29sIGhhc1J1bik7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAppbmRleCA3NjVlNmI1ZWMzYThlMzBhYTU4NzRiNDhi
YzUzY2Y2MzZlMjNkMDkxLi5lMzdhNDhhNTJkNzdmMGIxOGYxNjY0YTY1N2MzNzMxMDY4NGE4MGQw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKQEAgLTE0OCw2ICsxNDgsOCBAQCBzdHJ1
Y3QgX0V3a19WaWV3X1ByaXZhdGVfRGF0YSB7CiAgICAgc3RydWN0IHsKICAgICAgICAgYm9vbCB2
aWV3Q2xlYXJlZCA6IDE7CiAgICAgICAgIGJvb2wgbmVlZFRvdWNoRXZlbnRzIDogMTsKKyAgICAg
ICAgYm9vbCBoYXNEaXNwbGF5ZWRNaXhlZENvbnRlbnQgOiAxOworICAgICAgICBib29sIGhhc1J1
bk1peGVkQ29udGVudCA6IDE7CiAgICAgfSBmbGFnczsKICAgICBzdHJ1Y3QgewogICAgICAgICBj
b25zdCBjaGFyKiB1c2VyQWdlbnQ7CkBAIC0yODQ3LDYgKzI4NDksOSBAQCB2b2lkIGV3a192aWV3
X2ZyYW1lX21haW5fY2xlYXJlZChFdmFzX09iamVjdCogZXdrVmlldykKICAgICBFV0tfVklFV19T
RF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSk7CiAgICAgRUlOQV9TQUZFVFlfT05f
TlVMTF9SRVRVUk4oc21hcnREYXRhLT5hcGktPmZsdXNoKTsKICAgICBzbWFydERhdGEtPmFwaS0+
Zmx1c2goc21hcnREYXRhKTsKKworICAgIGV3a192aWV3X21peGVkX2NvbnRlbnRfZGlzcGxheWVk
X3NldChld2tWaWV3LCBmYWxzZSk7CisgICAgZXdrX3ZpZXdfbWl4ZWRfY29udGVudF9ydW5fc2V0
KGV3a1ZpZXcsIGZhbHNlKTsKIH0KIAogLyoqCkBAIC0zODA0LDYgKzM4MDksMjAgQEAgRXdrX1Zp
ZXdfTW9kZSBld2tfdmlld19tb2RlX2dldChjb25zdCBFdmFzX09iamVjdCogZXdrVmlldykKICAg
ICByZXR1cm4gbW9kZTsKIH0KIAorRWluYV9Cb29sIGV3a192aWV3X21peGVkX2NvbnRlbnRfZGlz
cGxheWVkX2dldChjb25zdCBFdmFzX09iamVjdCogZXdrVmlldykKK3sKKyAgICBFV0tfVklFV19T
RF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwgZmFsc2UpOworICAgIEVXS19WSUVX
X1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYsIGZhbHNlKTsKKyAgICByZXR1cm4g
cHJpdi0+ZmxhZ3MuaGFzRGlzcGxheWVkTWl4ZWRDb250ZW50OworfQorCitFaW5hX0Jvb2wgZXdr
X3ZpZXdfbWl4ZWRfY29udGVudF9ydW5fZ2V0KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3KQor
eworICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhLCBmYWxz
ZSk7CisgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgcHJpdiwgZmFs
c2UpOworICAgIHJldHVybiBwcml2LT5mbGFncy5oYXNSdW5NaXhlZENvbnRlbnQ7Cit9CisKIC8q
KgogICogQGludGVybmFsCiAgKiBSZXBvcnRzIHRoZSB2aWV3IHRoYXQgZWRpdG9yIGNsaWVudCBz
ZWxlY3Rpb24gaGFzIGNoYW5nZWQuCkBAIC0zODMwLDYgKzM4NDksNTIgQEAgdm9pZCBld2tfdmll
d19lZGl0b3JfY2xpZW50X2NvbnRlbnRzX2NoYW5nZWQoRXZhc19PYmplY3QqIGV3a1ZpZXcpCiAg
ICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfY2FsbChld2tWaWV3LCAiZWRpdG9yY2xpZW50
LGNvbnRlbnRzLGNoYW5nZWQiLCAwKTsKIH0KIAorLyoqCisgKiBAaW50ZXJuYWwKKyAqIERlZmlu
ZXMgd2hldGhlciB0aGUgdmlldyBoYXMgZGlzcGxheWVkIG1peGVkIGNvbnRlbnQuCisgKgorICog
V2hlbiBhIHZpZXcgaGFzIGRpc3BsYXllZCBtaXhlZCBjb250ZW50LCBhbnkgb2YgaXRzIGZyYW1l
cyBoYXMgbG9hZGVkIGFuIEhUVFBTIFVSSQorICogd2hpY2ggaGFzIGl0c2VsZiBsb2FkZWQgYW5k
IGRpc3BsYXllZCBhIHJlc291cmNlIChzdWNoIGFzIGFuIGltYWdlKSBmcm9tIGFuIGluc2VjdXJl
LAorICogdGhhdCBpcywgbm9uLUhUVFBTLCBVUkkuCisgKgorICogQHBhcmFtIGhhc0Rpc3BsYXll
ZCBEbyBvciBkbyBub3QgY2xlYXIgdGhlIGZsYWcgZnJvbSB0aGUgdmlldy4KKyAqCisgKiBFbWl0
cyBzaWduYWw6ICJtaXhlZGNvbnRlbnQsZGlzcGxheWVkIiB3aXRoIG5vIHBhcmFtZXRlcnMgd2hl
biBAcCBoYXNEaXNwbGF5ZWQgaXMgQGMgdHJ1ZS4KKyAqLwordm9pZCBld2tfdmlld19taXhlZF9j
b250ZW50X2Rpc3BsYXllZF9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGJvb2wgaGFzRGlzcGxh
eWVkKQoreworICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRh
KTsKKyAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2KTsKKwor
ICAgIHByaXYtPmZsYWdzLmhhc0Rpc3BsYXllZE1peGVkQ29udGVudCA9IGhhc0Rpc3BsYXllZDsK
KworICAgIGlmIChoYXNEaXNwbGF5ZWQpCisgICAgICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxi
YWNrX2NhbGwoZXdrVmlldywgIm1peGVkY29udGVudCxkaXNwbGF5ZWQiLCAwKTsKK30KKworLyoq
CisgKiBAaW50ZXJuYWwKKyAqIERlZmluZXMgd2hldGhlciB0aGUgdmlldyBoYXMgcnVuIG1peGVk
IGNvbnRlbnQuCisgKgorICogV2hlbiBhIHZpZXcgaGFzIHJ1biBtaXhlZCBjb250ZW50LCBhbnkg
b2YgaXRzIGZyYW1lcyBoYXMgbG9hZGVkIGFuIEhUVFBTIFVSSQorICogd2hpY2ggaGFzIGl0c2Vs
ZiBsb2FkZWQgYW5kIHJ1biBhIHJlc291cmNlIChzdWNoIGFzIGEgc2NyaXB0KSBmcm9tIGFuIGlu
c2VjdXJlLAorICogdGhhdCBpcywgbm9uLUhUVFBTLCBVUkkuCisgKgorICogQHBhcmFtIGhhc1J1
biBEbyBvciBkbyBub3QgY2xlYXIgdGhlIGZsYWcgZnJvbSB0aGUgdmlldy4KKyAqCisgKiBFbWl0
cyBzaWduYWw6ICJtaXhlZGNvbnRlbnQscnVuIiB3aXRoIG5vIHBhcmFtZXRlcnMgd2hlbiBAcCBo
YXNSdW4gaXMgQGMgdHJ1ZS4KKyAqLwordm9pZCBld2tfdmlld19taXhlZF9jb250ZW50X3J1bl9z
ZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGJvb2wgaGFzUnVuKQoreworICAgIEVXS19WSUVXX1NE
X0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhKTsKKyAgICBFV0tfVklFV19QUklWX0dF
VF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2KTsKKworICAgIHByaXYtPmZsYWdzLmhhc1J1bk1p
eGVkQ29udGVudCA9IGhhc1J1bjsKKworICAgIGlmIChoYXNSdW4pCisgICAgICAgIGV2YXNfb2Jq
ZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwoZXdrVmlldywgIm1peGVkY29udGVudCxydW4iLCAwKTsK
K30KKwogRWluYV9Cb29sIGV3a192aWV3X3Zpc2liaWxpdHlfc3RhdGVfc2V0KEV2YXNfT2JqZWN0
KiBld2tWaWV3LCBFd2tfUGFnZV9WaXNpYmlsaXR5X1N0YXRlIHBhZ2VWaXNpYmxlU3RhdGUsIEVp
bmFfQm9vbCBpbml0aWFsU3RhdGUpCiB7CiAjaWYgRU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaCBiL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCmluZGV4IDAwYmQwMDJkZTRjZGU2NjBlZmMzMjZiODA3
OWU3NTk2YzhkMTM5NTcuLmU3M2M5OGYxMTk3MTE5ZDY3MDJkNzkyOGYzZTQ2MzFlN2YxMTdiOTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCkBAIC01OCw2ICs1OCw4IEBACiAgKiAgLSAibWVu
dWJhcix2aXNpYmxlLGdldCIsIEVpbmFfQm9vbCAqOiBleHBlY3RzIGEgQGMgRUlOQV9UUlVFIGlm
IG1lbnViYXIgaXMKICAqICAgIHZpc2libGU7IEBjIEVJTkFfRkFMU0UsIG90aGVyd2lzZS4KICAq
ICAtICJtZW51YmFyLHZpc2libGUsc2V0IiwgRWluYV9Cb29sOiBzZXRzIG1lbnViYXIgdmlzaWJp
bGl0eS4KKyAqICAtICJtaXhlZGNvbnRlbnQsZGlzcGxheWVkIiwgdm9pZDogYW55IG9mIHRoZSBj
b250YWluaW5nIGZyYW1lcyBoYXMgbG9hZGVkIGFuZCBkaXNwbGF5ZWQgbWl4ZWQgY29udGVudC4K
KyAqICAtICJtaXhlZGNvbnRlbnQscnVuIiwgdm9pZDogYW55IG9mIHRoZSBjb250YWluaW5nIGZy
YW1lcyBoYXMgbG9hZGVkIGFuZCBydW4gbWl4ZWQgY29udGVudC4KICAqICAtICJyZWFkeSIsIHZv
aWQ6IHBhZ2UgaXMgZnVsbHkgbG9hZGVkLgogICogIC0gInNjcm9sbGJhcnMsdmlzaWJsZSxnZXQi
LCBFaW5hX0Jvb2wgKjogZXhwZWN0cyBhIEBjIEVJTkFfVFJVRSBpZiBzY3JvbGxiYXJzCiAgKiAg
ICBhcmUgdmlzaWJsZTsgQGMgRUlOQV9GQUxTRSwgb3RoZXJ3aXNlLgpAQCAtMjI3Niw2ICsyMjc4
LDQwIEBAIEVBUEkgRWluYV9Cb29sIGV3a192aWV3X3Zpc2liaWxpdHlfc3RhdGVfc2V0KEV2YXNf
T2JqZWN0KiBvLCBFd2tfUGFnZV9WaXNpYmlsaXR5CiAgKi8KIEVBUEkgRXdrX1BhZ2VfVmlzaWJp
bGl0eV9TdGF0ZSBld2tfdmlld192aXNpYmlsaXR5X3N0YXRlX2dldChjb25zdCBFdmFzX09iamVj
dCAqbyk7CiAKKy8qKgorICogUmV0dXJucyB3aGV0aGVyIHRoZSB2aWV3IGhhcyBkaXNwbGF5ZWQg
bWl4ZWQgY29udGVudC4KKyAqCisgKiBXaGVuIGEgdmlldyBoYXMgZGlzcGxheWVkIG1peGVkIGNv
bnRlbnQsIGFueSBvZiBpdHMgZnJhbWVzIGhhcyBsb2FkZWQgYW4gSFRUUFMgVVJJCisgKiB3aGlj
aCBoYXMgaXRzZWxmIGxvYWRlZCBhbmQgZGlzcGxheWVkIGEgcmVzb3VyY2UgKHN1Y2ggYXMgYW4g
aW1hZ2UpIGZyb20gYW4gaW5zZWN1cmUsCisgKiB0aGF0IGlzLCBub24tSFRUUFMsIFVSSS4KKyAq
CisgKiBUaGUgc3RhdHVzIGlzIHJlc2V0IG9ubHkgd2hlbiBhIGxvYWQgZXZlbnQgb2NjdXJzIChl
Zy4gdGhlIHBhZ2UgaXMgcmVsb2FkZWQgb3IgYSBuZXcgcGFnZSBpcyBsb2FkZWQpLgorICoKKyAq
IFdoZW4gb25lIG9mIHRoZSBjb250YWluaW5nIGZyYW1lcyBkaXNwbGF5cyBtaXhlZCBjb250ZW50
LCB0aGUgdmlldyBlbWl0cyB0aGUgIm1peGVkY29udGVudCxkaXNwbGF5ZWQiIHNpZ25hbC4KKyAq
CisgKiBAcGFyYW0gbyBUaGUgdmlldyB0byBxdWVyeS4KKyAqCisgKiBAc2EgZXdrX2ZyYW1lX21p
eGVkX2NvbnRlbnRfZGlzcGxheWVkX2dldAorICovCitFQVBJIEVpbmFfQm9vbCBld2tfdmlld19t
aXhlZF9jb250ZW50X2Rpc3BsYXllZF9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOworCisvKioK
KyAqIFJldHVybnMgd2hldGhlciB0aGUgdmlldyBoYXMgcnVuIG1peGVkIGNvbnRlbnQuCisgKgor
ICogV2hlbiBhIHZpZXcgaGFzIHJ1biBtaXhlZCBjb250ZW50LCBhbnkgb2YgaXRzIGZyYW1lcyBo
YXMgbG9hZGVkIGFuIEhUVFBTIFVSSQorICogd2hpY2ggaGFzIGl0c2VsZiBsb2FkZWQgYW5kIHJ1
biBhIHJlc291cmNlIChzdWNoIGFzIGFuIGltYWdlKSBmcm9tIGFuIGluc2VjdXJlLAorICogdGhh
dCBpcywgbm9uLUhUVFBTLCBVUkkuCisgKgorICogVGhlIHN0YXR1cyBpcyByZXNldCBvbmx5IHdo
ZW4gYSBsb2FkIGV2ZW50IG9jY3VycyAoZWcuIHRoZSBwYWdlIGlzIHJlbG9hZGVkIG9yIGEgbmV3
IHBhZ2UgaXMgbG9hZGVkKS4KKyAqCisgKiBXaGVuIG9uZSBvZiB0aGUgY29udGFpbmluZyBmcmFt
ZXMgcnVucyBtaXhlZCBjb250ZW50LCB0aGUgdmlldyBlbWl0cyB0aGUgIm1peGVkY29udGVudCxy
dW4iIHNpZ25hbC4KKyAqCisgKiBAcGFyYW0gbyBUaGUgdmlldyB0byBxdWVyeS4KKyAqCisgKiBA
c2EgZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRfcnVuX2dldAorICovCitFQVBJIEVpbmFfQm9vbCBl
d2tfdmlld19taXhlZF9jb250ZW50X3J1bl9nZXQoY29uc3QgRXZhc19PYmplY3QgKm8pOworCiAj
aWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>