<?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>116601</bug_id>
          
          <creation_ts>2013-05-22 02:33:29 -0700</creation_ts>
          <short_desc>[EFL][WK2] Fix test_ewk2_context_menu</short_desc>
          <delta_ts>2013-06-11 01:35:58 -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>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>
          <dependson>116830</dependson>
    
    <dependson>117298</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michal Pakula vel Rutka">mpakulavelrutka</reporter>
          <assigned_to name="Michal Pakula vel Rutka">mpakulavelrutka</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>892192</commentid>
    <comment_count>0</comment_count>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-05-22 02:33:29 -0700</bug_when>
    <thetext>test_ewk2_context_menu is always passing, it does not test any context menu feature as it ends before context menu is called.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894042</commentid>
    <comment_count>1</comment_count>
      <attachid>202988</attachid>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-05-27 08:28:59 -0700</bug_when>
    <thetext>Created attachment 202988
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898061</commentid>
    <comment_count>2</comment_count>
      <attachid>204013</attachid>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-06-07 01:48:02 -0700</bug_when>
    <thetext>Created attachment 204013
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898083</commentid>
    <comment_count>3</comment_count>
      <attachid>204013</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2013-06-07 03:02:42 -0700</bug_when>
    <thetext>Comment on attachment 204013
patch

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

&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:227
&gt; +bool EWK2UnitTestBase::waitUntilTrue(bool &amp;flag, double timeoutSeconds)

flag doesn&apos;t need to be passed as a reference, the method doesn&apos;t change it.

&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:53
&gt; +    bool waitUntilTrue(bool &amp;flag, double timeoutSeconds = defaultTimeoutSeconds);

timeoutSeconds -&gt; timeoutInSeconds ?
defaultTimeoutSeconds -&gt; defaultTimeoutInSeconds ? ( I don&apos;t think the reviewers will be against of changing it even if this patch doesn&apos;t introduce it)

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:33
&gt; +static const int customItemTag = EWK_CONTEXT_MENU_ITEM_BASE_APPLICATION_TAG;

It seems that it&apos;s always converted to Ewk_Context_Menu_Item_Action. Wouldn&apos;t be better to define it as Ewk_Context_Menu_Item_Action?

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:76
&gt; +    ewk_context_menu_item_title_set(item, &quot;Copy Link&quot;);

It&apos;d be nice to define all those item titles somewhere.

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:88
&gt; +

Could you add short note what the callback tests?

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:120
&gt; +

Ditto.

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:161
&gt;      return true;

return testFinished;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898087</commentid>
    <comment_count>4</comment_count>
      <attachid>204013</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2013-06-07 03:13:03 -0700</bug_when>
    <thetext>Comment on attachment 204013
patch

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

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:227
&gt;&gt; +bool EWK2UnitTestBase::waitUntilTrue(bool &amp;flag, double timeoutSeconds)
&gt; 
&gt; flag doesn&apos;t need to be passed as a reference, the method doesn&apos;t change it.

Please skip this comment. I missed that it&apos;s changed somewhere else.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898092</commentid>
    <comment_count>5</comment_count>
      <attachid>204013</attachid>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-06-07 03:32:01 -0700</bug_when>
    <thetext>Comment on attachment 204013
patch

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

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:53
&gt;&gt; +    bool waitUntilTrue(bool &amp;flag, double timeoutSeconds = defaultTimeoutSeconds);
&gt; 
&gt; timeoutSeconds -&gt; timeoutInSeconds ?
&gt; defaultTimeoutSeconds -&gt; defaultTimeoutInSeconds ? ( I don&apos;t think the reviewers will be against of changing it even if this patch doesn&apos;t introduce it)

defaultTimeoutSeconds and timeoutSeconds are used in several places in this file, I would rather change the names in separate patch

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:33
&gt;&gt; +static const int customItemTag = EWK_CONTEXT_MENU_ITEM_BASE_APPLICATION_TAG;
&gt; 
&gt; It seems that it&apos;s always converted to Ewk_Context_Menu_Item_Action. Wouldn&apos;t be better to define it as Ewk_Context_Menu_Item_Action?

done

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:76
&gt;&gt; +    ewk_context_menu_item_title_set(item, &quot;Copy Link&quot;);
&gt; 
&gt; It&apos;d be nice to define all those item titles somewhere.

done

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:88
&gt;&gt; +
&gt; 
&gt; Could you add short note what the callback tests?

done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898137</commentid>
    <comment_count>6</comment_count>
      <attachid>204034</attachid>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-06-07 05:56:19 -0700</bug_when>
    <thetext>Created attachment 204034
fixes after review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898591</commentid>
    <comment_count>7</comment_count>
      <attachid>204034</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-06-10 02:38:45 -0700</bug_when>
    <thetext>Comment on attachment 204034
fixes after review

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

LGTM. I&apos;ll let Gyuyoung take a look.

&gt; Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:227
&gt; +bool EWK2UnitTestBase::waitUntilTrue(bool &amp;flag, double timeoutSeconds)

Nice addition.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898964</commentid>
    <comment_count>8</comment_count>
      <attachid>204034</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-06-10 18:49:59 -0700</bug_when>
    <thetext>Comment on attachment 204034
fixes after review

Looks nice as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>899092</commentid>
    <comment_count>9</comment_count>
      <attachid>204034</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-11 01:35:54 -0700</bug_when>
    <thetext>Comment on attachment 204034
fixes after review

Clearing flags on attachment: 204034

Committed r151428: &lt;http://trac.webkit.org/changeset/151428&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>899093</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-11 01:35:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202988</attachid>
            <date>2013-05-27 08:28:59 -0700</date>
            <delta_ts>2013-06-07 01:48:02 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>test_ewk2_context_menu.diff</filename>
            <type>text/plain</type>
            <size>12459</size>
            <attacher name="Michal Pakula vel Rutka">mpakulavelrutka</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAxMWZhMWM4Li43N2I4MzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDI4ICsxLDIw
IEBACiAyMDEzLTA1LTI3ICBNaWNoYcWCIFBha3XFgmEgdmVsIFJ1dGthICA8bS5wYWt1bGFAc2Ft
c3VuZy5jb20+CiAKLSAgICAgICAgW0VGTF1bV0syXSBGaXggaW4gY29udGV4dCBtZW51IGN1c3Rv
bSBpdGVtcwotICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTIzNDU2OAorICAgICAgICBbRUZMXVtXSzJdIEZpeCB0ZXN0X2V3azJfY29udGV4dF9tZW51Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTY2MDEKIAog
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAotICAgICAgICBDdXN0b20gY29u
dGV4dCBtZW51IGVsZW1lbnRzIGltcGxlbWVudGF0aW9uIHNob3VsZCBiZSBpbXByb3ZlZDoKLSAg
ICAgICAgLSBhcHBlbmRlZCBjdXN0b20gY29udGV4dCBtZW51IGl0ZW1zIHNob3VsZCBoYXZlIHBh
cmVudCBtZW51LCBhbmQgYXBwZW5kZWQgc3VibWVudSB0eXBlIHNob3VsZCBoYXZlIGEgcG9pbnRl
ciB0byBFd2tWaWV3Ci0gICAgICAgIC0gc3ViIG1lbnUgaXRlbSBzaG91bGQgYmUgY3JlYXRlZCBv
bmx5IHVzaW5nIGV3a19jb250ZXh0X21lbnVfaXRlbV9uZXdfd2l0aF9zdWJtZW51CisgICAgICAg
IHRlc3RfZXdrMl9jb250ZXh0X21lbnUgaXMgYWx3YXlzIHBhc3NpbmcsIGl0IGRvZXMgbm90IHRl
c3QgYW55IGNvbnRleHQgbWVudSBmZWF0dXJlCisgICAgICAgIGFzIGl0IGVuZHMgYmVmb3JlIGNv
bnRleHQgbWVudSBpcyBjYWxsZWQuCisgICAgICAgIEFsc28gb25lIHNpbmdsZSB0ZXN0IHdhcyBk
aXZpZGVkIGludG8gdGhyZWUgdGVzdHMgYW5kIG9uZSB0ZXN0IGNhc2Ugd2FzIGFkZGVkOgorICAg
ICAgICBzZWxlY3RpbmcgYW4gaXRlbSBhZGRlZCB0byBjdXN0b20gbWFkZSBzdWIgbWVudS4KIAot
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnUuY3BwOgotICAgICAg
ICAoRXdrQ29udGV4dE1lbnU6OmFwcGVuZEl0ZW0pOgotICAgICAgICAoRXdrQ29udGV4dE1lbnU6
OmNvbnRleHRNZW51SXRlbVNlbGVjdGVkKTogYWRkZWQgZ3VhcmQgdG8gY2hlY2sgaWYgbWVudSBo
YXMgYSBwb2ludGVyIHRvIEV3a1ZpZXcKLSAgICAgICAgKGV3a19jb250ZXh0X21lbnVfaXRlbV9z
ZWxlY3QpOgotICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRl
bS5jcHA6Ci0gICAgICAgIChld2tfY29udGV4dF9tZW51X2l0ZW1fbmV3KTogRVdLX1NVQk1FTlVf
VFlQRSBjYW5ub3QgYmUgY3JlYXRlZCB1c2luZyB0aGlzIGZ1bmN0aW9uCi0gICAgICAgIChld2tf
Y29udGV4dF9tZW51X2l0ZW1fbmV3X3dpdGhfc3VibWVudSk6IHJlbW92ZWQgdW5uZWNlc3Nhcnkg
cGFyYW1ldGVycyAoc3ViIG1lbnUgY2Fubm90IGJlIGNoZWNrZWQgYW5kIHNob3VsZCBiZSBFV0tf
U1VCTUVOVV9UWVBFKQotICAgICAgICAoZXdrX2NvbnRleHRfbWVudV9pdGVtX3R5cGVfc2V0KTog
aXRlbSdzIHR5cGUgY2Fubm90IGJlIHNldCB0byBFV0tfU1VCTUVOVV9UWVBFCi0gICAgICAgICog
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmg6Ci0gICAgICAgICogVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9wcml2YXRlLmg6IHVwZGF0ZWQgZG9jdW1l
bnRhdGlvbgotICAgICAgICAoRXdrQ29udGV4dE1lbnUpOgotICAgICAgICAoRXdrQ29udGV4dE1l
bnU6OnNldEV3a1ZpZXcpOgogICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3Rf
ZXdrMl9jb250ZXh0X21lbnUuY3BwOgotICAgICAgICAoc2hvd0NvbnRleHRNZW51KToKKyAgICAg
ICAgKHNob3dDb250ZXh0TWVudSk6IHRlc3RzIFdlYktpdCBjb250ZXh0IG1lbnUKKyAgICAgICAg
KHNob3dDb250ZXh0TWVudUZvckFwcGVuZCk6IHRlc3RzIGN1c3RvbSBtYWRlIGNvbnRleHQgbWVu
dSBpdGVtCisgICAgICAgIChzaG93Q29udGV4dE1lbnVGb3JTdWJtZW51KTogdGVzdHMgY3VzdG9t
IG1hZGUgc3ViIG1lbnVzCisgICAgICAgIChURVNUX0YpOgogCiAyMDEzLTA1LTI3ICBDYXJsb3Mg
R2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2NvbnRleHRfbWVudS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29u
dGV4dF9tZW51LmNwcAppbmRleCA3NjEyNTJhLi4zMTQzYWMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29udGV4dF9tZW51LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJf
Y29udGV4dF9tZW51LmNwcApAQCAtMzgsMzQgKzM4LDU0IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBj
aGVja0Jhc2ljQ29udGV4dE1lbnVJdGVtKEV3a19Db250ZXh0X01lbnVfSXRlbSogaXRlbSwgRXdr
X0NvCiAgICAgRVhQRUNUX0VRKGVuYWJsZWQsIGV3a19jb250ZXh0X21lbnVfaXRlbV9lbmFibGVk
X2dldChpdGVtKSk7CiB9CiAKLXN0YXRpYyBFaW5hX0Jvb2wgc2hvd0NvbnRleHRNZW51KEV3a19W
aWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0YSwgRXZhc19Db29yZCB4LCBFdmFzX0Nvb3JkIHksIEV3
a19Db250ZXh0X01lbnUqIGNvbnRleHRNZW51KQorc3RhdGljIEVpbmFfQm9vbCBzaG93Q29udGV4
dE1lbnUoRXdrX1ZpZXdfU21hcnRfRGF0YSosIEV2YXNfQ29vcmQsIEV2YXNfQ29vcmQsIEV3a19D
b250ZXh0X01lbnUqIGNvbnRleHRNZW51KQogewogICAgIGNvbnN0IEVpbmFfTGlzdCogbGlzdCA9
IGV3a19jb250ZXh0X21lbnVfaXRlbXNfZ2V0KGNvbnRleHRNZW51KTsKICAgICBFWFBFQ1RfRVEo
NCwgZWluYV9saXN0X2NvdW50KGxpc3QpKTsKIAogICAgIEV3a19Db250ZXh0X01lbnVfSXRlbSog
aXRlbSA9IHN0YXRpY19jYXN0PEV3a19Db250ZXh0X01lbnVfSXRlbSo+KGVpbmFfbGlzdF9udGgo
bGlzdCwgMCkpOwotICAgIGNoZWNrQmFzaWNDb250ZXh0TWVudUl0ZW0oaXRlbSwgRVdLX0FDVElP
Tl9UWVBFLCBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0dPX0JBQ0ssICJHbyBCYWNrIiwgZmFs
c2UsIHRydWUpOwotCi0gICAgLy8gV2hlbiBjb250ZXh0IG1lbnUgaXMgY3JlYXRlZCBieSBXZWJL
aXQsIGFuIGl0ZW0gc2hvdWxkIGhhdmUgcGFyZW50IG1lbnUuCi0gICAgRVhQRUNUX0VRKGNvbnRl
eHRNZW51LCBld2tfY29udGV4dF9tZW51X2l0ZW1fcGFyZW50X21lbnVfZ2V0KGl0ZW0pKTsKKyAg
ICBjaGVja0Jhc2ljQ29udGV4dE1lbnVJdGVtKGl0ZW0sIEVXS19BQ1RJT05fVFlQRSwgRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0xJTkssICJPcGVuIExpbmsiLCBmYWxzZSwgdHJ1ZSk7
CiAKICAgICBpdGVtID0gc3RhdGljX2Nhc3Q8RXdrX0NvbnRleHRfTWVudV9JdGVtKj4oZWluYV9s
aXN0X250aChsaXN0LCAxKSk7Ci0gICAgY2hlY2tCYXNpY0NvbnRleHRNZW51SXRlbShpdGVtLCBF
V0tfQUNUSU9OX1RZUEUsIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfR09fRk9SV0FSRCwgIkdv
IEZvcndhcmQiLCBmYWxzZSwgdHJ1ZSk7CisgICAgY2hlY2tCYXNpY0NvbnRleHRNZW51SXRlbShp
dGVtLCBFV0tfQUNUSU9OX1RZUEUsIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9MSU5L
X0lOX05FV19XSU5ET1csICJPcGVuIExpbmsgaW4gTmV3IFdpbmRvdyIsIGZhbHNlLCB0cnVlKTsK
ICAgICBld2tfY29udGV4dF9tZW51X2l0ZW1fZW5hYmxlZF9zZXQoaXRlbSwgZmFsc2UpOwogICAg
IEVYUEVDVF9GQUxTRShld2tfY29udGV4dF9tZW51X2l0ZW1fZW5hYmxlZF9nZXQoaXRlbSkpOwog
CiAgICAgaXRlbSA9IHN0YXRpY19jYXN0PEV3a19Db250ZXh0X01lbnVfSXRlbSo+KGVpbmFfbGlz
dF9udGgobGlzdCwgMikpOwotICAgIGNoZWNrQmFzaWNDb250ZXh0TWVudUl0ZW0oaXRlbSwgRVdL
X0FDVElPTl9UWVBFLCBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NUT1AsICJTdG9wIiwgZmFs
c2UsIHRydWUpOworICAgIGNoZWNrQmFzaWNDb250ZXh0TWVudUl0ZW0oaXRlbSwgRVdLX0FDVElP
Tl9UWVBFLCBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0RPV05MT0FEX0xJTktfVE9fRElTSywg
IkRvd25sb2FkIExpbmtlZCBGaWxlIiwgZmFsc2UsIHRydWUpOwogICAgIGV3a19jb250ZXh0X21l
bnVfaXRlbV9jaGVja2VkX3NldChpdGVtLCB0cnVlKTsKICAgICBFWFBFQ1RfVFJVRShld2tfY29u
dGV4dF9tZW51X2l0ZW1fY2hlY2tlZF9nZXQoaXRlbSkpOwogCiAgICAgaXRlbSA9IHN0YXRpY19j
YXN0PEV3a19Db250ZXh0X01lbnVfSXRlbSo+KGVpbmFfbGlzdF9udGgobGlzdCwgMykpOwotICAg
IGNoZWNrQmFzaWNDb250ZXh0TWVudUl0ZW0oaXRlbSwgRVdLX0FDVElPTl9UWVBFLCBFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX1JFTE9BRCwgIlJlbG9hZCIsIGZhbHNlLCB0cnVlKTsKLSAgICBl
d2tfY29udGV4dF9tZW51X2l0ZW1fdGl0bGVfc2V0KGl0ZW0sICJSZWZyZXNoIik7Ci0gICAgRVhQ
RUNUX1NUUkVRKCJSZWZyZXNoIiwgZXdrX2NvbnRleHRfbWVudV9pdGVtX3RpdGxlX2dldChpdGVt
KSk7CisgICAgY2hlY2tCYXNpY0NvbnRleHRNZW51SXRlbShpdGVtLCBFV0tfQUNUSU9OX1RZUEUs
IEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9MSU5LX1RPX0NMSVBCT0FSRCwgIkNvcHkg
TGluayBMb2NhdGlvbiIsIGZhbHNlLCB0cnVlKTsKKyAgICBld2tfY29udGV4dF9tZW51X2l0ZW1f
dGl0bGVfc2V0KGl0ZW0sICJDb3B5IExpbmsiKTsKKyAgICBFWFBFQ1RfU1RSRVEoIkNvcHkgTGlu
ayIsIGV3a19jb250ZXh0X21lbnVfaXRlbV90aXRsZV9nZXQoaXRlbSkpOworCisgICAgLy8gV2hl
biBjb250ZXh0IG1lbnUgaXMgY3JlYXRlZCBieSBXZWJLaXQsIGFuIGl0ZW0gc2hvdWxkIGhhdmUg
cGFyZW50IG1lbnUuCisgICAgRVhQRUNUX0VRKGNvbnRleHRNZW51LCBld2tfY29udGV4dF9tZW51
X2l0ZW1fcGFyZW50X21lbnVfZ2V0KGl0ZW0pKTsKKworICAgIGl0ZW0gPSBzdGF0aWNfY2FzdDxF
d2tfQ29udGV4dF9NZW51X0l0ZW0qPihlaW5hX2xpc3RfbnRoKGxpc3QsIDApKTsKKworICAgIEVY
UEVDVF9UUlVFKGV3a19jb250ZXh0X21lbnVfaXRlbV9zZWxlY3QoY29udGV4dE1lbnUsIGl0ZW0p
KTsKKworICAgIHJldHVybiB0cnVlOworfQorCitzdGF0aWMgRWluYV9Cb29sIHNob3dDb250ZXh0
TWVudUZvclJlbW92ZUFuZEFwcGVuZChFd2tfVmlld19TbWFydF9EYXRhKiwgRXZhc19Db29yZCwg
RXZhc19Db29yZCwgRXdrX0NvbnRleHRfTWVudSogY29udGV4dE1lbnUpCit7CisgICAgY29uc3Qg
RWluYV9MaXN0KiBsaXN0ID0gZXdrX2NvbnRleHRfbWVudV9pdGVtc19nZXQoY29udGV4dE1lbnUp
OworICAgIEVYUEVDVF9FUSg0LCBlaW5hX2xpc3RfY291bnQobGlzdCkpOworCisgICAgY29uc3Qg
RWluYV9MaXN0KiBsaXN0SXRlcmF0b3I7CisgICAgdm9pZCogZGF0YTsKKyAgICBFSU5BX0xJU1Rf
Rk9SRUFDSChsaXN0LCBsaXN0SXRlcmF0b3IsIGRhdGEpCisgICAgICAgIGV3a19jb250ZXh0X21l
bnVfaXRlbV9yZW1vdmUoY29udGV4dE1lbnUsIHN0YXRpY19jYXN0PEV3a19Db250ZXh0X01lbnVf
SXRlbSo+KGRhdGEpKTsKKworICAgIGxpc3QgPSBld2tfY29udGV4dF9tZW51X2l0ZW1zX2dldChj
b250ZXh0TWVudSk7CisgICAgRVhQRUNUX0VRKDAsIGVpbmFfbGlzdF9jb3VudChsaXN0KSk7CisK
KyAgICBFd2tfQ29udGV4dF9NZW51X0l0ZW0qIG5ld0l0ZW0gPSBld2tfY29udGV4dF9tZW51X2l0
ZW1fbmV3KEVXS19BQ1RJT05fVFlQRSwgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19SRUxPQUQs
ICJOZXcgQ3VzdG9tIEl0ZW0iLCBmYWxzZSwgdHJ1ZSk7CiAKLSAgICAvLyBNYWtlcyBuZXcgY29u
dGV4dCBtZW51IGl0ZW1zLgotICAgIEV3a19Db250ZXh0X01lbnVfSXRlbSogbmV3SXRlbSA9IGV3
a19jb250ZXh0X21lbnVfaXRlbV9uZXcoRVdLX0FDVElPTl9UWVBFLCBFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX09USEVSLCAiTmV3IEN1c3RvbSBJdGVtIiwgZmFsc2UsIHRydWUpOwogICAgIC8v
IFdoZW4gY29udGV4dCBtZW51IGl0ZW0gaXMgY3JlYXRlZCB1c2luZyBld2tfY29udGV4dF9tZW51
X2l0ZW1fbmV3LCBpdCBzaG91bGQgbm90IGhhdmUgcGFyZW50IG1lbnUuCiAgICAgRVhQRUNUX0VR
KDAsIGV3a19jb250ZXh0X21lbnVfaXRlbV9wYXJlbnRfbWVudV9nZXQobmV3SXRlbSkpOwogICAg
IGV3a19jb250ZXh0X21lbnVfaXRlbV9hcHBlbmQoY29udGV4dE1lbnUsIG5ld0l0ZW0pOwpAQCAt
NzMsMTMgKzkzLDIwIEBAIHN0YXRpYyBFaW5hX0Jvb2wgc2hvd0NvbnRleHRNZW51KEV3a19WaWV3
X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0YSwgRXZhc19Db29yZCB4LCBFCiAgICAgLy8gV2hlbiBjb250
ZXh0IG1lbnUgaXRlbSBpcyBhZGRlZCB0byBtZW51IHVzaW5nIGV3a19jb250ZXh0X21lbnVfaXRl
bV9hcHBlbmQsIGl0IHNob3VsZCBoYXZlIHBhcmVudCBtZW51LgogICAgIEVYUEVDVF9FUShjb250
ZXh0TWVudSwgZXdrX2NvbnRleHRfbWVudV9pdGVtX3BhcmVudF9tZW51X2dldChuZXdJdGVtKSk7
CiAKLSAgICAvLyBXaGVuIGNvbnRleHQgbWVudSBpdGVtIHdhcyBjcmVhdGVkIHVzaW5nIGV3a19j
b250ZXh0X21lbnVfaXRlbV9uZXcsIHN1Ym1lbnUgc2hvdWxkIGJlIDAuCisgICAgLy8gV2hlbiBu
b24gc3VibWVudSB0eXBlIGNvbnRleHQgbWVudSBpdGVtIHdhcyBjcmVhdGVkIHVzaW5nIGV3a19j
b250ZXh0X21lbnVfaXRlbV9uZXcsIHN1Ym1lbnUgc2hvdWxkIGJlIDAuCiAgICAgRVhQRUNUX0VR
KDAsIGV3a19jb250ZXh0X21lbnVfaXRlbV9zdWJtZW51X2dldChuZXdJdGVtKSk7CiAKKyAgICBF
WFBFQ1RfVFJVRShld2tfY29udGV4dF9tZW51X2l0ZW1fc2VsZWN0KGNvbnRleHRNZW51LCBuZXdJ
dGVtKSk7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworc3RhdGljIEVpbmFfQm9vbCBzaG93Q29u
dGV4dE1lbnVGb3JTdWJtZW51KEV3a19WaWV3X1NtYXJ0X0RhdGEqLCBFdmFzX0Nvb3JkLCBFdmFz
X0Nvb3JkLCBFd2tfQ29udGV4dF9NZW51KiBjb250ZXh0TWVudSkKK3sKICAgICBFaW5hX0xpc3Qq
IHN1Yk1lbnVJdGVtTGlzdCA9IDA7Ci0gICAgRXdrX0NvbnRleHRfTWVudV9JdGVtKiBzdWJNZW51
SXRlbTEgPSBld2tfY29udGV4dF9tZW51X2l0ZW1fbmV3KEVXS19BQ1RJT05fVFlQRSwgRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19PVEhFUiwgIk5ldyBTdWJNZW51IEl0ZW0gMSIsIGZhbHNlLCB0
cnVlKTsKLSAgICBFd2tfQ29udGV4dF9NZW51X0l0ZW0qIHN1Yk1lbnVJdGVtMiA9IGV3a19jb250
ZXh0X21lbnVfaXRlbV9uZXcoRVdLX0FDVElPTl9UWVBFLCBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX09USEVSLCAiTmV3IFN1Yk1lbnUgSXRlbSAyIiwgZmFsc2UsIHRydWUpOwotICAgIEV3a19D
b250ZXh0X01lbnVfSXRlbSogc3ViTWVudUl0ZW0zID0gZXdrX2NvbnRleHRfbWVudV9pdGVtX25l
dyhFV0tfQUNUSU9OX1RZUEUsIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1RIRVIsICJOZXcg
U3ViTWVudSBJdGVtIDMiLCBmYWxzZSwgdHJ1ZSk7CisgICAgRXdrX0NvbnRleHRfTWVudV9JdGVt
KiBzdWJNZW51SXRlbTEgPSBld2tfY29udGV4dF9tZW51X2l0ZW1fbmV3KEVXS19BQ1RJT05fVFlQ
RSwgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19SRUxPQUQsICJOZXcgU3ViTWVudSBJdGVtIDEi
LCBmYWxzZSwgdHJ1ZSk7CisgICAgRXdrX0NvbnRleHRfTWVudV9JdGVtKiBzdWJNZW51SXRlbTIg
PSBld2tfY29udGV4dF9tZW51X2l0ZW1fbmV3KEVXS19BQ1RJT05fVFlQRSwgRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX0JBU0VfQVBQTElDQVRJT05fVEFHLCAiTmV3IFN1Yk1lbnUgSXRlbSAyIiwgZmFs
c2UsIHRydWUpOworICAgIEV3a19Db250ZXh0X01lbnVfSXRlbSogc3ViTWVudUl0ZW0zID0gZXdr
X2NvbnRleHRfbWVudV9pdGVtX25ldyhFV0tfQUNUSU9OX1RZUEUsIEVXS19DT05URVhUX01FTlVf
SVRFTV9CQVNFX0FQUExJQ0FUSU9OX1RBRywgIk5ldyBTdWJNZW51IEl0ZW0gMyIsIGZhbHNlLCB0
cnVlKTsKICAgICBzdWJNZW51SXRlbUxpc3QgPSBlaW5hX2xpc3RfYXBwZW5kKHN1Yk1lbnVJdGVt
TGlzdCwgc3ViTWVudUl0ZW0xKTsKICAgICBzdWJNZW51SXRlbUxpc3QgPSBlaW5hX2xpc3RfYXBw
ZW5kKHN1Yk1lbnVJdGVtTGlzdCwgc3ViTWVudUl0ZW0yKTsKICAgICBzdWJNZW51SXRlbUxpc3Qg
PSBlaW5hX2xpc3RfYXBwZW5kKHN1Yk1lbnVJdGVtTGlzdCwgc3ViTWVudUl0ZW0zKTsKQEAgLTg4
LDMxICsxMTUsMjIgQEAgc3RhdGljIEVpbmFfQm9vbCBzaG93Q29udGV4dE1lbnUoRXdrX1ZpZXdf
U21hcnRfRGF0YSogc21hcnREYXRhLCBFdmFzX0Nvb3JkIHgsIEUKICAgICAvLyBXaGVuIGNvbnRl
eHQgbWVudSBpcyBjcmVhdGVkIHVzaW5nIGV3a19jb250ZXh0X21lbnVfbmV3X3dpdGhfaXRlbXMs
IGl0ZW1zIHNob3VsZCBoYXZlIHBhcmVudCBtZW51LgogICAgIEVYUEVDVF9FUShzdWJNZW51LCBl
d2tfY29udGV4dF9tZW51X2l0ZW1fcGFyZW50X21lbnVfZ2V0KHN1Yk1lbnVJdGVtMSkpOwogCi0g
ICAgRXdrX0NvbnRleHRfTWVudV9JdGVtKiBuZXdJdGVtMiA9IGV3a19jb250ZXh0X21lbnVfaXRl
bV9uZXdfd2l0aF9zdWJtZW51KEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1RIRVIsICJOZXcg
Q3VzdG9tIEl0ZW0gMiIsIHRydWUsIHN1Yk1lbnUpOworICAgIEV3a19Db250ZXh0X01lbnVfSXRl
bSogbmV3SXRlbSA9IGV3a19jb250ZXh0X21lbnVfaXRlbV9uZXdfd2l0aF9zdWJtZW51KEVXS19D
T05URVhUX01FTlVfSVRFTV9CQVNFX0FQUExJQ0FUSU9OX1RBRywgIk5ldyBDdXN0b20gSXRlbSIs
IHRydWUsIHN1Yk1lbnUpOwogICAgIC8vIFdoZW4gY29udGV4dCBtZW51IGl0ZW0gaXMgY3JlYXRl
ZCB1c2luZyBld2tfY29udGV4dF9tZW51X2l0ZW1fbmV3X3dpdGhfc3VibWVudSwgaXQgc2hvdWxk
IG5vdCBoYXZlIHBhcmVudCBtZW51LgogICAgIEVYUEVDVF9FUSgwLCBld2tfY29udGV4dF9tZW51
X2l0ZW1fcGFyZW50X21lbnVfZ2V0KG5ld0l0ZW0pKTsKLSAgICBld2tfY29udGV4dF9tZW51X2l0
ZW1fYXBwZW5kKGNvbnRleHRNZW51LCBuZXdJdGVtMik7CisgICAgZXdrX2NvbnRleHRfbWVudV9p
dGVtX2FwcGVuZChjb250ZXh0TWVudSwgbmV3SXRlbSk7CiAKICAgICAvLyBDb250ZXh0IG1lbnUg
cmVjZWl2ZWQgZnJvbSBld2tfY29udGV4dF9tZW51X2l0ZW1fc3VibWVudV9nZXQgc2hvdWxkIGJl
IHRoZSBzYW1lIGFzIG9uZSB1c2VkIHRvIGNyZWF0ZSBzdWIgbWVudS4KLSAgICBFWFBFQ1RfRVEo
c3ViTWVudSwgZXdrX2NvbnRleHRfbWVudV9pdGVtX3N1Ym1lbnVfZ2V0KG5ld0l0ZW0yKSk7Cisg
ICAgRVhQRUNUX0VRKHN1Yk1lbnUsIGV3a19jb250ZXh0X21lbnVfaXRlbV9zdWJtZW51X2dldChu
ZXdJdGVtKSk7CiAKICAgICAvLyBXaGVuIGNvbnRleHQgbWVudSBpdGVtIGlzIGNyZWF0ZWQgdXNp
bmcgZXdrX2NvbnRleHRfbWVudV9pdGVtX25ld193aXRoX3N1Ym1lbnUgYW5kIGFkZGVkIHVzaW5n
IGV3a19jb250ZXh0X21lbnVfaXRlbV9hcHBlbmQgaXQgc2hvdWxkIGhhdmUgcGFyZW50IG1lbnUu
CiAgICAgRVhQRUNUX0VRKGNvbnRleHRNZW51LCBld2tfY29udGV4dF9tZW51X2l0ZW1fcGFyZW50
X21lbnVfZ2V0KG5ld0l0ZW0pKTsKIAogICAgIEV3a19Db250ZXh0X01lbnUqIHN1Yk1lbnUyID0g
ZXdrX2NvbnRleHRfbWVudV9uZXcoKTsKLSAgICBFd2tfQ29udGV4dF9NZW51X0l0ZW0qIG5ld0l0
ZW0zID0gZXdrX2NvbnRleHRfbWVudV9pdGVtX25ld193aXRoX3N1Ym1lbnUoRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19PVEhFUiwgIk5ldyBDdXN0b20gSXRlbSAzIiwgdHJ1ZSwgc3ViTWVudTIp
OwotICAgIGV3a19jb250ZXh0X21lbnVfaXRlbV9hcHBlbmQoY29udGV4dE1lbnUsIG5ld0l0ZW0z
KTsKLQotICAgIGxpc3QgPSBld2tfY29udGV4dF9tZW51X2l0ZW1zX2dldChjb250ZXh0TWVudSk7
Ci0gICAgRVhQRUNUX0VRKDcsIGVpbmFfbGlzdF9jb3VudChsaXN0KSk7CisgICAgRXdrX0NvbnRl
eHRfTWVudV9JdGVtKiBuZXdJdGVtMiA9IGV3a19jb250ZXh0X21lbnVfaXRlbV9uZXdfd2l0aF9z
dWJtZW51KEVXS19DT05URVhUX01FTlVfSVRFTV9CQVNFX0FQUExJQ0FUSU9OX1RBRywgIk5ldyBD
dXN0b20gSXRlbSAyIiwgdHJ1ZSwgc3ViTWVudTIpOworICAgIGV3a19jb250ZXh0X21lbnVfaXRl
bV9hcHBlbmQoY29udGV4dE1lbnUsIG5ld0l0ZW0yKTsKIAotICAgIGV3a19jb250ZXh0X21lbnVf
aXRlbV9yZW1vdmUoY29udGV4dE1lbnUsIG5ld0l0ZW0pOwotICAgIGV3a19jb250ZXh0X21lbnVf
aXRlbV9yZW1vdmUoY29udGV4dE1lbnUsIG5ld0l0ZW0yKTsKLSAgICBld2tfY29udGV4dF9tZW51
X2l0ZW1fcmVtb3ZlKGNvbnRleHRNZW51LCBuZXdJdGVtMyk7Ci0gICAgbGlzdCA9IGV3a19jb250
ZXh0X21lbnVfaXRlbXNfZ2V0KGNvbnRleHRNZW51KTsKLSAgICBFWFBFQ1RfRVEoNCwgZWluYV9s
aXN0X2NvdW50KGxpc3QpKTsKLQotICAgIEVYUEVDVF9UUlVFKGV3a19jb250ZXh0X21lbnVfaXRl
bV9zZWxlY3QoY29udGV4dE1lbnUsIGl0ZW0pKTsKKyAgICBFWFBFQ1RfVFJVRShld2tfY29udGV4
dF9tZW51X2l0ZW1fc2VsZWN0KGV3a19jb250ZXh0X21lbnVfaXRlbV9wYXJlbnRfbWVudV9nZXQo
c3ViTWVudUl0ZW0xKSwgc3ViTWVudUl0ZW0xKSk7CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAg
LTEyMiwxMSArMTQwLDQyIEBAIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfY29udGV4dF9t
ZW51X2l0ZW1fc2VsZWN0KQogICAgIGNvbnN0IGNoYXIqIGl0ZW1TZWxlY3RIVE1MID0KICAgICAg
ICAgIjxodG1sPiIKICAgICAgICAgIjxib2R5PjxhIGhyZWY9aHR0cDovL3d3dy5nb29nbGUuY29t
PlRlc3QgTGluazwvYT48L2JvZHk+IgotICAgICAgICAiPC9ib2R5PjwvaHRtbD4iOyAKKyAgICAg
ICAgIjwvaHRtbD4iOwogCiAgICAgZXdrVmlld0NsYXNzKCktPmNvbnRleHRfbWVudV9zaG93ID0g
c2hvd0NvbnRleHRNZW51OwogCiAgICAgZXdrX3ZpZXdfaHRtbF9zdHJpbmdfbG9hZCh3ZWJWaWV3
KCksIGl0ZW1TZWxlY3RIVE1MLCAiZmlsZTovLy8iLCAwKTsKLSAgICBtb3VzZUNsaWNrKDIwLCAz
MCwgLypSaWdodCovIDMpOworICAgIEFTU0VSVF9UUlVFKHdhaXRVbnRpbExvYWRGaW5pc2hlZCgp
KTsKKyAgICBtb3VzZUNsaWNrKDEwLCAyMCwgLypSaWdodCovIDMpOworICAgIEFTU0VSVF9UUlVF
KHdhaXRVbnRpbExvYWRGaW5pc2hlZCgpKTsKK30KKworVEVTVF9GKEVXSzJVbml0VGVzdEJhc2Us
IGV3a19jb250ZXh0X21lbnVfaXRlbV9yZW1vdmVfYW5kX2FwcGVuZCkKK3sKKyAgICBjb25zdCBj
aGFyKiBpdGVtU2VsZWN0SFRNTCA9CisgICAgICAgICI8aHRtbD4iCisgICAgICAgICI8Ym9keT48
YSBocmVmPWh0dHA6Ly93d3cuZ29vZ2xlLmNvbT5UZXN0IExpbms8L2E+PC9ib2R5PiIKKyAgICAg
ICAgIjwvaHRtbD4iOworCisgICAgZXdrVmlld0NsYXNzKCktPmNvbnRleHRfbWVudV9zaG93ID0g
c2hvd0NvbnRleHRNZW51Rm9yUmVtb3ZlQW5kQXBwZW5kOworCisgICAgZXdrX3ZpZXdfaHRtbF9z
dHJpbmdfbG9hZCh3ZWJWaWV3KCksIGl0ZW1TZWxlY3RIVE1MLCAiZmlsZTovLy8iLCAwKTsKKyAg
ICBBU1NFUlRfVFJVRSh3YWl0VW50aWxMb2FkRmluaXNoZWQoKSk7CisgICAgbW91c2VDbGljaygx
MCwgMjAsIC8qUmlnaHQqLyAzKTsKKyAgICBBU1NFUlRfVFJVRSh3YWl0VW50aWxMb2FkRmluaXNo
ZWQoKSk7Cit9CisKK1RFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfY29udGV4dF9tZW51X25l
d193aXRoX3N1Ym1lbnUpCit7CisgICAgY29uc3QgY2hhciogaXRlbVNlbGVjdEhUTUwgPQorICAg
ICAgICAiPGh0bWw+IgorICAgICAgICAiPGJvZHk+PGEgaHJlZj1odHRwOi8vd3d3Lmdvb2dsZS5j
b20+VGVzdCBMaW5rPC9hPjwvYm9keT4iCisgICAgICAgICI8L2h0bWw+IjsKKworICAgIGV3a1Zp
ZXdDbGFzcygpLT5jb250ZXh0X21lbnVfc2hvdyA9IHNob3dDb250ZXh0TWVudUZvclN1Ym1lbnU7
CisKKyAgICBld2tfdmlld19odG1sX3N0cmluZ19sb2FkKHdlYlZpZXcoKSwgaXRlbVNlbGVjdEhU
TUwsICJmaWxlOi8vLyIsIDApOworICAgIEFTU0VSVF9UUlVFKHdhaXRVbnRpbExvYWRGaW5pc2hl
ZCgpKTsKKyAgICBtb3VzZUNsaWNrKDEwLCAyMCwgLypSaWdodCovIDMpOwogICAgIEFTU0VSVF9U
UlVFKHdhaXRVbnRpbExvYWRGaW5pc2hlZCgpKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204013</attachid>
            <date>2013-06-07 01:48:02 -0700</date>
            <delta_ts>2013-06-07 05:56:19 -0700</delta_ts>
            <desc>patch</desc>
            <filename>test_ewk2_context_menu2.diff</filename>
            <type>text/plain</type>
            <size>14425</size>
            <attacher name="Michal Pakula vel Rutka">mpakulavelrutka</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBmNDRjZGQwLi45NjM3YThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYg
QEAKKzIwMTMtMDYtMDcgIE1pY2hhxYIgUGFrdcWCYSB2ZWwgUnV0a2EgIDxtLnBha3VsYUBzYW1z
dW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIEZpeCB0ZXN0X2V3azJfY29udGV4dF9tZW51
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTY2MDEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICB0ZXN0X2V3
azJfY29udGV4dF9tZW51IGlzIGFsd2F5cyBwYXNzaW5nLCBpdCBkb2VzIG5vdCB0ZXN0IGFueSBj
b250ZXh0IG1lbnUgZmVhdHVyZQorICAgICAgICBhcyBpdCBlbmRzIGJlZm9yZSBjb250ZXh0IG1l
bnUgaXMgY2FsbGVkLgorICAgICAgICBPbmUgc2luZ2xlIHRlc3Qgd2FzIGRpdmlkZWQgaW50byB0
d28gdGVzdHM6IHRlc3RpbmcgV2ViS2l0MiBjcmVhdGVkIGNvbnRleHQgbWVudSBhbmQKKyAgICAg
ICAgdGVzdGluZyBtZW51cyBhbmQgaXRlbXMgY3JlYXRlZCBieSBhcHBsaWNhdGlvbi4KKworICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0
QmFzZS5jcHA6CisgICAgICAgIChFV0syVW5pdFRlc3Q6OkVXSzJVbml0VGVzdEJhc2U6OndhaXRV
bnRpbFRydWUpOiBhZGRlZCBmdW5jdGlvbiBpbnRyb2R1Y2luZyBpbnRlcm5hbCBsb29wIHVudGls
IGJvb2xlYW4gdmFsdWUgaXMgY2hhbmdlZCB0byB0cnVlCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmg6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2NvbnRleHRfbWVudS5jcHA6CisgICAg
ICAgIChjdXN0b21JdGVtU2VsZWN0ZWQpOgorICAgICAgICAoc2hvd0NvbnRleHRNZW51KToKKyAg
ICAgICAgKHNob3dDb250ZXh0TWVudUZvclJlbW92ZUFuZEFwcGVuZCk6CisgICAgICAgIChzaG93
Q29udGV4dE1lbnVGb3JTdWJtZW51KToKKyAgICAgICAgKGhpZGVDb250ZXh0TWVudSk6CisgICAg
ICAgIChURVNUX0YpOgorCiAyMDEzLTA2LTA1ICBLYW5naWwgSGFuICA8a2FuZ2lsLmhhbkBzYW1z
dW5nLmNvbT4KIAogICAgICAgICBbRUZMXVtXSzJdIEZpeCB0ZXN0X2V3azJfdmlldyB1bml0IHRl
c3QgdGltZWQgb3V0IGlzc3VlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRl
c3RCYXNlLmNwcAppbmRleCA4M2ZiYjQxLi4wMWUzZWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJh
c2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRU
ZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5jcHAKQEAgLTIyNCw2ICsyMjQsMTYgQEAgYm9vbCBF
V0syVW5pdFRlc3RCYXNlOjp3YWl0VW50aWxVUkxDaGFuZ2VkVG8oY29uc3QgY2hhciogZXhwZWN0
ZWRVUkwsIGRvdWJsZSB0aW0KICAgICByZXR1cm4gIWRhdGEuZGlkVGltZU91dCgpOwogfQogCiti
b29sIEVXSzJVbml0VGVzdEJhc2U6OndhaXRVbnRpbFRydWUoYm9vbCAmZmxhZywgZG91YmxlIHRp
bWVvdXRTZWNvbmRzKQoreworICAgIENhbGxiYWNrRGF0YUV4cGVjdGVkVmFsdWU8Ym9vbD4gZGF0
YSh0cnVlLCB0aW1lb3V0U2Vjb25kcyk7CisKKyAgICB3aGlsZSAoIWRhdGEuaXNEb25lKCkgJiYg
IWZsYWcpCisgICAgICAgIGVjb3JlX21haW5fbG9vcF9pdGVyYXRlKCk7CisKKyAgICByZXR1cm4g
IWRhdGEuZGlkVGltZU91dCgpOworfQorCiB2b2lkIEVXSzJVbml0VGVzdEJhc2U6Om1vdXNlQ2xp
Y2soaW50IHgsIGludCB5LCBpbnQgYnV0dG9uKQogewogICAgIEV2YXMqIGV2YXMgPSBldmFzX29i
amVjdF9ldmFzX2dldChtX3dlYlZpZXcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJV
bml0VGVzdEJhc2UuaAppbmRleCA1OTI0YmU2Li45OWYxZmE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVz
dEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0
VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaApAQCAtNTAsNiArNTAsNyBAQCBwcm90ZWN0ZWQ6
CiAgICAgYm9vbCB3YWl0VW50aWxMb2FkRmluaXNoZWQoZG91YmxlIHRpbWVvdXRTZWNvbmRzID0g
ZGVmYXVsdFRpbWVvdXRTZWNvbmRzKTsKICAgICBib29sIHdhaXRVbnRpbFRpdGxlQ2hhbmdlZFRv
KGNvbnN0IGNoYXIqIGV4cGVjdGVkVGl0bGUsIGRvdWJsZSB0aW1lb3V0U2Vjb25kcyA9IGRlZmF1
bHRUaW1lb3V0U2Vjb25kcyk7CiAgICAgYm9vbCB3YWl0VW50aWxVUkxDaGFuZ2VkVG8oY29uc3Qg
Y2hhciogZXhwZWN0ZWRVUkwsIGRvdWJsZSB0aW1lb3V0U2Vjb25kcyA9IGRlZmF1bHRUaW1lb3V0
U2Vjb25kcyk7CisgICAgYm9vbCB3YWl0VW50aWxUcnVlKGJvb2wgJmZsYWcsIGRvdWJsZSB0aW1l
b3V0U2Vjb25kcyA9IGRlZmF1bHRUaW1lb3V0U2Vjb25kcyk7CiAKICAgICB2b2lkIG1vdXNlQ2xp
Y2soaW50IHgsIGludCB5LCBpbnQgYnV0dG9uID0gMSAvKkxlZnQqLyk7CiAgICAgdm9pZCBtb3Vz
ZURvd24oaW50IHgsIGludCB5LCBpbnQgYnV0dG9uID0gMSAvKkxlZnQqLyk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29udGV4
dF9tZW51LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3Rf
ZXdrMl9jb250ZXh0X21lbnUuY3BwCmluZGV4IDc2MTI1MmEuLjE2MjI4MWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9jb250ZXh0
X21lbnUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rl
c3RfZXdrMl9jb250ZXh0X21lbnUuY3BwCkBAIC0yNyw2ICsyNywxNCBAQCB1c2luZyBuYW1lc3Bh
Y2UgRVdLMlVuaXRUZXN0OwogCiBleHRlcm4gRVdLMlVuaXRUZXN0RW52aXJvbm1lbnQqIGVudmly
b25tZW50OwogCitzdGF0aWMgYm9vbCB0ZXN0RmluaXNoZWQgPSBmYWxzZTsKKworc3RhdGljIGNv
bnN0IEV3a19Db250ZXh0X01lbnVfSXRlbV9UeXBlIGN1c3RvbUl0ZW1UeXBlID0gRVdLX0FDVElP
Tl9UWVBFOworc3RhdGljIGNvbnN0IGludCBjdXN0b21JdGVtVGFnID0gRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX0JBU0VfQVBQTElDQVRJT05fVEFHOworc3RhdGljIGNvbnN0IGNoYXIgY3VzdG9tSXRl
bVRpdGxlW10gPSAiQ3VzdG9tIEl0ZW0iOworc3RhdGljIGNvbnN0IGJvb2wgY3VzdG9tSXRlbUNo
ZWNrZWQgPSBmYWxzZTsKK3N0YXRpYyBjb25zdCBib29sIGN1c3RvbUl0ZW1FbmFibGVkID0gdHJ1
ZTsKKwogc3RhdGljIGlubGluZSB2b2lkIGNoZWNrQmFzaWNDb250ZXh0TWVudUl0ZW0oRXdrX0Nv
bnRleHRfTWVudV9JdGVtKiBpdGVtLCBFd2tfQ29udGV4dF9NZW51X0l0ZW1fVHlwZSB0eXBlLCBF
d2tfQ29udGV4dF9NZW51X0l0ZW1fQWN0aW9uIGFjdGlvbiwgY29uc3QgY2hhciogdGl0bGUsIEVp
bmFfQm9vbCBjaGVja2VkLCBFaW5hX0Jvb2wgZW5hYmxlZCkKIHsKICAgICBBU1NFUlRfVFJVRShp
dGVtKTsKQEAgLTM4LDM0ICs0Niw2MSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgY2hlY2tCYXNpY0Nv
bnRleHRNZW51SXRlbShFd2tfQ29udGV4dF9NZW51X0l0ZW0qIGl0ZW0sIEV3a19DbwogICAgIEVY
UEVDVF9FUShlbmFibGVkLCBld2tfY29udGV4dF9tZW51X2l0ZW1fZW5hYmxlZF9nZXQoaXRlbSkp
OwogfQogCi1zdGF0aWMgRWluYV9Cb29sIHNob3dDb250ZXh0TWVudShFd2tfVmlld19TbWFydF9E
YXRhKiBzbWFydERhdGEsIEV2YXNfQ29vcmQgeCwgRXZhc19Db29yZCB5LCBFd2tfQ29udGV4dF9N
ZW51KiBjb250ZXh0TWVudSkKK3N0YXRpYyBFaW5hX0Jvb2wgY3VzdG9tSXRlbVNlbGVjdGVkKEV3
a19WaWV3X1NtYXJ0X0RhdGEqLCBFd2tfQ29udGV4dF9NZW51X0l0ZW0qIGl0ZW0pCit7CisgICAg
Y2hlY2tCYXNpY0NvbnRleHRNZW51SXRlbShpdGVtLCBjdXN0b21JdGVtVHlwZSwgc3RhdGljX2Nh
c3Q8RXdrX0NvbnRleHRfTWVudV9JdGVtX0FjdGlvbj4oY3VzdG9tSXRlbVRhZyksIGN1c3RvbUl0
ZW1UaXRsZSwgY3VzdG9tSXRlbUNoZWNrZWQsIGN1c3RvbUl0ZW1FbmFibGVkKTsKKworICAgIHJl
dHVybiB0cnVlOworfQorCitzdGF0aWMgRWluYV9Cb29sIHNob3dDb250ZXh0TWVudShFd2tfVmll
d19TbWFydF9EYXRhKiwgRXZhc19Db29yZCwgRXZhc19Db29yZCwgRXdrX0NvbnRleHRfTWVudSog
Y29udGV4dE1lbnUpCiB7CiAgICAgY29uc3QgRWluYV9MaXN0KiBsaXN0ID0gZXdrX2NvbnRleHRf
bWVudV9pdGVtc19nZXQoY29udGV4dE1lbnUpOwogICAgIEVYUEVDVF9FUSg0LCBlaW5hX2xpc3Rf
Y291bnQobGlzdCkpOwogCiAgICAgRXdrX0NvbnRleHRfTWVudV9JdGVtKiBpdGVtID0gc3RhdGlj
X2Nhc3Q8RXdrX0NvbnRleHRfTWVudV9JdGVtKj4oZWluYV9saXN0X250aChsaXN0LCAwKSk7Ci0g
ICAgY2hlY2tCYXNpY0NvbnRleHRNZW51SXRlbShpdGVtLCBFV0tfQUNUSU9OX1RZUEUsIEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfR09fQkFDSywgIkdvIEJhY2siLCBmYWxzZSwgdHJ1ZSk7Ci0K
LSAgICAvLyBXaGVuIGNvbnRleHQgbWVudSBpcyBjcmVhdGVkIGJ5IFdlYktpdCwgYW4gaXRlbSBz
aG91bGQgaGF2ZSBwYXJlbnQgbWVudS4KLSAgICBFWFBFQ1RfRVEoY29udGV4dE1lbnUsIGV3a19j
b250ZXh0X21lbnVfaXRlbV9wYXJlbnRfbWVudV9nZXQoaXRlbSkpOworICAgIGNoZWNrQmFzaWND
b250ZXh0TWVudUl0ZW0oaXRlbSwgRVdLX0FDVElPTl9UWVBFLCBFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX09QRU5fTElOSywgIk9wZW4gTGluayIsIGZhbHNlLCB0cnVlKTsKIAogICAgIGl0ZW0g
PSBzdGF0aWNfY2FzdDxFd2tfQ29udGV4dF9NZW51X0l0ZW0qPihlaW5hX2xpc3RfbnRoKGxpc3Qs
IDEpKTsKLSAgICBjaGVja0Jhc2ljQ29udGV4dE1lbnVJdGVtKGl0ZW0sIEVXS19BQ1RJT05fVFlQ
RSwgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19HT19GT1JXQVJELCAiR28gRm9yd2FyZCIsIGZh
bHNlLCB0cnVlKTsKKyAgICBjaGVja0Jhc2ljQ29udGV4dE1lbnVJdGVtKGl0ZW0sIEVXS19BQ1RJ
T05fVFlQRSwgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0xJTktfSU5fTkVXX1dJTkRP
VywgIk9wZW4gTGluayBpbiBOZXcgV2luZG93IiwgZmFsc2UsIHRydWUpOwogICAgIGV3a19jb250
ZXh0X21lbnVfaXRlbV9lbmFibGVkX3NldChpdGVtLCBmYWxzZSk7CiAgICAgRVhQRUNUX0ZBTFNF
KGV3a19jb250ZXh0X21lbnVfaXRlbV9lbmFibGVkX2dldChpdGVtKSk7CiAKICAgICBpdGVtID0g
c3RhdGljX2Nhc3Q8RXdrX0NvbnRleHRfTWVudV9JdGVtKj4oZWluYV9saXN0X250aChsaXN0LCAy
KSk7Ci0gICAgY2hlY2tCYXNpY0NvbnRleHRNZW51SXRlbShpdGVtLCBFV0tfQUNUSU9OX1RZUEUs
IEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1RPUCwgIlN0b3AiLCBmYWxzZSwgdHJ1ZSk7Cisg
ICAgY2hlY2tCYXNpY0NvbnRleHRNZW51SXRlbShpdGVtLCBFV0tfQUNUSU9OX1RZUEUsIEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfRE9XTkxPQURfTElOS19UT19ESVNLLCAiRG93bmxvYWQgTGlu
a2VkIEZpbGUiLCBmYWxzZSwgdHJ1ZSk7CiAgICAgZXdrX2NvbnRleHRfbWVudV9pdGVtX2NoZWNr
ZWRfc2V0KGl0ZW0sIHRydWUpOwogICAgIEVYUEVDVF9UUlVFKGV3a19jb250ZXh0X21lbnVfaXRl
bV9jaGVja2VkX2dldChpdGVtKSk7CiAKICAgICBpdGVtID0gc3RhdGljX2Nhc3Q8RXdrX0NvbnRl
eHRfTWVudV9JdGVtKj4oZWluYV9saXN0X250aChsaXN0LCAzKSk7Ci0gICAgY2hlY2tCYXNpY0Nv
bnRleHRNZW51SXRlbShpdGVtLCBFV0tfQUNUSU9OX1RZUEUsIEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfUkVMT0FELCAiUmVsb2FkIiwgZmFsc2UsIHRydWUpOwotICAgIGV3a19jb250ZXh0X21l
bnVfaXRlbV90aXRsZV9zZXQoaXRlbSwgIlJlZnJlc2giKTsKLSAgICBFWFBFQ1RfU1RSRVEoIlJl
ZnJlc2giLCBld2tfY29udGV4dF9tZW51X2l0ZW1fdGl0bGVfZ2V0KGl0ZW0pKTsKKyAgICBjaGVj
a0Jhc2ljQ29udGV4dE1lbnVJdGVtKGl0ZW0sIEVXS19BQ1RJT05fVFlQRSwgRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19DT1BZX0xJTktfVE9fQ0xJUEJPQVJELCAiQ29weSBMaW5rIExvY2F0aW9u
IiwgZmFsc2UsIHRydWUpOworICAgIGV3a19jb250ZXh0X21lbnVfaXRlbV90aXRsZV9zZXQoaXRl
bSwgIkNvcHkgTGluayIpOworICAgIEVYUEVDVF9TVFJFUSgiQ29weSBMaW5rIiwgZXdrX2NvbnRl
eHRfbWVudV9pdGVtX3RpdGxlX2dldChpdGVtKSk7CisKKyAgICAvLyBXaGVuIGNvbnRleHQgbWVu
dSBpcyBjcmVhdGVkIGJ5IFdlYktpdCwgYW4gaXRlbSBzaG91bGQgaGF2ZSBwYXJlbnQgbWVudS4K
KyAgICBFWFBFQ1RfRVEoY29udGV4dE1lbnUsIGV3a19jb250ZXh0X21lbnVfaXRlbV9wYXJlbnRf
bWVudV9nZXQoaXRlbSkpOworCisgICAgaXRlbSA9IHN0YXRpY19jYXN0PEV3a19Db250ZXh0X01l
bnVfSXRlbSo+KGVpbmFfbGlzdF9udGgobGlzdCwgMCkpOworCisgICAgRVhQRUNUX1RSVUUoZXdr
X2NvbnRleHRfbWVudV9pdGVtX3NlbGVjdChjb250ZXh0TWVudSwgaXRlbSkpOworCisgICAgcmV0
dXJuIHRydWU7Cit9CisKK3N0YXRpYyBFaW5hX0Jvb2wgc2hvd0NvbnRleHRNZW51Rm9yUmVtb3Zl
QW5kQXBwZW5kKEV3a19WaWV3X1NtYXJ0X0RhdGEqLCBFdmFzX0Nvb3JkLCBFdmFzX0Nvb3JkLCBF
d2tfQ29udGV4dF9NZW51KiBjb250ZXh0TWVudSkKK3sKKyAgICBjb25zdCBFaW5hX0xpc3QqIGxp
c3QgPSBld2tfY29udGV4dF9tZW51X2l0ZW1zX2dldChjb250ZXh0TWVudSk7CisgICAgRVhQRUNU
X0VRKDQsIGVpbmFfbGlzdF9jb3VudChsaXN0KSk7CisKKyAgICBjb25zdCBFaW5hX0xpc3QqIGxp
c3RJdGVyYXRvciA9IDA7CisgICAgdm9pZCogZGF0YSA9IDA7CisgICAgRUlOQV9MSVNUX0ZPUkVB
Q0gobGlzdCwgbGlzdEl0ZXJhdG9yLCBkYXRhKQorICAgICAgICBld2tfY29udGV4dF9tZW51X2l0
ZW1fcmVtb3ZlKGNvbnRleHRNZW51LCBzdGF0aWNfY2FzdDxFd2tfQ29udGV4dF9NZW51X0l0ZW0q
PihkYXRhKSk7CisKKyAgICBsaXN0ID0gZXdrX2NvbnRleHRfbWVudV9pdGVtc19nZXQoY29udGV4
dE1lbnUpOworICAgIEVYUEVDVF9FUSgwLCBlaW5hX2xpc3RfY291bnQobGlzdCkpOworCisgICAg
RXdrX0NvbnRleHRfTWVudV9JdGVtKiBuZXdJdGVtID0gZXdrX2NvbnRleHRfbWVudV9pdGVtX25l
dyhjdXN0b21JdGVtVHlwZSwgc3RhdGljX2Nhc3Q8RXdrX0NvbnRleHRfTWVudV9JdGVtX0FjdGlv
bj4oY3VzdG9tSXRlbVRhZyksIGN1c3RvbUl0ZW1UaXRsZSwgY3VzdG9tSXRlbUNoZWNrZWQsIGN1
c3RvbUl0ZW1FbmFibGVkKTsKIAotICAgIC8vIE1ha2VzIG5ldyBjb250ZXh0IG1lbnUgaXRlbXMu
Ci0gICAgRXdrX0NvbnRleHRfTWVudV9JdGVtKiBuZXdJdGVtID0gZXdrX2NvbnRleHRfbWVudV9p
dGVtX25ldyhFV0tfQUNUSU9OX1RZUEUsIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1RIRVIs
ICJOZXcgQ3VzdG9tIEl0ZW0iLCBmYWxzZSwgdHJ1ZSk7CiAgICAgLy8gV2hlbiBjb250ZXh0IG1l
bnUgaXRlbSBpcyBjcmVhdGVkIHVzaW5nIGV3a19jb250ZXh0X21lbnVfaXRlbV9uZXcsIGl0IHNo
b3VsZCBub3QgaGF2ZSBwYXJlbnQgbWVudS4KICAgICBFWFBFQ1RfRVEoMCwgZXdrX2NvbnRleHRf
bWVudV9pdGVtX3BhcmVudF9tZW51X2dldChuZXdJdGVtKSk7CiAgICAgZXdrX2NvbnRleHRfbWVu
dV9pdGVtX2FwcGVuZChjb250ZXh0TWVudSwgbmV3SXRlbSk7CkBAIC03MywxMyArMTA4LDIyIEBA
IHN0YXRpYyBFaW5hX0Jvb2wgc2hvd0NvbnRleHRNZW51KEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNt
YXJ0RGF0YSwgRXZhc19Db29yZCB4LCBFCiAgICAgLy8gV2hlbiBjb250ZXh0IG1lbnUgaXRlbSBp
cyBhZGRlZCB0byBtZW51IHVzaW5nIGV3a19jb250ZXh0X21lbnVfaXRlbV9hcHBlbmQsIGl0IHNo
b3VsZCBoYXZlIHBhcmVudCBtZW51LgogICAgIEVYUEVDVF9FUShjb250ZXh0TWVudSwgZXdrX2Nv
bnRleHRfbWVudV9pdGVtX3BhcmVudF9tZW51X2dldChuZXdJdGVtKSk7CiAKLSAgICAvLyBXaGVu
IGNvbnRleHQgbWVudSBpdGVtIHdhcyBjcmVhdGVkIHVzaW5nIGV3a19jb250ZXh0X21lbnVfaXRl
bV9uZXcsIHN1Ym1lbnUgc2hvdWxkIGJlIDAuCisgICAgLy8gV2hlbiBub24gc3VibWVudSB0eXBl
IGNvbnRleHQgbWVudSBpdGVtIHdhcyBjcmVhdGVkIHVzaW5nIGV3a19jb250ZXh0X21lbnVfaXRl
bV9uZXcsIHN1Ym1lbnUgc2hvdWxkIGJlIDAuCiAgICAgRVhQRUNUX0VRKDAsIGV3a19jb250ZXh0
X21lbnVfaXRlbV9zdWJtZW51X2dldChuZXdJdGVtKSk7CiAKKyAgICBFWFBFQ1RfVFJVRShld2tf
Y29udGV4dF9tZW51X2l0ZW1fc2VsZWN0KGNvbnRleHRNZW51LCBuZXdJdGVtKSk7CisKKyAgICBl
d2tfY29udGV4dF9tZW51X2hpZGUoY29udGV4dE1lbnUpOworCisgICAgcmV0dXJuIHRydWU7Cit9
CisKK3N0YXRpYyBFaW5hX0Jvb2wgc2hvd0NvbnRleHRNZW51Rm9yU3VibWVudShFd2tfVmlld19T
bWFydF9EYXRhKiwgRXZhc19Db29yZCwgRXZhc19Db29yZCwgRXdrX0NvbnRleHRfTWVudSogY29u
dGV4dE1lbnUpCit7CiAgICAgRWluYV9MaXN0KiBzdWJNZW51SXRlbUxpc3QgPSAwOwotICAgIEV3
a19Db250ZXh0X01lbnVfSXRlbSogc3ViTWVudUl0ZW0xID0gZXdrX2NvbnRleHRfbWVudV9pdGVt
X25ldyhFV0tfQUNUSU9OX1RZUEUsIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1RIRVIsICJO
ZXcgU3ViTWVudSBJdGVtIDEiLCBmYWxzZSwgdHJ1ZSk7Ci0gICAgRXdrX0NvbnRleHRfTWVudV9J
dGVtKiBzdWJNZW51SXRlbTIgPSBld2tfY29udGV4dF9tZW51X2l0ZW1fbmV3KEVXS19BQ1RJT05f
VFlQRSwgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PVEhFUiwgIk5ldyBTdWJNZW51IEl0ZW0g
MiIsIGZhbHNlLCB0cnVlKTsKLSAgICBFd2tfQ29udGV4dF9NZW51X0l0ZW0qIHN1Yk1lbnVJdGVt
MyA9IGV3a19jb250ZXh0X21lbnVfaXRlbV9uZXcoRVdLX0FDVElPTl9UWVBFLCBFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX09USEVSLCAiTmV3IFN1Yk1lbnUgSXRlbSAzIiwgZmFsc2UsIHRydWUp
OworICAgIEV3a19Db250ZXh0X01lbnVfSXRlbSogc3ViTWVudUl0ZW0xID0gZXdrX2NvbnRleHRf
bWVudV9pdGVtX25ldyhjdXN0b21JdGVtVHlwZSwgc3RhdGljX2Nhc3Q8RXdrX0NvbnRleHRfTWVu
dV9JdGVtX0FjdGlvbj4oY3VzdG9tSXRlbVRhZyksIGN1c3RvbUl0ZW1UaXRsZSwgY3VzdG9tSXRl
bUNoZWNrZWQsIGN1c3RvbUl0ZW1FbmFibGVkKTsKKyAgICBFd2tfQ29udGV4dF9NZW51X0l0ZW0q
IHN1Yk1lbnVJdGVtMiA9IGV3a19jb250ZXh0X21lbnVfaXRlbV9uZXcoRVdLX0FDVElPTl9UWVBF
LCBzdGF0aWNfY2FzdDxFd2tfQ29udGV4dF9NZW51X0l0ZW1fQWN0aW9uPihjdXN0b21JdGVtVGFn
ICsgMSksICJOZXcgU3ViTWVudSBJdGVtIDIiLCBmYWxzZSwgdHJ1ZSk7CisgICAgRXdrX0NvbnRl
eHRfTWVudV9JdGVtKiBzdWJNZW51SXRlbTMgPSBld2tfY29udGV4dF9tZW51X2l0ZW1fbmV3KEVX
S19BQ1RJT05fVFlQRSwgc3RhdGljX2Nhc3Q8RXdrX0NvbnRleHRfTWVudV9JdGVtX0FjdGlvbj4o
Y3VzdG9tSXRlbVRhZyArIDIpLCAiTmV3IFN1Yk1lbnUgSXRlbSAzIiwgZmFsc2UsIHRydWUpOwog
ICAgIHN1Yk1lbnVJdGVtTGlzdCA9IGVpbmFfbGlzdF9hcHBlbmQoc3ViTWVudUl0ZW1MaXN0LCBz
dWJNZW51SXRlbTEpOwogICAgIHN1Yk1lbnVJdGVtTGlzdCA9IGVpbmFfbGlzdF9hcHBlbmQoc3Vi
TWVudUl0ZW1MaXN0LCBzdWJNZW51SXRlbTIpOwogICAgIHN1Yk1lbnVJdGVtTGlzdCA9IGVpbmFf
bGlzdF9hcHBlbmQoc3ViTWVudUl0ZW1MaXN0LCBzdWJNZW51SXRlbTMpOwpAQCAtODgsMzEgKzEz
MiwzMSBAQCBzdGF0aWMgRWluYV9Cb29sIHNob3dDb250ZXh0TWVudShFd2tfVmlld19TbWFydF9E
YXRhKiBzbWFydERhdGEsIEV2YXNfQ29vcmQgeCwgRQogICAgIC8vIFdoZW4gY29udGV4dCBtZW51
IGlzIGNyZWF0ZWQgdXNpbmcgZXdrX2NvbnRleHRfbWVudV9uZXdfd2l0aF9pdGVtcywgaXRlbXMg
c2hvdWxkIGhhdmUgcGFyZW50IG1lbnUuCiAgICAgRVhQRUNUX0VRKHN1Yk1lbnUsIGV3a19jb250
ZXh0X21lbnVfaXRlbV9wYXJlbnRfbWVudV9nZXQoc3ViTWVudUl0ZW0xKSk7CiAKLSAgICBFd2tf
Q29udGV4dF9NZW51X0l0ZW0qIG5ld0l0ZW0yID0gZXdrX2NvbnRleHRfbWVudV9pdGVtX25ld193
aXRoX3N1Ym1lbnUoRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PVEhFUiwgIk5ldyBDdXN0b20g
SXRlbSAyIiwgdHJ1ZSwgc3ViTWVudSk7CisgICAgRXdrX0NvbnRleHRfTWVudV9JdGVtKiBuZXdJ
dGVtID0gZXdrX2NvbnRleHRfbWVudV9pdGVtX25ld193aXRoX3N1Ym1lbnUoRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX0JBU0VfQVBQTElDQVRJT05fVEFHLCAiTmV3IEN1c3RvbSBJdGVtIiwgdHJ1ZSwg
c3ViTWVudSk7CiAgICAgLy8gV2hlbiBjb250ZXh0IG1lbnUgaXRlbSBpcyBjcmVhdGVkIHVzaW5n
IGV3a19jb250ZXh0X21lbnVfaXRlbV9uZXdfd2l0aF9zdWJtZW51LCBpdCBzaG91bGQgbm90IGhh
dmUgcGFyZW50IG1lbnUuCiAgICAgRVhQRUNUX0VRKDAsIGV3a19jb250ZXh0X21lbnVfaXRlbV9w
YXJlbnRfbWVudV9nZXQobmV3SXRlbSkpOwotICAgIGV3a19jb250ZXh0X21lbnVfaXRlbV9hcHBl
bmQoY29udGV4dE1lbnUsIG5ld0l0ZW0yKTsKKyAgICBld2tfY29udGV4dF9tZW51X2l0ZW1fYXBw
ZW5kKGNvbnRleHRNZW51LCBuZXdJdGVtKTsKIAogICAgIC8vIENvbnRleHQgbWVudSByZWNlaXZl
ZCBmcm9tIGV3a19jb250ZXh0X21lbnVfaXRlbV9zdWJtZW51X2dldCBzaG91bGQgYmUgdGhlIHNh
bWUgYXMgb25lIHVzZWQgdG8gY3JlYXRlIHN1YiBtZW51LgotICAgIEVYUEVDVF9FUShzdWJNZW51
LCBld2tfY29udGV4dF9tZW51X2l0ZW1fc3VibWVudV9nZXQobmV3SXRlbTIpKTsKKyAgICBFWFBF
Q1RfRVEoc3ViTWVudSwgZXdrX2NvbnRleHRfbWVudV9pdGVtX3N1Ym1lbnVfZ2V0KG5ld0l0ZW0p
KTsKIAogICAgIC8vIFdoZW4gY29udGV4dCBtZW51IGl0ZW0gaXMgY3JlYXRlZCB1c2luZyBld2tf
Y29udGV4dF9tZW51X2l0ZW1fbmV3X3dpdGhfc3VibWVudSBhbmQgYWRkZWQgdXNpbmcgZXdrX2Nv
bnRleHRfbWVudV9pdGVtX2FwcGVuZCBpdCBzaG91bGQgaGF2ZSBwYXJlbnQgbWVudS4KICAgICBF
WFBFQ1RfRVEoY29udGV4dE1lbnUsIGV3a19jb250ZXh0X21lbnVfaXRlbV9wYXJlbnRfbWVudV9n
ZXQobmV3SXRlbSkpOwogCiAgICAgRXdrX0NvbnRleHRfTWVudSogc3ViTWVudTIgPSBld2tfY29u
dGV4dF9tZW51X25ldygpOwotICAgIEV3a19Db250ZXh0X01lbnVfSXRlbSogbmV3SXRlbTMgPSBl
d2tfY29udGV4dF9tZW51X2l0ZW1fbmV3X3dpdGhfc3VibWVudShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX09USEVSLCAiTmV3IEN1c3RvbSBJdGVtIDMiLCB0cnVlLCBzdWJNZW51Mik7Ci0gICAg
ZXdrX2NvbnRleHRfbWVudV9pdGVtX2FwcGVuZChjb250ZXh0TWVudSwgbmV3SXRlbTMpOworICAg
IEV3a19Db250ZXh0X01lbnVfSXRlbSogbmV3SXRlbTIgPSBld2tfY29udGV4dF9tZW51X2l0ZW1f
bmV3X3dpdGhfc3VibWVudShFV0tfQ09OVEVYVF9NRU5VX0lURU1fQkFTRV9BUFBMSUNBVElPTl9U
QUcsICJOZXcgQ3VzdG9tIEl0ZW0gMiIsIHRydWUsIHN1Yk1lbnUyKTsKKyAgICBld2tfY29udGV4
dF9tZW51X2l0ZW1fYXBwZW5kKGNvbnRleHRNZW51LCBuZXdJdGVtMik7CiAKLSAgICBsaXN0ID0g
ZXdrX2NvbnRleHRfbWVudV9pdGVtc19nZXQoY29udGV4dE1lbnUpOwotICAgIEVYUEVDVF9FUSg3
LCBlaW5hX2xpc3RfY291bnQobGlzdCkpOworICAgIEVYUEVDVF9UUlVFKGV3a19jb250ZXh0X21l
bnVfaXRlbV9zZWxlY3QoZXdrX2NvbnRleHRfbWVudV9pdGVtX3BhcmVudF9tZW51X2dldChzdWJN
ZW51SXRlbTEpLCBzdWJNZW51SXRlbTEpKTsKIAotICAgIGV3a19jb250ZXh0X21lbnVfaXRlbV9y
ZW1vdmUoY29udGV4dE1lbnUsIG5ld0l0ZW0pOwotICAgIGV3a19jb250ZXh0X21lbnVfaXRlbV9y
ZW1vdmUoY29udGV4dE1lbnUsIG5ld0l0ZW0yKTsKLSAgICBld2tfY29udGV4dF9tZW51X2l0ZW1f
cmVtb3ZlKGNvbnRleHRNZW51LCBuZXdJdGVtMyk7Ci0gICAgbGlzdCA9IGV3a19jb250ZXh0X21l
bnVfaXRlbXNfZ2V0KGNvbnRleHRNZW51KTsKLSAgICBFWFBFQ1RfRVEoNCwgZWluYV9saXN0X2Nv
dW50KGxpc3QpKTsKKyAgICBld2tfY29udGV4dF9tZW51X2hpZGUoZXdrX2NvbnRleHRfbWVudV9p
dGVtX3BhcmVudF9tZW51X2dldChzdWJNZW51SXRlbTEpKTsKIAotICAgIEVYUEVDVF9UUlVFKGV3
a19jb250ZXh0X21lbnVfaXRlbV9zZWxlY3QoY29udGV4dE1lbnUsIGl0ZW0pKTsKKyAgICByZXR1
cm4gdHJ1ZTsKK30KKworc3RhdGljIEVpbmFfQm9vbCBoaWRlQ29udGV4dE1lbnUoRXdrX1ZpZXdf
U21hcnRfRGF0YSopCit7CisgICAgdGVzdEZpbmlzaGVkID0gdHJ1ZTsKIAogICAgIHJldHVybiB0
cnVlOwogfQpAQCAtMTIyLDExICsxNjYsMzUgQEAgVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3
a19jb250ZXh0X21lbnVfaXRlbV9zZWxlY3QpCiAgICAgY29uc3QgY2hhciogaXRlbVNlbGVjdEhU
TUwgPQogICAgICAgICAiPGh0bWw+IgogICAgICAgICAiPGJvZHk+PGEgaHJlZj1odHRwOi8vd3d3
Lmdvb2dsZS5jb20+VGVzdCBMaW5rPC9hPjwvYm9keT4iCi0gICAgICAgICI8L2JvZHk+PC9odG1s
PiI7IAorICAgICAgICAiPC9odG1sPiI7CiAKICAgICBld2tWaWV3Q2xhc3MoKS0+Y29udGV4dF9t
ZW51X3Nob3cgPSBzaG93Q29udGV4dE1lbnU7CiAKICAgICBld2tfdmlld19odG1sX3N0cmluZ19s
b2FkKHdlYlZpZXcoKSwgaXRlbVNlbGVjdEhUTUwsICJmaWxlOi8vLyIsIDApOwotICAgIG1vdXNl
Q2xpY2soMjAsIDMwLCAvKlJpZ2h0Ki8gMyk7CiAgICAgQVNTRVJUX1RSVUUod2FpdFVudGlsTG9h
ZEZpbmlzaGVkKCkpOworICAgIG1vdXNlQ2xpY2soMTAsIDIwLCAvKlJpZ2h0Ki8gMyk7CisgICAg
QVNTRVJUX1RSVUUod2FpdFVudGlsTG9hZEZpbmlzaGVkKCkpOworfQorCitURVNUX0YoRVdLMlVu
aXRUZXN0QmFzZSwgZXdrX2NvbnRleHRfbWVudV9jdXN0b21faXRlbXMpCit7CisgICAgY29uc3Qg
Y2hhciogaXRlbVNlbGVjdEhUTUwgPQorICAgICAgICAiPGh0bWw+IgorICAgICAgICAiPGJvZHk+
PGEgaHJlZj1odHRwOi8vd3d3Lmdvb2dsZS5jb20+VGVzdCBMaW5rPC9hPjwvYm9keT4iCisgICAg
ICAgICI8L2h0bWw+IjsKKworICAgIGV3a1ZpZXdDbGFzcygpLT5jdXN0b21faXRlbV9zZWxlY3Rl
ZCA9IGN1c3RvbUl0ZW1TZWxlY3RlZDsKKyAgICBld2tWaWV3Q2xhc3MoKS0+Y29udGV4dF9tZW51
X3Nob3cgPSBzaG93Q29udGV4dE1lbnVGb3JSZW1vdmVBbmRBcHBlbmQ7CisgICAgZXdrVmlld0Ns
YXNzKCktPmNvbnRleHRfbWVudV9oaWRlID0gaGlkZUNvbnRleHRNZW51OworCisgICAgZXdrX3Zp
ZXdfaHRtbF9zdHJpbmdfbG9hZCh3ZWJWaWV3KCksIGl0ZW1TZWxlY3RIVE1MLCAiZmlsZTovLy8i
LCAwKTsKKyAgICBBU1NFUlRfVFJVRSh3YWl0VW50aWxMb2FkRmluaXNoZWQoKSk7CisgICAgbW91
c2VDbGljaygxMCwgMjAsIC8qUmlnaHQqLyAzKTsKKyAgICB0ZXN0RmluaXNoZWQgPSBmYWxzZTsK
KyAgICBBU1NFUlRfVFJVRSh3YWl0VW50aWxUcnVlKHRlc3RGaW5pc2hlZCkpOworCisgICAgZXdr
Vmlld0NsYXNzKCktPmNvbnRleHRfbWVudV9zaG93ID0gc2hvd0NvbnRleHRNZW51Rm9yU3VibWVu
dTsKKyAgICBtb3VzZUNsaWNrKDEwLCAyMCwgLypSaWdodCovIDMpOworICAgIHRlc3RGaW5pc2hl
ZCA9IGZhbHNlOworICAgIEFTU0VSVF9UUlVFKHdhaXRVbnRpbFRydWUodGVzdEZpbmlzaGVkKSk7
CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204034</attachid>
            <date>2013-06-07 05:56:19 -0700</date>
            <delta_ts>2013-06-11 01:35:54 -0700</delta_ts>
            <desc>fixes after review</desc>
            <filename>test_ewk2_context_menu3.diff</filename>
            <type>text/plain</type>
            <size>15240</size>
            <attacher name="Michal Pakula vel Rutka">mpakulavelrutka</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA2NGI1YTZhLi4yN2RlMTZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0zNCw2ICszNCwy
OSBAQAogCiAyMDEzLTA2LTA3ICBNaWNoYcWCIFBha3XFgmEgdmVsIFJ1dGthICA8bS5wYWt1bGFA
c2Ftc3VuZy5jb20+CiAKKyAgICAgICAgW0VGTF1bV0syXSBGaXggdGVzdF9ld2syX2NvbnRleHRf
bWVudQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2
NjAxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgdGVz
dF9ld2syX2NvbnRleHRfbWVudSBpcyBhbHdheXMgcGFzc2luZywgaXQgZG9lcyBub3QgdGVzdCBh
bnkgY29udGV4dCBtZW51IGZlYXR1cmUKKyAgICAgICAgYXMgaXQgZW5kcyBiZWZvcmUgY29udGV4
dCBtZW51IGlzIGNhbGxlZC4KKyAgICAgICAgT25lIHNpbmdsZSB0ZXN0IHdhcyBkaXZpZGVkIGlu
dG8gdHdvIHRlc3RzOiB0ZXN0aW5nIFdlYktpdDIgY3JlYXRlZCBjb250ZXh0IG1lbnUgYW5kCisg
ICAgICAgIHRlc3RpbmcgbWVudXMgYW5kIGl0ZW1zIGNyZWF0ZWQgYnkgYXBwbGljYXRpb24uCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0
VGVzdEJhc2UuY3BwOgorICAgICAgICAoRVdLMlVuaXRUZXN0OjpFV0syVW5pdFRlc3RCYXNlOjp3
YWl0VW50aWxUcnVlKTogYWRkZWQgZnVuY3Rpb24gaW50cm9kdWNpbmcgaW50ZXJuYWwgbG9vcCB1
bnRpbCBib29sZWFuIHZhbHVlIGlzIGNoYW5nZWQgdG8gdHJ1ZQorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRUZXN0QmFzZS5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9jb250ZXh0X21lbnUuY3BwOgor
ICAgICAgICAoY3VzdG9tSXRlbVNlbGVjdGVkKToKKyAgICAgICAgKHNob3dDb250ZXh0TWVudSk6
CisgICAgICAgIChzaG93Q29udGV4dE1lbnVGb3JSZW1vdmVBbmRBcHBlbmQpOgorICAgICAgICAo
c2hvd0NvbnRleHRNZW51Rm9yU3VibWVudSk6CisgICAgICAgIChoaWRlQ29udGV4dE1lbnUpOgor
ICAgICAgICAoVEVTVF9GKToKKworMjAxMy0wNi0wNyAgTWljaGHFgiBQYWt1xYJhIHZlbCBSdXRr
YSAgPG0ucGFrdWxhQHNhbXN1bmcuY29tPgorCiAgICAgICAgIFtFRkxdW1dLMl0gSW1wbGVtZW50
IGN1c3RvbUNvbnRleHRNZW51SXRlbVNlbGVjdGVkCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcyOTgKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNl
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRp
bHMvRVdLMlVuaXRUZXN0QmFzZS5jcHAKaW5kZXggODNmYmI0MS4uMDFlM2VjMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9F
V0syVW5pdFRlc3RCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC90ZXN0cy9Vbml0VGVzdFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuY3BwCkBAIC0yMjQsNiArMjI0
LDE2IEBAIGJvb2wgRVdLMlVuaXRUZXN0QmFzZTo6d2FpdFVudGlsVVJMQ2hhbmdlZFRvKGNvbnN0
IGNoYXIqIGV4cGVjdGVkVVJMLCBkb3VibGUgdGltCiAgICAgcmV0dXJuICFkYXRhLmRpZFRpbWVP
dXQoKTsKIH0KIAorYm9vbCBFV0syVW5pdFRlc3RCYXNlOjp3YWl0VW50aWxUcnVlKGJvb2wgJmZs
YWcsIGRvdWJsZSB0aW1lb3V0U2Vjb25kcykKK3sKKyAgICBDYWxsYmFja0RhdGFFeHBlY3RlZFZh
bHVlPGJvb2w+IGRhdGEodHJ1ZSwgdGltZW91dFNlY29uZHMpOworCisgICAgd2hpbGUgKCFkYXRh
LmlzRG9uZSgpICYmICFmbGFnKQorICAgICAgICBlY29yZV9tYWluX2xvb3BfaXRlcmF0ZSgpOwor
CisgICAgcmV0dXJuICFkYXRhLmRpZFRpbWVPdXQoKTsKK30KKwogdm9pZCBFV0syVW5pdFRlc3RC
YXNlOjptb3VzZUNsaWNrKGludCB4LCBpbnQgeSwgaW50IGJ1dHRvbikKIHsKICAgICBFdmFzKiBl
dmFzID0gZXZhc19vYmplY3RfZXZhc19nZXQobV93ZWJWaWV3KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL1VuaXRUZXN0VXRpbHMvRVdLMlVuaXRU
ZXN0QmFzZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRl
c3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmgKaW5kZXggNTkyNGJlNi4uOTlmMWZhOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvVW5pdFRlc3RVdGls
cy9FV0syVW5pdFRlc3RCYXNlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9l
ZmwvdGVzdHMvVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RCYXNlLmgKQEAgLTUwLDYgKzUwLDcg
QEAgcHJvdGVjdGVkOgogICAgIGJvb2wgd2FpdFVudGlsTG9hZEZpbmlzaGVkKGRvdWJsZSB0aW1l
b3V0U2Vjb25kcyA9IGRlZmF1bHRUaW1lb3V0U2Vjb25kcyk7CiAgICAgYm9vbCB3YWl0VW50aWxU
aXRsZUNoYW5nZWRUbyhjb25zdCBjaGFyKiBleHBlY3RlZFRpdGxlLCBkb3VibGUgdGltZW91dFNl
Y29uZHMgPSBkZWZhdWx0VGltZW91dFNlY29uZHMpOwogICAgIGJvb2wgd2FpdFVudGlsVVJMQ2hh
bmdlZFRvKGNvbnN0IGNoYXIqIGV4cGVjdGVkVVJMLCBkb3VibGUgdGltZW91dFNlY29uZHMgPSBk
ZWZhdWx0VGltZW91dFNlY29uZHMpOworICAgIGJvb2wgd2FpdFVudGlsVHJ1ZShib29sICZmbGFn
LCBkb3VibGUgdGltZW91dFNlY29uZHMgPSBkZWZhdWx0VGltZW91dFNlY29uZHMpOwogCiAgICAg
dm9pZCBtb3VzZUNsaWNrKGludCB4LCBpbnQgeSwgaW50IGJ1dHRvbiA9IDEgLypMZWZ0Ki8pOwog
ICAgIHZvaWQgbW91c2VEb3duKGludCB4LCBpbnQgeSwgaW50IGJ1dHRvbiA9IDEgLypMZWZ0Ki8p
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVz
dF9ld2syX2NvbnRleHRfbWVudS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC90ZXN0cy90ZXN0X2V3azJfY29udGV4dF9tZW51LmNwcAppbmRleCA3NjEyNTJhLi5iZjVjNDc4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0
X2V3azJfY29udGV4dF9tZW51LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC90ZXN0cy90ZXN0X2V3azJfY29udGV4dF9tZW51LmNwcApAQCAtMjcsNiArMjcsMjAgQEAg
dXNpbmcgbmFtZXNwYWNlIEVXSzJVbml0VGVzdDsKIAogZXh0ZXJuIEVXSzJVbml0VGVzdEVudmly
b25tZW50KiBlbnZpcm9ubWVudDsKIAorc3RhdGljIGJvb2wgdGVzdEZpbmlzaGVkID0gZmFsc2U7
CisKK3N0YXRpYyBjb25zdCBFd2tfQ29udGV4dF9NZW51X0l0ZW1fVHlwZSBjdXN0b21JdGVtVHlw
ZSA9IEVXS19BQ1RJT05fVFlQRTsKK3N0YXRpYyBjb25zdCBFd2tfQ29udGV4dF9NZW51X0l0ZW1f
QWN0aW9uIGN1c3RvbUl0ZW1UYWcgPSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fQkFTRV9BUFBMSUNB
VElPTl9UQUc7CitzdGF0aWMgY29uc3QgY2hhciBjdXN0b21JdGVtVGl0bGVbXSA9ICJDdXN0b20g
SXRlbSI7CitzdGF0aWMgY29uc3QgYm9vbCBjdXN0b21JdGVtQ2hlY2tlZCA9IGZhbHNlOworc3Rh
dGljIGNvbnN0IGJvb2wgY3VzdG9tSXRlbUVuYWJsZWQgPSB0cnVlOworCitzdGF0aWMgY29uc3Qg
Y2hhciB3ZWJraXRJdGVtVGl0bGUxW10gPSAiT3BlbiBMaW5rIjsKK3N0YXRpYyBjb25zdCBjaGFy
IHdlYmtpdEl0ZW1UaXRsZTJbXSA9ICJPcGVuIExpbmsgaW4gTmV3IFdpbmRvdyI7CitzdGF0aWMg
Y29uc3QgY2hhciB3ZWJraXRJdGVtVGl0bGUzW10gPSAiRG93bmxvYWQgTGlua2VkIEZpbGUiOwor
c3RhdGljIGNvbnN0IGNoYXIgd2Via2l0SXRlbVRpdGxlNFtdID0gIkNvcHkgTGluayBMb2NhdGlv
biI7CitzdGF0aWMgY29uc3QgY2hhciB3ZWJraXRJdGVtTmV3VGl0bGVbXSA9ICJDb3B5IExpbmsi
OworCiBzdGF0aWMgaW5saW5lIHZvaWQgY2hlY2tCYXNpY0NvbnRleHRNZW51SXRlbShFd2tfQ29u
dGV4dF9NZW51X0l0ZW0qIGl0ZW0sIEV3a19Db250ZXh0X01lbnVfSXRlbV9UeXBlIHR5cGUsIEV3
a19Db250ZXh0X01lbnVfSXRlbV9BY3Rpb24gYWN0aW9uLCBjb25zdCBjaGFyKiB0aXRsZSwgRWlu
YV9Cb29sIGNoZWNrZWQsIEVpbmFfQm9vbCBlbmFibGVkKQogewogICAgIEFTU0VSVF9UUlVFKGl0
ZW0pOwpAQCAtMzgsMzQgKzUyLDY5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjaGVja0Jhc2ljQ29u
dGV4dE1lbnVJdGVtKEV3a19Db250ZXh0X01lbnVfSXRlbSogaXRlbSwgRXdrX0NvCiAgICAgRVhQ
RUNUX0VRKGVuYWJsZWQsIGV3a19jb250ZXh0X21lbnVfaXRlbV9lbmFibGVkX2dldChpdGVtKSk7
CiB9CiAKLXN0YXRpYyBFaW5hX0Jvb2wgc2hvd0NvbnRleHRNZW51KEV3a19WaWV3X1NtYXJ0X0Rh
dGEqIHNtYXJ0RGF0YSwgRXZhc19Db29yZCB4LCBFdmFzX0Nvb3JkIHksIEV3a19Db250ZXh0X01l
bnUqIGNvbnRleHRNZW51KQorc3RhdGljIEVpbmFfQm9vbCBjdXN0b21JdGVtU2VsZWN0ZWQoRXdr
X1ZpZXdfU21hcnRfRGF0YSosIEV3a19Db250ZXh0X01lbnVfSXRlbSogaXRlbSkKK3sKKyAgICBj
aGVja0Jhc2ljQ29udGV4dE1lbnVJdGVtKGl0ZW0sIGN1c3RvbUl0ZW1UeXBlLCBzdGF0aWNfY2Fz
dDxFd2tfQ29udGV4dF9NZW51X0l0ZW1fQWN0aW9uPihjdXN0b21JdGVtVGFnKSwgY3VzdG9tSXRl
bVRpdGxlLCBjdXN0b21JdGVtQ2hlY2tlZCwgY3VzdG9tSXRlbUVuYWJsZWQpOworCisgICAgcmV0
dXJuIHRydWU7Cit9CisKKy8qKgorICogVGhpcyBjYWxsYmFjayByZWNlaXZlcyBjb250ZXh0IG1l
bnUgY2FsbGVkIHVwb24gbGluayB3aXRoIGl0ZW1zIGdlbmVyYXRlZCBieSBXZWJLaXQyLgorICog
SXRlbXMgaGF2ZSB0aGVpciBwcm9wZXJ0aWVzIG1vZGlmaWVkLCBhbmQgb25lIG9mIGl0ZW1zIGlz
IHNlbGVjdGVkLgorICovCitzdGF0aWMgRWluYV9Cb29sIHNob3dDb250ZXh0TWVudShFd2tfVmll
d19TbWFydF9EYXRhKiwgRXZhc19Db29yZCwgRXZhc19Db29yZCwgRXdrX0NvbnRleHRfTWVudSog
Y29udGV4dE1lbnUpCiB7CiAgICAgY29uc3QgRWluYV9MaXN0KiBsaXN0ID0gZXdrX2NvbnRleHRf
bWVudV9pdGVtc19nZXQoY29udGV4dE1lbnUpOwogICAgIEVYUEVDVF9FUSg0LCBlaW5hX2xpc3Rf
Y291bnQobGlzdCkpOwogCiAgICAgRXdrX0NvbnRleHRfTWVudV9JdGVtKiBpdGVtID0gc3RhdGlj
X2Nhc3Q8RXdrX0NvbnRleHRfTWVudV9JdGVtKj4oZWluYV9saXN0X250aChsaXN0LCAwKSk7Ci0g
ICAgY2hlY2tCYXNpY0NvbnRleHRNZW51SXRlbShpdGVtLCBFV0tfQUNUSU9OX1RZUEUsIEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfR09fQkFDSywgIkdvIEJhY2siLCBmYWxzZSwgdHJ1ZSk7Ci0K
LSAgICAvLyBXaGVuIGNvbnRleHQgbWVudSBpcyBjcmVhdGVkIGJ5IFdlYktpdCwgYW4gaXRlbSBz
aG91bGQgaGF2ZSBwYXJlbnQgbWVudS4KLSAgICBFWFBFQ1RfRVEoY29udGV4dE1lbnUsIGV3a19j
b250ZXh0X21lbnVfaXRlbV9wYXJlbnRfbWVudV9nZXQoaXRlbSkpOworICAgIGNoZWNrQmFzaWND
b250ZXh0TWVudUl0ZW0oaXRlbSwgRVdLX0FDVElPTl9UWVBFLCBFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX09QRU5fTElOSywgd2Via2l0SXRlbVRpdGxlMSwgZmFsc2UsIHRydWUpOwogCiAgICAg
aXRlbSA9IHN0YXRpY19jYXN0PEV3a19Db250ZXh0X01lbnVfSXRlbSo+KGVpbmFfbGlzdF9udGgo
bGlzdCwgMSkpOwotICAgIGNoZWNrQmFzaWNDb250ZXh0TWVudUl0ZW0oaXRlbSwgRVdLX0FDVElP
Tl9UWVBFLCBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0dPX0ZPUldBUkQsICJHbyBGb3J3YXJk
IiwgZmFsc2UsIHRydWUpOworICAgIGNoZWNrQmFzaWNDb250ZXh0TWVudUl0ZW0oaXRlbSwgRVdL
X0FDVElPTl9UWVBFLCBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09QRU5fTElOS19JTl9ORVdf
V0lORE9XLCB3ZWJraXRJdGVtVGl0bGUyLCBmYWxzZSwgdHJ1ZSk7CiAgICAgZXdrX2NvbnRleHRf
bWVudV9pdGVtX2VuYWJsZWRfc2V0KGl0ZW0sIGZhbHNlKTsKICAgICBFWFBFQ1RfRkFMU0UoZXdr
X2NvbnRleHRfbWVudV9pdGVtX2VuYWJsZWRfZ2V0KGl0ZW0pKTsKIAogICAgIGl0ZW0gPSBzdGF0
aWNfY2FzdDxFd2tfQ29udGV4dF9NZW51X0l0ZW0qPihlaW5hX2xpc3RfbnRoKGxpc3QsIDIpKTsK
LSAgICBjaGVja0Jhc2ljQ29udGV4dE1lbnVJdGVtKGl0ZW0sIEVXS19BQ1RJT05fVFlQRSwgRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TVE9QLCAiU3RvcCIsIGZhbHNlLCB0cnVlKTsKKyAgICBj
aGVja0Jhc2ljQ29udGV4dE1lbnVJdGVtKGl0ZW0sIEVXS19BQ1RJT05fVFlQRSwgRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19ET1dOTE9BRF9MSU5LX1RPX0RJU0ssIHdlYmtpdEl0ZW1UaXRsZTMs
IGZhbHNlLCB0cnVlKTsKICAgICBld2tfY29udGV4dF9tZW51X2l0ZW1fY2hlY2tlZF9zZXQoaXRl
bSwgdHJ1ZSk7CiAgICAgRVhQRUNUX1RSVUUoZXdrX2NvbnRleHRfbWVudV9pdGVtX2NoZWNrZWRf
Z2V0KGl0ZW0pKTsKIAogICAgIGl0ZW0gPSBzdGF0aWNfY2FzdDxFd2tfQ29udGV4dF9NZW51X0l0
ZW0qPihlaW5hX2xpc3RfbnRoKGxpc3QsIDMpKTsKLSAgICBjaGVja0Jhc2ljQ29udGV4dE1lbnVJ
dGVtKGl0ZW0sIEVXS19BQ1RJT05fVFlQRSwgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19SRUxP
QUQsICJSZWxvYWQiLCBmYWxzZSwgdHJ1ZSk7Ci0gICAgZXdrX2NvbnRleHRfbWVudV9pdGVtX3Rp
dGxlX3NldChpdGVtLCAiUmVmcmVzaCIpOwotICAgIEVYUEVDVF9TVFJFUSgiUmVmcmVzaCIsIGV3
a19jb250ZXh0X21lbnVfaXRlbV90aXRsZV9nZXQoaXRlbSkpOworICAgIGNoZWNrQmFzaWNDb250
ZXh0TWVudUl0ZW0oaXRlbSwgRVdLX0FDVElPTl9UWVBFLCBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX0NPUFlfTElOS19UT19DTElQQk9BUkQsIHdlYmtpdEl0ZW1UaXRsZTQsIGZhbHNlLCB0cnVl
KTsKKyAgICBld2tfY29udGV4dF9tZW51X2l0ZW1fdGl0bGVfc2V0KGl0ZW0sIHdlYmtpdEl0ZW1O
ZXdUaXRsZSk7CisgICAgRVhQRUNUX1NUUkVRKHdlYmtpdEl0ZW1OZXdUaXRsZSwgZXdrX2NvbnRl
eHRfbWVudV9pdGVtX3RpdGxlX2dldChpdGVtKSk7CisKKyAgICAvLyBXaGVuIGNvbnRleHQgbWVu
dSBpcyBjcmVhdGVkIGJ5IFdlYktpdCwgYW4gaXRlbSBzaG91bGQgaGF2ZSBwYXJlbnQgbWVudS4K
KyAgICBFWFBFQ1RfRVEoY29udGV4dE1lbnUsIGV3a19jb250ZXh0X21lbnVfaXRlbV9wYXJlbnRf
bWVudV9nZXQoaXRlbSkpOworCisgICAgaXRlbSA9IHN0YXRpY19jYXN0PEV3a19Db250ZXh0X01l
bnVfSXRlbSo+KGVpbmFfbGlzdF9udGgobGlzdCwgMCkpOworCisgICAgRVhQRUNUX1RSVUUoZXdr
X2NvbnRleHRfbWVudV9pdGVtX3NlbGVjdChjb250ZXh0TWVudSwgaXRlbSkpOworCisgICAgcmV0
dXJuIHRydWU7Cit9CisKKy8qKgorICogVGhpcyBjYWxsYmFjayByZWNlaXZlcyBjb250ZXh0IG1l
bnUgY2FsbGVkIHVwb24gbGluayB3aXRoIGl0ZW1zIGdlbmVyYXRlZCBieSBXZWJLaXQyLgorICog
UmVjZWl2ZWQgaXRlbXMgYXJlIHJlbW92ZWQsIHRoZW4gY3VzdG9tIGl0ZW0gaXMgY3JlYXRlZCBh
bmQgc2VsZWN0ZWQuCisgKi8KK3N0YXRpYyBFaW5hX0Jvb2wgc2hvd0NvbnRleHRNZW51Rm9yUmVt
b3ZlQW5kQXBwZW5kKEV3a19WaWV3X1NtYXJ0X0RhdGEqLCBFdmFzX0Nvb3JkLCBFdmFzX0Nvb3Jk
LCBFd2tfQ29udGV4dF9NZW51KiBjb250ZXh0TWVudSkKK3sKKyAgICBjb25zdCBFaW5hX0xpc3Qq
IGxpc3QgPSBld2tfY29udGV4dF9tZW51X2l0ZW1zX2dldChjb250ZXh0TWVudSk7CisgICAgRVhQ
RUNUX0VRKDQsIGVpbmFfbGlzdF9jb3VudChsaXN0KSk7CisKKyAgICBjb25zdCBFaW5hX0xpc3Qq
IGxpc3RJdGVyYXRvcjsKKyAgICB2b2lkKiBkYXRhOworICAgIEVJTkFfTElTVF9GT1JFQUNIKGxp
c3QsIGxpc3RJdGVyYXRvciwgZGF0YSkKKyAgICAgICAgZXdrX2NvbnRleHRfbWVudV9pdGVtX3Jl
bW92ZShjb250ZXh0TWVudSwgc3RhdGljX2Nhc3Q8RXdrX0NvbnRleHRfTWVudV9JdGVtKj4oZGF0
YSkpOworCisgICAgbGlzdCA9IGV3a19jb250ZXh0X21lbnVfaXRlbXNfZ2V0KGNvbnRleHRNZW51
KTsKKyAgICBFWFBFQ1RfRVEoMCwgZWluYV9saXN0X2NvdW50KGxpc3QpKTsKKworICAgIEV3a19D
b250ZXh0X01lbnVfSXRlbSogbmV3SXRlbSA9IGV3a19jb250ZXh0X21lbnVfaXRlbV9uZXcoY3Vz
dG9tSXRlbVR5cGUsIGN1c3RvbUl0ZW1UYWcsIGN1c3RvbUl0ZW1UaXRsZSwgY3VzdG9tSXRlbUNo
ZWNrZWQsIGN1c3RvbUl0ZW1FbmFibGVkKTsKIAotICAgIC8vIE1ha2VzIG5ldyBjb250ZXh0IG1l
bnUgaXRlbXMuCi0gICAgRXdrX0NvbnRleHRfTWVudV9JdGVtKiBuZXdJdGVtID0gZXdrX2NvbnRl
eHRfbWVudV9pdGVtX25ldyhFV0tfQUNUSU9OX1RZUEUsIEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfT1RIRVIsICJOZXcgQ3VzdG9tIEl0ZW0iLCBmYWxzZSwgdHJ1ZSk7CiAgICAgLy8gV2hlbiBj
b250ZXh0IG1lbnUgaXRlbSBpcyBjcmVhdGVkIHVzaW5nIGV3a19jb250ZXh0X21lbnVfaXRlbV9u
ZXcsIGl0IHNob3VsZCBub3QgaGF2ZSBwYXJlbnQgbWVudS4KICAgICBFWFBFQ1RfRVEoMCwgZXdr
X2NvbnRleHRfbWVudV9pdGVtX3BhcmVudF9tZW51X2dldChuZXdJdGVtKSk7CiAgICAgZXdrX2Nv
bnRleHRfbWVudV9pdGVtX2FwcGVuZChjb250ZXh0TWVudSwgbmV3SXRlbSk7CkBAIC03MywxMyAr
MTIyLDI2IEBAIHN0YXRpYyBFaW5hX0Jvb2wgc2hvd0NvbnRleHRNZW51KEV3a19WaWV3X1NtYXJ0
X0RhdGEqIHNtYXJ0RGF0YSwgRXZhc19Db29yZCB4LCBFCiAgICAgLy8gV2hlbiBjb250ZXh0IG1l
bnUgaXRlbSBpcyBhZGRlZCB0byBtZW51IHVzaW5nIGV3a19jb250ZXh0X21lbnVfaXRlbV9hcHBl
bmQsIGl0IHNob3VsZCBoYXZlIHBhcmVudCBtZW51LgogICAgIEVYUEVDVF9FUShjb250ZXh0TWVu
dSwgZXdrX2NvbnRleHRfbWVudV9pdGVtX3BhcmVudF9tZW51X2dldChuZXdJdGVtKSk7CiAKLSAg
ICAvLyBXaGVuIGNvbnRleHQgbWVudSBpdGVtIHdhcyBjcmVhdGVkIHVzaW5nIGV3a19jb250ZXh0
X21lbnVfaXRlbV9uZXcsIHN1Ym1lbnUgc2hvdWxkIGJlIDAuCisgICAgLy8gV2hlbiBub24gc3Vi
bWVudSB0eXBlIGNvbnRleHQgbWVudSBpdGVtIHdhcyBjcmVhdGVkIHVzaW5nIGV3a19jb250ZXh0
X21lbnVfaXRlbV9uZXcsIHN1Ym1lbnUgc2hvdWxkIGJlIDAuCiAgICAgRVhQRUNUX0VRKDAsIGV3
a19jb250ZXh0X21lbnVfaXRlbV9zdWJtZW51X2dldChuZXdJdGVtKSk7CiAKKyAgICBFWFBFQ1Rf
VFJVRShld2tfY29udGV4dF9tZW51X2l0ZW1fc2VsZWN0KGNvbnRleHRNZW51LCBuZXdJdGVtKSk7
CisKKyAgICBld2tfY29udGV4dF9tZW51X2hpZGUoY29udGV4dE1lbnUpOworCisgICAgcmV0dXJu
IHRydWU7Cit9CisKKy8qKgorICogVGhpcyBjYWxsYmFjayByZWNlaXZlcyBjb250ZXh0IG1lbnUg
Y2FsbGVkIHVwb24gbGluayB3aXRoIGl0ZW1zIGdlbmVyYXRlZCBieSBXZWJLaXQyLgorICogTmV3
IHN1Ym1lbnVzIGFyZSBjcmVhdGVkLCBvbmUgb2Ygc3VibWVudSdzIGl0ZW0gaXMgc2VsZWN0ZWQu
CisgKi8KK3N0YXRpYyBFaW5hX0Jvb2wgc2hvd0NvbnRleHRNZW51Rm9yU3VibWVudShFd2tfVmll
d19TbWFydF9EYXRhKiwgRXZhc19Db29yZCwgRXZhc19Db29yZCwgRXdrX0NvbnRleHRfTWVudSog
Y29udGV4dE1lbnUpCit7CiAgICAgRWluYV9MaXN0KiBzdWJNZW51SXRlbUxpc3QgPSAwOwotICAg
IEV3a19Db250ZXh0X01lbnVfSXRlbSogc3ViTWVudUl0ZW0xID0gZXdrX2NvbnRleHRfbWVudV9p
dGVtX25ldyhFV0tfQUNUSU9OX1RZUEUsIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1RIRVIs
ICJOZXcgU3ViTWVudSBJdGVtIDEiLCBmYWxzZSwgdHJ1ZSk7Ci0gICAgRXdrX0NvbnRleHRfTWVu
dV9JdGVtKiBzdWJNZW51SXRlbTIgPSBld2tfY29udGV4dF9tZW51X2l0ZW1fbmV3KEVXS19BQ1RJ
T05fVFlQRSwgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PVEhFUiwgIk5ldyBTdWJNZW51IEl0
ZW0gMiIsIGZhbHNlLCB0cnVlKTsKLSAgICBFd2tfQ29udGV4dF9NZW51X0l0ZW0qIHN1Yk1lbnVJ
dGVtMyA9IGV3a19jb250ZXh0X21lbnVfaXRlbV9uZXcoRVdLX0FDVElPTl9UWVBFLCBFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX09USEVSLCAiTmV3IFN1Yk1lbnUgSXRlbSAzIiwgZmFsc2UsIHRy
dWUpOworICAgIEV3a19Db250ZXh0X01lbnVfSXRlbSogc3ViTWVudUl0ZW0xID0gZXdrX2NvbnRl
eHRfbWVudV9pdGVtX25ldyhjdXN0b21JdGVtVHlwZSwgY3VzdG9tSXRlbVRhZywgY3VzdG9tSXRl
bVRpdGxlLCBjdXN0b21JdGVtQ2hlY2tlZCwgY3VzdG9tSXRlbUVuYWJsZWQpOworICAgIEV3a19D
b250ZXh0X01lbnVfSXRlbSogc3ViTWVudUl0ZW0yID0gZXdrX2NvbnRleHRfbWVudV9pdGVtX25l
dyhFV0tfQUNUSU9OX1RZUEUsIHN0YXRpY19jYXN0PEV3a19Db250ZXh0X01lbnVfSXRlbV9BY3Rp
b24+KGN1c3RvbUl0ZW1UYWcgKyAxKSwgIk5ldyBTdWJNZW51IEl0ZW0gMiIsIGZhbHNlLCB0cnVl
KTsKKyAgICBFd2tfQ29udGV4dF9NZW51X0l0ZW0qIHN1Yk1lbnVJdGVtMyA9IGV3a19jb250ZXh0
X21lbnVfaXRlbV9uZXcoRVdLX0FDVElPTl9UWVBFLCBzdGF0aWNfY2FzdDxFd2tfQ29udGV4dF9N
ZW51X0l0ZW1fQWN0aW9uPihjdXN0b21JdGVtVGFnICsgMiksICJOZXcgU3ViTWVudSBJdGVtIDMi
LCBmYWxzZSwgdHJ1ZSk7CiAgICAgc3ViTWVudUl0ZW1MaXN0ID0gZWluYV9saXN0X2FwcGVuZChz
dWJNZW51SXRlbUxpc3QsIHN1Yk1lbnVJdGVtMSk7CiAgICAgc3ViTWVudUl0ZW1MaXN0ID0gZWlu
YV9saXN0X2FwcGVuZChzdWJNZW51SXRlbUxpc3QsIHN1Yk1lbnVJdGVtMik7CiAgICAgc3ViTWVu
dUl0ZW1MaXN0ID0gZWluYV9saXN0X2FwcGVuZChzdWJNZW51SXRlbUxpc3QsIHN1Yk1lbnVJdGVt
Myk7CkBAIC04OCwzMSArMTUwLDMxIEBAIHN0YXRpYyBFaW5hX0Jvb2wgc2hvd0NvbnRleHRNZW51
KEV3a19WaWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0YSwgRXZhc19Db29yZCB4LCBFCiAgICAgLy8g
V2hlbiBjb250ZXh0IG1lbnUgaXMgY3JlYXRlZCB1c2luZyBld2tfY29udGV4dF9tZW51X25ld193
aXRoX2l0ZW1zLCBpdGVtcyBzaG91bGQgaGF2ZSBwYXJlbnQgbWVudS4KICAgICBFWFBFQ1RfRVEo
c3ViTWVudSwgZXdrX2NvbnRleHRfbWVudV9pdGVtX3BhcmVudF9tZW51X2dldChzdWJNZW51SXRl
bTEpKTsKIAotICAgIEV3a19Db250ZXh0X01lbnVfSXRlbSogbmV3SXRlbTIgPSBld2tfY29udGV4
dF9tZW51X2l0ZW1fbmV3X3dpdGhfc3VibWVudShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09U
SEVSLCAiTmV3IEN1c3RvbSBJdGVtIDIiLCB0cnVlLCBzdWJNZW51KTsKKyAgICBFd2tfQ29udGV4
dF9NZW51X0l0ZW0qIG5ld0l0ZW0gPSBld2tfY29udGV4dF9tZW51X2l0ZW1fbmV3X3dpdGhfc3Vi
bWVudShFV0tfQ09OVEVYVF9NRU5VX0lURU1fQkFTRV9BUFBMSUNBVElPTl9UQUcsICJOZXcgQ3Vz
dG9tIEl0ZW0iLCB0cnVlLCBzdWJNZW51KTsKICAgICAvLyBXaGVuIGNvbnRleHQgbWVudSBpdGVt
IGlzIGNyZWF0ZWQgdXNpbmcgZXdrX2NvbnRleHRfbWVudV9pdGVtX25ld193aXRoX3N1Ym1lbnUs
IGl0IHNob3VsZCBub3QgaGF2ZSBwYXJlbnQgbWVudS4KICAgICBFWFBFQ1RfRVEoMCwgZXdrX2Nv
bnRleHRfbWVudV9pdGVtX3BhcmVudF9tZW51X2dldChuZXdJdGVtKSk7Ci0gICAgZXdrX2NvbnRl
eHRfbWVudV9pdGVtX2FwcGVuZChjb250ZXh0TWVudSwgbmV3SXRlbTIpOworICAgIGV3a19jb250
ZXh0X21lbnVfaXRlbV9hcHBlbmQoY29udGV4dE1lbnUsIG5ld0l0ZW0pOwogCiAgICAgLy8gQ29u
dGV4dCBtZW51IHJlY2VpdmVkIGZyb20gZXdrX2NvbnRleHRfbWVudV9pdGVtX3N1Ym1lbnVfZ2V0
IHNob3VsZCBiZSB0aGUgc2FtZSBhcyBvbmUgdXNlZCB0byBjcmVhdGUgc3ViIG1lbnUuCi0gICAg
RVhQRUNUX0VRKHN1Yk1lbnUsIGV3a19jb250ZXh0X21lbnVfaXRlbV9zdWJtZW51X2dldChuZXdJ
dGVtMikpOworICAgIEVYUEVDVF9FUShzdWJNZW51LCBld2tfY29udGV4dF9tZW51X2l0ZW1fc3Vi
bWVudV9nZXQobmV3SXRlbSkpOwogCiAgICAgLy8gV2hlbiBjb250ZXh0IG1lbnUgaXRlbSBpcyBj
cmVhdGVkIHVzaW5nIGV3a19jb250ZXh0X21lbnVfaXRlbV9uZXdfd2l0aF9zdWJtZW51IGFuZCBh
ZGRlZCB1c2luZyBld2tfY29udGV4dF9tZW51X2l0ZW1fYXBwZW5kIGl0IHNob3VsZCBoYXZlIHBh
cmVudCBtZW51LgogICAgIEVYUEVDVF9FUShjb250ZXh0TWVudSwgZXdrX2NvbnRleHRfbWVudV9p
dGVtX3BhcmVudF9tZW51X2dldChuZXdJdGVtKSk7CiAKICAgICBFd2tfQ29udGV4dF9NZW51KiBz
dWJNZW51MiA9IGV3a19jb250ZXh0X21lbnVfbmV3KCk7Ci0gICAgRXdrX0NvbnRleHRfTWVudV9J
dGVtKiBuZXdJdGVtMyA9IGV3a19jb250ZXh0X21lbnVfaXRlbV9uZXdfd2l0aF9zdWJtZW51KEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfT1RIRVIsICJOZXcgQ3VzdG9tIEl0ZW0gMyIsIHRydWUs
IHN1Yk1lbnUyKTsKLSAgICBld2tfY29udGV4dF9tZW51X2l0ZW1fYXBwZW5kKGNvbnRleHRNZW51
LCBuZXdJdGVtMyk7CisgICAgRXdrX0NvbnRleHRfTWVudV9JdGVtKiBuZXdJdGVtMiA9IGV3a19j
b250ZXh0X21lbnVfaXRlbV9uZXdfd2l0aF9zdWJtZW51KEVXS19DT05URVhUX01FTlVfSVRFTV9C
QVNFX0FQUExJQ0FUSU9OX1RBRywgIk5ldyBDdXN0b20gSXRlbSAyIiwgdHJ1ZSwgc3ViTWVudTIp
OworICAgIGV3a19jb250ZXh0X21lbnVfaXRlbV9hcHBlbmQoY29udGV4dE1lbnUsIG5ld0l0ZW0y
KTsKIAotICAgIGxpc3QgPSBld2tfY29udGV4dF9tZW51X2l0ZW1zX2dldChjb250ZXh0TWVudSk7
Ci0gICAgRVhQRUNUX0VRKDcsIGVpbmFfbGlzdF9jb3VudChsaXN0KSk7CisgICAgRVhQRUNUX1RS
VUUoZXdrX2NvbnRleHRfbWVudV9pdGVtX3NlbGVjdChld2tfY29udGV4dF9tZW51X2l0ZW1fcGFy
ZW50X21lbnVfZ2V0KHN1Yk1lbnVJdGVtMSksIHN1Yk1lbnVJdGVtMSkpOwogCi0gICAgZXdrX2Nv
bnRleHRfbWVudV9pdGVtX3JlbW92ZShjb250ZXh0TWVudSwgbmV3SXRlbSk7Ci0gICAgZXdrX2Nv
bnRleHRfbWVudV9pdGVtX3JlbW92ZShjb250ZXh0TWVudSwgbmV3SXRlbTIpOwotICAgIGV3a19j
b250ZXh0X21lbnVfaXRlbV9yZW1vdmUoY29udGV4dE1lbnUsIG5ld0l0ZW0zKTsKLSAgICBsaXN0
ID0gZXdrX2NvbnRleHRfbWVudV9pdGVtc19nZXQoY29udGV4dE1lbnUpOwotICAgIEVYUEVDVF9F
USg0LCBlaW5hX2xpc3RfY291bnQobGlzdCkpOworICAgIGV3a19jb250ZXh0X21lbnVfaGlkZShl
d2tfY29udGV4dF9tZW51X2l0ZW1fcGFyZW50X21lbnVfZ2V0KHN1Yk1lbnVJdGVtMSkpOwogCi0g
ICAgRVhQRUNUX1RSVUUoZXdrX2NvbnRleHRfbWVudV9pdGVtX3NlbGVjdChjb250ZXh0TWVudSwg
aXRlbSkpOworICAgIHJldHVybiB0cnVlOworfQorCitzdGF0aWMgRWluYV9Cb29sIGhpZGVDb250
ZXh0TWVudShFd2tfVmlld19TbWFydF9EYXRhKikKK3sKKyAgICB0ZXN0RmluaXNoZWQgPSB0cnVl
OwogCiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xMjIsMTEgKzE4NCwzNSBAQCBURVNUX0YoRVdL
MlVuaXRUZXN0QmFzZSwgZXdrX2NvbnRleHRfbWVudV9pdGVtX3NlbGVjdCkKICAgICBjb25zdCBj
aGFyKiBpdGVtU2VsZWN0SFRNTCA9CiAgICAgICAgICI8aHRtbD4iCiAgICAgICAgICI8Ym9keT48
YSBocmVmPWh0dHA6Ly93d3cuZ29vZ2xlLmNvbT5UZXN0IExpbms8L2E+PC9ib2R5PiIKLSAgICAg
ICAgIjwvYm9keT48L2h0bWw+IjsgCisgICAgICAgICI8L2h0bWw+IjsKIAogICAgIGV3a1ZpZXdD
bGFzcygpLT5jb250ZXh0X21lbnVfc2hvdyA9IHNob3dDb250ZXh0TWVudTsKIAogICAgIGV3a192
aWV3X2h0bWxfc3RyaW5nX2xvYWQod2ViVmlldygpLCBpdGVtU2VsZWN0SFRNTCwgImZpbGU6Ly8v
IiwgMCk7Ci0gICAgbW91c2VDbGljaygyMCwgMzAsIC8qUmlnaHQqLyAzKTsKICAgICBBU1NFUlRf
VFJVRSh3YWl0VW50aWxMb2FkRmluaXNoZWQoKSk7CisgICAgbW91c2VDbGljaygxMCwgMjAsIC8q
UmlnaHQqLyAzKTsKKyAgICBBU1NFUlRfVFJVRSh3YWl0VW50aWxMb2FkRmluaXNoZWQoKSk7Cit9
CisKK1RFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfY29udGV4dF9tZW51X2N1c3RvbV9pdGVt
cykKK3sKKyAgICBjb25zdCBjaGFyKiBpdGVtU2VsZWN0SFRNTCA9CisgICAgICAgICI8aHRtbD4i
CisgICAgICAgICI8Ym9keT48YSBocmVmPWh0dHA6Ly93d3cuZ29vZ2xlLmNvbT5UZXN0IExpbms8
L2E+PC9ib2R5PiIKKyAgICAgICAgIjwvaHRtbD4iOworCisgICAgZXdrVmlld0NsYXNzKCktPmN1
c3RvbV9pdGVtX3NlbGVjdGVkID0gY3VzdG9tSXRlbVNlbGVjdGVkOworICAgIGV3a1ZpZXdDbGFz
cygpLT5jb250ZXh0X21lbnVfc2hvdyA9IHNob3dDb250ZXh0TWVudUZvclJlbW92ZUFuZEFwcGVu
ZDsKKyAgICBld2tWaWV3Q2xhc3MoKS0+Y29udGV4dF9tZW51X2hpZGUgPSBoaWRlQ29udGV4dE1l
bnU7CisKKyAgICBld2tfdmlld19odG1sX3N0cmluZ19sb2FkKHdlYlZpZXcoKSwgaXRlbVNlbGVj
dEhUTUwsICJmaWxlOi8vLyIsIDApOworICAgIEFTU0VSVF9UUlVFKHdhaXRVbnRpbExvYWRGaW5p
c2hlZCgpKTsKKyAgICBtb3VzZUNsaWNrKDEwLCAyMCwgLypSaWdodCovIDMpOworICAgIHRlc3RG
aW5pc2hlZCA9IGZhbHNlOworICAgIEFTU0VSVF9UUlVFKHdhaXRVbnRpbFRydWUodGVzdEZpbmlz
aGVkKSk7CisKKyAgICBld2tWaWV3Q2xhc3MoKS0+Y29udGV4dF9tZW51X3Nob3cgPSBzaG93Q29u
dGV4dE1lbnVGb3JTdWJtZW51OworICAgIG1vdXNlQ2xpY2soMTAsIDIwLCAvKlJpZ2h0Ki8gMyk7
CisgICAgdGVzdEZpbmlzaGVkID0gZmFsc2U7CisgICAgQVNTRVJUX1RSVUUod2FpdFVudGlsVHJ1
ZSh0ZXN0RmluaXNoZWQpKTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>