<?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>145549</bug_id>
          
          <creation_ts>2015-06-01 22:10:14 -0700</creation_ts>
          <short_desc>REGRESSION(r185091): Crash happens on indexdb tests</short_desc>
          <delta_ts>2015-06-04 18:32:54 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>145508</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gyuyoung Kim">gyuyoung.kim</reporter>
          <assigned_to name="Gyuyoung Kim">gyuyoung.kim</assigned_to>
          <cc>alecflett</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>jsbell</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1098734</commentid>
    <comment_count>0</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-06-01 22:10:14 -0700</bug_when>
    <thetext>Some indexeddb tests come to crash since r185091.

&gt; Regressions: Unexpected crashes (5)
&gt;   storage/indexeddb/error-causes-abort-by-default.html [ Crash ]
&gt;   storage/indexeddb/exception-in-event-aborts.html [ Crash ]
&gt;   storage/indexeddb/mozilla/add-twice-failure.html [ Crash ]
&gt;   storage/indexeddb/request-event-propagation.html [ Crash ]
&gt;   storage/indexeddb/transaction-event-propagation.html [ Crash ]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098748</commentid>
    <comment_count>1</comment_count>
      <attachid>254058</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-06-01 23:35:54 -0700</bug_when>
    <thetext>Created attachment 254058
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098750</commentid>
    <comment_count>2</comment_count>
      <attachid>254059</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-06-01 23:42:34 -0700</bug_when>
    <thetext>Created attachment 254059
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098753</commentid>
    <comment_count>3</comment_count>
      <attachid>254059</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-06-02 01:23:37 -0700</bug_when>
    <thetext>Comment on attachment 254059
Patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098762</commentid>
    <comment_count>4</comment_count>
      <attachid>254059</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-02 02:13:05 -0700</bug_when>
    <thetext>Comment on attachment 254059
Patch

Clearing flags on attachment: 254059

Committed r185107: &lt;http://trac.webkit.org/changeset/185107&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098763</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-02 02:13:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098799</commentid>
    <comment_count>6</comment_count>
      <attachid>254059</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-06-02 11:22:49 -0700</bug_when>
    <thetext>Comment on attachment 254059
Patch

This doesn’t look right. It just looks like a storage leak to me. Could you explain what code calls deref on these errors?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1098806</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-06-02 11:32:14 -0700</bug_when>
    <thetext>I am almost certain this patch is wrong. It’s possible adding a call to WTF::move() around the create functions will fix things; the trick is to change a temporary Ref into a RefPtr. I don’t really understand why, but I am quite sure that by calling leakRef we are actually leaking the objects, so I know that can’t be right. I don’t fully understand why the original crash was happening, though. Should have worked fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099395</commentid>
    <comment_count>8</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-06-03 21:50:02 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099397</commentid>
    <comment_count>9</comment_count>
      <attachid>254244</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-06-03 21:50:06 -0700</bug_when>
    <thetext>Created attachment 254244
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099398</commentid>
    <comment_count>10</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-06-03 21:59:10 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Comment on attachment 254059 [details]
&gt; Patch
&gt; 
&gt; This doesn’t look right. It just looks like a storage leak to me. Could you
&gt; explain what code calls deref on these errors?

I guessed the deref was called by AsyncRequest::completeRequest() though, now I think I can&apos;t be 100% sure about it. 

http://trac.webkit.org/browser/trunk/Source/WebKit2/Shared/AsyncRequest.h#L101

&gt; I am almost certain this patch is wrong. It’s possible adding a call to
&gt; WTF::move() around the create functions will fix things; the trick is to
&gt; change a temporary Ref into a RefPtr. I don’t really understand why, but I
&gt; am quite sure that by calling leakRef we are actually leaking the objects,
&gt; so I know that can’t be right. I don’t fully understand why the original
&gt; crash was happening, though. Should have worked fine.

I agree that my previous fix can cause a storage leak because AsyncRequest::completeRequest() may not handle the pointer of IDBDatabaseError instance. However I would like to fix this problem with correct solution. So I upload a revert patch only for this issue. When I have correct solution for this issue, I will upload it again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099715</commentid>
    <comment_count>11</comment_count>
      <attachid>254244</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-04 18:32:48 -0700</bug_when>
    <thetext>Comment on attachment 254244
Patch

Clearing flags on attachment: 254244

Committed r185233: &lt;http://trac.webkit.org/changeset/185233&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099716</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-04 18:32:54 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254058</attachid>
            <date>2015-06-01 23:35:54 -0700</date>
            <delta_ts>2015-06-01 23:42:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145549-20150602153534.patch</filename>
            <type>text/plain</type>
            <size>11252</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1MTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDhiZWMzM2NlNGRjNmVl
Mjk2MzFiMjc3ZTA2OGE3NTNmY2FjNmM1OC4uOWQyZGMwZDZjOWU5ZmEwNzFjOTJkMWJjMTZmYTM0
YzUyYTE3NzJmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE1LTA2LTAxICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSRUdSRVNTSU9O
KHIxODUwOTEpOiBDcmFzaCBoYXBwZW5zIG9uIGluZGV4ZGIgdGVzdHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTU0OQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHIxODUwOTEgY2F1c2VkIGNyYXNoIG9u
IHNvbWUgaW5kZXhlZGRiIHRlc3RzLiBUaGUgY3Jhc2ggaGFwcGVucyBiZWNhdXNlIElEQkRhdGFi
YXNlRXJyb3I6OmNyZWF0ZSgpIGRvZXNuJ3QKKyAgICAgICAgZGVyZWZlcmVuY2UgY291bnQgYnkg
dXNpbmcgcHRyKCkuIEl0IG1ha2VzIGEgY3Jhc2ggd2hlbiBkZXJlZmVyZW5jaW5nIG9uIH5SZWYo
KSBkZXN0cnVjdG9yLiBUbyBmaXggdGhpcyBpc3N1ZSwKKyAgICAgICAgdGhpcyBwYXRjaCB1c2Vz
IGxlYWtSZWYoKSBpbnN0ZWFkIG9mIHB0cigpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9EYXRh
YmFzZXMvSW5kZXhlZERCL1dlYklEQlNlcnZlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpkaWRDcmVhdGVPYmplY3RTdG9yZSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYklEQlNlcnZlckNvbm5lY3Rpb246OmRpZENyZWF0ZUluZGV4KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViSURCU2VydmVyQ29ubmVjdGlvbjo6ZGlkRGVsZXRlSW5kZXgpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpkaWRQdXRSZWNvcmQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpkaWRHZXRSZWNvcmQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpkaWRPcGVuQ3Vyc29yKToK
KyAgICAgICAgKFdlYktpdDo6V2ViSURCU2VydmVyQ29ubmVjdGlvbjo6ZGlkQWR2YW5jZUN1cnNv
cik6CisgICAgICAgIChXZWJLaXQ6OldlYklEQlNlcnZlckNvbm5lY3Rpb246OmRpZEl0ZXJhdGVD
dXJzb3IpOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpkaWRDb3Vu
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYklEQlNlcnZlckNvbm5lY3Rpb246OmRpZERlbGV0ZVJh
bmdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCU2VydmVyQ29ubmVjdGlvbjo6ZGlkQ2xlYXJP
YmplY3RTdG9yZSk6CisgICAgICAgIChXZWJLaXQ6OldlYklEQlNlcnZlckNvbm5lY3Rpb246OmRp
ZERlbGV0ZU9iamVjdFN0b3JlKToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCU2VydmVyQ29ubmVj
dGlvbjo6ZGlkQ2hhbmdlRGF0YWJhc2VWZXJzaW9uKToKKwogMjAxNS0wNi0wMSAgRW5yaWNhIENh
c3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEhhcmR3YXJlIEtleWJv
YXJkOiBBbGwgY29tYmluYXRpb25zIGZvciBhcnJvdyBrZXlzIHdpdGggU2hpZnQgZG8gbm90IGV4
dGVuZCB0aGUgc2VsZWN0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQlNlcnZlckNvbm5lY3Rpb24uY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQlNlcnZlckNvbm5l
Y3Rpb24uY3BwCmluZGV4IDM3YjJlYjI4MGUwY2U1NzM0YTFkMGRhZjk5MWZkNTI0NDdhMmY1ZTEu
LjZhOGQ5NjczOTczYTY1NDZhOTQ2MGRkMzkwZTIzMDM4MzQ5MmJlMjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXJD
b25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9J
bmRleGVkREIvV2ViSURCU2VydmVyQ29ubmVjdGlvbi5jcHAKQEAgLTMzNiw3ICszMzYsNyBAQCB2
b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246OmRpZENyZWF0ZU9iamVjdFN0b3JlKHVpbnQ2NF90
IHJlcXVlc3RJRCwgYm9vbCBzdWNjZQogICAgIGlmICghc2VydmVyUmVxdWVzdCkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgc2VydmVyUmVxdWVzdC0+Y29tcGxldGVSZXF1ZXN0KHN1Y2Nlc3MgPyBu
dWxscHRyIDogSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpV
bmtub3duRXJyb3IsICJVbmtub3duIGVycm9yIG9jY3VyZWQgY3JlYXRpbmcgb2JqZWN0IHN0b3Jl
IikucHRyKCkpOworICAgIHNlcnZlclJlcXVlc3QtPmNvbXBsZXRlUmVxdWVzdChzdWNjZXNzID8g
bnVsbHB0ciA6ICZJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246
OlVua25vd25FcnJvciwgIlVua25vd24gZXJyb3Igb2NjdXJlZCBjcmVhdGluZyBvYmplY3Qgc3Rv
cmUiKS5sZWFrUmVmKCkpOwogfQogCiB2b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246OmNyZWF0
ZUluZGV4KElEQlRyYW5zYWN0aW9uQmFja2VuZCZ0cmFuc2FjdGlvbiwgY29uc3QgQ3JlYXRlSW5k
ZXhPcGVyYXRpb24mIG9wZXJhdGlvbiwgc3RkOjpmdW5jdGlvbjx2b2lkIChQYXNzUmVmUHRyPElE
QkRhdGFiYXNlRXJyb3I+KT4gY29tcGxldGlvbkNhbGxiYWNrKQpAQCAtMzY1LDcgKzM2NSw3IEBA
IHZvaWQgV2ViSURCU2VydmVyQ29ubmVjdGlvbjo6ZGlkQ3JlYXRlSW5kZXgodWludDY0X3QgcmVx
dWVzdElELCBib29sIHN1Y2Nlc3MpCiAgICAgaWYgKCFzZXJ2ZXJSZXF1ZXN0KQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBzZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3Qoc3VjY2VzcyA/IG51
bGxwdHIgOiBJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVu
a25vd25FcnJvciwgIlVua25vd24gZXJyb3Igb2NjdXJlZCBjcmVhdGluZyBpbmRleCIpLnB0cigp
KTsKKyAgICBzZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3Qoc3VjY2VzcyA/IG51bGxwdHIg
OiAmSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3du
RXJyb3IsICJVbmtub3duIGVycm9yIG9jY3VyZWQgY3JlYXRpbmcgaW5kZXgiKS5sZWFrUmVmKCkp
OwogfQogCiB2b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246OmRlbGV0ZUluZGV4KElEQlRyYW5z
YWN0aW9uQmFja2VuZCZ0cmFuc2FjdGlvbiwgY29uc3QgRGVsZXRlSW5kZXhPcGVyYXRpb24mIG9w
ZXJhdGlvbiwgc3RkOjpmdW5jdGlvbjx2b2lkIChQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+
KT4gY29tcGxldGlvbkNhbGxiYWNrKQpAQCAtMzk0LDcgKzM5NCw3IEBAIHZvaWQgV2ViSURCU2Vy
dmVyQ29ubmVjdGlvbjo6ZGlkRGVsZXRlSW5kZXgodWludDY0X3QgcmVxdWVzdElELCBib29sIHN1
Y2Nlc3MpCiAgICAgaWYgKCFzZXJ2ZXJSZXF1ZXN0KQogICAgICAgICByZXR1cm47CiAKLSAgICBz
ZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3Qoc3VjY2VzcyA/IG51bGxwdHIgOiBJREJEYXRh
YmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJvciwgIlVu
a25vd24gZXJyb3Igb2NjdXJlZCBkZWxldGluZyBpbmRleCIpLnB0cigpKTsKKyAgICBzZXJ2ZXJS
ZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3Qoc3VjY2VzcyA/IG51bGxwdHIgOiAmSURCRGF0YWJhc2VF
cnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsICJVbmtub3du
IGVycm9yIG9jY3VyZWQgZGVsZXRpbmcgaW5kZXgiKS5sZWFrUmVmKCkpOwogfQogCiB2b2lkIFdl
YklEQlNlcnZlckNvbm5lY3Rpb246OmdldChJREJUcmFuc2FjdGlvbkJhY2tlbmQmIHRyYW5zYWN0
aW9uLCBjb25zdCBHZXRPcGVyYXRpb24mIG9wZXJhdGlvbiwgc3RkOjpmdW5jdGlvbjx2b2lkIChj
b25zdCBJREJHZXRSZXN1bHQmLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+KT4gY29tcGxl
dGlvbkNhbGxiYWNrKQpAQCAtNDUzLDcgKzQ1Myw3IEBAIHZvaWQgV2ViSURCU2VydmVyQ29ubmVj
dGlvbjo6ZGlkUHV0UmVjb3JkKHVpbnQ2NF90IHJlcXVlc3RJRCwgY29uc3QgV2ViQ29yZTo6SURC
CiAgICAgaWYgKCFzZXJ2ZXJSZXF1ZXN0KQogICAgICAgICByZXR1cm47CiAKLSAgICBzZXJ2ZXJS
ZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3QocmVzdWx0S2V5LmlzTnVsbCA/IG51bGxwdHIgOiByZXN1
bHRLZXkubWF5YmVDcmVhdGVJREJLZXkoKSwgZXJyb3JDb2RlID8gSURCRGF0YWJhc2VFcnJvcjo6
Y3JlYXRlKGVycm9yQ29kZSwgZXJyb3JNZXNzYWdlKS5wdHIoKSA6IG51bGxwdHIpOworICAgIHNl
cnZlclJlcXVlc3QtPmNvbXBsZXRlUmVxdWVzdChyZXN1bHRLZXkuaXNOdWxsID8gbnVsbHB0ciA6
IHJlc3VsdEtleS5tYXliZUNyZWF0ZUlEQktleSgpLCBlcnJvckNvZGUgPyAmSURCRGF0YWJhc2VF
cnJvcjo6Y3JlYXRlKGVycm9yQ29kZSwgZXJyb3JNZXNzYWdlKS5sZWFrUmVmKCkgOiBudWxscHRy
KTsKIH0KIAogdm9pZCBXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpkaWRHZXRSZWNvcmQodWludDY0
X3QgcmVxdWVzdElELCBjb25zdCBXZWJDb3JlOjpJREJHZXRSZXN1bHQmIGdldFJlc3VsdCwgdWlu
dDMyX3QgZXJyb3JDb2RlLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSkKQEAgLTQ2NSw3ICs0
NjUsNyBAQCB2b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246OmRpZEdldFJlY29yZCh1aW50NjRf
dCByZXF1ZXN0SUQsIGNvbnN0IFdlYkNvcmU6OklEQgogICAgIGlmICghc2VydmVyUmVxdWVzdCkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgc2VydmVyUmVxdWVzdC0+Y29tcGxldGVSZXF1ZXN0KGdl
dFJlc3VsdCwgZXJyb3JDb2RlID8gSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKGVycm9yQ29kZSwg
ZXJyb3JNZXNzYWdlKS5wdHIoKSA6IG51bGxwdHIpOworICAgIHNlcnZlclJlcXVlc3QtPmNvbXBs
ZXRlUmVxdWVzdChnZXRSZXN1bHQsIGVycm9yQ29kZSA/ICZJREJEYXRhYmFzZUVycm9yOjpjcmVh
dGUoZXJyb3JDb2RlLCBlcnJvck1lc3NhZ2UpLmxlYWtSZWYoKSA6IG51bGxwdHIpOwogfQogCiB2
b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246OmRpZE9wZW5DdXJzb3IodWludDY0X3QgcmVxdWVz
dElELCBpbnQ2NF90IGN1cnNvcklELCBjb25zdCBJREJLZXlEYXRhJiBrZXksIGNvbnN0IElEQktl
eURhdGEmIHByaW1hcnlLZXksIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgdmFsdWVEYXRhLCB1
aW50MzJfdCBlcnJvckNvZGUsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKQpAQCAtNDc4LDcg
KzQ3OCw3IEBAIHZvaWQgV2ViSURCU2VydmVyQ29ubmVjdGlvbjo6ZGlkT3BlbkN1cnNvcih1aW50
NjRfdCByZXF1ZXN0SUQsIGludDY0X3QgY3Vyc29ySUQsCiAgICAgICAgIHJldHVybjsKIAogICAg
IFJlZlB0cjxTaGFyZWRCdWZmZXI+IHZhbHVlID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUodmFsdWVE
YXRhLmRhdGEoKSwgdmFsdWVEYXRhLnNpemUoKSk7Ci0gICAgc2VydmVyUmVxdWVzdC0+Y29tcGxl
dGVSZXF1ZXN0KGN1cnNvcklELCBrZXkubWF5YmVDcmVhdGVJREJLZXkoKSwgcHJpbWFyeUtleS5t
YXliZUNyZWF0ZUlEQktleSgpLCB2YWx1ZS5yZWxlYXNlKCksIGVycm9yQ29kZSA/IElEQkRhdGFi
YXNlRXJyb3I6OmNyZWF0ZShlcnJvckNvZGUsIGVycm9yTWVzc2FnZSkucHRyKCkgOiBudWxscHRy
KTsKKyAgICBzZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3QoY3Vyc29ySUQsIGtleS5tYXli
ZUNyZWF0ZUlEQktleSgpLCBwcmltYXJ5S2V5Lm1heWJlQ3JlYXRlSURCS2V5KCksIHZhbHVlLnJl
bGVhc2UoKSwgZXJyb3JDb2RlID8gJklEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShlcnJvckNvZGUs
IGVycm9yTWVzc2FnZSkubGVha1JlZigpIDogbnVsbHB0cik7CiB9CiAKIHZvaWQgV2ViSURCU2Vy
dmVyQ29ubmVjdGlvbjo6ZGlkQWR2YW5jZUN1cnNvcih1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0
IElEQktleURhdGEmIGtleSwgY29uc3QgSURCS2V5RGF0YSYgcHJpbWFyeUtleSwgY29uc3QgSVBD
OjpEYXRhUmVmZXJlbmNlJiB2YWx1ZURhdGEsIHVpbnQzMl90IGVycm9yQ29kZSwgY29uc3QgU3Ry
aW5nJiBlcnJvck1lc3NhZ2UpCkBAIC00OTEsNyArNDkxLDcgQEAgdm9pZCBXZWJJREJTZXJ2ZXJD
b25uZWN0aW9uOjpkaWRBZHZhbmNlQ3Vyc29yKHVpbnQ2NF90IHJlcXVlc3RJRCwgY29uc3QgSURC
S2V5RGEKICAgICAgICAgcmV0dXJuOwogCiAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gdmFsdWUg
PSBTaGFyZWRCdWZmZXI6OmNyZWF0ZSh2YWx1ZURhdGEuZGF0YSgpLCB2YWx1ZURhdGEuc2l6ZSgp
KTsKLSAgICBzZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3Qoa2V5Lm1heWJlQ3JlYXRlSURC
S2V5KCksIHByaW1hcnlLZXkubWF5YmVDcmVhdGVJREJLZXkoKSwgdmFsdWUucmVsZWFzZSgpLCBl
cnJvckNvZGUgPyBJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoZXJyb3JDb2RlLCBlcnJvck1lc3Nh
Z2UpLnB0cigpIDogbnVsbHB0cik7CisgICAgc2VydmVyUmVxdWVzdC0+Y29tcGxldGVSZXF1ZXN0
KGtleS5tYXliZUNyZWF0ZUlEQktleSgpLCBwcmltYXJ5S2V5Lm1heWJlQ3JlYXRlSURCS2V5KCks
IHZhbHVlLnJlbGVhc2UoKSwgZXJyb3JDb2RlID8gJklEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShl
cnJvckNvZGUsIGVycm9yTWVzc2FnZSkubGVha1JlZigpIDogbnVsbHB0cik7CiB9CiAKIHZvaWQg
V2ViSURCU2VydmVyQ29ubmVjdGlvbjo6ZGlkSXRlcmF0ZUN1cnNvcih1aW50NjRfdCByZXF1ZXN0
SUQsIGNvbnN0IElEQktleURhdGEmIGtleSwgY29uc3QgSURCS2V5RGF0YSYgcHJpbWFyeUtleSwg
Y29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiB2YWx1ZURhdGEsIHVpbnQzMl90IGVycm9yQ29kZSwg
Y29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpCkBAIC01MDQsNyArNTA0LDcgQEAgdm9pZCBXZWJJ
REJTZXJ2ZXJDb25uZWN0aW9uOjpkaWRJdGVyYXRlQ3Vyc29yKHVpbnQ2NF90IHJlcXVlc3RJRCwg
Y29uc3QgSURCS2V5RGEKICAgICAgICAgcmV0dXJuOwogCiAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZl
cj4gdmFsdWUgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZSh2YWx1ZURhdGEuZGF0YSgpLCB2YWx1ZURh
dGEuc2l6ZSgpKTsKLSAgICBzZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3Qoa2V5Lm1heWJl
Q3JlYXRlSURCS2V5KCksIHByaW1hcnlLZXkubWF5YmVDcmVhdGVJREJLZXkoKSwgdmFsdWUucmVs
ZWFzZSgpLCBlcnJvckNvZGUgPyBJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoZXJyb3JDb2RlLCBl
cnJvck1lc3NhZ2UpLnB0cigpIDogbnVsbHB0cik7CisgICAgc2VydmVyUmVxdWVzdC0+Y29tcGxl
dGVSZXF1ZXN0KGtleS5tYXliZUNyZWF0ZUlEQktleSgpLCBwcmltYXJ5S2V5Lm1heWJlQ3JlYXRl
SURCS2V5KCksIHZhbHVlLnJlbGVhc2UoKSwgZXJyb3JDb2RlID8gJklEQkRhdGFiYXNlRXJyb3I6
OmNyZWF0ZShlcnJvckNvZGUsIGVycm9yTWVzc2FnZSkubGVha1JlZigpIDogbnVsbHB0cik7CiB9
CiAKIHZvaWQgV2ViSURCU2VydmVyQ29ubmVjdGlvbjo6Y291bnQoSURCVHJhbnNhY3Rpb25CYWNr
ZW5kJiB0cmFuc2FjdGlvbiwgY29uc3QgQ291bnRPcGVyYXRpb24mIG9wZXJhdGlvbiwgc3RkOjpm
dW5jdGlvbjx2b2lkIChpbnQ2NF90LCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+KT4gY29t
cGxldGlvbkNhbGxiYWNrKQpAQCAtNTMzLDcgKzUzMyw3IEBAIHZvaWQgV2ViSURCU2VydmVyQ29u
bmVjdGlvbjo6ZGlkQ291bnQodWludDY0X3QgcmVxdWVzdElELCBpbnQ2NF90IGNvdW50LCB1aW50
MzJfCiAgICAgaWYgKCFzZXJ2ZXJSZXF1ZXN0KQogICAgICAgICByZXR1cm47CiAKLSAgICBzZXJ2
ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3QoY291bnQsIGVycm9yQ29kZSA/IElEQkRhdGFiYXNl
RXJyb3I6OmNyZWF0ZShlcnJvckNvZGUsIGVycm9yTWVzc2FnZSkucHRyKCkgOiBudWxscHRyKTsK
KyAgICBzZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3QoY291bnQsIGVycm9yQ29kZSA/ICZJ
REJEYXRhYmFzZUVycm9yOjpjcmVhdGUoZXJyb3JDb2RlLCBlcnJvck1lc3NhZ2UpLmxlYWtSZWYo
KSA6IG51bGxwdHIpOwogfQogCiB2b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246OmRlbGV0ZVJh
bmdlKElEQlRyYW5zYWN0aW9uQmFja2VuZCYgdHJhbnNhY3Rpb24sIGNvbnN0IERlbGV0ZVJhbmdl
T3BlcmF0aW9uJiBvcGVyYXRpb24sIHN0ZDo6ZnVuY3Rpb248dm9pZCAoUGFzc1JlZlB0cjxJREJE
YXRhYmFzZUVycm9yPik+IGNvbXBsZXRpb25DYWxsYmFjaykKQEAgLTU2Miw3ICs1NjIsNyBAQCB2
b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246OmRpZERlbGV0ZVJhbmdlKHVpbnQ2NF90IHJlcXVl
c3RJRCwgdWludDMyX3QgZXJyb3JDbwogICAgIGlmICghc2VydmVyUmVxdWVzdCkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgc2VydmVyUmVxdWVzdC0+Y29tcGxldGVSZXF1ZXN0KGVycm9yQ29kZSA/
IElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShlcnJvckNvZGUsIGVycm9yTWVzc2FnZSkucHRyKCkg
OiBudWxscHRyKTsKKyAgICBzZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3QoZXJyb3JDb2Rl
ID8gJklEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShlcnJvckNvZGUsIGVycm9yTWVzc2FnZSkubGVh
a1JlZigpIDogbnVsbHB0cik7CiB9CiAKIHZvaWQgV2ViSURCU2VydmVyQ29ubmVjdGlvbjo6Y2xl
YXJPYmplY3RTdG9yZShJREJUcmFuc2FjdGlvbkJhY2tlbmQmLCBjb25zdCBDbGVhck9iamVjdFN0
b3JlT3BlcmF0aW9uJiBvcGVyYXRpb24sIHN0ZDo6ZnVuY3Rpb248dm9pZCAoUGFzc1JlZlB0cjxJ
REJEYXRhYmFzZUVycm9yPik+IGNvbXBsZXRpb25DYWxsYmFjaykKQEAgLTU5MSw3ICs1OTEsNyBA
QCB2b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246OmRpZENsZWFyT2JqZWN0U3RvcmUodWludDY0
X3QgcmVxdWVzdElELCBib29sIHN1Y2NlcwogICAgIGlmICghc2VydmVyUmVxdWVzdCkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgc2VydmVyUmVxdWVzdC0+Y29tcGxldGVSZXF1ZXN0KHN1Y2Nlc3Mg
PyBudWxscHRyIDogSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9u
OjpVbmtub3duRXJyb3IsICJVbmtub3duIGVycm9yIG9jY3VyZWQgY2xlYXJpbmcgb2JqZWN0IHN0
b3JlIikucHRyKCkpOworICAgIHNlcnZlclJlcXVlc3QtPmNvbXBsZXRlUmVxdWVzdChzdWNjZXNz
ID8gbnVsbHB0ciA6ICZJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRp
b246OlVua25vd25FcnJvciwgIlVua25vd24gZXJyb3Igb2NjdXJlZCBjbGVhcmluZyBvYmplY3Qg
c3RvcmUiKS5sZWFrUmVmKCkpOwogfQogCiB2b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246OmRl
bGV0ZU9iamVjdFN0b3JlKElEQlRyYW5zYWN0aW9uQmFja2VuZCYsIGNvbnN0IERlbGV0ZU9iamVj
dFN0b3JlT3BlcmF0aW9uJiBvcGVyYXRpb24sIHN0ZDo6ZnVuY3Rpb248dm9pZCAoUGFzc1JlZlB0
cjxJREJEYXRhYmFzZUVycm9yPik+IGNvbXBsZXRpb25DYWxsYmFjaykKQEAgLTYyMCw3ICs2MjAs
NyBAQCB2b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246OmRpZERlbGV0ZU9iamVjdFN0b3JlKHVp
bnQ2NF90IHJlcXVlc3RJRCwgYm9vbCBzdWNjZQogICAgIGlmICghc2VydmVyUmVxdWVzdCkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgc2VydmVyUmVxdWVzdC0+Y29tcGxldGVSZXF1ZXN0KHN1Y2Nl
c3MgPyBudWxscHRyIDogSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0
aW9uOjpVbmtub3duRXJyb3IsICJVbmtub3duIGVycm9yIG9jY3VyZWQgZGVsZXRpbmcgb2JqZWN0
IHN0b3JlIikucHRyKCkpOworICAgIHNlcnZlclJlcXVlc3QtPmNvbXBsZXRlUmVxdWVzdChzdWNj
ZXNzID8gbnVsbHB0ciA6ICZJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNl
cHRpb246OlVua25vd25FcnJvciwgIlVua25vd24gZXJyb3Igb2NjdXJlZCBkZWxldGluZyBvYmpl
Y3Qgc3RvcmUiKS5sZWFrUmVmKCkpOwogfQogCiB2b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246
OmNoYW5nZURhdGFiYXNlVmVyc2lvbihJREJUcmFuc2FjdGlvbkJhY2tlbmQmLCBjb25zdCBJREJE
YXRhYmFzZUJhY2tlbmQ6OlZlcnNpb25DaGFuZ2VPcGVyYXRpb24mIG9wZXJhdGlvbiwgc3RkOjpm
dW5jdGlvbjx2b2lkIChQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+KT4gY29tcGxldGlvbkNh
bGxiYWNrKQpAQCAtNjQ5LDcgKzY0OSw3IEBAIHZvaWQgV2ViSURCU2VydmVyQ29ubmVjdGlvbjo6
ZGlkQ2hhbmdlRGF0YWJhc2VWZXJzaW9uKHVpbnQ2NF90IHJlcXVlc3RJRCwgYm9vbCBzCiAgICAg
aWYgKCFzZXJ2ZXJSZXF1ZXN0KQogICAgICAgICByZXR1cm47CiAKLSAgICBzZXJ2ZXJSZXF1ZXN0
LT5jb21wbGV0ZVJlcXVlc3Qoc3VjY2VzcyA/IG51bGxwdHIgOiBJREJEYXRhYmFzZUVycm9yOjpj
cmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJvciwgIlVua25vd24gZXJyb3Ig
b2NjdXJlZCBjaGFuZ2luZyBkYXRhYmFzZSB2ZXJzaW9uIikucHRyKCkpOworICAgIHNlcnZlclJl
cXVlc3QtPmNvbXBsZXRlUmVxdWVzdChzdWNjZXNzID8gbnVsbHB0ciA6ICZJREJEYXRhYmFzZUVy
cm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJvciwgIlVua25vd24g
ZXJyb3Igb2NjdXJlZCBjaGFuZ2luZyBkYXRhYmFzZSB2ZXJzaW9uIikubGVha1JlZigpKTsKIH0K
IAogdm9pZCBXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpvcGVuQ3Vyc29yKElEQlRyYW5zYWN0aW9u
QmFja2VuZCYsIGNvbnN0IE9wZW5DdXJzb3JPcGVyYXRpb24mIG9wZXJhdGlvbiwgc3RkOjpmdW5j
dGlvbjx2b2lkIChpbnQ2NF90LCBQYXNzUmVmUHRyPElEQktleT4sIFBhc3NSZWZQdHI8SURCS2V5
PiwgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+LCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+
KT4gY29tcGxldGlvbkNhbGxiYWNrKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254059</attachid>
            <date>2015-06-01 23:42:34 -0700</date>
            <delta_ts>2015-06-03 21:49:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145549-20150602154215.patch</filename>
            <type>text/plain</type>
            <size>11252</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1MTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDhiZWMzM2NlNGRjNmVl
Mjk2MzFiMjc3ZTA2OGE3NTNmY2FjNmM1OC4uOWQyZGMwZDZjOWU5ZmEwNzFjOTJkMWJjMTZmYTM0
YzUyYTE3NzJmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE1LTA2LTAxICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSRUdSRVNTSU9O
KHIxODUwOTEpOiBDcmFzaCBoYXBwZW5zIG9uIGluZGV4ZGIgdGVzdHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTU0OQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHIxODUwOTEgY2F1c2VkIGNyYXNoIG9u
IHNvbWUgaW5kZXhlZGRiIHRlc3RzLiBUaGUgY3Jhc2ggaGFwcGVucyBiZWNhdXNlIElEQkRhdGFi
YXNlRXJyb3I6OmNyZWF0ZSgpIGRvZXNuJ3QKKyAgICAgICAgZGVyZWZlcmVuY2UgY291bnQgYnkg
dXNpbmcgcHRyKCkuIEl0IG1ha2VzIGEgY3Jhc2ggd2hlbiBkZXJlZmVyZW5jaW5nIG9uIH5SZWYo
KSBkZXN0cnVjdG9yLiBUbyBmaXggdGhpcyBpc3N1ZSwKKyAgICAgICAgdGhpcyBwYXRjaCB1c2Vz
IGxlYWtSZWYoKSBpbnN0ZWFkIG9mIHB0cigpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9EYXRh
YmFzZXMvSW5kZXhlZERCL1dlYklEQlNlcnZlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpkaWRDcmVhdGVPYmplY3RTdG9yZSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYklEQlNlcnZlckNvbm5lY3Rpb246OmRpZENyZWF0ZUluZGV4KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViSURCU2VydmVyQ29ubmVjdGlvbjo6ZGlkRGVsZXRlSW5kZXgpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpkaWRQdXRSZWNvcmQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpkaWRHZXRSZWNvcmQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpkaWRPcGVuQ3Vyc29yKToK
KyAgICAgICAgKFdlYktpdDo6V2ViSURCU2VydmVyQ29ubmVjdGlvbjo6ZGlkQWR2YW5jZUN1cnNv
cik6CisgICAgICAgIChXZWJLaXQ6OldlYklEQlNlcnZlckNvbm5lY3Rpb246OmRpZEl0ZXJhdGVD
dXJzb3IpOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpkaWRDb3Vu
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYklEQlNlcnZlckNvbm5lY3Rpb246OmRpZERlbGV0ZVJh
bmdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCU2VydmVyQ29ubmVjdGlvbjo6ZGlkQ2xlYXJP
YmplY3RTdG9yZSk6CisgICAgICAgIChXZWJLaXQ6OldlYklEQlNlcnZlckNvbm5lY3Rpb246OmRp
ZERlbGV0ZU9iamVjdFN0b3JlKToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCU2VydmVyQ29ubmVj
dGlvbjo6ZGlkQ2hhbmdlRGF0YWJhc2VWZXJzaW9uKToKKwogMjAxNS0wNi0wMSAgRW5yaWNhIENh
c3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIEhhcmR3YXJlIEtleWJv
YXJkOiBBbGwgY29tYmluYXRpb25zIGZvciBhcnJvdyBrZXlzIHdpdGggU2hpZnQgZG8gbm90IGV4
dGVuZCB0aGUgc2VsZWN0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQlNlcnZlckNvbm5lY3Rpb24uY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQlNlcnZlckNvbm5l
Y3Rpb24uY3BwCmluZGV4IDM3YjJlYjI4MGUwY2U1NzM0YTFkMGRhZjk5MWZkNTI0NDdhMmY1ZTEu
LjZhOGQ5NjczOTczYTY1NDZhOTQ2MGRkMzkwZTIzMDM4MzQ5MmJlMjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXJD
b25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9J
bmRleGVkREIvV2ViSURCU2VydmVyQ29ubmVjdGlvbi5jcHAKQEAgLTMzNiw3ICszMzYsNyBAQCB2
b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246OmRpZENyZWF0ZU9iamVjdFN0b3JlKHVpbnQ2NF90
IHJlcXVlc3RJRCwgYm9vbCBzdWNjZQogICAgIGlmICghc2VydmVyUmVxdWVzdCkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgc2VydmVyUmVxdWVzdC0+Y29tcGxldGVSZXF1ZXN0KHN1Y2Nlc3MgPyBu
dWxscHRyIDogSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpV
bmtub3duRXJyb3IsICJVbmtub3duIGVycm9yIG9jY3VyZWQgY3JlYXRpbmcgb2JqZWN0IHN0b3Jl
IikucHRyKCkpOworICAgIHNlcnZlclJlcXVlc3QtPmNvbXBsZXRlUmVxdWVzdChzdWNjZXNzID8g
bnVsbHB0ciA6ICZJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246
OlVua25vd25FcnJvciwgIlVua25vd24gZXJyb3Igb2NjdXJlZCBjcmVhdGluZyBvYmplY3Qgc3Rv
cmUiKS5sZWFrUmVmKCkpOwogfQogCiB2b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246OmNyZWF0
ZUluZGV4KElEQlRyYW5zYWN0aW9uQmFja2VuZCZ0cmFuc2FjdGlvbiwgY29uc3QgQ3JlYXRlSW5k
ZXhPcGVyYXRpb24mIG9wZXJhdGlvbiwgc3RkOjpmdW5jdGlvbjx2b2lkIChQYXNzUmVmUHRyPElE
QkRhdGFiYXNlRXJyb3I+KT4gY29tcGxldGlvbkNhbGxiYWNrKQpAQCAtMzY1LDcgKzM2NSw3IEBA
IHZvaWQgV2ViSURCU2VydmVyQ29ubmVjdGlvbjo6ZGlkQ3JlYXRlSW5kZXgodWludDY0X3QgcmVx
dWVzdElELCBib29sIHN1Y2Nlc3MpCiAgICAgaWYgKCFzZXJ2ZXJSZXF1ZXN0KQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBzZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3Qoc3VjY2VzcyA/IG51
bGxwdHIgOiBJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVu
a25vd25FcnJvciwgIlVua25vd24gZXJyb3Igb2NjdXJlZCBjcmVhdGluZyBpbmRleCIpLnB0cigp
KTsKKyAgICBzZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3Qoc3VjY2VzcyA/IG51bGxwdHIg
OiAmSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3du
RXJyb3IsICJVbmtub3duIGVycm9yIG9jY3VyZWQgY3JlYXRpbmcgaW5kZXgiKS5sZWFrUmVmKCkp
OwogfQogCiB2b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246OmRlbGV0ZUluZGV4KElEQlRyYW5z
YWN0aW9uQmFja2VuZCZ0cmFuc2FjdGlvbiwgY29uc3QgRGVsZXRlSW5kZXhPcGVyYXRpb24mIG9w
ZXJhdGlvbiwgc3RkOjpmdW5jdGlvbjx2b2lkIChQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+
KT4gY29tcGxldGlvbkNhbGxiYWNrKQpAQCAtMzk0LDcgKzM5NCw3IEBAIHZvaWQgV2ViSURCU2Vy
dmVyQ29ubmVjdGlvbjo6ZGlkRGVsZXRlSW5kZXgodWludDY0X3QgcmVxdWVzdElELCBib29sIHN1
Y2Nlc3MpCiAgICAgaWYgKCFzZXJ2ZXJSZXF1ZXN0KQogICAgICAgICByZXR1cm47CiAKLSAgICBz
ZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3Qoc3VjY2VzcyA/IG51bGxwdHIgOiBJREJEYXRh
YmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJvciwgIlVu
a25vd24gZXJyb3Igb2NjdXJlZCBkZWxldGluZyBpbmRleCIpLnB0cigpKTsKKyAgICBzZXJ2ZXJS
ZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3Qoc3VjY2VzcyA/IG51bGxwdHIgOiAmSURCRGF0YWJhc2VF
cnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsICJVbmtub3du
IGVycm9yIG9jY3VyZWQgZGVsZXRpbmcgaW5kZXgiKS5sZWFrUmVmKCkpOwogfQogCiB2b2lkIFdl
YklEQlNlcnZlckNvbm5lY3Rpb246OmdldChJREJUcmFuc2FjdGlvbkJhY2tlbmQmIHRyYW5zYWN0
aW9uLCBjb25zdCBHZXRPcGVyYXRpb24mIG9wZXJhdGlvbiwgc3RkOjpmdW5jdGlvbjx2b2lkIChj
b25zdCBJREJHZXRSZXN1bHQmLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+KT4gY29tcGxl
dGlvbkNhbGxiYWNrKQpAQCAtNDUzLDcgKzQ1Myw3IEBAIHZvaWQgV2ViSURCU2VydmVyQ29ubmVj
dGlvbjo6ZGlkUHV0UmVjb3JkKHVpbnQ2NF90IHJlcXVlc3RJRCwgY29uc3QgV2ViQ29yZTo6SURC
CiAgICAgaWYgKCFzZXJ2ZXJSZXF1ZXN0KQogICAgICAgICByZXR1cm47CiAKLSAgICBzZXJ2ZXJS
ZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3QocmVzdWx0S2V5LmlzTnVsbCA/IG51bGxwdHIgOiByZXN1
bHRLZXkubWF5YmVDcmVhdGVJREJLZXkoKSwgZXJyb3JDb2RlID8gSURCRGF0YWJhc2VFcnJvcjo6
Y3JlYXRlKGVycm9yQ29kZSwgZXJyb3JNZXNzYWdlKS5wdHIoKSA6IG51bGxwdHIpOworICAgIHNl
cnZlclJlcXVlc3QtPmNvbXBsZXRlUmVxdWVzdChyZXN1bHRLZXkuaXNOdWxsID8gbnVsbHB0ciA6
IHJlc3VsdEtleS5tYXliZUNyZWF0ZUlEQktleSgpLCBlcnJvckNvZGUgPyAmSURCRGF0YWJhc2VF
cnJvcjo6Y3JlYXRlKGVycm9yQ29kZSwgZXJyb3JNZXNzYWdlKS5sZWFrUmVmKCkgOiBudWxscHRy
KTsKIH0KIAogdm9pZCBXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpkaWRHZXRSZWNvcmQodWludDY0
X3QgcmVxdWVzdElELCBjb25zdCBXZWJDb3JlOjpJREJHZXRSZXN1bHQmIGdldFJlc3VsdCwgdWlu
dDMyX3QgZXJyb3JDb2RlLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSkKQEAgLTQ2NSw3ICs0
NjUsNyBAQCB2b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246OmRpZEdldFJlY29yZCh1aW50NjRf
dCByZXF1ZXN0SUQsIGNvbnN0IFdlYkNvcmU6OklEQgogICAgIGlmICghc2VydmVyUmVxdWVzdCkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgc2VydmVyUmVxdWVzdC0+Y29tcGxldGVSZXF1ZXN0KGdl
dFJlc3VsdCwgZXJyb3JDb2RlID8gSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKGVycm9yQ29kZSwg
ZXJyb3JNZXNzYWdlKS5wdHIoKSA6IG51bGxwdHIpOworICAgIHNlcnZlclJlcXVlc3QtPmNvbXBs
ZXRlUmVxdWVzdChnZXRSZXN1bHQsIGVycm9yQ29kZSA/ICZJREJEYXRhYmFzZUVycm9yOjpjcmVh
dGUoZXJyb3JDb2RlLCBlcnJvck1lc3NhZ2UpLmxlYWtSZWYoKSA6IG51bGxwdHIpOwogfQogCiB2
b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246OmRpZE9wZW5DdXJzb3IodWludDY0X3QgcmVxdWVz
dElELCBpbnQ2NF90IGN1cnNvcklELCBjb25zdCBJREJLZXlEYXRhJiBrZXksIGNvbnN0IElEQktl
eURhdGEmIHByaW1hcnlLZXksIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgdmFsdWVEYXRhLCB1
aW50MzJfdCBlcnJvckNvZGUsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKQpAQCAtNDc4LDcg
KzQ3OCw3IEBAIHZvaWQgV2ViSURCU2VydmVyQ29ubmVjdGlvbjo6ZGlkT3BlbkN1cnNvcih1aW50
NjRfdCByZXF1ZXN0SUQsIGludDY0X3QgY3Vyc29ySUQsCiAgICAgICAgIHJldHVybjsKIAogICAg
IFJlZlB0cjxTaGFyZWRCdWZmZXI+IHZhbHVlID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUodmFsdWVE
YXRhLmRhdGEoKSwgdmFsdWVEYXRhLnNpemUoKSk7Ci0gICAgc2VydmVyUmVxdWVzdC0+Y29tcGxl
dGVSZXF1ZXN0KGN1cnNvcklELCBrZXkubWF5YmVDcmVhdGVJREJLZXkoKSwgcHJpbWFyeUtleS5t
YXliZUNyZWF0ZUlEQktleSgpLCB2YWx1ZS5yZWxlYXNlKCksIGVycm9yQ29kZSA/IElEQkRhdGFi
YXNlRXJyb3I6OmNyZWF0ZShlcnJvckNvZGUsIGVycm9yTWVzc2FnZSkucHRyKCkgOiBudWxscHRy
KTsKKyAgICBzZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3QoY3Vyc29ySUQsIGtleS5tYXli
ZUNyZWF0ZUlEQktleSgpLCBwcmltYXJ5S2V5Lm1heWJlQ3JlYXRlSURCS2V5KCksIHZhbHVlLnJl
bGVhc2UoKSwgZXJyb3JDb2RlID8gJklEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShlcnJvckNvZGUs
IGVycm9yTWVzc2FnZSkubGVha1JlZigpIDogbnVsbHB0cik7CiB9CiAKIHZvaWQgV2ViSURCU2Vy
dmVyQ29ubmVjdGlvbjo6ZGlkQWR2YW5jZUN1cnNvcih1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0
IElEQktleURhdGEmIGtleSwgY29uc3QgSURCS2V5RGF0YSYgcHJpbWFyeUtleSwgY29uc3QgSVBD
OjpEYXRhUmVmZXJlbmNlJiB2YWx1ZURhdGEsIHVpbnQzMl90IGVycm9yQ29kZSwgY29uc3QgU3Ry
aW5nJiBlcnJvck1lc3NhZ2UpCkBAIC00OTEsNyArNDkxLDcgQEAgdm9pZCBXZWJJREJTZXJ2ZXJD
b25uZWN0aW9uOjpkaWRBZHZhbmNlQ3Vyc29yKHVpbnQ2NF90IHJlcXVlc3RJRCwgY29uc3QgSURC
S2V5RGEKICAgICAgICAgcmV0dXJuOwogCiAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gdmFsdWUg
PSBTaGFyZWRCdWZmZXI6OmNyZWF0ZSh2YWx1ZURhdGEuZGF0YSgpLCB2YWx1ZURhdGEuc2l6ZSgp
KTsKLSAgICBzZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3Qoa2V5Lm1heWJlQ3JlYXRlSURC
S2V5KCksIHByaW1hcnlLZXkubWF5YmVDcmVhdGVJREJLZXkoKSwgdmFsdWUucmVsZWFzZSgpLCBl
cnJvckNvZGUgPyBJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoZXJyb3JDb2RlLCBlcnJvck1lc3Nh
Z2UpLnB0cigpIDogbnVsbHB0cik7CisgICAgc2VydmVyUmVxdWVzdC0+Y29tcGxldGVSZXF1ZXN0
KGtleS5tYXliZUNyZWF0ZUlEQktleSgpLCBwcmltYXJ5S2V5Lm1heWJlQ3JlYXRlSURCS2V5KCks
IHZhbHVlLnJlbGVhc2UoKSwgZXJyb3JDb2RlID8gJklEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShl
cnJvckNvZGUsIGVycm9yTWVzc2FnZSkubGVha1JlZigpIDogbnVsbHB0cik7CiB9CiAKIHZvaWQg
V2ViSURCU2VydmVyQ29ubmVjdGlvbjo6ZGlkSXRlcmF0ZUN1cnNvcih1aW50NjRfdCByZXF1ZXN0
SUQsIGNvbnN0IElEQktleURhdGEmIGtleSwgY29uc3QgSURCS2V5RGF0YSYgcHJpbWFyeUtleSwg
Y29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiB2YWx1ZURhdGEsIHVpbnQzMl90IGVycm9yQ29kZSwg
Y29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpCkBAIC01MDQsNyArNTA0LDcgQEAgdm9pZCBXZWJJ
REJTZXJ2ZXJDb25uZWN0aW9uOjpkaWRJdGVyYXRlQ3Vyc29yKHVpbnQ2NF90IHJlcXVlc3RJRCwg
Y29uc3QgSURCS2V5RGEKICAgICAgICAgcmV0dXJuOwogCiAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZl
cj4gdmFsdWUgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZSh2YWx1ZURhdGEuZGF0YSgpLCB2YWx1ZURh
dGEuc2l6ZSgpKTsKLSAgICBzZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3Qoa2V5Lm1heWJl
Q3JlYXRlSURCS2V5KCksIHByaW1hcnlLZXkubWF5YmVDcmVhdGVJREJLZXkoKSwgdmFsdWUucmVs
ZWFzZSgpLCBlcnJvckNvZGUgPyBJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoZXJyb3JDb2RlLCBl
cnJvck1lc3NhZ2UpLnB0cigpIDogbnVsbHB0cik7CisgICAgc2VydmVyUmVxdWVzdC0+Y29tcGxl
dGVSZXF1ZXN0KGtleS5tYXliZUNyZWF0ZUlEQktleSgpLCBwcmltYXJ5S2V5Lm1heWJlQ3JlYXRl
SURCS2V5KCksIHZhbHVlLnJlbGVhc2UoKSwgZXJyb3JDb2RlID8gJklEQkRhdGFiYXNlRXJyb3I6
OmNyZWF0ZShlcnJvckNvZGUsIGVycm9yTWVzc2FnZSkubGVha1JlZigpIDogbnVsbHB0cik7CiB9
CiAKIHZvaWQgV2ViSURCU2VydmVyQ29ubmVjdGlvbjo6Y291bnQoSURCVHJhbnNhY3Rpb25CYWNr
ZW5kJiB0cmFuc2FjdGlvbiwgY29uc3QgQ291bnRPcGVyYXRpb24mIG9wZXJhdGlvbiwgc3RkOjpm
dW5jdGlvbjx2b2lkIChpbnQ2NF90LCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+KT4gY29t
cGxldGlvbkNhbGxiYWNrKQpAQCAtNTMzLDcgKzUzMyw3IEBAIHZvaWQgV2ViSURCU2VydmVyQ29u
bmVjdGlvbjo6ZGlkQ291bnQodWludDY0X3QgcmVxdWVzdElELCBpbnQ2NF90IGNvdW50LCB1aW50
MzJfCiAgICAgaWYgKCFzZXJ2ZXJSZXF1ZXN0KQogICAgICAgICByZXR1cm47CiAKLSAgICBzZXJ2
ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3QoY291bnQsIGVycm9yQ29kZSA/IElEQkRhdGFiYXNl
RXJyb3I6OmNyZWF0ZShlcnJvckNvZGUsIGVycm9yTWVzc2FnZSkucHRyKCkgOiBudWxscHRyKTsK
KyAgICBzZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3QoY291bnQsIGVycm9yQ29kZSA/ICZJ
REJEYXRhYmFzZUVycm9yOjpjcmVhdGUoZXJyb3JDb2RlLCBlcnJvck1lc3NhZ2UpLmxlYWtSZWYo
KSA6IG51bGxwdHIpOwogfQogCiB2b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246OmRlbGV0ZVJh
bmdlKElEQlRyYW5zYWN0aW9uQmFja2VuZCYgdHJhbnNhY3Rpb24sIGNvbnN0IERlbGV0ZVJhbmdl
T3BlcmF0aW9uJiBvcGVyYXRpb24sIHN0ZDo6ZnVuY3Rpb248dm9pZCAoUGFzc1JlZlB0cjxJREJE
YXRhYmFzZUVycm9yPik+IGNvbXBsZXRpb25DYWxsYmFjaykKQEAgLTU2Miw3ICs1NjIsNyBAQCB2
b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246OmRpZERlbGV0ZVJhbmdlKHVpbnQ2NF90IHJlcXVl
c3RJRCwgdWludDMyX3QgZXJyb3JDbwogICAgIGlmICghc2VydmVyUmVxdWVzdCkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgc2VydmVyUmVxdWVzdC0+Y29tcGxldGVSZXF1ZXN0KGVycm9yQ29kZSA/
IElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShlcnJvckNvZGUsIGVycm9yTWVzc2FnZSkucHRyKCkg
OiBudWxscHRyKTsKKyAgICBzZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3QoZXJyb3JDb2Rl
ID8gJklEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShlcnJvckNvZGUsIGVycm9yTWVzc2FnZSkubGVh
a1JlZigpIDogbnVsbHB0cik7CiB9CiAKIHZvaWQgV2ViSURCU2VydmVyQ29ubmVjdGlvbjo6Y2xl
YXJPYmplY3RTdG9yZShJREJUcmFuc2FjdGlvbkJhY2tlbmQmLCBjb25zdCBDbGVhck9iamVjdFN0
b3JlT3BlcmF0aW9uJiBvcGVyYXRpb24sIHN0ZDo6ZnVuY3Rpb248dm9pZCAoUGFzc1JlZlB0cjxJ
REJEYXRhYmFzZUVycm9yPik+IGNvbXBsZXRpb25DYWxsYmFjaykKQEAgLTU5MSw3ICs1OTEsNyBA
QCB2b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246OmRpZENsZWFyT2JqZWN0U3RvcmUodWludDY0
X3QgcmVxdWVzdElELCBib29sIHN1Y2NlcwogICAgIGlmICghc2VydmVyUmVxdWVzdCkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgc2VydmVyUmVxdWVzdC0+Y29tcGxldGVSZXF1ZXN0KHN1Y2Nlc3Mg
PyBudWxscHRyIDogSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9u
OjpVbmtub3duRXJyb3IsICJVbmtub3duIGVycm9yIG9jY3VyZWQgY2xlYXJpbmcgb2JqZWN0IHN0
b3JlIikucHRyKCkpOworICAgIHNlcnZlclJlcXVlc3QtPmNvbXBsZXRlUmVxdWVzdChzdWNjZXNz
ID8gbnVsbHB0ciA6ICZJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRp
b246OlVua25vd25FcnJvciwgIlVua25vd24gZXJyb3Igb2NjdXJlZCBjbGVhcmluZyBvYmplY3Qg
c3RvcmUiKS5sZWFrUmVmKCkpOwogfQogCiB2b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246OmRl
bGV0ZU9iamVjdFN0b3JlKElEQlRyYW5zYWN0aW9uQmFja2VuZCYsIGNvbnN0IERlbGV0ZU9iamVj
dFN0b3JlT3BlcmF0aW9uJiBvcGVyYXRpb24sIHN0ZDo6ZnVuY3Rpb248dm9pZCAoUGFzc1JlZlB0
cjxJREJEYXRhYmFzZUVycm9yPik+IGNvbXBsZXRpb25DYWxsYmFjaykKQEAgLTYyMCw3ICs2MjAs
NyBAQCB2b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246OmRpZERlbGV0ZU9iamVjdFN0b3JlKHVp
bnQ2NF90IHJlcXVlc3RJRCwgYm9vbCBzdWNjZQogICAgIGlmICghc2VydmVyUmVxdWVzdCkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgc2VydmVyUmVxdWVzdC0+Y29tcGxldGVSZXF1ZXN0KHN1Y2Nl
c3MgPyBudWxscHRyIDogSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0
aW9uOjpVbmtub3duRXJyb3IsICJVbmtub3duIGVycm9yIG9jY3VyZWQgZGVsZXRpbmcgb2JqZWN0
IHN0b3JlIikucHRyKCkpOworICAgIHNlcnZlclJlcXVlc3QtPmNvbXBsZXRlUmVxdWVzdChzdWNj
ZXNzID8gbnVsbHB0ciA6ICZJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNl
cHRpb246OlVua25vd25FcnJvciwgIlVua25vd24gZXJyb3Igb2NjdXJlZCBkZWxldGluZyBvYmpl
Y3Qgc3RvcmUiKS5sZWFrUmVmKCkpOwogfQogCiB2b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246
OmNoYW5nZURhdGFiYXNlVmVyc2lvbihJREJUcmFuc2FjdGlvbkJhY2tlbmQmLCBjb25zdCBJREJE
YXRhYmFzZUJhY2tlbmQ6OlZlcnNpb25DaGFuZ2VPcGVyYXRpb24mIG9wZXJhdGlvbiwgc3RkOjpm
dW5jdGlvbjx2b2lkIChQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+KT4gY29tcGxldGlvbkNh
bGxiYWNrKQpAQCAtNjQ5LDcgKzY0OSw3IEBAIHZvaWQgV2ViSURCU2VydmVyQ29ubmVjdGlvbjo6
ZGlkQ2hhbmdlRGF0YWJhc2VWZXJzaW9uKHVpbnQ2NF90IHJlcXVlc3RJRCwgYm9vbCBzCiAgICAg
aWYgKCFzZXJ2ZXJSZXF1ZXN0KQogICAgICAgICByZXR1cm47CiAKLSAgICBzZXJ2ZXJSZXF1ZXN0
LT5jb21wbGV0ZVJlcXVlc3Qoc3VjY2VzcyA/IG51bGxwdHIgOiBJREJEYXRhYmFzZUVycm9yOjpj
cmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJvciwgIlVua25vd24gZXJyb3Ig
b2NjdXJlZCBjaGFuZ2luZyBkYXRhYmFzZSB2ZXJzaW9uIikucHRyKCkpOworICAgIHNlcnZlclJl
cXVlc3QtPmNvbXBsZXRlUmVxdWVzdChzdWNjZXNzID8gbnVsbHB0ciA6ICZJREJEYXRhYmFzZUVy
cm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJvciwgIlVua25vd24g
ZXJyb3Igb2NjdXJlZCBjaGFuZ2luZyBkYXRhYmFzZSB2ZXJzaW9uIikubGVha1JlZigpKTsKIH0K
IAogdm9pZCBXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpvcGVuQ3Vyc29yKElEQlRyYW5zYWN0aW9u
QmFja2VuZCYsIGNvbnN0IE9wZW5DdXJzb3JPcGVyYXRpb24mIG9wZXJhdGlvbiwgc3RkOjpmdW5j
dGlvbjx2b2lkIChpbnQ2NF90LCBQYXNzUmVmUHRyPElEQktleT4sIFBhc3NSZWZQdHI8SURCS2V5
PiwgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+LCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+
KT4gY29tcGxldGlvbkNhbGxiYWNrKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254244</attachid>
            <date>2015-06-03 21:50:06 -0700</date>
            <delta_ts>2015-06-04 18:32:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145549-20150604134944.patch</filename>
            <type>text/plain</type>
            <size>13039</size>
            <attacher name="Gyuyoung Kim">gyuyoung.kim</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1MTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTFiNTQzNDI4YTE4MTQ0
NDU2ZDBkYzA0NzU2NjVkODBhOTY1OGYxMy4uZWRmZjFhM2I0MWQ2OGZiOGE0OWE0YWM0MjQzNWI5
Zjk1ZGQ2NjU5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE1LTA2LTAzICBHeXV5
b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSRUdSRVNTSU9O
KHIxODUwOTEpOiBDcmFzaCBoYXBwZW5zIG9uIGluZGV4ZGIgdGVzdHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTU0OQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURC
RGF0YWJhc2VFcnJvci5oOgorICAgICAgICAoV2ViQ29yZTo6SURCRGF0YWJhc2VFcnJvcjo6Y3Jl
YXRlKTogUmV2ZXJ0IFJlZiB1c2FnZSBvZiBJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoKS4KKwog
MjAxNS0wNi0wMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJlbW92ZSBkZWFkIGNvZGUgRm9udFBsYXRmb3JtRGF0YTo6cm91bmRzR2x5cGhBZHZh
bmNlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKaW5kZXggNGMzZWZhOTM0NDI2MTMxZDllOWNkMDY0ZmRhNjRlODA5OWQy
MTU1MC4uNmFkZGIwNjU2YjUxNDc3MDI5OTQ0ZjM5OTJmNGNmNDNlNDM1ZGQ5ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI1IEBACisyMDE1LTA2LTAzICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5r
aW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBSRUdSRVNTSU9OKHIxODUwOTEpOiBDcmFzaCBoYXBw
ZW5zIG9uIGluZGV4ZGIgdGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0NTU0OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQlNlcnZl
ckNvbm5lY3Rpb24uY3BwOiBSZW1vdmUgbGVha1JlZigpIHVzZS4KKyAgICAgICAgKFdlYktpdDo6
V2ViSURCU2VydmVyQ29ubmVjdGlvbjo6ZGlkQ3JlYXRlT2JqZWN0U3RvcmUpOgorICAgICAgICAo
V2ViS2l0OjpXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpkaWRDcmVhdGVJbmRleCk6CisgICAgICAg
IChXZWJLaXQ6OldlYklEQlNlcnZlckNvbm5lY3Rpb246OmRpZERlbGV0ZUluZGV4KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViSURCU2VydmVyQ29ubmVjdGlvbjo6ZGlkUHV0UmVjb3JkKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViSURCU2VydmVyQ29ubmVjdGlvbjo6ZGlkR2V0UmVjb3JkKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViSURCU2VydmVyQ29ubmVjdGlvbjo6ZGlkT3BlbkN1cnNvcik6CisgICAg
ICAgIChXZWJLaXQ6OldlYklEQlNlcnZlckNvbm5lY3Rpb246OmRpZEFkdmFuY2VDdXJzb3IpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpkaWRJdGVyYXRlQ3Vyc29y
KToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCU2VydmVyQ29ubmVjdGlvbjo6ZGlkQ291bnQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpkaWREZWxldGVSYW5nZSk6
CisgICAgICAgIChXZWJLaXQ6OldlYklEQlNlcnZlckNvbm5lY3Rpb246OmRpZENsZWFyT2JqZWN0
U3RvcmUpOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpkaWREZWxl
dGVPYmplY3RTdG9yZSk6CisgICAgICAgIChXZWJLaXQ6OldlYklEQlNlcnZlckNvbm5lY3Rpb246
OmRpZENoYW5nZURhdGFiYXNlVmVyc2lvbik6CisKIDIwMTUtMDYtMDMgIEFuZGVycyBDYXJsc3Nv
biAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgU1BJIHRoYXQgcmV0dXJucyB0
aGUgc25hcHNob3QgbGF5ZXIgY29udGVudHMgZm9yIGEgZ2l2ZW4gYmFjay9mb3J3YXJkIGxpc3Qg
aXRlbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0
YWJhc2VFcnJvci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJh
c2VFcnJvci5oCmluZGV4IDhmYjQ1OWRmMjk0NmM5OGNlZmFhZDYxNTBmOTNlNmJhYzc0NzVmMjIu
LjdhOTM5YjViNjBmNDE3YzBhY2EyMDNhNDA4NzYxMGZiZjRhNzc2MDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlRXJyb3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUVycm9yLmgKQEAgLTM3
LDE4ICszNywxOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIElEQkRhdGFiYXNlRXJy
b3IgOiBwdWJsaWMgUmVmQ291bnRlZDxJREJEYXRhYmFzZUVycm9yPiB7CiBwdWJsaWM6Ci0gICAg
c3RhdGljIFJlZjxJREJEYXRhYmFzZUVycm9yPiBjcmVhdGUodW5zaWduZWQgc2hvcnQgY29kZSkK
KyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVycm9yPiBjcmVhdGUodW5zaWduZWQg
c2hvcnQgY29kZSkKICAgICB7CiAgICAgICAgIEFTU0VSVChjb2RlID49IElEQkRhdGFiYXNlRXhj
ZXB0aW9uOjpJREJEYXRhYmFzZUV4Y2VwdGlvbk9mZnNldCk7CiAgICAgICAgIEFTU0VSVChjb2Rl
IDwgSURCRGF0YWJhc2VFeGNlcHRpb246OklEQkRhdGFiYXNlRXhjZXB0aW9uTWF4KTsKLSAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSURCRGF0YWJhc2VFcnJvcihjb2RlKSk7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgSURCRGF0YWJhc2VFcnJvcihjb2RlKSk7CiAgICAgfQogCi0g
ICAgc3RhdGljIFJlZjxJREJEYXRhYmFzZUVycm9yPiBjcmVhdGUodW5zaWduZWQgc2hvcnQgY29k
ZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPElEQkRhdGFi
YXNlRXJyb3I+IGNyZWF0ZSh1bnNpZ25lZCBzaG9ydCBjb2RlLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UpCiAgICAgewogICAgICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKGNvZGUgPj0gSURCRGF0YWJh
c2VFeGNlcHRpb246OklEQkRhdGFiYXNlRXhjZXB0aW9uT2Zmc2V0LCAiJWQgPj0gJWQiLCBjb2Rl
LCBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SURCRGF0YWJhc2VFeGNlcHRpb25PZmZzZXQpOwogICAg
ICAgICBBU1NFUlQoY29kZSA8IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJREJEYXRhYmFzZUV4Y2Vw
dGlvbk1heCk7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IElEQkRhdGFiYXNlRXJyb3Io
Y29kZSwgbWVzc2FnZSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IElEQkRhdGFiYXNl
RXJyb3IoY29kZSwgbWVzc2FnZSkpOwogICAgIH0KIAogICAgIH5JREJEYXRhYmFzZUVycm9yKCkg
eyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRl
eGVkREIvV2ViSURCU2VydmVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCU2VydmVyQ29ubmVjdGlvbi5jcHAKaW5kZXgg
NmE4ZDk2NzM5NzNhNjU0NmE5NDYwZGQzOTBlMjMwMzgzNDkyYmUyOS4uMGUwN2IyZjIzODkwYjk4
MzdkNzRkZTY4YjdkMzIxZWM4MWIwOGM5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQlNlcnZlckNvbm5lY3Rpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJT
ZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtMzM2LDcgKzMzNiw3IEBAIHZvaWQgV2ViSURCU2VydmVy
Q29ubmVjdGlvbjo6ZGlkQ3JlYXRlT2JqZWN0U3RvcmUodWludDY0X3QgcmVxdWVzdElELCBib29s
IHN1Y2NlCiAgICAgaWYgKCFzZXJ2ZXJSZXF1ZXN0KQogICAgICAgICByZXR1cm47CiAKLSAgICBz
ZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3Qoc3VjY2VzcyA/IG51bGxwdHIgOiAmSURCRGF0
YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsICJV
bmtub3duIGVycm9yIG9jY3VyZWQgY3JlYXRpbmcgb2JqZWN0IHN0b3JlIikubGVha1JlZigpKTsK
KyAgICBzZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3Qoc3VjY2VzcyA/IG51bGxwdHIgOiBJ
REJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJv
ciwgIlVua25vd24gZXJyb3Igb2NjdXJlZCBjcmVhdGluZyBvYmplY3Qgc3RvcmUiKSk7CiB9CiAK
IHZvaWQgV2ViSURCU2VydmVyQ29ubmVjdGlvbjo6Y3JlYXRlSW5kZXgoSURCVHJhbnNhY3Rpb25C
YWNrZW5kJnRyYW5zYWN0aW9uLCBjb25zdCBDcmVhdGVJbmRleE9wZXJhdGlvbiYgb3BlcmF0aW9u
LCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKFBhc3NSZWZQdHI8SURCRGF0YWJhc2VFcnJvcj4pPiBjb21w
bGV0aW9uQ2FsbGJhY2spCkBAIC0zNjUsNyArMzY1LDcgQEAgdm9pZCBXZWJJREJTZXJ2ZXJDb25u
ZWN0aW9uOjpkaWRDcmVhdGVJbmRleCh1aW50NjRfdCByZXF1ZXN0SUQsIGJvb2wgc3VjY2VzcykK
ICAgICBpZiAoIXNlcnZlclJlcXVlc3QpCiAgICAgICAgIHJldHVybjsKIAotICAgIHNlcnZlclJl
cXVlc3QtPmNvbXBsZXRlUmVxdWVzdChzdWNjZXNzID8gbnVsbHB0ciA6ICZJREJEYXRhYmFzZUVy
cm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJvciwgIlVua25vd24g
ZXJyb3Igb2NjdXJlZCBjcmVhdGluZyBpbmRleCIpLmxlYWtSZWYoKSk7CisgICAgc2VydmVyUmVx
dWVzdC0+Y29tcGxldGVSZXF1ZXN0KHN1Y2Nlc3MgPyBudWxscHRyIDogSURCRGF0YWJhc2VFcnJv
cjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsICJVbmtub3duIGVy
cm9yIG9jY3VyZWQgY3JlYXRpbmcgaW5kZXgiKSk7CiB9CiAKIHZvaWQgV2ViSURCU2VydmVyQ29u
bmVjdGlvbjo6ZGVsZXRlSW5kZXgoSURCVHJhbnNhY3Rpb25CYWNrZW5kJnRyYW5zYWN0aW9uLCBj
b25zdCBEZWxldGVJbmRleE9wZXJhdGlvbiYgb3BlcmF0aW9uLCBzdGQ6OmZ1bmN0aW9uPHZvaWQg
KFBhc3NSZWZQdHI8SURCRGF0YWJhc2VFcnJvcj4pPiBjb21wbGV0aW9uQ2FsbGJhY2spCkBAIC0z
OTQsNyArMzk0LDcgQEAgdm9pZCBXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpkaWREZWxldGVJbmRl
eCh1aW50NjRfdCByZXF1ZXN0SUQsIGJvb2wgc3VjY2VzcykKICAgICBpZiAoIXNlcnZlclJlcXVl
c3QpCiAgICAgICAgIHJldHVybjsKIAotICAgIHNlcnZlclJlcXVlc3QtPmNvbXBsZXRlUmVxdWVz
dChzdWNjZXNzID8gbnVsbHB0ciA6ICZJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJh
c2VFeGNlcHRpb246OlVua25vd25FcnJvciwgIlVua25vd24gZXJyb3Igb2NjdXJlZCBkZWxldGlu
ZyBpbmRleCIpLmxlYWtSZWYoKSk7CisgICAgc2VydmVyUmVxdWVzdC0+Y29tcGxldGVSZXF1ZXN0
KHN1Y2Nlc3MgPyBudWxscHRyIDogSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNl
RXhjZXB0aW9uOjpVbmtub3duRXJyb3IsICJVbmtub3duIGVycm9yIG9jY3VyZWQgZGVsZXRpbmcg
aW5kZXgiKSk7CiB9CiAKIHZvaWQgV2ViSURCU2VydmVyQ29ubmVjdGlvbjo6Z2V0KElEQlRyYW5z
YWN0aW9uQmFja2VuZCYgdHJhbnNhY3Rpb24sIGNvbnN0IEdldE9wZXJhdGlvbiYgb3BlcmF0aW9u
LCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKGNvbnN0IElEQkdldFJlc3VsdCYsIFBhc3NSZWZQdHI8SURC
RGF0YWJhc2VFcnJvcj4pPiBjb21wbGV0aW9uQ2FsbGJhY2spCkBAIC00NTMsNyArNDUzLDcgQEAg
dm9pZCBXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpkaWRQdXRSZWNvcmQodWludDY0X3QgcmVxdWVz
dElELCBjb25zdCBXZWJDb3JlOjpJREIKICAgICBpZiAoIXNlcnZlclJlcXVlc3QpCiAgICAgICAg
IHJldHVybjsKIAotICAgIHNlcnZlclJlcXVlc3QtPmNvbXBsZXRlUmVxdWVzdChyZXN1bHRLZXku
aXNOdWxsID8gbnVsbHB0ciA6IHJlc3VsdEtleS5tYXliZUNyZWF0ZUlEQktleSgpLCBlcnJvckNv
ZGUgPyAmSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKGVycm9yQ29kZSwgZXJyb3JNZXNzYWdlKS5s
ZWFrUmVmKCkgOiBudWxscHRyKTsKKyAgICBzZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3Qo
cmVzdWx0S2V5LmlzTnVsbCA/IG51bGxwdHIgOiByZXN1bHRLZXkubWF5YmVDcmVhdGVJREJLZXko
KSwgZXJyb3JDb2RlID8gSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKGVycm9yQ29kZSwgZXJyb3JN
ZXNzYWdlKSA6IG51bGxwdHIpOwogfQogCiB2b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246OmRp
ZEdldFJlY29yZCh1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFdlYkNvcmU6OklEQkdldFJlc3Vs
dCYgZ2V0UmVzdWx0LCB1aW50MzJfdCBlcnJvckNvZGUsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNz
YWdlKQpAQCAtNDY1LDcgKzQ2NSw3IEBAIHZvaWQgV2ViSURCU2VydmVyQ29ubmVjdGlvbjo6ZGlk
R2V0UmVjb3JkKHVpbnQ2NF90IHJlcXVlc3RJRCwgY29uc3QgV2ViQ29yZTo6SURCCiAgICAgaWYg
KCFzZXJ2ZXJSZXF1ZXN0KQogICAgICAgICByZXR1cm47CiAKLSAgICBzZXJ2ZXJSZXF1ZXN0LT5j
b21wbGV0ZVJlcXVlc3QoZ2V0UmVzdWx0LCBlcnJvckNvZGUgPyAmSURCRGF0YWJhc2VFcnJvcjo6
Y3JlYXRlKGVycm9yQ29kZSwgZXJyb3JNZXNzYWdlKS5sZWFrUmVmKCkgOiBudWxscHRyKTsKKyAg
ICBzZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3QoZ2V0UmVzdWx0LCBlcnJvckNvZGUgPyBJ
REJEYXRhYmFzZUVycm9yOjpjcmVhdGUoZXJyb3JDb2RlLCBlcnJvck1lc3NhZ2UpIDogbnVsbHB0
cik7CiB9CiAKIHZvaWQgV2ViSURCU2VydmVyQ29ubmVjdGlvbjo6ZGlkT3BlbkN1cnNvcih1aW50
NjRfdCByZXF1ZXN0SUQsIGludDY0X3QgY3Vyc29ySUQsIGNvbnN0IElEQktleURhdGEmIGtleSwg
Y29uc3QgSURCS2V5RGF0YSYgcHJpbWFyeUtleSwgY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiB2
YWx1ZURhdGEsIHVpbnQzMl90IGVycm9yQ29kZSwgY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2Up
CkBAIC00NzgsNyArNDc4LDcgQEAgdm9pZCBXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpkaWRPcGVu
Q3Vyc29yKHVpbnQ2NF90IHJlcXVlc3RJRCwgaW50NjRfdCBjdXJzb3JJRCwKICAgICAgICAgcmV0
dXJuOwogCiAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gdmFsdWUgPSBTaGFyZWRCdWZmZXI6OmNy
ZWF0ZSh2YWx1ZURhdGEuZGF0YSgpLCB2YWx1ZURhdGEuc2l6ZSgpKTsKLSAgICBzZXJ2ZXJSZXF1
ZXN0LT5jb21wbGV0ZVJlcXVlc3QoY3Vyc29ySUQsIGtleS5tYXliZUNyZWF0ZUlEQktleSgpLCBw
cmltYXJ5S2V5Lm1heWJlQ3JlYXRlSURCS2V5KCksIHZhbHVlLnJlbGVhc2UoKSwgZXJyb3JDb2Rl
ID8gJklEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShlcnJvckNvZGUsIGVycm9yTWVzc2FnZSkubGVh
a1JlZigpIDogbnVsbHB0cik7CisgICAgc2VydmVyUmVxdWVzdC0+Y29tcGxldGVSZXF1ZXN0KGN1
cnNvcklELCBrZXkubWF5YmVDcmVhdGVJREJLZXkoKSwgcHJpbWFyeUtleS5tYXliZUNyZWF0ZUlE
QktleSgpLCB2YWx1ZS5yZWxlYXNlKCksIGVycm9yQ29kZSA/IElEQkRhdGFiYXNlRXJyb3I6OmNy
ZWF0ZShlcnJvckNvZGUsIGVycm9yTWVzc2FnZSkgOiBudWxscHRyKTsKIH0KIAogdm9pZCBXZWJJ
REJTZXJ2ZXJDb25uZWN0aW9uOjpkaWRBZHZhbmNlQ3Vyc29yKHVpbnQ2NF90IHJlcXVlc3RJRCwg
Y29uc3QgSURCS2V5RGF0YSYga2V5LCBjb25zdCBJREJLZXlEYXRhJiBwcmltYXJ5S2V5LCBjb25z
dCBJUEM6OkRhdGFSZWZlcmVuY2UmIHZhbHVlRGF0YSwgdWludDMyX3QgZXJyb3JDb2RlLCBjb25z
dCBTdHJpbmcmIGVycm9yTWVzc2FnZSkKQEAgLTQ5MSw3ICs0OTEsNyBAQCB2b2lkIFdlYklEQlNl
cnZlckNvbm5lY3Rpb246OmRpZEFkdmFuY2VDdXJzb3IodWludDY0X3QgcmVxdWVzdElELCBjb25z
dCBJREJLZXlEYQogICAgICAgICByZXR1cm47CiAKICAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiB2
YWx1ZSA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKHZhbHVlRGF0YS5kYXRhKCksIHZhbHVlRGF0YS5z
aXplKCkpOwotICAgIHNlcnZlclJlcXVlc3QtPmNvbXBsZXRlUmVxdWVzdChrZXkubWF5YmVDcmVh
dGVJREJLZXkoKSwgcHJpbWFyeUtleS5tYXliZUNyZWF0ZUlEQktleSgpLCB2YWx1ZS5yZWxlYXNl
KCksIGVycm9yQ29kZSA/ICZJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoZXJyb3JDb2RlLCBlcnJv
ck1lc3NhZ2UpLmxlYWtSZWYoKSA6IG51bGxwdHIpOworICAgIHNlcnZlclJlcXVlc3QtPmNvbXBs
ZXRlUmVxdWVzdChrZXkubWF5YmVDcmVhdGVJREJLZXkoKSwgcHJpbWFyeUtleS5tYXliZUNyZWF0
ZUlEQktleSgpLCB2YWx1ZS5yZWxlYXNlKCksIGVycm9yQ29kZSA/IElEQkRhdGFiYXNlRXJyb3I6
OmNyZWF0ZShlcnJvckNvZGUsIGVycm9yTWVzc2FnZSkgOiBudWxscHRyKTsKIH0KIAogdm9pZCBX
ZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpkaWRJdGVyYXRlQ3Vyc29yKHVpbnQ2NF90IHJlcXVlc3RJ
RCwgY29uc3QgSURCS2V5RGF0YSYga2V5LCBjb25zdCBJREJLZXlEYXRhJiBwcmltYXJ5S2V5LCBj
b25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIHZhbHVlRGF0YSwgdWludDMyX3QgZXJyb3JDb2RlLCBj
b25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSkKQEAgLTUwNCw3ICs1MDQsNyBAQCB2b2lkIFdlYklE
QlNlcnZlckNvbm5lY3Rpb246OmRpZEl0ZXJhdGVDdXJzb3IodWludDY0X3QgcmVxdWVzdElELCBj
b25zdCBJREJLZXlEYQogICAgICAgICByZXR1cm47CiAKICAgICBSZWZQdHI8U2hhcmVkQnVmZmVy
PiB2YWx1ZSA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKHZhbHVlRGF0YS5kYXRhKCksIHZhbHVlRGF0
YS5zaXplKCkpOwotICAgIHNlcnZlclJlcXVlc3QtPmNvbXBsZXRlUmVxdWVzdChrZXkubWF5YmVD
cmVhdGVJREJLZXkoKSwgcHJpbWFyeUtleS5tYXliZUNyZWF0ZUlEQktleSgpLCB2YWx1ZS5yZWxl
YXNlKCksIGVycm9yQ29kZSA/ICZJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoZXJyb3JDb2RlLCBl
cnJvck1lc3NhZ2UpLmxlYWtSZWYoKSA6IG51bGxwdHIpOworICAgIHNlcnZlclJlcXVlc3QtPmNv
bXBsZXRlUmVxdWVzdChrZXkubWF5YmVDcmVhdGVJREJLZXkoKSwgcHJpbWFyeUtleS5tYXliZUNy
ZWF0ZUlEQktleSgpLCB2YWx1ZS5yZWxlYXNlKCksIGVycm9yQ29kZSA/IElEQkRhdGFiYXNlRXJy
b3I6OmNyZWF0ZShlcnJvckNvZGUsIGVycm9yTWVzc2FnZSkgOiBudWxscHRyKTsKIH0KIAogdm9p
ZCBXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpjb3VudChJREJUcmFuc2FjdGlvbkJhY2tlbmQmIHRy
YW5zYWN0aW9uLCBjb25zdCBDb3VudE9wZXJhdGlvbiYgb3BlcmF0aW9uLCBzdGQ6OmZ1bmN0aW9u
PHZvaWQgKGludDY0X3QsIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VFcnJvcj4pPiBjb21wbGV0aW9u
Q2FsbGJhY2spCkBAIC01MzMsNyArNTMzLDcgQEAgdm9pZCBXZWJJREJTZXJ2ZXJDb25uZWN0aW9u
OjpkaWRDb3VudCh1aW50NjRfdCByZXF1ZXN0SUQsIGludDY0X3QgY291bnQsIHVpbnQzMl8KICAg
ICBpZiAoIXNlcnZlclJlcXVlc3QpCiAgICAgICAgIHJldHVybjsKIAotICAgIHNlcnZlclJlcXVl
c3QtPmNvbXBsZXRlUmVxdWVzdChjb3VudCwgZXJyb3JDb2RlID8gJklEQkRhdGFiYXNlRXJyb3I6
OmNyZWF0ZShlcnJvckNvZGUsIGVycm9yTWVzc2FnZSkubGVha1JlZigpIDogbnVsbHB0cik7Cisg
ICAgc2VydmVyUmVxdWVzdC0+Y29tcGxldGVSZXF1ZXN0KGNvdW50LCBlcnJvckNvZGUgPyBJREJE
YXRhYmFzZUVycm9yOjpjcmVhdGUoZXJyb3JDb2RlLCBlcnJvck1lc3NhZ2UpIDogbnVsbHB0cik7
CiB9CiAKIHZvaWQgV2ViSURCU2VydmVyQ29ubmVjdGlvbjo6ZGVsZXRlUmFuZ2UoSURCVHJhbnNh
Y3Rpb25CYWNrZW5kJiB0cmFuc2FjdGlvbiwgY29uc3QgRGVsZXRlUmFuZ2VPcGVyYXRpb24mIG9w
ZXJhdGlvbiwgc3RkOjpmdW5jdGlvbjx2b2lkIChQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+
KT4gY29tcGxldGlvbkNhbGxiYWNrKQpAQCAtNTYyLDcgKzU2Miw3IEBAIHZvaWQgV2ViSURCU2Vy
dmVyQ29ubmVjdGlvbjo6ZGlkRGVsZXRlUmFuZ2UodWludDY0X3QgcmVxdWVzdElELCB1aW50MzJf
dCBlcnJvckNvCiAgICAgaWYgKCFzZXJ2ZXJSZXF1ZXN0KQogICAgICAgICByZXR1cm47CiAKLSAg
ICBzZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3QoZXJyb3JDb2RlID8gJklEQkRhdGFiYXNl
RXJyb3I6OmNyZWF0ZShlcnJvckNvZGUsIGVycm9yTWVzc2FnZSkubGVha1JlZigpIDogbnVsbHB0
cik7CisgICAgc2VydmVyUmVxdWVzdC0+Y29tcGxldGVSZXF1ZXN0KGVycm9yQ29kZSA/IElEQkRh
dGFiYXNlRXJyb3I6OmNyZWF0ZShlcnJvckNvZGUsIGVycm9yTWVzc2FnZSkgOiBudWxscHRyKTsK
IH0KIAogdm9pZCBXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpjbGVhck9iamVjdFN0b3JlKElEQlRy
YW5zYWN0aW9uQmFja2VuZCYsIGNvbnN0IENsZWFyT2JqZWN0U3RvcmVPcGVyYXRpb24mIG9wZXJh
dGlvbiwgc3RkOjpmdW5jdGlvbjx2b2lkIChQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+KT4g
Y29tcGxldGlvbkNhbGxiYWNrKQpAQCAtNTkxLDcgKzU5MSw3IEBAIHZvaWQgV2ViSURCU2VydmVy
Q29ubmVjdGlvbjo6ZGlkQ2xlYXJPYmplY3RTdG9yZSh1aW50NjRfdCByZXF1ZXN0SUQsIGJvb2wg
c3VjY2VzCiAgICAgaWYgKCFzZXJ2ZXJSZXF1ZXN0KQogICAgICAgICByZXR1cm47CiAKLSAgICBz
ZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3Qoc3VjY2VzcyA/IG51bGxwdHIgOiAmSURCRGF0
YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsICJV
bmtub3duIGVycm9yIG9jY3VyZWQgY2xlYXJpbmcgb2JqZWN0IHN0b3JlIikubGVha1JlZigpKTsK
KyAgICBzZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3Qoc3VjY2VzcyA/IG51bGxwdHIgOiBJ
REJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJv
ciwgIlVua25vd24gZXJyb3Igb2NjdXJlZCBjbGVhcmluZyBvYmplY3Qgc3RvcmUiKSk7CiB9CiAK
IHZvaWQgV2ViSURCU2VydmVyQ29ubmVjdGlvbjo6ZGVsZXRlT2JqZWN0U3RvcmUoSURCVHJhbnNh
Y3Rpb25CYWNrZW5kJiwgY29uc3QgRGVsZXRlT2JqZWN0U3RvcmVPcGVyYXRpb24mIG9wZXJhdGlv
biwgc3RkOjpmdW5jdGlvbjx2b2lkIChQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+KT4gY29t
cGxldGlvbkNhbGxiYWNrKQpAQCAtNjIwLDcgKzYyMCw3IEBAIHZvaWQgV2ViSURCU2VydmVyQ29u
bmVjdGlvbjo6ZGlkRGVsZXRlT2JqZWN0U3RvcmUodWludDY0X3QgcmVxdWVzdElELCBib29sIHN1
Y2NlCiAgICAgaWYgKCFzZXJ2ZXJSZXF1ZXN0KQogICAgICAgICByZXR1cm47CiAKLSAgICBzZXJ2
ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3Qoc3VjY2VzcyA/IG51bGxwdHIgOiAmSURCRGF0YWJh
c2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsICJVbmtu
b3duIGVycm9yIG9jY3VyZWQgZGVsZXRpbmcgb2JqZWN0IHN0b3JlIikubGVha1JlZigpKTsKKyAg
ICBzZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3Qoc3VjY2VzcyA/IG51bGxwdHIgOiBJREJE
YXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJvciwg
IlVua25vd24gZXJyb3Igb2NjdXJlZCBkZWxldGluZyBvYmplY3Qgc3RvcmUiKSk7CiB9CiAKIHZv
aWQgV2ViSURCU2VydmVyQ29ubmVjdGlvbjo6Y2hhbmdlRGF0YWJhc2VWZXJzaW9uKElEQlRyYW5z
YWN0aW9uQmFja2VuZCYsIGNvbnN0IElEQkRhdGFiYXNlQmFja2VuZDo6VmVyc2lvbkNoYW5nZU9w
ZXJhdGlvbiYgb3BlcmF0aW9uLCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKFBhc3NSZWZQdHI8SURCRGF0
YWJhc2VFcnJvcj4pPiBjb21wbGV0aW9uQ2FsbGJhY2spCkBAIC02NDksNyArNjQ5LDcgQEAgdm9p
ZCBXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpkaWRDaGFuZ2VEYXRhYmFzZVZlcnNpb24odWludDY0
X3QgcmVxdWVzdElELCBib29sIHMKICAgICBpZiAoIXNlcnZlclJlcXVlc3QpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIHNlcnZlclJlcXVlc3QtPmNvbXBsZXRlUmVxdWVzdChzdWNjZXNzID8gbnVs
bHB0ciA6ICZJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVu
a25vd25FcnJvciwgIlVua25vd24gZXJyb3Igb2NjdXJlZCBjaGFuZ2luZyBkYXRhYmFzZSB2ZXJz
aW9uIikubGVha1JlZigpKTsKKyAgICBzZXJ2ZXJSZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3Qoc3Vj
Y2VzcyA/IG51bGxwdHIgOiBJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNl
cHRpb246OlVua25vd25FcnJvciwgIlVua25vd24gZXJyb3Igb2NjdXJlZCBjaGFuZ2luZyBkYXRh
YmFzZSB2ZXJzaW9uIikpOwogfQogCiB2b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246Om9wZW5D
dXJzb3IoSURCVHJhbnNhY3Rpb25CYWNrZW5kJiwgY29uc3QgT3BlbkN1cnNvck9wZXJhdGlvbiYg
b3BlcmF0aW9uLCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKGludDY0X3QsIFBhc3NSZWZQdHI8SURCS2V5
PiwgUGFzc1JlZlB0cjxJREJLZXk+LCBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4sIFBhc3NSZWZQ
dHI8SURCRGF0YWJhc2VFcnJvcj4pPiBjb21wbGV0aW9uQ2FsbGJhY2spCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>