<?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>113912</bug_id>
          
          <creation_ts>2013-04-03 17:42:24 -0700</creation_ts>
          <short_desc>[GTK][AC] Adding contentsLayer for image and video</short_desc>
          <delta_ts>2013-04-11 06:52:48 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>113758</dependson>
          <blocked>105699</blocked>
    
    <blocked>114113</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Joone Hur">joone</reporter>
          <assigned_to name="Joone Hur">joone</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>kevin.cs.oh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>868970</commentid>
    <comment_count>0</comment_count>
    <who name="Joone Hur">joone</who>
    <bug_when>2013-04-03 17:42:24 -0700</bug_when>
    <thetext>We need to add m_contentsLayer to GraphicsLayerClutter in order to render an image or video on a different ClutterActor. The patch is coming soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869435</commentid>
    <comment_count>1</comment_count>
      <attachid>196551</attachid>
    <who name="Joone Hur">joone</who>
    <bug_when>2013-04-04 16:17:36 -0700</bug_when>
    <thetext>Created attachment 196551
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869653</commentid>
    <comment_count>2</comment_count>
    <who name="ChangSeok Oh">kevin.cs.oh</who>
    <bug_when>2013-04-05 02:18:20 -0700</bug_when>
    <thetext>I leave some notes as an informal review. Please just refer to those. :)

&gt; Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.cpp:452
&gt; +        graphicsLayerActorInvalidateRectangle(m_contentsLayer.get(), FloatRect(FloatPoint(0, 0), size()));

I believe we don&apos;t need to call this here. Because we set ContentsNeedsDisplay below so above lines will be called in updateContentsNeedsDisplay().

&gt; Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.cpp:701
&gt; +        updateContentsRect();

We would be better to follow macport&apos;s order for calling above lines to avoid conflicts that might occur in the future.

&gt; Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.cpp:716
&gt; +        updateContentsNeedsDisplay();

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869830</commentid>
    <comment_count>3</comment_count>
    <who name="Joone Hur">joone</who>
    <bug_when>2013-04-05 10:06:39 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; I leave some notes as an informal review. Please just refer to those. :)
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.cpp:452
&gt; &gt; +        graphicsLayerActorInvalidateRectangle(m_contentsLayer.get(), FloatRect(FloatPoint(0, 0), size()));
&gt; 
&gt; I believe we don&apos;t need to call this here. Because we set ContentsNeedsDisplay below so above lines will be called in updateContentsNeedsDisplay().

Yes, right. graphicsLayerActorInvalidateRectangle is called twice. I will fix it.
 
&gt; &gt; Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.cpp:701
&gt; &gt; +        updateContentsRect();
&gt; 
&gt; We would be better to follow macport&apos;s order for calling above lines to avoid conflicts that might occur in the future.
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.cpp:716
&gt; &gt; +        updateContentsNeedsDisplay();
&gt; 
&gt; ditto.

Yes, it seems more safe to follow the Mac port&apos;s layer change order.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>869852</commentid>
    <comment_count>4</comment_count>
      <attachid>196648</attachid>
    <who name="Joone Hur">joone</who>
    <bug_when>2013-04-05 10:35:14 -0700</bug_when>
    <thetext>Created attachment 196648
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871192</commentid>
    <comment_count>5</comment_count>
      <attachid>196648</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-04-08 14:57:07 -0700</bug_when>
    <thetext>Comment on attachment 196648
Patch

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

&gt; Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.cpp:743
&gt; +#ifndef NDEBUG
&gt; +            clutter_actor_set_name(CLUTTER_ACTOR(m_contentsLayer.get()), &quot;Image Layer&quot;);
&gt; +#endif

I think we should set the name regardless of debug mode, it&apos;s not like this adds any overhead, right?

&gt; Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.h:220
&gt; +    // FIXME: Need to use RetainPtr

This FIXME makes no sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>871951</commentid>
    <comment_count>6</comment_count>
      <attachid>196648</attachid>
    <who name="Joone Hur">joone</who>
    <bug_when>2013-04-09 10:42:26 -0700</bug_when>
    <thetext>Comment on attachment 196648
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.cpp:743
&gt;&gt; +#endif
&gt; 
&gt; I think we should set the name regardless of debug mode, it&apos;s not like this adds any overhead, right?

But, ClutterActor name is only useful to print out a PlatformLayer tree for debugging.
Is there any case where this is useful in release build?

&gt;&gt; Source/WebCore/platform/graphics/clutter/GraphicsLayerClutter.h:220
&gt;&gt; +    // FIXME: Need to use RetainPtr
&gt; 
&gt; This FIXME makes no sense.

Yes, RetainPtr is a specific smart pointer class of the Mac port. I will remove this comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872276</commentid>
    <comment_count>7</comment_count>
      <attachid>197186</attachid>
    <who name="Joone Hur">joone</who>
    <bug_when>2013-04-09 16:26:26 -0700</bug_when>
    <thetext>Created attachment 197186
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872526</commentid>
    <comment_count>8</comment_count>
      <attachid>197186</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-09 17:15:37 -0700</bug_when>
    <thetext>Comment on attachment 197186
Patch

Clearing flags on attachment: 197186

Committed r148069: &lt;http://trac.webkit.org/changeset/148069&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872527</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-09 17:15:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>873791</commentid>
    <comment_count>10</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-04-11 06:52:48 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; But, ClutterActor name is only useful to print out a PlatformLayer tree for debugging.
&gt; Is there any case where this is useful in release build?

Yeah, it&apos;s useful for running with CLUTTER_PAINT=paint-volumes</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196551</attachid>
            <date>2013-04-04 16:17:36 -0700</date>
            <delta_ts>2013-04-05 10:35:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113912-20130404161458.patch</filename>
            <type>text/plain</type>
            <size>10970</size>
            <attacher name="Joone Hur">joone</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3NjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTQ3MTQyZmYzMTQ2NzFk
M2I0ZDY3MWYwNGJlZDg3NTExNTE1Njc5NC4uNDFiMTU0MjU2MDMwMGEwMTJmNWZkNWVkMDgzZTE2
Nzk4OTMwZmM4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEzLTA0LTA0ICBKb29u
ZSBIdXIgIDxqb29uZS5odXJAaW50ZWwuY29tPgorCisgICAgICAgIFtHVEtdW0FDXSBBZGRpbmcg
Y29udGVudHNMYXllciBmb3IgaW1hZ2UgYW5kIHZpZGVvCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTM5MTIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBjb250ZW50c0xheWVyIGlzIGEgQ2x1dHRlckFjdG9y
LCB3aGljaCBpcyBhZGRlZCB0byB0aGUgbWFpbiBsYXllciAKKyAgICAgICAgYXMgYSBjaGlsZCB3
aGVuIEdyYXBoaWNzTGF5ZXIgbmVlZHMgdG8gcmVuZGVyIGFuIGltYWdlIG9yIHZpZGVvLiAKKwor
ICAgICAgICBObyBuZXcgdGVzdHMsIGFscmVhZHkgY292ZXJlZCBieSBleGlzdGluZyBBQyB0ZXN0
cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NsdXR0ZXIvR3JhcGhpY3NMYXllckFj
dG9yLmNwcDoKKyAgICAgICAgKGdyYXBoaWNzTGF5ZXJBY3RvclVwZGF0ZVRleHR1cmUpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NsdXR0ZXIvR3JhcGhpY3NMYXllckNsdXR0ZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNsdXR0ZXI6OkdyYXBoaWNzTGF5ZXJD
bHV0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDbHV0dGVyOjp+R3JhcGhp
Y3NMYXllckNsdXR0ZXIpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0xheWVyQ2x1dHRlcjo6c2V0Q29udGVudHNUb0ltYWdlKTogUGFzcyBhIENhaXJvIHN1
cmZhY2UgdG8gR3JhcGhpY3NMYXllci4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJD
bHV0dGVyOjpzZXRDb250ZW50c05lZWRzRGlzcGxheSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0xheWVyQ2x1dHRlcjo6c2V0Q29udGVudHNSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXJDbHV0dGVyOjpjb21taXRMYXllckNoYW5nZXNCZWZvcmVTdWJsYXllcnMpOgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNsdXR0ZXI6OnNldHVwQ29udGVudHNMYXll
cik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2x1dHRlcjo6dXBkYXRlQ29udGVu
dHNJbWFnZSk6IFNldCB0aGUgQ2Fpcm8gc3VyZmFjZSBmb3IgY29udGVudHNMYXllciAKKyAgICAg
ICAgdG8gdXBsb2FkIGl0IGFzIGEgdGV4dHVyZS4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
TGF5ZXJDbHV0dGVyOjp1cGRhdGVDb250ZW50c05lZWRzRGlzcGxheSk6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0xheWVyQ2x1dHRlcjo6dXBkYXRlQ29udGVudHNSZWN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDbHV0dGVyOjp1cGRhdGVTdWJsYXllckxpc3QpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NsdXR0ZXIvR3JhcGhpY3NMYXllckNsdXR0ZXIuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDbHV0dGVyOjpoYXNDb250ZW50c0xheWVy
KToKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXJDbHV0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXJDbHV0dGVyOjpjb250ZW50c0xheWVyKToKKwogMjAxMy0wNC0wNCAgVGltIEhv
cnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChy
MTQ3MzczKTogQXV0by1zaXppbmcgZG9lc24ndCBhbHdheXMgcmVzcGVjdCBtaW5pbXVtIHdpZHRo
IGNoYW5nZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Ns
dXR0ZXIvR3JhcGhpY3NMYXllckNsdXR0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2x1dHRlci9HcmFwaGljc0xheWVyQ2x1dHRlci5jcHAKaW5kZXggMzFiMTdkZjJj
MzczZGM0ODYwY2Q5Yjc1MGY0ODZhZmM5ZGJhMDU3Ni4uMDQwNzU1MjJkODI2OWVjNzI3MzcxZmQw
ZmZmY2M1ODk3ZjJhMGZkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2x1dHRlci9HcmFwaGljc0xheWVyQ2x1dHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2x1dHRlci9HcmFwaGljc0xheWVyQ2x1dHRlci5jcHAKQEAg
LTEsNyArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiwgMjAxMyBDb2xsYWJv
cmEgTHRkLgotICogQ29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyLCAyMDEzIEludGVsIENvcnBvcmF0
aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yNTIsNiArMjUyLDcgQEAgUGFzc093blB0cjxHcmFwaGljc0xheWVyPiBHcmFwaGljc0xh
eWVyOjpjcmVhdGUoR3JhcGhpY3NMYXllckNsaWVudCogY2xpZW50KQogCiBHcmFwaGljc0xheWVy
Q2x1dHRlcjo6R3JhcGhpY3NMYXllckNsdXR0ZXIoR3JhcGhpY3NMYXllckNsaWVudCogY2xpZW50
KQogICAgIDogR3JhcGhpY3NMYXllcihjbGllbnQpCisgICAgLCBtX2NvbnRlbnRzTGF5ZXJQdXJw
b3NlKE5vQ29udGVudHNMYXllcikKICAgICAsIG1fdW5jb21taXR0ZWRDaGFuZ2VzKDApCiB7CiAg
ICAgLy8gQ2x1dHRlclJlY3RhbmdsZSB3aWxsIGJlIHVzZWQgdG8gc2hvdyB0aGUgZGVidWcgYm9y
ZGVyLgpAQCAtMzAzLDYgKzMwNCwxMSBAQCBHcmFwaGljc0xheWVyQ2x1dHRlcjo6fkdyYXBoaWNz
TGF5ZXJDbHV0dGVyKCkKICAgICAgICAgZ3JhcGhpY3NMYXllckFjdG9yU2V0Q2xpZW50KG1fc3Ry
dWN0dXJhbExheWVyLmdldCgpLCAwKTsKICAgICAgICAgZ19pZGxlX2FkZChpZGxlRGVzdHJveSwg
bV9zdHJ1Y3R1cmFsTGF5ZXIubGVha1JlZigpKTsKICAgICB9CisKKyAgICBpZiAobV9jb250ZW50
c0xheWVyKSB7CisgICAgICAgIGdyYXBoaWNzTGF5ZXJBY3RvclNldENsaWVudChtX2NvbnRlbnRz
TGF5ZXIuZ2V0KCksIDApOworICAgICAgICBnX2lkbGVfYWRkKGlkbGVEZXN0cm95LCBtX2NvbnRl
bnRzTGF5ZXIubGVha1JlZigpKTsKKyAgICB9CiB9CiAKIHZvaWQgR3JhcGhpY3NMYXllckNsdXR0
ZXI6OnNldE5hbWUoY29uc3QgU3RyaW5nJiBuYW1lKQpAQCAtNDE3LDYgKzQyMyw0NiBAQCB2b2lk
IEdyYXBoaWNzTGF5ZXJDbHV0dGVyOjpzZXREcmF3c0NvbnRlbnQoYm9vbCBkcmF3c0NvbnRlbnQp
CiAgICAgbm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkKERyYXdzQ29udGVudENoYW5nZWQpOwogfQog
CisKK3ZvaWQgR3JhcGhpY3NMYXllckNsdXR0ZXI6OnNldENvbnRlbnRzVG9JbWFnZShJbWFnZSog
aW1hZ2UpCit7CisgICAgaWYgKGltYWdlKSB7CisgICAgICAgIFJlZlB0cjxjYWlyb19zdXJmYWNl
X3Q+IG5ld0ltYWdlID0gaW1hZ2UtPm5hdGl2ZUltYWdlRm9yQ3VycmVudEZyYW1lKCk7CisgICAg
ICAgIGlmICghbmV3SW1hZ2UpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgbV9wZW5k
aW5nQ29udGVudHNJbWFnZSA9IG5ld0ltYWdlOworCisgICAgICAgIG1fY29udGVudHNMYXllclB1
cnBvc2UgPSBDb250ZW50c0xheWVyRm9ySW1hZ2U7CisgICAgICAgIGlmICghbV9jb250ZW50c0xh
eWVyKQorICAgICAgICAgICAgbm90ZVN1YmxheWVyc0NoYW5nZWQoKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICBtX3BlbmRpbmdDb250ZW50c0ltYWdlID0gMDsKKyAgICAgICAgbV9jb250ZW50c0xh
eWVyUHVycG9zZSA9IE5vQ29udGVudHNMYXllcjsKKyAgICAgICAgaWYgKG1fY29udGVudHNMYXll
cikKKyAgICAgICAgICAgIG5vdGVTdWJsYXllcnNDaGFuZ2VkKCk7CisgICAgfQorCisgICAgbm90
ZUxheWVyUHJvcGVydHlDaGFuZ2VkKENvbnRlbnRzSW1hZ2VDaGFuZ2VkKTsKK30KKwordm9pZCBH
cmFwaGljc0xheWVyQ2x1dHRlcjo6c2V0Q29udGVudHNOZWVkc0Rpc3BsYXkoKQoreworICAgIGlm
IChtX2NvbnRlbnRzTGF5ZXIpCisgICAgICAgIGdyYXBoaWNzTGF5ZXJBY3RvckludmFsaWRhdGVS
ZWN0YW5nbGUobV9jb250ZW50c0xheWVyLmdldCgpLCBGbG9hdFJlY3QoRmxvYXRQb2ludCgwLCAw
KSwgc2l6ZSgpKSk7CisKKyAgICBub3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWQoQ29udGVudHNOZWVk
c0Rpc3BsYXkpOworfQorCit2b2lkIEdyYXBoaWNzTGF5ZXJDbHV0dGVyOjpzZXRDb250ZW50c1Jl
Y3QoY29uc3QgSW50UmVjdCYgcmVjdCkKK3sKKyAgICBpZiAocmVjdCA9PSBtX2NvbnRlbnRzUmVj
dCkKKyAgICAgICAgcmV0dXJuOworCisgICAgR3JhcGhpY3NMYXllcjo6c2V0Q29udGVudHNSZWN0
KHJlY3QpOworICAgIG5vdGVMYXllclByb3BlcnR5Q2hhbmdlZChDb250ZW50c1JlY3RDaGFuZ2Vk
KTsKK30KKwogdm9pZCBHcmFwaGljc0xheWVyQ2x1dHRlcjo6c2V0UGFyZW50KEdyYXBoaWNzTGF5
ZXIqIGNoaWxkTGF5ZXIpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKQEAgLTY0Miw2ICs2ODgs
MTggQEAgdm9pZCBHcmFwaGljc0xheWVyQ2x1dHRlcjo6Y29tbWl0TGF5ZXJDaGFuZ2VzQmVmb3Jl
U3VibGF5ZXJzKGZsb2F0IHBhZ2VTY2FsZUZhY3QKICAgICBpZiAobV91bmNvbW1pdHRlZENoYW5n
ZXMgJiBQcmVzZXJ2ZXMzRENoYW5nZWQpCiAgICAgICAgIHVwZGF0ZVN0cnVjdHVyYWxMYXllcigp
OwogCisgICAgaWYgKG1fdW5jb21taXR0ZWRDaGFuZ2VzICYgTmFtZUNoYW5nZWQpCisgICAgICAg
IHVwZGF0ZUxheWVyTmFtZXMoKTsKKworICAgIGlmIChtX3VuY29tbWl0dGVkQ2hhbmdlcyAmIENv
bnRlbnRzSW1hZ2VDaGFuZ2VkKSAvLyBOZWVkcyB0byBoYXBwZW4gYmVmb3JlIENoaWxkcmVuQ2hh
bmdlZAorICAgICAgICB1cGRhdGVDb250ZW50c0ltYWdlKCk7CisKKyAgICBpZiAobV91bmNvbW1p
dHRlZENoYW5nZXMgJiBDaGlsZHJlbkNoYW5nZWQpCisgICAgICAgIHVwZGF0ZVN1YmxheWVyTGlz
dCgpOworCisgICAgaWYgKG1fdW5jb21taXR0ZWRDaGFuZ2VzICYgQ29udGVudHNSZWN0Q2hhbmdl
ZCkKKyAgICAgICAgdXBkYXRlQ29udGVudHNSZWN0KCk7CisKICAgICBpZiAobV91bmNvbW1pdHRl
ZENoYW5nZXMgJiBHZW9tZXRyeUNoYW5nZWQpCiAgICAgICAgIHVwZGF0ZUdlb21ldHJ5KHBhZ2VT
Y2FsZUZhY3RvciwgcG9zaXRpb25SZWxhdGl2ZVRvQmFzZSk7CiAKQEAgLTY1NCw2ICs3MTIsOSBA
QCB2b2lkIEdyYXBoaWNzTGF5ZXJDbHV0dGVyOjpjb21taXRMYXllckNoYW5nZXNCZWZvcmVTdWJs
YXllcnMoZmxvYXQgcGFnZVNjYWxlRmFjdAogICAgIGlmIChtX3VuY29tbWl0dGVkQ2hhbmdlcyAm
IFRyYW5zZm9ybUNoYW5nZWQpCiAgICAgICAgIHVwZGF0ZVRyYW5zZm9ybSgpOwogCisgICAgaWYg
KG1fdW5jb21taXR0ZWRDaGFuZ2VzICYgQ29udGVudHNOZWVkc0Rpc3BsYXkpCisgICAgICAgIHVw
ZGF0ZUNvbnRlbnRzTmVlZHNEaXNwbGF5KCk7CisKICAgICBpZiAobV91bmNvbW1pdHRlZENoYW5n
ZXMgJiBPcGFjaXR5Q2hhbmdlZCkKICAgICAgICAgdXBkYXRlT3BhY2l0eU9uTGF5ZXIoKTsKIApA
QCAtNjcwLDYgKzczMSw1MiBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDbHV0dGVyOjpjb21taXRMYXll
ckNoYW5nZXNCZWZvcmVTdWJsYXllcnMoZmxvYXQgcGFnZVNjYWxlRmFjdAogICAgIH0KIH0KIAor
dm9pZCBHcmFwaGljc0xheWVyQ2x1dHRlcjo6c2V0dXBDb250ZW50c0xheWVyKEdyYXBoaWNzTGF5
ZXJBY3RvciogY29udGVudHNMYXllcikKK3sKKyAgICBncmFwaGljc0xheWVyQWN0b3JTZXRBbmNo
b3JQb2ludChjb250ZW50c0xheWVyLCAwLjAsIDAuMCwgMC4wKTsKK30KKwordm9pZCBHcmFwaGlj
c0xheWVyQ2x1dHRlcjo6dXBkYXRlQ29udGVudHNJbWFnZSgpCit7CisgICAgaWYgKG1fcGVuZGlu
Z0NvbnRlbnRzSW1hZ2UpIHsKKyAgICAgICAgaWYgKCFtX2NvbnRlbnRzTGF5ZXIpIHsKKyAgICAg
ICAgICAgIG1fY29udGVudHNMYXllciA9IGdyYXBoaWNzTGF5ZXJBY3Rvck5ld1dpdGhDbGllbnQo
TGF5ZXJUeXBlTGF5ZXIsIHRoaXMpOworI2lmbmRlZiBOREVCVUcKKyAgICAgICAgICAgIGNsdXR0
ZXJfYWN0b3Jfc2V0X25hbWUoQ0xVVFRFUl9BQ1RPUihtX2NvbnRlbnRzTGF5ZXIuZ2V0KCkpLCAi
SW1hZ2UgTGF5ZXIiKTsKKyNlbmRpZgorICAgICAgICAgICAgc2V0dXBDb250ZW50c0xheWVyKG1f
Y29udGVudHNMYXllci5nZXQoKSk7CisgICAgICAgIH0KKworICAgICAgICBncmFwaGljc0xheWVy
QWN0b3JTZXRTdXJmYWNlKEdSQVBISUNTX0xBWUVSX0FDVE9SKG1fY29udGVudHNMYXllci5nZXQo
KSksIG1fcGVuZGluZ0NvbnRlbnRzSW1hZ2UuZ2V0KCkpOworICAgICAgICBtX3BlbmRpbmdDb250
ZW50c0ltYWdlID0gMDsKKworICAgICAgICB1cGRhdGVDb250ZW50c1JlY3QoKTsKKyAgICB9IGVs
c2UgeworICAgICAgICAvLyBObyBpbWFnZS4KKyAgICAgICAgLy8gbV9jb250ZW50c0xheWVyIHdp
bGwgYmUgcmVtb3ZlZCB2aWEgdXBkYXRlU3VibGF5ZXJMaXN0LgorICAgICAgICBtX2NvbnRlbnRz
TGF5ZXIgPSAwOworICAgIH0KK30KKwordm9pZCBHcmFwaGljc0xheWVyQ2x1dHRlcjo6dXBkYXRl
Q29udGVudHNOZWVkc0Rpc3BsYXkoKQoreworICAgIGlmIChtX2NvbnRlbnRzTGF5ZXIpCisgICAg
ICAgIGdyYXBoaWNzTGF5ZXJBY3RvckludmFsaWRhdGVSZWN0YW5nbGUobV9jb250ZW50c0xheWVy
LmdldCgpLCBGbG9hdFJlY3QoRmxvYXRQb2ludCgwLCAwKSwgc2l6ZSgpKSk7Cit9CisKK3ZvaWQg
R3JhcGhpY3NMYXllckNsdXR0ZXI6OnVwZGF0ZUNvbnRlbnRzUmVjdCgpCit7CisgICAgaWYgKCFt
X2NvbnRlbnRzTGF5ZXIpCisgICAgICAgIHJldHVybjsKKworICAgIEZsb2F0UG9pbnQgcG9pbnQo
bV9jb250ZW50c1JlY3QueCgpLCBtX2NvbnRlbnRzUmVjdC55KCkpOworICAgIEZsb2F0UmVjdCBy
ZWN0KDAsIDAsIG1fY29udGVudHNSZWN0LndpZHRoKCksIG1fY29udGVudHNSZWN0LmhlaWdodCgp
KTsKKworICAgIGNsdXR0ZXJfYWN0b3Jfc2V0X3Bvc2l0aW9uKENMVVRURVJfQUNUT1IobV9jb250
ZW50c0xheWVyLmdldCgpKSwgcG9pbnQueCgpLCBwb2ludC55KCkpOworICAgIGNsdXR0ZXJfYWN0
b3Jfc2V0X3NpemUoQ0xVVFRFUl9BQ1RPUihtX2NvbnRlbnRzTGF5ZXIuZ2V0KCkpLCByZWN0Lndp
ZHRoKCksIHJlY3QuaGVpZ2h0KCkpOworfQorCisKIHZvaWQgR3JhcGhpY3NMYXllckNsdXR0ZXI6
OnVwZGF0ZUdlb21ldHJ5KGZsb2F0IHBhZ2VTY2FsZUZhY3RvciwgY29uc3QgRmxvYXRQb2ludCYg
cG9zaXRpb25SZWxhdGl2ZVRvQmFzZSkKIHsKICAgICAvLyBGSVhNRTogTmVlZCB0byBzdXBwb3J0
IHBhZ2Ugc2NhbGluZy4KQEAgLTY5Niw2ICs4MDMsOSBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDbHV0
dGVyOjp1cGRhdGVTdWJsYXllckxpc3QoKQogICAgIGlmIChtX3N0cnVjdHVyYWxMYXllcikKICAg
ICAgICAgc3RydWN0dXJhbExheWVyQ2hpbGRyZW4uYXBwZW5kKG1fbGF5ZXIpOwogCisgICAgaWYg
KG1fY29udGVudHNMYXllcikKKyAgICAgICAgcHJpbWFyeUxheWVyQ2hpbGRyZW4uYXBwZW5kKG1f
Y29udGVudHNMYXllcik7CisKICAgICBjb25zdCBWZWN0b3I8R3JhcGhpY3NMYXllcio+JiBjaGls
ZExheWVycyA9IGNoaWxkcmVuKCk7CiAgICAgc2l6ZV90IG51bUNoaWxkcmVuID0gY2hpbGRMYXll
cnMuc2l6ZSgpOwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVtQ2hpbGRyZW47ICsraSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2x1dHRlci9H
cmFwaGljc0xheWVyQ2x1dHRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2x1dHRlci9HcmFwaGljc0xheWVyQ2x1dHRlci5oCmluZGV4IDdmMzBmMTQ5MWU4NTQxMzFhMTZk
ODRmZGI5OGNkYzA1NjYwOTJkZjUuLjYxZmMzZmIxY2JlZWNmNTU1ZmFjODJmY2U2YWYwYTNjNTM5
MmIxMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NsdXR0
ZXIvR3JhcGhpY3NMYXllckNsdXR0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jbHV0dGVyL0dyYXBoaWNzTGF5ZXJDbHV0dGVyLmgKQEAgLTEsNyArMSw3IEBACiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiBDb2xsYWJvcmEgTHRkLgotICogQ29weXJpZ2h0
IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDEyLCAyMDEzIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC03OCw2ICs3OCwxMiBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldE5hbWUoY29uc3QgU3RyaW5nJik7CiAgICAgdmly
dHVhbCB2b2lkIHNldE5lZWRzRGlzcGxheSgpOwogICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc0Rp
c3BsYXlJblJlY3QoY29uc3QgRmxvYXRSZWN0Jik7CisgICAgdmlydHVhbCB2b2lkIHNldENvbnRl
bnRzTmVlZHNEaXNwbGF5KCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udGVudHNUb0ltYWdl
KEltYWdlKik7CisgICAgdmlydHVhbCB2b2lkIHNldENvbnRlbnRzUmVjdChjb25zdCBJbnRSZWN0
Jik7CisKKyAgICB2aXJ0dWFsIGJvb2wgaGFzQ29udGVudHNMYXllcigpIGNvbnN0IHsgcmV0dXJu
IG1fY29udGVudHNMYXllcjsgfQogCiAgICAgdmlydHVhbCB2b2lkIHNldFByZXNlcnZlczNEKGJv
b2wpOwogCkBAIC0xMDcsNiArMTEzLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGNvbW1pdExheWVy
Q2hhbmdlc0FmdGVyU3VibGF5ZXJzKCk7CiAKICAgICB2b2lkIHVwZGF0ZU9wYWNpdHlPbkxheWVy
KCk7CisgICAgdm9pZCBzZXR1cENvbnRlbnRzTGF5ZXIoR3JhcGhpY3NMYXllckFjdG9yKik7Cisg
ICAgR3JhcGhpY3NMYXllckFjdG9yKiBjb250ZW50c0xheWVyKCkgY29uc3QgeyByZXR1cm4gbV9j
b250ZW50c0xheWVyLmdldCgpOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1DbHV0dGVy
TGF5ZXJBbmltYXRpb25TdGFydGVkKGRvdWJsZSBiZWdpblRpbWUpOwogICAgIHZpcnR1YWwgdm9p
ZCBwbGF0Zm9ybUNsdXR0ZXJMYXllclBhaW50Q29udGVudHMoR3JhcGhpY3NDb250ZXh0JiwgY29u
c3QgSW50UmVjdCYgY2xpcCk7CkBAIC0xODIsNyArMTkwLDkgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHVwZGF0ZUdlb21ldHJ5KGZsb2F0IHBpeGVsQWxpZ25tZW50U2NhbGUsIGNvbnN0IEZsb2F0UG9p
bnQmIHBvc2l0aW9uUmVsYXRpdmVUb0Jhc2UpOwogICAgIHZvaWQgdXBkYXRlVHJhbnNmb3JtKCk7
CiAgICAgdm9pZCB1cGRhdGVMYXllckRyYXdzQ29udGVudChmbG9hdCBwaXhlbEFsaWdubWVudFNj
YWxlLCBjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlvblJlbGF0aXZlVG9CYXNlKTsKLQorICAgIHZv
aWQgdXBkYXRlQ29udGVudHNJbWFnZSgpOworICAgIHZvaWQgdXBkYXRlQ29udGVudHNSZWN0KCk7
CisgICAgdm9pZCB1cGRhdGVDb250ZW50c05lZWRzRGlzcGxheSgpOwogICAgIHZvaWQgdXBkYXRl
QW5pbWF0aW9ucygpOwogCiAgICAgZW51bSBTdHJ1Y3R1cmFsTGF5ZXJQdXJwb3NlIHsKQEAgLTE5
Nyw2ICsyMDcsMTggQEAgcHJpdmF0ZToKIAogICAgIEdSZWZQdHI8R3JhcGhpY3NMYXllckFjdG9y
PiBtX2xheWVyOwogICAgIEdSZWZQdHI8R3JhcGhpY3NMYXllckFjdG9yPiBtX3N0cnVjdHVyYWxM
YXllcjsgLy8gQSBsYXllciB1c2VkIGZvciBzdHJ1Y3R1cmFsIHJlYXNvbnMsIGxpa2UgcHJlc2Vy
dmVzLTNkIG9yIHJlcGxpY2EtZmxhdHRlbmluZy4gSXMgdGhlIHBhcmVudCBvZiBtX2xheWVyLgor
ICAgIEdSZWZQdHI8R3JhcGhpY3NMYXllckFjdG9yPiBtX2NvbnRlbnRzTGF5ZXI7IC8vIEEgbGF5
ZXIgdXNlZCBmb3IgaW5uZXIgY29udGVudCwgbGlrZSBpbWFnZSBhbmQgdmlkZW8KKyAgICBlbnVt
IENvbnRlbnRzTGF5ZXJQdXJwb3NlIHsKKyAgICAgICAgTm9Db250ZW50c0xheWVyID0gMCwKKyAg
ICAgICAgQ29udGVudHNMYXllckZvckltYWdlLAorICAgICAgICBDb250ZW50c0xheWVyRm9yTWVk
aWEsCisgICAgICAgIENvbnRlbnRzTGF5ZXJGb3JDYW52YXMsCisgICAgICAgIENvbnRlbnRzTGF5
ZXJGb3JCYWNrZ3JvdW5kQ29sb3IKKyAgICB9OworCisgICAgQ29udGVudHNMYXllclB1cnBvc2Ug
bV9jb250ZW50c0xheWVyUHVycG9zZTsKKyAgICAvLyBGSVhNRTogTmVlZCB0byB1c2UgUmV0YWlu
UHRyCisgICAgUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gbV9wZW5kaW5nQ29udGVudHNJbWFnZTsK
IAogICAgIFZlY3RvcjxGbG9hdFJlY3Q+IG1fZGlydHlSZWN0czsKICAgICBMYXllckNoYW5nZUZs
YWdzIG1fdW5jb21taXR0ZWRDaGFuZ2VzOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>196648</attachid>
            <date>2013-04-05 10:35:14 -0700</date>
            <delta_ts>2013-04-09 16:26:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113912-20130405103234.patch</filename>
            <type>text/plain</type>
            <size>10975</size>
            <attacher name="Joone Hur">joone</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3NjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTQ3MTQyZmYzMTQ2NzFk
M2I0ZDY3MWYwNGJlZDg3NTExNTE1Njc5NC4uNDFiMTU0MjU2MDMwMGEwMTJmNWZkNWVkMDgzZTE2
Nzk4OTMwZmM4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEzLTA0LTA0ICBKb29u
ZSBIdXIgIDxqb29uZS5odXJAaW50ZWwuY29tPgorCisgICAgICAgIFtHVEtdW0FDXSBBZGRpbmcg
Y29udGVudHNMYXllciBmb3IgaW1hZ2UgYW5kIHZpZGVvCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTM5MTIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBjb250ZW50c0xheWVyIGlzIGEgQ2x1dHRlckFjdG9y
LCB3aGljaCBpcyBhZGRlZCB0byB0aGUgbWFpbiBsYXllciAKKyAgICAgICAgYXMgYSBjaGlsZCB3
aGVuIEdyYXBoaWNzTGF5ZXIgbmVlZHMgdG8gcmVuZGVyIGFuIGltYWdlIG9yIHZpZGVvLiAKKwor
ICAgICAgICBObyBuZXcgdGVzdHMsIGFscmVhZHkgY292ZXJlZCBieSBleGlzdGluZyBBQyB0ZXN0
cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NsdXR0ZXIvR3JhcGhpY3NMYXllckFj
dG9yLmNwcDoKKyAgICAgICAgKGdyYXBoaWNzTGF5ZXJBY3RvclVwZGF0ZVRleHR1cmUpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NsdXR0ZXIvR3JhcGhpY3NMYXllckNsdXR0ZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNsdXR0ZXI6OkdyYXBoaWNzTGF5ZXJD
bHV0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDbHV0dGVyOjp+R3JhcGhp
Y3NMYXllckNsdXR0ZXIpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0xheWVyQ2x1dHRlcjo6c2V0Q29udGVudHNUb0ltYWdlKTogUGFzcyBhIENhaXJvIHN1
cmZhY2UgdG8gR3JhcGhpY3NMYXllci4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJD
bHV0dGVyOjpzZXRDb250ZW50c05lZWRzRGlzcGxheSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0xheWVyQ2x1dHRlcjo6c2V0Q29udGVudHNSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXJDbHV0dGVyOjpjb21taXRMYXllckNoYW5nZXNCZWZvcmVTdWJsYXllcnMpOgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNsdXR0ZXI6OnNldHVwQ29udGVudHNMYXll
cik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2x1dHRlcjo6dXBkYXRlQ29udGVu
dHNJbWFnZSk6IFNldCB0aGUgQ2Fpcm8gc3VyZmFjZSBmb3IgY29udGVudHNMYXllciAKKyAgICAg
ICAgdG8gdXBsb2FkIGl0IGFzIGEgdGV4dHVyZS4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
TGF5ZXJDbHV0dGVyOjp1cGRhdGVDb250ZW50c05lZWRzRGlzcGxheSk6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0xheWVyQ2x1dHRlcjo6dXBkYXRlQ29udGVudHNSZWN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDbHV0dGVyOjp1cGRhdGVTdWJsYXllckxpc3QpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NsdXR0ZXIvR3JhcGhpY3NMYXllckNsdXR0ZXIuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDbHV0dGVyOjpoYXNDb250ZW50c0xheWVy
KToKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXJDbHV0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXJDbHV0dGVyOjpjb250ZW50c0xheWVyKToKKwogMjAxMy0wNC0wNCAgVGltIEhv
cnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChy
MTQ3MzczKTogQXV0by1zaXppbmcgZG9lc24ndCBhbHdheXMgcmVzcGVjdCBtaW5pbXVtIHdpZHRo
IGNoYW5nZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Ns
dXR0ZXIvR3JhcGhpY3NMYXllckNsdXR0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2x1dHRlci9HcmFwaGljc0xheWVyQ2x1dHRlci5jcHAKaW5kZXggMzFiMTdkZjJj
MzczZGM0ODYwY2Q5Yjc1MGY0ODZhZmM5ZGJhMDU3Ni4uMTdmMTY3YzYzN2FlZTE5MThhMzgxNTFi
OWJjZThiMWUxZmM4MGYzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2x1dHRlci9HcmFwaGljc0xheWVyQ2x1dHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2x1dHRlci9HcmFwaGljc0xheWVyQ2x1dHRlci5jcHAKQEAg
LTEsNyArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMSwgMjAxMiwgMjAxMyBDb2xsYWJv
cmEgTHRkLgotICogQ29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyLCAyMDEzIEludGVsIENvcnBvcmF0
aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yNTIsNiArMjUyLDcgQEAgUGFzc093blB0cjxHcmFwaGljc0xheWVyPiBHcmFwaGljc0xh
eWVyOjpjcmVhdGUoR3JhcGhpY3NMYXllckNsaWVudCogY2xpZW50KQogCiBHcmFwaGljc0xheWVy
Q2x1dHRlcjo6R3JhcGhpY3NMYXllckNsdXR0ZXIoR3JhcGhpY3NMYXllckNsaWVudCogY2xpZW50
KQogICAgIDogR3JhcGhpY3NMYXllcihjbGllbnQpCisgICAgLCBtX2NvbnRlbnRzTGF5ZXJQdXJw
b3NlKE5vQ29udGVudHNMYXllcikKICAgICAsIG1fdW5jb21taXR0ZWRDaGFuZ2VzKDApCiB7CiAg
ICAgLy8gQ2x1dHRlclJlY3RhbmdsZSB3aWxsIGJlIHVzZWQgdG8gc2hvdyB0aGUgZGVidWcgYm9y
ZGVyLgpAQCAtMzAzLDYgKzMwNCwxMSBAQCBHcmFwaGljc0xheWVyQ2x1dHRlcjo6fkdyYXBoaWNz
TGF5ZXJDbHV0dGVyKCkKICAgICAgICAgZ3JhcGhpY3NMYXllckFjdG9yU2V0Q2xpZW50KG1fc3Ry
dWN0dXJhbExheWVyLmdldCgpLCAwKTsKICAgICAgICAgZ19pZGxlX2FkZChpZGxlRGVzdHJveSwg
bV9zdHJ1Y3R1cmFsTGF5ZXIubGVha1JlZigpKTsKICAgICB9CisKKyAgICBpZiAobV9jb250ZW50
c0xheWVyKSB7CisgICAgICAgIGdyYXBoaWNzTGF5ZXJBY3RvclNldENsaWVudChtX2NvbnRlbnRz
TGF5ZXIuZ2V0KCksIDApOworICAgICAgICBnX2lkbGVfYWRkKGlkbGVEZXN0cm95LCBtX2NvbnRl
bnRzTGF5ZXIubGVha1JlZigpKTsKKyAgICB9CiB9CiAKIHZvaWQgR3JhcGhpY3NMYXllckNsdXR0
ZXI6OnNldE5hbWUoY29uc3QgU3RyaW5nJiBuYW1lKQpAQCAtNDE3LDYgKzQyMyw0MyBAQCB2b2lk
IEdyYXBoaWNzTGF5ZXJDbHV0dGVyOjpzZXREcmF3c0NvbnRlbnQoYm9vbCBkcmF3c0NvbnRlbnQp
CiAgICAgbm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkKERyYXdzQ29udGVudENoYW5nZWQpOwogfQog
CisKK3ZvaWQgR3JhcGhpY3NMYXllckNsdXR0ZXI6OnNldENvbnRlbnRzVG9JbWFnZShJbWFnZSog
aW1hZ2UpCit7CisgICAgaWYgKGltYWdlKSB7CisgICAgICAgIFJlZlB0cjxjYWlyb19zdXJmYWNl
X3Q+IG5ld0ltYWdlID0gaW1hZ2UtPm5hdGl2ZUltYWdlRm9yQ3VycmVudEZyYW1lKCk7CisgICAg
ICAgIGlmICghbmV3SW1hZ2UpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgbV9wZW5k
aW5nQ29udGVudHNJbWFnZSA9IG5ld0ltYWdlOworCisgICAgICAgIG1fY29udGVudHNMYXllclB1
cnBvc2UgPSBDb250ZW50c0xheWVyRm9ySW1hZ2U7CisgICAgICAgIGlmICghbV9jb250ZW50c0xh
eWVyKQorICAgICAgICAgICAgbm90ZVN1YmxheWVyc0NoYW5nZWQoKTsKKyAgICB9IGVsc2Ugewor
ICAgICAgICBtX3BlbmRpbmdDb250ZW50c0ltYWdlID0gMDsKKyAgICAgICAgbV9jb250ZW50c0xh
eWVyUHVycG9zZSA9IE5vQ29udGVudHNMYXllcjsKKyAgICAgICAgaWYgKG1fY29udGVudHNMYXll
cikKKyAgICAgICAgICAgIG5vdGVTdWJsYXllcnNDaGFuZ2VkKCk7CisgICAgfQorCisgICAgbm90
ZUxheWVyUHJvcGVydHlDaGFuZ2VkKENvbnRlbnRzSW1hZ2VDaGFuZ2VkKTsKK30KKwordm9pZCBH
cmFwaGljc0xheWVyQ2x1dHRlcjo6c2V0Q29udGVudHNOZWVkc0Rpc3BsYXkoKQoreworICAgIG5v
dGVMYXllclByb3BlcnR5Q2hhbmdlZChDb250ZW50c05lZWRzRGlzcGxheSk7Cit9CisKK3ZvaWQg
R3JhcGhpY3NMYXllckNsdXR0ZXI6OnNldENvbnRlbnRzUmVjdChjb25zdCBJbnRSZWN0JiByZWN0
KQoreworICAgIGlmIChyZWN0ID09IG1fY29udGVudHNSZWN0KQorICAgICAgICByZXR1cm47CisK
KyAgICBHcmFwaGljc0xheWVyOjpzZXRDb250ZW50c1JlY3QocmVjdCk7CisgICAgbm90ZUxheWVy
UHJvcGVydHlDaGFuZ2VkKENvbnRlbnRzUmVjdENoYW5nZWQpOworfQorCiB2b2lkIEdyYXBoaWNz
TGF5ZXJDbHV0dGVyOjpzZXRQYXJlbnQoR3JhcGhpY3NMYXllciogY2hpbGRMYXllcikKIHsKICAg
ICBub3RJbXBsZW1lbnRlZCgpOwpAQCAtNjQyLDYgKzY4NSwxNSBAQCB2b2lkIEdyYXBoaWNzTGF5
ZXJDbHV0dGVyOjpjb21taXRMYXllckNoYW5nZXNCZWZvcmVTdWJsYXllcnMoZmxvYXQgcGFnZVNj
YWxlRmFjdAogICAgIGlmIChtX3VuY29tbWl0dGVkQ2hhbmdlcyAmIFByZXNlcnZlczNEQ2hhbmdl
ZCkKICAgICAgICAgdXBkYXRlU3RydWN0dXJhbExheWVyKCk7CiAKKyAgICBpZiAobV91bmNvbW1p
dHRlZENoYW5nZXMgJiBOYW1lQ2hhbmdlZCkKKyAgICAgICAgdXBkYXRlTGF5ZXJOYW1lcygpOwor
CisgICAgaWYgKG1fdW5jb21taXR0ZWRDaGFuZ2VzICYgQ29udGVudHNJbWFnZUNoYW5nZWQpIC8v
IE5lZWRzIHRvIGhhcHBlbiBiZWZvcmUgQ2hpbGRyZW5DaGFuZ2VkCisgICAgICAgIHVwZGF0ZUNv
bnRlbnRzSW1hZ2UoKTsKKworICAgIGlmIChtX3VuY29tbWl0dGVkQ2hhbmdlcyAmIENoaWxkcmVu
Q2hhbmdlZCkKKyAgICAgICAgdXBkYXRlU3VibGF5ZXJMaXN0KCk7CisKICAgICBpZiAobV91bmNv
bW1pdHRlZENoYW5nZXMgJiBHZW9tZXRyeUNoYW5nZWQpCiAgICAgICAgIHVwZGF0ZUdlb21ldHJ5
KHBhZ2VTY2FsZUZhY3RvciwgcG9zaXRpb25SZWxhdGl2ZVRvQmFzZSk7CiAKQEAgLTY2Myw2ICs3
MTUsMTIgQEAgdm9pZCBHcmFwaGljc0xheWVyQ2x1dHRlcjo6Y29tbWl0TGF5ZXJDaGFuZ2VzQmVm
b3JlU3VibGF5ZXJzKGZsb2F0IHBhZ2VTY2FsZUZhY3QKICAgICBpZiAobV91bmNvbW1pdHRlZENo
YW5nZXMgJiBEaXJ0eVJlY3RzQ2hhbmdlZCkKICAgICAgICAgcmVwYWludExheWVyRGlydHlSZWN0
cygpOwogCisgICAgaWYgKG1fdW5jb21taXR0ZWRDaGFuZ2VzICYgQ29udGVudHNSZWN0Q2hhbmdl
ZCkKKyAgICAgICAgdXBkYXRlQ29udGVudHNSZWN0KCk7CisKKyAgICBpZiAobV91bmNvbW1pdHRl
ZENoYW5nZXMgJiBDb250ZW50c05lZWRzRGlzcGxheSkKKyAgICAgICAgdXBkYXRlQ29udGVudHNO
ZWVkc0Rpc3BsYXkoKTsKKwogICAgIGlmIChtX3VuY29tbWl0dGVkQ2hhbmdlcyAmIENoaWxkcmVu
Q2hhbmdlZCkgewogICAgICAgICB1cGRhdGVTdWJsYXllckxpc3QoKTsKICAgICAgICAgLy8gU3Vi
bGF5ZXJzIG1heSBzZXQgdGhpcyBmbGFnIGFnYWluLCBzbyBjbGVhciBpdCB0byBhdm9pZCBhbHdh
eXMgdXBkYXRpbmcgc3VibGF5ZXJzIGluIGNvbW1pdExheWVyQ2hhbmdlc0FmdGVyU3VibGF5ZXJz
KCkuCkBAIC02NzAsNiArNzI4LDUyIEBAIHZvaWQgR3JhcGhpY3NMYXllckNsdXR0ZXI6OmNvbW1p
dExheWVyQ2hhbmdlc0JlZm9yZVN1YmxheWVycyhmbG9hdCBwYWdlU2NhbGVGYWN0CiAgICAgfQog
fQogCit2b2lkIEdyYXBoaWNzTGF5ZXJDbHV0dGVyOjpzZXR1cENvbnRlbnRzTGF5ZXIoR3JhcGhp
Y3NMYXllckFjdG9yKiBjb250ZW50c0xheWVyKQoreworICAgIGdyYXBoaWNzTGF5ZXJBY3RvclNl
dEFuY2hvclBvaW50KGNvbnRlbnRzTGF5ZXIsIDAuMCwgMC4wLCAwLjApOworfQorCit2b2lkIEdy
YXBoaWNzTGF5ZXJDbHV0dGVyOjp1cGRhdGVDb250ZW50c0ltYWdlKCkKK3sKKyAgICBpZiAobV9w
ZW5kaW5nQ29udGVudHNJbWFnZSkgeworICAgICAgICBpZiAoIW1fY29udGVudHNMYXllcikgewor
ICAgICAgICAgICAgbV9jb250ZW50c0xheWVyID0gZ3JhcGhpY3NMYXllckFjdG9yTmV3V2l0aENs
aWVudChMYXllclR5cGVMYXllciwgdGhpcyk7CisjaWZuZGVmIE5ERUJVRworICAgICAgICAgICAg
Y2x1dHRlcl9hY3Rvcl9zZXRfbmFtZShDTFVUVEVSX0FDVE9SKG1fY29udGVudHNMYXllci5nZXQo
KSksICJJbWFnZSBMYXllciIpOworI2VuZGlmCisgICAgICAgICAgICBzZXR1cENvbnRlbnRzTGF5
ZXIobV9jb250ZW50c0xheWVyLmdldCgpKTsKKyAgICAgICAgfQorCisgICAgICAgIGdyYXBoaWNz
TGF5ZXJBY3RvclNldFN1cmZhY2UoR1JBUEhJQ1NfTEFZRVJfQUNUT1IobV9jb250ZW50c0xheWVy
LmdldCgpKSwgbV9wZW5kaW5nQ29udGVudHNJbWFnZS5nZXQoKSk7CisgICAgICAgIG1fcGVuZGlu
Z0NvbnRlbnRzSW1hZ2UgPSAwOworCisgICAgICAgIHVwZGF0ZUNvbnRlbnRzUmVjdCgpOworICAg
IH0gZWxzZSB7CisgICAgICAgIC8vIE5vIGltYWdlLgorICAgICAgICAvLyBtX2NvbnRlbnRzTGF5
ZXIgd2lsbCBiZSByZW1vdmVkIHZpYSB1cGRhdGVTdWJsYXllckxpc3QuCisgICAgICAgIG1fY29u
dGVudHNMYXllciA9IDA7CisgICAgfQorfQorCit2b2lkIEdyYXBoaWNzTGF5ZXJDbHV0dGVyOjp1
cGRhdGVDb250ZW50c05lZWRzRGlzcGxheSgpCit7CisgICAgaWYgKG1fY29udGVudHNMYXllcikK
KyAgICAgICAgZ3JhcGhpY3NMYXllckFjdG9ySW52YWxpZGF0ZVJlY3RhbmdsZShtX2NvbnRlbnRz
TGF5ZXIuZ2V0KCksIEZsb2F0UmVjdChGbG9hdFBvaW50KDAsIDApLCBzaXplKCkpKTsKK30KKwor
dm9pZCBHcmFwaGljc0xheWVyQ2x1dHRlcjo6dXBkYXRlQ29udGVudHNSZWN0KCkKK3sKKyAgICBp
ZiAoIW1fY29udGVudHNMYXllcikKKyAgICAgICAgcmV0dXJuOworCisgICAgRmxvYXRQb2ludCBw
b2ludChtX2NvbnRlbnRzUmVjdC54KCksIG1fY29udGVudHNSZWN0LnkoKSk7CisgICAgRmxvYXRS
ZWN0IHJlY3QoMCwgMCwgbV9jb250ZW50c1JlY3Qud2lkdGgoKSwgbV9jb250ZW50c1JlY3QuaGVp
Z2h0KCkpOworCisgICAgY2x1dHRlcl9hY3Rvcl9zZXRfcG9zaXRpb24oQ0xVVFRFUl9BQ1RPUiht
X2NvbnRlbnRzTGF5ZXIuZ2V0KCkpLCBwb2ludC54KCksIHBvaW50LnkoKSk7CisgICAgY2x1dHRl
cl9hY3Rvcl9zZXRfc2l6ZShDTFVUVEVSX0FDVE9SKG1fY29udGVudHNMYXllci5nZXQoKSksIHJl
Y3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSk7Cit9CisKKwogdm9pZCBHcmFwaGljc0xheWVyQ2x1
dHRlcjo6dXBkYXRlR2VvbWV0cnkoZmxvYXQgcGFnZVNjYWxlRmFjdG9yLCBjb25zdCBGbG9hdFBv
aW50JiBwb3NpdGlvblJlbGF0aXZlVG9CYXNlKQogewogICAgIC8vIEZJWE1FOiBOZWVkIHRvIHN1
cHBvcnQgcGFnZSBzY2FsaW5nLgpAQCAtNjk2LDYgKzgwMCw5IEBAIHZvaWQgR3JhcGhpY3NMYXll
ckNsdXR0ZXI6OnVwZGF0ZVN1YmxheWVyTGlzdCgpCiAgICAgaWYgKG1fc3RydWN0dXJhbExheWVy
KQogICAgICAgICBzdHJ1Y3R1cmFsTGF5ZXJDaGlsZHJlbi5hcHBlbmQobV9sYXllcik7CiAKKyAg
ICBpZiAobV9jb250ZW50c0xheWVyKQorICAgICAgICBwcmltYXJ5TGF5ZXJDaGlsZHJlbi5hcHBl
bmQobV9jb250ZW50c0xheWVyKTsKKwogICAgIGNvbnN0IFZlY3RvcjxHcmFwaGljc0xheWVyKj4m
IGNoaWxkTGF5ZXJzID0gY2hpbGRyZW4oKTsKICAgICBzaXplX3QgbnVtQ2hpbGRyZW4gPSBjaGls
ZExheWVycy5zaXplKCk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1DaGlsZHJlbjsg
KytpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jbHV0
dGVyL0dyYXBoaWNzTGF5ZXJDbHV0dGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jbHV0dGVyL0dyYXBoaWNzTGF5ZXJDbHV0dGVyLmgKaW5kZXggN2YzMGYxNDkxZTg1NDEz
MWExNmQ4NGZkYjk4Y2RjMDU2NjA5MmRmNS4uNjFmYzNmYjFjYmVlY2Y1NTVmYWM4MmZjZTZhZjBh
M2M1MzkyYjEzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2x1dHRlci9HcmFwaGljc0xheWVyQ2x1dHRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NsdXR0ZXIvR3JhcGhpY3NMYXllckNsdXR0ZXIuaApAQCAtMSw3ICsxLDcg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyIENvbGxhYm9yYSBMdGQuCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIwMTMgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTc4LDYgKzc4LDEy
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmFtZShjb25zdCBTdHJpbmcmKTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNEaXNwbGF5KCk7CiAgICAgdmlydHVhbCB2b2lkIHNldE5l
ZWRzRGlzcGxheUluUmVjdChjb25zdCBGbG9hdFJlY3QmKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0
Q29udGVudHNOZWVkc0Rpc3BsYXkoKTsKKworICAgIHZpcnR1YWwgdm9pZCBzZXRDb250ZW50c1Rv
SW1hZ2UoSW1hZ2UqKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udGVudHNSZWN0KGNvbnN0IElu
dFJlY3QmKTsKKworICAgIHZpcnR1YWwgYm9vbCBoYXNDb250ZW50c0xheWVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9jb250ZW50c0xheWVyOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0UHJlc2VydmVz
M0QoYm9vbCk7CiAKQEAgLTEwNyw2ICsxMTMsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgY29tbWl0
TGF5ZXJDaGFuZ2VzQWZ0ZXJTdWJsYXllcnMoKTsKIAogICAgIHZvaWQgdXBkYXRlT3BhY2l0eU9u
TGF5ZXIoKTsKKyAgICB2b2lkIHNldHVwQ29udGVudHNMYXllcihHcmFwaGljc0xheWVyQWN0b3Iq
KTsKKyAgICBHcmFwaGljc0xheWVyQWN0b3IqIGNvbnRlbnRzTGF5ZXIoKSBjb25zdCB7IHJldHVy
biBtX2NvbnRlbnRzTGF5ZXIuZ2V0KCk7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBwbGF0Zm9ybUNs
dXR0ZXJMYXllckFuaW1hdGlvblN0YXJ0ZWQoZG91YmxlIGJlZ2luVGltZSk7CiAgICAgdmlydHVh
bCB2b2lkIHBsYXRmb3JtQ2x1dHRlckxheWVyUGFpbnRDb250ZW50cyhHcmFwaGljc0NvbnRleHQm
LCBjb25zdCBJbnRSZWN0JiBjbGlwKTsKQEAgLTE4Miw3ICsxOTAsOSBAQCBwcml2YXRlOgogICAg
IHZvaWQgdXBkYXRlR2VvbWV0cnkoZmxvYXQgcGl4ZWxBbGlnbm1lbnRTY2FsZSwgY29uc3QgRmxv
YXRQb2ludCYgcG9zaXRpb25SZWxhdGl2ZVRvQmFzZSk7CiAgICAgdm9pZCB1cGRhdGVUcmFuc2Zv
cm0oKTsKICAgICB2b2lkIHVwZGF0ZUxheWVyRHJhd3NDb250ZW50KGZsb2F0IHBpeGVsQWxpZ25t
ZW50U2NhbGUsIGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9uUmVsYXRpdmVUb0Jhc2UpOwotCisg
ICAgdm9pZCB1cGRhdGVDb250ZW50c0ltYWdlKCk7CisgICAgdm9pZCB1cGRhdGVDb250ZW50c1Jl
Y3QoKTsKKyAgICB2b2lkIHVwZGF0ZUNvbnRlbnRzTmVlZHNEaXNwbGF5KCk7CiAgICAgdm9pZCB1
cGRhdGVBbmltYXRpb25zKCk7CiAKICAgICBlbnVtIFN0cnVjdHVyYWxMYXllclB1cnBvc2UgewpA
QCAtMTk3LDYgKzIwNywxOCBAQCBwcml2YXRlOgogCiAgICAgR1JlZlB0cjxHcmFwaGljc0xheWVy
QWN0b3I+IG1fbGF5ZXI7CiAgICAgR1JlZlB0cjxHcmFwaGljc0xheWVyQWN0b3I+IG1fc3RydWN0
dXJhbExheWVyOyAvLyBBIGxheWVyIHVzZWQgZm9yIHN0cnVjdHVyYWwgcmVhc29ucywgbGlrZSBw
cmVzZXJ2ZXMtM2Qgb3IgcmVwbGljYS1mbGF0dGVuaW5nLiBJcyB0aGUgcGFyZW50IG9mIG1fbGF5
ZXIuCisgICAgR1JlZlB0cjxHcmFwaGljc0xheWVyQWN0b3I+IG1fY29udGVudHNMYXllcjsgLy8g
QSBsYXllciB1c2VkIGZvciBpbm5lciBjb250ZW50LCBsaWtlIGltYWdlIGFuZCB2aWRlbworICAg
IGVudW0gQ29udGVudHNMYXllclB1cnBvc2UgeworICAgICAgICBOb0NvbnRlbnRzTGF5ZXIgPSAw
LAorICAgICAgICBDb250ZW50c0xheWVyRm9ySW1hZ2UsCisgICAgICAgIENvbnRlbnRzTGF5ZXJG
b3JNZWRpYSwKKyAgICAgICAgQ29udGVudHNMYXllckZvckNhbnZhcywKKyAgICAgICAgQ29udGVu
dHNMYXllckZvckJhY2tncm91bmRDb2xvcgorICAgIH07CisKKyAgICBDb250ZW50c0xheWVyUHVy
cG9zZSBtX2NvbnRlbnRzTGF5ZXJQdXJwb3NlOworICAgIC8vIEZJWE1FOiBOZWVkIHRvIHVzZSBS
ZXRhaW5QdHIKKyAgICBSZWZQdHI8Y2Fpcm9fc3VyZmFjZV90PiBtX3BlbmRpbmdDb250ZW50c0lt
YWdlOwogCiAgICAgVmVjdG9yPEZsb2F0UmVjdD4gbV9kaXJ0eVJlY3RzOwogICAgIExheWVyQ2hh
bmdlRmxhZ3MgbV91bmNvbW1pdHRlZENoYW5nZXM7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>197186</attachid>
            <date>2013-04-09 16:26:26 -0700</date>
            <delta_ts>2013-04-09 17:15:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113912-20130409162342.patch</filename>
            <type>text/plain</type>
            <size>10907</size>
            <attacher name="Joone Hur">joone</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ4MDQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTQ1MDNhZDE2Nzk4ODk1
YzUzZDg4NmI0NGIzYjgwYmIzODMyY2YxMS4uMTA4MjE2YjU2N2Y4OTE1YjgzOWQwMGEyMGQxYzFi
ZDBjMGYyZDZjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEzLTA0LTA5ICBKb29u
ZSBIdXIgIDxqb29uZS5odXJAaW50ZWwuY29tPgorCisgICAgICAgIFtHVEtdW0FDXSBBZGRpbmcg
Y29udGVudHNMYXllciBmb3IgaW1hZ2UgYW5kIHZpZGVvCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTM5MTIKKworICAgICAgICBSZXZpZXdlZCBieSBH
dXN0YXZvIE5vcm9uaGEgU2lsdmEuCisKKyAgICAgICAgY29udGVudHNMYXllciBpcyBhIENsdXR0
ZXJBY3Rvciwgd2hpY2ggaXMgYWRkZWQgdG8gdGhlIG1haW4gbGF5ZXIgCisgICAgICAgIGFzIGEg
Y2hpbGQgd2hlbiBHcmFwaGljc0xheWVyIG5lZWRzIHRvIHJlbmRlciBhbiBpbWFnZSBvciB2aWRl
by4gCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBhbHJlYWR5IGNvdmVyZWQgYnkgZXhpc3Rpbmcg
QUMgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jbHV0dGVyL0dyYXBoaWNz
TGF5ZXJBY3Rvci5jcHA6CisgICAgICAgIChncmFwaGljc0xheWVyQWN0b3JVcGRhdGVUZXh0dXJl
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jbHV0dGVyL0dyYXBoaWNzTGF5ZXJDbHV0
dGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDbHV0dGVyOjpHcmFwaGlj
c0xheWVyQ2x1dHRlcik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2x1dHRlcjo6
fkdyYXBoaWNzTGF5ZXJDbHV0dGVyKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NMYXllckNsdXR0ZXI6OnNldENvbnRlbnRzVG9JbWFnZSk6IFBhc3MgYSBD
YWlybyBzdXJmYWNlIHRvIEdyYXBoaWNzTGF5ZXIuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0xheWVyQ2x1dHRlcjo6c2V0Q29udGVudHNOZWVkc0Rpc3BsYXkpOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NMYXllckNsdXR0ZXI6OnNldENvbnRlbnRzUmVjdCk6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0xheWVyQ2x1dHRlcjo6Y29tbWl0TGF5ZXJDaGFuZ2VzQmVmb3JlU3VibGF5
ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDbHV0dGVyOjpzZXR1cENvbnRl
bnRzTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNsdXR0ZXI6OnVwZGF0
ZUNvbnRlbnRzSW1hZ2UpOiBTZXQgdGhlIENhaXJvIHN1cmZhY2UgZm9yIGNvbnRlbnRzTGF5ZXIg
CisgICAgICAgIHRvIHVwbG9hZCBpdCBhcyBhIHRleHR1cmUuCisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0xheWVyQ2x1dHRlcjo6dXBkYXRlQ29udGVudHNOZWVkc0Rpc3BsYXkpOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNsdXR0ZXI6OnVwZGF0ZUNvbnRlbnRzUmVjdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2x1dHRlcjo6dXBkYXRlU3VibGF5ZXJMaXN0
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jbHV0dGVyL0dyYXBoaWNzTGF5ZXJDbHV0
dGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2x1dHRlcjo6aGFzQ29udGVu
dHNMYXllcik6CisgICAgICAgIChHcmFwaGljc0xheWVyQ2x1dHRlcik6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0xheWVyQ2x1dHRlcjo6Y29udGVudHNMYXllcik6CisKIDIwMTMtMDQtMDkg
IENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogQm91
bmRpbmcgcGF0aHMgc2hvdWxkIGJlIG1hZGUgYXZhaWxhYmxlIHRocm91Z2ggYWNjZXNzaWJpbGl0
eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2x1dHRlci9H
cmFwaGljc0xheWVyQ2x1dHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jbHV0dGVyL0dyYXBoaWNzTGF5ZXJDbHV0dGVyLmNwcAppbmRleCAzMWIxN2RmMmMzNzNkYzQ4
NjBjZDliNzUwZjQ4NmFmYzlkYmEwNTc2Li43N2M3M2NmMWI2NjBmYTA5ODk3OWMzMDY5MmU2MTM4
M2IwNzQyYjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
bHV0dGVyL0dyYXBoaWNzTGF5ZXJDbHV0dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jbHV0dGVyL0dyYXBoaWNzTGF5ZXJDbHV0dGVyLmNwcApAQCAtMSw3ICsx
LDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDExLCAyMDEyLCAyMDEzIENvbGxhYm9yYSBMdGQu
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIsIDIwMTMgSW50ZWwgQ29ycG9yYXRpb24uIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI1
Miw2ICsyNTIsNyBAQCBQYXNzT3duUHRyPEdyYXBoaWNzTGF5ZXI+IEdyYXBoaWNzTGF5ZXI6OmNy
ZWF0ZShHcmFwaGljc0xheWVyQ2xpZW50KiBjbGllbnQpCiAKIEdyYXBoaWNzTGF5ZXJDbHV0dGVy
OjpHcmFwaGljc0xheWVyQ2x1dHRlcihHcmFwaGljc0xheWVyQ2xpZW50KiBjbGllbnQpCiAgICAg
OiBHcmFwaGljc0xheWVyKGNsaWVudCkKKyAgICAsIG1fY29udGVudHNMYXllclB1cnBvc2UoTm9D
b250ZW50c0xheWVyKQogICAgICwgbV91bmNvbW1pdHRlZENoYW5nZXMoMCkKIHsKICAgICAvLyBD
bHV0dGVyUmVjdGFuZ2xlIHdpbGwgYmUgdXNlZCB0byBzaG93IHRoZSBkZWJ1ZyBib3JkZXIuCkBA
IC0zMDMsNiArMzA0LDExIEBAIEdyYXBoaWNzTGF5ZXJDbHV0dGVyOjp+R3JhcGhpY3NMYXllckNs
dXR0ZXIoKQogICAgICAgICBncmFwaGljc0xheWVyQWN0b3JTZXRDbGllbnQobV9zdHJ1Y3R1cmFs
TGF5ZXIuZ2V0KCksIDApOwogICAgICAgICBnX2lkbGVfYWRkKGlkbGVEZXN0cm95LCBtX3N0cnVj
dHVyYWxMYXllci5sZWFrUmVmKCkpOwogICAgIH0KKworICAgIGlmIChtX2NvbnRlbnRzTGF5ZXIp
IHsKKyAgICAgICAgZ3JhcGhpY3NMYXllckFjdG9yU2V0Q2xpZW50KG1fY29udGVudHNMYXllci5n
ZXQoKSwgMCk7CisgICAgICAgIGdfaWRsZV9hZGQoaWRsZURlc3Ryb3ksIG1fY29udGVudHNMYXll
ci5sZWFrUmVmKCkpOworICAgIH0KIH0KIAogdm9pZCBHcmFwaGljc0xheWVyQ2x1dHRlcjo6c2V0
TmFtZShjb25zdCBTdHJpbmcmIG5hbWUpCkBAIC00MTcsNiArNDIzLDQzIEBAIHZvaWQgR3JhcGhp
Y3NMYXllckNsdXR0ZXI6OnNldERyYXdzQ29udGVudChib29sIGRyYXdzQ29udGVudCkKICAgICBu
b3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWQoRHJhd3NDb250ZW50Q2hhbmdlZCk7CiB9CiAKKwordm9p
ZCBHcmFwaGljc0xheWVyQ2x1dHRlcjo6c2V0Q29udGVudHNUb0ltYWdlKEltYWdlKiBpbWFnZSkK
K3sKKyAgICBpZiAoaW1hZ2UpIHsKKyAgICAgICAgUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gbmV3
SW1hZ2UgPSBpbWFnZS0+bmF0aXZlSW1hZ2VGb3JDdXJyZW50RnJhbWUoKTsKKyAgICAgICAgaWYg
KCFuZXdJbWFnZSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBtX3BlbmRpbmdDb250
ZW50c0ltYWdlID0gbmV3SW1hZ2U7CisKKyAgICAgICAgbV9jb250ZW50c0xheWVyUHVycG9zZSA9
IENvbnRlbnRzTGF5ZXJGb3JJbWFnZTsKKyAgICAgICAgaWYgKCFtX2NvbnRlbnRzTGF5ZXIpCisg
ICAgICAgICAgICBub3RlU3VibGF5ZXJzQ2hhbmdlZCgpOworICAgIH0gZWxzZSB7CisgICAgICAg
IG1fcGVuZGluZ0NvbnRlbnRzSW1hZ2UgPSAwOworICAgICAgICBtX2NvbnRlbnRzTGF5ZXJQdXJw
b3NlID0gTm9Db250ZW50c0xheWVyOworICAgICAgICBpZiAobV9jb250ZW50c0xheWVyKQorICAg
ICAgICAgICAgbm90ZVN1YmxheWVyc0NoYW5nZWQoKTsKKyAgICB9CisKKyAgICBub3RlTGF5ZXJQ
cm9wZXJ0eUNoYW5nZWQoQ29udGVudHNJbWFnZUNoYW5nZWQpOworfQorCit2b2lkIEdyYXBoaWNz
TGF5ZXJDbHV0dGVyOjpzZXRDb250ZW50c05lZWRzRGlzcGxheSgpCit7CisgICAgbm90ZUxheWVy
UHJvcGVydHlDaGFuZ2VkKENvbnRlbnRzTmVlZHNEaXNwbGF5KTsKK30KKwordm9pZCBHcmFwaGlj
c0xheWVyQ2x1dHRlcjo6c2V0Q29udGVudHNSZWN0KGNvbnN0IEludFJlY3QmIHJlY3QpCit7Cisg
ICAgaWYgKHJlY3QgPT0gbV9jb250ZW50c1JlY3QpCisgICAgICAgIHJldHVybjsKKworICAgIEdy
YXBoaWNzTGF5ZXI6OnNldENvbnRlbnRzUmVjdChyZWN0KTsKKyAgICBub3RlTGF5ZXJQcm9wZXJ0
eUNoYW5nZWQoQ29udGVudHNSZWN0Q2hhbmdlZCk7Cit9CisKIHZvaWQgR3JhcGhpY3NMYXllckNs
dXR0ZXI6OnNldFBhcmVudChHcmFwaGljc0xheWVyKiBjaGlsZExheWVyKQogewogICAgIG5vdElt
cGxlbWVudGVkKCk7CkBAIC02NDIsNiArNjg1LDE1IEBAIHZvaWQgR3JhcGhpY3NMYXllckNsdXR0
ZXI6OmNvbW1pdExheWVyQ2hhbmdlc0JlZm9yZVN1YmxheWVycyhmbG9hdCBwYWdlU2NhbGVGYWN0
CiAgICAgaWYgKG1fdW5jb21taXR0ZWRDaGFuZ2VzICYgUHJlc2VydmVzM0RDaGFuZ2VkKQogICAg
ICAgICB1cGRhdGVTdHJ1Y3R1cmFsTGF5ZXIoKTsKIAorICAgIGlmIChtX3VuY29tbWl0dGVkQ2hh
bmdlcyAmIE5hbWVDaGFuZ2VkKQorICAgICAgICB1cGRhdGVMYXllck5hbWVzKCk7CisKKyAgICBp
ZiAobV91bmNvbW1pdHRlZENoYW5nZXMgJiBDb250ZW50c0ltYWdlQ2hhbmdlZCkgLy8gTmVlZHMg
dG8gaGFwcGVuIGJlZm9yZSBDaGlsZHJlbkNoYW5nZWQKKyAgICAgICAgdXBkYXRlQ29udGVudHNJ
bWFnZSgpOworCisgICAgaWYgKG1fdW5jb21taXR0ZWRDaGFuZ2VzICYgQ2hpbGRyZW5DaGFuZ2Vk
KQorICAgICAgICB1cGRhdGVTdWJsYXllckxpc3QoKTsKKwogICAgIGlmIChtX3VuY29tbWl0dGVk
Q2hhbmdlcyAmIEdlb21ldHJ5Q2hhbmdlZCkKICAgICAgICAgdXBkYXRlR2VvbWV0cnkocGFnZVNj
YWxlRmFjdG9yLCBwb3NpdGlvblJlbGF0aXZlVG9CYXNlKTsKIApAQCAtNjYzLDYgKzcxNSwxMiBA
QCB2b2lkIEdyYXBoaWNzTGF5ZXJDbHV0dGVyOjpjb21taXRMYXllckNoYW5nZXNCZWZvcmVTdWJs
YXllcnMoZmxvYXQgcGFnZVNjYWxlRmFjdAogICAgIGlmIChtX3VuY29tbWl0dGVkQ2hhbmdlcyAm
IERpcnR5UmVjdHNDaGFuZ2VkKQogICAgICAgICByZXBhaW50TGF5ZXJEaXJ0eVJlY3RzKCk7CiAK
KyAgICBpZiAobV91bmNvbW1pdHRlZENoYW5nZXMgJiBDb250ZW50c1JlY3RDaGFuZ2VkKQorICAg
ICAgICB1cGRhdGVDb250ZW50c1JlY3QoKTsKKworICAgIGlmIChtX3VuY29tbWl0dGVkQ2hhbmdl
cyAmIENvbnRlbnRzTmVlZHNEaXNwbGF5KQorICAgICAgICB1cGRhdGVDb250ZW50c05lZWRzRGlz
cGxheSgpOworCiAgICAgaWYgKG1fdW5jb21taXR0ZWRDaGFuZ2VzICYgQ2hpbGRyZW5DaGFuZ2Vk
KSB7CiAgICAgICAgIHVwZGF0ZVN1YmxheWVyTGlzdCgpOwogICAgICAgICAvLyBTdWJsYXllcnMg
bWF5IHNldCB0aGlzIGZsYWcgYWdhaW4sIHNvIGNsZWFyIGl0IHRvIGF2b2lkIGFsd2F5cyB1cGRh
dGluZyBzdWJsYXllcnMgaW4gY29tbWl0TGF5ZXJDaGFuZ2VzQWZ0ZXJTdWJsYXllcnMoKS4KQEAg
LTY3MCw2ICs3MjgsNTAgQEAgdm9pZCBHcmFwaGljc0xheWVyQ2x1dHRlcjo6Y29tbWl0TGF5ZXJD
aGFuZ2VzQmVmb3JlU3VibGF5ZXJzKGZsb2F0IHBhZ2VTY2FsZUZhY3QKICAgICB9CiB9CiAKK3Zv
aWQgR3JhcGhpY3NMYXllckNsdXR0ZXI6OnNldHVwQ29udGVudHNMYXllcihHcmFwaGljc0xheWVy
QWN0b3IqIGNvbnRlbnRzTGF5ZXIpCit7CisgICAgZ3JhcGhpY3NMYXllckFjdG9yU2V0QW5jaG9y
UG9pbnQoY29udGVudHNMYXllciwgMC4wLCAwLjAsIDAuMCk7Cit9CisKK3ZvaWQgR3JhcGhpY3NM
YXllckNsdXR0ZXI6OnVwZGF0ZUNvbnRlbnRzSW1hZ2UoKQoreworICAgIGlmIChtX3BlbmRpbmdD
b250ZW50c0ltYWdlKSB7CisgICAgICAgIGlmICghbV9jb250ZW50c0xheWVyKSB7CisgICAgICAg
ICAgICBtX2NvbnRlbnRzTGF5ZXIgPSBncmFwaGljc0xheWVyQWN0b3JOZXdXaXRoQ2xpZW50KExh
eWVyVHlwZUxheWVyLCB0aGlzKTsKKyAgICAgICAgICAgIGNsdXR0ZXJfYWN0b3Jfc2V0X25hbWUo
Q0xVVFRFUl9BQ1RPUihtX2NvbnRlbnRzTGF5ZXIuZ2V0KCkpLCAiSW1hZ2UgTGF5ZXIiKTsKKyAg
ICAgICAgICAgIHNldHVwQ29udGVudHNMYXllcihtX2NvbnRlbnRzTGF5ZXIuZ2V0KCkpOworICAg
ICAgICB9CisKKyAgICAgICAgZ3JhcGhpY3NMYXllckFjdG9yU2V0U3VyZmFjZShHUkFQSElDU19M
QVlFUl9BQ1RPUihtX2NvbnRlbnRzTGF5ZXIuZ2V0KCkpLCBtX3BlbmRpbmdDb250ZW50c0ltYWdl
LmdldCgpKTsKKyAgICAgICAgbV9wZW5kaW5nQ29udGVudHNJbWFnZSA9IDA7CisKKyAgICAgICAg
dXBkYXRlQ29udGVudHNSZWN0KCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gTm8gaW1hZ2Uu
CisgICAgICAgIC8vIG1fY29udGVudHNMYXllciB3aWxsIGJlIHJlbW92ZWQgdmlhIHVwZGF0ZVN1
YmxheWVyTGlzdC4KKyAgICAgICAgbV9jb250ZW50c0xheWVyID0gMDsKKyAgICB9Cit9CisKK3Zv
aWQgR3JhcGhpY3NMYXllckNsdXR0ZXI6OnVwZGF0ZUNvbnRlbnRzTmVlZHNEaXNwbGF5KCkKK3sK
KyAgICBpZiAobV9jb250ZW50c0xheWVyKQorICAgICAgICBncmFwaGljc0xheWVyQWN0b3JJbnZh
bGlkYXRlUmVjdGFuZ2xlKG1fY29udGVudHNMYXllci5nZXQoKSwgRmxvYXRSZWN0KEZsb2F0UG9p
bnQoMCwgMCksIHNpemUoKSkpOworfQorCit2b2lkIEdyYXBoaWNzTGF5ZXJDbHV0dGVyOjp1cGRh
dGVDb250ZW50c1JlY3QoKQoreworICAgIGlmICghbV9jb250ZW50c0xheWVyKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBGbG9hdFBvaW50IHBvaW50KG1fY29udGVudHNSZWN0LngoKSwgbV9jb250
ZW50c1JlY3QueSgpKTsKKyAgICBGbG9hdFJlY3QgcmVjdCgwLCAwLCBtX2NvbnRlbnRzUmVjdC53
aWR0aCgpLCBtX2NvbnRlbnRzUmVjdC5oZWlnaHQoKSk7CisKKyAgICBjbHV0dGVyX2FjdG9yX3Nl
dF9wb3NpdGlvbihDTFVUVEVSX0FDVE9SKG1fY29udGVudHNMYXllci5nZXQoKSksIHBvaW50Lngo
KSwgcG9pbnQueSgpKTsKKyAgICBjbHV0dGVyX2FjdG9yX3NldF9zaXplKENMVVRURVJfQUNUT1Io
bV9jb250ZW50c0xheWVyLmdldCgpKSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpKTsKK30K
KworCiB2b2lkIEdyYXBoaWNzTGF5ZXJDbHV0dGVyOjp1cGRhdGVHZW9tZXRyeShmbG9hdCBwYWdl
U2NhbGVGYWN0b3IsIGNvbnN0IEZsb2F0UG9pbnQmIHBvc2l0aW9uUmVsYXRpdmVUb0Jhc2UpCiB7
CiAgICAgLy8gRklYTUU6IE5lZWQgdG8gc3VwcG9ydCBwYWdlIHNjYWxpbmcuCkBAIC02OTYsNiAr
Nzk4LDkgQEAgdm9pZCBHcmFwaGljc0xheWVyQ2x1dHRlcjo6dXBkYXRlU3VibGF5ZXJMaXN0KCkK
ICAgICBpZiAobV9zdHJ1Y3R1cmFsTGF5ZXIpCiAgICAgICAgIHN0cnVjdHVyYWxMYXllckNoaWxk
cmVuLmFwcGVuZChtX2xheWVyKTsKIAorICAgIGlmIChtX2NvbnRlbnRzTGF5ZXIpCisgICAgICAg
IHByaW1hcnlMYXllckNoaWxkcmVuLmFwcGVuZChtX2NvbnRlbnRzTGF5ZXIpOworCiAgICAgY29u
c3QgVmVjdG9yPEdyYXBoaWNzTGF5ZXIqPiYgY2hpbGRMYXllcnMgPSBjaGlsZHJlbigpOwogICAg
IHNpemVfdCBudW1DaGlsZHJlbiA9IGNoaWxkTGF5ZXJzLnNpemUoKTsKICAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IG51bUNoaWxkcmVuOyArK2kpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NsdXR0ZXIvR3JhcGhpY3NMYXllckNsdXR0ZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NsdXR0ZXIvR3JhcGhpY3NMYXllckNsdXR0
ZXIuaAppbmRleCA3ZjMwZjE0OTFlODU0MTMxYTE2ZDg0ZmRiOThjZGMwNTY2MDkyZGY1Li5lNGUy
NzUyYmE0YjM3ZmRhNDM1NGNjNGEzY2YwY2JjYTFjNTFjZjBkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jbHV0dGVyL0dyYXBoaWNzTGF5ZXJDbHV0dGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2x1dHRlci9HcmFwaGljc0xh
eWVyQ2x1dHRlci5oCkBAIC0xLDcgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEsIDIw
MTIgQ29sbGFib3JhIEx0ZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMiBJbnRlbCBDb3Jwb3JhdGlv
bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiwgMjAxMyBJbnRl
bCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtNzgsNiArNzgsMTIgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBz
ZXROYW1lKGNvbnN0IFN0cmluZyYpOwogICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc0Rpc3BsYXko
KTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNEaXNwbGF5SW5SZWN0KGNvbnN0IEZsb2F0UmVj
dCYpOworICAgIHZpcnR1YWwgdm9pZCBzZXRDb250ZW50c05lZWRzRGlzcGxheSgpOworCisgICAg
dmlydHVhbCB2b2lkIHNldENvbnRlbnRzVG9JbWFnZShJbWFnZSopOworICAgIHZpcnR1YWwgdm9p
ZCBzZXRDb250ZW50c1JlY3QoY29uc3QgSW50UmVjdCYpOworCisgICAgdmlydHVhbCBib29sIGhh
c0NvbnRlbnRzTGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2NvbnRlbnRzTGF5ZXI7IH0KIAogICAg
IHZpcnR1YWwgdm9pZCBzZXRQcmVzZXJ2ZXMzRChib29sKTsKIApAQCAtMTA3LDYgKzExMyw4IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBjb21taXRMYXllckNoYW5nZXNBZnRlclN1YmxheWVycygpOwog
CiAgICAgdm9pZCB1cGRhdGVPcGFjaXR5T25MYXllcigpOworICAgIHZvaWQgc2V0dXBDb250ZW50
c0xheWVyKEdyYXBoaWNzTGF5ZXJBY3RvciopOworICAgIEdyYXBoaWNzTGF5ZXJBY3RvciogY29u
dGVudHNMYXllcigpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudHNMYXllci5nZXQoKTsgfQogCiAg
ICAgdmlydHVhbCB2b2lkIHBsYXRmb3JtQ2x1dHRlckxheWVyQW5pbWF0aW9uU3RhcnRlZChkb3Vi
bGUgYmVnaW5UaW1lKTsKICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1DbHV0dGVyTGF5ZXJQYWlu
dENvbnRlbnRzKEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEludFJlY3QmIGNsaXApOwpAQCAtMTgy
LDcgKzE5MCw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVHZW9tZXRyeShmbG9hdCBwaXhl
bEFsaWdubWVudFNjYWxlLCBjb25zdCBGbG9hdFBvaW50JiBwb3NpdGlvblJlbGF0aXZlVG9CYXNl
KTsKICAgICB2b2lkIHVwZGF0ZVRyYW5zZm9ybSgpOwogICAgIHZvaWQgdXBkYXRlTGF5ZXJEcmF3
c0NvbnRlbnQoZmxvYXQgcGl4ZWxBbGlnbm1lbnRTY2FsZSwgY29uc3QgRmxvYXRQb2ludCYgcG9z
aXRpb25SZWxhdGl2ZVRvQmFzZSk7Ci0KKyAgICB2b2lkIHVwZGF0ZUNvbnRlbnRzSW1hZ2UoKTsK
KyAgICB2b2lkIHVwZGF0ZUNvbnRlbnRzUmVjdCgpOworICAgIHZvaWQgdXBkYXRlQ29udGVudHNO
ZWVkc0Rpc3BsYXkoKTsKICAgICB2b2lkIHVwZGF0ZUFuaW1hdGlvbnMoKTsKIAogICAgIGVudW0g
U3RydWN0dXJhbExheWVyUHVycG9zZSB7CkBAIC0xOTcsNiArMjA3LDE3IEBAIHByaXZhdGU6CiAK
ICAgICBHUmVmUHRyPEdyYXBoaWNzTGF5ZXJBY3Rvcj4gbV9sYXllcjsKICAgICBHUmVmUHRyPEdy
YXBoaWNzTGF5ZXJBY3Rvcj4gbV9zdHJ1Y3R1cmFsTGF5ZXI7IC8vIEEgbGF5ZXIgdXNlZCBmb3Ig
c3RydWN0dXJhbCByZWFzb25zLCBsaWtlIHByZXNlcnZlcy0zZCBvciByZXBsaWNhLWZsYXR0ZW5p
bmcuIElzIHRoZSBwYXJlbnQgb2YgbV9sYXllci4KKyAgICBHUmVmUHRyPEdyYXBoaWNzTGF5ZXJB
Y3Rvcj4gbV9jb250ZW50c0xheWVyOyAvLyBBIGxheWVyIHVzZWQgZm9yIGlubmVyIGNvbnRlbnQs
IGxpa2UgaW1hZ2UgYW5kIHZpZGVvCisgICAgZW51bSBDb250ZW50c0xheWVyUHVycG9zZSB7Cisg
ICAgICAgIE5vQ29udGVudHNMYXllciA9IDAsCisgICAgICAgIENvbnRlbnRzTGF5ZXJGb3JJbWFn
ZSwKKyAgICAgICAgQ29udGVudHNMYXllckZvck1lZGlhLAorICAgICAgICBDb250ZW50c0xheWVy
Rm9yQ2FudmFzLAorICAgICAgICBDb250ZW50c0xheWVyRm9yQmFja2dyb3VuZENvbG9yCisgICAg
fTsKKworICAgIENvbnRlbnRzTGF5ZXJQdXJwb3NlIG1fY29udGVudHNMYXllclB1cnBvc2U7Cisg
ICAgUmVmUHRyPGNhaXJvX3N1cmZhY2VfdD4gbV9wZW5kaW5nQ29udGVudHNJbWFnZTsKIAogICAg
IFZlY3RvcjxGbG9hdFJlY3Q+IG1fZGlydHlSZWN0czsKICAgICBMYXllckNoYW5nZUZsYWdzIG1f
dW5jb21taXR0ZWRDaGFuZ2VzOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>