<?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>137738</bug_id>
          
          <creation_ts>2014-10-15 03:17:17 -0700</creation_ts>
          <short_desc>Move TextCodec classes to std::unique_ptr</short_desc>
          <delta_ts>2014-11-23 18:25:59 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</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>
          
          <blocked>128007</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>japhet</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1041831</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-10-15 03:17:17 -0700</bug_when>
    <thetext>SSIA</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041832</commentid>
    <comment_count>1</comment_count>
      <attachid>239861</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-10-15 03:18:04 -0700</bug_when>
    <thetext>Created attachment 239861
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041836</commentid>
    <comment_count>2</comment_count>
      <attachid>239864</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-10-15 04:18:32 -0700</bug_when>
    <thetext>Created attachment 239864
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1041871</commentid>
    <comment_count>3</comment_count>
      <attachid>239864</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-10-15 09:39:31 -0700</bug_when>
    <thetext>Comment on attachment 239864
Patch

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

OK to do this, but please use make_unique, not unique_ptr/new.

&gt; Source/WebCore/platform/text/TextCodecICU.cpp:72
&gt; +    return std::unique_ptr&lt;TextCodec&gt;(new TextCodecICU(encoding.name(), static_cast&lt;const char*&gt;(additionalData)));

This should use std::make_unique, not new combined with std::unique_ptr.

&gt; Source/WebCore/platform/text/TextCodecLatin1.cpp:109
&gt; +    return std::unique_ptr&lt;TextCodec&gt;(new TextCodecLatin1);

Ditto.

&gt; Source/WebCore/platform/text/TextCodecUTF16.cpp:53
&gt; +    return std::unique_ptr&lt;TextCodec&gt;(new TextCodecUTF16(true));

Ditto.

&gt; Source/WebCore/platform/text/TextCodecUTF16.cpp:58
&gt; +    return std::unique_ptr&lt;TextCodec&gt;(new TextCodecUTF16(false));

Ditto.

&gt; Source/WebCore/platform/text/TextCodecUTF8.cpp:43
&gt; +    return std::unique_ptr&lt;TextCodec&gt;(new TextCodecUTF8);

Ditto.

&gt; Source/WebCore/platform/text/TextCodecUserDefined.cpp:44
&gt; +    return std::unique_ptr&lt;TextCodec&gt;(new TextCodecUserDefined);

Ditto.

&gt; Source/WebCore/platform/text/mac/TextCodecMac.cpp:71
&gt; +    return std::unique_ptr&lt;TextCodec&gt;(new TextCodecMac(*static_cast&lt;const TECTextEncodingID*&gt;(additionalData)));

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042025</commentid>
    <comment_count>4</comment_count>
      <attachid>239912</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-10-15 18:06:48 -0700</bug_when>
    <thetext>Created attachment 239912
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042026</commentid>
    <comment_count>5</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-10-15 18:23:09 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 239864 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=239864&amp;action=review
&gt; 
&gt; OK to do this, but please use make_unique, not unique_ptr/new.
&gt; 
&gt; &gt; Source/WebCore/platform/text/TextCodecICU.cpp:72
&gt; &gt; +    return std::unique_ptr&lt;TextCodec&gt;(new TextCodecICU(encoding.name(), static_cast&lt;const char*&gt;(additionalData)));
&gt; 
&gt; This should use std::make_unique, not new combined with std::unique_ptr.
&gt; 
&gt; &gt; Source/WebCore/platform/text/TextCodecLatin1.cpp:109
&gt; &gt; +    return std::unique_ptr&lt;TextCodec&gt;(new TextCodecLatin1);
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/platform/text/TextCodecUTF16.cpp:53
&gt; &gt; +    return std::unique_ptr&lt;TextCodec&gt;(new TextCodecUTF16(true));
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/platform/text/TextCodecUTF16.cpp:58
&gt; &gt; +    return std::unique_ptr&lt;TextCodec&gt;(new TextCodecUTF16(false));
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/platform/text/TextCodecUTF8.cpp:43
&gt; &gt; +    return std::unique_ptr&lt;TextCodec&gt;(new TextCodecUTF8);
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/platform/text/TextCodecUserDefined.cpp:44
&gt; &gt; +    return std::unique_ptr&lt;TextCodec&gt;(new TextCodecUserDefined);
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; Source/WebCore/platform/text/mac/TextCodecMac.cpp:71
&gt; &gt; +    return std::unique_ptr&lt;TextCodec&gt;(new TextCodecMac(*static_cast&lt;const TECTextEncodingID*&gt;(additionalData)));
&gt; 
&gt; Ditto.

Thank you for pointing those things out. Fixed all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042029</commentid>
    <comment_count>6</comment_count>
      <attachid>239914</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-10-15 18:35:07 -0700</bug_when>
    <thetext>Created attachment 239914
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042048</commentid>
    <comment_count>7</comment_count>
      <attachid>239914</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-15 19:51:00 -0700</bug_when>
    <thetext>Comment on attachment 239914
Patch for landing

Clearing flags on attachment: 239914

Committed r174757: &lt;http://trac.webkit.org/changeset/174757&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042049</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-15 19:51:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042286</commentid>
    <comment_count>9</comment_count>
      <attachid>239914</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-16 21:32:31 -0700</bug_when>
    <thetext>Comment on attachment 239914
Patch for landing

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

&gt; Source/WebCore/platform/text/TextCodecICU.h:39
&gt; +        static std::unique_ptr&lt;TextCodec&gt; create(const TextEncoding&amp;, const void* additionalData);

It is a bit sad that we had to make all these public :(

&gt; Source/WebCore/platform/text/TextCodecUTF8.h:36
&gt; +    TextCodecUTF8()

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042303</commentid>
    <comment_count>10</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-10-16 22:48:37 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Comment on attachment 239914 [details]
&gt; Patch for landing
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=239914&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/text/TextCodecICU.h:39
&gt; &gt; +        static std::unique_ptr&lt;TextCodec&gt; create(const TextEncoding&amp;, const void* additionalData);
&gt; 
&gt; It is a bit sad that we had to make all these public :(
&gt; 
&gt; &gt; Source/WebCore/platform/text/TextCodecUTF8.h:36
&gt; &gt; +    TextCodecUTF8()
&gt; 
&gt; ditto.

I will also fix it after finishing to land the patch on Bug 137765.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239861</attachid>
            <date>2014-10-15 03:18:04 -0700</date>
            <delta_ts>2014-10-15 04:18:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137738-20141015191807.patch</filename>
            <type>text/plain</type>
            <size>12583</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0NzI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWYwN2FkMTI0MzVjNjJj
M2Q2ZTc4OThjZDk0M2E2NmU1ZWVhZGRhNy4uODUyNTNlZDFkODczOWQyNTU5MjFiNjZlNTc1ZDEz
YTFiMWRlMmNhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE0LTEwLTE1ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92ZSBUZXh0
Q29kZWMgY2xhc3NlcyB0byBzdGQ6OnVuaXF1ZV9wdHIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzczOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcGxhY2UgdXNlcyBvZiBQYXNzT3duUHRyIGluIGNv
ZGUgdW5kZXIgVGV4dENvZGVjRm9vIGNsYXNzIHdpdGggc3RkOjp1bmlxdWVfcHRyLgorICAgICAg
ICBSZWxhdGVkIGNsYXNzZXMgZm9sbG93IHRoaXMgY2hhbmdlIGFzIHdlbGwuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBodG1sL3BhcnNl
ci9IVE1MTWV0YUNoYXJzZXRQYXJzZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvVGV4dFJlc291cmNl
RGVjb2Rlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0UmVzb3VyY2VEZWNvZGVyOjpzZXRF
bmNvZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0UmVzb3VyY2VEZWNvZGVyOjpmbHVzaCk6
CisgICAgICAgICogbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS90ZXh0L1RleHRDb2RlYy5oOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dENvZGVj
SUNVLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRDb2RlY0lDVTo6Y3JlYXRlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRDb2RlY0lDVS5oOgorICAgICAgICAqIHBsYXRmb3JtL3Rl
eHQvVGV4dENvZGVjTGF0aW4xLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5ld1N0cmVhbWluZ1Rl
eHREZWNvZGVyV2luZG93c0xhdGluMSk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9UZXh0Q29k
ZWNVVEYxNi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpuZXdTdHJlYW1pbmdUZXh0RGVjb2RlclVU
RjE2TEUpOgorICAgICAgICAoV2ViQ29yZTo6bmV3U3RyZWFtaW5nVGV4dERlY29kZXJVVEYxNkJF
KToKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VGV4dENvZGVjVVRGODo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0
L1RleHRDb2RlY1VURjguaDoKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VzZXJE
ZWZpbmVkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5ld1N0cmVhbWluZ1RleHREZWNvZGVyVXNl
ckRlZmluZWQpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6bmV3VGV4dENvZGVjKToKKyAgICAgICAgKiBwbGF0Zm9y
bS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5Lmg6CisKIDIwMTQtMTAtMTQgIEd5dXlvdW5nIEtp
bSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCB1bm5lY2Vz
c2FyeSBQYXNzT3duUHRyLmggaW5jbHVzaW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MTWV0YUNoYXJzZXRQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
cGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBhcnNlci5oCmluZGV4IDYxOGNlN2ZmNjFkMWRkMGY1ZTNm
ZjBlMzVlMjAzMmIyZTdhM2FjYjcuLmRlMDI4YmIwYmNhMDI2NmZiNmQ0Zjc4YWE0ZjA3MjQwYTIz
Mjk1OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxNZXRhQ2hh
cnNldFBhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxNZXRhQ2hh
cnNldFBhcnNlci5oCkBAIC02Myw3ICs2Myw3IEBAIHByaXZhdGU6CiAgICAgfTsKIAogICAgIHN0
ZDo6dW5pcXVlX3B0cjxIVE1MVG9rZW5pemVyPiBtX3Rva2VuaXplcjsKLSAgICBPd25QdHI8VGV4
dENvZGVjPiBtX2Fzc3VtZWRDb2RlYzsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8VGV4dENvZGVjPiBt
X2Fzc3VtZWRDb2RlYzsKICAgICBTZWdtZW50ZWRTdHJpbmcgbV9pbnB1dDsKICAgICBIVE1MVG9r
ZW4gbV90b2tlbjsKICAgICBib29sIG1faW5IZWFkU2VjdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9UZXh0UmVzb3VyY2VEZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9UZXh0UmVzb3VyY2VEZWNvZGVyLmNwcAppbmRleCA5ODAyMTY1YmE1ZDVmMDc5MjEw
NTVhNGM5ZDA1NWE0ZjQ3NTJkZWQxLi4xZGFhODIwODRmMjg1N2Q2MzhiYTI1MTU3MmRmNmVmZGU1
NmQ5ZGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFJlc291cmNlRGVj
b2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIu
Y3BwCkBAIC0zNTUsNyArMzU1LDcgQEAgdm9pZCBUZXh0UmVzb3VyY2VEZWNvZGVyOjpzZXRFbmNv
ZGluZyhjb25zdCBUZXh0RW5jb2RpbmcmIGVuY29kaW5nLCBFbmNvZGluZ1NvdXIKICAgICBlbHNl
CiAgICAgICAgIG1fZW5jb2RpbmcgPSBlbmNvZGluZzsKIAotICAgIG1fY29kZWMuY2xlYXIoKTsK
KyAgICBtX2NvZGVjID0gbnVsbHB0cjsKICAgICBtX3NvdXJjZSA9IHNvdXJjZTsKIH0KIApAQCAt
NjYwLDcgKzY2MCw3IEBAIFN0cmluZyBUZXh0UmVzb3VyY2VEZWNvZGVyOjpmbHVzaCgpCiAKICAg
ICBTdHJpbmcgcmVzdWx0ID0gbV9jb2RlYy0+ZGVjb2RlKG1fYnVmZmVyLmRhdGEoKSwgbV9idWZm
ZXIuc2l6ZSgpLCB0cnVlLCBtX2NvbnRlbnRUeXBlID09IFhNTCAmJiAhbV91c2VMZW5pZW50WE1M
RGVjb2RpbmcsIG1fc2F3RXJyb3IpOwogICAgIG1fYnVmZmVyLmNsZWFyKCk7Ci0gICAgbV9jb2Rl
Yy5jbGVhcigpOworICAgIG1fY29kZWMgPSBudWxscHRyOwogICAgIG1fY2hlY2tlZEZvckJPTSA9
IGZhbHNlOyAvLyBTa2lwIEJPTSBhZ2FpbiB3aGVuIHJlLWRlY29kaW5nLgogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFJlc291cmNl
RGVjb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuaApp
bmRleCBjNjc0NzExNzJkYTE1MGZmNTJhOTI4NmM1YzZlZjA3NmE1Y2IwMWQwLi4yYTkyNTQ4NzU5
OTNjY2ViODc5M2NmOTJlZDk0Mzk1ZTgyOGFlMDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvVGV4dFJlc291cmNlRGVjb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9UZXh0UmVzb3VyY2VEZWNvZGVyLmgKQEAgLTg0LDcgKzg0LDcgQEAgcHJpdmF0ZToKIAogICAg
IENvbnRlbnRUeXBlIG1fY29udGVudFR5cGU7CiAgICAgVGV4dEVuY29kaW5nIG1fZW5jb2Rpbmc7
Ci0gICAgT3duUHRyPFRleHRDb2RlYz4gbV9jb2RlYzsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8VGV4
dENvZGVjPiBtX2NvZGVjOwogICAgIEVuY29kaW5nU291cmNlIG1fc291cmNlOwogICAgIGNvbnN0
IGNoYXIqIG1faGludEVuY29kaW5nOwogICAgIFZlY3RvcjxjaGFyPiBtX2J1ZmZlcjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oCmluZGV4IDVlZDljYzY0NmJmYjNkODg2
OTlkYjkwZGNiNjM0ZjliZTk0MDA0NzguLmQ5MjcyZjk1N2M3ZThiNmE3YzkzMGY2YTczZjIwNDAw
ZDBhMTUxMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENv
ZGVjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaApAQCAt
NzgsNyArNzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBlZGVmIHZvaWQgKCpF
bmNvZGluZ05hbWVSZWdpc3RyYXIpKGNvbnN0IGNoYXIqIGFsaWFzLCBjb25zdCBjaGFyKiBuYW1l
KTsKIAotICAgIHR5cGVkZWYgUGFzc093blB0cjxUZXh0Q29kZWM+ICgqTmV3VGV4dENvZGVjRnVu
Y3Rpb24pKGNvbnN0IFRleHRFbmNvZGluZyYsIGNvbnN0IHZvaWQqIGFkZGl0aW9uYWxEYXRhKTsK
KyAgICB0eXBlZGVmIHN0ZDo6dW5pcXVlX3B0cjxUZXh0Q29kZWM+ICgqTmV3VGV4dENvZGVjRnVu
Y3Rpb24pKGNvbnN0IFRleHRFbmNvZGluZyYsIGNvbnN0IHZvaWQqIGFkZGl0aW9uYWxEYXRhKTsK
ICAgICB0eXBlZGVmIHZvaWQgKCpUZXh0Q29kZWNSZWdpc3RyYXIpKGNvbnN0IGNoYXIqIG5hbWUs
IE5ld1RleHRDb2RlY0Z1bmN0aW9uLCBjb25zdCB2b2lkKiBhZGRpdGlvbmFsRGF0YSk7CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvVGV4dENvZGVjSUNVLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4
dENvZGVjSUNVLmNwcAppbmRleCBkOThmOWFjNWZhMDA4YTE2MjZiMGRjZWE0ZmU1OTkwNjc4NTNk
YWQyLi4wNjIxOTQ5NmU1NTY0YTBmODE3MGQ0OWZmOTQwOTA1YWE2YmJmMjI3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY0lDVS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNJQ1UuY3BwCkBAIC02NiwxMCArNjYs
MTAgQEAgc3RhdGljIFVDb252ZXJ0ZXIqJiBjYWNoZWRDb252ZXJ0ZXJJQ1UoKQogICAgIHJldHVy
biB0aHJlYWRHbG9iYWxEYXRhKCkuY2FjaGVkQ29udmVydGVySUNVKCkuY29udmVydGVyOwogfQog
Ci1QYXNzT3duUHRyPFRleHRDb2RlYz4gVGV4dENvZGVjSUNVOjpjcmVhdGUoY29uc3QgVGV4dEVu
Y29kaW5nJiBlbmNvZGluZywgY29uc3Qgdm9pZCogYWRkaXRpb25hbERhdGEpCitzdGQ6OnVuaXF1
ZV9wdHI8VGV4dENvZGVjPiBUZXh0Q29kZWNJQ1U6OmNyZWF0ZShjb25zdCBUZXh0RW5jb2Rpbmcm
IGVuY29kaW5nLCBjb25zdCB2b2lkKiBhZGRpdGlvbmFsRGF0YSkKIHsKICAgICAvLyBOYW1lIHN0
cmluZ3MgYXJlIHBlcnNpc3RlbnRseSBrZXB0IGluIFRleHRFbmNvZGluZ1JlZ2lzdHJ5IG1hcHMs
IHNvIHRoZXkgYXJlIG5ldmVyIGRlbGV0ZWQuCi0gICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBUZXh0
Q29kZWNJQ1UoZW5jb2RpbmcubmFtZSgpLCBzdGF0aWNfY2FzdDxjb25zdCBjaGFyKj4oYWRkaXRp
b25hbERhdGEpKSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxUZXh0Q29kZWM+KG5ldyBU
ZXh0Q29kZWNJQ1UoZW5jb2RpbmcubmFtZSgpLCBzdGF0aWNfY2FzdDxjb25zdCBjaGFyKj4oYWRk
aXRpb25hbERhdGEpKSk7CiB9CiAKIHZvaWQgVGV4dENvZGVjSUNVOjpyZWdpc3RlckVuY29kaW5n
TmFtZXMoRW5jb2RpbmdOYW1lUmVnaXN0cmFyIHJlZ2lzdHJhcikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjSUNVLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L1RleHRDb2RlY0lDVS5oCmluZGV4IDYwNTgzMDJmNDcxNjE2ZDNkYzM4NjY5
ZmRmZDZmN2E2OGIzYzQ5MjEuLjQ2N2Y0N2ZkZGMzYTBlMmNkOTc5MDAwNzNjYWVlNjU3MDFhZTZh
OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjSUNV
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNJQ1UuaApAQCAt
NDMsNyArNDMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBwcml2YXRlOgogICAgICAg
ICBUZXh0Q29kZWNJQ1UoY29uc3QgY2hhciogZW5jb2RpbmcsIGNvbnN0IGNoYXIqIGNhbm9uaWNh
bENvbnZlcnRlck5hbWUpOwotICAgICAgICBzdGF0aWMgUGFzc093blB0cjxUZXh0Q29kZWM+IGNy
ZWF0ZShjb25zdCBUZXh0RW5jb2RpbmcmLCBjb25zdCB2b2lkKiBhZGRpdGlvbmFsRGF0YSk7Cisg
ICAgICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8VGV4dENvZGVjPiBjcmVhdGUoY29uc3QgVGV4
dEVuY29kaW5nJiwgY29uc3Qgdm9pZCogYWRkaXRpb25hbERhdGEpOwogCiAgICAgICAgIHZpcnR1
YWwgU3RyaW5nIGRlY29kZShjb25zdCBjaGFyKiwgc2l6ZV90IGxlbmd0aCwgYm9vbCBmbHVzaCwg
Ym9vbCBzdG9wT25FcnJvciwgYm9vbCYgc2F3RXJyb3IpOwogICAgICAgICB2aXJ0dWFsIENTdHJp
bmcgZW5jb2RlKGNvbnN0IFVDaGFyKiwgc2l6ZV90IGxlbmd0aCwgVW5lbmNvZGFibGVIYW5kbGlu
Zyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY0xh
dGluMS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY0xhdGluMS5j
cHAKaW5kZXggMzczZjIyNmVjNjlhZWUxNDIwODQwZDdhZGI4ZDJjMDYyYjgyOTg0Ni4uMDJmZDAx
YmEwZWVkNWJhYTVjYTRiYmYwM2I0NTUwMmJkNTU3OWZlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNMYXRpbjEuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjTGF0aW4xLmNwcApAQCAtMTA0LDkgKzEwNCw5IEBA
IHZvaWQgVGV4dENvZGVjTGF0aW4xOjpyZWdpc3RlckVuY29kaW5nTmFtZXMoRW5jb2RpbmdOYW1l
UmVnaXN0cmFyIHJlZ2lzdHJhcikKICAgICByZWdpc3RyYXIoIngtYW5zaSIsICJVUy1BU0NJSSIp
OwogfQogCi1zdGF0aWMgUGFzc093blB0cjxUZXh0Q29kZWM+IG5ld1N0cmVhbWluZ1RleHREZWNv
ZGVyV2luZG93c0xhdGluMShjb25zdCBUZXh0RW5jb2RpbmcmLCBjb25zdCB2b2lkKikKK3N0YXRp
YyBzdGQ6OnVuaXF1ZV9wdHI8VGV4dENvZGVjPiBuZXdTdHJlYW1pbmdUZXh0RGVjb2RlcldpbmRv
d3NMYXRpbjEoY29uc3QgVGV4dEVuY29kaW5nJiwgY29uc3Qgdm9pZCopCiB7Ci0gICAgcmV0dXJu
IGFkb3B0UHRyKG5ldyBUZXh0Q29kZWNMYXRpbjEpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9w
dHI8VGV4dENvZGVjPihuZXcgVGV4dENvZGVjTGF0aW4xKTsKIH0KIAogdm9pZCBUZXh0Q29kZWNM
YXRpbjE6OnJlZ2lzdGVyQ29kZWNzKFRleHRDb2RlY1JlZ2lzdHJhciByZWdpc3RyYXIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjE2LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGMTYuY3BwCmluZGV4IGQ5
OGQ1MTlhYTllMDA3NTI2NWM3MDRmMjc4ZDhhNzZjM2M4ZjZmYjQuLjQ1MjI2ODVkYmFhMWVjNTU3
MmJjZDU0NmRhYjMzMGYyZWE3YzRjNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvVGV4dENvZGVjVVRGMTYuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvVGV4dENvZGVjVVRGMTYuY3BwCkBAIC00OCwxNCArNDgsMTQgQEAgdm9pZCBUZXh0Q29k
ZWNVVEYxNjo6cmVnaXN0ZXJFbmNvZGluZ05hbWVzKEVuY29kaW5nTmFtZVJlZ2lzdHJhciByZWdp
c3RyYXIpCiAgICAgcmVnaXN0cmFyKCJ1bmljb2RlRkZGRSIsICJVVEYtMTZCRSIpOwogfQogCi1z
dGF0aWMgUGFzc093blB0cjxUZXh0Q29kZWM+IG5ld1N0cmVhbWluZ1RleHREZWNvZGVyVVRGMTZM
RShjb25zdCBUZXh0RW5jb2RpbmcmLCBjb25zdCB2b2lkKikKK3N0YXRpYyBzdGQ6OnVuaXF1ZV9w
dHI8VGV4dENvZGVjPiBuZXdTdHJlYW1pbmdUZXh0RGVjb2RlclVURjE2TEUoY29uc3QgVGV4dEVu
Y29kaW5nJiwgY29uc3Qgdm9pZCopCiB7Ci0gICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBUZXh0Q29k
ZWNVVEYxNih0cnVlKSk7CisgICAgcmV0dXJuIHN0ZDo6dW5pcXVlX3B0cjxUZXh0Q29kZWM+KG5l
dyBUZXh0Q29kZWNVVEYxNih0cnVlKSk7CiB9CiAKLXN0YXRpYyBQYXNzT3duUHRyPFRleHRDb2Rl
Yz4gbmV3U3RyZWFtaW5nVGV4dERlY29kZXJVVEYxNkJFKGNvbnN0IFRleHRFbmNvZGluZyYsIGNv
bnN0IHZvaWQqKQorc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxUZXh0Q29kZWM+IG5ld1N0cmVhbWlu
Z1RleHREZWNvZGVyVVRGMTZCRShjb25zdCBUZXh0RW5jb2RpbmcmLCBjb25zdCB2b2lkKikKIHsK
LSAgICByZXR1cm4gYWRvcHRQdHIobmV3IFRleHRDb2RlY1VURjE2KGZhbHNlKSk7CisgICAgcmV0
dXJuIHN0ZDo6dW5pcXVlX3B0cjxUZXh0Q29kZWM+KG5ldyBUZXh0Q29kZWNVVEYxNihmYWxzZSkp
OwogfQogCiB2b2lkIFRleHRDb2RlY1VURjE2OjpyZWdpc3RlckNvZGVjcyhUZXh0Q29kZWNSZWdp
c3RyYXIgcmVnaXN0cmFyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC9UZXh0Q29kZWNVVEY4LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENv
ZGVjVVRGOC5jcHAKaW5kZXggNjQ3MmYxMzMyMDI1YjcyODJmMmRkZWNjZWY4M2ZjMzY1YmNiNmE0
YS4uMTQxNWRlMjhhZDgzZGU1NTRkMGI3ZTU4YjkzNzdhOThjNjhiZGZmZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguY3BwCkBAIC0zOCw5ICszOCw5
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY29uc3QgaW50IG5vbkNoYXJhY3RlciA9IC0xOwog
Ci1QYXNzT3duUHRyPFRleHRDb2RlYz4gVGV4dENvZGVjVVRGODo6Y3JlYXRlKGNvbnN0IFRleHRF
bmNvZGluZyYsIGNvbnN0IHZvaWQqKQorc3RkOjp1bmlxdWVfcHRyPFRleHRDb2RlYz4gVGV4dENv
ZGVjVVRGODo6Y3JlYXRlKGNvbnN0IFRleHRFbmNvZGluZyYsIGNvbnN0IHZvaWQqKQogewotICAg
IHJldHVybiBhZG9wdFB0cihuZXcgVGV4dENvZGVjVVRGOCk7CisgICAgcmV0dXJuIHN0ZDo6dW5p
cXVlX3B0cjxUZXh0Q29kZWM+KG5ldyBUZXh0Q29kZWNVVEY4KTsKIH0KIAogdm9pZCBUZXh0Q29k
ZWNVVEY4OjpyZWdpc3RlckVuY29kaW5nTmFtZXMoRW5jb2RpbmdOYW1lUmVnaXN0cmFyIHJlZ2lz
dHJhcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVj
VVRGOC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmgKaW5k
ZXggZmY5MTQ2OThjY2E5NzA4NjFmNWY5MWY3OWY5ZjI4YWQ4NWFiM2IxZi4uNTA5ZWUwNDdjOTc3
ODVmOWUxMTM1ZGJjYWFjMTMxNWY2YmEzNzA5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9UZXh0Q29kZWNVVEY4LmgKQEAgLTM2LDcgKzM2LDcgQEAgcHVibGljOgogICAgIHN0
YXRpYyB2b2lkIHJlZ2lzdGVyQ29kZWNzKFRleHRDb2RlY1JlZ2lzdHJhcik7CiAKIHByaXZhdGU6
Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8VGV4dENvZGVjPiBjcmVhdGUoY29uc3QgVGV4dEVuY29k
aW5nJiwgY29uc3Qgdm9pZCopOworICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8VGV4dENvZGVj
PiBjcmVhdGUoY29uc3QgVGV4dEVuY29kaW5nJiwgY29uc3Qgdm9pZCopOwogICAgIFRleHRDb2Rl
Y1VURjgoKSA6IG1fcGFydGlhbFNlcXVlbmNlU2l6ZSgwKSB7IH0KIAogICAgIHZpcnR1YWwgU3Ry
aW5nIGRlY29kZShjb25zdCBjaGFyKiwgc2l6ZV90IGxlbmd0aCwgYm9vbCBmbHVzaCwgYm9vbCBz
dG9wT25FcnJvciwgYm9vbCYgc2F3RXJyb3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVc2VyRGVmaW5lZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VzZXJEZWZpbmVkLmNwcAppbmRleCBkODFhNjM1YzNhYjQy
NzY3NDFmN2VkZGE5ZmViOGNjNTI2MjE0ZGM4Li4xZDk1MDA2NmRmMjI0NjM3OTIzYWI5MTQ1YjMx
ZmM3NDkyZDI3ZGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1Rl
eHRDb2RlY1VzZXJEZWZpbmVkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L1RleHRDb2RlY1VzZXJEZWZpbmVkLmNwcApAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUgIlRl
eHRDb2RlY1VzZXJEZWZpbmVkLmgiCiAKICNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPHd0
Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1N0cmluZ0J1ZmZlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxk
ZXIuaD4KQEAgLTQwLDkgKzM5LDkgQEAgdm9pZCBUZXh0Q29kZWNVc2VyRGVmaW5lZDo6cmVnaXN0
ZXJFbmNvZGluZ05hbWVzKEVuY29kaW5nTmFtZVJlZ2lzdHJhciByZWdpc3RyYXIKICAgICByZWdp
c3RyYXIoIngtdXNlci1kZWZpbmVkIiwgIngtdXNlci1kZWZpbmVkIik7CiB9CiAKLXN0YXRpYyBQ
YXNzT3duUHRyPFRleHRDb2RlYz4gbmV3U3RyZWFtaW5nVGV4dERlY29kZXJVc2VyRGVmaW5lZChj
b25zdCBUZXh0RW5jb2RpbmcmLCBjb25zdCB2b2lkKikKK3N0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8
VGV4dENvZGVjPiBuZXdTdHJlYW1pbmdUZXh0RGVjb2RlclVzZXJEZWZpbmVkKGNvbnN0IFRleHRF
bmNvZGluZyYsIGNvbnN0IHZvaWQqKQogewotICAgIHJldHVybiBhZG9wdFB0cihuZXcgVGV4dENv
ZGVjVXNlckRlZmluZWQpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8VGV4dENvZGVjPihu
ZXcgVGV4dENvZGVjVXNlckRlZmluZWQpOwogfQogCiB2b2lkIFRleHRDb2RlY1VzZXJEZWZpbmVk
OjpyZWdpc3RlckNvZGVjcyhUZXh0Q29kZWNSZWdpc3RyYXIgcmVnaXN0cmFyKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdSZWdpc3RyeS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmNwcApp
bmRleCA4NmQ1ZDJlOGNkZDRjYzdhNjBhZTM5NGQ5MTgzZGEwYzhlY2Q0ZmYxLi5iYzFmMzA5NGQ0
MmUxZTk2YTZiZWVhOGY4ZmEzMDczOTI1MjY3ODJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmNwcApAQCAtMjkyLDcgKzI5
Miw3IEBAIHN0YXRpYyB2b2lkIGV4dGVuZFRleHRDb2RlY01hcHMoKQogICAgIGJ1aWxkUXVpcmtz
U2V0cygpOwogfQogCi1QYXNzT3duUHRyPFRleHRDb2RlYz4gbmV3VGV4dENvZGVjKGNvbnN0IFRl
eHRFbmNvZGluZyYgZW5jb2RpbmcpCitzdGQ6OnVuaXF1ZV9wdHI8VGV4dENvZGVjPiBuZXdUZXh0
Q29kZWMoY29uc3QgVGV4dEVuY29kaW5nJiBlbmNvZGluZykKIHsKICAgICBzdGQ6OmxvY2tfZ3Vh
cmQ8c3RkOjptdXRleD4gbG9jayhlbmNvZGluZ1JlZ2lzdHJ5TXV0ZXgoKSk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuaAppbmRl
eCBlYzA0NjNiNTY5MTkwNTY2ZWNmNzNmNmIyNzExYWMxMjNkYmQ4MDk1Li5lODgyYTlhYjNiMTE5
NzVjMTYwMWRkNGJhN2MxNThiZDcwNjdjMzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdSZWdpc3RyeS5oCkBAIC0yNyw3ICsyNyw2IEBACiAj
ZGVmaW5lIFRleHRFbmNvZGluZ1JlZ2lzdHJ5X2gKIAogI2luY2x1ZGUgPG1lbW9yeT4KLSNpbmNs
dWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zNyw3ICszNiw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgIC8vIFVzZSBUZXh0UmVzb3VyY2VEZWNvZGVyOjpkZWNvZGUgdG8gZGVjb2RlIHJl
c291cmNlcywgc2luY2UgaXQgaGFuZGxlcyBCT01zLgogICAgIC8vIFVzZSBUZXh0RW5jb2Rpbmc6
OmVuY29kZSB0byBlbmNvZGUsIHNpbmNlIGl0IHRha2VzIGNhcmUgb2Ygbm9ybWFsaXphdGlvbi4K
LSAgICBQYXNzT3duUHRyPFRleHRDb2RlYz4gbmV3VGV4dENvZGVjKGNvbnN0IFRleHRFbmNvZGlu
ZyYpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxUZXh0Q29kZWM+IG5ld1RleHRDb2RlYyhjb25zdCBU
ZXh0RW5jb2RpbmcmKTsKIAogICAgIC8vIE9ubHkgVGV4dEVuY29kaW5nIHNob3VsZCB1c2UgdGhl
IGZvbGxvd2luZyBmdW5jdGlvbnMgZGlyZWN0bHkuCiAgICAgY29uc3QgY2hhciogYXRvbWljQ2Fu
b25pY2FsVGV4dEVuY29kaW5nTmFtZShjb25zdCBjaGFyKiBhbGlhcyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239864</attachid>
            <date>2014-10-15 04:18:32 -0700</date>
            <delta_ts>2014-10-15 18:06:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137738-20141015201836.patch</filename>
            <type>text/plain</type>
            <size>13567</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0NzI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDVmNDk5MTU3NzJlODc1
MzIyYmEzYmE4OTNiNGM3YWRmYmVhZDg2My4uOTNjODE1ZjBmOTZmNzBhODUxYTk4NDgyZDI4N2E5
YmVkMWMyNDQwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE0LTEwLTE1ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92ZSBUZXh0
Q29kZWMgY2xhc3NlcyB0byBzdGQ6OnVuaXF1ZV9wdHIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzczOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcGxhY2UgdXNlcyBvZiBQYXNzT3duUHRyIGluIGNv
ZGUgdW5kZXIgVGV4dENvZGVjRm9vIGNsYXNzIHdpdGggc3RkOjp1bmlxdWVfcHRyLgorICAgICAg
ICBSZWxhdGVkIGNsYXNzZXMgZm9sbG93IHRoaXMgY2hhbmdlIGFzIHdlbGwuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBodG1sL3BhcnNl
ci9IVE1MTWV0YUNoYXJzZXRQYXJzZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvVGV4dFJlc291cmNl
RGVjb2Rlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0UmVzb3VyY2VEZWNvZGVyOjpzZXRF
bmNvZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0UmVzb3VyY2VEZWNvZGVyOjpmbHVzaCk6
CisgICAgICAgICogbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS90ZXh0L1RleHRDb2RlYy5oOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dENvZGVj
SUNVLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRDb2RlY0lDVTo6Y3JlYXRlKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRDb2RlY0lDVS5oOgorICAgICAgICAqIHBsYXRmb3JtL3Rl
eHQvVGV4dENvZGVjTGF0aW4xLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5ld1N0cmVhbWluZ1Rl
eHREZWNvZGVyV2luZG93c0xhdGluMSk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9UZXh0Q29k
ZWNVVEYxNi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpuZXdTdHJlYW1pbmdUZXh0RGVjb2RlclVU
RjE2TEUpOgorICAgICAgICAoV2ViQ29yZTo6bmV3U3RyZWFtaW5nVGV4dERlY29kZXJVVEYxNkJF
KToKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VGV4dENvZGVjVVRGODo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0
L1RleHRDb2RlY1VURjguaDoKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VzZXJE
ZWZpbmVkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5ld1N0cmVhbWluZ1RleHREZWNvZGVyVXNl
ckRlZmluZWQpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6bmV3VGV4dENvZGVjKToKKyAgICAgICAgKiBwbGF0Zm9y
bS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5Lmg6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9t
YWMvVGV4dENvZGVjTWFjLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5ld1RleHRDb2RlY01hYyk6
CisKIDIwMTQtMTAtMTUgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CiAKICAg
ICAgICAgVXNlIG1vZGVybiBsb29wcyBpbiBzdWJ0cmVlcyBzZWxlY3Rpb24gY29kZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTE1ldGFDaGFyc2V0UGFyc2VyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MTWV0YUNoYXJzZXRQYXJzZXIuaAppbmRl
eCA2MThjZTdmZjYxZDFkZDBmNWUzZmYwZTM1ZTIwMzJiMmU3YTNhY2I3Li5kZTAyOGJiMGJjYTAy
NjZmYjZkNGY3OGFhNGYwNzI0MGEyMzI5NTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MTWV0YUNoYXJzZXRQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MTWV0YUNoYXJzZXRQYXJzZXIuaApAQCAtNjMsNyArNjMsNyBAQCBwcml2
YXRlOgogICAgIH07CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SFRNTFRva2VuaXplcj4gbV90b2tl
bml6ZXI7Ci0gICAgT3duUHRyPFRleHRDb2RlYz4gbV9hc3N1bWVkQ29kZWM7CisgICAgc3RkOjp1
bmlxdWVfcHRyPFRleHRDb2RlYz4gbV9hc3N1bWVkQ29kZWM7CiAgICAgU2VnbWVudGVkU3RyaW5n
IG1faW5wdXQ7CiAgICAgSFRNTFRva2VuIG1fdG9rZW47CiAgICAgYm9vbCBtX2luSGVhZFNlY3Rp
b247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFJlc291cmNlRGVjb2Rl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFJlc291cmNlRGVjb2Rlci5jcHAKaW5k
ZXggOTgwMjE2NWJhNWQ1ZjA3OTIxMDU1YTRjOWQwNTVhNGY0NzUyZGVkMS4uMWRhYTgyMDg0ZjI4
NTdkNjM4YmEyNTE1NzJkZjZlZmRlNTZkOWRhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9UZXh0UmVzb3VyY2VEZWNvZGVyLmNwcApAQCAtMzU1LDcgKzM1NSw3IEBAIHZvaWQgVGV4dFJl
c291cmNlRGVjb2Rlcjo6c2V0RW5jb2RpbmcoY29uc3QgVGV4dEVuY29kaW5nJiBlbmNvZGluZywg
RW5jb2RpbmdTb3VyCiAgICAgZWxzZQogICAgICAgICBtX2VuY29kaW5nID0gZW5jb2Rpbmc7CiAK
LSAgICBtX2NvZGVjLmNsZWFyKCk7CisgICAgbV9jb2RlYyA9IG51bGxwdHI7CiAgICAgbV9zb3Vy
Y2UgPSBzb3VyY2U7CiB9CiAKQEAgLTY2MCw3ICs2NjAsNyBAQCBTdHJpbmcgVGV4dFJlc291cmNl
RGVjb2Rlcjo6Zmx1c2goKQogCiAgICAgU3RyaW5nIHJlc3VsdCA9IG1fY29kZWMtPmRlY29kZSht
X2J1ZmZlci5kYXRhKCksIG1fYnVmZmVyLnNpemUoKSwgdHJ1ZSwgbV9jb250ZW50VHlwZSA9PSBY
TUwgJiYgIW1fdXNlTGVuaWVudFhNTERlY29kaW5nLCBtX3Nhd0Vycm9yKTsKICAgICBtX2J1ZmZl
ci5jbGVhcigpOwotICAgIG1fY29kZWMuY2xlYXIoKTsKKyAgICBtX2NvZGVjID0gbnVsbHB0cjsK
ICAgICBtX2NoZWNrZWRGb3JCT00gPSBmYWxzZTsgLy8gU2tpcCBCT00gYWdhaW4gd2hlbiByZS1k
ZWNvZGluZy4KICAgICByZXR1cm4gcmVzdWx0OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9U
ZXh0UmVzb3VyY2VEZWNvZGVyLmgKaW5kZXggYzY3NDcxMTcyZGExNTBmZjUyYTkyODZjNWM2ZWYw
NzZhNWNiMDFkMC4uMmE5MjU0ODc1OTkzY2NlYjg3OTNjZjkyZWQ5NDM5NWU4MjhhZTA1NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFJlc291cmNlRGVjb2Rlci5oCkBAIC04NCw3ICs4
NCw3IEBAIHByaXZhdGU6CiAKICAgICBDb250ZW50VHlwZSBtX2NvbnRlbnRUeXBlOwogICAgIFRl
eHRFbmNvZGluZyBtX2VuY29kaW5nOwotICAgIE93blB0cjxUZXh0Q29kZWM+IG1fY29kZWM7Cisg
ICAgc3RkOjp1bmlxdWVfcHRyPFRleHRDb2RlYz4gbV9jb2RlYzsKICAgICBFbmNvZGluZ1NvdXJj
ZSBtX3NvdXJjZTsKICAgICBjb25zdCBjaGFyKiBtX2hpbnRFbmNvZGluZzsKICAgICBWZWN0b3I8
Y2hhcj4gbV9idWZmZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L1RleHRDb2RlYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaApp
bmRleCA1ZWQ5Y2M2NDZiZmIzZDg4Njk5ZGI5MGRjYjYzNGY5YmU5NDAwNDc4Li5kOTI3MmY5NTdj
N2U4YjZhN2M5MzBmNmE3M2YyMDQwMGQwYTE1MTI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvVGV4dENvZGVjLmgKQEAgLTc4LDcgKzc4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgdHlwZWRlZiB2b2lkICgqRW5jb2RpbmdOYW1lUmVnaXN0cmFyKShjb25zdCBjaGFyKiBh
bGlhcywgY29uc3QgY2hhciogbmFtZSk7CiAKLSAgICB0eXBlZGVmIFBhc3NPd25QdHI8VGV4dENv
ZGVjPiAoKk5ld1RleHRDb2RlY0Z1bmN0aW9uKShjb25zdCBUZXh0RW5jb2RpbmcmLCBjb25zdCB2
b2lkKiBhZGRpdGlvbmFsRGF0YSk7CisgICAgdHlwZWRlZiBzdGQ6OnVuaXF1ZV9wdHI8VGV4dENv
ZGVjPiAoKk5ld1RleHRDb2RlY0Z1bmN0aW9uKShjb25zdCBUZXh0RW5jb2RpbmcmLCBjb25zdCB2
b2lkKiBhZGRpdGlvbmFsRGF0YSk7CiAgICAgdHlwZWRlZiB2b2lkICgqVGV4dENvZGVjUmVnaXN0
cmFyKShjb25zdCBjaGFyKiBuYW1lLCBOZXdUZXh0Q29kZWNGdW5jdGlvbiwgY29uc3Qgdm9pZCog
YWRkaXRpb25hbERhdGEpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY0lDVS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY0lDVS5jcHAKaW5kZXggZDk4ZjlhYzVmYTAwOGEx
NjI2YjBkY2VhNGZlNTk5MDY3ODUzZGFkMi4uMDYyMTk0OTZlNTU2NGEwZjgxNzBkNDlmZjk0MDkw
NWFhNmJiZjIyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0
Q29kZWNJQ1UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVj
SUNVLmNwcApAQCAtNjYsMTAgKzY2LDEwIEBAIHN0YXRpYyBVQ29udmVydGVyKiYgY2FjaGVkQ29u
dmVydGVySUNVKCkKICAgICByZXR1cm4gdGhyZWFkR2xvYmFsRGF0YSgpLmNhY2hlZENvbnZlcnRl
cklDVSgpLmNvbnZlcnRlcjsKIH0KIAotUGFzc093blB0cjxUZXh0Q29kZWM+IFRleHRDb2RlY0lD
VTo6Y3JlYXRlKGNvbnN0IFRleHRFbmNvZGluZyYgZW5jb2RpbmcsIGNvbnN0IHZvaWQqIGFkZGl0
aW9uYWxEYXRhKQorc3RkOjp1bmlxdWVfcHRyPFRleHRDb2RlYz4gVGV4dENvZGVjSUNVOjpjcmVh
dGUoY29uc3QgVGV4dEVuY29kaW5nJiBlbmNvZGluZywgY29uc3Qgdm9pZCogYWRkaXRpb25hbERh
dGEpCiB7CiAgICAgLy8gTmFtZSBzdHJpbmdzIGFyZSBwZXJzaXN0ZW50bHkga2VwdCBpbiBUZXh0
RW5jb2RpbmdSZWdpc3RyeSBtYXBzLCBzbyB0aGV5IGFyZSBuZXZlciBkZWxldGVkLgotICAgIHJl
dHVybiBhZG9wdFB0cihuZXcgVGV4dENvZGVjSUNVKGVuY29kaW5nLm5hbWUoKSwgc3RhdGljX2Nh
c3Q8Y29uc3QgY2hhcio+KGFkZGl0aW9uYWxEYXRhKSkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1
ZV9wdHI8VGV4dENvZGVjPihuZXcgVGV4dENvZGVjSUNVKGVuY29kaW5nLm5hbWUoKSwgc3RhdGlj
X2Nhc3Q8Y29uc3QgY2hhcio+KGFkZGl0aW9uYWxEYXRhKSkpOwogfQogCiB2b2lkIFRleHRDb2Rl
Y0lDVTo6cmVnaXN0ZXJFbmNvZGluZ05hbWVzKEVuY29kaW5nTmFtZVJlZ2lzdHJhciByZWdpc3Ry
YXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY0lD
VS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNJQ1UuaAppbmRleCA2
MDU4MzAyZjQ3MTYxNmQzZGMzODY2OWZkZmQ2ZjdhNjhiM2M0OTIxLi40NjdmNDdmZGRjM2EwZTJj
ZDk3OTAwMDczY2FlZTY1NzAxYWU2YTkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L1RleHRDb2RlY0lDVS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvVGV4dENvZGVjSUNVLmgKQEAgLTQzLDcgKzQzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgcHJpdmF0ZToKICAgICAgICAgVGV4dENvZGVjSUNVKGNvbnN0IGNoYXIqIGVuY29kaW5n
LCBjb25zdCBjaGFyKiBjYW5vbmljYWxDb252ZXJ0ZXJOYW1lKTsKLSAgICAgICAgc3RhdGljIFBh
c3NPd25QdHI8VGV4dENvZGVjPiBjcmVhdGUoY29uc3QgVGV4dEVuY29kaW5nJiwgY29uc3Qgdm9p
ZCogYWRkaXRpb25hbERhdGEpOworICAgICAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFRleHRD
b2RlYz4gY3JlYXRlKGNvbnN0IFRleHRFbmNvZGluZyYsIGNvbnN0IHZvaWQqIGFkZGl0aW9uYWxE
YXRhKTsKIAogICAgICAgICB2aXJ0dWFsIFN0cmluZyBkZWNvZGUoY29uc3QgY2hhciosIHNpemVf
dCBsZW5ndGgsIGJvb2wgZmx1c2gsIGJvb2wgc3RvcE9uRXJyb3IsIGJvb2wmIHNhd0Vycm9yKTsK
ICAgICAgICAgdmlydHVhbCBDU3RyaW5nIGVuY29kZShjb25zdCBVQ2hhciosIHNpemVfdCBsZW5n
dGgsIFVuZW5jb2RhYmxlSGFuZGxpbmcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9UZXh0Q29kZWNMYXRpbjEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9UZXh0Q29kZWNMYXRpbjEuY3BwCmluZGV4IDM3M2YyMjZlYzY5YWVlMTQyMDg0MGQ3YWRi
OGQyYzA2MmI4Mjk4NDYuLjAyZmQwMWJhMGVlZDViYWE1Y2E0YmJmMDNiNDU1MDJiZDU1NzlmZTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjTGF0aW4x
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY0xhdGluMS5j
cHAKQEAgLTEwNCw5ICsxMDQsOSBAQCB2b2lkIFRleHRDb2RlY0xhdGluMTo6cmVnaXN0ZXJFbmNv
ZGluZ05hbWVzKEVuY29kaW5nTmFtZVJlZ2lzdHJhciByZWdpc3RyYXIpCiAgICAgcmVnaXN0cmFy
KCJ4LWFuc2kiLCAiVVMtQVNDSUkiKTsKIH0KIAotc3RhdGljIFBhc3NPd25QdHI8VGV4dENvZGVj
PiBuZXdTdHJlYW1pbmdUZXh0RGVjb2RlcldpbmRvd3NMYXRpbjEoY29uc3QgVGV4dEVuY29kaW5n
JiwgY29uc3Qgdm9pZCopCitzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFRleHRDb2RlYz4gbmV3U3Ry
ZWFtaW5nVGV4dERlY29kZXJXaW5kb3dzTGF0aW4xKGNvbnN0IFRleHRFbmNvZGluZyYsIGNvbnN0
IHZvaWQqKQogewotICAgIHJldHVybiBhZG9wdFB0cihuZXcgVGV4dENvZGVjTGF0aW4xKTsKKyAg
ICByZXR1cm4gc3RkOjp1bmlxdWVfcHRyPFRleHRDb2RlYz4obmV3IFRleHRDb2RlY0xhdGluMSk7
CiB9CiAKIHZvaWQgVGV4dENvZGVjTGF0aW4xOjpyZWdpc3RlckNvZGVjcyhUZXh0Q29kZWNSZWdp
c3RyYXIgcmVnaXN0cmFyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC9UZXh0Q29kZWNVVEYxNi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRD
b2RlY1VURjE2LmNwcAppbmRleCBkOThkNTE5YWE5ZTAwNzUyNjVjNzA0ZjI3OGQ4YTc2YzNjOGY2
ZmI0Li40NTIyNjg1ZGJhYTFlYzU1NzJiY2Q1NDZkYWIzMzBmMmVhN2M0Yzc2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjE2LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjE2LmNwcApAQCAtNDgsMTQg
KzQ4LDE0IEBAIHZvaWQgVGV4dENvZGVjVVRGMTY6OnJlZ2lzdGVyRW5jb2RpbmdOYW1lcyhFbmNv
ZGluZ05hbWVSZWdpc3RyYXIgcmVnaXN0cmFyKQogICAgIHJlZ2lzdHJhcigidW5pY29kZUZGRkUi
LCAiVVRGLTE2QkUiKTsKIH0KIAotc3RhdGljIFBhc3NPd25QdHI8VGV4dENvZGVjPiBuZXdTdHJl
YW1pbmdUZXh0RGVjb2RlclVURjE2TEUoY29uc3QgVGV4dEVuY29kaW5nJiwgY29uc3Qgdm9pZCop
CitzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFRleHRDb2RlYz4gbmV3U3RyZWFtaW5nVGV4dERlY29k
ZXJVVEYxNkxFKGNvbnN0IFRleHRFbmNvZGluZyYsIGNvbnN0IHZvaWQqKQogewotICAgIHJldHVy
biBhZG9wdFB0cihuZXcgVGV4dENvZGVjVVRGMTYodHJ1ZSkpOworICAgIHJldHVybiBzdGQ6OnVu
aXF1ZV9wdHI8VGV4dENvZGVjPihuZXcgVGV4dENvZGVjVVRGMTYodHJ1ZSkpOwogfQogCi1zdGF0
aWMgUGFzc093blB0cjxUZXh0Q29kZWM+IG5ld1N0cmVhbWluZ1RleHREZWNvZGVyVVRGMTZCRShj
b25zdCBUZXh0RW5jb2RpbmcmLCBjb25zdCB2b2lkKikKK3N0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8
VGV4dENvZGVjPiBuZXdTdHJlYW1pbmdUZXh0RGVjb2RlclVURjE2QkUoY29uc3QgVGV4dEVuY29k
aW5nJiwgY29uc3Qgdm9pZCopCiB7Ci0gICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBUZXh0Q29kZWNV
VEYxNihmYWxzZSkpOworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8VGV4dENvZGVjPihuZXcg
VGV4dENvZGVjVVRGMTYoZmFsc2UpKTsKIH0KIAogdm9pZCBUZXh0Q29kZWNVVEYxNjo6cmVnaXN0
ZXJDb2RlY3MoVGV4dENvZGVjUmVnaXN0cmFyIHJlZ2lzdHJhcikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguY3BwCmluZGV4IDY0NzJmMTMzMjAyNWI3Mjgy
ZjJkZGVjY2VmODNmYzM2NWJjYjZhNGEuLjE0MTVkZTI4YWQ4M2RlNTU0ZDBiN2U1OGI5Mzc3YTk4
YzY4YmRmZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENv
ZGVjVVRGOC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNV
VEY4LmNwcApAQCAtMzgsOSArMzgsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNvbnN0IGlu
dCBub25DaGFyYWN0ZXIgPSAtMTsKIAotUGFzc093blB0cjxUZXh0Q29kZWM+IFRleHRDb2RlY1VU
Rjg6OmNyZWF0ZShjb25zdCBUZXh0RW5jb2RpbmcmLCBjb25zdCB2b2lkKikKK3N0ZDo6dW5pcXVl
X3B0cjxUZXh0Q29kZWM+IFRleHRDb2RlY1VURjg6OmNyZWF0ZShjb25zdCBUZXh0RW5jb2Rpbmcm
LCBjb25zdCB2b2lkKikKIHsKLSAgICByZXR1cm4gYWRvcHRQdHIobmV3IFRleHRDb2RlY1VURjgp
OworICAgIHJldHVybiBzdGQ6OnVuaXF1ZV9wdHI8VGV4dENvZGVjPihuZXcgVGV4dENvZGVjVVRG
OCk7CiB9CiAKIHZvaWQgVGV4dENvZGVjVVRGODo6cmVnaXN0ZXJFbmNvZGluZ05hbWVzKEVuY29k
aW5nTmFtZVJlZ2lzdHJhciByZWdpc3RyYXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvVGV4dENvZGVjVVRGOC5oCmluZGV4IGZmOTE0Njk4Y2NhOTcwODYxZjVmOTFmNzlmOWYyOGFk
ODVhYjNiMWYuLjUwOWVlMDQ3Yzk3Nzg1ZjllMTEzNWRiY2FhYzEzMTVmNmJhMzcwOWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5oCkBAIC0zNiw3ICsz
Niw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCByZWdpc3RlckNvZGVjcyhUZXh0Q29kZWNS
ZWdpc3RyYXIpOwogCiBwcml2YXRlOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPFRleHRDb2RlYz4g
Y3JlYXRlKGNvbnN0IFRleHRFbmNvZGluZyYsIGNvbnN0IHZvaWQqKTsKKyAgICBzdGF0aWMgc3Rk
Ojp1bmlxdWVfcHRyPFRleHRDb2RlYz4gY3JlYXRlKGNvbnN0IFRleHRFbmNvZGluZyYsIGNvbnN0
IHZvaWQqKTsKICAgICBUZXh0Q29kZWNVVEY4KCkgOiBtX3BhcnRpYWxTZXF1ZW5jZVNpemUoMCkg
eyB9CiAKICAgICB2aXJ0dWFsIFN0cmluZyBkZWNvZGUoY29uc3QgY2hhciosIHNpemVfdCBsZW5n
dGgsIGJvb2wgZmx1c2gsIGJvb2wgc3RvcE9uRXJyb3IsIGJvb2wmIHNhd0Vycm9yKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVXNlckRlZmluZWQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVc2VyRGVmaW5lZC5j
cHAKaW5kZXggZDgxYTYzNWMzYWI0Mjc2NzQxZjdlZGRhOWZlYjhjYzUyNjIxNGRjOC4uMWQ5NTAw
NjZkZjIyNDYzNzkyM2FiOTE0NWIzMWZjNzQ5MmQyN2RjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVc2VyRGVmaW5lZC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVc2VyRGVmaW5lZC5jcHAKQEAgLTI3LDcg
KzI3LDYgQEAKICNpbmNsdWRlICJUZXh0Q29kZWNVc2VyRGVmaW5lZC5oIgogCiAjaW5jbHVkZSA8
c3RkaW8uaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWZmZXIuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CkBAIC00MCw5ICszOSw5IEBAIHZvaWQgVGV4dENv
ZGVjVXNlckRlZmluZWQ6OnJlZ2lzdGVyRW5jb2RpbmdOYW1lcyhFbmNvZGluZ05hbWVSZWdpc3Ry
YXIgcmVnaXN0cmFyCiAgICAgcmVnaXN0cmFyKCJ4LXVzZXItZGVmaW5lZCIsICJ4LXVzZXItZGVm
aW5lZCIpOwogfQogCi1zdGF0aWMgUGFzc093blB0cjxUZXh0Q29kZWM+IG5ld1N0cmVhbWluZ1Rl
eHREZWNvZGVyVXNlckRlZmluZWQoY29uc3QgVGV4dEVuY29kaW5nJiwgY29uc3Qgdm9pZCopCitz
dGF0aWMgc3RkOjp1bmlxdWVfcHRyPFRleHRDb2RlYz4gbmV3U3RyZWFtaW5nVGV4dERlY29kZXJV
c2VyRGVmaW5lZChjb25zdCBUZXh0RW5jb2RpbmcmLCBjb25zdCB2b2lkKikKIHsKLSAgICByZXR1
cm4gYWRvcHRQdHIobmV3IFRleHRDb2RlY1VzZXJEZWZpbmVkKTsKKyAgICByZXR1cm4gc3RkOjp1
bmlxdWVfcHRyPFRleHRDb2RlYz4obmV3IFRleHRDb2RlY1VzZXJEZWZpbmVkKTsKIH0KIAogdm9p
ZCBUZXh0Q29kZWNVc2VyRGVmaW5lZDo6cmVnaXN0ZXJDb2RlY3MoVGV4dENvZGVjUmVnaXN0cmFy
IHJlZ2lzdHJhcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4
dEVuY29kaW5nUmVnaXN0cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0
RW5jb2RpbmdSZWdpc3RyeS5jcHAKaW5kZXggODZkNWQyZThjZGQ0Y2M3YTYwYWUzOTRkOTE4M2Rh
MGM4ZWNkNGZmMS4uYmMxZjMwOTRkNDJlMWU5NmE2YmVlYThmOGZhMzA3MzkyNTI2NzgyYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdSZWdpc3Ry
eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdSZWdp
c3RyeS5jcHAKQEAgLTI5Miw3ICsyOTIsNyBAQCBzdGF0aWMgdm9pZCBleHRlbmRUZXh0Q29kZWNN
YXBzKCkKICAgICBidWlsZFF1aXJrc1NldHMoKTsKIH0KIAotUGFzc093blB0cjxUZXh0Q29kZWM+
IG5ld1RleHRDb2RlYyhjb25zdCBUZXh0RW5jb2RpbmcmIGVuY29kaW5nKQorc3RkOjp1bmlxdWVf
cHRyPFRleHRDb2RlYz4gbmV3VGV4dENvZGVjKGNvbnN0IFRleHRFbmNvZGluZyYgZW5jb2Rpbmcp
CiB7CiAgICAgc3RkOjpsb2NrX2d1YXJkPHN0ZDo6bXV0ZXg+IGxvY2soZW5jb2RpbmdSZWdpc3Ry
eU11dGV4KCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1Rl
eHRFbmNvZGluZ1JlZ2lzdHJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRF
bmNvZGluZ1JlZ2lzdHJ5LmgKaW5kZXggZWMwNDYzYjU2OTE5MDU2NmVjZjczZjZiMjcxMWFjMTIz
ZGJkODA5NS4uZTg4MmE5YWIzYjExOTc1YzE2MDFkZDRiYTdjMTU4YmQ3MDY3YzM5ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdSZWdpc3RyeS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnku
aApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBUZXh0RW5jb2RpbmdSZWdpc3RyeV9oCiAKICNp
bmNsdWRlIDxtZW1vcnk+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzcsNyArMzYs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAvLyBVc2UgVGV4dFJlc291cmNlRGVjb2Rl
cjo6ZGVjb2RlIHRvIGRlY29kZSByZXNvdXJjZXMsIHNpbmNlIGl0IGhhbmRsZXMgQk9Ncy4KICAg
ICAvLyBVc2UgVGV4dEVuY29kaW5nOjplbmNvZGUgdG8gZW5jb2RlLCBzaW5jZSBpdCB0YWtlcyBj
YXJlIG9mIG5vcm1hbGl6YXRpb24uCi0gICAgUGFzc093blB0cjxUZXh0Q29kZWM+IG5ld1RleHRD
b2RlYyhjb25zdCBUZXh0RW5jb2RpbmcmKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8VGV4dENvZGVj
PiBuZXdUZXh0Q29kZWMoY29uc3QgVGV4dEVuY29kaW5nJik7CiAKICAgICAvLyBPbmx5IFRleHRF
bmNvZGluZyBzaG91bGQgdXNlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGRpcmVjdGx5LgogICAg
IGNvbnN0IGNoYXIqIGF0b21pY0Nhbm9uaWNhbFRleHRFbmNvZGluZ05hbWUoY29uc3QgY2hhciog
YWxpYXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvVGV4
dENvZGVjTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL1RleHRDb2Rl
Y01hYy5jcHAKaW5kZXggNTZjZmNmYmFkNjFmNDNiMzJkODUyNWQ3ZGEyOTk0YWRiNTI3MzZiNC4u
YmYyNjE3Nzk5YzZlOTdiN2NiZmM3YjA3Yjc4YjYxYmU3ZWEyMzA0MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvVGV4dENvZGVjTWFjLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9UZXh0Q29kZWNNYWMuY3BwCkBAIC02Niw5ICs2
Niw5IEBAIHZvaWQgVGV4dENvZGVjTWFjOjpyZWdpc3RlckVuY29kaW5nTmFtZXMoRW5jb2RpbmdO
YW1lUmVnaXN0cmFyIHJlZ2lzdHJhcikKICAgICB9CiB9CiAKLXN0YXRpYyBQYXNzT3duUHRyPFRl
eHRDb2RlYz4gbmV3VGV4dENvZGVjTWFjKGNvbnN0IFRleHRFbmNvZGluZyYsIGNvbnN0IHZvaWQq
IGFkZGl0aW9uYWxEYXRhKQorc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxUZXh0Q29kZWM+IG5ld1Rl
eHRDb2RlY01hYyhjb25zdCBUZXh0RW5jb2RpbmcmLCBjb25zdCB2b2lkKiBhZGRpdGlvbmFsRGF0
YSkKIHsKLSAgICByZXR1cm4gYWRvcHRQdHIobmV3IFRleHRDb2RlY01hYygqc3RhdGljX2Nhc3Q8
Y29uc3QgVEVDVGV4dEVuY29kaW5nSUQqPihhZGRpdGlvbmFsRGF0YSkpKTsKKyAgICByZXR1cm4g
c3RkOjp1bmlxdWVfcHRyPFRleHRDb2RlYz4obmV3IFRleHRDb2RlY01hYygqc3RhdGljX2Nhc3Q8
Y29uc3QgVEVDVGV4dEVuY29kaW5nSUQqPihhZGRpdGlvbmFsRGF0YSkpKTsKIH0KIAogdm9pZCBU
ZXh0Q29kZWNNYWM6OnJlZ2lzdGVyQ29kZWNzKFRleHRDb2RlY1JlZ2lzdHJhciByZWdpc3RyYXIp
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239912</attachid>
            <date>2014-10-15 18:06:48 -0700</date>
            <delta_ts>2014-10-15 18:35:00 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-137738-20141016100652.patch</filename>
            <type>text/plain</type>
            <size>14115</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0NzQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGMwZDE1ZWI2ZDA1NGIx
OTdkMjA0MjM2M2FhNjQ4ZjAyNzNmZjIzMC4uNTdkOTUzNjhiNzFiZjBhNGRhMGJlNTJhYTQ0Mzdl
Y2MyYjM4MDE0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE0LTEwLTE1ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92ZSBUZXh0
Q29kZWMgY2xhc3NlcyB0byBzdGQ6OnVuaXF1ZV9wdHIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzczOAorCisgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgorCisgICAgICAgIFJlcGxhY2UgdXNlcyBvZiBQYXNzT3duUHRyIGluIGNvZGUg
dW5kZXIgVGV4dENvZGVjRm9vIGNsYXNzIHdpdGggc3RkOjp1bmlxdWVfcHRyLgorICAgICAgICBS
ZWxhdGVkIGNsYXNzZXMgZm9sbG93IHRoaXMgY2hhbmdlIGFzIHdlbGwuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAgICAgKiBodG1sL3BhcnNlci9I
VE1MTWV0YUNoYXJzZXRQYXJzZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvVGV4dFJlc291cmNlRGVj
b2Rlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0UmVzb3VyY2VEZWNvZGVyOjpzZXRFbmNv
ZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0UmVzb3VyY2VEZWNvZGVyOjpmbHVzaCk6Cisg
ICAgICAgICogbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS90ZXh0L1RleHRDb2RlYy5oOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dENvZGVjSUNV
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRDb2RlY0lDVTo6Y3JlYXRlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS90ZXh0L1RleHRDb2RlY0lDVS5oOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQv
VGV4dENvZGVjTGF0aW4xLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5ld1N0cmVhbWluZ1RleHRE
ZWNvZGVyV2luZG93c0xhdGluMSk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNV
VEYxNi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpuZXdTdHJlYW1pbmdUZXh0RGVjb2RlclVURjE2
TEUpOgorICAgICAgICAoV2ViQ29yZTo6bmV3U3RyZWFtaW5nVGV4dERlY29kZXJVVEYxNkJFKToK
KyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VGV4dENvZGVjVVRGODo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1Rl
eHRDb2RlY1VURjguaDoKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VzZXJEZWZp
bmVkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5ld1N0cmVhbWluZ1RleHREZWNvZGVyVXNlckRl
ZmluZWQpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6bmV3VGV4dENvZGVjKToKKyAgICAgICAgKiBwbGF0Zm9ybS90
ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5Lmg6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9tYWMv
VGV4dENvZGVjTWFjLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om5ld1RleHRDb2RlY01hYyk6CisK
IDIwMTQtMTAtMTUgIFJvZ2VyIEZvbmcgIDxyb2dlcl9mb25nQGFwcGxlLmNvbT4KIAogICAgICAg
ICBnbFJlYWRQaXhlbHMgb24gTlZJRElBIGNhcmRzIHJldHVybnMgdGhlIHdyb25nIHZhbHVlcyBm
b3IgdGhlIGFscGhhIGNoYW5uZWwgd2hlbiBhbHBoYSBpcyBvZmYuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MTWV0YUNoYXJzZXRQYXJzZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBhcnNlci5oCmluZGV4IDYxOGNlN2Zm
NjFkMWRkMGY1ZTNmZjBlMzVlMjAzMmIyZTdhM2FjYjcuLmRlMDI4YmIwYmNhMDI2NmZiNmQ0Zjc4
YWE0ZjA3MjQwYTIzMjk1OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxNZXRhQ2hhcnNldFBhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxNZXRhQ2hhcnNldFBhcnNlci5oCkBAIC02Myw3ICs2Myw3IEBAIHByaXZhdGU6CiAgICAg
fTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxIVE1MVG9rZW5pemVyPiBtX3Rva2VuaXplcjsKLSAg
ICBPd25QdHI8VGV4dENvZGVjPiBtX2Fzc3VtZWRDb2RlYzsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
VGV4dENvZGVjPiBtX2Fzc3VtZWRDb2RlYzsKICAgICBTZWdtZW50ZWRTdHJpbmcgbV9pbnB1dDsK
ICAgICBIVE1MVG9rZW4gbV90b2tlbjsKICAgICBib29sIG1faW5IZWFkU2VjdGlvbjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0UmVzb3VyY2VEZWNvZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0UmVzb3VyY2VEZWNvZGVyLmNwcAppbmRleCA5ODAyMTY1
YmE1ZDVmMDc5MjEwNTVhNGM5ZDA1NWE0ZjQ3NTJkZWQxLi4xZGFhODIwODRmMjg1N2Q2MzhiYTI1
MTU3MmRmNmVmZGU1NmQ5ZGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4
dFJlc291cmNlRGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRSZXNv
dXJjZURlY29kZXIuY3BwCkBAIC0zNTUsNyArMzU1LDcgQEAgdm9pZCBUZXh0UmVzb3VyY2VEZWNv
ZGVyOjpzZXRFbmNvZGluZyhjb25zdCBUZXh0RW5jb2RpbmcmIGVuY29kaW5nLCBFbmNvZGluZ1Nv
dXIKICAgICBlbHNlCiAgICAgICAgIG1fZW5jb2RpbmcgPSBlbmNvZGluZzsKIAotICAgIG1fY29k
ZWMuY2xlYXIoKTsKKyAgICBtX2NvZGVjID0gbnVsbHB0cjsKICAgICBtX3NvdXJjZSA9IHNvdXJj
ZTsKIH0KIApAQCAtNjYwLDcgKzY2MCw3IEBAIFN0cmluZyBUZXh0UmVzb3VyY2VEZWNvZGVyOjpm
bHVzaCgpCiAKICAgICBTdHJpbmcgcmVzdWx0ID0gbV9jb2RlYy0+ZGVjb2RlKG1fYnVmZmVyLmRh
dGEoKSwgbV9idWZmZXIuc2l6ZSgpLCB0cnVlLCBtX2NvbnRlbnRUeXBlID09IFhNTCAmJiAhbV91
c2VMZW5pZW50WE1MRGVjb2RpbmcsIG1fc2F3RXJyb3IpOwogICAgIG1fYnVmZmVyLmNsZWFyKCk7
Ci0gICAgbV9jb2RlYy5jbGVhcigpOworICAgIG1fY29kZWMgPSBudWxscHRyOwogICAgIG1fY2hl
Y2tlZEZvckJPTSA9IGZhbHNlOyAvLyBTa2lwIEJPTSBhZ2FpbiB3aGVuIHJlLWRlY29kaW5nLgog
ICAgIHJldHVybiByZXN1bHQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
VGV4dFJlc291cmNlRGVjb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1RleHRSZXNvdXJj
ZURlY29kZXIuaAppbmRleCBjNjc0NzExNzJkYTE1MGZmNTJhOTI4NmM1YzZlZjA3NmE1Y2IwMWQw
Li4yYTkyNTQ4NzU5OTNjY2ViODc5M2NmOTJlZDk0Mzk1ZTgyOGFlMDU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFJlc291cmNlRGVjb2Rlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9UZXh0UmVzb3VyY2VEZWNvZGVyLmgKQEAgLTg0LDcgKzg0LDcgQEAgcHJp
dmF0ZToKIAogICAgIENvbnRlbnRUeXBlIG1fY29udGVudFR5cGU7CiAgICAgVGV4dEVuY29kaW5n
IG1fZW5jb2Rpbmc7Ci0gICAgT3duUHRyPFRleHRDb2RlYz4gbV9jb2RlYzsKKyAgICBzdGQ6OnVu
aXF1ZV9wdHI8VGV4dENvZGVjPiBtX2NvZGVjOwogICAgIEVuY29kaW5nU291cmNlIG1fc291cmNl
OwogICAgIGNvbnN0IGNoYXIqIG1faGludEVuY29kaW5nOwogICAgIFZlY3RvcjxjaGFyPiBtX2J1
ZmZlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVj
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oCmluZGV4IDVlZDlj
YzY0NmJmYjNkODg2OTlkYjkwZGNiNjM0ZjliZTk0MDA0NzguLmQ5MjcyZjk1N2M3ZThiNmE3Yzkz
MGY2YTczZjIwNDAwZDBhMTUxMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvVGV4dENvZGVjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0
Q29kZWMuaApAQCAtNzgsNyArNzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICB0eXBl
ZGVmIHZvaWQgKCpFbmNvZGluZ05hbWVSZWdpc3RyYXIpKGNvbnN0IGNoYXIqIGFsaWFzLCBjb25z
dCBjaGFyKiBuYW1lKTsKIAotICAgIHR5cGVkZWYgUGFzc093blB0cjxUZXh0Q29kZWM+ICgqTmV3
VGV4dENvZGVjRnVuY3Rpb24pKGNvbnN0IFRleHRFbmNvZGluZyYsIGNvbnN0IHZvaWQqIGFkZGl0
aW9uYWxEYXRhKTsKKyAgICB0eXBlZGVmIHN0ZDo6dW5pcXVlX3B0cjxUZXh0Q29kZWM+ICgqTmV3
VGV4dENvZGVjRnVuY3Rpb24pKGNvbnN0IFRleHRFbmNvZGluZyYsIGNvbnN0IHZvaWQqIGFkZGl0
aW9uYWxEYXRhKTsKICAgICB0eXBlZGVmIHZvaWQgKCpUZXh0Q29kZWNSZWdpc3RyYXIpKGNvbnN0
IGNoYXIqIG5hbWUsIE5ld1RleHRDb2RlY0Z1bmN0aW9uLCBjb25zdCB2b2lkKiBhZGRpdGlvbmFs
RGF0YSk7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjSUNVLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvVGV4dENvZGVjSUNVLmNwcAppbmRleCBkOThmOWFjNWZhMDA4YTE2MjZiMGRjZWE0
ZmU1OTkwNjc4NTNkYWQyLi5kZDZmZjA2NzViYjFhOTI2NTcwZGU0NDg1ZWVkYjE3NmFhY2U3MTVh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY0lDVS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNJQ1UuY3BwCkBA
IC02NiwxMCArNjYsMTAgQEAgc3RhdGljIFVDb252ZXJ0ZXIqJiBjYWNoZWRDb252ZXJ0ZXJJQ1Uo
KQogICAgIHJldHVybiB0aHJlYWRHbG9iYWxEYXRhKCkuY2FjaGVkQ29udmVydGVySUNVKCkuY29u
dmVydGVyOwogfQogCi1QYXNzT3duUHRyPFRleHRDb2RlYz4gVGV4dENvZGVjSUNVOjpjcmVhdGUo
Y29uc3QgVGV4dEVuY29kaW5nJiBlbmNvZGluZywgY29uc3Qgdm9pZCogYWRkaXRpb25hbERhdGEp
CitzdGQ6OnVuaXF1ZV9wdHI8VGV4dENvZGVjPiBUZXh0Q29kZWNJQ1U6OmNyZWF0ZShjb25zdCBU
ZXh0RW5jb2RpbmcmIGVuY29kaW5nLCBjb25zdCB2b2lkKiBhZGRpdGlvbmFsRGF0YSkKIHsKICAg
ICAvLyBOYW1lIHN0cmluZ3MgYXJlIHBlcnNpc3RlbnRseSBrZXB0IGluIFRleHRFbmNvZGluZ1Jl
Z2lzdHJ5IG1hcHMsIHNvIHRoZXkgYXJlIG5ldmVyIGRlbGV0ZWQuCi0gICAgcmV0dXJuIGFkb3B0
UHRyKG5ldyBUZXh0Q29kZWNJQ1UoZW5jb2RpbmcubmFtZSgpLCBzdGF0aWNfY2FzdDxjb25zdCBj
aGFyKj4oYWRkaXRpb25hbERhdGEpKSk7CisgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8VGV4
dENvZGVjSUNVPihlbmNvZGluZy5uYW1lKCksIHN0YXRpY19jYXN0PGNvbnN0IGNoYXIqPihhZGRp
dGlvbmFsRGF0YSkpOwogfQogCiB2b2lkIFRleHRDb2RlY0lDVTo6cmVnaXN0ZXJFbmNvZGluZ05h
bWVzKEVuY29kaW5nTmFtZVJlZ2lzdHJhciByZWdpc3RyYXIpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY0lDVS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9UZXh0Q29kZWNJQ1UuaAppbmRleCA2MDU4MzAyZjQ3MTYxNmQzZGMzODY2OWZk
ZmQ2ZjdhNjhiM2M0OTIxLi44ZjdkNjczODFkMmRlNzc1MDQyNDFmNTc2MTdhMGNmZmY1NzI5NDBk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY0lDVS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjSUNVLmgKQEAgLTM2
LDE1ICszNiwxNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBUZXh0Q29kZWNJ
Q1UgOiBwdWJsaWMgVGV4dENvZGVjIHsKICAgICBwdWJsaWM6CisgICAgICAgIHN0YXRpYyBzdGQ6
OnVuaXF1ZV9wdHI8VGV4dENvZGVjPiBjcmVhdGUoY29uc3QgVGV4dEVuY29kaW5nJiwgY29uc3Qg
dm9pZCogYWRkaXRpb25hbERhdGEpOworCisgICAgICAgIFRleHRDb2RlY0lDVShjb25zdCBjaGFy
KiBlbmNvZGluZywgY29uc3QgY2hhciogY2Fub25pY2FsQ29udmVydGVyTmFtZSk7CisKICAgICAg
ICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJFbmNvZGluZ05hbWVzKEVuY29kaW5nTmFtZVJlZ2lzdHJh
cik7CiAgICAgICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyQ29kZWNzKFRleHRDb2RlY1JlZ2lzdHJh
cik7CiAKICAgICAgICAgdmlydHVhbCB+VGV4dENvZGVjSUNVKCk7CiAKICAgICBwcml2YXRlOgot
ICAgICAgICBUZXh0Q29kZWNJQ1UoY29uc3QgY2hhciogZW5jb2RpbmcsIGNvbnN0IGNoYXIqIGNh
bm9uaWNhbENvbnZlcnRlck5hbWUpOwotICAgICAgICBzdGF0aWMgUGFzc093blB0cjxUZXh0Q29k
ZWM+IGNyZWF0ZShjb25zdCBUZXh0RW5jb2RpbmcmLCBjb25zdCB2b2lkKiBhZGRpdGlvbmFsRGF0
YSk7Ci0KICAgICAgICAgdmlydHVhbCBTdHJpbmcgZGVjb2RlKGNvbnN0IGNoYXIqLCBzaXplX3Qg
bGVuZ3RoLCBib29sIGZsdXNoLCBib29sIHN0b3BPbkVycm9yLCBib29sJiBzYXdFcnJvcik7CiAg
ICAgICAgIHZpcnR1YWwgQ1N0cmluZyBlbmNvZGUoY29uc3QgVUNoYXIqLCBzaXplX3QgbGVuZ3Ro
LCBVbmVuY29kYWJsZUhhbmRsaW5nKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9UZXh0Q29kZWNMYXRpbjEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9UZXh0Q29kZWNMYXRpbjEuY3BwCmluZGV4IDM3M2YyMjZlYzY5YWVlMTQyMDg0MGQ3YWRi
OGQyYzA2MmI4Mjk4NDYuLjQ2NzNiZTAwZjU0YWU4Y2VjOWVlMDlkNjAzMmFjZjZmY2NlMTNmYzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjTGF0aW4x
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY0xhdGluMS5j
cHAKQEAgLTEwNCw5ICsxMDQsOSBAQCB2b2lkIFRleHRDb2RlY0xhdGluMTo6cmVnaXN0ZXJFbmNv
ZGluZ05hbWVzKEVuY29kaW5nTmFtZVJlZ2lzdHJhciByZWdpc3RyYXIpCiAgICAgcmVnaXN0cmFy
KCJ4LWFuc2kiLCAiVVMtQVNDSUkiKTsKIH0KIAotc3RhdGljIFBhc3NPd25QdHI8VGV4dENvZGVj
PiBuZXdTdHJlYW1pbmdUZXh0RGVjb2RlcldpbmRvd3NMYXRpbjEoY29uc3QgVGV4dEVuY29kaW5n
JiwgY29uc3Qgdm9pZCopCitzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFRleHRDb2RlYz4gbmV3U3Ry
ZWFtaW5nVGV4dERlY29kZXJXaW5kb3dzTGF0aW4xKGNvbnN0IFRleHRFbmNvZGluZyYsIGNvbnN0
IHZvaWQqKQogewotICAgIHJldHVybiBhZG9wdFB0cihuZXcgVGV4dENvZGVjTGF0aW4xKTsKKyAg
ICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxUZXh0Q29kZWNMYXRpbjE+KCk7CiB9CiAKIHZvaWQg
VGV4dENvZGVjTGF0aW4xOjpyZWdpc3RlckNvZGVjcyhUZXh0Q29kZWNSZWdpc3RyYXIgcmVnaXN0
cmFyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNV
VEYxNi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjE2LmNw
cAppbmRleCBkOThkNTE5YWE5ZTAwNzUyNjVjNzA0ZjI3OGQ4YTc2YzNjOGY2ZmI0Li4xOTVhYmE0
OGNhNWE3YTg0NzgwMGU2YzFkNTFhNjYzNzFhN2M0YWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjE2LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjE2LmNwcApAQCAtNDgsMTQgKzQ4LDE0IEBAIHZv
aWQgVGV4dENvZGVjVVRGMTY6OnJlZ2lzdGVyRW5jb2RpbmdOYW1lcyhFbmNvZGluZ05hbWVSZWdp
c3RyYXIgcmVnaXN0cmFyKQogICAgIHJlZ2lzdHJhcigidW5pY29kZUZGRkUiLCAiVVRGLTE2QkUi
KTsKIH0KIAotc3RhdGljIFBhc3NPd25QdHI8VGV4dENvZGVjPiBuZXdTdHJlYW1pbmdUZXh0RGVj
b2RlclVURjE2TEUoY29uc3QgVGV4dEVuY29kaW5nJiwgY29uc3Qgdm9pZCopCitzdGF0aWMgc3Rk
Ojp1bmlxdWVfcHRyPFRleHRDb2RlYz4gbmV3U3RyZWFtaW5nVGV4dERlY29kZXJVVEYxNkxFKGNv
bnN0IFRleHRFbmNvZGluZyYsIGNvbnN0IHZvaWQqKQogewotICAgIHJldHVybiBhZG9wdFB0cihu
ZXcgVGV4dENvZGVjVVRGMTYodHJ1ZSkpOworICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPFRl
eHRDb2RlY1VURjE2Pih0cnVlKTsKIH0KIAotc3RhdGljIFBhc3NPd25QdHI8VGV4dENvZGVjPiBu
ZXdTdHJlYW1pbmdUZXh0RGVjb2RlclVURjE2QkUoY29uc3QgVGV4dEVuY29kaW5nJiwgY29uc3Qg
dm9pZCopCitzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFRleHRDb2RlYz4gbmV3U3RyZWFtaW5nVGV4
dERlY29kZXJVVEYxNkJFKGNvbnN0IFRleHRFbmNvZGluZyYsIGNvbnN0IHZvaWQqKQogewotICAg
IHJldHVybiBhZG9wdFB0cihuZXcgVGV4dENvZGVjVVRGMTYoZmFsc2UpKTsKKyAgICByZXR1cm4g
c3RkOjptYWtlX3VuaXF1ZTxUZXh0Q29kZWNVVEYxNj4oZmFsc2UpOwogfQogCiB2b2lkIFRleHRD
b2RlY1VURjE2OjpyZWdpc3RlckNvZGVjcyhUZXh0Q29kZWNSZWdpc3RyYXIgcmVnaXN0cmFyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5jcHAKaW5kZXgg
NjQ3MmYxMzMyMDI1YjcyODJmMmRkZWNjZWY4M2ZjMzY1YmNiNmE0YS4uNmIzMjk1NWMxMzY2YWNk
MDkyODNiMTRmYWJjOWQ0MmQwNDdiZmNiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L1RleHRDb2RlY1VURjguY3BwCkBAIC0zOCw5ICszOCw5IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY29uc3QgaW50IG5vbkNoYXJhY3RlciA9IC0xOwogCi1QYXNzT3duUHRyPFRleHRD
b2RlYz4gVGV4dENvZGVjVVRGODo6Y3JlYXRlKGNvbnN0IFRleHRFbmNvZGluZyYsIGNvbnN0IHZv
aWQqKQorc3RkOjp1bmlxdWVfcHRyPFRleHRDb2RlYz4gVGV4dENvZGVjVVRGODo6Y3JlYXRlKGNv
bnN0IFRleHRFbmNvZGluZyYsIGNvbnN0IHZvaWQqKQogewotICAgIHJldHVybiBhZG9wdFB0cihu
ZXcgVGV4dENvZGVjVVRGOCk7CisgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8VGV4dENvZGVj
VVRGOD4oKTsKIH0KIAogdm9pZCBUZXh0Q29kZWNVVEY4OjpyZWdpc3RlckVuY29kaW5nTmFtZXMo
RW5jb2RpbmdOYW1lUmVnaXN0cmFyIHJlZ2lzdHJhcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9UZXh0Q29kZWNVVEY4LmgKaW5kZXggZmY5MTQ2OThjY2E5NzA4NjFmNWY5MWY3OWY5
ZjI4YWQ4NWFiM2IxZi4uOTQzMDVjZTE4ZjIzMDVjOGI2ZmE1OGViMWYxNWMzN2MyY2YzYzM0YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmgKQEAgLTMy
LDEzICszMiwxNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFRleHRDb2RlY1VURjgg
OiBwdWJsaWMgVGV4dENvZGVjIHsKIHB1YmxpYzoKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRy
PFRleHRDb2RlYz4gY3JlYXRlKGNvbnN0IFRleHRFbmNvZGluZyYsIGNvbnN0IHZvaWQqKTsKKyAg
ICBUZXh0Q29kZWNVVEY4KCkKKyAgICAgICAgOiBtX3BhcnRpYWxTZXF1ZW5jZVNpemUoMCkKKyAg
ICB7CisgICAgfQorCiAgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJFbmNvZGluZ05hbWVzKEVuY29k
aW5nTmFtZVJlZ2lzdHJhcik7CiAgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJDb2RlY3MoVGV4dENv
ZGVjUmVnaXN0cmFyKTsKIAogcHJpdmF0ZToKLSAgICBzdGF0aWMgUGFzc093blB0cjxUZXh0Q29k
ZWM+IGNyZWF0ZShjb25zdCBUZXh0RW5jb2RpbmcmLCBjb25zdCB2b2lkKik7Ci0gICAgVGV4dENv
ZGVjVVRGOCgpIDogbV9wYXJ0aWFsU2VxdWVuY2VTaXplKDApIHsgfQotCiAgICAgdmlydHVhbCBT
dHJpbmcgZGVjb2RlKGNvbnN0IGNoYXIqLCBzaXplX3QgbGVuZ3RoLCBib29sIGZsdXNoLCBib29s
IHN0b3BPbkVycm9yLCBib29sJiBzYXdFcnJvcik7CiAgICAgdmlydHVhbCBDU3RyaW5nIGVuY29k
ZShjb25zdCBVQ2hhciosIHNpemVfdCBsZW5ndGgsIFVuZW5jb2RhYmxlSGFuZGxpbmcpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VzZXJEZWZp
bmVkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVXNlckRlZmlu
ZWQuY3BwCmluZGV4IGQ4MWE2MzVjM2FiNDI3Njc0MWY3ZWRkYTlmZWI4Y2M1MjYyMTRkYzguLmUz
MTkyMTRlNGY1MDJmMmRhYzQzODdmYjljNDg3ZjZjYzU1ZTEwYzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVXNlckRlZmluZWQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVXNlckRlZmluZWQuY3BwCkBAIC0y
Nyw3ICsyNyw2IEBACiAjaW5jbHVkZSAiVGV4dENvZGVjVXNlckRlZmluZWQuaCIKIAogI2luY2x1
ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVmZmVyLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgpAQCAtNDAsOSArMzksOSBAQCB2b2lkIFRl
eHRDb2RlY1VzZXJEZWZpbmVkOjpyZWdpc3RlckVuY29kaW5nTmFtZXMoRW5jb2RpbmdOYW1lUmVn
aXN0cmFyIHJlZ2lzdHJhcgogICAgIHJlZ2lzdHJhcigieC11c2VyLWRlZmluZWQiLCAieC11c2Vy
LWRlZmluZWQiKTsKIH0KIAotc3RhdGljIFBhc3NPd25QdHI8VGV4dENvZGVjPiBuZXdTdHJlYW1p
bmdUZXh0RGVjb2RlclVzZXJEZWZpbmVkKGNvbnN0IFRleHRFbmNvZGluZyYsIGNvbnN0IHZvaWQq
KQorc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxUZXh0Q29kZWM+IG5ld1N0cmVhbWluZ1RleHREZWNv
ZGVyVXNlckRlZmluZWQoY29uc3QgVGV4dEVuY29kaW5nJiwgY29uc3Qgdm9pZCopCiB7Ci0gICAg
cmV0dXJuIGFkb3B0UHRyKG5ldyBUZXh0Q29kZWNVc2VyRGVmaW5lZCk7CisgICAgcmV0dXJuIHN0
ZDo6bWFrZV91bmlxdWU8VGV4dENvZGVjVXNlckRlZmluZWQ+KCk7CiB9CiAKIHZvaWQgVGV4dENv
ZGVjVXNlckRlZmluZWQ6OnJlZ2lzdGVyQ29kZWNzKFRleHRDb2RlY1JlZ2lzdHJhciByZWdpc3Ry
YXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGlu
Z1JlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5n
UmVnaXN0cnkuY3BwCmluZGV4IDg2ZDVkMmU4Y2RkNGNjN2E2MGFlMzk0ZDkxODNkYTBjOGVjZDRm
ZjEuLmJjMWYzMDk0ZDQyZTFlOTZhNmJlZWE4ZjhmYTMwNzM5MjUyNjc4MmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3Bw
CkBAIC0yOTIsNyArMjkyLDcgQEAgc3RhdGljIHZvaWQgZXh0ZW5kVGV4dENvZGVjTWFwcygpCiAg
ICAgYnVpbGRRdWlya3NTZXRzKCk7CiB9CiAKLVBhc3NPd25QdHI8VGV4dENvZGVjPiBuZXdUZXh0
Q29kZWMoY29uc3QgVGV4dEVuY29kaW5nJiBlbmNvZGluZykKK3N0ZDo6dW5pcXVlX3B0cjxUZXh0
Q29kZWM+IG5ld1RleHRDb2RlYyhjb25zdCBUZXh0RW5jb2RpbmcmIGVuY29kaW5nKQogewogICAg
IHN0ZDo6bG9ja19ndWFyZDxzdGQ6Om11dGV4PiBsb2NrKGVuY29kaW5nUmVnaXN0cnlNdXRleCgp
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2Rp
bmdSZWdpc3RyeS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdS
ZWdpc3RyeS5oCmluZGV4IGVjMDQ2M2I1NjkxOTA1NjZlY2Y3M2Y2YjI3MTFhYzEyM2RiZDgwOTUu
LmU4ODJhOWFiM2IxMTk3NWMxNjAxZGQ0YmE3YzE1OGJkNzA2N2MzOWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmgKQEAgLTI3
LDcgKzI3LDYgQEAKICNkZWZpbmUgVGV4dEVuY29kaW5nUmVnaXN0cnlfaAogCiAjaW5jbHVkZSA8
bWVtb3J5PgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM3LDcgKzM2LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiAgICAgLy8gVXNlIFRleHRSZXNvdXJjZURlY29kZXI6OmRlY29k
ZSB0byBkZWNvZGUgcmVzb3VyY2VzLCBzaW5jZSBpdCBoYW5kbGVzIEJPTXMuCiAgICAgLy8gVXNl
IFRleHRFbmNvZGluZzo6ZW5jb2RlIHRvIGVuY29kZSwgc2luY2UgaXQgdGFrZXMgY2FyZSBvZiBu
b3JtYWxpemF0aW9uLgotICAgIFBhc3NPd25QdHI8VGV4dENvZGVjPiBuZXdUZXh0Q29kZWMoY29u
c3QgVGV4dEVuY29kaW5nJik7CisgICAgc3RkOjp1bmlxdWVfcHRyPFRleHRDb2RlYz4gbmV3VGV4
dENvZGVjKGNvbnN0IFRleHRFbmNvZGluZyYpOwogCiAgICAgLy8gT25seSBUZXh0RW5jb2Rpbmcg
c2hvdWxkIHVzZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBkaXJlY3RseS4KICAgICBjb25zdCBj
aGFyKiBhdG9taWNDYW5vbmljYWxUZXh0RW5jb2RpbmdOYW1lKGNvbnN0IGNoYXIqIGFsaWFzKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL1RleHRDb2RlY01h
Yy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9UZXh0Q29kZWNNYWMuY3Bw
CmluZGV4IDU2Y2ZjZmJhZDYxZjQzYjMyZDg1MjVkN2RhMjk5NGFkYjUyNzM2YjQuLmExNmUzMDdi
YzQ2ZjNjYTYxOTZkN2EwZWYwOTBiYjViYWQwZDVlZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvbWFjL1RleHRDb2RlY01hYy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9tYWMvVGV4dENvZGVjTWFjLmNwcApAQCAtNjYsOSArNjYsOSBAQCB2
b2lkIFRleHRDb2RlY01hYzo6cmVnaXN0ZXJFbmNvZGluZ05hbWVzKEVuY29kaW5nTmFtZVJlZ2lz
dHJhciByZWdpc3RyYXIpCiAgICAgfQogfQogCi1zdGF0aWMgUGFzc093blB0cjxUZXh0Q29kZWM+
IG5ld1RleHRDb2RlY01hYyhjb25zdCBUZXh0RW5jb2RpbmcmLCBjb25zdCB2b2lkKiBhZGRpdGlv
bmFsRGF0YSkKK3N0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8VGV4dENvZGVjPiBuZXdUZXh0Q29kZWNN
YWMoY29uc3QgVGV4dEVuY29kaW5nJiwgY29uc3Qgdm9pZCogYWRkaXRpb25hbERhdGEpCiB7Ci0g
ICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBUZXh0Q29kZWNNYWMoKnN0YXRpY19jYXN0PGNvbnN0IFRF
Q1RleHRFbmNvZGluZ0lEKj4oYWRkaXRpb25hbERhdGEpKSk7CisgICAgcmV0dXJuIHN0ZDo6bWFr
ZV91bmlxdWU8VGV4dENvZGVjTWFjPigqc3RhdGljX2Nhc3Q8Y29uc3QgVEVDVGV4dEVuY29kaW5n
SUQqPihhZGRpdGlvbmFsRGF0YSkpOwogfQogCiB2b2lkIFRleHRDb2RlY01hYzo6cmVnaXN0ZXJD
b2RlY3MoVGV4dENvZGVjUmVnaXN0cmFyIHJlZ2lzdHJhcikK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239914</attachid>
            <date>2014-10-15 18:35:07 -0700</date>
            <delta_ts>2014-10-15 19:51:00 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-137738-20141016103510.patch</filename>
            <type>text/plain</type>
            <size>14193</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0NzU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTM4ZmIyZjk5NjJlZTUx
MjA3OTFmMDFlZGJmMjQwMzI3MDc5YWJkMi4uMjcwMWYyMTgzZmYzY2ZjYTZkMzFhYTk1MzA2NmUx
ZmIzMGU4MGQ2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE0LTEwLTE1ICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgTW92ZSBUZXh0
Q29kZWMgY2xhc3NlcyB0byBzdGQ6OnVuaXF1ZV9wdHIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzczOAorCisgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgorCisgICAgICAgIFJlcGxhY2UgdXNlcyBvZiBQYXNzT3duUHRyIGluIGNvZGUg
dW5kZXIgVGV4dENvZGVjRm9vIGNsYXNzIHdpdGggc3RkOjp1bmlxdWVfcHRyLgorICAgICAgICBU
byBkbyB0aGlzLCBjdG9yIG9mIFRleHRDb2RlY0ZvbyBjbGFzc2VzIGlzIGNoYW5nZWQgZnJvbSBw
cml2YXRlIHRvIHB1YmxpYy4gQmVzaWRlcworICAgICAgICByZWxhdGVkIGNsYXNzZXMgZm9sbG93
IHRoaXMgY2hhbmdlIGFzIHdlbGwuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlv
ciBjaGFuZ2UuCisKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MTWV0YUNoYXJzZXRQYXJzZXIu
aDoKKyAgICAgICAgKiBsb2FkZXIvVGV4dFJlc291cmNlRGVjb2Rlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpUZXh0UmVzb3VyY2VEZWNvZGVyOjpzZXRFbmNvZGluZyk6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0UmVzb3VyY2VEZWNvZGVyOjpmbHVzaCk6CisgICAgICAgICogbG9hZGVyL1RleHRS
ZXNvdXJjZURlY29kZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRDb2RlYy5oOgor
ICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dENvZGVjSUNVLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlRleHRDb2RlY0lDVTo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRD
b2RlY0lDVS5oOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvVGV4dENvZGVjTGF0aW4xLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Om5ld1N0cmVhbWluZ1RleHREZWNvZGVyV2luZG93c0xhdGluMSk6
CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEYxNi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpuZXdTdHJlYW1pbmdUZXh0RGVjb2RlclVURjE2TEUpOgorICAgICAgICAoV2ViQ29y
ZTo6bmV3U3RyZWFtaW5nVGV4dERlY29kZXJVVEYxNkJFKToKKyAgICAgICAgKiBwbGF0Zm9ybS90
ZXh0L1RleHRDb2RlY1VURjguY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dENvZGVjVVRGODo6
Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VzZXJEZWZpbmVkLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Om5ld1N0cmVhbWluZ1RleHREZWNvZGVyVXNlckRlZmluZWQpOgorICAgICAgICAqIHBs
YXRmb3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
bmV3VGV4dENvZGVjKToKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lz
dHJ5Lmg6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9tYWMvVGV4dENvZGVjTWFjLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Om5ld1RleHRDb2RlY01hYyk6CisKIDIwMTQtMTAtMTUgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbTWFjXSBGaXggaW5lZmZpY2llbmNp
ZXMgaW4gUmVzb3VyY2VSZXNwb25zZTo6cGxhdGZvcm1MYXp5SW5pdChJbml0TGV2ZWwpIC0gUGFy
dCAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MTWV0YUNoYXJz
ZXRQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBh
cnNlci5oCmluZGV4IDYxOGNlN2ZmNjFkMWRkMGY1ZTNmZjBlMzVlMjAzMmIyZTdhM2FjYjcuLmRl
MDI4YmIwYmNhMDI2NmZiNmQ0Zjc4YWE0ZjA3MjQwYTIzMjk1OWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBhcnNlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxNZXRhQ2hhcnNldFBhcnNlci5oCkBAIC02Myw3ICs2
Myw3IEBAIHByaXZhdGU6CiAgICAgfTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxIVE1MVG9rZW5p
emVyPiBtX3Rva2VuaXplcjsKLSAgICBPd25QdHI8VGV4dENvZGVjPiBtX2Fzc3VtZWRDb2RlYzsK
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8VGV4dENvZGVjPiBtX2Fzc3VtZWRDb2RlYzsKICAgICBTZWdt
ZW50ZWRTdHJpbmcgbV9pbnB1dDsKICAgICBIVE1MVG9rZW4gbV90b2tlbjsKICAgICBib29sIG1f
aW5IZWFkU2VjdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0UmVz
b3VyY2VEZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0UmVzb3VyY2VEZWNv
ZGVyLmNwcAppbmRleCA5ODAyMTY1YmE1ZDVmMDc5MjEwNTVhNGM5ZDA1NWE0ZjQ3NTJkZWQxLi4x
ZGFhODIwODRmMjg1N2Q2MzhiYTI1MTU3MmRmNmVmZGU1NmQ5ZGEyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvVGV4dFJlc291cmNlRGVjb2Rlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuY3BwCkBAIC0zNTUsNyArMzU1LDcgQEAg
dm9pZCBUZXh0UmVzb3VyY2VEZWNvZGVyOjpzZXRFbmNvZGluZyhjb25zdCBUZXh0RW5jb2Rpbmcm
IGVuY29kaW5nLCBFbmNvZGluZ1NvdXIKICAgICBlbHNlCiAgICAgICAgIG1fZW5jb2RpbmcgPSBl
bmNvZGluZzsKIAotICAgIG1fY29kZWMuY2xlYXIoKTsKKyAgICBtX2NvZGVjID0gbnVsbHB0cjsK
ICAgICBtX3NvdXJjZSA9IHNvdXJjZTsKIH0KIApAQCAtNjYwLDcgKzY2MCw3IEBAIFN0cmluZyBU
ZXh0UmVzb3VyY2VEZWNvZGVyOjpmbHVzaCgpCiAKICAgICBTdHJpbmcgcmVzdWx0ID0gbV9jb2Rl
Yy0+ZGVjb2RlKG1fYnVmZmVyLmRhdGEoKSwgbV9idWZmZXIuc2l6ZSgpLCB0cnVlLCBtX2NvbnRl
bnRUeXBlID09IFhNTCAmJiAhbV91c2VMZW5pZW50WE1MRGVjb2RpbmcsIG1fc2F3RXJyb3IpOwog
ICAgIG1fYnVmZmVyLmNsZWFyKCk7Ci0gICAgbV9jb2RlYy5jbGVhcigpOworICAgIG1fY29kZWMg
PSBudWxscHRyOwogICAgIG1fY2hlY2tlZEZvckJPTSA9IGZhbHNlOyAvLyBTa2lwIEJPTSBhZ2Fp
biB3aGVuIHJlLWRlY29kaW5nLgogICAgIHJldHVybiByZXN1bHQ7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFJlc291cmNlRGVjb2Rlci5oIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1RleHRSZXNvdXJjZURlY29kZXIuaAppbmRleCBjNjc0NzExNzJkYTE1MGZmNTJh
OTI4NmM1YzZlZjA3NmE1Y2IwMWQwLi4yYTkyNTQ4NzU5OTNjY2ViODc5M2NmOTJlZDk0Mzk1ZTgy
OGFlMDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvVGV4dFJlc291cmNlRGVj
b2Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9UZXh0UmVzb3VyY2VEZWNvZGVyLmgK
QEAgLTg0LDcgKzg0LDcgQEAgcHJpdmF0ZToKIAogICAgIENvbnRlbnRUeXBlIG1fY29udGVudFR5
cGU7CiAgICAgVGV4dEVuY29kaW5nIG1fZW5jb2Rpbmc7Ci0gICAgT3duUHRyPFRleHRDb2RlYz4g
bV9jb2RlYzsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8VGV4dENvZGVjPiBtX2NvZGVjOwogICAgIEVu
Y29kaW5nU291cmNlIG1fc291cmNlOwogICAgIGNvbnN0IGNoYXIqIG1faGludEVuY29kaW5nOwog
ICAgIFZlY3RvcjxjaGFyPiBtX2J1ZmZlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvVGV4dENvZGVjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1Rl
eHRDb2RlYy5oCmluZGV4IDVlZDljYzY0NmJmYjNkODg2OTlkYjkwZGNiNjM0ZjliZTk0MDA0Nzgu
LmQ5MjcyZjk1N2M3ZThiNmE3YzkzMGY2YTczZjIwNDAwZDBhMTUxMjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWMuaApAQCAtNzgsNyArNzgsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICB0eXBlZGVmIHZvaWQgKCpFbmNvZGluZ05hbWVSZWdpc3RyYXIpKGNv
bnN0IGNoYXIqIGFsaWFzLCBjb25zdCBjaGFyKiBuYW1lKTsKIAotICAgIHR5cGVkZWYgUGFzc093
blB0cjxUZXh0Q29kZWM+ICgqTmV3VGV4dENvZGVjRnVuY3Rpb24pKGNvbnN0IFRleHRFbmNvZGlu
ZyYsIGNvbnN0IHZvaWQqIGFkZGl0aW9uYWxEYXRhKTsKKyAgICB0eXBlZGVmIHN0ZDo6dW5pcXVl
X3B0cjxUZXh0Q29kZWM+ICgqTmV3VGV4dENvZGVjRnVuY3Rpb24pKGNvbnN0IFRleHRFbmNvZGlu
ZyYsIGNvbnN0IHZvaWQqIGFkZGl0aW9uYWxEYXRhKTsKICAgICB0eXBlZGVmIHZvaWQgKCpUZXh0
Q29kZWNSZWdpc3RyYXIpKGNvbnN0IGNoYXIqIG5hbWUsIE5ld1RleHRDb2RlY0Z1bmN0aW9uLCBj
b25zdCB2b2lkKiBhZGRpdGlvbmFsRGF0YSk7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjSUNVLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjSUNVLmNwcAppbmRleCBkOThm
OWFjNWZhMDA4YTE2MjZiMGRjZWE0ZmU1OTkwNjc4NTNkYWQyLi5kZDZmZjA2NzViYjFhOTI2NTcw
ZGU0NDg1ZWVkYjE3NmFhY2U3MTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L1RleHRDb2RlY0lDVS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC9UZXh0Q29kZWNJQ1UuY3BwCkBAIC02NiwxMCArNjYsMTAgQEAgc3RhdGljIFVDb252ZXJ0ZXIq
JiBjYWNoZWRDb252ZXJ0ZXJJQ1UoKQogICAgIHJldHVybiB0aHJlYWRHbG9iYWxEYXRhKCkuY2Fj
aGVkQ29udmVydGVySUNVKCkuY29udmVydGVyOwogfQogCi1QYXNzT3duUHRyPFRleHRDb2RlYz4g
VGV4dENvZGVjSUNVOjpjcmVhdGUoY29uc3QgVGV4dEVuY29kaW5nJiBlbmNvZGluZywgY29uc3Qg
dm9pZCogYWRkaXRpb25hbERhdGEpCitzdGQ6OnVuaXF1ZV9wdHI8VGV4dENvZGVjPiBUZXh0Q29k
ZWNJQ1U6OmNyZWF0ZShjb25zdCBUZXh0RW5jb2RpbmcmIGVuY29kaW5nLCBjb25zdCB2b2lkKiBh
ZGRpdGlvbmFsRGF0YSkKIHsKICAgICAvLyBOYW1lIHN0cmluZ3MgYXJlIHBlcnNpc3RlbnRseSBr
ZXB0IGluIFRleHRFbmNvZGluZ1JlZ2lzdHJ5IG1hcHMsIHNvIHRoZXkgYXJlIG5ldmVyIGRlbGV0
ZWQuCi0gICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBUZXh0Q29kZWNJQ1UoZW5jb2RpbmcubmFtZSgp
LCBzdGF0aWNfY2FzdDxjb25zdCBjaGFyKj4oYWRkaXRpb25hbERhdGEpKSk7CisgICAgcmV0dXJu
IHN0ZDo6bWFrZV91bmlxdWU8VGV4dENvZGVjSUNVPihlbmNvZGluZy5uYW1lKCksIHN0YXRpY19j
YXN0PGNvbnN0IGNoYXIqPihhZGRpdGlvbmFsRGF0YSkpOwogfQogCiB2b2lkIFRleHRDb2RlY0lD
VTo6cmVnaXN0ZXJFbmNvZGluZ05hbWVzKEVuY29kaW5nTmFtZVJlZ2lzdHJhciByZWdpc3RyYXIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY0lDVS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNJQ1UuaAppbmRleCA2MDU4
MzAyZjQ3MTYxNmQzZGMzODY2OWZkZmQ2ZjdhNjhiM2M0OTIxLi44ZjdkNjczODFkMmRlNzc1MDQy
NDFmNTc2MTdhMGNmZmY1NzI5NDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L1RleHRDb2RlY0lDVS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
VGV4dENvZGVjSUNVLmgKQEAgLTM2LDE1ICszNiwxNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICBjbGFzcyBUZXh0Q29kZWNJQ1UgOiBwdWJsaWMgVGV4dENvZGVjIHsKICAgICBwdWJsaWM6
CisgICAgICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8VGV4dENvZGVjPiBjcmVhdGUoY29uc3Qg
VGV4dEVuY29kaW5nJiwgY29uc3Qgdm9pZCogYWRkaXRpb25hbERhdGEpOworCisgICAgICAgIFRl
eHRDb2RlY0lDVShjb25zdCBjaGFyKiBlbmNvZGluZywgY29uc3QgY2hhciogY2Fub25pY2FsQ29u
dmVydGVyTmFtZSk7CisKICAgICAgICAgc3RhdGljIHZvaWQgcmVnaXN0ZXJFbmNvZGluZ05hbWVz
KEVuY29kaW5nTmFtZVJlZ2lzdHJhcik7CiAgICAgICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVyQ29k
ZWNzKFRleHRDb2RlY1JlZ2lzdHJhcik7CiAKICAgICAgICAgdmlydHVhbCB+VGV4dENvZGVjSUNV
KCk7CiAKICAgICBwcml2YXRlOgotICAgICAgICBUZXh0Q29kZWNJQ1UoY29uc3QgY2hhciogZW5j
b2RpbmcsIGNvbnN0IGNoYXIqIGNhbm9uaWNhbENvbnZlcnRlck5hbWUpOwotICAgICAgICBzdGF0
aWMgUGFzc093blB0cjxUZXh0Q29kZWM+IGNyZWF0ZShjb25zdCBUZXh0RW5jb2RpbmcmLCBjb25z
dCB2b2lkKiBhZGRpdGlvbmFsRGF0YSk7Ci0KICAgICAgICAgdmlydHVhbCBTdHJpbmcgZGVjb2Rl
KGNvbnN0IGNoYXIqLCBzaXplX3QgbGVuZ3RoLCBib29sIGZsdXNoLCBib29sIHN0b3BPbkVycm9y
LCBib29sJiBzYXdFcnJvcik7CiAgICAgICAgIHZpcnR1YWwgQ1N0cmluZyBlbmNvZGUoY29uc3Qg
VUNoYXIqLCBzaXplX3QgbGVuZ3RoLCBVbmVuY29kYWJsZUhhbmRsaW5nKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNMYXRpbjEuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNMYXRpbjEuY3BwCmluZGV4IDM3M2Yy
MjZlYzY5YWVlMTQyMDg0MGQ3YWRiOGQyYzA2MmI4Mjk4NDYuLjQ2NzNiZTAwZjU0YWU4Y2VjOWVl
MDlkNjAzMmFjZjZmY2NlMTNmYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvVGV4dENvZGVjTGF0aW4xLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L1RleHRDb2RlY0xhdGluMS5jcHAKQEAgLTEwNCw5ICsxMDQsOSBAQCB2b2lkIFRleHRDb2Rl
Y0xhdGluMTo6cmVnaXN0ZXJFbmNvZGluZ05hbWVzKEVuY29kaW5nTmFtZVJlZ2lzdHJhciByZWdp
c3RyYXIpCiAgICAgcmVnaXN0cmFyKCJ4LWFuc2kiLCAiVVMtQVNDSUkiKTsKIH0KIAotc3RhdGlj
IFBhc3NPd25QdHI8VGV4dENvZGVjPiBuZXdTdHJlYW1pbmdUZXh0RGVjb2RlcldpbmRvd3NMYXRp
bjEoY29uc3QgVGV4dEVuY29kaW5nJiwgY29uc3Qgdm9pZCopCitzdGF0aWMgc3RkOjp1bmlxdWVf
cHRyPFRleHRDb2RlYz4gbmV3U3RyZWFtaW5nVGV4dERlY29kZXJXaW5kb3dzTGF0aW4xKGNvbnN0
IFRleHRFbmNvZGluZyYsIGNvbnN0IHZvaWQqKQogewotICAgIHJldHVybiBhZG9wdFB0cihuZXcg
VGV4dENvZGVjTGF0aW4xKTsKKyAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxUZXh0Q29kZWNM
YXRpbjE+KCk7CiB9CiAKIHZvaWQgVGV4dENvZGVjTGF0aW4xOjpyZWdpc3RlckNvZGVjcyhUZXh0
Q29kZWNSZWdpc3RyYXIgcmVnaXN0cmFyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9UZXh0Q29kZWNVVEYxNi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L1RleHRDb2RlY1VURjE2LmNwcAppbmRleCBkOThkNTE5YWE5ZTAwNzUyNjVjNzA0ZjI3OGQ4
YTc2YzNjOGY2ZmI0Li4xOTVhYmE0OGNhNWE3YTg0NzgwMGU2YzFkNTFhNjYzNzFhN2M0YWFiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjE2LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjE2LmNwcApA
QCAtNDgsMTQgKzQ4LDE0IEBAIHZvaWQgVGV4dENvZGVjVVRGMTY6OnJlZ2lzdGVyRW5jb2RpbmdO
YW1lcyhFbmNvZGluZ05hbWVSZWdpc3RyYXIgcmVnaXN0cmFyKQogICAgIHJlZ2lzdHJhcigidW5p
Y29kZUZGRkUiLCAiVVRGLTE2QkUiKTsKIH0KIAotc3RhdGljIFBhc3NPd25QdHI8VGV4dENvZGVj
PiBuZXdTdHJlYW1pbmdUZXh0RGVjb2RlclVURjE2TEUoY29uc3QgVGV4dEVuY29kaW5nJiwgY29u
c3Qgdm9pZCopCitzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFRleHRDb2RlYz4gbmV3U3RyZWFtaW5n
VGV4dERlY29kZXJVVEYxNkxFKGNvbnN0IFRleHRFbmNvZGluZyYsIGNvbnN0IHZvaWQqKQogewot
ICAgIHJldHVybiBhZG9wdFB0cihuZXcgVGV4dENvZGVjVVRGMTYodHJ1ZSkpOworICAgIHJldHVy
biBzdGQ6Om1ha2VfdW5pcXVlPFRleHRDb2RlY1VURjE2Pih0cnVlKTsKIH0KIAotc3RhdGljIFBh
c3NPd25QdHI8VGV4dENvZGVjPiBuZXdTdHJlYW1pbmdUZXh0RGVjb2RlclVURjE2QkUoY29uc3Qg
VGV4dEVuY29kaW5nJiwgY29uc3Qgdm9pZCopCitzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFRleHRD
b2RlYz4gbmV3U3RyZWFtaW5nVGV4dERlY29kZXJVVEYxNkJFKGNvbnN0IFRleHRFbmNvZGluZyYs
IGNvbnN0IHZvaWQqKQogewotICAgIHJldHVybiBhZG9wdFB0cihuZXcgVGV4dENvZGVjVVRGMTYo
ZmFsc2UpKTsKKyAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxUZXh0Q29kZWNVVEYxNj4oZmFs
c2UpOwogfQogCiB2b2lkIFRleHRDb2RlY1VURjE2OjpyZWdpc3RlckNvZGVjcyhUZXh0Q29kZWNS
ZWdpc3RyYXIgcmVnaXN0cmFyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9UZXh0Q29kZWNVVEY4LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4
dENvZGVjVVRGOC5jcHAKaW5kZXggNjQ3MmYxMzMyMDI1YjcyODJmMmRkZWNjZWY4M2ZjMzY1YmNi
NmE0YS4uNmIzMjk1NWMxMzY2YWNkMDkyODNiMTRmYWJjOWQ0MmQwNDdiZmNiNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRDb2RlY1VURjguY3BwCkBAIC0zOCw5ICsz
OCw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY29uc3QgaW50IG5vbkNoYXJhY3RlciA9IC0x
OwogCi1QYXNzT3duUHRyPFRleHRDb2RlYz4gVGV4dENvZGVjVVRGODo6Y3JlYXRlKGNvbnN0IFRl
eHRFbmNvZGluZyYsIGNvbnN0IHZvaWQqKQorc3RkOjp1bmlxdWVfcHRyPFRleHRDb2RlYz4gVGV4
dENvZGVjVVRGODo6Y3JlYXRlKGNvbnN0IFRleHRFbmNvZGluZyYsIGNvbnN0IHZvaWQqKQogewot
ICAgIHJldHVybiBhZG9wdFB0cihuZXcgVGV4dENvZGVjVVRGOCk7CisgICAgcmV0dXJuIHN0ZDo6
bWFrZV91bmlxdWU8VGV4dENvZGVjVVRGOD4oKTsKIH0KIAogdm9pZCBUZXh0Q29kZWNVVEY4Ojpy
ZWdpc3RlckVuY29kaW5nTmFtZXMoRW5jb2RpbmdOYW1lUmVnaXN0cmFyIHJlZ2lzdHJhcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVVRGOC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9UZXh0Q29kZWNVVEY4LmgKaW5kZXggZmY5MTQ2
OThjY2E5NzA4NjFmNWY5MWY3OWY5ZjI4YWQ4NWFiM2IxZi4uOTQzMDVjZTE4ZjIzMDVjOGI2ZmE1
OGViMWYxNWMzN2MyY2YzYzM0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9UZXh0Q29kZWNVVEY4LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9U
ZXh0Q29kZWNVVEY4LmgKQEAgLTMyLDEzICszMiwxNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIFRleHRDb2RlY1VURjggOiBwdWJsaWMgVGV4dENvZGVjIHsKIHB1YmxpYzoKKyAgICBz
dGF0aWMgc3RkOjp1bmlxdWVfcHRyPFRleHRDb2RlYz4gY3JlYXRlKGNvbnN0IFRleHRFbmNvZGlu
ZyYsIGNvbnN0IHZvaWQqKTsKKyAgICBUZXh0Q29kZWNVVEY4KCkKKyAgICAgICAgOiBtX3BhcnRp
YWxTZXF1ZW5jZVNpemUoMCkKKyAgICB7CisgICAgfQorCiAgICAgc3RhdGljIHZvaWQgcmVnaXN0
ZXJFbmNvZGluZ05hbWVzKEVuY29kaW5nTmFtZVJlZ2lzdHJhcik7CiAgICAgc3RhdGljIHZvaWQg
cmVnaXN0ZXJDb2RlY3MoVGV4dENvZGVjUmVnaXN0cmFyKTsKIAogcHJpdmF0ZToKLSAgICBzdGF0
aWMgUGFzc093blB0cjxUZXh0Q29kZWM+IGNyZWF0ZShjb25zdCBUZXh0RW5jb2RpbmcmLCBjb25z
dCB2b2lkKik7Ci0gICAgVGV4dENvZGVjVVRGOCgpIDogbV9wYXJ0aWFsU2VxdWVuY2VTaXplKDAp
IHsgfQotCiAgICAgdmlydHVhbCBTdHJpbmcgZGVjb2RlKGNvbnN0IGNoYXIqLCBzaXplX3QgbGVu
Z3RoLCBib29sIGZsdXNoLCBib29sIHN0b3BPbkVycm9yLCBib29sJiBzYXdFcnJvcik7CiAgICAg
dmlydHVhbCBDU3RyaW5nIGVuY29kZShjb25zdCBVQ2hhciosIHNpemVfdCBsZW5ndGgsIFVuZW5j
b2RhYmxlSGFuZGxpbmcpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L1RleHRDb2RlY1VzZXJEZWZpbmVkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvVGV4dENvZGVjVXNlckRlZmluZWQuY3BwCmluZGV4IGQ4MWE2MzVjM2FiNDI3Njc0MWY3ZWRk
YTlmZWI4Y2M1MjYyMTRkYzguLmUzMTkyMTRlNGY1MDJmMmRhYzQzODdmYjljNDg3ZjZjYzU1ZTEw
YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVjVXNl
ckRlZmluZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dENvZGVj
VXNlckRlZmluZWQuY3BwCkBAIC0yNyw3ICsyNyw2IEBACiAjaW5jbHVkZSAiVGV4dENvZGVjVXNl
ckRlZmluZWQuaCIKIAogI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25Q
dHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
U3RyaW5nQnVmZmVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgpAQCAt
NDAsOSArMzksOSBAQCB2b2lkIFRleHRDb2RlY1VzZXJEZWZpbmVkOjpyZWdpc3RlckVuY29kaW5n
TmFtZXMoRW5jb2RpbmdOYW1lUmVnaXN0cmFyIHJlZ2lzdHJhcgogICAgIHJlZ2lzdHJhcigieC11
c2VyLWRlZmluZWQiLCAieC11c2VyLWRlZmluZWQiKTsKIH0KIAotc3RhdGljIFBhc3NPd25QdHI8
VGV4dENvZGVjPiBuZXdTdHJlYW1pbmdUZXh0RGVjb2RlclVzZXJEZWZpbmVkKGNvbnN0IFRleHRF
bmNvZGluZyYsIGNvbnN0IHZvaWQqKQorc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxUZXh0Q29kZWM+
IG5ld1N0cmVhbWluZ1RleHREZWNvZGVyVXNlckRlZmluZWQoY29uc3QgVGV4dEVuY29kaW5nJiwg
Y29uc3Qgdm9pZCopCiB7Ci0gICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBUZXh0Q29kZWNVc2VyRGVm
aW5lZCk7CisgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8VGV4dENvZGVjVXNlckRlZmluZWQ+
KCk7CiB9CiAKIHZvaWQgVGV4dENvZGVjVXNlckRlZmluZWQ6OnJlZ2lzdGVyQ29kZWNzKFRleHRD
b2RlY1JlZ2lzdHJhciByZWdpc3RyYXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L1RleHRFbmNvZGluZ1JlZ2lzdHJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvVGV4dEVuY29kaW5nUmVnaXN0cnkuY3BwCmluZGV4IDg2ZDVkMmU4Y2RkNGNjN2E2
MGFlMzk0ZDkxODNkYTBjOGVjZDRmZjEuLmJjMWYzMDk0ZDQyZTFlOTZhNmJlZWE4ZjhmYTMwNzM5
MjUyNjc4MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVu
Y29kaW5nUmVnaXN0cnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4
dEVuY29kaW5nUmVnaXN0cnkuY3BwCkBAIC0yOTIsNyArMjkyLDcgQEAgc3RhdGljIHZvaWQgZXh0
ZW5kVGV4dENvZGVjTWFwcygpCiAgICAgYnVpbGRRdWlya3NTZXRzKCk7CiB9CiAKLVBhc3NPd25Q
dHI8VGV4dENvZGVjPiBuZXdUZXh0Q29kZWMoY29uc3QgVGV4dEVuY29kaW5nJiBlbmNvZGluZykK
K3N0ZDo6dW5pcXVlX3B0cjxUZXh0Q29kZWM+IG5ld1RleHRDb2RlYyhjb25zdCBUZXh0RW5jb2Rp
bmcmIGVuY29kaW5nKQogewogICAgIHN0ZDo6bG9ja19ndWFyZDxzdGQ6Om11dGV4PiBsb2NrKGVu
Y29kaW5nUmVnaXN0cnlNdXRleCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9UZXh0RW5jb2RpbmdSZWdpc3RyeS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9UZXh0RW5jb2RpbmdSZWdpc3RyeS5oCmluZGV4IGVjMDQ2M2I1NjkxOTA1NjZlY2Y3
M2Y2YjI3MTFhYzEyM2RiZDgwOTUuLmU4ODJhOWFiM2IxMTk3NWMxNjAxZGQ0YmE3YzE1OGJkNzA2
N2MzOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvVGV4dEVuY29k
aW5nUmVnaXN0cnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1RleHRFbmNv
ZGluZ1JlZ2lzdHJ5LmgKQEAgLTI3LDcgKzI3LDYgQEAKICNkZWZpbmUgVGV4dEVuY29kaW5nUmVn
aXN0cnlfaAogCiAjaW5jbHVkZSA8bWVtb3J5PgotI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTM3LDcgKzM2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgLy8gVXNlIFRleHRS
ZXNvdXJjZURlY29kZXI6OmRlY29kZSB0byBkZWNvZGUgcmVzb3VyY2VzLCBzaW5jZSBpdCBoYW5k
bGVzIEJPTXMuCiAgICAgLy8gVXNlIFRleHRFbmNvZGluZzo6ZW5jb2RlIHRvIGVuY29kZSwgc2lu
Y2UgaXQgdGFrZXMgY2FyZSBvZiBub3JtYWxpemF0aW9uLgotICAgIFBhc3NPd25QdHI8VGV4dENv
ZGVjPiBuZXdUZXh0Q29kZWMoY29uc3QgVGV4dEVuY29kaW5nJik7CisgICAgc3RkOjp1bmlxdWVf
cHRyPFRleHRDb2RlYz4gbmV3VGV4dENvZGVjKGNvbnN0IFRleHRFbmNvZGluZyYpOwogCiAgICAg
Ly8gT25seSBUZXh0RW5jb2Rpbmcgc2hvdWxkIHVzZSB0aGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBk
aXJlY3RseS4KICAgICBjb25zdCBjaGFyKiBhdG9taWNDYW5vbmljYWxUZXh0RW5jb2RpbmdOYW1l
KGNvbnN0IGNoYXIqIGFsaWFzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvbWFjL1RleHRDb2RlY01hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L21hYy9UZXh0Q29kZWNNYWMuY3BwCmluZGV4IDU2Y2ZjZmJhZDYxZjQzYjMyZDg1MjVkN2RhMjk5
NGFkYjUyNzM2YjQuLmExNmUzMDdiYzQ2ZjNjYTYxOTZkN2EwZWYwOTBiYjViYWQwZDVlZjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL1RleHRDb2RlY01hYy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvVGV4dENvZGVjTWFjLmNw
cApAQCAtNjYsOSArNjYsOSBAQCB2b2lkIFRleHRDb2RlY01hYzo6cmVnaXN0ZXJFbmNvZGluZ05h
bWVzKEVuY29kaW5nTmFtZVJlZ2lzdHJhciByZWdpc3RyYXIpCiAgICAgfQogfQogCi1zdGF0aWMg
UGFzc093blB0cjxUZXh0Q29kZWM+IG5ld1RleHRDb2RlY01hYyhjb25zdCBUZXh0RW5jb2Rpbmcm
LCBjb25zdCB2b2lkKiBhZGRpdGlvbmFsRGF0YSkKK3N0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8VGV4
dENvZGVjPiBuZXdUZXh0Q29kZWNNYWMoY29uc3QgVGV4dEVuY29kaW5nJiwgY29uc3Qgdm9pZCog
YWRkaXRpb25hbERhdGEpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBUZXh0Q29kZWNNYWMo
KnN0YXRpY19jYXN0PGNvbnN0IFRFQ1RleHRFbmNvZGluZ0lEKj4oYWRkaXRpb25hbERhdGEpKSk7
CisgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8VGV4dENvZGVjTWFjPigqc3RhdGljX2Nhc3Q8
Y29uc3QgVEVDVGV4dEVuY29kaW5nSUQqPihhZGRpdGlvbmFsRGF0YSkpOwogfQogCiB2b2lkIFRl
eHRDb2RlY01hYzo6cmVnaXN0ZXJDb2RlY3MoVGV4dENvZGVjUmVnaXN0cmFyIHJlZ2lzdHJhcikK
</data>

          </attachment>
      

    </bug>

</bugzilla>