<?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>153641</bug_id>
          
          <creation_ts>2016-01-28 21:52:58 -0800</creation_ts>
          <short_desc>[GStreamer] Use FakeSink to get a decoded texture from a pipeline</short_desc>
          <delta_ts>2016-05-18 08:18:24 -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>New Bugs</component>
          <version>WebKit 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="Gwang Yoon Hwang">yoon</reporter>
          <assigned_to name="Gwang Yoon Hwang">yoon</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>changseok</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>pnormand</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1160020</commentid>
    <comment_count>0</comment_count>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2016-01-28 21:52:58 -0800</bug_when>
    <thetext>[GStreamer] Use FakeSink to get a decoded texture from a pipeline</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160022</commentid>
    <comment_count>1</comment_count>
      <attachid>270183</attachid>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2016-01-28 21:54:31 -0800</bug_when>
    <thetext>Created attachment 270183
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160027</commentid>
    <comment_count>2</comment_count>
    <who name="ChangSeok Oh">changseok</who>
    <bug_when>2016-01-28 22:02:58 -0800</bug_when>
    <thetext>Interesting. Quick question : What version of gst is required to apply your patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160029</commentid>
    <comment_count>3</comment_count>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2016-01-28 22:07:25 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Interesting. Quick question : What version of gst is required to apply your
&gt; patch?

I didn&apos;t test it with 1.5.x but from the 1.6.x it should work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160050</commentid>
    <comment_count>4</comment_count>
      <attachid>270183</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-01-28 23:39:12 -0800</bug_when>
    <thetext>Comment on attachment 270183
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Using GstGLImageSink to use GStreamerGL brings a lot of overheads such as a

Relying on GstGLImageSink...   .... such as window handling

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:722
&gt; +        GstElement* upload = gst_element_factory_make(&quot;glupload&quot;, nullptr);
&gt; +        GstElement* colorconvert = gst_element_factory_make(&quot;glcolorconvert&quot;, nullptr);

These 2 might not be available at runtime if gst-plugins-bad isn&apos;t installed. So you need to check the return value of gst_element_factory_make()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160106</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-29 06:54:41 -0800</bug_when>
    <thetext>By the way, since ENABLE_GSTREAMER_GL is an experimental feature, it&apos;s totally fine to depend on whatever new version of GStreamer you want.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160842</commentid>
    <comment_count>6</comment_count>
      <attachid>270183</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-02-01 07:27:37 -0800</bug_when>
    <thetext>Comment on attachment 270183
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:742
&gt; +            gst_object_unref(videoSink);

A WARN_MEDIA_MESSAGE() (or LOG) would be good here I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164843</commentid>
    <comment_count>7</comment_count>
      <attachid>270183</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-02-15 13:09:34 -0800</bug_when>
    <thetext>Comment on attachment 270183
Patch

Please respond to Philippe&apos;s review comments :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1170566</commentid>
    <comment_count>8</comment_count>
      <attachid>272848</attachid>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2016-03-04 03:22:09 -0800</bug_when>
    <thetext>Created attachment 272848
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1170567</commentid>
    <comment_count>9</comment_count>
      <attachid>270183</attachid>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2016-03-04 03:29:05 -0800</bug_when>
    <thetext>Comment on attachment 270183
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:8
&gt;&gt; +        Using GstGLImageSink to use GStreamerGL brings a lot of overheads such as a
&gt; 
&gt; Relying on GstGLImageSink...   .... such as window handling

Thanks! I updated it. :)

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:722
&gt;&gt; +        GstElement* colorconvert = gst_element_factory_make(&quot;glcolorconvert&quot;, nullptr);
&gt; 
&gt; These 2 might not be available at runtime if gst-plugins-bad isn&apos;t installed. So you need to check the return value of gst_element_factory_make()

I split this code blocks into new method which is dedicated to create a videoSink using GstGL and FakeSink.
And added checks and logs as your comment.
It looks much cleaner for me. :)

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:742
&gt;&gt; +            gst_object_unref(videoSink);
&gt; 
&gt; A WARN_MEDIA_MESSAGE() (or LOG) would be good here I think.

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1193080</commentid>
    <comment_count>10</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-05-14 08:18:07 -0700</bug_when>
    <thetext>Yoon, do you remember exactly what are the glimagesink bottlenecks we&apos;re hitting?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1194129</commentid>
    <comment_count>11</comment_count>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2016-05-17 20:08:07 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Yoon, do you remember exactly what are the glimagesink bottlenecks we&apos;re
&gt; hitting?

Because we are using our own compositor, most of logics inside of glimagesink is not suitable for our use cases.

1. glimagesink uses its window backend to schedule the redrawing the video frame, but it is efficient to use our compositor&apos;s scheduler directly.
2. glimagesink holds two texture to switch the video frame, but it will be done by our platform layer proxies. ( So we will hold almost 3 textures.)
3. glimagesink tried to create its own window when we create/delete the video element rapidly. (If I remember correctly about this scenario). And It looks a bit hard to fix at that time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1194130</commentid>
    <comment_count>12</comment_count>
      <attachid>279204</attachid>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2016-05-17 20:12:37 -0700</bug_when>
    <thetext>Created attachment 279204
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1194213</commentid>
    <comment_count>13</comment_count>
      <attachid>279232</attachid>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2016-05-18 04:19:36 -0700</bug_when>
    <thetext>Created attachment 279232
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1194214</commentid>
    <comment_count>14</comment_count>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2016-05-18 04:20:11 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; Created attachment 279232 [details]
&gt; Patch

Bump the gst-gl version to 1.8.0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1194215</commentid>
    <comment_count>15</comment_count>
      <attachid>279232</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-05-18 04:27:48 -0700</bug_when>
    <thetext>Comment on attachment 279232
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:94
&gt; +#define GST_WEBKIT_VIDEO_FORMATS &quot;{ RGBA }&quot; \
&gt; +
&gt; +#define GST_WEBKIT_VIDEO_CAPS \
&gt; +    &quot;video/x-raw(&quot; GST_CAPS_FEATURE_MEMORY_GL_MEMORY &quot;), &quot;              \
&gt; +    &quot;format = (string) &quot; GST_WEBKIT_VIDEO_FORMATS &quot;, &quot;                  \
&gt; +    &quot;width = &quot; GST_VIDEO_SIZE_RANGE &quot;, &quot;                                \
&gt; +    &quot;height = &quot; GST_VIDEO_SIZE_RANGE &quot;, &quot;                               \
&gt; +    &quot;framerate = &quot; GST_VIDEO_FPS_RANGE

This can be moved to the place where the caps are created and no need for a define.

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:724
&gt; +    GstElement* videoSink = gst_bin_new(&quot;gstglsinkbin&quot;);

Please rename this bin to avoid confusions with glimagesink internals.

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:770
&gt; +    m_videoSink = createVideoSinkGL();

Shouldn&apos;t we also set videoSink ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1194229</commentid>
    <comment_count>16</comment_count>
      <attachid>279232</attachid>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2016-05-18 06:15:05 -0700</bug_when>
    <thetext>Comment on attachment 279232
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:94
&gt;&gt; +    &quot;framerate = &quot; GST_VIDEO_FPS_RANGE
&gt; 
&gt; This can be moved to the place where the caps are created and no need for a define.

Okay I&apos;ll do it.

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:724
&gt;&gt; +    GstElement* videoSink = gst_bin_new(&quot;gstglsinkbin&quot;);
&gt; 
&gt; Please rename this bin to avoid confusions with glimagesink internals.

Do you have any recommendation?
I&apos;m thinking to use &quot;webkitsinkbin&quot; as a name.

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:770
&gt;&gt; +    m_videoSink = createVideoSinkGL();
&gt; 
&gt; Shouldn&apos;t we also set videoSink ?

We don&apos;t have to. videoSink will be a m_videoSink or m_fpsSink (if we have fpsSink)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1194236</commentid>
    <comment_count>17</comment_count>
      <attachid>279232</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-05-18 06:37:26 -0700</bug_when>
    <thetext>Comment on attachment 279232
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:724
&gt;&gt;&gt; +    GstElement* videoSink = gst_bin_new(&quot;gstglsinkbin&quot;);
&gt;&gt; 
&gt;&gt; Please rename this bin to avoid confusions with glimagesink internals.
&gt; 
&gt; Do you have any recommendation?
&gt; I&apos;m thinking to use &quot;webkitsinkbin&quot; as a name.

The name doesn&apos;t seem strictly needed, so use nullptr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1194237</commentid>
    <comment_count>18</comment_count>
      <attachid>279232</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-05-18 06:40:32 -0700</bug_when>
    <thetext>Comment on attachment 279232
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:724
&gt;&gt;&gt;&gt; +    GstElement* videoSink = gst_bin_new(&quot;gstglsinkbin&quot;);
&gt;&gt;&gt; 
&gt;&gt;&gt; Please rename this bin to avoid confusions with glimagesink internals.
&gt;&gt; 
&gt;&gt; Do you have any recommendation?
&gt;&gt; I&apos;m thinking to use &quot;webkitsinkbin&quot; as a name.
&gt; 
&gt; The name doesn&apos;t seem strictly needed, so use nullptr.

Ah well, having a name is nice though when dumping the pipeline graph :) webkitsinkbin sgtm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1194239</commentid>
    <comment_count>19</comment_count>
      <attachid>279244</attachid>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2016-05-18 06:44:12 -0700</bug_when>
    <thetext>Created attachment 279244
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1194240</commentid>
    <comment_count>20</comment_count>
      <attachid>279244</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2016-05-18 06:50:27 -0700</bug_when>
    <thetext>Comment on attachment 279244
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:735
&gt; +    GRefPtr&lt;GstCaps&gt; caps = adoptGRef(gst_caps_from_string(&quot;video/x-raw(&quot; GST_CAPS_FEATURE_MEMORY_GL_MEMORY &quot;),&quot; &quot;format = (string) { RGBA }&quot;));

nit: &quot;),&quot; &quot;format...&quot; -&gt; &quot;), format....&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1194242</commentid>
    <comment_count>21</comment_count>
      <attachid>279246</attachid>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2016-05-18 06:59:45 -0700</bug_when>
    <thetext>Created attachment 279246
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1194245</commentid>
    <comment_count>22</comment_count>
      <attachid>279246</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-18 07:29:43 -0700</bug_when>
    <thetext>Comment on attachment 279246
Patch

Clearing flags on attachment: 279246

Committed r201076: &lt;http://trac.webkit.org/changeset/201076&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1194265</commentid>
    <comment_count>23</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-05-18 08:18:24 -0700</bug_when>
    <thetext>RESOLVED -&gt; FIXED?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270183</attachid>
            <date>2016-01-28 21:54:31 -0800</date>
            <delta_ts>2016-03-04 03:22:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-153641-20160129145405.patch</filename>
            <type>text/plain</type>
            <size>8657</size>
            <attacher name="Gwang Yoon Hwang">yoon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1NzkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzdmYTBjOTIwZDQ4ZDNk
NmM0ZGI2YTFjZjRhYTQ0YmIyMGRkZmM2MC4uYjAwNWU4ZWZlZGJkMGMwYTM2NzA4YjAzZjAzNWM3
YjQ1NGI4ZTU3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE2LTAxLTI4ICBHd2Fu
ZyBZb29uIEh3YW5nICA8eW9vbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHU3RyZWFtZXJdIFVz
ZSBGYWtlU2luayB0byBnZXQgYSBkZWNvZGVkIHRleHR1cmUgZnJvbSBhIHBpcGVsaW5lCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM2NDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2luZyBHc3RHTElt
YWdlU2luayB0byB1c2UgR1N0cmVhbWVyR0wgYnJpbmdzIGEgbG90IG9mIG92ZXJoZWFkcyBzdWNo
IGFzIGEKKyAgICAgICAgd2luZG93IGhhbmRsaW5nLCBjb250ZXh0IHN3aXRjaGluZyBhbmQgb3Zl
cmxheSBoYW5kbGluZyB3aGljaCBhcmUgbm90IG5lZWRlZCBpbgorICAgICAgICBvdXIgY2FzZS4K
KworICAgICAgICBUaGlzIHBhdGNoIHJlcGxhY2VzIEdzdEdMSW1hZ2VTaW5rIHdpdGggYSBjdXN0
b20gR3N0QmluIHdoaWNoIGhhcyBhCisgICAgICAgIEdzdEdMVXBsb2FkLCBHc3RHTENvbG9yQ29u
dmVydCwgYW5kIEdzdEZha2VTaW5rLgorCisgICAgICAgIEdzdEZha2VTaW5rIHNlbmRzIGRlY29k
ZWQgZnJhbWVzIHZpYSBoYW5kb2ZmIHNpZ25hbCBmcm9tIHRoZSB2cXVldWUgdGhyZWFkIG9mCisg
ICAgICAgIEdTdHJlYW1lci4gUHJldmlvdXNseSwgIEdzdEdMSW1hZ2VTaW5rIHBhc3NlcyBmcmFt
ZXMgdGhyb3VnaCBHU3RyZWFtZXIncyBHTAorICAgICAgICB0aHJlYWQsIHdoaWNoIGFkZHMgYWRk
aXRpb25hbCBvdmVyaGVhZC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkdzdFZpZGVvRnJhbWVIb2xkZXI6On5Hc3RWaWRlb0ZyYW1lSG9sZGVyKTogTW9kaWZpZWQgdG8K
KyAgICAgICAgdW5tYXAgR3N0VmlkZW9GcmFtZSB3aXRob3V0IGFzeW5jIGNhbGwuIEdzdEdMTWVt
b3J5IHdpbGwgdW5tYXAgaXRzZWxmCisgICAgICAgIGluIGdsLXRocmVhZC4KKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmRyYXdDYWxsYmFjayk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpjcmVhdGVW
aWRlb1NpbmspOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
QmFzZTo6cGFpbnQpOiBSZW1vdmUgYXNzZXJ0aW9uCisgICAgICAgIGZvciB0aGUgdGhyZWFkZWQg
Y29tcG9zaXRvci4gSXQgY2FuIGJlIGNhbGxlZCBieSBmb2N1c2luZyBldmVudC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
QmFzZS5oOgorCiAyMDE2LTAxLTI4ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBUYWIgc3VzcGVuc2lvbiBjb2RlIGhpdHMgYXNzZXJ0cwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCmluZGV4IDQyODAz
OGMwODBmMmQxMzFmMzU5NjNhYThiZDZjZjA2ZDE1M2M0ZTcuLjRlMWZkYzg2M2Q0N2QzYTgzMzM3
NDJkNDA1MGFlYjg3NDk0ZjcyYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKQEAgLTg0LDYgKzg0LDE1IEBACiAjaW5jbHVkZSA8
Y2Fpcm8tZ2wuaD4KICNlbmRpZgogCisjZGVmaW5lIEdTVF9XRUJLSVRfVklERU9fRk9STUFUUyAi
eyBSR0JBIH0iIFwKKworI2RlZmluZSBHU1RfV0VCS0lUX1ZJREVPX0NBUFMgXAorICAgICJ2aWRl
by94LXJhdygiIEdTVF9DQVBTX0ZFQVRVUkVfTUVNT1JZX0dMX01FTU9SWSAiKSwgIiAgICAgICAg
ICAgICAgXAorICAgICJmb3JtYXQgPSAoc3RyaW5nKSAiIEdTVF9XRUJLSVRfVklERU9fRk9STUFU
UyAiLCAiICAgICAgICAgICAgICAgICAgXAorICAgICJ3aWR0aCA9ICIgR1NUX1ZJREVPX1NJWkVf
UkFOR0UgIiwgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICJoZWlnaHQg
PSAiIEdTVF9WSURFT19TSVpFX1JBTkdFICIsICIgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICJmcmFtZXJhdGUgPSAiIEdTVF9WSURFT19GUFNfUkFOR0UKKwogR1NUX0RFQlVH
X0NBVEVHT1JZKHdlYmtpdF9tZWRpYV9wbGF5ZXJfZGVidWcpOwogI2RlZmluZSBHU1RfQ0FUX0RF
RkFVTFQgd2Via2l0X21lZGlhX3BsYXllcl9kZWJ1ZwogCkBAIC0xMTUsMTMgKzEyNCwxMCBAQCBw
dWJsaWM6CiAgICAgICAgIG1fZmxhZ3MgPSBHU1RfVklERU9fSU5GT19IQVNfQUxQSEEoJnZpZGVv
SW5mbykgPyBUZXh0dXJlTWFwcGVyR0w6OlNob3VsZEJsZW5kIDogMDsKIAogICAgICAgICBHc3RC
dWZmZXIqIGJ1ZmZlciA9IGdzdF9zYW1wbGVfZ2V0X2J1ZmZlcihzYW1wbGUpOwotICAgICAgICBt
X3ZpZGVvRnJhbWUgPSBuZXcgR3N0VmlkZW9GcmFtZSgpOwotICAgICAgICBpZiAoVU5MSUtFTFko
IWdzdF92aWRlb19mcmFtZV9tYXAobV92aWRlb0ZyYW1lLCAmdmlkZW9JbmZvLCBidWZmZXIsIHN0
YXRpY19jYXN0PEdzdE1hcEZsYWdzPihHU1RfTUFQX1JFQUQgfCBHU1RfTUFQX0dMKSkpKSB7Ci0g
ICAgICAgICAgICBkZWxldGUgbV92aWRlb0ZyYW1lOworICAgICAgICBpZiAoVU5MSUtFTFkoIWdz
dF92aWRlb19mcmFtZV9tYXAoJm1fdmlkZW9GcmFtZSwgJnZpZGVvSW5mbywgYnVmZmVyLCBzdGF0
aWNfY2FzdDxHc3RNYXBGbGFncz4oR1NUX01BUF9SRUFEIHwgR1NUX01BUF9HTCkpKSkKICAgICAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgfQogCi0gICAgICAgIG1fdGV4dHVyZUlEID0gKnJlaW50
ZXJwcmV0X2Nhc3Q8R0x1aW50Kj4obV92aWRlb0ZyYW1lLT5kYXRhWzBdKTsKKyAgICAgICAgbV90
ZXh0dXJlSUQgPSAqcmVpbnRlcnByZXRfY2FzdDxHTHVpbnQqPihtX3ZpZGVvRnJhbWUuZGF0YVsw
XSk7CiAgICAgICAgIG1faXNWYWxpZCA9IHRydWU7CiAgICAgfQogCkBAIC0xMzAsMjEgKzEzNiw3
IEBAIHB1YmxpYzoKICAgICAgICAgaWYgKFVOTElLRUxZKCFtX2lzVmFsaWQpKQogICAgICAgICAg
ICAgcmV0dXJuOwogCi0gICAgICAgIEdzdE1hcEluZm8qIGluZm8gPSAmbV92aWRlb0ZyYW1lLT5t
YXBbMF07Ci0gICAgICAgIEdzdEdMQmFzZUJ1ZmZlciogbWVtID0gKEdzdEdMQmFzZUJ1ZmZlciop
aW5mby0+bWVtb3J5OwotICAgICAgICBHc3RHTFdpbmRvdyogZ3N0V2luZG93ID0gZ3N0X2dsX2Nv
bnRleHRfZ2V0X3dpbmRvdyhtZW0tPmNvbnRleHQpOwotCi0gICAgICAgIGdzdF9nbF93aW5kb3df
c2VuZF9tZXNzYWdlX2FzeW5jKGdzdFdpbmRvdywgKEdzdEdMV2luZG93Q0IpdW5tYXBWaWRlb0Zy
YW1lQ2FsbGJhY2ssIG1fdmlkZW9GcmFtZSwgKEdEZXN0cm95Tm90aWZ5KWZyZWVWaWRlb0ZyYW1l
Q2FsbGJhY2spOwotICAgIH0KLQotICAgIHN0YXRpYyB2b2lkIHVubWFwVmlkZW9GcmFtZUNhbGxi
YWNrKEdzdFZpZGVvRnJhbWUqIHZpZGVvRnJhbWUpCi0gICAgewotICAgICAgICBnc3RfdmlkZW9f
ZnJhbWVfdW5tYXAodmlkZW9GcmFtZSk7Ci0gICAgfQotCi0gICAgc3RhdGljIHZvaWQgZnJlZVZp
ZGVvRnJhbWVDYWxsYmFjayhHc3RWaWRlb0ZyYW1lKiB2aWRlb0ZyYW1lKQotICAgIHsKLSAgICAg
ICAgZGVsZXRlIHZpZGVvRnJhbWU7CisgICAgICAgIGdzdF92aWRlb19mcmFtZV91bm1hcCgmbV92
aWRlb0ZyYW1lKTsKICAgICB9CiAKICAgICBjb25zdCBJbnRTaXplJiBzaXplKCkgY29uc3QgeyBy
ZXR1cm4gbV9zaXplOyB9CkBAIC0xNTMsNyArMTQ1LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNW
YWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNWYWxpZDsgfQogCiBwcml2YXRlOgotICAgIEdzdFZp
ZGVvRnJhbWUqIG1fdmlkZW9GcmFtZTsKKyAgICBHc3RWaWRlb0ZyYW1lIG1fdmlkZW9GcmFtZTsK
ICAgICBJbnRTaXplIG1fc2l6ZTsKICAgICBUZXh0dXJlTWFwcGVyR0w6OkZsYWdzIG1fZmxhZ3M7
CiAgICAgR0x1aW50IG1fdGV4dHVyZUlEOwpAQCAtMjI5LDcgKzIyMSw2IEBAIGJvb2wgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6aGFuZGxlU3luY01lc3NhZ2UoR3N0TWVzc2FnZSog
bWVzc2FnZSkKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKG1lc3NhZ2UpOwogI2VuZGlmIC8vIFVT
RShHU1RSRUFNRVJfR0wpCi0KICAgICByZXR1cm4gZmFsc2U7CiB9CiAKQEAgLTU3NSw5ICs1NjYs
MTMgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpyZXBhaW50Q2FsbGJh
Y2soTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWUKIH0KIAogI2lmIFVTRShHU1RSRUFNRVJfR0wp
Ci1nYm9vbGVhbiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpkcmF3Q2FsbGJhY2so
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSogcGxheWVyLCBHc3RHTENvbnRleHQqLCBH
c3RTYW1wbGUqIHNhbXBsZSkKK2dib29sZWFuIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2U6OmRyYXdDYWxsYmFjayhNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlKiBwbGF5ZXIs
IEdzdEJ1ZmZlciogYnVmZmVyLCBHc3RQYWQqIHBhZCwgR3N0QmFzZVNpbmsqIHNpbmspCiB7Ci0g
ICAgcGxheWVyLT50cmlnZ2VyUmVwYWludChzYW1wbGUpOworICAgIEdTVF9QQURfU1RSRUFNX0xP
Q0socGFkKTsKKyAgICBHUmVmUHRyPEdzdENhcHM+IGNhcHMgPSBhZG9wdEdSZWYoZ3N0X3BhZF9n
ZXRfY3VycmVudF9jYXBzKHBhZCkpOworICAgIEdSZWZQdHI8R3N0U2FtcGxlPiBzYW1wbGUgPSBh
ZG9wdEdSZWYoZ3N0X3NhbXBsZV9uZXcoYnVmZmVyLCBjYXBzLmdldCgpLCAmc2luay0+c2VnbWVu
dCwgTlVMTCkpOworICAgIEdTVF9QQURfU1RSRUFNX1VOTE9DSyhwYWQpOworICAgIHBsYXllci0+
dHJpZ2dlclJlcGFpbnQoc2FtcGxlLmdldCgpKTsKICAgICByZXR1cm4gVFJVRTsKIH0KICNlbmRp
ZgpAQCAtNTkwLDcgKzU4NSw2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFz
ZTo6c2V0U2l6ZShjb25zdCBJbnRTaXplJiBzaXplKQogdm9pZCBNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlOjpwYWludChHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZsb2F0
UmVjdCYgcmVjdCkKIHsKICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1NfVEhSRUFERUQpCi0g
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuOwogI2VsaWYgVVNFKFRFWFRVUkVf
TUFQUEVSX0dMKSAmJiAhVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogICAgIGlmIChjbGllbnQo
KSkKQEAgLTcyMiwxMCArNzE2LDMxIEBAIEdzdEVsZW1lbnQqIE1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lckJhc2U6OmNyZWF0ZVZpZGVvU2luaygpCiAgICAgR3N0RWxlbWVudCogdmlkZW9TaW5r
ID0gbnVsbHB0cjsKICNpZiBVU0UoR1NUUkVBTUVSX0dMKQogICAgIGlmICh3ZWJraXRHc3RDaGVj
a1ZlcnNpb24oMSwgNSwgMCkpIHsKLSAgICAgICAgbV92aWRlb1NpbmsgPSBnc3RfZWxlbWVudF9m
YWN0b3J5X21ha2UoImdsaW1hZ2VzaW5rIiwgbnVsbHB0cik7Ci0gICAgICAgIGlmIChtX3ZpZGVv
U2luaykgewotICAgICAgICAgICAgZ19zaWduYWxfY29ubmVjdF9zd2FwcGVkKG1fdmlkZW9TaW5r
LmdldCgpLCAiY2xpZW50LWRyYXciLCBHX0NBTExCQUNLKGRyYXdDYWxsYmFjayksIHRoaXMpOwot
ICAgICAgICAgICAgdmlkZW9TaW5rID0gbV92aWRlb1NpbmsuZ2V0KCk7CisgICAgICAgIGdib29s
ZWFuIHJlc3VsdCA9IFRSVUU7CisgICAgICAgIHZpZGVvU2luayA9IGdzdF9iaW5fbmV3KCJnc3Rn
bHNpbmtiaW4iKTsKKyAgICAgICAgR3N0RWxlbWVudCogdXBsb2FkID0gZ3N0X2VsZW1lbnRfZmFj
dG9yeV9tYWtlKCJnbHVwbG9hZCIsIG51bGxwdHIpOworICAgICAgICBHc3RFbGVtZW50KiBjb2xv
cmNvbnZlcnQgPSBnc3RfZWxlbWVudF9mYWN0b3J5X21ha2UoImdsY29sb3Jjb252ZXJ0IiwgbnVs
bHB0cik7CisgICAgICAgIEdzdEVsZW1lbnQqIGZha2VzaW5rID0gZ3N0X2VsZW1lbnRfZmFjdG9y
eV9tYWtlKCJmYWtlc2luayIsIG51bGxwdHIpOworCisgICAgICAgIGdzdF9iaW5fYWRkX21hbnko
R1NUX0JJTih2aWRlb1NpbmspLCB1cGxvYWQsIGNvbG9yY29udmVydCwgZmFrZXNpbmssIG51bGxw
dHIpOworCisgICAgICAgIEdSZWZQdHI8R3N0Q2Fwcz4gY2FwcyA9IGFkb3B0R1JlZihnc3RfY2Fw
c19mcm9tX3N0cmluZyhHU1RfV0VCS0lUX1ZJREVPX0NBUFMpKTsKKworICAgICAgICByZXN1bHQg
Jj0gZ3N0X2VsZW1lbnRfbGlua19wYWRzKHVwbG9hZCwgInNyYyIsIGNvbG9yY29udmVydCwgInNp
bmsiKTsKKyAgICAgICAgcmVzdWx0ICY9IGdzdF9lbGVtZW50X2xpbmtfcGFkc19maWx0ZXJlZChj
b2xvcmNvbnZlcnQsICJzcmMiLCBmYWtlc2luaywgInNpbmsiLCBjYXBzLmdldCgpKTsKKworICAg
ICAgICBHUmVmUHRyPEdzdFBhZD4gcGFkID0gYWRvcHRHUmVmKGdzdF9lbGVtZW50X2dldF9zdGF0
aWNfcGFkKHVwbG9hZCwgInNpbmsiKSk7CisgICAgICAgIGdzdF9lbGVtZW50X2FkZF9wYWQodmlk
ZW9TaW5rLCBnc3RfZ2hvc3RfcGFkX25ldygic2luayIsIHBhZC5nZXQoKSkpOworCisgICAgICAg
IHBhZCA9IGFkb3B0R1JlZihnc3RfZWxlbWVudF9nZXRfc3RhdGljX3BhZChmYWtlc2luaywgInNp
bmsiKSk7CisgICAgICAgIGdfb2JqZWN0X3NldChmYWtlc2luaywgImVuYWJsZS1sYXN0LXNhbXBs
ZSIsIEZBTFNFLCAic2lnbmFsLWhhbmRvZmZzIiwgVFJVRSwgInNpbGVudCIsIFRSVUUsICJzeW5j
IiwgVFJVRSwgbnVsbHB0cik7CisKKyAgICAgICAgaWYgKHJlc3VsdCkgeworICAgICAgICAgICAg
Z19zaWduYWxfY29ubmVjdF9zd2FwcGVkKGZha2VzaW5rLCAiaGFuZG9mZiIsIEdfQ0FMTEJBQ0so
ZHJhd0NhbGxiYWNrKSwgdGhpcyk7CisgICAgICAgICAgICBtX3ZpZGVvU2luayA9IHZpZGVvU2lu
azsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGdzdF9vYmplY3RfdW5yZWYodmlkZW9T
aW5rKTsKKyAgICAgICAgICAgIHZpZGVvU2luayA9IG51bGxwdHI7CiAgICAgICAgIH0KICAgICB9
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
QmFzZS5oCmluZGV4IGY1ZWEyMWQzNGFiYzcwZDIyNDIxMjk1Zjc0NGU2MmE0MDZjNDIzMDEuLjQ4
NjhjM2RlMmJiOGE2NmRmZTNmOWQ2MzYwNjkzOTFlMmNjYzI3NzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaApAQCAtMzksNiArMzksNyBA
QAogI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuaCIKICNlbmRpZgog
Cit0eXBlZGVmIHN0cnVjdCBfR3N0QmFzZVNpbmsgR3N0QmFzZVNpbms7CiB0eXBlZGVmIHN0cnVj
dCBfR3N0TWVzc2FnZSBHc3RNZXNzYWdlOwogdHlwZWRlZiBzdHJ1Y3QgX0dzdFN0cmVhbVZvbHVt
ZSBHc3RTdHJlYW1Wb2x1bWU7CiB0eXBlZGVmIHN0cnVjdCBfR3N0VmlkZW9JbmZvIEdzdFZpZGVv
SW5mbzsKQEAgLTEzOSw3ICsxNDAsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBzdGF0aWMgdm9pZCBy
ZXBhaW50Q2FsbGJhY2soTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSosIEdzdFNhbXBs
ZSopOwogI2lmIFVTRShHU1RSRUFNRVJfR0wpCi0gICAgc3RhdGljIGdib29sZWFuIGRyYXdDYWxs
YmFjayhNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlKiwgR3N0R0xDb250ZXh0KiwgR3N0
U2FtcGxlKik7CisgICAgc3RhdGljIGdib29sZWFuIGRyYXdDYWxsYmFjayhNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlKiwgR3N0QnVmZmVyKiwgR3N0UGFkKiwgR3N0QmFzZVNpbmsqKTsK
ICNlbmRpZgogCiAgICAgdm9pZCBub3RpZnlQbGF5ZXJPZlZvbHVtZUNoYW5nZSgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>272848</attachid>
            <date>2016-03-04 03:22:09 -0800</date>
            <delta_ts>2016-05-17 20:12:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-153641-20160304202154.patch</filename>
            <type>text/plain</type>
            <size>9471</size>
            <attacher name="Gwang Yoon Hwang">yoon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk3NTU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTVjMTNkNmIzNjc1MTll
MGY3ZDg4MjllYzQ5OWNlYzk3NDIzZjA4OS4uMmQ5ZTViZjM0YTRjYWE0MWQ2YWIwNTVhZTljMWUx
Mjg4NjA1OTMwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE2LTAxLTI4ICBHd2Fu
ZyBZb29uIEh3YW5nICA8eW9vbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHU3RyZWFtZXJdIFVz
ZSBGYWtlU2luayB0byBnZXQgYSBkZWNvZGVkIHRleHR1cmUgZnJvbSBhIHBpcGVsaW5lCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM2NDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWx5aW5nIG9uIEdz
dEdMSW1hZ2VTaW5rIHRvIHVzZSBHU3RyZWFtZXJHTCBicmluZ3MgYSBsb3Qgb2Ygb3ZlcmhlYWRz
IHN1Y2ggYXMKKyAgICAgICAgd2luZG93IGhhbmRsaW5nLCBjb250ZXh0IHN3aXRjaGluZyBhbmQg
b3ZlcmxheSBoYW5kbGluZyB3aGljaCBhcmUgbm90IG5lZWRlZCBpbgorICAgICAgICBvdXIgY2Fz
ZS4KKworICAgICAgICBUaGlzIHBhdGNoIHJlcGxhY2VzIEdzdEdMSW1hZ2VTaW5rIHdpdGggYSBj
dXN0b20gR3N0QmluIHdoaWNoIGhhcyBhCisgICAgICAgIEdzdEdMVXBsb2FkLCBHc3RHTENvbG9y
Q29udmVydCwgYW5kIEdzdEZha2VTaW5rLgorCisgICAgICAgIEdzdEZha2VTaW5rIHNlbmRzIGRl
Y29kZWQgZnJhbWVzIHZpYSBoYW5kb2ZmIHNpZ25hbCBmcm9tIHRoZSB2cXVldWUgdGhyZWFkIG9m
CisgICAgICAgIEdTdHJlYW1lci4gUHJldmlvdXNseSwgIEdzdEdMSW1hZ2VTaW5rIHBhc3NlcyBm
cmFtZXMgdGhyb3VnaCBHU3RyZWFtZXIncyBHTAorICAgICAgICB0aHJlYWQsIHdoaWNoIGFkZHMg
YWRkaXRpb25hbCBvdmVyaGVhZC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkdzdFZpZGVvRnJhbWVIb2xkZXI6On5Hc3RWaWRlb0ZyYW1lSG9sZGVyKTogTW9kaWZpZWQg
dG8KKyAgICAgICAgdW5tYXAgR3N0VmlkZW9GcmFtZSB3aXRob3V0IGFzeW5jIGNhbGwuIEdzdEdM
TWVtb3J5IHdpbGwgdW5tYXAgaXRzZWxmCisgICAgICAgIGluIGdsLXRocmVhZC4KKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmRyYXdDYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpjcmVh
dGVWaWRlb1NpbmspOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyQmFzZTo6cGFpbnQpOiBSZW1vdmUgYXNzZXJ0aW9uCisgICAgICAgIGZvciB0aGUgdGhyZWFk
ZWQgY29tcG9zaXRvci4gSXQgY2FuIGJlIGNhbGxlZCBieSBmb2N1c2luZyBldmVudC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyQmFzZS5oOgorCiAyMDE2LTAzLTAzICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNv
bT4KIAogICAgICAgICBDb21wb3NlZFRyZWVJdGVyYXRvciBtYXkgdHJhdmVyc2Ugc2xvdHRlZCBu
b2RlcyBtdWx0aXBsZSB0aW1lcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lckJhc2UuY3BwCmluZGV4IDQyODAzOGMwODBmMmQxMzFmMzU5NjNhYThiZDZj
ZjA2ZDE1M2M0ZTcuLmE2YzA4Njc0MmZiZWY5MWIxNDNjOTdlOWUyMTc5ZTBiMWUzNTBjNmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5j
cHAKQEAgLTg0LDYgKzg0LDE1IEBACiAjaW5jbHVkZSA8Y2Fpcm8tZ2wuaD4KICNlbmRpZgogCisj
ZGVmaW5lIEdTVF9XRUJLSVRfVklERU9fRk9STUFUUyAieyBSR0JBIH0iIFwKKworI2RlZmluZSBH
U1RfV0VCS0lUX1ZJREVPX0NBUFMgXAorICAgICJ2aWRlby94LXJhdygiIEdTVF9DQVBTX0ZFQVRV
UkVfTUVNT1JZX0dMX01FTU9SWSAiKSwgIiAgICAgICAgICAgICAgXAorICAgICJmb3JtYXQgPSAo
c3RyaW5nKSAiIEdTVF9XRUJLSVRfVklERU9fRk9STUFUUyAiLCAiICAgICAgICAgICAgICAgICAg
XAorICAgICJ3aWR0aCA9ICIgR1NUX1ZJREVPX1NJWkVfUkFOR0UgIiwgIiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICJoZWlnaHQgPSAiIEdTVF9WSURFT19TSVpFX1JBTkdF
ICIsICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICJmcmFtZXJhdGUgPSAi
IEdTVF9WSURFT19GUFNfUkFOR0UKKwogR1NUX0RFQlVHX0NBVEVHT1JZKHdlYmtpdF9tZWRpYV9w
bGF5ZXJfZGVidWcpOwogI2RlZmluZSBHU1RfQ0FUX0RFRkFVTFQgd2Via2l0X21lZGlhX3BsYXll
cl9kZWJ1ZwogCkBAIC0xMTUsMTMgKzEyNCwxMCBAQCBwdWJsaWM6CiAgICAgICAgIG1fZmxhZ3Mg
PSBHU1RfVklERU9fSU5GT19IQVNfQUxQSEEoJnZpZGVvSW5mbykgPyBUZXh0dXJlTWFwcGVyR0w6
OlNob3VsZEJsZW5kIDogMDsKIAogICAgICAgICBHc3RCdWZmZXIqIGJ1ZmZlciA9IGdzdF9zYW1w
bGVfZ2V0X2J1ZmZlcihzYW1wbGUpOwotICAgICAgICBtX3ZpZGVvRnJhbWUgPSBuZXcgR3N0Vmlk
ZW9GcmFtZSgpOwotICAgICAgICBpZiAoVU5MSUtFTFkoIWdzdF92aWRlb19mcmFtZV9tYXAobV92
aWRlb0ZyYW1lLCAmdmlkZW9JbmZvLCBidWZmZXIsIHN0YXRpY19jYXN0PEdzdE1hcEZsYWdzPihH
U1RfTUFQX1JFQUQgfCBHU1RfTUFQX0dMKSkpKSB7Ci0gICAgICAgICAgICBkZWxldGUgbV92aWRl
b0ZyYW1lOworICAgICAgICBpZiAoVU5MSUtFTFkoIWdzdF92aWRlb19mcmFtZV9tYXAoJm1fdmlk
ZW9GcmFtZSwgJnZpZGVvSW5mbywgYnVmZmVyLCBzdGF0aWNfY2FzdDxHc3RNYXBGbGFncz4oR1NU
X01BUF9SRUFEIHwgR1NUX01BUF9HTCkpKSkKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
fQogCi0gICAgICAgIG1fdGV4dHVyZUlEID0gKnJlaW50ZXJwcmV0X2Nhc3Q8R0x1aW50Kj4obV92
aWRlb0ZyYW1lLT5kYXRhWzBdKTsKKyAgICAgICAgbV90ZXh0dXJlSUQgPSAqcmVpbnRlcnByZXRf
Y2FzdDxHTHVpbnQqPihtX3ZpZGVvRnJhbWUuZGF0YVswXSk7CiAgICAgICAgIG1faXNWYWxpZCA9
IHRydWU7CiAgICAgfQogCkBAIC0xMzAsMjEgKzEzNiw3IEBAIHB1YmxpYzoKICAgICAgICAgaWYg
KFVOTElLRUxZKCFtX2lzVmFsaWQpKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIEdz
dE1hcEluZm8qIGluZm8gPSAmbV92aWRlb0ZyYW1lLT5tYXBbMF07Ci0gICAgICAgIEdzdEdMQmFz
ZUJ1ZmZlciogbWVtID0gKEdzdEdMQmFzZUJ1ZmZlciopaW5mby0+bWVtb3J5OwotICAgICAgICBH
c3RHTFdpbmRvdyogZ3N0V2luZG93ID0gZ3N0X2dsX2NvbnRleHRfZ2V0X3dpbmRvdyhtZW0tPmNv
bnRleHQpOwotCi0gICAgICAgIGdzdF9nbF93aW5kb3dfc2VuZF9tZXNzYWdlX2FzeW5jKGdzdFdp
bmRvdywgKEdzdEdMV2luZG93Q0IpdW5tYXBWaWRlb0ZyYW1lQ2FsbGJhY2ssIG1fdmlkZW9GcmFt
ZSwgKEdEZXN0cm95Tm90aWZ5KWZyZWVWaWRlb0ZyYW1lQ2FsbGJhY2spOwotICAgIH0KLQotICAg
IHN0YXRpYyB2b2lkIHVubWFwVmlkZW9GcmFtZUNhbGxiYWNrKEdzdFZpZGVvRnJhbWUqIHZpZGVv
RnJhbWUpCi0gICAgewotICAgICAgICBnc3RfdmlkZW9fZnJhbWVfdW5tYXAodmlkZW9GcmFtZSk7
Ci0gICAgfQotCi0gICAgc3RhdGljIHZvaWQgZnJlZVZpZGVvRnJhbWVDYWxsYmFjayhHc3RWaWRl
b0ZyYW1lKiB2aWRlb0ZyYW1lKQotICAgIHsKLSAgICAgICAgZGVsZXRlIHZpZGVvRnJhbWU7Cisg
ICAgICAgIGdzdF92aWRlb19mcmFtZV91bm1hcCgmbV92aWRlb0ZyYW1lKTsKICAgICB9CiAKICAg
ICBjb25zdCBJbnRTaXplJiBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9zaXplOyB9CkBAIC0xNTMs
NyArMTQ1LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1f
aXNWYWxpZDsgfQogCiBwcml2YXRlOgotICAgIEdzdFZpZGVvRnJhbWUqIG1fdmlkZW9GcmFtZTsK
KyAgICBHc3RWaWRlb0ZyYW1lIG1fdmlkZW9GcmFtZTsKICAgICBJbnRTaXplIG1fc2l6ZTsKICAg
ICBUZXh0dXJlTWFwcGVyR0w6OkZsYWdzIG1fZmxhZ3M7CiAgICAgR0x1aW50IG1fdGV4dHVyZUlE
OwpAQCAtNTc1LDkgKzU2NywxMyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2U6OnJlcGFpbnRDYWxsYmFjayhNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZQogfQogCiAjaWYg
VVNFKEdTVFJFQU1FUl9HTCkKLWdib29sZWFuIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2U6OmRyYXdDYWxsYmFjayhNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlKiBwbGF5ZXIs
IEdzdEdMQ29udGV4dCosIEdzdFNhbXBsZSogc2FtcGxlKQorZ2Jvb2xlYW4gTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyQmFzZTo6ZHJhd0NhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lckJhc2UqIHBsYXllciwgR3N0QnVmZmVyKiBidWZmZXIsIEdzdFBhZCogcGFkLCBHc3RCYXNl
U2luayogc2luaykKIHsKLSAgICBwbGF5ZXItPnRyaWdnZXJSZXBhaW50KHNhbXBsZSk7CisgICAg
R1NUX1BBRF9TVFJFQU1fTE9DSyhwYWQpOworICAgIEdSZWZQdHI8R3N0Q2Fwcz4gY2FwcyA9IGFk
b3B0R1JlZihnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMocGFkKSk7CisgICAgR1JlZlB0cjxHc3RT
YW1wbGU+IHNhbXBsZSA9IGFkb3B0R1JlZihnc3Rfc2FtcGxlX25ldyhidWZmZXIsIGNhcHMuZ2V0
KCksICZzaW5rLT5zZWdtZW50LCBOVUxMKSk7CisgICAgR1NUX1BBRF9TVFJFQU1fVU5MT0NLKHBh
ZCk7CisgICAgcGxheWVyLT50cmlnZ2VyUmVwYWludChzYW1wbGUuZ2V0KCkpOwogICAgIHJldHVy
biBUUlVFOwogfQogI2VuZGlmCkBAIC01OTAsNyArNTg2LDYgQEAgdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlOjpzZXRTaXplKGNvbnN0IEludFNpemUmIHNpemUpCiB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnBhaW50KEdyYXBoaWNzQ29udGV4dCYgY29u
dGV4dCwgY29uc3QgRmxvYXRSZWN0JiByZWN0KQogewogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQ
SElDU19USFJFQURFRCkKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm47CiAj
ZWxpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmICFVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1Mp
CiAgICAgaWYgKGNsaWVudCgpKQpAQCAtNzE3LDE3ICs3MTIsNjAgQEAgTWVkaWFQbGF5ZXI6Ok1v
dmllTG9hZFR5cGUgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6bW92aWVMb2FkVHlw
ZSgpIGNvbnMKICAgICByZXR1cm4gTWVkaWFQbGF5ZXI6OkRvd25sb2FkOwogfQogCisjaWYgVVNF
KEdTVFJFQU1FUl9HTCkKK0dzdEVsZW1lbnQqIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2U6OmNyZWF0ZVZpZGVvU2lua0dMKCkKK3sKKyAgICBpZiAoIXdlYmtpdEdzdENoZWNrVmVyc2lv
bigxLCA1LCAwKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBnYm9vbGVhbiByZXN1
bHQgPSBUUlVFOworICAgIEdzdEVsZW1lbnQqIHZpZGVvU2luayA9IGdzdF9iaW5fbmV3KCJnc3Rn
bHNpbmtiaW4iKTsKKyAgICBHc3RFbGVtZW50KiB1cGxvYWQgPSBnc3RfZWxlbWVudF9mYWN0b3J5
X21ha2UoImdsdXBsb2FkIiwgbnVsbHB0cik7CisgICAgR3N0RWxlbWVudCogY29sb3Jjb252ZXJ0
ID0gZ3N0X2VsZW1lbnRfZmFjdG9yeV9tYWtlKCJnbGNvbG9yY29udmVydCIsIG51bGxwdHIpOwor
CisgICAgaWYgKCF1cGxvYWQgfHwgIWNvbG9yY29udmVydCkgeworICAgICAgICBXQVJOX01FRElB
X01FU1NBR0UoIkZhaWxlZCB0byBjcmVhdGUgR3N0R0wgZWxlbWVudHMiKTsKKyAgICAgICAgZ3N0
X29iamVjdF91bnJlZih2aWRlb1NpbmspOworCisgICAgICAgIGlmICh1cGxvYWQpCisgICAgICAg
ICAgICBnc3Rfb2JqZWN0X3VucmVmKHVwbG9hZCk7CisgICAgICAgIGlmIChjb2xvcmNvbnZlcnQp
CisgICAgICAgICAgICBnc3Rfb2JqZWN0X3VucmVmKGNvbG9yY29udmVydCk7CisKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgR3N0RWxlbWVudCogZmFrZXNpbmsgPSBnc3Rf
ZWxlbWVudF9mYWN0b3J5X21ha2UoImZha2VzaW5rIiwgbnVsbHB0cik7CisKKyAgICBnc3RfYmlu
X2FkZF9tYW55KEdTVF9CSU4odmlkZW9TaW5rKSwgdXBsb2FkLCBjb2xvcmNvbnZlcnQsIGZha2Vz
aW5rLCBudWxscHRyKTsKKworICAgIEdSZWZQdHI8R3N0Q2Fwcz4gY2FwcyA9IGFkb3B0R1JlZihn
c3RfY2Fwc19mcm9tX3N0cmluZyhHU1RfV0VCS0lUX1ZJREVPX0NBUFMpKTsKKworICAgIHJlc3Vs
dCAmPSBnc3RfZWxlbWVudF9saW5rX3BhZHModXBsb2FkLCAic3JjIiwgY29sb3Jjb252ZXJ0LCAi
c2luayIpOworICAgIHJlc3VsdCAmPSBnc3RfZWxlbWVudF9saW5rX3BhZHNfZmlsdGVyZWQoY29s
b3Jjb252ZXJ0LCAic3JjIiwgZmFrZXNpbmssICJzaW5rIiwgY2Fwcy5nZXQoKSk7CisKKyAgICBH
UmVmUHRyPEdzdFBhZD4gcGFkID0gYWRvcHRHUmVmKGdzdF9lbGVtZW50X2dldF9zdGF0aWNfcGFk
KHVwbG9hZCwgInNpbmsiKSk7CisgICAgZ3N0X2VsZW1lbnRfYWRkX3BhZCh2aWRlb1NpbmssIGdz
dF9naG9zdF9wYWRfbmV3KCJzaW5rIiwgcGFkLmdldCgpKSk7CisKKyAgICBnX29iamVjdF9zZXQo
ZmFrZXNpbmssICJlbmFibGUtbGFzdC1zYW1wbGUiLCBGQUxTRSwgInNpZ25hbC1oYW5kb2ZmcyIs
IFRSVUUsICJzaWxlbnQiLCBUUlVFLCAic3luYyIsIFRSVUUsIG51bGxwdHIpOworCisgICAgaWYg
KHJlc3VsdCkKKyAgICAgICAgZ19zaWduYWxfY29ubmVjdF9zd2FwcGVkKGZha2VzaW5rLCAiaGFu
ZG9mZiIsIEdfQ0FMTEJBQ0soZHJhd0NhbGxiYWNrKSwgdGhpcyk7CisgICAgZWxzZSB7CisgICAg
ICAgIFdBUk5fTUVESUFfTUVTU0FHRSgiRmFpbGVkIHRvIGxpbmsgR3N0R0wgZWxlbWVudHMiKTsK
KyAgICAgICAgZ3N0X29iamVjdF91bnJlZih2aWRlb1NpbmspOworICAgICAgICB2aWRlb1Npbmsg
PSBudWxscHRyOworICAgIH0KKyAgICByZXR1cm4gdmlkZW9TaW5rOworfQorI2VuZGlmCisKIEdz
dEVsZW1lbnQqIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmNyZWF0ZVZpZGVvU2lu
aygpCiB7CiAgICAgR3N0RWxlbWVudCogdmlkZW9TaW5rID0gbnVsbHB0cjsKKwogI2lmIFVTRShH
U1RSRUFNRVJfR0wpCi0gICAgaWYgKHdlYmtpdEdzdENoZWNrVmVyc2lvbigxLCA1LCAwKSkgewot
ICAgICAgICBtX3ZpZGVvU2luayA9IGdzdF9lbGVtZW50X2ZhY3RvcnlfbWFrZSgiZ2xpbWFnZXNp
bmsiLCBudWxscHRyKTsKLSAgICAgICAgaWYgKG1fdmlkZW9TaW5rKSB7Ci0gICAgICAgICAgICBn
X3NpZ25hbF9jb25uZWN0X3N3YXBwZWQobV92aWRlb1NpbmsuZ2V0KCksICJjbGllbnQtZHJhdyIs
IEdfQ0FMTEJBQ0soZHJhd0NhbGxiYWNrKSwgdGhpcyk7Ci0gICAgICAgICAgICB2aWRlb1Npbmsg
PSBtX3ZpZGVvU2luay5nZXQoKTsKLSAgICAgICAgfQotICAgIH0KKyAgICBtX3ZpZGVvU2luayA9
IGNyZWF0ZVZpZGVvU2lua0dMKCk7CiAjZW5kaWYKIAogICAgIGlmICghbV92aWRlb1NpbmspIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oCmlu
ZGV4IGY1ZWEyMWQzNGFiYzcwZDIyNDIxMjk1Zjc0NGU2MmE0MDZjNDIzMDEuLjFjOGMzM2RkNzFj
ZDJmNDUyZjJmMGVjNTQ4YmUyZWQ3NjJjNGMxNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJC
YXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaApAQCAtMzksNiArMzksNyBAQAogI2luY2x1
ZGUgIlRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyUHJveHkuaCIKICNlbmRpZgogCit0eXBlZGVm
IHN0cnVjdCBfR3N0QmFzZVNpbmsgR3N0QmFzZVNpbms7CiB0eXBlZGVmIHN0cnVjdCBfR3N0TWVz
c2FnZSBHc3RNZXNzYWdlOwogdHlwZWRlZiBzdHJ1Y3QgX0dzdFN0cmVhbVZvbHVtZSBHc3RTdHJl
YW1Wb2x1bWU7CiB0eXBlZGVmIHN0cnVjdCBfR3N0VmlkZW9JbmZvIEdzdFZpZGVvSW5mbzsKQEAg
LTEyNiw2ICsxMjcsMTAgQEAgcHJvdGVjdGVkOgogICAgIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lckJhc2UoTWVkaWFQbGF5ZXIqKTsKICAgICB2aXJ0dWFsIEdzdEVsZW1lbnQqIGNyZWF0ZVZp
ZGVvU2luaygpOwogCisjaWYgVVNFKEdTVFJFQU1FUl9HTCkKKyAgICBHc3RFbGVtZW50KiBjcmVh
dGVWaWRlb1NpbmtHTCgpOworI2VuZGlmCisKICAgICB2b2lkIHNldFN0cmVhbVZvbHVtZUVsZW1l
bnQoR3N0U3RyZWFtVm9sdW1lKik7CiAgICAgdmlydHVhbCBHc3RFbGVtZW50KiBjcmVhdGVBdWRp
b1NpbmsoKSB7IHJldHVybiAwOyB9CiAgICAgdmlydHVhbCBHc3RFbGVtZW50KiBhdWRpb1Npbmso
KSBjb25zdCB7IHJldHVybiAwOyB9CkBAIC0xMzksNyArMTQ0LDcgQEAgcHJvdGVjdGVkOgogCiAg
ICAgc3RhdGljIHZvaWQgcmVwYWludENhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ckJhc2UqLCBHc3RTYW1wbGUqKTsKICNpZiBVU0UoR1NUUkVBTUVSX0dMKQotICAgIHN0YXRpYyBn
Ym9vbGVhbiBkcmF3Q2FsbGJhY2soTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSosIEdz
dEdMQ29udGV4dCosIEdzdFNhbXBsZSopOworICAgIHN0YXRpYyBnYm9vbGVhbiBkcmF3Q2FsbGJh
Y2soTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSosIEdzdEJ1ZmZlciosIEdzdFBhZCos
IEdzdEJhc2VTaW5rKik7CiAjZW5kaWYKIAogICAgIHZvaWQgbm90aWZ5UGxheWVyT2ZWb2x1bWVD
aGFuZ2UoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279204</attachid>
            <date>2016-05-17 20:12:37 -0700</date>
            <delta_ts>2016-05-18 04:19:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-153641-20160518121334.patch</filename>
            <type>text/plain</type>
            <size>9469</size>
            <attacher name="Gwang Yoon Hwang">yoon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxMDY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDJhYmE3NzE3ZDkwNDk2
MTU0MzJhMWRiNGVmYTk1YWRjYWZlNjQ3Ny4uMGIyMGM2ODgxMTYzYzk2MzFkODVmMzQ1YjY5YzQ1
N2FjZjQ4ODY1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE2LTAxLTI4ICBHd2Fu
ZyBZb29uIEh3YW5nICA8eW9vbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHU3RyZWFtZXJdIFVz
ZSBGYWtlU2luayB0byBnZXQgYSBkZWNvZGVkIHRleHR1cmUgZnJvbSBhIHBpcGVsaW5lCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM2NDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWx5aW5nIG9uIEdz
dEdMSW1hZ2VTaW5rIHRvIHVzZSBHU3RyZWFtZXJHTCBicmluZ3MgYSBsb3Qgb2Ygb3ZlcmhlYWRz
IHN1Y2ggYXMKKyAgICAgICAgd2luZG93IGhhbmRsaW5nLCBjb250ZXh0IHN3aXRjaGluZyBhbmQg
b3ZlcmxheSBoYW5kbGluZyB3aGljaCBhcmUgbm90IG5lZWRlZCBpbgorICAgICAgICBvdXIgY2Fz
ZS4KKworICAgICAgICBUaGlzIHBhdGNoIHJlcGxhY2VzIEdzdEdMSW1hZ2VTaW5rIHdpdGggYSBj
dXN0b20gR3N0QmluIHdoaWNoIGhhcyBhCisgICAgICAgIEdzdEdMVXBsb2FkLCBHc3RHTENvbG9y
Q29udmVydCwgYW5kIEdzdEZha2VTaW5rLgorCisgICAgICAgIEdzdEZha2VTaW5rIHNlbmRzIGRl
Y29kZWQgZnJhbWVzIHZpYSBoYW5kb2ZmIHNpZ25hbCBmcm9tIHRoZSB2cXVldWUgdGhyZWFkIG9m
CisgICAgICAgIEdTdHJlYW1lci4gUHJldmlvdXNseSwgIEdzdEdMSW1hZ2VTaW5rIHBhc3NlcyBm
cmFtZXMgdGhyb3VnaCBHU3RyZWFtZXIncyBHTAorICAgICAgICB0aHJlYWQsIHdoaWNoIGFkZHMg
YWRkaXRpb25hbCBvdmVyaGVhZC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkdzdFZpZGVvRnJhbWVIb2xkZXI6On5Hc3RWaWRlb0ZyYW1lSG9sZGVyKTogTW9kaWZpZWQg
dG8KKyAgICAgICAgdW5tYXAgR3N0VmlkZW9GcmFtZSB3aXRob3V0IGFzeW5jIGNhbGwuIEdzdEdM
TWVtb3J5IHdpbGwgdW5tYXAgaXRzZWxmCisgICAgICAgIGluIGdsLXRocmVhZC4KKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmRyYXdDYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpjcmVh
dGVWaWRlb1NpbmspOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyQmFzZTo6cGFpbnQpOiBSZW1vdmUgYXNzZXJ0aW9uCisgICAgICAgIGZvciB0aGUgdGhyZWFk
ZWQgY29tcG9zaXRvci4gSXQgY2FuIGJlIGNhbGxlZCBieSBmb2N1c2luZyBldmVudC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyQmFzZS5oOgorCiAyMDE2LTA1LTE3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgZml4IERhcmluJ3MgcG9zdC1tb3J0ZW0gcmV2aWV3IGNv
bW1lbnRzIGZvciByMjAxMDUyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lckJhc2UuY3BwCmluZGV4IDZiNjdkYWI5OGM3OTI5NzJmZDcwYTQ0YjIxNTVl
NWI4MjQ1N2M2NGEuLjFkNGY4MjUxYWFjMDg2YTY4Y2MwODFjZTA1Mjg0YzMyODYxNzllYjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRp
YVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5j
cHAKQEAgLTg0LDYgKzg0LDE1IEBACiAjaW5jbHVkZSA8Y2Fpcm8tZ2wuaD4KICNlbmRpZgogCisj
ZGVmaW5lIEdTVF9XRUJLSVRfVklERU9fRk9STUFUUyAieyBSR0JBIH0iIFwKKworI2RlZmluZSBH
U1RfV0VCS0lUX1ZJREVPX0NBUFMgXAorICAgICJ2aWRlby94LXJhdygiIEdTVF9DQVBTX0ZFQVRV
UkVfTUVNT1JZX0dMX01FTU9SWSAiKSwgIiAgICAgICAgICAgICAgXAorICAgICJmb3JtYXQgPSAo
c3RyaW5nKSAiIEdTVF9XRUJLSVRfVklERU9fRk9STUFUUyAiLCAiICAgICAgICAgICAgICAgICAg
XAorICAgICJ3aWR0aCA9ICIgR1NUX1ZJREVPX1NJWkVfUkFOR0UgIiwgIiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICJoZWlnaHQgPSAiIEdTVF9WSURFT19TSVpFX1JBTkdF
ICIsICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICJmcmFtZXJhdGUgPSAi
IEdTVF9WSURFT19GUFNfUkFOR0UKKwogR1NUX0RFQlVHX0NBVEVHT1JZKHdlYmtpdF9tZWRpYV9w
bGF5ZXJfZGVidWcpOwogI2RlZmluZSBHU1RfQ0FUX0RFRkFVTFQgd2Via2l0X21lZGlhX3BsYXll
cl9kZWJ1ZwogCkBAIC0xMTUsMTMgKzEyNCwxMCBAQCBwdWJsaWM6CiAgICAgICAgIG1fZmxhZ3Mg
PSBHU1RfVklERU9fSU5GT19IQVNfQUxQSEEoJnZpZGVvSW5mbykgPyBUZXh0dXJlTWFwcGVyR0w6
OlNob3VsZEJsZW5kIDogMDsKIAogICAgICAgICBHc3RCdWZmZXIqIGJ1ZmZlciA9IGdzdF9zYW1w
bGVfZ2V0X2J1ZmZlcihzYW1wbGUpOwotICAgICAgICBtX3ZpZGVvRnJhbWUgPSBuZXcgR3N0Vmlk
ZW9GcmFtZSgpOwotICAgICAgICBpZiAoVU5MSUtFTFkoIWdzdF92aWRlb19mcmFtZV9tYXAobV92
aWRlb0ZyYW1lLCAmdmlkZW9JbmZvLCBidWZmZXIsIHN0YXRpY19jYXN0PEdzdE1hcEZsYWdzPihH
U1RfTUFQX1JFQUQgfCBHU1RfTUFQX0dMKSkpKSB7Ci0gICAgICAgICAgICBkZWxldGUgbV92aWRl
b0ZyYW1lOworICAgICAgICBpZiAoVU5MSUtFTFkoIWdzdF92aWRlb19mcmFtZV9tYXAoJm1fdmlk
ZW9GcmFtZSwgJnZpZGVvSW5mbywgYnVmZmVyLCBzdGF0aWNfY2FzdDxHc3RNYXBGbGFncz4oR1NU
X01BUF9SRUFEIHwgR1NUX01BUF9HTCkpKSkKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
fQogCi0gICAgICAgIG1fdGV4dHVyZUlEID0gKnJlaW50ZXJwcmV0X2Nhc3Q8R0x1aW50Kj4obV92
aWRlb0ZyYW1lLT5kYXRhWzBdKTsKKyAgICAgICAgbV90ZXh0dXJlSUQgPSAqcmVpbnRlcnByZXRf
Y2FzdDxHTHVpbnQqPihtX3ZpZGVvRnJhbWUuZGF0YVswXSk7CiAgICAgICAgIG1faXNWYWxpZCA9
IHRydWU7CiAgICAgfQogCkBAIC0xMzAsMjEgKzEzNiw3IEBAIHB1YmxpYzoKICAgICAgICAgaWYg
KFVOTElLRUxZKCFtX2lzVmFsaWQpKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIEdz
dE1hcEluZm8qIGluZm8gPSAmbV92aWRlb0ZyYW1lLT5tYXBbMF07Ci0gICAgICAgIEdzdEdMQmFz
ZUJ1ZmZlciogbWVtID0gKEdzdEdMQmFzZUJ1ZmZlciopaW5mby0+bWVtb3J5OwotICAgICAgICBH
c3RHTFdpbmRvdyogZ3N0V2luZG93ID0gZ3N0X2dsX2NvbnRleHRfZ2V0X3dpbmRvdyhtZW0tPmNv
bnRleHQpOwotCi0gICAgICAgIGdzdF9nbF93aW5kb3dfc2VuZF9tZXNzYWdlX2FzeW5jKGdzdFdp
bmRvdywgKEdzdEdMV2luZG93Q0IpdW5tYXBWaWRlb0ZyYW1lQ2FsbGJhY2ssIG1fdmlkZW9GcmFt
ZSwgKEdEZXN0cm95Tm90aWZ5KWZyZWVWaWRlb0ZyYW1lQ2FsbGJhY2spOwotICAgIH0KLQotICAg
IHN0YXRpYyB2b2lkIHVubWFwVmlkZW9GcmFtZUNhbGxiYWNrKEdzdFZpZGVvRnJhbWUqIHZpZGVv
RnJhbWUpCi0gICAgewotICAgICAgICBnc3RfdmlkZW9fZnJhbWVfdW5tYXAodmlkZW9GcmFtZSk7
Ci0gICAgfQotCi0gICAgc3RhdGljIHZvaWQgZnJlZVZpZGVvRnJhbWVDYWxsYmFjayhHc3RWaWRl
b0ZyYW1lKiB2aWRlb0ZyYW1lKQotICAgIHsKLSAgICAgICAgZGVsZXRlIHZpZGVvRnJhbWU7Cisg
ICAgICAgIGdzdF92aWRlb19mcmFtZV91bm1hcCgmbV92aWRlb0ZyYW1lKTsKICAgICB9CiAKICAg
ICBjb25zdCBJbnRTaXplJiBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9zaXplOyB9CkBAIC0xNTMs
NyArMTQ1LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNWYWxpZCgpIGNvbnN0IHsgcmV0dXJuIG1f
aXNWYWxpZDsgfQogCiBwcml2YXRlOgotICAgIEdzdFZpZGVvRnJhbWUqIG1fdmlkZW9GcmFtZTsK
KyAgICBHc3RWaWRlb0ZyYW1lIG1fdmlkZW9GcmFtZTsKICAgICBJbnRTaXplIG1fc2l6ZTsKICAg
ICBUZXh0dXJlTWFwcGVyR0w6OkZsYWdzIG1fZmxhZ3M7CiAgICAgR0x1aW50IG1fdGV4dHVyZUlE
OwpAQCAtNTc3LDkgKzU2OSwxMyBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2U6OnJlcGFpbnRDYWxsYmFjayhNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZQogfQogCiAjaWYg
VVNFKEdTVFJFQU1FUl9HTCkKLWdib29sZWFuIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2U6OmRyYXdDYWxsYmFjayhNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlKiBwbGF5ZXIs
IEdzdEdMQ29udGV4dCosIEdzdFNhbXBsZSogc2FtcGxlKQorZ2Jvb2xlYW4gTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyQmFzZTo6ZHJhd0NhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lckJhc2UqIHBsYXllciwgR3N0QnVmZmVyKiBidWZmZXIsIEdzdFBhZCogcGFkLCBHc3RCYXNl
U2luayogc2luaykKIHsKLSAgICBwbGF5ZXItPnRyaWdnZXJSZXBhaW50KHNhbXBsZSk7CisgICAg
R1NUX1BBRF9TVFJFQU1fTE9DSyhwYWQpOworICAgIEdSZWZQdHI8R3N0Q2Fwcz4gY2FwcyA9IGFk
b3B0R1JlZihnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMocGFkKSk7CisgICAgR1JlZlB0cjxHc3RT
YW1wbGU+IHNhbXBsZSA9IGFkb3B0R1JlZihnc3Rfc2FtcGxlX25ldyhidWZmZXIsIGNhcHMuZ2V0
KCksICZzaW5rLT5zZWdtZW50LCBOVUxMKSk7CisgICAgR1NUX1BBRF9TVFJFQU1fVU5MT0NLKHBh
ZCk7CisgICAgcGxheWVyLT50cmlnZ2VyUmVwYWludChzYW1wbGUuZ2V0KCkpOwogICAgIHJldHVy
biBUUlVFOwogfQogI2VuZGlmCkBAIC01OTIsNyArNTg4LDYgQEAgdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlOjpzZXRTaXplKGNvbnN0IEludFNpemUmIHNpemUpCiB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnBhaW50KEdyYXBoaWNzQ29udGV4dCYgY29u
dGV4dCwgY29uc3QgRmxvYXRSZWN0JiByZWN0KQogewogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQ
SElDU19USFJFQURFRCkKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm47CiAj
ZWxpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmICFVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1Mp
CiAgICAgaWYgKGNsaWVudCgpKQpAQCAtNzE5LDE3ICs3MTQsNjAgQEAgTWVkaWFQbGF5ZXI6Ok1v
dmllTG9hZFR5cGUgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6bW92aWVMb2FkVHlw
ZSgpIGNvbnMKICAgICByZXR1cm4gTWVkaWFQbGF5ZXI6OkRvd25sb2FkOwogfQogCisjaWYgVVNF
KEdTVFJFQU1FUl9HTCkKK0dzdEVsZW1lbnQqIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2U6OmNyZWF0ZVZpZGVvU2lua0dMKCkKK3sKKyAgICBpZiAoIXdlYmtpdEdzdENoZWNrVmVyc2lv
bigxLCA1LCAwKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBnYm9vbGVhbiByZXN1
bHQgPSBUUlVFOworICAgIEdzdEVsZW1lbnQqIHZpZGVvU2luayA9IGdzdF9iaW5fbmV3KCJnc3Rn
bHNpbmtiaW4iKTsKKyAgICBHc3RFbGVtZW50KiB1cGxvYWQgPSBnc3RfZWxlbWVudF9mYWN0b3J5
X21ha2UoImdsdXBsb2FkIiwgbnVsbHB0cik7CisgICAgR3N0RWxlbWVudCogY29sb3Jjb252ZXJ0
ID0gZ3N0X2VsZW1lbnRfZmFjdG9yeV9tYWtlKCJnbGNvbG9yY29udmVydCIsIG51bGxwdHIpOwor
CisgICAgaWYgKCF1cGxvYWQgfHwgIWNvbG9yY29udmVydCkgeworICAgICAgICBXQVJOX01FRElB
X01FU1NBR0UoIkZhaWxlZCB0byBjcmVhdGUgR3N0R0wgZWxlbWVudHMiKTsKKyAgICAgICAgZ3N0
X29iamVjdF91bnJlZih2aWRlb1NpbmspOworCisgICAgICAgIGlmICh1cGxvYWQpCisgICAgICAg
ICAgICBnc3Rfb2JqZWN0X3VucmVmKHVwbG9hZCk7CisgICAgICAgIGlmIChjb2xvcmNvbnZlcnQp
CisgICAgICAgICAgICBnc3Rfb2JqZWN0X3VucmVmKGNvbG9yY29udmVydCk7CisKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgR3N0RWxlbWVudCogZmFrZXNpbmsgPSBnc3Rf
ZWxlbWVudF9mYWN0b3J5X21ha2UoImZha2VzaW5rIiwgbnVsbHB0cik7CisKKyAgICBnc3RfYmlu
X2FkZF9tYW55KEdTVF9CSU4odmlkZW9TaW5rKSwgdXBsb2FkLCBjb2xvcmNvbnZlcnQsIGZha2Vz
aW5rLCBudWxscHRyKTsKKworICAgIEdSZWZQdHI8R3N0Q2Fwcz4gY2FwcyA9IGFkb3B0R1JlZihn
c3RfY2Fwc19mcm9tX3N0cmluZyhHU1RfV0VCS0lUX1ZJREVPX0NBUFMpKTsKKworICAgIHJlc3Vs
dCAmPSBnc3RfZWxlbWVudF9saW5rX3BhZHModXBsb2FkLCAic3JjIiwgY29sb3Jjb252ZXJ0LCAi
c2luayIpOworICAgIHJlc3VsdCAmPSBnc3RfZWxlbWVudF9saW5rX3BhZHNfZmlsdGVyZWQoY29s
b3Jjb252ZXJ0LCAic3JjIiwgZmFrZXNpbmssICJzaW5rIiwgY2Fwcy5nZXQoKSk7CisKKyAgICBH
UmVmUHRyPEdzdFBhZD4gcGFkID0gYWRvcHRHUmVmKGdzdF9lbGVtZW50X2dldF9zdGF0aWNfcGFk
KHVwbG9hZCwgInNpbmsiKSk7CisgICAgZ3N0X2VsZW1lbnRfYWRkX3BhZCh2aWRlb1NpbmssIGdz
dF9naG9zdF9wYWRfbmV3KCJzaW5rIiwgcGFkLmdldCgpKSk7CisKKyAgICBnX29iamVjdF9zZXQo
ZmFrZXNpbmssICJlbmFibGUtbGFzdC1zYW1wbGUiLCBGQUxTRSwgInNpZ25hbC1oYW5kb2ZmcyIs
IFRSVUUsICJzaWxlbnQiLCBUUlVFLCAic3luYyIsIFRSVUUsIG51bGxwdHIpOworCisgICAgaWYg
KHJlc3VsdCkKKyAgICAgICAgZ19zaWduYWxfY29ubmVjdF9zd2FwcGVkKGZha2VzaW5rLCAiaGFu
ZG9mZiIsIEdfQ0FMTEJBQ0soZHJhd0NhbGxiYWNrKSwgdGhpcyk7CisgICAgZWxzZSB7CisgICAg
ICAgIFdBUk5fTUVESUFfTUVTU0FHRSgiRmFpbGVkIHRvIGxpbmsgR3N0R0wgZWxlbWVudHMiKTsK
KyAgICAgICAgZ3N0X29iamVjdF91bnJlZih2aWRlb1NpbmspOworICAgICAgICB2aWRlb1Npbmsg
PSBudWxscHRyOworICAgIH0KKyAgICByZXR1cm4gdmlkZW9TaW5rOworfQorI2VuZGlmCisKIEdz
dEVsZW1lbnQqIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmNyZWF0ZVZpZGVvU2lu
aygpCiB7CiAgICAgR3N0RWxlbWVudCogdmlkZW9TaW5rID0gbnVsbHB0cjsKKwogI2lmIFVTRShH
U1RSRUFNRVJfR0wpCi0gICAgaWYgKHdlYmtpdEdzdENoZWNrVmVyc2lvbigxLCA1LCAwKSkgewot
ICAgICAgICBtX3ZpZGVvU2luayA9IGdzdF9lbGVtZW50X2ZhY3RvcnlfbWFrZSgiZ2xpbWFnZXNp
bmsiLCBudWxscHRyKTsKLSAgICAgICAgaWYgKG1fdmlkZW9TaW5rKSB7Ci0gICAgICAgICAgICBn
X3NpZ25hbF9jb25uZWN0X3N3YXBwZWQobV92aWRlb1NpbmsuZ2V0KCksICJjbGllbnQtZHJhdyIs
IEdfQ0FMTEJBQ0soZHJhd0NhbGxiYWNrKSwgdGhpcyk7Ci0gICAgICAgICAgICB2aWRlb1Npbmsg
PSBtX3ZpZGVvU2luay5nZXQoKTsKLSAgICAgICAgfQotICAgIH0KKyAgICBtX3ZpZGVvU2luayA9
IGNyZWF0ZVZpZGVvU2lua0dMKCk7CiAjZW5kaWYKIAogICAgIGlmICghbV92aWRlb1NpbmspIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oCmlu
ZGV4IGIxZWVmMWQxNGRiMjQ0NTg3YjM4MjJhNTA2YzllYWYzOTQwNzg1MGQuLmI1MGFhMDE1ZmVm
YzYzMGQyNjJmNzBhMDJkM2JhMTNiNWU3M2M3NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJC
YXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KIAordHlwZWRlZiBz
dHJ1Y3QgX0dzdEJhc2VTaW5rIEdzdEJhc2VTaW5rOwogdHlwZWRlZiBzdHJ1Y3QgX0dzdE1lc3Nh
Z2UgR3N0TWVzc2FnZTsKIHR5cGVkZWYgc3RydWN0IF9Hc3RTdHJlYW1Wb2x1bWUgR3N0U3RyZWFt
Vm9sdW1lOwogdHlwZWRlZiBzdHJ1Y3QgX0dzdFZpZGVvSW5mbyBHc3RWaWRlb0luZm87CkBAIC0x
MjAsNiArMTIxLDEwIEBAIHByb3RlY3RlZDoKICAgICBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJCYXNlKE1lZGlhUGxheWVyKik7CiAgICAgdmlydHVhbCBHc3RFbGVtZW50KiBjcmVhdGVWaWRl
b1NpbmsoKTsKIAorI2lmIFVTRShHU1RSRUFNRVJfR0wpCisgICAgR3N0RWxlbWVudCogY3JlYXRl
VmlkZW9TaW5rR0woKTsKKyNlbmRpZgorCiAgICAgdm9pZCBzZXRTdHJlYW1Wb2x1bWVFbGVtZW50
KEdzdFN0cmVhbVZvbHVtZSopOwogICAgIHZpcnR1YWwgR3N0RWxlbWVudCogY3JlYXRlQXVkaW9T
aW5rKCkgeyByZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgR3N0RWxlbWVudCogYXVkaW9TaW5rKCkg
Y29uc3QgeyByZXR1cm4gMDsgfQpAQCAtMTMzLDcgKzEzOCw3IEBAIHByb3RlY3RlZDoKIAogICAg
IHN0YXRpYyB2b2lkIHJlcGFpbnRDYWxsYmFjayhNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJC
YXNlKiwgR3N0U2FtcGxlKik7CiAjaWYgVVNFKEdTVFJFQU1FUl9HTCkKLSAgICBzdGF0aWMgZ2Jv
b2xlYW4gZHJhd0NhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UqLCBHc3RH
TENvbnRleHQqLCBHc3RTYW1wbGUqKTsKKyAgICBzdGF0aWMgZ2Jvb2xlYW4gZHJhd0NhbGxiYWNr
KE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UqLCBHc3RCdWZmZXIqLCBHc3RQYWQqLCBH
c3RCYXNlU2luayopOwogI2VuZGlmCiAKICAgICB2b2lkIG5vdGlmeVBsYXllck9mVm9sdW1lQ2hh
bmdlKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279232</attachid>
            <date>2016-05-18 04:19:36 -0700</date>
            <delta_ts>2016-05-18 06:44:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-153641-20160518202033.patch</filename>
            <type>text/plain</type>
            <size>11057</size>
            <attacher name="Gwang Yoon Hwang">yoon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxMDY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDJhYmE3NzE3ZDkwNDk2
MTU0MzJhMWRiNGVmYTk1YWRjYWZlNjQ3Ny4uNDBmNzlmYmYyOWMwMGNmNDM2MzYzZmNjNDBkNjhj
YTk1M2U4YzNiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE2LTA1LTE4ICBHd2Fu
ZyBZb29uIEh3YW5nICA8eW9vbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHU3RyZWFtZXJdIFVz
ZSBGYWtlU2luayB0byBnZXQgYSBkZWNvZGVkIHRleHR1cmUgZnJvbSBhIHBpcGVsaW5lCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM2NDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWx5aW5nIG9uIEdz
dEdMSW1hZ2VTaW5rIHRvIHVzZSBHU3RyZWFtZXJHTCBicmluZ3MgYSBsb3Qgb2Ygb3ZlcmhlYWRz
IHN1Y2ggYXMKKyAgICAgICAgd2luZG93IGhhbmRsaW5nLCBjb250ZXh0IHN3aXRjaGluZyBhbmQg
b3ZlcmxheSBoYW5kbGluZyB3aGljaCBhcmUgbm90IG5lZWRlZCBpbgorICAgICAgICBvdXIgY2Fz
ZS4KKworICAgICAgICBUaGlzIHBhdGNoIHJlcGxhY2VzIEdzdEdMSW1hZ2VTaW5rIHdpdGggYSBj
dXN0b20gR3N0QmluIHdoaWNoIGhhcyBhCisgICAgICAgIEdzdEdMVXBsb2FkLCBHc3RHTENvbG9y
Q29udmVydCwgYW5kIEdzdEZha2VTaW5rLgorCisgICAgICAgIEdzdEZha2VTaW5rIHNlbmRzIGRl
Y29kZWQgZnJhbWVzIHZpYSBoYW5kb2ZmIHNpZ25hbCBmcm9tIHRoZSB2cXVldWUgdGhyZWFkIG9m
CisgICAgICAgIEdTdHJlYW1lci4gUHJldmlvdXNseSwgIEdzdEdMSW1hZ2VTaW5rIHBhc3NlcyBm
cmFtZXMgdGhyb3VnaCBHU3RyZWFtZXIncyBHTAorICAgICAgICB0aHJlYWQsIHdoaWNoIGFkZHMg
YWRkaXRpb25hbCBvdmVyaGVhZC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkdzdFZpZGVvRnJhbWVIb2xkZXI6On5Hc3RWaWRlb0ZyYW1lSG9sZGVyKTogTW9kaWZpZWQg
dG8KKyAgICAgICAgdW5tYXAgR3N0VmlkZW9GcmFtZSB3aXRob3V0IGFzeW5jIGNhbGwuIEdzdEdM
TWVtb3J5IHdpbGwgdW5tYXAgaXRzZWxmCisgICAgICAgIGluIGdsLXRocmVhZC4KKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmRyYXdDYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpjcmVh
dGVWaWRlb1NpbmtHTCk6IFNwbGl0CisgICAgICAgIG91dCBjcmVhdGluZyBvZiB0aGUgZ3N0LWds
IHZpZGVvIHNpbmsgaW50byB0aGUgc2VwYXJ0ZSBtZXRob2QuCisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpwYWludCk6IFJlbW92ZSBhc3NlcnRpb24K
KyAgICAgICAgZm9yIHRoZSB0aHJlYWRlZCBjb21wb3NpdG9yLiBJdCBjYW4gYmUgY2FsbGVkIGJ5
IGZvY3VzaW5nIGV2ZW50LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmg6CisKIDIwMTYtMDUtMTcgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBmaXggRGFyaW4n
cyBwb3N0LW1vcnRlbSByZXZpZXcgY29tbWVudHMgZm9yIHIyMDEwNTIuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKaW5kZXggNmI2N2Rh
Yjk4Yzc5Mjk3MmZkNzBhNDRiMjE1NWU1YjgyNDU3YzY0YS4uMjFkYmRmOGFiNmY4YjY5MDM3MTQ5
MjAwNmM2N2YyYjg2MjFiYWQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcApAQCAtODQsNiArODQsMTUgQEAKICNpbmNsdWRlIDxj
YWlyby1nbC5oPgogI2VuZGlmCiAKKyNkZWZpbmUgR1NUX1dFQktJVF9WSURFT19GT1JNQVRTICJ7
IFJHQkEgfSIgXAorCisjZGVmaW5lIEdTVF9XRUJLSVRfVklERU9fQ0FQUyBcCisgICAgInZpZGVv
L3gtcmF3KCIgR1NUX0NBUFNfRkVBVFVSRV9NRU1PUllfR0xfTUVNT1JZICIpLCAiICAgICAgICAg
ICAgICBcCisgICAgImZvcm1hdCA9IChzdHJpbmcpICIgR1NUX1dFQktJVF9WSURFT19GT1JNQVRT
ICIsICIgICAgICAgICAgICAgICAgICBcCisgICAgIndpZHRoID0gIiBHU1RfVklERU9fU0laRV9S
QU5HRSAiLCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgImhlaWdodCA9
ICIgR1NUX1ZJREVPX1NJWkVfUkFOR0UgIiwgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBcCisgICAgImZyYW1lcmF0ZSA9ICIgR1NUX1ZJREVPX0ZQU19SQU5HRQorCiBHU1RfREVCVUdf
Q0FURUdPUlkod2Via2l0X21lZGlhX3BsYXllcl9kZWJ1Zyk7CiAjZGVmaW5lIEdTVF9DQVRfREVG
QVVMVCB3ZWJraXRfbWVkaWFfcGxheWVyX2RlYnVnCiAKQEAgLTExNSwxMyArMTI0LDEwIEBAIHB1
YmxpYzoKICAgICAgICAgbV9mbGFncyA9IEdTVF9WSURFT19JTkZPX0hBU19BTFBIQSgmdmlkZW9J
bmZvKSA/IFRleHR1cmVNYXBwZXJHTDo6U2hvdWxkQmxlbmQgOiAwOwogCiAgICAgICAgIEdzdEJ1
ZmZlciogYnVmZmVyID0gZ3N0X3NhbXBsZV9nZXRfYnVmZmVyKHNhbXBsZSk7Ci0gICAgICAgIG1f
dmlkZW9GcmFtZSA9IG5ldyBHc3RWaWRlb0ZyYW1lKCk7Ci0gICAgICAgIGlmIChVTkxJS0VMWSgh
Z3N0X3ZpZGVvX2ZyYW1lX21hcChtX3ZpZGVvRnJhbWUsICZ2aWRlb0luZm8sIGJ1ZmZlciwgc3Rh
dGljX2Nhc3Q8R3N0TWFwRmxhZ3M+KEdTVF9NQVBfUkVBRCB8IEdTVF9NQVBfR0wpKSkpIHsKLSAg
ICAgICAgICAgIGRlbGV0ZSBtX3ZpZGVvRnJhbWU7CisgICAgICAgIGlmIChVTkxJS0VMWSghZ3N0
X3ZpZGVvX2ZyYW1lX21hcCgmbV92aWRlb0ZyYW1lLCAmdmlkZW9JbmZvLCBidWZmZXIsIHN0YXRp
Y19jYXN0PEdzdE1hcEZsYWdzPihHU1RfTUFQX1JFQUQgfCBHU1RfTUFQX0dMKSkpKQogICAgICAg
ICAgICAgcmV0dXJuOwotICAgICAgICB9CiAKLSAgICAgICAgbV90ZXh0dXJlSUQgPSAqcmVpbnRl
cnByZXRfY2FzdDxHTHVpbnQqPihtX3ZpZGVvRnJhbWUtPmRhdGFbMF0pOworICAgICAgICBtX3Rl
eHR1cmVJRCA9ICpyZWludGVycHJldF9jYXN0PEdMdWludCo+KG1fdmlkZW9GcmFtZS5kYXRhWzBd
KTsKICAgICAgICAgbV9pc1ZhbGlkID0gdHJ1ZTsKICAgICB9CiAKQEAgLTEzMCwyMSArMTM2LDcg
QEAgcHVibGljOgogICAgICAgICBpZiAoVU5MSUtFTFkoIW1faXNWYWxpZCkpCiAgICAgICAgICAg
ICByZXR1cm47CiAKLSAgICAgICAgR3N0TWFwSW5mbyogaW5mbyA9ICZtX3ZpZGVvRnJhbWUtPm1h
cFswXTsKLSAgICAgICAgR3N0R0xCYXNlQnVmZmVyKiBtZW0gPSAoR3N0R0xCYXNlQnVmZmVyKilp
bmZvLT5tZW1vcnk7Ci0gICAgICAgIEdzdEdMV2luZG93KiBnc3RXaW5kb3cgPSBnc3RfZ2xfY29u
dGV4dF9nZXRfd2luZG93KG1lbS0+Y29udGV4dCk7Ci0KLSAgICAgICAgZ3N0X2dsX3dpbmRvd19z
ZW5kX21lc3NhZ2VfYXN5bmMoZ3N0V2luZG93LCAoR3N0R0xXaW5kb3dDQil1bm1hcFZpZGVvRnJh
bWVDYWxsYmFjaywgbV92aWRlb0ZyYW1lLCAoR0Rlc3Ryb3lOb3RpZnkpZnJlZVZpZGVvRnJhbWVD
YWxsYmFjayk7Ci0gICAgfQotCi0gICAgc3RhdGljIHZvaWQgdW5tYXBWaWRlb0ZyYW1lQ2FsbGJh
Y2soR3N0VmlkZW9GcmFtZSogdmlkZW9GcmFtZSkKLSAgICB7Ci0gICAgICAgIGdzdF92aWRlb19m
cmFtZV91bm1hcCh2aWRlb0ZyYW1lKTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgdm9pZCBmcmVlVmlk
ZW9GcmFtZUNhbGxiYWNrKEdzdFZpZGVvRnJhbWUqIHZpZGVvRnJhbWUpCi0gICAgewotICAgICAg
ICBkZWxldGUgdmlkZW9GcmFtZTsKKyAgICAgICAgZ3N0X3ZpZGVvX2ZyYW1lX3VubWFwKCZtX3Zp
ZGVvRnJhbWUpOwogICAgIH0KIAogICAgIGNvbnN0IEludFNpemUmIHNpemUoKSBjb25zdCB7IHJl
dHVybiBtX3NpemU7IH0KQEAgLTE1Myw3ICsxNDUsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1Zh
bGlkKCkgY29uc3QgeyByZXR1cm4gbV9pc1ZhbGlkOyB9CiAKIHByaXZhdGU6Ci0gICAgR3N0Vmlk
ZW9GcmFtZSogbV92aWRlb0ZyYW1lOworICAgIEdzdFZpZGVvRnJhbWUgbV92aWRlb0ZyYW1lOwog
ICAgIEludFNpemUgbV9zaXplOwogICAgIFRleHR1cmVNYXBwZXJHTDo6RmxhZ3MgbV9mbGFnczsK
ICAgICBHTHVpbnQgbV90ZXh0dXJlSUQ7CkBAIC01NzcsOSArNTY5LDEzIEBAIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6cmVwYWludENhbGxiYWNrKE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lCiB9CiAKICNpZiBVU0UoR1NUUkVBTUVSX0dMKQotZ2Jvb2xlYW4gTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6ZHJhd0NhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lckJhc2UqIHBsYXllciwgR3N0R0xDb250ZXh0KiwgR3N0U2FtcGxlKiBzYW1wbGUp
CitnYm9vbGVhbiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpkcmF3Q2FsbGJhY2so
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSogcGxheWVyLCBHc3RCdWZmZXIqIGJ1ZmZl
ciwgR3N0UGFkKiBwYWQsIEdzdEJhc2VTaW5rKiBzaW5rKQogewotICAgIHBsYXllci0+dHJpZ2dl
clJlcGFpbnQoc2FtcGxlKTsKKyAgICBHU1RfUEFEX1NUUkVBTV9MT0NLKHBhZCk7CisgICAgR1Jl
ZlB0cjxHc3RDYXBzPiBjYXBzID0gYWRvcHRHUmVmKGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2Fwcyhw
YWQpKTsKKyAgICBHUmVmUHRyPEdzdFNhbXBsZT4gc2FtcGxlID0gYWRvcHRHUmVmKGdzdF9zYW1w
bGVfbmV3KGJ1ZmZlciwgY2Fwcy5nZXQoKSwgJnNpbmstPnNlZ21lbnQsIE5VTEwpKTsKKyAgICBH
U1RfUEFEX1NUUkVBTV9VTkxPQ0socGFkKTsKKyAgICBwbGF5ZXItPnRyaWdnZXJSZXBhaW50KHNh
bXBsZS5nZXQoKSk7CiAgICAgcmV0dXJuIFRSVUU7CiB9CiAjZW5kaWYKQEAgLTU5Miw3ICs1ODgs
NiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnNldFNpemUoY29uc3Qg
SW50U2l6ZSYgc2l6ZSkKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6cGFp
bnQoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiB7CiAj
aWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTX1RIUkVBREVEKQotICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgIHJldHVybjsKICNlbGlmIFVTRShURVhUVVJFX01BUFBFUl9HTCkgJiYgIVVT
RShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICBpZiAoY2xpZW50KCkpCkBAIC03MTksMTcgKzcx
NCw2MCBAQCBNZWRpYVBsYXllcjo6TW92aWVMb2FkVHlwZSBNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJCYXNlOjptb3ZpZUxvYWRUeXBlKCkgY29ucwogICAgIHJldHVybiBNZWRpYVBsYXllcjo6
RG93bmxvYWQ7CiB9CiAKKyNpZiBVU0UoR1NUUkVBTUVSX0dMKQorR3N0RWxlbWVudCogTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6Y3JlYXRlVmlkZW9TaW5rR0woKQoreworICAgIGlm
ICghd2Via2l0R3N0Q2hlY2tWZXJzaW9uKDEsIDgsIDApKQorICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKworICAgIGdib29sZWFuIHJlc3VsdCA9IFRSVUU7CisgICAgR3N0RWxlbWVudCogdmlkZW9T
aW5rID0gZ3N0X2Jpbl9uZXcoImdzdGdsc2lua2JpbiIpOworICAgIEdzdEVsZW1lbnQqIHVwbG9h
ZCA9IGdzdF9lbGVtZW50X2ZhY3RvcnlfbWFrZSgiZ2x1cGxvYWQiLCBudWxscHRyKTsKKyAgICBH
c3RFbGVtZW50KiBjb2xvcmNvbnZlcnQgPSBnc3RfZWxlbWVudF9mYWN0b3J5X21ha2UoImdsY29s
b3Jjb252ZXJ0IiwgbnVsbHB0cik7CisKKyAgICBpZiAoIXVwbG9hZCB8fCAhY29sb3Jjb252ZXJ0
KSB7CisgICAgICAgIFdBUk5fTUVESUFfTUVTU0FHRSgiRmFpbGVkIHRvIGNyZWF0ZSBHc3RHTCBl
bGVtZW50cyIpOworICAgICAgICBnc3Rfb2JqZWN0X3VucmVmKHZpZGVvU2luayk7CisKKyAgICAg
ICAgaWYgKHVwbG9hZCkKKyAgICAgICAgICAgIGdzdF9vYmplY3RfdW5yZWYodXBsb2FkKTsKKyAg
ICAgICAgaWYgKGNvbG9yY29udmVydCkKKyAgICAgICAgICAgIGdzdF9vYmplY3RfdW5yZWYoY29s
b3Jjb252ZXJ0KTsKKworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKKyAgICBHc3RF
bGVtZW50KiBmYWtlc2luayA9IGdzdF9lbGVtZW50X2ZhY3RvcnlfbWFrZSgiZmFrZXNpbmsiLCBu
dWxscHRyKTsKKworICAgIGdzdF9iaW5fYWRkX21hbnkoR1NUX0JJTih2aWRlb1NpbmspLCB1cGxv
YWQsIGNvbG9yY29udmVydCwgZmFrZXNpbmssIG51bGxwdHIpOworCisgICAgR1JlZlB0cjxHc3RD
YXBzPiBjYXBzID0gYWRvcHRHUmVmKGdzdF9jYXBzX2Zyb21fc3RyaW5nKEdTVF9XRUJLSVRfVklE
RU9fQ0FQUykpOworCisgICAgcmVzdWx0ICY9IGdzdF9lbGVtZW50X2xpbmtfcGFkcyh1cGxvYWQs
ICJzcmMiLCBjb2xvcmNvbnZlcnQsICJzaW5rIik7CisgICAgcmVzdWx0ICY9IGdzdF9lbGVtZW50
X2xpbmtfcGFkc19maWx0ZXJlZChjb2xvcmNvbnZlcnQsICJzcmMiLCBmYWtlc2luaywgInNpbmsi
LCBjYXBzLmdldCgpKTsKKworICAgIEdSZWZQdHI8R3N0UGFkPiBwYWQgPSBhZG9wdEdSZWYoZ3N0
X2VsZW1lbnRfZ2V0X3N0YXRpY19wYWQodXBsb2FkLCAic2luayIpKTsKKyAgICBnc3RfZWxlbWVu
dF9hZGRfcGFkKHZpZGVvU2luaywgZ3N0X2dob3N0X3BhZF9uZXcoInNpbmsiLCBwYWQuZ2V0KCkp
KTsKKworICAgIGdfb2JqZWN0X3NldChmYWtlc2luaywgImVuYWJsZS1sYXN0LXNhbXBsZSIsIEZB
TFNFLCAic2lnbmFsLWhhbmRvZmZzIiwgVFJVRSwgInNpbGVudCIsIFRSVUUsICJzeW5jIiwgVFJV
RSwgbnVsbHB0cik7CisKKyAgICBpZiAocmVzdWx0KQorICAgICAgICBnX3NpZ25hbF9jb25uZWN0
X3N3YXBwZWQoZmFrZXNpbmssICJoYW5kb2ZmIiwgR19DQUxMQkFDSyhkcmF3Q2FsbGJhY2spLCB0
aGlzKTsKKyAgICBlbHNlIHsKKyAgICAgICAgV0FSTl9NRURJQV9NRVNTQUdFKCJGYWlsZWQgdG8g
bGluayBHc3RHTCBlbGVtZW50cyIpOworICAgICAgICBnc3Rfb2JqZWN0X3VucmVmKHZpZGVvU2lu
ayk7CisgICAgICAgIHZpZGVvU2luayA9IG51bGxwdHI7CisgICAgfQorICAgIHJldHVybiB2aWRl
b1Npbms7Cit9CisjZW5kaWYKKwogR3N0RWxlbWVudCogTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyQmFzZTo6Y3JlYXRlVmlkZW9TaW5rKCkKIHsKICAgICBHc3RFbGVtZW50KiB2aWRlb1Npbmsg
PSBudWxscHRyOworCiAjaWYgVVNFKEdTVFJFQU1FUl9HTCkKLSAgICBpZiAod2Via2l0R3N0Q2hl
Y2tWZXJzaW9uKDEsIDUsIDApKSB7Ci0gICAgICAgIG1fdmlkZW9TaW5rID0gZ3N0X2VsZW1lbnRf
ZmFjdG9yeV9tYWtlKCJnbGltYWdlc2luayIsIG51bGxwdHIpOwotICAgICAgICBpZiAobV92aWRl
b1NpbmspIHsKLSAgICAgICAgICAgIGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZChtX3ZpZGVvU2lu
ay5nZXQoKSwgImNsaWVudC1kcmF3IiwgR19DQUxMQkFDSyhkcmF3Q2FsbGJhY2spLCB0aGlzKTsK
LSAgICAgICAgICAgIHZpZGVvU2luayA9IG1fdmlkZW9TaW5rLmdldCgpOwotICAgICAgICB9Ci0g
ICAgfQorICAgIG1fdmlkZW9TaW5rID0gY3JlYXRlVmlkZW9TaW5rR0woKTsKICNlbmRpZgogCiAg
ICAgaWYgKCFtX3ZpZGVvU2luaykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlLmgKaW5kZXggYjFlZWYxZDE0ZGIyNDQ1ODdiMzgyMmE1MDZjOWVh
ZjM5NDA3ODUwZC4uYjUwYWEwMTVmZWZjNjMwZDI2MmY3MGEwMmQzYmExM2I1ZTczYzc0NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oCkBA
IC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYv
UnVuTG9vcC5oPgogCit0eXBlZGVmIHN0cnVjdCBfR3N0QmFzZVNpbmsgR3N0QmFzZVNpbms7CiB0
eXBlZGVmIHN0cnVjdCBfR3N0TWVzc2FnZSBHc3RNZXNzYWdlOwogdHlwZWRlZiBzdHJ1Y3QgX0dz
dFN0cmVhbVZvbHVtZSBHc3RTdHJlYW1Wb2x1bWU7CiB0eXBlZGVmIHN0cnVjdCBfR3N0VmlkZW9J
bmZvIEdzdFZpZGVvSW5mbzsKQEAgLTEyMCw2ICsxMjEsMTAgQEAgcHJvdGVjdGVkOgogICAgIE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UoTWVkaWFQbGF5ZXIqKTsKICAgICB2aXJ0dWFs
IEdzdEVsZW1lbnQqIGNyZWF0ZVZpZGVvU2luaygpOwogCisjaWYgVVNFKEdTVFJFQU1FUl9HTCkK
KyAgICBHc3RFbGVtZW50KiBjcmVhdGVWaWRlb1NpbmtHTCgpOworI2VuZGlmCisKICAgICB2b2lk
IHNldFN0cmVhbVZvbHVtZUVsZW1lbnQoR3N0U3RyZWFtVm9sdW1lKik7CiAgICAgdmlydHVhbCBH
c3RFbGVtZW50KiBjcmVhdGVBdWRpb1NpbmsoKSB7IHJldHVybiAwOyB9CiAgICAgdmlydHVhbCBH
c3RFbGVtZW50KiBhdWRpb1NpbmsoKSBjb25zdCB7IHJldHVybiAwOyB9CkBAIC0xMzMsNyArMTM4
LDcgQEAgcHJvdGVjdGVkOgogCiAgICAgc3RhdGljIHZvaWQgcmVwYWludENhbGxiYWNrKE1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UqLCBHc3RTYW1wbGUqKTsKICNpZiBVU0UoR1NUUkVB
TUVSX0dMKQotICAgIHN0YXRpYyBnYm9vbGVhbiBkcmF3Q2FsbGJhY2soTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyQmFzZSosIEdzdEdMQ29udGV4dCosIEdzdFNhbXBsZSopOworICAgIHN0YXRp
YyBnYm9vbGVhbiBkcmF3Q2FsbGJhY2soTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSos
IEdzdEJ1ZmZlciosIEdzdFBhZCosIEdzdEJhc2VTaW5rKik7CiAjZW5kaWYKIAogICAgIHZvaWQg
bm90aWZ5UGxheWVyT2ZWb2x1bWVDaGFuZ2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9G
aW5kR1N0cmVhbWVyLmNtYWtlIGIvU291cmNlL2NtYWtlL0ZpbmRHU3RyZWFtZXIuY21ha2UKaW5k
ZXggMzExMDllNTY3OWRiODhjZmFlMGZjZDczOTI0M2I0Mjg1Y2ExNjA1Yy4uNzdjMmQ5ZGJjMWVm
YWJlOGQzMDBkNzk1ODc2NWNkNTY0OGUzMWFkOCAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL0Zp
bmRHU3RyZWFtZXIuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL0ZpbmRHU3RyZWFtZXIuY21ha2UK
QEAgLTg1LDcgKzg1LDcgQEAgRklORF9HU1RSRUFNRVJfQ09NUE9ORU5UKEdTVFJFQU1FUl9CQVNF
IGdzdHJlYW1lci1iYXNlLTEuMCBnc3RiYXNlLTEuMCkKIEZJTkRfR1NUUkVBTUVSX0NPTVBPTkVO
VChHU1RSRUFNRVJfQVBQIGdzdHJlYW1lci1hcHAtMS4wIGdzdGFwcC0xLjApCiBGSU5EX0dTVFJF
QU1FUl9DT01QT05FTlQoR1NUUkVBTUVSX0FVRElPIGdzdHJlYW1lci1hdWRpby0xLjAgZ3N0YXVk
aW8tMS4wKQogRklORF9HU1RSRUFNRVJfQ09NUE9ORU5UKEdTVFJFQU1FUl9GRlQgZ3N0cmVhbWVy
LWZmdC0xLjAgZ3N0ZmZ0LTEuMCkKLUZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVChHU1RSRUFNRVJf
R0wgZ3N0cmVhbWVyLWdsLTEuMD49MS42LjAgZ3N0Z2wtMS4wKQorRklORF9HU1RSRUFNRVJfQ09N
UE9ORU5UKEdTVFJFQU1FUl9HTCBnc3RyZWFtZXItZ2wtMS4wPj0xLjguMCBnc3RnbC0xLjApCiBG
SU5EX0dTVFJFQU1FUl9DT01QT05FTlQoR1NUUkVBTUVSX01QRUdUUyBnc3RyZWFtZXItbXBlZ3Rz
LTEuMD49MS40LjAgZ3N0bXBlZ3RzLTEuMCkKIEZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVChHU1RS
RUFNRVJfUEJVVElMUyBnc3RyZWFtZXItcGJ1dGlscy0xLjAgZ3N0cGJ1dGlscy0xLjApCiBGSU5E
X0dTVFJFQU1FUl9DT01QT05FTlQoR1NUUkVBTUVSX1RBRyBnc3RyZWFtZXItdGFnLTEuMCBnc3R0
YWctMS4wKQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDU5MGUyNjli
MzRiNjZhMjI3OTYyMTI1ZDZmYzUwNTY4MDRhYjllN2UuLjJhZDdiYWM3YjkxZjhlZmVlMDllNjRi
NzhlYmEyZWQzODRiZjdiZTggMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMiBAQAorMjAxNi0wNS0xOCAgR3dhbmcgWW9vbiBId2FuZyAgPHlvb25AaWdh
bGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVyXSBVc2UgRmFrZVNpbmsgdG8gZ2V0IGEgZGVj
b2RlZCB0ZXh0dXJlIGZyb20gYSBwaXBlbGluZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUzNjQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvRmluZEdTdHJlYW1lci5jbWFrZTog
QnVtcCBnc3QtZ2wgdmVyc2lvbiB0byAxLjguMAorCiAyMDE2LTA1LTE3ICBEZWFuIEphY2tzb24g
IDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgRVM2X0dFTkVSQVRPUlMgZmxhZwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279244</attachid>
            <date>2016-05-18 06:44:12 -0700</date>
            <delta_ts>2016-05-18 06:50:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-153641-20160518224510.patch</filename>
            <type>text/plain</type>
            <size>10929</size>
            <attacher name="Gwang Yoon Hwang">yoon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxMDY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDJhYmE3NzE3ZDkwNDk2
MTU0MzJhMWRiNGVmYTk1YWRjYWZlNjQ3Ny4uNDBmNzlmYmYyOWMwMGNmNDM2MzYzZmNjNDBkNjhj
YTk1M2U4YzNiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE2LTA1LTE4ICBHd2Fu
ZyBZb29uIEh3YW5nICA8eW9vbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHU3RyZWFtZXJdIFVz
ZSBGYWtlU2luayB0byBnZXQgYSBkZWNvZGVkIHRleHR1cmUgZnJvbSBhIHBpcGVsaW5lCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM2NDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWx5aW5nIG9uIEdz
dEdMSW1hZ2VTaW5rIHRvIHVzZSBHU3RyZWFtZXJHTCBicmluZ3MgYSBsb3Qgb2Ygb3ZlcmhlYWRz
IHN1Y2ggYXMKKyAgICAgICAgd2luZG93IGhhbmRsaW5nLCBjb250ZXh0IHN3aXRjaGluZyBhbmQg
b3ZlcmxheSBoYW5kbGluZyB3aGljaCBhcmUgbm90IG5lZWRlZCBpbgorICAgICAgICBvdXIgY2Fz
ZS4KKworICAgICAgICBUaGlzIHBhdGNoIHJlcGxhY2VzIEdzdEdMSW1hZ2VTaW5rIHdpdGggYSBj
dXN0b20gR3N0QmluIHdoaWNoIGhhcyBhCisgICAgICAgIEdzdEdMVXBsb2FkLCBHc3RHTENvbG9y
Q29udmVydCwgYW5kIEdzdEZha2VTaW5rLgorCisgICAgICAgIEdzdEZha2VTaW5rIHNlbmRzIGRl
Y29kZWQgZnJhbWVzIHZpYSBoYW5kb2ZmIHNpZ25hbCBmcm9tIHRoZSB2cXVldWUgdGhyZWFkIG9m
CisgICAgICAgIEdTdHJlYW1lci4gUHJldmlvdXNseSwgIEdzdEdMSW1hZ2VTaW5rIHBhc3NlcyBm
cmFtZXMgdGhyb3VnaCBHU3RyZWFtZXIncyBHTAorICAgICAgICB0aHJlYWQsIHdoaWNoIGFkZHMg
YWRkaXRpb25hbCBvdmVyaGVhZC4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkdzdFZpZGVvRnJhbWVIb2xkZXI6On5Hc3RWaWRlb0ZyYW1lSG9sZGVyKTogTW9kaWZpZWQg
dG8KKyAgICAgICAgdW5tYXAgR3N0VmlkZW9GcmFtZSB3aXRob3V0IGFzeW5jIGNhbGwuIEdzdEdM
TWVtb3J5IHdpbGwgdW5tYXAgaXRzZWxmCisgICAgICAgIGluIGdsLXRocmVhZC4KKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmRyYXdDYWxsYmFjayk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpjcmVh
dGVWaWRlb1NpbmtHTCk6IFNwbGl0CisgICAgICAgIG91dCBjcmVhdGluZyBvZiB0aGUgZ3N0LWds
IHZpZGVvIHNpbmsgaW50byB0aGUgc2VwYXJ0ZSBtZXRob2QuCisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpwYWludCk6IFJlbW92ZSBhc3NlcnRpb24K
KyAgICAgICAgZm9yIHRoZSB0aHJlYWRlZCBjb21wb3NpdG9yLiBJdCBjYW4gYmUgY2FsbGVkIGJ5
IGZvY3VzaW5nIGV2ZW50LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmg6CisKIDIwMTYtMDUtMTcgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBmaXggRGFyaW4n
cyBwb3N0LW1vcnRlbSByZXZpZXcgY29tbWVudHMgZm9yIHIyMDEwNTIuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyQmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKaW5kZXggNmI2N2Rh
Yjk4Yzc5Mjk3MmZkNzBhNDRiMjE1NWU1YjgyNDU3YzY0YS4uMGNlMWNiMmRhMDIzNDA0MmQwOGZk
M2NkMmFkNDc1NWU1YWU4Y2ExOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcApAQCAtMTE1LDEzICsxMTUsMTAgQEAgcHVibGljOgog
ICAgICAgICBtX2ZsYWdzID0gR1NUX1ZJREVPX0lORk9fSEFTX0FMUEhBKCZ2aWRlb0luZm8pID8g
VGV4dHVyZU1hcHBlckdMOjpTaG91bGRCbGVuZCA6IDA7CiAKICAgICAgICAgR3N0QnVmZmVyKiBi
dWZmZXIgPSBnc3Rfc2FtcGxlX2dldF9idWZmZXIoc2FtcGxlKTsKLSAgICAgICAgbV92aWRlb0Zy
YW1lID0gbmV3IEdzdFZpZGVvRnJhbWUoKTsKLSAgICAgICAgaWYgKFVOTElLRUxZKCFnc3Rfdmlk
ZW9fZnJhbWVfbWFwKG1fdmlkZW9GcmFtZSwgJnZpZGVvSW5mbywgYnVmZmVyLCBzdGF0aWNfY2Fz
dDxHc3RNYXBGbGFncz4oR1NUX01BUF9SRUFEIHwgR1NUX01BUF9HTCkpKSkgewotICAgICAgICAg
ICAgZGVsZXRlIG1fdmlkZW9GcmFtZTsKKyAgICAgICAgaWYgKFVOTElLRUxZKCFnc3RfdmlkZW9f
ZnJhbWVfbWFwKCZtX3ZpZGVvRnJhbWUsICZ2aWRlb0luZm8sIGJ1ZmZlciwgc3RhdGljX2Nhc3Q8
R3N0TWFwRmxhZ3M+KEdTVF9NQVBfUkVBRCB8IEdTVF9NQVBfR0wpKSkpCiAgICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgIH0KIAotICAgICAgICBtX3RleHR1cmVJRCA9ICpyZWludGVycHJldF9j
YXN0PEdMdWludCo+KG1fdmlkZW9GcmFtZS0+ZGF0YVswXSk7CisgICAgICAgIG1fdGV4dHVyZUlE
ID0gKnJlaW50ZXJwcmV0X2Nhc3Q8R0x1aW50Kj4obV92aWRlb0ZyYW1lLmRhdGFbMF0pOwogICAg
ICAgICBtX2lzVmFsaWQgPSB0cnVlOwogICAgIH0KIApAQCAtMTMwLDIxICsxMjcsNyBAQCBwdWJs
aWM6CiAgICAgICAgIGlmIChVTkxJS0VMWSghbV9pc1ZhbGlkKSkKICAgICAgICAgICAgIHJldHVy
bjsKIAotICAgICAgICBHc3RNYXBJbmZvKiBpbmZvID0gJm1fdmlkZW9GcmFtZS0+bWFwWzBdOwot
ICAgICAgICBHc3RHTEJhc2VCdWZmZXIqIG1lbSA9IChHc3RHTEJhc2VCdWZmZXIqKWluZm8tPm1l
bW9yeTsKLSAgICAgICAgR3N0R0xXaW5kb3cqIGdzdFdpbmRvdyA9IGdzdF9nbF9jb250ZXh0X2dl
dF93aW5kb3cobWVtLT5jb250ZXh0KTsKLQotICAgICAgICBnc3RfZ2xfd2luZG93X3NlbmRfbWVz
c2FnZV9hc3luYyhnc3RXaW5kb3csIChHc3RHTFdpbmRvd0NCKXVubWFwVmlkZW9GcmFtZUNhbGxi
YWNrLCBtX3ZpZGVvRnJhbWUsIChHRGVzdHJveU5vdGlmeSlmcmVlVmlkZW9GcmFtZUNhbGxiYWNr
KTsKLSAgICB9Ci0KLSAgICBzdGF0aWMgdm9pZCB1bm1hcFZpZGVvRnJhbWVDYWxsYmFjayhHc3RW
aWRlb0ZyYW1lKiB2aWRlb0ZyYW1lKQotICAgIHsKLSAgICAgICAgZ3N0X3ZpZGVvX2ZyYW1lX3Vu
bWFwKHZpZGVvRnJhbWUpOwotICAgIH0KLQotICAgIHN0YXRpYyB2b2lkIGZyZWVWaWRlb0ZyYW1l
Q2FsbGJhY2soR3N0VmlkZW9GcmFtZSogdmlkZW9GcmFtZSkKLSAgICB7Ci0gICAgICAgIGRlbGV0
ZSB2aWRlb0ZyYW1lOworICAgICAgICBnc3RfdmlkZW9fZnJhbWVfdW5tYXAoJm1fdmlkZW9GcmFt
ZSk7CiAgICAgfQogCiAgICAgY29uc3QgSW50U2l6ZSYgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
c2l6ZTsgfQpAQCAtMTUzLDcgKzEzNiw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzVmFsaWQoKSBj
b25zdCB7IHJldHVybiBtX2lzVmFsaWQ7IH0KIAogcHJpdmF0ZToKLSAgICBHc3RWaWRlb0ZyYW1l
KiBtX3ZpZGVvRnJhbWU7CisgICAgR3N0VmlkZW9GcmFtZSBtX3ZpZGVvRnJhbWU7CiAgICAgSW50
U2l6ZSBtX3NpemU7CiAgICAgVGV4dHVyZU1hcHBlckdMOjpGbGFncyBtX2ZsYWdzOwogICAgIEdM
dWludCBtX3RleHR1cmVJRDsKQEAgLTU3Nyw5ICs1NjAsMTMgQEAgdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlOjpyZXBhaW50Q2FsbGJhY2soTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWUKIH0KIAogI2lmIFVTRShHU1RSRUFNRVJfR0wpCi1nYm9vbGVhbiBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlOjpkcmF3Q2FsbGJhY2soTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyQmFzZSogcGxheWVyLCBHc3RHTENvbnRleHQqLCBHc3RTYW1wbGUqIHNhbXBsZSkKK2dib29s
ZWFuIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmRyYXdDYWxsYmFjayhNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXJCYXNlKiBwbGF5ZXIsIEdzdEJ1ZmZlciogYnVmZmVyLCBHc3RQ
YWQqIHBhZCwgR3N0QmFzZVNpbmsqIHNpbmspCiB7Ci0gICAgcGxheWVyLT50cmlnZ2VyUmVwYWlu
dChzYW1wbGUpOworICAgIEdTVF9QQURfU1RSRUFNX0xPQ0socGFkKTsKKyAgICBHUmVmUHRyPEdz
dENhcHM+IGNhcHMgPSBhZG9wdEdSZWYoZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKHBhZCkpOwor
ICAgIEdSZWZQdHI8R3N0U2FtcGxlPiBzYW1wbGUgPSBhZG9wdEdSZWYoZ3N0X3NhbXBsZV9uZXco
YnVmZmVyLCBjYXBzLmdldCgpLCAmc2luay0+c2VnbWVudCwgTlVMTCkpOworICAgIEdTVF9QQURf
U1RSRUFNX1VOTE9DSyhwYWQpOworICAgIHBsYXllci0+dHJpZ2dlclJlcGFpbnQoc2FtcGxlLmdl
dCgpKTsKICAgICByZXR1cm4gVFJVRTsKIH0KICNlbmRpZgpAQCAtNTkyLDcgKzU3OSw2IEBAIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6c2V0U2l6ZShjb25zdCBJbnRTaXpl
JiBzaXplKQogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpwYWludChHcmFw
aGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKIHsKICNpZiBVU0Uo
Q09PUkRJTkFURURfR1JBUEhJQ1NfVEhSRUFERUQpCi0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CiAgICAgcmV0dXJuOwogI2VsaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKSAmJiAhVVNFKENPT1JE
SU5BVEVEX0dSQVBISUNTKQogICAgIGlmIChjbGllbnQoKSkKQEAgLTcxOSwxNyArNzA1LDU4IEBA
IE1lZGlhUGxheWVyOjpNb3ZpZUxvYWRUeXBlIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2U6Om1vdmllTG9hZFR5cGUoKSBjb25zCiAgICAgcmV0dXJuIE1lZGlhUGxheWVyOjpEb3dubG9h
ZDsKIH0KIAorI2lmIFVTRShHU1RSRUFNRVJfR0wpCitHc3RFbGVtZW50KiBNZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlOjpjcmVhdGVWaWRlb1NpbmtHTCgpCit7CisgICAgaWYgKCF3ZWJr
aXRHc3RDaGVja1ZlcnNpb24oMSwgOCwgMCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisg
ICAgZ2Jvb2xlYW4gcmVzdWx0ID0gVFJVRTsKKyAgICBHc3RFbGVtZW50KiB2aWRlb1NpbmsgPSBn
c3RfYmluX25ldyhudWxscHRyKTsKKyAgICBHc3RFbGVtZW50KiB1cGxvYWQgPSBnc3RfZWxlbWVu
dF9mYWN0b3J5X21ha2UoImdsdXBsb2FkIiwgbnVsbHB0cik7CisgICAgR3N0RWxlbWVudCogY29s
b3Jjb252ZXJ0ID0gZ3N0X2VsZW1lbnRfZmFjdG9yeV9tYWtlKCJnbGNvbG9yY29udmVydCIsIG51
bGxwdHIpOworCisgICAgaWYgKCF1cGxvYWQgfHwgIWNvbG9yY29udmVydCkgeworICAgICAgICBX
QVJOX01FRElBX01FU1NBR0UoIkZhaWxlZCB0byBjcmVhdGUgR3N0R0wgZWxlbWVudHMiKTsKKyAg
ICAgICAgZ3N0X29iamVjdF91bnJlZih2aWRlb1NpbmspOworCisgICAgICAgIGlmICh1cGxvYWQp
CisgICAgICAgICAgICBnc3Rfb2JqZWN0X3VucmVmKHVwbG9hZCk7CisgICAgICAgIGlmIChjb2xv
cmNvbnZlcnQpCisgICAgICAgICAgICBnc3Rfb2JqZWN0X3VucmVmKGNvbG9yY29udmVydCk7CisK
KyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgR3N0RWxlbWVudCogZmFrZXNp
bmsgPSBnc3RfZWxlbWVudF9mYWN0b3J5X21ha2UoImZha2VzaW5rIiwgbnVsbHB0cik7CisKKyAg
ICBnc3RfYmluX2FkZF9tYW55KEdTVF9CSU4odmlkZW9TaW5rKSwgdXBsb2FkLCBjb2xvcmNvbnZl
cnQsIGZha2VzaW5rLCBudWxscHRyKTsKKworICAgIEdSZWZQdHI8R3N0Q2Fwcz4gY2FwcyA9IGFk
b3B0R1JlZihnc3RfY2Fwc19mcm9tX3N0cmluZygidmlkZW8veC1yYXcoIiBHU1RfQ0FQU19GRUFU
VVJFX01FTU9SWV9HTF9NRU1PUlkgIiksIiAiZm9ybWF0ID0gKHN0cmluZykgeyBSR0JBIH0iKSk7
CisKKyAgICByZXN1bHQgJj0gZ3N0X2VsZW1lbnRfbGlua19wYWRzKHVwbG9hZCwgInNyYyIsIGNv
bG9yY29udmVydCwgInNpbmsiKTsKKyAgICByZXN1bHQgJj0gZ3N0X2VsZW1lbnRfbGlua19wYWRz
X2ZpbHRlcmVkKGNvbG9yY29udmVydCwgInNyYyIsIGZha2VzaW5rLCAic2luayIsIGNhcHMuZ2V0
KCkpOworCisgICAgR1JlZlB0cjxHc3RQYWQ+IHBhZCA9IGFkb3B0R1JlZihnc3RfZWxlbWVudF9n
ZXRfc3RhdGljX3BhZCh1cGxvYWQsICJzaW5rIikpOworICAgIGdzdF9lbGVtZW50X2FkZF9wYWQo
dmlkZW9TaW5rLCBnc3RfZ2hvc3RfcGFkX25ldygic2luayIsIHBhZC5nZXQoKSkpOworCisgICAg
Z19vYmplY3Rfc2V0KGZha2VzaW5rLCAiZW5hYmxlLWxhc3Qtc2FtcGxlIiwgRkFMU0UsICJzaWdu
YWwtaGFuZG9mZnMiLCBUUlVFLCAic2lsZW50IiwgVFJVRSwgInN5bmMiLCBUUlVFLCBudWxscHRy
KTsKKworICAgIGlmIChyZXN1bHQpCisgICAgICAgIGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZChm
YWtlc2luaywgImhhbmRvZmYiLCBHX0NBTExCQUNLKGRyYXdDYWxsYmFjayksIHRoaXMpOworICAg
IGVsc2UgeworICAgICAgICBXQVJOX01FRElBX01FU1NBR0UoIkZhaWxlZCB0byBsaW5rIEdzdEdM
IGVsZW1lbnRzIik7CisgICAgICAgIGdzdF9vYmplY3RfdW5yZWYodmlkZW9TaW5rKTsKKyAgICAg
ICAgdmlkZW9TaW5rID0gbnVsbHB0cjsKKyAgICB9CisgICAgcmV0dXJuIHZpZGVvU2luazsKK30K
KyNlbmRpZgorCiBHc3RFbGVtZW50KiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpj
cmVhdGVWaWRlb1NpbmsoKQogewotICAgIEdzdEVsZW1lbnQqIHZpZGVvU2luayA9IG51bGxwdHI7
CiAjaWYgVVNFKEdTVFJFQU1FUl9HTCkKLSAgICBpZiAod2Via2l0R3N0Q2hlY2tWZXJzaW9uKDEs
IDUsIDApKSB7Ci0gICAgICAgIG1fdmlkZW9TaW5rID0gZ3N0X2VsZW1lbnRfZmFjdG9yeV9tYWtl
KCJnbGltYWdlc2luayIsIG51bGxwdHIpOwotICAgICAgICBpZiAobV92aWRlb1NpbmspIHsKLSAg
ICAgICAgICAgIGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZChtX3ZpZGVvU2luay5nZXQoKSwgImNs
aWVudC1kcmF3IiwgR19DQUxMQkFDSyhkcmF3Q2FsbGJhY2spLCB0aGlzKTsKLSAgICAgICAgICAg
IHZpZGVvU2luayA9IG1fdmlkZW9TaW5rLmdldCgpOwotICAgICAgICB9Ci0gICAgfQorICAgIG1f
dmlkZW9TaW5rID0gY3JlYXRlVmlkZW9TaW5rR0woKTsKICNlbmRpZgogCiAgICAgaWYgKCFtX3Zp
ZGVvU2luaykgewpAQCAtNzM4LDYgKzc2NSw3IEBAIEdzdEVsZW1lbnQqIE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lckJhc2U6OmNyZWF0ZVZpZGVvU2luaygpCiAgICAgICAgIGdfc2lnbmFsX2Nv
bm5lY3Rfc3dhcHBlZChtX3ZpZGVvU2luay5nZXQoKSwgInJlcGFpbnQtcmVxdWVzdGVkIiwgR19D
QUxMQkFDSyhyZXBhaW50Q2FsbGJhY2spLCB0aGlzKTsKICAgICB9CiAKKyAgICBHc3RFbGVtZW50
KiB2aWRlb1NpbmsgPSBudWxscHRyOwogICAgIG1fZnBzU2luayA9IGdzdF9lbGVtZW50X2ZhY3Rv
cnlfbWFrZSgiZnBzZGlzcGxheXNpbmsiLCAic2luayIpOwogICAgIGlmIChtX2Zwc1NpbmspIHsK
ICAgICAgICAgZ19vYmplY3Rfc2V0KG1fZnBzU2luay5nZXQoKSwgInNpbGVudCIsIFRSVUUgLCBu
dWxscHRyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
QmFzZS5oCmluZGV4IGIxZWVmMWQxNGRiMjQ0NTg3YjM4MjJhNTA2YzllYWYzOTQwNzg1MGQuLmI1
MGFhMDE1ZmVmYzYzMGQyNjJmNzBhMDJkM2JhMTNiNWU3M2M3NDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaApAQCAtMzUsNiArMzUsNyBA
QAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KIAor
dHlwZWRlZiBzdHJ1Y3QgX0dzdEJhc2VTaW5rIEdzdEJhc2VTaW5rOwogdHlwZWRlZiBzdHJ1Y3Qg
X0dzdE1lc3NhZ2UgR3N0TWVzc2FnZTsKIHR5cGVkZWYgc3RydWN0IF9Hc3RTdHJlYW1Wb2x1bWUg
R3N0U3RyZWFtVm9sdW1lOwogdHlwZWRlZiBzdHJ1Y3QgX0dzdFZpZGVvSW5mbyBHc3RWaWRlb0lu
Zm87CkBAIC0xMjAsNiArMTIxLDEwIEBAIHByb3RlY3RlZDoKICAgICBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlKE1lZGlhUGxheWVyKik7CiAgICAgdmlydHVhbCBHc3RFbGVtZW50KiBj
cmVhdGVWaWRlb1NpbmsoKTsKIAorI2lmIFVTRShHU1RSRUFNRVJfR0wpCisgICAgR3N0RWxlbWVu
dCogY3JlYXRlVmlkZW9TaW5rR0woKTsKKyNlbmRpZgorCiAgICAgdm9pZCBzZXRTdHJlYW1Wb2x1
bWVFbGVtZW50KEdzdFN0cmVhbVZvbHVtZSopOwogICAgIHZpcnR1YWwgR3N0RWxlbWVudCogY3Jl
YXRlQXVkaW9TaW5rKCkgeyByZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgR3N0RWxlbWVudCogYXVk
aW9TaW5rKCkgY29uc3QgeyByZXR1cm4gMDsgfQpAQCAtMTMzLDcgKzEzOCw3IEBAIHByb3RlY3Rl
ZDoKIAogICAgIHN0YXRpYyB2b2lkIHJlcGFpbnRDYWxsYmFjayhNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlKiwgR3N0U2FtcGxlKik7CiAjaWYgVVNFKEdTVFJFQU1FUl9HTCkKLSAgICBz
dGF0aWMgZ2Jvb2xlYW4gZHJhd0NhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2UqLCBHc3RHTENvbnRleHQqLCBHc3RTYW1wbGUqKTsKKyAgICBzdGF0aWMgZ2Jvb2xlYW4gZHJh
d0NhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UqLCBHc3RCdWZmZXIqLCBH
c3RQYWQqLCBHc3RCYXNlU2luayopOwogI2VuZGlmCiAKICAgICB2b2lkIG5vdGlmeVBsYXllck9m
Vm9sdW1lQ2hhbmdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvRmluZEdTdHJlYW1lci5j
bWFrZSBiL1NvdXJjZS9jbWFrZS9GaW5kR1N0cmVhbWVyLmNtYWtlCmluZGV4IDMxMTA5ZTU2Nzlk
Yjg4Y2ZhZTBmY2Q3MzkyNDNiNDI4NWNhMTYwNWMuLjc3YzJkOWRiYzFlZmFiZThkMzAwZDc5NTg3
NjVjZDU2NDhlMzFhZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9GaW5kR1N0cmVhbWVyLmNt
YWtlCisrKyBiL1NvdXJjZS9jbWFrZS9GaW5kR1N0cmVhbWVyLmNtYWtlCkBAIC04NSw3ICs4NSw3
IEBAIEZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVChHU1RSRUFNRVJfQkFTRSBnc3RyZWFtZXItYmFz
ZS0xLjAgZ3N0YmFzZS0xLjApCiBGSU5EX0dTVFJFQU1FUl9DT01QT05FTlQoR1NUUkVBTUVSX0FQ
UCBnc3RyZWFtZXItYXBwLTEuMCBnc3RhcHAtMS4wKQogRklORF9HU1RSRUFNRVJfQ09NUE9ORU5U
KEdTVFJFQU1FUl9BVURJTyBnc3RyZWFtZXItYXVkaW8tMS4wIGdzdGF1ZGlvLTEuMCkKIEZJTkRf
R1NUUkVBTUVSX0NPTVBPTkVOVChHU1RSRUFNRVJfRkZUIGdzdHJlYW1lci1mZnQtMS4wIGdzdGZm
dC0xLjApCi1GSU5EX0dTVFJFQU1FUl9DT01QT05FTlQoR1NUUkVBTUVSX0dMIGdzdHJlYW1lci1n
bC0xLjA+PTEuNi4wIGdzdGdsLTEuMCkKK0ZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVChHU1RSRUFN
RVJfR0wgZ3N0cmVhbWVyLWdsLTEuMD49MS44LjAgZ3N0Z2wtMS4wKQogRklORF9HU1RSRUFNRVJf
Q09NUE9ORU5UKEdTVFJFQU1FUl9NUEVHVFMgZ3N0cmVhbWVyLW1wZWd0cy0xLjA+PTEuNC4wIGdz
dG1wZWd0cy0xLjApCiBGSU5EX0dTVFJFQU1FUl9DT01QT05FTlQoR1NUUkVBTUVSX1BCVVRJTFMg
Z3N0cmVhbWVyLXBidXRpbHMtMS4wIGdzdHBidXRpbHMtMS4wKQogRklORF9HU1RSRUFNRVJfQ09N
UE9ORU5UKEdTVFJFQU1FUl9UQUcgZ3N0cmVhbWVyLXRhZy0xLjAgZ3N0dGFnLTEuMCkKZGlmZiAt
LWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA1OTBlMjY5YjM0YjY2YTIyNzk2MjEy
NWQ2ZmM1MDU2ODA0YWI5ZTdlLi4yYWQ3YmFjN2I5MWY4ZWZlZTA5ZTY0Yjc4ZWJhMmVkMzg0YmY3
YmU4IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTYtMDUtMTggIEd3YW5nIFlvb24gSHdhbmcgIDx5b29uQGlnYWxpYS5jb20+CisKKyAg
ICAgICAgW0dTdHJlYW1lcl0gVXNlIEZha2VTaW5rIHRvIGdldCBhIGRlY29kZWQgdGV4dHVyZSBm
cm9tIGEgcGlwZWxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE1MzY0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogU291cmNlL2NtYWtlL0ZpbmRHU3RyZWFtZXIuY21ha2U6IEJ1bXAgZ3N0LWdsIHZl
cnNpb24gdG8gMS44LjAKKwogMjAxNi0wNS0xNyAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5j
b20+CiAKICAgICAgICAgUmVtb3ZlIEVTNl9HRU5FUkFUT1JTIGZsYWcK
</data>
<flag name="review"
          id="303301"
          type_id="1"
          status="+"
          setter="pnormand"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279246</attachid>
            <date>2016-05-18 06:59:45 -0700</date>
            <delta_ts>2016-05-18 07:29:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-153641-20160518230043.patch</filename>
            <type>text/plain</type>
            <size>10931</size>
            <attacher name="Gwang Yoon Hwang">yoon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxMDY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDJhYmE3NzE3ZDkwNDk2
MTU0MzJhMWRiNGVmYTk1YWRjYWZlNjQ3Ny4uNDJjMGEyODM5MTY0NjdkOGFjMDk1NzZlZWNkZjM3
YTA5NWZiMDMyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE2LTA1LTE4ICBHd2Fu
ZyBZb29uIEh3YW5nICA8eW9vbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHU3RyZWFtZXJdIFVz
ZSBGYWtlU2luayB0byBnZXQgYSBkZWNvZGVkIHRleHR1cmUgZnJvbSBhIHBpcGVsaW5lCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTM2NDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBQaGlsaXBwZSBOb3JtYW5kLgorCisgICAgICAgIFJlbHlpbmcgb24g
R3N0R0xJbWFnZVNpbmsgdG8gdXNlIEdTdHJlYW1lckdMIGJyaW5ncyBhIGxvdCBvZiBvdmVyaGVh
ZHMgc3VjaCBhcworICAgICAgICB3aW5kb3cgaGFuZGxpbmcsIGNvbnRleHQgc3dpdGNoaW5nIGFu
ZCBvdmVybGF5IGhhbmRsaW5nIHdoaWNoIGFyZSBub3QgbmVlZGVkIGluCisgICAgICAgIG91ciBj
YXNlLgorCisgICAgICAgIFRoaXMgcGF0Y2ggcmVwbGFjZXMgR3N0R0xJbWFnZVNpbmsgd2l0aCBh
IGN1c3RvbSBHc3RCaW4gd2hpY2ggaGFzIGEKKyAgICAgICAgR3N0R0xVcGxvYWQsIEdzdEdMQ29s
b3JDb252ZXJ0LCBhbmQgR3N0RmFrZVNpbmsuCisKKyAgICAgICAgR3N0RmFrZVNpbmsgc2VuZHMg
ZGVjb2RlZCBmcmFtZXMgdmlhIGhhbmRvZmYgc2lnbmFsIGZyb20gdGhlIHZxdWV1ZSB0aHJlYWQg
b2YKKyAgICAgICAgR1N0cmVhbWVyLiBQcmV2aW91c2x5LCAgR3N0R0xJbWFnZVNpbmsgcGFzc2Vz
IGZyYW1lcyB0aHJvdWdoIEdTdHJlYW1lcidzIEdMCisgICAgICAgIHRocmVhZCwgd2hpY2ggYWRk
cyBhZGRpdGlvbmFsIG92ZXJoZWFkLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R3N0VmlkZW9GcmFtZUhvbGRlcjo6fkdzdFZpZGVvRnJhbWVIb2xkZXIpOiBNb2RpZmll
ZCB0bworICAgICAgICB1bm1hcCBHc3RWaWRlb0ZyYW1lIHdpdGhvdXQgYXN5bmMgY2FsbC4gR3N0
R0xNZW1vcnkgd2lsbCB1bm1hcCBpdHNlbGYKKyAgICAgICAgaW4gZ2wtdGhyZWFkLgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6ZHJhd0NhbGxiYWNr
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmNy
ZWF0ZVZpZGVvU2lua0dMKTogU3BsaXQKKyAgICAgICAgb3V0IGNyZWF0aW5nIG9mIHRoZSBnc3Qt
Z2wgdmlkZW8gc2luayBpbnRvIHRoZSBzZXBhcnRlIG1ldGhvZC4KKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnBhaW50KTogUmVtb3ZlIGFzc2VydGlv
bgorICAgICAgICBmb3IgdGhlIHRocmVhZGVkIGNvbXBvc2l0b3IuIEl0IGNhbiBiZSBjYWxsZWQg
YnkgZm9jdXNpbmcgZXZlbnQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaDoKKwogMjAxNi0wNS0xNyAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGZpeCBEYXJp
bidzIHBvc3QtbW9ydGVtIHJldmlldyBjb21tZW50cyBmb3IgcjIwMTA1Mi4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcAppbmRleCA2YjY3
ZGFiOThjNzkyOTcyZmQ3MGE0NGIyMTU1ZTViODI0NTdjNjRhLi41NmE4YjA4NzQxOGRkYzg0ZWQ0
OWRiOTg0ZDdkYzYyNWNjOTY4YTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCkBAIC0xMTUsMTMgKzExNSwxMCBAQCBwdWJsaWM6
CiAgICAgICAgIG1fZmxhZ3MgPSBHU1RfVklERU9fSU5GT19IQVNfQUxQSEEoJnZpZGVvSW5mbykg
PyBUZXh0dXJlTWFwcGVyR0w6OlNob3VsZEJsZW5kIDogMDsKIAogICAgICAgICBHc3RCdWZmZXIq
IGJ1ZmZlciA9IGdzdF9zYW1wbGVfZ2V0X2J1ZmZlcihzYW1wbGUpOwotICAgICAgICBtX3ZpZGVv
RnJhbWUgPSBuZXcgR3N0VmlkZW9GcmFtZSgpOwotICAgICAgICBpZiAoVU5MSUtFTFkoIWdzdF92
aWRlb19mcmFtZV9tYXAobV92aWRlb0ZyYW1lLCAmdmlkZW9JbmZvLCBidWZmZXIsIHN0YXRpY19j
YXN0PEdzdE1hcEZsYWdzPihHU1RfTUFQX1JFQUQgfCBHU1RfTUFQX0dMKSkpKSB7Ci0gICAgICAg
ICAgICBkZWxldGUgbV92aWRlb0ZyYW1lOworICAgICAgICBpZiAoVU5MSUtFTFkoIWdzdF92aWRl
b19mcmFtZV9tYXAoJm1fdmlkZW9GcmFtZSwgJnZpZGVvSW5mbywgYnVmZmVyLCBzdGF0aWNfY2Fz
dDxHc3RNYXBGbGFncz4oR1NUX01BUF9SRUFEIHwgR1NUX01BUF9HTCkpKSkKICAgICAgICAgICAg
IHJldHVybjsKLSAgICAgICAgfQogCi0gICAgICAgIG1fdGV4dHVyZUlEID0gKnJlaW50ZXJwcmV0
X2Nhc3Q8R0x1aW50Kj4obV92aWRlb0ZyYW1lLT5kYXRhWzBdKTsKKyAgICAgICAgbV90ZXh0dXJl
SUQgPSAqcmVpbnRlcnByZXRfY2FzdDxHTHVpbnQqPihtX3ZpZGVvRnJhbWUuZGF0YVswXSk7CiAg
ICAgICAgIG1faXNWYWxpZCA9IHRydWU7CiAgICAgfQogCkBAIC0xMzAsMjEgKzEyNyw3IEBAIHB1
YmxpYzoKICAgICAgICAgaWYgKFVOTElLRUxZKCFtX2lzVmFsaWQpKQogICAgICAgICAgICAgcmV0
dXJuOwogCi0gICAgICAgIEdzdE1hcEluZm8qIGluZm8gPSAmbV92aWRlb0ZyYW1lLT5tYXBbMF07
Ci0gICAgICAgIEdzdEdMQmFzZUJ1ZmZlciogbWVtID0gKEdzdEdMQmFzZUJ1ZmZlciopaW5mby0+
bWVtb3J5OwotICAgICAgICBHc3RHTFdpbmRvdyogZ3N0V2luZG93ID0gZ3N0X2dsX2NvbnRleHRf
Z2V0X3dpbmRvdyhtZW0tPmNvbnRleHQpOwotCi0gICAgICAgIGdzdF9nbF93aW5kb3dfc2VuZF9t
ZXNzYWdlX2FzeW5jKGdzdFdpbmRvdywgKEdzdEdMV2luZG93Q0IpdW5tYXBWaWRlb0ZyYW1lQ2Fs
bGJhY2ssIG1fdmlkZW9GcmFtZSwgKEdEZXN0cm95Tm90aWZ5KWZyZWVWaWRlb0ZyYW1lQ2FsbGJh
Y2spOwotICAgIH0KLQotICAgIHN0YXRpYyB2b2lkIHVubWFwVmlkZW9GcmFtZUNhbGxiYWNrKEdz
dFZpZGVvRnJhbWUqIHZpZGVvRnJhbWUpCi0gICAgewotICAgICAgICBnc3RfdmlkZW9fZnJhbWVf
dW5tYXAodmlkZW9GcmFtZSk7Ci0gICAgfQotCi0gICAgc3RhdGljIHZvaWQgZnJlZVZpZGVvRnJh
bWVDYWxsYmFjayhHc3RWaWRlb0ZyYW1lKiB2aWRlb0ZyYW1lKQotICAgIHsKLSAgICAgICAgZGVs
ZXRlIHZpZGVvRnJhbWU7CisgICAgICAgIGdzdF92aWRlb19mcmFtZV91bm1hcCgmbV92aWRlb0Zy
YW1lKTsKICAgICB9CiAKICAgICBjb25zdCBJbnRTaXplJiBzaXplKCkgY29uc3QgeyByZXR1cm4g
bV9zaXplOyB9CkBAIC0xNTMsNyArMTM2LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNWYWxpZCgp
IGNvbnN0IHsgcmV0dXJuIG1faXNWYWxpZDsgfQogCiBwcml2YXRlOgotICAgIEdzdFZpZGVvRnJh
bWUqIG1fdmlkZW9GcmFtZTsKKyAgICBHc3RWaWRlb0ZyYW1lIG1fdmlkZW9GcmFtZTsKICAgICBJ
bnRTaXplIG1fc2l6ZTsKICAgICBUZXh0dXJlTWFwcGVyR0w6OkZsYWdzIG1fZmxhZ3M7CiAgICAg
R0x1aW50IG1fdGV4dHVyZUlEOwpAQCAtNTc3LDkgKzU2MCwxMyBAQCB2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lckJhc2U6OnJlcGFpbnRDYWxsYmFjayhNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZQogfQogCiAjaWYgVVNFKEdTVFJFQU1FUl9HTCkKLWdib29sZWFuIE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lckJhc2U6OmRyYXdDYWxsYmFjayhNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJCYXNlKiBwbGF5ZXIsIEdzdEdMQ29udGV4dCosIEdzdFNhbXBsZSogc2FtcGxlKQorZ2Jv
b2xlYW4gTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6ZHJhd0NhbGxiYWNrKE1lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UqIHBsYXllciwgR3N0QnVmZmVyKiBidWZmZXIsIEdz
dFBhZCogcGFkLCBHc3RCYXNlU2luayogc2luaykKIHsKLSAgICBwbGF5ZXItPnRyaWdnZXJSZXBh
aW50KHNhbXBsZSk7CisgICAgR1NUX1BBRF9TVFJFQU1fTE9DSyhwYWQpOworICAgIEdSZWZQdHI8
R3N0Q2Fwcz4gY2FwcyA9IGFkb3B0R1JlZihnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMocGFkKSk7
CisgICAgR1JlZlB0cjxHc3RTYW1wbGU+IHNhbXBsZSA9IGFkb3B0R1JlZihnc3Rfc2FtcGxlX25l
dyhidWZmZXIsIGNhcHMuZ2V0KCksICZzaW5rLT5zZWdtZW50LCBOVUxMKSk7CisgICAgR1NUX1BB
RF9TVFJFQU1fVU5MT0NLKHBhZCk7CisgICAgcGxheWVyLT50cmlnZ2VyUmVwYWludChzYW1wbGUu
Z2V0KCkpOwogICAgIHJldHVybiBUUlVFOwogfQogI2VuZGlmCkBAIC01OTIsNyArNTc5LDYgQEAg
dm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpzZXRTaXplKGNvbnN0IEludFNp
emUmIHNpemUpCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnBhaW50KEdy
YXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiByZWN0KQogewogI2lmIFVT
RShDT09SRElOQVRFRF9HUkFQSElDU19USFJFQURFRCkKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKICAgICByZXR1cm47CiAjZWxpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmICFVU0UoQ09P
UkRJTkFURURfR1JBUEhJQ1MpCiAgICAgaWYgKGNsaWVudCgpKQpAQCAtNzE5LDE3ICs3MDUsNTgg
QEAgTWVkaWFQbGF5ZXI6Ok1vdmllTG9hZFR5cGUgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
QmFzZTo6bW92aWVMb2FkVHlwZSgpIGNvbnMKICAgICByZXR1cm4gTWVkaWFQbGF5ZXI6OkRvd25s
b2FkOwogfQogCisjaWYgVVNFKEdTVFJFQU1FUl9HTCkKK0dzdEVsZW1lbnQqIE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lckJhc2U6OmNyZWF0ZVZpZGVvU2lua0dMKCkKK3sKKyAgICBpZiAoIXdl
YmtpdEdzdENoZWNrVmVyc2lvbigxLCA4LCAwKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisK
KyAgICBnYm9vbGVhbiByZXN1bHQgPSBUUlVFOworICAgIEdzdEVsZW1lbnQqIHZpZGVvU2luayA9
IGdzdF9iaW5fbmV3KG51bGxwdHIpOworICAgIEdzdEVsZW1lbnQqIHVwbG9hZCA9IGdzdF9lbGVt
ZW50X2ZhY3RvcnlfbWFrZSgiZ2x1cGxvYWQiLCBudWxscHRyKTsKKyAgICBHc3RFbGVtZW50KiBj
b2xvcmNvbnZlcnQgPSBnc3RfZWxlbWVudF9mYWN0b3J5X21ha2UoImdsY29sb3Jjb252ZXJ0Iiwg
bnVsbHB0cik7CisKKyAgICBpZiAoIXVwbG9hZCB8fCAhY29sb3Jjb252ZXJ0KSB7CisgICAgICAg
IFdBUk5fTUVESUFfTUVTU0FHRSgiRmFpbGVkIHRvIGNyZWF0ZSBHc3RHTCBlbGVtZW50cyIpOwor
ICAgICAgICBnc3Rfb2JqZWN0X3VucmVmKHZpZGVvU2luayk7CisKKyAgICAgICAgaWYgKHVwbG9h
ZCkKKyAgICAgICAgICAgIGdzdF9vYmplY3RfdW5yZWYodXBsb2FkKTsKKyAgICAgICAgaWYgKGNv
bG9yY29udmVydCkKKyAgICAgICAgICAgIGdzdF9vYmplY3RfdW5yZWYoY29sb3Jjb252ZXJ0KTsK
KworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKKyAgICBHc3RFbGVtZW50KiBmYWtl
c2luayA9IGdzdF9lbGVtZW50X2ZhY3RvcnlfbWFrZSgiZmFrZXNpbmsiLCBudWxscHRyKTsKKwor
ICAgIGdzdF9iaW5fYWRkX21hbnkoR1NUX0JJTih2aWRlb1NpbmspLCB1cGxvYWQsIGNvbG9yY29u
dmVydCwgZmFrZXNpbmssIG51bGxwdHIpOworCisgICAgR1JlZlB0cjxHc3RDYXBzPiBjYXBzID0g
YWRvcHRHUmVmKGdzdF9jYXBzX2Zyb21fc3RyaW5nKCJ2aWRlby94LXJhdygiIEdTVF9DQVBTX0ZF
QVRVUkVfTUVNT1JZX0dMX01FTU9SWSAiKSwgZm9ybWF0ID0gKHN0cmluZykgeyBSR0JBIH0iKSk7
CisKKyAgICByZXN1bHQgJj0gZ3N0X2VsZW1lbnRfbGlua19wYWRzKHVwbG9hZCwgInNyYyIsIGNv
bG9yY29udmVydCwgInNpbmsiKTsKKyAgICByZXN1bHQgJj0gZ3N0X2VsZW1lbnRfbGlua19wYWRz
X2ZpbHRlcmVkKGNvbG9yY29udmVydCwgInNyYyIsIGZha2VzaW5rLCAic2luayIsIGNhcHMuZ2V0
KCkpOworCisgICAgR1JlZlB0cjxHc3RQYWQ+IHBhZCA9IGFkb3B0R1JlZihnc3RfZWxlbWVudF9n
ZXRfc3RhdGljX3BhZCh1cGxvYWQsICJzaW5rIikpOworICAgIGdzdF9lbGVtZW50X2FkZF9wYWQo
dmlkZW9TaW5rLCBnc3RfZ2hvc3RfcGFkX25ldygic2luayIsIHBhZC5nZXQoKSkpOworCisgICAg
Z19vYmplY3Rfc2V0KGZha2VzaW5rLCAiZW5hYmxlLWxhc3Qtc2FtcGxlIiwgRkFMU0UsICJzaWdu
YWwtaGFuZG9mZnMiLCBUUlVFLCAic2lsZW50IiwgVFJVRSwgInN5bmMiLCBUUlVFLCBudWxscHRy
KTsKKworICAgIGlmIChyZXN1bHQpCisgICAgICAgIGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZChm
YWtlc2luaywgImhhbmRvZmYiLCBHX0NBTExCQUNLKGRyYXdDYWxsYmFjayksIHRoaXMpOworICAg
IGVsc2UgeworICAgICAgICBXQVJOX01FRElBX01FU1NBR0UoIkZhaWxlZCB0byBsaW5rIEdzdEdM
IGVsZW1lbnRzIik7CisgICAgICAgIGdzdF9vYmplY3RfdW5yZWYodmlkZW9TaW5rKTsKKyAgICAg
ICAgdmlkZW9TaW5rID0gbnVsbHB0cjsKKyAgICB9CisgICAgcmV0dXJuIHZpZGVvU2luazsKK30K
KyNlbmRpZgorCiBHc3RFbGVtZW50KiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpj
cmVhdGVWaWRlb1NpbmsoKQogewotICAgIEdzdEVsZW1lbnQqIHZpZGVvU2luayA9IG51bGxwdHI7
CiAjaWYgVVNFKEdTVFJFQU1FUl9HTCkKLSAgICBpZiAod2Via2l0R3N0Q2hlY2tWZXJzaW9uKDEs
IDUsIDApKSB7Ci0gICAgICAgIG1fdmlkZW9TaW5rID0gZ3N0X2VsZW1lbnRfZmFjdG9yeV9tYWtl
KCJnbGltYWdlc2luayIsIG51bGxwdHIpOwotICAgICAgICBpZiAobV92aWRlb1NpbmspIHsKLSAg
ICAgICAgICAgIGdfc2lnbmFsX2Nvbm5lY3Rfc3dhcHBlZChtX3ZpZGVvU2luay5nZXQoKSwgImNs
aWVudC1kcmF3IiwgR19DQUxMQkFDSyhkcmF3Q2FsbGJhY2spLCB0aGlzKTsKLSAgICAgICAgICAg
IHZpZGVvU2luayA9IG1fdmlkZW9TaW5rLmdldCgpOwotICAgICAgICB9Ci0gICAgfQorICAgIG1f
dmlkZW9TaW5rID0gY3JlYXRlVmlkZW9TaW5rR0woKTsKICNlbmRpZgogCiAgICAgaWYgKCFtX3Zp
ZGVvU2luaykgewpAQCAtNzM4LDYgKzc2NSw3IEBAIEdzdEVsZW1lbnQqIE1lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lckJhc2U6OmNyZWF0ZVZpZGVvU2luaygpCiAgICAgICAgIGdfc2lnbmFsX2Nv
bm5lY3Rfc3dhcHBlZChtX3ZpZGVvU2luay5nZXQoKSwgInJlcGFpbnQtcmVxdWVzdGVkIiwgR19D
QUxMQkFDSyhyZXBhaW50Q2FsbGJhY2spLCB0aGlzKTsKICAgICB9CiAKKyAgICBHc3RFbGVtZW50
KiB2aWRlb1NpbmsgPSBudWxscHRyOwogICAgIG1fZnBzU2luayA9IGdzdF9lbGVtZW50X2ZhY3Rv
cnlfbWFrZSgiZnBzZGlzcGxheXNpbmsiLCAic2luayIpOwogICAgIGlmIChtX2Zwc1NpbmspIHsK
ICAgICAgICAgZ19vYmplY3Rfc2V0KG1fZnBzU2luay5nZXQoKSwgInNpbGVudCIsIFRSVUUgLCBu
dWxscHRyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
QmFzZS5oCmluZGV4IGIxZWVmMWQxNGRiMjQ0NTg3YjM4MjJhNTA2YzllYWYzOTQwNzg1MGQuLmI1
MGFhMDE1ZmVmYzYzMGQyNjJmNzBhMDJkM2JhMTNiNWU3M2M3NDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaApAQCAtMzUsNiArMzUsNyBA
QAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KIAor
dHlwZWRlZiBzdHJ1Y3QgX0dzdEJhc2VTaW5rIEdzdEJhc2VTaW5rOwogdHlwZWRlZiBzdHJ1Y3Qg
X0dzdE1lc3NhZ2UgR3N0TWVzc2FnZTsKIHR5cGVkZWYgc3RydWN0IF9Hc3RTdHJlYW1Wb2x1bWUg
R3N0U3RyZWFtVm9sdW1lOwogdHlwZWRlZiBzdHJ1Y3QgX0dzdFZpZGVvSW5mbyBHc3RWaWRlb0lu
Zm87CkBAIC0xMjAsNiArMTIxLDEwIEBAIHByb3RlY3RlZDoKICAgICBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlKE1lZGlhUGxheWVyKik7CiAgICAgdmlydHVhbCBHc3RFbGVtZW50KiBj
cmVhdGVWaWRlb1NpbmsoKTsKIAorI2lmIFVTRShHU1RSRUFNRVJfR0wpCisgICAgR3N0RWxlbWVu
dCogY3JlYXRlVmlkZW9TaW5rR0woKTsKKyNlbmRpZgorCiAgICAgdm9pZCBzZXRTdHJlYW1Wb2x1
bWVFbGVtZW50KEdzdFN0cmVhbVZvbHVtZSopOwogICAgIHZpcnR1YWwgR3N0RWxlbWVudCogY3Jl
YXRlQXVkaW9TaW5rKCkgeyByZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgR3N0RWxlbWVudCogYXVk
aW9TaW5rKCkgY29uc3QgeyByZXR1cm4gMDsgfQpAQCAtMTMzLDcgKzEzOCw3IEBAIHByb3RlY3Rl
ZDoKIAogICAgIHN0YXRpYyB2b2lkIHJlcGFpbnRDYWxsYmFjayhNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlKiwgR3N0U2FtcGxlKik7CiAjaWYgVVNFKEdTVFJFQU1FUl9HTCkKLSAgICBz
dGF0aWMgZ2Jvb2xlYW4gZHJhd0NhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2UqLCBHc3RHTENvbnRleHQqLCBHc3RTYW1wbGUqKTsKKyAgICBzdGF0aWMgZ2Jvb2xlYW4gZHJh
d0NhbGxiYWNrKE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UqLCBHc3RCdWZmZXIqLCBH
c3RQYWQqLCBHc3RCYXNlU2luayopOwogI2VuZGlmCiAKICAgICB2b2lkIG5vdGlmeVBsYXllck9m
Vm9sdW1lQ2hhbmdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvRmluZEdTdHJlYW1lci5j
bWFrZSBiL1NvdXJjZS9jbWFrZS9GaW5kR1N0cmVhbWVyLmNtYWtlCmluZGV4IDMxMTA5ZTU2Nzlk
Yjg4Y2ZhZTBmY2Q3MzkyNDNiNDI4NWNhMTYwNWMuLjc3YzJkOWRiYzFlZmFiZThkMzAwZDc5NTg3
NjVjZDU2NDhlMzFhZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9GaW5kR1N0cmVhbWVyLmNt
YWtlCisrKyBiL1NvdXJjZS9jbWFrZS9GaW5kR1N0cmVhbWVyLmNtYWtlCkBAIC04NSw3ICs4NSw3
IEBAIEZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVChHU1RSRUFNRVJfQkFTRSBnc3RyZWFtZXItYmFz
ZS0xLjAgZ3N0YmFzZS0xLjApCiBGSU5EX0dTVFJFQU1FUl9DT01QT05FTlQoR1NUUkVBTUVSX0FQ
UCBnc3RyZWFtZXItYXBwLTEuMCBnc3RhcHAtMS4wKQogRklORF9HU1RSRUFNRVJfQ09NUE9ORU5U
KEdTVFJFQU1FUl9BVURJTyBnc3RyZWFtZXItYXVkaW8tMS4wIGdzdGF1ZGlvLTEuMCkKIEZJTkRf
R1NUUkVBTUVSX0NPTVBPTkVOVChHU1RSRUFNRVJfRkZUIGdzdHJlYW1lci1mZnQtMS4wIGdzdGZm
dC0xLjApCi1GSU5EX0dTVFJFQU1FUl9DT01QT05FTlQoR1NUUkVBTUVSX0dMIGdzdHJlYW1lci1n
bC0xLjA+PTEuNi4wIGdzdGdsLTEuMCkKK0ZJTkRfR1NUUkVBTUVSX0NPTVBPTkVOVChHU1RSRUFN
RVJfR0wgZ3N0cmVhbWVyLWdsLTEuMD49MS44LjAgZ3N0Z2wtMS4wKQogRklORF9HU1RSRUFNRVJf
Q09NUE9ORU5UKEdTVFJFQU1FUl9NUEVHVFMgZ3N0cmVhbWVyLW1wZWd0cy0xLjA+PTEuNC4wIGdz
dG1wZWd0cy0xLjApCiBGSU5EX0dTVFJFQU1FUl9DT01QT05FTlQoR1NUUkVBTUVSX1BCVVRJTFMg
Z3N0cmVhbWVyLXBidXRpbHMtMS4wIGdzdHBidXRpbHMtMS4wKQogRklORF9HU1RSRUFNRVJfQ09N
UE9ORU5UKEdTVFJFQU1FUl9UQUcgZ3N0cmVhbWVyLXRhZy0xLjAgZ3N0dGFnLTEuMCkKZGlmZiAt
LWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA1OTBlMjY5YjM0YjY2YTIyNzk2MjEy
NWQ2ZmM1MDU2ODA0YWI5ZTdlLi40Zjg5N2U1NTkyNWY0MGU3ZmFiYjEwYzkyZjkyMzNkOWYyYjJh
MzJkIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTYtMDUtMTggIEd3YW5nIFlvb24gSHdhbmcgIDx5b29uQGlnYWxpYS5jb20+CisKKyAg
ICAgICAgW0dTdHJlYW1lcl0gVXNlIEZha2VTaW5rIHRvIGdldCBhIGRlY29kZWQgdGV4dHVyZSBm
cm9tIGEgcGlwZWxpbmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE1MzY0MQorCisgICAgICAgIFJldmlld2VkIGJ5IFBoaWxpcHBlIE5vcm1hbmQuCisK
KyAgICAgICAgKiBTb3VyY2UvY21ha2UvRmluZEdTdHJlYW1lci5jbWFrZTogQnVtcCBnc3QtZ2wg
dmVyc2lvbiB0byAxLjguMAorCiAyMDE2LTA1LTE3ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZW1vdmUgRVM2X0dFTkVSQVRPUlMgZmxhZwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>