<?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>116311</bug_id>
          
          <creation_ts>2013-05-17 06:34:05 -0700</creation_ts>
          <short_desc>[EFL][WK2] Make Ewk_Context_Menu_Item Ewk_Object</short_desc>
          <delta_ts>2013-05-22 05:16:48 -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>WONTFIX</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>116549</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>mikhail.pozdnyakov</cc>
    
    <cc>rakuco</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>890332</commentid>
    <comment_count>0</comment_count>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-05-17 06:34:05 -0700</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891669</commentid>
    <comment_count>1</comment_count>
      <attachid>202400</attachid>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-05-21 02:45:10 -0700</bug_when>
    <thetext>Created attachment 202400
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891675</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-05-21 03:14:47 -0700</bug_when>
    <thetext>I applied your patch, lunched Google and did a right click to show the context menu and experienced the following crash:

chris@cdumez-samsung:~/devel/WebKit$ WebKitBuild/Debug/bin/MiniBrowser 
HTML5 local storage is enabled for this view.
ASSERTION FAILED: !m_adoptionIsRequired
/home/chris/devel/WebKit/Source/WTF/wtf/RefCounted.h(59) : void WTF::RefCountedBase::ref()
1   0x7fb0b7d1f3f7 WTFCrash
2   0x7fb0b79fd153 WTF::RefCountedBase::ref()
3   0x7fb0b7c8f0d2 void WTF::refIfNotNull&lt;EwkContextMenu&gt;(EwkContextMenu*)
4   0x7fb0b7c8efe7 WTF::PassRefPtr&lt;EwkContextMenu&gt;::PassRefPtr(EwkContextMenu*)
5   0x7fb0b7c8e05e EwkContextMenu::EwkContextMenu(EwkView*, OpaqueWKArray const*)
6   0x7fb0b7c81389 EwkContextMenu::create(EwkView*, OpaqueWKArray const*)
7   0x7fb0b7c7eee8 EwkView::showContextMenu(WKPoint, OpaqueWKArray const*)
8   0x7fb0b7ca76c9
9   0x7fb0b7ada688 WebKit::WebPageContextMenuClient::showContextMenu(WebKit::WebPageProxy*, WebCore::IntPoint const&amp;, WTF::Vector&lt;WebKit::WebContextMenuItemData, 0ul, WTF::CrashOnOverflow&gt; const&amp;)
10  0x7fb0b7aee224 WebKit::WebPageProxy::internalShowContextMenu(WebCore::IntPoint const&amp;, WebKit::WebHitTestResult::Data const&amp;, WTF::Vector&lt;WebKit::WebContextMenuItemData, 0ul, WTF::CrashOnOverflow&gt; const&amp;, CoreIPC::MessageDecoder&amp;)
11  0x7fb0b7aedfe4 WebKit::WebPageProxy::showContextMenu(WebCore::IntPoint const&amp;, WebKit::WebHitTestResult::Data const&amp;, WTF::Vector&lt;WebKit::WebContextMenuItemData, 0ul, WTF::CrashOnOverflow&gt; const&amp;, CoreIPC::MessageDecoder&amp;)
12  0x7fb0b7cf9558 void CoreIPC::callMemberFunction&lt;WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(WebCore::IntPoint const&amp;, WebKit::WebHitTestResult::Data const&amp;, WTF::Vector&lt;WebKit::WebContextMenuItemData, 0ul, WTF::CrashOnOverflow&gt; const&amp;, CoreIPC::MessageDecoder&amp;), WebCore::IntPoint, WebKit::WebHitTestResult::Data, WTF::Vector&lt;WebKit::WebContextMenuItemData, 0ul, WTF::CrashOnOverflow&gt; &gt;(CoreIPC::Arguments3&lt;WebCore::IntPoint, WebKit::WebHitTestResult::Data, WTF::Vector&lt;WebKit::WebContextMenuItemData, 0ul, WTF::CrashOnOverflow&gt; &gt; const&amp;, CoreIPC::MessageDecoder&amp;, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebCore::IntPoint const&amp;, WebKit::WebHitTestResult::Data const&amp;, WTF::Vector&lt;WebKit::WebContextMenuItemData, 0ul, WTF::CrashOnOverflow&gt; const&amp;, CoreIPC::MessageDecoder&amp;))
13  0x7fb0b7cf54ad void CoreIPC::handleMessageVariadic&lt;Messages::WebPageProxy::ShowContextMenu, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(WebCore::IntPoint const&amp;, WebKit::WebHitTestResult::Data const&amp;, WTF::Vector&lt;WebKit::WebContextMenuItemData, 0ul, WTF::CrashOnOverflow&gt; const&amp;, CoreIPC::MessageDecoder&amp;)&gt;(CoreIPC::MessageDecoder&amp;, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(WebCore::IntPoint const&amp;, WebKit::WebHitTestResult::Data const&amp;, WTF::Vector&lt;WebKit::WebContextMenuItemData, 0ul, WTF::CrashOnOverflow&gt; const&amp;, CoreIPC::MessageDecoder&amp;))
14  0x7fb0b7cf00a3 WebKit::WebPageProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&amp;)
15  0x7fb0b7a1525a CoreIPC::MessageReceiverMap::dispatchMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&amp;)
16  0x7fb0b7a2a079 WebKit::ChildProcessProxy::dispatchMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&amp;)
17  0x7fb0b7b29ef1 WebKit::WebProcessProxy::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&amp;)
18  0x7fb0b7a03468 CoreIPC::Connection::dispatchMessage(CoreIPC::MessageDecoder&amp;)
19  0x7fb0b7a03548 CoreIPC::Connection::dispatchMessage(WTF::PassOwnPtr&lt;CoreIPC::MessageDecoder&gt;)
20  0x7fb0b7a03759 CoreIPC::Connection::dispatchOneMessage()
21  0x7fb0b7a14639 WTF::FunctionWrapper&lt;void (CoreIPC::Connection::*)()&gt;::operator()(CoreIPC::Connection*)
22  0x7fb0b7a141be WTF::BoundFunctionImpl&lt;WTF::FunctionWrapper&lt;void (CoreIPC::Connection::*)()&gt;, void (CoreIPC::Connection*)&gt;::operator()()
23  0x7fb0b7c2a63d WTF::Function&lt;void ()&gt;::operator()() const
24  0x7fb0b32f5eeb WebCore::RunLoop::performWork()
25  0x7fb0b3e5eb3c WebCore::RunLoop::wakeUpEvent(void*, void*, unsigned int)
26  0x7fb0b83a6a07
27  0x7fb0b83a5a21
28  0x7fb0b83a5e97 ecore_main_loop_begin
29  0x409b56 elm_main
30  0x409b98 main
31  0x7fb0b6cfeea5 __libc_start_main
Segmentation fault (core dumped)
chris@cdumez-samsung:~/devel/WebKit$ LEAK: 1 XMLHttpRequest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891676</commentid>
    <comment_count>3</comment_count>
      <attachid>202400</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-05-21 03:16:59 -0700</bug_when>
    <thetext>Comment on attachment 202400
proposed patch

r- due to blocker crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>891892</commentid>
    <comment_count>4</comment_count>
    <who name="Michal Pakula vel Rutka">mpakulavelrutka</who>
    <bug_when>2013-05-21 10:48:37 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 202400 [details])
&gt; r- due to blocker crash.

I prepared a fix for that in patch 116549</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892198</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-05-22 02:42:08 -0700</bug_when>
    <thetext>This patch is probably not a good idea since an item is owned by its parent and it keeps a raw pointer to its parent. It the parent menu is destroyed and someone else keeps a ref to the item, then the parent_menu pointer will be invalid.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202400</attachid>
            <date>2013-05-21 02:45:10 -0700</date>
            <delta_ts>2013-05-21 03:16:59 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>ewk_menu_item_object.diff</filename>
            <type>text/plain</type>
            <size>17711</size>
            <attacher name="Michal Pakula vel Rutka">mpakulavelrutka</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA4YzgyNjE5Li42YzBlNTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDQg
QEAKKzIwMTMtMDUtMjEgIE1pY2hhxYIgUGFrdcWCYSB2ZWwgUnV0a2EgIDxtLnBha3VsYUBzYW1z
dW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIE1ha2UgRXdrX0NvbnRleHRfTWVudV9JdGVt
IEV3a19PYmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExNjMxMQorCisgICAgICAgIENoYW5nZWQgRXdrX0NvbnRleHRfTWVudV9JdGVtIHRvIGJl
IGFuIEV3a19PYmplY3Qgc28gcG9pbnRlciB0byBtZW51CisgICAgICAgIGl0ZW0gb2JqZWN0IGNh
biBiZSBzaGFyZWQgYmV0d2VlbiBkaWZmZXJlbnQgbW9kdWxlcy4KKyAgICAgICAgQWxzbyBld2tf
ZGVmaW5lcy5oIGZpbGUgd2FzIHJlbW92ZWQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcDoKKyAgICAgICAgKEV3a0NvbnRleHRN
ZW51OjpFd2tDb250ZXh0TWVudSk6CisgICAgICAgIChFd2tDb250ZXh0TWVudTo6fkV3a0NvbnRl
eHRNZW51KToKKyAgICAgICAgKGV3a19jb250ZXh0X21lbnVfaXRlbV9hcHBlbmQpOgorICAgICAg
ICAoZXdrX2NvbnRleHRfbWVudV9pdGVtX3JlbW92ZSk6CisgICAgICAgIChld2tfY29udGV4dF9t
ZW51X2l0ZW1fc2VsZWN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4
dF9tZW51Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9p
dGVtLmNwcDoKKyAgICAgICAgKGV3a19jb250ZXh0X21lbnVfaXRlbV9uZXcpOgorICAgICAgICAo
ZXdrX2NvbnRleHRfbWVudV9pdGVtX25ld193aXRoX3N1Ym1lbnUpOgorICAgICAgICAoZXdrX2Nv
bnRleHRfbWVudV9pdGVtX3R5cGVfZ2V0KToKKyAgICAgICAgKGV3a19jb250ZXh0X21lbnVfaXRl
bV90eXBlX3NldCk6CisgICAgICAgIChld2tfY29udGV4dF9tZW51X2l0ZW1fYWN0aW9uX2dldCk6
CisgICAgICAgIChld2tfY29udGV4dF9tZW51X2l0ZW1fYWN0aW9uX3NldCk6CisgICAgICAgIChl
d2tfY29udGV4dF9tZW51X2l0ZW1fdGl0bGVfZ2V0KToKKyAgICAgICAgKGV3a19jb250ZXh0X21l
bnVfaXRlbV90aXRsZV9zZXQpOgorICAgICAgICAoZXdrX2NvbnRleHRfbWVudV9pdGVtX2NoZWNr
ZWRfZ2V0KToKKyAgICAgICAgKGV3a19jb250ZXh0X21lbnVfaXRlbV9jaGVja2VkX3NldCk6Cisg
ICAgICAgIChld2tfY29udGV4dF9tZW51X2l0ZW1fZW5hYmxlZF9nZXQpOgorICAgICAgICAoZXdr
X2NvbnRleHRfbWVudV9pdGVtX2VuYWJsZWRfc2V0KToKKyAgICAgICAgKGV3a19jb250ZXh0X21l
bnVfaXRlbV9wYXJlbnRfbWVudV9nZXQpOgorICAgICAgICAoZXdrX2NvbnRleHRfbWVudV9pdGVt
X3N1Ym1lbnVfZ2V0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9t
ZW51X2l0ZW0uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51
X2l0ZW1fcHJpdmF0ZS5oOgorICAgICAgICAoRXdrQ29udGV4dE1lbnVJdGVtKToKKyAgICAgICAg
KEV3a0NvbnRleHRNZW51SXRlbTo6Y3JlYXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfY29udGV4dF9tZW51X3ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfZGVmaW5lcy5oOiBSZW1vdmVkLgorCiAyMDEzLTA1LTIxICBNaWNoYWVsIEJyw7xuaW5n
ICA8bWljaGFlbC5icnVuaW5nQGRpZ2lhLmNvbT4KIAogICAgICAgICBbUXRdW1dLMl0gRml4IE1v
dW50YWluIExpb24gYnVpbGRzIGFmdGVyIHIxNTAyNzcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtl
CmluZGV4IDU3NTEwNmIuLmQ2NmVlYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0z
MTQsNyArMzE0LDYgQEAgc2V0KEVXZWJLaXQyX0hFQURFUlMKICAgICAiJHtDTUFLRV9DVVJSRU5U
X1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5oIgog
ICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Nv
b2tpZV9tYW5hZ2VyLmgiCiAgICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfZGF0YWJhc2VfbWFuYWdlci5oIgotICAgICIke0NNQUtFX0NVUlJFTlRf
U09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2RlZmluZXMuaCIKICAgICAiJHtDTUFL
RV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19kb3dubG9hZF9qb2Iu
aCIKICAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a19lcnJvci5oIgogICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2Zhdmljb25fZGF0YWJhc2UuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnUuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudS5jcHAKaW5kZXggMGJlZjBiZS4uMDU1
YjZhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Nv
bnRleHRfbWVudS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X2NvbnRleHRfbWVudS5jcHAKQEAgLTQ1LDcgKzQ1LDcgQEAgRXdrQ29udGV4dE1lbnU6OkV3a0Nv
bnRleHRNZW51KEV3a1ZpZXcqIHZpZXcsIFdLQXJyYXlSZWYgaXRlbXMpCiB7CiAgICAgc2l6ZV90
IHNpemUgPSBXS0FycmF5R2V0U2l6ZShpdGVtcyk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBzaXplOyArK2kpCi0gICAgICAgIG1fY29udGV4dE1lbnVJdGVtcyA9IGVpbmFfbGlzdF9hcHBl
bmQobV9jb250ZXh0TWVudUl0ZW1zLCBFd2tfQ29udGV4dF9NZW51X0l0ZW06OmNyZWF0ZShzdGF0
aWNfY2FzdDxXS0NvbnRleHRNZW51SXRlbVJlZj4oV0tBcnJheUdldEl0ZW1BdEluZGV4KGl0ZW1z
LCBpKSksIHRoaXMpLmxlYWtQdHIoKSk7CisgICAgICAgIG1fY29udGV4dE1lbnVJdGVtcyA9IGVp
bmFfbGlzdF9hcHBlbmQobV9jb250ZXh0TWVudUl0ZW1zLCBFd2tDb250ZXh0TWVudUl0ZW06OmNy
ZWF0ZShzdGF0aWNfY2FzdDxXS0NvbnRleHRNZW51SXRlbVJlZj4oV0tBcnJheUdldEl0ZW1BdElu
ZGV4KGl0ZW1zLCBpKSksIHRoaXMpLmxlYWtSZWYoKSk7CiB9CiAKIEV3a0NvbnRleHRNZW51OjpF
d2tDb250ZXh0TWVudSgpCkBAIC03Miw3ICs3Miw3IEBAIEV3a0NvbnRleHRNZW51Ojp+RXdrQ29u
dGV4dE1lbnUoKQogewogICAgIHZvaWQqIGRhdGE7CiAgICAgRUlOQV9MSVNUX0ZSRUUobV9jb250
ZXh0TWVudUl0ZW1zLCBkYXRhKQotICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8RXdrX0NvbnRl
eHRfTWVudV9JdGVtKj4oZGF0YSk7CisgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxFd2tDb250
ZXh0TWVudUl0ZW0qPihkYXRhKTsKIH0KIAogdm9pZCBFd2tDb250ZXh0TWVudTo6aGlkZSgpCkBA
IC0xMDcsMTggKzEwNywyMCBAQCBFd2tfQ29udGV4dF9NZW51KiBld2tfY29udGV4dF9tZW51X25l
d193aXRoX2l0ZW1zKEVpbmFfTGlzdCogaXRlbXMpCiAKIEVpbmFfQm9vbCBld2tfY29udGV4dF9t
ZW51X2l0ZW1fYXBwZW5kKEV3a19Db250ZXh0X01lbnUqIG1lbnUsIEV3a19Db250ZXh0X01lbnVf
SXRlbSogaXRlbSkKIHsKLSAgICBFV0tfT0JKX0dFVF9JTVBMX09SX1JFVFVSTihFd2tDb250ZXh0
TWVudSwgbWVudSwgaW1wbCwgZmFsc2UpOworICAgIEVXS19PQkpfR0VUX0lNUExfT1JfUkVUVVJO
KEV3a0NvbnRleHRNZW51LCBtZW51LCBtZW51SW1wbCwgZmFsc2UpOworICAgIEVXS19PQkpfR0VU
X0lNUExfT1JfUkVUVVJOKEV3a0NvbnRleHRNZW51SXRlbSwgaXRlbSwgaXRlbUltcGwsIGZhbHNl
KTsKIAotICAgIGltcGwtPmFwcGVuZEl0ZW0oaXRlbSk7CisgICAgbWVudUltcGwtPmFwcGVuZEl0
ZW0oaXRlbUltcGwpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKIEVpbmFfQm9vbCBld2tfY29u
dGV4dF9tZW51X2l0ZW1fcmVtb3ZlKEV3a19Db250ZXh0X01lbnUqIG1lbnUsIEV3a19Db250ZXh0
X01lbnVfSXRlbSogaXRlbSkKIHsKLSAgICBFV0tfT0JKX0dFVF9JTVBMX09SX1JFVFVSTihFd2tD
b250ZXh0TWVudSwgbWVudSwgaW1wbCwgZmFsc2UpOworICAgIEVXS19PQkpfR0VUX0lNUExfT1Jf
UkVUVVJOKEV3a0NvbnRleHRNZW51LCBtZW51LCBtZW51SW1wbCwgZmFsc2UpOworICAgIEVXS19P
QkpfR0VUX0lNUExfT1JfUkVUVVJOKEV3a0NvbnRleHRNZW51SXRlbSwgaXRlbSwgaXRlbUltcGws
IGZhbHNlKTsKIAotICAgIGltcGwtPnJlbW92ZUl0ZW0oaXRlbSk7CisgICAgbWVudUltcGwtPnJl
bW92ZUl0ZW0oaXRlbUltcGwpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CkBAIC0xNDEsMjQgKzE0
MywyNCBAQCBjb25zdCBFaW5hX0xpc3QqIGV3a19jb250ZXh0X21lbnVfaXRlbXNfZ2V0KGNvbnN0
IEV3a19Db250ZXh0X01lbnUqIG1lbnUpCiAKIEVpbmFfQm9vbCBld2tfY29udGV4dF9tZW51X2l0
ZW1fc2VsZWN0KEV3a19Db250ZXh0X01lbnUqIG1lbnUsIEV3a19Db250ZXh0X01lbnVfSXRlbSog
aXRlbSkKIHsKLSAgICBFV0tfT0JKX0dFVF9JTVBMX09SX1JFVFVSTihFd2tDb250ZXh0TWVudSwg
bWVudSwgaW1wbCwgZmFsc2UpOwotICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChp
dGVtLCBmYWxzZSk7CisgICAgRVdLX09CSl9HRVRfSU1QTF9PUl9SRVRVUk4oRXdrQ29udGV4dE1l
bnUsIG1lbnUsIG1lbnVJbXBsLCBmYWxzZSk7CisgICAgRVdLX09CSl9HRVRfSU1QTF9PUl9SRVRV
Uk4oRXdrQ29udGV4dE1lbnVJdGVtLCBpdGVtLCBpdGVtSW1wbCwgZmFsc2UpOwogCiAgICAgV0tD
b250ZXh0TWVudUl0ZW1SZWYgd2tJdGVtOwogCi0gICAgc3dpdGNoIChpdGVtLT50eXBlKCkpIHsK
KyAgICBzd2l0Y2ggKGl0ZW1JbXBsLT50eXBlKCkpIHsKICAgICBjYXNlIEVXS19BQ1RJT05fVFlQ
RToKLSAgICAgICAgd2tJdGVtID0gV0tDb250ZXh0TWVudUl0ZW1DcmVhdGVBc0FjdGlvbihnZXRX
S1RhZ0Zyb21Fd2tBY3Rpb24oaXRlbS0+YWN0aW9uKCkpLCBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRl
V2l0aFVURjhDU3RyaW5nKGl0ZW0tPnRpdGxlKCkpKS5nZXQoKSwgaXRlbS0+ZW5hYmxlZCgpKTsK
KyAgICAgICAgd2tJdGVtID0gV0tDb250ZXh0TWVudUl0ZW1DcmVhdGVBc0FjdGlvbihnZXRXS1Rh
Z0Zyb21Fd2tBY3Rpb24oaXRlbUltcGwtPmFjdGlvbigpKSwgYWRvcHRXSyhXS1N0cmluZ0NyZWF0
ZVdpdGhVVEY4Q1N0cmluZyhpdGVtSW1wbC0+dGl0bGUoKSkpLmdldCgpLCBpdGVtSW1wbC0+ZW5h
YmxlZCgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBFV0tfQ0hFQ0tBQkxFX0FDVElPTl9U
WVBFOgotICAgICAgICB3a0l0ZW0gPSBXS0NvbnRleHRNZW51SXRlbUNyZWF0ZUFzQ2hlY2thYmxl
QWN0aW9uKGdldFdLVGFnRnJvbUV3a0FjdGlvbihpdGVtLT5hY3Rpb24oKSksIGFkb3B0V0soV0tT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoaXRlbS0+dGl0bGUoKSkpLmdldCgpLCBpdGVtLT5l
bmFibGVkKCksIGl0ZW0tPmNoZWNrZWQoKSk7CisgICAgICAgIHdrSXRlbSA9IFdLQ29udGV4dE1l
bnVJdGVtQ3JlYXRlQXNDaGVja2FibGVBY3Rpb24oZ2V0V0tUYWdGcm9tRXdrQWN0aW9uKGl0ZW1J
bXBsLT5hY3Rpb24oKSksIGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoaXRl
bUltcGwtPnRpdGxlKCkpKS5nZXQoKSwgaXRlbUltcGwtPmVuYWJsZWQoKSwgaXRlbUltcGwtPmNo
ZWNrZWQoKSk7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgaW1wbC0+
Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQod2tJdGVtKTsKKyAgICBtZW51SW1wbC0+Y29udGV4dE1l
bnVJdGVtU2VsZWN0ZWQod2tJdGVtKTsKIAogICAgIHJldHVybiB0cnVlOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudS5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudS5oCmluZGV4
IGFkMzU2MTkuLmJjNjMzNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19jb250ZXh0X21lbnUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmgKQEAgLTMxLDcgKzMxLDYgQEAKICNpZm5kZWYgZXdr
X2NvbnRleHRfbWVudV9oCiAjZGVmaW5lIGV3a19jb250ZXh0X21lbnVfaAogCi0jaW5jbHVkZSAi
ZXdrX2RlZmluZXMuaCIKICNpbmNsdWRlIDxFaW5hLmg+CiAKICNpZmRlZiBfX2NwbHVzcGx1cwpA
QCAtMzksNiArMzgsMjAgQEAgZXh0ZXJuICJDIiB7CiAjZW5kaWYKIAogLyoqCisgKiBEZWNsYXJl
IEV3a19Db250ZXh0X01lbnUgYXMgRXdrX09iamVjdC4KKyAqCisgKiBAc2VlIEV3a19PYmplY3QK
KyAqLwordHlwZWRlZiBzdHJ1Y3QgRXdrT2JqZWN0IEV3a19Db250ZXh0X01lbnU7CisKKy8qKgor
ICogRGVjbGFyZSBFd2tfQ29udGV4dF9NZW51X0l0ZW0gYXMgRXdrX09iamVjdC4KKyAqCisgKiBA
c2VlIEV3a19PYmplY3QKKyAqLwordHlwZWRlZiBzdHJ1Y3QgRXdrT2JqZWN0IEV3a19Db250ZXh0
X01lbnVfSXRlbTsKKworLyoqCiAgKiBDcmVhdGVzIGEgbmV3IEV3a19Db250ZXh0X01lbnUgdG8g
YmUgdXNlZCBhcyBhIHN1Ym1lbnUgb2YgYW4gZXhpc3RpbmcKICAqIEV3a19Db250ZXh0X01lbnUu
IFRoZSBjb250ZXh0IG1lbnUgaXMgY3JlYXRlZCBieSB0aGUgZXdrX3ZpZXcgYW5kCiAgKiBwYXNz
ZWQgYXMgYW4gYXJndW1lbnQgb2YgZXdrX3ZpZXcgc21hcnQgY2FsbGJhY2suCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0u
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9p
dGVtLmNwcAppbmRleCAwMzAwZjc5Li42MzUyMWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5jcHAKQEAg
LTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnVfaXRlbV9wcml2YXRl
LmgiCiAjaW5jbHVkZSAiZXdrX2NvbnRleHRfbWVudV9wcml2YXRlLmgiCi0jaW5jbHVkZSAiZXdr
X3ByaXZhdGUuaCIKICNpbmNsdWRlIDxXZWJLaXQyL1dLQ29udGV4dE1lbnVJdGVtVHlwZXMuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKQEAgLTYzLDEwOCArNjIsMTA4IEBAIEV3
a0NvbnRleHRNZW51SXRlbTo6RXdrQ29udGV4dE1lbnVJdGVtKEV3a19Db250ZXh0X01lbnVfSXRl
bV9UeXBlIHR5cGUsIEV3a19Db250CiAKIEV3a19Db250ZXh0X01lbnVfSXRlbSogZXdrX2NvbnRl
eHRfbWVudV9pdGVtX25ldyhFd2tfQ29udGV4dF9NZW51X0l0ZW1fVHlwZSB0eXBlLCBFd2tfQ29u
dGV4dF9NZW51X0l0ZW1fQWN0aW9uIGFjdGlvbiwgY29uc3QgY2hhciogdGl0bGUsIEVpbmFfQm9v
bCBjaGVja2VkLCBFaW5hX0Jvb2wgZW5hYmxlZCkKIHsKLSAgICByZXR1cm4gRXdrX0NvbnRleHRf
TWVudV9JdGVtOjpjcmVhdGUodHlwZSwgYWN0aW9uLCB0aXRsZSwgY2hlY2tlZCwgZW5hYmxlZCku
bGVha1B0cigpOworICAgIHJldHVybiBFd2tDb250ZXh0TWVudUl0ZW06OmNyZWF0ZSh0eXBlLCBh
Y3Rpb24sIHRpdGxlLCBjaGVja2VkLCBlbmFibGVkKS5sZWFrUmVmKCk7CiB9CiAKIEV3a19Db250
ZXh0X01lbnVfSXRlbSogZXdrX2NvbnRleHRfbWVudV9pdGVtX25ld193aXRoX3N1Ym1lbnUoRXdr
X0NvbnRleHRfTWVudV9JdGVtX1R5cGUgdHlwZSwgRXdrX0NvbnRleHRfTWVudV9JdGVtX0FjdGlv
biBhY3Rpb24sIGNvbnN0IGNoYXIqIHRpdGxlLCBFaW5hX0Jvb2wgY2hlY2tlZCwgRWluYV9Cb29s
IGVuYWJsZWQsIEV3a19Db250ZXh0X01lbnUqIHN1Yk1lbnUpCiB7CiAgICAgRVdLX09CSl9HRVRf
SU1QTF9PUl9SRVRVUk4oRXdrQ29udGV4dE1lbnUsIHN1Yk1lbnUsIHN1Yk1lbnVJbXBsLCAwKTsK
IAotICAgIHJldHVybiBFd2tfQ29udGV4dF9NZW51X0l0ZW06OmNyZWF0ZSh0eXBlLCBhY3Rpb24s
IHRpdGxlLCBjaGVja2VkLCBlbmFibGVkLCBzdWJNZW51SW1wbCkubGVha1B0cigpOworICAgIHJl
dHVybiBFd2tDb250ZXh0TWVudUl0ZW06OmNyZWF0ZSh0eXBlLCBhY3Rpb24sIHRpdGxlLCBjaGVj
a2VkLCBlbmFibGVkLCBzdWJNZW51SW1wbCkubGVha1JlZigpOwogfQogCiBFd2tfQ29udGV4dF9N
ZW51X0l0ZW1fVHlwZSBld2tfY29udGV4dF9tZW51X2l0ZW1fdHlwZV9nZXQoY29uc3QgRXdrX0Nv
bnRleHRfTWVudV9JdGVtKiBpdGVtKQogewotICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJO
X1ZBTChpdGVtLCBFV0tfQUNUSU9OX1RZUEUpOworICAgIEVXS19PQkpfR0VUX0lNUExfT1JfUkVU
VVJOKGNvbnN0IEV3a0NvbnRleHRNZW51SXRlbSwgaXRlbSwgaW1wbCwgRVdLX0FDVElPTl9UWVBF
KTsKIAotICAgIHJldHVybiBpdGVtLT50eXBlKCk7CisgICAgcmV0dXJuIGltcGwtPnR5cGUoKTsK
IH0KIAogRWluYV9Cb29sIGV3a19jb250ZXh0X21lbnVfaXRlbV90eXBlX3NldChFd2tfQ29udGV4
dF9NZW51X0l0ZW0qIGl0ZW0sIEV3a19Db250ZXh0X01lbnVfSXRlbV9UeXBlIHR5cGUpCiB7Ci0g
ICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKGl0ZW0sIGZhbHNlKTsKKyAgICBFV0tf
T0JKX0dFVF9JTVBMX09SX1JFVFVSTihFd2tDb250ZXh0TWVudUl0ZW0sIGl0ZW0sIGltcGwsIGZh
bHNlKTsKIAotICAgIGl0ZW0tPnNldFR5cGUodHlwZSk7CisgICAgaW1wbC0+c2V0VHlwZSh0eXBl
KTsKIAogICAgIHJldHVybiB0cnVlOwogfQogCiBFd2tfQ29udGV4dF9NZW51X0l0ZW1fQWN0aW9u
IGV3a19jb250ZXh0X21lbnVfaXRlbV9hY3Rpb25fZ2V0KGNvbnN0IEV3a19Db250ZXh0X01lbnVf
SXRlbSogaXRlbSkKIHsKLSAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoaXRlbSwg
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19OT19BQ1RJT04pOworICAgIEVXS19PQkpfR0VUX0lN
UExfT1JfUkVUVVJOKGNvbnN0IEV3a0NvbnRleHRNZW51SXRlbSwgaXRlbSwgaW1wbCwgRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19OT19BQ1RJT04pOwogCi0gICAgcmV0dXJuIGl0ZW0tPmFjdGlv
bigpOworICAgIHJldHVybiBpbXBsLT5hY3Rpb24oKTsKIH0KIAogRWluYV9Cb29sIGV3a19jb250
ZXh0X21lbnVfaXRlbV9hY3Rpb25fc2V0KEV3a19Db250ZXh0X01lbnVfSXRlbSogaXRlbSwgRXdr
X0NvbnRleHRfTWVudV9JdGVtX0FjdGlvbiBhY3Rpb24pCiB7Ci0gICAgRUlOQV9TQUZFVFlfT05f
TlVMTF9SRVRVUk5fVkFMKGl0ZW0sIGZhbHNlKTsKKyAgICBFV0tfT0JKX0dFVF9JTVBMX09SX1JF
VFVSTihFd2tDb250ZXh0TWVudUl0ZW0sIGl0ZW0sIGltcGwsIGZhbHNlKTsKIAotICAgIGl0ZW0t
PnNldEFjdGlvbihhY3Rpb24pOworICAgIGltcGwtPnNldEFjdGlvbihhY3Rpb24pOwogCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKIGNvbnN0IGNoYXIqIGV3a19jb250ZXh0X21lbnVfaXRlbV90aXRs
ZV9nZXQoY29uc3QgRXdrX0NvbnRleHRfTWVudV9JdGVtKiBpdGVtKQogewotICAgIEVJTkFfU0FG
RVRZX09OX05VTExfUkVUVVJOX1ZBTChpdGVtLCAwKTsKKyAgICBFV0tfT0JKX0dFVF9JTVBMX09S
X1JFVFVSTihjb25zdCBFd2tDb250ZXh0TWVudUl0ZW0sIGl0ZW0sIGltcGwsIDApOwogCi0gICAg
cmV0dXJuIGl0ZW0tPnRpdGxlKCk7CisgICAgcmV0dXJuIGltcGwtPnRpdGxlKCk7CiB9CiAKIEVp
bmFfQm9vbCBld2tfY29udGV4dF9tZW51X2l0ZW1fdGl0bGVfc2V0KEV3a19Db250ZXh0X01lbnVf
SXRlbSogaXRlbSwgY29uc3QgY2hhciogdGl0bGUpCiB7Ci0gICAgRUlOQV9TQUZFVFlfT05fTlVM
TF9SRVRVUk5fVkFMKGl0ZW0sIGZhbHNlKTsKKyAgICBFV0tfT0JKX0dFVF9JTVBMX09SX1JFVFVS
TihFd2tDb250ZXh0TWVudUl0ZW0sIGl0ZW0sIGltcGwsIGZhbHNlKTsKIAotICAgIGl0ZW0tPnNl
dFRpdGxlKHRpdGxlKTsKKyAgICBpbXBsLT5zZXRUaXRsZSh0aXRsZSk7CiAKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAogRWluYV9Cb29sIGV3a19jb250ZXh0X21lbnVfaXRlbV9jaGVja2VkX2dldChj
b25zdCBFd2tfQ29udGV4dF9NZW51X0l0ZW0qIGl0ZW0pCiB7Ci0gICAgRUlOQV9TQUZFVFlfT05f
TlVMTF9SRVRVUk5fVkFMKGl0ZW0sIGZhbHNlKTsKKyAgICBFV0tfT0JKX0dFVF9JTVBMX09SX1JF
VFVSTihjb25zdCBFd2tDb250ZXh0TWVudUl0ZW0sIGl0ZW0sIGltcGwsIGZhbHNlKTsKIAotICAg
IHJldHVybiBpdGVtLT5jaGVja2VkKCk7CisgICAgcmV0dXJuIGltcGwtPmNoZWNrZWQoKTsKIH0K
IAogRWluYV9Cb29sIGV3a19jb250ZXh0X21lbnVfaXRlbV9jaGVja2VkX3NldChFd2tfQ29udGV4
dF9NZW51X0l0ZW0qIGl0ZW0sIEVpbmFfQm9vbCBjaGVja2VkKQogewotICAgIEVJTkFfU0FGRVRZ
X09OX05VTExfUkVUVVJOX1ZBTChpdGVtLCBmYWxzZSk7CisgICAgRVdLX09CSl9HRVRfSU1QTF9P
Ul9SRVRVUk4oRXdrQ29udGV4dE1lbnVJdGVtLCBpdGVtLCBpbXBsLCBmYWxzZSk7CiAKLSAgICBp
dGVtLT5zZXRDaGVja2VkKGNoZWNrZWQpOworICAgIGltcGwtPnNldENoZWNrZWQoY2hlY2tlZCk7
CiAKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAogRWluYV9Cb29sIGV3a19jb250ZXh0X21lbnVfaXRl
bV9lbmFibGVkX2dldChjb25zdCBFd2tfQ29udGV4dF9NZW51X0l0ZW0qIGl0ZW0pCiB7Ci0gICAg
RUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKGl0ZW0sIGZhbHNlKTsKKyAgICBFV0tfT0JK
X0dFVF9JTVBMX09SX1JFVFVSTihjb25zdCBFd2tDb250ZXh0TWVudUl0ZW0sIGl0ZW0sIGltcGws
IGZhbHNlKTsKICAgICAKLSAgICByZXR1cm4gaXRlbS0+ZW5hYmxlZCgpOworICAgIHJldHVybiBp
bXBsLT5lbmFibGVkKCk7CiB9CiAKIEVpbmFfQm9vbCBld2tfY29udGV4dF9tZW51X2l0ZW1fZW5h
YmxlZF9zZXQoRXdrX0NvbnRleHRfTWVudV9JdGVtKiBpdGVtLCBFaW5hX0Jvb2wgZW5hYmxlZCkK
IHsKLSAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoaXRlbSwgZmFsc2UpOworICAg
IEVXS19PQkpfR0VUX0lNUExfT1JfUkVUVVJOKEV3a0NvbnRleHRNZW51SXRlbSwgaXRlbSwgaW1w
bCwgZmFsc2UpOwogCi0gICAgaXRlbS0+c2V0RW5hYmxlZChlbmFibGVkKTsKKyAgICBpbXBsLT5z
ZXRFbmFibGVkKGVuYWJsZWQpOwogCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKIEV3a19Db250ZXh0
X01lbnUqIGV3a19jb250ZXh0X21lbnVfaXRlbV9wYXJlbnRfbWVudV9nZXQoY29uc3QgRXdrX0Nv
bnRleHRfTWVudV9JdGVtKiBpdGVtKQogewotICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJO
X1ZBTChpdGVtLCAwKTsKKyAgICBFV0tfT0JKX0dFVF9JTVBMX09SX1JFVFVSTihjb25zdCBFd2tD
b250ZXh0TWVudUl0ZW0sIGl0ZW0sIGltcGwsIDApOwogCi0gICAgcmV0dXJuIGl0ZW0tPnBhcmVu
dE1lbnUoKTsKKyAgICByZXR1cm4gaW1wbC0+cGFyZW50TWVudSgpOwogfQogCiBFd2tfQ29udGV4
dF9NZW51KiBld2tfY29udGV4dF9tZW51X2l0ZW1fc3VibWVudV9nZXQoY29uc3QgRXdrX0NvbnRl
eHRfTWVudV9JdGVtKiBpdGVtKQogewotICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZB
TChpdGVtLCAwKTsKKyAgICBFV0tfT0JKX0dFVF9JTVBMX09SX1JFVFVSTihjb25zdCBFd2tDb250
ZXh0TWVudUl0ZW0sIGl0ZW0sIGltcGwsIDApOwogCi0gICAgcmV0dXJuIGl0ZW0tPnN1Yk1lbnUo
KTsKKyAgICByZXR1cm4gaW1wbC0+c3ViTWVudSgpOwogfQogCiBzdGF0aWMgRXdrX0NvbnRleHRf
TWVudV9JdGVtX0FjdGlvbiBnZXRFd2tBY3Rpb25Gcm9tV0tUYWcoV0tDb250ZXh0TWVudUl0ZW1U
YWcgYWN0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX2NvbnRleHRfbWVudV9pdGVtLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfY29udGV4dF9tZW51X2l0ZW0uaAppbmRleCBiMDE0Y2JjLi5mMGFmNWRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0
ZW0uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9t
ZW51X2l0ZW0uaApAQCAtMzEsNyArMzEsNyBAQAogI2lmbmRlZiBld2tfY29udGV4dF9tZW51X2l0
ZW1faAogI2RlZmluZSBld2tfY29udGV4dF9tZW51X2l0ZW1faAogCi0jaW5jbHVkZSAiZXdrX2Rl
ZmluZXMuaCIKKyNpbmNsdWRlICJld2tfY29udGV4dF9tZW51LmgiCiAjaW5jbHVkZSA8RWluYS5o
PgogCiAjaWZkZWYgX19jcGx1c3BsdXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbV9wcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW1fcHJpdmF0ZS5oCmlu
ZGV4IDMyODdkMTAuLjAwZWUxMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbV9wcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtX3ByaXZhdGUuaApA
QCAtMjgsMjcgKzI4LDI5IEBACiAKICNpbmNsdWRlICJXS0NvbnRleHRNZW51SXRlbS5oIgogI2lu
Y2x1ZGUgIldLRWluYVNoYXJlZFN0cmluZy5oIgotI2luY2x1ZGUgImV3a19jb250ZXh0X21lbnUu
aCIKICNpbmNsdWRlICJld2tfY29udGV4dF9tZW51X2l0ZW0uaCIKLSNpbmNsdWRlICJld2tfY29u
dGV4dF9tZW51X3ByaXZhdGUuaCIKLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2luY2x1
ZGUgImV3a19vYmplY3RfcHJpdmF0ZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCitjbGFzcyBFd2tDb250ZXh0TWVudTsKKwogLyoqCiAg
KiBcc3RydWN0ICBFd2tfQ29udGV4dF9NZW51X0l0ZW0KICAqIEBicmllZiAgIENvbnRhaW5zIHRo
ZSBjb250ZXh0IG1lbnUgaXRlbSBkYXRhLgogICovCi1jbGFzcyBFd2tDb250ZXh0TWVudUl0ZW0g
eworY2xhc3MgRXdrQ29udGV4dE1lbnVJdGVtIDogcHVibGljIEV3a09iamVjdCB7CiBwdWJsaWM6
Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8RXdrQ29udGV4dE1lbnVJdGVtPiBjcmVhdGUoV0tDb250
ZXh0TWVudUl0ZW1SZWYgaXRlbSwgUGFzc1JlZlB0cjxFd2tDb250ZXh0TWVudT4gcGFyZW50TWVu
dSA9IDApCisgICAgRVdLX09CSkVDVF9ERUNMQVJFKEV3a0NvbnRleHRNZW51SXRlbSkKKworICAg
IHN0YXRpYyBQYXNzUmVmUHRyPEV3a0NvbnRleHRNZW51SXRlbT4gY3JlYXRlKFdLQ29udGV4dE1l
bnVJdGVtUmVmIGl0ZW0sIFBhc3NSZWZQdHI8RXdrQ29udGV4dE1lbnU+IHBhcmVudE1lbnUgPSAw
KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBFd2tDb250ZXh0TWVudUl0ZW0o
aXRlbSwgcGFyZW50TWVudSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEV3a0NvbnRl
eHRNZW51SXRlbShpdGVtLCBwYXJlbnRNZW51KSk7CiAgICAgfQogCi0gICAgc3RhdGljIFBhc3NP
d25QdHI8RXdrQ29udGV4dE1lbnVJdGVtPiBjcmVhdGUoRXdrX0NvbnRleHRfTWVudV9JdGVtX1R5
cGUgdHlwZSwgRXdrX0NvbnRleHRfTWVudV9JdGVtX0FjdGlvbiBhY3Rpb24sIGNvbnN0IGNoYXIq
IHRpdGxlLCBFaW5hX0Jvb2wgY2hlY2tlZCwgRWluYV9Cb29sIGVuYWJsZWQsIFBhc3NSZWZQdHI8
RXdrQ29udGV4dE1lbnU+IHN1Yk1lbnUgPSAwLCBQYXNzUmVmUHRyPEV3a0NvbnRleHRNZW51PiBw
YXJlbnRNZW51ID0gMCkKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxFd2tDb250ZXh0TWVudUl0ZW0+
IGNyZWF0ZShFd2tfQ29udGV4dF9NZW51X0l0ZW1fVHlwZSB0eXBlLCBFd2tfQ29udGV4dF9NZW51
X0l0ZW1fQWN0aW9uIGFjdGlvbiwgY29uc3QgY2hhciogdGl0bGUsIEVpbmFfQm9vbCBjaGVja2Vk
LCBFaW5hX0Jvb2wgZW5hYmxlZCwgUGFzc1JlZlB0cjxFd2tDb250ZXh0TWVudT4gc3ViTWVudSA9
IDAsIFBhc3NSZWZQdHI8RXdrQ29udGV4dE1lbnU+IHBhcmVudE1lbnUgPSAwKQogICAgIHsKLSAg
ICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBFd2tDb250ZXh0TWVudUl0ZW0odHlwZSwgYWN0aW9u
LCB0aXRsZSwgY2hlY2tlZCwgZW5hYmxlZCwgc3ViTWVudSwgcGFyZW50TWVudSkpOworICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IEV3a0NvbnRleHRNZW51SXRlbSh0eXBlLCBhY3Rpb24sIHRp
dGxlLCBjaGVja2VkLCBlbmFibGVkLCBzdWJNZW51LCBwYXJlbnRNZW51KSk7CiAgICAgfQogCiAg
ICAgRXdrX0NvbnRleHRfTWVudV9JdGVtX0FjdGlvbiBhY3Rpb24oKSBjb25zdCB7IHJldHVybiBt
X2FjdGlvbjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX2NvbnRleHRfbWVudV9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfY29udGV4dF9tZW51X3ByaXZhdGUuaAppbmRleCA0OWI1Zjk3Li4xZjMzMmYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9t
ZW51X3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
Y29udGV4dF9tZW51X3ByaXZhdGUuaApAQCAtMjYsMTEgKzI2LDExIEBACiAjaWZuZGVmIGV3a19j
b250ZXh0X21lbnVfcHJpdmF0ZV9oCiAjZGVmaW5lIGV3a19jb250ZXh0X21lbnVfcHJpdmF0ZV9o
CiAKLSNpbmNsdWRlICJld2tfY29udGV4dF9tZW51X2l0ZW0uaCIKICNpbmNsdWRlICJld2tfb2Jq
ZWN0X3ByaXZhdGUuaCIKICNpbmNsdWRlIDxFaW5hLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQ
dHIuaD4KIAorY2xhc3MgRXdrQ29udGV4dE1lbnVJdGVtOwogY2xhc3MgRXdrVmlldzsKIAogY2xh
c3MgRXdrQ29udGV4dE1lbnUgOiBwdWJsaWMgRXdrT2JqZWN0IHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19kZWZpbmVzLmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfZGVmaW5lcy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBiZjAxNzdmLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19kZWZpbmVzLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
Ci0gKiBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMKLSAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLS8qKgotICogQGZpbGUgICAgZXdrX2RlZmlu
ZXMuaAotICogQGJyaWVmICAgRGVmaW5lcyB0aGUgRXdrIFN0cnVjdHMKLSAqLwotCi0jaWZuZGVm
IGV3a19kZWZpbmVzX2gKLSNkZWZpbmUgZXdrX2RlZmluZXNfaAotCi0jaWZkZWYgX19jcGx1c3Bs
dXMKLWV4dGVybiAiQyIgewotI2VuZGlmCi0KLS8qKgotICogRGVjbGFyZSBFd2tfQ29udGV4dF9N
ZW51IGFzIEV3a19PYmplY3QuCi0gKgotICogQHNlZSBFd2tfT2JqZWN0Ci0gKi8KLXR5cGVkZWYg
c3RydWN0IEV3a09iamVjdCBFd2tfQ29udGV4dF9NZW51OwotCi0vKiogQ3JlYXRlcyBhIHR5cGUg
bmFtZSBmb3IgRXdrX0NvbnRleHRfTWVudV9JdGVtICovCi10eXBlZGVmIHN0cnVjdCBFd2tDb250
ZXh0TWVudUl0ZW0gRXdrX0NvbnRleHRfTWVudV9JdGVtOwotCi0jaWZkZWYgX19jcGx1c3BsdXMK
LX0KLSNlbmRpZgotCi0jZW5kaWYgLyogZXdrX2RlZmluZXNfaCAqLwo=
</data>
<flag name="review"
          id="223799"
          type_id="1"
          status="-"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>