<?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>74487</bug_id>
          
          <creation_ts>2011-12-14 00:07:33 -0800</creation_ts>
          <short_desc>Support orientation attribute of viewport meta tag.</short_desc>
          <delta_ts>2012-02-01 04:26:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryuan Choi">ryuan.choi</reporter>
          <assigned_to name="Ryuan Choi">ryuan.choi</assigned_to>
          <cc>benjamin</cc>
    
    <cc>chrisjshull</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>donggwan.kim</cc>
    
    <cc>eoconnor</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>joepeck</cc>
    
    <cc>kenneth</cc>
    
    <cc>mike</cc>
    
    <cc>rakuco</cc>
    
    <cc>sangseok.lim</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>wonsuk11.lee</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>520739</commentid>
    <comment_count>0</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-12-14 00:07:33 -0800</bug_when>
    <thetext>Orientation attribute of viewport enables web pages to request whether to lock orientation of contents.
This is optional attribute of the spec: http://dev.w3.org/csswg/css-device-adapt/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520819</commentid>
    <comment_count>1</comment_count>
      <attachid>119188</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-12-14 03:12:05 -0800</bug_when>
    <thetext>Created attachment 119188
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521570</commentid>
    <comment_count>2</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-12-14 18:47:26 -0800</bug_when>
    <thetext>CC&apos;ing kenneth, he is main developer for viewport meta tag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521796</commentid>
    <comment_count>3</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-12-15 03:39:43 -0800</bug_when>
    <thetext>I have personally been against this as it poses some big usability problems. It is highly confusing for users if the browser automatically rotates when clicking on a link or navigating session history. It is also confusing for the users when the web browser suddently doesn&apos;t want to rotate.

So I suggest that we only respect the properly for stand-alone web apps and for fullscreen (FullscreenAPI spec).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521798</commentid>
    <comment_count>4</comment_count>
      <attachid>119188</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-12-15 03:42:07 -0800</bug_when>
    <thetext>Comment on attachment 119188
Patch

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

&gt; Source/WebCore/dom/ViewportArguments.h:46
&gt; +    ViewportOrientationAuto,

Can&apos;t this use the ValueAuto?

&gt; Source/WebKit/efl/ewk/ewk_view.h:84
&gt; + *  - &quot;viewport,orientation,changed&quot;, Ewk_Viewport_Orientation: reports that orientation of viewport was changed.
&gt;   *  - &quot;viewport,changed&quot;, void: reports that viewport was changed.

Why doesnt the below cover this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521875</commentid>
    <comment_count>5</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-12-15 06:55:27 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; I have personally been against this as it poses some big usability problems. It is highly confusing for users if the browser automatically rotates when clicking on a link or navigating session history. It is also confusing for the users when the web browser suddently doesn&apos;t want to rotate.
&gt; 
&gt; So I suggest that we only respect the properly for stand-alone web apps and for fullscreen (FullscreenAPI spec).

Thanks for the review.

I agree. it can make usability problem for the almost case without you mentioned.
I think that webkit should just notify this attribute for the application such as web apps framework or browser application which is in fullscreen mode.

(In reply to comment #4)
&gt; (From update of attachment 119188 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=119188&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/ViewportArguments.h:46
&gt; &gt; +    ViewportOrientationAuto,
&gt; 
&gt; Can&apos;t this use the ValueAuto?

I considered but I thought that ViewportOrientationXXX is clear to convert WebCore&apos;s enum into WebKit port&apos;s enum.

&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:84
&gt; &gt; + *  - &quot;viewport,orientation,changed&quot;, Ewk_Viewport_Orientation: reports that orientation of viewport was changed.
&gt; &gt;   *  - &quot;viewport,changed&quot;, void: reports that viewport was changed.
&gt; 
&gt; Why doesnt the below cover this?

IMHO, orientation is not proper value for the additional data of &quot;viewport,changed&quot;.
ViewportArgument looks reasonable as the additional data of &quot;viewport,changed&quot;.

For now, WebKit/Efl doesn&apos;t need to share ViewportArgument values via &quot;viewport,changed&quot; signal because it provide computed ViewportAttribute using ewk_view_viewport_attributes_get().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522644</commentid>
    <comment_count>6</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-12-16 02:17:17 -0800</bug_when>
    <thetext>I sent an email to www-style:

http://lists.w3.org/Archives/Public/www-style/2011Dec/0402.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524297</commentid>
    <comment_count>7</comment_count>
      <attachid>119188</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-12-19 16:52:44 -0800</bug_when>
    <thetext>Comment on attachment 119188
Patch

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

&gt; Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp:299
&gt; +void DumpRenderTreeChrome::onViewportOrientationChanged(void*, Evas_Object*, void* eventInfo)
&gt; +{
&gt; +    Ewk_Viewport_Orientation* orientation = static_cast&lt;Ewk_Viewport_Orientation*&gt;(eventInfo);
&gt; +    switch (*orientation) {
&gt; +    case EWK_VIEWPORT_ORIENTATION_AUTO:
&gt; +        printf(&quot;viewport orientation changed to auto\n&quot;);
&gt; +        break;
&gt; +    case EWK_VIEWPORT_ORIENTATION_PORTRAIT:
&gt; +        printf(&quot;viewport orientation changed to portrait\n&quot;);
&gt; +        break;
&gt; +    case EWK_VIEWPORT_ORIENTATION_LANDSCAPE:
&gt; +        printf(&quot;viewport orientation changed to landscape\n&quot;);
&gt; +        break;
&gt; +    }
&gt; +}

On the EFL side, this method does not make sense. There is no layout test checking for these messages.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524871</commentid>
    <comment_count>8</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-12-20 15:16:17 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 119188 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=119188&amp;action=review
&gt; 
&gt; &gt; Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp:299
&gt; &gt; +void DumpRenderTreeChrome::onViewportOrientationChanged(void*, Evas_Object*, void* eventInfo)
&gt; &gt; +{
&gt; &gt; +    Ewk_Viewport_Orientation* orientation = static_cast&lt;Ewk_Viewport_Orientation*&gt;(eventInfo);
&gt; &gt; +    switch (*orientation) {
&gt; &gt; +    case EWK_VIEWPORT_ORIENTATION_AUTO:
&gt; &gt; +        printf(&quot;viewport orientation changed to auto\n&quot;);
&gt; &gt; +        break;
&gt; &gt; +    case EWK_VIEWPORT_ORIENTATION_PORTRAIT:
&gt; &gt; +        printf(&quot;viewport orientation changed to portrait\n&quot;);
&gt; &gt; +        break;
&gt; &gt; +    case EWK_VIEWPORT_ORIENTATION_LANDSCAPE:
&gt; &gt; +        printf(&quot;viewport orientation changed to landscape\n&quot;);
&gt; &gt; +        break;
&gt; &gt; +    }
&gt; &gt; +}
&gt; 
&gt; On the EFL side, this method does not make sense. There is no layout test checking for these messages.

Sorry, test case was missed in this patch.
This method is for new test case.

I&apos;ll update patch for the test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>525018</commentid>
    <comment_count>9</comment_count>
      <attachid>120126</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-12-20 17:51:05 -0800</bug_when>
    <thetext>Created attachment 120126
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>536850</commentid>
    <comment_count>10</comment_count>
      <attachid>122703</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-01-16 19:23:15 -0800</bug_when>
    <thetext>Created attachment 122703
rebase_patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>537027</commentid>
    <comment_count>11</comment_count>
      <attachid>122703</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-01-17 05:04:23 -0800</bug_when>
    <thetext>Comment on attachment 122703
rebase_patch

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

&gt; LayoutTests/fast/viewport/viewport-orientation-expected.txt:3
&gt; +viewport orientation changed to landscape
&gt; +
&gt; +viewport orientation changed to auto

I think this should be checked like any other viewport test... here you are testing your specific implementation which sends this out as a separate signal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546980</commentid>
    <comment_count>12</comment_count>
      <attachid>124922</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-02-01 03:34:57 -0800</bug_when>
    <thetext>Created attachment 124922
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546982</commentid>
    <comment_count>13</comment_count>
      <attachid>124922</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-02-01 03:38:24 -0800</bug_when>
    <thetext>Comment on attachment 124922
Patch

orientation is controversal and will probably be removed from the CSS DA spec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547004</commentid>
    <comment_count>14</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-02-01 04:26:25 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 124922 [details])
&gt; orientation is controversal and will probably be removed from the CSS DA spec.

Close the bug because of above reason.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119188</attachid>
            <date>2011-12-14 03:12:05 -0800</date>
            <delta_ts>2011-12-20 17:50:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74487-20111214201204.patch</filename>
            <type>text/plain</type>
            <size>11758</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNzM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjJmZDg3ZDI3NTZmZDM2
Y2QwNjhlZWRjNjhmMmNiMzZjYzI5NDg4NS4uMTQ1MDc0YTYxMjY4NDZhNzIzMjE2ZDNiYjRjMDFk
ZDQ2MjhhYjk4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDExLTEyLTE0ICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKworICAgICAgICBTdXBwb3J0IG9yaWVu
dGF0aW9uIGF0dHJpYnV0ZSBvZiB2aWV3cG9ydCBtZXRhIHRhZy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDg3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT3JpZW50YXRpb24gYXR0cmlidXRlIG9mIHZp
ZXdwb3J0IGVuYWJsZXMgd2ViIHBhZ2VzIHRvIHJlcXVlc3Qgd2hldGhlciB0bworICAgICAgICBs
b2NrIG9yaWVudGF0aW9uIG9mIGNvbnRlbnRzLgorICAgICAgICBUaGlzIGlzIG9wdGlvbmFsIGF0
dHJpYnV0ZSBvZiB0aGUgc3BlYzogaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3NzLWRldmljZS1h
ZGFwdC8KKworICAgICAgICBUZXN0OiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LW9yaWVudGF0aW9u
Lmh0bWwKKworICAgICAgICAqIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpmaW5kT3JpZW50YXRpb25WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpzZXRWaWV3
cG9ydEZlYXR1cmUpOgorICAgICAgICAqIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5oOgorICAgICAg
ICAoV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHM6OlZpZXdwb3J0QXJndW1lbnRzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzOjpvcGVyYXRvcj09KToKKwogMjAxMS0xMi0x
MyAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByMTAyNzMyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IGE1ZmI4MDkx
NmJkMjEwMGQwN2QwOTQxODA1MzBkNDMwZDM5MmY4ODEuLmE4YzYwYmI2YmE1ZjkzMGJmOWMzMTEz
MDczMTkxY2FlMDQ3YzA2Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAx
MS0xMi0xNCAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAg
U3VwcG9ydCBvcmllbnRhdGlvbiBhdHRyaWJ1dGUgb2Ygdmlld3BvcnQgbWV0YSB0YWcuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ4NworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzaWduYWwgd2hp
Y2ggcmVwb3J0cyB0aGF0IHZpZXdwb3J0IG9yaWVudGF0aW9uIHdhcyBjaGFuZ2VkLgorCisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6IGNoZWNrIG5ld2x5
IGFkZGVkIGV1bm0gdmFsdWVzLgorICAgICAgICAqIGV3ay9ld2tfdmlldy5jcHA6CisgICAgICAg
IChld2tfdmlld192aWV3cG9ydF9hdHRyaWJ1dGVzX3NldCk6CisgICAgICAgICogZXdrL2V3a192
aWV3Lmg6CisKIDIwMTEtMTItMTIgIFJhcGhhZWwgS3VibyBkYSBDb3N0YSAgPGt1Ym9AcHJvZnVz
aW9uLm1vYmk+CiAKICAgICAgICAgW0VGTF0gQWRkIEFQSSB0byBxdWVyeSB0aGUgdmFsaWRpdHkg
b2YgYSBmcmFtZSdzIFNTTCBjZXJ0aWZpY2F0ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRB
cmd1bWVudHMuY3BwCmluZGV4IDkzOWFjNWM2MGE2YTg1MjNkZTgxNWU3N2NlZGM3MjliNmNiNGY1
MGEuLjJkM2NlNDQ5ODJiZTNjMTEyZjg3ZWE0NmY5NmQxNDM2ZDJlZDIxMGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcApAQCAtMjgzLDYgKzI4MywxNiBAQCBzdGF0
aWMgZmxvYXQgZmluZFNjYWxlVmFsdWUoY29uc3QgU3RyaW5nJiBrZXlTdHJpbmcsIGNvbnN0IFN0
cmluZyYgdmFsdWVTdHJpbmcsCiAgICAgcmV0dXJuIHZhbHVlOwogfQogCitzdGF0aWMgVmlld3Bv
cnRPcmllbnRhdGlvbiBmaW5kT3JpZW50YXRpb25WYWx1ZShjb25zdCBTdHJpbmcmIGtleVN0cmlu
ZywgY29uc3QgU3RyaW5nJiB2YWx1ZVN0cmluZywgRG9jdW1lbnQqIGRvY3VtZW50KQoreworICAg
IGlmIChlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZVN0cmluZywgInBvcnRyYWl0IikpCisgICAgICAg
IHJldHVybiBWaWV3cG9ydE9yaWVudGF0aW9uUG9ydHJhaXQ7CisgICAgaWYgKGVxdWFsSWdub3Jp
bmdDYXNlKHZhbHVlU3RyaW5nLCAibGFuZHNjYXBlIikpCisgICAgICAgIHJldHVybiBWaWV3cG9y
dE9yaWVudGF0aW9uTGFuZHNjYXBlOworCisgICAgcmV0dXJuIFZpZXdwb3J0T3JpZW50YXRpb25B
dXRvOworfQorCiBzdGF0aWMgZmxvYXQgZmluZFVzZXJTY2FsYWJsZVZhbHVlKGNvbnN0IFN0cmlu
ZyYga2V5U3RyaW5nLCBjb25zdCBTdHJpbmcmIHZhbHVlU3RyaW5nLCBEb2N1bWVudCogZG9jdW1l
bnQpCiB7CiAgICAgLy8geWVzIGFuZCBubyBhcmUgdXNlZCBhcyBrZXl3b3Jkcy4KQEAgLTM0OSw2
ICszNTksOCBAQCB2b2lkIHNldFZpZXdwb3J0RmVhdHVyZShjb25zdCBTdHJpbmcmIGtleVN0cmlu
ZywgY29uc3QgU3RyaW5nJiB2YWx1ZVN0cmluZywgRG9jdQogICAgICAgICBhcmd1bWVudHMtPm1p
bmltdW1TY2FsZSA9IGZpbmRTY2FsZVZhbHVlKGtleVN0cmluZywgdmFsdWVTdHJpbmcsIGRvY3Vt
ZW50KTsKICAgICBlbHNlIGlmIChrZXlTdHJpbmcgPT0gIm1heGltdW0tc2NhbGUiKQogICAgICAg
ICBhcmd1bWVudHMtPm1heGltdW1TY2FsZSA9IGZpbmRTY2FsZVZhbHVlKGtleVN0cmluZywgdmFs
dWVTdHJpbmcsIGRvY3VtZW50KTsKKyAgICBlbHNlIGlmIChrZXlTdHJpbmcgPT0gIm9yaWVudGF0
aW9uIikKKyAgICAgICAgYXJndW1lbnRzLT5vcmllbnRhdGlvbiA9IGZpbmRPcmllbnRhdGlvblZh
bHVlKGtleVN0cmluZywgdmFsdWVTdHJpbmcsIGRvY3VtZW50KTsKICAgICBlbHNlIGlmIChrZXlT
dHJpbmcgPT0gInVzZXItc2NhbGFibGUiKQogICAgICAgICBhcmd1bWVudHMtPnVzZXJTY2FsYWJs
ZSA9IGZpbmRVc2VyU2NhbGFibGVWYWx1ZShrZXlTdHJpbmcsIHZhbHVlU3RyaW5nLCBkb2N1bWVu
dCk7CiAgICAgZWxzZSBpZiAoa2V5U3RyaW5nID09ICJ0YXJnZXQtZGVuc2l0eWRwaSIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oCmluZGV4IDU5YjQxZGVkMWZkNDdmNjI3ZWJi
YTIzMWJlNzg0NDc2MWI0YjcyNDcuLmM0NTEwNDQwNTBjMWYwMWQ3ZjBiZTVjNzA5MzUzNGI0MWNl
NWI2YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oCkBAIC00Miw2ICs0
MiwxMiBAQCBlbnVtIFZpZXdwb3J0RXJyb3JDb2RlIHsKICAgICBUYXJnZXREZW5zaXR5RHBpVG9v
U21hbGxPckxhcmdlRXJyb3IKIH07CiAKK2VudW0gVmlld3BvcnRPcmllbnRhdGlvbiB7CisgICAg
Vmlld3BvcnRPcmllbnRhdGlvbkF1dG8sCisgICAgVmlld3BvcnRPcmllbnRhdGlvblBvcnRyYWl0
LAorICAgIFZpZXdwb3J0T3JpZW50YXRpb25MYW5kc2NhcGUKK307CisKIHN0cnVjdCBWaWV3cG9y
dEF0dHJpYnV0ZXMgewogICAgIEludFNpemUgbGF5b3V0U2l6ZTsKIApAQCAtODEsNiArODcsNyBA
QCBzdHJ1Y3QgVmlld3BvcnRBcmd1bWVudHMgewogICAgICAgICAsIGhlaWdodChWYWx1ZUF1dG8p
CiAgICAgICAgICwgdGFyZ2V0RGVuc2l0eURwaShWYWx1ZUF1dG8pCiAgICAgICAgICwgdXNlclNj
YWxhYmxlKFZhbHVlQXV0bykKKyAgICAgICAgLCBvcmllbnRhdGlvbihWaWV3cG9ydE9yaWVudGF0
aW9uQXV0bykKICAgICB7CiAgICAgfQogCkBAIC05MSw2ICs5OCw3IEBAIHN0cnVjdCBWaWV3cG9y
dEFyZ3VtZW50cyB7CiAgICAgZmxvYXQgaGVpZ2h0OwogICAgIGZsb2F0IHRhcmdldERlbnNpdHlE
cGk7CiAgICAgZmxvYXQgdXNlclNjYWxhYmxlOworICAgIFZpZXdwb3J0T3JpZW50YXRpb24gb3Jp
ZW50YXRpb247CiAKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgVmlld3BvcnRBcmd1bWVudHMm
IG90aGVyKSBjb25zdAogICAgIHsKQEAgLTEwMiw3ICsxMTAsOCBAQCBzdHJ1Y3QgVmlld3BvcnRB
cmd1bWVudHMgewogICAgICAgICAgICAgJiYgd2lkdGggPT0gb3RoZXIud2lkdGgKICAgICAgICAg
ICAgICYmIGhlaWdodCA9PSBvdGhlci5oZWlnaHQKICAgICAgICAgICAgICYmIHRhcmdldERlbnNp
dHlEcGkgPT0gb3RoZXIudGFyZ2V0RGVuc2l0eURwaQotICAgICAgICAgICAgJiYgdXNlclNjYWxh
YmxlID09IG90aGVyLnVzZXJTY2FsYWJsZTsKKyAgICAgICAgICAgICYmIHVzZXJTY2FsYWJsZSA9
PSBvdGhlci51c2VyU2NhbGFibGUKKyAgICAgICAgICAgICYmIG9yaWVudGF0aW9uID09IG90aGVy
Lm9yaWVudGF0aW9uOwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwIGIvU291cmNlL1dlYktpdC9l
ZmwvV2ViQ29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKaW5kZXggNmRjODZkOWJj
MjgyNTEyOTg0NWVhZWI1ZDJlNTFlYmUzNTMyOTczNi4uMjdiNDJhMzA3ZGZmYTEzZWQyMTYwZWEw
ODY5ZGNiZjdmYzYzYzYyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1
cHBvcnQvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKQEAgLTI0LDYgKzI0LDcgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJWaWV3cG9y
dEFyZ3VtZW50cy5oIgogI2luY2x1ZGUgIlZpc2libGVTZWxlY3Rpb24uaCIKICNpbmNsdWRlICJl
d2tfZnJhbWUuaCIKICNpbmNsdWRlICJld2tfdmlldy5oIgpAQCAtNjEsNiArNjIsMTAgQEAgQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVE9VQ0hfUE9JTlRfQ0FOQ0VMTEVELCBQbGF0
Zm9ybVRvdWNoUG9pbnQ6OlRvdWMKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1RP
VUNIX1BPSU5UX0VORCwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFN0YXRlRW5kKTsKICNlbmRp
ZgogCitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19WSUVXUE9SVF9PUklFTlRBVElP
Tl9BVVRPLCBWaWV3cG9ydE9yaWVudGF0aW9uQXV0byk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19WSUVXUE9SVF9PUklFTlRBVElPTl9QT1JUUkFJVCwgVmlld3BvcnRPcmllbnRh
dGlvblBvcnRyYWl0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1ZJRVdQT1JU
X09SSUVOVEFUSU9OX0xBTkRTQ0FQRSwgVmlld3BvcnRPcmllbnRhdGlvbkxhbmRzY2FwZSk7CisK
IENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1ZJRVdfTU9ERV9JTlZBTElELCBQYWdl
OjpWaWV3TW9kZUludmFsaWQpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVklF
V19NT0RFX1dJTkRPV0VELCBQYWdlOjpWaWV3TW9kZVdpbmRvd2VkKTsKIENPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX1ZJRVdfTU9ERV9GTE9BVElORywgUGFnZTo6Vmlld01vZGVGbG9h
dGluZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwIGIv
U291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAppbmRleCA5Y2MyYjkzMmE5MjdlY2Q3
YmRlOWZhMjA3NTY1MThmYTBkZmI4ZDIyLi5mNmMzYjAxMWU4MTI3MTgzYjgyY2MzZWRhMjQ2MjM5
MzRkZDFhNzdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKQEAgLTM1MjIsNiArMzUy
Miw3IEBAIHZvaWQgZXdrX3ZpZXdfanNfd2luZG93X29iamVjdF9jbGVhcihFdmFzX09iamVjdCog
ZXdrVmlldywgRXZhc19PYmplY3QqIGZyYW1lKQogICoKICAqIEBwYXJhbSBhcmd1bWVudHMgdmll
d3BvcnQgYXJndW1lbnQuCiAgKgorICogRW1pdHMgc2lnbmFsOiAidmlld3BvcnQsb3JpZW50YXRp
b24sY2hhbmdlZCIgd2l0aCBhbiBFd2tfVmlld3BvcnRfT3JpZW50YXRpb24uCiAgKiBFbWl0cyBz
aWduYWw6ICJ2aWV3cG9ydCxjaGFuZ2VkIiB3aXRoIG5vIHBhcmFtZXRlcnMuCiAgKi8KIHZvaWQg
ZXdrX3ZpZXdfdmlld3BvcnRfYXR0cmlidXRlc19zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGNv
bnN0IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzJiBhcmd1bWVudHMpCkBAIC0zNTI5LDYgKzM1
MzAsMTAgQEAgdm9pZCBld2tfdmlld192aWV3cG9ydF9hdHRyaWJ1dGVzX3NldChFdmFzX09iamVj
dCogZXdrVmlldywgY29uc3QgV2ViQ29yZTo6Vmlld3AKICAgICBFV0tfVklFV19TRF9HRVQoZXdr
Vmlldywgc21hcnREYXRhKTsKICAgICBFV0tfVklFV19QUklWX0dFVChzbWFydERhdGEsIHByaXYp
OwogCisgICAgaWYgKHByaXYtPnZpZXdwb3J0QXJndW1lbnRzLm9yaWVudGF0aW9uICE9IGFyZ3Vt
ZW50cy5vcmllbnRhdGlvbikgeworICAgICAgICBFd2tfVmlld3BvcnRfT3JpZW50YXRpb24gb3Jp
ZW50YXRpb24gPSBzdGF0aWNfY2FzdDxFd2tfVmlld3BvcnRfT3JpZW50YXRpb24+KGFyZ3VtZW50
cy5vcmllbnRhdGlvbik7CisgICAgICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwo
ZXdrVmlldywgInZpZXdwb3J0LG9yaWVudGF0aW9uLGNoYW5nZWQiLCAmb3JpZW50YXRpb24pOwor
ICAgIH0KICAgICBwcml2LT52aWV3cG9ydEFyZ3VtZW50cyA9IGFyZ3VtZW50czsKICAgICBldmFz
X29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKGV3a1ZpZXcsICJ2aWV3cG9ydCxjaGFuZ2VkIiwg
MCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaCBiL1Nv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCmluZGV4IGVjNTY2NWM1MjJjMjk3MjIyMzhm
MzAyMWRjY2IzNzhmNTA1MTA3NjguLjlmYzg4NDA0MjI3MDdlYzU0NGNjNzRkOGQ3OTljNzY5MzI1
Njk1NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCkBAIC04MCw2ICs4MCw3IEBACiAgKiAg
LSAidG9vbHRpcCx0ZXh0LHNldCIsIGNvbnN0IGNoYXIqOiBzZXRzIHRvb2x0aXAgdGV4dCBhbmQg
ZGlzcGxheXMgaWYgaXQgaXMgY3VycmVudGx5IGhpZGRlbi4KICAqICAtICJ1cmksY2hhbmdlZCIs
IGNvbnN0IGNoYXIqOiB1cmkgb2YgdGhlIG1haW4gZnJhbWUgd2FzIGNoYW5nZWQuCiAgKiAgLSAi
dmlldyxyZXNpemVkIiwgdm9pZDogdmlldyBvYmplY3QncyBzaXplIHdhcyBjaGFuZ2VkLgorICog
IC0gInZpZXdwb3J0LG9yaWVudGF0aW9uLGNoYW5nZWQiLCBFd2tfVmlld3BvcnRfT3JpZW50YXRp
b246IHJlcG9ydHMgdGhhdCBvcmllbnRhdGlvbiBvZiB2aWV3cG9ydCB3YXMgY2hhbmdlZC4KICAq
ICAtICJ2aWV3cG9ydCxjaGFuZ2VkIiwgdm9pZDogcmVwb3J0cyB0aGF0IHZpZXdwb3J0IHdhcyBj
aGFuZ2VkLgogICogIC0gInpvb20sYW5pbWF0ZWQsZW5kIiwgdm9pZDogcmVxdWVzdGVkIGFuaW1h
dGVkIHpvb20gaXMgZmluaXNoZWQuCiAgKi8KQEAgLTMyOSw2ICszMzAsMTUgQEAgZW51bSBfRXdr
X1ZpZXdfTW9kZSB7CiAvLy8gQ3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgQGEgX0V3a19WaWV3X01v
ZGUuCiB0eXBlZGVmIGVudW0gX0V3a19WaWV3X01vZGUgRXdrX1ZpZXdfTW9kZTsKIAorLy8vIERl
ZmluZXMgdGhlIG9yaWVudGF0aW9uIG9mIHZpZXdwb3J0LgorZW51bSBfRXdrX1ZpZXdwb3J0X09y
aWVudGF0aW9uIHsKKyAgICBFV0tfVklFV1BPUlRfT1JJRU5UQVRJT05fQVVUTywKKyAgICBFV0tf
VklFV1BPUlRfT1JJRU5UQVRJT05fUE9SVFJBSVQsCisgICAgRVdLX1ZJRVdQT1JUX09SSUVOVEFU
SU9OX0xBTkRTQ0FQRQorfTsKKy8vLyBDcmVhdGVzIGEgdHlwZSBuYW1lIGZvciBAYSBfRXdrX1Zp
ZXdwb3J0X09yaWVudGF0aW9uLgordHlwZWRlZiBlbnVtIF9Fd2tfVmlld3BvcnRfT3JpZW50YXRp
b24gRXdrX1ZpZXdwb3J0X09yaWVudGF0aW9uOworCiAvLy8gRGVmaW5lcyB0aGUgZm9udCBmYW1p
bGllcy4KIGVudW0gX0V3a19Gb250X0ZhbWlseSB7CiAgICAgRVdLX0ZPTlRfRkFNSUxZX1NUQU5E
QVJEID0gMCwKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCA1ODQ3N2YwZTZlNjhkZGI5ZTdmMjIwNjc5YTUzYWY2YjJmNGJmNTY3Li45NWMyNmM5NTFj
MGFlZWQwNDEwMjdmNDY3YTYyMWVlNmQxYWM2NTE0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMTItMTQgIFJ5
dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFN1cHBvcnQgb3Jp
ZW50YXRpb24gYXR0cmlidXRlIG9mIHZpZXdwb3J0IG1ldGEgdGFnLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0ODcKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGVjayB2aWV3cG9ydCxvcmllbnRhdGlv
bixjaGFuZ2VkIHRvIHRlc3Qgdmlld3BvcnQgb3JpZW50YXRpb24gYXR0cmlidXRlLgorCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcDoKKyAgICAg
ICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVhdGVWaWV3KToKKyAgICAgICAgKER1bXBSZW5k
ZXJUcmVlQ2hyb21lOjpvblZpZXdwb3J0T3JpZW50YXRpb25DaGFuZ2VkKToKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaDoKKwogMjAxMS0xMi0xMyAg
S2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW1JlZmFjdG9y
aW5nXSBSZW1vdmUgc2V2ZXJhbCBnbG9iYWwgdmFyaWFibGVzIGZyb20gcHJlcGFyZS1DaGFuZ2VM
b2cKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNo
cm9tZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUu
Y3BwCmluZGV4IGNlN2EwMGQ5ZjhiNWQ5ODdkZDkxN2Q3MmQyNWViNTU3OGY1YjFiYTEuLjM4YjZl
NjIwZmU2NTljNDM2YjgzYmQ1ZWIzZWFiNmJhODQxZmU2MzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcApAQCAtOTIsNiArOTIsNyBA
QCBFdmFzX09iamVjdCogRHVtcFJlbmRlclRyZWVDaHJvbWU6OmNyZWF0ZVZpZXcoKSBjb25zdAog
ICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh2aWV3LCAid2luZG93LG9iamVjdCxj
bGVhcmVkIiwgb25XaW5kb3dPYmplY3RDbGVhcmVkLCBtX2djQ29udHJvbGxlci5nZXQoKSk7CiAg
ICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZpZXcsICJzdGF0dXNiYXIsdGV4dCxz
ZXQiLCBvblN0YXR1c2JhclRleHRTZXQsIDApOwogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxi
YWNrX2FkZCh2aWV3LCAibG9hZCxkb2N1bWVudCxmaW5pc2hlZCIsIG9uRG9jdW1lbnRMb2FkRmlu
aXNoZWQsIDApOworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh2aWV3LCAidmll
d3BvcnQsb3JpZW50YXRpb24sY2hhbmdlZCIsIG9uVmlld3BvcnRPcmllbnRhdGlvbkNoYW5nZWQs
IDApOwogCiAgICAgcmV0dXJuIHZpZXc7CiB9CkBAIC0yODAsMyArMjgxLDE5IEBAIHZvaWQgRHVt
cFJlbmRlclRyZWVDaHJvbWU6Om9uRG9jdW1lbnRMb2FkRmluaXNoZWQodm9pZCosIEV2YXNfT2Jq
ZWN0Kiwgdm9pZCogZXZlCiAgICAgICAgICAgICBwcmludGYoIiVzIC0gaGFzICV1IG9udW5sb2Fk
IGhhbmRsZXIocylcbiIsIGZyYW1lTmFtZS51dGY4KCkuZGF0YSgpLCBwZW5kaW5nRnJhbWVVbmxv
YWRFdmVudHMpOwogICAgIH0KIH0KKwordm9pZCBEdW1wUmVuZGVyVHJlZUNocm9tZTo6b25WaWV3
cG9ydE9yaWVudGF0aW9uQ2hhbmdlZCh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKiBldmVudElu
Zm8pCit7CisgICAgRXdrX1ZpZXdwb3J0X09yaWVudGF0aW9uKiBvcmllbnRhdGlvbiA9IHN0YXRp
Y19jYXN0PEV3a19WaWV3cG9ydF9PcmllbnRhdGlvbio+KGV2ZW50SW5mbyk7CisgICAgc3dpdGNo
ICgqb3JpZW50YXRpb24pIHsKKyAgICBjYXNlIEVXS19WSUVXUE9SVF9PUklFTlRBVElPTl9BVVRP
OgorICAgICAgICBwcmludGYoInZpZXdwb3J0IG9yaWVudGF0aW9uIGNoYW5nZWQgdG8gYXV0b1xu
Iik7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgRVdLX1ZJRVdQT1JUX09SSUVOVEFUSU9OX1BP
UlRSQUlUOgorICAgICAgICBwcmludGYoInZpZXdwb3J0IG9yaWVudGF0aW9uIGNoYW5nZWQgdG8g
cG9ydHJhaXRcbiIpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEVXS19WSUVXUE9SVF9PUklF
TlRBVElPTl9MQU5EU0NBUEU6CisgICAgICAgIHByaW50Zigidmlld3BvcnQgb3JpZW50YXRpb24g
Y2hhbmdlZCB0byBsYW5kc2NhcGVcbiIpOworICAgICAgICBicmVhazsKKyAgICB9Cit9CmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaCBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5oCmluZGV4IDRl
YTk5MTgwNjI5MTcyYmJlN2M1OTIzYmNhNzU3ODU3ZmY0MWQzMDIuLjRlZjkzOGViMTI4M2E0MDE0
YWJiMDcyMTdiODg2ODE5MmI5YzRmYzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Vm
bC9EdW1wUmVuZGVyVHJlZUNocm9tZS5oCkBAIC03NSw2ICs3NSw4IEBAIHByaXZhdGU6CiAgICAg
c3RhdGljIHZvaWQgb25UaXRsZUNoYW5nZWQodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCopOwog
CiAgICAgc3RhdGljIHZvaWQgb25Eb2N1bWVudExvYWRGaW5pc2hlZCh2b2lkKiwgRXZhc19PYmpl
Y3QqLCB2b2lkKik7CisKKyAgICBzdGF0aWMgdm9pZCBvblZpZXdwb3J0T3JpZW50YXRpb25DaGFu
Z2VkKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqKTsKIH07CiAKICNlbmRpZiAvLyBEdW1wUmVu
ZGVyVHJlZUNocm9tZV9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120126</attachid>
            <date>2011-12-20 17:51:05 -0800</date>
            <delta_ts>2012-01-16 19:23:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74487-20111221105103.patch</filename>
            <type>text/plain</type>
            <size>13416</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzMzcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTU2NjNmZmJkNDRjZjA2
OTY3M2Y2NWVlYjQ1ZWE3NTgyZjk5YzEwMS4uYzJhYjgxNjBmNmY0MmU3N2IzMjQyYjE0OGI3YTVj
NWE4MGVmMjE0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDExLTEyLTIwICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKworICAgICAgICBTdXBwb3J0IG9yaWVu
dGF0aW9uIGF0dHJpYnV0ZSBvZiB2aWV3cG9ydCBtZXRhIHRhZy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDg3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT3JpZW50YXRpb24gYXR0cmlidXRlIG9mIHZp
ZXdwb3J0IGVuYWJsZXMgd2ViIHBhZ2VzIHRvIHJlcXVlc3Qgd2hldGhlciB0bworICAgICAgICBs
b2NrIG9yaWVudGF0aW9uIG9mIGNvbnRlbnRzLgorICAgICAgICBUaGlzIGlzIG9wdGlvbmFsIGF0
dHJpYnV0ZSBvZiB0aGUgc3BlYzogaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3NzLWRldmljZS1h
ZGFwdC8KKworICAgICAgICBUZXN0OiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LW9yaWVudGF0aW9u
Lmh0bWwKKworICAgICAgICAqIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpmaW5kT3JpZW50YXRpb25WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpzZXRWaWV3
cG9ydEZlYXR1cmUpOgorICAgICAgICAqIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5oOgorICAgICAg
ICAoV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHM6OlZpZXdwb3J0QXJndW1lbnRzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzOjpvcGVyYXRvcj09KToKKwogMjAxMS0xMi0y
MCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJW
VFQgY3VlcyBzb21ldGltZXMgcmVuZGVyIHdoZW4gdGhleSBzaG91bGQgbm90CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VM
b2cKaW5kZXggZDU2OTgwY2YwZDZkNmY2MWUwZGRlN2FlNDJjZGYyMjVjZTQ4MTgwOC4uYzNiMDJh
ZTQwODM2YzVlYjU0YWRiNThjNzhlY2E0ZjI1YzQ3ZDMxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDExLTEyLTIwICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5n
LmNvbT4KKworICAgICAgICBTdXBwb3J0IG9yaWVudGF0aW9uIGF0dHJpYnV0ZSBvZiB2aWV3cG9y
dCBtZXRhIHRhZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTc0NDg3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIHNpZ25hbCB3aGljaCByZXBvcnRzIHRoYXQgdmlld3BvcnQgb3JpZW50YXRpb24gd2Fz
IGNoYW5nZWQuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9Bc3NlcnRNYXRjaGluZ0VudW1z
LmNwcDoKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuY3BwOgorICAgICAgICAoZXdrX3ZpZXdfdmll
d3BvcnRfYXR0cmlidXRlc19zZXQpOgorICAgICAgICAqIGV3ay9ld2tfdmlldy5oOgorCiAyMDEx
LTEyLTE5ICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBb
RUZMXSBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGV3a192aWV3X3NjYWxlX3NldC4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCmluZGV4IDkzOWFjNWM2MGE2YTg1MjNkZTgx
NWU3N2NlZGM3MjliNmNiNGY1MGEuLjJkM2NlNDQ5ODJiZTNjMTEyZjg3ZWE0NmY5NmQxNDM2ZDJl
ZDIxMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcApAQCAtMjgz
LDYgKzI4MywxNiBAQCBzdGF0aWMgZmxvYXQgZmluZFNjYWxlVmFsdWUoY29uc3QgU3RyaW5nJiBr
ZXlTdHJpbmcsIGNvbnN0IFN0cmluZyYgdmFsdWVTdHJpbmcsCiAgICAgcmV0dXJuIHZhbHVlOwog
fQogCitzdGF0aWMgVmlld3BvcnRPcmllbnRhdGlvbiBmaW5kT3JpZW50YXRpb25WYWx1ZShjb25z
dCBTdHJpbmcmIGtleVN0cmluZywgY29uc3QgU3RyaW5nJiB2YWx1ZVN0cmluZywgRG9jdW1lbnQq
IGRvY3VtZW50KQoreworICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZVN0cmluZywgInBv
cnRyYWl0IikpCisgICAgICAgIHJldHVybiBWaWV3cG9ydE9yaWVudGF0aW9uUG9ydHJhaXQ7Cisg
ICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlU3RyaW5nLCAibGFuZHNjYXBlIikpCisgICAg
ICAgIHJldHVybiBWaWV3cG9ydE9yaWVudGF0aW9uTGFuZHNjYXBlOworCisgICAgcmV0dXJuIFZp
ZXdwb3J0T3JpZW50YXRpb25BdXRvOworfQorCiBzdGF0aWMgZmxvYXQgZmluZFVzZXJTY2FsYWJs
ZVZhbHVlKGNvbnN0IFN0cmluZyYga2V5U3RyaW5nLCBjb25zdCBTdHJpbmcmIHZhbHVlU3RyaW5n
LCBEb2N1bWVudCogZG9jdW1lbnQpCiB7CiAgICAgLy8geWVzIGFuZCBubyBhcmUgdXNlZCBhcyBr
ZXl3b3Jkcy4KQEAgLTM0OSw2ICszNTksOCBAQCB2b2lkIHNldFZpZXdwb3J0RmVhdHVyZShjb25z
dCBTdHJpbmcmIGtleVN0cmluZywgY29uc3QgU3RyaW5nJiB2YWx1ZVN0cmluZywgRG9jdQogICAg
ICAgICBhcmd1bWVudHMtPm1pbmltdW1TY2FsZSA9IGZpbmRTY2FsZVZhbHVlKGtleVN0cmluZywg
dmFsdWVTdHJpbmcsIGRvY3VtZW50KTsKICAgICBlbHNlIGlmIChrZXlTdHJpbmcgPT0gIm1heGlt
dW0tc2NhbGUiKQogICAgICAgICBhcmd1bWVudHMtPm1heGltdW1TY2FsZSA9IGZpbmRTY2FsZVZh
bHVlKGtleVN0cmluZywgdmFsdWVTdHJpbmcsIGRvY3VtZW50KTsKKyAgICBlbHNlIGlmIChrZXlT
dHJpbmcgPT0gIm9yaWVudGF0aW9uIikKKyAgICAgICAgYXJndW1lbnRzLT5vcmllbnRhdGlvbiA9
IGZpbmRPcmllbnRhdGlvblZhbHVlKGtleVN0cmluZywgdmFsdWVTdHJpbmcsIGRvY3VtZW50KTsK
ICAgICBlbHNlIGlmIChrZXlTdHJpbmcgPT0gInVzZXItc2NhbGFibGUiKQogICAgICAgICBhcmd1
bWVudHMtPnVzZXJTY2FsYWJsZSA9IGZpbmRVc2VyU2NhbGFibGVWYWx1ZShrZXlTdHJpbmcsIHZh
bHVlU3RyaW5nLCBkb2N1bWVudCk7CiAgICAgZWxzZSBpZiAoa2V5U3RyaW5nID09ICJ0YXJnZXQt
ZGVuc2l0eWRwaSIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1
bWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oCmluZGV4IDU5
YjQxZGVkMWZkNDdmNjI3ZWJiYTIzMWJlNzg0NDc2MWI0YjcyNDcuLmM0NTEwNDQwNTBjMWYwMWQ3
ZjBiZTVjNzA5MzUzNGI0MWNlNWI2YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9W
aWV3cG9ydEFyZ3VtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3Vt
ZW50cy5oCkBAIC00Miw2ICs0MiwxMiBAQCBlbnVtIFZpZXdwb3J0RXJyb3JDb2RlIHsKICAgICBU
YXJnZXREZW5zaXR5RHBpVG9vU21hbGxPckxhcmdlRXJyb3IKIH07CiAKK2VudW0gVmlld3BvcnRP
cmllbnRhdGlvbiB7CisgICAgVmlld3BvcnRPcmllbnRhdGlvbkF1dG8sCisgICAgVmlld3BvcnRP
cmllbnRhdGlvblBvcnRyYWl0LAorICAgIFZpZXdwb3J0T3JpZW50YXRpb25MYW5kc2NhcGUKK307
CisKIHN0cnVjdCBWaWV3cG9ydEF0dHJpYnV0ZXMgewogICAgIEludFNpemUgbGF5b3V0U2l6ZTsK
IApAQCAtODEsNiArODcsNyBAQCBzdHJ1Y3QgVmlld3BvcnRBcmd1bWVudHMgewogICAgICAgICAs
IGhlaWdodChWYWx1ZUF1dG8pCiAgICAgICAgICwgdGFyZ2V0RGVuc2l0eURwaShWYWx1ZUF1dG8p
CiAgICAgICAgICwgdXNlclNjYWxhYmxlKFZhbHVlQXV0bykKKyAgICAgICAgLCBvcmllbnRhdGlv
bihWaWV3cG9ydE9yaWVudGF0aW9uQXV0bykKICAgICB7CiAgICAgfQogCkBAIC05MSw2ICs5OCw3
IEBAIHN0cnVjdCBWaWV3cG9ydEFyZ3VtZW50cyB7CiAgICAgZmxvYXQgaGVpZ2h0OwogICAgIGZs
b2F0IHRhcmdldERlbnNpdHlEcGk7CiAgICAgZmxvYXQgdXNlclNjYWxhYmxlOworICAgIFZpZXdw
b3J0T3JpZW50YXRpb24gb3JpZW50YXRpb247CiAKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3Qg
Vmlld3BvcnRBcmd1bWVudHMmIG90aGVyKSBjb25zdAogICAgIHsKQEAgLTEwMiw3ICsxMTAsOCBA
QCBzdHJ1Y3QgVmlld3BvcnRBcmd1bWVudHMgewogICAgICAgICAgICAgJiYgd2lkdGggPT0gb3Ro
ZXIud2lkdGgKICAgICAgICAgICAgICYmIGhlaWdodCA9PSBvdGhlci5oZWlnaHQKICAgICAgICAg
ICAgICYmIHRhcmdldERlbnNpdHlEcGkgPT0gb3RoZXIudGFyZ2V0RGVuc2l0eURwaQotICAgICAg
ICAgICAgJiYgdXNlclNjYWxhYmxlID09IG90aGVyLnVzZXJTY2FsYWJsZTsKKyAgICAgICAgICAg
ICYmIHVzZXJTY2FsYWJsZSA9PSBvdGhlci51c2VyU2NhbGFibGUKKyAgICAgICAgICAgICYmIG9y
aWVudGF0aW9uID09IG90aGVyLm9yaWVudGF0aW9uOwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Fzc2VydE1hdGNoaW5nRW51bXMuY3Bw
IGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5j
cHAKaW5kZXggYmZmMmZjZDNiYTZkZWQ3Y2NiZjljMTczZjVhNjM1N2E0MjVlZWIzZi4uN2JmZjkw
YmY4YjhjNmM1MmJmZWE0OWYxMDkxMTc4MTJhNzczNjY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKQEAg
LTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1ZGUgIlBhZ2UuaCIK
KyNpbmNsdWRlICJWaWV3cG9ydEFyZ3VtZW50cy5oIgogI2luY2x1ZGUgIlZpc2libGVTZWxlY3Rp
b24uaCIKICNpbmNsdWRlICJld2tfZnJhbWUuaCIKICNpbmNsdWRlICJld2tfdmlldy5oIgpAQCAt
NTYsNiArNTcsMTAgQEAgQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVE9VQ0hfUE9J
TlRfQ0FOQ0VMTEVELCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWMKIENPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX1RPVUNIX1BPSU5UX0VORCwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3Vj
aFN0YXRlRW5kKTsKICNlbmRpZgogCitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19W
SUVXUE9SVF9PUklFTlRBVElPTl9BVVRPLCBWaWV3cG9ydE9yaWVudGF0aW9uQXV0byk7CitDT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19WSUVXUE9SVF9PUklFTlRBVElPTl9QT1JUUkFJ
VCwgVmlld3BvcnRPcmllbnRhdGlvblBvcnRyYWl0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX1ZJRVdQT1JUX09SSUVOVEFUSU9OX0xBTkRTQ0FQRSwgVmlld3BvcnRPcmllbnRh
dGlvbkxhbmRzY2FwZSk7CisKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1ZJRVdf
TU9ERV9JTlZBTElELCBQYWdlOjpWaWV3TW9kZUludmFsaWQpOwogQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfVklFV19NT0RFX1dJTkRPV0VELCBQYWdlOjpWaWV3TW9kZVdpbmRvd2Vk
KTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1ZJRVdfTU9ERV9GTE9BVElORywg
UGFnZTo6Vmlld01vZGVGbG9hdGluZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcAppbmRl
eCA5MWVlZWExNjdlN2M4ODc2OWI3NjU2ZmZjZDAyNjdjNDU1MDdhYmJjLi4xZDlkYWZhYTRhODU4
ZTAwY2JiNjIxNjQ5ZTk5MjQ1OGFjYzhmZGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5j
cHAKQEAgLTM1MTcsNiArMzUxNyw3IEBAIHZvaWQgZXdrX3ZpZXdfanNfd2luZG93X29iamVjdF9j
bGVhcihFdmFzX09iamVjdCogZXdrVmlldywgRXZhc19PYmplY3QqIGZyYW1lKQogICoKICAqIEBw
YXJhbSBhcmd1bWVudHMgdmlld3BvcnQgYXJndW1lbnQuCiAgKgorICogRW1pdHMgc2lnbmFsOiAi
dmlld3BvcnQsb3JpZW50YXRpb24sY2hhbmdlZCIgd2l0aCBhbiBFd2tfVmlld3BvcnRfT3JpZW50
YXRpb24uCiAgKiBFbWl0cyBzaWduYWw6ICJ2aWV3cG9ydCxjaGFuZ2VkIiB3aXRoIG5vIHBhcmFt
ZXRlcnMuCiAgKi8KIHZvaWQgZXdrX3ZpZXdfdmlld3BvcnRfYXR0cmlidXRlc19zZXQoRXZhc19P
YmplY3QqIGV3a1ZpZXcsIGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzJiBhcmd1bWVu
dHMpCkBAIC0zNTI0LDYgKzM1MjUsMTAgQEAgdm9pZCBld2tfdmlld192aWV3cG9ydF9hdHRyaWJ1
dGVzX3NldChFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgV2ViQ29yZTo6Vmlld3AKICAgICBF
V0tfVklFV19TRF9HRVQoZXdrVmlldywgc21hcnREYXRhKTsKICAgICBFV0tfVklFV19QUklWX0dF
VChzbWFydERhdGEsIHByaXYpOwogCisgICAgaWYgKHByaXYtPnZpZXdwb3J0QXJndW1lbnRzLm9y
aWVudGF0aW9uICE9IGFyZ3VtZW50cy5vcmllbnRhdGlvbikgeworICAgICAgICBFd2tfVmlld3Bv
cnRfT3JpZW50YXRpb24gb3JpZW50YXRpb24gPSBzdGF0aWNfY2FzdDxFd2tfVmlld3BvcnRfT3Jp
ZW50YXRpb24+KGFyZ3VtZW50cy5vcmllbnRhdGlvbik7CisgICAgICAgIGV2YXNfb2JqZWN0X3Nt
YXJ0X2NhbGxiYWNrX2NhbGwoZXdrVmlldywgInZpZXdwb3J0LG9yaWVudGF0aW9uLGNoYW5nZWQi
LCAmb3JpZW50YXRpb24pOworICAgIH0KICAgICBwcml2LT52aWV3cG9ydEFyZ3VtZW50cyA9IGFy
Z3VtZW50czsKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKGV3a1ZpZXcsICJ2
aWV3cG9ydCxjaGFuZ2VkIiwgMCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX3ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCmluZGV4IGVj
NTY2NWM1MjJjMjk3MjIyMzhmMzAyMWRjY2IzNzhmNTA1MTA3NjguLjlmYzg4NDA0MjI3MDdlYzU0
NGNjNzRkOGQ3OTljNzY5MzI1Njk1NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfdmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCkBAIC04
MCw2ICs4MCw3IEBACiAgKiAgLSAidG9vbHRpcCx0ZXh0LHNldCIsIGNvbnN0IGNoYXIqOiBzZXRz
IHRvb2x0aXAgdGV4dCBhbmQgZGlzcGxheXMgaWYgaXQgaXMgY3VycmVudGx5IGhpZGRlbi4KICAq
ICAtICJ1cmksY2hhbmdlZCIsIGNvbnN0IGNoYXIqOiB1cmkgb2YgdGhlIG1haW4gZnJhbWUgd2Fz
IGNoYW5nZWQuCiAgKiAgLSAidmlldyxyZXNpemVkIiwgdm9pZDogdmlldyBvYmplY3QncyBzaXpl
IHdhcyBjaGFuZ2VkLgorICogIC0gInZpZXdwb3J0LG9yaWVudGF0aW9uLGNoYW5nZWQiLCBFd2tf
Vmlld3BvcnRfT3JpZW50YXRpb246IHJlcG9ydHMgdGhhdCBvcmllbnRhdGlvbiBvZiB2aWV3cG9y
dCB3YXMgY2hhbmdlZC4KICAqICAtICJ2aWV3cG9ydCxjaGFuZ2VkIiwgdm9pZDogcmVwb3J0cyB0
aGF0IHZpZXdwb3J0IHdhcyBjaGFuZ2VkLgogICogIC0gInpvb20sYW5pbWF0ZWQsZW5kIiwgdm9p
ZDogcmVxdWVzdGVkIGFuaW1hdGVkIHpvb20gaXMgZmluaXNoZWQuCiAgKi8KQEAgLTMyOSw2ICsz
MzAsMTUgQEAgZW51bSBfRXdrX1ZpZXdfTW9kZSB7CiAvLy8gQ3JlYXRlcyBhIHR5cGUgbmFtZSBm
b3IgQGEgX0V3a19WaWV3X01vZGUuCiB0eXBlZGVmIGVudW0gX0V3a19WaWV3X01vZGUgRXdrX1Zp
ZXdfTW9kZTsKIAorLy8vIERlZmluZXMgdGhlIG9yaWVudGF0aW9uIG9mIHZpZXdwb3J0LgorZW51
bSBfRXdrX1ZpZXdwb3J0X09yaWVudGF0aW9uIHsKKyAgICBFV0tfVklFV1BPUlRfT1JJRU5UQVRJ
T05fQVVUTywKKyAgICBFV0tfVklFV1BPUlRfT1JJRU5UQVRJT05fUE9SVFJBSVQsCisgICAgRVdL
X1ZJRVdQT1JUX09SSUVOVEFUSU9OX0xBTkRTQ0FQRQorfTsKKy8vLyBDcmVhdGVzIGEgdHlwZSBu
YW1lIGZvciBAYSBfRXdrX1ZpZXdwb3J0X09yaWVudGF0aW9uLgordHlwZWRlZiBlbnVtIF9Fd2tf
Vmlld3BvcnRfT3JpZW50YXRpb24gRXdrX1ZpZXdwb3J0X09yaWVudGF0aW9uOworCiAvLy8gRGVm
aW5lcyB0aGUgZm9udCBmYW1pbGllcy4KIGVudW0gX0V3a19Gb250X0ZhbWlseSB7CiAgICAgRVdL
X0ZPTlRfRkFNSUxZX1NUQU5EQVJEID0gMCwKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlYWU1NjhhNGYxZjNmYjFmMWRlYjFmMmZiZTY0ODJjZDYy
MzcyNzdiLi4wNjkwZjM2YWU3M2QxNTZkMGFiZTBlNzhjMmMyYTM5YjBkNDFkMzQ1IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTEtMTItMjAgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisg
ICAgICAgIFN1cHBvcnQgb3JpZW50YXRpb24gYXR0cmlidXRlIG9mIHZpZXdwb3J0IG1ldGEgdGFn
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0ODcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGVjayB2
aWV3cG9ydCxvcmllbnRhdGlvbixjaGFuZ2VkIHRvIHRlc3Qgdmlld3BvcnQgb3JpZW50YXRpb24g
YXR0cmlidXRlLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVl
Q2hyb21lLmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVhdGVWaWV3KToK
KyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvblZpZXdwb3J0T3JpZW50YXRpb25DaGFu
Z2VkKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUu
aDoKKwogMjAxMS0xMi0yMCAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBucnd0OiByZW5hbWUgZmllbGQgcmVmZXJlbmNlcyBmcm9tIF9mcyB0byBfZmlsZXN5
c3RlbQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVl
Q2hyb21lLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9t
ZS5jcHAKaW5kZXggY2U3YTAwZDlmOGI1ZDk4N2RkOTE3ZDcyZDI1ZWI1NTc4ZjViMWJhMS4uMzhi
NmU2MjBmZTY1OWM0MzZiODNiZDVlYjNlYWI2YmE4NDFmZTYzNiAxMDA2NDQKLS0tIGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwCkBAIC05Miw2ICs5Miw3
IEBAIEV2YXNfT2JqZWN0KiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6Y3JlYXRlVmlldygpIGNvbnN0
CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZpZXcsICJ3aW5kb3csb2JqZWN0
LGNsZWFyZWQiLCBvbldpbmRvd09iamVjdENsZWFyZWQsIG1fZ2NDb250cm9sbGVyLmdldCgpKTsK
ICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQodmlldywgInN0YXR1c2Jhcix0ZXh0
LHNldCIsIG9uU3RhdHVzYmFyVGV4dFNldCwgMCk7CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2Fs
bGJhY2tfYWRkKHZpZXcsICJsb2FkLGRvY3VtZW50LGZpbmlzaGVkIiwgb25Eb2N1bWVudExvYWRG
aW5pc2hlZCwgMCk7CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZpZXcsICJ2
aWV3cG9ydCxvcmllbnRhdGlvbixjaGFuZ2VkIiwgb25WaWV3cG9ydE9yaWVudGF0aW9uQ2hhbmdl
ZCwgMCk7CiAKICAgICByZXR1cm4gdmlldzsKIH0KQEAgLTI4MCwzICsyODEsMTkgQEAgdm9pZCBE
dW1wUmVuZGVyVHJlZUNocm9tZTo6b25Eb2N1bWVudExvYWRGaW5pc2hlZCh2b2lkKiwgRXZhc19P
YmplY3QqLCB2b2lkKiBldmUKICAgICAgICAgICAgIHByaW50ZigiJXMgLSBoYXMgJXUgb251bmxv
YWQgaGFuZGxlcihzKVxuIiwgZnJhbWVOYW1lLnV0ZjgoKS5kYXRhKCksIHBlbmRpbmdGcmFtZVVu
bG9hZEV2ZW50cyk7CiAgICAgfQogfQorCit2b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvblZp
ZXdwb3J0T3JpZW50YXRpb25DaGFuZ2VkKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqIGV2ZW50
SW5mbykKK3sKKyAgICBFd2tfVmlld3BvcnRfT3JpZW50YXRpb24qIG9yaWVudGF0aW9uID0gc3Rh
dGljX2Nhc3Q8RXdrX1ZpZXdwb3J0X09yaWVudGF0aW9uKj4oZXZlbnRJbmZvKTsKKyAgICBzd2l0
Y2ggKCpvcmllbnRhdGlvbikgeworICAgIGNhc2UgRVdLX1ZJRVdQT1JUX09SSUVOVEFUSU9OX0FV
VE86CisgICAgICAgIHByaW50Zigidmlld3BvcnQgb3JpZW50YXRpb24gY2hhbmdlZCB0byBhdXRv
XG4iKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBFV0tfVklFV1BPUlRfT1JJRU5UQVRJT05f
UE9SVFJBSVQ6CisgICAgICAgIHByaW50Zigidmlld3BvcnQgb3JpZW50YXRpb24gY2hhbmdlZCB0
byBwb3J0cmFpdFxuIik7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgRVdLX1ZJRVdQT1JUX09S
SUVOVEFUSU9OX0xBTkRTQ0FQRToKKyAgICAgICAgcHJpbnRmKCJ2aWV3cG9ydCBvcmllbnRhdGlv
biBjaGFuZ2VkIHRvIGxhbmRzY2FwZVxuIik7CisgICAgICAgIGJyZWFrOworICAgIH0KK30KZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5o
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmgKaW5kZXgg
NGVhOTkxODA2MjkxNzJiYmU3YzU5MjNiY2E3NTc4NTdmZjQxZDMwMi4uNGVmOTM4ZWIxMjgzYTQw
MTRhYmIwNzIxN2I4ODY4MTkyYjljNGZjNiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
ZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmgKQEAgLTc1LDYgKzc1LDggQEAgcHJpdmF0ZToKICAg
ICBzdGF0aWMgdm9pZCBvblRpdGxlQ2hhbmdlZCh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKik7
CiAKICAgICBzdGF0aWMgdm9pZCBvbkRvY3VtZW50TG9hZEZpbmlzaGVkKHZvaWQqLCBFdmFzX09i
amVjdCosIHZvaWQqKTsKKworICAgIHN0YXRpYyB2b2lkIG9uVmlld3BvcnRPcmllbnRhdGlvbkNo
YW5nZWQodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCopOwogfTsKIAogI2VuZGlmIC8vIER1bXBS
ZW5kZXJUcmVlQ2hyb21lX2gKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2NWEyYTk5MjhhNGMzNjliYzk2MjNiYzIxYmMyN2I0
MDRiMGUyZGI2Li42ZDE2NDA0NmMxZWYzOTI1ZGJiODUwZGJmNjQ2ZjJiNzZkZDM3MTU0IDEwMDc1
NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMTItMjAgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNh
bXN1bmcuY29tPgorCisgICAgICAgIFN1cHBvcnQgb3JpZW50YXRpb24gYXR0cmlidXRlIG9mIHZp
ZXdwb3J0IG1ldGEgdGFnLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzQ0ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGZhc3Qvdmlld3BvcnQvdmlld3BvcnQtb3JpZW50YXRpb24tZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LW9yaWVudGF0aW9uLmh0
bWw6IEFkZGVkLgorCiAyMDExLTEyLTIwICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBw
bGUuY29tPgogCiAgICAgICAgIFdlYlZUVCBjdWVzIHNvbWV0aW1lcyByZW5kZXIgd2hlbiB0aGV5
IHNob3VsZCBub3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3Bv
cnQtb3JpZW50YXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92
aWV3cG9ydC1vcmllbnRhdGlvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDViYTQzZWQ3NWI0
NWM1OWM0NjdmMTE5ZjhmZjk4N2NhMTdlZmQ1MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtb3JpZW50YXRpb24tZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMiBAQAordmlld3BvcnQgb3JpZW50YXRpb24gY2hhbmdlZCB0byBsYW5kc2NhcGUKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1vcmllbnRhdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1vcmllbnRhdGlvbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmZhMTZkN2M1ZGEwNGFmNGZjZjRmZjNhMjMzMTgzODMyZGY5MjIwMTIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LW9y
aWVudGF0aW9uLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPGhlYWQ+CisgICAgPHRpdGxlPlZpZXdw
b3J0IE1ldGEgd2l0aCAib3JpZW50YXRpb249bGFuZHNjYXBlIi48L3RpdGxlPgorICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJvcmllbnRhdGlvbj1sYW5kc2NhcGUiPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgICAgICAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJ0ZXN0KCk7Ij4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>122703</attachid>
            <date>2012-01-16 19:23:15 -0800</date>
            <delta_ts>2012-02-01 03:34:52 -0800</delta_ts>
            <desc>rebase_patch</desc>
            <filename>bug-74487-20120117122312.patch</filename>
            <type>text/plain</type>
            <size>13530</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1MTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjU1MmYzYzQ5YzE1MWI5
M2Q3ODRiNzgwNGVhZTJiMjg5ZDgwZmRiZS4uYTk0YTIyN2Q4ZWFhMjA4MjNjMDVjNGQyNDE3ODNl
YmIzZjU3ZTBhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTAxLTE2ICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKworICAgICAgICBTdXBwb3J0IG9yaWVu
dGF0aW9uIGF0dHJpYnV0ZSBvZiB2aWV3cG9ydCBtZXRhIHRhZy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDg3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT3JpZW50YXRpb24gYXR0cmlidXRlIG9mIHZp
ZXdwb3J0IGVuYWJsZXMgd2ViIHBhZ2VzIHRvIHJlcXVlc3Qgd2hldGhlciB0bworICAgICAgICBs
b2NrIG9yaWVudGF0aW9uIG9mIGNvbnRlbnRzLgorICAgICAgICBUaGlzIGlzIG9wdGlvbmFsIGF0
dHJpYnV0ZSBvZiB0aGUgc3BlYzogaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3NzLWRldmljZS1h
ZGFwdC8KKworICAgICAgICBUZXN0OiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LW9yaWVudGF0aW9u
Lmh0bWwKKworICAgICAgICAqIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpmaW5kT3JpZW50YXRpb25WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpzZXRWaWV3
cG9ydEZlYXR1cmUpOgorICAgICAgICAqIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5oOgorICAgICAg
ICAoV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHM6OlZpZXdwb3J0QXJndW1lbnRzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzOjpvcGVyYXRvcj09KToKKwogMjAxMi0wMS0x
NiAgRW5yaWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJ
T046IHIxMDI1NTMgQXV0b2NvcnJlY3Rpb24gYnViYmxlIGRvZXNuJ3Qgc2hvdyB1cApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hh
bmdlTG9nCmluZGV4IGQyMTUwNDEwMzIxZDlkZWJkNTk4NjA4MTQyNGM1YzA1NTI1ZTM0NzUuLjc0
NmRmMDczMGNkMTY5NWE0NmZmYTIyMDdlMjcwZDJhNDMyZDY4MDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cK
QEAgLTEsNSArMSwxOSBAQAogMjAxMi0wMS0xNiAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ft
c3VuZy5jb20+CiAKKyAgICAgICAgU3VwcG9ydCBvcmllbnRhdGlvbiBhdHRyaWJ1dGUgb2Ygdmll
d3BvcnQgbWV0YSB0YWcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03NDQ4NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBzaWduYWwgd2hpY2ggcmVwb3J0cyB0aGF0IHZpZXdwb3J0IG9yaWVudGF0aW9u
IHdhcyBjaGFuZ2VkLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdF
bnVtcy5jcHA6CisgICAgICAgICogZXdrL2V3a192aWV3LmNwcDoKKyAgICAgICAgKGV3a192aWV3
X3ZpZXdwb3J0X2F0dHJpYnV0ZXNfc2V0KToKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuaDoKKwor
MjAxMi0wMS0xNiAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+CisKICAgICAg
ICAgW0VGTF0gQnVpbGQgZml4IHdoZW4gdXNpbmcgcGFuZ28gYXMgZm9udCBiYWNrZW5kcy4KICAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzY4CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCmluZGV4IDYzNjgwNGI5N2RmZTJm
MGExNjQwZGI3ZDc2ZmFiOTM2ZGQzOGFiZWYuLjEzM2MxZWI3NTBiNjEyZGYzMWMzMzE1OWQ5OTA5
NDI1NmVlNjgyZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3Vt
ZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcApA
QCAtMjgzLDYgKzI4MywxNiBAQCBzdGF0aWMgZmxvYXQgZmluZFNjYWxlVmFsdWUoY29uc3QgU3Ry
aW5nJiBrZXlTdHJpbmcsIGNvbnN0IFN0cmluZyYgdmFsdWVTdHJpbmcsCiAgICAgcmV0dXJuIHZh
bHVlOwogfQogCitzdGF0aWMgVmlld3BvcnRPcmllbnRhdGlvbiBmaW5kT3JpZW50YXRpb25WYWx1
ZShjb25zdCBTdHJpbmcmIGtleVN0cmluZywgY29uc3QgU3RyaW5nJiB2YWx1ZVN0cmluZywgRG9j
dW1lbnQqIGRvY3VtZW50KQoreworICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZVN0cmlu
ZywgInBvcnRyYWl0IikpCisgICAgICAgIHJldHVybiBWaWV3cG9ydE9yaWVudGF0aW9uUG9ydHJh
aXQ7CisgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlU3RyaW5nLCAibGFuZHNjYXBlIikp
CisgICAgICAgIHJldHVybiBWaWV3cG9ydE9yaWVudGF0aW9uTGFuZHNjYXBlOworCisgICAgcmV0
dXJuIFZpZXdwb3J0T3JpZW50YXRpb25BdXRvOworfQorCiBzdGF0aWMgZmxvYXQgZmluZFVzZXJT
Y2FsYWJsZVZhbHVlKGNvbnN0IFN0cmluZyYga2V5U3RyaW5nLCBjb25zdCBTdHJpbmcmIHZhbHVl
U3RyaW5nLCBEb2N1bWVudCogZG9jdW1lbnQpCiB7CiAgICAgLy8geWVzIGFuZCBubyBhcmUgdXNl
ZCBhcyBrZXl3b3Jkcy4KQEAgLTM0OSw2ICszNTksOCBAQCB2b2lkIHNldFZpZXdwb3J0RmVhdHVy
ZShjb25zdCBTdHJpbmcmIGtleVN0cmluZywgY29uc3QgU3RyaW5nJiB2YWx1ZVN0cmluZywgRG9j
dQogICAgICAgICBhcmd1bWVudHMtPm1pbmltdW1TY2FsZSA9IGZpbmRTY2FsZVZhbHVlKGtleVN0
cmluZywgdmFsdWVTdHJpbmcsIGRvY3VtZW50KTsKICAgICBlbHNlIGlmIChrZXlTdHJpbmcgPT0g
Im1heGltdW0tc2NhbGUiKQogICAgICAgICBhcmd1bWVudHMtPm1heGltdW1TY2FsZSA9IGZpbmRT
Y2FsZVZhbHVlKGtleVN0cmluZywgdmFsdWVTdHJpbmcsIGRvY3VtZW50KTsKKyAgICBlbHNlIGlm
IChrZXlTdHJpbmcgPT0gIm9yaWVudGF0aW9uIikKKyAgICAgICAgYXJndW1lbnRzLT5vcmllbnRh
dGlvbiA9IGZpbmRPcmllbnRhdGlvblZhbHVlKGtleVN0cmluZywgdmFsdWVTdHJpbmcsIGRvY3Vt
ZW50KTsKICAgICBlbHNlIGlmIChrZXlTdHJpbmcgPT0gInVzZXItc2NhbGFibGUiKQogICAgICAg
ICBhcmd1bWVudHMtPnVzZXJTY2FsYWJsZSA9IGZpbmRVc2VyU2NhbGFibGVWYWx1ZShrZXlTdHJp
bmcsIHZhbHVlU3RyaW5nLCBkb2N1bWVudCk7CiAgICAgZWxzZSBpZiAoa2V5U3RyaW5nID09ICJ0
YXJnZXQtZGVuc2l0eWRwaSIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3Bv
cnRBcmd1bWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oCmlu
ZGV4IDU5YjQxZGVkMWZkNDdmNjI3ZWJiYTIzMWJlNzg0NDc2MWI0YjcyNDcuLmM0NTEwNDQwNTBj
MWYwMWQ3ZjBiZTVjNzA5MzUzNGI0MWNlNWI2YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9y
dEFyZ3VtZW50cy5oCkBAIC00Miw2ICs0MiwxMiBAQCBlbnVtIFZpZXdwb3J0RXJyb3JDb2RlIHsK
ICAgICBUYXJnZXREZW5zaXR5RHBpVG9vU21hbGxPckxhcmdlRXJyb3IKIH07CiAKK2VudW0gVmll
d3BvcnRPcmllbnRhdGlvbiB7CisgICAgVmlld3BvcnRPcmllbnRhdGlvbkF1dG8sCisgICAgVmll
d3BvcnRPcmllbnRhdGlvblBvcnRyYWl0LAorICAgIFZpZXdwb3J0T3JpZW50YXRpb25MYW5kc2Nh
cGUKK307CisKIHN0cnVjdCBWaWV3cG9ydEF0dHJpYnV0ZXMgewogICAgIEludFNpemUgbGF5b3V0
U2l6ZTsKIApAQCAtODEsNiArODcsNyBAQCBzdHJ1Y3QgVmlld3BvcnRBcmd1bWVudHMgewogICAg
ICAgICAsIGhlaWdodChWYWx1ZUF1dG8pCiAgICAgICAgICwgdGFyZ2V0RGVuc2l0eURwaShWYWx1
ZUF1dG8pCiAgICAgICAgICwgdXNlclNjYWxhYmxlKFZhbHVlQXV0bykKKyAgICAgICAgLCBvcmll
bnRhdGlvbihWaWV3cG9ydE9yaWVudGF0aW9uQXV0bykKICAgICB7CiAgICAgfQogCkBAIC05MSw2
ICs5OCw3IEBAIHN0cnVjdCBWaWV3cG9ydEFyZ3VtZW50cyB7CiAgICAgZmxvYXQgaGVpZ2h0Owog
ICAgIGZsb2F0IHRhcmdldERlbnNpdHlEcGk7CiAgICAgZmxvYXQgdXNlclNjYWxhYmxlOworICAg
IFZpZXdwb3J0T3JpZW50YXRpb24gb3JpZW50YXRpb247CiAKICAgICBib29sIG9wZXJhdG9yPT0o
Y29uc3QgVmlld3BvcnRBcmd1bWVudHMmIG90aGVyKSBjb25zdAogICAgIHsKQEAgLTEwMiw3ICsx
MTAsOCBAQCBzdHJ1Y3QgVmlld3BvcnRBcmd1bWVudHMgewogICAgICAgICAgICAgJiYgd2lkdGgg
PT0gb3RoZXIud2lkdGgKICAgICAgICAgICAgICYmIGhlaWdodCA9PSBvdGhlci5oZWlnaHQKICAg
ICAgICAgICAgICYmIHRhcmdldERlbnNpdHlEcGkgPT0gb3RoZXIudGFyZ2V0RGVuc2l0eURwaQot
ICAgICAgICAgICAgJiYgdXNlclNjYWxhYmxlID09IG90aGVyLnVzZXJTY2FsYWJsZTsKKyAgICAg
ICAgICAgICYmIHVzZXJTY2FsYWJsZSA9PSBvdGhlci51c2VyU2NhbGFibGUKKyAgICAgICAgICAg
ICYmIG9yaWVudGF0aW9uID09IG90aGVyLm9yaWVudGF0aW9uOwogICAgIH0KIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Fzc2VydE1hdGNoaW5nRW51
bXMuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdF
bnVtcy5jcHAKaW5kZXggYmZmMmZjZDNiYTZkZWQ3Y2NiZjljMTczZjVhNjM1N2E0MjVlZWIzZi4u
N2JmZjkwYmY4YjhjNmM1MmJmZWE0OWYxMDkxMTc4MTJhNzczNjY4MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5j
cHAKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKIAogI2luY2x1ZGUgIlBh
Z2UuaCIKKyNpbmNsdWRlICJWaWV3cG9ydEFyZ3VtZW50cy5oIgogI2luY2x1ZGUgIlZpc2libGVT
ZWxlY3Rpb24uaCIKICNpbmNsdWRlICJld2tfZnJhbWUuaCIKICNpbmNsdWRlICJld2tfdmlldy5o
IgpAQCAtNTYsNiArNTcsMTAgQEAgQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVE9V
Q0hfUE9JTlRfQ0FOQ0VMTEVELCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWMKIENPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX1RPVUNIX1BPSU5UX0VORCwgUGxhdGZvcm1Ub3VjaFBvaW50
OjpUb3VjaFN0YXRlRW5kKTsKICNlbmRpZgogCitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KEVXS19WSUVXUE9SVF9PUklFTlRBVElPTl9BVVRPLCBWaWV3cG9ydE9yaWVudGF0aW9uQXV0byk7
CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19WSUVXUE9SVF9PUklFTlRBVElPTl9Q
T1JUUkFJVCwgVmlld3BvcnRPcmllbnRhdGlvblBvcnRyYWl0KTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX1ZJRVdQT1JUX09SSUVOVEFUSU9OX0xBTkRTQ0FQRSwgVmlld3BvcnRP
cmllbnRhdGlvbkxhbmRzY2FwZSk7CisKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X1ZJRVdfTU9ERV9JTlZBTElELCBQYWdlOjpWaWV3TW9kZUludmFsaWQpOwogQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShFV0tfVklFV19NT0RFX1dJTkRPV0VELCBQYWdlOjpWaWV3TW9kZVdp
bmRvd2VkKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1ZJRVdfTU9ERV9GTE9B
VElORywgUGFnZTo6Vmlld01vZGVGbG9hdGluZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNw
cAppbmRleCA1MzU0MDBiZjI3Mzg2NTM5MTFkNDRmNTM5ZDFkNjRmMjZiNTJiNDViLi45MzAwNmEy
M2QyZDAwOGQ1MzUzMDNiMDc1ZjAwZDk4ZDk2Y2M2YWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
dmlldy5jcHAKQEAgLTM1NTIsNiArMzU1Miw3IEBAIHZvaWQgZXdrX3ZpZXdfanNfd2luZG93X29i
amVjdF9jbGVhcihFdmFzX09iamVjdCogZXdrVmlldywgRXZhc19PYmplY3QqIGZyYW1lKQogICoK
ICAqIEBwYXJhbSBhcmd1bWVudHMgdmlld3BvcnQgYXJndW1lbnQuCiAgKgorICogRW1pdHMgc2ln
bmFsOiAidmlld3BvcnQsb3JpZW50YXRpb24sY2hhbmdlZCIgd2l0aCBhbiBFd2tfVmlld3BvcnRf
T3JpZW50YXRpb24uCiAgKiBFbWl0cyBzaWduYWw6ICJ2aWV3cG9ydCxjaGFuZ2VkIiB3aXRoIG5v
IHBhcmFtZXRlcnMuCiAgKi8KIHZvaWQgZXdrX3ZpZXdfdmlld3BvcnRfYXR0cmlidXRlc19zZXQo
RXZhc19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzJiBh
cmd1bWVudHMpCkBAIC0zNTU5LDYgKzM1NjAsMTAgQEAgdm9pZCBld2tfdmlld192aWV3cG9ydF9h
dHRyaWJ1dGVzX3NldChFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgV2ViQ29yZTo6Vmlld3AK
ICAgICBFV0tfVklFV19TRF9HRVQoZXdrVmlldywgc21hcnREYXRhKTsKICAgICBFV0tfVklFV19Q
UklWX0dFVChzbWFydERhdGEsIHByaXYpOwogCisgICAgaWYgKHByaXYtPnZpZXdwb3J0QXJndW1l
bnRzLm9yaWVudGF0aW9uICE9IGFyZ3VtZW50cy5vcmllbnRhdGlvbikgeworICAgICAgICBFd2tf
Vmlld3BvcnRfT3JpZW50YXRpb24gb3JpZW50YXRpb24gPSBzdGF0aWNfY2FzdDxFd2tfVmlld3Bv
cnRfT3JpZW50YXRpb24+KGFyZ3VtZW50cy5vcmllbnRhdGlvbik7CisgICAgICAgIGV2YXNfb2Jq
ZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwoZXdrVmlldywgInZpZXdwb3J0LG9yaWVudGF0aW9uLGNo
YW5nZWQiLCAmb3JpZW50YXRpb24pOworICAgIH0KICAgICBwcml2LT52aWV3cG9ydEFyZ3VtZW50
cyA9IGFyZ3VtZW50czsKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKGV3a1Zp
ZXcsICJ2aWV3cG9ydCxjaGFuZ2VkIiwgMCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCmlu
ZGV4IGQwYmU2MWQ3NTI0OTA3OGMyZGNlYjMzODYwOTUxNDg0ZmM2NzQ5ZmUuLjNkM2M1ZjdhMTMy
NDM5ZjcxODAzNzRmNDk4NGU4YzQ5YTEzYWY5NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfdmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5o
CkBAIC04MCw2ICs4MCw3IEBACiAgKiAgLSAidG9vbHRpcCx0ZXh0LHNldCIsIGNvbnN0IGNoYXIq
OiBzZXRzIHRvb2x0aXAgdGV4dCBhbmQgZGlzcGxheXMgaWYgaXQgaXMgY3VycmVudGx5IGhpZGRl
bi4KICAqICAtICJ1cmksY2hhbmdlZCIsIGNvbnN0IGNoYXIqOiB1cmkgb2YgdGhlIG1haW4gZnJh
bWUgd2FzIGNoYW5nZWQuCiAgKiAgLSAidmlldyxyZXNpemVkIiwgdm9pZDogdmlldyBvYmplY3Qn
cyBzaXplIHdhcyBjaGFuZ2VkLgorICogIC0gInZpZXdwb3J0LG9yaWVudGF0aW9uLGNoYW5nZWQi
LCBFd2tfVmlld3BvcnRfT3JpZW50YXRpb246IHJlcG9ydHMgdGhhdCBvcmllbnRhdGlvbiBvZiB2
aWV3cG9ydCB3YXMgY2hhbmdlZC4KICAqICAtICJ2aWV3cG9ydCxjaGFuZ2VkIiwgdm9pZDogcmVw
b3J0cyB0aGF0IHZpZXdwb3J0IHdhcyBjaGFuZ2VkLgogICogIC0gInpvb20sYW5pbWF0ZWQsZW5k
Iiwgdm9pZDogcmVxdWVzdGVkIGFuaW1hdGVkIHpvb20gaXMgZmluaXNoZWQuCiAgKi8KQEAgLTMz
Myw2ICszMzQsMTUgQEAgZW51bSBfRXdrX1ZpZXdfTW9kZSB7CiAvLy8gQ3JlYXRlcyBhIHR5cGUg
bmFtZSBmb3IgQGEgX0V3a19WaWV3X01vZGUuCiB0eXBlZGVmIGVudW0gX0V3a19WaWV3X01vZGUg
RXdrX1ZpZXdfTW9kZTsKIAorLy8vIERlZmluZXMgdGhlIG9yaWVudGF0aW9uIG9mIHZpZXdwb3J0
LgorZW51bSBfRXdrX1ZpZXdwb3J0X09yaWVudGF0aW9uIHsKKyAgICBFV0tfVklFV1BPUlRfT1JJ
RU5UQVRJT05fQVVUTywKKyAgICBFV0tfVklFV1BPUlRfT1JJRU5UQVRJT05fUE9SVFJBSVQsCisg
ICAgRVdLX1ZJRVdQT1JUX09SSUVOVEFUSU9OX0xBTkRTQ0FQRQorfTsKKy8vLyBDcmVhdGVzIGEg
dHlwZSBuYW1lIGZvciBAYSBfRXdrX1ZpZXdwb3J0X09yaWVudGF0aW9uLgordHlwZWRlZiBlbnVt
IF9Fd2tfVmlld3BvcnRfT3JpZW50YXRpb24gRXdrX1ZpZXdwb3J0X09yaWVudGF0aW9uOworCiAv
Ly8gRGVmaW5lcyB0aGUgZm9udCBmYW1pbGllcy4KIGVudW0gX0V3a19Gb250X0ZhbWlseSB7CiAg
ICAgRVdLX0ZPTlRfRkFNSUxZX1NUQU5EQVJEID0gMCwKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2N2Q1NDcwZjE3MGZlNzI5ZTYxODQ4ZjliNGE3
YTg1Mzc1NGU0OTkxLi4zZDBiNjE2OGI1MDI5MWFhZTU2ODdlMDA2OGM2MjY2NTE1ZDQ3YzAyIDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMTItMDEtMTYgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29t
PgorCisgICAgICAgIFN1cHBvcnQgb3JpZW50YXRpb24gYXR0cmlidXRlIG9mIHZpZXdwb3J0IG1l
dGEgdGFnLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzQ0ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBD
aGVjayB2aWV3cG9ydCxvcmllbnRhdGlvbixjaGFuZ2VkIHRvIHRlc3Qgdmlld3BvcnQgb3JpZW50
YXRpb24gYXR0cmlidXRlLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5k
ZXJUcmVlQ2hyb21lLmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVhdGVW
aWV3KToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvblZpZXdwb3J0T3JpZW50YXRp
b25DaGFuZ2VkKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVD
aHJvbWUuaDoKKwogMjAxMi0wMS0xNiAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgW1dpbkNhaXJvXSBCdWlsZCBmaXggYWZ0ZXIgcjEwNDE1NS4gU2V2ZXJh
bCBkZWJ1ZyB0YXJnZXRzIHdlcmUgbm90CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZs
L0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcAppbmRleCBjZTdhMDBkOWY4YjVkOTg3ZGQ5MTdkNzJk
MjVlYjU1NzhmNWIxYmExLi4zOGI2ZTYyMGZlNjU5YzQzNmI4M2JkNWViM2VhYjZiYTg0MWZlNjM2
IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJv
bWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9t
ZS5jcHAKQEAgLTkyLDYgKzkyLDcgQEAgRXZhc19PYmplY3QqIER1bXBSZW5kZXJUcmVlQ2hyb21l
OjpjcmVhdGVWaWV3KCkgY29uc3QKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQo
dmlldywgIndpbmRvdyxvYmplY3QsY2xlYXJlZCIsIG9uV2luZG93T2JqZWN0Q2xlYXJlZCwgbV9n
Y0NvbnRyb2xsZXIuZ2V0KCkpOwogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh2
aWV3LCAic3RhdHVzYmFyLHRleHQsc2V0Iiwgb25TdGF0dXNiYXJUZXh0U2V0LCAwKTsKICAgICBl
dmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQodmlldywgImxvYWQsZG9jdW1lbnQsZmluaXNo
ZWQiLCBvbkRvY3VtZW50TG9hZEZpbmlzaGVkLCAwKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9j
YWxsYmFja19hZGQodmlldywgInZpZXdwb3J0LG9yaWVudGF0aW9uLGNoYW5nZWQiLCBvblZpZXdw
b3J0T3JpZW50YXRpb25DaGFuZ2VkLCAwKTsKIAogICAgIHJldHVybiB2aWV3OwogfQpAQCAtMjgw
LDMgKzI4MSwxOSBAQCB2b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkRvY3VtZW50TG9hZEZp
bmlzaGVkKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqIGV2ZQogICAgICAgICAgICAgcHJpbnRm
KCIlcyAtIGhhcyAldSBvbnVubG9hZCBoYW5kbGVyKHMpXG4iLCBmcmFtZU5hbWUudXRmOCgpLmRh
dGEoKSwgcGVuZGluZ0ZyYW1lVW5sb2FkRXZlbnRzKTsKICAgICB9CiB9CisKK3ZvaWQgRHVtcFJl
bmRlclRyZWVDaHJvbWU6Om9uVmlld3BvcnRPcmllbnRhdGlvbkNoYW5nZWQodm9pZCosIEV2YXNf
T2JqZWN0Kiwgdm9pZCogZXZlbnRJbmZvKQoreworICAgIEV3a19WaWV3cG9ydF9PcmllbnRhdGlv
biogb3JpZW50YXRpb24gPSBzdGF0aWNfY2FzdDxFd2tfVmlld3BvcnRfT3JpZW50YXRpb24qPihl
dmVudEluZm8pOworICAgIHN3aXRjaCAoKm9yaWVudGF0aW9uKSB7CisgICAgY2FzZSBFV0tfVklF
V1BPUlRfT1JJRU5UQVRJT05fQVVUTzoKKyAgICAgICAgcHJpbnRmKCJ2aWV3cG9ydCBvcmllbnRh
dGlvbiBjaGFuZ2VkIHRvIGF1dG9cbiIpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEVXS19W
SUVXUE9SVF9PUklFTlRBVElPTl9QT1JUUkFJVDoKKyAgICAgICAgcHJpbnRmKCJ2aWV3cG9ydCBv
cmllbnRhdGlvbiBjaGFuZ2VkIHRvIHBvcnRyYWl0XG4iKTsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBFV0tfVklFV1BPUlRfT1JJRU5UQVRJT05fTEFORFNDQVBFOgorICAgICAgICBwcmludGYo
InZpZXdwb3J0IG9yaWVudGF0aW9uIGNoYW5nZWQgdG8gbGFuZHNjYXBlXG4iKTsKKyAgICAgICAg
YnJlYWs7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1
bXBSZW5kZXJUcmVlQ2hyb21lLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRl
clRyZWVDaHJvbWUuaAppbmRleCA0ZWE5OTE4MDYyOTE3MmJiZTdjNTkyM2JjYTc1Nzg1N2ZmNDFk
MzAyLi40ZWY5MzhlYjEyODNhNDAxNGFiYjA3MjE3Yjg4NjgxOTJiOWM0ZmM2IDEwMDY0NAotLS0g
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaApAQCAtNzUsNiAr
NzUsOCBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIG9uVGl0bGVDaGFuZ2VkKHZvaWQqLCBF
dmFzX09iamVjdCosIHZvaWQqKTsKIAogICAgIHN0YXRpYyB2b2lkIG9uRG9jdW1lbnRMb2FkRmlu
aXNoZWQodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCopOworCisgICAgc3RhdGljIHZvaWQgb25W
aWV3cG9ydE9yaWVudGF0aW9uQ2hhbmdlZCh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKik7CiB9
OwogCiAjZW5kaWYgLy8gRHVtcFJlbmRlclRyZWVDaHJvbWVfaApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGVjMjNmMzgyMzY2
YzAwNzFhY2E1MWFjYTllODIyMjUyNjBmM2E4ZTIuLmFiODZkNDMwMWIzZjg0YjgzZjQwZDJjOTEy
OWYxNmZkYjU5YzFhZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMS0xNiAgUnl1YW4g
Q2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgU3VwcG9ydCBvcmllbnRh
dGlvbiBhdHRyaWJ1dGUgb2Ygdmlld3BvcnQgbWV0YSB0YWcuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ4NworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC92aWV3cG9ydC92aWV3cG9ydC1vcmll
bnRhdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvdmlld3BvcnQvdmll
d3BvcnQtb3JpZW50YXRpb24uaHRtbDogQWRkZWQuCisKIDIwMTItMDEtMTYgIEZpbGlwIFBpemxv
ICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBERkcgc2hvdWxkIGJlIGFibGUgdG8gZG8g
SlMgYW5kIGN1c3RvbSBnZXR0ZXIgY2FjaGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC92aWV3cG9ydC92aWV3cG9ydC1vcmllbnRhdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LW9yaWVudGF0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43MDhiMDdhY2Q1NTMxY2YxM2ZmMmY5YWU3YTZlNWMzMmFmY2Y2MDcxCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1vcmllbnRhdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACit2aWV3cG9ydCBvcmllbnRhdGlvbiBjaGFuZ2Vk
IHRvIGxhbmRzY2FwZQorCit2aWV3cG9ydCBvcmllbnRhdGlvbiBjaGFuZ2VkIHRvIGF1dG8KKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1vcmllbnRhdGlv
bi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1vcmllbnRhdGlvbi5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmZhMTZkN2M1ZGEwNGFmNGZjZjRmZjNhMjMzMTgzODMyZGY5MjIwMTIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LW9y
aWVudGF0aW9uLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPGhlYWQ+CisgICAgPHRpdGxlPlZpZXdw
b3J0IE1ldGEgd2l0aCAib3JpZW50YXRpb249bGFuZHNjYXBlIi48L3RpdGxlPgorICAgIDxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJvcmllbnRhdGlvbj1sYW5kc2NhcGUiPgorICAgIDxz
Y3JpcHQ+CisgICAgICAgIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgICAgICAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHkgb25sb2FkPSJ0ZXN0KCk7Ij4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124922</attachid>
            <date>2012-02-01 03:34:57 -0800</date>
            <delta_ts>2012-02-01 03:38:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74487-20120201203455.patch</filename>
            <type>text/plain</type>
            <size>17580</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2NDYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWI5ZjZmMDNhZmU5Nzgw
M2MxZjBjNDkzMzE2MmMwN2EwNmFmNzIzZC4uZmVhNjkwNDA0YTU5ZDM2MDM5NDZmOGZiZGNiNThj
YzM1NWU2MTIxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAyLTAxICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKworICAgICAgICBTdXBwb3J0IG9yaWVu
dGF0aW9uIGF0dHJpYnV0ZSBvZiB2aWV3cG9ydCBtZXRhIHRhZy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDg3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT3JpZW50YXRpb24gYXR0cmlidXRlIG9mIHZp
ZXdwb3J0IGVuYWJsZXMgd2ViIHBhZ2VzIHRvIHJlcXVlc3Qgd2hldGhlciB0bworICAgICAgICBs
b2NrIG9yaWVudGF0aW9uIG9mIGNvbnRlbnRzLgorICAgICAgICBUaGlzIGlzIG9wdGlvbmFsIGF0
dHJpYnV0ZSBvZiB0aGUgc3BlYzogaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3NzLWRldmljZS1h
ZGFwdC8KKworICAgICAgICBUZXN0OiBmYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LW9yaWVudGF0aW9u
Lmh0bWwKKworICAgICAgICAqIGRvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpmaW5kT3JpZW50YXRpb25WYWx1ZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OnNldFZpZXdwb3J0RmVhdHVyZSk6CisgICAgICAgICogZG9tL1ZpZXdwb3J0
QXJndW1lbnRzLmg6CisgICAgICAgIChXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50czo6Vmlld3Bv
cnRBcmd1bWVudHMpOgorICAgICAgICAoVmlld3BvcnRBcmd1bWVudHMpOgorICAgICAgICAoV2Vi
Q29yZTo6Vmlld3BvcnRBcmd1bWVudHM6Om9wZXJhdG9yPT0pOgorCiAyMDEyLTAyLTAxICBTaGF3
biBTaW5naCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEZpeCB0aGUgc2Vt
YW50aWNzIG9mIHBhc3NpbmcgY29udGVudHNWaXNpYmxlIGZsYWcgdG8gR3JhcGhpY3NMYXllcnMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCBkZDk0Yzg1MmZkMGIyM2Y2MGVjZTQ4ODI4MmRmYWM4NDczM2Jk
OGFiLi45MzZkYzM5ZTcxZDdlOGFmOGFiODYzMjFmMGRmNjA1MTU3MjkwMjQxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDItMDEgIFJ5dWFuIENob2kgIDxyeXVhbi5j
aG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFN1cHBvcnQgb3JpZW50YXRpb24gYXR0cmlidXRl
IG9mIHZpZXdwb3J0IG1ldGEgdGFnLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzQ0ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwOgor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHA6IEFk
ZCBkdW1wVmlld3BvcnRPcmllbnRhdGlvbiB0byB0ZXN0IHZpZXdwb3J0IG9yaWVudGF0aW9uLgor
ICAgICAgICAoRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjpkdW1wVmlld3BvcnRPcmllbnRhdGlv
bik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmg6
CisgICAgICAgICogZXdrL2V3a192aWV3LmNwcDogQWRkIHNpZ25hbCB3aGljaCByZXBvcnRzIHRo
YXQgdmlld3BvcnQgb3JpZW50YXRpb24gd2FzIGNoYW5nZWQuCisgICAgICAgIChfRXdrX1ZpZXdf
UHJpdmF0ZV9EYXRhKToKKyAgICAgICAgKGV3a192aWV3X3ZpZXdwb3J0X2F0dHJpYnV0ZXNfc2V0
KToKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuaDoKKwogMjAxMi0wMS0zMSAgUnl1YW4gQ2hvaSAg
PHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0gQWRkIGJhc2ljIERSVC9F
ZmwgaW1wbGVtZW50YXRpb24gdG8gc3VwcG9ydCB2aWV3cG9ydCB0ZXN0LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9WaWV3cG9ydEFyZ3VtZW50cy5jcHAKaW5kZXggNjM2ODA0Yjk3ZGZlMmYwYTE2NDBkYjdk
NzZmYWI5MzZkZDM4YWJlZi4uMTMzYzFlYjc1MGI2MTJkZjMxYzMzMTU5ZDk5MDk0MjU2ZWU2ODJl
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVmlld3BvcnRBcmd1bWVudHMuY3BwCkBAIC0yODMsNiAr
MjgzLDE2IEBAIHN0YXRpYyBmbG9hdCBmaW5kU2NhbGVWYWx1ZShjb25zdCBTdHJpbmcmIGtleVN0
cmluZywgY29uc3QgU3RyaW5nJiB2YWx1ZVN0cmluZywKICAgICByZXR1cm4gdmFsdWU7CiB9CiAK
K3N0YXRpYyBWaWV3cG9ydE9yaWVudGF0aW9uIGZpbmRPcmllbnRhdGlvblZhbHVlKGNvbnN0IFN0
cmluZyYga2V5U3RyaW5nLCBjb25zdCBTdHJpbmcmIHZhbHVlU3RyaW5nLCBEb2N1bWVudCogZG9j
dW1lbnQpCit7CisgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlU3RyaW5nLCAicG9ydHJh
aXQiKSkKKyAgICAgICAgcmV0dXJuIFZpZXdwb3J0T3JpZW50YXRpb25Qb3J0cmFpdDsKKyAgICBp
ZiAoZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWVTdHJpbmcsICJsYW5kc2NhcGUiKSkKKyAgICAgICAg
cmV0dXJuIFZpZXdwb3J0T3JpZW50YXRpb25MYW5kc2NhcGU7CisKKyAgICByZXR1cm4gVmlld3Bv
cnRPcmllbnRhdGlvbkF1dG87Cit9CisKIHN0YXRpYyBmbG9hdCBmaW5kVXNlclNjYWxhYmxlVmFs
dWUoY29uc3QgU3RyaW5nJiBrZXlTdHJpbmcsIGNvbnN0IFN0cmluZyYgdmFsdWVTdHJpbmcsIERv
Y3VtZW50KiBkb2N1bWVudCkKIHsKICAgICAvLyB5ZXMgYW5kIG5vIGFyZSB1c2VkIGFzIGtleXdv
cmRzLgpAQCAtMzQ5LDYgKzM1OSw4IEBAIHZvaWQgc2V0Vmlld3BvcnRGZWF0dXJlKGNvbnN0IFN0
cmluZyYga2V5U3RyaW5nLCBjb25zdCBTdHJpbmcmIHZhbHVlU3RyaW5nLCBEb2N1CiAgICAgICAg
IGFyZ3VtZW50cy0+bWluaW11bVNjYWxlID0gZmluZFNjYWxlVmFsdWUoa2V5U3RyaW5nLCB2YWx1
ZVN0cmluZywgZG9jdW1lbnQpOwogICAgIGVsc2UgaWYgKGtleVN0cmluZyA9PSAibWF4aW11bS1z
Y2FsZSIpCiAgICAgICAgIGFyZ3VtZW50cy0+bWF4aW11bVNjYWxlID0gZmluZFNjYWxlVmFsdWUo
a2V5U3RyaW5nLCB2YWx1ZVN0cmluZywgZG9jdW1lbnQpOworICAgIGVsc2UgaWYgKGtleVN0cmlu
ZyA9PSAib3JpZW50YXRpb24iKQorICAgICAgICBhcmd1bWVudHMtPm9yaWVudGF0aW9uID0gZmlu
ZE9yaWVudGF0aW9uVmFsdWUoa2V5U3RyaW5nLCB2YWx1ZVN0cmluZywgZG9jdW1lbnQpOwogICAg
IGVsc2UgaWYgKGtleVN0cmluZyA9PSAidXNlci1zY2FsYWJsZSIpCiAgICAgICAgIGFyZ3VtZW50
cy0+dXNlclNjYWxhYmxlID0gZmluZFVzZXJTY2FsYWJsZVZhbHVlKGtleVN0cmluZywgdmFsdWVT
dHJpbmcsIGRvY3VtZW50KTsKICAgICBlbHNlIGlmIChrZXlTdHJpbmcgPT0gInRhcmdldC1kZW5z
aXR5ZHBpIikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9WaWV3cG9ydEFyZ3VtZW50
cy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRzLmgKaW5kZXggNTliNDFk
ZWQxZmQ0N2Y2MjdlYmJhMjMxYmU3ODQ0NzYxYjRiNzI0Ny4uYzQ1MTA0NDA1MGMxZjAxZDdmMGJl
NWM3MDkzNTM0YjQxY2U1YjZiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdw
b3J0QXJndW1lbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1ZpZXdwb3J0QXJndW1lbnRz
LmgKQEAgLTQyLDYgKzQyLDEyIEBAIGVudW0gVmlld3BvcnRFcnJvckNvZGUgewogICAgIFRhcmdl
dERlbnNpdHlEcGlUb29TbWFsbE9yTGFyZ2VFcnJvcgogfTsKIAorZW51bSBWaWV3cG9ydE9yaWVu
dGF0aW9uIHsKKyAgICBWaWV3cG9ydE9yaWVudGF0aW9uQXV0bywKKyAgICBWaWV3cG9ydE9yaWVu
dGF0aW9uUG9ydHJhaXQsCisgICAgVmlld3BvcnRPcmllbnRhdGlvbkxhbmRzY2FwZQorfTsKKwog
c3RydWN0IFZpZXdwb3J0QXR0cmlidXRlcyB7CiAgICAgSW50U2l6ZSBsYXlvdXRTaXplOwogCkBA
IC04MSw2ICs4Nyw3IEBAIHN0cnVjdCBWaWV3cG9ydEFyZ3VtZW50cyB7CiAgICAgICAgICwgaGVp
Z2h0KFZhbHVlQXV0bykKICAgICAgICAgLCB0YXJnZXREZW5zaXR5RHBpKFZhbHVlQXV0bykKICAg
ICAgICAgLCB1c2VyU2NhbGFibGUoVmFsdWVBdXRvKQorICAgICAgICAsIG9yaWVudGF0aW9uKFZp
ZXdwb3J0T3JpZW50YXRpb25BdXRvKQogICAgIHsKICAgICB9CiAKQEAgLTkxLDYgKzk4LDcgQEAg
c3RydWN0IFZpZXdwb3J0QXJndW1lbnRzIHsKICAgICBmbG9hdCBoZWlnaHQ7CiAgICAgZmxvYXQg
dGFyZ2V0RGVuc2l0eURwaTsKICAgICBmbG9hdCB1c2VyU2NhbGFibGU7CisgICAgVmlld3BvcnRP
cmllbnRhdGlvbiBvcmllbnRhdGlvbjsKIAogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBWaWV3
cG9ydEFyZ3VtZW50cyYgb3RoZXIpIGNvbnN0CiAgICAgewpAQCAtMTAyLDcgKzExMCw4IEBAIHN0
cnVjdCBWaWV3cG9ydEFyZ3VtZW50cyB7CiAgICAgICAgICAgICAmJiB3aWR0aCA9PSBvdGhlci53
aWR0aAogICAgICAgICAgICAgJiYgaGVpZ2h0ID09IG90aGVyLmhlaWdodAogICAgICAgICAgICAg
JiYgdGFyZ2V0RGVuc2l0eURwaSA9PSBvdGhlci50YXJnZXREZW5zaXR5RHBpCi0gICAgICAgICAg
ICAmJiB1c2VyU2NhbGFibGUgPT0gb3RoZXIudXNlclNjYWxhYmxlOworICAgICAgICAgICAgJiYg
dXNlclNjYWxhYmxlID09IG90aGVyLnVzZXJTY2FsYWJsZQorICAgICAgICAgICAgJiYgb3JpZW50
YXRpb24gPT0gb3RoZXIub3JpZW50YXRpb247CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAgYi9T
b3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcApp
bmRleCBiZmYyZmNkM2JhNmRlZDdjY2JmOWMxNzNmNWE2MzU3YTQyNWVlYjNmLi43YmZmOTBiZjhi
OGM2YzUyYmZlYTQ5ZjEwOTExNzgxMmE3NzM2NjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2VmbC9XZWJDb3JlU3VwcG9ydC9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcApAQCAtMjQs
NiArMjQsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogCiAjaW5jbHVkZSAiUGFnZS5oIgorI2lu
Y2x1ZGUgIlZpZXdwb3J0QXJndW1lbnRzLmgiCiAjaW5jbHVkZSAiVmlzaWJsZVNlbGVjdGlvbi5o
IgogI2luY2x1ZGUgImV3a19mcmFtZS5oIgogI2luY2x1ZGUgImV3a192aWV3LmgiCkBAIC01Niw2
ICs1NywxMCBAQCBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19UT1VDSF9QT0lOVF9D
QU5DRUxMRUQsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91YwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShFV0tfVE9VQ0hfUE9JTlRfRU5ELCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoU3Rh
dGVFbmQpOwogI2VuZGlmCiAKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1ZJRVdQ
T1JUX09SSUVOVEFUSU9OX0FVVE8sIFZpZXdwb3J0T3JpZW50YXRpb25BdXRvKTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1ZJRVdQT1JUX09SSUVOVEFUSU9OX1BPUlRSQUlULCBW
aWV3cG9ydE9yaWVudGF0aW9uUG9ydHJhaXQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShFV0tfVklFV1BPUlRfT1JJRU5UQVRJT05fTEFORFNDQVBFLCBWaWV3cG9ydE9yaWVudGF0aW9u
TGFuZHNjYXBlKTsKKwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVklFV19NT0RF
X0lOVkFMSUQsIFBhZ2U6OlZpZXdNb2RlSW52YWxpZCk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19WSUVXX01PREVfV0lORE9XRUQsIFBhZ2U6OlZpZXdNb2RlV2luZG93ZWQpOwog
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVklFV19NT0RFX0ZMT0FUSU5HLCBQYWdl
OjpWaWV3TW9kZUZsb2F0aW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNv
cmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3BwCmluZGV4IDFlYjU4
ZDViNTMwYjE4N2U4MzU5NWU2NTFiMTQzNTRlZGFkMmFhN2MuLmVhN2I0MWRkMjUwNGNhMjY3MGY3
OTc5NzhmZTAzNzEwMDg3ZGY0YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNv
cmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNwcApAQCAtNDAy
LDMgKzQwMiwyNiBAQCB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6ZHVtcENvbmZpZ3Vy
YXRpb25Gb3JWaWV3cG9ydChFdmFzX09iamVjdCogZXdrVmlldwogICAgIHJlc3RyaWN0U2NhbGVG
YWN0b3JUb0luaXRpYWxTY2FsZUlmTm90VXNlclNjYWxhYmxlKGF0dHJpYnV0ZXMpOwogICAgIGZw
cmludGYoc3Rkb3V0LCAidmlld3BvcnQgc2l6ZSAlZHglZCBzY2FsZSAlZiB3aXRoIGxpbWl0cyBb
JWYsICVmXSBhbmQgdXNlclNjYWxhYmxlICVmXG4iLCBhdHRyaWJ1dGVzLmxheW91dFNpemUud2lk
dGgoKSwgYXR0cmlidXRlcy5sYXlvdXRTaXplLmhlaWdodCgpLCBhdHRyaWJ1dGVzLmluaXRpYWxT
Y2FsZSwgYXR0cmlidXRlcy5taW5pbXVtU2NhbGUsIGF0dHJpYnV0ZXMubWF4aW11bVNjYWxlLCBh
dHRyaWJ1dGVzLnVzZXJTY2FsYWJsZSk7CiB9CisKK3ZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0
RWZsOjpkdW1wVmlld3BvcnRPcmllbnRhdGlvbihFdmFzX09iamVjdCogZXdrVmlldykKK3sKKyAg
ICBXZWJDb3JlOjpQYWdlKiBwYWdlID0gRVdLUHJpdmF0ZTo6Y29yZVBhZ2UoZXdrVmlldyk7Cisg
ICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm47CisKKyAgICBXZWJDb3JlOjpWaWV3cG9ydEFy
Z3VtZW50cyBhcmd1bWVudHMgPSBwYWdlLT5tYWluRnJhbWUoKS0+ZG9jdW1lbnQoKS0+dmlld3Bv
cnRBcmd1bWVudHMoKTsKKworICAgIFN0cmluZyBvcmllbnRhdGlvbjsKKyAgICBzd2l0Y2ggKGFy
Z3VtZW50cy5vcmllbnRhdGlvbikgeworICAgIGNhc2UgV2ViQ29yZTo6Vmlld3BvcnRPcmllbnRh
dGlvbkF1dG86CisgICAgICAgIG9yaWVudGF0aW9uID0gIkF1dG8iOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIFdlYkNvcmU6OlZpZXdwb3J0T3JpZW50YXRpb25Qb3J0cmFpdDoKKyAgICAgICAg
b3JpZW50YXRpb24gPSAiUG9ydHJhaXQiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdlYkNv
cmU6OlZpZXdwb3J0T3JpZW50YXRpb25MYW5kc2NhcGU6CisgICAgICAgIG9yaWVudGF0aW9uID0g
IkxhbmRzY2FwZSI7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBmcHJpbnRmKHN0ZG91dCwg
InZpZXdwb3J0IG9yaWVudGF0aW9uIDogJXNcbiIsIG9yaWVudGF0aW9uLnV0ZjgoKS5kYXRhKCkp
OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJl
bmRlclRyZWVTdXBwb3J0RWZsLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9E
dW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuaAppbmRleCAwYmEzNDJhNmQzNWU5ZDhiZTg4NjE2OTgz
NTA4N2ZiZDVkNGQyYTRjLi5jYmUzNDIwMGUyMWVkYjI4MmNjN2EwMWQ2MWFmODkyMjQ3MTRkODRj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9E
dW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuaApAQCAtNzYsNiArNzYsNyBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIHZvaWQgc2V0TW9ja1Njcm9sbGJhcnNFbmFibGVkKGJvb2wpOwogCiAgICAgc3RhdGlj
IHZvaWQgZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydChFdmFzX09iamVjdCogZXdrVmlldywg
aW50IGRldmljZURQSSwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgZGV2aWNlU2l6ZSwgY29uc3Qg
V2ViQ29yZTo6SW50U2l6ZSYgYXZhaWxhYmxlU2l6ZSk7CisgICAgc3RhdGljIHZvaWQgZHVtcFZp
ZXdwb3J0T3JpZW50YXRpb24oRXZhc19PYmplY3QqIGV3a1ZpZXcpOwogfTsKIAogI2VuZGlmIC8v
IER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3ZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcApp
bmRleCA4NTNiMzQyZWJkOGIzZWYxOTViOTBlNWI0NmRmNjdlNzMxYmIxNjAwLi41NmE3MWI4MWFj
M2I2ZDMzM2Q3YmE5YjgyMTRmMzk3YWQyOWU1ZGYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3ZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmll
dy5jcHAKQEAgLTM1NTQsNiArMzU1NCw3IEBAIHZvaWQgZXdrX3ZpZXdfanNfd2luZG93X29iamVj
dF9jbGVhcihFdmFzX09iamVjdCogZXdrVmlldywgRXZhc19PYmplY3QqIGZyYW1lKQogICoKICAq
IEBwYXJhbSBhcmd1bWVudHMgdmlld3BvcnQgYXJndW1lbnQuCiAgKgorICogRW1pdHMgc2lnbmFs
OiAidmlld3BvcnQsb3JpZW50YXRpb24sY2hhbmdlZCIgd2l0aCBhbiBFd2tfVmlld3BvcnRfT3Jp
ZW50YXRpb24uCiAgKiBFbWl0cyBzaWduYWw6ICJ2aWV3cG9ydCxjaGFuZ2VkIiB3aXRoIG5vIHBh
cmFtZXRlcnMuCiAgKi8KIHZvaWQgZXdrX3ZpZXdfdmlld3BvcnRfYXR0cmlidXRlc19zZXQoRXZh
c19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzJiBhcmd1
bWVudHMpCkBAIC0zNTYxLDYgKzM1NjIsMTAgQEAgdm9pZCBld2tfdmlld192aWV3cG9ydF9hdHRy
aWJ1dGVzX3NldChFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgV2ViQ29yZTo6Vmlld3AKICAg
ICBFV0tfVklFV19TRF9HRVQoZXdrVmlldywgc21hcnREYXRhKTsKICAgICBFV0tfVklFV19QUklW
X0dFVChzbWFydERhdGEsIHByaXYpOwogCisgICAgaWYgKHByaXYtPnZpZXdwb3J0QXJndW1lbnRz
Lm9yaWVudGF0aW9uICE9IGFyZ3VtZW50cy5vcmllbnRhdGlvbikgeworICAgICAgICBFd2tfVmll
d3BvcnRfT3JpZW50YXRpb24gb3JpZW50YXRpb24gPSBzdGF0aWNfY2FzdDxFd2tfVmlld3BvcnRf
T3JpZW50YXRpb24+KGFyZ3VtZW50cy5vcmllbnRhdGlvbik7CisgICAgICAgIGV2YXNfb2JqZWN0
X3NtYXJ0X2NhbGxiYWNrX2NhbGwoZXdrVmlldywgInZpZXdwb3J0LG9yaWVudGF0aW9uLGNoYW5n
ZWQiLCAmb3JpZW50YXRpb24pOworICAgIH0KICAgICBwcml2LT52aWV3cG9ydEFyZ3VtZW50cyA9
IGFyZ3VtZW50czsKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19jYWxsKGV3a1ZpZXcs
ICJ2aWV3cG9ydCxjaGFuZ2VkIiwgMCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCmluZGV4
IGE0MzM1Mzc0ZjQ4Y2Q1YWU2NTNmY2Y0Yjk4Mjg1OWI1Nzk3N2ZmZWMuLmNjMTQ4MWY2MmUwZGZm
NTgwZWJjNmM1YmMxM2JjYzQ3OGQ5YmU1MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZs
L2V3ay9ld2tfdmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCkBA
IC04MSw2ICs4MSw3IEBACiAgKiAgLSAidG9vbHRpcCx0ZXh0LHNldCIsIGNvbnN0IGNoYXIqOiBz
ZXRzIHRvb2x0aXAgdGV4dCBhbmQgZGlzcGxheXMgaWYgaXQgaXMgY3VycmVudGx5IGhpZGRlbi4K
ICAqICAtICJ1cmksY2hhbmdlZCIsIGNvbnN0IGNoYXIqOiB1cmkgb2YgdGhlIG1haW4gZnJhbWUg
d2FzIGNoYW5nZWQuCiAgKiAgLSAidmlldyxyZXNpemVkIiwgdm9pZDogdmlldyBvYmplY3QncyBz
aXplIHdhcyBjaGFuZ2VkLgorICogIC0gInZpZXdwb3J0LG9yaWVudGF0aW9uLGNoYW5nZWQiLCBF
d2tfVmlld3BvcnRfT3JpZW50YXRpb246IHJlcG9ydHMgdGhhdCBvcmllbnRhdGlvbiBvZiB2aWV3
cG9ydCB3YXMgY2hhbmdlZC4KICAqICAtICJ2aWV3cG9ydCxjaGFuZ2VkIiwgdm9pZDogcmVwb3J0
cyB0aGF0IHZpZXdwb3J0IHdhcyBjaGFuZ2VkLgogICogIC0gInpvb20sYW5pbWF0ZWQsZW5kIiwg
dm9pZDogcmVxdWVzdGVkIGFuaW1hdGVkIHpvb20gaXMgZmluaXNoZWQuCiAgKi8KQEAgLTMzNCw2
ICszMzUsMTUgQEAgZW51bSBfRXdrX1ZpZXdfTW9kZSB7CiAvLy8gQ3JlYXRlcyBhIHR5cGUgbmFt
ZSBmb3IgQGEgX0V3a19WaWV3X01vZGUuCiB0eXBlZGVmIGVudW0gX0V3a19WaWV3X01vZGUgRXdr
X1ZpZXdfTW9kZTsKIAorLy8vIERlZmluZXMgdGhlIG9yaWVudGF0aW9uIG9mIHZpZXdwb3J0Lgor
ZW51bSBfRXdrX1ZpZXdwb3J0X09yaWVudGF0aW9uIHsKKyAgICBFV0tfVklFV1BPUlRfT1JJRU5U
QVRJT05fQVVUTywKKyAgICBFV0tfVklFV1BPUlRfT1JJRU5UQVRJT05fUE9SVFJBSVQsCisgICAg
RVdLX1ZJRVdQT1JUX09SSUVOVEFUSU9OX0xBTkRTQ0FQRQorfTsKKy8vLyBDcmVhdGVzIGEgdHlw
ZSBuYW1lIGZvciBAYSBfRXdrX1ZpZXdwb3J0X09yaWVudGF0aW9uLgordHlwZWRlZiBlbnVtIF9F
d2tfVmlld3BvcnRfT3JpZW50YXRpb24gRXdrX1ZpZXdwb3J0X09yaWVudGF0aW9uOworCiAvLy8g
RGVmaW5lcyB0aGUgZm9udCBmYW1pbGllcy4KIGVudW0gX0V3a19Gb250X0ZhbWlseSB7CiAgICAg
RVdLX0ZPTlRfRkFNSUxZX1NUQU5EQVJEID0gMCwKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwYmFhYWZiODQ2OTBmMjc3MWI5YTQ0MjcyNjUxNjhm
NmNmMzYyZmQ1Li40OTRlMzhkMjFmZDYzMjY1ZDBhYzVmZmQ5MTA3MGQwZjZkZjJmYTZhIDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjAgQEAKKzIwMTItMDItMDEgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgor
CisgICAgICAgIFN1cHBvcnQgb3JpZW50YXRpb24gYXR0cmlidXRlIG9mIHZpZXdwb3J0IG1ldGEg
dGFnLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0
ODcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
ZHVtcFZpZXBvcnRPcmllbnRhdGlvbiB0byB0ZXN0IHZpZXdwb3J0IG9yaWVudGF0aW9uIGF0dHJp
YnV0ZS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKGR1bXBWaWV3cG9ydE9yaWVudGF0aW9uQ2FsbGJhY2spOgorICAgICAgICAo
TGF5b3V0VGVzdENvbnRyb2xsZXI6OnN0YXRpY0Z1bmN0aW9ucyk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKExheW91dFRlc3RDb250
cm9sbGVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xs
ZXJFZmwuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OmR1bXBWaWV3cG9ydE9y
aWVudGF0aW9uKToKKwogMjAxMi0wMi0wMSAgTsOhbmRvciBIdXN6a2EgIDxodXN6a2EubmFuZG9y
QHN0dWQudS1zemVnZWQuaHU+CiAKICAgICAgICAgW1F0XSBBdXRvbWF0aWMgY2xlYW4gYnVpbGQg
ZmVhdHVyZSBhbHdheXMgZG8gY2xlYW4gYnVpbGQgd2l0aCAtLW5vLXdlYmtpdDIKZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAppbmRleCBhZTExNjRlNWEy
MDlmOTM2MjAyYzQ1MThiOGZhMDNmOTNlMzZkZDc4Li5hMmQzMjdlZDBhYjE0ODcxNTdjZDBjNTI5
MmI3OTVkNjdkODgxYmVmIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENv
bnRyb2xsZXIuY3BwCkBAIC0xNzksNiArMTc5LDEzIEBAIHN0YXRpYyBKU1ZhbHVlUmVmIGR1bXBD
b25maWd1cmF0aW9uRm9yVmlld3BvcnRDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNP
CiAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOwogfQogCitzdGF0aWMg
SlNWYWx1ZVJlZiBkdW1wVmlld3BvcnRPcmllbnRhdGlvbkNhbGxiYWNrKEpTQ29udGV4dFJlZiBj
b250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6
ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVS
ZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBMYXlvdXRUZXN0Q29udHJvbGxlciogY29udHJvbGxlciA9
IHN0YXRpY19jYXN0PExheW91dFRlc3RDb250cm9sbGVyKj4oSlNPYmplY3RHZXRQcml2YXRlKHRo
aXNPYmplY3QpKTsKKyAgICBjb250cm9sbGVyLT5kdW1wVmlld3BvcnRPcmllbnRhdGlvbigpOwor
ICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKK30KKwogc3RhdGljIEpT
VmFsdWVSZWYgZHVtcERhdGFiYXNlQ2FsbGJhY2tzQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRl
eHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3Qg
YXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiog
ZXhjZXB0aW9uKQogewogICAgIExheW91dFRlc3RDb250cm9sbGVyKiBjb250cm9sbGVyID0gc3Rh
dGljX2Nhc3Q8TGF5b3V0VGVzdENvbnRyb2xsZXIqPihKU09iamVjdEdldFByaXZhdGUodGhpc09i
amVjdCkpOwpAQCAtMjM3Niw2ICsyMzgzLDcgQEAgSlNTdGF0aWNGdW5jdGlvbiogTGF5b3V0VGVz
dENvbnRyb2xsZXI6OnN0YXRpY0Z1bmN0aW9ucygpCiAgICAgICAgIHsgImR1bXBDaGlsZEZyYW1l
U2Nyb2xsUG9zaXRpb25zIiwgZHVtcENoaWxkRnJhbWVTY3JvbGxQb3NpdGlvbnNDYWxsYmFjaywg
a0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERl
bGV0ZSB9LAogICAgICAgICB7ICJkdW1wQ2hpbGRGcmFtZXNBc1RleHQiLCBkdW1wQ2hpbGRGcmFt
ZXNBc1RleHRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3Bl
cnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJkdW1wQ29uZmlndXJhdGlvbkZv
clZpZXdwb3J0IiwgZHVtcENvbmZpZ3VyYXRpb25Gb3JWaWV3cG9ydENhbGxiYWNrLCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0s
CisgICAgICAgIHsgImR1bXBWaWV3cG9ydE9yaWVudGF0aW9uIiwgZHVtcFZpZXdwb3J0T3JpZW50
YXRpb25DYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5
QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJkdW1wRE9NQXNXZWJBcmNoaXZlIiwg
ZHVtcERPTUFzV2ViQXJjaGl2ZUNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5
IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgImR1bXBEYXRh
YmFzZUNhbGxiYWNrcyIsIGR1bXBEYXRhYmFzZUNhbGxiYWNrc0NhbGxiYWNrLCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAg
ICAgICAgIHsgImR1bXBFZGl0aW5nQ2FsbGJhY2tzIiwgZHVtcEVkaXRpbmdDYWxsYmFja3NDYWxs
YmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRl
RG9udERlbGV0ZSB9LApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVz
dENvbnRyb2xsZXIuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVy
LmgKaW5kZXggNjYxN2NmZTI3YzUwZTY4ZjY5NDk5ZWYwMmQzZTEyZDZkZjMxNTNlZS4uOGFlOTE1
YjkzZjYxYzUwYjYxZGQ2OThlNzUxMTRkMDgxMGUyNzgzZCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCkBAIC0zMzQsNiArMzM0LDcgQEAgcHVibGljOgog
ICAgIGJvb2wgaGFzR3JhbW1hck1hcmtlcihpbnQgZnJvbSwgaW50IGxlbmd0aCk7CiAKICAgICB2
b2lkIGR1bXBDb25maWd1cmF0aW9uRm9yVmlld3BvcnQoaW50IGRldmljZURQSSwgaW50IGRldmlj
ZVdpZHRoLCBpbnQgZGV2aWNlSGVpZ2h0LCBpbnQgYXZhaWxhYmxlV2lkdGgsIGludCBhdmFpbGFi
bGVIZWlnaHQpOworICAgIHZvaWQgZHVtcFZpZXdwb3J0T3JpZW50YXRpb24oKTsKIAogICAgIHN0
YXRpYyB2b2lkIHNldFNlcmlhbGl6ZUhUVFBMb2Fkcyhib29sIHNlcmlhbGl6ZSk7CiAKZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5j
cHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3Bw
CmluZGV4IDY2NTk0ZjcwMmVmZWJmNWIzZTdmYTk4OGMzMDk1YjQwZGQ1NGFmOTUuLjBjYjA4NzUx
MTM3ZDFkN2I4MjZiMDA4NmUyMDI3ZDU3MTk3ZGE0ZTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcApAQCAtNzQ5LDYgKzc0
OSwxMSBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpkdW1wQ29uZmlndXJhdGlvbkZvclZp
ZXdwb3J0KGludCBkZXZpY2VEUEksIGludCBkZXZpYwogICAgICAgICAgICAgV2ViQ29yZTo6SW50
U2l6ZShhdmFpbGFibGVXaWR0aCwgYXZhaWxhYmxlSGVpZ2h0KSk7CiB9CiAKK3ZvaWQgTGF5b3V0
VGVzdENvbnRyb2xsZXI6OmR1bXBWaWV3cG9ydE9yaWVudGF0aW9uKCkKK3sKKyAgICBEdW1wUmVu
ZGVyVHJlZVN1cHBvcnRFZmw6OmR1bXBWaWV3cG9ydE9yaWVudGF0aW9uKGJyb3dzZXItPm1haW5W
aWV3KCkpOworfQorCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRTZXJpYWxpemVIVFRQ
TG9hZHMoYm9vbCkKIHsKICAgICAvLyBGSVhNRTogSW1wbGVtZW50IGlmIG5lZWRlZCBmb3IgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwNzU4LgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGY3OGMz
YjFkZWZhNmI4N2I5YWUyYWJkYmJkOTllMzFkODM0MzA3MjguLjU3ZTE0NzBmNTRjZDk0ZTc0MTk4
MjA5MWYxZTBjNGIyMzNlMDc0YWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMi0wMSAg
Unl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgU3VwcG9ydCBv
cmllbnRhdGlvbiBhdHRyaWJ1dGUgb2Ygdmlld3BvcnQgbWV0YSB0YWcuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ4NworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC92aWV3cG9ydC92aWV3cG9y
dC1vcmllbnRhdGlvbi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvdmlld3Bv
cnQvdmlld3BvcnQtb3JpZW50YXRpb24uaHRtbDogQWRkZWQuCisKIDIwMTItMDItMDEgIFNoYXdu
IFNpbmdoICA8c2hhd25zaW5naEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRml4IHRoZSBzZW1h
bnRpY3Mgb2YgcGFzc2luZyBjb250ZW50c1Zpc2libGUgZmxhZyB0byBHcmFwaGljc0xheWVycwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC92aWV3cG9ydC92aWV3cG9ydC1vcmllbnRhdGlv
bi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LW9yaWVu
dGF0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZTQxNjc0N2U2NTI3ZjYzOTA5NTk4MGMy
YWExMWEwMzNlMTRiNTcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC92aWV3
cG9ydC92aWV3cG9ydC1vcmllbnRhdGlvbi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACit2
aWV3cG9ydCBvcmllbnRhdGlvbiA6IExhbmRzY2FwZQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LW9yaWVudGF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3ZpZXdwb3J0L3ZpZXdwb3J0LW9yaWVudGF0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWEzNzFi
ZDMxNDNlZjk0YjFhMWEwMzBiN2RhM2Q2OTM5YWViMjliMgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3Qvdmlld3BvcnQvdmlld3BvcnQtb3JpZW50YXRpb24uaHRtbApAQCAtMCww
ICsxLDEzIEBACis8aGVhZD4KKyAgICA8dGl0bGU+Vmlld3BvcnQgTWV0YSB3aXRoICJvcmllbnRh
dGlvbj1sYW5kc2NhcGUiLjwvdGl0bGU+CisgICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9Im9yaWVudGF0aW9uPWxhbmRzY2FwZSI+CisgICAgPHNjcmlwdD4KKyAgICAgICAgZnVuY3Rp
b24gdGVzdCgpIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
IHsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cisg
ICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcFZpZXdwb3J0T3JpZW50YXRp
b24oKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHkgb25sb2FkPSJ0ZXN0KCk7Ij4K
</data>
<flag name="review"
          id="126306"
          type_id="1"
          status="-"
          setter="kenneth"
    />
          </attachment>
      

    </bug>

</bugzilla>