<?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>65238</bug_id>
          
          <creation_ts>2011-07-27 01:24:09 -0700</creation_ts>
          <short_desc>[EFL] Introduce AssertMatchingEnums.cpp.</short_desc>
          <delta_ts>2011-12-07 18:11:31 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryuan Choi">ryuan.choi</reporter>
          <assigned_to name="Ryuan Choi">ryuan.choi</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>442783</commentid>
    <comment_count>0</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-07-27 01:24:09 -0700</bug_when>
    <thetext>Patch will be added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442785</commentid>
    <comment_count>1</comment_count>
      <attachid>102105</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-07-27 01:29:46 -0700</bug_when>
    <thetext>Created attachment 102105
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442791</commentid>
    <comment_count>2</comment_count>
      <attachid>102105</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-07-27 01:58:56 -0700</bug_when>
    <thetext>Comment on attachment 102105
Patch

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

&gt; Source/WebKit/efl/ewk/ewk_frame.h:153
&gt;      EWK_TOUCH_POINT_MOVED,

Is it better to sort by alphabetic order ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442796</commentid>
    <comment_count>3</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-07-27 02:09:59 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 102105 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=102105&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_frame.h:153
&gt; &gt;      EWK_TOUCH_POINT_MOVED,
&gt; 
&gt; Is it better to sort by alphabetic order ?

No, This patch is to keep same order between WebCore&apos;s enum values and WebKit&apos;s enum values.

If they are different, AssertMatchingEnums will complain it in compile time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442803</commentid>
    <comment_count>4</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-07-27 02:28:52 -0700</bug_when>
    <thetext>OK, LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442844</commentid>
    <comment_count>5</comment_count>
      <attachid>102125</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-07-27 04:49:21 -0700</bug_when>
    <thetext>Created attachment 102125
typo_fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442905</commentid>
    <comment_count>6</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-07-27 06:41:49 -0700</bug_when>
    <thetext>&gt; Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp:23
&gt; +

Isn&apos;t it better to explicitly include &lt;wtf/Assertions.h&gt; here?

&gt; Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp:33
&gt; +    COMPILE_ASSERT(int(webkit_name) == int(WebCore::webcore_name), mismatching_enums)

I prefer a C++ cast here.

&gt; Source/WebKit/efl/ewk/ewk_frame.h:147
&gt;  } Ewk_Touch_Event_Type;

It&apos;s probably a good idea to add a comment here mentioning that the order of the items should match the order of the equivalent structure in WebCore.

&gt; Source/WebKit/efl/ewk/ewk_frame.h:157
&gt;  } Ewk_Touch_Point_Type;

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443270</commentid>
    <comment_count>7</comment_count>
      <attachid>102218</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-07-27 18:59:55 -0700</bug_when>
    <thetext>Created attachment 102218
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443272</commentid>
    <comment_count>8</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-07-27 19:03:36 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; &gt; Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp:23
&gt; &gt; +
&gt; 
&gt; Isn&apos;t it better to explicitly include &lt;wtf/Assertions.h&gt; here?
&gt; 
Done.

&gt; &gt; Source/WebKit/efl/WebCoreSupport/AssertMatchingEnums.cpp:33
&gt; &gt; +    COMPILE_ASSERT(int(webkit_name) == int(WebCore::webcore_name), mismatching_enums)
&gt; 
&gt; I prefer a C++ cast here.
&gt; 
Done.

&gt; &gt; Source/WebKit/efl/ewk/ewk_frame.h:147
&gt; &gt;  } Ewk_Touch_Event_Type;
&gt; 
&gt; It&apos;s probably a good idea to add a comment here mentioning that the order of the items should match the order of the equivalent structure in WebCore.
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_frame.h:157
&gt; &gt;  } Ewk_Touch_Point_Type;
&gt; 
&gt; Ditto.

I&apos;m not sure.
I think that this comment make developers confused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443442</commentid>
    <comment_count>9</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-07-28 05:37:30 -0700</bug_when>
    <thetext>&gt; &gt; &gt; Source/WebKit/efl/ewk/ewk_frame.h:147
&gt; &gt; &gt;  } Ewk_Touch_Event_Type;
&gt; &gt; 
&gt; &gt; It&apos;s probably a good idea to add a comment here mentioning that the order of the items should match the order of the equivalent structure in WebCore.
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/efl/ewk/ewk_frame.h:157
&gt; &gt; &gt;  } Ewk_Touch_Point_Type;
&gt; &gt; 
&gt; &gt; Ditto.
&gt; 
&gt; I&apos;m not sure.
&gt; I think that this comment make developers confused.

Coming to think of it again, the compilation error that will happen if the enum is changed should be enough indeed. r+ from my side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443895</commentid>
    <comment_count>10</comment_count>
      <attachid>102349</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-07-29 05:25:32 -0700</bug_when>
    <thetext>Created attachment 102349
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443896</commentid>
    <comment_count>11</comment_count>
      <attachid>102349</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-07-29 05:26:29 -0700</bug_when>
    <thetext>Comment on attachment 102349
Patch

Sorry, It&apos;s mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496957</commentid>
    <comment_count>12</comment_count>
      <attachid>113821</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-11-06 20:36:46 -0800</bug_when>
    <thetext>Created attachment 113821
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496958</commentid>
    <comment_count>13</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-11-06 20:37:44 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; Created an attachment (id=113821) [details]
&gt; Patch

Rebased and remove more switch statements which is recently added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515907</commentid>
    <comment_count>14</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-12-06 07:37:50 -0800</bug_when>
    <thetext>LGTM :)

Dunno if there are currently more enums which can benefit from this change, but it&apos;s up to you whether you want to do that in this patch or fix them later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516314</commentid>
    <comment_count>15</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-12-06 15:41:57 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; LGTM :)
&gt; 
&gt; Dunno if there are currently more enums which can benefit from this change, but it&apos;s up to you whether you want to do that in this patch or fix them later.

Thanks for the comment.

I briefly searched ewk/ and this patch is still enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517038</commentid>
    <comment_count>16</comment_count>
      <attachid>113821</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-12-07 17:53:02 -0800</bug_when>
    <thetext>Comment on attachment 113821
Patch

Looks good, r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517065</commentid>
    <comment_count>17</comment_count>
      <attachid>113821</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-07 18:11:25 -0800</bug_when>
    <thetext>Comment on attachment 113821
Patch

Clearing flags on attachment: 113821

Committed r102297: &lt;http://trac.webkit.org/changeset/102297&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517066</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-07 18:11:31 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102105</attachid>
            <date>2011-07-27 01:29:46 -0700</date>
            <delta_ts>2011-07-27 04:49:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65238-20110727172940.patch</filename>
            <type>text/plain</type>
            <size>9418</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTE4MjUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3YmE2YTA2NDJhZTJkZWE1
NmI4NGY3M2EyZDI3MDE4ZjE4ODVkNWE0Li4yZGE5NGJkOGY3MDViMmEzZjM3MWFjZDU3ZjBmZmQ5
ZThmMDFkNDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDctMjcgIFJ5dWFu
IENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIEludHJvZHVj
ZSBBc3NlcnRNYXRjaGNpbmdFbnVtcy5jcHAuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NTIzOAorCisgICAgICAgIFJlbW92ZSBzd2l0Y2ggc3RhdGVt
ZW50IHdoaWNoIGNvbnZlcnQgRVdLX1RPVUNIX1BvaW50VHlwZSBlbnVtIHZhbHVlcyB0bworICAg
ICAgICBXZWJDb3JlOjpQbGF0Zm9ybVRvdWNoUG9pbnQ6OlN0YXRlIGVudW0gdmFsdWVzLgorICAg
ICAgICBOZXdseSBhZGRlZCBBc3NlcnRNYXRjaGluZ0VudW1zLmNwcCBhc3N1cmUgdGhhdCB0aGV5
IGFyZSBlcXVhbC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSBubyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2VmbC9QbGF0Zm9ybVRvdWNoRXZlbnRFZmwuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UGxhdGZvcm1Ub3VjaEV2ZW50OjpQbGF0Zm9ybVRvdWNoRXZlbnQpOgorCiAy
MDExLTA3LTI2ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgW2Nocm9taXVtXSBSRUdSRVNTSU9OKDkwOTYzKTogQ29udGVudCBsYXllcnMgYXJlIG5vdCBy
ZWRyYXduIGFmdGVyIGxvc2luZyB0aGUgY29tcG9zaXRvciBjb250ZXh0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUGxhdGZvcm1Ub3VjaEV2ZW50RWZsLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9QbGF0Zm9ybVRvdWNoRXZlbnRFZmwuY3BwCmluZGV4
IDgwZGZlNmYzNzMyZTliM2YyMzZiYmQ0MTMxMDA2OGZhNDJjMWE2MWEuLmQ4MmRkNjM3Y2IzMDI3
ZjZlMGM1MDM3NmJjYTkwOWQ5NGM1MWE4NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2VmbC9QbGF0Zm9ybVRvdWNoRXZlbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2VmbC9QbGF0Zm9ybVRvdWNoRXZlbnRFZmwuY3BwCkBAIC00NywyMyArNDcsNyBA
QCBQbGF0Zm9ybVRvdWNoRXZlbnQ6OlBsYXRmb3JtVG91Y2hFdmVudChFaW5hX0xpc3QqIHBvaW50
cywgY29uc3QgSW50UG9pbnQgcG9zLCBUbwogICAgICAgICBFd2tfVG91Y2hfUG9pbnQqIHAgPSBz
dGF0aWNfY2FzdDxFd2tfVG91Y2hfUG9pbnQqPihwb2ludCk7CiAgICAgICAgIEludFBvaW50IHBu
dCA9IEludFBvaW50KHAtPnggLSBwb3MueCgpLCBwLT55IC0gcG9zLnkoKSk7CiAKLSAgICAgICAg
UGxhdGZvcm1Ub3VjaFBvaW50OjpTdGF0ZSBzdGF0ZSA9IFBsYXRmb3JtVG91Y2hQb2ludDo6VG91
Y2hQcmVzc2VkOwotICAgICAgICBzd2l0Y2ggKHAtPnN0YXRlKSB7Ci0gICAgICAgIGNhc2UgRVdL
X1RPVUNIX1BPSU5UX1BSRVNTRUQ6Ci0gICAgICAgICAgICBzdGF0ZSA9IFBsYXRmb3JtVG91Y2hQ
b2ludDo6VG91Y2hQcmVzc2VkOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgRVdL
X1RPVUNIX1BPSU5UX1JFTEVBU0VEOgotICAgICAgICAgICAgc3RhdGUgPSBQbGF0Zm9ybVRvdWNo
UG9pbnQ6OlRvdWNoUmVsZWFzZWQ7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBF
V0tfVE9VQ0hfUE9JTlRfTU9WRUQ6Ci0gICAgICAgICAgICBzdGF0ZSA9IFBsYXRmb3JtVG91Y2hQ
b2ludDo6VG91Y2hNb3ZlZDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIEVXS19U
T1VDSF9QT0lOVF9DQU5DRUxMRUQ6Ci0gICAgICAgICAgICBzdGF0ZSA9IFBsYXRmb3JtVG91Y2hQ
b2ludDo6VG91Y2hDYW5jZWxsZWQ7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotCi0g
ICAgICAgIG1fdG91Y2hQb2ludHMuYXBwZW5kKFBsYXRmb3JtVG91Y2hQb2ludChwLT5pZCwgcG50
LCBzdGF0ZSkpOworICAgICAgICBtX3RvdWNoUG9pbnRzLmFwcGVuZChQbGF0Zm9ybVRvdWNoUG9p
bnQocC0+aWQsIHBudCwgc3RhdGljX2Nhc3Q8UGxhdGZvcm1Ub3VjaFBvaW50OjpTdGF0ZT4ocC0+
c3RhdGUpKSk7CiAgICAgfQogCiAgICAgLy8gRklYTUU6IFdlIGRvbid0IHN1cHBvcnQgbWV0YVN0
YXRlIGZvciBub3cuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DTWFrZUxpc3RzRWZs
LnR4dCBiL1NvdXJjZS9XZWJLaXQvZWZsL0NNYWtlTGlzdHNFZmwudHh0CmluZGV4IDJjZTUyMzkz
MWU5MWYwODc3YjM4Zjk0OWY4OWU4NTQ1MDMwZDc2MWIuLmE4YTU2M2I5MGRmYTA2NmFjYThlNGFj
NDBkZjQ2NTVlZTZkNDA5YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NNYWtlTGlz
dHNFZmwudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NNYWtlTGlzdHNFZmwudHh0CkBAIC00
OSw2ICs0OSw3IEBAIElGIChXVEZfVVNFX1BBTkdPKQogRU5ESUYgKCkKIAogTElTVChBUFBFTkQg
V2ViS2l0X1NPVVJDRVMKKyAgICBlZmwvV2ViQ29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdFbnVt
cy5jcHAKICAgICBlZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcAogICAgIGVm
bC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNsaWVudEVmbC5jcHAKICAgICBlZmwv
V2ViQ29yZVN1cHBvcnQvRGV2aWNlTW90aW9uQ2xpZW50RWZsLmNwcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmlu
ZGV4IDc4MjM1OTUyNDdhNzU5Yzc2NGYwOGNmMDE1YjYzNzZjZjQyODk0NTMuLjI1YWU4ZTQyMTIx
MGE4ZWY4YWEzM2E4YjAzZjIwMjIwODA3NzU5MjQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMSBAQAorMjAxMS0wNy0yNyAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+
CisKKyAgICAgICAgW0VGTF0gSW50cm9kdWNlIEFzc2VydE1hdGNoY2luZ0VudW1zLmNwcC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1MjM4CisKKyAg
ICAgICAgQWRkIEFzc2VydE1hdGNoaW5nRW51bXMuY3BwIHRvIGFzc2VydCB0aGF0IHZhcmlvdXMg
V2ViS2l0IEFQSSBlbnVtIHZhbHVlcworICAgICAgICBtYXRjaCB0byBXZWJDb3JlIGRlZmluZWQg
ZW51bSB2YWx1ZXMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBDTWFrZUxpc3RzRWZsLnR4dDogYWRkIEFzc2VydE1hdGhpbmdFbnVtcy5jcHAuCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6IEFkZGVkLgor
ICAgICAgICAqIGV3ay9ld2tfZnJhbWUuY3BwOgorICAgICAgICAoZXdrX2ZyYW1lX2ZlZWRfdG91
Y2hfZXZlbnQpOiByZW1vdmUgc3dpdGNoIHN0YXRlbWVudCB3aGljaCBjb252ZXJ0IFdlYktpdAor
ICAgICAgICBBUEkgZW51bSB2YWx1ZSB0byBXZWJDb3JlIGRlZmluZWQgZW51bSB2YWx1ZS4KKyAg
ICAgICAgKGV3a19mcmFtZV90ZXh0X3NlbGVjdGlvbl90eXBlX2dldCk6IERpdHRvLgorICAgICAg
ICAqIGV3ay9ld2tfZnJhbWUuaDogZml4IG9yZGVyIG9mIGVudW0gdmFsdWVzLgorCiAyMDExLTA3
LTI2ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAg
W0VGTF0gRml4IHBvaW50ZXIgb3BlcmF0b3IgY29kaW5nIHN0eWxlIGluIGV3a192aWV3LgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdF
bnVtcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9Bc3NlcnRNYXRjaGlu
Z0VudW1zLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMDVmOGViNzU5NTRmZWM2N2E2MTZkMGY1NWIzZmRjZDhi
YWQ5OTY3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqICBDb3B5
cmlnaHQgKEMpIDIwMTEgU2Ftc3VuZyBFbGVjdHJvbmljcy4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
KyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVz
c2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
aWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEg
IFVTQQorICovCisKKy8vIFVzZSB0aGlzIGZpbGUgdG8gYXNzZXJ0IHRoYXQgdmFyaW91cyBXZWJL
aXQgQVBJIGVudW0gdmFsdWVzIGNvbnRpbnVlCisvLyBtYXRjaGluZyBXZWJDb3JlIGRlZmluZWQg
ZW51bSB2YWx1ZXMuCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgIlZpc2libGVT
ZWxlY3Rpb24uaCIKKyNpbmNsdWRlICJld2tfZnJhbWUuaCIKKworI2lmIEVOQUJMRShUT1VDSF9F
VkVOVFMpCisjaW5jbHVkZSAiUGxhdGZvcm1Ub3VjaEV2ZW50LmgiCisjaW5jbHVkZSAiUGxhdGZv
cm1Ub3VjaFBvaW50LmgiCisjZW5kaWYKKworI2RlZmluZSBDT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKHdlYmtpdF9uYW1lLCB3ZWJjb3JlX25hbWUpIFwKKyAgICBDT01QSUxFX0FTU0VSVChp
bnQod2Via2l0X25hbWUpID09IGludChXZWJDb3JlOjp3ZWJjb3JlX25hbWUpLCBtaXNtYXRjaGlu
Z19lbnVtcykKKworI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCitDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKEVXS19UT1VDSF9TVEFSVCwgVG91Y2hTdGFydCk7CitDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19UT1VDSF9FTkQsIFRvdWNoRW5kKTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX1RPVUNIX01PVkUsIFRvdWNoTW92ZSk7CitDT01QSUxFX0FTU0VSVF9N
QVRDSElOR19FTlVNKEVXS19UT1VDSF9DQU5DRUwsIFRvdWNoQ2FuY2VsKTsKKworQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVE9VQ0hfUE9JTlRfUkVMRUFTRUQsIFBsYXRmb3JtVG91
Y2hQb2ludDo6VG91Y2hSZWxlYXNlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVX
S19UT1VDSF9QT0lOVF9QUkVTU0VELCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUHJlc3NlZCk7
CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19UT1VDSF9QT0lOVF9NT1ZFRCwgUGxh
dGZvcm1Ub3VjaFBvaW50OjpUb3VjaE1vdmVkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX1RPVUNIX1BPSU5UX1NUQVRJT05BUlksIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hT
dGF0aW9uYXJ5KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1RPVUNIX1BPSU5U
X0NBTkNFTExFRCwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaENhbmNlbGxlZCk7CitDT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19UT1VDSF9QT0lOVF9FTkQsIFBsYXRmb3JtVG91Y2hQ
b2ludDo6VG91Y2hTdGF0ZUVuZCk7CisjZW5kaWYKKworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfVEVYVF9TRUxFQ1RJT05fTk9ORSwgVmlzaWJsZVNlbGVjdGlvbjo6Tm9TZWxlY3Rp
b24pOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVEVYVF9TRUxFQ1RJT05fQ0FS
RVQsIFZpc2libGVTZWxlY3Rpb246OkNhcmV0U2VsZWN0aW9uKTsKK0NPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX1RFWFRfU0VMRUNUSU9OX1JBTkdFLCBWaXNpYmxlU2VsZWN0aW9uOjpS
YW5nZVNlbGVjdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2Zy
YW1lLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwCmluZGV4IDA1NzA5
NDA4MTQ3MDdiNDRlMTA1NWNhNTdmYjAyMDdlZWY3YmE2MDYuLmI2MWUyYTRhY2ZlZDBhNmRmY2Y2
MWNmYmEzY2JiNWE0YjNhNmU0N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfZnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwCkBA
IC0xNDA5LDI1ICsxNDA5LDcgQEAgRWluYV9Cb29sIGV3a19mcmFtZV9mZWVkX3RvdWNoX2V2ZW50
KEV2YXNfT2JqZWN0KiBvLCBFd2tfVG91Y2hfRXZlbnRfVHlwZSBhY3Rpb24KICAgICBFdmFzX0Nv
b3JkIHgsIHk7CiAgICAgZXZhc19vYmplY3RfZ2VvbWV0cnlfZ2V0KHNkLT52aWV3LCAmeCwgJnks
IDAsIDApOwogCi0gICAgV2ViQ29yZTo6VG91Y2hFdmVudFR5cGUgdHlwZSA9IFdlYkNvcmU6OlRv
dWNoU3RhcnQ7Ci0gICAgc3dpdGNoIChhY3Rpb24pIHsKLSAgICBjYXNlIEVXS19UT1VDSF9TVEFS
VDoKLSAgICAgICAgdHlwZSA9IFdlYkNvcmU6OlRvdWNoU3RhcnQ7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgRVdLX1RPVUNIX0VORDoKLSAgICAgICAgdHlwZSA9IFdlYkNvcmU6OlRvdWNoRW5k
OwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEVXS19UT1VDSF9NT1ZFOgotICAgICAgICB0eXBl
ID0gV2ViQ29yZTo6VG91Y2hNb3ZlOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEVXS19UT1VD
SF9DQU5DRUw6Ci0gICAgICAgIHR5cGUgPSBXZWJDb3JlOjpUb3VjaENhbmNlbDsKLSAgICAgICAg
YnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIEVJTkFfRkFMU0U7Ci0gICAgfQot
Ci0gICAgV2ViQ29yZTo6UGxhdGZvcm1Ub3VjaEV2ZW50IHRlKHBvaW50cywgV2ViQ29yZTo6SW50
UG9pbnQoeCwgeSksIHR5cGUsIG1ldGFTdGF0ZSk7CisgICAgV2ViQ29yZTo6UGxhdGZvcm1Ub3Vj
aEV2ZW50IHRlKHBvaW50cywgV2ViQ29yZTo6SW50UG9pbnQoeCwgeSksIHN0YXRpY19jYXN0PFdl
YkNvcmU6OlRvdWNoRXZlbnRUeXBlPihhY3Rpb24pLCBtZXRhU3RhdGUpOwogICAgIHJldCA9IHNk
LT5mcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZVRvdWNoRXZlbnQodGUpOwogI2VuZGlmCiAg
ICAgcmV0dXJuIHJldDsKQEAgLTE1NTcsMTQgKzE1MzksNyBAQCBFd2tfVGV4dF9TZWxlY3Rpb25f
VHlwZSBld2tfZnJhbWVfdGV4dF9zZWxlY3Rpb25fdHlwZV9nZXQoRXZhc19PYmplY3QgKm8pCiAg
ICAgaWYgKCFjb250cm9sbGVyKQogICAgICAgICByZXR1cm4gRVdLX1RFWFRfU0VMRUNUSU9OX05P
TkU7CiAKLSAgICBzd2l0Y2ggKGNvbnRyb2xsZXItPnNlbGVjdGlvblR5cGUoKSkgewotICAgIGNh
c2UgV2ViQ29yZTo6VmlzaWJsZVNlbGVjdGlvbjo6Q2FyZXRTZWxlY3Rpb246Ci0gICAgICAgIHJl
dHVybiBFV0tfVEVYVF9TRUxFQ1RJT05fQ0FSRVQ7Ci0gICAgY2FzZSBXZWJDb3JlOjpWaXNpYmxl
U2VsZWN0aW9uOjpSYW5nZVNlbGVjdGlvbjoKLSAgICAgICAgcmV0dXJuIEVXS19URVhUX1NFTEVD
VElPTl9SQU5HRTsKLSAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gRVdLX1RFWFRfU0VMRUNU
SU9OX05PTkU7Ci0gICAgfQorICAgIHJldHVybiBzdGF0aWNfY2FzdDxFd2tfVGV4dF9TZWxlY3Rp
b25fVHlwZT4oY29udHJvbGxlci0+c2VsZWN0aW9uVHlwZSgpKTsKIH0KIAogLyogaW50ZXJuYWwg
bWV0aG9kcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oIGIvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oCmluZGV4IDE1OGVjNmQ1ZjdkNWU4ZTcwOWQw
YTk0MGJlODIxMzMwNmQzNTBhZjAuLjgzOTNiMjY2ZDZhNTc4MWE1YzY1N2VmMzBiNmEyOTYzNWQw
NWIxZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKQEAgLTE0MSwxNyArMTQxLDE5IEBA
IHN0cnVjdCBfRXdrX0hpdF9UZXN0IHsKIC8vLyBSZXByZXNlbnRzIGFjdGlvbnMgb2YgdG91Y2gg
ZXZlbnRzLgogdHlwZWRlZiBlbnVtIHsKICAgICBFV0tfVE9VQ0hfU1RBUlQsCi0gICAgRVdLX1RP
VUNIX0VORCwKICAgICBFV0tfVE9VQ0hfTU9WRSwKKyAgICBFV0tfVE9VQ0hfRU5ELAogICAgIEVX
S19UT1VDSF9DQU5DRUwKIH0gRXdrX1RvdWNoX0V2ZW50X1R5cGU7CiAKIC8vLyBSZXByZXNlbnRz
IHN0YXRlcyBvZiB0b3VjaCBldmVudHMuCiB0eXBlZGVmIGVudW0gewotICAgIEVXS19UT1VDSF9Q
T0lOVF9QUkVTU0VELAogICAgIEVXS19UT1VDSF9QT0lOVF9SRUxFQVNFRCwKKyAgICBFV0tfVE9V
Q0hfUE9JTlRfUFJFU1NFRCwKICAgICBFV0tfVE9VQ0hfUE9JTlRfTU9WRUQsCi0gICAgRVdLX1RP
VUNIX1BPSU5UX0NBTkNFTExFRAorICAgIEVXS19UT1VDSF9QT0lOVF9TVEFUSU9OQVJZLAorICAg
IEVXS19UT1VDSF9QT0lOVF9DQU5DRUxMRUQsCisgICAgRVdLX1RPVUNIX1BPSU5UX0VORAogfSBF
d2tfVG91Y2hfUG9pbnRfVHlwZTsKIAogLy8vIENyZWF0ZXMgYSB0eXBlIG5hbWUgZm9yIF9Fd2tf
VG91Y2hfUG9pbnQuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102125</attachid>
            <date>2011-07-27 04:49:21 -0700</date>
            <delta_ts>2011-07-27 18:59:48 -0700</delta_ts>
            <desc>typo_fixed</desc>
            <filename>bug-65238-20110727204915.patch</filename>
            <type>text/plain</type>
            <size>9441</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTE4MzQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyYzAyNzUzMjJlOTRmMzQw
Y2ZmZWI3ZGE3ZGNkNTUzODAwM2FmZGFjLi44MmIwNmRmN2Q1OGFhNTBlZmRkZTIwOWYxN2JmMDcy
MjVmYzMxMGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDctMjcgIFJ5dWFu
IENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIEludHJvZHVj
ZSBBc3NlcnRNYXRjaGluZ0VudW1zLmNwcC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY1MjM4CisKKyAgICAgICAgUmVtb3ZlIHN3aXRjaCBzdGF0ZW1l
bnQgd2hpY2ggY29udmVydCBFV0tfVE9VQ0hfUG9pbnRUeXBlIGVudW0gdmFsdWVzIHRvCisgICAg
ICAgIFdlYkNvcmU6OlBsYXRmb3JtVG91Y2hQb2ludDo6U3RhdGUgZW51bSB2YWx1ZXMuCisgICAg
ICAgIE5ld2x5IGFkZGVkIEFzc2VydE1hdGNoaW5nRW51bXMuY3BwIGFzc3VyZSB0aGF0IHRoZXkg
YXJlIGVxdWFsLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIG5vIGNoYW5nZSBpbiBmdW5jdGlvbmFsaXR5LgorCisg
ICAgICAgICogcGxhdGZvcm0vZWZsL1BsYXRmb3JtVG91Y2hFdmVudEVmbC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQbGF0Zm9ybVRvdWNoRXZlbnQ6OlBsYXRmb3JtVG91Y2hFdmVudCk6CisKIDIw
MTEtMDctMjcgIE1pa2hhaWwgTmFnYW5vdiAgPG1uYWdhbm92QGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBbQ2hyb21pdW1dIFJFR1JFU1NJT046IFVuY2F1Z2h0IFR5cGVF
cnJvcjogQ2Fubm90IHJlYWQgcHJvcGVydHkgJ2lzVHJhY2luZ1RvV2luZG93T2JqZWN0cycgb2Yg
dW5kZWZpbmVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvUGxhdGZv
cm1Ub3VjaEV2ZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9QbGF0Zm9y
bVRvdWNoRXZlbnRFZmwuY3BwCmluZGV4IDgwZGZlNmYzNzMyZTliM2YyMzZiYmQ0MTMxMDA2OGZh
NDJjMWE2MWEuLmQ4MmRkNjM3Y2IzMDI3ZjZlMGM1MDM3NmJjYTkwOWQ5NGM1MWE4NTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9QbGF0Zm9ybVRvdWNoRXZlbnRFZmwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9QbGF0Zm9ybVRvdWNoRXZlbnRF
ZmwuY3BwCkBAIC00NywyMyArNDcsNyBAQCBQbGF0Zm9ybVRvdWNoRXZlbnQ6OlBsYXRmb3JtVG91
Y2hFdmVudChFaW5hX0xpc3QqIHBvaW50cywgY29uc3QgSW50UG9pbnQgcG9zLCBUbwogICAgICAg
ICBFd2tfVG91Y2hfUG9pbnQqIHAgPSBzdGF0aWNfY2FzdDxFd2tfVG91Y2hfUG9pbnQqPihwb2lu
dCk7CiAgICAgICAgIEludFBvaW50IHBudCA9IEludFBvaW50KHAtPnggLSBwb3MueCgpLCBwLT55
IC0gcG9zLnkoKSk7CiAKLSAgICAgICAgUGxhdGZvcm1Ub3VjaFBvaW50OjpTdGF0ZSBzdGF0ZSA9
IFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hQcmVzc2VkOwotICAgICAgICBzd2l0Y2ggKHAtPnN0
YXRlKSB7Ci0gICAgICAgIGNhc2UgRVdLX1RPVUNIX1BPSU5UX1BSRVNTRUQ6Ci0gICAgICAgICAg
ICBzdGF0ZSA9IFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hQcmVzc2VkOwotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIGNhc2UgRVdLX1RPVUNIX1BPSU5UX1JFTEVBU0VEOgotICAgICAgICAg
ICAgc3RhdGUgPSBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUmVsZWFzZWQ7Ci0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgY2FzZSBFV0tfVE9VQ0hfUE9JTlRfTU9WRUQ6Ci0gICAgICAgICAg
ICBzdGF0ZSA9IFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hNb3ZlZDsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICBjYXNlIEVXS19UT1VDSF9QT0lOVF9DQU5DRUxMRUQ6Ci0gICAgICAgICAg
ICBzdGF0ZSA9IFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hDYW5jZWxsZWQ7Ci0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgfQotCi0gICAgICAgIG1fdG91Y2hQb2ludHMuYXBwZW5kKFBsYXRm
b3JtVG91Y2hQb2ludChwLT5pZCwgcG50LCBzdGF0ZSkpOworICAgICAgICBtX3RvdWNoUG9pbnRz
LmFwcGVuZChQbGF0Zm9ybVRvdWNoUG9pbnQocC0+aWQsIHBudCwgc3RhdGljX2Nhc3Q8UGxhdGZv
cm1Ub3VjaFBvaW50OjpTdGF0ZT4ocC0+c3RhdGUpKSk7CiAgICAgfQogCiAgICAgLy8gRklYTUU6
IFdlIGRvbid0IHN1cHBvcnQgbWV0YVN0YXRlIGZvciBub3cuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DTWFrZUxpc3RzRWZsLnR4dCBiL1NvdXJjZS9XZWJLaXQvZWZsL0NNYWtlTGlz
dHNFZmwudHh0CmluZGV4IDJjZTUyMzkzMWU5MWYwODc3YjM4Zjk0OWY4OWU4NTQ1MDMwZDc2MWIu
LmE4YTU2M2I5MGRmYTA2NmFjYThlNGFjNDBkZjQ2NTVlZTZkNDA5YjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZWZsL0NNYWtlTGlzdHNFZmwudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZs
L0NNYWtlTGlzdHNFZmwudHh0CkBAIC00OSw2ICs0OSw3IEBAIElGIChXVEZfVVNFX1BBTkdPKQog
RU5ESUYgKCkKIAogTElTVChBUFBFTkQgV2ViS2l0X1NPVVJDRVMKKyAgICBlZmwvV2ViQ29yZVN1
cHBvcnQvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKICAgICBlZmwvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50RWZsLmNwcAogICAgIGVmbC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlv
bkNsaWVudEVmbC5jcHAKICAgICBlZmwvV2ViQ29yZVN1cHBvcnQvRGV2aWNlTW90aW9uQ2xpZW50
RWZsLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IDc4MjM1OTUyNDdhNzU5Yzc2NGYwOGNmMDE1YjYz
NzZjZjQyODk0NTMuLjU4NGJhMzZmOGQ3OWQ3MzVmOTQ3ZWJkMjc3MmU2MjVlYjAyMzM3ZTUgMTAw
NzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMS0wNy0yNyAgUnl1YW4gQ2hvaSAg
PHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gSW50cm9kdWNlIEFzc2Vy
dE1hdGNoaW5nRW51bXMuY3BwLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjUyMzgKKworICAgICAgICBBZGQgQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAg
dG8gYXNzZXJ0IHRoYXQgdmFyaW91cyBXZWJLaXQgQVBJIGVudW0gdmFsdWVzCisgICAgICAgIG1h
dGNoIHRvIFdlYkNvcmUgZGVmaW5lZCBlbnVtIHZhbHVlcy4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHNFZmwudHh0OiBhZGQgQXNz
ZXJ0TWF0aGluZ0VudW1zLmNwcC4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9Bc3NlcnRNYXRj
aGluZ0VudW1zLmNwcDogQWRkZWQuCisgICAgICAgICogZXdrL2V3a19mcmFtZS5jcHA6CisgICAg
ICAgIChld2tfZnJhbWVfZmVlZF90b3VjaF9ldmVudCk6IHJlbW92ZSBzd2l0Y2ggc3RhdGVtZW50
IHdoaWNoIGNvbnZlcnQgV2ViS2l0CisgICAgICAgIEFQSSBlbnVtIHZhbHVlIHRvIFdlYkNvcmUg
ZGVmaW5lZCBlbnVtIHZhbHVlLgorICAgICAgICAoZXdrX2ZyYW1lX3RleHRfc2VsZWN0aW9uX3R5
cGVfZ2V0KTogRGl0dG8uCisgICAgICAgICogZXdrL2V3a19mcmFtZS5oOiBmaXggb3JkZXIgb2Yg
ZW51bSB2YWx1ZXMuCisKIDIwMTEtMDctMjYgIEd5dXlvdW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBz
YW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBGaXggcG9pbnRlciBvcGVyYXRvciBjb2Rpbmcg
c3R5bGUgaW4gZXdrX3ZpZXcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNv
cmVTdXBwb3J0L0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIwNWY4ZWI3NTk1
NGZlYzY3YTYxNmQwZjU1YjNmZGNkOGJhZDk5NjcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcApAQCAtMCww
ICsxLDUxIEBACisvKgorICogIENvcHlyaWdodCAoQykgMjAxMSBTYW1zdW5nIEVsZWN0cm9uaWNz
LgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJl
CisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwg
Qm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworLy8gVXNlIHRoaXMgZmlsZSB0byBh
c3NlcnQgdGhhdCB2YXJpb3VzIFdlYktpdCBBUEkgZW51bSB2YWx1ZXMgY29udGludWUKKy8vIG1h
dGNoaW5nIFdlYkNvcmUgZGVmaW5lZCBlbnVtIHZhbHVlcy4KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorCisjaW5jbHVkZSAiVmlzaWJsZVNlbGVjdGlvbi5oIgorI2luY2x1ZGUgImV3a19mcmFtZS5o
IgorCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKKyNpbmNsdWRlICJQbGF0Zm9ybVRvdWNoRXZl
bnQuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVRvdWNoUG9pbnQuaCIKKyNlbmRpZgorCisjZGVmaW5l
IENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0od2Via2l0X25hbWUsIHdlYmNvcmVfbmFtZSkg
XAorICAgIENPTVBJTEVfQVNTRVJUKGludCh3ZWJraXRfbmFtZSkgPT0gaW50KFdlYkNvcmU6Ondl
YmNvcmVfbmFtZSksIG1pc21hdGNoaW5nX2VudW1zKQorCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5U
UykKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1RPVUNIX1NUQVJULCBUb3VjaFN0
YXJ0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1RPVUNIX0VORCwgVG91Y2hF
bmQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVE9VQ0hfTU9WRSwgVG91Y2hN
b3ZlKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1RPVUNIX0NBTkNFTCwgVG91
Y2hDYW5jZWwpOworCitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19UT1VDSF9QT0lO
VF9SRUxFQVNFRCwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFJlbGVhc2VkKTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1RPVUNIX1BPSU5UX1BSRVNTRUQsIFBsYXRmb3JtVG91
Y2hQb2ludDo6VG91Y2hQcmVzc2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X1RPVUNIX1BPSU5UX01PVkVELCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoTW92ZWQpOworQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVE9VQ0hfUE9JTlRfU1RBVElPTkFSWSwgUGxh
dGZvcm1Ub3VjaFBvaW50OjpUb3VjaFN0YXRpb25hcnkpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShFV0tfVE9VQ0hfUE9JTlRfQ0FOQ0VMTEVELCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRv
dWNoQ2FuY2VsbGVkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1RPVUNIX1BP
SU5UX0VORCwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFN0YXRlRW5kKTsKKyNlbmRpZgorCitD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19URVhUX1NFTEVDVElPTl9OT05FLCBWaXNp
YmxlU2VsZWN0aW9uOjpOb1NlbGVjdGlvbik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KEVXS19URVhUX1NFTEVDVElPTl9DQVJFVCwgVmlzaWJsZVNlbGVjdGlvbjo6Q2FyZXRTZWxlY3Rp
b24pOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVEVYVF9TRUxFQ1RJT05fUkFO
R0UsIFZpc2libGVTZWxlY3Rpb246OlJhbmdlU2VsZWN0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a19mcmFtZS5jcHAKaW5kZXggMDU3MDk0MDgxNDcwN2I0NGUxMDU1Y2E1N2ZiMDIwN2VlZjdiYTYw
Ni4uYjYxZTJhNGFjZmVkMGE2ZGZjZjYxY2ZiYTNjYmI1YTRiM2E2ZTQ3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19mcmFtZS5jcHAKQEAgLTE0MDksMjUgKzE0MDksNyBAQCBFaW5hX0Jvb2wgZXdr
X2ZyYW1lX2ZlZWRfdG91Y2hfZXZlbnQoRXZhc19PYmplY3QqIG8sIEV3a19Ub3VjaF9FdmVudF9U
eXBlIGFjdGlvbgogICAgIEV2YXNfQ29vcmQgeCwgeTsKICAgICBldmFzX29iamVjdF9nZW9tZXRy
eV9nZXQoc2QtPnZpZXcsICZ4LCAmeSwgMCwgMCk7CiAKLSAgICBXZWJDb3JlOjpUb3VjaEV2ZW50
VHlwZSB0eXBlID0gV2ViQ29yZTo6VG91Y2hTdGFydDsKLSAgICBzd2l0Y2ggKGFjdGlvbikgewot
ICAgIGNhc2UgRVdLX1RPVUNIX1NUQVJUOgotICAgICAgICB0eXBlID0gV2ViQ29yZTo6VG91Y2hT
dGFydDsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBFV0tfVE9VQ0hfRU5EOgotICAgICAgICB0
eXBlID0gV2ViQ29yZTo6VG91Y2hFbmQ7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgRVdLX1RP
VUNIX01PVkU6Ci0gICAgICAgIHR5cGUgPSBXZWJDb3JlOjpUb3VjaE1vdmU7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgRVdLX1RPVUNIX0NBTkNFTDoKLSAgICAgICAgdHlwZSA9IFdlYkNvcmU6
OlRvdWNoQ2FuY2VsOwotICAgICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICByZXR1
cm4gRUlOQV9GQUxTRTsKLSAgICB9Ci0KLSAgICBXZWJDb3JlOjpQbGF0Zm9ybVRvdWNoRXZlbnQg
dGUocG9pbnRzLCBXZWJDb3JlOjpJbnRQb2ludCh4LCB5KSwgdHlwZSwgbWV0YVN0YXRlKTsKKyAg
ICBXZWJDb3JlOjpQbGF0Zm9ybVRvdWNoRXZlbnQgdGUocG9pbnRzLCBXZWJDb3JlOjpJbnRQb2lu
dCh4LCB5KSwgc3RhdGljX2Nhc3Q8V2ViQ29yZTo6VG91Y2hFdmVudFR5cGU+KGFjdGlvbiksIG1l
dGFTdGF0ZSk7CiAgICAgcmV0ID0gc2QtPmZyYW1lLT5ldmVudEhhbmRsZXIoKS0+aGFuZGxlVG91
Y2hFdmVudCh0ZSk7CiAjZW5kaWYKICAgICByZXR1cm4gcmV0OwpAQCAtMTU1NywxNCArMTUzOSw3
IEBAIEV3a19UZXh0X1NlbGVjdGlvbl9UeXBlIGV3a19mcmFtZV90ZXh0X3NlbGVjdGlvbl90eXBl
X2dldChFdmFzX09iamVjdCAqbykKICAgICBpZiAoIWNvbnRyb2xsZXIpCiAgICAgICAgIHJldHVy
biBFV0tfVEVYVF9TRUxFQ1RJT05fTk9ORTsKIAotICAgIHN3aXRjaCAoY29udHJvbGxlci0+c2Vs
ZWN0aW9uVHlwZSgpKSB7Ci0gICAgY2FzZSBXZWJDb3JlOjpWaXNpYmxlU2VsZWN0aW9uOjpDYXJl
dFNlbGVjdGlvbjoKLSAgICAgICAgcmV0dXJuIEVXS19URVhUX1NFTEVDVElPTl9DQVJFVDsKLSAg
ICBjYXNlIFdlYkNvcmU6OlZpc2libGVTZWxlY3Rpb246OlJhbmdlU2VsZWN0aW9uOgotICAgICAg
ICByZXR1cm4gRVdLX1RFWFRfU0VMRUNUSU9OX1JBTkdFOwotICAgIGRlZmF1bHQ6Ci0gICAgICAg
IHJldHVybiBFV0tfVEVYVF9TRUxFQ1RJT05fTk9ORTsKLSAgICB9CisgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PEV3a19UZXh0X1NlbGVjdGlvbl9UeXBlPihjb250cm9sbGVyLT5zZWxlY3Rpb25UeXBl
KCkpOwogfQogCiAvKiBpbnRlcm5hbCBtZXRob2RzICoqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX2ZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKaW5k
ZXggMTU4ZWM2ZDVmN2Q1ZThlNzA5ZDBhOTQwYmU4MjEzMzA2ZDM1MGFmMC4uODM5M2IyNjZkNmE1
NzgxYTVjNjU3ZWYzMGI2YTI5NjM1ZDA1YjFmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19mcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUu
aApAQCAtMTQxLDE3ICsxNDEsMTkgQEAgc3RydWN0IF9Fd2tfSGl0X1Rlc3QgewogLy8vIFJlcHJl
c2VudHMgYWN0aW9ucyBvZiB0b3VjaCBldmVudHMuCiB0eXBlZGVmIGVudW0gewogICAgIEVXS19U
T1VDSF9TVEFSVCwKLSAgICBFV0tfVE9VQ0hfRU5ELAogICAgIEVXS19UT1VDSF9NT1ZFLAorICAg
IEVXS19UT1VDSF9FTkQsCiAgICAgRVdLX1RPVUNIX0NBTkNFTAogfSBFd2tfVG91Y2hfRXZlbnRf
VHlwZTsKIAogLy8vIFJlcHJlc2VudHMgc3RhdGVzIG9mIHRvdWNoIGV2ZW50cy4KIHR5cGVkZWYg
ZW51bSB7Ci0gICAgRVdLX1RPVUNIX1BPSU5UX1BSRVNTRUQsCiAgICAgRVdLX1RPVUNIX1BPSU5U
X1JFTEVBU0VELAorICAgIEVXS19UT1VDSF9QT0lOVF9QUkVTU0VELAogICAgIEVXS19UT1VDSF9Q
T0lOVF9NT1ZFRCwKLSAgICBFV0tfVE9VQ0hfUE9JTlRfQ0FOQ0VMTEVECisgICAgRVdLX1RPVUNI
X1BPSU5UX1NUQVRJT05BUlksCisgICAgRVdLX1RPVUNIX1BPSU5UX0NBTkNFTExFRCwKKyAgICBF
V0tfVE9VQ0hfUE9JTlRfRU5ECiB9IEV3a19Ub3VjaF9Qb2ludF9UeXBlOwogCiAvLy8gQ3JlYXRl
cyBhIHR5cGUgbmFtZSBmb3IgX0V3a19Ub3VjaF9Qb2ludC4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102218</attachid>
            <date>2011-07-27 18:59:55 -0700</date>
            <delta_ts>2011-11-06 20:36:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65238-20110728105947.patch</filename>
            <type>text/plain</type>
            <size>9972</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTE4ODcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5OTMyYTI1YjUzODFmYmNm
ZjQxY2M3MzI5NWU0ZWQxODAwZjkwZDZiLi41YmI4ZTRlYWQxZDE2YzlmYzgxMjIzNWU2MmRkY2M3
NjVlNzg0MWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDctMjcgIFJ5dWFu
IENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIEludHJvZHVj
ZSBBc3NlcnRNYXRjaGluZ0VudW1zLmNwcC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY1MjM4CisKKyAgICAgICAgUmVtb3ZlIHN3aXRjaCBzdGF0ZW1l
bnQgd2hpY2ggY29udmVydCBFV0tfVE9VQ0hfUG9pbnRUeXBlIGVudW0gdmFsdWVzIHRvCisgICAg
ICAgIFdlYkNvcmU6OlBsYXRmb3JtVG91Y2hQb2ludDo6U3RhdGUgZW51bSB2YWx1ZXMuCisgICAg
ICAgIE5ld2x5IGFkZGVkIEFzc2VydE1hdGNoaW5nRW51bXMuY3BwIGFzc3VyZSB0aGF0IHRoZXkg
YXJlIGVxdWFsLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIG5vIGNoYW5nZSBpbiBmdW5jdGlvbmFsaXR5LgorCisg
ICAgICAgICogcGxhdGZvcm0vZWZsL1BsYXRmb3JtVG91Y2hFdmVudEVmbC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQbGF0Zm9ybVRvdWNoRXZlbnQ6OlBsYXRmb3JtVG91Y2hFdmVudCk6CisKIDIw
MTEtMDctMjcgIFByYXRpayBTb2xhbmtpICA8cHNvbGFua2lAYXBwbGUuY29tPgogCiAgICAgICAg
IEluY29ycmVjdCBhcmd1bWVudHMgcGFzc2VkIHRvIExPRyBzdGF0ZW1lbnQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9QbGF0Zm9ybVRvdWNoRXZlbnRFZmwuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL1BsYXRmb3JtVG91Y2hFdmVudEVmbC5jcHAKaW5k
ZXggODBkZmU2ZjM3MzJlOWIzZjIzNmJiZDQxMzEwMDY4ZmE0MmMxYTYxYS4uZDgyZGQ2MzdjYjMw
MjdmNmUwYzUwMzc2YmNhOTA5ZDk0YzUxYTg1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZWZsL1BsYXRmb3JtVG91Y2hFdmVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZWZsL1BsYXRmb3JtVG91Y2hFdmVudEVmbC5jcHAKQEAgLTQ3LDIzICs0Nyw3
IEBAIFBsYXRmb3JtVG91Y2hFdmVudDo6UGxhdGZvcm1Ub3VjaEV2ZW50KEVpbmFfTGlzdCogcG9p
bnRzLCBjb25zdCBJbnRQb2ludCBwb3MsIFRvCiAgICAgICAgIEV3a19Ub3VjaF9Qb2ludCogcCA9
IHN0YXRpY19jYXN0PEV3a19Ub3VjaF9Qb2ludCo+KHBvaW50KTsKICAgICAgICAgSW50UG9pbnQg
cG50ID0gSW50UG9pbnQocC0+eCAtIHBvcy54KCksIHAtPnkgLSBwb3MueSgpKTsKIAotICAgICAg
ICBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlN0YXRlIHN0YXRlID0gUGxhdGZvcm1Ub3VjaFBvaW50OjpU
b3VjaFByZXNzZWQ7Ci0gICAgICAgIHN3aXRjaCAocC0+c3RhdGUpIHsKLSAgICAgICAgY2FzZSBF
V0tfVE9VQ0hfUE9JTlRfUFJFU1NFRDoKLSAgICAgICAgICAgIHN0YXRlID0gUGxhdGZvcm1Ub3Vj
aFBvaW50OjpUb3VjaFByZXNzZWQ7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBF
V0tfVE9VQ0hfUE9JTlRfUkVMRUFTRUQ6Ci0gICAgICAgICAgICBzdGF0ZSA9IFBsYXRmb3JtVG91
Y2hQb2ludDo6VG91Y2hSZWxlYXNlZDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNl
IEVXS19UT1VDSF9QT0lOVF9NT1ZFRDoKLSAgICAgICAgICAgIHN0YXRlID0gUGxhdGZvcm1Ub3Vj
aFBvaW50OjpUb3VjaE1vdmVkOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgRVdL
X1RPVUNIX1BPSU5UX0NBTkNFTExFRDoKLSAgICAgICAgICAgIHN0YXRlID0gUGxhdGZvcm1Ub3Vj
aFBvaW50OjpUb3VjaENhbmNlbGxlZDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0K
LSAgICAgICAgbV90b3VjaFBvaW50cy5hcHBlbmQoUGxhdGZvcm1Ub3VjaFBvaW50KHAtPmlkLCBw
bnQsIHN0YXRlKSk7CisgICAgICAgIG1fdG91Y2hQb2ludHMuYXBwZW5kKFBsYXRmb3JtVG91Y2hQ
b2ludChwLT5pZCwgcG50LCBzdGF0aWNfY2FzdDxQbGF0Zm9ybVRvdWNoUG9pbnQ6OlN0YXRlPihw
LT5zdGF0ZSkpKTsKICAgICB9CiAKICAgICAvLyBGSVhNRTogV2UgZG9uJ3Qgc3VwcG9ydCBtZXRh
U3RhdGUgZm9yIG5vdy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NNYWtlTGlzdHNF
ZmwudHh0IGIvU291cmNlL1dlYktpdC9lZmwvQ01ha2VMaXN0c0VmbC50eHQKaW5kZXggMmNlNTIz
OTMxZTkxZjA4NzdiMzhmOTQ5Zjg5ZTg1NDUwMzBkNzYxYi4uYThhNTYzYjkwZGZhMDY2YWNhOGU0
YWM0MGRmNDY1NWVlNmQ0MDliNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ01ha2VM
aXN0c0VmbC50eHQKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ01ha2VMaXN0c0VmbC50eHQKQEAg
LTQ5LDYgKzQ5LDcgQEAgSUYgKFdURl9VU0VfUEFOR08pCiBFTkRJRiAoKQogCiBMSVNUKEFQUEVO
RCBXZWJLaXRfU09VUkNFUworICAgIGVmbC9XZWJDb3JlU3VwcG9ydC9Bc3NlcnRNYXRjaGluZ0Vu
dW1zLmNwcAogICAgIGVmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCiAgICAg
ZWZsL1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50RWZsLmNwcAogICAgIGVm
bC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VNb3Rpb25DbGllbnRFZmwuY3BwCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cK
aW5kZXggNzgyMzU5NTI0N2E3NTljNzY0ZjA4Y2YwMTViNjM3NmNmNDI4OTQ1My4uNTg0YmEzNmY4
ZDc5ZDczNWY5NDdlYmQyNzcyZTYyNWViMDIzMzdlNSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktp
dC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIxIEBACisyMDExLTA3LTI3ICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNv
bT4KKworICAgICAgICBbRUZMXSBJbnRyb2R1Y2UgQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTIzOAorCisg
ICAgICAgIEFkZCBBc3NlcnRNYXRjaGluZ0VudW1zLmNwcCB0byBhc3NlcnQgdGhhdCB2YXJpb3Vz
IFdlYktpdCBBUEkgZW51bSB2YWx1ZXMKKyAgICAgICAgbWF0Y2ggdG8gV2ViQ29yZSBkZWZpbmVk
IGVudW0gdmFsdWVzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogQ01ha2VMaXN0c0VmbC50eHQ6IGFkZCBBc3NlcnRNYXRoaW5nRW51bXMuY3BwLgor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwOiBBZGRlZC4K
KyAgICAgICAgKiBld2svZXdrX2ZyYW1lLmNwcDoKKyAgICAgICAgKGV3a19mcmFtZV9mZWVkX3Rv
dWNoX2V2ZW50KTogcmVtb3ZlIHN3aXRjaCBzdGF0ZW1lbnQgd2hpY2ggY29udmVydCBXZWJLaXQK
KyAgICAgICAgQVBJIGVudW0gdmFsdWUgdG8gV2ViQ29yZSBkZWZpbmVkIGVudW0gdmFsdWUuCisg
ICAgICAgIChld2tfZnJhbWVfdGV4dF9zZWxlY3Rpb25fdHlwZV9nZXQpOiBEaXR0by4KKyAgICAg
ICAgKiBld2svZXdrX2ZyYW1lLmg6IGZpeCBvcmRlciBvZiBlbnVtIHZhbHVlcy4KKwogMjAxMS0w
Ny0yNiAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAg
IFtFRkxdIEZpeCBwb2ludGVyIG9wZXJhdG9yIGNvZGluZyBzdHlsZSBpbiBld2tfdmlldy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Fzc2VydE1hdGNoaW5n
RW51bXMuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hp
bmdFbnVtcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2U1OTJmOGQxZjY5YzBlMDkzMjExZTcwN2ZlMzBjMTQ4
MTA5NzQ1NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgU2Ftc3VuZyBFbGVjdHJvbmljcworICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgU0FNU1VORyBFTEVDVFJPTklDUyBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisv
LyBVc2UgdGhpcyBmaWxlIHRvIGFzc2VydCB0aGF0IHZhcmlvdXMgV2ViS2l0IEFQSSBlbnVtIHZh
bHVlcyBjb250aW51ZQorLy8gbWF0Y2hpbmcgV2ViQ29yZSBkZWZpbmVkIGVudW0gdmFsdWVzLgor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlICJWaXNpYmxlU2VsZWN0aW9uLmgiCisj
aW5jbHVkZSAiZXdrX2ZyYW1lLmgiCisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKworI2lm
IEVOQUJMRShUT1VDSF9FVkVOVFMpCisjaW5jbHVkZSAiUGxhdGZvcm1Ub3VjaEV2ZW50LmgiCisj
aW5jbHVkZSAiUGxhdGZvcm1Ub3VjaFBvaW50LmgiCisjZW5kaWYKKworI2RlZmluZSBDT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKHdlYmtpdF9uYW1lLCB3ZWJjb3JlX25hbWUpIFwKKyAgICBD
T01QSUxFX0FTU0VSVChzdGF0aWNfY2FzdDxpbnQ+KHdlYmtpdF9uYW1lKSA9PSBzdGF0aWNfY2Fz
dDxpbnQ+KFdlYkNvcmU6OndlYmNvcmVfbmFtZSksIG1pc21hdGNoaW5nX2VudW1zKQorCisjaWYg
RU5BQkxFKFRPVUNIX0VWRU5UUykKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1RP
VUNIX1NUQVJULCBUb3VjaFN0YXJ0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X1RPVUNIX0VORCwgVG91Y2hFbmQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tf
VE9VQ0hfTU9WRSwgVG91Y2hNb3ZlKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X1RPVUNIX0NBTkNFTCwgVG91Y2hDYW5jZWwpOworCitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKEVXS19UT1VDSF9QT0lOVF9SRUxFQVNFRCwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFJl
bGVhc2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1RPVUNIX1BPSU5UX1BS
RVNTRUQsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hQcmVzc2VkKTsKK0NPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX1RPVUNIX1BPSU5UX01PVkVELCBQbGF0Zm9ybVRvdWNoUG9pbnQ6
OlRvdWNoTW92ZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVE9VQ0hfUE9J
TlRfU1RBVElPTkFSWSwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFN0YXRpb25hcnkpOworQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVE9VQ0hfUE9JTlRfQ0FOQ0VMTEVELCBQbGF0
Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoQ2FuY2VsbGVkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX1RPVUNIX1BPSU5UX0VORCwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFN0YXRl
RW5kKTsKKyNlbmRpZgorCitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19URVhUX1NF
TEVDVElPTl9OT05FLCBWaXNpYmxlU2VsZWN0aW9uOjpOb1NlbGVjdGlvbik7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19URVhUX1NFTEVDVElPTl9DQVJFVCwgVmlzaWJsZVNlbGVj
dGlvbjo6Q2FyZXRTZWxlY3Rpb24pOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tf
VEVYVF9TRUxFQ1RJT05fUkFOR0UsIFZpc2libGVTZWxlY3Rpb246OlJhbmdlU2VsZWN0aW9uKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwIGIvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKaW5kZXggMDU3MDk0MDgxNDcwN2I0NGUxMDU1
Y2E1N2ZiMDIwN2VlZjdiYTYwNi4uYjYxZTJhNGFjZmVkMGE2ZGZjZjYxY2ZiYTNjYmI1YTRiM2E2
ZTQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKQEAgLTE0MDksMjUgKzE0MDks
NyBAQCBFaW5hX0Jvb2wgZXdrX2ZyYW1lX2ZlZWRfdG91Y2hfZXZlbnQoRXZhc19PYmplY3QqIG8s
IEV3a19Ub3VjaF9FdmVudF9UeXBlIGFjdGlvbgogICAgIEV2YXNfQ29vcmQgeCwgeTsKICAgICBl
dmFzX29iamVjdF9nZW9tZXRyeV9nZXQoc2QtPnZpZXcsICZ4LCAmeSwgMCwgMCk7CiAKLSAgICBX
ZWJDb3JlOjpUb3VjaEV2ZW50VHlwZSB0eXBlID0gV2ViQ29yZTo6VG91Y2hTdGFydDsKLSAgICBz
d2l0Y2ggKGFjdGlvbikgewotICAgIGNhc2UgRVdLX1RPVUNIX1NUQVJUOgotICAgICAgICB0eXBl
ID0gV2ViQ29yZTo6VG91Y2hTdGFydDsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBFV0tfVE9V
Q0hfRU5EOgotICAgICAgICB0eXBlID0gV2ViQ29yZTo6VG91Y2hFbmQ7Ci0gICAgICAgIGJyZWFr
OwotICAgIGNhc2UgRVdLX1RPVUNIX01PVkU6Ci0gICAgICAgIHR5cGUgPSBXZWJDb3JlOjpUb3Vj
aE1vdmU7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgRVdLX1RPVUNIX0NBTkNFTDoKLSAgICAg
ICAgdHlwZSA9IFdlYkNvcmU6OlRvdWNoQ2FuY2VsOwotICAgICAgICBicmVhazsKLSAgICBkZWZh
dWx0OgotICAgICAgICByZXR1cm4gRUlOQV9GQUxTRTsKLSAgICB9Ci0KLSAgICBXZWJDb3JlOjpQ
bGF0Zm9ybVRvdWNoRXZlbnQgdGUocG9pbnRzLCBXZWJDb3JlOjpJbnRQb2ludCh4LCB5KSwgdHlw
ZSwgbWV0YVN0YXRlKTsKKyAgICBXZWJDb3JlOjpQbGF0Zm9ybVRvdWNoRXZlbnQgdGUocG9pbnRz
LCBXZWJDb3JlOjpJbnRQb2ludCh4LCB5KSwgc3RhdGljX2Nhc3Q8V2ViQ29yZTo6VG91Y2hFdmVu
dFR5cGU+KGFjdGlvbiksIG1ldGFTdGF0ZSk7CiAgICAgcmV0ID0gc2QtPmZyYW1lLT5ldmVudEhh
bmRsZXIoKS0+aGFuZGxlVG91Y2hFdmVudCh0ZSk7CiAjZW5kaWYKICAgICByZXR1cm4gcmV0OwpA
QCAtMTU1NywxNCArMTUzOSw3IEBAIEV3a19UZXh0X1NlbGVjdGlvbl9UeXBlIGV3a19mcmFtZV90
ZXh0X3NlbGVjdGlvbl90eXBlX2dldChFdmFzX09iamVjdCAqbykKICAgICBpZiAoIWNvbnRyb2xs
ZXIpCiAgICAgICAgIHJldHVybiBFV0tfVEVYVF9TRUxFQ1RJT05fTk9ORTsKIAotICAgIHN3aXRj
aCAoY29udHJvbGxlci0+c2VsZWN0aW9uVHlwZSgpKSB7Ci0gICAgY2FzZSBXZWJDb3JlOjpWaXNp
YmxlU2VsZWN0aW9uOjpDYXJldFNlbGVjdGlvbjoKLSAgICAgICAgcmV0dXJuIEVXS19URVhUX1NF
TEVDVElPTl9DQVJFVDsKLSAgICBjYXNlIFdlYkNvcmU6OlZpc2libGVTZWxlY3Rpb246OlJhbmdl
U2VsZWN0aW9uOgotICAgICAgICByZXR1cm4gRVdLX1RFWFRfU0VMRUNUSU9OX1JBTkdFOwotICAg
IGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBFV0tfVEVYVF9TRUxFQ1RJT05fTk9ORTsKLSAgICB9
CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEV3a19UZXh0X1NlbGVjdGlvbl9UeXBlPihjb250cm9s
bGVyLT5zZWxlY3Rpb25UeXBlKCkpOwogfQogCiAvKiBpbnRlcm5hbCBtZXRob2RzICoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX2ZyYW1lLmgKaW5kZXggMTU4ZWM2ZDVmN2Q1ZThlNzA5ZDBhOTQwYmU4MjEzMzA2ZDM1
MGFmMC4uODM5M2IyNjZkNmE1NzgxYTVjNjU3ZWYzMGI2YTI5NjM1ZDA1YjFmOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfZnJhbWUuaApAQCAtMTQxLDE3ICsxNDEsMTkgQEAgc3RydWN0IF9Fd2tfSGl0
X1Rlc3QgewogLy8vIFJlcHJlc2VudHMgYWN0aW9ucyBvZiB0b3VjaCBldmVudHMuCiB0eXBlZGVm
IGVudW0gewogICAgIEVXS19UT1VDSF9TVEFSVCwKLSAgICBFV0tfVE9VQ0hfRU5ELAogICAgIEVX
S19UT1VDSF9NT1ZFLAorICAgIEVXS19UT1VDSF9FTkQsCiAgICAgRVdLX1RPVUNIX0NBTkNFTAog
fSBFd2tfVG91Y2hfRXZlbnRfVHlwZTsKIAogLy8vIFJlcHJlc2VudHMgc3RhdGVzIG9mIHRvdWNo
IGV2ZW50cy4KIHR5cGVkZWYgZW51bSB7Ci0gICAgRVdLX1RPVUNIX1BPSU5UX1BSRVNTRUQsCiAg
ICAgRVdLX1RPVUNIX1BPSU5UX1JFTEVBU0VELAorICAgIEVXS19UT1VDSF9QT0lOVF9QUkVTU0VE
LAogICAgIEVXS19UT1VDSF9QT0lOVF9NT1ZFRCwKLSAgICBFV0tfVE9VQ0hfUE9JTlRfQ0FOQ0VM
TEVECisgICAgRVdLX1RPVUNIX1BPSU5UX1NUQVRJT05BUlksCisgICAgRVdLX1RPVUNIX1BPSU5U
X0NBTkNFTExFRCwKKyAgICBFV0tfVE9VQ0hfUE9JTlRfRU5ECiB9IEV3a19Ub3VjaF9Qb2ludF9U
eXBlOwogCiAvLy8gQ3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgX0V3a19Ub3VjaF9Qb2ludC4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102349</attachid>
            <date>2011-07-29 05:25:32 -0700</date>
            <delta_ts>2011-07-29 05:26:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65238-20110729212522.patch</filename>
            <type>text/plain</type>
            <size>2143</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTE5ODQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBmMTQ4ZDUzYzZiMjhiMjNi
OWM1ZjM4NTAxM2Q3NjdiNGJiNmQ0NzY4Li45ZmMzMmYzNTBhYTc3MzVmZjA5YTcwZGI1NDU2Yzg0
YmQ5N2Y3ODBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDctMjkgIFJ5dWFu
IENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIEltcGxlbWVu
dCBkZWNsYXJlZCBidXQgbWlzc2luZyBmdW5jdGlvbnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTM2OAorCisgICAgICAgIEltcGxlbWVudGF0aW9u
IHdhcyBtaXNzaW5nIGFsdGhvdWdoIGl0IG1ha2VzIG5vIGVycm9ycyBhbmQgbm8gYnVpbGQgYnJl
YWtzCisgICAgICAgIGluIEVmbCBwb3J0IHdpdGhvdXQgd2Via2l0Mi4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIG5ldyBm
dW5jdGlvbmFsaXR5LgorCisgICAgICAgICogcGxhdGZvcm0vZWZsL0N1cnNvckVmbC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDdXJzb3I6Om9wZXJhdG9yPSk6CisgICAgICAgICogcGxhdGZvcm0v
ZWZsL0xvY2FsaXplZFN0cmluZ3NFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bG9jYWxpemVk
U3RyaW5nKToKKwogMjAxMS0wNy0yOSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgTWFrZSB0aGUgRXhjZXB0aW9uQ29kZSBhcmd1bWVudCBvZiBFbGVtZW50Ojpz
ZXRTaGFkb3dQc2V1ZG9JZCgpIEFTU0VSVF9OT19FWENFUFRJT04gYnkgZGVmYXVsdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0N1cnNvckVmbC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9lZmwvQ3Vyc29yRWZsLmNwcAppbmRleCAyNTdkODA4M2U5ZWU5NzI1
YzM3Yzk5NjU2YTFjNDRkNDgxZjc1YWEzLi42NDM0ZTQ1YmIwMzI2MjlmMmM3ODBlZTkwOGI0MjRh
NDg4ZWRiZmE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvQ3Vyc29y
RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvQ3Vyc29yRWZsLmNwcApA
QCAtNTUsNiArNTUsMTUgQEAgQ3Vyc29yOjp+Q3Vyc29yKCkKIHsKIH0KIAorQ3Vyc29yJiBDdXJz
b3I6Om9wZXJhdG9yPShjb25zdCBDdXJzb3ImIG90aGVyKQoreworICAgIG1fdHlwZSA9IG90aGVy
Lm1fdHlwZTsKKyAgICBtX2ltYWdlID0gb3RoZXIubV9pbWFnZTsKKyAgICBtX2hvdFNwb3QgPSBv
dGhlci5tX2hvdFNwb3Q7CisgICAgbV9wbGF0Zm9ybUN1cnNvciA9IG90aGVyLm1fcGxhdGZvcm1D
dXJzb3I7CisgICAgcmV0dXJuICp0aGlzOworfQorCiBzdGF0aWMgY29uc3QgY2hhciogY3Vyc29y
U3RyaW5nKEN1cnNvcjo6VHlwZSB0eXBlKQogewogICAgIHN0YXRpYyBjb25zdCBjaGFyKiBjdXJz
b3JTdHJpbmdzW10gPSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwv
TG9jYWxpemVkU3RyaW5nc0VmbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvTG9j
YWxpemVkU3RyaW5nc0VmbC5jcHAKaW5kZXggZDUzNzE1N2FiNmEwMjg3NDExOTczZjRiZWY5YmRm
Yzg2NmEzNWQ3NC4uYjAzMGY4MzVjYjRmYWY4MWUwZGRkZTM4NDg2MWEzNzE2YWE0MzI5MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0xvY2FsaXplZFN0cmluZ3NFZmwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9Mb2NhbGl6ZWRTdHJpbmdzRWZs
LmNwcApAQCAtNTQ1LDQgKzU0NSw5IEBAIFN0cmluZyBjcmFzaGVkUGx1Z2luVGV4dCgpCiAgICAg
cmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoInBsdWdpbiBjcmFzaGVkIik7CiB9CiAKK1N0cmluZyBs
b2NhbGl6ZWRTdHJpbmcoY29uc3QgY2hhcioga2V5KQoreworICAgIHJldHVybiBTdHJpbmc6OmZy
b21VVEY4KGtleSwgc3RybGVuKGtleSkpOworfQorCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113821</attachid>
            <date>2011-11-06 20:36:46 -0800</date>
            <delta_ts>2011-12-07 18:11:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65238-20111107133643.patch</filename>
            <type>text/plain</type>
            <size>16635</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkzODgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3N2QyNWE5MDBmMjVkZjQ4
MzMyZTQ0YTEyODk3NGQwNmI0OTBlODNiLi5lMGEyYWI3Y2FlNjMxYTZmODI5NTkyNjhlYjczZWZm
NDQ3NTg5ZDhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMTEtMDYgIFJ5dWFu
IENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIEludHJvZHVj
ZSBBc3NlcnRNYXRjaGluZ0VudW1zLmNwcC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY1MjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHN3aXRjaCBzdGF0ZW1lbnQgd2hpY2ggY29udmVydCBF
V0tfVE9VQ0hfUG9pbnRUeXBlIGVudW0gdmFsdWVzIHRvCisgICAgICAgIFdlYkNvcmU6OlBsYXRm
b3JtVG91Y2hQb2ludDo6U3RhdGUgZW51bSB2YWx1ZXMuCisgICAgICAgIE5ld2x5IGFkZGVkIEFz
c2VydE1hdGNoaW5nRW51bXMuY3BwIGFzc3VyZSB0aGF0IHRoZXkgYXJlIGVxdWFsLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cywgbm8gbmV3IGZ1bmN0aW9uYWxpdHkuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9lZmwvUGxhdGZvcm1Ub3VjaEV2ZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtVG91Y2hFdmVudDo6UGxhdGZvcm1Ub3VjaEV2ZW50KToKKwogMjAxMS0xMS0wNiAgQWRh
bSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIERvbid0IGNyYXNoIHdoZW4g
YSBjb250ZXh0IGhhc24ndCBiZWVuIGNyZWF0ZWQuICBUaGlzIGZpeGVkIGEKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxv
ZwppbmRleCAxNThjOWQ1NTMwMDc3Y2JlM2E4YTg1NmMwODg4Y2Y4OTUzODlkOTY2Li4zOTQyNDU1
MWM4ZWMxMjg1OGI0ZDNlZDlkOWE0YmFjYjA4YzljNWM0IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjYgQEAKKzIwMTEtMTEtMDYgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcu
Y29tPgorCisgICAgICAgIFtFRkxdIEludHJvZHVjZSBBc3NlcnRNYXRjaGluZ0VudW1zLmNwcC4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1MjM4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEFzc2Vy
dE1hdGNoaW5nRW51bXMuY3BwIHRvIGFzc2VydCB0aGF0IHZhcmlvdXMgV2ViS2l0IEFQSSBlbnVt
IHZhbHVlcworICAgICAgICBtYXRjaCB0byBXZWJDb3JlIGRlZmluZWQgZW51bSB2YWx1ZXMuCisK
KyAgICAgICAgKiBDTWFrZUxpc3RzRWZsLnR4dDogYWRkIEFzc2VydE1hdGNoaW5nRW51bXMuY3Bw
LgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKiBld2svZXdrX2ZyYW1lLmNwcDoKKyAgICAgICAgKGV3a19mcmFtZV9mZWVk
X3RvdWNoX2V2ZW50KTogcmVtb3ZlIHN3aXRjaCBzdGF0ZW1lbnQgd2ljaGkgY29udmVydCBXZWJL
aXQgQVBJIGVudW0gdmFsdWUgdG8gV2ViQ29yZSBkZWZpbmVkIGVudW0gdmFsdWVzLgorICAgICAg
ICAoZXdrX2ZyYW1lX3RleHRfc2VsZWN0aW9uX3R5cGVfZ2V0KTogRGl0dG8uCisgICAgICAgICog
ZXdrL2V3a192aWV3LmNwcDoKKyAgICAgICAgKGV3a192aWV3X21vZGVfc2V0KTogRGl0dG8uCisg
ICAgICAgIChld2tfdmlld19tb2RlX2dldCk6IERpdHRvLgorICAgICAgICAoZXdrX3ZpZXdfdmlz
aWJpbGl0eV9zdGF0ZV9zZXQpOiBEaXR0by4KKyAgICAgICAgKGV3a192aWV3X3Zpc2liaWxpdHlf
c3RhdGVfZ2V0KTogRGl0dG8uCisgICAgICAgICogZXdrL2V3a19mcmFtZS5oOiBmaXggb3JkZXIg
b2YgZW51bSB2YWx1ZXMuCisgICAgICAgICogZXdrL2V3a192aWV3Lmg6IGFkZCBtaXNzaW5nIGVu
dW0gdmFsdWUuCisKIDIwMTEtMTEtMDQgIFJhcGhhZWwgS3VibyBkYSBDb3N0YSAgPGt1Ym9AcHJv
ZnVzaW9uLm1vYmk+CiAKICAgICAgICAgW0VGTF0gRFJUOiBGaXggdGhlIG9yZGVyIG9mIHRoZSBp
dGVtcyBpbiB0aGUgZHVtcGVkIGhpc3RvcnkgbGlzdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2VmbC9QbGF0Zm9ybVRvdWNoRXZlbnRFZmwuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZWZsL1BsYXRmb3JtVG91Y2hFdmVudEVmbC5jcHAKaW5kZXggODBkZmU2ZjM3
MzJlOWIzZjIzNmJiZDQxMzEwMDY4ZmE0MmMxYTYxYS4uZjc1MmI0MmFlOTk5NjQ5NWFiNmY4ZjRj
ZGFiNTA2YWNlMThmZjEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZs
L1BsYXRmb3JtVG91Y2hFdmVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
ZWZsL1BsYXRmb3JtVG91Y2hFdmVudEVmbC5jcHAKQEAgLTQxLDI5ICs0MSwxMyBAQCBQbGF0Zm9y
bVRvdWNoRXZlbnQ6OlBsYXRmb3JtVG91Y2hFdmVudChFaW5hX0xpc3QqIHBvaW50cywgY29uc3Qg
SW50UG9pbnQgcG9zLCBUbwogICAgICwgbV9zaGlmdEtleShmYWxzZSkKICAgICAsIG1fbWV0YUtl
eShmYWxzZSkKIHsKLSAgICB2b2lkKiBwb2ludDsKKyAgICB2b2lkKiBpdGVtOwogCi0gICAgRUlO
QV9MSVNUX0ZSRUUocG9pbnRzLCBwb2ludCkgewotICAgICAgICBFd2tfVG91Y2hfUG9pbnQqIHAg
PSBzdGF0aWNfY2FzdDxFd2tfVG91Y2hfUG9pbnQqPihwb2ludCk7Ci0gICAgICAgIEludFBvaW50
IHBudCA9IEludFBvaW50KHAtPnggLSBwb3MueCgpLCBwLT55IC0gcG9zLnkoKSk7CisgICAgRUlO
QV9MSVNUX0ZSRUUocG9pbnRzLCBpdGVtKSB7CisgICAgICAgIEV3a19Ub3VjaF9Qb2ludCogcG9p
bnQgPSBzdGF0aWNfY2FzdDxFd2tfVG91Y2hfUG9pbnQqPihpdGVtKTsKKyAgICAgICAgSW50UG9p
bnQgcG50ID0gSW50UG9pbnQocG9pbnQtPnggLSBwb3MueCgpLCBwb2ludC0+eSAtIHBvcy55KCkp
OwogCi0gICAgICAgIFBsYXRmb3JtVG91Y2hQb2ludDo6U3RhdGUgc3RhdGUgPSBQbGF0Zm9ybVRv
dWNoUG9pbnQ6OlRvdWNoUHJlc3NlZDsKLSAgICAgICAgc3dpdGNoIChwLT5zdGF0ZSkgewotICAg
ICAgICBjYXNlIEVXS19UT1VDSF9QT0lOVF9QUkVTU0VEOgotICAgICAgICAgICAgc3RhdGUgPSBQ
bGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUHJlc3NlZDsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIEVXS19UT1VDSF9QT0lOVF9SRUxFQVNFRDoKLSAgICAgICAgICAgIHN0YXRlID0g
UGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFJlbGVhc2VkOwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGNhc2UgRVdLX1RPVUNIX1BPSU5UX01PVkVEOgotICAgICAgICAgICAgc3RhdGUgPSBQ
bGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoTW92ZWQ7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgY2FzZSBFV0tfVE9VQ0hfUE9JTlRfQ0FOQ0VMTEVEOgotICAgICAgICAgICAgc3RhdGUgPSBQ
bGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoQ2FuY2VsbGVkOwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIH0KLQotICAgICAgICBtX3RvdWNoUG9pbnRzLmFwcGVuZChQbGF0Zm9ybVRvdWNoUG9p
bnQocC0+aWQsIHBudCwgc3RhdGUpKTsKKyAgICAgICAgbV90b3VjaFBvaW50cy5hcHBlbmQoUGxh
dGZvcm1Ub3VjaFBvaW50KHBvaW50LT5pZCwgcG50LCBzdGF0aWNfY2FzdDxQbGF0Zm9ybVRvdWNo
UG9pbnQ6OlN0YXRlPihwb2ludC0+c3RhdGUpKSk7CiAgICAgfQogCiAgICAgLy8gRklYTUU6IFdl
IGRvbid0IHN1cHBvcnQgbWV0YVN0YXRlIGZvciBub3cuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9DTWFrZUxpc3RzRWZsLnR4dCBiL1NvdXJjZS9XZWJLaXQvZWZsL0NNYWtlTGlzdHNF
ZmwudHh0CmluZGV4IDIwZDUzMmFjNTUxNjFlN2E0Nzc0OTM5NDViNGE4OWQ3MTkyZGRlY2YuLjNm
ZWU1OGIzODRhZjg3YmExOTY0ZTY0YTkxZDY2N2NjNjI0ZjQ4NzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvZWZsL0NNYWtlTGlzdHNFZmwudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NN
YWtlTGlzdHNFZmwudHh0CkBAIC02Myw2ICs2Myw3IEBAIElGIChFTkFCTEVfTk9USUZJQ0FUSU9O
UykKIEVORElGICgpCiAKIExJU1QoQVBQRU5EIFdlYktpdF9TT1VSQ0VTCisgICAgZWZsL1dlYkNv
cmVTdXBwb3J0L0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCiAgICAgZWZsL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEVmbC5jcHAKICAgICBlZmwvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50
YXRpb25DbGllbnRFZmwuY3BwCiAgICAgZWZsL1dlYkNvcmVTdXBwb3J0L0RldmljZU1vdGlvbkNs
aWVudEVmbC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmRjODZkOWJjMjgyNTEyOTg0
NWVhZWI1ZDJlNTFlYmUzNTMyOTczNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCkBAIC0wLDAgKzEsNjkg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgU2Ftc3VuZyBFbGVjdHJvbmljcworICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworLy8g
VXNlIHRoaXMgZmlsZSB0byBhc3NlcnQgdGhhdCB2YXJpb3VzIFdlYktpdCBBUEkgZW51bSB2YWx1
ZXMgY29udGludWUKKy8vIG1hdGNoaW5nIFdlYkNvcmUgZGVmaW5lZCBlbnVtIHZhbHVlcy4KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlZpc2li
bGVTZWxlY3Rpb24uaCIKKyNpbmNsdWRlICJld2tfZnJhbWUuaCIKKyNpbmNsdWRlICJld2tfdmll
dy5oIgorI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisKKyNpZiBFTkFCTEUoVE9VQ0hfRVZF
TlRTKQorI2luY2x1ZGUgIlBsYXRmb3JtVG91Y2hFdmVudC5oIgorI2luY2x1ZGUgIlBsYXRmb3Jt
VG91Y2hQb2ludC5oIgorI2VuZGlmCisKKyNkZWZpbmUgQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTSh3ZWJraXRfbmFtZSwgd2ViY29yZV9uYW1lKSBcCisgICAgQ09NUElMRV9BU1NFUlQoc3Rh
dGljX2Nhc3Q8aW50Pih3ZWJraXRfbmFtZSkgPT0gc3RhdGljX2Nhc3Q8aW50PihXZWJDb3JlOjp3
ZWJjb3JlX25hbWUpLCBtaXNtYXRjaGluZ19lbnVtcykKKworI2lmIEVOQUJMRShQQUdFX1ZJU0lC
SUxJVFlfQVBJKQorQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfUEFHRV9WSVNJQklM
SVRZX1NUQVRFX1ZJU0lCTEUsIFBhZ2VWaXNpYmlsaXR5U3RhdGVWaXNpYmxlKTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1BBR0VfVklTSUJJTElUWV9TVEFURV9ISURERU4sIFBh
Z2VWaXNpYmlsaXR5U3RhdGVIaWRkZW4pOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfUEFHRV9WSVNJQklMSVRZX1NUQVRFX1BSRVJFTkRFUiwgUGFnZVZpc2liaWxpdHlTdGF0ZVBy
ZXJlbmRlcik7CisjZW5kaWYKKworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVEVY
VF9TRUxFQ1RJT05fTk9ORSwgVmlzaWJsZVNlbGVjdGlvbjo6Tm9TZWxlY3Rpb24pOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVEVYVF9TRUxFQ1RJT05fQ0FSRVQsIFZpc2libGVT
ZWxlY3Rpb246OkNhcmV0U2VsZWN0aW9uKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX1RFWFRfU0VMRUNUSU9OX1JBTkdFLCBWaXNpYmxlU2VsZWN0aW9uOjpSYW5nZVNlbGVjdGlv
bik7CisKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfVE9VQ0hfU1RBUlQsIFRvdWNoU3RhcnQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShFV0tfVE9VQ0hfTU9WRSwgVG91Y2hNb3ZlKTsKK0NPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX1RPVUNIX0VORCwgVG91Y2hFbmQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShFV0tfVE9VQ0hfQ0FOQ0VMLCBUb3VjaENhbmNlbCk7CisKK0NPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX1RPVUNIX1BPSU5UX1JFTEVBU0VELCBQbGF0Zm9ybVRvdWNoUG9p
bnQ6OlRvdWNoUmVsZWFzZWQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVE9V
Q0hfUE9JTlRfUFJFU1NFRCwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFByZXNzZWQpOworQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVE9VQ0hfUE9JTlRfTU9WRUQsIFBsYXRmb3Jt
VG91Y2hQb2ludDo6VG91Y2hNb3ZlZCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVX
S19UT1VDSF9QT0lOVF9TVEFUSU9OQVJZLCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoU3RhdGlv
bmFyeSk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19UT1VDSF9QT0lOVF9DQU5D
RUxMRUQsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hDYW5jZWxsZWQpOworQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShFV0tfVE9VQ0hfUE9JTlRfRU5ELCBQbGF0Zm9ybVRvdWNoUG9pbnQ6
OlRvdWNoU3RhdGVFbmQpOworI2VuZGlmCisKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX1ZJRVdfTU9ERV9JTlZBTElELCBQYWdlOjpWaWV3TW9kZUludmFsaWQpOworQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVklFV19NT0RFX1dJTkRPV0VELCBQYWdlOjpWaWV3TW9k
ZVdpbmRvd2VkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1ZJRVdfTU9ERV9G
TE9BVElORywgUGFnZTo6Vmlld01vZGVGbG9hdGluZyk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKEVXS19WSUVXX01PREVfRlVMTFNDUkVFTiwgUGFnZTo6Vmlld01vZGVGdWxsc2NyZWVu
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1ZJRVdfTU9ERV9NQVhJTUlaRUQs
IFBhZ2U6OlZpZXdNb2RlTWF4aW1pemVkKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX1ZJRVdfTU9ERV9NSU5JTUlaRUQsIFBhZ2U6OlZpZXdNb2RlTWluaW1pemVkKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwIGIvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKaW5kZXggNTMzYTJiMDgwNTBjMTM2OTc5NDZmYTBhZTMx
NDU3M2EwN2QwYTM0Zi4uNDk4ZDRjOThiNjc2YzI2YTVjMzZlZTVhMTcyMzAwZTgxYjgwNzI1MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKQEAgLTkxOSw4ICs5MTksNiBAQCBFaW5h
X0Jvb2wgZXdrX2ZyYW1lX2ZlZWRfbW91c2VfbW92ZShFdmFzX09iamVjdCogZXdrRnJhbWUsIGNv
bnN0IEV2YXNfRXZlbnRfTW91cwogCiBFaW5hX0Jvb2wgZXdrX2ZyYW1lX2ZlZWRfdG91Y2hfZXZl
bnQoRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBFd2tfVG91Y2hfRXZlbnRfVHlwZSBhY3Rpb24sIEVp
bmFfTGlzdCogcG9pbnRzLCBpbnQgbWV0YVN0YXRlKQogewotICAgIEVpbmFfQm9vbCByZXN1bHQg
PSBmYWxzZTsKLQogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAgRUlOQV9TQUZFVFlfT05f
TlVMTF9SRVRVUk5fVkFMKHBvaW50cywgZmFsc2UpOwogICAgIEVXS19GUkFNRV9TRF9HRVQoZXdr
RnJhbWUsIHNtYXJ0RGF0YSk7CkBAIC05MzEsMjggKzkyOSwxMSBAQCBFaW5hX0Jvb2wgZXdrX2Zy
YW1lX2ZlZWRfdG91Y2hfZXZlbnQoRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBFd2tfVG91Y2hfRXZl
bnRfVHlwZQogICAgIEV2YXNfQ29vcmQgeCwgeTsKICAgICBldmFzX29iamVjdF9nZW9tZXRyeV9n
ZXQoc21hcnREYXRhLT52aWV3LCAmeCwgJnksIDAsIDApOwogCi0gICAgV2ViQ29yZTo6VG91Y2hF
dmVudFR5cGUgdHlwZSA9IFdlYkNvcmU6OlRvdWNoU3RhcnQ7Ci0gICAgc3dpdGNoIChhY3Rpb24p
IHsKLSAgICBjYXNlIEVXS19UT1VDSF9TVEFSVDoKLSAgICAgICAgdHlwZSA9IFdlYkNvcmU6OlRv
dWNoU3RhcnQ7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgRVdLX1RPVUNIX0VORDoKLSAgICAg
ICAgdHlwZSA9IFdlYkNvcmU6OlRvdWNoRW5kOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEVX
S19UT1VDSF9NT1ZFOgotICAgICAgICB0eXBlID0gV2ViQ29yZTo6VG91Y2hNb3ZlOwotICAgICAg
ICBicmVhazsKLSAgICBjYXNlIEVXS19UT1VDSF9DQU5DRUw6Ci0gICAgICAgIHR5cGUgPSBXZWJD
b3JlOjpUb3VjaENhbmNlbDsKLSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIFdlYkNvcmU6OlBsYXRmb3JtVG91Y2hFdmVudCB0
b3VjaEV2ZW50KHBvaW50cywgV2ViQ29yZTo6SW50UG9pbnQoeCwgeSksIHR5cGUsIG1ldGFTdGF0
ZSk7Ci0gICAgcmVzdWx0ID0gc21hcnREYXRhLT5mcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmhhbmRs
ZVRvdWNoRXZlbnQodG91Y2hFdmVudCk7CisgICAgV2ViQ29yZTo6UGxhdGZvcm1Ub3VjaEV2ZW50
IHRvdWNoRXZlbnQocG9pbnRzLCBXZWJDb3JlOjpJbnRQb2ludCh4LCB5KSwgc3RhdGljX2Nhc3Q8
V2ViQ29yZTo6VG91Y2hFdmVudFR5cGU+KGFjdGlvbiksIG1ldGFTdGF0ZSk7CisgICAgcmV0dXJu
IHNtYXJ0RGF0YS0+ZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVUb3VjaEV2ZW50KHRvdWNo
RXZlbnQpOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKLSAgICByZXR1cm4gcmVz
dWx0OwogfQogCiBzdGF0aWMgaW5saW5lIEVpbmFfQm9vbCBfZXdrX2ZyYW1lX2hhbmRsZV9rZXlf
c2Nyb2xsaW5nKFdlYkNvcmU6OkZyYW1lKiBmcmFtZSwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1L
ZXlib2FyZEV2ZW50JiBrZXlFdmVudCkKQEAgLTEwNTcsMTQgKzEwMzgsNyBAQCBFd2tfVGV4dF9T
ZWxlY3Rpb25fVHlwZSBld2tfZnJhbWVfdGV4dF9zZWxlY3Rpb25fdHlwZV9nZXQoY29uc3QgRXZh
c19PYmplY3QqIGV3awogICAgIGlmICghY29udHJvbGxlcikKICAgICAgICAgcmV0dXJuIEVXS19U
RVhUX1NFTEVDVElPTl9OT05FOwogCi0gICAgc3dpdGNoIChjb250cm9sbGVyLT5zZWxlY3Rpb25U
eXBlKCkpIHsKLSAgICBjYXNlIFdlYkNvcmU6OlZpc2libGVTZWxlY3Rpb246OkNhcmV0U2VsZWN0
aW9uOgotICAgICAgICByZXR1cm4gRVdLX1RFWFRfU0VMRUNUSU9OX0NBUkVUOwotICAgIGNhc2Ug
V2ViQ29yZTo6VmlzaWJsZVNlbGVjdGlvbjo6UmFuZ2VTZWxlY3Rpb246Ci0gICAgICAgIHJldHVy
biBFV0tfVEVYVF9TRUxFQ1RJT05fUkFOR0U7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJu
IEVXS19URVhUX1NFTEVDVElPTl9OT05FOwotICAgIH0KKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
RXdrX1RleHRfU2VsZWN0aW9uX1R5cGU+KGNvbnRyb2xsZXItPnNlbGVjdGlvblR5cGUoKSk7CiB9
CiAKIC8qIGludGVybmFsIG1ldGhvZHMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfZnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuaAppbmRleCBjNDE2
Mjg3YTVjMDg3ODNkZmFiMmU4MTdjYTUyN2FkODZiYWYyNjliLi45YzhhZGEzNWQ2NDUzMjliYmVl
MGFiNzQ5YmMyZDRkNjA4OGFjODcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX2ZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oCkBAIC0x
NDMsMTcgKzE0MywxOSBAQCBzdHJ1Y3QgX0V3a19IaXRfVGVzdCB7CiAvLy8gUmVwcmVzZW50cyBh
Y3Rpb25zIG9mIHRvdWNoIGV2ZW50cy4KIHR5cGVkZWYgZW51bSB7CiAgICAgRVdLX1RPVUNIX1NU
QVJULAotICAgIEVXS19UT1VDSF9FTkQsCiAgICAgRVdLX1RPVUNIX01PVkUsCisgICAgRVdLX1RP
VUNIX0VORCwKICAgICBFV0tfVE9VQ0hfQ0FOQ0VMCiB9IEV3a19Ub3VjaF9FdmVudF9UeXBlOwog
CiAvLy8gUmVwcmVzZW50cyBzdGF0ZXMgb2YgdG91Y2ggZXZlbnRzLgogdHlwZWRlZiBlbnVtIHsK
LSAgICBFV0tfVE9VQ0hfUE9JTlRfUFJFU1NFRCwKICAgICBFV0tfVE9VQ0hfUE9JTlRfUkVMRUFT
RUQsCisgICAgRVdLX1RPVUNIX1BPSU5UX1BSRVNTRUQsCiAgICAgRVdLX1RPVUNIX1BPSU5UX01P
VkVELAotICAgIEVXS19UT1VDSF9QT0lOVF9DQU5DRUxMRUQKKyAgICBFV0tfVE9VQ0hfUE9JTlRf
U1RBVElPTkFSWSwKKyAgICBFV0tfVE9VQ0hfUE9JTlRfQ0FOQ0VMTEVELAorICAgIEVXS19UT1VD
SF9QT0lOVF9FTkQKIH0gRXdrX1RvdWNoX1BvaW50X1R5cGU7CiAKIC8vLyBDcmVhdGVzIGEgdHlw
ZSBuYW1lIGZvciBfRXdrX1RvdWNoX1BvaW50LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a192aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAK
aW5kZXggZDRkOTJkYjg3MTZhN2NkNDgzMTJiOGU0ODEzYWZkMmUyNjI3ZjBjZS4uZDcyZDE2M2Zj
ODgzMjcyYzc4MDFhMWE5OWY3ZjgxNDY4OTI5NTg4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a192aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3Zp
ZXcuY3BwCkBAIC0zODAxLDUzICszODAxLDE2IEBAIEVpbmFfQm9vbCBld2tfdmlld19tb2RlX3Nl
dChFdmFzX09iamVjdCogZXdrVmlldywgRXdrX1ZpZXdfTW9kZSB2aWV3TW9kZSkKICAgICBFV0tf
VklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwgZmFsc2UpOwogICAgIEVX
S19WSUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYsIGZhbHNlKTsKIAotICAg
IHN3aXRjaCAodmlld01vZGUpIHsKLSAgICBjYXNlIEVXS19WSUVXX01PREVfV0lORE9XRUQ6Ci0g
ICAgICAgIHByaXYtPnBhZ2UtPnNldFZpZXdNb2RlKFdlYkNvcmU6OlBhZ2U6OlZpZXdNb2RlV2lu
ZG93ZWQpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEVXS19WSUVXX01PREVfRkxPQVRJTkc6
Ci0gICAgICAgIHByaXYtPnBhZ2UtPnNldFZpZXdNb2RlKFdlYkNvcmU6OlBhZ2U6OlZpZXdNb2Rl
RmxvYXRpbmcpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEVXS19WSUVXX01PREVfRlVMTFND
UkVFTjoKLSAgICAgICAgcHJpdi0+cGFnZS0+c2V0Vmlld01vZGUoV2ViQ29yZTo6UGFnZTo6Vmll
d01vZGVGdWxsc2NyZWVuKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBFV0tfVklFV19NT0RF
X01BWElNSVpFRDoKLSAgICAgICAgcHJpdi0+cGFnZS0+c2V0Vmlld01vZGUoV2ViQ29yZTo6UGFn
ZTo6Vmlld01vZGVNYXhpbWl6ZWQpOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIEVXS19WSUVX
X01PREVfTUlOSU1JWkVEOgotICAgICAgICBwcml2LT5wYWdlLT5zZXRWaWV3TW9kZShXZWJDb3Jl
OjpQYWdlOjpWaWV3TW9kZU1pbmltaXplZCk7Ci0gICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KKyAgICBwcml2LT5wYWdlLT5zZXRWaWV3
TW9kZShzdGF0aWNfY2FzdDxXZWJDb3JlOjpQYWdlOjpWaWV3TW9kZT4odmlld01vZGUpKTsKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIAogRXdrX1ZpZXdfTW9kZSBld2tfdmlld19tb2RlX2dldChjb25z
dCBFdmFzX09iamVjdCogZXdrVmlldykKIHsKLSAgICBFd2tfVmlld19Nb2RlIG1vZGUgPSBFV0tf
VklFV19NT0RFX1dJTkRPV0VEOwotICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmll
dywgc21hcnREYXRhLCBtb2RlKTsKLSAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21h
cnREYXRhLCBwcml2LCBtb2RlKTsKLQotICAgIHN3aXRjaCAocHJpdi0+cGFnZS0+dmlld01vZGUo
KSkgewotICAgIGNhc2UgV2ViQ29yZTo6UGFnZTo6Vmlld01vZGVGbG9hdGluZzoKLSAgICAgICAg
bW9kZSA9IEVXS19WSUVXX01PREVfRkxPQVRJTkc7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2Ug
V2ViQ29yZTo6UGFnZTo6Vmlld01vZGVGdWxsc2NyZWVuOgotICAgICAgICBtb2RlID0gRVdLX1ZJ
RVdfTU9ERV9GVUxMU0NSRUVOOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFdlYkNvcmU6OlBh
Z2U6OlZpZXdNb2RlTWF4aW1pemVkOgotICAgICAgICBtb2RlID0gRVdLX1ZJRVdfTU9ERV9NQVhJ
TUlaRUQ7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgV2ViQ29yZTo6UGFnZTo6Vmlld01vZGVN
aW5pbWl6ZWQ6Ci0gICAgICAgIG1vZGUgPSBFV0tfVklFV19NT0RFX01JTklNSVpFRDsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgYnJlYWs7Ci0gICAgfQorICAgIEVXS19W
SUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhLCBFV0tfVklFV19NT0RFX1dJ
TkRPV0VEKTsKKyAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4oc21hcnREYXRhLCBwcml2
LCBFV0tfVklFV19NT0RFX1dJTkRPV0VEKTsKIAotICAgIHJldHVybiBtb2RlOworICAgIHJldHVy
biBzdGF0aWNfY2FzdDxFd2tfVmlld19Nb2RlPihwcml2LT5wYWdlLT52aWV3TW9kZSgpKTsKIH0K
IAogLyoqCkBAIC0zODc2LDMwICszODM5LDE4IEBAIHZvaWQgZXdrX3ZpZXdfZWRpdG9yX2NsaWVu
dF9jb250ZW50c19jaGFuZ2VkKEV2YXNfT2JqZWN0KiBld2tWaWV3KQogICAgIGV2YXNfb2JqZWN0
X3NtYXJ0X2NhbGxiYWNrX2NhbGwoZXdrVmlldywgImVkaXRvcmNsaWVudCxjb250ZW50cyxjaGFu
Z2VkIiwgMCk7CiB9CiAKLUVpbmFfQm9vbCBld2tfdmlld192aXNpYmlsaXR5X3N0YXRlX3NldChF
dmFzX09iamVjdCogZXdrVmlldywgRXdrX1BhZ2VfVmlzaWJpbGl0eV9TdGF0ZSBwYWdlVmlzaWJs
ZVN0YXRlLCBFaW5hX0Jvb2wgaW5pdGlhbFN0YXRlKQorRWluYV9Cb29sIGV3a192aWV3X3Zpc2li
aWxpdHlfc3RhdGVfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFd2tfUGFnZV9WaXNpYmlsaXR5
X1N0YXRlIHBhZ2VWaXNpYmlsaXR5U3RhdGUsIEVpbmFfQm9vbCBpbml0aWFsU3RhdGUpCiB7CiAj
aWYgRU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkpCi0gICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JF
VFVSTihld2tWaWV3LCBzbWFydERhdGEsIEVJTkFfRkFMU0UpOwotICAgIEVXS19WSUVXX1BSSVZf
R0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYsIEVJTkFfRkFMU0UpOworICAgIEVXS19WSUVX
X1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhLCBmYWxzZSk7CisgICAgRVdLX1ZJ
RVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgcHJpdiwgZmFsc2UpOwogCi0gICAgc3dp
dGNoIChwYWdlVmlzaWJsZVN0YXRlKSB7Ci0gICAgY2FzZSBFV0tfUEFHRV9WSVNJQklMSVRZX1NU
QVRFX1ZJU0lCTEU6Ci0gICAgICAgIHByaXYtPnBhZ2UtPnNldFZpc2liaWxpdHlTdGF0ZShXZWJD
b3JlOjpQYWdlVmlzaWJpbGl0eVN0YXRlVmlzaWJsZSwgaW5pdGlhbFN0YXRlKTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBFV0tfUEFHRV9WSVNJQklMSVRZX1NUQVRFX0hJRERFTjoKLSAgICAg
ICAgcHJpdi0+cGFnZS0+c2V0VmlzaWJpbGl0eVN0YXRlKFdlYkNvcmU6OlBhZ2VWaXNpYmlsaXR5
U3RhdGVIaWRkZW4sIGluaXRpYWxTdGF0ZSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgRVdL
X1BBR0VfVklTSUJJTElUWV9TVEFURV9QUkVSRU5ERVI6Ci0gICAgICAgIHByaXYtPnBhZ2UtPnNl
dFZpc2liaWxpdHlTdGF0ZShXZWJDb3JlOjpQYWdlVmlzaWJpbGl0eVN0YXRlUHJlcmVuZGVyLCBp
bml0aWFsU3RhdGUpOwotICAgICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICByZXR1
cm4gRUlOQV9GQUxTRTsKLSAgICB9CisgICAgcHJpdi0+cGFnZS0+c2V0VmlzaWJpbGl0eVN0YXRl
KHN0YXRpY19jYXN0PFdlYkNvcmU6OlBhZ2VWaXNpYmlsaXR5U3RhdGU+KHBhZ2VWaXNpYmlsaXR5
U3RhdGUpLCBpbml0aWFsU3RhdGUpOwogCi0gICAgcmV0dXJuIEVJTkFfVFJVRTsKKyAgICByZXR1
cm4gdHJ1ZTsKICNlbHNlCiAgICAgREJHKCJQQUdFX1ZJU0lCSUxJVFlfQVBJIGlzIGRpc2FibGVk
LiIpOwotICAgIHJldHVybiBFSU5BX0ZBTFNFOworICAgIHJldHVybiBmYWxzZTsKICNlbmRpZgog
fQogCkBAIC0zOTA5LDE2ICszODYwLDcgQEAgRXdrX1BhZ2VfVmlzaWJpbGl0eV9TdGF0ZSBld2tf
dmlld192aXNpYmlsaXR5X3N0YXRlX2dldChjb25zdCBFdmFzX09iamVjdCogZXdrVmkKICAgICBF
V0tfVklFV19TRF9HRVRfT1JfUkVUVVJOKGV3a1ZpZXcsIHNtYXJ0RGF0YSwgRVdLX1BBR0VfVklT
SUJJTElUWV9TVEFURV9WSVNJQkxFKTsKICAgICBFV0tfVklFV19QUklWX0dFVF9PUl9SRVRVUk4o
c21hcnREYXRhLCBwcml2LCBFV0tfUEFHRV9WSVNJQklMSVRZX1NUQVRFX1ZJU0lCTEUpOwogCi0g
ICAgc3dpdGNoIChwcml2LT5wYWdlLT52aXNpYmlsaXR5U3RhdGUoKSkgewotICAgIGNhc2UgV2Vi
Q29yZTo6UGFnZVZpc2liaWxpdHlTdGF0ZVZpc2libGU6Ci0gICAgICAgIHJldHVybiBFV0tfUEFH
RV9WSVNJQklMSVRZX1NUQVRFX1ZJU0lCTEU7Ci0gICAgY2FzZSBXZWJDb3JlOjpQYWdlVmlzaWJp
bGl0eVN0YXRlSGlkZGVuOgotICAgICAgICByZXR1cm4gRVdLX1BBR0VfVklTSUJJTElUWV9TVEFU
RV9ISURERU47Ci0gICAgY2FzZSBXZWJDb3JlOjpQYWdlVmlzaWJpbGl0eVN0YXRlUHJlcmVuZGVy
OgotICAgICAgICByZXR1cm4gRVdLX1BBR0VfVklTSUJJTElUWV9TVEFURV9QUkVSRU5ERVI7Ci0g
ICAgZGVmYXVsdDoKLSAgICAgICAgcmV0dXJuIEVXS19QQUdFX1ZJU0lCSUxJVFlfU1RBVEVfVklT
SUJMRTsKLSAgICB9CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEV3a19QYWdlX1Zpc2liaWxpdHlf
U3RhdGU+KHByaXYtPnBhZ2UtPnZpc2liaWxpdHlTdGF0ZSgpKTsKICNlbHNlCiAgICAgREJHKCJQ
QUdFX1ZJU0lCSUxJVFlfQVBJIGlzIGRpc2FibGVkLiIpOwogICAgIHJldHVybiBFV0tfUEFHRV9W
SVNJQklMSVRZX1NUQVRFX1ZJU0lCTEU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX3ZpZXcuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCmluZGV4IDQ1
MDQwOGJkYzE2OGU0NmY5MjVhNDMyZGM1ZjBiOWQyYWZlN2UxOGEuLjY5NDgwNDkyOWQ5NDc0ZDdk
MTI2ZWNkMzMyZmI5YTFjNGYyZjNiMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfdmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCkBAIC0z
MTcsNiArMzE3LDcgQEAgc3RydWN0IF9Fd2tfVmlld19TbWFydF9EYXRhIHsKIAogLy8vIERlZmlu
ZXMgdGhlIG1vZGVzIG9mIHZpZXcuCiBlbnVtIF9Fd2tfVmlld19Nb2RlIHsKKyAgICBFV0tfVklF
V19NT0RFX0lOVkFMSUQsCiAgICAgRVdLX1ZJRVdfTU9ERV9XSU5ET1dFRCwKICAgICBFV0tfVklF
V19NT0RFX0ZMT0FUSU5HLAogICAgIEVXS19WSUVXX01PREVfRlVMTFNDUkVFTiwK
</data>

          </attachment>
      

    </bug>

</bugzilla>