<?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>128579</bug_id>
          
          <creation_ts>2014-02-10 21:45:39 -0800</creation_ts>
          <short_desc>Support ANGLE_instanced_arrays for GLES backend.</short_desc>
          <delta_ts>2014-02-13 04:53:55 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="ChangSeok Oh">changseok</reporter>
          <assigned_to name="ChangSeok Oh">changseok</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>gustavo</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mrobinson</cc>
    
    <cc>noam</cc>
    
    <cc>roger_fong</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>979255</commentid>
    <comment_count>0</comment_count>
    <who name="ChangSeok Oh">changseok</who>
    <bug_when>2014-02-10 21:45:39 -0800</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979783</commentid>
    <comment_count>1</comment_count>
      <attachid>223944</attachid>
    <who name="ChangSeok Oh">changseok</who>
    <bug_when>2014-02-11 23:42:44 -0800</bug_when>
    <thetext>Created attachment 223944
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979784</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-11 23:44:19 -0800</bug_when>
    <thetext>Attachment 223944 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:1634:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:239:  Wrong number of spaces before statement. (expected: 4)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:242:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:245:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:248:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:251:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:254:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 7 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979812</commentid>
    <comment_count>3</comment_count>
      <attachid>223956</attachid>
    <who name="ChangSeok Oh">changseok</who>
    <bug_when>2014-02-12 01:44:34 -0800</bug_when>
    <thetext>Created attachment 223956
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979813</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-12 01:45:31 -0800</bug_when>
    <thetext>Attachment 223956 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:1634:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:239:  Wrong number of spaces before statement. (expected: 4)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:243:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:245:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:246:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:247:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:248:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:252:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:256:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:258:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:259:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:260:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:261:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:262:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:266:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:270:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:272:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:273:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 18 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979898</commentid>
    <comment_count>5</comment_count>
      <attachid>223956</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-02-12 10:16:17 -0800</bug_when>
    <thetext>Comment on attachment 223956
Patch

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

&gt; Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLES.cpp:244
&gt; +    if (m_glDrawArraysInstancedANGLE) {
&gt; +        m_context-&gt;makeContextCurrent();
&gt; +        m_glDrawArraysInstancedANGLE(mode, first, count, primcount);
&gt; +        return;
&gt; +    }
&gt; +
&gt; +    m_context-&gt;synthesizeGLError(GL_INVALID_OPERATION);

I think this should be the other way around.

if (!m_glDrawArraysInstancedANGLE) {
  m_context-&gt;error..
  return;
}

m_context-&gt;makeContextCurrent...

e.g. early exit if error, otherwise do the real work.

Same goes for the other two methods here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980177</commentid>
    <comment_count>6</comment_count>
      <attachid>224049</attachid>
    <who name="ChangSeok Oh">changseok</who>
    <bug_when>2014-02-12 23:09:14 -0800</bug_when>
    <thetext>Created attachment 224049
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980178</commentid>
    <comment_count>7</comment_count>
      <attachid>223956</attachid>
    <who name="ChangSeok Oh">changseok</who>
    <bug_when>2014-02-12 23:10:44 -0800</bug_when>
    <thetext>Comment on attachment 223956
Patch

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

Thanks for the review! I&apos;ll land this after seeing all greens.

&gt;&gt; Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLES.cpp:244
&gt;&gt; +    m_context-&gt;synthesizeGLError(GL_INVALID_OPERATION);
&gt; 
&gt; I think this should be the other way around.
&gt; 
&gt; if (!m_glDrawArraysInstancedANGLE) {
&gt;   m_context-&gt;error..
&gt;   return;
&gt; }
&gt; 
&gt; m_context-&gt;makeContextCurrent...
&gt; 
&gt; e.g. early exit if error, otherwise do the real work.
&gt; 
&gt; Same goes for the other two methods here.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980179</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-12 23:11:48 -0800</bug_when>
    <thetext>Attachment 224049 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:1634:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:239:  Wrong number of spaces before statement. (expected: 4)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:243:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:245:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:246:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:247:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:248:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:252:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:256:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:258:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:259:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:260:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:261:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:262:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:266:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:270:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:272:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/WebCore/platform/graphics/opengl/Extensions3DOpenGL.cpp:273:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 18 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980265</commentid>
    <comment_count>9</comment_count>
      <attachid>224049</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-13 04:53:52 -0800</bug_when>
    <thetext>Comment on attachment 224049
Patch

Clearing flags on attachment: 224049

Committed r164026: &lt;http://trac.webkit.org/changeset/164026&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980266</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-13 04:53:55 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223944</attachid>
            <date>2014-02-11 23:42:44 -0800</date>
            <delta_ts>2014-02-12 01:44:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128579-20140212164242.patch</filename>
            <type>text/plain</type>
            <size>15240</size>
            <attacher name="ChangSeok Oh">changseok</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzODY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWM4ZTVlOGUwN2E4NTRi
YmQ2YzczYjkwYTRkNzVjYjM4MDFmMzdjZS4uYzQ5ODU5MGY2MmQwNzM1ZjFjNmVlZGRkMTJiOTli
ZTQ0MGU3ODkyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE0LTAyLTExICBDaGFu
Z1Nlb2sgT2ggIDxjaGFuZ3Nlb2sub2hAY29sbGFib3JhLmNvbT4KKworICAgICAgICBTdXBwb3J0
IEFOR0xFX2luc3RhbmNlZF9hcnJheXMgZm9yIEdMRVMgYmFja2VuZC4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODU3OQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzb21lIEFQSXMgdG8gRXh0ZW5z
aW9uczNEIHRvIHN1cHBvcnQgQU5HTEVfaW5zdGFuY2VkX2FycmF5cyBmb3IgR0xFUyBiYWNrZW5k
LgorICAgICAgICBBdCB0aGUgc2FtZSB0aW1lLCBkcmF3QXJyYXlzSW5zdGFuY2VkLCBkcmF3RWxl
bWVudHNJbnN0YW5jZWQgYW5kIHZlcnRleEF0dHJpYkRpdmlzb3IKKyAgICAgICAgYXJlIG1vdmVk
IGZyb20gR0MzRE9wZW5HTC5jcHAgdG8gR0MzRE9wZW5HTENvbW1vbi5jcHAgc2luY2UgdGhleSBj
b3VsZCBiZSBzaGFyZWFibGUKKyAgICAgICAgdGhyb3VnaCBFeHRlbnNpb25zM0QuCisKKyAgICAg
ICAgQ292ZXJlZCBieSBmYXN0L2NhbnZhcy93ZWJnbC9hbmdsZS1pbnN0YW5jZWQtYXJyYXlzLmh0
bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RXh0ZW5zaW9uczNET3BlbkdMOjpkcmF3QXJyYXlzSW5zdGFuY2VkKToK
KyAgICAgICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMzRE9wZW5HTDo6ZHJhd0VsZW1lbnRzSW5zdGFu
Y2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMzRE9wZW5HTDo6dmVydGV4QXR0cmli
RGl2aXNvcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMz
RE9wZW5HTC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25z
M0RPcGVuR0xFUy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFeHRlbnNpb25zM0RPcGVuR0xFUzo6
RXh0ZW5zaW9uczNET3BlbkdMRVMpOgorICAgICAgICAoV2ViQ29yZTo6RXh0ZW5zaW9uczNET3Bl
bkdMRVM6OmRyYXdBcnJheXNJbnN0YW5jZWQpOgorICAgICAgICAoV2ViQ29yZTo6RXh0ZW5zaW9u
czNET3BlbkdMRVM6OmRyYXdFbGVtZW50c0luc3RhbmNlZCk6CisgICAgICAgIChXZWJDb3JlOjpF
eHRlbnNpb25zM0RPcGVuR0xFUzo6dmVydGV4QXR0cmliRGl2aXNvcik6CisgICAgICAgIChXZWJD
b3JlOjpFeHRlbnNpb25zM0RPcGVuR0xFUzo6c3VwcG9ydHNFeHRlbnNpb24pOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xFUy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHA6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3Bl
bkdMQ29tbW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpkcmF3
QXJyYXlzSW5zdGFuY2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpk
cmF3RWxlbWVudHNJbnN0YW5jZWQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
M0Q6OnZlcnRleEF0dHJpYkRpdmlzb3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29w
ZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTEVTLmNwcDoKKwogMjAxNC0wMi0xMCAgQnJhZHkg
RWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgSW5kZXhlZERCIGFzc2VydGlv
biBhdCBJREJUcmFuc2FjdGlvbkJhY2tlbmQ6On5JREJUcmFuc2FjdGlvbkJhY2tlbmQoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNELmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25zM0QuaAppbmRleCAy
NDU0ZTQwZWE5MWY0NGQwZjUzZDIwMDJiYjhhMjI3YTkyMDYwZTY1Li44Y2IzZTM4Mjk4OTNhYjk4
MzFmNGE4MWZmZDBhNWQwYWUzZDZhYTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25zM0QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9FeHRlbnNpb25zM0QuaApAQCAtNzQsNiArNzQsNyBAQCBwdWJsaWM6CiAgICAg
Ly8gICBHTF9DSFJPTUlVTV9jb3B5X3RleHR1cmUKICAgICAvLyAgIEdMX0NIUk9NSVVNX2ZsaXB5
CiAgICAgLy8gICBHTF9BUkJfZHJhd19idWZmZXJzIC8gR0xfRVhUX2RyYXdfYnVmZmVycworICAg
IC8vICAgR0xfQU5HTEVfaW5zdGFuY2VkX2FycmF5cwogCiAgICAgLy8gVGFrZXMgZnVsbCBuYW1l
IG9mIGV4dGVuc2lvbjsgZm9yIGV4YW1wbGUsCiAgICAgLy8gIkdMX0VYVF90ZXh0dXJlX2Zvcm1h
dF9CR1JBODg4OCIuCkBAIC0yMzgsNiArMjM5LDExIEBAIHB1YmxpYzoKICAgICAvLyBHTF9BUkJf
ZHJhd19idWZmZXJzIC8gR0xfRVhUX2RyYXdfYnVmZmVycwogICAgIHZpcnR1YWwgdm9pZCBkcmF3
QnVmZmVyc0VYVChHQzNEc2l6ZWkgbiwgY29uc3QgR0MzRGVudW0qIGJ1ZnMpID0gMDsKIAorICAg
IC8vIEdMX0FOR0xFX2luc3RhbmNlZF9hcnJheXMKKyAgICB2aXJ0dWFsIHZvaWQgZHJhd0FycmF5
c0luc3RhbmNlZChHQzNEZW51bSBtb2RlLCBHQzNEaW50IGZpcnN0LCBHQzNEc2l6ZWkgY291bnQs
IEdDM0RzaXplaSBwcmltY291bnQpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZHJhd0VsZW1lbnRz
SW5zdGFuY2VkKEdDM0RlbnVtIG1vZGUsIEdDM0RzaXplaSBjb3VudCwgR0MzRGVudW0gdHlwZSwg
bG9uZyBsb25nIG9mZnNldCwgR0MzRHNpemVpIHByaW1jb3VudCkgPSAwOworICAgIHZpcnR1YWwg
dm9pZCB2ZXJ0ZXhBdHRyaWJEaXZpc29yKEdDM0R1aW50IGluZGV4LCBHQzNEdWludCBkaXZpc29y
KSA9IDA7CisKICAgICB2aXJ0dWFsIGJvb2wgaXNOVklESUEoKSA9IDA7CiAgICAgdmlydHVhbCBi
b29sIGlzQU1EKCkgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpc0ludGVsKCkgPSAwOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMz
RE9wZW5HTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0
ZW5zaW9uczNET3BlbkdMLmNwcAppbmRleCBmMzE0NmMyMTc0Mzk3NGNiYTQ5OGExZGViMjRhODNk
ZWI3ZWViMmZlLi4yNDM4MTFhNDNjMDdkMTBjZTFhNmQ2ZDg5OTFiMTUyYTMzNGJiOTQyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9u
czNET3BlbkdMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVu
Z2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcApAQCAtMjM2LDYgKzIzNiwyNCBAQCB2b2lkIEV4dGVu
c2lvbnMzRE9wZW5HTDo6ZHJhd0J1ZmZlcnNFWFQoR0MzRHNpemVpIG4sIGNvbnN0IEdDM0RlbnVt
KiBidWZzKQogI2VuZGlmCiB9CiAKK3ZvaWQgRXh0ZW5zaW9uczNET3BlbkdMOjpkcmF3QXJyYXlz
SW5zdGFuY2VkKEdDM0RlbnVtIG1vZGUsIEdDM0RpbnQgZmlyc3QsIEdDM0RzaXplaSBjb3VudCwg
R0MzRHNpemVpIHByaW1jb3VudCkKK3sKKyAgICBtX2NvbnRleHQtPm1ha2VDb250ZXh0Q3VycmVu
dCgpOworICAgIDo6Z2xEcmF3QXJyYXlzSW5zdGFuY2VkKG1vZGUsIGZpcnN0LCBjb3VudCwgcHJp
bWNvdW50KTsKK30KKwordm9pZCBFeHRlbnNpb25zM0RPcGVuR0w6OmRyYXdFbGVtZW50c0luc3Rh
bmNlZChHQzNEZW51bSBtb2RlLCBHQzNEc2l6ZWkgY291bnQsIEdDM0RlbnVtIHR5cGUsIGxvbmcg
bG9uZyBvZmZzZXQsIEdDM0RzaXplaSBwcmltY291bnQpCit7CisgICAgbV9jb250ZXh0LT5tYWtl
Q29udGV4dEN1cnJlbnQoKTsKKyAgICA6OmdsRHJhd0VsZW1lbnRzSW5zdGFuY2VkKG1vZGUsIGNv
dW50LCB0eXBlLCByZWludGVycHJldF9jYXN0PEdMdm9pZCo+KHN0YXRpY19jYXN0PGludHB0cl90
PihvZmZzZXQpKSwgcHJpbWNvdW50KTsKK30KKwordm9pZCBFeHRlbnNpb25zM0RPcGVuR0w6OnZl
cnRleEF0dHJpYkRpdmlzb3IoR0MzRHVpbnQgaW5kZXgsIEdDM0R1aW50IGRpdmlzb3IpCit7Cisg
ICAgbV9jb250ZXh0LT5tYWtlQ29udGV4dEN1cnJlbnQoKTsKKyAgICA6OmdsVmVydGV4QXR0cmli
RGl2aXNvcihpbmRleCwgZGl2aXNvcik7Cit9CisKIFN0cmluZyBFeHRlbnNpb25zM0RPcGVuR0w6
OmdldEV4dGVuc2lvbnMoKQogewogICAgIHJldHVybiBTdHJpbmcocmVpbnRlcnByZXRfY2FzdDxj
b25zdCBjaGFyKj4oOjpnbEdldFN0cmluZyhHTF9FWFRFTlNJT05TKSkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5H
TC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMz
RE9wZW5HTC5oCmluZGV4IDgxYzVlNDlkNWQ4ZjVhOTk4MWE4ZWQyM2IxOWIxZjJkODY5MDE4ZGIu
LmU3ZWY4NjcyZTg4NzU4YjVhYzQ1N2E5ZTM4ZjhjNjNjOWFiMDk2MjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9u
czNET3BlbkdMLmgKQEAgLTUzLDYgKzUzLDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
cG9wR3JvdXBNYXJrZXJFWFQodm9pZCk7CiAgICAgdmlydHVhbCB2b2lkIGRyYXdCdWZmZXJzRVhU
KEdDM0RzaXplaSwgY29uc3QgR0MzRGVudW0qKTsKIAorICAgIHZpcnR1YWwgdm9pZCBkcmF3QXJy
YXlzSW5zdGFuY2VkKEdDM0RlbnVtIG1vZGUsIEdDM0RpbnQgZmlyc3QsIEdDM0RzaXplaSBjb3Vu
dCwgR0MzRHNpemVpIHByaW1jb3VudCk7CisgICAgdmlydHVhbCB2b2lkIGRyYXdFbGVtZW50c0lu
c3RhbmNlZChHQzNEZW51bSBtb2RlLCBHQzNEc2l6ZWkgY291bnQsIEdDM0RlbnVtIHR5cGUsIGxv
bmcgbG9uZyBvZmZzZXQsIEdDM0RzaXplaSBwcmltY291bnQpOworICAgIHZpcnR1YWwgdm9pZCB2
ZXJ0ZXhBdHRyaWJEaXZpc29yKEdDM0R1aW50IGluZGV4LCBHQzNEdWludCBkaXZpc29yKTsKKwog
cHJvdGVjdGVkOgogICAgIC8vIFRoaXMgY2xhc3Mgb25seSBuZWVkcyB0byBiZSBpbnN0YW50aWF0
ZWQgYnkgR3JhcGhpY3NDb250ZXh0M0QgaW1wbGVtZW50YXRpb25zLgogICAgIGZyaWVuZCBjbGFz
cyBHcmFwaGljc0NvbnRleHQzRDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xFUy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMRVMuY3BwCmluZGV4
IGRjOWU1OTI1MjEzZTk0OGI4ZjJiNTI5ZGE4YmRlZWQ5ZDdkOWIzNzkuLjkwOWZjYTE5OGY0MDg5
YWRmNmZlMjkwMGYwY2NlNjkzNWRlN2IwZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xFUy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTEVT
LmNwcApAQCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMiBSZXNlYXJjaCBJ
biBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxNCBDb2xsYWJvcmEgTHRkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC00MCw2ICs0MSw3IEBAIEV4dGVuc2lvbnMzRE9wZW5HTEVTOjpF
eHRlbnNpb25zM0RPcGVuR0xFUyhHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCkKICAgICAsIG1f
Y29udGV4dFJlc2V0U3RhdHVzKEdMX05PX0VSUk9SKQogICAgICwgbV9zdXBwb3J0c09FU3ZlcnRl
eEFycmF5T2JqZWN0KGZhbHNlKQogICAgICwgbV9zdXBwb3J0c0lNR011bHRpc2FtcGxlZFJlbmRl
clRvVGV4dHVyZShmYWxzZSkKKyAgICAsIG1fc3VwcG9ydHNBTkdMRWluc3RhbmNlZEFycmF5cyhm
YWxzZSkKICAgICAsIG1fZ2xGcmFtZWJ1ZmZlclRleHR1cmUyRE11bHRpc2FtcGxlSU1HKDApCiAg
ICAgLCBtX2dsUmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlSU1HKDApCiAgICAgLCBtX2ds
QmluZFZlcnRleEFycmF5T0VTKDApCkBAIC01MCw2ICs1Miw5IEBAIEV4dGVuc2lvbnMzRE9wZW5H
TEVTOjpFeHRlbnNpb25zM0RPcGVuR0xFUyhHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCkKICAg
ICAsIG1fZ2xSZWFkblBpeGVsc0VYVCgwKQogICAgICwgbV9nbEdldG5Vbmlmb3JtZnZFWFQoMCkK
ICAgICAsIG1fZ2xHZXRuVW5pZm9ybWl2RVhUKDApCisgICAgLCBtX2dsVmVydGV4QXR0cmliRGl2
aXNvckFOR0xFKG51bGxwdHIpCisgICAgLCBtX2dsRHJhd0FycmF5c0luc3RhbmNlZEFOR0xFKG51
bGxwdHIpCisgICAgLCBtX2dsRHJhd0VsZW1lbnRzSW5zdGFuY2VkQU5HTEUobnVsbHB0cikKIHsK
IH0KIApAQCAtMjI4LDYgKzIzMywzOSBAQCB2b2lkIEV4dGVuc2lvbnMzRE9wZW5HTEVTOjpnZXRu
VW5pZm9ybWl2RVhUKEdDM0R1aW50IHByb2dyYW0sIGludCBsb2NhdGlvbiwgR0MzRAogICAgIG1f
Y29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04pOwogfQogCit2
b2lkIEV4dGVuc2lvbnMzRE9wZW5HTEVTOjpkcmF3QXJyYXlzSW5zdGFuY2VkKEdDM0RlbnVtIG1v
ZGUsIEdDM0RpbnQgZmlyc3QsIEdDM0RzaXplaSBjb3VudCwgR0MzRHNpemVpIHByaW1jb3VudCkK
K3sKKyAgICBpZiAobV9nbERyYXdBcnJheXNJbnN0YW5jZWRBTkdMRSkgeworICAgICAgICBtX2Nv
bnRleHQtPm1ha2VDb250ZXh0Q3VycmVudCgpOworICAgICAgICBtX2dsRHJhd0FycmF5c0luc3Rh
bmNlZEFOR0xFKG1vZGUsIGZpcnN0LCBjb3VudCwgcHJpbWNvdW50KTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIG1fY29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR0xfSU5WQUxJRF9P
UEVSQVRJT04pOworfQorCit2b2lkIEV4dGVuc2lvbnMzRE9wZW5HTEVTOjpkcmF3RWxlbWVudHNJ
bnN0YW5jZWQoR0MzRGVudW0gbW9kZSwgR0MzRHNpemVpIGNvdW50LCBHQzNEZW51bSB0eXBlLCBs
b25nIGxvbmcgb2Zmc2V0LCBHQzNEc2l6ZWkgcHJpbWNvdW50KQoreworICAgIGlmIChtX2dsRHJh
d0VsZW1lbnRzSW5zdGFuY2VkQU5HTEUpIHsKKyAgICAgICAgbV9jb250ZXh0LT5tYWtlQ29udGV4
dEN1cnJlbnQoKTsKKyAgICAgICAgbV9nbERyYXdFbGVtZW50c0luc3RhbmNlZEFOR0xFKG1vZGUs
IGNvdW50LCB0eXBlLCByZWludGVycHJldF9jYXN0PEdMdm9pZCo+KHN0YXRpY19jYXN0PGludHB0
cl90PihvZmZzZXQpKSwgcHJpbWNvdW50KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAg
IG1fY29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04pOworfQor
Cit2b2lkIEV4dGVuc2lvbnMzRE9wZW5HTEVTOjp2ZXJ0ZXhBdHRyaWJEaXZpc29yKEdDM0R1aW50
IGluZGV4LCBHQzNEdWludCBkaXZpc29yKQoreworICAgIGlmIChtX2dsVmVydGV4QXR0cmliRGl2
aXNvckFOR0xFKSB7CisgICAgICAgIG1fY29udGV4dC0+bWFrZUNvbnRleHRDdXJyZW50KCk7Cisg
ICAgICAgIG1fZ2xWZXJ0ZXhBdHRyaWJEaXZpc29yQU5HTEUoaW5kZXgsIGRpdmlzb3IpOworICAg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9jb250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihH
TF9JTlZBTElEX09QRVJBVElPTik7Cit9CisKIGJvb2wgRXh0ZW5zaW9uczNET3BlbkdMRVM6OnN1
cHBvcnRzRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgbmFtZSkKIHsKICAgICBpZiAobV9hdmFpbGFi
bGVFeHRlbnNpb25zLmNvbnRhaW5zKG5hbWUpKSB7CkBAIC0yNDYsNiArMjg0LDExIEBAIGJvb2wg
RXh0ZW5zaW9uczNET3BlbkdMRVM6OnN1cHBvcnRzRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgbmFt
ZSkKICAgICAgICAgICAgIG1fZ2xSZWFkblBpeGVsc0VYVCA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZO
R0xSRUFETlBJWEVMU0VYVFBST0M+KGVnbEdldFByb2NBZGRyZXNzKCJnbFJlYWRuUGl4ZWxzRVhU
IikpOwogICAgICAgICAgICAgbV9nbEdldG5Vbmlmb3JtZnZFWFQgPSByZWludGVycHJldF9jYXN0
PFBGTkdMR0VUTlVOSUZPUk1GVkVYVFBST0M+KGVnbEdldFByb2NBZGRyZXNzKCJnbEdldG5Vbmlm
b3JtZnZFWFQiKSk7CiAgICAgICAgICAgICBtX2dsR2V0blVuaWZvcm1pdkVYVCA9IHJlaW50ZXJw
cmV0X2Nhc3Q8UEZOR0xHRVROVU5JRk9STUlWRVhUUFJPQz4oZWdsR2V0UHJvY0FkZHJlc3MoImds
R2V0blVuaWZvcm1pdkVYVCIpKTsKKyAgICAgICAgfSBlbHNlIGlmICghbV9zdXBwb3J0c0FOR0xF
aW5zdGFuY2VkQXJyYXlzICYmIG5hbWUgPT0gIkdMX0FOR0xFX2luc3RhbmNlZF9hcnJheXMiKSB7
CisgICAgICAgICAgICBtX2dsVmVydGV4QXR0cmliRGl2aXNvckFOR0xFID0gcmVpbnRlcnByZXRf
Y2FzdDxQRk5HTFZFUlRFWEFUVFJJQkRJVklTT1JBTkdMRVBST0M+KGVnbEdldFByb2NBZGRyZXNz
KCJnbFZlcnRleEF0dHJpYkRpdmlzb3JBTkdMRSIpKTsKKyAgICAgICAgICAgIG1fZ2xEcmF3QXJy
YXlzSW5zdGFuY2VkQU5HTEUgPSByZWludGVycHJldF9jYXN0PFBGTkdMRFJBV0FSUkFZU0lOU1RB
TkNFREFOR0xFUFJPQyA+KGVnbEdldFByb2NBZGRyZXNzKCJnbERyYXdBcnJheXNJbnN0YW5jZWRB
TkdMRSIpKTsKKyAgICAgICAgICAgIG1fZ2xEcmF3RWxlbWVudHNJbnN0YW5jZWRBTkdMRSA9IHJl
aW50ZXJwcmV0X2Nhc3Q8UEZOR0xEUkFXRUxFTUVOVFNJTlNUQU5DRURBTkdMRVBST0MgPihlZ2xH
ZXRQcm9jQWRkcmVzcygiZ2xEcmF3RWxlbWVudHNJbnN0YW5jZWRBTkdMRSIpKTsKKyAgICAgICAg
ICAgIG1fc3VwcG9ydHNBTkdMRWluc3RhbmNlZEFycmF5cyA9IHRydWU7CiAgICAgICAgIH0gZWxz
ZSBpZiAobmFtZSA9PSAiR0xfRVhUX2RyYXdfYnVmZmVycyIpIHsKICAgICAgICAgICAgIC8vIEZJ
WE1FOiBpbXBsZW1lbnQgdGhlIHN1cHBvcnQuCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5z
aW9uczNET3BlbkdMRVMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5n
bC9FeHRlbnNpb25zM0RPcGVuR0xFUy5oCmluZGV4IDdjNDA1NjZlOTMwZjc1NjdmYjFjN2JhMTAx
ZmQ4ZGFhYjkwN2VlOWYuLjg3ZWM1NzYzZWM2YzNjZjQ3MzdmZTU3NzJmNTYxMDJhOWVjMDc5ZGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRl
bnNpb25zM0RPcGVuR0xFUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xFUy5oCkBAIC04MCw2ICs4MCwxMCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIGJpbmRWZXJ0ZXhBcnJheU9FUyhQbGF0Zm9ybTNET2JqZWN0KTsK
ICAgICB2aXJ0dWFsIHZvaWQgZHJhd0J1ZmZlcnNFWFQoR0MzRHNpemVpLCBjb25zdCBHQzNEZW51
bSopOwogCisgICAgdmlydHVhbCB2b2lkIGRyYXdBcnJheXNJbnN0YW5jZWQoR0MzRGVudW0gbW9k
ZSwgR0MzRGludCBmaXJzdCwgR0MzRHNpemVpIGNvdW50LCBHQzNEc2l6ZWkgcHJpbWNvdW50KTsK
KyAgICB2aXJ0dWFsIHZvaWQgZHJhd0VsZW1lbnRzSW5zdGFuY2VkKEdDM0RlbnVtIG1vZGUsIEdD
M0RzaXplaSBjb3VudCwgR0MzRGVudW0gdHlwZSwgbG9uZyBsb25nIG9mZnNldCwgR0MzRHNpemVp
IHByaW1jb3VudCk7CisgICAgdmlydHVhbCB2b2lkIHZlcnRleEF0dHJpYkRpdmlzb3IoR0MzRHVp
bnQgaW5kZXgsIEdDM0R1aW50IGRpdmlzb3IpOworCiAgICAgLy8gRVhUIFJvYnVzdG5lc3MgLSBy
ZXNldAogICAgIHZpcnR1YWwgaW50IGdldEdyYXBoaWNzUmVzZXRTdGF0dXNBUkIoKTsKICAgICB2
b2lkIHNldEVYVENvbnRleHRMb3N0Q2FsbGJhY2soUGFzc093blB0cjxHcmFwaGljc0NvbnRleHQz
RDo6Q29udGV4dExvc3RDYWxsYmFjaz4pOwpAQCAtMTAxLDYgKzEwNSw3IEBAIHByb3RlY3RlZDoK
IAogICAgIGJvb2wgbV9zdXBwb3J0c09FU3ZlcnRleEFycmF5T2JqZWN0OwogICAgIGJvb2wgbV9z
dXBwb3J0c0lNR011bHRpc2FtcGxlZFJlbmRlclRvVGV4dHVyZTsKKyAgICBib29sIG1fc3VwcG9y
dHNBTkdMRWluc3RhbmNlZEFycmF5czsKIAogICAgIFBGTkdMRlJBTUVCVUZGRVJURVhUVVJFMkRN
VUxUSVNBTVBMRUlNRyBtX2dsRnJhbWVidWZmZXJUZXh0dXJlMkRNdWx0aXNhbXBsZUlNRzsKICAg
ICBQRk5HTFJFTkRFUkJVRkZFUlNUT1JBR0VNVUxUSVNBTVBMRUlNRyBtX2dsUmVuZGVyYnVmZmVy
U3RvcmFnZU11bHRpc2FtcGxlSU1HOwpAQCAtMTEyLDYgKzExNywxMCBAQCBwcm90ZWN0ZWQ6CiAg
ICAgUEZOR0xSRUFETlBJWEVMU0VYVFBST0MgbV9nbFJlYWRuUGl4ZWxzRVhUOwogICAgIFBGTkdM
R0VUTlVOSUZPUk1GVkVYVFBST0MgbV9nbEdldG5Vbmlmb3JtZnZFWFQ7CiAgICAgUEZOR0xHRVRO
VU5JRk9STUlWRVhUUFJPQyBtX2dsR2V0blVuaWZvcm1pdkVYVDsKKyAgICBQRk5HTFZFUlRFWEFU
VFJJQkRJVklTT1JBTkdMRVBST0MgbV9nbFZlcnRleEF0dHJpYkRpdmlzb3JBTkdMRTsKKyAgICBQ
Rk5HTERSQVdBUlJBWVNJTlNUQU5DRURBTkdMRVBST0MgbV9nbERyYXdBcnJheXNJbnN0YW5jZWRB
TkdMRTsKKyAgICBQRk5HTERSQVdFTEVNRU5UU0lOU1RBTkNFREFOR0xFUFJPQyBtX2dsRHJhd0Vs
ZW1lbnRzSW5zdGFuY2VkQU5HTEU7CisKIAogICAgIE93blB0cjxHcmFwaGljc0NvbnRleHQzRDo6
Q29udGV4dExvc3RDYWxsYmFjaz4gbV9jb250ZXh0TG9zdENhbGxiYWNrOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRl
eHQzRE9wZW5HTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wv
R3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwCmluZGV4IDYxMTVkMzdlZWM0ZTE2NDFjZmQ1ZDgz
NDNkMDc5ZGI4ODY4NWFjMTEuLmUwNDg0MThiNGQ0MmQ2MzA4MWQ4MjIwNTU3NDI4ZjE4ODVlOTY1
MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9H
cmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcApAQCAtMzUxLDI2ICsz
NTEsNiBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpyZWFkUGl4ZWxzKEdDM0RpbnQgeCwgR0Mz
RGludCB5LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaQogICAgICAgICA6OmdsQmluZEZyYW1lYnVm
ZmVyRVhUKEdyYXBoaWNzQ29udGV4dDNEOjpGUkFNRUJVRkZFUiwgbV9tdWx0aXNhbXBsZUZCTyk7
CiB9CiAKLSNpZiAhUExBVEZPUk0oQ09DT0EpCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpkcmF3
QXJyYXlzSW5zdGFuY2VkKEdDM0RlbnVtIG1vZGUsIEdDM0RpbnQgZmlyc3QsIEdDM0RzaXplaSBj
b3VudCwgR0MzRHNpemVpIHByaW1jb3VudCkKLXsKLSAgICBtYWtlQ29udGV4dEN1cnJlbnQoKTsK
LSAgICA6OmdsRHJhd0FycmF5c0luc3RhbmNlZChtb2RlLCBmaXJzdCwgY291bnQsIHByaW1jb3Vu
dCk7Ci19Ci0KLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OmRyYXdFbGVtZW50c0luc3RhbmNlZChH
QzNEZW51bSBtb2RlLCBHQzNEc2l6ZWkgY291bnQsIEdDM0RlbnVtIHR5cGUsIEdDM0RpbnRwdHIg
b2Zmc2V0LCBHQzNEc2l6ZWkgcHJpbWNvdW50KQotewotICAgIG1ha2VDb250ZXh0Q3VycmVudCgp
OwotICAgIDo6Z2xEcmF3RWxlbWVudHNJbnN0YW5jZWQobW9kZSwgY291bnQsIHR5cGUsIHJlaW50
ZXJwcmV0X2Nhc3Q8R0x2b2lkKj4oc3RhdGljX2Nhc3Q8aW50cHRyX3Q+KG9mZnNldCkpLCBwcmlt
Y291bnQpOwotfQotCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp2ZXJ0ZXhBdHRyaWJEaXZpc29y
KEdDM0R1aW50IGluZGV4LCBHQzNEdWludCBkaXZpc29yKQotewotICAgIG1ha2VDb250ZXh0Q3Vy
cmVudCgpOwotICAgIDo6Z2xWZXJ0ZXhBdHRyaWJEaXZpc29yKGluZGV4LCBkaXZpc29yKTsKLX0K
LSNlbmRpZgotCiB9CiAKICNlbmRpZiAvLyBVU0UoM0RfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RP
cGVuR0xDb21tb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Blbmds
L0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcAppbmRleCBjMTM1NmEwZTljMDRlZjY5
NzRhNmUwZjU5MmYwMDE4YmRjYWM4OWU5Li43M2FkYmMxOWU4YmU0OWU2ODUwYzdkODczMzdhYTg3
NmMzM2E1NTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9v
cGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xDb21tb24uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1v
bi5jcHAKQEAgLTE2MzAsNiArMTYzMCwyMyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp0ZXhJ
bWFnZTJERGlyZWN0KEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGVudQogICAg
IDo6Z2xUZXhJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIGludGVybmFsZm9ybWF0LCB3aWR0aCwgaGVp
Z2h0LCBib3JkZXIsIGZvcm1hdCwgdHlwZSwgcGl4ZWxzKTsKIH0KIAorI2lmICFQTEFURk9STShD
T0NPQSkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OmRyYXdBcnJheXNJbnN0YW5jZWQoR0MzRGVu
dW0gbW9kZSwgR0MzRGludCBmaXJzdCwgR0MzRHNpemVpIGNvdW50LCBHQzNEc2l6ZWkgcHJpbWNv
dW50KQoreworICAgIGdldEV4dGVuc2lvbnMoKS0+ZHJhd0FycmF5c0luc3RhbmNlZChtb2RlLCBm
aXJzdCwgY291bnQsIHByaW1jb3VudCk7Cit9CisKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OmRy
YXdFbGVtZW50c0luc3RhbmNlZChHQzNEZW51bSBtb2RlLCBHQzNEc2l6ZWkgY291bnQsIEdDM0Rl
bnVtIHR5cGUsIEdDM0RpbnRwdHIgb2Zmc2V0LCBHQzNEc2l6ZWkgcHJpbWNvdW50KQoreworICAg
IGdldEV4dGVuc2lvbnMoKS0+ZHJhd0VsZW1lbnRzSW5zdGFuY2VkKG1vZGUsIGNvdW50LCB0eXBl
LCBvZmZzZXQsIHByaW1jb3VudCk7Cit9CisKK3ZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnZlcnRl
eEF0dHJpYkRpdmlzb3IoR0MzRHVpbnQgaW5kZXgsIEdDM0R1aW50IGRpdmlzb3IpCit7CisgICAg
Z2V0RXh0ZW5zaW9ucygpLT52ZXJ0ZXhBdHRyaWJEaXZpc29yKGluZGV4LCBkaXZpc29yKTsKK30K
KyNlbmRpZgorCiB9CiAKICNlbmRpZiAvLyBVU0UoM0RfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RP
cGVuR0xFUy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3Jh
cGhpY3NDb250ZXh0M0RPcGVuR0xFUy5jcHAKaW5kZXggNTQ2YjJkNDMzMTkxMGNmMWY1YTA0MDkz
NGE1MTZkMzFlMDhlMDdhZC4uMGVmYzUyMTkyYmUyMTdjMTc1YjAxZjI2MjA4Y2JlYTlhZGE5OGU5
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dy
YXBoaWNzQ29udGV4dDNET3BlbkdMRVMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTEVTLmNwcApAQCAtMjA2LDI5
ICsyMDYsNiBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpjbGVhckRlcHRoKEdDM0RjbGFtcGYg
ZGVwdGgpCiAgICAgOjpnbENsZWFyRGVwdGhmKGRlcHRoKTsKIH0KIAotdm9pZCBHcmFwaGljc0Nv
bnRleHQzRDo6ZHJhd0FycmF5c0luc3RhbmNlZChHQzNEZW51bSBtb2RlLCBHQzNEaW50IGZpcnN0
LCBHQzNEc2l6ZWkgY291bnQsIEdDM0RzaXplaSBwcmltY291bnQpCi17Ci0gICAgVU5VU0VEX1BB
UkFNKG1vZGUpOwotICAgIFVOVVNFRF9QQVJBTShmaXJzdCk7Ci0gICAgVU5VU0VEX1BBUkFNKGNv
dW50KTsKLSAgICBVTlVTRURfUEFSQU0ocHJpbWNvdW50KTsKLX0KLQotdm9pZCBHcmFwaGljc0Nv
bnRleHQzRDo6ZHJhd0VsZW1lbnRzSW5zdGFuY2VkKEdDM0RlbnVtIG1vZGUsIEdDM0RzaXplaSBj
b3VudCwgR0MzRGVudW0gdHlwZSwgR0MzRGludHB0ciBvZmZzZXQsIEdDM0RzaXplaSBwcmltY291
bnQpCi17Ci0gICAgVU5VU0VEX1BBUkFNKG1vZGUpOwotICAgIFVOVVNFRF9QQVJBTShjb3VudCk7
Ci0gICAgVU5VU0VEX1BBUkFNKHR5cGUpOwotICAgIFVOVVNFRF9QQVJBTShvZmZzZXQpOwotICAg
IFVOVVNFRF9QQVJBTShwcmltY291bnQpOwotfQotCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjp2
ZXJ0ZXhBdHRyaWJEaXZpc29yKEdDM0R1aW50IGluZGV4LCBHQzNEdWludCBkaXZpc29yKQotewot
ICAgIFVOVVNFRF9QQVJBTShpbmRleCk7Ci0gICAgVU5VU0VEX1BBUkFNKGRpdmlzb3IpOwotfQot
CiBFeHRlbnNpb25zM0QqIEdyYXBoaWNzQ29udGV4dDNEOjpnZXRFeHRlbnNpb25zKCkKIHsKICAg
ICBpZiAoIW1fZXh0ZW5zaW9ucykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223956</attachid>
            <date>2014-02-12 01:44:34 -0800</date>
            <delta_ts>2014-02-12 23:10:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128579-20140212184432.patch</filename>
            <type>text/plain</type>
            <size>15638</size>
            <attacher name="ChangSeok Oh">changseok</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzOTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2RjNmE2YjNjY2NiYjM5
ZWJkNzI2OTQ1NjI3MDFmZmRkOWY5ZTc2My4uMzQxYjQ5MjIyYWQwYjJjZmMwMzliMzgyZjJlOTUz
MmQzODZhOTRjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE0LTAyLTEyICBDaGFu
Z1Nlb2sgT2ggIDxjaGFuZ3Nlb2sub2hAY29sbGFib3JhLmNvbT4KKworICAgICAgICBTdXBwb3J0
IEFOR0xFX2luc3RhbmNlZF9hcnJheXMgZm9yIEdMRVMgYmFja2VuZC4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODU3OQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzb21lIEFQSXMgdG8gRXh0ZW5z
aW9uczNEIHRvIHN1cHBvcnQgQU5HTEVfaW5zdGFuY2VkX2FycmF5cyBmb3IgR0xFUyBiYWNrZW5k
LgorICAgICAgICBBdCB0aGUgc2FtZSB0aW1lLCBkcmF3QXJyYXlzSW5zdGFuY2VkLCBkcmF3RWxl
bWVudHNJbnN0YW5jZWQgYW5kIHZlcnRleEF0dHJpYkRpdmlzb3IKKyAgICAgICAgYXJlIG1vdmVk
IGZyb20gR0MzRE9wZW5HTC5jcHAgdG8gR0MzRE9wZW5HTENvbW1vbi5jcHAgc2luY2UgdGhleSBj
b3VsZCBiZSBzaGFyZWFibGUKKyAgICAgICAgdGhyb3VnaCBFeHRlbnNpb25zM0QuCisKKyAgICAg
ICAgQ292ZXJlZCBieSBmYXN0L2NhbnZhcy93ZWJnbC9hbmdsZS1pbnN0YW5jZWQtYXJyYXlzLmh0
bWwKKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RXh0ZW5zaW9uczNET3BlbkdMOjpkcmF3QXJyYXlzSW5zdGFuY2VkKToK
KyAgICAgICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMzRE9wZW5HTDo6ZHJhd0VsZW1lbnRzSW5zdGFu
Y2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMzRE9wZW5HTDo6dmVydGV4QXR0cmli
RGl2aXNvcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMz
RE9wZW5HTC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25z
M0RPcGVuR0xFUy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFeHRlbnNpb25zM0RPcGVuR0xFUzo6
RXh0ZW5zaW9uczNET3BlbkdMRVMpOgorICAgICAgICAoV2ViQ29yZTo6RXh0ZW5zaW9uczNET3Bl
bkdMRVM6OmRyYXdBcnJheXNJbnN0YW5jZWQpOgorICAgICAgICAoV2ViQ29yZTo6RXh0ZW5zaW9u
czNET3BlbkdMRVM6OmRyYXdFbGVtZW50c0luc3RhbmNlZCk6CisgICAgICAgIChXZWJDb3JlOjpF
eHRlbnNpb25zM0RPcGVuR0xFUzo6dmVydGV4QXR0cmliRGl2aXNvcik6CisgICAgICAgIChXZWJD
b3JlOjpFeHRlbnNpb25zM0RPcGVuR0xFUzo6c3VwcG9ydHNFeHRlbnNpb24pOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xFUy5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHA6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3Bl
bkdMQ29tbW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpkcmF3
QXJyYXlzSW5zdGFuY2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpk
cmF3RWxlbWVudHNJbnN0YW5jZWQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0
M0Q6OnZlcnRleEF0dHJpYkRpdmlzb3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29w
ZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTEVTLmNwcDoKKwogMjAxNC0wMi0xMSAgWmFsYW4g
QnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFN1YnBpeGVsIHJlbmRlcmluZzog
U3dpdGNoIHJlcGFpbnQgcmVjdCBmcm9tIEludFJlY3QgdG8gTGF5b3V0UmVjdCB0byBiZSBhYmxl
IHRvCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNp
b25zM0QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5o
CmluZGV4IDI0NTRlNDBlYTkxZjQ0ZDBmNTNkMjAwMmJiOGEyMjdhOTIwNjBlNjUuLjhjYjNlMzgy
OTg5M2FiOTgzMWY0YTgxZmZkMGE1ZDBhZTNkNmFhM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oCkBAIC03NCw2ICs3NCw3IEBAIHB1Ymxp
YzoKICAgICAvLyAgIEdMX0NIUk9NSVVNX2NvcHlfdGV4dHVyZQogICAgIC8vICAgR0xfQ0hST01J
VU1fZmxpcHkKICAgICAvLyAgIEdMX0FSQl9kcmF3X2J1ZmZlcnMgLyBHTF9FWFRfZHJhd19idWZm
ZXJzCisgICAgLy8gICBHTF9BTkdMRV9pbnN0YW5jZWRfYXJyYXlzCiAKICAgICAvLyBUYWtlcyBm
dWxsIG5hbWUgb2YgZXh0ZW5zaW9uOyBmb3IgZXhhbXBsZSwKICAgICAvLyAiR0xfRVhUX3RleHR1
cmVfZm9ybWF0X0JHUkE4ODg4Ii4KQEAgLTIzOCw2ICsyMzksMTEgQEAgcHVibGljOgogICAgIC8v
IEdMX0FSQl9kcmF3X2J1ZmZlcnMgLyBHTF9FWFRfZHJhd19idWZmZXJzCiAgICAgdmlydHVhbCB2
b2lkIGRyYXdCdWZmZXJzRVhUKEdDM0RzaXplaSBuLCBjb25zdCBHQzNEZW51bSogYnVmcykgPSAw
OwogCisgICAgLy8gR0xfQU5HTEVfaW5zdGFuY2VkX2FycmF5cworICAgIHZpcnR1YWwgdm9pZCBk
cmF3QXJyYXlzSW5zdGFuY2VkKEdDM0RlbnVtIG1vZGUsIEdDM0RpbnQgZmlyc3QsIEdDM0RzaXpl
aSBjb3VudCwgR0MzRHNpemVpIHByaW1jb3VudCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkcmF3
RWxlbWVudHNJbnN0YW5jZWQoR0MzRGVudW0gbW9kZSwgR0MzRHNpemVpIGNvdW50LCBHQzNEZW51
bSB0eXBlLCBsb25nIGxvbmcgb2Zmc2V0LCBHQzNEc2l6ZWkgcHJpbWNvdW50KSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIHZlcnRleEF0dHJpYkRpdmlzb3IoR0MzRHVpbnQgaW5kZXgsIEdDM0R1aW50
IGRpdmlzb3IpID0gMDsKKwogICAgIHZpcnR1YWwgYm9vbCBpc05WSURJQSgpID0gMDsKICAgICB2
aXJ0dWFsIGJvb2wgaXNBTUQoKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzSW50ZWwoKSA9IDA7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0
ZW5zaW9uczNET3BlbkdMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29w
ZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwCmluZGV4IGYzMTQ2YzIxNzQzOTc0Y2JhNDk4YTFk
ZWIyNGE4M2RlYjdlZWIyZmUuLmNkZDYyNTk5YTlkNDNlZWI3YzJjM2QxOGVlNTY4Y2M3NjYyODdh
NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9F
eHRlbnNpb25zM0RPcGVuR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuY3BwCkBAIC0yMzYsNiArMjM2LDQ0IEBAIHZv
aWQgRXh0ZW5zaW9uczNET3BlbkdMOjpkcmF3QnVmZmVyc0VYVChHQzNEc2l6ZWkgbiwgY29uc3Qg
R0MzRGVudW0qIGJ1ZnMpCiAjZW5kaWYKIH0KIAordm9pZCBFeHRlbnNpb25zM0RPcGVuR0w6OmRy
YXdBcnJheXNJbnN0YW5jZWQoR0MzRGVudW0gbW9kZSwgR0MzRGludCBmaXJzdCwgR0MzRHNpemVp
IGNvdW50LCBHQzNEc2l6ZWkgcHJpbWNvdW50KQoreworI2lmIEVOQUJMRShHVEspCisgICAgbV9j
b250ZXh0LT5tYWtlQ29udGV4dEN1cnJlbnQoKTsKKyAgICA6OmdsRHJhd0FycmF5c0luc3RhbmNl
ZChtb2RlLCBmaXJzdCwgY291bnQsIHByaW1jb3VudCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJB
TShtb2RlKTsKKyAgICBVTlVTRURfUEFSQU0oZmlyc3QpOworICAgIFVOVVNFRF9QQVJBTShjb3Vu
dCk7CisgICAgVU5VU0VEX1BBUkFNKHByaW1jb3VudCk7CisjZW5kaWYKK30KKwordm9pZCBFeHRl
bnNpb25zM0RPcGVuR0w6OmRyYXdFbGVtZW50c0luc3RhbmNlZChHQzNEZW51bSBtb2RlLCBHQzNE
c2l6ZWkgY291bnQsIEdDM0RlbnVtIHR5cGUsIGxvbmcgbG9uZyBvZmZzZXQsIEdDM0RzaXplaSBw
cmltY291bnQpCit7CisjaWYgRU5BQkxFKEdUSykKKyAgICBtX2NvbnRleHQtPm1ha2VDb250ZXh0
Q3VycmVudCgpOworICAgIDo6Z2xEcmF3RWxlbWVudHNJbnN0YW5jZWQobW9kZSwgY291bnQsIHR5
cGUsIHJlaW50ZXJwcmV0X2Nhc3Q8R0x2b2lkKj4oc3RhdGljX2Nhc3Q8aW50cHRyX3Q+KG9mZnNl
dCkpLCBwcmltY291bnQpOworI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0obW9kZSk7CisgICAgVU5V
U0VEX1BBUkFNKGNvdW50KTsKKyAgICBVTlVTRURfUEFSQU0odHlwZSk7CisgICAgVU5VU0VEX1BB
UkFNKG9mZnNldCk7CisgICAgVU5VU0VEX1BBUkFNKHByaW1jb3VudCk7CisjZW5kaWYKK30KKwor
dm9pZCBFeHRlbnNpb25zM0RPcGVuR0w6OnZlcnRleEF0dHJpYkRpdmlzb3IoR0MzRHVpbnQgaW5k
ZXgsIEdDM0R1aW50IGRpdmlzb3IpCit7CisjaWYgRU5BQkxFKEdUSykKKyAgICBtX2NvbnRleHQt
Pm1ha2VDb250ZXh0Q3VycmVudCgpOworICAgIDo6Z2xWZXJ0ZXhBdHRyaWJEaXZpc29yKGluZGV4
LCBkaXZpc29yKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFNKGluZGV4KTsKKyAgICBVTlVTRURf
UEFSQU0oZGl2aXNvcik7CisjZW5kaWYKK30KKwogU3RyaW5nIEV4dGVuc2lvbnMzRE9wZW5HTDo6
Z2V0RXh0ZW5zaW9ucygpCiB7CiAgICAgcmV0dXJuIFN0cmluZyhyZWludGVycHJldF9jYXN0PGNv
bnN0IGNoYXIqPig6OmdsR2V0U3RyaW5nKEdMX0VYVEVOU0lPTlMpKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdM
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNE
T3BlbkdMLmgKaW5kZXggODFjNWU0OWQ1ZDhmNWE5OTgxYThlZDIzYjE5YjFmMmQ4NjkwMThkYi4u
ZTdlZjg2NzJlODg3NThiNWFjNDU3YTllMzhmOGM2M2M5YWIwOTYyOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25z
M0RPcGVuR0wuaApAQCAtNTMsNiArNTMsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBw
b3BHcm91cE1hcmtlckVYVCh2b2lkKTsKICAgICB2aXJ0dWFsIHZvaWQgZHJhd0J1ZmZlcnNFWFQo
R0MzRHNpemVpLCBjb25zdCBHQzNEZW51bSopOwogCisgICAgdmlydHVhbCB2b2lkIGRyYXdBcnJh
eXNJbnN0YW5jZWQoR0MzRGVudW0gbW9kZSwgR0MzRGludCBmaXJzdCwgR0MzRHNpemVpIGNvdW50
LCBHQzNEc2l6ZWkgcHJpbWNvdW50KTsKKyAgICB2aXJ0dWFsIHZvaWQgZHJhd0VsZW1lbnRzSW5z
dGFuY2VkKEdDM0RlbnVtIG1vZGUsIEdDM0RzaXplaSBjb3VudCwgR0MzRGVudW0gdHlwZSwgbG9u
ZyBsb25nIG9mZnNldCwgR0MzRHNpemVpIHByaW1jb3VudCk7CisgICAgdmlydHVhbCB2b2lkIHZl
cnRleEF0dHJpYkRpdmlzb3IoR0MzRHVpbnQgaW5kZXgsIEdDM0R1aW50IGRpdmlzb3IpOworCiBw
cm90ZWN0ZWQ6CiAgICAgLy8gVGhpcyBjbGFzcyBvbmx5IG5lZWRzIHRvIGJlIGluc3RhbnRpYXRl
ZCBieSBHcmFwaGljc0NvbnRleHQzRCBpbXBsZW1lbnRhdGlvbnMuCiAgICAgZnJpZW5kIGNsYXNz
IEdyYXBoaWNzQ29udGV4dDNEOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTEVTLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xFUy5jcHAKaW5kZXgg
ZGM5ZTU5MjUyMTNlOTQ4YjhmMmI1MjlkYThiZGVlZDlkN2Q5YjM3OS4uOTA5ZmNhMTk4ZjQwODlh
ZGY2ZmUyOTAwZjBjY2U2OTM1ZGU3YjBkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTEVTLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMRVMu
Y3BwCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDEyIFJlc2VhcmNoIElu
IE1vdGlvbiBMaW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDE0IENvbGxhYm9yYSBMdGQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTQwLDYgKzQxLDcgQEAgRXh0ZW5zaW9uczNET3BlbkdMRVM6OkV4
dGVuc2lvbnMzRE9wZW5HTEVTKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0KQogICAgICwgbV9j
b250ZXh0UmVzZXRTdGF0dXMoR0xfTk9fRVJST1IpCiAgICAgLCBtX3N1cHBvcnRzT0VTdmVydGV4
QXJyYXlPYmplY3QoZmFsc2UpCiAgICAgLCBtX3N1cHBvcnRzSU1HTXVsdGlzYW1wbGVkUmVuZGVy
VG9UZXh0dXJlKGZhbHNlKQorICAgICwgbV9zdXBwb3J0c0FOR0xFaW5zdGFuY2VkQXJyYXlzKGZh
bHNlKQogICAgICwgbV9nbEZyYW1lYnVmZmVyVGV4dHVyZTJETXVsdGlzYW1wbGVJTUcoMCkKICAg
ICAsIG1fZ2xSZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGVJTUcoMCkKICAgICAsIG1fZ2xC
aW5kVmVydGV4QXJyYXlPRVMoMCkKQEAgLTUwLDYgKzUyLDkgQEAgRXh0ZW5zaW9uczNET3BlbkdM
RVM6OkV4dGVuc2lvbnMzRE9wZW5HTEVTKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0KQogICAg
ICwgbV9nbFJlYWRuUGl4ZWxzRVhUKDApCiAgICAgLCBtX2dsR2V0blVuaWZvcm1mdkVYVCgwKQog
ICAgICwgbV9nbEdldG5Vbmlmb3JtaXZFWFQoMCkKKyAgICAsIG1fZ2xWZXJ0ZXhBdHRyaWJEaXZp
c29yQU5HTEUobnVsbHB0cikKKyAgICAsIG1fZ2xEcmF3QXJyYXlzSW5zdGFuY2VkQU5HTEUobnVs
bHB0cikKKyAgICAsIG1fZ2xEcmF3RWxlbWVudHNJbnN0YW5jZWRBTkdMRShudWxscHRyKQogewog
fQogCkBAIC0yMjgsNiArMjMzLDM5IEBAIHZvaWQgRXh0ZW5zaW9uczNET3BlbkdMRVM6OmdldG5V
bmlmb3JtaXZFWFQoR0MzRHVpbnQgcHJvZ3JhbSwgaW50IGxvY2F0aW9uLCBHQzNECiAgICAgbV9j
b250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihHTF9JTlZBTElEX09QRVJBVElPTik7CiB9CiAKK3Zv
aWQgRXh0ZW5zaW9uczNET3BlbkdMRVM6OmRyYXdBcnJheXNJbnN0YW5jZWQoR0MzRGVudW0gbW9k
ZSwgR0MzRGludCBmaXJzdCwgR0MzRHNpemVpIGNvdW50LCBHQzNEc2l6ZWkgcHJpbWNvdW50KQor
eworICAgIGlmIChtX2dsRHJhd0FycmF5c0luc3RhbmNlZEFOR0xFKSB7CisgICAgICAgIG1fY29u
dGV4dC0+bWFrZUNvbnRleHRDdXJyZW50KCk7CisgICAgICAgIG1fZ2xEcmF3QXJyYXlzSW5zdGFu
Y2VkQU5HTEUobW9kZSwgZmlyc3QsIGNvdW50LCBwcmltY291bnQpOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgbV9jb250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihHTF9JTlZBTElEX09Q
RVJBVElPTik7Cit9CisKK3ZvaWQgRXh0ZW5zaW9uczNET3BlbkdMRVM6OmRyYXdFbGVtZW50c0lu
c3RhbmNlZChHQzNEZW51bSBtb2RlLCBHQzNEc2l6ZWkgY291bnQsIEdDM0RlbnVtIHR5cGUsIGxv
bmcgbG9uZyBvZmZzZXQsIEdDM0RzaXplaSBwcmltY291bnQpCit7CisgICAgaWYgKG1fZ2xEcmF3
RWxlbWVudHNJbnN0YW5jZWRBTkdMRSkgeworICAgICAgICBtX2NvbnRleHQtPm1ha2VDb250ZXh0
Q3VycmVudCgpOworICAgICAgICBtX2dsRHJhd0VsZW1lbnRzSW5zdGFuY2VkQU5HTEUobW9kZSwg
Y291bnQsIHR5cGUsIHJlaW50ZXJwcmV0X2Nhc3Q8R0x2b2lkKj4oc3RhdGljX2Nhc3Q8aW50cHRy
X3Q+KG9mZnNldCkpLCBwcmltY291bnQpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
bV9jb250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihHTF9JTlZBTElEX09QRVJBVElPTik7Cit9CisK
K3ZvaWQgRXh0ZW5zaW9uczNET3BlbkdMRVM6OnZlcnRleEF0dHJpYkRpdmlzb3IoR0MzRHVpbnQg
aW5kZXgsIEdDM0R1aW50IGRpdmlzb3IpCit7CisgICAgaWYgKG1fZ2xWZXJ0ZXhBdHRyaWJEaXZp
c29yQU5HTEUpIHsKKyAgICAgICAgbV9jb250ZXh0LT5tYWtlQ29udGV4dEN1cnJlbnQoKTsKKyAg
ICAgICAgbV9nbFZlcnRleEF0dHJpYkRpdmlzb3JBTkdMRShpbmRleCwgZGl2aXNvcik7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX2NvbnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdM
X0lOVkFMSURfT1BFUkFUSU9OKTsKK30KKwogYm9vbCBFeHRlbnNpb25zM0RPcGVuR0xFUzo6c3Vw
cG9ydHNFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBuYW1lKQogewogICAgIGlmIChtX2F2YWlsYWJs
ZUV4dGVuc2lvbnMuY29udGFpbnMobmFtZSkpIHsKQEAgLTI0Niw2ICsyODQsMTEgQEAgYm9vbCBF
eHRlbnNpb25zM0RPcGVuR0xFUzo6c3VwcG9ydHNFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBuYW1l
KQogICAgICAgICAgICAgbV9nbFJlYWRuUGl4ZWxzRVhUID0gcmVpbnRlcnByZXRfY2FzdDxQRk5H
TFJFQUROUElYRUxTRVhUUFJPQz4oZWdsR2V0UHJvY0FkZHJlc3MoImdsUmVhZG5QaXhlbHNFWFQi
KSk7CiAgICAgICAgICAgICBtX2dsR2V0blVuaWZvcm1mdkVYVCA9IHJlaW50ZXJwcmV0X2Nhc3Q8
UEZOR0xHRVROVU5JRk9STUZWRVhUUFJPQz4oZWdsR2V0UHJvY0FkZHJlc3MoImdsR2V0blVuaWZv
cm1mdkVYVCIpKTsKICAgICAgICAgICAgIG1fZ2xHZXRuVW5pZm9ybWl2RVhUID0gcmVpbnRlcnBy
ZXRfY2FzdDxQRk5HTEdFVE5VTklGT1JNSVZFWFRQUk9DPihlZ2xHZXRQcm9jQWRkcmVzcygiZ2xH
ZXRuVW5pZm9ybWl2RVhUIikpOworICAgICAgICB9IGVsc2UgaWYgKCFtX3N1cHBvcnRzQU5HTEVp
bnN0YW5jZWRBcnJheXMgJiYgbmFtZSA9PSAiR0xfQU5HTEVfaW5zdGFuY2VkX2FycmF5cyIpIHsK
KyAgICAgICAgICAgIG1fZ2xWZXJ0ZXhBdHRyaWJEaXZpc29yQU5HTEUgPSByZWludGVycHJldF9j
YXN0PFBGTkdMVkVSVEVYQVRUUklCRElWSVNPUkFOR0xFUFJPQz4oZWdsR2V0UHJvY0FkZHJlc3Mo
ImdsVmVydGV4QXR0cmliRGl2aXNvckFOR0xFIikpOworICAgICAgICAgICAgbV9nbERyYXdBcnJh
eXNJbnN0YW5jZWRBTkdMRSA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xEUkFXQVJSQVlTSU5TVEFO
Q0VEQU5HTEVQUk9DID4oZWdsR2V0UHJvY0FkZHJlc3MoImdsRHJhd0FycmF5c0luc3RhbmNlZEFO
R0xFIikpOworICAgICAgICAgICAgbV9nbERyYXdFbGVtZW50c0luc3RhbmNlZEFOR0xFID0gcmVp
bnRlcnByZXRfY2FzdDxQRk5HTERSQVdFTEVNRU5UU0lOU1RBTkNFREFOR0xFUFJPQyA+KGVnbEdl
dFByb2NBZGRyZXNzKCJnbERyYXdFbGVtZW50c0luc3RhbmNlZEFOR0xFIikpOworICAgICAgICAg
ICAgbV9zdXBwb3J0c0FOR0xFaW5zdGFuY2VkQXJyYXlzID0gdHJ1ZTsKICAgICAgICAgfSBlbHNl
IGlmIChuYW1lID09ICJHTF9FWFRfZHJhd19idWZmZXJzIikgewogICAgICAgICAgICAgLy8gRklY
TUU6IGltcGxlbWVudCB0aGUgc3VwcG9ydC4KICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNp
b25zM0RPcGVuR0xFUy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Blbmds
L0V4dGVuc2lvbnMzRE9wZW5HTEVTLmgKaW5kZXggN2M0MDU2NmU5MzBmNzU2N2ZiMWM3YmExMDFm
ZDhkYWFiOTA3ZWU5Zi4uODdlYzU3NjNlYzZjM2NmNDczN2ZlNTc3MmY1NjEwMmE5ZWMwNzlkYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVu
c2lvbnMzRE9wZW5HTEVTLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTEVTLmgKQEAgLTgwLDYgKzgwLDEwIEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgYmluZFZlcnRleEFycmF5T0VTKFBsYXRmb3JtM0RPYmplY3QpOwog
ICAgIHZpcnR1YWwgdm9pZCBkcmF3QnVmZmVyc0VYVChHQzNEc2l6ZWksIGNvbnN0IEdDM0RlbnVt
Kik7CiAKKyAgICB2aXJ0dWFsIHZvaWQgZHJhd0FycmF5c0luc3RhbmNlZChHQzNEZW51bSBtb2Rl
LCBHQzNEaW50IGZpcnN0LCBHQzNEc2l6ZWkgY291bnQsIEdDM0RzaXplaSBwcmltY291bnQpOwor
ICAgIHZpcnR1YWwgdm9pZCBkcmF3RWxlbWVudHNJbnN0YW5jZWQoR0MzRGVudW0gbW9kZSwgR0Mz
RHNpemVpIGNvdW50LCBHQzNEZW51bSB0eXBlLCBsb25nIGxvbmcgb2Zmc2V0LCBHQzNEc2l6ZWkg
cHJpbWNvdW50KTsKKyAgICB2aXJ0dWFsIHZvaWQgdmVydGV4QXR0cmliRGl2aXNvcihHQzNEdWlu
dCBpbmRleCwgR0MzRHVpbnQgZGl2aXNvcik7CisKICAgICAvLyBFWFQgUm9idXN0bmVzcyAtIHJl
c2V0CiAgICAgdmlydHVhbCBpbnQgZ2V0R3JhcGhpY3NSZXNldFN0YXR1c0FSQigpOwogICAgIHZv
aWQgc2V0RVhUQ29udGV4dExvc3RDYWxsYmFjayhQYXNzT3duUHRyPEdyYXBoaWNzQ29udGV4dDNE
OjpDb250ZXh0TG9zdENhbGxiYWNrPik7CkBAIC0xMDEsNiArMTA1LDcgQEAgcHJvdGVjdGVkOgog
CiAgICAgYm9vbCBtX3N1cHBvcnRzT0VTdmVydGV4QXJyYXlPYmplY3Q7CiAgICAgYm9vbCBtX3N1
cHBvcnRzSU1HTXVsdGlzYW1wbGVkUmVuZGVyVG9UZXh0dXJlOworICAgIGJvb2wgbV9zdXBwb3J0
c0FOR0xFaW5zdGFuY2VkQXJyYXlzOwogCiAgICAgUEZOR0xGUkFNRUJVRkZFUlRFWFRVUkUyRE1V
TFRJU0FNUExFSU1HIG1fZ2xGcmFtZWJ1ZmZlclRleHR1cmUyRE11bHRpc2FtcGxlSU1HOwogICAg
IFBGTkdMUkVOREVSQlVGRkVSU1RPUkFHRU1VTFRJU0FNUExFSU1HIG1fZ2xSZW5kZXJidWZmZXJT
dG9yYWdlTXVsdGlzYW1wbGVJTUc7CkBAIC0xMTIsNiArMTE3LDEwIEBAIHByb3RlY3RlZDoKICAg
ICBQRk5HTFJFQUROUElYRUxTRVhUUFJPQyBtX2dsUmVhZG5QaXhlbHNFWFQ7CiAgICAgUEZOR0xH
RVROVU5JRk9STUZWRVhUUFJPQyBtX2dsR2V0blVuaWZvcm1mdkVYVDsKICAgICBQRk5HTEdFVE5V
TklGT1JNSVZFWFRQUk9DIG1fZ2xHZXRuVW5pZm9ybWl2RVhUOworICAgIFBGTkdMVkVSVEVYQVRU
UklCRElWSVNPUkFOR0xFUFJPQyBtX2dsVmVydGV4QXR0cmliRGl2aXNvckFOR0xFOworICAgIFBG
TkdMRFJBV0FSUkFZU0lOU1RBTkNFREFOR0xFUFJPQyBtX2dsRHJhd0FycmF5c0luc3RhbmNlZEFO
R0xFOworICAgIFBGTkdMRFJBV0VMRU1FTlRTSU5TVEFOQ0VEQU5HTEVQUk9DIG1fZ2xEcmF3RWxl
bWVudHNJbnN0YW5jZWRBTkdMRTsKKwogCiAgICAgT3duUHRyPEdyYXBoaWNzQ29udGV4dDNEOjpD
b250ZXh0TG9zdENhbGxiYWNrPiBtX2NvbnRleHRMb3N0Q2FsbGJhY2s7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4
dDNET3BlbkdMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9H
cmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAKaW5kZXggNjExNWQzN2VlYzRlMTY0MWNmZDVkODM0
M2QwNzlkYjg4Njg1YWMxMS4uZTA0ODQxOGI0ZDQyZDYzMDgxZDgyMjA1NTc0MjhmMTg4NWU5NjUy
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dy
YXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwCkBAIC0zNTEsMjYgKzM1
MSw2IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnJlYWRQaXhlbHMoR0MzRGludCB4LCBHQzNE
aW50IHksIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpCiAgICAgICAgIDo6Z2xCaW5kRnJhbWVidWZm
ZXJFWFQoR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSLCBtX211bHRpc2FtcGxlRkJPKTsK
IH0KIAotI2lmICFQTEFURk9STShDT0NPQSkKLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OmRyYXdB
cnJheXNJbnN0YW5jZWQoR0MzRGVudW0gbW9kZSwgR0MzRGludCBmaXJzdCwgR0MzRHNpemVpIGNv
dW50LCBHQzNEc2l6ZWkgcHJpbWNvdW50KQotewotICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwot
ICAgIDo6Z2xEcmF3QXJyYXlzSW5zdGFuY2VkKG1vZGUsIGZpcnN0LCBjb3VudCwgcHJpbWNvdW50
KTsKLX0KLQotdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6ZHJhd0VsZW1lbnRzSW5zdGFuY2VkKEdD
M0RlbnVtIG1vZGUsIEdDM0RzaXplaSBjb3VudCwgR0MzRGVudW0gdHlwZSwgR0MzRGludHB0ciBv
ZmZzZXQsIEdDM0RzaXplaSBwcmltY291bnQpCi17Ci0gICAgbWFrZUNvbnRleHRDdXJyZW50KCk7
Ci0gICAgOjpnbERyYXdFbGVtZW50c0luc3RhbmNlZChtb2RlLCBjb3VudCwgdHlwZSwgcmVpbnRl
cnByZXRfY2FzdDxHTHZvaWQqPihzdGF0aWNfY2FzdDxpbnRwdHJfdD4ob2Zmc2V0KSksIHByaW1j
b3VudCk7Ci19Ci0KLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnZlcnRleEF0dHJpYkRpdmlzb3Io
R0MzRHVpbnQgaW5kZXgsIEdDM0R1aW50IGRpdmlzb3IpCi17Ci0gICAgbWFrZUNvbnRleHRDdXJy
ZW50KCk7Ci0gICAgOjpnbFZlcnRleEF0dHJpYkRpdmlzb3IoaW5kZXgsIGRpdmlzb3IpOwotfQot
I2VuZGlmCi0KIH0KIAogI2VuZGlmIC8vIFVTRSgzRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9w
ZW5HTENvbW1vbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wv
R3JhcGhpY3NDb250ZXh0M0RPcGVuR0xDb21tb24uY3BwCmluZGV4IGMxMzU2YTBlOWMwNGVmNjk3
NGE2ZTBmNTkyZjAwMThiZGNhYzg5ZTkuLjczYWRiYzE5ZThiZTQ5ZTY4NTBjN2Q4NzMzN2FhODc2
YzMzYTU1MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29w
ZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1vbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9u
LmNwcApAQCAtMTYzMCw2ICsxNjMwLDIzIEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnRleElt
YWdlMkREaXJlY3QoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEZW51CiAgICAg
OjpnbFRleEltYWdlMkQodGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQsIHdpZHRoLCBoZWln
aHQsIGJvcmRlciwgZm9ybWF0LCB0eXBlLCBwaXhlbHMpOwogfQogCisjaWYgIVBMQVRGT1JNKENP
Q09BKQordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6ZHJhd0FycmF5c0luc3RhbmNlZChHQzNEZW51
bSBtb2RlLCBHQzNEaW50IGZpcnN0LCBHQzNEc2l6ZWkgY291bnQsIEdDM0RzaXplaSBwcmltY291
bnQpCit7CisgICAgZ2V0RXh0ZW5zaW9ucygpLT5kcmF3QXJyYXlzSW5zdGFuY2VkKG1vZGUsIGZp
cnN0LCBjb3VudCwgcHJpbWNvdW50KTsKK30KKwordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6ZHJh
d0VsZW1lbnRzSW5zdGFuY2VkKEdDM0RlbnVtIG1vZGUsIEdDM0RzaXplaSBjb3VudCwgR0MzRGVu
dW0gdHlwZSwgR0MzRGludHB0ciBvZmZzZXQsIEdDM0RzaXplaSBwcmltY291bnQpCit7CisgICAg
Z2V0RXh0ZW5zaW9ucygpLT5kcmF3RWxlbWVudHNJbnN0YW5jZWQobW9kZSwgY291bnQsIHR5cGUs
IG9mZnNldCwgcHJpbWNvdW50KTsKK30KKwordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dmVydGV4
QXR0cmliRGl2aXNvcihHQzNEdWludCBpbmRleCwgR0MzRHVpbnQgZGl2aXNvcikKK3sKKyAgICBn
ZXRFeHRlbnNpb25zKCktPnZlcnRleEF0dHJpYkRpdmlzb3IoaW5kZXgsIGRpdmlzb3IpOworfQor
I2VuZGlmCisKIH0KIAogI2VuZGlmIC8vIFVTRSgzRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9w
ZW5HTEVTLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFw
aGljc0NvbnRleHQzRE9wZW5HTEVTLmNwcAppbmRleCA1NDZiMmQ0MzMxOTEwY2YxZjVhMDQwOTM0
YTUxNmQzMWUwOGUwN2FkLi4wZWZjNTIxOTJiZTIxN2MxNzViMDFmMjYyMDhjYmVhOWFkYTk4ZTk1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3Jh
cGhpY3NDb250ZXh0M0RPcGVuR0xFUy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMRVMuY3BwCkBAIC0yMDYsMjkg
KzIwNiw2IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OmNsZWFyRGVwdGgoR0MzRGNsYW1wZiBk
ZXB0aCkKICAgICA6OmdsQ2xlYXJEZXB0aGYoZGVwdGgpOwogfQogCi12b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjpkcmF3QXJyYXlzSW5zdGFuY2VkKEdDM0RlbnVtIG1vZGUsIEdDM0RpbnQgZmlyc3Qs
IEdDM0RzaXplaSBjb3VudCwgR0MzRHNpemVpIHByaW1jb3VudCkKLXsKLSAgICBVTlVTRURfUEFS
QU0obW9kZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGZpcnN0KTsKLSAgICBVTlVTRURfUEFSQU0oY291
bnQpOwotICAgIFVOVVNFRF9QQVJBTShwcmltY291bnQpOwotfQotCi12b2lkIEdyYXBoaWNzQ29u
dGV4dDNEOjpkcmF3RWxlbWVudHNJbnN0YW5jZWQoR0MzRGVudW0gbW9kZSwgR0MzRHNpemVpIGNv
dW50LCBHQzNEZW51bSB0eXBlLCBHQzNEaW50cHRyIG9mZnNldCwgR0MzRHNpemVpIHByaW1jb3Vu
dCkKLXsKLSAgICBVTlVTRURfUEFSQU0obW9kZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGNvdW50KTsK
LSAgICBVTlVTRURfUEFSQU0odHlwZSk7Ci0gICAgVU5VU0VEX1BBUkFNKG9mZnNldCk7Ci0gICAg
VU5VU0VEX1BBUkFNKHByaW1jb3VudCk7Ci19Ci0KLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnZl
cnRleEF0dHJpYkRpdmlzb3IoR0MzRHVpbnQgaW5kZXgsIEdDM0R1aW50IGRpdmlzb3IpCi17Ci0g
ICAgVU5VU0VEX1BBUkFNKGluZGV4KTsKLSAgICBVTlVTRURfUEFSQU0oZGl2aXNvcik7Ci19Ci0K
IEV4dGVuc2lvbnMzRCogR3JhcGhpY3NDb250ZXh0M0Q6OmdldEV4dGVuc2lvbnMoKQogewogICAg
IGlmICghbV9leHRlbnNpb25zKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224049</attachid>
            <date>2014-02-12 23:09:14 -0800</date>
            <delta_ts>2014-02-13 04:53:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128579-20140213160912.patch</filename>
            <type>text/plain</type>
            <size>15611</size>
            <attacher name="ChangSeok Oh">changseok</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY0MDEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWM3NDJhNTU4YmRmMDkw
OTU4NmQ1NmJhMGRmMjFlZDZmY2QyZDQ3My4uNDU3N2NkN2U1ZDk4ZTY0YWI2NGYyZGQ5ZGNjNDVi
YmI2YzJlZjMzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE0LTAyLTEyICBDaGFu
Z1Nlb2sgT2ggIDxjaGFuZ3Nlb2sub2hAY29sbGFib3JhLmNvbT4KKworICAgICAgICBTdXBwb3J0
IEFOR0xFX2luc3RhbmNlZF9hcnJheXMgZm9yIEdMRVMgYmFja2VuZC4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODU3OQorCisgICAgICAgIFJldmll
d2VkIGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAgICBBZGQgc29tZSBBUElzIHRvIEV4dGVuc2lv
bnMzRCB0byBzdXBwb3J0IEFOR0xFX2luc3RhbmNlZF9hcnJheXMgZm9yIEdMRVMgYmFja2VuZC4K
KyAgICAgICAgQXQgdGhlIHNhbWUgdGltZSwgZHJhd0FycmF5c0luc3RhbmNlZCwgZHJhd0VsZW1l
bnRzSW5zdGFuY2VkIGFuZCB2ZXJ0ZXhBdHRyaWJEaXZpc29yCisgICAgICAgIGFyZSBtb3ZlZCBm
cm9tIEdDM0RPcGVuR0wuY3BwIHRvIEdDM0RPcGVuR0xDb21tb24uY3BwIHNpbmNlIHRoZXkgY291
bGQgYmUgc2hhcmVhYmxlCisgICAgICAgIHRocm91Z2ggRXh0ZW5zaW9uczNELgorCisgICAgICAg
IENvdmVyZWQgYnkgZmFzdC9jYW52YXMvd2ViZ2wvYW5nbGUtaW5zdGFuY2VkLWFycmF5cy5odG1s
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25zM0QuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMzRE9wZW5HTDo6ZHJhd0FycmF5c0luc3RhbmNlZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpFeHRlbnNpb25zM0RPcGVuR0w6OmRyYXdFbGVtZW50c0luc3RhbmNl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpFeHRlbnNpb25zM0RPcGVuR0w6OnZlcnRleEF0dHJpYkRp
dmlzb3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RP
cGVuR0wuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNE
T3BlbkdMRVMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXh0ZW5zaW9uczNET3BlbkdMRVM6OkV4
dGVuc2lvbnMzRE9wZW5HTEVTKToKKyAgICAgICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMzRE9wZW5H
TEVTOjpkcmF3QXJyYXlzSW5zdGFuY2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMz
RE9wZW5HTEVTOjpkcmF3RWxlbWVudHNJbnN0YW5jZWQpOgorICAgICAgICAoV2ViQ29yZTo6RXh0
ZW5zaW9uczNET3BlbkdMRVM6OnZlcnRleEF0dHJpYkRpdmlzb3IpOgorICAgICAgICAoV2ViQ29y
ZTo6RXh0ZW5zaW9uczNET3BlbkdMRVM6OnN1cHBvcnRzRXh0ZW5zaW9uKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMRVMuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5H
TENvbW1vbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6ZHJhd0Fy
cmF5c0luc3RhbmNlZCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6ZHJh
d0VsZW1lbnRzSW5zdGFuY2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNE
Ojp2ZXJ0ZXhBdHRyaWJEaXZpc29yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVu
Z2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xFUy5jcHA6CisKIDIwMTQtMDItMTEgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgRG9uJ3QgY3Jhc2ggd2hlbiBT
ZXJpYWxpemVkU2NyaXB0VmFsdWUgZGVzZXJpYWxpemF0aW9uIGZhaWxzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25zM0QuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0V4dGVuc2lvbnMzRC5oCmluZGV4IDI0NTRlNDBlYTkx
ZjQ0ZDBmNTNkMjAwMmJiOGEyMjdhOTIwNjBlNjUuLjhjYjNlMzgyOTg5M2FiOTgzMWY0YTgxZmZk
MGE1ZDBhZTNkNmFhM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0V4dGVuc2lvbnMzRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0V4dGVuc2lvbnMzRC5oCkBAIC03NCw2ICs3NCw3IEBAIHB1YmxpYzoKICAgICAvLyAgIEdMX0NI
Uk9NSVVNX2NvcHlfdGV4dHVyZQogICAgIC8vICAgR0xfQ0hST01JVU1fZmxpcHkKICAgICAvLyAg
IEdMX0FSQl9kcmF3X2J1ZmZlcnMgLyBHTF9FWFRfZHJhd19idWZmZXJzCisgICAgLy8gICBHTF9B
TkdMRV9pbnN0YW5jZWRfYXJyYXlzCiAKICAgICAvLyBUYWtlcyBmdWxsIG5hbWUgb2YgZXh0ZW5z
aW9uOyBmb3IgZXhhbXBsZSwKICAgICAvLyAiR0xfRVhUX3RleHR1cmVfZm9ybWF0X0JHUkE4ODg4
Ii4KQEAgLTIzOCw2ICsyMzksMTEgQEAgcHVibGljOgogICAgIC8vIEdMX0FSQl9kcmF3X2J1ZmZl
cnMgLyBHTF9FWFRfZHJhd19idWZmZXJzCiAgICAgdmlydHVhbCB2b2lkIGRyYXdCdWZmZXJzRVhU
KEdDM0RzaXplaSBuLCBjb25zdCBHQzNEZW51bSogYnVmcykgPSAwOwogCisgICAgLy8gR0xfQU5H
TEVfaW5zdGFuY2VkX2FycmF5cworICAgIHZpcnR1YWwgdm9pZCBkcmF3QXJyYXlzSW5zdGFuY2Vk
KEdDM0RlbnVtIG1vZGUsIEdDM0RpbnQgZmlyc3QsIEdDM0RzaXplaSBjb3VudCwgR0MzRHNpemVp
IHByaW1jb3VudCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkcmF3RWxlbWVudHNJbnN0YW5jZWQo
R0MzRGVudW0gbW9kZSwgR0MzRHNpemVpIGNvdW50LCBHQzNEZW51bSB0eXBlLCBsb25nIGxvbmcg
b2Zmc2V0LCBHQzNEc2l6ZWkgcHJpbWNvdW50KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHZlcnRl
eEF0dHJpYkRpdmlzb3IoR0MzRHVpbnQgaW5kZXgsIEdDM0R1aW50IGRpdmlzb3IpID0gMDsKKwog
ICAgIHZpcnR1YWwgYm9vbCBpc05WSURJQSgpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaXNBTUQo
KSA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzSW50ZWwoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RP
cGVuR0wuY3BwCmluZGV4IGYzMTQ2YzIxNzQzOTc0Y2JhNDk4YTFkZWIyNGE4M2RlYjdlZWIyZmUu
LmNkZDYyNTk5YTlkNDNlZWI3YzJjM2QxOGVlNTY4Y2M3NjYyODdhNWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNp
b25zM0RPcGVuR0wuY3BwCkBAIC0yMzYsNiArMjM2LDQ0IEBAIHZvaWQgRXh0ZW5zaW9uczNET3Bl
bkdMOjpkcmF3QnVmZmVyc0VYVChHQzNEc2l6ZWkgbiwgY29uc3QgR0MzRGVudW0qIGJ1ZnMpCiAj
ZW5kaWYKIH0KIAordm9pZCBFeHRlbnNpb25zM0RPcGVuR0w6OmRyYXdBcnJheXNJbnN0YW5jZWQo
R0MzRGVudW0gbW9kZSwgR0MzRGludCBmaXJzdCwgR0MzRHNpemVpIGNvdW50LCBHQzNEc2l6ZWkg
cHJpbWNvdW50KQoreworI2lmIEVOQUJMRShHVEspCisgICAgbV9jb250ZXh0LT5tYWtlQ29udGV4
dEN1cnJlbnQoKTsKKyAgICA6OmdsRHJhd0FycmF5c0luc3RhbmNlZChtb2RlLCBmaXJzdCwgY291
bnQsIHByaW1jb3VudCk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShtb2RlKTsKKyAgICBVTlVT
RURfUEFSQU0oZmlyc3QpOworICAgIFVOVVNFRF9QQVJBTShjb3VudCk7CisgICAgVU5VU0VEX1BB
UkFNKHByaW1jb3VudCk7CisjZW5kaWYKK30KKwordm9pZCBFeHRlbnNpb25zM0RPcGVuR0w6OmRy
YXdFbGVtZW50c0luc3RhbmNlZChHQzNEZW51bSBtb2RlLCBHQzNEc2l6ZWkgY291bnQsIEdDM0Rl
bnVtIHR5cGUsIGxvbmcgbG9uZyBvZmZzZXQsIEdDM0RzaXplaSBwcmltY291bnQpCit7CisjaWYg
RU5BQkxFKEdUSykKKyAgICBtX2NvbnRleHQtPm1ha2VDb250ZXh0Q3VycmVudCgpOworICAgIDo6
Z2xEcmF3RWxlbWVudHNJbnN0YW5jZWQobW9kZSwgY291bnQsIHR5cGUsIHJlaW50ZXJwcmV0X2Nh
c3Q8R0x2b2lkKj4oc3RhdGljX2Nhc3Q8aW50cHRyX3Q+KG9mZnNldCkpLCBwcmltY291bnQpOwor
I2Vsc2UKKyAgICBVTlVTRURfUEFSQU0obW9kZSk7CisgICAgVU5VU0VEX1BBUkFNKGNvdW50KTsK
KyAgICBVTlVTRURfUEFSQU0odHlwZSk7CisgICAgVU5VU0VEX1BBUkFNKG9mZnNldCk7CisgICAg
VU5VU0VEX1BBUkFNKHByaW1jb3VudCk7CisjZW5kaWYKK30KKwordm9pZCBFeHRlbnNpb25zM0RP
cGVuR0w6OnZlcnRleEF0dHJpYkRpdmlzb3IoR0MzRHVpbnQgaW5kZXgsIEdDM0R1aW50IGRpdmlz
b3IpCit7CisjaWYgRU5BQkxFKEdUSykKKyAgICBtX2NvbnRleHQtPm1ha2VDb250ZXh0Q3VycmVu
dCgpOworICAgIDo6Z2xWZXJ0ZXhBdHRyaWJEaXZpc29yKGluZGV4LCBkaXZpc29yKTsKKyNlbHNl
CisgICAgVU5VU0VEX1BBUkFNKGluZGV4KTsKKyAgICBVTlVTRURfUEFSQU0oZGl2aXNvcik7Cisj
ZW5kaWYKK30KKwogU3RyaW5nIEV4dGVuc2lvbnMzRE9wZW5HTDo6Z2V0RXh0ZW5zaW9ucygpCiB7
CiAgICAgcmV0dXJuIFN0cmluZyhyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPig6OmdsR2V0
U3RyaW5nKEdMX0VYVEVOU0lPTlMpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMLmgKaW5kZXggODFj
NWU0OWQ1ZDhmNWE5OTgxYThlZDIzYjE5YjFmMmQ4NjkwMThkYi4uZTdlZjg2NzJlODg3NThiNWFj
NDU3YTllMzhmOGM2M2M5YWIwOTYyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0wuaApAQCAtNTMs
NiArNTMsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBwb3BHcm91cE1hcmtlckVYVCh2
b2lkKTsKICAgICB2aXJ0dWFsIHZvaWQgZHJhd0J1ZmZlcnNFWFQoR0MzRHNpemVpLCBjb25zdCBH
QzNEZW51bSopOwogCisgICAgdmlydHVhbCB2b2lkIGRyYXdBcnJheXNJbnN0YW5jZWQoR0MzRGVu
dW0gbW9kZSwgR0MzRGludCBmaXJzdCwgR0MzRHNpemVpIGNvdW50LCBHQzNEc2l6ZWkgcHJpbWNv
dW50KTsKKyAgICB2aXJ0dWFsIHZvaWQgZHJhd0VsZW1lbnRzSW5zdGFuY2VkKEdDM0RlbnVtIG1v
ZGUsIEdDM0RzaXplaSBjb3VudCwgR0MzRGVudW0gdHlwZSwgbG9uZyBsb25nIG9mZnNldCwgR0Mz
RHNpemVpIHByaW1jb3VudCk7CisgICAgdmlydHVhbCB2b2lkIHZlcnRleEF0dHJpYkRpdmlzb3Io
R0MzRHVpbnQgaW5kZXgsIEdDM0R1aW50IGRpdmlzb3IpOworCiBwcm90ZWN0ZWQ6CiAgICAgLy8g
VGhpcyBjbGFzcyBvbmx5IG5lZWRzIHRvIGJlIGluc3RhbnRpYXRlZCBieSBHcmFwaGljc0NvbnRl
eHQzRCBpbXBsZW1lbnRhdGlvbnMuCiAgICAgZnJpZW5kIGNsYXNzIEdyYXBoaWNzQ29udGV4dDNE
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4
dGVuc2lvbnMzRE9wZW5HTEVTLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xFUy5jcHAKaW5kZXggZGM5ZTU5MjUyMTNlOTQ4Yjhm
MmI1MjlkYThiZGVlZDlkN2Q5YjM3OS4uZjQ1NTU3OWIxMWIwNGVjMDUwNjlhZDlkOWUzMzZjNDhk
ZmE5N2M0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bmdsL0V4dGVuc2lvbnMzRE9wZW5HTEVTLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVuZ2wvRXh0ZW5zaW9uczNET3BlbkdMRVMuY3BwCkBAIC0xLDYgKzEsNyBA
QAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICogQ29weXJpZ2h0IChDKSAyMDEyIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IENvbGxhYm9yYSBMdGQu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTQwLDYgKzQxLDcgQEAgRXh0ZW5zaW9uczNET3BlbkdMRVM6OkV4dGVuc2lvbnMzRE9wZW5HTEVT
KEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0KQogICAgICwgbV9jb250ZXh0UmVzZXRTdGF0dXMo
R0xfTk9fRVJST1IpCiAgICAgLCBtX3N1cHBvcnRzT0VTdmVydGV4QXJyYXlPYmplY3QoZmFsc2Up
CiAgICAgLCBtX3N1cHBvcnRzSU1HTXVsdGlzYW1wbGVkUmVuZGVyVG9UZXh0dXJlKGZhbHNlKQor
ICAgICwgbV9zdXBwb3J0c0FOR0xFaW5zdGFuY2VkQXJyYXlzKGZhbHNlKQogICAgICwgbV9nbEZy
YW1lYnVmZmVyVGV4dHVyZTJETXVsdGlzYW1wbGVJTUcoMCkKICAgICAsIG1fZ2xSZW5kZXJidWZm
ZXJTdG9yYWdlTXVsdGlzYW1wbGVJTUcoMCkKICAgICAsIG1fZ2xCaW5kVmVydGV4QXJyYXlPRVMo
MCkKQEAgLTUwLDYgKzUyLDkgQEAgRXh0ZW5zaW9uczNET3BlbkdMRVM6OkV4dGVuc2lvbnMzRE9w
ZW5HTEVTKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0KQogICAgICwgbV9nbFJlYWRuUGl4ZWxz
RVhUKDApCiAgICAgLCBtX2dsR2V0blVuaWZvcm1mdkVYVCgwKQogICAgICwgbV9nbEdldG5Vbmlm
b3JtaXZFWFQoMCkKKyAgICAsIG1fZ2xWZXJ0ZXhBdHRyaWJEaXZpc29yQU5HTEUobnVsbHB0cikK
KyAgICAsIG1fZ2xEcmF3QXJyYXlzSW5zdGFuY2VkQU5HTEUobnVsbHB0cikKKyAgICAsIG1fZ2xE
cmF3RWxlbWVudHNJbnN0YW5jZWRBTkdMRShudWxscHRyKQogewogfQogCkBAIC0yMjgsNiArMjMz
LDM5IEBAIHZvaWQgRXh0ZW5zaW9uczNET3BlbkdMRVM6OmdldG5Vbmlmb3JtaXZFWFQoR0MzRHVp
bnQgcHJvZ3JhbSwgaW50IGxvY2F0aW9uLCBHQzNECiAgICAgbV9jb250ZXh0LT5zeW50aGVzaXpl
R0xFcnJvcihHTF9JTlZBTElEX09QRVJBVElPTik7CiB9CiAKK3ZvaWQgRXh0ZW5zaW9uczNET3Bl
bkdMRVM6OmRyYXdBcnJheXNJbnN0YW5jZWQoR0MzRGVudW0gbW9kZSwgR0MzRGludCBmaXJzdCwg
R0MzRHNpemVpIGNvdW50LCBHQzNEc2l6ZWkgcHJpbWNvdW50KQoreworICAgIGlmICghbV9nbERy
YXdBcnJheXNJbnN0YW5jZWRBTkdMRSkgeworICAgICAgICBtX2NvbnRleHQtPnN5bnRoZXNpemVH
TEVycm9yKEdMX0lOVkFMSURfT1BFUkFUSU9OKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIG1fY29udGV4dC0+bWFrZUNvbnRleHRDdXJyZW50KCk7CisgICAgbV9nbERyYXdBcnJheXNJ
bnN0YW5jZWRBTkdMRShtb2RlLCBmaXJzdCwgY291bnQsIHByaW1jb3VudCk7Cit9CisKK3ZvaWQg
RXh0ZW5zaW9uczNET3BlbkdMRVM6OmRyYXdFbGVtZW50c0luc3RhbmNlZChHQzNEZW51bSBtb2Rl
LCBHQzNEc2l6ZWkgY291bnQsIEdDM0RlbnVtIHR5cGUsIGxvbmcgbG9uZyBvZmZzZXQsIEdDM0Rz
aXplaSBwcmltY291bnQpCit7CisgICAgaWYgKCFtX2dsRHJhd0VsZW1lbnRzSW5zdGFuY2VkQU5H
TEUpIHsKKyAgICAgICAgbV9jb250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihHTF9JTlZBTElEX09Q
RVJBVElPTik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX2NvbnRleHQtPm1ha2VD
b250ZXh0Q3VycmVudCgpOworICAgIG1fZ2xEcmF3RWxlbWVudHNJbnN0YW5jZWRBTkdMRShtb2Rl
LCBjb3VudCwgdHlwZSwgcmVpbnRlcnByZXRfY2FzdDxHTHZvaWQqPihzdGF0aWNfY2FzdDxpbnRw
dHJfdD4ob2Zmc2V0KSksIHByaW1jb3VudCk7Cit9CisKK3ZvaWQgRXh0ZW5zaW9uczNET3BlbkdM
RVM6OnZlcnRleEF0dHJpYkRpdmlzb3IoR0MzRHVpbnQgaW5kZXgsIEdDM0R1aW50IGRpdmlzb3Ip
Cit7CisgICAgaWYgKCFtX2dsVmVydGV4QXR0cmliRGl2aXNvckFOR0xFKSB7CisgICAgICAgIG1f
Y29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR0xfSU5WQUxJRF9PUEVSQVRJT04pOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgbV9jb250ZXh0LT5tYWtlQ29udGV4dEN1cnJlbnQoKTsK
KyAgICBtX2dsVmVydGV4QXR0cmliRGl2aXNvckFOR0xFKGluZGV4LCBkaXZpc29yKTsKK30KKwog
Ym9vbCBFeHRlbnNpb25zM0RPcGVuR0xFUzo6c3VwcG9ydHNFeHRlbnNpb24oY29uc3QgU3RyaW5n
JiBuYW1lKQogewogICAgIGlmIChtX2F2YWlsYWJsZUV4dGVuc2lvbnMuY29udGFpbnMobmFtZSkp
IHsKQEAgLTI0Niw2ICsyODQsMTEgQEAgYm9vbCBFeHRlbnNpb25zM0RPcGVuR0xFUzo6c3VwcG9y
dHNFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICAgICAgbV9nbFJlYWRuUGl4
ZWxzRVhUID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTFJFQUROUElYRUxTRVhUUFJPQz4oZWdsR2V0
UHJvY0FkZHJlc3MoImdsUmVhZG5QaXhlbHNFWFQiKSk7CiAgICAgICAgICAgICBtX2dsR2V0blVu
aWZvcm1mdkVYVCA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xHRVROVU5JRk9STUZWRVhUUFJPQz4o
ZWdsR2V0UHJvY0FkZHJlc3MoImdsR2V0blVuaWZvcm1mdkVYVCIpKTsKICAgICAgICAgICAgIG1f
Z2xHZXRuVW5pZm9ybWl2RVhUID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTEdFVE5VTklGT1JNSVZF
WFRQUk9DPihlZ2xHZXRQcm9jQWRkcmVzcygiZ2xHZXRuVW5pZm9ybWl2RVhUIikpOworICAgICAg
ICB9IGVsc2UgaWYgKCFtX3N1cHBvcnRzQU5HTEVpbnN0YW5jZWRBcnJheXMgJiYgbmFtZSA9PSAi
R0xfQU5HTEVfaW5zdGFuY2VkX2FycmF5cyIpIHsKKyAgICAgICAgICAgIG1fZ2xWZXJ0ZXhBdHRy
aWJEaXZpc29yQU5HTEUgPSByZWludGVycHJldF9jYXN0PFBGTkdMVkVSVEVYQVRUUklCRElWSVNP
UkFOR0xFUFJPQz4oZWdsR2V0UHJvY0FkZHJlc3MoImdsVmVydGV4QXR0cmliRGl2aXNvckFOR0xF
IikpOworICAgICAgICAgICAgbV9nbERyYXdBcnJheXNJbnN0YW5jZWRBTkdMRSA9IHJlaW50ZXJw
cmV0X2Nhc3Q8UEZOR0xEUkFXQVJSQVlTSU5TVEFOQ0VEQU5HTEVQUk9DID4oZWdsR2V0UHJvY0Fk
ZHJlc3MoImdsRHJhd0FycmF5c0luc3RhbmNlZEFOR0xFIikpOworICAgICAgICAgICAgbV9nbERy
YXdFbGVtZW50c0luc3RhbmNlZEFOR0xFID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTERSQVdFTEVN
RU5UU0lOU1RBTkNFREFOR0xFUFJPQyA+KGVnbEdldFByb2NBZGRyZXNzKCJnbERyYXdFbGVtZW50
c0luc3RhbmNlZEFOR0xFIikpOworICAgICAgICAgICAgbV9zdXBwb3J0c0FOR0xFaW5zdGFuY2Vk
QXJyYXlzID0gdHJ1ZTsKICAgICAgICAgfSBlbHNlIGlmIChuYW1lID09ICJHTF9FWFRfZHJhd19i
dWZmZXJzIikgewogICAgICAgICAgICAgLy8gRklYTUU6IGltcGxlbWVudCB0aGUgc3VwcG9ydC4K
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL29wZW5nbC9FeHRlbnNpb25zM0RPcGVuR0xFUy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTEVTLmgKaW5k
ZXggN2M0MDU2NmU5MzBmNzU2N2ZiMWM3YmExMDFmZDhkYWFiOTA3ZWU5Zi4uODdlYzU3NjNlYzZj
M2NmNDczN2ZlNTc3MmY1NjEwMmE5ZWMwNzlkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTEVTLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0V4dGVuc2lvbnMzRE9wZW5HTEVT
LmgKQEAgLTgwLDYgKzgwLDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgYmluZFZlcnRl
eEFycmF5T0VTKFBsYXRmb3JtM0RPYmplY3QpOwogICAgIHZpcnR1YWwgdm9pZCBkcmF3QnVmZmVy
c0VYVChHQzNEc2l6ZWksIGNvbnN0IEdDM0RlbnVtKik7CiAKKyAgICB2aXJ0dWFsIHZvaWQgZHJh
d0FycmF5c0luc3RhbmNlZChHQzNEZW51bSBtb2RlLCBHQzNEaW50IGZpcnN0LCBHQzNEc2l6ZWkg
Y291bnQsIEdDM0RzaXplaSBwcmltY291bnQpOworICAgIHZpcnR1YWwgdm9pZCBkcmF3RWxlbWVu
dHNJbnN0YW5jZWQoR0MzRGVudW0gbW9kZSwgR0MzRHNpemVpIGNvdW50LCBHQzNEZW51bSB0eXBl
LCBsb25nIGxvbmcgb2Zmc2V0LCBHQzNEc2l6ZWkgcHJpbWNvdW50KTsKKyAgICB2aXJ0dWFsIHZv
aWQgdmVydGV4QXR0cmliRGl2aXNvcihHQzNEdWludCBpbmRleCwgR0MzRHVpbnQgZGl2aXNvcik7
CisKICAgICAvLyBFWFQgUm9idXN0bmVzcyAtIHJlc2V0CiAgICAgdmlydHVhbCBpbnQgZ2V0R3Jh
cGhpY3NSZXNldFN0YXR1c0FSQigpOwogICAgIHZvaWQgc2V0RVhUQ29udGV4dExvc3RDYWxsYmFj
ayhQYXNzT3duUHRyPEdyYXBoaWNzQ29udGV4dDNEOjpDb250ZXh0TG9zdENhbGxiYWNrPik7CkBA
IC0xMDEsNiArMTA1LDcgQEAgcHJvdGVjdGVkOgogCiAgICAgYm9vbCBtX3N1cHBvcnRzT0VTdmVy
dGV4QXJyYXlPYmplY3Q7CiAgICAgYm9vbCBtX3N1cHBvcnRzSU1HTXVsdGlzYW1wbGVkUmVuZGVy
VG9UZXh0dXJlOworICAgIGJvb2wgbV9zdXBwb3J0c0FOR0xFaW5zdGFuY2VkQXJyYXlzOwogCiAg
ICAgUEZOR0xGUkFNRUJVRkZFUlRFWFRVUkUyRE1VTFRJU0FNUExFSU1HIG1fZ2xGcmFtZWJ1ZmZl
clRleHR1cmUyRE11bHRpc2FtcGxlSU1HOwogICAgIFBGTkdMUkVOREVSQlVGRkVSU1RPUkFHRU1V
TFRJU0FNUExFSU1HIG1fZ2xSZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGVJTUc7CkBAIC0x
MTIsNiArMTE3LDEwIEBAIHByb3RlY3RlZDoKICAgICBQRk5HTFJFQUROUElYRUxTRVhUUFJPQyBt
X2dsUmVhZG5QaXhlbHNFWFQ7CiAgICAgUEZOR0xHRVROVU5JRk9STUZWRVhUUFJPQyBtX2dsR2V0
blVuaWZvcm1mdkVYVDsKICAgICBQRk5HTEdFVE5VTklGT1JNSVZFWFRQUk9DIG1fZ2xHZXRuVW5p
Zm9ybWl2RVhUOworICAgIFBGTkdMVkVSVEVYQVRUUklCRElWSVNPUkFOR0xFUFJPQyBtX2dsVmVy
dGV4QXR0cmliRGl2aXNvckFOR0xFOworICAgIFBGTkdMRFJBV0FSUkFZU0lOU1RBTkNFREFOR0xF
UFJPQyBtX2dsRHJhd0FycmF5c0luc3RhbmNlZEFOR0xFOworICAgIFBGTkdMRFJBV0VMRU1FTlRT
SU5TVEFOQ0VEQU5HTEVQUk9DIG1fZ2xEcmF3RWxlbWVudHNJbnN0YW5jZWRBTkdMRTsKKwogCiAg
ICAgT3duUHRyPEdyYXBoaWNzQ29udGV4dDNEOjpDb250ZXh0TG9zdENhbGxiYWNrPiBtX2NvbnRl
eHRMb3N0Q2FsbGJhY2s7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAK
aW5kZXggNjExNWQzN2VlYzRlMTY0MWNmZDVkODM0M2QwNzlkYjg4Njg1YWMxMS4uZTA0ODQxOGI0
ZDQyZDYzMDgxZDgyMjA1NTc0MjhmMTg4NWU5NjUyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250
ZXh0M0RPcGVuR0wuY3BwCkBAIC0zNTEsMjYgKzM1MSw2IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0
M0Q6OnJlYWRQaXhlbHMoR0MzRGludCB4LCBHQzNEaW50IHksIEdDM0RzaXplaSB3aWR0aCwgR0Mz
RHNpCiAgICAgICAgIDo6Z2xCaW5kRnJhbWVidWZmZXJFWFQoR3JhcGhpY3NDb250ZXh0M0Q6OkZS
QU1FQlVGRkVSLCBtX211bHRpc2FtcGxlRkJPKTsKIH0KIAotI2lmICFQTEFURk9STShDT0NPQSkK
LXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OmRyYXdBcnJheXNJbnN0YW5jZWQoR0MzRGVudW0gbW9k
ZSwgR0MzRGludCBmaXJzdCwgR0MzRHNpemVpIGNvdW50LCBHQzNEc2l6ZWkgcHJpbWNvdW50KQot
ewotICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwotICAgIDo6Z2xEcmF3QXJyYXlzSW5zdGFuY2Vk
KG1vZGUsIGZpcnN0LCBjb3VudCwgcHJpbWNvdW50KTsKLX0KLQotdm9pZCBHcmFwaGljc0NvbnRl
eHQzRDo6ZHJhd0VsZW1lbnRzSW5zdGFuY2VkKEdDM0RlbnVtIG1vZGUsIEdDM0RzaXplaSBjb3Vu
dCwgR0MzRGVudW0gdHlwZSwgR0MzRGludHB0ciBvZmZzZXQsIEdDM0RzaXplaSBwcmltY291bnQp
Ci17Ci0gICAgbWFrZUNvbnRleHRDdXJyZW50KCk7Ci0gICAgOjpnbERyYXdFbGVtZW50c0luc3Rh
bmNlZChtb2RlLCBjb3VudCwgdHlwZSwgcmVpbnRlcnByZXRfY2FzdDxHTHZvaWQqPihzdGF0aWNf
Y2FzdDxpbnRwdHJfdD4ob2Zmc2V0KSksIHByaW1jb3VudCk7Ci19Ci0KLXZvaWQgR3JhcGhpY3ND
b250ZXh0M0Q6OnZlcnRleEF0dHJpYkRpdmlzb3IoR0MzRHVpbnQgaW5kZXgsIEdDM0R1aW50IGRp
dmlzb3IpCi17Ci0gICAgbWFrZUNvbnRleHRDdXJyZW50KCk7Ci0gICAgOjpnbFZlcnRleEF0dHJp
YkRpdmlzb3IoaW5kZXgsIGRpdmlzb3IpOwotfQotI2VuZGlmCi0KIH0KIAogI2VuZGlmIC8vIFVT
RSgzRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1vbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xDb21t
b24uY3BwCmluZGV4IGMxMzU2YTBlOWMwNGVmNjk3NGE2ZTBmNTkyZjAwMThiZGNhYzg5ZTkuLjcz
YWRiYzE5ZThiZTQ5ZTY4NTBjN2Q4NzMzN2FhODc2YzMzYTU1MzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5H
TENvbW1vbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Blbmds
L0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcApAQCAtMTYzMCw2ICsxNjMwLDIzIEBA
IHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnRleEltYWdlMkREaXJlY3QoR0MzRGVudW0gdGFyZ2V0
LCBHQzNEaW50IGxldmVsLCBHQzNEZW51CiAgICAgOjpnbFRleEltYWdlMkQodGFyZ2V0LCBsZXZl
bCwgaW50ZXJuYWxmb3JtYXQsIHdpZHRoLCBoZWlnaHQsIGJvcmRlciwgZm9ybWF0LCB0eXBlLCBw
aXhlbHMpOwogfQogCisjaWYgIVBMQVRGT1JNKENPQ09BKQordm9pZCBHcmFwaGljc0NvbnRleHQz
RDo6ZHJhd0FycmF5c0luc3RhbmNlZChHQzNEZW51bSBtb2RlLCBHQzNEaW50IGZpcnN0LCBHQzNE
c2l6ZWkgY291bnQsIEdDM0RzaXplaSBwcmltY291bnQpCit7CisgICAgZ2V0RXh0ZW5zaW9ucygp
LT5kcmF3QXJyYXlzSW5zdGFuY2VkKG1vZGUsIGZpcnN0LCBjb3VudCwgcHJpbWNvdW50KTsKK30K
Kwordm9pZCBHcmFwaGljc0NvbnRleHQzRDo6ZHJhd0VsZW1lbnRzSW5zdGFuY2VkKEdDM0RlbnVt
IG1vZGUsIEdDM0RzaXplaSBjb3VudCwgR0MzRGVudW0gdHlwZSwgR0MzRGludHB0ciBvZmZzZXQs
IEdDM0RzaXplaSBwcmltY291bnQpCit7CisgICAgZ2V0RXh0ZW5zaW9ucygpLT5kcmF3RWxlbWVu
dHNJbnN0YW5jZWQobW9kZSwgY291bnQsIHR5cGUsIG9mZnNldCwgcHJpbWNvdW50KTsKK30KKwor
dm9pZCBHcmFwaGljc0NvbnRleHQzRDo6dmVydGV4QXR0cmliRGl2aXNvcihHQzNEdWludCBpbmRl
eCwgR0MzRHVpbnQgZGl2aXNvcikKK3sKKyAgICBnZXRFeHRlbnNpb25zKCktPnZlcnRleEF0dHJp
YkRpdmlzb3IoaW5kZXgsIGRpdmlzb3IpOworfQorI2VuZGlmCisKIH0KIAogI2VuZGlmIC8vIFVT
RSgzRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTEVTLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTEVTLmNwcApp
bmRleCA1NDZiMmQ0MzMxOTEwY2YxZjVhMDQwOTM0YTUxNmQzMWUwOGUwN2FkLi4wZWZjNTIxOTJi
ZTIxN2MxNzViMDFmMjYyMDhjYmVhOWFkYTk4ZTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xFUy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29u
dGV4dDNET3BlbkdMRVMuY3BwCkBAIC0yMDYsMjkgKzIwNiw2IEBAIHZvaWQgR3JhcGhpY3NDb250
ZXh0M0Q6OmNsZWFyRGVwdGgoR0MzRGNsYW1wZiBkZXB0aCkKICAgICA6OmdsQ2xlYXJEZXB0aGYo
ZGVwdGgpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpkcmF3QXJyYXlzSW5zdGFuY2Vk
KEdDM0RlbnVtIG1vZGUsIEdDM0RpbnQgZmlyc3QsIEdDM0RzaXplaSBjb3VudCwgR0MzRHNpemVp
IHByaW1jb3VudCkKLXsKLSAgICBVTlVTRURfUEFSQU0obW9kZSk7Ci0gICAgVU5VU0VEX1BBUkFN
KGZpcnN0KTsKLSAgICBVTlVTRURfUEFSQU0oY291bnQpOwotICAgIFVOVVNFRF9QQVJBTShwcmlt
Y291bnQpOwotfQotCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpkcmF3RWxlbWVudHNJbnN0YW5j
ZWQoR0MzRGVudW0gbW9kZSwgR0MzRHNpemVpIGNvdW50LCBHQzNEZW51bSB0eXBlLCBHQzNEaW50
cHRyIG9mZnNldCwgR0MzRHNpemVpIHByaW1jb3VudCkKLXsKLSAgICBVTlVTRURfUEFSQU0obW9k
ZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGNvdW50KTsKLSAgICBVTlVTRURfUEFSQU0odHlwZSk7Ci0g
ICAgVU5VU0VEX1BBUkFNKG9mZnNldCk7Ci0gICAgVU5VU0VEX1BBUkFNKHByaW1jb3VudCk7Ci19
Ci0KLXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnZlcnRleEF0dHJpYkRpdmlzb3IoR0MzRHVpbnQg
aW5kZXgsIEdDM0R1aW50IGRpdmlzb3IpCi17Ci0gICAgVU5VU0VEX1BBUkFNKGluZGV4KTsKLSAg
ICBVTlVTRURfUEFSQU0oZGl2aXNvcik7Ci19Ci0KIEV4dGVuc2lvbnMzRCogR3JhcGhpY3NDb250
ZXh0M0Q6OmdldEV4dGVuc2lvbnMoKQogewogICAgIGlmICghbV9leHRlbnNpb25zKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>