<?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>90054</bug_id>
          
          <creation_ts>2012-06-27 00:54:24 -0700</creation_ts>
          <short_desc>[EFL][WK2] Make ewk_view inheritable in the WebKit2.</short_desc>
          <delta_ts>2012-08-08 06:16:23 -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>
          
          <blocked>61838</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Eunmi Lee">enmi.lee</reporter>
          <assigned_to name="Eunmi Lee">enmi.lee</assigned_to>
          <cc>cdumez</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sw0524.lee</cc>
    
    <cc>tmpsantos</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>658428</commentid>
    <comment_count>0</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-06-27 00:54:24 -0700</bug_when>
    <thetext>The current ewk_view can not be inherited in the WebKit2 because the smart_class_set() API is not opened.
This bug will make ewk_view inheritable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658454</commentid>
    <comment_count>1</comment_count>
      <attachid>149705</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-06-27 01:33:57 -0700</bug_when>
    <thetext>Created attachment 149705
patch for inheritance</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659024</commentid>
    <comment_count>2</comment_count>
      <attachid>149705</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-06-27 17:55:21 -0700</bug_when>
    <thetext>Comment on attachment 149705
patch for inheritance

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

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:522
&gt; +    EWK_VIEW_SD_GET(ewkView, smartData);

Why not use EWK_VIEW_SD_GET_OR_RETURN() instead of EWK_VIEW_SD_GET() ? Do you need to free ewkView object when failing to get smart data ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659109</commentid>
    <comment_count>3</comment_count>
      <attachid>149705</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-06-27 19:36:29 -0700</bug_when>
    <thetext>Comment on attachment 149705
patch for inheritance

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

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view_private.h:40
&gt; +Evas_Object* ewk_view_base_add(Evas*, Ewk_Context*, Ewk_Page_Group*);

Doesn&apos;t we need to expose this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659119</commentid>
    <comment_count>4</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-06-27 19:50:18 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 149705 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=149705&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:522
&gt; &gt; +    EWK_VIEW_SD_GET(ewkView, smartData);
&gt; 
&gt; Why not use EWK_VIEW_SD_GET_OR_RETURN() instead of EWK_VIEW_SD_GET() ? Do you need to free ewkView object when failing to get smart data ?

Yes, I think it is better to free the ewkView and return 0 when we fail to create SmartData and Private Data because the ewkView does not work correctly without them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659120</commentid>
    <comment_count>5</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-06-27 19:51:19 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 149705 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=149705&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_view_private.h:40
&gt; &gt; +Evas_Object* ewk_view_base_add(Evas*, Ewk_Context*, Ewk_Page_Group*);
&gt; 
&gt; Doesn&apos;t we need to expose this?

I think we don&apos;t have to expose now because we can not create Ewk_Page_Group yet.
We can expose that when API to create Ewk_Page_Group is added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659389</commentid>
    <comment_count>6</comment_count>
      <attachid>149705</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-06-28 03:47:12 -0700</bug_when>
    <thetext>Comment on attachment 149705
patch for inheritance

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

&gt; Source/WebKit2/UIProcess/API/efl/ewk_page_group.cpp:40
&gt; +    if (!ewkPageGroup)

Shouldn&apos;t we use EINA_SAFETY_ON_NULL_RETURN_VAL(ewkPageGroup, 0); ? Passing NULL is not valid API use IMHO.

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view_private.h:39
&gt; +Evas_Object* ewk_view_add_with_WKContext_and_WKPageGroup(Evas*, WKContextRef, WKPageGroupRef);

Can&apos;t we make this function name a bit shorter? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659432</commentid>
    <comment_count>7</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-06-28 05:14:18 -0700</bug_when>
    <thetext>(In reply to comment #6)

Thanks for your comments :)

&gt; (From update of attachment 149705 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=149705&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_page_group.cpp:40
&gt; &gt; +    if (!ewkPageGroup)
&gt; 
&gt; Shouldn&apos;t we use EINA_SAFETY_ON_NULL_RETURN_VAL(ewkPageGroup, 0); ? Passing NULL is not valid API use IMHO.

Yes, right. It&apos;s better to use EINA_SAFETY in this case. I will change it.

&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_view_private.h:39
&gt; &gt; +Evas_Object* ewk_view_add_with_WKContext_and_WKPageGroup(Evas*, WKContextRef, WKPageGroupRef);
&gt; 
&gt; Can&apos;t we make this function name a bit shorter? :)

Yes, the name is long. so how about ewk_view_add_with_WKType()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659439</commentid>
    <comment_count>8</comment_count>
      <attachid>149705</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-06-28 05:34:17 -0700</bug_when>
    <thetext>Comment on attachment 149705
patch for inheritance

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

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view_private.h:39
&gt;&gt;&gt; +Evas_Object* ewk_view_add_with_WKContext_and_WKPageGroup(Evas*, WKContextRef, WKPageGroupRef);
&gt;&gt; 
&gt;&gt; Can&apos;t we make this function name a bit shorter? :)
&gt; 
&gt; Yes, the name is long. so how about ewk_view_add_with_WKType()?

Yes, ewk_view_add_with_WKType() is better for me. Let&apos;s see if Gyuyoung/Ryuan agree :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660154</commentid>
    <comment_count>9</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-06-28 23:06:46 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 149705 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=149705&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view_private.h:39
&gt; &gt;&gt;&gt; +Evas_Object* ewk_view_add_with_WKContext_and_WKPageGroup(Evas*, WKContextRef, WKPageGroupRef);
&gt; &gt;&gt; 
&gt; &gt;&gt; Can&apos;t we make this function name a bit shorter? :)
&gt; &gt; 
&gt; &gt; Yes, the name is long. so how about ewk_view_add_with_WKType()?
&gt; 
&gt; Yes, ewk_view_add_with_WKType() is better for me. Let&apos;s see if Gyuyoung/Ryuan agree :)

+1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660217</commentid>
    <comment_count>10</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-06-29 00:22:26 -0700</bug_when>
    <thetext>(In reply to comment #8)

&gt; Yes, ewk_view_add_with_WKType() is better for me. Let&apos;s see if Gyuyoung/Ryuan agree :)

Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660247</commentid>
    <comment_count>11</comment_count>
      <attachid>150107</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-06-29 00:48:33 -0700</bug_when>
    <thetext>Created attachment 150107
patch for inheritance

I&apos;ve applied review comments to this new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660251</commentid>
    <comment_count>12</comment_count>
      <attachid>150107</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-06-29 00:52:55 -0700</bug_when>
    <thetext>Comment on attachment 150107
patch for inheritance

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

&gt; Source/WebKit2/ChangeLog:10
&gt; +        Make the ewk_view inheritable by adding ewk_view_smart_class_set() API
&gt; +        to the ewk_view.h.
&gt; +        Additionally, the initialize() API is added to the SmartClass and it

What does that mean (sorry didnt look at the patch yet)? You will be able to reuse all the API? Are you sure that is a good idea? bringing over legacy?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660277</commentid>
    <comment_count>13</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-06-29 01:44:56 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 150107 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=150107&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:10
&gt; &gt; +        Make the ewk_view inheritable by adding ewk_view_smart_class_set() API
&gt; &gt; +        to the ewk_view.h.
&gt; &gt; +        Additionally, the initialize() API is added to the SmartClass and it
&gt; 
&gt; What does that mean (sorry didnt look at the patch yet)? You will be able to reuse all the API? Are you sure that is a good idea? bringing over legacy?

I want to make ewk_view inheritable like WebKit1&apos;s ewk_view,
because I want to make ewk_view_touchscreen which inherits the ewk_view.
You can see the Bug 88631.
Actually I can make ewk_view_touchscreen without inheritance, but I think I have to do duplicated works such as drawing contents without inheritance.

If you think my answer is not enough, please feel free to ask me again :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660289</commentid>
    <comment_count>14</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-06-29 02:04:21 -0700</bug_when>
    <thetext>
&gt; &gt; What does that mean (sorry didnt look at the patch yet)? You will be able to reuse all the API? Are you sure that is a good idea? bringing over legacy?
&gt; 
&gt; I want to make ewk_view inheritable like WebKit1&apos;s ewk_view,
&gt; because I want to make ewk_view_touchscreen which inherits the ewk_view.
&gt; You can see the Bug 88631.
&gt; Actually I can make ewk_view_touchscreen without inheritance, but I think I have to do duplicated works such as drawing contents without inheritance.
&gt; 
&gt; If you think my answer is not enough, please feel free to ask me again :)

Look at where the industry is going. Every browser will support touch screens and might even do so as well as supporting mouse (think windows 8). I think you should forget about current desktop use cases (legacy) and concentrate on creating a top-notch mobile web view, because the mobile is moving to the desktop and not the other way around.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>661243</commentid>
    <comment_count>15</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-07-01 20:00:05 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; &gt; &gt; What does that mean (sorry didnt look at the patch yet)? You will be able to reuse all the API? Are you sure that is a good idea? bringing over legacy?
&gt; &gt; 
&gt; &gt; I want to make ewk_view inheritable like WebKit1&apos;s ewk_view,
&gt; &gt; because I want to make ewk_view_touchscreen which inherits the ewk_view.
&gt; &gt; You can see the Bug 88631.
&gt; &gt; Actually I can make ewk_view_touchscreen without inheritance, but I think I have to do duplicated works such as drawing contents without inheritance.
&gt; &gt; 
&gt; &gt; If you think my answer is not enough, please feel free to ask me again :)
&gt; 
&gt; Look at where the industry is going. Every browser will support touch screens and might even do so as well as supporting mouse (think windows 8). I think you should forget about current desktop use cases (legacy) and concentrate on creating a top-notch mobile web view, because the mobile is moving to the desktop and not the other way around.

Kenneth, thank you for your comments.

Yes, right. the mobile is getting important these days,
and I also considered how to support touch screens as well as supporting mouse.
but, in my conclusion, I can not support both touch screen and mouse at the same time now in the EFL port.
Because, Evas can not discriminate the touchscreen&apos;s input and mouse&apos;s input.
That means, Evas generates &quot;Mouse Event&quot; when we touch the touchscreen and it also generates &quot;Mouse Event&quot; for Mouse device&apos;s operation.
I want to do scrolling for &quot;Mouse down, move, up&quot; on the touchscreen, but I want to do dragging for that with the mouse device,
so, I can not support touch screen and mouse at the same time.

Additionally, I think I can write the code to support touchscreen using &quot;if else&quot; statement in the all mouse event callback to separate the touchscreen and mouse in the ewk_view.cpp.
But, IMO, it is better to inherit and override the mouse event instead of using &quot;if else&quot; statement.

I really want to listen your thought about that. :)

BTW, This patch is for making ewk_view inheritable.
the ewk_view_touchscreen is just a one example of inheritance,
and I think it will be useful for applications to extend ewk_view functions if ewk_view is inheritable.
So, would you review this patch for that?
The discussion for ewk_view_touchscreen, will be applied in the Bug 88631.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663260</commentid>
    <comment_count>16</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-07-04 20:29:45 -0700</bug_when>
    <thetext>
&gt; Kenneth, thank you for your comments.
&gt; 
&gt; Yes, right. the mobile is getting important these days,
&gt; and I also considered how to support touch screens as well as supporting mouse.
&gt; but, in my conclusion, I can not support both touch screen and mouse at the same time now in the EFL port.
&gt; Because, Evas can not discriminate the touchscreen&apos;s input and mouse&apos;s input.
&gt; That means, Evas generates &quot;Mouse Event&quot; when we touch the touchscreen and it also generates &quot;Mouse Event&quot; for Mouse device&apos;s operation.
&gt; I want to do scrolling for &quot;Mouse down, move, up&quot; on the touchscreen, but I want to do dragging for that with the mouse device,
&gt; so, I can not support touch screen and mouse at the same time.

Qt has had the same issues but it is almost fixed now ;-) EFL developers should look at how we are fixing this. What you can do while this is not working is adding a method like &quot;ewk_enable_mouse_events() / ewk_enable_touch_events()&quot; to ignore one or the other. 

&gt; Additionally, I think I can write the code to support touchscreen using &quot;if else&quot; statement in the all mouse event callback to separate the touchscreen and mouse in the ewk_view.cpp.
&gt; But, IMO, it is better to inherit and override the mouse event instead of using &quot;if else&quot; statement.

Then you will have a problem in the future when your view supports both. Think about the future :-)

&gt; 
&gt; I really want to listen your thought about that. :)
&gt; 
&gt; BTW, This patch is for making ewk_view inheritable.
&gt; the ewk_view_touchscreen is just a one example of inheritance,
&gt; and I think it will be useful for applications to extend ewk_view functions if ewk_view is inheritable.

It can also easily become a can or worms (talking from experience). What is it that you need from the view that can only be solved by inheritance? why are free functions not good enough?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>663333</commentid>
    <comment_count>17</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-07-04 23:35:52 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; &gt; Kenneth, thank you for your comments.
&gt; &gt; 
&gt; &gt; Yes, right. the mobile is getting important these days,
&gt; &gt; and I also considered how to support touch screens as well as supporting mouse.
&gt; &gt; but, in my conclusion, I can not support both touch screen and mouse at the same time now in the EFL port.
&gt; &gt; Because, Evas can not discriminate the touchscreen&apos;s input and mouse&apos;s input.
&gt; &gt; That means, Evas generates &quot;Mouse Event&quot; when we touch the touchscreen and it also generates &quot;Mouse Event&quot; for Mouse device&apos;s operation.
&gt; &gt; I want to do scrolling for &quot;Mouse down, move, up&quot; on the touchscreen, but I want to do dragging for that with the mouse device,
&gt; &gt; so, I can not support touch screen and mouse at the same time.
&gt; 
&gt; Qt has had the same issues but it is almost fixed now ;-) EFL developers should look at how we are fixing this. What you can do while this is not working is adding a method like &quot;ewk_enable_mouse_events() / ewk_enable_touch_events()&quot; to ignore one or the other. 

Thanks for your advice.I hope EFL becomes good like Qt and I have to study Qt port. :)
and, I will modify Bug 88631 to use API such as ewk_enable_touch_events() to distinguish touch and mouse event.

&gt; 
&gt; &gt; Additionally, I think I can write the code to support touchscreen using &quot;if else&quot; statement in the all mouse event callback to separate the touchscreen and mouse in the ewk_view.cpp.
&gt; &gt; But, IMO, it is better to inherit and override the mouse event instead of using &quot;if else&quot; statement.
&gt; 
&gt; Then you will have a problem in the future when your view supports both. Think about the future :-)

Yes, right. If I add ewk_view_touchscreen, I have to merge codes of ewk_view_touchscreen to the ewk_view when view supports both mouse and touch.
I didn&apos;t consider about that. and I think it is better to use &quot;if else&quot; statement in this case. :)

&gt; 
&gt; &gt; 
&gt; &gt; I really want to listen your thought about that. :)
&gt; &gt; 
&gt; &gt; BTW, This patch is for making ewk_view inheritable.
&gt; &gt; the ewk_view_touchscreen is just a one example of inheritance,
&gt; &gt; and I think it will be useful for applications to extend ewk_view functions if ewk_view is inheritable.
&gt; 
&gt; It can also easily become a can or worms (talking from experience). What is it that you need from the view that can only be solved by inheritance? why are free functions not good enough?

There is 8 Smart Class functions in the ewk_view such as mouse_down, key_down, focus_in and so on, and the ewk_view offers the default behavior of them.
I think application can want to do different operations for those Smart Class functions.
If we do not allow the inheritance, the application (or extending library) can not override Smart Class functions.
I don&apos;t want to restrict applications&apos; possibility. so I want to make the ewk_view inheritable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669846</commentid>
    <comment_count>18</comment_count>
      <attachid>152426</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-07-14 10:20:27 -0700</bug_when>
    <thetext>Created attachment 152426
patch to make ewk_view inheritable

I&apos;ve rebased patch.

Kenneth, I&apos;m waiting for your review. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671258</commentid>
    <comment_count>19</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-07-17 07:15:02 -0700</bug_when>
    <thetext>I&apos;ve separated the ewk_view_group related codes to the Bug 91468.
I will make patch for this Bug again, and add dependency for Bug 91468.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671269</commentid>
    <comment_count>20</comment_count>
      <attachid>152760</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-07-17 07:41:42 -0700</bug_when>
    <thetext>Created attachment 152760
[WIP] patch for inheritance

This patch depends on Bug 91468, so I will update patch again after Bug 91468 is reviewed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680265</commentid>
    <comment_count>21</comment_count>
      <attachid>154873</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-07-27 01:13:41 -0700</bug_when>
    <thetext>Created attachment 154873
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680299</commentid>
    <comment_count>22</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-07-27 01:41:19 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; Created an attachment (id=154873) [details]
&gt; Patch

I&apos;ve uploaded new patch for inheritance.

I made patch to add the initialize API to the SmartClass before, but I&apos;ve changed my mind, because I think it is not clear to call initialize API in the object which inherits the ewk_view.

In the new patch, I make ewk_view inheritable by exposing the ewk_view_smart_class_set() and getting Ewk_View_Smart_Class_Data as a second parameter.

In order to make the ewk_view inheritable, I have to create PageClientImpl in the not ewk_view_base_add() but _smart_add().
but there is a problem because the _smart_add() can not pass the data to create PageClientImpl.
(Unlike WK1 EFL, we have to pass the data which is used to create WebPage in the WK2 such as Context and PageGroup.)
so, I have to consider how to pass the data to the ewk_view&apos;s constructor, and I&apos;ve decided to use Smart_Class&apos;s data.

The Smart_Class&apos;s data was used only for type before, but I&apos;ve made Ewk_View_Smart_Class_Data to store Context and PageGroup as well as type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681368</commentid>
    <comment_count>23</comment_count>
      <attachid>154873</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-07-28 00:37:22 -0700</bug_when>
    <thetext>Comment on attachment 154873
Patch

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

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:127
&gt; +        Ewk_View_Smart_Class_Data* data = reinterpret_cast&lt;Ewk_View_Smart_Class_Data*&gt;(evas_smart_data_get(_tmp_s)); \
&gt; +        if (EINA_UNLIKELY(data-&gt;type != EWK_VIEW_TYPE_STR)) {                                                        \

It&apos;s difficult for me to find what you change.
Although I know why you did, we&apos;d better not to touch others if possible.

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:551
&gt; -    api-&gt;sc.data = EWK_VIEW_TYPE_STR; // It is used by type checking.
&gt; +    api-&gt;sc.data = data;

If I am right, Smart class is shared for all ewkView object so that we will have only one ewk_context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681427</commentid>
    <comment_count>24</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-07-28 09:09:49 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; (From update of attachment 154873 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=154873&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:127
&gt; &gt; +        Ewk_View_Smart_Class_Data* data = reinterpret_cast&lt;Ewk_View_Smart_Class_Data*&gt;(evas_smart_data_get(_tmp_s)); \
&gt; &gt; +        if (EINA_UNLIKELY(data-&gt;type != EWK_VIEW_TYPE_STR)) {                                                        \
&gt; 
&gt; It&apos;s difficult for me to find what you change.
&gt; Although I know why you did, we&apos;d better not to touch others if possible.
&gt; 

I&apos;ve changed the data of smart class, so I think it is reasonable to modify above codes.

&gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:551
&gt; &gt; -    api-&gt;sc.data = EWK_VIEW_TYPE_STR; // It is used by type checking.
&gt; &gt; +    api-&gt;sc.data = data;
&gt; 
&gt; If I am right, Smart class is shared for all ewkView object so that we will have only one ewk_context.

The smart class is not shared for all ewkView object,
and each ewkView has its own smart class.
so, would you explain your thought again? I can not catch your point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681491</commentid>
    <comment_count>25</comment_count>
      <attachid>154873</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-07-28 17:27:02 -0700</bug_when>
    <thetext>Comment on attachment 154873
Patch

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

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:127
&gt;&gt;&gt; +        if (EINA_UNLIKELY(data-&gt;type != EWK_VIEW_TYPE_STR)) {                                                        \
&gt;&gt; 
&gt;&gt; It&apos;s difficult for me to find what you change.
&gt;&gt; Although I know why you did, we&apos;d better not to touch others if possible.
&gt; 
&gt; I&apos;ve changed the data of smart class, so I think it is reasonable to modify above codes.

IMO, You&apos;d better to change above code only although it break comment style.

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:579
&gt;      static Ewk_View_Smart_Class api = EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION(&quot;Ewk_View&quot;);
&gt;      static Evas_Smart* smart = 0;
&gt;  
&gt;      if (EINA_UNLIKELY(!smart)) {
&gt; -        ewk_view_smart_class_init(&amp;api);
&gt; +        ewk_view_smart_class_set(&amp;api, data);

Although you call ewk_view_smart_class_new with different data, api and smart will be initialized only one time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681523</commentid>
    <comment_count>26</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-07-28 21:50:42 -0700</bug_when>
    <thetext>(In reply to comment #25)
&gt; (From update of attachment 154873 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=154873&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:127
&gt; &gt;&gt;&gt; +        if (EINA_UNLIKELY(data-&gt;type != EWK_VIEW_TYPE_STR)) {                                                        \
&gt; &gt;&gt; 
&gt; &gt;&gt; It&apos;s difficult for me to find what you change.
&gt; &gt;&gt; Although I know why you did, we&apos;d better not to touch others if possible.
&gt; &gt; 
&gt; &gt; I&apos;ve changed the data of smart class, so I think it is reasonable to modify above codes.
&gt; 
&gt; IMO, You&apos;d better to change above code only although it break comment style.
&gt; 

Now, I&apos;ve finally got what you mean.
You mean I don&apos;t have to move &quot;\&quot; in the 96~113 line.
If it is OK to break the style, I will modify patch to not move the &quot;\&quot;.

&gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:579
&gt; &gt;      static Ewk_View_Smart_Class api = EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION(&quot;Ewk_View&quot;);
&gt; &gt;      static Evas_Smart* smart = 0;
&gt; &gt;  
&gt; &gt;      if (EINA_UNLIKELY(!smart)) {
&gt; &gt; -        ewk_view_smart_class_init(&amp;api);
&gt; &gt; +        ewk_view_smart_class_set(&amp;api, data);
&gt; 
&gt; Although you call ewk_view_smart_class_new with different data, api and smart will be initialized only one time.

I didn&apos;t catch the Ewk_View_Smart_Class is &quot;static&quot;.
I will remove &quot;static&quot; to set the data for each ewk_view.
Thanks for your comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>681549</commentid>
    <comment_count>27</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-07-29 05:45:30 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; (In reply to comment #25)
&gt; &gt; (From update of attachment 154873 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=154873&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:127
&gt; &gt; &gt;&gt;&gt; +        if (EINA_UNLIKELY(data-&gt;type != EWK_VIEW_TYPE_STR)) {                                                        \
&gt; &gt; &gt;&gt; 
&gt; &gt; &gt;&gt; It&apos;s difficult for me to find what you change.
&gt; &gt; &gt;&gt; Although I know why you did, we&apos;d better not to touch others if possible.
&gt; &gt; &gt; 
&gt; &gt; &gt; I&apos;ve changed the data of smart class, so I think it is reasonable to modify above codes.
&gt; &gt; 
&gt; &gt; IMO, You&apos;d better to change above code only although it break comment style.
&gt; &gt; 
&gt; 
&gt; Now, I&apos;ve finally got what you mean.
&gt; You mean I don&apos;t have to move &quot;\&quot; in the 96~113 line.
&gt; If it is OK to break the style, I will modify patch to not move the &quot;\&quot;.
&gt; 
&gt; &gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:579
&gt; &gt; &gt;      static Ewk_View_Smart_Class api = EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION(&quot;Ewk_View&quot;);
&gt; &gt; &gt;      static Evas_Smart* smart = 0;
&gt; &gt; &gt;  
&gt; &gt; &gt;      if (EINA_UNLIKELY(!smart)) {
&gt; &gt; &gt; -        ewk_view_smart_class_init(&amp;api);
&gt; &gt; &gt; +        ewk_view_smart_class_set(&amp;api, data);
&gt; &gt; 
&gt; &gt; Although you call ewk_view_smart_class_new with different data, api and smart will be initialized only one time.
&gt; 
&gt; I didn&apos;t catch the Ewk_View_Smart_Class is &quot;static&quot;.
&gt; I will remove &quot;static&quot; to set the data for each ewk_view.
&gt; Thanks for your comment.

I&apos;ve try to remove static and allocate memory for Ewk_View_Smart_Class,
but I can&apos;t find the way to free the allocated Smart_Class! :(
because returned smart class from evas_smart_class_get() is &quot;const&quot; type.

I have to find another way for making ewk_view inheritable with specific data.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687583</commentid>
    <comment_count>28</comment_count>
      <attachid>156556</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-08-05 05:53:06 -0700</bug_when>
    <thetext>Created attachment 156556
patch to make ewk_view inheritable

I&apos;ve got an advice from EFL community to make Evas_Object inheritable with specific value.
http://sourceforge.net/mailarchive/forum.php?thread_name=CAOtL8OpdAnDSRWv2Vdn1F%2B1b_Hm7vhKVs%3DwHLcB1rSDO3KvdEw%40mail.gmail.com&amp;forum_name=enlightenment-devel

I&apos;ve made patch by referencing elementary&apos;s elm_widget.
The elm_widget provides elm_widget_add() which accepts parent as a parameter,
and the widget which inherits elm_widget creates its Evas_Object using elm_widget_add() instead of evas_object_smart_add().

In this patch, the ewk_view provides ewk_view_smart_add() API to create Evas_Object for WebKit2 EFL,
so, the object which inherits ewk_view can use that API to create Evas_Object and the ewk_view can get Ewk_Context using the ewk_view_smart_add()&apos;s parameter.

I hope this patch can be the final patch for inheritance :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687661</commentid>
    <comment_count>29</comment_count>
      <attachid>156556</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-08-05 16:11:08 -0700</bug_when>
    <thetext>Comment on attachment 156556
patch to make ewk_view inheritable

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

Thank you.

Looks better than before, I have only below nit from this patch.

And I want to know whether this has any regression to run WTR/Efl.
Previously, WTR/Efl did not use Ewk_Context.

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:703
&gt; +    Evas_Object* ewkView = _ewk_view_base_add(canvas, _ewk_view_smart_class_new());
&gt; +    if (!ewkView)
&gt; +        return 0;
&gt; +
&gt; +    _ewk_view_initialize(ewkView, ewk_context_new_with_WKContext(contextRef), pageGroupRef);

This code is duplicated with below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687748</commentid>
    <comment_count>30</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-08-05 21:49:27 -0700</bug_when>
    <thetext>(In reply to comment #29)
&gt; (From update of attachment 156556 [details])
&gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:703
&gt; &gt; +    Evas_Object* ewkView = _ewk_view_base_add(canvas, _ewk_view_smart_class_new());
&gt; &gt; +    if (!ewkView)
&gt; &gt; +        return 0;
&gt; &gt; +
&gt; &gt; +    _ewk_view_initialize(ewkView, ewk_context_new_with_WKContext(contextRef), pageGroupRef);
&gt; 
&gt; This code is duplicated with below.

Sorry, please ignore this, I missed that second argument of _ewk_view_initialize is different.

Looks good to me if we don&apos;t have regression for WTR/Efl.

Please check WTR/Efl with/without this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687836</commentid>
    <comment_count>31</comment_count>
      <attachid>156556</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-08-06 01:02:04 -0700</bug_when>
    <thetext>Comment on attachment 156556
patch to make ewk_view inheritable

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

&gt; Source/WebKit2/UIProcess/API/efl/ewk_context.cpp:123
&gt; +Ewk_Context* ewk_context_new_with_WKContext(WKContextRef contextRef)

from_WKContext?

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:653
&gt; +    if (priv-&gt;pageClient)
&gt; +        return;

newline after return

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:695
&gt; + * Constructs a ewk_view Evas_Object with WKType parameters.
&gt; + */
&gt; +Evas_Object* ewk_view_add_with_WKType(Evas* canvas, WKContextRef contextRef, WKPageGroupRef pageGroupRef)
&gt; +{

I think this with_WKType is confusing. What is a WKType? Plus you have multiple arguments...  why not just like ewk_view_add_internal or so

&gt; Source/WebKit2/UIProcess/API/efl/ewk_view_private.h:73
&gt; -Evas_Object* ewk_view_base_add(Evas* canvas, WKContextRef, WKPageGroupRef);
&gt; +Evas_Object* ewk_view_add_with_WKType(Evas*, WKContextRef, WKPageGroupRef);

the old name seems better</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690115</commentid>
    <comment_count>32</comment_count>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-08-08 03:40:09 -0700</bug_when>
    <thetext>(In reply to comment #30)
&gt; (In reply to comment #29)
&gt; &gt; (From update of attachment 156556 [details] [details])
&gt; &gt; &gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:703
&gt; &gt; &gt; +    Evas_Object* ewkView = _ewk_view_base_add(canvas, _ewk_view_smart_class_new());
&gt; &gt; &gt; +    if (!ewkView)
&gt; &gt; &gt; +        return 0;
&gt; &gt; &gt; +
&gt; &gt; &gt; +    _ewk_view_initialize(ewkView, ewk_context_new_with_WKContext(contextRef), pageGroupRef);
&gt; &gt; 
&gt; &gt; This code is duplicated with below.
&gt; 
&gt; Sorry, please ignore this, I missed that second argument of _ewk_view_initialize is different.
&gt; 
&gt; Looks good to me if we don&apos;t have regression for WTR/Efl.
&gt; 
&gt; Please check WTR/Efl with/without this patch.

Thanks for your comment :)
I&apos;ve checked with WTR/Efl and there is no regression with this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690118</commentid>
    <comment_count>33</comment_count>
      <attachid>156556</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-08-08 03:45:52 -0700</bug_when>
    <thetext>Comment on attachment 156556
patch to make ewk_view inheritable

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

Thanks for your comments :)

&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_context.cpp:123
&gt;&gt; +Ewk_Context* ewk_context_new_with_WKContext(WKContextRef contextRef)
&gt; 
&gt; from_WKContext?

Thanks, that is better :)

&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:653
&gt;&gt; +        return;
&gt; 
&gt; newline after return

OK, I will fix it.

&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view.cpp:695
&gt;&gt; +{
&gt; 
&gt; I think this with_WKType is confusing. What is a WKType? Plus you have multiple arguments...  why not just like ewk_view_add_internal or so

OK, I will use old name as your below comment.

&gt;&gt; Source/WebKit2/UIProcess/API/efl/ewk_view_private.h:73
&gt;&gt; +Evas_Object* ewk_view_add_with_WKType(Evas*, WKContextRef, WKPageGroupRef);
&gt; 
&gt; the old name seems better

Yes, I understand the ewk_view_add_with_WKType is confusing.
I think it is better to use old name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690128</commentid>
    <comment_count>34</comment_count>
      <attachid>157172</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-08-08 04:08:16 -0700</bug_when>
    <thetext>Created attachment 157172
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690168</commentid>
    <comment_count>35</comment_count>
      <attachid>157172</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-08-08 05:05:30 -0700</bug_when>
    <thetext>Comment on attachment 157172
Patch

I am no EFL expert but this looks OK to me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690193</commentid>
    <comment_count>36</comment_count>
      <attachid>157194</attachid>
    <who name="Eunmi Lee">enmi.lee</who>
    <bug_when>2012-08-08 05:33:12 -0700</bug_when>
    <thetext>Created attachment 157194
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690197</commentid>
    <comment_count>37</comment_count>
      <attachid>157194</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-08-08 05:34:55 -0700</bug_when>
    <thetext>Comment on attachment 157194
Patch

Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690244</commentid>
    <comment_count>38</comment_count>
      <attachid>157194</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-08 06:16:15 -0700</bug_when>
    <thetext>Comment on attachment 157194
Patch

Clearing flags on attachment: 157194

Committed r125030: &lt;http://trac.webkit.org/changeset/125030&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690245</commentid>
    <comment_count>39</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-08 06:16:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149705</attachid>
            <date>2012-06-27 01:33:57 -0700</date>
            <delta_ts>2012-06-29 00:48:33 -0700</delta_ts>
            <desc>patch for inheritance</desc>
            <filename>make_ewk_view_inheritable.patch</filename>
            <type>text/plain</type>
            <size>15688</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAwNjdiOTg4Li40YTg3N2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIg
QEAKKzIwMTItMDYtMjcgIEV1bm1pIExlZSAgPGV1bm1pMTUubGVlQHNhbXN1bmcuY29tPgorCisg
ICAgICAgIFtFRkxdW1dLMl0gTWFrZSBld2tfdmlldyBpbmhlcml0YWJsZSBpbiB0aGUgV2ViS2l0
Mi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMDU0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSB0
aGUgZXdrX3ZpZXcgaW5oZXJpdGFibGUgYnkgYWRkaW5nIGV3a192aWV3X3NtYXJ0X2NsYXNzX3Nl
dCgpIEFQSQorICAgICAgICB0byB0aGUgZXdrX3ZpZXcuaC4KKyAgICAgICAgQWRkaXRpb25hbGx5
LCB0aGUgaW5pdGlhbGl6ZSgpIEFQSSBpcyBhZGRlZCB0byB0aGUgU21hcnRDbGFzcyBhbmQgaXQK
KyAgICAgICAgY3JlYXRlcyB0aGUgUGFnZUNsaWVudCwgc28gdGhlIG9iamVjdCB3aGljaCB3YW50
cyB0byBpbmhlcml0IHRoZQorICAgICAgICBld2tfdmlldyBoYXMgdG8gY2FsbCB0aGUgaW5pdGlh
bGl6ZSgpIGluIHRoZSBjb25zdHJ1Y3RvciB0byBjcmVhdGUKKyAgICAgICAgdGhlIFBhZ2VDbGll
bnQuCisgICAgICAgIFRoZSBXSyogZGVwZW5kZW5jaWVzIGFyZSByZW1vdmVkIGZyb20gZXdrX3Zp
ZXdfYmFzZV9hZGQoKSBiZWNhdXNlCisgICAgICAgIGluaXRpYWxpemUoKSBBUEkgZ2V0cyB0aGUg
RXdrX0NvbnRleHQgYW5kIEV3a19QYWdlX0dyb3VwIGluc3RlYWQgb2YKKyAgICAgICAgV0sgdHlw
ZXMsIHNvIG5ldyBmdW5jdGlvbiBld2tfdmlld19hZGRfd2l0aF9XS0NvbnRleHRfYW5kX1dLUGFn
ZUdyb3VwKCkKKyAgICAgICAgaXMgYWRkZWQgZm9yIFdLVmlldy5jcHAuCisKKyAgICAgICAgKiBQ
bGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvZWZsL1dLVmlldy5j
cHA6CisgICAgICAgIChXS1ZpZXdDcmVhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZs
L0VXZWJLaXQyLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BhZ2VfZ3JvdXAu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKF9Fd2tfUGFnZV9Hcm91cCk6CisgICAgICAgIChfRXdrX1Bh
Z2VfR3JvdXA6Ol9Fd2tfUGFnZV9Hcm91cCk6CisgICAgICAgIChld2tfcGFnZV9ncm91cF9XS1Bh
Z2VHcm91cF9nZXQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19wYWdlX2dyb3Vw
Lmg6IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19wYWdlX2dyb3VwX3By
aXZhdGUuaDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3Bw
OgorICAgICAgICAoX2V3a192aWV3X3BhZ2VfY2xpZW50X2NyZWF0ZSk6CisgICAgICAgIChfZXdr
X3ZpZXdfaW5pdGlhbGl6ZSk6CisgICAgICAgIChld2tfdmlld19zbWFydF9jbGFzc19zZXQpOgor
ICAgICAgICAoX2V3a192aWV3X3NtYXJ0X2NsYXNzX25ldyk6CisgICAgICAgIChld2tfdmlld19h
ZGRfd2l0aF9XS0NvbnRleHRfYW5kX1dLUGFnZUdyb3VwKToKKyAgICAgICAgKGV3a192aWV3X2Jh
c2VfYWRkKToKKyAgICAgICAgKGV3a192aWV3X2FkZF93aXRoX2NvbnRleHQpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9l
ZmwvZXdrX3ZpZXdfcHJpdmF0ZS5oOgorCiAyMDEyLTA2LTI2ICBDaHJpc3RvcGhlIER1bWV6ICA8
Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CiAKICAgICAgICAgW1dLMl1bR1RLXSBVbmluaXRp
YWxpemVkIHZhcmlhYmxlIGluIFRleHRDaGVja2VyR3RrLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5j
bWFrZQppbmRleCA1ZjZlMDllLi5kOTJjNDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQpA
QCAtMzIsNiArMzIsNyBAQCBMSVNUKEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKIAogICAgIFVJUHJv
Y2Vzcy9BUEkvZWZsL1BhZ2VDbGllbnRJbXBsLmNwcAogICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3
a19jb250ZXh0LmNwcAorICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19wYWdlX2dyb3VwLmNwcAog
ICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcAogICAgIFVJUHJvY2Vzcy9BUEkvZWZs
L2V3a192aWV3X2xvYWRlcl9jbGllbnQuY3BwCiAKQEAgLTE1Myw2ICsxNTQsNyBAQCBDT05GSUdV
UkVfRklMRShlZmwvZXdlYmtpdDIucGMuaW4gJHtDTUFLRV9CSU5BUllfRElSfS9XZWJLaXQyL2Vm
bC9ld2Via2l0Mi5wYyBATwogU0VUIChFV2ViS2l0Ml9IRUFERVJTCiAgICAgIiR7Q01BS0VfQ1VS
UkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC9FV2ViS2l0Mi5oIgogICAgICIke0NN
QUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuaCIK
KyAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19w
YWdlX2dyb3VwLmgiCiAgICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfdmlldy5oIgogKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvZWZsL1dLVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvZWZsL1dLVmlldy5jcHAKaW5kZXggMDNmNjkzMC4uNTZmMDllMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tWaWV3LmNwcApAQCAtMjcsNyArMjcsNyBAQCB1
c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBXS1ZpZXdSZWYgV0tWaWV3Q3JlYXRlKEV2YXMqIGNh
bnZhcywgV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJl
ZikKIHsKLSAgICByZXR1cm4gdG9BUEkoZXdrX3ZpZXdfYmFzZV9hZGQoY2FudmFzLCBjb250ZXh0
UmVmLCBwYWdlR3JvdXBSZWYpKTsKKyAgICByZXR1cm4gdG9BUEkoZXdrX3ZpZXdfYWRkX3dpdGhf
V0tDb250ZXh0X2FuZF9XS1BhZ2VHcm91cChjYW52YXMsIGNvbnRleHRSZWYsIHBhZ2VHcm91cFJl
ZikpOwogfQogCiBXS1BhZ2VSZWYgV0tWaWV3R2V0UGFnZShXS1ZpZXdSZWYgdmlld1JlZikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0VXZWJLaXQyLmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FV2ViS2l0Mi5oCmluZGV4IGUxNDNiNzgu
LjZhYTc2Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0VX
ZWJLaXQyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRVdlYktpdDIu
aApAQCAtMjgsNiArMjgsNyBAQAogI2RlZmluZSBFV2ViS2l0Ml9oCiAKICNpbmNsdWRlICJld2tf
Y29udGV4dC5oIgorI2luY2x1ZGUgImV3a19wYWdlX2dyb3VwLmgiCiAjaW5jbHVkZSAiZXdrX3Zp
ZXcuaCIKIAogI2VuZGlmIC8vIEVXZWJLaXQyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19wYWdlX2dyb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a19wYWdlX2dyb3VwLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi44NWUzZmE3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BhZ2VfZ3JvdXAuY3BwCkBAIC0wLDAgKzEsNDQgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcworICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
KyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgImV3a19wYWdlX2dyb3VwLmgiCisKKyNpbmNsdWRlICJXS1Jl
dGFpblB0ci5oIgorI2luY2x1ZGUgImV3a19wYWdlX2dyb3VwX3ByaXZhdGUuaCIKKwordXNpbmcg
bmFtZXNwYWNlIFdlYktpdDsKKworc3RydWN0IF9Fd2tfUGFnZV9Hcm91cCB7CisgICAgV0tSZXRh
aW5QdHI8V0tQYWdlR3JvdXBSZWY+IHBhZ2VHcm91cDsKKworICAgIF9Fd2tfUGFnZV9Hcm91cChX
S1BhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYpCisgICAgeworICAgICAgICB0aGlzLT5wYWdlR3Jv
dXAgPSBwYWdlR3JvdXBSZWY7CisgICAgfQorfTsKKworV0tQYWdlR3JvdXBSZWYgZXdrX3BhZ2Vf
Z3JvdXBfV0tQYWdlR3JvdXBfZ2V0KGNvbnN0IEV3a19QYWdlX0dyb3VwKiBld2tQYWdlR3JvdXAp
Cit7CisgICAgaWYgKCFld2tQYWdlR3JvdXApCisgICAgICAgIHJldHVybiAwOworCisgICAgcmV0
dXJuIGV3a1BhZ2VHcm91cC0+cGFnZUdyb3VwLmdldCgpOworfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BhZ2VfZ3JvdXAuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19wYWdlX2dyb3VwLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uMGRjMzA0MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19wYWdlX2dyb3VwLmgKQEAgLTAsMCArMSwzOSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3Jh
bTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKy8qKgorICogQGZp
bGUgICAgZXdrX3BhZ2VfZ3JvdXAuaAorICogQGJyaWVmICAgRGVzY3JpYmVzIHRoZSBwYWdlIGdy
b3VwIEFQSS4KKyAqLworCisjaWZuZGVmIGV3a19wYWdlX2dyb3VwX2gKKyNkZWZpbmUgZXdrX3Bh
Z2VfZ3JvdXBfaAorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisK
Ky8qKiBDcmVhdGVzIGEgdHlwZSBuYW1lIGZvciBAYSBfRXdrX1BhZ2VfR3JvdXAuICovCit0eXBl
ZGVmIHN0cnVjdCBfRXdrX1BhZ2VfR3JvdXAgRXdrX1BhZ2VfR3JvdXA7CisKKyNpZmRlZiBfX2Nw
bHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvLyBld2tfcGFnZV9ncm91cF9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfcGFnZV9ncm91cF9wcml2
YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfcGFnZV9ncm91cF9w
cml2YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTYzZWEwMQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19wYWdl
X2dyb3VwX3ByaXZhdGUuaApAQCAtMCwwICsxLDI5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBld2tfcGFnZV9ncm91cF9wcml2YXRlX2gK
KyNkZWZpbmUgZXdrX3BhZ2VfZ3JvdXBfcHJpdmF0ZV9oCisKKyNpbmNsdWRlICJXS0Jhc2UuaCIK
KwordHlwZWRlZiBzdHJ1Y3QgX0V3a19QYWdlX0dyb3VwIEV3a19QYWdlX0dyb3VwOworCitXS1Bh
Z2VHcm91cFJlZiBld2tfcGFnZV9ncm91cF9XS1BhZ2VHcm91cF9nZXQoY29uc3QgRXdrX1BhZ2Vf
R3JvdXAqKTsKKworI2VuZGlmIC8vIGV3a19wYWdlX2dyb3VwX3ByaXZhdGVfaApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCmluZGV4IGZlMzg0ZTMuLjg5
ZTM2MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5j
cHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJXS1VSTC5oIgogI2luY2x1ZGUgImV3a19j
b250ZXh0LmgiCiAjaW5jbHVkZSAiZXdrX2NvbnRleHRfcHJpdmF0ZS5oIgorI2luY2x1ZGUgImV3
a19wYWdlX2dyb3VwX3ByaXZhdGUuaCIKICNpbmNsdWRlICJld2tfdmlld19sb2FkZXJfY2xpZW50
X3ByaXZhdGUuaCIKICNpbmNsdWRlICJld2tfdmlld19wcml2YXRlLmgiCiAjaW5jbHVkZSA8d3Rm
L3RleHQvQ1N0cmluZy5oPgpAQCAtMTA5LDcgKzExMCwyMyBAQCBzdGF0aWMgdm9pZCBfZXdrX3Zp
ZXdfc21hcnRfY2hhbmdlZChFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEpCiAgICAgZXZh
c19vYmplY3Rfc21hcnRfY2hhbmdlZChzbWFydERhdGEtPnNlbGYpOwogfQogCitzdGF0aWMgRWlu
YV9Cb29sIF9ld2tfdmlld19wYWdlX2NsaWVudF9jcmVhdGUoRXZhc19PYmplY3QqIGV3a1ZpZXcs
IFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBXS1BhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYpCit7
CisgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JFVFVSTihld2tWaWV3LCBzbWFydERhdGEsIGZhbHNl
KTsKKyAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2LCBmYWxz
ZSkKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoY29udGV4dFJlZiwgZmFsc2Up
OworCisgICAgcHJpdi0+cGFnZUNsaWVudCA9IFBhZ2VDbGllbnRJbXBsOjpjcmVhdGUodG9JbXBs
KGNvbnRleHRSZWYpLCB0b0ltcGwocGFnZUdyb3VwUmVmKSwgZXdrVmlldyk7CisgICAgZXdrX3Zp
ZXdfbG9hZGVyX2NsaWVudF9hdHRhY2godG9BUEkocHJpdi0+cGFnZUNsaWVudC0+cGFnZSgpKSwg
c21hcnREYXRhLT5zZWxmKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogLy8gRGVmYXVsdCBFdmVu
dCBIYW5kbGluZy4KK3N0YXRpYyBFaW5hX0Jvb2wgX2V3a192aWV3X2luaXRpYWxpemUoRXdrX1Zp
ZXdfU21hcnRfRGF0YSogc21hcnREYXRhLCBFd2tfQ29udGV4dCogY29udGV4dCwgRXdrX1BhZ2Vf
R3JvdXAqIHBhZ2VHcm91cCkKK3sKKyAgICByZXR1cm4gX2V3a192aWV3X3BhZ2VfY2xpZW50X2Ny
ZWF0ZShzbWFydERhdGEtPnNlbGYsIGV3a19jb250ZXh0X1dLQ29udGV4dF9nZXQoY29udGV4dCks
IGV3a19wYWdlX2dyb3VwX1dLUGFnZUdyb3VwX2dldChwYWdlR3JvdXApKTsKK30KKwogc3RhdGlj
IEVpbmFfQm9vbCBfZXdrX3ZpZXdfc21hcnRfZm9jdXNfaW4oRXdrX1ZpZXdfU21hcnRfRGF0YSog
c21hcnREYXRhKQogewogICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEs
IHByaXYsIGZhbHNlKQpAQCAtNDIxLDcgKzQzOCw3IEBAIHN0YXRpYyB2b2lkIF9ld2tfdmlld19z
bWFydF9jb2xvcl9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGludCByZWQsIGludCBncmVlbiwK
ICAgICBnX3BhcmVudFNtYXJ0Q2xhc3MuY29sb3Jfc2V0KGV3a1ZpZXcsIHJlZCwgZ3JlZW4sIGJs
dWUsIGFscGhhKTsKIH0KIAotRWluYV9Cb29sIGV3a192aWV3X3NtYXJ0X2NsYXNzX2luaXQoRXdr
X1ZpZXdfU21hcnRfQ2xhc3MqIGFwaSkKK0VpbmFfQm9vbCBld2tfdmlld19zbWFydF9jbGFzc19z
ZXQoRXdrX1ZpZXdfU21hcnRfQ2xhc3MqIGFwaSkKIHsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxM
X1JFVFVSTl9WQUwoYXBpLCBmYWxzZSk7CiAKQEAgLTQ0OCw2ICs0NjUsNyBAQCBFaW5hX0Jvb2wg
ZXdrX3ZpZXdfc21hcnRfY2xhc3NfaW5pdChFd2tfVmlld19TbWFydF9DbGFzcyogYXBpKQogICAg
IGFwaS0+c2MuZGF0YSA9IEVXS19WSUVXX1RZUEVfU1RSOyAvLyBJdCBpcyB1c2VkIGJ5IHR5cGUg
Y2hlY2tpbmcuCiAKICAgICAvLyBTZXQgRXdrX1ZpZXdfU21hcnRfQ2xhc3MgZnVuY3Rpb25zLgor
ICAgIGFwaS0+aW5pdGlhbGl6ZSA9IF9ld2tfdmlld19pbml0aWFsaXplOwogICAgIGFwaS0+Zm9j
dXNfaW4gPSBfZXdrX3ZpZXdfc21hcnRfZm9jdXNfaW47CiAgICAgYXBpLT5mb2N1c19vdXQgPSBf
ZXdrX3ZpZXdfc21hcnRfZm9jdXNfb3V0OwogICAgIGFwaS0+bW91c2Vfd2hlZWwgPSBfZXdrX3Zp
ZXdfc21hcnRfbW91c2Vfd2hlZWw7CkBAIC00NjYsMTQgKzQ4NCwxNCBAQCBzdGF0aWMgaW5saW5l
IEV2YXNfU21hcnQqIF9ld2tfdmlld19zbWFydF9jbGFzc19uZXcodm9pZCkKICAgICBzdGF0aWMg
RXZhc19TbWFydCogc21hcnQgPSAwOwogCiAgICAgaWYgKEVJTkFfVU5MSUtFTFkoIXNtYXJ0KSkg
ewotICAgICAgICBld2tfdmlld19zbWFydF9jbGFzc19pbml0KCZhcGkpOworICAgICAgICBld2tf
dmlld19zbWFydF9jbGFzc19zZXQoJmFwaSk7CiAgICAgICAgIHNtYXJ0ID0gZXZhc19zbWFydF9j
bGFzc19uZXcoJmFwaS5zYyk7CiAgICAgfQogCiAgICAgcmV0dXJuIHNtYXJ0OwogfQogCi1FdmFz
X09iamVjdCogZXdrX3ZpZXdfYmFzZV9hZGQoRXZhcyogY2FudmFzLCBXS0NvbnRleHRSZWYgY29u
dGV4dFJlZiwgV0tQYWdlR3JvdXBSZWYgcGFnZUdyb3VwUmVmKQorRXZhc19PYmplY3QqIGV3a192
aWV3X2FkZF93aXRoX1dLQ29udGV4dF9hbmRfV0tQYWdlR3JvdXAoRXZhcyogY2FudmFzLCBXS0Nv
bnRleHRSZWYgY29udGV4dFJlZiwgV0tQYWdlR3JvdXBSZWYgcGFnZUdyb3VwUmVmKQogewogICAg
IEV2YXNfT2JqZWN0KiBld2tWaWV3ID0gZXZhc19vYmplY3Rfc21hcnRfYWRkKGNhbnZhcywgX2V3
a192aWV3X3NtYXJ0X2NsYXNzX25ldygpKTsKICAgICBpZiAoIWV3a1ZpZXcpCkBAIC00OTEsMTUg
KzUwOSwzNyBAQCBFdmFzX09iamVjdCogZXdrX3ZpZXdfYmFzZV9hZGQoRXZhcyogY2FudmFzLCBX
S0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tQYWdlR3JvdQogICAgICAgICByZXR1cm4gMDsKICAg
ICB9CiAKLSAgICBwcml2LT5wYWdlQ2xpZW50ID0gUGFnZUNsaWVudEltcGw6OmNyZWF0ZSh0b0lt
cGwoY29udGV4dFJlZiksIHRvSW1wbChwYWdlR3JvdXBSZWYpLCBld2tWaWV3KTsKLSAgICBld2tf
dmlld19sb2FkZXJfY2xpZW50X2F0dGFjaCh0b0FQSShwcml2LT5wYWdlQ2xpZW50LT5wYWdlKCkp
LCBld2tWaWV3KTsKKyAgICBfZXdrX3ZpZXdfcGFnZV9jbGllbnRfY3JlYXRlKGV3a1ZpZXcsIGNv
bnRleHRSZWYsIHBhZ2VHcm91cFJlZik7CisgICAgcmV0dXJuIGV3a1ZpZXc7Cit9CisKK0V2YXNf
T2JqZWN0KiBld2tfdmlld19iYXNlX2FkZChFdmFzKiBjYW52YXMsIEV3a19Db250ZXh0KiBjb250
ZXh0LCBFd2tfUGFnZV9Hcm91cCogcGFnZUdyb3VwKQoreworICAgIEV2YXNfT2JqZWN0KiBld2tW
aWV3ID0gZXZhc19vYmplY3Rfc21hcnRfYWRkKGNhbnZhcywgX2V3a192aWV3X3NtYXJ0X2NsYXNz
X25ldygpKTsKKyAgICBpZiAoIWV3a1ZpZXcpCisgICAgICAgIHJldHVybiAwOworCisgICAgRVdL
X1ZJRVdfU0RfR0VUKGV3a1ZpZXcsIHNtYXJ0RGF0YSk7CisgICAgaWYgKCFzbWFydERhdGEpIHsK
KyAgICAgICAgZXZhc19vYmplY3RfZGVsKGV3a1ZpZXcpOworICAgICAgICByZXR1cm4gMDsKKyAg
ICB9CisKKyAgICBFV0tfVklFV19QUklWX0dFVChzbWFydERhdGEsIHByaXYpOworICAgIGlmICgh
cHJpdikgeworICAgICAgICBldmFzX29iamVjdF9kZWwoZXdrVmlldyk7CisgICAgICAgIHJldHVy
biAwOworICAgIH0KIAorICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChzbWFydERh
dGEtPmFwaSwgZXdrVmlldyk7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHNt
YXJ0RGF0YS0+YXBpLT5pbml0aWFsaXplLCBld2tWaWV3KTsKKyAgICBzbWFydERhdGEtPmFwaS0+
aW5pdGlhbGl6ZShzbWFydERhdGEsIGNvbnRleHQsIHBhZ2VHcm91cCk7CiAgICAgcmV0dXJuIGV3
a1ZpZXc7CiB9CiAKIEV2YXNfT2JqZWN0KiBld2tfdmlld19hZGRfd2l0aF9jb250ZXh0KEV2YXMq
IGNhbnZhcywgRXdrX0NvbnRleHQqIGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIGV3a192aWV3X2Jh
c2VfYWRkKGNhbnZhcywgZXdrX2NvbnRleHRfV0tDb250ZXh0X2dldChjb250ZXh0KSwgMCk7Cisg
ICAgcmV0dXJuIGV3a192aWV3X2Jhc2VfYWRkKGNhbnZhcywgY29udGV4dCwgMCk7CiB9CiAKIEV2
YXNfT2JqZWN0KiBld2tfdmlld19hZGQoRXZhcyogY2FudmFzKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKaW5kZXggY2I1YjY1MC4uNWQxMTc2YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCkBAIC0zMyw2ICszMyw3
IEBACiAjZGVmaW5lIGV3a192aWV3X2gKIAogI2luY2x1ZGUgImV3a19jb250ZXh0LmgiCisjaW5j
bHVkZSAiZXdrX3BhZ2VfZ3JvdXAuaCIKICNpbmNsdWRlIDxFdmFzLmg+CiAKICNpZmRlZiBfX2Nw
bHVzcGx1cwpAQCAtNTAsNiArNTEsNyBAQCBzdHJ1Y3QgX0V3a19WaWV3X1NtYXJ0X0NsYXNzIHsK
ICAgICAvLyBldmVudCBoYW5kbGluZzoKICAgICAvLyAgLSByZXR1cm5zIHRydWUgaWYgaGFuZGxl
ZAogICAgIC8vICAtIGlmIG92ZXJyaWRkZW4sIGhhdmUgdG8gY2FsbCBwYXJlbnQgbWV0aG9kIGlm
IGRlc2lyZWQKKyAgICBFaW5hX0Jvb2wgKCppbml0aWFsaXplKShFd2tfVmlld19TbWFydF9EYXRh
ICpzZCwgRXdrX0NvbnRleHQqIGNvbnRleHQsIEV3a19QYWdlX0dyb3VwKiBncm91cCk7CiAgICAg
RWluYV9Cb29sICgqZm9jdXNfaW4pKEV3a19WaWV3X1NtYXJ0X0RhdGEgKnNkKTsKICAgICBFaW5h
X0Jvb2wgKCpmb2N1c19vdXQpKEV3a19WaWV3X1NtYXJ0X0RhdGEgKnNkKTsKICAgICBFaW5hX0Jv
b2wgKCptb3VzZV93aGVlbCkoRXdrX1ZpZXdfU21hcnRfRGF0YSAqc2QsIGNvbnN0IEV2YXNfRXZl
bnRfTW91c2VfV2hlZWwgKmV2KTsKQEAgLTc2LDcgKzc4LDcgQEAgc3RydWN0IF9Fd2tfVmlld19T
bWFydF9DbGFzcyB7CiAgKiBAc2VlIEVXS19WSUVXX1NNQVJUX0NMQVNTX0lOSVRfVkVSU0lPTgog
ICogQHNlZSBFV0tfVklFV19TTUFSVF9DTEFTU19JTklUX05BTUVfVkVSU0lPTgogICovCi0jZGVm
aW5lIEVXS19WSUVXX1NNQVJUX0NMQVNTX0lOSVQoc21hcnRfY2xhc3NfaW5pdCkge3NtYXJ0X2Ns
YXNzX2luaXQsIEVXS19WSUVXX1NNQVJUX0NMQVNTX1ZFUlNJT04sIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDB9CisjZGVmaW5lIEVXS19WSUVXX1NNQVJUX0NMQVNTX0lOSVQoc21hcnRfY2xhc3NfaW5p
dCkge3NtYXJ0X2NsYXNzX2luaXQsIEVXS19WSUVXX1NNQVJUX0NMQVNTX1ZFUlNJT04sIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDAsIDB9CiAKIC8qKgogICogSW5pdGlhbGl6ZXIgdG8gemVybyBhIHdo
b2xlIEV3a19WaWV3X1NtYXJ0X0NsYXNzIHN0cnVjdHVyZS4KQEAgLTEyOSw2ICsxMzEsMjMgQEAg
c3RydWN0IF9Fd2tfVmlld19TbWFydF9EYXRhIHsKIH07CiAKIC8qKgorICogU2V0cyB0aGUgc21h
cnQgY2xhc3MgQVBJcywgZW5hYmxpbmcgdmlldyB0byBiZSBpbmhlcml0ZWQuCisgKgorICogQHBh
cmFtIGFwaSBjbGFzcyBkZWZpbml0aW9uIHRvIHNldCwgYWxsIG1lbWJlcnMgd2l0aCB0aGUKKyAq
ICAgICAgICBleGNlcHRpb24gb2YgQGEgRXZhc19TbWFydF9DbGFzcy0+ZGF0YSBtYXkgYmUgb3Zl
cnJpZGRlbiwgbXVzdAorICogICAgICAgIEBiIG5vdCBiZSBAYyAwCisgKgorICogQG5vdGUgQGEg
RXZhc19TbWFydF9DbGFzcy0+ZGF0YSBpcyB1c2VkIHRvIGltcGxlbWVudCB0eXBlIGNoZWNraW5n
IGFuZAorICogICAgICAgaXMgbm90IHN1cHBvc2VkIHRvIGJlIGNoYW5nZWQvb3ZlcnJpZGRlbi4g
SWYgeW91IG5lZWQgZXh0cmEKKyAqICAgICAgIGRhdGEgZm9yIHlvdXIgc21hcnQgY2xhc3MgdG8g
d29yaywganVzdCBleHRlbmQKKyAqICAgICAgIEV3a19WaWV3X1NtYXJ0X0NsYXNzIGluc3RlYWQu
CisgKgorICogQHJldHVybiBAYyBFSU5BX1RSVUUgb24gc3VjY2VzcyBvciBAYyBFSU5BX0ZBTFNF
IG9uIGZhaWx1cmUgKHByb2JhYmx5CisgKiAgICAgICAgIHZlcnNpb24gbWlzbWF0Y2gpCisgKi8K
K0VBUEkgRWluYV9Cb29sIGV3a192aWV3X3NtYXJ0X2NsYXNzX3NldChFd2tfVmlld19TbWFydF9D
bGFzcyAqYXBpKTsKKworLyoqCiAgKiBDcmVhdGVzIGEgbmV3IEVGTCBXZWJLaXQgdmlldyBvYmpl
Y3QuCiAgKgogICogQHBhcmFtIGUgY2FudmFzIG9iamVjdCB3aGVyZSB0byBjcmVhdGUgdGhlIHZp
ZXcgb2JqZWN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfdmlld19wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
dmlld19wcml2YXRlLmgKaW5kZXggNjI1OThlNC4uZWM3ZDU0ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXdfcHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3X3ByaXZhdGUuaApAQCAtMjIsNiAr
MjIsOCBAQAogI2RlZmluZSBld2tfdmlld19wcml2YXRlX2gKIAogI2luY2x1ZGUgIldlYlBhZ2VQ
cm94eS5oIgorI2luY2x1ZGUgImV3a19jb250ZXh0LmgiCisjaW5jbHVkZSAiZXdrX3BhZ2VfZ3Jv
dXAuaCIKICNpbmNsdWRlIDxFdmFzLmg+CiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KIApA
QCAtMzQsNyArMzYsOCBAQCB2b2lkIGV3a192aWV3X2Rpc3BsYXkoRXZhc19PYmplY3QqIGV3a1Zp
ZXcsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3QpOwogdm9pZCBld2tfdmlld19pbWFnZV9k
YXRhX3NldChFdmFzX09iamVjdCogZXdrVmlldywgdm9pZCogaW1hZ2VEYXRhLCBjb25zdCBXZWJD
b3JlOjpJbnRTaXplJiBzaXplKTsKIHZvaWQgZXdrX3ZpZXdfdGl0bGVfY2hhbmdlZChFdmFzX09i
amVjdCogZXdrVmlldywgY29uc3QgY2hhciogdGl0bGUpOwogCi1FdmFzX09iamVjdCogZXdrX3Zp
ZXdfYmFzZV9hZGQoRXZhcyogY2FudmFzLCBXS0NvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmKTsK
K0V2YXNfT2JqZWN0KiBld2tfdmlld19hZGRfd2l0aF9XS0NvbnRleHRfYW5kX1dLUGFnZUdyb3Vw
KEV2YXMqLCBXS0NvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmKTsKK0V2YXNfT2JqZWN0KiBld2tf
dmlld19iYXNlX2FkZChFdmFzKiwgRXdrX0NvbnRleHQqLCBFd2tfUGFnZV9Hcm91cCopOwogCiBX
ZWJLaXQ6OldlYlBhZ2VQcm94eSogZXdrX3ZpZXdfcGFnZV9nZXQoY29uc3QgRXZhc19PYmplY3Qq
IGV3a1ZpZXcpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150107</attachid>
            <date>2012-06-29 00:48:33 -0700</date>
            <delta_ts>2012-07-14 10:20:27 -0700</delta_ts>
            <desc>patch for inheritance</desc>
            <filename>make_ewk_view_inheritable.patch</filename>
            <type>text/plain</type>
            <size>15613</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA4YThhOTcwLi4yYzkyMWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIg
QEAKKzIwMTItMDYtMjkgIEV1bm1pIExlZSAgPGV1bm1pMTUubGVlQHNhbXN1bmcuY29tPgorCisg
ICAgICAgIFtFRkxdW1dLMl0gTWFrZSBld2tfdmlldyBpbmhlcml0YWJsZSBpbiB0aGUgV2ViS2l0
Mi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMDU0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSB0
aGUgZXdrX3ZpZXcgaW5oZXJpdGFibGUgYnkgYWRkaW5nIGV3a192aWV3X3NtYXJ0X2NsYXNzX3Nl
dCgpIEFQSQorICAgICAgICB0byB0aGUgZXdrX3ZpZXcuaC4KKyAgICAgICAgQWRkaXRpb25hbGx5
LCB0aGUgaW5pdGlhbGl6ZSgpIEFQSSBpcyBhZGRlZCB0byB0aGUgU21hcnRDbGFzcyBhbmQgaXQK
KyAgICAgICAgY3JlYXRlcyB0aGUgUGFnZUNsaWVudCwgc28gdGhlIG9iamVjdCB3aGljaCB3YW50
cyB0byBpbmhlcml0IHRoZQorICAgICAgICBld2tfdmlldyBoYXMgdG8gY2FsbCB0aGUgaW5pdGlh
bGl6ZSgpIGluIHRoZSBjb25zdHJ1Y3RvciB0byBjcmVhdGUKKyAgICAgICAgdGhlIFBhZ2VDbGll
bnQuCisgICAgICAgIFRoZSBXS1R5cGUgZGVwZW5kZW5jaWVzIGFyZSByZW1vdmVkIGZyb20gZXdr
X3ZpZXdfYmFzZV9hZGQoKSBiZWNhdXNlCisgICAgICAgIGluaXRpYWxpemUoKSBBUEkgZ2V0cyB0
aGUgRXdrX0NvbnRleHQgYW5kIEV3a19QYWdlX0dyb3VwIGluc3RlYWQgb2YKKyAgICAgICAgV0sg
dHlwZXMsIHNvIG5ldyBmdW5jdGlvbiBld2tfdmlld19hZGRfd2l0aF9XS1R5cGUoKQorICAgICAg
ICBpcyBhZGRlZCBmb3IgV0tWaWV3LmNwcC4KKworICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtl
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9lZmwvV0tWaWV3LmNwcDoKKyAgICAgICAgKFdL
Vmlld0NyZWF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvRVdlYktpdDIuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfcGFnZV9ncm91cC5jcHA6IEFkZGVkLgorICAg
ICAgICAoX0V3a19QYWdlX0dyb3VwKToKKyAgICAgICAgKF9Fd2tfUGFnZV9Hcm91cDo6X0V3a19Q
YWdlX0dyb3VwKToKKyAgICAgICAgKGV3a19wYWdlX2dyb3VwX1dLUGFnZUdyb3VwX2dldCk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BhZ2VfZ3JvdXAuaDogQWRkZWQuCisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BhZ2VfZ3JvdXBfcHJpdmF0ZS5oOiBBZGRlZC4K
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHA6CisgICAgICAgIChfZXdr
X3ZpZXdfcGFnZV9jbGllbnRfY3JlYXRlKToKKyAgICAgICAgKF9ld2tfdmlld19pbml0aWFsaXpl
KToKKyAgICAgICAgKGV3a192aWV3X3NtYXJ0X2NsYXNzX3NldCk6CisgICAgICAgIChfZXdrX3Zp
ZXdfc21hcnRfY2xhc3NfbmV3KToKKyAgICAgICAgKGV3a192aWV3X2FkZF93aXRoX1dLVHlwZSk6
CisgICAgICAgIChld2tfdmlld19iYXNlX2FkZCk6CisgICAgICAgIChld2tfdmlld19hZGRfd2l0
aF9jb250ZXh0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3X3ByaXZhdGUuaDoKKwogMjAxMi0wNi0y
OCAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBL
VVJMIGFzc2VydCBhdCBmYXN0L2xvYWRlci9vcGFxdWUtYmFzZS11cmwuaHRtbApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybUVmbC5jbWFrZQppbmRleCA1ZjZlMDllLi5kOTJjNDM2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVm
bC5jbWFrZQpAQCAtMzIsNiArMzIsNyBAQCBMSVNUKEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKIAog
ICAgIFVJUHJvY2Vzcy9BUEkvZWZsL1BhZ2VDbGllbnRJbXBsLmNwcAogICAgIFVJUHJvY2Vzcy9B
UEkvZWZsL2V3a19jb250ZXh0LmNwcAorICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19wYWdlX2dy
b3VwLmNwcAogICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcAogICAgIFVJUHJvY2Vz
cy9BUEkvZWZsL2V3a192aWV3X2xvYWRlcl9jbGllbnQuY3BwCiAKQEAgLTE1Myw2ICsxNTQsNyBA
QCBDT05GSUdVUkVfRklMRShlZmwvZXdlYmtpdDIucGMuaW4gJHtDTUFLRV9CSU5BUllfRElSfS9X
ZWJLaXQyL2VmbC9ld2Via2l0Mi5wYyBATwogU0VUIChFV2ViS2l0Ml9IRUFERVJTCiAgICAgIiR7
Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC9FV2ViS2l0Mi5oIgog
ICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Nv
bnRleHQuaCIKKyAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19wYWdlX2dyb3VwLmgiCiAgICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oIgogKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvZWZsL1dLVmlldy5jcHAKaW5kZXggMDNmNjkzMC4uZjllN2IzYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tWaWV3LmNwcApAQCAtMjcsNyAr
MjcsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBXS1ZpZXdSZWYgV0tWaWV3Q3JlYXRl
KEV2YXMqIGNhbnZhcywgV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmIHBh
Z2VHcm91cFJlZikKIHsKLSAgICByZXR1cm4gdG9BUEkoZXdrX3ZpZXdfYmFzZV9hZGQoY2FudmFz
LCBjb250ZXh0UmVmLCBwYWdlR3JvdXBSZWYpKTsKKyAgICByZXR1cm4gdG9BUEkoZXdrX3ZpZXdf
YWRkX3dpdGhfV0tUeXBlKGNhbnZhcywgY29udGV4dFJlZiwgcGFnZUdyb3VwUmVmKSk7CiB9CiAK
IFdLUGFnZVJlZiBXS1ZpZXdHZXRQYWdlKFdLVmlld1JlZiB2aWV3UmVmKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRVdlYktpdDIuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL0VXZWJLaXQyLmgKaW5kZXggZTE0M2I3OC4uNmFhNzZjYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvRVdlYktpdDIuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FV2ViS2l0Mi5oCkBAIC0yOCw2
ICsyOCw3IEBACiAjZGVmaW5lIEVXZWJLaXQyX2gKIAogI2luY2x1ZGUgImV3a19jb250ZXh0Lmgi
CisjaW5jbHVkZSAiZXdrX3BhZ2VfZ3JvdXAuaCIKICNpbmNsdWRlICJld2tfdmlldy5oIgogCiAj
ZW5kaWYgLy8gRVdlYktpdDJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX3BhZ2VfZ3JvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX3BhZ2VfZ3JvdXAuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmVmMjM2YzgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfcGFnZV9ncm91cC5jcHAKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAq
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisg
KiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisg
KiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiZXdrX3BhZ2VfZ3JvdXAuaCIKKworI2luY2x1ZGUgIldLUmV0YWluUHRyLmgi
CisjaW5jbHVkZSAiZXdrX3BhZ2VfZ3JvdXBfcHJpdmF0ZS5oIgorI2luY2x1ZGUgPEVpbmEuaD4K
KwordXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKKworc3RydWN0IF9Fd2tfUGFnZV9Hcm91cCB7Cisg
ICAgV0tSZXRhaW5QdHI8V0tQYWdlR3JvdXBSZWY+IHBhZ2VHcm91cDsKKworICAgIF9Fd2tfUGFn
ZV9Hcm91cChXS1BhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYpCisgICAgeworICAgICAgICB0aGlz
LT5wYWdlR3JvdXAgPSBwYWdlR3JvdXBSZWY7CisgICAgfQorfTsKKworV0tQYWdlR3JvdXBSZWYg
ZXdrX3BhZ2VfZ3JvdXBfV0tQYWdlR3JvdXBfZ2V0KGNvbnN0IEV3a19QYWdlX0dyb3VwKiBld2tQ
YWdlR3JvdXApCit7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKGV3a1BhZ2VH
cm91cCwgMCk7CisKKyAgICByZXR1cm4gZXdrUGFnZUdyb3VwLT5wYWdlR3JvdXAuZ2V0KCk7Cit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfcGFnZV9n
cm91cC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BhZ2VfZ3JvdXAu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZGMzMDQxCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BhZ2VfZ3JvdXAu
aApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxl
Y3Ryb25pY3MKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICog
VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFs
b25nIHdpdGggdGhpcyBwcm9ncmFtOyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
CisgKi8KKworLyoqCisgKiBAZmlsZSAgICBld2tfcGFnZV9ncm91cC5oCisgKiBAYnJpZWYgICBE
ZXNjcmliZXMgdGhlIHBhZ2UgZ3JvdXAgQVBJLgorICovCisKKyNpZm5kZWYgZXdrX3BhZ2VfZ3Jv
dXBfaAorI2RlZmluZSBld2tfcGFnZV9ncm91cF9oCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0
ZXJuICJDIiB7CisjZW5kaWYKKworLyoqIENyZWF0ZXMgYSB0eXBlIG5hbWUgZm9yIEBhIF9Fd2tf
UGFnZV9Hcm91cC4gKi8KK3R5cGVkZWYgc3RydWN0IF9Fd2tfUGFnZV9Hcm91cCBFd2tfUGFnZV9H
cm91cDsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8vIGV3a19w
YWdlX2dyb3VwX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a19wYWdlX2dyb3VwX3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19wYWdlX2dyb3VwX3ByaXZhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi5lNjNlYTAxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX3BhZ2VfZ3JvdXBfcHJpdmF0ZS5oCkBAIC0wLDAgKzEsMjkgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcworICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
KyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIGV3a19w
YWdlX2dyb3VwX3ByaXZhdGVfaAorI2RlZmluZSBld2tfcGFnZV9ncm91cF9wcml2YXRlX2gKKwor
I2luY2x1ZGUgIldLQmFzZS5oIgorCit0eXBlZGVmIHN0cnVjdCBfRXdrX1BhZ2VfR3JvdXAgRXdr
X1BhZ2VfR3JvdXA7CisKK1dLUGFnZUdyb3VwUmVmIGV3a19wYWdlX2dyb3VwX1dLUGFnZUdyb3Vw
X2dldChjb25zdCBFd2tfUGFnZV9Hcm91cCopOworCisjZW5kaWYgLy8gZXdrX3BhZ2VfZ3JvdXBf
cHJpdmF0ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfdmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5j
cHAKaW5kZXggZmUzODRlMy4uZjc4YTc3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a192aWV3LmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIldLVVJM
LmgiCiAjaW5jbHVkZSAiZXdrX2NvbnRleHQuaCIKICNpbmNsdWRlICJld2tfY29udGV4dF9wcml2
YXRlLmgiCisjaW5jbHVkZSAiZXdrX3BhZ2VfZ3JvdXBfcHJpdmF0ZS5oIgogI2luY2x1ZGUgImV3
a192aWV3X2xvYWRlcl9jbGllbnRfcHJpdmF0ZS5oIgogI2luY2x1ZGUgImV3a192aWV3X3ByaXZh
dGUuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CkBAIC0xMDksNyArMTEwLDIzIEBA
IHN0YXRpYyB2b2lkIF9ld2tfdmlld19zbWFydF9jaGFuZ2VkKEV3a19WaWV3X1NtYXJ0X0RhdGEq
IHNtYXJ0RGF0YSkKICAgICBldmFzX29iamVjdF9zbWFydF9jaGFuZ2VkKHNtYXJ0RGF0YS0+c2Vs
Zik7CiB9CiAKK3N0YXRpYyBFaW5hX0Jvb2wgX2V3a192aWV3X3BhZ2VfY2xpZW50X2NyZWF0ZShF
dmFzX09iamVjdCogZXdrVmlldywgV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3Vw
UmVmIHBhZ2VHcm91cFJlZikKK3sKKyAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1Zp
ZXcsIHNtYXJ0RGF0YSwgZmFsc2UpOworICAgIEVXS19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihz
bWFydERhdGEsIHByaXYsIGZhbHNlKQorICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZB
TChjb250ZXh0UmVmLCBmYWxzZSk7CisKKyAgICBwcml2LT5wYWdlQ2xpZW50ID0gUGFnZUNsaWVu
dEltcGw6OmNyZWF0ZSh0b0ltcGwoY29udGV4dFJlZiksIHRvSW1wbChwYWdlR3JvdXBSZWYpLCBl
d2tWaWV3KTsKKyAgICBld2tfdmlld19sb2FkZXJfY2xpZW50X2F0dGFjaCh0b0FQSShwcml2LT5w
YWdlQ2xpZW50LT5wYWdlKCkpLCBzbWFydERhdGEtPnNlbGYpOworICAgIHJldHVybiB0cnVlOwor
fQorCiAvLyBEZWZhdWx0IEV2ZW50IEhhbmRsaW5nLgorc3RhdGljIEVpbmFfQm9vbCBfZXdrX3Zp
ZXdfaW5pdGlhbGl6ZShFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEsIEV3a19Db250ZXh0
KiBjb250ZXh0LCBFd2tfUGFnZV9Hcm91cCogcGFnZUdyb3VwKQoreworICAgIHJldHVybiBfZXdr
X3ZpZXdfcGFnZV9jbGllbnRfY3JlYXRlKHNtYXJ0RGF0YS0+c2VsZiwgZXdrX2NvbnRleHRfV0tD
b250ZXh0X2dldChjb250ZXh0KSwgZXdrX3BhZ2VfZ3JvdXBfV0tQYWdlR3JvdXBfZ2V0KHBhZ2VH
cm91cCkpOworfQorCiBzdGF0aWMgRWluYV9Cb29sIF9ld2tfdmlld19zbWFydF9mb2N1c19pbihF
d2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEpCiB7CiAgICAgRVdLX1ZJRVdfUFJJVl9HRVRf
T1JfUkVUVVJOKHNtYXJ0RGF0YSwgcHJpdiwgZmFsc2UpCkBAIC00MjEsNyArNDM4LDcgQEAgc3Rh
dGljIHZvaWQgX2V3a192aWV3X3NtYXJ0X2NvbG9yX3NldChFdmFzX09iamVjdCogZXdrVmlldywg
aW50IHJlZCwgaW50IGdyZWVuLAogICAgIGdfcGFyZW50U21hcnRDbGFzcy5jb2xvcl9zZXQoZXdr
VmlldywgcmVkLCBncmVlbiwgYmx1ZSwgYWxwaGEpOwogfQogCi1FaW5hX0Jvb2wgZXdrX3ZpZXdf
c21hcnRfY2xhc3NfaW5pdChFd2tfVmlld19TbWFydF9DbGFzcyogYXBpKQorRWluYV9Cb29sIGV3
a192aWV3X3NtYXJ0X2NsYXNzX3NldChFd2tfVmlld19TbWFydF9DbGFzcyogYXBpKQogewogICAg
IEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChhcGksIGZhbHNlKTsKIApAQCAtNDQ4LDYg
KzQ2NSw3IEBAIEVpbmFfQm9vbCBld2tfdmlld19zbWFydF9jbGFzc19pbml0KEV3a19WaWV3X1Nt
YXJ0X0NsYXNzKiBhcGkpCiAgICAgYXBpLT5zYy5kYXRhID0gRVdLX1ZJRVdfVFlQRV9TVFI7IC8v
IEl0IGlzIHVzZWQgYnkgdHlwZSBjaGVja2luZy4KIAogICAgIC8vIFNldCBFd2tfVmlld19TbWFy
dF9DbGFzcyBmdW5jdGlvbnMuCisgICAgYXBpLT5pbml0aWFsaXplID0gX2V3a192aWV3X2luaXRp
YWxpemU7CiAgICAgYXBpLT5mb2N1c19pbiA9IF9ld2tfdmlld19zbWFydF9mb2N1c19pbjsKICAg
ICBhcGktPmZvY3VzX291dCA9IF9ld2tfdmlld19zbWFydF9mb2N1c19vdXQ7CiAgICAgYXBpLT5t
b3VzZV93aGVlbCA9IF9ld2tfdmlld19zbWFydF9tb3VzZV93aGVlbDsKQEAgLTQ2NiwxNCArNDg0
LDE0IEBAIHN0YXRpYyBpbmxpbmUgRXZhc19TbWFydCogX2V3a192aWV3X3NtYXJ0X2NsYXNzX25l
dyh2b2lkKQogICAgIHN0YXRpYyBFdmFzX1NtYXJ0KiBzbWFydCA9IDA7CiAKICAgICBpZiAoRUlO
QV9VTkxJS0VMWSghc21hcnQpKSB7Ci0gICAgICAgIGV3a192aWV3X3NtYXJ0X2NsYXNzX2luaXQo
JmFwaSk7CisgICAgICAgIGV3a192aWV3X3NtYXJ0X2NsYXNzX3NldCgmYXBpKTsKICAgICAgICAg
c21hcnQgPSBldmFzX3NtYXJ0X2NsYXNzX25ldygmYXBpLnNjKTsKICAgICB9CiAKICAgICByZXR1
cm4gc21hcnQ7CiB9CiAKLUV2YXNfT2JqZWN0KiBld2tfdmlld19iYXNlX2FkZChFdmFzKiBjYW52
YXMsIFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBXS1BhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYp
CitFdmFzX09iamVjdCogZXdrX3ZpZXdfYWRkX3dpdGhfV0tUeXBlKEV2YXMqIGNhbnZhcywgV0tD
b250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJlZikKIHsKICAg
ICBFdmFzX09iamVjdCogZXdrVmlldyA9IGV2YXNfb2JqZWN0X3NtYXJ0X2FkZChjYW52YXMsIF9l
d2tfdmlld19zbWFydF9jbGFzc19uZXcoKSk7CiAgICAgaWYgKCFld2tWaWV3KQpAQCAtNDkxLDE1
ICs1MDksMzcgQEAgRXZhc19PYmplY3QqIGV3a192aWV3X2Jhc2VfYWRkKEV2YXMqIGNhbnZhcywg
V0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3UKICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgfQogCi0gICAgcHJpdi0+cGFnZUNsaWVudCA9IFBhZ2VDbGllbnRJbXBsOjpjcmVhdGUodG9J
bXBsKGNvbnRleHRSZWYpLCB0b0ltcGwocGFnZUdyb3VwUmVmKSwgZXdrVmlldyk7Ci0gICAgZXdr
X3ZpZXdfbG9hZGVyX2NsaWVudF9hdHRhY2godG9BUEkocHJpdi0+cGFnZUNsaWVudC0+cGFnZSgp
KSwgZXdrVmlldyk7CisgICAgX2V3a192aWV3X3BhZ2VfY2xpZW50X2NyZWF0ZShld2tWaWV3LCBj
b250ZXh0UmVmLCBwYWdlR3JvdXBSZWYpOworICAgIHJldHVybiBld2tWaWV3OworfQorCitFdmFz
X09iamVjdCogZXdrX3ZpZXdfYmFzZV9hZGQoRXZhcyogY2FudmFzLCBFd2tfQ29udGV4dCogY29u
dGV4dCwgRXdrX1BhZ2VfR3JvdXAqIHBhZ2VHcm91cCkKK3sKKyAgICBFdmFzX09iamVjdCogZXdr
VmlldyA9IGV2YXNfb2JqZWN0X3NtYXJ0X2FkZChjYW52YXMsIF9ld2tfdmlld19zbWFydF9jbGFz
c19uZXcoKSk7CisgICAgaWYgKCFld2tWaWV3KQorICAgICAgICByZXR1cm4gMDsKKworICAgIEVX
S19WSUVXX1NEX0dFVChld2tWaWV3LCBzbWFydERhdGEpOworICAgIGlmICghc21hcnREYXRhKSB7
CisgICAgICAgIGV2YXNfb2JqZWN0X2RlbChld2tWaWV3KTsKKyAgICAgICAgcmV0dXJuIDA7Cisg
ICAgfQorCisgICAgRVdLX1ZJRVdfUFJJVl9HRVQoc21hcnREYXRhLCBwcml2KTsKKyAgICBpZiAo
IXByaXYpIHsKKyAgICAgICAgZXZhc19vYmplY3RfZGVsKGV3a1ZpZXcpOworICAgICAgICByZXR1
cm4gMDsKKyAgICB9CiAKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoc21hcnRE
YXRhLT5hcGksIGV3a1ZpZXcpOworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChz
bWFydERhdGEtPmFwaS0+aW5pdGlhbGl6ZSwgZXdrVmlldyk7CisgICAgc21hcnREYXRhLT5hcGkt
PmluaXRpYWxpemUoc21hcnREYXRhLCBjb250ZXh0LCBwYWdlR3JvdXApOwogICAgIHJldHVybiBl
d2tWaWV3OwogfQogCiBFdmFzX09iamVjdCogZXdrX3ZpZXdfYWRkX3dpdGhfY29udGV4dChFdmFz
KiBjYW52YXMsIEV3a19Db250ZXh0KiBjb250ZXh0KQogewotICAgIHJldHVybiBld2tfdmlld19i
YXNlX2FkZChjYW52YXMsIGV3a19jb250ZXh0X1dLQ29udGV4dF9nZXQoY29udGV4dCksIDApOwor
ICAgIHJldHVybiBld2tfdmlld19iYXNlX2FkZChjYW52YXMsIGNvbnRleHQsIDApOwogfQogCiBF
dmFzX09iamVjdCogZXdrX3ZpZXdfYWRkKEV2YXMqIGNhbnZhcykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCmluZGV4IGNiNWI2NTAuLjVkMTE3NmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaApAQCAtMzMsNiArMzMs
NyBAQAogI2RlZmluZSBld2tfdmlld19oCiAKICNpbmNsdWRlICJld2tfY29udGV4dC5oIgorI2lu
Y2x1ZGUgImV3a19wYWdlX2dyb3VwLmgiCiAjaW5jbHVkZSA8RXZhcy5oPgogCiAjaWZkZWYgX19j
cGx1c3BsdXMKQEAgLTUwLDYgKzUxLDcgQEAgc3RydWN0IF9Fd2tfVmlld19TbWFydF9DbGFzcyB7
CiAgICAgLy8gZXZlbnQgaGFuZGxpbmc6CiAgICAgLy8gIC0gcmV0dXJucyB0cnVlIGlmIGhhbmRs
ZWQKICAgICAvLyAgLSBpZiBvdmVycmlkZGVuLCBoYXZlIHRvIGNhbGwgcGFyZW50IG1ldGhvZCBp
ZiBkZXNpcmVkCisgICAgRWluYV9Cb29sICgqaW5pdGlhbGl6ZSkoRXdrX1ZpZXdfU21hcnRfRGF0
YSAqc2QsIEV3a19Db250ZXh0KiBjb250ZXh0LCBFd2tfUGFnZV9Hcm91cCogZ3JvdXApOwogICAg
IEVpbmFfQm9vbCAoKmZvY3VzX2luKShFd2tfVmlld19TbWFydF9EYXRhICpzZCk7CiAgICAgRWlu
YV9Cb29sICgqZm9jdXNfb3V0KShFd2tfVmlld19TbWFydF9EYXRhICpzZCk7CiAgICAgRWluYV9C
b29sICgqbW91c2Vfd2hlZWwpKEV3a19WaWV3X1NtYXJ0X0RhdGEgKnNkLCBjb25zdCBFdmFzX0V2
ZW50X01vdXNlX1doZWVsICpldik7CkBAIC03Niw3ICs3OCw3IEBAIHN0cnVjdCBfRXdrX1ZpZXdf
U21hcnRfQ2xhc3MgewogICogQHNlZSBFV0tfVklFV19TTUFSVF9DTEFTU19JTklUX1ZFUlNJT04K
ICAqIEBzZWUgRVdLX1ZJRVdfU01BUlRfQ0xBU1NfSU5JVF9OQU1FX1ZFUlNJT04KICAqLwotI2Rl
ZmluZSBFV0tfVklFV19TTUFSVF9DTEFTU19JTklUKHNtYXJ0X2NsYXNzX2luaXQpIHtzbWFydF9j
bGFzc19pbml0LCBFV0tfVklFV19TTUFSVF9DTEFTU19WRVJTSU9OLCAwLCAwLCAwLCAwLCAwLCAw
LCAwLCAwfQorI2RlZmluZSBFV0tfVklFV19TTUFSVF9DTEFTU19JTklUKHNtYXJ0X2NsYXNzX2lu
aXQpIHtzbWFydF9jbGFzc19pbml0LCBFV0tfVklFV19TTUFSVF9DTEFTU19WRVJTSU9OLCAwLCAw
LCAwLCAwLCAwLCAwLCAwLCAwLCAwfQogCiAvKioKICAqIEluaXRpYWxpemVyIHRvIHplcm8gYSB3
aG9sZSBFd2tfVmlld19TbWFydF9DbGFzcyBzdHJ1Y3R1cmUuCkBAIC0xMjksNiArMTMxLDIzIEBA
IHN0cnVjdCBfRXdrX1ZpZXdfU21hcnRfRGF0YSB7CiB9OwogCiAvKioKKyAqIFNldHMgdGhlIHNt
YXJ0IGNsYXNzIEFQSXMsIGVuYWJsaW5nIHZpZXcgdG8gYmUgaW5oZXJpdGVkLgorICoKKyAqIEBw
YXJhbSBhcGkgY2xhc3MgZGVmaW5pdGlvbiB0byBzZXQsIGFsbCBtZW1iZXJzIHdpdGggdGhlCisg
KiAgICAgICAgZXhjZXB0aW9uIG9mIEBhIEV2YXNfU21hcnRfQ2xhc3MtPmRhdGEgbWF5IGJlIG92
ZXJyaWRkZW4sIG11c3QKKyAqICAgICAgICBAYiBub3QgYmUgQGMgMAorICoKKyAqIEBub3RlIEBh
IEV2YXNfU21hcnRfQ2xhc3MtPmRhdGEgaXMgdXNlZCB0byBpbXBsZW1lbnQgdHlwZSBjaGVja2lu
ZyBhbmQKKyAqICAgICAgIGlzIG5vdCBzdXBwb3NlZCB0byBiZSBjaGFuZ2VkL292ZXJyaWRkZW4u
IElmIHlvdSBuZWVkIGV4dHJhCisgKiAgICAgICBkYXRhIGZvciB5b3VyIHNtYXJ0IGNsYXNzIHRv
IHdvcmssIGp1c3QgZXh0ZW5kCisgKiAgICAgICBFd2tfVmlld19TbWFydF9DbGFzcyBpbnN0ZWFk
LgorICoKKyAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIG9uIHN1Y2Nlc3Mgb3IgQGMgRUlOQV9GQUxT
RSBvbiBmYWlsdXJlIChwcm9iYWJseQorICogICAgICAgICB2ZXJzaW9uIG1pc21hdGNoKQorICov
CitFQVBJIEVpbmFfQm9vbCBld2tfdmlld19zbWFydF9jbGFzc19zZXQoRXdrX1ZpZXdfU21hcnRf
Q2xhc3MgKmFwaSk7CisKKy8qKgogICogQ3JlYXRlcyBhIG5ldyBFRkwgV2ViS2l0IHZpZXcgb2Jq
ZWN0LgogICoKICAqIEBwYXJhbSBlIGNhbnZhcyBvYmplY3Qgd2hlcmUgdG8gY3JlYXRlIHRoZSB2
aWV3IG9iamVjdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
ZXdrX3ZpZXdfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3ZpZXdfcHJpdmF0ZS5oCmluZGV4IDYyNTk4ZTQuLjAyNTFmNTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3X3ByaXZhdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlld19wcml2YXRlLmgKQEAgLTIyLDYg
KzIyLDggQEAKICNkZWZpbmUgZXdrX3ZpZXdfcHJpdmF0ZV9oCiAKICNpbmNsdWRlICJXZWJQYWdl
UHJveHkuaCIKKyNpbmNsdWRlICJld2tfY29udGV4dC5oIgorI2luY2x1ZGUgImV3a19wYWdlX2dy
b3VwLmgiCiAjaW5jbHVkZSA8RXZhcy5oPgogI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+CiAK
QEAgLTM0LDcgKzM2LDggQEAgdm9pZCBld2tfdmlld19kaXNwbGF5KEV2YXNfT2JqZWN0KiBld2tW
aWV3LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiByZWN0KTsKIHZvaWQgZXdrX3ZpZXdfaW1hZ2Vf
ZGF0YV9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIHZvaWQqIGltYWdlRGF0YSwgY29uc3QgV2Vi
Q29yZTo6SW50U2l6ZSYgc2l6ZSk7CiB2b2lkIGV3a192aWV3X3RpdGxlX2NoYW5nZWQoRXZhc19P
YmplY3QqIGV3a1ZpZXcsIGNvbnN0IGNoYXIqIHRpdGxlKTsKIAotRXZhc19PYmplY3QqIGV3a192
aWV3X2Jhc2VfYWRkKEV2YXMqIGNhbnZhcywgV0tDb250ZXh0UmVmLCBXS1BhZ2VHcm91cFJlZik7
CitFdmFzX09iamVjdCogZXdrX3ZpZXdfYWRkX3dpdGhfV0tUeXBlKEV2YXMqLCBXS0NvbnRleHRS
ZWYsIFdLUGFnZUdyb3VwUmVmKTsKK0V2YXNfT2JqZWN0KiBld2tfdmlld19iYXNlX2FkZChFdmFz
KiwgRXdrX0NvbnRleHQqLCBFd2tfUGFnZV9Hcm91cCopOwogCiBXZWJLaXQ6OldlYlBhZ2VQcm94
eSogZXdrX3ZpZXdfcGFnZV9nZXQoY29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152426</attachid>
            <date>2012-07-14 10:20:27 -0700</date>
            <delta_ts>2012-07-17 07:41:42 -0700</delta_ts>
            <desc>patch to make ewk_view inheritable</desc>
            <filename>make_ewk_view_inheritable.patch</filename>
            <type>text/plain</type>
            <size>17071</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAzN2IyOGRkLi5iZDY3MDRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIg
QEAKKzIwMTItMDctMTQgIEV1bm1pIExlZSAgPGV1bm1pMTUubGVlQHNhbXN1bmcuY29tPgorCisg
ICAgICAgIFtFRkxdW1dLMl0gTWFrZSBld2tfdmlldyBpbmhlcml0YWJsZSBpbiB0aGUgV2ViS2l0
Mi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMDU0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSB0
aGUgZXdrX3ZpZXcgaW5oZXJpdGFibGUgYnkgYWRkaW5nIGV3a192aWV3X3NtYXJ0X2NsYXNzX3Nl
dCgpIEFQSQorICAgICAgICB0byB0aGUgZXdrX3ZpZXcuaC4KKyAgICAgICAgQWRkaXRpb25hbGx5
LCB0aGUgaW5pdGlhbGl6ZSgpIEFQSSBpcyBhZGRlZCB0byB0aGUgU21hcnRDbGFzcyBhbmQgaXQK
KyAgICAgICAgY3JlYXRlcyB0aGUgUGFnZUNsaWVudCwgc28gdGhlIG9iamVjdCB3aGljaCB3YW50
cyB0byBpbmhlcml0IHRoZQorICAgICAgICBld2tfdmlldyBoYXMgdG8gY2FsbCB0aGUgaW5pdGlh
bGl6ZSgpIGluIHRoZSBjb25zdHJ1Y3RvciB0byBjcmVhdGUKKyAgICAgICAgdGhlIFBhZ2VDbGll
bnQuCisgICAgICAgIFRoZSBXS1R5cGUgZGVwZW5kZW5jaWVzIGFyZSByZW1vdmVkIGZyb20gZXdr
X3ZpZXdfYmFzZV9hZGQoKSBiZWNhdXNlCisgICAgICAgIGluaXRpYWxpemUoKSBBUEkgZ2V0cyB0
aGUgRXdrX0NvbnRleHQgYW5kIEV3a19QYWdlX0dyb3VwIGluc3RlYWQgb2YKKyAgICAgICAgV0tU
eXBlcy4gTmV3IGZ1bmN0aW9uIGV3a192aWV3X2FkZF93aXRoX1dLVHlwZSgpIGlzIGFkZGVkIGZv
cgorICAgICAgICBXS1ZpZXcuY3BwLgorCisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuY3BwOgorICAgICAgICAoV0tWaWV3
Q3JlYXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9FV2ViS2l0Mi5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19wYWdlX2dyb3VwLmNwcDogQWRkZWQuCisgICAgICAg
IChfRXdrX1BhZ2VfR3JvdXApOgorICAgICAgICAoX0V3a19QYWdlX0dyb3VwOjpfRXdrX1BhZ2Vf
R3JvdXApOgorICAgICAgICAoZXdrX3BhZ2VfZ3JvdXBfV0tQYWdlR3JvdXBfZ2V0KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfcGFnZV9ncm91cC5oOiBBZGRlZC4KKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfcGFnZV9ncm91cF9wcml2YXRlLmg6IEFkZGVkLgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcDoKKyAgICAgICAgKF9ld2tfdmll
d19wYWdlX2NsaWVudF9jcmVhdGUpOgorICAgICAgICAoX2V3a192aWV3X2luaXRpYWxpemUpOgor
ICAgICAgICAoZXdrX3ZpZXdfc21hcnRfY2xhc3Nfc2V0KToKKyAgICAgICAgKF9ld2tfdmlld19z
bWFydF9jbGFzc19uZXcpOgorICAgICAgICAoZXdrX3ZpZXdfYWRkX3dpdGhfV0tUeXBlKToKKyAg
ICAgICAgKGV3a192aWV3X2Jhc2VfYWRkKToKKyAgICAgICAgKGV3a192aWV3X2FkZF93aXRoX2Nv
bnRleHQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXdfcHJpdmF0ZS5oOgorCiAyMDEyLTA3LTEzICBU
aGlhZ28gTWFyY29zIFAuIFNhbnRvcyAgPHRoaWFnby5zYW50b3NAaW50ZWwuY29tPgogCiAgICAg
ICAgIFtDTWFrZV0gUHJvcGVyIGhhbmRsaW5nIG9mIEVOQUJMRV9BUElfVEVTVFMgYnVpbGQgb3B0
aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDk4NzBlMGUuLmZkMTYzYzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC00MCw2ICs0MCw3IEBAIExJU1QoQVBQRU5EIFdlYktp
dDJfU09VUkNFUwogICAgIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnQuY3BwCiAgICAgVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX2ludGVudF9zZXJ2aWNlLmNwcAogICAgIFVJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbi5jcHAKKyAgICBVSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfcGFnZV9ncm91cC5jcHAKICAgICBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3Jl
cXVlc3QuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9yZXNwb25zZS5jcHAKICAg
ICBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKQEAgLTE3Myw2ICsxNzQsNyBAQCBTRVQg
KEVXZWJLaXQyX0hFQURFUlMKICAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a19pbnRlbnQuaCIKICAgICAiJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9E
SVJ9L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19pbnRlbnRfc2VydmljZS5oIgogICAgICIke0NNQUtF
X0NVUlJFTlRfU09VUkNFX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX25hdmlnYXRpb25fcG9s
aWN5X2RlY2lzaW9uLmgiCisgICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfcGFnZV9ncm91cC5oIgogICAgICIke0NNQUtFX0NVUlJFTlRfU09VUkNF
X0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3VybF9yZXF1ZXN0LmgiCiAgICAgIiR7Q01BS0Vf
Q1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdXJsX3Jlc3BvbnNlLmgi
CiAgICAgIiR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
dmlldy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9X
S1ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuY3Bw
CmluZGV4IDAzZjY5MzAuLmY5ZTdiM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9lZmwvV0tWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvZWZsL1dLVmlldy5jcHAKQEAgLTI3LDcgKzI3LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdl
YktpdDsKIAogV0tWaWV3UmVmIFdLVmlld0NyZWF0ZShFdmFzKiBjYW52YXMsIFdLQ29udGV4dFJl
ZiBjb250ZXh0UmVmLCBXS1BhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYpCiB7Ci0gICAgcmV0dXJu
IHRvQVBJKGV3a192aWV3X2Jhc2VfYWRkKGNhbnZhcywgY29udGV4dFJlZiwgcGFnZUdyb3VwUmVm
KSk7CisgICAgcmV0dXJuIHRvQVBJKGV3a192aWV3X2FkZF93aXRoX1dLVHlwZShjYW52YXMsIGNv
bnRleHRSZWYsIHBhZ2VHcm91cFJlZikpOwogfQogCiBXS1BhZ2VSZWYgV0tWaWV3R2V0UGFnZShX
S1ZpZXdSZWYgdmlld1JlZikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL0VXZWJLaXQyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9FV2Vi
S2l0Mi5oCmluZGV4IDhmYTkwYWUuLjY2Zjg3Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL0VXZWJLaXQyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvRVdlYktpdDIuaApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgImV3a19p
bnRlbnQuaCIKICNpbmNsdWRlICJld2tfaW50ZW50X3NlcnZpY2UuaCIKICNpbmNsdWRlICJld2tf
bmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb24uaCIKKyNpbmNsdWRlICJld2tfcGFnZV9ncm91cC5o
IgogI2luY2x1ZGUgImV3a191cmxfcmVxdWVzdC5oIgogI2luY2x1ZGUgImV3a191cmxfcmVzcG9u
c2UuaCIKICNpbmNsdWRlICJld2tfdmlldy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BhZ2VfZ3JvdXAuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX3BhZ2VfZ3JvdXAuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjQwOTU4YTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfcGFnZV9ncm91cC5jcHAKQEAgLTAsMCArMSw1MSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor
ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsg
c2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9v
ciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiZXdrX3BhZ2VfZ3JvdXAuaCIKKworI2luY2x1ZGUgIldLUmV0
YWluUHRyLmgiCisjaW5jbHVkZSAiZXdrX3BhZ2VfZ3JvdXBfcHJpdmF0ZS5oIgorI2luY2x1ZGUg
PEVpbmEuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKKworLyoqCisgKiBcc3RydWN0ICBf
RXdrX1BhZ2VfR3JvdXAKKyAqIEBicmllZiAgIENvbnRhaW5zIHRoZSBwYWdlIGdyb3VwIGRhdGEu
CisgKi8KK3N0cnVjdCBfRXdrX1BhZ2VfR3JvdXAgeworICAgIFdLUmV0YWluUHRyPFdLUGFnZUdy
b3VwUmVmPiBwYWdlR3JvdXA7CisKKyAgICBfRXdrX1BhZ2VfR3JvdXAoV0tQYWdlR3JvdXBSZWYg
cGFnZUdyb3VwUmVmKQorICAgICAgICA6IHBhZ2VHcm91cChwYWdlR3JvdXBSZWYpCisgICAgeyB9
Cit9OworCisvKioKKyAqIEBpbnRlcm5hbAorICogR2V0cyBXS1BhZ2VHcm91cCBmcm9tIEV3a19Q
YWdlX0dyb3VwLgorICovCitXS1BhZ2VHcm91cFJlZiBld2tfcGFnZV9ncm91cF9XS1BhZ2VHcm91
cF9nZXQoY29uc3QgRXdrX1BhZ2VfR3JvdXAqIGV3a1BhZ2VHcm91cCkKK3sKKyAgICBFSU5BX1NB
RkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoZXdrUGFnZUdyb3VwLCAwKTsKKworICAgIHJldHVybiBl
d2tQYWdlR3JvdXAtPnBhZ2VHcm91cC5nZXQoKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19wYWdlX2dyb3VwLmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfcGFnZV9ncm91cC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjBkYzMwNDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfcGFnZV9ncm91cC5oCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcworICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
CisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is
CisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisvKioKKyAqIEBmaWxlICAg
IGV3a19wYWdlX2dyb3VwLmgKKyAqIEBicmllZiAgIERlc2NyaWJlcyB0aGUgcGFnZSBncm91cCBB
UEkuCisgKi8KKworI2lmbmRlZiBld2tfcGFnZV9ncm91cF9oCisjZGVmaW5lIGV3a19wYWdlX2dy
b3VwX2gKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKiog
Q3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgQGEgX0V3a19QYWdlX0dyb3VwLiAqLwordHlwZWRlZiBz
dHJ1Y3QgX0V3a19QYWdlX0dyb3VwIEV3a19QYWdlX0dyb3VwOworCisjaWZkZWYgX19jcGx1c3Bs
dXMKK30KKyNlbmRpZgorCisjZW5kaWYgLy8gZXdrX3BhZ2VfZ3JvdXBfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BhZ2VfZ3JvdXBfcHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3BhZ2VfZ3JvdXBfcHJpdmF0
ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2M2VhMDEKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfcGFnZV9ncm91
cF9wcml2YXRlLmgKQEAgLTAsMCArMSwyOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBT
YW1zdW5nIEVsZWN0cm9uaWNzCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgZXdrX3BhZ2VfZ3JvdXBfcHJpdmF0ZV9oCisjZGVm
aW5lIGV3a19wYWdlX2dyb3VwX3ByaXZhdGVfaAorCisjaW5jbHVkZSAiV0tCYXNlLmgiCisKK3R5
cGVkZWYgc3RydWN0IF9Fd2tfUGFnZV9Hcm91cCBFd2tfUGFnZV9Hcm91cDsKKworV0tQYWdlR3Jv
dXBSZWYgZXdrX3BhZ2VfZ3JvdXBfV0tQYWdlR3JvdXBfZ2V0KGNvbnN0IEV3a19QYWdlX0dyb3Vw
Kik7CisKKyNlbmRpZiAvLyBld2tfcGFnZV9ncm91cF9wcml2YXRlX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcAppbmRleCBlYjFlNWU3Li5lNjNlNGVi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCkBA
IC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiZXdrX2NvbnRleHQuaCIKICNpbmNsdWRlICJld2tf
Y29udGV4dF9wcml2YXRlLmgiCiAjaW5jbHVkZSAiZXdrX2ludGVudF9wcml2YXRlLmgiCisjaW5j
bHVkZSAiZXdrX3BhZ2VfZ3JvdXBfcHJpdmF0ZS5oIgogI2luY2x1ZGUgImV3a192aWV3X2xvYWRl
cl9jbGllbnRfcHJpdmF0ZS5oIgogI2luY2x1ZGUgImV3a192aWV3X3BvbGljeV9jbGllbnRfcHJp
dmF0ZS5oIgogI2luY2x1ZGUgImV3a192aWV3X3ByaXZhdGUuaCIKQEAgLTEyMSw3ICsxMjIsMzAg
QEAgc3RhdGljIHZvaWQgX2V3a192aWV3X3NtYXJ0X2NoYW5nZWQoRXdrX1ZpZXdfU21hcnRfRGF0
YSogc21hcnREYXRhKQogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NoYW5nZWQoc21hcnREYXRhLT5z
ZWxmKTsKIH0KIAorc3RhdGljIEVpbmFfQm9vbCBfZXdrX3ZpZXdfcGFnZV9jbGllbnRfY3JlYXRl
KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tQYWdlR3Jv
dXBSZWYgcGFnZUdyb3VwUmVmKQoreworICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdr
Vmlldywgc21hcnREYXRhLCBmYWxzZSk7CisgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJO
KHNtYXJ0RGF0YSwgcHJpdiwgZmFsc2UpCisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5f
VkFMKGNvbnRleHRSZWYsIGZhbHNlKTsKKworICAgIHByaXYtPnBhZ2VDbGllbnQgPSBQYWdlQ2xp
ZW50SW1wbDo6Y3JlYXRlKHRvSW1wbChjb250ZXh0UmVmKSwgdG9JbXBsKHBhZ2VHcm91cFJlZiks
IGV3a1ZpZXcpOworICAgIGV3a192aWV3X2xvYWRlcl9jbGllbnRfYXR0YWNoKHRvQVBJKHByaXYt
PnBhZ2VDbGllbnQtPnBhZ2UoKSksIGV3a1ZpZXcpOworICAgIGV3a192aWV3X3BvbGljeV9jbGll
bnRfYXR0YWNoKHRvQVBJKHByaXYtPnBhZ2VDbGllbnQtPnBhZ2UoKSksIGV3a1ZpZXcpOworICAg
IGV3a192aWV3X3Jlc291cmNlX2xvYWRfY2xpZW50X2F0dGFjaCh0b0FQSShwcml2LT5wYWdlQ2xp
ZW50LT5wYWdlKCkpLCBld2tWaWV3KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogLy8gRGVmYXVs
dCBFdmVudCBIYW5kbGluZy4KK3N0YXRpYyBFaW5hX0Jvb2wgX2V3a192aWV3X2luaXRpYWxpemUo
RXdrX1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhLCBFd2tfQ29udGV4dCogY29udGV4dCwgRXdr
X1BhZ2VfR3JvdXAqIHBhZ2VHcm91cCkKK3sKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVS
Tl9WQUwoc21hcnREYXRhLCBmYWxzZSk7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5f
VkFMKGNvbnRleHQsIGZhbHNlKTsKKworICAgIGlmICghcGFnZUdyb3VwKQorICAgICAgICByZXR1
cm4gX2V3a192aWV3X3BhZ2VfY2xpZW50X2NyZWF0ZShzbWFydERhdGEtPnNlbGYsIGV3a19jb250
ZXh0X1dLQ29udGV4dF9nZXQoY29udGV4dCksIDApOworICAgIHJldHVybiBfZXdrX3ZpZXdfcGFn
ZV9jbGllbnRfY3JlYXRlKHNtYXJ0RGF0YS0+c2VsZiwgZXdrX2NvbnRleHRfV0tDb250ZXh0X2dl
dChjb250ZXh0KSwgZXdrX3BhZ2VfZ3JvdXBfV0tQYWdlR3JvdXBfZ2V0KHBhZ2VHcm91cCkpOwor
fQorCiBzdGF0aWMgRWluYV9Cb29sIF9ld2tfdmlld19zbWFydF9mb2N1c19pbihFd2tfVmlld19T
bWFydF9EYXRhKiBzbWFydERhdGEpCiB7CiAgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJO
KHNtYXJ0RGF0YSwgcHJpdiwgZmFsc2UpCkBAIC00MzIsNyArNDU2LDcgQEAgc3RhdGljIHZvaWQg
X2V3a192aWV3X3NtYXJ0X2NvbG9yX3NldChFdmFzX09iamVjdCogZXdrVmlldywgaW50IHJlZCwg
aW50IGdyZWVuLAogICAgIGdfcGFyZW50U21hcnRDbGFzcy5jb2xvcl9zZXQoZXdrVmlldywgcmVk
LCBncmVlbiwgYmx1ZSwgYWxwaGEpOwogfQogCi1FaW5hX0Jvb2wgZXdrX3ZpZXdfc21hcnRfY2xh
c3NfaW5pdChFd2tfVmlld19TbWFydF9DbGFzcyogYXBpKQorRWluYV9Cb29sIGV3a192aWV3X3Nt
YXJ0X2NsYXNzX3NldChFd2tfVmlld19TbWFydF9DbGFzcyogYXBpKQogewogICAgIEVJTkFfU0FG
RVRZX09OX05VTExfUkVUVVJOX1ZBTChhcGksIGZhbHNlKTsKIApAQCAtNDU5LDYgKzQ4Myw3IEBA
IEVpbmFfQm9vbCBld2tfdmlld19zbWFydF9jbGFzc19pbml0KEV3a19WaWV3X1NtYXJ0X0NsYXNz
KiBhcGkpCiAgICAgYXBpLT5zYy5kYXRhID0gRVdLX1ZJRVdfVFlQRV9TVFI7IC8vIEl0IGlzIHVz
ZWQgYnkgdHlwZSBjaGVja2luZy4KIAogICAgIC8vIFNldCBFd2tfVmlld19TbWFydF9DbGFzcyBm
dW5jdGlvbnMuCisgICAgYXBpLT5pbml0aWFsaXplID0gX2V3a192aWV3X2luaXRpYWxpemU7CiAg
ICAgYXBpLT5mb2N1c19pbiA9IF9ld2tfdmlld19zbWFydF9mb2N1c19pbjsKICAgICBhcGktPmZv
Y3VzX291dCA9IF9ld2tfdmlld19zbWFydF9mb2N1c19vdXQ7CiAgICAgYXBpLT5tb3VzZV93aGVl
bCA9IF9ld2tfdmlld19zbWFydF9tb3VzZV93aGVlbDsKQEAgLTQ3NywxNCArNTAyLDE4IEBAIHN0
YXRpYyBpbmxpbmUgRXZhc19TbWFydCogX2V3a192aWV3X3NtYXJ0X2NsYXNzX25ldyh2b2lkKQog
ICAgIHN0YXRpYyBFdmFzX1NtYXJ0KiBzbWFydCA9IDA7CiAKICAgICBpZiAoRUlOQV9VTkxJS0VM
WSghc21hcnQpKSB7Ci0gICAgICAgIGV3a192aWV3X3NtYXJ0X2NsYXNzX2luaXQoJmFwaSk7Cisg
ICAgICAgIGV3a192aWV3X3NtYXJ0X2NsYXNzX3NldCgmYXBpKTsKICAgICAgICAgc21hcnQgPSBl
dmFzX3NtYXJ0X2NsYXNzX25ldygmYXBpLnNjKTsKICAgICB9CiAKICAgICByZXR1cm4gc21hcnQ7
CiB9CiAKLUV2YXNfT2JqZWN0KiBld2tfdmlld19iYXNlX2FkZChFdmFzKiBjYW52YXMsIFdLQ29u
dGV4dFJlZiBjb250ZXh0UmVmLCBXS1BhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYpCisvKioKKyAq
IEBpbnRlcm5hbAorICogQ29uc3RydWN0cyBhIGV3a192aWV3IEV2YXNfT2JqZWN0IHdpdGggV0tU
eXBlIHBhcmFtZXRlcnMuCisgKi8KK0V2YXNfT2JqZWN0KiBld2tfdmlld19hZGRfd2l0aF9XS1R5
cGUoRXZhcyogY2FudmFzLCBXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tQYWdlR3JvdXBSZWYg
cGFnZUdyb3VwUmVmKQogewogICAgIEV2YXNfT2JqZWN0KiBld2tWaWV3ID0gZXZhc19vYmplY3Rf
c21hcnRfYWRkKGNhbnZhcywgX2V3a192aWV3X3NtYXJ0X2NsYXNzX25ldygpKTsKICAgICBpZiAo
IWV3a1ZpZXcpCkBAIC01MDIsMTcgKzUzMSw0MSBAQCBFdmFzX09iamVjdCogZXdrX3ZpZXdfYmFz
ZV9hZGQoRXZhcyogY2FudmFzLCBXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tQYWdlR3JvdQog
ICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICBwcml2LT5wYWdlQ2xpZW50ID0gUGFnZUNs
aWVudEltcGw6OmNyZWF0ZSh0b0ltcGwoY29udGV4dFJlZiksIHRvSW1wbChwYWdlR3JvdXBSZWYp
LCBld2tWaWV3KTsKLSAgICBld2tfdmlld19sb2FkZXJfY2xpZW50X2F0dGFjaCh0b0FQSShwcml2
LT5wYWdlQ2xpZW50LT5wYWdlKCkpLCBld2tWaWV3KTsKLSAgICBld2tfdmlld19wb2xpY3lfY2xp
ZW50X2F0dGFjaCh0b0FQSShwcml2LT5wYWdlQ2xpZW50LT5wYWdlKCkpLCBld2tWaWV3KTsKLSAg
ICBld2tfdmlld19yZXNvdXJjZV9sb2FkX2NsaWVudF9hdHRhY2godG9BUEkocHJpdi0+cGFnZUNs
aWVudC0+cGFnZSgpKSwgZXdrVmlldyk7Ci0KKyAgICBfZXdrX3ZpZXdfcGFnZV9jbGllbnRfY3Jl
YXRlKGV3a1ZpZXcsIGNvbnRleHRSZWYsIHBhZ2VHcm91cFJlZik7CiAgICAgcmV0dXJuIGV3a1Zp
ZXc7CiB9CiAKKy8qKgorICogQGludGVybmFsCisgKiBDb25zdHJ1Y3RzIGEgZXdrX3ZpZXcgRXZh
c19PYmplY3Qgd2l0aCBFd2tfQ29udGV4dCBhbmQgRXdrX1BhZ2VfR3JvdXAuCisgKi8KK0V2YXNf
T2JqZWN0KiBld2tfdmlld19iYXNlX2FkZChFdmFzKiBjYW52YXMsIEV3a19Db250ZXh0KiBjb250
ZXh0LCBFd2tfUGFnZV9Hcm91cCogcGFnZUdyb3VwKQoreworICAgIEV2YXNfT2JqZWN0KiBld2tW
aWV3ID0gZXZhc19vYmplY3Rfc21hcnRfYWRkKGNhbnZhcywgX2V3a192aWV3X3NtYXJ0X2NsYXNz
X25ldygpKTsKKyAgICBpZiAoIWV3a1ZpZXcpCisgICAgICAgIHJldHVybiAwOworCisgICAgRVdL
X1ZJRVdfU0RfR0VUKGV3a1ZpZXcsIHNtYXJ0RGF0YSk7CisgICAgaWYgKCFzbWFydERhdGEpIHsK
KyAgICAgICAgZXZhc19vYmplY3RfZGVsKGV3a1ZpZXcpOworICAgICAgICByZXR1cm4gMDsKKyAg
ICB9CisKKyAgICBFV0tfVklFV19QUklWX0dFVChzbWFydERhdGEsIHByaXYpOworICAgIGlmICgh
cHJpdikgeworICAgICAgICBldmFzX29iamVjdF9kZWwoZXdrVmlldyk7CisgICAgICAgIHJldHVy
biAwOworICAgIH0KKworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChzbWFydERh
dGEtPmFwaSwgZXdrVmlldyk7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHNt
YXJ0RGF0YS0+YXBpLT5pbml0aWFsaXplLCBld2tWaWV3KTsKKyAgICBzbWFydERhdGEtPmFwaS0+
aW5pdGlhbGl6ZShzbWFydERhdGEsIGNvbnRleHQsIHBhZ2VHcm91cCk7CisgICAgcmV0dXJuIGV3
a1ZpZXc7Cit9CisgCiBFdmFzX09iamVjdCogZXdrX3ZpZXdfYWRkX3dpdGhfY29udGV4dChFdmFz
KiBjYW52YXMsIEV3a19Db250ZXh0KiBjb250ZXh0KQogewotICAgIHJldHVybiBld2tfdmlld19i
YXNlX2FkZChjYW52YXMsIGV3a19jb250ZXh0X1dLQ29udGV4dF9nZXQoY29udGV4dCksIDApOwor
ICAgIHJldHVybiBld2tfdmlld19iYXNlX2FkZChjYW52YXMsIGNvbnRleHQsIDApOwogfQogCiBF
dmFzX09iamVjdCogZXdrX3ZpZXdfYWRkKEV2YXMqIGNhbnZhcykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCmluZGV4IDU4NTUyZWMuLjBjNmM4YTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaApAQCAtNDksNiArNDks
NyBAQAogCiAjaW5jbHVkZSAiZXdrX2NvbnRleHQuaCIKICNpbmNsdWRlICJld2tfaW50ZW50Lmgi
CisjaW5jbHVkZSAiZXdrX3BhZ2VfZ3JvdXAuaCIKICNpbmNsdWRlICJld2tfdXJsX3JlcXVlc3Qu
aCIKICNpbmNsdWRlICJld2tfdXJsX3Jlc3BvbnNlLmgiCiAjaW5jbHVkZSAiZXdrX3dlYl9lcnJv
ci5oIgpAQCAtNzAsNiArNzEsNyBAQCBzdHJ1Y3QgX0V3a19WaWV3X1NtYXJ0X0NsYXNzIHsKICAg
ICAvLyBldmVudCBoYW5kbGluZzoKICAgICAvLyAgLSByZXR1cm5zIHRydWUgaWYgaGFuZGxlZAog
ICAgIC8vICAtIGlmIG92ZXJyaWRkZW4sIGhhdmUgdG8gY2FsbCBwYXJlbnQgbWV0aG9kIGlmIGRl
c2lyZWQKKyAgICBFaW5hX0Jvb2wgKCppbml0aWFsaXplKShFd2tfVmlld19TbWFydF9EYXRhICpz
ZCwgRXdrX0NvbnRleHQgKmNvbnRleHQsIEV3a19QYWdlX0dyb3VwICpncm91cCk7CiAgICAgRWlu
YV9Cb29sICgqZm9jdXNfaW4pKEV3a19WaWV3X1NtYXJ0X0RhdGEgKnNkKTsKICAgICBFaW5hX0Jv
b2wgKCpmb2N1c19vdXQpKEV3a19WaWV3X1NtYXJ0X0RhdGEgKnNkKTsKICAgICBFaW5hX0Jvb2wg
KCptb3VzZV93aGVlbCkoRXdrX1ZpZXdfU21hcnRfRGF0YSAqc2QsIGNvbnN0IEV2YXNfRXZlbnRf
TW91c2VfV2hlZWwgKmV2KTsKQEAgLTk2LDcgKzk4LDcgQEAgc3RydWN0IF9Fd2tfVmlld19TbWFy
dF9DbGFzcyB7CiAgKiBAc2VlIEVXS19WSUVXX1NNQVJUX0NMQVNTX0lOSVRfVkVSU0lPTgogICog
QHNlZSBFV0tfVklFV19TTUFSVF9DTEFTU19JTklUX05BTUVfVkVSU0lPTgogICovCi0jZGVmaW5l
IEVXS19WSUVXX1NNQVJUX0NMQVNTX0lOSVQoc21hcnRfY2xhc3NfaW5pdCkge3NtYXJ0X2NsYXNz
X2luaXQsIEVXS19WSUVXX1NNQVJUX0NMQVNTX1ZFUlNJT04sIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDB9CisjZGVmaW5lIEVXS19WSUVXX1NNQVJUX0NMQVNTX0lOSVQoc21hcnRfY2xhc3NfaW5pdCkg
e3NtYXJ0X2NsYXNzX2luaXQsIEVXS19WSUVXX1NNQVJUX0NMQVNTX1ZFUlNJT04sIDAsIDAsIDAs
IDAsIDAsIDAsIDAsIDAsIDB9CiAKIC8qKgogICogSW5pdGlhbGl6ZXIgdG8gemVybyBhIHdob2xl
IEV3a19WaWV3X1NtYXJ0X0NsYXNzIHN0cnVjdHVyZS4KQEAgLTE4NSw2ICsxODcsMjMgQEAgc3Ry
dWN0IF9Fd2tfV2ViX1Jlc291cmNlX0xvYWRfRXJyb3IgewogfTsKIAogLyoqCisgKiBTZXRzIHRo
ZSBzbWFydCBjbGFzcyBBUElzLCBlbmFibGluZyB2aWV3IHRvIGJlIGluaGVyaXRlZC4KKyAqCisg
KiBAcGFyYW0gYXBpIGNsYXNzIGRlZmluaXRpb24gdG8gc2V0LCBhbGwgbWVtYmVycyB3aXRoIHRo
ZQorICogICAgICAgIGV4Y2VwdGlvbiBvZiBAYSBFdmFzX1NtYXJ0X0NsYXNzLT5kYXRhIG1heSBi
ZSBvdmVycmlkZGVuLCBtdXN0CisgKiAgICAgICAgQGIgbm90IGJlIEBjIDAKKyAqCisgKiBAbm90
ZSBAYSBFdmFzX1NtYXJ0X0NsYXNzLT5kYXRhIGlzIHVzZWQgdG8gaW1wbGVtZW50IHR5cGUgY2hl
Y2tpbmcgYW5kCisgKiAgICAgICBpcyBub3Qgc3VwcG9zZWQgdG8gYmUgY2hhbmdlZC9vdmVycmlk
ZGVuLiBJZiB5b3UgbmVlZCBleHRyYQorICogICAgICAgZGF0YSBmb3IgeW91ciBzbWFydCBjbGFz
cyB0byB3b3JrLCBqdXN0IGV4dGVuZAorICogICAgICAgRXdrX1ZpZXdfU21hcnRfQ2xhc3MgaW5z
dGVhZC4KKyAqCisgKiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBvbiBzdWNjZXNzIG9yIEBjIEVJTkFf
RkFMU0Ugb24gZmFpbHVyZSAocHJvYmFibHkKKyAqICAgICAgICAgdmVyc2lvbiBtaXNtYXRjaCkK
KyAqLworRUFQSSBFaW5hX0Jvb2wgZXdrX3ZpZXdfc21hcnRfY2xhc3Nfc2V0KEV3a19WaWV3X1Nt
YXJ0X0NsYXNzICphcGkpOworCisvKioKICAqIENyZWF0ZXMgYSBuZXcgRUZMIFdlYktpdCB2aWV3
IG9iamVjdC4KICAqCiAgKiBAcGFyYW0gZSBjYW52YXMgb2JqZWN0IHdoZXJlIHRvIGNyZWF0ZSB0
aGUgdmlldyBvYmplY3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a192aWV3X3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a192aWV3X3ByaXZhdGUuaAppbmRleCAzYzljZTk0Li45YWVjODRiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlld19wcml2YXRlLmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXdfcHJpdmF0ZS5oCkBAIC0y
Miw2ICsyMiw4IEBACiAjZGVmaW5lIGV3a192aWV3X3ByaXZhdGVfaAogCiAjaW5jbHVkZSAiV2Vi
UGFnZVByb3h5LmgiCisjaW5jbHVkZSAiZXdrX2NvbnRleHQuaCIKKyNpbmNsdWRlICJld2tfcGFn
ZV9ncm91cC5oIgogI2luY2x1ZGUgPEV2YXMuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5o
PgogCkBAIC01OSw3ICs2MSw4IEBAIHZvaWQgZXdrX3ZpZXdfcmVzb3VyY2VfbG9hZF9pbml0aWF0
ZWQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIHVpbnQ2NF90IHJlc291cmNlSWRlCiB2b2lkIGV3a192
aWV3X3Jlc291cmNlX2xvYWRfcmVzcG9uc2UoRXZhc19PYmplY3QqIGV3a1ZpZXcsIHVpbnQ2NF90
IHJlc291cmNlSWRlbnRpZmllciwgRXdrX1VybF9SZXNwb25zZSogcmVzcG9uc2UpOwogdm9pZCBl
d2tfdmlld19yZXNvdXJjZV9yZXF1ZXN0X3NlbnQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIHVpbnQ2
NF90IHJlc291cmNlSWRlbnRpZmllciwgRXdrX1VybF9SZXF1ZXN0KiByZXF1ZXN0LCBFd2tfVXJs
X1Jlc3BvbnNlKiByZWRpcmVjdFJlc3BvbnNlKTsKIAotRXZhc19PYmplY3QqIGV3a192aWV3X2Jh
c2VfYWRkKEV2YXMqIGNhbnZhcywgV0tDb250ZXh0UmVmLCBXS1BhZ2VHcm91cFJlZik7CitFdmFz
X09iamVjdCogZXdrX3ZpZXdfYWRkX3dpdGhfV0tUeXBlKEV2YXMqLCBXS0NvbnRleHRSZWYsIFdL
UGFnZUdyb3VwUmVmKTsKK0V2YXNfT2JqZWN0KiBld2tfdmlld19iYXNlX2FkZChFdmFzKiwgRXdr
X0NvbnRleHQqLCBFd2tfUGFnZV9Hcm91cCopOwogCiAjaWYgRU5BQkxFKFdFQl9JTlRFTlRTKQog
dm9pZCBld2tfdmlld19pbnRlbnRfcmVxdWVzdF9uZXcoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGNv
bnN0IEV3a19JbnRlbnQqIGV3a0ludGVudCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152760</attachid>
            <date>2012-07-17 07:41:42 -0700</date>
            <delta_ts>2012-07-27 01:13:34 -0700</delta_ts>
            <desc>[WIP] patch for inheritance</desc>
            <filename>make_ewk_view_inheritable.patch</filename>
            <type>text/plain</type>
            <size>7495</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBkODNlZDg5Li43YzBjYWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjYg
QEAKIDIwMTItMDctMTcgIEV1bm1pIExlZSAgPGV1bm1pMTUubGVlQHNhbXN1bmcuY29tPgogCisg
ICAgICAgIFtFRkxdW1dLMl0gTWFrZSBld2tfdmlldyBpbmhlcml0YWJsZSBpbiB0aGUgV2ViS2l0
Mi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMDU0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSB0
aGUgZXdrX3ZpZXcgaW5oZXJpdGFibGUgYnkgYWRkaW5nIGV3a192aWV3X3NtYXJ0X2NsYXNzX3Nl
dCgpIEFQSQorICAgICAgICB0byB0aGUgZXdrX3ZpZXcuaC4KKyAgICAgICAgQWRkaXRpb25hbGx5
LCB0aGUgaW5pdGlhbGl6ZSgpIEFQSSBpcyBhZGRlZCB0byB0aGUgU21hcnRDbGFzcyBhbmQgaXQK
KyAgICAgICAgY3JlYXRlcyB0aGUgUGFnZUNsaWVudCwgc28gdGhlIG9iamVjdCB3aGljaCB3YW50
cyB0byBpbmhlcml0IHRoZQorICAgICAgICBld2tfdmlldyBoYXMgdG8gY2FsbCB0aGUgaW5pdGlh
bGl6ZSgpIGluIHRoZSBjb25zdHJ1Y3RvciB0byBjcmVhdGUKKyAgICAgICAgdGhlIFBhZ2VDbGll
bnQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHA6CisgICAgICAg
IChfZXdrX3ZpZXdfaW5pdGlhbGl6ZSk6CisgICAgICAgIChld2tfdmlld19zbWFydF9jbGFzc19z
ZXQpOgorICAgICAgICAoX2V3a192aWV3X3NtYXJ0X2NsYXNzX25ldyk6CisgICAgICAgIChld2tf
dmlld19iYXNlX2FkZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaDoK
KworMjAxMi0wNy0xNyAgRXVubWkgTGVlICA8ZXVubWkxNS5sZWVAc2Ftc3VuZy5jb20+CisKICAg
ICAgICAgW0VGTF1bV0syXSBBZGQgZXdrX3ZpZXdfZ3JvdXAuCiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTQ2OAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKaW5kZXggYWU0ZDMwZC4uMjRkYzQ0NGY2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCkBAIC0x
MzUsNiArMTM1LDMyIEBAIHN0YXRpYyB2b2lkIF9ld2tfdmlld19zbWFydF9jaGFuZ2VkKEV3a19W
aWV3X1NtYXJ0X0RhdGEqIHNtYXJ0RGF0YSkKIH0KIAogLy8gRGVmYXVsdCBFdmVudCBIYW5kbGlu
Zy4KK3N0YXRpYyBFaW5hX0Jvb2wgX2V3a192aWV3X2luaXRpYWxpemUoRXdrX1ZpZXdfU21hcnRf
RGF0YSogc21hcnREYXRhLCBFd2tfQ29udGV4dCogY29udGV4dCwgRXdrX1ZpZXdfR3JvdXAqIGdy
b3VwKQoreworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChzbWFydERhdGEsIGZh
bHNlKTsKKyAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2LCBm
YWxzZSk7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKGNvbnRleHQsIGZhbHNl
KTsKKworICAgIFdLQ29udGV4dFJlZiBjb250ZXh0UmVmID0gZXdrX2NvbnRleHRfV0tDb250ZXh0
X2dldChjb250ZXh0KTsKKyAgICBXS1BhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYgPSAwOworICAg
IGlmIChncm91cCkgeworICAgICAgICBwYWdlR3JvdXBSZWYgPSBld2tfdmlld19ncm91cF9XS1Bh
Z2VHcm91cF9nZXQoZ3JvdXApOworICAgICAgICBwcml2LT5ncm91cCA9IGdyb3VwOworICAgICAg
ICBld2tfdmlld19ncm91cF9yZWYoZ3JvdXApOworICAgIH0KKworICAgIHByaXYtPnBhZ2VDbGll
bnQgPSBQYWdlQ2xpZW50SW1wbDo6Y3JlYXRlKHRvSW1wbChjb250ZXh0UmVmKSwgdG9JbXBsKHBh
Z2VHcm91cFJlZiksIHNtYXJ0RGF0YS0+c2VsZik7CisgICAgZXdrX3ZpZXdfbG9hZGVyX2NsaWVu
dF9hdHRhY2godG9BUEkocHJpdi0+cGFnZUNsaWVudC0+cGFnZSgpKSwgc21hcnREYXRhLT5zZWxm
KTsKKyAgICBld2tfdmlld19wb2xpY3lfY2xpZW50X2F0dGFjaCh0b0FQSShwcml2LT5wYWdlQ2xp
ZW50LT5wYWdlKCkpLCBzbWFydERhdGEtPnNlbGYpOworICAgIGV3a192aWV3X3Jlc291cmNlX2xv
YWRfY2xpZW50X2F0dGFjaCh0b0FQSShwcml2LT5wYWdlQ2xpZW50LT5wYWdlKCkpLCBzbWFydERh
dGEtPnNlbGYpOworICAgIGlmICghcHJpdi0+Z3JvdXApCisgICAgICAgIHByaXYtPmdyb3VwID0g
ZXdrX3ZpZXdfZ3JvdXBfbmV3X3dpdGhfV0tQYWdlR3JvdXAoV0tQYWdlR2V0UGFnZUdyb3VwKHRv
QVBJKHByaXYtPnBhZ2VDbGllbnQtPnBhZ2UoKSkpKTsKKworICAgIGV3a192aWV3X3RoZW1lX3Nl
dChzbWFydERhdGEtPnNlbGYsIERFRkFVTFRfVEhFTUVfUEFUSCIvZGVmYXVsdC5lZGoiKTsKKwor
ICAgIHJldHVybiB0cnVlOworfQorCiBzdGF0aWMgRWluYV9Cb29sIF9ld2tfdmlld19zbWFydF9m
b2N1c19pbihFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEpCiB7CiAgICAgRVdLX1ZJRVdf
UFJJVl9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgcHJpdiwgZmFsc2UpCkBAIC00MzksNyArNDY1
LDcgQEAgc3RhdGljIHZvaWQgX2V3a192aWV3X3NtYXJ0X2NvbG9yX3NldChFdmFzX09iamVjdCog
ZXdrVmlldywgaW50IHJlZCwgaW50IGdyZWVuLAogICAgIGdfcGFyZW50U21hcnRDbGFzcy5jb2xv
cl9zZXQoZXdrVmlldywgcmVkLCBncmVlbiwgYmx1ZSwgYWxwaGEpOwogfQogCi1FaW5hX0Jvb2wg
ZXdrX3ZpZXdfc21hcnRfY2xhc3NfaW5pdChFd2tfVmlld19TbWFydF9DbGFzcyogYXBpKQorRWlu
YV9Cb29sIGV3a192aWV3X3NtYXJ0X2NsYXNzX3NldChFd2tfVmlld19TbWFydF9DbGFzcyogYXBp
KQogewogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChhcGksIGZhbHNlKTsKIApA
QCAtNDY2LDYgKzQ5Miw3IEBAIEVpbmFfQm9vbCBld2tfdmlld19zbWFydF9jbGFzc19pbml0KEV3
a19WaWV3X1NtYXJ0X0NsYXNzKiBhcGkpCiAgICAgYXBpLT5zYy5kYXRhID0gRVdLX1ZJRVdfVFlQ
RV9TVFI7IC8vIEl0IGlzIHVzZWQgYnkgdHlwZSBjaGVja2luZy4KIAogICAgIC8vIFNldCBFd2tf
Vmlld19TbWFydF9DbGFzcyBmdW5jdGlvbnMuCisgICAgYXBpLT5pbml0aWFsaXplID0gX2V3a192
aWV3X2luaXRpYWxpemU7CiAgICAgYXBpLT5mb2N1c19pbiA9IF9ld2tfdmlld19zbWFydF9mb2N1
c19pbjsKICAgICBhcGktPmZvY3VzX291dCA9IF9ld2tfdmlld19zbWFydF9mb2N1c19vdXQ7CiAg
ICAgYXBpLT5tb3VzZV93aGVlbCA9IF9ld2tfdmlld19zbWFydF9tb3VzZV93aGVlbDsKQEAgLTQ4
NCwzNyArNTExLDEzIEBAIHN0YXRpYyBpbmxpbmUgRXZhc19TbWFydCogX2V3a192aWV3X3NtYXJ0
X2NsYXNzX25ldyh2b2lkKQogICAgIHN0YXRpYyBFdmFzX1NtYXJ0KiBzbWFydCA9IDA7CiAKICAg
ICBpZiAoRUlOQV9VTkxJS0VMWSghc21hcnQpKSB7Ci0gICAgICAgIGV3a192aWV3X3NtYXJ0X2Ns
YXNzX2luaXQoJmFwaSk7CisgICAgICAgIGV3a192aWV3X3NtYXJ0X2NsYXNzX3NldCgmYXBpKTsK
ICAgICAgICAgc21hcnQgPSBldmFzX3NtYXJ0X2NsYXNzX25ldygmYXBpLnNjKTsKICAgICB9CiAK
ICAgICByZXR1cm4gc21hcnQ7CiB9CiAKLXN0YXRpYyBFaW5hX0Jvb2wgX2V3a192aWV3X2luaXRp
YWxpemUoRXdrX1ZpZXdfU21hcnRfRGF0YSogc21hcnREYXRhLCBFd2tfQ29udGV4dCogY29udGV4
dCwgRXdrX1ZpZXdfR3JvdXAqIGdyb3VwKQotewotICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVU
VVJOX1ZBTChzbWFydERhdGEsIGZhbHNlKTsKLSAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRV
Uk4oc21hcnREYXRhLCBwcml2LCBmYWxzZSk7Ci0gICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRV
Uk5fVkFMKGNvbnRleHQsIGZhbHNlKTsKLQotICAgIFdLQ29udGV4dFJlZiBjb250ZXh0UmVmID0g
ZXdrX2NvbnRleHRfV0tDb250ZXh0X2dldChjb250ZXh0KTsKLSAgICBXS1BhZ2VHcm91cFJlZiBw
YWdlR3JvdXBSZWYgPSAwOwotICAgIGlmIChncm91cCkgewotICAgICAgICBwYWdlR3JvdXBSZWYg
PSBld2tfdmlld19ncm91cF9XS1BhZ2VHcm91cF9nZXQoZ3JvdXApOwotICAgICAgICBwcml2LT5n
cm91cCA9IGdyb3VwOwotICAgICAgICBld2tfdmlld19ncm91cF9yZWYoZ3JvdXApOwotICAgIH0K
LQotICAgIHByaXYtPnBhZ2VDbGllbnQgPSBQYWdlQ2xpZW50SW1wbDo6Y3JlYXRlKHRvSW1wbChj
b250ZXh0UmVmKSwgdG9JbXBsKHBhZ2VHcm91cFJlZiksIHNtYXJ0RGF0YS0+c2VsZik7Ci0gICAg
ZXdrX3ZpZXdfbG9hZGVyX2NsaWVudF9hdHRhY2godG9BUEkocHJpdi0+cGFnZUNsaWVudC0+cGFn
ZSgpKSwgc21hcnREYXRhLT5zZWxmKTsKLSAgICBld2tfdmlld19wb2xpY3lfY2xpZW50X2F0dGFj
aCh0b0FQSShwcml2LT5wYWdlQ2xpZW50LT5wYWdlKCkpLCBzbWFydERhdGEtPnNlbGYpOwotICAg
IGV3a192aWV3X3Jlc291cmNlX2xvYWRfY2xpZW50X2F0dGFjaCh0b0FQSShwcml2LT5wYWdlQ2xp
ZW50LT5wYWdlKCkpLCBzbWFydERhdGEtPnNlbGYpOwotICAgIGlmICghcHJpdi0+Z3JvdXApCi0g
ICAgICAgIHByaXYtPmdyb3VwID0gZXdrX3ZpZXdfZ3JvdXBfbmV3X3dpdGhfV0tQYWdlR3JvdXAo
V0tQYWdlR2V0UGFnZUdyb3VwKHRvQVBJKHByaXYtPnBhZ2VDbGllbnQtPnBhZ2UoKSkpKTsKLQot
ICAgIHJldHVybiB0cnVlOwotfQotCiAvKioKICAqIEBpbnRlcm5hbAogICogQ29uc3RydWN0cyBh
IGV3a192aWV3IEV2YXNfT2JqZWN0IHdpdGggV0tUeXBlIHBhcmFtZXRlcnMuCkBAIC01NDksOSAr
NTUyLDkgQEAgRXZhc19PYmplY3QqIGV3a192aWV3X2Jhc2VfYWRkKEV2YXMqIGNhbnZhcywgRXdr
X0NvbnRleHQqIGNvbnRleHQsIEV3a19WaWV3X0dyb3UKICAgICAgICAgcmV0dXJuIDA7CiAgICAg
fQogCi0gICAgX2V3a192aWV3X2luaXRpYWxpemUoc21hcnREYXRhLCBjb250ZXh0LCBncm91cCk7
Ci0KLSAgICBld2tfdmlld190aGVtZV9zZXQoZXdrVmlldywgREVGQVVMVF9USEVNRV9QQVRIIi9k
ZWZhdWx0LmVkaiIpOworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChzbWFydERh
dGEtPmFwaSwgZXdrVmlldyk7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHNt
YXJ0RGF0YS0+YXBpLT5pbml0aWFsaXplLCBld2tWaWV3KTsKKyAgICBzbWFydERhdGEtPmFwaS0+
aW5pdGlhbGl6ZShzbWFydERhdGEsIGNvbnRleHQsIGdyb3VwKTsKIAogICAgIHJldHVybiBld2tW
aWV3OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdr
X3ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKaW5k
ZXggMTVkOTcxMC4uNWRmZWI0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfdmlldy5oCkBAIC03NSw2ICs3NSw3IEBAIHN0cnVjdCBfRXdrX1ZpZXdfU21hcnRfQ2xh
c3MgewogICAgIC8vIGV2ZW50IGhhbmRsaW5nOgogICAgIC8vICAtIHJldHVybnMgdHJ1ZSBpZiBo
YW5kbGVkCiAgICAgLy8gIC0gaWYgb3ZlcnJpZGRlbiwgaGF2ZSB0byBjYWxsIHBhcmVudCBtZXRo
b2QgaWYgZGVzaXJlZAorICAgIEVpbmFfQm9vbCAoKmluaXRpYWxpemUpKEV3a19WaWV3X1NtYXJ0
X0RhdGEgKnNkLCBFd2tfQ29udGV4dCAqY29udGV4dCwgRXdrX1ZpZXdfR3JvdXAgKmdyb3VwKTsK
ICAgICBFaW5hX0Jvb2wgKCpmb2N1c19pbikoRXdrX1ZpZXdfU21hcnRfRGF0YSAqc2QpOwogICAg
IEVpbmFfQm9vbCAoKmZvY3VzX291dCkoRXdrX1ZpZXdfU21hcnRfRGF0YSAqc2QpOwogICAgIEVp
bmFfQm9vbCAoKm1vdXNlX3doZWVsKShFd2tfVmlld19TbWFydF9EYXRhICpzZCwgY29uc3QgRXZh
c19FdmVudF9Nb3VzZV9XaGVlbCAqZXYpOwpAQCAtMTAxLDcgKzEwMiw3IEBAIHN0cnVjdCBfRXdr
X1ZpZXdfU21hcnRfQ2xhc3MgewogICogQHNlZSBFV0tfVklFV19TTUFSVF9DTEFTU19JTklUX1ZF
UlNJT04KICAqIEBzZWUgRVdLX1ZJRVdfU01BUlRfQ0xBU1NfSU5JVF9OQU1FX1ZFUlNJT04KICAq
LwotI2RlZmluZSBFV0tfVklFV19TTUFSVF9DTEFTU19JTklUKHNtYXJ0X2NsYXNzX2luaXQpIHtz
bWFydF9jbGFzc19pbml0LCBFV0tfVklFV19TTUFSVF9DTEFTU19WRVJTSU9OLCAwLCAwLCAwLCAw
LCAwLCAwLCAwLCAwfQorI2RlZmluZSBFV0tfVklFV19TTUFSVF9DTEFTU19JTklUKHNtYXJ0X2Ns
YXNzX2luaXQpIHtzbWFydF9jbGFzc19pbml0LCBFV0tfVklFV19TTUFSVF9DTEFTU19WRVJTSU9O
LCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwLCAwfQogCiAvKioKICAqIEluaXRpYWxpemVyIHRvIHpl
cm8gYSB3aG9sZSBFd2tfVmlld19TbWFydF9DbGFzcyBzdHJ1Y3R1cmUuCkBAIC0xOTAsNiArMTkx
LDIzIEBAIHN0cnVjdCBfRXdrX1dlYl9SZXNvdXJjZV9Mb2FkX0Vycm9yIHsKIH07CiAKIC8qKgor
ICogU2V0cyB0aGUgc21hcnQgY2xhc3MgQVBJcywgZW5hYmxpbmcgdmlldyB0byBiZSBpbmhlcml0
ZWQuCisgKgorICogQHBhcmFtIGFwaSBjbGFzcyBkZWZpbml0aW9uIHRvIHNldCwgYWxsIG1lbWJl
cnMgd2l0aCB0aGUKKyAqICAgICAgICBleGNlcHRpb24gb2YgQGEgRXZhc19TbWFydF9DbGFzcy0+
ZGF0YSBtYXkgYmUgb3ZlcnJpZGRlbiwgbXVzdAorICogICAgICAgIEBiIG5vdCBiZSBAYyBOVUxM
CisgKgorICogQG5vdGUgQGEgRXZhc19TbWFydF9DbGFzcy0+ZGF0YSBpcyB1c2VkIHRvIGltcGxl
bWVudCB0eXBlIGNoZWNraW5nIGFuZAorICogICAgICAgaXMgbm90IHN1cHBvc2VkIHRvIGJlIGNo
YW5nZWQvb3ZlcnJpZGRlbi4gSWYgeW91IG5lZWQgZXh0cmEKKyAqICAgICAgIGRhdGEgZm9yIHlv
dXIgc21hcnQgY2xhc3MgdG8gd29yaywganVzdCBleHRlbmQKKyAqICAgICAgIEV3a19WaWV3X1Nt
YXJ0X0NsYXNzIGluc3RlYWQuCisgKgorICogQHJldHVybiBAYyBFSU5BX1RSVUUgb24gc3VjY2Vz
cyBvciBAYyBFSU5BX0ZBTFNFIG9uIGZhaWx1cmUgKHByb2JhYmx5CisgKiAgICAgICAgIHZlcnNp
b24gbWlzbWF0Y2gpCisgKi8KK0VBUEkgRWluYV9Cb29sIGV3a192aWV3X3NtYXJ0X2NsYXNzX3Nl
dChFd2tfVmlld19TbWFydF9DbGFzcyAqYXBpKTsKKworLyoqCiAgKiBDcmVhdGVzIGEgbmV3IEVG
TCBXZWJLaXQgdmlldyBvYmplY3QuCiAgKgogICogQHBhcmFtIGUgY2FudmFzIG9iamVjdCB3aGVy
ZSB0byBjcmVhdGUgdGhlIHZpZXcgb2JqZWN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154873</attachid>
            <date>2012-07-27 01:13:41 -0700</date>
            <delta_ts>2012-08-05 05:53:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90054-20120727171329.patch</filename>
            <type>text/plain</type>
            <size>20282</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzODQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNTY5ZGQ3NWRiY2ExNThm
MTc3MWRmYWQwMDhhNWJmYTU4Yjk4N2UxNS4uYTVmY2I3ZjlmYjc2ZmQ4ZGE3NTYzMDFiOTU3OWFh
NjUyMTdlZjUwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTA3LTI3ICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIE1h
a2UgZXdrX3ZpZXcgaW5oZXJpdGFibGUgaW4gdGhlIFdlYktpdDIuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDA1NAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgdGhlIGV3a192aWV3IGluaGVyaXRh
YmxlIGJ5IGV4cG9zaW5nIGV3a192aWV3X3NtYXJ0X2NsYXNzX3NldCgpLgorICAgICAgICBUaGUg
ZXdrX3ZpZXdfc21hcnRfY2xhc3Nfc2V0KCkgQVBJIGdldHMgRXdrX1ZpZXdfU21hcnRfQ2xhc3Nf
RGF0YSBhcworICAgICAgICBhIHNlY29uZCBwYXJhbWV0ZXIsIHNvIHRoZSBvYmplY3Qgd2hpY2gg
d2FudHMgdG8gaW5oZXJpdCB0aGUgZXdrX3ZpZXcKKyAgICAgICAgc2hvdWxkIGNyZWF0ZSBFd2tf
Vmlld19TbWFydF9DbGFzc19EYXRhIHVzaW5nIGV3a192aWV3X3NtYXJ0X2NsYXNzX2RhdGFfbmV3
KCkKKyAgICAgICAgYW5kIHNldCB0byB0aGUgZXdrX3ZpZXdfc21hcnRfY2xhc3Nfc2V0KCkuCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvZWZsL1dLVmlldy5jcHA6CisgICAgICAgIChXS1Zp
ZXdDcmVhdGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNwcDoK
KyAgICAgICAgKGV3a19jb250ZXh0X25ld193aXRoX1dLQ29udGV4dCk6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfcHJpdmF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZWZsL2V3a192aWV3LmNwcDoKKyAgICAgICAgKF9Fd2tfVmlld19TbWFydF9DbGFzc19E
YXRhKToKKyAgICAgICAgKF9Fd2tfVmlld19TbWFydF9DbGFzc19EYXRhOjpfRXdrX1ZpZXdfU21h
cnRfQ2xhc3NfRGF0YSk6CisgICAgICAgIChfZXdrX3ZpZXdfY2xpZW50c19hdHRhY2gpOgorICAg
ICAgICAoX2V3a192aWV3X2luaXRpYWxpemUpOgorICAgICAgICAoX2V3a192aWV3X3NtYXJ0X2Fk
ZCk6CisgICAgICAgIChld2tfdmlld19zbWFydF9jbGFzc19zZXQpOgorICAgICAgICAoZXdrX3Zp
ZXdfc21hcnRfY2xhc3NfZGF0YV9uZXcpOgorICAgICAgICAoX2V3a192aWV3X3NtYXJ0X2NsYXNz
X25ldyk6CisgICAgICAgIChld2tfdmlld19iYXNlX2FkZCk6CisgICAgICAgIChld2tfdmlld19h
ZGRfd2l0aF9jb250ZXh0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3X3ByaXZhdGUuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvZWZsL1dlYkluc3BlY3RvclByb3h5RWZsLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQ3JlYXRlSW5zcGVjdG9yUGFnZSk6CisK
IDIwMTItMDctMjYgIFplbm8gQWxiaXNzZXIgIDx6ZW5vQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
VW5yZXZpZXdlZCBRdCBidWlsZGZpeCBhZnRlciByMTIzNzg2LgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuY3BwCmluZGV4IDAzZjY5MzBkZDFmYmE1ZGVkNjA3
MzJiZDViOTk0NGRhM2QwZTM5ZjMuLmFhMzk1NDAyMDM3NjE1ZGI4OGU3YTM3ZjdiNmE4OWFhMjY5
ZmUwNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9lZmwvV0tW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dLVmlldy5j
cHAKQEAgLTIxLDEzICsyMSwxNCBAQAogI2luY2x1ZGUgIldLVmlldy5oIgogCiAjaW5jbHVkZSAi
V0tBUElDYXN0LmgiCisjaW5jbHVkZSAiZXdrX2NvbnRleHRfcHJpdmF0ZS5oIgogI2luY2x1ZGUg
ImV3a192aWV3X3ByaXZhdGUuaCIKIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogV0tWaWV3
UmVmIFdLVmlld0NyZWF0ZShFdmFzKiBjYW52YXMsIFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBX
S1BhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYpCiB7Ci0gICAgcmV0dXJuIHRvQVBJKGV3a192aWV3
X2Jhc2VfYWRkKGNhbnZhcywgY29udGV4dFJlZiwgcGFnZUdyb3VwUmVmKSk7CisgICAgcmV0dXJu
IHRvQVBJKGV3a192aWV3X2Jhc2VfYWRkKGNhbnZhcywgZXdrX2NvbnRleHRfbmV3X3dpdGhfV0tD
b250ZXh0KGNvbnRleHRSZWYpLCBwYWdlR3JvdXBSZWYpKTsKIH0KIAogV0tQYWdlUmVmIFdLVmll
d0dldFBhZ2UoV0tWaWV3UmVmIHZpZXdSZWYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAKaW5kZXggYzJmOTI0NzJlMGE2OGY1MzQ4ZjNjODEw
OGNkNDBmY2Y3YzY3MDRmYS4uNDU1YjVmN2MyY2FhY2M2MTMxY2U1ZWQyMzhiYTQ1ZDMzOTZiOTdj
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0
LmNwcApAQCAtMTM2LDYgKzEzNiwxNyBAQCB2b2lkIGV3a19jb250ZXh0X3VybF9zY2hlbWVfcmVx
dWVzdF9yZWNlaXZlZChFd2tfQ29udGV4dCogZXdrQ29udGV4dCwgRXdrX1VybF9TYwogICAgIGhh
bmRsZXIuY2FsbGJhY2soc2NoZW1lUmVxdWVzdCwgaGFuZGxlci51c2VyRGF0YSk7CiB9CiAKKy8q
KgorICogQGludGVybmFsCisgKiBDcmVhdGUgRXdrX0NvbnRleHQgd2l0aCBXS0NvbnRleHQuCisg
Ki8KK0V3a19Db250ZXh0KiBld2tfY29udGV4dF9uZXdfd2l0aF9XS0NvbnRleHQoV0tDb250ZXh0
UmVmIGNvbnRleHRSZWYpCit7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKGNv
bnRleHRSZWYsIDApOworCisgICAgcmV0dXJuIG5ldyBFd2tfQ29udGV4dChjb250ZXh0UmVmKTsK
K30KKwogc3RhdGljIGlubGluZSBFd2tfQ29udGV4dCogY3JlYXRlRGVmYXVsdEV3a0NvbnRleHQo
KQogewogICAgIHJldHVybiBuZXcgRXdrX0NvbnRleHQoV0tDb250ZXh0R2V0U2hhcmVkUHJvY2Vz
c0NvbnRleHQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfY29udGV4dF9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfY29udGV4dF9wcml2YXRlLmgKaW5kZXggZDc4ZTFlOTYxZDJiOWJlOTI1ZjFlYWY3OGNk
NTgwNjRmYzEzOWNlNi4uNTU4OTBkYjFjODQ3ODVkOTUzM2I2YzdhMGE2MzczMDNiMGQxMjUzOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRf
cHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250
ZXh0X3ByaXZhdGUuaApAQCAtMjYsNiArMjYsNyBAQCB0eXBlZGVmIHN0cnVjdCBfRXdrX0NvbnRl
eHQgRXdrX0NvbnRleHQ7CiB0eXBlZGVmIHN0cnVjdCBfRXdrX1VybF9TY2hlbWVfUmVxdWVzdCBF
d2tfVXJsX1NjaGVtZV9SZXF1ZXN0OwogCiBXS0NvbnRleHRSZWYgZXdrX2NvbnRleHRfV0tDb250
ZXh0X2dldChjb25zdCBFd2tfQ29udGV4dCopOworRXdrX0NvbnRleHQqIGV3a19jb250ZXh0X25l
d193aXRoX1dLQ29udGV4dChXS0NvbnRleHRSZWYpOwogV0tTb3VwUmVxdWVzdE1hbmFnZXJSZWYg
ZXdrX2NvbnRleHRfcmVxdWVzdF9tYW5hZ2VyX2dldChjb25zdCBFd2tfQ29udGV4dCopOwogdm9p
ZCBld2tfY29udGV4dF91cmxfc2NoZW1lX3JlcXVlc3RfcmVjZWl2ZWQoRXdrX0NvbnRleHQqLCBF
d2tfVXJsX1NjaGVtZV9SZXF1ZXN0Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a192aWV3LmNwcAppbmRleCBiNjcxZDc2Mjc2OWE5NDAxNjk3MWY5OWNmOWQxYjRl
OTdjMDliNGViLi4wNjI1NjI1MWE3MmFmY2Q1YjhiOGM0YmUzN2U1Y2UxNTAxMDE2OWM4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCkBAIC01NCw2
ICs1NCwxOCBAQCBzdGF0aWMgY29uc3QgaW50IGRlZmF1bHRDdXJzb3JTaXplID0gMTY7CiB0eXBl
ZGVmIEhhc2hNYXA8dWludDY0X3QsIEV3a19XZWJfUmVzb3VyY2UqPiBMb2FkaW5nUmVzb3VyY2Vz
TWFwOwogc3RhdGljIHZvaWQgX2V3a192aWV3X3ByaXZfbG9hZGluZ19yZXNvdXJjZXNfY2xlYXIo
TG9hZGluZ1Jlc291cmNlc01hcCYgbG9hZGluZ1Jlc291cmNlc01hcCk7CiAKK3N0cnVjdCBfRXdr
X1ZpZXdfU21hcnRfQ2xhc3NfRGF0YSB7CisgICAgY29uc3QgY2hhciogdHlwZTsgLy8gSXQgaXMg
dXNlZCBieSB0eXBlIGNoZWNraW5nLgorICAgIEV3a19Db250ZXh0KiBjb250ZXh0OworICAgIFdL
UmV0YWluUHRyPFdLUGFnZUdyb3VwUmVmPiBwYWdlR3JvdXA7CisKKyAgICBfRXdrX1ZpZXdfU21h
cnRfQ2xhc3NfRGF0YShFd2tfQ29udGV4dCogZXdrQ29udGV4dCwgV0tQYWdlR3JvdXBSZWYgcGFn
ZUdyb3VwUmVmKQorICAgICAgICA6IHR5cGUoRVdLX1ZJRVdfVFlQRV9TVFIpCisgICAgICAgICwg
Y29udGV4dChld2tDb250ZXh0KQorICAgICAgICAsIHBhZ2VHcm91cChwYWdlR3JvdXBSZWYpCisg
ICAgeyB9Cit9OworCiBzdHJ1Y3QgX0V3a19WaWV3X1ByaXZhdGVfRGF0YSB7CiAgICAgT3duUHRy
PFBhZ2VDbGllbnRJbXBsPiBwYWdlQ2xpZW50OwogICAgIGNvbnN0IGNoYXIqIHVyaTsKQEAgLTkz
LDMxICsxMDUsMzIgQEAgc3RydWN0IF9Fd2tfVmlld19Qcml2YXRlX0RhdGEgewogICAgIH0KIH07
CiAKLSNkZWZpbmUgRVdLX1ZJRVdfVFlQRV9DSEVDSyhld2tWaWV3LCByZXN1bHQpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgYm9vbCByZXN1bHQgPSB0cnVlOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAg
IGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgY29uc3QgY2hhciogX3RtcF9vdHlwZSA9IGV2
YXNfb2JqZWN0X3R5cGVfZ2V0KGV3a1ZpZXcpOyAgICAgICAgICAgICAgICBcCi0gICAgICAgIGNv
bnN0IEV2YXNfU21hcnQqIF90bXBfcyA9IGV2YXNfb2JqZWN0X3NtYXJ0X3NtYXJ0X2dldChld2tW
aWV3KTsgICAgICAgXAotICAgICAgICBpZiAoRUlOQV9VTkxJS0VMWSghX3RtcF9zKSkgeyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgIEVJTkFf
TE9HX0NSSVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCi0gICAgICAgICAgICAgICAgKCIlcCAoJXMpIGlzIG5vdCBhIHNtYXJ0IG9iamVjdCEi
LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICBld2tWaWV3
LCBfdG1wX290eXBlID8gX3RtcF9vdHlwZSA6ICIobnVsbCkiKTsgICAgICAgICAgICAgICAgIFwK
LSAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg
ICBjb25zdCBFdmFzX1NtYXJ0X0NsYXNzKiBfdG1wX3NjID0gZXZhc19zbWFydF9jbGFzc19nZXQo
X3RtcF9zKTsgICAgICAgIFwKLSAgICAgICAgaWYgKEVJTkFfVU5MSUtFTFkoIV90bXBfc2MpKSB7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICBF
SU5BX0xPR19DUklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAotICAgICAgICAgICAgICAgICgiJXAgKCVzKSBpcyBub3QgYSBzbWFydCBvYmpl
Y3QhIiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgZXdr
VmlldywgX3RtcF9vdHlwZSA/IF90bXBfb3R5cGUgOiAiKG51bGwpIik7ICAgICAgICAgICAgICAg
ICBcCi0gICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICB9ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAg
ICAgICAgaWYgKEVJTkFfVU5MSUtFTFkoX3RtcF9zYy0+ZGF0YSAhPSBFV0tfVklFV19UWVBFX1NU
UikpIHsgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICBFSU5BX0xPR19DUklUICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAg
ICAgICAgICgiJXAgKCVzKSBpcyBub3Qgb2YgYW4gZXdrX3ZpZXcgKG5lZWQgJXAsIGdvdCAlcCkh
IiwgICAgICAgICAgIFwKLSAgICAgICAgICAgICAgICAgZXdrVmlldywgX3RtcF9vdHlwZSA/IF90
bXBfb3R5cGUgOiAiKG51bGwpIiwgICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgICAg
IEVXS19WSUVXX1RZUEVfU1RSLCBfdG1wX3NjLT5kYXRhKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAotICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICAgfSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisjZGVmaW5lIEVXS19WSUVXX1RZUEVfQ0hFQ0soZXdrVmlldywgcmVzdWx0KSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgYm9vbCByZXN1bHQgPSB0cnVlOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICAgIGNvbnN0IGNoYXIqIF90bXBfb3R5cGUgPSBldmFz
X29iamVjdF90eXBlX2dldChld2tWaWV3KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGNvbnN0IEV2YXNfU21hcnQqIF90bXBf
cyA9IGV2YXNfb2JqZWN0X3NtYXJ0X3NtYXJ0X2dldChld2tWaWV3KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGlmIChFSU5BX1VOTElLRUxZ
KCFfdG1wX3MpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBFSU5BX0xP
R19DUklUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAg
ICAgKCIlcCAoJXMpIGlzIG5vdCBhIHNtYXJ0IG9iamVjdCEiLCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAg
ICAgICAgICAgIGV3a1ZpZXcsIF90bXBfb3R5cGUgPyBfdG1wX290eXBlIDogIihudWxsKSIpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg
ICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBcCisgICAgICAgIGNvbnN0IEV2YXNfU21hcnRfQ2xhc3MqIF90bXBfc2MgPSBldmFz
X3NtYXJ0X2NsYXNzX2dldChfdG1wX3MpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgICAgIGlmIChFSU5BX1VOTElLRUxZKCFfdG1wX3NjKSkgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICBFSU5BX0xPR19DUklUICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgKCIlcCAoJXMpIGlz
IG5vdCBhIHNtYXJ0IG9iamVjdCEiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgIGV3a1Zp
ZXcsIF90bXBfb3R5cGUgPyBfdG1wX290eXBlIDogIihudWxsKSIpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICByZXN1
bHQgPSBmYWxzZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIH0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
ICAgIEV3a19WaWV3X1NtYXJ0X0NsYXNzX0RhdGEqIGRhdGEgPSByZWludGVycHJldF9jYXN0PEV3
a19WaWV3X1NtYXJ0X0NsYXNzX0RhdGEqPihldmFzX3NtYXJ0X2RhdGFfZ2V0KF90bXBfcykpOyBc
CisgICAgICAgIGlmIChFSU5BX1VOTElLRUxZKGRhdGEtPnR5cGUgIT0gRVdLX1ZJRVdfVFlQRV9T
VFIpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgICAgICAgICBFSU5BX0xPR19DUklUICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgKCIlcCAoJXMpIGlzIG5vdCBvZiBhbiBld2tf
dmlldyAobmVlZCAlcCwgZ290ICVwKSEiLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgIGV3a1ZpZXcsIF90bXBfb3R5cGUg
PyBfdG1wX290eXBlIDogIihudWxsKSIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgIEVXS19WSUVXX1RZUEVf
U1RSLCBkYXRhLT50eXBlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICByZXN1bHQgPSBmYWxz
ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIH0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgfSB3aGlsZSAo
MCkKIAogI2RlZmluZSBFV0tfVklFV19TRF9HRVQoZXdrVmlldywgc21hcnREYXRhKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTMzMCwxMSArMzQzLDM3IEBAIHN0YXRp
YyB2b2lkIF9ld2tfdmlld19wcml2X2RlbChFd2tfVmlld19Qcml2YXRlX0RhdGEqIHByaXYpCiAg
ICAgZGVsZXRlIHByaXY7CiB9CiAKK3N0YXRpYyB2b2lkIF9ld2tfdmlld19jbGllbnRzX2F0dGFj
aChFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEpCit7CisgICAgRUlOQV9TQUZFVFlfT05f
TlVMTF9SRVRVUk4oc21hcnREYXRhKTsKKyAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4o
c21hcnREYXRhLCBwcml2KTsKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTihwcml2LT5w
YWdlQ2xpZW50KTsKKworICAgIGV3a192aWV3X2Zvcm1fY2xpZW50X2F0dGFjaCh0b0FQSShwcml2
LT5wYWdlQ2xpZW50LT5wYWdlKCkpLCBzbWFydERhdGEtPnNlbGYpOworICAgIGV3a192aWV3X2xv
YWRlcl9jbGllbnRfYXR0YWNoKHRvQVBJKHByaXYtPnBhZ2VDbGllbnQtPnBhZ2UoKSksIHNtYXJ0
RGF0YS0+c2VsZik7CisgICAgZXdrX3ZpZXdfcG9saWN5X2NsaWVudF9hdHRhY2godG9BUEkocHJp
di0+cGFnZUNsaWVudC0+cGFnZSgpKSwgc21hcnREYXRhLT5zZWxmKTsKKyAgICBld2tfdmlld19y
ZXNvdXJjZV9sb2FkX2NsaWVudF9hdHRhY2godG9BUEkocHJpdi0+cGFnZUNsaWVudC0+cGFnZSgp
KSwgc21hcnREYXRhLT5zZWxmKTsKK30KKworc3RhdGljIEVpbmFfQm9vbCBfZXdrX3ZpZXdfaW5p
dGlhbGl6ZShFd2tfVmlld19TbWFydF9EYXRhKiBzbWFydERhdGEsIEV3a19Db250ZXh0KiBjb250
ZXh0LCBXS1BhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYpCit7CisgICAgRUlOQV9TQUZFVFlfT05f
TlVMTF9SRVRVUk5fVkFMKHNtYXJ0RGF0YSwgZmFsc2UpOworICAgIEVXS19WSUVXX1BSSVZfR0VU
X09SX1JFVFVSTihzbWFydERhdGEsIHByaXYsIGZhbHNlKTsKKyAgICBFSU5BX1NBRkVUWV9PTl9O
VUxMX1JFVFVSTl9WQUwoY29udGV4dCwgZmFsc2UpOworCisgICAgcHJpdi0+cGFnZUNsaWVudCA9
IFBhZ2VDbGllbnRJbXBsOjpjcmVhdGUodG9JbXBsKGV3a19jb250ZXh0X1dLQ29udGV4dF9nZXQo
Y29udGV4dCkpLCB0b0ltcGwocGFnZUdyb3VwUmVmKSwgc21hcnREYXRhLT5zZWxmKTsKKyAgICBl
d2tfdmlld190aGVtZV9zZXQoc21hcnREYXRhLT5zZWxmLCBERUZBVUxUX1RIRU1FX1BBVEgiL2Rl
ZmF1bHQuZWRqIik7CisgICAgX2V3a192aWV3X2NsaWVudHNfYXR0YWNoKHNtYXJ0RGF0YSk7CisK
KyAgICByZXR1cm4gdHJ1ZTsKK30KKwogc3RhdGljIHZvaWQgX2V3a192aWV3X3NtYXJ0X2FkZChF
dmFzX09iamVjdCogZXdrVmlldykKIHsKICAgICBjb25zdCBFdmFzX1NtYXJ0KiBzbWFydCA9IGV2
YXNfb2JqZWN0X3NtYXJ0X3NtYXJ0X2dldChld2tWaWV3KTsKICAgICBjb25zdCBFdmFzX1NtYXJ0
X0NsYXNzKiBzbWFydENsYXNzID0gZXZhc19zbWFydF9jbGFzc19nZXQoc21hcnQpOwogICAgIGNv
bnN0IEV3a19WaWV3X1NtYXJ0X0NsYXNzKiBhcGkgPSByZWludGVycHJldF9jYXN0PGNvbnN0IEV3
a19WaWV3X1NtYXJ0X0NsYXNzKj4oc21hcnRDbGFzcyk7CisgICAgRXdrX1ZpZXdfU21hcnRfQ2xh
c3NfRGF0YSogZGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8RXdrX1ZpZXdfU21hcnRfQ2xhc3NfRGF0
YSo+KGV2YXNfc21hcnRfZGF0YV9nZXQoc21hcnQpKTsKICAgICBFV0tfVklFV19TRF9HRVQoZXdr
Vmlldywgc21hcnREYXRhKTsKIAogICAgIGlmICghc21hcnREYXRhKSB7CkBAIC0zNzYsNiArNDE1
LDggQEAgc3RhdGljIHZvaWQgX2V3a192aWV3X3NtYXJ0X2FkZChFdmFzX09iamVjdCogZXdrVmll
dykKICAgICBDT05ORUNUKEVWQVNfQ0FMTEJBQ0tfS0VZX0RPV04sIF9ld2tfdmlld19vbl9rZXlf
ZG93bik7CiAgICAgQ09OTkVDVChFVkFTX0NBTExCQUNLX0tFWV9VUCwgX2V3a192aWV3X29uX2tl
eV91cCk7CiAjdW5kZWYgQ09OTkVDVAorCisgICAgX2V3a192aWV3X2luaXRpYWxpemUoc21hcnRE
YXRhLCBkYXRhLT5jb250ZXh0LCBkYXRhLT5wYWdlR3JvdXAuZ2V0KCkpOwogfQogCiBzdGF0aWMg
dm9pZCBfZXdrX3ZpZXdfc21hcnRfZGVsKEV2YXNfT2JqZWN0KiBld2tWaWV3KQpAQCAtMzg0LDYg
KzQyNSwxMSBAQCBzdGF0aWMgdm9pZCBfZXdrX3ZpZXdfc21hcnRfZGVsKEV2YXNfT2JqZWN0KiBl
d2tWaWV3KQogICAgIGlmIChzbWFydERhdGEgJiYgc21hcnREYXRhLT5wcml2KQogICAgICAgICBf
ZXdrX3ZpZXdfcHJpdl9kZWwoc21hcnREYXRhLT5wcml2KTsKIAorICAgIGNvbnN0IEV2YXNfU21h
cnQqIHNtYXJ0ID0gZXZhc19vYmplY3Rfc21hcnRfc21hcnRfZ2V0KGV3a1ZpZXcpOworICAgIEV3
a19WaWV3X1NtYXJ0X0NsYXNzX0RhdGEqIGRhdGEgPSByZWludGVycHJldF9jYXN0PEV3a19WaWV3
X1NtYXJ0X0NsYXNzX0RhdGEqPihldmFzX3NtYXJ0X2RhdGFfZ2V0KHNtYXJ0KSk7CisgICAgaWYg
KGRhdGEpCisgICAgICAgIGRlbGV0ZSBkYXRhOworCiAgICAgZ19wYXJlbnRTbWFydENsYXNzLmRl
bChld2tWaWV3KTsKIH0KIApAQCAtNDc3LDkgKzUyMywxMCBAQCBzdGF0aWMgdm9pZCBfZXdrX3Zp
ZXdfc21hcnRfY29sb3Jfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBpbnQgcmVkLCBpbnQgZ3Jl
ZW4sCiAgICAgZ19wYXJlbnRTbWFydENsYXNzLmNvbG9yX3NldChld2tWaWV3LCByZWQsIGdyZWVu
LCBibHVlLCBhbHBoYSk7CiB9CiAKLUVpbmFfQm9vbCBld2tfdmlld19zbWFydF9jbGFzc19pbml0
KEV3a19WaWV3X1NtYXJ0X0NsYXNzKiBhcGkpCitFaW5hX0Jvb2wgZXdrX3ZpZXdfc21hcnRfY2xh
c3Nfc2V0KEV3a19WaWV3X1NtYXJ0X0NsYXNzKiBhcGksIEV3a19WaWV3X1NtYXJ0X0NsYXNzX0Rh
dGEqIGRhdGEpCiB7CiAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKGFwaSwgZmFs
c2UpOworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChkYXRhLCBmYWxzZSk7CiAK
ICAgICBpZiAoYXBpLT52ZXJzaW9uICE9IEVXS19WSUVXX1NNQVJUX0NMQVNTX1ZFUlNJT04pIHsK
ICAgICAgICAgRUlOQV9MT0dfQ1JJVCgiRXdrX1ZpZXdfU21hcnRfQ2xhc3MgJXAgaXMgdmVyc2lv
biAlbHUgd2hpbGUgJWx1IHdhcyBleHBlY3RlZC4iLApAQCAtNTAxLDcgKzU0OCw3IEBAIEVpbmFf
Qm9vbCBld2tfdmlld19zbWFydF9jbGFzc19pbml0KEV3a19WaWV3X1NtYXJ0X0NsYXNzKiBhcGkp
CiAgICAgYXBpLT5zYy5oaWRlID0gX2V3a192aWV3X3NtYXJ0X2hpZGU7CiAgICAgYXBpLT5zYy5j
b2xvcl9zZXQgPSBfZXdrX3ZpZXdfc21hcnRfY29sb3Jfc2V0OwogICAgIGFwaS0+c2MuY2FsY3Vs
YXRlID0gX2V3a192aWV3X3NtYXJ0X2NhbGN1bGF0ZTsKLSAgICBhcGktPnNjLmRhdGEgPSBFV0tf
VklFV19UWVBFX1NUUjsgLy8gSXQgaXMgdXNlZCBieSB0eXBlIGNoZWNraW5nLgorICAgIGFwaS0+
c2MuZGF0YSA9IGRhdGE7CiAKICAgICAvLyBTZXQgRXdrX1ZpZXdfU21hcnRfQ2xhc3MgZnVuY3Rp
b25zLgogICAgIGFwaS0+Zm9jdXNfaW4gPSBfZXdrX3ZpZXdfc21hcnRfZm9jdXNfaW47CkBAIC01
MTYsMjIgKzU2MywyOSBAQCBFaW5hX0Jvb2wgZXdrX3ZpZXdfc21hcnRfY2xhc3NfaW5pdChFd2tf
Vmlld19TbWFydF9DbGFzcyogYXBpKQogICAgIHJldHVybiB0cnVlOwogfQogCi1zdGF0aWMgaW5s
aW5lIEV2YXNfU21hcnQqIF9ld2tfdmlld19zbWFydF9jbGFzc19uZXcodm9pZCkKK0V3a19WaWV3
X1NtYXJ0X0NsYXNzX0RhdGEqIGV3a192aWV3X3NtYXJ0X2NsYXNzX2RhdGFfbmV3KEV3a19Db250
ZXh0KiBjb250ZXh0KQoreworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChjb250
ZXh0LCAwKTsKKworICAgIHJldHVybiBuZXcgRXdrX1ZpZXdfU21hcnRfQ2xhc3NfRGF0YShjb250
ZXh0LCAwKTsKK30KKworc3RhdGljIGlubGluZSBFdmFzX1NtYXJ0KiBfZXdrX3ZpZXdfc21hcnRf
Y2xhc3NfbmV3KEV3a19WaWV3X1NtYXJ0X0NsYXNzX0RhdGEqIGRhdGEpCiB7CiAgICAgc3RhdGlj
IEV3a19WaWV3X1NtYXJ0X0NsYXNzIGFwaSA9IEVXS19WSUVXX1NNQVJUX0NMQVNTX0lOSVRfTkFN
RV9WRVJTSU9OKCJFd2tfVmlldyIpOwogICAgIHN0YXRpYyBFdmFzX1NtYXJ0KiBzbWFydCA9IDA7
CiAKICAgICBpZiAoRUlOQV9VTkxJS0VMWSghc21hcnQpKSB7Ci0gICAgICAgIGV3a192aWV3X3Nt
YXJ0X2NsYXNzX2luaXQoJmFwaSk7CisgICAgICAgIGV3a192aWV3X3NtYXJ0X2NsYXNzX3NldCgm
YXBpLCBkYXRhKTsKICAgICAgICAgc21hcnQgPSBldmFzX3NtYXJ0X2NsYXNzX25ldygmYXBpLnNj
KTsKICAgICB9CiAKICAgICByZXR1cm4gc21hcnQ7CiB9CiAKLUV2YXNfT2JqZWN0KiBld2tfdmll
d19iYXNlX2FkZChFdmFzKiBjYW52YXMsIFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBXS1BhZ2VH
cm91cFJlZiBwYWdlR3JvdXBSZWYpCitFdmFzX09iamVjdCogZXdrX3ZpZXdfYmFzZV9hZGQoRXZh
cyogY2FudmFzLCBFd2tfQ29udGV4dCogY29udGV4dCwgV0tQYWdlR3JvdXBSZWYgcGFnZUdyb3Vw
UmVmKQogewotICAgIEV2YXNfT2JqZWN0KiBld2tWaWV3ID0gZXZhc19vYmplY3Rfc21hcnRfYWRk
KGNhbnZhcywgX2V3a192aWV3X3NtYXJ0X2NsYXNzX25ldygpKTsKKyAgICBFdmFzX09iamVjdCog
ZXdrVmlldyA9IGV2YXNfb2JqZWN0X3NtYXJ0X2FkZChjYW52YXMsIF9ld2tfdmlld19zbWFydF9j
bGFzc19uZXcobmV3IEV3a19WaWV3X1NtYXJ0X0NsYXNzX0RhdGEoY29udGV4dCwgcGFnZUdyb3Vw
UmVmKSkpOwogICAgIGlmICghZXdrVmlldykKICAgICAgICAgcmV0dXJuIDA7CiAKQEAgLTU0Nywy
MCArNjAxLDEyIEBAIEV2YXNfT2JqZWN0KiBld2tfdmlld19iYXNlX2FkZChFdmFzKiBjYW52YXMs
IFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBXS1BhZ2VHcm91CiAgICAgICAgIHJldHVybiAwOwog
ICAgIH0KIAotICAgIHByaXYtPnBhZ2VDbGllbnQgPSBQYWdlQ2xpZW50SW1wbDo6Y3JlYXRlKHRv
SW1wbChjb250ZXh0UmVmKSwgdG9JbXBsKHBhZ2VHcm91cFJlZiksIGV3a1ZpZXcpOwotICAgIGV3
a192aWV3X2Zvcm1fY2xpZW50X2F0dGFjaCh0b0FQSShwcml2LT5wYWdlQ2xpZW50LT5wYWdlKCkp
LCBld2tWaWV3KTsKLSAgICBld2tfdmlld19sb2FkZXJfY2xpZW50X2F0dGFjaCh0b0FQSShwcml2
LT5wYWdlQ2xpZW50LT5wYWdlKCkpLCBld2tWaWV3KTsKLSAgICBld2tfdmlld19wb2xpY3lfY2xp
ZW50X2F0dGFjaCh0b0FQSShwcml2LT5wYWdlQ2xpZW50LT5wYWdlKCkpLCBld2tWaWV3KTsKLSAg
ICBld2tfdmlld19yZXNvdXJjZV9sb2FkX2NsaWVudF9hdHRhY2godG9BUEkocHJpdi0+cGFnZUNs
aWVudC0+cGFnZSgpKSwgZXdrVmlldyk7Ci0KLSAgICBld2tfdmlld190aGVtZV9zZXQoZXdrVmll
dywgREVGQVVMVF9USEVNRV9QQVRIIi9kZWZhdWx0LmVkaiIpOwotCiAgICAgcmV0dXJuIGV3a1Zp
ZXc7CiB9CiAKIEV2YXNfT2JqZWN0KiBld2tfdmlld19hZGRfd2l0aF9jb250ZXh0KEV2YXMqIGNh
bnZhcywgRXdrX0NvbnRleHQqIGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIGV3a192aWV3X2Jhc2Vf
YWRkKGNhbnZhcywgZXdrX2NvbnRleHRfV0tDb250ZXh0X2dldChjb250ZXh0KSwgMCk7CisgICAg
cmV0dXJuIGV3a192aWV3X2Jhc2VfYWRkKGNhbnZhcywgY29udGV4dCwgMCk7CiB9CiAKIEV2YXNf
T2JqZWN0KiBld2tfdmlld19hZGQoRXZhcyogY2FudmFzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKaW5kZXggYzQxMDRiZjliMjcwZGZjMjNjNjk3ZThjMzNl
NWZhYjVjNTY2ZjRlYi4uNzU3YzQ1MjhjYzYwYjI1MmJkYzA0ZGJiMTUwOTdkZWVlNDIwOWZkZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCkBAIC03NSw2
ICs3NSw3IEBAIGV4dGVybiAiQyIgewogCiB0eXBlZGVmIHN0cnVjdCBfRXdrX1ZpZXdfU21hcnRf
RGF0YSBFd2tfVmlld19TbWFydF9EYXRhOwogdHlwZWRlZiBzdHJ1Y3QgX0V3a19WaWV3X1NtYXJ0
X0NsYXNzIEV3a19WaWV3X1NtYXJ0X0NsYXNzOwordHlwZWRlZiBzdHJ1Y3QgX0V3a19WaWV3X1Nt
YXJ0X0NsYXNzX0RhdGEgRXdrX1ZpZXdfU21hcnRfQ2xhc3NfRGF0YTsKIAogLy8vIEV3ayB2aWV3
J3MgY2xhc3MsIHRvIGJlIG92ZXJyaWRkZW4gYnkgc3ViLWNsYXNzZXMuCiBzdHJ1Y3QgX0V3a19W
aWV3X1NtYXJ0X0NsYXNzIHsKQEAgLTE5OSw2ICsyMDAsMzYgQEAgc3RydWN0IF9Fd2tfV2ViX1Jl
c291cmNlX0xvYWRfRXJyb3IgewogfTsKIAogLyoqCisgKiBTZXRzIHRoZSBzbWFydCBjbGFzcyBB
UElzLCBlbmFibGluZyB2aWV3IHRvIGJlIGluaGVyaXRlZC4KKyAqCisgKiBAcGFyYW0gYXBpIGNs
YXNzIGRlZmluaXRpb24gdG8gc2V0LCBhbGwgbWVtYmVycyB3aXRoIHRoZQorICogICAgICAgIGV4
Y2VwdGlvbiBvZiBAYSBFdmFzX1NtYXJ0X0NsYXNzLT5kYXRhIG1heSBiZSBvdmVycmlkZGVuLCBt
dXN0CisgKiAgICAgICAgQGIgbm90IGJlIEBjIE5VTEwKKyAqIEBwYXJhbSBkYXRhIGRhdGEgdG8g
c2V0IHRvIEV2YXNfU21hcnRfQ2xhc3MtPmRhdGEgYW5kIGl0IGNvdWxkIGJlIGNyZWF0ZWQKKyAq
ICAgICAgICB3aXRoIGV3a192aWV3X3NtYXJ0X2NsYXNzX2RhdGFfbmV3IEFQSS4KKyAqCisgKiBA
bm90ZSBAYSBFdmFzX1NtYXJ0X0NsYXNzLT5kYXRhIGlzIHVzZWQgdG8gaW1wbGVtZW50IHR5cGUg
Y2hlY2tpbmcgYW5kCisgKiAgICAgICBzYXZlIGxvY2FsIGRhdGEuIEl0IGlzIG5vdCBzdXBwb3Nl
ZCB0byBiZSBjaGFuZ2VkL292ZXJyaWRkZW4uCisgKiAgICAgICBJZiB5b3UgbmVlZCBleHRyYSBk
YXRhIGZvciB5b3VyIHNtYXJ0IGNsYXNzIHRvIHdvcmssIGp1c3QgZXh0ZW5kCisgKiAgICAgICBF
d2tfVmlld19TbWFydF9DbGFzcyBpbnN0ZWFkLgorICoKKyAqIEByZXR1cm4gQGMgRUlOQV9UUlVF
IG9uIHN1Y2Nlc3Mgb3IgQGMgRUlOQV9GQUxTRSBvbiBmYWlsdXJlIChwcm9iYWJseQorICogICAg
ICAgICB2ZXJzaW9uIG1pc21hdGNoKQorICoKKyAqIEBzZWUgZXdrX3ZpZXdfc21hcnRfY2xhc3Nf
ZGF0YV9uZXcoKQorICovCitFQVBJIEVpbmFfQm9vbCBld2tfdmlld19zbWFydF9jbGFzc19zZXQo
RXdrX1ZpZXdfU21hcnRfQ2xhc3MgKmFwaSwgRXdrX1ZpZXdfU21hcnRfQ2xhc3NfRGF0YSogZGF0
YSk7CisKKy8qKgorICogQ3JlYXRlcyBhIG5ldyBFd2tfVmlld19TbWFydF9DbGFzc19EYXRhLgor
ICoKKyAqIEBwYXJhbSBjb250ZXh0IHRoZSBFd2tfQ29udGV4dCBvYmplY3Qgd2hpY2ggaXMgdXNl
ZCB0byBjcmVhdGUgdGhlIFdlYlBhZ2UuCisgKgorICogQHJldHVybiBkYXRhIG9uIHN1Y2Nlc3Mg
b3IgQGMgTlVMTCBvbiBmYWlsdXJlCisgKi8KK0V3a19WaWV3X1NtYXJ0X0NsYXNzX0RhdGEgKmV3
a192aWV3X3NtYXJ0X2NsYXNzX2RhdGFfbmV3KEV3a19Db250ZXh0ICpjb250ZXh0KTsKKworLyoq
CiAgKiBDcmVhdGVzIGEgbmV3IEVGTCBXZWJLaXQgdmlldyBvYmplY3QuCiAgKgogICogQHBhcmFt
IGUgY2FudmFzIG9iamVjdCB3aGVyZSB0byBjcmVhdGUgdGhlIHZpZXcgb2JqZWN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlld19wcml2YXRlLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlld19wcml2YXRlLmgKaW5k
ZXggNDMxMjdjZjZhZTgwNjYxOTY4M2I3N2E2OGVhMmVlN2E0M2RiMmYxMi4uMjE0YzFiYTU4YTU1
OTBiYThmY2UyMjQ1MWZlYzkyZGFjNWM1NzIxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXdfcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3X3ByaXZhdGUuaApAQCAtMjIsNiArMjIsNyBAQAog
I2RlZmluZSBld2tfdmlld19wcml2YXRlX2gKIAogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgor
I2luY2x1ZGUgImV3a19jb250ZXh0X3ByaXZhdGUuaCIKICNpbmNsdWRlIDxFdmFzLmg+CiAjaW5j
bHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KIApAQCAtNjMsNyArNjQsNyBAQCB2b2lkIGV3a192aWV3
X3Jlc291cmNlX2xvYWRfaW5pdGlhdGVkKEV2YXNfT2JqZWN0KiBld2tWaWV3LCB1aW50NjRfdCBy
ZXNvdXJjZUlkZQogdm9pZCBld2tfdmlld19yZXNvdXJjZV9sb2FkX3Jlc3BvbnNlKEV2YXNfT2Jq
ZWN0KiBld2tWaWV3LCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIEV3a19VcmxfUmVzcG9u
c2UqIHJlc3BvbnNlKTsKIHZvaWQgZXdrX3ZpZXdfcmVzb3VyY2VfcmVxdWVzdF9zZW50KEV2YXNf
T2JqZWN0KiBld2tWaWV3LCB1aW50NjRfdCByZXNvdXJjZUlkZW50aWZpZXIsIEV3a19VcmxfUmVx
dWVzdCogcmVxdWVzdCwgRXdrX1VybF9SZXNwb25zZSogcmVkaXJlY3RSZXNwb25zZSk7CiAKLUV2
YXNfT2JqZWN0KiBld2tfdmlld19iYXNlX2FkZChFdmFzKiBjYW52YXMsIFdLQ29udGV4dFJlZiwg
V0tQYWdlR3JvdXBSZWYpOworRXZhc19PYmplY3QqIGV3a192aWV3X2Jhc2VfYWRkKEV2YXMqIGNh
bnZhcywgRXdrX0NvbnRleHQqLCBXS1BhZ2VHcm91cFJlZik7CiAKICNpZiBFTkFCTEUoV0VCX0lO
VEVOVFMpCiB2b2lkIGV3a192aWV3X2ludGVudF9yZXF1ZXN0X25ldyhFdmFzX09iamVjdCogZXdr
VmlldywgY29uc3QgRXdrX0ludGVudCogZXdrSW50ZW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViSW5zcGVjdG9yUHJveHlFZmwuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2VmbC9XZWJJbnNwZWN0b3JQcm94eUVmbC5jcHAKaW5kZXggMmIxNTM3
ZTFiNDc2YmU3Yjk4NWJmY2MyOTdlZjQ0MmNiMTEyNWQ0Ni4uYTI1YjI0MmQyYmQ5ZDhmMDliODI4
NDA3OTc0ZWViNmI5M2U1MzU3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2VmbC9XZWJJbnNwZWN0b3JQcm94eUVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2VmbC9XZWJJbnNwZWN0b3JQcm94eUVmbC5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCisjaW5jbHVk
ZSAiZXdrX2NvbnRleHRfcHJpdmF0ZS5oIgogI2luY2x1ZGUgImV3a192aWV3X3ByaXZhdGUuaCIK
ICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+
CkBAIC00NSw3ICs0Niw3IEBAIFdlYlBhZ2VQcm94eSogV2ViSW5zcGVjdG9yUHJveHk6OnBsYXRm
b3JtQ3JlYXRlSW5zcGVjdG9yUGFnZSgpCiAgICAgaWYgKCFtX2luc3BlY3RvcldpbmRvdykKICAg
ICAgICAgcmV0dXJuIDA7CiAKLSAgICBtX2luc3BlY3RvclZpZXcgPSBld2tfdmlld19iYXNlX2Fk
ZChlY29yZV9ldmFzX2dldChtX2luc3BlY3RvcldpbmRvdyksIHRvQVBJKHBhZ2UoKS0+cHJvY2Vz
cygpLT5jb250ZXh0KCkpLCB0b0FQSShpbnNwZWN0b3JQYWdlR3JvdXAoKSkpOworICAgIG1faW5z
cGVjdG9yVmlldyA9IGV3a192aWV3X2Jhc2VfYWRkKGVjb3JlX2V2YXNfZ2V0KG1faW5zcGVjdG9y
V2luZG93KSwgZXdrX2NvbnRleHRfbmV3X3dpdGhfV0tDb250ZXh0KHRvQVBJKHBhZ2UoKS0+cHJv
Y2VzcygpLT5jb250ZXh0KCkpKSwgdG9BUEkoaW5zcGVjdG9yUGFnZUdyb3VwKCkpKTsKICAgICBy
ZXR1cm4gZXdrX3ZpZXdfcGFnZV9nZXQobV9pbnNwZWN0b3JWaWV3KTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156556</attachid>
            <date>2012-08-05 05:53:06 -0700</date>
            <delta_ts>2012-08-08 04:08:10 -0700</delta_ts>
            <desc>patch to make ewk_view inheritable</desc>
            <filename>make_ewk_view_inheritable.patch</filename>
            <type>text/plain</type>
            <size>11557</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA5MzQ5NWQxLi5kYjVlNDM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcg
QEAKKzIwMTItMDgtMDUgIEV1bm1pIExlZSAgPGV1bm1pMTUubGVlQHNhbXN1bmcuY29tPgorCisg
ICAgICAgIFtFRkxdW1dLMl0gTWFrZSBld2tfdmlldyBpbmhlcml0YWJsZSBpbiB0aGUgV2ViS2l0
Mi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMDU0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSB0
aGUgZXdrX3ZpZXcgaW5oZXJpdGFibGUgYnkgZXhwb3NpbmcgZXdrX3ZpZXdfc21hcnRfY2xhc3Nf
c2V0KCkKKyAgICAgICAgQVBJLiBBZGRpdGlvbmFsbHksIHRoZSBld2tfdmlld19zbWFydF9hZGQo
KSBBUEkgaXMgYWRkZWQgdG8gY3JlYXRlCisgICAgICAgIEV2YXNfT2JqZWN0IGZvciBXZWJLaXQy
IEVGTC4gVGhlIGRlZmF1bHQgaW5pdGlhbGl6YXRpb24gaXMgZG9uZSBpbiB0aGUKKyAgICAgICAg
ZXdrX3ZpZXdfc21hcnRfYWRkKCksIHNvIHRoZSBvYmplY3Qgd2hpY2ggaW5oZXJpdHMgdGhlIGV3
a192aWV3IHNob3VsZAorICAgICAgICB1c2UgZXdrX3ZpZXdfc21hcnRfYWRkKCkgaW5zdGVhZCBv
ZiBldmFzX29iamVjdF9zbWFydF9hZGQoKSB0byBjcmVhdGUKKyAgICAgICAgRXZhc19PYmplY3Qu
CisgICAgICAgIFRoZSBld2tfdmlld19hZGRfd2l0aF9XS1R5cGUoKSBBUEkgaXMgYWRkZWQgdG8g
Y3JlYXRlIGV3a192aWV3IHVzaW5nCisgICAgICAgIG9ubHkgV0tUeXBlLCBhbmQgaXQgaXMgdXNl
ZCB0byBjcmVhdGUgZXdrX3ZpZXcgZm9yIFdUUiBhbmQgSW5zcGVjdG9yLgorCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuY3BwOgorICAgICAgICAoV0tWaWV3Q3JlYXRlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHA6CisgICAgICAgIChl
d2tfY29udGV4dF9uZXdfd2l0aF9XS0NvbnRleHQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19jb250ZXh0X3ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9l
d2tfdmlldy5jcHA6CisgICAgICAgIChld2tfdmlld19zbWFydF9jbGFzc19zZXQpOgorICAgICAg
ICAoX2V3a192aWV3X3NtYXJ0X2NsYXNzX25ldyk6CisgICAgICAgIChfZXdrX3ZpZXdfaW5pdGlh
bGl6ZSk6CisgICAgICAgIChfZXdrX3ZpZXdfYmFzZV9hZGQpOgorICAgICAgICAoZXdrX3ZpZXdf
YWRkX3dpdGhfV0tUeXBlKToKKyAgICAgICAgKGV3a192aWV3X3NtYXJ0X2FkZCk6CisgICAgICAg
IChld2tfdmlld19hZGRfd2l0aF9jb250ZXh0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfdmlldy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3X3ByaXZh
dGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvZWZsL1dlYkluc3BlY3RvclByb3h5RWZsLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQ3JlYXRlSW5zcGVj
dG9yUGFnZSk6CisKIDIwMTItMDgtMDQgIE5vJ2FtIFJvc2VudGhhbCAgPG5vYW0ucm9zZW50aGFs
QG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdIFVJX1NJREVfQ09NUE9TSVRJTkcgY29kZSBoYXMg
Y29uZnVzaW5nIG5hbWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvZWZsL1dLVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZWZsL1dL
Vmlldy5jcHAKaW5kZXggMDNmNjkzMC4uZjllN2IzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL2VmbC9XS1ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9lZmwvV0tWaWV3LmNwcApAQCAtMjcsNyArMjcsNyBAQCB1c2luZyBuYW1l
c3BhY2UgV2ViS2l0OwogCiBXS1ZpZXdSZWYgV0tWaWV3Q3JlYXRlKEV2YXMqIGNhbnZhcywgV0tD
b250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJlZikKIHsKLSAg
ICByZXR1cm4gdG9BUEkoZXdrX3ZpZXdfYmFzZV9hZGQoY2FudmFzLCBjb250ZXh0UmVmLCBwYWdl
R3JvdXBSZWYpKTsKKyAgICByZXR1cm4gdG9BUEkoZXdrX3ZpZXdfYWRkX3dpdGhfV0tUeXBlKGNh
bnZhcywgY29udGV4dFJlZiwgcGFnZUdyb3VwUmVmKSk7CiB9CiAKIFdLUGFnZVJlZiBXS1ZpZXdH
ZXRQYWdlKFdLVmlld1JlZiB2aWV3UmVmKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwCmluZGV4IGMwNzU2ZWQuLjA5NjlkOWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAKQEAgLTEx
OCw2ICsxMTgsMTcgQEAgV0tDb250ZXh0UmVmIGV3a19jb250ZXh0X1dLQ29udGV4dF9nZXQoY29u
c3QgRXdrX0NvbnRleHQqIGV3a0NvbnRleHQpCiAKIC8qKgogICogQGludGVybmFsCisgKiBDcmVh
dGUgRXdrX0NvbnRleHQgd2l0aCBXS0NvbnRleHQuCisgKi8KK0V3a19Db250ZXh0KiBld2tfY29u
dGV4dF9uZXdfd2l0aF9XS0NvbnRleHQoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYpCit7CisgICAg
RUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKGNvbnRleHRSZWYsIDApOworCisgICAgcmV0
dXJuIG5ldyBFd2tfQ29udGV4dChjb250ZXh0UmVmKTsKK30KKworLyoqCisgKiBAaW50ZXJuYWwK
ICAqIFJlZ2lzdGVycyB0aGF0IGEgbmV3IGRvd25sb2FkIGhhcyBiZWVuIHJlcXVlc3RlZC4KICAq
Lwogdm9pZCBld2tfY29udGV4dF9kb3dubG9hZF9qb2JfYWRkKEV3a19Db250ZXh0KiBld2tDb250
ZXh0LCBFd2tfRG93bmxvYWRfSm9iKiBld2tEb3dubG9hZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X3ByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X3ByaXZhdGUuaAppbmRleCBkYjll
OTExLi5iMmM3OTllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2Vm
bC9ld2tfY29udGV4dF9wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2NvbnRleHRfcHJpdmF0ZS5oCkBAIC0yNyw2ICsyNyw3IEBAIHR5cGVkZWYgc3Ry
dWN0IF9Fd2tfRG93bmxvYWRfSm9iIEV3a19Eb3dubG9hZF9Kb2I7CiB0eXBlZGVmIHN0cnVjdCBf
RXdrX1VybF9TY2hlbWVfUmVxdWVzdCBFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0OwogCiBXS0NvbnRl
eHRSZWYgZXdrX2NvbnRleHRfV0tDb250ZXh0X2dldChjb25zdCBFd2tfQ29udGV4dCopOworRXdr
X0NvbnRleHQqIGV3a19jb250ZXh0X25ld193aXRoX1dLQ29udGV4dChXS0NvbnRleHRSZWYpOwog
V0tTb3VwUmVxdWVzdE1hbmFnZXJSZWYgZXdrX2NvbnRleHRfcmVxdWVzdF9tYW5hZ2VyX2dldChj
b25zdCBFd2tfQ29udGV4dCopOwogdm9pZCBld2tfY29udGV4dF91cmxfc2NoZW1lX3JlcXVlc3Rf
cmVjZWl2ZWQoRXdrX0NvbnRleHQqLCBFd2tfVXJsX1NjaGVtZV9SZXF1ZXN0Kik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNwcAppbmRleCA4YmMxMTIx
Li5jMDRhODliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfdmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3Zp
ZXcuY3BwCkBAIC01OTEsNyArNTkxLDcgQEAgc3RhdGljIHZvaWQgX2V3a192aWV3X3NtYXJ0X2Nv
bG9yX3NldChFdmFzX09iamVjdCogZXdrVmlldywgaW50IHJlZCwgaW50IGdyZWVuLAogICAgIGdf
cGFyZW50U21hcnRDbGFzcy5jb2xvcl9zZXQoZXdrVmlldywgcmVkLCBncmVlbiwgYmx1ZSwgYWxw
aGEpOwogfQogCi1FaW5hX0Jvb2wgZXdrX3ZpZXdfc21hcnRfY2xhc3NfaW5pdChFd2tfVmlld19T
bWFydF9DbGFzcyogYXBpKQorRWluYV9Cb29sIGV3a192aWV3X3NtYXJ0X2NsYXNzX3NldChFd2tf
Vmlld19TbWFydF9DbGFzcyogYXBpKQogewogICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJO
X1ZBTChhcGksIGZhbHNlKTsKIApAQCAtNjM2LDE2ICs2MzYsMzkgQEAgc3RhdGljIGlubGluZSBF
dmFzX1NtYXJ0KiBfZXdrX3ZpZXdfc21hcnRfY2xhc3NfbmV3KHZvaWQpCiAgICAgc3RhdGljIEV2
YXNfU21hcnQqIHNtYXJ0ID0gMDsKIAogICAgIGlmIChFSU5BX1VOTElLRUxZKCFzbWFydCkpIHsK
LSAgICAgICAgZXdrX3ZpZXdfc21hcnRfY2xhc3NfaW5pdCgmYXBpKTsKKyAgICAgICAgZXdrX3Zp
ZXdfc21hcnRfY2xhc3Nfc2V0KCZhcGkpOwogICAgICAgICBzbWFydCA9IGV2YXNfc21hcnRfY2xh
c3NfbmV3KCZhcGkuc2MpOwogICAgIH0KIAogICAgIHJldHVybiBzbWFydDsKIH0KIAotRXZhc19P
YmplY3QqIGV3a192aWV3X2Jhc2VfYWRkKEV2YXMqIGNhbnZhcywgV0tDb250ZXh0UmVmIGNvbnRl
eHRSZWYsIFdLUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJlZikKK3N0YXRpYyB2b2lkIF9ld2tfdmll
d19pbml0aWFsaXplKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFd2tfQ29udGV4dCogY29udGV4dCwg
V0tQYWdlR3JvdXBSZWYgcGFnZUdyb3VwUmVmKQogewotICAgIEV2YXNfT2JqZWN0KiBld2tWaWV3
ID0gZXZhc19vYmplY3Rfc21hcnRfYWRkKGNhbnZhcywgX2V3a192aWV3X3NtYXJ0X2NsYXNzX25l
dygpKTsKKyAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSk7
CisgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgcHJpdikKKyAgICBF
SU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTihjb250ZXh0KTsKKworICAgIGlmIChwcml2LT5wYWdl
Q2xpZW50KQorICAgICAgICByZXR1cm47CisgICAgcHJpdi0+cGFnZUNsaWVudCA9IFBhZ2VDbGll
bnRJbXBsOjpjcmVhdGUodG9JbXBsKGV3a19jb250ZXh0X1dLQ29udGV4dF9nZXQoY29udGV4dCkp
LCB0b0ltcGwocGFnZUdyb3VwUmVmKSwgZXdrVmlldyk7CisKKyAgICBXS1BhZ2VSZWYgd2tQYWdl
ID0gdG9BUEkocHJpdi0+cGFnZUNsaWVudC0+cGFnZSgpKTsKKyAgICBld2tfdmlld19mb3JtX2Ns
aWVudF9hdHRhY2god2tQYWdlLCBld2tWaWV3KTsKKyAgICBld2tfdmlld19sb2FkZXJfY2xpZW50
X2F0dGFjaCh3a1BhZ2UsIGV3a1ZpZXcpOworICAgIGV3a192aWV3X3BvbGljeV9jbGllbnRfYXR0
YWNoKHdrUGFnZSwgZXdrVmlldyk7CisgICAgZXdrX3ZpZXdfcmVzb3VyY2VfbG9hZF9jbGllbnRf
YXR0YWNoKHdrUGFnZSwgZXdrVmlldyk7CisgICAgZXdrX3ZpZXdfdWlfY2xpZW50X2F0dGFjaCh3
a1BhZ2UsIGV3a1ZpZXcpOworCisgICAgZXdrX3ZpZXdfdGhlbWVfc2V0KGV3a1ZpZXcsIERFRkFV
TFRfVEhFTUVfUEFUSCIvZGVmYXVsdC5lZGoiKTsKK30KKworc3RhdGljIEV2YXNfT2JqZWN0KiBf
ZXdrX3ZpZXdfYmFzZV9hZGQoRXZhcyogY2FudmFzLCBFdmFzX1NtYXJ0KiBzbWFydCkKK3sKKyAg
ICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoY2FudmFzLCAwKTsKKyAgICBFSU5BX1NB
RkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoc21hcnQsIDApOworCisgICAgRXZhc19PYmplY3QqIGV3
a1ZpZXcgPSBldmFzX29iamVjdF9zbWFydF9hZGQoY2FudmFzLCBzbWFydCk7CiAgICAgaWYgKCFl
d2tWaWV3KQogICAgICAgICByZXR1cm4gMDsKIApAQCAtNjYxLDIzICs2ODQsNDUgQEAgRXZhc19P
YmplY3QqIGV3a192aWV3X2Jhc2VfYWRkKEV2YXMqIGNhbnZhcywgV0tDb250ZXh0UmVmIGNvbnRl
eHRSZWYsIFdLUGFnZUdyb3UKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgcHJpdi0+
cGFnZUNsaWVudCA9IFBhZ2VDbGllbnRJbXBsOjpjcmVhdGUodG9JbXBsKGNvbnRleHRSZWYpLCB0
b0ltcGwocGFnZUdyb3VwUmVmKSwgZXdrVmlldyk7CisgICAgcmV0dXJuIGV3a1ZpZXc7Cit9CiAK
LSAgICBXS1BhZ2VSZWYgd2tQYWdlID0gdG9BUEkocHJpdi0+cGFnZUNsaWVudC0+cGFnZSgpKTsK
LSAgICBld2tfdmlld19mb3JtX2NsaWVudF9hdHRhY2god2tQYWdlLCBld2tWaWV3KTsKLSAgICBl
d2tfdmlld19sb2FkZXJfY2xpZW50X2F0dGFjaCh3a1BhZ2UsIGV3a1ZpZXcpOwotICAgIGV3a192
aWV3X3BvbGljeV9jbGllbnRfYXR0YWNoKHdrUGFnZSwgZXdrVmlldyk7Ci0gICAgZXdrX3ZpZXdf
cmVzb3VyY2VfbG9hZF9jbGllbnRfYXR0YWNoKHdrUGFnZSwgZXdrVmlldyk7Ci0gICAgZXdrX3Zp
ZXdfdWlfY2xpZW50X2F0dGFjaCh3a1BhZ2UsIGV3a1ZpZXcpOworLyoqCisgKiBAaW50ZXJuYWwK
KyAqIENvbnN0cnVjdHMgYSBld2tfdmlldyBFdmFzX09iamVjdCB3aXRoIFdLVHlwZSBwYXJhbWV0
ZXJzLgorICovCitFdmFzX09iamVjdCogZXdrX3ZpZXdfYWRkX3dpdGhfV0tUeXBlKEV2YXMqIGNh
bnZhcywgV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJl
ZikKK3sKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoY2FudmFzLCAwKTsKKyAg
ICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoY29udGV4dFJlZiwgMCk7CiAKLSAgICBl
d2tfdmlld190aGVtZV9zZXQoZXdrVmlldywgREVGQVVMVF9USEVNRV9QQVRIIi9kZWZhdWx0LmVk
aiIpOworICAgIEV2YXNfT2JqZWN0KiBld2tWaWV3ID0gX2V3a192aWV3X2Jhc2VfYWRkKGNhbnZh
cywgX2V3a192aWV3X3NtYXJ0X2NsYXNzX25ldygpKTsKKyAgICBpZiAoIWV3a1ZpZXcpCisgICAg
ICAgIHJldHVybiAwOworCisgICAgX2V3a192aWV3X2luaXRpYWxpemUoZXdrVmlldywgZXdrX2Nv
bnRleHRfbmV3X3dpdGhfV0tDb250ZXh0KGNvbnRleHRSZWYpLCBwYWdlR3JvdXBSZWYpOworCisg
ICAgcmV0dXJuIGV3a1ZpZXc7Cit9CisKK0V2YXNfT2JqZWN0KiBld2tfdmlld19zbWFydF9hZGQo
RXZhcyogY2FudmFzLCBFdmFzX1NtYXJ0KiBzbWFydCwgRXdrX0NvbnRleHQqIGNvbnRleHQpCit7
CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKGNhbnZhcywgMCk7CisgICAgRUlO
QV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHNtYXJ0LCAwKTsKKyAgICBFSU5BX1NBRkVUWV9P
Tl9OVUxMX1JFVFVSTl9WQUwoY29udGV4dCwgMCk7CisKKyAgICBFdmFzX09iamVjdCogZXdrVmll
dyA9IF9ld2tfdmlld19iYXNlX2FkZChjYW52YXMsIHNtYXJ0KTsKKyAgICBpZiAoIWV3a1ZpZXcp
CisgICAgICAgIHJldHVybiAwOworCisgICAgX2V3a192aWV3X2luaXRpYWxpemUoZXdrVmlldywg
Y29udGV4dCwgMCk7CiAKICAgICByZXR1cm4gZXdrVmlldzsKIH0KIAogRXZhc19PYmplY3QqIGV3
a192aWV3X2FkZF93aXRoX2NvbnRleHQoRXZhcyogY2FudmFzLCBFd2tfQ29udGV4dCogY29udGV4
dCkKIHsKLSAgICByZXR1cm4gZXdrX3ZpZXdfYmFzZV9hZGQoY2FudmFzLCBld2tfY29udGV4dF9X
S0NvbnRleHRfZ2V0KGNvbnRleHQpLCAwKTsKKyAgICByZXR1cm4gZXdrX3ZpZXdfc21hcnRfYWRk
KGNhbnZhcywgX2V3a192aWV3X3NtYXJ0X2NsYXNzX25ldygpLCBjb250ZXh0KTsKIH0KIAogRXZh
c19PYmplY3QqIGV3a192aWV3X2FkZChFdmFzKiBjYW52YXMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaAppbmRleCAzYjAzNDE5Li5iZjBmY2VlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKQEAgLTIxOCw2ICsyMTgs
NDQgQEAgc3RydWN0IF9Fd2tfRG93bmxvYWRfSm9iX0Vycm9yIHsKIH07CiAKIC8qKgorICogU2V0
cyB0aGUgc21hcnQgY2xhc3MgQVBJcywgZW5hYmxpbmcgdmlldyB0byBiZSBpbmhlcml0ZWQuCisg
KgorICogQHBhcmFtIGFwaSBjbGFzcyBkZWZpbml0aW9uIHRvIHNldCwgYWxsIG1lbWJlcnMgd2l0
aCB0aGUKKyAqICAgICAgICBleGNlcHRpb24gb2YgQGEgRXZhc19TbWFydF9DbGFzcy0+ZGF0YSBt
YXkgYmUgb3ZlcnJpZGRlbiwgbXVzdAorICogICAgICAgIEBiIG5vdCBiZSBAYyBOVUxMCisgKgor
ICogQG5vdGUgQGEgRXZhc19TbWFydF9DbGFzcy0+ZGF0YSBpcyB1c2VkIHRvIGltcGxlbWVudCB0
eXBlIGNoZWNraW5nIGFuZAorICogICAgICAgaXMgbm90IHN1cHBvc2VkIHRvIGJlIGNoYW5nZWQv
b3ZlcnJpZGRlbi4gSWYgeW91IG5lZWQgZXh0cmEKKyAqICAgICAgIGRhdGEgZm9yIHlvdXIgc21h
cnQgY2xhc3MgdG8gd29yaywganVzdCBleHRlbmQKKyAqICAgICAgIEV3a19WaWV3X1NtYXJ0X0Ns
YXNzIGluc3RlYWQuCisgKiAgICAgICBUaGUgRXZhc19PYmplY3Qgd2hpY2ggaW5oZXJpdHMgdGhl
IGV3a192aWV3IHNob3VsZCB1c2UKKyAqICAgICAgIGV3a192aWV3X3NtYXJ0X2FkZCgpIHRvIGNy
ZWF0ZSBFdmFzX09iamVjdCBpbnN0ZWFkIG9mCisgKiAgICAgICBldmFzX29iamVjdF9zbWFydF9h
ZGQoKSBiZWNhdXNlIGl0IHBlcmZvcm1zIGFkZGl0aW9uYWwgaW5pdGlhbGl6YXRpb24KKyAqICAg
ICAgIGZvciB0aGUgZXdrX3ZpZXcuCisgKgorICogQHJldHVybiBAYyBFSU5BX1RSVUUgb24gc3Vj
Y2VzcyBvciBAYyBFSU5BX0ZBTFNFIG9uIGZhaWx1cmUgKHByb2JhYmx5CisgKiAgICAgICAgIHZl
cnNpb24gbWlzbWF0Y2gpCisgKgorICogQHNlZSBld2tfdmlld19zbWFydF9hZGQoKQorICovCitF
QVBJIEVpbmFfQm9vbCBld2tfdmlld19zbWFydF9jbGFzc19zZXQoRXdrX1ZpZXdfU21hcnRfQ2xh
c3MgKmFwaSk7CisKKy8qKgorICogQ3JlYXRlcyBhIG5ldyBFRkwgV2ViS2l0IHZpZXcgb2JqZWN0
IHdpdGggRXZhc19TbWFydCBhbmQgRXdrX0NvbnRleHQuCisgKgorICogQG5vdGUgVGhlIEV2YXNf
T2JqZWN0IHdoaWNoIGluaGVyaXRzIHRoZSBld2tfdmlldyBzaG91bGQgY3JlYXRlIGl0cworICog
ICAgICAgRXZhc19PYmplY3QgdXNpbmcgdGhpcyBBUEkgaW5zdGVhZCBvZiBldmFzX29iamVjdF9z
bWFydF9hZGQoKQorICogICAgICAgYmVjYXVzZSB0aGUgZGVmYXVsdCBpbml0aWFsaXphdGlvbiBm
b3IgZXdrX3ZpZXcgaXMgZG9uZSBpbiB0aGlzIEFQSS4KKyAqCisgKiBAcGFyYW0gZSBjYW52YXMg
b2JqZWN0IHdoZXJlIHRvIGNyZWF0ZSB0aGUgdmlldyBvYmplY3QKKyAqIEBwYXJhbSBzbWFydCBF
dmFzX1NtYXJ0IG9iamVjdC4gSXRzIHR5cGUgc2hvdWxkIGJlIEVXS19WSUVXX1RZUEVfU1RSCisg
KiBAcGFyYW0gY29udGV4dCBFd2tfQ29udGV4dCBvYmplY3Qgd2hpY2ggaXMgdXNlZCBmb3IgaW5p
dGlhbGl6aW5nCisgKgorICogQHJldHVybiB2aWV3IG9iamVjdCBvbiBzdWNjZXNzIG9yIEBjIE5V
TEwgb24gZmFpbHVyZQorICovCitFdmFzX09iamVjdCAqZXdrX3ZpZXdfc21hcnRfYWRkKEV2YXMg
KmUsIEV2YXNfU21hcnQgKnNtYXJ0LCBFd2tfQ29udGV4dCAqY29udGV4dCk7CisKKy8qKgogICog
Q3JlYXRlcyBhIG5ldyBFRkwgV2ViS2l0IHZpZXcgb2JqZWN0LgogICoKICAqIEBwYXJhbSBlIGNh
bnZhcyBvYmplY3Qgd2hlcmUgdG8gY3JlYXRlIHRoZSB2aWV3IG9iamVjdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXdfcHJpdmF0ZS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXdfcHJpdmF0ZS5oCmluZGV4IDBk
NWVjYTkuLjY3YjhmZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
ZWZsL2V3a192aWV3X3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfdmlld19wcml2YXRlLmgKQEAgLTcwLDcgKzcwLDcgQEAgdm9pZCBld2tfdmlld19y
ZXNvdXJjZV9sb2FkX2luaXRpYXRlZChFdmFzX09iamVjdCogZXdrVmlldywgdWludDY0X3QgcmVz
b3VyY2VJZGUKIHZvaWQgZXdrX3ZpZXdfcmVzb3VyY2VfbG9hZF9yZXNwb25zZShFdmFzX09iamVj
dCogZXdrVmlldywgdWludDY0X3QgcmVzb3VyY2VJZGVudGlmaWVyLCBFd2tfVXJsX1Jlc3BvbnNl
KiByZXNwb25zZSk7CiB2b2lkIGV3a192aWV3X3Jlc291cmNlX3JlcXVlc3Rfc2VudChFdmFzX09i
amVjdCogZXdrVmlldywgdWludDY0X3QgcmVzb3VyY2VJZGVudGlmaWVyLCBFd2tfVXJsX1JlcXVl
c3QqIHJlcXVlc3QsIEV3a19VcmxfUmVzcG9uc2UqIHJlZGlyZWN0UmVzcG9uc2UpOwogCi1FdmFz
X09iamVjdCogZXdrX3ZpZXdfYmFzZV9hZGQoRXZhcyogY2FudmFzLCBXS0NvbnRleHRSZWYsIFdL
UGFnZUdyb3VwUmVmKTsKK0V2YXNfT2JqZWN0KiBld2tfdmlld19hZGRfd2l0aF9XS1R5cGUoRXZh
cyosIFdLQ29udGV4dFJlZiwgV0tQYWdlR3JvdXBSZWYpOwogCiAjaWYgRU5BQkxFKFdFQl9JTlRF
TlRTKQogdm9pZCBld2tfdmlld19pbnRlbnRfcmVxdWVzdF9uZXcoRXZhc19PYmplY3QqIGV3a1Zp
ZXcsIGNvbnN0IEV3a19JbnRlbnQqIGV3a0ludGVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvZWZsL1dlYkluc3BlY3RvclByb3h5RWZsLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9lZmwvV2ViSW5zcGVjdG9yUHJveHlFZmwuY3BwCmluZGV4IDJiMTUzN2Uu
LjZmY2FkZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2ViSW5z
cGVjdG9yUHJveHlFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9lZmwvV2Vi
SW5zcGVjdG9yUHJveHlFZmwuY3BwCkBAIC00NSw3ICs0NSw3IEBAIFdlYlBhZ2VQcm94eSogV2Vi
SW5zcGVjdG9yUHJveHk6OnBsYXRmb3JtQ3JlYXRlSW5zcGVjdG9yUGFnZSgpCiAgICAgaWYgKCFt
X2luc3BlY3RvcldpbmRvdykKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBtX2luc3BlY3RvclZp
ZXcgPSBld2tfdmlld19iYXNlX2FkZChlY29yZV9ldmFzX2dldChtX2luc3BlY3RvcldpbmRvdyks
IHRvQVBJKHBhZ2UoKS0+cHJvY2VzcygpLT5jb250ZXh0KCkpLCB0b0FQSShpbnNwZWN0b3JQYWdl
R3JvdXAoKSkpOworICAgIG1faW5zcGVjdG9yVmlldyA9IGV3a192aWV3X2FkZF93aXRoX1dLVHlw
ZShlY29yZV9ldmFzX2dldChtX2luc3BlY3RvcldpbmRvdyksIHRvQVBJKHBhZ2UoKS0+cHJvY2Vz
cygpLT5jb250ZXh0KCkpLCB0b0FQSShpbnNwZWN0b3JQYWdlR3JvdXAoKSkpOwogICAgIHJldHVy
biBld2tfdmlld19wYWdlX2dldChtX2luc3BlY3RvclZpZXcpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157172</attachid>
            <date>2012-08-08 04:08:16 -0700</date>
            <delta_ts>2012-08-08 05:33:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90054-20120808200750.patch</filename>
            <type>text/plain</type>
            <size>9313</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NzUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMzc4OGFiMzY3YWI2YjMx
MTI2ZTExYmJkYWFjODQ5YjI1Mjc5ZWFlNS4uNzJiYTg3NjRlZDliZTBlN2I2OWUxOTY3NjQ1Nzhk
OGY2OWIyMWI1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA4LTA4ICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIE1h
a2UgZXdrX3ZpZXcgaW5oZXJpdGFibGUgaW4gdGhlIFdlYktpdDIuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDA1NAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgdGhlIGV3a192aWV3IGluaGVyaXRh
YmxlIGJ5IGV4cG9zaW5nIGV3a192aWV3X3NtYXJ0X2NsYXNzX3NldCgpCisgICAgICAgIEFQSS4g
QWRkaXRpb25hbGx5LCB0aGUgZXdrX3ZpZXdfc21hcnRfYWRkKCkgQVBJIGlzIGFkZGVkIHRvIGNy
ZWF0ZQorICAgICAgICBFdmFzX09iamVjdCBmb3IgV2ViS2l0MiBFRkwuIFRoZSBkZWZhdWx0IGlu
aXRpYWxpemF0aW9uIGlzIGRvbmUgaW4gdGhlCisgICAgICAgIGV3a192aWV3X3NtYXJ0X2FkZCgp
LCBzbyB0aGUgb2JqZWN0IHdoaWNoIGluaGVyaXRzIHRoZSBld2tfdmlldyBzaG91bGQKKyAgICAg
ICAgdXNlIGV3a192aWV3X3NtYXJ0X2FkZCgpIGluc3RlYWQgb2YgZXZhc19vYmplY3Rfc21hcnRf
YWRkKCkgdG8gY3JlYXRlCisgICAgICAgIEV2YXNfT2JqZWN0LgorCisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwOgorICAgICAgICAoZXdrX2NvbnRleHRfbmV3X2Zy
b21fV0tDb250ZXh0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9w
cml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwOgorICAg
ICAgICAoZXdrX3ZpZXdfc21hcnRfY2xhc3Nfc2V0KToKKyAgICAgICAgKF9ld2tfdmlld19zbWFy
dF9jbGFzc19uZXcpOgorICAgICAgICAoX2V3a192aWV3X2luaXRpYWxpemUpOgorICAgICAgICAo
X2V3a192aWV3X2FkZF93aXRoX3NtYXJ0KToKKyAgICAgICAgKGV3a192aWV3X2Jhc2VfYWRkKToK
KyAgICAgICAgKGV3a192aWV3X3NtYXJ0X2FkZCk6CisgICAgICAgIChld2tfdmlld19hZGRfd2l0
aF9jb250ZXh0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oOgorCiAy
MDEyLTA4LTA2ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbV0syXVtHVEtdIEltcGxlbWVudCBhIG5ldyBzcGVsbCBjaGVja2VyIEFQSSBmb3Ig
V2ViS2l0MkdUSysKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZs
L2V3a19jb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19j
b250ZXh0LmNwcAppbmRleCBjMDc1NmVkMDg2ODFhNjRhMzNmOGZiZTY1MDgwMWM4NGVjODU0Njhj
Li5kNjQ1Mzc1N2ViMmMyOTE3ZDZlMzdlZWYxMmNjYTIzM2Q4ZWY2OWJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwCkBAIC0xMTgsNiAr
MTE4LDE3IEBAIFdLQ29udGV4dFJlZiBld2tfY29udGV4dF9XS0NvbnRleHRfZ2V0KGNvbnN0IEV3
a19Db250ZXh0KiBld2tDb250ZXh0KQogCiAvKioKICAqIEBpbnRlcm5hbAorICogQ3JlYXRlIEV3
a19Db250ZXh0IGZyb20gV0tDb250ZXh0LgorICovCitFd2tfQ29udGV4dCogZXdrX2NvbnRleHRf
bmV3X2Zyb21fV0tDb250ZXh0KFdLQ29udGV4dFJlZiBjb250ZXh0UmVmKQoreworICAgIEVJTkFf
U0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChjb250ZXh0UmVmLCAwKTsKKworICAgIHJldHVybiBu
ZXcgRXdrX0NvbnRleHQoY29udGV4dFJlZik7Cit9CisKKy8qKgorICogQGludGVybmFsCiAgKiBS
ZWdpc3RlcnMgdGhhdCBhIG5ldyBkb3dubG9hZCBoYXMgYmVlbiByZXF1ZXN0ZWQuCiAgKi8KIHZv
aWQgZXdrX2NvbnRleHRfZG93bmxvYWRfam9iX2FkZChFd2tfQ29udGV4dCogZXdrQ29udGV4dCwg
RXdrX0Rvd25sb2FkX0pvYiogZXdrRG93bmxvYWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9wcml2YXRlLmgKaW5kZXggZGI5ZTkxMWQy
ODFiMGI5NTFiNmEzOWMyM2VkZmI4OWM2NzRjY2Q0OS4uZDFiNjk1ZTBjYmUyMGM1MzE0MGQ0NjYy
NDZhZDIwZTkxYzAzNDQxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2NvbnRleHRfcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19jb250ZXh0X3ByaXZhdGUuaApAQCAtMjcsNiArMjcsNyBAQCB0eXBlZGVm
IHN0cnVjdCBfRXdrX0Rvd25sb2FkX0pvYiBFd2tfRG93bmxvYWRfSm9iOwogdHlwZWRlZiBzdHJ1
Y3QgX0V3a19VcmxfU2NoZW1lX1JlcXVlc3QgRXdrX1VybF9TY2hlbWVfUmVxdWVzdDsKIAogV0tD
b250ZXh0UmVmIGV3a19jb250ZXh0X1dLQ29udGV4dF9nZXQoY29uc3QgRXdrX0NvbnRleHQqKTsK
K0V3a19Db250ZXh0KiBld2tfY29udGV4dF9uZXdfZnJvbV9XS0NvbnRleHQoV0tDb250ZXh0UmVm
KTsKIFdLU291cFJlcXVlc3RNYW5hZ2VyUmVmIGV3a19jb250ZXh0X3JlcXVlc3RfbWFuYWdlcl9n
ZXQoY29uc3QgRXdrX0NvbnRleHQqKTsKIHZvaWQgZXdrX2NvbnRleHRfdXJsX3NjaGVtZV9yZXF1
ZXN0X3JlY2VpdmVkKEV3a19Db250ZXh0KiwgRXdrX1VybF9TY2hlbWVfUmVxdWVzdCopOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKaW5kZXggOGJj
MTEyMTZkMjliM2U1NjcxMWI4NzIwOWMxZTc4MGE1M2VlODdmZS4uYWM4Mjk3ZjBhYTIwOWI5ZTVh
MjdjYmJkYmEyMjZkZmM3YjlhNWY3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a192aWV3LmNwcApAQCAtNTkxLDcgKzU5MSw3IEBAIHN0YXRpYyB2b2lkIF9ld2tf
dmlld19zbWFydF9jb2xvcl9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGludCByZWQsIGludCBn
cmVlbiwKICAgICBnX3BhcmVudFNtYXJ0Q2xhc3MuY29sb3Jfc2V0KGV3a1ZpZXcsIHJlZCwgZ3Jl
ZW4sIGJsdWUsIGFscGhhKTsKIH0KIAotRWluYV9Cb29sIGV3a192aWV3X3NtYXJ0X2NsYXNzX2lu
aXQoRXdrX1ZpZXdfU21hcnRfQ2xhc3MqIGFwaSkKK0VpbmFfQm9vbCBld2tfdmlld19zbWFydF9j
bGFzc19zZXQoRXdrX1ZpZXdfU21hcnRfQ2xhc3MqIGFwaSkKIHsKICAgICBFSU5BX1NBRkVUWV9P
Tl9OVUxMX1JFVFVSTl9WQUwoYXBpLCBmYWxzZSk7CiAKQEAgLTYzNiwxNiArNjM2LDQwIEBAIHN0
YXRpYyBpbmxpbmUgRXZhc19TbWFydCogX2V3a192aWV3X3NtYXJ0X2NsYXNzX25ldyh2b2lkKQog
ICAgIHN0YXRpYyBFdmFzX1NtYXJ0KiBzbWFydCA9IDA7CiAKICAgICBpZiAoRUlOQV9VTkxJS0VM
WSghc21hcnQpKSB7Ci0gICAgICAgIGV3a192aWV3X3NtYXJ0X2NsYXNzX2luaXQoJmFwaSk7Cisg
ICAgICAgIGV3a192aWV3X3NtYXJ0X2NsYXNzX3NldCgmYXBpKTsKICAgICAgICAgc21hcnQgPSBl
dmFzX3NtYXJ0X2NsYXNzX25ldygmYXBpLnNjKTsKICAgICB9CiAKICAgICByZXR1cm4gc21hcnQ7
CiB9CiAKLUV2YXNfT2JqZWN0KiBld2tfdmlld19iYXNlX2FkZChFdmFzKiBjYW52YXMsIFdLQ29u
dGV4dFJlZiBjb250ZXh0UmVmLCBXS1BhZ2VHcm91cFJlZiBwYWdlR3JvdXBSZWYpCitzdGF0aWMg
dm9pZCBfZXdrX3ZpZXdfaW5pdGlhbGl6ZShFdmFzX09iamVjdCogZXdrVmlldywgRXdrX0NvbnRl
eHQqIGNvbnRleHQsIFdLUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJlZikKK3sKKyAgICBFV0tfVklF
V19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSk7CisgICAgRVdLX1ZJRVdfUFJJ
Vl9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgcHJpdikKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxM
X1JFVFVSTihjb250ZXh0KTsKKworICAgIGlmIChwcml2LT5wYWdlQ2xpZW50KQorICAgICAgICBy
ZXR1cm47CisKKyAgICBwcml2LT5wYWdlQ2xpZW50ID0gUGFnZUNsaWVudEltcGw6OmNyZWF0ZSh0
b0ltcGwoZXdrX2NvbnRleHRfV0tDb250ZXh0X2dldChjb250ZXh0KSksIHRvSW1wbChwYWdlR3Jv
dXBSZWYpLCBld2tWaWV3KTsKKworICAgIFdLUGFnZVJlZiB3a1BhZ2UgPSB0b0FQSShwcml2LT5w
YWdlQ2xpZW50LT5wYWdlKCkpOworICAgIGV3a192aWV3X2Zvcm1fY2xpZW50X2F0dGFjaCh3a1Bh
Z2UsIGV3a1ZpZXcpOworICAgIGV3a192aWV3X2xvYWRlcl9jbGllbnRfYXR0YWNoKHdrUGFnZSwg
ZXdrVmlldyk7CisgICAgZXdrX3ZpZXdfcG9saWN5X2NsaWVudF9hdHRhY2god2tQYWdlLCBld2tW
aWV3KTsKKyAgICBld2tfdmlld19yZXNvdXJjZV9sb2FkX2NsaWVudF9hdHRhY2god2tQYWdlLCBl
d2tWaWV3KTsKKyAgICBld2tfdmlld191aV9jbGllbnRfYXR0YWNoKHdrUGFnZSwgZXdrVmlldyk7
CisKKyAgICBld2tfdmlld190aGVtZV9zZXQoZXdrVmlldywgREVGQVVMVF9USEVNRV9QQVRIIi9k
ZWZhdWx0LmVkaiIpOworfQorCitzdGF0aWMgRXZhc19PYmplY3QqIF9ld2tfdmlld19hZGRfd2l0
aF9zbWFydChFdmFzKiBjYW52YXMsIEV2YXNfU21hcnQqIHNtYXJ0KQogewotICAgIEV2YXNfT2Jq
ZWN0KiBld2tWaWV3ID0gZXZhc19vYmplY3Rfc21hcnRfYWRkKGNhbnZhcywgX2V3a192aWV3X3Nt
YXJ0X2NsYXNzX25ldygpKTsKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoY2Fu
dmFzLCAwKTsKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoc21hcnQsIDApOwor
CisgICAgRXZhc19PYmplY3QqIGV3a1ZpZXcgPSBldmFzX29iamVjdF9zbWFydF9hZGQoY2FudmFz
LCBzbWFydCk7CiAgICAgaWYgKCFld2tWaWV3KQogICAgICAgICByZXR1cm4gMDsKIApAQCAtNjYx
LDIzICs2ODUsNDUgQEAgRXZhc19PYmplY3QqIGV3a192aWV3X2Jhc2VfYWRkKEV2YXMqIGNhbnZh
cywgV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3UKICAgICAgICAgcmV0dXJuIDA7
CiAgICAgfQogCi0gICAgcHJpdi0+cGFnZUNsaWVudCA9IFBhZ2VDbGllbnRJbXBsOjpjcmVhdGUo
dG9JbXBsKGNvbnRleHRSZWYpLCB0b0ltcGwocGFnZUdyb3VwUmVmKSwgZXdrVmlldyk7CisgICAg
cmV0dXJuIGV3a1ZpZXc7Cit9CiAKLSAgICBXS1BhZ2VSZWYgd2tQYWdlID0gdG9BUEkocHJpdi0+
cGFnZUNsaWVudC0+cGFnZSgpKTsKLSAgICBld2tfdmlld19mb3JtX2NsaWVudF9hdHRhY2god2tQ
YWdlLCBld2tWaWV3KTsKLSAgICBld2tfdmlld19sb2FkZXJfY2xpZW50X2F0dGFjaCh3a1BhZ2Us
IGV3a1ZpZXcpOwotICAgIGV3a192aWV3X3BvbGljeV9jbGllbnRfYXR0YWNoKHdrUGFnZSwgZXdr
Vmlldyk7Ci0gICAgZXdrX3ZpZXdfcmVzb3VyY2VfbG9hZF9jbGllbnRfYXR0YWNoKHdrUGFnZSwg
ZXdrVmlldyk7Ci0gICAgZXdrX3ZpZXdfdWlfY2xpZW50X2F0dGFjaCh3a1BhZ2UsIGV3a1ZpZXcp
OworLyoqCisgKiBAaW50ZXJuYWwKKyAqIENvbnN0cnVjdHMgYSBld2tfdmlldyBFdmFzX09iamVj
dCB3aXRoIFdLVHlwZSBwYXJhbWV0ZXJzLgorICovCitFdmFzX09iamVjdCogZXdrX3ZpZXdfYmFz
ZV9hZGQoRXZhcyogY2FudmFzLCBXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tQYWdlR3JvdXBS
ZWYgcGFnZUdyb3VwUmVmKQoreworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChj
YW52YXMsIDApOworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChjb250ZXh0UmVm
LCAwKTsKIAotICAgIGV3a192aWV3X3RoZW1lX3NldChld2tWaWV3LCBERUZBVUxUX1RIRU1FX1BB
VEgiL2RlZmF1bHQuZWRqIik7CisgICAgRXZhc19PYmplY3QqIGV3a1ZpZXcgPSBfZXdrX3ZpZXdf
YWRkX3dpdGhfc21hcnQoY2FudmFzLCBfZXdrX3ZpZXdfc21hcnRfY2xhc3NfbmV3KCkpOworICAg
IGlmICghZXdrVmlldykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBfZXdrX3ZpZXdfaW5pdGlh
bGl6ZShld2tWaWV3LCBld2tfY29udGV4dF9uZXdfZnJvbV9XS0NvbnRleHQoY29udGV4dFJlZiks
IHBhZ2VHcm91cFJlZik7CisKKyAgICByZXR1cm4gZXdrVmlldzsKK30KKworRXZhc19PYmplY3Qq
IGV3a192aWV3X3NtYXJ0X2FkZChFdmFzKiBjYW52YXMsIEV2YXNfU21hcnQqIHNtYXJ0LCBFd2tf
Q29udGV4dCogY29udGV4dCkKK3sKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwo
Y2FudmFzLCAwKTsKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoc21hcnQsIDAp
OworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChjb250ZXh0LCAwKTsKKworICAg
IEV2YXNfT2JqZWN0KiBld2tWaWV3ID0gX2V3a192aWV3X2FkZF93aXRoX3NtYXJ0KGNhbnZhcywg
c21hcnQpOworICAgIGlmICghZXdrVmlldykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBfZXdr
X3ZpZXdfaW5pdGlhbGl6ZShld2tWaWV3LCBjb250ZXh0LCAwKTsKIAogICAgIHJldHVybiBld2tW
aWV3OwogfQogCiBFdmFzX09iamVjdCogZXdrX3ZpZXdfYWRkX3dpdGhfY29udGV4dChFdmFzKiBj
YW52YXMsIEV3a19Db250ZXh0KiBjb250ZXh0KQogewotICAgIHJldHVybiBld2tfdmlld19iYXNl
X2FkZChjYW52YXMsIGV3a19jb250ZXh0X1dLQ29udGV4dF9nZXQoY29udGV4dCksIDApOworICAg
IHJldHVybiBld2tfdmlld19zbWFydF9hZGQoY2FudmFzLCBfZXdrX3ZpZXdfc21hcnRfY2xhc3Nf
bmV3KCksIGNvbnRleHQpOwogfQogCiBFdmFzX09iamVjdCogZXdrX3ZpZXdfYWRkKEV2YXMqIGNh
bnZhcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192
aWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5oCmluZGV4
IDNiMDM0MTlkNWFmZjY5OWRhMmZiMGNjOGE5OWJlODJiMmZmMTI3OWMuLmJmMGZjZWUwMDY5MWYz
MjU2ZDVhMWMzMzgwYmJmYzU3M2VlODQzNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX3ZpZXcuaApAQCAtMjE4LDYgKzIxOCw0NCBAQCBzdHJ1Y3QgX0V3a19Eb3du
bG9hZF9Kb2JfRXJyb3IgewogfTsKIAogLyoqCisgKiBTZXRzIHRoZSBzbWFydCBjbGFzcyBBUElz
LCBlbmFibGluZyB2aWV3IHRvIGJlIGluaGVyaXRlZC4KKyAqCisgKiBAcGFyYW0gYXBpIGNsYXNz
IGRlZmluaXRpb24gdG8gc2V0LCBhbGwgbWVtYmVycyB3aXRoIHRoZQorICogICAgICAgIGV4Y2Vw
dGlvbiBvZiBAYSBFdmFzX1NtYXJ0X0NsYXNzLT5kYXRhIG1heSBiZSBvdmVycmlkZGVuLCBtdXN0
CisgKiAgICAgICAgQGIgbm90IGJlIEBjIE5VTEwKKyAqCisgKiBAbm90ZSBAYSBFdmFzX1NtYXJ0
X0NsYXNzLT5kYXRhIGlzIHVzZWQgdG8gaW1wbGVtZW50IHR5cGUgY2hlY2tpbmcgYW5kCisgKiAg
ICAgICBpcyBub3Qgc3VwcG9zZWQgdG8gYmUgY2hhbmdlZC9vdmVycmlkZGVuLiBJZiB5b3UgbmVl
ZCBleHRyYQorICogICAgICAgZGF0YSBmb3IgeW91ciBzbWFydCBjbGFzcyB0byB3b3JrLCBqdXN0
IGV4dGVuZAorICogICAgICAgRXdrX1ZpZXdfU21hcnRfQ2xhc3MgaW5zdGVhZC4KKyAqICAgICAg
IFRoZSBFdmFzX09iamVjdCB3aGljaCBpbmhlcml0cyB0aGUgZXdrX3ZpZXcgc2hvdWxkIHVzZQor
ICogICAgICAgZXdrX3ZpZXdfc21hcnRfYWRkKCkgdG8gY3JlYXRlIEV2YXNfT2JqZWN0IGluc3Rl
YWQgb2YKKyAqICAgICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2FkZCgpIGJlY2F1c2UgaXQgcGVyZm9y
bXMgYWRkaXRpb25hbCBpbml0aWFsaXphdGlvbgorICogICAgICAgZm9yIHRoZSBld2tfdmlldy4K
KyAqCisgKiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBvbiBzdWNjZXNzIG9yIEBjIEVJTkFfRkFMU0Ug
b24gZmFpbHVyZSAocHJvYmFibHkKKyAqICAgICAgICAgdmVyc2lvbiBtaXNtYXRjaCkKKyAqCisg
KiBAc2VlIGV3a192aWV3X3NtYXJ0X2FkZCgpCisgKi8KK0VBUEkgRWluYV9Cb29sIGV3a192aWV3
X3NtYXJ0X2NsYXNzX3NldChFd2tfVmlld19TbWFydF9DbGFzcyAqYXBpKTsKKworLyoqCisgKiBD
cmVhdGVzIGEgbmV3IEVGTCBXZWJLaXQgdmlldyBvYmplY3Qgd2l0aCBFdmFzX1NtYXJ0IGFuZCBF
d2tfQ29udGV4dC4KKyAqCisgKiBAbm90ZSBUaGUgRXZhc19PYmplY3Qgd2hpY2ggaW5oZXJpdHMg
dGhlIGV3a192aWV3IHNob3VsZCBjcmVhdGUgaXRzCisgKiAgICAgICBFdmFzX09iamVjdCB1c2lu
ZyB0aGlzIEFQSSBpbnN0ZWFkIG9mIGV2YXNfb2JqZWN0X3NtYXJ0X2FkZCgpCisgKiAgICAgICBi
ZWNhdXNlIHRoZSBkZWZhdWx0IGluaXRpYWxpemF0aW9uIGZvciBld2tfdmlldyBpcyBkb25lIGlu
IHRoaXMgQVBJLgorICoKKyAqIEBwYXJhbSBlIGNhbnZhcyBvYmplY3Qgd2hlcmUgdG8gY3JlYXRl
IHRoZSB2aWV3IG9iamVjdAorICogQHBhcmFtIHNtYXJ0IEV2YXNfU21hcnQgb2JqZWN0LiBJdHMg
dHlwZSBzaG91bGQgYmUgRVdLX1ZJRVdfVFlQRV9TVFIKKyAqIEBwYXJhbSBjb250ZXh0IEV3a19D
b250ZXh0IG9iamVjdCB3aGljaCBpcyB1c2VkIGZvciBpbml0aWFsaXppbmcKKyAqCisgKiBAcmV0
dXJuIHZpZXcgb2JqZWN0IG9uIHN1Y2Nlc3Mgb3IgQGMgTlVMTCBvbiBmYWlsdXJlCisgKi8KK0V2
YXNfT2JqZWN0ICpld2tfdmlld19zbWFydF9hZGQoRXZhcyAqZSwgRXZhc19TbWFydCAqc21hcnQs
IEV3a19Db250ZXh0ICpjb250ZXh0KTsKKworLyoqCiAgKiBDcmVhdGVzIGEgbmV3IEVGTCBXZWJL
aXQgdmlldyBvYmplY3QuCiAgKgogICogQHBhcmFtIGUgY2FudmFzIG9iamVjdCB3aGVyZSB0byBj
cmVhdGUgdGhlIHZpZXcgb2JqZWN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157194</attachid>
            <date>2012-08-08 05:33:12 -0700</date>
            <delta_ts>2012-08-08 06:16:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90054-20120808213246.patch</filename>
            <type>text/plain</type>
            <size>9920</size>
            <attacher name="Eunmi Lee">enmi.lee</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1MDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZTk4YzYxMzljN2M0NGIx
MjExZWUxZmM3MTAyNGY2MThlNmE0ZDA1OS4uYjVkMzdhNTQzYTFiMzA0ZDAzN2Q0YzNmYjA2YTlj
YjBlZGQzNDVkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA4LTA4ICBFdW5t
aSBMZWUgIDxldW5taTE1LmxlZUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtXSzJdIE1h
a2UgZXdrX3ZpZXcgaW5oZXJpdGFibGUgaW4gdGhlIFdlYktpdDIuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDA1NAorCisgICAgICAgIFJldmlld2Vk
IGJ5IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgorCisgICAgICAgIE1ha2UgdGhlIGV3a192
aWV3IGluaGVyaXRhYmxlIGJ5IGV4cG9zaW5nIGV3a192aWV3X3NtYXJ0X2NsYXNzX3NldCgpCisg
ICAgICAgIEFQSS4gQWRkaXRpb25hbGx5LCB0aGUgZXdrX3ZpZXdfc21hcnRfYWRkKCkgQVBJIGlz
IGFkZGVkIHRvIGNyZWF0ZQorICAgICAgICBFdmFzX09iamVjdCBmb3IgV2ViS2l0MiBFRkwuIFRo
ZSBkZWZhdWx0IGluaXRpYWxpemF0aW9uIGlzIGRvbmUgaW4gdGhlCisgICAgICAgIGV3a192aWV3
X3NtYXJ0X2FkZCgpLCBzbyB0aGUgb2JqZWN0IHdoaWNoIGluaGVyaXRzIHRoZSBld2tfdmlldyBz
aG91bGQKKyAgICAgICAgdXNlIGV3a192aWV3X3NtYXJ0X2FkZCgpIGluc3RlYWQgb2YgZXZhc19v
YmplY3Rfc21hcnRfYWRkKCkgdG8gY3JlYXRlCisgICAgICAgIEV2YXNfT2JqZWN0LgorCisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwOgorICAgICAgICAoZXdrX2Nv
bnRleHRfbmV3X2Zyb21fV0tDb250ZXh0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9l
d2tfY29udGV4dF9wcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3Zp
ZXcuY3BwOgorICAgICAgICAoZXdrX3ZpZXdfc21hcnRfY2xhc3Nfc2V0KToKKyAgICAgICAgKF9l
d2tfdmlld19zbWFydF9jbGFzc19uZXcpOgorICAgICAgICAoX2V3a192aWV3X2luaXRpYWxpemUp
OgorICAgICAgICAoX2V3a192aWV3X2FkZF93aXRoX3NtYXJ0KToKKyAgICAgICAgKGV3a192aWV3
X2Jhc2VfYWRkKToKKyAgICAgICAgKGV3a192aWV3X3NtYXJ0X2FkZCk6CisgICAgICAgIChld2tf
dmlld19hZGRfd2l0aF9jb250ZXh0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tf
dmlldy5oOgorCiAyMDEyLTA4LTA4ICBBbmRyYXMgQmVjc2kgIDxhbmRyYXMuYmVjc2lAbm9raWEu
Y29tPgogCiAgICAgICAgIFtRdF1bV0syXSBTZXQgdGhlIGZpeGVkIGxheW91dCBzZXR0aW5nIGJl
Zm9yZSBjcmVhdGluZyB0aGUgcGFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX2NvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9lZmwvZXdrX2NvbnRleHQuY3BwCmluZGV4IGMwNzU2ZWQwODY4MWE2NGEzM2Y4ZmJlNjUwODAx
Yzg0ZWM4NTQ2OGMuLmQ2NDUzNzU3ZWIyYzI5MTdkNmUzN2VlZjEyY2NhMjMzZDhlZjY5YmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dC5jcHAK
QEAgLTExOCw2ICsxMTgsMTcgQEAgV0tDb250ZXh0UmVmIGV3a19jb250ZXh0X1dLQ29udGV4dF9n
ZXQoY29uc3QgRXdrX0NvbnRleHQqIGV3a0NvbnRleHQpCiAKIC8qKgogICogQGludGVybmFsCisg
KiBDcmVhdGUgRXdrX0NvbnRleHQgZnJvbSBXS0NvbnRleHQuCisgKi8KK0V3a19Db250ZXh0KiBl
d2tfY29udGV4dF9uZXdfZnJvbV9XS0NvbnRleHQoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYpCit7
CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKGNvbnRleHRSZWYsIDApOworCisg
ICAgcmV0dXJuIG5ldyBFd2tfQ29udGV4dChjb250ZXh0UmVmKTsKK30KKworLyoqCisgKiBAaW50
ZXJuYWwKICAqIFJlZ2lzdGVycyB0aGF0IGEgbmV3IGRvd25sb2FkIGhhcyBiZWVuIHJlcXVlc3Rl
ZC4KICAqLwogdm9pZCBld2tfY29udGV4dF9kb3dubG9hZF9qb2JfYWRkKEV3a19Db250ZXh0KiBl
d2tDb250ZXh0LCBFd2tfRG93bmxvYWRfSm9iKiBld2tEb3dubG9hZCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X3ByaXZhdGUuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X3ByaXZhdGUuaAppbmRl
eCBkYjllOTExZDI4MWIwYjk1MWI2YTM5YzIzZWRmYjg5YzY3NGNjZDQ5Li5kMWI2OTVlMGNiZTIw
YzUzMTQwZDQ2NjI0NmFkMjBlOTFjMDM0NDFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfcHJpdmF0ZS5oCkBAIC0yNyw2ICsyNyw3
IEBAIHR5cGVkZWYgc3RydWN0IF9Fd2tfRG93bmxvYWRfSm9iIEV3a19Eb3dubG9hZF9Kb2I7CiB0
eXBlZGVmIHN0cnVjdCBfRXdrX1VybF9TY2hlbWVfUmVxdWVzdCBFd2tfVXJsX1NjaGVtZV9SZXF1
ZXN0OwogCiBXS0NvbnRleHRSZWYgZXdrX2NvbnRleHRfV0tDb250ZXh0X2dldChjb25zdCBFd2tf
Q29udGV4dCopOworRXdrX0NvbnRleHQqIGV3a19jb250ZXh0X25ld19mcm9tX1dLQ29udGV4dChX
S0NvbnRleHRSZWYpOwogV0tTb3VwUmVxdWVzdE1hbmFnZXJSZWYgZXdrX2NvbnRleHRfcmVxdWVz
dF9tYW5hZ2VyX2dldChjb25zdCBFd2tfQ29udGV4dCopOwogdm9pZCBld2tfY29udGV4dF91cmxf
c2NoZW1lX3JlcXVlc3RfcmVjZWl2ZWQoRXdrX0NvbnRleHQqLCBFd2tfVXJsX1NjaGVtZV9SZXF1
ZXN0Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3
a192aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmNw
cAppbmRleCBkOGYzNzQwMWM3YjM0NjZjZTZkZWUyNTJlY2RkMzYzOGQwODQwMDFjLi43ZDhiMWNl
MDU2NDMxNTQ5M2I1MTNkMTE1MzUyZDk5YjQwZTUxYzEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfdmlldy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuY3BwCkBAIC02MTEsNyArNjExLDcgQEAgc3RhdGlj
IHZvaWQgX2V3a192aWV3X3NtYXJ0X2NvbG9yX3NldChFdmFzX09iamVjdCogZXdrVmlldywgaW50
IHJlZCwgaW50IGdyZWVuLAogICAgIGdfcGFyZW50U21hcnRDbGFzcy5jb2xvcl9zZXQoZXdrVmll
dywgcmVkLCBncmVlbiwgYmx1ZSwgYWxwaGEpOwogfQogCi1FaW5hX0Jvb2wgZXdrX3ZpZXdfc21h
cnRfY2xhc3NfaW5pdChFd2tfVmlld19TbWFydF9DbGFzcyogYXBpKQorRWluYV9Cb29sIGV3a192
aWV3X3NtYXJ0X2NsYXNzX3NldChFd2tfVmlld19TbWFydF9DbGFzcyogYXBpKQogewogICAgIEVJ
TkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChhcGksIGZhbHNlKTsKIApAQCAtNjU2LDE2ICs2
NTYsNDYgQEAgc3RhdGljIGlubGluZSBFdmFzX1NtYXJ0KiBfZXdrX3ZpZXdfc21hcnRfY2xhc3Nf
bmV3KHZvaWQpCiAgICAgc3RhdGljIEV2YXNfU21hcnQqIHNtYXJ0ID0gMDsKIAogICAgIGlmIChF
SU5BX1VOTElLRUxZKCFzbWFydCkpIHsKLSAgICAgICAgZXdrX3ZpZXdfc21hcnRfY2xhc3NfaW5p
dCgmYXBpKTsKKyAgICAgICAgZXdrX3ZpZXdfc21hcnRfY2xhc3Nfc2V0KCZhcGkpOwogICAgICAg
ICBzbWFydCA9IGV2YXNfc21hcnRfY2xhc3NfbmV3KCZhcGkuc2MpOwogICAgIH0KIAogICAgIHJl
dHVybiBzbWFydDsKIH0KIAotRXZhc19PYmplY3QqIGV3a192aWV3X2Jhc2VfYWRkKEV2YXMqIGNh
bnZhcywgV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmIHBhZ2VHcm91cFJl
ZikKK3N0YXRpYyB2b2lkIF9ld2tfdmlld19pbml0aWFsaXplKEV2YXNfT2JqZWN0KiBld2tWaWV3
LCBFd2tfQ29udGV4dCogY29udGV4dCwgV0tQYWdlR3JvdXBSZWYgcGFnZUdyb3VwUmVmKQogewot
ICAgIEV2YXNfT2JqZWN0KiBld2tWaWV3ID0gZXZhc19vYmplY3Rfc21hcnRfYWRkKGNhbnZhcywg
X2V3a192aWV3X3NtYXJ0X2NsYXNzX25ldygpKTsKKyAgICBFV0tfVklFV19TRF9HRVRfT1JfUkVU
VVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSk7CisgICAgRVdLX1ZJRVdfUFJJVl9HRVRfT1JfUkVUVVJO
KHNtYXJ0RGF0YSwgcHJpdikKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTihjb250ZXh0
KTsKKworICAgIGlmIChwcml2LT5wYWdlQ2xpZW50KQorICAgICAgICByZXR1cm47CisKKyAgICBw
cml2LT5wYWdlQ2xpZW50ID0gUGFnZUNsaWVudEltcGw6OmNyZWF0ZSh0b0ltcGwoZXdrX2NvbnRl
eHRfV0tDb250ZXh0X2dldChjb250ZXh0KSksIHRvSW1wbChwYWdlR3JvdXBSZWYpLCBld2tWaWV3
KTsKKyAgICBwcml2LT5iYWNrRm9yd2FyZExpc3QgPSBld2tfYmFja19mb3J3YXJkX2xpc3RfbmV3
KHRvQVBJKHByaXYtPnBhZ2VDbGllbnQtPnBhZ2UoKS0+YmFja0ZvcndhcmRMaXN0KCkpKTsKKwor
I2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKKyAgICBwcml2LT52aWV3cG9ydEhhbmRsZXIg
PSBFZmxWaWV3cG9ydEhhbmRsZXI6OmNyZWF0ZShwcml2LT5wYWdlQ2xpZW50LmdldCgpKTsKKyNl
bmRpZgorCisgICAgV0tQYWdlUmVmIHdrUGFnZSA9IHRvQVBJKHByaXYtPnBhZ2VDbGllbnQtPnBh
Z2UoKSk7CisgICAgZXdrX3ZpZXdfZmluZF9jbGllbnRfYXR0YWNoKHdrUGFnZSwgZXdrVmlldyk7
CisgICAgZXdrX3ZpZXdfZm9ybV9jbGllbnRfYXR0YWNoKHdrUGFnZSwgZXdrVmlldyk7CisgICAg
ZXdrX3ZpZXdfbG9hZGVyX2NsaWVudF9hdHRhY2god2tQYWdlLCBld2tWaWV3KTsKKyAgICBld2tf
dmlld19wb2xpY3lfY2xpZW50X2F0dGFjaCh3a1BhZ2UsIGV3a1ZpZXcpOworICAgIGV3a192aWV3
X3Jlc291cmNlX2xvYWRfY2xpZW50X2F0dGFjaCh3a1BhZ2UsIGV3a1ZpZXcpOworICAgIGV3a192
aWV3X3VpX2NsaWVudF9hdHRhY2god2tQYWdlLCBld2tWaWV3KTsKKworICAgIGV3a192aWV3X3Ro
ZW1lX3NldChld2tWaWV3LCBERUZBVUxUX1RIRU1FX1BBVEgiL2RlZmF1bHQuZWRqIik7Cit9CisK
K3N0YXRpYyBFdmFzX09iamVjdCogX2V3a192aWV3X2FkZF93aXRoX3NtYXJ0KEV2YXMqIGNhbnZh
cywgRXZhc19TbWFydCogc21hcnQpCit7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5f
VkFMKGNhbnZhcywgMCk7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHNtYXJ0
LCAwKTsKKworICAgIEV2YXNfT2JqZWN0KiBld2tWaWV3ID0gZXZhc19vYmplY3Rfc21hcnRfYWRk
KGNhbnZhcywgc21hcnQpOwogICAgIGlmICghZXdrVmlldykKICAgICAgICAgcmV0dXJuIDA7CiAK
QEAgLTY4MSwyOSArNzExLDQ0IEBAIEV2YXNfT2JqZWN0KiBld2tfdmlld19iYXNlX2FkZChFdmFz
KiBjYW52YXMsIFdLQ29udGV4dFJlZiBjb250ZXh0UmVmLCBXS1BhZ2VHcm91CiAgICAgICAgIHJl
dHVybiAwOwogICAgIH0KIAotICAgIHByaXYtPnBhZ2VDbGllbnQgPSBQYWdlQ2xpZW50SW1wbDo6
Y3JlYXRlKHRvSW1wbChjb250ZXh0UmVmKSwgdG9JbXBsKHBhZ2VHcm91cFJlZiksIGV3a1ZpZXcp
OwotICAgIHByaXYtPmJhY2tGb3J3YXJkTGlzdCA9IGV3a19iYWNrX2ZvcndhcmRfbGlzdF9uZXco
dG9BUEkocHJpdi0+cGFnZUNsaWVudC0+cGFnZSgpLT5iYWNrRm9yd2FyZExpc3QoKSkpOworICAg
IHJldHVybiBld2tWaWV3OworfQogCi0gICAgV0tQYWdlUmVmIHdrUGFnZSA9IHRvQVBJKHByaXYt
PnBhZ2VDbGllbnQtPnBhZ2UoKSk7Ci0gICAgZXdrX3ZpZXdfZmluZF9jbGllbnRfYXR0YWNoKHdr
UGFnZSwgZXdrVmlldyk7Ci0gICAgZXdrX3ZpZXdfZm9ybV9jbGllbnRfYXR0YWNoKHdrUGFnZSwg
ZXdrVmlldyk7Ci0gICAgZXdrX3ZpZXdfbG9hZGVyX2NsaWVudF9hdHRhY2god2tQYWdlLCBld2tW
aWV3KTsKLSAgICBld2tfdmlld19wb2xpY3lfY2xpZW50X2F0dGFjaCh3a1BhZ2UsIGV3a1ZpZXcp
OwotICAgIGV3a192aWV3X3Jlc291cmNlX2xvYWRfY2xpZW50X2F0dGFjaCh3a1BhZ2UsIGV3a1Zp
ZXcpOwotICAgIGV3a192aWV3X3VpX2NsaWVudF9hdHRhY2god2tQYWdlLCBld2tWaWV3KTsKKy8q
KgorICogQGludGVybmFsCisgKiBDb25zdHJ1Y3RzIGEgZXdrX3ZpZXcgRXZhc19PYmplY3Qgd2l0
aCBXS1R5cGUgcGFyYW1ldGVycy4KKyAqLworRXZhc19PYmplY3QqIGV3a192aWV3X2Jhc2VfYWRk
KEV2YXMqIGNhbnZhcywgV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGFnZUdyb3VwUmVmIHBh
Z2VHcm91cFJlZikKK3sKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoY2FudmFz
LCAwKTsKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoY29udGV4dFJlZiwgMCk7
CisgICAgRXZhc19PYmplY3QqIGV3a1ZpZXcgPSBfZXdrX3ZpZXdfYWRkX3dpdGhfc21hcnQoY2Fu
dmFzLCBfZXdrX3ZpZXdfc21hcnRfY2xhc3NfbmV3KCkpOworICAgIGlmICghZXdrVmlldykKKyAg
ICAgICAgcmV0dXJuIDA7CiAKLSAgICBld2tfdmlld190aGVtZV9zZXQoZXdrVmlldywgREVGQVVM
VF9USEVNRV9QQVRIIi9kZWZhdWx0LmVkaiIpOworICAgIF9ld2tfdmlld19pbml0aWFsaXplKGV3
a1ZpZXcsIGV3a19jb250ZXh0X25ld19mcm9tX1dLQ29udGV4dChjb250ZXh0UmVmKSwgcGFnZUdy
b3VwUmVmKTsKIAotI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKLSAgICBwcml2LT52aWV3
cG9ydEhhbmRsZXIgPSBFZmxWaWV3cG9ydEhhbmRsZXI6OmNyZWF0ZShwcml2LT5wYWdlQ2xpZW50
LmdldCgpKTsKLSNlbmRpZgorICAgIHJldHVybiBld2tWaWV3OworfQorCitFdmFzX09iamVjdCog
ZXdrX3ZpZXdfc21hcnRfYWRkKEV2YXMqIGNhbnZhcywgRXZhc19TbWFydCogc21hcnQsIEV3a19D
b250ZXh0KiBjb250ZXh0KQoreworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChj
YW52YXMsIDApOworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChzbWFydCwgMCk7
CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKGNvbnRleHQsIDApOworCisgICAg
RXZhc19PYmplY3QqIGV3a1ZpZXcgPSBfZXdrX3ZpZXdfYWRkX3dpdGhfc21hcnQoY2FudmFzLCBz
bWFydCk7CisgICAgaWYgKCFld2tWaWV3KQorICAgICAgICByZXR1cm4gMDsKKworICAgIF9ld2tf
dmlld19pbml0aWFsaXplKGV3a1ZpZXcsIGNvbnRleHQsIDApOwogCiAgICAgcmV0dXJuIGV3a1Zp
ZXc7CiB9CiAKIEV2YXNfT2JqZWN0KiBld2tfdmlld19hZGRfd2l0aF9jb250ZXh0KEV2YXMqIGNh
bnZhcywgRXdrX0NvbnRleHQqIGNvbnRleHQpCiB7Ci0gICAgcmV0dXJuIGV3a192aWV3X2Jhc2Vf
YWRkKGNhbnZhcywgZXdrX2NvbnRleHRfV0tDb250ZXh0X2dldChjb250ZXh0KSwgMCk7CisgICAg
cmV0dXJuIGV3a192aWV3X3NtYXJ0X2FkZChjYW52YXMsIF9ld2tfdmlld19zbWFydF9jbGFzc19u
ZXcoKSwgY29udGV4dCk7CiB9CiAKIEV2YXNfT2JqZWN0KiBld2tfdmlld19hZGQoRXZhcyogY2Fu
dmFzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX3Zp
ZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a192aWV3LmgKaW5kZXgg
NWRmYjBmNGIzZDkwMjZiNGZmYzQ5YmUwMTY4Mzg1NWIyZTZmMDY2OC4uNDIzZjllMTQzMTgzMmIy
NDBiOTI3N2E1OGQxNzBiZWEyMzE3OTE2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfdmlldy5oCkBAIC0yMzgsNiArMjM4LDQ0IEBAIGVudW0gX0V3a19GaW5kX09w
dGlvbnMgewogdHlwZWRlZiBlbnVtIF9Fd2tfRmluZF9PcHRpb25zIEV3a19GaW5kX09wdGlvbnM7
CiAKIC8qKgorICogU2V0cyB0aGUgc21hcnQgY2xhc3MgQVBJcywgZW5hYmxpbmcgdmlldyB0byBi
ZSBpbmhlcml0ZWQuCisgKgorICogQHBhcmFtIGFwaSBjbGFzcyBkZWZpbml0aW9uIHRvIHNldCwg
YWxsIG1lbWJlcnMgd2l0aCB0aGUKKyAqICAgICAgICBleGNlcHRpb24gb2YgQGEgRXZhc19TbWFy
dF9DbGFzcy0+ZGF0YSBtYXkgYmUgb3ZlcnJpZGRlbiwgbXVzdAorICogICAgICAgIEBiIG5vdCBi
ZSBAYyBOVUxMCisgKgorICogQG5vdGUgQGEgRXZhc19TbWFydF9DbGFzcy0+ZGF0YSBpcyB1c2Vk
IHRvIGltcGxlbWVudCB0eXBlIGNoZWNraW5nIGFuZAorICogICAgICAgaXMgbm90IHN1cHBvc2Vk
IHRvIGJlIGNoYW5nZWQvb3ZlcnJpZGRlbi4gSWYgeW91IG5lZWQgZXh0cmEKKyAqICAgICAgIGRh
dGEgZm9yIHlvdXIgc21hcnQgY2xhc3MgdG8gd29yaywganVzdCBleHRlbmQKKyAqICAgICAgIEV3
a19WaWV3X1NtYXJ0X0NsYXNzIGluc3RlYWQuCisgKiAgICAgICBUaGUgRXZhc19PYmplY3Qgd2hp
Y2ggaW5oZXJpdHMgdGhlIGV3a192aWV3IHNob3VsZCB1c2UKKyAqICAgICAgIGV3a192aWV3X3Nt
YXJ0X2FkZCgpIHRvIGNyZWF0ZSBFdmFzX09iamVjdCBpbnN0ZWFkIG9mCisgKiAgICAgICBldmFz
X29iamVjdF9zbWFydF9hZGQoKSBiZWNhdXNlIGl0IHBlcmZvcm1zIGFkZGl0aW9uYWwgaW5pdGlh
bGl6YXRpb24KKyAqICAgICAgIGZvciB0aGUgZXdrX3ZpZXcuCisgKgorICogQHJldHVybiBAYyBF
SU5BX1RSVUUgb24gc3VjY2VzcyBvciBAYyBFSU5BX0ZBTFNFIG9uIGZhaWx1cmUgKHByb2JhYmx5
CisgKiAgICAgICAgIHZlcnNpb24gbWlzbWF0Y2gpCisgKgorICogQHNlZSBld2tfdmlld19zbWFy
dF9hZGQoKQorICovCitFQVBJIEVpbmFfQm9vbCBld2tfdmlld19zbWFydF9jbGFzc19zZXQoRXdr
X1ZpZXdfU21hcnRfQ2xhc3MgKmFwaSk7CisKKy8qKgorICogQ3JlYXRlcyBhIG5ldyBFRkwgV2Vi
S2l0IHZpZXcgb2JqZWN0IHdpdGggRXZhc19TbWFydCBhbmQgRXdrX0NvbnRleHQuCisgKgorICog
QG5vdGUgVGhlIEV2YXNfT2JqZWN0IHdoaWNoIGluaGVyaXRzIHRoZSBld2tfdmlldyBzaG91bGQg
Y3JlYXRlIGl0cworICogICAgICAgRXZhc19PYmplY3QgdXNpbmcgdGhpcyBBUEkgaW5zdGVhZCBv
ZiBldmFzX29iamVjdF9zbWFydF9hZGQoKQorICogICAgICAgYmVjYXVzZSB0aGUgZGVmYXVsdCBp
bml0aWFsaXphdGlvbiBmb3IgZXdrX3ZpZXcgaXMgZG9uZSBpbiB0aGlzIEFQSS4KKyAqCisgKiBA
cGFyYW0gZSBjYW52YXMgb2JqZWN0IHdoZXJlIHRvIGNyZWF0ZSB0aGUgdmlldyBvYmplY3QKKyAq
IEBwYXJhbSBzbWFydCBFdmFzX1NtYXJ0IG9iamVjdC4gSXRzIHR5cGUgc2hvdWxkIGJlIEVXS19W
SUVXX1RZUEVfU1RSCisgKiBAcGFyYW0gY29udGV4dCBFd2tfQ29udGV4dCBvYmplY3Qgd2hpY2gg
aXMgdXNlZCBmb3IgaW5pdGlhbGl6aW5nCisgKgorICogQHJldHVybiB2aWV3IG9iamVjdCBvbiBz
dWNjZXNzIG9yIEBjIE5VTEwgb24gZmFpbHVyZQorICovCitFdmFzX09iamVjdCAqZXdrX3ZpZXdf
c21hcnRfYWRkKEV2YXMgKmUsIEV2YXNfU21hcnQgKnNtYXJ0LCBFd2tfQ29udGV4dCAqY29udGV4
dCk7CisKKy8qKgogICogQ3JlYXRlcyBhIG5ldyBFRkwgV2ViS2l0IHZpZXcgb2JqZWN0LgogICoK
ICAqIEBwYXJhbSBlIGNhbnZhcyBvYmplY3Qgd2hlcmUgdG8gY3JlYXRlIHRoZSB2aWV3IG9iamVj
dAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>